@cloudcli-ai/cloudcli 1.30.0 → 1.31.1
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 +1 -1
- package/dist/assets/index-B37ufcoi.js +1262 -0
- package/dist/assets/{index-DI22MZMb.css → index-DF8TTVHl.css} +1 -1
- package/dist/index.html +2 -2
- package/dist-server/server/index.js +115 -955
- 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-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 +144 -7
- package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude.provider.js +2 -0
- package/dist-server/server/modules/providers/list/claude/claude.provider.js.map +1 -1
- 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 +225 -13
- package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex.provider.js +2 -0
- package/dist-server/server/modules/providers/list/codex/codex.provider.js.map +1 -1
- 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.provider.js +2 -0
- package/dist-server/server/modules/providers/list/cursor/cursor.provider.js.map +1 -1
- 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 +277 -10
- package/dist-server/server/modules/providers/list/gemini/gemini-sessions.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/gemini/gemini.provider.js +2 -0
- package/dist-server/server/modules/providers/list/gemini/gemini.provider.js.map +1 -1
- package/dist-server/server/modules/providers/provider.routes.js +172 -0
- package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
- 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 +78 -3
- package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -1
- package/dist-server/server/modules/providers/shared/base/abstract.provider.js.map +1 -1
- 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/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 -1
- package/dist-server/server/routes/commands.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/settings.js +1 -1
- package/dist-server/server/routes/settings.js.map +1 -1
- package/dist-server/server/routes/taskmaster.js +97 -110
- 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/types.js +0 -1
- package/dist-server/server/shared/types.js.map +1 -1
- package/dist-server/server/shared/utils.js +408 -7
- package/dist-server/server/shared/utils.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 +2 -1
- package/dist-server/shared/modelConstants.js.map +1 -1
- package/package.json +3 -1
- package/server/index.js +146 -1012
- 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-session-synchronizer.provider.ts +110 -0
- package/server/modules/providers/list/claude/claude-sessions.provider.ts +182 -13
- package/server/modules/providers/list/claude/claude.provider.ts +3 -1
- package/server/modules/providers/list/codex/codex-session-synchronizer.provider.ts +119 -0
- package/server/modules/providers/list/codex/codex-sessions.provider.ts +262 -17
- package/server/modules/providers/list/codex/codex.provider.ts +3 -1
- package/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.ts +176 -0
- package/server/modules/providers/list/cursor/cursor.provider.ts +3 -1
- package/server/modules/providers/list/gemini/gemini-session-synchronizer.provider.ts +401 -0
- package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +327 -13
- package/server/modules/providers/list/gemini/gemini.provider.ts +3 -1
- package/server/modules/providers/provider.routes.ts +220 -12
- 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 +89 -4
- package/server/modules/providers/shared/base/abstract.provider.ts +8 -1
- 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/routes/agent.js +11 -16
- package/server/routes/auth.js +4 -2
- package/server/routes/commands.js +1 -1
- package/server/routes/gemini.js +3 -2
- package/server/routes/git.js +33 -28
- package/server/routes/settings.js +1 -1
- package/server/routes/taskmaster.js +108 -111
- 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 +39 -1
- package/server/shared/types.ts +185 -30
- package/server/shared/utils.ts +485 -9
- package/server/utils/taskmaster-websocket.js +19 -13
- package/shared/modelConstants.js +2 -1
- package/dist/assets/index-RX-W_g_Q.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/routes/codex.js +0 -18
- package/dist-server/server/routes/codex.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/routes/codex.js +0 -19
- package/server/routes/messages.js +0 -61
- package/server/routes/projects.js +0 -548
|
@@ -320,7 +320,7 @@ Custom commands can be created in:
|
|
|
320
320
|
packageName,
|
|
321
321
|
uptime: uptimeFormatted,
|
|
322
322
|
uptimeSeconds: Math.floor(uptime),
|
|
323
|
-
model: context?.model ||
|
|
323
|
+
model: context?.model || CLAUDE_MODELS.DEFAULT,
|
|
324
324
|
provider: context?.provider || 'claude',
|
|
325
325
|
nodeVersion: process.version,
|
|
326
326
|
platform: process.platform
|
package/server/routes/gemini.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
|
+
|
|
2
3
|
import sessionManager from '../sessionManager.js';
|
|
3
|
-
import {
|
|
4
|
+
import { sessionsDb } from '../modules/database/index.js';
|
|
4
5
|
|
|
5
6
|
const router = express.Router();
|
|
6
7
|
|
|
@@ -13,7 +14,7 @@ router.delete('/sessions/:sessionId', async (req, res) => {
|
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
await sessionManager.deleteSession(sessionId);
|
|
16
|
-
|
|
17
|
+
sessionsDb.deleteSessionById(sessionId);
|
|
17
18
|
res.json({ success: true });
|
|
18
19
|
} catch (error) {
|
|
19
20
|
console.error(`Error deleting Gemini session ${req.params.sessionId}:`, error);
|
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 {
|
|
@@ -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
|
|