@eddyskywalker/dsh-chatgpt-subscription 0.48.4 → 0.50.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 (50) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +2 -1
  3. package/lib/client.js +2383 -179
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +2246 -233
  6. package/lib/types/client/index.d.ts +2 -0
  7. package/lib/types/client/index.d.ts.map +1 -1
  8. package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -1
  9. package/lib/types/client/kimi-code/locales.d.ts +14 -2
  10. package/lib/types/client/kimi-code/locales.d.ts.map +1 -1
  11. package/lib/types/client/locales-ru/kimi-code.d.ts.map +1 -1
  12. package/lib/types/client/subagent/SubagentCard.d.ts +35 -0
  13. package/lib/types/client/subagent/SubagentCard.d.ts.map +1 -0
  14. package/lib/types/client/subagent/index.d.ts +28 -0
  15. package/lib/types/client/subagent/index.d.ts.map +1 -0
  16. package/lib/types/client/subagent/locales.d.ts +172 -0
  17. package/lib/types/client/subagent/locales.d.ts.map +1 -0
  18. package/lib/types/client/subagent/styles.d.ts +20 -0
  19. package/lib/types/client/subagent/styles.d.ts.map +1 -0
  20. package/lib/types/client/subagent/subagent-card-controller.d.ts +329 -0
  21. package/lib/types/client/subagent/subagent-card-controller.d.ts.map +1 -0
  22. package/lib/types/compat.d.ts +1 -1
  23. package/lib/types/host/cache-warmup/install.d.ts.map +1 -1
  24. package/lib/types/host/cache-warmup/projection.d.ts.map +1 -1
  25. package/lib/types/host/common/request-images.d.ts +66 -0
  26. package/lib/types/host/common/request-images.d.ts.map +1 -1
  27. package/lib/types/host/kimi-code/adapter.d.ts +15 -0
  28. package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
  29. package/lib/types/host/kimi-code/cache-wait.d.ts +125 -0
  30. package/lib/types/host/kimi-code/cache-wait.d.ts.map +1 -0
  31. package/lib/types/host/kimi-code/mapper.d.ts +123 -6
  32. package/lib/types/host/kimi-code/mapper.d.ts.map +1 -1
  33. package/lib/types/host/kimi-code/routes.d.ts.map +1 -1
  34. package/lib/types/host/kimi-code/session-cache-state.d.ts +14 -0
  35. package/lib/types/host/kimi-code/session-cache-state.d.ts.map +1 -1
  36. package/lib/types/host/kimi-code/types.d.ts +29 -4
  37. package/lib/types/host/kimi-code/types.d.ts.map +1 -1
  38. package/lib/types/host/preferences.d.ts.map +1 -1
  39. package/lib/types/host/routes.d.ts.map +1 -1
  40. package/lib/types/host/subagent-model-authorization.d.ts +130 -2
  41. package/lib/types/host/subagent-model-authorization.d.ts.map +1 -1
  42. package/lib/types/index.d.ts.map +1 -1
  43. package/lib/types/shared/contracts.d.ts +28 -0
  44. package/lib/types/shared/contracts.d.ts.map +1 -1
  45. package/lib/types/shared/kimi-code-contracts.d.ts +10 -1
  46. package/lib/types/shared/kimi-code-contracts.d.ts.map +1 -1
  47. package/lib/types/shared/preferences.d.ts +52 -1
  48. package/lib/types/shared/preferences.d.ts.map +1 -1
  49. package/package.json +1 -1
  50. package/presets/dispatch/agent.cordis.yml +2 -2
