@xagent-ai/cli 1.0.1

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 (537) hide show
  1. package/.eslintrc.js +25 -0
  2. package/.gitmodules +3 -0
  3. package/.prettierrc.json +8 -0
  4. package/CONTRIBUTING.md +167 -0
  5. package/LICENSE +21 -0
  6. package/README.md +280 -0
  7. package/README_CN.md +280 -0
  8. package/dist/agents.d.ts +21 -0
  9. package/dist/agents.d.ts.map +1 -0
  10. package/dist/agents.js +463 -0
  11. package/dist/agents.js.map +1 -0
  12. package/dist/ai-client.d.ts +83 -0
  13. package/dist/ai-client.d.ts.map +1 -0
  14. package/dist/ai-client.js +1280 -0
  15. package/dist/ai-client.js.map +1 -0
  16. package/dist/auth.d.ts +25 -0
  17. package/dist/auth.d.ts.map +1 -0
  18. package/dist/auth.js +573 -0
  19. package/dist/auth.js.map +1 -0
  20. package/dist/cancellation.d.ts +46 -0
  21. package/dist/cancellation.d.ts.map +1 -0
  22. package/dist/cancellation.js +154 -0
  23. package/dist/cancellation.js.map +1 -0
  24. package/dist/checkpoint.d.ts +28 -0
  25. package/dist/checkpoint.d.ts.map +1 -0
  26. package/dist/checkpoint.js +186 -0
  27. package/dist/checkpoint.js.map +1 -0
  28. package/dist/cli.d.ts +3 -0
  29. package/dist/cli.d.ts.map +1 -0
  30. package/dist/cli.js +364 -0
  31. package/dist/cli.js.map +1 -0
  32. package/dist/config.d.ts +49 -0
  33. package/dist/config.d.ts.map +1 -0
  34. package/dist/config.js +205 -0
  35. package/dist/config.js.map +1 -0
  36. package/dist/context-compressor.d.ts +51 -0
  37. package/dist/context-compressor.d.ts.map +1 -0
  38. package/dist/context-compressor.js +231 -0
  39. package/dist/context-compressor.js.map +1 -0
  40. package/dist/conversation.d.ts +34 -0
  41. package/dist/conversation.d.ts.map +1 -0
  42. package/dist/conversation.js +221 -0
  43. package/dist/conversation.js.map +1 -0
  44. package/dist/gui-subagent/action-parser/actionParser.d.ts +19 -0
  45. package/dist/gui-subagent/action-parser/actionParser.d.ts.map +1 -0
  46. package/dist/gui-subagent/action-parser/actionParser.js +203 -0
  47. package/dist/gui-subagent/action-parser/actionParser.js.map +1 -0
  48. package/dist/gui-subagent/action-parser/constants.d.ts +8 -0
  49. package/dist/gui-subagent/action-parser/constants.d.ts.map +1 -0
  50. package/dist/gui-subagent/action-parser/constants.js +12 -0
  51. package/dist/gui-subagent/action-parser/constants.js.map +1 -0
  52. package/dist/gui-subagent/action-parser/index.d.ts +3 -0
  53. package/dist/gui-subagent/action-parser/index.d.ts.map +1 -0
  54. package/dist/gui-subagent/action-parser/index.js +6 -0
  55. package/dist/gui-subagent/action-parser/index.js.map +1 -0
  56. package/dist/gui-subagent/action-parser/types.d.ts +24 -0
  57. package/dist/gui-subagent/action-parser/types.d.ts.map +1 -0
  58. package/dist/gui-subagent/action-parser/types.js +12 -0
  59. package/dist/gui-subagent/action-parser/types.js.map +1 -0
  60. package/dist/gui-subagent/agent/gui-agent.d.ts +126 -0
  61. package/dist/gui-subagent/agent/gui-agent.d.ts.map +1 -0
  62. package/dist/gui-subagent/agent/gui-agent.js +820 -0
  63. package/dist/gui-subagent/agent/gui-agent.js.map +1 -0
  64. package/dist/gui-subagent/agent/index.d.ts +5 -0
  65. package/dist/gui-subagent/agent/index.d.ts.map +1 -0
  66. package/dist/gui-subagent/agent/index.js +5 -0
  67. package/dist/gui-subagent/agent/index.js.map +1 -0
  68. package/dist/gui-subagent/index.d.ts +43 -0
  69. package/dist/gui-subagent/index.d.ts.map +1 -0
  70. package/dist/gui-subagent/index.js +96 -0
  71. package/dist/gui-subagent/index.js.map +1 -0
  72. package/dist/gui-subagent/operator/base-operator.d.ts +108 -0
  73. package/dist/gui-subagent/operator/base-operator.d.ts.map +1 -0
  74. package/dist/gui-subagent/operator/base-operator.js +172 -0
  75. package/dist/gui-subagent/operator/base-operator.js.map +1 -0
  76. package/dist/gui-subagent/operator/browser-operator.d.ts +36 -0
  77. package/dist/gui-subagent/operator/browser-operator.d.ts.map +1 -0
  78. package/dist/gui-subagent/operator/browser-operator.js +306 -0
  79. package/dist/gui-subagent/operator/browser-operator.js.map +1 -0
  80. package/dist/gui-subagent/operator/computer-operator.d.ts +31 -0
  81. package/dist/gui-subagent/operator/computer-operator.d.ts.map +1 -0
  82. package/dist/gui-subagent/operator/computer-operator.js +441 -0
  83. package/dist/gui-subagent/operator/computer-operator.js.map +1 -0
  84. package/dist/gui-subagent/operator/desktop-operator.d.ts +55 -0
  85. package/dist/gui-subagent/operator/desktop-operator.d.ts.map +1 -0
  86. package/dist/gui-subagent/operator/desktop-operator.js +527 -0
  87. package/dist/gui-subagent/operator/desktop-operator.js.map +1 -0
  88. package/dist/gui-subagent/operator/index.d.ts +7 -0
  89. package/dist/gui-subagent/operator/index.d.ts.map +1 -0
  90. package/dist/gui-subagent/operator/index.js +6 -0
  91. package/dist/gui-subagent/operator/index.js.map +1 -0
  92. package/dist/gui-subagent/types/actions.d.ts +108 -0
  93. package/dist/gui-subagent/types/actions.d.ts.map +1 -0
  94. package/dist/gui-subagent/types/actions.js +39 -0
  95. package/dist/gui-subagent/types/actions.js.map +1 -0
  96. package/dist/gui-subagent/types/index.d.ts +6 -0
  97. package/dist/gui-subagent/types/index.d.ts.map +1 -0
  98. package/dist/gui-subagent/types/index.js +6 -0
  99. package/dist/gui-subagent/types/index.js.map +1 -0
  100. package/dist/gui-subagent/types/operator.d.ts +95 -0
  101. package/dist/gui-subagent/types/operator.d.ts.map +1 -0
  102. package/dist/gui-subagent/types/operator.js +16 -0
  103. package/dist/gui-subagent/types/operator.js.map +1 -0
  104. package/dist/gui-subagent/utils.d.ts +19 -0
  105. package/dist/gui-subagent/utils.d.ts.map +1 -0
  106. package/dist/gui-subagent/utils.js +42 -0
  107. package/dist/gui-subagent/utils.js.map +1 -0
  108. package/dist/hook.d.ts +73 -0
  109. package/dist/hook.d.ts.map +1 -0
  110. package/dist/hook.js +156 -0
  111. package/dist/hook.js.map +1 -0
  112. package/dist/index.d.ts +19 -0
  113. package/dist/index.d.ts.map +1 -0
  114. package/dist/index.js +19 -0
  115. package/dist/index.js.map +1 -0
  116. package/dist/input-history.d.ts +24 -0
  117. package/dist/input-history.d.ts.map +1 -0
  118. package/dist/input-history.js +94 -0
  119. package/dist/input-history.js.map +1 -0
  120. package/dist/input-processor.d.ts +31 -0
  121. package/dist/input-processor.d.ts.map +1 -0
  122. package/dist/input-processor.js +233 -0
  123. package/dist/input-processor.js.map +1 -0
  124. package/dist/keyboard-manager.d.ts +151 -0
  125. package/dist/keyboard-manager.d.ts.map +1 -0
  126. package/dist/keyboard-manager.js +396 -0
  127. package/dist/keyboard-manager.js.map +1 -0
  128. package/dist/logger.d.ts +75 -0
  129. package/dist/logger.d.ts.map +1 -0
  130. package/dist/logger.js +339 -0
  131. package/dist/logger.js.map +1 -0
  132. package/dist/mcp.d.ts +57 -0
  133. package/dist/mcp.d.ts.map +1 -0
  134. package/dist/mcp.js +483 -0
  135. package/dist/mcp.js.map +1 -0
  136. package/dist/memory.d.ts +25 -0
  137. package/dist/memory.d.ts.map +1 -0
  138. package/dist/memory.js +250 -0
  139. package/dist/memory.js.map +1 -0
  140. package/dist/print-system-prompt.d.ts +2 -0
  141. package/dist/print-system-prompt.d.ts.map +1 -0
  142. package/dist/print-system-prompt.js +40 -0
  143. package/dist/print-system-prompt.js.map +1 -0
  144. package/dist/session-manager.d.ts +41 -0
  145. package/dist/session-manager.d.ts.map +1 -0
  146. package/dist/session-manager.js +234 -0
  147. package/dist/session-manager.js.map +1 -0
  148. package/dist/session.d.ts +77 -0
  149. package/dist/session.d.ts.map +1 -0
  150. package/dist/session.js +1081 -0
  151. package/dist/session.js.map +1 -0
  152. package/dist/skill-invoker.d.ts +177 -0
  153. package/dist/skill-invoker.d.ts.map +1 -0
  154. package/dist/skill-invoker.js +1643 -0
  155. package/dist/skill-invoker.js.map +1 -0
  156. package/dist/skill-loader.d.ts +76 -0
  157. package/dist/skill-loader.d.ts.map +1 -0
  158. package/dist/skill-loader.js +407 -0
  159. package/dist/skill-loader.js.map +1 -0
  160. package/dist/slash-commands.d.ts +60 -0
  161. package/dist/slash-commands.d.ts.map +1 -0
  162. package/dist/slash-commands.js +1021 -0
  163. package/dist/slash-commands.js.map +1 -0
  164. package/dist/smart-approval.d.ts +137 -0
  165. package/dist/smart-approval.d.ts.map +1 -0
  166. package/dist/smart-approval.js +512 -0
  167. package/dist/smart-approval.js.map +1 -0
  168. package/dist/system-prompt-generator.d.ts +35 -0
  169. package/dist/system-prompt-generator.d.ts.map +1 -0
  170. package/dist/system-prompt-generator.js +729 -0
  171. package/dist/system-prompt-generator.js.map +1 -0
  172. package/dist/test-boundary-conditions.d.ts.map +1 -0
  173. package/dist/test-boundary-conditions.js.map +1 -0
  174. package/dist/test-cancellation-fix.d.ts.map +1 -0
  175. package/dist/test-cancellation-fix.js.map +1 -0
  176. package/dist/test-input-history.d.ts.map +1 -0
  177. package/dist/test-input-history.js.map +1 -0
  178. package/dist/test-interaction-flow.d.ts.map +1 -0
  179. package/dist/test-interaction-flow.js.map +1 -0
  180. package/dist/test-quick.d.ts.map +1 -0
  181. package/dist/test-quick.js.map +1 -0
  182. package/dist/test-user-interaction.d.ts.map +1 -0
  183. package/dist/test-user-interaction.js.map +1 -0
  184. package/dist/theme.d.ts +353 -0
  185. package/dist/theme.d.ts.map +1 -0
  186. package/dist/theme.js +383 -0
  187. package/dist/theme.js.map +1 -0
  188. package/dist/tools.d.ts +373 -0
  189. package/dist/tools.d.ts.map +1 -0
  190. package/dist/tools.js +2906 -0
  191. package/dist/tools.js.map +1 -0
  192. package/dist/types.d.ts +180 -0
  193. package/dist/types.d.ts.map +1 -0
  194. package/dist/types.js +23 -0
  195. package/dist/types.js.map +1 -0
  196. package/dist/unified-session.d.ts +42 -0
  197. package/dist/unified-session.d.ts.map +1 -0
  198. package/dist/unified-session.js +271 -0
  199. package/dist/unified-session.js.map +1 -0
  200. package/dist/update.d.ts +30 -0
  201. package/dist/update.d.ts.map +1 -0
  202. package/dist/update.js +211 -0
  203. package/dist/update.js.map +1 -0
  204. package/dist/workflow.d.ts +53 -0
  205. package/dist/workflow.d.ts.map +1 -0
  206. package/dist/workflow.js +405 -0
  207. package/dist/workflow.js.map +1 -0
  208. package/docs/architecture/mcp-integration-guide.md +131 -0
  209. package/docs/architecture/overview.md +93 -0
  210. package/docs/architecture/tool-system-design.md +89 -0
  211. package/docs/cli/commands.md +189 -0
  212. package/docs/smart-mode.md +257 -0
  213. package/docs/third-party-models.md +449 -0
  214. package/package.json +85 -0
  215. package/scripts/init-skills-path.js +58 -0
  216. package/skills/.claude-plugin/marketplace.json +45 -0
  217. package/skills/README.md +94 -0
  218. package/skills/THIRD_PARTY_NOTICES.md +405 -0
  219. package/skills/skills/algorithmic-art/LICENSE.txt +202 -0
  220. package/skills/skills/algorithmic-art/SKILL.md +405 -0
  221. package/skills/skills/algorithmic-art/templates/generator_template.js +223 -0
  222. package/skills/skills/algorithmic-art/templates/viewer.html +599 -0
  223. package/skills/skills/brand-guidelines/LICENSE.txt +202 -0
  224. package/skills/skills/brand-guidelines/SKILL.md +73 -0
  225. package/skills/skills/canvas-design/LICENSE.txt +202 -0
  226. package/skills/skills/canvas-design/SKILL.md +130 -0
  227. package/skills/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  228. package/skills/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  229. package/skills/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  230. package/skills/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  231. package/skills/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  232. package/skills/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  233. package/skills/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  234. package/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  235. package/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  236. package/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  237. package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  238. package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  239. package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  240. package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  241. package/skills/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  242. package/skills/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  243. package/skills/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  244. package/skills/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  245. package/skills/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  246. package/skills/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  247. package/skills/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  248. package/skills/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  249. package/skills/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  250. package/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  251. package/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  252. package/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  253. package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  254. package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  255. package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  256. package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  257. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  258. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  259. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  260. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  261. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  262. package/skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  263. package/skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  264. package/skills/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  265. package/skills/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  266. package/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  267. package/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  268. package/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  269. package/skills/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  270. package/skills/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  271. package/skills/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  272. package/skills/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  273. package/skills/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  274. package/skills/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  275. package/skills/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  276. package/skills/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  277. package/skills/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  278. package/skills/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  279. package/skills/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  280. package/skills/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  281. package/skills/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  282. package/skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  283. package/skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  284. package/skills/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  285. package/skills/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  286. package/skills/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  287. package/skills/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  288. package/skills/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  289. package/skills/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  290. package/skills/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  291. package/skills/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  292. package/skills/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  293. package/skills/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  294. package/skills/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  295. package/skills/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  296. package/skills/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  297. package/skills/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  298. package/skills/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  299. package/skills/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  300. package/skills/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  301. package/skills/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  302. package/skills/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  303. package/skills/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  304. package/skills/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  305. package/skills/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  306. package/skills/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  307. package/skills/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  308. package/skills/skills/doc-coauthoring/SKILL.md +375 -0
  309. package/skills/skills/docx/LICENSE.txt +30 -0
  310. package/skills/skills/docx/SKILL.md +197 -0
  311. package/skills/skills/docx/docx-js.md +350 -0
  312. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  313. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  314. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  315. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  316. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  317. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  318. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  319. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  320. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  321. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  322. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  323. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  324. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  325. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  326. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  327. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  328. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  329. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  330. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  331. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  332. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  333. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  334. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  335. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  336. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  337. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  338. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  339. package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  340. package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  341. package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  342. package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  343. package/skills/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  344. package/skills/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  345. package/skills/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  346. package/skills/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  347. package/skills/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  348. package/skills/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  349. package/skills/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  350. package/skills/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  351. package/skills/skills/docx/ooxml/scripts/pack.py +159 -0
  352. package/skills/skills/docx/ooxml/scripts/unpack.py +29 -0
  353. package/skills/skills/docx/ooxml/scripts/validate.py +69 -0
  354. package/skills/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  355. package/skills/skills/docx/ooxml/scripts/validation/base.py +951 -0
  356. package/skills/skills/docx/ooxml/scripts/validation/docx.py +274 -0
  357. package/skills/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  358. package/skills/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  359. package/skills/skills/docx/ooxml.md +610 -0
  360. package/skills/skills/docx/scripts/__init__.py +1 -0
  361. package/skills/skills/docx/scripts/document.py +1276 -0
  362. package/skills/skills/docx/scripts/templates/comments.xml +3 -0
  363. package/skills/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  364. package/skills/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  365. package/skills/skills/docx/scripts/templates/commentsIds.xml +3 -0
  366. package/skills/skills/docx/scripts/templates/people.xml +3 -0
  367. package/skills/skills/docx/scripts/utilities.py +374 -0
  368. package/skills/skills/frontend-design/LICENSE.txt +177 -0
  369. package/skills/skills/frontend-design/SKILL.md +42 -0
  370. package/skills/skills/internal-comms/LICENSE.txt +202 -0
  371. package/skills/skills/internal-comms/SKILL.md +32 -0
  372. package/skills/skills/internal-comms/examples/3p-updates.md +47 -0
  373. package/skills/skills/internal-comms/examples/company-newsletter.md +65 -0
  374. package/skills/skills/internal-comms/examples/faq-answers.md +30 -0
  375. package/skills/skills/internal-comms/examples/general-comms.md +16 -0
  376. package/skills/skills/mcp-builder/LICENSE.txt +202 -0
  377. package/skills/skills/mcp-builder/SKILL.md +236 -0
  378. package/skills/skills/mcp-builder/reference/evaluation.md +602 -0
  379. package/skills/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  380. package/skills/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  381. package/skills/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  382. package/skills/skills/mcp-builder/scripts/connections.py +151 -0
  383. package/skills/skills/mcp-builder/scripts/evaluation.py +373 -0
  384. package/skills/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  385. package/skills/skills/mcp-builder/scripts/requirements.txt +2 -0
  386. package/skills/skills/pdf/LICENSE.txt +30 -0
  387. package/skills/skills/pdf/SKILL.md +294 -0
  388. package/skills/skills/pdf/forms.md +205 -0
  389. package/skills/skills/pdf/reference.md +612 -0
  390. package/skills/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  391. package/skills/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  392. package/skills/skills/pdf/scripts/check_fillable_fields.py +12 -0
  393. package/skills/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  394. package/skills/skills/pdf/scripts/create_validation_image.py +41 -0
  395. package/skills/skills/pdf/scripts/extract_form_field_info.py +152 -0
  396. package/skills/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  397. package/skills/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  398. package/skills/skills/pptx/LICENSE.txt +30 -0
  399. package/skills/skills/pptx/SKILL.md +484 -0
  400. package/skills/skills/pptx/html2pptx.md +625 -0
  401. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  402. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  403. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  404. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  405. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  406. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  407. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  408. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  409. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  410. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  411. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  412. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  413. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  414. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  415. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  416. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  417. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  418. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  419. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  420. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  421. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  422. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  423. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  424. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  425. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  426. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  427. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  428. package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  429. package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  430. package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  431. package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  432. package/skills/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  433. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  434. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  435. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  436. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  437. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  438. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  439. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  440. package/skills/skills/pptx/ooxml/scripts/pack.py +159 -0
  441. package/skills/skills/pptx/ooxml/scripts/unpack.py +29 -0
  442. package/skills/skills/pptx/ooxml/scripts/validate.py +69 -0
  443. package/skills/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  444. package/skills/skills/pptx/ooxml/scripts/validation/base.py +951 -0
  445. package/skills/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  446. package/skills/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  447. package/skills/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  448. package/skills/skills/pptx/ooxml.md +427 -0
  449. package/skills/skills/pptx/scripts/html2pptx.js +979 -0
  450. package/skills/skills/pptx/scripts/inventory.py +1020 -0
  451. package/skills/skills/pptx/scripts/rearrange.py +231 -0
  452. package/skills/skills/pptx/scripts/replace.py +385 -0
  453. package/skills/skills/pptx/scripts/thumbnail.py +450 -0
  454. package/skills/skills/skill-creator/LICENSE.txt +202 -0
  455. package/skills/skills/skill-creator/SKILL.md +356 -0
  456. package/skills/skills/skill-creator/references/output-patterns.md +82 -0
  457. package/skills/skills/skill-creator/references/workflows.md +28 -0
  458. package/skills/skills/skill-creator/scripts/init_skill.py +303 -0
  459. package/skills/skills/skill-creator/scripts/package_skill.py +110 -0
  460. package/skills/skills/skill-creator/scripts/quick_validate.py +95 -0
  461. package/skills/skills/slack-gif-creator/LICENSE.txt +202 -0
  462. package/skills/skills/slack-gif-creator/SKILL.md +254 -0
  463. package/skills/skills/slack-gif-creator/core/easing.py +234 -0
  464. package/skills/skills/slack-gif-creator/core/frame_composer.py +176 -0
  465. package/skills/skills/slack-gif-creator/core/gif_builder.py +269 -0
  466. package/skills/skills/slack-gif-creator/core/validators.py +136 -0
  467. package/skills/skills/slack-gif-creator/requirements.txt +4 -0
  468. package/skills/skills/theme-factory/LICENSE.txt +202 -0
  469. package/skills/skills/theme-factory/SKILL.md +59 -0
  470. package/skills/skills/theme-factory/theme-showcase.pdf +0 -0
  471. package/skills/skills/theme-factory/themes/arctic-frost.md +19 -0
  472. package/skills/skills/theme-factory/themes/botanical-garden.md +19 -0
  473. package/skills/skills/theme-factory/themes/desert-rose.md +19 -0
  474. package/skills/skills/theme-factory/themes/forest-canopy.md +19 -0
  475. package/skills/skills/theme-factory/themes/golden-hour.md +19 -0
  476. package/skills/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  477. package/skills/skills/theme-factory/themes/modern-minimalist.md +19 -0
  478. package/skills/skills/theme-factory/themes/ocean-depths.md +19 -0
  479. package/skills/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  480. package/skills/skills/theme-factory/themes/tech-innovation.md +19 -0
  481. package/skills/skills/web-artifacts-builder/LICENSE.txt +202 -0
  482. package/skills/skills/web-artifacts-builder/SKILL.md +74 -0
  483. package/skills/skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  484. package/skills/skills/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  485. package/skills/skills/webapp-testing/LICENSE.txt +202 -0
  486. package/skills/skills/webapp-testing/SKILL.md +96 -0
  487. package/skills/skills/webapp-testing/examples/console_logging.py +35 -0
  488. package/skills/skills/webapp-testing/examples/element_discovery.py +40 -0
  489. package/skills/skills/webapp-testing/examples/static_html_automation.py +33 -0
  490. package/skills/skills/webapp-testing/scripts/with_server.py +106 -0
  491. package/skills/skills/xlsx/LICENSE.txt +30 -0
  492. package/skills/skills/xlsx/SKILL.md +289 -0
  493. package/skills/skills/xlsx/recalc.py +178 -0
  494. package/skills/spec/agent-skills-spec.md +3 -0
  495. package/skills/template/SKILL.md +6 -0
  496. package/src/agents.ts +504 -0
  497. package/src/ai-client.ts +1456 -0
  498. package/src/auth.ts +648 -0
  499. package/src/cancellation.ts +176 -0
  500. package/src/checkpoint.ts +219 -0
  501. package/src/cli.ts +384 -0
  502. package/src/config.ts +248 -0
  503. package/src/context-compressor.ts +290 -0
  504. package/src/conversation.ts +288 -0
  505. package/src/gui-subagent/action-parser/actionParser.ts +312 -0
  506. package/src/gui-subagent/action-parser/constants.ts +12 -0
  507. package/src/gui-subagent/action-parser/index.ts +6 -0
  508. package/src/gui-subagent/action-parser/types.ts +31 -0
  509. package/src/gui-subagent/agent/gui-agent.ts +982 -0
  510. package/src/gui-subagent/agent/index.ts +5 -0
  511. package/src/gui-subagent/index.ts +139 -0
  512. package/src/gui-subagent/operator/base-operator.ts +246 -0
  513. package/src/gui-subagent/operator/computer-operator.ts +520 -0
  514. package/src/gui-subagent/operator/index.ts +7 -0
  515. package/src/gui-subagent/types/actions.ts +263 -0
  516. package/src/gui-subagent/types/index.ts +6 -0
  517. package/src/gui-subagent/types/operator.ts +106 -0
  518. package/src/gui-subagent/utils.ts +51 -0
  519. package/src/index.ts +18 -0
  520. package/src/input-processor.ts +282 -0
  521. package/src/logger.ts +438 -0
  522. package/src/mcp.ts +563 -0
  523. package/src/memory.ts +303 -0
  524. package/src/session-manager.ts +308 -0
  525. package/src/session.ts +1280 -0
  526. package/src/skill-invoker.ts +1888 -0
  527. package/src/skill-loader.ts +476 -0
  528. package/src/slash-commands.ts +1150 -0
  529. package/src/smart-approval.ts +595 -0
  530. package/src/system-prompt-generator.ts +786 -0
  531. package/src/theme.ts +455 -0
  532. package/src/tools.ts +3398 -0
  533. package/src/types.ts +198 -0
  534. package/src/update.ts +270 -0
  535. package/src/workflow.ts +508 -0
  536. package/tsconfig.json +22 -0
  537. package/vitest.config.ts +19 -0
