@epoch-agent/server 0.22.0 → 0.23.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 +6 -3
- package/dist/index.d.ts +14 -0
- package/dist/index.js +3 -0
- package/dist/web/assets/{index-B9qjNzNP.js → index-B6z_q0-o.js} +10 -10
- package/dist/web/index.html +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -849,9 +849,12 @@ POST /api/sessions/abc/permission?lang=zh → 错误消息也跟着这个语
|
|
|
849
849
|
> `capability.ts` 答的是「那三栏取什么数」,这一条答的是「怎么建一个身份」)。
|
|
850
850
|
|
|
851
851
|
能力页三栏里最后一个补上的写口 —— 在这条之前,全仓没有任何一条写角色的路。
|
|
852
|
-
请求体是 `{name, description, prompt?, tools?, maxTurns?}
|
|
853
|
-
frontmatter 逐格对上**(`mcp.json`
|
|
854
|
-
|
|
852
|
+
请求体是 `{name, description, displayName?, prompt?, tools?, skills?, maxTurns?}`,
|
|
853
|
+
**和角色文件的 frontmatter 逐格对上**(`mcp.json` 那条刻意收窄,这一条刻意不收:
|
|
854
|
+
角色文件认得的键总共就那几个,砍掉任何一个都会让「从界面建的」和「手写的」变成
|
|
855
|
+
两种东西)。⚠️ `displayName` 是 2026-10-08 跟着 `AgentRole.displayName` 一起加的
|
|
856
|
+
(「要么连表单一起加,要么别加」——`skills` 刚还过这笔账),空白串在 core 归一成
|
|
857
|
+
「没写」。
|
|
855
858
|
|
|
856
859
|
##### ⚠️ 闸门:绑在回环之外(`--host 0.0.0.0`)时**一律 403,一个字节都不写**
|
|
857
860
|
|
package/dist/index.d.ts
CHANGED
|
@@ -478,6 +478,8 @@ type McpAddResultView = {
|
|
|
478
478
|
*/
|
|
479
479
|
interface RoleAddView {
|
|
480
480
|
name: string;
|
|
481
|
+
/** 给人看的称呼(`RoleAddInput.displayName`,2026-10-08)。这一层原样透传 */
|
|
482
|
+
displayName?: string;
|
|
481
483
|
description: string;
|
|
482
484
|
prompt?: string;
|
|
483
485
|
tools?: readonly string[];
|
|
@@ -957,6 +959,16 @@ interface SkillStageControlView {
|
|
|
957
959
|
*/
|
|
958
960
|
interface RoleView {
|
|
959
961
|
name: string;
|
|
962
|
+
/**
|
|
963
|
+
* 给人看的称呼(`AgentRole.displayName`,2026-10-08)。
|
|
964
|
+
*
|
|
965
|
+
* ⚠️ **镜像上漏掉这一格不会红**,判据逐字同下面 `skills` 那一条:真源上它是
|
|
966
|
+
* 可选的,少声明照样满足这份镜像,表现只是 `toWireRole()` 一声不吭地读不到
|
|
967
|
+
* 它 —— 而这一格是「带前缀的插件 / 宿主身份在屏幕上能不能印成人话」的唯一来源。
|
|
968
|
+
* 加它的时候**没有编译器会提醒**,所以往 `AgentRole` 上加展示类字段的人
|
|
969
|
+
* 要自己回来补这儿。
|
|
970
|
+
*/
|
|
971
|
+
displayName?: string;
|
|
960
972
|
description: string;
|
|
961
973
|
tools?: readonly string[];
|
|
962
974
|
/**
|
|
@@ -3223,6 +3235,8 @@ interface DependencyView {
|
|
|
3223
3235
|
requiredBy: string;
|
|
3224
3236
|
source?: string;
|
|
3225
3237
|
reason?: string;
|
|
3238
|
+
/** 清单里的 `displayName`。`unresolved` 那一档没有 —— 那个包没取到 */
|
|
3239
|
+
displayName?: string;
|
|
3226
3240
|
versionUnmet?: {
|
|
3227
3241
|
required: string;
|
|
3228
3242
|
current: string;
|
package/dist/index.js
CHANGED
|
@@ -1136,6 +1136,7 @@ function toWireRole(role, notices) {
|
|
|
1136
1136
|
const cutOf = (kind) => notices.find((n) => n.role === role.name && n.kind === kind)?.cut ?? [];
|
|
1137
1137
|
return {
|
|
1138
1138
|
name: role.name,
|
|
1139
|
+
displayName: role.displayName ?? null,
|
|
1139
1140
|
description: role.description,
|
|
1140
1141
|
source: role.source,
|
|
1141
1142
|
tools: role.tools ?? null,
|
|
@@ -3438,6 +3439,7 @@ function toWireDependency(dep) {
|
|
|
3438
3439
|
requiredBy: dep.requiredBy,
|
|
3439
3440
|
source: dep.source ?? null,
|
|
3440
3441
|
reason: dep.reason ?? null,
|
|
3442
|
+
displayName: dep.displayName ?? null,
|
|
3441
3443
|
version: dep.manifest?.version ?? null,
|
|
3442
3444
|
versionUnmet: dep.versionUnmet ?? null,
|
|
3443
3445
|
inventory: inventory ? {
|
|
@@ -3883,6 +3885,7 @@ async function addRole(ctx, req, res, lang) {
|
|
|
3883
3885
|
const outcome = ctx.runtime.roleWrite.add(
|
|
3884
3886
|
{
|
|
3885
3887
|
name: typeof payload["name"] === "string" ? payload["name"].trim() : "",
|
|
3888
|
+
...typeof payload["displayName"] === "string" ? { displayName: payload["displayName"] } : {},
|
|
3886
3889
|
description: typeof payload["description"] === "string" ? payload["description"].trim() : "",
|
|
3887
3890
|
...typeof payload["prompt"] === "string" ? { prompt: payload["prompt"] } : {},
|
|
3888
3891
|
...Array.isArray(payload["tools"]) ? { tools: stringList2(payload["tools"]) } : {},
|