@namzu/sdk 52.0.0 → 52.2.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.
Files changed (157) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +1 -1
  3. package/dist/compaction/verifier.d.ts.map +1 -1
  4. package/dist/compaction/verifier.js +57 -17
  5. package/dist/compaction/verifier.js.map +1 -1
  6. package/dist/connector/tools/adapter.d.ts +2 -2
  7. package/dist/contracts/a2a.d.ts +94 -94
  8. package/dist/manager/resident/learning.d.ts +6 -6
  9. package/dist/manager/resident/store.d.ts +4 -4
  10. package/dist/pals/activity/subscription-schema.d.ts +48 -48
  11. package/dist/pals/communication/ingress-schema.d.ts +192 -192
  12. package/dist/pals/communication/schema.d.ts +18 -18
  13. package/dist/peers/protocol.d.ts +36 -36
  14. package/dist/provider/capabilities.d.ts +9 -0
  15. package/dist/provider/capabilities.d.ts.map +1 -1
  16. package/dist/provider/capabilities.js +15 -0
  17. package/dist/provider/capabilities.js.map +1 -1
  18. package/dist/provider/errors.d.ts.map +1 -1
  19. package/dist/provider/errors.js +13 -0
  20. package/dist/provider/errors.js.map +1 -1
  21. package/dist/provider/fallback.d.ts.map +1 -1
  22. package/dist/provider/fallback.js +10 -0
  23. package/dist/provider/fallback.js.map +1 -1
  24. package/dist/provider/idle-timeout.d.ts.map +1 -1
  25. package/dist/provider/idle-timeout.js +5 -0
  26. package/dist/provider/idle-timeout.js.map +1 -1
  27. package/dist/provider/image-input-refusal.d.ts +9 -0
  28. package/dist/provider/image-input-refusal.d.ts.map +1 -0
  29. package/dist/provider/image-input-refusal.js +54 -0
  30. package/dist/provider/image-input-refusal.js.map +1 -0
  31. package/dist/provider/index.d.ts +2 -1
  32. package/dist/provider/index.d.ts.map +1 -1
  33. package/dist/provider/index.js +2 -1
  34. package/dist/provider/index.js.map +1 -1
  35. package/dist/provider/retry.d.ts +7 -2
  36. package/dist/provider/retry.d.ts.map +1 -1
  37. package/dist/provider/retry.js +38 -4
  38. package/dist/provider/retry.js.map +1 -1
  39. package/dist/public-runtime.d.ts +2 -1
  40. package/dist/public-runtime.d.ts.map +1 -1
  41. package/dist/public-runtime.js +1 -1
  42. package/dist/public-runtime.js.map +1 -1
  43. package/dist/public-tools.d.ts +1 -0
  44. package/dist/public-tools.d.ts.map +1 -1
  45. package/dist/public-tools.js +1 -0
  46. package/dist/public-tools.js.map +1 -1
  47. package/dist/runtime/query/deferred-sandbox.d.ts +54 -0
  48. package/dist/runtime/query/deferred-sandbox.d.ts.map +1 -0
  49. package/dist/runtime/query/deferred-sandbox.js +75 -0
  50. package/dist/runtime/query/deferred-sandbox.js.map +1 -0
  51. package/dist/runtime/query/executor.d.ts +11 -0
  52. package/dist/runtime/query/executor.d.ts.map +1 -1
  53. package/dist/runtime/query/executor.js +25 -3
  54. package/dist/runtime/query/executor.js.map +1 -1
  55. package/dist/runtime/query/index.d.ts +2 -0
  56. package/dist/runtime/query/index.d.ts.map +1 -1
  57. package/dist/runtime/query/index.js +94 -25
  58. package/dist/runtime/query/index.js.map +1 -1
  59. package/dist/runtime/query/iteration/index.d.ts +26 -0
  60. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  61. package/dist/runtime/query/iteration/index.js +164 -21
  62. package/dist/runtime/query/iteration/index.js.map +1 -1
  63. package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts +10 -7
  64. package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts.map +1 -1
  65. package/dist/runtime/query/iteration/phases/compaction-breaker.js +10 -7
  66. package/dist/runtime/query/iteration/phases/compaction-breaker.js.map +1 -1
  67. package/dist/runtime/query/iteration/phases/compaction.d.ts +42 -1
  68. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  69. package/dist/runtime/query/iteration/phases/compaction.js +119 -21
  70. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  71. package/dist/runtime/query/iteration/provider-rejected-image.d.ts +21 -1
  72. package/dist/runtime/query/iteration/provider-rejected-image.d.ts.map +1 -1
  73. package/dist/runtime/query/iteration/provider-rejected-image.js +53 -7
  74. package/dist/runtime/query/iteration/provider-rejected-image.js.map +1 -1
  75. package/dist/runtime/query/iteration/request-repair.d.ts +108 -0
  76. package/dist/runtime/query/iteration/request-repair.d.ts.map +1 -0
  77. package/dist/runtime/query/iteration/request-repair.js +593 -0
  78. package/dist/runtime/query/iteration/request-repair.js.map +1 -0
  79. package/dist/runtime/query/iteration/stream-turn.d.ts +6 -0
  80. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  81. package/dist/runtime/query/iteration/stream-turn.js +2 -2
  82. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  83. package/dist/runtime/query/request-rich-content.d.ts +5 -1
  84. package/dist/runtime/query/request-rich-content.d.ts.map +1 -1
  85. package/dist/runtime/query/request-rich-content.js +67 -25
  86. package/dist/runtime/query/request-rich-content.js.map +1 -1
  87. package/dist/runtime/query/tooling.d.ts +1 -0
  88. package/dist/runtime/query/tooling.d.ts.map +1 -1
  89. package/dist/runtime/query/tooling.js +1 -0
  90. package/dist/runtime/query/tooling.js.map +1 -1
  91. package/dist/tools/builtins/browser.d.ts +4 -4
  92. package/dist/tools/builtins/code-analysis.d.ts +49 -0
  93. package/dist/tools/builtins/code-analysis.d.ts.map +1 -0
  94. package/dist/tools/builtins/code-analysis.js +409 -0
  95. package/dist/tools/builtins/code-analysis.js.map +1 -0
  96. package/dist/tools/builtins/computer-use.d.ts +25 -25
  97. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  98. package/dist/tools/builtins/computer-use.js +12 -5
  99. package/dist/tools/builtins/computer-use.js.map +1 -1
  100. package/dist/tools/builtins/index.d.ts +1 -0
  101. package/dist/tools/builtins/index.d.ts.map +1 -1
  102. package/dist/tools/builtins/index.js +1 -0
  103. package/dist/tools/builtins/index.js.map +1 -1
  104. package/dist/tools/builtins/lsp.d.ts +1 -1
  105. package/dist/tools/builtins/skill.d.ts +2 -2
  106. package/dist/types/code-analysis/index.d.ts +299 -0
  107. package/dist/types/code-analysis/index.d.ts.map +1 -0
  108. package/dist/types/code-analysis/index.js +30 -0
  109. package/dist/types/code-analysis/index.js.map +1 -0
  110. package/dist/types/plugin/index.d.ts +6 -6
  111. package/dist/types/provider/errors.d.ts.map +1 -1
  112. package/dist/types/provider/errors.js +30 -5
  113. package/dist/types/provider/errors.js.map +1 -1
  114. package/dist/types/provider/interface.d.ts +12 -0
  115. package/dist/types/provider/interface.d.ts.map +1 -1
  116. package/dist/types/provider/stream.d.ts +1 -1
  117. package/dist/types/session/config.d.ts +14 -0
  118. package/dist/types/session/config.d.ts.map +1 -1
  119. package/dist/types/session/events.d.ts +20 -5
  120. package/dist/types/session/events.d.ts.map +1 -1
  121. package/dist/types/session/events.js.map +1 -1
  122. package/dist/types/session/records.d.ts +127 -127
  123. package/dist/types/tool/index.d.ts +9 -0
  124. package/dist/types/tool/index.d.ts.map +1 -1
  125. package/dist/types/tool/index.js.map +1 -1
  126. package/package.json +2 -2
  127. package/src/compaction/verifier.ts +57 -20
  128. package/src/provider/capabilities.ts +17 -0
  129. package/src/provider/errors.ts +13 -0
  130. package/src/provider/fallback.ts +10 -0
  131. package/src/provider/idle-timeout.ts +5 -0
  132. package/src/provider/image-input-refusal.ts +54 -0
  133. package/src/provider/index.ts +2 -0
  134. package/src/provider/retry.ts +42 -4
  135. package/src/public-runtime.ts +28 -0
  136. package/src/public-tools.ts +5 -0
  137. package/src/runtime/query/deferred-sandbox.ts +110 -0
  138. package/src/runtime/query/executor.ts +27 -3
  139. package/src/runtime/query/index.ts +127 -49
  140. package/src/runtime/query/iteration/index.ts +188 -23
  141. package/src/runtime/query/iteration/phases/compaction-breaker.ts +10 -8
  142. package/src/runtime/query/iteration/phases/compaction.ts +151 -35
  143. package/src/runtime/query/iteration/provider-rejected-image.ts +71 -5
  144. package/src/runtime/query/iteration/request-repair.ts +743 -0
  145. package/src/runtime/query/iteration/stream-turn.ts +11 -1
  146. package/src/runtime/query/request-rich-content.ts +77 -27
  147. package/src/runtime/query/tooling.ts +2 -0
  148. package/src/tools/builtins/code-analysis.ts +486 -0
  149. package/src/tools/builtins/computer-use.ts +13 -4
  150. package/src/tools/builtins/index.ts +5 -0
  151. package/src/types/code-analysis/index.ts +325 -0
  152. package/src/types/provider/errors.ts +33 -5
  153. package/src/types/provider/interface.ts +13 -0
  154. package/src/types/provider/stream.ts +1 -1
  155. package/src/types/session/config.ts +14 -0
  156. package/src/types/session/events.ts +25 -5
  157. package/src/types/tool/index.ts +9 -0
