@ugm/desiagent 0.1.21 → 0.1.24

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 (38) hide show
  1. package/dist/core/execution/dags.d.ts +7 -19
  2. package/dist/core/execution/dags.d.ts.map +1 -1
  3. package/dist/core/execution/dags.js +267 -40
  4. package/dist/core/execution/dags.js.map +1 -1
  5. package/dist/core/execution/inference.d.ts +132 -0
  6. package/dist/core/execution/inference.d.ts.map +1 -0
  7. package/dist/core/execution/inference.js +112 -0
  8. package/dist/core/execution/inference.js.map +1 -0
  9. package/dist/core/providers/types.d.ts +22 -1
  10. package/dist/core/providers/types.d.ts.map +1 -1
  11. package/dist/core/tools/fetchPage.d.ts +1 -1
  12. package/dist/core/tools/llmExecute.d.ts +16 -16
  13. package/dist/core/tools/llmExecute.d.ts.map +1 -1
  14. package/dist/core/tools/llmExecute.js +39 -1
  15. package/dist/core/tools/llmExecute.js.map +1 -1
  16. package/dist/core/tools/readEmail.d.ts +2 -2
  17. package/dist/core/tools/sendEmail.d.ts +10 -10
  18. package/dist/core/tools/sendEmail.d.ts.map +1 -1
  19. package/dist/core/tools/sendEmail.js +5 -2
  20. package/dist/core/tools/sendEmail.js.map +1 -1
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +2 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/types/client.d.ts +7 -19
  26. package/dist/types/client.d.ts.map +1 -1
  27. package/dist/types/config.d.ts +4 -4
  28. package/dist/types/config.d.ts.map +1 -1
  29. package/dist/types/config.js +1 -1
  30. package/dist/types/config.js.map +1 -1
  31. package/dist/types/execution.d.ts +1 -3
  32. package/dist/types/execution.d.ts.map +1 -1
  33. package/dist/types/execution.js.map +1 -1
  34. package/dist/util/logger.d.ts +7 -0
  35. package/dist/util/logger.d.ts.map +1 -1
  36. package/dist/util/logger.js +45 -3
  37. package/dist/util/logger.js.map +1 -1
  38. package/package.json +1 -1
@@ -46,31 +46,18 @@ export interface CreateDAGFromGoalOptions {
46
46
  }
47
47
  export interface ClarificationRequiredResult {
48
48
  status: 'clarification_required';
49
+ dagId: string;
49
50
  clarificationQuery: string;
50
- result: DecomposerJob;
51
- usage?: {
52
- promptTokens: number;
53
- completionTokens: number;
54
- totalTokens: number;
55
- } | null;
56
- generationStats?: Record<string, any> | null;
57
51
  }
58
52
  export interface DAGCreatedResult {
59
53
  status: 'success';
60
54
  dagId: string;
61
55
  }
