@memberjunction/server 3.2.0 → 3.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.
Files changed (127) hide show
  1. package/README.md +106 -1
  2. package/dist/auth/APIKeyScopeAuth.d.ts +51 -0
  3. package/dist/auth/APIKeyScopeAuth.d.ts.map +1 -0
  4. package/dist/auth/APIKeyScopeAuth.js +163 -0
  5. package/dist/auth/APIKeyScopeAuth.js.map +1 -0
  6. package/dist/auth/BaseAuthProvider.d.ts +1 -0
  7. package/dist/auth/BaseAuthProvider.d.ts.map +1 -1
  8. package/dist/auth/BaseAuthProvider.js +2 -0
  9. package/dist/auth/BaseAuthProvider.js.map +1 -1
  10. package/dist/auth/IAuthProvider.d.ts +1 -0
  11. package/dist/auth/IAuthProvider.d.ts.map +1 -1
  12. package/dist/auth/index.d.ts +1 -0
  13. package/dist/auth/index.d.ts.map +1 -1
  14. package/dist/auth/index.js +1 -0
  15. package/dist/auth/index.js.map +1 -1
  16. package/dist/config.js +2 -2
  17. package/dist/config.js.map +1 -1
  18. package/dist/context.d.ts +8 -1
  19. package/dist/context.d.ts.map +1 -1
  20. package/dist/context.js +44 -7
  21. package/dist/context.js.map +1 -1
  22. package/dist/generated/generated.d.ts +681 -2
  23. package/dist/generated/generated.d.ts.map +1 -1
  24. package/dist/generated/generated.js +10627 -6409
  25. package/dist/generated/generated.js.map +1 -1
  26. package/dist/generic/ResolverBase.d.ts +3 -2
  27. package/dist/generic/ResolverBase.d.ts.map +1 -1
  28. package/dist/generic/ResolverBase.js +52 -4
  29. package/dist/generic/ResolverBase.js.map +1 -1
  30. package/dist/generic/RunViewResolver.d.ts +29 -1
  31. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  32. package/dist/generic/RunViewResolver.js +143 -0
  33. package/dist/generic/RunViewResolver.js.map +1 -1
  34. package/dist/index.d.ts +4 -2
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +4 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/resolvers/APIKeyResolver.d.ts +24 -0
  39. package/dist/resolvers/APIKeyResolver.d.ts.map +1 -0
  40. package/dist/resolvers/APIKeyResolver.js +194 -0
  41. package/dist/resolvers/APIKeyResolver.js.map +1 -0
  42. package/dist/resolvers/ActionResolver.d.ts +2 -1
  43. package/dist/resolvers/ActionResolver.d.ts.map +1 -1
  44. package/dist/resolvers/ActionResolver.js +4 -1
  45. package/dist/resolvers/ActionResolver.js.map +1 -1
  46. package/dist/resolvers/DatasetResolver.d.ts +5 -4
  47. package/dist/resolvers/DatasetResolver.d.ts.map +1 -1
  48. package/dist/resolvers/DatasetResolver.js +7 -4
  49. package/dist/resolvers/DatasetResolver.js.map +1 -1
  50. package/dist/resolvers/EntityCommunicationsResolver.d.ts +2 -1
  51. package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +1 -1
  52. package/dist/resolvers/EntityCommunicationsResolver.js +3 -1
  53. package/dist/resolvers/EntityCommunicationsResolver.js.map +1 -1
  54. package/dist/resolvers/GetDataContextDataResolver.d.ts +2 -1
  55. package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
  56. package/dist/resolvers/GetDataContextDataResolver.js +10 -3
  57. package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
  58. package/dist/resolvers/MCPResolver.d.ts +37 -0
  59. package/dist/resolvers/MCPResolver.d.ts.map +1 -0
  60. package/dist/resolvers/MCPResolver.js +363 -0
  61. package/dist/resolvers/MCPResolver.js.map +1 -0
  62. package/dist/resolvers/MergeRecordsResolver.d.ts +2 -1
  63. package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
  64. package/dist/resolvers/MergeRecordsResolver.js +3 -1
  65. package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
  66. package/dist/resolvers/QueryResolver.d.ts +2 -1
  67. package/dist/resolvers/QueryResolver.d.ts.map +1 -1
  68. package/dist/resolvers/QueryResolver.js +6 -1
  69. package/dist/resolvers/QueryResolver.js.map +1 -1
  70. package/dist/resolvers/ReportResolver.d.ts +2 -1
  71. package/dist/resolvers/ReportResolver.d.ts.map +1 -1
  72. package/dist/resolvers/ReportResolver.js +4 -1
  73. package/dist/resolvers/ReportResolver.js.map +1 -1
  74. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  75. package/dist/resolvers/RunAIAgentResolver.js +3 -1
  76. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  77. package/dist/resolvers/RunAIPromptResolver.d.ts.map +1 -1
  78. package/dist/resolvers/RunAIPromptResolver.js +3 -0
  79. package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
  80. package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
  81. package/dist/resolvers/RunTemplateResolver.js +1 -0
  82. package/dist/resolvers/RunTemplateResolver.js.map +1 -1
  83. package/dist/resolvers/TaskResolver.d.ts.map +1 -1
  84. package/dist/resolvers/TaskResolver.js +1 -0
  85. package/dist/resolvers/TaskResolver.js.map +1 -1
  86. package/dist/resolvers/UserResolver.d.ts.map +1 -1
  87. package/dist/resolvers/UserResolver.js +35 -1
  88. package/dist/resolvers/UserResolver.js.map +1 -1
  89. package/dist/types.d.ts +4 -1
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/types.js.map +1 -1
  92. package/package.json +47 -45
  93. package/src/auth/APIKeyScopeAuth.ts +366 -0
  94. package/src/auth/BaseAuthProvider.ts +3 -0
  95. package/src/auth/IAuthProvider.ts +5 -0
  96. package/src/auth/index.ts +1 -0
  97. package/src/config.ts +2 -2
  98. package/src/context.ts +91 -9
  99. package/src/generated/generated.ts +6327 -3668
  100. package/src/generic/ResolverBase.ts +127 -8
  101. package/src/generic/RunViewResolver.ts +132 -5
  102. package/src/index.ts +12 -2
  103. package/src/resolvers/APIKeyResolver.ts +241 -0
  104. package/src/resolvers/ActionResolver.ts +8 -1
  105. package/src/resolvers/DatasetResolver.ts +11 -4
  106. package/src/resolvers/EntityCommunicationsResolver.ts +5 -1
  107. package/src/resolvers/GetDataContextDataResolver.ts +14 -6
  108. package/src/resolvers/MCPResolver.ts +480 -0
  109. package/src/resolvers/MergeRecordsResolver.ts +5 -1
  110. package/src/resolvers/QueryResolver.ts +17 -3
  111. package/src/resolvers/ReportResolver.ts +8 -1
  112. package/src/resolvers/RunAIAgentResolver.ts +7 -1
  113. package/src/resolvers/RunAIPromptResolver.ts +10 -1
  114. package/src/resolvers/RunTemplateResolver.ts +4 -1
  115. package/src/resolvers/TaskResolver.ts +3 -0
  116. package/src/resolvers/UserResolver.ts +52 -4
  117. package/src/types.ts +7 -2
  118. package/dist/resolvers/AskSkipResolver.d.ts +0 -123
  119. package/dist/resolvers/AskSkipResolver.d.ts.map +0 -1
  120. package/dist/resolvers/AskSkipResolver.js +0 -1788
  121. package/dist/resolvers/AskSkipResolver.js.map +0 -1
  122. package/dist/scheduler/LearningCycleScheduler.d.ts +0 -4
  123. package/dist/scheduler/LearningCycleScheduler.d.ts.map +0 -1
  124. package/dist/scheduler/LearningCycleScheduler.js +0 -4
  125. package/dist/scheduler/LearningCycleScheduler.js.map +0 -1
  126. package/src/resolvers/AskSkipResolver.ts +0 -3446
  127. package/src/scheduler/LearningCycleScheduler.ts +0 -320
