devchain-cli 0.7.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/drizzle/0027_legal_malice.sql +17 -0
  2. package/dist/drizzle/0028_populate_provider_configs.sql +19 -0
  3. package/dist/drizzle/0029_merge_profiles_by_family_slug.sql +116 -0
  4. package/dist/drizzle/0030_set_agents_provider_config_id.sql +14 -0
  5. package/dist/drizzle/0031_remove_legacy_profile_columns.sql +68 -0
  6. package/dist/drizzle/0032_agents_provider_config_not_null.sql +52 -0
  7. package/dist/drizzle/0033_profile_provider_configs_name.sql +38 -0
  8. package/dist/drizzle/0034_sessions_agent_running_unique.sql +30 -0
  9. package/dist/drizzle/0035_provider_config_position.sql +26 -0
  10. package/dist/drizzle/PHASE2_MIGRATION_GUIDE.md +109 -0
  11. package/dist/drizzle/meta/0027_snapshot.json +3648 -0
  12. package/dist/drizzle/meta/0035_snapshot.json +3670 -0
  13. package/dist/drizzle/meta/_journal.json +64 -1
  14. package/dist/drizzle/migration-guard.sql +17 -0
  15. package/dist/drizzle/phase2-rollback.sql +44 -0
  16. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +101 -12
  17. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
  18. package/dist/node_modules/@devchain/shared/schemas/export-schema.js +20 -0
  19. package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
  20. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  21. package/dist/server/modules/agents/controllers/agents.controller.d.ts +15 -0
  22. package/dist/server/modules/agents/controllers/agents.controller.js +120 -57
  23. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  24. package/dist/server/modules/core/services/preflight.service.d.ts +6 -0
  25. package/dist/server/modules/core/services/preflight.service.js +143 -57
  26. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  27. package/dist/server/modules/epics/services/epics.service.d.ts +10 -4
  28. package/dist/server/modules/epics/services/epics.service.js +8 -5
  29. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  30. package/dist/server/modules/events/catalog/epic.created.d.ts +18 -0
  31. package/dist/server/modules/events/catalog/epic.created.js +8 -0
  32. package/dist/server/modules/events/catalog/epic.created.js.map +1 -1
  33. package/dist/server/modules/events/catalog/epic.updated.d.ts +18 -0
  34. package/dist/server/modules/events/catalog/epic.updated.js +8 -0
  35. package/dist/server/modules/events/catalog/epic.updated.js.map +1 -1
  36. package/dist/server/modules/events/catalog/index.d.ts +36 -0
  37. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.d.ts +1 -0
  38. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js +33 -2
  39. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
  40. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js +12 -5
  41. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +1 -1
  42. package/dist/server/modules/mcp/services/mcp.service.js +16 -2
  43. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  44. package/dist/server/modules/mcp/services/terminal-activity.service.d.ts +1 -1
  45. package/dist/server/modules/mcp/services/terminal-activity.service.js +22 -2
  46. package/dist/server/modules/mcp/services/terminal-activity.service.js.map +1 -1
  47. package/dist/server/modules/profiles/controllers/profiles.controller.d.ts +11 -8
  48. package/dist/server/modules/profiles/controllers/profiles.controller.js +88 -14
  49. package/dist/server/modules/profiles/controllers/profiles.controller.js.map +1 -1
  50. package/dist/server/modules/profiles/controllers/provider-configs.controller.d.ts +9 -0
  51. package/dist/server/modules/profiles/controllers/provider-configs.controller.js +94 -0
  52. package/dist/server/modules/profiles/controllers/provider-configs.controller.js.map +1 -0
  53. package/dist/server/modules/profiles/dto.d.ts +81 -6
  54. package/dist/server/modules/profiles/dto.js +45 -3
  55. package/dist/server/modules/profiles/dto.js.map +1 -1
  56. package/dist/server/modules/profiles/profiles.module.js +2 -1
  57. package/dist/server/modules/profiles/profiles.module.js.map +1 -1
  58. package/dist/server/modules/projects/controllers/projects.controller.d.ts +78 -19
  59. package/dist/server/modules/projects/controllers/projects.controller.js +243 -17
  60. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  61. package/dist/server/modules/projects/dtos/export.dto.d.ts +44 -0
  62. package/dist/server/modules/projects/dtos/export.dto.js +10 -0
  63. package/dist/server/modules/projects/dtos/export.dto.js.map +1 -1
  64. package/dist/server/modules/projects/services/projects.service.d.ts +48 -11
  65. package/dist/server/modules/projects/services/projects.service.js +359 -27
  66. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  67. package/dist/server/modules/providers/controllers/providers.controller.js +12 -7
  68. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  69. package/dist/server/modules/registry/controllers/templates.controller.d.ts +2 -2
  70. package/dist/server/modules/registry/services/registry-orchestration.service.js +11 -0
  71. package/dist/server/modules/registry/services/registry-orchestration.service.js.map +1 -1
  72. package/dist/server/modules/registry/services/template-upgrade.service.js +6 -0
  73. package/dist/server/modules/registry/services/template-upgrade.service.js.map +1 -1
  74. package/dist/server/modules/registry/services/unified-template.service.d.ts +2 -1
  75. package/dist/server/modules/registry/services/unified-template.service.js +61 -0
  76. package/dist/server/modules/registry/services/unified-template.service.js.map +1 -1
  77. package/dist/server/modules/reviews/services/reviews.service.js +8 -0
  78. package/dist/server/modules/reviews/services/reviews.service.js.map +1 -1
  79. package/dist/server/modules/sessions/services/activity-tracker.service.d.ts +2 -0
  80. package/dist/server/modules/sessions/services/activity-tracker.service.js +20 -0
  81. package/dist/server/modules/sessions/services/activity-tracker.service.js.map +1 -1
  82. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +2 -2
  83. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  84. package/dist/server/modules/sessions/services/sessions.service.d.ts +3 -1
  85. package/dist/server/modules/sessions/services/sessions.service.js +275 -144
  86. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  87. package/dist/server/modules/sessions/utils/env-builder.d.ts +8 -0
  88. package/dist/server/modules/sessions/utils/env-builder.js +62 -0
  89. package/dist/server/modules/sessions/utils/env-builder.js.map +1 -0
  90. package/dist/server/modules/settings/dtos/settings.dto.d.ts +84 -8
  91. package/dist/server/modules/settings/dtos/settings.dto.js +15 -2
  92. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  93. package/dist/server/modules/settings/services/settings.service.d.ts +10 -1
  94. package/dist/server/modules/settings/services/settings.service.js +275 -0
  95. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  96. package/dist/server/modules/storage/db/db.provider.js +2 -0
  97. package/dist/server/modules/storage/db/db.provider.js.map +1 -1
  98. package/dist/server/modules/storage/db/schema.d.ts +185 -28
  99. package/dist/server/modules/storage/db/schema.js +32 -6
  100. package/dist/server/modules/storage/db/schema.js.map +1 -1
  101. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +17 -1
  102. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  103. package/dist/server/modules/storage/local/local-storage.service.d.ts +15 -1
  104. package/dist/server/modules/storage/local/local-storage.service.js +352 -21
  105. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  106. package/dist/server/modules/storage/models/domain.models.d.ts +26 -7
  107. package/dist/server/modules/subscribers/actions/restart-agent.action.js +17 -19
  108. package/dist/server/modules/subscribers/actions/restart-agent.action.js.map +1 -1
  109. package/dist/server/modules/subscribers/events/event-fields-catalog.js +4 -0
  110. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  111. package/dist/server/modules/terminal/services/pty.service.js +6 -1
  112. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  113. package/dist/server/modules/watchers/services/watcher-runner.service.js +27 -8
  114. package/dist/server/modules/watchers/services/watcher-runner.service.js.map +1 -1
  115. package/dist/{templates/claude-opus.json → server/templates/dev-loop.json} +365 -209
  116. package/dist/server/tsconfig.tsbuildinfo +1 -1
  117. package/dist/server/ui/assets/{ReviewDetailPage-I54h-2L-.js → ReviewDetailPage-YlFGGJv7.js} +2 -2
  118. package/dist/server/ui/assets/ReviewsPage-Diegg4jt.js +19 -0
  119. package/dist/server/ui/assets/index-DuMIsIyY.css +32 -0
  120. package/dist/server/ui/assets/index-sEtQpiB4.js +868 -0
  121. package/dist/server/ui/assets/{useReviewSubscription-C0GEsiRw.js → useReviewSubscription-CMhQ2m0h.js} +22 -22
  122. package/dist/server/ui/index.html +2 -2
  123. package/dist/{server/templates/claude-opus.json → templates/dev-loop.json} +365 -209
  124. package/package.json +9 -4
  125. package/dist/node_modules/@devchain/shared/schemas/export-schema.spec.d.ts +0 -2
  126. package/dist/node_modules/@devchain/shared/schemas/export-schema.spec.d.ts.map +0 -1
  127. package/dist/node_modules/@devchain/shared/schemas/export-schema.spec.js +0 -88
  128. package/dist/node_modules/@devchain/shared/schemas/export-schema.spec.js.map +0 -1
  129. package/dist/server/templates/claude-codex-advanced.json +0 -470
  130. package/dist/server/templates/simple-codex.json +0 -469
  131. package/dist/server/ui/assets/ReviewsPage-B4ua5hiX.js +0 -19
  132. package/dist/server/ui/assets/index-CqcmnFBh.css +0 -32
  133. package/dist/server/ui/assets/index-JbUMpbg7.js +0 -858
  134. package/dist/templates/claude-codex-advanced.json +0 -470
  135. package/dist/templates/simple-codex.json +0 -469
