@eddyskywalker/dsh-chatgpt-subscription 0.40.1 → 0.41.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 (38) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/lib/client.js +420 -15
  3. package/lib/client.js.map +1 -1
  4. package/lib/index.js +2101 -335
  5. package/lib/types/client/common/AccountPoolSection.d.ts +19 -0
  6. package/lib/types/client/common/AccountPoolSection.d.ts.map +1 -1
  7. package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -1
  8. package/lib/types/client/kimi-code/KimiQuotaCard.d.ts +31 -0
  9. package/lib/types/client/kimi-code/KimiQuotaCard.d.ts.map +1 -0
  10. package/lib/types/client/kimi-code/locales.d.ts +74 -2
  11. package/lib/types/client/kimi-code/locales.d.ts.map +1 -1
  12. package/lib/types/client/kimi-code/staff-art.d.ts +19 -0
  13. package/lib/types/client/kimi-code/staff-art.d.ts.map +1 -0
  14. package/lib/types/client/kimi-code/styles.d.ts.map +1 -1
  15. package/lib/types/client/locales-ru/kimi-code.d.ts.map +1 -1
  16. package/lib/types/compat.d.ts +1 -1
  17. package/lib/types/host/antigravity/adapter.d.ts.map +1 -1
  18. package/lib/types/host/antigravity/mapper.d.ts.map +1 -1
  19. package/lib/types/host/cline-pass/adapter.d.ts +2 -0
  20. package/lib/types/host/cline-pass/adapter.d.ts.map +1 -1
  21. package/lib/types/host/common/request-images.d.ts +15 -5
  22. package/lib/types/host/common/request-images.d.ts.map +1 -1
  23. package/lib/types/host/kimi-code/adapter.d.ts +172 -0
  24. package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
  25. package/lib/types/host/kimi-code/cache-hint.d.ts +5 -5
  26. package/lib/types/host/kimi-code/client.d.ts.map +1 -1
  27. package/lib/types/host/kimi-code/mapper.d.ts +166 -1
  28. package/lib/types/host/kimi-code/mapper.d.ts.map +1 -1
  29. package/lib/types/host/kimi-code/media-files.d.ts +232 -0
  30. package/lib/types/host/kimi-code/media-files.d.ts.map +1 -0
  31. package/lib/types/host/kimi-code/routes.d.ts.map +1 -1
  32. package/lib/types/host/kimi-code/session-cache-state.d.ts +140 -0
  33. package/lib/types/host/kimi-code/session-cache-state.d.ts.map +1 -0
  34. package/lib/types/host/progress-updates/index.d.ts.map +1 -1
  35. package/lib/types/host/progress-updates/prompt.d.ts +6 -3
  36. package/lib/types/host/progress-updates/prompt.d.ts.map +1 -1
  37. package/lib/types/index.d.ts.map +1 -1
  38. package/package.json +1 -1
@@ -43,6 +43,25 @@ export interface AccountPoolSectionProps<TAccount extends PoolAccountSummaryDto
43
43
  * an externally-managed account replaces the delete it must never offer.
44
44
  */
45
45
  renderAccountActions?(account: TAccount): ReactNode;
46
+ /**
47
+ * Replaces the shared per-account quota block with the line's own.
48
+ *
49
+ * The shared block draws one labelled bar per window, which is right for most
50
+ * lines. Kimi's membership splits into two independent monthly pools and a
51
+ * two-tier staff of windows, and it reads better with the plan's own artwork;
52
+ * that line supplies this instead of teaching the shared block its vocabulary.
53
+ */
54
+ renderQuota?(account: TAccount, index: number, now: number): ReactNode;
55
+ /**
56
+ * Shared detail rows to leave out for this line.
57
+ *
58
+ * A line that draws its own footer already states when the account last served
59
+ * a request, so repeating the same fact one line above it reads like two
60
+ * different readings of the same thing.
61
+ */
62
+ omitDetails?: ReadonlyArray<'email' | 'expires' | 'lastUsed'>;
63
+ /** Extra class on the account card, so a line can restyle its own shell. */
64
+ accountCardClassName?: string;
46
65
  /** Extra controls inside the group, after the account list. */
47
66
  children?: ReactNode;