@@ -56,6 +56,9 @@ export class TaskOrchestrationResolver extends ResolverBase {
56
56
  @Ctx() { userPayload }: AppContext,
57
57
  @Arg('createNotifications', { nullable: true }) createNotifications?: boolean
58
58
  ): Promise<ExecuteTaskGraphResult> {
59
+ // Check API key scope authorization for task execution
60
+ await this.CheckAPIKeyScopeAuthorization('task:execute', '*', userPayload);
61
+
59
62
  try {
60
63
  LogStatus(`=== EXECUTING TASK GRAPH FOR CONVERSATION: ${conversationDetailId} ===`);
61
64
 
@@ -6,30 +6,78 @@ import { GetReadOnlyProvider } from '../util.js';
6
6
  export class UserResolver extends MJUserResolverBase {
7
7
  @Query(() => MJUser_)
8
8
  async CurrentUser(@Ctx() context: AppContext) {
9
+ // Check API key scope authorization for user read (self)
10
+ await this.CheckAPIKeyScopeAuthorization('user:read', '*', context.userPayload);
11
+
12
+ // If userRecord is already available (e.g., from API key auth or system auth),
13
+ // use it directly instead of looking up by email again
14
+ if (context.userPayload.userRecord) {
15
+ // Convert UserInfo to the GraphQL response format
16
+ const userRecord = context.userPayload.userRecord;
17
+ const userData = {
18
+ ID: userRecord.ID,
19
+ Name: userRecord.Name,
20
+ FirstName: userRecord.FirstName,
21
+ LastName: userRecord.LastName,
22
+ Title: userRecord.Title,
23
+ Email: userRecord.Email,
24
+ Type: userRecord.Type,
25
+ IsActive: userRecord.IsActive,
26
+ LinkedRecordType: userRecord.LinkedRecordType,
27
+ EmployeeID: userRecord.EmployeeID,
28
+ LinkedEntityID: userRecord.LinkedEntityID,
29
+ LinkedEntityRecordID: userRecord.LinkedEntityRecordID,
30
+ __mj_CreatedAt: userRecord.__mj_CreatedAt,
31
+ __mj_UpdatedAt: userRecord.__mj_UpdatedAt,
32
+ // Include the UserRoles sub-array for the GraphQL response
33
+ UserRoles_UserIDArray: userRecord.UserRoles?.map((r: { ID: string; UserID: string; RoleID: string; RoleName?: string; __mj_CreatedAt?: Date; __mj_UpdatedAt?: Date }) => ({
34
+ ID: r.ID,
35
+ UserID: r.UserID,
36
+ RoleID: r.RoleID,
37
+ User: userRecord.Name,
38
+ Role: r.RoleName,
39
+ __mj_CreatedAt: r.__mj_CreatedAt,
40
+ __mj_UpdatedAt: r.__mj_UpdatedAt,
41
+ })) || [],
42
+ };
43
+ console.log('CurrentUser (from userRecord)', userData.Email);
44
+ return this.MapFieldNamesToCodeNames('Users', userData);
45
+ }
46
+
47
+ // Fall back to email lookup for JWT-based auth
9
48
  const result = await this.UserByEmail(context.userPayload.email, context);
10
- console.log('CurrentUser', result);
49
+ console.log('CurrentUser (from email lookup)', result?.Email);
11
50
  return result;
12
51
  }
13
52
 
14
53
  @Query(() => MJUser_)
15
54
  async UserByID(@Arg('ID', () => Int) ID: number, @Ctx() { providers, userPayload }: AppContext) {
16
- const provider = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true})
55
+ // Check API key scope authorization for user read
56
+ await this.CheckAPIKeyScopeAuthorization('user:read', ID.toString(), userPayload);
57
+
58
+ const provider = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true})
17
59
  const retVal = super.safeFirstArrayElement(await this.findBy(provider, 'Users', { ID }, userPayload.userRecord));
