@memberjunction/server 3.4.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/agents/skip-agent.d.ts +65 -0
- package/dist/agents/skip-agent.d.ts.map +1 -1
- package/dist/agents/skip-agent.js +63 -5
- package/dist/agents/skip-agent.js.map +1 -1
- package/dist/agents/skip-sdk.d.ts +163 -0
- package/dist/agents/skip-sdk.d.ts.map +1 -1
- package/dist/agents/skip-sdk.js +143 -12
- package/dist/agents/skip-sdk.js.map +1 -1
- package/dist/apolloServer/TransactionPlugin.d.ts +4 -0
- package/dist/apolloServer/TransactionPlugin.d.ts.map +1 -0
- package/dist/apolloServer/TransactionPlugin.js +46 -0
- package/dist/apolloServer/TransactionPlugin.js.map +1 -0
- package/dist/apolloServer/index.d.ts +0 -1
- package/dist/apolloServer/index.d.ts.map +1 -1
- package/dist/auth/APIKeyScopeAuth.d.ts +82 -0
- package/dist/auth/APIKeyScopeAuth.d.ts.map +1 -1
- package/dist/auth/APIKeyScopeAuth.js +78 -0
- package/dist/auth/APIKeyScopeAuth.js.map +1 -1
- package/dist/auth/AuthProviderFactory.d.ts +35 -0
- package/dist/auth/AuthProviderFactory.d.ts.map +1 -1
- package/dist/auth/AuthProviderFactory.js +51 -4
- package/dist/auth/AuthProviderFactory.js.map +1 -1
- package/dist/auth/BaseAuthProvider.d.ts +21 -0
- package/dist/auth/BaseAuthProvider.d.ts.map +1 -1
- package/dist/auth/BaseAuthProvider.js +24 -9
- package/dist/auth/BaseAuthProvider.js.map +1 -1
- package/dist/auth/IAuthProvider.d.ts +32 -0
- package/dist/auth/IAuthProvider.d.ts.map +1 -1
- package/dist/auth/__tests__/backward-compatibility.test.d.ts +2 -0
- package/dist/auth/__tests__/backward-compatibility.test.d.ts.map +1 -0
- package/dist/auth/__tests__/backward-compatibility.test.js +135 -0
- package/dist/auth/__tests__/backward-compatibility.test.js.map +1 -0
- package/dist/auth/exampleNewUserSubClass.d.ts +5 -1
- package/dist/auth/exampleNewUserSubClass.d.ts.map +1 -1
- package/dist/auth/exampleNewUserSubClass.js +21 -6
- package/dist/auth/exampleNewUserSubClass.js.map +1 -1
- package/dist/auth/index.d.ts +14 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +35 -22
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/initializeProviders.d.ts +3 -0
- package/dist/auth/initializeProviders.d.ts.map +1 -1
- package/dist/auth/initializeProviders.js +6 -0
- package/dist/auth/initializeProviders.js.map +1 -1
- package/dist/auth/newUsers.js +11 -2
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/auth/providers/Auth0Provider.d.ts +9 -0
- package/dist/auth/providers/Auth0Provider.d.ts.map +1 -1
- package/dist/auth/providers/Auth0Provider.js +10 -0
- package/dist/auth/providers/Auth0Provider.js.map +1 -1
- package/dist/auth/providers/CognitoProvider.d.ts +9 -0
- package/dist/auth/providers/CognitoProvider.d.ts.map +1 -1
- package/dist/auth/providers/CognitoProvider.js +10 -0
- package/dist/auth/providers/CognitoProvider.js.map +1 -1
- package/dist/auth/providers/GoogleProvider.d.ts +9 -0
- package/dist/auth/providers/GoogleProvider.d.ts.map +1 -1
- package/dist/auth/providers/GoogleProvider.js +11 -1
- package/dist/auth/providers/GoogleProvider.js.map +1 -1
- package/dist/auth/providers/MSALProvider.d.ts +9 -0
- package/dist/auth/providers/MSALProvider.d.ts.map +1 -1
- package/dist/auth/providers/MSALProvider.js +10 -0
- package/dist/auth/providers/MSALProvider.js.map +1 -1
- package/dist/auth/providers/OktaProvider.d.ts +9 -0
- package/dist/auth/providers/OktaProvider.d.ts.map +1 -1
- package/dist/auth/providers/OktaProvider.js +10 -0
- package/dist/auth/providers/OktaProvider.js.map +1 -1
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +42 -8
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +8 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +26 -4
- package/dist/context.js.map +1 -1
- package/dist/directives/Public.js +2 -0
- package/dist/directives/Public.js.map +1 -1
- package/dist/entitySubclasses/entityPermissions.server.d.ts +7 -2
- package/dist/entitySubclasses/entityPermissions.server.d.ts.map +1 -1
- package/dist/entitySubclasses/entityPermissions.server.js +26 -8
- package/dist/entitySubclasses/entityPermissions.server.js.map +1 -1
- package/dist/generated/generated.d.ts +529 -6
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +10054 -15076
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/DeleteOptionsInput.d.ts +3 -0
- package/dist/generic/DeleteOptionsInput.d.ts.map +1 -1
- package/dist/generic/DeleteOptionsInput.js +3 -2
- package/dist/generic/DeleteOptionsInput.js.map +1 -1
- package/dist/generic/KeyInputOutputTypes.js +0 -6
- package/dist/generic/KeyInputOutputTypes.js.map +1 -1
- package/dist/generic/KeyValuePairInput.d.ts +4 -0
- package/dist/generic/KeyValuePairInput.d.ts.map +1 -1
- package/dist/generic/KeyValuePairInput.js +4 -2
- package/dist/generic/KeyValuePairInput.js.map +1 -1
- package/dist/generic/PushStatusResolver.js +0 -3
- package/dist/generic/PushStatusResolver.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +58 -0
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +203 -18
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +22 -0
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +42 -108
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +82 -37
- package/dist/index.js.map +1 -1
- package/dist/orm.d.ts.map +1 -1
- package/dist/orm.js +2 -1
- package/dist/orm.js.map +1 -1
- package/dist/resolvers/APIKeyResolver.d.ts +74 -0
- package/dist/resolvers/APIKeyResolver.d.ts.map +1 -1
- package/dist/resolvers/APIKeyResolver.js +49 -10
- package/dist/resolvers/APIKeyResolver.js.map +1 -1
- package/dist/resolvers/ActionResolver.d.ts +189 -0
- package/dist/resolvers/ActionResolver.d.ts.map +1 -1
- package/dist/resolvers/ActionResolver.js +152 -21
- package/dist/resolvers/ActionResolver.js.map +1 -1
- package/dist/resolvers/AskSkipResolver.d.ts +123 -0
- package/dist/resolvers/AskSkipResolver.d.ts.map +1 -0
- package/dist/resolvers/AskSkipResolver.js +1788 -0
- package/dist/resolvers/AskSkipResolver.js.map +1 -0
- package/dist/resolvers/ColorResolver.js +0 -5
- package/dist/resolvers/ColorResolver.js.map +1 -1
- package/dist/resolvers/ComponentRegistryResolver.d.ts +65 -0
- package/dist/resolvers/ComponentRegistryResolver.d.ts.map +1 -1
- package/dist/resolvers/ComponentRegistryResolver.js +118 -40
- package/dist/resolvers/ComponentRegistryResolver.js.map +1 -1
- package/dist/resolvers/CreateQueryResolver.d.ts +47 -0
- package/dist/resolvers/CreateQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/CreateQueryResolver.js +92 -116
- package/dist/resolvers/CreateQueryResolver.js.map +1 -1
- package/dist/resolvers/DatasetResolver.js +2 -14
- package/dist/resolvers/DatasetResolver.js.map +1 -1
- package/dist/resolvers/EntityCommunicationsResolver.d.ts +40 -0
- package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityCommunicationsResolver.js +2 -36
- package/dist/resolvers/EntityCommunicationsResolver.js.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +0 -7
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/FileCategoryResolver.js +13 -1
- package/dist/resolvers/FileCategoryResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.d.ts +16 -0
- package/dist/resolvers/FileResolver.d.ts.map +1 -1
- package/dist/resolvers/FileResolver.js +59 -74
- package/dist/resolvers/FileResolver.js.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts +18 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.js +17 -9
- package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts +19 -0
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +35 -35
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/InfoResolver.d.ts.map +1 -1
- package/dist/resolvers/InfoResolver.js +4 -7
- package/dist/resolvers/InfoResolver.js.map +1 -1
- package/dist/resolvers/MCPResolver.d.ts +325 -1
- package/dist/resolvers/MCPResolver.d.ts.map +1 -1
- package/dist/resolvers/MCPResolver.js +931 -24
- package/dist/resolvers/MCPResolver.js.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.js +3 -29
- package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.js +0 -3
- package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +1 -1
- package/dist/resolvers/QueryResolver.d.ts +20 -0
- package/dist/resolvers/QueryResolver.d.ts.map +1 -1
- package/dist/resolvers/QueryResolver.js +44 -36
- package/dist/resolvers/QueryResolver.js.map +1 -1
- package/dist/resolvers/ReportResolver.d.ts +3 -0
- package/dist/resolvers/ReportResolver.d.ts.map +1 -1
- package/dist/resolvers/ReportResolver.js +9 -10
- package/dist/resolvers/ReportResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +54 -0
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +116 -40
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.d.ts +42 -0
- package/dist/resolvers/RunAIPromptResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.js +95 -22
- package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js +9 -6
- package/dist/resolvers/RunTemplateResolver.js.map +1 -1
- package/dist/resolvers/RunTestResolver.d.ts +12 -0
- package/dist/resolvers/RunTestResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTestResolver.js +35 -21
- package/dist/resolvers/RunTestResolver.js.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts +312 -0
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.js +295 -45
- package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts +21 -0
- package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncDataResolver.js +36 -22
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.d.ts +14 -0
- package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.js +54 -21
- package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
- package/dist/resolvers/TaskResolver.d.ts +13 -0
- package/dist/resolvers/TaskResolver.d.ts.map +1 -1
- package/dist/resolvers/TaskResolver.js +22 -7
- package/dist/resolvers/TaskResolver.js.map +1 -1
- package/dist/resolvers/TelemetryResolver.d.ts +22 -0
- package/dist/resolvers/TelemetryResolver.d.ts.map +1 -1
- package/dist/resolvers/TelemetryResolver.js +45 -79
- package/dist/resolvers/TelemetryResolver.js.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.js +11 -13
- package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
- package/dist/resolvers/UserFavoriteResolver.js +3 -12
- package/dist/resolvers/UserFavoriteResolver.js.map +1 -1
- package/dist/resolvers/UserResolver.js +10 -0
- package/dist/resolvers/UserResolver.js.map +1 -1
- package/dist/resolvers/UserViewResolver.js +4 -0
- package/dist/resolvers/UserViewResolver.js.map +1 -1
- package/dist/resolvers/VersionHistoryResolver.d.ts +39 -0
- package/dist/resolvers/VersionHistoryResolver.d.ts.map +1 -0
- package/dist/resolvers/VersionHistoryResolver.js +208 -0
- package/dist/resolvers/VersionHistoryResolver.js.map +1 -0
- package/dist/rest/EntityCRUDHandler.d.ts +19 -0
- package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
- package/dist/rest/EntityCRUDHandler.js +55 -0
- package/dist/rest/EntityCRUDHandler.js.map +1 -1
- package/dist/rest/OAuthCallbackHandler.d.ts +143 -0
- package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -0
- package/dist/rest/OAuthCallbackHandler.js +634 -0
- package/dist/rest/OAuthCallbackHandler.js.map +1 -0
- package/dist/rest/RESTEndpointHandler.d.ts +120 -0
- package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
- package/dist/rest/RESTEndpointHandler.js +213 -24
- package/dist/rest/RESTEndpointHandler.js.map +1 -1
- package/dist/rest/ViewOperationsHandler.d.ts +19 -0
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +39 -0
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/rest/index.d.ts +1 -0
- package/dist/rest/index.d.ts.map +1 -1
- package/dist/rest/index.js +1 -0
- package/dist/rest/index.js.map +1 -1
- package/dist/rest/setupRESTEndpoints.d.ts +35 -0
- package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
- package/dist/rest/setupRESTEndpoints.js +15 -1
- package/dist/rest/setupRESTEndpoints.js.map +1 -1
- package/dist/scheduler/LearningCycleScheduler.d.ts +4 -0
- package/dist/scheduler/LearningCycleScheduler.d.ts.map +1 -0
- package/dist/scheduler/LearningCycleScheduler.js +4 -0
- package/dist/scheduler/LearningCycleScheduler.js.map +1 -0
- package/dist/services/ScheduledJobsService.d.ts +31 -0
- package/dist/services/ScheduledJobsService.d.ts.map +1 -1
- package/dist/services/ScheduledJobsService.js +38 -4
- package/dist/services/ScheduledJobsService.js.map +1 -1
- package/dist/services/TaskOrchestrator.d.ts +73 -0
- package/dist/services/TaskOrchestrator.d.ts.map +1 -1
- package/dist/services/TaskOrchestrator.js +137 -15
- package/dist/services/TaskOrchestrator.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -13
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +37 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +55 -8
- package/dist/util.js.map +1 -1
- package/package.json +79 -78
- package/src/auth/exampleNewUserSubClass.ts +1 -5
- package/src/entitySubclasses/entityPermissions.server.ts +1 -3
- package/src/generated/generated.ts +4682 -2681
- package/src/index.ts +61 -62
- package/src/resolvers/InfoResolver.ts +5 -1
- package/src/resolvers/MCPResolver.ts +910 -10
- package/src/resolvers/PotentialDuplicateRecordResolver.ts +0 -4
- package/src/resolvers/VersionHistoryResolver.ts +177 -0
- package/src/rest/OAuthCallbackHandler.ts +766 -0
- package/src/rest/RESTEndpointHandler.ts +58 -35
- package/src/rest/index.ts +2 -1
- package/src/rest/setupRESTEndpoints.ts +13 -12
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { Metadata, RunView, LogError, LogStatus } from '@memberjunction/core';
|
|
2
2
|
import { AgentRunner } from '@memberjunction/ai-agents';
|
|
3
3
|
import { PUSH_STATUS_UPDATES_TOPIC } from '../generic/PushStatusResolver.js';
|
|
4
|
+
/**
|
|
5
|
+
* TaskOrchestrator handles multi-step task execution with dependencies
|
|
6
|
+
*/
|
|
4
7
|
export class TaskOrchestrator {
|
|
5
|
-
contextUser;
|
|
6
|
-
pubSub;
|
|
7
|
-
sessionId;
|
|
8
|
-
userPayload;
|
|
9
|
-
createNotifications;
|
|
10
|
-
conversationDetailId;
|
|
11
|
-
JSON_ARTIFACT_TYPE_ID = 'ae674c7e-ea0d-49ea-89e4-0649f5eb20d4';
|
|
12
|
-
taskTypeId = null;
|
|
13
8
|
constructor(contextUser, pubSub, sessionId, userPayload, createNotifications = false, conversationDetailId) {
|
|
14
9
|
this.contextUser = contextUser;
|
|
15
10
|
this.pubSub = pubSub;
|
|
@@ -17,7 +12,13 @@ export class TaskOrchestrator {
|
|
|
17
12
|
this.userPayload = userPayload;
|
|
18
13
|
this.createNotifications = createNotifications;
|
|
19
14
|
this.conversationDetailId = conversationDetailId;
|
|
15
|
+
// Default artifact type ID for JSON (when agent doesn't specify DefaultArtifactTypeID)
|
|
16
|
+
this.JSON_ARTIFACT_TYPE_ID = 'ae674c7e-ea0d-49ea-89e4-0649f5eb20d4';
|
|
17
|
+
this.taskTypeId = null;
|
|
20
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Initialize the orchestrator by finding/creating the AI Agent Task type
|
|
21
|
+
*/
|
|
21
22
|
async ensureTaskType() {
|
|
22
23
|
if (this.taskTypeId) {
|
|
23
24
|
return this.taskTypeId;
|
|
@@ -32,6 +33,7 @@ export class TaskOrchestrator {
|
|
|
32
33
|
this.taskTypeId = result.Results[0].ID;
|
|
33
34
|
return this.taskTypeId;
|
|
34
35
|
}
|
|
36
|
+
// Create the task type if it doesn't exist
|
|
35
37
|
const md = new Metadata();
|
|
36
38
|
const taskType = await md.GetEntityObject('MJ: Task Types', this.contextUser);
|
|
37
39
|
taskType.Name = 'AI Agent Execution';
|
|
@@ -43,23 +45,32 @@ export class TaskOrchestrator {
|
|
|
43
45
|
this.taskTypeId = taskType.ID;
|
|
44
46
|
return this.taskTypeId;
|
|
45
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Create tasks from LLM task graph response
|
|
50
|
+
* @param taskGraph Task graph from Conversation Manager
|
|
51
|
+
* @param conversationDetailId ID of the conversation detail that triggered this
|
|
52
|
+
* @param environmentId Environment ID
|
|
53
|
+
* @returns Object with parentTaskId and map of tempId -> actual TaskEntity ID
|
|
54
|
+
*/
|
|
46
55
|
async createTasksFromGraph(taskGraph, conversationDetailId, environmentId) {
|
|
47
56
|
const taskTypeId = await this.ensureTaskType();
|
|
48
57
|
const md = new Metadata();
|
|
49
58
|
const tempIdToRealId = new Map();
|
|
59
|
+
// Create parent workflow task
|
|
50
60
|
const parentTask = await md.GetEntityObject('MJ: Tasks', this.contextUser);
|
|
51
61
|
parentTask.Name = taskGraph.workflowName;
|
|
52
62
|
parentTask.Description = taskGraph.reasoning || 'AI-orchestrated workflow';
|
|
53
63
|
parentTask.TypeID = taskTypeId;
|
|
54
64
|
parentTask.EnvironmentID = environmentId;
|
|
55
|
-
parentTask.ConversationDetailID = conversationDetailId;
|
|
56
|
-
parentTask.Status = 'In Progress';
|
|
65
|
+
parentTask.ConversationDetailID = conversationDetailId; // Parent links to conversation
|
|
66
|
+
parentTask.Status = 'In Progress'; // Workflow is in progress
|
|
57
67
|
parentTask.PercentComplete = 0;
|
|
58
68
|
const parentSaved = await parentTask.Save();
|
|
59
69
|
if (!parentSaved) {
|
|
60
70
|
throw new Error('Failed to create parent workflow task');
|
|
61
71
|
}
|
|
62
72
|
LogStatus(`Created parent workflow task: ${parentTask.Name} (${parentTask.ID})`);
|
|
73
|
+
// Deduplicate tasks by tempId (LLM sometimes returns duplicates)
|
|
63
74
|
const seenTempIds = new Set();
|
|
64
75
|
const uniqueTasks = taskGraph.tasks.filter(task => {
|
|
65
76
|
if (seenTempIds.has(task.tempId)) {
|
|
@@ -70,8 +81,10 @@ export class TaskOrchestrator {
|
|
|
70
81
|
return true;
|
|
71
82
|
});
|
|
72
83
|
LogStatus(`Creating ${uniqueTasks.length} unique child tasks (${taskGraph.tasks.length - uniqueTasks.length} duplicates filtered)`);
|
|
84
|
+
// Create all child tasks
|
|
73
85
|
for (const taskDef of uniqueTasks) {
|
|
74
86
|
const task = await md.GetEntityObject('MJ: Tasks', this.contextUser);
|
|
87
|
+
// Find agent by name
|
|
75
88
|
const agent = await this.findAgentByName(taskDef.agentName);
|
|
76
89
|
if (!agent) {
|
|
77
90
|
LogError(`Agent not found: ${taskDef.agentName}`);
|
|
@@ -81,16 +94,18 @@ export class TaskOrchestrator {
|
|
|
81
94
|
task.Description = taskDef.description;
|
|
82
95
|
task.TypeID = taskTypeId;
|
|
83
96
|
task.EnvironmentID = environmentId;
|
|
84
|
-
task.ParentID = parentTask.ID;
|
|
85
|
-
task.ConversationDetailID = conversationDetailId;
|
|
97
|
+
task.ParentID = parentTask.ID; // Link to parent task
|
|
98
|
+
task.ConversationDetailID = conversationDetailId; // Link to conversation so agent runs can be tracked
|
|
86
99
|
task.AgentID = agent.ID;
|
|
87
100
|
task.Status = 'Pending';
|
|
88
101
|
task.PercentComplete = 0;
|
|
102
|
+
// Store input payload if provided
|
|
89
103
|
if (taskDef.inputPayload) {
|
|
90
104
|
const metadata = {
|
|
91
105
|
inputPayload: taskDef.inputPayload,
|
|
92
106
|
tempId: taskDef.tempId
|
|
93
107
|
};
|
|
108
|
+
// Store in a well-known format at the end of description
|
|
94
109
|
task.Description = `${taskDef.description}\n\n__TASK_METADATA__\n${JSON.stringify(metadata)}`;
|
|
95
110
|
}
|
|
96
111
|
const saved = await task.Save();
|
|
@@ -99,6 +114,7 @@ export class TaskOrchestrator {
|
|
|
99
114
|
LogStatus(`Created child task: ${task.Name} (${task.ID}) under parent ${parentTask.ID}`);
|
|
100
115
|
}
|
|
101
116
|
}
|
|
117
|
+
// Create dependencies between child tasks
|
|
102
118
|
for (const taskDef of uniqueTasks) {
|
|
103
119
|
const taskId = tempIdToRealId.get(taskDef.tempId);
|
|
104
120
|
if (!taskId)
|
|
@@ -122,6 +138,9 @@ export class TaskOrchestrator {
|
|
|
122
138
|
taskIdMap: tempIdToRealId
|
|
123
139
|
};
|
|
124
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Publish task progress update via PubSub
|
|
143
|
+
*/
|
|
125
144
|
publishTaskProgress(taskName, message, percentComplete) {
|
|
126
145
|
if (!this.pubSub || !this.sessionId || !this.userPayload) {
|
|
127
146
|
LogStatus(`⚠️ PubSub not available for progress updates (pubSub: ${!!this.pubSub}, sessionId: ${!!this.sessionId}, userPayload: ${!!this.userPayload})`);
|
|
@@ -146,6 +165,9 @@ export class TaskOrchestrator {
|
|
|
146
165
|
this.pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, payload);
|
|
147
166
|
LogStatus(`[Task: ${taskName}] ${message} (${percentComplete}%)`);
|
|
148
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Publish agent progress update (nested within task)
|
|
170
|
+
*/
|
|
149
171
|
publishAgentProgress(taskName, agentStep, agentMessage) {
|
|
150
172
|
if (!this.pubSub || !this.sessionId || !this.userPayload) {
|
|
151
173
|
LogStatus(`⚠️ PubSub not available for agent progress (pubSub: ${!!this.pubSub}, sessionId: ${!!this.sessionId}, userPayload: ${!!this.userPayload})`);
|
|
@@ -170,6 +192,9 @@ export class TaskOrchestrator {
|
|
|
170
192
|
this.pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, payload);
|
|
171
193
|
LogStatus(`[Task: ${taskName}] → ${agentStep}: ${agentMessage}`);
|
|
172
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Find agent by name
|
|
197
|
+
*/
|
|
173
198
|
async findAgentByName(agentName) {
|
|
174
199
|
const rv = new RunView();
|
|
175
200
|
const result = await rv.RunView({
|
|
@@ -182,38 +207,56 @@ export class TaskOrchestrator {
|
|
|
182
207
|
}
|
|
183
208
|
return null;
|
|
184
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* Execute all pending tasks for a parent task, respecting dependencies
|
|
212
|
+
* @param parentTaskId Parent task ID
|
|
213
|
+
* @returns Array of execution results
|
|
214
|
+
*/
|
|
185
215
|
async executeTasksForParent(parentTaskId) {
|
|
186
216
|
const results = [];
|
|
187
217
|
let hasMore = true;
|
|
218
|
+
// Get parent task for progress updates
|
|
188
219
|
const md = new Metadata();
|
|
189
220
|
const parentTask = await md.GetEntityObject('MJ: Tasks', this.contextUser);
|
|
190
221
|
await parentTask.Load(parentTaskId);
|
|
222
|
+
// Publish workflow start
|
|
191
223
|
this.publishTaskProgress(parentTask.Name, 'Starting workflow execution', 0);
|
|
192
224
|
while (hasMore) {
|
|
225
|
+
// Find tasks that are pending and have no incomplete dependencies
|
|
193
226
|
const eligibleTasks = await this.findEligibleTasks(parentTaskId);
|
|
194
227
|
if (eligibleTasks.length === 0) {
|
|
195
228
|
hasMore = false;
|
|
196
229
|
break;
|
|
197
230
|
}
|
|
231
|
+
// Execute eligible tasks (could be parallelized in the future)
|
|
198
232
|
for (const task of eligibleTasks) {
|
|
233
|
+
// Publish task start
|
|
199
234
|
this.publishTaskProgress(task.Name, 'Starting task', 0);
|
|
200
235
|
const result = await this.executeTask(task);
|
|
201
236
|
results.push(result);
|
|
237
|
+
// Publish task complete
|
|
202
238
|
if (result.success) {
|
|
203
239
|
this.publishTaskProgress(task.Name, 'Task completed successfully', 100);
|
|
204
240
|
}
|
|
205
241
|
else {
|
|
206
242
|
this.publishTaskProgress(task.Name, `Task failed: ${result.error}`, 100);
|
|
207
243
|
}
|
|
244
|
+
// Update parent task progress after each child completes
|
|
208
245
|
await this.updateParentTaskProgress(parentTaskId);
|
|
209
246
|
}
|
|
210
247
|
}
|
|
248
|
+
// Mark parent task as complete
|
|
211
249
|
await this.completeParentTask(parentTaskId);
|
|
250
|
+
// Publish workflow complete
|
|
212
251
|
this.publishTaskProgress(parentTask.Name, 'Workflow completed', 100);
|
|
213
252
|
return results;
|
|
214
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Find tasks that are ready to execute (pending with no incomplete dependencies)
|
|
256
|
+
*/
|
|
215
257
|
async findEligibleTasks(parentTaskId) {
|
|
216
258
|
const rv = new RunView();
|
|
259
|
+
// Get all pending tasks for this parent
|
|
217
260
|
const tasksResult = await rv.RunView({
|
|
218
261
|
EntityName: 'MJ: Tasks',
|
|
219
262
|
ExtraFilter: `ParentID='${parentTaskId}' AND Status='Pending'`,
|
|
@@ -223,6 +266,7 @@ export class TaskOrchestrator {
|
|
|
223
266
|
return [];
|
|
224
267
|
}
|
|
225
268
|
const eligibleTasks = [];
|
|
269
|
+
// Check each task for incomplete dependencies
|
|
226
270
|
for (const task of tasksResult.Results) {
|
|
227
271
|
const hasIncompleteDeps = await this.hasIncompleteDependencies(task.ID);
|
|
228
272
|
if (!hasIncompleteDeps) {
|
|
@@ -231,6 +275,9 @@ export class TaskOrchestrator {
|
|
|
231
275
|
}
|
|
232
276
|
return eligibleTasks;
|
|
233
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Update parent task progress based on child task completion
|
|
280
|
+
*/
|
|
234
281
|
async updateParentTaskProgress(parentTaskId) {
|
|
235
282
|
const md = new Metadata();
|
|
236
283
|
const parentTask = await md.GetEntityObject('MJ: Tasks', this.contextUser);
|
|
@@ -238,6 +285,7 @@ export class TaskOrchestrator {
|
|
|
238
285
|
if (!loaded)
|
|
239
286
|
return;
|
|
240
287
|
const rv = new RunView();
|
|
288
|
+
// Get all child tasks
|
|
241
289
|
const childrenResult = await rv.RunView({
|
|
242
290
|
EntityName: 'MJ: Tasks',
|
|
243
291
|
ExtraFilter: `ParentID='${parentTaskId}'`,
|
|
@@ -249,10 +297,14 @@ export class TaskOrchestrator {
|
|
|
249
297
|
const children = childrenResult.Results;
|
|
250
298
|
const completedCount = children.filter(t => t.Status === 'Complete').length;
|
|
251
299
|
const totalCount = children.length;
|
|
300
|
+
// Update percent complete
|
|
252
301
|
parentTask.PercentComplete = Math.round((completedCount / totalCount) * 100);
|
|
253
302
|
await parentTask.Save();
|
|
254
303
|
LogStatus(`Parent task ${parentTask.Name} is ${parentTask.PercentComplete}% complete (${completedCount}/${totalCount} tasks)`);
|
|
255
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* Mark parent task as complete when all children are done
|
|
307
|
+
*/
|
|
256
308
|
async completeParentTask(parentTaskId) {
|
|
257
309
|
const md = new Metadata();
|
|
258
310
|
const parentTask = await md.GetEntityObject('MJ: Tasks', this.contextUser);
|
|
@@ -264,50 +316,68 @@ export class TaskOrchestrator {
|
|
|
264
316
|
parentTask.CompletedAt = new Date();
|
|
265
317
|
const saved = await parentTask.Save();
|
|
266
318
|
LogStatus(`Parent workflow task completed: ${parentTask.Name}`);
|
|
319
|
+
// If notifications enabled, create user notification
|
|
267
320
|
if (this.createNotifications && saved) {
|
|
268
321
|
await this.createTaskGraphCompletionNotification(parentTask);
|
|
269
322
|
}
|
|
270
323
|
}
|
|
324
|
+
/**
|
|
325
|
+
* Check if a task has incomplete dependencies
|
|
326
|
+
*/
|
|
271
327
|
async hasIncompleteDependencies(taskId) {
|
|
272
328
|
const rv = new RunView();
|
|
329
|
+
// Get dependencies
|
|
273
330
|
const depsResult = await rv.RunView({
|
|
274
331
|
EntityName: 'MJ: Task Dependencies',
|
|
275
332
|
ExtraFilter: `TaskID='${taskId}'`,
|
|
276
333
|
ResultType: 'entity_object'
|
|
277
334
|
}, this.contextUser);
|
|
278
335
|
if (!depsResult.Success || !depsResult.Results || depsResult.Results.length === 0) {
|
|
279
|
-
return false;
|
|
336
|
+
return false; // No dependencies
|
|
280
337
|
}
|
|
338
|
+
// Check if any dependency is not complete
|
|
281
339
|
for (const dep of depsResult.Results) {
|
|
282
340
|
const dependsOnTask = await this.loadTask(dep.DependsOnTaskID);
|
|
283
341
|
if (dependsOnTask && dependsOnTask.Status !== 'Complete') {
|
|
284
|
-
return true;
|
|
342
|
+
return true; // Has incomplete dependency
|
|
285
343
|
}
|
|
286
344
|
}
|
|
287
345
|
return false;
|
|
288
346
|
}
|
|
347
|
+
/**
|
|
348
|
+
* Load a task by ID
|
|
349
|
+
*/
|
|
289
350
|
async loadTask(taskId) {
|
|
290
351
|
const md = new Metadata();
|
|
291
352
|
const task = await md.GetEntityObject('MJ: Tasks', this.contextUser);
|
|
292
353
|
const loaded = await task.Load(taskId);
|
|
293
354
|
return loaded ? task : null;
|
|
294
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Execute a single task
|
|
358
|
+
*/
|
|
295
359
|
async executeTask(task) {
|
|
296
360
|
try {
|
|
297
361
|
LogStatus(`Executing task: ${task.Name} (${task.ID})`);
|
|
362
|
+
// Update status to In Progress
|
|
298
363
|
task.Status = 'In Progress';
|
|
299
364
|
task.StartedAt = new Date();
|
|
300
365
|
await task.Save();
|
|
366
|
+
// Load the agent entity
|
|
301
367
|
const md = new Metadata();
|
|
302
368
|
const agentEntity = await md.GetEntityObject('AI Agents', this.contextUser);
|
|
303
369
|
const loaded = await agentEntity.Load(task.AgentID);
|
|
304
370
|
if (!loaded) {
|
|
305
371
|
throw new Error(`Agent with ID ${task.AgentID} not found`);
|
|
306
372
|
}
|
|
373
|
+
// Build conversation messages with task input and dependent outputs as markdown
|
|
307
374
|
const messages = await this.buildConversationMessages(task);
|
|
375
|
+
// Create progress callback to publish agent progress nested under task
|
|
308
376
|
const onProgress = (progress) => {
|
|
309
377
|
this.publishAgentProgress(task.Name, progress.step || 'processing', progress.message || '');
|
|
310
378
|
};
|
|
379
|
+
// Run the agent - use only conversationMessages, no payload parameter
|
|
380
|
+
// Payload should only be used when passing an agent its own prior output for modification
|
|
311
381
|
const agentRunner = new AgentRunner();
|
|
312
382
|
const agentResult = await agentRunner.RunAgent({
|
|
313
383
|
agent: agentEntity,
|
|
@@ -317,18 +387,23 @@ export class TaskOrchestrator {
|
|
|
317
387
|
onProgress: onProgress
|
|
318
388
|
});
|
|
319
389
|
if (agentResult.success) {
|
|
390
|
+
// Extract output - check both message and payload
|
|
320
391
|
const output = this.extractAgentOutput(agentResult);
|
|
392
|
+
// Store output in task metadata
|
|
321
393
|
const outputMetadata = {
|
|
322
394
|
outputType: output.type,
|
|
323
395
|
output: output.content,
|
|
324
396
|
agentRunId: agentResult.agentRun?.ID
|
|
325
397
|
};
|
|
398
|
+
// Update task with success
|
|
326
399
|
task.Status = 'Complete';
|
|
327
400
|
task.CompletedAt = new Date();
|
|
328
401
|
task.PercentComplete = 100;
|
|
402
|
+
// Store output in description (would be better as a separate column)
|
|
329
403
|
task.Description = `${task.Description}\n\n__TASK_OUTPUT__\n${JSON.stringify(outputMetadata)}`;
|
|
330
404
|
await task.Save();
|
|
331
405
|
LogStatus(`Task completed: ${task.Name} (output type: ${output.type})`);
|
|
406
|
+
// Always create artifact for task output (both message and payload results)
|
|
332
407
|
let conversationDetailId = task.ConversationDetailID;
|
|
333
408
|
if (!conversationDetailId && task.ParentID) {
|
|
334
409
|
const parentTask = await this.loadTask(task.ParentID);
|
|
@@ -347,6 +422,7 @@ export class TaskOrchestrator {
|
|
|
347
422
|
};
|
|
348
423
|
}
|
|
349
424
|
else {
|
|
425
|
+
// Update task with failure
|
|
350
426
|
task.Status = 'Failed';
|
|
351
427
|
task.CompletedAt = new Date();
|
|
352
428
|
await task.Save();
|
|
@@ -361,6 +437,7 @@ export class TaskOrchestrator {
|
|
|
361
437
|
}
|
|
362
438
|
catch (error) {
|
|
363
439
|
LogError(error);
|
|
440
|
+
// Update task with failure
|
|
364
441
|
task.Status = 'Failed';
|
|
365
442
|
task.CompletedAt = new Date();
|
|
366
443
|
await task.Save();
|
|
@@ -371,6 +448,9 @@ export class TaskOrchestrator {
|
|
|
371
448
|
};
|
|
372
449
|
}
|
|
373
450
|
}
|
|
451
|
+
/**
|
|
452
|
+
* Extract input payload from task metadata
|
|
453
|
+
*/
|
|
374
454
|
extractInputPayload(task) {
|
|
375
455
|
if (!task.Description)
|
|
376
456
|
return null;
|
|
@@ -385,9 +465,13 @@ export class TaskOrchestrator {
|
|
|
385
465
|
return null;
|
|
386
466
|
}
|
|
387
467
|
}
|
|
468
|
+
/**
|
|
469
|
+
* Get outputs from tasks that this task depends on
|
|
470
|
+
*/
|
|
388
471
|
async getDependentTaskOutputs(taskId) {
|
|
389
472
|
const outputs = new Map();
|
|
390
473
|
const rv = new RunView();
|
|
474
|
+
// Get dependencies
|
|
391
475
|
const depsResult = await rv.RunView({
|
|
392
476
|
EntityName: 'MJ: Task Dependencies',
|
|
393
477
|
ExtraFilter: `TaskID='${taskId}'`,
|
|
@@ -396,6 +480,7 @@ export class TaskOrchestrator {
|
|
|
396
480
|
if (!depsResult.Success || !depsResult.Results) {
|
|
397
481
|
return outputs;
|
|
398
482
|
}
|
|
483
|
+
// Get output from each dependency
|
|
399
484
|
for (const dep of depsResult.Results) {
|
|
400
485
|
const dependsOnTask = await this.loadTask(dep.DependsOnTaskID);
|
|
401
486
|
if (!dependsOnTask || !dependsOnTask.Description)
|
|
@@ -413,11 +498,18 @@ export class TaskOrchestrator {
|
|
|
413
498
|
}
|
|
414
499
|
return outputs;
|
|
415
500
|
}
|
|
501
|
+
/**
|
|
502
|
+
* Build conversation messages with task input and dependent outputs formatted as markdown
|
|
503
|
+
*/
|
|
416
504
|
async buildConversationMessages(task) {
|
|
417
505
|
const messages = [];
|
|
506
|
+
// Start with task description/name as base content
|
|
418
507
|
let userContent = task.Description || task.Name;
|
|
508
|
+
// Extract input payload from task metadata if it exists
|
|
419
509
|
const inputPayload = this.extractInputPayload(task);
|
|
510
|
+
// Get dependent task outputs
|
|
420
511
|
const dependentOutputs = await this.getDependentTaskOutputs(task.ID);
|
|
512
|
+
// If there are dependent outputs, format them as markdown blocks
|
|
421
513
|
if (dependentOutputs.size > 0) {
|
|
422
514
|
userContent += '\n\n## Results from Dependent Tasks:\n\n';
|
|
423
515
|
for (const [taskId, outputData] of dependentOutputs.entries()) {
|
|
@@ -426,6 +518,7 @@ export class TaskOrchestrator {
|
|
|
426
518
|
userContent += `### ${taskName}\n\`\`\`json\n${JSON.stringify(outputData, null, 2)}\n\`\`\`\n\n`;
|
|
427
519
|
}
|
|
428
520
|
}
|
|
521
|
+
// If input payload exists, add it as a separate section
|
|
429
522
|
if (inputPayload) {
|
|
430
523
|
userContent += '\n\n## Task Input:\n\`\`\`json\n' + JSON.stringify(inputPayload, null, 2) + '\n\`\`\`';
|
|
431
524
|
}
|
|
@@ -435,25 +528,38 @@ export class TaskOrchestrator {
|
|
|
435
528
|
});
|
|
436
529
|
return messages;
|
|
437
530
|
}
|
|
531
|
+
/**
|
|
532
|
+
* Extract agent output - check both message and payload
|
|
533
|
+
*/
|
|
438
534
|
extractAgentOutput(agentResult) {
|
|
535
|
+
// Check if agent returned a message (text response)
|
|
439
536
|
if (agentResult.agentRun?.Message) {
|
|
440
537
|
return { type: 'message', content: agentResult.agentRun.Message };
|
|
441
538
|
}
|
|
539
|
+
// Check if agent returned a payload (structured data)
|
|
442
540
|
if (agentResult.payload && Object.keys(agentResult.payload).length > 0) {
|
|
443
541
|
return { type: 'payload', content: agentResult.payload };
|
|
444
542
|
}
|
|
543
|
+
// No output
|
|
445
544
|
return { type: 'message', content: '' };
|
|
446
545
|
}
|
|
546
|
+
/**
|
|
547
|
+
* Create artifact from task output (handles both message and payload types)
|
|
548
|
+
*/
|
|
447
549
|
async createArtifactFromOutput(output, conversationDetailId, agent, taskName) {
|
|
448
550
|
try {
|
|
449
551
|
const md = new Metadata();
|
|
552
|
+
// Create Artifact header
|
|
450
553
|
const artifact = await md.GetEntityObject('MJ: Artifacts', this.contextUser);
|
|
451
554
|
artifact.Name = `${agent.Name} - ${taskName} - ${new Date().toLocaleString()}`;
|
|
452
555
|
artifact.Description = `Artifact generated by ${agent.Name} for task: ${taskName} (${output.type})`;
|
|
556
|
+
// Use agent's DefaultArtifactTypeID if available, otherwise fall back to JSON
|
|
453
557
|
const defaultArtifactTypeId = agent.DefaultArtifactTypeID;
|
|
454
558
|
artifact.TypeID = defaultArtifactTypeId || this.JSON_ARTIFACT_TYPE_ID;
|
|
455
559
|
artifact.UserID = this.contextUser.ID;
|
|
456
560
|
artifact.EnvironmentID = this.contextUser.EnvironmentID || 'F51358F3-9447-4176-B313-BF8025FD8D09';
|
|
561
|
+
// Set visibility based on agent's ArtifactCreationMode
|
|
562
|
+
// Will compile after CodeGen adds the new fields
|
|
457
563
|
const creationMode = agent.ArtifactCreationMode;
|
|
458
564
|
if (creationMode === 'System Only') {
|
|
459
565
|
artifact.Visibility = 'System Only';
|
|
@@ -468,9 +574,11 @@ export class TaskOrchestrator {
|
|
|
468
574
|
return;
|
|
469
575
|
}
|
|
470
576
|
LogStatus(`Created artifact: ${artifact.Name} (${artifact.ID})`);
|
|
577
|
+
// Create Artifact Version with content
|
|
471
578
|
const version = await md.GetEntityObject('MJ: Artifact Versions', this.contextUser);
|
|
472
579
|
version.ArtifactID = artifact.ID;
|
|
473
580
|
version.VersionNumber = 1;
|
|
581
|
+
// Store content based on output type
|
|
474
582
|
if (output.type === 'message') {
|
|
475
583
|
version.Content = output.content;
|
|
476
584
|
}
|
|
@@ -484,19 +592,23 @@ export class TaskOrchestrator {
|
|
|
484
592
|
return;
|
|
485
593
|
}
|
|
486
594
|
LogStatus(`Created artifact version: ${version.ID}`);
|
|
595
|
+
// Check for extracted Name attribute and update artifact with better name
|
|
487
596
|
const nameAttr = version.Attributes?.find((attr) => attr.StandardProperty === 'name' || attr.Name?.toLowerCase() === 'name');
|
|
597
|
+
// Check for valid name value (not null, not empty, not string "null")
|
|
488
598
|
let extractedName = nameAttr?.Value?.trim();
|
|
489
599
|
if (extractedName && extractedName.toLowerCase() !== 'null') {
|
|
600
|
+
// Strip surrounding quotes (double or single) from start and end
|
|
490
601
|
extractedName = extractedName.replace(/^["']|["']$/g, '');
|
|
491
602
|
artifact.Name = extractedName;
|
|
492
603
|
if (await artifact.Save()) {
|
|
493
604
|
LogStatus(`✨ Updated artifact name to: ${artifact.Name}`);
|
|
494
605
|
}
|
|
495
606
|
}
|
|
607
|
+
// Create M2M relationship linking artifact to conversation detail
|
|
496
608
|
const junction = await md.GetEntityObject('MJ: Conversation Detail Artifacts', this.contextUser);
|
|
497
609
|
junction.ConversationDetailID = conversationDetailId;
|
|
498
610
|
junction.ArtifactVersionID = version.ID;
|
|
499
|
-
junction.Direction = 'Output';
|
|
611
|
+
junction.Direction = 'Output'; // Artifact produced as output from task
|
|
500
612
|
const junctionSaved = await junction.Save();
|
|
501
613
|
if (!junctionSaved) {
|
|
502
614
|
LogError('Failed to create artifact-conversation association');
|
|
@@ -508,6 +620,10 @@ export class TaskOrchestrator {
|
|
|
508
620
|
LogError(`Error creating artifact from output: ${error}`);
|
|
509
621
|
}
|
|
510
622
|
}
|
|
623
|
+
/**
|
|
624
|
+
* Create user notification for task graph completion
|
|
625
|
+
* Notifies user that their multi-step workflow has completed
|
|
626
|
+
*/
|
|
511
627
|
async createTaskGraphCompletionNotification(parentTask) {
|
|
512
628
|
try {
|
|
513
629
|
if (!parentTask.ConversationDetailID) {
|
|
@@ -515,10 +631,12 @@ export class TaskOrchestrator {
|
|
|
515
631
|
return;
|
|
516
632
|
}
|
|
517
633
|
const md = new Metadata();
|
|
634
|
+
// Load conversation detail to get conversation ID
|
|
518
635
|
const detail = await md.GetEntityObject('Conversation Details', this.contextUser);
|
|
519
636
|
if (!(await detail.Load(parentTask.ConversationDetailID))) {
|
|
520
637
|
throw new Error(`Failed to load conversation detail ${parentTask.ConversationDetailID}`);
|
|
521
638
|
}
|
|
639
|
+
// Count child tasks and success rate
|
|
522
640
|
const rv = new RunView();
|
|
523
641
|
const tasksResult = await rv.RunView({
|
|
524
642
|
EntityName: 'MJ: Tasks',
|
|
@@ -528,10 +646,12 @@ export class TaskOrchestrator {
|
|
|
528
646
|
const childTasks = tasksResult.Success ? (tasksResult.Results || []) : [];
|
|
529
647
|
const successCount = childTasks.filter(t => t.Status === 'Complete').length;
|
|
530
648
|
const totalCount = childTasks.length;
|
|
649
|
+
// Create notification
|
|
531
650
|
const notification = await md.GetEntityObject('User Notifications', this.contextUser);
|
|
532
651
|
notification.UserID = this.contextUser.ID;
|
|
533
652
|
notification.Title = `Workflow "${parentTask.Name}" completed`;
|
|
534
653
|
notification.Message = `Your ${totalCount}-step workflow has finished. ${successCount} of ${totalCount} tasks completed successfully.`;
|
|
654
|
+
// Navigation configuration
|
|
535
655
|
notification.ResourceConfiguration = JSON.stringify({
|
|
536
656
|
type: 'conversation',
|
|
537
657
|
conversationId: detail.ConversationID,
|
|
@@ -543,6 +663,7 @@ export class TaskOrchestrator {
|
|
|
543
663
|
throw new Error('Failed to save notification');
|
|
544
664
|
}
|
|
545
665
|
LogStatus(`📬 Created task graph notification ${notification.ID} for user ${this.contextUser.ID}`);
|
|
666
|
+
// Publish real-time event if pubSub available
|
|
546
667
|
if (this.pubSub && this.userPayload) {
|
|
547
668
|
this.pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {
|
|
548
669
|
userPayload: JSON.stringify(this.userPayload),
|
|
@@ -559,6 +680,7 @@ export class TaskOrchestrator {
|
|
|
559
680
|
}
|
|
560
681
|
catch (error) {
|
|
561
682
|
LogError(`Failed to create task graph notification: ${error.message}`);
|
|
683
|
+
// Don't throw - notification failure shouldn't fail the task
|
|
562
684
|
}
|
|
563
685
|
}
|
|
564
686
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskOrchestrator.js","sourceRoot":"","sources":["../../src/services/TaskOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TaskOrchestrator.js","sourceRoot":"","sources":["../../src/services/TaskOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAY,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAkC7E;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAMzB,YACY,WAAqB,EACrB,MAAqB,EACrB,SAAkB,EAClB,WAAyB,EACzB,sBAA+B,KAAK,EACpC,oBAA6B;QAL7B,gBAAW,GAAX,WAAW,CAAU;QACrB,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAS;QAClB,gBAAW,GAAX,WAAW,CAAc;QACzB,wBAAmB,GAAnB,mBAAmB,CAAiB;QACpC,yBAAoB,GAApB,oBAAoB,CAAS;QAXzC,uFAAuF;QACtE,0BAAqB,GAAG,sCAAsC,CAAC;QAExE,eAAU,GAAkB,IAAI,CAAC;IAStC,CAAC;IAEJ;;OAEG;IACK,KAAK,CAAC,cAAc;QACxB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;YAC5B,UAAU,EAAE,gBAAgB;YAC5B,WAAW,EAAE,2BAA2B;YACxC,UAAU,EAAE,eAAe;SAC9B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAErB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED,2CAA2C;QAC3C,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAiB,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9F,QAAQ,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACrC,QAAQ,CAAC,WAAW,GAAG,+DAA+D,CAAC;QAEvF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACtB,SAA4B,EAC5B,oBAA4B,EAC5B,aAAqB;QAErB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEjD,8BAA8B;QAC9B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAa,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvF,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC;QACzC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,IAAI,0BAA0B,CAAC;QAC3E,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAC/B,UAAU,CAAC,aAAa,GAAG,aAAa,CAAC;QACzC,UAAU,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,+BAA+B;QACvF,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,0BAA0B;QAC7D,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAED,SAAS,CAAC,iCAAiC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QAEjF,iEAAiE;QACjE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC9C,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,0CAA0C,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACjF,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,YAAY,WAAW,CAAC,MAAM,wBAAwB,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,uBAAuB,CAAC,CAAC;QAEpI,yBAAyB;QACzB,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAa,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAEjF,qBAAqB;YACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,QAAQ,CAAC,oBAAoB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAClD,SAAS;YACb,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,sBAAsB;YACrD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,oDAAoD;YACtG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YAEzB,kCAAkC;YAClC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG;oBACb,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,MAAM,EAAE,OAAO,CAAC,MAAM;iBACzB,CAAC;gBACF,yDAAyD;gBACzD,IAAI,CAAC,WAAW,GAAG,GAAG,OAAO,CAAC,WAAW,0BAA0B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClG,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,KAAK,EAAE,CAAC;gBACR,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,SAAS,CAAC,uBAAuB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,kBAAkB,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7F,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACxD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACf,QAAQ,CAAC,yBAAyB,eAAe,EAAE,CAAC,CAAC;oBACrD,SAAS;gBACb,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAuB,uBAAuB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7G,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC3B,UAAU,CAAC,eAAe,GAAG,WAAW,CAAC;gBACzC,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;gBAE3C,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;gBACxB,SAAS,CAAC,4BAA4B,MAAM,eAAe,WAAW,EAAE,CAAC,CAAC;YAC9E,CAAC;QACL,CAAC;QAED,OAAO;YACH,YAAY,EAAE,UAAU,CAAC,EAAE;YAC3B,SAAS,EAAE,cAAc;SAC5B,CAAC;IACN,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAAgB,EAAE,OAAe,EAAE,eAAuB;QAClF,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvD,SAAS,CAAC,yDAAyD,CAAC,CAAC,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACzJ,OAAO;QACX,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE;oBACF,QAAQ;oBACR,OAAO;oBACP,eAAe;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE;oBACrB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;iBAClD;aACJ,CAAC;YACF,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;SACxC,CAAC;QAEF,SAAS,CAAC,gCAAgC,QAAQ,MAAM,OAAO,KAAK,eAAe,iBAAiB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAClI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAExD,SAAS,CAAC,UAAU,QAAQ,KAAK,OAAO,KAAK,eAAe,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,QAAgB,EAAE,SAAiB,EAAE,YAAoB;QAClF,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvD,SAAS,CAAC,uDAAuD,CAAC,CAAC,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACvJ,OAAO;QACX,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE;oBACF,QAAQ;oBACR,SAAS;oBACT,YAAY;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE;oBACrB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;iBAClD;aACJ,CAAC;YACF,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;SACxC,CAAC;QAEF,SAAS,CAAC,iCAAiC,QAAQ,MAAM,SAAS,eAAe,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAExD,SAAS,CAAC,UAAU,QAAQ,OAAO,SAAS,KAAK,YAAY,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,SAAiB;QAC3C,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAwB;YACnD,UAAU,EAAE,WAAW;YACvB,WAAW,EAAE,SAAS,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;YACtD,UAAU,EAAE,eAAe;SAC9B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAErB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,YAAoB;QAC5C,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,uCAAuC;QACvC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAa,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvF,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpC,yBAAyB;QACzB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;QAE5E,OAAO,OAAO,EAAE,CAAC;YACb,kEAAkE;YAClE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEjE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACV,CAAC;YAED,+DAA+D;YAC/D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBAC/B,qBAAqB;gBACrB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;gBAExD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAErB,wBAAwB;gBACxB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,EAAE,GAAG,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7E,CAAC;gBAED,yDAAyD;gBACzD,MAAM,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;YACtD,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE5C,4BAA4B;QAC5B,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;QAErE,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAChD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QAEzB,wCAAwC;QACxC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAa;YAC7C,UAAU,EAAE,WAAW;YACvB,WAAW,EAAE,aAAa,YAAY,wBAAwB;YAC9D,UAAU,EAAE,eAAe;SAC9B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAErB,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAiB,EAAE,CAAC;QAEvC,8CAA8C;QAC9C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAAC,YAAoB;QACvD,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAa,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QAEzB,sBAAsB;QACtB,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,OAAO,CAAa;YAChD,UAAU,EAAE,WAAW;YACvB,WAAW,EAAE,aAAa,YAAY,GAAG;YACzC,UAAU,EAAE,eAAe;SAC9B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAErB,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5F,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QAC5E,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEnC,0BAA0B;QAC1B,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QAC7E,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAExB,SAAS,CAAC,eAAe,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,eAAe,eAAe,cAAc,IAAI,UAAU,SAAS,CAAC,CAAC;IACnI,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,YAAoB;QACjD,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,eAAe,CAAa,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;QAC/B,UAAU,CAAC,eAAe,GAAG,GAAG,CAAC;QACjC,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAEtC,SAAS,CAAC,mCAAmC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhE,qDAAqD;QACrD,IAAI,IAAI,CAAC,mBAAmB,IAAI,KAAK,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,qCAAqC,CAAC,UAAU,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,MAAc;QAClD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QAEzB,mBAAmB;QACnB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,OAAO,CAAuB;YACtD,UAAU,EAAE,uBAAuB;YACnC,WAAW,EAAE,WAAW,MAAM,GAAG;YACjC,UAAU,EAAE,eAAe;SAC9B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAErB,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,OAAO,KAAK,CAAC,CAAC,kBAAkB;QACpC,CAAC;QAED,0CAA0C;QAC1C,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC,CAAC,4BAA4B;YAC7C,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CAAC,MAAc;QACjC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAa,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,IAAgB;QACtC,IAAI,CAAC;YACD,SAAS,CAAC,mBAAmB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAEvD,+BAA+B;YAC/B,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAElB,wBAAwB;YACxB,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAAwB,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACnG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;YAC/D,CAAC;YAED,gFAAgF;YAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAE5D,uEAAuE;YACvE,MAAM,UAAU,GAAG,CAAC,QAAa,EAAE,EAAE;gBACjC,IAAI,CAAC,oBAAoB,CACrB,IAAI,CAAC,IAAI,EACT,QAAQ,CAAC,IAAI,IAAI,YAAY,EAC7B,QAAQ,CAAC,OAAO,IAAI,EAAE,CACzB,CAAC;YACN,CAAC,CAAC;YAEF,sEAAsE;YACtE,0FAA0F;YAC1F,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;gBAC3C,KAAK,EAAE,WAAW;gBAClB,oBAAoB,EAAE,QAAQ;gBAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,IAAI,SAAS;gBAC5D,UAAU,EAAE,UAAU;aACzB,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtB,kDAAkD;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAEpD,gCAAgC;gBAChC,MAAM,cAAc,GAAG;oBACnB,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,MAAM,EAAE,MAAM,CAAC,OAAO;oBACtB,UAAU,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE;iBACvC,CAAC;gBAEF,2BAA2B;gBAC3B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;gBAC3B,qEAAqE;gBACrE,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,WAAW,wBAAwB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/F,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAElB,SAAS,CAAC,mBAAmB,IAAI,CAAC,IAAI,kBAAkB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAExE,4EAA4E;gBAC5E,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;gBACrD,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACtD,oBAAoB,GAAG,UAAU,EAAE,oBAAoB,IAAI,IAAI,CAAC;gBACpE,CAAC;gBAED,IAAI,oBAAoB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACzC,MAAM,IAAI,CAAC,wBAAwB,CAC/B,MAAM,EACN,oBAAoB,EACpB,WAAW,EACX,IAAI,CAAC,IAAI,CACZ,CAAC;gBACN,CAAC;qBAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,QAAQ,CAAC,oEAAoE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5F,CAAC;gBAED,OAAO;oBACH,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,MAAM,CAAC,OAAO;iBACzB,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,2BAA2B;gBAC3B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAElB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,IAAI,wBAAwB,CAAC;gBAChF,QAAQ,CAAC,gBAAgB,IAAI,CAAC,IAAI,MAAM,QAAQ,EAAE,CAAC,CAAC;gBAEpD,OAAO;oBACH,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,QAAQ;iBAClB,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEhB,2BAA2B;YAC3B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAElB,OAAO;gBACH,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,IAAgB;QACxC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,MAAc;QAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QAEzB,mBAAmB;QACnB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,OAAO,CAAuB;YACtD,UAAU,EAAE,uBAAuB;YACnC,WAAW,EAAE,WAAW,MAAM,GAAG;YACjC,UAAU,EAAE,eAAe;SAC9B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAErB,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,kCAAkC;QAClC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,WAAW;gBAAE,SAAS;YAE3D,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAChF,IAAI,WAAW,EAAE,CAAC;gBACd,IAAI,CAAC;oBACD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,QAAQ,CAAC,mCAAmC,GAAG,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,IAAgB;QACpD,MAAM,QAAQ,GAAU,EAAE,CAAC;QAE3B,mDAAmD;QACnD,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;QAEhD,wDAAwD;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEpD,6BAA6B;QAC7B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAErE,iEAAiE;QACjE,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,WAAW,IAAI,0CAA0C,CAAC;YAC1D,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC;gBACzC,WAAW,IAAI,OAAO,QAAQ,iBAAiB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC;YACrG,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,IAAI,YAAY,EAAE,CAAC;YACf,WAAW,IAAI,kCAAkC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC;QAC3G,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAyB;YAC/B,OAAO,EAAE,WAAW;SACvB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,WAAgB;QACvC,oDAAoD;QACpD,IAAI,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAChC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtE,CAAC;QAED,sDAAsD;QACtD,IAAI,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC;QAED,YAAY;QACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAClC,MAAqD,EACrD,oBAA4B,EAC5B,KAA4B,EAC5B,QAAgB;QAEhB,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAE1B,yBAAyB;YACzB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAiB,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7F,QAAQ,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,MAAM,QAAQ,MAAM,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;YAC/E,QAAQ,CAAC,WAAW,GAAG,yBAAyB,KAAK,CAAC,IAAI,cAAc,QAAQ,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC;YAEpG,8EAA8E;YAC9E,MAAM,qBAAqB,GAAI,KAAa,CAAC,qBAAqB,CAAC;YACnE,QAAQ,CAAC,MAAM,GAAG,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,CAAC;YAEtE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,QAAQ,CAAC,aAAa,GAAI,IAAI,CAAC,WAAmB,CAAC,aAAa,IAAI,sCAAsC,CAAC;YAE3G,uDAAuD;YACvD,iDAAiD;YACjD,MAAM,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC;YAChD,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;gBACjC,QAAQ,CAAC,UAAU,GAAG,aAAa,CAAC;gBACpC,SAAS,CAAC,+DAA+D,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC;YACnC,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,QAAQ,CAAC,yBAAyB,CAAC,CAAC;gBACpC,OAAO;YACX,CAAC;YAED,SAAS,CAAC,qBAAqB,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;YAEjE,uCAAuC;YACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAwB,uBAAuB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3G,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;YAE1B,qCAAqC;YACrC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAErC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,QAAQ,CAAC,iCAAiC,CAAC,CAAC;gBAC5C,OAAO;YACX,CAAC;YAED,SAAS,CAAC,6BAA6B,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAErD,0EAA0E;YAC1E,MAAM,QAAQ,GAAI,OAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAC7D,IAAI,CAAC,gBAAgB,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,MAAM,CAC1E,CAAC;YAEF,sEAAsE;YACtE,IAAI,aAAa,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC5C,IAAI,aAAa,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC1D,iEAAiE;gBACjE,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAE1D,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;gBAC9B,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,SAAS,CAAC,+BAA+B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAED,kEAAkE;YAClE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CACrC,mCAAmC,EACnC,IAAI,CAAC,WAAW,CACnB,CAAC;YACF,QAAQ,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;YACrD,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,wCAAwC;YAEvE,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,QAAQ,CAAC,oDAAoD,CAAC,CAAC;gBAC/D,OAAO;YACX,CAAC;YAED,SAAS,CAAC,mBAAmB,QAAQ,CAAC,EAAE,2BAA2B,oBAAoB,EAAE,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qCAAqC,CAAC,UAAsB;QACtE,IAAI,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACnC,SAAS,CAAC,uDAAuD,CAAC,CAAC;gBACnE,OAAO;YACX,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAE1B,kDAAkD;YAClD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CACnC,sBAAsB,EACtB,IAAI,CAAC,WAAW,CACnB,CAAC;YACF,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,qCAAqC;YACrC,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAa;gBAC7C,UAAU,EAAE,WAAW;gBACvB,WAAW,EAAE,aAAa,UAAU,CAAC,EAAE,GAAG;gBAC1C,UAAU,EAAE,eAAe;aAC9B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAErB,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5E,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YAErC,sBAAsB;YACtB,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CACzC,oBAAoB,EACpB,IAAI,CAAC,WAAW,CACnB,CAAC;YAEF,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,YAAY,CAAC,KAAK,GAAG,aAAa,UAAU,CAAC,IAAI,aAAa,CAAC;YAC/D,YAAY,CAAC,OAAO,GAAG,QAAQ,UAAU,gCAAgC,YAAY,OAAO,UAAU,gCAAgC,CAAC;YAEvI,2BAA2B;YAC3B,YAAY,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChD,IAAI,EAAE,cAAc;gBACpB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,SAAS,EAAE,UAAU,CAAC,oBAAoB;gBAC1C,MAAM,EAAE,UAAU,CAAC,EAAE;aACxB,CAAC,CAAC;YAEH,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;YAE3B,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,CAAC;YAED,SAAS,CAAC,sCAAsC,YAAY,CAAC,EAAE,aAAa,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YAEnG,8CAA8C;YAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;oBAC3C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC7C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;wBACpB,IAAI,EAAE,cAAc;wBACpB,cAAc,EAAE,YAAY,CAAC,EAAE;wBAC/B,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,YAAY,CAAC,KAAK;wBACzB,OAAO,EAAE,YAAY,CAAC,OAAO;qBAChC,CAAC;iBACL,CAAC,CAAC;gBAEH,SAAS,CAAC,sDAAsD,CAAC,CAAC;YACtE,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,6CAA8C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,6DAA6D;QACjE,CAAC;IACL,CAAC;CACJ"}
|
package/dist/types.d.ts
CHANGED
|
@@ -8,14 +8,28 @@ export type UserPayload = {
|
|
|
8
8
|
sessionId: string;
|
|
9
9
|
isSystemUser?: boolean;
|
|
10
10
|
apiKey?: string;
|
|
11
|
+
/** ID of the MJ API key used for authentication (when using mj_sk_* format keys) */
|
|
11
12
|
apiKeyId?: string;
|
|
13
|
+
/** SHA-256 hash of the MJ API key (used for scope authorization) */
|
|
12
14
|
apiKeyHash?: string;
|
|
13
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* AppContext is the context object that is passed to all resolvers.
|
|
18
|
+
*/
|
|
14
19
|
export type AppContext = {
|
|
20
|
+
/**
|
|
21
|
+
* The default and backwards compatible connection pool.
|
|
22
|
+
*/
|
|
15
23
|
dataSource: sql.ConnectionPool;
|
|
16
24
|
userPayload: UserPayload;
|
|
17
25
|
queryRunner?: sql.Request;
|
|
26
|
+
/**
|
|
27
|
+
* Array of connection pools that have additional information about their intended use e.g. Admin, Read-Write, Read-Only.
|
|
28
|
+
*/
|
|
18
29
|
dataSources: DataSourceInfo[];
|
|
30
|
+
/**
|
|
31
|
+
* Per-request DatabaseProviderBase instances
|
|
32
|
+
*/
|
|
19
33
|
providers: Array<ProviderInfo>;
|
|
20
34
|
};
|
|
21
35
|
export declare class ProviderInfo {
|