downcity 1.1.81 → 1.1.83

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "downcity",
3
- "version": "1.1.81",
3
+ "version": "1.1.83",
4
4
  "type": "module",
5
5
  "description": "Downcity CLI bundle — installs city and town commands",
6
6
  "bin": {
@@ -46,8 +46,8 @@
46
46
  "ws": "^8.21.0",
47
47
  "zod": "^4.4.3",
48
48
  "@downcity/agent": "^1.1.69",
49
- "@downcity/plugins": "^1.0.26",
50
- "@downcity/city": "^0.2.32"
49
+ "@downcity/city": "^0.2.32",
50
+ "@downcity/plugins": "^1.0.26"
51
51
  },
52
52
  "scripts": {
53
53
  "build": "node scripts/copy-cli-products.mjs && node scripts/ensure-cli-executable.mjs",
@@ -10,9 +10,9 @@ import type { Hono } from "hono";
10
10
  import type { PlatformAgentOption } from "@downcity/agent";
11
11
  import type { AgentRpcPool } from "../control/gateway/AgentRpcPool.js";
12
12
  /**
13
- * 注册 Plugin 管理 API 路由。
13
+ * Plugin 管理 API 路由参数。
14
14
  */
15
- export declare function registerPlatformPluginRoutes(params: {
15
+ export interface PlatformPluginRouteParams {
16
16
  /**
17
17
  * Hono 应用实例。
18
18
  */
@@ -29,5 +29,9 @@ export declare function registerPlatformPluginRoutes(params: {
29
29
  * Town 维护的 Agent RPC 连接池。
30
30
  */
31
31
  agentRpcPool: AgentRpcPool;
32
- }): void;
32
+ }
33
+ /**
34
+ * 注册 Plugin 管理 API 路由。
35
+ */
36
+ export declare function registerPlatformPluginRoutes(params: PlatformPluginRouteParams): void;
33
37
  //# sourceMappingURL=PluginApiRoutes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginApiRoutes.d.ts","sourceRoot":"","sources":["../../src/control/PluginApiRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAOjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAW3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AA+NtE;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD;;OAEG;IACH,GAAG,EAAE,IAAI,CAAC;IACV;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD;;OAEG;IACH,oBAAoB,EAAE,CACpB,gBAAgB,EAAE,MAAM,KACrB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACzC;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;CAC5B,GAAG,IAAI,CAgKP"}
1
+ {"version":3,"file":"PluginApiRoutes.d.ts","sourceRoot":"","sources":["../../src/control/PluginApiRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAQjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAY3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AA4PtE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,GAAG,EAAE,IAAI,CAAC;IACV;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD;;OAEG;IACH,oBAAoB,EAAE,CACpB,gBAAgB,EAAE,MAAM,KACrB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACzC;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;CAC5B;AA2DD;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,yBAAyB,GAChC,IAAI,CA2RN"}
@@ -6,7 +6,7 @@
6
6
  * - 当目标 agent 可访问时,再叠加 plugin list + availability,补齐启用态、依赖缺失等动态信息。
7
7
  * - 这样能同时满足“架构上 plugin 属于 main/package 注册信息”和“可用性属于 agent 状态”两层语义。
8
8
  */
9
- import { findPluginByName, listPluginViews, runLocalPluginAction, } from "@downcity/agent";
9
+ import { findPluginByName, listPluginViews, parseActionScheduleRunAtMsOrThrow, runLocalPluginAction, } from "@downcity/agent";
10
10
  import { createBuiltinPlugins } from "@downcity/plugins";
11
11
  import { isTownPluginEnabled, setBayPluginEnabled, } from "../platform/PluginLifecycle.js";
12
12
  function getErrorMessage(error) {
@@ -18,6 +18,29 @@ function getErrorMessage(error) {
18
18
  function createPluginCatalog() {
19
19
  return createBuiltinPlugins();
20
20
  }
21
+ function isJsonRecord(value) {
22
+ return Boolean(value && typeof value === "object" && !Array.isArray(value));
23
+ }
24
+ function readCommandSchedule(body) {
25
+ const nested_schedule = isJsonRecord(body.schedule) ? body.schedule : undefined;
26
+ const top_level_delay = body.delayMs ?? body.delay;
27
+ const top_level_time = body.sendAtMs ?? body.sendAt ?? body.time;
28
+ if (body.schedule !== undefined && !nested_schedule) {
29
+ throw new Error("schedule must be an object");
30
+ }
31
+ if (nested_schedule?.runAtMs !== undefined &&
32
+ (top_level_delay !== undefined || top_level_time !== undefined)) {
33
+ throw new Error("`schedule.runAtMs` cannot be used together with `delay/time`.");
34
+ }
35
+ if (nested_schedule?.runAtMs !== undefined) {
36
+ return nested_schedule;
37
+ }
38
+ const run_at_ms = parseActionScheduleRunAtMsOrThrow({
39
+ delay: top_level_delay,
40
+ time: top_level_time,
41
+ });
42
+ return typeof run_at_ms === "number" ? { runAtMs: run_at_ms } : undefined;
43
+ }
21
44
  function buildPluginActionConfig(plugin) {
22
45
  if (!plugin)
23
46
  return [];
@@ -166,6 +189,41 @@ async function runGlobalPluginAction(input) {
166
189
  payload: input.payload,
167
190
  });
168
191
  }
192
+ /**
193
+ * 解析选中 agent 的 plugin RPC client。
194
+ */
195
+ async function resolveRuntimePluginRpcClient(params, request) {
196
+ const requested_agent_id = params.readRequestedAgentId(request);
197
+ const selected_agent = await params.resolveSelectedAgent(requested_agent_id);
198
+ if (!selected_agent || selected_agent.running !== true) {
199
+ return {
200
+ response: new Response(JSON.stringify({
201
+ success: false,
202
+ error: "No running agent found. Start one via `town agent start` first.",
203
+ }), {
204
+ status: 503,
205
+ headers: {
206
+ "Content-Type": "application/json",
207
+ },
208
+ }),
209
+ };
210
+ }
211
+ const client = params.agentRpcPool.resolveClientForAgent(selected_agent);
212
+ if (!client) {
213
+ return {
214
+ response: new Response(JSON.stringify({
215
+ success: false,
216
+ error: "Selected agent RPC endpoint is unavailable.",
217
+ }), {
218
+ status: 503,
219
+ headers: {
220
+ "Content-Type": "application/json",
221
+ },
222
+ }),
223
+ };
224
+ }
225
+ return { client };
226
+ }
169
227
  /**
170
228
  * 注册 Plugin 管理 API 路由。
171
229
  */
@@ -246,6 +304,127 @@ export function registerPlatformPluginRoutes(params) {
246
304
  }, 500);
247
305
  }
248
306
  });
307
+ app.get("/api/plugins/catalog", async (c) => {
308
+ try {
309
+ const resolved = await resolveRuntimePluginRpcClient(params, c.req.raw);
310
+ if ("response" in resolved)
311
+ return resolved.response;
312
+ return c.json({
313
+ success: true,
314
+ plugins: await resolved.client.list_internal_plugin_catalog(),
315
+ });
316
+ }
317
+ catch (error) {
318
+ return c.json({
319
+ success: false,
320
+ error: getErrorMessage(error),
321
+ }, 500);
322
+ }
323
+ });
324
+ app.get("/api/plugins/list", async (c) => {
325
+ try {
326
+ const resolved = await resolveRuntimePluginRpcClient(params, c.req.raw);
327
+ if ("response" in resolved)
328
+ return resolved.response;
329
+ return c.json({
330
+ success: true,
331
+ plugins: await resolved.client.list_internal_plugin_states(),
332
+ });
333
+ }
334
+ catch (error) {
335
+ return c.json({
336
+ success: false,
337
+ error: getErrorMessage(error),
338
+ }, 500);
339
+ }
340
+ });
341
+ app.post("/api/plugins/availability", async (c) => {
342
+ try {
343
+ const body = await c.req.json().catch(() => null);
344
+ const plugin_name = String(body?.pluginName || "").trim();
345
+ if (!plugin_name) {
346
+ return c.json({ success: false, error: "pluginName is required" }, 400);
347
+ }
348
+ const resolved = await resolveRuntimePluginRpcClient(params, c.req.raw);
349
+ if ("response" in resolved)
350
+ return resolved.response;
351
+ return c.json({
352
+ success: true,
353
+ pluginName: plugin_name,
354
+ availability: await resolved.client.get_internal_plugin_availability(plugin_name),
355
+ });
356
+ }
357
+ catch (error) {
358
+ return c.json({
359
+ success: false,
360
+ error: getErrorMessage(error),
361
+ }, 500);
362
+ }
363
+ });
364
+ app.post("/api/plugins/control", async (c) => {
365
+ try {
366
+ const body = await c.req.json().catch(() => null);
367
+ const plugin_name = String(body?.pluginName || "").trim();
368
+ const action = String(body?.action || "")
369
+ .trim()
370
+ .toLowerCase();
371
+ if (!plugin_name) {
372
+ return c.json({ success: false, error: "pluginName is required" }, 400);
373
+ }
374
+ if (!action) {
375
+ return c.json({ success: false, error: "action is required" }, 400);
376
+ }
377
+ if (!["start", "stop", "restart", "status"].includes(action)) {
378
+ return c.json({ success: false, error: "invalid action" }, 400);
379
+ }
380
+ const resolved = await resolveRuntimePluginRpcClient(params, c.req.raw);
381
+ if ("response" in resolved)
382
+ return resolved.response;
383
+ const result = await resolved.client.control_internal_plugin({
384
+ plugin_name,
385
+ action: action,
386
+ });
387
+ return c.json(result, result.success ? 200 : 400);
388
+ }
389
+ catch (error) {
390
+ return c.json({
391
+ success: false,
392
+ error: getErrorMessage(error),
393
+ }, 500);
394
+ }
395
+ });
396
+ app.post("/api/plugins/command", async (c) => {
397
+ try {
398
+ const body = await c.req.json().catch(() => null);
399
+ const command_body = isJsonRecord(body) ? body : {};
400
+ const plugin_name = String(command_body.pluginName || "").trim();
401
+ const command = String(command_body.command || "").trim();
402
+ if (!plugin_name) {
403
+ return c.json({ success: false, error: "pluginName is required" }, 400);
404
+ }
405
+ if (!command) {
406
+ return c.json({ success: false, error: "command is required" }, 400);
407
+ }
408
+ const resolved = await resolveRuntimePluginRpcClient(params, c.req.raw);
409
+ if ("response" in resolved)
410
+ return resolved.response;
411
+ // 关键点(中文):兼容旧 HTTP command 的顶层 delay/time 字段,再交给 Agent RPC 执行。
412
+ const schedule = readCommandSchedule(command_body);
413
+ const result = await resolved.client.run_internal_plugin_command({
414
+ plugin_name,
415
+ command,
416
+ payload: command_body.payload,
417
+ schedule,
418
+ });
419
+ return c.json(result, result.success ? 200 : 400);
420
+ }
421
+ catch (error) {
422
+ return c.json({
423
+ success: false,
424
+ error: getErrorMessage(error),
425
+ }, 500);
426
+ }
427
+ });
249
428
  app.post("/api/plugins/action", async (c) => {
250
429
  try {
251
430
  const body = await c.req.json().catch(() => null);
@@ -257,23 +436,11 @@ export function registerPlatformPluginRoutes(params) {
257
436
  if (!action_name) {
258
437
  return c.json({ success: false, error: "actionName is required" }, 400);
259
438
  }
260
- const requested_agent_id = params.readRequestedAgentId(c.req.raw);
261
- const selected_agent = await params.resolveSelectedAgent(requested_agent_id);
262
- if (!selected_agent || selected_agent.running !== true) {
263
- return c.json({
264
- success: false,
265
- error: "No running agent found. Start one via `town agent start` first.",
266
- }, 503);
267
- }
268
- const client = params.agentRpcPool.resolveClientForAgent(selected_agent);
269
- if (!client) {
270
- return c.json({
271
- success: false,
272
- error: "Selected agent RPC endpoint is unavailable.",
273
- }, 503);
274
- }
439
+ const resolved = await resolveRuntimePluginRpcClient(params, c.req.raw);
440
+ if ("response" in resolved)
441
+ return resolved.response;
275
442
  // 关键点(中文):这里承接旧 `/api/plugins/action`,但通过 Agent RPC 执行,不再代理到 Agent HTTP。
276
- const result = await client.run_internal_plugin_action({
443
+ const result = await resolved.client.run_internal_plugin_action({
277
444
  plugin_name,
278
445
  action_name,
279
446
  payload: body?.payload,
@@ -1 +1 @@
1
- {"version":3,"file":"PluginApiRoutes.js","sourceRoot":"","sources":["../../src/control/PluginApiRoutes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginApiRoutes.js","sourceRoot":"","sources":["../../src/control/PluginApiRoutes.ts"],"names":[],"mappings":"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"}