@xagent-ai/cli 1.2.2 → 1.3.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 (602) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -38
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -20
  3. package/.github/release.yml +76 -0
  4. package/.github/workflows/ci.yml +75 -0
  5. package/.github/workflows/release.yml +103 -0
  6. package/.gitmodules +3 -3
  7. package/README.md +326 -280
  8. package/README_CN.md +325 -279
  9. package/dist/agents.d.ts.map +1 -1
  10. package/dist/agents.js +7 -3
  11. package/dist/agents.js.map +1 -1
  12. package/dist/ai-client/factory.d.ts +40 -0
  13. package/dist/ai-client/factory.d.ts.map +1 -0
  14. package/dist/ai-client/factory.js +100 -0
  15. package/dist/ai-client/factory.js.map +1 -0
  16. package/dist/ai-client/index.d.ts +20 -0
  17. package/dist/ai-client/index.d.ts.map +1 -0
  18. package/dist/ai-client/index.js +49 -0
  19. package/dist/ai-client/index.js.map +1 -0
  20. package/dist/ai-client/providers/anthropic.d.ts +57 -0
  21. package/dist/ai-client/providers/anthropic.d.ts.map +1 -0
  22. package/dist/ai-client/providers/anthropic.js +406 -0
  23. package/dist/ai-client/providers/anthropic.js.map +1 -0
  24. package/dist/ai-client/providers/openai.d.ts +57 -0
  25. package/dist/ai-client/providers/openai.d.ts.map +1 -0
  26. package/dist/ai-client/providers/openai.js +290 -0
  27. package/dist/ai-client/providers/openai.js.map +1 -0
  28. package/dist/ai-client/providers/remote.d.ts +110 -0
  29. package/dist/ai-client/providers/remote.d.ts.map +1 -0
  30. package/dist/ai-client/providers/remote.js +352 -0
  31. package/dist/ai-client/providers/remote.js.map +1 -0
  32. package/dist/ai-client/registry.d.ts +51 -0
  33. package/dist/ai-client/registry.d.ts.map +1 -0
  34. package/dist/ai-client/registry.js +81 -0
  35. package/dist/ai-client/registry.js.map +1 -0
  36. package/dist/ai-client/types.d.ts +274 -0
  37. package/dist/ai-client/types.d.ts.map +1 -0
  38. package/dist/ai-client/types.js +90 -0
  39. package/dist/ai-client/types.js.map +1 -0
  40. package/dist/ai-client-factory.d.ts +62 -0
  41. package/dist/ai-client-factory.d.ts.map +1 -0
  42. package/dist/ai-client-factory.js +157 -0
  43. package/dist/ai-client-factory.js.map +1 -0
  44. package/dist/auth.d.ts +23 -1
  45. package/dist/auth.d.ts.map +1 -1
  46. package/dist/auth.js +164 -174
  47. package/dist/auth.js.map +1 -1
  48. package/dist/cancellation.d.ts +5 -4
  49. package/dist/cancellation.d.ts.map +1 -1
  50. package/dist/cancellation.js +53 -32
  51. package/dist/cancellation.js.map +1 -1
  52. package/dist/checkpoint.d.ts +2 -1
  53. package/dist/checkpoint.d.ts.map +1 -1
  54. package/dist/checkpoint.js +39 -6
  55. package/dist/checkpoint.js.map +1 -1
  56. package/dist/cli.js +742 -29
  57. package/dist/cli.js.map +1 -1
  58. package/dist/config.d.ts +10 -4
  59. package/dist/config.d.ts.map +1 -1
  60. package/dist/config.js +62 -25
  61. package/dist/config.js.map +1 -1
  62. package/dist/context-compressor.d.ts +82 -18
  63. package/dist/context-compressor.d.ts.map +1 -1
  64. package/dist/context-compressor.js +718 -154
  65. package/dist/context-compressor.js.map +1 -1
  66. package/dist/conversation.d.ts +1 -1
  67. package/dist/conversation.d.ts.map +1 -1
  68. package/dist/conversation.js +8 -7
  69. package/dist/conversation.js.map +1 -1
  70. package/dist/gui-subagent/action-parser/actionParser.d.ts.map +1 -1
  71. package/dist/gui-subagent/action-parser/actionParser.js +6 -4
  72. package/dist/gui-subagent/action-parser/actionParser.js.map +1 -1
  73. package/dist/gui-subagent/agent/gui-agent.d.ts +39 -2
  74. package/dist/gui-subagent/agent/gui-agent.d.ts.map +1 -1
  75. package/dist/gui-subagent/agent/gui-agent.js +189 -74
  76. package/dist/gui-subagent/agent/gui-agent.js.map +1 -1
  77. package/dist/gui-subagent/index.d.ts +23 -1
  78. package/dist/gui-subagent/index.d.ts.map +1 -1
  79. package/dist/gui-subagent/index.js +6 -0
  80. package/dist/gui-subagent/index.js.map +1 -1
  81. package/dist/gui-subagent/operator/base-operator.d.ts.map +1 -1
  82. package/dist/gui-subagent/operator/base-operator.js +0 -1
  83. package/dist/gui-subagent/operator/base-operator.js.map +1 -1
  84. package/dist/gui-subagent/operator/computer-operator.d.ts.map +1 -1
  85. package/dist/gui-subagent/operator/computer-operator.js +31 -8
  86. package/dist/gui-subagent/operator/computer-operator.js.map +1 -1
  87. package/dist/gui-subagent/types/actions.d.ts +1 -1
  88. package/dist/gui-subagent/types/actions.d.ts.map +1 -1
  89. package/dist/gui-subagent/types/actions.js +0 -1
  90. package/dist/gui-subagent/types/actions.js.map +1 -1
  91. package/dist/gui-subagent/types/operator.d.ts +1 -1
  92. package/dist/gui-subagent/types/operator.d.ts.map +1 -1
  93. package/dist/index.d.ts +1 -2
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +1 -2
  96. package/dist/index.js.map +1 -1
  97. package/dist/input-processor.d.ts.map +1 -1
  98. package/dist/input-processor.js +8 -5
  99. package/dist/input-processor.js.map +1 -1
  100. package/dist/logger.d.ts.map +1 -1
  101. package/dist/logger.js +1 -1
  102. package/dist/logger.js.map +1 -1
  103. package/dist/mcp.d.ts +7 -1
  104. package/dist/mcp.d.ts.map +1 -1
  105. package/dist/mcp.js +157 -49
  106. package/dist/mcp.js.map +1 -1
  107. package/dist/memory.d.ts.map +1 -1
  108. package/dist/memory.js +3 -3
  109. package/dist/memory.js.map +1 -1
  110. package/dist/output-util.d.ts +27 -0
  111. package/dist/output-util.d.ts.map +1 -0
  112. package/dist/output-util.js +74 -0
  113. package/dist/output-util.js.map +1 -0
  114. package/dist/retry.js +1 -1
  115. package/dist/retry.js.map +1 -1
  116. package/dist/ripgrep.d.ts +29 -0
  117. package/dist/ripgrep.d.ts.map +1 -0
  118. package/dist/ripgrep.js +294 -0
  119. package/dist/ripgrep.js.map +1 -0
  120. package/dist/sdk-output-adapter.d.ts +34 -1
  121. package/dist/sdk-output-adapter.d.ts.map +1 -1
  122. package/dist/sdk-output-adapter.js +67 -2
  123. package/dist/sdk-output-adapter.js.map +1 -1
  124. package/dist/sdk-session.d.ts.map +1 -1
  125. package/dist/sdk-session.js +2 -0
  126. package/dist/sdk-session.js.map +1 -1
  127. package/dist/session-manager.js +3 -3
  128. package/dist/session-manager.js.map +1 -1
  129. package/dist/session.d.ts +116 -6
  130. package/dist/session.d.ts.map +1 -1
  131. package/dist/session.js +1416 -448
  132. package/dist/session.js.map +1 -1
  133. package/dist/shell.d.ts +33 -0
  134. package/dist/shell.d.ts.map +1 -0
  135. package/dist/shell.js +126 -0
  136. package/dist/shell.js.map +1 -0
  137. package/dist/skill-installer.d.ts +38 -0
  138. package/dist/skill-installer.d.ts.map +1 -0
  139. package/dist/skill-installer.js +447 -0
  140. package/dist/skill-installer.js.map +1 -0
  141. package/dist/skill-invoker.d.ts +8 -2
  142. package/dist/skill-invoker.d.ts.map +1 -1
  143. package/dist/skill-invoker.js +36 -15
  144. package/dist/skill-invoker.js.map +1 -1
  145. package/dist/skill-loader.d.ts +8 -3
  146. package/dist/skill-loader.d.ts.map +1 -1
  147. package/dist/skill-loader.js +51 -48
  148. package/dist/skill-loader.js.map +1 -1
  149. package/dist/skill-manager.d.ts +85 -0
  150. package/dist/skill-manager.d.ts.map +1 -0
  151. package/dist/skill-manager.js +341 -0
  152. package/dist/skill-manager.js.map +1 -0
  153. package/dist/slash-commands.d.ts +39 -2
  154. package/dist/slash-commands.d.ts.map +1 -1
  155. package/dist/slash-commands.js +934 -305
  156. package/dist/slash-commands.js.map +1 -1
  157. package/dist/smart-approval.d.ts +20 -1
  158. package/dist/smart-approval.d.ts.map +1 -1
  159. package/dist/smart-approval.js +125 -56
  160. package/dist/smart-approval.js.map +1 -1
  161. package/dist/system-prompt-generator.d.ts +6 -0
  162. package/dist/system-prompt-generator.d.ts.map +1 -1
  163. package/dist/system-prompt-generator.js +86 -36
  164. package/dist/system-prompt-generator.js.map +1 -1
  165. package/dist/terminal.d.ts +28 -0
  166. package/dist/terminal.d.ts.map +1 -0
  167. package/dist/terminal.js +82 -0
  168. package/dist/terminal.js.map +1 -0
  169. package/dist/theme.d.ts.map +1 -1
  170. package/dist/theme.js +8 -7
  171. package/dist/theme.js.map +1 -1
  172. package/dist/tools.d.ts +38 -7
  173. package/dist/tools.d.ts.map +1 -1
  174. package/dist/tools.js +1249 -617
  175. package/dist/tools.js.map +1 -1
  176. package/dist/truncate.d.ts +55 -0
  177. package/dist/truncate.d.ts.map +1 -0
  178. package/dist/truncate.js +130 -0
  179. package/dist/truncate.js.map +1 -0
  180. package/dist/types.d.ts +84 -9
  181. package/dist/types.d.ts.map +1 -1
  182. package/dist/types.js +49 -0
  183. package/dist/types.js.map +1 -1
  184. package/dist/update.d.ts.map +1 -1
  185. package/dist/update.js +28 -36
  186. package/dist/update.js.map +1 -1
  187. package/dist/workflow.d.ts +5 -1
  188. package/dist/workflow.d.ts.map +1 -1
  189. package/dist/workflow.js +61 -49
  190. package/dist/workflow.js.map +1 -1
  191. package/docs/architecture/mcp-integration-guide.md +304 -194
  192. package/docs/architecture/overview.md +169 -169
  193. package/docs/architecture/tool-system-design.md +134 -134
  194. package/docs/cli/commands.md +349 -238
  195. package/docs/smart-mode.md +281 -281
  196. package/docs/third-party-models.md +440 -439
  197. package/find-skills/SKILL.md +133 -0
  198. package/package.json +91 -90
  199. package/scripts/install-ripgrep.js +241 -0
  200. package/src/agents.ts +7 -3
  201. package/src/ai-client/factory.ts +116 -0
  202. package/src/ai-client/index.ts +61 -0
  203. package/src/ai-client/providers/anthropic.ts +475 -0
  204. package/src/ai-client/providers/openai.ts +348 -0
  205. package/src/ai-client/providers/remote.ts +439 -0
  206. package/src/ai-client/registry.ts +97 -0
  207. package/src/ai-client/types.ts +364 -0
  208. package/src/ai-client-factory.ts +204 -0
  209. package/src/auth.ts +661 -614
  210. package/src/cancellation.ts +202 -176
  211. package/src/checkpoint.ts +255 -219
  212. package/src/cli.ts +1523 -743
  213. package/src/config.ts +341 -297
  214. package/src/context-compressor.ts +987 -290
  215. package/src/conversation.ts +290 -288
  216. package/src/gui-subagent/action-parser/actionParser.ts +318 -315
  217. package/src/gui-subagent/action-parser/constants.ts +14 -14
  218. package/src/gui-subagent/action-parser/index.ts +8 -8
  219. package/src/gui-subagent/action-parser/types.ts +31 -31
  220. package/src/gui-subagent/agent/gui-agent.ts +1234 -1089
  221. package/src/gui-subagent/agent/index.ts +5 -5
  222. package/src/gui-subagent/index.ts +185 -163
  223. package/src/gui-subagent/operator/base-operator.ts +244 -245
  224. package/src/gui-subagent/operator/computer-operator.ts +541 -520
  225. package/src/gui-subagent/operator/index.ts +6 -6
  226. package/src/gui-subagent/types/actions.ts +260 -262
  227. package/src/gui-subagent/types/index.ts +6 -6
  228. package/src/gui-subagent/types/operator.ts +106 -106
  229. package/src/gui-subagent/utils.ts +51 -51
  230. package/src/index.ts +17 -18
  231. package/src/input-processor.ts +8 -5
  232. package/src/logger.ts +436 -438
  233. package/src/mcp.ts +793 -682
  234. package/src/memory.ts +343 -344
  235. package/src/output-util.ts +80 -0
  236. package/src/retry.ts +1 -1
  237. package/src/ripgrep.ts +370 -0
  238. package/src/sdk-output-adapter.ts +842 -0
  239. package/src/sdk-session.ts +62 -0
  240. package/src/session-manager.ts +308 -308
  241. package/src/session.ts +1775 -573
  242. package/src/shell.ts +134 -0
  243. package/src/skill-installer.ts +518 -0
  244. package/src/skill-invoker.ts +959 -935
  245. package/src/skill-loader.ts +501 -496
  246. package/src/skill-manager.ts +385 -0
  247. package/src/slash-commands.ts +2189 -1389
  248. package/src/smart-approval.ts +193 -74
  249. package/src/system-prompt-generator.ts +91 -36
  250. package/src/terminal.ts +96 -0
  251. package/src/theme.ts +739 -738
  252. package/src/tools.ts +1790 -931
  253. package/src/truncate.ts +173 -0
  254. package/src/types.ts +337 -198
  255. package/src/update.ts +33 -40
  256. package/src/workflow.ts +521 -508
  257. package/test/cli-launch.test.ts +279 -0
  258. package/tsconfig.json +22 -22
  259. package/vitest.config.ts +21 -19
  260. package/dist/ai-client.d.ts +0 -86
  261. package/dist/ai-client.d.ts.map +0 -1
  262. package/dist/ai-client.js +0 -1372
  263. package/dist/ai-client.js.map +0 -1
  264. package/dist/gui-subagent/operator/browser-operator.d.ts +0 -36
  265. package/dist/gui-subagent/operator/browser-operator.d.ts.map +0 -1
  266. package/dist/gui-subagent/operator/browser-operator.js +0 -306
  267. package/dist/gui-subagent/operator/browser-operator.js.map +0 -1
  268. package/dist/gui-subagent/operator/desktop-operator.d.ts +0 -55
  269. package/dist/gui-subagent/operator/desktop-operator.d.ts.map +0 -1
  270. package/dist/gui-subagent/operator/desktop-operator.js +0 -527
  271. package/dist/gui-subagent/operator/desktop-operator.js.map +0 -1
  272. package/dist/hook.d.ts +0 -73
  273. package/dist/hook.d.ts.map +0 -1
  274. package/dist/hook.js +0 -156
  275. package/dist/hook.js.map +0 -1
  276. package/dist/input-history.d.ts +0 -24
  277. package/dist/input-history.d.ts.map +0 -1
  278. package/dist/input-history.js +0 -94
  279. package/dist/input-history.js.map +0 -1
  280. package/dist/keyboard-manager.d.ts +0 -151
  281. package/dist/keyboard-manager.d.ts.map +0 -1
  282. package/dist/keyboard-manager.js +0 -396
  283. package/dist/keyboard-manager.js.map +0 -1
  284. package/dist/print-system-prompt.d.ts +0 -2
  285. package/dist/print-system-prompt.d.ts.map +0 -1
  286. package/dist/print-system-prompt.js +0 -40
  287. package/dist/print-system-prompt.js.map +0 -1
  288. package/dist/remote-ai-client.d.ts +0 -104
  289. package/dist/remote-ai-client.d.ts.map +0 -1
  290. package/dist/remote-ai-client.js +0 -552
  291. package/dist/remote-ai-client.js.map +0 -1
  292. package/dist/sdk-session-v2.d.ts +0 -13
  293. package/dist/sdk-session-v2.d.ts.map +0 -1
  294. package/dist/sdk-session-v2.js +0 -46
  295. package/dist/sdk-session-v2.js.map +0 -1
  296. package/dist/test-boundary-conditions.d.ts.map +0 -1
  297. package/dist/test-boundary-conditions.js.map +0 -1
  298. package/dist/test-cancellation-fix.d.ts.map +0 -1
  299. package/dist/test-cancellation-fix.js.map +0 -1
  300. package/dist/test-input-history.d.ts.map +0 -1
  301. package/dist/test-input-history.js.map +0 -1
  302. package/dist/test-interaction-flow.d.ts.map +0 -1
  303. package/dist/test-interaction-flow.js.map +0 -1
  304. package/dist/test-quick.d.ts.map +0 -1
  305. package/dist/test-quick.js.map +0 -1
  306. package/dist/test-user-interaction.d.ts.map +0 -1
  307. package/dist/test-user-interaction.js.map +0 -1
  308. package/dist/tools/edit-diff.d.ts +0 -32
  309. package/dist/tools/edit-diff.d.ts.map +0 -1
  310. package/dist/tools/edit-diff.js +0 -185
  311. package/dist/tools/edit-diff.js.map +0 -1
  312. package/dist/tools/edit.d.ts +0 -11
  313. package/dist/tools/edit.d.ts.map +0 -1
  314. package/dist/tools/edit.js +0 -129
  315. package/dist/tools/edit.js.map +0 -1
  316. package/dist/unified-session.d.ts +0 -42
  317. package/dist/unified-session.d.ts.map +0 -1
  318. package/dist/unified-session.js +0 -271
  319. package/dist/unified-session.js.map +0 -1
  320. package/skills/.claude-plugin/marketplace.json +0 -45
  321. package/skills/README.md +0 -94
  322. package/skills/THIRD_PARTY_NOTICES.md +0 -405
  323. package/skills/skills/algorithmic-art/LICENSE.txt +0 -202
  324. package/skills/skills/algorithmic-art/SKILL.md +0 -405
  325. package/skills/skills/algorithmic-art/templates/generator_template.js +0 -223
  326. package/skills/skills/algorithmic-art/templates/viewer.html +0 -599
  327. package/skills/skills/brand-guidelines/LICENSE.txt +0 -202
  328. package/skills/skills/brand-guidelines/SKILL.md +0 -73
  329. package/skills/skills/canvas-design/LICENSE.txt +0 -202
  330. package/skills/skills/canvas-design/SKILL.md +0 -130
  331. package/skills/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  332. package/skills/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  333. package/skills/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  334. package/skills/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  335. package/skills/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  336. package/skills/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  337. package/skills/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  338. package/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  339. package/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  340. package/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  341. package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  342. package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  343. package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  344. package/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  345. package/skills/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  346. package/skills/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  347. package/skills/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  348. package/skills/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  349. package/skills/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  350. package/skills/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  351. package/skills/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  352. package/skills/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  353. package/skills/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  354. package/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  355. package/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  356. package/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  357. package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  358. package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  359. package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  360. package/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  361. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  362. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  363. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  364. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  365. package/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  366. package/skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  367. package/skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  368. package/skills/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  369. package/skills/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  370. package/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  371. package/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  372. package/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  373. package/skills/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  374. package/skills/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  375. package/skills/skills/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  376. package/skills/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  377. package/skills/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  378. package/skills/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  379. package/skills/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  380. package/skills/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  381. package/skills/skills/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  382. package/skills/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  383. package/skills/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  384. package/skills/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  385. package/skills/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  386. package/skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  387. package/skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  388. package/skills/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  389. package/skills/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  390. package/skills/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  391. package/skills/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  392. package/skills/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  393. package/skills/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  394. package/skills/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  395. package/skills/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  396. package/skills/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  397. package/skills/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  398. package/skills/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  399. package/skills/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  400. package/skills/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  401. package/skills/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  402. package/skills/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  403. package/skills/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  404. package/skills/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  405. package/skills/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  406. package/skills/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  407. package/skills/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  408. package/skills/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  409. package/skills/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  410. package/skills/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  411. package/skills/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  412. package/skills/skills/doc-coauthoring/SKILL.md +0 -375
  413. package/skills/skills/docx/LICENSE.txt +0 -30
  414. package/skills/skills/docx/SKILL.md +0 -197
  415. package/skills/skills/docx/docx-js.md +0 -350
  416. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  417. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  418. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  419. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  420. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  421. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  422. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  423. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  424. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  425. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  426. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  427. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  428. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  429. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  430. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  431. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  432. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  433. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  434. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  435. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  436. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  437. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  438. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  439. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  440. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  441. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  442. package/skills/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  443. package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  444. package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  445. package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  446. package/skills/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  447. package/skills/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
  448. package/skills/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  449. package/skills/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  450. package/skills/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  451. package/skills/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  452. package/skills/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  453. package/skills/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  454. package/skills/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  455. package/skills/skills/docx/ooxml/scripts/pack.py +0 -159
  456. package/skills/skills/docx/ooxml/scripts/unpack.py +0 -29
  457. package/skills/skills/docx/ooxml/scripts/validate.py +0 -69
  458. package/skills/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
  459. package/skills/skills/docx/ooxml/scripts/validation/base.py +0 -951
  460. package/skills/skills/docx/ooxml/scripts/validation/docx.py +0 -274
  461. package/skills/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
  462. package/skills/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
  463. package/skills/skills/docx/ooxml.md +0 -610
  464. package/skills/skills/docx/scripts/__init__.py +0 -1
  465. package/skills/skills/docx/scripts/document.py +0 -1276
  466. package/skills/skills/docx/scripts/templates/comments.xml +0 -3
  467. package/skills/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  468. package/skills/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  469. package/skills/skills/docx/scripts/templates/commentsIds.xml +0 -3
  470. package/skills/skills/docx/scripts/templates/people.xml +0 -3
  471. package/skills/skills/docx/scripts/utilities.py +0 -374
  472. package/skills/skills/frontend-design/LICENSE.txt +0 -177
  473. package/skills/skills/frontend-design/SKILL.md +0 -42
  474. package/skills/skills/internal-comms/LICENSE.txt +0 -202
  475. package/skills/skills/internal-comms/SKILL.md +0 -32
  476. package/skills/skills/internal-comms/examples/3p-updates.md +0 -47
  477. package/skills/skills/internal-comms/examples/company-newsletter.md +0 -65
  478. package/skills/skills/internal-comms/examples/faq-answers.md +0 -30
  479. package/skills/skills/internal-comms/examples/general-comms.md +0 -16
  480. package/skills/skills/mcp-builder/LICENSE.txt +0 -202
  481. package/skills/skills/mcp-builder/SKILL.md +0 -236
  482. package/skills/skills/mcp-builder/reference/evaluation.md +0 -602
  483. package/skills/skills/mcp-builder/reference/mcp_best_practices.md +0 -249
  484. package/skills/skills/mcp-builder/reference/node_mcp_server.md +0 -970
  485. package/skills/skills/mcp-builder/reference/python_mcp_server.md +0 -719
  486. package/skills/skills/mcp-builder/scripts/connections.py +0 -151
  487. package/skills/skills/mcp-builder/scripts/evaluation.py +0 -373
  488. package/skills/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  489. package/skills/skills/mcp-builder/scripts/requirements.txt +0 -2
  490. package/skills/skills/pdf/LICENSE.txt +0 -30
  491. package/skills/skills/pdf/SKILL.md +0 -294
  492. package/skills/skills/pdf/forms.md +0 -205
  493. package/skills/skills/pdf/reference.md +0 -612
  494. package/skills/skills/pdf/scripts/check_bounding_boxes.py +0 -70
  495. package/skills/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
  496. package/skills/skills/pdf/scripts/check_fillable_fields.py +0 -12
  497. package/skills/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
  498. package/skills/skills/pdf/scripts/create_validation_image.py +0 -41
  499. package/skills/skills/pdf/scripts/extract_form_field_info.py +0 -152
  500. package/skills/skills/pdf/scripts/fill_fillable_fields.py +0 -114
  501. package/skills/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  502. package/skills/skills/pptx/LICENSE.txt +0 -30
  503. package/skills/skills/pptx/SKILL.md +0 -484
  504. package/skills/skills/pptx/html2pptx.md +0 -625
  505. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  506. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  507. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  508. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  509. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  510. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  511. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  512. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  513. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  514. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  515. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  516. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  517. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  518. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  519. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  520. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  521. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  522. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  523. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  524. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  525. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  526. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  527. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  528. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  529. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  530. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  531. package/skills/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  532. package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  533. package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  534. package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  535. package/skills/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  536. package/skills/skills/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  537. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  538. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  539. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  540. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  541. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  542. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  543. package/skills/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  544. package/skills/skills/pptx/ooxml/scripts/pack.py +0 -159
  545. package/skills/skills/pptx/ooxml/scripts/unpack.py +0 -29
  546. package/skills/skills/pptx/ooxml/scripts/validate.py +0 -69
  547. package/skills/skills/pptx/ooxml/scripts/validation/__init__.py +0 -15
  548. package/skills/skills/pptx/ooxml/scripts/validation/base.py +0 -951
  549. package/skills/skills/pptx/ooxml/scripts/validation/docx.py +0 -274
  550. package/skills/skills/pptx/ooxml/scripts/validation/pptx.py +0 -315
  551. package/skills/skills/pptx/ooxml/scripts/validation/redlining.py +0 -279
  552. package/skills/skills/pptx/ooxml.md +0 -427
  553. package/skills/skills/pptx/scripts/html2pptx.js +0 -979
  554. package/skills/skills/pptx/scripts/inventory.py +0 -1020
  555. package/skills/skills/pptx/scripts/rearrange.py +0 -231
  556. package/skills/skills/pptx/scripts/replace.py +0 -385
  557. package/skills/skills/pptx/scripts/thumbnail.py +0 -450
  558. package/skills/skills/skill-creator/LICENSE.txt +0 -202
  559. package/skills/skills/skill-creator/SKILL.md +0 -356
  560. package/skills/skills/skill-creator/references/output-patterns.md +0 -82
  561. package/skills/skills/skill-creator/references/workflows.md +0 -28
  562. package/skills/skills/skill-creator/scripts/init_skill.py +0 -303
  563. package/skills/skills/skill-creator/scripts/package_skill.py +0 -110
  564. package/skills/skills/skill-creator/scripts/quick_validate.py +0 -95
  565. package/skills/skills/slack-gif-creator/LICENSE.txt +0 -202
  566. package/skills/skills/slack-gif-creator/SKILL.md +0 -254
  567. package/skills/skills/slack-gif-creator/core/easing.py +0 -234
  568. package/skills/skills/slack-gif-creator/core/frame_composer.py +0 -176
  569. package/skills/skills/slack-gif-creator/core/gif_builder.py +0 -269
  570. package/skills/skills/slack-gif-creator/core/validators.py +0 -136
  571. package/skills/skills/slack-gif-creator/requirements.txt +0 -4
  572. package/skills/skills/theme-factory/LICENSE.txt +0 -202
  573. package/skills/skills/theme-factory/SKILL.md +0 -59
  574. package/skills/skills/theme-factory/theme-showcase.pdf +0 -0
  575. package/skills/skills/theme-factory/themes/arctic-frost.md +0 -19
  576. package/skills/skills/theme-factory/themes/botanical-garden.md +0 -19
  577. package/skills/skills/theme-factory/themes/desert-rose.md +0 -19
  578. package/skills/skills/theme-factory/themes/forest-canopy.md +0 -19
  579. package/skills/skills/theme-factory/themes/golden-hour.md +0 -19
  580. package/skills/skills/theme-factory/themes/midnight-galaxy.md +0 -19
  581. package/skills/skills/theme-factory/themes/modern-minimalist.md +0 -19
  582. package/skills/skills/theme-factory/themes/ocean-depths.md +0 -19
  583. package/skills/skills/theme-factory/themes/sunset-boulevard.md +0 -19
  584. package/skills/skills/theme-factory/themes/tech-innovation.md +0 -19
  585. package/skills/skills/web-artifacts-builder/LICENSE.txt +0 -202
  586. package/skills/skills/web-artifacts-builder/SKILL.md +0 -74
  587. package/skills/skills/web-artifacts-builder/scripts/bundle-artifact.sh +0 -54
  588. package/skills/skills/web-artifacts-builder/scripts/init-artifact.sh +0 -322
  589. package/skills/skills/webapp-testing/LICENSE.txt +0 -202
  590. package/skills/skills/webapp-testing/SKILL.md +0 -96
  591. package/skills/skills/webapp-testing/examples/console_logging.py +0 -35
  592. package/skills/skills/webapp-testing/examples/element_discovery.py +0 -40
  593. package/skills/skills/webapp-testing/examples/static_html_automation.py +0 -33
  594. package/skills/skills/webapp-testing/scripts/with_server.py +0 -106
  595. package/skills/skills/xlsx/LICENSE.txt +0 -30
  596. package/skills/skills/xlsx/SKILL.md +0 -289
  597. package/skills/skills/xlsx/recalc.py +0 -178
  598. package/skills/spec/agent-skills-spec.md +0 -3
  599. package/skills/template/SKILL.md +0 -6
  600. package/src/ai-client.ts +0 -1560
  601. package/src/remote-ai-client.ts +0 -664
  602. /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,169 +1,169 @@
