@anh3d0nic/qwen-code-termux-ice 1.0.0

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 (1927) hide show
  1. package/.allstar/branch_protection.yaml +1 -0
  2. package/.aoneci/workflows/ci.yml +69 -0
  3. package/.dockerignore +10 -0
  4. package/.editorconfig +13 -0
  5. package/.gcp/Dockerfile.gemini-code-builder +89 -0
  6. package/.gcp/release-docker.yml +71 -0
  7. package/.gitattributes +24 -0
  8. package/.github/CODEOWNERS +3 -0
  9. package/.github/ISSUE_TEMPLATE/bug_report.yml +58 -0
  10. package/.github/ISSUE_TEMPLATE/feature_request.yml +35 -0
  11. package/.github/actions/post-coverage-comment/action.yml +114 -0
  12. package/.github/dependabot.yml +35 -0
  13. package/.github/pull_request_template.md +41 -0
  14. package/.github/scripts/pr-triage.sh +144 -0
  15. package/.github/workflows/build-and-publish-image.yml +109 -0
  16. package/.github/workflows/check-issue-completeness.yml +201 -0
  17. package/.github/workflows/ci.yml +239 -0
  18. package/.github/workflows/community-report.yml +197 -0
  19. package/.github/workflows/docs-page-action.yml +50 -0
  20. package/.github/workflows/e2e.yml +111 -0
  21. package/.github/workflows/eval.yml +29 -0
  22. package/.github/workflows/gemini-automated-issue-dedup.yml +262 -0
  23. package/.github/workflows/gemini-scheduled-issue-dedup.yml +116 -0
  24. package/.github/workflows/gemini-scheduled-pr-triage.yml +30 -0
  25. package/.github/workflows/gemini-self-assign-issue.yml +99 -0
  26. package/.github/workflows/no-response.yml +33 -0
  27. package/.github/workflows/qwen-automated-issue-triage.yml +203 -0
  28. package/.github/workflows/qwen-code-pr-review.yml +190 -0
  29. package/.github/workflows/qwen-scheduled-issue-triage.yml +213 -0
  30. package/.github/workflows/release-sdk.yml +420 -0
  31. package/.github/workflows/release-vscode-companion.yml +359 -0
  32. package/.github/workflows/release.yml +236 -0
  33. package/.github/workflows/stale.yml +39 -0
  34. package/.github/workflows/terminal-bench.yml +96 -0
  35. package/.husky/pre-commit +9 -0
  36. package/.nvmrc +1 -0
  37. package/.prettierignore +22 -0
  38. package/.prettierrc.json +7 -0
  39. package/.qwen/commands/qc/code-review.md +25 -0
  40. package/.qwen/commands/qc/commit.md +70 -0
  41. package/.qwen/commands/qc/create-issue.md +42 -0
  42. package/.qwen/commands/qc/create-pr.md +34 -0
  43. package/.qwen/ice-auto-load.sh +39 -0
  44. package/.qwen/ice.py +822 -0
  45. package/.qwen/qwen.md +70 -0
  46. package/.qwen/skills/pr-review/SKILL.md +104 -0
  47. package/.qwen/skills/terminal-capture/SKILL.md +241 -0
  48. package/.termux-backup/esbuild.config.js +77 -0
  49. package/.termux-backup/package.json.backup +135 -0
  50. package/.termux-backup/patches-README.md +231 -0
  51. package/.termux-backup/postinstall.cjs +14 -0
  52. package/.termux-backup/prepare-termux.cjs +33 -0
  53. package/.termux-backup/termux-runtime.ts +50 -0
  54. package/.vscode/extensions.json +7 -0
  55. package/.vscode/launch.json +165 -0
  56. package/.vscode/settings.json +17 -0
  57. package/.vscode/tasks.json +41 -0
  58. package/.yamllint.yml +90 -0
  59. package/CHANGELOG.md +77 -0
  60. package/CONTRIBUTING.md +303 -0
  61. package/Dockerfile +73 -0
  62. package/LICENSE +203 -0
  63. package/Makefile +59 -0
  64. package/README.md +263 -0
  65. package/SECURITY.md +9 -0
  66. package/docs/_meta.ts +14 -0
  67. package/docs/developers/BUILDING.md +145 -0
  68. package/docs/developers/_meta.ts +25 -0
  69. package/docs/developers/architecture.md +95 -0
  70. package/docs/developers/contributing.md +303 -0
  71. package/docs/developers/development/_meta.ts +9 -0
  72. package/docs/developers/development/deployment.md +117 -0
  73. package/docs/developers/development/integration-tests.md +137 -0
  74. package/docs/developers/development/issue-and-pr-automation.md +84 -0
  75. package/docs/developers/development/npm.md +258 -0
  76. package/docs/developers/development/telemetry.md +297 -0
  77. package/docs/developers/examples/proxy-script.md +81 -0
  78. package/docs/developers/roadmap.md +82 -0
  79. package/docs/developers/sdk-java.md +311 -0
  80. package/docs/developers/sdk-typescript.md +375 -0
  81. package/docs/developers/tools/_meta.ts +14 -0
  82. package/docs/developers/tools/exit-plan-mode.md +149 -0
  83. package/docs/developers/tools/file-system.md +167 -0
  84. package/docs/developers/tools/introduction.md +62 -0
  85. package/docs/developers/tools/mcp-server.md +873 -0
  86. package/docs/developers/tools/memory.md +44 -0
  87. package/docs/developers/tools/multi-file.md +69 -0
  88. package/docs/developers/tools/sandbox.md +91 -0
  89. package/docs/developers/tools/shell.md +259 -0
  90. package/docs/developers/tools/task.md +145 -0
  91. package/docs/developers/tools/todo-write.md +63 -0
  92. package/docs/developers/tools/web-fetch.md +54 -0
  93. package/docs/developers/tools/web-search.md +186 -0
  94. package/docs/index.md +25 -0
  95. package/docs/users/_meta.ts +30 -0
  96. package/docs/users/common-workflow.md +571 -0
  97. package/docs/users/configuration/_meta.ts +10 -0
  98. package/docs/users/configuration/auth.md +297 -0
  99. package/docs/users/configuration/memory.md +0 -0
  100. package/docs/users/configuration/model-providers.md +506 -0
  101. package/docs/users/configuration/qwen-ignore.md +55 -0
  102. package/docs/users/configuration/settings.md +563 -0
  103. package/docs/users/configuration/themes.md +160 -0
  104. package/docs/users/configuration/trusted-folders.md +61 -0
  105. package/docs/users/configuration.md +73 -0
  106. package/docs/users/extension/_meta.ts +9 -0
  107. package/docs/users/extension/extension-releasing.md +121 -0
  108. package/docs/users/extension/getting-started-extensions.md +299 -0
  109. package/docs/users/extension/introduction.md +303 -0
  110. package/docs/users/features/_meta.ts +15 -0
  111. package/docs/users/features/approval-mode.md +263 -0
  112. package/docs/users/features/checkpointing.md +77 -0
  113. package/docs/users/features/commands.md +295 -0
  114. package/docs/users/features/headless.md +282 -0
  115. package/docs/users/features/language.md +139 -0
  116. package/docs/users/features/lsp.md +374 -0
  117. package/docs/users/features/mcp.md +281 -0
  118. package/docs/users/features/sandbox.md +218 -0
  119. package/docs/users/features/skills.md +289 -0
  120. package/docs/users/features/sub-agents.md +504 -0
  121. package/docs/users/features/token-caching.md +29 -0
  122. package/docs/users/ide-integration/_meta.ts +4 -0
  123. package/docs/users/ide-integration/ide-companion-spec.md +182 -0
  124. package/docs/users/ide-integration/ide-integration.md +144 -0
  125. package/docs/users/integration-github-action.md +241 -0
  126. package/docs/users/integration-jetbrains.md +57 -0
  127. package/docs/users/integration-vscode.md +39 -0
  128. package/docs/users/integration-zed.md +54 -0
  129. package/docs/users/overview.md +64 -0
  130. package/docs/users/quickstart.md +271 -0
  131. package/docs/users/reference/_meta.ts +3 -0
  132. package/docs/users/reference/keyboard-shortcuts.md +72 -0
  133. package/docs/users/support/Uninstall.md +42 -0
  134. package/docs/users/support/_meta.ts +6 -0
  135. package/docs/users/support/tos-privacy.md +112 -0
  136. package/docs/users/support/troubleshooting.md +123 -0
  137. package/docs-site/README.md +54 -0
  138. package/docs-site/mdx-components.js +12 -0
  139. package/docs-site/next-env.d.ts +6 -0
  140. package/docs-site/next.config.mjs +5 -0
  141. package/docs-site/package.json +22 -0
  142. package/docs-site/src/app/[[...mdxPath]]/page.jsx +27 -0
  143. package/docs-site/src/app/layout.jsx +55 -0
  144. package/esbuild.config.js +80 -0
  145. package/eslint-rules/no-relative-cross-package-imports.js +159 -0
  146. package/eslint.config.js +327 -0
  147. package/hello/QWEN.md +8 -0
  148. package/hello/qwen-extension.json +5 -0
  149. package/integration-tests/acp-integration.test.ts +1003 -0
  150. package/integration-tests/concurrent-runner/README.md +139 -0
  151. package/integration-tests/concurrent-runner/config.example.json +39 -0
  152. package/integration-tests/concurrent-runner/examples/toy-config.json +27 -0
  153. package/integration-tests/concurrent-runner/examples/toy-project/package.json +11 -0
  154. package/integration-tests/concurrent-runner/export-html-from-chatrecord-jsonl.js +973 -0
  155. package/integration-tests/concurrent-runner/render-chat-temp.html +291 -0
  156. package/integration-tests/concurrent-runner/requirements.txt +2 -0
  157. package/integration-tests/concurrent-runner/runner.py +1083 -0
  158. package/integration-tests/context-compress-interactive.test.ts +108 -0
  159. package/integration-tests/ctrl-c-exit.test.ts +76 -0
  160. package/integration-tests/edit.test.ts +185 -0
  161. package/integration-tests/extensions-install.test.ts +52 -0
  162. package/integration-tests/file-system-interactive.test.ts +83 -0
  163. package/integration-tests/file-system.test.ts +247 -0
  164. package/integration-tests/fixtures/settings-migration/workspaces.json +189 -0
  165. package/integration-tests/globalSetup.ts +136 -0
  166. package/integration-tests/hook-integration/hooks.test.ts +1995 -0
  167. package/integration-tests/json-output.test.ts +310 -0
  168. package/integration-tests/list_directory.test.ts +66 -0
  169. package/integration-tests/mcp_server_cyclic_schema.test.ts +207 -0
  170. package/integration-tests/mixed-input-crash.test.ts +62 -0
  171. package/integration-tests/read_many_files.test.ts +47 -0
  172. package/integration-tests/run_shell_command.test.ts +130 -0
  173. package/integration-tests/save_memory.test.ts +47 -0
  174. package/integration-tests/sdk-typescript/abort-and-lifecycle.test.ts +657 -0
  175. package/integration-tests/sdk-typescript/configuration-options.test.ts +636 -0
  176. package/integration-tests/sdk-typescript/mcp-server.test.ts +581 -0
  177. package/integration-tests/sdk-typescript/multi-turn.test.ts +610 -0
  178. package/integration-tests/sdk-typescript/permission-control.test.ts +1272 -0
  179. package/integration-tests/sdk-typescript/sdk-mcp-server.test.ts +467 -0
  180. package/integration-tests/sdk-typescript/session-id.test.ts +582 -0
  181. package/integration-tests/sdk-typescript/single-turn.test.ts +528 -0
  182. package/integration-tests/sdk-typescript/subagents.test.ts +570 -0
  183. package/integration-tests/sdk-typescript/system-control.test.ts +426 -0
  184. package/integration-tests/sdk-typescript/test-helper.ts +1012 -0
  185. package/integration-tests/sdk-typescript/tool-control.test.ts +984 -0
  186. package/integration-tests/settings-migration.test.ts +627 -0
  187. package/integration-tests/simple-mcp-server.test.ts +231 -0
  188. package/integration-tests/stdin-context.test.ts +97 -0
  189. package/integration-tests/telemetry.test.ts +26 -0
  190. package/integration-tests/terminal-bench/ci-tasks/hello-world/Dockerfile +2 -0
  191. package/integration-tests/terminal-bench/ci-tasks/hello-world/docker-compose.yaml +12 -0
  192. package/integration-tests/terminal-bench/ci-tasks/hello-world/run-tests.sh +4 -0
  193. package/integration-tests/terminal-bench/ci-tasks/hello-world/solution.sh +4 -0
  194. package/integration-tests/terminal-bench/ci-tasks/hello-world/task.yaml +15 -0
  195. package/integration-tests/terminal-bench/ci-tasks/hello-world/tests/run-uv-pytest.sh +3 -0
  196. package/integration-tests/terminal-bench/ci-tasks/hello-world/tests/setup-uv-pytest.sh +19 -0
  197. package/integration-tests/terminal-bench/ci-tasks/hello-world/tests/test_outputs.py +19 -0
  198. package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/Dockerfile +34 -0
  199. package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/docker-compose.yaml +12 -0
  200. package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/run-tests.sh +52 -0
  201. package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/solution.sh +26 -0
  202. package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/task.yaml +55 -0
  203. package/integration-tests/terminal-bench/qwen-code-setup.sh.j2 +15 -0
  204. package/integration-tests/terminal-bench/qwen_code.py +70 -0
  205. package/integration-tests/terminal-bench/terminal-bench.test.ts +328 -0
  206. package/integration-tests/terminal-capture/motivation.md +127 -0
  207. package/integration-tests/terminal-capture/package.json +18 -0
  208. package/integration-tests/terminal-capture/run.ts +105 -0
  209. package/integration-tests/terminal-capture/scenario-runner.ts +429 -0
  210. package/integration-tests/terminal-capture/scenarios/about.ts +8 -0
  211. package/integration-tests/terminal-capture/scenarios/all.ts +46 -0
  212. package/integration-tests/terminal-capture/scenarios/message-components.ts +32 -0
  213. package/integration-tests/terminal-capture/scenarios/progress.sh +16 -0
  214. package/integration-tests/terminal-capture/scenarios/qc-code-review.ts +17 -0
  215. package/integration-tests/terminal-capture/scenarios/streaming-insight.ts +23 -0
  216. package/integration-tests/terminal-capture/scenarios/streaming-shell.ts +24 -0
  217. package/integration-tests/terminal-capture/terminal-capture.ts +856 -0
  218. package/integration-tests/test-helper.ts +863 -0
  219. package/integration-tests/test-mcp-server.ts +64 -0
  220. package/integration-tests/todo_write.test.ts +69 -0
  221. package/integration-tests/tsconfig.json +13 -0
  222. package/integration-tests/utf-bom-encoding.test.ts +218 -0
  223. package/integration-tests/vitest.config.ts +40 -0
  224. package/integration-tests/vitest.terminal-bench.config.ts +21 -0
  225. package/integration-tests/web_search.test.ts +122 -0
  226. package/integration-tests/write_file.test.ts +69 -0
  227. package/package.json +43 -0
  228. package/packages/cli/index.ts +30 -0
  229. package/packages/cli/package.json +112 -0
  230. package/packages/cli/src/acp-integration/acpAgent.ts +600 -0
  231. package/packages/cli/src/acp-integration/authMethods.ts +51 -0
  232. package/packages/cli/src/acp-integration/errorCodes.ts +25 -0
  233. package/packages/cli/src/acp-integration/service/filesystem.test.ts +182 -0
  234. package/packages/cli/src/acp-integration/service/filesystem.ts +108 -0
  235. package/packages/cli/src/acp-integration/session/HistoryReplayer.test.ts +477 -0
  236. package/packages/cli/src/acp-integration/session/HistoryReplayer.ts +234 -0
  237. package/packages/cli/src/acp-integration/session/Session.test.ts +245 -0
  238. package/packages/cli/src/acp-integration/session/Session.ts +1068 -0
  239. package/packages/cli/src/acp-integration/session/SubAgentTracker.test.ts +725 -0
  240. package/packages/cli/src/acp-integration/session/SubAgentTracker.ts +390 -0
  241. package/packages/cli/src/acp-integration/session/emitters/BaseEmitter.ts +52 -0
  242. package/packages/cli/src/acp-integration/session/emitters/MessageEmitter.test.ts +206 -0
  243. package/packages/cli/src/acp-integration/session/emitters/MessageEmitter.ts +124 -0
  244. package/packages/cli/src/acp-integration/session/emitters/PlanEmitter.test.ts +228 -0
  245. package/packages/cli/src/acp-integration/session/emitters/PlanEmitter.ts +96 -0
  246. package/packages/cli/src/acp-integration/session/emitters/ToolCallEmitter.test.ts +677 -0
  247. package/packages/cli/src/acp-integration/session/emitters/ToolCallEmitter.ts +328 -0
  248. package/packages/cli/src/acp-integration/session/emitters/index.ts +10 -0
  249. package/packages/cli/src/acp-integration/session/index.ts +40 -0
  250. package/packages/cli/src/acp-integration/session/types.ts +102 -0
  251. package/packages/cli/src/commands/extensions/consent.test.ts +327 -0
  252. package/packages/cli/src/commands/extensions/consent.ts +269 -0
  253. package/packages/cli/src/commands/extensions/disable.test.ts +145 -0
  254. package/packages/cli/src/commands/extensions/disable.ts +77 -0
  255. package/packages/cli/src/commands/extensions/enable.test.ts +133 -0
  256. package/packages/cli/src/commands/extensions/enable.ts +89 -0
  257. package/packages/cli/src/commands/extensions/examples/agent/agents/diary.md +87 -0
  258. package/packages/cli/src/commands/extensions/examples/agent/qwen-extension.json +4 -0
  259. package/packages/cli/src/commands/extensions/examples/commands/commands/fs/grep-code.md +3 -0
  260. package/packages/cli/src/commands/extensions/examples/commands/qwen-extension.json +4 -0
  261. package/packages/cli/src/commands/extensions/examples/context/QWEN.md +8 -0
  262. package/packages/cli/src/commands/extensions/examples/context/qwen-extension.json +4 -0
  263. package/packages/cli/src/commands/extensions/examples/mcp-server/example.ts +60 -0
  264. package/packages/cli/src/commands/extensions/examples/mcp-server/package.json +18 -0
  265. package/packages/cli/src/commands/extensions/examples/mcp-server/qwen-extension.json +11 -0
  266. package/packages/cli/src/commands/extensions/examples/mcp-server/tsconfig.json +13 -0
  267. package/packages/cli/src/commands/extensions/examples/skills/qwen-extension.json +4 -0
  268. package/packages/cli/src/commands/extensions/examples/skills/skills/synonyms/SKILL.md +48 -0
  269. package/packages/cli/src/commands/extensions/install.test.ts +228 -0
  270. package/packages/cli/src/commands/extensions/install.ts +131 -0
  271. package/packages/cli/src/commands/extensions/link.test.ts +99 -0
  272. package/packages/cli/src/commands/extensions/link.ts +66 -0
  273. package/packages/cli/src/commands/extensions/list.test.ts +103 -0
  274. package/packages/cli/src/commands/extensions/list.ts +42 -0
  275. package/packages/cli/src/commands/extensions/new.test.ts +91 -0
  276. package/packages/cli/src/commands/extensions/new.ts +110 -0
  277. package/packages/cli/src/commands/extensions/settings.test.ts +345 -0
  278. package/packages/cli/src/commands/extensions/settings.ts +152 -0
  279. package/packages/cli/src/commands/extensions/uninstall.test.ts +21 -0
  280. package/packages/cli/src/commands/extensions/uninstall.ts +71 -0
  281. package/packages/cli/src/commands/extensions/update.test.ts +260 -0
  282. package/packages/cli/src/commands/extensions/update.ts +155 -0
  283. package/packages/cli/src/commands/extensions/utils.test.ts +138 -0
  284. package/packages/cli/src/commands/extensions/utils.ts +98 -0
  285. package/packages/cli/src/commands/extensions.test.tsx +106 -0
  286. package/packages/cli/src/commands/extensions.tsx +38 -0
  287. package/packages/cli/src/commands/hooks/disable.ts +78 -0
  288. package/packages/cli/src/commands/hooks/enable.ts +78 -0
  289. package/packages/cli/src/commands/hooks.tsx +25 -0
  290. package/packages/cli/src/commands/mcp/add.test.ts +371 -0
  291. package/packages/cli/src/commands/mcp/add.ts +247 -0
  292. package/packages/cli/src/commands/mcp/list.test.ts +189 -0
  293. package/packages/cli/src/commands/mcp/list.ts +148 -0
  294. package/packages/cli/src/commands/mcp/remove.test.ts +115 -0
  295. package/packages/cli/src/commands/mcp/remove.ts +70 -0
  296. package/packages/cli/src/commands/mcp.test.ts +55 -0
  297. package/packages/cli/src/commands/mcp.ts +27 -0
  298. package/packages/cli/src/config/auth.test.ts +230 -0
  299. package/packages/cli/src/config/auth.ts +223 -0
  300. package/packages/cli/src/config/config.integration.test.ts +417 -0
  301. package/packages/cli/src/config/config.test.ts +2402 -0
  302. package/packages/cli/src/config/config.ts +1089 -0
  303. package/packages/cli/src/config/keyBindings.test.ts +59 -0
  304. package/packages/cli/src/config/keyBindings.ts +186 -0
  305. package/packages/cli/src/config/migration/index.test.ts +383 -0
  306. package/packages/cli/src/config/migration/index.ts +106 -0
  307. package/packages/cli/src/config/migration/scheduler.test.ts +164 -0
  308. package/packages/cli/src/config/migration/scheduler.ts +115 -0
  309. package/packages/cli/src/config/migration/types.ts +58 -0
  310. package/packages/cli/src/config/migration/versions/v1-to-v2-shared.ts +180 -0
  311. package/packages/cli/src/config/migration/versions/v1-to-v2.test.ts +277 -0
  312. package/packages/cli/src/config/migration/versions/v1-to-v2.ts +267 -0
  313. package/packages/cli/src/config/migration/versions/v2-to-v3.test.ts +598 -0
  314. package/packages/cli/src/config/migration/versions/v2-to-v3.ts +222 -0
  315. package/packages/cli/src/config/modelProvidersScope.test.ts +87 -0
  316. package/packages/cli/src/config/modelProvidersScope.ts +48 -0
  317. package/packages/cli/src/config/sandboxConfig.ts +105 -0
  318. package/packages/cli/src/config/settings.test.ts +2786 -0
  319. package/packages/cli/src/config/settings.ts +740 -0
  320. package/packages/cli/src/config/settingsSchema.test.ts +312 -0
  321. package/packages/cli/src/config/settingsSchema.ts +1277 -0
  322. package/packages/cli/src/config/trustedFolders.test.ts +429 -0
  323. package/packages/cli/src/config/trustedFolders.ts +239 -0
  324. package/packages/cli/src/config/webSearch.ts +121 -0
  325. package/packages/cli/src/constants/codingPlan.ts +321 -0
  326. package/packages/cli/src/core/auth.ts +48 -0
  327. package/packages/cli/src/core/initializer.ts +74 -0
  328. package/packages/cli/src/core/theme.ts +24 -0
  329. package/packages/cli/src/gemini.test.tsx +691 -0
  330. package/packages/cli/src/gemini.tsx +512 -0
  331. package/packages/cli/src/i18n/index.ts +257 -0
  332. package/packages/cli/src/i18n/languages.ts +98 -0
  333. package/packages/cli/src/i18n/locales/de.js +1613 -0
  334. package/packages/cli/src/i18n/locales/en.js +1665 -0
  335. package/packages/cli/src/i18n/locales/ja.js +1117 -0
  336. package/packages/cli/src/i18n/locales/pt.js +1608 -0
  337. package/packages/cli/src/i18n/locales/ru.js +1620 -0
  338. package/packages/cli/src/i18n/locales/zh.js +1485 -0
  339. package/packages/cli/src/nonInteractive/control/ControlContext.ts +79 -0
  340. package/packages/cli/src/nonInteractive/control/ControlDispatcher.test.ts +1010 -0
  341. package/packages/cli/src/nonInteractive/control/ControlDispatcher.ts +432 -0
  342. package/packages/cli/src/nonInteractive/control/ControlService.ts +179 -0
  343. package/packages/cli/src/nonInteractive/control/controllers/baseController.ts +226 -0
  344. package/packages/cli/src/nonInteractive/control/controllers/hookController.ts +56 -0
  345. package/packages/cli/src/nonInteractive/control/controllers/permissionController.ts +495 -0
  346. package/packages/cli/src/nonInteractive/control/controllers/sdkMcpController.ts +134 -0
  347. package/packages/cli/src/nonInteractive/control/controllers/systemController.ts +419 -0
  348. package/packages/cli/src/nonInteractive/control/types/serviceAPIs.ts +117 -0
  349. package/packages/cli/src/nonInteractive/io/BaseJsonOutputAdapter.test.ts +1652 -0
  350. package/packages/cli/src/nonInteractive/io/BaseJsonOutputAdapter.ts +1339 -0
  351. package/packages/cli/src/nonInteractive/io/JsonOutputAdapter.test.ts +865 -0
  352. package/packages/cli/src/nonInteractive/io/JsonOutputAdapter.ts +89 -0
  353. package/packages/cli/src/nonInteractive/io/StreamJsonInputReader.test.ts +215 -0
  354. package/packages/cli/src/nonInteractive/io/StreamJsonInputReader.ts +73 -0
  355. package/packages/cli/src/nonInteractive/io/StreamJsonOutputAdapter.test.ts +1168 -0
  356. package/packages/cli/src/nonInteractive/io/StreamJsonOutputAdapter.ts +330 -0
  357. package/packages/cli/src/nonInteractive/session.test.ts +577 -0
  358. package/packages/cli/src/nonInteractive/session.ts +626 -0
  359. package/packages/cli/src/nonInteractive/types.ts +578 -0
  360. package/packages/cli/src/nonInteractiveCli.test.ts +1814 -0
  361. package/packages/cli/src/nonInteractiveCli.ts +420 -0
  362. package/packages/cli/src/nonInteractiveCliCommands.test.ts +242 -0
  363. package/packages/cli/src/nonInteractiveCliCommands.ts +386 -0
  364. package/packages/cli/src/patches/is-in-ci.ts +17 -0
  365. package/packages/cli/src/patches/termux-runtime.ts +50 -0
  366. package/packages/cli/src/services/BuiltinCommandLoader.test.ts +187 -0
  367. package/packages/cli/src/services/BuiltinCommandLoader.ts +101 -0
  368. package/packages/cli/src/services/CommandService.test.ts +348 -0
  369. package/packages/cli/src/services/CommandService.ts +106 -0
  370. package/packages/cli/src/services/FileCommandLoader-extension.test.ts +343 -0
  371. package/packages/cli/src/services/FileCommandLoader-markdown.test.ts +141 -0
  372. package/packages/cli/src/services/FileCommandLoader.test.ts +1254 -0
  373. package/packages/cli/src/services/FileCommandLoader.ts +363 -0
  374. package/packages/cli/src/services/McpPromptLoader.test.ts +399 -0
  375. package/packages/cli/src/services/McpPromptLoader.ts +305 -0
  376. package/packages/cli/src/services/command-factory.ts +157 -0
  377. package/packages/cli/src/services/command-migration-tool.test.ts +254 -0
  378. package/packages/cli/src/services/command-migration-tool.ts +173 -0
  379. package/packages/cli/src/services/insight/generators/DataProcessor.test.ts +1217 -0
  380. package/packages/cli/src/services/insight/generators/DataProcessor.ts +1131 -0
  381. package/packages/cli/src/services/insight/generators/StaticInsightGenerator.ts +93 -0
  382. package/packages/cli/src/services/insight/generators/TemplateRenderer.ts +52 -0
  383. package/packages/cli/src/services/insight/types/QualitativeInsightTypes.ts +82 -0
  384. package/packages/cli/src/services/insight/types/StaticInsightTypes.ts +90 -0
  385. package/packages/cli/src/services/markdown-command-parser.test.ts +189 -0
  386. package/packages/cli/src/services/markdown-command-parser.ts +69 -0
  387. package/packages/cli/src/services/prompt-processors/argumentProcessor.test.ts +43 -0
  388. package/packages/cli/src/services/prompt-processors/argumentProcessor.ts +27 -0
  389. package/packages/cli/src/services/prompt-processors/atFileProcessor.test.ts +221 -0
  390. package/packages/cli/src/services/prompt-processors/atFileProcessor.ts +99 -0
  391. package/packages/cli/src/services/prompt-processors/injectionParser.test.ts +223 -0
  392. package/packages/cli/src/services/prompt-processors/injectionParser.ts +89 -0
  393. package/packages/cli/src/services/prompt-processors/shellProcessor.test.ts +741 -0
  394. package/packages/cli/src/services/prompt-processors/shellProcessor.ts +233 -0
  395. package/packages/cli/src/services/prompt-processors/types.ts +54 -0
  396. package/packages/cli/src/services/test-commands/example.md +5 -0
  397. package/packages/cli/src/services/types.ts +24 -0
  398. package/packages/cli/src/test-utils/customMatchers.ts +66 -0
  399. package/packages/cli/src/test-utils/mockCommandContext.test.ts +62 -0
  400. package/packages/cli/src/test-utils/mockCommandContext.ts +119 -0
  401. package/packages/cli/src/test-utils/render.tsx +47 -0
  402. package/packages/cli/src/ui/App.test.tsx +160 -0
  403. package/packages/cli/src/ui/App.tsx +27 -0
  404. package/packages/cli/src/ui/AppContainer.test.tsx +1124 -0
  405. package/packages/cli/src/ui/AppContainer.tsx +1647 -0
  406. package/packages/cli/src/ui/CommandFormatMigrationNudge.tsx +94 -0
  407. package/packages/cli/src/ui/FeedbackDialog.tsx +75 -0
  408. package/packages/cli/src/ui/IdeIntegrationNudge.tsx +103 -0
  409. package/packages/cli/src/ui/auth/AuthDialog.test.tsx +558 -0
  410. package/packages/cli/src/ui/auth/AuthDialog.tsx +396 -0
  411. package/packages/cli/src/ui/auth/AuthInProgress.tsx +64 -0
  412. package/packages/cli/src/ui/auth/useAuth.ts +478 -0
  413. package/packages/cli/src/ui/colors.ts +62 -0
  414. package/packages/cli/src/ui/commands/aboutCommand.test.ts +283 -0
  415. package/packages/cli/src/ui/commands/aboutCommand.ts +30 -0
  416. package/packages/cli/src/ui/commands/agentsCommand.ts +44 -0
  417. package/packages/cli/src/ui/commands/approvalModeCommand.test.ts +175 -0
  418. package/packages/cli/src/ui/commands/approvalModeCommand.ts +83 -0
  419. package/packages/cli/src/ui/commands/authCommand.test.ts +38 -0
  420. package/packages/cli/src/ui/commands/authCommand.ts +22 -0
  421. package/packages/cli/src/ui/commands/bugCommand.test.ts +166 -0
  422. package/packages/cli/src/ui/commands/bugCommand.ts +68 -0
  423. package/packages/cli/src/ui/commands/clearCommand.test.ts +100 -0
  424. package/packages/cli/src/ui/commands/clearCommand.ts +49 -0
  425. package/packages/cli/src/ui/commands/compressCommand.test.ts +134 -0
  426. package/packages/cli/src/ui/commands/compressCommand.ts +175 -0
  427. package/packages/cli/src/ui/commands/copyCommand.test.ts +304 -0
  428. package/packages/cli/src/ui/commands/copyCommand.ts +67 -0
  429. package/packages/cli/src/ui/commands/directoryCommand.test.tsx +183 -0
  430. package/packages/cli/src/ui/commands/directoryCommand.tsx +207 -0
  431. package/packages/cli/src/ui/commands/docsCommand.test.ts +99 -0
  432. package/packages/cli/src/ui/commands/docsCommand.ts +53 -0
  433. package/packages/cli/src/ui/commands/editorCommand.test.ts +30 -0
  434. package/packages/cli/src/ui/commands/editorCommand.ts +24 -0
  435. package/packages/cli/src/ui/commands/exportCommand.test.ts +383 -0
  436. package/packages/cli/src/ui/commands/exportCommand.ts +347 -0
  437. package/packages/cli/src/ui/commands/extensionsCommand.test.ts +213 -0
  438. package/packages/cli/src/ui/commands/extensionsCommand.ts +255 -0
  439. package/packages/cli/src/ui/commands/helpCommand.test.ts +52 -0
  440. package/packages/cli/src/ui/commands/helpCommand.ts +27 -0
  441. package/packages/cli/src/ui/commands/hooksCommand.ts +322 -0
  442. package/packages/cli/src/ui/commands/ideCommand.test.ts +264 -0
  443. package/packages/cli/src/ui/commands/ideCommand.ts +335 -0
  444. package/packages/cli/src/ui/commands/initCommand.test.ts +169 -0
  445. package/packages/cli/src/ui/commands/initCommand.ts +134 -0
  446. package/packages/cli/src/ui/commands/insightCommand.ts +132 -0
  447. package/packages/cli/src/ui/commands/languageCommand.test.ts +848 -0
  448. package/packages/cli/src/ui/commands/languageCommand.ts +374 -0
  449. package/packages/cli/src/ui/commands/mcpCommand.test.ts +153 -0
  450. package/packages/cli/src/ui/commands/mcpCommand.ts +21 -0
  451. package/packages/cli/src/ui/commands/memoryCommand.test.ts +411 -0
  452. package/packages/cli/src/ui/commands/memoryCommand.ts +347 -0
  453. package/packages/cli/src/ui/commands/modelCommand.test.ts +140 -0
  454. package/packages/cli/src/ui/commands/modelCommand.ts +59 -0
  455. package/packages/cli/src/ui/commands/permissionsCommand.test.ts +35 -0
  456. package/packages/cli/src/ui/commands/permissionsCommand.ts +21 -0
  457. package/packages/cli/src/ui/commands/quitCommand.test.ts +55 -0
  458. package/packages/cli/src/ui/commands/quitCommand.ts +39 -0
  459. package/packages/cli/src/ui/commands/restoreCommand.test.ts +255 -0
  460. package/packages/cli/src/ui/commands/restoreCommand.ts +153 -0
  461. package/packages/cli/src/ui/commands/resumeCommand.test.ts +38 -0
  462. package/packages/cli/src/ui/commands/resumeCommand.ts +21 -0
  463. package/packages/cli/src/ui/commands/settingsCommand.test.ts +36 -0
  464. package/packages/cli/src/ui/commands/settingsCommand.ts +21 -0
  465. package/packages/cli/src/ui/commands/setupGithubCommand.test.ts +231 -0
  466. package/packages/cli/src/ui/commands/setupGithubCommand.ts +225 -0
  467. package/packages/cli/src/ui/commands/skillsCommand.ts +135 -0
  468. package/packages/cli/src/ui/commands/statsCommand.test.ts +78 -0
  469. package/packages/cli/src/ui/commands/statsCommand.ts +78 -0
  470. package/packages/cli/src/ui/commands/summaryCommand.ts +323 -0
  471. package/packages/cli/src/ui/commands/terminalSetupCommand.test.ts +85 -0
  472. package/packages/cli/src/ui/commands/terminalSetupCommand.ts +53 -0
  473. package/packages/cli/src/ui/commands/themeCommand.test.ts +38 -0
  474. package/packages/cli/src/ui/commands/themeCommand.ts +21 -0
  475. package/packages/cli/src/ui/commands/toolsCommand.test.ts +114 -0
  476. package/packages/cli/src/ui/commands/toolsCommand.ts +58 -0
  477. package/packages/cli/src/ui/commands/types.ts +254 -0
  478. package/packages/cli/src/ui/commands/vimCommand.ts +29 -0
  479. package/packages/cli/src/ui/components/AboutBox.tsx +52 -0
  480. package/packages/cli/src/ui/components/AnsiOutput.test.tsx +106 -0
  481. package/packages/cli/src/ui/components/AnsiOutput.tsx +50 -0
  482. package/packages/cli/src/ui/components/ApiKeyInput.tsx +95 -0
  483. package/packages/cli/src/ui/components/AppHeader.test.tsx +94 -0
  484. package/packages/cli/src/ui/components/AppHeader.tsx +76 -0
  485. package/packages/cli/src/ui/components/ApprovalModeDialog.tsx +182 -0
  486. package/packages/cli/src/ui/components/AsciiArt.ts +14 -0
  487. package/packages/cli/src/ui/components/AutoAcceptIndicator.tsx +58 -0
  488. package/packages/cli/src/ui/components/Composer.test.tsx +347 -0
  489. package/packages/cli/src/ui/components/Composer.tsx +116 -0
  490. package/packages/cli/src/ui/components/ConfigInitDisplay.tsx +56 -0
  491. package/packages/cli/src/ui/components/ConsentPrompt.test.tsx +119 -0
  492. package/packages/cli/src/ui/components/ConsentPrompt.tsx +51 -0
  493. package/packages/cli/src/ui/components/ContextSummaryDisplay.test.tsx +85 -0
  494. package/packages/cli/src/ui/components/ContextSummaryDisplay.tsx +143 -0
  495. package/packages/cli/src/ui/components/ContextUsageDisplay.tsx +34 -0
  496. package/packages/cli/src/ui/components/DebugModeNotification.tsx +39 -0
  497. package/packages/cli/src/ui/components/DebugProfiler.tsx +36 -0
  498. package/packages/cli/src/ui/components/DialogManager.tsx +321 -0
  499. package/packages/cli/src/ui/components/EditorSettingsDialog.tsx +195 -0
  500. package/packages/cli/src/ui/components/ExitWarning.tsx +29 -0
  501. package/packages/cli/src/ui/components/FolderTrustDialog.test.tsx +129 -0
  502. package/packages/cli/src/ui/components/FolderTrustDialog.tsx +110 -0
  503. package/packages/cli/src/ui/components/Footer.test.tsx +98 -0
  504. package/packages/cli/src/ui/components/Footer.tsx +124 -0
  505. package/packages/cli/src/ui/components/GeminiRespondingSpinner.tsx +67 -0
  506. package/packages/cli/src/ui/components/Header.test.tsx +84 -0
  507. package/packages/cli/src/ui/components/Header.tsx +158 -0
  508. package/packages/cli/src/ui/components/Help.test.tsx +83 -0
  509. package/packages/cli/src/ui/components/Help.tsx +188 -0
  510. package/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx +287 -0
  511. package/packages/cli/src/ui/components/HistoryItemDisplay.tsx +202 -0
  512. package/packages/cli/src/ui/components/IdeTrustChangeDialog.test.tsx +85 -0
  513. package/packages/cli/src/ui/components/IdeTrustChangeDialog.tsx +50 -0
  514. package/packages/cli/src/ui/components/InputPrompt.test.tsx +2579 -0
  515. package/packages/cli/src/ui/components/InputPrompt.tsx +1203 -0
  516. package/packages/cli/src/ui/components/KeyboardShortcuts.tsx +124 -0
  517. package/packages/cli/src/ui/components/LoadingIndicator.test.tsx +311 -0
  518. package/packages/cli/src/ui/components/LoadingIndicator.tsx +90 -0
  519. package/packages/cli/src/ui/components/LoopDetectionConfirmation.test.tsx +39 -0
  520. package/packages/cli/src/ui/components/LoopDetectionConfirmation.tsx +97 -0
  521. package/packages/cli/src/ui/components/MainContent.tsx +80 -0
  522. package/packages/cli/src/ui/components/MemoryUsageDisplay.tsx +41 -0
  523. package/packages/cli/src/ui/components/ModelDialog.test.tsx +399 -0
  524. package/packages/cli/src/ui/components/ModelDialog.tsx +460 -0
  525. package/packages/cli/src/ui/components/ModelStatsDisplay.test.tsx +252 -0
  526. package/packages/cli/src/ui/components/ModelStatsDisplay.tsx +217 -0
  527. package/packages/cli/src/ui/components/Notifications.tsx +58 -0
  528. package/packages/cli/src/ui/components/PermissionsModifyTrustDialog.test.tsx +199 -0
  529. package/packages/cli/src/ui/components/PermissionsModifyTrustDialog.tsx +125 -0
  530. package/packages/cli/src/ui/components/PlanSummaryDisplay.tsx +41 -0
  531. package/packages/cli/src/ui/components/PluginChoicePrompt.test.tsx +243 -0
  532. package/packages/cli/src/ui/components/PluginChoicePrompt.tsx +195 -0
  533. package/packages/cli/src/ui/components/PrepareLabel.test.tsx +123 -0
  534. package/packages/cli/src/ui/components/PrepareLabel.tsx +116 -0
  535. package/packages/cli/src/ui/components/QueuedMessageDisplay.test.tsx +76 -0
  536. package/packages/cli/src/ui/components/QueuedMessageDisplay.tsx +47 -0
  537. package/packages/cli/src/ui/components/QuittingDisplay.tsx +39 -0
  538. package/packages/cli/src/ui/components/QwenOAuthProgress.test.tsx +611 -0
  539. package/packages/cli/src/ui/components/QwenOAuthProgress.tsx +316 -0
  540. package/packages/cli/src/ui/components/SessionPicker.tsx +251 -0
  541. package/packages/cli/src/ui/components/SessionSummaryDisplay.test.tsx +154 -0
  542. package/packages/cli/src/ui/components/SessionSummaryDisplay.tsx +51 -0
  543. package/packages/cli/src/ui/components/SettingInputPrompt.test.tsx +133 -0
  544. package/packages/cli/src/ui/components/SettingInputPrompt.tsx +157 -0
  545. package/packages/cli/src/ui/components/SettingsDialog.test.tsx +1638 -0
  546. package/packages/cli/src/ui/components/SettingsDialog.tsx +900 -0
  547. package/packages/cli/src/ui/components/ShellConfirmationDialog.test.tsx +53 -0
  548. package/packages/cli/src/ui/components/ShellConfirmationDialog.tsx +109 -0
  549. package/packages/cli/src/ui/components/ShellInputPrompt.tsx +57 -0
  550. package/packages/cli/src/ui/components/ShellModeIndicator.tsx +18 -0
  551. package/packages/cli/src/ui/components/ShowMoreLines.tsx +40 -0
  552. package/packages/cli/src/ui/components/StandaloneSessionPicker.test.tsx +624 -0
  553. package/packages/cli/src/ui/components/StandaloneSessionPicker.tsx +129 -0
  554. package/packages/cli/src/ui/components/StatsDisplay.test.tsx +401 -0
  555. package/packages/cli/src/ui/components/StatsDisplay.tsx +298 -0
  556. package/packages/cli/src/ui/components/SuggestionsDisplay.tsx +131 -0
  557. package/packages/cli/src/ui/components/ThemeDialog.test.tsx +108 -0
  558. package/packages/cli/src/ui/components/ThemeDialog.tsx +287 -0
  559. package/packages/cli/src/ui/components/Tips.test.ts +62 -0
  560. package/packages/cli/src/ui/components/Tips.tsx +62 -0
  561. package/packages/cli/src/ui/components/TodoDisplay.test.tsx +98 -0
  562. package/packages/cli/src/ui/components/TodoDisplay.tsx +72 -0
  563. package/packages/cli/src/ui/components/ToolStatsDisplay.test.tsx +180 -0
  564. package/packages/cli/src/ui/components/ToolStatsDisplay.tsx +234 -0
  565. package/packages/cli/src/ui/components/UpdateNotification.tsx +23 -0
  566. package/packages/cli/src/ui/components/WelcomeBackDialog.tsx +134 -0
  567. package/packages/cli/src/ui/components/__snapshots__/Footer.test.tsx.snap +5 -0
  568. package/packages/cli/src/ui/components/__snapshots__/HistoryItemDisplay.test.tsx.snap +139 -0
  569. package/packages/cli/src/ui/components/__snapshots__/IDEContextDetailDisplay.test.tsx.snap +24 -0
  570. package/packages/cli/src/ui/components/__snapshots__/InputPrompt.test.tsx.snap +57 -0
  571. package/packages/cli/src/ui/components/__snapshots__/LoadingIndicator.test.tsx.snap +6 -0
  572. package/packages/cli/src/ui/components/__snapshots__/LoopDetectionConfirmation.test.tsx.snap +16 -0
  573. package/packages/cli/src/ui/components/__snapshots__/ModelStatsDisplay.test.tsx.snap +121 -0
  574. package/packages/cli/src/ui/components/__snapshots__/PrepareLabel.test.tsx.snap +25 -0
  575. package/packages/cli/src/ui/components/__snapshots__/SessionSummaryDisplay.test.tsx.snap +32 -0
  576. package/packages/cli/src/ui/components/__snapshots__/SettingsDialog.test.tsx.snap +211 -0
  577. package/packages/cli/src/ui/components/__snapshots__/ShellConfirmationDialog.test.tsx.snap +21 -0
  578. package/packages/cli/src/ui/components/__snapshots__/StatsDisplay.test.tsx.snap +264 -0
  579. package/packages/cli/src/ui/components/__snapshots__/ThemeDialog.test.tsx.snap +38 -0
  580. package/packages/cli/src/ui/components/__snapshots__/ToolStatsDisplay.test.tsx.snap +91 -0
  581. package/packages/cli/src/ui/components/extensions/ExtensionsManagerDialog.test.tsx +153 -0
  582. package/packages/cli/src/ui/components/extensions/ExtensionsManagerDialog.tsx +530 -0
  583. package/packages/cli/src/ui/components/extensions/__snapshots__/ExtensionsManagerDialog.test.tsx.snap +45 -0
  584. package/packages/cli/src/ui/components/extensions/index.ts +9 -0
  585. package/packages/cli/src/ui/components/extensions/steps/ActionSelectionStep.test.tsx +109 -0
  586. package/packages/cli/src/ui/components/extensions/steps/ActionSelectionStep.tsx +102 -0
  587. package/packages/cli/src/ui/components/extensions/steps/ExtensionDetailStep.tsx +128 -0
  588. package/packages/cli/src/ui/components/extensions/steps/ExtensionListStep.test.tsx +134 -0
  589. package/packages/cli/src/ui/components/extensions/steps/ExtensionListStep.tsx +177 -0
  590. package/packages/cli/src/ui/components/extensions/steps/ScopeSelectStep.tsx +70 -0
  591. package/packages/cli/src/ui/components/extensions/steps/UninstallConfirmStep.tsx +65 -0
  592. package/packages/cli/src/ui/components/extensions/steps/__snapshots__/ActionSelectionStep.test.tsx.snap +33 -0
  593. package/packages/cli/src/ui/components/extensions/steps/__snapshots__/ExtensionListStep.test.tsx.snap +32 -0
  594. package/packages/cli/src/ui/components/extensions/steps/index.ts +11 -0
  595. package/packages/cli/src/ui/components/extensions/types.ts +89 -0
  596. package/packages/cli/src/ui/components/mcp/MCPManagementDialog.tsx +680 -0
  597. package/packages/cli/src/ui/components/mcp/constants.ts +47 -0
  598. package/packages/cli/src/ui/components/mcp/index.ts +30 -0
  599. package/packages/cli/src/ui/components/mcp/steps/AuthenticateStep.tsx +164 -0
  600. package/packages/cli/src/ui/components/mcp/steps/DisableScopeSelectStep.tsx +88 -0
  601. package/packages/cli/src/ui/components/mcp/steps/ServerDetailStep.tsx +233 -0
  602. package/packages/cli/src/ui/components/mcp/steps/ServerListStep.tsx +176 -0
  603. package/packages/cli/src/ui/components/mcp/steps/ToolDetailStep.tsx +139 -0
  604. package/packages/cli/src/ui/components/mcp/steps/ToolListStep.tsx +146 -0
  605. package/packages/cli/src/ui/components/mcp/types.ts +195 -0
  606. package/packages/cli/src/ui/components/mcp/utils.test.ts +159 -0
  607. package/packages/cli/src/ui/components/mcp/utils.ts +129 -0
  608. package/packages/cli/src/ui/components/messages/AskUserQuestionDialog.test.tsx +883 -0
  609. package/packages/cli/src/ui/components/messages/AskUserQuestionDialog.tsx +572 -0
  610. package/packages/cli/src/ui/components/messages/CompressionMessage.test.tsx +198 -0
  611. package/packages/cli/src/ui/components/messages/CompressionMessage.tsx +90 -0
  612. package/packages/cli/src/ui/components/messages/ConversationMessages.tsx +261 -0
  613. package/packages/cli/src/ui/components/messages/DiffRenderer.test.tsx +479 -0
  614. package/packages/cli/src/ui/components/messages/DiffRenderer.tsx +380 -0
  615. package/packages/cli/src/ui/components/messages/InsightProgressMessage.tsx +59 -0
  616. package/packages/cli/src/ui/components/messages/StatusMessages.tsx +105 -0
  617. package/packages/cli/src/ui/components/messages/SummaryMessage.tsx +59 -0
  618. package/packages/cli/src/ui/components/messages/ToolConfirmationMessage.test.tsx +250 -0
  619. package/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx +437 -0
  620. package/packages/cli/src/ui/components/messages/ToolGroupMessage.test.tsx +360 -0
  621. package/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx +151 -0
  622. package/packages/cli/src/ui/components/messages/ToolMessage.test.tsx +303 -0
  623. package/packages/cli/src/ui/components/messages/ToolMessage.tsx +498 -0
  624. package/packages/cli/src/ui/components/messages/__snapshots__/ToolGroupMessage.test.tsx.snap +108 -0
  625. package/packages/cli/src/ui/components/shared/BaseSelectionList.test.tsx +534 -0
  626. package/packages/cli/src/ui/components/shared/BaseSelectionList.tsx +182 -0
  627. package/packages/cli/src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx +97 -0
  628. package/packages/cli/src/ui/components/shared/DescriptiveRadioButtonSelect.tsx +74 -0
  629. package/packages/cli/src/ui/components/shared/EnumSelector.test.tsx +152 -0
  630. package/packages/cli/src/ui/components/shared/EnumSelector.tsx +87 -0
  631. package/packages/cli/src/ui/components/shared/MaxSizedBox.test.tsx +425 -0
  632. package/packages/cli/src/ui/components/shared/MaxSizedBox.tsx +628 -0
  633. package/packages/cli/src/ui/components/shared/RadioButtonSelect.test.tsx +198 -0
  634. package/packages/cli/src/ui/components/shared/RadioButtonSelect.tsx +91 -0
  635. package/packages/cli/src/ui/components/shared/ScopeSelector.tsx +59 -0
  636. package/packages/cli/src/ui/components/shared/TextInput.tsx +197 -0
  637. package/packages/cli/src/ui/components/shared/__snapshots__/DescriptiveRadioButtonSelect.test.tsx.snap +21 -0
  638. package/packages/cli/src/ui/components/shared/__snapshots__/EnumSelector.test.tsx.snap +9 -0
  639. package/packages/cli/src/ui/components/shared/text-buffer.test.ts +1951 -0
  640. package/packages/cli/src/ui/components/shared/text-buffer.ts +2371 -0
  641. package/packages/cli/src/ui/components/shared/vim-buffer-actions.test.ts +1119 -0
  642. package/packages/cli/src/ui/components/shared/vim-buffer-actions.ts +813 -0
  643. package/packages/cli/src/ui/components/subagents/constants.ts +71 -0
  644. package/packages/cli/src/ui/components/subagents/create/AgentCreationWizard.tsx +299 -0
  645. package/packages/cli/src/ui/components/subagents/create/ColorSelector.tsx +85 -0
  646. package/packages/cli/src/ui/components/subagents/create/CreationSummary.tsx +331 -0
  647. package/packages/cli/src/ui/components/subagents/create/DescriptionInput.tsx +177 -0
  648. package/packages/cli/src/ui/components/subagents/create/GenerationMethodSelector.tsx +63 -0
  649. package/packages/cli/src/ui/components/subagents/create/LocationSelector.tsx +58 -0
  650. package/packages/cli/src/ui/components/subagents/create/TextEntryStep.tsx +78 -0
  651. package/packages/cli/src/ui/components/subagents/create/ToolSelector.tsx +253 -0
  652. package/packages/cli/src/ui/components/subagents/index.ts +14 -0
  653. package/packages/cli/src/ui/components/subagents/manage/ActionSelectionStep.tsx +103 -0
  654. package/packages/cli/src/ui/components/subagents/manage/AgentDeleteStep.tsx +62 -0
  655. package/packages/cli/src/ui/components/subagents/manage/AgentEditStep.tsx +124 -0
  656. package/packages/cli/src/ui/components/subagents/manage/AgentSelectionStep.tsx +449 -0
  657. package/packages/cli/src/ui/components/subagents/manage/AgentViewerStep.tsx +66 -0
  658. package/packages/cli/src/ui/components/subagents/manage/AgentsManagerDialog.tsx +341 -0
  659. package/packages/cli/src/ui/components/subagents/reducers.tsx +190 -0
  660. package/packages/cli/src/ui/components/subagents/runtime/AgentExecutionDisplay.tsx +550 -0
  661. package/packages/cli/src/ui/components/subagents/types.ts +133 -0
  662. package/packages/cli/src/ui/components/subagents/utils.ts +102 -0
  663. package/packages/cli/src/ui/components/views/ExtensionsList.test.tsx +100 -0
  664. package/packages/cli/src/ui/components/views/ExtensionsList.tsx +80 -0
  665. package/packages/cli/src/ui/components/views/McpStatus.test.tsx +163 -0
  666. package/packages/cli/src/ui/components/views/McpStatus.tsx +298 -0
  667. package/packages/cli/src/ui/components/views/SkillsList.tsx +36 -0
  668. package/packages/cli/src/ui/components/views/ToolsList.test.tsx +58 -0
  669. package/packages/cli/src/ui/components/views/ToolsList.tsx +53 -0
  670. package/packages/cli/src/ui/components/views/__snapshots__/McpStatus.test.tsx.snap +166 -0
  671. package/packages/cli/src/ui/components/views/__snapshots__/ToolsList.test.tsx.snap +29 -0
  672. package/packages/cli/src/ui/constants.ts +29 -0
  673. package/packages/cli/src/ui/contexts/AppContext.tsx +22 -0
  674. package/packages/cli/src/ui/contexts/ConfigContext.tsx +18 -0
  675. package/packages/cli/src/ui/contexts/KeypressContext.test.tsx +1756 -0
  676. package/packages/cli/src/ui/contexts/KeypressContext.tsx +932 -0
  677. package/packages/cli/src/ui/contexts/OverflowContext.tsx +88 -0
  678. package/packages/cli/src/ui/contexts/SessionContext.test.tsx +221 -0
  679. package/packages/cli/src/ui/contexts/SessionContext.tsx +281 -0
  680. package/packages/cli/src/ui/contexts/SettingsContext.tsx +20 -0
  681. package/packages/cli/src/ui/contexts/ShellFocusContext.tsx +11 -0
  682. package/packages/cli/src/ui/contexts/StreamingContext.tsx +22 -0
  683. package/packages/cli/src/ui/contexts/UIActionsContext.tsx +100 -0
  684. package/packages/cli/src/ui/contexts/UIStateContext.tsx +144 -0
  685. package/packages/cli/src/ui/contexts/VimModeContext.tsx +80 -0
  686. package/packages/cli/src/ui/editors/editorSettingsManager.ts +67 -0
  687. package/packages/cli/src/ui/hooks/atCommandProcessor.test.ts +1136 -0
  688. package/packages/cli/src/ui/hooks/atCommandProcessor.ts +434 -0
  689. package/packages/cli/src/ui/hooks/keyToAnsi.ts +77 -0
  690. package/packages/cli/src/ui/hooks/shellCommandProcessor.test.ts +723 -0
  691. package/packages/cli/src/ui/hooks/shellCommandProcessor.ts +382 -0
  692. package/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts +1083 -0
  693. package/packages/cli/src/ui/hooks/slashCommandProcessor.ts +714 -0
  694. package/packages/cli/src/ui/hooks/useAgentsManagerDialog.ts +32 -0
  695. package/packages/cli/src/ui/hooks/useApprovalModeCommand.ts +57 -0
  696. package/packages/cli/src/ui/hooks/useAtCompletion.test.ts +508 -0
  697. package/packages/cli/src/ui/hooks/useAtCompletion.ts +239 -0
  698. package/packages/cli/src/ui/hooks/useAttentionNotifications.test.ts +199 -0
  699. package/packages/cli/src/ui/hooks/useAttentionNotifications.ts +71 -0
  700. package/packages/cli/src/ui/hooks/useAutoAcceptIndicator.test.ts +561 -0
  701. package/packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts +85 -0
  702. package/packages/cli/src/ui/hooks/useBracketedPaste.ts +37 -0
  703. package/packages/cli/src/ui/hooks/useCodingPlanUpdates.test.ts +658 -0
  704. package/packages/cli/src/ui/hooks/useCodingPlanUpdates.ts +233 -0
  705. package/packages/cli/src/ui/hooks/useCommandCompletion.test.ts +517 -0
  706. package/packages/cli/src/ui/hooks/useCommandCompletion.tsx +243 -0
  707. package/packages/cli/src/ui/hooks/useCommandMigration.ts +51 -0
  708. package/packages/cli/src/ui/hooks/useCompletion.ts +126 -0
  709. package/packages/cli/src/ui/hooks/useDialogClose.ts +103 -0
  710. package/packages/cli/src/ui/hooks/useEditorSettings.test.ts +284 -0
  711. package/packages/cli/src/ui/hooks/useEditorSettings.ts +75 -0
  712. package/packages/cli/src/ui/hooks/useExtensionUpdates.test.ts +608 -0
  713. package/packages/cli/src/ui/hooks/useExtensionUpdates.ts +340 -0
  714. package/packages/cli/src/ui/hooks/useExtensionsManagerDialog.ts +33 -0
  715. package/packages/cli/src/ui/hooks/useFeedbackDialog.ts +206 -0
  716. package/packages/cli/src/ui/hooks/useFocus.test.ts +145 -0
  717. package/packages/cli/src/ui/hooks/useFocus.ts +62 -0
  718. package/packages/cli/src/ui/hooks/useFolderTrust.test.ts +211 -0
  719. package/packages/cli/src/ui/hooks/useFolderTrust.ts +80 -0
  720. package/packages/cli/src/ui/hooks/useGeminiStream.test.tsx +2946 -0
  721. package/packages/cli/src/ui/hooks/useGeminiStream.ts +1625 -0
  722. package/packages/cli/src/ui/hooks/useGitBranchName.test.ts +238 -0
  723. package/packages/cli/src/ui/hooks/useGitBranchName.ts +78 -0
  724. package/packages/cli/src/ui/hooks/useHistoryManager.test.ts +202 -0
  725. package/packages/cli/src/ui/hooks/useHistoryManager.ts +111 -0
  726. package/packages/cli/src/ui/hooks/useIdeTrustListener.test.ts +226 -0
  727. package/packages/cli/src/ui/hooks/useIdeTrustListener.ts +90 -0
  728. package/packages/cli/src/ui/hooks/useInitializationAuthError.ts +47 -0
  729. package/packages/cli/src/ui/hooks/useInputHistory.test.ts +261 -0
  730. package/packages/cli/src/ui/hooks/useInputHistory.ts +111 -0
  731. package/packages/cli/src/ui/hooks/useInputHistoryStore.test.ts +293 -0
  732. package/packages/cli/src/ui/hooks/useInputHistoryStore.ts +118 -0
  733. package/packages/cli/src/ui/hooks/useKeypress.test.ts +314 -0
  734. package/packages/cli/src/ui/hooks/useKeypress.ts +36 -0
  735. package/packages/cli/src/ui/hooks/useKittyKeyboardProtocol.ts +31 -0
  736. package/packages/cli/src/ui/hooks/useLaunchEditor.ts +125 -0
  737. package/packages/cli/src/ui/hooks/useLoadingIndicator.test.ts +136 -0
  738. package/packages/cli/src/ui/hooks/useLoadingIndicator.ts +61 -0
  739. package/packages/cli/src/ui/hooks/useLogger.ts +37 -0
  740. package/packages/cli/src/ui/hooks/useMcpDialog.ts +31 -0
  741. package/packages/cli/src/ui/hooks/useMemoryMonitor.test.ts +71 -0
  742. package/packages/cli/src/ui/hooks/useMemoryMonitor.ts +41 -0
  743. package/packages/cli/src/ui/hooks/useMessageQueue.test.ts +235 -0
  744. package/packages/cli/src/ui/hooks/useMessageQueue.ts +75 -0
  745. package/packages/cli/src/ui/hooks/useModelCommand.test.ts +42 -0
  746. package/packages/cli/src/ui/hooks/useModelCommand.ts +31 -0
  747. package/packages/cli/src/ui/hooks/usePermissionsModifyTrust.test.ts +263 -0
  748. package/packages/cli/src/ui/hooks/usePermissionsModifyTrust.ts +128 -0
  749. package/packages/cli/src/ui/hooks/usePhraseCycler.test.ts +192 -0
  750. package/packages/cli/src/ui/hooks/usePhraseCycler.ts +82 -0
  751. package/packages/cli/src/ui/hooks/useQwenAuth.test.ts +425 -0
  752. package/packages/cli/src/ui/hooks/useQwenAuth.ts +108 -0
  753. package/packages/cli/src/ui/hooks/useReactToolScheduler.ts +315 -0
  754. package/packages/cli/src/ui/hooks/useRefreshMemoryCommand.ts +7 -0
  755. package/packages/cli/src/ui/hooks/useResumeCommand.test.ts +190 -0
  756. package/packages/cli/src/ui/hooks/useResumeCommand.ts +82 -0
  757. package/packages/cli/src/ui/hooks/useReverseSearchCompletion.test.tsx +260 -0
  758. package/packages/cli/src/ui/hooks/useReverseSearchCompletion.tsx +155 -0
  759. package/packages/cli/src/ui/hooks/useSelectionList.test.ts +980 -0
  760. package/packages/cli/src/ui/hooks/useSelectionList.ts +376 -0
  761. package/packages/cli/src/ui/hooks/useSessionPicker.ts +279 -0
  762. package/packages/cli/src/ui/hooks/useSettingsCommand.ts +25 -0
  763. package/packages/cli/src/ui/hooks/useShellHistory.test.ts +257 -0
  764. package/packages/cli/src/ui/hooks/useShellHistory.ts +143 -0
  765. package/packages/cli/src/ui/hooks/useShowMemoryCommand.ts +73 -0
  766. package/packages/cli/src/ui/hooks/useSlashCompletion.test.ts +897 -0
  767. package/packages/cli/src/ui/hooks/useSlashCompletion.ts +555 -0
  768. package/packages/cli/src/ui/hooks/useStateAndRef.ts +36 -0
  769. package/packages/cli/src/ui/hooks/useSubagentCreateDialog.ts +26 -0
  770. package/packages/cli/src/ui/hooks/useTerminalSize.ts +34 -0
  771. package/packages/cli/src/ui/hooks/useThemeCommand.ts +112 -0
  772. package/packages/cli/src/ui/hooks/useTimer.test.ts +120 -0
  773. package/packages/cli/src/ui/hooks/useTimer.ts +65 -0
  774. package/packages/cli/src/ui/hooks/useTomlMigration.ts +0 -0
  775. package/packages/cli/src/ui/hooks/useToolScheduler.test.ts +781 -0
  776. package/packages/cli/src/ui/hooks/useWelcomeBack.ts +119 -0
  777. package/packages/cli/src/ui/hooks/vim.test.ts +1691 -0
  778. package/packages/cli/src/ui/hooks/vim.ts +790 -0
  779. package/packages/cli/src/ui/keyMatchers.test.ts +375 -0
  780. package/packages/cli/src/ui/keyMatchers.ts +105 -0
  781. package/packages/cli/src/ui/layouts/DefaultAppLayout.tsx +40 -0
  782. package/packages/cli/src/ui/layouts/ScreenReaderAppLayout.tsx +41 -0
  783. package/packages/cli/src/ui/models/availableModels.test.ts +186 -0
  784. package/packages/cli/src/ui/models/availableModels.ts +129 -0
  785. package/packages/cli/src/ui/noninteractive/nonInteractiveUi.ts +30 -0
  786. package/packages/cli/src/ui/semantic-colors.ts +26 -0
  787. package/packages/cli/src/ui/state/extensions.ts +90 -0
  788. package/packages/cli/src/ui/textConstants.ts +13 -0
  789. package/packages/cli/src/ui/themes/ansi-light.ts +152 -0
  790. package/packages/cli/src/ui/themes/ansi.ts +161 -0
  791. package/packages/cli/src/ui/themes/atom-one-dark.ts +147 -0
  792. package/packages/cli/src/ui/themes/ayu-light.ts +139 -0
  793. package/packages/cli/src/ui/themes/ayu.ts +113 -0
  794. package/packages/cli/src/ui/themes/color-utils.test.ts +221 -0
  795. package/packages/cli/src/ui/themes/color-utils.ts +235 -0
  796. package/packages/cli/src/ui/themes/default-light.ts +106 -0
  797. package/packages/cli/src/ui/themes/default.ts +149 -0
  798. package/packages/cli/src/ui/themes/dracula.ts +124 -0
  799. package/packages/cli/src/ui/themes/github-dark.ts +147 -0
  800. package/packages/cli/src/ui/themes/github-light.ts +149 -0
  801. package/packages/cli/src/ui/themes/googlecode.ts +146 -0
  802. package/packages/cli/src/ui/themes/no-color.ts +131 -0
  803. package/packages/cli/src/ui/themes/qwen-dark.ts +115 -0
  804. package/packages/cli/src/ui/themes/qwen-light.ts +141 -0
  805. package/packages/cli/src/ui/themes/semantic-tokens.ts +140 -0
  806. package/packages/cli/src/ui/themes/shades-of-purple.ts +352 -0
  807. package/packages/cli/src/ui/themes/theme-manager.test.ts +173 -0
  808. package/packages/cli/src/ui/themes/theme-manager.ts +344 -0
  809. package/packages/cli/src/ui/themes/theme.test.ts +97 -0
  810. package/packages/cli/src/ui/themes/theme.ts +505 -0
  811. package/packages/cli/src/ui/themes/xcode.ts +154 -0
  812. package/packages/cli/src/ui/types.ts +463 -0
  813. package/packages/cli/src/ui/utils/CodeColorizer.tsx +224 -0
  814. package/packages/cli/src/ui/utils/InlineMarkdownRenderer.tsx +180 -0
  815. package/packages/cli/src/ui/utils/MarkdownDisplay.test.tsx +236 -0
  816. package/packages/cli/src/ui/utils/MarkdownDisplay.tsx +423 -0
  817. package/packages/cli/src/ui/utils/TableRenderer.tsx +158 -0
  818. package/packages/cli/src/ui/utils/__snapshots__/MarkdownDisplay.test.tsx.snap +187 -0
  819. package/packages/cli/src/ui/utils/clipboardUtils.test.ts +136 -0
  820. package/packages/cli/src/ui/utils/clipboardUtils.ts +153 -0
  821. package/packages/cli/src/ui/utils/commandUtils.test.ts +489 -0
  822. package/packages/cli/src/ui/utils/commandUtils.ts +174 -0
  823. package/packages/cli/src/ui/utils/computeStats.test.ts +295 -0
  824. package/packages/cli/src/ui/utils/computeStats.ts +86 -0
  825. package/packages/cli/src/ui/utils/displayUtils.test.ts +83 -0
  826. package/packages/cli/src/ui/utils/displayUtils.ts +35 -0
  827. package/packages/cli/src/ui/utils/export/collect.ts +266 -0
  828. package/packages/cli/src/ui/utils/export/formatters/html.ts +83 -0
  829. package/packages/cli/src/ui/utils/export/formatters/json.ts +15 -0
  830. package/packages/cli/src/ui/utils/export/formatters/jsonl.ts +31 -0
  831. package/packages/cli/src/ui/utils/export/formatters/markdown.ts +225 -0
  832. package/packages/cli/src/ui/utils/export/index.ts +18 -0
  833. package/packages/cli/src/ui/utils/export/normalize.ts +324 -0
  834. package/packages/cli/src/ui/utils/export/types.ts +54 -0
  835. package/packages/cli/src/ui/utils/export/utils.ts +13 -0
  836. package/packages/cli/src/ui/utils/formatters.test.ts +157 -0
  837. package/packages/cli/src/ui/utils/formatters.ts +97 -0
  838. package/packages/cli/src/ui/utils/highlight.test.ts +136 -0
  839. package/packages/cli/src/ui/utils/highlight.ts +103 -0
  840. package/packages/cli/src/ui/utils/isNarrowWidth.ts +9 -0
  841. package/packages/cli/src/ui/utils/kittyProtocolDetector.ts +116 -0
  842. package/packages/cli/src/ui/utils/markdownUtilities.test.ts +50 -0
  843. package/packages/cli/src/ui/utils/markdownUtilities.ts +125 -0
  844. package/packages/cli/src/ui/utils/platformConstants.ts +87 -0
  845. package/packages/cli/src/ui/utils/resumeHistoryUtils.test.ts +289 -0
  846. package/packages/cli/src/ui/utils/resumeHistoryUtils.ts +455 -0
  847. package/packages/cli/src/ui/utils/sessionPickerUtils.test.ts +45 -0
  848. package/packages/cli/src/ui/utils/sessionPickerUtils.ts +59 -0
  849. package/packages/cli/src/ui/utils/terminalSetup.ts +393 -0
  850. package/packages/cli/src/ui/utils/textUtils.test.ts +170 -0
  851. package/packages/cli/src/ui/utils/textUtils.ts +216 -0
  852. package/packages/cli/src/ui/utils/updateCheck.test.ts +163 -0
  853. package/packages/cli/src/ui/utils/updateCheck.ts +104 -0
  854. package/packages/cli/src/utils/acpModelUtils.test.ts +42 -0
  855. package/packages/cli/src/utils/acpModelUtils.ts +61 -0
  856. package/packages/cli/src/utils/attentionNotification.test.ts +72 -0
  857. package/packages/cli/src/utils/attentionNotification.ts +51 -0
  858. package/packages/cli/src/utils/checks.ts +28 -0
  859. package/packages/cli/src/utils/cleanup.test.ts +68 -0
  860. package/packages/cli/src/utils/cleanup.ts +37 -0
  861. package/packages/cli/src/utils/commands.test.ts +140 -0
  862. package/packages/cli/src/utils/commands.ts +71 -0
  863. package/packages/cli/src/utils/commentJson.test.ts +186 -0
  864. package/packages/cli/src/utils/commentJson.ts +70 -0
  865. package/packages/cli/src/utils/deepMerge.test.ts +163 -0
  866. package/packages/cli/src/utils/deepMerge.ts +90 -0
  867. package/packages/cli/src/utils/dialogScopeUtils.ts +69 -0
  868. package/packages/cli/src/utils/envVarResolver.test.ts +297 -0
  869. package/packages/cli/src/utils/envVarResolver.ts +126 -0
  870. package/packages/cli/src/utils/errors.test.ts +681 -0
  871. package/packages/cli/src/utils/errors.ts +197 -0
  872. package/packages/cli/src/utils/events.ts +15 -0
  873. package/packages/cli/src/utils/gitUtils.test.ts +248 -0
  874. package/packages/cli/src/utils/gitUtils.ts +143 -0
  875. package/packages/cli/src/utils/handleAutoUpdate.test.ts +274 -0
  876. package/packages/cli/src/utils/handleAutoUpdate.ts +152 -0
  877. package/packages/cli/src/utils/installationInfo.test.ts +325 -0
  878. package/packages/cli/src/utils/installationInfo.ts +181 -0
  879. package/packages/cli/src/utils/languageUtils.test.ts +478 -0
  880. package/packages/cli/src/utils/languageUtils.ts +191 -0
  881. package/packages/cli/src/utils/math.ts +15 -0
  882. package/packages/cli/src/utils/modelConfigUtils.test.ts +727 -0
  883. package/packages/cli/src/utils/modelConfigUtils.ts +159 -0
  884. package/packages/cli/src/utils/nonInteractiveHelpers.test.ts +1297 -0
  885. package/packages/cli/src/utils/nonInteractiveHelpers.ts +666 -0
  886. package/packages/cli/src/utils/package.ts +38 -0
  887. package/packages/cli/src/utils/processUtils.test.ts +22 -0
  888. package/packages/cli/src/utils/processUtils.ts +20 -0
  889. package/packages/cli/src/utils/readStdin.test.ts +112 -0
  890. package/packages/cli/src/utils/readStdin.ts +70 -0
  891. package/packages/cli/src/utils/relaunch.test.ts +335 -0
  892. package/packages/cli/src/utils/relaunch.ts +70 -0
  893. package/packages/cli/src/utils/resolvePath.ts +21 -0
  894. package/packages/cli/src/utils/sandbox-macos-permissive-closed.sb +32 -0
  895. package/packages/cli/src/utils/sandbox-macos-permissive-open.sb +25 -0
  896. package/packages/cli/src/utils/sandbox-macos-permissive-proxied.sb +37 -0
  897. package/packages/cli/src/utils/sandbox-macos-restrictive-closed.sb +93 -0
  898. package/packages/cli/src/utils/sandbox-macos-restrictive-open.sb +96 -0
  899. package/packages/cli/src/utils/sandbox-macos-restrictive-proxied.sb +98 -0
  900. package/packages/cli/src/utils/sandbox.ts +984 -0
  901. package/packages/cli/src/utils/settingsUtils.test.ts +1154 -0
  902. package/packages/cli/src/utils/settingsUtils.ts +646 -0
  903. package/packages/cli/src/utils/spawnWrapper.ts +9 -0
  904. package/packages/cli/src/utils/startupWarnings.test.ts +76 -0
  905. package/packages/cli/src/utils/startupWarnings.ts +40 -0
  906. package/packages/cli/src/utils/stdioHelpers.ts +41 -0
  907. package/packages/cli/src/utils/systemInfo.test.ts +337 -0
  908. package/packages/cli/src/utils/systemInfo.ts +181 -0
  909. package/packages/cli/src/utils/systemInfoFields.test.ts +79 -0
  910. package/packages/cli/src/utils/systemInfoFields.ts +143 -0
  911. package/packages/cli/src/utils/updateEventEmitter.ts +13 -0
  912. package/packages/cli/src/utils/userStartupWarnings.test.ts +112 -0
  913. package/packages/cli/src/utils/userStartupWarnings.ts +96 -0
  914. package/packages/cli/src/utils/version.ts +12 -0
  915. package/packages/cli/src/utils/windowTitle.test.ts +59 -0
  916. package/packages/cli/src/utils/windowTitle.ts +22 -0
  917. package/packages/cli/src/utils/writeWithBackup.test.ts +232 -0
  918. package/packages/cli/src/utils/writeWithBackup.ts +169 -0
  919. package/packages/cli/src/validateNonInterActiveAuth.test.ts +557 -0
  920. package/packages/cli/src/validateNonInterActiveAuth.ts +83 -0
  921. package/packages/cli/test-setup.ts +12 -0
  922. package/packages/cli/tsconfig.json +88 -0
  923. package/packages/cli/vitest.config.ts +57 -0
  924. package/packages/core/index.ts +7 -0
  925. package/packages/core/package.json +96 -0
  926. package/packages/core/scripts/postinstall.js +179 -0
  927. package/packages/core/src/__mocks__/fs/promises.ts +48 -0
  928. package/packages/core/src/config/config.test.ts +1501 -0
  929. package/packages/core/src/config/config.ts +1916 -0
  930. package/packages/core/src/config/constants.ts +22 -0
  931. package/packages/core/src/config/models.ts +10 -0
  932. package/packages/core/src/config/storage.test.ts +42 -0
  933. package/packages/core/src/config/storage.ts +143 -0
  934. package/packages/core/src/confirmation-bus/message-bus.ts +125 -0
  935. package/packages/core/src/confirmation-bus/types.ts +128 -0
  936. package/packages/core/src/core/__snapshots__/prompts.test.ts.snap +3490 -0
  937. package/packages/core/src/core/__tests__/openaiTimeoutHandling.test.ts +386 -0
  938. package/packages/core/src/core/__tests__/orphanedToolCallsTest.ts +125 -0
  939. package/packages/core/src/core/anthropicContentGenerator/anthropicContentGenerator.test.ts +524 -0
  940. package/packages/core/src/core/anthropicContentGenerator/anthropicContentGenerator.ts +514 -0
  941. package/packages/core/src/core/anthropicContentGenerator/converter.test.ts +946 -0
  942. package/packages/core/src/core/anthropicContentGenerator/converter.ts +581 -0
  943. package/packages/core/src/core/anthropicContentGenerator/index.ts +21 -0
  944. package/packages/core/src/core/baseLlmClient.test.ts +447 -0
  945. package/packages/core/src/core/baseLlmClient.ts +191 -0
  946. package/packages/core/src/core/client.test.ts +2368 -0
  947. package/packages/core/src/core/client.ts +785 -0
  948. package/packages/core/src/core/contentGenerator.test.ts +113 -0
  949. package/packages/core/src/core/contentGenerator.ts +357 -0
  950. package/packages/core/src/core/coreToolScheduler.test.ts +2814 -0
  951. package/packages/core/src/core/coreToolScheduler.ts +1406 -0
  952. package/packages/core/src/core/geminiChat.test.ts +1721 -0
  953. package/packages/core/src/core/geminiChat.ts +746 -0
  954. package/packages/core/src/core/geminiContentGenerator/geminiContentGenerator.test.ts +371 -0
  955. package/packages/core/src/core/geminiContentGenerator/geminiContentGenerator.ts +303 -0
  956. package/packages/core/src/core/geminiContentGenerator/index.test.ts +41 -0
  957. package/packages/core/src/core/geminiContentGenerator/index.ts +53 -0
  958. package/packages/core/src/core/geminiRequest.test.ts +85 -0
  959. package/packages/core/src/core/geminiRequest.ts +19 -0
  960. package/packages/core/src/core/logger.test.ts +704 -0
  961. package/packages/core/src/core/logger.ts +462 -0
  962. package/packages/core/src/core/loggingContentGenerator/index.ts +7 -0
  963. package/packages/core/src/core/loggingContentGenerator/loggingContentGenerator.test.ts +397 -0
  964. package/packages/core/src/core/loggingContentGenerator/loggingContentGenerator.ts +510 -0
  965. package/packages/core/src/core/modalityDefaults.test.ts +213 -0
  966. package/packages/core/src/core/modalityDefaults.ts +94 -0
  967. package/packages/core/src/core/nonInteractiveToolExecutor.test.ts +373 -0
  968. package/packages/core/src/core/nonInteractiveToolExecutor.ts +52 -0
  969. package/packages/core/src/core/openaiContentGenerator/constants.ts +8 -0
  970. package/packages/core/src/core/openaiContentGenerator/converter.test.ts +2361 -0
  971. package/packages/core/src/core/openaiContentGenerator/converter.ts +1359 -0
  972. package/packages/core/src/core/openaiContentGenerator/errorHandler.test.ts +355 -0
  973. package/packages/core/src/core/openaiContentGenerator/errorHandler.ts +140 -0
  974. package/packages/core/src/core/openaiContentGenerator/index.ts +94 -0
  975. package/packages/core/src/core/openaiContentGenerator/openaiContentGenerator.test.ts +405 -0
  976. package/packages/core/src/core/openaiContentGenerator/openaiContentGenerator.ts +168 -0
  977. package/packages/core/src/core/openaiContentGenerator/pipeline.test.ts +1475 -0
  978. package/packages/core/src/core/openaiContentGenerator/pipeline.ts +490 -0
  979. package/packages/core/src/core/openaiContentGenerator/provider/README.md +61 -0
  980. package/packages/core/src/core/openaiContentGenerator/provider/dashscope.test.ts +1014 -0
  981. package/packages/core/src/core/openaiContentGenerator/provider/dashscope.ts +365 -0
  982. package/packages/core/src/core/openaiContentGenerator/provider/deepseek.test.ts +68 -0
  983. package/packages/core/src/core/openaiContentGenerator/provider/deepseek.ts +33 -0
  984. package/packages/core/src/core/openaiContentGenerator/provider/default.test.ts +308 -0
  985. package/packages/core/src/core/openaiContentGenerator/provider/default.ts +78 -0
  986. package/packages/core/src/core/openaiContentGenerator/provider/index.ts +11 -0
  987. package/packages/core/src/core/openaiContentGenerator/provider/modelscope.test.ts +96 -0
  988. package/packages/core/src/core/openaiContentGenerator/provider/modelscope.ts +32 -0
  989. package/packages/core/src/core/openaiContentGenerator/provider/openrouter.test.ts +221 -0
  990. package/packages/core/src/core/openaiContentGenerator/provider/openrouter.ts +31 -0
  991. package/packages/core/src/core/openaiContentGenerator/provider/types.ts +35 -0
  992. package/packages/core/src/core/openaiContentGenerator/streamingToolCallParser.test.ts +864 -0
  993. package/packages/core/src/core/openaiContentGenerator/streamingToolCallParser.ts +442 -0
  994. package/packages/core/src/core/prompts.test.ts +617 -0
  995. package/packages/core/src/core/prompts.ts +1064 -0
  996. package/packages/core/src/core/tokenLimits.test.ts +331 -0
  997. package/packages/core/src/core/tokenLimits.ts +216 -0
  998. package/packages/core/src/core/turn.test.ts +1013 -0
  999. package/packages/core/src/core/turn.ts +418 -0
  1000. package/packages/core/src/extension/claude-converter.test.ts +436 -0
  1001. package/packages/core/src/extension/claude-converter.ts +776 -0
  1002. package/packages/core/src/extension/extensionManager.test.ts +760 -0
  1003. package/packages/core/src/extension/extensionManager.ts +1290 -0
  1004. package/packages/core/src/extension/extensionSettings.test.ts +730 -0
  1005. package/packages/core/src/extension/extensionSettings.ts +319 -0
  1006. package/packages/core/src/extension/gemini-converter.test.ts +177 -0
  1007. package/packages/core/src/extension/gemini-converter.ts +234 -0
  1008. package/packages/core/src/extension/github.test.ts +485 -0
  1009. package/packages/core/src/extension/github.ts +457 -0
  1010. package/packages/core/src/extension/index.ts +6 -0
  1011. package/packages/core/src/extension/marketplace.test.ts +282 -0
  1012. package/packages/core/src/extension/marketplace.ts +279 -0
  1013. package/packages/core/src/extension/override.test.ts +110 -0
  1014. package/packages/core/src/extension/override.ts +102 -0
  1015. package/packages/core/src/extension/settings.test.ts +138 -0
  1016. package/packages/core/src/extension/settings.ts +149 -0
  1017. package/packages/core/src/extension/storage.test.ts +100 -0
  1018. package/packages/core/src/extension/storage.ts +50 -0
  1019. package/packages/core/src/extension/variableSchema.ts +43 -0
  1020. package/packages/core/src/extension/variables.test.ts +18 -0
  1021. package/packages/core/src/extension/variables.ts +72 -0
  1022. package/packages/core/src/hooks/hookAggregator.test.ts +618 -0
  1023. package/packages/core/src/hooks/hookAggregator.ts +369 -0
  1024. package/packages/core/src/hooks/hookEventHandler.test.ts +278 -0
  1025. package/packages/core/src/hooks/hookEventHandler.ts +192 -0
  1026. package/packages/core/src/hooks/hookPlanner.test.ts +366 -0
  1027. package/packages/core/src/hooks/hookPlanner.ts +146 -0
  1028. package/packages/core/src/hooks/hookRegistry.test.ts +636 -0
  1029. package/packages/core/src/hooks/hookRegistry.ts +353 -0
  1030. package/packages/core/src/hooks/hookRunner.test.ts +684 -0
  1031. package/packages/core/src/hooks/hookRunner.ts +427 -0
  1032. package/packages/core/src/hooks/hookSystem.test.ts +328 -0
  1033. package/packages/core/src/hooks/hookSystem.ts +103 -0
  1034. package/packages/core/src/hooks/index.ts +22 -0
  1035. package/packages/core/src/hooks/trustedHooks.ts +118 -0
  1036. package/packages/core/src/hooks/types.ts +678 -0
  1037. package/packages/core/src/ide/constants.ts +10 -0
  1038. package/packages/core/src/ide/detect-ide.test.ts +137 -0
  1039. package/packages/core/src/ide/detect-ide.ts +93 -0
  1040. package/packages/core/src/ide/ide-client.test.ts +764 -0
  1041. package/packages/core/src/ide/ide-client.ts +983 -0
  1042. package/packages/core/src/ide/ide-installer.test.ts +178 -0
  1043. package/packages/core/src/ide/ide-installer.ts +162 -0
  1044. package/packages/core/src/ide/ideContext.test.ts +453 -0
  1045. package/packages/core/src/ide/ideContext.ts +124 -0
  1046. package/packages/core/src/ide/process-utils.test.ts +158 -0
  1047. package/packages/core/src/ide/process-utils.ts +219 -0
  1048. package/packages/core/src/ide/types.ts +148 -0
  1049. package/packages/core/src/index.test.ts +13 -0
  1050. package/packages/core/src/index.ts +309 -0
  1051. package/packages/core/src/lsp/LspConfigLoader.test.ts +90 -0
  1052. package/packages/core/src/lsp/LspConfigLoader.ts +500 -0
  1053. package/packages/core/src/lsp/LspConnectionFactory.ts +395 -0
  1054. package/packages/core/src/lsp/LspLanguageDetector.ts +226 -0
  1055. package/packages/core/src/lsp/LspResponseNormalizer.ts +917 -0
  1056. package/packages/core/src/lsp/LspServerManager.ts +720 -0
  1057. package/packages/core/src/lsp/NativeLspClient.ts +259 -0
  1058. package/packages/core/src/lsp/NativeLspService.integration.test.ts +769 -0
  1059. package/packages/core/src/lsp/NativeLspService.test.ts +132 -0
  1060. package/packages/core/src/lsp/NativeLspService.ts +894 -0
  1061. package/packages/core/src/lsp/constants.ts +101 -0
  1062. package/packages/core/src/lsp/types.ts +523 -0
  1063. package/packages/core/src/mcp/constants.ts +27 -0
  1064. package/packages/core/src/mcp/google-auth-provider.test.ts +112 -0
  1065. package/packages/core/src/mcp/google-auth-provider.ts +103 -0
  1066. package/packages/core/src/mcp/oauth-provider.test.ts +1275 -0
  1067. package/packages/core/src/mcp/oauth-provider.ts +910 -0
  1068. package/packages/core/src/mcp/oauth-token-storage.test.ts +459 -0
  1069. package/packages/core/src/mcp/oauth-token-storage.ts +228 -0
  1070. package/packages/core/src/mcp/oauth-utils.test.ts +345 -0
  1071. package/packages/core/src/mcp/oauth-utils.ts +379 -0
  1072. package/packages/core/src/mcp/sa-impersonation-provider.test.ts +153 -0
  1073. package/packages/core/src/mcp/sa-impersonation-provider.ts +177 -0
  1074. package/packages/core/src/mcp/token-storage/base-token-storage.test.ts +208 -0
  1075. package/packages/core/src/mcp/token-storage/base-token-storage.ts +49 -0
  1076. package/packages/core/src/mcp/token-storage/file-token-storage.test.ts +323 -0
  1077. package/packages/core/src/mcp/token-storage/file-token-storage.ts +184 -0
  1078. package/packages/core/src/mcp/token-storage/hybrid-token-storage.test.ts +274 -0
  1079. package/packages/core/src/mcp/token-storage/hybrid-token-storage.ts +97 -0
  1080. package/packages/core/src/mcp/token-storage/index.ts +14 -0
  1081. package/packages/core/src/mcp/token-storage/keychain-token-storage.test.ts +352 -0
  1082. package/packages/core/src/mcp/token-storage/keychain-token-storage.ts +315 -0
  1083. package/packages/core/src/mcp/token-storage/types.ts +42 -0
  1084. package/packages/core/src/mocks/msw.ts +9 -0
  1085. package/packages/core/src/models/constants.ts +117 -0
  1086. package/packages/core/src/models/index.ts +45 -0
  1087. package/packages/core/src/models/modelConfigErrors.ts +125 -0
  1088. package/packages/core/src/models/modelConfigResolver.test.ts +351 -0
  1089. package/packages/core/src/models/modelConfigResolver.ts +369 -0
  1090. package/packages/core/src/models/modelRegistry.test.ts +533 -0
  1091. package/packages/core/src/models/modelRegistry.ts +234 -0
  1092. package/packages/core/src/models/modelsConfig.test.ts +1509 -0
  1093. package/packages/core/src/models/modelsConfig.ts +1201 -0
  1094. package/packages/core/src/models/types.ts +150 -0
  1095. package/packages/core/src/output/json-formatter.test.ts +301 -0
  1096. package/packages/core/src/output/json-formatter.ts +39 -0
  1097. package/packages/core/src/output/types.ts +30 -0
  1098. package/packages/core/src/prompts/mcp-prompts.ts +19 -0
  1099. package/packages/core/src/prompts/prompt-registry.ts +77 -0
  1100. package/packages/core/src/qwen/qwenContentGenerator.test.ts +1698 -0
  1101. package/packages/core/src/qwen/qwenContentGenerator.ts +252 -0
  1102. package/packages/core/src/qwen/qwenOAuth2.test.ts +2187 -0
  1103. package/packages/core/src/qwen/qwenOAuth2.ts +1017 -0
  1104. package/packages/core/src/qwen/sharedTokenManager.test.ts +937 -0
  1105. package/packages/core/src/qwen/sharedTokenManager.ts +887 -0
  1106. package/packages/core/src/services/chatCompressionService.test.ts +484 -0
  1107. package/packages/core/src/services/chatCompressionService.ts +274 -0
  1108. package/packages/core/src/services/chatRecordingService.test.ts +356 -0
  1109. package/packages/core/src/services/chatRecordingService.ts +448 -0
  1110. package/packages/core/src/services/fileDiscoveryService.test.ts +211 -0
  1111. package/packages/core/src/services/fileDiscoveryService.ts +142 -0
  1112. package/packages/core/src/services/fileSystemService.test.ts +297 -0
  1113. package/packages/core/src/services/fileSystemService.ts +234 -0
  1114. package/packages/core/src/services/gitService.test.ts +231 -0
  1115. package/packages/core/src/services/gitService.ts +121 -0
  1116. package/packages/core/src/services/loopDetectionService.test.ts +622 -0
  1117. package/packages/core/src/services/loopDetectionService.ts +316 -0
  1118. package/packages/core/src/services/sessionService.test.ts +721 -0
  1119. package/packages/core/src/services/sessionService.ts +706 -0
  1120. package/packages/core/src/services/shellExecutionService.test.ts +999 -0
  1121. package/packages/core/src/services/shellExecutionService.ts +799 -0
  1122. package/packages/core/src/skills/index.ts +31 -0
  1123. package/packages/core/src/skills/skill-load.test.ts +303 -0
  1124. package/packages/core/src/skills/skill-load.ts +173 -0
  1125. package/packages/core/src/skills/skill-manager.test.ts +692 -0
  1126. package/packages/core/src/skills/skill-manager.ts +652 -0
  1127. package/packages/core/src/skills/types.ts +111 -0
  1128. package/packages/core/src/subagents/builtin-agents.test.ts +95 -0
  1129. package/packages/core/src/subagents/builtin-agents.ts +95 -0
  1130. package/packages/core/src/subagents/index.ts +75 -0
  1131. package/packages/core/src/subagents/subagent-events.ts +145 -0
  1132. package/packages/core/src/subagents/subagent-hooks.ts +33 -0
  1133. package/packages/core/src/subagents/subagent-manager.test.ts +1152 -0
  1134. package/packages/core/src/subagents/subagent-manager.ts +978 -0
  1135. package/packages/core/src/subagents/subagent-statistics.test.ts +318 -0
  1136. package/packages/core/src/subagents/subagent-statistics.ts +275 -0
  1137. package/packages/core/src/subagents/subagent.test.ts +1196 -0
  1138. package/packages/core/src/subagents/subagent.ts +1010 -0
  1139. package/packages/core/src/subagents/types.test.ts +40 -0
  1140. package/packages/core/src/subagents/types.ts +272 -0
  1141. package/packages/core/src/subagents/validation.test.ts +426 -0
  1142. package/packages/core/src/subagents/validation.ts +354 -0
  1143. package/packages/core/src/telemetry/config.test.ts +155 -0
  1144. package/packages/core/src/telemetry/config.ts +118 -0
  1145. package/packages/core/src/telemetry/constants.ts +45 -0
  1146. package/packages/core/src/telemetry/file-exporters.ts +93 -0
  1147. package/packages/core/src/telemetry/index.ts +108 -0
  1148. package/packages/core/src/telemetry/integration.test.circular.ts +111 -0
  1149. package/packages/core/src/telemetry/loggers.test.circular.ts +128 -0
  1150. package/packages/core/src/telemetry/loggers.test.ts +1284 -0
  1151. package/packages/core/src/telemetry/loggers.ts +948 -0
  1152. package/packages/core/src/telemetry/metrics.test.ts +899 -0
  1153. package/packages/core/src/telemetry/metrics.ts +749 -0
  1154. package/packages/core/src/telemetry/qwen-logger/event-types.ts +102 -0
  1155. package/packages/core/src/telemetry/qwen-logger/qwen-logger.test.ts +515 -0
  1156. package/packages/core/src/telemetry/qwen-logger/qwen-logger.ts +988 -0
  1157. package/packages/core/src/telemetry/sdk.test.ts +148 -0
  1158. package/packages/core/src/telemetry/sdk.ts +195 -0
  1159. package/packages/core/src/telemetry/telemetry-utils.test.ts +46 -0
  1160. package/packages/core/src/telemetry/telemetry-utils.ts +17 -0
  1161. package/packages/core/src/telemetry/telemetry.test.ts +63 -0
  1162. package/packages/core/src/telemetry/tool-call-decision.ts +32 -0
  1163. package/packages/core/src/telemetry/types.ts +874 -0
  1164. package/packages/core/src/telemetry/uiTelemetry.test.ts +766 -0
  1165. package/packages/core/src/telemetry/uiTelemetry.ts +253 -0
  1166. package/packages/core/src/test-utils/config.ts +36 -0
  1167. package/packages/core/src/test-utils/index.ts +7 -0
  1168. package/packages/core/src/test-utils/mock-tool.ts +218 -0
  1169. package/packages/core/src/test-utils/mockWorkspaceContext.ts +33 -0
  1170. package/packages/core/src/tools/__snapshots__/shell.test.ts.snap +98 -0
  1171. package/packages/core/src/tools/askUserQuestion.test.ts +260 -0
  1172. package/packages/core/src/tools/askUserQuestion.ts +352 -0
  1173. package/packages/core/src/tools/diffOptions.test.ts +165 -0
  1174. package/packages/core/src/tools/diffOptions.ts +73 -0
  1175. package/packages/core/src/tools/edit.test.ts +933 -0
  1176. package/packages/core/src/tools/edit.ts +622 -0
  1177. package/packages/core/src/tools/exitPlanMode.test.ts +241 -0
  1178. package/packages/core/src/tools/exitPlanMode.ts +200 -0
  1179. package/packages/core/src/tools/glob.test.ts +650 -0
  1180. package/packages/core/src/tools/glob.ts +296 -0
  1181. package/packages/core/src/tools/grep.test.ts +484 -0
  1182. package/packages/core/src/tools/grep.ts +570 -0
  1183. package/packages/core/src/tools/ls.test.ts +325 -0
  1184. package/packages/core/src/tools/ls.ts +339 -0
  1185. package/packages/core/src/tools/lsp.test.ts +1233 -0
  1186. package/packages/core/src/tools/lsp.ts +1218 -0
  1187. package/packages/core/src/tools/mcp-client-manager.test.ts +257 -0
  1188. package/packages/core/src/tools/mcp-client-manager.ts +532 -0
  1189. package/packages/core/src/tools/mcp-client.test.ts +424 -0
  1190. package/packages/core/src/tools/mcp-client.ts +1450 -0
  1191. package/packages/core/src/tools/mcp-tool.test.ts +1119 -0
  1192. package/packages/core/src/tools/mcp-tool.ts +580 -0
  1193. package/packages/core/src/tools/memoryTool.test.ts +603 -0
  1194. package/packages/core/src/tools/memoryTool.ts +542 -0
  1195. package/packages/core/src/tools/modifiable-tool.test.ts +347 -0
  1196. package/packages/core/src/tools/modifiable-tool.ts +178 -0
  1197. package/packages/core/src/tools/read-file.test.ts +468 -0
  1198. package/packages/core/src/tools/read-file.ts +226 -0
  1199. package/packages/core/src/tools/ripGrep.test.ts +727 -0
  1200. package/packages/core/src/tools/ripGrep.ts +334 -0
  1201. package/packages/core/src/tools/sdk-control-client-transport.ts +145 -0
  1202. package/packages/core/src/tools/shell.test.ts +1277 -0
  1203. package/packages/core/src/tools/shell.ts +651 -0
  1204. package/packages/core/src/tools/skill.test.ts +436 -0
  1205. package/packages/core/src/tools/skill.ts +275 -0
  1206. package/packages/core/src/tools/task.test.ts +538 -0
  1207. package/packages/core/src/tools/task.ts +570 -0
  1208. package/packages/core/src/tools/todoWrite.test.ts +304 -0
  1209. package/packages/core/src/tools/todoWrite.ts +482 -0
  1210. package/packages/core/src/tools/tool-error.ts +72 -0
  1211. package/packages/core/src/tools/tool-names.ts +69 -0
  1212. package/packages/core/src/tools/tool-registry.test.ts +432 -0
  1213. package/packages/core/src/tools/tool-registry.ts +525 -0
  1214. package/packages/core/src/tools/tools.test.ts +230 -0
  1215. package/packages/core/src/tools/tools.ts +662 -0
  1216. package/packages/core/src/tools/web-fetch.test.ts +169 -0
  1217. package/packages/core/src/tools/web-fetch.ts +256 -0
  1218. package/packages/core/src/tools/web-search/base-provider.ts +58 -0
  1219. package/packages/core/src/tools/web-search/index.test.ts +312 -0
  1220. package/packages/core/src/tools/web-search/index.ts +344 -0
  1221. package/packages/core/src/tools/web-search/providers/dashscope-provider.ts +199 -0
  1222. package/packages/core/src/tools/web-search/providers/google-provider.ts +91 -0
  1223. package/packages/core/src/tools/web-search/providers/tavily-provider.ts +84 -0
  1224. package/packages/core/src/tools/web-search/types.ts +156 -0
  1225. package/packages/core/src/tools/web-search/utils.ts +42 -0
  1226. package/packages/core/src/tools/write-file.test.ts +861 -0
  1227. package/packages/core/src/tools/write-file.ts +491 -0
  1228. package/packages/core/src/utils/LruCache.ts +41 -0
  1229. package/packages/core/src/utils/browser.ts +56 -0
  1230. package/packages/core/src/utils/configResolver.test.ts +141 -0
  1231. package/packages/core/src/utils/configResolver.ts +222 -0
  1232. package/packages/core/src/utils/debugLogger.test.ts +268 -0
  1233. package/packages/core/src/utils/debugLogger.ts +195 -0
  1234. package/packages/core/src/utils/editHelper.test.ts +210 -0
  1235. package/packages/core/src/utils/editHelper.ts +478 -0
  1236. package/packages/core/src/utils/editor.test.ts +546 -0
  1237. package/packages/core/src/utils/editor.ts +226 -0
  1238. package/packages/core/src/utils/envVarResolver.test.ts +297 -0
  1239. package/packages/core/src/utils/envVarResolver.ts +126 -0
  1240. package/packages/core/src/utils/environmentContext.test.ts +225 -0
  1241. package/packages/core/src/utils/environmentContext.ts +94 -0
  1242. package/packages/core/src/utils/errorParsing.test.ts +118 -0
  1243. package/packages/core/src/utils/errorParsing.ts +84 -0
  1244. package/packages/core/src/utils/errorReporting.test.ts +128 -0
  1245. package/packages/core/src/utils/errorReporting.ts +80 -0
  1246. package/packages/core/src/utils/errors.test.ts +91 -0
  1247. package/packages/core/src/utils/errors.ts +134 -0
  1248. package/packages/core/src/utils/fetch.test.ts +52 -0
  1249. package/packages/core/src/utils/fetch.ts +192 -0
  1250. package/packages/core/src/utils/fileUtils.test.ts +1126 -0
  1251. package/packages/core/src/utils/fileUtils.ts +692 -0
  1252. package/packages/core/src/utils/filesearch/crawlCache.test.ts +123 -0
  1253. package/packages/core/src/utils/filesearch/crawlCache.ts +69 -0
  1254. package/packages/core/src/utils/filesearch/crawler.test.ts +577 -0
  1255. package/packages/core/src/utils/filesearch/crawler.ts +85 -0
  1256. package/packages/core/src/utils/filesearch/fileSearch.test.ts +772 -0
  1257. package/packages/core/src/utils/filesearch/fileSearch.ts +250 -0
  1258. package/packages/core/src/utils/filesearch/ignore.test.ts +163 -0
  1259. package/packages/core/src/utils/filesearch/ignore.ts +131 -0
  1260. package/packages/core/src/utils/filesearch/result-cache.test.ts +55 -0
  1261. package/packages/core/src/utils/filesearch/result-cache.ts +67 -0
  1262. package/packages/core/src/utils/formatters.ts +16 -0
  1263. package/packages/core/src/utils/generateContentResponseUtilities.test.ts +283 -0
  1264. package/packages/core/src/utils/generateContentResponseUtilities.ts +127 -0
  1265. package/packages/core/src/utils/getFolderStructure.test.ts +340 -0
  1266. package/packages/core/src/utils/getFolderStructure.ts +336 -0
  1267. package/packages/core/src/utils/getPty.ts +9 -0
  1268. package/packages/core/src/utils/gitIgnoreParser.test.ts +237 -0
  1269. package/packages/core/src/utils/gitIgnoreParser.ts +189 -0
  1270. package/packages/core/src/utils/gitUtils.ts +90 -0
  1271. package/packages/core/src/utils/iconvHelper.ts +65 -0
  1272. package/packages/core/src/utils/ignorePatterns.test.ts +324 -0
  1273. package/packages/core/src/utils/ignorePatterns.ts +278 -0
  1274. package/packages/core/src/utils/installationManager.test.ts +99 -0
  1275. package/packages/core/src/utils/installationManager.ts +61 -0
  1276. package/packages/core/src/utils/jsonl-utils.ts +196 -0
  1277. package/packages/core/src/utils/language-detection.ts +103 -0
  1278. package/packages/core/src/utils/memoryDiscovery.test.ts +432 -0
  1279. package/packages/core/src/utils/memoryDiscovery.ts +357 -0
  1280. package/packages/core/src/utils/memoryImportProcessor.test.ts +933 -0
  1281. package/packages/core/src/utils/memoryImportProcessor.ts +417 -0
  1282. package/packages/core/src/utils/messageInspectors.ts +23 -0
  1283. package/packages/core/src/utils/nextSpeakerChecker.test.ts +273 -0
  1284. package/packages/core/src/utils/nextSpeakerChecker.ts +138 -0
  1285. package/packages/core/src/utils/openaiLogger.test.ts +390 -0
  1286. package/packages/core/src/utils/openaiLogger.ts +151 -0
  1287. package/packages/core/src/utils/partUtils.test.ts +301 -0
  1288. package/packages/core/src/utils/partUtils.ts +169 -0
  1289. package/packages/core/src/utils/pathReader.test.ts +411 -0
  1290. package/packages/core/src/utils/pathReader.ts +110 -0
  1291. package/packages/core/src/utils/paths.test.ts +850 -0
  1292. package/packages/core/src/utils/paths.ts +332 -0
  1293. package/packages/core/src/utils/projectSummary.ts +119 -0
  1294. package/packages/core/src/utils/promptIdContext.ts +9 -0
  1295. package/packages/core/src/utils/quotaErrorDetection.test.ts +134 -0
  1296. package/packages/core/src/utils/quotaErrorDetection.ts +126 -0
  1297. package/packages/core/src/utils/qwenIgnoreParser.test.ts +68 -0
  1298. package/packages/core/src/utils/qwenIgnoreParser.ts +81 -0
  1299. package/packages/core/src/utils/rateLimit.test.ts +102 -0
  1300. package/packages/core/src/utils/rateLimit.ts +84 -0
  1301. package/packages/core/src/utils/readManyFiles.test.ts +298 -0
  1302. package/packages/core/src/utils/readManyFiles.ts +210 -0
  1303. package/packages/core/src/utils/request-tokenizer/imageTokenizer.test.ts +157 -0
  1304. package/packages/core/src/utils/request-tokenizer/imageTokenizer.ts +508 -0
  1305. package/packages/core/src/utils/request-tokenizer/index.ts +11 -0
  1306. package/packages/core/src/utils/request-tokenizer/requestTokenizer.test.ts +271 -0
  1307. package/packages/core/src/utils/request-tokenizer/requestTokenizer.ts +330 -0
  1308. package/packages/core/src/utils/request-tokenizer/supportedImageFormats.ts +56 -0
  1309. package/packages/core/src/utils/request-tokenizer/textTokenizer.test.ts +279 -0
  1310. package/packages/core/src/utils/request-tokenizer/textTokenizer.ts +58 -0
  1311. package/packages/core/src/utils/request-tokenizer/types.ts +36 -0
  1312. package/packages/core/src/utils/retry.test.ts +534 -0
  1313. package/packages/core/src/utils/retry.ts +246 -0
  1314. package/packages/core/src/utils/ripgrepUtils.test.ts +135 -0
  1315. package/packages/core/src/utils/ripgrepUtils.ts +322 -0
  1316. package/packages/core/src/utils/runtimeFetchOptions.test.ts +95 -0
  1317. package/packages/core/src/utils/runtimeFetchOptions.ts +153 -0
  1318. package/packages/core/src/utils/safeJsonParse.test.ts +149 -0
  1319. package/packages/core/src/utils/safeJsonParse.ts +48 -0
  1320. package/packages/core/src/utils/safeJsonStringify.test.ts +73 -0
  1321. package/packages/core/src/utils/safeJsonStringify.ts +32 -0
  1322. package/packages/core/src/utils/schemaConverter.test.ts +118 -0
  1323. package/packages/core/src/utils/schemaConverter.ts +135 -0
  1324. package/packages/core/src/utils/schemaValidator.test.ts +297 -0
  1325. package/packages/core/src/utils/schemaValidator.ts +140 -0
  1326. package/packages/core/src/utils/secure-browser-launcher.test.ts +242 -0
  1327. package/packages/core/src/utils/secure-browser-launcher.ts +191 -0
  1328. package/packages/core/src/utils/shell-utils.test.ts +609 -0
  1329. package/packages/core/src/utils/shell-utils.ts +915 -0
  1330. package/packages/core/src/utils/shellReadOnlyChecker.test.ts +234 -0
  1331. package/packages/core/src/utils/shellReadOnlyChecker.ts +353 -0
  1332. package/packages/core/src/utils/subagentGenerator.test.ts +217 -0
  1333. package/packages/core/src/utils/subagentGenerator.ts +146 -0
  1334. package/packages/core/src/utils/summarizer.test.ts +202 -0
  1335. package/packages/core/src/utils/summarizer.ts +99 -0
  1336. package/packages/core/src/utils/symlink.ts +60 -0
  1337. package/packages/core/src/utils/systemEncoding.test.ts +478 -0
  1338. package/packages/core/src/utils/systemEncoding.ts +178 -0
  1339. package/packages/core/src/utils/terminalSerializer.test.ts +197 -0
  1340. package/packages/core/src/utils/terminalSerializer.ts +476 -0
  1341. package/packages/core/src/utils/testUtils.ts +87 -0
  1342. package/packages/core/src/utils/textUtils.test.ts +119 -0
  1343. package/packages/core/src/utils/textUtils.ts +75 -0
  1344. package/packages/core/src/utils/thoughtUtils.test.ts +80 -0
  1345. package/packages/core/src/utils/thoughtUtils.ts +76 -0
  1346. package/packages/core/src/utils/toml-to-markdown-converter.test.ts +103 -0
  1347. package/packages/core/src/utils/toml-to-markdown-converter.ts +74 -0
  1348. package/packages/core/src/utils/tool-utils.test.ts +159 -0
  1349. package/packages/core/src/utils/tool-utils.ts +181 -0
  1350. package/packages/core/src/utils/workspaceContext.test.ts +414 -0
  1351. package/packages/core/src/utils/workspaceContext.ts +202 -0
  1352. package/packages/core/src/utils/yaml-parser.test.ts +193 -0
  1353. package/packages/core/src/utils/yaml-parser.ts +192 -0
  1354. package/packages/core/test-setup.ts +27 -0
  1355. package/packages/core/tsconfig.json +11 -0
  1356. package/packages/core/vendor/ripgrep/COPYING +3 -0
  1357. package/packages/core/vendor/ripgrep/arm64-darwin/rg +0 -0
  1358. package/packages/core/vendor/ripgrep/arm64-linux/rg +0 -0
  1359. package/packages/core/vendor/ripgrep/x64-darwin/rg +0 -0
  1360. package/packages/core/vendor/ripgrep/x64-linux/rg +0 -0
  1361. package/packages/core/vendor/ripgrep/x64-win32/rg.exe +0 -0
  1362. package/packages/core/vitest.config.ts +38 -0
  1363. package/packages/ice-v43/package.json +35 -0
  1364. package/packages/ice-v43/src/agent-crews.ts +189 -0
  1365. package/packages/ice-v43/src/cli.ts +96 -0
  1366. package/packages/ice-v43/src/d20-learner.ts +161 -0
  1367. package/packages/ice-v43/src/engine.ts +219 -0
  1368. package/packages/ice-v43/src/index.ts +40 -0
  1369. package/packages/ice-v43/src/intent-decoder.ts +200 -0
  1370. package/packages/ice-v43/src/multi-provider-client.ts +200 -0
  1371. package/packages/ice-v43/src/reasoning/chain-of-thought.ts +166 -0
  1372. package/packages/ice-v43/src/reasoning/index.ts +16 -0
  1373. package/packages/ice-v43/src/reasoning/self-reflection.ts +160 -0
  1374. package/packages/ice-v43/src/reasoning/socratic-reviewer.ts +167 -0
  1375. package/packages/ice-v43/src/reasoning/tree-of-thoughts.ts +212 -0
  1376. package/packages/ice-v43/src/reasoning/types.ts +40 -0
  1377. package/packages/ice-v43/src/status-cli.ts +77 -0
  1378. package/packages/ice-v43/src/types.ts +81 -0
  1379. package/packages/ice-v43/tsconfig.json +25 -0
  1380. package/packages/sdk-java/client/.editorconfig +24 -0
  1381. package/packages/sdk-java/client/QWEN.md +106 -0
  1382. package/packages/sdk-java/client/README.md +178 -0
  1383. package/packages/sdk-java/client/checkstyle.xml +131 -0
  1384. package/packages/sdk-java/client/pom.xml +206 -0
  1385. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/AcpClient.java +174 -0
  1386. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/notification/AgentNotification.java +12 -0
  1387. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/notification/SessionNotification.java +42 -0
  1388. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/AuthenticateRequest.java +31 -0
  1389. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/ReadTextFileRequest.java +58 -0
  1390. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/RequestPermissionRequest.java +53 -0
  1391. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/WriteTextFileRequest.java +49 -0
  1392. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/CreateTerminalRequest.java +79 -0
  1393. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/KillTerminalCommandRequest.java +40 -0
  1394. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/ReleaseTerminalRequest.java +40 -0
  1395. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/TerminalOutputRequest.java +40 -0
  1396. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/WaitForTerminalExitRequest.java +40 -0
  1397. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/AuthenticateResponse.java +11 -0
  1398. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/InitializeResponse.java +101 -0
  1399. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/LoadSessionResponse.java +21 -0
  1400. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/NewSessionResponse.java +30 -0
  1401. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/PromptResponse.java +21 -0
  1402. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/SetSessionModeResponse.java +11 -0
  1403. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/notification/CancelNotification.java +33 -0
  1404. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/notification/ClientNotification.java +13 -0
  1405. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/InitializeRequest.java +102 -0
  1406. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/LoadSessionRequest.java +54 -0
  1407. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/NewSessionRequest.java +46 -0
  1408. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/PromptRequest.java +50 -0
  1409. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/SetSessionModeRequest.java +40 -0
  1410. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/ReadTextFileResponse.java +33 -0
  1411. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/RequestPermissionResponse.java +40 -0
  1412. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/WriteTextFileResponse.java +11 -0
  1413. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/CreateTerminalResponse.java +20 -0
  1414. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/KillTerminalCommandResponse.java +11 -0
  1415. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/ReleaseTerminalResponse.java +11 -0
  1416. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/TerminalOutputResponse.java +60 -0
  1417. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/WaitForTerminalExitResponse.java +29 -0
  1418. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/agent/AgentCapabilities.java +189 -0
  1419. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/agent/AgentInfo.java +68 -0
  1420. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/agent/AuthMethod.java +68 -0
  1421. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/client/ClientCapabilities.java +120 -0
  1422. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/client/ClientInfo.java +68 -0
  1423. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/Diff.java +34 -0
  1424. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/ToolCallContent.java +44 -0
  1425. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/Annotations.java +53 -0
  1426. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/AudioContent.java +40 -0
  1427. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/ContentBlock.java +18 -0
  1428. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/ImageContent.java +49 -0
  1429. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/ResourceLink.java +76 -0
  1430. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/TextContent.java +36 -0
  1431. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/BlobResourceContents.java +13 -0
  1432. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/EmbeddedResource.java +32 -0
  1433. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/ResourceContent.java +26 -0
  1434. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/ResourceContentDeserializer.java +24 -0
  1435. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/TextResourceContents.java +13 -0
  1436. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/mcp/HttpHeader.java +25 -0
  1437. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/mcp/McpServer.java +75 -0
  1438. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/PermissionOption.java +34 -0
  1439. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/PermissionOptionKind.java +17 -0
  1440. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/PermissionOutcomeKind.java +10 -0
  1441. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/RequestPermissionOutcome.java +34 -0
  1442. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/Plan.java +18 -0
  1443. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/PlanEntry.java +34 -0
  1444. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/PlanEntryPriority.java +14 -0
  1445. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/PlanEntryStatus.java +14 -0
  1446. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/SessionMode.java +34 -0
  1447. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/SessionModeState.java +27 -0
  1448. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/StopReason.java +20 -0
  1449. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/AgentMessageChunkSessionUpdate.java +21 -0
  1450. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/AvailableCommand.java +34 -0
  1451. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/AvailableCommandsUpdateSessionUpdate.java +22 -0
  1452. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/CurrentModeUpdateSessionUpdate.java +20 -0
  1453. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/PlanSessionUpdate.java +23 -0
  1454. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/SessionUpdate.java +23 -0
  1455. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/ToolCallSessionUpdate.java +11 -0
  1456. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/ToolCallUpdateSessionUpdate.java +11 -0
  1457. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/UnstructuredCommandInput.java +16 -0
  1458. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/terminal/EnvVariable.java +25 -0
  1459. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolCallLocation.java +25 -0
  1460. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolCallStatus.java +17 -0
  1461. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolCallUpdate.java +82 -0
  1462. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolKind.java +35 -0
  1463. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Error.java +181 -0
  1464. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/ExtNotification.java +4 -0
  1465. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/ExtRequest.java +4 -0
  1466. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/ExtResponse.java +5 -0
  1467. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Message.java +22 -0
  1468. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Meta.java +48 -0
  1469. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/MethodMessage.java +72 -0
  1470. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Request.java +10 -0
  1471. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Response.java +35 -0
  1472. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/schema.json +3105 -0
  1473. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/Session.java +312 -0
  1474. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/AgentEventConsumer.java +118 -0
  1475. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/ContentEventConsumer.java +110 -0
  1476. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/ContentEventSimpleConsumer.java +84 -0
  1477. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/FileEventConsumer.java +53 -0
  1478. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/FileEventSimpleConsumer.java +168 -0
  1479. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/PermissionEventConsumer.java +34 -0
  1480. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/PromptEndEventConsumer.java +29 -0
  1481. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/TerminalEventConsumer.java +110 -0
  1482. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/exception/EventConsumeException.java +89 -0
  1483. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/exception/SessionLoadException.java +65 -0
  1484. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/exception/SessionNewException.java +73 -0
  1485. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/transport/Transport.java +74 -0
  1486. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/transport/process/ProcessTransport.java +228 -0
  1487. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/transport/process/ProcessTransportOptions.java +122 -0
  1488. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/AgentInitializeException.java +73 -0
  1489. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/MyConcurrentUtils.java +83 -0
  1490. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/ThreadPoolConfig.java +77 -0
  1491. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/Timeout.java +72 -0
  1492. package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/TransportUtils.java +38 -0
  1493. package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/PermissionOptionKindTest.java +31 -0
  1494. package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/PlanEntryPriorityTest.java +27 -0
  1495. package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/PlanEntryStatusTest.java +27 -0
  1496. package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/StopReasonTest.java +35 -0
  1497. package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/ToolCallStatusTest.java +31 -0
  1498. package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/ToolKindTest.java +55 -0
  1499. package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/session/SessionTest.java +128 -0
  1500. package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/test/EnumTest.java +22 -0
  1501. package/packages/sdk-java/client/src/test/resources/schema/schema.json +3105 -0
  1502. package/packages/sdk-java/qwencode/.editorconfig +24 -0
  1503. package/packages/sdk-java/qwencode/LICENSE +201 -0
  1504. package/packages/sdk-java/qwencode/QWEN.md +377 -0
  1505. package/packages/sdk-java/qwencode/README.md +307 -0
  1506. package/packages/sdk-java/qwencode/RELEASE.md +150 -0
  1507. package/packages/sdk-java/qwencode/checkstyle.xml +131 -0
  1508. package/packages/sdk-java/qwencode/pom.xml +193 -0
  1509. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/QwenCodeCli.java +142 -0
  1510. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/AssistantContent.java +95 -0
  1511. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/AssistantUsage.java +76 -0
  1512. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/CLIPermissionDenial.java +83 -0
  1513. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/Capabilities.java +131 -0
  1514. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/ExtendedUsage.java +147 -0
  1515. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/InitializeConfig.java +98 -0
  1516. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/ModelUsage.java +142 -0
  1517. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/PermissionMode.java +56 -0
  1518. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/Usage.java +137 -0
  1519. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/behavior/Allow.java +46 -0
  1520. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/behavior/Behavior.java +62 -0
  1521. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/behavior/Deny.java +45 -0
  1522. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/Message.java +23 -0
  1523. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/MessageBase.java +64 -0
  1524. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/SDKResultMessage.java +332 -0
  1525. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/SDKSystemMessage.java +486 -0
  1526. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/SDKUserMessage.java +196 -0
  1527. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/APIAssistantMessage.java +172 -0
  1528. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/SDKAssistantMessage.java +121 -0
  1529. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/SDKPartialAssistantMessage.java +116 -0
  1530. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/Annotation.java +59 -0
  1531. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ContentBlock.java +87 -0
  1532. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/TextBlock.java +42 -0
  1533. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ThinkingBlock.java +64 -0
  1534. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ToolResultBlock.java +92 -0
  1535. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ToolUseBlock.java +122 -0
  1536. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/ContentBlockDeltaEvent.java +224 -0
  1537. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/ContentBlockStartEvent.java +25 -0
  1538. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/ContentBlockStopEvent.java +35 -0
  1539. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/MessageStartStreamEvent.java +107 -0
  1540. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/MessageStopStreamEvent.java +13 -0
  1541. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/StreamEvent.java +37 -0
  1542. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/CLIControlRequest.java +90 -0
  1543. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/CLIControlResponse.java +138 -0
  1544. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlInitializeRequest.java +45 -0
  1545. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlInitializeResponse.java +41 -0
  1546. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlInterruptRequest.java +17 -0
  1547. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlPermissionRequest.java +235 -0
  1548. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlPermissionResponse.java +45 -0
  1549. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlSetModelRequest.java +40 -0
  1550. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlSetModelResponse.java +54 -0
  1551. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlSetPermissionModeRequest.java +40 -0
  1552. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/ControlRequestPayload.java +26 -0
  1553. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/ControlResponsePayload.java +26 -0
  1554. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/protocol.ts +594 -0
  1555. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/Session.java +302 -0
  1556. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/AssistantContentConsumers.java +159 -0
  1557. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/AssistantContentSimpleConsumers.java +193 -0
  1558. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/SessionEventConsumers.java +158 -0
  1559. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/SessionEventSimpleConsumers.java +339 -0
  1560. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/exception/SessionControlException.java +55 -0
  1561. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/exception/SessionSendPromptException.java +55 -0
  1562. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/Transport.java +78 -0
  1563. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/TransportOptions.java +386 -0
  1564. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/process/ProcessTransport.java +224 -0
  1565. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/process/TransportOptionsAdapter.java +153 -0
  1566. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/utils/MyConcurrentUtils.java +94 -0
  1567. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/utils/ThreadPoolConfig.java +64 -0
  1568. package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/utils/Timeout.java +68 -0
  1569. package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/QwenCodeCliTest.java +29 -0
  1570. package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/example/QuickStartExample.java +109 -0
  1571. package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/example/SessionExample.java +256 -0
  1572. package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/example/ThreadPoolConfigurationExample.java +50 -0
  1573. package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/session/SessionTest.java +185 -0
  1574. package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/transport/PermissionModeTest.java +19 -0
  1575. package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/transport/process/ProcessTransportTest.java +87 -0
  1576. package/packages/sdk-typescript/README.md +395 -0
  1577. package/packages/sdk-typescript/package.json +75 -0
  1578. package/packages/sdk-typescript/scripts/build.js +93 -0
  1579. package/packages/sdk-typescript/scripts/bundle-cli-from-npm.js +88 -0
  1580. package/packages/sdk-typescript/scripts/bundle-cli.js +83 -0
  1581. package/packages/sdk-typescript/scripts/get-release-version.js +363 -0
  1582. package/packages/sdk-typescript/src/index.ts +64 -0
  1583. package/packages/sdk-typescript/src/mcp/SdkControlServerTransport.ts +105 -0
  1584. package/packages/sdk-typescript/src/mcp/createSdkMcpServer.ts +107 -0
  1585. package/packages/sdk-typescript/src/mcp/formatters.ts +194 -0
  1586. package/packages/sdk-typescript/src/mcp/tool.ts +90 -0
  1587. package/packages/sdk-typescript/src/query/Query.ts +937 -0
  1588. package/packages/sdk-typescript/src/query/createQuery.ts +140 -0
  1589. package/packages/sdk-typescript/src/transport/ProcessTransport.ts +474 -0
  1590. package/packages/sdk-typescript/src/transport/Transport.ts +22 -0
  1591. package/packages/sdk-typescript/src/types/errors.ts +17 -0
  1592. package/packages/sdk-typescript/src/types/protocol.ts +605 -0
  1593. package/packages/sdk-typescript/src/types/queryOptionsSchema.ts +173 -0
  1594. package/packages/sdk-typescript/src/types/types.ts +477 -0
  1595. package/packages/sdk-typescript/src/utils/Stream.ts +79 -0
  1596. package/packages/sdk-typescript/src/utils/cliPath.ts +364 -0
  1597. package/packages/sdk-typescript/src/utils/jsonLines.ts +65 -0
  1598. package/packages/sdk-typescript/src/utils/logger.ts +147 -0
  1599. package/packages/sdk-typescript/src/utils/validation.ts +33 -0
  1600. package/packages/sdk-typescript/test/unit/ProcessTransport.test.ts +1754 -0
  1601. package/packages/sdk-typescript/test/unit/Query.test.ts +1433 -0
  1602. package/packages/sdk-typescript/test/unit/Stream.test.ts +255 -0
  1603. package/packages/sdk-typescript/test/unit/cliPath.test.ts +423 -0
  1604. package/packages/sdk-typescript/test/unit/createSdkMcpServer.test.ts +386 -0
  1605. package/packages/sdk-typescript/tsconfig.build.json +15 -0
  1606. package/packages/sdk-typescript/tsconfig.json +41 -0
  1607. package/packages/sdk-typescript/vitest.config.ts +47 -0
  1608. package/packages/test-utils/index.ts +7 -0
  1609. package/packages/test-utils/package.json +18 -0
  1610. package/packages/test-utils/src/file-system-test-helpers.ts +98 -0
  1611. package/packages/test-utils/src/index.ts +7 -0
  1612. package/packages/test-utils/tsconfig.json +11 -0
  1613. package/packages/test-utils/vitest.config.ts +23 -0
  1614. package/packages/vscode-ide-companion/.vscode/launch.json +13 -0
  1615. package/packages/vscode-ide-companion/.vscode/tasks.json +18 -0
  1616. package/packages/vscode-ide-companion/.vscodeignore +10 -0
  1617. package/packages/vscode-ide-companion/LICENSE +202 -0
  1618. package/packages/vscode-ide-companion/NOTICES.txt +2442 -0
  1619. package/packages/vscode-ide-companion/README.md +70 -0
  1620. package/packages/vscode-ide-companion/assets/icon.png +0 -0
  1621. package/packages/vscode-ide-companion/development.md +24 -0
  1622. package/packages/vscode-ide-companion/esbuild.js +197 -0
  1623. package/packages/vscode-ide-companion/eslint.config.mjs +75 -0
  1624. package/packages/vscode-ide-companion/package.json +172 -0
  1625. package/packages/vscode-ide-companion/postcss.config.js +13 -0
  1626. package/packages/vscode-ide-companion/schemas/settings.schema.json +622 -0
  1627. package/packages/vscode-ide-companion/scripts/copy-bundled-cli.js +67 -0
  1628. package/packages/vscode-ide-companion/scripts/generate-notices.js +160 -0
  1629. package/packages/vscode-ide-companion/scripts/prepackage.js +252 -0
  1630. package/packages/vscode-ide-companion/src/commands/index.ts +86 -0
  1631. package/packages/vscode-ide-companion/src/constants/acpSchema.ts +35 -0
  1632. package/packages/vscode-ide-companion/src/constants/loadingMessages.ts +146 -0
  1633. package/packages/vscode-ide-companion/src/diff-manager.ts +433 -0
  1634. package/packages/vscode-ide-companion/src/extension.test.ts +298 -0
  1635. package/packages/vscode-ide-companion/src/extension.ts +380 -0
  1636. package/packages/vscode-ide-companion/src/ide-server.test.ts +536 -0
  1637. package/packages/vscode-ide-companion/src/ide-server.ts +477 -0
  1638. package/packages/vscode-ide-companion/src/open-files-manager.test.ts +441 -0
  1639. package/packages/vscode-ide-companion/src/open-files-manager.ts +215 -0
  1640. package/packages/vscode-ide-companion/src/services/acpConnection.ts +532 -0
  1641. package/packages/vscode-ide-companion/src/services/acpFileHandler.test.ts +131 -0
  1642. package/packages/vscode-ide-companion/src/services/acpFileHandler.ts +117 -0
  1643. package/packages/vscode-ide-companion/src/services/conversationStore.ts +83 -0
  1644. package/packages/vscode-ide-companion/src/services/open-files-manager/constants.ts +8 -0
  1645. package/packages/vscode-ide-companion/src/services/open-files-manager/notebook-handler.ts +119 -0
  1646. package/packages/vscode-ide-companion/src/services/open-files-manager/text-handler.ts +61 -0
  1647. package/packages/vscode-ide-companion/src/services/open-files-manager/utils.ts +101 -0
  1648. package/packages/vscode-ide-companion/src/services/qwenAgentManager.ts +1495 -0
  1649. package/packages/vscode-ide-companion/src/services/qwenConnectionHandler.ts +237 -0
  1650. package/packages/vscode-ide-companion/src/services/qwenSessionManager.ts +151 -0
  1651. package/packages/vscode-ide-companion/src/services/qwenSessionReader.ts +353 -0
  1652. package/packages/vscode-ide-companion/src/services/qwenSessionUpdateHandler.test.ts +358 -0
  1653. package/packages/vscode-ide-companion/src/services/qwenSessionUpdateHandler.ts +274 -0
  1654. package/packages/vscode-ide-companion/src/services/readonlyFileSystemProvider.ts +204 -0
  1655. package/packages/vscode-ide-companion/src/types/acpTypes.ts +68 -0
  1656. package/packages/vscode-ide-companion/src/types/approvalModeTypes.ts +79 -0
  1657. package/packages/vscode-ide-companion/src/types/approvalModeValueTypes.ts +11 -0
  1658. package/packages/vscode-ide-companion/src/types/chatTypes.ts +113 -0
  1659. package/packages/vscode-ide-companion/src/types/completionItemTypes.ts +7 -0
  1660. package/packages/vscode-ide-companion/src/types/connectionTypes.ts +43 -0
  1661. package/packages/vscode-ide-companion/src/types/webviewMessageTypes.ts +25 -0
  1662. package/packages/vscode-ide-companion/src/utils/acpModelInfo.test.ts +208 -0
  1663. package/packages/vscode-ide-companion/src/utils/acpModelInfo.ts +288 -0
  1664. package/packages/vscode-ide-companion/src/utils/authErrors.ts +36 -0
  1665. package/packages/vscode-ide-companion/src/utils/authNotificationHandler.ts +50 -0
  1666. package/packages/vscode-ide-companion/src/utils/editorGroupUtils.ts +162 -0
  1667. package/packages/vscode-ide-companion/src/utils/logger.ts +18 -0
  1668. package/packages/vscode-ide-companion/src/utils/platform.ts +8 -0
  1669. package/packages/vscode-ide-companion/src/webview/App.tsx +1060 -0
  1670. package/packages/vscode-ide-companion/src/webview/MessageHandler.ts +89 -0
  1671. package/packages/vscode-ide-companion/src/webview/PanelManager.ts +385 -0
  1672. package/packages/vscode-ide-companion/src/webview/WebViewContent.ts +50 -0
  1673. package/packages/vscode-ide-companion/src/webview/WebViewProvider.ts +1450 -0
  1674. package/packages/vscode-ide-companion/src/webview/components/layout/InputForm.tsx +88 -0
  1675. package/packages/vscode-ide-companion/src/webview/components/layout/ModelSelector.tsx +197 -0
  1676. package/packages/vscode-ide-companion/src/webview/components/layout/Onboarding.tsx +26 -0
  1677. package/packages/vscode-ide-companion/src/webview/components/messages/toolcalls/ToolCall.tsx +29 -0
  1678. package/packages/vscode-ide-companion/src/webview/components/messages/toolcalls/index.tsx +101 -0
  1679. package/packages/vscode-ide-companion/src/webview/context/VSCodePlatformProvider.tsx +171 -0
  1680. package/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.ts +83 -0
  1681. package/packages/vscode-ide-companion/src/webview/handlers/BaseMessageHandler.ts +58 -0
  1682. package/packages/vscode-ide-companion/src/webview/handlers/EditorMessageHandler.ts +111 -0
  1683. package/packages/vscode-ide-companion/src/webview/handlers/FileMessageHandler.test.ts +118 -0
  1684. package/packages/vscode-ide-companion/src/webview/handlers/FileMessageHandler.ts +565 -0
  1685. package/packages/vscode-ide-companion/src/webview/handlers/MessageRouter.ts +175 -0
  1686. package/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.ts +994 -0
  1687. package/packages/vscode-ide-companion/src/webview/hooks/file/useFileContext.ts +189 -0
  1688. package/packages/vscode-ide-companion/src/webview/hooks/message/useMessageHandling.ts +182 -0
  1689. package/packages/vscode-ide-companion/src/webview/hooks/session/useSessionManagement.ts +127 -0
  1690. package/packages/vscode-ide-companion/src/webview/hooks/useCompletionTrigger.ts +357 -0
  1691. package/packages/vscode-ide-companion/src/webview/hooks/useMessageSubmit.ts +171 -0
  1692. package/packages/vscode-ide-companion/src/webview/hooks/useToolCalls.ts +271 -0
  1693. package/packages/vscode-ide-companion/src/webview/hooks/useVSCode.ts +54 -0
  1694. package/packages/vscode-ide-companion/src/webview/hooks/useWebViewMessages.ts +988 -0
  1695. package/packages/vscode-ide-companion/src/webview/index.tsx +28 -0
  1696. package/packages/vscode-ide-companion/src/webview/styles/App.css +175 -0
  1697. package/packages/vscode-ide-companion/src/webview/styles/tailwind.css +27 -0
  1698. package/packages/vscode-ide-companion/src/webview/utils/diffStats.ts +160 -0
  1699. package/packages/vscode-ide-companion/src/webview/utils/diffUtils.ts +49 -0
  1700. package/packages/vscode-ide-companion/src/webview/utils/resourceUrl.ts +115 -0
  1701. package/packages/vscode-ide-companion/src/webview/utils/sessionGrouping.ts +10 -0
  1702. package/packages/vscode-ide-companion/src/webview/utils/utils.test.ts +134 -0
  1703. package/packages/vscode-ide-companion/src/webview/utils/utils.ts +26 -0
  1704. package/packages/vscode-ide-companion/src/webview/utils/webviewUtils.ts +31 -0
  1705. package/packages/vscode-ide-companion/tailwind.config.js +74 -0
  1706. package/packages/vscode-ide-companion/tsconfig.json +17 -0
  1707. package/packages/vscode-ide-companion/vitest.config.ts +15 -0
  1708. package/packages/web-templates/build.mjs +57 -0
  1709. package/packages/web-templates/package.json +39 -0
  1710. package/packages/web-templates/src/export-html/build.mjs +87 -0
  1711. package/packages/web-templates/src/export-html/esbuild.config.mjs +35 -0
  1712. package/packages/web-templates/src/export-html/package.json +14 -0
  1713. package/packages/web-templates/src/export-html/src/components/TempFileModal.css +70 -0
  1714. package/packages/web-templates/src/export-html/src/components/TempFileModal.tsx +65 -0
  1715. package/packages/web-templates/src/export-html/src/favicon.svg +6 -0
  1716. package/packages/web-templates/src/export-html/src/index.html +59 -0
  1717. package/packages/web-templates/src/export-html/src/main.tsx +186 -0
  1718. package/packages/web-templates/src/export-html/src/styles.css +203 -0
  1719. package/packages/web-templates/src/export-html/src/types.d.ts +9 -0
  1720. package/packages/web-templates/src/export-html/tsconfig.json +15 -0
  1721. package/packages/web-templates/src/index.ts +9 -0
  1722. package/packages/web-templates/src/insight/build.mjs +57 -0
  1723. package/packages/web-templates/src/insight/index.html +17 -0
  1724. package/packages/web-templates/src/insight/package.json +9 -0
  1725. package/packages/web-templates/src/insight/postcss.config.js +5 -0
  1726. package/packages/web-templates/src/insight/src/App.tsx +287 -0
  1727. package/packages/web-templates/src/insight/src/Charts.tsx +300 -0
  1728. package/packages/web-templates/src/insight/src/Components.tsx +45 -0
  1729. package/packages/web-templates/src/insight/src/Header.tsx +79 -0
  1730. package/packages/web-templates/src/insight/src/Qualitative.tsx +718 -0
  1731. package/packages/web-templates/src/insight/src/ShareCard.tsx +598 -0
  1732. package/packages/web-templates/src/insight/src/dev.tsx +363 -0
  1733. package/packages/web-templates/src/insight/src/styles.css +1290 -0
  1734. package/packages/web-templates/src/insight/src/types.ts +15 -0
  1735. package/packages/web-templates/src/insight/tailwind.config.js +8 -0
  1736. package/packages/web-templates/src/insight/tsconfig.json +15 -0
  1737. package/packages/web-templates/src/insight/vite.config.mjs +39 -0
  1738. package/packages/web-templates/tsconfig.json +12 -0
  1739. package/packages/webui/.storybook/main.ts +44 -0
  1740. package/packages/webui/.storybook/preview.css +54 -0
  1741. package/packages/webui/.storybook/preview.ts +67 -0
  1742. package/packages/webui/README.md +347 -0
  1743. package/packages/webui/docs/WEBUI_MIGRATION_PLAN_EN.md +428 -0
  1744. package/packages/webui/examples/README.md +8 -0
  1745. package/packages/webui/examples/cdn-usage-demo.html +161 -0
  1746. package/packages/webui/examples/complex-chat-demo.html +428 -0
  1747. package/packages/webui/package.json +80 -0
  1748. package/packages/webui/postcss.config.cjs +13 -0
  1749. package/packages/webui/scripts/add-license-header.sh +48 -0
  1750. package/packages/webui/src/adapters/ACPAdapter.ts +109 -0
  1751. package/packages/webui/src/adapters/JSONLAdapter.ts +126 -0
  1752. package/packages/webui/src/adapters/index.ts +28 -0
  1753. package/packages/webui/src/adapters/types.ts +82 -0
  1754. package/packages/webui/src/components/ChatViewer/ChatViewer.css +192 -0
  1755. package/packages/webui/src/components/ChatViewer/ChatViewer.stories.tsx +1650 -0
  1756. package/packages/webui/src/components/ChatViewer/ChatViewer.tsx +424 -0
  1757. package/packages/webui/src/components/ChatViewer/index.ts +16 -0
  1758. package/packages/webui/src/components/PermissionDrawer.css +249 -0
  1759. package/packages/webui/src/components/PermissionDrawer.stories.tsx +81 -0
  1760. package/packages/webui/src/components/PermissionDrawer.tsx +259 -0
  1761. package/packages/webui/src/components/WebviewContainer.tsx +17 -0
  1762. package/packages/webui/src/components/icons/CloseIcon.tsx +36 -0
  1763. package/packages/webui/src/components/icons/EditIcons.tsx +389 -0
  1764. package/packages/webui/src/components/icons/FileIcons.tsx +99 -0
  1765. package/packages/webui/src/components/icons/Icon.tsx +41 -0
  1766. package/packages/webui/src/components/icons/NavigationIcons.tsx +270 -0
  1767. package/packages/webui/src/components/icons/SendIcon.tsx +36 -0
  1768. package/packages/webui/src/components/icons/SpecialIcons.tsx +79 -0
  1769. package/packages/webui/src/components/icons/StatusIcons.tsx +235 -0
  1770. package/packages/webui/src/components/icons/StopIcon.tsx +29 -0
  1771. package/packages/webui/src/components/icons/index.ts +60 -0
  1772. package/packages/webui/src/components/icons/types.ts +22 -0
  1773. package/packages/webui/src/components/layout/ChatHeader.stories.tsx +66 -0
  1774. package/packages/webui/src/components/layout/ChatHeader.tsx +77 -0
  1775. package/packages/webui/src/components/layout/CompletionMenu.stories.tsx +129 -0
  1776. package/packages/webui/src/components/layout/CompletionMenu.tsx +280 -0
  1777. package/packages/webui/src/components/layout/Container.tsx +18 -0
  1778. package/packages/webui/src/components/layout/ContextIndicator.stories.tsx +85 -0
  1779. package/packages/webui/src/components/layout/ContextIndicator.tsx +129 -0
  1780. package/packages/webui/src/components/layout/EmptyState.stories.tsx +100 -0
  1781. package/packages/webui/src/components/layout/EmptyState.tsx +99 -0
  1782. package/packages/webui/src/components/layout/FileLink.tsx +189 -0
  1783. package/packages/webui/src/components/layout/Footer.tsx +11 -0
  1784. package/packages/webui/src/components/layout/Header.tsx +11 -0
  1785. package/packages/webui/src/components/layout/InputForm.stories.tsx +205 -0
  1786. package/packages/webui/src/components/layout/InputForm.tsx +367 -0
  1787. package/packages/webui/src/components/layout/Main.tsx +11 -0
  1788. package/packages/webui/src/components/layout/Onboarding.stories.tsx +69 -0
  1789. package/packages/webui/src/components/layout/Onboarding.tsx +70 -0
  1790. package/packages/webui/src/components/layout/SessionSelector.stories.tsx +154 -0
  1791. package/packages/webui/src/components/layout/SessionSelector.tsx +194 -0
  1792. package/packages/webui/src/components/layout/Sidebar.tsx +11 -0
  1793. package/packages/webui/src/components/messages/AskUserQuestionDialog.tsx +525 -0
  1794. package/packages/webui/src/components/messages/Assistant/AssistantMessage.css +104 -0
  1795. package/packages/webui/src/components/messages/Assistant/AssistantMessage.stories.tsx +207 -0
  1796. package/packages/webui/src/components/messages/Assistant/AssistantMessage.tsx +99 -0
  1797. package/packages/webui/src/components/messages/Assistant/index.ts +11 -0
  1798. package/packages/webui/src/components/messages/CollapsibleFileContent.tsx +264 -0
  1799. package/packages/webui/src/components/messages/MarkdownRenderer/MarkdownRenderer.css +222 -0
  1800. package/packages/webui/src/components/messages/MarkdownRenderer/MarkdownRenderer.tsx +360 -0
  1801. package/packages/webui/src/components/messages/MarkdownRenderer/index.ts +8 -0
  1802. package/packages/webui/src/components/messages/Message.tsx +45 -0
  1803. package/packages/webui/src/components/messages/MessageContent.tsx +31 -0
  1804. package/packages/webui/src/components/messages/MessageInput.tsx +11 -0
  1805. package/packages/webui/src/components/messages/MessageList.tsx +11 -0
  1806. package/packages/webui/src/components/messages/ThinkingMessage.css +150 -0
  1807. package/packages/webui/src/components/messages/ThinkingMessage.stories.tsx +141 -0
  1808. package/packages/webui/src/components/messages/ThinkingMessage.tsx +83 -0
  1809. package/packages/webui/src/components/messages/UserMessage.stories.tsx +121 -0
  1810. package/packages/webui/src/components/messages/UserMessage.tsx +91 -0
  1811. package/packages/webui/src/components/messages/Waiting/InterruptedMessage.tsx +22 -0
  1812. package/packages/webui/src/components/messages/Waiting/WaitingMessage.tsx +83 -0
  1813. package/packages/webui/src/components/toolcalls/CheckboxDisplay.stories.tsx +63 -0
  1814. package/packages/webui/src/components/toolcalls/CheckboxDisplay.tsx +79 -0
  1815. package/packages/webui/src/components/toolcalls/EditToolCall.stories.tsx +92 -0
  1816. package/packages/webui/src/components/toolcalls/EditToolCall.tsx +216 -0
  1817. package/packages/webui/src/components/toolcalls/GenericToolCall.stories.tsx +102 -0
  1818. package/packages/webui/src/components/toolcalls/GenericToolCall.tsx +148 -0
  1819. package/packages/webui/src/components/toolcalls/ReadToolCall.stories.tsx +171 -0
  1820. package/packages/webui/src/components/toolcalls/ReadToolCall.tsx +338 -0
  1821. package/packages/webui/src/components/toolcalls/SaveMemoryToolCall.tsx +69 -0
  1822. package/packages/webui/src/components/toolcalls/SearchToolCall.stories.tsx +85 -0
  1823. package/packages/webui/src/components/toolcalls/SearchToolCall.tsx +210 -0
  1824. package/packages/webui/src/components/toolcalls/ShellToolCall.css +190 -0
  1825. package/packages/webui/src/components/toolcalls/ShellToolCall.stories.tsx +183 -0
  1826. package/packages/webui/src/components/toolcalls/ShellToolCall.tsx +297 -0
  1827. package/packages/webui/src/components/toolcalls/ThinkToolCall.stories.tsx +98 -0
  1828. package/packages/webui/src/components/toolcalls/ThinkToolCall.tsx +86 -0
  1829. package/packages/webui/src/components/toolcalls/UpdatedPlanToolCall.stories.tsx +100 -0
  1830. package/packages/webui/src/components/toolcalls/UpdatedPlanToolCall.tsx +188 -0
  1831. package/packages/webui/src/components/toolcalls/WebFetchToolCall.tsx +195 -0
  1832. package/packages/webui/src/components/toolcalls/WriteToolCall.stories.tsx +68 -0
  1833. package/packages/webui/src/components/toolcalls/WriteToolCall.tsx +132 -0
  1834. package/packages/webui/src/components/toolcalls/index.ts +22 -0
  1835. package/packages/webui/src/components/toolcalls/shared/CodeBlock.stories.tsx +52 -0
  1836. package/packages/webui/src/components/toolcalls/shared/CopyButton.stories.tsx +54 -0
  1837. package/packages/webui/src/components/toolcalls/shared/LayoutComponents.css +207 -0
  1838. package/packages/webui/src/components/toolcalls/shared/LayoutComponents.tsx +188 -0
  1839. package/packages/webui/src/components/toolcalls/shared/LocationsList.stories.tsx +45 -0
  1840. package/packages/webui/src/components/toolcalls/shared/StatusIndicator.stories.tsx +51 -0
  1841. package/packages/webui/src/components/toolcalls/shared/ToolCallCard.stories.tsx +80 -0
  1842. package/packages/webui/src/components/toolcalls/shared/ToolCallContainer.stories.tsx +79 -0
  1843. package/packages/webui/src/components/toolcalls/shared/copyUtils.tsx +99 -0
  1844. package/packages/webui/src/components/toolcalls/shared/index.ts +43 -0
  1845. package/packages/webui/src/components/toolcalls/shared/types.ts +95 -0
  1846. package/packages/webui/src/components/toolcalls/shared/utils.ts +284 -0
  1847. package/packages/webui/src/components/ui/Button.stories.tsx +83 -0
  1848. package/packages/webui/src/components/ui/Button.tsx +143 -0
  1849. package/packages/webui/src/components/ui/Input.tsx +149 -0
  1850. package/packages/webui/src/components/ui/Tooltip.stories.tsx +68 -0
  1851. package/packages/webui/src/components/ui/Tooltip.tsx +73 -0
  1852. package/packages/webui/src/context/PlatformContext.tsx +104 -0
  1853. package/packages/webui/src/hooks/useLocalStorage.ts +33 -0
  1854. package/packages/webui/src/hooks/useTheme.ts +35 -0
  1855. package/packages/webui/src/index.ts +256 -0
  1856. package/packages/webui/src/styles/components.css +524 -0
  1857. package/packages/webui/src/styles/timeline.css +69 -0
  1858. package/packages/webui/src/styles/variables.css +197 -0
  1859. package/packages/webui/src/types/chat.ts +28 -0
  1860. package/packages/webui/src/types/completion.ts +42 -0
  1861. package/packages/webui/src/types/messages.ts +13 -0
  1862. package/packages/webui/src/types/theme.ts +7 -0
  1863. package/packages/webui/src/types/toolCall.ts +48 -0
  1864. package/packages/webui/src/utils/sessionGrouping.ts +126 -0
  1865. package/packages/webui/tailwind.config.cjs +11 -0
  1866. package/packages/webui/tailwind.preset.cjs +90 -0
  1867. package/packages/webui/tsconfig.json +21 -0
  1868. package/packages/webui/vite.config.ts +59 -0
  1869. package/packages/zed-extension/LICENSE +22 -0
  1870. package/packages/zed-extension/README.md +126 -0
  1871. package/packages/zed-extension/extension.toml +32 -0
  1872. package/packages/zed-extension/qwen-code.svg +1 -0
  1873. package/patches/README.md +293 -0
  1874. package/pyproject.toml +54 -0
  1875. package/requirements.txt +10 -0
  1876. package/scripts/build.js +88 -0
  1877. package/scripts/build_package.js +37 -0
  1878. package/scripts/build_sandbox.js +174 -0
  1879. package/scripts/build_vscode_companion.js +30 -0
  1880. package/scripts/check-build-status.js +148 -0
  1881. package/scripts/check-i18n.ts +462 -0
  1882. package/scripts/check-lockfile.js +74 -0
  1883. package/scripts/clean.js +59 -0
  1884. package/scripts/copy_bundle_assets.js +90 -0
  1885. package/scripts/copy_files.js +86 -0
  1886. package/scripts/create_alias.sh +39 -0
  1887. package/scripts/dev.js +109 -0
  1888. package/scripts/esbuild-shims.js +29 -0
  1889. package/scripts/generate-git-commit-info.js +71 -0
  1890. package/scripts/generate-settings-schema.ts +146 -0
  1891. package/scripts/get-release-version.js +411 -0
  1892. package/scripts/install-ice.sh +70 -0
  1893. package/scripts/install.sh +136 -0
  1894. package/scripts/installation/INSTALLATION_GUIDE.md +250 -0
  1895. package/scripts/installation/install-qwen-with-source.bat +302 -0
  1896. package/scripts/installation/install-qwen-with-source.sh +570 -0
  1897. package/scripts/lint.js +205 -0
  1898. package/scripts/local_telemetry.js +219 -0
  1899. package/scripts/postinstall.cjs +14 -0
  1900. package/scripts/pre-commit.js +22 -0
  1901. package/scripts/prepare-package.js +186 -0
  1902. package/scripts/prepare-termux.cjs +26 -0
  1903. package/scripts/sandbox_command.js +128 -0
  1904. package/scripts/start.js +86 -0
  1905. package/scripts/telemetry.js +85 -0
  1906. package/scripts/telemetry_gcp.js +188 -0
  1907. package/scripts/telemetry_utils.js +450 -0
  1908. package/scripts/test-windows-paths.js +51 -0
  1909. package/scripts/tests/get-release-version.test.js +186 -0
  1910. package/scripts/tests/test-setup.ts +12 -0
  1911. package/scripts/tests/vitest.config.ts +26 -0
  1912. package/scripts/unused-keys-only-in-locales.json +62 -0
  1913. package/scripts/version.js +112 -0
  1914. package/test-reports/0.10.3-termux/README.md +213 -0
  1915. package/test-reports/0.10.3-termux/TEST-REPORT-2026-02-17.md +114 -0
  1916. package/test-reports/0.11.0-termux/TEST-REPORT-2026-03-01.md +104 -0
  1917. package/test-reports/0.11.3-termux/TEST-REPORT-2026-03-07.md +156 -0
  1918. package/test-reports/0.12.0-termux/CHECKLIST-MANUALE.md +217 -0
  1919. package/test-reports/0.12.0-termux/TEST-REPORT-2026-03-09.md +225 -0
  1920. package/test-reports/README.md +60 -0
  1921. package/test-reports/suites/README.md +22 -0
  1922. package/test-reports/suites/basic-smoke.md +162 -0
  1923. package/test-reports/suites/latest/termux.md +202 -0
  1924. package/test-reports/suites/qwen-test-suite.md +200 -0
  1925. package/test-reports/suites/termux-runtime.md +201 -0
  1926. package/tsconfig.json +31 -0
  1927. package/vitest.config.ts +14 -0
