@sudocode-ai/local-server 0.1.2 → 0.1.4

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 (36) hide show
  1. package/dist/execution/output/claude-to-ag-ui.d.ts +90 -0
  2. package/dist/execution/output/claude-to-ag-ui.d.ts.map +1 -0
  3. package/dist/execution/output/claude-to-ag-ui.js +153 -0
  4. package/dist/execution/output/claude-to-ag-ui.js.map +1 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +43 -5
  7. package/dist/index.js.map +1 -1
  8. package/dist/public/assets/index-CeD4U_lo.css +1 -0
  9. package/dist/public/assets/{index-C4SmlXoo.js → index-DKAuvfy4.js} +143 -143
  10. package/dist/public/assets/index-DKAuvfy4.js.map +1 -0
  11. package/dist/public/index.html +2 -2
  12. package/dist/routes/executions.d.ts +4 -1
  13. package/dist/routes/executions.d.ts.map +1 -1
  14. package/dist/routes/executions.js +57 -1
  15. package/dist/routes/executions.js.map +1 -1
  16. package/dist/routes/issues.d.ts.map +1 -1
  17. package/dist/routes/issues.js +2 -1
  18. package/dist/routes/issues.js.map +1 -1
  19. package/dist/routes/specs.d.ts.map +1 -1
  20. package/dist/routes/specs.js +2 -1
  21. package/dist/routes/specs.js.map +1 -1
  22. package/dist/services/execution-logs-cleanup.d.ts +88 -0
  23. package/dist/services/execution-logs-cleanup.d.ts.map +1 -0
  24. package/dist/services/execution-logs-cleanup.js +137 -0
  25. package/dist/services/execution-logs-cleanup.js.map +1 -0
  26. package/dist/services/execution-logs-store.d.ts +177 -0
  27. package/dist/services/execution-logs-store.d.ts.map +1 -0
  28. package/dist/services/execution-logs-store.js +239 -0
  29. package/dist/services/execution-logs-store.js.map +1 -0
  30. package/dist/services/execution-service.d.ts +4 -1
  31. package/dist/services/execution-service.d.ts.map +1 -1
  32. package/dist/services/execution-service.js +51 -1
  33. package/dist/services/execution-service.js.map +1 -1
  34. package/package.json +3 -3
  35. package/dist/public/assets/index-C4SmlXoo.js.map +0 -1
  36. package/dist/public/assets/index-DE59j7ti.css +0 -1
