@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.
Files changed (192) hide show
  1. package/README.md +5 -11
  2. package/bin/cli/Index.d.ts +1 -1
  3. package/bin/cli/Index.js +4 -6
  4. package/bin/cli/Index.js.map +1 -1
  5. package/bin/cli/agent/AgentChat.js +1 -1
  6. package/bin/cli/agent/AgentChat.js.map +1 -1
  7. package/bin/cli/agent/AgentHistory.d.ts.map +1 -1
  8. package/bin/cli/agent/AgentHistory.js +2 -1
  9. package/bin/cli/agent/AgentHistory.js.map +1 -1
  10. package/bin/cli/agent/AgentManager.js +3 -3
  11. package/bin/cli/agent/AgentManager.js.map +1 -1
  12. package/bin/cli/agent/Init.js +6 -6
  13. package/bin/cli/agent/Init.js.map +1 -1
  14. package/bin/cli/agent/Restart.js +1 -1
  15. package/bin/cli/agent/Restart.js.map +1 -1
  16. package/bin/cli/agent/Run.d.ts.map +1 -1
  17. package/bin/cli/agent/Run.js +6 -7
  18. package/bin/cli/agent/Run.js.map +1 -1
  19. package/bin/cli/agent/Start.js +1 -1
  20. package/bin/cli/agent/Start.js.map +1 -1
  21. package/bin/cli/control-plane/ControlPlaneCommand.d.ts.map +1 -1
  22. package/bin/cli/control-plane/ControlPlaneCommand.js +19 -1
  23. package/bin/cli/control-plane/ControlPlaneCommand.js.map +1 -1
  24. package/bin/cli/control-plane/ControlPlanePublicManager.d.ts +17 -0
  25. package/bin/cli/control-plane/ControlPlanePublicManager.d.ts.map +1 -0
  26. package/bin/cli/control-plane/ControlPlanePublicManager.js +229 -0
  27. package/bin/cli/control-plane/ControlPlanePublicManager.js.map +1 -0
  28. package/bin/cli/control-plane/ControlPlanePublicMode.d.ts +53 -0
  29. package/bin/cli/control-plane/ControlPlanePublicMode.d.ts.map +1 -0
  30. package/bin/cli/control-plane/ControlPlanePublicMode.js +106 -0
  31. package/bin/cli/control-plane/ControlPlanePublicMode.js.map +1 -0
  32. package/bin/cli/control-plane/ControlPlaneRuntime.d.ts.map +1 -1
  33. package/bin/cli/control-plane/ControlPlaneRuntime.js +8 -6
  34. package/bin/cli/control-plane/ControlPlaneRuntime.js.map +1 -1
  35. package/bin/cli/control-plane/ControlPlaneStatus.d.ts.map +1 -1
  36. package/bin/cli/control-plane/ControlPlaneStatus.js +22 -8
  37. package/bin/cli/control-plane/ControlPlaneStatus.js.map +1 -1
  38. package/bin/cli/model/ModelManageCommand.d.ts.map +1 -1
  39. package/bin/cli/model/ModelManageCommand.js +22 -18
  40. package/bin/cli/model/ModelManageCommand.js.map +1 -1
  41. package/bin/cli/model/ModelManager.d.ts +1 -1
  42. package/bin/cli/model/ModelManager.d.ts.map +1 -1
  43. package/bin/cli/model/ModelManager.js +378 -76
  44. package/bin/cli/model/ModelManager.js.map +1 -1
  45. package/bin/cli/model/ModelManagerTypes.d.ts +97 -3
  46. package/bin/cli/model/ModelManagerTypes.d.ts.map +1 -1
  47. package/bin/cli/model/ModelSupport.d.ts +1 -1
  48. package/bin/cli/model/ModelSupport.d.ts.map +1 -1
  49. package/bin/cli/model/ModelSupport.js +1 -1
  50. package/bin/cli/model/ModelSupport.js.map +1 -1
  51. package/bin/cli/shared/Chat.d.ts +1 -1
  52. package/bin/cli/shared/Chat.js +2 -2
  53. package/bin/cli/shared/Chat.js.map +1 -1
  54. package/bin/cli/shared/ChatManager.d.ts +1 -1
  55. package/bin/cli/shared/ChatManager.js +27 -27
  56. package/bin/cli/shared/ChatManager.js.map +1 -1
  57. package/bin/cli/shared/Config.js +1 -1
  58. package/bin/cli/shared/Config.js.map +1 -1
  59. package/bin/cli/shared/ManagedPluginActionCommands.d.ts +14 -0
  60. package/bin/cli/shared/ManagedPluginActionCommands.d.ts.map +1 -0
  61. package/bin/cli/{service/ServiceActionCommands.js → shared/ManagedPluginActionCommands.js} +60 -60
  62. package/bin/cli/shared/ManagedPluginActionCommands.js.map +1 -0
  63. package/bin/cli/shared/ManagedPluginRemote.d.ts +30 -0
  64. package/bin/cli/shared/ManagedPluginRemote.d.ts.map +1 -0
  65. package/bin/cli/{service/ServiceCommandRemote.js → shared/ManagedPluginRemote.js} +34 -34
  66. package/bin/cli/shared/ManagedPluginRemote.js.map +1 -0
  67. package/bin/cli/shared/PluginScheduleCommand.d.ts +36 -0
  68. package/bin/cli/shared/PluginScheduleCommand.d.ts.map +1 -0
  69. package/bin/cli/{service/ServiceScheduleCommand.js → shared/PluginScheduleCommand.js} +41 -41
  70. package/bin/cli/shared/PluginScheduleCommand.js.map +1 -0
  71. package/bin/cli/{service/ServiceCommandSupport.d.ts → shared/PluginTargetSupport.d.ts} +12 -12
  72. package/bin/cli/shared/PluginTargetSupport.d.ts.map +1 -0
  73. package/bin/cli/{service/ServiceCommandSupport.js → shared/PluginTargetSupport.js} +14 -14
  74. package/bin/cli/shared/PluginTargetSupport.js.map +1 -0
  75. package/bin/cli/shared/Plugins.d.ts.map +1 -1
  76. package/bin/cli/shared/Plugins.js +159 -30
  77. package/bin/cli/shared/Plugins.js.map +1 -1
  78. package/bin/cli/shared/PortHints.js +1 -1
  79. package/bin/cli/shared/PortHints.js.map +1 -1
  80. package/bin/config/DowncitySchema.d.ts.map +1 -1
  81. package/bin/config/DowncitySchema.js +2 -8
  82. package/bin/config/DowncitySchema.js.map +1 -1
  83. package/bin/config/Paths.d.ts +12 -10
  84. package/bin/config/Paths.d.ts.map +1 -1
  85. package/bin/config/Paths.js +23 -17
  86. package/bin/config/Paths.js.map +1 -1
  87. package/bin/control/AgentStatusApiRoutes.js +30 -30
  88. package/bin/control/AgentStatusApiRoutes.js.map +1 -1
  89. package/bin/control/ChannelAccountApiRoutes.js +6 -6
  90. package/bin/control/ControlGateway.js +2 -2
  91. package/bin/control/ControlGateway.js.map +1 -1
  92. package/bin/control/ModelApiRoutes.d.ts +1 -1
  93. package/bin/control/ModelApiRoutes.d.ts.map +1 -1
  94. package/bin/control/ModelApiRoutes.js +1 -1
  95. package/bin/control/ModelApiRoutes.js.map +1 -1
  96. package/bin/control/ModelPoolService.d.ts +4 -121
  97. package/bin/control/ModelPoolService.d.ts.map +1 -1
  98. package/bin/control/ModelPoolService.js +4 -322
  99. package/bin/control/ModelPoolService.js.map +1 -1
  100. package/bin/control/PluginApiRoutes.js +5 -5
  101. package/bin/control/PluginApiRoutes.js.map +1 -1
  102. package/bin/control/gateway/AgentActions.d.ts.map +1 -1
  103. package/bin/control/gateway/AgentActions.js +18 -3
  104. package/bin/control/gateway/AgentActions.js.map +1 -1
  105. package/bin/control/gateway/AgentCatalog.js +2 -2
  106. package/bin/control/gateway/AgentCatalog.js.map +1 -1
  107. package/bin/control/instant/InstantApiRoutes.d.ts +3 -3
  108. package/bin/control/instant/InstantApiRoutes.d.ts.map +1 -1
  109. package/bin/control/instant/InstantApiRoutes.js +5 -5
  110. package/bin/control/instant/InstantApiRoutes.js.map +1 -1
  111. package/bin/control/instant/{InstantSessionService.d.ts → InstantSessionRunner.d.ts} +7 -7
  112. package/bin/control/instant/InstantSessionRunner.d.ts.map +1 -0
  113. package/bin/control/instant/{InstantSessionService.js → InstantSessionRunner.js} +4 -4
  114. package/bin/control/instant/InstantSessionRunner.js.map +1 -0
  115. package/bin/http/auth/RoutePolicy.js +7 -7
  116. package/bin/http/auth/RoutePolicy.js.map +1 -1
  117. package/bin/model/service/ModelPoolService.d.ts +145 -0
  118. package/bin/model/service/ModelPoolService.d.ts.map +1 -0
  119. package/bin/model/service/ModelPoolService.js +424 -0
  120. package/bin/model/service/ModelPoolService.js.map +1 -0
  121. package/bin/process/daemon/Api.d.ts +2 -2
  122. package/bin/process/daemon/Api.js +1 -1
  123. package/bin/process/registry/AgentHostRuntime.d.ts +1 -1
  124. package/bin/process/registry/AgentHostRuntime.d.ts.map +1 -1
  125. package/bin/process/registry/AgentHostRuntime.js +85 -4
  126. package/bin/process/registry/AgentHostRuntime.js.map +1 -1
  127. package/package.json +2 -2
  128. package/src/cli/Index.ts +4 -6
  129. package/src/cli/agent/AgentChat.ts +1 -1
  130. package/src/cli/agent/AgentHistory.ts +6 -1
  131. package/src/cli/agent/AgentManager.ts +3 -3
  132. package/src/cli/agent/Init.ts +6 -6
  133. package/src/cli/agent/Restart.ts +1 -1
  134. package/src/cli/agent/Run.ts +6 -7
  135. package/src/cli/agent/Start.ts +1 -1
  136. package/src/cli/control-plane/ControlPlaneCommand.ts +28 -1
  137. package/src/cli/control-plane/ControlPlanePublicManager.ts +280 -0
  138. package/src/cli/control-plane/ControlPlanePublicMode.ts +141 -0
  139. package/src/cli/control-plane/ControlPlaneRuntime.ts +8 -6
  140. package/src/cli/control-plane/ControlPlaneStatus.ts +22 -8
  141. package/src/cli/model/ModelManageCommand.ts +23 -19
  142. package/src/cli/model/ModelManager.ts +419 -76
  143. package/src/cli/model/ModelManagerTypes.ts +82 -0
  144. package/src/cli/model/ModelSupport.ts +1 -1
  145. package/src/cli/shared/Chat.ts +2 -2
  146. package/src/cli/shared/ChatManager.ts +27 -27
  147. package/src/cli/shared/Config.ts +1 -1
  148. package/src/cli/{service/ServiceActionCommands.ts → shared/ManagedPluginActionCommands.ts} +75 -75
  149. package/src/cli/{service/ServiceCommandRemote.ts → shared/ManagedPluginRemote.ts} +47 -47
  150. package/src/cli/{service/ServiceScheduleCommand.ts → shared/PluginScheduleCommand.ts} +49 -49
  151. package/src/cli/{service/ServiceCommandSupport.ts → shared/PluginTargetSupport.ts} +14 -14
  152. package/src/cli/shared/Plugins.ts +195 -35
  153. package/src/cli/shared/PortHints.ts +1 -1
  154. package/src/config/DowncitySchema.ts +2 -8
  155. package/src/config/Paths.ts +55 -14
  156. package/src/control/AgentStatusApiRoutes.ts +35 -35
  157. package/src/control/ChannelAccountApiRoutes.ts +6 -6
  158. package/src/control/ControlGateway.ts +2 -2
  159. package/src/control/ModelApiRoutes.ts +1 -1
  160. package/src/control/ModelPoolService.ts +4 -390
  161. package/src/control/PluginApiRoutes.ts +5 -5
  162. package/src/control/gateway/AgentActions.ts +20 -5
  163. package/src/control/gateway/AgentCatalog.ts +2 -2
  164. package/src/control/instant/InstantApiRoutes.ts +8 -8
  165. package/src/control/instant/{InstantSessionService.ts → InstantSessionRunner.ts} +7 -7
  166. package/src/http/auth/RoutePolicy.ts +7 -7
  167. package/src/model/service/ModelPoolService.ts +525 -0
  168. package/src/process/daemon/Api.ts +2 -2
  169. package/src/process/registry/AgentHostRuntime.ts +95 -5
  170. package/bin/cli/service/ServiceActionCommands.d.ts +0 -14
  171. package/bin/cli/service/ServiceActionCommands.d.ts.map +0 -1
  172. package/bin/cli/service/ServiceActionCommands.js.map +0 -1
  173. package/bin/cli/service/ServiceCommandRemote.d.ts +0 -30
  174. package/bin/cli/service/ServiceCommandRemote.d.ts.map +0 -1
  175. package/bin/cli/service/ServiceCommandRemote.js.map +0 -1
  176. package/bin/cli/service/ServiceCommandSupport.d.ts.map +0 -1
  177. package/bin/cli/service/ServiceCommandSupport.js.map +0 -1
  178. package/bin/cli/service/ServiceScheduleCommand.d.ts +0 -36
  179. package/bin/cli/service/ServiceScheduleCommand.d.ts.map +0 -1
  180. package/bin/cli/service/ServiceScheduleCommand.js.map +0 -1
  181. package/bin/cli/service/Services.d.ts +0 -14
  182. package/bin/cli/service/Services.d.ts.map +0 -1
  183. package/bin/cli/service/Services.js +0 -154
  184. package/bin/cli/service/Services.js.map +0 -1
  185. package/bin/control/instant/InstantSessionService.d.ts.map +0 -1
  186. package/bin/control/instant/InstantSessionService.js.map +0 -1
  187. package/bin/process/registry/PluginRuntime.d.ts +0 -24
  188. package/bin/process/registry/PluginRuntime.d.ts.map +0 -1
  189. package/bin/process/registry/PluginRuntime.js +0 -31
  190. package/bin/process/registry/PluginRuntime.js.map +0 -1
  191. package/src/cli/service/Services.ts +0 -189
  192. package/src/process/registry/PluginRuntime.ts +0 -42
