@ugm/desiagent 0.1.30 → 0.1.32

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 (44) hide show
  1. package/README.md +12 -0
  2. package/dist/core/execution/dagExecutor.d.ts +4 -0
  3. package/dist/core/execution/dagExecutor.d.ts.map +1 -1
  4. package/dist/core/execution/dagExecutor.js +6 -4
  5. package/dist/core/execution/dagExecutor.js.map +1 -1
  6. package/dist/core/execution/dags.d.ts +14 -0
  7. package/dist/core/execution/dags.d.ts.map +1 -1
  8. package/dist/core/execution/dags.js +260 -18
  9. package/dist/core/execution/dags.js.map +1 -1
  10. package/dist/core/execution/executions.d.ts +1 -1
  11. package/dist/core/execution/executions.d.ts.map +1 -1
  12. package/dist/core/execution/executions.js.map +1 -1
  13. package/dist/core/execution/inference.d.ts +14 -14
  14. package/dist/core/providers/ollama.d.ts.map +1 -1
  15. package/dist/core/providers/ollama.js +2 -0
  16. package/dist/core/providers/ollama.js.map +1 -1
  17. package/dist/core/providers/openai.js +2 -2
  18. package/dist/core/providers/openai.js.map +1 -1
  19. package/dist/core/providers/openrouter.d.ts.map +1 -1
  20. package/dist/core/providers/openrouter.js +27 -6
  21. package/dist/core/providers/openrouter.js.map +1 -1
  22. package/dist/core/providers/types.d.ts +2 -0
  23. package/dist/core/providers/types.d.ts.map +1 -1
  24. package/dist/core/tools/edit.d.ts +1 -1
  25. package/dist/core/tools/grep.d.ts +1 -0
  26. package/dist/core/tools/grep.d.ts.map +1 -1
  27. package/dist/core/tools/grep.js +19 -2
  28. package/dist/core/tools/grep.js.map +1 -1
  29. package/dist/core/tools/llmExecute.d.ts +28 -28
  30. package/dist/core/tools/llmExecute.d.ts.map +1 -1
  31. package/dist/core/tools/llmExecute.js +1 -0
  32. package/dist/core/tools/llmExecute.js.map +1 -1
  33. package/dist/core/tools/sendEmail.d.ts +6 -6
  34. package/dist/core/tools/writeFile.d.ts +2 -2
  35. package/dist/db/schema.d.ts +3 -3
  36. package/dist/db/schema.js +1 -1
  37. package/dist/db/schema.js.map +1 -1
  38. package/dist/types/client.d.ts +7 -0
  39. package/dist/types/client.d.ts.map +1 -1
  40. package/dist/types/execution.d.ts +1 -1
  41. package/dist/types/execution.d.ts.map +1 -1
  42. package/dist/types/execution.js.map +1 -1
  43. package/dist/util/sendEmailTool.d.ts +6 -6
  44. package/package.json +4 -2
package/README.md CHANGED
@@ -214,6 +214,18 @@ bun run examples/news-bulletin.ts
214
214
  OPENROUTER_API_KEY=your-key bun run examples/news-bulletin-openrouter.ts
