@aeye/core 0.5.3 → 0.6.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/README.md +51 -4
- package/aeye-core-schema.md +11 -7
- package/dist/common.d.ts +30 -5
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +134 -129
- package/dist/common.js.map +1 -1
- package/dist/delivery.d.ts +39 -0
- package/dist/delivery.d.ts.map +1 -0
- package/dist/delivery.js +127 -0
- package/dist/delivery.js.map +1 -0
- package/dist/errors.d.ts +60 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +84 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/prompt.d.ts +101 -9
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +163 -141
- package/dist/prompt.js.map +1 -1
- package/dist/schema/analyze.d.ts +94 -0
- package/dist/schema/analyze.d.ts.map +1 -0
- package/dist/schema/analyze.js +221 -0
- package/dist/schema/analyze.js.map +1 -0
- package/dist/schema/any-value.d.ts +32 -0
- package/dist/schema/any-value.d.ts.map +1 -0
- package/dist/schema/any-value.js +77 -0
- package/dist/schema/any-value.js.map +1 -0
- package/dist/schema/budget.d.ts +114 -0
- package/dist/schema/budget.d.ts.map +1 -0
- package/dist/schema/budget.js +223 -0
- package/dist/schema/budget.js.map +1 -0
- package/dist/schema/consistency.d.ts +27 -0
- package/dist/schema/consistency.d.ts.map +1 -0
- package/dist/schema/consistency.js +110 -0
- package/dist/schema/consistency.js.map +1 -0
- package/dist/schema/cycle-breaker.d.ts +14 -0
- package/dist/schema/cycle-breaker.d.ts.map +1 -0
- package/dist/schema/cycle-breaker.js +157 -0
- package/dist/schema/cycle-breaker.js.map +1 -0
- package/dist/schema/decode.d.ts +31 -0
- package/dist/schema/decode.d.ts.map +1 -0
- package/dist/schema/decode.js +207 -0
- package/dist/schema/decode.js.map +1 -0
- package/dist/schema/descriptor.d.ts +300 -0
- package/dist/schema/descriptor.d.ts.map +1 -0
- package/dist/schema/descriptor.js +15 -0
- package/dist/schema/descriptor.js.map +1 -0
- package/dist/schema/dialects/anthropic.d.ts +34 -0
- package/dist/schema/dialects/anthropic.d.ts.map +1 -0
- package/dist/schema/dialects/anthropic.js +77 -0
- package/dist/schema/dialects/anthropic.js.map +1 -0
- package/dist/schema/dialects/google.d.ts +47 -0
- package/dist/schema/dialects/google.d.ts.map +1 -0
- package/dist/schema/dialects/google.js +91 -0
- package/dist/schema/dialects/google.js.map +1 -0
- package/dist/schema/dialects/lenient.d.ts +4 -0
- package/dist/schema/dialects/lenient.d.ts.map +1 -0
- package/dist/schema/dialects/lenient.js +26 -0
- package/dist/schema/dialects/lenient.js.map +1 -0
- package/dist/schema/dialects/openai.d.ts +40 -0
- package/dist/schema/dialects/openai.d.ts.map +1 -0
- package/dist/schema/dialects/openai.js +81 -0
- package/dist/schema/dialects/openai.js.map +1 -0
- package/dist/schema/dialects/xai.d.ts +23 -0
- package/dist/schema/dialects/xai.d.ts.map +1 -0
- package/dist/schema/dialects/xai.js +53 -0
- package/dist/schema/dialects/xai.js.map +1 -0
- package/dist/schema/enum-values.d.ts +44 -0
- package/dist/schema/enum-values.d.ts.map +1 -0
- package/dist/schema/enum-values.js +56 -0
- package/dist/schema/enum-values.js.map +1 -0
- package/dist/schema/expressible.d.ts +59 -0
- package/dist/schema/expressible.d.ts.map +1 -0
- package/dist/schema/expressible.js +161 -0
- package/dist/schema/expressible.js.map +1 -0
- package/dist/schema/index.d.ts +20 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +20 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/json-schema.d.ts +64 -0
- package/dist/schema/json-schema.d.ts.map +1 -0
- package/dist/schema/json-schema.js +2 -0
- package/dist/schema/json-schema.js.map +1 -0
- package/dist/schema/registry.d.ts +73 -0
- package/dist/schema/registry.d.ts.map +1 -0
- package/dist/schema/registry.js +135 -0
- package/dist/schema/registry.js.map +1 -0
- package/dist/schema/strictify.d.ts +19 -0
- package/dist/schema/strictify.d.ts.map +1 -0
- package/dist/schema/strictify.js +237 -0
- package/dist/schema/strictify.js.map +1 -0
- package/dist/schema/to-json-schema.d.ts +29 -0
- package/dist/schema/to-json-schema.d.ts.map +1 -0
- package/dist/schema/to-json-schema.js +691 -0
- package/dist/schema/to-json-schema.js.map +1 -0
- package/dist/schema/walk-key.d.ts +24 -0
- package/dist/schema/walk-key.d.ts.map +1 -0
- package/dist/schema/walk-key.js +33 -0
- package/dist/schema/walk-key.js.map +1 -0
- package/dist/to.js +1 -1
- package/dist/to.js.map +1 -1
- package/dist/tool.d.ts +32 -3
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +41 -0
- package/dist/tool.js.map +1 -1
- package/dist/types.d.ts +265 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/package.json +72 -72
- package/dist/schema.d.ts +0 -837
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js +0 -2472
- package/dist/schema.js.map +0 -1
package/dist/prompt.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/prompt.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import Handlebars from "handlebars";
|
|
2
2
|
import { ZodString } from 'zod';
|
|
3
3
|
import { accumulateReasoning, accumulateUsage, extractJSONObject, getChunksFromResponse, getInputTokens, getModel, getOutputTokens, getTotalTokens, resolve, resolveFn, yieldAll } from "./common";
|
|
4
|
-
import { ToolInterrupt, PromptSuspend } from "./tool";
|
|
4
|
+
import { forcesTool, ToolInterrupt, PromptSuspend } from "./tool";
|
|
5
5
|
import { getDescriptorById, strictify, decodeWire } from "./schema";
|
|
6
|
+
import { OutputValidationError, PromptError, ReviewRejectedError, SchemaRejectedError, ToolExecutionError, ToolInputError } from "./errors";
|
|
7
|
+
import { SCHEMA_FALLBACKS, structuredOutput } from "./delivery";
|
|
6
8
|
/** Default cap (chars) for validation error messages surfaced back to the
|
|
7
9
|
* LLM. Read by `Prompt.truncateValidationError`; subclasses may override
|
|
8
10
|
* the method to ignore this. Anything past `max` is replaced with a
|
|
9
11
|
* `… (N more characters)` marker. */
|
|
10
12
|
const DEFAULT_VALIDATION_ERROR_MAX_LENGTH = 4096;
|
|
13
|
+
/**
|
|
14
|
+
* The user message a prompt adds when it runs without a conversation.
|
|
15
|
+
* Override it with `userTurn` on the prompt or the context.
|
|
16
|
+
*/
|
|
17
|
+
export const DEFAULT_USER_TURN = 'Begin.';
|
|
11
18
|
/**
|
|
12
19
|
* A Prompt component that generates AI responses based on input, context, and available tools.
|
|
13
20
|
* Prompts orchestrate interactions with AI models, handle tool calls, and manage streaming responses.
|
|
@@ -262,7 +269,7 @@ export class Prompt {
|
|
|
262
269
|
tools,
|
|
263
270
|
responseFormat,
|
|
264
271
|
};
|
|
265
|
-
const fixedToolChoice =
|
|
272
|
+
const fixedToolChoice = forcesTool(request.toolChoice);
|
|
266
273
|
if (fixedToolChoice && (!tools || tools.length === 0)) {
|
|
267
274
|
throw new Error(`Prompt ${this.input.name} is configured to require tools, but no tools are available.`);
|
|
268
275
|
}
|
|
@@ -271,13 +278,26 @@ export class Prompt {
|
|
|
271
278
|
// Pre-emptively trim context messages if we have a context window limit
|
|
272
279
|
request.messages = this.forget(request, ctx);
|
|
273
280
|
}
|
|
281
|
+
// Without a conversation the request still needs a user turn: APIs such
|
|
282
|
+
// as Anthropic's and Bedrock's reject a request that has none
|
|
283
|
+
if (request.messages.length === 1) {
|
|
284
|
+
request.messages.push({ role: 'user', content: this.input.userTurn ?? ctx.userTurn ?? DEFAULT_USER_TURN });
|
|
285
|
+
}
|
|
274
286
|
let outputRetries = this.input.outputRetries ?? ctx.outputRetries ?? 2;
|
|
275
287
|
let forgetRetries = this.input.forgetRetries ?? ctx.forgetRetries ?? 1;
|
|
276
288
|
let toolIterations = this.input.toolIterations ?? 3;
|
|
277
289
|
let toolRetries = this.input.toolRetries ?? ctx.toolRetries ?? 2;
|
|
290
|
+
let reviewRetries = this.input.reviewRetries ?? 1;
|
|
291
|
+
let reviews = 0;
|
|
278
292
|
const toolsComplete = this.input.toolsComplete ?? true;
|
|
293
|
+
const schemaFallbacks = this.input.schemaFallbacks ?? ctx.schemaFallbacks ?? SCHEMA_FALLBACKS;
|
|
294
|
+
// Schema fallbacks taken this run, re-applied when a dynamic prompt
|
|
295
|
+
// re-resolves its request.
|
|
296
|
+
const fallbacksTaken = [];
|
|
279
297
|
let result = undefined;
|
|
280
298
|
let lastError = undefined;
|
|
299
|
+
// The last tool failure, the cause when the iterations run out.
|
|
300
|
+
let toolFailure = undefined;
|
|
281
301
|
let completeText = '';
|
|
282
302
|
// Runtime schema-delivery fallback guard. A model whose descriptor ALLOWS
|
|
283
303
|
// the schema (so the static `canExpress` check passes and structured output
|
|
@@ -290,7 +310,7 @@ export class Prompt {
|
|
|
290
310
|
// idempotent within a single prompt run — we switch at most once and never
|
|
291
311
|
// loop. Per-run only; nothing is persisted across requests.
|
|
292
312
|
let promotedToPromptDelivery = false;
|
|
293
|
-
let maxIterations = outputRetries + forgetRetries + toolIterations + toolRetries + 1;
|
|
313
|
+
let maxIterations = outputRetries + forgetRetries + toolIterations + toolRetries + reviewRetries + 1;
|
|
294
314
|
let requestUsageSent = false;
|
|
295
315
|
let usage = undefined;
|
|
296
316
|
let iterations = 0;
|
|
@@ -314,6 +334,29 @@ export class Prompt {
|
|
|
314
334
|
request.messages.push(message);
|
|
315
335
|
return emit({ type: 'message', message, request });
|
|
316
336
|
};
|
|
337
|
+
// The events a tool execution is ready to emit, each emitted once.
|
|
338
|
+
const toolEvents = function* (te) {
|
|
339
|
+
const { tool, args } = te;
|
|
340
|
+
if (te.emitRepairAttempt()) {
|
|
341
|
+
yield emit({ type: 'toolArgRepairAttempt', tool: tool, fields: te.repairAttempt.fields, success: te.repairAttempt.success, request });
|
|
342
|
+
}
|
|
343
|
+
if (te.emitStart()) {
|
|
344
|
+
yield emitTool({ type: 'toolStart', tool: tool, args, request });
|
|
345
|
+
}
|
|
346
|
+
if (te.emitOutput()) {
|
|
347
|
+
yield emitTool({ type: 'toolOutput', tool: tool, args, result: te.result, toModel: te.toModel, request });
|
|
348
|
+
}
|
|
349
|
+
if (te.emitInterrupt()) {
|
|
350
|
+
yield emitTool({ type: 'toolInterrupt', tool: tool, args, request });
|
|
351
|
+
}
|
|
352
|
+
if (te.emitSuspend()) {
|
|
353
|
+
yield emitTool({ type: 'toolSuspend', tool: tool, args, request });
|
|
354
|
+
}
|
|
355
|
+
if (te.emitError()) {
|
|
356
|
+
const failure = te.error;
|
|
357
|
+
yield emitTool({ type: 'toolError', tool: tool, args, error: failure.message, failure, rawArgs: failure instanceof ToolInputError ? failure.rawArgs : undefined, request });
|
|
358
|
+
}
|
|
359
|
+
};
|
|
317
360
|
// Main execution loop!
|
|
318
361
|
while (iterations < maxIterations) {
|
|
319
362
|
// Honor the caller's abort signal at iteration boundaries — if a
|
|
@@ -377,6 +420,18 @@ export class Prompt {
|
|
|
377
420
|
reasoning = accumulateReasoning(reasoning, chunk.reasoning);
|
|
378
421
|
yield emit({ type: 'reasonPartial', reasoning, request });
|
|
379
422
|
}
|
|
423
|
+
if (chunk.citations) {
|
|
424
|
+
yield emit({ type: 'citations', citations: chunk.citations, request });
|
|
425
|
+
}
|
|
426
|
+
if (chunk.images) {
|
|
427
|
+
yield emit({ type: 'images', images: chunk.images, request });
|
|
428
|
+
}
|
|
429
|
+
if (chunk.audio) {
|
|
430
|
+
yield emit({ type: 'audioPartial', audio: chunk.audio, request });
|
|
431
|
+
}
|
|
432
|
+
if (chunk.moderation) {
|
|
433
|
+
yield emit({ type: 'moderation', moderation: chunk.moderation, request });
|
|
434
|
+
}
|
|
380
435
|
// Handle tool calls
|
|
381
436
|
if (chunk.toolCallNamed) {
|
|
382
437
|
const toolName = chunk.toolCallNamed.name;
|
|
@@ -446,21 +501,7 @@ export class Prompt {
|
|
|
446
501
|
// In immediate mode we might be getting more chunks while executing, emit events as soon as possible.
|
|
447
502
|
if (toolMode === 'immediate') {
|
|
448
503
|
for (const toolCall of toolExecutors) {
|
|
449
|
-
|
|
450
|
-
yield emitTool({ type: 'toolStart', tool: toolCall.tool, args: toolCall.args, request });
|
|
451
|
-
}
|
|
452
|
-
if (toolCall.emitOutput()) {
|
|
453
|
-
yield emitTool({ type: 'toolOutput', tool: toolCall.tool, args: toolCall.args, result: toolCall.result, toModel: toolCall.toModel, request });
|
|
454
|
-
}
|
|
455
|
-
if (toolCall.emitInterrupt()) {
|
|
456
|
-
yield emitTool({ type: 'toolInterrupt', tool: toolCall.tool, args: toolCall.args, request });
|
|
457
|
-
}
|
|
458
|
-
if (toolCall.emitSuspend()) {
|
|
459
|
-
yield emitTool({ type: 'toolSuspend', tool: toolCall.tool, args: toolCall.args, request });
|
|
460
|
-
}
|
|
461
|
-
if (toolCall.emitError()) {
|
|
462
|
-
yield emitTool({ type: 'toolError', tool: toolCall.tool, args: toolCall.args, error: toolCall.error, rawArgs: toolCall.rawArgs, request });
|
|
463
|
-
}
|
|
504
|
+
yield* toolEvents(toolCall);
|
|
464
505
|
}
|
|
465
506
|
}
|
|
466
507
|
}
|
|
@@ -472,13 +513,13 @@ export class Prompt {
|
|
|
472
513
|
// If the model refused to answer and stop
|
|
473
514
|
if (finishReason === 'refusal' || refusal) {
|
|
474
515
|
yield emit({ type: 'refusal', content: refusal || 'unspecified', request });
|
|
475
|
-
lastError = refusal || 'Model refused to answer.';
|
|
516
|
+
lastError = new PromptError(refusal || 'Model refused to answer.', 'model');
|
|
476
517
|
break;
|
|
477
518
|
}
|
|
478
519
|
// If the model was stopped due to content filtering
|
|
479
520
|
if (finishReason === 'content_filter') {
|
|
480
521
|
yield emit({ type: 'refusal', content: 'Content filtered by AI model', request });
|
|
481
|
-
lastError = 'Model response was filtered due to content policy.';
|
|
522
|
+
lastError = new PromptError('Model response was filtered due to content policy.', 'model');
|
|
482
523
|
break;
|
|
483
524
|
}
|
|
484
525
|
// If we sent too much, forget the past homie
|
|
@@ -492,7 +533,7 @@ export class Prompt {
|
|
|
492
533
|
}
|
|
493
534
|
else {
|
|
494
535
|
// Stop iteration - we can't trim without usage info
|
|
495
|
-
lastError = 'Model indicated length finish reason but no token usage was provided so context cannot be trimmed.';
|
|
536
|
+
lastError = new PromptError('Model indicated length finish reason but no token usage was provided so context cannot be trimmed.', 'model');
|
|
496
537
|
break;
|
|
497
538
|
}
|
|
498
539
|
}
|
|
@@ -520,15 +561,7 @@ export class Prompt {
|
|
|
520
561
|
// Non-blocking call, we don't want to hold up execution here. But if we can emit start or error early below this we will try.
|
|
521
562
|
toolExecutor.parse();
|
|
522
563
|
}
|
|
523
|
-
|
|
524
|
-
yield emit({ type: 'toolArgRepairAttempt', tool: toolExecutor.tool, fields: toolExecutor.repairAttempt.fields, success: toolExecutor.repairAttempt.success, request });
|
|
525
|
-
}
|
|
526
|
-
if (toolExecutor.emitStart()) {
|
|
527
|
-
yield emitTool({ type: 'toolStart', tool: toolExecutor.tool, args: toolExecutor.args, request });
|
|
528
|
-
}
|
|
529
|
-
if (toolExecutor.emitError()) {
|
|
530
|
-
yield emitTool({ type: 'toolError', tool: toolExecutor.tool, args: toolExecutor.args, error: toolExecutor.error, rawArgs: toolExecutor.rawArgs, request });
|
|
531
|
-
}
|
|
564
|
+
yield* toolEvents(toolExecutor);
|
|
532
565
|
}
|
|
533
566
|
// The execution mode for this iteration.
|
|
534
567
|
const iterationMode = skip ? 'skip' : toolMode;
|
|
@@ -547,25 +580,9 @@ export class Prompt {
|
|
|
547
580
|
if (ctx.signal?.aborted)
|
|
548
581
|
break;
|
|
549
582
|
await toolExecutor.parse();
|
|
550
|
-
|
|
551
|
-
yield emit({ type: 'toolArgRepairAttempt', tool: toolExecutor.tool, fields: toolExecutor.repairAttempt.fields, success: toolExecutor.repairAttempt.success, request });
|
|
552
|
-
}
|
|
553
|
-
if (toolExecutor.emitStart()) {
|
|
554
|
-
yield emitTool({ type: 'toolStart', tool: toolExecutor.tool, args: toolExecutor.args, request });
|
|
555
|
-
}
|
|
583
|
+
yield* toolEvents(toolExecutor);
|
|
556
584
|
await toolExecutor.run();
|
|
557
|
-
|
|
558
|
-
yield emitTool({ type: 'toolOutput', tool: toolExecutor.tool, args: toolExecutor.args, result: toolExecutor.result, toModel: toolExecutor.toModel, request });
|
|
559
|
-
}
|
|
560
|
-
if (toolExecutor.emitInterrupt()) {
|
|
561
|
-
yield emitTool({ type: 'toolInterrupt', tool: toolExecutor.tool, args: toolExecutor.args, request });
|
|
562
|
-
}
|
|
563
|
-
if (toolExecutor.emitSuspend()) {
|
|
564
|
-
yield emitTool({ type: 'toolSuspend', tool: toolExecutor.tool, args: toolExecutor.args, request });
|
|
565
|
-
}
|
|
566
|
-
if (toolExecutor.emitError()) {
|
|
567
|
-
yield emitTool({ type: 'toolError', tool: toolExecutor.tool, args: toolExecutor.args, error: toolExecutor.error, rawArgs: toolExecutor.rawArgs, request });
|
|
568
|
-
}
|
|
585
|
+
yield* toolEvents(toolExecutor);
|
|
569
586
|
}
|
|
570
587
|
break;
|
|
571
588
|
case 'parallel':
|
|
@@ -582,25 +599,7 @@ export class Prompt {
|
|
|
582
599
|
// listener was already removed before tool dispatch.)
|
|
583
600
|
if (ctx.signal?.aborted)
|
|
584
601
|
break;
|
|
585
|
-
|
|
586
|
-
if (toolExecutor.emitRepairAttempt()) {
|
|
587
|
-
yield emit({ type: 'toolArgRepairAttempt', tool: toolExecutor.tool, fields: toolExecutor.repairAttempt.fields, success: toolExecutor.repairAttempt.success, request });
|
|
588
|
-
}
|
|
589
|
-
if (toolExecutor.emitStart()) {
|
|
590
|
-
yield emitTool({ type: 'toolStart', tool: toolExecutor.tool, args: toolExecutor.args, request });
|
|
591
|
-
}
|
|
592
|
-
if (toolExecutor.emitOutput()) {
|
|
593
|
-
yield emitTool({ type: 'toolOutput', tool: toolExecutor.tool, args: toolExecutor.args, result: toolExecutor.result, toModel: toolExecutor.toModel, request });
|
|
594
|
-
}
|
|
595
|
-
if (toolExecutor.emitInterrupt()) {
|
|
596
|
-
yield emitTool({ type: 'toolInterrupt', tool: toolExecutor.tool, args: toolExecutor.args, request });
|
|
597
|
-
}
|
|
598
|
-
if (toolExecutor.emitSuspend()) {
|
|
599
|
-
yield emitTool({ type: 'toolSuspend', tool: toolExecutor.tool, args: toolExecutor.args, request });
|
|
600
|
-
}
|
|
601
|
-
if (toolExecutor.emitError()) {
|
|
602
|
-
yield emitTool({ type: 'toolError', tool: toolExecutor.tool, args: toolExecutor.args, error: toolExecutor.error, rawArgs: toolExecutor.rawArgs, request });
|
|
603
|
-
}
|
|
602
|
+
yield* toolEvents(await toolCallPromise);
|
|
604
603
|
}
|
|
605
604
|
break;
|
|
606
605
|
}
|
|
@@ -644,7 +643,7 @@ export class Prompt {
|
|
|
644
643
|
// exactly as before: strings verbatim, everything else JSON.
|
|
645
644
|
const modelValue = toolExecutor.status === 'success' ? toolExecutor.toModel : toolExecutor.result;
|
|
646
645
|
const content = hasError
|
|
647
|
-
? toolExecutor.error
|
|
646
|
+
? toolExecutor.error.message
|
|
648
647
|
: hasResult
|
|
649
648
|
? typeof modelValue === 'string'
|
|
650
649
|
? modelValue
|
|
@@ -654,7 +653,9 @@ export class Prompt {
|
|
|
654
653
|
role: 'tool',
|
|
655
654
|
content,
|
|
656
655
|
toolCallId: toolExecutor.toolCall.id,
|
|
656
|
+
failure: toolExecutor.error?.kind,
|
|
657
657
|
});
|
|
658
|
+
toolFailure = toolExecutor.error ?? toolFailure;
|
|
658
659
|
if (toolExecutor.status === 'invalid') {
|
|
659
660
|
toolParseErrors++;
|
|
660
661
|
}
|
|
@@ -718,9 +719,9 @@ export class Prompt {
|
|
|
718
719
|
toolExecutors.some(toolExecutor => toolExecutor.status === 'interrupted');
|
|
719
720
|
// If we are finished, parse the output
|
|
720
721
|
if (stop) {
|
|
722
|
+
let failure;
|
|
721
723
|
if (!schema || (schema instanceof ZodString)) {
|
|
722
724
|
result = content;
|
|
723
|
-
break; // All good!
|
|
724
725
|
}
|
|
725
726
|
else {
|
|
726
727
|
// Grab the JSON part from the content just in case. In the
|
|
@@ -728,9 +729,10 @@ export class Prompt {
|
|
|
728
729
|
// freeform text (possibly fenced / prose-wrapped), so extract the
|
|
729
730
|
// outermost balanced `{…}` (see `extractJSONObject`).
|
|
730
731
|
const potentialJSON = extractJSONObject(content);
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
732
|
+
const invalid = (message, reason) => new OutputValidationError(this.truncateValidationError(message, this.input.validationErrorMaxLength), reason, content);
|
|
733
|
+
// The descriptor the provider shaped the output with, when the
|
|
734
|
+
// schema went on the wire.
|
|
735
|
+
const descriptorId = structuredOutput(request.responseFormat)?.descriptor;
|
|
734
736
|
try {
|
|
735
737
|
const parsedJSON = JSON.parse(potentialJSON);
|
|
736
738
|
if (this.input.parse) {
|
|
@@ -749,11 +751,8 @@ export class Prompt {
|
|
|
749
751
|
// (no Zod vocabulary — Zod never ran). Absent ⇒ unchanged.
|
|
750
752
|
// Decode only when a descriptor was pinned; otherwise the wire
|
|
751
753
|
// shape IS the conceptual shape and `parsedJSON` passes through.
|
|
752
|
-
const
|
|
753
|
-
?
|
|
754
|
-
: undefined;
|
|
755
|
-
const decoded = customDescriptorId
|
|
756
|
-
? decodeWire(schema, parsedJSON, getDescriptorById(customDescriptorId))
|
|
754
|
+
const decoded = descriptorId
|
|
755
|
+
? decodeWire(schema, parsedJSON, getDescriptorById(descriptorId))
|
|
757
756
|
: parsedJSON;
|
|
758
757
|
let customResult;
|
|
759
758
|
try {
|
|
@@ -763,8 +762,7 @@ export class Prompt {
|
|
|
763
762
|
customResult = customError instanceof Error ? customError : new Error(String(customError));
|
|
764
763
|
}
|
|
765
764
|
if (customResult instanceof Error) {
|
|
766
|
-
|
|
767
|
-
resetReason = 'schema-parsing';
|
|
765
|
+
failure = invalid(customResult.message, 'schema-parsing');
|
|
768
766
|
}
|
|
769
767
|
else {
|
|
770
768
|
result = customResult;
|
|
@@ -772,8 +770,7 @@ export class Prompt {
|
|
|
772
770
|
await this.input.validate?.(result, ctx);
|
|
773
771
|
}
|
|
774
772
|
catch (validationError) {
|
|
775
|
-
|
|
776
|
-
resetReason = 'validation';
|
|
773
|
+
failure = invalid(`The output failed validation:\n${validationError.message}`, 'validation');
|
|
777
774
|
}
|
|
778
775
|
}
|
|
779
776
|
}
|
|
@@ -783,19 +780,15 @@ export class Prompt {
|
|
|
783
780
|
// normalize back into the natural Zod shape before validation.
|
|
784
781
|
// The descriptor was pinned on the response format when the
|
|
785
782
|
// provider built the request. Fast cache lookup on retries.
|
|
786
|
-
const
|
|
787
|
-
?
|
|
788
|
-
: undefined;
|
|
789
|
-
const validationSchema = responseDescriptorId
|
|
790
|
-
? strictify(schema, getDescriptorById(responseDescriptorId))
|
|
783
|
+
const validationSchema = descriptorId
|
|
784
|
+
? strictify(schema, getDescriptorById(descriptorId))
|
|
791
785
|
: schema;
|
|
792
786
|
const parsedSafe = await validationSchema.safeParseAsync(parsedJSON);
|
|
793
787
|
if (!parsedSafe.success) {
|
|
794
788
|
const issueSummary = parsedSafe.error.issues
|
|
795
789
|
.map(i => `- ${i.path.join('.')}: ${i.message}${['string', 'boolean', 'number'].includes(typeof i.input) ? ` (input: ${i.input})` : ''}`)
|
|
796
790
|
.join('\n');
|
|
797
|
-
|
|
798
|
-
resetReason = 'schema-parsing';
|
|
791
|
+
failure = invalid(`The output was an invalid format:\n${issueSummary}`, 'schema-parsing');
|
|
799
792
|
}
|
|
800
793
|
else {
|
|
801
794
|
result = parsedSafe.data;
|
|
@@ -803,15 +796,13 @@ export class Prompt {
|
|
|
803
796
|
await this.input.validate?.(result, ctx);
|
|
804
797
|
}
|
|
805
798
|
catch (validationError) {
|
|
806
|
-
|
|
807
|
-
resetReason = 'validation';
|
|
799
|
+
failure = invalid(`The output failed validation:\n${validationError.message}`, 'validation');
|
|
808
800
|
}
|
|
809
801
|
}
|
|
810
802
|
}
|
|
811
803
|
}
|
|
812
804
|
catch (parseError) {
|
|
813
|
-
|
|
814
|
-
resetReason = 'json-parsing';
|
|
805
|
+
failure = invalid(`The output was not valid JSON:\n${parseError.message}`, 'json-parsing');
|
|
815
806
|
}
|
|
816
807
|
// Runtime schema-delivery fallback. The structured response was EMPTY
|
|
817
808
|
// or its JSON was UNPARSEABLE (`json-parsing` reset — either the
|
|
@@ -830,39 +821,73 @@ export class Prompt {
|
|
|
830
821
|
// The switch is not remembered beyond this run. This reuses the
|
|
831
822
|
// existing outputRetries re-prompt mechanism below to re-issue.
|
|
832
823
|
if (this.input.runtimeSchemaFallback !== false &&
|
|
833
|
-
|
|
824
|
+
failure?.reason === 'json-parsing' &&
|
|
834
825
|
!promotedToPromptDelivery &&
|
|
835
826
|
typeof request.responseFormat === 'object' &&
|
|
836
827
|
(request.responseFormat.schemaDelivery ?? 'auto') === 'auto') {
|
|
837
828
|
request.responseFormat.schemaDelivery = 'prompt';
|
|
838
829
|
promotedToPromptDelivery = true;
|
|
839
830
|
}
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
lastError = errorMessage;
|
|
851
|
-
break; // No more retries left
|
|
852
|
-
}
|
|
831
|
+
}
|
|
832
|
+
if (failure) {
|
|
833
|
+
result = undefined;
|
|
834
|
+
if (outputRetries > 0) {
|
|
835
|
+
outputRetries--;
|
|
836
|
+
yield emit({ type: 'textReset', reason: failure.reason, error: failure, request });
|
|
837
|
+
yield emitMessage({
|
|
838
|
+
role: 'user',
|
|
839
|
+
content: failure.message,
|
|
840
|
+
});
|
|
853
841
|
}
|
|
854
842
|
else {
|
|
855
|
-
|
|
843
|
+
lastError = failure;
|
|
844
|
+
break; // No more retries left
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
else if (this.input.review) {
|
|
848
|
+
// A valid result goes to the review, whose feedback asks the model
|
|
849
|
+
// to answer again.
|
|
850
|
+
const output = result;
|
|
851
|
+
const attempt = ++reviews;
|
|
852
|
+
yield emit({ type: 'reviewStart', output, attempt, request });
|
|
853
|
+
const verdict = await this.input.review(output, { input, request, ctx, attempt });
|
|
854
|
+
if ('pass' in verdict) {
|
|
855
|
+
yield emit({ type: 'reviewPass', output, attempt, request });
|
|
856
856
|
lastError = undefined;
|
|
857
857
|
break;
|
|
858
858
|
}
|
|
859
|
+
yield emit({ type: 'reviewFeedback', output, feedback: verdict.feedback, attempt, request });
|
|
860
|
+
result = undefined;
|
|
861
|
+
if (reviewRetries <= 0) {
|
|
862
|
+
lastError = new ReviewRejectedError(output, verdict.feedback);
|
|
863
|
+
break;
|
|
864
|
+
}
|
|
865
|
+
reviewRetries--;
|
|
866
|
+
yield emitMessage({ role: 'user', content: verdict.feedback });
|
|
867
|
+
}
|
|
868
|
+
else {
|
|
869
|
+
// A result was successfully parsed and validated!
|
|
870
|
+
lastError = undefined;
|
|
871
|
+
break;
|
|
859
872
|
}
|
|
860
873
|
}
|
|
861
874
|
}
|
|
862
875
|
catch (requestError) {
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
876
|
+
const recoverable = !ctx.signal?.aborted && !streamController.signal.aborted && this.input.runtimeSchemaFallback !== false;
|
|
877
|
+
// A classified schema rejection takes the first schema fallback not
|
|
878
|
+
// yet taken for its schema that applies, and the request goes again.
|
|
879
|
+
// The step stays on the request, so later iterations start there.
|
|
880
|
+
const rejected = requestError instanceof SchemaRejectedError ? requestError : undefined;
|
|
881
|
+
const fallback = rejected && recoverable
|
|
882
|
+
? schemaFallbacks.find(step => !fallbacksTaken.some(([taken, target]) => taken === step && sameTarget(target, rejected.target)) && step.apply(request, rejected.target))
|
|
883
|
+
: undefined;
|
|
884
|
+
if (rejected && fallback) {
|
|
885
|
+
fallbacksTaken.push([fallback, rejected.target]);
|
|
886
|
+
yield emit({ type: 'schemaFallback', fallback: fallback.name, error: rejected, request });
|
|
887
|
+
continue;
|
|
888
|
+
}
|
|
889
|
+
if (!rejected &&
|
|
890
|
+
recoverable &&
|
|
866
891
|
!promotedToPromptDelivery &&
|
|
867
892
|
typeof request.responseFormat === 'object' &&
|
|
868
893
|
(request.responseFormat.schemaDelivery ?? 'auto') === 'auto' &&
|
|
@@ -943,6 +968,7 @@ export class Prompt {
|
|
|
943
968
|
systemMessage.content = dynamicContent;
|
|
944
969
|
request.tools = dynamicTools;
|
|
945
970
|
request.responseFormat = dynamicResponseFormat;
|
|
971
|
+
fallbacksTaken.forEach(([step, target]) => step.apply(request, target));
|
|
946
972
|
// Update toolMap with new tool objects
|
|
947
973
|
toolMap.clear();
|
|
948
974
|
if (dynamicToolObjects) {
|
|
@@ -987,13 +1013,11 @@ export class Prompt {
|
|
|
987
1013
|
if (ctx.signal?.aborted) {
|
|
988
1014
|
return undefined;
|
|
989
1015
|
}
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
}
|
|
996
|
-
throw new Error(`Prompt ${this.input.name} failed: ${lastError}`);
|
|
1016
|
+
const reason = lastError?.message ?? (iterations === maxIterations
|
|
1017
|
+
? `Maximum iterations (${maxIterations}) reached without a valid response.`
|
|
1018
|
+
: `Prompt ${this.input.name} failed without a specified error.`);
|
|
1019
|
+
const cause = lastError ?? toolFailure;
|
|
1020
|
+
throw new PromptError(`Prompt ${this.input.name} failed: ${reason}`, cause?.kind ?? 'model', cause);
|
|
997
1021
|
}
|
|
998
1022
|
yield emit({ type: 'complete', output: result, request });
|
|
999
1023
|
return result;
|
|
@@ -1057,19 +1081,15 @@ export class Prompt {
|
|
|
1057
1081
|
.filter(r => r.applicable)
|
|
1058
1082
|
.map(r => r.tool);
|
|
1059
1083
|
}
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
: undefined;
|
|
1066
|
-
const tools = toolInstructions
|
|
1067
|
-
? toolInstructions.map(t => t[1])
|
|
1084
|
+
// Each tool with its compiled instructions and definition; a tool that
|
|
1085
|
+
// doesn't compile (no schema or no instructions) is left out
|
|
1086
|
+
const compiled = selectedTools && selectedTools.length > 0
|
|
1087
|
+
? (await Promise.all(selectedTools.map(async (tool) => ({ tool, compiled: await tool.compile(ctx) }))))
|
|
1088
|
+
.flatMap(({ tool, compiled }) => compiled ? [{ tool, instructions: compiled[0], definition: compiled[1] }] : [])
|
|
1068
1089
|
: undefined;
|
|
1069
|
-
|
|
1070
|
-
const
|
|
1071
|
-
|
|
1072
|
-
: [];
|
|
1090
|
+
const instructions = compiled?.map(c => c.instructions).filter(Boolean).join("\n\n");
|
|
1091
|
+
const tools = compiled?.map(c => c.definition);
|
|
1092
|
+
const toolObjects = compiled?.map(({ tool, definition }) => ({ tool, definition })) ?? [];
|
|
1073
1093
|
// Compute the input that is fed to the prompt's prompt content
|
|
1074
1094
|
let contentInput = input;
|
|
1075
1095
|
const translated = await this.translate(input, ctx);
|
|
@@ -1143,12 +1163,12 @@ export class Prompt {
|
|
|
1143
1163
|
switch (te.status) {
|
|
1144
1164
|
case 'interrupted':
|
|
1145
1165
|
return te.error
|
|
1146
|
-
? `[interrupted: ${te.error}]`
|
|
1166
|
+
? `[interrupted: ${te.error.message}]`
|
|
1147
1167
|
: '[interrupted]';
|
|
1148
1168
|
case 'error':
|
|
1149
1169
|
case 'invalid':
|
|
1150
1170
|
return te.error
|
|
1151
|
-
? `[error: ${te.error}]`
|
|
1171
|
+
? `[error: ${te.error.message}]`
|
|
1152
1172
|
: '[error]';
|
|
1153
1173
|
case 'ready':
|
|
1154
1174
|
case 'parsed':
|
|
@@ -1273,6 +1293,12 @@ export class Prompt {
|
|
|
1273
1293
|
return trimmedMessages;
|
|
1274
1294
|
}
|
|
1275
1295
|
}
|
|
1296
|
+
/**
|
|
1297
|
+
* Whether two schema targets name the same schema.
|
|
1298
|
+
*/
|
|
1299
|
+
function sameTarget(a, b) {
|
|
1300
|
+
return a.kind === 'tool' && b.kind === 'tool' ? a.name === b.name : a.kind === b.kind;
|
|
1301
|
+
}
|
|
1276
1302
|
function once(fn) {
|
|
1277
1303
|
let promise;
|
|
1278
1304
|
return () => {
|
|
@@ -1336,7 +1362,7 @@ intercept) {
|
|
|
1336
1362
|
tool: toolInfo?.tool,
|
|
1337
1363
|
definition: toolInfo?.definition,
|
|
1338
1364
|
status: toolInfo ? 'ready' : 'error',
|
|
1339
|
-
error: toolInfo ? undefined : `Tool not found: ${toolCall.name}
|
|
1365
|
+
error: toolInfo ? undefined : new ToolInputError(toolCall.name, `Tool not found: ${toolCall.name}`),
|
|
1340
1366
|
emitStart: start.emit,
|
|
1341
1367
|
emitOutput: output.emit,
|
|
1342
1368
|
emitError: error.emit,
|
|
@@ -1367,10 +1393,6 @@ intercept) {
|
|
|
1367
1393
|
}
|
|
1368
1394
|
catch (e) {
|
|
1369
1395
|
execution.status = 'invalid';
|
|
1370
|
-
// Preserve the untruncated raw args alongside the truncated
|
|
1371
|
-
// model-facing error so the diagnostic log gets the full
|
|
1372
|
-
// payload (post-mortem reproduction is impossible without it).
|
|
1373
|
-
execution.rawArgs = args;
|
|
1374
1396
|
// Distinguish "model sent no arguments at all" from "model sent
|
|
1375
1397
|
// bad arguments". The former is usually a streaming-relay issue
|
|
1376
1398
|
// (OpenRouter/Anthropic) or a genuine model gaffe — calling it
|
|
@@ -1382,9 +1404,9 @@ intercept) {
|
|
|
1382
1404
|
? `the tool was called with NO arguments. The schema requires arguments — re-call this tool with the required fields populated. Validation: ${e.message}`
|
|
1383
1405
|
: `${e.message}, args: ${args}`;
|
|
1384
1406
|
const formatted = `Error parsing tool arguments: ${reason}`;
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1407
|
+
// The untruncated raw args go alongside the truncated model-facing
|
|
1408
|
+
// message so the diagnostic log gets the full payload.
|
|
1409
|
+
execution.error = new ToolInputError(toolCall.name, truncate ? truncate(formatted, validationErrorMaxLength) : formatted, args);
|
|
1388
1410
|
error.ready = true;
|
|
1389
1411
|
}
|
|
1390
1412
|
return execution;
|
|
@@ -1420,7 +1442,7 @@ intercept) {
|
|
|
1420
1442
|
}
|
|
1421
1443
|
catch (e) {
|
|
1422
1444
|
execution.status = 'error';
|
|
1423
|
-
execution.error = `Error transforming tool result: ${e.message}
|
|
1445
|
+
execution.error = new ToolExecutionError(toolCall.name, `Error transforming tool result: ${e.message}`, e);
|
|
1424
1446
|
error.ready = true;
|
|
1425
1447
|
return execution;
|
|
1426
1448
|
}
|
|
@@ -1438,7 +1460,7 @@ intercept) {
|
|
|
1438
1460
|
}
|
|
1439
1461
|
else {
|
|
1440
1462
|
execution.status = 'error';
|
|
1441
|
-
execution.error = `Error executing tool: ${e.message}, args: ${JSON.stringify(execution.args)}
|
|
1463
|
+
execution.error = new ToolExecutionError(toolCall.name, `Error executing tool: ${e.message}, args: ${JSON.stringify(execution.args)}`, e);
|
|
1442
1464
|
error.ready = true;
|
|
1443
1465
|
}
|
|
1444
1466
|
}
|