@ykurilov/agent-chat-core 0.79.0 → 0.80.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
@@ -186,7 +186,7 @@ import {
186
186
  withoutFileParts,
187
187
  withoutGlueFragments,
188
188
  withoutResetSteps
189
- } from "./chunk-AJSRGBVM.js";
189
+ } from "./chunk-Z44ZAFZC.js";
190
190
  import {
191
191
  APP_EVENT_DATA_MAX_BYTES,
192
192
  APP_EVENT_TYPE_MAX_LENGTH,
@@ -13,7 +13,7 @@ import {
13
13
  extendCatalog,
14
14
  newStoredMessage,
15
15
  standardCatalog
16
- } from "./chunk-AJSRGBVM.js";
16
+ } from "./chunk-Z44ZAFZC.js";
17
17
  import "./chunk-CVRDB3NM.js";
18
18
 
19
19
  // src/storage/storage-contract.ts
@@ -27,7 +27,7 @@ import type { AppEvent, StaffActor } from "../turn-hooks/turn-hooks.js";
27
27
  import type { PreparedTurn } from "../turn-hooks/turn-preparation.js";
28
28
  import type { ChatClosure } from "../access/chat-closure.js";
29
29
  import type { HiddenStateKey } from "../app-state/state-messages.js";
30
- import type { ContextBlocksSource } from "../frozen-context/context-blocks.js";
30
+ import type { ContextBlocksRefresh, ContextBlocksSource } from "../frozen-context/context-blocks.js";
31
31
  import type { AgentViewer, AgentViewerSource } from "./agent-viewer.js";
32
32
  import type { AppStateAccess, AppStateValues } from "../app-state/app-state.js";
33
33
  /** Выбранная модель: по ней приложение решает, какие инструменты ей дать. */
