@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
@@ -12,7 +12,7 @@ import { getLogger } from '../../logger.js';
12
12
  /**
13
13
  * Helper function to truncate long text
14
14
  */
15
- function truncateText(text, maxLength = 200) {
15
+ function _truncateText(text, maxLength = 200) {
16
16
  if (!text)
17
17
  return '';
18
18
  return text.length > maxLength ? text.substring(0, maxLength) + '...' : text;
@@ -20,7 +20,7 @@ function truncateText(text, maxLength = 200) {
20
20
  /**
21
21
  * Helper function to indent multiline text
22
22
  */
23
- function indentMultiline(text, indent) {
23
+ function _indentMultiline(text, indent) {
24
24
  return text.split('\n').map(line => indent + line).join('\n');
25
25
  }
26
26
  const guiLogger = getLogger();
@@ -33,7 +33,7 @@ export var GUIAgentStatus;
33
33
  GUIAgentStatus["END"] = "end";
34
34
  GUIAgentStatus["ERROR"] = "error";
35
35
  GUIAgentStatus["USER_STOPPED"] = "user_stopped";
36
- GUIAgentStatus["CALL_USER"] = "call_user";
36
+ GUIAgentStatus["CALL_LLM"] = "call_llm";
37
37
  })(GUIAgentStatus || (GUIAgentStatus = {}));
38
38
  // UI-TARS constants (aligned with @ui-tars/shared/constants)
39
39
  const MAX_LOOP_COUNT = 100;
@@ -45,6 +45,8 @@ export class GUIAgent {
45
45
  model;
46
46
  modelBaseUrl;
47
47
  modelApiKey;
48
+ taskId;
49
+ isFirstVlmCallRef;
48
50
  remoteVlmCaller;
49
51
  isLocalMode;
50
52
  systemPrompt;
@@ -52,38 +54,55 @@ export class GUIAgent {
52
54
  maxLoopCount;
53
55
  logger;
54
56
  signal;
57
+ sdkOutputAdapter;
55
58
  onData;
56
59
  onError;
57
60
  showAIDebugInfo;
61
+ indentLevel;
58
62
  retry;
59
63
  isPaused = false;
60
64
  resumePromise = null;
61
65
  resolveResume = null;
62
66
  isStopped = false;
67
+ isFirstVlmCall = true;
63
68
  constructor(config) {
64
69
  this.operator = config.operator;
65
70
  this.model = config.model || '';
66
71
  this.modelBaseUrl = config.modelBaseUrl || '';
67
72
  this.modelApiKey = config.modelApiKey || '';
73
+ this.taskId = config.taskId || crypto.randomUUID();
74
+ this.isFirstVlmCallRef = config.isFirstVlmCallRef;
68
75
  this.remoteVlmCaller = config.remoteVlmCaller;
69
76
  this.isLocalMode = config.isLocalMode;
70
77
  this.loopIntervalInMs = config.loopIntervalInMs || 0;
71
78
  this.maxLoopCount = config.maxLoopCount || MAX_LOOP_COUNT;
72
79
  this.logger = config.logger || guiLogger;
73
80
  this.signal = config.signal;
81
+ this.sdkOutputAdapter = config.sdkOutputAdapter ?? null;
74
82
  this.onData = config.onData;
75
83
  this.onError = config.onError;
76
84
  this.showAIDebugInfo = config.showAIDebugInfo ?? false;
85
+ this.indentLevel = config.indentLevel ?? 1;
77
86
  this.retry = config.retry;
78
87
  this.systemPrompt = config.systemPrompt || this.buildSystemPrompt();
79
88
  }
89
+ /**
90
+ * Set isFirstVlmCall to false after first VLM call
91
+ * Called by external code after remoteVlmCaller completes first call
92
+ */
93
+ setIsFirstVlmCall(value) {
94
+ this.isFirstVlmCall = value;
95
+ }
80
96
  /**
81
97
  * Display conversation results with formatting similar to session.ts (simplified)
98
+ * In SDK mode, uses the SDK adapter for structured output
99
+ * Note: For assistant actions, SDK output is handled in the action execution loop
100
+ * to ensure accurate timing information
82
101
  */
83
102
  displayConversationResult(conversation, iteration, indentLevel = 1) {
84
103
  const indent = ' '.repeat(indentLevel);
85
104
  const innerIndent = ' '.repeat(indentLevel + 1);
86
- const maxWidth = process.stdout.columns || 80;
105
+ const _maxWidth = process.stdout.columns || 80;
87
106
  if (conversation.from === 'assistant') {
88
107
  // Display assistant response (action)
89
108
  const content = conversation.value || '';
@@ -91,16 +110,21 @@ export class GUIAgent {
91
110
  // Simplified: show step number and action
92
111
  const actionSummary = content.replace(/Thought:[\s\S]*?Action:\s*/i, '').trim();
93
112
  const actionType = conversation.predictionParsed?.[0]?.action_type || 'action';
94
- console.log(`${indent}${colors.primaryBright(`[${iteration}]`)} ${colors.textMuted(actionType)}${timing ? colors.textDim(` (${timing.cost}ms)`) : ''}`);
95
- // Optionally show action details on next line if verbose
96
- if (this.showAIDebugInfo && actionSummary) {
97
- const truncatedSummary = actionSummary.length > 60 ? actionSummary.substring(0, 60) + '...' : actionSummary;
98
- console.log(`${innerIndent}${colors.textMuted(truncatedSummary)}`);
113
+ // In SDK mode, action output is handled in the action execution loop
114
+ // Only use console output for non-SDK mode
115
+ if (!this.sdkOutputAdapter) {
116
+ console.log(`${indent}${colors.primaryBright(`[${iteration}]`)} ${colors.textMuted(actionType)}${timing ? colors.textDim(` (${timing.cost}ms)`) : ''}`);
117
+ // Optionally show action details on next line if verbose
118
+ if (this.showAIDebugInfo && actionSummary) {
119
+ const truncatedSummary = actionSummary.length > 60 ? actionSummary.substring(0, 60) + '...' : actionSummary;
120
+ console.log(`${innerIndent}${colors.textMuted(truncatedSummary)}`);
121
+ }
99
122
  }
100
123
  }
101
124
  else if (conversation.from === 'human' && conversation.screenshotBase64) {
102
125
  // Show minimal indicator for screenshot
103
- if (this.showAIDebugInfo) {
126
+ // In SDK mode, screenshot is handled by the conversation data
127
+ if (this.showAIDebugInfo && !this.sdkOutputAdapter) {
104
128
  const timing = conversation.timing;
105
129
  console.log(`${indent}${colors.textMuted(`${icons.loading} screenshot${timing ? ` (${timing.cost}ms)` : ''}`)}`);
106
130
  }
@@ -114,55 +138,69 @@ export class GUIAgent {
114
138
  const status = data.status;
115
139
  switch (status) {
116
140
  case GUIAgentStatus.RUNNING:
117
- console.log(`${indent}${colors.info(`${icons.loading} Step ${iteration}: Running...`)}`);
141
+ if (!this.sdkOutputAdapter) {
142
+ console.log(`${indent}${colors.info(`${icons.loading} Step ${iteration}: Running...`)}`);
143
+ }
144
+ else {
145
+ this.sdkOutputAdapter.outputInfo(`Step ${iteration}: Running...`);
146
+ }
118
147
  break;
119
148
  case GUIAgentStatus.END:
120
149
  // Handled by caller
121
150
  break;
122
151
  case GUIAgentStatus.ERROR:
123
152
  if (data.error) {
124
- console.log(`${indent}${colors.error(`${icons.cross} ${data.error}`)}`);
153
+ if (!this.sdkOutputAdapter) {
154
+ console.log(`${indent}${colors.error(`${icons.cross} ${data.error}`)}`);
155
+ }
156
+ else {
157
+ this.sdkOutputAdapter.outputError(data.error);
158
+ }
125
159
  }
126
160
  break;
127
- case GUIAgentStatus.CALL_USER:
128
- console.log(`${indent}${colors.warning(`${icons.warning} Needs user input`)}`);
129
- break;
130
161
  case GUIAgentStatus.USER_STOPPED:
131
- console.log(`${indent}${colors.warning(`${icons.warning} Stopped`)}`);
162
+ if (!this.sdkOutputAdapter) {
163
+ console.log(`${indent}${colors.warning(`${icons.warning} Stopped`)}`);
164
+ }
165
+ else {
166
+ this.sdkOutputAdapter.outputWarning('Stopped');
167
+ }
132
168
  break;
133
169
  default:
134
170
  break;
135
171
  }
136
172
  }
137
173
  buildSystemPrompt() {
138
- return `You are a GUI agent. You are given a task and your action history, with screenshots. You need to perform the next action to complete the task.
139
-
140
- ## Output Format
141
- \`
142
- Thought: ...
143
- Action: ...
144
- \`
145
-
146
- ## Action Space
147
- click(point='<point>x1 y1</point>')
148
- left_double(point='<point>x1 y1</point>')
149
- right_single(point='<point>x1 y1</point>')
150
- drag(start_point='<point>x1 y1</point>', end_point='<point>x2 y2</point>')
151
- hotkey(key='ctrl c') # Split keys with a space and use lowercase. Also, do not use more than 3 keys in one hotkey action.
152
- type(content='xxx') # Use escape characters \', \", and \n in content part to ensure we can parse the content in normal python string format. If you want to submit your input, use \n at the end of content.
153
- scroll(point='<point>x1 y1</point>', direction='down or up or right or left') # Show more information on the \`direction\` side.
154
- open_url(url='https://xxx') # Open URL in browser
155
- wait() #Sleep for 5s and take a screenshot to check for any changes.
156
- finished(content='xxx') # Use escape characters \', \", and \n in content part to ensure we can parse the content in normal python string format.
157
-
158
-
159
-
160
-
161
- ## Note
162
- - Use {language} in \`Thought\` part.
163
- - Write a small plan and finally summarize your next action (with its target element) in one sentence in \`Thought\` part.
164
-
174
+ /* eslint-disable no-useless-escape */
175
+ return `You are a GUI agent. You are given a task and your action history, with screenshots. You need to perform the next action to complete the task.
176
+
177
+ ## Output Format
178
+ \`
179
+ Thought: ...
180
+ Action: ...
181
+ \`
182
+
183
+ ## Action Space
184
+ click(point='<point>x1 y1</point>')
185
+ left_double(point='<point>x1 y1</point>')
186
+ right_single(point='<point>x1 y1</point>')
187
+ drag(start_point='<point>x1 y1</point>', end_point='<point>x2 y2</point>')
188
+ hotkey(key='ctrl c') # Split keys with a space and use lowercase. Also, do not use more than 3 keys in one hotkey action.
189
+ type(content='xxx') # Use escape characters \', \", and \n in content part to ensure we can parse the content in normal python string format. If you want to submit your input, use \n at the end of content.
190
+ scroll(point='<point>x1 y1</point>', direction='down or up or right or left') # Show more information on the \`direction\` side.
191
+ open_url(url='https://xxx') # Open URL in browser
192
+ wait() #Sleep for 5s and take a screenshot to check for any changes.
193
+ finished(content='xxx') # Use escape characters \', \", and \n in content part to ensure we can parse the content in normal python string format.
194
+
195
+
196
+
197
+
198
+ ## Note
199
+ - Use {language} in \`Thought\` part.
200
+ - Write a small plan and finally summarize your next action (with its target element) in one sentence in \`Thought\` part.
201
+
165
202
  `;
203
+ /* eslint-enable no-useless-escape */
166
204
  }
167
205
  async initialize() {
168
206
  await this.operator.doInitialize();
@@ -186,6 +224,10 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
186
224
  },
187
225
  ],
188
226
  };
227
+ // Output start via SDK adapter if available
228
+ if (this.sdkOutputAdapter) {
229
+ this.sdkOutputAdapter.outputGUIAgentStart(instruction, this.isLocalMode ? 'local' : 'remote');
230
+ }
189
231
  // Initialize operator for initial screenshot
190
232
  try {
191
233
  await this.operator.doInitialize();
@@ -205,9 +247,13 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
205
247
  data.status = GUIAgentStatus.ERROR;
206
248
  data.error = `Failed to initialize operator: ${errorMsg}`;
207
249
  }
250
+ // Output error via SDK adapter if available
251
+ if (this.sdkOutputAdapter) {
252
+ this.sdkOutputAdapter.outputGUIAgentError(data.error, errorMsg);
253
+ }
208
254
  return data;
209
255
  }
210
- const currentTime = Date.now();
256
+ const _currentTime = Date.now();
211
257
  if (this.showAIDebugInfo) {
212
258
  this.logger.debug('[GUIAgent] run:', {
213
259
  systemPrompt: this.systemPrompt,
@@ -220,8 +266,19 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
220
266
  // Start running agent
221
267
  data.status = GUIAgentStatus.RUNNING;
222
268
  data.systemPrompt = this.systemPrompt;
223
- console.log(`${colors.primaryBright(`${icons.rocket} GUI Agent started`)}`);
224
- console.log('');
269
+ const indent = ' '.repeat(this.indentLevel);
270
+ // Output start via SDK adapter if available, otherwise use console
271
+ if (this.sdkOutputAdapter) {
272
+ this.sdkOutputAdapter.outputGUIAgentStart(data.conversations[0]?.value || '', this.isLocalMode ? 'local' : 'remote');
273
+ }
274
+ else {
275
+ console.log(`${indent}${colors.primaryBright(`${icons.rocket} GUI Agent started`)}`);
276
+ console.log('');
277
+ }
278
+ // Output running status via SDK adapter if available
279
+ if (this.sdkOutputAdapter) {
280
+ this.sdkOutputAdapter.outputGUIAgentStatus(GUIAgentStatus.RUNNING);
281
+ }
225
282
  await this.onData?.({ ...data, conversations: [] });
226
283
  try {
227
284
  // eslint-disable-next-line no-constant-condition
@@ -232,9 +289,17 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
232
289
  // Check pause status
233
290
  if (this.isPaused && this.resumePromise) {
234
291
  data.status = GUIAgentStatus.PAUSE;
292
+ // Output pause status via SDK adapter if available
293
+ if (this.sdkOutputAdapter) {
294
+ this.sdkOutputAdapter.outputGUIAgentStatus(GUIAgentStatus.PAUSE, loopCnt);
295
+ }
235
296
  await this.onData?.({ ...data, conversations: [] });
236
297
  await this.resumePromise;
237
298
  data.status = GUIAgentStatus.RUNNING;
299
+ // Output running status via SDK adapter if available
300
+ if (this.sdkOutputAdapter) {
301
+ this.sdkOutputAdapter.outputGUIAgentStatus(GUIAgentStatus.RUNNING, loopCnt);
302
+ }
238
303
  await this.onData?.({ ...data, conversations: [] });
239
304
  }
240
305
  // Check stop or aborted status
@@ -331,7 +396,7 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
331
396
  // Display screenshot notification
332
397
  const latestScreenshot = data.conversations[data.conversations.length - 1];
333
398
  if (latestScreenshot && latestScreenshot.from === 'human' && latestScreenshot.screenshotBase64) {
334
- this.displayConversationResult(latestScreenshot, loopCnt);
399
+ this.displayConversationResult(latestScreenshot, loopCnt, this.indentLevel);
335
400
  }
336
401
  // Build messages for model
337
402
  const messages = this.buildModelMessages(data.conversations, data.systemPrompt);
@@ -350,9 +415,16 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
350
415
  return result;
351
416
  }
352
417
  catch (error) {
418
+ const errorMsg = error instanceof Error ? error.message : String(error);
419
+ // 捕获各种 abort 相关的错误
353
420
  if (error instanceof Error &&
354
421
  (error.name === 'AbortError' ||
355
- error.message?.includes('aborted'))) {
422
+ errorMsg.includes('aborted') ||
423
+ errorMsg.includes('canceled') ||
424
+ errorMsg.includes('cancelled') ||
425
+ errorMsg === 'Operation was canceled' ||
426
+ errorMsg === 'The operation was canceled' ||
427
+ errorMsg === 'This operation was aborted')) {
356
428
  bail(error);
357
429
  return { prediction: '', parsedPredictions: [] };
358
430
  }
@@ -367,10 +439,22 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
367
439
  parsedPredictions = modelResult.parsedPredictions;
368
440
  }
369
441
  catch (modelError) {
442
+ // 首先检查是否是取消/abort 错误
443
+ const errorMsg = modelError instanceof Error ? modelError.message : String(modelError);
444
+ const isAbortError = modelError instanceof Error && (modelError.name === 'AbortError' ||
445
+ errorMsg.includes('aborted') ||
446
+ errorMsg.includes('canceled') ||
447
+ errorMsg.includes('cancelled') ||
448
+ errorMsg === 'Operation was canceled' ||
449
+ errorMsg === 'The operation was canceled' ||
450
+ errorMsg === 'This operation was aborted');
451
+ if (isAbortError || this.signal?.aborted) {
452
+ data.status = GUIAgentStatus.USER_STOPPED;
453
+ data.conversations = data.conversations || [];
454
+ return data;
455
+ }
370
456
  // Handle multimodal model API errors with specific error messages
371
457
  data.status = GUIAgentStatus.ERROR;
372
- const errorMsg = modelError instanceof Error ? modelError.message : String(modelError);
373
- // Provide specific error message based on error type
374
458
  if (errorMsg.includes('401') || errorMsg.includes('authentication') || errorMsg.includes('API key') || errorMsg.includes('api_key') || errorMsg.includes('Unauthorized') || errorMsg.includes('invalid_api_key')) {
375
459
  data.error = '[Multimodal Model Authentication Failed] The guiSubagentApiKey configuration is invalid.\n' +
376
460
  'Error details: HTTP 401 - API key is invalid or expired\n' +
@@ -447,7 +531,7 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
447
531
  // Display assistant response
448
532
  const latestAssistant = data.conversations[data.conversations.length - 1];
449
533
  if (latestAssistant && latestAssistant.from === 'assistant') {
450
- this.displayConversationResult(latestAssistant, loopCnt);
534
+ this.displayConversationResult(latestAssistant, loopCnt, this.indentLevel);
451
535
  }
452
536
  // Check if we need to switch operator based on first action
453
537
  // Execute actions
@@ -488,8 +572,21 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
488
572
  stepSuccess = true;
489
573
  break;
490
574
  }
575
+ else if (executeResult.status === 'needs_input') {
576
+ // Empty action - return to main agent for re-calling LLM
577
+ this.logger.debug(`[GUIAgent] Empty action received, returning to main agent for LLM decision`);
578
+ data.status = GUIAgentStatus.CALL_LLM;
579
+ data.error = 'Empty action - main agent should re-call LLM to decide next step';
580
+ stepSuccess = true;
581
+ return data; // Return immediately with all results to main agent
582
+ }
491
583
  // Any other status (success, failed, etc.) is considered success
492
584
  stepSuccess = true;
585
+ // Output action via SDK adapter if available
586
+ if (this.sdkOutputAdapter && actionType) {
587
+ const timingCost = Date.now() - start;
588
+ this.sdkOutputAdapter.outputGUIAgentAction(loopCnt, actionType, timingCost);
589
+ }
493
590
  break;
494
591
  }
495
592
  catch (executeError) {
@@ -531,11 +628,7 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
531
628
  break;
532
629
  }
533
630
  // Handle special action types
534
- if (actionType === 'call_user') {
535
- data.status = GUIAgentStatus.CALL_USER;
536
- break;
537
- }
538
- else if (actionType === 'finished') {
631
+ if (actionType === 'finished') {
539
632
  data.status = GUIAgentStatus.END;
540
633
  break;
541
634
  }
@@ -566,9 +659,15 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
566
659
  // Save final status
567
660
  const finalStatus = data.status;
568
661
  const finalError = data.error;
662
+ const indent = ' '.repeat(this.indentLevel);
569
663
  // Output error immediately if task failed
570
664
  if (finalStatus === GUIAgentStatus.ERROR && finalError) {
571
- console.log(`\n${colors.error('✖')} ${finalError}\n`);
665
+ if (!this.sdkOutputAdapter) {
666
+ console.log(`\n${indent}${colors.error('✖')} ${finalError}\n`);
667
+ }
668
+ else {
669
+ this.sdkOutputAdapter.outputError(finalError);
670
+ }
572
671
  }
573
672
  // Call onData callback if set
574
673
  // Note: Use Promise.resolve().then() to avoid modifying data in callback
@@ -591,6 +690,22 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
591
690
  this.logger.debug(`[GUIAgent] Finally: finalStatus=${finalStatus}, finalError=${finalError}, data.status=${data.status}, data.error=${data.error}`);
592
691
  // Log final status (only visible when showAIDebugInfo is enabled)
593
692
  this.logger.debug(`[GUIAgent] Final status: ${finalStatus}${finalError ? `, Error: ${finalError}` : ''}, Steps: ${loopCnt}`);
693
+ // Output final status via SDK adapter if available
694
+ if (this.sdkOutputAdapter) {
695
+ switch (finalStatus) {
696
+ case GUIAgentStatus.END:
697
+ this.sdkOutputAdapter.outputGUIAgentComplete(data.conversations[0]?.value || '', loopCnt);
698
+ break;
699
+ case GUIAgentStatus.USER_STOPPED:
700
+ this.sdkOutputAdapter.outputGUIAgentCancelled(data.conversations[0]?.value || '');
701
+ break;
702
+ case GUIAgentStatus.ERROR:
703
+ this.sdkOutputAdapter.outputGUIAgentError(data.conversations[0]?.value || 'GUI Agent error', finalError || 'Unknown error');
704
+ break;
705
+ default:
706
+ this.sdkOutputAdapter.outputGUIAgentStatus(finalStatus, loopCnt, finalError);
707
+ }
708
+ }
594
709
  data.status = finalStatus;
595
710
  data.error = finalError;
596
711
  }
@@ -775,21 +890,15 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
775
890
  if (this.showAIDebugInfo) {
776
891
  this.debugRequest(messages);
777
892
  }
778
- let response;
779
- try {
780
- response = await fetch(`${baseUrl}/chat/completions`, {
781
- method: 'POST',
782
- headers: {
783
- 'Content-Type': 'application/json',
784
- 'Authorization': `Bearer ${apiKey}`,
785
- },
786
- body: JSON.stringify(requestBody),
787
- signal: this.signal,
788
- });
789
- }
790
- catch (fetchError) {
791
- throw fetchError;
792
- }
893
+ const response = await fetch(`${baseUrl}/chat/completions`, {
894
+ method: 'POST',
895
+ headers: {
896
+ 'Content-Type': 'application/json',
897
+ 'Authorization': `Bearer ${apiKey}`,
898
+ },
899
+ body: JSON.stringify(requestBody),
900
+ signal: this.signal,
901
+ });
793
902
  // Handle non-200 responses
794
903
  if (!response.ok) {
795
904
  const errorText = await response.text();
@@ -830,8 +939,14 @@ finished(content='xxx') # Use escape characters \', \", and \n in content part t
830
939
  if (this.showAIDebugInfo) {
831
940
  this.debugRequest(messages, remoteVlmCaller);
832
941
  }
833
- // Use externally injected VLM caller function with full messages (same as local mode)
834
- const prediction = await remoteVlmCaller(messages, this.systemPrompt);
942
+ // Use shared ref from config for tracking first VLM call across createGUISubAgent calls
943
+ // If no shared ref provided, fall back to local tracking
944
+ const isFirstVlmCallRef = this.isFirstVlmCallRef || { current: this.isFirstVlmCall };
945
+ // Pass taskId and isFirstVlmCallRef for proper status tracking
946
+ const prediction = await remoteVlmCaller(messages, this.systemPrompt, this.taskId, isFirstVlmCallRef);
947
+ // Mark subsequent calls as continue (update both local state and shared ref)
948
+ this.isFirstVlmCall = false;
949
+ isFirstVlmCallRef.current = false;
835
950
  // Debug output for model response
836
951
  if (this.showAIDebugInfo) {
837
952
  this.debugResponse(prediction);
@@ -1 +1 @@
1
- {"version":3,"file":"gui-agent.js","sourceRoot":"","sources":["../../../src/gui-subagent/agent/gui-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gui-agent.js","sourceRoot":"","sources":["../../../src/gui-subagent/agent/gui-agent.ts"],"names":[],"mappings":"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"}