@sepveneto/dnde-agent 0.2.0-beta.4 → 0.2.0-beta.5
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 +58 -0
- package/dist/{agent--M87gUL-.js → agent-CvnsNxDC.js} +1 -1
- package/dist/agents.d.ts +2 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/editorContext.d.ts.map +1 -1
- package/dist/element.js +17593 -16929
- package/dist/{index-BozWbCey.js → index-d_JuxVCt.js} +16812 -16148
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -17
- package/dist/initialization.d.ts +50 -0
- package/dist/initialization.d.ts.map +1 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/tool.d.ts +4 -0
- package/dist/tool.d.ts.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -51,6 +51,64 @@ interface AgentHostApi {
|
|
|
51
51
|
默认带三个基于编辑器 API 的工具:`get_current_editor`、`get_widgets`、
|
|
52
52
|
`editor_operator`。写操作和历史不可逆操作应先取得用户确认。
|
|
53
53
|
|
|
54
|
+
### 初始化与增量修改
|
|
55
|
+
|
|
56
|
+
Agent 会先读取 `get_current_editor` 的快照,再结合用户当前消息、聊天记录和
|
|
57
|
+
附件内容判断工作模式:
|
|
58
|
+
|
|
59
|
+
- **初始化**:用户要求按清单、文档或整页需求从零创建页面,或明确要求重建;
|
|
60
|
+
- **增量修改**:用户要求在现有页面上新增、编辑、删除或移动局部内容。
|
|
61
|
+
|
|
62
|
+
页面已有内容、但请求又像是一份完整清单时,Agent 会先向用户确认是否覆盖,
|
|
63
|
+
不会自行清空页面。初始化和增量修改都可以通过同一个 `editor_operator` 写入,
|
|
64
|
+
区别在于进入初始化后需要先调用宿主提供的初始化工具。
|
|
65
|
+
|
|
66
|
+
宿主可以提供一个 `initialization` 角色的工具。主 Agent 判断为初始化后,通过
|
|
67
|
+
`start_initialization` 暂时移交给独立的初始化子 Agent;子 Agent 只绑定这个
|
|
68
|
+
指定名称的工具,调用完成后通过 `finish_initialization` 交还主 Agent。用户交互、
|
|
69
|
+
业务接口查询以及返回数据都由宿主工具自己决定:
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
import {
|
|
73
|
+
defineInitializationTool,
|
|
74
|
+
} from '@sepveneto/dnde-agent'
|
|
75
|
+
import { z } from 'zod'
|
|
76
|
+
|
|
77
|
+
const confirmInitialization = defineInitializationTool({
|
|
78
|
+
name: 'confirm_initialization',
|
|
79
|
+
description: '让用户确认本次初始化方式。',
|
|
80
|
+
parameters: z.object({
|
|
81
|
+
checklistSummary: z.string().optional(),
|
|
82
|
+
}),
|
|
83
|
+
async execute({ checklistSummary }) {
|
|
84
|
+
return host.confirmInitialization(checklistSummary)
|
|
85
|
+
},
|
|
86
|
+
})
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
提供这个工具后,主 Agent 不会直接调用它,也不会把它暴露在普通增删改流程中。
|
|
90
|
+
初始化子 Agent 仅能使用该工具,不能使用编辑器工具或其他业务工具。工具返回后
|
|
91
|
+
控制权交还主 Agent,由主 Agent 重新确认组件类型并通过 `editor_operator`
|
|
92
|
+
创建页面。未提供初始化工具时,Agent 会在对话中询问用户是否按清单继续。
|
|
93
|
+
|
|
94
|
+
初始化工具必须返回以下三种结果之一:
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
{ mode: 'custom' } // 模型按用户清单自主设计
|
|
98
|
+
{
|
|
99
|
+
mode: 'reference',
|
|
100
|
+
referenceId: '用户输入的参考数据 ID',
|
|
101
|
+
referenceData: { /* 宿主根据 ID 查询到的实际参考数据 */ }
|
|
102
|
+
}
|
|
103
|
+
{ mode: 'cancelled' } // 用户取消初始化
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
`reference` 模式必须由用户提供参考数据 ID。宿主工具应使用该 ID 调用参考数据
|
|
107
|
+
详情接口,并把实际数据作为 `referenceData` 返回给主 Agent;主 Agent 不得自行
|
|
108
|
+
选择、编造参考项,也不得只凭裸 ID 继续。完成选择后,仍按正常编辑流程依次调用
|
|
109
|
+
可用组件查询、业务数据工具和 `editor_operator`,不会跳过业务工具直接生成业务
|
|
110
|
+
数据。
|
|
111
|
+
|
|
54
112
|
### 添加组件时的业务数据
|
|
55
113
|
|
|
56
114
|
`items` 通常是由业务 ID 查询并组装的复杂数据,不能交给模型生成。业务工具
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var V = Object.defineProperty;
|
|
2
2
|
var Q = (t, s, e) => s in t ? V(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
|
|
3
3
|
var a = (t, s, e) => Q(t, typeof s != "symbol" ? s + "" : s, e);
|
|
4
|
-
import { C as E, U as x, r as X, t as I, o as v, s as y, a as Z, w as A, i as q, e as ee, A as te, n as k, b as R, p as C, c as se, S as ie, d as ne, M as re, f as ae } from "./index-
|
|
4
|
+
import { C as E, U as x, r as X, t as I, o as v, s as y, a as Z, w as A, i as q, e as ee, A as te, n as k, b as R, p as C, c as se, S as ie, d as ne, M as re, f as ae } from "./index-d_JuxVCt.js";
|
|
5
5
|
function oe(t) {
|
|
6
6
|
return t ? !(typeof t == "object" && t && "constructor" in t && typeof t.constructor == "function" ? t.constructor.name : "").includes("ChatCompletions") : !0;
|
|
7
7
|
}
|
package/dist/agents.d.ts
CHANGED
|
@@ -15,5 +15,7 @@ export interface CreateAgentsOptions {
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function createAgents(options: CreateAgentsOptions): {
|
|
17
17
|
agent: Agent<any, "text">;
|
|
18
|
+
initializationAgent: Agent<any, "text"> | undefined;
|
|
19
|
+
agents: Agent<any, "text">[];
|
|
18
20
|
};
|
|
19
21
|
//# sourceMappingURL=agents.d.ts.map
|
package/dist/agents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,KAAK,EAAwB,YAAY,EAAsB,MAAM,SAAS,CAAA;AACrF,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,KAAK,EAAwB,YAAY,EAAsB,MAAM,SAAS,CAAA;AACrF,OAAO,EAAE,KAAK,EAAiB,MAAM,gBAAgB,CAAA;AAgBrD,eAAO,MAAM,mBAAmB,kBAAkB,CAAA;AAClD,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;AAE/D,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,YAAY,CAAA;IACjB,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC3C;AAuLD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB;;;;EAiFxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorContext.d.ts","sourceRoot":"","sources":["../src/editorContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,kBAAkB,CAKpB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,oBAAoB,CAAA;IAC/B,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,EAAE,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,kBAAkB,GAC1B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"editorContext.d.ts","sourceRoot":"","sources":["../src/editorContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAEhB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,kBAAkB,CAKpB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,oBAAoB,CAAA;IAC/B,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,EAAE,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,kBAAkB,GAC1B,uBAAuB,CA2BzB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CASjE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,OAAO,GACd,IAAI,CAGN"}
|