@memberjunction/server 5.0.0 → 5.1.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.
@@ -1,4 +0,0 @@
1
- import { ApolloServerPlugin } from '@apollo/server';
2
- import { AppContext } from '../types.js';
3
- export declare const TransactionPlugin: ApolloServerPlugin<AppContext>;
4
- //# sourceMappingURL=TransactionPlugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionPlugin.d.ts","sourceRoot":"","sources":["../../src/apolloServer/TransactionPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAgF,MAAM,gBAAgB,CAAC;AAElI,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,UAAU,CAgD5D,CAAC"}
@@ -1,46 +0,0 @@
1
- import sql from 'mssql';
2
- export const TransactionPlugin = {
3
- async requestDidStart(requestContext) {
4
- const start = Date.now();
5
- const query = requestContext.request.query || '';
6
- const isMutation = /^\s*mutation\b/i.test(query);
7
- if (!isMutation) {
8
- return null;
9
- }
10
- const pool = requestContext.contextValue.dataSource;
11
- const transaction = new sql.Transaction(pool);
12
- requestContext.contextValue.transaction = transaction;
13
- console.log('Starting transaction wrapper, time spent: ', Date.now() - start, 'ms ');
14
- await transaction.begin();
15
- return {
16
- didEncounterErrors: async (requestContext) => {
17
- console.log('Error in transaction wrapper: ' + requestContext.errors, 'time spent: ', Date.now() - start, 'ms');
18
- },
19
- executionDidStart: async () => {
20
- return {
21
- executionDidEnd: async (err) => {
22
- try {
23
- if (err) {
24
- console.log('Error in transaction, rolling back, time spent: ', Date.now() - start, 'ms ');
25
- console.error('Rolling back transaction', err);
26
- await transaction.rollback();
27
- }
28
- else {
29
- console.log('Committing transaction, time spent: ', Date.now() - start, 'ms ');
30
- await transaction.commit();
31
- }
32
- }
33
- catch (execErr) {
34
- console.log('Execution Error, time spent: ', Date.now() - start, 'ms ');
35
- console.error(execErr);
36
- }
37
- finally {
38
- console.log('Transaction complete, time spent: ', Date.now() - start, 'ms ');
39
- }
40
- },
41
- };
42
- },
43
- };
44
- },
45
- };
46
- //# sourceMappingURL=TransactionPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionPlugin.js","sourceRoot":"","sources":["../../src/apolloServer/TransactionPlugin.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,OAAO,CAAC;AAGxB,MAAM,CAAC,MAAM,iBAAiB,GAAmC;IAC/D,KAAK,CAAC,eAAe,CAAC,cAAc;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAKD,MAAM,IAAI,GAAuB,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAG7C,cAAc,CAAC,YAAoB,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;QACrF,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;QAE1B,OAAO;YACL,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;gBAC3C,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;YAClH,CAAC;YACD,iBAAiB,EAAE,KAAK,IAAI,EAAE;gBAC5B,OAAO;oBACL,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;wBAC7B,IAAI,CAAC;4BACH,IAAI,GAAG,EAAE,CAAC;gCACR,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;gCAC3F,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;gCAC/C,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;4BAC/B,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;gCAC/E,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;4BAC7B,CAAC;wBACH,CAAC;wBAAC,OAAO,OAAO,EAAE,CAAC;4BACjB,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;4BACxE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACzB,CAAC;gCAAS,CAAC;4BACT,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;wBAC/E,CAAC;oBACH,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=backward-compatibility.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backward-compatibility.test.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/backward-compatibility.test.ts"],"names":[],"mappings":""}
@@ -1,135 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach, jest } from '@jest/globals';
2
- import { AuthProviderFactory } from '../AuthProviderFactory.js';
3
- import { initializeAuthProviders } from '../initializeProviders.js';
4
- describe('Authentication Provider Backward Compatibility', () => {
5
- let factory;
6
- beforeEach(() => {
7
- factory = AuthProviderFactory.getInstance();
8
- factory.clear();
9
- });
10
- afterEach(() => {
11
- factory.clear();
12
- });
13
- describe('Legacy Configuration Support', () => {
14
- it('should create MSAL provider from legacy config', () => {
15
- process.env.TENANT_ID = 'test-tenant-id';
16
- process.env.WEB_CLIENT_ID = 'test-client-id';
17
- initializeAuthProviders();
18
- const msalProvider = factory.getByName('msal');
19
- expect(msalProvider).toBeDefined();
20
- expect(msalProvider?.issuer).toContain('test-tenant-id');
21
- expect(msalProvider?.audience).toBe('test-client-id');
22
- });
23
- it('should create Auth0 provider from legacy config', () => {
24
- process.env.AUTH0_DOMAIN = 'test.auth0.com';
25
- process.env.AUTH0_CLIENT_ID = 'auth0-client-id';
26
- process.env.AUTH0_CLIENT_SECRET = 'auth0-secret';
27
- initializeAuthProviders();
28
- const auth0Provider = factory.getByName('auth0');
29
- expect(auth0Provider).toBeDefined();
30
- expect(auth0Provider?.issuer).toBe('https://test.auth0.com/');
31
- expect(auth0Provider?.audience).toBe('auth0-client-id');
32
- });
33
- });
34
- describe('Provider Registry Functionality', () => {
35
- it('should find providers by issuer with different formats', () => {
36
- const testProvider = {
37
- name: 'test',
38
- issuer: 'https://test.provider.com/oauth2',
39
- audience: 'test-audience',
40
- jwksUri: 'https://test.provider.com/.well-known/jwks.json',
41
- validateConfig: () => true,
42
- getSigningKey: jest.fn(),
43
- extractUserInfo: jest.fn(),
44
- matchesIssuer: (issuer) => {
45
- const normalized = issuer.toLowerCase().replace(/\/$/, '');
46
- return normalized === 'https://test.provider.com/oauth2';
47
- }
48
- };
49
- factory.register(testProvider);
50
- expect(factory.getByIssuer('https://test.provider.com/oauth2')).toBe(testProvider);
51
- expect(factory.getByIssuer('https://test.provider.com/oauth2/')).toBe(testProvider);
52
- expect(factory.getByIssuer('https://TEST.PROVIDER.COM/oauth2')).toBe(testProvider);
53
- });
54
- it('should cache issuer lookups for performance', () => {
55
- const testProvider = {
56
- name: 'test',
57
- issuer: 'https://test.provider.com',
58
- audience: 'test',
59
- jwksUri: 'https://test.provider.com/jwks',
60
- validateConfig: () => true,
61
- getSigningKey: jest.fn(),
62
- extractUserInfo: jest.fn(),
63
- matchesIssuer: jest.fn((issuer) => issuer === 'https://test.provider.com')
64
- };
65
- factory.register(testProvider);
66
- factory.getByIssuer('https://test.provider.com');
67
- expect(testProvider.matchesIssuer).toHaveBeenCalledTimes(1);
68
- factory.getByIssuer('https://test.provider.com');
69
- expect(testProvider.matchesIssuer).toHaveBeenCalledTimes(1);
70
- });
71
- });
72
- describe('User Info Extraction', () => {
73
- it('should extract user info from different token formats', () => {
74
- const msalPayload = {
75
- iss: 'https://login.microsoftonline.com/tenant/v2.0',
76
- email: 'user@example.com',
77
- given_name: 'John',
78
- family_name: 'Doe',
79
- name: 'John Doe',
80
- preferred_username: 'john.doe@example.com'
81
- };
82
- const auth0Payload = {
83
- iss: 'https://test.auth0.com/',
84
- email: 'user@example.com',
85
- given_name: 'Jane',
86
- family_name: 'Smith',
87
- name: 'Jane Smith'
88
- };
89
- const oktaPayload = {
90
- iss: 'https://test.okta.com/oauth2/default',
91
- email: 'user@example.com',
92
- given_name: 'Bob',
93
- family_name: 'Johnson',
94
- name: 'Bob Johnson',
95
- preferred_username: 'bob.johnson'
96
- };
97
- initializeAuthProviders();
98
- const msalProvider = factory.getByIssuer(msalPayload.iss);
99
- if (msalProvider) {
100
- const msalUserInfo = msalProvider.extractUserInfo(msalPayload);
101
- expect(msalUserInfo.email).toBe('user@example.com');
102
- expect(msalUserInfo.firstName).toBe('John');
103
- expect(msalUserInfo.lastName).toBe('Doe');
104
- }
105
- const auth0Provider = factory.getByIssuer(auth0Payload.iss);
106
- if (auth0Provider) {
107
- const auth0UserInfo = auth0Provider.extractUserInfo(auth0Payload);
108
- expect(auth0UserInfo.email).toBe('user@example.com');
109
- expect(auth0UserInfo.firstName).toBe('Jane');
110
- expect(auth0UserInfo.lastName).toBe('Smith');
111
- }
112
- });
113
- });
114
- describe('Error Handling', () => {
115
- it('should handle missing provider gracefully', () => {
116
- const unknownIssuer = 'https://unknown.provider.com';
117
- const provider = factory.getByIssuer(unknownIssuer);
118
- expect(provider).toBeUndefined();
119
- });
120
- it('should validate provider configuration', () => {
121
- const invalidProvider = {
122
- name: 'invalid',
123
- issuer: '',
124
- audience: 'test',
125
- jwksUri: 'https://test.com/jwks',
126
- validateConfig: () => false,
127
- getSigningKey: jest.fn(),
128
- extractUserInfo: jest.fn(),
129
- matchesIssuer: jest.fn()
130
- };
131
- expect(() => factory.register(invalidProvider)).toThrow();
132
- });
133
- });
134
- });
135
- //# sourceMappingURL=backward-compatibility.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backward-compatibility.test.js","sourceRoot":"","sources":["../../../src/auth/__tests__/backward-compatibility.test.ts"],"names":[],"mappings":"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"}
@@ -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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"}