@@ -0,0 +1,329 @@
1
+ /**
2
+ * 「子智能体」设置卡片的**状态与动作**。
3
+ *
4
+ * ## 这张卡替换了宿主的同名卡
5
+ *
6
+ * 宿主自带 `@deepseek-ai/dsh-client-ui-settings-subagent` 在 `plugins.item` 上以
7
+ * `id: 'subagent'`、默认 priority 注册。本插件以同一个 id、`priority: -10` 再注册
8
+ * 一次——槽位的遮蔽规则是「同一个 cell 上 priority 最低的那一条渲染」,于是打开
9
+ * 「插件 → 子智能体」看到的是这张卡,而不是两张并排。
10
+ *
11
+ * ## 三份存储,一次保存
12
+ *
13
+ * | 来源 | 内容 | 通道 |
14
+ * | --- | --- | --- |
15
+ * | `subagent` 命名空间 | `maxDepth` / `maxActiveSubagents` | `ctx.configForms` |
16
+ * | `subagent-model-selection-settings` 命名空间 | `enabled` / `allowedModels` | `ctx.configForms` |
17
+ * | 本插件偏好文档 | 全局默认列表 + 每个主代理模型的专属列表 | `POST /preferences/update` |
18
+ *
19
+ * @module @eddyskywalker/dsh-chatgpt-subscription/client/subagent/subagent-card-controller
20
+ */
21
+ import type { SnapshotStore } from '../store.ts';
22
+ /** 宿主侧「运行限制」的命名空间。 */
23
+ export declare const SUBAGENT_LIMITS_NS = "subagent";
24
+ /** 宿主侧「模型选择」的命名空间。 */
25
+ export declare const SUBAGENT_MODEL_SELECTION_NS = "subagent-model-selection-settings";
26
+ /** 主代理模型下拉里代表「全局默认」的取值。 */
27
+ export declare const GLOBAL_TARGET = "default";
28
+ /** 一条精确的 provider/model 路由。 */
29
+ export interface SubagentModelRoute {
30
+ provider: string;
31
+ model: string;
32
+ }
33
+ /** 一条路由 + 目录里的显示名 + 当前勾选态。 */
34
+ export interface SubagentModelCandidate extends SubagentModelRoute {
35
+ /** 不透明标识,调用方只用于查找,绝不解析。 */
36
+ key: string;
37
+ /** 适配器给出的提供方显示名。 */
38
+ providerName: string;
39
+ /** 适配器给出的模型显示名。 */
40
+ modelName: string;
41
+ /** 当前目录是否还在公布这条路由。 */
42
+ available: boolean;
43
+ /** 当前草稿是否勾选这条路由。 */
44
+ selected: boolean;
45
+ }
46
+ /** 主代理模型下拉里的一个提供方分组。 */
47
+ export interface SubagentMainModelGroup {
48
+ provider: string;
49
+ providerName: string;
50
+ models: Array<{
51
+ key: string;
52
+ model: string;
53
+ modelName: string;
54
+ overridden: boolean;
55
+ }>;
56
+ }
57
+ /** 一个数字限制字段的展示态。 */
58
+ export interface SubagentLimitField {
59
+ /** 输入框里应当显示的文本(草稿优先)。 */
60
+ value: string;
61
+ /** 宿主基础层(未覆盖时回落到这里)。 */
62
+ base: string;
63
+ /** 用户层是否已经覆盖了这一项。 */
64
+ overridden: boolean;
65
+ /** 当前文本是否是合法取值。 */
66
+ invalid: boolean;
67
+ }
68
+ /** 卡片渲染所需的全部状态。 */
69
+ export interface SubagentSettingsState {
70
+ /** 宿主是否服务这两个命名空间(至少一个)。 */
71
+ available: boolean;
72
+ /** 宿主文档是否接受写入。 */
73
+ writable: boolean;
74
+ /** 是否有未保存的改动。 */
75
+ dirty: boolean;
76
+ /** 当前草稿是否不合法(保存按钮据此禁用)。 */
77
+ invalid: boolean;
78
+ /** 是否正在保存。 */
79
+ saving: boolean;
80
+ /** 上一次保存是否失败。 */
81
+ failed: boolean;
82
+ /** 最大递归深度。 */
83
+ maxDepth: SubagentLimitField;
84
+ /** 并行数量上限。 */
85
+ maxActiveSubagents: SubagentLimitField;
86
+ /** 模型选择总开关。 */
87
+ enabled: boolean;
88
+ /** 当前正在编辑的目标:`default` 或 `<provider>/<model>`。 */
89
+ activeTarget: string;
90
+ /** 全局默认列表的条数。 */
91
+ defaultCount: number;
92
+ /** 每个主代理模型的专属列表(只含非空项)。 */
93
+ overridesByMainModel: Readonly<Record<string, readonly SubagentModelRoute[]>>;
94
+ /** 目录里公布的主代理模型分组。 */
95
+ mainModelGroups: readonly SubagentMainModelGroup[];
96
+ /** 已保存但目录当前不公布的主代理模型键。 */
97
+ orphanMainModels: readonly string[];
98
+ /** 模型目录请求状态。 */
99
+ catalogStatus: 'idle' | 'loading' | 'ready' | 'error';
100
+ /** 是否有部分提供方加载失败。 */
101
+ catalogPartial: boolean;
102
+ /** 当前目标的候选行(勾选态已按目标解析)。 */
103
+ candidates: readonly SubagentModelCandidate[];
104
+ /** 当前目标是否已有专属列表。 */
105
+ activeTargetOverridden: boolean;
106
+ /** 当前目标生效的条数。 */
107
+ activeTargetCount: number;
108
+ /** 偏好文档读取状态。 */
109
+ preferencesStatus: 'idle' | 'loading' | 'ready' | 'error';
110
+ }
111
+ /** 注入给卡片的动作面。 */
112
+ export interface SubagentSettingsActions {
113
+ editLimit: (field: 'maxDepth' | 'maxActiveSubagents', text: string) => void;
114
+ resetLimit: (field: 'maxDepth' | 'maxActiveSubagents') => void;
115
+ toggleEnabled: () => void;
116
+ toggleModel: (key: string) => void;
117
+ setActiveTarget: (target: string) => void;
118
+ resetActiveTarget: () => void;
119
+ retryCatalog: () => void;
120
+ save: () => void;
121
+ discard: () => void;
122
+ }
123
+ /** 注入给卡片的座位:快照 + 动作。 */
124
+ export interface SubagentSettingsInjected extends SubagentSettingsActions {
125
+ store: SnapshotStore<SubagentSettingsState>;
126
+ }
127
+ /** 目录里的一个提供方分组(归一化后统一带 provider + providerName,也兼容 id + name)。 */
128
+ export interface SubagentCatalogGroup {
129
+ provider: string;
130
+ providerName: string;
131
+ models: Array<{
132
+ id: string;
133
+ name: string;
134
+ }>;
135
+ }
136
+ /** 偏好文档里与子代理模型有关的两项。 */
137
+ export interface SubagentModelPreferences {
138
+ subagentDefaultModels?: SubagentModelRoute[];
139
+ subagentModelsByMainModel?: Record<string, SubagentModelRoute[] | null>;
140
+ }
141
+ /** 一条 configForm 变更指令。 */
142
+ export type SubagentFormOp = {
143
+ op: 'set';
144
+ path: readonly string[];
145
+ value: unknown;
146
+ } | {
147
+ op: 'unset';
148
+ path: readonly string[];
149
+ };
150
+ /**
151
+ * 鸭子类型的设置表单面。
152
+ */
153
+ export interface SubagentFormScope<T> {
154
+ getSnapshot(): {
155
+ status: 'loading' | 'ready' | 'unavailable';
156
+ value: T | undefined;
157
+ base: unknown;
158
+ user: unknown;
159
+ revision: number | undefined;
160
+ writable: boolean;
161
+ };
162
+ subscribe(listener: () => void): () => void;
163
+ mutate?(ops: ReadonlyArray<SubagentFormOp>, expectedRevision?: number): Promise<boolean>;
164
+ set?(field: string, value: unknown): Promise<boolean>;
165
+ }
166
+ /** 表单服务面(`ctx.configForms`)。 */
167
+ export interface SubagentConfigForms {
168
+ get<T>(entryId: string): SubagentFormScope<T>;
169
+ whileServed?(namespaces: readonly string[], register: (served: ReadonlySet<string>) => () => void): () => void;
170
+ }
171
+ /** 宿主 `subagent` 命名空间的取值。 */
172
+ export interface SubagentLimitsSettings {
173
+ maxDepth?: number;
174
+ maxActiveSubagents?: number;
175
+ }
176
+ /** 宿主 `subagent-model-selection-settings` 命名空间的取值。 */
177
+ export interface SubagentModelSelectionSettings {
178
+ enabled?: boolean;
179
+ allowedModels?: SubagentModelRoute[];
180
+ }
181
+ /** 控制器的外部依赖:全部可注入,因此测试不需要真宿主。 */
182
+ export interface SubagentSettingsControllerOptions {
183
+ /** 运行限制表单。 */
184
+ limits?: SubagentFormScope<SubagentLimitsSettings>;
185
+ /** 模型选择表单。 */
186
+ modelSelection?: SubagentFormScope<SubagentModelSelectionSettings>;
187
+ /** 读取模型目录。 */
188
+ loadCatalog?: () => Promise<{
189
+ ok: boolean;
190
+ groups: readonly SubagentCatalogGroup[];
191
+ partial?: boolean;
192
+ }>;
193
+ /** 读取本插件的偏好。 */
194
+ loadPreferences?: () => Promise<SubagentModelPreferences | undefined>;
195
+ /** 写入本插件的偏好。 */
196
+ savePreferences?: (patch: SubagentModelPreferences) => Promise<void>;
197
+ }
198
+ /** 一条路由的不透明键。 */
199
+ export declare function routeKey(route: SubagentModelRoute): string;
200
+ /**
201
+ * 把 `<provider>/<model>` 拆回一条路由。
202
+ *
203
+ * provider id 与 model id 都可能含 `/`(例如 `openrouter/anthropic/claude`),
204
+ * 所以只按**第一个**斜杠拆;这与 `list_subagent_models` 的输出约定一致。
205
+ * @param key - 目标键。
206
+ * @returns 路由,或 undefined(不是路由形态)。
207
+ */
208
+ export declare function parseRouteKey(key: string): SubagentModelRoute | undefined;
209
+ /**
210
+ * 归一化模型目录分组:兼容宿主的 `{ id, name, models }` 与测试替身的 `{ provider, providerName, models }`。
211
+ */
212
+ export declare function normalizeCatalogGroups(rawGroups: readonly unknown[]): SubagentCatalogGroup[];
213
+ /**
214
+ * 读本插件偏好里的子代理模型两项。
215
+ * @returns 偏好切片;读取失败时 undefined(卡片照常可用,只是从空列表起步)。
216
+ */
217
+ export declare function readSubagentPreferences(): Promise<SubagentModelPreferences | undefined>;
218
+ /**
219
+ * 写本插件偏好里的子代理模型两项。
220
+ * @param patch - 要写入的两项。
221
+ */
222
+ export declare function writeSubagentPreferences(patch: SubagentModelPreferences): Promise<void>;
223
+ /**
224
+ * 读宿主模型目录。
225
+ *
226
+ * `remote.session.modelCatalog()` 返回 `{ ok: true, value: { groups: ModelProviderGroup[], failures } }`,
227
+ * 其中每个 `group` 是 `{ id: string, name: string, models: Array<{ id: string, name: string }> }`。
228
+ * @param ctx - 浏览器根上下文(只用 `get`)。
229
+ * @returns 分组,或失败。
230
+ */
231
+ export declare function readSubagentCatalog(ctx?: {
232
+ get?(name: string): unknown;
233
+ }): Promise<{
234
+ ok: boolean;
235
+ groups: SubagentCatalogGroup[];
236
+ partial?: boolean;
237
+ }>;
238
+ /**
239
+ * 子智能体设置卡片的状态机。
240
+ */
241
+ export declare class SubagentSettingsController {
242
+ private readonly limits;
243
+ private readonly modelSelection;
244
+ private readonly loadCatalog;
245
+ private readonly loadPreferences;
246
+ private readonly savePreferences;
247
+ private readonly store;
248
+ private readonly unsubscribes;
249
+ private preferences;
250
+ private preferencesStatus;
251
+ private catalogGroups;
252
+ private catalogPartial;
253
+ private catalogStatus;
254
+ private draftDepth;
255
+ private draftDepthCleared;
256
+ private draftActive;
257
+ private draftActiveCleared;
258
+ private draftEnabled;
259
+ private draftDefault;
260
+ private draftOverrides;
261
+ private draftRevision;
262
+ private activeTarget;
263
+ private saving;
264
+ private failed;
265
+ private disposed;
266
+ private catalogGeneration;
267
+ private saveGeneration;
268
+ /**
269
+ * @param options - 表单通道与三条外部依赖;全部可省,省略时卡片是只读的。
270
+ */
271
+ constructor(options?: SubagentSettingsControllerOptions);
272
+ /** 停掉订阅与迟到的保存/目录答复。 */
273
+ dispose(): void;
274
+ /** 刷新模型目录(当适配器或设置文档在其他位置变更时调用)。 */
275
+ refreshCatalog(): void;
276
+ /** 重连后重置连接态与目录。 */
277
+ resetConnection(): void;
278
+ /**
279
+ * 组装注入给渲染器的座位。
280
+ * @returns 快照与全部动作。
281
+ */
282
+ inject(): SubagentSettingsInjected;
283
+ /** 首屏:并行读偏好与目录。 */
284
+ private hydrate;
285
+ /** 拉一次目录(`refreshCatalog` 与「重试」共用)。 */
286
+ private loadCatalogOnce;
287
+ private currentEnabled;
288
+ /**
289
+ * 全局默认列表。
290
+ *
291
+ * 向后兼容种子:偏好文档里还没有这份列表(老版本、或从未保存过)时,把宿主
292
+ * `allowedModels` 当作初始默认。
293
+ */
294
+ private currentDefault;
295
+ /** 每个主代理模型的专属列表(丢弃空数组与非法项)。 */
296
+ private currentOverrides;
297
+ private enabled;
298
+ private defaultRoutes;
299
+ private overrides;
300
+ /** 当前目标生效的列表(专属列表优先,否则回落到全局默认)。 */
301
+ private activeRoutes;
302
+ private ensureDraft;
303
+ private clearDraft;
304
+ private editLimit;
305
+ private resetLimit;
306
+ private toggleEnabled;
307
+ /**
308
+ * 切换一条路由在当前目标下的勾选态。
309
+ */
310
+ private toggleModel;
311
+ private setActiveTarget;
312
+ /** 让当前目标恢复「跟随全局默认」:删掉它的专属列表。 */
313
+ private resetActiveTarget;
314
+ private discard;
315
+ /** 当前目标的候选行:目录 ∪ 已保存 ∪ 草稿里出现的每一条。 */
316
+ private candidates;
317
+ /** 主代理模型下拉的分组(目录分组 + 已保存但不可用的孤儿)。 */
318
+ private mainModelGroups;
319
+ /** 已保存但目录不公布的主代理模型键(下拉里单列一组)。 */
320
+ private orphanMainModels;
321
+ /**
322
+ * 一次保存三份存储。
323
+ */
324
+ private save;
325
+ private limitField;
326
+ private projection;
327
+ private publish;
328
+ }
329
+ //# sourceMappingURL=subagent-card-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-card-controller.d.ts","sourceRoot":"","sources":["../../../../src/client/subagent/subagent-card-controller.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ export declare const ROUTE_PREFIX: "/api/dsh-chatgpt-subscription";
71
71
  * `test/responses-client.test.ts` asserts the two agree, so a release that
