@epoch-agent/protocol 0.3.2 → 0.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
@@ -1020,7 +1020,13 @@ interface AgentRole {
1020
1020
  * 只是不省钱」。
1021
1021
  */
1022
1022
  skills?: string[];
1023
- /** 轮次预算。不给则沿用 `max(4, floor(父 maxTurns / 2))` */
1023
+ /**
1024
+ * 轮次预算。不给则沿用 `config.maxTurns` —— 也就是用户设置里那一个数。
1025
+ *
1026
+ * ⚠️ 2026-09-04 之前这里是 `max(4, floor(父 maxTurns / 2))`(「父的一半」)。
1027
+ * 撤掉那个折半的判据在 `runtime/src/session-factory.ts` 填这一格的地方。
1028
+ * 值域上**没有上限**,正整数就行(`agent-role/loader.ts` 那条 schema)。
1029
+ */
1024
1030
  maxTurns?: number;
1025
1031
  source: AgentRoleSource;
1026
1032
  }
@@ -1198,6 +1204,241 @@ interface ActiveAgentRole {
1198
1204
  source?: AgentRoleSource;
1199
1205
  }
1200
1206
 
1207
+ /**
1208
+ * 宿主自定义的那几张开场卡片(2026-09-04)—— 画在新会话空屏那句招呼底下。
1209
+ *
1210
+ * 形状和口径逐字照 [`EpochConfig.sidebarMenu`](./sidebar-menu.ts):**宿主装配期
1211
+ * 预置的一个配置项,界面上没有写端点**,`GET /api/config` 原样下发、没配就不带
1212
+ * 这个键。为什么是配置项而不是 `createWebServer()` 的参数,全文在 `brand` 那个
1213
+ * 字段上(一句话:走 `epoch web --json` 起子进程的宿主没有构造函数可传)。
1214
+ *
1215
+ * ## ⚠️ 这一格的**默认形态是「一张都没有」**,而那是一条产品判据不是省事
1216
+ *
1217
+ * 这一屏 2026-08-18 撤掉过三条我们自己写的种子(出计划 / 读模块 / 跑测试),
1218
+ * 用户原话是**「其他的都太有指向性了」**:那三条把「这个 agent 是干什么的」窄成
1219
+ * 了「它是个改代码的」,而这一屏是绝大多数人见到它的第一眼。判据全文在 web 的
1220
+ * [session/blank.tsx](../../web/src/session/blank.tsx) 文件头那张表。
1221
+ *
1222
+ * 这个键解的正是那个矛盾:**有指向性的话交给知道自己用户在干什么的宿主去说。**
1223
+ * 所以宿主不配的时候这一屏**仍然只有一行招呼**,我们一张默认卡片都不塞 ——
1224
+ * 下一个想「至少给个例子吧」的人,先读上面那一段。
1225
+ *
1226
+ * ## 点下去发生什么:**把那句话填进输入框,不发出去**
1227
+ *
1228
+ * 这是这一格和 `sidebarMenu` 唯一的形状差别,而差别来自**动作的落点**:
1229
+ *
1230
+ * | 这一格 | `sidebarMenu` |
1231
+ * | -------------------------- | ------------------------------------ |
1232
+ * | 落点在**这一屏里**(输入框)| 落点在**这一屏外**(宿主自己的页面) |
1233
+ * | 我们自己做得到 | 只有宿主做得到 |
1234
+ * | 于是:直接填 | 于是:发一条 `postMessage` 请它自己办 |
1235
+ *
1236
+ * 所以这一格**没有消息契约**,宿主不必接监听 —— 少一样要对齐的东西。
1237
+ * 走的是界面里那条现成的「召唤」路(web 的 `ComposerProps.prefill`:追加、
1238
+ * 光标落到末尾、聚焦)。
1239
+ *
1240
+ * **填而不发**有两条账:
1241
+ *
1242
+ * - 卡片上那句话是个**起点**,不是一条成品消息 —— 用户十有八九要改一处再发;
1243
+ * - 点一下就往模型发一次请求,是在花用户(或宿主)的钱,而他按的只是一张
1244
+ * 写着「写周报」的卡片。
1245
+ */
1246
+ /**
1247
+ * 空屏上的一张卡片。
1248
+ *
1249
+ * ⚠️ `title` / `subtitle` / `prompt` 三个字段都是**宿主的话**,一个都不过 i18n
1250
+ * catalog —— 判据逐字同 {@link SidebarMenuItem}:它们的内容随宿主而变,没有有限
1251
+ * 的码可以枚举。用户把界面切成英文之后这几张卡**仍然是宿主给的那份文案**,
1252
+ * 那是预期形态不是漏翻。
1253
+ */
1254
+ interface BlankCard {
1255
+ /**
1256
+ * 这一份清单里认它的那个码。**不许重复**(core 的 schema 拦这一条)。
1257
+ *
1258
+ * ⚠️ 它和 {@link SidebarMenuItem.id} 不是同一种东西:那一个会**发回给宿主**
1259
+ * (宿主靠它分辨用户按了哪一行),而这一个哪儿都不去 —— 点下去发生的事完全在
1260
+ * 这张页里(把 {@link prompt} 填进输入框)。它在这儿只是 React 那个 `key`
1261
+ * 和「配重了」那道校验的抓手。
1262
+ *
1263
+ * 那为什么还要它:没有 `id` 的话,「配重了」这件事就只能拿 `title` 判,
1264
+ * 而两张卡**标题相同、提示词不同**是完全正当的配置(同一个动作的两个变体)。
1265
+ */
1266
+ id: string;
1267
+ /** 卡片上那行大字。空串是配错了(不要这一张就别写它),core 的 schema 会拦 */
1268
+ title: string;
1269
+ /**
1270
+ * 大字底下那行小字 —— **可以没有**,那时这张卡就只有一行。
1271
+ *
1272
+ * ⚠️ 和 `icon` 那一格不同,这里**没有兜底**:一列卡片有的两行有的一行,读起来
1273
+ * 是「这张说得细一点」,不是「那张掉了东西」。图标那一格之所以要兜底,是因为
1274
+ * 缺的是**一整列的左边界**(判据在 web 的 `HOST_ICON_FALLBACK` 上)。
1275
+ */
1276
+ subtitle?: string;
1277
+ /**
1278
+ * 点下去填进输入框的那句话。**这是这张卡真正在说的东西**,不是 `title`。
1279
+ *
1280
+ * 两者刻意分开:卡片上那行字要短到扫得过去(「写周报」),而填进去的那句话
1281
+ * 要长到模型接得住(「根据本周 git log 起草一份周报,按项目分组」)。
1282
+ * 合成一个字段的话,宿主只能二选一 —— 要么卡片上印着一整段话,要么发给模型的
1283
+ * 是三个字。
1284
+ *
1285
+ * 空串是配错了,core 的 schema 会拦:一张点下去什么都不填的卡,是决定 20 ①
1286
+ * 那句「画一个点了没反应的控件比不画更糟」的字面形态。
1287
+ */
1288
+ prompt: string;
1289
+ /**
1290
+ * 卡片上那枚图标的名字。**不给不等于没有图标** —— 会落一枚默认的。
1291
+ *
1292
+ * 判据、以及「为什么类型是 `string` 而不是一个联合」,逐字同
1293
+ * {@link SidebarMenuItem.icon}:图标名是第一方 Web UI 那张精灵图的私有词表,
1294
+ * 写进契约等于对宿主承诺那几十个名字一个都不改。**认哪几个名字由 web 那一层
1295
+ * 说了算**(和侧栏菜单共用同一张白名单,判据在 `shell/host-menu.tsx` 上),
1296
+ * 认不出来的当没给。
1297
+ *
1298
+ * ⚠️ 兜底那一枚和侧栏菜单**不是同一个**:那边是一个朝外的箭头(「点下去离开
1299
+ * 这一屏」),而这一格点下去**留在原地**。判据在 web 的 `BLANK_ICON_FALLBACK` 上。
1300
+ */
1301
+ icon?: string;
1302
+ }
1303
+
1304
+ /**
1305
+ * 宿主自定义的那句开场招呼(2026-09-04)—— 新会话空屏最上面那几行字。
1306
+ *
1307
+ * 这是「宿主装配期按下的事实」那条路上的**第四个键**(`brand` → `sidebarMenu`
1308
+ * → `blankCards` → 这一个):只读、界面上没有写端点、`GET /api/config` 原样下发、
1309
+ * 没配就不带这个键。为什么是配置项而不是 `createWebServer()` 的参数,全文在
1310
+ * `EpochConfig.brand` 上(一句话:走 `epoch web --json` 起子进程的宿主没有构造
1311
+ * 函数可传)。
1312
+ *
1313
+ * ## ⚠️ 它和前三个键有一处**本质不同**:这一格本来就是我们的话
1314
+ *
1315
+ * `brand` / `sidebarMenu.label` / `BlankCard.title` 是**凭空多出来**的文案 ——
1316
+ * 我们从来没有一份对应的译文,所以「宿主的话不过 catalog」没有代价。
1317
+ *
1318
+ * 这一格不是。「今天想做点什么?」今天住在 `locales/zh.yaml` 和 `en.yaml` 里,
1319
+ * **跟着界面语言翻**,而且在宿主没配卡片时它是**整屏唯一的一行字**。要是照抄前三个
1320
+ * 键收一个纯字符串,宿主配完之后,把界面切成英文的用户看到的是一句中文 —— 那一
1321
+ * 屏于是从「一句翻好的话」退成「一句没翻的话」,**是这个键把它弄坏的**。
1322
+ *
1323
+ * 所以这一格的每一样文案收的是 {@link HostText}(`{ zh, en }`)而不是 `string`。
1324
+ * 代价如实记着:**单语宿主也得多写一层缩进**。那笔账认了 —— 它换来的是「宿主配了
1325
+ * 之后这一屏仍然会翻」,而这正是上一段说的那件不能弄坏的事。
1326
+ *
1327
+ * ## 三样文案,各自的默认档不一样
1328
+ *
1329
+ * | 字段 | 宿主不给时屏幕上是什么 |
1330
+ * | ---------- | ------------------------------- |
1331
+ * | `eyebrow` | **没有这一行**(今天就没有) |
1332
+ * | `title` | **我们那句**(`web.ui.blank.title`) |
1333
+ * | `subtitle` | **没有这一行**(今天就没有) |
1334
+ *
1335
+ * 也就是说 `{ eyebrow: … }` 单给一格是正当配置,意思是「在**你们那句**招呼上面
1336
+ * 加一行我的眉标」—— 三格互不牵连,不给的那格照它自己的默认档走。
1337
+ *
1338
+ * ⚠️ 这三样正是 2026-08-18 从这一屏上**撤掉过**的东西(眉标「新会话」/ 那句 lede /
1339
+ * 三条种子)。这个键没有推翻那笔账,变的是**谁来出题** —— 判据逐字同
1340
+ * [blank-cards.ts](./blank-cards.ts) 文件头第二节:**我们自己一个字都不加回去**,
1341
+ * 宿主不配的时候这一屏仍然只有那一行招呼,一个像素都没变。
1342
+ * 下一个想「至少给个眉标吧」的人:那就是 08-18 撤掉的那一行,别加回来。
1343
+ *
1344
+ * ## `hidden`:唯一能表达「这一段一个字都不画」的写法
1345
+ *
1346
+ * 前三个键的「不要」都写成**别写这个键**,因为它们的默认档就是「什么都没有」。
1347
+ * 这一格反过来 —— 不写这个键 = 我们那句招呼**照旧在**,于是「我不要这句话」在
1348
+ * 这份配置里本来是**说不出口的**。`hidden: true` 补的正是那一档。
1349
+ *
1350
+ * ⚠️ **不能拿空串表达。** 「空串是配错了」是 `brand` / `sidebarMenu` / `blankCards`
1351
+ * 三处共守的口径(它抓的是「宿主的模板渲染出了个空值」这类事故),在这儿破一次,
1352
+ * 那三处就得各自解释一遍为什么自己不破。
1353
+ *
1354
+ * ⚠️ **`hidden: true` 和文案字段同时给是允许的,`hidden` 赢。** 这一条刻意和
1355
+ * 「空数组是配错了」那类判据分开:那一类拦的是**说不出意思**的状态(typo 的形态),
1356
+ * 而这一个说得出意思 ——「先关掉,文案留着」。宿主拿一个开关控制这一格
1357
+ * (`hidden: !enabled`,底下文案常年放着)是很自然的写法,为它逼宿主把文案删掉,
1358
+ * 换来的只是我们这边少一行注释。
1359
+ *
1360
+ * ⚠️ **`hidden` 只管这一段(三行字),不管卡片。** `hidden: true` + `blankCards`
1361
+ * = 这一屏只有那几张卡;两个都关 = 这一屏**真的一个字都没有**。后面那一档是宿主
1362
+ * 明确按下的,不是「暂无数据」那种没人管的空 —— 文件头那句「空屏是一次邀请」骂的
1363
+ * 是我们自己端上去的空屏,不是宿主决定不邀请。
1364
+ */
1365
+
1366
+ /**
1367
+ * 一样**要跟着界面语言翻**的宿主文案。
1368
+ *
1369
+ * 类型写成 `Partial<Record<Lang, string>>` 而不是 `{ zh?: string; en?: string }`:
1370
+ * 语言的值域真源是 [i18n.ts](./i18n.js) 的 `LANGS`,另写一个字面量等于开第二份 ——
1371
+ * 那正是那个文件头点名要避免的「类型允许但运行时没有 catalog」的反面(这儿是
1372
+ * 「加了语言但这个类型不认」)。手法同 core 那边 `Record<HookType, true>` 那一条。
1373
+ *
1374
+ * ⚠️ **两格都可选,但不许一格都不给**(core 的 schema 拦这一条):一张空表和
1375
+ * 「没配这个字段」在屏幕上是同一件事,而写了个空表的宿主显然不是那个意思。
1376
+ * 每一格的值也不许是空串,判据同 `brand` 那条。
1377
+ *
1378
+ * ⚠️ **不给的那个语言不会让这一行消失** —— 见 {@link resolveHostText} 的回落链。
1379
+ */
1380
+ type HostText = Partial<Record<Lang, string>>;
1381
+ /**
1382
+ * 挑出这一刻该画的那一份。**纯函数,放在 protocol 是因为它有第二个消费方** ——
1383
+ * 自己画前端的宿主(EMBEDDING §10)拿到的是同一份 `{ zh, en }`,回落链该和第一方
1384
+ * Web UI 一模一样,抄一份的下场是两边在「宿主只写了一个语言」那一档上分叉。
1385
+ *
1386
+ * 回落链:**这一刻的语言 → `DEFAULT_LANG` → 表里剩下的任意一份**。
1387
+ *
1388
+ * ⚠️ 第三跳不是凑数的,它是这个函数唯一一处需要解释的地方:一个只写了 `en` 的
1389
+ * 宿主(它的产品就是英文的),在中文界面下如果只回落到 `zh`,屏幕上那一行会**整个
1390
+ * 消失**。而「宿主配了却什么都不显示」是这一整条路上最难查的一种坏法 —— 配置是对
1391
+ * 的、请求是对的、屏幕上什么都没有。宁可给他看一句英文。
1392
+ *
1393
+ * 空串按「没给」算(`?? ` 接不住空串,所以这儿是显式判空):core 那边已经拦掉了
1394
+ * 写死在配置里的空串,但这个函数也服务着自己拼对象的 Node 宿主。
1395
+ */
1396
+ declare function resolveHostText(text: HostText | undefined, lang: Lang): string | undefined;
1397
+ /**
1398
+ * 新会话空屏最上面那一段(眉标 / 招呼 / 副标题)。
1399
+ *
1400
+ * 三样文案**互不牵连**,不给的那一样各走各的默认档(表在文件头)。
1401
+ *
1402
+ * ⚠️ **整段给了却一个键都没有(`{}`)是配错了**,core 的 schema 会为它产出一条
1403
+ * 带字段路径的 warn 诊断然后整份配置退默认值 —— 判据同 `blankCards: []`:
1404
+ * 不想改这一段就别写这个键。
1405
+ */
1406
+ interface BlankGreeting {
1407
+ /**
1408
+ * 招呼上面那一行小字。**不给 = 没有这一行**(今天这一屏就没有)。
1409
+ *
1410
+ * 这一行 2026-08-18 撤掉过一次,撤的时候它写的是「新会话」—— 而那三个字侧栏那
1411
+ * 一行高亮、顶栏那个标题都已经在说,属于**第二遍**。宿主的眉标不是第二遍:
1412
+ * 它印的是自己的产品名或者场景名,屏幕上没有第二处在说。
1413
+ */
1414
+ eyebrow?: HostText;
1415
+ /**
1416
+ * 那句招呼本身。**不给 = 我们那句**(`web.ui.blank.title`,跟着界面语言翻)。
1417
+ *
1418
+ * ⚠️ 这是这个键里唯一一格「不给 ≠ 什么都没有」的字段,别照着另外两格的直觉读。
1419
+ */
1420
+ title?: HostText;
1421
+ /**
1422
+ * 招呼底下那一行说明。**不给 = 没有这一行**。
1423
+ *
1424
+ * ⚠️ 它就是 2026-08-18 撤掉的那句 lede。撤它的账原文是**「它整句都在解释种子
1425
+ * 怎么动(填进输入框不发出去)—— 种子没了就没了宾语」**:那是一条**关于宾语**
1426
+ * 的判据,不是「这一屏不许有第二行字」。宿主手上有宾语(它自己那几张
1427
+ * `blankCards`,或者它自己的产品要说的话),所以这一行对它成立、对我们不成立。
1428
+ */
1429
+ subtitle?: HostText;
1430
+ /**
1431
+ * 这一段**一个字都不画**(连我们那句招呼一起)。缺省 `false`。
1432
+ *
1433
+ * 它是唯一能表达「我不要这句话」的写法 —— 理由、以及「为什么不能拿空串表达」,
1434
+ * 全文在文件头第四节。
1435
+ *
1436
+ * ⚠️ 和三样文案**同时给是允许的,这一个赢**(「先关掉,文案留着」是正当配置)。
1437
+ * ⚠️ 它**不管卡片**:`blankCards` 是另一个键,各关各的。
1438
+ */
1439
+ hidden?: boolean;
1440
+ }
1441
+
1201
1442
  /**
1202
1443
  * 内容合规的**契约值** —— 类别与动作。
1203
1444
  *
@@ -1351,6 +1592,16 @@ interface SidebarMenuMessage {
1351
1592
  declare const SHELL_KINDS: readonly ["cmd", "powershell", "pwsh"];
1352
1593
  /** Windows shell 选择 */
