├── .claude └── settings.json ├── .github ├── ISSUE_TEMPLATE │ ├── 1-bug.yml │ ├── 2-feature.yml │ ├── 3-documentation.yml │ └── config.yml ├── dependabot.yml ├── pull_request_template.md ├── release.yml └── workflows │ ├── ci.yml │ ├── demo-comparison.yml │ ├── release.yml │ └── tagpr.yml ├── .gitignore ├── .lefthook.yml ├── .mcp.json ├── .tagpr ├── CHANGELOG.md ├── CLAUDE.md ├── LICENSE ├── Makefile ├── README.md ├── backend ├── .gitignore ├── .prettierignore ├── app.ts ├── cli │ ├── args.ts │ ├── deno.ts │ ├── node.ts │ └── validation.ts ├── deno.json ├── deno.lock ├── eslint.config.js ├── handlers │ ├── abort.ts │ ├── chat.test.ts │ ├── chat.ts │ ├── conversations.ts │ ├── histories.ts │ └── projects.ts ├── history │ ├── conversationLoader.ts │ ├── grouping.ts │ ├── parser.ts │ ├── pathUtils.test.ts │ ├── pathUtils.ts │ └── timestampRestore.ts ├── middleware │ └── config.ts ├── package-lock.json ├── package.json ├── runtime │ ├── deno.ts │ ├── node.ts │ └── types.ts ├── scripts │ ├── build-bundle.js │ ├── copy-frontend.js │ ├── generate-version.js │ └── prepack.js ├── tests │ └── node │ │ └── runtime.test.ts ├── tsconfig.json ├── types.ts ├── utils │ ├── fs.ts │ ├── logger.ts │ └── os.ts └── vitest.config.ts ├── docs └── images │ ├── screenshot-desktop-basic-dark.png │ ├── screenshot-desktop-basic.png │ ├── screenshot-desktop-codeGeneration-dark.png │ ├── screenshot-desktop-codeGeneration.png │ ├── screenshot-desktop-fileOperations-dark.png │ ├── screenshot-desktop-fileOperations.png │ ├── screenshot-mobile-basic-dark.png │ ├── screenshot-mobile-basic.png │ ├── screenshot-mobile-codeGeneration-dark.png │ ├── screenshot-mobile-codeGeneration.png │ ├── screenshot-mobile-fileOperations-dark.png │ └── screenshot-mobile-fileOperations.png ├── frontend ├── .gitignore ├── README.md ├── eslint.config.js ├── index.html ├── package-lock.json ├── package.json ├── playwright.config.ts ├── scripts │ ├── README.md │ ├── capture-screenshots.ts │ ├── compare-demo-videos.ts │ ├── demo-constants.ts │ └── record-demo.ts ├── src │ ├── App.test.tsx │ ├── App.tsx │ ├── components │ │ ├── ChatPage.tsx │ │ ├── DemoPage.tsx │ │ ├── HistoryView.tsx │ │ ├── MessageComponents.tsx │ │ ├── ProjectSelector.tsx │ │ ├── SettingsButton.tsx │ │ ├── SettingsModal.tsx │ │ ├── TimestampComponent.tsx │ │ ├── chat │ │ │ ├── ChatInput.tsx │ │ │ ├── ChatMessages.tsx │ │ │ ├── DemoPermissionInputWrapper.tsx │ │ │ ├── HistoryButton.tsx │ │ │ ├── PermissionInputPanel.tsx │ │ │ ├── PlanPermissionInputPanel.test.tsx │ │ │ └── PlanPermissionInputPanel.tsx │ │ ├── messages │ │ │ ├── CollapsibleDetails.tsx │ │ │ └── MessageContainer.tsx │ │ └── settings │ │ │ └── GeneralSettings.tsx │ ├── config │ │ └── api.ts │ ├── contexts │ │ ├── SettingsContext.tsx │ │ └── SettingsContextTypes.ts │ ├── hooks │ │ ├── chat │ │ │ ├── useAbortController.ts │ │ │ ├── useChatState.ts │ │ │ ├── usePermissionMode.test.ts │ │ │ ├── usePermissionMode.ts │ │ │ ├── usePermissions.test.ts │ │ │ ├── usePermissions.ts │ │ │ └── usePlanApproval.test.ts │ │ ├── streaming │ │ │ ├── useMessageProcessor.ts │ │ │ ├── useStreamParser.test.ts │ │ │ └── useStreamParser.ts │ │ ├── useClaudeStreaming.test.ts │ │ ├── useClaudeStreaming.ts │ │ ├── useDemoAutomation.ts │ │ ├── useHistoryLoader.ts │ │ ├── useMessageConverter.ts │ │ └── useSettings.ts │ ├── index.css │ ├── main.tsx │ ├── test-setup.ts │ ├── types.ts │ ├── types │ │ ├── settings.ts │ │ └── window.d.ts │ ├── utils │ │ ├── UnifiedMessageProcessor.ts │ │ ├── constants.ts │ │ ├── contentUtils.ts │ │ ├── environment.ts │ │ ├── id.ts │ │ ├── messageConversion.ts │ │ ├── messageTypes.ts │ │ ├── mockResponseGenerator.ts │ │ ├── pathUtils.ts │ │ ├── storage.ts │ │ ├── time.ts │ │ ├── toolUtils.test.ts │ │ └── toolUtils.ts │ └── vite-env.d.ts ├── tests │ ├── demo-validation.spec.ts │ └── plan-mode.spec.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts └── shared └── types.ts /.claude/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.claude/settings.json -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/1-bug.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/ISSUE_TEMPLATE/1-bug.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/2-feature.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/ISSUE_TEMPLATE/2-feature.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/3-documentation.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/ISSUE_TEMPLATE/3-documentation.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/ISSUE_TEMPLATE/config.yml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/release.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/demo-comparison.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/workflows/demo-comparison.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/tagpr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.github/workflows/tagpr.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.gitignore -------------------------------------------------------------------------------- /.lefthook.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.lefthook.yml -------------------------------------------------------------------------------- /.mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.mcp.json -------------------------------------------------------------------------------- /.tagpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/.tagpr -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/README.md -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/.gitignore -------------------------------------------------------------------------------- /backend/.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/.prettierignore -------------------------------------------------------------------------------- /backend/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/app.ts -------------------------------------------------------------------------------- /backend/cli/args.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/cli/args.ts -------------------------------------------------------------------------------- /backend/cli/deno.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/cli/deno.ts -------------------------------------------------------------------------------- /backend/cli/node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/cli/node.ts -------------------------------------------------------------------------------- /backend/cli/validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/cli/validation.ts -------------------------------------------------------------------------------- /backend/deno.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/deno.json -------------------------------------------------------------------------------- /backend/deno.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/deno.lock -------------------------------------------------------------------------------- /backend/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/eslint.config.js -------------------------------------------------------------------------------- /backend/handlers/abort.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/handlers/abort.ts -------------------------------------------------------------------------------- /backend/handlers/chat.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/handlers/chat.test.ts -------------------------------------------------------------------------------- /backend/handlers/chat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/handlers/chat.ts -------------------------------------------------------------------------------- /backend/handlers/conversations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/handlers/conversations.ts -------------------------------------------------------------------------------- /backend/handlers/histories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/handlers/histories.ts -------------------------------------------------------------------------------- /backend/handlers/projects.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/handlers/projects.ts -------------------------------------------------------------------------------- /backend/history/conversationLoader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/history/conversationLoader.ts -------------------------------------------------------------------------------- /backend/history/grouping.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/history/grouping.ts -------------------------------------------------------------------------------- /backend/history/parser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/history/parser.ts -------------------------------------------------------------------------------- /backend/history/pathUtils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/history/pathUtils.test.ts -------------------------------------------------------------------------------- /backend/history/pathUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/history/pathUtils.ts -------------------------------------------------------------------------------- /backend/history/timestampRestore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/history/timestampRestore.ts -------------------------------------------------------------------------------- /backend/middleware/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/middleware/config.ts -------------------------------------------------------------------------------- /backend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/package-lock.json -------------------------------------------------------------------------------- /backend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/package.json -------------------------------------------------------------------------------- /backend/runtime/deno.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/runtime/deno.ts -------------------------------------------------------------------------------- /backend/runtime/node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/runtime/node.ts -------------------------------------------------------------------------------- /backend/runtime/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/runtime/types.ts -------------------------------------------------------------------------------- /backend/scripts/build-bundle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/scripts/build-bundle.js -------------------------------------------------------------------------------- /backend/scripts/copy-frontend.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/scripts/copy-frontend.js -------------------------------------------------------------------------------- /backend/scripts/generate-version.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/scripts/generate-version.js -------------------------------------------------------------------------------- /backend/scripts/prepack.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/scripts/prepack.js -------------------------------------------------------------------------------- /backend/tests/node/runtime.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/tests/node/runtime.test.ts -------------------------------------------------------------------------------- /backend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/tsconfig.json -------------------------------------------------------------------------------- /backend/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/types.ts -------------------------------------------------------------------------------- /backend/utils/fs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/utils/fs.ts -------------------------------------------------------------------------------- /backend/utils/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/utils/logger.ts -------------------------------------------------------------------------------- /backend/utils/os.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/utils/os.ts -------------------------------------------------------------------------------- /backend/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/backend/vitest.config.ts -------------------------------------------------------------------------------- /docs/images/screenshot-desktop-basic-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-desktop-basic-dark.png -------------------------------------------------------------------------------- /docs/images/screenshot-desktop-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-desktop-basic.png -------------------------------------------------------------------------------- /docs/images/screenshot-desktop-codeGeneration-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-desktop-codeGeneration-dark.png -------------------------------------------------------------------------------- /docs/images/screenshot-desktop-codeGeneration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-desktop-codeGeneration.png -------------------------------------------------------------------------------- /docs/images/screenshot-desktop-fileOperations-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-desktop-fileOperations-dark.png -------------------------------------------------------------------------------- /docs/images/screenshot-desktop-fileOperations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-desktop-fileOperations.png -------------------------------------------------------------------------------- /docs/images/screenshot-mobile-basic-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-mobile-basic-dark.png -------------------------------------------------------------------------------- /docs/images/screenshot-mobile-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-mobile-basic.png -------------------------------------------------------------------------------- /docs/images/screenshot-mobile-codeGeneration-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-mobile-codeGeneration-dark.png -------------------------------------------------------------------------------- /docs/images/screenshot-mobile-codeGeneration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-mobile-codeGeneration.png -------------------------------------------------------------------------------- /docs/images/screenshot-mobile-fileOperations-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-mobile-fileOperations-dark.png -------------------------------------------------------------------------------- /docs/images/screenshot-mobile-fileOperations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/docs/images/screenshot-mobile-fileOperations.png -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/eslint.config.js -------------------------------------------------------------------------------- /frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/index.html -------------------------------------------------------------------------------- /frontend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/package-lock.json -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/playwright.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/playwright.config.ts -------------------------------------------------------------------------------- /frontend/scripts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/scripts/README.md -------------------------------------------------------------------------------- /frontend/scripts/capture-screenshots.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/scripts/capture-screenshots.ts -------------------------------------------------------------------------------- /frontend/scripts/compare-demo-videos.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/scripts/compare-demo-videos.ts -------------------------------------------------------------------------------- /frontend/scripts/demo-constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/scripts/demo-constants.ts -------------------------------------------------------------------------------- /frontend/scripts/record-demo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/scripts/record-demo.ts -------------------------------------------------------------------------------- /frontend/src/App.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/App.test.tsx -------------------------------------------------------------------------------- /frontend/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/App.tsx -------------------------------------------------------------------------------- /frontend/src/components/ChatPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/ChatPage.tsx -------------------------------------------------------------------------------- /frontend/src/components/DemoPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/DemoPage.tsx -------------------------------------------------------------------------------- /frontend/src/components/HistoryView.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/HistoryView.tsx -------------------------------------------------------------------------------- /frontend/src/components/MessageComponents.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/MessageComponents.tsx -------------------------------------------------------------------------------- /frontend/src/components/ProjectSelector.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/ProjectSelector.tsx -------------------------------------------------------------------------------- /frontend/src/components/SettingsButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/SettingsButton.tsx -------------------------------------------------------------------------------- /frontend/src/components/SettingsModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/SettingsModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/TimestampComponent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/TimestampComponent.tsx -------------------------------------------------------------------------------- /frontend/src/components/chat/ChatInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/chat/ChatInput.tsx -------------------------------------------------------------------------------- /frontend/src/components/chat/ChatMessages.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/chat/ChatMessages.tsx -------------------------------------------------------------------------------- /frontend/src/components/chat/DemoPermissionInputWrapper.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/chat/DemoPermissionInputWrapper.tsx -------------------------------------------------------------------------------- /frontend/src/components/chat/HistoryButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/chat/HistoryButton.tsx -------------------------------------------------------------------------------- /frontend/src/components/chat/PermissionInputPanel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/chat/PermissionInputPanel.tsx -------------------------------------------------------------------------------- /frontend/src/components/chat/PlanPermissionInputPanel.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/chat/PlanPermissionInputPanel.test.tsx -------------------------------------------------------------------------------- /frontend/src/components/chat/PlanPermissionInputPanel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/chat/PlanPermissionInputPanel.tsx -------------------------------------------------------------------------------- /frontend/src/components/messages/CollapsibleDetails.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/messages/CollapsibleDetails.tsx -------------------------------------------------------------------------------- /frontend/src/components/messages/MessageContainer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/messages/MessageContainer.tsx -------------------------------------------------------------------------------- /frontend/src/components/settings/GeneralSettings.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/components/settings/GeneralSettings.tsx -------------------------------------------------------------------------------- /frontend/src/config/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/config/api.ts -------------------------------------------------------------------------------- /frontend/src/contexts/SettingsContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/contexts/SettingsContext.tsx -------------------------------------------------------------------------------- /frontend/src/contexts/SettingsContextTypes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/contexts/SettingsContextTypes.ts -------------------------------------------------------------------------------- /frontend/src/hooks/chat/useAbortController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/chat/useAbortController.ts -------------------------------------------------------------------------------- /frontend/src/hooks/chat/useChatState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/chat/useChatState.ts -------------------------------------------------------------------------------- /frontend/src/hooks/chat/usePermissionMode.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/chat/usePermissionMode.test.ts -------------------------------------------------------------------------------- /frontend/src/hooks/chat/usePermissionMode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/chat/usePermissionMode.ts -------------------------------------------------------------------------------- /frontend/src/hooks/chat/usePermissions.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/chat/usePermissions.test.ts -------------------------------------------------------------------------------- /frontend/src/hooks/chat/usePermissions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/chat/usePermissions.ts -------------------------------------------------------------------------------- /frontend/src/hooks/chat/usePlanApproval.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/chat/usePlanApproval.test.ts -------------------------------------------------------------------------------- /frontend/src/hooks/streaming/useMessageProcessor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/streaming/useMessageProcessor.ts -------------------------------------------------------------------------------- /frontend/src/hooks/streaming/useStreamParser.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/streaming/useStreamParser.test.ts -------------------------------------------------------------------------------- /frontend/src/hooks/streaming/useStreamParser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/streaming/useStreamParser.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useClaudeStreaming.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/useClaudeStreaming.test.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useClaudeStreaming.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/useClaudeStreaming.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useDemoAutomation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/useDemoAutomation.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useHistoryLoader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/useHistoryLoader.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useMessageConverter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/useMessageConverter.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useSettings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/hooks/useSettings.ts -------------------------------------------------------------------------------- /frontend/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/index.css -------------------------------------------------------------------------------- /frontend/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/main.tsx -------------------------------------------------------------------------------- /frontend/src/test-setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/test-setup.ts -------------------------------------------------------------------------------- /frontend/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/types.ts -------------------------------------------------------------------------------- /frontend/src/types/settings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/types/settings.ts -------------------------------------------------------------------------------- /frontend/src/types/window.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/types/window.d.ts -------------------------------------------------------------------------------- /frontend/src/utils/UnifiedMessageProcessor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/UnifiedMessageProcessor.ts -------------------------------------------------------------------------------- /frontend/src/utils/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/constants.ts -------------------------------------------------------------------------------- /frontend/src/utils/contentUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/contentUtils.ts -------------------------------------------------------------------------------- /frontend/src/utils/environment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/environment.ts -------------------------------------------------------------------------------- /frontend/src/utils/id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/id.ts -------------------------------------------------------------------------------- /frontend/src/utils/messageConversion.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/messageConversion.ts -------------------------------------------------------------------------------- /frontend/src/utils/messageTypes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/messageTypes.ts -------------------------------------------------------------------------------- /frontend/src/utils/mockResponseGenerator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/mockResponseGenerator.ts -------------------------------------------------------------------------------- /frontend/src/utils/pathUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/pathUtils.ts -------------------------------------------------------------------------------- /frontend/src/utils/storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/storage.ts -------------------------------------------------------------------------------- /frontend/src/utils/time.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/time.ts -------------------------------------------------------------------------------- /frontend/src/utils/toolUtils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/toolUtils.test.ts -------------------------------------------------------------------------------- /frontend/src/utils/toolUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/src/utils/toolUtils.ts -------------------------------------------------------------------------------- /frontend/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /frontend/tests/demo-validation.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/tests/demo-validation.spec.ts -------------------------------------------------------------------------------- /frontend/tests/plan-mode.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/tests/plan-mode.spec.ts -------------------------------------------------------------------------------- /frontend/tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/tsconfig.app.json -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/tsconfig.json -------------------------------------------------------------------------------- /frontend/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/tsconfig.node.json -------------------------------------------------------------------------------- /frontend/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/frontend/vite.config.ts -------------------------------------------------------------------------------- /shared/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sugyan/claude-code-webui/HEAD/shared/types.ts --------------------------------------------------------------------------------