superun-ai-cli 0.1.21 → 0.1.24
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.en.md +24 -15
- package/README.md +38 -15
- package/dist/api/agent-query-api.d.ts +7 -0
- package/dist/api/agent-query-api.js +44 -0
- package/dist/api/agent-query-api.js.map +1 -1
- package/dist/api/managed-agent-api.d.ts +31 -0
- package/dist/api/managed-agent-api.js +98 -0
- package/dist/api/managed-agent-api.js.map +1 -0
- package/dist/commands/chat/interaction.d.ts +0 -1
- package/dist/commands/chat/interaction.js +15 -16
- package/dist/commands/chat/interaction.js.map +1 -1
- package/dist/commands/chat/plugin.d.ts +0 -1
- package/dist/commands/chat/plugin.js +11 -0
- package/dist/commands/chat/plugin.js.map +1 -1
- package/dist/commands/chat/publish.js +15 -2
- package/dist/commands/chat/publish.js.map +1 -1
- package/dist/contracts/cli-output.d.ts +36 -2
- package/dist/contracts/interaction-view.d.ts +64 -0
- package/dist/contracts/interaction-view.js +2 -0
- package/dist/contracts/interaction-view.js.map +1 -0
- package/dist/contracts/node-wire.d.ts +5 -0
- package/dist/contracts/node-wire.js +1 -0
- package/dist/contracts/node-wire.js.map +1 -1
- package/dist/conversation/managed-agent-entry.d.ts +23 -0
- package/dist/conversation/managed-agent-entry.js +56 -0
- package/dist/conversation/managed-agent-entry.js.map +1 -0
- package/dist/conversation/next-actions.d.ts +1 -1
- package/dist/conversation/next-actions.js +52 -28
- package/dist/conversation/next-actions.js.map +1 -1
- package/dist/conversation/project-routing.d.ts +15 -0
- package/dist/conversation/project-routing.js +85 -0
- package/dist/conversation/project-routing.js.map +1 -0
- package/dist/conversation/route-parser.d.ts +105 -0
- package/dist/conversation/route-parser.js +783 -0
- package/dist/conversation/route-parser.js.map +1 -0
- package/dist/conversation/state-resolver.js +21 -5
- package/dist/conversation/state-resolver.js.map +1 -1
- package/dist/conversation/text-projector.js +3 -1
- package/dist/conversation/text-projector.js.map +1 -1
- package/dist/interactions/draft-store.d.ts +10 -0
- package/dist/interactions/draft-store.js +102 -0
- package/dist/interactions/draft-store.js.map +1 -0
- package/dist/interactions/handlers/index.js +7 -0
- package/dist/interactions/handlers/index.js.map +1 -1
- package/dist/interactions/managed-agent-model.d.ts +95 -0
- package/dist/interactions/managed-agent-model.js +195 -0
- package/dist/interactions/managed-agent-model.js.map +1 -0
- package/dist/interactions/managed-agent-wizard.d.ts +18 -0
- package/dist/interactions/managed-agent-wizard.js +341 -0
- package/dist/interactions/managed-agent-wizard.js.map +1 -0
- package/dist/interactions/parsers/style-selection.d.ts +3 -1
- package/dist/interactions/parsers/style-selection.js +29 -6
- package/dist/interactions/parsers/style-selection.js.map +1 -1
- package/dist/interactions/question-pages.d.ts +12 -0
- package/dist/interactions/question-pages.js +146 -0
- package/dist/interactions/question-pages.js.map +1 -0
- package/dist/interactions/questions.js +3 -1
- package/dist/interactions/questions.js.map +1 -1
- package/dist/interactions/registry.js +33 -14
- package/dist/interactions/registry.js.map +1 -1
- package/dist/interactions/view-adapter.d.ts +21 -0
- package/dist/interactions/view-adapter.js +365 -0
- package/dist/interactions/view-adapter.js.map +1 -0
- package/dist/output/writer.js +4 -2
- package/dist/output/writer.js.map +1 -1
- package/dist/runtime.d.ts +9 -0
- package/dist/runtime.js +128 -15
- package/dist/runtime.js.map +1 -1
- package/dist/transport/api-client.d.ts +3 -1
- package/dist/transport/api-client.js +7 -0
- package/dist/transport/api-client.js.map +1 -1
- package/dist/transport/http-client.d.ts +1 -0
- package/dist/transport/http-client.js +3 -0
- package/dist/transport/http-client.js.map +1 -1
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -99,8 +99,7 @@ superun-ai
|
|
|
99
99
|
│ ├── demo <sessionId> # View the demo and record it as viewed
|
|
100
100
|
│ ├── develop <sessionId> # Keep the demo and plan development
|
|
101
101
|
│ ├── interaction # Answer or skip interactions
|
|
102
|
-
│ │
|
|
103
|
-
│ │ └── skip <sessionId> <interactionId> # Skip an eligible interaction
|
|
102
|
+
│ │ └── reply <sessionId> <interactionId> # Submit an answer
|
|
104
103
|
│ ├── plugin # Query, enable, and disable plugins
|
|
105
104
|
│ │ ├── list <sessionId> # List available plugins
|
|
106
105
|
│ │ ├── status <sessionId> <pluginId> # Inspect a plugin
|
|
@@ -178,29 +177,39 @@ Overall completion retains the existing session, message, interaction, and backg
|
|
|
178
177
|
|
|
179
178
|
The CLI connects to Superun by default. Use the global `--endpoint <URL>` option to specify an API endpoint and `--locale <language>` to choose the response language.
|
|
180
179
|
|
|
181
|
-
##
|
|
180
|
+
## 回答交互
|
|
182
181
|
|
|
183
|
-
|
|
182
|
+
CLI 与专家团使用同一套交互协议。读取 `data.interactions[].view` 的标题、完整 content、问题 fields、操作 actions 和 links;旧的内部 questions/details/answerSchema 不再作为另一套格式返回,风格选择也归入 interactions。
|
|
183
|
+
|
|
184
|
+
每个字段保留真实 ID、题目和选项说明。普通问卷可整组、逐题或按宿主容量分批展示;动态后续问题由 CLI 决定。推荐标记只展示,不代表用户已选。密钥字段必须用安全输入,不得降级为普通聊天。
|
|
185
|
+
|
|
186
|
+
沿 `view.reply.command` 回复,保留 `view.reply.input.response` 的版本,补入所选 actionId 和字段值:
|
|
184
187
|
|
|
185
188
|
```json
|
|
186
189
|
{
|
|
187
|
-
"
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
190
|
+
"response": {
|
|
191
|
+
"version": "1",
|
|
192
|
+
"revision": "当前 view.revision",
|
|
193
|
+
"actionId": "当前 view.actions 中用户选择的操作 ID",
|
|
194
|
+
"values": {
|
|
195
|
+
"字段 ID": { "optionIds": ["当前选项 ID"] }
|
|
196
|
+
}
|
|
197
|
+
}
|
|
191
198
|
}
|
|
192
199
|
```
|
|
193
200
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
201
|
+
文本字段使用 `{"text":"用户原文"}`。不能用显示编号代替 optionIds。`chat interaction reply <sessionId> <interactionId> --input <file>` 只接受 response;返回、跳过、撤回等也通过同一入口提交,不再提供独立 skip 命令。
|
|
202
|
+
|
|
203
|
+
按当前操作的 fieldIds 和 validation 收答:complete 收齐所需必填字段;partial 只保存明确答案,全部填好也不自动执行;none 不要求填写其他字段。用户已经在回答本次提交的问题时,答齐直接提交,不追加“是否提交”;CLI 返回独立确认题时才收集确认。
|
|
204
|
+
|
|
205
|
+
普通问卷整组答齐并提交后才回复服务端,PRD 沿原流程继续生成风格。原页面中的继续、智能修改、快速创建、确认创建等选项直接复用,不在通用层再生成一套等价按钮。规划、功能选择、密钥和风格的答案由 CLI 转换后交给既有处理器。
|
|
206
|
+
|
|
207
|
+
托管智能体依次处理设定、知识和记忆、扩展能力及最终确认,保留智能修改、返回与终止流程。本次知识文件为空,不提供附件路径或技能包上传入口;普通 chat create/send 的附件能力不受影响。快速创建、跳过、确认及失败恢复继续使用原业务逻辑,只有最终确认或明确选择快速创建后才创建资源。
|
|
198
208
|
|
|
199
|
-
|
|
209
|
+
草稿按环境、凭据作用域和交互来源隔离。回答带当前 revision,网页已完成或内容变化时拒绝旧答案。主子角色交接保留 sessionId、interactionId、stepId、revision、原始输出和字段映射;不能因 interactionId 相同而漏掉下一步。
|
|
200
210
|
|
|
201
|
-
|
|
211
|
+
CLI 与专家团须同步升级。本版不维护两套对外交互协议;业务处理器参数只是内部实现,专家团不直接构造。未知必要展示能力应报告缺口,不猜测答案或自动跳过。
|
|
202
212
|
|
|
203
|
-
`chat interaction reply --no-wait` controls waiting for subsequent creation after the reply has been processed. Some plugin configuration steps must finish in the foreground before submitting their interaction result; this option does not skip those steps. After an interruption, check the plugin and conversation states first.
|
|
204
213
|
|
|
205
214
|
## Automatic testing and code review
|
|
206
215
|
|
package/README.md
CHANGED
|
@@ -101,8 +101,7 @@ superun-ai
|
|
|
101
101
|
│ ├── demo <sessionId> # 查看演示快照并记录已查看状态
|
|
102
102
|
│ ├── develop <sessionId> # 保留演示,进入研发并生成规划
|
|
103
103
|
│ ├── interaction # 回答或跳过交互
|
|
104
|
-
│ │
|
|
105
|
-
│ │ └── skip <sessionId> <interactionId> # 跳过当前交互
|
|
104
|
+
│ │ └── reply <sessionId> <interactionId> # 回复当前交互
|
|
106
105
|
│ ├── plugin # 查询、启用和禁用插件
|
|
107
106
|
│ │ ├── list <sessionId> # 查询可用插件
|
|
108
107
|
│ │ ├── status <sessionId> <pluginId> # 查询插件状态
|
|
@@ -186,27 +185,36 @@ superun-ai chat stop <sessionId>
|
|
|
186
185
|
|
|
187
186
|
## 回答交互
|
|
188
187
|
|
|
189
|
-
|
|
188
|
+
CLI 与专家团使用同一套交互协议。读取 `data.interactions[].view` 的标题、完整 content、问题 fields、操作 actions 和 links;旧的内部 questions/details/answerSchema 不再作为另一套格式返回,风格选择也归入 interactions。
|
|
189
|
+
|
|
190
|
+
每个字段保留真实 ID、题目和选项说明。普通问卷可整组、逐题或按宿主容量分批展示;动态后续问题由 CLI 决定。推荐标记只展示,不代表用户已选。密钥字段必须用安全输入,不得降级为普通聊天。
|
|
191
|
+
|
|
192
|
+
沿 `view.reply.command` 回复,保留 `view.reply.input.response` 的版本,补入所选 actionId 和字段值:
|
|
190
193
|
|
|
191
194
|
```json
|
|
192
195
|
{
|
|
193
|
-
"
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
196
|
+
"response": {
|
|
197
|
+
"version": "1",
|
|
198
|
+
"revision": "当前 view.revision",
|
|
199
|
+
"actionId": "当前 view.actions 中用户选择的操作 ID",
|
|
200
|
+
"values": {
|
|
201
|
+
"字段 ID": { "optionIds": ["当前选项 ID"] }
|
|
202
|
+
}
|
|
203
|
+
}
|
|
197
204
|
}
|
|
198
205
|
```
|
|
199
206
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
207
|
+
文本字段使用 `{"text":"用户原文"}`。不能用显示编号代替 optionIds。`chat interaction reply <sessionId> <interactionId> --input <file>` 只接受 response;返回、跳过、撤回等也通过同一入口提交,不再提供独立 skip 命令。
|
|
208
|
+
|
|
209
|
+
按当前操作的 fieldIds 和 validation 收答:complete 收齐所需必填字段;partial 只保存明确答案,全部填好也不自动执行;none 不要求填写其他字段。用户已经在回答本次提交的问题时,答齐直接提交,不追加“是否提交”;CLI 返回独立确认题时才收集确认。
|
|
210
|
+
|
|
211
|
+
普通问卷整组答齐并提交后才回复服务端,PRD 沿原流程继续生成风格。原页面中的继续、智能修改、快速创建、确认创建等选项直接复用,不在通用层再生成一套等价按钮。规划、功能选择、密钥和风格的答案由 CLI 转换后交给既有处理器。
|
|
204
212
|
|
|
205
|
-
|
|
213
|
+
托管智能体依次处理设定、知识和记忆、扩展能力及最终确认,保留智能修改、返回与终止流程。本次知识文件为空,不提供附件路径或技能包上传入口;普通 chat create/send 的附件能力不受影响。快速创建、跳过、确认及失败恢复继续使用原业务逻辑,只有最终确认或明确选择快速创建后才创建资源。
|
|
206
214
|
|
|
207
|
-
|
|
215
|
+
草稿按环境、凭据作用域和交互来源隔离。回答带当前 revision,网页已完成或内容变化时拒绝旧答案。主子角色交接保留 sessionId、interactionId、stepId、revision、原始输出和字段映射;不能因 interactionId 相同而漏掉下一步。
|
|
208
216
|
|
|
209
|
-
|
|
217
|
+
CLI 与专家团须同步升级。本版不维护两套对外交互协议;业务处理器参数只是内部实现,专家团不直接构造。未知必要展示能力应报告缺口,不猜测答案或自动跳过。
|
|
210
218
|
|
|
211
219
|
## 自动测试
|
|
212
220
|
|
|
@@ -288,7 +296,7 @@ superun-ai chat state <sessionId>
|
|
|
288
296
|
|
|
289
297
|
回执按持久化的任务与父消息关联逐层回溯;即使来源消息已被隐藏或并入其他展示轮,也只返回本次最新报告。来源缺失、冲突或循环时明确报错,不用最近的历史审查结果代替。
|
|
290
298
|
|
|
291
|
-
|
|
299
|
+
遇到修复方式等确认卡时,先展示对应的问题说明,再逐题展示问题及完整选项。如果展示管线省略了提问前的正文,CLI 从同一条消息的服务端解析快照恢复该提问对应的可见说明;不读取模型推理,不用旧报告替代当前确认依据。
|
|
292
300
|
|
|
293
301
|
结果使用 `codeReview.phase=review|repair` 区分审查与后续修复,`reportMessages` 是本次最新结果,`previousReportMessages` 如有返回仅用于追溯问题编号。`sourceMessageId` 校验后续回复来源。`nextActions.when` 是候选动作的展示和执行条件,接入 Agent 应按实际报告筛选,不能直接展示所有候选。无有效报告时不猜问题数或通过状态。
|
|
294
302
|
|
|
@@ -370,6 +378,21 @@ superun-ai chat publish visibility <sessionId> private
|
|
|
370
378
|
|
|
371
379
|
研发完成后的“查看预览”使用 `development.previewUrl`,返回与 Glow 研发主线一致的稳定地址 `https://id--<sessionId>.<托管域名>`,随主线构建结果更新。研发主线不再查找或等待快照;风格候选和独立演示版本继续使用各自的快照页面。上线运营返回正式发布域名。
|
|
372
380
|
|
|
381
|
+
### 单端与多端入口
|
|
382
|
+
|
|
383
|
+
每轮创作/修复完成新增 `development.routing`;发布完成新增 `publish.routing`,覆盖等待发布、异步发布后的状态查询以及部署后的公开操作。原 `development.previewUrl` 和 `publish.publishUrl` 保留。路由读取失败不改变已经完成的业务结果。
|
|
384
|
+
|
|
385
|
+
创作从项目附件读取 `src/routes.tsx`,其次 `src/App.tsx`;发布按项目 `sessionKey` 读取线上发布文件,不用当前开发文件替代。分组沿用 Glow 的 `handle.side`、`@side` 注释和 JSX 变量名兜底规则,支持任意数量的端。解析器只读取源码文本,不执行项目代码。
|
|
386
|
+
|
|
387
|
+
`routing` 包含 `status`(ready/fallback/unavailable)、`sourceFile`、`hasMultipleSides`、`defaultSide`、`groups` 和 `warnings`。每组包含 `side`、`label`、`basePath`、`entryPath`、`entryUrl`、`shareUrl` 及 `routes`(名称、路径、可生成的 URL)。默认端取第一组,进入地址取该组第一条路由,分享地址使用 basePath;动态参数路径不虚构参数和链接。
|
|
388
|
+
|
|
389
|
+
- **单端创作完成**:直接展示该端 entryUrl,命名为“查看预览”,再给“代码审查 / 自动测试 / 继续创作 / 上线运营”。
|
|
390
|
+
- **多端创作完成**:按原顺序逐端展示全部有名预览链接,引导点击进入;测试和继续创作引导用户说明对应端与功能。
|
|
391
|
+
- **单端发布完成**:展示“访问网站”和继续创作引导。
|
|
392
|
+
- **多端发布完成**:逐端展示全部有名正式链接,引导进入对应端,再提供继续创作引导。
|
|
393
|
+
|
|
394
|
+
有 N 个有效端入口就向用户展示 N 项,不能只展示默认端或仅将其余链接留在 JSON。`routes` 保留各端页面明细,不把所有子页面都当独立端。缺少路由元数据时保留原基础链接并说明 warnings,不声称项目只有一个端。发布成功还须核对本次部署记录及公开状态;预览链接、部署成功和正式上线不能互相替代。
|
|
395
|
+
|
|
373
396
|
用户选择风格后,`chat style select` 默认内部完成演示就绪等待、状态衔接和版本保留,再静默生成并确认研发规划,直接返回开发功能清单。调用方只提示“已采用方案 B,正在整理开发功能清单”,中间不展示演示、研发规划或“确认规划 / 调整功能”入口。清单返回后按原始对话和功能编号展示,提示“请回复要开发的功能编号或具体需求”,等待用户选择后再开发。缺少必要信息、密钥或需要确认数据库变更时仍展示实际问题,等待回答;不自动回答业务问题或选择功能。
|
|
374
397
|
|
|
375
398
|
自动规划确认仅适用于本次风格选择衔接,并在提交前重新核对当前交互;后续独立的规划调整保留原有确认流程。`--no-wait` 或等待超时返回时,按 `CONTINUE_STYLE_PLANNING` 继续执行 `chat wait`;`chat state` 只读并返回续等指引,不发起确认写请求。旧项目仍可使用 `chat demo` 和 `chat develop`。
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
/** 项目、附件和风格结果查询。@author xiuyu.yi */
|
|
2
2
|
import type { ApiClient } from '../transport/api-client.js';
|
|
3
3
|
import type { JsonObject } from '../contracts/value.js';
|
|
4
|
+
import type { RouteConfigAttachmentCandidate } from '../conversation/route-parser.js';
|
|
4
5
|
export declare class AgentQueryApi {
|
|
5
6
|
private readonly client;
|
|
6
7
|
constructor(client: ApiClient);
|
|
8
|
+
/** 创作按当前附件读取;发布按 sessionKey 复用 Container 的线上文件/发布快照链路。 */
|
|
9
|
+
routeConfig(source: {
|
|
10
|
+
sessionId: string;
|
|
11
|
+
} | {
|
|
12
|
+
sessionKey: string;
|
|
13
|
+
}): Promise<RouteConfigAttachmentCandidate | undefined>;
|
|
7
14
|
messageContext(sessionId: string, messageId: string): Promise<{
|
|
8
15
|
role: 1;
|
|
9
16
|
messageId: string;
|
|
@@ -2,6 +2,7 @@ import { list, object, text } from '../contracts/value.js';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { parseWire } from '../contracts/node-wire.js';
|
|
4
4
|
import { CliError } from '../output/exit-codes.js';
|
|
5
|
+
import { matchesRouteConfigFilename, ROUTE_CONFIG_FILENAMES } from '../conversation/route-parser.js';
|
|
5
6
|
const referenceSourcesSchema = z.array(z.object({
|
|
6
7
|
messageId: z.string(),
|
|
7
8
|
role: z.number(),
|
|
@@ -21,6 +22,49 @@ export class AgentQueryApi {
|
|
|
21
22
|
constructor(client) {
|
|
22
23
|
this.client = client;
|
|
23
24
|
}
|
|
25
|
+
/** 创作按当前附件读取;发布按 sessionKey 复用 Container 的线上文件/发布快照链路。 */
|
|
26
|
+
async routeConfig(source) {
|
|
27
|
+
let candidates;
|
|
28
|
+
if ('sessionId' in source) {
|
|
29
|
+
const raw = await this.client.call(`${PREFIX}/querySessionAttachmentsExcludeInternalAndCompiled`, {
|
|
30
|
+
sessionId: source.sessionId,
|
|
31
|
+
withContent: false,
|
|
32
|
+
filenamesForAttachmentContent: [...ROUTE_CONFIG_FILENAMES],
|
|
33
|
+
});
|
|
34
|
+
if (!Array.isArray(raw))
|
|
35
|
+
throw new CliError('PROTOCOL_ERROR', '路由附件清单格式不正确');
|
|
36
|
+
candidates = raw
|
|
37
|
+
.map(object)
|
|
38
|
+
.filter((item) => typeof item.name === 'string')
|
|
39
|
+
.map((item) => ({
|
|
40
|
+
name: String(item.name),
|
|
41
|
+
content: typeof item.content === 'string' ? item.content : undefined,
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
candidates = ROUTE_CONFIG_FILENAMES.flatMap((name) => [{ name }, { name: name.slice(4) }]);
|
|
46
|
+
}
|
|
47
|
+
for (const filename of ROUTE_CONFIG_FILENAMES) {
|
|
48
|
+
for (const candidate of candidates) {
|
|
49
|
+
// 使用 Glow 的文件名匹配规则,也支持返回附件带工作目录前缀的项目。
|
|
50
|
+
if (!matchesRouteConfigFilename(candidate.name, filename))
|
|
51
|
+
continue;
|
|
52
|
+
let content = candidate.content;
|
|
53
|
+
if (!content) {
|
|
54
|
+
const raw = await this.client.call(`${PREFIX}/queryAttachment`, {
|
|
55
|
+
...source,
|
|
56
|
+
name: candidate.name,
|
|
57
|
+
});
|
|
58
|
+
if (raw != null && typeof raw !== 'string')
|
|
59
|
+
throw new CliError('PROTOCOL_ERROR', '路由文件内容格式不正确');
|
|
60
|
+
content = typeof raw === 'string' ? raw : undefined;
|
|
61
|
+
}
|
|
62
|
+
if (content?.trim())
|
|
63
|
+
return { name: candidate.name, content };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
24
68
|
async messageContext(sessionId, messageId) {
|
|
25
69
|
const message = parseWire(messageContextSchema, await this.client.call(`${PREFIX}/queryMessage`, {
|
|
26
70
|
sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-query-api.js","sourceRoot":"","sources":["../../src/api/agent-query-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-query-api.js","sourceRoot":"","sources":["../../src/api/agent-query-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ApiClient } from '../transport/api-client.js';
|
|
2
|
+
export type ResourceOption = {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
};
|
|
6
|
+
export type SkillOption = ResourceOption & {
|
|
7
|
+
type: 'builtin' | 'custom';
|
|
8
|
+
description?: string;
|
|
9
|
+
};
|
|
10
|
+
export type WizardCatalog = {
|
|
11
|
+
memories: ResourceOption[];
|
|
12
|
+
skills: SkillOption[];
|
|
13
|
+
warnings: string[];
|
|
14
|
+
};
|
|
15
|
+
export declare class ManagedAgentApi {
|
|
16
|
+
private readonly client;
|
|
17
|
+
constructor(client: ApiClient);
|
|
18
|
+
private get;
|
|
19
|
+
catalog(sessionId: string): Promise<WizardCatalog>;
|
|
20
|
+
contract(sessionId: string, family: 'agents' | 'memory_stores'): Promise<{
|
|
21
|
+
defaultValue: Record<string, unknown>;
|
|
22
|
+
createSchema: Record<string, unknown>;
|
|
23
|
+
}>;
|
|
24
|
+
create(sessionId: string, family: 'agents' | 'memory_stores', body: Record<string, unknown>): Promise<string>;
|
|
25
|
+
rewrite(sessionId: string, request: {
|
|
26
|
+
messageId: string;
|
|
27
|
+
toolId: string;
|
|
28
|
+
currentDescription: string;
|
|
29
|
+
instruction: string;
|
|
30
|
+
}): Promise<string>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/** Glow 同源托管智能体接口;不提供文件或技能包上传。@author xiuyu.yi */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { object, text } from '../contracts/value.js';
|
|
4
|
+
import { CliError } from '../output/exit-codes.js';
|
|
5
|
+
const base = '/web-api/managed-agent-v2';
|
|
6
|
+
const resourceList = z.object({
|
|
7
|
+
items: z.array(z.object({ entityId: z.string(), data: z.record(z.unknown()), unavailable: z.boolean().optional() })),
|
|
8
|
+
});
|
|
9
|
+
export class ManagedAgentApi {
|
|
10
|
+
client;
|
|
11
|
+
constructor(client) {
|
|
12
|
+
this.client = client;
|
|
13
|
+
}
|
|
14
|
+
async get(sessionId, path) {
|
|
15
|
+
return (await this.client.request(`${base}${path}`, undefined, { method: 'GET', sessionId, native: true })).data;
|
|
16
|
+
}
|
|
17
|
+
async catalog(sessionId) {
|
|
18
|
+
const results = await Promise.allSettled([
|
|
19
|
+
this.get(sessionId, '/resource-bootstrap?family=memory_stores'),
|
|
20
|
+
this.get(sessionId, '/resource-bootstrap?family=skills'),
|
|
21
|
+
this.get(sessionId, '/v1/capabilities'),
|
|
22
|
+
]);
|
|
23
|
+
const warnings = [];
|
|
24
|
+
const resources = (index, family) => {
|
|
25
|
+
const result = results[index];
|
|
26
|
+
if (result?.status === 'fulfilled') {
|
|
27
|
+
const parsed = resourceList.safeParse(object(result.value)[family]);
|
|
28
|
+
if (parsed.success)
|
|
29
|
+
return parsed.data.items.filter((item) => !item.unavailable && item.entityId);
|
|
30
|
+
}
|
|
31
|
+
warnings.push(family === 'memory_stores'
|
|
32
|
+
? '已有记忆库加载失败,可重试或选择新建/不使用。'
|
|
33
|
+
: '自定义技能目录加载失败,可重试或跳过。');
|
|
34
|
+
return [];
|
|
35
|
+
};
|
|
36
|
+
const memories = resources(0, 'memory_stores').map((item) => ({
|
|
37
|
+
id: item.entityId,
|
|
38
|
+
label: text(item.data.name) || item.entityId,
|
|
39
|
+
}));
|
|
40
|
+
const custom = resources(1, 'skills').map((item) => ({
|
|
41
|
+
id: item.entityId,
|
|
42
|
+
label: text(item.data.display_title) || text(item.data.name) || item.entityId,
|
|
43
|
+
type: 'custom',
|
|
44
|
+
description: text(item.data.description),
|
|
45
|
+
}));
|
|
46
|
+
const result = results[2];
|
|
47
|
+
const parsed = z
|
|
48
|
+
.object({
|
|
49
|
+
skills: z.object({
|
|
50
|
+
type: z.string().optional(),
|
|
51
|
+
data: z.array(z.object({
|
|
52
|
+
skill_id: z.string(),
|
|
53
|
+
display_title: z.string().optional(),
|
|
54
|
+
description: z.string().optional(),
|
|
55
|
+
})),
|
|
56
|
+
}),
|
|
57
|
+
})
|
|
58
|
+
.safeParse(result.status === 'fulfilled' ? result.value : undefined);
|
|
59
|
+
if (!parsed.success)
|
|
60
|
+
warnings.push('内置技能目录加载失败,可重试或跳过。');
|
|
61
|
+
const builtin = parsed.success
|
|
62
|
+
? parsed.data.skills.data.map((item) => ({
|
|
63
|
+
id: item.skill_id,
|
|
64
|
+
label: item.display_title || item.skill_id,
|
|
65
|
+
type: parsed.data.skills.type === 'custom' ? 'custom' : 'builtin',
|
|
66
|
+
description: item.description,
|
|
67
|
+
}))
|
|
68
|
+
: [];
|
|
69
|
+
return {
|
|
70
|
+
memories,
|
|
71
|
+
skills: [...new Map([...builtin, ...custom].map((item) => [`${item.type}:${item.id}`, item])).values()],
|
|
72
|
+
warnings,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
async contract(sessionId, family) {
|
|
76
|
+
const parsed = z
|
|
77
|
+
.object({ defaultValue: z.record(z.unknown()), createSchema: z.record(z.unknown()) })
|
|
78
|
+
.safeParse(await this.get(sessionId, `/v1/configuration-schema/${family}`));
|
|
79
|
+
if (!parsed.success)
|
|
80
|
+
throw new CliError('PROTOCOL_ERROR', '智能体配置契约不完整,未创建资源');
|
|
81
|
+
return parsed.data;
|
|
82
|
+
}
|
|
83
|
+
async create(sessionId, family, body) {
|
|
84
|
+
const raw = (await this.client.request(`${base}/v1/${family}`, body, { sessionId, native: true, write: true })).data;
|
|
85
|
+
const id = text(object(raw).id) || text(object(raw).entityId);
|
|
86
|
+
if (!id)
|
|
87
|
+
throw new CliError('OUTCOME_UNKNOWN', '资源创建响应缺少 ID,请到网页核对,勿重复创建');
|
|
88
|
+
return id;
|
|
89
|
+
}
|
|
90
|
+
async rewrite(sessionId, request) {
|
|
91
|
+
const raw = (await this.client.request(`${base}/ai-rewrite-description`, { ...request, locale: this.client.config.locale }, { sessionId, write: true })).data;
|
|
92
|
+
const description = text(object(raw).workDescription);
|
|
93
|
+
if (!description?.trim() || description.length > 4000)
|
|
94
|
+
throw new CliError('PROTOCOL_ERROR', '智能修改结果无效,保留当前设定');
|
|
95
|
+
return description;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=managed-agent-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-agent-api.js","sourceRoot":"","sources":["../../src/api/managed-agent-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
+
/** 提交当前交互的回答。@author xiuyu.yi */
|
|
2
|
+
import { CliError } from '../../output/exit-codes.js';
|
|
1
3
|
import { runtime, readInput, withWait, waitOptions, businessWrite } from '../shared.js';
|
|
2
4
|
import { object, requiredText } from '../../contracts/value.js';
|
|
3
5
|
export function registerInteraction(chat, context) {
|
|
4
6
|
const interaction = chat.command('interaction').description('回答或跳过交互');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}));
|
|
19
|
-
});
|
|
20
|
-
}
|
|
7
|
+
const command = withWait(interaction.command('reply <sessionId> <interactionId>').description('回复当前交互'), '本次回答处理结束后,不继续等待后续创作');
|
|
8
|
+
command.requiredOption('--input <file>', 'response JSON 文件,- 表示标准输入');
|
|
9
|
+
command.action(async (sessionId, interactionId, _options, current) => {
|
|
10
|
+
const options = object(current.opts()), service = await runtime(context, current);
|
|
11
|
+
const input = await readInput(requiredText(options.input, 'input'));
|
|
12
|
+
if (!('response' in input))
|
|
13
|
+
throw new CliError('INVALID_ARGUMENT', '请按当前交互的 view.reply 使用 response 格式回答');
|
|
14
|
+
const response = await businessWrite(context, service, sessionId, () => service.reply(sessionId, interactionId, input));
|
|
15
|
+
context.output.write(await service.accepted(object(response), sessionId, options.wait !== false, {
|
|
16
|
+
...waitOptions(current),
|
|
17
|
+
submittedInteractionId: interactionId,
|
|
18
|
+
}));
|
|
19
|
+
});
|
|
21
20
|
}
|
|
22
21
|
//# sourceMappingURL=interaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/commands/chat/interaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/commands/chat/interaction.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,UAAU,mBAAmB,CAAC,IAAa,EAAE,OAAuB;IACxE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,QAAQ,CACtB,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC9E,qBAAqB,CACtB,CAAC;IACF,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAC;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,aAAqB,EAAE,QAAiB,EAAE,OAAgB,EAAE,EAAE;QACrG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EACpC,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CACrE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAC/C,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;YAC1E,GAAG,WAAW,CAAC,OAAO,CAAC;YACvB,sBAAsB,EAAE,aAAa;SACtC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** 插件查询与生命周期操作。@author xiuyu.yi */
|
|
2
|
+
import { managedAgentEnableEntry } from '../../conversation/managed-agent-entry.js';
|
|
1
3
|
import { runtime, readInput, withWait, waitOptions, pollOperation, businessWrite } from '../shared.js';
|
|
2
4
|
import { integrationKey } from '../../interactions/handlers/reply-plugin.js';
|
|
3
5
|
import { object, requiredText, text } from '../../contracts/value.js';
|
|
@@ -32,6 +34,15 @@ export function registerPlugin(chat, context) {
|
|
|
32
34
|
command.action(async (sessionId, pluginId, _options, current) => {
|
|
33
35
|
const service = await runtime(context, current), options = object(current.opts());
|
|
34
36
|
let result = await service.plugin.operate('status', sessionId, pluginId);
|
|
37
|
+
if (action === 'enable' &&
|
|
38
|
+
integrationKey(pluginId) === 'SUPERUN_MANAGED_AGENT_V2' &&
|
|
39
|
+
result.state === 'NOT_ENABLED') {
|
|
40
|
+
if (options.input)
|
|
41
|
+
throw new CliError('INVALID_ARGUMENT', '首次启用通用智能体请通过交互配置,不接受直接配置或附件');
|
|
42
|
+
const response = await businessWrite(context, service, sessionId, () => service.command.chat({ sessionId, ...managedAgentEnableEntry() }));
|
|
43
|
+
context.output.write(await service.accepted(object(response), sessionId, options.wait !== false, waitOptions(current)));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
35
46
|
const completed = action === 'enable'
|
|
36
47
|
? result.state === 'ENABLED'
|
|
37
48
|
: ['NOT_ENABLED', 'DISABLED', 'PAUSED'].includes(String(result.state));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/commands/chat/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/commands/chat/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { list, object, text } from '../../contracts/value.js';
|
|
|
4
4
|
import { CliError } from '../../output/exit-codes.js';
|
|
5
5
|
import { runtime, withWait, waitOptions, pollOperation, businessWrite } from '../shared.js';
|
|
6
6
|
import { COMMAND_NAME } from '../../config/constants.js';
|
|
7
|
+
import { missingPublishedRouting, readProjectRouting, routingInstruction, } from '../../conversation/project-routing.js';
|
|
7
8
|
function versions(value) {
|
|
8
9
|
return [
|
|
9
10
|
...(value.unPublishedVersion ? [object(value.unPublishedVersion)] : []),
|
|
@@ -90,7 +91,7 @@ function publishActions(service, sessionId, value, publicStatus, encryptedId, fo
|
|
|
90
91
|
return [
|
|
91
92
|
{
|
|
92
93
|
action: 'CONTINUE_CHAT',
|
|
93
|
-
instruction:
|
|
94
|
+
instruction: `展示发布成功结果和目标版本的 changeLog 原文;未指定版本时使用 updatedAt 最新的已发布版本。${routingInstruction('published')} 单端使用“本次已成功上线,点击〔访问网站〕进入正式网站。”;多端使用“本次已成功上线,可以通过以下入口访问:”,随后逐端列出正式链接,再说“点击对应链接即可进入相应端,以上均为正式访问链接。”。〔链接〕必须替换为真实可点击链接。最后另起一行展示单端“**继续创作**:直接告诉我想新增或调整的内容。”或多端“**继续创作**:直接告诉我想新增或调整哪个端的什么功能。”。等待用户响应;收到新的创作要求后,将用户原文不经改写或扩充地放入 content,通过 --input - 提交 JSON,不自动追加需求或重复发布。`,
|
|
94
95
|
requiresUserInput: true,
|
|
95
96
|
command: [...command.slice(0, -1), 'send', '--input', '-', '--', sessionId],
|
|
96
97
|
},
|
|
@@ -100,10 +101,22 @@ function publishActions(service, sessionId, value, publicStatus, encryptedId, fo
|
|
|
100
101
|
async function publishResult(service, sessionId, value, encryptedId, waitTimedOut = false, forLaunch = false) {
|
|
101
102
|
const { session } = await service.conversation.recently(sessionId);
|
|
102
103
|
const running = versions(value).some((item) => (!encryptedId || item.encryptedId === encryptedId) && item.deployStatus === 2);
|
|
104
|
+
const deployed = versions(value).some((item) => (!encryptedId || item.encryptedId === encryptedId) && item.deployStatus === 1);
|
|
105
|
+
const publishUrl = text(value.publishUrl);
|
|
106
|
+
const sessionKey = text(session.sessionKey);
|
|
107
|
+
const routing = !running && !waitTimedOut && deployed
|
|
108
|
+
? publishUrl && sessionKey
|
|
109
|
+
? await readProjectRouting(service.query, publishUrl, { sessionKey })
|
|
110
|
+
: missingPublishedRouting()
|
|
111
|
+
: undefined;
|
|
103
112
|
return {
|
|
104
113
|
state: running || waitTimedOut ? 'RUNNING' : 'COMPLETED',
|
|
105
114
|
sessionId,
|
|
106
|
-
publish: {
|
|
115
|
+
publish: {
|
|
116
|
+
...projectPublish(value, encryptedId),
|
|
117
|
+
publicStatus: session.publicStatus,
|
|
118
|
+
...(routing ? { routing } : {}),
|
|
119
|
+
},
|
|
107
120
|
...(waitTimedOut ? { waitTimedOut } : {}),
|
|
108
121
|
nextActions: publishActions(service, sessionId, value, session.publicStatus, encryptedId, forLaunch, !waitTimedOut),
|
|
109
122
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/commands/chat/publish.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/commands/chat/publish.ts"],"names":[],"mappings":"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"}
|