@memberjunction/ai-prompts 2.112.0 → 2.113.1
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/dist/AIPromptRunner.d.ts.map +1 -1
- package/dist/AIPromptRunner.js +271 -261
- package/dist/AIPromptRunner.js.map +1 -1
- package/dist/ExecutionPlanner.d.ts +1 -1
- package/dist/ExecutionPlanner.d.ts.map +1 -1
- package/dist/ExecutionPlanner.js +34 -32
- package/dist/ExecutionPlanner.js.map +1 -1
- package/dist/ParallelExecution.d.ts +1 -1
- package/dist/ParallelExecution.d.ts.map +1 -1
- package/dist/ParallelExecutionCoordinator.d.ts.map +1 -1
- package/dist/ParallelExecutionCoordinator.js +31 -31
- package/dist/ParallelExecutionCoordinator.js.map +1 -1
- package/package.json +9 -8
package/dist/ExecutionPlanner.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ExecutionPlanner = void 0;
|
|
4
|
-
const
|
|
4
|
+
const core_1 = require("@memberjunction/core");
|
|
5
5
|
const ai_engine_base_1 = require("@memberjunction/ai-engine-base");
|
|
6
6
|
const aiengine_1 = require("@memberjunction/aiengine");
|
|
7
7
|
const uuid_1 = require("uuid");
|
|
8
8
|
class ExecutionPlanner {
|
|
9
9
|
createExecutionPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole = 'system') {
|
|
10
|
-
(0,
|
|
10
|
+
(0, core_1.LogStatus)(`Creating execution plan for prompt "${prompt.Name}" with parallelization mode: ${prompt.ParallelizationMode}`);
|
|
11
11
|
const strategy = prompt.ParallelizationMode;
|
|
12
12
|
switch (strategy) {
|
|
13
13
|
case 'None':
|
|
@@ -19,14 +19,14 @@ class ExecutionPlanner {
|
|
|
19
19
|
case 'ModelSpecific':
|
|
20
20
|
return this.createModelSpecificPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole);
|
|
21
21
|
default:
|
|
22
|
-
(0,
|
|
22
|
+
(0, core_1.LogError)(`Unknown parallelization strategy: ${strategy}, falling back to single execution`);
|
|
23
23
|
return this.createSingleExecutionPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
createSingleExecutionPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole = 'system') {
|
|
27
27
|
const selectedModel = this.selectBestModel(prompt, promptModels, allModels, configurationId);
|
|
28
28
|
if (!selectedModel) {
|
|
29
|
-
(0,
|
|
29
|
+
(0, core_1.LogError)(`No suitable model found for prompt "${prompt.Name}"`);
|
|
30
30
|
return [];
|
|
31
31
|
}
|
|
32
32
|
const promptModel = promptModels.find((pm) => pm.ModelID === selectedModel.ID);
|
|
@@ -48,19 +48,19 @@ class ExecutionPlanner {
|
|
|
48
48
|
vendorDriverClass: vendorInfo.vendorDriverClass,
|
|
49
49
|
vendorApiName: vendorInfo.vendorApiName,
|
|
50
50
|
};
|
|
51
|
-
(0,
|
|
51
|
+
(0, core_1.LogStatus)(`Created single execution plan with model: ${selectedModel.Name}`);
|
|
52
52
|
return [task];
|
|
53
53
|
}
|
|
54
54
|
createStaticCountPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole = 'system') {
|
|
55
55
|
const parallelCount = prompt.ParallelCount || 1;
|
|
56
56
|
if (parallelCount <= 1) {
|
|
57
|
-
(0,
|
|
57
|
+
(0, core_1.LogStatus)(`StaticCount parallelization with count ${parallelCount}, falling back to single execution`);
|
|
58
58
|
return this.createSingleExecutionPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole);
|
|
59
59
|
}
|
|
60
60
|
const tasks = [];
|
|
61
61
|
const availableModels = this.getAvailableModels(prompt, promptModels, allModels, configurationId);
|
|
62
62
|
if (availableModels.length === 0) {
|
|
63
|
-
(0,
|
|
63
|
+
(0, core_1.LogError)(`No suitable models found for prompt "${prompt.Name}"`);
|
|
64
64
|
return [];
|
|
65
65
|
}
|
|
66
66
|
for (let i = 0; i < parallelCount; i++) {
|
|
@@ -87,24 +87,24 @@ class ExecutionPlanner {
|
|
|
87
87
|
};
|
|
88
88
|
tasks.push(task);
|
|
89
89
|
}
|
|
90
|
-
(0,
|
|
90
|
+
(0, core_1.LogStatus)(`Created StaticCount execution plan with ${tasks.length} parallel tasks`);
|
|
91
91
|
return tasks;
|
|
92
92
|
}
|
|
93
93
|
createConfigParamPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole = 'system') {
|
|
94
94
|
const configParamName = prompt.ParallelConfigParam;
|
|
95
95
|
if (!configParamName) {
|
|
96
|
-
(0,
|
|
96
|
+
(0, core_1.LogError)(`ConfigParam parallelization specified but ParallelConfigParam is not set for prompt "${prompt.Name}"`);
|
|
97
97
|
return this.createSingleExecutionPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole);
|
|
98
98
|
}
|
|
99
99
|
const parallelCount = this.getConfigurationParameter(configParamName, configurationId) || 1;
|
|
100
|
-
(0,
|
|
100
|
+
(0, core_1.LogStatus)(`ConfigParam parallelization: ${configParamName} = ${parallelCount}`);
|
|
101
101
|
if (parallelCount <= 1) {
|
|
102
102
|
return this.createSingleExecutionPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole);
|
|
103
103
|
}
|
|
104
104
|
const tasks = [];
|
|
105
105
|
const availableModels = this.getAvailableModels(prompt, promptModels, allModels, configurationId);
|
|
106
106
|
if (availableModels.length === 0) {
|
|
107
|
-
(0,
|
|
107
|
+
(0, core_1.LogError)(`No suitable models found for prompt "${prompt.Name}"`);
|
|
108
108
|
return [];
|
|
109
109
|
}
|
|
110
110
|
for (let i = 0; i < parallelCount; i++) {
|
|
@@ -131,20 +131,20 @@ class ExecutionPlanner {
|
|
|
131
131
|
};
|
|
132
132
|
tasks.push(task);
|
|
133
133
|
}
|
|
134
|
-
(0,
|
|
134
|
+
(0, core_1.LogStatus)(`Created ConfigParam execution plan with ${tasks.length} parallel tasks`);
|
|
135
135
|
return tasks;
|
|
136
136
|
}
|
|
137
137
|
createModelSpecificPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole = 'system') {
|
|
138
138
|
const tasks = [];
|
|
139
139
|
const activePromptModels = promptModels.filter((pm) => pm.Status === 'Active' || pm.Status === 'Preview');
|
|
140
140
|
if (activePromptModels.length === 0) {
|
|
141
|
-
(0,
|
|
141
|
+
(0, core_1.LogError)(`No active prompt models found for ModelSpecific parallelization of prompt "${prompt.Name}"`);
|
|
142
142
|
return this.createSingleExecutionPlan(prompt, promptModels, allModels, renderedPrompt, contextUser, configurationId, conversationMessages, templateMessageRole);
|
|
143
143
|
}
|
|
144
144
|
for (const promptModel of activePromptModels) {
|
|
145
145
|
const model = allModels.find((m) => m.ID === promptModel.ModelID && m.IsActive);
|
|
146
146
|
if (!model) {
|
|
147
|
-
(0,
|
|
147
|
+
(0, core_1.LogError)(`Model ${promptModel.ModelID} not found or inactive for prompt "${prompt.Name}"`);
|
|
148
148
|
continue;
|
|
149
149
|
}
|
|
150
150
|
const parallelCount = this.getModelParallelCount(promptModel);
|
|
@@ -170,12 +170,11 @@ class ExecutionPlanner {
|
|
|
170
170
|
tasks.push(task);
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
(0,
|
|
173
|
+
(0, core_1.LogStatus)(`Created ModelSpecific execution plan with ${tasks.length} tasks across ${new Set(tasks.map((t) => t.executionGroup)).size} execution groups`);
|
|
174
174
|
return tasks;
|
|
175
175
|
}
|
|
176
176
|
selectBestModel(prompt, promptModels, allModels, configurationId) {
|
|
177
|
-
const availablePromptModels = promptModels.filter((pm) => (pm.Status === 'Active' || pm.Status === 'Preview') &&
|
|
178
|
-
(!configurationId || !pm.ConfigurationID || pm.ConfigurationID === configurationId));
|
|
177
|
+
const availablePromptModels = promptModels.filter((pm) => (pm.Status === 'Active' || pm.Status === 'Preview') && (!configurationId || !pm.ConfigurationID || pm.ConfigurationID === configurationId));
|
|
179
178
|
if (availablePromptModels.length > 0) {
|
|
180
179
|
availablePromptModels.sort((a, b) => b.Priority - a.Priority);
|
|
181
180
|
const selectedPromptModel = availablePromptModels[0];
|
|
@@ -203,8 +202,7 @@ class ExecutionPlanner {
|
|
|
203
202
|
return candidateModels[0];
|
|
204
203
|
}
|
|
205
204
|
getAvailableModels(prompt, promptModels, allModels, configurationId) {
|
|
206
|
-
const availablePromptModels = promptModels.filter((pm) => (pm.Status === 'Active' || pm.Status === 'Preview') &&
|
|
207
|
-
(!configurationId || !pm.ConfigurationID || pm.ConfigurationID === configurationId));
|
|
205
|
+
const availablePromptModels = promptModels.filter((pm) => (pm.Status === 'Active' || pm.Status === 'Preview') && (!configurationId || !pm.ConfigurationID || pm.ConfigurationID === configurationId));
|
|
208
206
|
if (availablePromptModels.length > 0) {
|
|
209
207
|
const models = availablePromptModels
|
|
210
208
|
.map((pm) => allModels.find((m) => m.ID === pm.ModelID && m.IsActive))
|
|
@@ -236,14 +234,14 @@ class ExecutionPlanner {
|
|
|
236
234
|
return null;
|
|
237
235
|
}
|
|
238
236
|
if (!configurationId) {
|
|
239
|
-
(0,
|
|
237
|
+
(0, core_1.LogStatus)(`No configuration ID provided for parameter lookup: ${paramName}`);
|
|
240
238
|
return null;
|
|
241
239
|
}
|
|
242
240
|
try {
|
|
243
241
|
const aiEngine = ai_engine_base_1.AIEngineBase.Instance;
|
|
244
242
|
const configParam = aiEngine.GetConfigurationParam(configurationId, paramName);
|
|
245
243
|
if (!configParam) {
|
|
246
|
-
(0,
|
|
244
|
+
(0, core_1.LogStatus)(`Configuration parameter "${paramName}" not found in configuration "${configurationId}"`);
|
|
247
245
|
return null;
|
|
248
246
|
}
|
|
249
247
|
let value = null;
|
|
@@ -251,26 +249,26 @@ class ExecutionPlanner {
|
|
|
251
249
|
case 'number':
|
|
252
250
|
value = parseFloat(configParam.Value);
|
|
253
251
|
if (isNaN(value)) {
|
|
254
|
-
(0,
|
|
252
|
+
(0, core_1.LogError)(`Failed to parse number value for configuration parameter "${paramName}": ${configParam.Value}`);
|
|
255
253
|
return null;
|
|
256
254
|
}
|
|
257
255
|
break;
|
|
258
256
|
case 'string':
|
|
259
257
|
value = parseFloat(configParam.Value);
|
|
260
258
|
if (isNaN(value)) {
|
|
261
|
-
(0,
|
|
259
|
+
(0, core_1.LogError)(`Configuration parameter "${paramName}" is a string but expected a number: ${configParam.Value}`);
|
|
262
260
|
return null;
|
|
263
261
|
}
|
|
264
262
|
break;
|
|
265
263
|
default:
|
|
266
|
-
(0,
|
|
264
|
+
(0, core_1.LogError)(`Unsupported data type for parallel count configuration parameter "${paramName}": ${configParam.Type}`);
|
|
267
265
|
return null;
|
|
268
266
|
}
|
|
269
|
-
(0,
|
|
267
|
+
(0, core_1.LogStatus)(`Retrieved configuration parameter "${paramName}" = ${value} from configuration "${configurationId}"`);
|
|
270
268
|
return value;
|
|
271
269
|
}
|
|
272
270
|
catch (error) {
|
|
273
|
-
(0,
|
|
271
|
+
(0, core_1.LogError)(`Error retrieving configuration parameter "${paramName}": ${error.message}`);
|
|
274
272
|
return null;
|
|
275
273
|
}
|
|
276
274
|
}
|
|
@@ -282,30 +280,34 @@ class ExecutionPlanner {
|
|
|
282
280
|
return JSON.parse(modelParametersJson);
|
|
283
281
|
}
|
|
284
282
|
catch (error) {
|
|
285
|
-
(0,
|
|
283
|
+
(0, core_1.LogError)(`Failed to parse model parameters JSON: ${error.message}`);
|
|
286
284
|
return undefined;
|
|
287
285
|
}
|
|
288
286
|
}
|
|
289
287
|
selectVendorForModel(model) {
|
|
290
|
-
const inferenceProviderType = aiengine_1.AIEngine.Instance.VendorTypeDefinitions.find(
|
|
288
|
+
const inferenceProviderType = aiengine_1.AIEngine.Instance.VendorTypeDefinitions.find(vt => vt.Name === 'Inference Provider');
|
|
291
289
|
if (!inferenceProviderType) {
|
|
292
290
|
return {
|
|
293
291
|
vendorDriverClass: model.DriverClass,
|
|
294
|
-
vendorApiName: model.APIName
|
|
292
|
+
vendorApiName: model.APIName
|
|
295
293
|
};
|
|
296
294
|
}
|
|
297
|
-
const modelVendors = aiengine_1.AIEngine.Instance.ModelVendors
|
|
295
|
+
const modelVendors = aiengine_1.AIEngine.Instance.ModelVendors
|
|
296
|
+
.filter(mv => mv.ModelID === model.ID &&
|
|
297
|
+
mv.Status === 'Active' &&
|
|
298
|
+
mv.TypeID === inferenceProviderType.ID)
|
|
299
|
+
.sort((a, b) => b.Priority - a.Priority);
|
|
298
300
|
if (modelVendors.length === 0) {
|
|
299
301
|
return {
|
|
300
302
|
vendorDriverClass: model.DriverClass,
|
|
301
|
-
vendorApiName: model.APIName
|
|
303
|
+
vendorApiName: model.APIName
|
|
302
304
|
};
|
|
303
305
|
}
|
|
304
306
|
const selectedVendor = modelVendors[0];
|
|
305
307
|
return {
|
|
306
308
|
vendorId: selectedVendor.VendorID,
|
|
307
309
|
vendorDriverClass: selectedVendor.DriverClass || model.DriverClass,
|
|
308
|
-
vendorApiName: selectedVendor.APIName || model.APIName
|
|
310
|
+
vendorApiName: selectedVendor.APIName || model.APIName
|
|
309
311
|
};
|
|
310
312
|
}
|
|
311
313
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionPlanner.js","sourceRoot":"","sources":["../src/ExecutionPlanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExecutionPlanner.js","sourceRoot":"","sources":["../src/ExecutionPlanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { AIPromptEntityExtended, AIPromptModelEntity, AIModelEntityExtended, AIPromptRunEntityExtended } from '@memberjunction/core-entities';
|
|
3
|
-
import { UserInfo } from '@memberjunction/
|
|
3
|
+
import { UserInfo } from '@memberjunction/core';
|
|
4
4
|
import { ValidationResult } from '@memberjunction/global';
|
|
5
5
|
import { ChatResult, ChatMessage, StreamingChatCallbacks } from '@memberjunction/ai';
|
|
6
6
|
export interface ExecutionTask {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParallelExecution.d.ts","sourceRoot":"","sources":["../src/ParallelExecution.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ParallelExecution.d.ts","sourceRoot":"","sources":["../src/ParallelExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParallelExecutionCoordinator.d.ts","sourceRoot":"","sources":["../src/ParallelExecutionCoordinator.ts"],"names":[],"mappings":";AAIA,OAAO,EACL,aAAa,EACb,mBAAmB,EAEnB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EAE1B,MAAM,qBAAqB,CAAC;AAM7B,UAAU,0BAA0B;IAClC,kBAAkB,CAAC,EAAE,MAAM;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE;YACV,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,yBAAyB,KAAK,IAAI,CAAC;YAChG,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,IAAI,CAAC;SACpE,CAAC;KACH,CAAC;CACH;AAyGD,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,SAAS,CAAW;;IA+Bf,sBAAsB,CACjC,KAAK,EAAE,aAAa,EAAE,EACtB,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACzC,iBAAiB,CAAC,EAAE,MAAM,EAC1B,iBAAiB,CAAC,EAAE,WAAW,EAC/B,iBAAiB,CAAC,EAAE,0BAA0B,EAC9C,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ParallelExecutionCoordinator.d.ts","sourceRoot":"","sources":["../src/ParallelExecutionCoordinator.ts"],"names":[],"mappings":";AAIA,OAAO,EACL,aAAa,EACb,mBAAmB,EAEnB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EAE1B,MAAM,qBAAqB,CAAC;AAM7B,UAAU,0BAA0B;IAClC,kBAAkB,CAAC,EAAE,MAAM;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE;YACV,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,yBAAyB,KAAK,IAAI,CAAC;YAChG,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,yBAAyB,KAAK,IAAI,CAAC;SACpE,CAAC;KACH,CAAC;CACH;AAyGD,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,SAAS,CAAW;;IA+Bf,sBAAsB,CACjC,KAAK,EAAE,aAAa,EAAE,EACtB,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACzC,iBAAiB,CAAC,EAAE,MAAM,EAC1B,iBAAiB,CAAC,EAAE,WAAW,EAC/B,iBAAiB,CAAC,EAAE,0BAA0B,EAC9C,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC;IA8EtB,gBAAgB,CAC3B,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,EAAE,qBAAqB,EAC7B,iBAAiB,CAAC,EAAE,MAAM,EAC1B,iBAAiB,CAAC,EAAE,WAAW,GAC9B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAqCtC,OAAO,CAAC,0BAA0B;YA0CpB,yBAAyB;YA0DzB,sBAAsB;YA4EtB,WAAW;YAwEX,iBAAiB;IAmI/B,OAAO,CAAC,gBAAgB;IAiDxB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;YAaZ,sBAAsB;IAiHpC,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,iBAAiB;YAmDX,oBAAoB;YA+DpB,oBAAoB;YAsCpB,6BAA6B;IA4C3C,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -24,8 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.ParallelExecutionCoordinator = void 0;
|
|
27
|
+
const core_1 = require("@memberjunction/core");
|
|
27
28
|
const global_1 = require("@memberjunction/global");
|
|
28
|
-
const global_2 = require("@memberjunction/global");
|
|
29
29
|
const ai_1 = require("@memberjunction/ai");
|
|
30
30
|
const aiengine_1 = require("@memberjunction/aiengine");
|
|
31
31
|
class ParallelProgressTracker {
|
|
@@ -105,7 +105,7 @@ class ParallelProgressTracker {
|
|
|
105
105
|
}
|
|
106
106
|
class ParallelExecutionCoordinator {
|
|
107
107
|
constructor() {
|
|
108
|
-
this._metadata = new
|
|
108
|
+
this._metadata = new core_1.Metadata();
|
|
109
109
|
this._defaultConfig = {
|
|
110
110
|
maxConcurrentExecutions: 5,
|
|
111
111
|
taskTimeoutMS: 30000,
|
|
@@ -119,7 +119,7 @@ class ParallelExecutionCoordinator {
|
|
|
119
119
|
const startTime = new Date();
|
|
120
120
|
const executionConfig = { ...this._defaultConfig, ...config };
|
|
121
121
|
if (cancellationToken?.aborted) {
|
|
122
|
-
(0,
|
|
122
|
+
(0, core_1.LogStatus)('Parallel execution cancelled before starting');
|
|
123
123
|
return {
|
|
124
124
|
success: false,
|
|
125
125
|
taskResults: [],
|
|
@@ -134,7 +134,7 @@ class ParallelExecutionCoordinator {
|
|
|
134
134
|
endTime: new Date(),
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
|
-
(0,
|
|
137
|
+
(0, core_1.LogStatus)(`Starting parallel execution of ${tasks.length} tasks with config: ${JSON.stringify(executionConfig)}`);
|
|
138
138
|
try {
|
|
139
139
|
if (cancellationToken) {
|
|
140
140
|
tasks.forEach((task) => {
|
|
@@ -145,11 +145,11 @@ class ParallelExecutionCoordinator {
|
|
|
145
145
|
const progressTracker = new ParallelProgressTracker(tasks.length, executionGroups.length, progressCallbacks);
|
|
146
146
|
const allResults = await this.executeGroupsSequentially(executionGroups, executionConfig, parentPromptRunId, cancellationToken, progressTracker, agentRunId);
|
|
147
147
|
const result = this.aggregateResults(allResults, startTime, new Date());
|
|
148
|
-
(0,
|
|
148
|
+
(0, core_1.LogStatus)(`Parallel execution completed: ${result.successCount}/${tasks.length} tasks successful, ${result.failureCount} failed, ${result.cancelledCount} cancelled`);
|
|
149
149
|
return result;
|
|
150
150
|
}
|
|
151
151
|
catch (error) {
|
|
152
|
-
(0,
|
|
152
|
+
(0, core_1.LogError)(`Parallel execution failed: ${error.message}`);
|
|
153
153
|
return {
|
|
154
154
|
success: false,
|
|
155
155
|
taskResults: [],
|
|
@@ -172,7 +172,7 @@ class ParallelExecutionCoordinator {
|
|
|
172
172
|
if (results.length === 1) {
|
|
173
173
|
return results[0];
|
|
174
174
|
}
|
|
175
|
-
(0,
|
|
175
|
+
(0, core_1.LogStatus)(`Selecting best result from ${results.length} candidates using method: ${config.method}`);
|
|
176
176
|
switch (config.method) {
|
|
177
177
|
case 'First':
|
|
178
178
|
return this.selectFirstResult(results);
|
|
@@ -183,7 +183,7 @@ class ParallelExecutionCoordinator {
|
|
|
183
183
|
case 'Consensus':
|
|
184
184
|
return this.selectConsensusResult(results);
|
|
185
185
|
default:
|
|
186
|
-
(0,
|
|
186
|
+
(0, core_1.LogError)(`Unknown result selection method: ${config.method}`);
|
|
187
187
|
return results[0];
|
|
188
188
|
}
|
|
189
189
|
}
|
|
@@ -205,14 +205,14 @@ class ParallelExecutionCoordinator {
|
|
|
205
205
|
});
|
|
206
206
|
}
|
|
207
207
|
groups.sort((a, b) => a.groupNumber - b.groupNumber);
|
|
208
|
-
(0,
|
|
208
|
+
(0, core_1.LogStatus)(`Grouped ${tasks.length} tasks into ${groups.length} execution groups`);
|
|
209
209
|
return groups;
|
|
210
210
|
}
|
|
211
211
|
async executeGroupsSequentially(groups, config, parentPromptRunId, cancellationToken, progressTracker, agentRunId) {
|
|
212
212
|
const allResults = [];
|
|
213
213
|
for (const group of groups) {
|
|
214
214
|
if (cancellationToken?.aborted) {
|
|
215
|
-
(0,
|
|
215
|
+
(0, core_1.LogStatus)(`Group execution cancelled at group ${group.groupNumber}`);
|
|
216
216
|
const cancelledResults = group.tasks.map((task) => ({
|
|
217
217
|
task,
|
|
218
218
|
success: false,
|
|
@@ -225,13 +225,13 @@ class ParallelExecutionCoordinator {
|
|
|
225
225
|
allResults.push(...cancelledResults);
|
|
226
226
|
break;
|
|
227
227
|
}
|
|
228
|
-
(0,
|
|
228
|
+
(0, core_1.LogStatus)(`Executing group ${group.groupNumber} with ${group.tasks.length} tasks`);
|
|
229
229
|
progressTracker?.updateProgress(group.groupNumber);
|
|
230
230
|
const groupResults = await this.executeGroupInParallel(group, config, parentPromptRunId, cancellationToken, progressTracker, agentRunId);
|
|
231
231
|
allResults.push(...groupResults);
|
|
232
232
|
if (config.failFast && groupResults.some((r) => !r.success)) {
|
|
233
233
|
const failedTasks = groupResults.filter((r) => !r.success);
|
|
234
|
-
(0,
|
|
234
|
+
(0, core_1.LogError)(`Failing fast due to ${failedTasks.length} failed tasks in group ${group.groupNumber}`);
|
|
235
235
|
break;
|
|
236
236
|
}
|
|
237
237
|
}
|
|
@@ -245,7 +245,7 @@ class ParallelExecutionCoordinator {
|
|
|
245
245
|
let executionOrder = 0;
|
|
246
246
|
while (taskIndex < group.tasks.length || executing.length > 0) {
|
|
247
247
|
if (cancellationToken?.aborted) {
|
|
248
|
-
(0,
|
|
248
|
+
(0, core_1.LogStatus)(`Task execution cancelled in group ${group.groupNumber}`);
|
|
249
249
|
while (taskIndex < group.tasks.length) {
|
|
250
250
|
const task = group.tasks[taskIndex++];
|
|
251
251
|
results.push({
|
|
@@ -278,7 +278,7 @@ class ParallelExecutionCoordinator {
|
|
|
278
278
|
}
|
|
279
279
|
const successfulResults = results.filter((r) => r.success);
|
|
280
280
|
const cancelledResults = results.filter((r) => r.cancelled);
|
|
281
|
-
(0,
|
|
281
|
+
(0, core_1.LogStatus)(`Group ${group.groupNumber} completed: ${successfulResults.length}/${results.length} successful, ${cancelledResults.length} cancelled`);
|
|
282
282
|
return results;
|
|
283
283
|
}
|
|
284
284
|
async executeTask(task, config, parentPromptRunId, executionOrder, agentRunId) {
|
|
@@ -288,7 +288,7 @@ class ParallelExecutionCoordinator {
|
|
|
288
288
|
try {
|
|
289
289
|
if (task.cancellationToken?.aborted) {
|
|
290
290
|
const endTime = new Date();
|
|
291
|
-
(0,
|
|
291
|
+
(0, core_1.LogStatus)(`Task ${task.taskId} cancelled before attempt ${attempt + 1}`);
|
|
292
292
|
return {
|
|
293
293
|
task,
|
|
294
294
|
success: false,
|
|
@@ -301,7 +301,7 @@ class ParallelExecutionCoordinator {
|
|
|
301
301
|
}
|
|
302
302
|
if (attempt > 0) {
|
|
303
303
|
await this.delay(config.retryDelayMS * attempt);
|
|
304
|
-
(0,
|
|
304
|
+
(0, core_1.LogStatus)(`Retrying task ${task.taskId}, attempt ${attempt + 1}/${config.maxRetries + 1}`);
|
|
305
305
|
}
|
|
306
306
|
const result = await this.executeSingleTask(task, config.taskTimeoutMS, parentPromptRunId, executionOrder, agentRunId);
|
|
307
307
|
result.startTime = startTime;
|
|
@@ -310,7 +310,7 @@ class ParallelExecutionCoordinator {
|
|
|
310
310
|
}
|
|
311
311
|
catch (error) {
|
|
312
312
|
lastError = error;
|
|
313
|
-
(0,
|
|
313
|
+
(0, core_1.LogError)(`Task ${task.taskId} attempt ${attempt + 1} failed: ${error.message}`);
|
|
314
314
|
if (attempt === config.maxRetries) {
|
|
315
315
|
break;
|
|
316
316
|
}
|
|
@@ -339,7 +339,7 @@ class ParallelExecutionCoordinator {
|
|
|
339
339
|
throw new Error(`No driver class available for model ${task.model.Name}. Vendor selection may have failed.`);
|
|
340
340
|
}
|
|
341
341
|
const apiKey = (0, ai_1.GetAIAPIKey)(driverClass);
|
|
342
|
-
const llm =
|
|
342
|
+
const llm = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseLLM, driverClass, apiKey);
|
|
343
343
|
const params = new ai_1.ChatParams();
|
|
344
344
|
params.model = apiName;
|
|
345
345
|
params.cancellationToken = task.cancellationToken;
|
|
@@ -466,7 +466,7 @@ class ParallelExecutionCoordinator {
|
|
|
466
466
|
await aiengine_1.AIEngine.Instance.Config(false);
|
|
467
467
|
const judgePrompt = aiengine_1.AIEngine.Instance.Prompts.find((p) => p.ID === selectorPromptId);
|
|
468
468
|
if (!judgePrompt) {
|
|
469
|
-
(0,
|
|
469
|
+
(0, core_1.LogError)(`Judge prompt with ID ${selectorPromptId} not found`);
|
|
470
470
|
return results[0];
|
|
471
471
|
}
|
|
472
472
|
const judgeData = this.formatResultsForJudge(results);
|
|
@@ -504,12 +504,12 @@ class ParallelExecutionCoordinator {
|
|
|
504
504
|
await resultSelectorPromptRun.Save();
|
|
505
505
|
}
|
|
506
506
|
if (!judgeResult.success || !judgeResult.rawResult) {
|
|
507
|
-
(0,
|
|
507
|
+
(0, core_1.LogError)(`Judge prompt execution failed: ${judgeResult.errorMessage}`);
|
|
508
508
|
return results[0];
|
|
509
509
|
}
|
|
510
510
|
const rankings = this.parseJudgeResult(judgeResult.rawResult);
|
|
511
511
|
if (!rankings || rankings.length === 0) {
|
|
512
|
-
(0,
|
|
512
|
+
(0, core_1.LogError)('Failed to parse judge rankings');
|
|
513
513
|
return results[0];
|
|
514
514
|
}
|
|
515
515
|
this.applyRankingsToResults(results, rankings);
|
|
@@ -521,11 +521,11 @@ class ParallelExecutionCoordinator {
|
|
|
521
521
|
judgeExecutionTimeMS,
|
|
522
522
|
judgeTokensUsed: judgeResult.tokensUsed,
|
|
523
523
|
};
|
|
524
|
-
(0,
|
|
524
|
+
(0, core_1.LogStatus)(`Judge selected candidate ${bestCandidateId} as the best result`);
|
|
525
525
|
return bestResult;
|
|
526
526
|
}
|
|
527
527
|
catch (error) {
|
|
528
|
-
(0,
|
|
528
|
+
(0, core_1.LogError)(`Error in AI judge selection: ${error.message}`);
|
|
529
529
|
return results[0];
|
|
530
530
|
}
|
|
531
531
|
}
|
|
@@ -559,11 +559,11 @@ class ParallelExecutionCoordinator {
|
|
|
559
559
|
rationale: ranking.rationale || 'No rationale provided',
|
|
560
560
|
}));
|
|
561
561
|
}
|
|
562
|
-
(0,
|
|
562
|
+
(0, core_1.LogError)('Judge result does not contain valid rankings array');
|
|
563
563
|
return null;
|
|
564
564
|
}
|
|
565
565
|
catch (error) {
|
|
566
|
-
(0,
|
|
566
|
+
(0, core_1.LogError)(`Failed to parse judge result: ${error.message}`);
|
|
567
567
|
return null;
|
|
568
568
|
}
|
|
569
569
|
}
|
|
@@ -654,13 +654,13 @@ class ParallelExecutionCoordinator {
|
|
|
654
654
|
const saveResult = await promptRun.Save();
|
|
655
655
|
if (!saveResult) {
|
|
656
656
|
const error = `Failed to save child AIPromptRun: ${promptRun.LatestResult?.Message || 'Unknown error'}`;
|
|
657
|
-
(0,
|
|
657
|
+
(0, core_1.LogError)(error);
|
|
658
658
|
throw new Error(error);
|
|
659
659
|
}
|
|
660
660
|
return promptRun;
|
|
661
661
|
}
|
|
662
662
|
catch (error) {
|
|
663
|
-
(0,
|
|
663
|
+
(0, core_1.LogError)(`Error creating child prompt run record: ${error.message}`);
|
|
664
664
|
throw error;
|
|
665
665
|
}
|
|
666
666
|
}
|
|
@@ -683,11 +683,11 @@ class ParallelExecutionCoordinator {
|
|
|
683
683
|
}
|
|
684
684
|
const saveResult = await promptRun.Save();
|
|
685
685
|
if (!saveResult) {
|
|
686
|
-
(0,
|
|
686
|
+
(0, core_1.LogError)(`Failed to update child AIPromptRun with results: ${promptRun.LatestResult?.Message || 'Unknown error'}`);
|
|
687
687
|
}
|
|
688
688
|
}
|
|
689
689
|
catch (error) {
|
|
690
|
-
(0,
|
|
690
|
+
(0, core_1.LogError)(`Error updating child prompt run: ${error.message}`);
|
|
691
691
|
}
|
|
692
692
|
}
|
|
693
693
|
async createResultSelectorPromptRun(judgePrompt, judgeData, parentPromptRunId, executionOrder) {
|
|
@@ -708,13 +708,13 @@ class ParallelExecutionCoordinator {
|
|
|
708
708
|
const saveResult = await promptRun.Save();
|
|
709
709
|
if (!saveResult) {
|
|
710
710
|
const error = `Failed to save ResultSelector AIPromptRun: ${promptRun.LatestResult?.Message || 'Unknown error'}`;
|
|
711
|
-
(0,
|
|
711
|
+
(0, core_1.LogError)(error);
|
|
712
712
|
throw new Error(error);
|
|
713
713
|
}
|
|
714
714
|
return promptRun;
|
|
715
715
|
}
|
|
716
716
|
catch (error) {
|
|
717
|
-
(0,
|
|
717
|
+
(0, core_1.LogError)(`Error creating result selector prompt run record: ${error.message}`);
|
|
718
718
|
throw error;
|
|
719
719
|
}
|
|
720
720
|
}
|