@memberjunction/server 5.30.1 → 5.32.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-sdk.d.ts +17 -1
- package/dist/agents/skip-sdk.d.ts.map +1 -1
- package/dist/agents/skip-sdk.js +18 -5
- package/dist/agents/skip-sdk.js.map +1 -1
- package/dist/auth/exampleNewUserSubClass.js +1 -1
- package/dist/auth/exampleNewUserSubClass.js.map +1 -1
- package/dist/auth/index.js +2 -2
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/newUsers.js +2 -2
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/context.js +3 -3
- package/dist/context.js.map +1 -1
- package/dist/generated/generated.d.ts +217 -4
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +1251 -24
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +5 -5
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +21 -18
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -8
- package/dist/index.js.map +1 -1
- package/dist/multiTenancy/index.js +1 -1
- package/dist/multiTenancy/index.js.map +1 -1
- package/dist/resolvers/APIKeyResolver.d.ts.map +1 -1
- package/dist/resolvers/APIKeyResolver.js +5 -3
- package/dist/resolvers/APIKeyResolver.js.map +1 -1
- package/dist/resolvers/AutotagPipelineResolver.d.ts +3 -3
- package/dist/resolvers/AutotagPipelineResolver.d.ts.map +1 -1
- package/dist/resolvers/AutotagPipelineResolver.js +18 -12
- package/dist/resolvers/AutotagPipelineResolver.js.map +1 -1
- package/dist/resolvers/ComponentRegistryResolver.d.ts +1 -1
- package/dist/resolvers/ComponentRegistryResolver.d.ts.map +1 -1
- package/dist/resolvers/ComponentRegistryResolver.js +6 -4
- package/dist/resolvers/ComponentRegistryResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.js +2 -2
- package/dist/resolvers/FileResolver.js.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.js +1 -2
- package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
- package/dist/resolvers/ISAEntityResolver.d.ts.map +1 -1
- package/dist/resolvers/ISAEntityResolver.js +2 -5
- package/dist/resolvers/ISAEntityResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +75 -66
- package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts +4 -4
- package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncDataResolver.js +9 -8
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.d.ts +6 -6
- package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.js +22 -18
- package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
- package/dist/resolvers/TagGovernanceResolver.d.ts +43 -0
- package/dist/resolvers/TagGovernanceResolver.d.ts.map +1 -0
- package/dist/resolvers/TagGovernanceResolver.js +245 -0
- package/dist/resolvers/TagGovernanceResolver.js.map +1 -0
- package/dist/resolvers/TaskResolver.d.ts +1 -1
- package/dist/resolvers/TaskResolver.d.ts.map +1 -1
- package/dist/resolvers/TaskResolver.js +4 -2
- package/dist/resolvers/TaskResolver.js.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.js +2 -1
- package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
- package/dist/rest/EntityCRUDHandler.js +4 -4
- package/dist/rest/EntityCRUDHandler.js.map +1 -1
- package/dist/rest/RESTEndpointHandler.js +9 -9
- package/dist/rest/RESTEndpointHandler.js.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +4 -4
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/services/TaskOrchestrator.d.ts +4 -2
- package/dist/services/TaskOrchestrator.d.ts.map +1 -1
- package/dist/services/TaskOrchestrator.js +16 -12
- package/dist/services/TaskOrchestrator.js.map +1 -1
- package/package.json +68 -66
- package/src/__tests__/TagGovernanceResolver.test.ts +255 -0
- package/src/agents/skip-sdk.ts +30 -7
- package/src/auth/exampleNewUserSubClass.ts +1 -1
- package/src/auth/index.ts +2 -2
- package/src/auth/newUsers.ts +2 -2
- package/src/context.ts +3 -3
- package/src/generated/generated.ts +861 -21
- package/src/generic/ResolverBase.ts +28 -21
- package/src/index.ts +9 -9
- package/src/multiTenancy/index.ts +1 -1
- package/src/resolvers/APIKeyResolver.ts +7 -4
- package/src/resolvers/AutotagPipelineResolver.ts +20 -11
- package/src/resolvers/ComponentRegistryResolver.ts +8 -5
- package/src/resolvers/FileResolver.ts +2 -2
- package/src/resolvers/GetDataContextDataResolver.ts +1 -2
- package/src/resolvers/ISAEntityResolver.ts +3 -5
- package/src/resolvers/IntegrationDiscoveryResolver.ts +83 -66
- package/src/resolvers/SyncDataResolver.ts +12 -11
- package/src/resolvers/SyncRolesUsersResolver.ts +23 -19
- package/src/resolvers/TagGovernanceResolver.ts +189 -0
- package/src/resolvers/TaskResolver.ts +5 -3
- package/src/resolvers/TransactionGroupResolver.ts +3 -2
- package/src/rest/EntityCRUDHandler.ts +4 -4
- package/src/rest/RESTEndpointHandler.ts +9 -9
- package/src/rest/ViewOperationsHandler.ts +4 -4
- package/src/services/TaskOrchestrator.ts +18 -13
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Resolver, Mutation, Ctx, Arg, ObjectType, Field, Int } from 'type-graphql';
|
|
14
|
+
import { LogError, LogStatus } from '@memberjunction/core';
|
|
15
|
+
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
16
|
+
import { TagGovernanceEngine, TagHealthJob, DEFAULT_TAG_HEALTH_THRESHOLDS, TagEngine } from '@memberjunction/tag-engine';
|
|
17
|
+
let PromoteSuggestionResult = class PromoteSuggestionResult {
|
|
18
|
+
};
|
|
19
|
+
__decorate([
|
|
20
|
+
Field(),
|
|
21
|
+
__metadata("design:type", Boolean)
|
|
22
|
+
], PromoteSuggestionResult.prototype, "Success", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
Field({ nullable: true }),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], PromoteSuggestionResult.prototype, "ResolvedTagID", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
Field({ nullable: true }),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], PromoteSuggestionResult.prototype, "ResolvedTagName", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
Field({ nullable: true }),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], PromoteSuggestionResult.prototype, "ErrorMessage", void 0);
|
|
35
|
+
PromoteSuggestionResult = __decorate([
|
|
36
|
+
ObjectType()
|
|
37
|
+
], PromoteSuggestionResult);
|
|
38
|
+
export { PromoteSuggestionResult };
|
|
39
|
+
let RejectSuggestionResult = class RejectSuggestionResult {
|
|
40
|
+
};
|
|
41
|
+
__decorate([
|
|
42
|
+
Field(),
|
|
43
|
+
__metadata("design:type", Boolean)
|
|
44
|
+
], RejectSuggestionResult.prototype, "Success", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
Field({ nullable: true }),
|
|
47
|
+
__metadata("design:type", String)
|
|
48
|
+
], RejectSuggestionResult.prototype, "ErrorMessage", void 0);
|
|
49
|
+
RejectSuggestionResult = __decorate([
|
|
50
|
+
ObjectType()
|
|
51
|
+
], RejectSuggestionResult);
|
|
52
|
+
export { RejectSuggestionResult };
|
|
53
|
+
let RebuildTagEmbeddingsResult = class RebuildTagEmbeddingsResult {
|
|
54
|
+
};
|
|
55
|
+
__decorate([
|
|
56
|
+
Field(),
|
|
57
|
+
__metadata("design:type", Boolean)
|
|
58
|
+
], RebuildTagEmbeddingsResult.prototype, "Success", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
Field(() => Int),
|
|
61
|
+
__metadata("design:type", Number)
|
|
62
|
+
], RebuildTagEmbeddingsResult.prototype, "Refreshed", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
Field(() => Int),
|
|
65
|
+
__metadata("design:type", Number)
|
|
66
|
+
], RebuildTagEmbeddingsResult.prototype, "Total", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
Field({ nullable: true }),
|
|
69
|
+
__metadata("design:type", String)
|
|
70
|
+
], RebuildTagEmbeddingsResult.prototype, "ErrorMessage", void 0);
|
|
71
|
+
RebuildTagEmbeddingsResult = __decorate([
|
|
72
|
+
ObjectType()
|
|
73
|
+
], RebuildTagEmbeddingsResult);
|
|
74
|
+
export { RebuildTagEmbeddingsResult };
|
|
75
|
+
let RunTagHealthResult = class RunTagHealthResult {
|
|
76
|
+
};
|
|
77
|
+
__decorate([
|
|
78
|
+
Field(),
|
|
79
|
+
__metadata("design:type", Boolean)
|
|
80
|
+
], RunTagHealthResult.prototype, "Success", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
Field(() => Int),
|
|
83
|
+
__metadata("design:type", Number)
|
|
84
|
+
], RunTagHealthResult.prototype, "MergeCount", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
Field(() => Int),
|
|
87
|
+
__metadata("design:type", Number)
|
|
88
|
+
], RunTagHealthResult.prototype, "LowUsageCount", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
Field(() => Int),
|
|
91
|
+
__metadata("design:type", Number)
|
|
92
|
+
], RunTagHealthResult.prototype, "WideNodeCount", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
Field(() => Int),
|
|
95
|
+
__metadata("design:type", Number)
|
|
96
|
+
], RunTagHealthResult.prototype, "DurationMs", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
Field({ nullable: true }),
|
|
99
|
+
__metadata("design:type", String)
|
|
100
|
+
], RunTagHealthResult.prototype, "ErrorMessage", void 0);
|
|
101
|
+
RunTagHealthResult = __decorate([
|
|
102
|
+
ObjectType()
|
|
103
|
+
], RunTagHealthResult);
|
|
104
|
+
export { RunTagHealthResult };
|
|
105
|
+
/**
|
|
106
|
+
* GraphQL surface for the tag governance lifecycle that the Suggestion Inbox
|
|
107
|
+
* UI invokes. Wraps `TagGovernanceEngine` (PromoteSuggestion / RejectSuggestion),
|
|
108
|
+
* `TagEngine.RebuildTagEmbeddings`, and `TagHealthJob.Run` so the client gets a
|
|
109
|
+
* single transactional call per disposition instead of multiple BaseEntity saves.
|
|
110
|
+
*
|
|
111
|
+
* Multi-provider safety: each mutation reads the per-request user from the
|
|
112
|
+
* context and lets the engines use their default provider; if a non-default
|
|
113
|
+
* provider is in play it should be passed via `TagGovernanceEngine.Provider`.
|
|
114
|
+
*/
|
|
115
|
+
let TagGovernanceResolver = class TagGovernanceResolver extends ResolverBase {
|
|
116
|
+
async PromoteTagSuggestion(suggestionID, strategy, targetTagID, { userPayload } = {}) {
|
|
117
|
+
try {
|
|
118
|
+
const currentUser = this.GetUserFromPayload(userPayload);
|
|
119
|
+
if (!currentUser) {
|
|
120
|
+
return { Success: false, ErrorMessage: 'Unable to determine current user' };
|
|
121
|
+
}
|
|
122
|
+
if (strategy !== 'create-new' && strategy !== 'merge-into-existing') {
|
|
123
|
+
return { Success: false, ErrorMessage: `Unknown strategy "${strategy}"` };
|
|
124
|
+
}
|
|
125
|
+
if (strategy === 'merge-into-existing' && !targetTagID) {
|
|
126
|
+
return { Success: false, ErrorMessage: 'targetTagID is required when strategy is "merge-into-existing".' };
|
|
127
|
+
}
|
|
128
|
+
const resolved = strategy === 'create-new'
|
|
129
|
+
? await TagGovernanceEngine.Instance.PromoteSuggestion(suggestionID, { kind: 'create-new' }, currentUser)
|
|
130
|
+
: await TagGovernanceEngine.Instance.PromoteSuggestion(suggestionID, { kind: 'merge-into-existing', targetTagID: targetTagID }, currentUser);
|
|
131
|
+
return {
|
|
132
|
+
Success: true,
|
|
133
|
+
ResolvedTagID: resolved.ID,
|
|
134
|
+
ResolvedTagName: resolved.Name,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
139
|
+
LogError(`PromoteTagSuggestion failed for ${suggestionID}: ${msg}`);
|
|
140
|
+
return { Success: false, ErrorMessage: msg };
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
async RejectTagSuggestion(suggestionID, reviewerNotes, { userPayload } = {}) {
|
|
144
|
+
try {
|
|
145
|
+
const currentUser = this.GetUserFromPayload(userPayload);
|
|
146
|
+
if (!currentUser) {
|
|
147
|
+
return { Success: false, ErrorMessage: 'Unable to determine current user' };
|
|
148
|
+
}
|
|
149
|
+
await TagGovernanceEngine.Instance.RejectSuggestion(suggestionID, reviewerNotes ?? null, currentUser);
|
|
150
|
+
return { Success: true };
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
154
|
+
LogError(`RejectTagSuggestion failed for ${suggestionID}: ${msg}`);
|
|
155
|
+
return { Success: false, ErrorMessage: msg };
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async RebuildTagEmbeddings({ userPayload } = {}) {
|
|
159
|
+
try {
|
|
160
|
+
const currentUser = this.GetUserFromPayload(userPayload);
|
|
161
|
+
if (!currentUser) {
|
|
162
|
+
return { Success: false, Refreshed: 0, Total: 0, ErrorMessage: 'Unable to determine current user' };
|
|
163
|
+
}
|
|
164
|
+
const result = await TagEngine.Instance.RebuildTagEmbeddings(currentUser);
|
|
165
|
+
LogStatus(`RebuildTagEmbeddings: refreshed ${result.refreshed}/${result.total} tags.`);
|
|
166
|
+
return { Success: true, Refreshed: result.refreshed, Total: result.total };
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
170
|
+
LogError(`RebuildTagEmbeddings failed: ${msg}`);
|
|
171
|
+
return { Success: false, Refreshed: 0, Total: 0, ErrorMessage: msg };
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
async RunTagHealth(minCoOccurrence, minNameSimilarity, minEmbeddingSimilarity, maxUsage, maxImplicitChildren, { userPayload } = {}) {
|
|
175
|
+
try {
|
|
176
|
+
const currentUser = this.GetUserFromPayload(userPayload);
|
|
177
|
+
if (!currentUser) {
|
|
178
|
+
return { Success: false, MergeCount: 0, LowUsageCount: 0, WideNodeCount: 0, DurationMs: 0, ErrorMessage: 'Unable to determine current user' };
|
|
179
|
+
}
|
|
180
|
+
const summary = await TagHealthJob.Instance.Run({
|
|
181
|
+
...DEFAULT_TAG_HEALTH_THRESHOLDS,
|
|
182
|
+
...(minCoOccurrence != null ? { minCoOccurrence } : {}),
|
|
183
|
+
...(minNameSimilarity != null ? { minNameSimilarity } : {}),
|
|
184
|
+
...(minEmbeddingSimilarity != null ? { minEmbeddingSimilarity } : {}),
|
|
185
|
+
...(maxUsage != null ? { maxUsage } : {}),
|
|
186
|
+
...(maxImplicitChildren != null ? { maxImplicitChildren } : {}),
|
|
187
|
+
}, currentUser);
|
|
188
|
+
return {
|
|
189
|
+
Success: true,
|
|
190
|
+
MergeCount: summary.mergeCount,
|
|
191
|
+
LowUsageCount: summary.lowUsageCount,
|
|
192
|
+
WideNodeCount: summary.wideNodeCount,
|
|
193
|
+
DurationMs: summary.durationMs,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
198
|
+
LogError(`RunTagHealth failed: ${msg}`);
|
|
199
|
+
return { Success: false, MergeCount: 0, LowUsageCount: 0, WideNodeCount: 0, DurationMs: 0, ErrorMessage: msg };
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
__decorate([
|
|
204
|
+
Mutation(() => PromoteSuggestionResult),
|
|
205
|
+
__param(0, Arg('suggestionID')),
|
|
206
|
+
__param(1, Arg('strategy')),
|
|
207
|
+
__param(2, Arg('targetTagID', { nullable: true })),
|
|
208
|
+
__param(3, Ctx()),
|
|
209
|
+
__metadata("design:type", Function),
|
|
210
|
+
__metadata("design:paramtypes", [String, String, String, Object]),
|
|
211
|
+
__metadata("design:returntype", Promise)
|
|
212
|
+
], TagGovernanceResolver.prototype, "PromoteTagSuggestion", null);
|
|
213
|
+
__decorate([
|
|
214
|
+
Mutation(() => RejectSuggestionResult),
|
|
215
|
+
__param(0, Arg('suggestionID')),
|
|
216
|
+
__param(1, Arg('reviewerNotes', { nullable: true })),
|
|
217
|
+
__param(2, Ctx()),
|
|
218
|
+
__metadata("design:type", Function),
|
|
219
|
+
__metadata("design:paramtypes", [String, String, Object]),
|
|
220
|
+
__metadata("design:returntype", Promise)
|
|
221
|
+
], TagGovernanceResolver.prototype, "RejectTagSuggestion", null);
|
|
222
|
+
__decorate([
|
|
223
|
+
Mutation(() => RebuildTagEmbeddingsResult),
|
|
224
|
+
__param(0, Ctx()),
|
|
225
|
+
__metadata("design:type", Function),
|
|
226
|
+
__metadata("design:paramtypes", [Object]),
|
|
227
|
+
__metadata("design:returntype", Promise)
|
|
228
|
+
], TagGovernanceResolver.prototype, "RebuildTagEmbeddings", null);
|
|
229
|
+
__decorate([
|
|
230
|
+
Mutation(() => RunTagHealthResult),
|
|
231
|
+
__param(0, Arg('minCoOccurrence', () => Int, { nullable: true })),
|
|
232
|
+
__param(1, Arg('minNameSimilarity', { nullable: true })),
|
|
233
|
+
__param(2, Arg('minEmbeddingSimilarity', { nullable: true })),
|
|
234
|
+
__param(3, Arg('maxUsage', () => Int, { nullable: true })),
|
|
235
|
+
__param(4, Arg('maxImplicitChildren', () => Int, { nullable: true })),
|
|
236
|
+
__param(5, Ctx()),
|
|
237
|
+
__metadata("design:type", Function),
|
|
238
|
+
__metadata("design:paramtypes", [Number, Number, Number, Number, Number, Object]),
|
|
239
|
+
__metadata("design:returntype", Promise)
|
|
240
|
+
], TagGovernanceResolver.prototype, "RunTagHealth", null);
|
|
241
|
+
TagGovernanceResolver = __decorate([
|
|
242
|
+
Resolver()
|
|
243
|
+
], TagGovernanceResolver);
|
|
244
|
+
export { TagGovernanceResolver };
|
|
245
|
+
//# sourceMappingURL=TagGovernanceResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagGovernanceResolver.js","sourceRoot":"","sources":["../../src/resolvers/TagGovernanceResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,6BAA6B,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGlH,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAYnC,CAAA;AAVG;IADC,KAAK,EAAE;;wDACS;AAGjB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACH;AAGvB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACD;AAGzB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACJ;AAXb,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CAYnC;;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAMlC,CAAA;AAJG;IADC,KAAK,EAAE;;uDACS;AAGjB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACJ;AALb,sBAAsB;IADlC,UAAU,EAAE;GACA,sBAAsB,CAMlC;;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAYtC,CAAA;AAVG;IADC,KAAK,EAAE;;2DACS;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;;6DACC;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;;yDACH;AAGd;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACJ;AAXb,0BAA0B;IADtC,UAAU,EAAE;GACA,0BAA0B,CAYtC;;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAkB9B,CAAA;AAhBG;IADC,KAAK,EAAE;;mDACS;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;;sDACE;AAGnB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;;yDACK;AAGtB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;;yDACK;AAGtB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;;sDACE;AAGnB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACJ;AAjBb,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAkB9B;;AAED;;;;;;;;;GASG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,YAAY;IAE7C,AAAN,KAAK,CAAC,oBAAoB,CACD,YAAoB,EACxB,QAA8C,EACvB,WAA+B,EAChE,EAAE,WAAW,KAAiB,EAAgB;QAErD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kCAAkC,EAAE,CAAC;YAChF,CAAC;YAED,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;gBAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,qBAAqB,QAAQ,GAAG,EAAE,CAAC;YAC9E,CAAC;YACD,IAAI,QAAQ,KAAK,qBAAqB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,iEAAiE,EAAE,CAAC;YAC/G,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,KAAK,YAAY;gBACtC,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC;gBACzG,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,WAAY,EAAE,EAAE,WAAW,CAAC,CAAC;YAElJ,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,QAAQ,CAAC,EAAE;gBAC1B,eAAe,EAAE,QAAQ,CAAC,IAAI;aACjC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,mCAAmC,YAAY,KAAK,GAAG,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC;IACL,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CACA,YAAoB,EACC,aAAiC,EACpE,EAAE,WAAW,KAAiB,EAAgB;QAErD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kCAAkC,EAAE,CAAC;YAChF,CAAC;YACD,MAAM,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,aAAa,IAAI,IAAI,EAAE,WAAW,CAAC,CAAC;YACtG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,kCAAkC,YAAY,KAAK,GAAG,EAAE,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC;IACL,CAAC;IAGK,AAAN,KAAK,CAAC,oBAAoB,CACf,EAAE,WAAW,KAAiB,EAAgB;QAErD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,kCAAkC,EAAE,CAAC;YACxG,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC1E,SAAS,CAAC,mCAAmC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;YACvF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QACzE,CAAC;IACL,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CACyC,eAAmC,EAC5C,iBAAqC,EAChC,sBAA0C,EAC7C,QAA4B,EACjB,mBAAuC,EAC3F,EAAE,WAAW,KAAiB,EAAgB;QAErD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,kCAAkC,EAAE,CAAC;YAClJ,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC5C,GAAG,6BAA6B;gBAChC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,sBAAsB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,EAAE,WAAW,CAAC,CAAC;YAChB,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,UAAU,EAAE,OAAO,CAAC,UAAU;aACjC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QACnH,CAAC;IACL,CAAC;CACJ,CAAA;AA7GS;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;IAEnC,WAAA,GAAG,CAAC,cAAc,CAAC,CAAA;IACnB,WAAA,GAAG,CAAC,UAAU,CAAC,CAAA;IACf,WAAA,GAAG,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACtC,WAAA,GAAG,EAAE,CAAA;;;;iEA6BT;AAGK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;IAElC,WAAA,GAAG,CAAC,cAAc,CAAC,CAAA;IACnB,WAAA,GAAG,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,WAAA,GAAG,EAAE,CAAA;;;;gEAcT;AAGK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC;IAEtC,WAAA,GAAG,EAAE,CAAA;;;;iEAeT;AAGK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC;IAE9B,WAAA,GAAG,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,WAAA,GAAG,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,WAAA,GAAG,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACjD,WAAA,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9C,WAAA,GAAG,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,WAAA,GAAG,EAAE,CAAA;;;;yDA2BT;AA9GQ,qBAAqB;IADjC,QAAQ,EAAE;GACE,qBAAqB,CA+GjC"}
|
|
@@ -26,6 +26,6 @@ export declare class TaskOrchestrationResolver extends ResolverBase {
|
|
|
26
26
|
* @param conversationDetailId - ID of the conversation detail that triggered this workflow
|
|
27
27
|
* @param environmentId - Environment ID for the tasks
|
|
28
28
|
*/
|
|
29
|
-
ExecuteTaskGraph(taskGraphJson: string, conversationDetailId: string, environmentId: string, sessionId: string, pubSub: PubSubEngine, { userPayload }: AppContext, createNotifications?: boolean): Promise<ExecuteTaskGraphResult>;
|
|
29
|
+
ExecuteTaskGraph(taskGraphJson: string, conversationDetailId: string, environmentId: string, sessionId: string, pubSub: PubSubEngine, { userPayload, providers }: AppContext, createNotifications?: boolean): Promise<ExecuteTaskGraphResult>;
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=TaskResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/TaskResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,YAAY,EAAE,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/TaskResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,YAAY,EAAE,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,qBACa,uBAAuB;IAEhC,MAAM,EAAE,MAAM,CAAC;IAGf,OAAO,EAAE,OAAO,CAAC;IAGjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBACa,sBAAsB;IAE/B,OAAO,EAAE,OAAO,CAAC;IAGjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,qBACa,yBAA0B,SAAQ,YAAY;IACvD;;;;;;;OAOG;IAEG,gBAAgB,CACI,aAAa,EAAE,MAAM,EACd,oBAAoB,EAAE,MAAM,EACnC,aAAa,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EACzB,MAAM,EAAE,YAAY,EACvB,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,UAAU,EACG,mBAAmB,CAAC,EAAE,OAAO,GAC9E,OAAO,CAAC,sBAAsB,CAAC;CAyFrC"}
|
|
@@ -14,6 +14,7 @@ import { Resolver, Mutation, Arg, Ctx, ObjectType, Field, PubSub, PubSubEngine }
|
|
|
14
14
|
import { LogError, LogStatus } from '@memberjunction/core';
|
|
15
15
|
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
16
16
|
import { TaskOrchestrator } from '../services/TaskOrchestrator.js';
|
|
17
|
+
import { GetReadWriteProvider } from '../util.js';
|
|
17
18
|
let TaskExecutionResultType = class TaskExecutionResultType {
|
|
18
19
|
};
|
|
19
20
|
__decorate([
|
|
@@ -68,7 +69,7 @@ let TaskOrchestrationResolver = class TaskOrchestrationResolver extends Resolver
|
|
|
68
69
|
* @param conversationDetailId - ID of the conversation detail that triggered this workflow
|
|
69
70
|
* @param environmentId - Environment ID for the tasks
|
|
70
71
|
*/
|
|
71
|
-
async ExecuteTaskGraph(taskGraphJson, conversationDetailId, environmentId, sessionId, pubSub, { userPayload }, createNotifications) {
|
|
72
|
+
async ExecuteTaskGraph(taskGraphJson, conversationDetailId, environmentId, sessionId, pubSub, { userPayload, providers }, createNotifications) {
|
|
72
73
|
// Check API key scope authorization for task execution
|
|
73
74
|
await this.CheckAPIKeyScopeAuthorization('task:execute', '*', userPayload);
|
|
74
75
|
try {
|
|
@@ -89,7 +90,8 @@ let TaskOrchestrationResolver = class TaskOrchestrationResolver extends Resolver
|
|
|
89
90
|
LogStatus(`Reasoning: ${taskGraph.reasoning}`);
|
|
90
91
|
}
|
|
91
92
|
// Create task orchestrator with PubSub for progress updates
|
|
92
|
-
const
|
|
93
|
+
const provider = GetReadWriteProvider(providers, { allowFallbackToReadOnly: true });
|
|
94
|
+
const orchestrator = new TaskOrchestrator(currentUser, pubSub, sessionId, userPayload, createNotifications || false, conversationDetailId, provider);
|
|
93
95
|
// Create parent task and child tasks with dependencies
|
|
94
96
|
const { parentTaskId, taskIdMap } = await orchestrator.createTasksFromGraph(taskGraph, conversationDetailId, environmentId);
|
|
95
97
|
LogStatus(`Created parent task ${parentTaskId} with ${taskIdMap.size} child tasks`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskResolver.js","sourceRoot":"","sources":["../../src/resolvers/TaskResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAErG,OAAO,
|
|
1
|
+
{"version":3,"file":"TaskResolver.js","sourceRoot":"","sources":["../../src/resolvers/TaskResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAErG,OAAO,EAAqB,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAA0C,MAAM,iCAAiC,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAG3C,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAYnC,CAAA;AAVG;IADC,KAAK,EAAE;;uDACO;AAGf;IADC,KAAK,EAAE;;wDACS;AAGjB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACV;AAGhB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACX;AAXN,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CAYnC;;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CASlC,CAAA;AAPG;IADC,KAAK,EAAE;;uDACS;AAGjB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACJ;AAGtB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC;;uDACJ;AAR1B,sBAAsB;IADlC,UAAU,EAAE;GACA,sBAAsB,CASlC;;AAED;;;;GAIG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,YAAY;IACvD;;;;;;;OAOG;IAEG,AAAN,KAAK,CAAC,gBAAgB,CACI,aAAqB,EACd,oBAA4B,EACnC,aAAqB,EACzB,SAAiB,EACzB,MAAoB,EACvB,EAAE,WAAW,EAAE,SAAS,EAAc,EACG,mBAA6B;QAE7E,uDAAuD;QACvD,MAAM,IAAI,CAAC,6BAA6B,CAAC,cAAc,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAE3E,IAAI,CAAC;YACD,SAAS,CAAC,8CAA8C,oBAAoB,MAAM,CAAC,CAAC;YAEpF,mBAAmB;YACnB,MAAM,SAAS,GAAsB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAE/D,sBAAsB;YACtB,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9E,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;YACxF,CAAC;YAED,mBAAmB;YACnB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACxD,CAAC;YAED,SAAS,CAAC,aAAa,SAAS,CAAC,YAAY,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;YACnF,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;gBACtB,SAAS,CAAC,cAAc,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAiC,CAAC;YACpH,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,IAAI,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAErJ,uDAAuD;YACvD,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,oBAAoB,CACvE,SAAS,EACT,oBAAoB,EACpB,aAAa,CAChB,CAAC;YAEF,SAAS,CAAC,uBAAuB,YAAY,SAAS,SAAS,CAAC,IAAI,cAAc,CAAC,CAAC;YAEpF,gCAAgC;YAChC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,qBAAqB,CACpD,YAAY,CACf,CAAC;YAEF,cAAc;YACd,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAC3D,SAAS,CAAC,aAAa,YAAY,OAAO,OAAO,CAAC,MAAM,qBAAqB,CAAC,CAAC;YAE/E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,SAAS,CAAC,UAAU,MAAM,CAAC,MAAM,yBAAyB,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACJ,QAAQ,CAAC,UAAU,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;YAED,mCAAmC;YACnC,MAAM,cAAc,GAA8B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChE,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvD,KAAK,EAAE,CAAC,CAAC,KAAK;aACjB,CAAC,CAAC,CAAC;YAEJ,SAAS,CAAC,uCAAuC,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG;gBACX,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,cAAc;aAC1B,CAAC;YAEF,SAAS,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC;gBAC3D,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;gBACnC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC,CAAC,EAAE,CAAC,CAAC;YAEN,OAAO,MAAM,CAAC;QAElB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,8BAA8B,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAE3D,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,YAAY,EAAG,KAAe,CAAC,OAAO,IAAI,wBAAwB;gBAClE,OAAO,EAAE,EAAE;aACd,CAAC;QACN,CAAC;IACL,CAAC;CACJ,CAAA;AAjGS;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;IAElC,WAAA,GAAG,CAAC,eAAe,CAAC,CAAA;IACpB,WAAA,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAC3B,WAAA,GAAG,CAAC,eAAe,CAAC,CAAA;IACpB,WAAA,GAAG,CAAC,WAAW,CAAC,CAAA;IAChB,WAAA,MAAM,EAAE,CAAA;IACR,WAAA,GAAG,EAAE,CAAA;IACL,WAAA,GAAG,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qEAF7B,YAAY;;iEA2FjC;AA1GQ,yBAAyB;IADrC,QAAQ,EAAE;GACE,yBAAyB,CA2GrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionGroupResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/TransactionGroupResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"TransactionGroupResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/TransactionGroupResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAA0F,UAAU,EAA0C,MAAM,sBAAsB,CAAC;AAIlL,oBAAY,uBAAuB;IAC/B,MAAM,WAAW;IACjB,GAAG,QAAQ;CACd;AAOD,oBAAY,wBAAwB;IAChC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;CACpB;AAQD,qBACa,4BAA4B;IAErC,IAAI,EAAG,MAAM,CAAC;IAGd,SAAS,EAAG,MAAM,CAAC;IAGnB,SAAS,EAAG,MAAM,CAAC;IAGnB,IAAI,EAAG,uBAAuB,CAAC;CAClC;AAED,qBACa,wBAAwB;IAEjC,UAAU,EAAE,MAAM,CAAC;IAGnB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,aAAa,EAAE,wBAAwB,CAAC;CAC3C;AAED,qBACa,oBAAoB;IAE7B,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAGlC,SAAS,CAAC,EAAE,4BAA4B,EAAE,GAAG,IAAI,CAAC;CACrD;AAGD,qBACa,qBAAqB;IAE9B,OAAO,EAAE,OAAO,CAAC;IAGjB,aAAa,EAAE,MAAM,EAAE,CAAC;IAGxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAID,qBAAa,mBAAmB;IAEtB,uBAAuB,CACc,KAAK,EAAE,oBAAoB,EAC/D,OAAO,EAAE,UAAU;cA0EV,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAoBtK"}
|
|
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
import { Arg, Ctx, Field, InputType, Int, Mutation, ObjectType, registerEnumType } from 'type-graphql';
|
|
14
14
|
import { CompositeKey, KeyValuePair, LogError, Metadata, TransactionVariable } from '@memberjunction/core';
|
|
15
15
|
import { SafeJSONParse } from '@memberjunction/global';
|
|
16
|
+
import { GetReadWriteProvider } from '../util.js';
|
|
16
17
|
export var TransactionVariableType;
|
|
17
18
|
(function (TransactionVariableType) {
|
|
18
19
|
TransactionVariableType["Define"] = "Define";
|
|
@@ -108,7 +109,7 @@ export class TransactionResolver {
|
|
|
108
109
|
async ExecuteTransactionGroup(group, context) {
|
|
109
110
|
try {
|
|
110
111
|
// we have received the transaction group information via the network, now we need to reconstruct our TransactionGroup object and run it
|
|
111
|
-
const md = new Metadata();
|
|
112
|
+
const md = GetReadWriteProvider(context.providers, { allowFallbackToReadOnly: true }) ?? new Metadata();
|
|
112
113
|
const tg = await md.CreateTransactionGroup();
|
|
113
114
|
const entityObjects = [];
|
|
114
115
|
const objectValues = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionGroupResolver.js","sourceRoot":"","sources":["../../src/resolvers/TransactionGroupResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEvG,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"TransactionGroupResolver.js","sourceRoot":"","sources":["../../src/resolvers/TransactionGroupResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export class EntityCRUDHandler {
|
|
|
10
10
|
static async createEntity(entityName, data, user) {
|
|
11
11
|
try {
|
|
12
12
|
// Get entity object
|
|
13
|
-
const md = new Metadata();
|
|
13
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
14
14
|
const entity = await md.GetEntityObject(entityName, user);
|
|
15
15
|
// Check permissions
|
|
16
16
|
if (!entity.CheckPermissions(EntityPermissionType.Create, false)) {
|
|
@@ -76,7 +76,7 @@ export class EntityCRUDHandler {
|
|
|
76
76
|
static async getEntity(entityName, id, relatedEntities = null, user) {
|
|
77
77
|
try {
|
|
78
78
|
// Get entity object
|
|
79
|
-
const md = new Metadata();
|
|
79
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
80
80
|
const entity = await md.GetEntityObject(entityName, user);
|
|
81
81
|
// Check permissions
|
|
82
82
|
if (!entity.CheckPermissions(EntityPermissionType.Read, false)) {
|
|
@@ -110,7 +110,7 @@ export class EntityCRUDHandler {
|
|
|
110
110
|
static async updateEntity(entityName, id, data, user) {
|
|
111
111
|
try {
|
|
112
112
|
// Get entity object
|
|
113
|
-
const md = new Metadata();
|
|
113
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
114
114
|
const entity = await md.GetEntityObject(entityName, user);
|
|
115
115
|
// Check permissions
|
|
116
116
|
if (!entity.CheckPermissions(EntityPermissionType.Update, false)) {
|
|
@@ -190,7 +190,7 @@ export class EntityCRUDHandler {
|
|
|
190
190
|
static async deleteEntity(entityName, id, options, user) {
|
|
191
191
|
try {
|
|
192
192
|
// Get entity object
|
|
193
|
-
const md = new Metadata();
|
|
193
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
194
194
|
const entity = await md.GetEntityObject(entityName, user);
|
|
195
195
|
// Check permissions
|
|
196
196
|
if (!entity.CheckPermissions(EntityPermissionType.Delete, false)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCRUDHandler.js","sourceRoot":"","sources":["../../src/rest/EntityCRUDHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACS,YAAY,EAAuB,oBAAoB,EACnE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EACxC,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC1B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,IAAS,EAAE,IAAc;QACnE,IAAI,CAAC;YACD,oBAAoB;YACpB,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"EntityCRUDHandler.js","sourceRoot":"","sources":["../../src/rest/EntityCRUDHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export class RESTEndpointHandler {
|
|
|
31
31
|
*/
|
|
32
32
|
isEntityAllowed(entityName) {
|
|
33
33
|
const name = entityName.toLowerCase();
|
|
34
|
-
const md = new Metadata();
|
|
34
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
35
35
|
const entity = md.Entities.find(e => e.Name.toLowerCase() === name);
|
|
36
36
|
// If entity not found in metadata, don't allow it
|
|
37
37
|
if (!entity) {
|
|
@@ -332,7 +332,7 @@ export class RESTEndpointHandler {
|
|
|
332
332
|
const id = this.getStringParam(req.params.id);
|
|
333
333
|
const user = req['mjUser'];
|
|
334
334
|
// Get the entity object
|
|
335
|
-
const md = new Metadata();
|
|
335
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
336
336
|
const entity = await md.GetEntityObject(entityName, user);
|
|
337
337
|
// Create a composite key
|
|
338
338
|
const compositeKey = this.createCompositeKey(entity.EntityInfo, id);
|
|
@@ -356,7 +356,7 @@ export class RESTEndpointHandler {
|
|
|
356
356
|
const id = this.getStringParam(req.params.id);
|
|
357
357
|
const user = req['mjUser'];
|
|
358
358
|
// Get the entity object
|
|
359
|
-
const md = new Metadata();
|
|
359
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
360
360
|
const entity = await md.GetEntityObject(entityName, user);
|
|
361
361
|
// Create a composite key
|
|
362
362
|
const compositeKey = this.createCompositeKey(entity.EntityInfo, id);
|
|
@@ -380,7 +380,7 @@ export class RESTEndpointHandler {
|
|
|
380
380
|
const id = this.getStringParam(req.params.id);
|
|
381
381
|
const user = req['mjUser'];
|
|
382
382
|
// Get the entity object
|
|
383
|
-
const md = new Metadata();
|
|
383
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
384
384
|
const entity = await md.GetEntityObject(entityName, user);
|
|
385
385
|
// Create a composite key
|
|
386
386
|
const compositeKey = this.createCompositeKey(entity.EntityInfo, id);
|
|
@@ -482,7 +482,7 @@ export class RESTEndpointHandler {
|
|
|
482
482
|
try {
|
|
483
483
|
const user = req['mjUser'];
|
|
484
484
|
// Filter entities based on user permissions and REST API configuration
|
|
485
|
-
const md = new Metadata();
|
|
485
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
486
486
|
const entities = md.Entities.filter(e => {
|
|
487
487
|
// First check if entity is allowed based on configuration
|
|
488
488
|
if (!this.isEntityAllowed(e.Name)) {
|
|
@@ -517,7 +517,7 @@ export class RESTEndpointHandler {
|
|
|
517
517
|
try {
|
|
518
518
|
const entityName = this.getStringParam(req.params.entityName);
|
|
519
519
|
const user = req['mjUser'];
|
|
520
|
-
const md = new Metadata();
|
|
520
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
521
521
|
const entity = md.Entities.find(e => e.Name === entityName);
|
|
522
522
|
if (!entity) {
|
|
523
523
|
res.status(404).json({ error: `Entity '${entityName}' not found` });
|
|
@@ -576,7 +576,7 @@ export class RESTEndpointHandler {
|
|
|
576
576
|
const id = this.getStringParam(req.params.id);
|
|
577
577
|
const user = req['mjUser'];
|
|
578
578
|
// Get the entity object
|
|
579
|
-
const md = new Metadata();
|
|
579
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
580
580
|
const entity = await md.GetEntityObject(entityName, user);
|
|
581
581
|
// Create a composite key
|
|
582
582
|
const compositeKey = this.createCompositeKey(entity.EntityInfo, id);
|
|
@@ -600,7 +600,7 @@ export class RESTEndpointHandler {
|
|
|
600
600
|
const id = this.getStringParam(req.params.id);
|
|
601
601
|
const user = req['mjUser'];
|
|
602
602
|
// Get the entity object
|
|
603
|
-
const md = new Metadata();
|
|
603
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
604
604
|
const entity = await md.GetEntityObject(entityName, user);
|
|
605
605
|
// Create a composite key
|
|
606
606
|
const compositeKey = this.createCompositeKey(entity.EntityInfo, id);
|
|
@@ -624,7 +624,7 @@ export class RESTEndpointHandler {
|
|
|
624
624
|
const id = this.getStringParam(req.params.id);
|
|
625
625
|
const user = req['mjUser'];
|
|
626
626
|
// Get the entity object
|
|
627
|
-
const md = new Metadata();
|
|
627
|
+
const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
|
|
628
628
|
const entity = await md.GetEntityObject(entityName, user);
|
|
629
629
|
// Create a composite key
|
|
630
630
|
const compositeKey = this.createCompositeKey(entity.EntityInfo, id);
|