claude-ws 0.3.100 → 0.3.101
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/README.md +99 -16
- package/locales/de.json +9 -1
- package/locales/en.json +12 -1
- package/locales/es.json +9 -1
- package/locales/fr.json +9 -1
- package/locales/ja.json +9 -1
- package/locales/ko.json +9 -1
- package/locales/vi.json +9 -1
- package/locales/zh.json +9 -1
- package/package.json +14 -5
- package/public/desktop-review-0.png +0 -0
- package/public/desktop-review-1.png +0 -0
- package/public/desktop-review-3.png +0 -0
- package/public/desktop-review-4.png +0 -0
- package/public/docs/swagger/swagger-core.yaml +3629 -0
- package/public/mobile-review-0.png +0 -0
- package/server.ts +149 -5
- package/src/app/[locale]/page.tsx +25 -158
- package/src/app/api/agent-factory/compare/route.ts +8 -95
- package/src/app/api/agent-factory/dependencies/[id]/install/route.ts +6 -44
- package/src/app/api/agent-factory/dependencies/route.ts +11 -62
- package/src/app/api/agent-factory/discover/route.ts +5 -310
- package/src/app/api/agent-factory/file-content/route.ts +8 -95
- package/src/app/api/agent-factory/files/route.ts +8 -74
- package/src/app/api/agent-factory/import/route.ts +13 -64
- package/src/app/api/agent-factory/plugins/[id]/dependencies/route.ts +22 -246
- package/src/app/api/agent-factory/plugins/[id]/files/[...path]/route.ts +12 -122
- package/src/app/api/agent-factory/plugins/[id]/files/route.ts +10 -101
- package/src/app/api/agent-factory/plugins/[id]/files/save/route.ts +10 -55
- package/src/app/api/agent-factory/plugins/[id]/route.ts +12 -90
- package/src/app/api/agent-factory/plugins/route.ts +15 -104
- package/src/app/api/agent-factory/projects/[projectId]/components/route.ts +12 -56
- package/src/app/api/agent-factory/projects/[projectId]/installed/route.ts +7 -106
- package/src/app/api/agent-factory/projects/[projectId]/plugins/route.ts +17 -102
- package/src/app/api/agent-factory/projects/[projectId]/sync/route.ts +13 -326
- package/src/app/api/agent-factory/projects/[projectId]/uninstall/route.ts +9 -174
- package/src/app/api/agent-factory/upload/route.ts +48 -620
- package/src/app/api/attempts/[id]/answer/route.ts +10 -13
- package/src/app/api/attempts/[id]/route.ts +19 -67
- package/src/app/api/attempts/[id]/status/route.ts +7 -9
- package/src/app/api/attempts/[id]/workflow/route.ts +27 -44
- package/src/app/api/attempts/route.ts +24 -427
- package/src/app/api/auth/verify/route.ts +7 -14
- package/src/app/api/checkpoints/backfill/route.ts +6 -74
- package/src/app/api/checkpoints/fork/route.ts +76 -0
- package/src/app/api/checkpoints/rewind/route.ts +47 -143
- package/src/app/api/checkpoints/route.ts +5 -37
- package/src/app/api/commands/[name]/route.ts +19 -101
- package/src/app/api/commands/route.ts +6 -197
- package/src/app/api/files/content/route.ts +33 -219
- package/src/app/api/files/metadata/route.ts +18 -34
- package/src/app/api/files/operations/route.ts +55 -344
- package/src/app/api/files/route.ts +10 -157
- package/src/app/api/files/search/route.ts +10 -101
- package/src/app/api/files/upload/route.ts +27 -250
- package/src/app/api/filesystem/route.ts +11 -0
- package/src/app/api/git/generate-message/route.ts +8 -42
- package/src/app/api/models/route.ts +12 -6
- package/src/app/api/projects/[id]/route.ts +25 -103
- package/src/app/api/projects/[id]/settings/route.ts +19 -111
- package/src/app/api/projects/route.ts +11 -74
- package/src/app/api/proxy/anthropic/[[...path]]/route.ts +5 -3
- package/src/app/api/search/chat-history/route.ts +15 -171
- package/src/app/api/search/content/route.ts +19 -206
- package/src/app/api/search/files/route.ts +9 -108
- package/src/app/api/settings/api-access-key/route.ts +32 -3
- package/src/app/api/shells/route.ts +6 -20
- package/src/app/api/tasks/[id]/attempts/route.ts +6 -9
- package/src/app/api/tasks/[id]/compact/route.ts +15 -20
- package/src/app/api/tasks/[id]/conversation/route.ts +5 -147
- package/src/app/api/tasks/[id]/pending-question/route.ts +32 -0
- package/src/app/api/tasks/[id]/route.ts +30 -45
- package/src/app/api/tasks/[id]/running-attempt/route.ts +7 -67
- package/src/app/api/tasks/[id]/stats/route.ts +7 -82
- package/src/app/api/tasks/reorder/route.ts +10 -27
- package/src/app/api/tasks/route.ts +16 -55
- package/src/app/api/uploads/[fileId]/route.ts +26 -77
- package/src/app/api/uploads/route.ts +42 -62
- package/src/components/access-anywhere/use-ctunnel-registration-state.ts +153 -0
- package/src/components/access-anywhere/wizard-step-ctunnel-input-and-confirm-steps.tsx +146 -0
- package/src/components/access-anywhere/wizard-step-ctunnel-labels-builder.ts +39 -0
- package/src/components/access-anywhere/wizard-step-ctunnel-step-views.tsx +89 -0
- package/src/components/access-anywhere/wizard-step-ctunnel.tsx +74 -364
- package/src/components/agent-factory/discovery-comparison-utils.ts +55 -0
- package/src/components/agent-factory/discovery-dialog-scanned-results-panel.tsx +84 -0
- package/src/components/agent-factory/discovery-dialog-use-import-actions.ts +113 -0
- package/src/components/agent-factory/discovery-dialog-use-scan-state.ts +101 -0
- package/src/components/agent-factory/discovery-dialog.tsx +53 -604
- package/src/components/agent-factory/discovery-tree-node-status-badge.tsx +38 -0
- package/src/components/agent-factory/discovery-tree-view.tsx +181 -0
- package/src/components/agent-factory/plugin-dependencies-library-section.tsx +57 -0
- package/src/components/agent-factory/plugin-dependencies-plugin-list-section.tsx +98 -0
- package/src/components/agent-factory/plugin-detail-dependencies-tab.tsx +150 -0
- package/src/components/agent-factory/plugin-detail-dialog.tsx +71 -920
- package/src/components/agent-factory/plugin-detail-file-content-modal.tsx +186 -0
- package/src/components/agent-factory/plugin-detail-file-icon-color-utils.ts +46 -0
- package/src/components/agent-factory/plugin-detail-files-tab.tsx +200 -0
- package/src/components/agent-factory/plugin-detail-info-tab.tsx +119 -0
- package/src/components/agent-factory/plugin-detail-install-scripts-panel.tsx +126 -0
- package/src/components/agent-factory/plugin-form-dialog.tsx +18 -84
- package/src/components/agent-factory/plugin-list-card.tsx +68 -0
- package/src/components/agent-factory/plugin-list-filter-bar.tsx +65 -0
- package/src/components/agent-factory/plugin-list.tsx +26 -123
- package/src/components/agent-factory/plugin-type-utils.tsx +47 -0
- package/src/components/agent-factory/upload-dialog-archive-info-panel.tsx +31 -0
- package/src/components/agent-factory/upload-dialog-drop-zone.tsx +131 -0
- package/src/components/agent-factory/upload-dialog-preview-items-list.tsx +60 -0
- package/src/components/agent-factory/upload-dialog.tsx +40 -338
- package/src/components/auth/agent-provider-custom-key-form.tsx +135 -0
- package/src/components/auth/agent-provider-custom-key-model-tier-inputs.tsx +71 -0
- package/src/components/auth/agent-provider-dialog.tsx +4 -760
- package/src/components/auth/agent-provider-instruction-views.tsx +126 -0
- package/src/components/auth/agent-provider-option-card.tsx +64 -0
- package/src/components/auth/agent-provider-option-selection-view.tsx +116 -0
- package/src/components/auth/agent-provider-setup-form.tsx +179 -0
- package/src/components/auth/api-key-dialog.tsx +19 -304
- package/src/components/auth/api-key-fetch-interceptor-provider.tsx +134 -0
- package/src/components/auth/api-key-localstorage-and-server-verify-utils.ts +97 -0
- package/src/components/auth/api-key-required-check-hook.ts +64 -0
- package/src/components/claude/agent-spawned-card.tsx +166 -0
- package/src/components/claude/diff-view-lcs-line-diff-algorithm.ts +98 -0
- package/src/components/claude/diff-view-syntax-highlight-engine.ts +126 -0
- package/src/components/claude/diff-view.tsx +3 -227
- package/src/components/claude/mermaid-diagram.tsx +55 -0
- package/src/components/claude/message-block-markdown-content-renderer.tsx +115 -0
- package/src/components/claude/message-block.tsx +5 -111
- package/src/components/claude/response-renderer.tsx +3 -0
- package/src/components/claude/tool-use-block-bash-command-renderer.tsx +78 -0
- package/src/components/claude/tool-use-block-edit-diff-renderer.tsx +24 -0
- package/src/components/claude/tool-use-block-icon-verb-display-utils.ts +129 -0
- package/src/components/claude/tool-use-block-todo-list-renderer.tsx +57 -0
- package/src/components/claude/tool-use-block.tsx +31 -274
- package/src/components/editor/code-editor-definition-handler.ts +118 -0
- package/src/components/editor/code-editor-extensions-builder.ts +176 -0
- package/src/components/editor/code-editor-inline-edit-overlay.tsx +153 -0
- package/src/components/editor/code-editor-with-inline-edit.tsx +59 -333
- package/src/components/editor/diff-algorithm.ts +140 -0
- package/src/components/editor/diff-panel-local.tsx +84 -0
- package/src/components/editor/diff-panel-remote.tsx +137 -0
- package/src/components/editor/extensions/goto-definition-symbol-extractor.ts +98 -0
- package/src/components/editor/extensions/goto-definition-types-and-state.ts +70 -0
- package/src/components/editor/extensions/goto-definition.ts +30 -238
- package/src/components/editor/extensions/inline-edit-diff-decoration-builder.ts +142 -0
- package/src/components/editor/extensions/inline-edit-types.ts +39 -0
- package/src/components/editor/extensions/inline-edit.ts +21 -231
- package/src/components/editor/file-diff-resolver-modal.tsx +15 -414
- package/src/components/editor/markdown-file-viewer.tsx +4 -0
- package/src/components/header.tsx +43 -28
- package/src/components/kanban/board-collision-detector.ts +47 -0
- package/src/components/kanban/board-column-visibility-filter.tsx +48 -0
- package/src/components/kanban/board-drag-overlay.tsx +27 -0
- package/src/components/kanban/board-mobile-column-swipe-view.tsx +268 -0
- package/src/components/kanban/board-mobile-status-tabs.tsx +60 -0
- package/src/components/kanban/board.tsx +51 -612
- package/src/components/kanban/task-card-context-menu.tsx +96 -0
- package/src/components/kanban/task-card.tsx +3 -0
- package/src/components/kanban/use-board-drag-and-drop-handlers.ts +180 -0
- package/src/components/kanban/use-board-mobile-swipe-gesture.ts +138 -0
- package/src/components/project-settings/component-selector-plugin-list-item.tsx +92 -0
- package/src/components/project-settings/component-selector.tsx +42 -160
- package/src/components/project-settings/plugin-upload-dialog-use-confirm-import.ts +103 -0
- package/src/components/project-settings/plugin-upload-dialog.tsx +38 -398
- package/src/components/project-settings/plugin-upload-installation-options-panel.tsx +40 -0
- package/src/components/project-settings/project-settings-dialog.tsx +35 -181
- package/src/components/project-settings/project-settings-install-result-panel.tsx +74 -0
- package/src/components/settings/folder-browser-create-and-rename-folder-dialogs.tsx +167 -0
- package/src/components/settings/folder-browser-dialog.tsx +57 -339
- package/src/components/settings/folder-browser-directory-listing.tsx +77 -0
- package/src/components/settings/settings-page-agent-provider-and-api-key-sections.tsx +95 -0
- package/src/components/settings/settings-page.tsx +31 -143
- package/src/components/settings/setup-dialog-create-new-project-tab.tsx +107 -0
- package/src/components/settings/setup-dialog-open-existing-project-tab.tsx +89 -0
- package/src/components/settings/setup-dialog.tsx +56 -235
- package/src/components/sidebar/file-browser/file-create-buttons.tsx +22 -140
- package/src/components/sidebar/file-browser/file-create-name-dialog.tsx +156 -0
- package/src/components/sidebar/file-browser/file-tab-content.tsx +77 -812
- package/src/components/sidebar/file-browser/file-tab-markdown-view.tsx +81 -0
- package/src/components/sidebar/file-browser/file-tab-search-bar.tsx +96 -0
- package/src/components/sidebar/file-browser/file-tab-toolbar-attach-to-chat-button.tsx +83 -0
- package/src/components/sidebar/file-browser/file-tab-toolbar.tsx +150 -0
- package/src/components/sidebar/file-browser/file-tree-context-menu-dialogs.tsx +154 -0
- package/src/components/sidebar/file-browser/file-tree-context-menu.tsx +35 -309
- package/src/components/sidebar/file-browser/file-tree-item-inline-rename.tsx +111 -0
- package/src/components/sidebar/file-browser/file-tree-item.tsx +35 -151
- package/src/components/sidebar/file-browser/file-tree.tsx +5 -22
- package/src/components/sidebar/file-browser/file-upload-dialog.tsx +47 -296
- package/src/components/sidebar/file-browser/file-upload-drop-zone.tsx +75 -0
- package/src/components/sidebar/file-browser/file-upload-pending-files-list.tsx +83 -0
- package/src/components/sidebar/file-browser/unified-search-results-view.tsx +190 -0
- package/src/components/sidebar/file-browser/unified-search.tsx +20 -232
- package/src/components/sidebar/file-browser/use-file-tab-attach-to-chat.ts +82 -0
- package/src/components/sidebar/file-browser/use-file-tab-content-loader.ts +64 -0
- package/src/components/sidebar/file-browser/use-file-tab-save-copy-download-operations.ts +112 -0
- package/src/components/sidebar/file-browser/use-file-tab-search.ts +124 -0
- package/src/components/sidebar/file-browser/use-file-tab-state.ts +168 -0
- package/src/components/sidebar/file-browser/use-file-tab-undo-redo-history.ts +80 -0
- package/src/components/sidebar/git-changes/commit-details-create-branch-dialog.tsx +134 -0
- package/src/components/sidebar/git-changes/commit-details-file-list-item.tsx +51 -0
- package/src/components/sidebar/git-changes/commit-details-metadata-and-files-panel.tsx +182 -0
- package/src/components/sidebar/git-changes/commit-details-modal.tsx +18 -300
- package/src/components/sidebar/git-changes/commit-file-diff-viewer.tsx +16 -150
- package/src/components/sidebar/git-changes/diff-line-renderer.tsx +74 -0
- package/src/components/sidebar/git-changes/diff-syntax-highlight-utils.ts +100 -0
- package/src/components/sidebar/git-changes/diff-viewer.tsx +19 -176
- package/src/components/sidebar/git-changes/git-commit-form.tsx +167 -0
- package/src/components/sidebar/git-changes/git-graph-commit-row.tsx +181 -0
- package/src/components/sidebar/git-changes/git-graph-toolbar-header.tsx +111 -0
- package/src/components/sidebar/git-changes/git-graph.tsx +34 -243
- package/src/components/sidebar/git-changes/git-panel-staged-unstaged-file-lists.tsx +110 -0
- package/src/components/sidebar/git-changes/git-panel.tsx +36 -473
- package/src/components/sidebar/git-changes/use-git-actions.ts +119 -0
- package/src/components/sidebar/git-changes/use-git-stage-unstage-discard-actions.ts +105 -0
- package/src/components/sidebar/git-changes/use-git-sync-and-branch-checkout-actions.ts +59 -0
- package/src/components/task/chat-model-selector.tsx +57 -25
- package/src/components/task/command-selector.tsx +16 -128
- package/src/components/task/conversation-view-content-block-renderer.tsx +113 -0
- package/src/components/task/conversation-view-historical-assistant-turn.tsx +42 -0
- package/src/components/task/conversation-view-historical-user-turn.tsx +71 -0
- package/src/components/task/conversation-view-streaming-prompt-bubble.tsx +54 -0
- package/src/components/task/conversation-view-turn-renderers.tsx +8 -0
- package/src/components/task/conversation-view-utils.ts +176 -0
- package/src/components/task/conversation-view.tsx +54 -551
- package/src/components/task/floating-chat-window.tsx +55 -280
- package/src/components/task/interactive-command/checkpoint-list.tsx +82 -13
- package/src/components/task/interactive-command/question-answer-utils.ts +79 -0
- package/src/components/task/interactive-command/question-options-view-and-footer-hint.tsx +156 -0
- package/src/components/task/interactive-command/question-prompt.tsx +160 -469
- package/src/components/task/interactive-command/question-renderer.tsx +5 -0
- package/src/components/task/interactive-command/question-tab-bar-and-submit-view.tsx +219 -0
- package/src/components/task/prompt-input-action-toolbar.tsx +91 -0
- package/src/components/task/prompt-input-attachments.tsx +130 -0
- package/src/components/task/prompt-input-context-stats-bar.tsx +68 -0
- package/src/components/task/prompt-input-form-body.tsx +180 -0
- package/src/components/task/prompt-input-mentions.tsx +133 -0
- package/src/components/task/prompt-input.tsx +76 -650
- package/src/components/task/status-line-format-utils.ts +37 -0
- package/src/components/task/status-line-token-cost-display.tsx +82 -0
- package/src/components/task/status-line-workflow-tree-display.tsx +92 -0
- package/src/components/task/status-line.tsx +28 -212
- package/src/components/task/task-detail-panel-header.tsx +146 -0
- package/src/components/task/task-detail-panel.tsx +86 -444
- package/src/components/task/task-status-badge-dropdown.tsx +77 -0
- package/src/components/task/use-command-selector-data-and-keyboard.ts +120 -0
- package/src/components/task/use-conversation-auto-scroll.ts +111 -0
- package/src/components/task/use-prompt-keyboard.ts +55 -0
- package/src/components/task/use-prompt-rewind-restore.ts +44 -0
- package/src/components/task/use-prompt-slash-command-detection.ts +109 -0
- package/src/components/task/use-prompt-submit-handler.ts +108 -0
- package/src/components/task/use-task-attempt-stream-handler.ts +126 -0
- package/src/components/task/use-task-stats.ts +41 -0
- package/src/components/team-view/agent-detail-tab.tsx +95 -0
- package/src/components/team-view/task-list-tab.tsx +59 -0
- package/src/components/team-view/team-chat-tab.tsx +131 -0
- package/src/components/team-view/team-tree-sidebar.tsx +161 -0
- package/src/components/team-view/team-view.tsx +282 -0
- package/src/components/team-view/workflow-status-indicators.tsx +74 -0
- package/src/components/terminal/setup-terminal-mobile-touch-handlers.ts +201 -0
- package/src/components/terminal/terminal-instance.tsx +2 -515
- package/src/components/terminal/terminal-themes.ts +50 -0
- package/src/components/terminal/use-terminal-lifecycle.ts +273 -0
- package/src/components/ui/detachable-window-resize-handles.tsx +105 -0
- package/src/components/ui/detachable-window-storage.ts +90 -0
- package/src/components/ui/detachable-window.tsx +8 -193
- package/src/hooks/use-attempt-questions.ts +174 -0
- package/src/hooks/use-attempt-socket-output-handler.ts +183 -0
- package/src/hooks/use-attempt-socket.ts +214 -0
- package/src/hooks/use-attempt-stream-running-attempt-utils.ts +194 -0
- package/src/hooks/use-attempt-stream.ts +69 -549
- package/src/hooks/use-file-sync-change-check-and-polling.ts +187 -0
- package/src/hooks/use-file-sync-remote-fetch-utils.ts +75 -0
- package/src/hooks/use-file-sync.ts +23 -174
- package/src/hooks/use-inline-edit-socket-event-handlers.ts +81 -0
- package/src/hooks/use-inline-edit.ts +9 -40
- package/src/hooks/use-kanban-keyboard-shortcuts.ts +74 -0
- package/src/hooks/use-kanban-url-sync-and-deep-links.ts +128 -0
- package/src/lib/agent-event-wiring.ts +150 -0
- package/src/lib/agent-factory-dir.ts +2 -27
- package/src/lib/agent-manager.ts +108 -909
- package/src/lib/agent-output-handler.ts +103 -0
- package/src/lib/agent-persistent-question-store.ts +36 -0
- package/src/lib/agent-workflow-message-tracker.ts +170 -0
- package/src/lib/anthropic-proxy-config-loader.ts +177 -0
- package/src/lib/anthropic-proxy-env-interceptor.ts +71 -0
- package/src/lib/anthropic-proxy-setup.ts +15 -254
- package/src/lib/api-auth.ts +14 -1
- package/src/lib/checkpoint-fork-helpers.ts +119 -0
- package/src/lib/claude-code-config-file-loaders.ts +66 -0
- package/src/lib/claude-code-settings.ts +15 -83
- package/src/lib/cli-query.ts +219 -0
- package/src/lib/content-types.ts +30 -3
- package/src/lib/context-health-display-helpers.ts +62 -0
- package/src/lib/context-health.ts +2 -53
- package/src/lib/db/db-migration-alter-table-helpers.ts +93 -0
- package/src/lib/db/index.ts +48 -82
- package/src/lib/db/schema.ts +47 -340
- package/src/lib/dependency-extractor-package-file-parsers.ts +126 -0
- package/src/lib/dependency-extractor.ts +22 -222
- package/src/lib/file-to-attachment.ts +4 -2
- package/src/lib/file-utils.ts +6 -24
- package/src/lib/git-snapshot.ts +8 -4
- package/src/lib/inline-edit-manager.ts +18 -124
- package/src/lib/inline-edit-prompt-builder.ts +70 -0
- package/src/lib/logger.ts +3 -75
- package/src/lib/models.ts +12 -101
- package/src/lib/output-format-converters.ts +245 -0
- package/src/lib/output-formatter.ts +2 -240
- package/src/lib/plugin-file-generator.ts +8 -107
- package/src/lib/providers/claude-cli-process-spawner.ts +78 -0
- package/src/lib/providers/claude-cli-provider.ts +198 -0
- package/src/lib/providers/claude-cli-session-and-pending-question-types.ts +82 -0
- package/src/lib/providers/claude-cli-stdout-line-to-provider-event-parser.ts +106 -0
- package/src/lib/providers/claude-sdk-mcp-config-loader.ts +149 -0
- package/src/lib/providers/claude-sdk-model-alias-and-server-command-utils.ts +42 -0
- package/src/lib/providers/claude-sdk-provider.ts +198 -0
- package/src/lib/providers/claude-sdk-query-options-builder.ts +158 -0
- package/src/lib/providers/index.ts +44 -0
- package/src/lib/providers/types.ts +112 -0
- package/src/lib/proxy-token-cache-disk-storage.ts +97 -0
- package/src/lib/proxy-token-cache.ts +20 -138
- package/src/lib/sdk-event-adapter.ts +33 -417
- package/src/lib/session-manager-conversation-summary.ts +67 -0
- package/src/lib/session-manager-file-operations.ts +131 -0
- package/src/lib/session-manager.ts +40 -251
- package/src/lib/shell-cleanup-and-stop.ts +110 -0
- package/src/lib/shell-instance-output-helpers.ts +94 -0
- package/src/lib/shell-manager.ts +46 -324
- package/src/lib/shell-process-monitor.ts +147 -0
- package/src/lib/timing-safe-compare.ts +4 -0
- package/src/lib/tunnel-service-health-checker.ts +153 -0
- package/src/lib/tunnel-service-reconnection-manager.ts +145 -0
- package/src/lib/tunnel-service.ts +52 -258
- package/src/lib/usage-context-token-calculator.ts +80 -0
- package/src/lib/usage-tracker.ts +79 -101
- package/src/lib/validate-path-within-home-directory.ts +21 -0
- package/src/lib/workflow-format-utils.ts +21 -0
- package/src/lib/workflow-state-query-helpers.ts +54 -0
- package/src/lib/workflow-tracker-types.ts +71 -0
- package/src/lib/workflow-tracker.ts +96 -145
- package/src/stores/attachment-store-upload-and-remove-api-actions.ts +173 -0
- package/src/stores/attachment-store.ts +19 -181
- package/src/stores/inline-edit-store-session-lifecycle-actions.ts +163 -0
- package/src/stores/inline-edit-store.ts +33 -176
- package/src/stores/project-store-crud-api-actions.ts +134 -0
- package/src/stores/project-store.ts +45 -177
- package/src/stores/shell-store-socket-and-api-actions.ts +157 -0
- package/src/stores/shell-store.ts +28 -169
- package/src/stores/sidebar-store-tab-and-diff-actions.ts +97 -0
- package/src/stores/sidebar-store.ts +26 -135
- package/src/stores/task-store-api-actions.ts +106 -0
- package/src/stores/task-store-mutation-api-actions.ts +192 -0
- package/src/stores/task-store.ts +43 -300
- package/src/stores/terminal-store-socket-session-actions.ts +173 -0
- package/src/stores/terminal-store.ts +25 -172
- package/src/stores/tunnel-store-api-and-socket-actions.ts +200 -0
- package/src/stores/tunnel-store.ts +22 -173
- package/src/stores/workflow-store.ts +26 -1
- package/src/types/index.ts +4 -0
- package/tsconfig.json +3 -0
- package/public/desktop-review-0.jpeg +0 -0
- package/public/desktop-review-1.jpeg +0 -0
- package/public/mobile-review-0.jpg +0 -0
- package/src/components/workflow/workflow-panel.tsx +0 -181
- package/src/lib/context-tracker.ts +0 -153
- package/src/lib/process-manager.ts +0 -297
- package/src/lib/usage-command-handler.ts +0 -46
package/README.md
CHANGED
|
@@ -1,49 +1,99 @@
|
|
|
1
1
|
# Claude Workspace
|
|
2
2
|
|
|
3
|
+
**AI-powered workspace for solo CEOs and indie builders** — manage your entire business with AI agents, not just code. Kanban board, code editor, Git integration, claw agent hub, local-first SQLite.
|
|
4
|
+
|
|
3
5
|
> **DISCLAIMER:** This software is provided "AS IS" without warranty. [Read full disclaimer](./DISCLAIMER.md).
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Vision
|
|
6
12
|
|
|
7
|
-
|
|
13
|
+
Claude Workspace is evolving from a developer tool into a **full AI-powered business hub**. By integrating ClaudeWs existing multi-agents, [OpenClaw](https://openclaw.ai/) and compatible claw agents, solo founders can manage email, calendar, messaging, sales, support, and operations — all from one workspace alongside their code. See the [Project Roadmap](./docs/project-roadmap.md) for details.
|
|
8
14
|
|
|
9
15
|
---
|
|
10
16
|
|
|
11
17
|
## Features
|
|
12
18
|
|
|
19
|
+
### Development
|
|
13
20
|
- **Kanban Board** — Drag-and-drop task management with full conversation history
|
|
14
21
|
- **Real-time Streaming** — Live Claude responses via Socket.io
|
|
15
22
|
- **Checkpoints** — Save and rewind to any conversation state
|
|
16
23
|
- **Code Editor** — Tabbed CodeMirror with syntax highlighting and AI suggestions
|
|
17
24
|
- **Git Integration** — Status, stage, commit, diff, visual graph
|
|
18
25
|
- **Agent Factory** — Plugin system for custom skills, commands, agents
|
|
26
|
+
- **Agentic SDK** — Headless REST + SSE backend for programmatic access ([docs](./packages/agentic-sdk/README.md))
|
|
19
27
|
- **Themes** — Light, Dark, VS Code variants, Dracula
|
|
20
28
|
|
|
29
|
+
### Business Hub (Coming Q2 2026)
|
|
30
|
+
- **Claw Agent Hub** — Adopt and manage [OpenClaw](https://openclaw.ai/) agents for business tasks
|
|
31
|
+
- **Multi-Channel Inbox** — Unified messaging across WhatsApp, Slack, Discord, Teams, email
|
|
32
|
+
- **Business Agent Templates** — Pre-built agents for email, calendar, social media, customer support
|
|
33
|
+
- **Workflow Automation** — Visual pipelines connecting agents to automate business operations
|
|
34
|
+
|
|
21
35
|
---
|
|
22
36
|
|
|
23
37
|
## Quick Start
|
|
24
38
|
|
|
25
|
-
**Prerequisites:** Node.js 20+, [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)
|
|
39
|
+
**Prerequisites:** Node.js 20+, pnpm 9+, [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)
|
|
26
40
|
|
|
27
41
|
```bash
|
|
28
42
|
# Option 1: npx (quick try)
|
|
29
43
|
npx -y claude-ws
|
|
30
44
|
|
|
31
|
-
# Option 2: Global install
|
|
45
|
+
# Option 2: Global install
|
|
32
46
|
npm install -g claude-ws
|
|
33
47
|
claude-ws
|
|
34
48
|
|
|
35
49
|
# Option 3: From source
|
|
36
50
|
git clone https://github.com/Claude-Workspace/claude-ws.git
|
|
37
51
|
cd claude-ws
|
|
38
|
-
pnpm install && pnpm
|
|
39
|
-
or
|
|
40
|
-
pnpm install && pmpm run build && pnpm start
|
|
52
|
+
pnpm install && pnpm dev
|
|
41
53
|
```
|
|
42
54
|
|
|
43
55
|
Open http://localhost:8556
|
|
44
56
|
|
|
45
57
|
---
|
|
46
58
|
|
|
59
|
+
## Project Structure
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
claude-ws/
|
|
63
|
+
├── src/ # Next.js app (frontend + API routes)
|
|
64
|
+
├── server.ts # Custom server entry point
|
|
65
|
+
├── packages/
|
|
66
|
+
│ └── agentic-sdk/ # Headless Fastify backend (REST + SSE)
|
|
67
|
+
├── public/ # Static assets, swagger docs
|
|
68
|
+
├── drizzle/ # Database migrations
|
|
69
|
+
├── locales/ # i18n translations
|
|
70
|
+
└── scripts/ # Build and maintenance scripts
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Packages
|
|
74
|
+
|
|
75
|
+
| Package | Description |
|
|
76
|
+
|---------|-------------|
|
|
77
|
+
| **[agentic-sdk](./packages/agentic-sdk/)** | Standalone Fastify server implementing the full claude-ws API. No frontend, no Socket.io — pure REST + SSE. Use it for headless automation, CI/CD pipelines, or custom integrations. |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Running the Agentic SDK
|
|
82
|
+
|
|
83
|
+
The agentic-sdk is a headless backend that exposes the same API as the main claude-ws server but without the UI. Useful for programmatic task execution, automation, and integration with external tools.
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# Development (with file watching)
|
|
87
|
+
pnpm agentic-sdk:dev
|
|
88
|
+
|
|
89
|
+
# Production
|
|
90
|
+
pnpm agentic-sdk:start
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Server starts at http://localhost:3100. See [agentic-sdk README](./packages/agentic-sdk/README.md) for full API documentation.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
47
97
|
## API Documentation
|
|
48
98
|
|
|
49
99
|
See [Swagger API Docs](README-docs-swagger.md)
|
|
@@ -52,24 +102,37 @@ See [Swagger API Docs](README-docs-swagger.md)
|
|
|
52
102
|
|
|
53
103
|
## Configuration
|
|
54
104
|
|
|
55
|
-
Create `.env` file
|
|
105
|
+
Create `.env` file at the project root:
|
|
56
106
|
|
|
57
107
|
```bash
|
|
58
|
-
#
|
|
108
|
+
# Server
|
|
109
|
+
PORT=8556
|
|
59
110
|
API_ACCESS_KEY=your-secret-key
|
|
60
111
|
|
|
61
|
-
#
|
|
62
|
-
|
|
112
|
+
# Anthropic API (or custom proxy)
|
|
113
|
+
ANTHROPIC_BASE_URL=https://api.anthropic.com
|
|
114
|
+
ANTHROPIC_AUTH_TOKEN=your-token
|
|
115
|
+
ANTHROPIC_MODEL=claude-sonnet-4-20250514
|
|
116
|
+
|
|
117
|
+
# Model tier overrides (optional)
|
|
118
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-6
|
|
119
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
|
|
120
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5-20251001
|
|
63
121
|
```
|
|
64
122
|
|
|
65
123
|
| Variable | Description | Default |
|
|
66
124
|
|----------|-------------|---------|
|
|
67
125
|
| `PORT` | Server port | `8556` |
|
|
68
126
|
| `API_ACCESS_KEY` | API authentication key | (empty) |
|
|
69
|
-
| `
|
|
70
|
-
| `
|
|
71
|
-
| `
|
|
72
|
-
|
|
127
|
+
| `ANTHROPIC_BASE_URL` | Anthropic API base URL (or custom endpoint) | `https://api.anthropic.com` |
|
|
128
|
+
| `ANTHROPIC_AUTH_TOKEN` | Auth token for the Anthropic API | — |
|
|
129
|
+
| `ANTHROPIC_MODEL` | Default model | — |
|
|
130
|
+
| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Model for opus tier | Falls back to `ANTHROPIC_MODEL` |
|
|
131
|
+
| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Model for sonnet tier | Falls back to `ANTHROPIC_MODEL` |
|
|
132
|
+
| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Model for haiku tier | Falls back to `ANTHROPIC_MODEL` |
|
|
133
|
+
| `LOG_LEVEL` | Logging level | `debug` (dev), `warn` (prod) |
|
|
134
|
+
| `ANTHROPIC_API_RETRY_TIMES` | Retry attempts for failed API requests | `3` |
|
|
135
|
+
| `ANTHROPIC_API_RETRY_DELAY_MS` | Delay between retries (ms) | `10000` |
|
|
73
136
|
|
|
74
137
|
---
|
|
75
138
|
|
|
@@ -81,10 +144,30 @@ For secure remote access, see [Cloudflare Tunnel Setup](./docs/cloudflare-tunnel
|
|
|
81
144
|
|
|
82
145
|
## Tech Stack
|
|
83
146
|
|
|
84
|
-
Next.js 16, React 19, SQLite + Drizzle ORM, Socket.io, Tailwind CSS 4, Radix UI, Zustand
|
|
147
|
+
Next.js 16, React 19, Fastify 5, SQLite + Drizzle ORM, Socket.io, Claude Agent SDK, Tailwind CSS 4, Radix UI, Zustand, Pino
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Documentation
|
|
152
|
+
|
|
153
|
+
- [Project Overview & PDR](./docs/project-overview-pdr.md) — Features, tech stack, requirements
|
|
154
|
+
- [Project Roadmap](./docs/project-roadmap.md) — Feature timeline, claw agent integration plans
|
|
155
|
+
- [System Architecture](./docs/system-architecture.md) — Component design, API structure
|
|
156
|
+
- [Code Standards](./docs/code-standards.md) — Development conventions and patterns
|
|
157
|
+
- [Cloudflare Tunnel Setup](./docs/cloudflare-tunnel.md) — Remote access configuration
|
|
85
158
|
|
|
86
159
|
---
|
|
87
160
|
|
|
88
161
|
## License
|
|
89
162
|
|
|
90
163
|
MIT
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Screenshots
|
|
168
|
+
|
|
169
|
+

|
|
170
|
+

|
|
171
|
+

|
|
172
|
+

|
|
173
|
+

|
package/locales/de.json
CHANGED
|
@@ -111,7 +111,10 @@
|
|
|
111
111
|
"waitFileUpload": "Bitte warten Sie, bis der Datei-Upload abgeschlossen ist",
|
|
112
112
|
"failedToCreate": "Aufgabe konnte nicht erstellt werden",
|
|
113
113
|
"dragToReorder": "Zum Neuanordnen ziehen",
|
|
114
|
-
"deleteTask": "Aufgabe löschen"
|
|
114
|
+
"deleteTask": "Aufgabe löschen",
|
|
115
|
+
"moveTo": "Verschieben nach",
|
|
116
|
+
"duplicate": "Duplizieren",
|
|
117
|
+
"delete": "Löschen"
|
|
115
118
|
},
|
|
116
119
|
"task": {
|
|
117
120
|
"title": "Titel",
|
|
@@ -344,6 +347,11 @@
|
|
|
344
347
|
"showAllBranches": "Alle Branches anzeigen",
|
|
345
348
|
"showCurrentBranchOnly": "Nur aktuellen Branch anzeigen",
|
|
346
349
|
"fetch": "Abrufen",
|
|
350
|
+
"fetching": "Abrufen...",
|
|
351
|
+
"pull": "Pull",
|
|
352
|
+
"pulling": "Pulling...",
|
|
353
|
+
"push": "Push",
|
|
354
|
+
"pushing": "Pushing...",
|
|
347
355
|
"searchBranches": "Branches suchen...",
|
|
348
356
|
"copyFullHash": "Vollständigen Hash kopieren",
|
|
349
357
|
"checkoutCommit": "Diesen Commit auschecken (abgetrennter HEAD-Zustand)",
|
package/locales/en.json
CHANGED
|
@@ -111,7 +111,10 @@
|
|
|
111
111
|
"waitFileUpload": "Please wait for files to finish uploading",
|
|
112
112
|
"failedToCreate": "Failed to create task",
|
|
113
113
|
"dragToReorder": "Drag to reorder",
|
|
114
|
-
"deleteTask": "Delete task"
|
|
114
|
+
"deleteTask": "Delete task",
|
|
115
|
+
"moveTo": "Move to",
|
|
116
|
+
"duplicate": "Duplicate",
|
|
117
|
+
"delete": "Delete"
|
|
115
118
|
},
|
|
116
119
|
"task": {
|
|
117
120
|
"title": "Title",
|
|
@@ -344,6 +347,11 @@
|
|
|
344
347
|
"showAllBranches": "Show all branches",
|
|
345
348
|
"showCurrentBranchOnly": "Show current branch only",
|
|
346
349
|
"fetch": "Fetch",
|
|
350
|
+
"fetching": "Fetching...",
|
|
351
|
+
"pull": "Pull",
|
|
352
|
+
"pulling": "Pulling...",
|
|
353
|
+
"push": "Push",
|
|
354
|
+
"pushing": "Pushing...",
|
|
347
355
|
"searchBranches": "Search branches...",
|
|
348
356
|
"copyFullHash": "Copy full hash",
|
|
349
357
|
"checkoutCommit": "Checkout this commit (detached HEAD state)",
|
|
@@ -595,6 +603,9 @@
|
|
|
595
603
|
"rewoundToCheckpoint": "Rewound conversation & files to checkpoint",
|
|
596
604
|
"rewoundConversationOnly": "Rewound conversation only",
|
|
597
605
|
"rewoundConversation": "Rewound conversation to checkpoint",
|
|
606
|
+
"forkedToCheckpoint": "Forked conversation & files from checkpoint",
|
|
607
|
+
"forkedConversationOnly": "Forked conversation only",
|
|
608
|
+
"forkedConversation": "Forked conversation from checkpoint",
|
|
598
609
|
"waitForUpload": "Please wait for files to finish uploading"
|
|
599
610
|
},
|
|
600
611
|
"agentProvider": {
|
package/locales/es.json
CHANGED
|
@@ -111,7 +111,10 @@
|
|
|
111
111
|
"waitFileUpload": "Por favor espere a que los archivos terminen de subir",
|
|
112
112
|
"failedToCreate": "Fallo al crear tarea",
|
|
113
113
|
"dragToReorder": "Arrastrar para reordenar",
|
|
114
|
-
"deleteTask": "Eliminar tarea"
|
|
114
|
+
"deleteTask": "Eliminar tarea",
|
|
115
|
+
"moveTo": "Mover a",
|
|
116
|
+
"duplicate": "Duplicar",
|
|
117
|
+
"delete": "Eliminar"
|
|
115
118
|
},
|
|
116
119
|
"task": {
|
|
117
120
|
"title": "Título",
|
|
@@ -344,6 +347,11 @@
|
|
|
344
347
|
"showAllBranches": "Mostrar todas las ramas",
|
|
345
348
|
"showCurrentBranchOnly": "Mostrar solo la rama actual",
|
|
346
349
|
"fetch": "Obtener",
|
|
350
|
+
"fetching": "Obteniendo...",
|
|
351
|
+
"pull": "Pull",
|
|
352
|
+
"pulling": "Pulling...",
|
|
353
|
+
"push": "Push",
|
|
354
|
+
"pushing": "Pushing...",
|
|
347
355
|
"searchBranches": "Buscar ramas...",
|
|
348
356
|
"copyFullHash": "Copiar hash completo",
|
|
349
357
|
"checkoutCommit": "Cambiar a este commit (estado HEAD desconectado)",
|
package/locales/fr.json
CHANGED
|
@@ -111,7 +111,10 @@
|
|
|
111
111
|
"waitFileUpload": "Veuillez attendre que les fichiers finissent de télécharger",
|
|
112
112
|
"failedToCreate": "Échec de la création de la tâche",
|
|
113
113
|
"dragToReorder": "Glisser pour réorganiser",
|
|
114
|
-
"deleteTask": "Supprimer la tâche"
|
|
114
|
+
"deleteTask": "Supprimer la tâche",
|
|
115
|
+
"moveTo": "Déplacer vers",
|
|
116
|
+
"duplicate": "Dupliquer",
|
|
117
|
+
"delete": "Supprimer"
|
|
115
118
|
},
|
|
116
119
|
"task": {
|
|
117
120
|
"title": "Titre",
|
|
@@ -344,6 +347,11 @@
|
|
|
344
347
|
"showAllBranches": "Afficher toutes les branches",
|
|
345
348
|
"showCurrentBranchOnly": "Afficher uniquement la branche courante",
|
|
346
349
|
"fetch": "Fetch",
|
|
350
|
+
"fetching": "Récupération...",
|
|
351
|
+
"pull": "Pull",
|
|
352
|
+
"pulling": "Pulling...",
|
|
353
|
+
"push": "Push",
|
|
354
|
+
"pushing": "Pushing...",
|
|
347
355
|
"searchBranches": "Rechercher des branches...",
|
|
348
356
|
"copyFullHash": "Copier le hash complet",
|
|
349
357
|
"checkoutCommit": "Extraire ce commit (état HEAD détaché)",
|
package/locales/ja.json
CHANGED
|
@@ -111,7 +111,10 @@
|
|
|
111
111
|
"waitFileUpload": "ファイルのアップロードが完了するまでお待ちください",
|
|
112
112
|
"failedToCreate": "タスクの作成に失敗しました",
|
|
113
113
|
"dragToReorder": "ドラッグして並べ替え",
|
|
114
|
-
"deleteTask": "タスクを削除"
|
|
114
|
+
"deleteTask": "タスクを削除",
|
|
115
|
+
"moveTo": "移動先",
|
|
116
|
+
"duplicate": "複製",
|
|
117
|
+
"delete": "削除"
|
|
115
118
|
},
|
|
116
119
|
"task": {
|
|
117
120
|
"title": "タイトル",
|
|
@@ -344,6 +347,11 @@
|
|
|
344
347
|
"showAllBranches": "すべてのブランチを表示",
|
|
345
348
|
"showCurrentBranchOnly": "現在のブランチのみ表示",
|
|
346
349
|
"fetch": "フェッチ",
|
|
350
|
+
"fetching": "フェッチ中...",
|
|
351
|
+
"pull": "Pull",
|
|
352
|
+
"pulling": "Pull中...",
|
|
353
|
+
"push": "Push",
|
|
354
|
+
"pushing": "Push中...",
|
|
347
355
|
"searchBranches": "ブランチを検索...",
|
|
348
356
|
"copyFullHash": "完全なハッシュをコピー",
|
|
349
357
|
"checkoutCommit": "このコミットをチェックアウト(detached HEAD 状態)",
|
package/locales/ko.json
CHANGED
|
@@ -111,7 +111,10 @@
|
|
|
111
111
|
"waitFileUpload": "파일 업로드가 완료될 때까지 기다려주세요",
|
|
112
112
|
"failedToCreate": "작업 만들기 실패",
|
|
113
113
|
"dragToReorder": "드래그하여 재정렬",
|
|
114
|
-
"deleteTask": "작업 삭제"
|
|
114
|
+
"deleteTask": "작업 삭제",
|
|
115
|
+
"moveTo": "이동",
|
|
116
|
+
"duplicate": "복제",
|
|
117
|
+
"delete": "삭제"
|
|
115
118
|
},
|
|
116
119
|
"task": {
|
|
117
120
|
"title": "제목",
|
|
@@ -344,6 +347,11 @@
|
|
|
344
347
|
"showAllBranches": "모든 브랜치 표시",
|
|
345
348
|
"showCurrentBranchOnly": "현재 브랜치만 표시",
|
|
346
349
|
"fetch": "가져오기",
|
|
350
|
+
"fetching": "가져오는 중...",
|
|
351
|
+
"pull": "Pull",
|
|
352
|
+
"pulling": "Pull 중...",
|
|
353
|
+
"push": "Push",
|
|
354
|
+
"pushing": "Push 중...",
|
|
347
355
|
"searchBranches": "브랜치 검색...",
|
|
348
356
|
"copyFullHash": "전체 해시 복사",
|
|
349
357
|
"checkoutCommit": "이 커밋 체크아웃 (분리된 HEAD 상태)",
|
package/locales/vi.json
CHANGED
|
@@ -111,7 +111,10 @@
|
|
|
111
111
|
"waitFileUpload": "Vui lòng đợi tập tin tải lên xong",
|
|
112
112
|
"failedToCreate": "Không thể tạo nhiệm vụ",
|
|
113
113
|
"dragToReorder": "Kéo để sắp xếp lại",
|
|
114
|
-
"deleteTask": "Xóa nhiệm vụ"
|
|
114
|
+
"deleteTask": "Xóa nhiệm vụ",
|
|
115
|
+
"moveTo": "Di chuyển đến",
|
|
116
|
+
"duplicate": "Nhân bản",
|
|
117
|
+
"delete": "Xóa"
|
|
115
118
|
},
|
|
116
119
|
"task": {
|
|
117
120
|
"title": "Tiêu đề",
|
|
@@ -344,6 +347,11 @@
|
|
|
344
347
|
"showAllBranches": "Hiển thị tất cả nhánh",
|
|
345
348
|
"showCurrentBranchOnly": "Chỉ hiển thị nhánh hiện tại",
|
|
346
349
|
"fetch": "Tải về",
|
|
350
|
+
"fetching": "Đang fetch...",
|
|
351
|
+
"pull": "Pull",
|
|
352
|
+
"pulling": "Đang pull...",
|
|
353
|
+
"push": "Push",
|
|
354
|
+
"pushing": "Đang push...",
|
|
347
355
|
"searchBranches": "Tìm kiếm nhánh...",
|
|
348
356
|
"copyFullHash": "Sao chép mã hash đầy đủ",
|
|
349
357
|
"checkoutCommit": "Checkout commit này (trạng thái HEAD tách rời)",
|
package/locales/zh.json
CHANGED
|
@@ -111,7 +111,10 @@
|
|
|
111
111
|
"waitFileUpload": "请等待文件上传完成",
|
|
112
112
|
"failedToCreate": "创建任务失败",
|
|
113
113
|
"dragToReorder": "拖动以重新排序",
|
|
114
|
-
"deleteTask": "删除任务"
|
|
114
|
+
"deleteTask": "删除任务",
|
|
115
|
+
"moveTo": "移动到",
|
|
116
|
+
"duplicate": "复制",
|
|
117
|
+
"delete": "删除"
|
|
115
118
|
},
|
|
116
119
|
"task": {
|
|
117
120
|
"title": "标题",
|
|
@@ -344,6 +347,11 @@
|
|
|
344
347
|
"showAllBranches": "显示所有分支",
|
|
345
348
|
"showCurrentBranchOnly": "仅显示当前分支",
|
|
346
349
|
"fetch": "拉取",
|
|
350
|
+
"fetching": "正在拉取...",
|
|
351
|
+
"pull": "Pull",
|
|
352
|
+
"pulling": "正在Pull...",
|
|
353
|
+
"push": "Push",
|
|
354
|
+
"pushing": "正在Push...",
|
|
347
355
|
"searchBranches": "搜索分支...",
|
|
348
356
|
"copyFullHash": "复制完整哈希值",
|
|
349
357
|
"checkoutCommit": "检出此提交(分离 HEAD 状态)",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-ws",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.101",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A beautifully crafted workspace interface for Claude Code with real-time streaming and local SQLite database",
|
|
6
6
|
"keywords": [
|
|
@@ -62,11 +62,13 @@
|
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"postinstall": "node -e \"try{require('fs').chmodSync(require('path').join('node_modules','@homebridge','node-pty-prebuilt-multiarch','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"",
|
|
65
|
-
"dev": "tsx server.ts",
|
|
65
|
+
"dev": "cross-env CLAUDECODE= tsx server.ts",
|
|
66
66
|
"build": "cross-env NODE_ENV=production next build",
|
|
67
|
-
"start": "cross-env NODE_ENV=production tsx server.ts",
|
|
67
|
+
"start": "cross-env NODE_ENV=production CLAUDECODE= tsx server.ts",
|
|
68
68
|
"db:generate": "drizzle-kit generate",
|
|
69
|
-
"db:fix": "tsx scripts/db-fix-columns.ts"
|
|
69
|
+
"db:fix": "tsx scripts/db-fix-columns.ts",
|
|
70
|
+
"agentic-sdk:dev": "tsx watch packages/agentic-sdk/bin/server-entrypoint.ts",
|
|
71
|
+
"agentic-sdk:start": "cross-env NODE_ENV=production tsx packages/agentic-sdk/bin/server-entrypoint.ts"
|
|
70
72
|
},
|
|
71
73
|
"dependencies": {
|
|
72
74
|
"@anthropic-ai/claude-agent-sdk": "^0.2.42",
|
|
@@ -91,6 +93,9 @@
|
|
|
91
93
|
"@dnd-kit/core": "^6.3.1",
|
|
92
94
|
"@dnd-kit/sortable": "^10.0.0",
|
|
93
95
|
"@dnd-kit/utilities": "^3.2.2",
|
|
96
|
+
"@fastify/cors": "^11.2.0",
|
|
97
|
+
"@fastify/multipart": "^9.4.0",
|
|
98
|
+
"@homebridge/node-pty-prebuilt-multiarch": "^0.13.1",
|
|
94
99
|
"@radix-ui/react-checkbox": "^1.3.3",
|
|
95
100
|
"@radix-ui/react-context-menu": "^2.2.16",
|
|
96
101
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
@@ -108,6 +113,7 @@
|
|
|
108
113
|
"@types/adm-zip": "^0.5.7",
|
|
109
114
|
"@types/better-sqlite3": "^7.6.13",
|
|
110
115
|
"@types/compression": "^1.8.1",
|
|
116
|
+
"@types/dompurify": "^3.2.0",
|
|
111
117
|
"@types/node": "^20.19.33",
|
|
112
118
|
"@types/react": "^19.2.14",
|
|
113
119
|
"@types/react-dom": "^19.2.3",
|
|
@@ -116,6 +122,7 @@
|
|
|
116
122
|
"@xterm/addon-web-links": "^0.12.0",
|
|
117
123
|
"@xterm/xterm": "^6.0.0",
|
|
118
124
|
"adm-zip": "^0.5.16",
|
|
125
|
+
"beautiful-mermaid": "^1.1.3",
|
|
119
126
|
"better-sqlite3": "^12.6.2",
|
|
120
127
|
"class-variance-authority": "^0.7.1",
|
|
121
128
|
"clsx": "^2.1.1",
|
|
@@ -125,11 +132,14 @@
|
|
|
125
132
|
"ctunnel": "^1.0.3",
|
|
126
133
|
"date-fns": "^4.1.0",
|
|
127
134
|
"diff": "^8.0.3",
|
|
135
|
+
"dompurify": "^3.3.3",
|
|
128
136
|
"dotenv": "^17.2.4",
|
|
129
137
|
"drizzle-kit": "^0.31.9",
|
|
130
138
|
"drizzle-orm": "^0.45.1",
|
|
131
139
|
"eslint": "^9.39.2",
|
|
132
140
|
"eslint-config-next": "^16.1.6",
|
|
141
|
+
"fastify": "^5.8.2",
|
|
142
|
+
"fastify-plugin": "^5.1.0",
|
|
133
143
|
"highlight.js": "^11.11.1",
|
|
134
144
|
"js-yaml": "^4.1.1",
|
|
135
145
|
"lowlight": "^3.3.0",
|
|
@@ -138,7 +148,6 @@
|
|
|
138
148
|
"next": "^16.1.6",
|
|
139
149
|
"next-intl": "^4.8.2",
|
|
140
150
|
"next-themes": "^0.4.6",
|
|
141
|
-
"@homebridge/node-pty-prebuilt-multiarch": "^0.13.1",
|
|
142
151
|
"pino": "^10.3.1",
|
|
143
152
|
"pino-pretty": "^13.1.3",
|
|
144
153
|
"react": "19.2.3",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|