@@ -0,0 +1,303 @@
1
+ # How to Contribute
2
+
3
+ We would love to accept your patches and contributions to this project.
4
+
5
+ ## Contribution Process
6
+
7
+ ### Code Reviews
8
+
9
+ All submissions, including submissions by project members, require review. We
10
+ use [GitHub pull requests](https://docs.github.com/articles/about-pull-requests)
11
+ for this purpose.
12
+
13
+ ### Pull Request Guidelines
14
+
15
+ To help us review and merge your PRs quickly, please follow these guidelines. PRs that do not meet these standards may be closed.
16
+
17
+ #### 1. Link to an Existing Issue
18
+
19
+ All PRs should be linked to an existing issue in our tracker. This ensures that every change has been discussed and is aligned with the project's goals before any code is written.
20
+
21
+ - **For bug fixes:** The PR should be linked to the bug report issue.
22
+ - **For features:** The PR should be linked to the feature request or proposal issue that has been approved by a maintainer.
23
+
24
+ If an issue for your change doesn't exist, please **open one first** and wait for feedback before you start coding.
25
+
26
+ #### 2. Keep It Small and Focused
27
+
28
+ We favor small, atomic PRs that address a single issue or add a single, self-contained feature.
29
+
30
+ - **Do:** Create a PR that fixes one specific bug or adds one specific feature.
31
+ - **Don't:** Bundle multiple unrelated changes (e.g., a bug fix, a new feature, and a refactor) into a single PR.
32
+
33
+ Large changes should be broken down into a series of smaller, logical PRs that can be reviewed and merged independently.
34
+
35
+ #### 3. Use Draft PRs for Work in Progress
36
+
37
+ If you'd like to get early feedback on your work, please use GitHub's **Draft Pull Request** feature. This signals to the maintainers that the PR is not yet ready for a formal review but is open for discussion and initial feedback.
38
+
39
+ #### 4. Ensure All Checks Pass
40
+
41
+ Before submitting your PR, ensure that all automated checks are passing by running `npm run preflight`. This command runs all tests, linting, and other style checks.
42
+
43
+ #### 5. Update Documentation
44
+
45
+ If your PR introduces a user-facing change (e.g., a new command, a modified flag, or a change in behavior), you must also update the relevant documentation in the `/docs` directory.
46
+
47
+ #### 6. Write Clear Commit Messages and a Good PR Description
48
+
49
+ Your PR should have a clear, descriptive title and a detailed description of the changes. Follow the [Conventional Commits](https://www.conventionalcommits.org/) standard for your commit messages.
50
+
51
+ - **Good PR Title:** `feat(cli): Add --json flag to 'config get' command`
52
+ - **Bad PR Title:** `Made some changes`
53
+
54
+ In the PR description, explain the "why" behind your changes and link to the relevant issue (e.g., `Fixes #123`).
55
+
56
+ ## Development Setup and Workflow
57
+
58
+ This section guides contributors on how to build, modify, and understand the development setup of this project.
59
+
60
+ ### Setting Up the Development Environment
61
+
62
+ **Prerequisites:**
63
+
64
+ 1. **Node.js**:
65
+ - **Development:** Please use Node.js `~20.19.0`. This specific version is required due to an upstream development dependency issue. You can use a tool like [nvm](https://github.com/nvm-sh/nvm) to manage Node.js versions.
66
+ - **Production:** For running the CLI in a production environment, any version of Node.js `>=20` is acceptable.
67
+ 2. **Git**
68
+
69
+ ### Build Process
70
+
71
+ To clone the repository:
72
+
73
+ ```bash
74
+ git clone https://github.com/QwenLM/qwen-code.git # Or your fork's URL
75
+ cd qwen-code
76
+ ```
77
+
78
+ To install dependencies defined in `package.json` as well as root dependencies:
79
+
80
+ ```bash
81
+ npm install
82
+ ```
83
+
84
+ To build the entire project (all packages):
85
+
86
+ ```bash
87
+ npm run build
88
+ ```
89
+
90
+ This command typically compiles TypeScript to JavaScript, bundles assets, and prepares the packages for execution. Refer to `scripts/build.js` and `package.json` scripts for more details on what happens during the build.
91
+
92
+ ### Enabling Sandboxing
93
+
94
+ [Sandboxing](#sandboxing) is highly recommended and requires, at a minimum, setting `QWEN_SANDBOX=true` in your `~/.env` and ensuring a sandboxing provider (e.g. `macOS Seatbelt`, `docker`, or `podman`) is available. See [Sandboxing](#sandboxing) for details.
95
+
96
+ To build both the `qwen-code` CLI utility and the sandbox container, run `build:all` from the root directory:
97
+
98
+ ```bash
99
+ npm run build:all
100
+ ```
101
+
102
+ To skip building the sandbox container, you can use `npm run build` instead.
103
+
104
+ ### Running
105
+
106
+ To start the Qwen Code application from the source code (after building), run the following command from the root directory:
107
+
108
+ ```bash
109
+ npm start
110
+ ```
111
+
112
+ If you'd like to run the source build outside of the qwen-code folder, you can utilize `npm link path/to/qwen-code/packages/cli` (see: [docs](https://docs.npmjs.com/cli/v9/commands/npm-link)) to run with `qwen-code`
113
+
114
+ ### Running Tests
115
+
116
+ This project contains two types of tests: unit tests and integration tests.
117
+
118
+ #### Unit Tests
119
+
120
+ To execute the unit test suite for the project:
121
+
122
+ ```bash
123
+ npm run test
124
+ ```
125
+
126
+ This will run tests located in the `packages/core` and `packages/cli` directories. Ensure tests pass before submitting any changes. For a more comprehensive check, it is recommended to run `npm run preflight`.
127
+
128
+ #### Integration Tests
129
+
130
+ The integration tests are designed to validate the end-to-end functionality of Qwen Code. They are not run as part of the default `npm run test` command.
131
+
132
+ To run the integration tests, use the following command:
133
+
134
+ ```bash
135
+ npm run test:e2e
136
+ ```
137
+
138
+ For more detailed information on the integration testing framework, please see the [Integration Tests documentation](./docs/integration-tests.md).
139
+
140
+ ### Linting and Preflight Checks
141
+
142
+ To ensure code quality and formatting consistency, run the preflight check:
143
+
144
+ ```bash
145
+ npm run preflight
146
+ ```
147
+
148
+ This command will run ESLint, Prettier, all tests, and other checks as defined in the project's `package.json`.
149
+
150
+ _ProTip_
151
+
152
+ after cloning create a git precommit hook file to ensure your commits are always clean.
153
+
154
+ ```bash
155
+ echo "
156
+ # Run npm build and check for errors
157
+ if ! npm run preflight; then
158
+ echo "npm build failed. Commit aborted."
159
+ exit 1
160
+ fi
161
+ " > .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit
162
+ ```
163
+
164
+ #### Formatting
165
+
166
+ To separately format the code in this project by running the following command from the root directory:
167
+
168
+ ```bash
169
+ npm run format
170
+ ```
171
+
172
+ This command uses Prettier to format the code according to the project's style guidelines.
173
+
174
+ #### Linting
175
+
176
+ To separately lint the code in this project, run the following command from the root directory:
177
+
178
+ ```bash
179
+ npm run lint
180
+ ```
181
+
182
+ ### Coding Conventions
183
+
184
+ - Please adhere to the coding style, patterns, and conventions used throughout the existing codebase.
185
+ - **Imports:** Pay special attention to import paths. The project uses ESLint to enforce restrictions on relative imports between packages.
186
+
187
+ ### Project Structure
188
+
189
+ - `packages/`: Contains the individual sub-packages of the project.
190
+ - `cli/`: The command-line interface.
191
+ - `core/`: The core backend logic for Qwen Code.
192
+ - `docs/`: Contains all project documentation.
193
+ - `scripts/`: Utility scripts for building, testing, and development tasks.
194
+
195
+ For more detailed architecture, see `docs/architecture.md`.
196
+
197
+ ## Documentation Development
198
+
199
+ This section describes how to develop and preview the documentation locally.
200
+
201
+ ### Prerequisites
202
+
203
+ 1. Ensure you have Node.js (version 18+) installed
204
+ 2. Have npm or yarn available
205
+
206
+ ### Setup Documentation Site Locally
207
+
208
+ To work on the documentation and preview changes locally:
209
+
210
+ 1. Navigate to the `docs-site` directory:
211
+
212
+ ```bash
213
+ cd docs-site
214
+ ```
215
+
216
+ 2. Install dependencies:
217
+
218
+ ```bash
219
+ npm install
220
+ ```
221
+
222
+ 3. Link the documentation content from the main `docs` directory:
223
+
224
+ ```bash
225
+ npm run link
226
+ ```
227
+
228
+ This creates a symbolic link from `../docs` to `content` in the docs-site project, allowing the documentation content to be served by the Next.js site.
229
+
230
+ 4. Start the development server:
231
+
232
+ ```bash
233
+ npm run dev
234
+ ```
235
+
236
+ 5. Open [http://localhost:3000](http://localhost:3000) in your browser to see the documentation site with live updates as you make changes.
237
+
238
+ Any changes made to the documentation files in the main `docs` directory will be reflected immediately in the documentation site.
239
+
240
+ ## Debugging
241
+
242
+ ### VS Code:
243
+
244
+ 0. Run the CLI to interactively debug in VS Code with `F5`
245
+ 1. Start the CLI in debug mode from the root directory:
246
+ ```bash
247
+ npm run debug
248
+ ```
249
+ This command runs `node --inspect-brk dist/index.js` within the `packages/cli` directory, pausing execution until a debugger attaches. You can then open `chrome://inspect` in your Chrome browser to connect to the debugger.
250
+ 2. In VS Code, use the "Attach" launch configuration (found in `.vscode/launch.json`).
251
+
252
+ Alternatively, you can use the "Launch Program" configuration in VS Code if you prefer to launch the currently open file directly, but 'F5' is generally recommended.
253
+
254
+ To hit a breakpoint inside the sandbox container run:
255
+
256
+ ```bash
257
+ DEBUG=1 qwen-code
258
+ ```
259
+
260
+ **Note:** If you have `DEBUG=true` in a project's `.env` file, it won't affect qwen-code due to automatic exclusion. Use `.qwen-code/.env` files for qwen-code specific debug settings.
261
+
262
+ ### React DevTools
263
+
264
+ To debug the CLI's React-based UI, you can use React DevTools. Ink, the library used for the CLI's interface, is compatible with React DevTools version 4.x.
265
+
266
+ 1. **Start the Qwen Code application in development mode:**
267
+
268
+ ```bash
269
+ DEV=true npm start
270
+ ```
271
+
272
+ 2. **Install and run React DevTools version 4.28.5 (or the latest compatible 4.x version):**
273
+
274
+ You can either install it globally:
275
+
276
+ ```bash
277
+ npm install -g react-devtools@4.28.5
278
+ react-devtools
279
+ ```
280
+
281
+ Or run it directly using npx:
282
+
283
+ ```bash
284
+ npx react-devtools@4.28.5
285
+ ```
286
+
287
+ Your running CLI application should then connect to React DevTools.
288
+
289
+ ## Sandboxing
290
+
291
+ > TBD
292
+
293
+ ## Manual Publish
294
+
295
+ We publish an artifact for each commit to our internal registry. But if you need to manually cut a local build, then run the following commands:
296
+
297
+ ```
298
+ npm run clean
299
+ npm install
300
+ npm run auth
301
+ npm run prerelease:dev
302
+ npm publish --workspaces
303
+ ```
@@ -0,0 +1,9 @@
1
+ export default {
2
+ npm: 'NPM',
3
+ telemetry: 'Telemetry',
4
+ 'integration-tests': 'Integration Tests',
5
+ 'issue-and-pr-automation': 'Issue and PR Automation',
6
+ deployment: {
7
+ display: 'hidden',
8
+ },
9
+ };
@@ -0,0 +1,117 @@
1
+ # Qwen Code Execution and Deployment
2
+
3
+ This document describes how to run Qwen Code and explains the deployment architecture that Qwen Code uses.
4
+
5
+ ## Running Qwen Code
6
+
7
+ There are several ways to run Qwen Code. The option you choose depends on how you intend to use it.
8
+
9
+ ---
10
+
11
+ ### 1. Standard installation (Recommended for typical users)
12
+
13
+ This is the recommended way for end-users to install Qwen Code. It involves downloading the Qwen Code package from the NPM registry.
14
+
15
+ - **Global install:**
16
+
17
+ ```bash
18
+ npm install -g @qwen-code/qwen-code
19
+ ```
20
+
21
+ Then, run the CLI from anywhere:
22
+
23
+ ```bash
24
+ qwen
25
+ ```
26
+
27
+ - **NPX execution:**
28
+
29
+ ```bash
30
+ # Execute the latest version from NPM without a global install
31
+ npx @qwen-code/qwen-code
32
+ ```
33
+
34
+ ---
35
+
36
+ ### 2. Running in a sandbox (Docker/Podman)
37
+
38
+ For security and isolation, Qwen Code can be run inside a container. This is the default way that the CLI executes tools that might have side effects.
39
+
40
+ - **Directly from the Registry:**
41
+ You can run the published sandbox image directly. This is useful for environments where you only have Docker and want to run the CLI.
42
+ ```bash
43
+ # Run the published sandbox image
44
+ docker run --rm -it ghcr.io/qwenlm/qwen-code:0.0.11
45
+ ```
46
+ - **Using the `--sandbox` flag:**
47
+ If you have Qwen Code installed locally (using the standard installation described above), you can instruct it to run inside the sandbox container.
48
+ ```bash
49
+ qwen --sandbox -y -p "your prompt here"
50
+ ```
51
+
52
+ ---
53
+
54
+ ### 3. Running from source (Recommended for Qwen Code contributors)
55
+
56
+ Contributors to the project will want to run the CLI directly from the source code.
57
+
58
+ - **Development Mode:**
59
+ This method provides hot-reloading and is useful for active development.
60
+ ```bash
61
+ # From the root of the repository
62
+ npm run start
63
+ ```
64
+ - **Production-like mode (Linked package):**
65
+ This method simulates a global installation by linking your local package. It's useful for testing a local build in a production workflow.
66
+
67
+ ```bash
68
+ # Link the local cli package to your global node_modules
69
+ npm link packages/cli
70
+
71
+ # Now you can run your local version using the `qwen` command
72
+ qwen
73
+ ```
74
+
75
+ ---
76
+
77
+ ### 4. Running the latest Qwen Code commit from GitHub
78
+
79
+ You can run the most recently committed version of Qwen Code directly from the GitHub repository. This is useful for testing features still in development.
80
+
81
+ ```bash
82
+ # Execute the CLI directly from the main branch on GitHub
83
+ npx https://github.com/QwenLM/qwen-code
84
+ ```
85
+
86
+ ## Deployment architecture
87
+
88
+ The execution methods described above are made possible by the following architectural components and processes:
89
+
90
+ **NPM packages**
91
+
92
+ Qwen Code project is a monorepo that publishes core packages to the NPM registry:
93
+
94
+ - `@qwen-code/qwen-code-core`: The backend, handling logic and tool execution.
95
+ - `@qwen-code/qwen-code`: The user-facing frontend.
96
+
97
+ These packages are used when performing the standard installation and when running Qwen Code from the source.
98
+
99
+ **Build and packaging processes**
100
+
101
+ There are two distinct build processes used, depending on the distribution channel:
102
+
103
+ - **NPM publication:** For publishing to the NPM registry, the TypeScript source code in `@qwen-code/qwen-code-core` and `@qwen-code/qwen-code` is transpiled into standard JavaScript using the TypeScript Compiler (`tsc`). The resulting `dist/` directory is what gets published in the NPM package. This is a standard approach for TypeScript libraries.
104
+
105
+ - **GitHub `npx` execution:** When running the latest version of Qwen Code directly from GitHub, a different process is triggered by the `prepare` script in `package.json`. This script uses `esbuild` to bundle the entire application and its dependencies into a single, self-contained JavaScript file. This bundle is created on-the-fly on the user's machine and is not checked into the repository.
106
+
107
+ **Docker sandbox image**
108
+
109
+ The Docker-based execution method is supported by the `qwen-code-sandbox` container image. This image is published to a container registry and contains a pre-installed, global version of Qwen Code.
110
+
111
+ ## Release process
112
+
113
+ The release process is automated through GitHub Actions. The release workflow performs the following actions:
114
+
115
+ 1. Build the NPM packages using `tsc`.
116
+ 2. Publish the NPM packages to the artifact registry.
117
+ 3. Create GitHub releases with bundled assets.
@@ -0,0 +1,137 @@
1
+ # Integration Tests
2
+
3
+ This document provides information about the integration testing framework used in this project.
4
+
5
+ ## Overview
6
+
7
+ The integration tests are designed to validate the end-to-end functionality of Qwen Code. They execute the built binary in a controlled environment and verify that it behaves as expected when interacting with the file system.
8
+
9
+ These tests are located in the `integration-tests` directory and are run using a custom test runner.
10
+
11
+ ## Running the tests
12
+
13
+ The integration tests are not run as part of the default `npm run test` command. They must be run explicitly using the `npm run test:integration:all` script.
14
+
15
+ The integration tests can also be run using the following shortcut:
16
+
17
+ ```bash
18
+ npm run test:e2e
19
+ ```
20
+
21
+ ## Running a specific set of tests
22
+
23
+ To run a subset of test files, you can use `npm run <integration test command> <file_name1> ....` where &lt;integration test command&gt; is either `test:e2e` or `test:integration*` and `<file_name>` is any of the `.test.js` files in the `integration-tests/` directory. For example, the following command runs `list_directory.test.js` and `write_file.test.js`:
24
+
25
+ ```bash
26
+ npm run test:e2e list_directory write_file
27
+ ```
28
+
29
+ ### Running a single test by name
30
+
31
+ To run a single test by its name, use the `--test-name-pattern` flag:
32
+
33
+ ```bash
34
+ npm run test:e2e -- --test-name-pattern "reads a file"
35
+ ```
36
+
37
+ ### Running all tests
38
+
39
+ To run the entire suite of integration tests, use the following command:
40
+
41
+ ```bash
42
+ npm run test:integration:all
43
+ ```
44
+
45
+ ### Sandbox matrix
46
+
47
+ The `all` command will run tests for `no sandboxing`, `docker` and `podman`.
48
+ Each individual type can be run using the following commands:
49
+
50
+ ```bash
51
+ npm run test:integration:sandbox:none
52
+ ```
53
+
54
+ ```bash
55
+ npm run test:integration:sandbox:docker
56
+ ```
57
+
58
+ ```bash
59
+ npm run test:integration:sandbox:podman
60
+ ```
61
+
62
+ ## Diagnostics
63
+
64
+ The integration test runner provides several options for diagnostics to help track down test failures.
65
+
66
+ ### Keeping test output
67
+
68
+ You can preserve the temporary files created during a test run for inspection. This is useful for debugging issues with file system operations.
69
+
70
+ To keep the test output set the `KEEP_OUTPUT` environment variable to `true`.
71
+
72
+ ```bash
73
+ KEEP_OUTPUT=true npm run test:integration:sandbox:none
74
+ ```
75
+
76
+ When output is kept, the test runner will print the path to the unique directory for the test run.
77
+
78
+ ### Verbose output
79
+
80
+ For more detailed debugging, set the `VERBOSE` environment variable to `true`.
81
+
82
+ ```bash
83
+ VERBOSE=true npm run test:integration:sandbox:none
84
+ ```
85
+
86
+ When using `VERBOSE=true` and `KEEP_OUTPUT=true` in the same command, the output is streamed to the console and also saved to a log file within the test's temporary directory.
87
+
88
+ The verbose output is formatted to clearly identify the source of the logs:
89
+
90
+ ```
91
+ --- TEST: <log dir>:<test-name> ---
92
+ ... output from the qwen command ...
93
+ --- END TEST: <log dir>:<test-name> ---
94
+ ```
95
+
96
+ ## Linting and formatting
97
+
98
+ To ensure code quality and consistency, the integration test files are linted as part of the main build process. You can also manually run the linter and auto-fixer.
99
+
100
+ ### Running the linter
101
+
102
+ To check for linting errors, run the following command:
103
+
104
+ ```bash
105
+ npm run lint
106
+ ```
107
+
108
+ You can include the `:fix` flag in the command to automatically fix any fixable linting errors:
109
+
110
+ ```bash
111
+ npm run lint:fix
112
+ ```
113
+
114
+ ## Directory structure
115
+
116
+ The integration tests create a unique directory for each test run inside the `.integration-tests` directory. Within this directory, a subdirectory is created for each test file, and within that, a subdirectory is created for each individual test case.
117
+
118
+ This structure makes it easy to locate the artifacts for a specific test run, file, or case.
119
+
120
+ ```
121
+ .integration-tests/
122
+ └── <run-id>/
123
+ └── <test-file-name>.test.js/
124
+ └── <test-case-name>/
125
+ ├── output.log
126
+ └── ...other test artifacts...
127
+ ```
128
+
129
+ ## Continuous integration
130
+
131
+ To ensure the integration tests are always run, a GitHub Actions workflow is defined in `.github/workflows/e2e.yml`. This workflow automatically runs the integrations tests for pull requests against the `main` branch, or when a pull request is added to a merge queue.
132
+
133
+ The workflow runs the tests in different sandboxing environments to ensure Qwen Code is tested across each:
134
+
135
+ - `sandbox:none`: Runs the tests without any sandboxing.
136
+ - `sandbox:docker`: Runs the tests in a Docker container.
137
+ - `sandbox:podman`: Runs the tests in a Podman container.
@@ -0,0 +1,84 @@
1
+ # Automation and Triage Processes
2
+
3
+ This document provides a detailed overview of the automated processes we use to manage and triage issues and pull requests. Our goal is to provide prompt feedback and ensure that contributions are reviewed and integrated efficiently. Understanding this automation will help you as a contributor know what to expect and how to best interact with our repository bots.
4
+
5
+ ## Guiding Principle: Issues and Pull Requests
6
+
7
+ First and foremost, almost every Pull Request (PR) should be linked to a corresponding Issue. The issue describes the "what" and the "why" (the bug or feature), while the PR is the "how" (the implementation). This separation helps us track work, prioritize features, and maintain clear historical context. Our automation is built around this principle.
8
+
9
+ ---
10
+
11
+ ## Detailed Automation Workflows
12
+
13
+ Here is a breakdown of the specific automation workflows that run in our repository.
14
+
15
+ ### 1. When you open an Issue: `Automated Issue Triage`
16
+
17
+ This is the first bot you will interact with when you create an issue. Its job is to perform an initial analysis and apply the correct labels.
18
+
19
+ - **Workflow File**: `.github/workflows/qwen-automated-issue-triage.yml`
20
+ - **When it runs**: Immediately after an issue is created or reopened.
21
+ - **What it does**:
22
+ - It uses a Qwen model to analyze the issue's title and body against a detailed set of guidelines.
23
+ - **Applies one `area/*` label**: Categorizes the issue into a functional area of the project (e.g., `area/ux`, `area/models`, `area/platform`).
24
+ - **Applies one `kind/*` label**: Identifies the type of issue (e.g., `kind/bug`, `kind/enhancement`, `kind/question`).
25
+ - **Applies one `priority/*` label**: Assigns a priority from P0 (critical) to P3 (low) based on the described impact.
26
+ - **May apply `status/need-information`**: If the issue lacks critical details (like logs or reproduction steps), it will be flagged for more information.
27
+ - **May apply `status/need-retesting`**: If the issue references a CLI version that is more than six versions old, it will be flagged for retesting on a current version.
28
+ - **What you should do**:
29
+ - Fill out the issue template as completely as possible. The more detail you provide, the more accurate the triage will be.
30
+ - If the `status/need-information` label is added, please provide the requested details in a comment.
31
+
32
+ ### 2. When you open a Pull Request: `Continuous Integration (CI)`
33
+
34
+ This workflow ensures that all changes meet our quality standards before they can be merged.
35
+
36
+ - **Workflow File**: `.github/workflows/ci.yml`
37
+ - **When it runs**: On every push to a pull request.
38
+ - **What it does**:
39
+ - **Lint**: Checks that your code adheres to our project's formatting and style rules.
40
+ - **Test**: Runs our full suite of automated tests across macOS, Windows, and Linux, and on multiple Node.js versions. This is the most time-consuming part of the CI process.
41
+ - **Post Coverage Comment**: After all tests have successfully passed, a bot will post a comment on your PR. This comment provides a summary of how well your changes are covered by tests.
42
+ - **What you should do**:
43
+ - Ensure all CI checks pass. A green checkmark ✅ will appear next to your commit when everything is successful.
44
+ - If a check fails (a red "X" ❌), click the "Details" link next to the failed check to view the logs, identify the problem, and push a fix.
45
+
46
+ ### 3. Ongoing Triage for Pull Requests: `PR Auditing and Label Sync`
47
+
48
+ This workflow runs periodically to ensure all open PRs are correctly linked to issues and have consistent labels.
49
+
50
+ - **Workflow File**: `.github/workflows/qwen-scheduled-pr-triage.yml`
51
+ - **When it runs**: Every 15 minutes on all open pull requests.
52
+ - **What it does**:
53
+ - **Checks for a linked issue**: The bot scans your PR description for a keyword that links it to an issue (e.g., `Fixes #123`, `Closes #456`).
54
+ - **Adds `status/need-issue`**: If no linked issue is found, the bot will add the `status/need-issue` label to your PR. This is a clear signal that an issue needs to be created and linked.
55
+ - **Synchronizes labels**: If an issue _is_ linked, the bot ensures the PR's labels perfectly match the issue's labels. It will add any missing labels and remove any that don't belong, and it will remove the `status/need-issue` label if it was present.
56
+ - **What you should do**:
57
+ - **Always link your PR to an issue.** This is the most important step. Add a line like `Resolves #<issue-number>` to your PR description.
58
+ - This will ensure your PR is correctly categorized and moves through the review process smoothly.
59
+
60
+ ### 4. Ongoing Triage for Issues: `Scheduled Issue Triage`
61
+
62
+ This is a fallback workflow to ensure that no issue gets missed by the triage process.
63
+
64
+ - **Workflow File**: `.github/workflows/qwen-scheduled-issue-triage.yml`
65
+ - **When it runs**: Every hour on all open issues.
66
+ - **What it does**:
67
+ - It actively seeks out issues that either have no labels at all or still have the `status/need-triage` label.
68
+ - It then triggers the same powerful QwenCode-based analysis as the initial triage bot to apply the correct labels.
69
+ - **What you should do**:
70
+ - You typically don't need to do anything. This workflow is a safety net to ensure every issue is eventually categorized, even if the initial triage fails.
71
+
72
+ ### 5. Release Automation
73
+
74
+ This workflow handles the process of packaging and publishing new versions of Qwen Code.
75
+
76
+ - **Workflow File**: `.github/workflows/release.yml`
77
+ - **When it runs**: On a daily schedule for "nightly" releases, and manually for official patch/minor releases.
78
+ - **What it does**:
79
+ - Automatically builds the project, bumps the version numbers, and publishes the packages to npm.
80
+ - Creates a corresponding release on GitHub with generated release notes.
81
+ - **What you should do**:
82
+ - As a contributor, you don't need to do anything for this process. You can be confident that once your PR is merged into the `main` branch, your changes will be included in the very next nightly release.
83
+
84
+ We hope this detailed overview is helpful. If you have any questions about our automation or processes, please don't hesitate to ask!