@@ -0,0 +1,177 @@
1
+ /**
2
+ * ExecutionLogsStore Service
3
+ *
4
+ * Manages persistence of raw execution logs to the database.
5
+ * Provides CRUD operations for execution_logs table.
6
+ *
7
+ * @module services/execution-logs-store
8
+ */
9
+ import type Database from "better-sqlite3";
10
+ /**
11
+ * Metadata for execution logs (without the full logs text)
12
+ */
13
+ export interface LogMetadata {
14
+ execution_id: string;
15
+ byte_size: number;
16
+ line_count: number;
17
+ created_at: string;
18
+ updated_at: string;
19
+ }
20
+ /**
21
+ * Statistics about all execution logs
22
+ */
23
+ export interface LogStats {
24
+ totalExecutions: number;
25
+ totalBytes: number;
26
+ totalLines: number;
27
+ avgLinesPerExecution: number;
28
+ avgBytesPerExecution: number;
29
+ }
30
+ /**
31
+ * ExecutionLogsStore - Database service for execution logs
32
+ *
33
+ * Provides methods to store and retrieve raw agent output logs in NDJSON format.
34
+ * All logs are stored as newline-delimited JSON strings for efficient append operations.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const store = new ExecutionLogsStore(db);
39
+ * store.initializeLogs('exec-123');
40
+ * store.appendRawLog('exec-123', '{"type":"assistant","message":{...}}');
41
+ * const logs = store.getRawLogs('exec-123');
42
+ * ```
43
+ */
44
+ export declare class ExecutionLogsStore {
45
+ private db;
46
+ constructor(db: Database.Database);
47
+ /**
48
+ * Initialize empty log entry for a new execution
49
+ *
50
+ * Creates a new row in execution_logs with empty raw_logs.
51
+ * Uses INSERT OR IGNORE so calling multiple times is safe.
52
+ *
53
+ * @param executionId - Unique execution identifier
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * store.initializeLogs('exec-123');
58
+ * ```
59
+ */
60
+ initializeLogs(executionId: string): void;
61
+ /**
62
+ * Append a single log line to an execution
63
+ *
64
+ * Appends the line with a newline character and updates metadata.
65
+ * Uses prepared statement for performance.
66
+ *
67
+ * @param executionId - Unique execution identifier
68
+ * @param line - Raw log line (NDJSON format, no trailing newline)
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * store.appendRawLog('exec-123', '{"type":"assistant","message":{...}}');
73
+ * ```
74
+ */
75
+ appendRawLog(executionId: string, line: string): void;
76
+ /**
77
+ * Append multiple log lines in a single transaction
78
+ *
79
+ * More efficient than calling appendRawLog multiple times.
80
+ * Uses transaction for atomicity - all lines added or none.
81
+ *
82
+ * @param executionId - Unique execution identifier
83
+ * @param lines - Array of raw log lines
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * store.appendRawLogs('exec-123', [
88
+ * '{"type":"assistant",...}',
89
+ * '{"type":"tool_result",...}'
90
+ * ]);
91
+ * ```
92
+ */
93
+ appendRawLogs(executionId: string, lines: string[]): void;
94
+ /**
95
+ * Retrieve all raw logs for an execution
96
+ *
97
+ * Returns logs as an array of individual log lines (NDJSON).
98
+ * Empty lines are filtered out.
99
+ *
100
+ * @param executionId - Unique execution identifier
101
+ * @returns Array of log lines, or empty array if execution not found
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const logs = store.getRawLogs('exec-123');
106
+ * logs.forEach(line => {
107
+ * const message = JSON.parse(line);
108
+ * console.log(message.type);
109
+ * });
110
+ * ```
111
+ */
112
+ getRawLogs(executionId: string): string[];
113
+ /**
114
+ * Get metadata for an execution without fetching full logs
115
+ *
116
+ * Useful for displaying log size/count without loading entire log content.
117
+ *
118
+ * @param executionId - Unique execution identifier
119
+ * @returns Metadata object or null if execution not found
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * const metadata = store.getLogMetadata('exec-123');
124
+ * if (metadata) {
125
+ * console.log(`${metadata.line_count} lines, ${metadata.byte_size} bytes`);
126
+ * }
127
+ * ```
128
+ */
129
+ getLogMetadata(executionId: string): LogMetadata | null;
130
+ /**
131
+ * Delete logs for an execution
132
+ *
133
+ * Removes the entire log entry from the database.
134
+ * Foreign key constraint ensures execution must exist.
135
+ *
136
+ * @param executionId - Unique execution identifier
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * store.deleteLogs('exec-123');
141
+ * ```
142
+ */
143
+ deleteLogs(executionId: string): void;
144
+ /**
145
+ * Prune old execution logs based on age
146
+ *
147
+ * Deletes logs for completed/failed/cancelled executions older than threshold.
148
+ * Only removes logs where the execution has reached a terminal state.
149
+ *
150
+ * @param olderThanMs - Age threshold in milliseconds
151
+ * @returns Number of log entries deleted
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * // Delete logs older than 30 days
156
+ * const deleted = store.pruneOldLogs(30 * 24 * 60 * 60 * 1000);
157
+ * console.log(`Pruned ${deleted} old execution logs`);
158
+ * ```
159
+ */
160
+ pruneOldLogs(olderThanMs: number): number;
161
+ /**
162
+ * Get aggregate statistics about all execution logs
163
+ *
164
+ * Provides overview of total storage usage and averages.
165
+ *
166
+ * @returns Statistics object with totals and averages
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * const stats = store.getStats();
171
+ * console.log(`Total storage: ${stats.totalBytes} bytes`);
172
+ * console.log(`Average: ${stats.avgLinesPerExecution} lines/execution`);
173
+ * ```
174
+ */
175
+ getStats(): LogStats;
176
+ }
177
+ //# sourceMappingURL=execution-logs-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-logs-store.d.ts","sourceRoot":"","sources":["../../src/services/execution-logs-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAEzC;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAQzC;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAerD;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAUzD;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;IAezC;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAUvD;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOrC;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAmBzC;;;;;;;;;;;;;OAaG;IACH,QAAQ,IAAI,QAAQ;CA6BrB"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * ExecutionLogsStore Service
3
+ *
4
+ * Manages persistence of raw execution logs to the database.
5
+ * Provides CRUD operations for execution_logs table.
6
+ *
7
+ * @module services/execution-logs-store
8
+ */
9
+ /**
10
+ * ExecutionLogsStore - Database service for execution logs
11
+ *
12
+ * Provides methods to store and retrieve raw agent output logs in NDJSON format.
13
+ * All logs are stored as newline-delimited JSON strings for efficient append operations.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const store = new ExecutionLogsStore(db);
18
+ * store.initializeLogs('exec-123');
19
+ * store.appendRawLog('exec-123', '{"type":"assistant","message":{...}}');
20
+ * const logs = store.getRawLogs('exec-123');
21
+ * ```
22
+ */
23
+ export class ExecutionLogsStore {
24
+ db;
25
+ constructor(db) {
26
+ this.db = db;
27
+ }
28
+ /**
29
+ * Initialize empty log entry for a new execution
30
+ *
31
+ * Creates a new row in execution_logs with empty raw_logs.
32
+ * Uses INSERT OR IGNORE so calling multiple times is safe.
33
+ *
34
+ * @param executionId - Unique execution identifier
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * store.initializeLogs('exec-123');
39
+ * ```
40
+ */
41
+ initializeLogs(executionId) {
42
+ const stmt = this.db.prepare(`
43
+ INSERT OR IGNORE INTO execution_logs (execution_id, raw_logs, byte_size, line_count)
44
+ VALUES (?, '', 0, 0)
45
+ `);
46
+ stmt.run(executionId);
47
+ }
48
+ /**
49
+ * Append a single log line to an execution
50
+ *
51
+ * Appends the line with a newline character and updates metadata.
52
+ * Uses prepared statement for performance.
53
+ *
54
+ * @param executionId - Unique execution identifier
55
+ * @param line - Raw log line (NDJSON format, no trailing newline)
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * store.appendRawLog('exec-123', '{"type":"assistant","message":{...}}');
60
+ * ```
61
+ */
62
+ appendRawLog(executionId, line) {
63
+ const byteSize = Buffer.byteLength(line) + 1; // +1 for newline
64
+ const stmt = this.db.prepare(`
65
+ UPDATE execution_logs
66
+ SET raw_logs = raw_logs || ? || char(10),
67
+ byte_size = byte_size + ?,
68
+ line_count = line_count + 1,
69
+ updated_at = CURRENT_TIMESTAMP
70
+ WHERE execution_id = ?
71
+ `);
72
+ stmt.run(line, byteSize, executionId);
73
+ }
74
+ /**
75
+ * Append multiple log lines in a single transaction
76
+ *
77
+ * More efficient than calling appendRawLog multiple times.
78
+ * Uses transaction for atomicity - all lines added or none.
79
+ *
80
+ * @param executionId - Unique execution identifier
81
+ * @param lines - Array of raw log lines
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * store.appendRawLogs('exec-123', [
86
+ * '{"type":"assistant",...}',
87
+ * '{"type":"tool_result",...}'
88
+ * ]);
89
+ * ```
90
+ */
91
+ appendRawLogs(executionId, lines) {
92
+ const transaction = this.db.transaction((lines) => {
93
+ for (const line of lines) {
94
+ this.appendRawLog(executionId, line);
95
+ }
96
+ });
97
+ transaction(lines);
98
+ }
99
+ /**
100
+ * Retrieve all raw logs for an execution
101
+ *
102
+ * Returns logs as an array of individual log lines (NDJSON).
103
+ * Empty lines are filtered out.
104
+ *
105
+ * @param executionId - Unique execution identifier
106
+ * @returns Array of log lines, or empty array if execution not found
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * const logs = store.getRawLogs('exec-123');
111
+ * logs.forEach(line => {
112
+ * const message = JSON.parse(line);
113
+ * console.log(message.type);
114
+ * });
115
+ * ```
116
+ */
117
+ getRawLogs(executionId) {
118
+ const stmt = this.db.prepare(`
119
+ SELECT raw_logs FROM execution_logs WHERE execution_id = ?
120
+ `);
121
+ const result = stmt.get(executionId);
122
+ if (!result) {
123
+ return [];
124
+ }
125
+ // Split by newline and filter empty lines
126
+ return result.raw_logs.split("\n").filter((line) => line.trim().length > 0);
127
+ }
128
+ /**
129
+ * Get metadata for an execution without fetching full logs
130
+ *
131
+ * Useful for displaying log size/count without loading entire log content.
132
+ *
133
+ * @param executionId - Unique execution identifier
134
+ * @returns Metadata object or null if execution not found
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * const metadata = store.getLogMetadata('exec-123');
139
+ * if (metadata) {
140
+ * console.log(`${metadata.line_count} lines, ${metadata.byte_size} bytes`);
141
+ * }
142
+ * ```
143
+ */
144
+ getLogMetadata(executionId) {
145
+ const stmt = this.db.prepare(`
146
+ SELECT execution_id, byte_size, line_count, created_at, updated_at
147
+ FROM execution_logs
148
+ WHERE execution_id = ?
149
+ `);
150
+ return stmt.get(executionId) || null;
151
+ }
152
+ /**
153
+ * Delete logs for an execution
154
+ *
155
+ * Removes the entire log entry from the database.
156
+ * Foreign key constraint ensures execution must exist.
157
+ *
158
+ * @param executionId - Unique execution identifier
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * store.deleteLogs('exec-123');
163
+ * ```
164
+ */
165
+ deleteLogs(executionId) {
166
+ const stmt = this.db.prepare(`
167
+ DELETE FROM execution_logs WHERE execution_id = ?
168
+ `);
169
+ stmt.run(executionId);
170
+ }
171
+ /**
172
+ * Prune old execution logs based on age
173
+ *
174
+ * Deletes logs for completed/failed/cancelled executions older than threshold.
175
+ * Only removes logs where the execution has reached a terminal state.
176
+ *
177
+ * @param olderThanMs - Age threshold in milliseconds
178
+ * @returns Number of log entries deleted
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * // Delete logs older than 30 days
183
+ * const deleted = store.pruneOldLogs(30 * 24 * 60 * 60 * 1000);
184
+ * console.log(`Pruned ${deleted} old execution logs`);
185
+ * ```
186
+ */
187
+ pruneOldLogs(olderThanMs) {
188
+ // Calculate threshold timestamp as ISO string
189
+ const thresholdMs = Date.now() - olderThanMs;
190
+ const thresholdDate = new Date(thresholdMs).toISOString();
191
+ const stmt = this.db.prepare(`
192
+ DELETE FROM execution_logs
193
+ WHERE execution_id IN (
194
+ SELECT id FROM executions
195
+ WHERE status IN ('completed', 'failed', 'cancelled', 'stopped')
196
+ AND completed_at IS NOT NULL
197
+ AND completed_at < ?
198
+ )
199
+ `);
200
+ const result = stmt.run(thresholdDate);
201
+ return result.changes;
202
+ }
203
+ /**
204
+ * Get aggregate statistics about all execution logs
205
+ *
206
+ * Provides overview of total storage usage and averages.
207
+ *
208
+ * @returns Statistics object with totals and averages
209
+ *
210
+ * @example
211
+ * ```typescript
212
+ * const stats = store.getStats();
213
+ * console.log(`Total storage: ${stats.totalBytes} bytes`);
214
+ * console.log(`Average: ${stats.avgLinesPerExecution} lines/execution`);
215
+ * ```
216
+ */
217
+ getStats() {
218
+ const stmt = this.db.prepare(`
219
+ SELECT
220
+ COUNT(*) as totalExecutions,
221
+ COALESCE(SUM(byte_size), 0) as totalBytes,
222
+ COALESCE(SUM(line_count), 0) as totalLines
223
+ FROM execution_logs
224
+ `);
225
+ const result = stmt.get();
226
+ return {
227
+ totalExecutions: result.totalExecutions,
228
+ totalBytes: result.totalBytes,
229
+ totalLines: result.totalLines,
230
+ avgLinesPerExecution: result.totalExecutions > 0
231
+ ? result.totalLines / result.totalExecutions
232
+ : 0,
233
+ avgBytesPerExecution: result.totalExecutions > 0
234
+ ? result.totalBytes / result.totalExecutions
235
+ : 0,
236
+ };
237
+ }
238
+ }
239
+ //# sourceMappingURL=execution-logs-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-logs-store.js","sourceRoot":"","sources":["../../src/services/execution-logs-store.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import type Database from "better-sqlite3";
10
10
  import type { Execution } from "@sudocode-ai/types";
