@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.
- package/.allstar/branch_protection.yaml +1 -0
- package/.aoneci/workflows/ci.yml +69 -0
- package/.dockerignore +10 -0
- package/.editorconfig +13 -0
- package/.gcp/Dockerfile.gemini-code-builder +89 -0
- package/.gcp/release-docker.yml +71 -0
- package/.gitattributes +24 -0
- package/.github/CODEOWNERS +3 -0
- package/.github/ISSUE_TEMPLATE/bug_report.yml +58 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +35 -0
- package/.github/actions/post-coverage-comment/action.yml +114 -0
- package/.github/dependabot.yml +35 -0
- package/.github/pull_request_template.md +41 -0
- package/.github/scripts/pr-triage.sh +144 -0
- package/.github/workflows/build-and-publish-image.yml +109 -0
- package/.github/workflows/check-issue-completeness.yml +201 -0
- package/.github/workflows/ci.yml +239 -0
- package/.github/workflows/community-report.yml +197 -0
- package/.github/workflows/docs-page-action.yml +50 -0
- package/.github/workflows/e2e.yml +111 -0
- package/.github/workflows/eval.yml +29 -0
- package/.github/workflows/gemini-automated-issue-dedup.yml +262 -0
- package/.github/workflows/gemini-scheduled-issue-dedup.yml +116 -0
- package/.github/workflows/gemini-scheduled-pr-triage.yml +30 -0
- package/.github/workflows/gemini-self-assign-issue.yml +99 -0
- package/.github/workflows/no-response.yml +33 -0
- package/.github/workflows/qwen-automated-issue-triage.yml +203 -0
- package/.github/workflows/qwen-code-pr-review.yml +190 -0
- package/.github/workflows/qwen-scheduled-issue-triage.yml +213 -0
- package/.github/workflows/release-sdk.yml +420 -0
- package/.github/workflows/release-vscode-companion.yml +359 -0
- package/.github/workflows/release.yml +236 -0
- package/.github/workflows/stale.yml +39 -0
- package/.github/workflows/terminal-bench.yml +96 -0
- package/.husky/pre-commit +9 -0
- package/.nvmrc +1 -0
- package/.prettierignore +22 -0
- package/.prettierrc.json +7 -0
- package/.qwen/commands/qc/code-review.md +25 -0
- package/.qwen/commands/qc/commit.md +70 -0
- package/.qwen/commands/qc/create-issue.md +42 -0
- package/.qwen/commands/qc/create-pr.md +34 -0
- package/.qwen/ice-auto-load.sh +39 -0
- package/.qwen/ice.py +822 -0
- package/.qwen/qwen.md +70 -0
- package/.qwen/skills/pr-review/SKILL.md +104 -0
- package/.qwen/skills/terminal-capture/SKILL.md +241 -0
- package/.termux-backup/esbuild.config.js +77 -0
- package/.termux-backup/package.json.backup +135 -0
- package/.termux-backup/patches-README.md +231 -0
- package/.termux-backup/postinstall.cjs +14 -0
- package/.termux-backup/prepare-termux.cjs +33 -0
- package/.termux-backup/termux-runtime.ts +50 -0
- package/.vscode/extensions.json +7 -0
- package/.vscode/launch.json +165 -0
- package/.vscode/settings.json +17 -0
- package/.vscode/tasks.json +41 -0
- package/.yamllint.yml +90 -0
- package/CHANGELOG.md +77 -0
- package/CONTRIBUTING.md +303 -0
- package/Dockerfile +73 -0
- package/LICENSE +203 -0
- package/Makefile +59 -0
- package/README.md +263 -0
- package/SECURITY.md +9 -0
- package/docs/_meta.ts +14 -0
- package/docs/developers/BUILDING.md +145 -0
- package/docs/developers/_meta.ts +25 -0
- package/docs/developers/architecture.md +95 -0
- package/docs/developers/contributing.md +303 -0
- package/docs/developers/development/_meta.ts +9 -0
- package/docs/developers/development/deployment.md +117 -0
- package/docs/developers/development/integration-tests.md +137 -0
- package/docs/developers/development/issue-and-pr-automation.md +84 -0
- package/docs/developers/development/npm.md +258 -0
- package/docs/developers/development/telemetry.md +297 -0
- package/docs/developers/examples/proxy-script.md +81 -0
- package/docs/developers/roadmap.md +82 -0
- package/docs/developers/sdk-java.md +311 -0
- package/docs/developers/sdk-typescript.md +375 -0
- package/docs/developers/tools/_meta.ts +14 -0
- package/docs/developers/tools/exit-plan-mode.md +149 -0
- package/docs/developers/tools/file-system.md +167 -0
- package/docs/developers/tools/introduction.md +62 -0
- package/docs/developers/tools/mcp-server.md +873 -0
- package/docs/developers/tools/memory.md +44 -0
- package/docs/developers/tools/multi-file.md +69 -0
- package/docs/developers/tools/sandbox.md +91 -0
- package/docs/developers/tools/shell.md +259 -0
- package/docs/developers/tools/task.md +145 -0
- package/docs/developers/tools/todo-write.md +63 -0
- package/docs/developers/tools/web-fetch.md +54 -0
- package/docs/developers/tools/web-search.md +186 -0
- package/docs/index.md +25 -0
- package/docs/users/_meta.ts +30 -0
- package/docs/users/common-workflow.md +571 -0
- package/docs/users/configuration/_meta.ts +10 -0
- package/docs/users/configuration/auth.md +297 -0
- package/docs/users/configuration/memory.md +0 -0
- package/docs/users/configuration/model-providers.md +506 -0
- package/docs/users/configuration/qwen-ignore.md +55 -0
- package/docs/users/configuration/settings.md +563 -0
- package/docs/users/configuration/themes.md +160 -0
- package/docs/users/configuration/trusted-folders.md +61 -0
- package/docs/users/configuration.md +73 -0
- package/docs/users/extension/_meta.ts +9 -0
- package/docs/users/extension/extension-releasing.md +121 -0
- package/docs/users/extension/getting-started-extensions.md +299 -0
- package/docs/users/extension/introduction.md +303 -0
- package/docs/users/features/_meta.ts +15 -0
- package/docs/users/features/approval-mode.md +263 -0
- package/docs/users/features/checkpointing.md +77 -0
- package/docs/users/features/commands.md +295 -0
- package/docs/users/features/headless.md +282 -0
- package/docs/users/features/language.md +139 -0
- package/docs/users/features/lsp.md +374 -0
- package/docs/users/features/mcp.md +281 -0
- package/docs/users/features/sandbox.md +218 -0
- package/docs/users/features/skills.md +289 -0
- package/docs/users/features/sub-agents.md +504 -0
- package/docs/users/features/token-caching.md +29 -0
- package/docs/users/ide-integration/_meta.ts +4 -0
- package/docs/users/ide-integration/ide-companion-spec.md +182 -0
- package/docs/users/ide-integration/ide-integration.md +144 -0
- package/docs/users/integration-github-action.md +241 -0
- package/docs/users/integration-jetbrains.md +57 -0
- package/docs/users/integration-vscode.md +39 -0
- package/docs/users/integration-zed.md +54 -0
- package/docs/users/overview.md +64 -0
- package/docs/users/quickstart.md +271 -0
- package/docs/users/reference/_meta.ts +3 -0
- package/docs/users/reference/keyboard-shortcuts.md +72 -0
- package/docs/users/support/Uninstall.md +42 -0
- package/docs/users/support/_meta.ts +6 -0
- package/docs/users/support/tos-privacy.md +112 -0
- package/docs/users/support/troubleshooting.md +123 -0
- package/docs-site/README.md +54 -0
- package/docs-site/mdx-components.js +12 -0
- package/docs-site/next-env.d.ts +6 -0
- package/docs-site/next.config.mjs +5 -0
- package/docs-site/package.json +22 -0
- package/docs-site/src/app/[[...mdxPath]]/page.jsx +27 -0
- package/docs-site/src/app/layout.jsx +55 -0
- package/esbuild.config.js +80 -0
- package/eslint-rules/no-relative-cross-package-imports.js +159 -0
- package/eslint.config.js +327 -0
- package/hello/QWEN.md +8 -0
- package/hello/qwen-extension.json +5 -0
- package/integration-tests/acp-integration.test.ts +1003 -0
- package/integration-tests/concurrent-runner/README.md +139 -0
- package/integration-tests/concurrent-runner/config.example.json +39 -0
- package/integration-tests/concurrent-runner/examples/toy-config.json +27 -0
- package/integration-tests/concurrent-runner/examples/toy-project/package.json +11 -0
- package/integration-tests/concurrent-runner/export-html-from-chatrecord-jsonl.js +973 -0
- package/integration-tests/concurrent-runner/render-chat-temp.html +291 -0
- package/integration-tests/concurrent-runner/requirements.txt +2 -0
- package/integration-tests/concurrent-runner/runner.py +1083 -0
- package/integration-tests/context-compress-interactive.test.ts +108 -0
- package/integration-tests/ctrl-c-exit.test.ts +76 -0
- package/integration-tests/edit.test.ts +185 -0
- package/integration-tests/extensions-install.test.ts +52 -0
- package/integration-tests/file-system-interactive.test.ts +83 -0
- package/integration-tests/file-system.test.ts +247 -0
- package/integration-tests/fixtures/settings-migration/workspaces.json +189 -0
- package/integration-tests/globalSetup.ts +136 -0
- package/integration-tests/hook-integration/hooks.test.ts +1995 -0
- package/integration-tests/json-output.test.ts +310 -0
- package/integration-tests/list_directory.test.ts +66 -0
- package/integration-tests/mcp_server_cyclic_schema.test.ts +207 -0
- package/integration-tests/mixed-input-crash.test.ts +62 -0
- package/integration-tests/read_many_files.test.ts +47 -0
- package/integration-tests/run_shell_command.test.ts +130 -0
- package/integration-tests/save_memory.test.ts +47 -0
- package/integration-tests/sdk-typescript/abort-and-lifecycle.test.ts +657 -0
- package/integration-tests/sdk-typescript/configuration-options.test.ts +636 -0
- package/integration-tests/sdk-typescript/mcp-server.test.ts +581 -0
- package/integration-tests/sdk-typescript/multi-turn.test.ts +610 -0
- package/integration-tests/sdk-typescript/permission-control.test.ts +1272 -0
- package/integration-tests/sdk-typescript/sdk-mcp-server.test.ts +467 -0
- package/integration-tests/sdk-typescript/session-id.test.ts +582 -0
- package/integration-tests/sdk-typescript/single-turn.test.ts +528 -0
- package/integration-tests/sdk-typescript/subagents.test.ts +570 -0
- package/integration-tests/sdk-typescript/system-control.test.ts +426 -0
- package/integration-tests/sdk-typescript/test-helper.ts +1012 -0
- package/integration-tests/sdk-typescript/tool-control.test.ts +984 -0
- package/integration-tests/settings-migration.test.ts +627 -0
- package/integration-tests/simple-mcp-server.test.ts +231 -0
- package/integration-tests/stdin-context.test.ts +97 -0
- package/integration-tests/telemetry.test.ts +26 -0
- package/integration-tests/terminal-bench/ci-tasks/hello-world/Dockerfile +2 -0
- package/integration-tests/terminal-bench/ci-tasks/hello-world/docker-compose.yaml +12 -0
- package/integration-tests/terminal-bench/ci-tasks/hello-world/run-tests.sh +4 -0
- package/integration-tests/terminal-bench/ci-tasks/hello-world/solution.sh +4 -0
- package/integration-tests/terminal-bench/ci-tasks/hello-world/task.yaml +15 -0
- package/integration-tests/terminal-bench/ci-tasks/hello-world/tests/run-uv-pytest.sh +3 -0
- package/integration-tests/terminal-bench/ci-tasks/hello-world/tests/setup-uv-pytest.sh +19 -0
- package/integration-tests/terminal-bench/ci-tasks/hello-world/tests/test_outputs.py +19 -0
- package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/Dockerfile +34 -0
- package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/docker-compose.yaml +12 -0
- package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/run-tests.sh +52 -0
- package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/solution.sh +26 -0
- package/integration-tests/terminal-bench/ci-tasks/swe-bench-astropy-1/task.yaml +55 -0
- package/integration-tests/terminal-bench/qwen-code-setup.sh.j2 +15 -0
- package/integration-tests/terminal-bench/qwen_code.py +70 -0
- package/integration-tests/terminal-bench/terminal-bench.test.ts +328 -0
- package/integration-tests/terminal-capture/motivation.md +127 -0
- package/integration-tests/terminal-capture/package.json +18 -0
- package/integration-tests/terminal-capture/run.ts +105 -0
- package/integration-tests/terminal-capture/scenario-runner.ts +429 -0
- package/integration-tests/terminal-capture/scenarios/about.ts +8 -0
- package/integration-tests/terminal-capture/scenarios/all.ts +46 -0
- package/integration-tests/terminal-capture/scenarios/message-components.ts +32 -0
- package/integration-tests/terminal-capture/scenarios/progress.sh +16 -0
- package/integration-tests/terminal-capture/scenarios/qc-code-review.ts +17 -0
- package/integration-tests/terminal-capture/scenarios/streaming-insight.ts +23 -0
- package/integration-tests/terminal-capture/scenarios/streaming-shell.ts +24 -0
- package/integration-tests/terminal-capture/terminal-capture.ts +856 -0
- package/integration-tests/test-helper.ts +863 -0
- package/integration-tests/test-mcp-server.ts +64 -0
- package/integration-tests/todo_write.test.ts +69 -0
- package/integration-tests/tsconfig.json +13 -0
- package/integration-tests/utf-bom-encoding.test.ts +218 -0
- package/integration-tests/vitest.config.ts +40 -0
- package/integration-tests/vitest.terminal-bench.config.ts +21 -0
- package/integration-tests/web_search.test.ts +122 -0
- package/integration-tests/write_file.test.ts +69 -0
- package/package.json +43 -0
- package/packages/cli/index.ts +30 -0
- package/packages/cli/package.json +112 -0
- package/packages/cli/src/acp-integration/acpAgent.ts +600 -0
- package/packages/cli/src/acp-integration/authMethods.ts +51 -0
- package/packages/cli/src/acp-integration/errorCodes.ts +25 -0
- package/packages/cli/src/acp-integration/service/filesystem.test.ts +182 -0
- package/packages/cli/src/acp-integration/service/filesystem.ts +108 -0
- package/packages/cli/src/acp-integration/session/HistoryReplayer.test.ts +477 -0
- package/packages/cli/src/acp-integration/session/HistoryReplayer.ts +234 -0
- package/packages/cli/src/acp-integration/session/Session.test.ts +245 -0
- package/packages/cli/src/acp-integration/session/Session.ts +1068 -0
- package/packages/cli/src/acp-integration/session/SubAgentTracker.test.ts +725 -0
- package/packages/cli/src/acp-integration/session/SubAgentTracker.ts +390 -0
- package/packages/cli/src/acp-integration/session/emitters/BaseEmitter.ts +52 -0
- package/packages/cli/src/acp-integration/session/emitters/MessageEmitter.test.ts +206 -0
- package/packages/cli/src/acp-integration/session/emitters/MessageEmitter.ts +124 -0
- package/packages/cli/src/acp-integration/session/emitters/PlanEmitter.test.ts +228 -0
- package/packages/cli/src/acp-integration/session/emitters/PlanEmitter.ts +96 -0
- package/packages/cli/src/acp-integration/session/emitters/ToolCallEmitter.test.ts +677 -0
- package/packages/cli/src/acp-integration/session/emitters/ToolCallEmitter.ts +328 -0
- package/packages/cli/src/acp-integration/session/emitters/index.ts +10 -0
- package/packages/cli/src/acp-integration/session/index.ts +40 -0
- package/packages/cli/src/acp-integration/session/types.ts +102 -0
- package/packages/cli/src/commands/extensions/consent.test.ts +327 -0
- package/packages/cli/src/commands/extensions/consent.ts +269 -0
- package/packages/cli/src/commands/extensions/disable.test.ts +145 -0
- package/packages/cli/src/commands/extensions/disable.ts +77 -0
- package/packages/cli/src/commands/extensions/enable.test.ts +133 -0
- package/packages/cli/src/commands/extensions/enable.ts +89 -0
- package/packages/cli/src/commands/extensions/examples/agent/agents/diary.md +87 -0
- package/packages/cli/src/commands/extensions/examples/agent/qwen-extension.json +4 -0
- package/packages/cli/src/commands/extensions/examples/commands/commands/fs/grep-code.md +3 -0
- package/packages/cli/src/commands/extensions/examples/commands/qwen-extension.json +4 -0
- package/packages/cli/src/commands/extensions/examples/context/QWEN.md +8 -0
- package/packages/cli/src/commands/extensions/examples/context/qwen-extension.json +4 -0
- package/packages/cli/src/commands/extensions/examples/mcp-server/example.ts +60 -0
- package/packages/cli/src/commands/extensions/examples/mcp-server/package.json +18 -0
- package/packages/cli/src/commands/extensions/examples/mcp-server/qwen-extension.json +11 -0
- package/packages/cli/src/commands/extensions/examples/mcp-server/tsconfig.json +13 -0
- package/packages/cli/src/commands/extensions/examples/skills/qwen-extension.json +4 -0
- package/packages/cli/src/commands/extensions/examples/skills/skills/synonyms/SKILL.md +48 -0
- package/packages/cli/src/commands/extensions/install.test.ts +228 -0
- package/packages/cli/src/commands/extensions/install.ts +131 -0
- package/packages/cli/src/commands/extensions/link.test.ts +99 -0
- package/packages/cli/src/commands/extensions/link.ts +66 -0
- package/packages/cli/src/commands/extensions/list.test.ts +103 -0
- package/packages/cli/src/commands/extensions/list.ts +42 -0
- package/packages/cli/src/commands/extensions/new.test.ts +91 -0
- package/packages/cli/src/commands/extensions/new.ts +110 -0
- package/packages/cli/src/commands/extensions/settings.test.ts +345 -0
- package/packages/cli/src/commands/extensions/settings.ts +152 -0
- package/packages/cli/src/commands/extensions/uninstall.test.ts +21 -0
- package/packages/cli/src/commands/extensions/uninstall.ts +71 -0
- package/packages/cli/src/commands/extensions/update.test.ts +260 -0
- package/packages/cli/src/commands/extensions/update.ts +155 -0
- package/packages/cli/src/commands/extensions/utils.test.ts +138 -0
- package/packages/cli/src/commands/extensions/utils.ts +98 -0
- package/packages/cli/src/commands/extensions.test.tsx +106 -0
- package/packages/cli/src/commands/extensions.tsx +38 -0
- package/packages/cli/src/commands/hooks/disable.ts +78 -0
- package/packages/cli/src/commands/hooks/enable.ts +78 -0
- package/packages/cli/src/commands/hooks.tsx +25 -0
- package/packages/cli/src/commands/mcp/add.test.ts +371 -0
- package/packages/cli/src/commands/mcp/add.ts +247 -0
- package/packages/cli/src/commands/mcp/list.test.ts +189 -0
- package/packages/cli/src/commands/mcp/list.ts +148 -0
- package/packages/cli/src/commands/mcp/remove.test.ts +115 -0
- package/packages/cli/src/commands/mcp/remove.ts +70 -0
- package/packages/cli/src/commands/mcp.test.ts +55 -0
- package/packages/cli/src/commands/mcp.ts +27 -0
- package/packages/cli/src/config/auth.test.ts +230 -0
- package/packages/cli/src/config/auth.ts +223 -0
- package/packages/cli/src/config/config.integration.test.ts +417 -0
- package/packages/cli/src/config/config.test.ts +2402 -0
- package/packages/cli/src/config/config.ts +1089 -0
- package/packages/cli/src/config/keyBindings.test.ts +59 -0
- package/packages/cli/src/config/keyBindings.ts +186 -0
- package/packages/cli/src/config/migration/index.test.ts +383 -0
- package/packages/cli/src/config/migration/index.ts +106 -0
- package/packages/cli/src/config/migration/scheduler.test.ts +164 -0
- package/packages/cli/src/config/migration/scheduler.ts +115 -0
- package/packages/cli/src/config/migration/types.ts +58 -0
- package/packages/cli/src/config/migration/versions/v1-to-v2-shared.ts +180 -0
- package/packages/cli/src/config/migration/versions/v1-to-v2.test.ts +277 -0
- package/packages/cli/src/config/migration/versions/v1-to-v2.ts +267 -0
- package/packages/cli/src/config/migration/versions/v2-to-v3.test.ts +598 -0
- package/packages/cli/src/config/migration/versions/v2-to-v3.ts +222 -0
- package/packages/cli/src/config/modelProvidersScope.test.ts +87 -0
- package/packages/cli/src/config/modelProvidersScope.ts +48 -0
- package/packages/cli/src/config/sandboxConfig.ts +105 -0
- package/packages/cli/src/config/settings.test.ts +2786 -0
- package/packages/cli/src/config/settings.ts +740 -0
- package/packages/cli/src/config/settingsSchema.test.ts +312 -0
- package/packages/cli/src/config/settingsSchema.ts +1277 -0
- package/packages/cli/src/config/trustedFolders.test.ts +429 -0
- package/packages/cli/src/config/trustedFolders.ts +239 -0
- package/packages/cli/src/config/webSearch.ts +121 -0
- package/packages/cli/src/constants/codingPlan.ts +321 -0
- package/packages/cli/src/core/auth.ts +48 -0
- package/packages/cli/src/core/initializer.ts +74 -0
- package/packages/cli/src/core/theme.ts +24 -0
- package/packages/cli/src/gemini.test.tsx +691 -0
- package/packages/cli/src/gemini.tsx +512 -0
- package/packages/cli/src/i18n/index.ts +257 -0
- package/packages/cli/src/i18n/languages.ts +98 -0
- package/packages/cli/src/i18n/locales/de.js +1613 -0
- package/packages/cli/src/i18n/locales/en.js +1665 -0
- package/packages/cli/src/i18n/locales/ja.js +1117 -0
- package/packages/cli/src/i18n/locales/pt.js +1608 -0
- package/packages/cli/src/i18n/locales/ru.js +1620 -0
- package/packages/cli/src/i18n/locales/zh.js +1485 -0
- package/packages/cli/src/nonInteractive/control/ControlContext.ts +79 -0
- package/packages/cli/src/nonInteractive/control/ControlDispatcher.test.ts +1010 -0
- package/packages/cli/src/nonInteractive/control/ControlDispatcher.ts +432 -0
- package/packages/cli/src/nonInteractive/control/ControlService.ts +179 -0
- package/packages/cli/src/nonInteractive/control/controllers/baseController.ts +226 -0
- package/packages/cli/src/nonInteractive/control/controllers/hookController.ts +56 -0
- package/packages/cli/src/nonInteractive/control/controllers/permissionController.ts +495 -0
- package/packages/cli/src/nonInteractive/control/controllers/sdkMcpController.ts +134 -0
- package/packages/cli/src/nonInteractive/control/controllers/systemController.ts +419 -0
- package/packages/cli/src/nonInteractive/control/types/serviceAPIs.ts +117 -0
- package/packages/cli/src/nonInteractive/io/BaseJsonOutputAdapter.test.ts +1652 -0
- package/packages/cli/src/nonInteractive/io/BaseJsonOutputAdapter.ts +1339 -0
- package/packages/cli/src/nonInteractive/io/JsonOutputAdapter.test.ts +865 -0
- package/packages/cli/src/nonInteractive/io/JsonOutputAdapter.ts +89 -0
- package/packages/cli/src/nonInteractive/io/StreamJsonInputReader.test.ts +215 -0
- package/packages/cli/src/nonInteractive/io/StreamJsonInputReader.ts +73 -0
- package/packages/cli/src/nonInteractive/io/StreamJsonOutputAdapter.test.ts +1168 -0
- package/packages/cli/src/nonInteractive/io/StreamJsonOutputAdapter.ts +330 -0
- package/packages/cli/src/nonInteractive/session.test.ts +577 -0
- package/packages/cli/src/nonInteractive/session.ts +626 -0
- package/packages/cli/src/nonInteractive/types.ts +578 -0
- package/packages/cli/src/nonInteractiveCli.test.ts +1814 -0
- package/packages/cli/src/nonInteractiveCli.ts +420 -0
- package/packages/cli/src/nonInteractiveCliCommands.test.ts +242 -0
- package/packages/cli/src/nonInteractiveCliCommands.ts +386 -0
- package/packages/cli/src/patches/is-in-ci.ts +17 -0
- package/packages/cli/src/patches/termux-runtime.ts +50 -0
- package/packages/cli/src/services/BuiltinCommandLoader.test.ts +187 -0
- package/packages/cli/src/services/BuiltinCommandLoader.ts +101 -0
- package/packages/cli/src/services/CommandService.test.ts +348 -0
- package/packages/cli/src/services/CommandService.ts +106 -0
- package/packages/cli/src/services/FileCommandLoader-extension.test.ts +343 -0
- package/packages/cli/src/services/FileCommandLoader-markdown.test.ts +141 -0
- package/packages/cli/src/services/FileCommandLoader.test.ts +1254 -0
- package/packages/cli/src/services/FileCommandLoader.ts +363 -0
- package/packages/cli/src/services/McpPromptLoader.test.ts +399 -0
- package/packages/cli/src/services/McpPromptLoader.ts +305 -0
- package/packages/cli/src/services/command-factory.ts +157 -0
- package/packages/cli/src/services/command-migration-tool.test.ts +254 -0
- package/packages/cli/src/services/command-migration-tool.ts +173 -0
- package/packages/cli/src/services/insight/generators/DataProcessor.test.ts +1217 -0
- package/packages/cli/src/services/insight/generators/DataProcessor.ts +1131 -0
- package/packages/cli/src/services/insight/generators/StaticInsightGenerator.ts +93 -0
- package/packages/cli/src/services/insight/generators/TemplateRenderer.ts +52 -0
- package/packages/cli/src/services/insight/types/QualitativeInsightTypes.ts +82 -0
- package/packages/cli/src/services/insight/types/StaticInsightTypes.ts +90 -0
- package/packages/cli/src/services/markdown-command-parser.test.ts +189 -0
- package/packages/cli/src/services/markdown-command-parser.ts +69 -0
- package/packages/cli/src/services/prompt-processors/argumentProcessor.test.ts +43 -0
- package/packages/cli/src/services/prompt-processors/argumentProcessor.ts +27 -0
- package/packages/cli/src/services/prompt-processors/atFileProcessor.test.ts +221 -0
- package/packages/cli/src/services/prompt-processors/atFileProcessor.ts +99 -0
- package/packages/cli/src/services/prompt-processors/injectionParser.test.ts +223 -0
- package/packages/cli/src/services/prompt-processors/injectionParser.ts +89 -0
- package/packages/cli/src/services/prompt-processors/shellProcessor.test.ts +741 -0
- package/packages/cli/src/services/prompt-processors/shellProcessor.ts +233 -0
- package/packages/cli/src/services/prompt-processors/types.ts +54 -0
- package/packages/cli/src/services/test-commands/example.md +5 -0
- package/packages/cli/src/services/types.ts +24 -0
- package/packages/cli/src/test-utils/customMatchers.ts +66 -0
- package/packages/cli/src/test-utils/mockCommandContext.test.ts +62 -0
- package/packages/cli/src/test-utils/mockCommandContext.ts +119 -0
- package/packages/cli/src/test-utils/render.tsx +47 -0
- package/packages/cli/src/ui/App.test.tsx +160 -0
- package/packages/cli/src/ui/App.tsx +27 -0
- package/packages/cli/src/ui/AppContainer.test.tsx +1124 -0
- package/packages/cli/src/ui/AppContainer.tsx +1647 -0
- package/packages/cli/src/ui/CommandFormatMigrationNudge.tsx +94 -0
- package/packages/cli/src/ui/FeedbackDialog.tsx +75 -0
- package/packages/cli/src/ui/IdeIntegrationNudge.tsx +103 -0
- package/packages/cli/src/ui/auth/AuthDialog.test.tsx +558 -0
- package/packages/cli/src/ui/auth/AuthDialog.tsx +396 -0
- package/packages/cli/src/ui/auth/AuthInProgress.tsx +64 -0
- package/packages/cli/src/ui/auth/useAuth.ts +478 -0
- package/packages/cli/src/ui/colors.ts +62 -0
- package/packages/cli/src/ui/commands/aboutCommand.test.ts +283 -0
- package/packages/cli/src/ui/commands/aboutCommand.ts +30 -0
- package/packages/cli/src/ui/commands/agentsCommand.ts +44 -0
- package/packages/cli/src/ui/commands/approvalModeCommand.test.ts +175 -0
- package/packages/cli/src/ui/commands/approvalModeCommand.ts +83 -0
- package/packages/cli/src/ui/commands/authCommand.test.ts +38 -0
- package/packages/cli/src/ui/commands/authCommand.ts +22 -0
- package/packages/cli/src/ui/commands/bugCommand.test.ts +166 -0
- package/packages/cli/src/ui/commands/bugCommand.ts +68 -0
- package/packages/cli/src/ui/commands/clearCommand.test.ts +100 -0
- package/packages/cli/src/ui/commands/clearCommand.ts +49 -0
- package/packages/cli/src/ui/commands/compressCommand.test.ts +134 -0
- package/packages/cli/src/ui/commands/compressCommand.ts +175 -0
- package/packages/cli/src/ui/commands/copyCommand.test.ts +304 -0
- package/packages/cli/src/ui/commands/copyCommand.ts +67 -0
- package/packages/cli/src/ui/commands/directoryCommand.test.tsx +183 -0
- package/packages/cli/src/ui/commands/directoryCommand.tsx +207 -0
- package/packages/cli/src/ui/commands/docsCommand.test.ts +99 -0
- package/packages/cli/src/ui/commands/docsCommand.ts +53 -0
- package/packages/cli/src/ui/commands/editorCommand.test.ts +30 -0
- package/packages/cli/src/ui/commands/editorCommand.ts +24 -0
- package/packages/cli/src/ui/commands/exportCommand.test.ts +383 -0
- package/packages/cli/src/ui/commands/exportCommand.ts +347 -0
- package/packages/cli/src/ui/commands/extensionsCommand.test.ts +213 -0
- package/packages/cli/src/ui/commands/extensionsCommand.ts +255 -0
- package/packages/cli/src/ui/commands/helpCommand.test.ts +52 -0
- package/packages/cli/src/ui/commands/helpCommand.ts +27 -0
- package/packages/cli/src/ui/commands/hooksCommand.ts +322 -0
- package/packages/cli/src/ui/commands/ideCommand.test.ts +264 -0
- package/packages/cli/src/ui/commands/ideCommand.ts +335 -0
- package/packages/cli/src/ui/commands/initCommand.test.ts +169 -0
- package/packages/cli/src/ui/commands/initCommand.ts +134 -0
- package/packages/cli/src/ui/commands/insightCommand.ts +132 -0
- package/packages/cli/src/ui/commands/languageCommand.test.ts +848 -0
- package/packages/cli/src/ui/commands/languageCommand.ts +374 -0
- package/packages/cli/src/ui/commands/mcpCommand.test.ts +153 -0
- package/packages/cli/src/ui/commands/mcpCommand.ts +21 -0
- package/packages/cli/src/ui/commands/memoryCommand.test.ts +411 -0
- package/packages/cli/src/ui/commands/memoryCommand.ts +347 -0
- package/packages/cli/src/ui/commands/modelCommand.test.ts +140 -0
- package/packages/cli/src/ui/commands/modelCommand.ts +59 -0
- package/packages/cli/src/ui/commands/permissionsCommand.test.ts +35 -0
- package/packages/cli/src/ui/commands/permissionsCommand.ts +21 -0
- package/packages/cli/src/ui/commands/quitCommand.test.ts +55 -0
- package/packages/cli/src/ui/commands/quitCommand.ts +39 -0
- package/packages/cli/src/ui/commands/restoreCommand.test.ts +255 -0
- package/packages/cli/src/ui/commands/restoreCommand.ts +153 -0
- package/packages/cli/src/ui/commands/resumeCommand.test.ts +38 -0
- package/packages/cli/src/ui/commands/resumeCommand.ts +21 -0
- package/packages/cli/src/ui/commands/settingsCommand.test.ts +36 -0
- package/packages/cli/src/ui/commands/settingsCommand.ts +21 -0
- package/packages/cli/src/ui/commands/setupGithubCommand.test.ts +231 -0
- package/packages/cli/src/ui/commands/setupGithubCommand.ts +225 -0
- package/packages/cli/src/ui/commands/skillsCommand.ts +135 -0
- package/packages/cli/src/ui/commands/statsCommand.test.ts +78 -0
- package/packages/cli/src/ui/commands/statsCommand.ts +78 -0
- package/packages/cli/src/ui/commands/summaryCommand.ts +323 -0
- package/packages/cli/src/ui/commands/terminalSetupCommand.test.ts +85 -0
- package/packages/cli/src/ui/commands/terminalSetupCommand.ts +53 -0
- package/packages/cli/src/ui/commands/themeCommand.test.ts +38 -0
- package/packages/cli/src/ui/commands/themeCommand.ts +21 -0
- package/packages/cli/src/ui/commands/toolsCommand.test.ts +114 -0
- package/packages/cli/src/ui/commands/toolsCommand.ts +58 -0
- package/packages/cli/src/ui/commands/types.ts +254 -0
- package/packages/cli/src/ui/commands/vimCommand.ts +29 -0
- package/packages/cli/src/ui/components/AboutBox.tsx +52 -0
- package/packages/cli/src/ui/components/AnsiOutput.test.tsx +106 -0
- package/packages/cli/src/ui/components/AnsiOutput.tsx +50 -0
- package/packages/cli/src/ui/components/ApiKeyInput.tsx +95 -0
- package/packages/cli/src/ui/components/AppHeader.test.tsx +94 -0
- package/packages/cli/src/ui/components/AppHeader.tsx +76 -0
- package/packages/cli/src/ui/components/ApprovalModeDialog.tsx +182 -0
- package/packages/cli/src/ui/components/AsciiArt.ts +14 -0
- package/packages/cli/src/ui/components/AutoAcceptIndicator.tsx +58 -0
- package/packages/cli/src/ui/components/Composer.test.tsx +347 -0
- package/packages/cli/src/ui/components/Composer.tsx +116 -0
- package/packages/cli/src/ui/components/ConfigInitDisplay.tsx +56 -0
- package/packages/cli/src/ui/components/ConsentPrompt.test.tsx +119 -0
- package/packages/cli/src/ui/components/ConsentPrompt.tsx +51 -0
- package/packages/cli/src/ui/components/ContextSummaryDisplay.test.tsx +85 -0
- package/packages/cli/src/ui/components/ContextSummaryDisplay.tsx +143 -0
- package/packages/cli/src/ui/components/ContextUsageDisplay.tsx +34 -0
- package/packages/cli/src/ui/components/DebugModeNotification.tsx +39 -0
- package/packages/cli/src/ui/components/DebugProfiler.tsx +36 -0
- package/packages/cli/src/ui/components/DialogManager.tsx +321 -0
- package/packages/cli/src/ui/components/EditorSettingsDialog.tsx +195 -0
- package/packages/cli/src/ui/components/ExitWarning.tsx +29 -0
- package/packages/cli/src/ui/components/FolderTrustDialog.test.tsx +129 -0
- package/packages/cli/src/ui/components/FolderTrustDialog.tsx +110 -0
- package/packages/cli/src/ui/components/Footer.test.tsx +98 -0
- package/packages/cli/src/ui/components/Footer.tsx +124 -0
- package/packages/cli/src/ui/components/GeminiRespondingSpinner.tsx +67 -0
- package/packages/cli/src/ui/components/Header.test.tsx +84 -0
- package/packages/cli/src/ui/components/Header.tsx +158 -0
- package/packages/cli/src/ui/components/Help.test.tsx +83 -0
- package/packages/cli/src/ui/components/Help.tsx +188 -0
- package/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx +287 -0
- package/packages/cli/src/ui/components/HistoryItemDisplay.tsx +202 -0
- package/packages/cli/src/ui/components/IdeTrustChangeDialog.test.tsx +85 -0
- package/packages/cli/src/ui/components/IdeTrustChangeDialog.tsx +50 -0
- package/packages/cli/src/ui/components/InputPrompt.test.tsx +2579 -0
- package/packages/cli/src/ui/components/InputPrompt.tsx +1203 -0
- package/packages/cli/src/ui/components/KeyboardShortcuts.tsx +124 -0
- package/packages/cli/src/ui/components/LoadingIndicator.test.tsx +311 -0
- package/packages/cli/src/ui/components/LoadingIndicator.tsx +90 -0
- package/packages/cli/src/ui/components/LoopDetectionConfirmation.test.tsx +39 -0
- package/packages/cli/src/ui/components/LoopDetectionConfirmation.tsx +97 -0
- package/packages/cli/src/ui/components/MainContent.tsx +80 -0
- package/packages/cli/src/ui/components/MemoryUsageDisplay.tsx +41 -0
- package/packages/cli/src/ui/components/ModelDialog.test.tsx +399 -0
- package/packages/cli/src/ui/components/ModelDialog.tsx +460 -0
- package/packages/cli/src/ui/components/ModelStatsDisplay.test.tsx +252 -0
- package/packages/cli/src/ui/components/ModelStatsDisplay.tsx +217 -0
- package/packages/cli/src/ui/components/Notifications.tsx +58 -0
- package/packages/cli/src/ui/components/PermissionsModifyTrustDialog.test.tsx +199 -0
- package/packages/cli/src/ui/components/PermissionsModifyTrustDialog.tsx +125 -0
- package/packages/cli/src/ui/components/PlanSummaryDisplay.tsx +41 -0
- package/packages/cli/src/ui/components/PluginChoicePrompt.test.tsx +243 -0
- package/packages/cli/src/ui/components/PluginChoicePrompt.tsx +195 -0
- package/packages/cli/src/ui/components/PrepareLabel.test.tsx +123 -0
- package/packages/cli/src/ui/components/PrepareLabel.tsx +116 -0
- package/packages/cli/src/ui/components/QueuedMessageDisplay.test.tsx +76 -0
- package/packages/cli/src/ui/components/QueuedMessageDisplay.tsx +47 -0
- package/packages/cli/src/ui/components/QuittingDisplay.tsx +39 -0
- package/packages/cli/src/ui/components/QwenOAuthProgress.test.tsx +611 -0
- package/packages/cli/src/ui/components/QwenOAuthProgress.tsx +316 -0
- package/packages/cli/src/ui/components/SessionPicker.tsx +251 -0
- package/packages/cli/src/ui/components/SessionSummaryDisplay.test.tsx +154 -0
- package/packages/cli/src/ui/components/SessionSummaryDisplay.tsx +51 -0
- package/packages/cli/src/ui/components/SettingInputPrompt.test.tsx +133 -0
- package/packages/cli/src/ui/components/SettingInputPrompt.tsx +157 -0
- package/packages/cli/src/ui/components/SettingsDialog.test.tsx +1638 -0
- package/packages/cli/src/ui/components/SettingsDialog.tsx +900 -0
- package/packages/cli/src/ui/components/ShellConfirmationDialog.test.tsx +53 -0
- package/packages/cli/src/ui/components/ShellConfirmationDialog.tsx +109 -0
- package/packages/cli/src/ui/components/ShellInputPrompt.tsx +57 -0
- package/packages/cli/src/ui/components/ShellModeIndicator.tsx +18 -0
- package/packages/cli/src/ui/components/ShowMoreLines.tsx +40 -0
- package/packages/cli/src/ui/components/StandaloneSessionPicker.test.tsx +624 -0
- package/packages/cli/src/ui/components/StandaloneSessionPicker.tsx +129 -0
- package/packages/cli/src/ui/components/StatsDisplay.test.tsx +401 -0
- package/packages/cli/src/ui/components/StatsDisplay.tsx +298 -0
- package/packages/cli/src/ui/components/SuggestionsDisplay.tsx +131 -0
- package/packages/cli/src/ui/components/ThemeDialog.test.tsx +108 -0
- package/packages/cli/src/ui/components/ThemeDialog.tsx +287 -0
- package/packages/cli/src/ui/components/Tips.test.ts +62 -0
- package/packages/cli/src/ui/components/Tips.tsx +62 -0
- package/packages/cli/src/ui/components/TodoDisplay.test.tsx +98 -0
- package/packages/cli/src/ui/components/TodoDisplay.tsx +72 -0
- package/packages/cli/src/ui/components/ToolStatsDisplay.test.tsx +180 -0
- package/packages/cli/src/ui/components/ToolStatsDisplay.tsx +234 -0
- package/packages/cli/src/ui/components/UpdateNotification.tsx +23 -0
- package/packages/cli/src/ui/components/WelcomeBackDialog.tsx +134 -0
- package/packages/cli/src/ui/components/__snapshots__/Footer.test.tsx.snap +5 -0
- package/packages/cli/src/ui/components/__snapshots__/HistoryItemDisplay.test.tsx.snap +139 -0
- package/packages/cli/src/ui/components/__snapshots__/IDEContextDetailDisplay.test.tsx.snap +24 -0
- package/packages/cli/src/ui/components/__snapshots__/InputPrompt.test.tsx.snap +57 -0
- package/packages/cli/src/ui/components/__snapshots__/LoadingIndicator.test.tsx.snap +6 -0
- package/packages/cli/src/ui/components/__snapshots__/LoopDetectionConfirmation.test.tsx.snap +16 -0
- package/packages/cli/src/ui/components/__snapshots__/ModelStatsDisplay.test.tsx.snap +121 -0
- package/packages/cli/src/ui/components/__snapshots__/PrepareLabel.test.tsx.snap +25 -0
- package/packages/cli/src/ui/components/__snapshots__/SessionSummaryDisplay.test.tsx.snap +32 -0
- package/packages/cli/src/ui/components/__snapshots__/SettingsDialog.test.tsx.snap +211 -0
- package/packages/cli/src/ui/components/__snapshots__/ShellConfirmationDialog.test.tsx.snap +21 -0
- package/packages/cli/src/ui/components/__snapshots__/StatsDisplay.test.tsx.snap +264 -0
- package/packages/cli/src/ui/components/__snapshots__/ThemeDialog.test.tsx.snap +38 -0
- package/packages/cli/src/ui/components/__snapshots__/ToolStatsDisplay.test.tsx.snap +91 -0
- package/packages/cli/src/ui/components/extensions/ExtensionsManagerDialog.test.tsx +153 -0
- package/packages/cli/src/ui/components/extensions/ExtensionsManagerDialog.tsx +530 -0
- package/packages/cli/src/ui/components/extensions/__snapshots__/ExtensionsManagerDialog.test.tsx.snap +45 -0
- package/packages/cli/src/ui/components/extensions/index.ts +9 -0
- package/packages/cli/src/ui/components/extensions/steps/ActionSelectionStep.test.tsx +109 -0
- package/packages/cli/src/ui/components/extensions/steps/ActionSelectionStep.tsx +102 -0
- package/packages/cli/src/ui/components/extensions/steps/ExtensionDetailStep.tsx +128 -0
- package/packages/cli/src/ui/components/extensions/steps/ExtensionListStep.test.tsx +134 -0
- package/packages/cli/src/ui/components/extensions/steps/ExtensionListStep.tsx +177 -0
- package/packages/cli/src/ui/components/extensions/steps/ScopeSelectStep.tsx +70 -0
- package/packages/cli/src/ui/components/extensions/steps/UninstallConfirmStep.tsx +65 -0
- package/packages/cli/src/ui/components/extensions/steps/__snapshots__/ActionSelectionStep.test.tsx.snap +33 -0
- package/packages/cli/src/ui/components/extensions/steps/__snapshots__/ExtensionListStep.test.tsx.snap +32 -0
- package/packages/cli/src/ui/components/extensions/steps/index.ts +11 -0
- package/packages/cli/src/ui/components/extensions/types.ts +89 -0
- package/packages/cli/src/ui/components/mcp/MCPManagementDialog.tsx +680 -0
- package/packages/cli/src/ui/components/mcp/constants.ts +47 -0
- package/packages/cli/src/ui/components/mcp/index.ts +30 -0
- package/packages/cli/src/ui/components/mcp/steps/AuthenticateStep.tsx +164 -0
- package/packages/cli/src/ui/components/mcp/steps/DisableScopeSelectStep.tsx +88 -0
- package/packages/cli/src/ui/components/mcp/steps/ServerDetailStep.tsx +233 -0
- package/packages/cli/src/ui/components/mcp/steps/ServerListStep.tsx +176 -0
- package/packages/cli/src/ui/components/mcp/steps/ToolDetailStep.tsx +139 -0
- package/packages/cli/src/ui/components/mcp/steps/ToolListStep.tsx +146 -0
- package/packages/cli/src/ui/components/mcp/types.ts +195 -0
- package/packages/cli/src/ui/components/mcp/utils.test.ts +159 -0
- package/packages/cli/src/ui/components/mcp/utils.ts +129 -0
- package/packages/cli/src/ui/components/messages/AskUserQuestionDialog.test.tsx +883 -0
- package/packages/cli/src/ui/components/messages/AskUserQuestionDialog.tsx +572 -0
- package/packages/cli/src/ui/components/messages/CompressionMessage.test.tsx +198 -0
- package/packages/cli/src/ui/components/messages/CompressionMessage.tsx +90 -0
- package/packages/cli/src/ui/components/messages/ConversationMessages.tsx +261 -0
- package/packages/cli/src/ui/components/messages/DiffRenderer.test.tsx +479 -0
- package/packages/cli/src/ui/components/messages/DiffRenderer.tsx +380 -0
- package/packages/cli/src/ui/components/messages/InsightProgressMessage.tsx +59 -0
- package/packages/cli/src/ui/components/messages/StatusMessages.tsx +105 -0
- package/packages/cli/src/ui/components/messages/SummaryMessage.tsx +59 -0
- package/packages/cli/src/ui/components/messages/ToolConfirmationMessage.test.tsx +250 -0
- package/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx +437 -0
- package/packages/cli/src/ui/components/messages/ToolGroupMessage.test.tsx +360 -0
- package/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx +151 -0
- package/packages/cli/src/ui/components/messages/ToolMessage.test.tsx +303 -0
- package/packages/cli/src/ui/components/messages/ToolMessage.tsx +498 -0
- package/packages/cli/src/ui/components/messages/__snapshots__/ToolGroupMessage.test.tsx.snap +108 -0
- package/packages/cli/src/ui/components/shared/BaseSelectionList.test.tsx +534 -0
- package/packages/cli/src/ui/components/shared/BaseSelectionList.tsx +182 -0
- package/packages/cli/src/ui/components/shared/DescriptiveRadioButtonSelect.test.tsx +97 -0
- package/packages/cli/src/ui/components/shared/DescriptiveRadioButtonSelect.tsx +74 -0
- package/packages/cli/src/ui/components/shared/EnumSelector.test.tsx +152 -0
- package/packages/cli/src/ui/components/shared/EnumSelector.tsx +87 -0
- package/packages/cli/src/ui/components/shared/MaxSizedBox.test.tsx +425 -0
- package/packages/cli/src/ui/components/shared/MaxSizedBox.tsx +628 -0
- package/packages/cli/src/ui/components/shared/RadioButtonSelect.test.tsx +198 -0
- package/packages/cli/src/ui/components/shared/RadioButtonSelect.tsx +91 -0
- package/packages/cli/src/ui/components/shared/ScopeSelector.tsx +59 -0
- package/packages/cli/src/ui/components/shared/TextInput.tsx +197 -0
- package/packages/cli/src/ui/components/shared/__snapshots__/DescriptiveRadioButtonSelect.test.tsx.snap +21 -0
- package/packages/cli/src/ui/components/shared/__snapshots__/EnumSelector.test.tsx.snap +9 -0
- package/packages/cli/src/ui/components/shared/text-buffer.test.ts +1951 -0
- package/packages/cli/src/ui/components/shared/text-buffer.ts +2371 -0
- package/packages/cli/src/ui/components/shared/vim-buffer-actions.test.ts +1119 -0
- package/packages/cli/src/ui/components/shared/vim-buffer-actions.ts +813 -0
- package/packages/cli/src/ui/components/subagents/constants.ts +71 -0
- package/packages/cli/src/ui/components/subagents/create/AgentCreationWizard.tsx +299 -0
- package/packages/cli/src/ui/components/subagents/create/ColorSelector.tsx +85 -0
- package/packages/cli/src/ui/components/subagents/create/CreationSummary.tsx +331 -0
- package/packages/cli/src/ui/components/subagents/create/DescriptionInput.tsx +177 -0
- package/packages/cli/src/ui/components/subagents/create/GenerationMethodSelector.tsx +63 -0
- package/packages/cli/src/ui/components/subagents/create/LocationSelector.tsx +58 -0
- package/packages/cli/src/ui/components/subagents/create/TextEntryStep.tsx +78 -0
- package/packages/cli/src/ui/components/subagents/create/ToolSelector.tsx +253 -0
- package/packages/cli/src/ui/components/subagents/index.ts +14 -0
- package/packages/cli/src/ui/components/subagents/manage/ActionSelectionStep.tsx +103 -0
- package/packages/cli/src/ui/components/subagents/manage/AgentDeleteStep.tsx +62 -0
- package/packages/cli/src/ui/components/subagents/manage/AgentEditStep.tsx +124 -0
- package/packages/cli/src/ui/components/subagents/manage/AgentSelectionStep.tsx +449 -0
- package/packages/cli/src/ui/components/subagents/manage/AgentViewerStep.tsx +66 -0
- package/packages/cli/src/ui/components/subagents/manage/AgentsManagerDialog.tsx +341 -0
- package/packages/cli/src/ui/components/subagents/reducers.tsx +190 -0
- package/packages/cli/src/ui/components/subagents/runtime/AgentExecutionDisplay.tsx +550 -0
- package/packages/cli/src/ui/components/subagents/types.ts +133 -0
- package/packages/cli/src/ui/components/subagents/utils.ts +102 -0
- package/packages/cli/src/ui/components/views/ExtensionsList.test.tsx +100 -0
- package/packages/cli/src/ui/components/views/ExtensionsList.tsx +80 -0
- package/packages/cli/src/ui/components/views/McpStatus.test.tsx +163 -0
- package/packages/cli/src/ui/components/views/McpStatus.tsx +298 -0
- package/packages/cli/src/ui/components/views/SkillsList.tsx +36 -0
- package/packages/cli/src/ui/components/views/ToolsList.test.tsx +58 -0
- package/packages/cli/src/ui/components/views/ToolsList.tsx +53 -0
- package/packages/cli/src/ui/components/views/__snapshots__/McpStatus.test.tsx.snap +166 -0
- package/packages/cli/src/ui/components/views/__snapshots__/ToolsList.test.tsx.snap +29 -0
- package/packages/cli/src/ui/constants.ts +29 -0
- package/packages/cli/src/ui/contexts/AppContext.tsx +22 -0
- package/packages/cli/src/ui/contexts/ConfigContext.tsx +18 -0
- package/packages/cli/src/ui/contexts/KeypressContext.test.tsx +1756 -0
- package/packages/cli/src/ui/contexts/KeypressContext.tsx +932 -0
- package/packages/cli/src/ui/contexts/OverflowContext.tsx +88 -0
- package/packages/cli/src/ui/contexts/SessionContext.test.tsx +221 -0
- package/packages/cli/src/ui/contexts/SessionContext.tsx +281 -0
- package/packages/cli/src/ui/contexts/SettingsContext.tsx +20 -0
- package/packages/cli/src/ui/contexts/ShellFocusContext.tsx +11 -0
- package/packages/cli/src/ui/contexts/StreamingContext.tsx +22 -0
- package/packages/cli/src/ui/contexts/UIActionsContext.tsx +100 -0
- package/packages/cli/src/ui/contexts/UIStateContext.tsx +144 -0
- package/packages/cli/src/ui/contexts/VimModeContext.tsx +80 -0
- package/packages/cli/src/ui/editors/editorSettingsManager.ts +67 -0
- package/packages/cli/src/ui/hooks/atCommandProcessor.test.ts +1136 -0
- package/packages/cli/src/ui/hooks/atCommandProcessor.ts +434 -0
- package/packages/cli/src/ui/hooks/keyToAnsi.ts +77 -0
- package/packages/cli/src/ui/hooks/shellCommandProcessor.test.ts +723 -0
- package/packages/cli/src/ui/hooks/shellCommandProcessor.ts +382 -0
- package/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts +1083 -0
- package/packages/cli/src/ui/hooks/slashCommandProcessor.ts +714 -0
- package/packages/cli/src/ui/hooks/useAgentsManagerDialog.ts +32 -0
- package/packages/cli/src/ui/hooks/useApprovalModeCommand.ts +57 -0
- package/packages/cli/src/ui/hooks/useAtCompletion.test.ts +508 -0
- package/packages/cli/src/ui/hooks/useAtCompletion.ts +239 -0
- package/packages/cli/src/ui/hooks/useAttentionNotifications.test.ts +199 -0
- package/packages/cli/src/ui/hooks/useAttentionNotifications.ts +71 -0
- package/packages/cli/src/ui/hooks/useAutoAcceptIndicator.test.ts +561 -0
- package/packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts +85 -0
- package/packages/cli/src/ui/hooks/useBracketedPaste.ts +37 -0
- package/packages/cli/src/ui/hooks/useCodingPlanUpdates.test.ts +658 -0
- package/packages/cli/src/ui/hooks/useCodingPlanUpdates.ts +233 -0
- package/packages/cli/src/ui/hooks/useCommandCompletion.test.ts +517 -0
- package/packages/cli/src/ui/hooks/useCommandCompletion.tsx +243 -0
- package/packages/cli/src/ui/hooks/useCommandMigration.ts +51 -0
- package/packages/cli/src/ui/hooks/useCompletion.ts +126 -0
- package/packages/cli/src/ui/hooks/useDialogClose.ts +103 -0
- package/packages/cli/src/ui/hooks/useEditorSettings.test.ts +284 -0
- package/packages/cli/src/ui/hooks/useEditorSettings.ts +75 -0
- package/packages/cli/src/ui/hooks/useExtensionUpdates.test.ts +608 -0
- package/packages/cli/src/ui/hooks/useExtensionUpdates.ts +340 -0
- package/packages/cli/src/ui/hooks/useExtensionsManagerDialog.ts +33 -0
- package/packages/cli/src/ui/hooks/useFeedbackDialog.ts +206 -0
- package/packages/cli/src/ui/hooks/useFocus.test.ts +145 -0
- package/packages/cli/src/ui/hooks/useFocus.ts +62 -0
- package/packages/cli/src/ui/hooks/useFolderTrust.test.ts +211 -0
- package/packages/cli/src/ui/hooks/useFolderTrust.ts +80 -0
- package/packages/cli/src/ui/hooks/useGeminiStream.test.tsx +2946 -0
- package/packages/cli/src/ui/hooks/useGeminiStream.ts +1625 -0
- package/packages/cli/src/ui/hooks/useGitBranchName.test.ts +238 -0
- package/packages/cli/src/ui/hooks/useGitBranchName.ts +78 -0
- package/packages/cli/src/ui/hooks/useHistoryManager.test.ts +202 -0
- package/packages/cli/src/ui/hooks/useHistoryManager.ts +111 -0
- package/packages/cli/src/ui/hooks/useIdeTrustListener.test.ts +226 -0
- package/packages/cli/src/ui/hooks/useIdeTrustListener.ts +90 -0
- package/packages/cli/src/ui/hooks/useInitializationAuthError.ts +47 -0
- package/packages/cli/src/ui/hooks/useInputHistory.test.ts +261 -0
- package/packages/cli/src/ui/hooks/useInputHistory.ts +111 -0
- package/packages/cli/src/ui/hooks/useInputHistoryStore.test.ts +293 -0
- package/packages/cli/src/ui/hooks/useInputHistoryStore.ts +118 -0
- package/packages/cli/src/ui/hooks/useKeypress.test.ts +314 -0
- package/packages/cli/src/ui/hooks/useKeypress.ts +36 -0
- package/packages/cli/src/ui/hooks/useKittyKeyboardProtocol.ts +31 -0
- package/packages/cli/src/ui/hooks/useLaunchEditor.ts +125 -0
- package/packages/cli/src/ui/hooks/useLoadingIndicator.test.ts +136 -0
- package/packages/cli/src/ui/hooks/useLoadingIndicator.ts +61 -0
- package/packages/cli/src/ui/hooks/useLogger.ts +37 -0
- package/packages/cli/src/ui/hooks/useMcpDialog.ts +31 -0
- package/packages/cli/src/ui/hooks/useMemoryMonitor.test.ts +71 -0
- package/packages/cli/src/ui/hooks/useMemoryMonitor.ts +41 -0
- package/packages/cli/src/ui/hooks/useMessageQueue.test.ts +235 -0
- package/packages/cli/src/ui/hooks/useMessageQueue.ts +75 -0
- package/packages/cli/src/ui/hooks/useModelCommand.test.ts +42 -0
- package/packages/cli/src/ui/hooks/useModelCommand.ts +31 -0
- package/packages/cli/src/ui/hooks/usePermissionsModifyTrust.test.ts +263 -0
- package/packages/cli/src/ui/hooks/usePermissionsModifyTrust.ts +128 -0
- package/packages/cli/src/ui/hooks/usePhraseCycler.test.ts +192 -0
- package/packages/cli/src/ui/hooks/usePhraseCycler.ts +82 -0
- package/packages/cli/src/ui/hooks/useQwenAuth.test.ts +425 -0
- package/packages/cli/src/ui/hooks/useQwenAuth.ts +108 -0
- package/packages/cli/src/ui/hooks/useReactToolScheduler.ts +315 -0
- package/packages/cli/src/ui/hooks/useRefreshMemoryCommand.ts +7 -0
- package/packages/cli/src/ui/hooks/useResumeCommand.test.ts +190 -0
- package/packages/cli/src/ui/hooks/useResumeCommand.ts +82 -0
- package/packages/cli/src/ui/hooks/useReverseSearchCompletion.test.tsx +260 -0
- package/packages/cli/src/ui/hooks/useReverseSearchCompletion.tsx +155 -0
- package/packages/cli/src/ui/hooks/useSelectionList.test.ts +980 -0
- package/packages/cli/src/ui/hooks/useSelectionList.ts +376 -0
- package/packages/cli/src/ui/hooks/useSessionPicker.ts +279 -0
- package/packages/cli/src/ui/hooks/useSettingsCommand.ts +25 -0
- package/packages/cli/src/ui/hooks/useShellHistory.test.ts +257 -0
- package/packages/cli/src/ui/hooks/useShellHistory.ts +143 -0
- package/packages/cli/src/ui/hooks/useShowMemoryCommand.ts +73 -0
- package/packages/cli/src/ui/hooks/useSlashCompletion.test.ts +897 -0
- package/packages/cli/src/ui/hooks/useSlashCompletion.ts +555 -0
- package/packages/cli/src/ui/hooks/useStateAndRef.ts +36 -0
- package/packages/cli/src/ui/hooks/useSubagentCreateDialog.ts +26 -0
- package/packages/cli/src/ui/hooks/useTerminalSize.ts +34 -0
- package/packages/cli/src/ui/hooks/useThemeCommand.ts +112 -0
- package/packages/cli/src/ui/hooks/useTimer.test.ts +120 -0
- package/packages/cli/src/ui/hooks/useTimer.ts +65 -0
- package/packages/cli/src/ui/hooks/useTomlMigration.ts +0 -0
- package/packages/cli/src/ui/hooks/useToolScheduler.test.ts +781 -0
- package/packages/cli/src/ui/hooks/useWelcomeBack.ts +119 -0
- package/packages/cli/src/ui/hooks/vim.test.ts +1691 -0
- package/packages/cli/src/ui/hooks/vim.ts +790 -0
- package/packages/cli/src/ui/keyMatchers.test.ts +375 -0
- package/packages/cli/src/ui/keyMatchers.ts +105 -0
- package/packages/cli/src/ui/layouts/DefaultAppLayout.tsx +40 -0
- package/packages/cli/src/ui/layouts/ScreenReaderAppLayout.tsx +41 -0
- package/packages/cli/src/ui/models/availableModels.test.ts +186 -0
- package/packages/cli/src/ui/models/availableModels.ts +129 -0
- package/packages/cli/src/ui/noninteractive/nonInteractiveUi.ts +30 -0
- package/packages/cli/src/ui/semantic-colors.ts +26 -0
- package/packages/cli/src/ui/state/extensions.ts +90 -0
- package/packages/cli/src/ui/textConstants.ts +13 -0
- package/packages/cli/src/ui/themes/ansi-light.ts +152 -0
- package/packages/cli/src/ui/themes/ansi.ts +161 -0
- package/packages/cli/src/ui/themes/atom-one-dark.ts +147 -0
- package/packages/cli/src/ui/themes/ayu-light.ts +139 -0
- package/packages/cli/src/ui/themes/ayu.ts +113 -0
- package/packages/cli/src/ui/themes/color-utils.test.ts +221 -0
- package/packages/cli/src/ui/themes/color-utils.ts +235 -0
- package/packages/cli/src/ui/themes/default-light.ts +106 -0
- package/packages/cli/src/ui/themes/default.ts +149 -0
- package/packages/cli/src/ui/themes/dracula.ts +124 -0
- package/packages/cli/src/ui/themes/github-dark.ts +147 -0
- package/packages/cli/src/ui/themes/github-light.ts +149 -0
- package/packages/cli/src/ui/themes/googlecode.ts +146 -0
- package/packages/cli/src/ui/themes/no-color.ts +131 -0
- package/packages/cli/src/ui/themes/qwen-dark.ts +115 -0
- package/packages/cli/src/ui/themes/qwen-light.ts +141 -0
- package/packages/cli/src/ui/themes/semantic-tokens.ts +140 -0
- package/packages/cli/src/ui/themes/shades-of-purple.ts +352 -0
- package/packages/cli/src/ui/themes/theme-manager.test.ts +173 -0
- package/packages/cli/src/ui/themes/theme-manager.ts +344 -0
- package/packages/cli/src/ui/themes/theme.test.ts +97 -0
- package/packages/cli/src/ui/themes/theme.ts +505 -0
- package/packages/cli/src/ui/themes/xcode.ts +154 -0
- package/packages/cli/src/ui/types.ts +463 -0
- package/packages/cli/src/ui/utils/CodeColorizer.tsx +224 -0
- package/packages/cli/src/ui/utils/InlineMarkdownRenderer.tsx +180 -0
- package/packages/cli/src/ui/utils/MarkdownDisplay.test.tsx +236 -0
- package/packages/cli/src/ui/utils/MarkdownDisplay.tsx +423 -0
- package/packages/cli/src/ui/utils/TableRenderer.tsx +158 -0
- package/packages/cli/src/ui/utils/__snapshots__/MarkdownDisplay.test.tsx.snap +187 -0
- package/packages/cli/src/ui/utils/clipboardUtils.test.ts +136 -0
- package/packages/cli/src/ui/utils/clipboardUtils.ts +153 -0
- package/packages/cli/src/ui/utils/commandUtils.test.ts +489 -0
- package/packages/cli/src/ui/utils/commandUtils.ts +174 -0
- package/packages/cli/src/ui/utils/computeStats.test.ts +295 -0
- package/packages/cli/src/ui/utils/computeStats.ts +86 -0
- package/packages/cli/src/ui/utils/displayUtils.test.ts +83 -0
- package/packages/cli/src/ui/utils/displayUtils.ts +35 -0
- package/packages/cli/src/ui/utils/export/collect.ts +266 -0
- package/packages/cli/src/ui/utils/export/formatters/html.ts +83 -0
- package/packages/cli/src/ui/utils/export/formatters/json.ts +15 -0
- package/packages/cli/src/ui/utils/export/formatters/jsonl.ts +31 -0
- package/packages/cli/src/ui/utils/export/formatters/markdown.ts +225 -0
- package/packages/cli/src/ui/utils/export/index.ts +18 -0
- package/packages/cli/src/ui/utils/export/normalize.ts +324 -0
- package/packages/cli/src/ui/utils/export/types.ts +54 -0
- package/packages/cli/src/ui/utils/export/utils.ts +13 -0
- package/packages/cli/src/ui/utils/formatters.test.ts +157 -0
- package/packages/cli/src/ui/utils/formatters.ts +97 -0
- package/packages/cli/src/ui/utils/highlight.test.ts +136 -0
- package/packages/cli/src/ui/utils/highlight.ts +103 -0
- package/packages/cli/src/ui/utils/isNarrowWidth.ts +9 -0
- package/packages/cli/src/ui/utils/kittyProtocolDetector.ts +116 -0
- package/packages/cli/src/ui/utils/markdownUtilities.test.ts +50 -0
- package/packages/cli/src/ui/utils/markdownUtilities.ts +125 -0
- package/packages/cli/src/ui/utils/platformConstants.ts +87 -0
- package/packages/cli/src/ui/utils/resumeHistoryUtils.test.ts +289 -0
- package/packages/cli/src/ui/utils/resumeHistoryUtils.ts +455 -0
- package/packages/cli/src/ui/utils/sessionPickerUtils.test.ts +45 -0
- package/packages/cli/src/ui/utils/sessionPickerUtils.ts +59 -0
- package/packages/cli/src/ui/utils/terminalSetup.ts +393 -0
- package/packages/cli/src/ui/utils/textUtils.test.ts +170 -0
- package/packages/cli/src/ui/utils/textUtils.ts +216 -0
- package/packages/cli/src/ui/utils/updateCheck.test.ts +163 -0
- package/packages/cli/src/ui/utils/updateCheck.ts +104 -0
- package/packages/cli/src/utils/acpModelUtils.test.ts +42 -0
- package/packages/cli/src/utils/acpModelUtils.ts +61 -0
- package/packages/cli/src/utils/attentionNotification.test.ts +72 -0
- package/packages/cli/src/utils/attentionNotification.ts +51 -0
- package/packages/cli/src/utils/checks.ts +28 -0
- package/packages/cli/src/utils/cleanup.test.ts +68 -0
- package/packages/cli/src/utils/cleanup.ts +37 -0
- package/packages/cli/src/utils/commands.test.ts +140 -0
- package/packages/cli/src/utils/commands.ts +71 -0
- package/packages/cli/src/utils/commentJson.test.ts +186 -0
- package/packages/cli/src/utils/commentJson.ts +70 -0
- package/packages/cli/src/utils/deepMerge.test.ts +163 -0
- package/packages/cli/src/utils/deepMerge.ts +90 -0
- package/packages/cli/src/utils/dialogScopeUtils.ts +69 -0
- package/packages/cli/src/utils/envVarResolver.test.ts +297 -0
- package/packages/cli/src/utils/envVarResolver.ts +126 -0
- package/packages/cli/src/utils/errors.test.ts +681 -0
- package/packages/cli/src/utils/errors.ts +197 -0
- package/packages/cli/src/utils/events.ts +15 -0
- package/packages/cli/src/utils/gitUtils.test.ts +248 -0
- package/packages/cli/src/utils/gitUtils.ts +143 -0
- package/packages/cli/src/utils/handleAutoUpdate.test.ts +274 -0
- package/packages/cli/src/utils/handleAutoUpdate.ts +152 -0
- package/packages/cli/src/utils/installationInfo.test.ts +325 -0
- package/packages/cli/src/utils/installationInfo.ts +181 -0
- package/packages/cli/src/utils/languageUtils.test.ts +478 -0
- package/packages/cli/src/utils/languageUtils.ts +191 -0
- package/packages/cli/src/utils/math.ts +15 -0
- package/packages/cli/src/utils/modelConfigUtils.test.ts +727 -0
- package/packages/cli/src/utils/modelConfigUtils.ts +159 -0
- package/packages/cli/src/utils/nonInteractiveHelpers.test.ts +1297 -0
- package/packages/cli/src/utils/nonInteractiveHelpers.ts +666 -0
- package/packages/cli/src/utils/package.ts +38 -0
- package/packages/cli/src/utils/processUtils.test.ts +22 -0
- package/packages/cli/src/utils/processUtils.ts +20 -0
- package/packages/cli/src/utils/readStdin.test.ts +112 -0
- package/packages/cli/src/utils/readStdin.ts +70 -0
- package/packages/cli/src/utils/relaunch.test.ts +335 -0
- package/packages/cli/src/utils/relaunch.ts +70 -0
- package/packages/cli/src/utils/resolvePath.ts +21 -0
- package/packages/cli/src/utils/sandbox-macos-permissive-closed.sb +32 -0
- package/packages/cli/src/utils/sandbox-macos-permissive-open.sb +25 -0
- package/packages/cli/src/utils/sandbox-macos-permissive-proxied.sb +37 -0
- package/packages/cli/src/utils/sandbox-macos-restrictive-closed.sb +93 -0
- package/packages/cli/src/utils/sandbox-macos-restrictive-open.sb +96 -0
- package/packages/cli/src/utils/sandbox-macos-restrictive-proxied.sb +98 -0
- package/packages/cli/src/utils/sandbox.ts +984 -0
- package/packages/cli/src/utils/settingsUtils.test.ts +1154 -0
- package/packages/cli/src/utils/settingsUtils.ts +646 -0
- package/packages/cli/src/utils/spawnWrapper.ts +9 -0
- package/packages/cli/src/utils/startupWarnings.test.ts +76 -0
- package/packages/cli/src/utils/startupWarnings.ts +40 -0
- package/packages/cli/src/utils/stdioHelpers.ts +41 -0
- package/packages/cli/src/utils/systemInfo.test.ts +337 -0
- package/packages/cli/src/utils/systemInfo.ts +181 -0
- package/packages/cli/src/utils/systemInfoFields.test.ts +79 -0
- package/packages/cli/src/utils/systemInfoFields.ts +143 -0
- package/packages/cli/src/utils/updateEventEmitter.ts +13 -0
- package/packages/cli/src/utils/userStartupWarnings.test.ts +112 -0
- package/packages/cli/src/utils/userStartupWarnings.ts +96 -0
- package/packages/cli/src/utils/version.ts +12 -0
- package/packages/cli/src/utils/windowTitle.test.ts +59 -0
- package/packages/cli/src/utils/windowTitle.ts +22 -0
- package/packages/cli/src/utils/writeWithBackup.test.ts +232 -0
- package/packages/cli/src/utils/writeWithBackup.ts +169 -0
- package/packages/cli/src/validateNonInterActiveAuth.test.ts +557 -0
- package/packages/cli/src/validateNonInterActiveAuth.ts +83 -0
- package/packages/cli/test-setup.ts +12 -0
- package/packages/cli/tsconfig.json +88 -0
- package/packages/cli/vitest.config.ts +57 -0
- package/packages/core/index.ts +7 -0
- package/packages/core/package.json +96 -0
- package/packages/core/scripts/postinstall.js +179 -0
- package/packages/core/src/__mocks__/fs/promises.ts +48 -0
- package/packages/core/src/config/config.test.ts +1501 -0
- package/packages/core/src/config/config.ts +1916 -0
- package/packages/core/src/config/constants.ts +22 -0
- package/packages/core/src/config/models.ts +10 -0
- package/packages/core/src/config/storage.test.ts +42 -0
- package/packages/core/src/config/storage.ts +143 -0
- package/packages/core/src/confirmation-bus/message-bus.ts +125 -0
- package/packages/core/src/confirmation-bus/types.ts +128 -0
- package/packages/core/src/core/__snapshots__/prompts.test.ts.snap +3490 -0
- package/packages/core/src/core/__tests__/openaiTimeoutHandling.test.ts +386 -0
- package/packages/core/src/core/__tests__/orphanedToolCallsTest.ts +125 -0
- package/packages/core/src/core/anthropicContentGenerator/anthropicContentGenerator.test.ts +524 -0
- package/packages/core/src/core/anthropicContentGenerator/anthropicContentGenerator.ts +514 -0
- package/packages/core/src/core/anthropicContentGenerator/converter.test.ts +946 -0
- package/packages/core/src/core/anthropicContentGenerator/converter.ts +581 -0
- package/packages/core/src/core/anthropicContentGenerator/index.ts +21 -0
- package/packages/core/src/core/baseLlmClient.test.ts +447 -0
- package/packages/core/src/core/baseLlmClient.ts +191 -0
- package/packages/core/src/core/client.test.ts +2368 -0
- package/packages/core/src/core/client.ts +785 -0
- package/packages/core/src/core/contentGenerator.test.ts +113 -0
- package/packages/core/src/core/contentGenerator.ts +357 -0
- package/packages/core/src/core/coreToolScheduler.test.ts +2814 -0
- package/packages/core/src/core/coreToolScheduler.ts +1406 -0
- package/packages/core/src/core/geminiChat.test.ts +1721 -0
- package/packages/core/src/core/geminiChat.ts +746 -0
- package/packages/core/src/core/geminiContentGenerator/geminiContentGenerator.test.ts +371 -0
- package/packages/core/src/core/geminiContentGenerator/geminiContentGenerator.ts +303 -0
- package/packages/core/src/core/geminiContentGenerator/index.test.ts +41 -0
- package/packages/core/src/core/geminiContentGenerator/index.ts +53 -0
- package/packages/core/src/core/geminiRequest.test.ts +85 -0
- package/packages/core/src/core/geminiRequest.ts +19 -0
- package/packages/core/src/core/logger.test.ts +704 -0
- package/packages/core/src/core/logger.ts +462 -0
- package/packages/core/src/core/loggingContentGenerator/index.ts +7 -0
- package/packages/core/src/core/loggingContentGenerator/loggingContentGenerator.test.ts +397 -0
- package/packages/core/src/core/loggingContentGenerator/loggingContentGenerator.ts +510 -0
- package/packages/core/src/core/modalityDefaults.test.ts +213 -0
- package/packages/core/src/core/modalityDefaults.ts +94 -0
- package/packages/core/src/core/nonInteractiveToolExecutor.test.ts +373 -0
- package/packages/core/src/core/nonInteractiveToolExecutor.ts +52 -0
- package/packages/core/src/core/openaiContentGenerator/constants.ts +8 -0
- package/packages/core/src/core/openaiContentGenerator/converter.test.ts +2361 -0
- package/packages/core/src/core/openaiContentGenerator/converter.ts +1359 -0
- package/packages/core/src/core/openaiContentGenerator/errorHandler.test.ts +355 -0
- package/packages/core/src/core/openaiContentGenerator/errorHandler.ts +140 -0
- package/packages/core/src/core/openaiContentGenerator/index.ts +94 -0
- package/packages/core/src/core/openaiContentGenerator/openaiContentGenerator.test.ts +405 -0
- package/packages/core/src/core/openaiContentGenerator/openaiContentGenerator.ts +168 -0
- package/packages/core/src/core/openaiContentGenerator/pipeline.test.ts +1475 -0
- package/packages/core/src/core/openaiContentGenerator/pipeline.ts +490 -0
- package/packages/core/src/core/openaiContentGenerator/provider/README.md +61 -0
- package/packages/core/src/core/openaiContentGenerator/provider/dashscope.test.ts +1014 -0
- package/packages/core/src/core/openaiContentGenerator/provider/dashscope.ts +365 -0
- package/packages/core/src/core/openaiContentGenerator/provider/deepseek.test.ts +68 -0
- package/packages/core/src/core/openaiContentGenerator/provider/deepseek.ts +33 -0
- package/packages/core/src/core/openaiContentGenerator/provider/default.test.ts +308 -0
- package/packages/core/src/core/openaiContentGenerator/provider/default.ts +78 -0
- package/packages/core/src/core/openaiContentGenerator/provider/index.ts +11 -0
- package/packages/core/src/core/openaiContentGenerator/provider/modelscope.test.ts +96 -0
- package/packages/core/src/core/openaiContentGenerator/provider/modelscope.ts +32 -0
- package/packages/core/src/core/openaiContentGenerator/provider/openrouter.test.ts +221 -0
- package/packages/core/src/core/openaiContentGenerator/provider/openrouter.ts +31 -0
- package/packages/core/src/core/openaiContentGenerator/provider/types.ts +35 -0
- package/packages/core/src/core/openaiContentGenerator/streamingToolCallParser.test.ts +864 -0
- package/packages/core/src/core/openaiContentGenerator/streamingToolCallParser.ts +442 -0
- package/packages/core/src/core/prompts.test.ts +617 -0
- package/packages/core/src/core/prompts.ts +1064 -0
- package/packages/core/src/core/tokenLimits.test.ts +331 -0
- package/packages/core/src/core/tokenLimits.ts +216 -0
- package/packages/core/src/core/turn.test.ts +1013 -0
- package/packages/core/src/core/turn.ts +418 -0
- package/packages/core/src/extension/claude-converter.test.ts +436 -0
- package/packages/core/src/extension/claude-converter.ts +776 -0
- package/packages/core/src/extension/extensionManager.test.ts +760 -0
- package/packages/core/src/extension/extensionManager.ts +1290 -0
- package/packages/core/src/extension/extensionSettings.test.ts +730 -0
- package/packages/core/src/extension/extensionSettings.ts +319 -0
- package/packages/core/src/extension/gemini-converter.test.ts +177 -0
- package/packages/core/src/extension/gemini-converter.ts +234 -0
- package/packages/core/src/extension/github.test.ts +485 -0
- package/packages/core/src/extension/github.ts +457 -0
- package/packages/core/src/extension/index.ts +6 -0
- package/packages/core/src/extension/marketplace.test.ts +282 -0
- package/packages/core/src/extension/marketplace.ts +279 -0
- package/packages/core/src/extension/override.test.ts +110 -0
- package/packages/core/src/extension/override.ts +102 -0
- package/packages/core/src/extension/settings.test.ts +138 -0
- package/packages/core/src/extension/settings.ts +149 -0
- package/packages/core/src/extension/storage.test.ts +100 -0
- package/packages/core/src/extension/storage.ts +50 -0
- package/packages/core/src/extension/variableSchema.ts +43 -0
- package/packages/core/src/extension/variables.test.ts +18 -0
- package/packages/core/src/extension/variables.ts +72 -0
- package/packages/core/src/hooks/hookAggregator.test.ts +618 -0
- package/packages/core/src/hooks/hookAggregator.ts +369 -0
- package/packages/core/src/hooks/hookEventHandler.test.ts +278 -0
- package/packages/core/src/hooks/hookEventHandler.ts +192 -0
- package/packages/core/src/hooks/hookPlanner.test.ts +366 -0
- package/packages/core/src/hooks/hookPlanner.ts +146 -0
- package/packages/core/src/hooks/hookRegistry.test.ts +636 -0
- package/packages/core/src/hooks/hookRegistry.ts +353 -0
- package/packages/core/src/hooks/hookRunner.test.ts +684 -0
- package/packages/core/src/hooks/hookRunner.ts +427 -0
- package/packages/core/src/hooks/hookSystem.test.ts +328 -0
- package/packages/core/src/hooks/hookSystem.ts +103 -0
- package/packages/core/src/hooks/index.ts +22 -0
- package/packages/core/src/hooks/trustedHooks.ts +118 -0
- package/packages/core/src/hooks/types.ts +678 -0
- package/packages/core/src/ide/constants.ts +10 -0
- package/packages/core/src/ide/detect-ide.test.ts +137 -0
- package/packages/core/src/ide/detect-ide.ts +93 -0
- package/packages/core/src/ide/ide-client.test.ts +764 -0
- package/packages/core/src/ide/ide-client.ts +983 -0
- package/packages/core/src/ide/ide-installer.test.ts +178 -0
- package/packages/core/src/ide/ide-installer.ts +162 -0
- package/packages/core/src/ide/ideContext.test.ts +453 -0
- package/packages/core/src/ide/ideContext.ts +124 -0
- package/packages/core/src/ide/process-utils.test.ts +158 -0
- package/packages/core/src/ide/process-utils.ts +219 -0
- package/packages/core/src/ide/types.ts +148 -0
- package/packages/core/src/index.test.ts +13 -0
- package/packages/core/src/index.ts +309 -0
- package/packages/core/src/lsp/LspConfigLoader.test.ts +90 -0
- package/packages/core/src/lsp/LspConfigLoader.ts +500 -0
- package/packages/core/src/lsp/LspConnectionFactory.ts +395 -0
- package/packages/core/src/lsp/LspLanguageDetector.ts +226 -0
- package/packages/core/src/lsp/LspResponseNormalizer.ts +917 -0
- package/packages/core/src/lsp/LspServerManager.ts +720 -0
- package/packages/core/src/lsp/NativeLspClient.ts +259 -0
- package/packages/core/src/lsp/NativeLspService.integration.test.ts +769 -0
- package/packages/core/src/lsp/NativeLspService.test.ts +132 -0
- package/packages/core/src/lsp/NativeLspService.ts +894 -0
- package/packages/core/src/lsp/constants.ts +101 -0
- package/packages/core/src/lsp/types.ts +523 -0
- package/packages/core/src/mcp/constants.ts +27 -0
- package/packages/core/src/mcp/google-auth-provider.test.ts +112 -0
- package/packages/core/src/mcp/google-auth-provider.ts +103 -0
- package/packages/core/src/mcp/oauth-provider.test.ts +1275 -0
- package/packages/core/src/mcp/oauth-provider.ts +910 -0
- package/packages/core/src/mcp/oauth-token-storage.test.ts +459 -0
- package/packages/core/src/mcp/oauth-token-storage.ts +228 -0
- package/packages/core/src/mcp/oauth-utils.test.ts +345 -0
- package/packages/core/src/mcp/oauth-utils.ts +379 -0
- package/packages/core/src/mcp/sa-impersonation-provider.test.ts +153 -0
- package/packages/core/src/mcp/sa-impersonation-provider.ts +177 -0
- package/packages/core/src/mcp/token-storage/base-token-storage.test.ts +208 -0
- package/packages/core/src/mcp/token-storage/base-token-storage.ts +49 -0
- package/packages/core/src/mcp/token-storage/file-token-storage.test.ts +323 -0
- package/packages/core/src/mcp/token-storage/file-token-storage.ts +184 -0
- package/packages/core/src/mcp/token-storage/hybrid-token-storage.test.ts +274 -0
- package/packages/core/src/mcp/token-storage/hybrid-token-storage.ts +97 -0
- package/packages/core/src/mcp/token-storage/index.ts +14 -0
- package/packages/core/src/mcp/token-storage/keychain-token-storage.test.ts +352 -0
- package/packages/core/src/mcp/token-storage/keychain-token-storage.ts +315 -0
- package/packages/core/src/mcp/token-storage/types.ts +42 -0
- package/packages/core/src/mocks/msw.ts +9 -0
- package/packages/core/src/models/constants.ts +117 -0
- package/packages/core/src/models/index.ts +45 -0
- package/packages/core/src/models/modelConfigErrors.ts +125 -0
- package/packages/core/src/models/modelConfigResolver.test.ts +351 -0
- package/packages/core/src/models/modelConfigResolver.ts +369 -0
- package/packages/core/src/models/modelRegistry.test.ts +533 -0
- package/packages/core/src/models/modelRegistry.ts +234 -0
- package/packages/core/src/models/modelsConfig.test.ts +1509 -0
- package/packages/core/src/models/modelsConfig.ts +1201 -0
- package/packages/core/src/models/types.ts +150 -0
- package/packages/core/src/output/json-formatter.test.ts +301 -0
- package/packages/core/src/output/json-formatter.ts +39 -0
- package/packages/core/src/output/types.ts +30 -0
- package/packages/core/src/prompts/mcp-prompts.ts +19 -0
- package/packages/core/src/prompts/prompt-registry.ts +77 -0
- package/packages/core/src/qwen/qwenContentGenerator.test.ts +1698 -0
- package/packages/core/src/qwen/qwenContentGenerator.ts +252 -0
- package/packages/core/src/qwen/qwenOAuth2.test.ts +2187 -0
- package/packages/core/src/qwen/qwenOAuth2.ts +1017 -0
- package/packages/core/src/qwen/sharedTokenManager.test.ts +937 -0
- package/packages/core/src/qwen/sharedTokenManager.ts +887 -0
- package/packages/core/src/services/chatCompressionService.test.ts +484 -0
- package/packages/core/src/services/chatCompressionService.ts +274 -0
- package/packages/core/src/services/chatRecordingService.test.ts +356 -0
- package/packages/core/src/services/chatRecordingService.ts +448 -0
- package/packages/core/src/services/fileDiscoveryService.test.ts +211 -0
- package/packages/core/src/services/fileDiscoveryService.ts +142 -0
- package/packages/core/src/services/fileSystemService.test.ts +297 -0
- package/packages/core/src/services/fileSystemService.ts +234 -0
- package/packages/core/src/services/gitService.test.ts +231 -0
- package/packages/core/src/services/gitService.ts +121 -0
- package/packages/core/src/services/loopDetectionService.test.ts +622 -0
- package/packages/core/src/services/loopDetectionService.ts +316 -0
- package/packages/core/src/services/sessionService.test.ts +721 -0
- package/packages/core/src/services/sessionService.ts +706 -0
- package/packages/core/src/services/shellExecutionService.test.ts +999 -0
- package/packages/core/src/services/shellExecutionService.ts +799 -0
- package/packages/core/src/skills/index.ts +31 -0
- package/packages/core/src/skills/skill-load.test.ts +303 -0
- package/packages/core/src/skills/skill-load.ts +173 -0
- package/packages/core/src/skills/skill-manager.test.ts +692 -0
- package/packages/core/src/skills/skill-manager.ts +652 -0
- package/packages/core/src/skills/types.ts +111 -0
- package/packages/core/src/subagents/builtin-agents.test.ts +95 -0
- package/packages/core/src/subagents/builtin-agents.ts +95 -0
- package/packages/core/src/subagents/index.ts +75 -0
- package/packages/core/src/subagents/subagent-events.ts +145 -0
- package/packages/core/src/subagents/subagent-hooks.ts +33 -0
- package/packages/core/src/subagents/subagent-manager.test.ts +1152 -0
- package/packages/core/src/subagents/subagent-manager.ts +978 -0
- package/packages/core/src/subagents/subagent-statistics.test.ts +318 -0
- package/packages/core/src/subagents/subagent-statistics.ts +275 -0
- package/packages/core/src/subagents/subagent.test.ts +1196 -0
- package/packages/core/src/subagents/subagent.ts +1010 -0
- package/packages/core/src/subagents/types.test.ts +40 -0
- package/packages/core/src/subagents/types.ts +272 -0
- package/packages/core/src/subagents/validation.test.ts +426 -0
- package/packages/core/src/subagents/validation.ts +354 -0
- package/packages/core/src/telemetry/config.test.ts +155 -0
- package/packages/core/src/telemetry/config.ts +118 -0
- package/packages/core/src/telemetry/constants.ts +45 -0
- package/packages/core/src/telemetry/file-exporters.ts +93 -0
- package/packages/core/src/telemetry/index.ts +108 -0
- package/packages/core/src/telemetry/integration.test.circular.ts +111 -0
- package/packages/core/src/telemetry/loggers.test.circular.ts +128 -0
- package/packages/core/src/telemetry/loggers.test.ts +1284 -0
- package/packages/core/src/telemetry/loggers.ts +948 -0
- package/packages/core/src/telemetry/metrics.test.ts +899 -0
- package/packages/core/src/telemetry/metrics.ts +749 -0
- package/packages/core/src/telemetry/qwen-logger/event-types.ts +102 -0
- package/packages/core/src/telemetry/qwen-logger/qwen-logger.test.ts +515 -0
- package/packages/core/src/telemetry/qwen-logger/qwen-logger.ts +988 -0
- package/packages/core/src/telemetry/sdk.test.ts +148 -0
- package/packages/core/src/telemetry/sdk.ts +195 -0
- package/packages/core/src/telemetry/telemetry-utils.test.ts +46 -0
- package/packages/core/src/telemetry/telemetry-utils.ts +17 -0
- package/packages/core/src/telemetry/telemetry.test.ts +63 -0
- package/packages/core/src/telemetry/tool-call-decision.ts +32 -0
- package/packages/core/src/telemetry/types.ts +874 -0
- package/packages/core/src/telemetry/uiTelemetry.test.ts +766 -0
- package/packages/core/src/telemetry/uiTelemetry.ts +253 -0
- package/packages/core/src/test-utils/config.ts +36 -0
- package/packages/core/src/test-utils/index.ts +7 -0
- package/packages/core/src/test-utils/mock-tool.ts +218 -0
- package/packages/core/src/test-utils/mockWorkspaceContext.ts +33 -0
- package/packages/core/src/tools/__snapshots__/shell.test.ts.snap +98 -0
- package/packages/core/src/tools/askUserQuestion.test.ts +260 -0
- package/packages/core/src/tools/askUserQuestion.ts +352 -0
- package/packages/core/src/tools/diffOptions.test.ts +165 -0
- package/packages/core/src/tools/diffOptions.ts +73 -0
- package/packages/core/src/tools/edit.test.ts +933 -0
- package/packages/core/src/tools/edit.ts +622 -0
- package/packages/core/src/tools/exitPlanMode.test.ts +241 -0
- package/packages/core/src/tools/exitPlanMode.ts +200 -0
- package/packages/core/src/tools/glob.test.ts +650 -0
- package/packages/core/src/tools/glob.ts +296 -0
- package/packages/core/src/tools/grep.test.ts +484 -0
- package/packages/core/src/tools/grep.ts +570 -0
- package/packages/core/src/tools/ls.test.ts +325 -0
- package/packages/core/src/tools/ls.ts +339 -0
- package/packages/core/src/tools/lsp.test.ts +1233 -0
- package/packages/core/src/tools/lsp.ts +1218 -0
- package/packages/core/src/tools/mcp-client-manager.test.ts +257 -0
- package/packages/core/src/tools/mcp-client-manager.ts +532 -0
- package/packages/core/src/tools/mcp-client.test.ts +424 -0
- package/packages/core/src/tools/mcp-client.ts +1450 -0
- package/packages/core/src/tools/mcp-tool.test.ts +1119 -0
- package/packages/core/src/tools/mcp-tool.ts +580 -0
- package/packages/core/src/tools/memoryTool.test.ts +603 -0
- package/packages/core/src/tools/memoryTool.ts +542 -0
- package/packages/core/src/tools/modifiable-tool.test.ts +347 -0
- package/packages/core/src/tools/modifiable-tool.ts +178 -0
- package/packages/core/src/tools/read-file.test.ts +468 -0
- package/packages/core/src/tools/read-file.ts +226 -0
- package/packages/core/src/tools/ripGrep.test.ts +727 -0
- package/packages/core/src/tools/ripGrep.ts +334 -0
- package/packages/core/src/tools/sdk-control-client-transport.ts +145 -0
- package/packages/core/src/tools/shell.test.ts +1277 -0
- package/packages/core/src/tools/shell.ts +651 -0
- package/packages/core/src/tools/skill.test.ts +436 -0
- package/packages/core/src/tools/skill.ts +275 -0
- package/packages/core/src/tools/task.test.ts +538 -0
- package/packages/core/src/tools/task.ts +570 -0
- package/packages/core/src/tools/todoWrite.test.ts +304 -0
- package/packages/core/src/tools/todoWrite.ts +482 -0
- package/packages/core/src/tools/tool-error.ts +72 -0
- package/packages/core/src/tools/tool-names.ts +69 -0
- package/packages/core/src/tools/tool-registry.test.ts +432 -0
- package/packages/core/src/tools/tool-registry.ts +525 -0
- package/packages/core/src/tools/tools.test.ts +230 -0
- package/packages/core/src/tools/tools.ts +662 -0
- package/packages/core/src/tools/web-fetch.test.ts +169 -0
- package/packages/core/src/tools/web-fetch.ts +256 -0
- package/packages/core/src/tools/web-search/base-provider.ts +58 -0
- package/packages/core/src/tools/web-search/index.test.ts +312 -0
- package/packages/core/src/tools/web-search/index.ts +344 -0
- package/packages/core/src/tools/web-search/providers/dashscope-provider.ts +199 -0
- package/packages/core/src/tools/web-search/providers/google-provider.ts +91 -0
- package/packages/core/src/tools/web-search/providers/tavily-provider.ts +84 -0
- package/packages/core/src/tools/web-search/types.ts +156 -0
- package/packages/core/src/tools/web-search/utils.ts +42 -0
- package/packages/core/src/tools/write-file.test.ts +861 -0
- package/packages/core/src/tools/write-file.ts +491 -0
- package/packages/core/src/utils/LruCache.ts +41 -0
- package/packages/core/src/utils/browser.ts +56 -0
- package/packages/core/src/utils/configResolver.test.ts +141 -0
- package/packages/core/src/utils/configResolver.ts +222 -0
- package/packages/core/src/utils/debugLogger.test.ts +268 -0
- package/packages/core/src/utils/debugLogger.ts +195 -0
- package/packages/core/src/utils/editHelper.test.ts +210 -0
- package/packages/core/src/utils/editHelper.ts +478 -0
- package/packages/core/src/utils/editor.test.ts +546 -0
- package/packages/core/src/utils/editor.ts +226 -0
- package/packages/core/src/utils/envVarResolver.test.ts +297 -0
- package/packages/core/src/utils/envVarResolver.ts +126 -0
- package/packages/core/src/utils/environmentContext.test.ts +225 -0
- package/packages/core/src/utils/environmentContext.ts +94 -0
- package/packages/core/src/utils/errorParsing.test.ts +118 -0
- package/packages/core/src/utils/errorParsing.ts +84 -0
- package/packages/core/src/utils/errorReporting.test.ts +128 -0
- package/packages/core/src/utils/errorReporting.ts +80 -0
- package/packages/core/src/utils/errors.test.ts +91 -0
- package/packages/core/src/utils/errors.ts +134 -0
- package/packages/core/src/utils/fetch.test.ts +52 -0
- package/packages/core/src/utils/fetch.ts +192 -0
- package/packages/core/src/utils/fileUtils.test.ts +1126 -0
- package/packages/core/src/utils/fileUtils.ts +692 -0
- package/packages/core/src/utils/filesearch/crawlCache.test.ts +123 -0
- package/packages/core/src/utils/filesearch/crawlCache.ts +69 -0
- package/packages/core/src/utils/filesearch/crawler.test.ts +577 -0
- package/packages/core/src/utils/filesearch/crawler.ts +85 -0
- package/packages/core/src/utils/filesearch/fileSearch.test.ts +772 -0
- package/packages/core/src/utils/filesearch/fileSearch.ts +250 -0
- package/packages/core/src/utils/filesearch/ignore.test.ts +163 -0
- package/packages/core/src/utils/filesearch/ignore.ts +131 -0
- package/packages/core/src/utils/filesearch/result-cache.test.ts +55 -0
- package/packages/core/src/utils/filesearch/result-cache.ts +67 -0
- package/packages/core/src/utils/formatters.ts +16 -0
- package/packages/core/src/utils/generateContentResponseUtilities.test.ts +283 -0
- package/packages/core/src/utils/generateContentResponseUtilities.ts +127 -0
- package/packages/core/src/utils/getFolderStructure.test.ts +340 -0
- package/packages/core/src/utils/getFolderStructure.ts +336 -0
- package/packages/core/src/utils/getPty.ts +9 -0
- package/packages/core/src/utils/gitIgnoreParser.test.ts +237 -0
- package/packages/core/src/utils/gitIgnoreParser.ts +189 -0
- package/packages/core/src/utils/gitUtils.ts +90 -0
- package/packages/core/src/utils/iconvHelper.ts +65 -0
- package/packages/core/src/utils/ignorePatterns.test.ts +324 -0
- package/packages/core/src/utils/ignorePatterns.ts +278 -0
- package/packages/core/src/utils/installationManager.test.ts +99 -0
- package/packages/core/src/utils/installationManager.ts +61 -0
- package/packages/core/src/utils/jsonl-utils.ts +196 -0
- package/packages/core/src/utils/language-detection.ts +103 -0
- package/packages/core/src/utils/memoryDiscovery.test.ts +432 -0
- package/packages/core/src/utils/memoryDiscovery.ts +357 -0
- package/packages/core/src/utils/memoryImportProcessor.test.ts +933 -0
- package/packages/core/src/utils/memoryImportProcessor.ts +417 -0
- package/packages/core/src/utils/messageInspectors.ts +23 -0
- package/packages/core/src/utils/nextSpeakerChecker.test.ts +273 -0
- package/packages/core/src/utils/nextSpeakerChecker.ts +138 -0
- package/packages/core/src/utils/openaiLogger.test.ts +390 -0
- package/packages/core/src/utils/openaiLogger.ts +151 -0
- package/packages/core/src/utils/partUtils.test.ts +301 -0
- package/packages/core/src/utils/partUtils.ts +169 -0
- package/packages/core/src/utils/pathReader.test.ts +411 -0
- package/packages/core/src/utils/pathReader.ts +110 -0
- package/packages/core/src/utils/paths.test.ts +850 -0
- package/packages/core/src/utils/paths.ts +332 -0
- package/packages/core/src/utils/projectSummary.ts +119 -0
- package/packages/core/src/utils/promptIdContext.ts +9 -0
- package/packages/core/src/utils/quotaErrorDetection.test.ts +134 -0
- package/packages/core/src/utils/quotaErrorDetection.ts +126 -0
- package/packages/core/src/utils/qwenIgnoreParser.test.ts +68 -0
- package/packages/core/src/utils/qwenIgnoreParser.ts +81 -0
- package/packages/core/src/utils/rateLimit.test.ts +102 -0
- package/packages/core/src/utils/rateLimit.ts +84 -0
- package/packages/core/src/utils/readManyFiles.test.ts +298 -0
- package/packages/core/src/utils/readManyFiles.ts +210 -0
- package/packages/core/src/utils/request-tokenizer/imageTokenizer.test.ts +157 -0
- package/packages/core/src/utils/request-tokenizer/imageTokenizer.ts +508 -0
- package/packages/core/src/utils/request-tokenizer/index.ts +11 -0
- package/packages/core/src/utils/request-tokenizer/requestTokenizer.test.ts +271 -0
- package/packages/core/src/utils/request-tokenizer/requestTokenizer.ts +330 -0
- package/packages/core/src/utils/request-tokenizer/supportedImageFormats.ts +56 -0
- package/packages/core/src/utils/request-tokenizer/textTokenizer.test.ts +279 -0
- package/packages/core/src/utils/request-tokenizer/textTokenizer.ts +58 -0
- package/packages/core/src/utils/request-tokenizer/types.ts +36 -0
- package/packages/core/src/utils/retry.test.ts +534 -0
- package/packages/core/src/utils/retry.ts +246 -0
- package/packages/core/src/utils/ripgrepUtils.test.ts +135 -0
- package/packages/core/src/utils/ripgrepUtils.ts +322 -0
- package/packages/core/src/utils/runtimeFetchOptions.test.ts +95 -0
- package/packages/core/src/utils/runtimeFetchOptions.ts +153 -0
- package/packages/core/src/utils/safeJsonParse.test.ts +149 -0
- package/packages/core/src/utils/safeJsonParse.ts +48 -0
- package/packages/core/src/utils/safeJsonStringify.test.ts +73 -0
- package/packages/core/src/utils/safeJsonStringify.ts +32 -0
- package/packages/core/src/utils/schemaConverter.test.ts +118 -0
- package/packages/core/src/utils/schemaConverter.ts +135 -0
- package/packages/core/src/utils/schemaValidator.test.ts +297 -0
- package/packages/core/src/utils/schemaValidator.ts +140 -0
- package/packages/core/src/utils/secure-browser-launcher.test.ts +242 -0
- package/packages/core/src/utils/secure-browser-launcher.ts +191 -0
- package/packages/core/src/utils/shell-utils.test.ts +609 -0
- package/packages/core/src/utils/shell-utils.ts +915 -0
- package/packages/core/src/utils/shellReadOnlyChecker.test.ts +234 -0
- package/packages/core/src/utils/shellReadOnlyChecker.ts +353 -0
- package/packages/core/src/utils/subagentGenerator.test.ts +217 -0
- package/packages/core/src/utils/subagentGenerator.ts +146 -0
- package/packages/core/src/utils/summarizer.test.ts +202 -0
- package/packages/core/src/utils/summarizer.ts +99 -0
- package/packages/core/src/utils/symlink.ts +60 -0
- package/packages/core/src/utils/systemEncoding.test.ts +478 -0
- package/packages/core/src/utils/systemEncoding.ts +178 -0
- package/packages/core/src/utils/terminalSerializer.test.ts +197 -0
- package/packages/core/src/utils/terminalSerializer.ts +476 -0
- package/packages/core/src/utils/testUtils.ts +87 -0
- package/packages/core/src/utils/textUtils.test.ts +119 -0
- package/packages/core/src/utils/textUtils.ts +75 -0
- package/packages/core/src/utils/thoughtUtils.test.ts +80 -0
- package/packages/core/src/utils/thoughtUtils.ts +76 -0
- package/packages/core/src/utils/toml-to-markdown-converter.test.ts +103 -0
- package/packages/core/src/utils/toml-to-markdown-converter.ts +74 -0
- package/packages/core/src/utils/tool-utils.test.ts +159 -0
- package/packages/core/src/utils/tool-utils.ts +181 -0
- package/packages/core/src/utils/workspaceContext.test.ts +414 -0
- package/packages/core/src/utils/workspaceContext.ts +202 -0
- package/packages/core/src/utils/yaml-parser.test.ts +193 -0
- package/packages/core/src/utils/yaml-parser.ts +192 -0
- package/packages/core/test-setup.ts +27 -0
- package/packages/core/tsconfig.json +11 -0
- package/packages/core/vendor/ripgrep/COPYING +3 -0
- package/packages/core/vendor/ripgrep/arm64-darwin/rg +0 -0
- package/packages/core/vendor/ripgrep/arm64-linux/rg +0 -0
- package/packages/core/vendor/ripgrep/x64-darwin/rg +0 -0
- package/packages/core/vendor/ripgrep/x64-linux/rg +0 -0
- package/packages/core/vendor/ripgrep/x64-win32/rg.exe +0 -0
- package/packages/core/vitest.config.ts +38 -0
- package/packages/ice-v43/package.json +35 -0
- package/packages/ice-v43/src/agent-crews.ts +189 -0
- package/packages/ice-v43/src/cli.ts +96 -0
- package/packages/ice-v43/src/d20-learner.ts +161 -0
- package/packages/ice-v43/src/engine.ts +219 -0
- package/packages/ice-v43/src/index.ts +40 -0
- package/packages/ice-v43/src/intent-decoder.ts +200 -0
- package/packages/ice-v43/src/multi-provider-client.ts +200 -0
- package/packages/ice-v43/src/reasoning/chain-of-thought.ts +166 -0
- package/packages/ice-v43/src/reasoning/index.ts +16 -0
- package/packages/ice-v43/src/reasoning/self-reflection.ts +160 -0
- package/packages/ice-v43/src/reasoning/socratic-reviewer.ts +167 -0
- package/packages/ice-v43/src/reasoning/tree-of-thoughts.ts +212 -0
- package/packages/ice-v43/src/reasoning/types.ts +40 -0
- package/packages/ice-v43/src/status-cli.ts +77 -0
- package/packages/ice-v43/src/types.ts +81 -0
- package/packages/ice-v43/tsconfig.json +25 -0
- package/packages/sdk-java/client/.editorconfig +24 -0
- package/packages/sdk-java/client/QWEN.md +106 -0
- package/packages/sdk-java/client/README.md +178 -0
- package/packages/sdk-java/client/checkstyle.xml +131 -0
- package/packages/sdk-java/client/pom.xml +206 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/AcpClient.java +174 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/notification/AgentNotification.java +12 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/notification/SessionNotification.java +42 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/AuthenticateRequest.java +31 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/ReadTextFileRequest.java +58 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/RequestPermissionRequest.java +53 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/WriteTextFileRequest.java +49 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/CreateTerminalRequest.java +79 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/KillTerminalCommandRequest.java +40 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/ReleaseTerminalRequest.java +40 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/TerminalOutputRequest.java +40 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/WaitForTerminalExitRequest.java +40 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/AuthenticateResponse.java +11 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/InitializeResponse.java +101 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/LoadSessionResponse.java +21 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/NewSessionResponse.java +30 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/PromptResponse.java +21 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/SetSessionModeResponse.java +11 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/notification/CancelNotification.java +33 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/notification/ClientNotification.java +13 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/InitializeRequest.java +102 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/LoadSessionRequest.java +54 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/NewSessionRequest.java +46 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/PromptRequest.java +50 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/SetSessionModeRequest.java +40 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/ReadTextFileResponse.java +33 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/RequestPermissionResponse.java +40 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/WriteTextFileResponse.java +11 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/CreateTerminalResponse.java +20 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/KillTerminalCommandResponse.java +11 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/ReleaseTerminalResponse.java +11 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/TerminalOutputResponse.java +60 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/terminal/WaitForTerminalExitResponse.java +29 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/agent/AgentCapabilities.java +189 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/agent/AgentInfo.java +68 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/agent/AuthMethod.java +68 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/client/ClientCapabilities.java +120 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/client/ClientInfo.java +68 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/Diff.java +34 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/ToolCallContent.java +44 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/Annotations.java +53 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/AudioContent.java +40 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/ContentBlock.java +18 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/ImageContent.java +49 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/ResourceLink.java +76 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/TextContent.java +36 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/BlobResourceContents.java +13 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/EmbeddedResource.java +32 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/ResourceContent.java +26 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/ResourceContentDeserializer.java +24 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/TextResourceContents.java +13 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/mcp/HttpHeader.java +25 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/mcp/McpServer.java +75 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/PermissionOption.java +34 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/PermissionOptionKind.java +17 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/PermissionOutcomeKind.java +10 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/RequestPermissionOutcome.java +34 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/Plan.java +18 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/PlanEntry.java +34 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/PlanEntryPriority.java +14 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/PlanEntryStatus.java +14 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/SessionMode.java +34 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/SessionModeState.java +27 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/StopReason.java +20 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/AgentMessageChunkSessionUpdate.java +21 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/AvailableCommand.java +34 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/AvailableCommandsUpdateSessionUpdate.java +22 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/CurrentModeUpdateSessionUpdate.java +20 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/PlanSessionUpdate.java +23 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/SessionUpdate.java +23 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/ToolCallSessionUpdate.java +11 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/ToolCallUpdateSessionUpdate.java +11 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/UnstructuredCommandInput.java +16 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/terminal/EnvVariable.java +25 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolCallLocation.java +25 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolCallStatus.java +17 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolCallUpdate.java +82 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolKind.java +35 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Error.java +181 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/ExtNotification.java +4 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/ExtRequest.java +4 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/ExtResponse.java +5 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Message.java +22 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Meta.java +48 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/MethodMessage.java +72 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Request.java +10 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Response.java +35 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/schema.json +3105 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/Session.java +312 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/AgentEventConsumer.java +118 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/ContentEventConsumer.java +110 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/ContentEventSimpleConsumer.java +84 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/FileEventConsumer.java +53 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/FileEventSimpleConsumer.java +168 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/PermissionEventConsumer.java +34 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/PromptEndEventConsumer.java +29 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/TerminalEventConsumer.java +110 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/exception/EventConsumeException.java +89 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/exception/SessionLoadException.java +65 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/exception/SessionNewException.java +73 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/transport/Transport.java +74 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/transport/process/ProcessTransport.java +228 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/transport/process/ProcessTransportOptions.java +122 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/AgentInitializeException.java +73 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/MyConcurrentUtils.java +83 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/ThreadPoolConfig.java +77 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/Timeout.java +72 -0
- package/packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/TransportUtils.java +38 -0
- package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/PermissionOptionKindTest.java +31 -0
- package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/PlanEntryPriorityTest.java +27 -0
- package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/PlanEntryStatusTest.java +27 -0
- package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/StopReasonTest.java +35 -0
- package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/ToolCallStatusTest.java +31 -0
- package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/ToolKindTest.java +55 -0
- package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/session/SessionTest.java +128 -0
- package/packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/test/EnumTest.java +22 -0
- package/packages/sdk-java/client/src/test/resources/schema/schema.json +3105 -0
- package/packages/sdk-java/qwencode/.editorconfig +24 -0
- package/packages/sdk-java/qwencode/LICENSE +201 -0
- package/packages/sdk-java/qwencode/QWEN.md +377 -0
- package/packages/sdk-java/qwencode/README.md +307 -0
- package/packages/sdk-java/qwencode/RELEASE.md +150 -0
- package/packages/sdk-java/qwencode/checkstyle.xml +131 -0
- package/packages/sdk-java/qwencode/pom.xml +193 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/QwenCodeCli.java +142 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/AssistantContent.java +95 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/AssistantUsage.java +76 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/CLIPermissionDenial.java +83 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/Capabilities.java +131 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/ExtendedUsage.java +147 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/InitializeConfig.java +98 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/ModelUsage.java +142 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/PermissionMode.java +56 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/Usage.java +137 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/behavior/Allow.java +46 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/behavior/Behavior.java +62 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/behavior/Deny.java +45 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/Message.java +23 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/MessageBase.java +64 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/SDKResultMessage.java +332 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/SDKSystemMessage.java +486 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/SDKUserMessage.java +196 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/APIAssistantMessage.java +172 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/SDKAssistantMessage.java +121 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/SDKPartialAssistantMessage.java +116 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/Annotation.java +59 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ContentBlock.java +87 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/TextBlock.java +42 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ThinkingBlock.java +64 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ToolResultBlock.java +92 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ToolUseBlock.java +122 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/ContentBlockDeltaEvent.java +224 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/ContentBlockStartEvent.java +25 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/ContentBlockStopEvent.java +35 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/MessageStartStreamEvent.java +107 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/MessageStopStreamEvent.java +13 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/StreamEvent.java +37 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/CLIControlRequest.java +90 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/CLIControlResponse.java +138 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlInitializeRequest.java +45 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlInitializeResponse.java +41 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlInterruptRequest.java +17 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlPermissionRequest.java +235 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlPermissionResponse.java +45 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlSetModelRequest.java +40 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlSetModelResponse.java +54 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlSetPermissionModeRequest.java +40 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/ControlRequestPayload.java +26 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/ControlResponsePayload.java +26 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/protocol.ts +594 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/Session.java +302 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/AssistantContentConsumers.java +159 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/AssistantContentSimpleConsumers.java +193 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/SessionEventConsumers.java +158 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/SessionEventSimpleConsumers.java +339 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/exception/SessionControlException.java +55 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/exception/SessionSendPromptException.java +55 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/Transport.java +78 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/TransportOptions.java +386 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/process/ProcessTransport.java +224 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/process/TransportOptionsAdapter.java +153 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/utils/MyConcurrentUtils.java +94 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/utils/ThreadPoolConfig.java +64 -0
- package/packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/utils/Timeout.java +68 -0
- package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/QwenCodeCliTest.java +29 -0
- package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/example/QuickStartExample.java +109 -0
- package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/example/SessionExample.java +256 -0
- package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/example/ThreadPoolConfigurationExample.java +50 -0
- package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/session/SessionTest.java +185 -0
- package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/transport/PermissionModeTest.java +19 -0
- package/packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/transport/process/ProcessTransportTest.java +87 -0
- package/packages/sdk-typescript/README.md +395 -0
- package/packages/sdk-typescript/package.json +75 -0
- package/packages/sdk-typescript/scripts/build.js +93 -0
- package/packages/sdk-typescript/scripts/bundle-cli-from-npm.js +88 -0
- package/packages/sdk-typescript/scripts/bundle-cli.js +83 -0
- package/packages/sdk-typescript/scripts/get-release-version.js +363 -0
- package/packages/sdk-typescript/src/index.ts +64 -0
- package/packages/sdk-typescript/src/mcp/SdkControlServerTransport.ts +105 -0
- package/packages/sdk-typescript/src/mcp/createSdkMcpServer.ts +107 -0
- package/packages/sdk-typescript/src/mcp/formatters.ts +194 -0
- package/packages/sdk-typescript/src/mcp/tool.ts +90 -0
- package/packages/sdk-typescript/src/query/Query.ts +937 -0
- package/packages/sdk-typescript/src/query/createQuery.ts +140 -0
- package/packages/sdk-typescript/src/transport/ProcessTransport.ts +474 -0
- package/packages/sdk-typescript/src/transport/Transport.ts +22 -0
- package/packages/sdk-typescript/src/types/errors.ts +17 -0
- package/packages/sdk-typescript/src/types/protocol.ts +605 -0
- package/packages/sdk-typescript/src/types/queryOptionsSchema.ts +173 -0
- package/packages/sdk-typescript/src/types/types.ts +477 -0
- package/packages/sdk-typescript/src/utils/Stream.ts +79 -0
- package/packages/sdk-typescript/src/utils/cliPath.ts +364 -0
- package/packages/sdk-typescript/src/utils/jsonLines.ts +65 -0
- package/packages/sdk-typescript/src/utils/logger.ts +147 -0
- package/packages/sdk-typescript/src/utils/validation.ts +33 -0
- package/packages/sdk-typescript/test/unit/ProcessTransport.test.ts +1754 -0
- package/packages/sdk-typescript/test/unit/Query.test.ts +1433 -0
- package/packages/sdk-typescript/test/unit/Stream.test.ts +255 -0
- package/packages/sdk-typescript/test/unit/cliPath.test.ts +423 -0
- package/packages/sdk-typescript/test/unit/createSdkMcpServer.test.ts +386 -0
- package/packages/sdk-typescript/tsconfig.build.json +15 -0
- package/packages/sdk-typescript/tsconfig.json +41 -0
- package/packages/sdk-typescript/vitest.config.ts +47 -0
- package/packages/test-utils/index.ts +7 -0
- package/packages/test-utils/package.json +18 -0
- package/packages/test-utils/src/file-system-test-helpers.ts +98 -0
- package/packages/test-utils/src/index.ts +7 -0
- package/packages/test-utils/tsconfig.json +11 -0
- package/packages/test-utils/vitest.config.ts +23 -0
- package/packages/vscode-ide-companion/.vscode/launch.json +13 -0
- package/packages/vscode-ide-companion/.vscode/tasks.json +18 -0
- package/packages/vscode-ide-companion/.vscodeignore +10 -0
- package/packages/vscode-ide-companion/LICENSE +202 -0
- package/packages/vscode-ide-companion/NOTICES.txt +2442 -0
- package/packages/vscode-ide-companion/README.md +70 -0
- package/packages/vscode-ide-companion/assets/icon.png +0 -0
- package/packages/vscode-ide-companion/development.md +24 -0
- package/packages/vscode-ide-companion/esbuild.js +197 -0
- package/packages/vscode-ide-companion/eslint.config.mjs +75 -0
- package/packages/vscode-ide-companion/package.json +172 -0
- package/packages/vscode-ide-companion/postcss.config.js +13 -0
- package/packages/vscode-ide-companion/schemas/settings.schema.json +622 -0
- package/packages/vscode-ide-companion/scripts/copy-bundled-cli.js +67 -0
- package/packages/vscode-ide-companion/scripts/generate-notices.js +160 -0
- package/packages/vscode-ide-companion/scripts/prepackage.js +252 -0
- package/packages/vscode-ide-companion/src/commands/index.ts +86 -0
- package/packages/vscode-ide-companion/src/constants/acpSchema.ts +35 -0
- package/packages/vscode-ide-companion/src/constants/loadingMessages.ts +146 -0
- package/packages/vscode-ide-companion/src/diff-manager.ts +433 -0
- package/packages/vscode-ide-companion/src/extension.test.ts +298 -0
- package/packages/vscode-ide-companion/src/extension.ts +380 -0
- package/packages/vscode-ide-companion/src/ide-server.test.ts +536 -0
- package/packages/vscode-ide-companion/src/ide-server.ts +477 -0
- package/packages/vscode-ide-companion/src/open-files-manager.test.ts +441 -0
- package/packages/vscode-ide-companion/src/open-files-manager.ts +215 -0
- package/packages/vscode-ide-companion/src/services/acpConnection.ts +532 -0
- package/packages/vscode-ide-companion/src/services/acpFileHandler.test.ts +131 -0
- package/packages/vscode-ide-companion/src/services/acpFileHandler.ts +117 -0
- package/packages/vscode-ide-companion/src/services/conversationStore.ts +83 -0
- package/packages/vscode-ide-companion/src/services/open-files-manager/constants.ts +8 -0
- package/packages/vscode-ide-companion/src/services/open-files-manager/notebook-handler.ts +119 -0
- package/packages/vscode-ide-companion/src/services/open-files-manager/text-handler.ts +61 -0
- package/packages/vscode-ide-companion/src/services/open-files-manager/utils.ts +101 -0
- package/packages/vscode-ide-companion/src/services/qwenAgentManager.ts +1495 -0
- package/packages/vscode-ide-companion/src/services/qwenConnectionHandler.ts +237 -0
- package/packages/vscode-ide-companion/src/services/qwenSessionManager.ts +151 -0
- package/packages/vscode-ide-companion/src/services/qwenSessionReader.ts +353 -0
- package/packages/vscode-ide-companion/src/services/qwenSessionUpdateHandler.test.ts +358 -0
- package/packages/vscode-ide-companion/src/services/qwenSessionUpdateHandler.ts +274 -0
- package/packages/vscode-ide-companion/src/services/readonlyFileSystemProvider.ts +204 -0
- package/packages/vscode-ide-companion/src/types/acpTypes.ts +68 -0
- package/packages/vscode-ide-companion/src/types/approvalModeTypes.ts +79 -0
- package/packages/vscode-ide-companion/src/types/approvalModeValueTypes.ts +11 -0
- package/packages/vscode-ide-companion/src/types/chatTypes.ts +113 -0
- package/packages/vscode-ide-companion/src/types/completionItemTypes.ts +7 -0
- package/packages/vscode-ide-companion/src/types/connectionTypes.ts +43 -0
- package/packages/vscode-ide-companion/src/types/webviewMessageTypes.ts +25 -0
- package/packages/vscode-ide-companion/src/utils/acpModelInfo.test.ts +208 -0
- package/packages/vscode-ide-companion/src/utils/acpModelInfo.ts +288 -0
- package/packages/vscode-ide-companion/src/utils/authErrors.ts +36 -0
- package/packages/vscode-ide-companion/src/utils/authNotificationHandler.ts +50 -0
- package/packages/vscode-ide-companion/src/utils/editorGroupUtils.ts +162 -0
- package/packages/vscode-ide-companion/src/utils/logger.ts +18 -0
- package/packages/vscode-ide-companion/src/utils/platform.ts +8 -0
- package/packages/vscode-ide-companion/src/webview/App.tsx +1060 -0
- package/packages/vscode-ide-companion/src/webview/MessageHandler.ts +89 -0
- package/packages/vscode-ide-companion/src/webview/PanelManager.ts +385 -0
- package/packages/vscode-ide-companion/src/webview/WebViewContent.ts +50 -0
- package/packages/vscode-ide-companion/src/webview/WebViewProvider.ts +1450 -0
- package/packages/vscode-ide-companion/src/webview/components/layout/InputForm.tsx +88 -0
- package/packages/vscode-ide-companion/src/webview/components/layout/ModelSelector.tsx +197 -0
- package/packages/vscode-ide-companion/src/webview/components/layout/Onboarding.tsx +26 -0
- package/packages/vscode-ide-companion/src/webview/components/messages/toolcalls/ToolCall.tsx +29 -0
- package/packages/vscode-ide-companion/src/webview/components/messages/toolcalls/index.tsx +101 -0
- package/packages/vscode-ide-companion/src/webview/context/VSCodePlatformProvider.tsx +171 -0
- package/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.ts +83 -0
- package/packages/vscode-ide-companion/src/webview/handlers/BaseMessageHandler.ts +58 -0
- package/packages/vscode-ide-companion/src/webview/handlers/EditorMessageHandler.ts +111 -0
- package/packages/vscode-ide-companion/src/webview/handlers/FileMessageHandler.test.ts +118 -0
- package/packages/vscode-ide-companion/src/webview/handlers/FileMessageHandler.ts +565 -0
- package/packages/vscode-ide-companion/src/webview/handlers/MessageRouter.ts +175 -0
- package/packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.ts +994 -0
- package/packages/vscode-ide-companion/src/webview/hooks/file/useFileContext.ts +189 -0
- package/packages/vscode-ide-companion/src/webview/hooks/message/useMessageHandling.ts +182 -0
- package/packages/vscode-ide-companion/src/webview/hooks/session/useSessionManagement.ts +127 -0
- package/packages/vscode-ide-companion/src/webview/hooks/useCompletionTrigger.ts +357 -0
- package/packages/vscode-ide-companion/src/webview/hooks/useMessageSubmit.ts +171 -0
- package/packages/vscode-ide-companion/src/webview/hooks/useToolCalls.ts +271 -0
- package/packages/vscode-ide-companion/src/webview/hooks/useVSCode.ts +54 -0
- package/packages/vscode-ide-companion/src/webview/hooks/useWebViewMessages.ts +988 -0
- package/packages/vscode-ide-companion/src/webview/index.tsx +28 -0
- package/packages/vscode-ide-companion/src/webview/styles/App.css +175 -0
- package/packages/vscode-ide-companion/src/webview/styles/tailwind.css +27 -0
- package/packages/vscode-ide-companion/src/webview/utils/diffStats.ts +160 -0
- package/packages/vscode-ide-companion/src/webview/utils/diffUtils.ts +49 -0
- package/packages/vscode-ide-companion/src/webview/utils/resourceUrl.ts +115 -0
- package/packages/vscode-ide-companion/src/webview/utils/sessionGrouping.ts +10 -0
- package/packages/vscode-ide-companion/src/webview/utils/utils.test.ts +134 -0
- package/packages/vscode-ide-companion/src/webview/utils/utils.ts +26 -0
- package/packages/vscode-ide-companion/src/webview/utils/webviewUtils.ts +31 -0
- package/packages/vscode-ide-companion/tailwind.config.js +74 -0
- package/packages/vscode-ide-companion/tsconfig.json +17 -0
- package/packages/vscode-ide-companion/vitest.config.ts +15 -0
- package/packages/web-templates/build.mjs +57 -0
- package/packages/web-templates/package.json +39 -0
- package/packages/web-templates/src/export-html/build.mjs +87 -0
- package/packages/web-templates/src/export-html/esbuild.config.mjs +35 -0
- package/packages/web-templates/src/export-html/package.json +14 -0
- package/packages/web-templates/src/export-html/src/components/TempFileModal.css +70 -0
- package/packages/web-templates/src/export-html/src/components/TempFileModal.tsx +65 -0
- package/packages/web-templates/src/export-html/src/favicon.svg +6 -0
- package/packages/web-templates/src/export-html/src/index.html +59 -0
- package/packages/web-templates/src/export-html/src/main.tsx +186 -0
- package/packages/web-templates/src/export-html/src/styles.css +203 -0
- package/packages/web-templates/src/export-html/src/types.d.ts +9 -0
- package/packages/web-templates/src/export-html/tsconfig.json +15 -0
- package/packages/web-templates/src/index.ts +9 -0
- package/packages/web-templates/src/insight/build.mjs +57 -0
- package/packages/web-templates/src/insight/index.html +17 -0
- package/packages/web-templates/src/insight/package.json +9 -0
- package/packages/web-templates/src/insight/postcss.config.js +5 -0
- package/packages/web-templates/src/insight/src/App.tsx +287 -0
- package/packages/web-templates/src/insight/src/Charts.tsx +300 -0
- package/packages/web-templates/src/insight/src/Components.tsx +45 -0
- package/packages/web-templates/src/insight/src/Header.tsx +79 -0
- package/packages/web-templates/src/insight/src/Qualitative.tsx +718 -0
- package/packages/web-templates/src/insight/src/ShareCard.tsx +598 -0
- package/packages/web-templates/src/insight/src/dev.tsx +363 -0
- package/packages/web-templates/src/insight/src/styles.css +1290 -0
- package/packages/web-templates/src/insight/src/types.ts +15 -0
- package/packages/web-templates/src/insight/tailwind.config.js +8 -0
- package/packages/web-templates/src/insight/tsconfig.json +15 -0
- package/packages/web-templates/src/insight/vite.config.mjs +39 -0
- package/packages/web-templates/tsconfig.json +12 -0
- package/packages/webui/.storybook/main.ts +44 -0
- package/packages/webui/.storybook/preview.css +54 -0
- package/packages/webui/.storybook/preview.ts +67 -0
- package/packages/webui/README.md +347 -0
- package/packages/webui/docs/WEBUI_MIGRATION_PLAN_EN.md +428 -0
- package/packages/webui/examples/README.md +8 -0
- package/packages/webui/examples/cdn-usage-demo.html +161 -0
- package/packages/webui/examples/complex-chat-demo.html +428 -0
- package/packages/webui/package.json +80 -0
- package/packages/webui/postcss.config.cjs +13 -0
- package/packages/webui/scripts/add-license-header.sh +48 -0
- package/packages/webui/src/adapters/ACPAdapter.ts +109 -0
- package/packages/webui/src/adapters/JSONLAdapter.ts +126 -0
- package/packages/webui/src/adapters/index.ts +28 -0
- package/packages/webui/src/adapters/types.ts +82 -0
- package/packages/webui/src/components/ChatViewer/ChatViewer.css +192 -0
- package/packages/webui/src/components/ChatViewer/ChatViewer.stories.tsx +1650 -0
- package/packages/webui/src/components/ChatViewer/ChatViewer.tsx +424 -0
- package/packages/webui/src/components/ChatViewer/index.ts +16 -0
- package/packages/webui/src/components/PermissionDrawer.css +249 -0
- package/packages/webui/src/components/PermissionDrawer.stories.tsx +81 -0
- package/packages/webui/src/components/PermissionDrawer.tsx +259 -0
- package/packages/webui/src/components/WebviewContainer.tsx +17 -0
- package/packages/webui/src/components/icons/CloseIcon.tsx +36 -0
- package/packages/webui/src/components/icons/EditIcons.tsx +389 -0
- package/packages/webui/src/components/icons/FileIcons.tsx +99 -0
- package/packages/webui/src/components/icons/Icon.tsx +41 -0
- package/packages/webui/src/components/icons/NavigationIcons.tsx +270 -0
- package/packages/webui/src/components/icons/SendIcon.tsx +36 -0
- package/packages/webui/src/components/icons/SpecialIcons.tsx +79 -0
- package/packages/webui/src/components/icons/StatusIcons.tsx +235 -0
- package/packages/webui/src/components/icons/StopIcon.tsx +29 -0
- package/packages/webui/src/components/icons/index.ts +60 -0
- package/packages/webui/src/components/icons/types.ts +22 -0
- package/packages/webui/src/components/layout/ChatHeader.stories.tsx +66 -0
- package/packages/webui/src/components/layout/ChatHeader.tsx +77 -0
- package/packages/webui/src/components/layout/CompletionMenu.stories.tsx +129 -0
- package/packages/webui/src/components/layout/CompletionMenu.tsx +280 -0
- package/packages/webui/src/components/layout/Container.tsx +18 -0
- package/packages/webui/src/components/layout/ContextIndicator.stories.tsx +85 -0
- package/packages/webui/src/components/layout/ContextIndicator.tsx +129 -0
- package/packages/webui/src/components/layout/EmptyState.stories.tsx +100 -0
- package/packages/webui/src/components/layout/EmptyState.tsx +99 -0
- package/packages/webui/src/components/layout/FileLink.tsx +189 -0
- package/packages/webui/src/components/layout/Footer.tsx +11 -0
- package/packages/webui/src/components/layout/Header.tsx +11 -0
- package/packages/webui/src/components/layout/InputForm.stories.tsx +205 -0
- package/packages/webui/src/components/layout/InputForm.tsx +367 -0
- package/packages/webui/src/components/layout/Main.tsx +11 -0
- package/packages/webui/src/components/layout/Onboarding.stories.tsx +69 -0
- package/packages/webui/src/components/layout/Onboarding.tsx +70 -0
- package/packages/webui/src/components/layout/SessionSelector.stories.tsx +154 -0
- package/packages/webui/src/components/layout/SessionSelector.tsx +194 -0
- package/packages/webui/src/components/layout/Sidebar.tsx +11 -0
- package/packages/webui/src/components/messages/AskUserQuestionDialog.tsx +525 -0
- package/packages/webui/src/components/messages/Assistant/AssistantMessage.css +104 -0
- package/packages/webui/src/components/messages/Assistant/AssistantMessage.stories.tsx +207 -0
- package/packages/webui/src/components/messages/Assistant/AssistantMessage.tsx +99 -0
- package/packages/webui/src/components/messages/Assistant/index.ts +11 -0
- package/packages/webui/src/components/messages/CollapsibleFileContent.tsx +264 -0
- package/packages/webui/src/components/messages/MarkdownRenderer/MarkdownRenderer.css +222 -0
- package/packages/webui/src/components/messages/MarkdownRenderer/MarkdownRenderer.tsx +360 -0
- package/packages/webui/src/components/messages/MarkdownRenderer/index.ts +8 -0
- package/packages/webui/src/components/messages/Message.tsx +45 -0
- package/packages/webui/src/components/messages/MessageContent.tsx +31 -0
- package/packages/webui/src/components/messages/MessageInput.tsx +11 -0
- package/packages/webui/src/components/messages/MessageList.tsx +11 -0
- package/packages/webui/src/components/messages/ThinkingMessage.css +150 -0
- package/packages/webui/src/components/messages/ThinkingMessage.stories.tsx +141 -0
- package/packages/webui/src/components/messages/ThinkingMessage.tsx +83 -0
- package/packages/webui/src/components/messages/UserMessage.stories.tsx +121 -0
- package/packages/webui/src/components/messages/UserMessage.tsx +91 -0
- package/packages/webui/src/components/messages/Waiting/InterruptedMessage.tsx +22 -0
- package/packages/webui/src/components/messages/Waiting/WaitingMessage.tsx +83 -0
- package/packages/webui/src/components/toolcalls/CheckboxDisplay.stories.tsx +63 -0
- package/packages/webui/src/components/toolcalls/CheckboxDisplay.tsx +79 -0
- package/packages/webui/src/components/toolcalls/EditToolCall.stories.tsx +92 -0
- package/packages/webui/src/components/toolcalls/EditToolCall.tsx +216 -0
- package/packages/webui/src/components/toolcalls/GenericToolCall.stories.tsx +102 -0
- package/packages/webui/src/components/toolcalls/GenericToolCall.tsx +148 -0
- package/packages/webui/src/components/toolcalls/ReadToolCall.stories.tsx +171 -0
- package/packages/webui/src/components/toolcalls/ReadToolCall.tsx +338 -0
- package/packages/webui/src/components/toolcalls/SaveMemoryToolCall.tsx +69 -0
- package/packages/webui/src/components/toolcalls/SearchToolCall.stories.tsx +85 -0
- package/packages/webui/src/components/toolcalls/SearchToolCall.tsx +210 -0
- package/packages/webui/src/components/toolcalls/ShellToolCall.css +190 -0
- package/packages/webui/src/components/toolcalls/ShellToolCall.stories.tsx +183 -0
- package/packages/webui/src/components/toolcalls/ShellToolCall.tsx +297 -0
- package/packages/webui/src/components/toolcalls/ThinkToolCall.stories.tsx +98 -0
- package/packages/webui/src/components/toolcalls/ThinkToolCall.tsx +86 -0
- package/packages/webui/src/components/toolcalls/UpdatedPlanToolCall.stories.tsx +100 -0
- package/packages/webui/src/components/toolcalls/UpdatedPlanToolCall.tsx +188 -0
- package/packages/webui/src/components/toolcalls/WebFetchToolCall.tsx +195 -0
- package/packages/webui/src/components/toolcalls/WriteToolCall.stories.tsx +68 -0
- package/packages/webui/src/components/toolcalls/WriteToolCall.tsx +132 -0
- package/packages/webui/src/components/toolcalls/index.ts +22 -0
- package/packages/webui/src/components/toolcalls/shared/CodeBlock.stories.tsx +52 -0
- package/packages/webui/src/components/toolcalls/shared/CopyButton.stories.tsx +54 -0
- package/packages/webui/src/components/toolcalls/shared/LayoutComponents.css +207 -0
- package/packages/webui/src/components/toolcalls/shared/LayoutComponents.tsx +188 -0
- package/packages/webui/src/components/toolcalls/shared/LocationsList.stories.tsx +45 -0
- package/packages/webui/src/components/toolcalls/shared/StatusIndicator.stories.tsx +51 -0
- package/packages/webui/src/components/toolcalls/shared/ToolCallCard.stories.tsx +80 -0
- package/packages/webui/src/components/toolcalls/shared/ToolCallContainer.stories.tsx +79 -0
- package/packages/webui/src/components/toolcalls/shared/copyUtils.tsx +99 -0
- package/packages/webui/src/components/toolcalls/shared/index.ts +43 -0
- package/packages/webui/src/components/toolcalls/shared/types.ts +95 -0
- package/packages/webui/src/components/toolcalls/shared/utils.ts +284 -0
- package/packages/webui/src/components/ui/Button.stories.tsx +83 -0
- package/packages/webui/src/components/ui/Button.tsx +143 -0
- package/packages/webui/src/components/ui/Input.tsx +149 -0
- package/packages/webui/src/components/ui/Tooltip.stories.tsx +68 -0
- package/packages/webui/src/components/ui/Tooltip.tsx +73 -0
- package/packages/webui/src/context/PlatformContext.tsx +104 -0
- package/packages/webui/src/hooks/useLocalStorage.ts +33 -0
- package/packages/webui/src/hooks/useTheme.ts +35 -0
- package/packages/webui/src/index.ts +256 -0
- package/packages/webui/src/styles/components.css +524 -0
- package/packages/webui/src/styles/timeline.css +69 -0
- package/packages/webui/src/styles/variables.css +197 -0
- package/packages/webui/src/types/chat.ts +28 -0
- package/packages/webui/src/types/completion.ts +42 -0
- package/packages/webui/src/types/messages.ts +13 -0
- package/packages/webui/src/types/theme.ts +7 -0
- package/packages/webui/src/types/toolCall.ts +48 -0
- package/packages/webui/src/utils/sessionGrouping.ts +126 -0
- package/packages/webui/tailwind.config.cjs +11 -0
- package/packages/webui/tailwind.preset.cjs +90 -0
- package/packages/webui/tsconfig.json +21 -0
- package/packages/webui/vite.config.ts +59 -0
- package/packages/zed-extension/LICENSE +22 -0
- package/packages/zed-extension/README.md +126 -0
- package/packages/zed-extension/extension.toml +32 -0
- package/packages/zed-extension/qwen-code.svg +1 -0
- package/patches/README.md +293 -0
- package/pyproject.toml +54 -0
- package/requirements.txt +10 -0
- package/scripts/build.js +88 -0
- package/scripts/build_package.js +37 -0
- package/scripts/build_sandbox.js +174 -0
- package/scripts/build_vscode_companion.js +30 -0
- package/scripts/check-build-status.js +148 -0
- package/scripts/check-i18n.ts +462 -0
- package/scripts/check-lockfile.js +74 -0
- package/scripts/clean.js +59 -0
- package/scripts/copy_bundle_assets.js +90 -0
- package/scripts/copy_files.js +86 -0
- package/scripts/create_alias.sh +39 -0
- package/scripts/dev.js +109 -0
- package/scripts/esbuild-shims.js +29 -0
- package/scripts/generate-git-commit-info.js +71 -0
- package/scripts/generate-settings-schema.ts +146 -0
- package/scripts/get-release-version.js +411 -0
- package/scripts/install-ice.sh +70 -0
- package/scripts/install.sh +136 -0
- package/scripts/installation/INSTALLATION_GUIDE.md +250 -0
- package/scripts/installation/install-qwen-with-source.bat +302 -0
- package/scripts/installation/install-qwen-with-source.sh +570 -0
- package/scripts/lint.js +205 -0
- package/scripts/local_telemetry.js +219 -0
- package/scripts/postinstall.cjs +14 -0
- package/scripts/pre-commit.js +22 -0
- package/scripts/prepare-package.js +186 -0
- package/scripts/prepare-termux.cjs +26 -0
- package/scripts/sandbox_command.js +128 -0
- package/scripts/start.js +86 -0
- package/scripts/telemetry.js +85 -0
- package/scripts/telemetry_gcp.js +188 -0
- package/scripts/telemetry_utils.js +450 -0
- package/scripts/test-windows-paths.js +51 -0
- package/scripts/tests/get-release-version.test.js +186 -0
- package/scripts/tests/test-setup.ts +12 -0
- package/scripts/tests/vitest.config.ts +26 -0
- package/scripts/unused-keys-only-in-locales.json +62 -0
- package/scripts/version.js +112 -0
- package/test-reports/0.10.3-termux/README.md +213 -0
- package/test-reports/0.10.3-termux/TEST-REPORT-2026-02-17.md +114 -0
- package/test-reports/0.11.0-termux/TEST-REPORT-2026-03-01.md +104 -0
- package/test-reports/0.11.3-termux/TEST-REPORT-2026-03-07.md +156 -0
- package/test-reports/0.12.0-termux/CHECKLIST-MANUALE.md +217 -0
- package/test-reports/0.12.0-termux/TEST-REPORT-2026-03-09.md +225 -0
- package/test-reports/README.md +60 -0
- package/test-reports/suites/README.md +22 -0
- package/test-reports/suites/basic-smoke.md +162 -0
- package/test-reports/suites/latest/termux.md +202 -0
- package/test-reports/suites/qwen-test-suite.md +200 -0
- package/test-reports/suites/termux-runtime.md +201 -0
- package/tsconfig.json +31 -0
- package/vitest.config.ts +14 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Memory Tool (`save_memory`)
|
|
2
|
+
|
|
3
|
+
This document describes the `save_memory` tool for Qwen Code.
|
|
4
|
+
|
|
5
|
+
## Description
|
|
6
|
+
|
|
7
|
+
Use `save_memory` to save and recall information across your Qwen Code sessions. With `save_memory`, you can direct the CLI to remember key details across sessions, providing personalized and directed assistance.
|
|
8
|
+
|
|
9
|
+
### Arguments
|
|
10
|
+
|
|
11
|
+
`save_memory` takes one argument:
|
|
12
|
+
|
|
13
|
+
- `fact` (string, required): The specific fact or piece of information to remember. This should be a clear, self-contained statement written in natural language.
|
|
14
|
+
|
|
15
|
+
## How to use `save_memory` with Qwen Code
|
|
16
|
+
|
|
17
|
+
The tool appends the provided `fact` to your context file in the user's home directory (`~/.qwen/QWEN.md` by default). This filename can be configured via `contextFileName`.
|
|
18
|
+
|
|
19
|
+
Once added, the facts are stored under a `## Qwen Added Memories` section. This file is loaded as context in subsequent sessions, allowing the CLI to recall the saved information.
|
|
20
|
+
|
|
21
|
+
Usage:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
save_memory(fact="Your fact here.")
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### `save_memory` examples
|
|
28
|
+
|
|
29
|
+
Remember a user preference:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
save_memory(fact="My preferred programming language is Python.")
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Store a project-specific detail:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
save_memory(fact="The project I'm currently working on is called 'qwen-code'.")
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Important notes
|
|
42
|
+
|
|
43
|
+
- **General usage:** This tool should be used for concise, important facts. It is not intended for storing large amounts of data or conversational history.
|
|
44
|
+
- **Memory file:** The memory file is a plain text Markdown file, so you can view and edit it manually if needed.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Multi File Read Tool (`read_many_files`)
|
|
2
|
+
|
|
3
|
+
This document describes the `read_many_files` tool for Qwen Code.
|
|
4
|
+
|
|
5
|
+
## Description
|
|
6
|
+
|
|
7
|
+
Use `read_many_files` to read content from multiple files specified by paths or glob patterns. The behavior of this tool depends on the provided files:
|
|
8
|
+
|
|
9
|
+
- For text files, this tool concatenates their content into a single string.
|
|
10
|
+
- For image (e.g., PNG, JPEG), PDF, audio (MP3, WAV), and video (MP4, MOV) files, it reads and returns them as base64-encoded data, provided they are explicitly requested by name or extension.
|
|
11
|
+
|
|
12
|
+
`read_many_files` can be used to perform tasks such as getting an overview of a codebase, finding where specific functionality is implemented, reviewing documentation, or gathering context from multiple configuration files.
|
|
13
|
+
|
|
14
|
+
**Note:** `read_many_files` looks for files following the provided paths or glob patterns. A directory path such as `"/docs"` will return an empty result; the tool requires a pattern such as `"/docs/*"` or `"/docs/*.md"` to identify the relevant files.
|
|
15
|
+
|
|
16
|
+
### Arguments
|
|
17
|
+
|
|
18
|
+
`read_many_files` takes the following arguments:
|
|
19
|
+
|
|
20
|
+
- `paths` (list[string], required): An array of glob patterns or paths relative to the tool's target directory (e.g., `["src/**/*.ts"]`, `["README.md", "docs/*", "assets/logo.png"]`).
|
|
21
|
+
- `exclude` (list[string], optional): Glob patterns for files/directories to exclude (e.g., `["**/*.log", "temp/"]`). These are added to default excludes if `useDefaultExcludes` is true.
|
|
22
|
+
- `include` (list[string], optional): Additional glob patterns to include. These are merged with `paths` (e.g., `["*.test.ts"]` to specifically add test files if they were broadly excluded, or `["images/*.jpg"]` to include specific image types).
|
|
23
|
+
- `recursive` (boolean, optional): Whether to search recursively. This is primarily controlled by `**` in glob patterns. Defaults to `true`.
|
|
24
|
+
- `useDefaultExcludes` (boolean, optional): Whether to apply a list of default exclusion patterns (e.g., `node_modules`, `.git`, non image/pdf binary files). Defaults to `true`.
|
|
25
|
+
- `respect_git_ignore` (boolean, optional): Whether to respect .gitignore patterns when finding files. Defaults to true.
|
|
26
|
+
|
|
27
|
+
## How to use `read_many_files` with Qwen Code
|
|
28
|
+
|
|
29
|
+
`read_many_files` searches for files matching the provided `paths` and `include` patterns, while respecting `exclude` patterns and default excludes (if enabled).
|
|
30
|
+
|
|
31
|
+
- For text files: it reads the content of each matched file (attempting to skip binary files not explicitly requested as image/PDF) and concatenates it into a single string, with a separator `--- {filePath} ---` between the content of each file. Uses UTF-8 encoding by default.
|
|
32
|
+
- The tool inserts a `--- End of content ---` after the last file.
|
|
33
|
+
- For image and PDF files: if explicitly requested by name or extension (e.g., `paths: ["logo.png"]` or `include: ["*.pdf"]`), the tool reads the file and returns its content as a base64 encoded string.
|
|
34
|
+
- The tool attempts to detect and skip other binary files (those not matching common image/PDF types or not explicitly requested) by checking for null bytes in their initial content.
|
|
35
|
+
|
|
36
|
+
Usage:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
read_many_files(paths=["Your files or paths here."], include=["Additional files to include."], exclude=["Files to exclude."], recursive=False, useDefaultExcludes=false, respect_git_ignore=true)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## `read_many_files` examples
|
|
43
|
+
|
|
44
|
+
Read all TypeScript files in the `src` directory:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
read_many_files(paths=["src/**/*.ts"])
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Read the main README, all Markdown files in the `docs` directory, and a specific logo image, excluding a specific file:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
read_many_files(paths=["README.md", "docs/**/*.md", "assets/logo.png"], exclude=["docs/OLD_README.md"])
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Read all JavaScript files but explicitly include test files and all JPEGs in an `images` folder:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
read_many_files(paths=["**/*.js"], include=["**/*.test.js", "images/**/*.jpg"], useDefaultExcludes=False)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Important notes
|
|
63
|
+
|
|
64
|
+
- **Binary file handling:**
|
|
65
|
+
- **Image/PDF/Audio/Video files:** The tool can read common image types (PNG, JPEG, etc.), PDF, audio (mp3, wav), and video (mp4, mov) files, returning them as base64 encoded data. These files _must_ be explicitly targeted by the `paths` or `include` patterns (e.g., by specifying the exact filename like `video.mp4` or a pattern like `*.mov`).
|
|
66
|
+
- **Other binary files:** The tool attempts to detect and skip other types of binary files by examining their initial content for null bytes. The tool excludes these files from its output.
|
|
67
|
+
- **Performance:** Reading a very large number of files or very large individual files can be resource-intensive.
|
|
68
|
+
- **Path specificity:** Ensure paths and glob patterns are correctly specified relative to the tool's target directory. For image/PDF files, ensure the patterns are specific enough to include them.
|
|
69
|
+
- **Default excludes:** Be aware of the default exclusion patterns (like `node_modules`, `.git`) and use `useDefaultExcludes=False` if you need to override them, but do so cautiously.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
## Customizing the sandbox environment (Docker/Podman)
|
|
2
|
+
|
|
3
|
+
### Currently, the project does not support the use of the BUILD_SANDBOX function after installation through the npm package
|
|
4
|
+
|
|
5
|
+
1. To build a custom sandbox, you need to access the build scripts (scripts/build_sandbox.js) in the source code repository.
|
|
6
|
+
2. These build scripts are not included in the packages released by npm.
|
|
7
|
+
3. The code contains hard-coded path checks that explicitly reject build requests from non-source code environments.
|
|
8
|
+
|
|
9
|
+
If you need extra tools inside the container (e.g., `git`, `python`, `rg`), create a custom Dockerfile, The specific operation is as follows
|
|
10
|
+
|
|
11
|
+
#### 1、Clone qwen code project first, https://github.com/QwenLM/qwen-code.git
|
|
12
|
+
|
|
13
|
+
#### 2、Make sure you perform the following operation in the source code repository directory
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# 1. First, install the dependencies of the project
|
|
17
|
+
npm install
|
|
18
|
+
|
|
19
|
+
# 2. Build the Qwen Code project
|
|
20
|
+
npm run build
|
|
21
|
+
|
|
22
|
+
# 3. Verify that the dist directory has been generated
|
|
23
|
+
ls -la packages/cli/dist/
|
|
24
|
+
|
|
25
|
+
# 4. Create a global link in the CLI package directory
|
|
26
|
+
cd packages/cli
|
|
27
|
+
npm link
|
|
28
|
+
|
|
29
|
+
# 5. Verification link (it should now point to the source code)
|
|
30
|
+
which qwen
|
|
31
|
+
# Expected output: /xxx/xxx/.nvm/versions/node/v24.11.1/bin/qwen
|
|
32
|
+
# Or similar paths, but it should be a symbolic link
|
|
33
|
+
|
|
34
|
+
# 6. For details of the symbolic link, you can see the specific source code path
|
|
35
|
+
ls -la $(dirname $(which qwen))/../lib/node_modules/@qwen-code/qwen-code
|
|
36
|
+
# It should show that this is a symbolic link pointing to your source code directory
|
|
37
|
+
|
|
38
|
+
# 7.Test the version of qwen
|
|
39
|
+
qwen -v
|
|
40
|
+
# npm link will overwrite the global qwen. To avoid being unable to distinguish the same version number, you can uninstall the global CLI first
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
#### 3、Create your sandbox Dockerfile under the root directory of your own project
|
|
45
|
+
|
|
46
|
+
- Path: `.qwen/sandbox.Dockerfile`
|
|
47
|
+
|
|
48
|
+
- Official mirror image address:https://github.com/QwenLM/qwen-code/pkgs/container/qwen-code
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Based on the official Qwen sandbox image (It is recommended to explicitly specify the version)
|
|
52
|
+
FROM ghcr.io/qwenlm/qwen-code:sha-570ec43
|
|
53
|
+
# Add your extra tools here
|
|
54
|
+
RUN apt-get update && apt-get install -y \
|
|
55
|
+
git \
|
|
56
|
+
python3 \
|
|
57
|
+
ripgrep
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### 4、Create the first sandbox image under the root directory of your project
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
QWEN_SANDBOX=docker BUILD_SANDBOX=1 qwen -s
|
|
64
|
+
# Observe whether the sandbox version of the tool you launched is consistent with the version of your custom image. If they are consistent, the startup will be successful
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This builds a project-specific image based on the default sandbox image.
|
|
68
|
+
|
|
69
|
+
#### Remove npm link
|
|
70
|
+
|
|
71
|
+
- If you want to restore the official CLI of qwen, please remove the npm link
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Method 1: Unlink globally
|
|
75
|
+
npm unlink -g @qwen-code/qwen-code
|
|
76
|
+
|
|
77
|
+
# Method 2: Remove it in the packages/cli directory
|
|
78
|
+
cd packages/cli
|
|
79
|
+
npm unlink
|
|
80
|
+
|
|
81
|
+
# Verification has been lifted
|
|
82
|
+
which qwen
|
|
83
|
+
# It should display "qwen not found"
|
|
84
|
+
|
|
85
|
+
# Reinstall the global version if necessary
|
|
86
|
+
npm install -g @qwen-code/qwen-code
|
|
87
|
+
|
|
88
|
+
# Verification Recovery
|
|
89
|
+
which qwen
|
|
90
|
+
qwen --version
|
|
91
|
+
```
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# Shell Tool (`run_shell_command`)
|
|
2
|
+
|
|
3
|
+
This document describes the `run_shell_command` tool for Qwen Code.
|
|
4
|
+
|
|
5
|
+
## Description
|
|
6
|
+
|
|
7
|
+
Use `run_shell_command` to interact with the underlying system, run scripts, or perform command-line operations. `run_shell_command` executes a given shell command, including interactive commands that require user input (e.g., `vim`, `git rebase -i`) if the `tools.shell.enableInteractiveShell` setting is set to `true`.
|
|
8
|
+
|
|
9
|
+
On Windows, commands are executed with `cmd.exe /c`. On other platforms, they are executed with `bash -c`.
|
|
10
|
+
|
|
11
|
+
### Arguments
|
|
12
|
+
|
|
13
|
+
`run_shell_command` takes the following arguments:
|
|
14
|
+
|
|
15
|
+
- `command` (string, required): The exact shell command to execute.
|
|
16
|
+
- `description` (string, optional): A brief description of the command's purpose, which will be shown to the user.
|
|
17
|
+
- `directory` (string, optional): The directory (relative to the project root) in which to execute the command. If not provided, the command runs in the project root.
|
|
18
|
+
- `is_background` (boolean, required): Whether to run the command in background. This parameter is required to ensure explicit decision-making about command execution mode. Set to true for long-running processes like development servers, watchers, or daemons that should continue running without blocking further commands. Set to false for one-time commands that should complete before proceeding.
|
|
19
|
+
|
|
20
|
+
## How to use `run_shell_command` with Qwen Code
|
|
21
|
+
|
|
22
|
+
When using `run_shell_command`, the command is executed as a subprocess. You can control whether commands run in background or foreground using the `is_background` parameter, or by explicitly adding `&` to commands. The tool returns detailed information about the execution, including:
|
|
23
|
+
|
|
24
|
+
### Required Background Parameter
|
|
25
|
+
|
|
26
|
+
The `is_background` parameter is **required** for all command executions. This design ensures that the LLM (and users) must explicitly decide whether each command should run in the background or foreground, promoting intentional and predictable command execution behavior. By making this parameter mandatory, we avoid unintended fallback to foreground execution, which could block subsequent operations when dealing with long-running processes.
|
|
27
|
+
|
|
28
|
+
### Background vs Foreground Execution
|
|
29
|
+
|
|
30
|
+
The tool intelligently handles background and foreground execution based on your explicit choice:
|
|
31
|
+
|
|
32
|
+
**Use background execution (`is_background: true`) for:**
|
|
33
|
+
|
|
34
|
+
- Long-running development servers: `npm run start`, `npm run dev`, `yarn dev`
|
|
35
|
+
- Build watchers: `npm run watch`, `webpack --watch`
|
|
36
|
+
- Database servers: `mongod`, `mysql`, `redis-server`
|
|
37
|
+
- Web servers: `python -m http.server`, `php -S localhost:8000`
|
|
38
|
+
- Any command expected to run indefinitely until manually stopped
|
|
39
|
+
|
|
40
|
+
**Use foreground execution (`is_background: false`) for:**
|
|
41
|
+
|
|
42
|
+
- One-time commands: `ls`, `cat`, `grep`
|
|
43
|
+
- Build commands: `npm run build`, `make`
|
|
44
|
+
- Installation commands: `npm install`, `pip install`
|
|
45
|
+
- Git operations: `git commit`, `git push`
|
|
46
|
+
- Test runs: `npm test`, `pytest`
|
|
47
|
+
|
|
48
|
+
### Execution Information
|
|
49
|
+
|
|
50
|
+
The tool returns detailed information about the execution, including:
|
|
51
|
+
|
|
52
|
+
- `Command`: The command that was executed.
|
|
53
|
+
- `Directory`: The directory where the command was run.
|
|
54
|
+
- `Stdout`: Output from the standard output stream.
|
|
55
|
+
- `Stderr`: Output from the standard error stream.
|
|
56
|
+
- `Error`: Any error message reported by the subprocess.
|
|
57
|
+
- `Exit Code`: The exit code of the command.
|
|
58
|
+
- `Signal`: The signal number if the command was terminated by a signal.
|
|
59
|
+
- `Background PIDs`: A list of PIDs for any background processes started.
|
|
60
|
+
|
|
61
|
+
Usage:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
run_shell_command(command="Your commands.", description="Your description of the command.", directory="Your execution directory.", is_background=false)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Note:** The `is_background` parameter is required and must be explicitly specified for every command execution.
|
|
68
|
+
|
|
69
|
+
## `run_shell_command` examples
|
|
70
|
+
|
|
71
|
+
List files in the current directory:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
run_shell_command(command="ls -la", is_background=false)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Run a script in a specific directory:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
run_shell_command(command="./my_script.sh", directory="scripts", description="Run my custom script", is_background=false)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Start a background development server (recommended approach):
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
run_shell_command(command="npm run dev", description="Start development server in background", is_background=true)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Start a background server (alternative with explicit &):
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
run_shell_command(command="npm run dev &", description="Start development server in background", is_background=false)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Run a build command in foreground:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
run_shell_command(command="npm run build", description="Build the project", is_background=false)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Start multiple background services:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
run_shell_command(command="docker-compose up", description="Start all services", is_background=true)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Configuration
|
|
108
|
+
|
|
109
|
+
You can configure the behavior of the `run_shell_command` tool by modifying your `settings.json` file or by using the `/settings` command in the Qwen Code.
|
|
110
|
+
|
|
111
|
+
### Enabling Interactive Commands
|
|
112
|
+
|
|
113
|
+
To enable interactive commands, you need to set the `tools.shell.enableInteractiveShell` setting to `true`. This will use `node-pty` for shell command execution, which allows for interactive sessions. If `node-pty` is not available, it will fall back to the `child_process` implementation, which does not support interactive commands.
|
|
114
|
+
|
|
115
|
+
**Example `settings.json`:**
|
|
116
|
+
|
|
117
|
+
```json
|
|
118
|
+
{
|
|
119
|
+
"tools": {
|
|
120
|
+
"shell": {
|
|
121
|
+
"enableInteractiveShell": true
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Showing Color in Output
|
|
128
|
+
|
|
129
|
+
To show color in the shell output, you need to set the `tools.shell.showColor` setting to `true`. **Note: This setting only applies when `tools.shell.enableInteractiveShell` is enabled.**
|
|
130
|
+
|
|
131
|
+
**Example `settings.json`:**
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"tools": {
|
|
136
|
+
"shell": {
|
|
137
|
+
"showColor": true
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Setting the Pager
|
|
144
|
+
|
|
145
|
+
You can set a custom pager for the shell output by setting the `tools.shell.pager` setting. The default pager is `cat`. **Note: This setting only applies when `tools.shell.enableInteractiveShell` is enabled.**
|
|
146
|
+
|
|
147
|
+
**Example `settings.json`:**
|
|
148
|
+
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"tools": {
|
|
152
|
+
"shell": {
|
|
153
|
+
"pager": "less"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Interactive Commands
|
|
160
|
+
|
|
161
|
+
The `run_shell_command` tool now supports interactive commands by integrating a pseudo-terminal (pty). This allows you to run commands that require real-time user input, such as text editors (`vim`, `nano`), terminal-based UIs (`htop`), and interactive version control operations (`git rebase -i`).
|
|
162
|
+
|
|
163
|
+
When an interactive command is running, you can send input to it from the Qwen Code. To focus on the interactive shell, press `ctrl+f`. The terminal output, including complex TUIs, will be rendered correctly.
|
|
164
|
+
|
|
165
|
+
## Important notes
|
|
166
|
+
|
|
167
|
+
- **Security:** Be cautious when executing commands, especially those constructed from user input, to prevent security vulnerabilities.
|
|
168
|
+
- **Error handling:** Check the `Stderr`, `Error`, and `Exit Code` fields to determine if a command executed successfully.
|
|
169
|
+
- **Background processes:** When `is_background=true` or when a command contains `&`, the tool will return immediately and the process will continue to run in the background. The `Background PIDs` field will contain the process ID of the background process.
|
|
170
|
+
- **Background execution choices:** The `is_background` parameter is required and provides explicit control over execution mode. You can also add `&` to the command for manual background execution, but the `is_background` parameter must still be specified. The parameter provides clearer intent and automatically handles the background execution setup.
|
|
171
|
+
- **Command descriptions:** When using `is_background=true`, the command description will include a `[background]` indicator to clearly show the execution mode.
|
|
172
|
+
|
|
173
|
+
## Environment Variables
|
|
174
|
+
|
|
175
|
+
When `run_shell_command` executes a command, it sets the `QWEN_CODE=1` environment variable in the subprocess's environment. This allows scripts or tools to detect if they are being run from within the CLI.
|
|
176
|
+
|
|
177
|
+
## Command Restrictions
|
|
178
|
+
|
|
179
|
+
You can restrict the commands that can be executed by the `run_shell_command` tool by using the `tools.core` and `tools.exclude` settings in your configuration file.
|
|
180
|
+
|
|
181
|
+
- `tools.core`: To restrict `run_shell_command` to a specific set of commands, add entries to the `core` list under the `tools` category in the format `run_shell_command(<command>)`. For example, `"tools": {"core": ["run_shell_command(git)"]}` will only allow `git` commands. Including the generic `run_shell_command` acts as a wildcard, allowing any command not explicitly blocked.
|
|
182
|
+
- `tools.exclude`: To block specific commands, add entries to the `exclude` list under the `tools` category in the format `run_shell_command(<command>)`. For example, `"tools": {"exclude": ["run_shell_command(rm)"]}` will block `rm` commands.
|
|
183
|
+
|
|
184
|
+
The validation logic is designed to be secure and flexible:
|
|
185
|
+
|
|
186
|
+
1. **Command Chaining Disabled**: The tool automatically splits commands chained with `&&`, `||`, or `;` and validates each part separately. If any part of the chain is disallowed, the entire command is blocked.
|
|
187
|
+
2. **Prefix Matching**: The tool uses prefix matching. For example, if you allow `git`, you can run `git status` or `git log`.
|
|
188
|
+
3. **Blocklist Precedence**: The `tools.exclude` list is always checked first. If a command matches a blocked prefix, it will be denied, even if it also matches an allowed prefix in `tools.core`.
|
|
189
|
+
|
|
190
|
+
### Command Restriction Examples
|
|
191
|
+
|
|
192
|
+
**Allow only specific command prefixes**
|
|
193
|
+
|
|
194
|
+
To allow only `git` and `npm` commands, and block all others:
|
|
195
|
+
|
|
196
|
+
```json
|
|
197
|
+
{
|
|
198
|
+
"tools": {
|
|
199
|
+
"core": ["run_shell_command(git)", "run_shell_command(npm)"]
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
- `git status`: Allowed
|
|
205
|
+
- `npm install`: Allowed
|
|
206
|
+
- `ls -l`: Blocked
|
|
207
|
+
|
|
208
|
+
**Block specific command prefixes**
|
|
209
|
+
|
|
210
|
+
To block `rm` and allow all other commands:
|
|
211
|
+
|
|
212
|
+
```json
|
|
213
|
+
{
|
|
214
|
+
"tools": {
|
|
215
|
+
"core": ["run_shell_command"],
|
|
216
|
+
"exclude": ["run_shell_command(rm)"]
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
- `rm -rf /`: Blocked
|
|
222
|
+
- `git status`: Allowed
|
|
223
|
+
- `npm install`: Allowed
|
|
224
|
+
|
|
225
|
+
**Blocklist takes precedence**
|
|
226
|
+
|
|
227
|
+
If a command prefix is in both `tools.core` and `tools.exclude`, it will be blocked.
|
|
228
|
+
|
|
229
|
+
```json
|
|
230
|
+
{
|
|
231
|
+
"tools": {
|
|
232
|
+
"core": ["run_shell_command(git)"],
|
|
233
|
+
"exclude": ["run_shell_command(git push)"]
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
- `git push origin main`: Blocked
|
|
239
|
+
- `git status`: Allowed
|
|
240
|
+
|
|
241
|
+
**Block all shell commands**
|
|
242
|
+
|
|
243
|
+
To block all shell commands, add the `run_shell_command` wildcard to `tools.exclude`:
|
|
244
|
+
|
|
245
|
+
```json
|
|
246
|
+
{
|
|
247
|
+
"tools": {
|
|
248
|
+
"exclude": ["run_shell_command"]
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
- `ls -l`: Blocked
|
|
254
|
+
- `any other command`: Blocked
|
|
255
|
+
|
|
256
|
+
## Security Note for `excludeTools`
|
|
257
|
+
|
|
258
|
+
Command-specific restrictions in `excludeTools` for `run_shell_command` are based on simple string matching and can be easily bypassed. This feature is **not a security mechanism** and should not be relied upon to safely execute untrusted code. It is recommended to use `coreTools` to explicitly select commands
|
|
259
|
+
that can be executed.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Task Tool (`task`)
|
|
2
|
+
|
|
3
|
+
This document describes the `task` tool for Qwen Code.
|
|
4
|
+
|
|
5
|
+
## Description
|
|
6
|
+
|
|
7
|
+
Use `task` to launch a specialized subagent to handle complex, multi-step tasks autonomously. The Task tool delegates work to specialized agents that can work independently with access to their own set of tools, allowing for parallel task execution and specialized expertise.
|
|
8
|
+
|
|
9
|
+
### Arguments
|
|
10
|
+
|
|
11
|
+
`task` takes the following arguments:
|
|
12
|
+
|
|
13
|
+
- `description` (string, required): A short (3-5 word) description of the task for user visibility and tracking purposes.
|
|
14
|
+
- `prompt` (string, required): The detailed task prompt for the subagent to execute. Should contain comprehensive instructions for autonomous execution.
|
|
15
|
+
- `subagent_type` (string, required): The type of specialized agent to use for this task. Must match one of the available configured subagents.
|
|
16
|
+
|
|
17
|
+
## How to use `task` with Qwen Code
|
|
18
|
+
|
|
19
|
+
The Task tool dynamically loads available subagents from your configuration and delegates tasks to them. Each subagent runs independently and can use its own set of tools, allowing for specialized expertise and parallel execution.
|
|
20
|
+
|
|
21
|
+
When you use the Task tool, the subagent will:
|
|
22
|
+
|
|
23
|
+
1. Receive the task prompt with full autonomy
|
|
24
|
+
2. Execute the task using its available tools
|
|
25
|
+
3. Return a final result message
|
|
26
|
+
4. Terminate (subagents are stateless and single-use)
|
|
27
|
+
|
|
28
|
+
Usage:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
task(description="Brief task description", prompt="Detailed task instructions for the subagent", subagent_type="agent_name")
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Available Subagents
|
|
35
|
+
|
|
36
|
+
The available subagents depend on your configuration. Common subagent types might include:
|
|
37
|
+
|
|
38
|
+
- **general-purpose**: For complex multi-step tasks requiring various tools
|
|
39
|
+
- **code-reviewer**: For reviewing and analyzing code quality
|
|
40
|
+
- **test-runner**: For running tests and analyzing results
|
|
41
|
+
- **documentation-writer**: For creating and updating documentation
|
|
42
|
+
|
|
43
|
+
You can view available subagents by using the `/agents` command in Qwen Code.
|
|
44
|
+
|
|
45
|
+
## Task Tool Features
|
|
46
|
+
|
|
47
|
+
### Real-time Progress Updates
|
|
48
|
+
|
|
49
|
+
The Task tool provides live updates showing:
|
|
50
|
+
|
|
51
|
+
- Subagent execution status
|
|
52
|
+
- Individual tool calls being made by the subagent
|
|
53
|
+
- Tool call results and any errors
|
|
54
|
+
- Overall task progress and completion status
|
|
55
|
+
|
|
56
|
+
### Parallel Execution
|
|
57
|
+
|
|
58
|
+
You can launch multiple subagents concurrently by calling the Task tool multiple times in a single message, allowing for parallel task execution and improved efficiency.
|
|
59
|
+
|
|
60
|
+
### Specialized Expertise
|
|
61
|
+
|
|
62
|
+
Each subagent can be configured with:
|
|
63
|
+
|
|
64
|
+
- Specific tool access permissions
|
|
65
|
+
- Specialized system prompts and instructions
|
|
66
|
+
- Custom model configurations
|
|
67
|
+
- Domain-specific knowledge and capabilities
|
|
68
|
+
|
|
69
|
+
## `task` examples
|
|
70
|
+
|
|
71
|
+
### Delegating to a general-purpose agent
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
task(
|
|
75
|
+
description="Code refactoring",
|
|
76
|
+
prompt="Please refactor the authentication module in src/auth/ to use modern async/await patterns instead of callbacks. Ensure all tests still pass and update any related documentation.",
|
|
77
|
+
subagent_type="general-purpose"
|
|
78
|
+
)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Running parallel tasks
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
# Launch code review and test execution in parallel
|
|
85
|
+
task(
|
|
86
|
+
description="Code review",
|
|
87
|
+
prompt="Review the recent changes in the user management module for code quality, security issues, and best practices compliance.",
|
|
88
|
+
subagent_type="code-reviewer"
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
task(
|
|
92
|
+
description="Run tests",
|
|
93
|
+
prompt="Execute the full test suite and analyze any failures. Provide a summary of test coverage and recommendations for improvement.",
|
|
94
|
+
subagent_type="test-runner"
|
|
95
|
+
)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Documentation generation
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
task(
|
|
102
|
+
description="Update docs",
|
|
103
|
+
prompt="Generate comprehensive API documentation for the newly implemented REST endpoints in the orders module. Include request/response examples and error codes.",
|
|
104
|
+
subagent_type="documentation-writer"
|
|
105
|
+
)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## When to Use the Task Tool
|
|
109
|
+
|
|
110
|
+
Use the Task tool when:
|
|
111
|
+
|
|
112
|
+
1. **Complex multi-step tasks** - Tasks requiring multiple operations that can be handled autonomously
|
|
113
|
+
2. **Specialized expertise** - Tasks that benefit from domain-specific knowledge or tools
|
|
114
|
+
3. **Parallel execution** - When you have multiple independent tasks that can run simultaneously
|
|
115
|
+
4. **Delegation needs** - When you want to hand off a complete task rather than micromanaging steps
|
|
116
|
+
5. **Resource-intensive operations** - Tasks that might take significant time or computational resources
|
|
117
|
+
|
|
118
|
+
## When NOT to Use the Task Tool
|
|
119
|
+
|
|
120
|
+
Don't use the Task tool for:
|
|
121
|
+
|
|
122
|
+
- **Simple, single-step operations** - Use direct tools like Read, Edit, etc.
|
|
123
|
+
- **Interactive tasks** - Tasks requiring back-and-forth communication
|
|
124
|
+
- **Specific file reads** - Use Read tool directly for better performance
|
|
125
|
+
- **Simple searches** - Use Grep or Glob tools directly
|
|
126
|
+
|
|
127
|
+
## Important Notes
|
|
128
|
+
|
|
129
|
+
- **Stateless execution**: Each subagent invocation is independent with no memory of previous executions
|
|
130
|
+
- **Single communication**: Subagents provide one final result message - no ongoing communication
|
|
131
|
+
- **Comprehensive prompts**: Your prompt should contain all necessary context and instructions for autonomous execution
|
|
132
|
+
- **Tool access**: Subagents only have access to tools configured in their specific configuration
|
|
133
|
+
- **Parallel capability**: Multiple subagents can run simultaneously for improved efficiency
|
|
134
|
+
- **Configuration dependent**: Available subagent types depend on your system configuration
|
|
135
|
+
|
|
136
|
+
## Configuration
|
|
137
|
+
|
|
138
|
+
Subagents are configured through Qwen Code's agent configuration system. Use the `/agents` command to:
|
|
139
|
+
|
|
140
|
+
- View available subagents
|
|
141
|
+
- Create new subagent configurations
|
|
142
|
+
- Modify existing subagent settings
|
|
143
|
+
- Set tool permissions and capabilities
|
|
144
|
+
|
|
145
|
+
For more information on configuring subagents, refer to the subagents documentation.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Todo Write Tool (`todo_write`)
|
|
2
|
+
|
|
3
|
+
This document describes the `todo_write` tool for Qwen Code.
|
|
4
|
+
|
|
5
|
+
## Description
|
|
6
|
+
|
|
7
|
+
Use `todo_write` to create and manage a structured task list for your current coding session. This tool helps the AI assistant track progress and organize complex tasks, providing you with visibility into what work is being performed.
|
|
8
|
+
|
|
9
|
+
### Arguments
|
|
10
|
+
|
|
11
|
+
`todo_write` takes one argument:
|
|
12
|
+
|
|
13
|
+
- `todos` (array, required): An array of todo items, where each item contains:
|
|
14
|
+
- `content` (string, required): The description of the task.
|
|
15
|
+
- `status` (string, required): The current status (`pending`, `in_progress`, or `completed`).
|
|
16
|
+
- `activeForm` (string, required): The present continuous form describing what is being done (e.g., "Running tests", "Building the project").
|
|
17
|
+
|
|
18
|
+
## How to use `todo_write` with Qwen Code
|
|
19
|
+
|
|
20
|
+
The AI assistant will automatically use this tool when working on complex, multi-step tasks. You don't need to explicitly request it, but you can ask the assistant to create a todo list if you want to see the planned approach for your request.
|
|
21
|
+
|
|
22
|
+
The tool stores todo lists in your home directory (`~/.qwen/todos/`) with session-specific files, so each coding session maintains its own task list.
|
|
23
|
+
|
|
24
|
+
## When the AI uses this tool
|
|
25
|
+
|
|
26
|
+
The assistant uses `todo_write` for:
|
|
27
|
+
|
|
28
|
+
- Complex tasks requiring multiple steps
|
|
29
|
+
- Feature implementations with several components
|
|
30
|
+
- Refactoring operations across multiple files
|
|
31
|
+
- Any work involving 3 or more distinct actions
|
|
32
|
+
|
|
33
|
+
The assistant will not use this tool for simple, single-step tasks or purely informational requests.
|
|
34
|
+
|
|
35
|
+
### `todo_write` examples
|
|
36
|
+
|
|
37
|
+
Creating a feature implementation plan:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
todo_write(todos=[
|
|
41
|
+
{
|
|
42
|
+
"content": "Create user preferences model",
|
|
43
|
+
"status": "pending",
|
|
44
|
+
"activeForm": "Creating user preferences model"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"content": "Add API endpoints for preferences",
|
|
48
|
+
"status": "pending",
|
|
49
|
+
"activeForm": "Adding API endpoints for preferences"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"content": "Implement frontend components",
|
|
53
|
+
"status": "pending",
|
|
54
|
+
"activeForm": "Implementing frontend components"
|
|
55
|
+
}
|
|
56
|
+
])
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Important notes
|
|
60
|
+
|
|
61
|
+
- **Automatic usage:** The AI assistant manages todo lists automatically during complex tasks.
|
|
62
|
+
- **Progress visibility:** You'll see todo lists updated in real-time as work progresses.
|
|
63
|
+
- **Session isolation:** Each coding session has its own todo list that doesn't interfere with others.
|