1
- # Architecture Overview
2
-
3
- This document provides a high-level overview of the xAgent CLI architecture.
4
-
5
- ## Core Philosophy
6
-
7
- xAgent CLI is designed as an intelligent agent for personal PCs and autonomous living. It transforms how users interact with their digital life through AI-powered automation.
8
-
9
- ## System Architecture
10
-
11
- ### Layered Architecture
12
-
13
- ```
14
- ┌─────────────────────────────────────────────────┐
15
- │ CLI Interface │
16
- │ (Ink/React Components) │
17
- ├─────────────────────────────────────────────────┤
18
- │ Session Layer │
19
- │ (Session + Conversation Management) │
20
- ├─────────────────────────────────────────────────┤
21
- │ Agent System │
22
- │ (SubAgent Orchestration) │
23
- ├─────────────────────────────────────────────────┤
24
- │ Tool Layer │
25
- │ (Built-in + MCP + Skill Tools) │
26
- ├─────────────────────────────────────────────────┤
27
- │ AI Client Layer │
28
- │ (Local + Remote AI Clients) │
29
- ├─────────────────────────────────────────────────┤
30
- │ Storage & Config │
31
- │ (Checkpoint, Settings, Memory) │
32
- └─────────────────────────────────────────────────┘
33
- ```
34
-
35
- ## Key Components
36
-
37
- ### 1. CLI Interface
38
- - Built with Ink (React for CLI)
39
- - Interactive terminal UI
40
- - Theme support
41
- - Cancellation support (ESC key)
42
-
43
- ### 2. Session Management
44
- - `InteractiveSession` - Main session handler
45
- - `SessionManager` - Session state management
46
- - `ConversationManager` - Conversation history
47
- - `CheckpointManager` - State persistence
48
- - `ContextCompressor` - Context optimization
49
-
50
- ### 3. Agent System
51
- - `AgentManager` - Agent configuration and loading
52
- - Main agent for general tasks
53
- - Specialized SubAgents:
54
- - Plan Agent - Task planning and decomposition
55
- - Explore Agent - Codebase exploration
56
- - Frontend Tester - Frontend testing
57
- - Code Reviewer - Code quality review
58
- - Frontend/Backend Developer - Specialized development
59
- - GUI SubAgent - Browser/desktop automation
60
-
61
- ### 4. Tool System
62
- - `ToolRegistry` - Tool registration and management
63
- - Built-in tools (20+)
64
- - MCP integration with dynamic tool loading
65
- - Skill invocation system (`InvokeSkill` tool)
66
- - Smart Mode approval system
67
-
68
- ### 5. AI Client Layer
69
- - `AIClient` - Local AI client for OpenAI-compatible APIs
70
- - `RemoteAIClient` - Remote AI client for xAgent web service
71
- - Multi-model support
72
- - Token optimization
73
-
74
- ### 6. GUI SubAgent
75
- - `ComputerOperator` - Desktop control (mouse, keyboard, screenshots)
76
- - `GUIAgent` - LLM-driven automation agent
77
- - Support for local and remote VLM modes
78
- - Action parsing and execution
79
-
80
- ### 7. Authentication & Config
81
- - `AuthService` - OAuth and API key authentication
82
- - `ConfigManager` - Global and project settings
83
- - Support for multiple auth types:
84
- - `oauth-xagent` - xAgent native authentication
85
- - `api_key` - Direct API key
86
- - `openai_compatible` - Third-party OpenAI-compatible APIs
87
-
88
- ## Execution Flow
89
-
90
- ```
91
- User Input → Slash Command Parser
92
-
93
- Input Processor
94
-
95
- Agent Decision
96
-
97
- ┌───────────┴───────────┐
98
- ↓ ↓
99
- Local Mode Remote Mode
100
- (API Key) (OAuth)
101
- ↓ ↓
102
- Tool Selection Sync to Remote
103
- ↓ ↓
104
- Tool Execution Remote Approval
105
- ↓ ↓
106
- Smart Approval Tool Execution
107
- (if SMART mode) ↓
108
- ↓ Sync Results
109
- Response Output
110
-
111
- Checkpoint Save
112
- ```
113
-
114
- ## Security Model
115
-
116
- xAgent implements five execution modes:
117
- - **YOLO**: Full control without restrictions
118
- - **ACCEPT_EDITS**: File-only modifications
119
- - **PLAN**: Plan before execution
120
- - **DEFAULT**: Approval required for actions
121
- - **SMART**: Intelligent mode with three-layer approval (whitelist, blacklist, AI review)
122
-
123
- ## Smart Mode Architecture
124
-
125
- Smart Mode uses a three-layer approval system:
126
-
127
- ```
128
- ┌─────────────────────────────────────────┐
129
- │ Tool Call Request │
130
- └─────────────────────────────────────────┘
131
-
132
- ┌─────────────────────────────────────────┐
133
- │ Layer 1: Whitelist Check │
134
- │ (Safe tools → Auto-approved) │
135
- └─────────────────────────────────────────┘
136
-
137
- ┌─────────────────────────────────────────┐
138
- │ Layer 2: Blacklist Check │
139
- │ (Dangerous → User confirmation) │
140
- └─────────────────────────────────────────┘
141
-
142
- ┌─────────────────────────────────────────┐
143
- │ Layer 3: AI Review │
144
- │ (Unknown → AI risk assessment) │
145
- └─────────────────────────────────────────┘
146
- ```
147
-
148
- ## Remote Mode Support
149
-
150
- xAgent supports two operating modes:
151
-
152
- ### Local Mode
153
- - Uses local API key for AI calls
154
- - All tool execution happens locally
155
- - Full Smart Mode approval functionality
156
- - Suitable for self-hosted LLMs
157
-
158
- ### Remote Mode (OAuth)
159
- - Uses xAgent web service for AI calls
160
- - Tools are synced to remote server
161
- - Approval handled by remote LLM
162
- - Requires authentication with xAgent account
163
-
164
- ## Related Documentation
165
-
166
- - [Tool System Design](./tool-system-design.md)
167
- - [MCP Integration Guide](./mcp-integration-guide.md)
168
- - [CLI Commands](../cli/commands.md)
169
- - [Smart Mode Documentation](../smart-mode.md)
1
+ # Architecture Overview
2
+
3
+ This document provides a high-level overview of the xAgent CLI architecture.
4
+
5
+ ## Core Philosophy
6
+
7
+ xAgent CLI is designed as an intelligent agent for personal PCs and autonomous living. It transforms how users interact with their digital life through AI-powered automation.
8
+
9
+ ## System Architecture
10
+
11
+ ### Layered Architecture
12
+
13
+ ```
14
+ ┌─────────────────────────────────────────────────┐
15
+ │ CLI Interface │
16
+ │ (Ink/React Components) │
17
+ ├─────────────────────────────────────────────────┤
18
+ │ Session Layer │
19
+ │ (Session + Conversation Management) │
20
+ ├─────────────────────────────────────────────────┤
21
+ │ Agent System │
22
+ │ (SubAgent Orchestration) │
23
+ ├─────────────────────────────────────────────────┤
24
+ │ Tool Layer │
25
+ │ (Built-in + MCP + Skill Tools) │
26
+ ├─────────────────────────────────────────────────┤
27
+ │ AI Client Layer │
28
+ │ (Local + Remote AI Clients) │
29
+ ├─────────────────────────────────────────────────┤
30
+ │ Storage & Config │
31
+ │ (Checkpoint, Settings, Memory) │
32
+ └─────────────────────────────────────────────────┘
33
+ ```
34
+
35
+ ## Key Components
36
+
37
+ ### 1. CLI Interface
38
+ - Built with Ink (React for CLI)
39
+ - Interactive terminal UI
40
+ - Theme support
41
+ - Cancellation support (ESC key)
42
+
43
+ ### 2. Session Management
44
+ - `InteractiveSession` - Main session handler
45
+ - `SessionManager` - Session state management
46
+ - `ConversationManager` - Conversation history
47
+ - `CheckpointManager` - State persistence
48
+ - `ContextCompressor` - Context optimization
49
+
50
+ ### 3. Agent System
51
+ - `AgentManager` - Agent configuration and loading
52
+ - Main agent for general tasks
53
+ - Specialized SubAgents:
54
+ - Plan Agent - Task planning and decomposition
55
+ - Explore Agent - Codebase exploration
56
+ - Frontend Tester - Frontend testing
57
+ - Code Reviewer - Code quality review
58
+ - Frontend/Backend Developer - Specialized development
59
+ - GUI SubAgent - Browser/desktop automation
60
+
61
+ ### 4. Tool System
62
+ - `ToolRegistry` - Tool registration and management
63
+ - Built-in tools (20+)
64
+ - MCP integration with dynamic tool loading
65
+ - Skill invocation system (`InvokeSkill` tool)
66
+ - Smart Mode approval system
67
+
68
+ ### 5. AI Client Layer
69
+ - `AIClient` - Local AI client for OpenAI-compatible APIs
70
+ - `RemoteAIClient` - Remote AI client for xAgent web service
71
+ - Multi-model support
72
+ - Token optimization
73
+
74
+ ### 6. GUI SubAgent
75
+ - `ComputerOperator` - Desktop control (mouse, keyboard, screenshots)
76
+ - `GUIAgent` - LLM-driven automation agent
77
+ - Support for local and remote VLM modes
78
+ - Action parsing and execution
79
+
80
+ ### 7. Authentication & Config
81
+ - `AuthService` - OAuth and API key authentication
82
+ - `ConfigManager` - Global and project settings
83
+ - Support for multiple auth types:
84
+ - `oauth-xagent` - xAgent native authentication
85
+ - `api_key` - Direct API key
86
+ - `openai_compatible` - Third-party OpenAI-compatible APIs
87
+
88
+ ## Execution Flow
89
+
90
+ ```
91
+ User Input → Slash Command Parser
92
+
93
+ Input Processor
94
+
95
+ Agent Decision
96
+
97
+ ┌───────────┴───────────┐
98
+ ↓ ↓
99
+ Local Mode Remote Mode
100
+ (API Key) (OAuth)
101
+ ↓ ↓
102
+ Tool Selection Sync to Remote
103
+ ↓ ↓
104
+ Tool Execution Remote Approval
105
+ ↓ ↓
106
+ Smart Approval Tool Execution
107
+ (if SMART mode) ↓
108
+ ↓ Sync Results
109
+ Response Output
110
+
111
+ Checkpoint Save
112
+ ```
113
+
114
+ ## Security Model
115
+
116
+ xAgent implements five execution modes:
117
+ - **YOLO**: Full control without restrictions
118
+ - **ACCEPT_EDITS**: File-only modifications
119
+ - **PLAN**: Plan before execution
120
+ - **DEFAULT**: Approval required for actions
121
+ - **SMART**: Intelligent mode with three-layer approval (whitelist, blacklist, AI review)
122
+
123
+ ## Smart Mode Architecture
124
+
125
+ Smart Mode uses a three-layer approval system:
126
+
127
+ ```
128
+ ┌─────────────────────────────────────────┐
129
+ │ Tool Call Request │
130
+ └─────────────────────────────────────────┘
131
+
132
+ ┌─────────────────────────────────────────┐
133
+ │ Layer 1: Whitelist Check │
134
+ │ (Safe tools → Auto-approved) │
135
+ └─────────────────────────────────────────┘
136
+
137
+ ┌─────────────────────────────────────────┐
138
+ │ Layer 2: Blacklist Check │
139
+ │ (Dangerous → User confirmation) │
140
+ └─────────────────────────────────────────┘
141
+
142
+ ┌─────────────────────────────────────────┐
143
+ │ Layer 3: AI Review │
144
+ │ (Unknown → AI risk assessment) │
145
+ └─────────────────────────────────────────┘
146
+ ```
147
+
148
+ ## Remote Mode Support
149
+
150
+ xAgent supports two operating modes:
151
+
152
+ ### Local Mode
153
+ - Uses local API key for AI calls
154
+ - All tool execution happens locally
155
+ - Full Smart Mode approval functionality
156
+ - Suitable for self-hosted LLMs
157
+
158
+ ### Remote Mode (OAuth)
159
+ - Uses xAgent web service for AI calls
160
+ - Tools are synced to remote server
161
+ - Approval handled by remote LLM
162
+ - Requires authentication with xAgent account
163
+
164
+ ## Related Documentation
165
+
166
+ - [Tool System Design](./tool-system-design.md)
167
+ - [MCP Integration Guide](./mcp-integration-guide.md)
168
+ - [CLI Commands](../cli/commands.md)
169
+ - [Smart Mode Documentation](../smart-mode.md)
@@ -1,134 +1,134 @@
1
- # Tool System Design
2
-
3
- This document describes the tool system architecture and design principles.
4
-
5
- ## Overview
6
-
7
- xAgent CLI provides a rich set of built-in tools plus support for external tools via MCP (Model Context Protocol). Tools are the primary way agents interact with the filesystem, execute commands, and perform actions.
8
-
9
- ## Tool Categories
10
-
11
- ### File Operations
12
- | Tool | Description | Permissions Required |
13
- |------|-------------|---------------------|
14
- | `Read` | Read file contents | YOLO, ACCEPT_EDITS, PLAN, SMART |
15
- | `Write` | Create or overwrite files | YOLO, ACCEPT_EDITS, SMART |
16
- | `replace` | Replace text in files | YOLO, ACCEPT_EDITS, SMART |
17
- | `DeleteFile` | Delete files | YOLO, ACCEPT_EDITS, SMART |
18
-
19
- ### Search Tools
20
- | Tool | Description | Permissions Required |
21
- |------|-------------|---------------------|
22
- | `Grep` | Search text patterns | All modes |
23
- | `SearchCodebase` | Find files by pattern | All modes |
24
- | `web_search` | Search the web | YOLO, ACCEPT_EDITS, PLAN, SMART |
25
- | `web_fetch` | Fetch web content | YOLO, ACCEPT_EDITS, PLAN, SMART |
26
-
27
- ### Execution Tools
28
- | Tool | Description | Permissions Required |
29
- |------|-------------|---------------------|
30
- | `Bash` | Execute shell commands | YOLO, ACCEPT_EDITS, SMART |
31
- | `ListDirectory` | List directory contents | All modes |
32
- | `CreateDirectory` | Create directories | YOLO, ACCEPT_EDITS, SMART |
33
-
34
- ### Task Management
35
- | Tool | Description | Permissions Required |
36
- |------|-------------|---------------------|
37
- | `todo_write` | Create/manage task lists | All modes |
38
- | `todo_read` | Read task lists | All modes |
39
- | `task` | Launch SubAgents | YOLO, ACCEPT_EDITS, PLAN, SMART |
40
-
41
- ### GUI Automation
42
- | Tool | Description | Permissions Required |
43
- |------|-------------|---------------------|
44
- | `gui_operate` | GUI browser automation | YOLO, ACCEPT_EDITS, SMART |
45
- | `gui_screenshot` | Take browser screenshot | YOLO, ACCEPT_EDITS, SMART |
46
- | `gui_cleanup` | Cleanup GUI instances | YOLO, ACCEPT_EDITS, SMART |
47
-
48
- ### Skill Invocation
49
- | Tool | Description | Permissions Required |
50
- |------|-------------|---------------------|
51
- | `InvokeSkill` | Invoke specialized skills | YOLO, ACCEPT_EDITS, PLAN, SMART |
52
-
53
- ### Additional Tools
54
- | Tool | Description | Permissions Required |
55
- |------|-------------|---------------------|
56
- | `image_read` | Analyze image content | All modes |
57
- | `save_memory` | Remember user preferences | All modes |
58
- | `ask_user_question` | Ask user for clarification | All modes |
59
- | `xml_escape` | Escape XML/HTML content | All modes |
60
- | `exit_plan_mode` | Exit plan mode | PLAN |
61
-
62
-
63
- ## Tool Interface
64
-
65
- ```typescript
66
- interface Tool {
67
- name: string;
68
- description: string;
69
- parameters: ToolParameters;
70
- execute: (args: Record<string, unknown>) => Promise<ToolResult>;
71
- validate?: (args: Record<string, unknown>) => boolean;
72
- allowedModes?: ExecutionMode[];
73
- }
74
- ```
75
-
76
- ## Tool Registry
77
-
78
- The ToolRegistry manages tool registration and retrieval:
79
-
80
- ```typescript
81
- class ToolRegistry {
82
- register(tool: Tool): void;
83
- get(name: string): Tool | undefined;
84
- list(): Tool[];
85
- getAll(): Tool[];
86
- getToolsForMode(mode: ExecutionMode): Tool[];
87
- registerMCPTools(mcpTools: any[]): void;
88
- }
89
- ```
90
-
91
- ## Tool Execution Flow
92
-
93
- ```
94
- Tool Call → Permission Check (by mode)
95
-
96
- Whitelist Check (Smart Mode)
97
-
98
- Blacklist Check (Smart Mode)
99
-
100
- AI Review (Smart Mode)
101
-
102
- Execution → Result Formatting
103
-
104
- Response Generation
105
- ```
106
-
107
- ## Smart Mode Integration
108
-
109
- In Smart Mode, tools go through a three-layer approval system:
110
-
111
- 1. **Whitelist Check**: Safe tools (Read, ListDirectory, Grep, etc.) are approved automatically
112
- 2. **Blacklist Check**: Dangerous operations are flagged for user confirmation
113
- 3. **AI Review**: Unknown tools are analyzed by AI for risk assessment
114
-
115
- ## Adding Custom Tools
116
-
117
- 1. Implement the Tool interface in tools.ts
118
- 2. Register with ToolRegistry in getToolRegistry()
119
- 3. Add TypeScript types if needed
120
- 4. Write unit tests
121
- 5. Update system-prompt-generator.ts with tool schema
122
-
123
- ## Remote Mode Support
124
-
125
- Tools can operate in two modes:
126
-
127
- - **Local Mode**: Tools are executed locally with local AI client
128
- - **Remote Mode**: Tools are synced to remote server, approval handled by remote LLM
129
-
130
- ## Related Documentation
131
-
132
- - [Architecture Overview](./overview.md)
133
- - [MCP Integration Guide](./mcp-integration-guide.md)
134
- - [Smart Mode Documentation](../smart-mode.md)
1
+ # Tool System Design
2
+
3
+ This document describes the tool system architecture and design principles.
4
+
5
+ ## Overview
6
+
7
+ xAgent CLI provides a rich set of built-in tools plus support for external tools via MCP (Model Context Protocol). Tools are the primary way agents interact with the filesystem, execute commands, and perform actions.
8
+
9
+ ## Tool Categories
10
+
11
+ ### File Operations
12
+ | Tool | Description | Permissions Required |
13
+ |------|-------------|---------------------|
14
+ | `Read` | Read file contents | YOLO, ACCEPT_EDITS, PLAN, SMART |
15
+ | `Write` | Create or overwrite files | YOLO, ACCEPT_EDITS, SMART |
16
+ | `replace` | Replace text in files | YOLO, ACCEPT_EDITS, SMART |
17
+ | `DeleteFile` | Delete files | YOLO, ACCEPT_EDITS, SMART |
18
+
19
+ ### Search Tools
20
+ | Tool | Description | Permissions Required |
21
+ |------|-------------|---------------------|
22
+ | `Grep` | Search text patterns | All modes |
23
+ | `SearchCodebase` | Find files by pattern | All modes |
24
+ | `web_search` | Search the web | YOLO, ACCEPT_EDITS, PLAN, SMART |
25
+ | `web_fetch` | Fetch web content | YOLO, ACCEPT_EDITS, PLAN, SMART |
26
+
27
+ ### Execution Tools
28
+ | Tool | Description | Permissions Required |
29
+ |------|-------------|---------------------|
30
+ | `Bash` | Execute shell commands | YOLO, ACCEPT_EDITS, SMART |
31
+ | `ListDirectory` | List directory contents | All modes |
32
+ | `CreateDirectory` | Create directories | YOLO, ACCEPT_EDITS, SMART |
33
+
34
+ ### Task Management
35
+ | Tool | Description | Permissions Required |
36
+ |------|-------------|---------------------|
37
+ | `todo_write` | Create/manage task lists | All modes |
38
+ | `todo_read` | Read task lists | All modes |
39
+ | `task` | Launch SubAgents | YOLO, ACCEPT_EDITS, PLAN, SMART |
40
+
41
+ ### GUI Automation
42
+ | Tool | Description | Permissions Required |
43
+ |------|-------------|---------------------|
44
+ | `gui_operate` | GUI browser automation | YOLO, ACCEPT_EDITS, SMART |
45
+ | `gui_screenshot` | Take browser screenshot | YOLO, ACCEPT_EDITS, SMART |
46
+ | `gui_cleanup` | Cleanup GUI instances | YOLO, ACCEPT_EDITS, SMART |
47
+
48
+ ### Skill Invocation
49
+ | Tool | Description | Permissions Required |
50
+ |------|-------------|---------------------|
51
+ | `InvokeSkill` | Invoke specialized skills | YOLO, ACCEPT_EDITS, PLAN, SMART |
52
+
53
+ ### Additional Tools
54
+ | Tool | Description | Permissions Required |
55
+ |------|-------------|---------------------|
56
+ | `image_read` | Analyze image content | All modes |
57
+ | `save_memory` | Remember user preferences | All modes |
58
+ | `ask_user_question` | Ask user for clarification | All modes |
59
+ | `xml_escape` | Escape XML/HTML content | All modes |
60
+ | `exit_plan_mode` | Exit plan mode | PLAN |
61
+
62
+
63
+ ## Tool Interface
64
+
65
+ ```typescript
66
+ interface Tool {
67
+ name: string;
68
+ description: string;
69
+ parameters: ToolParameters;
70
+ execute: (args: Record<string, unknown>) => Promise<ToolResult>;
71
+ validate?: (args: Record<string, unknown>) => boolean;
72
+ allowedModes?: ExecutionMode[];
73
+ }
74
+ ```
75
+
76
+ ## Tool Registry
77
+
78
+ The ToolRegistry manages tool registration and retrieval:
79
+
80
+ ```typescript
81
+ class ToolRegistry {
82
+ register(tool: Tool): void;
83
+ get(name: string): Tool | undefined;
84
+ list(): Tool[];
85
+ getAll(): Tool[];
86
+ getToolsForMode(mode: ExecutionMode): Tool[];
87
+ registerMCPTools(mcpTools: any[]): void;
88
+ }
89
+ ```
90
+
91
+ ## Tool Execution Flow
92
+
93
+ ```
94
+ Tool Call → Permission Check (by mode)
95
+
96
+ Whitelist Check (Smart Mode)
97
+
98
+ Blacklist Check (Smart Mode)
99
+
100
+ AI Review (Smart Mode)
101
+
102
+ Execution → Result Formatting
103
+
104
+ Response Generation
105
+ ```
106
+
107
+ ## Smart Mode Integration
108
+
109
+ In Smart Mode, tools go through a three-layer approval system:
110
+
111
+ 1. **Whitelist Check**: Safe tools (Read, ListDirectory, Grep, etc.) are approved automatically
112
+ 2. **Blacklist Check**: Dangerous operations are flagged for user confirmation
113
+ 3. **AI Review**: Unknown tools are analyzed by AI for risk assessment
114
+
115
+ ## Adding Custom Tools
116
+
117
+ 1. Implement the Tool interface in tools.ts
118
+ 2. Register with ToolRegistry in getToolRegistry()
119
+ 3. Add TypeScript types if needed
120
+ 4. Write unit tests
121
+ 5. Update system-prompt-generator.ts with tool schema
122
+
123
+ ## Remote Mode Support
124
+
125
+ Tools can operate in two modes:
126
+
127
+ - **Local Mode**: Tools are executed locally with local AI client
128
+ - **Remote Mode**: Tools are synced to remote server, approval handled by remote LLM
129
+
130
+ ## Related Documentation
131
+
132
+ - [Architecture Overview](./overview.md)
133
+ - [MCP Integration Guide](./mcp-integration-guide.md)
134
+ - [Smart Mode Documentation](../smart-mode.md)