@epoch-agent/server 0.5.0 → 0.7.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/README.md CHANGED
@@ -382,11 +382,18 @@ POST /api/sessions/abc/permission?lang=zh → 错误消息也跟着这个语
382
382
  推给每个客户端各自解读)。同样只读,没有写端点。写法和边界在
383
383
  [EMBEDDING.md §9](../../docs/EMBEDDING.md)。
384
384
 
385
- 2026-09-02 起同一条端点上还有第二个这样的键:`sidebarMenu`(宿主自定义的那几行侧栏
386
- 菜单,来源 `EpochConfig.sidebarMenu`)。形状、口径、「没配就不带这个键」逐字同
387
- `brand` —— **这一层原样转发,一个字都不改**:`label` 不翻译(它是宿主的话,
388
- 不同于同一份响应里的 `diagnostics.detail`),`icon` 认不认得出来也不在这儿判,
389
- 那张白名单是第一方 Web UI 的私有词表,而这条端点也服务着自己画前端的宿主。
385
+ 2026-09-02 起同一条端点上还有第二个这样的键:`sidebarMenu`(宿主自定义的**侧栏那
386
+ 几行常驻按钮**,来源 `EpochConfig.sidebarMenu`);2026-09-07 又从它拆出了 `userMenu`
387
+ (**「用户」菜单里那几项**,来源 `EpochConfig.userMenu`)。两个键的形状、口径、
388
+ 「没配就不带这个键」都逐字同 `brand` —— **这一层原样转发,一个字都不改**:
389
+ `label` 不翻译(它是宿主的话,不同于同一份响应里的 `diagnostics.detail`),
390
+ `icon` 认不认得出来也不在这儿判,那张白名单是第一方 Web UI 的私有词表,
391
+ 而这条端点也服务着自己画前端的宿主。
392
+
393
+ ⚠️ **那两个键在这一层也互不兜底**:一个没配就是一个没有,**不许拿另一份顶上**。
394
+ 一句 `?? runtime.config.sidebarMenu` 写下来,浏览器收到的是一份「宿主配了两个键」
395
+ 的响应 —— 而 web 那边每一条用例都还是绿的,因为它们看到的确实是两个键。
396
+ 钉这件事的是 `__tests__/sidebar-menu.test.ts` 里「只配一个,响应里就只有那一个」。
390
397
 
391
398
  `/api/health` 在鉴权**之前**,其余全部在之后:不带 cookie 时 `/api/sessions` 是 401,
392
399
  而 `/api/health` 仍然 200。`DELETE` / `PATCH` / `POST` 和别的写请求一样要过 Origin 校验,
package/dist/index.js CHANGED
@@ -1449,8 +1449,10 @@ function config(ctx, res, lang) {
1449
1449
  ...runtime.config.budget?.maxCostUsd !== void 0 ? { maxCostUsd: runtime.config.budget.maxCostUsd } : {},
1450
1450
  ...runtime.config.brand !== void 0 ? { brand: runtime.config.brand } : {},
1451
1451
  ...runtime.config.sidebarMenu !== void 0 ? { sidebarMenu: runtime.config.sidebarMenu } : {},
1452
+ ...runtime.config.userMenu !== void 0 ? { userMenu: runtime.config.userMenu } : {},
1452
1453
  ...runtime.config.blankCards !== void 0 ? { blankCards: runtime.config.blankCards } : {},
1453
1454
  ...runtime.config.blankGreeting !== void 0 ? { blankGreeting: runtime.config.blankGreeting } : {},
1455
+ ...runtime.config.user !== void 0 ? { user: runtime.config.user } : {},
1454
1456
  provider: runtime.providerInfo,
1455
1457
  tools: runtime.tools,
1456
1458
  diagnostics: (lang && runtime.diagnosticsIn?.(lang)) ?? runtime.diagnosticList,