@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/agents.js ADDED
@@ -0,0 +1,463 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import { getToolRegistry } from './tools.js';
5
+ export class AgentManager {
6
+ agents = new Map();
7
+ globalAgentsPath;
8
+ projectAgentsPath;
9
+ constructor(projectRoot) {
10
+ this.globalAgentsPath = path.join(os.homedir(), '.xagent', 'agents');
11
+ this.projectAgentsPath = projectRoot
12
+ ? path.join(projectRoot, '.xagent', 'agents')
13
+ : '';
14
+ }
15
+ async loadAgents() {
16
+ // First load DEFAULT_AGENTS
17
+ for (const agent of DEFAULT_AGENTS) {
18
+ this.agents.set(agent.agentType, agent);
19
+ }
20
+ // Then load from file system (can override defaults)
21
+ await this.loadAgentsFromDirectory(this.globalAgentsPath);
22
+ if (this.projectAgentsPath) {
23
+ await this.loadAgentsFromDirectory(this.projectAgentsPath);
24
+ }
25
+ }
26
+ async loadAgentsFromDirectory(dirPath) {
27
+ try {
28
+ const files = await fs.readdir(dirPath);
29
+ for (const file of files) {
30
+ const filePath = path.join(dirPath, file);
31
+ // Support both .md (markdown) and .json config files
32
+ if (file.endsWith('.md')) {
33
+ const content = await fs.readFile(filePath, 'utf-8');
34
+ const agent = this.parseAgentConfig(content);
35
+ if (agent) {
36
+ this.agents.set(agent.agentType, agent);
37
+ }
38
+ }
39
+ else if (file.endsWith('.json') && file !== 'agent-config.example.json') {
40
+ const content = await fs.readFile(filePath, 'utf-8');
41
+ this.applyJsonAgentConfig(content);
42
+ }
43
+ }
44
+ }
45
+ catch (error) {
46
+ if (error.code !== 'ENOENT') {
47
+ console.error(`Failed to load agents from ${dirPath}:`, error);
48
+ }
49
+ }
50
+ }
51
+ applyJsonAgentConfig(content) {
52
+ try {
53
+ const parsed = JSON.parse(content);
54
+ if (parsed.agents && typeof parsed.agents === 'object') {
55
+ for (const [agentType, config] of Object.entries(parsed.agents)) {
56
+ const agentConfig = config;
57
+ const existingAgent = this.agents.get(agentType);
58
+ if (existingAgent) {
59
+ // Merge config into existing agent
60
+ if (agentConfig.allowedTools) {
61
+ existingAgent.allowedTools = agentConfig.allowedTools;
62
+ }
63
+ if (agentConfig.description) {
64
+ existingAgent.description = agentConfig.description;
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
70
+ catch (error) {
71
+ console.error('Failed to apply JSON agent config:', error);
72
+ }
73
+ }
74
+ parseAgentConfig(content) {
75
+ const frontMatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
76
+ if (!frontMatterMatch) {
77
+ return null;
78
+ }
79
+ try {
80
+ const frontMatter = frontMatterMatch[1];
81
+ const config = {};
82
+ frontMatter.split('\n').forEach(line => {
83
+ const colonIndex = line.indexOf(':');
84
+ if (colonIndex > 0) {
85
+ const key = line.slice(0, colonIndex).trim();
86
+ const value = line.slice(colonIndex + 1).trim();
87
+ if (key === 'allowedTools' || key === 'allowedMcps') {
88
+ config[key] = value ? value.split(',').map(s => s.trim()) : [];
89
+ }
90
+ else if (key === 'isInheritTools' || key === 'isInheritMcps' || key === 'proactive') {
91
+ config[key] = value === 'true';
92
+ }
93
+ else {
94
+ config[key] = value;
95
+ }
96
+ }
97
+ });
98
+ return {
99
+ agentType: config.agentType,
100
+ systemPrompt: config.systemPrompt,
101
+ whenToUse: config.whenToUse,
102
+ model: config.model,
103
+ allowedTools: config.allowedTools,
104
+ allowedMcps: config.allowedMcps,
105
+ isInheritMcps: config.isInheritMcps ?? true,
106
+ proactive: config.proactive ?? false,
107
+ color: config.color,
108
+ name: config.name,
109
+ description: config.description
110
+ };
111
+ }
112
+ catch (error) {
113
+ console.error('Failed to parse agent config:', error);
114
+ return null;
115
+ }
116
+ }
117
+ getAgent(agentType) {
118
+ return this.agents.get(agentType);
119
+ }
120
+ getAllAgents() {
121
+ return Array.from(this.agents.values());
122
+ }
123
+ async addAgent(agent, scope = 'global') {
124
+ const agentsPath = scope === 'global' ? this.globalAgentsPath : this.projectAgentsPath;
125
+ if (!agentsPath) {
126
+ throw new Error('Project agents path not set');
127
+ }
128
+ await fs.mkdir(agentsPath, { recursive: true });
129
+ const filePath = path.join(agentsPath, `${agent.agentType}.md`);
130
+ const content = this.formatAgentConfig(agent);
131
+ await fs.writeFile(filePath, content, 'utf-8');
132
+ this.agents.set(agent.agentType, agent);
133
+ }
134
+ formatAgentConfig(agent) {
135
+ let content = '---\n';
136
+ content += `agentType: "${agent.agentType}"\n`;
137
+ content += `systemPrompt: "${agent.systemPrompt}"\n`;
138
+ content += `whenToUse: "${agent.whenToUse}"\n`;
139
+ if (agent.model) {
140
+ content += `model: "${agent.model}"\n`;
141
+ }
142
+ if (agent.allowedTools && agent.allowedTools.length > 0) {
143
+ content += `allowedTools: [${agent.allowedTools.map(t => `"${t}"`).join(', ')}]\n`;
144
+ }
145
+ if (agent.allowedMcps && agent.allowedMcps.length > 0) {
146
+ content += `allowedMcps: [${agent.allowedMcps.map(m => `"${m}"`).join(', ')}]\n`;
147
+ }
148
+ if (agent.isInheritMcps !== undefined) {
149
+ content += `isInheritMcps: ${agent.isInheritMcps}\n`;
150
+ }
151
+ if (agent.proactive !== undefined) {
152
+ content += `proactive: ${agent.proactive}\n`;
153
+ }
154
+ if (agent.color) {
155
+ content += `color: "${agent.color}"\n`;
156
+ }
157
+ if (agent.name) {
158
+ content += `name: "${agent.name}"\n`;
159
+ }
160
+ if (agent.description) {
161
+ content += `description: "${agent.description}"\n`;
162
+ }
163
+ content += '---\n\n';
164
+ content += `# ${agent.name || agent.agentType}\n\n`;
165
+ content += agent.description || `Agent for ${agent.whenToUse}`;
166
+ return content;
167
+ }
168
+ async removeAgent(agentType, scope = 'global') {
169
+ const agentsPath = scope === 'global' ? this.globalAgentsPath : this.projectAgentsPath;
170
+ if (!agentsPath) {
171
+ throw new Error('Project agents path not set');
172
+ }
173
+ const filePath = path.join(agentsPath, `${agentType}.md`);
174
+ try {
175
+ await fs.unlink(filePath);
176
+ this.agents.delete(agentType);
177
+ }
178
+ catch (error) {
179
+ if (error.code !== 'ENOENT') {
180
+ throw error;
181
+ }
182
+ }
183
+ }
184
+ getAvailableToolsForAgent(agent, executionMode) {
185
+ const toolRegistry = getToolRegistry();
186
+ const allTools = toolRegistry.getAll();
187
+ // general-purpose agent: tools are determined by execution mode
188
+ if (agent.agentType === 'general-purpose') {
189
+ return allTools
190
+ .filter(tool => tool.allowedModes.includes(executionMode))
191
+ .map(tool => tool.name);
192
+ }
193
+ // Other subagents: only use their own allowedTools configuration
194
+ // This keeps tool permissions consistent regardless of main agent's mode
195
+ return agent.allowedTools || [];
196
+ }
197
+ getAvailableMcpsForAgent(agent) {
198
+ if (!agent.isInheritMcps) {
199
+ return agent.allowedMcps || [];
200
+ }
201
+ return agent.allowedMcps || [];
202
+ }
203
+ }
204
+ let agentManagerInstance = null;
205
+ export function getAgentManager(projectRoot) {
206
+ if (!agentManagerInstance) {
207
+ agentManagerInstance = new AgentManager(projectRoot);
208
+ }
209
+ return agentManagerInstance;
210
+ }
211
+ export const DEFAULT_AGENTS = [
212
+ {
213
+ agentType: 'general-purpose',
214
+ systemPrompt: `You are xAgent CLI, an interactive command-line assistant focused on software engineering tasks.
215
+
216
+ ## Self Introduction
217
+
218
+ When users ask you to introduce yourself, respond with:
219
+
220
+ I am xAgent CLI, your intelligent life assistant and computer automation expert.
221
+
222
+ As your **AI-powered PC companion**, I help you:
223
+ - **Automate your digital life** - Handle repetitive tasks, manage files, and streamline workflows
224
+ - **Control your computer** - Navigate browsers, fill forms, click elements, and perform desktop operations
225
+ - **Boost productivity** - Write code, fix bugs, search information, and execute commands seamlessly
226
+
227
+ Core capabilities:
228
+ - **Life Automation & PC Smart Management** - Your intelligent assistant for everyday computing
229
+ - **Browser automation** - Navigate, fill forms, click, and interact with web pages
230
+ - **Desktop control** - Perform mouse, keyboard, and system operations
231
+ - **Software engineering** - Code analysis, debugging, refactoring, and testing
232
+ - **Project management** - Build, test, and deploy applications
233
+ - **Version control** - Git operations and collaboration
234
+
235
+ Key features:
236
+ - Multi-mode execution (DEFAULT, YOLO, ACCEPT_EDITS, PLAN, SMART)
237
+ - 2-level thinking mode (Off, On)
238
+ - Rich toolset (file ops, code search, Web search, GUI automation, etc.)
239
+ - Interactive dialogue and task management
240
+ - Support for multiple AI models
241
+ - **GUI Subagent** for visual web and desktop automation
242
+
243
+ Usage: npm start
244
+
245
+ Enter /help to view all available commands.
246
+
247
+ ## Your Capabilities
248
+
249
+ You can:
250
+ - **Automate your computer** - Control browsers, desktop apps, mouse, and keyboard via sub-agent
251
+ - **Manage files and folders** - Read, write, organize, and search your digital workspace
252
+ - **Office document creation and editing - Create and edit documents, presentations, and spreadsheets
253
+ - **Execute commands** - Run shell commands and automate workflows
254
+ - **Code and build** - Analyze, write, debug, refactor, and test software
255
+ - **Search and research** - Find information locally and from the web
256
+ - **Delegate to specialists** - Use expert subagents for complex tasks (gui-subagent, explore-agent, plan-agent, etc.)
257
+ - **Create todo lists** - Track progress and manage complex tasks
258
+
259
+ ## CRITICAL: IMMEDIATE TOOL EXECUTION
260
+ **YOU MUST CALL TOOLS IMMEDIATELY when needed - DO NOT say "let me..." or "I will..." first!**
261
+
262
+ ## GUI SUBAGENT DELEGATION
263
+
264
+ For visual tasks (opening apps, browsing, desktop interactions), use gui subagent directly. The GUI subagent will handle:
265
+ - Mouse clicks and keyboard input
266
+ - Browser navigation and web interactions
267
+ - Desktop application control
268
+ - Screenshot-based action execution
269
+
270
+ Simply invoke sub-agent with the user's instruction, and the GUI subagent will perform the visual automation.
271
+
272
+ ## ABSOLUTE FORBIDDEN: NEVER RUN BASH COMMANDS FOR GUI TASKS!
273
+
274
+ When user asks to "open/enter/browse/view/access" ANYTHING involving:
275
+ - Opening files, folders, applications, or websites
276
+ - Navigating to directories or locations
277
+ - Interacting with desktop UI elements
278
+ - Browsing visual content
279
+
280
+ 🚫 **THIS IS NOT A RECOMMENDATION - IT IS A HARD RULE:**
281
+ - NEVER run: cd, ls, dir, cat, type, curl, wget
282
+ - NEVER use bash/powershell for GUI tasks
283
+
284
+ ✅ **ONLY USE sub-agent:**
285
+ - sub-agent handles ALL visual interactions
286
+ - sub-agent for: opening apps, folders, websites, clicking, typing
287
+ - sub-agent for: desktop control, browser navigation, file browsing
288
+
289
+ 🚫 **WRONG EXAMPLES (NE DO THIS):**
290
+ - User: "open my computer" → DO NOT run: shell:ThisPC
291
+ - User: "open downloads" → DO NOT run: shell:Downloads
292
+ - User: "open WeChat" → DO NOT run: start wechat.exe
293
+
294
+ ✅ **CORRECT EXAMPLES (ALWAYS DO THIS):**
295
+ - User: "open my computer" → Use gui subagent
296
+ - User: "open downloads" → Use gui subagent
297
+ - User: "open WeChat" → Use gui subagent
298
+ - User: "open Baidu" → Use gui subagent with open_url action
299
+ `,
300
+ whenToUse: 'Default agent for general tasks. Delegates to specialized agents when appropriate.',
301
+ // Tool permissions are determined by execution mode (YOLO/PLAN/ACCEPT_EDITS/SMART)
302
+ isInheritMcps: true,
303
+ proactive: false,
304
+ color: '#2ECC71',
305
+ name: 'General Purpose',
306
+ description: 'Default agent for general tasks. Has access to all tools and can delegate to specialized subagents.'
307
+ },
308
+ {
309
+ agentType: 'plan-agent',
310
+ systemPrompt: `You are an expert planning agent specialized in task analysis, decomposition, and strategy formulation.
311
+
312
+ Your core responsibilities:
313
+ 1. Analyze complex requests and break them into manageable steps
314
+ 2. Identify dependencies and potential risks
315
+ 3. Create structured plans with clear milestones
316
+ 4. Provide estimates for effort and complexity
317
+ 5. Suggest optimal execution order for tasks
318
+
319
+ When planning:
320
+ - Always start by understanding the full scope of the request
321
+ - Break down large tasks into smaller, actionable steps
322
+ - Identify which steps can be done in parallel vs. sequence
323
+ - Flag any assumptions or unknowns that need clarification
324
+ - Consider edge cases and error scenarios
325
+
326
+ Output format:
327
+ Provide plans in a structured format with:
328
+ - Executive summary of the task
329
+ - Step-by-step breakdown with numbered items
330
+ - Dependencies between steps
331
+ - Estimated complexity for each step
332
+ - Any questions or clarifications needed`,
333
+ whenToUse: 'Use for analyzing complex tasks, creating implementation plans, and breaking down requirements',
334
+ allowedTools: ['Read', 'Grep', 'Bash', 'ListDirectory', 'web_search', 'todo_write', 'todo_read', 'ReadBashOutput', 'web_fetch', 'ask_user_question', 'exit_plan_mode', 'image_read'],
335
+ isInheritMcps: true,
336
+ proactive: false,
337
+ color: '#9B59B6',
338
+ name: 'Plan Agent',
339
+ description: 'Specialized in task planning, analysis, and strategy formulation. Creates detailed implementation plans and identifies potential issues before execution.'
340
+ },
341
+ {
342
+ agentType: 'explore-agent',
343
+ systemPrompt: `You are an expert exploration agent specialized in codebase analysis, architecture discovery, and code understanding.
344
+
345
+ Your core responsibilities:
346
+ 1. Explore and understand codebase structure
347
+ 2. Identify key components and their relationships
348
+ 3. Trace data flows and control flows
349
+ 4. Find relevant code for specific features
350
+ 5. Document architecture and design patterns
351
+
352
+ When exploring:
353
+ - Start with high-level structure (directory layout, key files)
354
+ - Use file exploration tools to understand project organization
355
+ - Trace imports and dependencies to understand relationships
356
+ - Look for configuration files, entry points, and key modules
357
+ - Identify patterns and conventions used in the codebase
358
+ - Document your findings in a clear, structured manner
359
+
360
+ CRITICAL - When to stop exploring and return results:
361
+ - After you have gathered enough information to provide a comprehensive overview
362
+ - When you have explored the key directories and files relevant to the task
363
+ - When you have identified the main components and their relationships
364
+ - DO NOT continue making tool calls once you have sufficient information
365
+ - Return your findings in the "plain text content" of your response, not as tool calls
366
+
367
+ Output format:
368
+ Provide exploration results with:
369
+ - Project overview and structure
370
+ - Key files and their purposes
371
+ - Dependencies and relationships
372
+ - Architecture patterns identified
373
+ - Recommendations for next steps
374
+
375
+ Remember: Your goal is to explore AND REPORT your findings, not to explore endlessly. Once you have gathered the necessary information, stop making tool calls and provide your comprehensive analysis in your response content.`,
376
+ whenToUse: 'Use for exploring codebase structure, understanding architecture, and finding relevant code',
377
+ allowedTools: ['Read', 'Grep', 'Bash', 'ListDirectory', 'SearchCodebase', 'ReadBashOutput'],
378
+ isInheritMcps: true,
379
+ proactive: false,
380
+ color: '#3498DB',
381
+ name: 'Explore Agent',
382
+ description: 'Specialized in codebase exploration and architecture analysis. Helps understand project structure, find relevant code, and trace dependencies.'
383
+ },
384
+ {
385
+ agentType: 'frontend-tester',
386
+ systemPrompt: `You are an expert frontend testing agent specialized in creating and running tests for web applications.
387
+
388
+ Your core responsibilities:
389
+ 1. Write unit tests for frontend components
390
+ 2. Create integration tests for user interactions
391
+ 3. Set up test configurations and fixtures
392
+ 4. Run tests and analyze results
393
+ 5. Debug and fix failing tests
394
+ 6. Improve test coverage
395
+
396
+ When testing:
397
+ - Understand the component structure and props
398
+ - Identify critical paths and user interactions
399
+ - Create tests that cover both happy paths and edge cases
400
+ - Use appropriate testing libraries and frameworks
401
+ - Mock external dependencies as needed
402
+ - Ensure tests are independent and repeatable
403
+
404
+ Testing priorities:
405
+ 1. Critical user flows and interactions
406
+ 2. Error handling and boundary conditions
407
+ 3. State management and data flow
408
+ 4. Accessibility and user experience
409
+ 5. Performance considerations`,
410
+ whenToUse: 'Use for creating and running frontend tests, ensuring code quality and reliability',
411
+ allowedTools: ['Read', 'Write', 'Grep', 'Bash', 'ListDirectory'],
412
+ isInheritMcps: true,
413
+ proactive: true,
414
+ color: '#E74C3C',
415
+ name: 'Frontend Tester',
416
+ description: 'Specialized in frontend testing including unit tests, integration tests, and end-to-end tests for web applications.'
417
+ },
418
+ {
419
+ agentType: 'code-reviewer',
420
+ systemPrompt: 'You are an expert code reviewer. Analyze code for quality, security, performance, and best practices.',
421
+ whenToUse: 'Use when reviewing code, checking for bugs, or ensuring code quality',
422
+ allowedTools: ['Read', 'Grep', 'SearchCodebase'],
423
+ isInheritMcps: true,
424
+ proactive: true,
425
+ color: '#FF6B6B',
426
+ name: 'Code Reviewer',
427
+ description: 'Specialized in code review, bug detection, and quality assurance.'
428
+ },
429
+ {
430
+ agentType: 'frontend-developer',
431
+ systemPrompt: 'You are a frontend development expert specializing in React, TypeScript, and modern web technologies.',
432
+ whenToUse: 'Use for frontend development tasks, UI components, and web application features',
433
+ allowedTools: ['Read', 'Write', 'Grep', 'Bash', 'ListDirectory'],
434
+ isInheritMcps: true,
435
+ proactive: true,
436
+ color: '#4ECDC4',
437
+ name: 'Frontend Developer',
438
+ description: 'Specialized in frontend development using React, TypeScript, and modern web technologies.'
439
+ },
440
+ {
441
+ agentType: 'backend-developer',
442
+ systemPrompt: 'You are a backend development expert specializing in Node.js, databases, APIs, and server-side architecture.',
443
+ whenToUse: 'Use for backend development tasks, API design, and server-side logic',
444
+ allowedTools: ['Read', 'Write', 'Grep', 'Bash', 'ListDirectory'],
445
+ isInheritMcps: true,
446
+ proactive: true,
447
+ color: '#45B7D1',
448
+ name: 'Backend Developer',
449
+ description: 'Specialized in backend development using Node.js, databases, APIs, and server-side architecture.'
450
+ },
451
+ {
452
+ agentType: 'gui-subagent',
453
+ systemPrompt: '', // GUI Subagent uses its own built-in system prompt from gui-agent.ts
454
+ whenToUse: 'Use for browser/desktop automation tasks, web scraping, form filling, and visual interactions',
455
+ isInheritMcps: false,
456
+ proactive: false,
457
+ color: '#9B59B6',
458
+ name: 'GUI Subagent',
459
+ description: 'Specialized in browser/desktop automation using GUI interactions. Controls mouse, keyboard, and navigation via gui subagent.',
460
+ model: 'guiSubagentModel'
461
+ }
462
+ ];
463
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,OAAO,YAAY;IACf,MAAM,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC7C,gBAAgB,CAAS;IACzB,iBAAiB,CAAS;IAElC,YAAY,WAAoB;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,iBAAiB,GAAG,WAAW;YAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC;YAC7C,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAED,KAAK,CAAC,UAAU;QACd,4BAA4B;QAC5B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,qDAAqD;QACrD,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,OAAe;QACnD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAE1C,qDAAqD;gBACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAE7C,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;oBAC1E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACrD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,OAAe;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACvD,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChE,MAAM,WAAW,GAAG,MAAa,CAAC;oBAClC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAEjD,IAAI,aAAa,EAAE,CAAC;wBAClB,mCAAmC;wBACnC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;4BAC7B,aAAa,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;wBACxD,CAAC;wBACD,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;4BAC5B,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;wBACtD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEM,gBAAgB,CAAC,OAAe;QACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAEhE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAQ,EAAE,CAAC;YAEvB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAEhD,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;wBACpD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjE,CAAC;yBAAM,IAAI,GAAG,KAAK,gBAAgB,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;wBACtF,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,MAAM,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;gBAC3C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK;gBACpC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,YAAY;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAkB,EAAE,QAA8B,QAAQ;QACvE,MAAM,UAAU,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAEvF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE9C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,iBAAiB,CAAC,KAAkB;QAC1C,IAAI,OAAO,GAAG,OAAO,CAAC;QAEtB,OAAO,IAAI,eAAe,KAAK,CAAC,SAAS,KAAK,CAAC;QAC/C,OAAO,IAAI,kBAAkB,KAAK,CAAC,YAAY,KAAK,CAAC;QACrD,OAAO,IAAI,eAAe,KAAK,CAAC,SAAS,KAAK,CAAC;QAE/C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,WAAW,KAAK,CAAC,KAAK,KAAK,CAAC;QACzC,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,kBAAkB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACrF,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,iBAAiB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACnF,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,IAAI,kBAAkB,KAAK,CAAC,aAAa,IAAI,CAAC;QACvD,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,IAAI,cAAc,KAAK,CAAC,SAAS,IAAI,CAAC;QAC/C,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,WAAW,KAAK,CAAC,KAAK,KAAK,CAAC;QACzC,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,IAAI,iBAAiB,KAAK,CAAC,WAAW,KAAK,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,SAAS,CAAC;QACrB,OAAO,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,MAAM,CAAC;QACpD,OAAO,IAAI,KAAK,CAAC,WAAW,IAAI,aAAa,KAAK,CAAC,SAAS,EAAE,CAAC;QAE/D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,QAA8B,QAAQ;QACzE,MAAM,UAAU,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAEvF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;QAE1D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB,CAAC,KAAkB,EAAE,aAA4B;QACxE,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QAEvC,gEAAgE;QAChE,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;YAC1C,OAAO,QAAQ;iBACZ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;iBACzD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,iEAAiE;QACjE,yEAAyE;QACzE,OAAO,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,wBAAwB,CAAC,KAAkB;QACzC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QACjC,CAAC;QAED,OAAO,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IACjC,CAAC;CACF;AAED,IAAI,oBAAoB,GAAwB,IAAI,CAAC;AAErD,MAAM,UAAU,eAAe,CAAC,WAAoB;IAClD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,oBAAoB,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C;QACE,SAAS,EAAE,iBAAiB;QAC5B,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFjB;QACG,SAAS,EAAE,oFAAoF;QAC/F,mFAAmF;QACnF,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,qGAAqG;KACnH;IACD;QACE,SAAS,EAAE,YAAY;QACvB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;yCAsBuB;QACrC,SAAS,EAAE,gGAAgG;QAC3G,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,CAAC;QACpL,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,2JAA2J;KACzK;IACD;QACE,SAAS,EAAE,eAAe;QAC1B,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iOAgC+M;QAC7N,SAAS,EAAE,6FAA6F;QACxG,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAC3F,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gJAAgJ;KAC9J;IACD;QACE,SAAS,EAAE,iBAAiB;QAC5B,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;8BAuBY;QAC1B,SAAS,EAAE,oFAAoF;QAC/F,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC;QAChE,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,qHAAqH;KACnI;IACD;QACE,SAAS,EAAE,eAAe;QAC1B,YAAY,EAAE,uGAAuG;QACrH,SAAS,EAAE,sEAAsE;QACjF,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC;QAChD,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mEAAmE;KACjF;IACD;QACE,SAAS,EAAE,oBAAoB;QAC/B,YAAY,EAAE,uGAAuG;QACrH,SAAS,EAAE,iFAAiF;QAC5F,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC;QAChE,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,2FAA2F;KACzG;IACD;QACE,SAAS,EAAE,mBAAmB;QAC9B,YAAY,EAAE,8GAA8G;QAC5H,SAAS,EAAE,sEAAsE;QACjF,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC;QAChE,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kGAAkG;KAChH;IACD;QACE,SAAS,EAAE,cAAc;QACzB,YAAY,EAAE,EAAE,EAAE,qEAAqE;QACvF,SAAS,EAAE,+FAA+F;QAC1G,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8HAA8H;QAC3I,KAAK,EAAE,kBAAkB;KAC1B;CACF,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { AuthConfig } from './types.js';
2
+ export interface AnthropicContentBlock {
3
+ type: 'text' | 'tool_use' | 'tool_result' | 'thinking';
4
+ text?: string;
5
+ id?: string;
6
+ name?: string;
7
+ input?: any;
8
+ tool_use_id?: string;
9
+ content?: string;
10
+ thinking?: string;
11
+ }
12
+ export interface Message {
13
+ role: 'system' | 'user' | 'assistant' | 'tool';
14
+ content: string | Array<AnthropicContentBlock | {
15
+ type: string;
16
+ text?: string;
17
+ image_url?: {
18
+ url: string;
19
+ };
20
+ }>;
21
+ reasoning_content?: string;
22
+ tool_calls?: any[];
23
+ tool_call_id?: string;
24
+ }
25
+ export interface ToolDefinition {
26
+ type: 'function';
27
+ function: {
28
+ name: string;
29
+ description: string;
30
+ parameters?: any;
31
+ };
32
+ }
33
+ export interface ChatCompletionOptions {
34
+ model?: string;
35
+ temperature?: number;
36
+ maxTokens?: number;
37
+ tools?: ToolDefinition[];
38
+ toolChoice?: 'auto' | 'none' | {
39
+ type: string;
40
+ function: {
41
+ name: string;
42
+ };
43
+ };
44
+ stream?: boolean;
45
+ thinkingTokens?: number;
46
+ }
47
+ export interface ChatCompletionResponse {
48
+ id: string;
49
+ object: string;
50
+ created: number;
51
+ model: string;
52
+ choices: Array<{
53
+ index: number;
54
+ message: Message;
55
+ finish_reason: string;
56
+ }>;
57
+ usage?: {
58
+ prompt_tokens: number;
59
+ completion_tokens: number;
60
+ total_tokens: number;
61
+ };
62
+ }
63
+ export declare class AIClient {
64
+ private client;
65
+ private authConfig;
66
+ constructor(authConfig: AuthConfig);
67
+ private convertToAnthropicFormat;
68
+ chatCompletion(messages: Message[], options?: ChatCompletionOptions): Promise<ChatCompletionResponse>;
69
+ private anthropicNativeChatCompletion;
70
+ private minimaxChatCompletion;
71
+ private convertFromAnthropicNativeResponse;
72
+ private convertFromMiniMaxResponse;
73
+ streamChatCompletion(messages: Message[], options?: ChatCompletionOptions): AsyncGenerator<string, void, unknown>;
74
+ private anthropicNativeStreamChatCompletion;
75
+ private minimaxStreamChatCompletion;
76
+ listModels(): Promise<any[]>;
77
+ updateAuthConfig(authConfig: AuthConfig): void;
78
+ getAuthConfig(): AuthConfig;
79
+ hasToolCalls(messages: Message[]): boolean;
80
+ }
81
+ export declare function detectThinkingKeywords(text: string): 'none' | 'normal' | 'hard' | 'mega' | 'ultra';
82
+ export declare function getThinkingTokens(mode: 'none' | 'normal' | 'hard' | 'mega' | 'ultra'): number;
83
+ //# sourceMappingURL=ai-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-client.d.ts","sourceRoot":"","sources":["../src/ai-client.ts"],"names":[],"mappings":"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"}