@cloudcli-ai/cloudcli 1.29.5 → 1.31.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/README.de.md +1 -1
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/README.ru.md +1 -1
- package/README.tr.md +252 -0
- package/README.zh-CN.md +1 -1
- package/dist/assets/index-DF8TTVHl.css +32 -0
- package/dist/assets/index-DbZAcc9z.js +1262 -0
- package/dist/index.html +2 -2
- package/dist-server/server/claude-sdk.js +13 -8
- package/dist-server/server/claude-sdk.js.map +1 -1
- package/dist-server/server/cursor-cli.js +7 -7
- package/dist-server/server/cursor-cli.js.map +1 -1
- package/dist-server/server/gemini-cli.js +5 -5
- package/dist-server/server/gemini-cli.js.map +1 -1
- package/dist-server/server/gemini-response-handler.js +2 -2
- package/dist-server/server/gemini-response-handler.js.map +1 -1
- package/dist-server/server/index.js +139 -977
- package/dist-server/server/index.js.map +1 -1
- package/dist-server/server/middleware/auth.js +1 -1
- package/dist-server/server/middleware/auth.js.map +1 -1
- package/dist-server/server/modules/database/connection.js +125 -0
- package/dist-server/server/modules/database/connection.js.map +1 -0
- package/dist-server/server/modules/database/index.js +13 -0
- package/dist-server/server/modules/database/index.js.map +1 -0
- package/dist-server/server/modules/database/init-db.js +18 -0
- package/dist-server/server/modules/database/init-db.js.map +1 -0
- package/dist-server/server/modules/database/migrations.js +370 -0
- package/dist-server/server/modules/database/migrations.js.map +1 -0
- package/dist-server/server/modules/database/repositories/api-keys.js +72 -0
- package/dist-server/server/modules/database/repositories/api-keys.js.map +1 -0
- package/dist-server/server/modules/database/repositories/app-config.js +47 -0
- package/dist-server/server/modules/database/repositories/app-config.js.map +1 -0
- package/dist-server/server/modules/database/repositories/credentials.js +68 -0
- package/dist-server/server/modules/database/repositories/credentials.js.map +1 -0
- package/dist-server/server/modules/database/repositories/github-tokens.js +54 -0
- package/dist-server/server/modules/database/repositories/github-tokens.js.map +1 -0
- package/dist-server/server/modules/database/repositories/notification-preferences.js +72 -0
- package/dist-server/server/modules/database/repositories/notification-preferences.js.map +1 -0
- package/dist-server/server/modules/database/repositories/projects.db.integration.test.js +64 -0
- package/dist-server/server/modules/database/repositories/projects.db.integration.test.js.map +1 -0
- package/dist-server/server/modules/database/repositories/projects.db.js +160 -0
- package/dist-server/server/modules/database/repositories/projects.db.js.map +1 -0
- package/dist-server/server/modules/database/repositories/push-subscriptions.js +49 -0
- package/dist-server/server/modules/database/repositories/push-subscriptions.js.map +1 -0
- package/dist-server/server/modules/database/repositories/scan-state.db.js +31 -0
- package/dist-server/server/modules/database/repositories/scan-state.db.js.map +1 -0
- package/dist-server/server/modules/database/repositories/sessions.db.js +109 -0
- package/dist-server/server/modules/database/repositories/sessions.db.js.map +1 -0
- package/dist-server/server/modules/database/repositories/users.js +88 -0
- package/dist-server/server/modules/database/repositories/users.js.map +1 -0
- package/dist-server/server/modules/database/repositories/vapid-keys.js +38 -0
- package/dist-server/server/modules/database/repositories/vapid-keys.js.map +1 -0
- package/dist-server/server/modules/database/schema.js +143 -0
- package/dist-server/server/modules/database/schema.js.map +1 -0
- package/dist-server/server/modules/projects/index.js +4 -0
- package/dist-server/server/modules/projects/index.js.map +1 -0
- package/dist-server/server/modules/projects/projects.routes.js +188 -0
- package/dist-server/server/modules/projects/projects.routes.js.map +1 -0
- package/dist-server/server/modules/projects/services/project-clone.service.js +219 -0
- package/dist-server/server/modules/projects/services/project-clone.service.js.map +1 -0
- package/dist-server/server/modules/projects/services/project-delete.service.js +65 -0
- package/dist-server/server/modules/projects/services/project-delete.service.js.map +1 -0
- package/dist-server/server/modules/projects/services/project-management.service.js +93 -0
- package/dist-server/server/modules/projects/services/project-management.service.js.map +1 -0
- package/dist-server/server/modules/projects/services/project-star.service.js +60 -0
- package/dist-server/server/modules/projects/services/project-star.service.js.map +1 -0
- package/dist-server/server/modules/projects/services/projects-has-taskmaster.service.js +167 -0
- package/dist-server/server/modules/projects/services/projects-has-taskmaster.service.js.map +1 -0
- package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js +169 -0
- package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js.map +1 -0
- package/dist-server/server/modules/projects/tests/project-clone.service.test.js +126 -0
- package/dist-server/server/modules/projects/tests/project-clone.service.test.js.map +1 -0
- package/dist-server/server/modules/projects/tests/project-management.service.test.js +85 -0
- package/dist-server/server/modules/projects/tests/project-management.service.test.js.map +1 -0
- package/dist-server/server/modules/projects/tests/project-star.service.test.js +95 -0
- package/dist-server/server/modules/projects/tests/project-star.service.test.js.map +1 -0
- package/dist-server/server/modules/projects/tests/projects-has-taskmaster.service.test.js +87 -0
- package/dist-server/server/modules/projects/tests/projects-has-taskmaster.service.test.js.map +1 -0
- package/dist-server/server/modules/providers/index.js +4 -0
- package/dist-server/server/modules/providers/index.js.map +1 -0
- package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js +103 -0
- package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/claude/claude-mcp.provider.js +103 -0
- package/dist-server/server/modules/providers/list/claude/claude-mcp.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js +63 -0
- package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js +403 -0
- package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/claude/claude.provider.js +15 -0
- package/dist-server/server/modules/providers/list/claude/claude.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex-auth.provider.js +84 -0
- package/dist-server/server/modules/providers/list/codex/codex-auth.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex-mcp.provider.js +107 -0
- package/dist-server/server/modules/providers/list/codex/codex-mcp.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js +71 -0
- package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js +494 -0
- package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex.provider.js +15 -0
- package/dist-server/server/modules/providers/list/codex/codex.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/cursor/cursor-auth.provider.js +118 -0
- package/dist-server/server/modules/providers/list/cursor/cursor-auth.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/cursor/cursor-mcp.provider.js +80 -0
- package/dist-server/server/modules/providers/list/cursor/cursor-mcp.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.js +127 -0
- package/dist-server/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js +369 -0
- package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/cursor/cursor.provider.js +15 -0
- package/dist-server/server/modules/providers/list/cursor/cursor.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/gemini/gemini-auth.provider.js +131 -0
- package/dist-server/server/modules/providers/list/gemini/gemini-auth.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/gemini/gemini-mcp.provider.js +82 -0
- package/dist-server/server/modules/providers/list/gemini/gemini-mcp.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/gemini/gemini-session-synchronizer.provider.js +296 -0
- package/dist-server/server/modules/providers/list/gemini/gemini-session-synchronizer.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/gemini/gemini-sessions.provider.js +474 -0
- package/dist-server/server/modules/providers/list/gemini/gemini-sessions.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/gemini/gemini.provider.js +15 -0
- package/dist-server/server/modules/providers/list/gemini/gemini.provider.js.map +1 -0
- package/dist-server/server/modules/providers/provider.registry.js +31 -0
- package/dist-server/server/modules/providers/provider.registry.js.map +1 -0
- package/dist-server/server/modules/providers/provider.routes.js +331 -0
- package/dist-server/server/modules/providers/provider.routes.js.map +1 -0
- package/dist-server/server/modules/providers/services/mcp.service.js +69 -0
- package/dist-server/server/modules/providers/services/mcp.service.js.map +1 -0
- package/dist-server/server/modules/providers/services/provider-auth.service.js +25 -0
- package/dist-server/server/modules/providers/services/provider-auth.service.js.map +1 -0
- package/dist-server/server/modules/providers/services/session-conversations-search.service.js +868 -0
- package/dist-server/server/modules/providers/services/session-conversations-search.service.js.map +1 -0
- package/dist-server/server/modules/providers/services/session-synchronizer.service.js +56 -0
- package/dist-server/server/modules/providers/services/session-synchronizer.service.js.map +1 -0
- package/dist-server/server/modules/providers/services/sessions-watcher.service.js +234 -0
- package/dist-server/server/modules/providers/services/sessions-watcher.service.js.map +1 -0
- package/dist-server/server/modules/providers/services/sessions.service.js +104 -0
- package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -0
- package/dist-server/server/modules/providers/shared/base/abstract.provider.js +14 -0
- package/dist-server/server/modules/providers/shared/base/abstract.provider.js.map +1 -0
- package/dist-server/server/modules/providers/shared/mcp/mcp.provider.js +102 -0
- package/dist-server/server/modules/providers/shared/mcp/mcp.provider.js.map +1 -0
- package/dist-server/server/modules/providers/tests/mcp.test.js +250 -0
- package/dist-server/server/modules/providers/tests/mcp.test.js.map +1 -0
- package/dist-server/server/modules/websocket/index.js +3 -0
- package/dist-server/server/modules/websocket/index.js.map +1 -0
- package/dist-server/server/modules/websocket/services/chat-websocket.service.js +188 -0
- package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -0
- package/dist-server/server/modules/websocket/services/plugin-websocket-proxy.service.js +52 -0
- package/dist-server/server/modules/websocket/services/plugin-websocket-proxy.service.js.map +1 -0
- package/dist-server/server/modules/websocket/services/shell-websocket.service.js +334 -0
- package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -0
- package/dist-server/server/modules/websocket/services/websocket-auth.service.js +32 -0
- package/dist-server/server/modules/websocket/services/websocket-auth.service.js.map +1 -0
- package/dist-server/server/modules/websocket/services/websocket-server.service.js +36 -0
- package/dist-server/server/modules/websocket/services/websocket-server.service.js.map +1 -0
- package/dist-server/server/modules/websocket/services/websocket-state.service.js +14 -0
- package/dist-server/server/modules/websocket/services/websocket-state.service.js.map +1 -0
- package/dist-server/server/modules/websocket/services/websocket-writer.service.js +32 -0
- package/dist-server/server/modules/websocket/services/websocket-writer.service.js.map +1 -0
- package/dist-server/server/openai-codex.js +5 -5
- package/dist-server/server/openai-codex.js.map +1 -1
- package/dist-server/server/routes/agent.js +10 -17
- package/dist-server/server/routes/agent.js.map +1 -1
- package/dist-server/server/routes/auth.js +3 -1
- package/dist-server/server/routes/auth.js.map +1 -1
- package/dist-server/server/routes/commands.js +1 -45
- package/dist-server/server/routes/commands.js.map +1 -1
- package/dist-server/server/routes/cursor.js +9 -489
- package/dist-server/server/routes/cursor.js.map +1 -1
- package/dist-server/server/routes/gemini.js +2 -2
- package/dist-server/server/routes/gemini.js.map +1 -1
- package/dist-server/server/routes/git.js +33 -29
- package/dist-server/server/routes/git.js.map +1 -1
- package/dist-server/server/routes/mcp-utils.js +1 -18
- package/dist-server/server/routes/mcp-utils.js.map +1 -1
- package/dist-server/server/routes/settings.js +11 -1
- package/dist-server/server/routes/settings.js.map +1 -1
- package/dist-server/server/routes/taskmaster.js +97 -569
- package/dist-server/server/routes/taskmaster.js.map +1 -1
- package/dist-server/server/routes/user.js +1 -1
- package/dist-server/server/routes/user.js.map +1 -1
- package/dist-server/server/services/notification-orchestrator.js +2 -2
- package/dist-server/server/services/notification-orchestrator.js.map +1 -1
- package/dist-server/server/services/vapid-keys.js +2 -1
- package/dist-server/server/services/vapid-keys.js.map +1 -1
- package/dist-server/server/shared/interfaces.js +2 -0
- package/dist-server/server/shared/interfaces.js.map +1 -0
- package/dist-server/server/shared/types.js +2 -0
- package/dist-server/server/shared/types.js.map +1 -0
- package/dist-server/server/shared/utils.js +551 -0
- package/dist-server/server/shared/utils.js.map +1 -0
- package/dist-server/server/utils/mcp-detector.js +0 -49
- package/dist-server/server/utils/mcp-detector.js.map +1 -1
- package/dist-server/server/utils/taskmaster-websocket.js +18 -12
- package/dist-server/server/utils/taskmaster-websocket.js.map +1 -1
- package/dist-server/shared/modelConstants.js +3 -1
- package/dist-server/shared/modelConstants.js.map +1 -1
- package/package.json +7 -2
- package/server/claude-sdk.js +14 -8
- package/server/cursor-cli.js +7 -7
- package/server/gemini-cli.js +5 -5
- package/server/gemini-response-handler.js +2 -2
- package/server/index.js +173 -1035
- package/server/middleware/auth.js +1 -1
- package/server/modules/database/connection.ts +143 -0
- package/server/modules/database/index.ts +12 -0
- package/server/modules/database/init-db.ts +17 -0
- package/server/modules/database/migrations.ts +442 -0
- package/server/modules/database/repositories/api-keys.ts +119 -0
- package/server/modules/database/repositories/app-config.ts +53 -0
- package/server/modules/database/repositories/credentials.ts +106 -0
- package/server/modules/database/repositories/github-tokens.ts +100 -0
- package/server/modules/database/repositories/notification-preferences.ts +103 -0
- package/server/modules/database/repositories/projects.db.integration.test.ts +72 -0
- package/server/modules/database/repositories/projects.db.ts +183 -0
- package/server/modules/database/repositories/push-subscriptions.ts +80 -0
- package/server/modules/database/repositories/scan-state.db.ts +42 -0
- package/server/modules/database/repositories/sessions.db.ts +174 -0
- package/server/modules/database/repositories/users.ts +140 -0
- package/server/modules/database/repositories/vapid-keys.ts +57 -0
- package/server/modules/database/schema.ts +152 -0
- package/server/modules/projects/index.ts +6 -0
- package/server/modules/projects/projects.routes.ts +247 -0
- package/server/modules/projects/services/project-clone.service.ts +321 -0
- package/server/modules/projects/services/project-delete.service.ts +75 -0
- package/server/modules/projects/services/project-management.service.ts +150 -0
- package/server/modules/projects/services/project-star.service.ts +78 -0
- package/server/modules/projects/services/projects-has-taskmaster.service.ts +248 -0
- package/server/modules/projects/services/projects-with-sessions-fetch.service.ts +285 -0
- package/server/modules/projects/tests/project-clone.service.test.ts +183 -0
- package/server/modules/projects/tests/project-management.service.test.ts +117 -0
- package/server/modules/projects/tests/project-star.service.test.ts +123 -0
- package/server/modules/projects/tests/projects-has-taskmaster.service.test.ts +105 -0
- package/server/modules/providers/index.ts +4 -0
- package/server/modules/providers/list/claude/claude-auth.provider.ts +123 -0
- package/server/modules/providers/list/claude/claude-mcp.provider.ts +135 -0
- package/server/modules/providers/list/claude/claude-session-synchronizer.provider.ts +110 -0
- package/server/modules/providers/list/claude/claude-sessions.provider.ts +475 -0
- package/server/modules/providers/list/claude/claude.provider.ts +17 -0
- package/server/modules/providers/list/codex/codex-auth.provider.ts +100 -0
- package/server/modules/providers/list/codex/codex-mcp.provider.ts +135 -0
- package/server/modules/providers/list/codex/codex-session-synchronizer.provider.ts +119 -0
- package/server/modules/providers/list/codex/codex-sessions.provider.ts +564 -0
- package/server/modules/providers/list/codex/codex.provider.ts +17 -0
- package/server/modules/providers/list/cursor/cursor-auth.provider.ts +143 -0
- package/server/modules/providers/list/cursor/cursor-mcp.provider.ts +108 -0
- package/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.ts +176 -0
- package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +421 -0
- package/server/modules/providers/list/cursor/cursor.provider.ts +17 -0
- package/server/modules/providers/list/gemini/gemini-auth.provider.ts +151 -0
- package/server/modules/providers/list/gemini/gemini-mcp.provider.ts +110 -0
- package/server/modules/providers/list/gemini/gemini-session-synchronizer.provider.ts +401 -0
- package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +541 -0
- package/server/modules/providers/list/gemini/gemini.provider.ts +17 -0
- package/server/modules/providers/provider.registry.ts +36 -0
- package/server/modules/providers/provider.routes.ts +425 -0
- package/server/modules/providers/services/mcp.service.ts +94 -0
- package/server/modules/providers/services/provider-auth.service.ts +26 -0
- package/server/modules/providers/services/session-conversations-search.service.ts +1167 -0
- package/server/modules/providers/services/session-synchronizer.service.ts +74 -0
- package/server/modules/providers/services/sessions-watcher.service.ts +283 -0
- package/server/modules/providers/services/sessions.service.ts +130 -0
- package/server/modules/providers/shared/base/abstract.provider.ts +27 -0
- package/server/modules/providers/shared/mcp/mcp.provider.ts +151 -0
- package/server/modules/providers/tests/mcp.test.ts +293 -0
- package/server/modules/websocket/README.md +267 -0
- package/server/modules/websocket/index.ts +2 -0
- package/server/modules/websocket/services/chat-websocket.service.ts +271 -0
- package/server/modules/websocket/services/plugin-websocket-proxy.service.ts +65 -0
- package/server/modules/websocket/services/shell-websocket.service.ts +453 -0
- package/server/modules/websocket/services/websocket-auth.service.ts +54 -0
- package/server/modules/websocket/services/websocket-server.service.ts +58 -0
- package/server/modules/websocket/services/websocket-state.service.ts +16 -0
- package/server/modules/websocket/services/websocket-writer.service.ts +38 -0
- package/server/openai-codex.js +5 -5
- package/server/routes/agent.js +11 -16
- package/server/routes/auth.js +4 -2
- package/server/routes/commands.js +1 -50
- package/server/routes/cursor.js +15 -527
- package/server/routes/gemini.js +3 -2
- package/server/routes/git.js +33 -28
- package/server/routes/mcp-utils.js +2 -19
- package/server/routes/settings.js +11 -1
- package/server/routes/taskmaster.js +107 -602
- package/server/routes/user.js +1 -1
- package/server/services/notification-orchestrator.js +3 -2
- package/server/services/vapid-keys.js +2 -1
- package/server/shared/interfaces.ts +92 -0
- package/server/shared/types.ts +327 -0
- package/server/shared/utils.ts +669 -0
- package/server/tsconfig.json +6 -3
- package/server/utils/mcp-detector.js +0 -51
- package/server/utils/taskmaster-websocket.js +19 -13
- package/shared/modelConstants.js +3 -1
- package/dist/assets/index-BBAE1OJ_.css +0 -32
- package/dist/assets/index-Ci1GOyV7.js +0 -1262
- package/dist-server/server/database/db.js +0 -535
- package/dist-server/server/database/db.js.map +0 -1
- package/dist-server/server/database/schema.js +0 -97
- package/dist-server/server/database/schema.js.map +0 -1
- package/dist-server/server/projects.js +0 -2325
- package/dist-server/server/projects.js.map +0 -1
- package/dist-server/server/providers/claude/adapter.js +0 -266
- package/dist-server/server/providers/claude/adapter.js.map +0 -1
- package/dist-server/server/providers/claude/status.js +0 -121
- package/dist-server/server/providers/claude/status.js.map +0 -1
- package/dist-server/server/providers/codex/adapter.js +0 -232
- package/dist-server/server/providers/codex/adapter.js.map +0 -1
- package/dist-server/server/providers/codex/status.js +0 -70
- package/dist-server/server/providers/codex/status.js.map +0 -1
- package/dist-server/server/providers/cursor/adapter.js +0 -342
- package/dist-server/server/providers/cursor/adapter.js.map +0 -1
- package/dist-server/server/providers/cursor/status.js +0 -118
- package/dist-server/server/providers/cursor/status.js.map +0 -1
- package/dist-server/server/providers/gemini/adapter.js +0 -174
- package/dist-server/server/providers/gemini/adapter.js.map +0 -1
- package/dist-server/server/providers/gemini/status.js +0 -104
- package/dist-server/server/providers/gemini/status.js.map +0 -1
- package/dist-server/server/providers/registry.js +0 -58
- package/dist-server/server/providers/registry.js.map +0 -1
- package/dist-server/server/providers/types.js +0 -117
- package/dist-server/server/providers/types.js.map +0 -1
- package/dist-server/server/providers/utils.js +0 -28
- package/dist-server/server/providers/utils.js.map +0 -1
- package/dist-server/server/routes/cli-auth.js +0 -25
- package/dist-server/server/routes/cli-auth.js.map +0 -1
- package/dist-server/server/routes/codex.js +0 -294
- package/dist-server/server/routes/codex.js.map +0 -1
- package/dist-server/server/routes/mcp.js +0 -480
- package/dist-server/server/routes/mcp.js.map +0 -1
- package/dist-server/server/routes/messages.js +0 -56
- package/dist-server/server/routes/messages.js.map +0 -1
- package/dist-server/server/routes/projects.js +0 -505
- package/dist-server/server/routes/projects.js.map +0 -1
- package/server/database/db.js +0 -593
- package/server/database/schema.js +0 -102
- package/server/projects.js +0 -2555
- package/server/providers/claude/adapter.js +0 -278
- package/server/providers/claude/status.js +0 -136
- package/server/providers/codex/adapter.js +0 -248
- package/server/providers/codex/status.js +0 -78
- package/server/providers/cursor/adapter.js +0 -348
- package/server/providers/cursor/status.js +0 -128
- package/server/providers/gemini/adapter.js +0 -186
- package/server/providers/gemini/status.js +0 -111
- package/server/providers/registry.js +0 -67
- package/server/providers/types.js +0 -132
- package/server/providers/utils.js +0 -29
- package/server/routes/cli-auth.js +0 -27
- package/server/routes/codex.js +0 -329
- package/server/routes/mcp.js +0 -552
- package/server/routes/messages.js +0 -61
- package/server/routes/projects.js +0 -548
package/server/routes/git.js
CHANGED
|
@@ -2,7 +2,7 @@ import express from 'express';
|
|
|
2
2
|
import { spawn } from 'child_process';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { promises as fs } from 'fs';
|
|
5
|
-
import {
|
|
5
|
+
import { projectsDb } from '../modules/database/index.js';
|
|
6
6
|
import { queryClaudeSDK } from '../claude-sdk.js';
|
|
7
7
|
import { spawnCursor } from '../cursor-cli.js';
|
|
8
8
|
|
|
@@ -101,14 +101,19 @@ function validateProjectPath(projectPath) {
|
|
|
101
101
|
return resolved;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
104
|
+
/**
|
|
105
|
+
* Resolve the absolute project directory for a given DB `projectId`.
|
|
106
|
+
*
|
|
107
|
+
* After the projectName → projectId migration, every git endpoint receives
|
|
108
|
+
* the DB primary key (`project` query/body param). The legacy filesystem
|
|
109
|
+
* resolver that walked Claude's JSONL history is no longer used here; the
|
|
110
|
+
* path comes straight from the `projects` table and is then sanity-checked
|
|
111
|
+
* by `validateProjectPath` before any `git` command runs against it.
|
|
112
|
+
*/
|
|
113
|
+
async function getActualProjectPath(projectId) {
|
|
114
|
+
const projectPath = await projectsDb.getProjectPathById(projectId);
|
|
115
|
+
if (!projectPath) {
|
|
116
|
+
throw new Error(`Unable to resolve project path for "${projectId}"`);
|
|
112
117
|
}
|
|
113
118
|
return validateProjectPath(projectPath);
|
|
114
119
|
}
|
|
@@ -292,7 +297,7 @@ router.get('/status', async (req, res) => {
|
|
|
292
297
|
const { project } = req.query;
|
|
293
298
|
|
|
294
299
|
if (!project) {
|
|
295
|
-
return res.status(400).json({ error: 'Project
|
|
300
|
+
return res.status(400).json({ error: 'Project id is required' });
|
|
296
301
|
}
|
|
297
302
|
|
|
298
303
|
try {
|
|
@@ -355,7 +360,7 @@ router.get('/diff', async (req, res) => {
|
|
|
355
360
|
const { project, file } = req.query;
|
|
356
361
|
|
|
357
362
|
if (!project || !file) {
|
|
358
|
-
return res.status(400).json({ error: 'Project
|
|
363
|
+
return res.status(400).json({ error: 'Project id and file path are required' });
|
|
359
364
|
}
|
|
360
365
|
|
|
361
366
|
try {
|
|
@@ -438,7 +443,7 @@ router.get('/file-with-diff', async (req, res) => {
|
|
|
438
443
|
const { project, file } = req.query;
|
|
439
444
|
|
|
440
445
|
if (!project || !file) {
|
|
441
|
-
return res.status(400).json({ error: 'Project
|
|
446
|
+
return res.status(400).json({ error: 'Project id and file path are required' });
|
|
442
447
|
}
|
|
443
448
|
|
|
444
449
|
try {
|
|
@@ -518,7 +523,7 @@ router.post('/initial-commit', async (req, res) => {
|
|
|
518
523
|
const { project } = req.body;
|
|
519
524
|
|
|
520
525
|
if (!project) {
|
|
521
|
-
return res.status(400).json({ error: 'Project
|
|
526
|
+
return res.status(400).json({ error: 'Project id is required' });
|
|
522
527
|
}
|
|
523
528
|
|
|
524
529
|
try {
|
|
@@ -593,7 +598,7 @@ router.post('/revert-local-commit', async (req, res) => {
|
|
|
593
598
|
const { project } = req.body;
|
|
594
599
|
|
|
595
600
|
if (!project) {
|
|
596
|
-
return res.status(400).json({ error: 'Project
|
|
601
|
+
return res.status(400).json({ error: 'Project id is required' });
|
|
597
602
|
}
|
|
598
603
|
|
|
599
604
|
try {
|
|
@@ -640,7 +645,7 @@ router.get('/branches', async (req, res) => {
|
|
|
640
645
|
const { project } = req.query;
|
|
641
646
|
|
|
642
647
|
if (!project) {
|
|
643
|
-
return res.status(400).json({ error: 'Project
|
|
648
|
+
return res.status(400).json({ error: 'Project id is required' });
|
|
644
649
|
}
|
|
645
650
|
|
|
646
651
|
try {
|
|
@@ -684,7 +689,7 @@ router.post('/checkout', async (req, res) => {
|
|
|
684
689
|
const { project, branch } = req.body;
|
|
685
690
|
|
|
686
691
|
if (!project || !branch) {
|
|
687
|
-
return res.status(400).json({ error: 'Project
|
|
692
|
+
return res.status(400).json({ error: 'Project id and branch are required' });
|
|
688
693
|
}
|
|
689
694
|
|
|
690
695
|
try {
|
|
@@ -706,7 +711,7 @@ router.post('/create-branch', async (req, res) => {
|
|
|
706
711
|
const { project, branch } = req.body;
|
|
707
712
|
|
|
708
713
|
if (!project || !branch) {
|
|
709
|
-
return res.status(400).json({ error: 'Project
|
|
714
|
+
return res.status(400).json({ error: 'Project id and branch name are required' });
|
|
710
715
|
}
|
|
711
716
|
|
|
712
717
|
try {
|
|
@@ -728,7 +733,7 @@ router.post('/delete-branch', async (req, res) => {
|
|
|
728
733
|
const { project, branch } = req.body;
|
|
729
734
|
|
|
730
735
|
if (!project || !branch) {
|
|
731
|
-
return res.status(400).json({ error: 'Project
|
|
736
|
+
return res.status(400).json({ error: 'Project id and branch name are required' });
|
|
732
737
|
}
|
|
733
738
|
|
|
734
739
|
try {
|
|
@@ -754,7 +759,7 @@ router.get('/commits', async (req, res) => {
|
|
|
754
759
|
const { project, limit = 10 } = req.query;
|
|
755
760
|
|
|
756
761
|
if (!project) {
|
|
757
|
-
return res.status(400).json({ error: 'Project
|
|
762
|
+
return res.status(400).json({ error: 'Project id is required' });
|
|
758
763
|
}
|
|
759
764
|
|
|
760
765
|
try {
|
|
@@ -811,7 +816,7 @@ router.get('/commit-diff', async (req, res) => {
|
|
|
811
816
|
const { project, commit } = req.query;
|
|
812
817
|
|
|
813
818
|
if (!project || !commit) {
|
|
814
|
-
return res.status(400).json({ error: 'Project
|
|
819
|
+
return res.status(400).json({ error: 'Project id and commit hash are required' });
|
|
815
820
|
}
|
|
816
821
|
|
|
817
822
|
try {
|
|
@@ -843,7 +848,7 @@ router.post('/generate-commit-message', async (req, res) => {
|
|
|
843
848
|
const { project, files, provider = 'claude' } = req.body;
|
|
844
849
|
|
|
845
850
|
if (!project || !files || files.length === 0) {
|
|
846
|
-
return res.status(400).json({ error: 'Project
|
|
851
|
+
return res.status(400).json({ error: 'Project id and files are required' });
|
|
847
852
|
}
|
|
848
853
|
|
|
849
854
|
// Validate provider
|
|
@@ -1048,7 +1053,7 @@ router.get('/remote-status', async (req, res) => {
|
|
|
1048
1053
|
const { project } = req.query;
|
|
1049
1054
|
|
|
1050
1055
|
if (!project) {
|
|
1051
|
-
return res.status(400).json({ error: 'Project
|
|
1056
|
+
return res.status(400).json({ error: 'Project id is required' });
|
|
1052
1057
|
}
|
|
1053
1058
|
|
|
1054
1059
|
try {
|
|
@@ -1126,7 +1131,7 @@ router.post('/fetch', async (req, res) => {
|
|
|
1126
1131
|
const { project } = req.body;
|
|
1127
1132
|
|
|
1128
1133
|
if (!project) {
|
|
1129
|
-
return res.status(400).json({ error: 'Project
|
|
1134
|
+
return res.status(400).json({ error: 'Project id is required' });
|
|
1130
1135
|
}
|
|
1131
1136
|
|
|
1132
1137
|
try {
|
|
@@ -1167,7 +1172,7 @@ router.post('/pull', async (req, res) => {
|
|
|
1167
1172
|
const { project } = req.body;
|
|
1168
1173
|
|
|
1169
1174
|
if (!project) {
|
|
1170
|
-
return res.status(400).json({ error: 'Project
|
|
1175
|
+
return res.status(400).json({ error: 'Project id is required' });
|
|
1171
1176
|
}
|
|
1172
1177
|
|
|
1173
1178
|
try {
|
|
@@ -1235,7 +1240,7 @@ router.post('/push', async (req, res) => {
|
|
|
1235
1240
|
const { project } = req.body;
|
|
1236
1241
|
|
|
1237
1242
|
if (!project) {
|
|
1238
|
-
return res.status(400).json({ error: 'Project
|
|
1243
|
+
return res.status(400).json({ error: 'Project id is required' });
|
|
1239
1244
|
}
|
|
1240
1245
|
|
|
1241
1246
|
try {
|
|
@@ -1306,7 +1311,7 @@ router.post('/publish', async (req, res) => {
|
|
|
1306
1311
|
const { project, branch } = req.body;
|
|
1307
1312
|
|
|
1308
1313
|
if (!project || !branch) {
|
|
1309
|
-
return res.status(400).json({ error: 'Project
|
|
1314
|
+
return res.status(400).json({ error: 'Project id and branch are required' });
|
|
1310
1315
|
}
|
|
1311
1316
|
|
|
1312
1317
|
try {
|
|
@@ -1385,7 +1390,7 @@ router.post('/discard', async (req, res) => {
|
|
|
1385
1390
|
const { project, file } = req.body;
|
|
1386
1391
|
|
|
1387
1392
|
if (!project || !file) {
|
|
1388
|
-
return res.status(400).json({ error: 'Project
|
|
1393
|
+
return res.status(400).json({ error: 'Project id and file path are required' });
|
|
1389
1394
|
}
|
|
1390
1395
|
|
|
1391
1396
|
try {
|
|
@@ -1439,7 +1444,7 @@ router.post('/delete-untracked', async (req, res) => {
|
|
|
1439
1444
|
const { project, file } = req.body;
|
|
1440
1445
|
|
|
1441
1446
|
if (!project || !file) {
|
|
1442
|
-
return res.status(400).json({ error: 'Project
|
|
1447
|
+
return res.status(400).json({ error: 'Project id and file path are required' });
|
|
1443
1448
|
}
|
|
1444
1449
|
|
|
1445
1450
|
try {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import express from 'express';
|
|
10
|
-
import { detectTaskMasterMCPServer
|
|
10
|
+
import { detectTaskMasterMCPServer } from '../utils/mcp-detector.js';
|
|
11
11
|
|
|
12
12
|
const router = express.Router();
|
|
13
13
|
|
|
@@ -28,21 +28,4 @@ router.get('/taskmaster-server', async (req, res) => {
|
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
* GET /api/mcp-utils/all-servers
|
|
33
|
-
* Get all configured MCP servers
|
|
34
|
-
*/
|
|
35
|
-
router.get('/all-servers', async (req, res) => {
|
|
36
|
-
try {
|
|
37
|
-
const result = await getAllMCPServers();
|
|
38
|
-
res.json(result);
|
|
39
|
-
} catch (error) {
|
|
40
|
-
console.error('MCP servers detection error:', error);
|
|
41
|
-
res.status(500).json({
|
|
42
|
-
error: 'Failed to get MCP servers',
|
|
43
|
-
message: error.message
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
export default router;
|
|
31
|
+
export default router;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
|
-
import { apiKeysDb, credentialsDb, notificationPreferencesDb, pushSubscriptionsDb } from '../database/
|
|
2
|
+
import { apiKeysDb, credentialsDb, notificationPreferencesDb, pushSubscriptionsDb } from '../modules/database/index.js';
|
|
3
3
|
import { getPublicKey } from '../services/vapid-keys.js';
|
|
4
4
|
import { createNotificationEvent, notifyUserIfEnabled } from '../services/notification-orchestrator.js';
|
|
5
5
|
|
|
@@ -273,4 +273,14 @@ router.post('/push/unsubscribe', async (req, res) => {
|
|
|
273
273
|
}
|
|
274
274
|
});
|
|
275
275
|
|
|
276
|
+
// Host OS for UI (e.g. hide Cursor agent when the backend runs on Windows).
|
|
277
|
+
router.get('/server-env', async (req, res) => {
|
|
278
|
+
try {
|
|
279
|
+
res.json({ platform: process.platform });
|
|
280
|
+
} catch (error) {
|
|
281
|
+
console.error('Error reading server environment:', error);
|
|
282
|
+
res.status(500).json({ error: 'Failed to read server environment' });
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
|
|
276
286
|
export default router;
|