@downcity/plugins 1.0.174 → 1.0.193

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 (301) hide show
  1. package/bin/BuiltinPlugins.d.ts +4 -9
  2. package/bin/BuiltinPlugins.d.ts.map +1 -1
  3. package/bin/BuiltinPlugins.js +4 -8
  4. package/bin/BuiltinPlugins.js.map +1 -1
  5. package/bin/chat/Action.d.ts +8 -2
  6. package/bin/chat/Action.d.ts.map +1 -1
  7. package/bin/chat/Action.js +9 -5
  8. package/bin/chat/Action.js.map +1 -1
  9. package/bin/chat/ChatPlugin.d.ts +2 -22
  10. package/bin/chat/ChatPlugin.d.ts.map +1 -1
  11. package/bin/chat/ChatPlugin.js +2 -21
  12. package/bin/chat/ChatPlugin.js.map +1 -1
  13. package/bin/chat/Index.d.ts +1 -1
  14. package/bin/chat/Index.d.ts.map +1 -1
  15. package/bin/chat/channels/BaseChatChannel.js +1 -1
  16. package/bin/chat/channels/BaseChatChannel.js.map +1 -1
  17. package/bin/chat/channels/Configuration.d.ts +1 -1
  18. package/bin/chat/channels/Configuration.js +1 -1
  19. package/bin/chat/channels/RuntimeChannel.d.ts +2 -3
  20. package/bin/chat/channels/RuntimeChannel.d.ts.map +1 -1
  21. package/bin/chat/channels/RuntimeChannel.js +0 -8
  22. package/bin/chat/channels/RuntimeChannel.js.map +1 -1
  23. package/bin/chat/channels/feishu/Feishu.d.ts.map +1 -1
  24. package/bin/chat/channels/feishu/Feishu.js +2 -1
  25. package/bin/chat/channels/feishu/Feishu.js.map +1 -1
  26. package/bin/chat/runtime/ChannelContextStore.d.ts.map +1 -1
  27. package/bin/chat/runtime/ChannelContextStore.js +13 -12
  28. package/bin/chat/runtime/ChannelContextStore.js.map +1 -1
  29. package/bin/chat/runtime/ChatActionExecution.d.ts +26 -1
  30. package/bin/chat/runtime/ChatActionExecution.d.ts.map +1 -1
  31. package/bin/chat/runtime/ChatActionExecution.js +31 -3
  32. package/bin/chat/runtime/ChatActionExecution.js.map +1 -1
  33. package/bin/chat/runtime/ChatActionInput.d.ts +1 -2
  34. package/bin/chat/runtime/ChatActionInput.d.ts.map +1 -1
  35. package/bin/chat/runtime/ChatActionInput.js +1 -27
  36. package/bin/chat/runtime/ChatActionInput.js.map +1 -1
  37. package/bin/chat/runtime/ChatChannelActions.d.ts +2 -66
  38. package/bin/chat/runtime/ChatChannelActions.d.ts.map +1 -1
  39. package/bin/chat/runtime/ChatChannelActions.js +3 -195
  40. package/bin/chat/runtime/ChatChannelActions.js.map +1 -1
  41. package/bin/chat/runtime/ChatChannelConfig.d.ts +2 -23
  42. package/bin/chat/runtime/ChatChannelConfig.d.ts.map +1 -1
  43. package/bin/chat/runtime/ChatChannelConfig.js +3 -116
  44. package/bin/chat/runtime/ChatChannelConfig.js.map +1 -1
  45. package/bin/chat/runtime/ChatChannelCore.d.ts +0 -14
  46. package/bin/chat/runtime/ChatChannelCore.d.ts.map +1 -1
  47. package/bin/chat/runtime/ChatChannelCore.js +1 -1
  48. package/bin/chat/runtime/ChatChannelCore.js.map +1 -1
  49. package/bin/chat/runtime/ChatChannelFacade.d.ts +1 -1
  50. package/bin/chat/runtime/ChatChannelFacade.d.ts.map +1 -1
  51. package/bin/chat/runtime/ChatChannelFacade.js +1 -1
  52. package/bin/chat/runtime/ChatChannelFacade.js.map +1 -1
  53. package/bin/chat/runtime/ChatHistoryStore.d.ts.map +1 -1
  54. package/bin/chat/runtime/ChatHistoryStore.js +4 -3
  55. package/bin/chat/runtime/ChatHistoryStore.js.map +1 -1
  56. package/bin/chat/runtime/ChatPluginActionRegistry.d.ts.map +1 -1
  57. package/bin/chat/runtime/ChatPluginActionRegistry.js +27 -89
  58. package/bin/chat/runtime/ChatPluginActionRegistry.js.map +1 -1
  59. package/bin/chat/runtime/ChatPluginSystem.d.ts +3 -2
  60. package/bin/chat/runtime/ChatPluginSystem.d.ts.map +1 -1
  61. package/bin/chat/runtime/ChatPluginSystem.js +5 -5
  62. package/bin/chat/runtime/ChatPluginSystem.js.map +1 -1
  63. package/bin/chat/runtime/ChatQueueStore.d.ts +1 -1
  64. package/bin/chat/runtime/ChatQueueStore.js +2 -2
  65. package/bin/chat/runtime/ChatQueueStore.js.map +1 -1
  66. package/bin/chat/runtime/ChatQueueWorker.js +1 -1
  67. package/bin/chat/runtime/ChatQueueWorker.js.map +1 -1
  68. package/bin/chat/runtime/ChatSessionDelete.d.ts.map +1 -1
  69. package/bin/chat/runtime/ChatSessionDelete.js +11 -20
  70. package/bin/chat/runtime/ChatSessionDelete.js.map +1 -1
  71. package/bin/chat/runtime/ChatStorage.d.ts +32 -0
  72. package/bin/chat/runtime/ChatStorage.d.ts.map +1 -0
  73. package/bin/chat/runtime/ChatStorage.js +158 -0
  74. package/bin/chat/runtime/ChatStorage.js.map +1 -0
  75. package/bin/chat/runtime/SystemPrompt.d.ts +3 -2
  76. package/bin/chat/runtime/SystemPrompt.d.ts.map +1 -1
  77. package/bin/chat/runtime/SystemPrompt.js +4 -5
  78. package/bin/chat/runtime/SystemPrompt.js.map +1 -1
  79. package/bin/chat/types/ChannelConfiguration.d.ts +2 -2
  80. package/bin/chat/types/ChatPluginActionPayload.d.ts +7 -45
  81. package/bin/chat/types/ChatPluginActionPayload.d.ts.map +1 -1
  82. package/bin/chat/types/ChatPluginOptions.d.ts +0 -21
  83. package/bin/chat/types/ChatPluginOptions.d.ts.map +1 -1
  84. package/bin/chat/types/ChatStorage.d.ts +36 -0
  85. package/bin/chat/types/ChatStorage.d.ts.map +1 -0
  86. package/bin/chat/types/ChatStorage.js +9 -0
  87. package/bin/chat/types/ChatStorage.js.map +1 -0
  88. package/bin/contact/Action.d.ts +3 -2
  89. package/bin/contact/Action.d.ts.map +1 -1
  90. package/bin/contact/Action.js +2 -2
  91. package/bin/contact/Action.js.map +1 -1
  92. package/bin/contact/ContactPlugin.d.ts.map +1 -1
  93. package/bin/contact/ContactPlugin.js +17 -14
  94. package/bin/contact/ContactPlugin.js.map +1 -1
  95. package/bin/contact/runtime/ChatRuntime.js +1 -1
  96. package/bin/contact/runtime/ChatRuntime.js.map +1 -1
  97. package/bin/contact/types/ContactPluginOptions.d.ts +4 -0
  98. package/bin/contact/types/ContactPluginOptions.d.ts.map +1 -1
  99. package/bin/index.d.ts +5 -5
  100. package/bin/index.d.ts.map +1 -1
  101. package/bin/index.js +2 -2
  102. package/bin/index.js.map +1 -1
  103. package/bin/memory/Action.d.ts.map +1 -1
  104. package/bin/memory/Action.js +16 -4
  105. package/bin/memory/Action.js.map +1 -1
  106. package/bin/memory/runtime/Store.d.ts.map +1 -1
  107. package/bin/memory/runtime/Store.js +0 -22
  108. package/bin/memory/runtime/Store.js.map +1 -1
  109. package/bin/memory/runtime/Writer.d.ts +1 -1
  110. package/bin/memory/runtime/Writer.d.ts.map +1 -1
  111. package/bin/memory/runtime/Writer.js +2 -4
  112. package/bin/memory/runtime/Writer.js.map +1 -1
  113. package/bin/skill/Command.d.ts +3 -11
  114. package/bin/skill/Command.d.ts.map +1 -1
  115. package/bin/skill/Command.js +3 -31
  116. package/bin/skill/Command.js.map +1 -1
  117. package/bin/skill/PROMPT.d.ts +1 -1
  118. package/bin/skill/PROMPT.d.ts.map +1 -1
  119. package/bin/skill/PROMPT.js +1 -1
  120. package/bin/skill/PROMPT.js.map +1 -1
  121. package/bin/skill/Plugin.d.ts +3 -2
  122. package/bin/skill/Plugin.d.ts.map +1 -1
  123. package/bin/skill/Plugin.js +37 -129
  124. package/bin/skill/Plugin.js.map +1 -1
  125. package/bin/skill/runtime/Prompt.d.ts +11 -2
  126. package/bin/skill/runtime/Prompt.d.ts.map +1 -1
  127. package/bin/skill/runtime/Prompt.js +93 -8
  128. package/bin/skill/runtime/Prompt.js.map +1 -1
  129. package/bin/skill/runtime/SystemProvider.d.ts +2 -1
  130. package/bin/skill/runtime/SystemProvider.d.ts.map +1 -1
  131. package/bin/skill/runtime/SystemProvider.js +4 -9
  132. package/bin/skill/runtime/SystemProvider.js.map +1 -1
  133. package/bin/skill/types/SkillPlugin.d.ts +6 -18
  134. package/bin/skill/types/SkillPlugin.d.ts.map +1 -1
  135. package/bin/skill/types/SkillPlugin.js +2 -2
  136. package/bin/sound/Plugin.d.ts +69 -0
  137. package/bin/sound/Plugin.d.ts.map +1 -0
  138. package/bin/sound/Plugin.js +623 -0
  139. package/bin/sound/Plugin.js.map +1 -0
  140. package/bin/sound/types/SoundPlugin.d.ts +150 -0
  141. package/bin/sound/types/SoundPlugin.d.ts.map +1 -0
  142. package/bin/sound/types/SoundPlugin.js +10 -0
  143. package/bin/sound/types/SoundPlugin.js.map +1 -0
  144. package/bin/task/Action.d.ts +2 -0
  145. package/bin/task/Action.d.ts.map +1 -1
  146. package/bin/task/Action.js +6 -0
  147. package/bin/task/Action.js.map +1 -1
  148. package/bin/task/runtime/Runner.d.ts +4 -0
  149. package/bin/task/runtime/Runner.d.ts.map +1 -1
  150. package/bin/task/runtime/Runner.js +15 -11
  151. package/bin/task/runtime/Runner.js.map +1 -1
  152. package/bin/task/runtime/TaskActionExecution.d.ts +2 -0
  153. package/bin/task/runtime/TaskActionExecution.d.ts.map +1 -1
  154. package/bin/task/runtime/TaskActionExecution.js +1 -0
  155. package/bin/task/runtime/TaskActionExecution.js.map +1 -1
  156. package/bin/task/runtime/TaskPluginActionRegistry.d.ts.map +1 -1
  157. package/bin/task/runtime/TaskPluginActionRegistry.js +1 -0
  158. package/bin/task/runtime/TaskPluginActionRegistry.js.map +1 -1
  159. package/bin/task/runtime/TaskRunChatDispatch.js +1 -1
  160. package/bin/task/runtime/TaskRunChatDispatch.js.map +1 -1
  161. package/bin/task/runtime/TaskRunnerRound.d.ts.map +1 -1
  162. package/bin/task/runtime/TaskRunnerRound.js +19 -26
  163. package/bin/task/runtime/TaskRunnerRound.js.map +1 -1
  164. package/bin/task/runtime/TaskRunnerSession.d.ts +6 -2
  165. package/bin/task/runtime/TaskRunnerSession.d.ts.map +1 -1
  166. package/bin/task/runtime/TaskRunnerSession.js +93 -72
  167. package/bin/task/runtime/TaskRunnerSession.js.map +1 -1
  168. package/bin/task/runtime/TaskRunnerTypes.d.ts +4 -4
  169. package/bin/task/runtime/TaskRunnerTypes.d.ts.map +1 -1
  170. package/bin/task/types/TaskPluginOptions.d.ts.map +1 -1
  171. package/bin/web/PROMPT.d.ts +1 -1
  172. package/bin/web/PROMPT.d.ts.map +1 -1
  173. package/bin/web/PROMPT.js +2 -2
  174. package/bin/web/PROMPT.js.map +1 -1
  175. package/bin/web/Plugin.d.ts +1 -21
  176. package/bin/web/Plugin.d.ts.map +1 -1
  177. package/bin/web/Plugin.js +14 -79
  178. package/bin/web/Plugin.js.map +1 -1
  179. package/bin/web/runtime/Prompt.d.ts +14 -0
  180. package/bin/web/runtime/Prompt.d.ts.map +1 -0
  181. package/bin/web/runtime/Prompt.js +77 -0
  182. package/bin/web/runtime/Prompt.js.map +1 -0
  183. package/bin/web/types/WebPlugin.d.ts +40 -29
  184. package/bin/web/types/WebPlugin.d.ts.map +1 -1
  185. package/bin/web/types/WebPlugin.js +11 -3
  186. package/bin/web/types/WebPlugin.js.map +1 -1
  187. package/bin/workboard/runtime/Collector.js +1 -1
  188. package/bin/workboard/runtime/Collector.js.map +1 -1
  189. package/bin/workboard/runtime/Normalizer.js +1 -1
  190. package/bin/workboard/runtime/Normalizer.js.map +1 -1
  191. package/bin/workboard/runtime/SessionSummary.d.ts.map +1 -1
  192. package/bin/workboard/runtime/SessionSummary.js +11 -38
  193. package/bin/workboard/runtime/SessionSummary.js.map +1 -1
  194. package/package.json +8 -4
  195. package/scripts/chat-access.test.mjs +1 -1
  196. package/scripts/chat-channel-config.test.mjs +15 -64
  197. package/scripts/chat-storage.test.mjs +92 -0
  198. package/scripts/skill-plugin.test.mjs +93 -0
  199. package/scripts/sound-plugin.test.mjs +250 -0
  200. package/scripts/web-plugin.test.mjs +85 -0
  201. package/src/BuiltinPlugins.ts +7 -17
  202. package/src/chat/Action.ts +16 -5
  203. package/src/chat/ChatPlugin.ts +6 -35
  204. package/src/chat/Index.ts +0 -1
  205. package/src/chat/channels/BaseChatChannel.ts +1 -1
  206. package/src/chat/channels/Configuration.ts +1 -1
  207. package/src/chat/channels/RuntimeChannel.ts +2 -14
  208. package/src/chat/channels/feishu/Feishu.ts +2 -1
  209. package/src/chat/runtime/ChannelContextStore.ts +16 -12
  210. package/src/chat/runtime/ChatActionExecution.ts +48 -3
  211. package/src/chat/runtime/ChatActionInput.ts +0 -31
  212. package/src/chat/runtime/ChatChannelActions.ts +3 -254
  213. package/src/chat/runtime/ChatChannelConfig.ts +4 -133
  214. package/src/chat/runtime/ChatChannelCore.ts +1 -15
  215. package/src/chat/runtime/ChatChannelFacade.ts +0 -4
  216. package/src/chat/runtime/ChatHistoryStore.ts +4 -3
  217. package/src/chat/runtime/ChatPluginActionRegistry.ts +26 -98
  218. package/src/chat/runtime/ChatPluginSystem.ts +9 -3
  219. package/src/chat/runtime/ChatQueueStore.ts +2 -2
  220. package/src/chat/runtime/ChatQueueWorker.ts +1 -1
  221. package/src/chat/runtime/ChatSessionDelete.ts +11 -21
  222. package/src/chat/runtime/ChatStorage.ts +203 -0
  223. package/src/chat/runtime/SystemPrompt.ts +8 -3
  224. package/src/chat/types/ChannelConfiguration.ts +2 -2
  225. package/src/chat/types/ChatPluginActionPayload.ts +8 -49
  226. package/src/chat/types/ChatPluginOptions.ts +0 -22
  227. package/src/chat/types/ChatStorage.ts +37 -0
  228. package/src/contact/Action.ts +9 -1
  229. package/src/contact/ContactPlugin.ts +38 -14
  230. package/src/contact/runtime/ChatRuntime.ts +1 -1
  231. package/src/contact/types/ContactPluginOptions.ts +6 -0
  232. package/src/index.ts +16 -14
  233. package/src/memory/Action.ts +19 -4
  234. package/src/memory/runtime/Store.ts +0 -27
  235. package/src/memory/runtime/Writer.ts +2 -5
  236. package/src/skill/Command.ts +3 -33
  237. package/src/skill/PROMPT.ts +1 -1
  238. package/src/skill/PROMPT.ts.txt +5 -1
  239. package/src/skill/Plugin.ts +49 -156
  240. package/src/skill/runtime/Prompt.ts +109 -9
  241. package/src/skill/runtime/SystemProvider.ts +5 -9
  242. package/src/skill/types/SkillPlugin.ts +6 -18
  243. package/src/sound/Plugin.ts +699 -0
  244. package/src/sound/types/SoundPlugin.ts +163 -0
  245. package/src/task/Action.ts +8 -0
  246. package/src/task/runtime/Runner.ts +19 -13
  247. package/src/task/runtime/TaskActionExecution.ts +3 -0
  248. package/src/task/runtime/TaskPluginActionRegistry.ts +1 -0
  249. package/src/task/runtime/TaskRunChatDispatch.ts +1 -1
  250. package/src/task/runtime/TaskRunnerRound.ts +20 -38
  251. package/src/task/runtime/TaskRunnerSession.ts +108 -72
  252. package/src/task/runtime/TaskRunnerTypes.ts +4 -4
  253. package/src/task/types/TaskPluginOptions.ts +1 -0
  254. package/src/web/PROMPT.ts +2 -2
  255. package/src/web/PROMPT.ts.txt +4 -2
  256. package/src/web/Plugin.ts +20 -90
  257. package/src/web/runtime/Prompt.ts +99 -0
  258. package/src/web/types/WebPlugin.ts +42 -29
  259. package/src/workboard/runtime/Collector.ts +1 -1
  260. package/src/workboard/runtime/Normalizer.ts +1 -1
  261. package/src/workboard/runtime/SessionSummary.ts +11 -42
  262. package/bin/asr/Plugin.d.ts +0 -63
  263. package/bin/asr/Plugin.d.ts.map +0 -1
  264. package/bin/asr/Plugin.js +0 -280
  265. package/bin/asr/Plugin.js.map +0 -1
  266. package/bin/asr/types/AsrPlugin.d.ts +0 -114
  267. package/bin/asr/types/AsrPlugin.d.ts.map +0 -1
  268. package/bin/asr/types/AsrPlugin.js +0 -10
  269. package/bin/asr/types/AsrPlugin.js.map +0 -1
  270. package/bin/chat/runtime/ChatSession.d.ts +0 -97
  271. package/bin/chat/runtime/ChatSession.d.ts.map +0 -1
  272. package/bin/chat/runtime/ChatSession.js +0 -91
  273. package/bin/chat/runtime/ChatSession.js.map +0 -1
  274. package/bin/chat/runtime/ChatSessionContextComposer.d.ts +0 -45
  275. package/bin/chat/runtime/ChatSessionContextComposer.d.ts.map +0 -1
  276. package/bin/chat/runtime/ChatSessionContextComposer.js +0 -60
  277. package/bin/chat/runtime/ChatSessionContextComposer.js.map +0 -1
  278. package/bin/chat/runtime/ChatSessionTypes.d.ts +0 -30
  279. package/bin/chat/runtime/ChatSessionTypes.d.ts.map +0 -1
  280. package/bin/chat/runtime/ChatSessionTypes.js +0 -9
  281. package/bin/chat/runtime/ChatSessionTypes.js.map +0 -1
  282. package/bin/tts/Plugin.d.ts +0 -49
  283. package/bin/tts/Plugin.d.ts.map +0 -1
  284. package/bin/tts/Plugin.js +0 -247
  285. package/bin/tts/Plugin.js.map +0 -1
  286. package/bin/tts/types/TtsPlugin.d.ts +0 -122
  287. package/bin/tts/types/TtsPlugin.d.ts.map +0 -1
  288. package/bin/tts/types/TtsPlugin.js +0 -10
  289. package/bin/tts/types/TtsPlugin.js.map +0 -1
  290. package/bin/web/runtime/Install.d.ts +0 -19
  291. package/bin/web/runtime/Install.d.ts.map +0 -1
  292. package/bin/web/runtime/Install.js +0 -178
  293. package/bin/web/runtime/Install.js.map +0 -1
  294. package/src/asr/Plugin.ts +0 -322
  295. package/src/asr/types/AsrPlugin.ts +0 -118
  296. package/src/chat/runtime/ChatSession.ts +0 -168
  297. package/src/chat/runtime/ChatSessionContextComposer.ts +0 -106
  298. package/src/chat/runtime/ChatSessionTypes.ts +0 -32
  299. package/src/tts/Plugin.ts +0 -284
  300. package/src/tts/types/TtsPlugin.ts +0 -129
  301. package/src/web/runtime/Install.ts +0 -241
