@memberjunction/server 5.21.0 → 5.23.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.
Files changed (50) hide show
  1. package/README.md +44 -0
  2. package/dist/agents/skip-sdk.d.ts.map +1 -1
  3. package/dist/agents/skip-sdk.js +32 -2
  4. package/dist/agents/skip-sdk.js.map +1 -1
  5. package/dist/generated/generated.d.ts +172 -4
  6. package/dist/generated/generated.d.ts.map +1 -1
  7. package/dist/generated/generated.js +931 -2
  8. package/dist/generated/generated.js.map +1 -1
  9. package/dist/index.d.ts +6 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +10 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/resolvers/AutotagPipelineResolver.d.ts +21 -0
  14. package/dist/resolvers/AutotagPipelineResolver.d.ts.map +1 -0
  15. package/dist/resolvers/AutotagPipelineResolver.js +147 -0
  16. package/dist/resolvers/AutotagPipelineResolver.js.map +1 -0
  17. package/dist/resolvers/ClientToolRequestResolver.d.ts +43 -0
  18. package/dist/resolvers/ClientToolRequestResolver.d.ts.map +1 -0
  19. package/dist/resolvers/ClientToolRequestResolver.js +161 -0
  20. package/dist/resolvers/ClientToolRequestResolver.js.map +1 -0
  21. package/dist/resolvers/FetchEntityVectorsResolver.d.ts +29 -0
  22. package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -0
  23. package/dist/resolvers/FetchEntityVectorsResolver.js +218 -0
  24. package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -0
  25. package/dist/resolvers/PipelineProgressResolver.d.ts +33 -0
  26. package/dist/resolvers/PipelineProgressResolver.d.ts.map +1 -0
  27. package/dist/resolvers/PipelineProgressResolver.js +138 -0
  28. package/dist/resolvers/PipelineProgressResolver.js.map +1 -0
  29. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  30. package/dist/resolvers/RunAIAgentResolver.js +7 -5
  31. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  32. package/dist/resolvers/SearchKnowledgeResolver.d.ts +85 -0
  33. package/dist/resolvers/SearchKnowledgeResolver.d.ts.map +1 -0
  34. package/dist/resolvers/SearchKnowledgeResolver.js +587 -0
  35. package/dist/resolvers/SearchKnowledgeResolver.js.map +1 -0
  36. package/dist/resolvers/VectorizeEntityResolver.d.ts +21 -0
  37. package/dist/resolvers/VectorizeEntityResolver.d.ts.map +1 -0
  38. package/dist/resolvers/VectorizeEntityResolver.js +134 -0
  39. package/dist/resolvers/VectorizeEntityResolver.js.map +1 -0
  40. package/package.json +63 -62
  41. package/src/agents/skip-sdk.ts +31 -2
  42. package/src/generated/generated.ts +650 -7
  43. package/src/index.ts +13 -0
  44. package/src/resolvers/AutotagPipelineResolver.ts +146 -0
  45. package/src/resolvers/ClientToolRequestResolver.ts +128 -0
  46. package/src/resolvers/FetchEntityVectorsResolver.ts +234 -0
  47. package/src/resolvers/PipelineProgressResolver.ts +107 -0
  48. package/src/resolvers/RunAIAgentResolver.ts +7 -5
  49. package/src/resolvers/SearchKnowledgeResolver.ts +614 -0
  50. package/src/resolvers/VectorizeEntityResolver.ts +123 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientToolRequestResolver.js","sourceRoot":"","sources":["../../src/resolvers/ClientToolRequestResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { AppContext } from '../types.js';