@@ -12,7 +12,7 @@ import { NAMZU } from '../../../../constants/telemetry/index.js';
12
12
  import { invariants } from '../../../../invariants/index.js';
13
13
  import { resolveTaskModel } from '../../../../model-router/task-router.js';
14
14
  import { applyLifecycleHookResults } from '../../plugin-hooks.js';
15
- import { COMPACTION_FAILURE_MESSAGE, COMPACTION_REFILL_MESSAGE, compactionBreaker, } from './compaction-breaker.js';
15
+ import { COMPACTION_REFILL_MESSAGE, compactionBreaker } from './compaction-breaker.js';
16
16
  import { isWorkingMemoryMessage } from './working-memory.js';
17
17
  // `isCompactionMessage` and the header moved to `compaction/summary.ts` —
18
18
  // this phase is a layer ABOVE that module, so nothing down there could
@@ -179,6 +179,56 @@ export function measureContext(ctx) {
179
179
  }
180
180
  return { tokens: estimateTokens(ctx), source: 'estimate' };
181
181
  }
182
+ /**
183
+ * Reactive compactions allowed for one overflow, as in the reference
184
+ * terminal: the first relief, then at most one deeper pass.
185
+ */
186
+ export const OVERFLOW_RELIEF_LIMIT = 2;
187
+ /** Round-groups that must remain for the deeper pass to be worth running. */
188
+ export const DEEPER_PASS_MIN_GROUPS = 3;
189
+ /**
190
+ * A round-group starts at each assistant message and runs to the next one, so
191
+ * its tool results stay with the call that made them. The newest group is the
192
+ * last assistant message and everything after it; the opening user messages
193
+ * ride with the first group.
194
+ */
195
+ function roundGroups(messages) {
196
+ let groups = 0;
197
+ for (const message of messages)
198
+ if (message.role === 'assistant')
199
+ groups++;
200
+ return groups;
201
+ }
202
+ /**
203
+ * The deeper rung's configuration: no tool result protected, and a recent
204
+ * window no larger than the first rung's. With three or more groups the
205
+ * window shrinks to the newest group, but never grows past what the
206
+ * configuration already kept: a newest group bigger than that would make the
207
+ * "deeper" pass shed less than the first one.
208
+ */
209
+ export function deepenConfig(config, messages) {
210
+ let lastAssistant = -1;
211
+ for (let i = messages.length - 1; i >= 0; i--) {
212
+ if (messages[i]?.role === 'assistant') {
213
+ lastAssistant = i;
214
+ break;
215
+ }
216
+ }
217
+ const deeper = { ...config, keepRecentToolResults: 0 };
218
+ if (lastAssistant < 0 || roundGroups(messages) < DEEPER_PASS_MIN_GROUPS)
219
+ return deeper;
220
+ const newest = messages.slice(lastAssistant);
221
+ if (config.keepRecentTokens !== undefined) {
222
+ return {
223
+ ...deeper,
224
+ keepRecentTokens: Math.max(1, Math.min(config.keepRecentTokens, estimateMessagesTokens(newest))),
225
+ };
226
+ }
227
+ return {
228
+ ...deeper,
229
+ keepRecentMessages: Math.max(1, Math.min(config.keepRecentMessages, newest.length)),
230
+ };
231
+ }
182
232
  /**
183
233
  * Shed history because the PROVIDER said the prompt is too long.
184
234
  *
@@ -197,11 +247,14 @@ export function measureContext(ctx) {
197
247
  * @returns whether anything was actually shed. `false` means retrying would
198
248
  * send the same prompt again, so the caller must not.
199
249
  */