215
215
  ```
216
216
 
217
+ ## Manual Abort Tests
218
+
219
+ Use these scripts to manually verify that abort signals cancel in-flight LLM calls.
220
+
221
+ ```bash
222
+ # OpenRouter abort test
223
+ OPENROUTER_API_KEY=sk-or-... ABORT_AFTER_MS=2000 bun run test:abort:openrouter
224
+
225
+ # Ollama abort test
226
+ OLLAMA_BASE_URL=http://localhost:11434 OLLAMA_MODEL=mistral ABORT_AFTER_MS=2000 bun run test:abort:ollama
227
+ ```
228
+
217
229
  ## Development
218
230
 
219
231
  ### Setup
@@ -61,6 +61,10 @@ export interface ExecutionConfig {
61
61
  * Default: true
62
62
  */
63
63
  batchDbUpdates?: boolean;
64
+ /**
65
+ * Optional abort signal to cancel in-flight tool/LLM calls.
66
+ */
67
+ abortSignal?: AbortSignal;
64
68
  }
65
69
  export interface GlobalContext {
66
70
  formatted: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dagExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/execution/dagExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dagExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/execution/dagExecutor.ts"],"names":[],"mappings":"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"}
@@ -214,6 +214,7 @@ Respond with ONLY the expected output format. Build upon dependencies for cohere
214
214
  const execConfig = {
215
215
  skipEvents: config.skipEvents ?? false,
216
216
  batchDbUpdates: config.batchDbUpdates ?? true,
217
+ abortSignal: config.abortSignal,
217
218
  };
218
219
  if (job.clarification_needed) {
219
220
  throw new Error(`Clarification needed: ${job.clarification_query}`);
@@ -285,7 +286,7 @@ Respond with ONLY the expected output format. Build upon dependencies for cohere
285
286
  logger: this.logger,
286
287
  db: this.db,
287
288
  runId: `dag-${Date.now()}`,
288
- abortSignal: new AbortController().signal,
289
+ abortSignal: execConfig.abortSignal,
289
290
  executionId: execId,
290
291
  subStepId: task.id,
291
292
  artifactsDir: this.artifactsDir,
@@ -484,7 +485,7 @@ Respond with ONLY the expected output format. Build upon dependencies for cohere
484
485
  executionId: execId,
485
486
  ts: synthesisStartTime,
486
487
  });
487
- const synthesisResult = await this.synthesize(job.synthesis_plan, taskResults, execId);
488
+ const synthesisResult = await this.synthesize(job.synthesis_plan, taskResults, execId, execConfig.abortSignal);
488
489
  this.emitEventIfEnabled(execConfig, {
489
490
  type: ExecutionEventType.SynthesisCompleted,
490
491
  executionId: execId,
@@ -574,7 +575,7 @@ Respond with ONLY the expected output format. Build upon dependencies for cohere
574
575
  const failed = subSteps.filter(s => s.status === 'failed').length;
575
576
  const running = subSteps.filter(s => s.status === 'running').length;
576
577
  const waiting = subSteps.filter(s => s.status === 'waiting').length;
577
- const total = subSteps.length;
578
+ const total = subSteps.filter(s => s.status !== 'deleted').length;
578
579
  let status;
579
580
  if (waiting > 0) {
580
581
  status = 'waiting';
@@ -593,7 +594,7 @@ Respond with ONLY the expected output format. Build upon dependencies for cohere
593
594
  }
594
595
  return { status, completedTasks: completed, failedTasks: failed, waitingTasks: waiting };
595
596
  }
596
- async synthesize(plan, taskResults, executionId) {
597
+ async synthesize(plan, taskResults, executionId, abortSignal) {
597
598
  const context = Array.from(taskResults.entries())
598
599
  .map(([taskId, result]) => {
599
600
  const resultStr = typeof result === 'string'
@@ -618,6 +619,7 @@ Generate the final report in Markdown format as specified in the synthesis plan.
618
619
  { role: 'user', content: synthesisPrompt },
619
620
  ],
620
621
  temperature: 0.5,
622
+ abortSignal,
621
623
  });
622
624
  const synthesisSubStepId = generateSubStepId();
623
625
  await this.db.insert(dagSubSteps).values({
@@ -1 +1 @@
1
- {"version":3,"file":"dagExecutor.js","sourceRoot":"","sources":["../../../src/core/execution/dagExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dagExecutor.js","sourceRoot":"","sources":["../../../src/core/execution/dagExecutor.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ export interface CreateDAGFromGoalOptions {
42
42
  cronSchedule?: string;
43
43
  scheduleActive?: boolean;
44
44
  timezone?: string;
45
+ abortSignal?: AbortSignal;
45
46
  }
46
47
  export interface ClarificationRequiredResult {
47
48
  status: 'clarification_required';
@@ -71,6 +72,10 @@ export interface ExecuteOptions {
71
72
  */
72
73
  executionConfig?: ExecutionConfig;
73
74
  }
75
+ export interface RedoInferenceParams {
76
+ provider?: 'openai' | 'openrouter' | 'ollama';
77
+ model?: string;
78
+ }
74
79
  export interface RunExperimentsInput {
75
80
  goalText: string;
76
81
  agentName: string;
@@ -95,6 +100,11 @@ export declare class DAGsService {
95
100
  private artifactsDir;
96
101
  private logger;
97
102
  constructor(deps: DAGsServiceDeps);
103
+ private buildGlobalContext;
104
+ private buildInferencePrompt;
105
+ private deriveExecutionStatus;
106
+ private aggregateUsage;
107
+ private aggregateCost;
98
108
  createFromGoal(options: CreateDAGFromGoalOptions): Promise<DAGPlanningResult>;
99
109
  createAndExecuteFromGoal(options: CreateDAGFromGoalOptions): Promise<CreateAndExecuteResult>;
100
110
  resumeFromClarification(dagId: string, userResponse: string): Promise<DAGPlanningResult>;
@@ -107,6 +117,10 @@ export declare class DAGsService {
107
117
  status: string;
108
118
  retryCount: number;
109
119
  }>;
120
+ redoInference(executionId: string, params?: RedoInferenceParams): Promise<{
121
+ id: string;
122
+ rerunCount: number;
123
+ }>;
110
124
  get(id: string): Promise<DAG>;
111
125
  list(filter?: DAGFilter): Promise<DAG[]>;
112
126
  listScheduled(): Promise<ScheduledDAGInfo[]>;
@@ -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":"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"}
@@ -14,6 +14,7 @@ import { validateCronExpression } from '../../util/cron-validator.js';
14
14
  import { extractCodeBlock, renumberSubTasks, truncate, truncateForLog, } from '../../util/dag-utils.js';
15
15
  import { DecomposerJobSchema } from '../../types/dag.js';
16
16
  import { createLLMProvider } from '../providers/factory.js';
17
+ import { LlmExecuteTool } from '../tools/llmExecute.js';
17
18
  import { DAGExecutor } from './dagExecutor.js';
18
19
  export function generateDAGId() {
19
20
  return `dag_${nanoid(21)}`;
@@ -40,6 +41,96 @@ export class DAGsService {
40
41
  this.scheduler = deps.scheduler;
41
42
  this.artifactsDir = deps.artifactsDir || process.env.ARTIFACTS_DIR || './artifacts';
42
43
  }
44
+ buildGlobalContext(job) {
45
+ const entitiesStr = job.entities.length > 0
46
+ ? job.entities.map((e) => `• ${e.entity} (${e.type}): ${e.grounded_value}`).join('\n')
47
+ : 'None';
48
+ const formatted = `# Global Context
49
+ **Request:** ${job.original_request}
50
+ **Primary Intent:** ${job.intent.primary}
51
+ **Sub-intents:** ${job.intent.sub_intents.join('; ') || 'None'}
52
+ **Entities:**
53
+ ${entitiesStr}
54
+ **Synthesis Goal:** ${job.synthesis_plan}`;
55
+ return { formatted, totalTasks: job.sub_tasks.length };
56
+ }
57
+ buildInferencePrompt(task, globalContext, taskResults) {
58
+ const maxDepLength = 2000;
59
+ const depsStr = task.dependencies
60
+ .filter((id) => id !== 'none' && taskResults.has(id))
61
+ .map((id) => {
62
+ const result = taskResults.get(id);
63
+ const resultStr = typeof result === 'string' ? result : JSON.stringify(result);
64
+ return `[Task ${id}]: ${resultStr.length > maxDepLength ? resultStr.slice(0, maxDepLength) + '...' : resultStr}`;
65
+ })
66
+ .join('\n\n') || 'None';
67
+ return `You are an expert assistant executing a sub-task within a larger workflow.
68
+
69
+ ${globalContext.formatted}
70
+
71
+ # Current Task [${task.id}/${globalContext.totalTasks}]
72
+ **Description:** ${task.description}
73
+ **Reasoning:** ${task.thought}
74
+ **Expected Output:** ${task.expected_output}
75
+
76
+ # Dependencies
77
+ ${depsStr}
78
+
79
+ # Instruction
80
+ ${task.tool_or_prompt.params?.prompt || task.description}
81
+
82
+ Respond with ONLY the expected output format. Build upon dependencies for coherence and align with the global context.`;
83
+ }
84
+ deriveExecutionStatus(subSteps) {
85
+ const completed = subSteps.filter((s) => s.status === 'completed').length;
86
+ const failed = subSteps.filter((s) => s.status === 'failed').length;
87
+ const running = subSteps.filter((s) => s.status === 'running').length;
88
+ const waiting = subSteps.filter((s) => s.status === 'waiting').length;
89
+ const total = subSteps.filter((s) => s.status !== 'deleted').length;
90
+ let status;
91
+ if (waiting > 0) {
92
+ status = 'waiting';
93
+ }
94
+ else if (failed > 0 && completed + failed === total) {
95
+ status = failed === total ? 'failed' : 'partial';
96
+ }
97
+ else if (completed === total) {
98
+ status = 'completed';
99
+ }
100
+ else if (running > 0 || completed > 0) {
101
+ status = 'running';
102
+ }
103
+ else {
104
+ status = 'pending';
105
+ }
106
+ return { status, completedTasks: completed, failedTasks: failed, waitingTasks: waiting };
107
+ }
108
+ aggregateUsage(subSteps) {
109
+ let hasUsage = false;
110
+ let promptTokens = 0;
111
+ let completionTokens = 0;
112
+ let totalTokens = 0;
113
+ for (const step of subSteps) {
114
+ if (step.usage) {
115
+ hasUsage = true;
116
+ promptTokens += step.usage.promptTokens ?? 0;
117
+ completionTokens += step.usage.completionTokens ?? 0;
118
+ totalTokens += step.usage.totalTokens ?? 0;
119
+ }
120
+ }
121
+ return hasUsage ? { promptTokens, completionTokens, totalTokens } : null;
122
+ }
123
+ aggregateCost(subSteps) {
124
+ let totalCost = 0;
125
+ let hasCost = false;
126
+ for (const step of subSteps) {
127
+ if (step.costUsd) {
128
+ hasCost = true;
129
+ totalCost += parseFloat(step.costUsd);
130
+ }
131
+ }
132
+ return hasCost ? totalCost : null;
133
+ }
43
134
  async createFromGoal(options) {
44
135
  const { goalText, agentName, provider, model, temperature = 0.7, maxTokens = 10000, seed, cronSchedule, scheduleActive: inputScheduleActive, timezone = 'UTC', } = options;
45
136
  const scheduleActive = inputScheduleActive ?? !!cronSchedule;
@@ -103,6 +194,7 @@ export class DAGsService {
103
194
  ],
104
195
  temperature,
105
196
  maxTokens,
197
+ abortSignal: options.abortSignal,
106
198
  });
107
199
  const attemptUsage = response.usage;
108
200
  const attemptCost = response.costUsd;
@@ -251,7 +343,7 @@ export class DAGsService {
251
343
  const dagId = generateDAGId();
252
344
  const now = new Date();
253
345
  this.logger.info({ dagId }, 'DagID Generated for clarification');
254
- const titleMasterPromise = this.generateTitleAsync(activeLLMProvider, goalText);
346
+ const titleMasterPromise = this.generateTitleAsync(activeLLMProvider, goalText, options.abortSignal);
255
347
  const baseInsertData = {
256
348
  id: dagId,
257
349
  status: 'pending',
@@ -323,7 +415,7 @@ export class DAGsService {
323
415
  const now = new Date();
324
416
  this.logger.info({ dagId }, "DagID Generated");
325
417
  // Run TitleMaster generation in parallel with preparing insert data
326
- const titleMasterPromise = this.generateTitleAsync(activeLLMProvider, goalText);
418
+ const titleMasterPromise = this.generateTitleAsync(activeLLMProvider, goalText, options.abortSignal);
327
419
  // Prepare base insert data (doesn't need title yet)
328
420
  const baseInsertData = {
329
421
  id: dagId,
@@ -416,7 +508,7 @@ export class DAGsService {
416
508
  const dagId = generateDAGId();
417
509
  const now = new Date();
418
510
  this.logger.info({ dagId }, 'DagID Generated for low-coverage DAG');
419
- const titleMasterPromise = this.generateTitleAsync(activeLLMProvider, goalText);
511
+ const titleMasterPromise = this.generateTitleAsync(activeLLMProvider, goalText, options.abortSignal);
420
512
  const baseInsertData = {
421
513
  id: dagId,
422
514
  status: 'success',
@@ -490,20 +582,6 @@ export class DAGsService {
490
582
  dagId: planningResult.dagId,
491
583
  executionId: executionResult.id,
492
584
  };
493
- // if (planningResult.status === 'clarification_required') {
494
- // throw new ValidationError(
495
- // `Clarification required: ${planningResult.clarificationQuery}`,
496
- // 'clarification',
497
- // planningResult.clarificationQuery
498
- // );
499
- // }
500
- // if (planningResult.status === 'validation_error') {
501
- // throw new ValidationError(
502
- // `Validation failed for DAG ${planningResult.dagId}`,
503
- // 'validation',
504
- // planningResult.dagId
505
- // );
506
- // }
507
585
  }
508
586
  async resumeFromClarification(dagId, userResponse) {
509
587
  const [existingDag] = await this.db.select().from(dags).where(eq(dags.id, dagId)).limit(1);
@@ -540,6 +618,11 @@ export class DAGsService {
540
618
  generationStats: newDagRecord[0].generationStats,
541
619
  attempts: (existingDag.attempts || 0) + (newDagRecord[0].attempts || 1),
542
620
  dagTitle: newDagRecord[0].dagTitle || existingDag.dagTitle,
621
+ params: {
622
+ ...(newDagRecord[0].params || {}),
623
+ ...(existingDag.params || {}),
624
+ goalText: augmentedGoalText,
625
+ },
543
626
  planningTotalUsage: newDagRecord[0].planningTotalUsage,
544
627
  planningTotalCostUsd: newDagRecord[0].planningTotalCostUsd,
545
628
  planningAttempts: [
@@ -665,6 +748,164 @@ export class DAGsService {
665
748
  });
666
749
  return { id: executionId, status: 'running', retryCount: newRetryCount };
667
750
  }
751
+ async redoInference(executionId, params) {
752
+ if (params && (!params.provider || !params.model)) {
753
+ throw new ValidationError('provider and model are required when overrides are provided', 'params', params);
754
+ }
755
+ const [execution] = await this.db.select().from(dagExecutions).where(eq(dagExecutions.id, executionId)).limit(1);
756
+ if (!execution) {
757
+ throw new NotFoundError('DAG Execution', executionId);
758
+ }
759
+ if (execution.status !== 'completed') {
760
+ throw new ValidationError(`Cannot redo inference for execution with status '${execution.status}'. Only completed executions are eligible.`, 'status', execution.status);
761
+ }
762
+ if (!execution.dagId) {
763
+ throw new ValidationError('Execution has no associated DAG. Cannot redo inference.', 'dagId', null);
764
+ }
765
+ const [dagRecord] = await this.db.select().from(dags).where(eq(dags.id, execution.dagId)).limit(1);
766
+ if (!dagRecord) {
767
+ throw new NotFoundError('DAG', execution.dagId);
768
+ }
769
+ const job = DecomposerJobSchema.parse(dagRecord.result);
770
+ // if (job.clarification_needed) {
771
+ // throw new ValidationError(
772
+ // `Clarification required: ${job.clarification_query}`,
773
+ // 'clarification',
774
+ // job.clarification_query
775
+ // );
776
+ // }
777
+ const allSubSteps = await this.db.query.dagSubSteps.findMany({
778
+ where: eq(dagSubSteps.executionId, executionId),
779
+ orderBy: [dagSubSteps.taskId],
780
+ });
781
+ const inferenceTargets = allSubSteps
782
+ .filter((step) => step.status === 'completed' && step.toolOrPromptName === 'inference')
783
+ .sort((a, b) => a.taskId.localeCompare(b.taskId));
784
+ if (inferenceTargets.length === 0) {
785
+ throw new ValidationError('No completed inference sub-steps found to redo.', 'subSteps', executionId);
786
+ }
787
+ const taskResults = new Map();
788
+ const latestResults = new Map();
789
+ for (const step of allSubSteps) {
790
+ if (step.status !== 'completed') {
791
+ continue;
792
+ }
793
+ const timestamp = step.updatedAt ? new Date(step.updatedAt).getTime() : 0;
794
+ const existing = latestResults.get(step.taskId);
795
+ if (!existing || timestamp >= existing.updatedAt) {
796
+ latestResults.set(step.taskId, { updatedAt: timestamp, result: step.result });
797
+ }
798
+ }
799
+ for (const [taskId, snapshot] of latestResults.entries()) {
800
+ taskResults.set(taskId, snapshot.result);
801
+ }
802
+ const globalContext = this.buildGlobalContext(job);
803
+ const llmExecuteTool = new LlmExecuteTool();
804
+ const overrideProvider = params?.provider;
805
+ const overrideModel = params?.model;
806
+ try {
807
+ for (const target of inferenceTargets) {
808
+ const task = job.sub_tasks.find((t) => t.id === target.taskId);
809
+ if (!task) {
810
+ throw new ValidationError(`No task definition found for sub-step ${target.taskId}.`, 'taskId', target.taskId);
811
+ }
812
+ const now = new Date();
813
+ const pendingSubStepId = generateSubStepId();
814
+ const pendingParams = {
815
+ ...(target.toolOrPromptParams || {}),
816
+ ...(overrideProvider && overrideModel ? { provider: overrideProvider, model: overrideModel } : {}),
817
+ };
818
+ await this.db.update(dagSubSteps)
819
+ .set({ status: 'deleted', updatedAt: now })
820
+ .where(eq(dagSubSteps.id, target.id));
821
+ await this.db.insert(dagSubSteps).values({
822
+ id: pendingSubStepId,
823
+ executionId: target.executionId,
824
+ taskId: target.taskId,
825
+ description: target.description,
826
+ thought: target.thought,
827
+ actionType: target.actionType,
828
+ toolOrPromptName: target.toolOrPromptName,
829
+ toolOrPromptParams: pendingParams,
830
+ dependencies: target.dependencies,
831
+ status: 'pending',
832
+ createdAt: now,
833
+ updatedAt: now,
834
+ });
835
+ await this.db.update(dagSubSteps)
836
+ .set({ status: 'running', startedAt: now })
837
+ .where(eq(dagSubSteps.id, pendingSubStepId));
838
+ const fullPrompt = this.buildInferencePrompt(task, globalContext, taskResults);
839
+ const agent = await this.agentsService.resolve(target.toolOrPromptName);
840
+ if (!agent) {
841
+ throw new NotFoundError('Agent', target.toolOrPromptName);
842
+ }
843
+ const provider = overrideProvider || agent.provider;
844
+ const model = overrideModel || agent.model;
845
+ const execStart = Date.now();
846
+ try {
847
+ const result = await llmExecuteTool.execute({
848
+ provider,
849
+ model,
850
+ task: agent.systemPrompt,
851
+ prompt: fullPrompt,
852
+ }, {
853
+ logger: this.logger,
854
+ db: this.db,
855
+ runId: `redo-inference-${Date.now()}`,
856
+ executionId,
857
+ subStepId: pendingSubStepId,
858
+ });
859
+ await this.db.update(dagSubSteps)
860
+ .set({
861
+ status: 'completed',
862
+ result: result.content,
863
+ completedAt: new Date(),
864
+ durationMs: Date.now() - execStart,
865
+ usage: result.usage,
866
+ costUsd: result.costUsd?.toString(),
867
+ generationStats: result.generationStats,
868
+ updatedAt: new Date(),
869
+ })
870
+ .where(eq(dagSubSteps.id, pendingSubStepId));
871
+ taskResults.set(target.taskId, result.content);
872
+ }
873
+ catch (error) {
874
+ const errorMessage = error instanceof Error ? error.message : String(error);
875
+ await this.db.update(dagSubSteps)
876
+ .set({
877
+ status: 'failed',
878
+ error: errorMessage,
879
+ completedAt: new Date(),
880
+ durationMs: Date.now() - execStart,
881
+ updatedAt: new Date(),
882
+ })
883
+ .where(eq(dagSubSteps.id, pendingSubStepId));
884
+ throw error;
885
+ }
886
+ }
887
+ }
888
+ finally {
889
+ const refreshedSubSteps = await this.db.query.dagSubSteps.findMany({
890
+ where: eq(dagSubSteps.executionId, executionId),
891
+ });
892
+ const statusData = this.deriveExecutionStatus(refreshedSubSteps);
893
+ const totalUsage = this.aggregateUsage(refreshedSubSteps);
894
+ const totalCostUsd = this.aggregateCost(refreshedSubSteps);
895
+ await this.db.update(dagExecutions)
896
+ .set({
897
+ status: statusData.status,
898
+ completedTasks: statusData.completedTasks,
899
+ failedTasks: statusData.failedTasks,
900
+ waitingTasks: statusData.waitingTasks,
901
+ totalUsage,
902
+ totalCostUsd: totalCostUsd?.toString(),
903
+ updatedAt: new Date(),
904
+ })
905
+ .where(eq(dagExecutions.id, executionId));
906
+ }
907
+ return { id: executionId, rerunCount: inferenceTargets.length };
908
+ }
668
909
  async get(id) {
669
910
  const [dag] = await this.db.select().from(dags).where(eq(dags.id, id)).limit(1);
670
911
  if (!dag) {
@@ -852,7 +1093,7 @@ export class DAGsService {
852
1093
  * Generate DAG title asynchronously using TitleMaster agent
853
1094
  * Returns null if TitleMaster is not available or fails
854
1095
  */
855
- async generateTitleAsync(llmProvider, goalText) {
1096
+ async generateTitleAsync(llmProvider, goalText, abortSignal) {
856
1097
  try {
857
1098
  const titleMasterAgent = await this.agentsService.resolve('TitleMaster');
858
1099
  if (!titleMasterAgent) {
@@ -866,6 +1107,7 @@ export class DAGsService {
866
1107
  ],
867
1108
  temperature: 0.7,
868
1109
  maxTokens: 100,
1110
+ abortSignal,
869
1111
  });
870
1112
  const title = titleResponse.content.trim();
871
1113
  this.logger.info({ dagTitle: title }, 'Generated DAG title from TitleMaster');