@@ -198,6 +198,7 @@ export interface AgentTurnInput {
198
198
  viewer?: AgentViewerSource;
199
199
  /** Блоки приложения для вопроса хода: один опрос в начале хода, дальше застывают в ответе (`agent.contextBlocks`). */
200
200
  contextBlocks?: ContextBlocksSource;
201
+ contextBlocksRefresh?: ContextBlocksRefresh;
201
202
  /** Срок ответа `contextBlocks`, мс, уже проверенный; `Infinity` — без срока. Нет — 5 с. */
202
203
  contextBlocksTimeoutMs?: number;
203
204
  /**
@@ -8,7 +8,7 @@ import type { TurnRequestContext } from "./page-context/page-context.js";
8
8
  import type { BrowserCallAnswer } from "./agent-run/browser-tools.js";
9
9
  import type { AgentToolsSource } from "./agent-run/run-agent-turn.js";
10
10
  import type { StepContext } from "./agent-run/step-context.js";
11
- import type { ContextBlocksSource } from "./frozen-context/context-blocks.js";
11
+ import type { ContextBlocksRefresh, ContextBlocksSource } from "./frozen-context/context-blocks.js";
12
12
  import type { ChatEvent, ChatEvents } from "./chat-events/chat-events.js";
13
13
  import type { BackgroundTasks } from "./background/background-tasks.js";
14
14
  import type { ThoughtTitlesSetting } from "./thought-titles/thought-titles-setting.js";
@@ -222,6 +222,8 @@ export interface AgentSettings {
222
222
  * `private: true` — блок не показывается в групповом ходе. Не задано — запрос побайтно прежний.
223
223
  */
224
224
  contextBlocks?: ContextBlocksSource;
225
+ /** Снимок до смены начала истории, как у памяти; по умолчанию `turn` — прежнее чтение каждого хода. */
226
+ contextBlocksRefresh?: ContextBlocksRefresh;
225
227
  /**
226
228
  * Права человека из базы приложения (админ ли, тариф): зовётся один раз в начале хода, до `contextBlocks` и сборки
227
229
  * инструментов; повторная попытка и запасной провайдер не зовут снова. Итог — полем `viewer` в `contextBlocks` и в
@@ -21,6 +21,8 @@ export interface HiddenContextBlock {
21
21
  }
22
22
  /** Что отдаёт источник блоков: показанные блоки и скрытые ради места. */
23
23
  export type ContextBlockEntry = ContextBlock | HiddenContextBlock;
24
+ /** Когда перечитывать блоки приложения; по умолчанию — каждый новый ход. */
25
+ export type ContextBlocksRefresh = "turn" | "history-start";
24
26
  export declare function isHiddenBlock(entry: ContextBlockEntry): entry is HiddenContextBlock;
25
27
  /** Что видит `agent.contextBlocks` в начале хода. Всё — копии: правка функции не доходит до хода. */
26
28
  export interface ContextBlocksInput {
@@ -62,7 +64,8 @@ export interface ContextBlocksInput {
62
64
  abortSignal: AbortSignal;
63
65
  }
64
66
  /**
65
- * Блоки приложения для вопроса хода: зовётся один раз в начале хода. Пустой список, `null` и `undefined` — блоков нет.
67
+ * Блоки приложения для вопроса хода: по умолчанию один вызов в начале нового хода; `history-start` повторяет
68
+ * чтение только при отсутствии снимка или смене начала истории. Пустой список, `null` и `undefined` — блоков нет.
66
69
  * Бросила, вернула не список или не ответила в срок — блоки приложения берутся из прошлого ответа.
67
70
  */
68
71
  export type ContextBlocksSource = (input: ContextBlocksInput) => ContextBlockEntry[] | null | undefined | Promise<ContextBlockEntry[] | null | undefined>;
@@ -86,6 +89,8 @@ export interface FrozenContextData {
86
89
  * Нет поля — память не читалась (групповой ход, сбой, ответ старой версии).
87
90
  */
88
91
  memoryFrom?: string;
92
+ /** Успешный снимок приложения при этом начале истории; только режим `history-start`. */
93
+ appContextFrom?: string;
89
94
  /** Служебные сообщения хода от `prepareTurn`: модель видит их текстом после блоков. В разницу блоков не входят. */
90
95
  notices?: AgentNotice[];
91
96
  }
@@ -22,6 +22,8 @@ export declare function freezeContext(input: {
22
22
  * чате память не перечитывается и не досылается. Нет — память читается каждый ход.
23
23
  */
24
24
  memoryFrom?: string;
25
+ /** Тот же триггер для приложения в opt-in режиме; нет — прежнее чтение каждого хода. */
26
+ appContextFrom?: string;
25
27
  base: {
26
28
  id: string;
27
29
  data: FrozenContextData;
@@ -95,7 +95,7 @@ export type { AgentToolsModel, AgentToolsSource } from "./agent-run/run-agent-tu
95
95
  export { AgentViewerError } from "./agent-run/agent-viewer.js";
96
96
  export type { AgentViewer, AgentViewerInput, AgentViewerSource } from "./agent-run/agent-viewer.js";
97
97
  export type { StepContext, StepContextInput } from "./agent-run/step-context.js";
98
- export type { ContextBlock, ContextBlockEntry, ContextBlocksInput, ContextBlocksSource, HiddenContextBlock } from "./frozen-context/context-blocks.js";
98
+ export type { ContextBlock, ContextBlockEntry, ContextBlocksInput, ContextBlocksRefresh, ContextBlocksSource, HiddenContextBlock } from "./frozen-context/context-blocks.js";
99
99
  export { FROZEN_CONTEXT_PART_TYPE } from "./frozen-context/context-blocks.js";
100
100
  export { END_TURN_PART_TYPE } from "./agent-run/end-turn.js";
101
101
  export type { ProviderFallbackSetting } from "./agent-run/next-attempt.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ykurilov/agent-chat-core",
3
- "version": "0.79.0",
3
+ "version": "0.80.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,