@memberjunction/server 6.1.0-edge.0 → 6.1.0-edge.2
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/auth/exampleNewUserSubClass.js +1 -1
- package/dist/auth/exampleNewUserSubClass.js.map +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +9 -5
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.js +1 -1
- package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
- package/dist/auth/newUsers.js +1 -1
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/context.js +2 -2
- package/dist/context.js.map +1 -1
- package/dist/generated/generated.d.ts +208 -646
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +1123 -3773
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +19 -3
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +51 -17
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -42
- package/dist/index.js.map +1 -1
- package/dist/logging/secretRedactor.d.ts +9 -0
- package/dist/logging/secretRedactor.d.ts.map +1 -1
- package/dist/logging/secretRedactor.js +39 -0
- package/dist/logging/secretRedactor.js.map +1 -1
- package/dist/middleware/BaseServerMiddleware.d.ts +5 -0
- package/dist/middleware/BaseServerMiddleware.d.ts.map +1 -1
- package/dist/middleware/BaseServerMiddleware.js +5 -0
- package/dist/middleware/BaseServerMiddleware.js.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.js +1 -1
- package/dist/realtimeWidget/WidgetSessionService.js.map +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.js +1 -1
- package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
- package/dist/resolvers/ActionResolver.d.ts.map +1 -1
- package/dist/resolvers/ActionResolver.js +12 -0
- package/dist/resolvers/ActionResolver.js.map +1 -1
- package/dist/resolvers/ComponentRegistryResolver.js +1 -1
- package/dist/resolvers/ComponentRegistryResolver.js.map +1 -1
- package/dist/resolvers/EntityPermissionResolver.js +1 -1
- package/dist/resolvers/EntityPermissionResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts +9 -0
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +3 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.js +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +10 -0
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +5 -0
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/SearchEntitiesResolver.js +1 -1
- package/dist/resolvers/SearchEntitiesResolver.js.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.js +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.js +2 -2
- package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
- package/dist/resolvers/TaskGraphFrameResolver.d.ts +85 -0
- package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -0
- package/dist/resolvers/TaskGraphFrameResolver.js +163 -0
- package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -0
- package/dist/resolvers/UserFavoriteResolver.js +1 -1
- package/dist/resolvers/UserFavoriteResolver.js.map +1 -1
- package/dist/rest/OAuthCallbackHandler.js +1 -1
- package/dist/rest/OAuthCallbackHandler.js.map +1 -1
- package/dist/rest/RESTEndpointHandler.d.ts +0 -4
- package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
- package/dist/rest/RESTEndpointHandler.js +1 -15
- package/dist/rest/RESTEndpointHandler.js.map +1 -1
- package/dist/rest/SignatureWebhookHandler.js +1 -1
- package/dist/rest/SignatureWebhookHandler.js.map +1 -1
- package/dist/services/DurableEntityActionTaskSubmitter.d.ts +26 -0
- package/dist/services/DurableEntityActionTaskSubmitter.d.ts.map +1 -0
- package/dist/services/DurableEntityActionTaskSubmitter.js +55 -0
- package/dist/services/DurableEntityActionTaskSubmitter.js.map +1 -0
- package/dist/services/ScheduledJobsService.js +1 -1
- package/dist/services/ScheduledJobsService.js.map +1 -1
- package/dist/services/StartTaskGraphDispatcher.d.ts +33 -0
- package/dist/services/StartTaskGraphDispatcher.d.ts.map +1 -0
- package/dist/services/StartTaskGraphDispatcher.js +46 -0
- package/dist/services/StartTaskGraphDispatcher.js.map +1 -0
- package/dist/services/TaskGraphActionRunner.d.ts +34 -0
- package/dist/services/TaskGraphActionRunner.d.ts.map +1 -0
- package/dist/services/TaskGraphActionRunner.js +95 -0
- package/dist/services/TaskGraphActionRunner.js.map +1 -0
- package/dist/services/TaskGraphAgentRunner.d.ts +28 -0
- package/dist/services/TaskGraphAgentRunner.d.ts.map +1 -0
- package/dist/services/TaskGraphAgentRunner.js +104 -0
- package/dist/services/TaskGraphAgentRunner.js.map +1 -0
- package/dist/services/TaskGraphContinuationDeliverer.d.ts +70 -0
- package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -0
- package/dist/services/TaskGraphContinuationDeliverer.js +162 -0
- package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -0
- package/dist/services/TaskGraphPromptRunner.d.ts +31 -0
- package/dist/services/TaskGraphPromptRunner.d.ts.map +1 -0
- package/dist/services/TaskGraphPromptRunner.js +134 -0
- package/dist/services/TaskGraphPromptRunner.js.map +1 -0
- package/dist/services/TaskGraphProviderFactory.d.ts +39 -0
- package/dist/services/TaskGraphProviderFactory.d.ts.map +1 -0
- package/dist/services/TaskGraphProviderFactory.js +28 -0
- package/dist/services/TaskGraphProviderFactory.js.map +1 -0
- package/dist/telephony/RingCentralTelephonyService.js +1 -1
- package/dist/telephony/RingCentralTelephonyService.js.map +1 -1
- package/dist/telephony/TwilioTelephonyRouter.js +1 -1
- package/dist/telephony/TwilioTelephonyRouter.js.map +1 -1
- package/dist/telephony/VonageTelephonyRouter.js +1 -1
- package/dist/telephony/VonageTelephonyRouter.js.map +1 -1
- package/package.json +92 -89
- package/src/__tests__/RealtimeClientSessionResolver.test.ts +1 -1
- package/src/__tests__/ResolverBase.frozenRecordMapping.test.ts +133 -0
- package/src/__tests__/ResolverBase.transportMapping.test.ts +289 -0
- package/src/__tests__/SessionManager.test.ts +1 -1
- package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +249 -0
- package/src/__tests__/TaskGraphFrameResolver.test.ts +136 -0
- package/src/__tests__/WidgetSessionService.test.ts +1 -1
- package/src/__tests__/databaseAbstraction.test.ts +1 -1
- package/src/__tests__/magicLinkService.provisionLog.test.ts +1 -1
- package/src/__tests__/resolverBase.rls.test.ts +3 -0
- package/src/__tests__/secretRedactor.failOpen.test.ts +135 -0
- package/src/__tests__/widgetGuestElevation.test.ts +1 -1
- package/src/auth/exampleNewUserSubClass.ts +1 -1
- package/src/auth/index.ts +10 -6
- package/src/auth/magicLink/MagicLinkService.ts +1 -1
- package/src/auth/newUsers.ts +1 -1
- package/src/context.ts +2 -2
- package/src/generated/generated.ts +955 -2735
- package/src/generic/ResolverBase.ts +52 -17
- package/src/index.ts +108 -43
- package/src/logging/secretRedactor.ts +43 -0
- package/src/middleware/BaseServerMiddleware.ts +5 -0
- package/src/realtimeWidget/WidgetSessionService.ts +1 -1
- package/src/realtimeWidget/widgetGuestElevation.ts +1 -1
- package/src/resolvers/ActionResolver.ts +13 -0
- package/src/resolvers/ComponentRegistryResolver.ts +1 -1
- package/src/resolvers/EntityPermissionResolver.ts +1 -1
- package/src/resolvers/IntegrationDiscoveryResolver.ts +12 -2
- package/src/resolvers/PotentialDuplicateRecordResolver.ts +1 -1
- package/src/resolvers/RealtimeClientSessionResolver.ts +13 -0
- package/src/resolvers/SearchEntitiesResolver.ts +1 -1
- package/src/resolvers/SqlLoggingConfigResolver.ts +1 -2
- package/src/resolvers/SyncRolesUsersResolver.ts +2 -2
- package/src/resolvers/TaskGraphFrameResolver.ts +160 -0
- package/src/resolvers/UserFavoriteResolver.ts +1 -1
- package/src/rest/OAuthCallbackHandler.ts +1 -1
- package/src/rest/RESTEndpointHandler.ts +1 -15
- package/src/rest/SignatureWebhookHandler.ts +1 -1
- package/src/services/DurableEntityActionTaskSubmitter.ts +78 -0
- package/src/services/ScheduledJobsService.ts +1 -1
- package/src/services/StartTaskGraphDispatcher.ts +78 -0
- package/src/services/TaskGraphActionRunner.ts +99 -0
- package/src/services/TaskGraphAgentRunner.ts +115 -0
- package/src/services/TaskGraphContinuationDeliverer.ts +181 -0
- package/src/services/TaskGraphPromptRunner.ts +144 -0
- package/src/services/TaskGraphProviderFactory.ts +53 -0
- package/src/telephony/RingCentralTelephonyService.ts +1 -1
- package/src/telephony/TwilioTelephonyRouter.ts +1 -1
- package/src/telephony/VonageTelephonyRouter.ts +1 -1
- package/dist/resolvers/ReportResolver.d.ts +0 -24
- package/dist/resolvers/ReportResolver.d.ts.map +0 -1
- package/dist/resolvers/ReportResolver.js +0 -198
- package/dist/resolvers/ReportResolver.js.map +0 -1
- package/dist/resolvers/TaskResolver.d.ts +0 -31
- package/dist/resolvers/TaskResolver.d.ts.map +0 -1
- package/dist/resolvers/TaskResolver.js +0 -157
- package/dist/resolvers/TaskResolver.js.map +0 -1
- package/dist/services/TaskOrchestrator.d.ts +0 -130
- package/dist/services/TaskOrchestrator.d.ts.map +0 -1
- package/dist/services/TaskOrchestrator.js +0 -692
- package/dist/services/TaskOrchestrator.js.map +0 -1
- package/src/resolvers/ReportResolver.ts +0 -165
- package/src/resolvers/TaskResolver.ts +0 -148
- package/src/resolvers/__tests__/ReportResolver.test.ts +0 -279
- package/src/services/TaskOrchestrator.ts +0 -873
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { PubSubEngine } from 'type-graphql';
|
|
2
|
-
import { AppContext } from '../types.js';
|
|
3
|
-
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
4
|
-
export declare class TaskExecutionResultType {
|
|
5
|
-
taskId: string;
|
|
6
|
-
success: boolean;
|
|
7
|
-
output?: string;
|
|
8
|
-
error?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare class ExecuteTaskGraphResult {
|
|
11
|
-
success: boolean;
|
|
12
|
-
errorMessage?: string;
|
|
13
|
-
results: TaskExecutionResultType[];
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* TaskOrchestrationResolver handles multi-step task orchestration.
|
|
17
|
-
* This resolver is called when the Conversation Manager returns a task graph
|
|
18
|
-
* for complex workflows that require multiple agents working in sequence or parallel.
|
|
19
|
-
*/
|
|
20
|
-
export declare class TaskOrchestrationResolver extends ResolverBase {
|
|
21
|
-
/**
|
|
22
|
-
* Execute a task graph from the Conversation Manager.
|
|
23
|
-
* This creates tasks in the database, manages dependencies, and executes them in proper order.
|
|
24
|
-
*
|
|
25
|
-
* @param taskGraphJson - JSON string containing the task graph from Conversation Manager
|
|
26
|
-
* @param conversationDetailId - ID of the conversation detail that triggered this workflow
|
|
27
|
-
* @param environmentId - Environment ID for the tasks
|
|
28
|
-
*/
|
|
29
|
-
ExecuteTaskGraph(taskGraphJson: string, conversationDetailId: string, environmentId: string, sessionId: string, pubSub: PubSubEngine, { userPayload, providers }: AppContext, createNotifications?: boolean): Promise<ExecuteTaskGraphResult>;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=TaskResolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaskResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/TaskResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,YAAY,EAAE,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,qBACa,uBAAuB;IAEhC,MAAM,EAAE,MAAM,CAAC;IAGf,OAAO,EAAE,OAAO,CAAC;IAGjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBACa,sBAAsB;IAE/B,OAAO,EAAE,OAAO,CAAC;IAGjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,qBACa,yBAA0B,SAAQ,YAAY;IACvD;;;;;;;OAOG;IAEG,gBAAgB,CACI,aAAa,EAAE,MAAM,EACd,oBAAoB,EAAE,MAAM,EACnC,aAAa,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EACzB,MAAM,EAAE,YAAY,EACvB,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,UAAU,EACG,mBAAmB,CAAC,EAAE,OAAO,GAC9E,OAAO,CAAC,sBAAsB,CAAC;CAyFrC"}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
-
};
|
|
13
|
-
import { Resolver, Mutation, Arg, Ctx, ObjectType, Field, PubSub, PubSubEngine } from 'type-graphql';
|
|
14
|
-
import { LogError, LogStatus } from '@memberjunction/core';
|
|
15
|
-
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
16
|
-
import { TaskOrchestrator } from '../services/TaskOrchestrator.js';
|
|
17
|
-
import { GetReadWriteProvider } from '../util.js';
|
|
18
|
-
let TaskExecutionResultType = class TaskExecutionResultType {
|
|
19
|
-
};
|
|
20
|
-
__decorate([
|
|
21
|
-
Field(),
|
|
22
|
-
__metadata("design:type", String)
|
|
23
|
-
], TaskExecutionResultType.prototype, "taskId", void 0);
|
|
24
|
-
__decorate([
|
|
25
|
-
Field(),
|
|
26
|
-
__metadata("design:type", Boolean)
|
|
27
|
-
], TaskExecutionResultType.prototype, "success", void 0);
|
|
28
|
-
__decorate([
|
|
29
|
-
Field({ nullable: true }),
|
|
30
|
-
__metadata("design:type", String)
|
|
31
|
-
], TaskExecutionResultType.prototype, "output", void 0);
|
|
32
|
-
__decorate([
|
|
33
|
-
Field({ nullable: true }),
|
|
34
|
-
__metadata("design:type", String)
|
|
35
|
-
], TaskExecutionResultType.prototype, "error", void 0);
|
|
36
|
-
TaskExecutionResultType = __decorate([
|
|
37
|
-
ObjectType()
|
|
38
|
-
], TaskExecutionResultType);
|
|
39
|
-
export { TaskExecutionResultType };
|
|
40
|
-
let ExecuteTaskGraphResult = class ExecuteTaskGraphResult {
|
|
41
|
-
};
|
|
42
|
-
__decorate([
|
|
43
|
-
Field(),
|
|
44
|
-
__metadata("design:type", Boolean)
|
|
45
|
-
], ExecuteTaskGraphResult.prototype, "success", void 0);
|
|
46
|
-
__decorate([
|
|
47
|
-
Field({ nullable: true }),
|
|
48
|
-
__metadata("design:type", String)
|
|
49
|
-
], ExecuteTaskGraphResult.prototype, "errorMessage", void 0);
|
|
50
|
-
__decorate([
|
|
51
|
-
Field(() => [TaskExecutionResultType]),
|
|
52
|
-
__metadata("design:type", Array)
|
|
53
|
-
], ExecuteTaskGraphResult.prototype, "results", void 0);
|
|
54
|
-
ExecuteTaskGraphResult = __decorate([
|
|
55
|
-
ObjectType()
|
|
56
|
-
], ExecuteTaskGraphResult);
|
|
57
|
-
export { ExecuteTaskGraphResult };
|
|
58
|
-
/**
|
|
59
|
-
* TaskOrchestrationResolver handles multi-step task orchestration.
|
|
60
|
-
* This resolver is called when the Conversation Manager returns a task graph
|
|
61
|
-
* for complex workflows that require multiple agents working in sequence or parallel.
|
|
62
|
-
*/
|
|
63
|
-
let TaskOrchestrationResolver = class TaskOrchestrationResolver extends ResolverBase {
|
|
64
|
-
/**
|
|
65
|
-
* Execute a task graph from the Conversation Manager.
|
|
66
|
-
* This creates tasks in the database, manages dependencies, and executes them in proper order.
|
|
67
|
-
*
|
|
68
|
-
* @param taskGraphJson - JSON string containing the task graph from Conversation Manager
|
|
69
|
-
* @param conversationDetailId - ID of the conversation detail that triggered this workflow
|
|
70
|
-
* @param environmentId - Environment ID for the tasks
|
|
71
|
-
*/
|
|
72
|
-
async ExecuteTaskGraph(taskGraphJson, conversationDetailId, environmentId, sessionId, pubSub, { userPayload, providers }, createNotifications) {
|
|
73
|
-
// Check API key scope authorization for task execution
|
|
74
|
-
await this.CheckAPIKeyScopeAuthorization('task:execute', '*', userPayload);
|
|
75
|
-
try {
|
|
76
|
-
LogStatus(`=== EXECUTING TASK GRAPH FOR CONVERSATION: ${conversationDetailId} ===`);
|
|
77
|
-
// Parse task graph
|
|
78
|
-
const taskGraph = JSON.parse(taskGraphJson);
|
|
79
|
-
// Validate task graph
|
|
80
|
-
if (!taskGraph.workflowName || !taskGraph.tasks || taskGraph.tasks.length === 0) {
|
|
81
|
-
throw new Error('Invalid task graph: must have workflowName and at least one task');
|
|
82
|
-
}
|
|
83
|
-
// Get current user
|
|
84
|
-
const currentUser = this.GetUserFromPayload(userPayload);
|
|
85
|
-
if (!currentUser) {
|
|
86
|
-
throw new Error('Unable to determine current user');
|
|
87
|
-
}
|
|
88
|
-
LogStatus(`Workflow: ${taskGraph.workflowName} (${taskGraph.tasks.length} tasks)`);
|
|
89
|
-
if (taskGraph.reasoning) {
|
|
90
|
-
LogStatus(`Reasoning: ${taskGraph.reasoning}`);
|
|
91
|
-
}
|
|
92
|
-
// Create task orchestrator with PubSub for progress updates
|
|
93
|
-
const provider = GetReadWriteProvider(providers, { allowFallbackToReadOnly: true });
|
|
94
|
-
const orchestrator = new TaskOrchestrator(currentUser, pubSub, sessionId, userPayload, createNotifications || false, conversationDetailId, provider);
|
|
95
|
-
// Create parent task and child tasks with dependencies
|
|
96
|
-
const { parentTaskId, taskIdMap } = await orchestrator.createTasksFromGraph(taskGraph, conversationDetailId, environmentId);
|
|
97
|
-
LogStatus(`Created parent task ${parentTaskId} with ${taskIdMap.size} child tasks`);
|
|
98
|
-
// Execute tasks in proper order
|
|
99
|
-
const results = await orchestrator.executeTasksForParent(parentTaskId);
|
|
100
|
-
// Log results
|
|
101
|
-
const successCount = results.filter(r => r.success).length;
|
|
102
|
-
LogStatus(`Completed ${successCount} of ${results.length} tasks successfully`);
|
|
103
|
-
for (const result of results) {
|
|
104
|
-
if (result.success) {
|
|
105
|
-
LogStatus(`✅ Task ${result.taskId} completed successfully`);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
LogError(`❌ Task ${result.taskId} failed: ${result.error}`);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
// Convert results to GraphQL types
|
|
112
|
-
const graphqlResults = results.map(r => ({
|
|
113
|
-
taskId: r.taskId,
|
|
114
|
-
success: r.success,
|
|
115
|
-
output: r.output ? JSON.stringify(r.output) : undefined,
|
|
116
|
-
error: r.error
|
|
117
|
-
}));
|
|
118
|
-
LogStatus(`=== TASK GRAPH EXECUTION COMPLETE ===`);
|
|
119
|
-
const result = {
|
|
120
|
-
success: true,
|
|
121
|
-
results: graphqlResults
|
|
122
|
-
};
|
|
123
|
-
LogStatus(`Returning ExecuteTaskGraph result: ${JSON.stringify({
|
|
124
|
-
success: result.success,
|
|
125
|
-
resultsCount: result.results.length,
|
|
126
|
-
firstResult: result.results[0]
|
|
127
|
-
})}`);
|
|
128
|
-
return result;
|
|
129
|
-
}
|
|
130
|
-
catch (error) {
|
|
131
|
-
LogError(`Task graph execution failed:`, undefined, error);
|
|
132
|
-
return {
|
|
133
|
-
success: false,
|
|
134
|
-
errorMessage: error.message || 'Unknown error occurred',
|
|
135
|
-
results: []
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
__decorate([
|
|
141
|
-
Mutation(() => ExecuteTaskGraphResult),
|
|
142
|
-
__param(0, Arg('taskGraphJson')),
|
|
143
|
-
__param(1, Arg('conversationDetailId')),
|
|
144
|
-
__param(2, Arg('environmentId')),
|
|
145
|
-
__param(3, Arg('sessionId')),
|
|
146
|
-
__param(4, PubSub()),
|
|
147
|
-
__param(5, Ctx()),
|
|
148
|
-
__param(6, Arg('createNotifications', { nullable: true })),
|
|
149
|
-
__metadata("design:type", Function),
|
|
150
|
-
__metadata("design:paramtypes", [String, String, String, String, PubSubEngine, Object, Boolean]),
|
|
151
|
-
__metadata("design:returntype", Promise)
|
|
152
|
-
], TaskOrchestrationResolver.prototype, "ExecuteTaskGraph", null);
|
|
153
|
-
TaskOrchestrationResolver = __decorate([
|
|
154
|
-
Resolver()
|
|
155
|
-
], TaskOrchestrationResolver);
|
|
156
|
-
export { TaskOrchestrationResolver };
|
|
157
|
-
//# sourceMappingURL=TaskResolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaskResolver.js","sourceRoot":"","sources":["../../src/resolvers/TaskResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { IMetadataProvider, UserInfo } from '@memberjunction/core';
|
|
2
|
-
import { PubSubEngine } from 'type-graphql';
|
|
3
|
-
import { UserPayload } from '../types.js';
|
|
4
|
-
/**
|
|
5
|
-
* Task definition from LLM response
|
|
6
|
-
*/
|
|
7
|
-
export interface TaskDefinition {
|
|
8
|
-
tempId: string;
|
|
9
|
-
name: string;
|
|
10
|
-
description: string;
|
|
11
|
-
agentName: string;
|
|
12
|
-
dependsOn: string[];
|
|
13
|
-
inputPayload?: any;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Task graph response from Conversation Manager
|
|
17
|
-
*/
|
|
18
|
-
export interface TaskGraphResponse {
|
|
19
|
-
workflowName: string;
|
|
20
|
-
tasks: TaskDefinition[];
|
|
21
|
-
reasoning?: string;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Task execution result
|
|
25
|
-
*/
|
|
26
|
-
export interface TaskExecutionResult {
|
|
27
|
-
taskId: string;
|
|
28
|
-
success: boolean;
|
|
29
|
-
output?: any;
|
|
30
|
-
error?: string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* TaskOrchestrator handles multi-step task execution with dependencies
|
|
34
|
-
*/
|
|
35
|
-
export declare class TaskOrchestrator {
|
|
36
|
-
private contextUser;
|
|
37
|
-
private pubSub?;
|
|
38
|
-
private sessionId?;
|
|
39
|
-
private userPayload?;
|
|
40
|
-
private createNotifications;
|
|
41
|
-
private conversationDetailId?;
|
|
42
|
-
private provider?;
|
|
43
|
-
private readonly JSON_ARTIFACT_TYPE_ID;
|
|
44
|
-
private taskTypeId;
|
|
45
|
-
constructor(contextUser: UserInfo, pubSub?: PubSubEngine, sessionId?: string, userPayload?: UserPayload, createNotifications?: boolean, conversationDetailId?: string, provider?: IMetadataProvider);
|
|
46
|
-
private getMetadata;
|
|
47
|
-
/**
|
|
48
|
-
* Initialize the orchestrator by finding/creating the AI Agent Task type
|
|
49
|
-
*/
|
|
50
|
-
private ensureTaskType;
|
|
51
|
-
/**
|
|
52
|
-
* Create tasks from LLM task graph response
|
|
53
|
-
* @param taskGraph Task graph from Conversation Manager
|
|
54
|
-
* @param conversationDetailId ID of the conversation detail that triggered this
|
|
55
|
-
* @param environmentId Environment ID
|
|
56
|
-
* @returns Object with parentTaskId and map of tempId -> actual MJTaskEntity ID
|
|
57
|
-
*/
|
|
58
|
-
createTasksFromGraph(taskGraph: TaskGraphResponse, conversationDetailId: string, environmentId: string): Promise<{
|
|
59
|
-
parentTaskId: string;
|
|
60
|
-
taskIdMap: Map<string, string>;
|
|
61
|
-
}>;
|
|
62
|
-
/**
|
|
63
|
-
* Publish task progress update via PubSub
|
|
64
|
-
*/
|
|
65
|
-
private publishTaskProgress;
|
|
66
|
-
/**
|
|
67
|
-
* Publish agent progress update (nested within task)
|
|
68
|
-
*/
|
|
69
|
-
private publishAgentProgress;
|
|
70
|
-
/**
|
|
71
|
-
* Find agent by name
|
|
72
|
-
*/
|
|
73
|
-
private findAgentByName;
|
|
74
|
-
/**
|
|
75
|
-
* Execute all pending tasks for a parent task, respecting dependencies
|
|
76
|
-
* @param parentTaskId Parent task ID
|
|
77
|
-
* @returns Array of execution results
|
|
78
|
-
*/
|
|
79
|
-
executeTasksForParent(parentTaskId: string): Promise<TaskExecutionResult[]>;
|
|
80
|
-
/**
|
|
81
|
-
* Find tasks that are ready to execute (pending with no incomplete dependencies)
|
|
82
|
-
*/
|
|
83
|
-
private findEligibleTasks;
|
|
84
|
-
/**
|
|
85
|
-
* Update parent task progress based on child task completion
|
|
86
|
-
*/
|
|
87
|
-
private updateParentTaskProgress;
|
|
88
|
-
/**
|
|
89
|
-
* Mark parent task as complete when all children are done
|
|
90
|
-
*/
|
|
91
|
-
private completeParentTask;
|
|
92
|
-
/**
|
|
93
|
-
* Check if a task has incomplete dependencies
|
|
94
|
-
*/
|
|
95
|
-
private hasIncompleteDependencies;
|
|
96
|
-
/**
|
|
97
|
-
* Load a task by ID
|
|
98
|
-
*/
|
|
99
|
-
private loadTask;
|
|
100
|
-
/**
|
|
101
|
-
* Execute a single task
|
|
102
|
-
*/
|
|
103
|
-
private executeTask;
|
|
104
|
-
/**
|
|
105
|
-
* Extract input payload from task metadata
|
|
106
|
-
*/
|
|
107
|
-
private extractInputPayload;
|
|
108
|
-
/**
|
|
109
|
-
* Get outputs from tasks that this task depends on
|
|
110
|
-
*/
|
|
111
|
-
private getDependentTaskOutputs;
|
|
112
|
-
/**
|
|
113
|
-
* Build conversation messages with task input and dependent outputs formatted as markdown
|
|
114
|
-
*/
|
|
115
|
-
private buildConversationMessages;
|
|
116
|
-
/**
|
|
117
|
-
* Extract agent output - check both message and payload
|
|
118
|
-
*/
|
|
119
|
-
private extractAgentOutput;
|
|
120
|
-
/**
|
|
121
|
-
* Create artifact from task output (handles both message and payload types)
|
|
122
|
-
*/
|
|
123
|
-
private createArtifactFromOutput;
|
|
124
|
-
/**
|
|
125
|
-
* Create user notification for task graph completion
|
|
126
|
-
* Notifies user that their multi-step workflow has completed
|
|
127
|
-
*/
|
|
128
|
-
private createTaskGraphCompletionNotification;
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=TaskOrchestrator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TaskOrchestrator.d.ts","sourceRoot":"","sources":["../../src/services/TaskOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,iBAAiB,EAAqB,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AAIjI,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAOrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,oBAAoB,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC;IAXrB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0C;IAEhF,OAAO,CAAC,UAAU,CAAuB;gBAG7B,WAAW,EAAE,QAAQ,EACrB,MAAM,CAAC,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,WAAW,EACzB,mBAAmB,GAAE,OAAe,EACpC,oBAAoB,CAAC,EAAE,MAAM,EAC7B,QAAQ,CAAC,EAAE,iBAAiB;IAGxC,OAAO,CAAC,WAAW;IAInB;;OAEG;YACW,cAAc;IAgC5B;;;;;;OAMG;IACG,oBAAoB,CACtB,SAAS,EAAE,iBAAiB,EAC5B,oBAAoB,EAAE,MAAM,EAC5B,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IA8GpE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;OAEG;YACW,eAAe;IAe7B;;;;OAIG;IACG,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkDjF;;OAEG;YACW,iBAAiB;IA2B/B;;OAEG;YACW,wBAAwB;IA8BtC;;OAEG;YACW,kBAAkB;IAmBhC;;OAEG;YACW,yBAAyB;IAyBvC;;OAEG;YACW,QAAQ;IAOtB;;OAEG;YACW,WAAW;IAmHzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;YACW,uBAAuB;IAkCrC;;OAEG;YACW,yBAAyB;IAmCvC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;YACW,wBAAwB;IAmFtC;;;OAGG;YACW,qCAAqC;CA+EtD"}
|