@downcity/city 1.1.24 → 1.1.32
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 +5 -11
- package/bin/cli/Index.d.ts +1 -1
- package/bin/cli/Index.js +4 -6
- package/bin/cli/Index.js.map +1 -1
- package/bin/cli/agent/AgentChat.js +1 -1
- package/bin/cli/agent/AgentChat.js.map +1 -1
- package/bin/cli/agent/AgentHistory.d.ts.map +1 -1
- package/bin/cli/agent/AgentHistory.js +2 -1
- package/bin/cli/agent/AgentHistory.js.map +1 -1
- package/bin/cli/agent/AgentManager.js +3 -3
- package/bin/cli/agent/AgentManager.js.map +1 -1
- package/bin/cli/agent/Init.js +6 -6
- package/bin/cli/agent/Init.js.map +1 -1
- package/bin/cli/agent/Restart.js +1 -1
- package/bin/cli/agent/Restart.js.map +1 -1
- package/bin/cli/agent/Run.d.ts.map +1 -1
- package/bin/cli/agent/Run.js +6 -7
- package/bin/cli/agent/Run.js.map +1 -1
- package/bin/cli/agent/Start.js +1 -1
- package/bin/cli/agent/Start.js.map +1 -1
- package/bin/cli/control-plane/ControlPlaneCommand.d.ts.map +1 -1
- package/bin/cli/control-plane/ControlPlaneCommand.js +19 -1
- package/bin/cli/control-plane/ControlPlaneCommand.js.map +1 -1
- package/bin/cli/control-plane/ControlPlanePublicManager.d.ts +17 -0
- package/bin/cli/control-plane/ControlPlanePublicManager.d.ts.map +1 -0
- package/bin/cli/control-plane/ControlPlanePublicManager.js +229 -0
- package/bin/cli/control-plane/ControlPlanePublicManager.js.map +1 -0
- package/bin/cli/control-plane/ControlPlanePublicMode.d.ts +53 -0
- package/bin/cli/control-plane/ControlPlanePublicMode.d.ts.map +1 -0
- package/bin/cli/control-plane/ControlPlanePublicMode.js +106 -0
- package/bin/cli/control-plane/ControlPlanePublicMode.js.map +1 -0
- package/bin/cli/control-plane/ControlPlaneRuntime.d.ts.map +1 -1
- package/bin/cli/control-plane/ControlPlaneRuntime.js +8 -6
- package/bin/cli/control-plane/ControlPlaneRuntime.js.map +1 -1
- package/bin/cli/control-plane/ControlPlaneStatus.d.ts.map +1 -1
- package/bin/cli/control-plane/ControlPlaneStatus.js +22 -8
- package/bin/cli/control-plane/ControlPlaneStatus.js.map +1 -1
- package/bin/cli/model/ModelManageCommand.d.ts.map +1 -1
- package/bin/cli/model/ModelManageCommand.js +22 -18
- package/bin/cli/model/ModelManageCommand.js.map +1 -1
- package/bin/cli/model/ModelManager.d.ts +1 -1
- package/bin/cli/model/ModelManager.d.ts.map +1 -1
- package/bin/cli/model/ModelManager.js +378 -76
- package/bin/cli/model/ModelManager.js.map +1 -1
- package/bin/cli/model/ModelManagerTypes.d.ts +97 -3
- package/bin/cli/model/ModelManagerTypes.d.ts.map +1 -1
- package/bin/cli/model/ModelSupport.d.ts +1 -1
- package/bin/cli/model/ModelSupport.d.ts.map +1 -1
- package/bin/cli/model/ModelSupport.js +1 -1
- package/bin/cli/model/ModelSupport.js.map +1 -1
- package/bin/cli/shared/Chat.d.ts +1 -1
- package/bin/cli/shared/Chat.js +2 -2
- package/bin/cli/shared/Chat.js.map +1 -1
- package/bin/cli/shared/ChatManager.d.ts +1 -1
- package/bin/cli/shared/ChatManager.js +27 -27
- package/bin/cli/shared/ChatManager.js.map +1 -1
- package/bin/cli/shared/Config.js +1 -1
- package/bin/cli/shared/Config.js.map +1 -1
- package/bin/cli/shared/ManagedPluginActionCommands.d.ts +14 -0
- package/bin/cli/shared/ManagedPluginActionCommands.d.ts.map +1 -0
- package/bin/cli/{service/ServiceActionCommands.js → shared/ManagedPluginActionCommands.js} +60 -60
- package/bin/cli/shared/ManagedPluginActionCommands.js.map +1 -0
- package/bin/cli/shared/ManagedPluginRemote.d.ts +30 -0
- package/bin/cli/shared/ManagedPluginRemote.d.ts.map +1 -0
- package/bin/cli/{service/ServiceCommandRemote.js → shared/ManagedPluginRemote.js} +34 -34
- package/bin/cli/shared/ManagedPluginRemote.js.map +1 -0
- package/bin/cli/shared/PluginScheduleCommand.d.ts +36 -0
- package/bin/cli/shared/PluginScheduleCommand.d.ts.map +1 -0
- package/bin/cli/{service/ServiceScheduleCommand.js → shared/PluginScheduleCommand.js} +41 -41
- package/bin/cli/shared/PluginScheduleCommand.js.map +1 -0
- package/bin/cli/{service/ServiceCommandSupport.d.ts → shared/PluginTargetSupport.d.ts} +12 -12
- package/bin/cli/shared/PluginTargetSupport.d.ts.map +1 -0
- package/bin/cli/{service/ServiceCommandSupport.js → shared/PluginTargetSupport.js} +14 -14
- package/bin/cli/shared/PluginTargetSupport.js.map +1 -0
- package/bin/cli/shared/Plugins.d.ts.map +1 -1
- package/bin/cli/shared/Plugins.js +159 -30
- package/bin/cli/shared/Plugins.js.map +1 -1
- package/bin/cli/shared/PortHints.js +1 -1
- package/bin/cli/shared/PortHints.js.map +1 -1
- package/bin/config/DowncitySchema.d.ts.map +1 -1
- package/bin/config/DowncitySchema.js +2 -8
- package/bin/config/DowncitySchema.js.map +1 -1
- package/bin/config/Paths.d.ts +12 -10
- package/bin/config/Paths.d.ts.map +1 -1
- package/bin/config/Paths.js +23 -17
- package/bin/config/Paths.js.map +1 -1
- package/bin/control/AgentStatusApiRoutes.js +30 -30
- package/bin/control/AgentStatusApiRoutes.js.map +1 -1
- package/bin/control/ChannelAccountApiRoutes.js +6 -6
- package/bin/control/ControlGateway.js +2 -2
- package/bin/control/ControlGateway.js.map +1 -1
- package/bin/control/ModelApiRoutes.d.ts +1 -1
- package/bin/control/ModelApiRoutes.d.ts.map +1 -1
- package/bin/control/ModelApiRoutes.js +1 -1
- package/bin/control/ModelApiRoutes.js.map +1 -1
- package/bin/control/ModelPoolService.d.ts +4 -121
- package/bin/control/ModelPoolService.d.ts.map +1 -1
- package/bin/control/ModelPoolService.js +4 -322
- package/bin/control/ModelPoolService.js.map +1 -1
- package/bin/control/PluginApiRoutes.js +5 -5
- package/bin/control/PluginApiRoutes.js.map +1 -1
- package/bin/control/gateway/AgentActions.d.ts.map +1 -1
- package/bin/control/gateway/AgentActions.js +18 -3
- package/bin/control/gateway/AgentActions.js.map +1 -1
- package/bin/control/gateway/AgentCatalog.js +2 -2
- package/bin/control/gateway/AgentCatalog.js.map +1 -1
- package/bin/control/instant/InstantApiRoutes.d.ts +3 -3
- package/bin/control/instant/InstantApiRoutes.d.ts.map +1 -1
- package/bin/control/instant/InstantApiRoutes.js +5 -5
- package/bin/control/instant/InstantApiRoutes.js.map +1 -1
- package/bin/control/instant/{InstantSessionService.d.ts → InstantSessionRunner.d.ts} +7 -7
- package/bin/control/instant/InstantSessionRunner.d.ts.map +1 -0
- package/bin/control/instant/{InstantSessionService.js → InstantSessionRunner.js} +4 -4
- package/bin/control/instant/InstantSessionRunner.js.map +1 -0
- package/bin/http/auth/RoutePolicy.js +7 -7
- package/bin/http/auth/RoutePolicy.js.map +1 -1
- package/bin/model/service/ModelPoolService.d.ts +145 -0
- package/bin/model/service/ModelPoolService.d.ts.map +1 -0
- package/bin/model/service/ModelPoolService.js +424 -0
- package/bin/model/service/ModelPoolService.js.map +1 -0
- package/bin/process/daemon/Api.d.ts +2 -2
- package/bin/process/daemon/Api.js +1 -1
- package/bin/process/registry/AgentHostRuntime.d.ts +1 -1
- package/bin/process/registry/AgentHostRuntime.d.ts.map +1 -1
- package/bin/process/registry/AgentHostRuntime.js +85 -4
- package/bin/process/registry/AgentHostRuntime.js.map +1 -1
- package/package.json +2 -2
- package/src/cli/Index.ts +4 -6
- package/src/cli/agent/AgentChat.ts +1 -1
- package/src/cli/agent/AgentHistory.ts +6 -1
- package/src/cli/agent/AgentManager.ts +3 -3
- package/src/cli/agent/Init.ts +6 -6
- package/src/cli/agent/Restart.ts +1 -1
- package/src/cli/agent/Run.ts +6 -7
- package/src/cli/agent/Start.ts +1 -1
- package/src/cli/control-plane/ControlPlaneCommand.ts +28 -1
- package/src/cli/control-plane/ControlPlanePublicManager.ts +280 -0
- package/src/cli/control-plane/ControlPlanePublicMode.ts +141 -0
- package/src/cli/control-plane/ControlPlaneRuntime.ts +8 -6
- package/src/cli/control-plane/ControlPlaneStatus.ts +22 -8
- package/src/cli/model/ModelManageCommand.ts +23 -19
- package/src/cli/model/ModelManager.ts +419 -76
- package/src/cli/model/ModelManagerTypes.ts +82 -0
- package/src/cli/model/ModelSupport.ts +1 -1
- package/src/cli/shared/Chat.ts +2 -2
- package/src/cli/shared/ChatManager.ts +27 -27
- package/src/cli/shared/Config.ts +1 -1
- package/src/cli/{service/ServiceActionCommands.ts → shared/ManagedPluginActionCommands.ts} +75 -75
- package/src/cli/{service/ServiceCommandRemote.ts → shared/ManagedPluginRemote.ts} +47 -47
- package/src/cli/{service/ServiceScheduleCommand.ts → shared/PluginScheduleCommand.ts} +49 -49
- package/src/cli/{service/ServiceCommandSupport.ts → shared/PluginTargetSupport.ts} +14 -14
- package/src/cli/shared/Plugins.ts +195 -35
- package/src/cli/shared/PortHints.ts +1 -1
- package/src/config/DowncitySchema.ts +2 -8
- package/src/config/Paths.ts +55 -14
- package/src/control/AgentStatusApiRoutes.ts +35 -35
- package/src/control/ChannelAccountApiRoutes.ts +6 -6
- package/src/control/ControlGateway.ts +2 -2
- package/src/control/ModelApiRoutes.ts +1 -1
- package/src/control/ModelPoolService.ts +4 -390
- package/src/control/PluginApiRoutes.ts +5 -5
- package/src/control/gateway/AgentActions.ts +20 -5
- package/src/control/gateway/AgentCatalog.ts +2 -2
- package/src/control/instant/InstantApiRoutes.ts +8 -8
- package/src/control/instant/{InstantSessionService.ts → InstantSessionRunner.ts} +7 -7
- package/src/http/auth/RoutePolicy.ts +7 -7
- package/src/model/service/ModelPoolService.ts +525 -0
- package/src/process/daemon/Api.ts +2 -2
- package/src/process/registry/AgentHostRuntime.ts +95 -5
- package/bin/cli/service/ServiceActionCommands.d.ts +0 -14
- package/bin/cli/service/ServiceActionCommands.d.ts.map +0 -1
- package/bin/cli/service/ServiceActionCommands.js.map +0 -1
- package/bin/cli/service/ServiceCommandRemote.d.ts +0 -30
- package/bin/cli/service/ServiceCommandRemote.d.ts.map +0 -1
- package/bin/cli/service/ServiceCommandRemote.js.map +0 -1
- package/bin/cli/service/ServiceCommandSupport.d.ts.map +0 -1
- package/bin/cli/service/ServiceCommandSupport.js.map +0 -1
- package/bin/cli/service/ServiceScheduleCommand.d.ts +0 -36
- package/bin/cli/service/ServiceScheduleCommand.d.ts.map +0 -1
- package/bin/cli/service/ServiceScheduleCommand.js.map +0 -1
- package/bin/cli/service/Services.d.ts +0 -14
- package/bin/cli/service/Services.d.ts.map +0 -1
- package/bin/cli/service/Services.js +0 -154
- package/bin/cli/service/Services.js.map +0 -1
- package/bin/control/instant/InstantSessionService.d.ts.map +0 -1
- package/bin/control/instant/InstantSessionService.js.map +0 -1
- package/bin/process/registry/PluginRuntime.d.ts +0 -24
- package/bin/process/registry/PluginRuntime.d.ts.map +0 -1
- package/bin/process/registry/PluginRuntime.js +0 -31
- package/bin/process/registry/PluginRuntime.js.map +0 -1
- package/src/cli/service/Services.ts +0 -189
- package/src/process/registry/PluginRuntime.ts +0 -42
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 受 agent 托管的 plugin action CLI 注册器。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* - 仅处理 CLI 参数映射与远程调用,不承载
|
|
7
|
-
* -
|
|
5
|
+
* - 负责把需要运行中 agent 承载的 plugin actions 挂到 commander(`city <plugin> <action>`)。
|
|
6
|
+
* - 仅处理 CLI 参数映射与远程调用,不承载 plugin 状态机逻辑。
|
|
7
|
+
* - 命令注册表与调度时间解析统一复用 agent 包实现,避免 city 维护第二套事实源。
|
|
8
8
|
*/
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import { callAgentTransport,
|
|
10
|
+
import { callAgentTransport, listManagedPlugins, parseScheduledRunAtMsOrThrow, } from "@downcity/agent";
|
|
11
11
|
import { printResult } from "../../utils/cli/CliOutput.js";
|
|
12
|
-
import { parseBoolean, parsePort } from "
|
|
13
|
-
import {
|
|
14
|
-
const
|
|
12
|
+
import { parseBoolean, parsePort } from "./IndexSupport.js";
|
|
13
|
+
import { runManagedPluginControlCommand } from "./ManagedPluginRemote.js";
|
|
14
|
+
const CHAT_PLUGIN_HELP_TEXT = [
|
|
15
15
|
"",
|
|
16
16
|
"Chat quick guide:",
|
|
17
17
|
" 直接输出 assistant 文本会发送到当前 chat channel。",
|
|
@@ -61,7 +61,7 @@ function toJsonValue(input) {
|
|
|
61
61
|
}
|
|
62
62
|
return undefined;
|
|
63
63
|
}
|
|
64
|
-
function
|
|
64
|
+
function toPluginActionCommandOpts(options) {
|
|
65
65
|
const reservedKeys = new Set(["path", "host", "port", "token", "json", "delay", "time"]);
|
|
66
66
|
const normalized = {};
|
|
67
67
|
for (const [key, value] of Object.entries(options)) {
|
|
@@ -74,7 +74,7 @@ function toServiceActionCommandOpts(options) {
|
|
|
74
74
|
}
|
|
75
75
|
return normalized;
|
|
76
76
|
}
|
|
77
|
-
function
|
|
77
|
+
function toPluginCliBridgeOptions(options) {
|
|
78
78
|
return {
|
|
79
79
|
path: typeof options.path === "string" ? options.path : ".",
|
|
80
80
|
host: typeof options.host === "string" ? options.host : undefined,
|
|
@@ -83,7 +83,7 @@ function toServiceCliBridgeOptions(options) {
|
|
|
83
83
|
json: options.json !== false,
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
-
function
|
|
86
|
+
function flattenPluginActionCommandArgs(values) {
|
|
87
87
|
const out = [];
|
|
88
88
|
const pushValue = (value) => {
|
|
89
89
|
if (value === undefined || value === null)
|
|
@@ -132,24 +132,24 @@ function extractCommandScheduleInput(options) {
|
|
|
132
132
|
return undefined;
|
|
133
133
|
return { runAtMs };
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function registerPluginActionCommand(params) {
|
|
136
136
|
const commandSpec = params.action.command;
|
|
137
137
|
if (!commandSpec)
|
|
138
138
|
return;
|
|
139
|
-
const
|
|
139
|
+
const pluginCommand = params.program.commands.find((item) => item.name() === params.plugin.name) ||
|
|
140
140
|
params.program
|
|
141
|
-
.command(params.
|
|
142
|
-
.description(`${params.
|
|
141
|
+
.command(params.plugin.name)
|
|
142
|
+
.description(`${params.plugin.name} plugin actions`)
|
|
143
143
|
.helpOption("--help", "display help for command");
|
|
144
|
-
if (params.
|
|
145
|
-
!
|
|
146
|
-
const chatCommand =
|
|
144
|
+
if (params.plugin.name === "chat" &&
|
|
145
|
+
!pluginCommand[CHAT_HELP_HOOK_ATTACHED]) {
|
|
146
|
+
const chatCommand = pluginCommand;
|
|
147
147
|
chatCommand.on("--help", () => {
|
|
148
|
-
console.log(
|
|
148
|
+
console.log(CHAT_PLUGIN_HELP_TEXT);
|
|
149
149
|
});
|
|
150
150
|
chatCommand[CHAT_HELP_HOOK_ATTACHED] = true;
|
|
151
151
|
}
|
|
152
|
-
const actionCommand =
|
|
152
|
+
const actionCommand = pluginCommand
|
|
153
153
|
.command(params.actionName)
|
|
154
154
|
.description(commandSpec.description)
|
|
155
155
|
.helpOption("--help", "display help for command")
|
|
@@ -160,16 +160,16 @@ function registerServiceActionCommand(params) {
|
|
|
160
160
|
.option("--json [enabled]", "以 JSON 输出", parseBoolean, true);
|
|
161
161
|
commandSpec.configure?.(actionCommand);
|
|
162
162
|
if (!hasLongOption(actionCommand, "--delay")) {
|
|
163
|
-
actionCommand.option("--delay <ms>", "延迟执行毫秒数(所有
|
|
163
|
+
actionCommand.option("--delay <ms>", "延迟执行毫秒数(所有 plugin action 通用)");
|
|
164
164
|
}
|
|
165
165
|
if (!hasLongOption(actionCommand, "--time")) {
|
|
166
|
-
actionCommand.option("--time <time>", "定时执行时间(Unix 时间戳秒/毫秒或 ISO 时间,所有
|
|
166
|
+
actionCommand.option("--time <time>", "定时执行时间(Unix 时间戳秒/毫秒或 ISO 时间,所有 plugin action 通用)");
|
|
167
167
|
}
|
|
168
168
|
actionCommand.action(async (...rawArgs) => {
|
|
169
169
|
const last = rawArgs.at(-1);
|
|
170
170
|
const commandLike = isCommanderCommandLike(last) ? last : null;
|
|
171
171
|
const positionalArgs = commandLike
|
|
172
|
-
?
|
|
172
|
+
? flattenPluginActionCommandArgs(Array.isArray(commandLike.processedArgs)
|
|
173
173
|
? commandLike.processedArgs
|
|
174
174
|
: [])
|
|
175
175
|
: (() => {
|
|
@@ -177,7 +177,7 @@ function registerServiceActionCommand(params) {
|
|
|
177
177
|
const fallbackPositional = isPlainOptionsObject(fallbackLast)
|
|
178
178
|
? rawArgs.slice(0, -1)
|
|
179
179
|
: rawArgs;
|
|
180
|
-
return
|
|
180
|
+
return flattenPluginActionCommandArgs(fallbackPositional);
|
|
181
181
|
})();
|
|
182
182
|
const allOptions = commandLike
|
|
183
183
|
? (commandLike.opts() || {})
|
|
@@ -185,8 +185,8 @@ function registerServiceActionCommand(params) {
|
|
|
185
185
|
const fallbackLast = rawArgs.at(-1);
|
|
186
186
|
return isPlainOptionsObject(fallbackLast) ? fallbackLast : {};
|
|
187
187
|
})();
|
|
188
|
-
const actionOptions =
|
|
189
|
-
const bridgeOptions =
|
|
188
|
+
const actionOptions = toPluginActionCommandOpts(allOptions);
|
|
189
|
+
const bridgeOptions = toPluginCliBridgeOptions(allOptions);
|
|
190
190
|
let schedule;
|
|
191
191
|
try {
|
|
192
192
|
schedule = extractCommandScheduleInput(allOptions);
|
|
@@ -195,7 +195,7 @@ function registerServiceActionCommand(params) {
|
|
|
195
195
|
printResult({
|
|
196
196
|
asJson: bridgeOptions.json,
|
|
197
197
|
success: false,
|
|
198
|
-
title: `${params.
|
|
198
|
+
title: `${params.plugin.name}.${params.actionName} failed`,
|
|
199
199
|
payload: {
|
|
200
200
|
error: `Failed to parse schedule input: ${String(error)}`,
|
|
201
201
|
},
|
|
@@ -213,7 +213,7 @@ function registerServiceActionCommand(params) {
|
|
|
213
213
|
printResult({
|
|
214
214
|
asJson: bridgeOptions.json,
|
|
215
215
|
success: false,
|
|
216
|
-
title: `${params.
|
|
216
|
+
title: `${params.plugin.name}.${params.actionName} failed`,
|
|
217
217
|
payload: {
|
|
218
218
|
error: `Failed to parse command input: ${String(error)}`,
|
|
219
219
|
},
|
|
@@ -222,13 +222,13 @@ function registerServiceActionCommand(params) {
|
|
|
222
222
|
}
|
|
223
223
|
const remote = await callAgentTransport({
|
|
224
224
|
projectRoot: resolveProjectRoot(bridgeOptions.path),
|
|
225
|
-
path: "/api/
|
|
225
|
+
path: "/api/plugins/command",
|
|
226
226
|
method: "POST",
|
|
227
227
|
host: bridgeOptions.host,
|
|
228
228
|
port: bridgeOptions.port,
|
|
229
229
|
authToken: bridgeOptions.token,
|
|
230
230
|
body: {
|
|
231
|
-
|
|
231
|
+
pluginName: params.plugin.name,
|
|
232
232
|
command: params.actionName,
|
|
233
233
|
payload,
|
|
234
234
|
...(schedule ? { schedule } : {}),
|
|
@@ -240,8 +240,8 @@ function registerServiceActionCommand(params) {
|
|
|
240
240
|
asJson: bridgeOptions.json,
|
|
241
241
|
success: Boolean(data.success),
|
|
242
242
|
title: data.success
|
|
243
|
-
? `${params.
|
|
244
|
-
: `${params.
|
|
243
|
+
? `${params.plugin.name}.${params.actionName} ok`
|
|
244
|
+
: `${params.plugin.name}.${params.actionName} failed`,
|
|
245
245
|
payload: {
|
|
246
246
|
...(data.data !== undefined ? { data: data.data } : {}),
|
|
247
247
|
...(data.message ? { message: data.message } : {}),
|
|
@@ -253,17 +253,17 @@ function registerServiceActionCommand(params) {
|
|
|
253
253
|
printResult({
|
|
254
254
|
asJson: bridgeOptions.json,
|
|
255
255
|
success: false,
|
|
256
|
-
title: `${params.
|
|
256
|
+
title: `${params.plugin.name}.${params.actionName} failed`,
|
|
257
257
|
payload: {
|
|
258
258
|
error: remote.error || "Unknown error",
|
|
259
259
|
},
|
|
260
260
|
});
|
|
261
261
|
});
|
|
262
262
|
}
|
|
263
|
-
function
|
|
263
|
+
function hasPluginSubcommand(command, name) {
|
|
264
264
|
return command.commands.some((item) => item.name() === name);
|
|
265
265
|
}
|
|
266
|
-
function
|
|
266
|
+
function attachPluginLifecycleOptions(command) {
|
|
267
267
|
return command
|
|
268
268
|
.option("--path <path>", "项目根目录(默认当前目录)", ".")
|
|
269
269
|
.option("--host <host>", "Server host(覆盖自动解析)")
|
|
@@ -271,47 +271,47 @@ function attachServiceLifecycleOptions(command) {
|
|
|
271
271
|
.option("--token <token>", "覆盖 Bearer Token(仅远程 HTTP 调用需要;默认本地走 IPC)")
|
|
272
272
|
.option("--json [enabled]", "以 JSON 输出", parseBoolean, true);
|
|
273
273
|
}
|
|
274
|
-
function
|
|
275
|
-
if (!params.
|
|
274
|
+
function registerPluginLifecycleCommands(params) {
|
|
275
|
+
if (!params.plugin.lifecycle?.start && !params.plugin.lifecycle?.stop) {
|
|
276
276
|
return;
|
|
277
277
|
}
|
|
278
|
-
const
|
|
278
|
+
const pluginCommand = params.program.commands.find((item) => item.name() === params.plugin.name) ||
|
|
279
279
|
params.program
|
|
280
|
-
.command(params.
|
|
281
|
-
.description(`${params.
|
|
280
|
+
.command(params.plugin.name)
|
|
281
|
+
.description(`${params.plugin.name} plugin actions`)
|
|
282
282
|
.helpOption("--help", "display help for command");
|
|
283
283
|
const lifecycleCommands = [
|
|
284
284
|
{
|
|
285
285
|
name: "start",
|
|
286
|
-
description: `启动 ${params.
|
|
286
|
+
description: `启动 ${params.plugin.name} plugin`,
|
|
287
287
|
action: "start",
|
|
288
288
|
},
|
|
289
289
|
{
|
|
290
290
|
name: "stop",
|
|
291
|
-
description: `停止 ${params.
|
|
291
|
+
description: `停止 ${params.plugin.name} plugin`,
|
|
292
292
|
action: "stop",
|
|
293
293
|
},
|
|
294
294
|
{
|
|
295
295
|
name: "restart",
|
|
296
|
-
description: `重启 ${params.
|
|
296
|
+
description: `重启 ${params.plugin.name} plugin`,
|
|
297
297
|
action: "restart",
|
|
298
298
|
},
|
|
299
299
|
{
|
|
300
300
|
name: "status",
|
|
301
|
-
description: `查看 ${params.
|
|
301
|
+
description: `查看 ${params.plugin.name} plugin 运行状态`,
|
|
302
302
|
action: "status",
|
|
303
303
|
},
|
|
304
304
|
];
|
|
305
305
|
for (const item of lifecycleCommands) {
|
|
306
|
-
if (
|
|
306
|
+
if (hasPluginSubcommand(pluginCommand, item.name)) {
|
|
307
307
|
continue;
|
|
308
308
|
}
|
|
309
|
-
|
|
309
|
+
attachPluginLifecycleOptions(pluginCommand
|
|
310
310
|
.command(item.name)
|
|
311
311
|
.description(item.description)
|
|
312
312
|
.helpOption("--help", "display help for command")).action(async (options) => {
|
|
313
|
-
await
|
|
314
|
-
|
|
313
|
+
await runManagedPluginControlCommand({
|
|
314
|
+
pluginName: params.plugin.name,
|
|
315
315
|
action: item.action,
|
|
316
316
|
options,
|
|
317
317
|
});
|
|
@@ -319,25 +319,25 @@ function registerServiceLifecycleCommands(params) {
|
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
321
|
/**
|
|
322
|
-
*
|
|
322
|
+
* 注册所有受 agent 托管的 plugin actions CLI 命令。
|
|
323
323
|
*/
|
|
324
|
-
export function
|
|
325
|
-
const
|
|
326
|
-
for (const
|
|
327
|
-
for (const [actionName, action] of Object.entries(
|
|
328
|
-
|
|
324
|
+
export function registerManagedPluginCommandsForCli(program) {
|
|
325
|
+
const plugins = listManagedPlugins();
|
|
326
|
+
for (const plugin of plugins) {
|
|
327
|
+
for (const [actionName, action] of Object.entries(plugin.actions)) {
|
|
328
|
+
registerPluginActionCommand({
|
|
329
329
|
program,
|
|
330
|
-
|
|
330
|
+
plugin,
|
|
331
331
|
actionName,
|
|
332
|
-
action,
|
|
332
|
+
action: action,
|
|
333
333
|
});
|
|
334
334
|
}
|
|
335
335
|
}
|
|
336
|
-
for (const
|
|
337
|
-
|
|
336
|
+
for (const plugin of plugins) {
|
|
337
|
+
registerPluginLifecycleCommands({
|
|
338
338
|
program,
|
|
339
|
-
|
|
339
|
+
plugin,
|
|
340
340
|
});
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
|
-
//# sourceMappingURL=
|
|
343
|
+
//# sourceMappingURL=ManagedPluginActionCommands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManagedPluginActionCommands.js","sourceRoot":"","sources":["../../../src/cli/shared/ManagedPluginActionCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `city plugin` 运行态远程 Agent server 调用辅助。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 统一处理 list/control/command 三类需要访问 Agent server 的命令。
|
|
6
|
+
* - 这里不负责命令注册,只负责 transport 调用与结果输出。
|
|
7
|
+
*/
|
|
8
|
+
import type { PluginCliBaseOptions, PluginControlAction } from "@downcity/agent";
|
|
9
|
+
/**
|
|
10
|
+
* 执行 `plugin list`。
|
|
11
|
+
*/
|
|
12
|
+
export declare function runManagedPluginListCommand(options: PluginCliBaseOptions): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* 执行 `plugin status/start/stop/restart`。
|
|
15
|
+
*/
|
|
16
|
+
export declare function runManagedPluginControlCommand(params: {
|
|
17
|
+
pluginName: string;
|
|
18
|
+
action: PluginControlAction;
|
|
19
|
+
options: PluginCliBaseOptions;
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* 执行 `plugin command` 桥接。
|
|
23
|
+
*/
|
|
24
|
+
export declare function runManagedPluginCommandBridge(params: {
|
|
25
|
+
pluginName: string;
|
|
26
|
+
command: string;
|
|
27
|
+
payloadRaw?: string;
|
|
28
|
+
options: PluginCliBaseOptions;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
//# sourceMappingURL=ManagedPluginRemote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManagedPluginRemote.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/ManagedPluginRemote.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,oBAAoB,EAEpB,mBAAmB,EAGpB,MAAM,iBAAiB,CAAC;AASzB;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD9F;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAAC,MAAM,EAAE;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,oBAAoB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DhB;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,MAAM,EAAE;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,oBAAoB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEhB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `city
|
|
2
|
+
* `city plugin` 运行态远程 Agent server 调用辅助。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - 统一处理 list/control/command 三类需要访问 Agent server 的命令。
|
|
@@ -7,18 +7,18 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { callAgentTransport } from "@downcity/agent";
|
|
9
9
|
import { printResult } from "../../utils/cli/CliOutput.js";
|
|
10
|
-
import { parseCommandPayload,
|
|
11
|
-
const
|
|
10
|
+
import { parseCommandPayload, resolvePluginProjectRoot, validateAgentProjectRoot, } from "./PluginTargetSupport.js";
|
|
11
|
+
const PLUGIN_COMMAND_TIMEOUT_MS = 120_000;
|
|
12
12
|
/**
|
|
13
|
-
* 执行 `
|
|
13
|
+
* 执行 `plugin list`。
|
|
14
14
|
*/
|
|
15
|
-
export async function
|
|
16
|
-
const resolved = await
|
|
15
|
+
export async function runManagedPluginListCommand(options) {
|
|
16
|
+
const resolved = await resolvePluginProjectRoot(options);
|
|
17
17
|
if (!resolved.projectRoot) {
|
|
18
18
|
printResult({
|
|
19
19
|
asJson: options.json,
|
|
20
20
|
success: false,
|
|
21
|
-
title: "
|
|
21
|
+
title: "plugin list failed",
|
|
22
22
|
payload: {
|
|
23
23
|
error: resolved.error || "Failed to resolve agent project path",
|
|
24
24
|
},
|
|
@@ -31,7 +31,7 @@ export async function runServiceListCommand(options) {
|
|
|
31
31
|
printResult({
|
|
32
32
|
asJson: options.json,
|
|
33
33
|
success: false,
|
|
34
|
-
title: "
|
|
34
|
+
title: "plugin list failed",
|
|
35
35
|
payload: {
|
|
36
36
|
error: pathError,
|
|
37
37
|
},
|
|
@@ -40,7 +40,7 @@ export async function runServiceListCommand(options) {
|
|
|
40
40
|
}
|
|
41
41
|
const remote = await callAgentTransport({
|
|
42
42
|
projectRoot,
|
|
43
|
-
path: "/api/
|
|
43
|
+
path: "/api/plugins/list",
|
|
44
44
|
method: "GET",
|
|
45
45
|
host: options.host,
|
|
46
46
|
port: options.port,
|
|
@@ -50,9 +50,9 @@ export async function runServiceListCommand(options) {
|
|
|
50
50
|
printResult({
|
|
51
51
|
asJson: options.json,
|
|
52
52
|
success: Boolean(remote.data.success),
|
|
53
|
-
title: remote.data.success ? "
|
|
53
|
+
title: remote.data.success ? "plugin listed" : "plugin list failed",
|
|
54
54
|
payload: {
|
|
55
|
-
...(Array.isArray(remote.data.
|
|
55
|
+
...(Array.isArray(remote.data.plugins) ? { plugins: remote.data.plugins } : {}),
|
|
56
56
|
...(remote.data.error ? { error: remote.data.error } : {}),
|
|
57
57
|
},
|
|
58
58
|
});
|
|
@@ -61,22 +61,22 @@ export async function runServiceListCommand(options) {
|
|
|
61
61
|
printResult({
|
|
62
62
|
asJson: options.json,
|
|
63
63
|
success: false,
|
|
64
|
-
title: "
|
|
64
|
+
title: "plugin list failed",
|
|
65
65
|
payload: {
|
|
66
66
|
error: remote.error || "Unknown error",
|
|
67
67
|
},
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
|
-
* 执行 `
|
|
71
|
+
* 执行 `plugin status/start/stop/restart`。
|
|
72
72
|
*/
|
|
73
|
-
export async function
|
|
74
|
-
const resolved = await
|
|
73
|
+
export async function runManagedPluginControlCommand(params) {
|
|
74
|
+
const resolved = await resolvePluginProjectRoot(params.options);
|
|
75
75
|
if (!resolved.projectRoot) {
|
|
76
76
|
printResult({
|
|
77
77
|
asJson: params.options.json,
|
|
78
78
|
success: false,
|
|
79
|
-
title: `
|
|
79
|
+
title: `plugin ${params.action} failed`,
|
|
80
80
|
payload: {
|
|
81
81
|
error: resolved.error || "Failed to resolve agent project path",
|
|
82
82
|
},
|
|
@@ -89,7 +89,7 @@ export async function runServiceControlCommand(params) {
|
|
|
89
89
|
printResult({
|
|
90
90
|
asJson: params.options.json,
|
|
91
91
|
success: false,
|
|
92
|
-
title: `
|
|
92
|
+
title: `plugin ${params.action} failed`,
|
|
93
93
|
payload: {
|
|
94
94
|
error: pathError,
|
|
95
95
|
},
|
|
@@ -98,13 +98,13 @@ export async function runServiceControlCommand(params) {
|
|
|
98
98
|
}
|
|
99
99
|
const remote = await callAgentTransport({
|
|
100
100
|
projectRoot,
|
|
101
|
-
path: "/api/
|
|
101
|
+
path: "/api/plugins/control",
|
|
102
102
|
method: "POST",
|
|
103
103
|
host: params.options.host,
|
|
104
104
|
port: params.options.port,
|
|
105
105
|
authToken: params.options.token,
|
|
106
106
|
body: {
|
|
107
|
-
|
|
107
|
+
pluginName: params.pluginName,
|
|
108
108
|
action: params.action,
|
|
109
109
|
},
|
|
110
110
|
});
|
|
@@ -112,9 +112,9 @@ export async function runServiceControlCommand(params) {
|
|
|
112
112
|
printResult({
|
|
113
113
|
asJson: params.options.json,
|
|
114
114
|
success: Boolean(remote.data.success),
|
|
115
|
-
title: remote.data.success ? `
|
|
115
|
+
title: remote.data.success ? `plugin ${params.action} ok` : `plugin ${params.action} failed`,
|
|
116
116
|
payload: {
|
|
117
|
-
...(remote.data.
|
|
117
|
+
...(remote.data.plugin ? { plugin: remote.data.plugin } : {}),
|
|
118
118
|
...(remote.data.error ? { error: remote.data.error } : {}),
|
|
119
119
|
},
|
|
120
120
|
});
|
|
@@ -123,22 +123,22 @@ export async function runServiceControlCommand(params) {
|
|
|
123
123
|
printResult({
|
|
124
124
|
asJson: params.options.json,
|
|
125
125
|
success: false,
|
|
126
|
-
title: `
|
|
126
|
+
title: `plugin ${params.action} failed`,
|
|
127
127
|
payload: {
|
|
128
128
|
error: remote.error || "Unknown error",
|
|
129
129
|
},
|
|
130
130
|
});
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
133
|
-
* 执行 `
|
|
133
|
+
* 执行 `plugin command` 桥接。
|
|
134
134
|
*/
|
|
135
|
-
export async function
|
|
136
|
-
const resolved = await
|
|
135
|
+
export async function runManagedPluginCommandBridge(params) {
|
|
136
|
+
const resolved = await resolvePluginProjectRoot(params.options);
|
|
137
137
|
if (!resolved.projectRoot) {
|
|
138
138
|
printResult({
|
|
139
139
|
asJson: params.options.json,
|
|
140
140
|
success: false,
|
|
141
|
-
title: "
|
|
141
|
+
title: "plugin command failed",
|
|
142
142
|
payload: {
|
|
143
143
|
error: resolved.error || "Failed to resolve agent project path",
|
|
144
144
|
},
|
|
@@ -151,7 +151,7 @@ export async function runServiceCommandBridge(params) {
|
|
|
151
151
|
printResult({
|
|
152
152
|
asJson: params.options.json,
|
|
153
153
|
success: false,
|
|
154
|
-
title: "
|
|
154
|
+
title: "plugin command failed",
|
|
155
155
|
payload: {
|
|
156
156
|
error: pathError,
|
|
157
157
|
},
|
|
@@ -160,14 +160,14 @@ export async function runServiceCommandBridge(params) {
|
|
|
160
160
|
}
|
|
161
161
|
const remote = await callAgentTransport({
|
|
162
162
|
projectRoot,
|
|
163
|
-
path: "/api/
|
|
163
|
+
path: "/api/plugins/command",
|
|
164
164
|
method: "POST",
|
|
165
|
-
timeoutMs:
|
|
165
|
+
timeoutMs: PLUGIN_COMMAND_TIMEOUT_MS,
|
|
166
166
|
host: params.options.host,
|
|
167
167
|
port: params.options.port,
|
|
168
168
|
authToken: params.options.token,
|
|
169
169
|
body: {
|
|
170
|
-
|
|
170
|
+
pluginName: params.pluginName,
|
|
171
171
|
command: params.command,
|
|
172
172
|
...(params.payloadRaw !== undefined
|
|
173
173
|
? { payload: parseCommandPayload(params.payloadRaw) }
|
|
@@ -178,9 +178,9 @@ export async function runServiceCommandBridge(params) {
|
|
|
178
178
|
printResult({
|
|
179
179
|
asJson: params.options.json,
|
|
180
180
|
success: Boolean(remote.data.success),
|
|
181
|
-
title: remote.data.success ? "
|
|
181
|
+
title: remote.data.success ? "plugin command ok" : "plugin command failed",
|
|
182
182
|
payload: {
|
|
183
|
-
...(remote.data.
|
|
183
|
+
...(remote.data.plugin ? { plugin: remote.data.plugin } : {}),
|
|
184
184
|
...(remote.data.message ? { message: remote.data.message } : {}),
|
|
185
185
|
...(remote.data.data !== undefined ? { data: remote.data.data } : {}),
|
|
186
186
|
...(remote.data.error ? { error: remote.data.error } : {}),
|
|
@@ -191,10 +191,10 @@ export async function runServiceCommandBridge(params) {
|
|
|
191
191
|
printResult({
|
|
192
192
|
asJson: params.options.json,
|
|
193
193
|
success: false,
|
|
194
|
-
title: "
|
|
194
|
+
title: "plugin command failed",
|
|
195
195
|
payload: {
|
|
196
196
|
error: remote.error || "Unknown error",
|
|
197
197
|
},
|
|
198
198
|
});
|
|
199
199
|
}
|
|
200
|
-
//# sourceMappingURL=
|
|
200
|
+
//# sourceMappingURL=ManagedPluginRemote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManagedPluginRemote.js","sourceRoot":"","sources":["../../../src/cli/shared/ManagedPluginRemote.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `city plugin schedule` 命令。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - schedule 管理命令只依赖项目本地 schedule SQLite,不要求 runtime 在线。
|
|
6
|
+
* - 这里同时承载 schedule 子命令注册与本地存储读写流程。
|
|
7
|
+
*/
|
|
8
|
+
import type { Command } from "commander";
|
|
9
|
+
import type { PluginCliBaseOptions } from "@downcity/agent";
|
|
10
|
+
/**
|
|
11
|
+
* 执行 `plugin schedule list`。
|
|
12
|
+
*/
|
|
13
|
+
export declare function runPluginScheduleListCommand(params: {
|
|
14
|
+
options: PluginCliBaseOptions;
|
|
15
|
+
statusRaw?: string;
|
|
16
|
+
limitRaw?: string;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* 执行 `plugin schedule info`。
|
|
20
|
+
*/
|
|
21
|
+
export declare function runPluginScheduleInfoCommand(params: {
|
|
22
|
+
jobId: string;
|
|
23
|
+
options: PluginCliBaseOptions;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* 执行 `plugin schedule cancel`。
|
|
27
|
+
*/
|
|
28
|
+
export declare function runPluginScheduleCancelCommand(params: {
|
|
29
|
+
jobId: string;
|
|
30
|
+
options: PluginCliBaseOptions;
|
|
31
|
+
}): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* 注册 `plugin schedule` 子命令组。
|
|
34
|
+
*/
|
|
35
|
+
export declare function registerPluginScheduleCommands(plugin: Command): void;
|
|
36
|
+
//# sourceMappingURL=PluginScheduleCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginScheduleCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/PluginScheduleCommand.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAS5D;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,MAAM,EAAE;IACzD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DhB;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,MAAM,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,oBAAoB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEhB;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAAC,MAAM,EAAE;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,oBAAoB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FhB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAyCpE"}
|