@@ -27,15 +27,25 @@ const storage_interface_1 = require("../../storage/interfaces/storage.interface"
27
27
  const db_provider_1 = require("../../storage/db/db.provider");
28
28
  const better_sqlite3_1 = require("drizzle-orm/better-sqlite3");
29
29
  const profile_options_1 = require("../utils/profile-options");
30
+ const env_builder_1 = require("../utils/env-builder");
30
31
  const template_renderer_1 = require("../utils/template-renderer");
31
32
  const events_service_1 = require("../../events/services/events.service");
32
33
  const terminal_gateway_1 = require("../../terminal/gateways/terminal.gateway");
34
+ const session_coordinator_service_1 = require("./session-coordinator.service");
33
35
  const logger = (0, logger_1.createLogger)('SessionsService');
36
+ function isUniqueConstraintError(error) {
37
+ return (typeof error === 'object' &&
38
+ error !== null &&
39
+ 'code' in error &&
40
+ (error.code === 'SQLITE_CONSTRAINT' ||
41
+ error.code === 'SQLITE_CONSTRAINT_UNIQUE' ||
42
+ (typeof error.code === 'number' && error.code === 19)));
43
+ }
34
44
  const MAX_INITIAL_PROMPT_LENGTH = 4000;
35
45
  const MAX_INITIAL_PROMPT_LINES = 80;
36
46
  const DEFAULT_INITIAL_PROMPT_TEMPLATE = 'Session {session_id} started for agent {agent_name} on project {project_name} using profile {profile_name}.';
37
47
  let SessionsService = class SessionsService {
38
- constructor(db, storage, tmuxService, sendCoordinator, ptyService, preflightService, mcpEnsureService, moduleRef) {
48
+ constructor(db, storage, tmuxService, sendCoordinator, ptyService, preflightService, mcpEnsureService, sessionCoordinator, moduleRef) {
39
49
  this.db = db;
40
50
  this.storage = storage;
41
51
  this.tmuxService = tmuxService;
@@ -43,167 +53,287 @@ let SessionsService = class SessionsService {
43
53
  this.ptyService = ptyService;
44
54
  this.preflightService = preflightService;
45
55
  this.mcpEnsureService = mcpEnsureService;
56
+ this.sessionCoordinator = sessionCoordinator;
46
57
  this.moduleRef = moduleRef;
47
58
  this.sqlite = this.db.session?.client ?? this.db;
48
59
  logger.info('SessionsService initialized');
49
60
  }
50
61
  async launchSession(data) {
51
62
  const { epicId, agentId, projectId } = data;
52
- logger.info({ epicId, agentId, projectId }, 'Launching session');
53
- const activeSessions = await this.listActiveSessions();
54
- const existingSession = activeSessions.find((s) => s.agentId === agentId);
55
- if (existingSession) {
56
- throw new error_types_1.ValidationError(`Agent already has an active session (${existingSession.id}). To run concurrent work, create an additional agent instance.`, {
57
- code: 'AGENT_SESSION_ACTIVE',
58
- sessionId: existingSession.id,
59
- agentId,
60
- });
61
- }
62
- const agent = await this.storage.getAgent(agentId);
63
- const project = await this.storage.getProject(projectId);
64
- if (agent.projectId !== projectId) {
65
- throw new error_types_1.ValidationError(`Agent ${agentId} does not belong to project ${projectId}.`, {
66
- agentId,
67
- agentProjectId: agent.projectId,
68
- requestedProjectId: projectId,
69
- });
70
- }
71
- const epic = epicId ? await this.storage.getEpic(epicId) : null;
72
- const profile = await this.storage.getAgentProfile(agent.profileId);
73
- const provider = await this.storage.getProvider(profile.providerId);
74
- let preflightResult = await this.preflightService.runChecks(project.rootPath);
75
- let providerCheck = preflightResult.providers?.find((p) => p.id === provider.id);
76
- if (providerCheck?.mcpStatus && providerCheck.mcpStatus !== 'pass') {
77
- logger.info({
78
- providerId: provider.id,
79
- providerName: provider.name,
80
- mcpStatus: providerCheck.mcpStatus,
81
- }, 'MCP not configured, attempting auto-ensure');
82
- const ensureResult = await this.mcpEnsureService.ensureMcp(provider, project.rootPath);
83
- if (ensureResult.success) {
84
- logger.info({ providerId: provider.id, action: ensureResult.action }, 'MCP auto-configured successfully');
85
- preflightResult = await this.preflightService.runChecks(project.rootPath);
86
- providerCheck = preflightResult.providers?.find((p) => p.id === provider.id);
63
+ return this.sessionCoordinator.withAgentLock(agentId, async () => {
64
+ logger.info({ epicId, agentId, projectId }, 'Launching session');
65
+ const existingSession = this.getActiveSessionForAgent(agentId);
66
+ if (existingSession) {
67
+ const tmuxAlive = existingSession.tmuxSessionId
68
+ ? await this.tmuxService.hasSession(existingSession.tmuxSessionId)
69
+ : false;
70
+ if (tmuxAlive) {
71
+ logger.info({ agentId, existingSessionId: existingSession.id }, 'Agent already has active session with live tmux, returning existing session (idempotent)');
72
+ const agent = await this.storage.getAgent(agentId);
73
+ const project = await this.storage.getProject(agent.projectId);
74
+ const epic = existingSession.epicId
75
+ ? await this.storage.getEpic(existingSession.epicId).catch(() => null)
76
+ : null;
77
+ return {
78
+ ...existingSession,
79
+ epic: epic
80
+ ? {
81
+ id: epic.id,
82
+ title: epic.title,
83
+ projectId: epic.projectId,
84
+ }
85
+ : null,
86
+ agent: {
87
+ id: agent.id,
88
+ name: agent.name,
89
+ profileId: agent.profileId,
90
+ },
91
+ project: {
92
+ id: project.id,
93
+ name: project.name,
94
+ rootPath: project.rootPath,
95
+ },
96
+ };
97
+ }
98
+ logger.warn({
99
+ agentId,
100
+ orphanedSessionId: existingSession.id,
101
+ tmuxSessionId: existingSession.tmuxSessionId,
102
+ }, 'Found orphaned session (tmux gone), marking as stopped before continuing');
103
+ this.sqlite
104
+ .prepare(`
105
+ UPDATE sessions
106
+ SET status = 'stopped', ended_at = ?, updated_at = ?
107
+ WHERE id = ?
108
+ `)
109
+ .run(new Date().toISOString(), new Date().toISOString(), existingSession.id);
110
+ logger.info({ agentId }, 'Orphaned session cleaned up, proceeding to create new session');
111
+ }
112
+ const agent = await this.storage.getAgent(agentId);
113
+ const project = await this.storage.getProject(projectId);
114
+ if (agent.projectId !== projectId) {
115
+ throw new error_types_1.ValidationError(`Agent ${agentId} does not belong to project ${projectId}.`, {
116
+ agentId,
117
+ agentProjectId: agent.projectId,
118
+ requestedProjectId: projectId,
119
+ });
120
+ }
121
+ const epic = epicId ? await this.storage.getEpic(epicId) : null;
122
+ const profile = await this.storage.getAgentProfile(agent.profileId);
123
+ let provider;
124
+ let options;
125
+ let envVars = null;
126
+ if (agent.providerConfigId) {
127
+ const config = await this.storage.getProfileProviderConfig(agent.providerConfigId);
128
+ provider = await this.storage.getProvider(config.providerId);
129
+ options = config.options;
130
+ envVars = config.env;
131
+ logger.info({ agentId, configId: config.id, providerId: provider.id }, 'Resolved provider via config');
87
132
  }
88
133
  else {
89
- logger.warn({ providerId: provider.id, message: ensureResult.message }, 'MCP auto-ensure failed');
134
+ const configs = await this.storage.listProfileProviderConfigsByProfile(profile.id);
135
+ if (configs.length > 0) {
136
+ const firstConfig = configs[0];
137
+ provider = await this.storage.getProvider(firstConfig.providerId);
138
+ options = firstConfig.options;
139
+ envVars = firstConfig.env;
140
+ logger.info({ agentId, profileId: profile.id, configId: firstConfig.id, providerId: provider.id }, 'Resolved provider via first profile config (no providerConfigId set on agent)');
141
+ }
142
+ else {
143
+ throw new error_types_1.ValidationError(`Profile ${profile.id} has no provider configs - cannot launch session`);
144
+ }
90
145
  }
146
+ let preflightResult = await this.preflightService.runChecks(project.rootPath);
147
+ let providerCheck = preflightResult.providers?.find((p) => p.id === provider.id);
91
148
  if (providerCheck?.mcpStatus && providerCheck.mcpStatus !== 'pass') {
92
- throw new error_types_1.ValidationError('Provider MCP is not configured', {
93
- code: 'MCP_NOT_CONFIGURED',
149
+ logger.info({
94
150
  providerId: provider.id,
95
151
  providerName: provider.name,
96
152
  mcpStatus: providerCheck.mcpStatus,
97
- mcpMessage: providerCheck.mcpMessage,
153
+ }, 'MCP not configured, attempting auto-ensure');
154
+ const ensureResult = await this.mcpEnsureService.ensureMcp(provider, project.rootPath);
155
+ if (ensureResult.success) {
156
+ logger.info({ providerId: provider.id, action: ensureResult.action }, 'MCP auto-configured successfully');
157
+ preflightResult = await this.preflightService.runChecks(project.rootPath);
158
+ providerCheck = preflightResult.providers?.find((p) => p.id === provider.id);
159
+ }
160
+ else {
161
+ logger.warn({ providerId: provider.id, message: ensureResult.message }, 'MCP auto-ensure failed');
162
+ }
163
+ if (providerCheck?.mcpStatus && providerCheck.mcpStatus !== 'pass') {
164
+ throw new error_types_1.ValidationError('Provider MCP is not configured', {
165
+ code: 'MCP_NOT_CONFIGURED',
166
+ providerId: provider.id,
167
+ providerName: provider.name,
168
+ mcpStatus: providerCheck.mcpStatus,
169
+ mcpMessage: providerCheck.mcpMessage,
170
+ });
171
+ }
172
+ }
173
+ if (preflightResult.overall === 'fail') {
174
+ const failedChecks = preflightResult.checks
175
+ .filter((c) => c.status === 'fail')
176
+ .map((c) => `${c.name}: ${c.message}`)
177
+ .join('; ');
178
+ throw new error_types_1.ValidationError('Preflight checks failed', {
179
+ failedChecks,
180
+ projectId,
98
181
  });
99
182
  }
100
- }
101
- if (preflightResult.overall === 'fail') {
102
- const failedChecks = preflightResult.checks
103
- .filter((c) => c.status === 'fail')
104
- .map((c) => `${c.name}: ${c.message}`)
105
- .join('; ');
106
- throw new error_types_1.ValidationError('Preflight checks failed', {
107
- failedChecks,
108
- projectId,
109
- });
110
- }
111
- const sessionId = (0, crypto_1.randomUUID)();
112
- const now = new Date().toISOString();
113
- const projectSlug = project.name
114
- .toLowerCase()
115
- .replace(/[^a-z0-9]+/g, '-')
116
- .replace(/(^-|-$)/g, '');
117
- const epicSegment = epicId ?? 'independent';
118
- const tmuxSessionName = this.tmuxService.createSessionName(projectSlug, epicSegment, agentId, sessionId);
119
- await this.tmuxService.createSession(tmuxSessionName, project.rootPath);
120
- await this.tmuxService.setAlternateScreenOff(tmuxSessionName);
121
- this.tmuxService.startHealthCheck(tmuxSessionName, sessionId);
122
- if (!provider.binPath) {
123
- throw new error_types_1.ValidationError(`Provider ${provider.name} is missing a binary path. Set the path before launching sessions.`, {
124
- providerId: provider.id,
125
- providerName: provider.name,
126
- });
127
- }
128
- let optionArgs = [];
129
- try {
130
- optionArgs = (0, profile_options_1.parseProfileOptions)(profile.options);
131
- }
132
- catch (error) {
133
- if (error instanceof profile_options_1.ProfileOptionsError) {
134
- throw new error_types_1.ValidationError(error.message, {
135
- profileId: profile.id,
136
- profileName: profile.name,
183
+ const sessionId = (0, crypto_1.randomUUID)();
184
+ const now = new Date().toISOString();
185
+ const projectSlug = project.name
186
+ .toLowerCase()
187
+ .replace(/[^a-z0-9]+/g, '-')
188
+ .replace(/(^-|-$)/g, '');
189
+ const epicSegment = epicId ?? 'independent';
190
+ const tmuxSessionName = this.tmuxService.createSessionName(projectSlug, epicSegment, agentId, sessionId);
191
+ await this.tmuxService.createSession(tmuxSessionName, project.rootPath);
192
+ await this.tmuxService.setAlternateScreenOff(tmuxSessionName);
193
+ this.tmuxService.startHealthCheck(tmuxSessionName, sessionId);
194
+ if (!provider.binPath) {
195
+ throw new error_types_1.ValidationError(`Provider ${provider.name} is missing a binary path. Set the path before launching sessions.`, {
196
+ providerId: provider.id,
197
+ providerName: provider.name,
137
198
  });
138
199
  }
139
- throw error;
140
- }
141
- const commandArgs = [provider.binPath, ...optionArgs];
142
- logger.info({ sessionId, provider: provider.name, commandArgs }, 'Launching agent with provider binary');
143
- await this.tmuxService.sendCommandArgs(tmuxSessionName, commandArgs);
144
- await new Promise((resolve) => setTimeout(resolve, 5000));
145
- this.sqlite
146
- .prepare(`
147
- INSERT INTO sessions (id, epic_id, agent_id, tmux_session_id, status, started_at, created_at, updated_at)
148
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)
149
- `)
150
- .run(sessionId, epicId ?? null, agentId, tmuxSessionName, 'running', now, now, now);
151
- logger.info({ sessionId, tmuxSessionName }, 'Session created in database');
152
- await this.renderAndPasteInitialPrompt({
153
- sessionId,
154
- tmuxSessionName,
155
- agentId,
156
- project: { id: project.id, name: project.name },
157
- agent,
158
- epic,
159
- profile,
160
- provider,
161
- });
162
- await this.ptyService.startStreaming(sessionId, tmuxSessionName);
163
- await this.getEventsService().publish('session.started', {
164
- sessionId,
165
- epicId: epicId ?? null,
166
- agentId,
167
- tmuxSessionName,
168
- });
169
- try {
170
- this.getTerminalGateway().broadcastEvent(`agent/${agentId}`, 'presence', {
171
- online: true,
200
+ let optionArgs = [];
201
+ try {
202
+ optionArgs = (0, profile_options_1.parseProfileOptions)(options);
203
+ }
204
+ catch (error) {
205
+ if (error instanceof profile_options_1.ProfileOptionsError) {
206
+ throw new error_types_1.ValidationError(error.message, {
207
+ profileId: profile.id,
208
+ profileName: profile.name,
209
+ });
210
+ }
211
+ throw error;
212
+ }
213
+ let commandArgs;
214
+ try {
215
+ commandArgs = (0, env_builder_1.buildSessionCommand)(envVars, provider.binPath, optionArgs);
216
+ }
217
+ catch (error) {
218
+ if (error instanceof env_builder_1.EnvBuilderError) {
219
+ throw new error_types_1.ValidationError(error.message, {
220
+ agentId,
221
+ providerConfigId: agent.providerConfigId,
222
+ });
223
+ }
224
+ throw error;
225
+ }
226
+ logger.info({ sessionId, provider: provider.name, commandArgs, hasEnvVars: !!envVars }, 'Launching agent with provider binary');
227
+ await this.tmuxService.sendCommandArgs(tmuxSessionName, commandArgs);
228
+ await new Promise((resolve) => setTimeout(resolve, 7000));
229
+ try {
230
+ this.sqlite
231
+ .prepare(`
232
+ INSERT INTO sessions (id, epic_id, agent_id, tmux_session_id, status, started_at, created_at, updated_at)
233
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
234
+ `)
235
+ .run(sessionId, epicId ?? null, agentId, tmuxSessionName, 'running', now, now, now);
236
+ logger.info({ sessionId, tmuxSessionName }, 'Session created in database');
237
+ }
238
+ catch (error) {
239
+ if (isUniqueConstraintError(error)) {
240
+ logger.warn({ agentId, tmuxSessionName, error }, 'Unique constraint violation - cleaning up orphaned tmux session and returning existing session');
241
+ try {
242
+ await this.tmuxService.destroySession(tmuxSessionName);
243
+ logger.info({ tmuxSessionName }, 'Cleaned up orphaned tmux session');
244
+ }
245
+ catch (tmuxError) {
246
+ logger.warn({ tmuxError, tmuxSessionName }, 'Failed to cleanup orphaned tmux session');
247
+ }
248
+ const existingSession = this.getActiveSessionForAgent(agentId);
249
+ if (existingSession) {
250
+ logger.info({ agentId, existingSessionId: existingSession.id }, 'Returning existing running session after constraint violation');
251
+ const existingAgent = await this.storage.getAgent(agentId);
252
+ const existingProject = await this.storage.getProject(projectId);
253
+ const existingEpic = existingSession.epicId
254
+ ? await this.storage.getEpic(existingSession.epicId).catch(() => null)
255
+ : null;
256
+ return {
257
+ ...existingSession,
258
+ epic: existingEpic
259
+ ? {
260
+ id: existingEpic.id,
261
+ title: existingEpic.title,
262
+ projectId: existingEpic.projectId,
263
+ }
264
+ : null,
265
+ agent: {
266
+ id: existingAgent.id,
267
+ name: existingAgent.name,
268
+ profileId: existingAgent.profileId,
269
+ },
270
+ project: {
271
+ id: existingProject.id,
272
+ name: existingProject.name,
273
+ rootPath: existingProject.rootPath,
274
+ },
275
+ };
276
+ }
277
+ throw error;
278
+ }
279
+ throw error;
280
+ }
281
+ await this.renderAndPasteInitialPrompt({
172
282
  sessionId,
283
+ tmuxSessionName,
173
284
  agentId,
285
+ project: { id: project.id, name: project.name },
286
+ agent,
287
+ epic,
288
+ profile,
289
+ provider,
174
290
  });
175
- }
176
- catch (error) {
177
- logger.warn({ error, agentId, sessionId }, 'Failed to broadcast presence update');
178
- }
179
- return {
180
- id: sessionId,
181
- epicId: epicId ?? null,
182
- agentId,
183
- tmuxSessionId: tmuxSessionName,
184
- status: 'running',
185
- startedAt: now,
186
- endedAt: null,
187
- createdAt: now,
188
- updatedAt: now,
189
- epic: epic
190
- ? {
191
- id: epic.id,
192
- title: epic.title,
193
- projectId: epic.projectId,
194
- }
195
- : null,
196
- agent: {
197
- id: agent.id,
198
- name: agent.name,
199
- profileId: agent.profileId,
200
- },
201
- project: {
202
- id: project.id,
203
- name: project.name,
204
- rootPath: project.rootPath,
205
- },
206
- };
291
+ await this.ptyService.startStreaming(sessionId, tmuxSessionName);
292
+ await this.getEventsService().publish('session.started', {
293
+ sessionId,
294
+ epicId: epicId ?? null,
295
+ agentId,
296
+ tmuxSessionName,
297
+ });
298
+ try {
299
+ this.getTerminalGateway().broadcastEvent(`agent/${agentId}`, 'presence', {
300
+ online: true,
301
+ sessionId,
302
+ agentId,
303
+ });
304
+ }
305
+ catch (error) {
306
+ logger.warn({ error, agentId, sessionId }, 'Failed to broadcast presence update');
307
+ }
308
+ return {
309
+ id: sessionId,
310
+ epicId: epicId ?? null,
311
+ agentId,
312
+ tmuxSessionId: tmuxSessionName,
313
+ status: 'running',
314
+ startedAt: now,
315
+ endedAt: null,
316
+ createdAt: now,
317
+ updatedAt: now,
318
+ epic: epic
319
+ ? {
320
+ id: epic.id,
321
+ title: epic.title,
322
+ projectId: epic.projectId,
323
+ }
324
+ : null,
325
+ agent: {
326
+ id: agent.id,
327
+ name: agent.name,
328
+ profileId: agent.profileId,
329
+ },
330
+ project: {
331
+ id: project.id,
332
+ name: project.name,
333
+ rootPath: project.rootPath,
334
+ },
335
+ };
336
+ });
207
337
  }
208
338
  async terminateSession(sessionId) {
209
339
  logger.info({ sessionId }, 'Terminating session');
@@ -448,7 +578,7 @@ let SessionsService = class SessionsService {
448
578
  }
449
579
  logger.info({ sessionId, tmuxSessionId: session.tmuxSessionId }, 'Injecting text into session');
450
580
  if (session.agentId) {
451
- await this.sendCoordinator.ensureAgentGap(session.agentId, 500);
581
+ await this.sendCoordinator.ensureAgentGap(session.agentId, 1000);
452
582
  }
453
583
  await this.tmuxService.pasteAndSubmit(session.tmuxSessionId, text, {
454
584
  bracketed: true,
@@ -509,7 +639,7 @@ let SessionsService = class SessionsService {
509
639
  if (!promptTitle) {
510
640
  logger.debug({ sessionId, source: 'default_template' }, 'Using default initial session prompt');
511
641
  }
512
- await this.sendCoordinator.ensureAgentGap(agentId, 500);
642
+ await this.sendCoordinator.ensureAgentGap(agentId, 1000);
513
643
  await this.tmuxService.pasteAndSubmit(tmuxSessionName, rendered, {
514
644
  bracketed: true,
515
645
  submitKeys: ['Enter'],
@@ -568,6 +698,7 @@ exports.SessionsService = SessionsService = __decorate([
568
698
  pty_service_1.PtyService,
569
699
  preflight_service_1.PreflightService,
570
700
  provider_mcp_ensure_service_1.ProviderMcpEnsureService,
701
+ session_coordinator_service_1.SessionCoordinatorService,
571
702
  core_1.ModuleRef])
572
703
  ], SessionsService);
573
704
  //# sourceMappingURL=sessions.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.service.js","sourceRoot":"","sources":["../../../../src/modules/sessions/services/sessions.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.service.js","sourceRoot":"","sources":["../../../../src/modules/sessions/services/sessions.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare class EnvBuilderError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ export declare function validateEnvKey(key: string): void;
5
+ export declare function validateEnvValue(key: string, value: string): void;
6
+ export declare function quoteEnvValue(value: string): string;
7
+ export declare function buildEnvArgs(env: Record<string, string> | null | undefined): string[];
8
+ export declare function buildSessionCommand(envVars: Record<string, string> | null | undefined, providerBinPath: string, optionArgs: string[]): string[];