@downcity/plugins 1.0.52 → 1.0.57

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 (329) hide show
  1. package/bin/BuiltinPlugins.d.ts +2 -3
  2. package/bin/BuiltinPlugins.d.ts.map +1 -1
  3. package/bin/BuiltinPlugins.js +2 -6
  4. package/bin/BuiltinPlugins.js.map +1 -1
  5. package/bin/asr/Plugin.d.ts +67 -8
  6. package/bin/asr/Plugin.d.ts.map +1 -1
  7. package/bin/asr/Plugin.js +229 -461
  8. package/bin/asr/Plugin.js.map +1 -1
  9. package/bin/asr/types/AsrPlugin.d.ts +114 -0
  10. package/bin/asr/types/AsrPlugin.d.ts.map +1 -0
  11. package/bin/asr/types/AsrPlugin.js +10 -0
  12. package/bin/asr/types/AsrPlugin.js.map +1 -0
  13. package/bin/auth/Plugin.d.ts +1 -2
  14. package/bin/auth/Plugin.d.ts.map +1 -1
  15. package/bin/auth/Plugin.js +2 -2
  16. package/bin/auth/Plugin.js.map +1 -1
  17. package/bin/chat/ChatPlugin.d.ts +1 -2
  18. package/bin/chat/ChatPlugin.d.ts.map +1 -1
  19. package/bin/chat/ChatPlugin.js +3 -12
  20. package/bin/chat/ChatPlugin.js.map +1 -1
  21. package/bin/chat/PROMPT.direct.d.ts +1 -1
  22. package/bin/chat/PROMPT.direct.d.ts.map +1 -1
  23. package/bin/chat/PROMPT.direct.js +1 -1
  24. package/bin/chat/PROMPT.direct.js.map +1 -1
  25. package/bin/chat/channels/qq/PROMPT.direct.d.ts +1 -1
  26. package/bin/chat/channels/qq/PROMPT.direct.d.ts.map +1 -1
  27. package/bin/chat/channels/qq/PROMPT.direct.js +1 -1
  28. package/bin/chat/channels/qq/PROMPT.direct.js.map +1 -1
  29. package/bin/chat/channels/telegram/Bot.d.ts +6 -0
  30. package/bin/chat/channels/telegram/Bot.d.ts.map +1 -1
  31. package/bin/chat/channels/telegram/Bot.js +24 -0
  32. package/bin/chat/channels/telegram/Bot.js.map +1 -1
  33. package/bin/chat/channels/telegram/TelegramPlatformClient.d.ts +14 -0
  34. package/bin/chat/channels/telegram/TelegramPlatformClient.d.ts.map +1 -1
  35. package/bin/chat/channels/telegram/TelegramPlatformClient.js +39 -5
  36. package/bin/chat/channels/telegram/TelegramPlatformClient.js.map +1 -1
  37. package/bin/contact/ContactPlugin.d.ts +1 -2
  38. package/bin/contact/ContactPlugin.d.ts.map +1 -1
  39. package/bin/contact/ContactPlugin.js +2 -2
  40. package/bin/contact/ContactPlugin.js.map +1 -1
  41. package/bin/contact/PROMPT.d.ts +1 -1
  42. package/bin/contact/PROMPT.d.ts.map +1 -1
  43. package/bin/contact/PROMPT.js +1 -1
  44. package/bin/contact/PROMPT.js.map +1 -1
  45. package/bin/image/ImagePlugin.d.ts +61 -0
  46. package/bin/image/ImagePlugin.d.ts.map +1 -0
  47. package/bin/image/ImagePlugin.js +207 -0
  48. package/bin/image/ImagePlugin.js.map +1 -0
  49. package/bin/image/types/ImagePlugin.d.ts +136 -0
  50. package/bin/image/types/ImagePlugin.d.ts.map +1 -0
  51. package/bin/image/types/ImagePlugin.js +10 -0
  52. package/bin/image/types/ImagePlugin.js.map +1 -0
  53. package/bin/index.d.ts +4 -0
  54. package/bin/index.d.ts.map +1 -1
  55. package/bin/index.js +1 -0
  56. package/bin/index.js.map +1 -1
  57. package/bin/shell/ShellPlugin.d.ts +1 -2
  58. package/bin/shell/ShellPlugin.d.ts.map +1 -1
  59. package/bin/shell/ShellPlugin.js +2 -2
  60. package/bin/shell/ShellPlugin.js.map +1 -1
  61. package/bin/skill/Action.d.ts +8 -3
  62. package/bin/skill/Action.d.ts.map +1 -1
  63. package/bin/skill/Action.js +9 -11
  64. package/bin/skill/Action.js.map +1 -1
  65. package/bin/skill/Command.d.ts +1 -1
  66. package/bin/skill/Command.d.ts.map +1 -1
  67. package/bin/skill/Command.js +3 -10
  68. package/bin/skill/Command.js.map +1 -1
  69. package/bin/skill/Config.d.ts +9 -9
  70. package/bin/skill/Config.d.ts.map +1 -1
  71. package/bin/skill/Config.js +36 -24
  72. package/bin/skill/Config.js.map +1 -1
  73. package/bin/skill/PROMPT.d.ts +1 -1
  74. package/bin/skill/PROMPT.d.ts.map +1 -1
  75. package/bin/skill/PROMPT.js +1 -1
  76. package/bin/skill/PROMPT.js.map +1 -1
  77. package/bin/skill/Plugin.d.ts +2 -2
  78. package/bin/skill/Plugin.d.ts.map +1 -1
  79. package/bin/skill/Plugin.js +20 -37
  80. package/bin/skill/Plugin.js.map +1 -1
  81. package/bin/skill/runtime/Discovery.d.ts +3 -3
  82. package/bin/skill/runtime/Discovery.d.ts.map +1 -1
  83. package/bin/skill/runtime/Discovery.js +37 -14
  84. package/bin/skill/runtime/Discovery.js.map +1 -1
  85. package/bin/skill/runtime/Paths.d.ts +5 -5
  86. package/bin/skill/runtime/Paths.d.ts.map +1 -1
  87. package/bin/skill/runtime/Paths.js +23 -33
  88. package/bin/skill/runtime/Paths.js.map +1 -1
  89. package/bin/skill/runtime/Prompt.d.ts +2 -2
  90. package/bin/skill/runtime/Prompt.d.ts.map +1 -1
  91. package/bin/skill/runtime/Prompt.js +3 -8
  92. package/bin/skill/runtime/Prompt.js.map +1 -1
  93. package/bin/skill/runtime/SystemProvider.d.ts +2 -2
  94. package/bin/skill/runtime/SystemProvider.d.ts.map +1 -1
  95. package/bin/skill/runtime/SystemProvider.js +2 -2
  96. package/bin/skill/runtime/SystemProvider.js.map +1 -1
  97. package/bin/skill/types/SkillPlugin.d.ts +34 -12
  98. package/bin/skill/types/SkillPlugin.d.ts.map +1 -1
  99. package/bin/skill/types/SkillPlugin.js +2 -1
  100. package/bin/skill/types/SkillPlugin.js.map +1 -1
  101. package/bin/skill/types/SkillRoot.d.ts +1 -1
  102. package/bin/task/Action.js +2 -2
  103. package/bin/task/Action.js.map +1 -1
  104. package/bin/task/PROMPT.d.ts +1 -1
  105. package/bin/task/PROMPT.d.ts.map +1 -1
  106. package/bin/task/PROMPT.js +1 -1
  107. package/bin/task/PROMPT.js.map +1 -1
  108. package/bin/task/TaskPlugin.d.ts +1 -2
  109. package/bin/task/TaskPlugin.d.ts.map +1 -1
  110. package/bin/task/TaskPlugin.js +2 -2
  111. package/bin/task/TaskPlugin.js.map +1 -1
  112. package/bin/tts/Plugin.d.ts +53 -7
  113. package/bin/tts/Plugin.d.ts.map +1 -1
  114. package/bin/tts/Plugin.js +197 -474
  115. package/bin/tts/Plugin.js.map +1 -1
  116. package/bin/tts/types/TtsPlugin.d.ts +63 -102
  117. package/bin/tts/types/TtsPlugin.d.ts.map +1 -1
  118. package/bin/tts/types/TtsPlugin.js +4 -3
  119. package/bin/tts/types/TtsPlugin.js.map +1 -1
  120. package/bin/web/PROMPT.d.ts +1 -1
  121. package/bin/web/PROMPT.d.ts.map +1 -1
  122. package/bin/web/PROMPT.js +1 -1
  123. package/bin/web/PROMPT.js.map +1 -1
  124. package/bin/web/Plugin.d.ts +66 -6
  125. package/bin/web/Plugin.d.ts.map +1 -1
  126. package/bin/web/Plugin.js +130 -447
  127. package/bin/web/Plugin.js.map +1 -1
  128. package/bin/web/WebPromptAssets.d.ts +1 -9
  129. package/bin/web/WebPromptAssets.d.ts.map +1 -1
  130. package/bin/web/WebPromptAssets.js +1 -11
  131. package/bin/web/WebPromptAssets.js.map +1 -1
  132. package/bin/web/runtime/Install.d.ts +19 -0
  133. package/bin/web/runtime/Install.d.ts.map +1 -0
  134. package/bin/web/runtime/Install.js +178 -0
  135. package/bin/web/runtime/Install.js.map +1 -0
  136. package/bin/web/types/WebPlugin.d.ts +37 -109
  137. package/bin/web/types/WebPlugin.d.ts.map +1 -1
  138. package/bin/web/types/WebPlugin.js +5 -7
  139. package/bin/web/types/WebPlugin.js.map +1 -1
  140. package/bin/workboard/Plugin.d.ts +1 -2
  141. package/bin/workboard/Plugin.d.ts.map +1 -1
  142. package/bin/workboard/Plugin.js +2 -2
  143. package/bin/workboard/Plugin.js.map +1 -1
  144. package/package.json +2 -2
  145. package/src/BuiltinPlugins.ts +3 -10
  146. package/src/asr/Plugin.ts +264 -484
  147. package/src/asr/types/AsrPlugin.ts +118 -0
  148. package/src/auth/Plugin.ts +2 -3
  149. package/src/chat/ChatPlugin.ts +3 -14
  150. package/src/chat/PROMPT.direct.ts +1 -1
  151. package/src/chat/PROMPT.direct.ts.txt +5 -7
  152. package/src/chat/channels/qq/PROMPT.direct.ts +1 -1
  153. package/src/chat/channels/qq/PROMPT.direct.ts.txt +1 -1
  154. package/src/chat/channels/telegram/Bot.ts +22 -0
  155. package/src/chat/channels/telegram/TelegramPlatformClient.ts +42 -6
  156. package/src/contact/ContactPlugin.ts +2 -3
  157. package/src/contact/PROMPT.ts +1 -1
  158. package/src/contact/PROMPT.ts.txt +12 -12
  159. package/src/image/ImagePlugin.ts +268 -0
  160. package/src/image/types/ImagePlugin.ts +157 -0
  161. package/src/index.ts +25 -0
  162. package/src/shell/ShellPlugin.ts +2 -3
  163. package/src/skill/Action.ts +20 -9
  164. package/src/skill/Command.ts +3 -13
  165. package/src/skill/Config.ts +41 -34
  166. package/src/skill/PROMPT.ts +1 -1
  167. package/src/skill/PROMPT.ts.txt +14 -2
  168. package/src/skill/Plugin.ts +205 -214
  169. package/src/skill/runtime/Discovery.ts +43 -17
  170. package/src/skill/runtime/Paths.ts +24 -35
  171. package/src/skill/runtime/Prompt.ts +4 -10
  172. package/src/skill/runtime/SystemProvider.ts +4 -4
  173. package/src/skill/types/SkillPlugin.ts +39 -12
  174. package/src/skill/types/SkillRoot.ts +1 -1
  175. package/src/task/Action.ts +2 -2
  176. package/src/task/PROMPT.ts +1 -1
  177. package/src/task/PROMPT.ts.txt +10 -10
  178. package/src/task/TaskPlugin.ts +2 -3
  179. package/src/tts/Plugin.ts +225 -493
  180. package/src/tts/types/TtsPlugin.ts +67 -102
  181. package/src/web/PROMPT.ts +1 -1
  182. package/src/web/PROMPT.ts.txt +32 -6
  183. package/src/web/Plugin.ts +119 -454
  184. package/src/web/WebPromptAssets.ts +1 -13
  185. package/src/web/runtime/Install.ts +241 -0
  186. package/src/web/types/WebPlugin.ts +37 -113
  187. package/src/workboard/Plugin.ts +2 -3
  188. package/bin/asr/Config.d.ts +0 -43
  189. package/bin/asr/Config.d.ts.map +0 -1
  190. package/bin/asr/Config.js +0 -107
  191. package/bin/asr/Config.js.map +0 -1
  192. package/bin/asr/Dependency.d.ts +0 -77
  193. package/bin/asr/Dependency.d.ts.map +0 -1
  194. package/bin/asr/Dependency.js +0 -238
  195. package/bin/asr/Dependency.js.map +0 -1
  196. package/bin/asr/InboundAugment.d.ts +0 -17
  197. package/bin/asr/InboundAugment.d.ts.map +0 -1
  198. package/bin/asr/InboundAugment.js +0 -47
  199. package/bin/asr/InboundAugment.js.map +0 -1
  200. package/bin/asr/ModelCatalog.d.ts +0 -29
  201. package/bin/asr/ModelCatalog.d.ts.map +0 -1
  202. package/bin/asr/ModelCatalog.js +0 -25
  203. package/bin/asr/ModelCatalog.js.map +0 -1
  204. package/bin/tts/Dependency.d.ts +0 -90
  205. package/bin/tts/Dependency.d.ts.map +0 -1
  206. package/bin/tts/Dependency.js +0 -344
  207. package/bin/tts/Dependency.js.map +0 -1
  208. package/bin/tts/PluginSupport.d.ts +0 -25
  209. package/bin/tts/PluginSupport.d.ts.map +0 -1
  210. package/bin/tts/PluginSupport.js +0 -72
  211. package/bin/tts/PluginSupport.js.map +0 -1
  212. package/bin/tts/runtime/Catalog.d.ts +0 -21
  213. package/bin/tts/runtime/Catalog.d.ts.map +0 -1
  214. package/bin/tts/runtime/Catalog.js +0 -90
  215. package/bin/tts/runtime/Catalog.js.map +0 -1
  216. package/bin/tts/runtime/DependencyInstaller.d.ts +0 -143
  217. package/bin/tts/runtime/DependencyInstaller.d.ts.map +0 -1
  218. package/bin/tts/runtime/DependencyInstaller.js +0 -261
  219. package/bin/tts/runtime/DependencyInstaller.js.map +0 -1
  220. package/bin/tts/runtime/Installer.d.ts +0 -89
  221. package/bin/tts/runtime/Installer.d.ts.map +0 -1
  222. package/bin/tts/runtime/Installer.js +0 -188
  223. package/bin/tts/runtime/Installer.js.map +0 -1
  224. package/bin/tts/runtime/Paths.d.ts +0 -20
  225. package/bin/tts/runtime/Paths.d.ts.map +0 -1
  226. package/bin/tts/runtime/Paths.js +0 -32
  227. package/bin/tts/runtime/Paths.js.map +0 -1
  228. package/bin/tts/runtime/Synthesizer.d.ts +0 -44
  229. package/bin/tts/runtime/Synthesizer.d.ts.map +0 -1
  230. package/bin/tts/runtime/Synthesizer.js +0 -363
  231. package/bin/tts/runtime/Synthesizer.js.map +0 -1
  232. package/bin/tts/types/Tts.d.ts +0 -91
  233. package/bin/tts/types/Tts.d.ts.map +0 -1
  234. package/bin/tts/types/Tts.js +0 -9
  235. package/bin/tts/types/Tts.js.map +0 -1
  236. package/bin/voice/Config.d.ts +0 -43
  237. package/bin/voice/Config.d.ts.map +0 -1
  238. package/bin/voice/Config.js +0 -104
  239. package/bin/voice/Config.js.map +0 -1
  240. package/bin/voice/Dependency.d.ts +0 -77
  241. package/bin/voice/Dependency.d.ts.map +0 -1
  242. package/bin/voice/Dependency.js +0 -237
  243. package/bin/voice/Dependency.js.map +0 -1
  244. package/bin/voice/InboundAugment.d.ts +0 -17
  245. package/bin/voice/InboundAugment.d.ts.map +0 -1
  246. package/bin/voice/InboundAugment.js +0 -47
  247. package/bin/voice/InboundAugment.js.map +0 -1
  248. package/bin/voice/ModelCatalog.d.ts +0 -29
  249. package/bin/voice/ModelCatalog.d.ts.map +0 -1
  250. package/bin/voice/ModelCatalog.js +0 -25
  251. package/bin/voice/ModelCatalog.js.map +0 -1
  252. package/bin/voice/runtime/Catalog.d.ts +0 -18
  253. package/bin/voice/runtime/Catalog.d.ts.map +0 -1
  254. package/bin/voice/runtime/Catalog.js +0 -61
  255. package/bin/voice/runtime/Catalog.js.map +0 -1
  256. package/bin/voice/runtime/DependencyInstaller.d.ts +0 -145
  257. package/bin/voice/runtime/DependencyInstaller.d.ts.map +0 -1
  258. package/bin/voice/runtime/DependencyInstaller.js +0 -309
  259. package/bin/voice/runtime/DependencyInstaller.js.map +0 -1
  260. package/bin/voice/runtime/Installer.d.ts +0 -94
  261. package/bin/voice/runtime/Installer.d.ts.map +0 -1
  262. package/bin/voice/runtime/Installer.js +0 -200
  263. package/bin/voice/runtime/Installer.js.map +0 -1
  264. package/bin/voice/runtime/Paths.d.ts +0 -8
  265. package/bin/voice/runtime/Paths.d.ts.map +0 -1
  266. package/bin/voice/runtime/Paths.js +0 -26
  267. package/bin/voice/runtime/Paths.js.map +0 -1
  268. package/bin/voice/runtime/Transcriber.d.ts +0 -57
  269. package/bin/voice/runtime/Transcriber.d.ts.map +0 -1
  270. package/bin/voice/runtime/Transcriber.js +0 -329
  271. package/bin/voice/runtime/Transcriber.js.map +0 -1
  272. package/bin/voice/types/Voice.d.ts +0 -58
  273. package/bin/voice/types/Voice.d.ts.map +0 -1
  274. package/bin/voice/types/Voice.js +0 -9
  275. package/bin/voice/types/Voice.js.map +0 -1
  276. package/bin/voice/types/VoicePlugin.d.ts +0 -190
  277. package/bin/voice/types/VoicePlugin.d.ts.map +0 -1
  278. package/bin/voice/types/VoicePlugin.js +0 -9
  279. package/bin/voice/types/VoicePlugin.js.map +0 -1
  280. package/bin/web/Dependency.d.ts +0 -10
  281. package/bin/web/Dependency.d.ts.map +0 -1
  282. package/bin/web/Dependency.js +0 -10
  283. package/bin/web/Dependency.js.map +0 -1
  284. package/bin/web/PROMPT.agent-browser.d.ts +0 -7
  285. package/bin/web/PROMPT.agent-browser.d.ts.map +0 -1
  286. package/bin/web/PROMPT.agent-browser.js +0 -8
  287. package/bin/web/PROMPT.agent-browser.js.map +0 -1
  288. package/bin/web/PROMPT.web-access.d.ts +0 -7
  289. package/bin/web/PROMPT.web-access.d.ts.map +0 -1
  290. package/bin/web/PROMPT.web-access.js +0 -8
  291. package/bin/web/PROMPT.web-access.js.map +0 -1
  292. package/bin/web/runtime/Config.d.ts +0 -21
  293. package/bin/web/runtime/Config.d.ts.map +0 -1
  294. package/bin/web/runtime/Config.js +0 -79
  295. package/bin/web/runtime/Config.js.map +0 -1
  296. package/bin/web/runtime/Source.d.ts +0 -29
  297. package/bin/web/runtime/Source.d.ts.map +0 -1
  298. package/bin/web/runtime/Source.js +0 -209
  299. package/bin/web/runtime/Source.js.map +0 -1
  300. package/src/asr/Config.ts +0 -138
  301. package/src/asr/Dependency.ts +0 -336
  302. package/src/asr/InboundAugment.ts +0 -59
  303. package/src/asr/ModelCatalog.ts +0 -43
  304. package/src/tts/Dependency.ts +0 -473
  305. package/src/tts/PluginSupport.ts +0 -85
  306. package/src/tts/runtime/Catalog.ts +0 -97
  307. package/src/tts/runtime/DependencyInstaller.ts +0 -436
  308. package/src/tts/runtime/Installer.ts +0 -297
  309. package/src/tts/runtime/Paths.ts +0 -39
  310. package/src/tts/runtime/Synthesizer.ts +0 -480
  311. package/src/tts/types/Tts.ts +0 -99
  312. package/src/voice/Config.ts +0 -135
  313. package/src/voice/Dependency.ts +0 -329
  314. package/src/voice/InboundAugment.ts +0 -59
  315. package/src/voice/ModelCatalog.ts +0 -43
  316. package/src/voice/runtime/Catalog.ts +0 -68
  317. package/src/voice/runtime/DependencyInstaller.ts +0 -505
  318. package/src/voice/runtime/Installer.ts +0 -324
  319. package/src/voice/runtime/Paths.ts +0 -26
  320. package/src/voice/runtime/Transcriber.ts +0 -467
  321. package/src/voice/types/Voice.ts +0 -68
  322. package/src/voice/types/VoicePlugin.ts +0 -194
  323. package/src/web/Dependency.ts +0 -17
  324. package/src/web/PROMPT.agent-browser.ts +0 -9
  325. package/src/web/PROMPT.agent-browser.ts.txt +0 -17
  326. package/src/web/PROMPT.web-access.ts +0 -9
  327. package/src/web/PROMPT.web-access.ts.txt +0 -13
  328. package/src/web/runtime/Config.ts +0 -105
  329. package/src/web/runtime/Source.ts +0 -257