11
11
  import { ExecutionLifecycleService } from "./execution-lifecycle.js";
12
12
  import type { TransportManager } from "../execution/transport/transport-manager.js";
13
+ import { ExecutionLogsStore } from "./execution-logs-store.js";
13
14
  /**
14
15
  * Configuration for creating an execution
15
16
  */
@@ -73,6 +74,7 @@ export declare class ExecutionService {
73
74
  private lifecycleService;
74
75
  private repoPath;
75
76
  private transportManager?;
77
+ private logsStore;
76
78
  private activeOrchestrators;
77
79
  /**
78
80
  * Create a new ExecutionService
@@ -81,8 +83,9 @@ export declare class ExecutionService {
81
83
  * @param repoPath - Path to the git repository
82
84
  * @param lifecycleService - Optional execution lifecycle service (creates one if not provided)
83
85
  * @param transportManager - Optional transport manager for SSE streaming
86
+ * @param logsStore - Optional execution logs store (creates one if not provided)
84
87
  */
85
- constructor(db: Database.Database, repoPath: string, lifecycleService?: ExecutionLifecycleService, transportManager?: TransportManager);
88
+ constructor(db: Database.Database, repoPath: string, lifecycleService?: ExecutionLifecycleService, transportManager?: TransportManager, logsStore?: ExecutionLogsStore);
86
89
  /**
87
90
  * Prepare execution - load issue, render template, return preview
88
91
  *
@@ -1 +1 @@
1
- {"version":3,"file":"execution-service.d.ts","sourceRoot":"","sources":["../../src/services/execution-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-service.d.ts","sourceRoot":"","sources":["../../src/services/execution-service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAerE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,mBAAmB,CAAyC;IAEpE;;;;;;;;OAQG;gBAED,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,yBAAyB,EAC5C,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,SAAS,CAAC,EAAE,kBAAkB;IAWhC;;;;;;;;;OASG;IACG,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KACnC,GACA,OAAO,CAAC,sBAAsB,CAAC;IA6FlC;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC;IAkQrB;;;;;;;;;OASG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC;IAiQrB;;;;;;;OAOG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzD;;;;;;;OAOG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D;;;;;OAKG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3D;;;;;;;;;OASG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCxD;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB/B;;;;;;;;OAQG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAc5C;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAGpD"}
@@ -16,6 +16,7 @@ import { SimpleExecutionEngine } from "../execution/engine/simple-engine.js";
16
16
  import { ResilientExecutor } from "../execution/resilience/resilient-executor.js";
17
17
  import { LinearOrchestrator } from "../execution/workflow/linear-orchestrator.js";
18
18
  import { createAgUiSystem } from "../execution/output/ag-ui-integration.js";
19
+ import { ExecutionLogsStore } from "./execution-logs-store.js";
19
20
  /**
20
21
  * ExecutionService
21
22
  *
@@ -31,6 +32,7 @@ export class ExecutionService {
31
32
  lifecycleService;
32
33
  repoPath;
33
34
  transportManager;
35
+ logsStore;
34
36
  activeOrchestrators = new Map();
35
37
  /**
36
38
  * Create a new ExecutionService
@@ -39,14 +41,16 @@ export class ExecutionService {
39
41
  * @param repoPath - Path to the git repository
40
42
  * @param lifecycleService - Optional execution lifecycle service (creates one if not provided)
41
43
  * @param transportManager - Optional transport manager for SSE streaming
44
+ * @param logsStore - Optional execution logs store (creates one if not provided)
42
45
  */
43
- constructor(db, repoPath, lifecycleService, transportManager) {
46
+ constructor(db, repoPath, lifecycleService, transportManager, logsStore) {
44
47
  this.db = db;
45
48
  this.repoPath = repoPath;
46
49
  this.templateEngine = new PromptTemplateEngine();
47
50
  this.lifecycleService =
48
51
  lifecycleService || new ExecutionLifecycleService(db, repoPath);
49
52
  this.transportManager = transportManager;
53
+ this.logsStore = logsStore || new ExecutionLogsStore(db);
50
54
  }
51
55
  /**
52
56
  * Prepare execution - load issue, render template, return preview
@@ -194,6 +198,17 @@ export class ExecutionService {
194
198
  });
195
199
  workDir = this.repoPath;
196
200
  }
201
+ // Initialize empty logs for this execution
202
+ try {
203
+ this.logsStore.initializeLogs(execution.id);
204
+ }
205
+ catch (error) {
206
+ console.error("[ExecutionService] Failed to initialize logs (non-critical):", {
207
+ executionId: execution.id,
208
+ error: error instanceof Error ? error.message : String(error),
209
+ });
210
+ // Don't fail execution creation - logs are nice-to-have
211
+ }
197
212
  // 3. Build WorkflowDefinition
198
213
  const workflow = {
199
214
  id: `workflow-${execution.id}`,
@@ -258,6 +273,18 @@ export class ExecutionService {
258
273
  const line = lineBuffer.slice(0, newlineIndex);
259
274
  lineBuffer = lineBuffer.slice(newlineIndex + 1);
260
275
  if (line.trim()) {
276
+ // 1. Persist raw log immediately (before processing)
277
+ try {
278
+ this.logsStore.appendRawLog(execution.id, line);
279
+ }
280
+ catch (err) {
281
+ console.error("[ExecutionService] Failed to persist raw log (non-critical):", {
282
+ executionId: execution.id,
283
+ error: err instanceof Error ? err.message : String(err),
284
+ });
285
+ // Don't crash execution - logs are nice-to-have
286
+ }
287
+ // 2. Process through AG-UI pipeline for live clients
261
288
  agUiSystem.processor.processLine(line).catch((err) => {
262
289
  console.error("[ExecutionService] Error processing output line:", {
263
290
  error: err instanceof Error ? err.message : String(err),
@@ -403,6 +430,17 @@ Please continue working on this issue, taking into account the feedback above.`;
403
430
  worktree_path: prevExecution.worktree_path, // Reuse same worktree
404
431
  config: prevExecution.config || undefined, // Preserve config (including cleanupMode) from previous execution
405
432
  });
433
+ // Initialize empty logs for this execution
434
+ try {
435
+ this.logsStore.initializeLogs(newExecution.id);
436
+ }
437
+ catch (error) {
438
+ console.error("[ExecutionService] Failed to initialize logs (non-critical):", {
439
+ executionId: newExecution.id,
440
+ error: error instanceof Error ? error.message : String(error),
441
+ });
442
+ // Don't fail execution creation - logs are nice-to-have
443
+ }
406
444
  // 5. Build WorkflowDefinition
407
445
  const workflow = {
408
446
  id: `workflow-${newExecution.id}`,
@@ -465,6 +503,18 @@ Please continue working on this issue, taking into account the feedback above.`;
465
503
  const line = lineBuffer.slice(0, newlineIndex);
466
504
  lineBuffer = lineBuffer.slice(newlineIndex + 1);
467
505
  if (line.trim()) {
506
+ // 1. Persist raw log immediately (before processing)
507
+ try {
508
+ this.logsStore.appendRawLog(newExecution.id, line);
509
+ }
510
+ catch (err) {
511
+ console.error("[ExecutionService] Failed to persist raw log (non-critical):", {
512
+ executionId: newExecution.id,
513
+ error: err instanceof Error ? err.message : String(err),
514
+ });
515
+ // Don't crash execution - logs are nice-to-have
516
+ }
517
+ // 2. Process through AG-UI pipeline for live clients
468
518
  agUiSystem.processor.processLine(line).catch((err) => {
469
519
  console.error("[ExecutionService] Error processing output line:", {
470
520
  error: err instanceof Error ? err.message : String(err),
@@ -1 +1 @@
1
- {"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../../src/services/execution-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../../src/services/execution-service.ts"],"names":[],"mappings":"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"}