@aeye/core 0.3.8 → 0.4.0

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/prompt.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ZodType } from 'zod';
2
2
  import { Fn, Resolved } from "./common";
3
3
  import { AnyTool, Tool, ToolCompatible } from "./tool";
4
- import { Component, Context, Events, Message, Names, OptionalParams, Reasoning, Request, Tuple, Usage } from "./types";
4
+ import { Component, Context, Events, Message, Names, OptionalParams, Reasoning, Request, SchemaDelivery, ToolCall, ToolDefinition, Tuple, Usage } from "./types";
5
5
  /**
6
6
  * Represents a tool that can be selected by the retool function.
7
7
  * Can be either a tool name (string) to select from predefined tools,
@@ -49,33 +49,200 @@ export interface PromptReconfig {
49
49
  * @template TOutput - The output type for the prompt.
50
50
  * @template TTools - The tools available to the prompt.
51
51
  */
52
- export interface PromptInput<TContext = {}, TMetadata = {}, TName extends string = string, TInput extends object = {}, TOutput extends object | string = string, TTools extends Tuple<ToolCompatible<TContext, TMetadata>> = []> {
52
+ export interface PromptInput<TContext = {}, TMetadata = {}, TName extends string = string, TInput extends object = {}, TOutput extends object | string = string, TTools extends Tuple<ToolCompatible<TContext, TMetadata>> = [], TDecoded extends unknown = TOutput> {
53
53
  name: TName;
54
54
  description: string;
55
55
  content: string;
56
56
  input?: Fn<Record<string, any>, [TInput | undefined, Context<TContext, TMetadata>]>;
57
57
  schema?: Fn<ZodType<TOutput> | false, [TInput | undefined, Context<TContext, TMetadata>]>;
58
- strict?: boolean;
58
+ /**
59
+ * Strict-mode policy for the output schema. Tri-state, with `1`
60
+ * (best-effort preference) as the default when omitted:
61
+ *
62
+ * - `true` — REQUIRE strict structured output. Selection filters out
63
+ * models without the matching strict-output family.
64
+ * - `false` — FORCE lenient. Output emitted as standard JSON, no `strict`
65
+ * flag on the wire.
66
+ * - `number > 0` (default `1`) — PREFER strict, tolerate fallback. The
67
+ * number is the priority — used by `SchemaBudget` to allocate strict
68
+ * slots in priority order when the chosen descriptor has per-request
69
+ * limits (e.g. Anthropic's 24 optional-param ceiling).
70
+ *
71
+ * The legacy default of `true` was changed to `1` in v2 to keep
72
+ * "it just works" against unknown/unannotated models.
73
+ */
74
+ strict?: boolean | number;
75
+ /**
76
+ * Schema-delivery policy for the output schema. Tri-state, default `'auto'`:
77
+ *
78
+ * - `'auto'` — send the schema as structured output (`response_format`) when
79
+ * the selected model's dialect can express it; otherwise transparently DROP
80
+ * the wire schema and deliver it as prompt TEXT. The existing extract +
81
+ * `parse`/Zod path still validates the model's text JSON. Rescues providers
82
+ * (e.g. Gemini) whose structured output 400s on unions/`$ref`. Under `'auto'`
83
+ * a RUNTIME fallback also fires (see `runtimeSchemaFallback`): if the model
84
+ * accepts the wire schema but replies with empty/unparseable content, or the
85
+ * request itself fails (e.g. a provider `400` on a too-complex schema), the
86
+ * prompt retries once with prompt-text delivery.
87
+ * - `'structured'` — always send structured output, even for dialects that
88
+ * can't express the schema (pre-fallback behavior).
89
+ * - `'prompt'` — always DROP the wire schema and deliver it as prompt text.
90
+ *
91
+ * Only affects prompts with a structured (non-`ZodString`) `schema`.
92
+ */
93
+ schemaDelivery?: SchemaDelivery;
94
+ /**
95
+ * Enables the RUNTIME schema-delivery fallback under `schemaDelivery: 'auto'`.
96
+ * Default `true`. The static (pre-flight) part of `'auto'` — dropping a schema
97
+ * the dialect can't express — always runs; this governs the two POST-request
98
+ * recoveries that can only be detected at runtime:
99
+ *
100
+ * - the model accepts the wire schema but returns EMPTY/unparseable content, or
101
+ * - the request FAILS (throws — e.g. a provider `400` that accepts a simple
102
+ * `json_schema` but rejects our complex recursive one).
103
+ *
104
+ * In either case the prompt promotes delivery to prompt-text and retries once
105
+ * (consuming one `outputRetries`). Set `false` to disable both — the empty
106
+ * response becomes an ordinary parse-retry and a request error propagates.
107
+ * No effect unless `schemaDelivery` resolves to `'auto'`.
108
+ */
109
+ runtimeSchemaFallback?: boolean;
59
110
  config?: Fn<Partial<Request> | false, [TInput | undefined, Context<TContext, TMetadata>]>;
60
111
  reconfig?: (stats: PromptReconfigInput, ctx: Context<TContext, TMetadata>) => PromptReconfig | Promise<PromptReconfig>;
61
112
  tools?: TTools;
62
113
  toolExecution?: 'sequential' | 'parallel' | 'immediate';
63
114
  toolRetries?: number;
115
+ validationErrorMaxLength?: number;
64
116
  outputRetries?: number;
65
117
  forgetRetries?: number;
66
118
  toolsOnly?: boolean;
67
119
  toolIterations?: number;
68
120
  toolsMax?: number;
121
+ /**
122
+ * Guarantee every `toolCalls[i]` on an emitted assistant message has a
123
+ * matching `role: 'tool'` reply in `request.messages` before the loop
124
+ * returns — even when execution was aborted via the signal or
125
+ * short-circuited by a `ToolInterrupt`. Without this guarantee, the
126
+ * next round-trip fails (OpenAI / Anthropic both reject unpaired
127
+ * `tool_calls`).
128
+ *
129
+ * The synthetic reply carries a short marker (`[interrupted]`,
130
+ * `[aborted: …]`, `[error: …]`) so the model can see WHY the tool
131
+ * didn't run and the caller can detect the synthesized state via the
132
+ * message content if they need to re-issue.
133
+ *
134
+ * `PromptSuspend` is NEVER auto-paired — suspend/resume relies on
135
+ * the missing result slot to know which tool to resume. Suspended
136
+ * tools still skip result emission regardless of this flag.
137
+ *
138
+ * Note: abort-aware dispatch (the `if (signal.aborted) break;` at
139
+ * the top of the sequential / parallel / immediate dispatch loops)
140
+ * runs unconditionally so Ctrl+C unwinds quickly regardless of this
141
+ * flag. Only the synthesis pass that fills in placeholder replies
142
+ * is gated.
143
+ *
144
+ * Default: `true`.
145
+ */
146
+ toolsComplete?: boolean;
69
147
  retool?: Fn<RetoolResult<TContext, TMetadata, TTools>, [TInput | undefined, Context<TContext, TMetadata>]>;
70
148
  dynamic?: boolean;
71
149
  metadata?: TMetadata;
72
150
  metadataFn?: (input: TInput, ctx: Context<TContext, TMetadata>) => TMetadata | Promise<TMetadata>;
73
151
  excludeMessages?: boolean;
74
- validate?: (output: TOutput, ctx: Context<TContext, TMetadata>) => void | Promise<void>;
152
+ /**
153
+ * Optional per-prompt transformer that intercepts each tool's result
154
+ * BEFORE it's handed to the model. The RETURN VALUE is what the model
155
+ * sees for that tool's `role: 'tool'` message (serialized exactly like
156
+ * an untransformed result — a string is used verbatim, anything else is
157
+ * `JSON.stringify`-d). To pass a result through unchanged, return
158
+ * `event.result`.
159
+ *
160
+ * The `event` is a discriminated union over this prompt's `TTools`:
161
+ * narrowing on `event.tool` types BOTH `event.result` and `event.args`
162
+ * for that specific tool; the default branch is the catch-all.
163
+ *
164
+ * MODEL-FACING ONLY: the raw result is still what `get('tools')`,
165
+ * `streamTools`, and the `toolOutput` event's `result` field report.
166
+ * The presented (possibly transformed) value is additionally exposed on
167
+ * the `toolOutput` event as `toModel`.
168
+ *
169
+ * v1 SCOPE — success results only. Errored / suspended / interrupted /
170
+ * synthetic (`toolsComplete`) tool slots BYPASS this handler and keep
171
+ * their existing content path. A handler that THROWS is treated as a
172
+ * tool error for that slot (the model sees the error content), so the
173
+ * `tool_call` ↔ `role: 'tool'` pairing guarantee still holds.
174
+ */
175
+ onToolResult?: (event: ToolResultEvent<TContext, TMetadata, TTools>) => unknown | Promise<unknown>;
176
+ /**
177
+ * Optional per-prompt interceptor invoked for EVERY tool call the model
178
+ * makes, BEFORE the tool's own handler runs. Lets a caller observe, veto,
179
+ * mock, cache, or gate a tool call without touching the tool definitions.
180
+ *
181
+ * Return semantics:
182
+ * - A RESULT VALUE short-circuits: the returned value is used AS this tool
183
+ * call's result (fed back to the model as the `role: 'tool'` output,
184
+ * serialized exactly like a real result — strings verbatim, everything
185
+ * else `JSON.stringify`-d) and the tool's own handler is NOT run. The
186
+ * value flows through the same success path a real result would, so
187
+ * `onToolResult` (if present) still transforms it and the `toolOutput`
188
+ * event fires normally.
189
+ * - `false` (or `undefined`) means "NOT intercepted": the library proceeds
190
+ * to run the tool's actual handler as usual. (Because `false`/`undefined`
191
+ * are the pass-through sentinels, they can't be injected AS a result —
192
+ * return e.g. an object/string to short-circuit.)
193
+ *
194
+ * A THROW is NOT swallowed — it propagates through the SAME dispatch path
195
+ * a throw from the tool's handler would: throwing `ToolInterrupt` parks the
196
+ * loop (interrupted slot) and throwing `PromptSuspend` suspends it (the
197
+ * suspend/resume protocol), identical to throwing those from inside a
198
+ * tool's `call`. Any other throw becomes a tool error for that slot,
199
+ * preserving the `tool_call` ↔ `role: 'tool'` pairing guarantee.
200
+ *
201
+ * `tool` is the matched Tool instance (`tool.name` discriminates which
202
+ * tool was called); `args` is the parsed tool arguments; `ctx` is the
203
+ * prompt's context. Runs once per tool call, before parsing errors are
204
+ * only reached when the args parsed successfully (an invalid tool call
205
+ * never reaches execution, so the interceptor isn't consulted for it).
206
+ */
207
+ onToolIntercept?: (tool: PromptTools<TTools>, args: unknown, ctx: Context<TContext, TMetadata>) => unknown | false | Promise<unknown | false>;
208
+ /**
209
+ * Optional custom parser that REPLACES Zod validation of the model's
210
+ * STRUCTURED OUTPUT entirely.
211
+ *
212
+ * By default the structured-output path runs `JSON.parse` → Zod schema
213
+ * (`safeParseAsync`, after the wire `strictify`) → `validate`. When
214
+ * `parse` is supplied it takes Zod's place: the pipeline becomes
215
+ * `JSON.parse` → `parse` → `validate`, and the Zod schema (plus the
216
+ * descriptor `strictify` normalization) is SKIPPED for validation.
217
+ *
218
+ * The function receives the raw `JSON.parse`-d structured value and
219
+ * fully owns turning it into the typed `TOutput`. It returns EITHER:
220
+ * - the typed value `TOutput` on success, or
221
+ * - an `Error` to signal validation failure (equivalently, it may
222
+ * `throw` that error) — the output is rejected and flows through the
223
+ * SAME output-retry channel a Zod failure would (`outputRetries`),
224
+ * surfacing the error's own `.message` back to the model.
225
+ *
226
+ * This mirrors `Tool.parse`'s `parse` hook, letting a caller (e.g.
227
+ * `@aeye/query`'s expr/query parser, which produces a typed AST plus
228
+ * `Problems`/`Code` diagnostics) return concise, compiler-style errors
229
+ * with source underlines INSTEAD of Zod's aggregate messages. The
230
+ * returned/thrown `Error` can be a rich subclass carrying structured
231
+ * diagnostics (its `message` is what the model-facing channel surfaces;
232
+ * no Zod vocabulary appears since Zod never runs).
233
+ *
234
+ * Only runs where Zod validation runs today: when a structured
235
+ * (non-`ZodString`) `schema` is present. The `schema` field is still
236
+ * required and continues to drive the model wire format. Absent ⇒
237
+ * unchanged behavior (Zod path).
238
+ */
239
+ parse?: (raw: unknown, ctx: Context<TContext, TMetadata>) => TDecoded | Error | Promise<TDecoded | Error>;
240
+ validate?: (output: TDecoded, ctx: Context<TContext, TMetadata>) => void | Promise<void>;
75
241
  applicable?: (ctx: Context<TContext, TMetadata>) => boolean | Promise<boolean>;
76
242
  types?: {
77
243
  input?: TInput;
78
244
  output?: TOutput;
245
+ decoded?: TDecoded;
79
246
  context?: TContext;
80
247
  metadata?: TMetadata;
81
248
  };
@@ -85,16 +252,43 @@ export interface PromptInput<TContext = {}, TMetadata = {}, TName extends string
85
252
  *
86
253
  * { tool: 'name1', result: Result1 } | { tool: 'name2', result: Result2 } | ...
87
254
  */
88
- export type PromptToolOutput<TTools extends AnyTool[]> = TTools extends Array<infer TI> ? TI extends Tool<any, any, infer TName, any, infer TO, any> ? {
255
+ export type PromptToolOutput<TTools extends AnyTool[]> = TTools extends Array<infer TI> ? TI extends Tool<any, any, infer TName, any, infer TO, any, any> ? {
89
256
  tool: TName;
90
257
  result: Resolved<TO>;
91
258
  } : never : never;
259
+ /**
260
+ * The event passed to a prompt's `onToolResult` transformer, built as a
261
+ * discriminated union over the prompt's `TTools` tuple. Narrowing on
262
+ * `event.tool` (the discriminant) types BOTH `event.result` and
263
+ * `event.args` for that specific tool; the default branch is the
264
+ * catch-all covering every tool.
265
+ *
266
+ * Mirrors `PromptToolOutput` and the `Tool<...>` type-param order:
267
+ * `Tool<TContext, TMetadata, TName, TParams, TOutput, TRefs, TDecoded>`.
268
+ * `args` is the tool's parsed input (`TParams`); `result` is the tool's
269
+ * awaited output (`Resolved<TOutput>`).
270
+ *
271
+ * v1 covers SUCCESS results only. A future v2 could add a
272
+ * `status: 'success' | 'error'` field so a handler can also transform
273
+ * error results — narrowing on `status` alongside `tool`.
274
+ *
275
+ * @template TContext - The prompt's context type.
276
+ * @template TMetadata - The prompt's metadata type.
277
+ * @template TTools - The prompt's tools tuple.
278
+ */
279
+ export type ToolResultEvent<TContext, TMetadata, TTools> = TTools extends Array<infer TI> ? TI extends Tool<any, any, infer TName, infer TArgs, infer TOut, any, any> ? {
280
+ tool: TName;
281
+ result: Resolved<TOut>;
282
+ args: TArgs;
283
+ ctx: Context<TContext, TMetadata>;
284
+ request: Request;
285
+ } : never : never;
92
286
  /**
93
287
  * Converts TTools into a union of their names:
94
288
  *
95
289
  * 'name1' | 'name2' | ...
96
290
  */
97
- export type PromptToolNames<TTools extends AnyTool[]> = TTools extends Tool<any, any, infer TName, any, any, any>[] ? TName : never;
291
+ export type PromptToolNames<TTools extends AnyTool[]> = TTools extends Tool<any, any, infer TName, any, any, any, any>[] ? TName : never;
98
292
  /**
99
293
  * Convers TTools (tuple [T1, T2, ...]) into a single tool type (union T1 | T2 | ...)
100
294
  */
@@ -103,10 +297,10 @@ export type PromptTools<TTools extends AnyTool[]> = TTools extends (infer TTool)
103
297
  * Converts TTools into tool-related events:
104
298
  *
105
299
  * { type: 'toolStart', tool: TTool, args: any } |
106
- * { type: 'toolOutput', tool: TTool, args: any, result: TOutput } |
300
+ * { type: 'toolOutput', tool: TTool, args: any, result: TOutput, toModel: unknown } |
107
301
  * { type: 'toolError', tool: TTool, args: any, error: string }
108
302
  */
109
- export type PromptToolEvents<TTools extends Tuple<AnyTool>> = TTools extends Array<infer TTool> ? TTool extends Tool<infer t0, infer t1, infer t2, infer t3, infer TOutput, infer t4> ? {
303
+ export type PromptToolEvents<TTools extends Tuple<AnyTool>> = TTools extends Array<infer TTool> ? TTool extends Tool<infer t0, infer t1, infer t2, infer t3, infer TOutput, infer t4, infer t5> ? {
110
304
  type: 'toolStart';
111
305
  tool: TTool;
112
306
  args: any;
@@ -116,6 +310,7 @@ export type PromptToolEvents<TTools extends Tuple<AnyTool>> = TTools extends Arr
116
310
  tool: TTool;
117
311
  args: any;
118
312
  result: Resolved<TOutput>;
313
+ toModel: unknown;
119
314
  request: Request;
120
315
  } | {
121
316
  type: 'toolInterrupt';
@@ -132,6 +327,7 @@ export type PromptToolEvents<TTools extends Tuple<AnyTool>> = TTools extends Arr
132
327
  tool: TTool;
133
328
  args: any;
134
329
  error: string;
330
+ rawArgs?: string;
135
331
  request: Request;
136
332
  } : never : never;
137
333
  /**
@@ -170,6 +366,12 @@ export type PromptEvent<TOutput, TTools extends Tuple<AnyTool>> = {
170
366
  tool: PromptTools<TTools>;
171
367
  args: string;
172
368
  request: Request;
369
+ } | {
370
+ type: 'toolArgRepairAttempt';
371
+ tool: PromptTools<TTools>;
372
+ fields: ReadonlyArray<string>;
373
+ success: boolean;
374
+ request: Request;
173
375
  } | PromptToolEvents<TTools> | {
174
376
  type: 'message';
175
377
  message: Message;
@@ -205,7 +407,7 @@ export type PromptEvent<TOutput, TTools extends Tuple<AnyTool>> = {
205
407
  /**
206
408
  * A type representing any prompt component.
207
409
  */
208
- export type AnyPrompt = Prompt<any, any, any, any, any, any>;
410
+ export type AnyPrompt = Prompt<any, any, any, any, any, any, any>;
209
411
  /**
210
412
  * The different modes for retrieving prompt output from the convenience get() method.
211
413
  */
@@ -242,8 +444,8 @@ export type PromptGet<TGetType extends PromptGetType, TOutput, TTools extends Tu
242
444
  *
243
445
  * const result = await summarizer.get({ text: 'Long text here...' });
244
446
  */
245
- export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string = string, TInput extends object = {}, TOutput extends object | string = string, TTools extends Tuple<ToolCompatible<TContext, TMetadata>> = []> implements Component<TContext, TMetadata, TName, TInput, AsyncGenerator<PromptEvent<TOutput, TTools>, TOutput | undefined, unknown>, TTools> {
246
- input: PromptInput<TContext, TMetadata, TName, TInput, TOutput, TTools>;
447
+ export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string = string, TInput extends object = {}, TOutput extends object | string = string, TTools extends Tuple<ToolCompatible<TContext, TMetadata>> = [], TDecoded extends unknown = TOutput> implements Component<TContext, TMetadata, TName, TInput, AsyncGenerator<PromptEvent<TDecoded, TTools>, TDecoded | undefined, unknown>, TTools> {
448
+ input: PromptInput<TContext, TMetadata, TName, TInput, TOutput, TTools, TDecoded>;
247
449
  private retool;
248
450
  private schema;
249
451
  private config;
@@ -259,7 +461,7 @@ export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string
259
461
  * @returns A compiled Handlebars template function.
260
462
  */
261
463
  static compileContent(content: string, hasTools: boolean): HandlebarsTemplateDelegate<any>;
262
- constructor(input: PromptInput<TContext, TMetadata, TName, TInput, TOutput, TTools>, retool?: (args_0: TInput | undefined, args_1: Context<TContext, TMetadata>) => Promise<RetoolResult<TContext, TMetadata, TTools> | undefined>, schema?: (args_0: TInput | undefined, args_1: Context<TContext, TMetadata>) => Promise<false | ZodType<TOutput, unknown, import("zod/v4/core").$ZodTypeInternals<TOutput, unknown>> | undefined>, config?: (args_0: TInput | undefined, args_1: Context<TContext, TMetadata>) => Promise<false | Partial<Request> | undefined>, translate?: (args_0: TInput | undefined, args_1: Context<TContext, TMetadata>) => Promise<Record<string, any> | undefined>, content?: HandlebarsTemplateDelegate<any>, metadataFn?: (input: TInput, ctx: Context<TContext, TMetadata>) => Promise<TMetadata | undefined>);
464
+ constructor(input: PromptInput<TContext, TMetadata, TName, TInput, TOutput, TTools, TDecoded>, retool?: (args_0: TInput | undefined, args_1: Context<TContext, TMetadata>) => Promise<RetoolResult<TContext, TMetadata, TTools> | undefined>, schema?: (args_0: TInput | undefined, args_1: Context<TContext, TMetadata>) => Promise<false | ZodType<TOutput, unknown, import("zod/v4/core").$ZodTypeInternals<TOutput, unknown>> | undefined>, config?: (args_0: TInput | undefined, args_1: Context<TContext, TMetadata>) => Promise<false | Partial<Request> | undefined>, translate?: (args_0: TInput | undefined, args_1: Context<TContext, TMetadata>) => Promise<Record<string, any> | undefined>, content?: HandlebarsTemplateDelegate<any>, metadataFn?: (input: TInput, ctx: Context<TContext, TMetadata>) => Promise<TMetadata | undefined>);
263
465
  get kind(): 'prompt';
264
466
  get name(): TName;
265
467
  get description(): string;
@@ -286,7 +488,7 @@ export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string
286
488
  * console.log(chunk);
287
489
  * }
288
490
  */
289
- get<TGetType extends PromptGetType, TRuntimeContext extends TContext, TRuntimeMetadata extends TMetadata, TCoreContext extends Context<TRuntimeContext, TRuntimeMetadata>>(mode?: TGetType, ...[inputMaybe, contextMaybe]: OptionalParams<[TInput, TCoreContext]>): PromptGet<TGetType, TOutput, TTools>;
491
+ get<TGetType extends PromptGetType, TRuntimeContext extends TContext, TRuntimeMetadata extends TMetadata, TCoreContext extends Context<TRuntimeContext, TRuntimeMetadata>>(mode?: TGetType, ...[inputMaybe, contextMaybe]: OptionalParams<[TInput, TCoreContext]>): PromptGet<TGetType, TDecoded, TTools>;
290
492
  /**
291
493
  * Runs the prompt with the given context and input.
292
494
  *
@@ -294,7 +496,7 @@ export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string
294
496
  * @param input - The input parameters for the prompt.
295
497
  * @returns An async generator yielding prompt events and ultimately the final output.
296
498
  */
297
- run<TRuntimeContext extends TContext, TRuntimeMetadata extends TMetadata, TCoreContext extends Context<TRuntimeContext, TRuntimeMetadata>>(...[inputMaybe, contextMaybe]: OptionalParams<[TInput, TCoreContext]>): AsyncGenerator<PromptEvent<TOutput, TTools>, TOutput | undefined, unknown>;
499
+ run<TRuntimeContext extends TContext, TRuntimeMetadata extends TMetadata, TCoreContext extends Context<TRuntimeContext, TRuntimeMetadata>>(...[inputMaybe, contextMaybe]: OptionalParams<[TInput, TCoreContext]>): AsyncGenerator<PromptEvent<TDecoded, TTools>, TDecoded | undefined, unknown>;
298
500
  /**
299
501
  * Determines if the prompt is applicable in the given context.
300
502
  * By default, checks retool, schema, and config functions if provided.
@@ -327,9 +529,9 @@ export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string
327
529
  TInput,
328
530
  boolean,
329
531
  boolean,
330
- Events<Component<TRuntimeContext, TRuntimeMetadata, TName, TInput, AsyncGenerator<PromptEvent<TOutput, TTools>, TOutput | undefined, unknown>, TTools>> | undefined,
532
+ Events<Component<TRuntimeContext, TRuntimeMetadata, TName, TInput, AsyncGenerator<PromptEvent<TDecoded, TTools>, TDecoded | undefined, unknown>, TTools>> | undefined,
331
533
  TCoreContext
332
- ]>): AsyncGenerator<PromptEvent<TOutput, TTools>, TOutput | undefined, unknown>;
534
+ ]>): AsyncGenerator<PromptEvent<TDecoded, TTools>, TDecoded | undefined, unknown>;
333
535
  /**
334
536
  * Prepares the prompt for execution by resolving all configuration, tools, and templates.
335
537
  * Returns undefined if the prompt is not compatible with the given context.
@@ -347,6 +549,39 @@ export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string
347
549
  * @returns A streamer function that yields parts of the executor's response.
348
550
  */
349
551
  private streamify;
552
+ /**
553
+ * Truncate a validation error so the corrective user message we send back
554
+ * to the LLM stays bounded. Lengthy zod errors against deep recursive
555
+ * schemas can run 100k+ characters — eating context and burning tokens
556
+ * on noise the model can't usefully act on. Anything past `max` is
557
+ * replaced with a `… (N more characters)` marker so the LLM both knows
558
+ * the message was clipped and roughly how much was lost.
559
+ *
560
+ * `protected` so a subclass can override — e.g. to emit a shorter
561
+ * marker, route errors through a custom formatter, or skip truncation
562
+ * entirely when targeting a model with a large context window.
563
+ */
564
+ protected truncateValidationError(message: string, max?: number): string;
565
+ /**
566
+ * Build a short, model-readable placeholder for a `tool_call` that
567
+ * never produced a real result. Used by the result-emit loop when
568
+ * `toolsComplete` is true to keep `request.messages` well-paired
569
+ * even when the dispatch loop short-circuited (signal abort or
570
+ * `ToolInterrupt` cutting a parallel batch short) or a tool errored
571
+ * before its content could be accumulated.
572
+ *
573
+ * The marker prefix (`[aborted: …]`, `[interrupted]`, `[error: …]`)
574
+ * gives the model a clear cue and lets callers detect synthesized
575
+ * replies by inspecting the message content if they need to
576
+ * differentiate. Suspended tools are intentionally NOT routed
577
+ * through here — the suspend/resume protocol depends on the
578
+ * missing result slot.
579
+ *
580
+ * `protected` so a subclass can override — e.g. to emit
581
+ * project-specific markers, log diagnostics for every synthesized
582
+ * result, or fall back to a model-specific instruction string.
583
+ */
584
+ protected synthesizeUnpairedResult<T extends ToolCompatible<any, any>>(te: ToolExecution<T>): string;
350
585
  /**
351
586
  * Trims messages from the request to fit within token limits.
352
587
  *
@@ -367,4 +602,46 @@ export declare class Prompt<TContext = {}, TMetadata = {}, TName extends string
367
602
  */
368
603
  private forget;
369
604
  }
605
+ type ToolStatus = 'ready' | 'parsed' | 'invalid' | 'executing' | 'success' | 'error' | 'interrupted' | 'suspended';
606
+ type ToolExecution<T> = {
607
+ toolCall: ToolCall;
608
+ tool?: T;
609
+ definition?: ToolDefinition;
610
+ status: ToolStatus;
611
+ emitStart(): boolean;
612
+ emitOutput(): boolean;
613
+ emitError(): boolean;
614
+ emitInterrupt(): boolean;
615
+ emitSuspend(): boolean;
616
+ /** Returns true exactly once after the arg-parse fallback ran a
617
+ * repair attempt. Lets the surrounding prompt loop emit a
618
+ * `toolArgRepairAttempt` telemetry event regardless of outcome
619
+ * (we WANT visibility into model misbehavior; the prior name
620
+ * `emitRepaired` suggested success-only, which was wrong). */
621
+ emitRepairAttempt(): boolean;
622
+ parse: () => Promise<ToolExecution<T>>;
623
+ run: () => Promise<ToolExecution<T>>;
624
+ args?: any;
625
+ result?: any;
626
+ /** The value actually presented to the model for this tool's
627
+ * `role: 'tool'` message. Equal to `result` unless the owning prompt's
628
+ * `onToolResult` transformer changed it. Only set once the tool reaches
629
+ * `success` (transforms run on success results only in v1). */
630
+ toModel?: any;
631
+ error?: string;
632
+ /** Diagnostic info from the parse-fallback when it ran a repair
633
+ * attempt. `fields` lists which top-level string fields were
634
+ * JSON.parse-d; `success` says whether the schema accepted the
635
+ * repaired value (false → original error was rethrown). */
636
+ repairAttempt?: {
637
+ fields: ReadonlyArray<string>;
638
+ success: boolean;
639
+ };
640
+ /** Raw, untruncated argument string the model sent. Populated when
641
+ * arg parsing fails so the surrounding loop can attach the full
642
+ * payload to the `toolError` event for log post-mortems — the
643
+ * model-facing `error` string is truncated, but our log isn't. */
644
+ rawArgs?: string;
645
+ };
646
+ export {};
370
647
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}