@epoch-agent/protocol 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1023,7 +1023,7 @@ declare class DiagnosticSink {
1023
1023
  * | `web/src/composer/attach.tsx` 文件头 | 「专家没有底座,所以加号直接开选图」 | **仍然不画**。它自己写的「42 PR-1 把专家接上时它自然变回菜单」那句话**不成立** —— 接上的是会话级,那一项画的是逐条。就地改成了这句 |
1024
1024
  * | `web/src/capability/experts.tsx` 的「召唤」 | 只往输入框预填一句「让 x 来做:」 | **仍然是预填**。第二条路真有了,但「当前这段对话怎么办」没答;⚠️ 顺带钉住 `canSummon` 那个 prop:两条路并存时它的含义会分叉 |
1025
1025
  * | `design/web-ui/README.md`(决定 20 ② 的 ⚠️) | 「差的是装配层在会话级也走一次 `roleScopedProvider()`,加上协议里带一个字段」 | **划掉了**,两样都做了({@link AgentRoleScope} 就是那「一个字段」),并补上「作用域对不上」那一段 |
1026
- * | `.agents/plans/README.md` 底座缺口第一条 | 「顶层会话的角色没接线」 | **划掉了**,同时记下它**写下那天就是错的**:`--agent` 早就跑主循环,那条记录只读了注释没数调用点 |
1026
+ * | `.epoch/plans/README.md` 底座缺口第一条 | 「顶层会话的角色没接线」 | **划掉了**,同时记下它**写下那天就是错的**:`--agent` 早就跑主循环,那条记录只读了注释没数调用点 |
1027
1027
  *
1028
1028
  * ⚠️ 前两处**不是顺手就能改**的,这一点收的人复核后同意:加号变菜单要一张
1029
1029
  * 真菜单(决定 20 ① 骂过「一张只有一项的下拉是纯多出来的一次点击」),
@@ -4358,6 +4358,39 @@ interface EpochSessionPart {
4358
4358
  type EpochContentPart = EpochTextPart | EpochImagePart | EpochFilePart | EpochSessionPart;
4359
4359
  /** 用户消息内容 —— 纯文本或多模态部件数组 */
4360
4360
  type EpochUserContent = string | EpochContentPart[];
4361
+ /**
4362
+ * 「这条用户消息是按哪条自定义斜杠命令发出来的」(2026-10-21)。
4363
+ *
4364
+ * ## 它治的是什么
4365
+ *
4366
+ * 一条命令发出去时,真正喂给模型的是**展开之后的正文**(`ExpandedCommand.prompt`)——
4367
+ * 那一整段可以是几十行工作指令。而它在会话里长得和用户亲手打的一句话
4368
+ * **一模一样**:刷新之后、或者另一台设备上打开这段会话,用户看到的就是一大段
4369
+ * 自己从没打过的话(2026-10-21 用户报的原话:「我并没有发送下面这个消息」)。
4370
+ *
4371
+ * 这一格把「这条消息的来路」单独带着:界面上就画成一行 `/命令名 参数`,
4372
+ * 而模型那边看到的仍然是展开后的正文 —— **两件事不能合并**,合了就等于让模型
4373
+ * 看不见命令的正文,命令就不干活了。
4374
+ *
4375
+ * ## 为什么不把「显示用的文本」直接写进 `content`
4376
+ *
4377
+ * 因为 `content` 只有一个,而且它的第一个读者是模型。一条 `assistant` 行的
4378
+ * `content` 是模型说的话,一条 `user` 行的 `content` 是模型收到的话;往里塞一句
4379
+ * 「给人看的话」就是往模型嘴里塞它没说过的话。分开存、分开读,两边各自成立。
4380
+ */
4381
+ interface EpochUserCommand {
4382
+ /** 命令名,不带斜杠(`blizzard-theme:apply`) */
4383
+ name: string;
4384
+ /** frontmatter 的 `displayName`,没写就缺席 —— 回落到 `name` 在界面那一侧做 */
4385
+ displayName?: string;
4386
+ /**
4387
+ * 用户给的那段参数(可能为空、可能多行),原样保留。
4388
+ *
4389
+ * **空参数时这个键缺席**(不是空串):界面上「`/foo`」和「`/foo `」是同一件事,
4390
+ * 而空串会在那一行尾巴上多留一个空格。
4391
+ */
4392
+ args?: string;
4393
+ }
4361
4394
  /**
4362
4395
  * 附件在**给模型的**纯文本投影里长什么样。**不吐文件内容** —— 内容走 `parts` 那一路。
4363
4396
  *
@@ -5108,7 +5141,7 @@ type AgentEvent =
5108
5141
  *
5109
5142
  * ⚠️ 这个类型 2026-08-13 之前**声明在这里、消费在 view、渲染在两个宿主,
5110
5143
  * 中间一个发射方都没有** —— 三边契约测试全绿,因为站在引擎位置上的是
5111
- * fixture 喂出来的假 agent。判据见 `.agents/plans/43-web-ui-shell-plan.md` §12.5。
5144
+ * fixture 喂出来的假 agent。判据见 `.epoch/plans/43-web-ui-shell-plan.md` §12.5。
5112
5145
  * **往这个 union 里加新类型时,先想清楚谁发。**
5113
5146
  */
5114
5147
  | {
@@ -7534,6 +7567,16 @@ type WireHubEvent =
7534
7567
  type: 'user-message';
7535
7568
  text: string;
7536
7569
  parts?: EpochContentPart[];
7570
+ /**
7571
+ * 这一条是**按哪条自定义斜杠命令**发出来的(2026-10-21)。
7572
+ *
7573
+ * `text` 是展开之后的正文(模型看到的那份),这一格是**来路** ——
7574
+ * 界面据此把这一段画成一行 `/命令名 参数`,而不是一大段用户从没打过的话。
7575
+ *
7576
+ * 缺席 = 这一条不是命令。手打的 `/foo` 认出来了也带它:屏幕上的那一行
7577
+ * 本来就是用户亲手敲的,只是展开之后的正文不该顶替它。
7578
+ */
7579
+ command?: EpochUserCommand;
7537
7580
  /** 发送方在 `POST /messages` 里给的编号,原样带回;没给就缺席(判据在 `WireSendMessageRequest.clientMessageId` 上) */
7538
7581
  clientMessageId?: string;
7539
7582
  };
@@ -7708,7 +7751,7 @@ type WireAuthGuard = (request: WireAuthRequestView) => WireAuthVerdict;
7708
7751
  /**
7709
7752
  * `fixtures/wire/*.json` 的形状。
7710
7753
  *
7711
- * [方案 02 的教训](../../../.agents/plans/README.md):整套成本闸门合进 main、
7754
+ * [方案 02 的教训](../../../.epoch/plans/README.md):整套成本闸门合进 main、
7712
7755
  * 一行都没接上,1105 条用例全绿也没拦住 —— 因为交接项只写在方案 md 里。
7713
7756
  * 所以 server 与 web 的交接锚点是**一份两边都跑的 fixture**:
7714
7757
  *
@@ -9867,6 +9910,33 @@ interface EpochTurnFacts {
9867
9910
  * **这个 0 是真的 0**(「无工具」),不是「不知道」—— 所以它必填。
9868
9911
  */
9869
9912
  toolCalls: number;
9913
+ /**
9914
+ * 这一轮**为什么失败**的那句话(用户看到的那一句,含根因)。2026-10-22。
9915
+ *
9916
+ * ## 它补的是「这条错误只活了一次直播」
9917
+ *
9918
+ * 出错时引擎发一帧 `error`,界面上当场画得出来。但那一帧**不落盘**:回放只认得
9919
+ * `finish_reason` 那一列的 `'error'`,于是刷新之后屏幕上只剩一句
9920
+ * 「这一轮出错中断了,上面那条错误是原因」—— **而「上面那条」已经随直播一起
9921
+ * 消失了**。真实事故(2026-10-22)里用户只看到一个 57s 的轮次停在那里、
9922
+ * 一条可查的原因都没有;同样的形状 `core/src/provider/errors.ts` 的头注里
9923
+ * 记着 2026-09-16 那次。
9924
+ *
9925
+ * ## 为什么落进 `turn_facts` 而不是 `finish_reason`
9926
+ *
9927
+ * `finish_reason` 是**枚举**(`FinishReason`),读侧按码穷举分叉(web 的
9928
+ * `FINISH_NOTE_KEYS`)。把一整句 provider 原话塞进那一列,等于让每个读侧都
9929
+ * 得先认「这是码还是句子」—— 那一列从此不可穷举,而穷举正是它存在的理由。
9930
+ *
9931
+ * 落进这一格还顺带拿到两件对的事:它跟着**最后一条 assistant 行**走,回退
9932
+ * (`rewindTo`)时和那一轮一起被截断;而且是 JSON 列,**不用给 `messages`
9933
+ * 加一列**(这一格和 `finish_reason` 是同一次收尾写下去的)。
9934
+ *
9935
+ * ⚠️ **缺席 ≠ 没出错。** 老库的行、以及「一轮里一条 assistant 行都没有」的
9936
+ * 那一档(`SessionStore.endTurn` 无处挂账)都读不到它。读侧那时只画通用那句,
9937
+ * 别把缺席读成「这一轮是干净的」。
9938
+ */
9939
+ error?: string;
9870
9940
  }
9871
9941
  /**
9872
9942
  * 回放的一行 —— runtime `StoredMessage` 的结构镜像(web 不许依赖 runtime)。
@@ -9880,6 +9950,15 @@ interface WireReplayMessage extends EpochMessage {
9880
9950
  id: number;
9881
9951
  /** 毫秒时间戳 */
9882
9952
  timestamp: number;
9953
+ /**
9954
+ * 这一条是**按哪条自定义斜杠命令**发出来的(2026-10-21)。
9955
+ *
9956
+ * 和 `WireHubEvent` 那一帧上的同名格子是**同一份数据、同一个理由**:
9957
+ * 展开之后的正文存进 `content` 喂模型,来路存 `messages.command` 那一列给界面。
9958
+ * 缺席 = 不是命令,或者这条是 v15 之前的库写的(那些正文照样能读,
9959
+ * 只是永远会显示成「用户说过这一段」)。
9960
+ */
9961
+ command?: EpochUserCommand;
9883
9962
  /**
9884
9963
  * 这一轮的账。**只有一轮里最后一条 assistant 行有**,见 {@link EpochTurnFacts}。
9885
9964
  *
@@ -10469,6 +10548,16 @@ type WireDiffOmitReason =
10469
10548
  *
10470
10549
  * 网线上传两侧全文、由前端算行级 diff —— 已有的 `DiffView` 吃的就是这个形状。
10471
10550
  * 传 patch 的话前端要么再解析一遍 unified 格式,要么就只能把它当纯文本贴出来。
10551
+ *
10552
+ * ## 2026-10-21:清单与内容分开了
10553
+ *
10554
+ * 一次列**全部**文件(不再有 200 个的上限),但两侧全文只随清单发首屏那几个,
10555
+ * 其余的 `deferred: true`,由前端滚到它时另取一条
10556
+ * `GET /api/sessions/:id/diff/file?path=…`。
10557
+ *
10558
+ * 判据是实测:200 个 2000 行的文件,一次响应 37 MB、前端 LCS 7.8 秒
10559
+ * (量法在 `server/src/workspace/diff.ts` 的 `MAX_INLINE_BYTES` 上)。
10560
+ * 文件数一放开,这个数跟着线性涨。
10472
10561
  */
10473
10562
  interface WireDiffFile {
10474
10563
  /** 相对 `root` 的路径,一律 `/` 分隔(Windows 上也是) */
@@ -10484,6 +10573,19 @@ interface WireDiffFile {
10484
10573
  newBytes: number | null;
10485
10574
  /** 内容为什么没给。给了就缺席 —— 所以它不在必填清单里 */
10486
10575
  omitted?: WireDiffOmitReason;
10576
+ /**
10577
+ * 内容**没随这一份发过来**,要去 `GET /api/sessions/:id/diff/file?path=…` 取
10578
+ * (2026-10-21)。
10579
+ *
10580
+ * ⚠️ **不能拿 `oldContent: null` 表达这件事。** 那个 `null` 在契约里有确切含义:
10581
+ * 「那一侧不存在」(新增 / 删除)。混用的话,一个新增文件在内容取回来之前会被
10582
+ * 画成「加载中」,取回来之后才变成「整个文件都是新增」—— 中间那一帧说的是假话。
10583
+ * `deferred` 是**第四种状态**,和 `omitted`(服务端说给不了)、`null`(那一侧
10584
+ * 不存在)、有内容这三种并列。
10585
+ *
10586
+ * 只出现在清单响应里;单文件那条端点发回来的对象上它恒缺席。
10587
+ */
10588
+ deferred?: true;
10487
10589
  }
10488
10590
  declare const WIRE_DIFF_FILE_FIELDS: WireFields<WireDiffFile>;
10489
10591
  /**
@@ -10507,7 +10609,10 @@ type WireDiffNote =
10507
10609
  * 而后者的下一步动作(去绑一个工作区)和前者完全不同。
10508
10610
  */
10509
10611
  | 'no-workspace'
10510
- /** 文件数超过上限,只给了前 N 个。**不静默截断** */
10612
+ /**
10613
+ * 清单被安全阀截断了,只给了前 N 个。**不静默截断**(同 `truncated` 那个字段的解释:
10614
+ * 2026-10-21 起它只在超过两万条时才出现,前端不再为它画任何东西)
10615
+ */
10511
10616
  | 'truncated';
10512
10617
  interface WireWorkspaceDiffResponse {
10513
10618
  source: WireDiffSource;
@@ -10546,12 +10651,42 @@ interface WireWorkspaceDiffResponse {
10546
10651
  */
10547
10652
  upstream?: string;
10548
10653
  files: readonly WireDiffFile[];
10549
- /** 文件数被上限截断了。真值时 `notes` 里必有 `truncated` */
10654
+ /**
10655
+ * 清单被安全阀截断了。真值时 `notes` 里必有 `truncated`。
10656
+ *
10657
+ * ⚠️ **2026-10-21 起它不再表示「你的改动超过 200 个」**:那个面向用户的限额撤了,
10658
+ * 文件一条不丢(用户要求的),`files` 里全部列出。现在它只在极端场合为真 ——
10659
+ * 一个仓库里有超过 `MAX_DIFF_ENTRIES`(两万)个改动条目,那个数纯属「别把服务打挂」
10660
+ * 的安全阀。前端**不再为这个码画任何东西**(判据在 `web/src/workspace/diff.tsx`
10661
+ * 的 `NOTE_TEXT`),保留它是为了服务端继续「不静默截断」。
10662
+ */
10550
10663
  truncated: boolean;
10551
10664
  /** 给界面用的说明码,可能有多条(比如「不是 git 仓库」+「没有改动」) */
10552
10665
  notes: readonly WireDiffNote[];
10553
10666
  }
10554
10667
  declare const WIRE_WORKSPACE_DIFF_FIELDS: WireFields<WireWorkspaceDiffResponse>;
10668
+ /**
10669
+ * `GET /api/sessions/:id/diff/file?path=…` 的响应(2026-10-21)。
10670
+ *
10671
+ * 就是**同一个文件**、同一个 `WireDiffFile` 形状,只是内容这一次真的带上了。
10672
+ * 不另造一个类型,因为前端要用同一套 `shapeFor()` / `omitted` 分流去画它 ——
10673
+ * 两个形状意味着两套判据,而 `diff-file.tsx` 文件头已经写明这套分流有多贵。
10674
+ *
10675
+ * ## ⚠️ 同一刻的两次读,可能对不上
10676
+ *
10677
+ * 清单和这一条是两个时刻读的(用户可能正边看边改)。所以这个文件在两次之间被
10678
+ * 改了的话,`status` / `oldBytes` / `newBytes` 是清单那一刻的,内容是这个文件
10679
+ * 这一发时读到的,两者会打架。**这一屏本来就不自动刷新**(`diff.tsx` 文件头
10680
+ * 「不自动刷新,给一个重新读」那一段),代价接受,不引入版本号对账。
10681
+ *
10682
+ * ## 路径走 query 而不是路径段
10683
+ *
10684
+ * 它里面带 `/`、空格、中文、还有 `#` / `?`。塞进路径段要先编码、服务端还要
10685
+ * 再解一次,而 `auth.ts` 的鉴权与 `splitPath()` 的 decode 都按路径段走 ——
10686
+ * 一个含 `%2F` 的段在不同中间层眼里是不是同一个东西要另说。query 里编码一次就完了。
10687
+ */
10688
+ type WireDiffFileResponse = WireDiffFile;
10689
+ declare const WIRE_DIFF_FILE_RESPONSE_FIELDS: WireFields<WireDiffFile>;
10555
10690
  /**
10556
10691
  * 这段会话当前生效的那份已批准计划。
10557
10692
  *
@@ -13259,6 +13394,28 @@ interface WirePluginHit {
13259
13394
  * 点下去是一条 `postMessage`,判据全文在 [plugin-menu.ts](./plugin-menu.ts) 文件头。
13260
13395
  */
13261
13396
  menu: readonly WirePluginMenuItem[];
13397
+ /**
13398
+ * 这一条来自宿主那份「我上传的」目录吗(2026-10-22)。**恒有。**
13399
+ *
13400
+ * ## ⚠️ 它是插件页上「市场 / 我上传的」两栏**唯一**的切分依据
13401
+ *
13402
+ * 这一份回执里**刻意没有第二个数组**:「我上传的」就是 `hits.filter(h => h.mine)`。
13403
+ * 两栏共用一个检索面、一份计数来源 —— 拆成两个数组的话,搜索框、两枚徽标、
13404
+ * 已安装那一栏找新版本(`hits.find(...)`)三处都要各问一次「这两份怎么合」,
13405
+ * 而漏掉哪一处的表现只是某一栏少一条,一个字不报。
13406
+ *
13407
+ * ## ⚠️ 它和 `installed` 是两件事,别混
13408
+ *
13409
+ * `installed` 答「这台机器上有没有装它」;这一格答「**这是不是我自己传上去的**」。
13410
+ * 一条自己上传的插件通常也装着(两个都 true),而自己也完全可能装别人上传的。
13411
+ * 界面上「市场」栏要的是 `!mine`,「已安装」栏两个都不看。
13412
+ *
13413
+ * ## ⚠️ 它由**服务端**从目录的 source 算出来,不是目录条目上的一格
13414
+ *
13415
+ * 宿主写进目录的字段里没有「当前用户」这个概念(`author` / `uploader_name` 是
13416
+ * 作者名,不是登录用户)。判据在 runtime 的 `PluginSearchHit.mine` 上。
13417
+ */
13418
+ mine: boolean;
13262
13419
  }
13263
13420
  /**
13264
13421
  * 分类树里的一个节点(2026-09-21)—— 市场自己声明的编目层级。
@@ -13578,6 +13735,33 @@ interface WirePluginUpdateRequest extends WirePluginNameRequest {
13578
13735
  token: string;
13579
13736
  }
13580
13737
  declare const WIRE_PLUGIN_UPDATE_FIELDS: WireFields<WirePluginUpdateRequest>;
13738
+ /**
13739
+ * `POST /api/plugins/view` 的请求体 —— 「这个插件是什么」(2026-10-22)。
13740
+ *
13741
+ * ## 它和上面那三条预览**不是同一件事**
13742
+ *
13743
+ * 那三条答的是「**这一下**会装 / 更新什么」,所以它们得把包**真取一遍**
13744
+ * (`git clone` / `npm pack` / 宿主下载),而且都要过一道 `allowRemote`。
13745
+ * 这一条答的是「**已经装着的**那个插件是干什么的」—— 材料就在盘上那个目录里,
13746
+ * 读一遍就够了,一个字节都不取、一条网络请求都不发。
13747
+ *
13748
+ * 用户点开市场卡或装着的那张卡读说明,走的正是这一条:装上之后那三条都用不上
13749
+ * (`install/preview` 会回 `conflict`、`update/preview` 只在真有新版时才该点,
13750
+ * 而软链装的那一档恒回 `nothing-to-do`),于是已安装的插件在界面上**一个入口都不剩**。
13751
+ *
13752
+ * ⚠️ **收的是名字而不是一条路径**,判据逐字同 {@link WirePluginNameRequest}:
13753
+ * 名字得先在安装记录里对得上,路径是**我们自己**从记录里取的。收路径的话,
13754
+ * 这条只读端点就变成「读这台机器上任意一个目录的 README」。
13755
+ *
13756
+ * ⚠️ **它刻意没有 `token` 那一格**(见 {@link WirePluginViewResponse}):回执里
13757
+ * 没有任何东西等着被确认,而一对「预览 / 确认」的形状会让下一个读代码的人以为
13758
+ * 这一屏也能按下去。
13759
+ */
13760
+ interface WirePluginViewRequest {
13761
+ /** 安装记录里的插件名(`plugins.json` 那一条的 `name`) */
13762
+ name: string;
13763
+ }
13764
+ declare const WIRE_PLUGIN_VIEW_FIELDS: WireFields<WirePluginViewRequest>;
13581
13765
  /**
13582
13766
  * 一次拒绝的档位。**每一档对一个不同的下一步** —— 照抄 runtime 的
13583
13767
  * `PluginRefuseReason`,一个字不改也不合并任何两档(合并的表现是界面拿同一句话
@@ -13833,6 +14017,32 @@ interface WirePluginPreviewResponse {
13833
14017
  detail: string | null;
13834
14018
  }
13835
14019
  declare const WIRE_PLUGIN_PREVIEW_RESPONSE_FIELDS: WireFields<WirePluginPreviewResponse>;
14020
+ /**
14021
+ * `POST /api/plugins/view` 的回执 —— 「这个插件是什么」(2026-10-22)。
14022
+ *
14023
+ * 内容那一格和 {@link WirePluginPreviewResponse.preview} **是同一个类型**:
14024
+ * 界面上那一屏是同一个组件(头部 / 插件介绍 / 功能 / 安装须知 / 安装信息),
14025
+ * 三档差别的只有眉题那一句和底下那条按钮。另开一份形状的话,两边迟早会分叉
14026
+ * ——差异只会体现在某一格有没有画出来,而没有任何东西会红。
14027
+ *
14028
+ * ⚠️ **刻意没有 `token`**,而这不是漏了:装上 / 更新那两条路上那一格是「用户确认
14029
+ * 过的是这一份」的凭据,而这一发**什么都不写、也确认不了任何事**。给一格恒
14030
+ * `null` 的 token 会让下一个读代码的人以为这一屏按下去会发生什么。
14031
+ *
14032
+ * ⚠️ 失败也是 200,判据同 {@link WirePluginPreviewResponse}:`not-installed`
14033
+ * (这个名字在记录里对不上)和 `failed`(目录里那份清单读不出来)都带着一句
14034
+ * 点得出下一步的人话。
14035
+ */
14036
+ interface WirePluginViewResponse {
14037
+ ok: boolean;
14038
+ /** 成了才有 */
14039
+ preview: WirePluginPreview | null;
14040
+ /** 没成才有 */
14041
+ reason: WirePluginRefuseReason | null;
14042
+ /** 没成才有。**服务端渲染好的一句人话**,界面原样上屏 */
14043
+ detail: string | null;
14044
+ }
14045
+ declare const WIRE_PLUGIN_VIEW_RESPONSE_FIELDS: WireFields<WirePluginViewResponse>;
13836
14046
  /**
13837
14047
  * 预览那三条端点的**流式**那一档(2026-10-11)。请求头带
13838
14048
  * `Accept: application/x-ndjson` 时,回执改成逐行 JSON:先若干行
@@ -15793,6 +16003,43 @@ declare function isAppearanceTranslucent(value: unknown): value is number;
15793
16003
  * @returns 0–100 的整数;认不出来 = `undefined`(调用方按「这一格没给」处理)
15794
16004
  */
15795
16005
  declare function normalizeAppearanceTranslucent(value: unknown): number | undefined;
16006
+ /**
16007
+ * 把「半透明侧边栏」编成**文本通道**上那个串(2026-10-21)。
16008
+ *
16009
+ * 文本通道有两个:localStorage 的 `epoch.translucentSidebar` 和首屏 URL 上的
16010
+ * `?translucentSidebar=`。两处都必须用这个编码,理由见
16011
+ * {@link parseAppearanceTranslucentText} 的第二段 —— **裸数字在这里是坏的**。
16012
+ *
16013
+ * 只负责拼串,不判值域:调用方那一侧本来就走 `isAppearanceTranslucent`
16014
+ * (同 `writeNumPref` 的「写这一层不判值」那条口径)。
16015
+ */
16016
+ declare function formatAppearanceTranslucent(value: number): string;
16017
+ /**
16018
+ * 读文本通道上那个串 —— **`%` 后缀存在的唯一理由:`0` / `1` 和老布尔撞车**。
16019
+ *
16020
+ * 这一格 2026-10-20 从开关改成 0–100 的滑杆,而开关时代它存的是裸 `'1'` / `'0'`
16021
+ * (localStorage 里)和 `?translucentSidebar=1`(首屏 URL 上)。于是**新的数值 0 和 1
16022
+ * 落上去之后和老布尔时代逐字节相同**:
16023
+ *
16024
+ * ```
16025
+ * 写 0 → localStorage "0" → 被当老布尔「关」→ 读回 100(不透明)
16026
+ * 写 1 → localStorage "1" → 被当老布尔「开」→ 读回 72
16027
+ * ```
16028
+ *
16029
+ * 屏幕上看到的是「滑杆拖到 1 弹回 72、拖到 0 弹回 100」,也就是**永远拖不到 0**
16030
+ * (2026-10-21 用户报的就是这一条,实测 2 是当时能到的最小值)。
16031
+ *
16032
+ * 所以新格式带一个 `%`:`'0%'` / `'1%'` / `'72%'` 一个都撞不上 `'0'` / `'1'`。
16033
+ * 三条规则,**顺序固定**:
16034
+ *
16035
+ * 1. `'<n>%'` → 数字(新格式,唯一能表达 0 / 1 的那一档)
16036
+ * 2. 裸 `'1'` / `'0'` → 72 / 100(老布尔;**这两格不能退**,否则老用户升级之后
16037
+ * 侧栏要么突然全透、要么突然不透明)
16038
+ * 3. 其余裸 `0–100` → 数字(2026-10-20 那一版和手改过的值就长这样,得照旧读得出来)
16039
+ *
16040
+ * @returns 0–100 的整数;认不出来 / 没给 = `undefined`(调用方按「这一格没设过」处理)
16041
+ */
16042
+ declare function parseAppearanceTranslucentText(raw: string | null | undefined): number | undefined;
15796
16043
  /** 背景媒体的类型。`none` = 不要背景 */
15797
16044
  declare const APPEARANCE_BACKGROUND_KINDS: readonly ["none", "image", "gif", "video"];
15798
16045
  type AppearanceBackgroundKind = (typeof APPEARANCE_BACKGROUND_KINDS)[number];
@@ -16019,6 +16266,237 @@ interface WireAppearanceResponse {
16019
16266
  */
16020
16267
  declare const WIRE_APPEARANCE_RESPONSE_FIELDS: WireFields<WireAppearanceResponse>;
16021
16268
 
16269
+ /**
16270
+ * 首屏那一份「外观字段 → query 参数 → localStorage 键」的登记表(2026-10-21)。
16271
+ *
16272
+ * ## 这张表为什么存在
16273
+ *
16274
+ * 外观偏好要活过一次重启,只有**首屏 URL** 这一个通道:界面只读 localStorage,
16275
+ * 而 localStorage 按 origin 隔离、宿主用 `port: 0` —— 每次启动都是新 origin,
16276
+ * 上一份存储压根不在。于是同一批字段必须在两处各搬一遍:
16277
+ *
16278
+ * | 谁 | 搬什么 |
16279
+ * | --- | --- |
16280
+ * | `server/src/bind.ts` | 盘上那份 → query 参数({@link encodeAppearanceFirstScreenValue})|
16281
+ * | `web/index.html` | query 参数 → localStorage(那段内联脚本,**import 不了任何东西**)|
16282
+ *
16283
+ * 这两处原来都是**手写的一串 `if`**,于是「加了一格、只改了其中一处」没有任何
16284
+ * 一处会报错。2026-10-21 之前有 8 格就是这样静默丢的(主题名 / 画布色 / 墨色 /
16285
+ * 气泡色 / perMode / 两档覆盖 / 背景明细),表现是「设置页里好好的、重启回出厂」,
16286
+ * 其中最显眼的一格是**背景视频整层不渲染**(面板半透明、底下什么都没有)。
16287
+ *
16288
+ * 所以服务端那一半改成类型驱动:这张表按 `keyof WireAppearanceRequest` 索引,
16289
+ * 少登记一格编译不过;`uiPresetParams` 遍历它,漏一格同样编译不过。
16290
+ *
16291
+ * ⚠️ **内联脚本那一半没法这样修**:它必须赶在任何 CSS 之前跑完(防 FOUC),
16292
+ * 所以它不能 import、也不能参与类型系统 —— 那一份仍然只能手写。它由
16293
+ * `web/__tests__/prefs.test.ts` 拿这张表做**集合相等**比对:登记了却没搬、
16294
+ * 或者搬了一个没登记的,那条会红。
16295
+ *
16296
+ * ## 顺序是 URL 契约的一部分
16297
+ *
16298
+ * 表的书写顺序(`Object.keys` 保序,键全是非数字串)**就是首屏 URL 上参数的
16299
+ * 顺序**,`server/__tests__/bind.test.ts` 逐格比着。今天它和
16300
+ * {@link WireAppearanceRequest} 的声明顺序一致 —— 加一格请加在语义上该在的位置,
16301
+ * 别图省事甩到末尾。
16302
+ */
16303
+
16304
+ /**
16305
+ * 这一格怎么变成 URL 上的一个字符串。
16306
+ *
16307
+ * 只描述**编码**,不描述值域 —— 值域是每格自己的 `guard`,两者正交:
16308
+ * `theme` 和 `uiFont` 都是 `enum` 但值域不同,`canvasColor` 和 `themeName`
16309
+ * 都是文本但一个要 hex。
16310
+ */
16311
+ type AppearanceFirstScreenKind =
16312
+ /** 封闭值域的名字,原样拼(`theme` / `uiFont` / `reduceMotion` …) */
16313
+ 'enum'
16314
+ /** 有长度约束的普通文本(`themeName`) */
16315
+ | 'text'
16316
+ /** `#rrggbb`(画布 / 墨色 / 气泡色) */
16317
+ | 'color'
16318
+ /** 预设名**或** `#rrggbb`(强调色两样都收) */
16319
+ | 'accent'
16320
+ /** 整数,拼十进制(宽度 / 字号 / 对比度) */
16321
+ | 'int'
16322
+ /** 0–100 的 alpha 百分比,拼 `<n>%`(⚠️ `100` = 不透明 = **不拼**) */
16323
+ | 'percent'
16324
+ /** 布尔,拼 `1` / `0`(query 上是字符串) */
16325
+ | 'bool'
16326
+ /** 对象,拼 JSON 文本(两档覆盖 / 背景明细) */
16327
+ | 'json';
16328
+ /** 表里的一格。 */
16329
+ interface AppearanceFirstScreenField {
16330
+ /**
16331
+ * query 上的参数名。
16332
+ *
16333
+ * 今天逐字等于字段名({@link APPEARANCE_FIRST_SCREEN_FIELDS} 的键),但**照样
16334
+ * 单独列出来**:它是 URL 契约,改名等于换契约,值得在表上占一行让人看见。
16335
+ */
16336
+ readonly param: string;
16337
+ /** localStorage 的键。`index.html` 写它、`web/src/prefs.ts` 读它 */
16338
+ readonly storageKey: string;
16339
+ readonly kind: AppearanceFirstScreenKind;
16340
+ /** 值域。`satisfies` 之后每格保留自己的守卫类型(`v is AppearanceTheme` 之类) */
16341
+ readonly guard: (value: unknown) => boolean;
16342
+ }
16343
+ /**
16344
+ * 外观字段的登记表 —— **加一格外观字段就从这儿开始**。
16345
+ *
16346
+ * `satisfies Record<keyof WireAppearanceRequest, …>` 是这个文件存在的理由:
16347
+ * `WireAppearanceRequest` 上多一格而这里没登记,编译当场不过。加完之后
16348
+ * 还有两处会红着提醒你(这正是想要的效果):
16349
+ *
16350
+ * 1. `server/__tests__/bind.test.ts` 那条「逐格出现在 URL 里」——
16351
+ * 样例里得补上它,否则参数名集合对不上;
16352
+ * 2. `web/__tests__/prefs.test.ts` 的集合相等 —— `index.html` 那段内联脚本
16353
+ * 还得手写一份接收(它 import 不了,见文件头)。
16354
+ */
16355
+ declare const APPEARANCE_FIRST_SCREEN_FIELDS: {
16356
+ readonly theme: {
16357
+ readonly param: "theme";
16358
+ readonly storageKey: "epoch.theme";
16359
+ readonly kind: "enum";
16360
+ readonly guard: typeof isAppearanceTheme;
16361
+ };
16362
+ readonly lang: {
16363
+ readonly param: "lang";
16364
+ readonly storageKey: "epoch.lang";
16365
+ readonly kind: "enum";
16366
+ readonly guard: typeof isAppearanceLang;
16367
+ };
16368
+ readonly sidebarWidth: {
16369
+ readonly param: "sidebarWidth";
16370
+ readonly storageKey: "epoch.sidebarWidth";
16371
+ readonly kind: "int";
16372
+ readonly guard: typeof isAppearanceSidebarWidth;
16373
+ };
16374
+ readonly diffTreeWidth: {
16375
+ readonly param: "diffTreeWidth";
16376
+ readonly storageKey: "epoch.diffTreeWidth";
16377
+ readonly kind: "int";
16378
+ readonly guard: typeof isAppearanceDiffTreeWidth;
16379
+ };
16380
+ readonly accent: {
16381
+ readonly param: "accent";
16382
+ readonly storageKey: "epoch.accent";
16383
+ readonly kind: "accent";
16384
+ readonly guard: typeof isAppearanceAccentValue;
16385
+ };
16386
+ readonly themeName: {
16387
+ readonly param: "themeName";
16388
+ readonly storageKey: "epoch.themeName";
16389
+ readonly kind: "text";
16390
+ readonly guard: typeof isAppearanceThemeName;
16391
+ };
16392
+ readonly canvasColor: {
16393
+ readonly param: "canvasColor";
16394
+ readonly storageKey: "epoch.canvasColor";
16395
+ readonly kind: "color";
16396
+ readonly guard: typeof isHexColor;
16397
+ };
16398
+ readonly inkColor: {
16399
+ readonly param: "inkColor";
16400
+ readonly storageKey: "epoch.inkColor";
16401
+ readonly kind: "color";
16402
+ readonly guard: typeof isHexColor;
16403
+ };
16404
+ readonly saidColor: {
16405
+ readonly param: "saidColor";
16406
+ readonly storageKey: "epoch.saidColor";
16407
+ readonly kind: "color";
16408
+ readonly guard: typeof isHexColor;
16409
+ };
16410
+ readonly fontSize: {
16411
+ readonly param: "fontSize";
16412
+ readonly storageKey: "epoch.fontSize";
16413
+ readonly kind: "int";
16414
+ readonly guard: typeof isAppearanceFontSize;
16415
+ };
16416
+ readonly codeFontSize: {
16417
+ readonly param: "codeFontSize";
16418
+ readonly storageKey: "epoch.codeFontSize";
16419
+ readonly kind: "int";
16420
+ readonly guard: typeof isAppearanceCodeFontSize;
16421
+ };
16422
+ readonly uiFont: {
16423
+ readonly param: "uiFont";
16424
+ readonly storageKey: "epoch.uiFont";
16425
+ readonly kind: "enum";
16426
+ readonly guard: typeof isAppearanceUiFont;
16427
+ };
16428
+ readonly codeFont: {
16429
+ readonly param: "codeFont";
16430
+ readonly storageKey: "epoch.codeFont";
16431
+ readonly kind: "enum";
16432
+ readonly guard: typeof isAppearanceCodeFont;
16433
+ };
16434
+ readonly reduceMotion: {
16435
+ readonly param: "reduceMotion";
16436
+ readonly storageKey: "epoch.reduceMotion";
16437
+ readonly kind: "enum";
16438
+ readonly guard: typeof isAppearanceMotion;
16439
+ };
16440
+ readonly translucentSidebar: {
16441
+ readonly param: "translucentSidebar";
16442
+ readonly storageKey: "epoch.translucentSidebar";
16443
+ readonly kind: "percent";
16444
+ readonly guard: (value: unknown) => boolean;
16445
+ };
16446
+ readonly contrast: {
16447
+ readonly param: "contrast";
16448
+ readonly storageKey: "epoch.contrast";
16449
+ readonly kind: "int";
16450
+ readonly guard: typeof isAppearanceContrast;
16451
+ };
16452
+ readonly perMode: {
16453
+ readonly param: "perMode";
16454
+ readonly storageKey: "epoch.perMode";
16455
+ readonly kind: "bool";
16456
+ readonly guard: (value: unknown) => value is boolean;
16457
+ };
16458
+ readonly light: {
16459
+ readonly param: "light";
16460
+ readonly storageKey: "epoch.lightPatch";
16461
+ readonly kind: "json";
16462
+ readonly guard: typeof isAppearanceModePatch;
16463
+ };
16464
+ readonly dark: {
16465
+ readonly param: "dark";
16466
+ readonly storageKey: "epoch.darkPatch";
16467
+ readonly kind: "json";
16468
+ readonly guard: typeof isAppearanceModePatch;
16469
+ };
16470
+ readonly background: {
16471
+ readonly param: "background";
16472
+ readonly storageKey: "epoch.background";
16473
+ readonly kind: "json";
16474
+ readonly guard: typeof isAppearanceBackground;
16475
+ };
16476
+ };
16477
+ /**
16478
+ * 首屏 URL 上**不是字段**的那一个参数:`background.kind !== 'none'` 的布尔投影。
16479
+ *
16480
+ * 它不进表(表按 `keyof WireAppearanceRequest` 索引,它不在那个类型上),理由也
16481
+ * 不该进:它没有任何新信息,喂的只是 CSS 的 `html[data-background='1']`
16482
+ * (三个内容面换半透明),而真正画背景的那一层读的是上面 `background` 那个 JSON。
16483
+ *
16484
+ * ⚠️ **两个都要拼**:只拼这一个的话重启之后是「面板半透明、底下什么都没有」。
16485
+ */
16486
+ declare const APPEARANCE_BACKGROUND_ON_PARAM = "backgroundOn";
16487
+ /** 遍历顺序 = 首屏 URL 上的参数顺序(见文件头「顺序是 URL 契约的一部分」)。 */
16488
+ declare const APPEARANCE_FIRST_SCREEN_FIELD_ORDER: readonly (keyof WireAppearanceRequest)[];
16489
+ /**
16490
+ * 把一格外观字段编成首屏 query 上的那个字符串。
16491
+ *
16492
+ * 认不出来 / 这一格是「等于默认所以不必拼」= `undefined`(调用方按「不拼这个参数」
16493
+ * 处理)。
16494
+ *
16495
+ * ⚠️ **值域在这里再判一次**,哪怕调用方已经筛过:`uiPresetParams` 的入参
16496
+ * 有一半来自宿主(`createWebServer({ ui })`),那一份没经过 `storedUiPreset`。
16497
+ */
16498
+ declare function encodeAppearanceFirstScreenValue(field: keyof WireAppearanceRequest, value: unknown): string | undefined;
16499
+
16022
16500
  /**
16023
16501
  * 「盘上那份外观偏好」→「宿主该怎么画」(2026-10-20)。
16024
16502
  *
@@ -18134,4 +18612,4 @@ declare const SECRET_SERVICE = "epoch-agent";
18134
18612
  */
18135
18613
  declare const MCP_DATA_KEY_NAME = "mcp-auth-data-key";
18136
18614
 
18137
- export { ACTION_CONTEXTS, AGENT_ROLE_NAME_PATTERN, API_KEY_ENV_VARS, APPEARANCE_ACCENTS, APPEARANCE_BACKGROUND_FITS, APPEARANCE_BACKGROUND_KINDS, APPEARANCE_CODE_FONTS, APPEARANCE_CODE_FONT_SIZE, APPEARANCE_CONTRAST, APPEARANCE_DEFAULT_CODE_FONT_SIZE, APPEARANCE_DEFAULT_FONT_SIZE, APPEARANCE_DIFF_TREE_WIDTH, APPEARANCE_FONT_SIZE, APPEARANCE_LANGS, APPEARANCE_MOTION, APPEARANCE_ROOT_ATTRIBUTES, APPEARANCE_SIDEBAR_WIDTH, APPEARANCE_THEMES, APPEARANCE_THEME_NAME_MAX, APPEARANCE_TRANSLUCENT, APPEARANCE_UI_FONTS, APPROVAL_OUTCOMES, type ActiveAgentRole, type AgentEvent, type AgentEventOf, type AgentEventType, type AgentRole, type AgentRoleScope, type AgentRoleSource, type AppearanceAccent, type AppearanceAccentValue, type AppearanceBackground, type AppearanceBackgroundFit, type AppearanceBackgroundKind, type AppearanceCodeFont, type AppearanceEffectiveTheme, type AppearanceLang, type AppearanceModePatch, type AppearanceMotion, type AppearanceTheme, type AppearanceUiFont, type AppearanceVisualSource, type ApprovalAnswer, type ApprovalOutcome, type ApprovalReply, type ApprovalRequest, type ApprovalScope, type ArtifactKind, type AttributeValue, type Attributes, BRAND_WHEN_SIDEBAR_COLLAPSED, type BackgroundTaskInfo, type BackgroundTaskKind, type BackgroundTaskStatus, type BlankCard, type BlankGreeting, type BoundKey, type BrandWhenSidebarCollapsed, type BudgetBreach, COMMAND_NAME_PATTERN, COMPLIANCE_ACTIONS, COMPLIANCE_CATEGORIES, CURRENCIES, type Catalogs, type ComplianceAction, type ComplianceCategory, type ContextBreakdown, type ContextNote, type ContextSegment, type ContextSegmentKind, type Currency, type CurrencyDisplay, type CustomCommandDef, type CustomCommandSource, DEFAULT_AGENT_ROLE, DEFAULT_LANG, type DecidedTrustLevel, type Diagnostic, DiagnosticSink, type DiagnosticStatus, ENTRY_REF_PREFIX, ENTRY_SECRET_PREFIX, type EpochConfig, type EpochContentPart, type EpochFilePart, type EpochHook, type EpochImagePart, type EpochMessage, type EpochMessageRole, type EpochPlugin, type EpochSessionPart, type EpochSkill, type EpochTextPart, type EpochTool, type EpochToolCall, type EpochToolResult, type EpochTurnFacts, type EpochUserContent, type ExpandedCommand, FOLLOW_SYSTEM, type FileOmitReason, type FinishReason, type FixableApproval, type FlatCatalog, type FormatMoneyOptions, GEN_AI, HEADLESS_INPUT_EVENT_TYPES, HEADLESS_INPUT_FORMATS, HEADLESS_OUTPUT_FORMATS, HEADLESS_PROTOCOL_VERSION, type HeadlessEnvelope, type HeadlessEvent, type HeadlessInit, type HeadlessInputEvent, type HeadlessInputEventType, type HeadlessInputFormat, type HeadlessLifecycleEvent, type HeadlessOutputFormat, type HeadlessResult, type HeadlessResultReason, type HookContext, type HookEvent, type HookHandler, type HookManager, type HookRegistration, type HookType, type HostText, type HostUser, type Hsv, type JsonSchema, KEY_ACTIONS, type KeyAction, type KeyChord, type KeyContext, type KeySequence, type KeybindingReport, type KeybindingSource, type KeybindingTable, LANGS, LINK_CLICKED_MESSAGE_TYPE, type Lang, type LinkClickedMessage, type LocalizedDetail, type LogFn, MAX_ATTACH_BYTES, MAX_ATTACH_FILES, MAX_ATTACH_TOTAL_BYTES, MAX_HEADER_CHARS, MAX_LINK_URL, MAX_OPTIONS, MAX_QUESTIONS, MAX_SESSION_ATTACH_BYTES, MAX_SESSION_REFS, MCP_DATA_KEY_NAME, METRIC, MIN_OPTIONS, MODEL_ENTRY_PROTOCOLS, type MentionSet, type ModelEntry, type ModelEntryCapabilities, type ModelEntryProtocol, type ModelRef, type ModelSelection, type ModelSelectionOrigin, type MoneyDigits, NOOP_TELEMETRY, type NoticeCode, OPENABLE_LINK_SCHEMES, OPEN_SETTINGS_MESSAGE_TYPE, OPERATION_TYPES, OVERSIZE_RATIO, type OpenSettingsMessage, type Operation, type OperationType, PERMISSION_LEVELS, PLAN_OUTCOMES, PLUGIN_CATEGORY_DISPLAY_SEP, PLUGIN_MENU_MESSAGE_TYPE, PLUGIN_PREVIEW_STREAM_MIME, PLUGIN_UPLOAD_MULTI_SEP, PROVIDER_INFOS, PROVIDER_TYPES, type PermissionDecision, type PermissionLevel, type PermissionManager, type PermissionRuleLists, type PlanApprovalOutcome, type PlanProposal, type PluginContext, type PluginMenuMessage, type ProviderInfo, type ProviderType, type QuestionAnswer, type QuestionItem, type QuestionOption, type QuestionPage, type QuestionRequest, REASONING_EFFORTS, REASONING_OFF, RESERVED_CHORDS, RESERVED_COMMAND_NAMES, type ReasoningChoice, type ReasoningEffort, type ReasoningState, type RejectReason, type RejectedKey, type ResolvedAppearanceVisual, type RuleValue, SCHEDULE_DRAFT_SAVED_MARK, SCHEDULE_DRAFT_TOOL, SCHEDULE_INTERVAL_MAX_MINUTES, SCHEDULE_INTERVAL_MIN_MINUTES, SCHEDULE_MAX_TIMES_PER_DAY, SCHEDULE_RUN_STATUSES, SEARCH_API_KEY_ENV, SEARCH_PROVIDER_TYPES, SECRET_SERVICE, SEQUENCE_CONTEXTS, SESSION_MENTION_PREFIX, SESSION_REFERENCE_ERROR_CODES, SETTINGS_PANE_IDS, SHELL_KINDS, SIDEBAR_MENU_MESSAGE_TYPE, SIMULTANEOUS_CONTEXTS, SYSTEM_NOTE_PREFIX, type ScheduleAllowlist, type ScheduleBackendKind, type ScheduleCronTrigger, type ScheduleCycle, type ScheduleDefinition, type ScheduleDraft, type ScheduleDraftAllowlist, type ScheduleDraftCreate, type ScheduleDraftPermission, type ScheduleDraftUpdate, type SchedulePendingApproval, type SchedulePendingItem, type ScheduleRun, type ScheduleRunStatus, type ScheduleRunnerSpec, type ScheduleTrigger, type ScheduleTriggerKind, type ScheduleWeekday, type ScheduleWideningKind, type SearchProviderType, type SecretBackendId, type SecretStore, type SelectionContext, type SelectionRejection, type SelectionWarning, type SessionAttachKind, type SessionAttachResult, type SessionOmitReason, type SessionSurfaceMessage, type SessionSurfaceView, type SetSelectionResult, type SettingsPaneId, type SettingsPaneItem, type ShellKind, type SidebarMenuItem, type SidebarMenuMessage, type SidebarNavItem, type SpanLike, type SubToolCall, type SubToolCallResult, type Telemetry, type TokenUsage, type ToolAnnotations, type ToolArtifact, type ToolArtifactInput, type ToolContext, type ToolDefinition, ToolExposure, type ToolProvider, type ToolResult, type Translate, type TranslateVars, type TrustExecGrant, type TrustGrant, type TrustLevel, type TrustManager, type TrustRecord, type TrustScope, type TrustTier, UNLIMITED_TURNS, USER_MENU_MESSAGE_TYPE, type UserMenuMessage, type VerifyResult, WIRE_ABORT_FIELDS, WIRE_ABOUT_FIELDS, WIRE_AGENT_ROLE_FIELDS, WIRE_APPEARANCE_RESPONSE_FIELDS, WIRE_APPROVAL_CACHE_REVOKE_REQUEST_FIELDS, WIRE_APPROVAL_CACHE_REVOKE_RESPONSE_FIELDS, WIRE_APPROVAL_LIST_FIELDS, WIRE_APPROVAL_ROW_FIELDS, WIRE_ARTIFACTS_FIELDS, WIRE_ATTACHMENT_FOLDER_FIELDS, WIRE_ATTACHMENT_UPLOAD_FIELDS, WIRE_AUDIT_LOG_FIELDS, WIRE_AUDIT_ROW_FIELDS, WIRE_AUTH_COOKIE, WIRE_AUTH_COOKIE_ATTRS, WIRE_AUTH_TOKEN_PARAM, WIRE_BACKGROUND_TASK_FIELDS, WIRE_BLOCKED_GOALS_FIELDS, WIRE_BLOCKED_GOAL_FIELDS, WIRE_BLOCKED_LEVEL_FIELDS, WIRE_BUILTIN_CONNECTOR_FIELDS, WIRE_CACHED_APPROVAL_FIELDS, WIRE_CAPABILITIES_FIELDS, WIRE_CAPABILITY_PROJECT_FIELDS, WIRE_CHECKPOINT_LIST_FIELDS, WIRE_CHECKPOINT_SUMMARY_FIELDS, WIRE_COMMANDS_FIELDS, WIRE_COMMAND_EXPANSION_FIELDS, WIRE_COMPACT_FIELDS, WIRE_COMPRESSION_LINE_FIELDS, WIRE_CONFIG_FIELDS, WIRE_CONTEXT_FIELDS, WIRE_CREATE_SESSION_FIELDS, WIRE_CREATE_WORKSPACE_FIELDS, WIRE_CREATE_WORKSPACE_RESPONSE_FIELDS, WIRE_CUSTOM_COMMAND_FIELDS, WIRE_DELETE_SESSION_FIELDS, WIRE_DIFF_FILE_FIELDS, WIRE_ERROR_FIELDS, WIRE_FILE_CANDIDATES_FIELDS, WIRE_FILE_CANDIDATE_FIELDS, WIRE_FILE_CHANGE_FIELDS, WIRE_FILE_OPEN_RESPONSE_FIELDS, WIRE_FILE_REFERENCE_FIELDS, WIRE_FILE_STAT_MAX, WIRE_FILE_STAT_OK_FIELDS, WIRE_FILE_STAT_REFUSED_FIELDS, WIRE_FILE_STAT_RESPONSE_FIELDS, WIRE_FILE_TEXT_RESPONSE_FIELDS, WIRE_FORGET_WORKSPACE_FIELDS, WIRE_FORGET_WORKSPACE_RESPONSE_FIELDS, WIRE_GOAL_ACTIONS, WIRE_GOAL_BLOCK_FIELDS, WIRE_GOAL_CLEAR_FIELDS, WIRE_GOAL_CREATE_FIELDS, WIRE_GOAL_FIELDS, WIRE_GOAL_LIMITS_FIELDS, WIRE_GOAL_PHASES, WIRE_GOAL_REFUSALS, WIRE_GOAL_RESPONSE_FIELDS, WIRE_GOAL_WRITE_FIELDS, WIRE_HEALTH_FIELDS, WIRE_IMAGE_REFERENCE_FIELDS, WIRE_KNOWN_WORKSPACE_FIELDS, WIRE_LANG_PARAM, WIRE_LAST_SESSION_FIELDS, WIRE_LAST_SESSION_RESPONSE_FIELDS, WIRE_MANAGED_LOCK_FIELDS, WIRE_MCP_ADD_FIELDS, WIRE_MCP_ADD_RESPONSE_FIELDS, WIRE_MCP_APPLY_ENTRY_FIELDS, WIRE_MCP_APPLY_RESPONSE_FIELDS, WIRE_MCP_CONFIG_APPLY_FIELDS, WIRE_MCP_CONFIG_FIELDS, WIRE_MCP_CONFIG_ISSUE_FIELDS, WIRE_MCP_CONFIG_SAVE_FIELDS, WIRE_MCP_CONFIG_SAVE_RESPONSE_FIELDS, WIRE_MCP_CONNECTOR_FIELDS, WIRE_MCP_RECONNECT_FIELDS, WIRE_MESSAGE_LIST_FIELDS, WIRE_MODEL_ENTRIES_FIELDS, WIRE_MODEL_ENTRY_MODELS_FIELDS, WIRE_MODEL_ENTRY_SAVE_FIELDS, WIRE_MODEL_ENTRY_TEST_FIELDS, WIRE_MODEL_FIELDS, WIRE_MODEL_SELECTION_FIELDS, WIRE_MODEL_SET_FIELDS, WIRE_PATCH_SESSION_FIELDS, WIRE_PATCH_SESSION_RESPONSE_FIELDS, WIRE_PERMISSION_RULE_FIELDS, WIRE_PERMISSION_SET_REQUEST_FIELDS, WIRE_PERMISSION_SET_RESPONSE_FIELDS, WIRE_PERMISSION_SHADOW_FIELDS, WIRE_PERMISSION_STATE_FIELDS, WIRE_PERMISSION_STATUS_FIELDS, WIRE_PLAN_ACTIONS, WIRE_PLAN_FIELDS, WIRE_PLAN_MODE_REQUEST_FIELDS, WIRE_PLAN_MODE_RESPONSE_FIELDS, WIRE_PLAN_MODE_STATE_FIELDS, WIRE_PLUGINS_FIELDS, WIRE_PLUGIN_ACTION_FIELDS, WIRE_PLUGIN_ARCHIVE_SUFFIXES, WIRE_PLUGIN_INSTALL_FIELDS, WIRE_PLUGIN_LOCAL_FIELDS, WIRE_PLUGIN_LOCAL_INSTALL_FIELDS, WIRE_PLUGIN_MARKETPLACE_FIELDS, WIRE_PLUGIN_MARKETPLACE_RESPONSE_FIELDS, WIRE_PLUGIN_NAME_FIELDS, WIRE_PLUGIN_PREVIEW_FIELDS, WIRE_PLUGIN_PREVIEW_RESPONSE_FIELDS, WIRE_PLUGIN_REFRESH_RESPONSE_FIELDS, WIRE_PLUGIN_STAGE_FIELDS, WIRE_PLUGIN_STAGE_RESPONSE_FIELDS, WIRE_PLUGIN_UPDATE_FIELDS, WIRE_PLUGIN_UPLOAD_CONFIRM_FIELDS, WIRE_PLUGIN_UPLOAD_FIELDS, WIRE_PLUGIN_UPLOAD_FORM_FIELDS, WIRE_PLUGIN_UPLOAD_PREVIEW_RESPONSE_FIELDS, WIRE_PLUGIN_UPLOAD_RESPONSE_FIELDS, WIRE_POLICY_DIR_FIELDS, WIRE_POLICY_STATUS_FIELDS, WIRE_PROJECT_INVENTORY_FIELDS, WIRE_PROVIDER_GROUPS, WIRE_QUESTION_LIST_FIELDS, WIRE_QUESTION_ROW_FIELDS, WIRE_RESPOND_APPROVAL_FIELDS, WIRE_RESPOND_APPROVAL_RESPONSE_FIELDS, WIRE_RESPOND_QUESTION_FIELDS, WIRE_RESPOND_QUESTION_RESPONSE_FIELDS, WIRE_REVIVE_FIELDS, WIRE_REWIND_FILE_PLAN_FIELDS, WIRE_REWIND_OUTCOME_FIELDS, WIRE_REWIND_PREVIEW_FIELDS, WIRE_REWIND_REQUEST_FIELDS, WIRE_REWIND_RESPONSE_FIELDS, WIRE_REWIND_SCOPES, WIRE_ROLES_FIELDS, WIRE_ROLE_ADD_FIELDS, WIRE_ROLE_ADD_RESPONSE_FIELDS, WIRE_ROLE_REMOVE_FIELDS, WIRE_RUNNING_SCHEDULE_FIELDS, WIRE_SANDBOX_STATUS_FIELDS, WIRE_SCHEDULE_CAPABILITY_FIELDS, WIRE_SCHEDULE_CREATE_FIELDS, WIRE_SCHEDULE_DEFAULTS_FIELDS, WIRE_SCHEDULE_DELETE_FIELDS, WIRE_SCHEDULE_FIELDS, WIRE_SCHEDULE_FIX_FIELDS, WIRE_SCHEDULE_FIX_REQUEST_FIELDS, WIRE_SCHEDULE_ISSUE_CODES, WIRE_SCHEDULE_LIST_FIELDS, WIRE_SCHEDULE_PENDING_FIELDS, WIRE_SCHEDULE_RECORDING_FIELDS, WIRE_SCHEDULE_ROW_FIELDS, WIRE_SCHEDULE_RUNNING_FIELDS, WIRE_SCHEDULE_RUNS_FIELDS, WIRE_SCHEDULE_RUN_FIELDS, WIRE_SCHEDULE_SAVE_FIELDS, WIRE_SECURITY_FIELDS, WIRE_SECURITY_WORKSPACE_FIELDS, WIRE_SEND_MESSAGE_FIELDS, WIRE_SEND_MESSAGE_RESPONSE_FIELDS, WIRE_SESSION_CANDIDATES_FIELDS, WIRE_SESSION_CANDIDATE_FIELDS, WIRE_SESSION_FINISH_FIELDS, WIRE_SESSION_LIST_FIELDS, WIRE_SESSION_REFERENCE_FIELDS, WIRE_SESSION_RESPONSE_FIELDS, WIRE_SESSION_SUMMARY_FIELDS, WIRE_SESSION_WORKSPACE_FIELDS, WIRE_SESSION_WORKSPACE_RESPONSE_FIELDS, WIRE_SETTINGS_FIELDS, WIRE_SETTINGS_WRITE_FIELDS, WIRE_SETTINGS_WRITE_REQUEST_FIELDS, WIRE_SETTING_PENDING_FIELDS, WIRE_SETTING_ROW_FIELDS, WIRE_SETTING_STEP_FIELDS, WIRE_SETTING_WRITE_FIELDS, WIRE_SETTING_WRITE_LAYERS, WIRE_SKILL_BODY_FIELDS, WIRE_SKILL_DROP_SUFFIXES, WIRE_SKILL_FIELDS, WIRE_SKILL_IMPORT_FIELDS, WIRE_SKILL_IMPORT_PREVIEW_FIELDS, WIRE_SKILL_REMOVE_FIELDS, WIRE_SKILL_STAGE_FIELDS, WIRE_TASKS_FIELDS, WIRE_TOOLS_FIELDS, WIRE_TOOL_GATE_FIELDS, WIRE_TOOL_ROW_FIELDS, WIRE_TRUST_REQUEST_FIELDS, WIRE_TRUST_REQUEST_RESPONSE_FIELDS, WIRE_WITHDRAW_MESSAGE_FIELDS, WIRE_WORKSPACE_DIFF_FIELDS, WIRE_WORKSPACE_DIRS_FIELDS, WIRE_WORKSPACE_DIR_ENTRY_FIELDS, WIRE_WORKSPACE_REF_FIELDS, type WireAbortResponse, type WireAbout, type WireAgentEnvelope, type WireAgentEvent, type WireAgentRoleSummary, type WireAppearanceRequest, type WireAppearanceResponse, type WireApprovalCacheRevokeRequest, type WireApprovalCacheRevokeResponse, type WireApprovalListResponse, type WireApprovalRequest, type WireArtifactsResponse, type WireAttachmentFolderResponse, type WireAttachmentUploadResponse, type WireAuditCode, type WireAuditLog, type WireAuditOutcome, type WireAuditRow, type WireAuthDenyReason, type WireAuthDenyStatus, type WireAuthGuard, type WireAuthRequestView, type WireAuthVerdict, type WireBackgroundTask, type WireBindWorkspaceRequest, type WireBlockedGoal, type WireBlockedGoalsResponse, type WireBlockedLevel, type WireBuiltinConnector, type WireCachedApproval, type WireCachedDecision, type WireCapabilitiesResponse, type WireCapabilityProject, type WireCheckpointListResponse, type WireCheckpointSummary, type WireCommandExpansion, type WireCommandsResponse, type WireCompactRequest, type WireCompactResponse, type WireCompressionLine, type WireConfigResponse, type WireContextResponse, type WireCreateSessionRequest, type WireCreateSessionResponse, type WireCreateWorkspaceRequest, type WireCreateWorkspaceResponse, type WireCustomCommand, type WireDeleteSessionResponse, type WireDiffFile, type WireDiffNote, type WireDiffOmitReason, type WireDiffSource, type WireDiffStatus, type WireEffectiveModel, type WireEffectiveSlots, type WireEntryProbeCode, type WireEntryProvider, type WireEnvelope, type WireErrorResponse, type WireEvent, type WireFields, type WireFileCandidate, type WireFileCandidatesResponse, type WireFileChange, type WireFileKind, type WireFileOpenRefusal, type WireFileOpenResponse, type WireFileReference, type WireFileRefusal, type WireFileStat, type WireFileStatOk, type WireFileStatRefused, type WireFileStatResponse, type WireFileTextResponse, type WireFixture, type WireFixtureCase, type WireForgetWorkspaceRequest, type WireForgetWorkspaceResponse, type WireGoal, type WireGoalBlock, type WireGoalClearResponse, type WireGoalCreateRequest, type WireGoalLimits, type WireGoalPhase, type WireGoalRefusal, type WireGoalResponse, type WireGoalUpdateRequest, type WireGoalWriteResponse, type WireHealthResponse, type WireHostBadgeRequest, type WireHostBadges, type WireHostCompose, type WireHostComposeRequest, type WireHostComposeResponse, type WireHostComposeStateResponse, type WireHostComposeTakeResponse, type WireHubEnvelope, type WireHubEvent, type WireImageReference, type WireKnownWorkspace, type WireKnownWorkspaceRef, type WireLastSessionRequest, type WireLastSessionResponse, type WireManagedLock, type WireMcpAddRequest, type WireMcpAddResponse, type WireMcpApplyAction, type WireMcpApplyEntry, type WireMcpApplyResponse, type WireMcpConfigApplyRequest, type WireMcpConfigIssue, type WireMcpConfigResponse, type WireMcpConfigSaveRequest, type WireMcpConfigSaveResponse, type WireMcpConnector, type WireMcpReconnectResponse, type WireMessageListResponse, type WireModelCaveat, type WireModelEffortRequest, type WireModelEffortResponse, type WireModelEntriesResponse, type WireModelEntry, type WireModelEntryModelsResponse, type WireModelEntryProbeRequest, type WireModelEntryRefRequest, type WireModelEntryRefs, type WireModelEntrySaveRequest, type WireModelEntrySaveResponse, type WireModelEntryTestResponse, type WireModelRejection, type WireModelResponse, type WireModelSelection, type WireModelSetRequest, type WireModelSetResponse, type WirePatchSessionRequest, type WirePatchSessionResponse, type WirePermissionRememberFailure, type WirePermissionRuleRow, type WirePermissionSetRequest, type WirePermissionSetResponse, type WirePermissionShadow, type WirePermissionState, type WirePermissionStatus, type WirePickDirectoryResponse, type WirePlanAction, type WirePlanModeRequest, type WirePlanModeResponse, type WirePlanModeState, type WirePlanResponse, type WirePluginActionResponse, type WirePluginCategory, type WirePluginCounts, type WirePluginDependency, type WirePluginDependencyInventory, type WirePluginDependencyStatus, type WirePluginDoc, type WirePluginDocs, type WirePluginEntry, type WirePluginHit, type WirePluginHookTally, type WirePluginInstallRequest, type WirePluginLocalInstallRequest, type WirePluginLocalRequest, type WirePluginMarketplace, type WirePluginMarketplaceRequest, type WirePluginMarketplaceResponse, type WirePluginMenuItem, type WirePluginNameRequest, type WirePluginPanel, type WirePluginPreview, type WirePluginPreviewRequest, type WirePluginPreviewResponse, type WirePluginPreviewStreamLine, type WirePluginProgressStep, type WirePluginRefreshResponse, type WirePluginRefuseReason, type WirePluginSourceType, type WirePluginStageRequest, type WirePluginStageResponse, type WirePluginStatus, type WirePluginUpdateRequest, type WirePluginUploadChoice, type WirePluginUploadConfirmRequest, type WirePluginUploadField, type WirePluginUploadFieldName, type WirePluginUploadFields, type WirePluginUploadFile, type WirePluginUploadForm, type WirePluginUploadPlan, type WirePluginUploadPreviewResponse, type WirePluginUploadRequest, type WirePluginUploadResponse, type WirePluginVersionUnmet, type WirePluginVisibility, type WirePluginsResponse, type WirePolicyDir, type WirePolicyStatus, type WireProjectInventory, type WireProviderGroup, type WireQuestionListResponse, type WireQuestionRequest, type WireReplayMessage, type WireResetReason, type WireRespondApprovalRequest, type WireRespondApprovalResponse, type WireRespondQuestionRequest, type WireRespondQuestionResponse, type WireReviveResponse, type WireRewindAction, type WireRewindDrift, type WireRewindFilePlan, type WireRewindOutcome, type WireRewindPreview, type WireRewindRequest, type WireRewindResponse, type WireRewindScope, type WireRoleAddRequest, type WireRoleAddResponse, type WireRoleRemoveFailure, type WireRoleRemoveResponse, type WireRolesResponse, type WireRunningSchedule, type WireSandboxReason, type WireSandboxStatus, type WireScheduleCapability, type WireScheduleCreateRequest, type WireScheduleDefaults, type WireScheduleDeleteResponse, type WireScheduleFixRequest, type WireScheduleFixResponse, type WireScheduleIssue, type WireScheduleIssueCode, type WireScheduleListResponse, type WireSchedulePendingResponse, type WireScheduleRecordingResponse, type WireScheduleRegisterRefusal, type WireScheduleRegisterWarning, type WireScheduleRegistration, type WireScheduleResponse, type WireScheduleRow, type WireScheduleRunResponse, type WireScheduleRunningResponse, type WireScheduleRunsResponse, type WireScheduleSaveResponse, type WireScheduleUpdateRequest, type WireSecurityResponse, type WireSecurityWorkspace, type WireSendMessageRequest, type WireSendMessageResponse, type WireSessionCandidate, type WireSessionCandidatesResponse, type WireSessionFinish, type WireSessionListResponse, type WireSessionReference, type WireSessionResponse, type WireSessionSummary, type WireSessionWorkspace, type WireSessionWorkspaceResponse, type WireSettingApply, type WireSettingFutile, type WireSettingLayer, type WireSettingPending, type WireSettingRow, type WireSettingStep, type WireSettingValue, type WireSettingValueKind, type WireSettingWrite, type WireSettingWriteLayer, type WireSettingsResponse, type WireSettingsWriteRequest, type WireSettingsWriteResponse, type WireSkillBodyResponse, type WireSkillImportConflict, type WireSkillImportEntry, type WireSkillImportFailure, type WireSkillImportForm, type WireSkillImportIssue, type WireSkillImportPreviewResponse, type WireSkillImportResponse, type WireSkillRemoveFailure, type WireSkillRemoveResponse, type WireSkillStageFailure, type WireSkillStageResponse, type WireSkillSummary, type WireSummaryWorkspace, type WireTaggedEvent, type WireTasksResponse, type WireToolGate, type WireToolGateAxis, type WireToolRow, type WireToolSummary, type WireToolVerdict, type WireToolsResponse, type WireTrustRequestRequest, type WireTrustRequestResponse, type WireTurnState, type WireWithdrawMessageResponse, type WireWorkspaceBinding, type WireWorkspaceDiffResponse, type WireWorkspaceDirEntry, type WireWorkspaceDirsResponse, type WireWorkspaceRef, accentScale, apiKeyEnvVar, appearanceInlineVars, appearanceRootAttributes, appearanceVisualCss, assertNeverPart, assistantTurnText, attachSessionSurface, chordId, collectPendingApprovals, compressionThresholdTokens, conformsToWire, contentToText, cronTimes, diagnosticToLine, entryDisplayName, entryRef, entrySecretName, extractAllMentions, extractMentions, extractSessionMentions, filePartSummary, flattenCatalog, formatMoney, getProviderInfo, hasFailure, hexToHsv, hsvToHex, imagePartOmittedSummary, isAppearanceAccent, isAppearanceAccentValue, isAppearanceBackground, isAppearanceBackgroundFit, isAppearanceBackgroundKind, isAppearanceCodeFont, isAppearanceCodeFontSize, isAppearanceContrast, isAppearanceDiffTreeWidth, isAppearanceFontSize, isAppearanceLang, isAppearanceModePatch, isAppearanceMotion, isAppearanceSidebarWidth, isAppearanceTheme, isAppearanceThemeName, isAppearanceTranslucent, isAppearanceUiFont, isApprovalOutcome, isContextNearlyFull, isCurrency, isEntrySecretName, isHeadlessInputFormat, isHeadlessLifecycleEvent, isHeadlessOutputFormat, isHexColor, isKeyAction, isLang, isMentionableFilePath, isModelEntryId, isOpenableLink, isOperationType, isPermissionLevel, isPlanOutcome, isPromptOversize, isProviderType, isQuestionAnswerMap, isReasoningEffort, isSearchProviderType, isSettingsPaneId, isValidAgentRoleName, isValidCommandName, isWireGoalPhase, isWireHubEvent, isWirePlanAction, isWirePluginArchiveName, isWireRewindScope, isWireSettingWriteLayer, isWireSkillDropName, joinUploadMulti, makeTranslate, mcpConnectorState, normalizeAppearanceTranslucent, normalizeApproval, packSessionSurface, parseChord, parseModelRef, parseSequence, perAction, placeholdersOf, promptTokens, relativeLuminance, resolveAppearanceVisual, resolveHostText, sequenceId, sessionPartSummary, snapAppearanceContrast, splitUploadMulti, stripSystemNote, systemNote, tableOf, totalUsageTokens, translatorFor, truncateToBudget, turnDigest, unfixedRules, utf8ByteLength, wireFields };
18615
+ export { ACTION_CONTEXTS, AGENT_ROLE_NAME_PATTERN, API_KEY_ENV_VARS, APPEARANCE_ACCENTS, APPEARANCE_BACKGROUND_FITS, APPEARANCE_BACKGROUND_KINDS, APPEARANCE_BACKGROUND_ON_PARAM, APPEARANCE_CODE_FONTS, APPEARANCE_CODE_FONT_SIZE, APPEARANCE_CONTRAST, APPEARANCE_DEFAULT_CODE_FONT_SIZE, APPEARANCE_DEFAULT_FONT_SIZE, APPEARANCE_DIFF_TREE_WIDTH, APPEARANCE_FIRST_SCREEN_FIELDS, APPEARANCE_FIRST_SCREEN_FIELD_ORDER, APPEARANCE_FONT_SIZE, APPEARANCE_LANGS, APPEARANCE_MOTION, APPEARANCE_ROOT_ATTRIBUTES, APPEARANCE_SIDEBAR_WIDTH, APPEARANCE_THEMES, APPEARANCE_THEME_NAME_MAX, APPEARANCE_TRANSLUCENT, APPEARANCE_UI_FONTS, APPROVAL_OUTCOMES, type ActiveAgentRole, type AgentEvent, type AgentEventOf, type AgentEventType, type AgentRole, type AgentRoleScope, type AgentRoleSource, type AppearanceAccent, type AppearanceAccentValue, type AppearanceBackground, type AppearanceBackgroundFit, type AppearanceBackgroundKind, type AppearanceCodeFont, type AppearanceEffectiveTheme, type AppearanceFirstScreenField, type AppearanceFirstScreenKind, type AppearanceLang, type AppearanceModePatch, type AppearanceMotion, type AppearanceTheme, type AppearanceUiFont, type AppearanceVisualSource, type ApprovalAnswer, type ApprovalOutcome, type ApprovalReply, type ApprovalRequest, type ApprovalScope, type ArtifactKind, type AttributeValue, type Attributes, BRAND_WHEN_SIDEBAR_COLLAPSED, type BackgroundTaskInfo, type BackgroundTaskKind, type BackgroundTaskStatus, type BlankCard, type BlankGreeting, type BoundKey, type BrandWhenSidebarCollapsed, type BudgetBreach, COMMAND_NAME_PATTERN, COMPLIANCE_ACTIONS, COMPLIANCE_CATEGORIES, CURRENCIES, type Catalogs, type ComplianceAction, type ComplianceCategory, type ContextBreakdown, type ContextNote, type ContextSegment, type ContextSegmentKind, type Currency, type CurrencyDisplay, type CustomCommandDef, type CustomCommandSource, DEFAULT_AGENT_ROLE, DEFAULT_LANG, type DecidedTrustLevel, type Diagnostic, DiagnosticSink, type DiagnosticStatus, ENTRY_REF_PREFIX, ENTRY_SECRET_PREFIX, type EpochConfig, type EpochContentPart, type EpochFilePart, type EpochHook, type EpochImagePart, type EpochMessage, type EpochMessageRole, type EpochPlugin, type EpochSessionPart, type EpochSkill, type EpochTextPart, type EpochTool, type EpochToolCall, type EpochToolResult, type EpochTurnFacts, type EpochUserCommand, type EpochUserContent, type ExpandedCommand, FOLLOW_SYSTEM, type FileOmitReason, type FinishReason, type FixableApproval, type FlatCatalog, type FormatMoneyOptions, GEN_AI, HEADLESS_INPUT_EVENT_TYPES, HEADLESS_INPUT_FORMATS, HEADLESS_OUTPUT_FORMATS, HEADLESS_PROTOCOL_VERSION, type HeadlessEnvelope, type HeadlessEvent, type HeadlessInit, type HeadlessInputEvent, type HeadlessInputEventType, type HeadlessInputFormat, type HeadlessLifecycleEvent, type HeadlessOutputFormat, type HeadlessResult, type HeadlessResultReason, type HookContext, type HookEvent, type HookHandler, type HookManager, type HookRegistration, type HookType, type HostText, type HostUser, type Hsv, type JsonSchema, KEY_ACTIONS, type KeyAction, type KeyChord, type KeyContext, type KeySequence, type KeybindingReport, type KeybindingSource, type KeybindingTable, LANGS, LINK_CLICKED_MESSAGE_TYPE, type Lang, type LinkClickedMessage, type LocalizedDetail, type LogFn, MAX_ATTACH_BYTES, MAX_ATTACH_FILES, MAX_ATTACH_TOTAL_BYTES, MAX_HEADER_CHARS, MAX_LINK_URL, MAX_OPTIONS, MAX_QUESTIONS, MAX_SESSION_ATTACH_BYTES, MAX_SESSION_REFS, MCP_DATA_KEY_NAME, METRIC, MIN_OPTIONS, MODEL_ENTRY_PROTOCOLS, type MentionSet, type ModelEntry, type ModelEntryCapabilities, type ModelEntryProtocol, type ModelRef, type ModelSelection, type ModelSelectionOrigin, type MoneyDigits, NOOP_TELEMETRY, type NoticeCode, OPENABLE_LINK_SCHEMES, OPEN_SETTINGS_MESSAGE_TYPE, OPERATION_TYPES, OVERSIZE_RATIO, type OpenSettingsMessage, type Operation, type OperationType, PERMISSION_LEVELS, PLAN_OUTCOMES, PLUGIN_CATEGORY_DISPLAY_SEP, PLUGIN_MENU_MESSAGE_TYPE, PLUGIN_PREVIEW_STREAM_MIME, PLUGIN_UPLOAD_MULTI_SEP, PROVIDER_INFOS, PROVIDER_TYPES, type PermissionDecision, type PermissionLevel, type PermissionManager, type PermissionRuleLists, type PlanApprovalOutcome, type PlanProposal, type PluginContext, type PluginMenuMessage, type ProviderInfo, type ProviderType, type QuestionAnswer, type QuestionItem, type QuestionOption, type QuestionPage, type QuestionRequest, REASONING_EFFORTS, REASONING_OFF, RESERVED_CHORDS, RESERVED_COMMAND_NAMES, type ReasoningChoice, type ReasoningEffort, type ReasoningState, type RejectReason, type RejectedKey, type ResolvedAppearanceVisual, type RuleValue, SCHEDULE_DRAFT_SAVED_MARK, SCHEDULE_DRAFT_TOOL, SCHEDULE_INTERVAL_MAX_MINUTES, SCHEDULE_INTERVAL_MIN_MINUTES, SCHEDULE_MAX_TIMES_PER_DAY, SCHEDULE_RUN_STATUSES, SEARCH_API_KEY_ENV, SEARCH_PROVIDER_TYPES, SECRET_SERVICE, SEQUENCE_CONTEXTS, SESSION_MENTION_PREFIX, SESSION_REFERENCE_ERROR_CODES, SETTINGS_PANE_IDS, SHELL_KINDS, SIDEBAR_MENU_MESSAGE_TYPE, SIMULTANEOUS_CONTEXTS, SYSTEM_NOTE_PREFIX, type ScheduleAllowlist, type ScheduleBackendKind, type ScheduleCronTrigger, type ScheduleCycle, type ScheduleDefinition, type ScheduleDraft, type ScheduleDraftAllowlist, type ScheduleDraftCreate, type ScheduleDraftPermission, type ScheduleDraftUpdate, type SchedulePendingApproval, type SchedulePendingItem, type ScheduleRun, type ScheduleRunStatus, type ScheduleRunnerSpec, type ScheduleTrigger, type ScheduleTriggerKind, type ScheduleWeekday, type ScheduleWideningKind, type SearchProviderType, type SecretBackendId, type SecretStore, type SelectionContext, type SelectionRejection, type SelectionWarning, type SessionAttachKind, type SessionAttachResult, type SessionOmitReason, type SessionSurfaceMessage, type SessionSurfaceView, type SetSelectionResult, type SettingsPaneId, type SettingsPaneItem, type ShellKind, type SidebarMenuItem, type SidebarMenuMessage, type SidebarNavItem, type SpanLike, type SubToolCall, type SubToolCallResult, type Telemetry, type TokenUsage, type ToolAnnotations, type ToolArtifact, type ToolArtifactInput, type ToolContext, type ToolDefinition, ToolExposure, type ToolProvider, type ToolResult, type Translate, type TranslateVars, type TrustExecGrant, type TrustGrant, type TrustLevel, type TrustManager, type TrustRecord, type TrustScope, type TrustTier, UNLIMITED_TURNS, USER_MENU_MESSAGE_TYPE, type UserMenuMessage, type VerifyResult, WIRE_ABORT_FIELDS, WIRE_ABOUT_FIELDS, WIRE_AGENT_ROLE_FIELDS, WIRE_APPEARANCE_RESPONSE_FIELDS, WIRE_APPROVAL_CACHE_REVOKE_REQUEST_FIELDS, WIRE_APPROVAL_CACHE_REVOKE_RESPONSE_FIELDS, WIRE_APPROVAL_LIST_FIELDS, WIRE_APPROVAL_ROW_FIELDS, WIRE_ARTIFACTS_FIELDS, WIRE_ATTACHMENT_FOLDER_FIELDS, WIRE_ATTACHMENT_UPLOAD_FIELDS, WIRE_AUDIT_LOG_FIELDS, WIRE_AUDIT_ROW_FIELDS, WIRE_AUTH_COOKIE, WIRE_AUTH_COOKIE_ATTRS, WIRE_AUTH_TOKEN_PARAM, WIRE_BACKGROUND_TASK_FIELDS, WIRE_BLOCKED_GOALS_FIELDS, WIRE_BLOCKED_GOAL_FIELDS, WIRE_BLOCKED_LEVEL_FIELDS, WIRE_BUILTIN_CONNECTOR_FIELDS, WIRE_CACHED_APPROVAL_FIELDS, WIRE_CAPABILITIES_FIELDS, WIRE_CAPABILITY_PROJECT_FIELDS, WIRE_CHECKPOINT_LIST_FIELDS, WIRE_CHECKPOINT_SUMMARY_FIELDS, WIRE_COMMANDS_FIELDS, WIRE_COMMAND_EXPANSION_FIELDS, WIRE_COMPACT_FIELDS, WIRE_COMPRESSION_LINE_FIELDS, WIRE_CONFIG_FIELDS, WIRE_CONTEXT_FIELDS, WIRE_CREATE_SESSION_FIELDS, WIRE_CREATE_WORKSPACE_FIELDS, WIRE_CREATE_WORKSPACE_RESPONSE_FIELDS, WIRE_CUSTOM_COMMAND_FIELDS, WIRE_DELETE_SESSION_FIELDS, WIRE_DIFF_FILE_FIELDS, WIRE_DIFF_FILE_RESPONSE_FIELDS, WIRE_ERROR_FIELDS, WIRE_FILE_CANDIDATES_FIELDS, WIRE_FILE_CANDIDATE_FIELDS, WIRE_FILE_CHANGE_FIELDS, WIRE_FILE_OPEN_RESPONSE_FIELDS, WIRE_FILE_REFERENCE_FIELDS, WIRE_FILE_STAT_MAX, WIRE_FILE_STAT_OK_FIELDS, WIRE_FILE_STAT_REFUSED_FIELDS, WIRE_FILE_STAT_RESPONSE_FIELDS, WIRE_FILE_TEXT_RESPONSE_FIELDS, WIRE_FORGET_WORKSPACE_FIELDS, WIRE_FORGET_WORKSPACE_RESPONSE_FIELDS, WIRE_GOAL_ACTIONS, WIRE_GOAL_BLOCK_FIELDS, WIRE_GOAL_CLEAR_FIELDS, WIRE_GOAL_CREATE_FIELDS, WIRE_GOAL_FIELDS, WIRE_GOAL_LIMITS_FIELDS, WIRE_GOAL_PHASES, WIRE_GOAL_REFUSALS, WIRE_GOAL_RESPONSE_FIELDS, WIRE_GOAL_WRITE_FIELDS, WIRE_HEALTH_FIELDS, WIRE_IMAGE_REFERENCE_FIELDS, WIRE_KNOWN_WORKSPACE_FIELDS, WIRE_LANG_PARAM, WIRE_LAST_SESSION_FIELDS, WIRE_LAST_SESSION_RESPONSE_FIELDS, WIRE_MANAGED_LOCK_FIELDS, WIRE_MCP_ADD_FIELDS, WIRE_MCP_ADD_RESPONSE_FIELDS, WIRE_MCP_APPLY_ENTRY_FIELDS, WIRE_MCP_APPLY_RESPONSE_FIELDS, WIRE_MCP_CONFIG_APPLY_FIELDS, WIRE_MCP_CONFIG_FIELDS, WIRE_MCP_CONFIG_ISSUE_FIELDS, WIRE_MCP_CONFIG_SAVE_FIELDS, WIRE_MCP_CONFIG_SAVE_RESPONSE_FIELDS, WIRE_MCP_CONNECTOR_FIELDS, WIRE_MCP_RECONNECT_FIELDS, WIRE_MESSAGE_LIST_FIELDS, WIRE_MODEL_ENTRIES_FIELDS, WIRE_MODEL_ENTRY_MODELS_FIELDS, WIRE_MODEL_ENTRY_SAVE_FIELDS, WIRE_MODEL_ENTRY_TEST_FIELDS, WIRE_MODEL_FIELDS, WIRE_MODEL_SELECTION_FIELDS, WIRE_MODEL_SET_FIELDS, WIRE_PATCH_SESSION_FIELDS, WIRE_PATCH_SESSION_RESPONSE_FIELDS, WIRE_PERMISSION_RULE_FIELDS, WIRE_PERMISSION_SET_REQUEST_FIELDS, WIRE_PERMISSION_SET_RESPONSE_FIELDS, WIRE_PERMISSION_SHADOW_FIELDS, WIRE_PERMISSION_STATE_FIELDS, WIRE_PERMISSION_STATUS_FIELDS, WIRE_PLAN_ACTIONS, WIRE_PLAN_FIELDS, WIRE_PLAN_MODE_REQUEST_FIELDS, WIRE_PLAN_MODE_RESPONSE_FIELDS, WIRE_PLAN_MODE_STATE_FIELDS, WIRE_PLUGINS_FIELDS, WIRE_PLUGIN_ACTION_FIELDS, WIRE_PLUGIN_ARCHIVE_SUFFIXES, WIRE_PLUGIN_INSTALL_FIELDS, WIRE_PLUGIN_LOCAL_FIELDS, WIRE_PLUGIN_LOCAL_INSTALL_FIELDS, WIRE_PLUGIN_MARKETPLACE_FIELDS, WIRE_PLUGIN_MARKETPLACE_RESPONSE_FIELDS, WIRE_PLUGIN_NAME_FIELDS, WIRE_PLUGIN_PREVIEW_FIELDS, WIRE_PLUGIN_PREVIEW_RESPONSE_FIELDS, WIRE_PLUGIN_REFRESH_RESPONSE_FIELDS, WIRE_PLUGIN_STAGE_FIELDS, WIRE_PLUGIN_STAGE_RESPONSE_FIELDS, WIRE_PLUGIN_UPDATE_FIELDS, WIRE_PLUGIN_UPLOAD_CONFIRM_FIELDS, WIRE_PLUGIN_UPLOAD_FIELDS, WIRE_PLUGIN_UPLOAD_FORM_FIELDS, WIRE_PLUGIN_UPLOAD_PREVIEW_RESPONSE_FIELDS, WIRE_PLUGIN_UPLOAD_RESPONSE_FIELDS, WIRE_PLUGIN_VIEW_FIELDS, WIRE_PLUGIN_VIEW_RESPONSE_FIELDS, WIRE_POLICY_DIR_FIELDS, WIRE_POLICY_STATUS_FIELDS, WIRE_PROJECT_INVENTORY_FIELDS, WIRE_PROVIDER_GROUPS, WIRE_QUESTION_LIST_FIELDS, WIRE_QUESTION_ROW_FIELDS, WIRE_RESPOND_APPROVAL_FIELDS, WIRE_RESPOND_APPROVAL_RESPONSE_FIELDS, WIRE_RESPOND_QUESTION_FIELDS, WIRE_RESPOND_QUESTION_RESPONSE_FIELDS, WIRE_REVIVE_FIELDS, WIRE_REWIND_FILE_PLAN_FIELDS, WIRE_REWIND_OUTCOME_FIELDS, WIRE_REWIND_PREVIEW_FIELDS, WIRE_REWIND_REQUEST_FIELDS, WIRE_REWIND_RESPONSE_FIELDS, WIRE_REWIND_SCOPES, WIRE_ROLES_FIELDS, WIRE_ROLE_ADD_FIELDS, WIRE_ROLE_ADD_RESPONSE_FIELDS, WIRE_ROLE_REMOVE_FIELDS, WIRE_RUNNING_SCHEDULE_FIELDS, WIRE_SANDBOX_STATUS_FIELDS, WIRE_SCHEDULE_CAPABILITY_FIELDS, WIRE_SCHEDULE_CREATE_FIELDS, WIRE_SCHEDULE_DEFAULTS_FIELDS, WIRE_SCHEDULE_DELETE_FIELDS, WIRE_SCHEDULE_FIELDS, WIRE_SCHEDULE_FIX_FIELDS, WIRE_SCHEDULE_FIX_REQUEST_FIELDS, WIRE_SCHEDULE_ISSUE_CODES, WIRE_SCHEDULE_LIST_FIELDS, WIRE_SCHEDULE_PENDING_FIELDS, WIRE_SCHEDULE_RECORDING_FIELDS, WIRE_SCHEDULE_ROW_FIELDS, WIRE_SCHEDULE_RUNNING_FIELDS, WIRE_SCHEDULE_RUNS_FIELDS, WIRE_SCHEDULE_RUN_FIELDS, WIRE_SCHEDULE_SAVE_FIELDS, WIRE_SECURITY_FIELDS, WIRE_SECURITY_WORKSPACE_FIELDS, WIRE_SEND_MESSAGE_FIELDS, WIRE_SEND_MESSAGE_RESPONSE_FIELDS, WIRE_SESSION_CANDIDATES_FIELDS, WIRE_SESSION_CANDIDATE_FIELDS, WIRE_SESSION_FINISH_FIELDS, WIRE_SESSION_LIST_FIELDS, WIRE_SESSION_REFERENCE_FIELDS, WIRE_SESSION_RESPONSE_FIELDS, WIRE_SESSION_SUMMARY_FIELDS, WIRE_SESSION_WORKSPACE_FIELDS, WIRE_SESSION_WORKSPACE_RESPONSE_FIELDS, WIRE_SETTINGS_FIELDS, WIRE_SETTINGS_WRITE_FIELDS, WIRE_SETTINGS_WRITE_REQUEST_FIELDS, WIRE_SETTING_PENDING_FIELDS, WIRE_SETTING_ROW_FIELDS, WIRE_SETTING_STEP_FIELDS, WIRE_SETTING_WRITE_FIELDS, WIRE_SETTING_WRITE_LAYERS, WIRE_SKILL_BODY_FIELDS, WIRE_SKILL_DROP_SUFFIXES, WIRE_SKILL_FIELDS, WIRE_SKILL_IMPORT_FIELDS, WIRE_SKILL_IMPORT_PREVIEW_FIELDS, WIRE_SKILL_REMOVE_FIELDS, WIRE_SKILL_STAGE_FIELDS, WIRE_TASKS_FIELDS, WIRE_TOOLS_FIELDS, WIRE_TOOL_GATE_FIELDS, WIRE_TOOL_ROW_FIELDS, WIRE_TRUST_REQUEST_FIELDS, WIRE_TRUST_REQUEST_RESPONSE_FIELDS, WIRE_WITHDRAW_MESSAGE_FIELDS, WIRE_WORKSPACE_DIFF_FIELDS, WIRE_WORKSPACE_DIRS_FIELDS, WIRE_WORKSPACE_DIR_ENTRY_FIELDS, WIRE_WORKSPACE_REF_FIELDS, type WireAbortResponse, type WireAbout, type WireAgentEnvelope, type WireAgentEvent, type WireAgentRoleSummary, type WireAppearanceRequest, type WireAppearanceResponse, type WireApprovalCacheRevokeRequest, type WireApprovalCacheRevokeResponse, type WireApprovalListResponse, type WireApprovalRequest, type WireArtifactsResponse, type WireAttachmentFolderResponse, type WireAttachmentUploadResponse, type WireAuditCode, type WireAuditLog, type WireAuditOutcome, type WireAuditRow, type WireAuthDenyReason, type WireAuthDenyStatus, type WireAuthGuard, type WireAuthRequestView, type WireAuthVerdict, type WireBackgroundTask, type WireBindWorkspaceRequest, type WireBlockedGoal, type WireBlockedGoalsResponse, type WireBlockedLevel, type WireBuiltinConnector, type WireCachedApproval, type WireCachedDecision, type WireCapabilitiesResponse, type WireCapabilityProject, type WireCheckpointListResponse, type WireCheckpointSummary, type WireCommandExpansion, type WireCommandsResponse, type WireCompactRequest, type WireCompactResponse, type WireCompressionLine, type WireConfigResponse, type WireContextResponse, type WireCreateSessionRequest, type WireCreateSessionResponse, type WireCreateWorkspaceRequest, type WireCreateWorkspaceResponse, type WireCustomCommand, type WireDeleteSessionResponse, type WireDiffFile, type WireDiffFileResponse, type WireDiffNote, type WireDiffOmitReason, type WireDiffSource, type WireDiffStatus, type WireEffectiveModel, type WireEffectiveSlots, type WireEntryProbeCode, type WireEntryProvider, type WireEnvelope, type WireErrorResponse, type WireEvent, type WireFields, type WireFileCandidate, type WireFileCandidatesResponse, type WireFileChange, type WireFileKind, type WireFileOpenRefusal, type WireFileOpenResponse, type WireFileReference, type WireFileRefusal, type WireFileStat, type WireFileStatOk, type WireFileStatRefused, type WireFileStatResponse, type WireFileTextResponse, type WireFixture, type WireFixtureCase, type WireForgetWorkspaceRequest, type WireForgetWorkspaceResponse, type WireGoal, type WireGoalBlock, type WireGoalClearResponse, type WireGoalCreateRequest, type WireGoalLimits, type WireGoalPhase, type WireGoalRefusal, type WireGoalResponse, type WireGoalUpdateRequest, type WireGoalWriteResponse, type WireHealthResponse, type WireHostBadgeRequest, type WireHostBadges, type WireHostCompose, type WireHostComposeRequest, type WireHostComposeResponse, type WireHostComposeStateResponse, type WireHostComposeTakeResponse, type WireHubEnvelope, type WireHubEvent, type WireImageReference, type WireKnownWorkspace, type WireKnownWorkspaceRef, type WireLastSessionRequest, type WireLastSessionResponse, type WireManagedLock, type WireMcpAddRequest, type WireMcpAddResponse, type WireMcpApplyAction, type WireMcpApplyEntry, type WireMcpApplyResponse, type WireMcpConfigApplyRequest, type WireMcpConfigIssue, type WireMcpConfigResponse, type WireMcpConfigSaveRequest, type WireMcpConfigSaveResponse, type WireMcpConnector, type WireMcpReconnectResponse, type WireMessageListResponse, type WireModelCaveat, type WireModelEffortRequest, type WireModelEffortResponse, type WireModelEntriesResponse, type WireModelEntry, type WireModelEntryModelsResponse, type WireModelEntryProbeRequest, type WireModelEntryRefRequest, type WireModelEntryRefs, type WireModelEntrySaveRequest, type WireModelEntrySaveResponse, type WireModelEntryTestResponse, type WireModelRejection, type WireModelResponse, type WireModelSelection, type WireModelSetRequest, type WireModelSetResponse, type WirePatchSessionRequest, type WirePatchSessionResponse, type WirePermissionRememberFailure, type WirePermissionRuleRow, type WirePermissionSetRequest, type WirePermissionSetResponse, type WirePermissionShadow, type WirePermissionState, type WirePermissionStatus, type WirePickDirectoryResponse, type WirePlanAction, type WirePlanModeRequest, type WirePlanModeResponse, type WirePlanModeState, type WirePlanResponse, type WirePluginActionResponse, type WirePluginCategory, type WirePluginCounts, type WirePluginDependency, type WirePluginDependencyInventory, type WirePluginDependencyStatus, type WirePluginDoc, type WirePluginDocs, type WirePluginEntry, type WirePluginHit, type WirePluginHookTally, type WirePluginInstallRequest, type WirePluginLocalInstallRequest, type WirePluginLocalRequest, type WirePluginMarketplace, type WirePluginMarketplaceRequest, type WirePluginMarketplaceResponse, type WirePluginMenuItem, type WirePluginNameRequest, type WirePluginPanel, type WirePluginPreview, type WirePluginPreviewRequest, type WirePluginPreviewResponse, type WirePluginPreviewStreamLine, type WirePluginProgressStep, type WirePluginRefreshResponse, type WirePluginRefuseReason, type WirePluginSourceType, type WirePluginStageRequest, type WirePluginStageResponse, type WirePluginStatus, type WirePluginUpdateRequest, type WirePluginUploadChoice, type WirePluginUploadConfirmRequest, type WirePluginUploadField, type WirePluginUploadFieldName, type WirePluginUploadFields, type WirePluginUploadFile, type WirePluginUploadForm, type WirePluginUploadPlan, type WirePluginUploadPreviewResponse, type WirePluginUploadRequest, type WirePluginUploadResponse, type WirePluginVersionUnmet, type WirePluginViewRequest, type WirePluginViewResponse, type WirePluginVisibility, type WirePluginsResponse, type WirePolicyDir, type WirePolicyStatus, type WireProjectInventory, type WireProviderGroup, type WireQuestionListResponse, type WireQuestionRequest, type WireReplayMessage, type WireResetReason, type WireRespondApprovalRequest, type WireRespondApprovalResponse, type WireRespondQuestionRequest, type WireRespondQuestionResponse, type WireReviveResponse, type WireRewindAction, type WireRewindDrift, type WireRewindFilePlan, type WireRewindOutcome, type WireRewindPreview, type WireRewindRequest, type WireRewindResponse, type WireRewindScope, type WireRoleAddRequest, type WireRoleAddResponse, type WireRoleRemoveFailure, type WireRoleRemoveResponse, type WireRolesResponse, type WireRunningSchedule, type WireSandboxReason, type WireSandboxStatus, type WireScheduleCapability, type WireScheduleCreateRequest, type WireScheduleDefaults, type WireScheduleDeleteResponse, type WireScheduleFixRequest, type WireScheduleFixResponse, type WireScheduleIssue, type WireScheduleIssueCode, type WireScheduleListResponse, type WireSchedulePendingResponse, type WireScheduleRecordingResponse, type WireScheduleRegisterRefusal, type WireScheduleRegisterWarning, type WireScheduleRegistration, type WireScheduleResponse, type WireScheduleRow, type WireScheduleRunResponse, type WireScheduleRunningResponse, type WireScheduleRunsResponse, type WireScheduleSaveResponse, type WireScheduleUpdateRequest, type WireSecurityResponse, type WireSecurityWorkspace, type WireSendMessageRequest, type WireSendMessageResponse, type WireSessionCandidate, type WireSessionCandidatesResponse, type WireSessionFinish, type WireSessionListResponse, type WireSessionReference, type WireSessionResponse, type WireSessionSummary, type WireSessionWorkspace, type WireSessionWorkspaceResponse, type WireSettingApply, type WireSettingFutile, type WireSettingLayer, type WireSettingPending, type WireSettingRow, type WireSettingStep, type WireSettingValue, type WireSettingValueKind, type WireSettingWrite, type WireSettingWriteLayer, type WireSettingsResponse, type WireSettingsWriteRequest, type WireSettingsWriteResponse, type WireSkillBodyResponse, type WireSkillImportConflict, type WireSkillImportEntry, type WireSkillImportFailure, type WireSkillImportForm, type WireSkillImportIssue, type WireSkillImportPreviewResponse, type WireSkillImportResponse, type WireSkillRemoveFailure, type WireSkillRemoveResponse, type WireSkillStageFailure, type WireSkillStageResponse, type WireSkillSummary, type WireSummaryWorkspace, type WireTaggedEvent, type WireTasksResponse, type WireToolGate, type WireToolGateAxis, type WireToolRow, type WireToolSummary, type WireToolVerdict, type WireToolsResponse, type WireTrustRequestRequest, type WireTrustRequestResponse, type WireTurnState, type WireWithdrawMessageResponse, type WireWorkspaceBinding, type WireWorkspaceDiffResponse, type WireWorkspaceDirEntry, type WireWorkspaceDirsResponse, type WireWorkspaceRef, accentScale, apiKeyEnvVar, appearanceInlineVars, appearanceRootAttributes, appearanceVisualCss, assertNeverPart, assistantTurnText, attachSessionSurface, chordId, collectPendingApprovals, compressionThresholdTokens, conformsToWire, contentToText, cronTimes, diagnosticToLine, encodeAppearanceFirstScreenValue, entryDisplayName, entryRef, entrySecretName, extractAllMentions, extractMentions, extractSessionMentions, filePartSummary, flattenCatalog, formatAppearanceTranslucent, formatMoney, getProviderInfo, hasFailure, hexToHsv, hsvToHex, imagePartOmittedSummary, isAppearanceAccent, isAppearanceAccentValue, isAppearanceBackground, isAppearanceBackgroundFit, isAppearanceBackgroundKind, isAppearanceCodeFont, isAppearanceCodeFontSize, isAppearanceContrast, isAppearanceDiffTreeWidth, isAppearanceFontSize, isAppearanceLang, isAppearanceModePatch, isAppearanceMotion, isAppearanceSidebarWidth, isAppearanceTheme, isAppearanceThemeName, isAppearanceTranslucent, isAppearanceUiFont, isApprovalOutcome, isContextNearlyFull, isCurrency, isEntrySecretName, isHeadlessInputFormat, isHeadlessLifecycleEvent, isHeadlessOutputFormat, isHexColor, isKeyAction, isLang, isMentionableFilePath, isModelEntryId, isOpenableLink, isOperationType, isPermissionLevel, isPlanOutcome, isPromptOversize, isProviderType, isQuestionAnswerMap, isReasoningEffort, isSearchProviderType, isSettingsPaneId, isValidAgentRoleName, isValidCommandName, isWireGoalPhase, isWireHubEvent, isWirePlanAction, isWirePluginArchiveName, isWireRewindScope, isWireSettingWriteLayer, isWireSkillDropName, joinUploadMulti, makeTranslate, mcpConnectorState, normalizeAppearanceTranslucent, normalizeApproval, packSessionSurface, parseAppearanceTranslucentText, parseChord, parseModelRef, parseSequence, perAction, placeholdersOf, promptTokens, relativeLuminance, resolveAppearanceVisual, resolveHostText, sequenceId, sessionPartSummary, snapAppearanceContrast, splitUploadMulti, stripSystemNote, systemNote, tableOf, totalUsageTokens, translatorFor, truncateToBudget, turnDigest, unfixedRules, utf8ByteLength, wireFields };
package/dist/index.js CHANGED
@@ -957,6 +957,7 @@ var WIRE_WORKSPACE_DIFF_FIELDS = wireFields()({
957
957
  truncated: true,
958
958
  notes: true
959
959
  });
960
+ var WIRE_DIFF_FILE_RESPONSE_FIELDS = WIRE_DIFF_FILE_FIELDS;
960
961
  var WIRE_PLAN_FIELDS = wireFields()({
961
962
  plan: true,
962
963
  mode: true
@@ -1265,6 +1266,7 @@ var WIRE_PLUGIN_UPDATE_FIELDS = wireFields()({
1265
1266
  name: true,
1266
1267
  token: true
1267
1268
  });
1269
+ var WIRE_PLUGIN_VIEW_FIELDS = wireFields()({ name: true });
1268
1270
  var WIRE_PLUGIN_PREVIEW_RESPONSE_FIELDS = wireFields()({
1269
1271
  ok: true,
1270
1272
  preview: true,
@@ -1272,6 +1274,12 @@ var WIRE_PLUGIN_PREVIEW_RESPONSE_FIELDS = wireFields()({
1272
1274
  reason: true,
1273
1275
  detail: true
1274
1276
  });
1277
+ var WIRE_PLUGIN_VIEW_RESPONSE_FIELDS = wireFields()({
1278
+ ok: true,
1279
+ preview: true,
1280
+ reason: true,
1281
+ detail: true
1282
+ });
1275
1283
  var PLUGIN_PREVIEW_STREAM_MIME = "application/x-ndjson";
1276
1284
  var WIRE_PLUGIN_ACTION_FIELDS = wireFields()({
1277
1285
  ok: true,
@@ -1618,6 +1626,24 @@ function normalizeAppearanceTranslucent(value) {
1618
1626
  }
1619
1627
  return isAppearanceTranslucent(value) ? value : void 0;
1620
1628
  }
1629
+ function formatAppearanceTranslucent(value) {
1630
+ return `${value}%`;
1631
+ }
1632
+ function parseAppearanceTranslucentText(raw) {
1633
+ if (raw === null || raw === void 0) return void 0;
1634
+ const text = raw.trim();
1635
+ if (text === "") return void 0;
1636
+ const percent = /^(\d+)%$/.exec(text);
1637
+ if (percent) {
1638
+ const value2 = Number(percent[1]);
1639
+ return isAppearanceTranslucent(value2) ? value2 : void 0;
1640
+ }
1641
+ if (text === "1") return APPEARANCE_TRANSLUCENT.legacyOn;
1642
+ if (text === "0") return APPEARANCE_TRANSLUCENT.default;
1643
+ if (!/^\d+$/.test(text)) return void 0;
1644
+ const value = Number(text);
1645
+ return isAppearanceTranslucent(value) ? value : void 0;
1646
+ }
1621
1647
  var APPEARANCE_BACKGROUND_KINDS = ["none", "image", "gif", "video"];
1622
1648
  function isAppearanceBackgroundKind(value) {
1623
1649
  return typeof value === "string" && APPEARANCE_BACKGROUND_KINDS.includes(value);
@@ -1649,6 +1675,133 @@ function isAppearanceModePatch(value) {
1649
1675
  var WIRE_APPEARANCE_RESPONSE_FIELDS = wireFields()({
1650
1676
  ok: true
1651
1677
  });
1678
+ // src/appearance-first-screen.ts
1679
+ var APPEARANCE_FIRST_SCREEN_FIELDS = {
1680
+ theme: { param: "theme", storageKey: "epoch.theme", kind: "enum", guard: isAppearanceTheme },
1681
+ lang: { param: "lang", storageKey: "epoch.lang", kind: "enum", guard: isAppearanceLang },
1682
+ sidebarWidth: {
1683
+ param: "sidebarWidth",
1684
+ storageKey: "epoch.sidebarWidth",
1685
+ kind: "int",
1686
+ guard: isAppearanceSidebarWidth
1687
+ },
1688
+ diffTreeWidth: {
1689
+ param: "diffTreeWidth",
1690
+ storageKey: "epoch.diffTreeWidth",
1691
+ kind: "int",
1692
+ guard: isAppearanceDiffTreeWidth
1693
+ },
1694
+ accent: {
1695
+ param: "accent",
1696
+ storageKey: "epoch.accent",
1697
+ kind: "accent",
1698
+ guard: isAppearanceAccentValue
1699
+ },
1700
+ themeName: {
1701
+ param: "themeName",
1702
+ storageKey: "epoch.themeName",
1703
+ kind: "text",
1704
+ guard: isAppearanceThemeName
1705
+ },
1706
+ canvasColor: {
1707
+ param: "canvasColor",
1708
+ storageKey: "epoch.canvasColor",
1709
+ kind: "color",
1710
+ guard: isHexColor
1711
+ },
1712
+ inkColor: {
1713
+ param: "inkColor",
1714
+ storageKey: "epoch.inkColor",
1715
+ kind: "color",
1716
+ guard: isHexColor
1717
+ },
1718
+ saidColor: {
1719
+ param: "saidColor",
1720
+ storageKey: "epoch.saidColor",
1721
+ kind: "color",
1722
+ guard: isHexColor
1723
+ },
1724
+ fontSize: {
1725
+ param: "fontSize",
1726
+ storageKey: "epoch.fontSize",
1727
+ kind: "int",
1728
+ guard: isAppearanceFontSize
1729
+ },
1730
+ codeFontSize: {
1731
+ param: "codeFontSize",
1732
+ storageKey: "epoch.codeFontSize",
1733
+ kind: "int",
1734
+ guard: isAppearanceCodeFontSize
1735
+ },
1736
+ uiFont: { param: "uiFont", storageKey: "epoch.uiFont", kind: "enum", guard: isAppearanceUiFont },
1737
+ codeFont: {
1738
+ param: "codeFont",
1739
+ storageKey: "epoch.codeFont",
1740
+ kind: "enum",
1741
+ guard: isAppearanceCodeFont
1742
+ },
1743
+ reduceMotion: {
1744
+ param: "reduceMotion",
1745
+ storageKey: "epoch.reduceMotion",
1746
+ kind: "enum",
1747
+ guard: isAppearanceMotion
1748
+ },
1749
+ translucentSidebar: {
1750
+ param: "translucentSidebar",
1751
+ storageKey: "epoch.translucentSidebar",
1752
+ kind: "percent",
1753
+ guard: (value) => normalizeAppearanceTranslucent(value) !== void 0
1754
+ },
1755
+ contrast: {
1756
+ param: "contrast",
1757
+ storageKey: "epoch.contrast",
1758
+ kind: "int",
1759
+ guard: isAppearanceContrast
1760
+ },
1761
+ perMode: {
1762
+ param: "perMode",
1763
+ storageKey: "epoch.perMode",
1764
+ kind: "bool",
1765
+ guard: (value) => typeof value === "boolean"
1766
+ },
1767
+ light: {
1768
+ param: "light",
1769
+ storageKey: "epoch.lightPatch",
1770
+ kind: "json",
1771
+ guard: isAppearanceModePatch
1772
+ },
1773
+ dark: {
1774
+ param: "dark",
1775
+ storageKey: "epoch.darkPatch",
1776
+ kind: "json",
1777
+ guard: isAppearanceModePatch
1778
+ },
1779
+ background: {
1780
+ param: "background",
1781
+ storageKey: "epoch.background",
1782
+ kind: "json",
1783
+ guard: isAppearanceBackground
1784
+ }
1785
+ };
1786
+ var APPEARANCE_BACKGROUND_ON_PARAM = "backgroundOn";
1787
+ var APPEARANCE_FIRST_SCREEN_FIELD_ORDER = Object.keys(APPEARANCE_FIRST_SCREEN_FIELDS);
1788
+ function encodeAppearanceFirstScreenValue(field, value) {
1789
+ const spec = APPEARANCE_FIRST_SCREEN_FIELDS[field];
1790
+ if (!spec.guard(value)) return void 0;
1791
+ switch (spec.kind) {
1792
+ case "bool":
1793
+ return value ? "1" : "0";
1794
+ case "json":
1795
+ return JSON.stringify(value);
1796
+ case "percent": {
1797
+ const percent = normalizeAppearanceTranslucent(value);
1798
+ if (percent === void 0 || percent === APPEARANCE_TRANSLUCENT.default) return void 0;
1799
+ return formatAppearanceTranslucent(percent);
1800
+ }
1801
+ default:
1802
+ return String(value);
1803
+ }
1804
+ }
1652
1805
  // src/appearance-color.ts
1653
1806
  function hsvToHex(hsv) {
1654
1807
  const h = (hsv.h % 360 + 360) % 360;
@@ -2237,4 +2390,4 @@ var COMPLIANCE_ACTIONS = ["block", "mask", "warn", "off"];
2237
2390
  var SECRET_SERVICE = "epoch-agent";
2238
2391
  var MCP_DATA_KEY_NAME = "mcp-auth-data-key";
2239
2392
 
2240
- export { ACTION_CONTEXTS, AGENT_ROLE_NAME_PATTERN, API_KEY_ENV_VARS, APPEARANCE_ACCENTS, APPEARANCE_BACKGROUND_FITS, APPEARANCE_BACKGROUND_KINDS, APPEARANCE_CODE_FONTS, APPEARANCE_CODE_FONT_SIZE, APPEARANCE_CONTRAST, APPEARANCE_DEFAULT_CODE_FONT_SIZE, APPEARANCE_DEFAULT_FONT_SIZE, APPEARANCE_DIFF_TREE_WIDTH, APPEARANCE_FONT_SIZE, APPEARANCE_LANGS, APPEARANCE_MOTION, APPEARANCE_ROOT_ATTRIBUTES, APPEARANCE_SIDEBAR_WIDTH, APPEARANCE_THEMES, APPEARANCE_THEME_NAME_MAX, APPEARANCE_TRANSLUCENT, APPEARANCE_UI_FONTS, APPROVAL_OUTCOMES, BRAND_WHEN_SIDEBAR_COLLAPSED, COMMAND_NAME_PATTERN, COMPLIANCE_ACTIONS, COMPLIANCE_CATEGORIES, CURRENCIES, DEFAULT_AGENT_ROLE, DEFAULT_LANG, DiagnosticSink, ENTRY_REF_PREFIX, ENTRY_SECRET_PREFIX, FOLLOW_SYSTEM, GEN_AI, HEADLESS_INPUT_EVENT_TYPES, HEADLESS_INPUT_FORMATS, HEADLESS_OUTPUT_FORMATS, HEADLESS_PROTOCOL_VERSION, KEY_ACTIONS, LANGS, LINK_CLICKED_MESSAGE_TYPE, MAX_ATTACH_BYTES, MAX_ATTACH_FILES, MAX_ATTACH_TOTAL_BYTES, MAX_HEADER_CHARS, MAX_LINK_URL, MAX_OPTIONS, MAX_QUESTIONS, MAX_SESSION_ATTACH_BYTES, MAX_SESSION_REFS, MCP_DATA_KEY_NAME, METRIC, MIN_OPTIONS, MODEL_ENTRY_PROTOCOLS, NOOP_TELEMETRY, OPENABLE_LINK_SCHEMES, OPEN_SETTINGS_MESSAGE_TYPE, OPERATION_TYPES, OVERSIZE_RATIO, PERMISSION_LEVELS, PLAN_OUTCOMES, PLUGIN_CATEGORY_DISPLAY_SEP, PLUGIN_MENU_MESSAGE_TYPE, PLUGIN_PREVIEW_STREAM_MIME, PLUGIN_UPLOAD_MULTI_SEP, PROVIDER_INFOS, PROVIDER_TYPES, REASONING_EFFORTS, REASONING_OFF, RESERVED_CHORDS, RESERVED_COMMAND_NAMES, SCHEDULE_DRAFT_SAVED_MARK, SCHEDULE_DRAFT_TOOL, SCHEDULE_INTERVAL_MAX_MINUTES, SCHEDULE_INTERVAL_MIN_MINUTES, SCHEDULE_MAX_TIMES_PER_DAY, SCHEDULE_RUN_STATUSES, SEARCH_API_KEY_ENV, SEARCH_PROVIDER_TYPES, SECRET_SERVICE, SEQUENCE_CONTEXTS, SESSION_MENTION_PREFIX, SESSION_REFERENCE_ERROR_CODES, SETTINGS_PANE_IDS, SHELL_KINDS, SIDEBAR_MENU_MESSAGE_TYPE, SIMULTANEOUS_CONTEXTS, SYSTEM_NOTE_PREFIX, ToolExposure, UNLIMITED_TURNS, USER_MENU_MESSAGE_TYPE, WIRE_ABORT_FIELDS, WIRE_ABOUT_FIELDS, WIRE_AGENT_ROLE_FIELDS, WIRE_APPEARANCE_RESPONSE_FIELDS, WIRE_APPROVAL_CACHE_REVOKE_REQUEST_FIELDS, WIRE_APPROVAL_CACHE_REVOKE_RESPONSE_FIELDS, WIRE_APPROVAL_LIST_FIELDS, WIRE_APPROVAL_ROW_FIELDS, WIRE_ARTIFACTS_FIELDS, WIRE_ATTACHMENT_FOLDER_FIELDS, WIRE_ATTACHMENT_UPLOAD_FIELDS, WIRE_AUDIT_LOG_FIELDS, WIRE_AUDIT_ROW_FIELDS, WIRE_AUTH_COOKIE, WIRE_AUTH_COOKIE_ATTRS, WIRE_AUTH_TOKEN_PARAM, WIRE_BACKGROUND_TASK_FIELDS, WIRE_BLOCKED_GOALS_FIELDS, WIRE_BLOCKED_GOAL_FIELDS, WIRE_BLOCKED_LEVEL_FIELDS, WIRE_BUILTIN_CONNECTOR_FIELDS, WIRE_CACHED_APPROVAL_FIELDS, WIRE_CAPABILITIES_FIELDS, WIRE_CAPABILITY_PROJECT_FIELDS, WIRE_CHECKPOINT_LIST_FIELDS, WIRE_CHECKPOINT_SUMMARY_FIELDS, WIRE_COMMANDS_FIELDS, WIRE_COMMAND_EXPANSION_FIELDS, WIRE_COMPACT_FIELDS, WIRE_COMPRESSION_LINE_FIELDS, WIRE_CONFIG_FIELDS, WIRE_CONTEXT_FIELDS, WIRE_CREATE_SESSION_FIELDS, WIRE_CREATE_WORKSPACE_FIELDS, WIRE_CREATE_WORKSPACE_RESPONSE_FIELDS, WIRE_CUSTOM_COMMAND_FIELDS, WIRE_DELETE_SESSION_FIELDS, WIRE_DIFF_FILE_FIELDS, WIRE_ERROR_FIELDS, WIRE_FILE_CANDIDATES_FIELDS, WIRE_FILE_CANDIDATE_FIELDS, WIRE_FILE_CHANGE_FIELDS, WIRE_FILE_OPEN_RESPONSE_FIELDS, WIRE_FILE_REFERENCE_FIELDS, WIRE_FILE_STAT_MAX, WIRE_FILE_STAT_OK_FIELDS, WIRE_FILE_STAT_REFUSED_FIELDS, WIRE_FILE_STAT_RESPONSE_FIELDS, WIRE_FILE_TEXT_RESPONSE_FIELDS, WIRE_FORGET_WORKSPACE_FIELDS, WIRE_FORGET_WORKSPACE_RESPONSE_FIELDS, WIRE_GOAL_ACTIONS, WIRE_GOAL_BLOCK_FIELDS, WIRE_GOAL_CLEAR_FIELDS, WIRE_GOAL_CREATE_FIELDS, WIRE_GOAL_FIELDS, WIRE_GOAL_LIMITS_FIELDS, WIRE_GOAL_PHASES, WIRE_GOAL_REFUSALS, WIRE_GOAL_RESPONSE_FIELDS, WIRE_GOAL_WRITE_FIELDS, WIRE_HEALTH_FIELDS, WIRE_IMAGE_REFERENCE_FIELDS, WIRE_KNOWN_WORKSPACE_FIELDS, WIRE_LANG_PARAM, WIRE_LAST_SESSION_FIELDS, WIRE_LAST_SESSION_RESPONSE_FIELDS, WIRE_MANAGED_LOCK_FIELDS, WIRE_MCP_ADD_FIELDS, WIRE_MCP_ADD_RESPONSE_FIELDS, WIRE_MCP_APPLY_ENTRY_FIELDS, WIRE_MCP_APPLY_RESPONSE_FIELDS, WIRE_MCP_CONFIG_APPLY_FIELDS, WIRE_MCP_CONFIG_FIELDS, WIRE_MCP_CONFIG_ISSUE_FIELDS, WIRE_MCP_CONFIG_SAVE_FIELDS, WIRE_MCP_CONFIG_SAVE_RESPONSE_FIELDS, WIRE_MCP_CONNECTOR_FIELDS, WIRE_MCP_RECONNECT_FIELDS, WIRE_MESSAGE_LIST_FIELDS, WIRE_MODEL_ENTRIES_FIELDS, WIRE_MODEL_ENTRY_MODELS_FIELDS, WIRE_MODEL_ENTRY_SAVE_FIELDS, WIRE_MODEL_ENTRY_TEST_FIELDS, WIRE_MODEL_FIELDS, WIRE_MODEL_SELECTION_FIELDS, WIRE_MODEL_SET_FIELDS, WIRE_PATCH_SESSION_FIELDS, WIRE_PATCH_SESSION_RESPONSE_FIELDS, WIRE_PERMISSION_RULE_FIELDS, WIRE_PERMISSION_SET_REQUEST_FIELDS, WIRE_PERMISSION_SET_RESPONSE_FIELDS, WIRE_PERMISSION_SHADOW_FIELDS, WIRE_PERMISSION_STATE_FIELDS, WIRE_PERMISSION_STATUS_FIELDS, WIRE_PLAN_ACTIONS, WIRE_PLAN_FIELDS, WIRE_PLAN_MODE_REQUEST_FIELDS, WIRE_PLAN_MODE_RESPONSE_FIELDS, WIRE_PLAN_MODE_STATE_FIELDS, WIRE_PLUGINS_FIELDS, WIRE_PLUGIN_ACTION_FIELDS, WIRE_PLUGIN_ARCHIVE_SUFFIXES, WIRE_PLUGIN_INSTALL_FIELDS, WIRE_PLUGIN_LOCAL_FIELDS, WIRE_PLUGIN_LOCAL_INSTALL_FIELDS, WIRE_PLUGIN_MARKETPLACE_FIELDS, WIRE_PLUGIN_MARKETPLACE_RESPONSE_FIELDS, WIRE_PLUGIN_NAME_FIELDS, WIRE_PLUGIN_PREVIEW_FIELDS, WIRE_PLUGIN_PREVIEW_RESPONSE_FIELDS, WIRE_PLUGIN_REFRESH_RESPONSE_FIELDS, WIRE_PLUGIN_STAGE_FIELDS, WIRE_PLUGIN_STAGE_RESPONSE_FIELDS, WIRE_PLUGIN_UPDATE_FIELDS, WIRE_PLUGIN_UPLOAD_CONFIRM_FIELDS, WIRE_PLUGIN_UPLOAD_FIELDS, WIRE_PLUGIN_UPLOAD_FORM_FIELDS, WIRE_PLUGIN_UPLOAD_PREVIEW_RESPONSE_FIELDS, WIRE_PLUGIN_UPLOAD_RESPONSE_FIELDS, WIRE_POLICY_DIR_FIELDS, WIRE_POLICY_STATUS_FIELDS, WIRE_PROJECT_INVENTORY_FIELDS, WIRE_PROVIDER_GROUPS, WIRE_QUESTION_LIST_FIELDS, WIRE_QUESTION_ROW_FIELDS, WIRE_RESPOND_APPROVAL_FIELDS, WIRE_RESPOND_APPROVAL_RESPONSE_FIELDS, WIRE_RESPOND_QUESTION_FIELDS, WIRE_RESPOND_QUESTION_RESPONSE_FIELDS, WIRE_REVIVE_FIELDS, WIRE_REWIND_FILE_PLAN_FIELDS, WIRE_REWIND_OUTCOME_FIELDS, WIRE_REWIND_PREVIEW_FIELDS, WIRE_REWIND_REQUEST_FIELDS, WIRE_REWIND_RESPONSE_FIELDS, WIRE_REWIND_SCOPES, WIRE_ROLES_FIELDS, WIRE_ROLE_ADD_FIELDS, WIRE_ROLE_ADD_RESPONSE_FIELDS, WIRE_ROLE_REMOVE_FIELDS, WIRE_RUNNING_SCHEDULE_FIELDS, WIRE_SANDBOX_STATUS_FIELDS, WIRE_SCHEDULE_CAPABILITY_FIELDS, WIRE_SCHEDULE_CREATE_FIELDS, WIRE_SCHEDULE_DEFAULTS_FIELDS, WIRE_SCHEDULE_DELETE_FIELDS, WIRE_SCHEDULE_FIELDS, WIRE_SCHEDULE_FIX_FIELDS, WIRE_SCHEDULE_FIX_REQUEST_FIELDS, WIRE_SCHEDULE_ISSUE_CODES, WIRE_SCHEDULE_LIST_FIELDS, WIRE_SCHEDULE_PENDING_FIELDS, WIRE_SCHEDULE_RECORDING_FIELDS, WIRE_SCHEDULE_ROW_FIELDS, WIRE_SCHEDULE_RUNNING_FIELDS, WIRE_SCHEDULE_RUNS_FIELDS, WIRE_SCHEDULE_RUN_FIELDS, WIRE_SCHEDULE_SAVE_FIELDS, WIRE_SECURITY_FIELDS, WIRE_SECURITY_WORKSPACE_FIELDS, WIRE_SEND_MESSAGE_FIELDS, WIRE_SEND_MESSAGE_RESPONSE_FIELDS, WIRE_SESSION_CANDIDATES_FIELDS, WIRE_SESSION_CANDIDATE_FIELDS, WIRE_SESSION_FINISH_FIELDS, WIRE_SESSION_LIST_FIELDS, WIRE_SESSION_REFERENCE_FIELDS, WIRE_SESSION_RESPONSE_FIELDS, WIRE_SESSION_SUMMARY_FIELDS, WIRE_SESSION_WORKSPACE_FIELDS, WIRE_SESSION_WORKSPACE_RESPONSE_FIELDS, WIRE_SETTINGS_FIELDS, WIRE_SETTINGS_WRITE_FIELDS, WIRE_SETTINGS_WRITE_REQUEST_FIELDS, WIRE_SETTING_PENDING_FIELDS, WIRE_SETTING_ROW_FIELDS, WIRE_SETTING_STEP_FIELDS, WIRE_SETTING_WRITE_FIELDS, WIRE_SETTING_WRITE_LAYERS, WIRE_SKILL_BODY_FIELDS, WIRE_SKILL_DROP_SUFFIXES, WIRE_SKILL_FIELDS, WIRE_SKILL_IMPORT_FIELDS, WIRE_SKILL_IMPORT_PREVIEW_FIELDS, WIRE_SKILL_REMOVE_FIELDS, WIRE_SKILL_STAGE_FIELDS, WIRE_TASKS_FIELDS, WIRE_TOOLS_FIELDS, WIRE_TOOL_GATE_FIELDS, WIRE_TOOL_ROW_FIELDS, WIRE_TRUST_REQUEST_FIELDS, WIRE_TRUST_REQUEST_RESPONSE_FIELDS, WIRE_WITHDRAW_MESSAGE_FIELDS, WIRE_WORKSPACE_DIFF_FIELDS, WIRE_WORKSPACE_DIRS_FIELDS, WIRE_WORKSPACE_DIR_ENTRY_FIELDS, WIRE_WORKSPACE_REF_FIELDS, accentScale, apiKeyEnvVar, appearanceInlineVars, appearanceRootAttributes, appearanceVisualCss, assertNeverPart, assistantTurnText, attachSessionSurface, chordId, collectPendingApprovals, compressionThresholdTokens, conformsToWire, contentToText, cronTimes, diagnosticToLine, entryDisplayName, entryRef, entrySecretName, extractAllMentions, extractMentions, extractSessionMentions, filePartSummary, flattenCatalog, formatMoney, getProviderInfo, hasFailure, hexToHsv, hsvToHex, imagePartOmittedSummary, isAppearanceAccent, isAppearanceAccentValue, isAppearanceBackground, isAppearanceBackgroundFit, isAppearanceBackgroundKind, isAppearanceCodeFont, isAppearanceCodeFontSize, isAppearanceContrast, isAppearanceDiffTreeWidth, isAppearanceFontSize, isAppearanceLang, isAppearanceModePatch, isAppearanceMotion, isAppearanceSidebarWidth, isAppearanceTheme, isAppearanceThemeName, isAppearanceTranslucent, isAppearanceUiFont, isApprovalOutcome, isContextNearlyFull, isCurrency, isEntrySecretName, isHeadlessInputFormat, isHeadlessLifecycleEvent, isHeadlessOutputFormat, isHexColor, isKeyAction, isLang, isMentionableFilePath, isModelEntryId, isOpenableLink, isOperationType, isPermissionLevel, isPlanOutcome, isPromptOversize, isProviderType, isQuestionAnswerMap, isReasoningEffort, isSearchProviderType, isSettingsPaneId, isValidAgentRoleName, isValidCommandName, isWireGoalPhase, isWireHubEvent, isWirePlanAction, isWirePluginArchiveName, isWireRewindScope, isWireSettingWriteLayer, isWireSkillDropName, joinUploadMulti, makeTranslate, mcpConnectorState, normalizeAppearanceTranslucent, normalizeApproval, packSessionSurface, parseChord, parseModelRef, parseSequence, perAction, placeholdersOf, promptTokens, relativeLuminance, resolveAppearanceVisual, resolveHostText, sequenceId, sessionPartSummary, snapAppearanceContrast, splitUploadMulti, stripSystemNote, systemNote, tableOf, totalUsageTokens, translatorFor, truncateToBudget, turnDigest, unfixedRules, utf8ByteLength, wireFields };
2393
+ export { ACTION_CONTEXTS, AGENT_ROLE_NAME_PATTERN, API_KEY_ENV_VARS, APPEARANCE_ACCENTS, APPEARANCE_BACKGROUND_FITS, APPEARANCE_BACKGROUND_KINDS, APPEARANCE_BACKGROUND_ON_PARAM, APPEARANCE_CODE_FONTS, APPEARANCE_CODE_FONT_SIZE, APPEARANCE_CONTRAST, APPEARANCE_DEFAULT_CODE_FONT_SIZE, APPEARANCE_DEFAULT_FONT_SIZE, APPEARANCE_DIFF_TREE_WIDTH, APPEARANCE_FIRST_SCREEN_FIELDS, APPEARANCE_FIRST_SCREEN_FIELD_ORDER, APPEARANCE_FONT_SIZE, APPEARANCE_LANGS, APPEARANCE_MOTION, APPEARANCE_ROOT_ATTRIBUTES, APPEARANCE_SIDEBAR_WIDTH, APPEARANCE_THEMES, APPEARANCE_THEME_NAME_MAX, APPEARANCE_TRANSLUCENT, APPEARANCE_UI_FONTS, APPROVAL_OUTCOMES, BRAND_WHEN_SIDEBAR_COLLAPSED, COMMAND_NAME_PATTERN, COMPLIANCE_ACTIONS, COMPLIANCE_CATEGORIES, CURRENCIES, DEFAULT_AGENT_ROLE, DEFAULT_LANG, DiagnosticSink, ENTRY_REF_PREFIX, ENTRY_SECRET_PREFIX, FOLLOW_SYSTEM, GEN_AI, HEADLESS_INPUT_EVENT_TYPES, HEADLESS_INPUT_FORMATS, HEADLESS_OUTPUT_FORMATS, HEADLESS_PROTOCOL_VERSION, KEY_ACTIONS, LANGS, LINK_CLICKED_MESSAGE_TYPE, MAX_ATTACH_BYTES, MAX_ATTACH_FILES, MAX_ATTACH_TOTAL_BYTES, MAX_HEADER_CHARS, MAX_LINK_URL, MAX_OPTIONS, MAX_QUESTIONS, MAX_SESSION_ATTACH_BYTES, MAX_SESSION_REFS, MCP_DATA_KEY_NAME, METRIC, MIN_OPTIONS, MODEL_ENTRY_PROTOCOLS, NOOP_TELEMETRY, OPENABLE_LINK_SCHEMES, OPEN_SETTINGS_MESSAGE_TYPE, OPERATION_TYPES, OVERSIZE_RATIO, PERMISSION_LEVELS, PLAN_OUTCOMES, PLUGIN_CATEGORY_DISPLAY_SEP, PLUGIN_MENU_MESSAGE_TYPE, PLUGIN_PREVIEW_STREAM_MIME, PLUGIN_UPLOAD_MULTI_SEP, PROVIDER_INFOS, PROVIDER_TYPES, REASONING_EFFORTS, REASONING_OFF, RESERVED_CHORDS, RESERVED_COMMAND_NAMES, SCHEDULE_DRAFT_SAVED_MARK, SCHEDULE_DRAFT_TOOL, SCHEDULE_INTERVAL_MAX_MINUTES, SCHEDULE_INTERVAL_MIN_MINUTES, SCHEDULE_MAX_TIMES_PER_DAY, SCHEDULE_RUN_STATUSES, SEARCH_API_KEY_ENV, SEARCH_PROVIDER_TYPES, SECRET_SERVICE, SEQUENCE_CONTEXTS, SESSION_MENTION_PREFIX, SESSION_REFERENCE_ERROR_CODES, SETTINGS_PANE_IDS, SHELL_KINDS, SIDEBAR_MENU_MESSAGE_TYPE, SIMULTANEOUS_CONTEXTS, SYSTEM_NOTE_PREFIX, ToolExposure, UNLIMITED_TURNS, USER_MENU_MESSAGE_TYPE, WIRE_ABORT_FIELDS, WIRE_ABOUT_FIELDS, WIRE_AGENT_ROLE_FIELDS, WIRE_APPEARANCE_RESPONSE_FIELDS, WIRE_APPROVAL_CACHE_REVOKE_REQUEST_FIELDS, WIRE_APPROVAL_CACHE_REVOKE_RESPONSE_FIELDS, WIRE_APPROVAL_LIST_FIELDS, WIRE_APPROVAL_ROW_FIELDS, WIRE_ARTIFACTS_FIELDS, WIRE_ATTACHMENT_FOLDER_FIELDS, WIRE_ATTACHMENT_UPLOAD_FIELDS, WIRE_AUDIT_LOG_FIELDS, WIRE_AUDIT_ROW_FIELDS, WIRE_AUTH_COOKIE, WIRE_AUTH_COOKIE_ATTRS, WIRE_AUTH_TOKEN_PARAM, WIRE_BACKGROUND_TASK_FIELDS, WIRE_BLOCKED_GOALS_FIELDS, WIRE_BLOCKED_GOAL_FIELDS, WIRE_BLOCKED_LEVEL_FIELDS, WIRE_BUILTIN_CONNECTOR_FIELDS, WIRE_CACHED_APPROVAL_FIELDS, WIRE_CAPABILITIES_FIELDS, WIRE_CAPABILITY_PROJECT_FIELDS, WIRE_CHECKPOINT_LIST_FIELDS, WIRE_CHECKPOINT_SUMMARY_FIELDS, WIRE_COMMANDS_FIELDS, WIRE_COMMAND_EXPANSION_FIELDS, WIRE_COMPACT_FIELDS, WIRE_COMPRESSION_LINE_FIELDS, WIRE_CONFIG_FIELDS, WIRE_CONTEXT_FIELDS, WIRE_CREATE_SESSION_FIELDS, WIRE_CREATE_WORKSPACE_FIELDS, WIRE_CREATE_WORKSPACE_RESPONSE_FIELDS, WIRE_CUSTOM_COMMAND_FIELDS, WIRE_DELETE_SESSION_FIELDS, WIRE_DIFF_FILE_FIELDS, WIRE_DIFF_FILE_RESPONSE_FIELDS, WIRE_ERROR_FIELDS, WIRE_FILE_CANDIDATES_FIELDS, WIRE_FILE_CANDIDATE_FIELDS, WIRE_FILE_CHANGE_FIELDS, WIRE_FILE_OPEN_RESPONSE_FIELDS, WIRE_FILE_REFERENCE_FIELDS, WIRE_FILE_STAT_MAX, WIRE_FILE_STAT_OK_FIELDS, WIRE_FILE_STAT_REFUSED_FIELDS, WIRE_FILE_STAT_RESPONSE_FIELDS, WIRE_FILE_TEXT_RESPONSE_FIELDS, WIRE_FORGET_WORKSPACE_FIELDS, WIRE_FORGET_WORKSPACE_RESPONSE_FIELDS, WIRE_GOAL_ACTIONS, WIRE_GOAL_BLOCK_FIELDS, WIRE_GOAL_CLEAR_FIELDS, WIRE_GOAL_CREATE_FIELDS, WIRE_GOAL_FIELDS, WIRE_GOAL_LIMITS_FIELDS, WIRE_GOAL_PHASES, WIRE_GOAL_REFUSALS, WIRE_GOAL_RESPONSE_FIELDS, WIRE_GOAL_WRITE_FIELDS, WIRE_HEALTH_FIELDS, WIRE_IMAGE_REFERENCE_FIELDS, WIRE_KNOWN_WORKSPACE_FIELDS, WIRE_LANG_PARAM, WIRE_LAST_SESSION_FIELDS, WIRE_LAST_SESSION_RESPONSE_FIELDS, WIRE_MANAGED_LOCK_FIELDS, WIRE_MCP_ADD_FIELDS, WIRE_MCP_ADD_RESPONSE_FIELDS, WIRE_MCP_APPLY_ENTRY_FIELDS, WIRE_MCP_APPLY_RESPONSE_FIELDS, WIRE_MCP_CONFIG_APPLY_FIELDS, WIRE_MCP_CONFIG_FIELDS, WIRE_MCP_CONFIG_ISSUE_FIELDS, WIRE_MCP_CONFIG_SAVE_FIELDS, WIRE_MCP_CONFIG_SAVE_RESPONSE_FIELDS, WIRE_MCP_CONNECTOR_FIELDS, WIRE_MCP_RECONNECT_FIELDS, WIRE_MESSAGE_LIST_FIELDS, WIRE_MODEL_ENTRIES_FIELDS, WIRE_MODEL_ENTRY_MODELS_FIELDS, WIRE_MODEL_ENTRY_SAVE_FIELDS, WIRE_MODEL_ENTRY_TEST_FIELDS, WIRE_MODEL_FIELDS, WIRE_MODEL_SELECTION_FIELDS, WIRE_MODEL_SET_FIELDS, WIRE_PATCH_SESSION_FIELDS, WIRE_PATCH_SESSION_RESPONSE_FIELDS, WIRE_PERMISSION_RULE_FIELDS, WIRE_PERMISSION_SET_REQUEST_FIELDS, WIRE_PERMISSION_SET_RESPONSE_FIELDS, WIRE_PERMISSION_SHADOW_FIELDS, WIRE_PERMISSION_STATE_FIELDS, WIRE_PERMISSION_STATUS_FIELDS, WIRE_PLAN_ACTIONS, WIRE_PLAN_FIELDS, WIRE_PLAN_MODE_REQUEST_FIELDS, WIRE_PLAN_MODE_RESPONSE_FIELDS, WIRE_PLAN_MODE_STATE_FIELDS, WIRE_PLUGINS_FIELDS, WIRE_PLUGIN_ACTION_FIELDS, WIRE_PLUGIN_ARCHIVE_SUFFIXES, WIRE_PLUGIN_INSTALL_FIELDS, WIRE_PLUGIN_LOCAL_FIELDS, WIRE_PLUGIN_LOCAL_INSTALL_FIELDS, WIRE_PLUGIN_MARKETPLACE_FIELDS, WIRE_PLUGIN_MARKETPLACE_RESPONSE_FIELDS, WIRE_PLUGIN_NAME_FIELDS, WIRE_PLUGIN_PREVIEW_FIELDS, WIRE_PLUGIN_PREVIEW_RESPONSE_FIELDS, WIRE_PLUGIN_REFRESH_RESPONSE_FIELDS, WIRE_PLUGIN_STAGE_FIELDS, WIRE_PLUGIN_STAGE_RESPONSE_FIELDS, WIRE_PLUGIN_UPDATE_FIELDS, WIRE_PLUGIN_UPLOAD_CONFIRM_FIELDS, WIRE_PLUGIN_UPLOAD_FIELDS, WIRE_PLUGIN_UPLOAD_FORM_FIELDS, WIRE_PLUGIN_UPLOAD_PREVIEW_RESPONSE_FIELDS, WIRE_PLUGIN_UPLOAD_RESPONSE_FIELDS, WIRE_PLUGIN_VIEW_FIELDS, WIRE_PLUGIN_VIEW_RESPONSE_FIELDS, WIRE_POLICY_DIR_FIELDS, WIRE_POLICY_STATUS_FIELDS, WIRE_PROJECT_INVENTORY_FIELDS, WIRE_PROVIDER_GROUPS, WIRE_QUESTION_LIST_FIELDS, WIRE_QUESTION_ROW_FIELDS, WIRE_RESPOND_APPROVAL_FIELDS, WIRE_RESPOND_APPROVAL_RESPONSE_FIELDS, WIRE_RESPOND_QUESTION_FIELDS, WIRE_RESPOND_QUESTION_RESPONSE_FIELDS, WIRE_REVIVE_FIELDS, WIRE_REWIND_FILE_PLAN_FIELDS, WIRE_REWIND_OUTCOME_FIELDS, WIRE_REWIND_PREVIEW_FIELDS, WIRE_REWIND_REQUEST_FIELDS, WIRE_REWIND_RESPONSE_FIELDS, WIRE_REWIND_SCOPES, WIRE_ROLES_FIELDS, WIRE_ROLE_ADD_FIELDS, WIRE_ROLE_ADD_RESPONSE_FIELDS, WIRE_ROLE_REMOVE_FIELDS, WIRE_RUNNING_SCHEDULE_FIELDS, WIRE_SANDBOX_STATUS_FIELDS, WIRE_SCHEDULE_CAPABILITY_FIELDS, WIRE_SCHEDULE_CREATE_FIELDS, WIRE_SCHEDULE_DEFAULTS_FIELDS, WIRE_SCHEDULE_DELETE_FIELDS, WIRE_SCHEDULE_FIELDS, WIRE_SCHEDULE_FIX_FIELDS, WIRE_SCHEDULE_FIX_REQUEST_FIELDS, WIRE_SCHEDULE_ISSUE_CODES, WIRE_SCHEDULE_LIST_FIELDS, WIRE_SCHEDULE_PENDING_FIELDS, WIRE_SCHEDULE_RECORDING_FIELDS, WIRE_SCHEDULE_ROW_FIELDS, WIRE_SCHEDULE_RUNNING_FIELDS, WIRE_SCHEDULE_RUNS_FIELDS, WIRE_SCHEDULE_RUN_FIELDS, WIRE_SCHEDULE_SAVE_FIELDS, WIRE_SECURITY_FIELDS, WIRE_SECURITY_WORKSPACE_FIELDS, WIRE_SEND_MESSAGE_FIELDS, WIRE_SEND_MESSAGE_RESPONSE_FIELDS, WIRE_SESSION_CANDIDATES_FIELDS, WIRE_SESSION_CANDIDATE_FIELDS, WIRE_SESSION_FINISH_FIELDS, WIRE_SESSION_LIST_FIELDS, WIRE_SESSION_REFERENCE_FIELDS, WIRE_SESSION_RESPONSE_FIELDS, WIRE_SESSION_SUMMARY_FIELDS, WIRE_SESSION_WORKSPACE_FIELDS, WIRE_SESSION_WORKSPACE_RESPONSE_FIELDS, WIRE_SETTINGS_FIELDS, WIRE_SETTINGS_WRITE_FIELDS, WIRE_SETTINGS_WRITE_REQUEST_FIELDS, WIRE_SETTING_PENDING_FIELDS, WIRE_SETTING_ROW_FIELDS, WIRE_SETTING_STEP_FIELDS, WIRE_SETTING_WRITE_FIELDS, WIRE_SETTING_WRITE_LAYERS, WIRE_SKILL_BODY_FIELDS, WIRE_SKILL_DROP_SUFFIXES, WIRE_SKILL_FIELDS, WIRE_SKILL_IMPORT_FIELDS, WIRE_SKILL_IMPORT_PREVIEW_FIELDS, WIRE_SKILL_REMOVE_FIELDS, WIRE_SKILL_STAGE_FIELDS, WIRE_TASKS_FIELDS, WIRE_TOOLS_FIELDS, WIRE_TOOL_GATE_FIELDS, WIRE_TOOL_ROW_FIELDS, WIRE_TRUST_REQUEST_FIELDS, WIRE_TRUST_REQUEST_RESPONSE_FIELDS, WIRE_WITHDRAW_MESSAGE_FIELDS, WIRE_WORKSPACE_DIFF_FIELDS, WIRE_WORKSPACE_DIRS_FIELDS, WIRE_WORKSPACE_DIR_ENTRY_FIELDS, WIRE_WORKSPACE_REF_FIELDS, accentScale, apiKeyEnvVar, appearanceInlineVars, appearanceRootAttributes, appearanceVisualCss, assertNeverPart, assistantTurnText, attachSessionSurface, chordId, collectPendingApprovals, compressionThresholdTokens, conformsToWire, contentToText, cronTimes, diagnosticToLine, encodeAppearanceFirstScreenValue, entryDisplayName, entryRef, entrySecretName, extractAllMentions, extractMentions, extractSessionMentions, filePartSummary, flattenCatalog, formatAppearanceTranslucent, formatMoney, getProviderInfo, hasFailure, hexToHsv, hsvToHex, imagePartOmittedSummary, isAppearanceAccent, isAppearanceAccentValue, isAppearanceBackground, isAppearanceBackgroundFit, isAppearanceBackgroundKind, isAppearanceCodeFont, isAppearanceCodeFontSize, isAppearanceContrast, isAppearanceDiffTreeWidth, isAppearanceFontSize, isAppearanceLang, isAppearanceModePatch, isAppearanceMotion, isAppearanceSidebarWidth, isAppearanceTheme, isAppearanceThemeName, isAppearanceTranslucent, isAppearanceUiFont, isApprovalOutcome, isContextNearlyFull, isCurrency, isEntrySecretName, isHeadlessInputFormat, isHeadlessLifecycleEvent, isHeadlessOutputFormat, isHexColor, isKeyAction, isLang, isMentionableFilePath, isModelEntryId, isOpenableLink, isOperationType, isPermissionLevel, isPlanOutcome, isPromptOversize, isProviderType, isQuestionAnswerMap, isReasoningEffort, isSearchProviderType, isSettingsPaneId, isValidAgentRoleName, isValidCommandName, isWireGoalPhase, isWireHubEvent, isWirePlanAction, isWirePluginArchiveName, isWireRewindScope, isWireSettingWriteLayer, isWireSkillDropName, joinUploadMulti, makeTranslate, mcpConnectorState, normalizeAppearanceTranslucent, normalizeApproval, packSessionSurface, parseAppearanceTranslucentText, parseChord, parseModelRef, parseSequence, perAction, placeholdersOf, promptTokens, relativeLuminance, resolveAppearanceVisual, resolveHostText, sequenceId, sessionPartSummary, snapAppearanceContrast, splitUploadMulti, stripSystemNote, systemNote, tableOf, totalUsageTokens, translatorFor, truncateToBudget, turnDigest, unfixedRules, utf8ByteLength, wireFields };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epoch-agent/protocol",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "private": false,
5
5
  "description": "epoch-agent 契约层:工具 / 事件 / 权限 / 插件的类型定义,零运行时依赖",
6
6
  "repository": {