200
- export async function relieveOverflow(ctx) {
250
+ export async function relieveOverflow(ctx, options = {}) {
251
+ // The cause belongs to the rung that is about to run: an earlier rung's
252
+ // summary failure must not be blamed for a later rung that compacted cleanly.
253
+ clearCompactionErrorNote(ctx);
201
254
  const before = ctx.recorder.messages.length;
202
255
  const beforeChars = totalChars(ctx.recorder.messages);
203
256
  const beforeTokens = estimateMessagesTokens(ctx.recorder.messages);
204
- await runCompactionCheck(ctx, { force: true });
257
+ await runCompactionCheck(ctx, { force: true, ...(options.deeper ? { deeper: true } : {}) });
205
258
  const shed = beforeChars - totalChars(ctx.recorder.messages);
206
259
  const tokensShed = beforeTokens - estimateMessagesTokens(ctx.recorder.messages);
207
260
  // A shed has to be big enough to plausibly change the provider's verdict.
@@ -230,6 +283,28 @@ export async function relieveOverflow(ctx) {
230
283
  });
231
284
  return true;
232
285
  }
286
+ /**
287
+ * Why the last compaction attempt errored, kept for the turn so that when
288
+ * relief runs out the failure it ends on can say so, as the reference
289
+ * terminal's " · automatic compaction failed: <cause>" does.
290
+ */
291
+ const compactionErrors = new WeakMap();
292
+ const MAX_COMPACTION_CAUSE_CHARS = 300;
293
+ /** The sentence the cause is appended with. */
294
+ export const AUTOMATIC_COMPACTION_FAILED = ' · automatic compaction failed: ';
295
+ function noteCompactionError(ctx, error) {
296
+ const text = error instanceof Error ? error.message : String(error);
297
+ if (text.length > 0)
298
+ compactionErrors.set(ctx.recorder, text.slice(0, MAX_COMPACTION_CAUSE_CHARS));
299
+ }
300
+ /** The turn's last compaction error, or `undefined` when none errored. */
301
+ export function compactionErrorNote(ctx) {
302
+ return compactionErrors.get(ctx.recorder);
303
+ }
304
+ /** A turn that got through has nothing left to explain. */
305
+ export function clearCompactionErrorNote(ctx) {
306
+ compactionErrors.delete(ctx.recorder);
307
+ }
233
308
  function totalChars(messages) {
234
309
  let total = 0;
235
310
  for (const msg of messages)
@@ -281,8 +356,11 @@ async function declined(ctx, cause, messages, error) {
281
356
  /**
282
357
  * The third refill in a row: stop the turn instead of compacting again.
283
358
  * Returns true when this pass must not run. Only with `circuitBreaker`.
359
+ * The loop also asks it before the first reactive relief of an overflow, as
360
+ * the reference terminal does (`rhr` runs first in its withheld-overflow
361
+ * handling), so a re-read loop made only of overflows is counted too.
284
362
  */
285
- async function stopOnRefill(ctx) {
363
+ export async function stopOnRefill(ctx) {
286
364
  const breaker = compactionBreaker(ctx);
287
365
  if (!breaker)
288
366
  return false;
@@ -342,6 +420,7 @@ async function applyReducer(ctx, reducer, reduction, measurement) {
342
420
  'namzu.runtime.reason': reduction.reason,
343
421
  'exception.message': message,
344
422
  });
423
+ noteCompactionError(ctx, error);
345
424
  await declined(ctx, 'reducer_threw', before, message);
346
425
  return;
347
426
  }
@@ -466,11 +545,12 @@ export async function runCompactionCheck(ctx, options) {
466
545
  }
467
546
  }
468
547
  async function runCompactionCheckInner(ctx, pass, options) {
469
- const config = ctx.compactionConfig;
470
- if (!config)
548
+ const configured = ctx.compactionConfig;
549
+ if (!configured)
471
550
  return;
472
- if (config.strategy === 'disabled')
551
+ if (configured.strategy === 'disabled')
473
552
  return;
553
+ const config = options?.deeper ? deepenConfig(configured, ctx.recorder.messages) : configured;
474
554
  const measured = measureContext(ctx);
475
555
  const estimatedTokens = measured.tokens;
476
556
  // The divisor is a WINDOW, never `turnConfig.tokenBudget`. The old
@@ -493,11 +573,14 @@ async function runCompactionCheckInner(ctx, pass, options) {
493
573
  const startAt = salience ? Math.min(config.softTarget ?? DEFAULT_SOFT_TARGET, trigger) : trigger;
494
574
  if (!options?.force && usage < startAt)
495
575
  return;
496
- // Three failed passes in a row: stop trying for the rest of the turn, and
497
- // say so once. A pass the provider forced is never gated.
576
+ // Three failed passes in a row: stop proactive compaction for the rest of
577
+ // the turn. A pass the provider forced is never gated.
498
578
  const breaker = compactionBreaker(ctx);
499
579
  if (breaker?.failuresOpen && !options?.force) {
500
580
  if (breaker.takeFailureNotice()) {
581
+ // Silent for the person, as in the reference terminal: a log line and the
582
+ // event for a host that wants it, but no sentence to show. Only the
583
+ // proactive pass stops; a real overflow still runs the reactive ladder.
501
584
  ctx.log.warn('Compaction failed three times in a row — switched off for this turn', {
502
585
  [NAMZU.TURN_ID]: ctx.recorder.turnId,
503
586
  });
@@ -507,7 +590,6 @@ async function runCompactionCheckInner(ctx, pass, options) {
507
590
  iteration: ctx.recorder.currentIteration,
508
591
  cause: 'breaker_open',
509
592
  messages: ctx.recorder.messages.length,
510
- error: COMPACTION_FAILURE_MESSAGE,
511
593
  });
512
594
  }
513
595
  return;
@@ -709,17 +791,33 @@ async function runCompactionCheckInner(ctx, pass, options) {
709
791
  // to a cheap model while the bill is written against the expensive one
710
792
  // is a mistake with no symptom.
711
793
  const compactionModel = resolveTaskModel('compaction', ctx.taskRouter, ctx.turnConfig.model);
712
- compactedContent = await buildVerifiedSummaryWithBoundedProvider(manager, olderMessages, ctx.provider, config, (usage) => ctx.recorder.accumulateUsage(usage, {
713
- providerId: ctx.recorder.servingProviderId,
714
- model: compactionModel,
715
- }),
716
- // The one model call a turn makes that the user never asked for. It
717
- // reads a transcript and writes a summary, which is the cheapest
718
- // thing a small model does well, and it fires on exactly the long
719
- // runs where the primary model is most expensive. `taskRouter` had
720
- // been accepted, validated and threaded through four types since it
721
- // was added, and nothing ever consulted it.
722
- compactionModel, ctx.abortController.signal);
794
+ try {
795
+ compactedContent = await buildVerifiedSummaryWithBoundedProvider(manager, olderMessages, ctx.provider, config, (usage) => ctx.recorder.accumulateUsage(usage, {
796
+ providerId: ctx.recorder.servingProviderId,
797
+ model: compactionModel,
798
+ }),
799
+ // The one model call a turn makes that the user never asked for. It
800
+ // reads a transcript and writes a summary, which is the cheapest
801
+ // thing a small model does well, and it fires on exactly the long
802
+ // runs where the primary model is most expensive. `taskRouter` had
803
+ // been accepted, validated and threaded through four types since it
804
+ // was added, and nothing ever consulted it.
805
+ compactionModel, ctx.abortController.signal);
806
+ }
807
+ catch (error) {
808
+ // The model step only ADDS to the extracted state, so a failed one (a
809
+ // timeout, a provider error, its own overflow after the ladder in the
810
+ // verifier ran out) is not a reason to leave the history as it is. Cancellation
811
+ // is the caller's, and still stops the pass.
812
+ if (ctx.abortController.signal.aborted)
813
+ throw error;
814
+ noteCompactionError(ctx, error);
815
+ ctx.log.warn('The compaction summary call failed — using the extracted state alone', {
816
+ [NAMZU.TURN_ID]: ctx.recorder.turnId,
817
+ 'exception.message': error instanceof Error ? error.message : String(error),
818
+ });
819
+ compactedContent = serializeState(manager.getState());
820
+ }
723
821
  }
724
822
  else {
725
823
  compactedContent = serializeState(manager.getState());
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/compaction.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,27 @@
1
1
  import type { Message } from '../../../types/message/index.js';
2
2
  import type { ChatCompletionParams, LLMProvider, StreamChunk } from '../../../types/provider/index.js';
3
3
  import { type RequestImageIdentity } from '../request-rich-content.js';
4
+ import type { RequestRepair } from './request-repair.js';
4
5
  export declare function isProviderRejectedImageError(error: unknown): boolean;
6
+ /** The provider and model that refused a request for holding an image. */
7
+ export interface TextOnlyModelRefusal {
8
+ readonly providerId: string;
9
+ readonly model: string | undefined;
10
+ }
11
+ /** See {@link streamWithProviderRejectedImageRecovery}. */
12
+ export interface TextOnlyModelRecovery {
13
+ /**
14
+ * Who is serving the request. A fallback chain reports its head's id and
15
+ * moves between members, so without this the refusal would be filed against
16
+ * a model that never saw the request. Read when the refusal arrives.
17
+ */
18
+ readonly servedBy?: () => {
19
+ readonly providerId: string;
20
+ readonly model?: string;
21
+ };
22
+ /** The retry without images was accepted: `refused` cannot read images. */
23
+ readonly onAccepted: (refused: TextOnlyModelRefusal) => void | Promise<void>;
24
+ }
5
25
  /**
6
26
  * Retry one provider-invalid request without its only distinct image.
7
27
  *
@@ -10,5 +30,5 @@ export declare function isProviderRejectedImageError(error: unknown): boolean;
10
30
  * accepted chunk or reached a clean EOF. A legacy phrase can still recover the
11
31
  * current request, but cannot assert durable server proof.
12
32
  */
13
- export declare function streamWithProviderRejectedImageRecovery(provider: LLMProvider, params: ChatCompletionParams, onAccepted: (identity: RequestImageIdentity) => Promise<void>, onRequest?: (messages: readonly Message[]) => void): AsyncIterable<StreamChunk>;
33
+ export declare function streamWithProviderRejectedImageRecovery(provider: LLMProvider, params: ChatCompletionParams, onAccepted: (identity: RequestImageIdentity) => Promise<void>, onRequest?: (messages: readonly Message[]) => void, textOnly?: TextOnlyModelRecovery, repair?: RequestRepair): AsyncIterable<StreamChunk>;
14
34
  //# sourceMappingURL=provider-rejected-image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-rejected-image.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/provider-rejected-image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,KAAK,EACX,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACN,KAAK,oBAAoB,EAGzB,MAAM,4BAA4B,CAAA;AAkBnC,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpE;AAuBD;;;;;;;GAOG;AACH,wBAAuB,uCAAuC,CAC7D,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7D,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,KAAK,IAAI,GAChD,aAAa,CAAC,WAAW,CAAC,CA2C5B"}
1
+ {"version":3,"file":"provider-rejected-image.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/provider-rejected-image.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,KAAK,EACX,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACN,KAAK,oBAAoB,EAKzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAkBxD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpE;AAuBD,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,2DAA2D;AAC3D,MAAM,WAAW,qBAAqB;IACrC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAClF,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5E;AAED;;;;;;;GAOG;AACH,wBAAuB,uCAAuC,CAC7D,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,EAC7D,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,KAAK,IAAI,EAClD,QAAQ,CAAC,EAAE,qBAAqB,EAChC,MAAM,CAAC,EAAE,aAAa,GACpB,aAAa,CAAC,WAAW,CAAC,CAqF5B"}
@@ -1,5 +1,6 @@
1
1
  import { isProviderRequestError } from '../../../provider/errors.js';
2
- import { findSingleRequestImage, projectRequestWithoutImage, } from '../request-rich-content.js';
2
+ import { isImageInputRefusal } from '../../../provider/image-input-refusal.js';
3
+ import { findSingleRequestImage, projectRequestRichContent, projectRequestWithoutImage, requestHasImages, } from '../request-rich-content.js';
3
4
  const IMAGE_REJECTION_PATTERNS = [
4
5
  /\binvalid[_ -]?image\b/i,
5
6
  /\bimage\b.{0,100}\b(?:cannot|could not|failed to)\s+(?:be\s+)?(?:decoded|processed|loaded|parsed|read)\b/i,
@@ -43,17 +44,23 @@ function throwIfAborted(signal) {
43
44
  * accepted chunk or reached a clean EOF. A legacy phrase can still recover the
44
45
  * current request, but cannot assert durable server proof.
45
46
  */
46
- export async function* streamWithProviderRejectedImageRecovery(provider, params, onAccepted, onRequest) {
47
+ export async function* streamWithProviderRejectedImageRecovery(provider, params, onAccepted, onRequest, textOnly, repair) {
48
+ // Every send, including the retries below, goes through the request repair.
49
+ // They share one repair budget: the original request and its retries are
50
+ // one request to the person, and each resend is a paid call.
51
+ const session = repair?.session();
52
+ const send = (request) => repair ? repair.stream(provider, request, session) : provider.chatStream(request);
47
53
  const candidate = findSingleRequestImage(params.messages);
48
54
  onRequest?.(params.messages);
49
- if (candidate === null) {
50
- yield* provider.chatStream(params);
55
+ if (candidate === null && !requestHasImages(params.messages)) {
56
+ yield* send(params);
51
57
  return;
52
58
  }
53
59
  let produced = false;
54
60
  let confidence = null;
61
+ let refused = null;
55
62
  try {
56
- for await (const chunk of provider.chatStream(params)) {
63
+ for await (const chunk of send(params)) {
57
64
  if (isAcceptedChunk(chunk))
58
65
  produced = true;
59
66
  yield chunk;
@@ -62,11 +69,50 @@ export async function* streamWithProviderRejectedImageRecovery(provider, params,
62
69
  }
63
70
  catch (error) {
64
71
  throwIfAborted(params.signal);
72
+ if (produced)
73
+ throw error;
74
+ // A fault in one image (the server's own `invalid_image`, or wording that
75
+ // says an image could not be decoded) is about that image, not about the
76
+ // model, and it wins: the model reads images, so it keeps the others.
65
77
  confidence = classifyProviderRejectedImageError(error);
66
- if (produced || confidence === null)
78
+ if (confidence === null && isImageInputRefusal(error)) {
79
+ // A model that reads text only refuses the request however many images
80
+ // it holds, so every image goes. Named now, while the member that
81
+ // refused is still the one serving.
82
+ const served = textOnly?.servedBy?.();
83
+ refused = {
84
+ providerId: served?.providerId ?? provider.id,
85
+ model: served?.model ?? params.model,
86
+ };
87
+ }
88
+ else if (confidence === null || candidate === null) {
67
89
  throw error;
90
+ }
68
91
  }
69
92
  throwIfAborted(params.signal);
93
+ if (refused !== null) {
94
+ // One retry, without any image. The stored conversation is untouched, so
95
+ // a model that does read images gets them again.
96
+ const messages = projectRequestRichContent(params.messages, 0, { imagesReadable: false });
97
+ onRequest?.(messages);
98
+ let accepted = false;
99
+ let reportedError = false;
100
+ for await (const chunk of send({ ...params, messages })) {
101
+ if (chunk.error !== undefined)
102
+ reportedError = true;
103
+ if (!accepted && isAcceptedChunk(chunk)) {
104
+ throwIfAborted(params.signal);
105
+ await textOnly?.onAccepted(refused);
106
+ accepted = true;
107
+ }
108
+ yield chunk;
109
+ }
110
+ if (!accepted && !reportedError)
111
+ await textOnly?.onAccepted(refused);
112
+ return;
113
+ }
114
+ if (candidate === null)
115
+ return;
70
116
  const retryParams = {
71
117
  ...params,
72
118
  messages: projectRequestWithoutImage(params.messages, candidate),
@@ -74,7 +120,7 @@ export async function* streamWithProviderRejectedImageRecovery(provider, params,
74
120
  let accepted = false;
75
121
  let retryReportedError = false;
76
122
  onRequest?.(retryParams.messages);
77
- for await (const chunk of provider.chatStream(retryParams)) {
123
+ for await (const chunk of send(retryParams)) {
78
124
  if (chunk.error !== undefined)
79
125
  retryReportedError = true;
80
126
  if (!accepted && isAcceptedChunk(chunk)) {
@@ -1 +1 @@
1
- {"version":3,"file":"provider-rejected-image.js","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/provider-rejected-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAOpE,OAAO,EAEN,sBAAsB,EACtB,0BAA0B,GAC1B,MAAM,4BAA4B,CAAA;AAEnC,MAAM,wBAAwB,GAAsB;IACnD,yBAAyB;IACzB,2GAA2G;IAC3G,2FAA2F;IAC3F,gEAAgE;CAChE,CAAA;AAID,SAAS,kCAAkC,CAAC,KAAc;IACzD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IAC/E,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,KAAK,eAAe;QAAE,OAAO,kBAAkB,CAAA;IAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAA;IAC5C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;AAC7F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAc;IAC1D,OAAO,kCAAkC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB;IAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5F,OAAO,KAAK,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CACb,KAAK,CAAC,KAAK,CAAC,OAAO;QAClB,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM;QAC7B,KAAK,CAAC,KAAK,CAAC,WAAW;QACvB,KAAK,CAAC,KAAK,CAAC,SAAS;QACrB,KAAK,CAAC,KAAK,CAAC,QAAQ;QACpB,KAAK,CAAC,YAAY,KAAK,SAAS;QAChC,KAAK,CAAC,KAAK,KAAK,SAAS;QACzB,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,SAAS,KAAK,SAAS,CAC9B,CAAA;AACF,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B;IACtD,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,MAAM,CAAC,MAAM,CAAA;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,uCAAuC,CAC7D,QAAqB,EACrB,MAA4B,EAC5B,UAA6D,EAC7D,SAAkD;IAElD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzD,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC5B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACxB,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAClC,OAAM;IACP,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,UAAU,GAAoC,IAAI,CAAA;IACtD,IAAI,CAAC;QACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,IAAI,eAAe,CAAC,KAAK,CAAC;gBAAE,QAAQ,GAAG,IAAI,CAAA;YAC3C,MAAM,KAAK,CAAA;QACZ,CAAC;QACD,OAAM;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,UAAU,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAA;QACtD,IAAI,QAAQ,IAAI,UAAU,KAAK,IAAI;YAAE,MAAM,KAAK,CAAA;IACjD,CAAC;IAED,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7B,MAAM,WAAW,GAAyB;QACzC,GAAG,MAAM;QACT,QAAQ,EAAE,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;KAChE,CAAA;IACD,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,kBAAkB,GAAG,KAAK,CAAA;IAC9B,SAAS,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5D,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,kBAAkB,GAAG,IAAI,CAAA;QACxD,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC7B,IAAI,UAAU,KAAK,kBAAkB;gBAAE,MAAM,UAAU,CAAC,SAAS,CAAC,CAAA;YAClE,QAAQ,GAAG,IAAI,CAAA;QAChB,CAAC;QACD,MAAM,KAAK,CAAA;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,UAAU,KAAK,kBAAkB;YAAE,MAAM,UAAU,CAAC,SAAS,CAAC,CAAA;IACnE,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"provider-rejected-image.js","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/provider-rejected-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAO9E,OAAO,EAEN,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,GAChB,MAAM,4BAA4B,CAAA;AAGnC,MAAM,wBAAwB,GAAsB;IACnD,yBAAyB;IACzB,2GAA2G;IAC3G,2FAA2F;IAC3F,gEAAgE;CAChE,CAAA;AAID,SAAS,kCAAkC,CAAC,KAAc;IACzD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IAC/E,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,KAAK,eAAe;QAAE,OAAO,kBAAkB,CAAA;IAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAA;IAC5C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;AAC7F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAc;IAC1D,OAAO,kCAAkC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB;IAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5F,OAAO,KAAK,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CACb,KAAK,CAAC,KAAK,CAAC,OAAO;QAClB,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM;QAC7B,KAAK,CAAC,KAAK,CAAC,WAAW;QACvB,KAAK,CAAC,KAAK,CAAC,SAAS;QACrB,KAAK,CAAC,KAAK,CAAC,QAAQ;QACpB,KAAK,CAAC,YAAY,KAAK,SAAS;QAChC,KAAK,CAAC,KAAK,KAAK,SAAS;QACzB,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,SAAS,KAAK,SAAS,CAC9B,CAAA;AACF,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B;IACtD,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,MAAM,CAAC,MAAM,CAAA;AACzC,CAAC;AAoBD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,uCAAuC,CAC7D,QAAqB,EACrB,MAA4B,EAC5B,UAA6D,EAC7D,SAAkD,EAClD,QAAgC,EAChC,MAAsB;IAEtB,4EAA4E;IAC5E,yEAAyE;IACzE,6DAA6D;IAC7D,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,CAAA;IACjC,MAAM,IAAI,GAAG,CAAC,OAA6B,EAA8B,EAAE,CAC1E,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAClF,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzD,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC5B,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnB,OAAM;IACP,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,UAAU,GAAoC,IAAI,CAAA;IACtD,IAAI,OAAO,GAAgC,IAAI,CAAA;IAC/C,IAAI,CAAC;QACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,eAAe,CAAC,KAAK,CAAC;gBAAE,QAAQ,GAAG,IAAI,CAAA;YAC3C,MAAM,KAAK,CAAA;QACZ,CAAC;QACD,OAAM;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,QAAQ;YAAE,MAAM,KAAK,CAAA;QACzB,0EAA0E;QAC1E,yEAAyE;QACzE,sEAAsE;QACtE,UAAU,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAA;QACtD,IAAI,UAAU,KAAK,IAAI,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,uEAAuE;YACvE,kEAAkE;YAClE,oCAAoC;YACpC,MAAM,MAAM,GAAG,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAA;YACrC,OAAO,GAAG;gBACT,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,QAAQ,CAAC,EAAE;gBAC7C,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK;aACpC,CAAA;QACF,CAAC;aAAM,IAAI,UAAU,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,CAAA;QACZ,CAAC;IACF,CAAC;IAED,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACtB,yEAAyE;QACzE,iDAAiD;QACjD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;QACzF,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;QACrB,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,aAAa,GAAG,KAAK,CAAA;QACzB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACzD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,aAAa,GAAG,IAAI,CAAA;YACnD,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC7B,MAAM,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;gBACnC,QAAQ,GAAG,IAAI,CAAA;YAChB,CAAC;YACD,MAAM,KAAK,CAAA;QACZ,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa;YAAE,MAAM,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;QACpE,OAAM;IACP,CAAC;IACD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAM;IAC9B,MAAM,WAAW,GAAyB;QACzC,GAAG,MAAM;QACT,QAAQ,EAAE,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;KAChE,CAAA;IACD,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,kBAAkB,GAAG,KAAK,CAAA;IAC9B,SAAS,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,kBAAkB,GAAG,IAAI,CAAA;QACxD,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC7B,IAAI,UAAU,KAAK,kBAAkB;gBAAE,MAAM,UAAU,CAAC,SAAS,CAAC,CAAA;YAClE,QAAQ,GAAG,IAAI,CAAA;QAChB,CAAC;QACD,MAAM,KAAK,CAAA;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,UAAU,KAAK,kBAAkB;YAAE,MAAM,UAAU,CAAC,SAAS,CAAC,CAAA;IACnE,CAAC;AACF,CAAC"}
@@ -0,0 +1,108 @@
1
+ import type { ChatCompletionParams, LLMProvider, StreamChunk } from '../../../types/provider/index.js';
2
+ /**
3
+ * Repair-and-retry for a request a provider rejects as invalid (a 400 that is
4
+ * not a context overflow), so a conversation does not dead-end on it.
5
+ *
6
+ * Mirrors the reference terminal's table of silent 400 recoveries: pair tool
7
+ * calls with results before a send, strip rejected reasoning, drop a
8
+ * parameter the model refuses, and take rejected media out of the OUTGOING
9
+ * request. Stored history is never edited.
10
+ *
11
+ * **Nothing is remembered on a guess.** Every repair is a guess about what the
12
+ * provider objected to. What it teaches (a parameter to leave out, reasoning to
13
+ * strip, media to omit, a media limit) is kept for the run only once a resend
14
+ * WITHOUT the offending part was accepted. A guess that did not fix the
15
+ * request is forgotten and the original rejection is thrown, so a wrong guess
16
+ * never changes a later request.
17
+ *
18
+ * It decorates one model call of the agent loop (a turn, or the closing
19
+ * summary), so a rejection is only acted on when nothing has been accepted yet:
20
+ * resending then cannot duplicate output. Other callers of a provider, such as
21
+ * compaction summaries, do not pass through it.
22
+ */
23
+ export type RejectedParameter = 'effort' | 'thinking' | 'temperature' | 'topP' | 'responseFormat';
24
+ export interface MediaRemoval {
25
+ readonly count: number;
26
+ readonly kind: 'image' | 'document' | 'media';
27
+ /** Some of it was attached to the person's latest message. */
28
+ readonly current: boolean;
29
+ /** It was dropped to fit a count the provider accepts, not because a file was faulty. */
30
+ readonly limit: boolean;
31
+ }
32
+ export interface RequestRepairHooks {
33
+ /** Debug-level record of a silent repair. Never shown to the person. */
34
+ readonly debug?: (message: string) => void;
35
+ /** Media was taken out of a request that then went through. Called once per removal. */
36
+ readonly onMediaRemoved?: (removal: MediaRemoval) => void | Promise<void>;
37
+ /**
38
+ * The member that serves the next request. A fallback chain moves between
39
+ * members, and what a member refused is a fact about that member, not about
40
+ * the head of the chain.
41
+ */
42
+ readonly servedBy?: () => {
43
+ readonly providerId: string;
44
+ readonly model?: string;
45
+ } | undefined;
46
+ }
47
+ type Rejection = {
48
+ readonly kind: 'tool-pairing';
49
+ } | {
50
+ readonly kind: 'reasoning';
51
+ } | {
52
+ readonly kind: 'parameter';
53
+ readonly parameters: readonly RejectedParameter[];
54
+ } | {
55
+ readonly kind: 'media';
56
+ readonly generic: boolean;
57
+ readonly messageIndex?: number;
58
+ readonly contentIndex?: number;
59
+ };
60
+ /** Most repair resends for one original request, across every send it makes. */
61
+ export declare const MAX_REPAIRS_PER_REQUEST = 5;
62
+ /**
63
+ * What kind of invalid request this is, from the provider's structured code
64
+ * where it sent one and from its wording only as a fallback.
65
+ */
66
+ export declare function classifyRequestRejection(error: unknown, params: ChatCompletionParams): Rejection | null;
67
+ interface Learned {
68
+ readonly latched: Map<string, Set<RejectedParameter>>;
69
+ readonly reasoningOff: Set<string>;
70
+ readonly rejectedMedia: Set<string>;
71
+ mediaLimit: number | undefined;
72
+ }
73
+ /** The budget and the unconfirmed guesses of one original request, shared by every send it makes. */
74
+ export interface RepairSession {
75
+ readonly spent: Set<string>;
76
+ readonly stripsByIndex: Map<number, number>;
77
+ pending: Learned;
78
+ repairs: number;
79
+ removal: MediaRemoval | undefined;
80
+ }
81
+ export declare class RequestRepair {
82
+ private readonly hooks;
83
+ private readonly learned;
84
+ constructor(hooks?: RequestRepairHooks);
85
+ /** A fresh budget for one original request. */
86
+ session(): RepairSession;
87
+ private served;
88
+ private routeKey;
89
+ /** Everything already confirmed, then the tool pairing the provider requires. */
90
+ private prepare;
91
+ private applyMediaMemory;
92
+ /** The shared tool-history repair, on the outgoing copy. Duplicate call ids fail closed there, so the request goes out as it is. */
93
+ private pair;
94
+ /** What a resend that was accepted has proved. */
95
+ private commit;
96
+ /** The request to send after `rejection`, or null when nothing more can be tried. */
97
+ private next;
98
+ private nextWithoutMedia;
99
+ /**
100
+ * Send `params`, repairing and resending a request the provider rejects as
101
+ * invalid until it is accepted or nothing more can be changed. The original
102
+ * rejection is thrown when nothing applies, and what the guesses taught is
103
+ * forgotten unless a resend was accepted.
104
+ */
105
+ stream(provider: LLMProvider, params: ChatCompletionParams, session?: RepairSession): AsyncIterable<StreamChunk>;
106
+ }
107
+ export {};
108
+ //# sourceMappingURL=request-repair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-repair.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/iteration/request-repair.ts"],"names":[],"mappings":"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"}