crewly 1.0.4 → 1.0.5
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/config/roles/orchestrator/prompt.md +49 -1
- package/dist/backend/backend/src/controllers/messaging/delivery-logs.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/delivery-logs.controller.js +4 -2
- package/dist/backend/backend/src/controllers/messaging/delivery-logs.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/scheduled-messages.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/scheduled-messages.controller.js +10 -8
- package/dist/backend/backend/src/controllers/messaging/scheduled-messages.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +28 -26
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project/git.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project/git.controller.js +9 -7
- package/dist/backend/backend/src/controllers/project/git.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project/project.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project/project.controller.js +52 -50
- package/dist/backend/backend/src/controllers/project/project.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/skill/skill.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/skill/skill.controller.js +3 -1
- package/dist/backend/backend/src/controllers/skill/skill.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack-thread.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack-thread.controller.js +3 -1
- package/dist/backend/backend/src/controllers/slack/slack-thread.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/config.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/config.controller.js +3 -1
- package/dist/backend/backend/src/controllers/system/config.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/errors.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/errors.controller.js +7 -5
- package/dist/backend/backend/src/controllers/system/errors.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js +6 -4
- package/dist/backend/backend/src/controllers/system/scheduler.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/system.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/system.controller.js +20 -19
- package/dist/backend/backend/src/controllers/system/system.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.js +4 -2
- package/dist/backend/backend/src/controllers/task-management/assignments.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js +3 -1
- package/dist/backend/backend/src/controllers/task-management/in-progress-tasks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +30 -28
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.js +7 -5
- package/dist/backend/backend/src/controllers/task-management/tasks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/tickets.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/tickets.controller.js +12 -10
- package/dist/backend/backend/src/controllers/task-management/tickets.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +44 -42
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +5 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/factory.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/factory.routes.js +4 -2
- package/dist/backend/backend/src/routes/factory.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +6 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +17 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/context-loader.service.d.ts +1 -0
- package/dist/backend/backend/src/services/ai/context-loader.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/context-loader.service.js +9 -7
- package/dist/backend/backend/src/services/ai/context-loader.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-template.service.d.ts +1 -0
- package/dist/backend/backend/src/services/ai/prompt-template.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-template.service.js +7 -5
- package/dist/backend/backend/src/services/ai/prompt-template.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/config.service.d.ts +6 -0
- package/dist/backend/backend/src/services/core/config.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/config.service.js +25 -5
- package/dist/backend/backend/src/services/core/config.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.js +20 -20
- package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts +1 -0
- package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js +12 -10
- package/dist/backend/backend/src/services/monitoring/team-activity-websocket.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/improvement-startup.service.d.ts +1 -0
- package/dist/backend/backend/src/services/orchestrator/improvement-startup.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/improvement-startup.service.js +22 -20
- package/dist/backend/backend/src/services/orchestrator/improvement-startup.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/safe-restart.service.d.ts +1 -0
- package/dist/backend/backend/src/services/orchestrator/safe-restart.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/safe-restart.service.js +25 -23
- package/dist/backend/backend/src/services/orchestrator/safe-restart.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/self-improvement.service.d.ts +1 -0
- package/dist/backend/backend/src/services/orchestrator/self-improvement.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/self-improvement.service.js +12 -10
- package/dist/backend/backend/src/services/orchestrator/self-improvement.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/slack-bridge-lazy.d.ts +17 -0
- package/dist/backend/backend/src/services/orchestrator/slack-bridge-lazy.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/slack-bridge-lazy.js +30 -0
- package/dist/backend/backend/src/services/orchestrator/slack-bridge-lazy.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts +1 -0
- package/dist/backend/backend/src/services/orchestrator/state-persistence.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js +14 -12
- package/dist/backend/backend/src/services/orchestrator/state-persistence.service.js.map +1 -1
- package/dist/backend/backend/src/services/project/active-projects.service.d.ts +1 -0
- package/dist/backend/backend/src/services/project/active-projects.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project/active-projects.service.js +8 -6
- package/dist/backend/backend/src/services/project/active-projects.service.js.map +1 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +1 -0
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.js +18 -16
- package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
- package/dist/backend/backend/src/services/project/ticket-editor.service.d.ts +1 -0
- package/dist/backend/backend/src/services/project/ticket-editor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project/ticket-editor.service.js +6 -4
- package/dist/backend/backend/src/services/project/ticket-editor.service.js.map +1 -1
- package/dist/backend/backend/src/services/settings/role.service.d.ts +1 -0
- package/dist/backend/backend/src/services/settings/role.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/settings/role.service.js +3 -1
- package/dist/backend/backend/src/services/settings/role.service.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts +1 -0
- package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill-executor.service.js +4 -2
- package/dist/backend/backend/src/services/skill/skill-executor.service.js.map +1 -1
- package/dist/backend/backend/src/services/skill/skill.service.d.ts +1 -0
- package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/skill/skill.service.js +7 -5
- package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-image.service.d.ts +1 -0
- package/dist/backend/backend/src/services/slack/slack-image.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-image.service.js +6 -4
- package/dist/backend/backend/src/services/slack/slack-image.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +7 -5
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +1 -0
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +25 -20
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts +1 -0
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +19 -15
- package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/backend/backend/src/utils/process-recovery.d.ts +1 -0
- package/dist/backend/backend/src/utils/process-recovery.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/process-recovery.js +40 -37
- package/dist/backend/backend/src/utils/process-recovery.js.map +1 -1
- package/dist/backend/backend/src/utils/prompt-resolver.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/prompt-resolver.js +3 -1
- package/dist/backend/backend/src/utils/prompt-resolver.js.map +1 -1
- package/dist/backend/backend/src/utils/resource-monitor.d.ts +2 -1
- package/dist/backend/backend/src/utils/resource-monitor.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/resource-monitor.js +34 -24
- package/dist/backend/backend/src/utils/resource-monitor.js.map +1 -1
- package/frontend/dist/assets/{index-959a77b6.js → index-419da091.js} +1 -1
- package/frontend/dist/assets/index-5adb4dff.css +33 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +2 -1
- package/frontend/dist/assets/index-c1dd0b10.css +0 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/project/git.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"git.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/project/git.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/project/project.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"project.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/project/project.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ import { ProjectModel } from '../../models/index.js';
|
|
|
6
6
|
import { ContextLoaderService } from '../../services/index.js';
|
|
7
7
|
import { getFileIcon, countFiles } from '../utils/file-utils.js';
|
|
8
8
|
import { CREWLY_CONSTANTS } from '../../constants.js';
|
|
9
|
+
import { LoggerService } from '../../services/core/logger.service.js';
|
|
10
|
+
const logger = LoggerService.getInstance().createComponentLogger('ProjectController');
|
|
9
11
|
const execAsync = promisify(exec);
|
|
10
12
|
// Project Management
|
|
11
13
|
export async function createProject(req, res) {
|
|
@@ -41,7 +43,7 @@ export async function createProject(req, res) {
|
|
|
41
43
|
const isGeminiOrchestrator = orchestratorStatus?.runtimeType === 'gemini-cli';
|
|
42
44
|
const isOrchestratorActive = orchestratorStatus?.agentStatus === CREWLY_CONSTANTS.AGENT_STATUSES.ACTIVE;
|
|
43
45
|
if (isGeminiOrchestrator && isOrchestratorActive) {
|
|
44
|
-
|
|
46
|
+
logger.info('Orchestrator is running with Gemini CLI, adding new project to allowlist', {
|
|
45
47
|
projectPath: finalProject.path,
|
|
46
48
|
projectName: finalProject.name,
|
|
47
49
|
});
|
|
@@ -54,19 +56,19 @@ export async function createProject(req, res) {
|
|
|
54
56
|
// Type assertion needed because RuntimeServiceFactory returns base interface
|
|
55
57
|
const geminiServiceWithAllowlist = geminiService;
|
|
56
58
|
const allowlistResult = await geminiServiceWithAllowlist.addProjectToAllowlist(ORCHESTRATOR_SESSION_NAME, finalProject.path);
|
|
57
|
-
|
|
59
|
+
logger.info('Gemini CLI allowlist update result for new project', {
|
|
58
60
|
projectPath: finalProject.path,
|
|
59
61
|
success: allowlistResult.success,
|
|
60
62
|
message: allowlistResult.message,
|
|
61
63
|
});
|
|
62
64
|
}
|
|
63
65
|
else if (isGeminiOrchestrator && !isOrchestratorActive) {
|
|
64
|
-
|
|
66
|
+
logger.info('Orchestrator uses Gemini CLI but is not active, project allowlist will be updated when orchestrator starts');
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
catch (error) {
|
|
68
70
|
// Log error but continue - as per requirement, don't fail project creation
|
|
69
|
-
|
|
71
|
+
logger.warn('Failed to add new project to Gemini CLI allowlist (continuing anyway)', {
|
|
70
72
|
projectPath: finalProject.path,
|
|
71
73
|
error: error instanceof Error ? error.message : String(error),
|
|
72
74
|
});
|
|
@@ -78,7 +80,7 @@ export async function createProject(req, res) {
|
|
|
78
80
|
});
|
|
79
81
|
}
|
|
80
82
|
catch (error) {
|
|
81
|
-
|
|
83
|
+
logger.error('Error creating project', { error: error instanceof Error ? error.message : String(error) });
|
|
82
84
|
res.status(500).json({ success: false, error: 'Failed to create project' });
|
|
83
85
|
}
|
|
84
86
|
}
|
|
@@ -88,7 +90,7 @@ export async function getProjects(req, res) {
|
|
|
88
90
|
res.json({ success: true, data: projects });
|
|
89
91
|
}
|
|
90
92
|
catch (error) {
|
|
91
|
-
|
|
93
|
+
logger.error('Error getting projects', { error: error instanceof Error ? error.message : String(error) });
|
|
92
94
|
res.status(500).json({
|
|
93
95
|
success: false,
|
|
94
96
|
error: 'Failed to retrieve projects',
|
|
@@ -107,7 +109,7 @@ export async function getProject(req, res) {
|
|
|
107
109
|
res.json({ success: true, data: project });
|
|
108
110
|
}
|
|
109
111
|
catch (error) {
|
|
110
|
-
|
|
112
|
+
logger.error('Error getting project', { error: error instanceof Error ? error.message : String(error) });
|
|
111
113
|
res.status(500).json({
|
|
112
114
|
success: false,
|
|
113
115
|
error: 'Failed to retrieve project',
|
|
@@ -136,7 +138,7 @@ export async function getProjectStatus(req, res) {
|
|
|
136
138
|
});
|
|
137
139
|
}
|
|
138
140
|
catch (error) {
|
|
139
|
-
|
|
141
|
+
logger.error('Error getting project status', { error: error instanceof Error ? error.message : String(error) });
|
|
140
142
|
res.status(500).json({
|
|
141
143
|
success: false,
|
|
142
144
|
error: 'Failed to get project status',
|
|
@@ -223,7 +225,7 @@ export async function startProject(req, res) {
|
|
|
223
225
|
project.scheduledMessageId = checkinScheduleId;
|
|
224
226
|
}
|
|
225
227
|
catch (e) {
|
|
226
|
-
|
|
228
|
+
logger.warn('Failed to create check-in scheduled message', { error: e instanceof Error ? e.message : String(e) });
|
|
227
229
|
}
|
|
228
230
|
}
|
|
229
231
|
await this.storageService.saveProject(project);
|
|
@@ -232,7 +234,7 @@ export async function startProject(req, res) {
|
|
|
232
234
|
scheduleInfo = await this.activeProjectsService.startProject(id, this.messageSchedulerService);
|
|
233
235
|
}
|
|
234
236
|
catch (e) {
|
|
235
|
-
|
|
237
|
+
logger.warn('Failed to start project lifecycle management', { error: e instanceof Error ? e.message : String(e) });
|
|
236
238
|
}
|
|
237
239
|
res.json({
|
|
238
240
|
success: true,
|
|
@@ -248,7 +250,7 @@ export async function startProject(req, res) {
|
|
|
248
250
|
});
|
|
249
251
|
}
|
|
250
252
|
catch (error) {
|
|
251
|
-
|
|
253
|
+
logger.error('Error starting project', { error: error instanceof Error ? error.message : String(error) });
|
|
252
254
|
res.status(500).json({ success: false, error: 'Failed to start project' });
|
|
253
255
|
}
|
|
254
256
|
}
|
|
@@ -266,15 +268,15 @@ export async function stopProject(req, res) {
|
|
|
266
268
|
this.cleanupProjectScheduledMessages(id) :
|
|
267
269
|
cleanupProjectScheduledMessages.call(this, id));
|
|
268
270
|
if (cleanupResult.errors.length > 0) {
|
|
269
|
-
|
|
271
|
+
logger.warn('Errors occurred during message cleanup', { errorCount: cleanupResult.errors.length, errors: cleanupResult.errors });
|
|
270
272
|
}
|
|
271
|
-
|
|
273
|
+
logger.info('Successfully cleaned up scheduled messages for project', { cancelled: cleanupResult.cancelled, found: cleanupResult.found, projectId: id });
|
|
272
274
|
project.scheduledMessageId = undefined; // Clear the schedule ID
|
|
273
275
|
try {
|
|
274
276
|
await this.activeProjectsService.stopProject(id, this.messageSchedulerService);
|
|
275
277
|
}
|
|
276
278
|
catch (e) {
|
|
277
|
-
|
|
279
|
+
logger.warn('Failed to stop project lifecycle management', { error: e instanceof Error ? e.message : String(e) });
|
|
278
280
|
}
|
|
279
281
|
project.status = 'stopped';
|
|
280
282
|
await this.storageService.saveProject(project);
|
|
@@ -285,7 +287,7 @@ export async function stopProject(req, res) {
|
|
|
285
287
|
});
|
|
286
288
|
}
|
|
287
289
|
catch (error) {
|
|
288
|
-
|
|
290
|
+
logger.error('Error stopping project', { error: error instanceof Error ? error.message : String(error) });
|
|
289
291
|
res.status(500).json({ success: false, error: 'Failed to stop project' });
|
|
290
292
|
}
|
|
291
293
|
}
|
|
@@ -303,7 +305,7 @@ export async function restartProject(req, res) {
|
|
|
303
305
|
scheduleInfo = await this.activeProjectsService.restartProject(id, this.messageSchedulerService);
|
|
304
306
|
}
|
|
305
307
|
catch (e) {
|
|
306
|
-
|
|
308
|
+
logger.warn('Failed to restart project lifecycle management', { error: e instanceof Error ? e.message : String(e) });
|
|
307
309
|
}
|
|
308
310
|
project.status = 'active';
|
|
309
311
|
await this.storageService.saveProject(project);
|
|
@@ -319,7 +321,7 @@ export async function restartProject(req, res) {
|
|
|
319
321
|
});
|
|
320
322
|
}
|
|
321
323
|
catch (error) {
|
|
322
|
-
|
|
324
|
+
logger.error('Error restarting project', { error: error instanceof Error ? error.message : String(error) });
|
|
323
325
|
res.status(500).json({ success: false, error: 'Failed to restart project' });
|
|
324
326
|
}
|
|
325
327
|
}
|
|
@@ -386,7 +388,7 @@ export async function assignTeamsToProject(req, res) {
|
|
|
386
388
|
}
|
|
387
389
|
}
|
|
388
390
|
catch (notificationError) {
|
|
389
|
-
|
|
391
|
+
logger.warn('Failed to notify orchestrator about team assignment', { error: notificationError instanceof Error ? notificationError.message : String(notificationError) });
|
|
390
392
|
}
|
|
391
393
|
}
|
|
392
394
|
res.json({
|
|
@@ -396,7 +398,7 @@ export async function assignTeamsToProject(req, res) {
|
|
|
396
398
|
});
|
|
397
399
|
}
|
|
398
400
|
catch (error) {
|
|
399
|
-
|
|
401
|
+
logger.error('Error assigning teams to project', { error: error instanceof Error ? error.message : String(error) });
|
|
400
402
|
res.status(500).json({
|
|
401
403
|
success: false,
|
|
402
404
|
error: 'Failed to assign teams to project',
|
|
@@ -452,7 +454,7 @@ export async function unassignTeamFromProject(req, res) {
|
|
|
452
454
|
}
|
|
453
455
|
}
|
|
454
456
|
catch (notificationError) {
|
|
455
|
-
|
|
457
|
+
logger.warn('Failed to notify orchestrator about team unassignment', { error: notificationError instanceof Error ? notificationError.message : String(notificationError) });
|
|
456
458
|
}
|
|
457
459
|
res.json({
|
|
458
460
|
success: true,
|
|
@@ -461,7 +463,7 @@ export async function unassignTeamFromProject(req, res) {
|
|
|
461
463
|
});
|
|
462
464
|
}
|
|
463
465
|
catch (error) {
|
|
464
|
-
|
|
466
|
+
logger.error('Error unassigning team from project', { error: error instanceof Error ? error.message : String(error) });
|
|
465
467
|
res.status(500).json({
|
|
466
468
|
success: false,
|
|
467
469
|
error: 'Failed to unassign team from project',
|
|
@@ -564,7 +566,7 @@ export async function getProjectFiles(req, res) {
|
|
|
564
566
|
});
|
|
565
567
|
}
|
|
566
568
|
catch (error) {
|
|
567
|
-
|
|
569
|
+
logger.error('Error getting project files', { error: error instanceof Error ? error.message : String(error) });
|
|
568
570
|
res.status(500).json({
|
|
569
571
|
success: false,
|
|
570
572
|
error: 'Failed to get project files',
|
|
@@ -625,7 +627,7 @@ export async function getFileContent(req, res) {
|
|
|
625
627
|
}
|
|
626
628
|
}
|
|
627
629
|
catch (error) {
|
|
628
|
-
|
|
630
|
+
logger.error('Error reading file content', { error: error instanceof Error ? error.message : String(error) });
|
|
629
631
|
res.status(500).json({
|
|
630
632
|
success: false,
|
|
631
633
|
error: 'Failed to read file content',
|
|
@@ -669,7 +671,7 @@ export async function getAgentmuxMarkdownFiles(req, res) {
|
|
|
669
671
|
res.json({ success: true, data: { files } });
|
|
670
672
|
}
|
|
671
673
|
catch (error) {
|
|
672
|
-
|
|
674
|
+
logger.error('Error scanning .crewly files', { error: error instanceof Error ? error.message : String(error) });
|
|
673
675
|
res.status(500).json({
|
|
674
676
|
success: false,
|
|
675
677
|
error: 'Failed to scan .crewly files',
|
|
@@ -701,7 +703,7 @@ export async function saveMarkdownFile(req, res) {
|
|
|
701
703
|
res.json({ success: true, message: 'File saved successfully' });
|
|
702
704
|
}
|
|
703
705
|
catch (error) {
|
|
704
|
-
|
|
706
|
+
logger.error('Error saving markdown file', { error: error instanceof Error ? error.message : String(error) });
|
|
705
707
|
res.status(500).json({ success: false, error: 'Failed to save file' });
|
|
706
708
|
}
|
|
707
709
|
}
|
|
@@ -728,7 +730,7 @@ export async function getProjectCompletion(req, res) {
|
|
|
728
730
|
});
|
|
729
731
|
}
|
|
730
732
|
catch (error) {
|
|
731
|
-
|
|
733
|
+
logger.error('Error getting project completion', { error: error instanceof Error ? error.message : String(error) });
|
|
732
734
|
res.status(500).json({
|
|
733
735
|
success: false,
|
|
734
736
|
error: 'Failed to get project completion',
|
|
@@ -749,9 +751,9 @@ export async function deleteProject(req, res) {
|
|
|
749
751
|
this.cleanupProjectScheduledMessages(id) :
|
|
750
752
|
cleanupProjectScheduledMessages.call(this, id));
|
|
751
753
|
if (cleanupResult.errors.length > 0) {
|
|
752
|
-
|
|
754
|
+
logger.warn('Errors occurred during message cleanup before deletion', { errorCount: cleanupResult.errors.length, errors: cleanupResult.errors });
|
|
753
755
|
}
|
|
754
|
-
|
|
756
|
+
logger.info('Successfully cleaned up scheduled messages before deleting project', { cancelled: cleanupResult.cancelled, found: cleanupResult.found, projectId: id });
|
|
755
757
|
const teams = await this.storageService.getTeams();
|
|
756
758
|
const activeTeams = teams.filter((t) => t.projectIds.includes(id));
|
|
757
759
|
if (activeTeams.length > 0) {
|
|
@@ -768,7 +770,7 @@ export async function deleteProject(req, res) {
|
|
|
768
770
|
});
|
|
769
771
|
}
|
|
770
772
|
catch (error) {
|
|
771
|
-
|
|
773
|
+
logger.error('Error deleting project', { error: error instanceof Error ? error.message : String(error) });
|
|
772
774
|
res.status(500).json({ success: false, error: 'Failed to delete project' });
|
|
773
775
|
}
|
|
774
776
|
}
|
|
@@ -835,7 +837,7 @@ export async function getProjectStats(req, res) {
|
|
|
835
837
|
});
|
|
836
838
|
}
|
|
837
839
|
catch (error) {
|
|
838
|
-
|
|
840
|
+
logger.error('Error getting project stats', { error: error instanceof Error ? error.message : String(error) });
|
|
839
841
|
res.status(500).json({
|
|
840
842
|
success: false,
|
|
841
843
|
error: 'Failed to get project stats',
|
|
@@ -869,12 +871,12 @@ export async function openProjectInFinder(req, res) {
|
|
|
869
871
|
res.json({ success: true, message: 'Project folder opened in Finder' });
|
|
870
872
|
}
|
|
871
873
|
catch (e) {
|
|
872
|
-
|
|
874
|
+
logger.error('Error opening Finder', { error: e instanceof Error ? e.message : String(e) });
|
|
873
875
|
res.status(500).json({ success: false, error: 'Failed to open Finder' });
|
|
874
876
|
}
|
|
875
877
|
}
|
|
876
878
|
catch (error) {
|
|
877
|
-
|
|
879
|
+
logger.error('Error opening project in Finder', { error: error instanceof Error ? error.message : String(error) });
|
|
878
880
|
res.status(500).json({
|
|
879
881
|
success: false,
|
|
880
882
|
error: 'Failed to open project in Finder',
|
|
@@ -913,7 +915,7 @@ export async function createSpecFile(req, res) {
|
|
|
913
915
|
});
|
|
914
916
|
}
|
|
915
917
|
catch (error) {
|
|
916
|
-
|
|
918
|
+
logger.error('Error creating spec file', { error: error instanceof Error ? error.message : String(error) });
|
|
917
919
|
res.status(500).json({
|
|
918
920
|
success: false,
|
|
919
921
|
error: 'Failed to create spec file',
|
|
@@ -921,7 +923,7 @@ export async function createSpecFile(req, res) {
|
|
|
921
923
|
}
|
|
922
924
|
}
|
|
923
925
|
catch (error) {
|
|
924
|
-
|
|
926
|
+
logger.error('Error creating spec file', { error: error instanceof Error ? error.message : String(error) });
|
|
925
927
|
res.status(500).json({
|
|
926
928
|
success: false,
|
|
927
929
|
error: 'Failed to create spec file',
|
|
@@ -966,7 +968,7 @@ export async function getSpecFileContent(req, res) {
|
|
|
966
968
|
}
|
|
967
969
|
}
|
|
968
970
|
catch (error) {
|
|
969
|
-
|
|
971
|
+
logger.error('Error getting spec file content', { error: error instanceof Error ? error.message : String(error) });
|
|
970
972
|
res.status(500).json({
|
|
971
973
|
success: false,
|
|
972
974
|
error: 'Failed to get spec file content',
|
|
@@ -996,7 +998,7 @@ export async function getProjectContext(req, res) {
|
|
|
996
998
|
res.json({ success: true, data: context });
|
|
997
999
|
}
|
|
998
1000
|
catch (error) {
|
|
999
|
-
|
|
1001
|
+
logger.error('Error loading project context', { error: error instanceof Error ? error.message : String(error) });
|
|
1000
1002
|
res.status(500).json({
|
|
1001
1003
|
success: false,
|
|
1002
1004
|
error: 'Failed to load project context',
|
|
@@ -1024,7 +1026,7 @@ export async function getAlignmentStatus(req, res) {
|
|
|
1024
1026
|
res.json({ success: true, data: alignmentStatus });
|
|
1025
1027
|
}
|
|
1026
1028
|
catch (error) {
|
|
1027
|
-
|
|
1029
|
+
logger.error('Error getting alignment status', { error: error instanceof Error ? error.message : String(error) });
|
|
1028
1030
|
res.status(500).json({
|
|
1029
1031
|
success: false,
|
|
1030
1032
|
error: 'Failed to get alignment status',
|
|
@@ -1045,14 +1047,14 @@ export async function continueWithMisalignment(req, res) {
|
|
|
1045
1047
|
return;
|
|
1046
1048
|
}
|
|
1047
1049
|
// Log the decision to continue with misalignment
|
|
1048
|
-
|
|
1050
|
+
logger.info('User chose to continue with misalignment for project', { projectName: project.name, projectId: id });
|
|
1049
1051
|
res.json({
|
|
1050
1052
|
success: true,
|
|
1051
1053
|
message: 'Continuing with misalignment acknowledged',
|
|
1052
1054
|
});
|
|
1053
1055
|
}
|
|
1054
1056
|
catch (error) {
|
|
1055
|
-
|
|
1057
|
+
logger.error('Error handling continue with misalignment', { error: error instanceof Error ? error.message : String(error) });
|
|
1056
1058
|
res.status(500).json({
|
|
1057
1059
|
success: false,
|
|
1058
1060
|
error: 'Failed to handle continue with misalignment',
|
|
@@ -1069,14 +1071,14 @@ export async function cleanupProjectScheduledMessages(projectId) {
|
|
|
1069
1071
|
errors: []
|
|
1070
1072
|
};
|
|
1071
1073
|
try {
|
|
1072
|
-
|
|
1074
|
+
logger.info('Starting scheduled message cleanup for project', { projectId });
|
|
1073
1075
|
// Get all scheduled messages for this project
|
|
1074
1076
|
const allMessages = await this.storageService.getScheduledMessages();
|
|
1075
1077
|
const projectMessages = allMessages.filter((msg) => msg.targetProject === projectId);
|
|
1076
1078
|
result.found = projectMessages.length;
|
|
1077
|
-
|
|
1079
|
+
logger.info('Found scheduled messages to clean up for project', { count: result.found, projectId });
|
|
1078
1080
|
if (result.found === 0) {
|
|
1079
|
-
|
|
1081
|
+
logger.info('No scheduled messages found for this project');
|
|
1080
1082
|
return result;
|
|
1081
1083
|
}
|
|
1082
1084
|
// Cancel and delete each message with individual error handling
|
|
@@ -1085,17 +1087,17 @@ export async function cleanupProjectScheduledMessages(projectId) {
|
|
|
1085
1087
|
// Cancel from scheduler if messageSchedulerService is available
|
|
1086
1088
|
if (this.messageSchedulerService) {
|
|
1087
1089
|
this.messageSchedulerService.cancelMessage(message.id);
|
|
1088
|
-
|
|
1090
|
+
logger.info('Cancelled message from scheduler', { messageName: message.name });
|
|
1089
1091
|
}
|
|
1090
1092
|
// Delete from storage
|
|
1091
1093
|
await this.storageService.deleteScheduledMessage(message.id);
|
|
1092
|
-
|
|
1094
|
+
logger.info('Deleted message from storage', { messageName: message.name });
|
|
1093
1095
|
result.cancelled++;
|
|
1094
1096
|
}
|
|
1095
1097
|
catch (msgError) {
|
|
1096
1098
|
const errorMsg = `Failed to cleanup message "${message.name}" (${message.id}): ${msgError instanceof Error ? msgError.message : 'Unknown error'}`;
|
|
1097
1099
|
result.errors.push(errorMsg);
|
|
1098
|
-
|
|
1100
|
+
logger.error(errorMsg);
|
|
1099
1101
|
// Try to at least deactivate the message if we can't delete it
|
|
1100
1102
|
try {
|
|
1101
1103
|
const deactivatedMessage = {
|
|
@@ -1104,22 +1106,22 @@ export async function cleanupProjectScheduledMessages(projectId) {
|
|
|
1104
1106
|
updatedAt: new Date().toISOString()
|
|
1105
1107
|
};
|
|
1106
1108
|
await this.storageService.saveScheduledMessage(deactivatedMessage);
|
|
1107
|
-
|
|
1109
|
+
logger.info('Deactivated message as fallback', { messageName: message.name });
|
|
1108
1110
|
}
|
|
1109
1111
|
catch (deactivateError) {
|
|
1110
|
-
|
|
1112
|
+
logger.error('Failed to deactivate message', { messageName: message.name, error: deactivateError instanceof Error ? deactivateError.message : String(deactivateError) });
|
|
1111
1113
|
}
|
|
1112
1114
|
}
|
|
1113
1115
|
}
|
|
1114
|
-
|
|
1116
|
+
logger.info('Message cleanup complete', { cancelled: result.cancelled, found: result.found });
|
|
1115
1117
|
if (result.errors.length > 0) {
|
|
1116
|
-
|
|
1118
|
+
logger.warn('Errors occurred during cleanup', { errorCount: result.errors.length });
|
|
1117
1119
|
}
|
|
1118
1120
|
}
|
|
1119
1121
|
catch (error) {
|
|
1120
1122
|
const errorMsg = `Failed to cleanup scheduled messages for project ${projectId}: ${error instanceof Error ? error.message : 'Unknown error'}`;
|
|
1121
1123
|
result.errors.push(errorMsg);
|
|
1122
|
-
|
|
1124
|
+
logger.error(errorMsg);
|
|
1123
1125
|
}
|
|
1124
1126
|
return result;
|
|
1125
1127
|
}
|