@@ -1,17 +1,17 @@
1
1
  /**
2
- * Service action CLI 注册器。
2
+ * agent 托管的 plugin action CLI 注册器。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 负责把 service actions 挂到 commander(`city <service> <action>`)。
6
- * - 仅处理 CLI 参数映射与远程调用,不承载 service 状态机逻辑。
7
- * - service 注册表与调度时间解析统一复用 agent 包实现,避免 city 维护第二套事实源。
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, listRegisteredServices, parseScheduledRunAtMsOrThrow, } from "@downcity/agent";
10
+ import { callAgentTransport, listManagedPlugins, parseScheduledRunAtMsOrThrow, } from "@downcity/agent";
11
11
  import { printResult } from "../../utils/cli/CliOutput.js";
12
- import { parseBoolean, parsePort } from "../shared/IndexSupport.js";
13
- import { runServiceControlCommand } from "./ServiceCommandRemote.js";
14
- const CHAT_SERVICE_HELP_TEXT = [
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 toServiceActionCommandOpts(options) {
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 toServiceCliBridgeOptions(options) {
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 flattenServiceActionCommandArgs(values) {
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 registerServiceActionCommand(params) {
135
+ function registerPluginActionCommand(params) {
136
136
  const commandSpec = params.action.command;
137
137
  if (!commandSpec)
138
138
  return;
139
- const serviceCommand = params.program.commands.find((item) => item.name() === params.service.name) ||
139
+ const pluginCommand = params.program.commands.find((item) => item.name() === params.plugin.name) ||
140
140
  params.program
141
- .command(params.service.name)
142
- .description(`${params.service.name} service actions`)
141
+ .command(params.plugin.name)
142
+ .description(`${params.plugin.name} plugin actions`)
143
143
  .helpOption("--help", "display help for command");
144
- if (params.service.name === "chat" &&
145
- !serviceCommand[CHAT_HELP_HOOK_ATTACHED]) {
146
- const chatCommand = serviceCommand;
144
+ if (params.plugin.name === "chat" &&
145
+ !pluginCommand[CHAT_HELP_HOOK_ATTACHED]) {
146
+ const chatCommand = pluginCommand;
147
147
  chatCommand.on("--help", () => {
148
- console.log(CHAT_SERVICE_HELP_TEXT);
148
+ console.log(CHAT_PLUGIN_HELP_TEXT);
149
149
  });
150
150
  chatCommand[CHAT_HELP_HOOK_ATTACHED] = true;
151
151
  }
152
- const actionCommand = serviceCommand
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>", "延迟执行毫秒数(所有 service action 通用)");
163
+ actionCommand.option("--delay <ms>", "延迟执行毫秒数(所有 plugin action 通用)");
164
164
  }
165
165
  if (!hasLongOption(actionCommand, "--time")) {
166
- actionCommand.option("--time <time>", "定时执行时间(Unix 时间戳秒/毫秒或 ISO 时间,所有 service action 通用)");
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
- ? flattenServiceActionCommandArgs(Array.isArray(commandLike.processedArgs)
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 flattenServiceActionCommandArgs(fallbackPositional);
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 = toServiceActionCommandOpts(allOptions);
189
- const bridgeOptions = toServiceCliBridgeOptions(allOptions);
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.service.name}.${params.actionName} failed`,
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.service.name}.${params.actionName} failed`,
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/services/command",
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
- serviceName: params.service.name,
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.service.name}.${params.actionName} ok`
244
- : `${params.service.name}.${params.actionName} failed`,
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.service.name}.${params.actionName} failed`,
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 hasServiceSubcommand(command, name) {
263
+ function hasPluginSubcommand(command, name) {
264
264
  return command.commands.some((item) => item.name() === name);
265
265
  }
266
- function attachServiceLifecycleOptions(command) {
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 registerServiceLifecycleCommands(params) {
275
- if (!params.service.lifecycle?.start && !params.service.lifecycle?.stop) {
274
+ function registerPluginLifecycleCommands(params) {
275
+ if (!params.plugin.lifecycle?.start && !params.plugin.lifecycle?.stop) {
276
276
  return;
277
277
  }
278
- const serviceCommand = params.program.commands.find((item) => item.name() === params.service.name) ||
278
+ const pluginCommand = params.program.commands.find((item) => item.name() === params.plugin.name) ||
279
279
  params.program
280
- .command(params.service.name)
281
- .description(`${params.service.name} service actions`)
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.service.name} service`,
286
+ description: `启动 ${params.plugin.name} plugin`,
287
287
  action: "start",
288
288
  },
289
289
  {
290
290
  name: "stop",
291
- description: `停止 ${params.service.name} service`,
291
+ description: `停止 ${params.plugin.name} plugin`,
292
292
  action: "stop",
293
293
  },
294
294
  {
295
295
  name: "restart",
296
- description: `重启 ${params.service.name} service`,
296
+ description: `重启 ${params.plugin.name} plugin`,
297
297
  action: "restart",
298
298
  },
299
299
  {
300
300
  name: "status",
301
- description: `查看 ${params.service.name} service 运行状态`,
301
+ description: `查看 ${params.plugin.name} plugin 运行状态`,
302
302
  action: "status",
303
303
  },
304
304
  ];
305
305
  for (const item of lifecycleCommands) {
306
- if (hasServiceSubcommand(serviceCommand, item.name)) {
306
+ if (hasPluginSubcommand(pluginCommand, item.name)) {
307
307
  continue;
308
308
  }
309
- attachServiceLifecycleOptions(serviceCommand
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 runServiceControlCommand({
314
- serviceName: params.service.name,
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
- * 注册所有 service actions CLI 命令。
322
+ * 注册所有受 agent 托管的 plugin actions CLI 命令。
323
323
  */
