@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.
- package/bin/BuiltinPlugins.d.ts +2 -3
- package/bin/BuiltinPlugins.d.ts.map +1 -1
- package/bin/BuiltinPlugins.js +2 -6
- package/bin/BuiltinPlugins.js.map +1 -1
- package/bin/asr/Plugin.d.ts +67 -8
- package/bin/asr/Plugin.d.ts.map +1 -1
- package/bin/asr/Plugin.js +229 -461
- package/bin/asr/Plugin.js.map +1 -1
- package/bin/asr/types/AsrPlugin.d.ts +114 -0
- package/bin/asr/types/AsrPlugin.d.ts.map +1 -0
- package/bin/asr/types/AsrPlugin.js +10 -0
- package/bin/asr/types/AsrPlugin.js.map +1 -0
- package/bin/auth/Plugin.d.ts +1 -2
- package/bin/auth/Plugin.d.ts.map +1 -1
- package/bin/auth/Plugin.js +2 -2
- package/bin/auth/Plugin.js.map +1 -1
- package/bin/chat/ChatPlugin.d.ts +1 -2
- package/bin/chat/ChatPlugin.d.ts.map +1 -1
- package/bin/chat/ChatPlugin.js +3 -12
- package/bin/chat/ChatPlugin.js.map +1 -1
- package/bin/chat/PROMPT.direct.d.ts +1 -1
- package/bin/chat/PROMPT.direct.d.ts.map +1 -1
- package/bin/chat/PROMPT.direct.js +1 -1
- package/bin/chat/PROMPT.direct.js.map +1 -1
- package/bin/chat/channels/qq/PROMPT.direct.d.ts +1 -1
- package/bin/chat/channels/qq/PROMPT.direct.d.ts.map +1 -1
- package/bin/chat/channels/qq/PROMPT.direct.js +1 -1
- package/bin/chat/channels/qq/PROMPT.direct.js.map +1 -1
- package/bin/chat/channels/telegram/Bot.d.ts +6 -0
- package/bin/chat/channels/telegram/Bot.d.ts.map +1 -1
- package/bin/chat/channels/telegram/Bot.js +24 -0
- package/bin/chat/channels/telegram/Bot.js.map +1 -1
- package/bin/chat/channels/telegram/TelegramPlatformClient.d.ts +14 -0
- package/bin/chat/channels/telegram/TelegramPlatformClient.d.ts.map +1 -1
- package/bin/chat/channels/telegram/TelegramPlatformClient.js +39 -5
- package/bin/chat/channels/telegram/TelegramPlatformClient.js.map +1 -1
- package/bin/contact/ContactPlugin.d.ts +1 -2
- package/bin/contact/ContactPlugin.d.ts.map +1 -1
- package/bin/contact/ContactPlugin.js +2 -2
- package/bin/contact/ContactPlugin.js.map +1 -1
- package/bin/contact/PROMPT.d.ts +1 -1
- package/bin/contact/PROMPT.d.ts.map +1 -1
- package/bin/contact/PROMPT.js +1 -1
- package/bin/contact/PROMPT.js.map +1 -1
- package/bin/image/ImagePlugin.d.ts +61 -0
- package/bin/image/ImagePlugin.d.ts.map +1 -0
- package/bin/image/ImagePlugin.js +207 -0
- package/bin/image/ImagePlugin.js.map +1 -0
- package/bin/image/types/ImagePlugin.d.ts +136 -0
- package/bin/image/types/ImagePlugin.d.ts.map +1 -0
- package/bin/image/types/ImagePlugin.js +10 -0
- package/bin/image/types/ImagePlugin.js.map +1 -0
- package/bin/index.d.ts +4 -0
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +1 -0
- package/bin/index.js.map +1 -1
- package/bin/shell/ShellPlugin.d.ts +1 -2
- package/bin/shell/ShellPlugin.d.ts.map +1 -1
- package/bin/shell/ShellPlugin.js +2 -2
- package/bin/shell/ShellPlugin.js.map +1 -1
- package/bin/skill/Action.d.ts +8 -3
- package/bin/skill/Action.d.ts.map +1 -1
- package/bin/skill/Action.js +9 -11
- package/bin/skill/Action.js.map +1 -1
- package/bin/skill/Command.d.ts +1 -1
- package/bin/skill/Command.d.ts.map +1 -1
- package/bin/skill/Command.js +3 -10
- package/bin/skill/Command.js.map +1 -1
- package/bin/skill/Config.d.ts +9 -9
- package/bin/skill/Config.d.ts.map +1 -1
- package/bin/skill/Config.js +36 -24
- package/bin/skill/Config.js.map +1 -1
- package/bin/skill/PROMPT.d.ts +1 -1
- package/bin/skill/PROMPT.d.ts.map +1 -1
- package/bin/skill/PROMPT.js +1 -1
- package/bin/skill/PROMPT.js.map +1 -1
- package/bin/skill/Plugin.d.ts +2 -2
- package/bin/skill/Plugin.d.ts.map +1 -1
- package/bin/skill/Plugin.js +20 -37
- package/bin/skill/Plugin.js.map +1 -1
- package/bin/skill/runtime/Discovery.d.ts +3 -3
- package/bin/skill/runtime/Discovery.d.ts.map +1 -1
- package/bin/skill/runtime/Discovery.js +37 -14
- package/bin/skill/runtime/Discovery.js.map +1 -1
- package/bin/skill/runtime/Paths.d.ts +5 -5
- package/bin/skill/runtime/Paths.d.ts.map +1 -1
- package/bin/skill/runtime/Paths.js +23 -33
- package/bin/skill/runtime/Paths.js.map +1 -1
- package/bin/skill/runtime/Prompt.d.ts +2 -2
- package/bin/skill/runtime/Prompt.d.ts.map +1 -1
- package/bin/skill/runtime/Prompt.js +3 -8
- package/bin/skill/runtime/Prompt.js.map +1 -1
- package/bin/skill/runtime/SystemProvider.d.ts +2 -2
- package/bin/skill/runtime/SystemProvider.d.ts.map +1 -1
- package/bin/skill/runtime/SystemProvider.js +2 -2
- package/bin/skill/runtime/SystemProvider.js.map +1 -1
- package/bin/skill/types/SkillPlugin.d.ts +34 -12
- package/bin/skill/types/SkillPlugin.d.ts.map +1 -1
- package/bin/skill/types/SkillPlugin.js +2 -1
- package/bin/skill/types/SkillPlugin.js.map +1 -1
- package/bin/skill/types/SkillRoot.d.ts +1 -1
- package/bin/task/Action.js +2 -2
- package/bin/task/Action.js.map +1 -1
- package/bin/task/PROMPT.d.ts +1 -1
- package/bin/task/PROMPT.d.ts.map +1 -1
- package/bin/task/PROMPT.js +1 -1
- package/bin/task/PROMPT.js.map +1 -1
- package/bin/task/TaskPlugin.d.ts +1 -2
- package/bin/task/TaskPlugin.d.ts.map +1 -1
- package/bin/task/TaskPlugin.js +2 -2
- package/bin/task/TaskPlugin.js.map +1 -1
- package/bin/tts/Plugin.d.ts +53 -7
- package/bin/tts/Plugin.d.ts.map +1 -1
- package/bin/tts/Plugin.js +197 -474
- package/bin/tts/Plugin.js.map +1 -1
- package/bin/tts/types/TtsPlugin.d.ts +63 -102
- package/bin/tts/types/TtsPlugin.d.ts.map +1 -1
- package/bin/tts/types/TtsPlugin.js +4 -3
- package/bin/tts/types/TtsPlugin.js.map +1 -1
- package/bin/web/PROMPT.d.ts +1 -1
- package/bin/web/PROMPT.d.ts.map +1 -1
- package/bin/web/PROMPT.js +1 -1
- package/bin/web/PROMPT.js.map +1 -1
- package/bin/web/Plugin.d.ts +66 -6
- package/bin/web/Plugin.d.ts.map +1 -1
- package/bin/web/Plugin.js +130 -447
- package/bin/web/Plugin.js.map +1 -1
- package/bin/web/WebPromptAssets.d.ts +1 -9
- package/bin/web/WebPromptAssets.d.ts.map +1 -1
- package/bin/web/WebPromptAssets.js +1 -11
- package/bin/web/WebPromptAssets.js.map +1 -1
- package/bin/web/runtime/Install.d.ts +19 -0
- package/bin/web/runtime/Install.d.ts.map +1 -0
- package/bin/web/runtime/Install.js +178 -0
- package/bin/web/runtime/Install.js.map +1 -0
- package/bin/web/types/WebPlugin.d.ts +37 -109
- package/bin/web/types/WebPlugin.d.ts.map +1 -1
- package/bin/web/types/WebPlugin.js +5 -7
- package/bin/web/types/WebPlugin.js.map +1 -1
- package/bin/workboard/Plugin.d.ts +1 -2
- package/bin/workboard/Plugin.d.ts.map +1 -1
- package/bin/workboard/Plugin.js +2 -2
- package/bin/workboard/Plugin.js.map +1 -1
- package/package.json +2 -2
- package/src/BuiltinPlugins.ts +3 -10
- package/src/asr/Plugin.ts +264 -484
- package/src/asr/types/AsrPlugin.ts +118 -0
- package/src/auth/Plugin.ts +2 -3
- package/src/chat/ChatPlugin.ts +3 -14
- package/src/chat/PROMPT.direct.ts +1 -1
- package/src/chat/PROMPT.direct.ts.txt +5 -7
- package/src/chat/channels/qq/PROMPT.direct.ts +1 -1
- package/src/chat/channels/qq/PROMPT.direct.ts.txt +1 -1
- package/src/chat/channels/telegram/Bot.ts +22 -0
- package/src/chat/channels/telegram/TelegramPlatformClient.ts +42 -6
- package/src/contact/ContactPlugin.ts +2 -3
- package/src/contact/PROMPT.ts +1 -1
- package/src/contact/PROMPT.ts.txt +12 -12
- package/src/image/ImagePlugin.ts +268 -0
- package/src/image/types/ImagePlugin.ts +157 -0
- package/src/index.ts +25 -0
- package/src/shell/ShellPlugin.ts +2 -3
- package/src/skill/Action.ts +20 -9
- package/src/skill/Command.ts +3 -13
- package/src/skill/Config.ts +41 -34
- package/src/skill/PROMPT.ts +1 -1
- package/src/skill/PROMPT.ts.txt +14 -2
- package/src/skill/Plugin.ts +205 -214
- package/src/skill/runtime/Discovery.ts +43 -17
- package/src/skill/runtime/Paths.ts +24 -35
- package/src/skill/runtime/Prompt.ts +4 -10
- package/src/skill/runtime/SystemProvider.ts +4 -4
- package/src/skill/types/SkillPlugin.ts +39 -12
- package/src/skill/types/SkillRoot.ts +1 -1
- package/src/task/Action.ts +2 -2
- package/src/task/PROMPT.ts +1 -1
- package/src/task/PROMPT.ts.txt +10 -10
- package/src/task/TaskPlugin.ts +2 -3
- package/src/tts/Plugin.ts +225 -493
- package/src/tts/types/TtsPlugin.ts +67 -102
- package/src/web/PROMPT.ts +1 -1
- package/src/web/PROMPT.ts.txt +32 -6
- package/src/web/Plugin.ts +119 -454
- package/src/web/WebPromptAssets.ts +1 -13
- package/src/web/runtime/Install.ts +241 -0
- package/src/web/types/WebPlugin.ts +37 -113
- package/src/workboard/Plugin.ts +2 -3
- package/bin/asr/Config.d.ts +0 -43
- package/bin/asr/Config.d.ts.map +0 -1
- package/bin/asr/Config.js +0 -107
- package/bin/asr/Config.js.map +0 -1
- package/bin/asr/Dependency.d.ts +0 -77
- package/bin/asr/Dependency.d.ts.map +0 -1
- package/bin/asr/Dependency.js +0 -238
- package/bin/asr/Dependency.js.map +0 -1
- package/bin/asr/InboundAugment.d.ts +0 -17
- package/bin/asr/InboundAugment.d.ts.map +0 -1
- package/bin/asr/InboundAugment.js +0 -47
- package/bin/asr/InboundAugment.js.map +0 -1
- package/bin/asr/ModelCatalog.d.ts +0 -29
- package/bin/asr/ModelCatalog.d.ts.map +0 -1
- package/bin/asr/ModelCatalog.js +0 -25
- package/bin/asr/ModelCatalog.js.map +0 -1
- package/bin/tts/Dependency.d.ts +0 -90
- package/bin/tts/Dependency.d.ts.map +0 -1
- package/bin/tts/Dependency.js +0 -344
- package/bin/tts/Dependency.js.map +0 -1
- package/bin/tts/PluginSupport.d.ts +0 -25
- package/bin/tts/PluginSupport.d.ts.map +0 -1
- package/bin/tts/PluginSupport.js +0 -72
- package/bin/tts/PluginSupport.js.map +0 -1
- package/bin/tts/runtime/Catalog.d.ts +0 -21
- package/bin/tts/runtime/Catalog.d.ts.map +0 -1
- package/bin/tts/runtime/Catalog.js +0 -90
- package/bin/tts/runtime/Catalog.js.map +0 -1
- package/bin/tts/runtime/DependencyInstaller.d.ts +0 -143
- package/bin/tts/runtime/DependencyInstaller.d.ts.map +0 -1
- package/bin/tts/runtime/DependencyInstaller.js +0 -261
- package/bin/tts/runtime/DependencyInstaller.js.map +0 -1
- package/bin/tts/runtime/Installer.d.ts +0 -89
- package/bin/tts/runtime/Installer.d.ts.map +0 -1
- package/bin/tts/runtime/Installer.js +0 -188
- package/bin/tts/runtime/Installer.js.map +0 -1
- package/bin/tts/runtime/Paths.d.ts +0 -20
- package/bin/tts/runtime/Paths.d.ts.map +0 -1
- package/bin/tts/runtime/Paths.js +0 -32
- package/bin/tts/runtime/Paths.js.map +0 -1
- package/bin/tts/runtime/Synthesizer.d.ts +0 -44
- package/bin/tts/runtime/Synthesizer.d.ts.map +0 -1
- package/bin/tts/runtime/Synthesizer.js +0 -363
- package/bin/tts/runtime/Synthesizer.js.map +0 -1
- package/bin/tts/types/Tts.d.ts +0 -91
- package/bin/tts/types/Tts.d.ts.map +0 -1
- package/bin/tts/types/Tts.js +0 -9
- package/bin/tts/types/Tts.js.map +0 -1
- package/bin/voice/Config.d.ts +0 -43
- package/bin/voice/Config.d.ts.map +0 -1
- package/bin/voice/Config.js +0 -104
- package/bin/voice/Config.js.map +0 -1
- package/bin/voice/Dependency.d.ts +0 -77
- package/bin/voice/Dependency.d.ts.map +0 -1
- package/bin/voice/Dependency.js +0 -237
- package/bin/voice/Dependency.js.map +0 -1
- package/bin/voice/InboundAugment.d.ts +0 -17
- package/bin/voice/InboundAugment.d.ts.map +0 -1
- package/bin/voice/InboundAugment.js +0 -47
- package/bin/voice/InboundAugment.js.map +0 -1
- package/bin/voice/ModelCatalog.d.ts +0 -29
- package/bin/voice/ModelCatalog.d.ts.map +0 -1
- package/bin/voice/ModelCatalog.js +0 -25
- package/bin/voice/ModelCatalog.js.map +0 -1
- package/bin/voice/runtime/Catalog.d.ts +0 -18
- package/bin/voice/runtime/Catalog.d.ts.map +0 -1
- package/bin/voice/runtime/Catalog.js +0 -61
- package/bin/voice/runtime/Catalog.js.map +0 -1
- package/bin/voice/runtime/DependencyInstaller.d.ts +0 -145
- package/bin/voice/runtime/DependencyInstaller.d.ts.map +0 -1
- package/bin/voice/runtime/DependencyInstaller.js +0 -309
- package/bin/voice/runtime/DependencyInstaller.js.map +0 -1
- package/bin/voice/runtime/Installer.d.ts +0 -94
- package/bin/voice/runtime/Installer.d.ts.map +0 -1
- package/bin/voice/runtime/Installer.js +0 -200
- package/bin/voice/runtime/Installer.js.map +0 -1
- package/bin/voice/runtime/Paths.d.ts +0 -8
- package/bin/voice/runtime/Paths.d.ts.map +0 -1
- package/bin/voice/runtime/Paths.js +0 -26
- package/bin/voice/runtime/Paths.js.map +0 -1
- package/bin/voice/runtime/Transcriber.d.ts +0 -57
- package/bin/voice/runtime/Transcriber.d.ts.map +0 -1
- package/bin/voice/runtime/Transcriber.js +0 -329
- package/bin/voice/runtime/Transcriber.js.map +0 -1
- package/bin/voice/types/Voice.d.ts +0 -58
- package/bin/voice/types/Voice.d.ts.map +0 -1
- package/bin/voice/types/Voice.js +0 -9
- package/bin/voice/types/Voice.js.map +0 -1
- package/bin/voice/types/VoicePlugin.d.ts +0 -190
- package/bin/voice/types/VoicePlugin.d.ts.map +0 -1
- package/bin/voice/types/VoicePlugin.js +0 -9
- package/bin/voice/types/VoicePlugin.js.map +0 -1
- package/bin/web/Dependency.d.ts +0 -10
- package/bin/web/Dependency.d.ts.map +0 -1
- package/bin/web/Dependency.js +0 -10
- package/bin/web/Dependency.js.map +0 -1
- package/bin/web/PROMPT.agent-browser.d.ts +0 -7
- package/bin/web/PROMPT.agent-browser.d.ts.map +0 -1
- package/bin/web/PROMPT.agent-browser.js +0 -8
- package/bin/web/PROMPT.agent-browser.js.map +0 -1
- package/bin/web/PROMPT.web-access.d.ts +0 -7
- package/bin/web/PROMPT.web-access.d.ts.map +0 -1
- package/bin/web/PROMPT.web-access.js +0 -8
- package/bin/web/PROMPT.web-access.js.map +0 -1
- package/bin/web/runtime/Config.d.ts +0 -21
- package/bin/web/runtime/Config.d.ts.map +0 -1
- package/bin/web/runtime/Config.js +0 -79
- package/bin/web/runtime/Config.js.map +0 -1
- package/bin/web/runtime/Source.d.ts +0 -29
- package/bin/web/runtime/Source.d.ts.map +0 -1
- package/bin/web/runtime/Source.js +0 -209
- package/bin/web/runtime/Source.js.map +0 -1
- package/src/asr/Config.ts +0 -138
- package/src/asr/Dependency.ts +0 -336
- package/src/asr/InboundAugment.ts +0 -59
- package/src/asr/ModelCatalog.ts +0 -43
- package/src/tts/Dependency.ts +0 -473
- package/src/tts/PluginSupport.ts +0 -85
- package/src/tts/runtime/Catalog.ts +0 -97
- package/src/tts/runtime/DependencyInstaller.ts +0 -436
- package/src/tts/runtime/Installer.ts +0 -297
- package/src/tts/runtime/Paths.ts +0 -39
- package/src/tts/runtime/Synthesizer.ts +0 -480
- package/src/tts/types/Tts.ts +0 -99
- package/src/voice/Config.ts +0 -135
- package/src/voice/Dependency.ts +0 -329
- package/src/voice/InboundAugment.ts +0 -59
- package/src/voice/ModelCatalog.ts +0 -43
- package/src/voice/runtime/Catalog.ts +0 -68
- package/src/voice/runtime/DependencyInstaller.ts +0 -505
- package/src/voice/runtime/Installer.ts +0 -324
- package/src/voice/runtime/Paths.ts +0 -26
- package/src/voice/runtime/Transcriber.ts +0 -467
- package/src/voice/types/Voice.ts +0 -68
- package/src/voice/types/VoicePlugin.ts +0 -194
- package/src/web/Dependency.ts +0 -17
- package/src/web/PROMPT.agent-browser.ts +0 -9
- package/src/web/PROMPT.agent-browser.ts.txt +0 -17
- package/src/web/PROMPT.web-access.ts +0 -9
- package/src/web/PROMPT.web-access.ts.txt +0 -13
- package/src/web/runtime/Config.ts +0 -105
- 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":"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"}
|
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
|
-
}
|