1353
1594
  type ShellKind = (typeof SHELL_KINDS)[number];
1595
+ /**
1596
+ * 轮次那一格里「不设上限」的表示法(2026-09-06)。
1597
+ *
1598
+ * ⚠️ **这是 infra `UNLIMITED_TURNS` 的第二份**,判据全文在那一份上(为什么是 `0`
1599
+ * 而不是 `undefined`)。各写一份是分层的代价,和上面 {@link SHELL_KINDS} 那条
1600
+ * 逐字相同:`protocol` 和 `infra` 互相 import 不了(两个都是零内部依赖层),
1601
+ * 而这个哨兵要同时被引擎(infra 那侧)和只依赖 protocol 的 Web 认出来。
1602
+ * core 里有一条用例锁着它们相等 —— 一个只改了一头的人会当场变红。
1603
+ */
1604
+ declare const UNLIMITED_TURNS = 0;
1354
1605
  type ProviderType = 'openai' | 'anthropic' | 'google' | 'deepseek' | 'groq' | 'mistral' | 'moonshotai' | 'cohere' | 'xai' | 'perplexity' | 'amazon-bedrock' | 'azure' | 'togetherai' | 'ollama' | 'openai-compatible';
1355
1606
  /** provider 元信息:展示名 + API key 环境变量名 */