package/bin/asr/Plugin.js DELETED
@@ -1,280 +0,0 @@
1
- /**
2
- * AsrPlugin:语音转写插件。
3
- *
4
- * 关键点(中文)
5
- * - ASR 能力通过 constructor 注入,推荐传入 `city.ai.asr`。
6
- * - plugin 不负责本地模型、Python 依赖、provider 或项目配置。
7
- * - `auto: true` 时会在 chat 入站阶段自动转写 voice/audio 附件,并把结果写入正文。
8
- */
9
- import path from "node:path";
10
- import { BasePlugin } from "@downcity/agent";
11
- import { createAction } from "@downcity/agent";
12
- import { z } from "zod";
13
- import { CHAT_PLUGIN_POINTS } from "../chat/runtime/PluginPoints.js";
14
- const DEFAULT_ASR_PLUGIN_NAME = "asr";
15
- const DEFAULT_ASR_PLUGIN_TITLE = "ASR";
16
- const DEFAULT_ASR_PLUGIN_DESCRIPTION = "Transcribe voice and audio attachments through an injected ASR function.";
17
- /**
18
- * 判断值是否为普通对象。
19
- */
20
- function to_record(value) {
21
- if (!value || typeof value !== "object" || Array.isArray(value))
22
- return null;
23
- return value;
24
- }
25
- /**
26
- * XML 文本转义。
27
- */
28
- function escape_xml_text(value) {
29
- return String(value || "")
30
- .replace(/&/g, "&")
31
- .replace(/</g, "&lt;")
32
- .replace(/>/g, "&gt;");
33
- }
34
- /**
35
- * XML 属性转义。
36
- */
37
- function escape_xml_attr(value) {
38
- return escape_xml_text(value).replace(/"/g, "&quot;");
39
- }
40
- /**
41
- * 归一化 action payload。
42
- */
43
- function normalize_asr_payload(payload) {
44
- const record = to_record(payload ?? {});
45
- if (!record) {
46
- throw new TypeError("AsrPlugin.transcribe payload must be an object");
47
- }
48
- const audio_path = typeof record.audio_path === "string"
49
- ? record.audio_path.trim()
50
- : "";
51
- const url = typeof record.url === "string" ? record.url.trim() : "";
52
- const data_url = typeof record.data_url === "string" ? record.data_url.trim() : "";
53
- if (!audio_path && !url && !data_url) {
54
- throw new Error("AsrPlugin.transcribe requires audio_path, url, or data_url");
55
- }
56
- return {
57
- ...record,
58
- ...(audio_path ? { audio_path } : {}),
59
- ...(url ? { url } : {}),
60
- ...(data_url ? { data_url } : {}),
61
- };
62
- }
63
- /**
64
- * 校验 ASR 返回结果。
65
- */
66
- function normalize_asr_result(result) {
67
- const record = to_record(result);
68
- if (!record || typeof record.text !== "string") {
69
- throw new TypeError("AsrPlugin asr function must return { text: string }");
70
- }
71
- return {
72
- ...record,
73
- text: record.text.trim(),
74
- };
75
- }
76
- /**
77
- * 生成相对展示路径。
78
- */
79
- function to_display_src(root_path, attachment) {
80
- const raw = typeof attachment.path === "string" && attachment.path.trim()
81
- ? attachment.path.trim()
82
- : attachment.fileName || attachment.attachmentId || attachment.kind;
83
- const normalized_root = path.resolve(root_path);
84
- const normalized_raw = path.isAbsolute(raw) ? path.resolve(raw) : raw;
85
- if (path.isAbsolute(normalized_raw) && normalized_raw.startsWith(`${normalized_root}${path.sep}`)) {
86
- return normalized_raw.slice(normalized_root.length + 1);
87
- }
88
- return raw;
89
- }
90
- /**
91
- * 把语音转写结果写入 bodyText。
92
- */
93
- function append_voice_text(input, voice_blocks) {
94
- const current = String(input.bodyText || "").trim();
95
- const addition = voice_blocks.map((item) => item.trim()).filter(Boolean).join("\n\n");
96
- if (!addition)
97
- return input;
98
- return {
99
- ...input,
100
- bodyText: [current, addition].filter(Boolean).join("\n\n"),
101
- };
102
- }
103
- /**
104
- * Agent ASR 插件。
105
- */
106
- export class AsrPlugin extends BasePlugin {
107
- /**
108
- * 当前 plugin 稳定名称。
109
- */
110
- name;
111
- /**
112
- * 插件标题。
113
- */
114
- title;
115
- /**
116
- * 插件说明。
117
- */
118
- description;
119
- asr;
120
- auto;
121
- language;
122
- constructor(options) {
123
- super();
124
- const name = String(options.name || DEFAULT_ASR_PLUGIN_NAME).trim();
125
- if (!name) {
126
- throw new Error("AsrPlugin requires a non-empty name");
127
- }
128
- if (typeof options.asr !== "function") {
129
- throw new Error("AsrPlugin requires an asr function");
130
- }
131
- this.name = name;
132
- this.title = String(options.title || DEFAULT_ASR_PLUGIN_TITLE).trim();
133
- this.description = String(options.description || DEFAULT_ASR_PLUGIN_DESCRIPTION).trim();
134
- this.asr = options.asr;
135
- this.auto = options.auto === true;
136
- this.language =
137
- typeof options.language === "string" && options.language.trim()
138
- ? options.language.trim()
139
- : undefined;
140
- }
141
- /**
142
- * ASR 插件给模型的使用说明。
143
- */
144
- system(_context) {
145
- return [
146
- "# ASR Plugin",
147
- "",
148
- "Use this plugin when the user asks to transcribe, recognize, or understand voice/audio content.",
149
- this.auto
150
- ? "Inbound voice/audio chat attachments are automatically transcribed into `<voice src=\"...\">...</voice>` blocks in the user text."
151
- : "Automatic inbound voice transcription is disabled; call the plugin explicitly when transcription is needed.",
152
- "",
153
- "Call through `plugin_call`:",
154
- "",
155
- "```ts",
156
- "plugin_call({",
157
- ` plugin: "${this.name}",`,
158
- ' action: "transcribe",',
159
- " payload: {",
160
- ' audio_path: "...",',
161
- " },",
162
- "});",
163
- "```",
164
- "",
165
- "Payload rules:",
166
- "- Provide one of `audio_path`, `url`, or `data_url`.",
167
- "- Optional fields: `language`, `media_type`, `file_name`, `provider_options`.",
168
- "- Do not invent transcript text. If transcription fails, report the failure clearly.",
169
- ].join("\n");
170
- }
171
- /**
172
- * 执行一次 ASR 转写。
173
- */
174
- async transcribe(input) {
175
- const result = await this.asr({
176
- ...(this.language ? { language: this.language } : {}),
177
- ...input,
178
- });
179
- return normalize_asr_result(result);
180
- }
181
- /**
182
- * 自动增强 chat 入站消息。
183
- */
184
- async auto_transcribe_inbound(params) {
185
- if (!this.auto)
186
- return params.value;
187
- const input = params.value;
188
- const voice_attachments = (Array.isArray(input.attachments) ? input.attachments : []).filter((item) => (item.kind === "voice" || item.kind === "audio") &&
189
- typeof item.path === "string" &&
190
- item.path.trim());
191
- if (voice_attachments.length === 0) {
192
- return input;
193
- }
194
- const voice_blocks = [];
195
- for (const attachment of voice_attachments) {
196
- try {
197
- const result = await this.transcribe({
198
- audio_path: String(attachment.path || "").trim(),
199
- ...(attachment.contentType ? { media_type: attachment.contentType } : {}),
200
- ...(attachment.fileName ? { file_name: attachment.fileName } : {}),
201
- });
202
- if (!result.text)
203
- continue;
204
- const src = to_display_src(params.context.rootPath, attachment);
205
- voice_blocks.push(`<voice src="${escape_xml_attr(src)}">${escape_xml_text(result.text)}</voice>`);
206
- }
207
- catch {
208
- // 关键点(中文):自动转写失败不阻塞主消息链路。
209
- }
210
- }
211
- return append_voice_text(input, voice_blocks);
212
- }
213
- /**
214
- * pipeline / action 扩展点。
215
- */
216
- hooks = {
217
- pipeline: {
218
- [CHAT_PLUGIN_POINTS.augmentInbound]: [
219
- async ({ context, value }) => {
220
- return await this.auto_transcribe_inbound({ context, value });
221
- },
222
- ],
223
- },
224
- };
225
- /**
226
- * 显式 action 集合。
227
- */
228
- actions = {
229
- transcribe: createAction({
230
- description: "Transcribe a voice or audio source into text. Provide one of audio_path / url / data_url.",
231
- input_schema: {
232
- zod: z
233
- .object({
234
- audio_path: z.string().optional(),
235
- url: z.string().optional(),
236
- data_url: z.string().optional(),
237
- language: z.string().optional(),
238
- media_type: z.string().optional(),
239
- file_name: z.string().optional(),
240
- provider_options: z.record(z.string(), z.unknown()).optional(),
241
- })
242
- .passthrough(),
243
- json_schema: {
244
- type: "object",
245
- properties: {
246
- audio_path: { type: "string", description: "Absolute or relative local audio path." },
247
- url: { type: "string", description: "Online audio URL." },
248
- data_url: { type: "string", description: "Audio as a data: URL." },
249
- language: { type: "string", description: "Target language code, optional." },
250
- media_type: { type: "string", description: "Media type, optional." },
251
- file_name: { type: "string", description: "File name, optional." },
252
- },
253
- },
254
- },
255
- examples: [
256
- { title: "Local audio", payload: { audio_path: "./input.wav" } },
257
- { title: "Remote URL", payload: { url: "https://example.com/a.mp3" } },
258
- ],
259
- execute: async ({ input }) => {
260
- try {
261
- const transcribe_input = normalize_asr_payload(input);
262
- const result = await this.transcribe(transcribe_input);
263
- return {
264
- success: true,
265
- data: result,
266
- message: "audio transcribed",
267
- };
268
- }
269
- catch (error) {
270
- return {
271
- success: false,
272
- error: String(error),
273
- message: String(error),
274
- };
275
- }
276
- },
277
- }),
278
- };
279
- }
280
- //# sourceMappingURL=Plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/asr/Plugin.ts"],"names":[],"mappings":"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"}
@@ -1,114 +0,0 @@
1
- /**
2
- * AsrPlugin 类型定义。
3
- *
4
- * 关键点(中文)
5
- * - ASR plugin 只定义 agent 侧协议,不绑定本地模型、Python 或 City 具体实现。
6
- * - 真实转写能力通过 constructor 的 `asr` 函数注入,推荐传入 `city.ai.asr`。
7
- * - `auto` 只表示是否在 chat 入站时自动转写语音附件。
8
- */
9
- import type { JsonObject, JsonValue } from "@downcity/agent";
10
- /**
11
- * ASR 输入。
12
- */
13
- export interface AsrPluginInput {
14
- /**
15
- * 本地音频文件路径。
16
- *
17
- * 说明(中文)
18
- * - chat runtime 下载附件后会传入本地路径。
19
- * - 显式 action 调用时也优先使用该字段。
20
- */
21
- audio_path?: string;
22
- /**
23
- * 远程音频 URL。
24
- */
25
- url?: string;
26
- /**
27
- * data URL 音频内容。
28
- */
29
- data_url?: string;
30
- /**
31
- * 语言提示,例如 `auto`、`zh`、`en`。
32
- */
33
- language?: string;
34
- /**
35
- * 音频 MIME 类型,例如 `audio/ogg`。
36
- */
37
- media_type?: string;
38
- /**
39
- * 原始文件名。
40
- */
41
- file_name?: string;
42
- /**
43
- * Provider 私有参数。
44
- */
45
- provider_options?: JsonObject;
46
- /**
47
- * 允许外部 asr 函数接收其他 JSON 可序列化参数。
48
- */
49
- [key: string]: JsonValue | undefined;
50
- }
51
- /**
52
- * ASR 输出。
53
- */
54
- export interface AsrPluginResult {
55
- /**
56
- * 转写文本。
57
- */
58
- text: string;
59
- /**
60
- * 识别到的语言(可选)。
61
- */
62
- language?: string;
63
- /**
64
- * 结果置信度(可选)。
65
- */
66
- confidence?: number;
67
- /**
68
- * Provider 原始元信息(可选)。
69
- */
70
- metadata?: JsonObject;
71
- /**
72
- * 允许外部 asr 函数返回其他 JSON 可序列化字段。
73
- */
74
- [key: string]: JsonValue | undefined;
75
- }
76
- /**
77
- * AsrPlugin 构造参数。
78
- */
79
- export interface AsrPluginOptions {
80
- /**
81
- * Plugin 稳定名称,默认 `asr`。
82
- */
83
- name?: string;
84
- /**
85
- * Plugin 展示标题,默认 `ASR`。
86
- */
87
- title?: string;
88
- /**
89
- * Plugin 用途说明。
90
- */
91
- description?: string;
92
- /**
93
- * 真实 ASR 能力函数。
94
- *
95
- * 说明(中文)
96
- * - 推荐传入 `(input) => city.ai.asr(input)`。
97
- * - plugin 只负责调用该函数,不关心模型、provider、鉴权或运行依赖。
98
- */
99
- asr: (input: AsrPluginInput) => Promise<AsrPluginResult> | AsrPluginResult;
100
- /**
101
- * 是否自动转写 chat 入站语音附件。
102
- *
103
- * 说明(中文)
104
- * - `true`:遇到 voice/audio 附件时自动调用 `asr`。
105
- * - `false`:仅保留显式 `transcribe` action。
106
- * - 默认 `false`,避免 agent 隐式调用外部 ASR 成本。
107
- */
108
- auto?: boolean;
109
- /**
110
- * 默认语言提示。
111
- */
112
- language?: string;
113
- }
114
- //# sourceMappingURL=AsrPlugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AsrPlugin.d.ts","sourceRoot":"","sources":["../../../src/asr/types/AsrPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;IAC3E;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -1,10 +0,0 @@
1
- /**
2
- * AsrPlugin 类型定义。
3
- *
4
- * 关键点(中文)
5
- * - ASR plugin 只定义 agent 侧协议,不绑定本地模型、Python 或 City 具体实现。
6
- * - 真实转写能力通过 constructor 的 `asr` 函数注入,推荐传入 `city.ai.asr`。
7
- * - `auto` 只表示是否在 chat 入站时自动转写语音附件。
8
- */
9
- export {};
10
- //# sourceMappingURL=AsrPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AsrPlugin.js","sourceRoot":"","sources":["../../../src/asr/types/AsrPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,97 +0,0 @@
1
- /**
2
- * ChatSession:chat 专用 Executor 实现。
3
- *
4
- * 关键点(中文)
5
- * - ChatSession 在实例化时持有自己的 context composer 实例。
6
- * - chat 当前 turn 的 step 合并/step 回发状态都绑定在 Session 自身,不再新增 `runChat` 一层入口。
7
- * - 外层仍只调用标准 `run(...)`;chat 语义由 ChatSession 内部收敛。
8
- */
9
- import type { LanguageModel, Tool } from "ai";
10
- import { Executor } from "@downcity/agent";
11
- import type { SessionHistoryComposer } from "@downcity/agent";
12
- import type { SessionHistoryStore } from "@downcity/agent";
13
- import type { SessionCompactionComposer } from "@downcity/agent";
14
- import type { SessionSystemComposer } from "@downcity/agent";
15
- import type { ChatSessionContextComposer } from "../../chat/runtime/ChatSessionContextComposer.js";
16
- import type { Logger } from "@downcity/agent";
17
- import type { SessionRunResult } from "@downcity/agent";
18
- import type { ChatSessionTurnState } from "../../chat/runtime/ChatSessionTypes.js";
19
- type ChatSessionOptions = {
20
- /**
21
- * 当前会话 ID。
22
- */
23
- sessionId: string;
24
- /**
25
- * 当前 session 的 history store。
26
- */
27
- historyStore: SessionHistoryStore;
28
- /**
29
- * 当前 session 的 history composer。
30
- */
31
- historyComposer: SessionHistoryComposer;
32
- /**
33
- * 读取当前 session 使用的模型实例。
34
- */
35
- getModel: () => LanguageModel | undefined;
36
- /**
37
- * 统一日志器。
38
- */
39
- logger: Logger;
40
- /**
41
- * 当前 session 对应的 compaction Composer。
42
- */
43
- compactionComposer: SessionCompactionComposer;
44
- /**
45
- * 当前 session 对应的 system Composer。
46
- */
47
- systemComposer: SessionSystemComposer;
48
- /**
49
- * 获取当前可用工具集合。
50
- */
51
- getTools: () => Record<string, Tool>;
52
- /**
53
- * 读取当前 chat session effective Agent env。
54
- */
55
- getEnv: () => Record<string, string>;
56
- /**
57
- * 当前 session 绑定的 chat context composer。
58
- */
59
- contextComposer: ChatSessionContextComposer;
60
- };
61
- /**
62
- * Chat 专用 Session。
63
- */
64
- export declare class ChatSession extends Executor {
65
- /**
66
- * ChatSession 持有的 composer 实例。
67
- */
68
- readonly contextComposer: ChatSessionContextComposer;
69
- private activeTurnState;
70
- constructor(options: ChatSessionOptions);
71
- /**
72
- * 读取当前绑定的 chat turn 状态。
73
- */
74
- getTurnState(): ChatSessionTurnState | null;
75
- /**
76
- * 处理一次 assistant step 回发。
77
- *
78
- * 关键点(中文)
79
- * - step 持久化由基类 `Session.run` 先完成。
80
- * - 这里仅负责把当前 turn 绑定的外部回发钩子继续调出去。
81
- */
82
- private readonly forwardAssistantStep;
83
- /**
84
- * 运行当前 chat session 的一次请求。
85
- *
86
- * 关键点(中文)
87
- * - 外层继续走统一的内部执行入口。
88
- * - ChatSession 只是在 run 生命周期里临时绑定 turn 状态给自己的 composer。
89
- */
90
- run(params: {
91
- query: string;
92
- onStepCallback?: ChatSessionTurnState["onStepCallback"];
93
- onAssistantStepCallback?: ChatSessionTurnState["onAssistantStepCallback"];
94
- }): Promise<SessionRunResult>;
95
- }
96
- export {};
97
- //# sourceMappingURL=ChatSession.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatSession.d.ts","sourceRoot":"","sources":["../../../src/chat/runtime/ChatSession.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,YAAY,EAAE,mBAAmB,CAAC;IAElC;;OAEG;IACH,eAAe,EAAE,sBAAsB,CAAC;IAExC;;OAEG;IACH,QAAQ,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,kBAAkB,EAAE,yBAAyB,CAAC;IAE9C;;OAEG;IACH,cAAc,EAAE,qBAAqB,CAAC;IAEtC;;OAEG;IACH,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAErC;;OAEG;IACH,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAErC;;OAEG;IACH,eAAe,EAAE,0BAA0B,CAAC;CAK7C,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACvC;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,0BAA0B,CAAC;IAErD,OAAO,CAAC,eAAe,CAAqC;gBAEhD,OAAO,EAAE,kBAAkB;IAiBvC;;OAEG;IACH,YAAY,IAAI,oBAAoB,GAAG,IAAI;IAI3C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAMnC;IAEF;;;;;;OAMG;IACY,GAAG,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACxD,uBAAuB,CAAC,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;KAC3E,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA4B9B"}
@@ -1,91 +0,0 @@
1
- /**
2
- * ChatSession:chat 专用 Executor 实现。
3
- *
4
- * 关键点(中文)
5
- * - ChatSession 在实例化时持有自己的 context composer 实例。
6
- * - chat 当前 turn 的 step 合并/step 回发状态都绑定在 Session 自身,不再新增 `runChat` 一层入口。
7
- * - 外层仍只调用标准 `run(...)`;chat 语义由 ChatSession 内部收敛。
8
- */
9
- import { Executor } from "@downcity/agent";
10
- /**
11
- * Chat 专用 Session。
12
- */
13
- export class ChatSession extends Executor {
14
- /**
15
- * ChatSession 持有的 composer 实例。
16
- */
17
- contextComposer;
18
- activeTurnState = null;
19
- constructor(options) {
20
- const contextComposer = options.contextComposer;
21
- super({
22
- sessionId: options.sessionId,
23
- historyStore: options.historyStore,
24
- historyComposer: options.historyComposer,
25
- getModel: options.getModel,
26
- logger: options.logger,
27
- compactionComposer: options.compactionComposer,
28
- systemComposer: options.systemComposer,
29
- getTools: options.getTools,
30
- getEnv: options.getEnv,
31
- contextComposer,
32
- });
33
- this.contextComposer = contextComposer;
34
- }
35
- /**
36
- * 读取当前绑定的 chat turn 状态。
37
- */
38
- getTurnState() {
39
- return this.activeTurnState;
40
- }
41
- /**
42
- * 处理一次 assistant step 回发。
43
- *
44
- * 关键点(中文)
45
- * - step 持久化由基类 `Session.run` 先完成。
46
- * - 这里仅负责把当前 turn 绑定的外部回发钩子继续调出去。
47
- */
48
- forwardAssistantStep = async (step) => {
49
- const callback = this.activeTurnState?.onAssistantStepCallback;
50
- if (typeof callback !== "function")
51
- return;
52
- await callback(step);
53
- };
54
- /**
55
- * 运行当前 chat session 的一次请求。
56
- *
57
- * 关键点(中文)
58
- * - 外层继续走统一的内部执行入口。
59
- * - ChatSession 只是在 run 生命周期里临时绑定 turn 状态给自己的 composer。
60
- */
61
- async run(params) {
62
- this.activeTurnState = {
63
- ...(typeof params.onStepCallback === "function"
64
- ? { onStepCallback: params.onStepCallback }
65
- : {}),
66
- ...(typeof params.onAssistantStepCallback === "function"
67
- ? { onAssistantStepCallback: params.onAssistantStepCallback }
68
- : {}),
69
- };
70
- try {
71
- const run_context = {
72
- sessionId: this.sessionId,
73
- ...(typeof params.onStepCallback === "function"
74
- ? { onStepCallback: params.onStepCallback }
75
- : {}),
76
- onAssistantStepCallback: this.forwardAssistantStep,
77
- injectedUserMessages: [],
78
- deferredPersistedUserMessages: [],
79
- pendingAssistantFileParts: [],
80
- };
81
- return await super.run({
82
- query: params.query,
83
- runContext: run_context,
84
- });
85
- }
86
- finally {
87
- this.activeTurnState = null;
88
- }
89
- }
90
- }
91
- //# sourceMappingURL=ChatSession.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatSession.js","sourceRoot":"","sources":["../../../src/chat/runtime/ChatSession.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAoE3C;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC;;OAEG;IACM,eAAe,CAA6B;IAE7C,eAAe,GAAgC,IAAI,CAAC;IAE5D,YAAY,OAA2B;QACrC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAChD,KAAK,CAAC;YACJ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACc,oBAAoB,GAAiC,KAAK,EACzE,IAAI,EACW,EAAE;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,uBAAuB,CAAC;QAC/D,IAAI,OAAO,QAAQ,KAAK,UAAU;YAAE,OAAO;QAC3C,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF;;;;;;OAMG;IACM,KAAK,CAAC,GAAG,CAAC,MAIlB;QACC,IAAI,CAAC,eAAe,GAAG;YACrB,GAAG,CAAC,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU;gBAC7C,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,MAAM,CAAC,uBAAuB,KAAK,UAAU;gBACtD,CAAC,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,EAAE;gBAC7D,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,IAAI,CAAC;YACH,MAAM,WAAW,GAAsB;gBACrC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,CAAC,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU;oBAC7C,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;oBAC3C,CAAC,CAAC,EAAE,CAAC;gBACP,uBAAuB,EAAE,IAAI,CAAC,oBAAoB;gBAClD,oBAAoB,EAAE,EAAE;gBACxB,6BAA6B,EAAE,EAAE;gBACjC,yBAAyB,EAAE,EAAE;aAC9B,CAAC;YACF,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;CACF"}
@@ -1,45 +0,0 @@
1
- /**
2
- * ChatSessionContextComposer:chat 专用 context composer。
3
- *
4
- * 关键点(中文)
5
- * - 由 chat 层在 Session 实例化时注入,不再依赖 run 时层层传 callback。
6
- * - step 合并消息读取自 ChatSession 当前绑定的 turn context。
7
- * - 其余能力(tools / fallback assistant)继续复用默认本地实现。
8
- */
9
- import type { ModelMessage, Tool } from "ai";
10
- import { LocalSessionContextComposer } from "@downcity/agent";
11
- import type { SessionRecordV1 } from "@downcity/agent";
12
- import type { SessionSystemMessage } from "@downcity/agent";
13
- import type { ChatSessionTurnState } from "../../chat/runtime/ChatSessionTypes.js";
14
- type ChatSessionContextComposerOptions = {
15
- /**
16
- * 当前 session 标识。
17
- */
18
- sessionId: string;
19
- /**
20
- * 读取当前可用工具集合。
21
- */
22
- getTools: () => Record<string, Tool>;
23
- /**
24
- * 读取当前已绑定的 chat turn 状态。
25
- */
26
- getTurnState: () => ChatSessionTurnState | null;
27
- };
28
- /**
29
- * ChatSession 专用 context composer。
30
- */
31
- export declare class ChatSessionContextComposer extends LocalSessionContextComposer {
32
- private readonly getTurnState;
33
- constructor(options: ChatSessionContextComposerOptions);
34
- createPrepareStepHandler(input: {
35
- system: SessionSystemMessage[];
36
- appendMergedUserMessages: (messages: SessionRecordV1[]) => Promise<ModelMessage[]>;
37
- }): (input: {
38
- messages?: ModelMessage[];
39
- }) => Promise<{
40
- system: SessionSystemMessage[];
41
- messages?: ModelMessage[];
42
- }>;
43
- }
44
- export {};
45
- //# sourceMappingURL=ChatSessionContextComposer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatSessionContextComposer.d.ts","sourceRoot":"","sources":["../../../src/chat/runtime/ChatSessionContextComposer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,KAAK,iCAAiC,GAAG;IACvC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAErC;;OAEG;IACH,YAAY,EAAE,MAAM,oBAAoB,GAAG,IAAI,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,2BAA2B;IACzE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoD;gBAErE,OAAO,EAAE,iCAAiC;IAQtD,wBAAwB,CACtB,KAAK,EAAE;QACL,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/B,wBAAwB,EAAE,CACxB,QAAQ,EAAE,eAAe,EAAE,KACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;KAC9B,GACA,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC;QACnD,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC/B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;KAC3B,CAAC;CAgDH"}