superun-ai-cli 0.1.32 → 0.1.34
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 +2 -0
- package/README.md +24 -1
- package/dist/api/agent-friendly-api.d.ts +16 -0
- package/dist/api/agent-friendly-api.js +83 -0
- package/dist/api/agent-friendly-api.js.map +1 -0
- package/dist/commands/chat/agent-friendly.d.ts +4 -0
- package/dist/commands/chat/agent-friendly.js +97 -0
- package/dist/commands/chat/agent-friendly.js.map +1 -0
- package/dist/commands/chat/index.js +2 -0
- package/dist/commands/chat/index.js.map +1 -1
- package/dist/commands/chat/publish.js +7 -0
- package/dist/commands/chat/publish.js.map +1 -1
- package/dist/commands/shared.d.ts +4 -0
- package/dist/commands/shared.js +46 -28
- package/dist/commands/shared.js.map +1 -1
- package/dist/config/state-directory.d.ts +1 -0
- package/dist/config/state-directory.js +13 -0
- package/dist/config/state-directory.js.map +1 -0
- package/dist/conversation/agent-friendly-prompts.d.ts +11 -0
- package/dist/conversation/agent-friendly-prompts.js +57 -0
- package/dist/conversation/agent-friendly-prompts.js.map +1 -0
- package/dist/conversation/agent-friendly.d.ts +24 -0
- package/dist/conversation/agent-friendly.js +165 -0
- package/dist/conversation/agent-friendly.js.map +1 -0
- package/dist/interactions/draft-store.d.ts +8 -0
- package/dist/interactions/draft-store.js +163 -70
- package/dist/interactions/draft-store.js.map +1 -1
- package/dist/interactions/state-storage.d.ts +4 -0
- package/dist/interactions/state-storage.js +65 -0
- package/dist/interactions/state-storage.js.map +1 -0
- package/dist/output/exit-codes.d.ts +4 -0
- package/dist/output/exit-codes.js +4 -0
- package/dist/output/exit-codes.js.map +1 -1
- package/dist/program.js +4 -1
- package/dist/program.js.map +1 -1
- package/dist/session/binding.d.ts +6 -4
- package/dist/session/binding.js +68 -22
- package/dist/session/binding.js.map +1 -1
- package/dist/session/remember-worker.d.ts +1 -0
- package/dist/session/remember-worker.js +43 -0
- package/dist/session/remember-worker.js.map +1 -0
- package/dist/session/remember.d.ts +9 -0
- package/dist/session/remember.js +14 -0
- package/dist/session/remember.js.map +1 -0
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -102,6 +102,7 @@ superun-ai
|
|
|
102
102
|
│ ├── demo <sessionId> # View the demo and record it as viewed
|
|
103
103
|
│ ├── develop <sessionId> # Keep the demo and plan development
|
|
104
104
|
│ ├── security <sessionId> # Scan security, apply necessary fixes, and generate an audit report
|
|
105
|
+
│ ├── agent-friendly <sessionId> # Prepare agent-friendly access and choose Skill or connector instructions
|
|
105
106
|
│ ├── interaction # Answer or skip interactions
|
|
106
107
|
│ │ ├── reply <sessionId> <interactionId> # Submit an answer
|
|
107
108
|
│ │ └── skip <sessionId> <interactionId> # 跳过当前交互
|
|
@@ -366,6 +367,7 @@ Business commands write one JSON result to stdout. Diagnostics and update progre
|
|
|
366
367
|
| 6 | Interaction unsupported by this CLI version |
|
|
367
368
|
| 7 | Timeout for an attachment or auxiliary operation |
|
|
368
369
|
| 8 | Network or response-protocol error |
|
|
370
|
+
| 9 | Local state permission, I/O, lock contention, or recovery error |
|
|
369
371
|
| 130 | Local command interrupted |
|
|
370
372
|
|
|
371
373
|
`OUTCOME_UNKNOWN` means a request may have been accepted. Do not immediately retry the write. Query the returned session ID first. If a create request did not return a session ID, check the project list before deciding what to do next.
|
package/README.md
CHANGED
|
@@ -104,6 +104,7 @@ superun-ai
|
|
|
104
104
|
│ ├── demo <sessionId> # 查看演示快照并记录已查看状态
|
|
105
105
|
│ ├── develop <sessionId> # 保留演示,进入研发并生成规划
|
|
106
106
|
│ ├── security <sessionId> # 安全扫描,自动评估、必要修复并生成审计报告
|
|
107
|
+
│ ├── agent-friendly <sessionId> # 准备 Agent 友好能力,选择技能或连接器接入方式
|
|
107
108
|
│ ├── interaction # 回答或跳过交互
|
|
108
109
|
│ │ ├── reply <sessionId> <interactionId> # 提交回答
|
|
109
110
|
│ │ └── skip <sessionId> <interactionId> # 跳过当前交互
|
|
@@ -124,7 +125,7 @@ superun-ai
|
|
|
124
125
|
|
|
125
126
|
## 恢复当前会话的项目
|
|
126
127
|
|
|
127
|
-
在可识别会话归属的 Codex、WorkBuddy / CodeBuddy 环境中,CLI
|
|
128
|
+
在可识别会话归属的 Codex、WorkBuddy / CodeBuddy 环境中,CLI 会记住当前会话正在创作的一个项目。新建项目会替换原绑定;显式项目操作直接使用传入的 ID,并在后台尝试保存绑定。列出项目、查询详情或等待任务不会改变绑定。
|
|
128
129
|
|
|
129
130
|
```bash
|
|
130
131
|
superun-ai session current
|
|
@@ -138,6 +139,8 @@ superun-ai session clear
|
|
|
138
139
|
|
|
139
140
|
`UNBOUND` 表示尚未绑定;`UNAVAILABLE` 表示无法识别宿主会话,此时继续显式传入 `sessionId`。若返回 `CREATING` 或 `CREATE_UNKNOWN`,先核对原创建请求,不要重复创建;确认已有项目后可用 `use` 恢复绑定。
|
|
140
141
|
|
|
142
|
+
如需自定义本地状态保存位置,可设置 `SUPERUN_STATE_DIR` 为持久化目录的绝对路径。默认路径不变;同一宿主的主代理、子代理及后续命令应使用相同配置。切换目录前请备份并迁移已有状态。
|
|
143
|
+
|
|
141
144
|
## PAT 登录
|
|
142
145
|
|
|
143
146
|
```bash
|
|
@@ -391,6 +394,25 @@ superun-ai chat security <sessionId> --retry-report <reviewId>
|
|
|
391
394
|
|
|
392
395
|
本地超时或 Ctrl+C 只结束等待,远端任务继续;使用返回的扫描 ID 恢复等待。用户明确要求取消才调用专用取消接口。启动结果不确定时先查询已有记录,不重发写请求。
|
|
393
396
|
|
|
397
|
+
## Agent 友好
|
|
398
|
+
|
|
399
|
+
上线成功且站点已公开后,保留原有发布结果和访问入口,增加“**Agent 友好**:让你的 AI 应用使用这个项目,可以把项目连接到你正在使用的 AI 应用,通过对话查询数据、使用项目功能”。
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
superun-ai chat agent-friendly <sessionId>
|
|
403
|
+
superun-ai chat agent-friendly <sessionId> --status
|
|
404
|
+
superun-ai chat agent-friendly <sessionId> --method skill
|
|
405
|
+
superun-ai chat agent-friendly <sessionId> --method connector
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
用户选择入口后先查询技能状态;已开启项目直接选择方式,未开启项目通过与 Glow 相同的 `skill.superun_mcp.integrate` 命令协议发送真实 chat,沿用后台任务和真实业务问题的等待机制。CLI 不使用 fakeChat,不直接写入 ENABLED,也不调用普通插件启停接口。生成中的同一任务继续等待,未就绪或请求结果未知时不自动重复提交。`--status` 只读查询或等待,`--no-wait` 接受后返回,后续使用返回的状态命令继续。
|
|
409
|
+
|
|
410
|
+
方式选择使用宿主已有提问能力:仅“通过技能接入”和“通过连接器接入”,选择后执行对应 `--method`。返回 `agentFriendly.prompt` 和一个包含完整原文的文本代码块,只展示所选方式;不截断、不生成文件、不将命令里的 URL 转成 Markdown 链接。模板沿用 Glow 的项目检查、条件初始化、浏览器登录、能力刷新、Skill/MCP 配置及真实只读查询验证步骤。只使用项目的公开访问 Key,不返回整个 `.env` 或服务端密钥。
|
|
411
|
+
|
|
412
|
+
展示原文后,以“接下来,你可以直接回复我:”引出“接入当前会话 / 接入到新会话 / 接入其他 AI 应用”三项引导,按返回的固定文案原样展示选项与说明。只有用户明确选择后,宿主 Agent 才执行安装或使用实际可用的新会话工具;不支持新会话时如实说明。CLI 本身不会安装 `superun-cli`、修改宿主 Skill/MCP 配置或创建会话,后续动作的命令只重新读取指令。目标 Agent 必须完成真实只读查询才可声称接入成功,不能把指令准备完成当作已连接。
|
|
413
|
+
|
|
414
|
+
普通 `chat state/wait` 保持原有行为;需要持续跟进 Agent 友好生成和方式选择时,使用本次返回的 `agent-friendly --status` 命令。
|
|
415
|
+
|
|
394
416
|
## 余额不足与充值后重试
|
|
395
417
|
|
|
396
418
|
创建请求或对话执行中余额不足时,CLI 返回充值引导:前往 [superun.ai](https://superun.ai) 充值,完成后回复“重试”。用户确认前不自动重试,也不展示继续创作或上线运营菜单。
|
|
@@ -516,6 +538,7 @@ CLI 每次上传前读取 Glow 同源的服务端格式和大小限制。当前
|
|
|
516
538
|
| 6 | 当前版本不支持所需交互 |
|
|
517
539
|
| 7 | 附件等辅助操作等待超时 |
|
|
518
540
|
| 8 | 网络或响应协议错误 |
|
|
541
|
+
| 9 | 本地状态权限、读写、锁竞争或残留恢复错误 |
|
|
519
542
|
| 130 | 本地命令被中断 |
|
|
520
543
|
|
|
521
544
|
`OUTCOME_UNKNOWN` 表示请求可能已被接受,不能直接重试写操作。先使用返回的会话 ID 查询状态;创建请求若未取得会话 ID,应查询项目列表确认。
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ApiClient } from '../transport/api-client.js';
|
|
2
|
+
import { HttpClient } from '../transport/http-client.js';
|
|
3
|
+
export declare const AGENT_FRIENDLY_SKILL_ID = "skill.superun_mcp.integrate";
|
|
4
|
+
export declare const LEGACY_AGENT_FRIENDLY_SKILL_ID = "superun.superun-cli.integrate";
|
|
5
|
+
export declare class AgentFriendlyApi {
|
|
6
|
+
private readonly client;
|
|
7
|
+
private readonly http;
|
|
8
|
+
constructor(client: ApiClient, http?: HttpClient);
|
|
9
|
+
enabled(sessionId: string): Promise<boolean>;
|
|
10
|
+
connection(sessionId: string, appName: string): Promise<{
|
|
11
|
+
appName: string;
|
|
12
|
+
supabaseUrl: string;
|
|
13
|
+
anonKey: string;
|
|
14
|
+
manifestUrl: string;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** Agent 友好的只读状态与公开接入参数,沿用 Glow 接口。@author xiuyu.yi */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { parseWire } from '../contracts/node-wire.js';
|
|
4
|
+
import { CliError } from '../output/exit-codes.js';
|
|
5
|
+
import { HttpClient } from '../transport/http-client.js';
|
|
6
|
+
export const AGENT_FRIENDLY_SKILL_ID = 'skill.superun_mcp.integrate';
|
|
7
|
+
export const LEGACY_AGENT_FRIENDLY_SKILL_ID = 'superun.superun-cli.integrate';
|
|
8
|
+
const PREFIX = '/api/uxa-center/agent/AgentQuery';
|
|
9
|
+
const URL_KEYS = ['VITE_SUPABASE_URL', 'NEXT_PUBLIC_SUPABASE_URL', 'PUBLIC_SUPABASE_URL', 'SUPABASE_URL'];
|
|
10
|
+
const ANON_KEYS = [
|
|
11
|
+
'VITE_SUPABASE_PUBLISHABLE_KEY',
|
|
12
|
+
'VITE_SUPABASE_ANON_KEY',
|
|
13
|
+
'NEXT_PUBLIC_SUPABASE_ANON_KEY',
|
|
14
|
+
'PUBLIC_SUPABASE_ANON_KEY',
|
|
15
|
+
'SUPABASE_ANON_KEY',
|
|
16
|
+
'SUPABASE_PUBLISHABLE_KEY',
|
|
17
|
+
];
|
|
18
|
+
/** 与 Glow 相同的变量优先级,只提取接入所需的公开配置,不返回整个 .env。 */
|
|
19
|
+
function readEnvValue(content, keys) {
|
|
20
|
+
for (const key of keys) {
|
|
21
|
+
const match = content.match(new RegExp(`^\\s*${key}\\s*=\\s*(.+?)\\s*$`, 'm'));
|
|
22
|
+
if (!match)
|
|
23
|
+
continue;
|
|
24
|
+
const value = match[1].trim();
|
|
25
|
+
return (value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))
|
|
26
|
+
? value.slice(1, -1)
|
|
27
|
+
: value;
|
|
28
|
+
}
|
|
29
|
+
return '';
|
|
30
|
+
}
|
|
31
|
+
function publicKey(value) {
|
|
32
|
+
if (/^sb_publishable_[A-Za-z0-9_-]+$/.test(value))
|
|
33
|
+
return true;
|
|
34
|
+
if (!/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(value))
|
|
35
|
+
return false;
|
|
36
|
+
try {
|
|
37
|
+
return JSON.parse(Buffer.from(value.split('.')[1], 'base64url').toString()).role === 'anon';
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export class AgentFriendlyApi {
|
|
44
|
+
client;
|
|
45
|
+
http;
|
|
46
|
+
constructor(client, http = new HttpClient()) {
|
|
47
|
+
this.client = client;
|
|
48
|
+
this.http = http;
|
|
49
|
+
}
|
|
50
|
+
async enabled(sessionId) {
|
|
51
|
+
const result = parseWire(z.object({
|
|
52
|
+
exists: z.boolean(),
|
|
53
|
+
skills: z.record(z.object({ state: z.enum(['ENABLED', 'DISABLED']).optional() })).optional(),
|
|
54
|
+
}), await this.client.call(`${PREFIX}/querySkillState`, { sessionId }));
|
|
55
|
+
if (result.exists && !result.skills)
|
|
56
|
+
throw new CliError('PROTOCOL_ERROR', '技能状态响应不完整,请重新查询');
|
|
57
|
+
return [AGENT_FRIENDLY_SKILL_ID, LEGACY_AGENT_FRIENDLY_SKILL_ID].some((id) => result.skills?.[id]?.state === 'ENABLED');
|
|
58
|
+
}
|
|
59
|
+
async connection(sessionId, appName) {
|
|
60
|
+
if (!/^[a-zA-Z0-9-]+$/.test(sessionId) || !appName.trim())
|
|
61
|
+
throw new CliError('PROTOCOL_ERROR', '项目缺少有效的会话标识或 sessionKey,无法生成接入指令');
|
|
62
|
+
const content = await this.client.call(`${PREFIX}/queryAttachment`, { sessionId, name: '.env' });
|
|
63
|
+
const supabaseUrl = readEnvValue(typeof content === 'string' ? content : '', URL_KEYS);
|
|
64
|
+
const anonKey = readEnvValue(typeof content === 'string' ? content : '', ANON_KEYS);
|
|
65
|
+
// 指令会被复制到 Shell,仅接受 HTTPS 地址与公开 Key,不泄露误填的服务端凭据。
|
|
66
|
+
if (!/^https:\/\/[a-zA-Z0-9.-]+(?::\d+)?\/?$/.test(supabaseUrl) || !publicKey(anonKey))
|
|
67
|
+
throw new CliError('PROTOCOL_ERROR', '项目缺少有效的 Supabase 地址或公开访问 Key,无法交付可执行的接入指令', { sessionId });
|
|
68
|
+
const manifestUrl = `https://id--${sessionId}.superun.yun/superun/openapi.json`;
|
|
69
|
+
const manifest = await this.http.request({
|
|
70
|
+
url: manifestUrl,
|
|
71
|
+
method: 'GET',
|
|
72
|
+
timeoutMs: 15000,
|
|
73
|
+
signal: this.client.signal,
|
|
74
|
+
});
|
|
75
|
+
const parsed = parseWire(z.object({ openapi: z.string().min(1), paths: z.record(z.unknown()) }), manifest.data);
|
|
76
|
+
if (!Object.keys(parsed.paths).length)
|
|
77
|
+
throw new CliError('PROTOCOL_ERROR', '项目 OpenAPI 清单没有可用接口,请先更新项目接入能力', {
|
|
78
|
+
sessionId,
|
|
79
|
+
});
|
|
80
|
+
return { appName, supabaseUrl, anonKey, manifestUrl };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=agent-friendly-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-friendly-api.js","sourceRoot":"","sources":["../../src/api/agent-friendly-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/** Agent 友好:同源 chat 生成能力,按用户选择交付完整接入原文。@author xiuyu.yi */
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { runtime, businessWrite, withWait, waitOptions } from '../shared.js';
|
|
4
|
+
import { object, text } from '../../contracts/value.js';
|
|
5
|
+
import { AgentFriendlyApi } from '../../api/agent-friendly-api.js';
|
|
6
|
+
import { agentFriendlyChat } from '../../conversation/agent-friendly-prompts.js';
|
|
7
|
+
import { agentFriendlyGuidance, agentFriendlyNotReady, isAgentFriendlyRound, projectAgentFriendlyGeneration, readyAgentFriendly, } from '../../conversation/agent-friendly.js';
|
|
8
|
+
import { SessionWaiter } from '../../conversation/session-waiter.js';
|
|
9
|
+
import { CliError } from '../../output/exit-codes.js';
|
|
10
|
+
export function registerAgentFriendly(chat, context) {
|
|
11
|
+
withWait(chat.command('agent-friendly <sessionId>').description('准备 Agent 友好能力,选择技能或连接器接入方式'))
|
|
12
|
+
.addOption(new Option('--method <method>', '展示所选方式的完整接入指令,不执行安装').choices([
|
|
13
|
+
'skill',
|
|
14
|
+
'connector',
|
|
15
|
+
]))
|
|
16
|
+
.option('--status', '只查询或等待已有接入任务,不触发生成')
|
|
17
|
+
.option('--message-id <messageId>', '跟进已提交的接入生成消息')
|
|
18
|
+
.action(async (sessionId, _options, command) => {
|
|
19
|
+
const service = await runtime(context, command);
|
|
20
|
+
const options = object(command.opts());
|
|
21
|
+
const method = options.method;
|
|
22
|
+
let messageId = text(options.messageId);
|
|
23
|
+
if (messageId && !options.status)
|
|
24
|
+
throw new CliError('INVALID_ARGUMENT', '指定消息时须使用 --status,避免重新发起生成');
|
|
25
|
+
const api = new AgentFriendlyApi(service.client);
|
|
26
|
+
const view = await service.load(sessionId);
|
|
27
|
+
const enabled = await api.enabled(sessionId);
|
|
28
|
+
const busy = [0, 1, 2, 4, 10].includes(view.session.status) ||
|
|
29
|
+
(await service.taskProgress.hasPendingSubagentWork(sessionId));
|
|
30
|
+
const ownsTask = isAgentFriendlyRound(view);
|
|
31
|
+
if (!busy && enabled) {
|
|
32
|
+
context.output.write(await readyAgentFriendly(service, api, view, method));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (busy && !ownsTask && !messageId) {
|
|
36
|
+
context.output.write(agentFriendlyGuidance(service, agentFriendlyNotReady(sessionId, '当前项目仍有其他任务或待回答问题,请先处理当前会话,再继续 Agent 友好接入。')));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (!busy && !ownsTask && (options.status || method)) {
|
|
40
|
+
context.output.write(agentFriendlyGuidance(service, agentFriendlyNotReady(sessionId, '当前项目尚未开启 Agent 友好,请先选择“Agent 友好”准备项目接入能力。')));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!busy && !options.status && !method && !messageId) {
|
|
44
|
+
if (view.session.publicStatus !== 1)
|
|
45
|
+
throw new CliError('INVALID_ARGUMENT', '请先完成上线运营,再准备 Agent 友好接入能力', {
|
|
46
|
+
sessionId,
|
|
47
|
+
});
|
|
48
|
+
if (view.session.status !== 3)
|
|
49
|
+
throw new CliError('INVALID_ARGUMENT', '请先处理当前任务或异常,再准备 Agent 友好接入能力', {
|
|
50
|
+
sessionId,
|
|
51
|
+
});
|
|
52
|
+
const response = object(await businessWrite(context, service, sessionId, () => service.command.chat(agentFriendlyChat(sessionId))));
|
|
53
|
+
messageId = text(response.messageId) ?? text(response.replyMessageId);
|
|
54
|
+
if (!messageId)
|
|
55
|
+
throw new CliError('OUTCOME_UNKNOWN', '接入生成已提交但未取得消息标识,请查询当前会话,勿重复生成', { sessionId, retryable: false });
|
|
56
|
+
}
|
|
57
|
+
if (options.wait === false && (busy || messageId)) {
|
|
58
|
+
context.output.write(agentFriendlyGuidance(service, {
|
|
59
|
+
state: 'RUNNING',
|
|
60
|
+
sessionId,
|
|
61
|
+
messageId,
|
|
62
|
+
messages: [
|
|
63
|
+
{
|
|
64
|
+
id: `${sessionId}:agent-friendly:generating`,
|
|
65
|
+
role: 'assistant',
|
|
66
|
+
text: '正在为你的项目准备 AI 应用接入能力。',
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
interactions: [],
|
|
70
|
+
progress: [],
|
|
71
|
+
agentFriendly: { stage: 'GENERATING' },
|
|
72
|
+
}));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const waiter = new SessionWaiter({
|
|
76
|
+
conversation: service.conversation,
|
|
77
|
+
command: service.command,
|
|
78
|
+
load: (id) => service.load(id),
|
|
79
|
+
inspect: (value) => projectAgentFriendlyGeneration(service, api, value),
|
|
80
|
+
onProgress: (result) => context.output.progress(result),
|
|
81
|
+
signal: context.signal,
|
|
82
|
+
});
|
|
83
|
+
const result = await waiter.wait(sessionId, {
|
|
84
|
+
...waitOptions(command),
|
|
85
|
+
messageId,
|
|
86
|
+
// 恢复查询时起始消息可能已被折叠;只对新提交的生成请求等待消息入流。
|
|
87
|
+
requiredMessageId: options.status ? undefined : messageId,
|
|
88
|
+
});
|
|
89
|
+
// 等待器会保留起始回合消息;就绪后只交付方式选择,避免展开生成时两种方式的长说明。
|
|
90
|
+
if (object(object(result).agentFriendly).stage === 'READY') {
|
|
91
|
+
context.output.write(await readyAgentFriendly(service, api, await service.load(sessionId), method));
|
|
92
|
+
}
|
|
93
|
+
else
|
|
94
|
+
context.output.write(result);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=agent-friendly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-friendly.js","sourceRoot":"","sources":["../../../src/commands/chat/agent-friendly.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,MAAM,EAAgB,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAA4B,MAAM,8CAA8C,CAAC;AAC3G,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,MAAM,UAAU,qBAAqB,CAAC,IAAa,EAAE,OAAuB;IAC1E,QAAQ,CACN,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CACrF;SACE,SAAS,CACR,IAAI,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC;QAC7D,OAAO;QACP,WAAW;KACZ,CAAC,CACH;SACA,MAAM,CAAC,UAAU,EAAE,oBAAoB,CAAC;SACxC,MAAM,CAAC,0BAA0B,EAAE,cAAc,CAAC;SAClD,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,QAAiB,EAAE,OAAgB,EAAE,EAAE;QACvE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAyC,CAAC;QACjE,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM;YAC9B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,IAAI,GACR,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC9C,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qBAAqB,CACnB,OAAO,EACP,qBAAqB,CACnB,SAAS,EACT,2CAA2C,CAC5C,CACF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qBAAqB,CACnB,OAAO,EACP,qBAAqB,CACnB,SAAS,EACT,2CAA2C,CAC5C,CACF,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC;gBACjC,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,EAAE;oBAClE,SAAS;iBACV,CAAC,CAAC;YACL,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAC3B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,8BAA8B,EAAE;oBACrE,SAAS;iBACV,CAAC,CAAC;YACL,MAAM,QAAQ,GAAG,MAAM,CACrB,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CACpD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CACnD,CACF,CAAC;YACF,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS;gBACZ,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,+BAA+B,EAC/B,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAChC,CAAC;QACN,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC;YAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qBAAqB,CAAC,OAAO,EAAE;gBAC7B,KAAK,EAAE,SAAS;gBAChB,SAAS;gBACT,SAAS;gBACT,QAAQ,EAAE;oBACR;wBACE,EAAE,EAAE,GAAG,SAAS,4BAA4B;wBAC5C,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,sBAAsB;qBAC7B;iBACF;gBACD,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;gBACZ,aAAa,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;aACvC,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC;YACvE,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACvD,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;YAC1C,GAAG,WAAW,CAAC,OAAO,CAAC;YACvB,SAAS;YACT,oCAAoC;YACpC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAC1D,CAAC,CAAC;QACH,2CAA2C;QAC3C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACtG,CAAC;;YAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { registerStyle } from './style.js';
|
|
|
10
10
|
import { registerDemo } from './demo.js';
|
|
11
11
|
import { registerDevelop } from './develop.js';
|
|
12
12
|
import { registerSecurity } from './security.js';
|
|
13
|
+
import { registerAgentFriendly } from './agent-friendly.js';
|
|
13
14
|
import { registerInteraction } from './interaction.js';
|
|
14
15
|
import { registerPlugin } from './plugin.js';
|
|
15
16
|
import { registerPublish } from './publish.js';
|
|
@@ -27,6 +28,7 @@ export function registerChat(program, context) {
|
|
|
27
28
|
registerDemo(chat, context);
|
|
28
29
|
registerDevelop(chat, context);
|
|
29
30
|
registerSecurity(chat, context);
|
|
31
|
+
registerAgentFriendly(chat, context);
|
|
30
32
|
registerInteraction(chat, context);
|
|
31
33
|
registerPlugin(chat, context);
|
|
32
34
|
registerPublish(chat, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/chat/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,OAAuB;IACpE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzD,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/chat/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,OAAuB;IACpE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzD,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -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 { AGENT_FRIENDLY_DESCRIPTION } from '../../conversation/agent-friendly-prompts.js';
|
|
7
8
|
import { missingPublishedRouting, readProjectRouting, routingInstruction, } from '../../conversation/project-routing.js';
|
|
8
9
|
function versions(value) {
|
|
9
10
|
return [
|
|
@@ -89,6 +90,12 @@ function publishActions(service, sessionId, value, publicStatus, encryptedId, fo
|
|
|
89
90
|
publicStatus === 1 &&
|
|
90
91
|
records.some((item) => (!encryptedId || item.encryptedId === encryptedId) && item.deployStatus === 1))
|
|
91
92
|
return [
|
|
93
|
+
{
|
|
94
|
+
action: 'AGENT_FRIENDLY',
|
|
95
|
+
instruction: `保留当前发布结果和正式访问入口,随后展示“- **Agent 友好**:${AGENT_FRIENDLY_DESCRIPTION}”。与继续创作并列,只在用户选择 Agent 友好后执行;已开启则选择接入方式,未开启则通过同源技能 chat 准备能力。不要自动生成、安装或新建会话。`,
|
|
96
|
+
requiresUserInput: true,
|
|
97
|
+
command: [...command.slice(0, -1), 'agent-friendly', '--', sessionId],
|
|
98
|
+
},
|
|
92
99
|
{
|
|
93
100
|
action: 'CONTINUE_CHAT',
|
|
94
101
|
instruction: `展示发布成功结果和目标版本的 changeLog 原文;未指定版本时使用 updatedAt 最新的已发布版本。${routingInstruction('published')} 单端使用“本次已成功上线,点击〔访问网站〕进入正式网站。”;多端使用“本次已成功上线,可以通过以下入口访问:”,随后逐端列出正式链接,再说“点击对应链接即可进入相应端,以上均为正式访问链接。”。〔链接〕必须替换为真实可点击链接。最后另起一行展示单端“**继续创作**:直接告诉我想新增或调整的内容。”或多端“**继续创作**:直接告诉我想新增或调整哪个端的什么功能。”。等待用户响应;收到新的创作要求后,将用户原文不经改写或扩充地放入 content,通过 --input - 提交 JSON,不自动追加需求或重复发布。`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/commands/chat/publish.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/commands/chat/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ export type CommandContext = {
|
|
|
13
13
|
connection?: Promise<CredentialContext>;
|
|
14
14
|
sessionBinding?: Promise<SessionBinding | undefined>;
|
|
15
15
|
selectedSessionId?: string;
|
|
16
|
+
selectionRequestedAt?: string;
|
|
17
|
+
rememberSession?: (sessionId: string, requestedAt: string, creationRevision?: string) => void;
|
|
16
18
|
};
|
|
17
19
|
export type CredentialContext = {
|
|
18
20
|
service: CreationRuntime;
|
|
@@ -21,6 +23,8 @@ export type CredentialContext = {
|
|
|
21
23
|
/** 已有 PAT 直接复用;允许浏览器登录时自动补齐缺失的凭据。 */
|
|
22
24
|
export declare function requireCredentials(context: CommandContext, command: Command, allowBrowser?: boolean): Promise<CredentialContext>;
|
|
23
25
|
export declare function runtime(context: CommandContext, command: Command): Promise<CreationRuntime>;
|
|
26
|
+
/** 命令分发时启动后台保存;显式项目不读取本地绑定,也不等待辅助保存。 */
|
|
27
|
+
export declare function rememberExplicitSession(context: CommandContext, command: Command): void;
|
|
24
28
|
/** 绑定归属仅在公共层识别一次;宿主未提供可靠身份时保留显式调用能力。 */
|
|
25
29
|
export declare function sessionBinding(context: CommandContext, service: CreationRuntime): Promise<SessionBinding | undefined>;
|
|
26
30
|
export declare function positive(value: string): number;
|
package/dist/commands/shared.js
CHANGED
|
@@ -13,6 +13,7 @@ import { object, text } from '../contracts/value.js';
|
|
|
13
13
|
import { creditCode } from '../conversation/insufficient-credits.js';
|
|
14
14
|
import { SessionBinding } from '../session/binding.js';
|
|
15
15
|
import { detectHostContext } from '../session/host-context.js';
|
|
16
|
+
import { scheduleRemember } from '../session/remember.js';
|
|
16
17
|
async function loadCredentialContext(context, command, allowBrowser) {
|
|
17
18
|
const options = object(command.optsWithGlobals());
|
|
18
19
|
const config = runtimeConfig({
|
|
@@ -29,6 +30,14 @@ async function loadCredentialContext(context, command, allowBrowser) {
|
|
|
29
30
|
context.output.registerSecret(credential.pat);
|
|
30
31
|
const service = context.makeRuntime?.(config, credential.pat) ??
|
|
31
32
|
new CreationRuntime(new ApiClient(config, credential.pat, undefined, context.signal), context.output);
|
|
33
|
+
context.rememberSession = (sessionId, requestedAt, creationRevision) => scheduleRemember({
|
|
34
|
+
sessionId,
|
|
35
|
+
requestedAt,
|
|
36
|
+
endpoint: config.endpoint,
|
|
37
|
+
locale: config.locale,
|
|
38
|
+
credentialScope: service.client.interactionScope,
|
|
39
|
+
...(creationRevision ? { creationRevision } : {}),
|
|
40
|
+
});
|
|
32
41
|
return { service, credentialSource: credential.source };
|
|
33
42
|
}
|
|
34
43
|
/** 已有 PAT 直接复用;允许浏览器登录时自动补齐缺失的凭据。 */
|
|
@@ -42,6 +51,7 @@ const projectOperations = new Set([
|
|
|
42
51
|
'test',
|
|
43
52
|
'review',
|
|
44
53
|
'security',
|
|
54
|
+
'agent-friendly',
|
|
45
55
|
'stop',
|
|
46
56
|
'retry',
|
|
47
57
|
'demo',
|
|
@@ -58,7 +68,10 @@ const projectOperations = new Set([
|
|
|
58
68
|
'publish visibility',
|
|
59
69
|
]);
|
|
60
70
|
export async function runtime(context, command) {
|
|
61
|
-
|
|
71
|
+
return (await requireCredentials(context, command)).service;
|
|
72
|
+
}
|
|
73
|
+
/** 命令分发时启动后台保存;显式项目不读取本地绑定,也不等待辅助保存。 */
|
|
74
|
+
export function rememberExplicitSession(context, command) {
|
|
62
75
|
const path = [];
|
|
63
76
|
let parent = command;
|
|
64
77
|
while (parent?.parent && parent.name() !== 'chat') {
|
|
@@ -66,17 +79,18 @@ export async function runtime(context, command) {
|
|
|
66
79
|
parent = parent.parent;
|
|
67
80
|
}
|
|
68
81
|
const sessionId = command.processedArgs[0];
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
82
|
+
const options = object(command.opts());
|
|
83
|
+
if (path.join(' ') === 'agent-friendly' && (options.status || options.method || options.messageId))
|
|
84
|
+
return;
|
|
85
|
+
if (parent?.name() !== 'chat' ||
|
|
86
|
+
!projectOperations.has(path.join(' ')) ||
|
|
87
|
+
typeof sessionId !== 'string' ||
|
|
88
|
+
context.selectedSessionId === sessionId ||
|
|
89
|
+
!context.selectionRequestedAt ||
|
|
90
|
+
context.signal.aborted)
|
|
75
91
|
return;
|
|
76
|
-
const binding = await sessionBinding(context, service);
|
|
77
|
-
if (binding)
|
|
78
|
-
await binding.select(service, sessionId);
|
|
79
92
|
context.selectedSessionId = sessionId;
|
|
93
|
+
context.rememberSession?.(sessionId, context.selectionRequestedAt);
|
|
80
94
|
}
|
|
81
95
|
/** 绑定归属仅在公共层识别一次;宿主未提供可靠身份时保留显式调用能力。 */
|
|
82
96
|
export async function sessionBinding(context, service) {
|
|
@@ -133,12 +147,12 @@ export async function readInput(path) {
|
|
|
133
147
|
}
|
|
134
148
|
}
|
|
135
149
|
export async function businessWrite(context, service, sessionId, action) {
|
|
136
|
-
const binding = await sessionBinding(context, service);
|
|
137
|
-
if (!binding)
|
|
150
|
+
const binding = sessionId ? undefined : await sessionBinding(context, service);
|
|
151
|
+
if (!sessionId && !binding)
|
|
138
152
|
context.output.log('宿主未提供可确认归属的会话身份,本次不会自动保存当前项目;仍可显式传入 sessionId。');
|
|
139
|
-
if (
|
|
140
|
-
|
|
141
|
-
const revision = !sessionId ? await binding?.beginCreation() : undefined;
|
|
153
|
+
if (sessionId)
|
|
154
|
+
context.selectedSessionId = sessionId;
|
|
155
|
+
const revision = !sessionId ? await binding?.beginCreation(context.selectionRequestedAt) : undefined;
|
|
142
156
|
let response;
|
|
143
157
|
try {
|
|
144
158
|
response = await action();
|
|
@@ -147,7 +161,12 @@ export async function businessWrite(context, service, sessionId, action) {
|
|
|
147
161
|
if (binding && revision) {
|
|
148
162
|
const rejected = error instanceof CliError &&
|
|
149
163
|
['BUSINESS_ERROR', 'AUTH_REQUIRED', 'INVALID_ARGUMENT'].includes(error.code);
|
|
150
|
-
|
|
164
|
+
try {
|
|
165
|
+
await binding.finishCreation(revision, rejected ? 'CREATE_FAILED' : 'CREATE_UNKNOWN');
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
// 原 CREATING 仍阻止重复提交,不能用清理异常覆盖业务错误。
|
|
169
|
+
}
|
|
151
170
|
}
|
|
152
171
|
if (error instanceof CliError && creditCode(error.details.businessCode))
|
|
153
172
|
throw new CliError(error.code, error.message, {
|
|
@@ -175,24 +194,23 @@ export async function businessWrite(context, service, sessionId, action) {
|
|
|
175
194
|
throw new CliError('INTERRUPTED', '命令已中断,远端任务不受影响', { sessionId });
|
|
176
195
|
throw error;
|
|
177
196
|
}
|
|
178
|
-
if (
|
|
197
|
+
if (!sessionId) {
|
|
179
198
|
const createdSessionId = text(object(response).sessionId);
|
|
180
199
|
if (!createdSessionId) {
|
|
181
|
-
|
|
200
|
+
if (binding && revision) {
|
|
201
|
+
try {
|
|
202
|
+
await binding.finishCreation(revision, 'CREATE_UNKNOWN');
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
// 保留未决创建保护,不覆盖缺少回执 ID 的原始结论。
|
|
206
|
+
}
|
|
207
|
+
}
|
|
182
208
|
throw new CliError('OUTCOME_UNKNOWN', '创建回执未包含 sessionId,请先核对结果,不要重复创建', {
|
|
183
209
|
retryable: false,
|
|
184
210
|
});
|
|
185
211
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}
|
|
189
|
-
catch {
|
|
190
|
-
throw new CliError('PROTOCOL_ERROR', '项目已创建,但本地绑定保存失败;请保留 sessionId 继续查询,不要重复创建', {
|
|
191
|
-
sessionId: createdSessionId,
|
|
192
|
-
remoteAccepted: true,
|
|
193
|
-
retryable: false,
|
|
194
|
-
});
|
|
195
|
-
}
|
|
212
|
+
// 已拿到真实项目 ID:返回业务回执,绑定及保护记录收尾交给后台处理。
|
|
213
|
+
context.rememberSession?.(createdSessionId, context.selectionRequestedAt ?? new Date().toISOString(), revision);
|
|
196
214
|
}
|
|
197
215
|
return response;
|
|
198
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/commands/shared.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/commands/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function stateDirectory(kind: 'sessions' | 'interactions'): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** 各宿主共用的持久化状态目录,不影响凭据与安装缓存。@author xiuyu.yi */
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { isAbsolute, join, normalize } from 'node:path';
|
|
4
|
+
import { CliError } from '../output/exit-codes.js';
|
|
5
|
+
export function stateDirectory(kind) {
|
|
6
|
+
const configured = process.env.SUPERUN_STATE_DIR;
|
|
7
|
+
if (configured === undefined)
|
|
8
|
+
return join(homedir(), '.config/superun-ai-cli', kind);
|
|
9
|
+
if (!configured.trim() || !isAbsolute(configured))
|
|
10
|
+
throw new CliError('INVALID_ARGUMENT', 'SUPERUN_STATE_DIR 必须是宿主允许读写的持久化目录绝对路径');
|
|
11
|
+
return join(normalize(configured), kind);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=state-directory.js.map
|