72
72
  * forgets this constant fails the suite instead of shipping quietly.
73
73
  */
74
- export declare const PLUGIN_VERSION: "0.48.4";
74
+ export declare const PLUGIN_VERSION: "0.50.0";
75
75
  export declare const CODEX_CHATGPT_PROVIDER_ID: "codex-chatgpt";
76
76
  export { MINIMAX_CODE_PROVIDER_ID, MINIMAX_CODE_ROUTE_PREFIX } from './shared/minimax-code-contracts.ts';
77
77
  export declare const CODEX_API_BASE: "https://chatgpt.com/backend-api/codex";
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../../src/host/cache-warmup/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,EAML,KAAK,sBAAsB,EAG3B,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAA;AACnB,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAA;AAGrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAA;AAEhD;;GAEG;AACH,eAAO,MAAM,wBAAwB,aAAa,CAAA;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAMxD,CAAA;AAEF,4BAA4B;AAC5B,eAAO,MAAM,yBAAyB,wBAAwB,CAAA;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAStB,CAAA;AAEZ;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,MAAM,CAErD;AAED,mBAAmB;AACnB,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAaD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAiBnE;AAED,YAAY;AACZ,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,mBAAmB,CAAA;IACnC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,oBAAoB,GAAG,SAAS,CAAA;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,sBAAsB,GAAG,SAAS,CAAA;CACxE;AAED,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACrD,oBAAoB;IACpB,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GAAG,MAAM,IAAI,CAAA;IACvE,uCAAuC;IACvC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B,qBAAqB;IACrB,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AA+GD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAiPnG;AAiBD;;;;;;;GAOG"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../../src/host/cache-warmup/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,EAML,KAAK,sBAAsB,EAG3B,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAA;AACnB,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAA;AAGrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAA;AAEhD;;GAEG;AACH,eAAO,MAAM,wBAAwB,aAAa,CAAA;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAMxD,CAAA;AAEF,4BAA4B;AAC5B,eAAO,MAAM,yBAAyB,wBAAwB,CAAA;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAStB,CAAA;AAEZ;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,MAAM,CAErD;AAED,mBAAmB;AACnB,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAaD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAiBnE;AAED,YAAY;AACZ,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,mBAAmB,CAAA;IACnC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,oBAAoB,GAAG,SAAS,CAAA;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,sBAAsB,GAAG,SAAS,CAAA;CACxE;AAED,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACrD,oBAAoB;IACpB,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GAAG,MAAM,IAAI,CAAA;IACvE,uCAAuC;IACvC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B,qBAAqB;IACrB,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AA+GD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAgPnG;AAiBD;;;;;;;GAOG"}
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/host/cache-warmup/projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,sBAAsB,EAG5B,MAAM,gBAAgB,CAAA;AAm2BvB;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgFhG;AAED,iCAAiC;AACjC,wBAAgB,oBAAoB,IAAI,aAAa,CAEpD"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/host/cache-warmup/projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,sBAAsB,EAG5B,MAAM,gBAAgB,CAAA;AAspDvB;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuFhG;AAED,iCAAiC;AACjC,wBAAgB,oBAAoB,IAAI,aAAa,CAEpD"}
@@ -128,6 +128,72 @@ export declare function requestImageTargetOrOriginal(ref: ImageAttachmentRef): {
128
128
  * Durable history is untouched; only the request about to be sent changes.
129
129
  */
130
130
  export declare function offloadOldestRequestImages(options: GenerateOptions, maxBytes?: number, images?: ResolvedRequestImages): GenerateOptions;
131
+ /**
132
+ * A stable identity for one image occurrence.
133
+ *
134
+ * Two occurrences of the SAME picture have to share one identity, and that
135
+ * identity has to survive the turn: a durable attachment keeps its id, and an
136
+ * inline payload keeps its bytes, so hashing the payload names the same
137
+ * picture the same way on every later request.
138
+ *
139
+ * `undefined` for a block that carries no sendable payload: an image that
140
+ * resolved to `unavailable` is serialized as a short text placeholder, so it
141
+ * is not an image on the wire and has nothing to remember.
142
+ */
143
+ export declare function requestImageKey(block: Record<string, unknown>, images?: ResolvedRequestImages): string | undefined;
144
+ /**
145
+ * The identities of the images one request still carries, each once.
146
+ *
147
+ * The caller compares two of these to learn what a later build gave back: the
148
+ * difference names the images a body-fit pass dropped after the budget pass
149
+ * had already run.
150
+ */
151
+ export declare function collectRemainingImageKeys(options: GenerateOptions, images?: ResolvedRequestImages): string[];
152
+ /**
153
+ * What one sticky image-budget pass did.
154
+ *
155
+ * The identities travel out because they are the whole point: a picture the
156
+ * budget gave back has to stay gone for the rest of the session, and only the
157
+ * caller can remember that across requests.
158
+ */
159
+ export interface StickyImageOffloadResult {
160
+ /** The request to send, with every dropped image replaced. */
161
+ readonly options: GenerateOptions;
162
+ /** Base64 image bytes the request still carries. */
163
+ readonly remainingBytes: number;
164
+ /** How many image occurrences were replaced in this request. */
165
+ readonly droppedCount: number;
166
+ /** Identities this pass dropped, which were not dropped before. */
167
+ readonly newlyDroppedKeys: string[];
168
+ /** Every identity dropped so far, this pass included. */
169
+ readonly allDroppedKeys: Set<string>;
170
+ }
171
+ /**
172
+ * Offload images against a budget that RECOVERS instead of a budget that resets.
173
+ *
174
+ * WHY THE TWO WATERMARKS. A single ceiling makes the retained prefix depend
175
+ * on the request: two conversations carrying the same images drop a different
176
+ * number of them as one more image arrives, so the prefix the service cached
177
+ * is rewritten on the next turn and the cache is cold again. Native `kimi-cli`
178
+ * therefore keeps a HIGH mark (20 MiB) and a LOW mark (10 MiB): the request
179
+ * is allowed to grow to the high mark, and once it passes it, the oldest
180
+ * images are given back until the request is back under the LOW mark. The gap
181
+ * between the two is the slack that keeps the number of retained images — and
182
+ * therefore the cached prefix — stable across turns.
183
+ *
184
+ * WHY THE DROPS ARE STICKY. The images a request gives back are replaced for
185
+ * the REST of the session: `priorDroppedKeys` carries the identities a
186
+ * previous turn already dropped, and they are replaced again here. A picture
187
+ * that was omitted stays omitted, so the request the service caches stops
188
+ * changing once the session has settled under its low mark.
189
+ *
190
+ * @param options - the request to budget.
191
+ * @param maxBytes - high-water mark; images are untouched below it.
192
+ * @param lowBytes - low-water mark; the trimming stops once the request is back under it.
193
+ * @param images - the resolution the request will be sent with.
194
+ * @param priorDroppedKeys - identities dropped by earlier turns.
195
+ */
196
+ export declare function offloadRequestImagesWithStickyBudget(options: GenerateOptions, maxBytes?: number, lowBytes?: number, images?: ResolvedRequestImages, priorDroppedKeys?: ReadonlySet<string>): StickyImageOffloadResult;
131
197
  /**
132
198
  * Whether a request still carries at least one image the mapper can send.
133
199
  *
@@ -1 +1 @@
1
- {"version":3,"file":"request-images.d.ts","sourceRoot":"","sources":["../../../../src/host/common/request-images.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAuBtF;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,kBAAkB,CAAC,CAAA;AAE3F,sFAAsF;AACtF,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAA;AAEpC,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAE7E,eAAO,MAAM,kBAAkB,EAAE,qBAAiC,CAAA;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,UAAY,CAAA;AAEhD,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,UAAY,CAAA;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,QAAmB,CAAA;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,QAAmB,CAAA;AAMvD,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,aAAkE,CAAA;AAQ1G,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAGlF;AAyFD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,MAAM,EAAE,CAIV;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWzF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,qBAAqB,GAC7B,eAAe,CAiCjB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAe1C;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,kBAAkB,EACvB,IAAI,GAAE,MAA+B,GACpC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAQpF;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAEzH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,EACxB,QAAQ,GAAE,MAAgC,EAC1C,MAAM,CAAC,EAAE,qBAAqB,GAC7B,eAAe,CAKjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAEzG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,qBAAqB,GAAG,SAAS,EAC9C,MAAM,CAAC,EAAE,WAAW,EACpB,IAAI,GAAE,MAA+B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAkChC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAI3E;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,GAAG,WAAW,GAAG,SAAS,CAuBzH"}
1
+ {"version":3,"file":"request-images.d.ts","sourceRoot":"","sources":["../../../../src/host/common/request-images.ts"],"names":[],"mappings":"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"}
@@ -284,6 +284,21 @@ export declare const KIMI_CODE_REQUEST_IMAGE_MAX_EDGE = 2000;
284
284
  * @returns the tool-update mode, or undefined when this route must resend everything.
285
285
  */
286
286
  export declare function toolUpdateMode(modelId: string, catalog: readonly KimiCodeCatalogModel[]): 'in-history' | undefined;
287
+ /**
288
+ * How long a cold-start follower waits for the leader warming the same prefix.
289
+ *
290
+ * The leader only has to reach the response headers: past that the service is
291
+ * already processing the prefix, and a follower that waited out the whole
292
+ * budget would have lost more than the shared warm-up was worth.
293
+ */
294
+ export declare const COLD_START_WARMUP_WAIT_MS = 2500;
295
+ /**
296
+ * Forget every remembered prefix and release every waiting follower.
297
+ *
298
+ * Test seam only: these maps are process-wide, and a test that asserts on the
299
+ * cold-start gate must start from a clean slate.
300
+ */
301
+ export declare function resetColdStartSingleflightForTests(): void;
287
302
  export declare class KimiCodeAdapter extends LlmAdapter {
288
303
  private readonly store;
289
304
  private readonly modelSettings;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EAEV,iBAAiB,EAGjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAGL,WAAW,EAWX,mBAAmB,EACpB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EAEtB,KAAK,oBAAoB,EAEzB,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAUnB,MAAM,aAAa,CAAA;AACpB,OAAO,EAmBL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAK3B,MAAM,aAAa,CAAA;AAEpB,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAUL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AAIrC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AA8DvE,OAAO,EAA4B,KAAK,eAAe,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAOrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGvD,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAEvF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,6BAA6B,EAAE;IAC1C,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;CAM7E,CAAA;AAID,yFAAyF;AACzF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,iBAAiB,GAAG,SAAS,CAK/B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACxC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;;OAWG;IACH,gBAAgB,EAAE,OAAO,CAAA;IACzB;;;;;;;;;;;;;;OAcG;IACH,aAAa,EAAE,OAAO,CAAA;CACvB;AAoFD,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsBxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;AAkBD,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,oEAAoE;AACpE,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;IAChC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B;AAcD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,IAAI,EAAE,YAAY,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,MAAM,EAAE,qBAAqB,CAAA;CAC9B,GAAG,qBAAqB,EAAE,CAiB1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,yBAAyB,GAAG,GAAG,CAAC,MAAM,CAAC,CAqBpF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,GAAG;IAC/E,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACrC,CAQA;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,yBAAyB,CAyJ/F;AAWD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAczF;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IACnD;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,sBAAsB,CAAA;CACpC;AA6BD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gCAAgC,OAAO,CAAA;AAEpD;;;;;;;;;;GAUG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,oBAAoB,EAAE,GACvC,YAAY,GAAG,SAAS,CAM1B;AA4DD,qBAAa,eAAgB,SAAQ,UAAU;IAW3C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAb1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;gBAGrC,KAAK,sBAA4B,EACjC,aAAa,yBAA+B,EAC5C,WAAW,CAAC,EAAE,uBAAuB,YAAA,EACrC,OAAO,GAAE,sBAA2B,EACrD,WAAW,CAAC,EAAE,mBAAmB;IAMnC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,aAAa,CAAoC;IAEzD,+EAA+E;IAC/E,OAAO,CAAC,UAAU;IAQlB;;;;;;;;;;;;;;;;;;OAkBG;YACW,uBAAuB;IAuCrC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAI/C,mBAAmB,IAAI,mBAAmB;IAI1C,mBAAmB,IAAI,SAAS;IAIhC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB;;;;;;;;;;IAQ/E,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;YACW,OAAO;IA0BrB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,gBAAgB;IAYlB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAmB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA6CpG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO/F,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;YAgBpD,aAAa;IA0gB5B;;;;;;;;;;;;;;;OAeG;YACW,mBAAmB;IA6DjC;;;;;;;;OAQG;YACW,mBAAmB;CASlC;AAyCD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ /** When an idle parent reaches its cache decision point (five minutes before TTL). */
2
+ export declare const CACHE_WAIT_DECISION_MS: number;
3
+ /** Opt-in switch for one bounded warmup during a delegation batch. */
4
+ export declare const CACHE_WAIT_WARMUP_ENV = "DSH_KIMI_CODE_CACHE_WAIT_WARMUP";
5
+ export interface CacheWaitSession {
6
+ readonly id: string;
7
+ requestHeader?(): {
8
+ readonly config?: {
9
+ readonly provider?: unknown;
10
+ } | undefined;
11
+ } | undefined;
12
+ }
13
+ export interface CacheWaitEvent {
14
+ readonly type?: unknown;
15
+ readonly data?: unknown;
16
+ }
17
+ export interface CacheWaitAgent {
18
+ readonly id?: unknown;
19
+ steer?(message: unknown): void;
20
+ }
21
+ export interface CacheWaitActivity {
22
+ readonly lastActiveAt?: number;
23
+ readonly totalTokens?: number;
24
+ }
25
+ export interface CacheWaitTimer {
26
+ set(callback: () => void, delayMs: number): unknown;
27
+ clear(handle: unknown): void;
28
+ }
29
+ export interface CacheWaitAgents {
30
+ get(id: unknown): CacheWaitAgent | undefined;
31
+ }
32
+ export interface CacheWaitLogger {
33
+ info?(message: string): void;
34
+ warn(message: string): void;
35
+ }
36
+ export interface CacheWaitOptions {
37
+ /** Allow one opt-in warmup for a large context. Disabled by default. */
38
+ readonly warmup?: boolean;
39
+ readonly now?: () => number;
40
+ readonly timer?: CacheWaitTimer;
41
+ readonly agents?: CacheWaitAgents;
42
+ readonly activity?: (sessionId: string) => CacheWaitActivity | undefined;
43
+ readonly kimiSession?: (session: CacheWaitSession) => boolean;
44
+ readonly logger?: CacheWaitLogger;
45
+ readonly decisionMs?: number;
46
+ readonly ttlMs?: number;
47
+ readonly minWarmupTokens?: number;
48
+ }
49
+ export interface CacheWaitEvaluation {
50
+ readonly waiting: boolean;
51
+ readonly hasChildren: boolean;
52
+ readonly now: number;
53
+ readonly lastActiveAt?: number;
54
+ readonly totalTokens?: number;
55
+ readonly warmupEnabled: boolean;
56
+ readonly warmupUsed: boolean;
57
+ readonly decisionMs?: number;
58
+ readonly ttlMs?: number;
59
+ readonly minWarmupTokens?: number;
60
+ }
61
+ export type CacheWaitAction = {
62
+ readonly kind: 'none';
63
+ } | {
64
+ readonly kind: 'cold';
65
+ } | {
66
+ readonly kind: 'warmup';
67
+ } | {
68
+ readonly kind: 'schedule';
69
+ readonly delayMs: number;
70
+ };
71
+ /** Pure cache-wait policy; no child deadline or forced progress is involved. */
72
+ export declare function evaluateCacheWait(input: CacheWaitEvaluation): CacheWaitAction;
73
+ /** The one opt-in message, built through the generation-safe harness factory. */
74
+ export declare function createCacheWaitWarmupMessage(): unknown;
75
+ /** Whether the deployment explicitly opted into bounded warmup. */
76
+ export declare function cacheWaitWarmupEnabled(env?: Record<string, string | undefined>): boolean;
77
+ export interface CacheWaitSnapshot {
78
+ readonly waiting: boolean;
79
+ readonly childCount: number;
80
+ readonly handled: boolean;
81
+ readonly warmupUsed: boolean;
82
+ readonly scheduled: boolean;
83
+ readonly lastDecision?: 'cold' | 'warmup';
84
+ }
85
+ /** Host-side cache-wait state machine. It never sends anything to a child. */
86
+ export declare class KimiCacheWaitController {
87
+ private readonly options;
88
+ private readonly states;
89
+ private readonly parentByChild;
90
+ private readonly providerBySession;
91
+ private readonly now;
92
+ private readonly timer;
93
+ private readonly agents?;
94
+ private readonly activity;
95
+ private readonly kimiSession?;
96
+ private readonly warmup;
97
+ private readonly logger?;
98
+ private readonly decisionMs;
99
+ private readonly ttlMs;
100
+ private readonly minWarmupTokens;
101
+ private disposed;
102
+ constructor(options?: CacheWaitOptions);
103
+ /** Observe one durable Session event. */
104
+ observe(session: CacheWaitSession, event: CacheWaitEvent): void;
105
+ /** Forget a disposed Agent and any parent/child links it owned. */
106
+ disposeAgent(agent: CacheWaitAgent): void;
107
+ /** Test/diagnostic view; no mutable state escapes. */
108
+ snapshot(sessionId: string): CacheWaitSnapshot;
109
+ dispose(): void;
110
+ private stateFor;
111
+ private dropState;
112
+ private removeChild;
113
+ private clearTimer;
114
+ private isKimiSession;
115
+ private reconcile;
116
+ }
117
+ export interface KimiCacheWaitContext {
118
+ on?(event: string, listener: (first: any, second?: any) => void): unknown;
119
+ get?(name: string): unknown;
120
+ readonly agents?: CacheWaitAgents;
121
+ readonly logger?: CacheWaitLogger;
122
+ }
123
+ /** Install the host listener. Older hosts without the event bus remain inert. */
124
+ export declare function installKimiCacheWait(ctx: KimiCacheWaitContext, options?: CacheWaitOptions): (() => void) | undefined;
125
+ //# sourceMappingURL=cache-wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-wait.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/cache-wait.ts"],"names":[],"mappings":"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"}