2
+ import { ResolverBase } from '../generic/ResolverBase.js';
3
+ export declare class EntityVectorItem {
4
+ ID: string;
5
+ Values: number[];
6
+ Metadata: string;
7
+ }
8
+ export declare class FetchEntityVectorsResult {
9
+ Success: boolean;
10
+ Results: EntityVectorItem[];
11
+ TotalCount: number;
12
+ ElapsedMs: number;
13
+ ErrorMessage?: string;
14
+ }
15
+ export declare class FetchEntityVectorsResolver extends ResolverBase {
16
+ FetchEntityVectors(entityDocumentID: string, maxRecords: number | undefined, filter: string | undefined, { userPayload }?: AppContext): Promise<FetchEntityVectorsResult>;
17
+ /** Load EntityDocument by ID */
18
+ private loadEntityDocument;
19
+ /**
20
+ * Resolve the VectorIndex for an EntityDocument.
21
+ * Prefers the explicit VectorIndexID on the EntityDocument; falls back to
22
+ * finding a VectorIndex by matching VectorDatabaseID + EmbeddingModelID.
23
+ */
24
+ private resolveVectorIndex;
25
+ /** Create a VectorDBBase provider instance for a given VectorIndex */
26
+ private createVectorDBInstance;
27
+ private errorResult;
28
+ }
29
+ //# sourceMappingURL=FetchEntityVectorsResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchEntityVectorsResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/FetchEntityVectorsResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAO1D,qBACa,gBAAgB;IAEzB,EAAE,EAAE,MAAM,CAAC;IAGX,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,qBACa,wBAAwB;IAEjC,OAAO,EAAE,OAAO,CAAC;IAGjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAG5B,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,MAAM,CAAC;IAGlB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,qBACa,0BAA2B,SAAQ,YAAY;IAGlD,kBAAkB,CACK,gBAAgB,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,GAAG,SAAS,EACtD,EAAE,WAAW,EAAE,GAAE,UAA6B,GACtD,OAAO,CAAC,wBAAwB,CAAC;IAkFpC,gCAAgC;YAClB,kBAAkB;IAiBhC;;;;OAIG;YACW,kBAAkB;IAsChC,sEAAsE;YACxD,sBAAsB;IA4BpC,OAAO,CAAC,WAAW;CAStB"}
@@ -0,0 +1,218 @@
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, Query, Arg, Ctx, ObjectType, Field, Float, Int } from 'type-graphql';
14
+ import { LogError, LogStatus, RunView } from '@memberjunction/core';
15
+ import { ResolverBase } from '../generic/ResolverBase.js';
16
+ import { GetAIAPIKey } from '@memberjunction/ai';
17
+ import { VectorDBBase } from '@memberjunction/ai-vectordb';
18
+ import { MJGlobal, UUIDsEqual } from '@memberjunction/global';
19
+ /* ───── GraphQL types ───── */
20
+ let EntityVectorItem = class EntityVectorItem {
21
+ };
22
+ __decorate([
23
+ Field(),
24
+ __metadata("design:type", String)
25
+ ], EntityVectorItem.prototype, "ID", void 0);
26
+ __decorate([
27
+ Field(() => [Float]),
28
+ __metadata("design:type", Array)
29
+ ], EntityVectorItem.prototype, "Values", void 0);
30
+ __decorate([
31
+ Field(() => String),
32
+ __metadata("design:type", String)
33
+ ], EntityVectorItem.prototype, "Metadata", void 0);
34
+ EntityVectorItem = __decorate([
35
+ ObjectType()
36
+ ], EntityVectorItem);
37
+ export { EntityVectorItem };
38
+ let FetchEntityVectorsResult = class FetchEntityVectorsResult {
39
+ };
40
+ __decorate([
41
+ Field(),
42
+ __metadata("design:type", Boolean)
43
+ ], FetchEntityVectorsResult.prototype, "Success", void 0);
44
+ __decorate([
45
+ Field(() => [EntityVectorItem]),
46
+ __metadata("design:type", Array)
47
+ ], FetchEntityVectorsResult.prototype, "Results", void 0);
48
+ __decorate([
49
+ Field(),
50
+ __metadata("design:type", Number)
51
+ ], FetchEntityVectorsResult.prototype, "TotalCount", void 0);
52
+ __decorate([
53
+ Field(),
54
+ __metadata("design:type", Number)
55
+ ], FetchEntityVectorsResult.prototype, "ElapsedMs", void 0);
56
+ __decorate([
57
+ Field({ nullable: true }),
58
+ __metadata("design:type", String)
59
+ ], FetchEntityVectorsResult.prototype, "ErrorMessage", void 0);
60
+ FetchEntityVectorsResult = __decorate([
61
+ ObjectType()
62
+ ], FetchEntityVectorsResult);
63
+ export { FetchEntityVectorsResult };
64
+ /* ───── Resolver ───── */
65
+ let FetchEntityVectorsResolver = class FetchEntityVectorsResolver extends ResolverBase {
66
+ async FetchEntityVectors(entityDocumentID, maxRecords, filter, { userPayload } = {}) {
67
+ const startTime = Date.now();
68
+ try {
69
+ const currentUser = this.GetUserFromPayload(userPayload);
70
+ if (!currentUser) {
71
+ return this.errorResult('Unable to determine current user', startTime);
72
+ }
73
+ const limit = maxRecords ?? 1000;
74
+ // Step 1: Load the EntityDocument
75
+ const entityDoc = await this.loadEntityDocument(entityDocumentID, currentUser);
76
+ if (!entityDoc) {
77
+ return this.errorResult(`EntityDocument not found: ${entityDocumentID}`, startTime);
78
+ }
79
+ // Step 2: Resolve the VectorIndex
80
+ const vectorIndex = await this.resolveVectorIndex(entityDoc, currentUser);
81
+ if (!vectorIndex) {
82
+ return this.errorResult(`Could not resolve VectorIndex for EntityDocument "${entityDoc.Name}"`, startTime);
83
+ }
84
+ // Step 3: Create VectorDB provider instance
85
+ const vectorDBInstance = await this.createVectorDBInstance(vectorIndex, currentUser);
86
+ if (!vectorDBInstance) {
87
+ return this.errorResult(`Could not create VectorDB provider for index "${vectorIndex.Name}"`, startTime);
88
+ }
89
+ // Step 4: Query with zero vector + Entity metadata filter.
90
+ // Pinecone's list API doesn't support metadata filtering, but query does.
91
+ // A zero vector returns results in arbitrary order (similarity is meaningless),
92
+ // but the metadata filter ensures we only get vectors for this entity.
93
+ const entityName = entityDoc.Entity;
94
+ const dimensions = vectorIndex.Dimensions || 1536; // fall back to common embedding size
95
+ const zeroVector = new Array(dimensions).fill(0);
96
+ const metadataFilter = { Entity: { $eq: entityName } };
97
+ const queryResponse = await vectorDBInstance.QueryIndex({
98
+ id: vectorIndex.Name, // index name (stripped before Pinecone query)
99
+ vector: zeroVector,
100
+ topK: limit,
101
+ includeMetadata: true,
102
+ includeValues: true,
103
+ filter: metadataFilter,
104
+ });
105
+ if (!queryResponse.success || !queryResponse.data) {
106
+ return this.errorResult(`Vector query failed for entity "${entityName}" in index "${vectorIndex.Name}"`, startTime);
107
+ }
108
+ // Step 5: Convert query matches to result format
109
+ const matches = queryResponse.data.matches ?? [];
110
+ const results = matches.map(match => ({
111
+ ID: match.id,
112
+ Values: match.values ?? [],
113
+ Metadata: JSON.stringify(match.metadata ?? {}),
114
+ }));
115
+ LogStatus(`FetchEntityVectors: Queried ${results.length} vectors for entity "${entityName}" in ${Date.now() - startTime}ms`);
116
+ return {
117
+ Success: true,
118
+ Results: results,
119
+ TotalCount: results.length,
120
+ ElapsedMs: Date.now() - startTime,
121
+ };
122
+ }
123
+ catch (error) {
124
+ const msg = error instanceof Error ? error.message : String(error);
125
+ LogError(`FetchEntityVectors query failed: ${msg}`);
126
+ return this.errorResult(msg, startTime);
127
+ }
128
+ }
129
+ /** Load EntityDocument by ID */
130
+ async loadEntityDocument(entityDocumentID, contextUser) {
131
+ const rv = new RunView();
132
+ const result = await rv.RunView({
133
+ EntityName: 'MJ: Entity Documents',
134
+ ExtraFilter: `ID='${entityDocumentID}'`,
135
+ ResultType: 'entity_object',
136
+ }, contextUser);
137
+ if (!result.Success || result.Results.length === 0) {
138
+ return null;
139
+ }
140
+ return result.Results[0];
141
+ }
142
+ /**
143
+ * Resolve the VectorIndex for an EntityDocument.
144
+ * Prefers the explicit VectorIndexID on the EntityDocument; falls back to
145
+ * finding a VectorIndex by matching VectorDatabaseID + EmbeddingModelID.
146
+ */
147
+ async resolveVectorIndex(entityDoc, contextUser) {
148
+ const rv = new RunView();
149
+ // If the EntityDocument has an explicit VectorIndexID, use it directly
150
+ if (entityDoc.VectorIndexID) {
151
+ const result = await rv.RunView({
152
+ EntityName: 'MJ: Vector Indexes',
153
+ ExtraFilter: `ID='${entityDoc.VectorIndexID}'`,
154
+ ResultType: 'entity_object',
155
+ }, contextUser);
156
+ if (result.Success && result.Results.length > 0) {
157
+ return result.Results[0];
158
+ }
159
+ LogError(`FetchEntityVectors: VectorIndex ${entityDoc.VectorIndexID} referenced by EntityDocument not found`);
160
+ }
161
+ // Fallback: find a VectorIndex by VectorDatabaseID + matching AIModelID as EmbeddingModelID
162
+ const indexResult = await rv.RunView({
163
+ EntityName: 'MJ: Vector Indexes',
164
+ ExtraFilter: `VectorDatabaseID='${entityDoc.VectorDatabaseID}'`,
165
+ ResultType: 'entity_object',
166
+ }, contextUser);
167
+ if (!indexResult.Success || indexResult.Results.length === 0) {
168
+ return null;
169
+ }
170
+ // Match on EmbeddingModelID = EntityDocument.AIModelID
171
+ const match = indexResult.Results.find(idx => UUIDsEqual(idx.EmbeddingModelID, entityDoc.AIModelID));
172
+ return match ?? indexResult.Results[0];
173
+ }
174
+ /** Create a VectorDBBase provider instance for a given VectorIndex */
175
+ async createVectorDBInstance(vectorIndex, contextUser) {
176
+ const rv = new RunView();
177
+ const dbResult = await rv.RunView({
178
+ EntityName: 'MJ: Vector Databases',
179
+ ExtraFilter: `ID='${vectorIndex.VectorDatabaseID}'`,
180
+ ResultType: 'entity_object',
181
+ }, contextUser);
182
+ if (!dbResult.Success || dbResult.Results.length === 0) {
183
+ LogError(`FetchEntityVectors: VectorDatabase not found for index "${vectorIndex.Name}"`);
184
+ return null;
185
+ }
186
+ const vectorDB = dbResult.Results[0];
187
+ const apiKey = GetAIAPIKey(vectorDB.ClassKey);
188
+ const instance = MJGlobal.Instance.ClassFactory.CreateInstance(VectorDBBase, vectorDB.ClassKey, apiKey);
189
+ if (!instance) {
190
+ LogError(`FetchEntityVectors: Failed to create VectorDB instance for ClassKey "${vectorDB.ClassKey}"`);
191
+ }
192
+ return instance;
193
+ }
194
+ errorResult(message, startTime) {
195
+ return {
196
+ Success: false,
197
+ Results: [],
198
+ TotalCount: 0,
199
+ ElapsedMs: Date.now() - startTime,
200
+ ErrorMessage: message,
201
+ };
202
+ }
203
+ };
204
+ __decorate([
205
+ Query(() => FetchEntityVectorsResult),
206
+ __param(0, Arg('entityDocumentID')),
207
+ __param(1, Arg('maxRecords', () => Int, { nullable: true })),
208
+ __param(2, Arg('filter', { nullable: true })),
209
+ __param(3, Ctx()),
210
+ __metadata("design:type", Function),
211
+ __metadata("design:paramtypes", [String, Number, String, Object]),
212
+ __metadata("design:returntype", Promise)
213
+ ], FetchEntityVectorsResolver.prototype, "FetchEntityVectors", null);
214
+ FetchEntityVectorsResolver = __decorate([
215
+ Resolver()
216
+ ], FetchEntityVectorsResolver);
217
+ export { FetchEntityVectorsResolver };
218
+ //# sourceMappingURL=FetchEntityVectorsResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchEntityVectorsResolver.js","sourceRoot":"","sources":["../../src/resolvers/FetchEntityVectorsResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { PubSubEngine } from 'type-graphql';
2
+ import { AppContext } from '../types.js';
3
+ import { ResolverBase } from '../generic/ResolverBase.js';
4
+ /**
5
+ * Stage of the knowledge pipeline.
6
+ */
7
+ export type PipelineStageType = 'extract' | 'autotag' | 'vectorize' | 'complete' | 'error';
8
+ export declare class PipelineProgressNotification {
9
+ PipelineRunID: string;
10
+ Stage: string;
11
+ TotalItems: number;
12
+ ProcessedItems: number;
13
+ CurrentItem?: string;
14
+ ElapsedMs: number;
15
+ EstimatedRemainingMs?: number;
16
+ PercentComplete: number;
17
+ }
18
+ export declare class PipelineStartResult {
19
+ Success: boolean;
20
+ PipelineRunID: string;
21
+ ErrorMessage?: string;
22
+ }
23
+ export declare class PipelineProgressResolver extends ResolverBase {
24
+ /**
25
+ * Subscribe to pipeline progress notifications for a specific pipeline run.
26
+ */
27
+ PipelineProgress(notification: PipelineProgressNotification, _pipelineRunID: string): PipelineProgressNotification;
28
+ /**
29
+ * Publish a pipeline progress update. Called internally by the pipeline engine.
30
+ */
31
+ PublishPipelineProgress(pipelineRunID: string, stage: string, totalItems: number, processedItems: number, currentItem: string | undefined, elapsedMs: number, estimatedRemainingMs: number | undefined, pubSub: PubSubEngine, { userPayload }?: AppContext): Promise<boolean>;
32
+ }
33
+ //# sourceMappingURL=PipelineProgressResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineProgressResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/PipelineProgressResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsF,YAAY,EAAE,MAAM,cAAc,CAAC;AAChI,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAE3F,qBACa,4BAA4B;IAErC,aAAa,EAAE,MAAM,CAAC;IAGtB,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,EAAE,MAAM,CAAC;IAGnB,cAAc,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,EAAE,MAAM,CAAC;IAGlB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,qBACa,mBAAmB;IAE5B,OAAO,EAAE,OAAO,CAAC;IAGjB,aAAa,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBACa,wBAAyB,SAAQ,YAAY;IACtD;;OAEG;IAOH,gBAAgB,CACJ,YAAY,EAAE,4BAA4B,EAC5B,cAAc,EAAE,MAAM,GAC7C,4BAA4B;IAI/B;;OAEG;IAEG,uBAAuB,CACH,aAAa,EAAE,MAAM,EAC7B,KAAK,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACL,WAAW,EAAE,MAAM,GAAG,SAAS,EACxC,SAAS,EAAE,MAAM,EACc,oBAAoB,EAAE,MAAM,GAAG,SAAS,EAC5F,MAAM,EAAE,YAAY,EACvB,EAAE,WAAW,EAAE,GAAE,UAA6B,GACtD,OAAO,CAAC,OAAO,CAAC;CAuBtB"}
@@ -0,0 +1,138 @@
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, Subscription, Root, ObjectType, Field, Float, Mutation, Arg, Ctx, PubSub, PubSubEngine } from 'type-graphql';
14
+ import { LogStatus, LogError } from '@memberjunction/core';
15
+ import { ResolverBase } from '../generic/ResolverBase.js';
16
+ const PIPELINE_PROGRESS_TOPIC = 'PIPELINE_PROGRESS';
17
+ let PipelineProgressNotification = class PipelineProgressNotification {
18
+ };
19
+ __decorate([
20
+ Field(),
21
+ __metadata("design:type", String)
22
+ ], PipelineProgressNotification.prototype, "PipelineRunID", void 0);
23
+ __decorate([
24
+ Field(),
25
+ __metadata("design:type", String)
26
+ ], PipelineProgressNotification.prototype, "Stage", void 0);
27
+ __decorate([
28
+ Field(),
29
+ __metadata("design:type", Number)
30
+ ], PipelineProgressNotification.prototype, "TotalItems", void 0);
31
+ __decorate([
32
+ Field(),
33
+ __metadata("design:type", Number)
34
+ ], PipelineProgressNotification.prototype, "ProcessedItems", void 0);
35
+ __decorate([
36
+ Field({ nullable: true }),
37
+ __metadata("design:type", String)
38
+ ], PipelineProgressNotification.prototype, "CurrentItem", void 0);
39
+ __decorate([
40
+ Field(() => Float),
41
+ __metadata("design:type", Number)
42
+ ], PipelineProgressNotification.prototype, "ElapsedMs", void 0);
43
+ __decorate([
44
+ Field(() => Float, { nullable: true }),
45
+ __metadata("design:type", Number)
46
+ ], PipelineProgressNotification.prototype, "EstimatedRemainingMs", void 0);
47
+ __decorate([
48
+ Field(() => Float),
49
+ __metadata("design:type", Number)
50
+ ], PipelineProgressNotification.prototype, "PercentComplete", void 0);
51
+ PipelineProgressNotification = __decorate([
52
+ ObjectType()
53
+ ], PipelineProgressNotification);
54
+ export { PipelineProgressNotification };
55
+ let PipelineStartResult = class PipelineStartResult {
56
+ };
57
+ __decorate([
58
+ Field(),
59
+ __metadata("design:type", Boolean)
60
+ ], PipelineStartResult.prototype, "Success", void 0);
61
+ __decorate([
62
+ Field(),
63
+ __metadata("design:type", String)
64
+ ], PipelineStartResult.prototype, "PipelineRunID", void 0);
65
+ __decorate([
66
+ Field({ nullable: true }),
67
+ __metadata("design:type", String)
68
+ ], PipelineStartResult.prototype, "ErrorMessage", void 0);
69
+ PipelineStartResult = __decorate([
70
+ ObjectType()
71
+ ], PipelineStartResult);
72
+ export { PipelineStartResult };
73
+ let PipelineProgressResolver = class PipelineProgressResolver extends ResolverBase {
74
+ /**
75
+ * Subscribe to pipeline progress notifications for a specific pipeline run.
76
+ */
77
+ PipelineProgress(notification, _pipelineRunID) {
78
+ return notification;
79
+ }
80
+ /**
81
+ * Publish a pipeline progress update. Called internally by the pipeline engine.
82
+ */
83
+ async PublishPipelineProgress(pipelineRunID, stage, totalItems, processedItems, currentItem, elapsedMs, estimatedRemainingMs, pubSub, { userPayload } = {}) {
84
+ try {
85
+ const percentComplete = totalItems > 0 ? Math.round((processedItems / totalItems) * 100) : 0;
86
+ const notification = {
87
+ PipelineRunID: pipelineRunID,
88
+ Stage: stage,
89
+ TotalItems: totalItems,
90
+ ProcessedItems: processedItems,
91
+ CurrentItem: currentItem,
92
+ ElapsedMs: elapsedMs,
93
+ EstimatedRemainingMs: estimatedRemainingMs,
94
+ PercentComplete: percentComplete,
95
+ };
96
+ await pubSub.publish(PIPELINE_PROGRESS_TOPIC, notification);
97
+ LogStatus(`PipelineProgress: ${stage} ${processedItems}/${totalItems} (${percentComplete}%)`);
98
+ return true;
99
+ }
100
+ catch (error) {
101
+ LogError(`PipelineProgressResolver.PublishPipelineProgress failed: ${error}`);
102
+ return false;
103
+ }
104
+ }
105
+ };
106
+ __decorate([
107
+ Subscription(() => PipelineProgressNotification, {
108
+ topics: PIPELINE_PROGRESS_TOPIC,
109
+ filter: ({ payload, args }) => {
110
+ return payload.PipelineRunID === args.pipelineRunID;
111
+ },
112
+ }),
113
+ __param(0, Root()),
114
+ __param(1, Arg('pipelineRunID')),
115
+ __metadata("design:type", Function),
116
+ __metadata("design:paramtypes", [PipelineProgressNotification, String]),
117
+ __metadata("design:returntype", PipelineProgressNotification)
118
+ ], PipelineProgressResolver.prototype, "PipelineProgress", null);
119
+ __decorate([
120
+ Mutation(() => Boolean),
121
+ __param(0, Arg('pipelineRunID')),
122
+ __param(1, Arg('stage')),
123
+ __param(2, Arg('totalItems')),
124
+ __param(3, Arg('processedItems')),
125
+ __param(4, Arg('currentItem', { nullable: true })),
126
+ __param(5, Arg('elapsedMs', () => Float)),
127
+ __param(6, Arg('estimatedRemainingMs', () => Float, { nullable: true })),
128
+ __param(7, PubSub()),
129
+ __param(8, Ctx()),
130
+ __metadata("design:type", Function),
131
+ __metadata("design:paramtypes", [String, String, Number, Number, String, Number, Number, PubSubEngine, Object]),
132
+ __metadata("design:returntype", Promise)
133
+ ], PipelineProgressResolver.prototype, "PublishPipelineProgress", null);
134
+ PipelineProgressResolver = __decorate([
135
+ Resolver()
136
+ ], PipelineProgressResolver);
137
+ export { PipelineProgressResolver };
138
+ //# sourceMappingURL=PipelineProgressResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineProgressResolver.js","sourceRoot":"","sources":["../../src/resolvers/PipelineProgressResolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RunAIAgentResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/RunAIAgentResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunAIAgentResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/RunAIAgentResolver.ts"],"names":[],"mappings":"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"}
@@ -389,10 +389,10 @@ let RunAIAgentResolver = class RunAIAgentResolver extends ResolverBase {
389
389
  }
