@memberjunction/ai-prompts 3.3.0 → 4.0.0
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 +541 -2
- package/dist/AIPromptRunner.d.ts.map +1 -1
- package/dist/AIPromptRunner.js +1217 -260
- package/dist/AIPromptRunner.js.map +1 -1
- package/dist/ExecutionPlanner.d.ts +116 -1
- package/dist/ExecutionPlanner.d.ts.map +1 -1
- package/dist/ExecutionPlanner.js +171 -40
- package/dist/ExecutionPlanner.js.map +1 -1
- package/dist/ParallelExecution.d.ts +178 -1
- package/dist/ParallelExecution.d.ts.map +1 -1
- package/dist/ParallelExecution.js +1 -2
- package/dist/ParallelExecutionCoordinator.d.ts +182 -3
- package/dist/ParallelExecutionCoordinator.d.ts.map +1 -1
- package/dist/ParallelExecutionCoordinator.js +304 -79
- package/dist/ParallelExecutionCoordinator.js.map +1 -1
- package/dist/__tests__/AIPromptRunner.failover.test.d.ts +23 -0
- package/dist/__tests__/AIPromptRunner.failover.test.d.ts.map +1 -0
- package/dist/__tests__/AIPromptRunner.failover.test.js +471 -0
- package/dist/__tests__/AIPromptRunner.failover.test.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -19
- package/dist/index.js.map +1 -1
- package/package.json +24 -18
|
@@ -1,158 +1,335 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { AIPromptModelEntity } from "@memberjunction/core-entities";
|
|
3
2
|
import { AIPromptEntityExtended, AIModelEntityExtended, AIPromptRunEntityExtended } from '@memberjunction/ai-core-plus';
|
|
4
3
|
import { UserInfo } from '@memberjunction/core';
|
|
5
4
|
import { ValidationResult } from '@memberjunction/global';
|
|
6
5
|
import { ChatResult, ChatMessage, StreamingChatCallbacks } from '@memberjunction/ai';
|
|
6
|
+
/**
|
|
7
|
+
* Represents a single execution task in a parallel processing scenario.
|
|
8
|
+
* Contains all information needed to execute a prompt with a specific model configuration.
|
|
9
|
+
*/
|
|
7
10
|
export interface ExecutionTask {
|
|
11
|
+
/** Unique identifier for this execution task */
|
|
8
12
|
taskId: string;
|
|
13
|
+
/** The AI prompt being executed */
|
|
9
14
|
prompt: AIPromptEntityExtended;
|
|
15
|
+
/** The specific model to use for this execution */
|
|
10
16
|
model: AIModelEntityExtended;
|
|
17
|
+
/** Optional prompt-model configuration with execution parameters */
|
|
11
18
|
promptModel?: AIPromptModelEntity;
|
|
19
|
+
/** Execution group number for coordinated parallel processing */
|
|
12
20
|
executionGroup: number;
|
|
21
|
+
/** Priority within the execution group (higher = execute first) */
|
|
13
22
|
priority: number;
|
|
23
|
+
/** Rendered prompt text ready for model execution */
|
|
14
24
|
renderedPrompt: string;
|
|
25
|
+
/** User context for authentication and permissions */
|
|
15
26
|
contextUser?: UserInfo;
|
|
27
|
+
/** Configuration ID for environment-specific behavior */
|
|
16
28
|
configurationId?: string;
|
|
29
|
+
/** Model-specific parameters (temperature, max tokens, etc.) */
|
|
17
30
|
modelParameters?: Record<string, unknown>;
|
|
31
|
+
/** Optional conversation messages for multi-turn conversations */
|
|
18
32
|
conversationMessages?: ChatMessage[];
|
|
33
|
+
/** How to use the rendered template in conversation messages */
|
|
19
34
|
templateMessageRole?: 'system' | 'user' | 'none';
|
|
35
|
+
/** Optional cancellation token to abort the task execution */
|
|
20
36
|
cancellationToken?: AbortSignal;
|
|
37
|
+
/** Optional callback for task-specific progress updates */
|
|
21
38
|
onProgress?: (progress: {
|
|
22
39
|
taskId: string;
|
|
23
40
|
step: 'initializing' | 'executing' | 'validating' | 'completed';
|
|
24
41
|
percentage: number;
|
|
25
42
|
message: string;
|
|
26
43
|
}) => void;
|
|
44
|
+
/** Optional callback for task-specific streaming updates */
|
|
27
45
|
onStreaming?: (chunk: {
|
|
28
46
|
taskId: string;
|
|
29
47
|
content: string;
|
|
30
48
|
isComplete: boolean;
|
|
31
49
|
}) => void;
|
|
50
|
+
/** Optional streaming configuration for this task */
|
|
32
51
|
streamingConfig?: AIPromptStreamingConfig;
|
|
52
|
+
/** Vendor-specific driver class to use (overrides model.DriverClass) */
|
|
33
53
|
vendorDriverClass?: string;
|
|
54
|
+
/** Vendor-specific API name to use (overrides model.APIName) */
|
|
34
55
|
vendorApiName?: string;
|
|
56
|
+
/** Selected vendor ID for this execution */
|
|
35
57
|
vendorId?: string;
|
|
36
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Result of executing a single task in parallel processing.
|
|
61
|
+
* Contains execution metrics, results, and error information.
|
|
62
|
+
*/
|
|
37
63
|
export interface ExecutionTaskResult {
|
|
64
|
+
/** Reference to the original task */
|
|
38
65
|
task: ExecutionTask;
|
|
66
|
+
/** Whether the execution was successful */
|
|
39
67
|
success: boolean;
|
|
68
|
+
/** Raw result from the AI model */
|
|
40
69
|
rawResult?: string;
|
|
70
|
+
/** Parsed/validated result based on OutputType */
|
|
41
71
|
parsedResult?: unknown;
|
|
72
|
+
/** Error message if execution failed */
|
|
42
73
|
errorMessage?: string;
|
|
74
|
+
/** The AIPromptRun entity created for tracking */
|
|
43
75
|
promptRun?: AIPromptRunEntityExtended;
|
|
76
|
+
/** Execution time for this specific task in milliseconds */
|
|
44
77
|
executionTimeMS: number;
|
|
78
|
+
/** Tokens used in this execution */
|
|
45
79
|
tokensUsed?: number;
|
|
80
|
+
/** Validation result if output validation was performed */
|
|
46
81
|
validationResult?: ValidationResult;
|
|
82
|
+
/** Model result with full API response details */
|
|
47
83
|
modelResult?: ChatResult;
|
|
84
|
+
/** Start time of execution */
|
|
48
85
|
startTime: Date;
|
|
86
|
+
/** End time of execution */
|
|
49
87
|
endTime: Date;
|
|
88
|
+
/** Ranking assigned by judge (1 = best, 2 = second best, etc.) */
|
|
50
89
|
ranking?: number;
|
|
90
|
+
/** Judge's rationale for this ranking */
|
|
51
91
|
judgeRationale?: string;
|
|
92
|
+
/** Judge metadata (execution time, tokens used) */
|
|
52
93
|
judgeMetadata?: {
|
|
53
94
|
judgePromptId: string;
|
|
54
95
|
judgeExecutionTimeMS: number;
|
|
55
96
|
judgeTokensUsed?: number;
|
|
56
97
|
};
|
|
98
|
+
/** Whether this task was cancelled */
|
|
57
99
|
cancelled?: boolean;
|
|
100
|
+
/** Reason for cancellation if applicable */
|
|
58
101
|
cancellationReason?: 'user_requested' | 'timeout' | 'parent_cancelled' | 'error';
|
|
102
|
+
/** Whether this task used streaming */
|
|
59
103
|
wasStreamed?: boolean;
|
|
60
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Groups execution tasks by their execution group number.
|
|
107
|
+
* Tasks within the same group are executed in parallel,
|
|
108
|
+
* while different groups are executed sequentially.
|
|
109
|
+
*/
|
|
61
110
|
export interface ExecutionGroup {
|
|
111
|
+
/** Group number (0-based, executed in ascending order) */
|
|
62
112
|
groupNumber: number;
|
|
113
|
+
/** All tasks assigned to this execution group */
|
|
63
114
|
tasks: ExecutionTask[];
|
|
115
|
+
/** Maximum parallel executions for this group */
|
|
64
116
|
maxParallelExecutions?: number;
|
|
65
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Callback function type for parallel execution progress updates
|
|
120
|
+
*/
|
|
66
121
|
export type ParallelExecutionProgressCallback = (progress: {
|
|
122
|
+
/** Current phase of parallel execution */
|
|
67
123
|
phase: 'planning' | 'executing_group' | 'selecting_result' | 'completed';
|
|
124
|
+
/** Current execution group number (0-based) */
|
|
68
125
|
currentGroup?: number;
|
|
126
|
+
/** Total number of execution groups */
|
|
69
127
|
totalGroups?: number;
|
|
128
|
+
/** Number of completed tasks */
|
|
70
129
|
completedTasks: number;
|
|
130
|
+
/** Total number of tasks */
|
|
71
131
|
totalTasks: number;
|
|
132
|
+
/** Progress percentage (0-100) */
|
|
72
133
|
percentage: number;
|
|
134
|
+
/** Human-readable status message */
|
|
73
135
|
message: string;
|
|
74
136
|
}) => void;
|
|
137
|
+
/**
|
|
138
|
+
* Configuration for parallel execution behavior.
|
|
139
|
+
* Controls how many tasks run simultaneously and resource limits.
|
|
140
|
+
*/
|
|
75
141
|
export interface ParallelExecutionConfig {
|
|
142
|
+
/** Maximum number of concurrent executions across all groups */
|
|
76
143
|
maxConcurrentExecutions: number;
|
|
144
|
+
/** Timeout for individual task execution in milliseconds */
|
|
77
145
|
taskTimeoutMS: number;
|
|
146
|
+
/** Whether to stop all execution if any task fails */
|
|
78
147
|
failFast: boolean;
|
|
148
|
+
/** Whether to collect all results even if some tasks fail */
|
|
79
149
|
collectPartialResults: boolean;
|
|
150
|
+
/** Maximum number of retries for failed tasks */
|
|
80
151
|
maxRetries: number;
|
|
152
|
+
/** Base delay between retries in milliseconds */
|
|
81
153
|
retryDelayMS: number;
|
|
154
|
+
/** Optional callback for parallel execution progress updates */
|
|
82
155
|
onProgress?: ParallelExecutionProgressCallback;
|
|
156
|
+
/** Whether to enable streaming for compatible models */
|
|
83
157
|
enableStreaming?: boolean;
|
|
84
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Aggregated result from parallel execution of multiple tasks.
|
|
161
|
+
* Contains all individual results plus summary metrics.
|
|
162
|
+
*/
|
|
85
163
|
export interface ParallelExecutionResult {
|
|
164
|
+
/** Whether the overall parallel execution was successful */
|
|
86
165
|
success: boolean;
|
|
166
|
+
/** All individual task results */
|
|
87
167
|
taskResults: ExecutionTaskResult[];
|
|
168
|
+
/** Results grouped by execution group */
|
|
88
169
|
groupResults: Map<number, ExecutionTaskResult[]>;
|
|
170
|
+
/** Total execution time for all parallel processing in milliseconds */
|
|
89
171
|
totalExecutionTimeMS: number;
|
|
172
|
+
/** Number of successful task executions */
|
|
90
173
|
successCount: number;
|
|
174
|
+
/** Number of failed task executions */
|
|
91
175
|
failureCount: number;
|
|
176
|
+
/** Number of cancelled task executions */
|
|
92
177
|
cancelledCount: number;
|
|
178
|
+
/** Total tokens used across all executions */
|
|
93
179
|
totalTokensUsed: number;
|
|
180
|
+
/** Error messages from failed executions */
|
|
94
181
|
errors: string[];
|
|
182
|
+
/** Start time of parallel execution */
|
|
95
183
|
startTime: Date;
|
|
184
|
+
/** End time of parallel execution */
|
|
96
185
|
endTime: Date;
|
|
186
|
+
/** Selected best result if result selection was performed */
|
|
97
187
|
selectedResult?: ExecutionTaskResult;
|
|
188
|
+
/** Whether the overall execution was cancelled */
|
|
98
189
|
cancelled?: boolean;
|
|
190
|
+
/** Reason for cancellation if applicable */
|
|
99
191
|
cancellationReason?: 'user_requested' | 'timeout' | 'error' | 'resource_limit';
|
|
192
|
+
/** Metadata about the execution process */
|
|
100
193
|
executionMetadata?: {
|
|
194
|
+
/** Number of execution groups processed */
|
|
101
195
|
groupsProcessed: number;
|
|
196
|
+
/** Average execution time per task */
|
|
102
197
|
averageTaskTimeMS: number;
|
|
198
|
+
/** Peak concurrent executions achieved */
|
|
103
199
|
peakConcurrentExecutions: number;
|
|
200
|
+
/** Whether result selection was performed */
|
|
104
201
|
resultSelectionPerformed: boolean;
|
|
105
202
|
};
|
|
106
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Strategy for determining the number of parallel executions.
|
|
206
|
+
* Maps to the ParallelizationMode field in AIPromptEntityExtended.
|
|
207
|
+
*/
|
|
107
208
|
export type ParallelizationStrategy = 'None' | 'StaticCount' | 'ConfigParam' | 'ModelSpecific';
|
|
209
|
+
/**
|
|
210
|
+
* Method for selecting the best result from multiple parallel executions.
|
|
211
|
+
* Determines how the final result is chosen when multiple results are available.
|
|
212
|
+
*/
|
|
108
213
|
export type ResultSelectionMethod = 'First' | 'Random' | 'PromptSelector' | 'Consensus';
|
|
214
|
+
/**
|
|
215
|
+
* Configuration for how to select the best result from parallel executions.
|
|
216
|
+
* Used when multiple models produce different outputs.
|
|
217
|
+
*/
|
|
109
218
|
export interface ResultSelectionConfig {
|
|
219
|
+
/** Method to use for selecting the best result */
|
|
110
220
|
method: ResultSelectionMethod;
|
|
221
|
+
/** Prompt ID to use for AI-based result selection */
|
|
111
222
|
selectorPromptId?: string;
|
|
223
|
+
/** Additional parameters for the selection method */
|
|
112
224
|
selectionParameters?: Record<string, unknown>;
|
|
113
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Execution phase for progress tracking
|
|
228
|
+
*/
|
|
114
229
|
export type ExecutionPhase = 'initializing' | 'template_rendering' | 'model_selection' | 'model_execution' | 'result_validation' | 'result_selection' | 'completing';
|
|
230
|
+
/**
|
|
231
|
+
* Token usage information for progress updates
|
|
232
|
+
*/
|
|
115
233
|
export interface TokenUsageUpdate {
|
|
234
|
+
/** Prompt tokens used */
|
|
116
235
|
promptTokens?: number;
|
|
236
|
+
/** Completion tokens generated */
|
|
117
237
|
completionTokens?: number;
|
|
238
|
+
/** Total tokens (prompt + completion) */
|
|
118
239
|
totalTokens?: number;
|
|
240
|
+
/** Cached tokens if applicable */
|
|
119
241
|
cachedTokens?: number;
|
|
120
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Status update for execution phases
|
|
245
|
+
*/
|
|
121
246
|
export interface ExecutionStatusUpdate {
|
|
247
|
+
/** Current execution phase */
|
|
122
248
|
phase: ExecutionPhase;
|
|
249
|
+
/** Human-readable description of current status */
|
|
123
250
|
message: string;
|
|
251
|
+
/** Timestamp of this status update */
|
|
124
252
|
timestamp: Date;
|
|
253
|
+
/** Progress percentage (0-100) if applicable */
|
|
125
254
|
progressPercent?: number;
|
|
255
|
+
/** Current task ID (for parallel execution) */
|
|
126
256
|
taskId?: string;
|
|
257
|
+
/** Execution metrics if available */
|
|
127
258
|
metrics?: {
|
|
259
|
+
/** Elapsed time in milliseconds */
|
|
128
260
|
elapsedTimeMS: number;
|
|
261
|
+
/** Token usage if available */
|
|
129
262
|
tokenUsage?: TokenUsageUpdate;
|
|
263
|
+
/** Model being used */
|
|
130
264
|
modelName?: string;
|
|
265
|
+
/** Vendor being used */
|
|
131
266
|
vendorName?: string;
|
|
132
267
|
};
|
|
133
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Progress update for parallel execution
|
|
271
|
+
*/
|
|
134
272
|
export interface ParallelExecutionProgress {
|
|
273
|
+
/** Number of tasks completed */
|
|
135
274
|
completedTasks: number;
|
|
275
|
+
/** Total number of tasks */
|
|
136
276
|
totalTasks: number;
|
|
277
|
+
/** Number of successful tasks */
|
|
137
278
|
successfulTasks: number;
|
|
279
|
+
/** Number of failed tasks */
|
|
138
280
|
failedTasks: number;
|
|
281
|
+
/** Number of cancelled tasks */
|
|
139
282
|
cancelledTasks: number;
|
|
283
|
+
/** Current execution group */
|
|
140
284
|
currentGroup: number;
|
|
285
|
+
/** Total execution groups */
|
|
141
286
|
totalGroups: number;
|
|
287
|
+
/** Aggregated token usage across all completed tasks */
|
|
142
288
|
totalTokenUsage: TokenUsageUpdate;
|
|
289
|
+
/** Total elapsed time in milliseconds */
|
|
143
290
|
totalElapsedTimeMS: number;
|
|
291
|
+
/** Currently executing task IDs */
|
|
144
292
|
activeTasks: string[];
|
|
145
293
|
}
|
|
294
|
+
/**
|
|
295
|
+
* Enhanced streaming callbacks that extend BaseLLM StreamingChatCallbacks
|
|
296
|
+
* with AI Prompt Runner specific features
|
|
297
|
+
*/
|
|
146
298
|
export interface AIPromptStreamingCallbacks extends StreamingChatCallbacks {
|
|
299
|
+
/**
|
|
300
|
+
* Called when execution status changes (template rendering, model selection, etc.)
|
|
301
|
+
* @param update The status update information
|
|
302
|
+
*/
|
|
147
303
|
OnStatusUpdate?: (update: ExecutionStatusUpdate) => void;
|
|
304
|
+
/**
|
|
305
|
+
* Called with parallel execution progress updates
|
|
306
|
+
* @param progress Current parallel execution progress
|
|
307
|
+
*/
|
|
148
308
|
OnParallelProgress?: (progress: ParallelExecutionProgress) => void;
|
|
309
|
+
/**
|
|
310
|
+
* Called when a specific task in parallel execution completes
|
|
311
|
+
* @param taskResult The completed task result
|
|
312
|
+
* @param progress Current parallel execution progress
|
|
313
|
+
*/
|
|
149
314
|
OnTaskComplete?: (taskResult: ExecutionTaskResult, progress: ParallelExecutionProgress) => void;
|
|
315
|
+
/**
|
|
316
|
+
* Called when token usage is updated during execution
|
|
317
|
+
* @param usage Current token usage information
|
|
318
|
+
* @param taskId Optional task ID for parallel execution
|
|
319
|
+
*/
|
|
150
320
|
OnTokenUsage?: (usage: TokenUsageUpdate, taskId?: string) => void;
|
|
151
321
|
}
|
|
322
|
+
/**
|
|
323
|
+
* Streaming configuration for AI Prompt execution
|
|
324
|
+
*/
|
|
152
325
|
export interface AIPromptStreamingConfig {
|
|
326
|
+
/** Whether to enable streaming responses */
|
|
153
327
|
enabled: boolean;
|
|
328
|
+
/** Streaming callbacks for progress and content updates */
|
|
154
329
|
callbacks?: AIPromptStreamingCallbacks;
|
|
330
|
+
/** Whether to aggregate streaming updates in parallel execution */
|
|
155
331
|
aggregateParallelUpdates?: boolean;
|
|
332
|
+
/** Minimum interval between progress updates in milliseconds */
|
|
156
333
|
progressUpdateIntervalMS?: number;
|
|
157
334
|
}
|
|
158
335
|
//# sourceMappingURL=ParallelExecution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParallelExecution.d.ts","sourceRoot":"","sources":["../src/ParallelExecution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ParallelExecution.d.ts","sourceRoot":"","sources":["../src/ParallelExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import { ExecutionTask, ExecutionTaskResult, ParallelExecutionConfig, ParallelExecutionResult, ResultSelectionConfig, ParallelExecutionProgress } from './ParallelExecution';
|
|
1
|
+
import { ExecutionTask, ExecutionTaskResult, ParallelExecutionConfig, ParallelExecutionResult, ResultSelectionConfig, ParallelExecutionProgress } from './ParallelExecution.js';
|
|
3
2
|
import { AIPromptParams } from '@memberjunction/ai-core-plus';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for progress callbacks to avoid circular dependency issues
|
|
5
|
+
*/
|
|
4
6
|
interface ProgressCallbacksInterface {
|
|
5
7
|
getStreamingConfig?: () => {
|
|
6
8
|
enabled?: boolean;
|
|
@@ -10,29 +12,206 @@ interface ProgressCallbacksInterface {
|
|
|
10
12
|
};
|
|
11
13
|
};
|
|
12
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Coordinates parallel execution of AI prompt tasks across multiple models and execution groups.
|
|
17
|
+
*
|
|
18
|
+
* This class manages the complex orchestration of:
|
|
19
|
+
* - Grouping tasks by execution group
|
|
20
|
+
* - Sequential execution of groups with parallel execution within groups
|
|
21
|
+
* - Result aggregation and selection
|
|
22
|
+
* - Error handling and partial result collection
|
|
23
|
+
* - Performance monitoring and metrics collection
|
|
24
|
+
* - Real-time progress tracking and streaming updates
|
|
25
|
+
*/
|
|
13
26
|
export declare class ParallelExecutionCoordinator {
|
|
14
27
|
private readonly _defaultConfig;
|
|
15
28
|
private _metadata;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new parallel execution coordinator with default configuration.
|
|
31
|
+
*/
|
|
16
32
|
constructor();
|
|
17
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Executes multiple tasks in parallel according to their execution groups.
|
|
35
|
+
*
|
|
36
|
+
* Tasks are grouped by their executionGroup property and executed sequentially by group.
|
|
37
|
+
* Within each group, tasks are executed in parallel up to the concurrency limit.
|
|
38
|
+
*
|
|
39
|
+
* @param tasks - Array of execution tasks to process
|
|
40
|
+
* @param config - Optional configuration to override defaults
|
|
41
|
+
* @param parentPromptRunId - Optional parent prompt run ID for hierarchical logging
|
|
42
|
+
* @param cancellationToken - Optional cancellation token to abort execution
|
|
43
|
+
* @param progressCallbacks - Optional callbacks for progress tracking
|
|
44
|
+
* @param agentRunId - Optional agent run ID to link prompt executions to parent agent run
|
|
45
|
+
* @returns Promise<ParallelExecutionResult> - Aggregated results from all executions
|
|
46
|
+
*/
|
|
47
|
+
executeTasksInParallel(params: AIPromptParams, tasks: ExecutionTask[], config?: Partial<ParallelExecutionConfig>, parentPromptRunId?: string, cancellationToken?: AbortSignal, progressCallbacks?: ProgressCallbacksInterface, // Using interface to avoid circular dependency
|
|
48
|
+
agentRunId?: string): Promise<ParallelExecutionResult>;
|
|
49
|
+
/**
|
|
50
|
+
* Selects the best result from multiple parallel execution results.
|
|
51
|
+
*
|
|
52
|
+
* Uses various strategies to determine which result should be considered
|
|
53
|
+
* the "best" output from the parallel executions.
|
|
54
|
+
*
|
|
55
|
+
* @param results - Array of successful execution results to choose from
|
|
56
|
+
* @param config - Configuration for result selection method
|
|
57
|
+
* @param parentPromptRunId - Optional parent prompt run ID for hierarchical logging
|
|
58
|
+
* @returns Promise<ExecutionTaskResult | null> - The selected best result, or null if none suitable
|
|
59
|
+
*/
|
|
18
60
|
selectBestResult(results: ExecutionTaskResult[], config: ResultSelectionConfig, parentPromptRunId?: string, cancellationToken?: AbortSignal): Promise<ExecutionTaskResult | null>;
|
|
61
|
+
/**
|
|
62
|
+
* Groups execution tasks by their execution group number.
|
|
63
|
+
* Tasks with the same group number will be executed in parallel.
|
|
64
|
+
*
|
|
65
|
+
* @param tasks - Array of tasks to group
|
|
66
|
+
* @returns ExecutionGroup[] - Sorted array of execution groups
|
|
67
|
+
*/
|
|
19
68
|
private groupTasksByExecutionGroup;
|
|
69
|
+
/**
|
|
70
|
+
* Executes execution groups sequentially, with parallel execution within each group.
|
|
71
|
+
*
|
|
72
|
+
* @param groups - Array of execution groups to process
|
|
73
|
+
* @param config - Execution configuration
|
|
74
|
+
* @param parentPromptRunId - Optional parent prompt run ID for tracking
|
|
75
|
+
* @param cancellationToken - Optional cancellation token to abort execution
|
|
76
|
+
* @param progressTracker - Progress tracker for monitoring execution
|
|
77
|
+
* @param agentRunId - Optional agent run ID to link prompt executions to parent agent run
|
|
78
|
+
* @returns Promise<ExecutionTaskResult[]> - All task results from all groups
|
|
79
|
+
*/
|
|
20
80
|
private executeGroupsSequentially;
|
|
81
|
+
/**
|
|
82
|
+
* Executes all tasks within a single execution group in parallel.
|
|
83
|
+
*
|
|
84
|
+
* @param group - The execution group to process
|
|
85
|
+
* @param config - Execution configuration
|
|
86
|
+
* @param parentPromptRunId - Optional parent prompt run ID for tracking
|
|
87
|
+
* @param cancellationToken - Optional cancellation token to abort execution
|
|
88
|
+
* @param progressTracker - Progress tracker for monitoring execution
|
|
89
|
+
* @param agentRunId - Optional agent run ID to link prompt executions to parent agent run
|
|
90
|
+
* @returns Promise<ExecutionTaskResult[]> - Results from all tasks in the group
|
|
91
|
+
*/
|
|
21
92
|
private executeGroupInParallel;
|
|
93
|
+
/**
|
|
94
|
+
* Executes a single task with retry logic and timeout handling.
|
|
95
|
+
*
|
|
96
|
+
* @param task - The execution task to process
|
|
97
|
+
* @param config - Execution configuration
|
|
98
|
+
* @param parentPromptRunId - Optional parent prompt run ID for hierarchical logging
|
|
99
|
+
* @param executionOrder - Execution order for this task
|
|
100
|
+
* @param agentRunId - Optional agent run ID to link prompt executions to parent agent run
|
|
101
|
+
* @returns Promise<ExecutionTaskResult> - Result of the task execution
|
|
102
|
+
*/
|
|
22
103
|
private executeTask;
|
|
104
|
+
/**
|
|
105
|
+
* Executes a single task without retry logic.
|
|
106
|
+
*
|
|
107
|
+
* @param task - The execution task to process
|
|
108
|
+
* @param timeoutMS - Timeout for the execution in milliseconds
|
|
109
|
+
* @param parentPromptRunId - Optional parent prompt run ID for hierarchical logging
|
|
110
|
+
* @param executionOrder - Execution order for this task
|
|
111
|
+
* @param agentRunId - Optional agent run ID to link prompt executions to parent agent run
|
|
112
|
+
* @returns Promise<ExecutionTaskResult> - Result of the task execution
|
|
113
|
+
*/
|
|
23
114
|
private executeSingleTask;
|
|
115
|
+
/**
|
|
116
|
+
* Aggregates individual task results into a comprehensive parallel execution result.
|
|
117
|
+
*
|
|
118
|
+
* @param taskResults - Array of all task execution results
|
|
119
|
+
* @param startTime - Start time of the parallel execution
|
|
120
|
+
* @param endTime - End time of the parallel execution
|
|
121
|
+
* @returns ParallelExecutionResult - Aggregated results with metrics
|
|
122
|
+
*/
|
|
24
123
|
private aggregateResults;
|
|
124
|
+
/**
|
|
125
|
+
* Selects the first successful result from the array.
|
|
126
|
+
*
|
|
127
|
+
* @param results - Array of successful results to choose from
|
|
128
|
+
* @returns ExecutionTaskResult - The first result in the array
|
|
129
|
+
*/
|
|
25
130
|
private selectFirstResult;
|
|
131
|
+
/**
|
|
132
|
+
* Selects a random result from the array.
|
|
133
|
+
*
|
|
134
|
+
* @param results - Array of successful results to choose from
|
|
135
|
+
* @returns ExecutionTaskResult - A randomly selected result
|
|
136
|
+
*/
|
|
26
137
|
private selectRandomResult;
|
|
138
|
+
/**
|
|
139
|
+
* Uses an AI prompt to select the best result from multiple options.
|
|
140
|
+
*
|
|
141
|
+
* @param results - Array of successful results to choose from
|
|
142
|
+
* @param selectorPromptId - ID of the prompt to use for selection
|
|
143
|
+
* @param parentPromptRunId - Optional parent prompt run ID for hierarchical logging
|
|
144
|
+
* @returns Promise<ExecutionTaskResult> - The AI-selected best result with all results ranked
|
|
145
|
+
*/
|
|
27
146
|
private selectResultWithPrompt;
|
|
147
|
+
/**
|
|
148
|
+
* Formats execution results for the judge prompt.
|
|
149
|
+
*
|
|
150
|
+
* @param results - Array of execution results to format
|
|
151
|
+
* @returns Structured data for judge evaluation
|
|
152
|
+
*/
|
|
28
153
|
private formatResultsForJudge;
|
|
154
|
+
/**
|
|
155
|
+
* Parses the judge's result to extract rankings.
|
|
156
|
+
*
|
|
157
|
+
* @param judgeResult - Raw result from the judge prompt
|
|
158
|
+
* @returns Array of ranking objects or null if parsing fails
|
|
159
|
+
*/
|
|
29
160
|
private parseJudgeResult;
|
|
161
|
+
/**
|
|
162
|
+
* Applies rankings to execution task results.
|
|
163
|
+
*
|
|
164
|
+
* @param results - Array of execution results to rank
|
|
165
|
+
* @param rankings - Rankings from the judge
|
|
166
|
+
*/
|
|
30
167
|
private applyRankingsToResults;
|
|
168
|
+
/**
|
|
169
|
+
* Selects the result that appears most frequently (consensus).
|
|
170
|
+
*
|
|
171
|
+
* @param results - Array of successful results to choose from
|
|
172
|
+
* @returns ExecutionTaskResult - The most common result
|
|
173
|
+
*/
|
|
31
174
|
private selectConsensusResult;
|
|
175
|
+
/**
|
|
176
|
+
* Builds the message array combining rendered prompt with conversation messages
|
|
177
|
+
*/
|
|
32
178
|
private buildMessageArray;
|
|
179
|
+
/**
|
|
180
|
+
* Creates a child AIPromptRun entity for individual parallel execution tracking.
|
|
181
|
+
*
|
|
182
|
+
* @param task - The execution task
|
|
183
|
+
* @param startTime - When the execution started
|
|
184
|
+
* @param parentPromptRunId - ID of the parent prompt run
|
|
185
|
+
* @param executionOrder - Execution order within the parallel group
|
|
186
|
+
* @param agentRunId - Optional agent run ID to link prompt executions to parent agent run
|
|
187
|
+
* @returns Promise<AIPromptRunEntityExtended> - The created child prompt run
|
|
188
|
+
*/
|
|
33
189
|
private createChildPromptRun;
|
|
190
|
+
/**
|
|
191
|
+
* Updates a child AIPromptRun entity with execution results.
|
|
192
|
+
*
|
|
193
|
+
* @param promptRun - The child prompt run entity to update
|
|
194
|
+
* @param modelResult - The result from the AI model
|
|
195
|
+
* @param endTime - When the execution completed
|
|
196
|
+
* @param executionTimeMS - Total execution time in milliseconds
|
|
197
|
+
*/
|
|
34
198
|
private updateChildPromptRun;
|
|
199
|
+
/**
|
|
200
|
+
* Creates a ResultSelector AIPromptRun entity for judge execution tracking.
|
|
201
|
+
*
|
|
202
|
+
* @param judgePrompt - The judge prompt being executed
|
|
203
|
+
* @param judgeData - The data being sent to the judge
|
|
204
|
+
* @param parentPromptRunId - ID of the parent prompt run
|
|
205
|
+
* @param executionOrder - Execution order within the parallel group
|
|
206
|
+
* @returns Promise<AIPromptRunEntityExtended> - The created result selector prompt run
|
|
207
|
+
*/
|
|
35
208
|
private createResultSelectorPromptRun;
|
|
209
|
+
/**
|
|
210
|
+
* Creates a delay for the specified number of milliseconds.
|
|
211
|
+
*
|
|
212
|
+
* @param ms - Number of milliseconds to delay
|
|
213
|
+
* @returns Promise<void> - Promise that resolves after the delay
|
|
214
|
+
*/
|
|
36
215
|
private delay;
|
|
37
216
|
}
|
|
38
217
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParallelExecutionCoordinator.d.ts","sourceRoot":"","sources":["../src/ParallelExecutionCoordinator.ts"],"names":[],"mappings":"
|
|
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;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;GAEG;AACH,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;AA8FD;;;;;;;;;;GAUG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,SAAS,CAAW;IAE5B;;OAEG;;IAaH;;;;;;;;;;;;;OAaG;IACU,sBAAsB,CACjC,MAAM,EAAE,cAAc,EACtB,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,EAAE,+CAA+C;IAC/F,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC;IAmEnC;;;;;;;;;;OAUG;IACU,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;IA8BtC;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IA+BlC;;;;;;;;;;OAUG;YACW,yBAAyB;IAgDvC;;;;;;;;;;OAUG;YACW,sBAAsB;IAmEpC;;;;;;;;;OASG;YACW,WAAW;IA+DzB;;;;;;;;;OASG;YACW,iBAAiB;IA2H/B;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;;;;;;OAOG;YACW,sBAAsB;IA2GpC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyCzB;;;;;;;;;OASG;YACW,oBAAoB;IAuDlC;;;;;;;OAOG;YACW,oBAAoB;IA6BlC;;;;;;;;OAQG;YACW,6BAA6B;IAsC3C;;;;;OAKG;IACH,OAAO,CAAC,KAAK;CAGd"}
|