@memberjunction/server 1.3.3 → 1.4.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/src/index.ts CHANGED
@@ -34,6 +34,7 @@ export * from './directives';
34
34
  export * from './entitySubclasses/userViewEntity.server';
35
35
  export * from './entitySubclasses/entityPermissions.server';
36
36
  export * from './entitySubclasses/DuplicateRunEntity.server';
37
+ export * from './entitySubclasses/EntityBehavior.server';
37
38
  export * from './types';
38
39
  export { TokenExpiredError } from './auth';
39
40
 
@@ -120,7 +120,7 @@ export class AskSkipResolver {
120
120
  }
121
121
 
122
122
  protected async handleSimpleSkipPostRequest(input: SkipAPIRequest, conversationID: number = 0, UserMessageConversationDetailId: number = 0, createAIMessageConversationDetail: boolean = false, user: UserInfo = null): Promise<AskSkipResultType> {
123
- LogStatus(` >>> Sending request to Skip API: ${___skipAPIurl}`)
123
+ LogStatus(` >>> HandleSimpleSkipPostRequest Sending request to Skip API: ${___skipAPIurl}`);
124
124
 
125
125
  const response = await sendPostRequest(___skipAPIurl, input, true, null);
126
126
 
@@ -222,7 +222,11 @@ export class AskSkipResolver {
222
222
  {
223
223
  vendorDriverName: 'GroqLLM',
224
224
  apiKey: GetAIAPIKey('GroqLLM')
225
- }
225
+ },
226
+ {
227
+ vendorDriverName: 'MistralLLM',
228
+ apiKey: GetAIAPIKey('MistralLLM')
229
+ },
226
230
  ];
227
231
  }
228
232
 
@@ -527,18 +531,34 @@ export class AskSkipResolver {
527
531
  ConversationId: number, userPayload: UserPayload, pubSub: PubSubEngine, md: Metadata,
528
532
  convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity,
529
533
  dataContext: DataContext, dataContextEntity: DataContextEntity): Promise<AskSkipResultType> {
530
- LogStatus(` >>> Sending request to Skip API: ${___skipAPIurl}`)
534
+ LogStatus(` >>> HandleSkipRequest: Sending request to Skip API: ${___skipAPIurl}`);
531
535
 
532
- const response = await sendPostRequest(___skipAPIurl, input, true, null, (message) => {
533
- if (message.type==='status_update')
536
+ const response = await sendPostRequest(___skipAPIurl, input, true, null, (message:
537
+ {
538
+ type: string,
539
+ value: {
540
+ success: boolean,
541
+ error: string,
542
+ responsePhase: string,
543
+ messages: {
544
+ role: string,
545
+ content: string
546
+ }[]
547
+ }
548
+ }) => {
549
+ LogStatus(JSON.stringify(message, null, 4));
550
+ if (message.type ==='status_update'){
534
551
  pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {
535
552
  message: JSON.stringify({
536
553
  type: 'AskSkip',
537
554
  status: 'OK',
555
+ conversationID: ConversationId,
556
+ ResponsePhase: message.value.responsePhase,
538
557
  message: message.value.messages[0].content
539
558
  }),
540
- sessionId: userPayload.sessionId,
559
+ sessionId: userPayload.sessionId
541
560
  });
561
+ }
542
562
  });
543
563
 
544
564
  if (response && response.length > 0) { // response.status === 200) {
@@ -546,7 +566,7 @@ export class AskSkipResolver {
546
566
  const apiResponse = <SkipAPIResponse>response[response.length - 1].value;
547
567
  //const apiResponse = <SkipAPIResponse>response.data;
548
568
  LogStatus(` Skip API response: ${apiResponse.responsePhase}`)
549
- this.PublishApiResponseUserUpdateMessage(apiResponse, userPayload, pubSub);
569
+ this.PublishApiResponseUserUpdateMessage(apiResponse, userPayload, ConversationId, pubSub);
550
570
 
551
571
  // now, based on the result type, we will either wait for the next phase or we will process the results
552
572
  if (apiResponse.responsePhase === 'data_request') {
@@ -569,9 +589,10 @@ export class AskSkipResolver {
569
589
  message: JSON.stringify({
570
590
  type: 'AskSkip',
571
591
  status: 'Error',
592
+ conversationID: ConversationId,
572
593
  message: 'Analysis failed to run, please try again later and if this continues, contact your support desk.',
573
594
  }),
574
- sessionId: userPayload.sessionId,
595
+ sessionId: userPayload.sessionId
575
596
  });
576
597
 
577
598
  return {
@@ -586,7 +607,7 @@ export class AskSkipResolver {
586
607
  }
587
608
  }
588
609
 
589
- protected async PublishApiResponseUserUpdateMessage(apiResponse: SkipAPIResponse, userPayload: UserPayload, pubSub: PubSubEngine) {
610
+ protected async PublishApiResponseUserUpdateMessage(apiResponse: SkipAPIResponse, userPayload: UserPayload, conversationID: number, pubSub: PubSubEngine) {
590
611
  let sUserMessage: string = '';
591
612
  switch (apiResponse.responsePhase) {
592
613
  case 'data_request':
@@ -606,9 +627,10 @@ export class AskSkipResolver {
606
627
  message: JSON.stringify({
607
628
  type: 'AskSkip',
608
629
  status: 'OK',
630
+ conversationID,
609
631
  message: sUserMessage,
610
632
  }),
611
- sessionId: userPayload.sessionId,
633
+ sessionId: userPayload.sessionId
612
634
  });
613
635
  }
614
636
 
@@ -837,10 +859,11 @@ export class AskSkipResolver {
837
859
  message: JSON.stringify({
838
860
  type: 'UserNotifications',
839
861
  status: 'OK',
862
+ conversationID: convoEntity.ID,
840
863
  details: {
841
864
  action: 'create',
842
865
  recordId: userNotification.ID,
843
- },
866
+ }
844
867
  }),
845
868
  sessionId: userPayload.sessionId,
846
869
  });