package/dist/cli.js ADDED
@@ -0,0 +1,364 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from 'commander';
3
+ import { startInteractiveSession } from './session.js';
4
+ import { getConfigManager } from './config.js';
5
+ import { AuthService, selectAuthType } from './auth.js';
6
+ import { getAgentManager } from './agents.js';
7
+ import { getMCPManager } from './mcp.js';
8
+ import { getLogger, setConfigProvider } from './logger.js';
9
+ import { icons, colors } from './theme.js';
10
+ import { getCancellationManager } from './cancellation.js';
11
+ const logger = getLogger();
12
+ // Initialize CancellationManager early to set up ESC handler
13
+ getCancellationManager();
14
+ // Set up config provider for logger to read loggerLevel
15
+ setConfigProvider(() => {
16
+ const configManager = getConfigManager();
17
+ return {
18
+ getLoggerLevel: () => configManager.getLoggerLevel()
19
+ };
20
+ });
21
+ const program = new Command();
22
+ program
23
+ .name('xagent')
24
+ .description('AI-powered command-line assistant')
25
+ .version('1.0.0')
26
+ .option('-h, --help', 'Show help');
27
+ program
28
+ .command('start')
29
+ .description('Start the xAgent CLI interactive session')
30
+ .option('--approval-mode <mode>', 'Set approval mode (yolo, accept_edits, plan, default, smart)')
31
+ .action(async (options) => {
32
+ if (options.approvalMode) {
33
+ const { getConfigManager } = await import('./config.js');
34
+ const { ExecutionMode } = await import('./types.js');
35
+ const configManager = getConfigManager();
36
+ const validModes = Object.values(ExecutionMode);
37
+ if (!validModes.includes(options.approvalMode)) {
38
+ console.log('');
39
+ console.log(colors.error(`Invalid approval mode: ${options.approvalMode}`));
40
+ console.log(colors.textMuted(`Valid modes: ${validModes.join(', ')}`));
41
+ console.log('');
42
+ process.exit(1);
43
+ }
44
+ configManager.setApprovalMode(options.approvalMode);
45
+ await configManager.save('global');
46
+ console.log('');
47
+ console.log(colors.success(`✅ Approval mode set to: ${options.approvalMode}`));
48
+ console.log('');
49
+ }
50
+ await startInteractiveSession();
51
+ });
52
+ program
53
+ .command('auth')
54
+ .description('Configure authentication for xAgent CLI')
55
+ .action(async () => {
56
+ const separator = icons.separator.repeat(40);
57
+ console.log('');
58
+ console.log(colors.primaryBright(`${icons.lock} Authentication Management`));
59
+ console.log(colors.border(separator));
60
+ console.log('');
61
+ const authType = await selectAuthType();
62
+ const configManager = getConfigManager();
63
+ configManager.set('selectedAuthType', authType);
64
+ const authService = new AuthService({
65
+ type: authType,
66
+ apiKey: '',
67
+ baseUrl: '',
68
+ modelName: ''
69
+ });
70
+ const success = await authService.authenticate();
71
+ if (success) {
72
+ const authConfig = authService.getAuthConfig();
73
+ await configManager.setAuthConfig(authConfig);
74
+ console.log('');
75
+ console.log(colors.success('Authentication configured successfully!'));
76
+ console.log(colors.textMuted('You can now run "xagent start" to begin'));
77
+ console.log('');
78
+ }
79
+ else {
80
+ console.log('');
81
+ console.log(colors.error('Authentication failed. Please try again.'));
82
+ console.log(colors.textMuted('Run "xagent auth" to retry'));
83
+ console.log('');
84
+ process.exit(1);
85
+ }
86
+ });
87
+ program
88
+ .command('agent')
89
+ .description('Add, list, or remove SubAgents')
90
+ .option('-l, --list', 'List all agents')
91
+ .option('-a, --add <name>', 'Add a new agent')
92
+ .option('-r, --remove <name>', 'Remove an agent')
93
+ .option('--scope <scope>', 'Scope (global or project)', 'global')
94
+ .action(async (options) => {
95
+ const agentManager = getAgentManager(process.cwd());
96
+ await agentManager.loadAgents();
97
+ if (options.list) {
98
+ const agents = agentManager.getAllAgents();
99
+ if (agents.length === 0) {
100
+ console.log('');
101
+ console.log(colors.warning('No agents configured'));
102
+ console.log(colors.textMuted('Use /agents install in interactive mode to add agents'));
103
+ console.log('');
104
+ }
105
+ else {
106
+ const separator = icons.separator.repeat(40);
107
+ console.log('');
108
+ console.log(colors.primaryBright(`${icons.robot} Available Agents`));
109
+ console.log(colors.border(separator));
110
+ console.log('');
111
+ agents.forEach((agent, index) => {
112
+ console.log(` ${colors.primaryBright(`${index + 1}. ${agent.agentType}`)}`);
113
+ console.log(` ${colors.textDim(` ${agent.whenToUse}`)}`);
114
+ console.log('');
115
+ });
116
+ }
117
+ }
118
+ else if (options.add) {
119
+ console.log('');
120
+ console.log(colors.warning('Agent creation wizard not implemented yet'));
121
+ console.log(colors.textMuted('Use /agents install in interactive mode'));
122
+ console.log('');
123
+ }
124
+ else if (options.remove) {
125
+ try {
126
+ await agentManager.removeAgent(options.remove, options.scope);
127
+ console.log('');
128
+ console.log(colors.success(`Agent ${options.remove} removed successfully`));
129
+ console.log('');
130
+ }
131
+ catch (error) {
132
+ console.log('');
133
+ console.log(colors.error(`Failed to remove agent: ${error.message}`));
134
+ console.log(colors.textMuted('Check if the agent exists and try again'));
135
+ console.log('');
136
+ }
137
+ }
138
+ else {
139
+ console.log('');
140
+ console.log(colors.warning('Please specify an action: --list, --add, or --remove'));
141
+ console.log('');
142
+ }
143
+ });
144
+ program
145
+ .command('mcp')
146
+ .description('Add, list, or remove MCP servers')
147
+ .option('-l, --list', 'List all MCP servers')
148
+ .option('-a, --add <name>', 'Add a new MCP server')
149
+ .option('-r, --remove <name>', 'Remove an MCP server')
150
+ .option('--scope <scope>', 'Scope (global or project)', 'global')
151
+ .action(async (options) => {
152
+ const configManager = getConfigManager(process.cwd());
153
+ const mcpManager = getMCPManager();
154
+ if (options.list) {
155
+ const servers = mcpManager.getAllServers();
156
+ if (servers.length === 0) {
157
+ console.log('');
158
+ console.log(colors.warning('No MCP servers configured'));
159
+ console.log(colors.textMuted('Use /mcp add in interactive mode to add servers'));
160
+ console.log('');
161
+ }
162
+ else {
163
+ const separator = icons.separator.repeat(40);
164
+ console.log('');
165
+ console.log(colors.primaryBright(`${icons.tool} MCP Servers`));
166
+ console.log(colors.border(separator));
167
+ console.log('');
168
+ servers.forEach((server, index) => {
169
+ const connected = server.isServerConnected() ? icons.success : icons.error;
170
+ const status = server.isServerConnected() ? colors.success(connected) : colors.error(connected);
171
+ const toolNames = server.getToolNames().join(', ');
172
+ console.log(` ${status} ${colors.primaryBright(`Server ${index + 1}`)}`);
173
+ console.log(` ${colors.textDim(` Tools: ${toolNames}`)}`);
174
+ console.log('');
175
+ });
176
+ }
177
+ }
178
+ else if (options.add) {
179
+ console.log('');
180
+ console.log(colors.warning('MCP server addition not implemented yet'));
181
+ console.log(colors.textMuted('Use /mcp add in interactive mode'));
182
+ console.log('');
183
+ }
184
+ else if (options.remove) {
185
+ try {
186
+ mcpManager.disconnectServer(options.remove);
187
+ const mcpServers = configManager.getMcpServers();
188
+ delete mcpServers[options.remove];
189
+ await configManager.save(options.scope);
190
+ console.log('');
191
+ console.log(colors.success(`MCP server ${options.remove} removed successfully`));
192
+ console.log('');
193
+ }
194
+ catch (error) {
195
+ console.log('');
196
+ console.log(colors.error(`Failed to remove MCP server: ${error.message}`));
197
+ console.log(colors.textMuted('Check if the server exists and try again'));
198
+ console.log('');
199
+ }
200
+ }
201
+ else {
202
+ console.log('');
203
+ console.log(colors.warning('Please specify an action: --list, --add, or --remove'));
204
+ console.log('');
205
+ }
206
+ });
207
+ program
208
+ .command('init')
209
+ .description('Initialize XAGENT.md for the current project')
210
+ .action(async () => {
211
+ const { getMemoryManager } = await import('./memory.js');
212
+ const memoryManager = getMemoryManager(process.cwd());
213
+ const separator = icons.separator.repeat(40);
214
+ console.log('');
215
+ console.log(colors.primaryBright(`${icons.folder} Initializing Project Context`));
216
+ console.log(colors.border(separator));
217
+ console.log('');
218
+ try {
219
+ await memoryManager.initializeProject(process.cwd());
220
+ console.log(colors.success('Project initialized successfully!'));
221
+ console.log(colors.textMuted('You can now run "xagent start" to begin'));
222
+ console.log('');
223
+ }
224
+ catch (error) {
225
+ console.log(colors.error(`Initialization failed: ${error.message}`));
226
+ console.log(colors.textMuted('Check if you have write permissions for this directory'));
227
+ console.log('');
228
+ process.exit(1);
229
+ }
230
+ });
231
+ program
232
+ .command('workflow')
233
+ .description('Add, list, or remove workflows')
234
+ .option('--add <workflow-id>', 'Add a workflow from the marketplace')
235
+ .option('-l, --list', 'List all installed workflows')
236
+ .option('-r, --remove <workflow-id>', 'Remove a workflow')
237
+ .option('--scope <scope>', 'Scope (global or project)', 'project')
238
+ .action(async (options) => {
239
+ const { getWorkflowManager } = await import('./workflow.js');
240
+ const workflowManager = getWorkflowManager(process.cwd());
241
+ if (options.list) {
242
+ const workflows = workflowManager.listWorkflows();
243
+ if (workflows.length === 0) {
244
+ console.log('');
245
+ console.log(colors.warning('No workflows installed'));
246
+ console.log(colors.textMuted('Use --add to install workflows from the marketplace'));
247
+ console.log('');
248
+ }
249
+ else {
250
+ const separator = icons.separator.repeat(40);
251
+ console.log('');
252
+ console.log(colors.primaryBright(`${icons.rocket} Installed Workflows`));
253
+ console.log(colors.border(separator));
254
+ console.log('');
255
+ workflows.forEach((workflow, index) => {
256
+ console.log(` ${colors.primaryBright(`${index + 1}. ${workflow.name}`)}`);
257
+ console.log(` ${colors.textDim(` ID: ${workflow.id}`)}`);
258
+ console.log(` ${colors.textDim(` ${workflow.description}`)}`);
259
+ console.log('');
260
+ });
261
+ }
262
+ }
263
+ else if (options.add) {
264
+ try {
265
+ await workflowManager.addWorkflow(options.add, options.scope);
266
+ console.log('');
267
+ console.log(colors.success(`Workflow ${options.add} added successfully!`));
268
+ console.log('');
269
+ }
270
+ catch (error) {
271
+ console.log('');
272
+ console.log(colors.error(error.message));
273
+ console.log(colors.textMuted('Check the workflow ID and try again'));
274
+ console.log('');
275
+ process.exit(1);
276
+ }
277
+ }
278
+ else if (options.remove) {
279
+ try {
280
+ await workflowManager.removeWorkflow(options.remove, options.scope);
281
+ console.log('');
282
+ console.log(colors.success(`Workflow ${options.remove} removed successfully!`));
283
+ console.log('');
284
+ }
285
+ catch (error) {
286
+ console.log('');
287
+ console.log(colors.error(error.message));
288
+ console.log(colors.textMuted('Check if the workflow exists and try again'));
289
+ console.log('');
290
+ process.exit(1);
291
+ }
292
+ }
293
+ else {
294
+ console.log('');
295
+ console.log(colors.warning('Please specify an action: --list, --add, or --remove'));
296
+ console.log('');
297
+ }
298
+ });
299
+ program
300
+ .command('version')
301
+ .description('Display version and check for updates')
302
+ .action(async () => {
303
+ const separator = icons.separator.repeat(40);
304
+ console.log('');
305
+ console.log(colors.gradient('╔════════════════════════════════════════════════════════════╗'));
306
+ console.log(colors.gradient('║') + ' '.repeat(56) + colors.gradient('║'));
307
+ console.log(' '.repeat(20) + colors.gradient('xAgent CLI') + ' '.repeat(29) + colors.gradient('║'));
308
+ console.log(colors.gradient('║') + ' '.repeat(56) + colors.gradient('║'));
309
+ console.log(colors.gradient('╚════════════════════════════════════════════════════════════╝'));
310
+ console.log('');
311
+ console.log(colors.border(separator));
312
+ console.log('');
313
+ console.log(` ${icons.info} ${colors.textMuted('Version:')} ${colors.primaryBright('1.0.0')}`);
314
+ console.log(` ${icons.code} ${colors.textMuted('Node.js:')} ${colors.textMuted(process.version)}`);
315
+ console.log(` ${icons.bolt} ${colors.textMuted('Platform:')} ${colors.textMuted(process.platform + ' ' + process.arch)}`);
316
+ console.log('');
317
+ console.log(colors.border(separator));
318
+ console.log('');
319
+ console.log(` ${colors.primaryBright('📚 Documentation:')} ${colors.primaryBright('https://platform.xagent.cn/cli/')}`);
320
+ console.log(` ${colors.primaryBright('💻 GitHub:')} ${colors.primaryBright('https://github.com/xagent-ai/xagent-cli')}`);
321
+ console.log('');
322
+ });
323
+ program
324
+ .command('gui')
325
+ .description('Start GUI subagent for computer automation')
326
+ .option('--headless', 'Run in headless mode (no visible window)', false)
327
+ .action(async (options) => {
328
+ const separator = icons.separator.repeat(40);
329
+ console.log('');
330
+ console.log(colors.primaryBright(`${icons.robot} GUI Subagent - Computer Automation`));
331
+ console.log(colors.border(separator));
332
+ console.log('');
333
+ try {
334
+ const { createGUISubAgent } = await import('./gui-subagent/index.js');
335
+ const guiAgent = await createGUISubAgent({
336
+ headless: options.headless ?? false,
337
+ });
338
+ console.log(colors.success('✅ GUI Subagent initialized successfully!'));
339
+ console.log('');
340
+ console.log(colors.textMuted('Available actions:'));
341
+ console.log(colors.textDim(' - click: Click on an element'));
342
+ console.log(colors.textDim(' - double_click: Double click'));
343
+ console.log(colors.textDim(' - right_click: Right click'));
344
+ console.log(colors.textDim(' - drag: Drag from one position to another'));
345
+ console.log(colors.textDim(' - type: Type text'));
346
+ console.log(colors.textDim(' - hotkey: Press keyboard shortcuts'));
347
+ console.log(colors.textDim(' - scroll: Scroll up/down/left/right'));
348
+ console.log(colors.textDim(' - wait: Wait for specified time'));
349
+ console.log(colors.textDim(' - finished: Complete the task'));
350
+ console.log('');
351
+ console.log(colors.primaryBright('Use the GUI tools in the interactive session to control the computer.'));
352
+ console.log('');
353
+ }
354
+ catch (error) {
355
+ console.log('');
356
+ console.log(colors.error(`Failed to start GUI Subagent: ${error.message}`));
357
+ console.log('');
358
+ }
359
+ });
360
+ program.parse(process.argv);
361
+ if (!process.argv.slice(2).length) {
362
+ program.outputHelp();
363
+ }
364
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { Settings, AuthType, ExecutionMode, MCPServerConfig, CheckpointConfig, ThinkingConfig, CompressionConfig, LogLevel } from './types.js';
2
+ export declare class ConfigManager {
3
+ private globalConfigPath;
4
+ private projectConfigPath;
5
+ private settings;
6
+ constructor(projectRoot?: string);
7
+ load(): Promise<Settings>;
8
+ save(scope?: 'global' | 'project'): Promise<void>;
9
+ get<K extends keyof Settings>(key: K): Settings[K];
10
+ set<K extends keyof Settings>(key: K, value: Settings[K]): void;
11
+ getAuthConfig(): {
12
+ type: AuthType;
13
+ apiKey: string | undefined;
14
+ refreshToken: string | undefined;
15
+ baseUrl: string | undefined;
16
+ xagentApiBaseUrl: string | undefined;
17
+ modelName: string | undefined;
18
+ searchApiKey: string | undefined;
19
+ showAIDebugInfo: boolean;
20
+ };
21
+ setAuthConfig(config: Partial<Settings>): Promise<void>;
22
+ getExecutionMode(): ExecutionMode;
23
+ setExecutionMode(mode: ExecutionMode): void;
24
+ getApprovalMode(): ExecutionMode;
25
+ setApprovalMode(mode: ExecutionMode): void;
26
+ getMcpServers(): Record<string, MCPServerConfig>;
27
+ addMcpServer(name: string, config: MCPServerConfig): void;
28
+ removeMcpServer(name: string): void;
29
+ getCheckpointingConfig(): CheckpointConfig;
30
+ setCheckpointingConfig(config: Partial<CheckpointConfig>): void;
31
+ getThinkingConfig(): ThinkingConfig;
32
+ setThinkingConfig(config: Partial<ThinkingConfig>): void;
33
+ getContextCompressionConfig(): CompressionConfig;
34
+ setContextCompressionConfig(config: Partial<CompressionConfig>): void;
35
+ getContextFileName(): string | string[];
36
+ getLanguage(): 'zh' | 'en';
37
+ setLanguage(language: 'zh' | 'en'): void;
38
+ getLoggerLevel(): LogLevel;
39
+ setLoggerLevel(level: LogLevel): void;
40
+ getSkillsPath(): string | undefined;
41
+ setSkillsPath(path: string): void;
42
+ private readConfigFile;
43
+ getWorkspacePath(): string | undefined;
44
+ setWorkspacePath(path: string): void;
45
+ getSettings(): Settings | undefined;
46
+ resetToDefaults(): Promise<void>;
47
+ }
48
+ export declare function getConfigManager(projectRoot?: string): ConfigManager;
49
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmD/I,qBAAa,aAAa;IACxB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAW;gBAEf,WAAW,CAAC,EAAE,MAAM;IAQ1B,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC;IAiBzB,IAAI,CAAC,KAAK,GAAE,QAAQ,GAAG,SAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAIlD,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAI/D,aAAa;;;;;;;;;;IAaP,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,gBAAgB,IAAI,aAAa;IAIjC,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAI3C,eAAe,IAAI,aAAa;IAIhC,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAI1C,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAIhD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAIzD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,sBAAsB,IAAI,gBAAgB;IAI1C,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAI/D,iBAAiB,IAAI,cAAc;IAInC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAIxD,2BAA2B,IAAI,iBAAiB;IAIhD,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAIrE,kBAAkB,IAAI,MAAM,GAAG,MAAM,EAAE;IAIvC,WAAW,IAAI,IAAI,GAAG,IAAI;IAI1B,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;IAIxC,cAAc,IAAI,QAAQ;IAI1B,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAIrC,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjC,OAAO,CAAC,cAAc;IAYtB,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAItC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,WAAW,IAAI,QAAQ,GAAG,SAAS;IAI7B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAIvC;AAID,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,CAKpE"}
package/dist/config.js ADDED
@@ -0,0 +1,205 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import { AuthType, ExecutionMode, LogLevel } from './types.js';
5
+ import { getLogger } from './logger.js';
6
+ const logger = getLogger();
7
+ const DEFAULT_SETTINGS = {
8
+ theme: 'Default',
9
+ selectedAuthType: AuthType.OAUTH_XAGENT,
10
+ apiKey: '',
11
+ // LLM API - 用于主对话和任务处理 (OpenAI兼容格式)
12
+ baseUrl: 'http://xagent-colife.net:3000/v1',
13
+ modelName: 'Qwen3-Coder',
14
+ // xAgent API - 用于 token 验证等后端调用 (不含 /v1)
15
+ xagentApiBaseUrl: 'http://xagent-colife.net:3000',
16
+ // VLM API - 用于 GUI 自动化(浏览器/桌面操作)
17
+ guiSubagentModel: 'Qwen3-Coder',
18
+ guiSubagentBaseUrl: 'http://xagent-colife.net:3000/v3',
19
+ guiSubagentApiKey: '',
20
+ searchApiKey: '',
21
+ skillsPath: '', // Will be auto-detected if not set
22
+ workspacePath: '', // Will be auto-detected if not set
23
+ executionMode: ExecutionMode.SMART,
24
+ approvalMode: ExecutionMode.SMART,
25
+ checkpointing: {
26
+ enabled: false,
27
+ autoCreate: true,
28
+ maxCheckpoints: 10
29
+ },
30
+ thinking: {
31
+ enabled: true,
32
+ mode: 'normal',
33
+ displayMode: 'compact'
34
+ },
35
+ contextCompression: {
36
+ enabled: true,
37
+ maxMessages: 30,
38
+ maxContextSize: 1500000,
39
+ preserveRecentMessages: 0,
40
+ enableSummary: true
41
+ },
42
+ contextFileName: 'XAGENT.md',
43
+ mcpServers: {},
44
+ mcpToolPreferences: {},
45
+ language: 'zh',
46
+ autoUpdate: true,
47
+ telemetryEnabled: true,
48
+ showToolDetails: false,
49
+ showAIDebugInfo: false,
50
+ loggerLevel: LogLevel.INFO
51
+ };
52
+ export class ConfigManager {
53
+ globalConfigPath;
54
+ projectConfigPath;
55
+ settings;
56
+ constructor(projectRoot) {
57
+ this.globalConfigPath = path.join(os.homedir(), '.xagent', 'settings.json');
58
+ this.projectConfigPath = projectRoot
59
+ ? path.join(projectRoot, '.xagent', 'settings.json')
60
+ : '';
61
+ this.settings = { ...DEFAULT_SETTINGS };
62
+ }
63
+ async load() {
64
+ try {
65
+ const globalConfig = this.readConfigFile(this.globalConfigPath);
66
+ this.settings = { ...DEFAULT_SETTINGS, ...globalConfig };
67
+ if (this.projectConfigPath) {
68
+ const projectConfig = this.readConfigFile(this.projectConfigPath);
69
+ this.settings = { ...this.settings, ...projectConfig };
70
+ }
71
+ return this.settings;
72
+ }
73
+ catch (error) {
74
+ logger.error('Failed to load config', 'Check if config files exist and are valid');
75
+ return { ...DEFAULT_SETTINGS };
76
+ }
77
+ }
78
+ async save(scope = 'global') {
79
+ const configPath = scope === 'global' ? this.globalConfigPath : this.projectConfigPath;
80
+ if (!configPath) {
81
+ throw new Error('Project config path not set');
82
+ }
83
+ const configDir = path.dirname(configPath);
84
+ fs.mkdirSync(configDir, { recursive: true });
85
+ const configToSave = scope === 'global'
86
+ ? this.settings
87
+ : { mcpServers: this.settings.mcpServers };
88
+ fs.writeFileSync(configPath, JSON.stringify(configToSave, null, 2), 'utf-8');
89
+ }
90
+ get(key) {
91
+ return this.settings[key];
92
+ }
93
+ set(key, value) {
94
+ this.settings[key] = value;
95
+ }
96
+ getAuthConfig() {
97
+ return {
98
+ type: this.settings.selectedAuthType,
99
+ apiKey: this.settings.apiKey,
100
+ refreshToken: this.settings.refreshToken,
101
+ baseUrl: this.settings.baseUrl,
102
+ xagentApiBaseUrl: this.settings.xagentApiBaseUrl,
103
+ modelName: this.settings.modelName,
104
+ searchApiKey: this.settings.searchApiKey,
105
+ showAIDebugInfo: this.settings.showAIDebugInfo
106
+ };
107
+ }
108
+ async setAuthConfig(config) {
109
+ Object.assign(this.settings, config);
110
+ await this.save('global');
111
+ }
112
+ getExecutionMode() {
113
+ return this.settings.executionMode;
114
+ }
115
+ setExecutionMode(mode) {
116
+ this.settings.executionMode = mode;
117
+ }
118
+ getApprovalMode() {
119
+ return this.settings.approvalMode || ExecutionMode.DEFAULT;
120
+ }
121
+ setApprovalMode(mode) {
122
+ this.settings.approvalMode = mode;
123
+ }
124
+ getMcpServers() {
125
+ return this.settings.mcpServers;
126
+ }
127
+ addMcpServer(name, config) {
128
+ this.settings.mcpServers[name] = config;
129
+ }
130
+ removeMcpServer(name) {
131
+ delete this.settings.mcpServers[name];
132
+ }
133
+ getCheckpointingConfig() {
134
+ return this.settings.checkpointing;
135
+ }
136
+ setCheckpointingConfig(config) {
137
+ this.settings.checkpointing = { ...this.settings.checkpointing, ...config };
138
+ }
139
+ getThinkingConfig() {
140
+ return this.settings.thinking;
141
+ }
142
+ setThinkingConfig(config) {
143
+ this.settings.thinking = { ...this.settings.thinking, ...config };
144
+ }
145
+ getContextCompressionConfig() {
146
+ return this.settings.contextCompression;
147
+ }
148
+ setContextCompressionConfig(config) {
149
+ this.settings.contextCompression = { ...this.settings.contextCompression, ...config };
150
+ }
151
+ getContextFileName() {
152
+ return this.settings.contextFileName;
153
+ }
154
+ getLanguage() {
155
+ return this.settings.language;
156
+ }
157
+ setLanguage(language) {
158
+ this.settings.language = language;
159
+ }
160
+ getLoggerLevel() {
161
+ return this.settings.loggerLevel;
162
+ }
163
+ setLoggerLevel(level) {
164
+ this.settings.loggerLevel = level;
165
+ }
166
+ getSkillsPath() {
167
+ return this.settings.skillsPath;
168
+ }
169
+ setSkillsPath(path) {
170
+ this.settings.skillsPath = path;
171
+ }
172
+ readConfigFile(filePath) {
173
+ try {
174
+ const content = fs.readFileSync(filePath, 'utf-8');
175
+ return JSON.parse(content);
176
+ }
177
+ catch (error) {
178
+ if (error.code !== 'ENOENT') {
179
+ logger.error(`Error reading config file ${filePath}`, 'Check file permissions and format');
180
+ }
181
+ return {};
182
+ }
183
+ }
184
+ getWorkspacePath() {
185
+ return this.settings.workspacePath;
186
+ }
187
+ setWorkspacePath(path) {
188
+ this.settings.workspacePath = path;
189
+ }
190
+ getSettings() {
191
+ return this.settings;
192
+ }
193
+ async resetToDefaults() {
194
+ this.settings = { ...DEFAULT_SETTINGS };
195
+ await this.save('global');
196
+ }
197
+ }
198
+ let configManagerInstance = null;
199
+ export function getConfigManager(projectRoot) {
200
+ if (!configManagerInstance) {
201
+ configManagerInstance = new ConfigManager(projectRoot);
202
+ }
203
+ return configManagerInstance;
204
+ }
205
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}