devchain-cli 0.1.1 → 0.2.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.
Files changed (77) hide show
  1. package/dist/cli.js +184 -16
  2. package/dist/drizzle/0017_agents_description.sql +1 -0
  3. package/dist/drizzle/meta/_journal.json +7 -0
  4. package/dist/server/common/filters/http-exception.filter.js +3 -0
  5. package/dist/server/common/filters/http-exception.filter.js.map +1 -1
  6. package/dist/server/common/filters/ws-exception.filter.js +1 -1
  7. package/dist/server/common/filters/ws-exception.filter.js.map +1 -1
  8. package/dist/server/main.js +18 -1
  9. package/dist/server/main.js.map +1 -1
  10. package/dist/server/modules/agents/controllers/agents.controller.js +2 -0
  11. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  12. package/dist/server/modules/epics/epics.module.js +2 -1
  13. package/dist/server/modules/epics/epics.module.js.map +1 -1
  14. package/dist/server/modules/epics/services/epics.service.d.ts +6 -1
  15. package/dist/server/modules/epics/services/epics.service.js +48 -3
  16. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  17. package/dist/server/modules/events/services/events.service.js +7 -0
  18. package/dist/server/modules/events/services/events.service.js.map +1 -1
  19. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.d.ts +3 -1
  20. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js +8 -4
  21. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
  22. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +1 -0
  23. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  24. package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +6 -2
  25. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +32 -2
  26. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +1 -1
  27. package/dist/server/modules/mcp/services/mcp.service.js +2 -0
  28. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  29. package/dist/server/modules/projects/controllers/projects.controller.d.ts +28 -1
  30. package/dist/server/modules/projects/controllers/projects.controller.js +7 -1
  31. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  32. package/dist/server/modules/projects/services/projects.service.d.ts +26 -0
  33. package/dist/server/modules/projects/services/projects.service.js +388 -119
  34. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  35. package/dist/server/modules/providers/controllers/providers.controller.d.ts +1 -0
  36. package/dist/server/modules/providers/controllers/providers.controller.js +33 -0
  37. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  38. package/dist/server/modules/sessions/services/session-coordinator.service.d.ts +4 -0
  39. package/dist/server/modules/sessions/services/session-coordinator.service.js +31 -0
  40. package/dist/server/modules/sessions/services/session-coordinator.service.js.map +1 -0
  41. package/dist/server/modules/sessions/services/sessions.service.d.ts +1 -0
  42. package/dist/server/modules/sessions/services/sessions.service.js +27 -0
  43. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  44. package/dist/server/modules/sessions/sessions.module.js +3 -2
  45. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  46. package/dist/server/modules/settings/controllers/settings.controller.d.ts +3 -0
  47. package/dist/server/modules/settings/controllers/settings.controller.js +27 -0
  48. package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
  49. package/dist/server/modules/settings/dtos/settings.dto.d.ts +13 -0
  50. package/dist/server/modules/settings/dtos/settings.dto.js +4 -0
  51. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  52. package/dist/server/modules/settings/services/settings.service.d.ts +16 -0
  53. package/dist/server/modules/settings/services/settings.service.js +74 -1
  54. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  55. package/dist/server/modules/storage/db/schema.d.ts +19 -0
  56. package/dist/server/modules/storage/db/schema.js +1 -0
  57. package/dist/server/modules/storage/db/schema.js.map +1 -1
  58. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +2 -0
  59. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  60. package/dist/server/modules/storage/local/local-storage.service.d.ts +2 -0
  61. package/dist/server/modules/storage/local/local-storage.service.js +50 -1
  62. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  63. package/dist/server/modules/storage/models/domain.models.d.ts +4 -1
  64. package/dist/server/templates/claude-opus.json +146 -0
  65. package/dist/server/templates/codex-claude.json +178 -0
  66. package/dist/server/templates/simple-codex.json +146 -0
  67. package/dist/server/tsconfig.tsbuildinfo +1 -1
  68. package/dist/server/ui/assets/index-5Xb7jFMJ.js +641 -0
  69. package/dist/server/ui/assets/index-CbYIbCQV.css +32 -0
  70. package/dist/server/ui/favicon.svg +17 -0
  71. package/dist/server/ui/index.html +3 -2
  72. package/dist/templates/claude-opus.json +146 -0
  73. package/dist/templates/codex-claude.json +178 -0
  74. package/dist/templates/simple-codex.json +20 -8
  75. package/package.json +4 -2
  76. package/dist/server/ui/assets/index-DFChYYFN.css +0 -32
  77. package/dist/server/ui/assets/index-DpXRypHy.js +0 -636
package/dist/cli.js CHANGED
@@ -10,10 +10,11 @@ const { Command } = require('commander');
10
10
  const getPort = require('get-port');
11
11
  const open = require('open');
12
12
  const { join, dirname, basename } = require('path');
13
- const { existsSync, writeFileSync, readFileSync, unlinkSync, mkdirSync } = require('fs');
13
+ const { existsSync, writeFileSync, readFileSync, unlinkSync, mkdirSync, openSync } = require('fs');
14
14
  const { homedir, platform } = require('os');
