@ugm/desiagent 0.1.31 → 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.
- package/README.md +12 -0
- package/dist/core/execution/dagExecutor.d.ts +4 -0
- package/dist/core/execution/dagExecutor.d.ts.map +1 -1
- package/dist/core/execution/dagExecutor.js +6 -4
- package/dist/core/execution/dagExecutor.js.map +1 -1
- package/dist/core/execution/dags.d.ts +14 -0
- package/dist/core/execution/dags.d.ts.map +1 -1
- package/dist/core/execution/dags.js +255 -18
- package/dist/core/execution/dags.js.map +1 -1
- package/dist/core/execution/executions.d.ts +1 -1
- package/dist/core/execution/executions.d.ts.map +1 -1
- package/dist/core/execution/executions.js.map +1 -1
- package/dist/core/execution/inference.d.ts +14 -14
- package/dist/core/providers/ollama.d.ts.map +1 -1
- package/dist/core/providers/ollama.js +2 -0
- package/dist/core/providers/ollama.js.map +1 -1
- package/dist/core/providers/openai.js +2 -2
- package/dist/core/providers/openai.js.map +1 -1
- package/dist/core/providers/openrouter.d.ts.map +1 -1
- package/dist/core/providers/openrouter.js +27 -6
- package/dist/core/providers/openrouter.js.map +1 -1
- package/dist/core/providers/types.d.ts +2 -0
- package/dist/core/providers/types.d.ts.map +1 -1
- package/dist/core/tools/edit.d.ts +1 -1
- package/dist/core/tools/llmExecute.d.ts +28 -28
- package/dist/core/tools/llmExecute.d.ts.map +1 -1
- package/dist/core/tools/llmExecute.js +1 -0
- package/dist/core/tools/llmExecute.js.map +1 -1
- package/dist/core/tools/sendEmail.d.ts +6 -6
- package/dist/core/tools/writeFile.d.ts +2 -2
- package/dist/db/schema.d.ts +3 -3
- package/dist/db/schema.js +1 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/types/client.d.ts +7 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/execution.d.ts +1 -1
- package/dist/types/execution.d.ts.map +1 -1
- package/dist/types/execution.js.map +1 -1
- package/dist/util/sendEmailTool.d.ts +6 -6
- 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":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQzD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,WAAW,CAAC;IAClC,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC9B,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,kBAAkB,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,SAAS,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"dagExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/execution/dagExecutor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQzD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,WAAW,CAAC;IAClC,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC9B,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,kBAAkB,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,SAAS,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAYD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AAMD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,iBAAiB;IAWrC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,yBAAyB;IA0BjC;;;OAGG;YACW,cAAc;IAsC5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAMpB,OAAO,CACX,GAAG,EAAE,aAAa,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,GAAE,eAAoB,GAC3B,OAAO,CAAC,MAAM,CAAC;YA0aJ,gBAAgB;IAuB9B,OAAO,CAAC,qBAAqB;YA6Bf,UAAU;YAmEV,QAAQ;IAKtB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,aAAa;CAatB"}
|
|
@@ -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:
|
|
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":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAW3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
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);
|
|
@@ -670,6 +748,164 @@ export class DAGsService {
|
|
|
670
748
|
});
|
|
671
749
|
return { id: executionId, status: 'running', retryCount: newRetryCount };
|
|
672
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
|
+
}
|
|
673
909
|
async get(id) {
|
|
674
910
|
const [dag] = await this.db.select().from(dags).where(eq(dags.id, id)).limit(1);
|
|
675
911
|
if (!dag) {
|
|
@@ -857,7 +1093,7 @@ export class DAGsService {
|
|
|
857
1093
|
* Generate DAG title asynchronously using TitleMaster agent
|
|
858
1094
|
* Returns null if TitleMaster is not available or fails
|
|
859
1095
|
*/
|
|
860
|
-
async generateTitleAsync(llmProvider, goalText) {
|
|
1096
|
+
async generateTitleAsync(llmProvider, goalText, abortSignal) {
|
|
861
1097
|
try {
|
|
862
1098
|
const titleMasterAgent = await this.agentsService.resolve('TitleMaster');
|
|
863
1099
|
if (!titleMasterAgent) {
|
|
@@ -871,6 +1107,7 @@ export class DAGsService {
|
|
|
871
1107
|
],
|
|
872
1108
|
temperature: 0.7,
|
|
873
1109
|
maxTokens: 100,
|
|
1110
|
+
abortSignal,
|
|
874
1111
|
});
|
|
875
1112
|
const title = titleResponse.content.trim();
|
|
876
1113
|
this.logger.info({ dagTitle: title }, 'Generated DAG title from TitleMaster');
|