1356
1607
  interface ProviderInfo {
@@ -1425,6 +1676,10 @@ interface EpochConfig {
1425
1676
  * infra 是零内部依赖层,import 不了 protocol。core 里有一条用例锁着它们相等。
1426
1677
  */
1427
1678
  shell?: ShellKind;
1679
+ /**
1680
+ * 一条用户消息底下最多几次模型请求。**{@link UNLIMITED_TURNS}(`0`)= 不设上限**,
1681
+ * 也是缺省(2026-09-06)。判据全文在 infra 的 `DEFAULT_MAX_TURNS` 上。
1682
+ */
1428
1683
  maxTurns: number;
1429
1684
  contextLength: number;
1430
1685
  homeDir: string;
@@ -1827,6 +2082,41 @@ interface EpochConfig {
1827
2082
  * 兜(web 那一格滚动),不由校验兜。
1828
2083
  */
1829
2084
  sidebarMenu?: readonly SidebarMenuItem[];
2085
+ /**
2086
+ * 宿主自定义的那几张开场卡片(2026-09-04)。**缺省 = 新会话空屏上一张都没有**,
2087
+ * 那一屏仍然只有一行招呼。
2088
+ *
2089
+ * 形状、口径、以及「点下去把那句话填进输入框、不发出去」那条判据,全文在
2090
+ * [blank-cards.ts](./blank-cards.ts) 的文件头 —— 这儿只记它和上面两个键的
2091
+ * **关系**:三个键是同一类东西(宿主装配期按下的事实、只读、`GET /api/config`
2092
+ * 原样下发、没配就不带那个键),所以并排放在顶层。
2093
+ *
2094
+ * ⚠️ **「缺省一张都没有」不是省事,是一条产品判据**:这一屏 2026-08-18 撤掉过
2095
+ * 三条我们自己写的种子(用户原话「太有指向性了」)。这个键把那句话的发言权交给
2096
+ * 宿主,而**我们自己一张都不塞回去**。全文在 `blank-cards.ts` 文件头第二节。
2097
+ *
2098
+ * ⚠️ **空数组是配错了**(不要卡片就别写这个键),`id` 不许重复,不设条数上限
2099
+ * —— 三条都逐字同 {@link sidebarMenu}。
2100
+ */
2101
+ blankCards?: readonly BlankCard[];
2102
+ /**
2103
+ * 宿主自定义的那句开场招呼(2026-09-04)。**缺省 = 我们那句**
2104
+ * (`web.ui.blank.title`,跟着界面语言翻)—— 这一格和上面三个键**默认档相反**。
2105
+ *
2106
+ * 形状、三样文案各自的默认档、以及 `hidden` 那一档存在的理由,全文在
2107
+ * [blank-greeting.ts](./blank-greeting.ts) 的文件头 —— 这儿只记它和上面三个键
2108
+ * 的**关系**:同一类东西(宿主装配期按下的事实、只读、`GET /api/config` 原样
2109
+ * 下发、没配就不带这个键),所以并排放在顶层。
2110
+ *
2111
+ * ⚠️ **但它的文案收 `{ zh, en }` 而不是 `string`**,这是四个键里唯一一个 ——
2112
+ * 因为它是四个里唯一一个**本来就有我们的译文**的位置。照抄前三个键收纯字符串的
2113
+ * 话,宿主一配,英文界面上那一屏唯一的一行字就永远是中文。全文在
2114
+ * `blank-greeting.ts` 文件头第二节。
2115
+ *
2116
+ * ⚠️ **空段(`blankGreeting: {}`)是配错了**,同 `blankCards: []`;
2117
+ * 每一样文案的 `{ zh, en }` 也不许一格都不给、不许是空串 —— 判据同 {@link brand}。
2118
+ */
2119
+ blankGreeting?: BlankGreeting;
1830
2120
  /**
1831
2121
  * `~/.epoch/artifacts/` 的保留策略(方案 47 PR-4)。**缺省 = 内置默认**
1832
2122
  * (7 天 / 512MB)—— 整段不配和显式写这两个默认值,行为逐字节相同。
@@ -2736,6 +3026,26 @@ type FinishReason =
2736
3026
  * 与输出侧被拦下的区别在文本里说清,不在这个枚举里分叉。
2737
3027
  */
2738
3028
  | 'compliance'
3029
+ /**
3030
+ * provider 把这一轮的回复**按 max output tokens 截断了**(2026-09-04)。
3031
+ *
3032
+ * ## 为什么必须和 `'stop'` 分开
3033
+ *
3034
+ * 分不开的时候,「模型自己收的」和「话没说完就被切了」在事后**无法区分** ——
3035
+ * 两者在界面上长得一模一样(都是「这一轮没有工具调用」)。而这是所有
3036
+ * 「模型半路停下」类问题的**第一个分诊问题**:一句
3037
+ * 「我先确认苏菲店的信息,再拉昨日数据。」+ 0 个工具调用,到底是模型宣布了
3038
+ * 下一步就收工(该由 `verify:stop` 那道闸救),还是它正要发工具调用时
3039
+ * 被截断(该调高 max output tokens)—— 处置完全相反。
3040
+ *
3041
+ * 实测过一次:`sessions.db` 里 687 条消息的 `finish_reason` 列**全是 NULL**,
3042
+ * 而 `AgentLoop` 当时只判了 `'content-filter'`,没有任何一处判 `'length'`。
3043
+ * 那一轮到底是哪一种,事后答不出来。
3044
+ *
3045
+ * ⚠️ **这一档不是「出错了」。** 请求成功、已经计费、那半截正文是真的,
3046
+ * 只是它不完整。宿主该说的话是「回复被截断了」而不是「失败了」。
3047
+ */
3048
+ | 'length'
2739
3049
  /** 触达成本或 token 预算上限 */
2740
3050
  | 'budget-exceeded'
2741
3051
  /** 异常终止(详情见前一个 error 事件) */
@@ -2995,8 +3305,12 @@ type AgentEvent =
2995
3305
  /**
2996
3306
  * 一条 `notice` 是哪一类。
2997
3307
  *
2998
- * 今天只有一种,但写成联合是为了让**将来加第二种时消费方的 switch 会红** ——
3308
+ * 写成联合而不是 `string`,是为了让**加一档时消费方的 switch 会红** ——
2999
3309
  * 判据同 wire.ts 的 `WireResetReason`。
3310
+ *
3311
+ * ⚠️ 这里原来写着「今天只有一种」—— 那句话在写下之后就一直在过期
3312
+ * (`images-dropped` / `compliance-masked` / `response-truncated` 陆续进来)。
3313
+ * 有几种去数下面这个联合,别在散文里再抄一个会骗人的数字。
3000
3314
  */
3001
3315
  type NoticeCode =
3002
3316
  /**
@@ -3042,7 +3356,19 @@ type NoticeCode =
3042
3356
  * `finish: 'compliance'` + 一句正文,用户当场知道发生了什么。
3043
3357
  * 这一档请求照发,所以只欠一句旁白。
3044
3358
  */
3045
- | 'compliance-masked';
3359
+ | 'compliance-masked'
3360
+ /**
3361
+ * provider 按 max output tokens **把这一轮的回复切了**(2026-09-04)。
3362
+ *
3363
+ * 和 `FinishReason` 的 `'length'` 是同一件事的两个出口,两个都要:
3364
+ * 收尾原因是给**机器**分支的(headless 的 `result.reason`、落盘的
3365
+ * `finish_reason` 列、web 那枚记号),这一帧是给**人**看的那句话 ——
3366
+ * 屏幕上那半截正文自己不会说「我是半截的」。
3367
+ *
3368
+ * ⚠️ 走 `notice` 而不是 `text-delta`,判据同上面 `skill-learned` 那三条:
3369
+ * 它不是模型说的话,塞进正文就会进历史、进落盘、下一轮再进模型。
3370
+ */
3371
+ | 'response-truncated';
3046
3372
  type AgentEventType = AgentEvent['type'];
3047
3373
  /** 取出某个具体事件的类型,例如 AgentEventOf<'tool-call'> */
3048
3374
  type AgentEventOf<T extends AgentEventType> = Extract<AgentEvent, {
@@ -5186,8 +5512,12 @@ interface HeadlessResult {
5186
5512
  /**
5187
5513
  * 收尾原因。
5188
5514
  *
5189
- * 前七个逐字沿用 `FinishReason`(引擎的收尾原因就是这一份,不另做映射),
5515
+ * `FinishReason` 那一整份逐字沿用(引擎的收尾原因就是这一份,不另做映射),
5190
5516
  * 后两个是 headless 这一层才有的:
5517
+ *
5518
+ * ⚠️ 这里原来写着「前七个」,而 `FinishReason` 早就不是七档了
5519
+ * (`compliance` / `length` 陆续进来)—— 数字写在散文里就会变成假话,
5520
+ * 而**能编译过的是那个联合**。要数就去数它。
5191
5521
  */
5192
5522
  type HeadlessResultReason = FinishReason
5193
5523
  /**
@@ -5839,6 +6169,42 @@ interface WireConfigResponse {
5839
6169
  * 第一方 Web UI 自己的事,而这条端点也服务着自己画前端的宿主(EMBEDDING §10)。
5840
6170
  */
5841
6171
  sidebarMenu?: readonly SidebarMenuItem[];
6172
+ /**
6173
+ * 宿主自定义的那几张开场卡片 —— **宿主没配就没有这个键**(2026-09-04)。
6174
+ *
6175
+ * 和 {@link sidebarMenu} 同一个形状、同一个理由,连搭在这条端点上的理由都一样:
6176
+ * 新会话那一屏首屏就要画它,为一份可选的静态清单另开一个端点等于让每个客户端
6177
+ * 多一次往返。它**只读** —— 那是宿主装配期的事,界面上没有改它的入口。
6178
+ *
6179
+ * 来源是 `EpochConfig.blankCards`;每一项的字段含义、以及「点下去把那句话填进
6180
+ * 输入框而不是发出去」那条判据,全文在 [blank-cards.ts](./blank-cards.ts) 的
6181
+ * 文件头。
6182
+ *
6183
+ * ⚠️ **原样转发,服务端一个字都不改**,判据逐字同上面那个 `sidebarMenu`:
6184
+ * `title` / `subtitle` / `prompt` 不翻译(它们是宿主的话),`icon` 认不认得出来
6185
+ * 也不在这一层判 —— 那张白名单是第一方 Web UI 自己的事,而这条端点也服务着
6186
+ * 自己画前端的宿主(EMBEDDING §10)。
6187
+ */
6188
+ blankCards?: readonly BlankCard[];
6189
+ /**
6190
+ * 宿主自定义的那句开场招呼 —— **宿主没配就没有这个键**(2026-09-04)。
6191
+ *
6192
+ * 来源是 `EpochConfig.blankGreeting`;三样文案各自的默认档、以及 `hidden` 那一档,
6193
+ * 全文在 [blank-greeting.ts](./blank-greeting.js) 的文件头。
6194
+ *
6195
+ * ⚠️ **原样转发,服务端一个字都不改 —— 包括「按语言挑那一份」这件事也不在这儿做。**
6196
+ * 这一条值得单独写下来,因为它看上去正是这条端点该干的事(`?lang=` 就在手上):
6197
+ *
6198
+ * | 在服务端挑 | 原样下发(**选它**) |
6199
+ * | -------------------------------------------- | ----------------------------------------- |
6200
+ * | 切语言要等 `/api/config` 重拉完那一行才变 | 语言是 React 树上的值,**当场变** |
6201
+ * | 那一发拉失败,招呼话就卡在旧语言 | 拉不拉得动都不影响它 |
6202
+ * | 自己画前端的宿主(§10)拿不到另一份 | 两份都在它手上,它自己怎么挑是它的事 |
6203
+ *
6204
+ * 顺带守住这条端点上那句话:**`diagnostics` 仍然是唯一跟着请求语言走的东西**
6205
+ * (见本文件 `diagnostics` 那一格)—— 那一格没得选,它是服务端生成的字符串。
6206
+ */
6207
+ blankGreeting?: BlankGreeting;
5842
6208
  /**
5843
6209
  * 自动压缩那条线(决定 8 的第三个时刻,2026-08-16)。形状与三条判据见
5844
6210
  * {@link WireCompressionLine}。
@@ -7828,7 +8194,14 @@ interface WireAgentRoleSummary {
7828
8194
  * `web.ui.cap.role_add_skills_hint`:**只管索引里列不列得出**。
7829
8195
  */
7830
8196
  skills: readonly string[] | null;
7831
- /** 轮次上限。`null` = 跟全局(`max(4, floor(父 maxTurns / 2))`) */
8197
+ /**
8198
+ * 轮次上限。**三档,别读成两档**:`null` = 这个角色没声明、跟全局走
8199
+ * (`config.maxTurns`,2026-09-04 前是它的一半);`0` = 它声明了不限
8200
+ * (`UNLIMITED_TURNS`);其余是个数。
8201
+ *
8202
+ * 中间那一档 2026-09-06 才出现,所以画它的地方要单独一句「不限」——
8203
+ * 一个 `轮次上限: 0` 读出来是「一轮都不许跑」,正好是反面。
8204
+ */
7832
8205
  maxTurns: number | null;
7833
8206
  /**
7834
8207
  * 同名覆盖被收窄时**掉了哪几个工具**。没收窄就是空数组。
@@ -8503,7 +8876,13 @@ interface WireRoleAddRequest {
8503
8876
  * 技能名,他该怎么办。
8504
8877
  */
8505
8878
  skills?: readonly string[];
8506
- /** 轮次上限。不给 = 跟全局。范围由 `FrontmatterSchema` 说了算(1–200 的整数) */
8879
+ /**
8880
+ * 轮次上限。**不给 = 跟全局,`0` = 不限**(两者不同义,见 `WireAgentRoleSummary`
8881
+ * 那一格)。范围由 `FrontmatterSchema` 说了算:0 或正整数,两头都没有拦网。
8882
+ *
8883
+ * ⚠️ 这一行 2026-09-06 之前写的是「1–200 的整数」,那两个数**都已经不在了** ——
8884
+ * 上限 2026-09-04 撤,下限 2026-09-06 撤。
8885
+ */
8507
8886
  maxTurns?: number;
8508
8887
  }
8509
8888
  declare const WIRE_ROLE_ADD_FIELDS: WireFields<WireRoleAddRequest>;
@@ -12128,4 +12507,4 @@ declare const SECRET_SERVICE = "epoch-agent";
12128
12507
  */
12129
12508
  declare const MCP_DATA_KEY_NAME = "mcp-auth-data-key";
12130
12509
 
12131
- export { ACTION_CONTEXTS, AGENT_ROLE_NAME_PATTERN, API_KEY_ENV_VARS, APPROVAL_OUTCOMES, type ActiveAgentRole, type AgentEvent, type AgentEventOf, type AgentEventType, type AgentRole, type AgentRoleScope, type AgentRoleSource, type ApprovalAnswer, type ApprovalOutcome, type ApprovalReply, type ApprovalRequest, type ArtifactKind, type AttributeValue, type Attributes, type BackgroundTaskInfo, type BackgroundTaskKind, type BackgroundTaskStatus, type BoundKey, type BudgetBreach, COMMAND_NAME_PATTERN, COMPLIANCE_ACTIONS, COMPLIANCE_CATEGORIES, type Catalogs, type ComplianceAction, type ComplianceCategory, type ContextBreakdown, type ContextSegment, type CustomCommandDef, type CustomCommandSource, DEFAULT_AGENT_ROLE, DEFAULT_LANG, type DecidedTrustLevel, type Diagnostic, DiagnosticSink, type DiagnosticStatus, 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, type FileOmitReason, type FinishReason, type FixableApproval, type FlatCatalog, 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 JsonSchema, KEY_ACTIONS, type KeyAction, type KeyChord, type KeyContext, type KeySequence, type KeybindingReport, type KeybindingSource, type KeybindingTable, LANGS, type Lang, type LocalizedDetail, type LogFn, MAX_ATTACH_BYTES, MAX_ATTACH_FILES, MAX_ATTACH_TOTAL_BYTES, MAX_HEADER_CHARS, MAX_OPTIONS, MAX_QUESTIONS, MAX_SESSION_ATTACH_BYTES, MAX_SESSION_REFS, MCP_DATA_KEY_NAME, METRIC, MIN_OPTIONS, type MentionSet, type ModelRef, type ModelSelection, type ModelSelectionOrigin, NOOP_TELEMETRY, type NoticeCode, OPERATION_TYPES, type Operation, type OperationType, PERMISSION_LEVELS, PLAN_OUTCOMES, PROVIDER_INFOS, PROVIDER_TYPES, type PermissionDecision, type PermissionLevel, type PermissionManager, type PermissionRuleLists, type PlanApprovalOutcome, type PlanProposal, type PluginContext, type ProviderInfo, type ProviderType, type QuestionAnswer, type QuestionItem, type QuestionOption, type QuestionRequest, RESERVED_CHORDS, RESERVED_COMMAND_NAMES, type RejectReason, type RejectedKey, type RuleValue, SCHEDULE_INTERVAL_MINUTES, SCHEDULE_RUN_STATUSES, SCHEDULE_TEMPLATES, SEARCH_API_KEY_ENV, SEARCH_PROVIDER_TYPES, SECRET_SERVICE, SEQUENCE_CONTEXTS, SESSION_MENTION_PREFIX, SESSION_REFERENCE_ERROR_CODES, SHELL_KINDS, SIDEBAR_MENU_MESSAGE_TYPE, SIMULTANEOUS_CONTEXTS, SYSTEM_NOTE_PREFIX, type ScheduleAllowlist, type ScheduleBackendKind, type ScheduleCycle, type ScheduleDefinition, type SchedulePendingApproval, type SchedulePendingItem, type ScheduleRun, type ScheduleRunStatus, type ScheduleRunnerSpec, type ScheduleTemplate, type ScheduleTemplateId, type ScheduleTrigger, type ScheduleTriggerKind, type ScheduleWeekday, 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 ShellKind, type SidebarMenuItem, type SidebarMenuMessage, 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 TrustLevel, type TrustManager, type TrustRecord, type TrustScope, type VerifyResult, WIRE_ABORT_FIELDS, WIRE_ABOUT_FIELDS, WIRE_AGENT_ROLE_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_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_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_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_FIELDS, WIRE_MODEL_SELECTION_FIELDS, WIRE_MODEL_SET_FIELDS, WIRE_MODEL_SUGGESTIONS_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_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_UPDATE_FIELDS, WIRE_POLICY_DIR_FIELDS, WIRE_POLICY_STATUS_FIELDS, WIRE_PROVIDERS_FIELDS, WIRE_PROVIDER_KEY_FIELDS, WIRE_PROVIDER_MODELS_FIELDS, WIRE_PROVIDER_OPTION_FIELDS, 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_REWIND_FILE_PLAN_FIELDS, WIRE_REWIND_OUTCOME_FIELDS, WIRE_REWIND_PREVIEW_FIELDS, WIRE_REWIND_REQUEST_FIELDS, WIRE_REWIND_RESPONSE_FIELDS, WIRE_REWIND_SCOPES, WIRE_ROLE_ADD_FIELDS, WIRE_ROLE_ADD_RESPONSE_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_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_ROW_FIELDS, WIRE_SETTING_STEP_FIELDS, WIRE_SETTING_WRITE_FIELDS, WIRE_SETTING_WRITE_LAYERS, WIRE_SKILL_BODY_FIELDS, WIRE_SKILL_FIELDS, WIRE_SKILL_IMPORT_FIELDS, WIRE_SKILL_IMPORT_PREVIEW_FIELDS, WIRE_SKILL_REMOVE_FIELDS, WIRE_TASKS_FIELDS, WIRE_TOOLS_FIELDS, WIRE_TOOL_GATE_FIELDS, WIRE_TOOL_ROW_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 WireApprovalCacheRevokeRequest, type WireApprovalCacheRevokeResponse, type WireApprovalListResponse, type WireApprovalRequest, type WireArtifactsResponse, 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 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 WireGoal, type WireGoalBlock, type WireGoalClearResponse, type WireGoalCreateRequest, type WireGoalLimits, type WireGoalPhase, type WireGoalRefusal, type WireGoalResponse, type WireGoalUpdateRequest, type WireGoalWriteResponse, type WireHealthResponse, type WireHubEnvelope, type WireHubEvent, type WireImageReference, type WireKnownWorkspace, 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 WireModelProbeStatus, type WireModelRejection, type WireModelResponse, type WireModelSelection, type WireModelSetRequest, type WireModelSetResponse, type WireModelSource, type WireModelSuggestions, 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 WirePluginCounts, type WirePluginEntry, type WirePluginHit, type WirePluginHookTally, type WirePluginInstallRequest, type WirePluginLocalInstallRequest, type WirePluginLocalRequest, type WirePluginMarketplace, type WirePluginMarketplaceRequest, type WirePluginMarketplaceResponse, type WirePluginNameRequest, type WirePluginPreview, type WirePluginPreviewRequest, type WirePluginPreviewResponse, type WirePluginRefuseReason, type WirePluginSourceType, type WirePluginUpdateRequest, type WirePluginsResponse, type WirePolicyDir, type WirePolicyStatus, type WireProviderKeyRequest, type WireProviderKeyResponse, type WireProviderModelsRequest, type WireProviderModelsResponse, type WireProviderOption, type WireProviderSummary, type WireProvidersResponse, type WireQuestionListResponse, type WireQuestionRequest, type WireReplayMessage, type WireResetReason, type WireRespondApprovalRequest, type WireRespondApprovalResponse, type WireRespondQuestionRequest, type WireRespondQuestionResponse, type WireRewindAction, type WireRewindDrift, type WireRewindFilePlan, type WireRewindOutcome, type WireRewindPreview, type WireRewindRequest, type WireRewindResponse, type WireRewindScope, type WireRoleAddRequest, type WireRoleAddResponse, 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 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 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 WireSkillSummary, type WireSummaryWorkspace, type WireTaggedEvent, type WireTasksResponse, type WireToolGate, type WireToolGateAxis, type WireToolRow, type WireToolSummary, type WireToolVerdict, type WireToolsResponse, type WireTurnState, type WireWorkspaceBinding, type WireWorkspaceDiffResponse, type WireWorkspaceDirEntry, type WireWorkspaceDirsResponse, type WireWorkspaceRef, apiKeyEnvVar, assertNeverPart, assistantTurnText, attachSessionSurface, chordId, collectPendingApprovals, compressionThresholdTokens, conformsToWire, contentToText, diagnosticToLine, extractAllMentions, extractMentions, extractSessionMentions, filePartSummary, flattenCatalog, getProviderInfo, hasFailure, isApprovalOutcome, isContextNearlyFull, isHeadlessInputFormat, isHeadlessLifecycleEvent, isHeadlessOutputFormat, isKeyAction, isLang, isMentionableFilePath, isOperationType, isPermissionLevel, isPlanOutcome, isProviderType, isQuestionAnswerMap, isSearchProviderType, isValidAgentRoleName, isValidCommandName, isWireGoalPhase, isWireHubEvent, isWirePlanAction, isWireRewindScope, isWireSettingWriteLayer, makeTranslate, normalizeApproval, packSessionSurface, parseChord, parseModelRef, parseSequence, perAction, placeholdersOf, promptTokens, sequenceId, sessionPartSummary, stripSystemNote, systemNote, tableOf, totalUsageTokens, translatorFor, turnDigest, unfixedRules, utf8ByteLength, wireFields };
12510
+ export { ACTION_CONTEXTS, AGENT_ROLE_NAME_PATTERN, API_KEY_ENV_VARS, APPROVAL_OUTCOMES, type ActiveAgentRole, type AgentEvent, type AgentEventOf, type AgentEventType, type AgentRole, type AgentRoleScope, type AgentRoleSource, type ApprovalAnswer, type ApprovalOutcome, type ApprovalReply, type ApprovalRequest, type ArtifactKind, type AttributeValue, type Attributes, type BackgroundTaskInfo, type BackgroundTaskKind, type BackgroundTaskStatus, type BlankCard, type BlankGreeting, type BoundKey, type BudgetBreach, COMMAND_NAME_PATTERN, COMPLIANCE_ACTIONS, COMPLIANCE_CATEGORIES, type Catalogs, type ComplianceAction, type ComplianceCategory, type ContextBreakdown, type ContextSegment, type CustomCommandDef, type CustomCommandSource, DEFAULT_AGENT_ROLE, DEFAULT_LANG, type DecidedTrustLevel, type Diagnostic, DiagnosticSink, type DiagnosticStatus, 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, type FileOmitReason, type FinishReason, type FixableApproval, type FlatCatalog, 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 JsonSchema, KEY_ACTIONS, type KeyAction, type KeyChord, type KeyContext, type KeySequence, type KeybindingReport, type KeybindingSource, type KeybindingTable, LANGS, type Lang, type LocalizedDetail, type LogFn, MAX_ATTACH_BYTES, MAX_ATTACH_FILES, MAX_ATTACH_TOTAL_BYTES, MAX_HEADER_CHARS, MAX_OPTIONS, MAX_QUESTIONS, MAX_SESSION_ATTACH_BYTES, MAX_SESSION_REFS, MCP_DATA_KEY_NAME, METRIC, MIN_OPTIONS, type MentionSet, type ModelRef, type ModelSelection, type ModelSelectionOrigin, NOOP_TELEMETRY, type NoticeCode, OPERATION_TYPES, type Operation, type OperationType, PERMISSION_LEVELS, PLAN_OUTCOMES, PROVIDER_INFOS, PROVIDER_TYPES, type PermissionDecision, type PermissionLevel, type PermissionManager, type PermissionRuleLists, type PlanApprovalOutcome, type PlanProposal, type PluginContext, type ProviderInfo, type ProviderType, type QuestionAnswer, type QuestionItem, type QuestionOption, type QuestionRequest, RESERVED_CHORDS, RESERVED_COMMAND_NAMES, type RejectReason, type RejectedKey, type RuleValue, SCHEDULE_INTERVAL_MINUTES, SCHEDULE_RUN_STATUSES, SCHEDULE_TEMPLATES, SEARCH_API_KEY_ENV, SEARCH_PROVIDER_TYPES, SECRET_SERVICE, SEQUENCE_CONTEXTS, SESSION_MENTION_PREFIX, SESSION_REFERENCE_ERROR_CODES, SHELL_KINDS, SIDEBAR_MENU_MESSAGE_TYPE, SIMULTANEOUS_CONTEXTS, SYSTEM_NOTE_PREFIX, type ScheduleAllowlist, type ScheduleBackendKind, type ScheduleCycle, type ScheduleDefinition, type SchedulePendingApproval, type SchedulePendingItem, type ScheduleRun, type ScheduleRunStatus, type ScheduleRunnerSpec, type ScheduleTemplate, type ScheduleTemplateId, type ScheduleTrigger, type ScheduleTriggerKind, type ScheduleWeekday, 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 ShellKind, type SidebarMenuItem, type SidebarMenuMessage, 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 TrustLevel, type TrustManager, type TrustRecord, type TrustScope, UNLIMITED_TURNS, type VerifyResult, WIRE_ABORT_FIELDS, WIRE_ABOUT_FIELDS, WIRE_AGENT_ROLE_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_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_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_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_FIELDS, WIRE_MODEL_SELECTION_FIELDS, WIRE_MODEL_SET_FIELDS, WIRE_MODEL_SUGGESTIONS_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_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_UPDATE_FIELDS, WIRE_POLICY_DIR_FIELDS, WIRE_POLICY_STATUS_FIELDS, WIRE_PROVIDERS_FIELDS, WIRE_PROVIDER_KEY_FIELDS, WIRE_PROVIDER_MODELS_FIELDS, WIRE_PROVIDER_OPTION_FIELDS, 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_REWIND_FILE_PLAN_FIELDS, WIRE_REWIND_OUTCOME_FIELDS, WIRE_REWIND_PREVIEW_FIELDS, WIRE_REWIND_REQUEST_FIELDS, WIRE_REWIND_RESPONSE_FIELDS, WIRE_REWIND_SCOPES, WIRE_ROLE_ADD_FIELDS, WIRE_ROLE_ADD_RESPONSE_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_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_ROW_FIELDS, WIRE_SETTING_STEP_FIELDS, WIRE_SETTING_WRITE_FIELDS, WIRE_SETTING_WRITE_LAYERS, WIRE_SKILL_BODY_FIELDS, WIRE_SKILL_FIELDS, WIRE_SKILL_IMPORT_FIELDS, WIRE_SKILL_IMPORT_PREVIEW_FIELDS, WIRE_SKILL_REMOVE_FIELDS, WIRE_TASKS_FIELDS, WIRE_TOOLS_FIELDS, WIRE_TOOL_GATE_FIELDS, WIRE_TOOL_ROW_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 WireApprovalCacheRevokeRequest, type WireApprovalCacheRevokeResponse, type WireApprovalListResponse, type WireApprovalRequest, type WireArtifactsResponse, 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 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 WireGoal, type WireGoalBlock, type WireGoalClearResponse, type WireGoalCreateRequest, type WireGoalLimits, type WireGoalPhase, type WireGoalRefusal, type WireGoalResponse, type WireGoalUpdateRequest, type WireGoalWriteResponse, type WireHealthResponse, type WireHubEnvelope, type WireHubEvent, type WireImageReference, type WireKnownWorkspace, 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 WireModelProbeStatus, type WireModelRejection, type WireModelResponse, type WireModelSelection, type WireModelSetRequest, type WireModelSetResponse, type WireModelSource, type WireModelSuggestions, 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 WirePluginCounts, type WirePluginEntry, type WirePluginHit, type WirePluginHookTally, type WirePluginInstallRequest, type WirePluginLocalInstallRequest, type WirePluginLocalRequest, type WirePluginMarketplace, type WirePluginMarketplaceRequest, type WirePluginMarketplaceResponse, type WirePluginNameRequest, type WirePluginPreview, type WirePluginPreviewRequest, type WirePluginPreviewResponse, type WirePluginRefuseReason, type WirePluginSourceType, type WirePluginUpdateRequest, type WirePluginsResponse, type WirePolicyDir, type WirePolicyStatus, type WireProviderKeyRequest, type WireProviderKeyResponse, type WireProviderModelsRequest, type WireProviderModelsResponse, type WireProviderOption, type WireProviderSummary, type WireProvidersResponse, type WireQuestionListResponse, type WireQuestionRequest, type WireReplayMessage, type WireResetReason, type WireRespondApprovalRequest, type WireRespondApprovalResponse, type WireRespondQuestionRequest, type WireRespondQuestionResponse, type WireRewindAction, type WireRewindDrift, type WireRewindFilePlan, type WireRewindOutcome, type WireRewindPreview, type WireRewindRequest, type WireRewindResponse, type WireRewindScope, type WireRoleAddRequest, type WireRoleAddResponse, 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 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 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 WireSkillSummary, type WireSummaryWorkspace, type WireTaggedEvent, type WireTasksResponse, type WireToolGate, type WireToolGateAxis, type WireToolRow, type WireToolSummary, type WireToolVerdict, type WireToolsResponse, type WireTurnState, type WireWorkspaceBinding, type WireWorkspaceDiffResponse, type WireWorkspaceDirEntry, type WireWorkspaceDirsResponse, type WireWorkspaceRef, apiKeyEnvVar, assertNeverPart, assistantTurnText, attachSessionSurface, chordId, collectPendingApprovals, compressionThresholdTokens, conformsToWire, contentToText, diagnosticToLine, extractAllMentions, extractMentions, extractSessionMentions, filePartSummary, flattenCatalog, getProviderInfo, hasFailure, isApprovalOutcome, isContextNearlyFull, isHeadlessInputFormat, isHeadlessLifecycleEvent, isHeadlessOutputFormat, isKeyAction, isLang, isMentionableFilePath, isOperationType, isPermissionLevel, isPlanOutcome, isProviderType, isQuestionAnswerMap, isSearchProviderType, isValidAgentRoleName, isValidCommandName, isWireGoalPhase, isWireHubEvent, isWirePlanAction, isWireRewindScope, isWireSettingWriteLayer, makeTranslate, normalizeApproval, packSessionSurface, parseChord, parseModelRef, parseSequence, perAction, placeholdersOf, promptTokens, resolveHostText, sequenceId, sessionPartSummary, stripSystemNote, systemNote, tableOf, totalUsageTokens, translatorFor, turnDigest, unfixedRules, utf8ByteLength, wireFields };
package/dist/index.js CHANGED
@@ -246,6 +246,7 @@ function tableOf(bindings) {
246
246
  }
247
247
  // src/config.ts
248
248
  var SHELL_KINDS = ["cmd", "powershell", "pwsh"];
249
+ var UNLIMITED_TURNS = 0;
249
250
  var PROVIDER_INFOS = [
250
251
  { type: "openai", label: "OpenAI", apiKeyEnv: "OPENAI_API_KEY", interactive: true },
251
252
  { type: "anthropic", label: "Anthropic", apiKeyEnv: "ANTHROPIC_API_KEY", interactive: true },
@@ -1657,20 +1658,6 @@ var WIRE_FILE_CANDIDATES_FIELDS = wireFields()({
1657
1658
  });
1658
1659
  // src/sidebar-menu.ts
1659
1660
  var SIDEBAR_MENU_MESSAGE_TYPE = "epoch:sidebar-menu";
1660
- // src/compliance.ts
1661
- var COMPLIANCE_CATEGORIES = [
1662
- "sexual",
1663
- "political",
1664
- "hate",
1665
- "violence",
1666
- "illegal",
1667
- "self_harm",
1668
- "privacy"
1669
- ];
1670
- var COMPLIANCE_ACTIONS = ["block", "mask", "warn", "off"];
1671
- // src/secret.ts
1672
- var SECRET_SERVICE = "epoch-agent";
1673
- var MCP_DATA_KEY_NAME = "mcp-auth-data-key";
1674
1661
  // src/i18n.ts
1675
1662
  var LANGS = ["zh", "en"];
1676
1663
  var DEFAULT_LANG = "zh";
@@ -1711,5 +1698,28 @@ function translatorFor(catalogs, lang) {
1711
1698
  const translate = makeTranslate(catalogs);
1712
1699
  return (key, vars) => translate(lang, key, vars);
1713
1700
  }
1701
+ // src/blank-greeting.ts
1702
+ function resolveHostText(text, lang) {
1703
+ if (!text) return void 0;
1704
+ const pick = (candidate) => {
1705
+ const value = text[candidate];
1706
+ return value !== void 0 && value !== "" ? value : void 0;
1707
+ };
1708
+ return pick(lang) ?? pick(DEFAULT_LANG) ?? LANGS.map(pick).find((value) => value !== void 0);
1709
+ }
1710
+ // src/compliance.ts
1711
+ var COMPLIANCE_CATEGORIES = [
1712
+ "sexual",
1713
+ "political",
1714
+ "hate",
1715
+ "violence",
1716
+ "illegal",
1717
+ "self_harm",
1718
+ "privacy"
1719
+ ];
1720
+ var COMPLIANCE_ACTIONS = ["block", "mask", "warn", "off"];
1721
+ // src/secret.ts
1722
+ var SECRET_SERVICE = "epoch-agent";
1723
+ var MCP_DATA_KEY_NAME = "mcp-auth-data-key";
1714
1724
 
1715
- export { ACTION_CONTEXTS, AGENT_ROLE_NAME_PATTERN, API_KEY_ENV_VARS, APPROVAL_OUTCOMES, COMMAND_NAME_PATTERN, COMPLIANCE_ACTIONS, COMPLIANCE_CATEGORIES, DEFAULT_AGENT_ROLE, DEFAULT_LANG, DiagnosticSink, GEN_AI, HEADLESS_INPUT_EVENT_TYPES, HEADLESS_INPUT_FORMATS, HEADLESS_OUTPUT_FORMATS, HEADLESS_PROTOCOL_VERSION, KEY_ACTIONS, LANGS, MAX_ATTACH_BYTES, MAX_ATTACH_FILES, MAX_ATTACH_TOTAL_BYTES, MAX_HEADER_CHARS, MAX_OPTIONS, MAX_QUESTIONS, MAX_SESSION_ATTACH_BYTES, MAX_SESSION_REFS, MCP_DATA_KEY_NAME, METRIC, MIN_OPTIONS, NOOP_TELEMETRY, OPERATION_TYPES, PERMISSION_LEVELS, PLAN_OUTCOMES, PROVIDER_INFOS, PROVIDER_TYPES, RESERVED_CHORDS, RESERVED_COMMAND_NAMES, SCHEDULE_INTERVAL_MINUTES, SCHEDULE_RUN_STATUSES, SCHEDULE_TEMPLATES, SEARCH_API_KEY_ENV, SEARCH_PROVIDER_TYPES, SECRET_SERVICE, SEQUENCE_CONTEXTS, SESSION_MENTION_PREFIX, SESSION_REFERENCE_ERROR_CODES, SHELL_KINDS, SIDEBAR_MENU_MESSAGE_TYPE, SIMULTANEOUS_CONTEXTS, SYSTEM_NOTE_PREFIX, ToolExposure, WIRE_ABORT_FIELDS, WIRE_ABOUT_FIELDS, WIRE_AGENT_ROLE_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_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_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_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_FIELDS, WIRE_MODEL_SELECTION_FIELDS, WIRE_MODEL_SET_FIELDS, WIRE_MODEL_SUGGESTIONS_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_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_UPDATE_FIELDS, WIRE_POLICY_DIR_FIELDS, WIRE_POLICY_STATUS_FIELDS, WIRE_PROVIDERS_FIELDS, WIRE_PROVIDER_KEY_FIELDS, WIRE_PROVIDER_MODELS_FIELDS, WIRE_PROVIDER_OPTION_FIELDS, 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_REWIND_FILE_PLAN_FIELDS, WIRE_REWIND_OUTCOME_FIELDS, WIRE_REWIND_PREVIEW_FIELDS, WIRE_REWIND_REQUEST_FIELDS, WIRE_REWIND_RESPONSE_FIELDS, WIRE_REWIND_SCOPES, WIRE_ROLE_ADD_FIELDS, WIRE_ROLE_ADD_RESPONSE_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_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_ROW_FIELDS, WIRE_SETTING_STEP_FIELDS, WIRE_SETTING_WRITE_FIELDS, WIRE_SETTING_WRITE_LAYERS, WIRE_SKILL_BODY_FIELDS, WIRE_SKILL_FIELDS, WIRE_SKILL_IMPORT_FIELDS, WIRE_SKILL_IMPORT_PREVIEW_FIELDS, WIRE_SKILL_REMOVE_FIELDS, WIRE_TASKS_FIELDS, WIRE_TOOLS_FIELDS, WIRE_TOOL_GATE_FIELDS, WIRE_TOOL_ROW_FIELDS, WIRE_WORKSPACE_DIFF_FIELDS, WIRE_WORKSPACE_DIRS_FIELDS, WIRE_WORKSPACE_DIR_ENTRY_FIELDS, WIRE_WORKSPACE_REF_FIELDS, apiKeyEnvVar, assertNeverPart, assistantTurnText, attachSessionSurface, chordId, collectPendingApprovals, compressionThresholdTokens, conformsToWire, contentToText, diagnosticToLine, extractAllMentions, extractMentions, extractSessionMentions, filePartSummary, flattenCatalog, getProviderInfo, hasFailure, isApprovalOutcome, isContextNearlyFull, isHeadlessInputFormat, isHeadlessLifecycleEvent, isHeadlessOutputFormat, isKeyAction, isLang, isMentionableFilePath, isOperationType, isPermissionLevel, isPlanOutcome, isProviderType, isQuestionAnswerMap, isSearchProviderType, isValidAgentRoleName, isValidCommandName, isWireGoalPhase, isWireHubEvent, isWirePlanAction, isWireRewindScope, isWireSettingWriteLayer, makeTranslate, normalizeApproval, packSessionSurface, parseChord, parseModelRef, parseSequence, perAction, placeholdersOf, promptTokens, sequenceId, sessionPartSummary, stripSystemNote, systemNote, tableOf, totalUsageTokens, translatorFor, turnDigest, unfixedRules, utf8ByteLength, wireFields };
1725
+ export { ACTION_CONTEXTS, AGENT_ROLE_NAME_PATTERN, API_KEY_ENV_VARS, APPROVAL_OUTCOMES, COMMAND_NAME_PATTERN, COMPLIANCE_ACTIONS, COMPLIANCE_CATEGORIES, DEFAULT_AGENT_ROLE, DEFAULT_LANG, DiagnosticSink, GEN_AI, HEADLESS_INPUT_EVENT_TYPES, HEADLESS_INPUT_FORMATS, HEADLESS_OUTPUT_FORMATS, HEADLESS_PROTOCOL_VERSION, KEY_ACTIONS, LANGS, MAX_ATTACH_BYTES, MAX_ATTACH_FILES, MAX_ATTACH_TOTAL_BYTES, MAX_HEADER_CHARS, MAX_OPTIONS, MAX_QUESTIONS, MAX_SESSION_ATTACH_BYTES, MAX_SESSION_REFS, MCP_DATA_KEY_NAME, METRIC, MIN_OPTIONS, NOOP_TELEMETRY, OPERATION_TYPES, PERMISSION_LEVELS, PLAN_OUTCOMES, PROVIDER_INFOS, PROVIDER_TYPES, RESERVED_CHORDS, RESERVED_COMMAND_NAMES, SCHEDULE_INTERVAL_MINUTES, SCHEDULE_RUN_STATUSES, SCHEDULE_TEMPLATES, SEARCH_API_KEY_ENV, SEARCH_PROVIDER_TYPES, SECRET_SERVICE, SEQUENCE_CONTEXTS, SESSION_MENTION_PREFIX, SESSION_REFERENCE_ERROR_CODES, SHELL_KINDS, SIDEBAR_MENU_MESSAGE_TYPE, SIMULTANEOUS_CONTEXTS, SYSTEM_NOTE_PREFIX, ToolExposure, UNLIMITED_TURNS, WIRE_ABORT_FIELDS, WIRE_ABOUT_FIELDS, WIRE_AGENT_ROLE_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_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_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_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_FIELDS, WIRE_MODEL_SELECTION_FIELDS, WIRE_MODEL_SET_FIELDS, WIRE_MODEL_SUGGESTIONS_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_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_UPDATE_FIELDS, WIRE_POLICY_DIR_FIELDS, WIRE_POLICY_STATUS_FIELDS, WIRE_PROVIDERS_FIELDS, WIRE_PROVIDER_KEY_FIELDS, WIRE_PROVIDER_MODELS_FIELDS, WIRE_PROVIDER_OPTION_FIELDS, 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_REWIND_FILE_PLAN_FIELDS, WIRE_REWIND_OUTCOME_FIELDS, WIRE_REWIND_PREVIEW_FIELDS, WIRE_REWIND_REQUEST_FIELDS, WIRE_REWIND_RESPONSE_FIELDS, WIRE_REWIND_SCOPES, WIRE_ROLE_ADD_FIELDS, WIRE_ROLE_ADD_RESPONSE_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_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_ROW_FIELDS, WIRE_SETTING_STEP_FIELDS, WIRE_SETTING_WRITE_FIELDS, WIRE_SETTING_WRITE_LAYERS, WIRE_SKILL_BODY_FIELDS, WIRE_SKILL_FIELDS, WIRE_SKILL_IMPORT_FIELDS, WIRE_SKILL_IMPORT_PREVIEW_FIELDS, WIRE_SKILL_REMOVE_FIELDS, WIRE_TASKS_FIELDS, WIRE_TOOLS_FIELDS, WIRE_TOOL_GATE_FIELDS, WIRE_TOOL_ROW_FIELDS, WIRE_WORKSPACE_DIFF_FIELDS, WIRE_WORKSPACE_DIRS_FIELDS, WIRE_WORKSPACE_DIR_ENTRY_FIELDS, WIRE_WORKSPACE_REF_FIELDS, apiKeyEnvVar, assertNeverPart, assistantTurnText, attachSessionSurface, chordId, collectPendingApprovals, compressionThresholdTokens, conformsToWire, contentToText, diagnosticToLine, extractAllMentions, extractMentions, extractSessionMentions, filePartSummary, flattenCatalog, getProviderInfo, hasFailure, isApprovalOutcome, isContextNearlyFull, isHeadlessInputFormat, isHeadlessLifecycleEvent, isHeadlessOutputFormat, isKeyAction, isLang, isMentionableFilePath, isOperationType, isPermissionLevel, isPlanOutcome, isProviderType, isQuestionAnswerMap, isSearchProviderType, isValidAgentRoleName, isValidCommandName, isWireGoalPhase, isWireHubEvent, isWirePlanAction, isWireRewindScope, isWireSettingWriteLayer, makeTranslate, normalizeApproval, packSessionSurface, parseChord, parseModelRef, parseSequence, perAction, placeholdersOf, promptTokens, resolveHostText, sequenceId, sessionPartSummary, stripSystemNote, systemNote, tableOf, totalUsageTokens, translatorFor, turnDigest, unfixedRules, utf8ByteLength, wireFields };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epoch-agent/protocol",
3
- "version": "0.3.2",
3
+ "version": "0.5.0",
4
4
  "private": false,
5
5
  "description": "epoch-agent 契约层:工具 / 事件 / 权限 / 插件的类型定义,零运行时依赖",
6
6
  "repository": {