18
60
  return this.MapFieldNamesToCodeNames('Users', retVal);
19
61
  }
20
62
 
21
63
  @Query(() => MJUser_)
22
64
  async UserByEmployeeID(@Arg('EmployeeID', () => Int) EmployeeID: number, @Ctx() { providers, userPayload }: AppContext) {
23
- const provider = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true})
65
+ // Check API key scope authorization for user read
66
+ await this.CheckAPIKeyScopeAuthorization('user:read', EmployeeID.toString(), userPayload);
67
+
68
+ const provider = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true})
24
69
  const retVal = super.safeFirstArrayElement(await this.findBy(provider, 'Users', { EmployeeID }, userPayload.userRecord));
25
70
  return this.MapFieldNamesToCodeNames('Users', retVal);
26
71
  }
27
72
 
28
73
  @Query(() => MJUser_)
29
74
  async UserByEmail(@Arg('Email', () => String) Email: string, @Ctx() { providers, userPayload }: AppContext) {
75
+ // Check API key scope authorization for user read
76
+ await this.CheckAPIKeyScopeAuthorization('user:read', Email, userPayload);
77
+
30
78
  // const searchEmail = userEmailMap[Email] ?? Email;
31
79
  const searchEmail = Email;
32
- const provider = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true})
80
+ const provider = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true})
33
81
  const returnVal = super.safeFirstArrayElement(await this.findBy(provider, 'Users', { Email: searchEmail }, userPayload.userRecord));