324
- export function registerAllServicesForCli(program) {
325
- const services = listRegisteredServices();
326
- for (const service of services) {
327
- for (const [actionName, action] of Object.entries(service.actions)) {
328
- registerServiceActionCommand({
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
- service,
330
+ plugin,
331
331
  actionName,
332
- action,
332
+ action: action,
333
333
  });
334
334
  }
335
335
  }
336
- for (const service of services) {
337
- registerServiceLifecycleCommands({
336
+ for (const plugin of plugins) {
337
+ registerPluginLifecycleCommands({
338
338
  program,
339
- service,
339
+ plugin,
340
340
  });
341
341
  }
342
342
  }
343
- //# sourceMappingURL=ServiceActionCommands.js.map
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 service` 远程 Agent server 调用辅助。
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, resolveServiceProjectRoot, validateAgentProjectRoot, } from "./ServiceCommandSupport.js";
11
- const SERVICE_COMMAND_TIMEOUT_MS = 120_000;
10
+ import { parseCommandPayload, resolvePluginProjectRoot, validateAgentProjectRoot, } from "./PluginTargetSupport.js";
11
+ const PLUGIN_COMMAND_TIMEOUT_MS = 120_000;
12
12
  /**
13
- * 执行 `service list`。
13
+ * 执行 `plugin list`。
14
14
  */
15
- export async function runServiceListCommand(options) {
16
- const resolved = await resolveServiceProjectRoot(options);
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: "service list failed",
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: "service list failed",
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/services/list",
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 ? "services listed" : "service list failed",
53
+ title: remote.data.success ? "plugin listed" : "plugin list failed",
54
54
  payload: {
55
- ...(Array.isArray(remote.data.services) ? { services: remote.data.services } : {}),
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: "service list failed",
64
+ title: "plugin list failed",
65
65
  payload: {
66
66
  error: remote.error || "Unknown error",
67
67
  },
68
68
  });
69
69
  }
70
70
  /**
71
- * 执行 `service status/start/stop/restart`。
71
+ * 执行 `plugin status/start/stop/restart`。
72
72
  */
73
- export async function runServiceControlCommand(params) {
74
- const resolved = await resolveServiceProjectRoot(params.options);
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: `service ${params.action} failed`,
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: `service ${params.action} failed`,
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/services/control",
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
- serviceName: params.serviceName,
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 ? `service ${params.action} ok` : `service ${params.action} failed`,
115
+ title: remote.data.success ? `plugin ${params.action} ok` : `plugin ${params.action} failed`,
116
116
  payload: {
117
- ...(remote.data.service ? { service: remote.data.service } : {}),
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: `service ${params.action} failed`,
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
- * 执行 `service command` 桥接。
133
+ * 执行 `plugin command` 桥接。
134
134
  */
135
- export async function runServiceCommandBridge(params) {
136
- const resolved = await resolveServiceProjectRoot(params.options);
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: "service command failed",
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: "service command failed",
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/services/command",
163
+ path: "/api/plugins/command",
164
164
  method: "POST",
165
- timeoutMs: SERVICE_COMMAND_TIMEOUT_MS,
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
- serviceName: params.serviceName,
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 ? "service command ok" : "service command failed",
181
+ title: remote.data.success ? "plugin command ok" : "plugin command failed",
182
182
  payload: {
183
- ...(remote.data.service ? { service: remote.data.service } : {}),
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: "service command failed",
194
+ title: "plugin command failed",
195
195
  payload: {
196
196
  error: remote.error || "Unknown error",
197
197
  },
198
198
  });
199
199
  }
200
- //# sourceMappingURL=ServiceCommandRemote.js.map
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"}