@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
package/bin/web/Plugin.js CHANGED
@@ -1,478 +1,161 @@
1
+ /**
2
+ * WebPlugin:联网方法论注入插件。
3
+ *
4
+ * 关键点(中文)
5
+ * - web plugin 不选择 provider,也不持久化 provider 运行态。
6
+ * - install action 只负责准备联网相关 skill / CLI 依赖。
7
+ * - 它只通过 `system()` 注入联网研究与浏览器使用方法论。
8
+ * - 具体执行能力由当前 agent 已注册的 tools、skills 或外部 plugin 决定。
9
+ */
1
10
  import { BasePlugin } from "@downcity/agent/internal/plugin/core/BasePlugin.js";
2
- import { WEB_PLUGIN_DEFAULT_REPOSITORY_URL } from "../web/types/WebPlugin.js";
3
- import { isPluginEnabled } from "@downcity/agent/internal/plugin/core/Activation.js";
4
- import { writeProjectPluginEnabled } from "@downcity/agent/internal/plugin/core/ProjectConfigStore.js";
5
- import { doctorWebPluginDependency, inspectWebPluginDependency, installWebPluginDependency, readWebPluginConfig, writeWebPluginConfig, } from "../web/Dependency.js";
6
- import { AGENT_BROWSER_PROMPT, WEB_ACCESS_PROMPT, WEB_PLUGIN_PROMPT, } from "../web/WebPromptAssets.js";
7
- function toJsonObject(input) {
8
- const out = {};
9
- if (!input)
10
- return out;
11
- for (const [key, value] of Object.entries(input)) {
12
- if (value === null ||
13
- typeof value === "string" ||
14
- typeof value === "number" ||
15
- typeof value === "boolean") {
16
- out[key] = value;
17
- }
18
- }
19
- return out;
20
- }
21
- function getStringOpt(opts, key) {
11
+ import { WEB_PLUGIN_PROMPT } from "../web/WebPromptAssets.js";
12
+ import { installWebPluginTargets } from "../web/runtime/Install.js";
13
+ /**
14
+ * 读取字符串选项。
15
+ */
16
+ function get_string_opt(opts, key) {
22
17
  const value = opts[key];
23
18
  if (typeof value !== "string")
24
19
  return undefined;
25
20
  const trimmed = value.trim();
26
21
  return trimmed || undefined;
27
22
  }
28
- function getBooleanOpt(opts, key, defaultValue) {
23
+ /**
24
+ * 读取布尔选项。
25
+ */
26
+ function get_boolean_opt(opts, key) {
29
27
  const value = opts[key];
30
- if (typeof value === "boolean")
31
- return value;
32
- if (typeof value === "string") {
33
- const normalized = value.trim().toLowerCase();
34
- if (["1", "true", "yes", "y", "on"].includes(normalized))
35
- return true;
36
- if (["0", "false", "no", "n", "off"].includes(normalized))
37
- return false;
38
- }
39
- return defaultValue;
28
+ return typeof value === "boolean" ? value : undefined;
40
29
  }
41
- function getWebProviderOpt(opts, key) {
42
- const value = getStringOpt(opts, key);
43
- if (value === "web-access" || value === "agent-browser")
30
+ /**
31
+ * 读取安装目标。
32
+ */
33
+ function get_install_target_opt(opts) {
34
+ const value = get_string_opt(opts, "target");
35
+ if (value === "web-access" || value === "agent-browser" || value === "all") {
44
36
  return value;
37
+ }
45
38
  return undefined;
46
39
  }
47
- function getInstallScopeOpt(opts, key) {
48
- const value = getStringOpt(opts, key);
40
+ /**
41
+ * 读取安装作用域。
42
+ */
43
+ function get_install_scope_opt(opts) {
44
+ const value = get_string_opt(opts, "scope");
49
45
  if (value === "user" || value === "project")
50
46
  return value;
51
47
  return undefined;
52
48
  }
53
- function createWebPluginDefinition(plugin) {
54
- return {
55
- name: "web",
56
- title: "Web Access",
57
- description: "Connects the agent to either web-access or agent-browser, checks provider readiness, and injects the matching guidance into the runtime prompt.",
58
- config: {
59
- plugin: "web",
60
- scope: "project",
61
- defaultValue: {
62
- provider: "web-access",
63
- injectPrompt: true,
64
- repositoryUrl: WEB_PLUGIN_DEFAULT_REPOSITORY_URL,
65
- sourceVersion: "2.4.1",
66
- browserCommand: "agent-browser",
67
- installScope: "user",
68
- },
69
- },
70
- setup: {
71
- mode: "install-configure",
72
- title: "安装联网 Provider",
73
- description: "把 provider 安装到统一 skill 目录,并同步当前配置。",
74
- fields: [
75
- {
76
- key: "provider",
77
- label: "联网方法",
78
- type: "select",
79
- required: true,
80
- sourceAction: "providers",
81
- },
82
- {
83
- key: "installScope",
84
- label: "安装位置",
85
- type: "select",
86
- required: true,
87
- options: [
88
- { label: "用户目录", value: "user", hint: "~/.agents/skills" },
89
- { label: "项目目录", value: "project", hint: "PROJECT/.agents/skills" },
90
- ],
91
- },
92
- {
93
- key: "injectPrompt",
94
- label: "注入 provider 提示词",
95
- type: "checkbox",
96
- },
97
- ],
98
- primaryAction: "install",
99
- statusAction: "status",
100
- },
101
- usage: {
102
- title: "配置联网方式",
103
- description: "选择当前 agent 默认使用的联网 provider 与提示词注入策略。",
104
- fields: [
105
- {
106
- key: "provider",
107
- label: "当前 Provider",
108
- type: "select",
109
- required: true,
110
- sourceAction: "providers",
111
- },
112
- {
113
- key: "injectPrompt",
114
- label: "注入 Provider 提示词",
115
- type: "boolean",
116
- trueLabel: "开启",
117
- falseLabel: "关闭",
118
- description: "开启后,agent system prompt 会自动注入当前 provider 的使用约束。",
119
- },
120
- {
121
- key: "browserCommand",
122
- label: "Browser 命令",
123
- type: "string",
124
- placeholder: "agent-browser",
125
- description: "仅在 provider 为 agent-browser 时生效。",
126
- },
127
- ],
128
- saveAction: "configure",
129
- statusAction: "status",
130
- },
131
- async availability(context) {
132
- if (!isPluginEnabled({ plugin, context })) {
133
- return {
134
- enabled: false,
135
- available: false,
136
- reasons: ["web plugin disabled in project config"],
137
- };
138
- }
139
- const dependency = await inspectWebPluginDependency(context);
140
- return {
141
- enabled: true,
142
- available: dependency.available,
143
- reasons: dependency.reasons,
144
- };
145
- },
146
- actions: {
147
- status: {
148
- allowWhenDisabled: true,
149
- command: {
150
- description: "查看 web plugin 当前状态",
151
- mapInput() {
152
- return {};
153
- },
154
- },
155
- execute: async ({ context }) => {
156
- const config = readWebPluginConfig(context);
157
- const availability = await plugin.availability(context);
158
- const source = await inspectWebPluginDependency(context);
159
- return {
160
- success: true,
161
- data: {
162
- plugin: toJsonObject(config),
163
- availability: {
164
- enabled: availability.enabled,
165
- available: availability.available,
166
- reasons: availability.reasons,
167
- },
168
- provider: source.details || null,
169
- },
170
- };
171
- },
172
- },
173
- providers: {
174
- allowWhenDisabled: true,
175
- command: {
176
- description: "列出 web plugin 支持的 provider",
177
- mapInput() {
178
- return {};
179
- },
180
- },
181
- execute: async () => {
182
- return {
183
- success: true,
184
- data: {
185
- options: [
186
- {
187
- value: "web-access",
188
- title: "web-access",
189
- description: "适合网页搜索、信息查证与策略型联网任务",
190
- },
191
- {
192
- value: "agent-browser",
193
- title: "agent-browser",
194
- description: "适合动态页面、登录态页面与真实浏览器操作",
195
- },
196
- ],
197
- providers: [
198
- {
199
- value: "web-access",
200
- title: "web-access",
201
- description: "适合网页搜索、信息查证与策略型联网任务",
202
- },
203
- {
204
- value: "agent-browser",
205
- title: "agent-browser",
206
- description: "适合动态页面、登录态页面与真实浏览器操作",
207
- },
208
- ],
209
- },
210
- };
211
- },
212
- },
213
- configure: {
214
- allowWhenDisabled: true,
215
- execute: async ({ context, payload }) => {
216
- const payloadObject = payload && typeof payload === "object" && !Array.isArray(payload)
217
- ? payload
218
- : {};
219
- const { enabled: _ignoredEnabled, enable: _ignoredEnable, ...patch } = payloadObject;
220
- const nextConfig = await writeWebPluginConfig({
221
- context,
222
- value: patch,
223
- });
224
- return {
225
- success: true,
226
- data: {
227
- plugin: toJsonObject(nextConfig),
228
- },
229
- };
230
- },
231
- },
232
- install: {
233
- allowWhenDisabled: true,
234
- command: {
235
- description: "安装当前 provider 对应的 skill,并写入配置",
236
- configure(command) {
237
- command
238
- .option("--provider <provider>", "web-access 或 agent-browser")
239
- .option("--repo <url>", "记录来源仓库地址")
240
- .option("--version <version>", "记录来源版本")
241
- .option("--browser-command <command>", "agent-browser 命令名")
242
- .option("--scope <scope>", "安装位置:user 或 project")
243
- .option("--no-inject-prompt", "关闭 provider 提示词注入");
49
+ /**
50
+ * WebPlugin:为 agent 注入联网任务的方法论。
51
+ */
52
+ export class WebPlugin extends BasePlugin {
53
+ /**
54
+ * 当前 plugin 稳定名称。
55
+ */
56
+ name = "web";
57
+ /**
58
+ * 插件标题。
59
+ */
60
+ title = "Web Methodology";
61
+ /**
62
+ * 插件说明。
63
+ */
64
+ description = "Injects web research and browser-use methodology for agents.";
65
+ /**
66
+ * setup 面板:只准备联网相关依赖,不做 provider 配置。
67
+ */
68
+ setup = {
69
+ mode: "install",
70
+ title: "安装联网能力",
71
+ description: "安装 web-access、agent-browser 等联网相关 skill / CLI 依赖;不改变 agent 的运行时默认选择。",
72
+ fields: [
73
+ {
74
+ key: "target",
75
+ label: "联网能力",
76
+ type: "select",
77
+ required: true,
78
+ options: [
79
+ {
80
+ label: "web-access",
81
+ value: "web-access",
82
+ hint: "通用搜索、抓取与资料核实 skill",
244
83
  },
245
- mapInput({ opts }) {
246
- return {
247
- ...(getWebProviderOpt(opts, "provider")
248
- ? { provider: getWebProviderOpt(opts, "provider") }
249
- : {}),
250
- ...(getStringOpt(opts, "repo")
251
- ? { repositoryUrl: getStringOpt(opts, "repo") }
252
- : {}),
253
- ...(getStringOpt(opts, "version")
254
- ? { sourceVersion: getStringOpt(opts, "version") }
255
- : {}),
256
- ...(getStringOpt(opts, "browserCommand")
257
- ? { browserCommand: getStringOpt(opts, "browserCommand") }
258
- : {}),
259
- ...(getInstallScopeOpt(opts, "scope")
260
- ? { installScope: getInstallScopeOpt(opts, "scope") }
261
- : {}),
262
- injectPrompt: getBooleanOpt(opts, "injectPrompt", true),
263
- };
84
+ {
85
+ label: "agent-browser",
86
+ value: "agent-browser",
87
+ hint: "浏览器自动化 skill,并准备 agent-browser CLI",
264
88
  },
265
- },
266
- execute: async ({ context, payload }) => {
267
- const result = await installWebPluginDependency({
268
- context,
269
- input: payload && typeof payload === "object" && !Array.isArray(payload)
270
- ? payload
271
- : undefined,
272
- });
273
- return {
274
- success: result.success,
275
- ...(result.details ? { data: result.details } : {}),
276
- ...(result.message ? { message: result.message } : {}),
277
- };
278
- },
279
- },
280
- on: {
281
- allowWhenDisabled: true,
282
- command: {
283
- description: "启用 web plugin,并可选设置 provider",
284
- configure(command) {
285
- command
286
- .option("--provider <provider>", "web-access 或 agent-browser")
287
- .option("--repo <url>", "记录来源仓库地址")
288
- .option("--version <version>", "记录来源版本")
289
- .option("--browser-command <command>", "agent-browser 命令名")
290
- .option("--no-inject-prompt", "关闭 provider 提示词注入");
291
- },
292
- mapInput({ opts }) {
293
- return {
294
- ...(getWebProviderOpt(opts, "provider")
295
- ? { provider: getWebProviderOpt(opts, "provider") }
296
- : {}),
297
- ...(getStringOpt(opts, "repo")
298
- ? { repositoryUrl: getStringOpt(opts, "repo") }
299
- : {}),
300
- ...(getStringOpt(opts, "version")
301
- ? { sourceVersion: getStringOpt(opts, "version") }
302
- : {}),
303
- ...(getStringOpt(opts, "browserCommand")
304
- ? { browserCommand: getStringOpt(opts, "browserCommand") }
305
- : {}),
306
- injectPrompt: getBooleanOpt(opts, "injectPrompt", true),
307
- };
89
+ {
90
+ label: "全部",
91
+ value: "all",
92
+ hint: "同时准备 web-access 和 agent-browser",
308
93
  },
309
- },
310
- execute: async ({ context, payload }) => {
311
- await writeProjectPluginEnabled({
312
- pluginName: "web",
313
- enabled: true,
314
- context,
315
- });
316
- const providerRaw = String(payload.provider || "").trim();
317
- const provider = providerRaw === "web-access" || providerRaw === "agent-browser"
318
- ? providerRaw
319
- : undefined;
320
- const nextConfig = await writeWebPluginConfig({
321
- context,
322
- value: {
323
- ...readWebPluginConfig(context),
324
- ...(provider ? { provider } : {}),
325
- injectPrompt: typeof payload.injectPrompt === "boolean"
326
- ? Boolean(payload.injectPrompt)
327
- : true,
328
- ...(typeof payload.repositoryUrl === "string"
329
- ? { repositoryUrl: String(payload.repositoryUrl) }
330
- : {}),
331
- ...(typeof payload.sourceVersion === "string"
332
- ? { sourceVersion: String(payload.sourceVersion) }
333
- : {}),
334
- ...(typeof payload.browserCommand === "string"
335
- ? { browserCommand: String(payload.browserCommand) }
336
- : {}),
337
- },
338
- });
339
- return {
340
- success: true,
341
- data: {
342
- plugin: toJsonObject(nextConfig),
343
- },
344
- };
345
- },
94
+ ],
346
95
  },
347
- off: {
348
- command: {
349
- description: "关闭 web plugin",
350
- mapInput() {
351
- return {};
352
- },
353
- },
354
- execute: async ({ context }) => {
355
- await writeProjectPluginEnabled({
356
- pluginName: "web",
357
- enabled: false,
358
- context,
359
- });
360
- return {
361
- success: true,
362
- data: {
363
- plugin: toJsonObject(readWebPluginConfig(context)),
364
- },
365
- };
366
- },
96
+ {
97
+ key: "scope",
98
+ label: "安装位置",
99
+ type: "select",
100
+ required: true,
101
+ options: [
102
+ { label: "用户目录", value: "user", hint: "用户级 skill / 全局 CLI" },
103
+ { label: "项目目录", value: "project", hint: "项目级 skill / devDependency" },
104
+ ],
367
105
  },
368
- use: {
369
- allowWhenDisabled: true,
370
- command: {
371
- description: "切换 web plugin 当前 provider",
372
- configure(command) {
373
- command
374
- .argument("<provider>")
375
- .option("--browser-command <command>", "agent-browser 命令名")
376
- .option("--no-inject-prompt", "关闭 provider 提示词注入");
377
- },
378
- mapInput({ args, opts }) {
379
- const provider = String(args[0] || "").trim();
380
- if (!provider)
381
- throw new Error("provider is required");
382
- return {
383
- provider,
384
- ...(getStringOpt(opts, "browserCommand")
385
- ? { browserCommand: getStringOpt(opts, "browserCommand") }
386
- : {}),
387
- injectPrompt: getBooleanOpt(opts, "injectPrompt", true),
388
- };
389
- },
390
- },
391
- execute: async ({ context, payload }) => {
392
- const provider = String(payload.provider || "").trim();
393
- if (provider !== "web-access" && provider !== "agent-browser") {
394
- return {
395
- success: false,
396
- error: `Unsupported web provider: ${provider}`,
397
- message: `Unsupported web provider: ${provider}`,
398
- };
399
- }
400
- const nextConfig = await writeWebPluginConfig({
401
- context,
402
- value: {
403
- ...readWebPluginConfig(context),
404
- provider,
405
- injectPrompt: typeof payload.injectPrompt === "boolean"
406
- ? Boolean(payload.injectPrompt)
407
- : true,
408
- ...(typeof payload.browserCommand === "string"
409
- ? { browserCommand: String(payload.browserCommand) }
410
- : {}),
411
- },
412
- });
106
+ ],
107
+ primaryAction: "install",
108
+ };
109
+ /**
110
+ * WebPlugin 对外 action。
111
+ */
112
+ actions = {
113
+ install: {
114
+ allowWhenDisabled: true,
115
+ command: {
116
+ description: "安装联网相关 skill / CLI 依赖",
117
+ configure(command) {
118
+ command
119
+ .option("--target <target>", "web-access、agent-browser all")
120
+ .option("--scope <scope>", "安装位置:user 或 project")
121
+ .option("-y, --yes", "跳过确认(默认 true)", true)
122
+ .option("--agent <agent>", "skill installer 目标 agent", "claude-code");
123
+ },
124
+ mapInput({ opts }) {
413
125
  return {
414
- success: true,
415
- data: {
416
- plugin: toJsonObject(nextConfig),
417
- },
126
+ ...(get_install_target_opt(opts)
127
+ ? { target: get_install_target_opt(opts) }
128
+ : {}),
129
+ ...(get_install_scope_opt(opts)
130
+ ? { scope: get_install_scope_opt(opts) }
131
+ : {}),
132
+ ...(typeof get_boolean_opt(opts, "yes") === "boolean"
133
+ ? { yes: get_boolean_opt(opts, "yes") }
134
+ : {}),
135
+ ...(get_string_opt(opts, "agent") ? { agent: get_string_opt(opts, "agent") } : {}),
418
136
  };
419
137
  },
420
138
  },
421
- doctor: {
422
- allowWhenDisabled: true,
423
- command: {
424
- description: "检查当前 provider 是否已就绪",
425
- mapInput() {
426
- return {};
427
- },
428
- },
429
- execute: async ({ context }) => {
430
- const availability = await plugin.availability(context);
431
- const dependency = await doctorWebPluginDependency(context);
432
- return {
433
- success: true,
434
- data: {
435
- availability: {
436
- enabled: availability.enabled,
437
- available: availability.available,
438
- reasons: availability.reasons,
439
- },
440
- provider: dependency.details || null,
441
- },
442
- message: dependency.available
443
- ? "web provider is available"
444
- : dependency.reasons.join("; ") || "web provider is not available",
445
- };
446
- },
139
+ execute: async ({ context, payload }) => {
140
+ const data = await installWebPluginTargets({
141
+ context,
142
+ payload: payload && typeof payload === "object" && !Array.isArray(payload)
143
+ ? payload
144
+ : undefined,
145
+ });
146
+ return {
147
+ success: true,
148
+ data,
149
+ message: "web dependencies installed",
150
+ };
447
151
  },
448
152
  },
449
- system(context) {
450
- const config = readWebPluginConfig(context);
451
- if (!isPluginEnabled({ plugin, context }) || !config.injectPrompt) {
452
- return "";
453
- }
454
- const providerPrompt = config.provider === "agent-browser" ? AGENT_BROWSER_PROMPT : WEB_ACCESS_PROMPT;
455
- return [
456
- `Current web provider: ${config.provider}`,
457
- config.provider === "agent-browser"
458
- ? `Use external CLI command: ${config.browserCommand}`
459
- : "Use the installed external web-access skill/project.",
460
- "",
461
- WEB_PLUGIN_PROMPT,
462
- "",
463
- providerPrompt,
464
- ].join("\n");
465
- },
466
153
  };
467
- }
468
- /**
469
- * WebPlugin:provider 选择器与提示词适配层。
470
- */
471
- export class WebPlugin extends BasePlugin {
472
- name = "web";
473
- constructor(agent = null) {
474
- super(agent);
475
- Object.assign(this, createWebPluginDefinition(this));
154
+ /**
155
+ * 注入联网方法论提示词。
156
+ */
157
+ system(_context) {
158
+ return WEB_PLUGIN_PROMPT;
476
159
  }
477
160
  }
478
161
  //# sourceMappingURL=Plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/web/Plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/web/Plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAMhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGnE;;GAEG;AACH,SAAS,cAAc,CACrB,IAA+B,EAC/B,GAAW;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,IAAI,SAAS,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,IAA+B,EAC/B,GAAW;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,IAA+B;IAE/B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,IAA+B;IAE/B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC;;OAEG;IACM,IAAI,GAAG,KAAK,CAAC;IAEtB;;OAEG;IACM,KAAK,GAAG,iBAAiB,CAAC;IAEnC;;OAEG;IACM,WAAW,GAClB,8DAA8D,CAAC;IAEjE;;OAEG;IACM,KAAK,GAAG;QACf,IAAI,EAAE,SAAkB;QACxB,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,sEAAsE;QACxE,MAAM,EAAE;YACN;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,QAAiB;gBACvB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,YAAY;wBACnB,IAAI,EAAE,oBAAoB;qBAC3B;oBACD;wBACE,KAAK,EAAE,eAAe;wBACtB,KAAK,EAAE,eAAe;wBACtB,IAAI,EAAE,oCAAoC;qBAC3C;oBACD;wBACE,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,KAAK;wBACZ,IAAI,EAAE,iCAAiC;qBACxC;iBACF;aACF;YACD;gBACE,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,QAAiB;gBACvB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE;oBAC5D,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,2BAA2B,EAAE;iBACvE;aACF;SACF;QACD,aAAa,EAAE,SAAS;KACzB,CAAC;IAEF;;OAEG;IACM,OAAO,GAAG;QACjB,OAAO,EAAE;YACP,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE;gBACP,WAAW,EAAE,uBAAuB;gBACpC,SAAS,CAAC,OAAO;oBACf,OAAO;yBACJ,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;yBAC7D,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;yBAChD,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC;yBAC1C,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,CAAC;gBAC1E,CAAC;gBACD,QAAQ,CAAC,EAAE,IAAI,EAAE;oBACf,OAAO;wBACL,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC;4BAC9B,CAAC,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE;4BAC1C,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC;4BAC7B,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE;4BACxC,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,SAAS;4BACnD,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;4BACvC,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC9D,CAAC;gBACzB,CAAC;aACF;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;gBACtC,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC;oBACzC,OAAO;oBACP,OAAO,EACL,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;wBAC/D,CAAC,CAAE,OAAmC;wBACtC,CAAC,CAAC,SAAS;iBAChB,CAAC,CAAC;gBACH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,IAAI;oBACJ,OAAO,EAAE,4BAA4B;iBACtC,CAAC;YACJ,CAAC;SACF;KACF,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,QAAsB;QAC3B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;CACF"}