@keyou007/agent-bot 0.1.14-alpha.1 → 0.1.14-alpha.2
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/CHANGELOG.md +14 -1
- package/README.md +42 -12
- package/README.zh.md +42 -12
- package/config.example.yaml +1 -1
- package/dist/cli/AutostartManager.js +431 -0
- package/dist/cli/AutostartManager.js.map +1 -0
- package/dist/cli/FeishuAppConfiguration.js +17 -13
- package/dist/cli/FeishuAppConfiguration.js.map +1 -1
- package/dist/cli/Initializer.js +35 -0
- package/dist/cli/Initializer.js.map +1 -1
- package/dist/cli/SelfUpdateRunner.js +552 -0
- package/dist/cli/SelfUpdateRunner.js.map +1 -0
- package/dist/cli/SelfUpdater.js +431 -0
- package/dist/cli/SelfUpdater.js.map +1 -0
- package/dist/cli/autostartOutput.js +63 -0
- package/dist/cli/autostartOutput.js.map +1 -0
- package/dist/cli/controlProtocol.js.map +1 -1
- package/dist/cli/help.js +92 -18
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/taskGroupOptions.js +14 -11
- package/dist/cli/taskGroupOptions.js.map +1 -1
- package/dist/cli/taskListOutput.js +3 -0
- package/dist/cli/taskListOutput.js.map +1 -1
- package/dist/cli/taskTarget.js +99 -0
- package/dist/cli/taskTarget.js.map +1 -0
- package/dist/cli.js +643 -58
- package/dist/cli.js.map +1 -1
- package/dist/codex/CodexRuntime.js +8 -2
- package/dist/codex/CodexRuntime.js.map +1 -1
- package/dist/commands/CommandRouter.js +7 -1
- package/dist/commands/CommandRouter.js.map +1 -1
- package/dist/feishu/CardRenderer.js +172 -23
- package/dist/feishu/CardRenderer.js.map +1 -1
- package/dist/feishu/FeishuMarkdown.js +25 -1
- package/dist/feishu/FeishuMarkdown.js.map +1 -1
- package/dist/index.js +134 -2
- package/dist/index.js.map +1 -1
- package/dist/proxy/ProxySessionController.js +436 -12
- package/dist/proxy/ProxySessionController.js.map +1 -1
- package/dist/state/StateStore.js +18 -0
- package/dist/state/StateStore.js.map +1 -1
- package/docs/technical-reference.md +17 -7
- package/docs/technical-reference.zh.md +17 -7
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
- package/skills/agent-bot/SKILL.md +107 -188
- package/src/cli/AutostartManager.ts +579 -0
- package/src/cli/FeishuAppConfiguration.ts +22 -7
- package/src/cli/Initializer.ts +57 -0
- package/src/cli/SelfUpdateRunner.ts +817 -0
- package/src/cli/SelfUpdater.ts +688 -0
- package/src/cli/autostartOutput.ts +75 -0
- package/src/cli/controlProtocol.ts +111 -1
- package/src/cli/help.ts +92 -18
- package/src/cli/taskGroupOptions.ts +27 -17
- package/src/cli/taskListOutput.ts +10 -0
- package/src/cli/taskTarget.ts +168 -0
- package/src/cli.ts +781 -65
- package/src/codex/CodexRuntime.ts +8 -2
- package/src/commands/CommandRouter.ts +6 -1
- package/src/commands/commandTypes.ts +1 -0
- package/src/feishu/CardRenderer.ts +199 -23
- package/src/feishu/FeishuMarkdown.ts +27 -1
- package/src/index.ts +172 -2
- package/src/proxy/ProxySessionController.ts +532 -15
- package/src/runtime/types.ts +1 -0
- package/src/state/StateStore.ts +19 -0
package/dist/cli/help.js
CHANGED
|
@@ -10,23 +10,45 @@ export function renderCliHelp(version, language = cliLanguage) {
|
|
|
10
10
|
常用命令:
|
|
11
11
|
init 检查并配置 Agent,初始化飞书应用和服务
|
|
12
12
|
init --reset 重置并重新配置显式指定的 Profile
|
|
13
|
+
update 安全更新 npm 安装的 Agent Bot
|
|
13
14
|
console 打开本地控制台
|
|
14
15
|
server start 在后台启动 Agent Bot
|
|
15
16
|
server status 显示服务、飞书 App ID、Agent 进程和安全重启状态
|
|
17
|
+
server autostart <操作> 管理当前 Profile 的系统自启动
|
|
16
18
|
server restart [--task <任务>] 安排安全重启并将状态发回指定任务会话
|
|
17
19
|
server stop 停止 Agent Bot
|
|
18
|
-
task list 列出任务
|
|
19
|
-
task current [--json] 显示当前调用任务的详情
|
|
20
|
-
task status <任务> 显示任务状态
|
|
21
|
-
task chat <任务> 显示任务绑定的飞书会话
|
|
22
|
-
task prompt <任务> <提示词> 向任务发送提示词
|
|
23
|
-
task newgroup <任务> [标题] 创建新群;支持 --agent、--dir、--nodir
|
|
24
|
-
task forkgroup <任务> [标题] 从任务 Fork 新群
|
|
25
|
-
task stop <任务> 停止任务
|
|
26
|
-
task title <任务> <标题> 重命名任务
|
|
27
20
|
skills status 显示内置 Skill 状态
|
|
28
21
|
skills install 安装内置 Skill
|
|
29
22
|
|
|
23
|
+
任务命令:
|
|
24
|
+
task list 列出任务;支持 --search,sessions 是别名
|
|
25
|
+
task current [--json] 显示当前调用任务的详情
|
|
26
|
+
task status|chat [任务] 显示任务状态或绑定的飞书会话
|
|
27
|
+
task prompt [任务] <提示词> 向任务发送提示词;send 是别名
|
|
28
|
+
task new [任务] [标题] 在同一会话新建任务;支持 --agent、--dir、--nodir
|
|
29
|
+
task newgroup [任务] [标题] 创建新群;支持 --agent、--dir、--nodir
|
|
30
|
+
task fork [任务] 从任务最近完成的 Turn 创建分支
|
|
31
|
+
task forkgroup [任务] [标题] 从任务 Fork 新群
|
|
32
|
+
task switch [任务] [目标任务] 切换会话任务;--previous 切回上一任务
|
|
33
|
+
task queue [任务] <提示词> 将提示词排队;nosteer 是别名
|
|
34
|
+
task agent [任务] [名称] 查看或设置该会话的新任务默认 Agent
|
|
35
|
+
task provider|model [任务] [值] 查看选项或设置 Provider、模型
|
|
36
|
+
task thinking [任务] [强度] 查看或设置思考强度
|
|
37
|
+
task permissions [任务] [模式] 查看或设置权限模式:auto、confirm
|
|
38
|
+
task goal [任务] [操作或目标] 查看、设置、修改、暂停、恢复或清除 Goal
|
|
39
|
+
task turns [任务] 列出已完成的历史 Turn
|
|
40
|
+
task reset [任务] <Turn ID> 将对话上下文 Reset 到指定 Turn
|
|
41
|
+
task mute [任务] [on|off] 设置群聊仅 @ 响应模式;不传值等同于 on
|
|
42
|
+
task dir [任务] [目录] 浏览任务目录;支持 --page、--json
|
|
43
|
+
task file [任务] <路径> 将文件发送到任务绑定的飞书会话
|
|
44
|
+
task shell [任务] <命令> 在任务目录执行本地命令
|
|
45
|
+
task stop [任务] 停止任务
|
|
46
|
+
task archive [任务] 归档任务
|
|
47
|
+
task title [任务] <标题> 重命名任务
|
|
48
|
+
task restart [任务] [--force] 从任务会话请求安全或立即重启
|
|
49
|
+
|
|
50
|
+
在 Agent Bot 启动的 Agent 中可省略任务,CLI 会自动使用当前任务;--task <任务> 可显式覆盖。
|
|
51
|
+
|
|
30
52
|
选项:
|
|
31
53
|
--profile <目录> 使用独立的 Profile 目录
|
|
32
54
|
--config <路径> 使用指定的配置文件
|
|
@@ -39,17 +61,32 @@ export function renderCliHelp(version, language = cliLanguage) {
|
|
|
39
61
|
--skip-feishu 仅初始化 Console 环境
|
|
40
62
|
--reconfigure-feishu 仅替换现有飞书凭据
|
|
41
63
|
|
|
64
|
+
更新选项:
|
|
65
|
+
--alpha 更新到 Alpha 通道
|
|
66
|
+
--stable 更新到稳定通道
|
|
67
|
+
--version <版本> 更新到指定版本
|
|
68
|
+
--task <任务> 将更新和重启状态发回任务所在会话
|
|
69
|
+
--allow-downgrade 明确允许安装较旧版本
|
|
70
|
+
|
|
42
71
|
重启选项:
|
|
43
72
|
--task <任务> 将安全重启状态发回任务所在会话
|
|
44
73
|
--reason <原因> 设置重启原因
|
|
45
74
|
--immediate 立即重启,可能中断任务
|
|
46
75
|
|
|
76
|
+
自启动操作:
|
|
77
|
+
server autostart enable 在用户登录时自动启动当前 Profile
|
|
78
|
+
server autostart enable --linger Linux:系统启动时自动启动,无需登录
|
|
79
|
+
server autostart status 显示系统启动项及服务运行状态
|
|
80
|
+
server autostart disable 移除启动项,不停止当前服务
|
|
81
|
+
|
|
47
82
|
示例:
|
|
48
83
|
agentbot init
|
|
84
|
+
agentbot update
|
|
49
85
|
agentbot --profile ~/.agent-bot init --reset
|
|
50
86
|
agentbot --profile ~/.agent-bot-rescue init
|
|
51
87
|
agentbot server start
|
|
52
88
|
agentbot server status
|
|
89
|
+
agentbot server autostart enable
|
|
53
90
|
agentbot task list
|
|
54
91
|
agentbot server restart --reason "更新 Agent Bot"
|
|
55
92
|
`;
|
|
@@ -63,23 +100,45 @@ Usage:
|
|
|
63
100
|
Common commands:
|
|
64
101
|
init Check and configure Agents; initialize the Lark app and service
|
|
65
102
|
init --reset Reset and reconfigure an explicit profile
|
|
103
|
+
update Safely update an npm-installed Agent Bot
|
|
66
104
|
console Open the local console
|
|
67
105
|
server start Start Agent Bot in the background
|
|
68
106
|
server status Show the server, Lark App ID, Agent processes, and safe-restart status
|
|
107
|
+
server autostart <action> Manage OS autostart for the selected Profile
|
|
69
108
|
server restart [--task <task>] Schedule a safe restart and return status to the task's conversation
|
|
70
109
|
server stop Stop Agent Bot
|
|
71
|
-
task list List tasks
|
|
72
|
-
task current [--json] Show details for the task invoking the CLI
|
|
73
|
-
task status <task> Show task status
|
|
74
|
-
task chat <task> Show the task's Lark chat binding
|
|
75
|
-
task prompt <task> <prompt> Send a Prompt to a task
|
|
76
|
-
task newgroup <task> [title] Create a group; supports --agent, --dir, --nodir
|
|
77
|
-
task forkgroup <task> [title] Fork a task into a new group
|
|
78
|
-
task stop <task> Stop a task
|
|
79
|
-
task title <task> <title> Rename a task
|
|
80
110
|
skills status Show the built-in Skill status
|
|
81
111
|
skills install Install the built-in Skill
|
|
82
112
|
|
|
113
|
+
Task commands:
|
|
114
|
+
task list List tasks; supports --search; sessions is an alias
|
|
115
|
+
task current [--json] Show details for the task invoking the CLI
|
|
116
|
+
task status|chat [task] Show task status or its Lark chat binding
|
|
117
|
+
task prompt [task] <prompt> Send a Prompt to a task; send is an alias
|
|
118
|
+
task new [task] [title] Create a task in the same conversation; supports --agent, --dir, --nodir
|
|
119
|
+
task newgroup [task] [title] Create a group; supports --agent, --dir, --nodir
|
|
120
|
+
task fork [task] Fork the task's latest completed Turn
|
|
121
|
+
task forkgroup [task] [title] Fork a task into a new group
|
|
122
|
+
task switch [task] [target] Switch the conversation task; --previous selects the prior task
|
|
123
|
+
task queue [task] <prompt> Queue a Prompt; nosteer is an alias
|
|
124
|
+
task agent [task] [name] Show or set the conversation's default Agent for new tasks
|
|
125
|
+
task provider|model [task] [value] Show choices or set the Provider or model
|
|
126
|
+
task thinking [task] [effort] Show or set reasoning effort
|
|
127
|
+
task permissions [task] [mode] Show or set permission mode: auto or confirm
|
|
128
|
+
task goal [task] [action|goal] Show, set, edit, pause, resume, or clear a Goal
|
|
129
|
+
task turns [task] List completed historical Turns
|
|
130
|
+
task reset [task] <Turn ID> Reset conversation context to a Turn
|
|
131
|
+
task mute [task] [on|off] Set group mention-only mode; omitted means on
|
|
132
|
+
task dir [task] [directory] Browse task files; supports --page and --json
|
|
133
|
+
task file [task] <path> Send a file to the task's Lark conversation
|
|
134
|
+
task shell [task] <command> Run a local command in the task directory
|
|
135
|
+
task stop [task] Stop a task
|
|
136
|
+
task archive [task] Archive a task
|
|
137
|
+
task title [task] <title> Rename a task
|
|
138
|
+
task restart [task] [--force] Request a safe or immediate restart from a task
|
|
139
|
+
|
|
140
|
+
Inside an Agent started by Agent Bot, omit task to use the current task; --task <task> overrides it.
|
|
141
|
+
|
|
83
142
|
Options:
|
|
84
143
|
--profile <directory> Use an isolated profile directory
|
|
85
144
|
--config <path> Use a specific config file
|
|
@@ -92,17 +151,32 @@ Init options:
|
|
|
92
151
|
--skip-feishu Initialize for Console only
|
|
93
152
|
--reconfigure-feishu Replace only the existing Lark credentials
|
|
94
153
|
|
|
154
|
+
Update options:
|
|
155
|
+
--alpha Update from the Alpha channel
|
|
156
|
+
--stable Update from the stable channel
|
|
157
|
+
--version <version> Update to an exact version
|
|
158
|
+
--task <task> Return update and restart status to the task's conversation
|
|
159
|
+
--allow-downgrade Explicitly allow an older version
|
|
160
|
+
|
|
95
161
|
Restart options:
|
|
96
162
|
--task <task> Return safe-restart status to the task's conversation
|
|
97
163
|
--reason <reason> Set the restart reason
|
|
98
164
|
--immediate Restart immediately and possibly interrupt tasks
|
|
99
165
|
|
|
166
|
+
Autostart actions:
|
|
167
|
+
server autostart enable Start this Profile automatically at user login
|
|
168
|
+
server autostart enable --linger Linux: start at system boot without a login
|
|
169
|
+
server autostart status Show OS registration and live server state
|
|
170
|
+
server autostart disable Remove registration without stopping the current server
|
|
171
|
+
|
|
100
172
|
Examples:
|
|
101
173
|
agentbot init
|
|
174
|
+
agentbot update
|
|
102
175
|
agentbot --profile ~/.agent-bot init --reset
|
|
103
176
|
agentbot --profile ~/.agent-bot-rescue init
|
|
104
177
|
agentbot server start
|
|
105
178
|
agentbot server status
|
|
179
|
+
agentbot server autostart enable
|
|
106
180
|
agentbot task list
|
|
107
181
|
agentbot server restart --reason "Update Agent Bot"
|
|
108
182
|
`;
|
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAE1D,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,QAAQ,GAAgB,WAAW;IAChF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,aAAa,OAAO
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAE1D,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,QAAQ,GAAgB,WAAW;IAChF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwF9B,CAAC;IACA,CAAC;IAED,OAAO,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwF5B,CAAC;AACF,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { cliLanguage, cliText } from "./i18n.js";
|
|
2
2
|
export function parseTaskNewGroupOptions(input, language = cliLanguage) {
|
|
3
|
+
return parseTaskNewOptions(input, "newgroup", language);
|
|
4
|
+
}
|
|
5
|
+
export function parseTaskNewOptions(input, action = "new", language = cliLanguage) {
|
|
3
6
|
const positionals = [];
|
|
4
7
|
let cwd;
|
|
5
8
|
let agentName;
|
|
@@ -13,20 +16,20 @@ export function parseTaskNewGroupOptions(input, language = cliLanguage) {
|
|
|
13
16
|
}
|
|
14
17
|
if (argument === "--nodir") {
|
|
15
18
|
if (projectless)
|
|
16
|
-
throw optionError(
|
|
19
|
+
throw optionError(action, "--nodir", language);
|
|
17
20
|
if (cwd !== undefined)
|
|
18
|
-
throw conflictingProjectOptions(language);
|
|
21
|
+
throw conflictingProjectOptions(action, language);
|
|
19
22
|
projectless = true;
|
|
20
23
|
continue;
|
|
21
24
|
}
|
|
22
25
|
if (argument === "--dir") {
|
|
23
26
|
if (projectless)
|
|
24
|
-
throw conflictingProjectOptions(language);
|
|
27
|
+
throw conflictingProjectOptions(action, language);
|
|
25
28
|
if (cwd !== undefined)
|
|
26
|
-
throw optionError(
|
|
29
|
+
throw optionError(action, "--dir", language);
|
|
27
30
|
const directory = input[index + 1];
|
|
28
31
|
if (!directory || directory.startsWith("--")) {
|
|
29
|
-
throw new Error(cliText(
|
|
32
|
+
throw new Error(cliText(`task ${action} requires a project directory after --dir.`, `task ${action} 需要在 --dir 后指定项目目录。`, language));
|
|
30
33
|
}
|
|
31
34
|
cwd = directory;
|
|
32
35
|
index += 1;
|
|
@@ -34,21 +37,21 @@ export function parseTaskNewGroupOptions(input, language = cliLanguage) {
|
|
|
34
37
|
}
|
|
35
38
|
if (argument === "--agent") {
|
|
36
39
|
if (agentName !== undefined)
|
|
37
|
-
throw optionError(
|
|
40
|
+
throw optionError(action, "--agent", language);
|
|
38
41
|
const name = input[index + 1];
|
|
39
42
|
if (!name?.trim() || name.startsWith("--")) {
|
|
40
|
-
throw new Error(cliText(
|
|
43
|
+
throw new Error(cliText(`task ${action} requires an Agent standard name after --agent.`, `task ${action} 需要在 --agent 后指定 Agent 标准名。`, language));
|
|
41
44
|
}
|
|
42
45
|
agentName = name.trim();
|
|
43
46
|
index += 1;
|
|
44
47
|
continue;
|
|
45
48
|
}
|
|
46
49
|
if (argument.startsWith("--"))
|
|
47
|
-
throw unsupportedOption(
|
|
50
|
+
throw unsupportedOption(action, argument, language);
|
|
48
51
|
positionals.push(argument);
|
|
49
52
|
}
|
|
50
53
|
const [reference, ...titleParts] = positionals;
|
|
51
|
-
requireTaskReference(
|
|
54
|
+
requireTaskReference(action, reference, language);
|
|
52
55
|
return {
|
|
53
56
|
reference,
|
|
54
57
|
title: titleParts.join(" ").trim() || undefined,
|
|
@@ -86,8 +89,8 @@ function requireTaskReference(action, reference, language) {
|
|
|
86
89
|
function optionError(action, option, language) {
|
|
87
90
|
return new Error(cliText(`task ${action} accepts ${option} only once.`, `task ${action} 只能指定一次 ${option}。`, language));
|
|
88
91
|
}
|
|
89
|
-
function conflictingProjectOptions(language) {
|
|
90
|
-
return new Error(cliText(
|
|
92
|
+
function conflictingProjectOptions(action, language) {
|
|
93
|
+
return new Error(cliText(`task ${action} cannot combine --dir and --nodir.`, `task ${action} 的 --dir 和 --nodir 不能同时使用。`, language));
|
|
91
94
|
}
|
|
92
95
|
function unsupportedOption(action, option, language) {
|
|
93
96
|
return new Error(cliText(`task ${action} does not support option: ${option}.`, `task ${action} 不支持参数:${option}。`, language));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskGroupOptions.js","sourceRoot":"","sources":["../../src/cli/taskGroupOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAoB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"taskGroupOptions.js","sourceRoot":"","sources":["../../src/cli/taskGroupOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,9 @@ export function currentAppServerThreadIds(env) {
|
|
|
23
23
|
env.TRAECLI_THREAD_ID?.trim(),
|
|
24
24
|
].filter((value) => Boolean(value)))];
|
|
25
25
|
}
|
|
26
|
+
export function taskCurrentExternalInvocationMessage(language = cliLanguage) {
|
|
27
|
+
return cliText("agentbot task current is designed for an Agent running inside Agent Bot. A regular terminal has no current Agent task. Use agentbot task list to find a task, then run agentbot task status <task>.", "agentbot task current 是为 Agent Bot 中运行的 Agent 调用设计的。普通终端没有可自动识别的当前 Agent 任务;请先使用 agentbot task list 查找任务,再运行 agentbot task status <任务>。", language);
|
|
28
|
+
}
|
|
26
29
|
export function resolveCurrentTask(sessions, currentThreadIds) {
|
|
27
30
|
const threadIds = [...new Set(currentThreadIds.map((value) => value.trim()).filter(Boolean))];
|
|
28
31
|
if (threadIds.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskListOutput.js","sourceRoot":"","sources":["../../src/cli/taskListOutput.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taskListOutput.js","sourceRoot":"","sources":["../../src/cli/taskListOutput.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { cliLanguage, cliText } from "./i18n.js";
|
|
2
|
+
import { currentAppServerThreadIds, resolveCurrentTask, taskCurrentExternalInvocationMessage, } from "./taskListOutput.js";
|
|
3
|
+
export function resolveTaskCommandTarget(sessions, args, action, options = {}) {
|
|
4
|
+
const env = options.env ?? process.env;
|
|
5
|
+
const language = options.language ?? cliLanguage;
|
|
6
|
+
const extracted = extractTaskOption(args, action, language);
|
|
7
|
+
if (extracted.reference) {
|
|
8
|
+
return {
|
|
9
|
+
session: resolveTask(sessions, extracted.reference, language),
|
|
10
|
+
args: extracted.args,
|
|
11
|
+
source: "explicit",
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
const first = extracted.args[0];
|
|
15
|
+
if (env.AGENT_BOT === "1") {
|
|
16
|
+
if (!options.preferCurrent && first && !first.startsWith("--")) {
|
|
17
|
+
const explicit = tryResolveTask(sessions, first, language);
|
|
18
|
+
if (explicit) {
|
|
19
|
+
return { session: explicit, args: extracted.args.slice(1), source: "explicit" };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
session: resolveCurrentTaskFromEnvironment(sessions, env, language),
|
|
24
|
+
args: extracted.args,
|
|
25
|
+
source: "current",
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
requireTaskCommandReference(action, first, language);
|
|
29
|
+
return {
|
|
30
|
+
session: resolveTask(sessions, first, language),
|
|
31
|
+
args: extracted.args.slice(1),
|
|
32
|
+
source: "explicit",
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function resolveCurrentTaskFromEnvironment(sessions, env = process.env, language = cliLanguage) {
|
|
36
|
+
if (env.AGENT_BOT !== "1")
|
|
37
|
+
throw new Error(taskCurrentExternalInvocationMessage(language));
|
|
38
|
+
const resolution = resolveCurrentTask(sessions, currentAppServerThreadIds(env));
|
|
39
|
+
if (resolution.status === "found")
|
|
40
|
+
return resolution.session;
|
|
41
|
+
if (resolution.status === "missing-thread-id")
|
|
42
|
+
throw new Error(cliText("Agent Bot detected an Agent process, but no current task ID is available. Use agentbot task list and pass --task <task>.", "已检测到 Agent Bot 中的 Agent 进程,但当前任务 ID 不可用。请使用 agentbot task list,并传入 --task <任务>。", language));
|
|
43
|
+
if (resolution.status === "not-found")
|
|
44
|
+
throw new Error(cliText(`No AgentBot task matches the current App Server Thread ID (${resolution.threadIds.join(", ")}). Check that the correct Profile is selected.`, `没有 AgentBot 任务匹配当前 App Server Thread ID(${resolution.threadIds.join(",")})。请检查是否选择了正确的 Profile。`, language));
|
|
45
|
+
throw new Error(cliText("The current task is ambiguous because multiple injected Thread IDs match AgentBot tasks. Pass --task <task> with an explicit AgentBot task ID.", "当前任务存在歧义:多个注入的 Thread ID 匹配到了 AgentBot 任务。请通过 --task <任务> 传入明确的 AgentBot 任务 ID。", language));
|
|
46
|
+
}
|
|
47
|
+
export function resolveTask(sessions, reference, language = cliLanguage) {
|
|
48
|
+
if (/^\d+$/.test(reference)) {
|
|
49
|
+
const index = Number(reference) - 1;
|
|
50
|
+
const session = sessions[index];
|
|
51
|
+
if (!session)
|
|
52
|
+
throw new Error(cliText(`Task number is out of range: ${reference}`, `任务序号超出范围:${reference}`, language));
|
|
53
|
+
return session;
|
|
54
|
+
}
|
|
55
|
+
const exact = sessions.find((session) => session.localSessionId === reference || session.remoteSessionId === reference || session.acpSessionId === reference);
|
|
56
|
+
if (exact)
|
|
57
|
+
return exact;
|
|
58
|
+
const matches = sessions.filter((session) => session.localSessionId.startsWith(reference)
|
|
59
|
+
|| session.remoteSessionId?.startsWith(reference)
|
|
60
|
+
|| session.acpSessionId?.startsWith(reference));
|
|
61
|
+
if (matches.length === 1)
|
|
62
|
+
return matches[0];
|
|
63
|
+
if (matches.length > 1)
|
|
64
|
+
throw new Error(cliText(`Task ID prefix is ambiguous: ${reference}`, `任务 ID 前缀不唯一:${reference}`, language));
|
|
65
|
+
throw new Error(cliText(`Task not found: ${reference}`, `未找到任务:${reference}`, language));
|
|
66
|
+
}
|
|
67
|
+
function extractTaskOption(args, action, language) {
|
|
68
|
+
const remaining = [];
|
|
69
|
+
let reference;
|
|
70
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
71
|
+
const value = args[index];
|
|
72
|
+
if (value !== "--task") {
|
|
73
|
+
remaining.push(value);
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (reference)
|
|
77
|
+
throw new Error(cliText(`task ${action} accepts --task only once.`, `task ${action} 只能指定一次 --task。`, language));
|
|
78
|
+
const candidate = args[index + 1]?.trim();
|
|
79
|
+
if (!candidate || candidate.startsWith("--"))
|
|
80
|
+
throw new Error(cliText(`task ${action} requires a task number or task ID after --task.`, `task ${action} 需要在 --task 后指定任务序号或任务 ID。`, language));
|
|
81
|
+
reference = candidate;
|
|
82
|
+
index += 1;
|
|
83
|
+
}
|
|
84
|
+
return { ...(reference ? { reference } : {}), args: remaining };
|
|
85
|
+
}
|
|
86
|
+
function tryResolveTask(sessions, reference, language) {
|
|
87
|
+
try {
|
|
88
|
+
return resolveTask(sessions, reference, language);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function requireTaskCommandReference(action, reference, language) {
|
|
95
|
+
if (reference && !reference.startsWith("--"))
|
|
96
|
+
return;
|
|
97
|
+
throw new Error(cliText(`task ${action} requires a task number or task ID outside Agent Bot, or --task <task>.`, `在 Agent Bot 外执行 task ${action} 时,需要任务序号或任务 ID,或传入 --task <任务>。`, language));
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=taskTarget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskTarget.js","sourceRoot":"","sources":["../../src/cli/taskTarget.ts"],"names":[],"mappings":"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"}
|