@@ -1 +0,0 @@
1
- {"version":3,"file":"PROMPT.agent-browser.d.ts","sourceRoot":"","sources":["../../src/web/PROMPT.agent-browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,qjCAAoX,CAAC;AAE9Y,eAAe,mBAAmB,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * 自动生成文件,请勿手改。
3
- * 源文件:由同路径 `*.ts.txt` 生成。
4
- */
5
- // Source: src/web/PROMPT.agent-browser.ts.txt
6
- const TEXT_MODULE_CONTENT = "# Web Plugin / agent-browser\n\n当前 provider 是 `agent-browser`。\n\n你应直接使用 `agent-browser` 项目的浏览器自动化方法,而不是在本项目里自己实现浏览器交互。\n\n工作原则:\n\n- 浏览器交互、打开页面、点击、填写、截图、滚动等操作优先交给 `agent-browser`\n- 严格遵循 `agent-browser` 的基本工作流:\n 1. `open`\n 2. `snapshot -i`\n 3. 使用元素引用交互\n 4. 页面变化后重新 snapshot\n- 如果 `agent-browser` 命令不可用,应先报告依赖缺失\n\n你在处理需要浏览器操作的任务时,应以外部 `agent-browser` 项目为准。\n";
7
- export default TEXT_MODULE_CONTENT;
8
- //# sourceMappingURL=PROMPT.agent-browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PROMPT.agent-browser.js","sourceRoot":"","sources":["../../src/web/PROMPT.agent-browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAC9C,MAAM,mBAAmB,GAAG,iXAAiX,CAAC;AAE9Y,eAAe,mBAAmB,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * 自动生成文件,请勿手改。
3
- * 源文件:由同路径 `*.ts.txt` 生成。
4
- */
5
- declare const TEXT_MODULE_CONTENT = "# Web Plugin / web-access\n\n\u5F53\u524D provider \u662F `web-access`\u3002\n\n\u4F60\u5E94\u76F4\u63A5\u9075\u5FAA\u5DF2\u5B89\u88C5\u7684 `web-access` skill/project \u903B\u8F91\uFF0C\u800C\u4E0D\u662F\u5728\u672C\u9879\u76EE\u91CC\u91CD\u65B0\u5B9E\u73B0\u4E00\u5957\u8054\u7F51\u6846\u67B6\u3002\n\n\u5DE5\u4F5C\u539F\u5219\uFF1A\n\n- \u4F18\u5148\u6CBF\u7528 `web-access` \u81EA\u5DF1\u7684\u8054\u7F51\u7B56\u7565\u3001\u5DE5\u5177\u9009\u62E9\u548C\u6D4F\u89C8\u54F2\u5B66\n- \u628A Downcity \u7684 `web` plugin \u89C6\u4E3A provider \u9009\u62E9\u5668\u4E0E\u63A5\u5165\u5C42\n- \u5982\u679C `web-access` \u4E0D\u53EF\u7528\uFF0C\u5148\u6307\u51FA\u4F9D\u8D56\u7F3A\u5931\uFF0C\u800C\u4E0D\u662F\u81EA\u884C\u9000\u56DE\u5230\u672C\u9879\u76EE\u91CC\u7684\u4E34\u65F6\u5B9E\u73B0\n\n\u4F60\u5728\u5904\u7406\u8054\u7F51\u4EFB\u52A1\u65F6\uFF0C\u5E94\u4EE5\u5916\u90E8 `web-access` \u9879\u76EE\u4E3A\u51C6\u3002\n";
6
- export default TEXT_MODULE_CONTENT;
7
- //# sourceMappingURL=PROMPT.web-access.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PROMPT.web-access.d.ts","sourceRoot":"","sources":["../../src/web/PROMPT.web-access.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,+5BAAwT,CAAC;AAElV,eAAe,mBAAmB,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * 自动生成文件,请勿手改。
3
- * 源文件:由同路径 `*.ts.txt` 生成。
4
- */
5
- // Source: src/web/PROMPT.web-access.ts.txt
6
- const TEXT_MODULE_CONTENT = "# Web Plugin / web-access\n\n当前 provider 是 `web-access`。\n\n你应直接遵循已安装的 `web-access` skill/project 逻辑,而不是在本项目里重新实现一套联网框架。\n\n工作原则:\n\n- 优先沿用 `web-access` 自己的联网策略、工具选择和浏览哲学\n- 把 Downcity 的 `web` plugin 视为 provider 选择器与接入层\n- 如果 `web-access` 不可用,先指出依赖缺失,而不是自行退回到本项目里的临时实现\n\n你在处理联网任务时,应以外部 `web-access` 项目为准。\n";
7
- export default TEXT_MODULE_CONTENT;
8
- //# sourceMappingURL=PROMPT.web-access.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PROMPT.web-access.js","sourceRoot":"","sources":["../../src/web/PROMPT.web-access.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2CAA2C;AAC3C,MAAM,mBAAmB,GAAG,qTAAqT,CAAC;AAElV,eAAe,mBAAmB,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Web Plugin 配置读写。
3
- *
4
- * 关键点(中文)
5
- * - `web` 默认启用,不要求用户先在 `downcity.json` 写配置。
6
- * - 只有当用户显式改动时,才把 `plugins.web` 持久化到项目配置。
7
- */
8
- import type { PluginCommandContext } from "@downcity/agent/internal/plugin/types/Plugin.js";
9
- import type { ResolvedWebPluginConfig, WebPluginConfig } from "../../web/types/WebPlugin.js";
10
- /**
11
- * 读取并归一化 web plugin 配置。
12
- */
13
- export declare function readWebPluginConfig(context: PluginCommandContext): ResolvedWebPluginConfig;
14
- /**
15
- * 写入 web plugin 配置。
16
- */
17
- export declare function writeWebPluginConfig(params: {
18
- context: PluginCommandContext;
19
- value: Partial<WebPluginConfig>;
20
- }): Promise<ResolvedWebPluginConfig>;
21
- //# sourceMappingURL=Config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/web/runtime/Config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAmCzF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,GAC5B,uBAAuB,CA6BzB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACjC,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAiBnC"}
@@ -1,79 +0,0 @@
1
- /**
2
- * Web Plugin 配置读写。
3
- *
4
- * 关键点(中文)
5
- * - `web` 默认启用,不要求用户先在 `downcity.json` 写配置。
6
- * - 只有当用户显式改动时,才把 `plugins.web` 持久化到项目配置。
7
- */
8
- import { WEB_PLUGIN_DEFAULT_REPOSITORY_URL } from "../../web/types/WebPlugin.js";
9
- function toJsonObject(input) {
10
- const out = {};
11
- if (!input)
12
- return out;
13
- for (const [key, value] of Object.entries(input)) {
14
- if (value === null ||
15
- typeof value === "string" ||
16
- typeof value === "number" ||
17
- typeof value === "boolean") {
18
- out[key] = value;
19
- continue;
20
- }
21
- if (Array.isArray(value)) {
22
- out[key] = value.filter((item) => item !== undefined);
23
- continue;
24
- }
25
- if (value && typeof value === "object") {
26
- out[key] = toJsonObject(value);
27
- }
28
- }
29
- return out;
30
- }
31
- function readWebPluginRecord(context) {
32
- const current = context.config.plugins?.web;
33
- if (!current || typeof current !== "object" || Array.isArray(current)) {
34
- return {};
35
- }
36
- return current;
37
- }
38
- /**
39
- * 读取并归一化 web plugin 配置。
40
- */
41
- export function readWebPluginConfig(context) {
42
- const { enabled: _ignoredEnabled, ...current } = readWebPluginRecord(context);
43
- return {
44
- provider: current.provider === "agent-browser" || current.provider === "web-access"
45
- ? current.provider
46
- : "web-access",
47
- injectPrompt: typeof current.injectPrompt === "boolean" ? current.injectPrompt : true,
48
- repositoryUrl: typeof current.repositoryUrl === "string" && current.repositoryUrl.trim()
49
- ? current.repositoryUrl.trim()
50
- : WEB_PLUGIN_DEFAULT_REPOSITORY_URL,
51
- ...(typeof current.sourceVersion === "string" && current.sourceVersion.trim()
52
- ? { sourceVersion: current.sourceVersion.trim() }
53
- : {}),
54
- browserCommand: typeof current.browserCommand === "string" && current.browserCommand.trim()
55
- ? current.browserCommand.trim()
56
- : "agent-browser",
57
- installScope: current.installScope === "project" || current.installScope === "user"
58
- ? current.installScope
59
- : "user",
60
- };
61
- }
62
- /**
63
- * 写入 web plugin 配置。
64
- */
65
- export async function writeWebPluginConfig(params) {
66
- if (!params.context.config.plugins) {
67
- params.context.config.plugins = {};
68
- }
69
- const current = readWebPluginConfig(params.context);
70
- const next = {
71
- ...current,
72
- ...params.value,
73
- };
74
- delete next.enabled;
75
- params.context.config.plugins.web = toJsonObject(next);
76
- await params.context.pluginConfig.persistProjectPlugins(params.context.config.plugins);
77
- return readWebPluginConfig(params.context);
78
- }
79
- //# sourceMappingURL=Config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/web/runtime/Config.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Web Plugin 来源信息与兼容安装动作。
3
- *
4
- * 关键点(中文)
5
- * - 这里不自建联网实现,只检查外部 provider 是否就绪,并记录少量配置。
6
- */
7
- import type { JsonObject } from "@downcity/agent/internal/types/common/Json.js";
8
- import type { PluginCommandContext } from "@downcity/agent/internal/plugin/types/Plugin.js";
9
- import type { WebPluginDependencyCheckResult, WebPluginInstallInput } from "../../web/types/WebPlugin.js";
10
- /**
11
- * 返回当前来源快照。
12
- */
13
- export declare function inspectWebPluginDependency(context: PluginCommandContext): Promise<WebPluginDependencyCheckResult>;
14
- /**
15
- * 兼容 install 动作。
16
- */
17
- export declare function installWebPluginDependency(params: {
18
- context: PluginCommandContext;
19
- input?: WebPluginInstallInput;
20
- }): Promise<{
21
- success: boolean;
22
- message?: string;
23
- details?: JsonObject;
24
- }>;
25
- /**
26
- * doctor 结果与 inspect 一致。
27
- */
28
- export declare function doctorWebPluginDependency(context: PluginCommandContext): Promise<WebPluginDependencyCheckResult>;
29
- //# sourceMappingURL=Source.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Source.d.ts","sourceRoot":"","sources":["../../../src/web/runtime/Source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AA8GlC;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,8BAA8B,CAAC,CA2CzC;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB,CAAC,CA2DD;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,8BAA8B,CAAC,CAEzC"}
@@ -1,209 +0,0 @@
1
- /**
2
- * Web Plugin 来源信息与兼容安装动作。
3
- *
4
- * 关键点(中文)
5
- * - 这里不自建联网实现,只检查外部 provider 是否就绪,并记录少量配置。
6
- */
7
- import fs from "node:fs";
8
- import path from "node:path";
9
- import os from "node:os";
10
- import fsp from "node:fs/promises";
11
- import { execa } from "execa";
12
- import fse from "fs-extra";
13
- import { readWebPluginConfig, writeWebPluginConfig } from "../../web/runtime/Config.js";
14
- import { AGENT_BROWSER_PROMPT } from "../../web/WebPromptAssets.js";
15
- function toJsonObject(input) {
16
- const out = {};
17
- if (!input)
18
- return out;
19
- for (const [key, value] of Object.entries(input)) {
20
- if (value === null ||
21
- typeof value === "string" ||
22
- typeof value === "number" ||
23
- typeof value === "boolean") {
24
- out[key] = value;
25
- }
26
- }
27
- return out;
28
- }
29
- function resolveWebAccessSkillCandidates(projectRoot) {
30
- const home = process.env.HOME || "";
31
- return [
32
- path.join(projectRoot, ".agents", "skills", "web-access", "SKILL.md"),
33
- path.join(home, ".agents", "skills", "web-access", "SKILL.md"),
34
- path.join(projectRoot, ".claude", "skills", "web-access", "SKILL.md"),
35
- path.join(home, ".claude", "skills", "web-access", "SKILL.md"),
36
- ].filter(Boolean);
37
- }
38
- function resolveManagedSkillRoot(projectRoot, scope) {
39
- if (scope === "project") {
40
- return path.join(projectRoot, ".agents", "skills");
41
- }
42
- return path.join(process.env.HOME || os.homedir(), ".agents", "skills");
43
- }
44
- function resolveManagedSkillDir(params) {
45
- return path.join(resolveManagedSkillRoot(params.projectRoot, params.scope), params.provider);
46
- }
47
- function loadBundledAgentBrowserSkillText() {
48
- return AGENT_BROWSER_PROMPT || "# agent-browser";
49
- }
50
- async function ensureAgentBrowserSkillInstalled(params) {
51
- const targetDir = resolveManagedSkillDir({
52
- projectRoot: params.projectRoot,
53
- scope: params.scope,
54
- provider: "agent-browser",
55
- });
56
- const skillPath = path.join(targetDir, "SKILL.md");
57
- if (fs.existsSync(skillPath)) {
58
- return skillPath;
59
- }
60
- await fsp.mkdir(targetDir, { recursive: true });
61
- await fsp.writeFile(`${skillPath}`, `${loadBundledAgentBrowserSkillText()}\n`, "utf-8");
62
- return skillPath;
63
- }
64
- async function ensureWebAccessSkillInstalled(params) {
65
- const targetDir = resolveManagedSkillDir({
66
- projectRoot: params.projectRoot,
67
- scope: params.scope,
68
- provider: "web-access",
69
- });
70
- const skillPath = path.join(targetDir, "SKILL.md");
71
- if (fs.existsSync(skillPath)) {
72
- return skillPath;
73
- }
74
- const source = String(params.source || "").trim();
75
- if (source && fs.existsSync(source)) {
76
- await fse.copy(path.resolve(source), targetDir, {
77
- overwrite: true,
78
- errorOnExist: false,
79
- });
80
- return skillPath;
81
- }
82
- await fsp.mkdir(path.dirname(targetDir), { recursive: true });
83
- await execa("git", ["clone", "--depth=1", "https://github.com/eze-is/web-access", targetDir], {
84
- reject: true,
85
- });
86
- return skillPath;
87
- }
88
- async function checkAgentBrowserCommand(command) {
89
- try {
90
- await execa(command, ["--help"], {
91
- reject: false,
92
- timeout: 15_000,
93
- });
94
- return true;
95
- }
96
- catch {
97
- return false;
98
- }
99
- }
100
- /**
101
- * 返回当前来源快照。
102
- */
103
- export async function inspectWebPluginDependency(context) {
104
- const config = readWebPluginConfig(context);
105
- if (config.provider === "agent-browser") {
106
- const available = await checkAgentBrowserCommand(config.browserCommand);
107
- return {
108
- available,
109
- installed: available,
110
- reasons: available
111
- ? []
112
- : [
113
- `agent-browser command is not available: ${config.browserCommand}`,
114
- "Install or expose the agent-browser CLI before using this provider.",
115
- ],
116
- details: {
117
- provider: config.provider,
118
- browserCommand: config.browserCommand,
119
- source: "external-project",
120
- installScope: config.installScope,
121
- },
122
- };
123
- }
124
- const candidates = resolveWebAccessSkillCandidates(context.rootPath);
125
- const skillPath = candidates.find((item) => fs.existsSync(item));
126
- const available = Boolean(skillPath);
127
- return {
128
- available,
129
- installed: available,
130
- reasons: available
131
- ? []
132
- : [
133
- "web-access skill is not found.",
134
- "Install https://github.com/eze-is/web-access into ~/.agents/skills/web-access or project .agents/skills/web-access.",
135
- ],
136
- details: {
137
- provider: config.provider,
138
- source: "external-project",
139
- repositoryUrl: config.repositoryUrl,
140
- installScope: config.installScope,
141
- ...(config.sourceVersion ? { sourceVersion: config.sourceVersion } : {}),
142
- ...(skillPath ? { skillPath } : { checkedPaths: candidates }),
143
- },
144
- };
145
- }
146
- /**
147
- * 兼容 install 动作。
148
- */
149
- export async function installWebPluginDependency(params) {
150
- const currentConfig = readWebPluginConfig(params.context);
151
- const installScope = params.input?.installScope === "project" || params.input?.installScope === "user"
152
- ? params.input.installScope
153
- : currentConfig.installScope;
154
- const provider = params.input?.provider === "agent-browser" || params.input?.provider === "web-access"
155
- ? params.input.provider
156
- : currentConfig.provider;
157
- const installedSkillPath = provider === "agent-browser"
158
- ? await ensureAgentBrowserSkillInstalled({
159
- projectRoot: params.context.rootPath,
160
- scope: installScope,
161
- })
162
- : await ensureWebAccessSkillInstalled({
163
- projectRoot: params.context.rootPath,
164
- scope: installScope,
165
- source: params.input?.repositoryUrl,
166
- });
167
- const nextConfig = await writeWebPluginConfig({
168
- context: params.context,
169
- value: {
170
- provider,
171
- injectPrompt: typeof params.input?.injectPrompt === "boolean"
172
- ? params.input.injectPrompt
173
- : true,
174
- ...(typeof params.input?.repositoryUrl === "string" &&
175
- params.input.repositoryUrl.trim()
176
- ? { repositoryUrl: params.input.repositoryUrl.trim() }
177
- : {}),
178
- ...(typeof params.input?.sourceVersion === "string" &&
179
- params.input.sourceVersion.trim()
180
- ? { sourceVersion: params.input.sourceVersion.trim() }
181
- : {}),
182
- ...(typeof params.input?.browserCommand === "string" &&
183
- params.input.browserCommand.trim()
184
- ? { browserCommand: params.input.browserCommand.trim() }
185
- : {}),
186
- installScope,
187
- },
188
- });
189
- return {
190
- success: true,
191
- message: "web provider installed and configured",
192
- details: toJsonObject({
193
- provider: nextConfig.provider,
194
- injectPrompt: nextConfig.injectPrompt,
195
- repositoryUrl: nextConfig.repositoryUrl,
196
- sourceVersion: nextConfig.sourceVersion || "",
197
- browserCommand: nextConfig.browserCommand,
198
- installScope: nextConfig.installScope,
199
- skillPath: installedSkillPath,
200
- }),
201
- };
202
- }
203
- /**
204
- * doctor 结果与 inspect 一致。
205
- */
206
- export async function doctorWebPluginDependency(context) {
207
- return inspectWebPluginDependency(context);
208
- }
209
- //# sourceMappingURL=Source.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Source.js","sourceRoot":"","sources":["../../../src/web/runtime/Source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,GAAG,MAAM,UAAU,CAAC;AAO3B,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,SAAS,YAAY,CAAC,KAAiD;IACrE,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC;IACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IACE,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,+BAA+B,CAAC,WAAmB;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC;KAC/D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB,EAAE,KAAyB;IAC7E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,sBAAsB,CAAC,MAI/B;IACC,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,gCAAgC;IACvC,OAAO,oBAAoB,IAAI,iBAAiB,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,MAG/C;IACC,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS,EAAE,EAAE,GAAG,gCAAgC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,MAI5C;IACC,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE;YAC9C,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,sCAAsC,EAAE,SAAS,CAAC,EAAE;QAC5F,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,OAAe;IACrD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAA6B;IAE7B,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACxE,OAAO;YACL,SAAS;YACT,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,SAAS;gBAChB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,2CAA2C,MAAM,CAAC,cAAc,EAAE;oBAClE,qEAAqE;iBACtE;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,MAAM,EAAE,kBAAkB;gBAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,+BAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,OAAO;QACL,SAAS;QACT,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS;YAChB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,gCAAgC;gBAChC,qHAAqH;aACtH;QACL,OAAO,EAAE;YACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,kBAAkB;YAC1B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAGhD;IAKC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,YAAY,GAChB,MAAM,CAAC,KAAK,EAAE,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM;QAC/E,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY;QAC3B,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC;IACjC,MAAM,QAAQ,GACZ,MAAM,CAAC,KAAK,EAAE,QAAQ,KAAK,eAAe,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,KAAK,YAAY;QACnF,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACvB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;IAE7B,MAAM,kBAAkB,GACtB,QAAQ,KAAK,eAAe;QAC1B,CAAC,CAAC,MAAM,gCAAgC,CAAC;YACrC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;YACpC,KAAK,EAAE,YAAY;SACpB,CAAC;QACJ,CAAC,CAAC,MAAM,6BAA6B,CAAC;YAClC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;YACpC,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa;SACpC,CAAC,CAAC;IAET,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC;QAC5C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE;YACL,QAAQ;YACR,YAAY,EACV,OAAO,MAAM,CAAC,KAAK,EAAE,YAAY,KAAK,SAAS;gBAC7C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY;gBAC3B,CAAC,CAAC,IAAI;YACV,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,aAAa,KAAK,QAAQ;gBACnD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;gBAC/B,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,aAAa,KAAK,QAAQ;gBACnD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;gBAC/B,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,cAAc,KAAK,QAAQ;gBACpD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;gBAChC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;gBACxD,CAAC,CAAC,EAAE,CAAC;YACP,YAAY;SACb;KACF,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,uCAAuC;QAChD,OAAO,EAAE,YAAY,CAAC;YACpB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,aAAa,EAAE,UAAU,CAAC,aAAa,IAAI,EAAE;YAC7C,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,SAAS,EAAE,kBAAkB;SAC9B,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAA6B;IAE7B,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
package/src/asr/Config.ts DELETED
@@ -1,138 +0,0 @@
1
- /**
2
- * ASR plugin 配置读写工具。
3
- *
4
- * 关键点(中文)
5
- * - 行为配置与转写依赖配置统一收敛到 `plugins.asr`。
6
- * - 写入前将输入规范化为 JSON object,避免 undefined 进入项目配置。
7
- */
8
-
9
- import type { VoicePluginConfig } from "@/voice/types/VoicePlugin.js";
10
- import type { AgentPluginConfigRuntime } from "@downcity/agent/internal/types/agent/AgentRuntimeAssembly.js";
11
- import type { JsonObject, JsonValue } from "@downcity/agent/internal/types/common/Json.js";
12
-
13
- /**
14
- * 将普通对象转为可持久化 JSON object。
15
- */
16
- export function toJsonObject(
17
- input: Record<string, unknown> | null | undefined,
18
- ): JsonObject | null {
19
- if (!input) return null;
20
- const out: JsonObject = {};
21
- for (const [key, value] of Object.entries(input)) {
22
- if (value === undefined) continue;
23
- if (
24
- value === null ||
25
- typeof value === "string" ||
26
- typeof value === "number" ||
27
- typeof value === "boolean"
28
- ) {
29
- out[key] = value;
30
- continue;
31
- }
32
- if (Array.isArray(value)) {
33
- out[key] = value
34
- .filter((item) => item !== undefined)
35
- .map((item) => item as JsonValue);
36
- continue;
37
- }
38
- if (typeof value === "object") {
39
- out[key] = toJsonObject(value as Record<string, unknown>) || {};
40
- }
41
- }
42
- return out;
43
- }
44
-
45
- /**
46
- * 读取字符串选项。
47
- */
48
- export function getStringOpt(
49
- opts: Record<string, JsonValue>,
50
- key: string,
51
- ): string | undefined {
52
- const value = opts[key];
53
- if (typeof value !== "string") return undefined;
54
- const trimmed = value.trim();
55
- return trimmed || undefined;
56
- }
57
-
58
- /**
59
- * 读取布尔选项。
60
- */
61
- export function getBooleanOpt(
62
- opts: Record<string, JsonValue>,
63
- key: string,
64
- defaultValue: boolean,
65
- ): boolean {
66
- const value = opts[key];
67
- if (typeof value === "boolean") return value;
68
- if (typeof value === "string") {
69
- const normalized = value.trim().toLowerCase();
70
- if (["1", "true", "yes", "y", "on"].includes(normalized)) return true;
71
- if (["0", "false", "no", "n", "off"].includes(normalized)) return false;
72
- }
73
- return defaultValue;
74
- }
75
-
76
- /**
77
- * 读取 ASR Plugin 配置。
78
- */
79
- export function readVoicePluginConfig(runtime: {
80
- config: {
81
- plugins?: Record<string, unknown>;
82
- };
83
- }): VoicePluginConfig {
84
- const current = runtime.config.plugins?.asr;
85
- const normalized =
86
- current && typeof current === "object" && !Array.isArray(current)
87
- ? (current as VoicePluginConfig)
88
- : {};
89
- return {
90
- injectPrompt:
91
- typeof normalized.injectPrompt === "boolean"
92
- ? normalized.injectPrompt
93
- : true,
94
- augmentMessage:
95
- typeof normalized.augmentMessage === "boolean"
96
- ? normalized.augmentMessage
97
- : true,
98
- provider:
99
- normalized.provider === "command" || normalized.provider === "local"
100
- ? normalized.provider
101
- : "local",
102
- ...(typeof normalized.modelId === "string" ? { modelId: normalized.modelId } : {}),
103
- ...(typeof normalized.modelsDir === "string" ? { modelsDir: normalized.modelsDir } : {}),
104
- ...(typeof normalized.pythonBin === "string" ? { pythonBin: normalized.pythonBin } : {}),
105
- ...(typeof normalized.command === "string" ? { command: normalized.command } : {}),
106
- ...(typeof normalized.language === "string" ? { language: normalized.language } : {}),
107
- ...(typeof normalized.timeoutMs === "number" ? { timeoutMs: normalized.timeoutMs } : {}),
108
- ...(typeof normalized.strategy === "string" ? { strategy: normalized.strategy } : {}),
109
- ...(Array.isArray(normalized.installedModels)
110
- ? { installedModels: normalized.installedModels }
111
- : {}),
112
- };
113
- }
114
-
115
- /**
116
- * 写入完整 ASR plugin 配置。
117
- */
118
- export async function writeVoicePluginConfig(params: {
119
- agentState: {
120
- config: {
121
- plugins?: Record<string, unknown>;
122
- };
123
- pluginConfig: AgentPluginConfigRuntime;
124
- };
125
- value: VoicePluginConfig;
126
- }): Promise<void> {
127
- if (!params.agentState.config.plugins) {
128
- params.agentState.config.plugins = {};
129
- }
130
- const next: Record<string, unknown> = {
131
- ...(params.value as Record<string, unknown>),
132
- };
133
- delete next.enabled;
134
- params.agentState.config.plugins.asr = (toJsonObject(next) || {}) as JsonObject;
135
- await params.agentState.pluginConfig.persistProjectPlugins(
136
- params.agentState.config.plugins as Record<string, JsonObject>,
137
- );
138
- }