@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,25 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Service module for managing scheduled job lifecycle
|
|
3
|
+
* @module MJServer/services
|
|
4
|
+
*/
|
|
1
5
|
import { LogError, LogStatus } from '@memberjunction/core';
|
|
2
6
|
import { UserCache } from '@memberjunction/sqlserver-dataprovider';
|
|
3
7
|
import { SchedulingEngine } from '@memberjunction/scheduling-engine';
|
|
8
|
+
/**
|
|
9
|
+
* Service for managing scheduled jobs lifecycle
|
|
10
|
+
* Handles initialization, starting/stopping polling, and graceful shutdown
|
|
11
|
+
*/
|
|
4
12
|
export class ScheduledJobsService {
|
|
5
|
-
engine;
|
|
6
|
-
systemUser = null;
|
|
7
|
-
isRunning = false;
|
|
8
|
-
config;
|
|
9
13
|
constructor(config) {
|
|
14
|
+
this.systemUser = null;
|
|
15
|
+
this.isRunning = false;
|
|
10
16
|
this.config = config;
|
|
11
17
|
this.engine = SchedulingEngine.Instance;
|
|
12
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Initialize the scheduled jobs service
|
|
21
|
+
* Loads metadata and prepares the engine
|
|
22
|
+
*/
|
|
13
23
|
async Initialize() {
|
|
14
24
|
if (!this.config.enabled) {
|
|
15
25
|
LogStatus('[ScheduledJobsService] Scheduled jobs are disabled in configuration');
|
|
16
26
|
return;
|
|
17
27
|
}
|
|
18
28
|
try {
|
|
29
|
+
// Get system user for job execution
|
|
19
30
|
this.systemUser = await this.getSystemUser();
|
|
20
31
|
if (!this.systemUser) {
|
|
21
32
|
throw new Error(`System user not found with email: ${this.config.systemUserEmail}`);
|
|
22
33
|
}
|
|
34
|
+
// Pre-load metadata cache
|
|
23
35
|
await this.engine.Config(false, this.systemUser);
|
|
24
36
|
}
|
|
25
37
|
catch (error) {
|
|
@@ -27,6 +39,9 @@ export class ScheduledJobsService {
|
|
|
27
39
|
throw error;
|
|
28
40
|
}
|
|
29
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Start the scheduled jobs polling
|
|
44
|
+
*/
|
|
30
45
|
async Start() {
|
|
31
46
|
if (!this.config.enabled) {
|
|
32
47
|
return;
|
|
@@ -41,6 +56,7 @@ export class ScheduledJobsService {
|
|
|
41
56
|
try {
|
|
42
57
|
this.engine.StartPolling(this.systemUser);
|
|
43
58
|
this.isRunning = true;
|
|
59
|
+
// Single consolidated console message
|
|
44
60
|
const jobCount = this.engine.ScheduledJobs.length;
|
|
45
61
|
if (jobCount === 0) {
|
|
46
62
|
console.log(`📅 Scheduled Jobs: No active jobs, polling suspended (will auto-start when jobs are added)`);
|
|
@@ -54,6 +70,7 @@ export class ScheduledJobsService {
|
|
|
54
70
|
console.log(`📅 Scheduled Jobs: ${jobCount} active job(s), polling every ${intervalDisplay}`);
|
|
55
71
|
}
|
|
56
72
|
else {
|
|
73
|
+
// This shouldn't happen if jobCount > 0, but handle it gracefully
|
|
57
74
|
console.log(`📅 Scheduled Jobs: ${jobCount} active job(s), polling interval not set`);
|
|
58
75
|
}
|
|
59
76
|
}
|
|
@@ -63,6 +80,9 @@ export class ScheduledJobsService {
|
|
|
63
80
|
throw error;
|
|
64
81
|
}
|
|
65
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Stop the scheduled jobs polling gracefully
|
|
85
|
+
*/
|
|
66
86
|
async Stop() {
|
|
67
87
|
if (!this.isRunning) {
|
|
68
88
|
return;
|
|
@@ -78,8 +98,13 @@ export class ScheduledJobsService {
|
|
|
78
98
|
throw error;
|
|
79
99
|
}
|
|
80
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Get the system user for job execution
|
|
103
|
+
* Uses the email configured in scheduledJobs.systemUserEmail
|
|
104
|
+
*/
|
|
81
105
|
async getSystemUser() {
|
|
82
106
|
const systemUserEmail = this.config.systemUserEmail;
|
|
107
|
+
// Search UserCache for system user
|
|
83
108
|
const user = UserCache.Users.find(u => u.Email?.toLowerCase() === systemUserEmail.toLowerCase());
|
|
84
109
|
if (user) {
|
|
85
110
|
return user;
|
|
@@ -87,6 +112,9 @@ export class ScheduledJobsService {
|
|
|
87
112
|
LogError(`[ScheduledJobsService] System user not found with email: ${systemUserEmail}`);
|
|
88
113
|
return null;
|
|
89
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Get current service status
|
|
117
|
+
*/
|
|
90
118
|
GetStatus() {
|
|
91
119
|
return {
|
|
92
120
|
enabled: this.config.enabled,
|
|
@@ -95,9 +123,15 @@ export class ScheduledJobsService {
|
|
|
95
123
|
pollingInterval: this.engine?.ActivePollingInterval || 0
|
|
96
124
|
};
|
|
97
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Check if service is enabled in configuration
|
|
128
|
+
*/
|
|
98
129
|
get IsEnabled() {
|
|
99
130
|
return this.config.enabled;
|
|
100
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Check if service is currently running
|
|
134
|
+
*/
|
|
101
135
|
get IsRunning() {
|
|
102
136
|
return this.isRunning;
|
|
103
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledJobsService.js","sourceRoot":"","sources":["../../src/services/ScheduledJobsService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScheduledJobsService.js","sourceRoot":"","sources":["../../src/services/ScheduledJobsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { UserInfo } from '@memberjunction/core';
|
|
2
2
|
import { PubSubEngine } from 'type-graphql';
|
|
3
3
|
import { UserPayload } from '../types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Task definition from LLM response
|
|
6
|
+
*/
|
|
4
7
|
export interface TaskDefinition {
|
|
5
8
|
tempId: string;
|
|
6
9
|
name: string;
|
|
@@ -9,17 +12,26 @@ export interface TaskDefinition {
|
|
|
9
12
|
dependsOn: string[];
|
|
10
13
|
inputPayload?: any;
|
|
11
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Task graph response from Conversation Manager
|
|
17
|
+
*/
|
|
12
18
|
export interface TaskGraphResponse {
|
|
13
19
|
workflowName: string;
|
|
14
20
|
tasks: TaskDefinition[];
|
|
15
21
|
reasoning?: string;
|
|
16
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Task execution result
|
|
25
|
+
*/
|
|
17
26
|
export interface TaskExecutionResult {
|
|
18
27
|
taskId: string;
|
|
19
28
|
success: boolean;
|
|
20
29
|
output?: any;
|
|
21
30
|
error?: string;
|
|
22
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* TaskOrchestrator handles multi-step task execution with dependencies
|
|
34
|
+
*/
|
|
23
35
|
export declare class TaskOrchestrator {
|
|
24
36
|
private contextUser;
|
|
25
37
|
private pubSub?;
|
|
@@ -30,26 +42,87 @@ export declare class TaskOrchestrator {
|
|
|
30
42
|
private readonly JSON_ARTIFACT_TYPE_ID;
|
|
31
43
|
private taskTypeId;
|
|
32
44
|
constructor(contextUser: UserInfo, pubSub?: PubSubEngine, sessionId?: string, userPayload?: UserPayload, createNotifications?: boolean, conversationDetailId?: string);
|
|
45
|
+
/**
|
|
46
|
+
* Initialize the orchestrator by finding/creating the AI Agent Task type
|
|
47
|
+
*/
|
|
33
48
|
private ensureTaskType;
|
|
49
|
+
/**
|
|
50
|
+
* Create tasks from LLM task graph response
|
|
51
|
+
* @param taskGraph Task graph from Conversation Manager
|
|
52
|
+
* @param conversationDetailId ID of the conversation detail that triggered this
|
|
53
|
+
* @param environmentId Environment ID
|
|
54
|
+
* @returns Object with parentTaskId and map of tempId -> actual TaskEntity ID
|
|
55
|
+
*/
|
|
34
56
|
createTasksFromGraph(taskGraph: TaskGraphResponse, conversationDetailId: string, environmentId: string): Promise<{
|
|
35
57
|
parentTaskId: string;
|
|
36
58
|
taskIdMap: Map<string, string>;
|
|
37
59
|
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Publish task progress update via PubSub
|
|
62
|
+
*/
|
|
38
63
|
private publishTaskProgress;
|
|
64
|
+
/**
|
|
65
|
+
* Publish agent progress update (nested within task)
|
|
66
|
+
*/
|
|
39
67
|
private publishAgentProgress;
|
|
68
|
+
/**
|
|
69
|
+
* Find agent by name
|
|
70
|
+
*/
|
|
40
71
|
private findAgentByName;
|
|
72
|
+
/**
|
|
73
|
+
* Execute all pending tasks for a parent task, respecting dependencies
|
|
74
|
+
* @param parentTaskId Parent task ID
|
|
75
|
+
* @returns Array of execution results
|
|
76
|
+
*/
|
|
41
77
|
executeTasksForParent(parentTaskId: string): Promise<TaskExecutionResult[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Find tasks that are ready to execute (pending with no incomplete dependencies)
|
|
80
|
+
*/
|
|
42
81
|
private findEligibleTasks;
|
|
82
|
+
/**
|
|
83
|
+
* Update parent task progress based on child task completion
|
|
84
|
+
*/
|
|
43
85
|
private updateParentTaskProgress;
|
|
86
|
+
/**
|
|
87
|
+
* Mark parent task as complete when all children are done
|
|
88
|
+
*/
|
|
44
89
|
private completeParentTask;
|
|
90
|
+
/**
|
|
91
|
+
* Check if a task has incomplete dependencies
|
|
92
|
+
*/
|
|
45
93
|
private hasIncompleteDependencies;
|
|
94
|
+
/**
|
|
95
|
+
* Load a task by ID
|
|
96
|
+
*/
|
|
46
97
|
private loadTask;
|
|
98
|
+
/**
|
|
99
|
+
* Execute a single task
|
|
100
|
+
*/
|
|
47
101
|
private executeTask;
|
|
102
|
+
/**
|
|
103
|
+
* Extract input payload from task metadata
|
|
104
|
+
*/
|
|
48
105
|
private extractInputPayload;
|
|
106
|
+
/**
|
|
107
|
+
* Get outputs from tasks that this task depends on
|
|
108
|
+
*/
|
|
49
109
|
private getDependentTaskOutputs;
|
|
110
|
+
/**
|
|
111
|
+
* Build conversation messages with task input and dependent outputs formatted as markdown
|
|
112
|
+
*/
|
|
50
113
|
private buildConversationMessages;
|
|
114
|
+
/**
|
|
115
|
+
* Extract agent output - check both message and payload
|
|
116
|
+
*/
|
|
51
117
|
private extractAgentOutput;
|
|
118
|
+
/**
|
|
119
|
+
* Create artifact from task output (handles both message and payload types)
|
|
120
|
+
*/
|
|
52
121
|
private createArtifactFromOutput;
|
|
122
|
+
/**
|
|
123
|
+
* Create user notification for task graph completion
|
|
124
|
+
* Notifies user that their multi-step workflow has completed
|
|
125
|
+
*/
|
|
53
126
|
private createTaskGraphCompletionNotification;
|
|
54
127
|
}
|
|
55
128
|
//# sourceMappingURL=TaskOrchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskOrchestrator.d.ts","sourceRoot":"","sources":["../../src/services/TaskOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AAIxF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskOrchestrator.d.ts","sourceRoot":"","sources":["../../src/services/TaskOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AAIxF,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;IAVjC,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;IAGzC;;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;IAqGpE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;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;IAmGtC;;;OAGG;YACW,qCAAqC;CA6EtD"}
|