15
15
  const { spawn, execSync } = require('child_process');
16
16
  const { InteractiveCLI } = require('./lib/interactive-cli');
17
+ const readline = require('readline');
17
18
 
18
19
  async function waitForHealth(url, { timeoutMs = 15000, intervalMs = 250 } = {}) {
19
20
  const start = Date.now();
@@ -217,6 +218,61 @@ async function validateMcpForProviders(baseUrl, cli, opts, log, projectPath) {
217
218
  }
218
219
  }
219
220
 
221
+ function askYesNo(question) {
222
+ return new Promise((resolve) => {
223
+ const rl = readline.createInterface({
224
+ input: process.stdin,
225
+ output: process.stdout,
226
+ });
227
+ rl.question(`${question} [y/N] `, (answer) => {
228
+ rl.close();
229
+ resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
230
+ });
231
+ });
232
+ }
233
+
234
+ async function ensureClaudeBypassPermissions(cli) {
235
+ const claudeConfigPath = join(homedir(), '.claude.json');
236
+
237
+ // Skip if file doesn't exist
238
+ if (!existsSync(claudeConfigPath)) {
239
+ return;
240
+ }
241
+
242
+ // Try to read and parse config
243
+ let config;
244
+ try {
245
+ config = JSON.parse(readFileSync(claudeConfigPath, 'utf-8'));
246
+ } catch {
247
+ // Invalid JSON - skip silently
248
+ return;
249
+ }
250
+
251
+ // Skip silently if already enabled
252
+ if (config.bypassPermissionsModeAccepted === true) {
253
+ return;
254
+ }
255
+
256
+ // Show explanation and prompt
257
+ cli.blank();
258
+ cli.info('Claude requires permission approval for each command by default.');
259
+ cli.info('Enabling bypass mode allows devchain to auto-approve commands.');
260
+
261
+ const confirmed = await askYesNo('Enable bypass permissions mode for Claude?');
262
+
263
+ if (confirmed) {
264
+ config.bypassPermissionsModeAccepted = true;
265
+ try {
266
+ writeFileSync(claudeConfigPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
267
+ cli.success('Bypass permissions mode enabled in ~/.claude.json');
268
+ } catch (error) {
269
+ cli.warn('Failed to update ~/.claude.json - you may need to enable manually');
270
+ }
271
+ } else {
272
+ cli.info('Skipped - you can enable this later in ~/.claude.json');
273
+ }
274
+ }
275
+
220
276
  function parseDbPath(db) {
221
277
  if (!db) return {};
222
278
  // If a directory was provided, use it as DB_PATH and keep default filename
@@ -369,8 +425,8 @@ async function main(argv) {
369
425
  .command('start [args...]')
370
426
  .description('Start the Devchain local app')
371
427
  .option('-p, --port <number>', 'Port to listen on (default: 3000 or next free)')
372
- .option('-f, --foreground', 'Run in foreground with interactive output (default). Shows user-friendly startup with colors and spinners.')
373
- .option('-d, --detach', 'Run in background as a detached process. Use "devchain stop" to stop it.')
428
+ .option('-f, --foreground', 'Run in foreground (attached to terminal). Shows startup output with colors and spinners.')
429
+ .option('-d, --detach', 'Run in background as a detached process (default). Use "devchain stop" to stop it.')
374
430
  .option('--no-open', 'Do not open a browser window')
375
431
  .option('--db <path>', 'Path to database directory or file (overrides DB_PATH/DB_FILENAME)')
376
432
  .option('--project <path>', 'Initial project root path; creates project if missing')
@@ -380,6 +436,8 @@ async function main(argv) {
380
436
  'Default: "error" (clean) in interactive mode, "info" in foreground. ' +
381
437
  'Respects LOG_LEVEL env var if set.'
382
438
  )
439
+ .option('--dev', 'Development mode with hot reload (spawns nest --watch + vite)')
440
+ .option('--internal-detached-child', '[internal] Marker for detached child process')
383
441
  .action(async (args, opts) => {
384
442
  // Check if "help" was passed as an argument
385
443
  if (args && args.length > 0 && args[0] === 'help') {
@@ -390,8 +448,9 @@ async function main(argv) {
390
448
  if (typeof opts.open === 'undefined') {
391
449
  opts.open = true;
392
450
  }
393
- // Detached mode only if explicitly requested
394
- const shouldDetach = opts.detach === true;
451
+ // Detached mode by default, unless foreground is explicitly requested
452
+ // Don't detach again if we're already the detached child process
453
+ const shouldDetach = opts.foreground !== true && !opts.internalDetachedChild;
395
454
 
396
455
  // If detached mode, respawn as a background process
397
456
  if (shouldDetach) {
@@ -399,14 +458,24 @@ async function main(argv) {
399
458
  // Add internal flag to prevent infinite respawning
400
459
  args.push('--internal-detached-child');
401
460
 
461
+ // Create log file for detached process output
462
+ const devchainDir = join(homedir(), '.devchain');
463
+ if (!existsSync(devchainDir)) {
464
+ mkdirSync(devchainDir, { recursive: true });
465
+ }
466
+ const logFile = join(devchainDir, 'devchain.log');
467
+ const out = openSync(logFile, 'a');
468
+ const err = openSync(logFile, 'a');
469
+
402
470
  const child = spawn(process.execPath, [__filename, ...args], {
403
471
  detached: true,
404
- stdio: 'ignore',
472
+ stdio: ['ignore', out, err],
405
473
  });
406
474
 
407
475
  child.unref();
408
476
 
409
477
  console.log(`Devchain is starting in background (PID ${child.pid})...`);
478
+ console.log(`Log file: ${logFile}`);
410
479
  console.log('Use "devchain stop" to stop it.');
411
480
  process.exit(0);
412
481
  }
@@ -567,6 +636,108 @@ async function main(argv) {
567
636
  }
568
637
  // If LOG_LEVEL is already set in env or .env file, respect it
569
638
 
639
+ // Development mode: spawn nest --watch + vite instead of requiring built server
640
+ if (opts.dev) {
641
+ process.env.NODE_ENV = 'development';
642
+ // Show logs in dev mode (like dev:pure) unless explicitly set via --log-level
643
+ if (!opts.logLevel) {
644
+ process.env.LOG_LEVEL = 'info';
645
+ }
646
+
647
+ cli.info('Starting API (dev mode)...');
648
+ cli.blank();
649
+
650
+ // Helper to kill process group (all children)
651
+ const killProcessGroup = (proc) => {
652
+ if (!proc || !proc.pid) return;
653
+ try {
654
+ // On Unix, negative PID kills the entire process group
655
+ if (platform() !== 'win32') {
656
+ process.kill(-proc.pid, 'SIGTERM');
657
+ } else {
658
+ proc.kill('SIGTERM');
659
+ }
660
+ } catch (e) {
661
+ // Process may already be dead
662
+ }
663
+ };
664
+
665
+ // Spawn NestJS in watch mode (detached to create process group)
666
+ const nestProcess = spawn('pnpm', ['--filter', 'local-app', 'dev:api'], {
667
+ stdio: 'inherit',
668
+ env: { ...process.env, PORT: String(port) },
669
+ shell: true,
670
+ detached: platform() !== 'win32', // Create process group on Unix
671
+ });
672
+
673
+ const baseUrl = `http://${process.env.HOST}:${port}`;
674
+
675
+ // Wait for API to be ready (longer timeout for dev mode compilation)
676
+ const ready = await waitForHealth(`${baseUrl}/health`, { timeoutMs: 60000 });
677
+ if (!ready) {
678
+ cli.error('API did not become ready in time');
679
+ killProcessGroup(nestProcess);
680
+ process.exit(1);
681
+ }
682
+
683
+ cli.blank();
684
+ cli.success(`API ready at ${baseUrl}`);
685
+ cli.info(`API docs: ${baseUrl}/api/docs`);
686
+
687
+ // Ensure provider rows exist
688
+ if (opts.__providersDetected && opts.__providersDetected.size > 0) {
689
+ await ensureProvidersInDb(baseUrl, opts.__providersDetected, log);
690
+ }
691
+
692
+ // Determine startup path for MCP validation
693
+ const startupPath = opts.project && typeof opts.project === 'string' && opts.project.trim()
694
+ ? opts.project.trim()
695
+ : process.cwd();
696
+
697
+ // Validate MCP for all providers
698
+ await validateMcpForProviders(baseUrl, cli, opts, log, startupPath);
699
+
700
+ // Prompt for Claude bypass permissions
701
+ if (opts.__providersDetected && opts.__providersDetected.has('claude')) {
702
+ await ensureClaudeBypassPermissions(cli);
703
+ }
704
+
705
+ cli.blank();
706
+ cli.info('Starting UI (dev mode)...');
707
+
708
+ // Spawn Vite for UI hot reload (pass API port, detached to create process group)
709
+ const viteProcess = spawn('pnpm', ['--filter', 'local-app', 'dev:ui'], {
710
+ stdio: 'inherit',
711
+ env: { ...process.env, VITE_API_PORT: String(port) },
712
+ shell: true,
713
+ detached: platform() !== 'win32', // Create process group on Unix
714
+ });
715
+
716
+ cli.blank();
717
+ cli.success('Development servers running');
718
+ cli.info(`UI: http://127.0.0.1:5175 (Vite dev server)`);
719
+ cli.info(`API: ${baseUrl}`);
720
+ cli.blank();
721
+
722
+ // Write PID file
723
+ writePidFile(port);
724
+
725
+ // Handle cleanup on exit - kill entire process groups
726
+ const cleanup = () => {
727
+ console.log('\nShutting down development servers...');
728
+ killProcessGroup(nestProcess);
729
+ killProcessGroup(viteProcess);
730
+ removePidFile();
731
+ process.exit(0);
732
+ };
733
+
734
+ process.on('SIGINT', cleanup);
735
+ process.on('SIGTERM', cleanup);
736
+
737
+ // Keep process alive
738
+ return;
739
+ }
740
+
570
741
  // Ensure built server exists
571
742
  // Prefer bundled server in dist/server (copied at pack-time); fallback to workspace path.
572
743
  let serverEntry = join(__dirname, '..', 'dist', 'server', 'main.js');
@@ -627,6 +798,11 @@ async function main(argv) {
627
798
  // Validate MCP for all providers (with project context)
628
799
  await validateMcpForProviders(baseUrl, cli, opts, log, startupPath);
629
800
 
801
+ // Prompt for Claude bypass permissions (if Claude provider detected)
802
+ if (opts.__providersDetected && opts.__providersDetected.has('claude')) {
803
+ await ensureClaudeBypassPermissions(cli);
804
+ }
805
+
630
806
  // Determine URL to open based on project path
631
807
  let urlToOpen = baseUrl;
632
808
  try {
@@ -676,17 +852,9 @@ async function main(argv) {
676
852
  // Write PID file for stop command
677
853
  writePidFile(port);
678
854
 
679
- // Clean up PID file on exit
680
- process.on('SIGINT', () => {
681
- console.log('\nShutting down Devchain...');
682
- removePidFile();
683
- process.exit(0);
684
- });
685
-
686
- process.on('SIGTERM', () => {
687
- console.log('\nShutting down Devchain...');
855
+ // Clean up PID file on exit (main.ts handles SIGINT/SIGTERM and graceful shutdown)
856
+ process.on('exit', () => {
688
857
  removePidFile();
689
- process.exit(0);
690
858
  });
691
859
 
692
860
  if (opts.open) {
@@ -0,0 +1 @@
1
+ ALTER TABLE `agents` ADD `description` text;
@@ -120,6 +120,13 @@
120
120
  "when": 1760909782178,
121
121
  "tag": "0016_agent_profiles_project_scoped",
122
122
  "breakpoints": true
123
+ },
124
+ {
125
+ "idx": 17,
126
+ "version": "6",
127
+ "when": 1764969284566,
128
+ "tag": "0017_agents_description",
129
+ "breakpoints": true
123
130
  }
124
131
  ]
125
132
  }
@@ -55,6 +55,9 @@ let AllExceptionsFilter = class AllExceptionsFilter {
55
55
  else {
56
56
  logger.error(logPayload, 'Request failed');
57
57
  }
58
+ if (response.sent) {
59
+ return;
60
+ }
58
61
  response.code(status).send({
59
62
  statusCode: status,
60
63
  code,
@@ -1 +1 @@
1
- {"version":3,"file":"http-exception.filter.js","sourceRoot":"","sources":["../../../src/common/filters/http-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAkG;AAElG,uDAAiD;AACjD,8CAAiD;AAEjD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,qBAAqB,CAAC,CAAC;AAG5C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,KAAK,CAAC,SAAkB,EAAE,IAAmB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAgB,CAAC;QACjD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,MAAM,GAAG,mBAAU,CAAC,qBAAqB,CAAC;QAC9C,IAAI,OAAO,GAAG,uBAAuB,CAAC;QACtC,IAAI,IAAI,GAAG,gBAAgB,CAAC;QAC5B,IAAI,OAA4C,CAAC;QAEjD,IAAI,SAAS,YAAY,sBAAQ,EAAE,CAAC;YAClC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC;YAC9B,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YAC5B,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YACtB,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAC9B,CAAC;aAAM,IAAI,SAAS,YAAY,sBAAa,EAAE,CAAC;YAC9C,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,iBAAiB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAClD,OAAO,GAAG,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;YACxF,IAAI,GAAG,gBAAgB,CAAC;QAC1B,CAAC;aAAM,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;YACtC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAC9B,CAAC;QAGD,MAAM,aAAa,GAAG,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,KAAK,GAAG,CAAC;QAClC,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,UAAU,EAAE,MAAM;YAClB,IAAI;YACJ,OAAO;YAEP,KAAK,EAAE,CAAC,aAAa,IAAI,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACzE,CAAC;QAEX,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC7C,CAAC;QAGD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACzB,UAAU,EAAE,MAAM;YAClB,IAAI;YACJ,OAAO;YACP,OAAO;YACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,OAAO,CAAC,GAAG;SAClB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAzDY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,cAAK,GAAE;GACK,mBAAmB,CAyD/B"}
1
+ {"version":3,"file":"http-exception.filter.js","sourceRoot":"","sources":["../../../src/common/filters/http-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAkG;AAElG,uDAAiD;AACjD,8CAAiD;AAEjD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,qBAAqB,CAAC,CAAC;AAG5C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,KAAK,CAAC,SAAkB,EAAE,IAAmB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAgB,CAAC;QACjD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,MAAM,GAAG,mBAAU,CAAC,qBAAqB,CAAC;QAC9C,IAAI,OAAO,GAAG,uBAAuB,CAAC;QACtC,IAAI,IAAI,GAAG,gBAAgB,CAAC;QAC5B,IAAI,OAA4C,CAAC;QAEjD,IAAI,SAAS,YAAY,sBAAQ,EAAE,CAAC;YAClC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC;YAC9B,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YAC5B,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YACtB,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAC9B,CAAC;aAAM,IAAI,SAAS,YAAY,sBAAa,EAAE,CAAC;YAC9C,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,iBAAiB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAClD,OAAO,GAAG,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;YACxF,IAAI,GAAG,gBAAgB,CAAC;QAC1B,CAAC;aAAM,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;YACtC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAC9B,CAAC;QAGD,MAAM,aAAa,GAAG,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,KAAK,GAAG,CAAC;QAClC,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,UAAU,EAAE,MAAM;YAClB,IAAI;YACJ,OAAO;YAEP,KAAK,EAAE,CAAC,aAAa,IAAI,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACzE,CAAC;QAEX,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC7C,CAAC;QAGD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAGD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACzB,UAAU,EAAE,MAAM;YAClB,IAAI;YACJ,OAAO;YACP,OAAO;YACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,OAAO,CAAC,GAAG;SAClB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA9DY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,cAAK,GAAE;GACK,mBAAmB,CA8D/B"}
@@ -15,7 +15,7 @@ const logger = (0, logger_1.createLogger)('WsExceptionFilter');
15
15
  let AllWsExceptionsFilter = class AllWsExceptionsFilter {
16
16
  catch(exception, host) {
17
17
  if (host.getType() !== 'ws') {
18
- return;
18
+ throw exception;
19
19
  }
20
20
  const ws = host.switchToWs();
21
21
  const client = ws.getClient();
@@ -1 +1 @@
1
- {"version":3,"file":"ws-exception.filter.js","sourceRoot":"","sources":["../../../src/common/filters/ws-exception.filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-exception.filter.js","sourceRoot":"","sources":["../../../src/common/filters/ws-exception.filter.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,24 @@ async function bootstrap() {
70
70
  forbidNonWhitelisted: true,
71
71
  transform: true,
72
72
  }));
73
- app.useGlobalFilters(new http_exception_filter_1.AllExceptionsFilter(), new ws_exception_filter_1.AllWsExceptionsFilter());
73
+ app.useGlobalFilters(new ws_exception_filter_1.AllWsExceptionsFilter(), new http_exception_filter_1.AllExceptionsFilter());
74
+ let isShuttingDown = false;
75
+ const gracefulShutdown = async (signal) => {
76
+ if (isShuttingDown)
77
+ return;
78
+ isShuttingDown = true;
79
+ appLogger.info({ signal }, 'Received shutdown signal, starting graceful shutdown...');
80
+ try {
81
+ await app.close();
82
+ appLogger.info('Graceful shutdown complete');
83
+ }
84
+ catch (error) {
85
+ appLogger.error({ error }, 'Error during graceful shutdown');
86
+ }
87
+ process.exit(0);
88
+ };
89
+ process.on('SIGINT', () => gracefulShutdown('SIGINT'));
90
+ process.on('SIGTERM', () => gracefulShutdown('SIGTERM'));
74
91
  const swaggerConfig = new swagger_1.DocumentBuilder()
75
92
  .setTitle('Devchain Local App API')
76
93
  .setDescription('Local-first AI agent orchestration API')
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,+DAAkF;AAClF,6CAAiE;AACjE,2CAAgD;AAChD,6CAAyC;AACzC,2DAA0D;AAC1D,kFAA6E;AAC7E,8EAA6E;AAC7E,oDAA+D;AAC/D,+BAA4B;AAC5B,2BAAgC;AAEhC,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAG,IAAA,yBAAY,GAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,WAAW,CAAC,CAAC;IAI5C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC;IAChE,MAAM,SAAS,GAAkE,CAAC,GAAG,EAAE;QACrF,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACV,OAAO,KAAK,CAAC;YACf,KAAK,OAAO;gBACV,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAClC,KAAK,OAAO;gBACV,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACtD;gBACE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAIL,MAAM,aAAa,GACjB,QAAQ,KAAK,OAAO;QAClB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE,KAAK,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;SAC9E,CAAC;IAER,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAClC,sBAAS,EACT,IAAI,iCAAc,CAAC;QACjB,MAAM,EAAE,aAAa;QACrB,iBAAiB,EAAE,WAAW;QAC9B,qBAAqB,EAAE,QAAQ,KAAK,OAAO;KAC5C,CAAC,EACF;QACE,MAAM,EAAE,SAAS;KAClB,CACF,CAAC;IAIF,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,KAAK,YAAY,CAAC;IAEtD,IAAI,YAAY,IAAI,IAAA,eAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QAEvC,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;YAC7C,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,GAAG;YACX,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IAC5F,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IACpF,CAAC;IAGD,GAAG,CAAC,cAAc,CAChB,IAAI,uBAAc,CAAC;QACjB,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,IAAI;QAC1B,SAAS,EAAE,IAAI;KAChB,CAAC,CACH,CAAC;IAIF,GAAG,CAAC,gBAAgB,CAAC,IAAI,2CAAqB,EAAE,EAAE,IAAI,2CAAmB,EAAE,CAAC,CAAC;IAG7E,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QAChD,IAAI,cAAc;YAAE,OAAO;QAC3B,cAAc,GAAG,IAAI,CAAC;QACtB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,yDAAyD,CAAC,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,gCAAgC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAGzD,MAAM,aAAa,GAAG,IAAI,yBAAe,EAAE;SACxC,QAAQ,CAAC,wBAAwB,CAAC;SAClC,cAAc,CAAC,wCAAwC,CAAC;SACxD,UAAU,CAAC,OAAO,CAAC;SACnB,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC;SAC1C,KAAK,EAAE,CAAC;IAEX,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAClE,uBAAa,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAG/C,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAE3C,SAAS,CAAC,IAAI,CACZ;QACE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,EAAE,MAAM,CAAC,QAAQ;KACrB,EACD,qCAAqC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAClE,CAAC;IACF,SAAS,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC1B,eAAM,CAAC,KAAK,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -22,10 +22,12 @@ const CreateAgentSchema = zod_1.z.object({
22
22
  projectId: zod_1.z.string(),
23
23
  profileId: zod_1.z.string(),
24
24
  name: zod_1.z.string().min(1),
25
+ description: zod_1.z.string().nullable().optional(),
25
26
  });
26
27
  const UpdateAgentSchema = zod_1.z.object({
27
28
  name: zod_1.z.string().min(1).optional(),
28
29
  profileId: zod_1.z.string().optional(),
30
+ description: zod_1.z.string().nullable().optional(),
29
31
  });
30
32
  let AgentsController = class AgentsController {
31
33
  constructor(storage) {
@@ -1 +1 @@
1
- {"version":3,"file":"agents.controller.js","sourceRoot":"","sources":["../../../../src/modules/agents/controllers/agents.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.controller.js","sourceRoot":"","sources":["../../../../src/modules/agents/controllers/agents.controller.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,13 @@ const storage_module_1 = require("../storage/storage.module");
14
14
  const events_module_1 = require("../events/events.module");
15
15
  const epics_service_1 = require("./services/epics.service");
16
16
  const terminal_module_1 = require("../terminal/terminal.module");
17
+ const settings_module_1 = require("../settings/settings.module");
17
18
  let EpicsModule = class EpicsModule {
18
19
  };
19
20
  exports.EpicsModule = EpicsModule;
20
21
  exports.EpicsModule = EpicsModule = __decorate([
21
22
  (0, common_1.Module)({
22
- imports: [storage_module_1.StorageModule, events_module_1.EventsModule, (0, common_1.forwardRef)(() => terminal_module_1.TerminalModule)],
23
+ imports: [storage_module_1.StorageModule, events_module_1.EventsModule, (0, common_1.forwardRef)(() => terminal_module_1.TerminalModule), settings_module_1.SettingsModule],
23
24
  controllers: [epics_controller_1.EpicsController, epic_comments_controller_1.EpicCommentsController],
24
25
  providers: [epics_service_1.EpicsService],
25
26
  exports: [epics_service_1.EpicsService],
@@ -1 +1 @@
1
- {"version":3,"file":"epics.module.js","sourceRoot":"","sources":["../../../src/modules/epics/epics.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,qEAAiE;AACjE,qFAAgF;AAChF,8DAA0D;AAC1D,2DAAuD;AACvD,4DAAwD;AACxD,iEAA6D;AAQtD,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,EAAE,4BAAY,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC,CAAC;QACxE,WAAW,EAAE,CAAC,kCAAe,EAAE,iDAAsB,CAAC;QACtD,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
1
+ {"version":3,"file":"epics.module.js","sourceRoot":"","sources":["../../../src/modules/epics/epics.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,qEAAiE;AACjE,qFAAgF;AAChF,8DAA0D;AAC1D,2DAAuD;AACvD,4DAAwD;AACxD,iEAA6D;AAC7D,iEAA6D;AAQtD,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,EAAE,4BAAY,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC,EAAE,gCAAc,CAAC;QACxF,WAAW,EAAE,CAAC,kCAAe,EAAE,iDAAsB,CAAC;QACtD,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
@@ -2,12 +2,14 @@ import { type StorageService, type CreateEpicForProjectInput, type ListOptions,
2
2
  import type { Epic, UpdateEpic, CreateEpic } from '../../storage/models/domain.models';
3
3
  import { EventsService } from '../../events/services/events.service';
4
4
  import { TerminalGateway } from '../../terminal/gateways/terminal.gateway';
5
+ import { SettingsService } from '../../settings/services/settings.service';
5
6
  export declare class EpicsService {
6
7
  private readonly storage;
7
8
  private readonly eventsService;
9
+ private readonly settingsService;
8
10
  private readonly terminalGateway?;
9
11
  private readonly logger;
10
- constructor(storage: StorageService, eventsService: EventsService, terminalGateway?: TerminalGateway | undefined);
12
+ constructor(storage: StorageService, eventsService: EventsService, settingsService: SettingsService, terminalGateway?: TerminalGateway | undefined);
11
13
  createEpic(data: CreateEpic): Promise<Epic>;
12
14
  listEpics(params: {
13
15
  projectId?: string;
@@ -28,6 +30,9 @@ export declare class EpicsService {
28
30
  version: number;
29
31
  }>, expectedParentId?: string | null): Promise<Epic[]>;
30
32
  deleteEpic(id: string): Promise<void>;
33
+ private applyAutoCleanIfNeeded;
34
+ private getAllSubEpicsRecursive;
35
+ private cascadeClearSubEpicAgents;
31
36
  private buildEpicSnapshot;
32
37
  private buildEpicChanges;
33
38
  private broadcastEpicEvent;
@@ -19,14 +19,17 @@ const storage_interface_1 = require("../../storage/interfaces/storage.interface"
19
19
  const events_service_1 = require("../../events/services/events.service");
20
20
  const terminal_gateway_1 = require("../../terminal/gateways/terminal.gateway");
21
21
  const error_types_1 = require("../../../common/errors/error-types");
22
+ const settings_service_1 = require("../../settings/services/settings.service");
22
23
  let EpicsService = EpicsService_1 = class EpicsService {
23
- constructor(storage, eventsService, terminalGateway) {
24
+ constructor(storage, eventsService, settingsService, terminalGateway) {
24
25
  this.storage = storage;
25
26
  this.eventsService = eventsService;
27
+ this.settingsService = settingsService;
26
28
  this.terminalGateway = terminalGateway;
27
29
  this.logger = new common_1.Logger(EpicsService_1.name);
28
30
  }
29
31
  async createEpic(data) {
32
+ this.applyAutoCleanIfNeeded(data.projectId, data.statusId, data);
30
33
  const epic = await this.storage.createEpic(data);
31
34
  if (epic.agentId) {
32
35
  try {
@@ -77,6 +80,7 @@ let EpicsService = EpicsService_1 = class EpicsService {
77
80
  return this.storage.countSubEpicsByStatus(parentId);
78
81
  }
79
82
  async createEpicForProject(projectId, input) {
83
+ this.applyAutoCleanIfNeeded(projectId, input.statusId, input);
80
84
  const epic = await this.storage.createEpicForProject(projectId, input);
81
85
  if (epic.agentId) {
82
86
  try {
@@ -106,6 +110,9 @@ let EpicsService = EpicsService_1 = class EpicsService {
106
110
  }
107
111
  async updateEpic(id, data, expectedVersion) {
108
112
  const before = await this.storage.getEpic(id);
113
+ if (data.statusId !== undefined && data.statusId !== before.statusId) {
114
+ this.applyAutoCleanIfNeeded(before.projectId, data.statusId, data);
115
+ }
109
116
  const updated = await this.storage.updateEpic(id, data, expectedVersion);
110
117
  const agentChanged = data.agentId !== undefined && updated.agentId !== before.agentId && updated.agentId !== null;
111
118
  if (agentChanged && updated.agentId) {
@@ -133,6 +140,12 @@ let EpicsService = EpicsService_1 = class EpicsService {
133
140
  epic: this.buildEpicSnapshot(updated),
134
141
  changes: this.buildEpicChanges(before, updated),
135
142
  });
143
+ if (data.statusId !== undefined && data.statusId !== before.statusId) {
144
+ const autoCleanIds = this.settingsService.getAutoCleanStatusIds(before.projectId);
145
+ if (autoCleanIds.includes(data.statusId)) {
146
+ await this.cascadeClearSubEpicAgents(updated.id);
147
+ }
148
+ }
136
149
  return updated;
137
150
  }
138
151
  async bulkUpdateEpics(updates, expectedParentId = null) {
@@ -197,6 +210,37 @@ let EpicsService = EpicsService_1 = class EpicsService {
197
210
  parentId: epic.parentId,
198
211
  });
199
212
  }
213
+ applyAutoCleanIfNeeded(projectId, targetStatusId, data) {
214
+ if (!targetStatusId)
215
+ return;
216
+ const autoCleanIds = this.settingsService.getAutoCleanStatusIds(projectId);
217
+ if (autoCleanIds.includes(targetStatusId)) {
218
+ data.agentId = null;
219
+ }
220
+ }
221
+ async getAllSubEpicsRecursive(parentId) {
222
+ const result = [];
223
+ const { items: directChildren } = await this.storage.listSubEpics(parentId, { limit: 1000 });
224
+ for (const child of directChildren) {
225
+ result.push(child);
226
+ const descendants = await this.getAllSubEpicsRecursive(child.id);
227
+ result.push(...descendants);
228
+ }
229
+ return result;
230
+ }
231
+ async cascadeClearSubEpicAgents(parentId) {
232
+ const subEpics = await this.getAllSubEpicsRecursive(parentId);
233
+ for (const subEpic of subEpics) {
234
+ if (subEpic.agentId !== null) {
235
+ await this.storage.updateEpic(subEpic.id, { agentId: null }, subEpic.version);
236
+ const updated = await this.storage.getEpic(subEpic.id);
237
+ this.broadcastEpicEvent(updated.projectId, 'updated', {
238
+ epic: this.buildEpicSnapshot(updated),
239
+ changes: { agentId: { previous: subEpic.agentId, current: null } },
240
+ });
241
+ }
242
+ }
243
+ }
200
244
  buildEpicSnapshot(epic) {
201
245
  const { id, projectId, title, statusId, agentId, parentId, tags, version, createdAt, updatedAt, } = epic;
202
246
  return {
@@ -243,9 +287,10 @@ exports.EpicsService = EpicsService;
243
287
  exports.EpicsService = EpicsService = EpicsService_1 = __decorate([
244
288
  (0, common_1.Injectable)(),
245
289
  __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
246
- __param(2, (0, common_1.Optional)()),
247
- __param(2, (0, common_1.Inject)((0, common_1.forwardRef)(() => terminal_gateway_1.TerminalGateway))),
290
+ __param(3, (0, common_1.Optional)()),
291
+ __param(3, (0, common_1.Inject)((0, common_1.forwardRef)(() => terminal_gateway_1.TerminalGateway))),
248
292
  __metadata("design:paramtypes", [Object, events_service_1.EventsService,
293
+ settings_service_1.SettingsService,
249
294
  terminal_gateway_1.TerminalGateway])
250
295
  ], EpicsService);
251
296
  //# sourceMappingURL=epics.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"epics.service.js","sourceRoot":"","sources":["../../../../src/modules/epics/services/epics.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epics.service.js","sourceRoot":"","sources":["../../../../src/modules/epics/services/epics.service.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,13 @@ let EventsService = class EventsService {
35
35
  if (!schema) {
36
36
  throw new Error(`Unknown event: ${name}`);
37
37
  }
38
+ if (name === 'epic.assigned') {
39
+ const p = payload;
40
+ if (p.previousAgentId != null && p.previousAgentId === p.agentId) {
41
+ logger.debug({ name, epicId: payload.epicId, agentId: p.agentId }, 'Suppressed duplicate epic.assigned (previousAgentId === agentId)');
42
+ return '';
43
+ }
44
+ }
38
45
  try {
39
46
  const parsed = schema.parse(payload);
40
47
  const { id: eventId } = await this.eventLogService.recordPublished({
@@ -1 +1 @@
1
- {"version":3,"file":"events.service.js","sourceRoot":"","sources":["../../../../src/modules/events/services/events.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,4CAKC;AAfD,2CAA4C;AAC5C,yDAAsD;AACtD,6BAA+B;AAC/B,2DAA8D;AAC9D,wCAA6E;AAC7E,2DAAsD;AAEtD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,eAAe,CAAC,CAAC;AAC7C,MAAM,aAAa,GAAG,IAAI,OAAO,EAA0B,CAAC;AAE5D,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,aAAa,CAAC,GAAG,CAAC,OAAiB,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGM,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YACmB,YAA2B,EAC3B,eAAgC;QADhC,iBAAY,GAAZ,YAAY,CAAe;QAC3B,oBAAe,GAAf,eAAe,CAAiB;IAChD,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,IAAgB,EAChB,OAAiC,EACjC,OAAuC;QAEvC,MAAM,MAAM,GAAG,sBAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBACjE,IAAI;gBACJ,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;aACtC,CAAC,CAAC;YACH,aAAa,CAAC,GAAG,CAAC,MAAgB,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;YACnD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,cAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC;gBACtE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AAnCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGsB,6BAAa;QACV,mCAAe;GAHxC,aAAa,CAmCzB"}
1
+ {"version":3,"file":"events.service.js","sourceRoot":"","sources":["../../../../src/modules/events/services/events.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,4CAKC;AAfD,2CAA4C;AAC5C,yDAAsD;AACtD,6BAA+B;AAC/B,2DAA8D;AAC9D,wCAA6E;AAC7E,2DAAsD;AAEtD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,eAAe,CAAC,CAAC;AAC7C,MAAM,aAAa,GAAG,IAAI,OAAO,EAA0B,CAAC;AAE5D,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,aAAa,CAAC,GAAG,CAAC,OAAiB,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGM,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YACmB,YAA2B,EAC3B,eAAgC;QADhC,iBAAY,GAAZ,YAAY,CAAe;QAC3B,oBAAe,GAAf,eAAe,CAAiB;IAChD,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,IAAgB,EAChB,OAAiC,EACjC,OAAuC;QAEvC,MAAM,MAAM,GAAG,sBAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAGD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,OAAgE,CAAC;YAC3E,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjE,MAAM,CAAC,KAAK,CACV,EAAE,IAAI,EAAE,MAAM,EAAG,OAA+B,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAC7E,kEAAkE,CACnE,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBACjE,IAAI;gBACJ,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;aACtC,CAAC,CAAC;YACH,aAAa,CAAC,GAAG,CAAC,MAAgB,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;YACnD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,cAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC;gBACtE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AA/CY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGsB,6BAAa;QACV,mCAAe;GAHxC,aAAa,CA+CzB"}