downcity 1.1.90 → 1.1.95

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 (79) hide show
  1. package/city/admin/commands/service-env.d.ts.map +1 -1
  2. package/city/admin/commands/service-env.js +15 -0
  3. package/city/admin/commands/service-env.js.map +1 -1
  4. package/city/env/commands/refresh.d.ts +12 -0
  5. package/city/env/commands/refresh.d.ts.map +1 -0
  6. package/city/env/commands/refresh.js +40 -0
  7. package/city/env/commands/refresh.js.map +1 -0
  8. package/city/index.js +12 -0
  9. package/city/index.js.map +1 -1
  10. package/package.json +4 -4
  11. package/town/agent/control/CommonHelpers.d.ts +36 -0
  12. package/town/agent/control/CommonHelpers.d.ts.map +1 -0
  13. package/town/agent/control/CommonHelpers.js +63 -0
  14. package/town/agent/control/CommonHelpers.js.map +1 -0
  15. package/town/agent/control/ExecuteBySession.d.ts +28 -0
  16. package/town/agent/control/ExecuteBySession.d.ts.map +1 -0
  17. package/town/agent/control/ExecuteBySession.js +41 -0
  18. package/town/agent/control/ExecuteBySession.js.map +1 -0
  19. package/town/agent/control/ExecuteInput.d.ts +18 -0
  20. package/town/agent/control/ExecuteInput.d.ts.map +1 -0
  21. package/town/agent/control/ExecuteInput.js +201 -0
  22. package/town/agent/control/ExecuteInput.js.map +1 -0
  23. package/town/agent/control/Helpers.d.ts +13 -0
  24. package/town/agent/control/Helpers.d.ts.map +1 -0
  25. package/town/agent/control/Helpers.js +13 -0
  26. package/town/agent/control/Helpers.js.map +1 -0
  27. package/town/agent/control/MessageTimeline.d.ts +22 -0
  28. package/town/agent/control/MessageTimeline.d.ts.map +1 -0
  29. package/town/agent/control/MessageTimeline.js +226 -0
  30. package/town/agent/control/MessageTimeline.js.map +1 -0
  31. package/town/agent/control/SessionSummaryStore.d.ts +18 -0
  32. package/town/agent/control/SessionSummaryStore.d.ts.map +1 -0
  33. package/town/agent/control/SessionSummaryStore.js +50 -0
  34. package/town/agent/control/SessionSummaryStore.js.map +1 -0
  35. package/town/agent/control/TaskStore.d.ts +33 -0
  36. package/town/agent/control/TaskStore.d.ts.map +1 -0
  37. package/town/agent/control/TaskStore.js +175 -0
  38. package/town/agent/control/TaskStore.js.map +1 -0
  39. package/town/agent/control/types/ControlSessionExecute.d.ts +85 -0
  40. package/town/agent/control/types/ControlSessionExecute.d.ts.map +1 -0
  41. package/town/agent/control/types/ControlSessionExecute.js +9 -0
  42. package/town/agent/control/types/ControlSessionExecute.js.map +1 -0
  43. package/town/agent/control/types/ControlViewData.d.ts +320 -0
  44. package/town/agent/control/types/ControlViewData.d.ts.map +1 -0
  45. package/town/agent/control/types/ControlViewData.js +9 -0
  46. package/town/agent/control/types/ControlViewData.js.map +1 -0
  47. package/town/agent/http/control/ControlAuthorizationRoutes.d.ts +1 -1
  48. package/town/agent/http/control/ControlAuthorizationRoutes.d.ts.map +1 -1
  49. package/town/agent/http/control/ControlAuthorizationRoutes.js +51 -10
  50. package/town/agent/http/control/ControlAuthorizationRoutes.js.map +1 -1
  51. package/town/agent/http/control/OverviewRoutes.d.ts.map +1 -1
  52. package/town/agent/http/control/OverviewRoutes.js +2 -3
  53. package/town/agent/http/control/OverviewRoutes.js.map +1 -1
  54. package/town/agent/http/control/SessionRoutes.d.ts.map +1 -1
  55. package/town/agent/http/control/SessionRoutes.js +4 -6
  56. package/town/agent/http/control/SessionRoutes.js.map +1 -1
  57. package/town/agent/http/control/TaskRoutes.js +3 -3
  58. package/town/agent/http/control/TaskRoutes.js.map +1 -1
  59. package/town/agent/http/static/static.js +1 -1
  60. package/town/agent/http/static/static.js.map +1 -1
  61. package/town/config/Paths.d.ts +21 -0
  62. package/town/config/Paths.d.ts.map +1 -1
  63. package/town/config/Paths.js +31 -1
  64. package/town/config/Paths.js.map +1 -1
  65. package/town/control/DashboardOverviewApiRoutes.js +1 -1
  66. package/town/control/DashboardOverviewApiRoutes.js.map +1 -1
  67. package/town/control/DashboardRuntimeApiRoutes.d.ts.map +1 -1
  68. package/town/control/DashboardRuntimeApiRoutes.js +51 -8
  69. package/town/control/DashboardRuntimeApiRoutes.js.map +1 -1
  70. package/town/control/DashboardSessionApiRoutes.d.ts.map +1 -1
  71. package/town/control/DashboardSessionApiRoutes.js +76 -2
  72. package/town/control/DashboardSessionApiRoutes.js.map +1 -1
  73. package/town/control/DashboardTaskApiRoutes.js +1 -1
  74. package/town/control/DashboardTaskApiRoutes.js.map +1 -1
  75. package/town/control/instant/InstantSystemComposer.d.ts.map +1 -1
  76. package/town/control/instant/InstantSystemComposer.js +2 -3
  77. package/town/control/instant/InstantSystemComposer.js.map +1 -1
  78. package/town/shared/Plugins.js +2 -2
  79. package/town/shared/Plugins.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"service-env.d.ts","sourceRoot":"","sources":["../../../src/admin/commands/service-env.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AA2BtC,wBAAsB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCtD"}