390
390
  // Validate agent
391
391
  const agentEntity = await this.validateAgent(agentId, currentUser);
392
- // @jordanfanapour IMPORTANT TO-DO for various engine classes (via base engine class) and here for AI Agent Runner and for AI Prompt Runner, need to be able to pass in a IMetadataProvider for it to use
393
- // for multi-user server environments like this one
394
- // Create AI agent runner
395
- const agentRunner = new AgentRunner();
392
+ // Create AI agent runner with the per-request isolated provider so all agent DB operations
393
+ // (AIAgentRun, AIAgentRunSteps, AIAgentRequests, AIPromptRuns) never share the global
394
+ // singleton's transaction state with concurrent requests (e.g. conversation deletes).
395
+ const agentRunner = new AgentRunner(p);
396
396
  // Track agent run for streaming (use ref to update later)
397
397
  const agentRunRef = { current: null };
398
398
  console.log(`🚀 Starting agent execution with sessionId: ${sessionId}`);
@@ -402,6 +402,7 @@ let RunAIAgentResolver = class RunAIAgentResolver extends ResolverBase {
402
402
  conversationMessages: parsedMessages,
403
403
  payload: payload ? SafeJSONParse(payload) : undefined,
404
404
  contextUser: currentUser,
405
+ sessionID: sessionId,
405
406
  onProgress: this.createProgressCallback(pubSub, sessionId, userPayload, agentRunRef),
406
407
  onStreaming: this.createStreamingCallback(pubSub, sessionId, userPayload, agentRunRef),
407
408
  lastRunId: lastRunId,
@@ -613,7 +614,8 @@ let RunAIAgentResolver = class RunAIAgentResolver extends ResolverBase {
613
614
  notificationId: result.inAppNotificationId,
614
615
  action: 'create',
615
616
  title: `${agentName} completed your request`,
616
- message: message
617
+ message: message,
618
+ conversationId: detail.ConversationID
617
619
  })
618
620
  });
619
621
  LogStatus(`📡 Published notification event to client`);