34
82
  return this.MapFieldNamesToCodeNames('Users', returnVal);
35
83
  }
package/src/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DatabaseProviderBase, UserInfo } from '@memberjunction/core';
1
+ import { AggregateExpression, DatabaseProviderBase, UserInfo } from '@memberjunction/core';
2
2
  import { UserViewEntityExtended } from '@memberjunction/core-entities';
3
3
  import { GraphQLSchema } from 'graphql';
4
4
  import sql from 'mssql';
@@ -11,6 +11,10 @@ export type UserPayload = {
11
11
  sessionId: string;
12
12
  isSystemUser?: boolean;
13
13
  apiKey?: string;
14
+ /** ID of the MJ API key used for authentication (when using mj_sk_* format keys) */
15
+ apiKeyId?: string;
16
+ /** SHA-256 hash of the MJ API key (used for scope authorization) */
17
+ apiKeyHash?: string;
14
18
  };
15
19
 
16
20
  /**
@@ -80,7 +84,8 @@ export type RunViewGenericParams = {
80
84
  forceAuditLog?: boolean;
81
85
  auditLogDescription?: string;
82
86
  resultType?: string;
83
- userPayload?: UserPayload;
87
+ userPayload?: UserPayload;
88
+ aggregates?: AggregateExpression[];
84
89
  };
85
90
 
86
91
 
@@ -1,123 +0,0 @@
1
- import { PubSubEngine } from 'type-graphql';
2
- import { Metadata, UserInfo, EntityFieldInfo, EntityInfo, EntityRelationshipInfo } from '@memberjunction/core';
3
- import { AppContext, UserPayload } from '../types.js';
4
- import { DataContext } from '@memberjunction/data-context';
5
- import { SkipAPIRequest, SkipAPIResponse, SkipMessage, SkipAPIAnalysisCompleteResponse, SkipAPIDataRequestResponse, SkipAPIClarifyingQuestionResponse, SkipEntityInfo, SkipQueryInfo, SkipAPIRequestAPIKey, SkipRequestPhase, SkipAPIAgentNote, SkipAPIAgentNoteType, SkipEntityFieldInfo, SkipEntityRelationshipInfo, SkipEntityFieldValueInfo, SkipAPILearningCycleRequest, SkipConversation, SkipAPIArtifact, SkipAPIAgentRequest } from '@memberjunction/skip-types';
6
- import { ConversationDetailEntity, ConversationEntity, DataContextEntity } from '@memberjunction/core-entities';
7
- import mssql from 'mssql';
8
- import { CompositeKeyInputType } from '../generic/KeyInputOutputTypes.js';
9
- import { GetDataAccessToken } from './GetDataResolver.js';
10
- declare class ReattachConversationResponse {
11
- lastStatusMessage?: string;
12
- startTime?: Date;
13
- }
14
- declare enum SkipResponsePhase {
15
- ClarifyingQuestion = "clarifying_question",
16
- DataRequest = "data_request",
17
- AnalysisComplete = "analysis_complete"
18
- }
19
- export declare class AskSkipResultType {
20
- Success: boolean;
21
- Status: string;
22
- ResponsePhase: SkipResponsePhase;
23
- Result: string;
24
- ConversationId: string;
25
- UserMessageConversationDetailId: string;
26
- AIMessageConversationDetailId: string;
27
- }
28
- export declare class ManualLearningCycleResultType {
29
- Success: boolean;
30
- Message: string;
31
- }
32
- export declare class CycleDetailsType {
33
- LearningCycleId: string;
34
- StartTime: string;
35
- RunningForMinutes: number;
36
- }
37
- export declare class RunningOrganizationType {
38
- OrganizationId: string;
39
- LearningCycleId: string;
40
- StartTime: string;
41
- RunningForMinutes: number;
42
- }
43
- export declare class LearningCycleStatusType {
44
- IsSchedulerRunning: boolean;
45
- LastRunTime: string;
46
- RunningOrganizations: RunningOrganizationType[];
47
- }
48
- export declare class StopLearningCycleResultType {
49
- Success: boolean;
50
- Message: string;
51
- WasRunning: boolean;
52
- CycleDetails: CycleDetailsType;
53
- }
54
- type BaseSkipRequest = {
55
- entities: SkipEntityInfo[];
56
- queries: SkipQueryInfo[];
57
- notes: SkipAPIAgentNote[];
58
- noteTypes: SkipAPIAgentNoteType[];
59
- requests: SkipAPIAgentRequest[];
60
- accessToken: GetDataAccessToken;
61
- organizationID: string;
62
- organizationInfo: any;
63
- apiKeys: SkipAPIRequestAPIKey[];
64
- callingServerURL: string;
65
- callingServerAPIKey: string;
66
- callingServerAccessToken: string;
67
- userEmail: string;
68
- };
69
- export declare class AskSkipResolver {
70
- private static _defaultNewChatName;
71
- private static _maxHistoricalMessages;
72
- ExecuteAskSkipRecordChat(UserQuestion: string, ConversationId: string, EntityName: string, compositeKey: CompositeKeyInputType, { dataSource, userPayload, providers }: AppContext, pubSub: PubSubEngine): Promise<AskSkipResultType>;
73
- protected handleSimpleSkipChatPostRequest(input: SkipAPIRequest, convoEntity?: ConversationEntity, convoDetailEntity?: ConversationDetailEntity, createAIMessageConversationDetail?: boolean, user?: UserInfo, userPayload?: UserPayload): Promise<AskSkipResultType>;
74
- protected CreateAIMessageConversationDetail(apiResponse: SkipAPIResponse, conversationID: string, user: UserInfo, userPayload: UserPayload): Promise<string>;
75
- protected buildBaseSkipRequest(contextUser: UserInfo, dataSource: mssql.ConnectionPool, includeEntities: boolean, includeQueries: boolean, includeNotes: boolean, filterUserNotesToContextUser: boolean, includeRequests: boolean, forceEntitiesRefresh?: boolean, includeCallBackKeyAndAccessToken?: boolean, additionalTokenInfo?: any): Promise<BaseSkipRequest>;
76
- protected buildSkipLearningAPIRequest(learningCycleId: string, lastLearningCycleDate: Date, includeEntities: boolean, includeQueries: boolean, includeNotes: boolean, includeRequests: boolean, dataSource: mssql.ConnectionPool, contextUser: UserInfo, forceEntitiesRefresh?: boolean, includeCallBackKeyAndAccessToken?: boolean): Promise<SkipAPILearningCycleRequest>;
77
- protected BuildSkipLearningCycleNewConversations(lastLearningCycleDate: Date, dataSource: mssql.ConnectionPool, contextUser: UserInfo): Promise<SkipConversation[]>;
78
- protected BuildSkipRequests(contextUser: UserInfo): Promise<SkipAPIAgentRequest[]>;
79
- protected GetLastCompleteLearningCycleDate(agentID: string, user: UserInfo): Promise<Date>;
80
- protected buildSkipChatAPIRequest(messages: SkipMessage[], conversationId: string, dataContext: DataContext, requestPhase: SkipRequestPhase, includeEntities: boolean, includeQueries: boolean, includeNotes: boolean, includeRequests: boolean, contextUser: UserInfo, dataSource: mssql.ConnectionPool, forceEntitiesRefresh?: boolean, includeCallBackKeyAndAccessToken?: boolean): Promise<SkipAPIRequest>;
81
- protected buildSkipAPIArtifacts(contextUser: UserInfo, dataSource: mssql.ConnectionPool, conversationId: string): Promise<SkipAPIArtifact[]>;
82
- ExecuteAskSkipRunScript({ dataSource, userPayload }: AppContext, pubSub: PubSubEngine, DataContextId: string, ScriptText: string): Promise<AskSkipResultType>;
83
- protected buildSkipAPIKeys(): SkipAPIRequestAPIKey[];
84
- ReattachToProcessingConversation(ConversationId: string, { userPayload, providers }: AppContext, pubSub: PubSubEngine): Promise<ReattachConversationResponse | null>;
85
- ExecuteAskSkipAnalysisQuery(UserQuestion: string, ConversationId: string, { dataSource, userPayload, providers }: AppContext, pubSub: PubSubEngine, DataContextId?: string, ForceEntityRefresh?: boolean, StartTime?: Date): Promise<AskSkipResultType>;
86
- protected buildQueryCategoryPath(md: Metadata, categoryID: string): string;
87
- protected BuildSkipQueries(status?: "Pending" | "In-Review" | "Approved" | "Rejected" | "Obsolete"): SkipQueryInfo[];
88
- protected PackEntityRows(e: EntityInfo, dataSource: mssql.ConnectionPool): Promise<any[]>;
89
- protected PackFieldPossibleValues(f: EntityFieldInfo, dataSource: mssql.ConnectionPool): Promise<SkipEntityFieldValueInfo[]>;
90
- protected GetFieldDistinctValues(f: EntityFieldInfo, dataSource: mssql.ConnectionPool): Promise<SkipEntityFieldValueInfo[]>;
91
- private static __skipEntitiesCache$;
92
- private static __lastRefreshTime;
93
- private static __refreshInProgress;
94
- private refreshSkipEntities;
95
- BuildSkipEntities(dataSource: mssql.ConnectionPool, forceRefresh?: boolean, refreshIntervalMinutes?: number): Promise<SkipEntityInfo[]>;
96
- protected PackSingleSkipEntityInfo(e: EntityInfo, dataSource: mssql.ConnectionPool): Promise<SkipEntityInfo>;
97
- protected PackSingleSkipEntityRelationship(r: EntityRelationshipInfo): SkipEntityRelationshipInfo;
98
- protected PackSingleSkipEntityField(f: EntityFieldInfo, dataSource: mssql.ConnectionPool): Promise<SkipEntityFieldInfo>;
99
- protected HandleSkipChatInitialObjectLoading(dataSource: mssql.ConnectionPool, ConversationId: string, UserQuestion: string, user: UserInfo, userPayload: UserPayload, md: Metadata, DataContextId: string): Promise<{
100
- convoEntity: ConversationEntity;
101
- dataContextEntity: DataContextEntity;
102
- convoDetailEntity: ConversationDetailEntity;
103
- dataContext: DataContext;
104
- }>;
105
- protected LoadConversationDetailsIntoSkipMessages(dataSource: mssql.ConnectionPool, ConversationId: string, maxHistoricalMessages?: number, roleFilter?: string): Promise<SkipMessage[]>;
106
- protected MapDBRoleToSkipRole(role: string): 'user' | 'system';
107
- protected HandleSkipChatRequest(input: SkipAPIRequest, UserQuestion: string, user: UserInfo, dataSource: mssql.ConnectionPool, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, md: Metadata, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity, conversationDetailCount: number, startTime: Date): Promise<AskSkipResultType>;
108
- protected buildSkipPostHeaders(): {
109
- [key: string]: string;
110
- };
111
- protected PublishApiResponseUserUpdateMessage(apiResponse: SkipAPIResponse, userPayload: UserPayload, conversationID: string, pubSub: PubSubEngine): Promise<void>;
112
- protected HandleAnalysisComplete(apiRequest: SkipAPIRequest, apiResponse: SkipAPIAnalysisCompleteResponse, UserQuestion: string, user: UserInfo, dataSource: mssql.ConnectionPool, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity, startTime: Date): Promise<AskSkipResultType>;
113
- protected HandleClarifyingQuestionPhase(apiRequest: SkipAPIRequest, apiResponse: SkipAPIClarifyingQuestionResponse, UserQuestion: string, user: UserInfo, dataSource: mssql.ConnectionPool, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, startTime: Date): Promise<AskSkipResultType>;
114
- protected HandleDataRequestPhase(apiRequest: SkipAPIRequest, apiResponse: SkipAPIDataRequestResponse, UserQuestion: string, user: UserInfo, dataSource: mssql.ConnectionPool, ConversationId: string, userPayload: UserPayload, pubSub: PubSubEngine, convoEntity: ConversationEntity, convoDetailEntity: ConversationDetailEntity, dataContext: DataContext, dataContextEntity: DataContextEntity, conversationDetailCount: number, startTime: Date): Promise<AskSkipResultType>;
115
- protected FinishConversationAndNotifyUser(apiResponse: SkipAPIAnalysisCompleteResponse, dataContext: DataContext, dataContextEntity: DataContextEntity, md: Metadata, user: UserInfo, convoEntity: ConversationEntity, pubSub: PubSubEngine, userPayload: UserPayload, dataSource: mssql.ConnectionPool, startTime: Date): Promise<{
116
- AIMessageConversationDetailID: string;
117
- }>;
118
- private setConversationStatus;
119
- protected getAgentNoteTypeIDByName(name: string, defaultNoteType?: string): string;
120
- protected getViewData(ViewId: string, user: UserInfo): Promise<any>;
121
- }
122
- export default AskSkipResolver;
123
- //# sourceMappingURL=AskSkipResolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AskSkipResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":"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"}