@axlsdk/axl 0.23.0 → 0.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -124,6 +124,13 @@ type ChatOptions = {
124
124
  responseFormat?: ResponseFormat;
125
125
  stop?: string[];
126
126
  signal?: AbortSignal;
127
+ /** @internal Runtime observer for the actual adapter transport lifecycle. */
128
+ requestLifecycle?: {
129
+ /** The request was actually dispatched, after limiter queue and retry backoff. */
130
+ onDispatch?(): void;
131
+ /** A retryable response was received; SDK retry backoff is about to begin. */
132
+ onRetry?(): void;
133
+ };
127
134
  /** How hard should the model try? Primary param for cost/quality tradeoff.
128
135
  * 'none' disables thinking/reasoning (Gemini 3.x: maps to minimal).
129
136
  * Omit to use provider defaults. */
@@ -206,6 +213,8 @@ type StreamChunk = {
206
213
  interface Provider {
207
214
  /** Human-readable name for the provider (e.g. "openai", "anthropic") */
208
215
  readonly name?: string;
216
+ /** @internal Built-in adapters set this when `ChatOptions.requestLifecycle` reports fetch dispatch. */
217
+ readonly reportsRequestLifecycle?: true;
209
218
  /** Coarse, model-aware input metadata for UI/documentation. */
210
219
  inputCapabilities?(model: string): InputModalitySupport;
211
220
  /** Authoritative request-scoped rich-input validation. Omission means text-only. */
@@ -336,11 +345,10 @@ type BudgetResult<T> = {
336
345
  budgetExceeded: boolean;
337
346
  totalCost: number;
338
347
  /**
339
- * True when the block ran a model with no usable cost (unpriced / pricing-table
340
- * miss) that did measurable work. `totalCost` is then a LOWER BOUND — the unknown
341
- * component is omitted. NOTE: this is observability only; cost limits / `hard_stop`
342
- * are NOT enforced on unpriced spend (the enforcement rail never sees it). Token
343
- * budgets are the future fix for governing unpriced models.
348
+ * True when the block included work with no usable cost (for example, an
349
+ * unpriced model or an abandoned dispatched call). `totalCost` is then a LOWER
350
+ * BOUND — the unknown component is omitted. Cost limits / `hard_stop` are NOT
351
+ * enforced on unknown spend because the enforcement rail never sees it.
344
352
  */
345
353
  unpriced: boolean;
346
354
  };
@@ -459,6 +467,12 @@ type AskOptions<T = unknown> = {
459
467
  stop?: string[];
460
468
  /** Provider-specific options merged into API requests. Not portable across providers. */
461
469
  providerOptions?: Record<string, unknown>;
470
+ /** Graceful overall budget for this ask. The in-flight provider turn is allowed to finish. */
471
+ timeout?: string;
472
+ /** Abort an in-flight provider request that makes no streaming progress. Unset by default. */
473
+ stallTimeout?: string;
474
+ /** Per-ask hard cancellation signal. It is composed with the context signal and inherited by nested asks. */
475
+ signal?: AbortSignal;
462
476
  };
463
477
  /** Delegate options */
464
478
  type DelegateOptions<T = unknown> = {
@@ -1023,7 +1037,7 @@ type AxlEventBase = {
1023
1037
  * `memory_recall`): the authoritative charge for this single
1024
1038
  * provider call / tool invocation / embedder call. Summing these
1025
1039
  * across an execution gives the spend — a LOWER BOUND when any call
1026
- * used an unpriced model (its `cost` is `undefined` and contributes
1040
+ * included unknown-cost work (its `cost` is `undefined` and contributes
1027
1041
  * nothing; the owning `ask_end` sets `unpriced: true`).
1028
1042
  *
1029
1043
  * - **Per-ask rollup** (`ask_end`): the SUM of leaf costs emitted
@@ -1113,11 +1127,10 @@ type LegacyAxlEventPayloadV1 = (AxlEventBase & {
1113
1127
  /** Sum of `agent_call_end.cost` + `tool_call_end.cost` WITHIN THIS ASK,
1114
1128
  * excluding nested asks. Nested asks contribute to their own ask_end. */
1115
1129
  cost: number;
1116
- /** True when a cost-bearing leaf in this ask did measurable work but had
1117
- * no usable cost (unpriced model / pricing-table miss). When set, `cost`
1130
+ /** True when a cost-bearing leaf in this ask had no usable cost. When set, `cost`
1118
1131
  * is a LOWER BOUND — the unknown component is not included. Absent ⇒
1119
1132
  * `cost` is exact. Surfaced so dashboards don't render a misleading
1120
- * exact `$0.00` for an ask that used an unpriced model. */
1133
+ * exact `$0.00` for an ask with unknown-cost work. */
1121
1134
  unpriced?: boolean;
1122
1135
  duration: number;
1123
1136
  }) | (AxlEventBase & AskScoped & {
@@ -1135,6 +1148,10 @@ type LegacyAxlEventPayloadV1 = (AxlEventBase & {
1135
1148
  /** Authoritative turn-level cost. `undefined` for an unpriced model
1136
1149
  * (pricing-table miss) and absent on the error path (no usage). */
1137
1150
  cost?: number;
1151
+ /** Explicit lower-bound marker when a dispatched request was abandoned
1152
+ * without usage/cost (for example, a non-cooperative stalled provider).
1153
+ * The work may still be billed after this terminal event. */
1154
+ unpriced?: boolean;
1138
1155
  duration: number;
1139
1156
  tokens?: {
1140
1157
  input?: number;
@@ -1472,12 +1489,12 @@ type ExecutionInfoV1 = {
1472
1489
  * here (stream-only); aggregate `tokens: { input, output, reasoning? }`
1473
1490
  * on `agent_call_end` is the persisted token representation. */
1474
1491
  events: LegacyAxlEventV1[];
1475
- /** Total spend for the execution. A LOWER BOUND when an unpriced model ran
1492
+ /** Total known spend for the execution. A LOWER BOUND when unknown-cost work ran
1476
1493
  * (those calls contribute nothing) — read {@link ExecutionInfo.unpriced} to
1477
1494
  * know whether it's exact, rather than scanning the event timeline. */
1478
1495
  totalCost: number;
1479
- /** True when any cost-bearing leaf in this execution did billable work but had
1480
- * no usable cost (unpriced model / pricing-table miss): `totalCost` is then a
1496
+ /** True when any cost-bearing leaf in this execution had no usable cost:
1497
+ * `totalCost` is then a
1481
1498
  * LOWER BOUND, not exact. `false` means every cost-bearing call was priced.
1482
1499
  * The aggregate counterpart of `ask_end.unpriced` / `BudgetResult.unpriced`,
1483
1500
  * computed via `isUnpricedLeaf`. `undefined` only on executions recorded
@@ -1624,18 +1641,19 @@ type CallTiming = {
1624
1641
  /** Final dispatch → response headers. Time to first byte. */
1625
1642
  ttfbMs: number;
1626
1643
  /**
1627
- * Final dispatch → first `text_delta`/`thinking_delta`. Streaming only, and
1628
- * absent on a stream that ends without any content delta. This is the
1629
- * model-discriminating figure: headers arrive at roughly one round trip
1630
- * regardless of model, first token does not.
1644
+ * Final dispatch → first `text_delta`/`thinking_delta`, excluding consumer
1645
+ * suspension after an earlier non-content chunk. Streaming only, and absent
1646
+ * on a stream that ends without any content delta. This is the model-
1647
+ * discriminating figure: headers arrive at roughly one round trip regardless
1648
+ * of model, first token does not.
1631
1649
  */
1632
1650
  firstTokenMs?: number;
1633
1651
  /**
1634
1652
  * Time attributable to the provider. For `chat()`, final dispatch → response
1635
- * body parsed. For `stream()`, `ttfbMs` plus the cumulative time spent
1636
- * *awaiting* body reads — time the runtime spends between reads (event
1637
- * fan-out, tool-call buffering, a slow `ctx.events` consumer) is excluded by
1638
- * construction, so two models stay comparable under different listener loads.
1653
+ * body parsed. For `stream()`, `ttfbMs` plus cumulative body-read waits,
1654
+ * floored at `firstTokenMs` when content arrives. Parsing needed to deliver
1655
+ * first content is included; consumer suspension between yielded chunks is
1656
+ * excluded, so two models stay comparable under different listener loads.
1639
1657
  */
1640
1658
  wireMs: number;
1641
1659
  };
@@ -1800,7 +1818,11 @@ type TimeoutBreakdown = {
1800
1818
  declare class TimeoutError extends AxlError {
1801
1819
  /** Latency attribution for the timed-out operation, when measurable. */
1802
1820
  readonly breakdown?: TimeoutBreakdown;
1803
- constructor(operation: string, timeoutMs: number, breakdown?: TimeoutBreakdown);
1821
+ constructor(operation: string, timeoutMs: number, breakdown?: TimeoutBreakdown, agent?: string);
1822
+ }
1823
+ /** Thrown when a dispatched provider request stops making progress. */
1824
+ declare class StallTimeoutError extends TimeoutError {
1825
+ constructor(operation: string, timeoutMs: number, agent?: string);
1804
1826
  }
1805
1827
  /** Thrown when a budget limit is exceeded */
1806
1828
  declare class BudgetExceededError extends AxlError {
@@ -1870,6 +1892,7 @@ type AgentConfig = {
1870
1892
  nativeStructuredOutput?: boolean;
1871
1893
  maxTurns?: number;
1872
1894
  timeout?: string;
1895
+ stallTimeout?: string;
1873
1896
  maxContext?: number;
1874
1897
  version?: string;
1875
1898
  guardrails?: GuardrailsConfig;
@@ -2587,6 +2610,7 @@ type OpenAICompatibleOptions = {
2587
2610
  */
2588
2611
  declare class OpenAICompatibleProvider implements Provider {
2589
2612
  readonly name: string;
2613
+ readonly reportsRequestLifecycle: true;
2590
2614
  inputCapabilities(model: string): {
2591
2615
  image?: {
2592
2616
  sources: readonly InputMediaSource['type'][];
@@ -3080,6 +3104,7 @@ type StateConfig = {
3080
3104
  /** Global defaults */
3081
3105
  type DefaultsConfig = {
3082
3106
  timeout?: string;
3107
+ stallTimeout?: string;
3083
3108
  maxRetries?: number;
3084
3109
  budgetPolicy?: 'finish_and_stop' | 'hard_stop' | 'warn';
3085
3110
  };
@@ -3779,6 +3804,7 @@ declare class WorkflowContext<TInput = unknown> {
3779
3804
  private observeToolInvocation;
3780
3805
  ask<T = string>(agent: Agent, prompt: ModelInput, options?: AskOptions<T>): Promise<T>;
3781
3806
  private executeAgentCall;
3807
+ private executeAgentCallImpl;
3782
3808
  /**
3783
3809
  * Resolve the corrective feedback text for one rejected attempt, giving an optional
3784
3810
  * caller-supplied `retryFeedback` hook the chance to replace it or to stop retrying.
@@ -5161,9 +5187,9 @@ declare function stringStreamFromEvents(source: AsyncIterable<AxlEvent>, opts?:
5161
5187
  declare const COST_BEARING_LEAF_TYPES: readonly ["agent_call_end", "tool_call_end", "memory_remember", "memory_recall", "transcription_end"];
5162
5188
  /**
5163
5189
  * True when an event reports a POSITIVE token count — i.e. it did measurable,
5164
- * billable work. This is the discriminator the unpriced-cost signal (T2.5) uses:
5165
- * a cost-bearing leaf with positive tokens but no usable cost is an unpriced
5166
- * model / pricing-table miss, whereas a failed call (no usage) or a no-usage
5190
+ * billable work. This is one discriminator the unpriced-cost signal uses:
5191
+ * a cost-bearing leaf with positive tokens but no usable cost is unknown-cost
5192
+ * work, whereas a failed call (no usage) or a no-usage
5167
5193
  * streamed `done` (zero tokens) is NOT "unpriced". Used by the core ask-cost
5168
5194
  * rollup AND the Studio aggregators, so the per-ask flag and the dashboard count
5169
5195
  * stay in lockstep.
@@ -5226,16 +5252,17 @@ declare function eventCostContribution(event: HistoricalAxlEvent): number;
5226
5252
  declare function isCostBearingLeaf(event: HistoricalAxlEvent): boolean;
5227
5253
  /**
5228
5254
  * True when the event is the "unpriced lower-bound" signal: a cost-bearing leaf
5229
- * that did measurable, billable work (POSITIVE tokens) but produced no usable
5230
- * cost (an unpriced model / pricing-table miss). This is the SINGLE source of
5231
- * truth for that discriminator — the core ask-cost rollup, the runtime's
5255
+ * that either explicitly reports unknown cost (for example, an abandoned
5256
+ * dispatched request) or did measurable, billable work (POSITIVE tokens) but
5257
+ * produced no usable cost (an unpriced model / pricing-table miss). This is the
5258
+ * SINGLE source of truth for that discriminator — the core ask-cost rollup, the runtime's
5232
5259
  * `ExecutionInfo.unpriced` / `trackExecution().unpriced` aggregation, and
5233
5260
  * Studio's `unpricedCalls` count + cost reducer ALL route through it, so they
5234
5261
  * cannot drift.
5235
5262
  *
5236
- * It is the conjunction of the three primitives:
5237
- * `isCostBearingLeaf` ∧ `!isUsableCost(cost)` ∧ `hasPositiveTokens`.
5238
- * The positive-token term is what distinguishes an unpriced model from a FAILED
5263
+ * It is the conjunction of the first two primitives and either uncertainty signal:
5264
+ * `isCostBearingLeaf` ∧ `!isUsableCost(cost)` ∧ (`unpriced === true` ∨ `hasPositiveTokens`).
5265
+ * The positive-token term is what distinguishes ordinary unpriced work from a FAILED
5239
5266
  * call (no usage) or a no-usage streamed `done` (zero tokens) — neither is
5240
5267
  * "unpriced". An `ask_end` rollup carries a numeric cost, and `tool_call_end`
5241
5268
  * carries no tokens, so both are naturally excluded.
@@ -5246,6 +5273,7 @@ declare function isCostBearingLeaf(event: HistoricalAxlEvent): boolean;
5246
5273
  declare function isUnpricedLeaf(event: {
5247
5274
  type?: string;
5248
5275
  cost?: unknown;
5276
+ unpriced?: boolean;
5249
5277
  tokens?: {
5250
5278
  input?: number;
5251
5279
  output?: number;
@@ -5622,6 +5650,7 @@ declare class OpenAIProvider extends OpenAICompatibleProvider {
5622
5650
  */
5623
5651
  declare class OpenAIResponsesProvider implements Provider {
5624
5652
  readonly name = "openai-responses";
5653
+ readonly reportsRequestLifecycle: true;
5625
5654
  inputCapabilities(model: string): {
5626
5655
  image?: {
5627
5656
  sources: readonly InputMediaSource['type'][];
@@ -5684,6 +5713,7 @@ declare class OpenAIResponsesProvider implements Provider {
5684
5713
  */
5685
5714
  declare class AnthropicProvider implements Provider {
5686
5715
  readonly name = "anthropic";
5716
+ readonly reportsRequestLifecycle: true;
5687
5717
  /** Report a clamped `effort`. Anthropic clamps to each model's supported
5688
5718
  * `output_config.effort` levels, and models that always think fall back to
5689
5719
  * adaptive `'low'` when asked to disable thinking. Only reported when the
@@ -5768,6 +5798,7 @@ declare class AnthropicProvider implements Provider {
5768
5798
  */
5769
5799
  declare class GeminiProvider implements Provider {
5770
5800
  readonly name = "google";
5801
+ readonly reportsRequestLifecycle: true;
5771
5802
  inputCapabilities(model: string): {
5772
5803
  image?: {
5773
5804
  sources: readonly InputMediaSource['type'][];
@@ -6464,4 +6495,4 @@ declare class NoopSpanManager implements SpanManager {
6464
6495
  */
6465
6496
  declare function createSpanManager(config?: TelemetryConfig): Promise<SpanManager>;
6466
6497
 
6467
- export { AXL_EVENT_TYPES, AXL_EVENT_TYPES_V2, AXL_TOOL_LIFECYCLE_TYPES_V2, AZURE_PROFILE, type Agent, type AgentCallEndData, type AgentCallInfo, type AgentCallParams, type AgentCallStartData, type AgentConfig, AnthropicProvider, type AnyWorkflow, type ApiKeySource, type AskOptions, type AskScoped, type AuthHeader, type AwaitHumanData, type AwaitHumanOptions, type AwaitHumanResolvedData, type AxlConfig, AxlError, type AxlEvent, type AxlEventBase, AxlEventBus, type AxlEventOf, type AxlEventType, type AxlEventV2, type AxlEventV2Of, AxlRuntime, AxlStream, BEDROCK_PROFILE, BUILTIN_PROFILES, BudgetExceededError, type BudgetOptions, type BudgetResult, CONFIG_CANDIDATES, COST_BEARING_LEAF_TYPES, type CallTiming, type CapabilityFlags, type ChatMessage, type ChatOptions, type CheckpointEventData, type CoalescedPartialObject, type CreateContextOptions, DEEPSEEK_PROFILE, type DecisionCleanupFailedEvent, type DelegateData, type DelegateOptions, type Effort, type EffortResolution, type EmbedResult, type EmbedUsage, type Embedder, type EvalExecuteWorkflow, type EvalHistoryEntry, type EventStreamOptions, EventStreamOverflowError, type ExecuteOptions, type ExecutionInfo, type ExecutionInfoV1, type ExecutionInfoV2, type ExecutionState, GROQ_PROFILE, GeminiProvider, GeminiTranscriptionProvider, type GuardrailBlockHandler, type GuardrailData, GuardrailError, type GuardrailResult, type GuardrailsConfig, type HandoffDescriptor, type HandoffRecord, type HandoffReturnData, type HandoffStartData, type HistoricalAxlEvent, type HistoricalExecutionInfo, type HumanDecision, InMemoryVectorStore, type InputContentPart, type InputGuardrail, type InputImagePart, type InputMediaSource, type InputModalitySupport, type InputTextPart, InvalidModelInputError, InvalidTranscriptionInputError, LLAMACPP_PROFILE, LMSTUDIO_PROFILE, type LegacyAxlEventV1, type LegacyExecutionInfoV1, MAX_INLINE_MODEL_INPUT_BYTES, MAX_INLINE_TRANSCRIPTION_BYTES, MISTRAL_PROFILE, type MapOptions, MaxTurnsError, McpManager, type McpServer, type McpServerConfig, type McpToolDefinition, type McpToolResult, type MemoryConfig, type MemoryEventData, MemoryManager, MemoryStore, type ModelInput, type ModelInputDescriptor, NoConsensus, NoopSpanManager, OLLAMA_PROFILE, OPENAI_PRICING, OPENAI_PROFILE, OPENROUTER_PROFILE, type ObservationStatus, type OpenAICompatibleOptions, OpenAICompatibleProvider, OpenAIEmbedder, OpenAIProvider, OpenAIResponsesProvider, OpenAITranscriptionProvider, OpenRouterTranscriptionProvider, type OutputGuardrail, type OutputValidator, type PendingDecision, type PerModel, type PricingSource, type PricingTable, type Provider, type ProviderAdapter, type ProviderDiagnosticData, ProviderError, type ProviderInputValidationRequest, type ProviderInputValidationResult, type ProviderProfile, ProviderRegistry, type ProviderResponse, QuorumNotMet, REDACTED, REDACTION_RULES, type RaceOptions, type RateLimitConfig, RateLimiter, type ReasoningCapture, type ReasoningEmit, type ReasoningProfile, type ReasoningRoundTrip, type RecallOptions, type RecallResult, type RecordedAudioSource, RedisStore, type RememberOptions, type RememberResult, type ResolvedThinkingOptions, type Result, type RetryFeedbackHook, type RetryFeedbackInfo, type RetryFeedbackResult, type RetryPolicy, SGLANG_PROFILE, SQLiteStore, type SchemaCheckData, type SchemaDiagnosticData, type SchemaPromptOption, Session, type SessionOptions, type SpanHandle, type SpanManager, type SpawnOptions, SqliteVectorStore, type StateStore, type StreamChunk, type StringDeltaData, type StringStreamEvent, type StringStreamFilter, type TelemetryConfig, ThinkTagScanner, type TimeoutBreakdown, TimeoutError, type Tool, type ToolApprovalData, type ToolArgumentIssue, type ToolCallCancellation, type ToolCallData, type ToolCallEndData, type ToolCallFailure, type ToolCallMessage, type ToolCallOutcome, type ToolCallRejectedData, type ToolCallRejectedEvent, type ToolCallStartData, type ToolCallStartDataV2, type ToolChoice, type ToolConfig, type ToolDeniedData, type ToolEventError, ToolFailure, type ToolFailureConstructor, type ToolFailureOptions, type ToolHooks, type ToolLifecycleEventV2, type ToolModelOutput, ToolModelOutputError, type Transcript, type TranscriptionCapabilities, TranscriptionOperationError, type TranscriptionProvider, TranscriptionProviderRegistry, type TranscriptionProviderRequest, type TranscriptionProviderResult, type TranscriptionRequest, UnsupportedEventSchemaVersionError, UnsupportedModelInputError, UnsupportedTranscriptionInputError, VLLM_PROFILE, type ValidateData, type ValidateResult, ValidationError, type VectorEntry, type VectorResult, type VectorStore, type VerifyData, VerifyError, type VerifyOptions, type VerifyRetry, type VoteOptions, type Workflow, type WorkflowConfig, WorkflowContext, type WorkflowContextInit, type WorkflowEndData, type WorkflowStartData, XAI_PROFILE, agent, createSpanManager, defineConfig, estimateOpenAICost, eventCostContribution, expandGlob, extractJson, extractThinkTags, findConfig, getEventSchemaVersion, getExecutionEventSchemaVersion, hasPositiveBillableWork, hasPositiveTokens, importModule, inputText, isCostBearingLeaf, isRetryableStatus, isRootLevel, isUnpricedLeaf, isUsableCost, needsTsxLoader, normalizeStoredExecution, openaiReasoningEmit, parsePartialJson, pickDefault, pickExport, priceFromTable, reasoningEffortEmit, reasoningObjectEmit, redactEvent, redactHistoricalEvent, registerConditions, resolveApiKey, resolvePerModel, resolveRuntime, resolveThinkingOptions, stringStreamFromEvents, tool, workflow, zodToJsonSchema };
6498
+ export { AXL_EVENT_TYPES, AXL_EVENT_TYPES_V2, AXL_TOOL_LIFECYCLE_TYPES_V2, AZURE_PROFILE, type Agent, type AgentCallEndData, type AgentCallInfo, type AgentCallParams, type AgentCallStartData, type AgentConfig, AnthropicProvider, type AnyWorkflow, type ApiKeySource, type AskOptions, type AskScoped, type AuthHeader, type AwaitHumanData, type AwaitHumanOptions, type AwaitHumanResolvedData, type AxlConfig, AxlError, type AxlEvent, type AxlEventBase, AxlEventBus, type AxlEventOf, type AxlEventType, type AxlEventV2, type AxlEventV2Of, AxlRuntime, AxlStream, BEDROCK_PROFILE, BUILTIN_PROFILES, BudgetExceededError, type BudgetOptions, type BudgetResult, CONFIG_CANDIDATES, COST_BEARING_LEAF_TYPES, type CallTiming, type CapabilityFlags, type ChatMessage, type ChatOptions, type CheckpointEventData, type CoalescedPartialObject, type CreateContextOptions, DEEPSEEK_PROFILE, type DecisionCleanupFailedEvent, type DelegateData, type DelegateOptions, type Effort, type EffortResolution, type EmbedResult, type EmbedUsage, type Embedder, type EvalExecuteWorkflow, type EvalHistoryEntry, type EventStreamOptions, EventStreamOverflowError, type ExecuteOptions, type ExecutionInfo, type ExecutionInfoV1, type ExecutionInfoV2, type ExecutionState, GROQ_PROFILE, GeminiProvider, GeminiTranscriptionProvider, type GuardrailBlockHandler, type GuardrailData, GuardrailError, type GuardrailResult, type GuardrailsConfig, type HandoffDescriptor, type HandoffRecord, type HandoffReturnData, type HandoffStartData, type HistoricalAxlEvent, type HistoricalExecutionInfo, type HumanDecision, InMemoryVectorStore, type InputContentPart, type InputGuardrail, type InputImagePart, type InputMediaSource, type InputModalitySupport, type InputTextPart, InvalidModelInputError, InvalidTranscriptionInputError, LLAMACPP_PROFILE, LMSTUDIO_PROFILE, type LegacyAxlEventV1, type LegacyExecutionInfoV1, MAX_INLINE_MODEL_INPUT_BYTES, MAX_INLINE_TRANSCRIPTION_BYTES, MISTRAL_PROFILE, type MapOptions, MaxTurnsError, McpManager, type McpServer, type McpServerConfig, type McpToolDefinition, type McpToolResult, type MemoryConfig, type MemoryEventData, MemoryManager, MemoryStore, type ModelInput, type ModelInputDescriptor, NoConsensus, NoopSpanManager, OLLAMA_PROFILE, OPENAI_PRICING, OPENAI_PROFILE, OPENROUTER_PROFILE, type ObservationStatus, type OpenAICompatibleOptions, OpenAICompatibleProvider, OpenAIEmbedder, OpenAIProvider, OpenAIResponsesProvider, OpenAITranscriptionProvider, OpenRouterTranscriptionProvider, type OutputGuardrail, type OutputValidator, type PendingDecision, type PerModel, type PricingSource, type PricingTable, type Provider, type ProviderAdapter, type ProviderDiagnosticData, ProviderError, type ProviderInputValidationRequest, type ProviderInputValidationResult, type ProviderProfile, ProviderRegistry, type ProviderResponse, QuorumNotMet, REDACTED, REDACTION_RULES, type RaceOptions, type RateLimitConfig, RateLimiter, type ReasoningCapture, type ReasoningEmit, type ReasoningProfile, type ReasoningRoundTrip, type RecallOptions, type RecallResult, type RecordedAudioSource, RedisStore, type RememberOptions, type RememberResult, type ResolvedThinkingOptions, type Result, type RetryFeedbackHook, type RetryFeedbackInfo, type RetryFeedbackResult, type RetryPolicy, SGLANG_PROFILE, SQLiteStore, type SchemaCheckData, type SchemaDiagnosticData, type SchemaPromptOption, Session, type SessionOptions, type SpanHandle, type SpanManager, type SpawnOptions, SqliteVectorStore, StallTimeoutError, type StateStore, type StreamChunk, type StringDeltaData, type StringStreamEvent, type StringStreamFilter, type TelemetryConfig, ThinkTagScanner, type TimeoutBreakdown, TimeoutError, type Tool, type ToolApprovalData, type ToolArgumentIssue, type ToolCallCancellation, type ToolCallData, type ToolCallEndData, type ToolCallFailure, type ToolCallMessage, type ToolCallOutcome, type ToolCallRejectedData, type ToolCallRejectedEvent, type ToolCallStartData, type ToolCallStartDataV2, type ToolChoice, type ToolConfig, type ToolDeniedData, type ToolEventError, ToolFailure, type ToolFailureConstructor, type ToolFailureOptions, type ToolHooks, type ToolLifecycleEventV2, type ToolModelOutput, ToolModelOutputError, type Transcript, type TranscriptionCapabilities, TranscriptionOperationError, type TranscriptionProvider, TranscriptionProviderRegistry, type TranscriptionProviderRequest, type TranscriptionProviderResult, type TranscriptionRequest, UnsupportedEventSchemaVersionError, UnsupportedModelInputError, UnsupportedTranscriptionInputError, VLLM_PROFILE, type ValidateData, type ValidateResult, ValidationError, type VectorEntry, type VectorResult, type VectorStore, type VerifyData, VerifyError, type VerifyOptions, type VerifyRetry, type VoteOptions, type Workflow, type WorkflowConfig, WorkflowContext, type WorkflowContextInit, type WorkflowEndData, type WorkflowStartData, XAI_PROFILE, agent, createSpanManager, defineConfig, estimateOpenAICost, eventCostContribution, expandGlob, extractJson, extractThinkTags, findConfig, getEventSchemaVersion, getExecutionEventSchemaVersion, hasPositiveBillableWork, hasPositiveTokens, importModule, inputText, isCostBearingLeaf, isRetryableStatus, isRootLevel, isUnpricedLeaf, isUsableCost, needsTsxLoader, normalizeStoredExecution, openaiReasoningEmit, parsePartialJson, pickDefault, pickExport, priceFromTable, reasoningEffortEmit, reasoningObjectEmit, redactEvent, redactHistoricalEvent, registerConditions, resolveApiKey, resolvePerModel, resolveRuntime, resolveThinkingOptions, stringStreamFromEvents, tool, workflow, zodToJsonSchema };
package/dist/index.d.ts CHANGED
@@ -124,6 +124,13 @@ type ChatOptions = {
124
124
  responseFormat?: ResponseFormat;
125
125
  stop?: string[];
126
126
  signal?: AbortSignal;
127
+ /** @internal Runtime observer for the actual adapter transport lifecycle. */
128
+ requestLifecycle?: {
129
+ /** The request was actually dispatched, after limiter queue and retry backoff. */
130
+ onDispatch?(): void;
131
+ /** A retryable response was received; SDK retry backoff is about to begin. */
132
+ onRetry?(): void;
133
+ };
127
134
  /** How hard should the model try? Primary param for cost/quality tradeoff.
128
135
  * 'none' disables thinking/reasoning (Gemini 3.x: maps to minimal).
129
136
  * Omit to use provider defaults. */
@@ -206,6 +213,8 @@ type StreamChunk = {
206
213
  interface Provider {
207
214
  /** Human-readable name for the provider (e.g. "openai", "anthropic") */
208
215
  readonly name?: string;
216
+ /** @internal Built-in adapters set this when `ChatOptions.requestLifecycle` reports fetch dispatch. */
217
+ readonly reportsRequestLifecycle?: true;
209
218
  /** Coarse, model-aware input metadata for UI/documentation. */
210
219
  inputCapabilities?(model: string): InputModalitySupport;
211
220
  /** Authoritative request-scoped rich-input validation. Omission means text-only. */
@@ -336,11 +345,10 @@ type BudgetResult<T> = {
336
345
  budgetExceeded: boolean;
337
346
  totalCost: number;
338
347
  /**
339
- * True when the block ran a model with no usable cost (unpriced / pricing-table
340
- * miss) that did measurable work. `totalCost` is then a LOWER BOUND — the unknown
341
- * component is omitted. NOTE: this is observability only; cost limits / `hard_stop`
342
- * are NOT enforced on unpriced spend (the enforcement rail never sees it). Token
343
- * budgets are the future fix for governing unpriced models.
348
+ * True when the block included work with no usable cost (for example, an
349
+ * unpriced model or an abandoned dispatched call). `totalCost` is then a LOWER
350
+ * BOUND — the unknown component is omitted. Cost limits / `hard_stop` are NOT
351
+ * enforced on unknown spend because the enforcement rail never sees it.
344
352
  */
345
353
  unpriced: boolean;
346
354
  };
@@ -459,6 +467,12 @@ type AskOptions<T = unknown> = {
459
467
  stop?: string[];
460
468
  /** Provider-specific options merged into API requests. Not portable across providers. */
461
469
  providerOptions?: Record<string, unknown>;
470
+ /** Graceful overall budget for this ask. The in-flight provider turn is allowed to finish. */
471
+ timeout?: string;
472
+ /** Abort an in-flight provider request that makes no streaming progress. Unset by default. */
473
+ stallTimeout?: string;
474
+ /** Per-ask hard cancellation signal. It is composed with the context signal and inherited by nested asks. */
475
+ signal?: AbortSignal;
462
476
  };
463
477
  /** Delegate options */
464
478
  type DelegateOptions<T = unknown> = {
@@ -1023,7 +1037,7 @@ type AxlEventBase = {
1023
1037
  * `memory_recall`): the authoritative charge for this single
1024
1038
  * provider call / tool invocation / embedder call. Summing these
1025
1039
  * across an execution gives the spend — a LOWER BOUND when any call
1026
- * used an unpriced model (its `cost` is `undefined` and contributes
1040
+ * included unknown-cost work (its `cost` is `undefined` and contributes
1027
1041
  * nothing; the owning `ask_end` sets `unpriced: true`).
1028
1042
  *
1029
1043
  * - **Per-ask rollup** (`ask_end`): the SUM of leaf costs emitted
@@ -1113,11 +1127,10 @@ type LegacyAxlEventPayloadV1 = (AxlEventBase & {
1113
1127
  /** Sum of `agent_call_end.cost` + `tool_call_end.cost` WITHIN THIS ASK,
1114
1128
  * excluding nested asks. Nested asks contribute to their own ask_end. */
1115
1129
  cost: number;
1116
- /** True when a cost-bearing leaf in this ask did measurable work but had
1117
- * no usable cost (unpriced model / pricing-table miss). When set, `cost`
1130
+ /** True when a cost-bearing leaf in this ask had no usable cost. When set, `cost`
1118
1131
  * is a LOWER BOUND — the unknown component is not included. Absent ⇒
1119
1132
  * `cost` is exact. Surfaced so dashboards don't render a misleading
1120
- * exact `$0.00` for an ask that used an unpriced model. */
1133
+ * exact `$0.00` for an ask with unknown-cost work. */
1121
1134
  unpriced?: boolean;
1122
1135
  duration: number;
1123
1136
  }) | (AxlEventBase & AskScoped & {
@@ -1135,6 +1148,10 @@ type LegacyAxlEventPayloadV1 = (AxlEventBase & {
1135
1148
  /** Authoritative turn-level cost. `undefined` for an unpriced model
1136
1149
  * (pricing-table miss) and absent on the error path (no usage). */
1137
1150
  cost?: number;
1151
+ /** Explicit lower-bound marker when a dispatched request was abandoned
1152
+ * without usage/cost (for example, a non-cooperative stalled provider).
1153
+ * The work may still be billed after this terminal event. */
1154
+ unpriced?: boolean;
1138
1155
  duration: number;
1139
1156
  tokens?: {
1140
1157
  input?: number;
@@ -1472,12 +1489,12 @@ type ExecutionInfoV1 = {
1472
1489
  * here (stream-only); aggregate `tokens: { input, output, reasoning? }`
1473
1490
  * on `agent_call_end` is the persisted token representation. */
1474
1491
  events: LegacyAxlEventV1[];
1475
- /** Total spend for the execution. A LOWER BOUND when an unpriced model ran
1492
+ /** Total known spend for the execution. A LOWER BOUND when unknown-cost work ran
1476
1493
  * (those calls contribute nothing) — read {@link ExecutionInfo.unpriced} to
1477
1494
  * know whether it's exact, rather than scanning the event timeline. */
1478
1495
  totalCost: number;
1479
- /** True when any cost-bearing leaf in this execution did billable work but had
1480
- * no usable cost (unpriced model / pricing-table miss): `totalCost` is then a
1496
+ /** True when any cost-bearing leaf in this execution had no usable cost:
1497
+ * `totalCost` is then a
1481
1498
  * LOWER BOUND, not exact. `false` means every cost-bearing call was priced.
1482
1499
  * The aggregate counterpart of `ask_end.unpriced` / `BudgetResult.unpriced`,
1483
1500
  * computed via `isUnpricedLeaf`. `undefined` only on executions recorded
@@ -1624,18 +1641,19 @@ type CallTiming = {
1624
1641
  /** Final dispatch → response headers. Time to first byte. */
1625
1642
  ttfbMs: number;
1626
1643
  /**
1627
- * Final dispatch → first `text_delta`/`thinking_delta`. Streaming only, and
1628
- * absent on a stream that ends without any content delta. This is the
1629
- * model-discriminating figure: headers arrive at roughly one round trip
1630
- * regardless of model, first token does not.
1644
+ * Final dispatch → first `text_delta`/`thinking_delta`, excluding consumer
1645
+ * suspension after an earlier non-content chunk. Streaming only, and absent
1646
+ * on a stream that ends without any content delta. This is the model-
1647
+ * discriminating figure: headers arrive at roughly one round trip regardless
1648
+ * of model, first token does not.
1631
1649
  */
1632
1650
  firstTokenMs?: number;
1633
1651
  /**
1634
1652
  * Time attributable to the provider. For `chat()`, final dispatch → response
1635
- * body parsed. For `stream()`, `ttfbMs` plus the cumulative time spent
1636
- * *awaiting* body reads — time the runtime spends between reads (event
1637
- * fan-out, tool-call buffering, a slow `ctx.events` consumer) is excluded by
1638
- * construction, so two models stay comparable under different listener loads.
1653
+ * body parsed. For `stream()`, `ttfbMs` plus cumulative body-read waits,
1654
+ * floored at `firstTokenMs` when content arrives. Parsing needed to deliver
1655
+ * first content is included; consumer suspension between yielded chunks is
1656
+ * excluded, so two models stay comparable under different listener loads.
1639
1657
  */
1640
1658
  wireMs: number;
1641
1659
  };
@@ -1800,7 +1818,11 @@ type TimeoutBreakdown = {
1800
1818
  declare class TimeoutError extends AxlError {
1801
1819
  /** Latency attribution for the timed-out operation, when measurable. */
1802
1820
  readonly breakdown?: TimeoutBreakdown;
1803
- constructor(operation: string, timeoutMs: number, breakdown?: TimeoutBreakdown);
1821
+ constructor(operation: string, timeoutMs: number, breakdown?: TimeoutBreakdown, agent?: string);
1822
+ }
1823
+ /** Thrown when a dispatched provider request stops making progress. */
1824
+ declare class StallTimeoutError extends TimeoutError {
1825
+ constructor(operation: string, timeoutMs: number, agent?: string);
1804
1826
  }
1805
1827
  /** Thrown when a budget limit is exceeded */
1806
1828
  declare class BudgetExceededError extends AxlError {
@@ -1870,6 +1892,7 @@ type AgentConfig = {
1870
1892
  nativeStructuredOutput?: boolean;
1871
1893
  maxTurns?: number;
1872
1894
  timeout?: string;
1895
+ stallTimeout?: string;
1873
1896
  maxContext?: number;
1874
1897
  version?: string;
1875
1898
  guardrails?: GuardrailsConfig;
@@ -2587,6 +2610,7 @@ type OpenAICompatibleOptions = {
2587
2610
  */
2588
2611
  declare class OpenAICompatibleProvider implements Provider {
2589
2612
  readonly name: string;
2613
+ readonly reportsRequestLifecycle: true;
2590
2614
  inputCapabilities(model: string): {
2591
2615
  image?: {
2592
2616
  sources: readonly InputMediaSource['type'][];
@@ -3080,6 +3104,7 @@ type StateConfig = {
3080
3104
  /** Global defaults */
3081
3105
  type DefaultsConfig = {
3082
3106
  timeout?: string;
3107
+ stallTimeout?: string;
3083
3108
  maxRetries?: number;
3084
3109
  budgetPolicy?: 'finish_and_stop' | 'hard_stop' | 'warn';
3085
3110
  };
@@ -3779,6 +3804,7 @@ declare class WorkflowContext<TInput = unknown> {
3779
3804
  private observeToolInvocation;
3780
3805
  ask<T = string>(agent: Agent, prompt: ModelInput, options?: AskOptions<T>): Promise<T>;
3781
3806
  private executeAgentCall;
3807
+ private executeAgentCallImpl;
3782
3808
  /**
3783
3809
  * Resolve the corrective feedback text for one rejected attempt, giving an optional
3784
3810
  * caller-supplied `retryFeedback` hook the chance to replace it or to stop retrying.
@@ -5161,9 +5187,9 @@ declare function stringStreamFromEvents(source: AsyncIterable<AxlEvent>, opts?:
5161
5187
  declare const COST_BEARING_LEAF_TYPES: readonly ["agent_call_end", "tool_call_end", "memory_remember", "memory_recall", "transcription_end"];
5162
5188
  /**
5163
5189
  * True when an event reports a POSITIVE token count — i.e. it did measurable,
5164
- * billable work. This is the discriminator the unpriced-cost signal (T2.5) uses:
5165
- * a cost-bearing leaf with positive tokens but no usable cost is an unpriced
5166
- * model / pricing-table miss, whereas a failed call (no usage) or a no-usage
5190
+ * billable work. This is one discriminator the unpriced-cost signal uses:
5191
+ * a cost-bearing leaf with positive tokens but no usable cost is unknown-cost
5192
+ * work, whereas a failed call (no usage) or a no-usage
5167
5193
  * streamed `done` (zero tokens) is NOT "unpriced". Used by the core ask-cost
5168
5194
  * rollup AND the Studio aggregators, so the per-ask flag and the dashboard count
5169
5195
  * stay in lockstep.
@@ -5226,16 +5252,17 @@ declare function eventCostContribution(event: HistoricalAxlEvent): number;
5226
5252
  declare function isCostBearingLeaf(event: HistoricalAxlEvent): boolean;
5227
5253
  /**
5228
5254
  * True when the event is the "unpriced lower-bound" signal: a cost-bearing leaf
5229
- * that did measurable, billable work (POSITIVE tokens) but produced no usable
5230
- * cost (an unpriced model / pricing-table miss). This is the SINGLE source of
5231
- * truth for that discriminator — the core ask-cost rollup, the runtime's
5255
+ * that either explicitly reports unknown cost (for example, an abandoned
5256
+ * dispatched request) or did measurable, billable work (POSITIVE tokens) but
5257
+ * produced no usable cost (an unpriced model / pricing-table miss). This is the
5258
+ * SINGLE source of truth for that discriminator — the core ask-cost rollup, the runtime's
5232
5259
  * `ExecutionInfo.unpriced` / `trackExecution().unpriced` aggregation, and
5233
5260
  * Studio's `unpricedCalls` count + cost reducer ALL route through it, so they
5234
5261
  * cannot drift.
5235
5262
  *
5236
- * It is the conjunction of the three primitives:
5237
- * `isCostBearingLeaf` ∧ `!isUsableCost(cost)` ∧ `hasPositiveTokens`.
5238
- * The positive-token term is what distinguishes an unpriced model from a FAILED
5263
+ * It is the conjunction of the first two primitives and either uncertainty signal:
5264
+ * `isCostBearingLeaf` ∧ `!isUsableCost(cost)` ∧ (`unpriced === true` ∨ `hasPositiveTokens`).
5265
+ * The positive-token term is what distinguishes ordinary unpriced work from a FAILED
5239
5266
  * call (no usage) or a no-usage streamed `done` (zero tokens) — neither is
5240
5267
  * "unpriced". An `ask_end` rollup carries a numeric cost, and `tool_call_end`
5241
5268
  * carries no tokens, so both are naturally excluded.
@@ -5246,6 +5273,7 @@ declare function isCostBearingLeaf(event: HistoricalAxlEvent): boolean;
5246
5273
  declare function isUnpricedLeaf(event: {
5247
5274
  type?: string;
5248
5275
  cost?: unknown;
5276
+ unpriced?: boolean;
5249
5277
  tokens?: {
5250
5278
  input?: number;
5251
5279
  output?: number;
@@ -5622,6 +5650,7 @@ declare class OpenAIProvider extends OpenAICompatibleProvider {
5622
5650
  */
5623
5651
  declare class OpenAIResponsesProvider implements Provider {
5624
5652
  readonly name = "openai-responses";
5653
+ readonly reportsRequestLifecycle: true;
5625
5654
  inputCapabilities(model: string): {
5626
5655
  image?: {
5627
5656
  sources: readonly InputMediaSource['type'][];
@@ -5684,6 +5713,7 @@ declare class OpenAIResponsesProvider implements Provider {
5684
5713
  */
5685
5714
  declare class AnthropicProvider implements Provider {
5686
5715
  readonly name = "anthropic";
5716
+ readonly reportsRequestLifecycle: true;
5687
5717
  /** Report a clamped `effort`. Anthropic clamps to each model's supported
5688
5718
  * `output_config.effort` levels, and models that always think fall back to
5689
5719
  * adaptive `'low'` when asked to disable thinking. Only reported when the
@@ -5768,6 +5798,7 @@ declare class AnthropicProvider implements Provider {
5768
5798
  */
5769
5799
  declare class GeminiProvider implements Provider {
5770
5800
  readonly name = "google";
5801
+ readonly reportsRequestLifecycle: true;
5771
5802
  inputCapabilities(model: string): {
5772
5803
  image?: {
5773
5804
  sources: readonly InputMediaSource['type'][];
@@ -6464,4 +6495,4 @@ declare class NoopSpanManager implements SpanManager {
6464
6495
  */
6465
6496
  declare function createSpanManager(config?: TelemetryConfig): Promise<SpanManager>;
6466
6497
 
6467
- export { AXL_EVENT_TYPES, AXL_EVENT_TYPES_V2, AXL_TOOL_LIFECYCLE_TYPES_V2, AZURE_PROFILE, type Agent, type AgentCallEndData, type AgentCallInfo, type AgentCallParams, type AgentCallStartData, type AgentConfig, AnthropicProvider, type AnyWorkflow, type ApiKeySource, type AskOptions, type AskScoped, type AuthHeader, type AwaitHumanData, type AwaitHumanOptions, type AwaitHumanResolvedData, type AxlConfig, AxlError, type AxlEvent, type AxlEventBase, AxlEventBus, type AxlEventOf, type AxlEventType, type AxlEventV2, type AxlEventV2Of, AxlRuntime, AxlStream, BEDROCK_PROFILE, BUILTIN_PROFILES, BudgetExceededError, type BudgetOptions, type BudgetResult, CONFIG_CANDIDATES, COST_BEARING_LEAF_TYPES, type CallTiming, type CapabilityFlags, type ChatMessage, type ChatOptions, type CheckpointEventData, type CoalescedPartialObject, type CreateContextOptions, DEEPSEEK_PROFILE, type DecisionCleanupFailedEvent, type DelegateData, type DelegateOptions, type Effort, type EffortResolution, type EmbedResult, type EmbedUsage, type Embedder, type EvalExecuteWorkflow, type EvalHistoryEntry, type EventStreamOptions, EventStreamOverflowError, type ExecuteOptions, type ExecutionInfo, type ExecutionInfoV1, type ExecutionInfoV2, type ExecutionState, GROQ_PROFILE, GeminiProvider, GeminiTranscriptionProvider, type GuardrailBlockHandler, type GuardrailData, GuardrailError, type GuardrailResult, type GuardrailsConfig, type HandoffDescriptor, type HandoffRecord, type HandoffReturnData, type HandoffStartData, type HistoricalAxlEvent, type HistoricalExecutionInfo, type HumanDecision, InMemoryVectorStore, type InputContentPart, type InputGuardrail, type InputImagePart, type InputMediaSource, type InputModalitySupport, type InputTextPart, InvalidModelInputError, InvalidTranscriptionInputError, LLAMACPP_PROFILE, LMSTUDIO_PROFILE, type LegacyAxlEventV1, type LegacyExecutionInfoV1, MAX_INLINE_MODEL_INPUT_BYTES, MAX_INLINE_TRANSCRIPTION_BYTES, MISTRAL_PROFILE, type MapOptions, MaxTurnsError, McpManager, type McpServer, type McpServerConfig, type McpToolDefinition, type McpToolResult, type MemoryConfig, type MemoryEventData, MemoryManager, MemoryStore, type ModelInput, type ModelInputDescriptor, NoConsensus, NoopSpanManager, OLLAMA_PROFILE, OPENAI_PRICING, OPENAI_PROFILE, OPENROUTER_PROFILE, type ObservationStatus, type OpenAICompatibleOptions, OpenAICompatibleProvider, OpenAIEmbedder, OpenAIProvider, OpenAIResponsesProvider, OpenAITranscriptionProvider, OpenRouterTranscriptionProvider, type OutputGuardrail, type OutputValidator, type PendingDecision, type PerModel, type PricingSource, type PricingTable, type Provider, type ProviderAdapter, type ProviderDiagnosticData, ProviderError, type ProviderInputValidationRequest, type ProviderInputValidationResult, type ProviderProfile, ProviderRegistry, type ProviderResponse, QuorumNotMet, REDACTED, REDACTION_RULES, type RaceOptions, type RateLimitConfig, RateLimiter, type ReasoningCapture, type ReasoningEmit, type ReasoningProfile, type ReasoningRoundTrip, type RecallOptions, type RecallResult, type RecordedAudioSource, RedisStore, type RememberOptions, type RememberResult, type ResolvedThinkingOptions, type Result, type RetryFeedbackHook, type RetryFeedbackInfo, type RetryFeedbackResult, type RetryPolicy, SGLANG_PROFILE, SQLiteStore, type SchemaCheckData, type SchemaDiagnosticData, type SchemaPromptOption, Session, type SessionOptions, type SpanHandle, type SpanManager, type SpawnOptions, SqliteVectorStore, type StateStore, type StreamChunk, type StringDeltaData, type StringStreamEvent, type StringStreamFilter, type TelemetryConfig, ThinkTagScanner, type TimeoutBreakdown, TimeoutError, type Tool, type ToolApprovalData, type ToolArgumentIssue, type ToolCallCancellation, type ToolCallData, type ToolCallEndData, type ToolCallFailure, type ToolCallMessage, type ToolCallOutcome, type ToolCallRejectedData, type ToolCallRejectedEvent, type ToolCallStartData, type ToolCallStartDataV2, type ToolChoice, type ToolConfig, type ToolDeniedData, type ToolEventError, ToolFailure, type ToolFailureConstructor, type ToolFailureOptions, type ToolHooks, type ToolLifecycleEventV2, type ToolModelOutput, ToolModelOutputError, type Transcript, type TranscriptionCapabilities, TranscriptionOperationError, type TranscriptionProvider, TranscriptionProviderRegistry, type TranscriptionProviderRequest, type TranscriptionProviderResult, type TranscriptionRequest, UnsupportedEventSchemaVersionError, UnsupportedModelInputError, UnsupportedTranscriptionInputError, VLLM_PROFILE, type ValidateData, type ValidateResult, ValidationError, type VectorEntry, type VectorResult, type VectorStore, type VerifyData, VerifyError, type VerifyOptions, type VerifyRetry, type VoteOptions, type Workflow, type WorkflowConfig, WorkflowContext, type WorkflowContextInit, type WorkflowEndData, type WorkflowStartData, XAI_PROFILE, agent, createSpanManager, defineConfig, estimateOpenAICost, eventCostContribution, expandGlob, extractJson, extractThinkTags, findConfig, getEventSchemaVersion, getExecutionEventSchemaVersion, hasPositiveBillableWork, hasPositiveTokens, importModule, inputText, isCostBearingLeaf, isRetryableStatus, isRootLevel, isUnpricedLeaf, isUsableCost, needsTsxLoader, normalizeStoredExecution, openaiReasoningEmit, parsePartialJson, pickDefault, pickExport, priceFromTable, reasoningEffortEmit, reasoningObjectEmit, redactEvent, redactHistoricalEvent, registerConditions, resolveApiKey, resolvePerModel, resolveRuntime, resolveThinkingOptions, stringStreamFromEvents, tool, workflow, zodToJsonSchema };
6498
+ export { AXL_EVENT_TYPES, AXL_EVENT_TYPES_V2, AXL_TOOL_LIFECYCLE_TYPES_V2, AZURE_PROFILE, type Agent, type AgentCallEndData, type AgentCallInfo, type AgentCallParams, type AgentCallStartData, type AgentConfig, AnthropicProvider, type AnyWorkflow, type ApiKeySource, type AskOptions, type AskScoped, type AuthHeader, type AwaitHumanData, type AwaitHumanOptions, type AwaitHumanResolvedData, type AxlConfig, AxlError, type AxlEvent, type AxlEventBase, AxlEventBus, type AxlEventOf, type AxlEventType, type AxlEventV2, type AxlEventV2Of, AxlRuntime, AxlStream, BEDROCK_PROFILE, BUILTIN_PROFILES, BudgetExceededError, type BudgetOptions, type BudgetResult, CONFIG_CANDIDATES, COST_BEARING_LEAF_TYPES, type CallTiming, type CapabilityFlags, type ChatMessage, type ChatOptions, type CheckpointEventData, type CoalescedPartialObject, type CreateContextOptions, DEEPSEEK_PROFILE, type DecisionCleanupFailedEvent, type DelegateData, type DelegateOptions, type Effort, type EffortResolution, type EmbedResult, type EmbedUsage, type Embedder, type EvalExecuteWorkflow, type EvalHistoryEntry, type EventStreamOptions, EventStreamOverflowError, type ExecuteOptions, type ExecutionInfo, type ExecutionInfoV1, type ExecutionInfoV2, type ExecutionState, GROQ_PROFILE, GeminiProvider, GeminiTranscriptionProvider, type GuardrailBlockHandler, type GuardrailData, GuardrailError, type GuardrailResult, type GuardrailsConfig, type HandoffDescriptor, type HandoffRecord, type HandoffReturnData, type HandoffStartData, type HistoricalAxlEvent, type HistoricalExecutionInfo, type HumanDecision, InMemoryVectorStore, type InputContentPart, type InputGuardrail, type InputImagePart, type InputMediaSource, type InputModalitySupport, type InputTextPart, InvalidModelInputError, InvalidTranscriptionInputError, LLAMACPP_PROFILE, LMSTUDIO_PROFILE, type LegacyAxlEventV1, type LegacyExecutionInfoV1, MAX_INLINE_MODEL_INPUT_BYTES, MAX_INLINE_TRANSCRIPTION_BYTES, MISTRAL_PROFILE, type MapOptions, MaxTurnsError, McpManager, type McpServer, type McpServerConfig, type McpToolDefinition, type McpToolResult, type MemoryConfig, type MemoryEventData, MemoryManager, MemoryStore, type ModelInput, type ModelInputDescriptor, NoConsensus, NoopSpanManager, OLLAMA_PROFILE, OPENAI_PRICING, OPENAI_PROFILE, OPENROUTER_PROFILE, type ObservationStatus, type OpenAICompatibleOptions, OpenAICompatibleProvider, OpenAIEmbedder, OpenAIProvider, OpenAIResponsesProvider, OpenAITranscriptionProvider, OpenRouterTranscriptionProvider, type OutputGuardrail, type OutputValidator, type PendingDecision, type PerModel, type PricingSource, type PricingTable, type Provider, type ProviderAdapter, type ProviderDiagnosticData, ProviderError, type ProviderInputValidationRequest, type ProviderInputValidationResult, type ProviderProfile, ProviderRegistry, type ProviderResponse, QuorumNotMet, REDACTED, REDACTION_RULES, type RaceOptions, type RateLimitConfig, RateLimiter, type ReasoningCapture, type ReasoningEmit, type ReasoningProfile, type ReasoningRoundTrip, type RecallOptions, type RecallResult, type RecordedAudioSource, RedisStore, type RememberOptions, type RememberResult, type ResolvedThinkingOptions, type Result, type RetryFeedbackHook, type RetryFeedbackInfo, type RetryFeedbackResult, type RetryPolicy, SGLANG_PROFILE, SQLiteStore, type SchemaCheckData, type SchemaDiagnosticData, type SchemaPromptOption, Session, type SessionOptions, type SpanHandle, type SpanManager, type SpawnOptions, SqliteVectorStore, StallTimeoutError, type StateStore, type StreamChunk, type StringDeltaData, type StringStreamEvent, type StringStreamFilter, type TelemetryConfig, ThinkTagScanner, type TimeoutBreakdown, TimeoutError, type Tool, type ToolApprovalData, type ToolArgumentIssue, type ToolCallCancellation, type ToolCallData, type ToolCallEndData, type ToolCallFailure, type ToolCallMessage, type ToolCallOutcome, type ToolCallRejectedData, type ToolCallRejectedEvent, type ToolCallStartData, type ToolCallStartDataV2, type ToolChoice, type ToolConfig, type ToolDeniedData, type ToolEventError, ToolFailure, type ToolFailureConstructor, type ToolFailureOptions, type ToolHooks, type ToolLifecycleEventV2, type ToolModelOutput, ToolModelOutputError, type Transcript, type TranscriptionCapabilities, TranscriptionOperationError, type TranscriptionProvider, TranscriptionProviderRegistry, type TranscriptionProviderRequest, type TranscriptionProviderResult, type TranscriptionRequest, UnsupportedEventSchemaVersionError, UnsupportedModelInputError, UnsupportedTranscriptionInputError, VLLM_PROFILE, type ValidateData, type ValidateResult, ValidationError, type VectorEntry, type VectorResult, type VectorStore, type VerifyData, VerifyError, type VerifyOptions, type VerifyRetry, type VoteOptions, type Workflow, type WorkflowConfig, WorkflowContext, type WorkflowContextInit, type WorkflowEndData, type WorkflowStartData, XAI_PROFILE, agent, createSpanManager, defineConfig, estimateOpenAICost, eventCostContribution, expandGlob, extractJson, extractThinkTags, findConfig, getEventSchemaVersion, getExecutionEventSchemaVersion, hasPositiveBillableWork, hasPositiveTokens, importModule, inputText, isCostBearingLeaf, isRetryableStatus, isRootLevel, isUnpricedLeaf, isUsableCost, needsTsxLoader, normalizeStoredExecution, openaiReasoningEmit, parsePartialJson, pickDefault, pickExport, priceFromTable, reasoningEffortEmit, reasoningObjectEmit, redactEvent, redactHistoricalEvent, registerConditions, resolveApiKey, resolvePerModel, resolveRuntime, resolveThinkingOptions, stringStreamFromEvents, tool, workflow, zodToJsonSchema };