@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,303 @@
|
|
|
1
|
+
# How to Contribute
|
|
2
|
+
|
|
3
|
+
We would love to accept your patches and contributions to this project.
|
|
4
|
+
|
|
5
|
+
## Contribution Process
|
|
6
|
+
|
|
7
|
+
### Code Reviews
|
|
8
|
+
|
|
9
|
+
All submissions, including submissions by project members, require review. We
|
|
10
|
+
use [GitHub pull requests](https://docs.github.com/articles/about-pull-requests)
|
|
11
|
+
for this purpose.
|
|
12
|
+
|
|
13
|
+
### Pull Request Guidelines
|
|
14
|
+
|
|
15
|
+
To help us review and merge your PRs quickly, please follow these guidelines. PRs that do not meet these standards may be closed.
|
|
16
|
+
|
|
17
|
+
#### 1. Link to an Existing Issue
|
|
18
|
+
|
|
19
|
+
All PRs should be linked to an existing issue in our tracker. This ensures that every change has been discussed and is aligned with the project's goals before any code is written.
|
|
20
|
+
|
|
21
|
+
- **For bug fixes:** The PR should be linked to the bug report issue.
|
|
22
|
+
- **For features:** The PR should be linked to the feature request or proposal issue that has been approved by a maintainer.
|
|
23
|
+
|
|
24
|
+
If an issue for your change doesn't exist, please **open one first** and wait for feedback before you start coding.
|
|
25
|
+
|
|
26
|
+
#### 2. Keep It Small and Focused
|
|
27
|
+
|
|
28
|
+
We favor small, atomic PRs that address a single issue or add a single, self-contained feature.
|
|
29
|
+
|
|
30
|
+
- **Do:** Create a PR that fixes one specific bug or adds one specific feature.
|
|
31
|
+
- **Don't:** Bundle multiple unrelated changes (e.g., a bug fix, a new feature, and a refactor) into a single PR.
|
|
32
|
+
|
|
33
|
+
Large changes should be broken down into a series of smaller, logical PRs that can be reviewed and merged independently.
|
|
34
|
+
|
|
35
|
+
#### 3. Use Draft PRs for Work in Progress
|
|
36
|
+
|
|
37
|
+
If you'd like to get early feedback on your work, please use GitHub's **Draft Pull Request** feature. This signals to the maintainers that the PR is not yet ready for a formal review but is open for discussion and initial feedback.
|
|
38
|
+
|
|
39
|
+
#### 4. Ensure All Checks Pass
|
|
40
|
+
|
|
41
|
+
Before submitting your PR, ensure that all automated checks are passing by running `npm run preflight`. This command runs all tests, linting, and other style checks.
|
|
42
|
+
|
|
43
|
+
#### 5. Update Documentation
|
|
44
|
+
|
|
45
|
+
If your PR introduces a user-facing change (e.g., a new command, a modified flag, or a change in behavior), you must also update the relevant documentation in the `/docs` directory.
|
|
46
|
+
|
|
47
|
+
#### 6. Write Clear Commit Messages and a Good PR Description
|
|
48
|
+
|
|
49
|
+
Your PR should have a clear, descriptive title and a detailed description of the changes. Follow the [Conventional Commits](https://www.conventionalcommits.org/) standard for your commit messages.
|
|
50
|
+
|
|
51
|
+
- **Good PR Title:** `feat(cli): Add --json flag to 'config get' command`
|
|
52
|
+
- **Bad PR Title:** `Made some changes`
|
|
53
|
+
|
|
54
|
+
In the PR description, explain the "why" behind your changes and link to the relevant issue (e.g., `Fixes #123`).
|
|
55
|
+
|
|
56
|
+
## Development Setup and Workflow
|
|
57
|
+
|
|
58
|
+
This section guides contributors on how to build, modify, and understand the development setup of this project.
|
|
59
|
+
|
|
60
|
+
### Setting Up the Development Environment
|
|
61
|
+
|
|
62
|
+
**Prerequisites:**
|
|
63
|
+
|
|
64
|
+
1. **Node.js**:
|
|
65
|
+
- **Development:** Please use Node.js `~20.19.0`. This specific version is required due to an upstream development dependency issue. You can use a tool like [nvm](https://github.com/nvm-sh/nvm) to manage Node.js versions.
|
|
66
|
+
- **Production:** For running the CLI in a production environment, any version of Node.js `>=20` is acceptable.
|
|
67
|
+
2. **Git**
|
|
68
|
+
|
|
69
|
+
### Build Process
|
|
70
|
+
|
|
71
|
+
To clone the repository:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
git clone https://github.com/QwenLM/qwen-code.git # Or your fork's URL
|
|
75
|
+
cd qwen-code
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
To install dependencies defined in `package.json` as well as root dependencies:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npm install
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
To build the entire project (all packages):
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
npm run build
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This command typically compiles TypeScript to JavaScript, bundles assets, and prepares the packages for execution. Refer to `scripts/build.js` and `package.json` scripts for more details on what happens during the build.
|
|
91
|
+
|
|
92
|
+
### Enabling Sandboxing
|
|
93
|
+
|
|
94
|
+
[Sandboxing](#sandboxing) is highly recommended and requires, at a minimum, setting `QWEN_SANDBOX=true` in your `~/.env` and ensuring a sandboxing provider (e.g. `macOS Seatbelt`, `docker`, or `podman`) is available. See [Sandboxing](#sandboxing) for details.
|
|
95
|
+
|
|
96
|
+
To build both the `qwen-code` CLI utility and the sandbox container, run `build:all` from the root directory:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
npm run build:all
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
To skip building the sandbox container, you can use `npm run build` instead.
|
|
103
|
+
|
|
104
|
+
### Running
|
|
105
|
+
|
|
106
|
+
To start the Qwen Code application from the source code (after building), run the following command from the root directory:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm start
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
If you'd like to run the source build outside of the qwen-code folder, you can utilize `npm link path/to/qwen-code/packages/cli` (see: [docs](https://docs.npmjs.com/cli/v9/commands/npm-link)) to run with `qwen-code`
|
|
113
|
+
|
|
114
|
+
### Running Tests
|
|
115
|
+
|
|
116
|
+
This project contains two types of tests: unit tests and integration tests.
|
|
117
|
+
|
|
118
|
+
#### Unit Tests
|
|
119
|
+
|
|
120
|
+
To execute the unit test suite for the project:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
npm run test
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
This will run tests located in the `packages/core` and `packages/cli` directories. Ensure tests pass before submitting any changes. For a more comprehensive check, it is recommended to run `npm run preflight`.
|
|
127
|
+
|
|
128
|
+
#### Integration Tests
|
|
129
|
+
|
|
130
|
+
The integration tests are designed to validate the end-to-end functionality of Qwen Code. They are not run as part of the default `npm run test` command.
|
|
131
|
+
|
|
132
|
+
To run the integration tests, use the following command:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
npm run test:e2e
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
For more detailed information on the integration testing framework, please see the [Integration Tests documentation](./docs/integration-tests.md).
|
|
139
|
+
|
|
140
|
+
### Linting and Preflight Checks
|
|
141
|
+
|
|
142
|
+
To ensure code quality and formatting consistency, run the preflight check:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npm run preflight
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
This command will run ESLint, Prettier, all tests, and other checks as defined in the project's `package.json`.
|
|
149
|
+
|
|
150
|
+
_ProTip_
|
|
151
|
+
|
|
152
|
+
after cloning create a git precommit hook file to ensure your commits are always clean.
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
echo "
|
|
156
|
+
# Run npm build and check for errors
|
|
157
|
+
if ! npm run preflight; then
|
|
158
|
+
echo "npm build failed. Commit aborted."
|
|
159
|
+
exit 1
|
|
160
|
+
fi
|
|
161
|
+
" > .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
#### Formatting
|
|
165
|
+
|
|
166
|
+
To separately format the code in this project by running the following command from the root directory:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
npm run format
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
This command uses Prettier to format the code according to the project's style guidelines.
|
|
173
|
+
|
|
174
|
+
#### Linting
|
|
175
|
+
|
|
176
|
+
To separately lint the code in this project, run the following command from the root directory:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
npm run lint
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Coding Conventions
|
|
183
|
+
|
|
184
|
+
- Please adhere to the coding style, patterns, and conventions used throughout the existing codebase.
|
|
185
|
+
- **Imports:** Pay special attention to import paths. The project uses ESLint to enforce restrictions on relative imports between packages.
|
|
186
|
+
|
|
187
|
+
### Project Structure
|
|
188
|
+
|
|
189
|
+
- `packages/`: Contains the individual sub-packages of the project.
|
|
190
|
+
- `cli/`: The command-line interface.
|
|
191
|
+
- `core/`: The core backend logic for Qwen Code.
|
|
192
|
+
- `docs/`: Contains all project documentation.
|
|
193
|
+
- `scripts/`: Utility scripts for building, testing, and development tasks.
|
|
194
|
+
|
|
195
|
+
For more detailed architecture, see `docs/architecture.md`.
|
|
196
|
+
|
|
197
|
+
## Documentation Development
|
|
198
|
+
|
|
199
|
+
This section describes how to develop and preview the documentation locally.
|
|
200
|
+
|
|
201
|
+
### Prerequisites
|
|
202
|
+
|
|
203
|
+
1. Ensure you have Node.js (version 18+) installed
|
|
204
|
+
2. Have npm or yarn available
|
|
205
|
+
|
|
206
|
+
### Setup Documentation Site Locally
|
|
207
|
+
|
|
208
|
+
To work on the documentation and preview changes locally:
|
|
209
|
+
|
|
210
|
+
1. Navigate to the `docs-site` directory:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
cd docs-site
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
2. Install dependencies:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
npm install
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
3. Link the documentation content from the main `docs` directory:
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
npm run link
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
This creates a symbolic link from `../docs` to `content` in the docs-site project, allowing the documentation content to be served by the Next.js site.
|
|
229
|
+
|
|
230
|
+
4. Start the development server:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
npm run dev
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
5. Open [http://localhost:3000](http://localhost:3000) in your browser to see the documentation site with live updates as you make changes.
|
|
237
|
+
|
|
238
|
+
Any changes made to the documentation files in the main `docs` directory will be reflected immediately in the documentation site.
|
|
239
|
+
|
|
240
|
+
## Debugging
|
|
241
|
+
|
|
242
|
+
### VS Code:
|
|
243
|
+
|
|
244
|
+
0. Run the CLI to interactively debug in VS Code with `F5`
|
|
245
|
+
1. Start the CLI in debug mode from the root directory:
|
|
246
|
+
```bash
|
|
247
|
+
npm run debug
|
|
248
|
+
```
|
|
249
|
+
This command runs `node --inspect-brk dist/index.js` within the `packages/cli` directory, pausing execution until a debugger attaches. You can then open `chrome://inspect` in your Chrome browser to connect to the debugger.
|
|
250
|
+
2. In VS Code, use the "Attach" launch configuration (found in `.vscode/launch.json`).
|
|
251
|
+
|
|
252
|
+
Alternatively, you can use the "Launch Program" configuration in VS Code if you prefer to launch the currently open file directly, but 'F5' is generally recommended.
|
|
253
|
+
|
|
254
|
+
To hit a breakpoint inside the sandbox container run:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
DEBUG=1 qwen-code
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
**Note:** If you have `DEBUG=true` in a project's `.env` file, it won't affect qwen-code due to automatic exclusion. Use `.qwen-code/.env` files for qwen-code specific debug settings.
|
|
261
|
+
|
|
262
|
+
### React DevTools
|
|
263
|
+
|
|
264
|
+
To debug the CLI's React-based UI, you can use React DevTools. Ink, the library used for the CLI's interface, is compatible with React DevTools version 4.x.
|
|
265
|
+
|
|
266
|
+
1. **Start the Qwen Code application in development mode:**
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
DEV=true npm start
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
2. **Install and run React DevTools version 4.28.5 (or the latest compatible 4.x version):**
|
|
273
|
+
|
|
274
|
+
You can either install it globally:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
npm install -g react-devtools@4.28.5
|
|
278
|
+
react-devtools
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
Or run it directly using npx:
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
npx react-devtools@4.28.5
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Your running CLI application should then connect to React DevTools.
|
|
288
|
+
|
|
289
|
+
## Sandboxing
|
|
290
|
+
|
|
291
|
+
> TBD
|
|
292
|
+
|
|
293
|
+
## Manual Publish
|
|
294
|
+
|
|
295
|
+
We publish an artifact for each commit to our internal registry. But if you need to manually cut a local build, then run the following commands:
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
npm run clean
|
|
299
|
+
npm install
|
|
300
|
+
npm run auth
|
|
301
|
+
npm run prerelease:dev
|
|
302
|
+
npm publish --workspaces
|
|
303
|
+
```
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Qwen Code Execution and Deployment
|
|
2
|
+
|
|
3
|
+
This document describes how to run Qwen Code and explains the deployment architecture that Qwen Code uses.
|
|
4
|
+
|
|
5
|
+
## Running Qwen Code
|
|
6
|
+
|
|
7
|
+
There are several ways to run Qwen Code. The option you choose depends on how you intend to use it.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
### 1. Standard installation (Recommended for typical users)
|
|
12
|
+
|
|
13
|
+
This is the recommended way for end-users to install Qwen Code. It involves downloading the Qwen Code package from the NPM registry.
|
|
14
|
+
|
|
15
|
+
- **Global install:**
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install -g @qwen-code/qwen-code
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Then, run the CLI from anywhere:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
qwen
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
- **NPX execution:**
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Execute the latest version from NPM without a global install
|
|
31
|
+
npx @qwen-code/qwen-code
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
### 2. Running in a sandbox (Docker/Podman)
|
|
37
|
+
|
|
38
|
+
For security and isolation, Qwen Code can be run inside a container. This is the default way that the CLI executes tools that might have side effects.
|
|
39
|
+
|
|
40
|
+
- **Directly from the Registry:**
|
|
41
|
+
You can run the published sandbox image directly. This is useful for environments where you only have Docker and want to run the CLI.
|
|
42
|
+
```bash
|
|
43
|
+
# Run the published sandbox image
|
|
44
|
+
docker run --rm -it ghcr.io/qwenlm/qwen-code:0.0.11
|
|
45
|
+
```
|
|
46
|
+
- **Using the `--sandbox` flag:**
|
|
47
|
+
If you have Qwen Code installed locally (using the standard installation described above), you can instruct it to run inside the sandbox container.
|
|
48
|
+
```bash
|
|
49
|
+
qwen --sandbox -y -p "your prompt here"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### 3. Running from source (Recommended for Qwen Code contributors)
|
|
55
|
+
|
|
56
|
+
Contributors to the project will want to run the CLI directly from the source code.
|
|
57
|
+
|
|
58
|
+
- **Development Mode:**
|
|
59
|
+
This method provides hot-reloading and is useful for active development.
|
|
60
|
+
```bash
|
|
61
|
+
# From the root of the repository
|
|
62
|
+
npm run start
|
|
63
|
+
```
|
|
64
|
+
- **Production-like mode (Linked package):**
|
|
65
|
+
This method simulates a global installation by linking your local package. It's useful for testing a local build in a production workflow.
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Link the local cli package to your global node_modules
|
|
69
|
+
npm link packages/cli
|
|
70
|
+
|
|
71
|
+
# Now you can run your local version using the `qwen` command
|
|
72
|
+
qwen
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### 4. Running the latest Qwen Code commit from GitHub
|
|
78
|
+
|
|
79
|
+
You can run the most recently committed version of Qwen Code directly from the GitHub repository. This is useful for testing features still in development.
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Execute the CLI directly from the main branch on GitHub
|
|
83
|
+
npx https://github.com/QwenLM/qwen-code
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Deployment architecture
|
|
87
|
+
|
|
88
|
+
The execution methods described above are made possible by the following architectural components and processes:
|
|
89
|
+
|
|
90
|
+
**NPM packages**
|
|
91
|
+
|
|
92
|
+
Qwen Code project is a monorepo that publishes core packages to the NPM registry:
|
|
93
|
+
|
|
94
|
+
- `@qwen-code/qwen-code-core`: The backend, handling logic and tool execution.
|
|
95
|
+
- `@qwen-code/qwen-code`: The user-facing frontend.
|
|
96
|
+
|
|
97
|
+
These packages are used when performing the standard installation and when running Qwen Code from the source.
|
|
98
|
+
|
|
99
|
+
**Build and packaging processes**
|
|
100
|
+
|
|
101
|
+
There are two distinct build processes used, depending on the distribution channel:
|
|
102
|
+
|
|
103
|
+
- **NPM publication:** For publishing to the NPM registry, the TypeScript source code in `@qwen-code/qwen-code-core` and `@qwen-code/qwen-code` is transpiled into standard JavaScript using the TypeScript Compiler (`tsc`). The resulting `dist/` directory is what gets published in the NPM package. This is a standard approach for TypeScript libraries.
|
|
104
|
+
|
|
105
|
+
- **GitHub `npx` execution:** When running the latest version of Qwen Code directly from GitHub, a different process is triggered by the `prepare` script in `package.json`. This script uses `esbuild` to bundle the entire application and its dependencies into a single, self-contained JavaScript file. This bundle is created on-the-fly on the user's machine and is not checked into the repository.
|
|
106
|
+
|
|
107
|
+
**Docker sandbox image**
|
|
108
|
+
|
|
109
|
+
The Docker-based execution method is supported by the `qwen-code-sandbox` container image. This image is published to a container registry and contains a pre-installed, global version of Qwen Code.
|
|
110
|
+
|
|
111
|
+
## Release process
|
|
112
|
+
|
|
113
|
+
The release process is automated through GitHub Actions. The release workflow performs the following actions:
|
|
114
|
+
|
|
115
|
+
1. Build the NPM packages using `tsc`.
|
|
116
|
+
2. Publish the NPM packages to the artifact registry.
|
|
117
|
+
3. Create GitHub releases with bundled assets.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Integration Tests
|
|
2
|
+
|
|
3
|
+
This document provides information about the integration testing framework used in this project.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The integration tests are designed to validate the end-to-end functionality of Qwen Code. They execute the built binary in a controlled environment and verify that it behaves as expected when interacting with the file system.
|
|
8
|
+
|
|
9
|
+
These tests are located in the `integration-tests` directory and are run using a custom test runner.
|
|
10
|
+
|
|
11
|
+
## Running the tests
|
|
12
|
+
|
|
13
|
+
The integration tests are not run as part of the default `npm run test` command. They must be run explicitly using the `npm run test:integration:all` script.
|
|
14
|
+
|
|
15
|
+
The integration tests can also be run using the following shortcut:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm run test:e2e
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Running a specific set of tests
|
|
22
|
+
|
|
23
|
+
To run a subset of test files, you can use `npm run <integration test command> <file_name1> ....` where <integration test command> is either `test:e2e` or `test:integration*` and `<file_name>` is any of the `.test.js` files in the `integration-tests/` directory. For example, the following command runs `list_directory.test.js` and `write_file.test.js`:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm run test:e2e list_directory write_file
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Running a single test by name
|
|
30
|
+
|
|
31
|
+
To run a single test by its name, use the `--test-name-pattern` flag:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm run test:e2e -- --test-name-pattern "reads a file"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Running all tests
|
|
38
|
+
|
|
39
|
+
To run the entire suite of integration tests, use the following command:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm run test:integration:all
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Sandbox matrix
|
|
46
|
+
|
|
47
|
+
The `all` command will run tests for `no sandboxing`, `docker` and `podman`.
|
|
48
|
+
Each individual type can be run using the following commands:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm run test:integration:sandbox:none
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npm run test:integration:sandbox:docker
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npm run test:integration:sandbox:podman
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Diagnostics
|
|
63
|
+
|
|
64
|
+
The integration test runner provides several options for diagnostics to help track down test failures.
|
|
65
|
+
|
|
66
|
+
### Keeping test output
|
|
67
|
+
|
|
68
|
+
You can preserve the temporary files created during a test run for inspection. This is useful for debugging issues with file system operations.
|
|
69
|
+
|
|
70
|
+
To keep the test output set the `KEEP_OUTPUT` environment variable to `true`.
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
KEEP_OUTPUT=true npm run test:integration:sandbox:none
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
When output is kept, the test runner will print the path to the unique directory for the test run.
|
|
77
|
+
|
|
78
|
+
### Verbose output
|
|
79
|
+
|
|
80
|
+
For more detailed debugging, set the `VERBOSE` environment variable to `true`.
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
VERBOSE=true npm run test:integration:sandbox:none
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
When using `VERBOSE=true` and `KEEP_OUTPUT=true` in the same command, the output is streamed to the console and also saved to a log file within the test's temporary directory.
|
|
87
|
+
|
|
88
|
+
The verbose output is formatted to clearly identify the source of the logs:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
--- TEST: <log dir>:<test-name> ---
|
|
92
|
+
... output from the qwen command ...
|
|
93
|
+
--- END TEST: <log dir>:<test-name> ---
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Linting and formatting
|
|
97
|
+
|
|
98
|
+
To ensure code quality and consistency, the integration test files are linted as part of the main build process. You can also manually run the linter and auto-fixer.
|
|
99
|
+
|
|
100
|
+
### Running the linter
|
|
101
|
+
|
|
102
|
+
To check for linting errors, run the following command:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npm run lint
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
You can include the `:fix` flag in the command to automatically fix any fixable linting errors:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npm run lint:fix
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Directory structure
|
|
115
|
+
|
|
116
|
+
The integration tests create a unique directory for each test run inside the `.integration-tests` directory. Within this directory, a subdirectory is created for each test file, and within that, a subdirectory is created for each individual test case.
|
|
117
|
+
|
|
118
|
+
This structure makes it easy to locate the artifacts for a specific test run, file, or case.
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
.integration-tests/
|
|
122
|
+
└── <run-id>/
|
|
123
|
+
└── <test-file-name>.test.js/
|
|
124
|
+
└── <test-case-name>/
|
|
125
|
+
├── output.log
|
|
126
|
+
└── ...other test artifacts...
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Continuous integration
|
|
130
|
+
|
|
131
|
+
To ensure the integration tests are always run, a GitHub Actions workflow is defined in `.github/workflows/e2e.yml`. This workflow automatically runs the integrations tests for pull requests against the `main` branch, or when a pull request is added to a merge queue.
|
|
132
|
+
|
|
133
|
+
The workflow runs the tests in different sandboxing environments to ensure Qwen Code is tested across each:
|
|
134
|
+
|
|
135
|
+
- `sandbox:none`: Runs the tests without any sandboxing.
|
|
136
|
+
- `sandbox:docker`: Runs the tests in a Docker container.
|
|
137
|
+
- `sandbox:podman`: Runs the tests in a Podman container.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Automation and Triage Processes
|
|
2
|
+
|
|
3
|
+
This document provides a detailed overview of the automated processes we use to manage and triage issues and pull requests. Our goal is to provide prompt feedback and ensure that contributions are reviewed and integrated efficiently. Understanding this automation will help you as a contributor know what to expect and how to best interact with our repository bots.
|
|
4
|
+
|
|
5
|
+
## Guiding Principle: Issues and Pull Requests
|
|
6
|
+
|
|
7
|
+
First and foremost, almost every Pull Request (PR) should be linked to a corresponding Issue. The issue describes the "what" and the "why" (the bug or feature), while the PR is the "how" (the implementation). This separation helps us track work, prioritize features, and maintain clear historical context. Our automation is built around this principle.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Detailed Automation Workflows
|
|
12
|
+
|
|
13
|
+
Here is a breakdown of the specific automation workflows that run in our repository.
|
|
14
|
+
|
|
15
|
+
### 1. When you open an Issue: `Automated Issue Triage`
|
|
16
|
+
|
|
17
|
+
This is the first bot you will interact with when you create an issue. Its job is to perform an initial analysis and apply the correct labels.
|
|
18
|
+
|
|
19
|
+
- **Workflow File**: `.github/workflows/qwen-automated-issue-triage.yml`
|
|
20
|
+
- **When it runs**: Immediately after an issue is created or reopened.
|
|
21
|
+
- **What it does**:
|
|
22
|
+
- It uses a Qwen model to analyze the issue's title and body against a detailed set of guidelines.
|
|
23
|
+
- **Applies one `area/*` label**: Categorizes the issue into a functional area of the project (e.g., `area/ux`, `area/models`, `area/platform`).
|
|
24
|
+
- **Applies one `kind/*` label**: Identifies the type of issue (e.g., `kind/bug`, `kind/enhancement`, `kind/question`).
|
|
25
|
+
- **Applies one `priority/*` label**: Assigns a priority from P0 (critical) to P3 (low) based on the described impact.
|
|
26
|
+
- **May apply `status/need-information`**: If the issue lacks critical details (like logs or reproduction steps), it will be flagged for more information.
|
|
27
|
+
- **May apply `status/need-retesting`**: If the issue references a CLI version that is more than six versions old, it will be flagged for retesting on a current version.
|
|
28
|
+
- **What you should do**:
|
|
29
|
+
- Fill out the issue template as completely as possible. The more detail you provide, the more accurate the triage will be.
|
|
30
|
+
- If the `status/need-information` label is added, please provide the requested details in a comment.
|
|
31
|
+
|
|
32
|
+
### 2. When you open a Pull Request: `Continuous Integration (CI)`
|
|
33
|
+
|
|
34
|
+
This workflow ensures that all changes meet our quality standards before they can be merged.
|
|
35
|
+
|
|
36
|
+
- **Workflow File**: `.github/workflows/ci.yml`
|
|
37
|
+
- **When it runs**: On every push to a pull request.
|
|
38
|
+
- **What it does**:
|
|
39
|
+
- **Lint**: Checks that your code adheres to our project's formatting and style rules.
|
|
40
|
+
- **Test**: Runs our full suite of automated tests across macOS, Windows, and Linux, and on multiple Node.js versions. This is the most time-consuming part of the CI process.
|
|
41
|
+
- **Post Coverage Comment**: After all tests have successfully passed, a bot will post a comment on your PR. This comment provides a summary of how well your changes are covered by tests.
|
|
42
|
+
- **What you should do**:
|
|
43
|
+
- Ensure all CI checks pass. A green checkmark ✅ will appear next to your commit when everything is successful.
|
|
44
|
+
- If a check fails (a red "X" ❌), click the "Details" link next to the failed check to view the logs, identify the problem, and push a fix.
|
|
45
|
+
|
|
46
|
+
### 3. Ongoing Triage for Pull Requests: `PR Auditing and Label Sync`
|
|
47
|
+
|
|
48
|
+
This workflow runs periodically to ensure all open PRs are correctly linked to issues and have consistent labels.
|
|
49
|
+
|
|
50
|
+
- **Workflow File**: `.github/workflows/qwen-scheduled-pr-triage.yml`
|
|
51
|
+
- **When it runs**: Every 15 minutes on all open pull requests.
|
|
52
|
+
- **What it does**:
|
|
53
|
+
- **Checks for a linked issue**: The bot scans your PR description for a keyword that links it to an issue (e.g., `Fixes #123`, `Closes #456`).
|
|
54
|
+
- **Adds `status/need-issue`**: If no linked issue is found, the bot will add the `status/need-issue` label to your PR. This is a clear signal that an issue needs to be created and linked.
|
|
55
|
+
- **Synchronizes labels**: If an issue _is_ linked, the bot ensures the PR's labels perfectly match the issue's labels. It will add any missing labels and remove any that don't belong, and it will remove the `status/need-issue` label if it was present.
|
|
56
|
+
- **What you should do**:
|
|
57
|
+
- **Always link your PR to an issue.** This is the most important step. Add a line like `Resolves #<issue-number>` to your PR description.
|
|
58
|
+
- This will ensure your PR is correctly categorized and moves through the review process smoothly.
|
|
59
|
+
|
|
60
|
+
### 4. Ongoing Triage for Issues: `Scheduled Issue Triage`
|
|
61
|
+
|
|
62
|
+
This is a fallback workflow to ensure that no issue gets missed by the triage process.
|
|
63
|
+
|
|
64
|
+
- **Workflow File**: `.github/workflows/qwen-scheduled-issue-triage.yml`
|
|
65
|
+
- **When it runs**: Every hour on all open issues.
|
|
66
|
+
- **What it does**:
|
|
67
|
+
- It actively seeks out issues that either have no labels at all or still have the `status/need-triage` label.
|
|
68
|
+
- It then triggers the same powerful QwenCode-based analysis as the initial triage bot to apply the correct labels.
|
|
69
|
+
- **What you should do**:
|
|
70
|
+
- You typically don't need to do anything. This workflow is a safety net to ensure every issue is eventually categorized, even if the initial triage fails.
|
|
71
|
+
|
|
72
|
+
### 5. Release Automation
|
|
73
|
+
|
|
74
|
+
This workflow handles the process of packaging and publishing new versions of Qwen Code.
|
|
75
|
+
|
|
76
|
+
- **Workflow File**: `.github/workflows/release.yml`
|
|
77
|
+
- **When it runs**: On a daily schedule for "nightly" releases, and manually for official patch/minor releases.
|
|
78
|
+
- **What it does**:
|
|
79
|
+
- Automatically builds the project, bumps the version numbers, and publishes the packages to npm.
|
|
80
|
+
- Creates a corresponding release on GitHub with generated release notes.
|
|
81
|
+
- **What you should do**:
|
|
82
|
+
- As a contributor, you don't need to do anything for this process. You can be confident that once your PR is merged into the `main` branch, your changes will be included in the very next nightly release.
|
|
83
|
+
|
|
84
|
+
We hope this detailed overview is helpful. If you have any questions about our automation or processes, please don't hesitate to ask!
|