62
- export interface UnpersistedResult {
63
- status: 'success';
64
- result: DecomposerJob;
65
- usage?: {
66
- promptTokens: number;
67
- completionTokens: number;
68
- totalTokens: number;
69
- } | null;
70
- generationStats?: Record<string, any> | null;
71
- attempts: number;
56
+ export interface ValidationErrorResult {
57
+ status: 'validation_error';
58
+ dagId: string;
72
59
  }
73
- export type DAGPlanningResult = ClarificationRequiredResult | DAGCreatedResult | UnpersistedResult;
60
+ export type DAGPlanningResult = ClarificationRequiredResult | DAGCreatedResult | ValidationErrorResult;
74
61
  export interface ExecuteOptions {
75
62
  provider?: 'openai' | 'openrouter' | 'ollama';
76
63
  model?: string;
@@ -113,9 +100,10 @@ export declare class DAGsService {
113
100
  constructor(deps: DAGsServiceDeps);
114
101
  createFromGoal(options: CreateDAGFromGoalOptions): Promise<DAGPlanningResult>;
115
102
  createAndExecuteFromGoal(options: CreateDAGFromGoalOptions): Promise<{
116
- dagId?: string;
103
+ dagId: string;
117
104
  executionId: string;
118
105
  }>;
106
+ resumeFromClarification(dagId: string, userResponse: string): Promise<DAGPlanningResult>;
119
107
  execute(dagId: string, _options?: ExecuteOptions): Promise<{
120
108
  id: string;
121
109
  status: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dags.d.ts","sourceRoot":"","sources":["../../../src/core/execution/dags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dags.d.ts","sourceRoot":"","sources":["../../../src/core/execution/dags.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAU3D,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAErE,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,MAAM,WAAW,YAAY;IAC3B,mBAAmB,CAAC,GAAG,EAAE;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IACnF,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,SAAS,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiBD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AAEvG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,aAAa,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC7C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAC,CAAe;IACjC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAe;gBAEjB,IAAI,EAAE,eAAe;IAS3B,cAAc,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2f7E,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IA0B5G,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiExF,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAmF1F,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAoE7F,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAgE3H,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAU7B,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAYxC,aAAa,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA2B5C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACxC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,GAAG,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAoDX,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrC,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC;QACxD,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,KAAK,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,OAAO,EAAE,OAAO,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC;IAoEI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAgBtD;;;OAGG;YACW,kBAAkB;IAwChC,OAAO,CAAC,MAAM;CAuBf"}
@@ -136,7 +136,46 @@ export class DAGsService {
136
136
  });
137
137
  this.logger.error({ err: parseError, attempt, responsePreview: response.content.slice(0, 80) }, 'Failed to parse LLM response as JSON');
138
138
  if (attempt >= maxAttempts) {
139
- throw new ValidationError(`LLM response is not valid JSON after ${attempt} attempts`, 'response', response.content.slice(0, 500));
139
+ const dagId = generateDAGId();
140
+ const now = new Date();
141
+ this.logger.info({ dagId }, 'DagID Generated for parse error');
142
+ const insertData = {
143
+ id: dagId,
144
+ status: 'validation_error',
145
+ result: { rawResponse: response.content },
146
+ usage: attemptUsage,
147
+ generationStats: attemptGenStats,
148
+ attempts: attempt,
149
+ agentName,
150
+ dagTitle: null,
151
+ cronSchedule: cronSchedule || null,
152
+ scheduleActive,
153
+ timezone,
154
+ params: {
155
+ goalText,
156
+ agentName,
157
+ provider,
158
+ model,
159
+ temperature,
160
+ max_tokens: maxTokens,
161
+ seed,
162
+ },
163
+ planningTotalUsage: planningUsageTotal,
164
+ planningTotalCostUsd: planningCostTotal.toString(),
165
+ planningAttempts,
166
+ createdAt: now,
167
+ updatedAt: now,
168
+ };
169
+ try {
170
+ await this.db.insert(dags).values(insertData);
171
+ }
172
+ catch (dbError) {
173
+ const dbErrorMessage = dbError instanceof Error ? dbError.message : String(dbError);
174
+ this.logger.error({ err: dbError, dagId }, 'Failed to insert validation_error DAG');
175
+ throw new Error(`Database insert failed for validation_error DAG ${dagId}: ${dbErrorMessage}`);
176
+ }
177
+ this.logger.info({ dagId, agentName, error: errorMessage }, 'Validation error DAG saved (parse error)');
178
+ return { status: 'validation_error', dagId };
140
179
  }
141
180
  retryReason = 'retry_parse_error';
142
181
  continue;
@@ -155,7 +194,46 @@ export class DAGsService {
155
194
  });
156
195
  this.logger.error({ errors: validatedResult.error.issues, attempt }, 'DAG validation failed');
157
196
  if (attempt >= maxAttempts) {
158
- throw new ValidationError(`Invalid DAG structure after ${attempt} attempts`, 'result', JSON.stringify(validatedResult.error.issues));
197
+ const dagId = generateDAGId();
198
+ const now = new Date();
199
+ this.logger.info({ dagId }, 'DagID Generated for schema validation error');
200
+ const insertData = {
201
+ id: dagId,
202
+ status: 'validation_error',
203
+ result: { rawResponse: response.content, validationErrors: validatedResult.error.issues },
204
+ usage: attemptUsage,
205
+ generationStats: attemptGenStats,
206
+ attempts: attempt,
207
+ agentName,
208
+ dagTitle: null,
209
+ cronSchedule: cronSchedule || null,
210
+ scheduleActive,
211
+ timezone,
212
+ params: {
213
+ goalText,
214
+ agentName,
215
+ provider,
216
+ model,
217
+ temperature,
218
+ max_tokens: maxTokens,
219
+ seed,
220
+ },
221
+ planningTotalUsage: planningUsageTotal,
222
+ planningTotalCostUsd: planningCostTotal.toString(),
223
+ planningAttempts,
224
+ createdAt: now,
225
+ updatedAt: now,
226
+ };
227
+ try {
228
+ await this.db.insert(dags).values(insertData);
229
+ }
230
+ catch (dbError) {
231
+ const dbErrorMessage = dbError instanceof Error ? dbError.message : String(dbError);
232
+ this.logger.error({ err: dbError, dagId }, 'Failed to insert validation_error DAG');
233
+ throw new Error(`Database insert failed for validation_error DAG ${dagId}: ${dbErrorMessage}`);
234
+ }
235
+ this.logger.info({ dagId, agentName, errors: validatedResult.error.issues }, 'Validation error DAG saved (schema error)');
236
+ return { status: 'validation_error', dagId };
159
237
  }
160
238
  retryReason = 'retry_validation';
161
239
  continue;
@@ -170,12 +248,72 @@ export class DAGsService {
170
248
  let dag = validatedResult.data;
171
249
  if (dag.clarification_needed) {
172
250
  this.logger.info({ clarificationQuery: dag.clarification_query }, 'Clarification required');
251
+ const dagId = generateDAGId();
252
+ const now = new Date();
253
+ this.logger.info({ dagId }, 'DagID Generated for clarification');
254
+ const titleMasterPromise = this.generateTitleAsync(activeLLMProvider, goalText);
255
+ const baseInsertData = {
256
+ id: dagId,
257
+ status: 'pending',
258
+ result: dag,
259
+ usage: usage,
260
+ generationStats: generationStats,
261
+ attempts: attempt,
262
+ agentName,
263
+ dagTitle: null,
264
+ cronSchedule: cronSchedule || null,
265
+ scheduleActive,
266
+ timezone,
267
+ params: {
268
+ goalText,
269
+ agentName,
270
+ provider,
271
+ model,
272
+ temperature,
273
+ max_tokens: maxTokens,
274
+ seed,
275
+ },
276
+ planningTotalUsage: planningUsageTotal,
277
+ planningTotalCostUsd: planningCostTotal.toString(),
278
+ planningAttempts,
279
+ createdAt: now,
280
+ updatedAt: now,
281
+ };
282
+ const titleResult = await titleMasterPromise;
283
+ if (titleResult) {
284
+ this.logger.info('TitleMaster generated Result for clarification');
285
+ baseInsertData.dagTitle = titleResult.title;
286
+ planningAttempts.push({
287
+ attempt,
288
+ reason: 'title_master',
289
+ usage: titleResult.usage,
290
+ costUsd: titleResult.costUsd,
291
+ generationStats: titleResult.generationStats,
292
+ });
293
+ if (titleResult.usage) {
294
+ planningUsageTotal.promptTokens += titleResult.usage.promptTokens ?? 0;
295
+ planningUsageTotal.completionTokens += titleResult.usage.completionTokens ?? 0;
296
+ planningUsageTotal.totalTokens += titleResult.usage.totalTokens ?? 0;
297
+ }
298
+ if (titleResult.costUsd != null) {
299
+ planningCostTotal += titleResult.costUsd;
300
+ }
301
+ baseInsertData.planningTotalUsage = planningUsageTotal;
302
+ baseInsertData.planningTotalCostUsd = planningCostTotal.toString();
303
+ }
304
+ try {
305
+ await this.db.insert(dags).values(baseInsertData);
306
+ }
307
+ catch (dbError) {
308
+ const errorMessage = dbError instanceof Error ? dbError.message : String(dbError);
309
+ this.logger.error({ err: dbError, dagId }, 'Failed to insert clarification DAG into database');
310
+ throw new Error(`Database insert failed for clarification DAG ${dagId}: ${errorMessage}`);
311
+ }
312
+ this.logger.info({ dagId, agentName, clarificationQuery: dag.clarification_query }, 'Clarification DAG saved to database');
173
313
  return {
174
314
  status: 'clarification_required',
315
+ dagId,
175
316
  clarificationQuery: dag.clarification_query || '',
176
- result: dag,
177
- usage,
178
- generationStats,
179
317
  };
180
318
  }
181
319
  if (dag.validation.coverage === 'high') {
@@ -273,13 +411,71 @@ export class DAGsService {
273
411
  retryReason = 'retry_gaps';
274
412
  continue;
275
413
  }
276
- return {
414
+ dag = renumberSubTasks(dag);
415
+ dag.original_request = goalText;
416
+ const dagId = generateDAGId();
417
+ const now = new Date();
418
+ this.logger.info({ dagId }, 'DagID Generated for low-coverage DAG');
419
+ const titleMasterPromise = this.generateTitleAsync(activeLLMProvider, goalText);
420
+ const baseInsertData = {
421
+ id: dagId,
277
422
  status: 'success',
278
423
  result: dag,
279
- usage,
280
- generationStats,
424
+ usage: usage,
425
+ generationStats: generationStats,
281
426
  attempts: attempt,
427
+ agentName,
428
+ dagTitle: null,
429
+ cronSchedule: cronSchedule || null,
430
+ scheduleActive,
431
+ timezone,
432
+ params: {
433
+ goalText,
434
+ agentName,
435
+ provider,
436
+ model,
437
+ temperature,
438
+ max_tokens: maxTokens,
439
+ seed,
440
+ },
441
+ planningTotalUsage: planningUsageTotal,
442
+ planningTotalCostUsd: planningCostTotal.toString(),
443
+ planningAttempts,
444
+ createdAt: now,
445
+ updatedAt: now,
282
446
  };
447
+ const titleResult = await titleMasterPromise;
448
+ if (titleResult) {
449
+ this.logger.info('TitleMaster generated Result for low-coverage DAG');
450
+ baseInsertData.dagTitle = titleResult.title;
451
+ planningAttempts.push({
452
+ attempt,
453
+ reason: 'title_master',
454
+ usage: titleResult.usage,
455
+ costUsd: titleResult.costUsd,
456
+ generationStats: titleResult.generationStats,
457
+ });
458
+ if (titleResult.usage) {
459
+ planningUsageTotal.promptTokens += titleResult.usage.promptTokens ?? 0;
460
+ planningUsageTotal.completionTokens += titleResult.usage.completionTokens ?? 0;
461
+ planningUsageTotal.totalTokens += titleResult.usage.totalTokens ?? 0;
462
+ }
463
+ if (titleResult.costUsd != null) {
464
+ planningCostTotal += titleResult.costUsd;
465
+ }
466
+ baseInsertData.planningTotalUsage = planningUsageTotal;
467
+ baseInsertData.planningTotalCostUsd = planningCostTotal.toString();
468
+ }
469
+ try {
470
+ await this.db.insert(dags).values(baseInsertData);
471
+ }
472
+ catch (dbError) {
473
+ const errorMessage = dbError instanceof Error ? dbError.message : String(dbError);
474
+ this.logger.error({ err: dbError, dagId }, 'Failed to insert low-coverage DAG');
475
+ throw new Error(`Database insert failed for low-coverage DAG ${dagId}: ${errorMessage}`);
476
+ }
477
+ this.logger.info({ dagId, agentName }, 'Low-coverage DAG saved to database');
478
+ return { status: 'success', dagId };
283
479
  }
284
480
  throw new ValidationError(`Failed to create DAG after ${maxAttempts} attempts`, 'attempts', maxAttempts);
285
481
  }
@@ -288,19 +484,64 @@ export class DAGsService {
288
484
  if (planningResult.status === 'clarification_required') {
289
485
  throw new ValidationError(`Clarification required: ${planningResult.clarificationQuery}`, 'clarification', planningResult.clarificationQuery);
290
486
  }
291
- if (planningResult.status === 'success' && 'dagId' in planningResult) {
292
- const executionResult = await this.execute(planningResult.dagId);
293
- return {
294
- dagId: planningResult.dagId,
295
- executionId: executionResult.id,
296
- };
487
+ if (planningResult.status === 'validation_error') {
488
+ throw new ValidationError(`Validation failed for DAG ${planningResult.dagId}`, 'validation', planningResult.dagId);
489
+ }
490
+ const executionResult = await this.execute(planningResult.dagId);
491
+ return {
492
+ dagId: planningResult.dagId,
493
+ executionId: executionResult.id,
494
+ };
495
+ }
496
+ async resumeFromClarification(dagId, userResponse) {
497
+ const [existingDag] = await this.db.select().from(dags).where(eq(dags.id, dagId)).limit(1);
498
+ if (!existingDag) {
499
+ throw new NotFoundError('DAG', dagId);
500
+ }
501
+ if (existingDag.status !== 'pending') {
502
+ throw new ValidationError(`Cannot resume DAG with status '${existingDag.status}'. Only 'pending' DAGs can be resumed.`, 'status', existingDag.status);
297
503
  }
298
- const result = planningResult.result;
299
- const executionResult = await this.executeDefinition({
300
- definition: result,
301
- originalGoalText: options.goalText,
504
+ const params = existingDag.params;
505
+ const originalGoalText = params?.goalText || '';
506
+ const augmentedGoalText = `${originalGoalText}\n\nUser clarification: ${userResponse}`;
507
+ this.logger.info({ dagId, originalGoalText: truncateForLog(originalGoalText) }, 'Resuming clarification DAG');
508
+ const planningResult = await this.createFromGoal({
509
+ goalText: augmentedGoalText,
510
+ agentName: params?.agentName || existingDag.agentName || 'Decomposer',
511
+ provider: params?.provider,
512
+ model: params?.model,
513
+ temperature: params?.temperature ?? 0.7,
514
+ maxTokens: params?.max_tokens ?? 10000,
515
+ seed: params?.seed,
516
+ cronSchedule: existingDag.cronSchedule || undefined,
517
+ scheduleActive: existingDag.scheduleActive ?? false,
518
+ timezone: existingDag.timezone || 'UTC',
302
519
  });
303
- return { executionId: executionResult.id };
520
+ if (planningResult.status === 'success') {
521
+ const newDagRecord = await this.db.select().from(dags).where(eq(dags.id, planningResult.dagId)).limit(1);
522
+ if (newDagRecord.length > 0) {
523
+ const now = new Date();
524
+ await this.db.update(dags).set({
525
+ status: 'success',
526
+ result: newDagRecord[0].result,
527
+ usage: newDagRecord[0].usage,
528
+ generationStats: newDagRecord[0].generationStats,
529
+ attempts: (existingDag.attempts || 0) + (newDagRecord[0].attempts || 1),
530
+ dagTitle: newDagRecord[0].dagTitle || existingDag.dagTitle,
531
+ planningTotalUsage: newDagRecord[0].planningTotalUsage,
532
+ planningTotalCostUsd: newDagRecord[0].planningTotalCostUsd,
533
+ planningAttempts: [
534
+ ...(existingDag.planningAttempts || []),
535
+ ...(newDagRecord[0].planningAttempts || []),
536
+ ],
537
+ updatedAt: now,
538
+ }).where(eq(dags.id, dagId));
539
+ await this.db.delete(dags).where(eq(dags.id, planningResult.dagId));
540
+ this.logger.info({ dagId, newDagId: planningResult.dagId }, 'Merged resumed DAG into original');
541
+ return { status: 'success', dagId };
542
+ }
543
+ }
544
+ return planningResult;
304
545
  }
305
546
  async execute(dagId, _options) {
306
547
  const [dagRecord] = await this.db.select().from(dags).where(eq(dags.id, dagId)).limit(1);
@@ -595,29 +836,17 @@ export class DAGsService {
595
836
  temperature,
596
837
  seed,
597
838
  });
598
- if (result.status === 'success' && 'dagId' in result) {
839
+ if (result.status === 'success') {
599
840
  dagId = result.dagId;
600
841
  success = true;
601
842
  }
602
- else if (result.status === 'success' && 'result' in result) {
603
- const persistedDagId = generateDAGId();
604
- const unpersistedResult = result;
605
- const now = new Date();
606
- await this.db.insert(dags).values({
607
- id: persistedDagId,
608
- status: 'success',
609
- result: unpersistedResult.result,
610
- usage: unpersistedResult.usage,
611
- generationStats: unpersistedResult.generationStats,
612
- attempts: unpersistedResult.attempts,
613
- params: { goalText, agentName, provider, model, temperature, seed },
614
- createdAt: now,
615
- updatedAt: now,
616
- });
617
- dagId = persistedDagId;
618
- success = true;
843
+ else if (result.status === 'validation_error') {
844
+ dagId = result.dagId;
845
+ success = false;
846
+ error = 'Validation error';
619
847
  }
620
848
  else {
849
+ dagId = result.dagId;
621
850
  error = 'Clarification required';
622
851
  }
623
852
  this.logger.info({ dagId, model, temperature }, 'DAG experiment completed');
@@ -687,9 +916,7 @@ export class DAGsService {
687
916
  mapDAG(record) {
688
917
  return {
689
918
  id: record.id,
690
- objective: record.dagTitle || record.params?.goalText || record.params?.objective || '',
691
- nodes: [],
692
- edges: [],
919
+ dagTitle: record.dagTitle || '',
693
920
  status: record.status,
694
921
  createdAt: record.createdAt,
695
922
  updatedAt: record.updatedAt,
@@ -1 +1 @@
1
- {"version":3,"file":"dags.js","sourceRoot":"","sources":["../../../src/core/execution/dags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dags.js","sourceRoot":"","sources":["../../../src/core/execution/dags.ts"],"names":[],"mappings":"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"}