downcity 1.1.71 → 1.1.76

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 (47) hide show
  1. package/package.json +4 -4
  2. package/town/agent/AgentChat.d.ts.map +1 -1
  3. package/town/agent/AgentChat.js +34 -3
  4. package/town/agent/AgentChat.js.map +1 -1
  5. package/town/agent/AgentChatInteractiveRenderer.d.ts +44 -0
  6. package/town/agent/AgentChatInteractiveRenderer.d.ts.map +1 -0
  7. package/town/agent/AgentChatInteractiveRenderer.js +154 -0
  8. package/town/agent/AgentChatInteractiveRenderer.js.map +1 -0
  9. package/town/agent/AgentChatToolFormatter.d.ts +25 -0
  10. package/town/agent/AgentChatToolFormatter.d.ts.map +1 -0
  11. package/town/agent/AgentChatToolFormatter.js +114 -0
  12. package/town/agent/AgentChatToolFormatter.js.map +1 -0
  13. package/town/control/AgentSdkPublishRoutes.d.ts +34 -0
  14. package/town/control/AgentSdkPublishRoutes.d.ts.map +1 -0
  15. package/town/control/AgentSdkPublishRoutes.js +293 -0
  16. package/town/control/AgentSdkPublishRoutes.js.map +1 -0
  17. package/town/control/AgentStatusApiRoutes.d.ts +3 -0
  18. package/town/control/AgentStatusApiRoutes.d.ts.map +1 -1
  19. package/town/control/AgentStatusApiRoutes.js +21 -33
  20. package/town/control/AgentStatusApiRoutes.js.map +1 -1
  21. package/town/control/ControlGateway.d.ts +2 -0
  22. package/town/control/ControlGateway.d.ts.map +1 -1
  23. package/town/control/ControlGateway.js +35 -3
  24. package/town/control/ControlGateway.js.map +1 -1
  25. package/town/control/PlatformApiRoutes.d.ts +3 -0
  26. package/town/control/PlatformApiRoutes.d.ts.map +1 -1
  27. package/town/control/PlatformApiRoutes.js +2 -0
  28. package/town/control/PlatformApiRoutes.js.map +1 -1
  29. package/town/control/PluginApiRoutes.d.ts +5 -0
  30. package/town/control/PluginApiRoutes.d.ts.map +1 -1
  31. package/town/control/PluginApiRoutes.js +24 -63
  32. package/town/control/PluginApiRoutes.js.map +1 -1
  33. package/town/control/gateway/AgentCatalog.d.ts +11 -2
  34. package/town/control/gateway/AgentCatalog.d.ts.map +1 -1
  35. package/town/control/gateway/AgentCatalog.js +43 -28
  36. package/town/control/gateway/AgentCatalog.js.map +1 -1
  37. package/town/control/gateway/AgentRpcPool.d.ts +40 -0
  38. package/town/control/gateway/AgentRpcPool.d.ts.map +1 -0
  39. package/town/control/gateway/AgentRpcPool.js +56 -0
  40. package/town/control/gateway/AgentRpcPool.js.map +1 -0
  41. package/town/http/auth/RoutePolicy.d.ts.map +1 -1
  42. package/town/http/auth/RoutePolicy.js +6 -0
  43. package/town/http/auth/RoutePolicy.js.map +1 -1
  44. package/town/types/AgentChatInteractive.d.ts +24 -0
  45. package/town/types/AgentChatInteractive.d.ts.map +1 -0
  46. package/town/types/AgentChatInteractive.js +9 -0
  47. package/town/types/AgentChatInteractive.js.map +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "downcity",
3
- "version": "1.1.71",
3
+ "version": "1.1.76",
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.63",
49
- "@downcity/city": "^0.2.26",
50
- "@downcity/plugins": "^1.0.21"
48
+ "@downcity/agent": "^1.1.69",
49
+ "@downcity/plugins": "^1.0.26",
50
+ "@downcity/city": "^0.2.32"
51
51
  },
