@memberjunction/server 2.14.0 → 2.16.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/config.d.ts.map +1 -1
- package/dist/config.js +6 -1
- package/dist/config.js.map +1 -1
- package/dist/generated/generated.d.ts +41 -0
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +267 -0
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +4 -0
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +35 -9
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/resolvers/AskSkipResolver.d.ts +5 -4
- package/dist/resolvers/AskSkipResolver.d.ts.map +1 -1
- package/dist/resolvers/AskSkipResolver.js +68 -10
- package/dist/resolvers/AskSkipResolver.js.map +1 -1
- package/dist/resolvers/InfoResolver.d.ts +9 -0
- package/dist/resolvers/InfoResolver.d.ts.map +1 -0
- package/dist/resolvers/InfoResolver.js +41 -0
- package/dist/resolvers/InfoResolver.js.map +1 -0
- package/package.json +24 -23
- package/src/config.ts +6 -1
- package/src/generated/generated.ts +167 -1
- package/src/generic/ResolverBase.ts +70 -33
- package/src/resolvers/AskSkipResolver.ts +85 -12
- package/src/resolvers/InfoResolver.ts +19 -0
|
@@ -5,7 +5,10 @@ import { DataSource } from 'typeorm';
|
|
|
5
5
|
import { RunViewGenericParams, UserPayload } from '../types.js';
|
|
6
6
|
import { RunDynamicViewInput, RunViewByIDInput, RunViewByNameInput } from './RunViewResolver.js';
|
|
7
7
|
import { DeleteOptionsInput } from './DeleteOptionsInput.js';
|
|
8
|
+
import { MJEvent } from '@memberjunction/global';
|
|
8
9
|
export declare class ResolverBase {
|
|
10
|
+
private _emit;
|
|
11
|
+
private _cloudeventsHeaders;
|
|
9
12
|
protected MapFieldNamesToCodeNames(entityName: string, dataObject: any): any;
|
|
10
13
|
protected ArrayMapFieldNamesToCodeNames(entityName: string, dataObjectArray: []): [];
|
|
11
14
|
protected findBy(dataSource: DataSource, entity: string, params: any): Promise<any>;
|
|
@@ -13,6 +16,7 @@ export declare class ResolverBase {
|
|
|
13
16
|
RunViewByIDGeneric(viewInput: RunViewByIDInput, dataSource: DataSource, userPayload: UserPayload, pubSub: PubSubEngine): Promise<RunViewResult<any>>;
|
|
14
17
|
RunDynamicViewGeneric(viewInput: RunDynamicViewInput, dataSource: DataSource, userPayload: UserPayload, pubSub: PubSubEngine): Promise<RunViewResult<any>>;
|
|
15
18
|
RunViewsGeneric(viewInputs: (RunViewByNameInput & RunViewByIDInput & RunDynamicViewInput)[], dataSource: DataSource, userPayload: UserPayload, pubSub: PubSubEngine): Promise<RunViewResult[]>;
|
|
19
|
+
protected EmitCloudEvent({ component, event, eventCode, args }: MJEvent): Promise<void>;
|
|
16
20
|
protected CheckUserReadPermissions(entityName: string, userPayload: UserPayload | null): void;
|
|
17
21
|
protected RunViewGenericInternal(viewInfo: UserViewEntity, dataSource: DataSource, extraFilter: string, orderBy: string, userSearchString: string, excludeUserViewRunID: string | undefined, overrideExcludeFilter: string | undefined, saveViewResults: boolean | undefined, fields: string[] | undefined, ignoreMaxRows: boolean | undefined, excludeDataFromAllPriorViewRuns: boolean | undefined, forceAuditLog: boolean | undefined, auditLogDescription: string | undefined, resultType: string | undefined, userPayload: UserPayload | null, pubSub: PubSubEngine): Promise<RunViewResult<any>>;
|
|
18
22
|
protected RunViewsGenericInternal(params: RunViewGenericParams[]): Promise<RunViewResult[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolverBase.d.ts","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ResolverBase.d.ts","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { CompositeKey, EntityFieldTSType, LogError, Metadata, RunView } from '@memberjunction/core';
|
|
1
|
+
import { BaseEntity, BaseEntityEvent, CompositeKey, EntityFieldTSType, LogError, Metadata, RunView, } from '@memberjunction/core';
|
|
2
2
|
import { UserCache } from '@memberjunction/sqlserver-dataprovider';
|
|
3
3
|
import { GraphQLError } from 'graphql';
|
|
4
|
-
import {
|
|
4
|
+
import { httpTransport, CloudEvent, emitterFor } from 'cloudevents';
|
|
5
|
+
import { MJEventType, MJGlobal } from '@memberjunction/global';
|
|
5
6
|
import { PUSH_STATUS_UPDATES_TOPIC } from './PushStatusResolver.js';
|
|
6
7
|
import { FieldMapper } from '@memberjunction/graphql-dataprovider';
|
|
7
8
|
export class ResolverBase {
|
|
9
|
+
_emit = process.env.CLOUDEVENTS_HTTP_TRANSPORT ? emitterFor(httpTransport(process.env.CLOUDEVENTS_HTTP_TRANSPORT)) : null;
|
|
10
|
+
_cloudeventsHeaders = process.env.CLOUDEVENTS_HTTP_HEADERS ? JSON.parse(process.env.CLOUDEVENTS_HTTP_HEADERS) : {};
|
|
8
11
|
MapFieldNamesToCodeNames(entityName, dataObject) {
|
|
9
12
|
if (dataObject) {
|
|
10
13
|
const md = new Metadata();
|
|
@@ -78,7 +81,7 @@ export class ResolverBase {
|
|
|
78
81
|
if (!entity)
|
|
79
82
|
throw new Error(`Entity ${viewInput.EntityName} not found in metadata`);
|
|
80
83
|
const viewInfo = {
|
|
81
|
-
ID:
|
|
84
|
+
ID: '',
|
|
82
85
|
Entity: viewInput.EntityName,
|
|
83
86
|
EntityID: entity.ID,
|
|
84
87
|
EntityBaseView: entity.BaseView,
|
|
@@ -109,14 +112,14 @@ export class ResolverBase {
|
|
|
109
112
|
throw new Error(`Entity ${viewInput.EntityName} not found in metadata`);
|
|
110
113
|
}
|
|
111
114
|
viewInfo = {
|
|
112
|
-
ID:
|
|
115
|
+
ID: '',
|
|
113
116
|
Entity: viewInput.EntityName,
|
|
114
117
|
EntityID: entity.ID,
|
|
115
118
|
EntityBaseView: entity.BaseView,
|
|
116
119
|
};
|
|
117
120
|
}
|
|
118
121
|
else {
|
|
119
|
-
throw new Error(
|
|
122
|
+
throw new Error('Unable to determine input type');
|
|
120
123
|
}
|
|
121
124
|
params.push({
|
|
122
125
|
viewInfo: viewInfo,
|
|
@@ -134,7 +137,7 @@ export class ResolverBase {
|
|
|
134
137
|
auditLogDescription: viewInput.AuditLogDescription,
|
|
135
138
|
resultType: viewInput.ResultType,
|
|
136
139
|
userPayload,
|
|
137
|
-
pubSub
|
|
140
|
+
pubSub,
|
|
138
141
|
});
|
|
139
142
|
}
|
|
140
143
|
catch (err) {
|
|
@@ -145,6 +148,26 @@ export class ResolverBase {
|
|
|
145
148
|
let results = await this.RunViewsGenericInternal(params);
|
|
146
149
|
return results;
|
|
147
150
|
}
|
|
151
|
+
async EmitCloudEvent({ component, event, eventCode, args }) {
|
|
152
|
+
if (this._emit && event === MJEventType.ComponentEvent && eventCode === BaseEntity.BaseEventCode) {
|
|
153
|
+
const extendedType = args instanceof BaseEntityEvent ? `.${args.type}` : '';
|
|
154
|
+
const type = `MemberJunction.${event}${extendedType}`;
|
|
155
|
+
const source = `${process.env.CLOUDEVENTS_SOURCE ?? 'MemberJunction'}`;
|
|
156
|
+
const [subject, rawData] = args instanceof BaseEntityEvent ? [args.baseEntity.EntityInfo.CodeName, args.payload] : [undefined, args];
|
|
157
|
+
const data = (typeof rawData === 'object' ? rawData : { payload: rawData }) ?? {};
|
|
158
|
+
const cloudEvent = new CloudEvent({ source, subject, type, data });
|
|
159
|
+
try {
|
|
160
|
+
const cloudeventTransportResponse = await this._emit(cloudEvent, { headers: this._cloudeventsHeaders });
|
|
161
|
+
const cloudeventResponse = JSON.stringify(cloudeventTransportResponse);
|
|
162
|
+
if (/error/i.test(cloudeventResponse)) {
|
|
163
|
+
console.error('CloudEvent ERROR', cloudeventResponse);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch (e) {
|
|
167
|
+
console.error('CloudEvent ERROR', JSON.stringify(e));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
148
171
|
CheckUserReadPermissions(entityName, userPayload) {
|
|
149
172
|
const md = new Metadata();
|
|
150
173
|
const entityInfo = md.Entities.find((e) => e.Name === entityName);
|
|
@@ -325,8 +348,9 @@ export class ResolverBase {
|
|
|
325
348
|
auditLog.NewRecord();
|
|
326
349
|
auditLog.UserID = userInfo.ID;
|
|
327
350
|
auditLog.AuditLogTypeID = auditLogType.ID;
|
|
328
|
-
if (authorization)
|
|
351
|
+
if (authorization) {
|
|
329
352
|
auditLog.AuthorizationID = authorization.ID;
|
|
353
|
+
}
|
|
330
354
|
if (status?.trim().toLowerCase() === 'success')
|
|
331
355
|
auditLog.Status = 'Success';
|
|
332
356
|
else
|
|
@@ -369,8 +393,9 @@ export class ResolverBase {
|
|
|
369
393
|
return Metadata.Provider.ConfigData.MJCoreSchemaName;
|
|
370
394
|
}
|
|
371
395
|
ListenForEntityMessages(entityObject, pubSub, userPayload) {
|
|
372
|
-
MJGlobal.Instance.GetEventListener(false).subscribe((event) => {
|
|
396
|
+
MJGlobal.Instance.GetEventListener(false).subscribe(async (event) => {
|
|
373
397
|
if (event) {
|
|
398
|
+
await this.EmitCloudEvent(event);
|
|
374
399
|
if (event.component === entityObject && event.args && event.args.message) {
|
|
375
400
|
pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {
|
|
376
401
|
message: JSON.stringify({
|
|
@@ -414,8 +439,9 @@ export class ResolverBase {
|
|
|
414
439
|
const entityInfo = entityObject.EntityInfo;
|
|
415
440
|
const clientNewValues = {};
|
|
416
441
|
Object.keys(input).forEach((key) => {
|
|
417
|
-
if (key !== 'OldValues___')
|
|
442
|
+
if (key !== 'OldValues___') {
|
|
418
443
|
clientNewValues[key] = input[key];
|
|
444
|
+
}
|
|
419
445
|
});
|
|
420
446
|
if (entityInfo.TrackRecordChanges || !input.OldValues___) {
|
|
421
447
|
const cKey = new CompositeKey(entityInfo.PrimaryKeys.map((pk) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolverBase.js","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResolverBase.js","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { PubSubEngine } from 'type-graphql';
|
|
|
2
2
|
import { Metadata, UserInfo } from '@memberjunction/core';
|
|
3
3
|
import { AppContext, UserPayload } from '../types.js';
|
|
4
4
|
import { DataContext } from '@memberjunction/data-context';
|
|
5
|
-
import { SkipAPIRequest, SkipAPIResponse, SkipMessage, SkipAPIAnalysisCompleteResponse, SkipAPIDataRequestResponse, SkipAPIClarifyingQuestionResponse, SkipEntityInfo, SkipQueryInfo, SkipAPIRequestAPIKey, SkipRequestPhase } from '@memberjunction/skip-types';
|
|
5
|
+
import { SkipAPIRequest, SkipAPIResponse, SkipMessage, SkipAPIAnalysisCompleteResponse, SkipAPIDataRequestResponse, SkipAPIClarifyingQuestionResponse, SkipEntityInfo, SkipQueryInfo, SkipAPIRequestAPIKey, SkipRequestPhase, SkipAPIAgentNote } from '@memberjunction/skip-types';
|
|
6
6
|
import { ConversationDetailEntity, ConversationEntity, DataContextEntity } from '@memberjunction/core-entities';
|
|
7
7
|
import { DataSource } from 'typeorm';
|
|
8
8
|
import { CompositeKeyInputType } from '../generic/KeyInputOutputTypes.js';
|
|
@@ -26,11 +26,12 @@ export declare class AskSkipResolver {
|
|
|
26
26
|
ExecuteAskSkipRecordChat(UserQuestion: string, ConversationId: string, EntityName: string, compositeKey: CompositeKeyInputType, { dataSource, userPayload }: AppContext, pubSub: PubSubEngine): Promise<AskSkipResultType>;
|
|
27
27
|
protected handleSimpleSkipPostRequest(input: SkipAPIRequest, conversationID?: string, UserMessageConversationDetailId?: string, createAIMessageConversationDetail?: boolean, user?: UserInfo): Promise<AskSkipResultType>;
|
|
28
28
|
protected CreateAIMessageConversationDetail(apiResponse: SkipAPIResponse, conversationID: string, user: UserInfo): Promise<string>;
|
|
29
|
-
protected buildSkipAPIRequest(messages: SkipMessage[], conversationId: string, dataContext: DataContext, requestPhase: SkipRequestPhase, includeEntities: boolean, includeQueries: boolean): SkipAPIRequest
|
|
29
|
+
protected buildSkipAPIRequest(messages: SkipMessage[], conversationId: string, dataContext: DataContext, requestPhase: SkipRequestPhase, includeEntities: boolean, includeQueries: boolean, includeNotes: boolean, contextUser: UserInfo): Promise<SkipAPIRequest>;
|
|
30
30
|
ExecuteAskSkipRunScript({ dataSource, userPayload }: AppContext, pubSub: PubSubEngine, DataContextId: string, ScriptText: string): Promise<AskSkipResultType>;
|
|
31
31
|
protected buildSkipAPIKeys(): SkipAPIRequestAPIKey[];
|
|
32
32
|
ExecuteAskSkipAnalysisQuery(UserQuestion: string, ConversationId: string, { dataSource, userPayload }: AppContext, pubSub: PubSubEngine, DataContextId?: string): Promise<AskSkipResultType>;
|
|
33
33
|
protected BuildSkipQueries(): SkipQueryInfo[];
|
|
34
|
+
protected BuildSkipAgentNotes(contextUser: UserInfo): Promise<SkipAPIAgentNote[]>;
|
|
34
35
|
protected BuildSkipEntities(): SkipEntityInfo[];
|
|
35
36
|
protected HandleSkipInitialObjectLoading(dataSource: DataSource, ConversationId: string, UserQuestion: string, user: UserInfo, userPayload: UserPayload, md: Metadata, DataContextId: string): Promise<{
|
|
36
37
|
convoEntity: ConversationEntity;
|
|
@@ -40,11 +41,11 @@ export declare class AskSkipResolver {
|
|
|
40
41
|
}>;
|
|
41
42
|
protected LoadConversationDetailsIntoSkipMessages(dataSource: DataSource, ConversationId: string, maxHistoricalMessages?: number): Promise<SkipMessage[]>;
|
|
42
43
|
protected MapDBRoleToSkipRole(role: string): 'user' | 'system';
|
|
43
|
-
protected HandleSkipRequest(input: SkipAPIRequest, UserQuestion: string, user: UserInfo, dataSource: DataSource, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, md: Metadata, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity): Promise<AskSkipResultType>;
|
|
44
|
+
protected HandleSkipRequest(input: SkipAPIRequest, UserQuestion: string, user: UserInfo, dataSource: DataSource, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, md: Metadata, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity, conversationDetailCount: number): Promise<AskSkipResultType>;
|
|
44
45
|
protected PublishApiResponseUserUpdateMessage(apiResponse: SkipAPIResponse, userPayload: UserPayload, conversationID: string, pubSub: PubSubEngine): Promise<void>;
|
|
45
46
|
protected HandleAnalysisComplete(apiRequest: SkipAPIRequest, apiResponse: SkipAPIAnalysisCompleteResponse, UserQuestion: string, user: UserInfo, dataSource: DataSource, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity): Promise<AskSkipResultType>;
|
|
46
47
|
protected HandleClarifyingQuestionPhase(apiRequest: SkipAPIRequest, apiResponse: SkipAPIClarifyingQuestionResponse, UserQuestion: string, user: UserInfo, dataSource: DataSource, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity): Promise<AskSkipResultType>;
|
|
47
|
-
protected HandleDataRequestPhase(apiRequest: SkipAPIRequest, apiResponse: SkipAPIDataRequestResponse, UserQuestion: string, user: UserInfo, dataSource: DataSource, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity): Promise<AskSkipResultType>;
|
|
48
|
+
protected HandleDataRequestPhase(apiRequest: SkipAPIRequest, apiResponse: SkipAPIDataRequestResponse, UserQuestion: string, user: UserInfo, dataSource: DataSource, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity, conversationDetailCount: number): Promise<AskSkipResultType>;
|
|
48
49
|
protected FinishConversationAndNotifyUser(apiResponse: SkipAPIAnalysisCompleteResponse, dataContext: DataContext, dataContextEntity: DataContextEntity, md: Metadata, user: UserInfo, convoEntity: ConversationEntity, pubSub: PubSubEngine, userPayload: UserPayload): Promise<{
|
|
49
50
|
AIMessageConversationDetailID: string;
|
|
50
51
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AskSkipResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,YAAY,EAAmB,MAAM,cAAc,CAAC;AACvG,OAAO,EAAuB,QAAQ,EAAyB,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAI3D,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,+BAA+B,EAC/B,0BAA0B,EAC1B,iCAAiC,EACjC,cAAc,EACd,aAAa,EAEb,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EAGlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,aAAK,iBAAiB;IACpB,kBAAkB,wBAAwB;IAC1C,WAAW,iBAAiB;IAC5B,gBAAgB,sBAAsB;CACvC;AAOD,qBACa,iBAAiB;IAE5B,OAAO,EAAE,OAAO,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;IAGf,aAAa,EAAE,iBAAiB,CAAC;IAGjC,MAAM,EAAE,MAAM,CAAC;IAGf,cAAc,EAAE,MAAM,CAAC;IAGvB,+BAA+B,EAAE,MAAM,CAAC;IAGxC,6BAA6B,EAAE,MAAM,CAAC;CACvC;AAED,qBACa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAc;IAChD,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAM;IASrC,wBAAwB,CACO,YAAY,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EAC1B,UAAU,EAAE,MAAM,EACD,YAAY,EAAE,qBAAqB,EAC9E,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,UAAU,EACpC,MAAM,EAAE,YAAY;cAkEhB,2BAA2B,CACzC,KAAK,EAAE,cAAc,EACrB,cAAc,GAAE,MAAW,EAC3B,+BAA+B,GAAE,MAAW,EAC5C,iCAAiC,GAAE,OAAe,EAClD,IAAI,GAAE,QAAe,GACpB,OAAO,CAAC,iBAAiB,CAAC;cAmCb,iCAAiC,CAAC,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"AskSkipResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,YAAY,EAAmB,MAAM,cAAc,CAAC;AACvG,OAAO,EAAuB,QAAQ,EAAyB,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAI3D,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,+BAA+B,EAC/B,0BAA0B,EAC1B,iCAAiC,EACjC,cAAc,EACd,aAAa,EAEb,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EAGlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,aAAK,iBAAiB;IACpB,kBAAkB,wBAAwB;IAC1C,WAAW,iBAAiB;IAC5B,gBAAgB,sBAAsB;CACvC;AAOD,qBACa,iBAAiB;IAE5B,OAAO,EAAE,OAAO,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;IAGf,aAAa,EAAE,iBAAiB,CAAC;IAGjC,MAAM,EAAE,MAAM,CAAC;IAGf,cAAc,EAAE,MAAM,CAAC;IAGvB,+BAA+B,EAAE,MAAM,CAAC;IAGxC,6BAA6B,EAAE,MAAM,CAAC;CACvC;AAED,qBACa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAc;IAChD,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAM;IASrC,wBAAwB,CACO,YAAY,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EAC1B,UAAU,EAAE,MAAM,EACD,YAAY,EAAE,qBAAqB,EAC9E,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,UAAU,EACpC,MAAM,EAAE,YAAY;cAkEhB,2BAA2B,CACzC,KAAK,EAAE,cAAc,EACrB,cAAc,GAAE,MAAW,EAC3B,+BAA+B,GAAE,MAAW,EAC5C,iCAAiC,GAAE,OAAe,EAClD,IAAI,GAAE,QAAe,GACpB,OAAO,CAAC,iBAAiB,CAAC;cAmCb,iCAAiC,CAAC,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;cAsBxH,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,gBAAgB,EAC9B,eAAe,EAAE,OAAO,EACxB,cAAc,EAAE,OAAO,EACvB,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,QAAQ,GACpB,OAAO,CAAC,cAAc,CAAC;IA0BpB,uBAAuB,CACpB,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,UAAU,EACpC,MAAM,EAAE,YAAY,EACM,aAAa,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM;IAUrD,SAAS,CAAC,gBAAgB,IAAI,oBAAoB,EAAE;IA0B9C,2BAA2B,CACI,YAAY,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACpD,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,UAAU,EACpC,MAAM,EAAE,YAAY,EAC0B,aAAa,CAAC,EAAE,MAAM;IA2ChF,SAAS,CAAC,gBAAgB,IAAI,aAAa,EAAE;cA2C7B,mBAAmB,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAmCvF,SAAS,CAAC,iBAAiB,IAAI,cAAc,EAAE;cAoE/B,8BAA8B,CAC5C,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,QAAQ,EACZ,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;QACT,WAAW,EAAE,kBAAkB,CAAC;QAChC,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,iBAAiB,EAAE,wBAAwB,CAAC;QAC5C,WAAW,EAAE,WAAW,CAAC;KAC1B,CAAC;cAiHc,uCAAuC,CACrD,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,WAAW,EAAE,CAAC;IAgFzB,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ;cAW9C,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,kBAAkB,EAC/B,iBAAiB,EAAE,wBAAwB,EAC3C,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAAC,iBAAiB,CAAC;cA4Ib,mCAAmC,CACjD,WAAW,EAAE,eAAe,EAC5B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,YAAY;cA4BN,sBAAsB,CACpC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,+BAA+B,EAC5C,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,kBAAkB,EAC/B,iBAAiB,EAAE,wBAAwB,EAC3C,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,iBAAiB,CAAC;cA0Bb,6BAA6B,CAC3C,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,iCAAiC,EAC9C,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,kBAAkB,EAC/B,iBAAiB,EAAE,wBAAwB,GAC1C,OAAO,CAAC,iBAAiB,CAAC;cAqCb,sBAAsB,CACpC,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,0BAA0B,EACvC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,kBAAkB,EAC/B,iBAAiB,EAAE,wBAAwB,EAC3C,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAAC,iBAAiB,CAAC;cAkJb,+BAA+B,CAC7C,WAAW,EAAE,+BAA+B,EAC5C,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC;QAAE,6BAA6B,EAAE,MAAM,CAAA;KAAE,CAAC;cAmErC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;CAM1E;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -78,7 +78,7 @@ export { AskSkipResultType };
|
|
|
78
78
|
let AskSkipResolver = class AskSkipResolver {
|
|
79
79
|
static { AskSkipResolver_1 = this; }
|
|
80
80
|
static _defaultNewChatName = 'New Chat';
|
|
81
|
-
static _maxHistoricalMessages =
|
|
81
|
+
static _maxHistoricalMessages = 30;
|
|
82
82
|
async ExecuteAskSkipRecordChat(UserQuestion, ConversationId, EntityName, compositeKey, { dataSource, userPayload }, pubSub) {
|
|
83
83
|
const user = UserCache.Instance.Users.find((u) => u.Email.trim().toLowerCase() === userPayload.email.trim().toLowerCase());
|
|
84
84
|
if (!user)
|
|
@@ -111,7 +111,7 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
111
111
|
LogError(`Error saving ConversationEntity for record chat: ${EntityName} ${ck.Values()}`, undefined, convoEntity.LatestResult);
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
const input = this.buildSkipAPIRequest(messages, ConversationId, dataContext, 'chat_with_a_record', false, false);
|
|
114
|
+
const input = await this.buildSkipAPIRequest(messages, ConversationId, dataContext, 'chat_with_a_record', false, false, false, user);
|
|
115
115
|
messages.push({
|
|
116
116
|
content: UserQuestion,
|
|
117
117
|
role: 'user',
|
|
@@ -168,9 +168,10 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
168
168
|
return '';
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
|
-
buildSkipAPIRequest(messages, conversationId, dataContext, requestPhase, includeEntities, includeQueries) {
|
|
171
|
+
async buildSkipAPIRequest(messages, conversationId, dataContext, requestPhase, includeEntities, includeQueries, includeNotes, contextUser) {
|
|
172
172
|
const entities = includeEntities ? this.BuildSkipEntities() : [];
|
|
173
173
|
const queries = includeQueries ? this.BuildSkipQueries() : [];
|
|
174
|
+
const notes = includeNotes ? await this.BuildSkipAgentNotes(contextUser) : [];
|
|
174
175
|
const input = {
|
|
175
176
|
apiKeys: this.buildSkipAPIKeys(),
|
|
176
177
|
organizationInfo: configInfo?.askSkip?.organizationInfo,
|
|
@@ -181,6 +182,7 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
181
182
|
requestPhase: requestPhase,
|
|
182
183
|
entities: entities,
|
|
183
184
|
queries: queries,
|
|
185
|
+
notes: notes
|
|
184
186
|
};
|
|
185
187
|
return input;
|
|
186
188
|
}
|
|
@@ -190,7 +192,7 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
190
192
|
throw new Error(`User ${userPayload.email} not found in UserCache`);
|
|
191
193
|
const dataContext = new DataContext();
|
|
192
194
|
await dataContext.Load(DataContextId, dataSource, true, false, 0, user);
|
|
193
|
-
const input = this.buildSkipAPIRequest([], '', dataContext, 'run_existing_script', false, false);
|
|
195
|
+
const input = await this.buildSkipAPIRequest([], '', dataContext, 'run_existing_script', false, false, false, user);
|
|
194
196
|
return this.handleSimpleSkipPostRequest(input);
|
|
195
197
|
}
|
|
196
198
|
buildSkipAPIKeys() {
|
|
@@ -224,8 +226,9 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
224
226
|
throw new Error(`User ${userPayload.email} not found in UserCache`);
|
|
225
227
|
const { convoEntity, dataContextEntity, convoDetailEntity, dataContext } = await this.HandleSkipInitialObjectLoading(dataSource, ConversationId, UserQuestion, user, userPayload, md, DataContextId);
|
|
226
228
|
const messages = await this.LoadConversationDetailsIntoSkipMessages(dataSource, convoEntity.ID, AskSkipResolver_1._maxHistoricalMessages);
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
+
const conversationDetailCount = 1;
|
|
230
|
+
const input = await this.buildSkipAPIRequest(messages, ConversationId, dataContext, 'initial_request', true, true, true, user);
|
|
231
|
+
return this.HandleSkipRequest(input, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, md, convoEntity, convoDetailEntity, dataContext, dataContextEntity, conversationDetailCount);
|
|
229
232
|
}
|
|
230
233
|
BuildSkipQueries() {
|
|
231
234
|
const md = new Metadata();
|
|
@@ -266,6 +269,40 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
266
269
|
};
|
|
267
270
|
});
|
|
268
271
|
}
|
|
272
|
+
async BuildSkipAgentNotes(contextUser) {
|
|
273
|
+
try {
|
|
274
|
+
const md = new Metadata();
|
|
275
|
+
if (md.EntityByName('AI Agent Notes')) {
|
|
276
|
+
const rv = new RunView();
|
|
277
|
+
const result = await rv.RunView({
|
|
278
|
+
EntityName: "AI Agent Notes",
|
|
279
|
+
ExtraFilter: "Agent='Skip'"
|
|
280
|
+
}, contextUser);
|
|
281
|
+
if (result && result.Success) {
|
|
282
|
+
return result.Results.map((r) => {
|
|
283
|
+
return {
|
|
284
|
+
id: r.ID,
|
|
285
|
+
typeId: r.TypeID,
|
|
286
|
+
type: r.Type,
|
|
287
|
+
note: r.Note,
|
|
288
|
+
createdAt: r.__mj_CreatedAt,
|
|
289
|
+
updatedAt: r.__mj_UpdatedAt,
|
|
290
|
+
};
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
else
|
|
294
|
+
return [];
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
console.warn(`No AI Agent Notes entity found in the metadata, so no notes will be sent to Skip`);
|
|
298
|
+
return [];
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
catch (e) {
|
|
302
|
+
LogError(e);
|
|
303
|
+
return [];
|
|
304
|
+
}
|
|
305
|
+
}
|
|
269
306
|
BuildSkipEntities() {
|
|
270
307
|
const includedEntities = (configInfo.askSkip?.entitiesToSendSkip?.includeEntitiesFromExcludedSchemas ?? []).map((e) => e.trim().toLowerCase());
|
|
271
308
|
const md = new Metadata();
|
|
@@ -503,8 +540,28 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
503
540
|
return 'user';
|
|
504
541
|
}
|
|
505
542
|
}
|
|
506
|
-
async HandleSkipRequest(input, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, md, convoEntity, convoDetailEntity, dataContext, dataContextEntity) {
|
|
543
|
+
async HandleSkipRequest(input, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, md, convoEntity, convoDetailEntity, dataContext, dataContextEntity, conversationDetailCount) {
|
|
507
544
|
LogStatus(` >>> HandleSkipRequest: Sending request to Skip API: ${___skipAPIurl}`);
|
|
545
|
+
if (conversationDetailCount > 10) {
|
|
546
|
+
pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {
|
|
547
|
+
message: JSON.stringify({
|
|
548
|
+
type: 'AskSkip',
|
|
549
|
+
status: 'Error',
|
|
550
|
+
conversationID: ConversationId,
|
|
551
|
+
message: 'Analysis failed to run, please try again later and if this continues, contact your support desk.',
|
|
552
|
+
}),
|
|
553
|
+
sessionId: userPayload.sessionId,
|
|
554
|
+
});
|
|
555
|
+
return {
|
|
556
|
+
Success: false,
|
|
557
|
+
Status: 'Error',
|
|
558
|
+
Result: `Exceeded maximum attempts to answer the question ${UserQuestion}`,
|
|
559
|
+
ResponsePhase: SkipResponsePhase.AnalysisComplete,
|
|
560
|
+
ConversationId: ConversationId,
|
|
561
|
+
UserMessageConversationDetailId: '',
|
|
562
|
+
AIMessageConversationDetailId: '',
|
|
563
|
+
};
|
|
564
|
+
}
|
|
508
565
|
const response = await sendPostRequest(___skipAPIurl, input, true, null, (message) => {
|
|
509
566
|
LogStatus(JSON.stringify(message, null, 4));
|
|
510
567
|
if (message.type === 'status_update') {
|
|
@@ -525,7 +582,7 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
525
582
|
LogStatus(` Skip API response: ${apiResponse.responsePhase}`);
|
|
526
583
|
this.PublishApiResponseUserUpdateMessage(apiResponse, userPayload, ConversationId, pubSub);
|
|
527
584
|
if (apiResponse.responsePhase === 'data_request') {
|
|
528
|
-
return await this.HandleDataRequestPhase(input, apiResponse, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, convoEntity, convoDetailEntity, dataContext, dataContextEntity);
|
|
585
|
+
return await this.HandleDataRequestPhase(input, apiResponse, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, convoEntity, convoDetailEntity, dataContext, dataContextEntity, conversationDetailCount);
|
|
529
586
|
}
|
|
530
587
|
else if (apiResponse.responsePhase === 'clarifying_question') {
|
|
531
588
|
return await this.HandleClarifyingQuestionPhase(input, apiResponse, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, convoEntity, convoDetailEntity);
|
|
@@ -626,7 +683,7 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
626
683
|
};
|
|
627
684
|
}
|
|
628
685
|
}
|
|
629
|
-
async HandleDataRequestPhase(apiRequest, apiResponse, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, convoEntity, convoDetailEntity, dataContext, dataContextEntity) {
|
|
686
|
+
async HandleDataRequestPhase(apiRequest, apiResponse, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, convoEntity, convoDetailEntity, dataContext, dataContextEntity, conversationDetailCount) {
|
|
630
687
|
try {
|
|
631
688
|
if (!apiResponse.success) {
|
|
632
689
|
LogError(`Data request/gathering from Skip API failed: ${apiResponse.error}`);
|
|
@@ -731,7 +788,8 @@ let AskSkipResolver = class AskSkipResolver {
|
|
|
731
788
|
apiRequest.dataContext = CopyScalarsAndArrays(dataContext);
|
|
732
789
|
apiRequest.requestPhase = 'data_gathering_response';
|
|
733
790
|
}
|
|
734
|
-
|
|
791
|
+
conversationDetailCount++;
|
|
792
|
+
return this.HandleSkipRequest(apiRequest, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, md, convoEntity, convoDetailEntity, dataContext, dataContextEntity, conversationDetailCount);
|
|
735
793
|
}
|
|
736
794
|
catch (e) {
|
|
737
795
|
LogError(e);
|