@ykurilov/agent-chat-core 0.69.0 → 0.70.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/index.js CHANGED
@@ -182,7 +182,7 @@ import {
182
182
  withoutFileParts,
183
183
  withoutGlueFragments,
184
184
  withoutResetSteps
185
- } from "./chunk-BJTHXNB6.js";
185
+ } from "./chunk-EW3572B5.js";
186
186
  import {
187
187
  APP_EVENT_DATA_MAX_BYTES,
188
188
  APP_EVENT_TYPE_MAX_LENGTH,
@@ -13,7 +13,7 @@ import {
13
13
  extendCatalog,
14
14
  newStoredMessage,
15
15
  standardCatalog
16
- } from "./chunk-BJTHXNB6.js";
16
+ } from "./chunk-EW3572B5.js";
17
17
  import "./chunk-CVRDB3NM.js";
18
18
 
19
19
  // src/storage/storage-contract.ts
@@ -95,6 +95,8 @@ export declare function buildModelRequest(input: {
95
95
  modelSilence?: ModelSilenceLimits;
96
96
  /** Повторять ли молчание до первого куска у того же провайдера (`TransientRetryContext.repeatSilence`). Нет — да. */
97
97
  repeatSilence?: () => boolean;
98
+ /** Паузы повторов до запасного; undefined у callback — обычные повторы без перехода. */
99
+ retryDelaysMs?: () => readonly number[] | undefined;
98
100
  /** Каждый запрос к модели (повторы — тоже), на который провайдер начал отвечать. Сам запрос не меняет. */
99
101
  requestWatch?: ModelRequestWatch;
100
102
  /**
@@ -8,6 +8,12 @@ import type { AttemptResult } from "./turn-attempt.js";
8
8
  */
9
9
  export type ProviderFallbackSetting = false | {
10
10
  byModel?: Record<string, string[] | false>;
11
+ /**
12
+ * Паузы (мс) тихих повторов временного сбоя до перехода к запасному: по умолчанию [250], [] — сразу к нему.
13
+ * Длина — число повторов. Только пока ответ не начался и есть доступный запасной; иначе прежние 1/3/6 с.
14
+ * Сроки молчания модели и onSilence задаются отдельно.
15
+ */
16
+ retryDelaysMs?: readonly number[];
11
17
  /**
12
18
  * Модель молчит дольше срока `modelSilenceTimeout` — до первого куска шага или между кусками.
13
19
  * `"restart-step-on-next"` — шаг обрывается, показанное в нём стирается, шаг начинается заново у следующего
@@ -38,6 +44,8 @@ export declare function nextSilenceProvider(input: {
38
44
  * запасного. Выключить для всех по умолчанию — заменить `{}` на `false`.
39
45
  */
40
46
  export declare const PROVIDER_FALLBACK_BY_DEFAULT: ProviderFallbackSetting;
47
+ /** Быстрый повтор, когда следующий провайдер действительно доступен. */
48
+ export declare const FALLBACK_RETRY_DELAYS_MS: readonly number[];
41
49
  /**
42
50
  * Что делать после попытки хода. `compact-and-continue` — ход упёрся в окно модели: сжать и продолжить тот же ответ;
43
51
  * `history` — история чата до вопроса, `answer-steps` — пересказ первых шагов текущего ответа. `auto-continue` — ответ
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Ошибка транспорта без HTTP-ответа. `fetch failed` хранит код в cause; несколько адресов — в AggregateError.errors.
3
+ * HTTP-ответ главнее вложенной причины; неизвестные ошибки приложения сетевыми не считаются. Циклы причин безопасны.
4
+ */
5
+ export declare function isNetworkFailure(error: unknown): boolean;
@@ -32,6 +32,8 @@ export interface TransientRetryContext {
32
32
  * каждом молчании: переходить ли есть куда, ход знает только в этот момент.
33
33
  */
34
34
  repeatSilence?: boolean | (() => boolean);
35
+ /** Паузы повторов, пока есть запасной; undefined — прежние 1/3/6 с. Молчание сохраняет свою политику. */
36
+ retryDelaysMs?: () => readonly number[] | undefined;
35
37
  }
36
38
  /**
37
39
  * Тихие повторы запроса к модели при временных ошибках — для потока только до первого куска ответа, для запроса без
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ykurilov/agent-chat-core",
3
- "version": "0.69.0",
3
+ "version": "0.70.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,