52
52
  "scripts": {
53
53
  "build": "node scripts/copy-cli-products.mjs && node scripts/ensure-cli-executable.mjs",
@@ -1 +1 @@
1
- {"version":3,"file":"AgentChat.d.ts","sourceRoot":"","sources":["../../src/agent/AgentChat.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuBH,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAEzB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AA2W7B;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,yBAAyB,CAAC;CACvC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAwCrC;AAgID;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC7E"}
1
+ {"version":3,"file":"AgentChat.d.ts","sourceRoot":"","sources":["../../src/agent/AgentChat.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuBH,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAwY7B;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,yBAAyB,CAAC;CACvC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAwCrC;AAiID;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC7E"}
@@ -19,6 +19,7 @@ import { listRegisteredAgentsForCli } from "./AgentSelection.js";
19
19
  import { resolveDaemonEndpoint, resolveDaemonRpcEndpoint, } from "../process/daemon/Client.js";
20
20
  import { getDaemonMetaPath } from "../process/daemon/Manager.js";
21
21
  import { AGENT_CHAT_DEFAULT_SESSION_ID } from "./AgentChatTypes.js";
22
+ import { AgentChatInteractiveRenderer } from "./AgentChatInteractiveRenderer.js";
22
23
  function normalizeChatMessage(input) {
23
24
  return String(input || "").trim();
24
25
  }
@@ -250,7 +251,12 @@ async function runSdkPromptTurn(params) {
250
251
  let emitted_visible_text = false;
251
252
  let final_text = "";
252
253
  let target_turn_id = "";
254
+ const pending_events = [];
253
255
  const renderEvent = (event) => {
256
+ if (params.interactiveRenderer) {
257
+ params.interactiveRenderer.render_event(event);
258
+ return;
259
+ }
254
260
  if (event.type !== "text-delta" || event.turnId !== target_turn_id || !event.text) {
255
261
  return;
256
262
  }
@@ -264,17 +270,37 @@ async function runSdkPromptTurn(params) {
264
270
  emitted_visible_text = true;
265
271
  };
266
272
  const unsubscribe = session.subscribe((event) => {
273
+ if (!target_turn_id) {
274
+ pending_events.push(event);
275
+ return;
276
+ }
277
+ if ("turnId" in event && event.turnId && event.turnId !== target_turn_id)
278
+ return;
267
279
  renderEvent(event);
268
- if (event.type === "turn-finish" && event.turnId === target_turn_id) {
280
+ if (event.type === "turn-finish") {
269
281
  final_text = event.text;
270
282
  }
271
283
  });
272
284
  try {
285
+ params.interactiveRenderer?.start_turn();
273
286
  const turn = await session.prompt({ query: message });
274
287
  target_turn_id = turn.id;
288
+ params.interactiveRenderer?.attach_turn_id(target_turn_id);
289
+ for (const event of pending_events) {
290
+ if ("turnId" in event && event.turnId && event.turnId !== target_turn_id)
291
+ continue;
292
+ renderEvent(event);
293
+ if (event.type === "turn-finish") {
294
+ final_text = event.text;
295
+ }
296
+ }
275
297
  const result = await turn.finished;
276
298
  final_text = result.text;
277
- if (printed_leading_newline) {
299
+ if (params.interactiveRenderer) {
300
+ emitted_visible_text =
301
+ params.interactiveRenderer.finish_turn().emitted_visible_text;
302
+ }
303
+ else if (printed_leading_newline) {
278
304
  process.stdout.write("\n\n");
279
305
  }
280
306
  return {
@@ -285,7 +311,11 @@ async function runSdkPromptTurn(params) {
285
311
  };
286
312
  }
287
313
  catch (error) {
288
- if (printed_leading_newline) {
314
+ if (params.interactiveRenderer) {
315
+ emitted_visible_text =
316
+ params.interactiveRenderer.finish_turn().emitted_visible_text;
317
+ }
318
+ else if (printed_leading_newline) {
289
319
  process.stdout.write("\n\n");
290
320
  }
291
321
  return {
@@ -437,6 +467,7 @@ async function runInteractiveChat(params) {
437
467
  host: params.options.host,
438
468
  port: params.options.port,
439
469
  },
470
+ interactiveRenderer: new AgentChatInteractiveRenderer(),
440
471
  });
441
472
  if (!outcome.success) {
442
473
  printAgentChatFailure({
@@ -1 +1 @@
1
- {"version":3,"file":"AgentChat.js","sourceRoot":"","sources":["../../src/agent/AgentChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentChat.js","sourceRoot":"","sources":["../../src/agent/AgentChat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * `town agent chat` 交互式终端渲染器。
3
+ *
4
+ * 职责说明(中文)
5
+ * - 只服务于交互式 `town agent chat`,不参与 `--message` 一次性输出。
6
+ * - 负责 spinner 生命周期、tool 事件可见性,以及 assistant 文本流式渲染。
7
+ * - 把“终端展示状态机”从主命令流程中拆出,降低 `AgentChat.ts` 复杂度。
8
+ */
9
+ import type { AgentSessionEvent } from "@downcity/agent";
10
+ import type { AgentChatInteractiveRenderSnapshot } from "../types/AgentChatInteractive.js";
11
+ /**
12
+ * 交互式单轮渲染器。
13
+ */
14
+ export declare class AgentChatInteractiveRenderer {
15
+ private spinner;
16
+ private spinner_text;
17
+ private emitted_visible_text;
18
+ private text_stream_open;
19
+ private has_block_output;
20
+ private active_turn_id;
21
+ private readonly spinner_enabled;
22
+ constructor();
23
+ /**
24
+ * 启动新一轮交互渲染。
25
+ */
26
+ start_turn(): void;
27
+ /**
28
+ * 绑定当前 turn id。
29
+ */
30
+ attach_turn_id(turn_id: string): void;
31
+ /**
32
+ * 渲染单个 session 事件。
33
+ */
34
+ render_event(event: AgentSessionEvent): void;
35
+ /**
36
+ * 结束当前一轮渲染,补齐末尾换行。
37
+ */
38
+ finish_turn(): AgentChatInteractiveRenderSnapshot;
39
+ private set_spinner_text;
40
+ private stop_spinner;
41
+ private print_text_delta;
42
+ private print_tool_block;
43
+ }
44
+ //# sourceMappingURL=AgentChatInteractiveRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChatInteractiveRenderer.d.ts","sourceRoot":"","sources":["../../src/agent/AgentChatInteractiveRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAkB1F;;GAEG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;;IAM1C;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAiD5C;;OAEG;IACH,WAAW,IAAI,kCAAkC;IAYjD,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,gBAAgB;CAmBzB"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * `town agent chat` 交互式终端渲染器。
3
+ *
4
+ * 职责说明(中文)
5
+ * - 只服务于交互式 `town agent chat`,不参与 `--message` 一次性输出。
6
+ * - 负责 spinner 生命周期、tool 事件可见性,以及 assistant 文本流式渲染。
7
+ * - 把“终端展示状态机”从主命令流程中拆出,降低 `AgentChat.ts` 复杂度。
8
+ */
9
+ import chalk from "chalk";
10
+ import { createSpinner, shouldRenderSpinner, } from "../utils/cli/Spinner.js";
11
+ import { format_tool_call_block, format_tool_result_block, } from "./AgentChatToolFormatter.js";
12
+ function extract_event_turn_id(event) {
13
+ if ("turnId" in event && typeof event.turnId === "string") {
14
+ return event.turnId;
15
+ }
16
+ return "";
17
+ }
18
+ /**
19
+ * 交互式单轮渲染器。
20
+ */
21
+ export class AgentChatInteractiveRenderer {
22
+ spinner = null;
23
+ spinner_text = "";
24
+ emitted_visible_text = false;
25
+ text_stream_open = false;
26
+ has_block_output = false;
27
+ active_turn_id = "";
28
+ spinner_enabled;
29
+ constructor() {
30
+ this.spinner_enabled = shouldRenderSpinner();
31
+ }
32
+ /**
33
+ * 启动新一轮交互渲染。
34
+ */
35
+ start_turn() {
36
+ this.active_turn_id = "";
37
+ this.emitted_visible_text = false;
38
+ this.text_stream_open = false;
39
+ this.has_block_output = false;
40
+ this.set_spinner_text("Thinking...");
41
+ }
42
+ /**
43
+ * 绑定当前 turn id。
44
+ */
45
+ attach_turn_id(turn_id) {
46
+ this.active_turn_id = String(turn_id || "").trim();
47
+ }
48
+ /**
49
+ * 渲染单个 session 事件。
50
+ */
51
+ render_event(event) {
52
+ const event_turn_id = extract_event_turn_id(event);
53
+ if (event_turn_id && this.active_turn_id && event_turn_id !== this.active_turn_id) {
54
+ return;
55
+ }
56
+ switch (event.type) {
57
+ case "turn-start":
58
+ this.attach_turn_id(event.turnId);
59
+ this.set_spinner_text("Thinking...");
60
+ return;
61
+ case "tool-call":
62
+ this.print_tool_block(format_tool_call_block({
63
+ tool_name: event.toolName,
64
+ args: event.args,
65
+ }));
66
+ this.set_spinner_text(`Running ${event.toolName}...`);
67
+ return;
68
+ case "tool-result":
69
+ this.print_tool_block(format_tool_result_block({
70
+ tool_name: event.toolName,
71
+ result: event.result,
72
+ }));
73
+ this.set_spinner_text("Thinking...");
74
+ return;
75
+ case "error":
76
+ this.stop_spinner();
77
+ return;
78
+ case "turn-finish":
79
+ this.stop_spinner();
80
+ return;
81
+ case "assistant-step":
82
+ case "session-title":
83
+ return;
84
+ case "reasoning-delta":
85
+ this.set_spinner_text("Thinking...");
86
+ return;
87
+ case "text-delta":
88
+ this.print_text_delta(event.text);
89
+ return;
90
+ default:
91
+ return;
92
+ }
93
+ }
94
+ /**
95
+ * 结束当前一轮渲染,补齐末尾换行。
96
+ */
97
+ finish_turn() {
98
+ this.stop_spinner();
99
+ if (this.text_stream_open) {
100
+ process.stdout.write("\n\n");
101
+ this.text_stream_open = false;
102
+ this.has_block_output = true;
103
+ }
104
+ return {
105
+ emitted_visible_text: this.emitted_visible_text,
106
+ };
107
+ }
108
+ set_spinner_text(spinner_text) {
109
+ const normalized_text = String(spinner_text || "").trim() || "Thinking...";
110
+ if (!this.spinner_enabled)
111
+ return;
112
+ if (this.spinner && this.spinner_text === normalized_text)
113
+ return;
114
+ this.stop_spinner();
115
+ this.spinner_text = normalized_text;
116
+ this.spinner = createSpinner({
117
+ text: normalized_text,
118
+ });
119
+ this.spinner.start();
120
+ }
121
+ stop_spinner() {
122
+ if (!this.spinner)
123
+ return;
124
+ this.spinner.stop();
125
+ this.spinner = null;
126
+ }
127
+ print_text_delta(text) {
128
+ if (!text)
129
+ return;
130
+ this.stop_spinner();
131
+ if (!this.text_stream_open) {
132
+ process.stdout.write("\n");
133
+ this.text_stream_open = true;
134
+ }
135
+ process.stdout.write(text);
136
+ this.emitted_visible_text = true;
137
+ }
138
+ print_tool_block(block) {
139
+ this.stop_spinner();
140
+ if (this.text_stream_open) {
141
+ process.stdout.write("\n\n");
142
+ this.text_stream_open = false;
143
+ }
144
+ else if (this.has_block_output) {
145
+ process.stdout.write("\n");
146
+ }
147
+ console.log(chalk.cyan(block.title));
148
+ for (const detail_line of block.detail_lines) {
149
+ console.log(chalk.dim(` ${detail_line}`));
150
+ }
151
+ this.has_block_output = true;
152
+ }
153
+ }
154
+ //# sourceMappingURL=AgentChatInteractiveRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChatInteractiveRenderer.js","sourceRoot":"","sources":["../../src/agent/AgentChatInteractiveRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * `town agent chat` tool 事件摘要格式化。
3
+ *
4
+ * 职责说明(中文)
5
+ * - 将 tool call / tool result / tool error 事件格式化成适合交互式终端展示的简洁文本。
6
+ * - 避免把完整大 JSON 或超长输出直接刷到终端,保持可读性与节奏感。
7
+ * - 为后续继续贴近 Codex CLI / Claude Code 风格保留独立演进边界。
8
+ */
9
+ import type { JsonValue } from "@downcity/agent";
10
+ import type { AgentChatToolDisplayBlock } from "../types/AgentChatInteractive.js";
11
+ /**
12
+ * 格式化 tool 开始事件。
13
+ */
14
+ export declare function format_tool_call_block(params: {
15
+ tool_name: string;
16
+ args: JsonValue;
17
+ }): AgentChatToolDisplayBlock;
18
+ /**
19
+ * 格式化 tool 完成事件。
20
+ */
21
+ export declare function format_tool_result_block(params: {
22
+ tool_name: string;
23
+ result: JsonValue;
24
+ }): AgentChatToolDisplayBlock;
25
+ //# sourceMappingURL=AgentChatToolFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChatToolFormatter.d.ts","sourceRoot":"","sources":["../../src/agent/AgentChatToolFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AA0GjF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB,GAAG,yBAAyB,CAK5B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;CACnB,GAAG,yBAAyB,CAK5B"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * `town agent chat` tool 事件摘要格式化。
3
+ *
4
+ * 职责说明(中文)
5
+ * - 将 tool call / tool result / tool error 事件格式化成适合交互式终端展示的简洁文本。
6
+ * - 避免把完整大 JSON 或超长输出直接刷到终端,保持可读性与节奏感。
7
+ * - 为后续继续贴近 Codex CLI / Claude Code 风格保留独立演进边界。
8
+ */
9
+ const MAX_INLINE_TEXT_LENGTH = 120;
10
+ const MAX_JSON_PREVIEW_LENGTH = 160;
11
+ const MAX_OBJECT_KEYS_PREVIEW = 4;
12
+ function truncate_inline_text(input, max_length) {
13
+ const normalized_text = String(input || "").replace(/\s+/g, " ").trim();
14
+ if (normalized_text.length <= max_length)
15
+ return normalized_text;
16
+ return `${normalized_text.slice(0, Math.max(0, max_length - 3))}...`;
17
+ }
18
+ function stringify_json_preview(value, max_length) {
19
+ try {
20
+ const json_text = JSON.stringify(value);
21
+ return truncate_inline_text(json_text, max_length);
22
+ }
23
+ catch {
24
+ return truncate_inline_text(String(value), max_length);
25
+ }
26
+ }
27
+ function is_json_object(value) {
28
+ return value !== null && typeof value === "object" && !Array.isArray(value);
29
+ }
30
+ function pick_first_text_field(value, field_names) {
31
+ for (const field_name of field_names) {
32
+ const field_value = value[field_name];
33
+ if (typeof field_value === "string" && field_value.trim()) {
34
+ return {
35
+ label: field_name,
36
+ value: truncate_inline_text(field_value, MAX_INLINE_TEXT_LENGTH),
37
+ };
38
+ }
39
+ }
40
+ return null;
41
+ }
42
+ function summarize_object_shape(value) {
43
+ const object_keys = Object.keys(value);
44
+ if (object_keys.length === 0)
45
+ return "{}";
46
+ const preview_keys = object_keys.slice(0, MAX_OBJECT_KEYS_PREVIEW);
47
+ const suffix = object_keys.length > MAX_OBJECT_KEYS_PREVIEW
48
+ ? `, +${String(object_keys.length - MAX_OBJECT_KEYS_PREVIEW)}`
49
+ : "";
50
+ return `{${preview_keys.join(", ")}${suffix}}`;
51
+ }
52
+ function summarize_tool_args(args) {
53
+ if (typeof args === "string" && args.trim()) {
54
+ return [`input: ${truncate_inline_text(args, MAX_INLINE_TEXT_LENGTH)}`];
55
+ }
56
+ if (Array.isArray(args)) {
57
+ return [`input: [${String(args.length)} item${args.length === 1 ? "" : "s"}]`];
58
+ }
59
+ if (is_json_object(args)) {
60
+ const prioritized_field = pick_first_text_field(args, ["cmd", "command", "query", "path", "url", "text"]) ||
61
+ pick_first_text_field(args, ["message", "prompt", "pattern", "name"]);
62
+ if (prioritized_field) {
63
+ return [`${prioritized_field.label}: ${prioritized_field.value}`];
64
+ }
65
+ return [
66
+ `input: ${truncate_inline_text(summarize_object_shape(args), MAX_INLINE_TEXT_LENGTH)}`,
67
+ `json: ${stringify_json_preview(args, MAX_JSON_PREVIEW_LENGTH)}`,
68
+ ];
69
+ }
70
+ if (args === null)
71
+ return [];
72
+ return [`input: ${truncate_inline_text(String(args), MAX_INLINE_TEXT_LENGTH)}`];
73
+ }
74
+ function summarize_tool_result(result) {
75
+ if (typeof result === "string" && result.trim()) {
76
+ return [`output: ${truncate_inline_text(result, MAX_INLINE_TEXT_LENGTH)}`];
77
+ }
78
+ if (Array.isArray(result)) {
79
+ return [`output: [${String(result.length)} item${result.length === 1 ? "" : "s"}]`];
80
+ }
81
+ if (is_json_object(result)) {
82
+ const prioritized_field = pick_first_text_field(result, ["stdout", "output", "text", "message", "summary"]) ||
83
+ pick_first_text_field(result, ["path", "url", "status", "id"]);
84
+ if (prioritized_field) {
85
+ return [`${prioritized_field.label}: ${prioritized_field.value}`];
86
+ }
87
+ return [
88
+ `output: ${truncate_inline_text(summarize_object_shape(result), MAX_INLINE_TEXT_LENGTH)}`,
89
+ `json: ${stringify_json_preview(result, MAX_JSON_PREVIEW_LENGTH)}`,
90
+ ];
91
+ }
92
+ if (result === null)
93
+ return ["output: null"];
94
+ return [`output: ${truncate_inline_text(String(result), MAX_INLINE_TEXT_LENGTH)}`];
95
+ }
96
+ /**
97
+ * 格式化 tool 开始事件。
98
+ */
99
+ export function format_tool_call_block(params) {
100
+ return {
101
+ title: `tool ${params.tool_name} running`,
102
+ detail_lines: summarize_tool_args(params.args),
103
+ };
104
+ }
105
+ /**
106
+ * 格式化 tool 完成事件。
107
+ */
108
+ export function format_tool_result_block(params) {
109
+ return {
110
+ title: `tool ${params.tool_name} done`,
111
+ detail_lines: summarize_tool_result(params.result),
112
+ };
113
+ }
114
+ //# sourceMappingURL=AgentChatToolFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChatToolFormatter.js","sourceRoot":"","sources":["../../src/agent/AgentChatToolFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Town Agent SDK 发布路由。
3
+ *
4
+ * 关键点(中文)
5
+ * - Town 对外暴露 HTTP SDK 面,Agent 只作为内部 RPC 服务被调用。
6
+ * - 路由保持 RemoteAgent HTTP transport 的既有路径:`/agents/:agentId/api/sdk/...`。
7
+ * - 本模块只做协议转换,不引入 Town SDK 包,也不实现第二套 session 编排器。
8
+ */
9
+ import { Hono } from "hono";
10
+ import type { AgentRpcPool } from "../control/gateway/AgentRpcPool.js";
11
+ /**
12
+ * Town Agent SDK 发布路由依赖。
13
+ */
14
+ export interface AgentSdkPublishRouteHandlers {
15
+ /** Town 维护的 Agent RPC 连接池。 */
16
+ agentRpcPool: AgentRpcPool;
17
+ }
18
+ /**
19
+ * Town Agent SDK 发布路由运行时句柄。
20
+ */
21
+ export interface AgentSdkPublishRoutesRuntime {
22
+ /**
23
+ * 关闭当前发布路由缓存的 RPC 连接。
24
+ */
25
+ close(): Promise<void>;
26
+ }
27
+ /**
28
+ * 注册 Town 对外发布的 Agent SDK HTTP 路由。
29
+ */
30
+ export declare function registerAgentSdkPublishRoutes(params: {
31
+ app: Hono;
32
+ handlers: AgentSdkPublishRouteHandlers;
33
+ }): AgentSdkPublishRoutesRuntime;
34
+ //# sourceMappingURL=AgentSdkPublishRoutes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSdkPublishRoutes.d.ts","sourceRoot":"","sources":["../../src/control/AgentSdkPublishRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAOtE;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,8BAA8B;IAC9B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,EAAE,4BAA4B,CAAC;CACxC,GAAG,4BAA4B,CA+P/B"}