1
+ {"version":3,"file":"service-env.d.ts","sourceRoot":"","sources":["../../../src/admin/commands/service-env.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AA2BtC,wBAAsB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCtD"}
@@ -18,6 +18,7 @@ export async function manageEnv(a) {
18
18
  { label: "Upsert", value: "__upsert__", hint: "Add or update a key=value" },
19
19
  { label: "Update", value: "__update__", hint: "Update an existing key" },
20
20
  { label: "Remove", value: "__remove__", hint: "Delete a key" },
21
+ { label: "Refresh runtime cache", value: "__refresh__", hint: "Reload env cache after direct database edits" },
21
22
  ];
22
23
  if (services) {
23
24
  for (const s of services) {
@@ -53,6 +54,10 @@ export async function manageEnv(a) {
53
54
  await removeEnv(a);
54
55
  continue;
55
56
  }
57
+ if (svcId === "__refresh__") {
58
+ await refreshEnv(a);
59
+ continue;
60
+ }
56
61
  if (services) {
57
62
  const svc = services.find((s) => s.id === svcId);
58
63
  if (svc)
@@ -175,6 +180,16 @@ async function removeEnv(a) {
175
180
  showError(adminErrorMessage(e));
176
181
  }
177
182
  }
183
+ async function refreshEnv(a) {
184
+ try {
185
+ const result = await a.env.refresh();
186
+ showSuccess(`env runtime cache refreshed (${result.count} keys)`);
187
+ }
188
+ catch (e) {
189
+ rethrowAdminAuthError(e);
190
+ showError(adminErrorMessage(e));
191
+ }
192
+ }
178
193
  // ============================================================
179
194
  // 按 Service 查看
180
195
  // ============================================================
@@ -1 +1 @@
1
- {"version":3,"file":"service-env.js","sourceRoot":"","sources":["../../../src/admin/commands/service-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-env.js","sourceRoot":"","sources":["../../../src/admin/commands/service-env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * City env runtime cache 刷新命令。
3
+ *
4
+ * 关键说明(中文)
5
+ * - 这个命令只负责脚本化调用当前 active City 的 env refresh。
6
+ * - 真正刷新逻辑位于 City SDK 与服务端 EnvService,CLI 不复制业务规则。
7
+ */
8
+ /**
9
+ * 刷新当前 active City 的 runtime env cache。
10
+ */
11
+ export declare function refreshEnvCache(): Promise<void>;
12
+ //# sourceMappingURL=refresh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/env/commands/refresh.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBrD"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * City env runtime cache 刷新命令。
3
+ *
4
+ * 关键说明(中文)
5
+ * - 这个命令只负责脚本化调用当前 active City 的 env refresh。
6
+ * - 真正刷新逻辑位于 City SDK 与服务端 EnvService,CLI 不复制业务规则。
7
+ */
8
+ import { City } from "@downcity/city";
9
+ import { adminAuth } from "../../auth/admin.js";
10
+ import { adminErrorMessage, rethrowAdminAuthError } from "../../admin/auth-error.js";
11
+ import { readActiveServer } from "../../core/session.js";
12
+ import { showError, showSuccess } from "../../core/ui.js";
13
+ /**
14
+ * 刷新当前 active City 的 runtime env cache。
15
+ */
16
+ export async function refreshEnvCache() {
17
+ const active_server = readActiveServer();
18
+ if (!active_server) {
19
+ showError("No active City server. Run `city` to connect one first.");
20
+ return;
21
+ }
22
+ const session = await adminAuth(active_server);
23
+ if (!session) {
24
+ return;
25
+ }
26
+ const admin = new City({
27
+ role: "admin",
28
+ city_url: session.base_url,
29
+ admin_secret_key: session.admin_secret_key,
30
+ });
31
+ try {
32
+ const result = await admin.env.refresh();
33
+ showSuccess(`env runtime cache refreshed (${result.count} keys)`);
34
+ }
35
+ catch (error) {
36
+ rethrowAdminAuthError(error);
37
+ showError(adminErrorMessage(error));
38
+ }
39
+ }
40
+ //# sourceMappingURL=refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/env/commands/refresh.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,SAAS,CAAC,yDAAyD,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACzC,WAAW,CAAC,gCAAgC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
package/city/index.js CHANGED
@@ -16,6 +16,7 @@ import { createVersionBanner } from "./shared/IndexSupport.js";
16
16
  import { setCliVerbosity } from "./shared/CliReporter.js";
17
17
  import { deployCityProject } from "./deploy/commands/deploy.js";
18
18
  import { createCityProject } from "./create/commands/create.js";
19
+ import { refreshEnvCache } from "./env/commands/refresh.js";
19
20
  const __filename = fileURLToPath(import.meta.url);
20
21
  const __dirname = dirname(__filename);
21
22
  const packageJson = JSON.parse(readFileSync(join(__dirname, "../package.json"), "utf-8"));
@@ -55,6 +56,17 @@ program
55
56
  .action(createVersionBanner(packageJson.version, async (source, options) => {
56
57
  await deployCityProject(source ?? ".", options);
57
58
  }));
59
+ const env_program = program
60
+ .command("env")
61
+ .description("管理当前 City 的环境变量运行态能力")
62
+ .helpOption("--help", "display help for command");
63
+ env_program
64
+ .command("refresh")
65
+ .description("刷新当前 City runtime env cache")
66
+ .helpOption("--help", "display help for command")
67
+ .action(createVersionBanner(packageJson.version, async () => {
68
+ await refreshEnvCache();
69
+ }));
58
70
  program.showHelpAfterError();
59
71
  program.showSuggestionAfterError();
60
72
  // 关键点(中文):在 parse 前解析 --quiet / --verbose,设置全局 verbosity。
package/city/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "downcity",
3
- "version": "1.1.90",
3
+ "version": "1.1.95",
4
4
  "type": "module",
5
5
  "description": "Downcity CLI bundle — installs city and town commands",
6
6
  "bin": {
@@ -45,9 +45,9 @@
45
45
  "prompts": "^2.4.2",
46
46
  "ws": "^8.21.0",
47
47
  "zod": "^4.4.3",
48
- "@downcity/agent": "^1.1.74",
49
- "@downcity/city": "^0.2.36",
50
- "@downcity/plugins": "^1.0.30"
48
+ "@downcity/agent": "^1.1.82",
49
+ "@downcity/city": "^0.2.42",
50
+ "@downcity/plugins": "^1.0.35"
51
51
  },
52
52
  "scripts": {
53
53
  "build": "node scripts/copy-cli-products.mjs && node scripts/ensure-cli-executable.mjs",
@@ -0,0 +1,36 @@
1
+ /**
2
+ * 单 agent control API 通用 helper。
3
+ *
4
+ * 关键点(中文)
5
+ * - 聚合 control 路由、query/path/文本裁剪等基础工具。
6
+ * - 单 agent 控制面统一收敛到 `/api/control/*`。
7
+ * - 不依赖任何业务状态。
8
+ */
9
+ /**
10
+ * 单 agent control API 的公开路由前缀。
11
+ *
12
+ * 说明(中文)
13
+ * - 单 agent 控制面只暴露 `/api/control/*`。
14
+ */
15
+ export declare const CONTROL_API_ROUTE_PREFIXES: readonly ["/api/control"];
16
+ /**
17
+ * 为同一个 control 端点生成公开路径别名。
18
+ */
19
+ export declare function buildControlRouteAliases(suffix: string): string[];
20
+ /**
21
+ * 解析 limit 参数并做边界裁剪。
22
+ */
23
+ export declare function toLimit(raw: string | undefined, fallback?: number): number;
24
+ /**
25
+ * 转成可选字符串。
26
+ */
27
+ export declare function toOptionalString(input: unknown): string | undefined;
28
+ /**
29
+ * 安全 decodeURIComponent。
30
+ */
31
+ export declare function decodeMaybe(value: string): string;
32
+ /**
33
+ * 文本截断。
34
+ */
35
+ export declare function truncateText(text: string, maxChars: number): string;
36
+ //# sourceMappingURL=CommonHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonHelpers.d.ts","sourceRoot":"","sources":["../../../src/agent/control/CommonHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,2BAA4B,CAAC;AAEpE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAKjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,SAAgB,GACvB,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGnE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAInE"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * 单 agent control API 通用 helper。
3
+ *
4
+ * 关键点(中文)
5
+ * - 聚合 control 路由、query/path/文本裁剪等基础工具。
6
+ * - 单 agent 控制面统一收敛到 `/api/control/*`。
7
+ * - 不依赖任何业务状态。
8
+ */
9
+ const DEFAULT_LIMIT = 50;
10
+ const MAX_LIMIT = 500;
11
+ /**
12
+ * 单 agent control API 的公开路由前缀。
13
+ *
14
+ * 说明(中文)
15
+ * - 单 agent 控制面只暴露 `/api/control/*`。
16
+ */
17
+ export const CONTROL_API_ROUTE_PREFIXES = ["/api/control"];
18
+ /**
19
+ * 为同一个 control 端点生成公开路径别名。
20
+ */
21
+ export function buildControlRouteAliases(suffix) {
22
+ const normalizedSuffix = String(suffix || "").startsWith("/")
23
+ ? String(suffix || "")
24
+ : `/${String(suffix || "")}`;
25
+ return CONTROL_API_ROUTE_PREFIXES.map((prefix) => `${prefix}${normalizedSuffix}`);
26
+ }
27
+ /**
28
+ * 解析 limit 参数并做边界裁剪。
29
+ */
30
+ export function toLimit(raw, fallback = DEFAULT_LIMIT) {
31
+ const n = Number.parseInt(String(raw || "").trim(), 10);
32
+ if (!Number.isFinite(n) || Number.isNaN(n))
33
+ return fallback;
34
+ return Math.max(1, Math.min(MAX_LIMIT, n));
35
+ }
36
+ /**
37
+ * 转成可选字符串。
38
+ */
39
+ export function toOptionalString(input) {
40
+ const value = typeof input === "string" ? input.trim() : "";
41
+ return value ? value : undefined;
42
+ }
43
+ /**
44
+ * 安全 decodeURIComponent。
45
+ */
46
+ export function decodeMaybe(value) {
47
+ try {
48
+ return decodeURIComponent(String(value || ""));
49
+ }
50
+ catch {
51
+ return String(value || "");
52
+ }
53
+ }
54
+ /**
55
+ * 文本截断。
56
+ */
57
+ export function truncateText(text, maxChars) {
58
+ const normalized = String(text || "");
59
+ if (normalized.length <= maxChars)
60
+ return normalized;
61
+ return normalized.slice(0, Math.max(0, maxChars - 3)) + "...";
62
+ }
63
+ //# sourceMappingURL=CommonHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonHelpers.js","sourceRoot":"","sources":["../../../src/agent/control/CommonHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,cAAc,CAAU,CAAC;AAEpE;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAC3D,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/B,OAAO,0BAA0B,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,gBAAgB,EAAE,CAAC,CAAC;AACpF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,GAAuB,EACvB,QAAQ,GAAG,aAAa;IAExB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAgB;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACtC,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,UAAU,CAAC;IACrD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAChE,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Control execute by session helper。
3
+ *
4
+ * 关键点(中文)
5
+ * - control 层只负责把请求转成 session prompt。
6
+ * - chat / queue 等渠道语义由宿主显式注入的 plugin 自行实现。
7
+ */
8
+ import type { AgentRuntime } from "@downcity/agent/internal/types/runtime/agent/AgentRuntime.js";
9
+ import type { ControlSessionExecuteAttachmentInput } from "../../agent/control/types/ControlSessionExecute.js";
10
+ /**
11
+ * 在指定 session 中执行一轮请求。
12
+ *
13
+ * 说明(中文)
14
+ * - 按普通 session 同步执行。
15
+ */
16
+ export declare function executeBySessionId(params: {
17
+ agentState: AgentRuntime;
18
+ sessionId: string;
19
+ instructions: string;
20
+ attachments?: ControlSessionExecuteAttachmentInput[];
21
+ }): Promise<{
22
+ assistantMessage: import("@downcity/agent/internal/executor/types/SessionMessages.js").SessionMessageV1 | undefined;
23
+ userVisible: string;
24
+ queued: boolean;
25
+ error?: string | undefined;
26
+ success: boolean;
27
+ }>;
28
+ //# sourceMappingURL=ExecuteBySession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecuteBySession.d.ts","sourceRoot":"","sources":["../../../src/agent/control/ExecuteBySession.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AAG3G;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,oCAAoC,EAAE,CAAC;CACtD;;;;;;GA0BA"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Control execute by session helper。
3
+ *
4
+ * 关键点(中文)
5
+ * - control 层只负责把请求转成 session prompt。
6
+ * - chat / queue 等渠道语义由宿主显式注入的 plugin 自行实现。
7
+ */
8
+ import { buildExecuteInputText } from "./ExecuteInput.js";
9
+ /**
10
+ * 在指定 session 中执行一轮请求。
11
+ *
12
+ * 说明(中文)
13
+ * - 按普通 session 同步执行。
14
+ */
15
+ export async function executeBySessionId(params) {
16
+ const sessionId = String(params.sessionId || "").trim();
17
+ const instructions = String(params.instructions || "").trim();
18
+ if (!sessionId)
19
+ throw new Error("Missing sessionId");
20
+ if (!instructions)
21
+ throw new Error("Missing instructions");
22
+ const executeInput = await buildExecuteInputText({
23
+ projectRoot: params.agentState.rootPath,
24
+ sessionId,
25
+ instructions,
26
+ attachments: params.attachments,
27
+ });
28
+ const session = params.agentState.getSession(sessionId);
29
+ const turn = await session.prompt({
30
+ query: executeInput,
31
+ });
32
+ const result = await turn.finished;
33
+ return {
34
+ success: result.success,
35
+ ...(result.error ? { error: result.error } : {}),
36
+ assistantMessage: result.assistantMessage,
37
+ userVisible: result.text.trim(),
38
+ queued: false,
39
+ };
40
+ }
41
+ //# sourceMappingURL=ExecuteBySession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecuteBySession.js","sourceRoot":"","sources":["../../../src/agent/control/ExecuteBySession.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAKxC;IACC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC;QAC/C,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;QACvC,SAAS;QACT,YAAY;QACZ,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;QAChC,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;IAEnC,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QAC/B,MAAM,EAAE,KAAK;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Control execute 输入拼装 helper。
3
+ *
4
+ * 关键点(中文)
5
+ * - 负责把 API 传入的附件规范化并落盘。
6
+ * - 最终统一转成 `<file>` 标签注入到 user message。
7
+ */
8
+ import type { ControlSessionExecuteAttachmentInput } from "../../agent/control/types/ControlSessionExecute.js";
9
+ /**
10
+ * 构造 execute 入站文本。
11
+ */
12
+ export declare function buildExecuteInputText(params: {
13
+ projectRoot: string;
14
+ sessionId: string;
15
+ instructions: string;
16
+ attachments?: ControlSessionExecuteAttachmentInput[];
17
+ }): Promise<string>;
18
+ //# sourceMappingURL=ExecuteInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecuteInput.d.ts","sourceRoot":"","sources":["../../../src/agent/control/ExecuteInput.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,oCAAoC,EAErC,MAAM,gDAAgD,CAAC;AA0KxD;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,oCAAoC,EAAE,CAAC;CACtD,GAAG,OAAO,CAAC,MAAM,CAAC,CA0ClB"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Control execute 输入拼装 helper。
3
+ *
4
+ * 关键点(中文)
5
+ * - 负责把 API 传入的附件规范化并落盘。
6
+ * - 最终统一转成 `<file>` 标签注入到 user message。
7
+ */
8
+ import fs from "fs-extra";
9
+ import path from "node:path";
10
+ import { getCacheDirPath } from "../../config/Paths.js";
11
+ import { renderChatMessageFileTag } from "@downcity/agent/internal/executor/messages/ChatMessageMarkup.js";
12
+ const EXECUTE_ATTACHMENT_MAX_COUNT = 8;
13
+ const EXECUTE_ATTACHMENT_MAX_BYTES = 2 * 1024 * 1024;
14
+ const EXECUTE_ATTACHMENT_CONTENT_MAX_CHARS = 1_500_000;
15
+ const EXECUTE_ATTACHMENT_FALLBACK_TEXT = "请查看以上附件并按用户要求处理。";
16
+ function normalizeExecuteAttachmentType(value) {
17
+ const raw = String(value || "")
18
+ .trim()
19
+ .toLowerCase();
20
+ if (raw === "photo" ||
21
+ raw === "voice" ||
22
+ raw === "audio" ||
23
+ raw === "video") {
24
+ return raw;
25
+ }
26
+ return "document";
27
+ }
28
+ function normalizeAttachmentCaption(value) {
29
+ const text = String(value || "")
30
+ .replace(/\r?\n+/g, " ")
31
+ .replace(/\s+/g, " ")
32
+ .replace(/\|/g, "/")
33
+ .trim();
34
+ if (!text)
35
+ return undefined;
36
+ return text.slice(0, 180);
37
+ }
38
+ function toProjectRelativePath(projectRoot, absPath) {
39
+ const relative = path.relative(projectRoot, absPath);
40
+ if (!relative)
41
+ return null;
42
+ if (relative.startsWith(".."))
43
+ return null;
44
+ if (path.isAbsolute(relative))
45
+ return null;
46
+ return relative.split(path.sep).join("/");
47
+ }
48
+ function normalizeAttachmentFileName(params) {
49
+ const raw = String(params.fileName || "").trim();
50
+ const base = (raw || "attachment")
51
+ .replace(/[\\/:*?"<>|]/g, "-")
52
+ .replace(/\s+/g, "-")
53
+ .replace(/-+/g, "-")
54
+ .replace(/^\.+/, "")
55
+ .replace(/^-+|-+$/g, "")
56
+ .slice(0, 72);
57
+ const safeBase = base || "attachment";
58
+ const fallbackExt = params.fallbackExt.startsWith(".")
59
+ ? params.fallbackExt
60
+ : `.${params.fallbackExt}`;
61
+ const hasExt = /\.[A-Za-z0-9]+$/.test(safeBase);
62
+ return hasExt ? safeBase : `${safeBase}${fallbackExt}`;
63
+ }
64
+ function inferAttachmentExt(params) {
65
+ const fromFileName = path.extname(String(params.fileName || "").trim())
66
+ .toLowerCase()
67
+ .trim();
68
+ if (fromFileName)
69
+ return fromFileName;
70
+ const contentType = String(params.contentType || "").toLowerCase();
71
+ if (contentType.includes("markdown"))
72
+ return ".md";
73
+ if (contentType.includes("json"))
74
+ return ".json";
75
+ if (contentType.includes("html"))
76
+ return ".html";
77
+ if (contentType.includes("plain"))
78
+ return ".txt";
79
+ if (params.type === "photo")
80
+ return ".jpg";
81
+ if (params.type === "voice" || params.type === "audio")
82
+ return ".mp3";
83
+ if (params.type === "video")
84
+ return ".mp4";
85
+ return ".md";
86
+ }
87
+ async function resolveAttachmentPathFromInput(params) {
88
+ const rawPath = String(params.attachment.path || "").trim();
89
+ if (!rawPath)
90
+ return null;
91
+ const abs = path.isAbsolute(rawPath)
92
+ ? path.normalize(rawPath)
93
+ : path.resolve(params.projectRoot, rawPath);
94
+ const relative = toProjectRelativePath(params.projectRoot, abs);
95
+ if (!relative)
96
+ return null;
97
+ const stat = await fs
98
+ .stat(abs)
99
+ .then((value) => value)
100
+ .catch(() => null);
101
+ if (!stat?.isFile())
102
+ return null;
103
+ return relative;
104
+ }
105
+ function resolveAttachmentBytes(attachment) {
106
+ const textContent = typeof attachment.content === "string" ? attachment.content : "";
107
+ if (textContent) {
108
+ const clipped = textContent.slice(0, EXECUTE_ATTACHMENT_CONTENT_MAX_CHARS);
109
+ return Buffer.from(clipped, "utf8");
110
+ }
111
+ const base64 = String(attachment.contentBase64 || "").trim();
112
+ if (!base64)
113
+ return null;
114
+ try {
115
+ return Buffer.from(base64, "base64");
116
+ }
117
+ catch {
118
+ return null;
119
+ }
120
+ }
121
+ async function materializeAttachmentContent(params) {
122
+ const bytes = resolveAttachmentBytes(params.attachment);
123
+ if (!bytes || bytes.length <= 0)
124
+ return null;
125
+ if (bytes.length > EXECUTE_ATTACHMENT_MAX_BYTES) {
126
+ throw new Error(`Attachment too large (>${EXECUTE_ATTACHMENT_MAX_BYTES} bytes)`);
127
+ }
128
+ const type = normalizeExecuteAttachmentType(params.attachment.type);
129
+ const ext = inferAttachmentExt({
130
+ type,
131
+ fileName: params.attachment.fileName,
132
+ contentType: params.attachment.contentType,
133
+ });
134
+ const safeName = normalizeAttachmentFileName({
135
+ fileName: params.attachment.fileName,
136
+ fallbackExt: ext,
137
+ });
138
+ const safeContext = String(params.sessionId || "session")
139
+ .replace(/[^A-Za-z0-9_-]+/g, "-")
140
+ .replace(/-+/g, "-")
141
+ .replace(/^-+|-+$/g, "")
142
+ .slice(0, 32);
143
+ const prefix = safeContext || "context";
144
+ const fileName = `${Date.now()}-${prefix}-${String(params.index + 1).padStart(2, "0")}-${safeName}`;
145
+ const cacheDir = path.join(getCacheDirPath(params.projectRoot), "chrome-extension");
146
+ await fs.ensureDir(cacheDir);
147
+ const absPath = path.join(cacheDir, fileName);
148
+ await fs.writeFile(absPath, bytes);
149
+ return toProjectRelativePath(params.projectRoot, absPath);
150
+ }
151
+ function toAttachmentLine(params) {
152
+ return renderChatMessageFileTag({
153
+ type: params.type,
154
+ path: params.relativePath,
155
+ ...(params.caption ? { caption: params.caption } : {}),
156
+ });
157
+ }
158
+ /**
159
+ * 构造 execute 入站文本。
160
+ */
161
+ export async function buildExecuteInputText(params) {
162
+ const instructions = String(params.instructions || "").trim();
163
+ const inputAttachments = Array.isArray(params.attachments)
164
+ ? params.attachments.slice(0, EXECUTE_ATTACHMENT_MAX_COUNT)
165
+ : [];
166
+ if (inputAttachments.length === 0)
167
+ return instructions;
168
+ const lines = [];
169
+ for (let index = 0; index < inputAttachments.length; index += 1) {
170
+ const attachment = inputAttachments[index];
171
+ if (!attachment || typeof attachment !== "object")
172
+ continue;
173
+ const type = normalizeExecuteAttachmentType(attachment.type);
174
+ const caption = normalizeAttachmentCaption(attachment.caption);
175
+ const reusePath = await resolveAttachmentPathFromInput({
176
+ projectRoot: params.projectRoot,
177
+ attachment,
178
+ });
179
+ const relativePath = reusePath ||
180
+ (await materializeAttachmentContent({
181
+ projectRoot: params.projectRoot,
182
+ sessionId: params.sessionId,
183
+ attachment,
184
+ index,
185
+ }));
186
+ if (!relativePath)
187
+ continue;
188
+ lines.push(toAttachmentLine({
189
+ type,
190
+ relativePath,
191
+ ...(caption ? { caption } : {}),
192
+ }));
193
+ }
194
+ if (lines.length === 0)
195
+ return instructions;
196
+ return [lines.join("\n"), instructions || EXECUTE_ATTACHMENT_FALLBACK_TEXT]
197
+ .filter(Boolean)
198
+ .join("\n\n")
199
+ .trim();
200
+ }
201
+ //# sourceMappingURL=ExecuteInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecuteInput.js","sourceRoot":"","sources":["../../../src/agent/control/ExecuteInput.ts"],"names":[],"mappings":"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"}