48
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AccountPoolSection.d.ts","sourceRoot":"","sources":["../../../../src/client/common/AccountPoolSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAIlF,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,WAAW,uBAAuB,CACtC,QAAQ,SAAS,qBAAqB,GAAG,qBAAqB,CAC9D,SAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAC5F,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,mEAAmE;IACnE,MAAM,EAAE,iBAAiB,CAAA;IACzB,yEAAyE;IACzE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,IAAI,IAAI,CAAA;IACf;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,SAAS,CAAA;IAChC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,sEAAsE;IACtE,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,aAAa,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACtD,sEAAsE;IACtE,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC5C;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAA;IACnD,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,8EAA8E;AAC9E,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,iBAAiB,EACjB,cAAc,GAAG,mBAAmB,GAAG,0BAA0B,CAClE,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAKpG;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,SAAa,GAAG,OAAO,CAEvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,qBAAqB,GAAG,qBAAqB,EAC/F,KAAK,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GACvC,KAAK,CAAC,YAAY,CAkLpB"}
1
+ {"version":3,"file":"AccountPoolSection.d.ts","sourceRoot":"","sources":["../../../../src/client/common/AccountPoolSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAIlF,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,WAAW,uBAAuB,CACtC,QAAQ,SAAS,qBAAqB,GAAG,qBAAqB,CAC9D,SAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAC5F,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,mEAAmE;IACnE,MAAM,EAAE,iBAAiB,CAAA;IACzB,yEAAyE;IACzE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,IAAI,IAAI,CAAA;IACf;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,SAAS,CAAA;IAChC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,sEAAsE;IACtE,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,aAAa,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACtD,sEAAsE;IACtE,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC5C;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAA;IACnD;;;;;;;OAOG;IACH,WAAW,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACtE;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC,CAAA;IAC7D,4EAA4E;IAC5E,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,8EAA8E;AAC9E,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,iBAAiB,EACjB,cAAc,GAAG,mBAAmB,GAAG,0BAA0B,CAClE,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAKpG;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,SAAa,GAAG,OAAO,CAEvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,qBAAqB,GAAG,qBAAqB,EAC/F,KAAK,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GACvC,KAAK,CAAC,YAAY,CA8LpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"KimiCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAsBvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAwCD,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA0rBhG"}
1
+ {"version":3,"file":"KimiCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAuBvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAwCD,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAgsBhG"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Kimi Code 账号卡片里的额度区。
3
+ *
4
+ * 这张卡与其余线路的账号卡是同一张壳(别名、徽标、操作按钮都在 `AccountPoolSection` 里),
5
+ * 换掉的只是额度那一块:档位名用 Georgia 字标,右侧压一条五线谱,音符按档位换成对应的插图。
6
+ *
7
+ * 只有一条进度条,按 Kimi 自己的额度结构折算:7 天额度是 5 个 5 小时额度,月额度是 25 个,
8
+ * 所以「近 5 小时用掉多少」折进大窗口之后是 `5小时% ÷ 5`(月额度则 ÷ 25)。条子上蓝色那一截
9
+ * 就是这段最近的消耗,深色那一截是除此之外的已用,底槽是剩下的。
10
+ *
11
+ * 大窗口的取法:有月额度就用月额度,否则用 7 天;只有 5 小时一条线的账号就直接以它为准。
12
+ * 接口给的是「已用比例」,各窗口各自算各自的,不能相加。
13
+ */
14
+ import React from 'react';
15
+ import type { PoolAccountQuotaDto } from '../../shared/account-pool-contracts.ts';
16
+ import type { KimiCodeDict } from './locales.ts';
17
+ export interface KimiQuotaCardProps {
18
+ /** 这个账号自己最近一次的额度快照;从未读过时没有。 */
19
+ quota?: PoolAccountQuotaDto;
20
+ /** 服务端给的档位名(Adagio … Vivace),决定字标与五线谱。 */
21
+ planName?: string | null;
22
+ /** Unix 毫秒:这个账号最后一次真的发过请求。 */
23
+ lastUsedAt?: number;
24
+ /** Unix 毫秒:这个账号的令牌到期时间。 */
25
+ expiresAt?: number;
26
+ /** 渲染时刻,用来算「N 分钟前更新」。 */
27
+ now: number;
28
+ labels: KimiCodeDict;
29
+ }
30
+ export declare function KimiQuotaCard(props: KimiQuotaCardProps): React.ReactElement;
31
+ //# sourceMappingURL=KimiQuotaCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KimiQuotaCard.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiQuotaCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAA6B,MAAM,wCAAwC,CAAA;AAE5G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,YAAY,CAAA;CACrB;AAgFD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAqJ3E"}
@@ -124,6 +124,30 @@ export declare const zh: {
124
124
  readonly quotaWalletUsed: "本月已用";
125
125
  readonly updatedAt: "更新时间:{time}";
126
126
  readonly resetAt: "重置:{time}";
127
+ readonly kqTotal: "总使用量";
128
+ readonly kqTip: "Kimi Code 用量 {pct}";
129
+ readonly kqPoolKimi: "Kimi";
130
+ readonly kqPoolCode: "Code";
131
+ readonly kqResetAfter: "{time} 后重置";
132
+ readonly kqAccount: "账号{n}";
133
+ readonly kqAgo: "{time}更新";
134
+ readonly kqLastUsed: "最后调用 {time}";
135
+ readonly kqShortWindow: "5 小时窗口 {pct}";
136
+ readonly kqRestUsed: "其他已用";
137
+ readonly kqExpires: "令牌到期 {time}";
138
+ readonly kqJustNow: "刚刚";
139
+ readonly kqMinutesAgo: "{n} 分钟前";
140
+ readonly kqHoursAgo: "{n} 小时前";
141
+ readonly kqDaysAgo: "{n} 天前";
142
+ readonly kqWindow5h: "5 小时窗口";
143
+ readonly kqWindow7d: "7 天用量";
144
+ readonly kqDurationDay: "{n} 天";
145
+ readonly kqDurationHour: "{n} 小时";
146
+ readonly kqDurationMinute: "{n} 分钟";
147
+ readonly kqResetIn: "{time}后重置";
148
+ readonly kqResetSoon: "即将重置";
149
+ readonly kqRegionMainland: "中国区";
150
+ readonly kqRegionGlobal: "国际区";
127
151
  readonly loading: "加载中...";
128
152
  readonly loginFailed: "登录失败";
129
153
  readonly requests: "次请求";
@@ -287,6 +311,30 @@ export declare const dictionaries: {
287
311
  readonly quotaWalletUsed: "本月已用";
288
312
  readonly updatedAt: "更新时间:{time}";
289
313
  readonly resetAt: "重置:{time}";
314
+ readonly kqTotal: "总使用量";
315
+ readonly kqTip: "Kimi Code 用量 {pct}";
316
+ readonly kqPoolKimi: "Kimi";
317
+ readonly kqPoolCode: "Code";
318
+ readonly kqResetAfter: "{time} 后重置";
319
+ readonly kqAccount: "账号{n}";
320
+ readonly kqAgo: "{time}更新";
321
+ readonly kqLastUsed: "最后调用 {time}";
322
+ readonly kqShortWindow: "5 小时窗口 {pct}";
323
+ readonly kqRestUsed: "其他已用";
324
+ readonly kqExpires: "令牌到期 {time}";
325
+ readonly kqJustNow: "刚刚";
326
+ readonly kqMinutesAgo: "{n} 分钟前";
327
+ readonly kqHoursAgo: "{n} 小时前";
328
+ readonly kqDaysAgo: "{n} 天前";
329
+ readonly kqWindow5h: "5 小时窗口";
330
+ readonly kqWindow7d: "7 天用量";
331
+ readonly kqDurationDay: "{n} 天";
332
+ readonly kqDurationHour: "{n} 小时";
333
+ readonly kqDurationMinute: "{n} 分钟";
334
+ readonly kqResetIn: "{time}后重置";
335
+ readonly kqResetSoon: "即将重置";
336
+ readonly kqRegionMainland: "中国区";
337
+ readonly kqRegionGlobal: "国际区";
290
338
  readonly loading: "加载中...";
291
339
  readonly loginFailed: "登录失败";
292
340
  readonly requests: "次请求";
@@ -448,6 +496,30 @@ export declare const dictionaries: {
448
496
  readonly quotaWalletUsed: "本月已用";
449
497
  readonly updatedAt: "更新时间:{time}";
450
498
  readonly resetAt: "重置:{time}";
499
+ readonly kqTotal: "总使用量";
500
+ readonly kqTip: "Kimi Code 用量 {pct}";
501
+ readonly kqPoolKimi: "Kimi";
502
+ readonly kqPoolCode: "Code";
503
+ readonly kqResetAfter: "{time} 后重置";
504
+ readonly kqAccount: "账号{n}";
505
+ readonly kqAgo: "{time}更新";
506
+ readonly kqLastUsed: "最后调用 {time}";
507
+ readonly kqShortWindow: "5 小时窗口 {pct}";
508
+ readonly kqRestUsed: "其他已用";
509
+ readonly kqExpires: "令牌到期 {time}";
510
+ readonly kqJustNow: "刚刚";
511
+ readonly kqMinutesAgo: "{n} 分钟前";
512
+ readonly kqHoursAgo: "{n} 小时前";
513
+ readonly kqDaysAgo: "{n} 天前";
514
+ readonly kqWindow5h: "5 小时窗口";
515
+ readonly kqWindow7d: "7 天用量";
516
+ readonly kqDurationDay: "{n} 天";
517
+ readonly kqDurationHour: "{n} 小时";
518
+ readonly kqDurationMinute: "{n} 分钟";
519
+ readonly kqResetIn: "{time}后重置";
520
+ readonly kqResetSoon: "即将重置";
521
+ readonly kqRegionMainland: "中国区";
522
+ readonly kqRegionGlobal: "国际区";
451
523
  readonly loading: "加载中...";
452
524
  readonly loginFailed: "登录失败";
453
525
  readonly requests: "次请求";
@@ -484,8 +556,8 @@ export declare const dictionaries: {
484
556
  readonly quotaFactsScope: string;
485
557
  readonly composerLabel: string;
486
558
  };
487
- en: Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "deviceCodeHint" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "quotaUnknown" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capThinkingOnly" | "capEfforts" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capThinkingOnlyFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortThinkingOnlyNote" | "effortNotOffered" | "cacheNote" | "cacheNoteHint" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheWrite" | "cacheWrite5m" | "cacheWrite1h" | "cacheWriteHint" | "unknownMetric" | "cacheHint" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "requests", string>;
488
- 'en-US': Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "deviceCodeHint" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "quotaUnknown" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capThinkingOnly" | "capEfforts" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capThinkingOnlyFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortThinkingOnlyNote" | "effortNotOffered" | "cacheNote" | "cacheNoteHint" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheWrite" | "cacheWrite5m" | "cacheWrite1h" | "cacheWriteHint" | "unknownMetric" | "cacheHint" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "requests", string>;
559
+ en: Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "deviceCodeHint" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "quotaUnknown" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capThinkingOnly" | "capEfforts" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capThinkingOnlyFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortThinkingOnlyNote" | "effortNotOffered" | "cacheNote" | "cacheNoteHint" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheWrite" | "cacheWrite5m" | "cacheWrite1h" | "cacheWriteHint" | "unknownMetric" | "cacheHint" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "kqTotal" | "kqTip" | "kqPoolKimi" | "kqPoolCode" | "kqResetAfter" | "kqAccount" | "kqAgo" | "kqLastUsed" | "kqShortWindow" | "kqRestUsed" | "kqExpires" | "kqJustNow" | "kqMinutesAgo" | "kqHoursAgo" | "kqDaysAgo" | "kqWindow5h" | "kqWindow7d" | "kqDurationDay" | "kqDurationHour" | "kqDurationMinute" | "kqResetIn" | "kqResetSoon" | "kqRegionMainland" | "kqRegionGlobal" | "requests", string>;
560
+ 'en-US': Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "deviceCodeHint" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortHigh" | "effortMax" | "quotaUnknown" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capThinkingOnly" | "capEfforts" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capThinkingOnlyFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "effortThinkingOnlyNote" | "effortNotOffered" | "cacheNote" | "cacheNoteHint" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheWrite" | "cacheWrite5m" | "cacheWrite1h" | "cacheWriteHint" | "unknownMetric" | "cacheHint" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "kqTotal" | "kqTip" | "kqPoolKimi" | "kqPoolCode" | "kqResetAfter" | "kqAccount" | "kqAgo" | "kqLastUsed" | "kqShortWindow" | "kqRestUsed" | "kqExpires" | "kqJustNow" | "kqMinutesAgo" | "kqHoursAgo" | "kqDaysAgo" | "kqWindow5h" | "kqWindow7d" | "kqDurationDay" | "kqDurationHour" | "kqDurationMinute" | "kqResetIn" | "kqResetSoon" | "kqRegionMainland" | "kqRegionGlobal" | "requests", string>;
489
561
  };
490
562
  export type KimiCodeLocaleKey = keyof typeof zh;
491
563
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,kBAAkB,CAAA;AAE3C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmIL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CAkIrC,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,EAAE,CAAA;AAE/C;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,kBAAkB,CAAA;AAE3C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2JL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CA0JrC,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,EAAE,CAAA;AAE/C;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Kimi 定价页各档位五线谱上的音符插图。
3
+ *
4
+ * 一条 path 就是一笔:符头、符干、符杠、谱号、`rit.` 之类全是独立路径,所以入场动画可以一条一条
5
+ * 错开。数值是 Kimi 站点上原样取下来的 `d`,`opacity` 是那一笔的 `fill-opacity`(`.03` 是几乎
6
+ * 看不见的小节线,用来撑住右侧留白)。
7
+ *
8
+ * 档位按速度术语递增:Adagio → Andante → Moderato → Allegretto → Allegro → Vivace,
9
+ * 音符也随之从稀疏的四分音符走到带 `sf` 力度记号的连音群。
10
+ */
11
+ export interface StaffStroke {
12
+ d: string;
13
+ opacity?: string;
14
+ }
15
+ export type StaffArtKey = 'trial' | 'basic' | 'intermediate' | 'advanced' | 'standard';
16
+ /** 档位名(小写)到插图的映射;认不出来的档位按 Allegretto 那一档画。 */
17
+ export declare const TIER_ART: Record<string, StaffArtKey>;
18
+ export declare const STAFF_ART: Record<StaffArtKey, StaffStroke[]>;
19
+ //# sourceMappingURL=staff-art.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staff-art.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/staff-art.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAA;IACT,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,CAAA;AAEtF,8CAA8C;AAC9C,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAOhD,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAyCxD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,iCAAiC,CAAA;AAsFtD,uEAAuE;AACvE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,iCAAiC,CAAA;AAsItD,uEAAuE;AACvE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"kimi-code.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/kimi-code.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAmIxD,CAAA"}
1
+ {"version":3,"file":"kimi-code.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/kimi-code.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CA2JxD,CAAA"}
@@ -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.40.1";
74
+ export declare const PLUGIN_VERSION: "0.41.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":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAEV,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAWrE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EAEtB,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAQL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAA;AAKpB,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,iBAAiB,GAAG,SAAS,CAc/B;AAED,OAAO,EAAE,gBAAgB,EAAuB,MAAM,mBAAmB,CAAA;AAKzE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,SAAS,CAgCjG;AA4BD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM3E;AAED,qBAAa,kBAAmB,SAAQ,UAAU;IAS9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C;;;OAGG;IACH,OAAO,CAAC,4BAA4B,CAAQ;gBAGzB,KAAK,sBAA4B,EACjC,aAAa,yBAA+B,EAC5C,WAAW,CAAC,EAAE,0BAA0B,YAAA,EACxC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;QAAC,WAAW,CAAC,EAAE,qBAAqB,CAAA;KAAO,EAC9F,WAAW,CAAC,EAAE,gBAAgB;IAMhC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAI/C,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAInE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB;;;;;;;;;;IAIzE,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAsB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyCpG,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;YA0BpD,aAAa;CAiR7B"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAEV,iBAAiB,EAEjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAWrE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EAEtB,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAQL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAA;AAKpB,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,iBAAiB,GAAG,SAAS,CAc/B;AAED,OAAO,EAAE,gBAAgB,EAAuB,MAAM,mBAAmB,CAAA;AAKzE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,SAAS,CAgCjG;AA4BD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM3E;AAkCD,qBAAa,kBAAmB,SAAQ,UAAU;IAS9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C;;;OAGG;IACH,OAAO,CAAC,4BAA4B,CAAQ;gBAGzB,KAAK,sBAA4B,EACjC,aAAa,yBAA+B,EAC5C,WAAW,CAAC,EAAE,0BAA0B,YAAA,EACxC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;QAAC,WAAW,CAAC,EAAE,qBAAqB,CAAA;KAAO,EAC9F,WAAW,CAAC,EAAE,gBAAgB;IAMhC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAI/C,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAInE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB;;;;;;;;;;IAIzE,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAsB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyCpG,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;YA0BpD,aAAa;CAyR7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/mapper.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ import { type AttachmentImageReader } from '../common/request-images.ts';
17
17
  export interface ClinePassAdapterOptions {
18
18
  /** Durable attachment service, for request images. */
19
19
  attachments?: AttachmentImageReader;
20
+ /** Response-header deadline override, used by focused transport tests. */
21
+ headerTimeoutMs?: number;
20
22
  }
21
23
  export declare class ClinePassAdapter extends LlmAdapter {
22
24
  private readonly engine;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/cline-pass/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,UAAU,EAIV,KAAK,eAAe,IAAI,sBAAsB,EAC9C,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAA;AAoB7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAA6D,KAAK,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAC9H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAQ7D,OAAO,EAA4C,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAgClH,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,WAAW,CAAC,EAAE,qBAAqB,CAAA;CACpC;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IAI5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;gBAG1B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,2BAA2B,EAC1C,WAAW,EAAE,oBAAoB,EACjC,OAAO,GAAE,uBAA4B;IAKxD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAI/C,mBAAmB,IAAI,mBAAmB;IAI1C,mBAAmB,IAAI,SAAS;IAIhC,OAAO,CAAC,QAAQ;IAIhB;;;;OAIG;YACW,iBAAiB;IAQ/B,gFAAgF;YAClE,SAAS;IAyBjB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAgB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoBpG,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,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC;YAW3D,aAAa;IAmR5B,yEAAyE;YAC3D,SAAS;CAOxB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/cline-pass/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,UAAU,EAIV,KAAK,eAAe,IAAI,sBAAsB,EAC9C,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAA;AAoB7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAA6D,KAAK,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAC9H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAQ7D,OAAO,EAA4C,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAgClH,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IAI5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;gBAG1B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,2BAA2B,EAC1C,WAAW,EAAE,oBAAoB,EACjC,OAAO,GAAE,uBAA4B;IAKxD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAI/C,mBAAmB,IAAI,mBAAmB;IAI1C,mBAAmB,IAAI,SAAS;IAIhC,OAAO,CAAC,QAAQ;IAIhB;;;;OAIG;YACW,iBAAiB;IAQ/B,gFAAgF;YAClE,SAAS;IAyBjB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAgB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoBpG,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,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC;YAW3D,aAAa;IAyR5B,yEAAyE;YAC3D,SAAS;CAOxB"}
@@ -154,10 +154,20 @@ export declare function requestHasSendableImage(options: GenerateOptions, images
154
154
  * An unreadable image resolves to `unavailable` rather than disappearing, so
155
155
  * the model is told the picture is missing instead of answering about a blank.
156
156
  *
157
- * An image whose long edge is over {@link REQUEST_IMAGE_MAX_EDGE} is sent as the
158
- * harness's downscaled request version (see {@link requestImageTarget}). The
159
- * stored image and durable history do not change, and an image that already
160
- * fits is sent byte-for-byte as stored.
157
+ * An image whose long edge is over the ceiling is sent as the harness's
158
+ * downscaled request version (see {@link requestImageTarget}). The stored image
159
+ * and durable history do not change, and an image that already fits is sent
160
+ * byte-for-byte as stored.
161
+ *
162
+ * The ceiling is a PARAMETER because it belongs to the upstream route, exactly
163
+ * like the image budget: `edge` defaults to the shared
164
+ * {@link REQUEST_IMAGE_MAX_EDGE}, so every caller that does not name one keeps
165
+ * the ceiling it always had. A route whose own CLI downscales to a different
166
+ * long edge passes its value here and gets the same number in both places that
167
+ * matter — the target it asks the attachment store for AND the check that the
168
+ * version handed back really is that target. Deriving the target from one
169
+ * constant and validating it against another is how a 2000 px request gets
170
+ * discarded as if the store had ignored it.
161
171
  *
162
172
  * WHY scale instead of drop. `offloadOldestRequestImages` has to drop an image
163
173
  * once the request exceeds `MAX_REQUEST_IMAGE_BYTES`, and the number it drops
@@ -167,7 +177,7 @@ export declare function requestHasSendableImage(options: GenerateOptions, images
167
177
  * outgrew the budget once stays inside it instead of breaking the cache every
168
178
  * time an image is added.
169
179
  */
170
- export declare function resolveRequestImages(options: GenerateOptions, attachments: AttachmentImageReader | undefined, signal?: AbortSignal): Promise<ResolvedRequestImages>;
180
+ export declare function resolveRequestImages(options: GenerateOptions, attachments: AttachmentImageReader | undefined, signal?: AbortSignal, edge?: number): Promise<ResolvedRequestImages>;
171
181
  export declare function unavailableImageText(block: Record<string, unknown>): string;
172
182
  export interface InlineImage {
173
183
  mediaType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"request-images.d.ts","sourceRoot":"","sources":["../../../../src/host/common/request-images.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-images.d.ts","sourceRoot":"","sources":["../../../../src/host/common/request-images.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,12 @@ import { PROVIDER_ID, reasoningEffortsFor } from './types.ts';
4
4
  import { FileCredentialStore, FileModelSettingsStore, type KimiCodeCatalogModel, type KimiCodePreferenceStore } from './token-store.ts';
5
5
  import { buildModelOptions, clearCachedCatalog } from './client.ts';
6
6
  import { type AttachmentImageReader, type AttachmentVideoReader } from './mapper.ts';
7
+ import { type KimiMediaFilesUploader } from './media-files.ts';
8
+ import { type ResolvedRequestImages } from '../common/request-images.ts';
9
+ import type { ResolvedRequestVideos } from '../common/video-request.ts';
10
+ import { type GenerateOptions as NormalizedGenerateOptions } from '../common/llm-compat.ts';
7
11
  import { KimiCodeAccountPool } from './account-pool.ts';
12
+ import type { KimiCodeWire } from '../../shared/kimi-code-contracts.ts';
8
13
  /**
9
14
  * Transient-failure retry policy for the `kimi-code` route.
10
15
  *
@@ -116,6 +121,76 @@ export declare function summarizeFailureBody(raw: string): string;
116
121
  * reclassify other lines' failures on wording they never send.
117
122
  */
118
123
  export declare function isKimiBodySizeRefusal(detail: string): boolean;
124
+ /** Whether one 404 body is the service refusing a cited file rather than the model. */
125
+ export declare function isMissingResourceBody(bodyText: string): boolean;
126
+ /** One readable media occurrence this request intends to upload. */
127
+ export interface PlannedMediaReference {
128
+ /** Durable attachment id the block cites; the key the mapper looks it up by. */
129
+ readonly attachmentId: string;
130
+ /** Which wire field cites it afterwards. */
131
+ readonly kind: 'image' | 'video';
132
+ /** Media type the upload states as its purpose-carrying type. */
133
+ readonly mediaType: string;
134
+ /** Decoded bytes, ready to upload. */
135
+ readonly data: Uint8Array;
136
+ }
137
+ /**
138
+ * Which occurrences of one request would be uploaded, if any.
139
+ *
140
+ * Nothing is uploaded here and no network is touched: this only decides WHICH
141
+ * readable occurrences the reference path would cover, so the body-fit guard can
142
+ * measure the body that will actually be sent instead of measuring an inline
143
+ * body the reference path would never produce.
144
+ *
145
+ * An occurrence is eligible when all four hold, and each exclusion is load
146
+ * bearing:
147
+ *
148
+ * - the wire is OpenAI-compatible — the Anthropic surface documents no hosted
149
+ * media and must upload nothing at all;
150
+ * - the selected model declares the matching modality — sending a purpose the
151
+ * model cannot read uploads bytes nobody will look at;
152
+ * - the occurrence resolved to `inline`, i.e. its bytes were actually read —
153
+ * an unreadable media has nothing to upload and keeps its placeholder;
154
+ * - the occurrence cites a durable attachment, because only that is what a
155
+ * reference can be keyed by.
156
+ */
157
+ export declare function planMediaReferences(input: {
158
+ wire: KimiCodeWire;
159
+ imageAccepted: boolean;
160
+ videoAccepted: boolean;
161
+ images: ResolvedRequestImages;
162
+ videos: ResolvedRequestVideos;
163
+ }): PlannedMediaReference[];
164
+ /**
165
+ * Attachment ids one built request STILL sends as media occurrences.
166
+ *
167
+ * Two stages can take an occurrence away, and both run before a reference could
168
+ * be cited:
169
+ *
170
+ * - the image/video budget pass replaces the oldest occurrences with a text
171
+ * placeholder, and
172
+ * - the body-fit loop replaces more of them when the real serialized body is over
173
+ * the ceiling.
174
+ *
175
+ * An occurrence either stage removed is no longer part of the request, so
176
+ * uploading it would pay for bytes nobody reads and mint a reference nothing
177
+ * cites. The upload set is therefore read off the FINAL build rather than off
178
+ * what was merely readable when the request was planned.
179
+ *
180
+ * Tool results nest their own content, and a `read_image` result carries its
181
+ * pixels there, so the traversal recurses exactly the way the budget does.
182
+ */
183
+ export declare function mediaAttachmentIdsIn(options: NormalizedGenerateOptions): Set<string>;
184
+ /**
185
+ * The placeholder reference maps one planned set measures the body with.
186
+ *
187
+ * Returned separately for images and videos because the mapper keys them by
188
+ * field, not by kind.
189
+ */
190
+ export declare function plannedReferenceMaps(planned: readonly PlannedMediaReference[]): {
191
+ imageReferences: Map<string, string>;
192
+ videoReferences: Map<string, string>;
193
+ };
119
194
  /**
120
195
  * Classify one non-2xx response for the retry policy.
121
196
  *
@@ -153,7 +228,62 @@ export interface KimiCodeAdapterOptions {
153
228
  videos?: AttachmentVideoReader;
154
229
  /** Live catalog loader seam; defaults to the managed `/models` call. */
155
230
  loadCatalog?: () => Promise<KimiCodeCatalogModel[]>;
231
+ /**
232
+ * Hosted-file uploader seam.
233
+ *
234
+ * Production builds one through {@link createMediaFilesUploader} with THIS
235
+ * adapter's transport, so an upload and the chat request that cites it travel
236
+ * the same fetchFn — a test or a deployment that swaps the transport must not
237
+ * be bypassed by a module-level singleton holding its own.
238
+ *
239
+ * The cache is the point of the seam being shared across requests: one
240
+ * instance lives for the adapter's lifetime, so the same clip is uploaded once
241
+ * per account rather than once per turn.
242
+ */
243
+ mediaFiles?: KimiMediaFilesUploader;
156
244
  }
245
+ /**
246
+ * Longest edge of the request version this route asks the attachment store for.
247
+ *
248
+ * Kimi's own CLI downscales an oversized image to a 2000 px long edge by default,
249
+ * so a screenshot its client would send at 2000 px must not be handed to this
250
+ * route at the shared 1024 px ceiling: that kept a screenshot the model could
251
+ * read at 2000 px legible-sized only by dropping and re-reading it. The
252
+ * encoded-byte target is deliberately NOT raised with it — 256 KiB per request
253
+ * version still fits four images inside the shared 1.5 MB budget — and an image
254
+ * already inside this edge is still sent as stored, so small images, references
255
+ * without dimensions and the body-fit ceiling all behave exactly as before.
256
+ */
257
+ export declare const KIMI_CODE_REQUEST_IMAGE_MAX_EDGE = 2000;
258
+ /**
259
+ * Persist the cache facts a status card needs to survive a restart.
260
+ *
261
+ * Written at the end of every request, from the same numbers the in-memory
262
+ * totals just recorded. The process forgets them at exit, and the expiry hint
263
+ * depends on knowing how long a conversation sat idle before it was resumed —
264
+ * the moment the hint matters is the moment memory no longer has the answer.
265
+ *
266
+ * The prompt size is this request's own (cache read + fresh input), not the
267
+ * rolling sum: the hint describes what the NEXT turn would have to reprocess.
268
+ */
269
+ /**
270
+ * How this route carries a mid-conversation tool change, or undefined for none.
271
+ *
272
+ * Three gates decide whether the route gets one at all: the model accepts
273
+ * message-level declarations, the request travels the OpenAI-compatible surface
274
+ * (the Anthropic one documents no such field), and no operator opted out. A
275
+ * model that fails any gate keeps the old shape, in which every request carries
276
+ * the complete tool list.
277
+ *
278
+ * The mode is `in-history`, not `addition-only`: both append an addition, but
279
+ * only `in-history` also expresses a removal by appending a note. Under
280
+ * `addition-only` a revoked tool is deleted from the declaration list, the
281
+ * top-level `tools` array shrinks, and the prefix cache is thrown away.
282
+ * @param modelId - exact model id.
283
+ * @param catalog - live catalog, possibly empty when offline.
284
+ * @returns the tool-update mode, or undefined when this route must resend everything.
285
+ */
286
+ export declare function toolUpdateMode(modelId: string, catalog: readonly KimiCodeCatalogModel[]): 'in-history' | undefined;
157
287
  export declare class KimiCodeAdapter extends LlmAdapter {
158
288
  private readonly store;
159
289
  private readonly modelSettings;
@@ -168,10 +298,52 @@ export declare class KimiCodeAdapter extends LlmAdapter {
168
298
  */
169
299
  private readonly accountPool;
170
300
  constructor(store?: FileCredentialStore, modelSettings?: FileModelSettingsStore, preferences?: KimiCodePreferenceStore | undefined, options?: KimiCodeAdapterOptions, accountPool?: KimiCodeAccountPool);
301
+ /**
302
+ * The uploader this adapter cites files through, built on first use.
303
+ *
304
+ * Built lazily for two reasons: a turn with no media pays nothing, and a test
305
+ * that stubs the global transport before the first request still reaches the
306
+ * default uploader, because the transport is read at construction rather than
307
+ * at module load.
308
+ *
309
+ * Deliberately NOT {@link kimiMediaFiles}, the module-level singleton: that one
310
+ * captured the global `fetch` when this module was imported, so an adapter
311
+ * given its own transport would upload through a different one than it chats
312
+ * through — the one thing this route must not do, since the reference it gets
313
+ * back is only meaningful to the endpoint the chat request goes to.
314
+ */
315
+ private mediaUploader;
316
+ /** The shared uploader, created on first use with THIS adapter's transport. */
317
+ private mediaFiles;
318
+ /**
319
+ * Upload every planned occurrence under ONE account and collect its references.
320
+ *
321
+ * The credential, base URL and scope are the ones the chat request about to be
322
+ * sent will use, which is what makes a reference citable at all: an id minted
323
+ * for another account or another deployment is not assumed to be readable.
324
+ *
325
+ * A failure is contained per occurrence. Uploading is an optimisation — the
326
+ * inline path always works — so a refused, overloaded or unreachable upload
327
+ * endpoint leaves THAT media inline and the turn runs. What is never
328
+ * contained is a cancellation: `signal` aborted, or an AbortError out of the
329
+ * transport, is a turn the caller deliberately stopped, and continuing to send
330
+ * the chat request would answer it anyway.
331
+ *
332
+ * This deliberately touches no account state: a 401/403/404/405/413/5xx or a
333
+ * network failure of the UPLOAD is a fact about the hosted-file endpoint, not
334
+ * a verdict on this account's quota, so it neither cools nor retires the
335
+ * account. The chat request's own classification owns that decision.
336
+ */
337
+ private uploadPlannedReferences;
171
338
  providerInfo(provider: string): LlmProviderInfo;
172
339
  providerRetryPolicy(): ResolvedRetryPolicy;
173
340
  imageRequestPricing(): undefined;
174
341
  imageRequestTarget(_provider: string, _model: string, image: ImageAttachmentRef): {
342
+ width: number;
343
+ height: number;
344
+ maxPixels: number;
345
+ maxBytes: number;
346
+ } | {
175
347
  width: number;
176
348
  height: number;
177
349
  maxBytes: number;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/kimi-code/adapter.ts"],"names":[],"mappings":"AAEA,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,EAiBL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAI3B,MAAM,aAAa,CAAA;AAiFpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAKvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;AA+DD,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsBxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;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;CACpD;AA6BD,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,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;;;;;IAI/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;IAkCpG,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;IAsW5B;;;;;;;;;;;;;;;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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"}
@@ -27,11 +27,11 @@
27
27
  * 3/3 warm through 25 minutes, 1/3 at 30 minutes, and 0/3 at 35 minutes — a
28
28
  * 25–35 minute bracket around a fuzzy edge.
29
29
  *
30
- * 30 minutes is the first age at which most replicas are already cold, which is
31
- * what this notice needs: it must not fire while the entry is reliably alive.
32
- * The alternative — the last fully-warm age of 25 minutes — would warn during
33
- * the five minutes in which the entry still survives more often than not, and a
34
- * notice that cries wolf is worse than a late one.
30
+ * 25 minutes is the last age at which every replica was still warm, and that is
31
+ * what this notice needs: it must arrive BEFORE the entry is surely gone. The
32
+ * 30-minute point where most replicas had gone cold is too late — by then the
33
+ * user has already paid for the reprocessed prefix, so a notice there describes
34
+ * the bill instead of preventing it.
35
35
  *
36
36
  * The old value was 5 minutes, taken from the `5m` write tier's NAME. On this
37
37
  * endpoint the name is not the lifetime: that estimate warned from minute 6