@memberjunction/server 6.2.0-edge.2 → 6.2.0-edge.3
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/README.md +30 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/config.d.ts +2189 -71
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +123 -3
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +11 -23
- package/dist/context.js.map +1 -1
- package/dist/generated/graphql-schemas/__mj.d.ts +928 -0
- package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj.js +8482 -3649
- package/dist/generated/graphql-schemas/__mj.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +43 -3
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +142 -27
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +4 -0
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +33 -1
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +115 -49
- package/dist/index.js.map +1 -1
- package/dist/postgresqlCompat.d.ts +8 -0
- package/dist/postgresqlCompat.d.ts.map +1 -0
- package/dist/postgresqlCompat.js +19 -0
- package/dist/postgresqlCompat.js.map +1 -0
- package/dist/postgresqlPoolSettings.d.ts +108 -0
- package/dist/postgresqlPoolSettings.d.ts.map +1 -0
- package/dist/postgresqlPoolSettings.js +134 -0
- package/dist/postgresqlPoolSettings.js.map +1 -0
- package/dist/resolvers/AdhocQueryResolver.d.ts +23 -18
- package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.js +77 -167
- package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts +7 -23
- package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +9 -47
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +9 -0
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/HumanHandoffResolver.d.ts +107 -0
- package/dist/resolvers/HumanHandoffResolver.d.ts.map +1 -0
- package/dist/resolvers/HumanHandoffResolver.js +324 -0
- package/dist/resolvers/HumanHandoffResolver.js.map +1 -0
- package/dist/resolvers/MeetingResolver.d.ts +69 -0
- package/dist/resolvers/MeetingResolver.d.ts.map +1 -0
- package/dist/resolvers/MeetingResolver.js +381 -0
- package/dist/resolvers/MeetingResolver.js.map +1 -0
- package/dist/resolvers/RealtimeBridgeResolver.d.ts +34 -1
- package/dist/resolvers/RealtimeBridgeResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeBridgeResolver.js +202 -7
- package/dist/resolvers/RealtimeBridgeResolver.js.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts +1 -83
- package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
- package/dist/resolvers/RealtimeClientSessionResolver.js +4 -206
- package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
- package/dist/resolvers/adhocTimeout.d.ts +7 -0
- package/dist/resolvers/adhocTimeout.d.ts.map +1 -0
- package/dist/resolvers/adhocTimeout.js +12 -0
- package/dist/resolvers/adhocTimeout.js.map +1 -0
- package/dist/resolvers/meetings/index.d.ts +5 -0
- package/dist/resolvers/meetings/index.d.ts.map +1 -0
- package/dist/resolvers/meetings/index.js +5 -0
- package/dist/resolvers/meetings/index.js.map +1 -0
- package/dist/resolvers/meetings/meetingHelpers.d.ts +17 -0
- package/dist/resolvers/meetings/meetingHelpers.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingHelpers.js +212 -0
- package/dist/resolvers/meetings/meetingHelpers.js.map +1 -0
- package/dist/resolvers/meetings/meetingMutations.d.ts +12 -0
- package/dist/resolvers/meetings/meetingMutations.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingMutations.js +418 -0
- package/dist/resolvers/meetings/meetingMutations.js.map +1 -0
- package/dist/resolvers/meetings/meetingQueries.d.ts +7 -0
- package/dist/resolvers/meetings/meetingQueries.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingQueries.js +113 -0
- package/dist/resolvers/meetings/meetingQueries.js.map +1 -0
- package/dist/resolvers/meetings/meetingTypes.d.ts +89 -0
- package/dist/resolvers/meetings/meetingTypes.d.ts.map +1 -0
- package/dist/resolvers/meetings/meetingTypes.js +345 -0
- package/dist/resolvers/meetings/meetingTypes.js.map +1 -0
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +8 -5
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/services/TaskGraphActionRunner.d.ts +8 -0
- package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
- package/dist/services/TaskGraphActionRunner.js +27 -1
- package/dist/services/TaskGraphActionRunner.js.map +1 -1
- package/dist/services/WorkQueueHostService.d.ts +36 -0
- package/dist/services/WorkQueueHostService.d.ts.map +1 -0
- package/dist/services/WorkQueueHostService.js +97 -0
- package/dist/services/WorkQueueHostService.js.map +1 -0
- package/dist/services/workQueueConfig.d.ts +103 -0
- package/dist/services/workQueueConfig.d.ts.map +1 -0
- package/dist/services/workQueueConfig.js +48 -0
- package/dist/services/workQueueConfig.js.map +1 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +95 -94
- package/src/__tests__/AdhocQueryResolver.bugs.test.ts +14 -35
- package/src/__tests__/AdhocQueryResolver.pagination.test.ts +6 -2
- package/src/__tests__/AdhocQueryResolver.scopeGuard.test.ts +3 -3
- package/src/__tests__/EntityRecordNameResolver.fieldSecurity.test.ts +27 -72
- package/src/__tests__/HumanHandoffResolver.test.ts +233 -0
- package/src/__tests__/MeetingResolver.test.ts +374 -0
- package/src/__tests__/RealtimeBridgeResolver.test.ts +240 -2
- package/src/__tests__/ResolverBase.adhocReadScope.test.ts +96 -0
- package/src/__tests__/ResolverBase.filterEscaping.test.ts +21 -2
- package/src/__tests__/ResolverBase.includeBinaryFields.test.ts +291 -0
- package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +41 -0
- package/src/__tests__/WorkQueueHostService.test.ts +133 -0
- package/src/__tests__/adhocTimeoutClamp.test.ts +26 -0
- package/src/__tests__/postgresqlPoolSettings.test.ts +131 -0
- package/src/__tests__/translateBracketsToPG.test.ts +20 -0
- package/src/config.ts +130 -3
- package/src/context.ts +11 -24
- package/src/generated/graphql-schemas/__mj.ts +22138 -18770
- package/src/generic/ResolverBase.ts +171 -27
- package/src/generic/RunViewResolver.ts +33 -2
- package/src/index.ts +127 -50
- package/src/postgresqlCompat.ts +21 -0
- package/src/postgresqlPoolSettings.ts +213 -0
- package/src/resolvers/AdhocQueryResolver.ts +88 -188
- package/src/resolvers/EntityRecordNameResolver.ts +9 -51
- package/src/resolvers/GetDataResolver.ts +10 -0
- package/src/resolvers/HumanHandoffResolver.ts +304 -0
- package/src/resolvers/MeetingResolver.ts +438 -0
- package/src/resolvers/RealtimeBridgeResolver.ts +227 -13
- package/src/resolvers/RealtimeClientSessionResolver.ts +6 -252
- package/src/resolvers/adhocTimeout.ts +12 -0
- package/src/resolvers/meetings/index.ts +4 -0
- package/src/resolvers/meetings/meetingHelpers.ts +307 -0
- package/src/resolvers/meetings/meetingMutations.ts +535 -0
- package/src/resolvers/meetings/meetingQueries.ts +172 -0
- package/src/resolvers/meetings/meetingTypes.ts +238 -0
- package/src/rest/ViewOperationsHandler.ts +8 -5
- package/src/services/TaskGraphActionRunner.ts +29 -1
- package/src/services/WorkQueueHostService.ts +129 -0
- package/src/services/workQueueConfig.ts +52 -0
- package/src/types.ts +5 -0
- package/dist/resolvers/adhoc-query-helpers.d.ts +0 -33
- package/dist/resolvers/adhoc-query-helpers.d.ts.map +0 -1
- package/dist/resolvers/adhoc-query-helpers.js +0 -50
- package/dist/resolvers/adhoc-query-helpers.js.map +0 -1
- package/src/__tests__/adhoc-query-helpers.test.ts +0 -50
- package/src/resolvers/adhoc-query-helpers.ts +0 -67
|
@@ -0,0 +1,381 @@
|
|
|
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, Mutation, Query, Arg, Ctx } from 'type-graphql';
|
|
14
|
+
import { LogError, } from '@memberjunction/core';
|
|
15
|
+
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
16
|
+
import { GetReadWriteProvider } from '../util.js';
|
|
17
|
+
import { SessionManager } from '../agentSessions/SessionManager.js';
|
|
18
|
+
import { MeetingParticipantType, MeetingType, MeetingResult, StartMeetingResult, DialInPhoneNumberType, CreateMeetingInput, UpdateMeetingInput, RSVPMeetingInput, } from './meetings/meetingTypes.js';
|
|
19
|
+
import { LoadMeetingEntity, LoadParticipants, IsUserHostOrCoHost, ResolveDefaultPhoneNumber, GenerateUniqueDialInCode, EnsureMeetingInteraction, RecordInteractionEvent, CloseMeetingInteraction, SendMeetingInviteNotification, NormalizeParticipantRole, NormalizeRecordingPolicy, MapMeetingToType, MapParticipantToType, } from './meetings/meetingHelpers.js';
|
|
20
|
+
import { ExecuteMyMeetings, ExecuteMeeting, ExecuteMeetingParticipants, ExecuteAvailableDialInPhoneNumbers, } from './meetings/meetingQueries.js';
|
|
21
|
+
import { ExecuteCreateMeeting, ExecuteUpdateMeeting, ExecuteStartMeeting, ExecuteEndMeeting, ExecuteCancelMeeting, ExecuteRSVPMeeting, } from './meetings/meetingMutations.js';
|
|
22
|
+
// Re-export all meeting types and helpers for external consumers
|
|
23
|
+
export * from './meetings/index.js';
|
|
24
|
+
let MeetingResolver = class MeetingResolver extends ResolverBase {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
this.sessionManager = new SessionManager();
|
|
28
|
+
}
|
|
29
|
+
// ── Queries ──────────────────────────────────────────────────────────────────
|
|
30
|
+
/**
|
|
31
|
+
* Lists meetings accessible to the caller (meetings where user is host or participant).
|
|
32
|
+
*/
|
|
33
|
+
async MyMeetings(status, context = {}) {
|
|
34
|
+
try {
|
|
35
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
36
|
+
if (!user) {
|
|
37
|
+
throw new Error('User is not authenticated.');
|
|
38
|
+
}
|
|
39
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
40
|
+
if (!provider) {
|
|
41
|
+
throw new Error('Database provider is not available.');
|
|
42
|
+
}
|
|
43
|
+
return await ExecuteMyMeetings(provider, user, status);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
LogError(`[MeetingResolver] MyMeetings failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Gets a single meeting by ID.
|
|
52
|
+
*/
|
|
53
|
+
async Meeting(id, context = {}) {
|
|
54
|
+
try {
|
|
55
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
56
|
+
if (!user) {
|
|
57
|
+
throw new Error('User is not authenticated.');
|
|
58
|
+
}
|
|
59
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
60
|
+
if (!provider) {
|
|
61
|
+
throw new Error('Database provider is not available.');
|
|
62
|
+
}
|
|
63
|
+
return await ExecuteMeeting(provider, user, id);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
LogError(`[MeetingResolver] Meeting query failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Gets participants for a given meeting.
|
|
72
|
+
*/
|
|
73
|
+
async MeetingParticipants(meetingID, context = {}) {
|
|
74
|
+
try {
|
|
75
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
76
|
+
if (!user) {
|
|
77
|
+
throw new Error('User is not authenticated.');
|
|
78
|
+
}
|
|
79
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
80
|
+
if (!provider) {
|
|
81
|
+
throw new Error('Database provider is not available.');
|
|
82
|
+
}
|
|
83
|
+
return await ExecuteMeetingParticipants(provider, user, meetingID);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
LogError(`[MeetingResolver] MeetingParticipants failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Lists available active phone numbers suitable for dial-in.
|
|
92
|
+
*/
|
|
93
|
+
async AvailableDialInPhoneNumbers(context = {}) {
|
|
94
|
+
try {
|
|
95
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
96
|
+
if (!user) {
|
|
97
|
+
throw new Error('User is not authenticated.');
|
|
98
|
+
}
|
|
99
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
100
|
+
if (!provider) {
|
|
101
|
+
throw new Error('Database provider is not available.');
|
|
102
|
+
}
|
|
103
|
+
return await ExecuteAvailableDialInPhoneNumbers(provider, user);
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
LogError(`[MeetingResolver] AvailableDialInPhoneNumbers failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
107
|
+
return [];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// ── Mutations ────────────────────────────────────────────────────────────────
|
|
111
|
+
/**
|
|
112
|
+
* Creates and schedules a new meeting.
|
|
113
|
+
*/
|
|
114
|
+
async CreateMeeting(input, context = {}) {
|
|
115
|
+
try {
|
|
116
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
117
|
+
if (!user) {
|
|
118
|
+
return { Success: false, ErrorMessage: 'User is not authenticated.' };
|
|
119
|
+
}
|
|
120
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
121
|
+
if (!provider) {
|
|
122
|
+
return { Success: false, ErrorMessage: 'Database provider is not available.' };
|
|
123
|
+
}
|
|
124
|
+
return await ExecuteCreateMeeting(provider, user, input, this.getHelperOverrides());
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
128
|
+
LogError(`[MeetingResolver] CreateMeeting exception: ${msg}`);
|
|
129
|
+
return { Success: false, ErrorMessage: msg };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Updates meeting details and participant list. Host or CoHost only.
|
|
134
|
+
*/
|
|
135
|
+
async UpdateMeeting(input, context = {}) {
|
|
136
|
+
try {
|
|
137
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
138
|
+
if (!user) {
|
|
139
|
+
return { Success: false, ErrorMessage: 'User is not authenticated.' };
|
|
140
|
+
}
|
|
141
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
142
|
+
if (!provider) {
|
|
143
|
+
return { Success: false, ErrorMessage: 'Database provider is not available.' };
|
|
144
|
+
}
|
|
145
|
+
return await ExecuteUpdateMeeting(provider, user, input, this.getHelperOverrides());
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
149
|
+
LogError(`[MeetingResolver] UpdateMeeting exception: ${msg}`);
|
|
150
|
+
return { Success: false, ErrorMessage: msg };
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Starts a meeting: transitions status to 'Live', creates or connects to the
|
|
155
|
+
* meeting Interaction record, launches configured AI agents, initiates recording
|
|
156
|
+
* if configured as Automatic, and returns a LiveKit client token for the caller.
|
|
157
|
+
*/
|
|
158
|
+
async StartMeeting(meetingID, context = {}) {
|
|
159
|
+
try {
|
|
160
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
161
|
+
if (!user) {
|
|
162
|
+
return { Success: false, ErrorMessage: 'User is not authenticated.' };
|
|
163
|
+
}
|
|
164
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
165
|
+
if (!provider) {
|
|
166
|
+
return { Success: false, ErrorMessage: 'Database provider is not available.' };
|
|
167
|
+
}
|
|
168
|
+
return await ExecuteStartMeeting(provider, user, meetingID, this.sessionManager, this.getHelperOverrides());
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
172
|
+
LogError(`[MeetingResolver] StartMeeting exception: ${msg}`);
|
|
173
|
+
return { Success: false, ErrorMessage: msg };
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Ends a meeting: transitions status to 'Ended', stops all agents in the room,
|
|
178
|
+
* closes the Interaction record, and records lifecycle events.
|
|
179
|
+
*/
|
|
180
|
+
async EndMeeting(meetingID, context = {}) {
|
|
181
|
+
try {
|
|
182
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
183
|
+
if (!user) {
|
|
184
|
+
return { Success: false, ErrorMessage: 'User is not authenticated.' };
|
|
185
|
+
}
|
|
186
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
187
|
+
if (!provider) {
|
|
188
|
+
return { Success: false, ErrorMessage: 'Database provider is not available.' };
|
|
189
|
+
}
|
|
190
|
+
return await ExecuteEndMeeting(provider, user, meetingID, this.getHelperOverrides());
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
194
|
+
LogError(`[MeetingResolver] EndMeeting exception: ${msg}`);
|
|
195
|
+
return { Success: false, ErrorMessage: msg };
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Cancels a scheduled meeting.
|
|
200
|
+
*/
|
|
201
|
+
async CancelMeeting(meetingID, context = {}) {
|
|
202
|
+
try {
|
|
203
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
204
|
+
if (!user) {
|
|
205
|
+
return { Success: false, ErrorMessage: 'User is not authenticated.' };
|
|
206
|
+
}
|
|
207
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
208
|
+
if (!provider) {
|
|
209
|
+
return { Success: false, ErrorMessage: 'Database provider is not available.' };
|
|
210
|
+
}
|
|
211
|
+
return await ExecuteCancelMeeting(provider, user, meetingID, this.getHelperOverrides());
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
215
|
+
LogError(`[MeetingResolver] CancelMeeting exception: ${msg}`);
|
|
216
|
+
return { Success: false, ErrorMessage: msg };
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Updates RSVP invite status for the authenticated user.
|
|
221
|
+
*/
|
|
222
|
+
async RSVPMeeting(input, context = {}) {
|
|
223
|
+
try {
|
|
224
|
+
const user = this.GetUserFromPayload(context.userPayload);
|
|
225
|
+
if (!user) {
|
|
226
|
+
return { Success: false, ErrorMessage: 'User is not authenticated.' };
|
|
227
|
+
}
|
|
228
|
+
const provider = GetReadWriteProvider(context.providers);
|
|
229
|
+
if (!provider) {
|
|
230
|
+
return { Success: false, ErrorMessage: 'Database provider is not available.' };
|
|
231
|
+
}
|
|
232
|
+
return await ExecuteRSVPMeeting(provider, user, input, this.getHelperOverrides());
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
236
|
+
LogError(`[MeetingResolver] RSVPMeeting exception: ${msg}`);
|
|
237
|
+
return { Success: false, ErrorMessage: msg };
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// ── Helper Overrides & Delegations ───────────────────────────────────────────
|
|
241
|
+
getHelperOverrides() {
|
|
242
|
+
return {
|
|
243
|
+
LoadMeetingEntity: (id, user, provider) => this.loadMeetingEntity(id, user, provider),
|
|
244
|
+
LoadParticipants: (meetingID, user, provider) => this.loadParticipants(meetingID, user, provider),
|
|
245
|
+
IsUserHostOrCoHost: (meeting, user, provider) => this.isUserHostOrCoHost(meeting, user, provider),
|
|
246
|
+
ResolveDefaultPhoneNumber: (user, provider) => this.resolveDefaultPhoneNumber(user, provider),
|
|
247
|
+
GenerateUniqueDialInCode: (phoneNumberID, user, provider) => this.generateUniqueDialInCode(phoneNumberID, user, provider),
|
|
248
|
+
EnsureMeetingInteraction: (meeting, user, provider) => this.ensureMeetingInteraction(meeting, user, provider),
|
|
249
|
+
RecordInteractionEvent: (interactionID, eventType, user, provider, details) => this.recordInteractionEvent(interactionID, eventType, user, provider, details),
|
|
250
|
+
CloseMeetingInteraction: (roomName, user, provider) => this.closeMeetingInteraction(roomName, user, provider),
|
|
251
|
+
SendMeetingInviteNotification: (meeting, targetUserID, contextUser, provider) => this.sendMeetingInviteNotification(meeting, targetUserID, contextUser, provider),
|
|
252
|
+
NormalizeParticipantRole: (roleInput, defaultRole) => this.normalizeParticipantRole(roleInput, defaultRole),
|
|
253
|
+
NormalizeRecordingPolicy: (policyInput) => this.normalizeRecordingPolicy(policyInput),
|
|
254
|
+
MapMeetingToType: (m, participants) => this.mapMeetingToType(m, participants),
|
|
255
|
+
MapParticipantToType: (p, userName, userEmail) => this.mapParticipantToType(p, userName, userEmail),
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
async loadMeetingEntity(id, user, provider) {
|
|
259
|
+
return LoadMeetingEntity(id, user, provider);
|
|
260
|
+
}
|
|
261
|
+
async loadParticipants(meetingID, user, provider) {
|
|
262
|
+
return LoadParticipants(meetingID, user, provider);
|
|
263
|
+
}
|
|
264
|
+
async isUserHostOrCoHost(meeting, user, provider) {
|
|
265
|
+
return IsUserHostOrCoHost(meeting, user, provider);
|
|
266
|
+
}
|
|
267
|
+
async resolveDefaultPhoneNumber(user, provider) {
|
|
268
|
+
return ResolveDefaultPhoneNumber(user, provider);
|
|
269
|
+
}
|
|
270
|
+
async generateUniqueDialInCode(phoneNumberID, user, provider) {
|
|
271
|
+
return GenerateUniqueDialInCode(phoneNumberID, user, provider);
|
|
272
|
+
}
|
|
273
|
+
async ensureMeetingInteraction(meeting, user, provider) {
|
|
274
|
+
return EnsureMeetingInteraction(meeting, user, provider);
|
|
275
|
+
}
|
|
276
|
+
async recordInteractionEvent(interactionID, eventType, user, provider, details) {
|
|
277
|
+
return RecordInteractionEvent(interactionID, eventType, user, provider, details);
|
|
278
|
+
}
|
|
279
|
+
async closeMeetingInteraction(roomName, user, provider) {
|
|
280
|
+
return CloseMeetingInteraction(roomName, user, provider);
|
|
281
|
+
}
|
|
282
|
+
async sendMeetingInviteNotification(meeting, targetUserID, contextUser, provider) {
|
|
283
|
+
return SendMeetingInviteNotification(meeting, targetUserID, contextUser, provider);
|
|
284
|
+
}
|
|
285
|
+
normalizeParticipantRole(roleInput, defaultRole = 'Attendee') {
|
|
286
|
+
return NormalizeParticipantRole(roleInput, defaultRole);
|
|
287
|
+
}
|
|
288
|
+
normalizeRecordingPolicy(policyInput) {
|
|
289
|
+
return NormalizeRecordingPolicy(policyInput);
|
|
290
|
+
}
|
|
291
|
+
mapMeetingToType(m, participants) {
|
|
292
|
+
return MapMeetingToType(m, participants);
|
|
293
|
+
}
|
|
294
|
+
mapParticipantToType(p, userNameFallback, userEmailFallback) {
|
|
295
|
+
return MapParticipantToType(p, userNameFallback, userEmailFallback);
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
__decorate([
|
|
299
|
+
Query(() => [MeetingType]),
|
|
300
|
+
__param(0, Arg('status', () => String, { nullable: true })),
|
|
301
|
+
__param(1, Ctx()),
|
|
302
|
+
__metadata("design:type", Function),
|
|
303
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
304
|
+
__metadata("design:returntype", Promise)
|
|
305
|
+
], MeetingResolver.prototype, "MyMeetings", null);
|
|
306
|
+
__decorate([
|
|
307
|
+
Query(() => MeetingType, { nullable: true }),
|
|
308
|
+
__param(0, Arg('id', () => String)),
|
|
309
|
+
__param(1, Ctx()),
|
|
310
|
+
__metadata("design:type", Function),
|
|
311
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
312
|
+
__metadata("design:returntype", Promise)
|
|
313
|
+
], MeetingResolver.prototype, "Meeting", null);
|
|
314
|
+
__decorate([
|
|
315
|
+
Query(() => [MeetingParticipantType]),
|
|
316
|
+
__param(0, Arg('meetingID', () => String)),
|
|
317
|
+
__param(1, Ctx()),
|
|
318
|
+
__metadata("design:type", Function),
|
|
319
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
320
|
+
__metadata("design:returntype", Promise)
|
|
321
|
+
], MeetingResolver.prototype, "MeetingParticipants", null);
|
|
322
|
+
__decorate([
|
|
323
|
+
Query(() => [DialInPhoneNumberType]),
|
|
324
|
+
__param(0, Ctx()),
|
|
325
|
+
__metadata("design:type", Function),
|
|
326
|
+
__metadata("design:paramtypes", [Object]),
|
|
327
|
+
__metadata("design:returntype", Promise)
|
|
328
|
+
], MeetingResolver.prototype, "AvailableDialInPhoneNumbers", null);
|
|
329
|
+
__decorate([
|
|
330
|
+
Mutation(() => MeetingResult),
|
|
331
|
+
__param(0, Arg('input', () => CreateMeetingInput)),
|
|
332
|
+
__param(1, Ctx()),
|
|
333
|
+
__metadata("design:type", Function),
|
|
334
|
+
__metadata("design:paramtypes", [CreateMeetingInput, Object]),
|
|
335
|
+
__metadata("design:returntype", Promise)
|
|
336
|
+
], MeetingResolver.prototype, "CreateMeeting", null);
|
|
337
|
+
__decorate([
|
|
338
|
+
Mutation(() => MeetingResult),
|
|
339
|
+
__param(0, Arg('input', () => UpdateMeetingInput)),
|
|
340
|
+
__param(1, Ctx()),
|
|
341
|
+
__metadata("design:type", Function),
|
|
342
|
+
__metadata("design:paramtypes", [UpdateMeetingInput, Object]),
|
|
343
|
+
__metadata("design:returntype", Promise)
|
|
344
|
+
], MeetingResolver.prototype, "UpdateMeeting", null);
|
|
345
|
+
__decorate([
|
|
346
|
+
Mutation(() => StartMeetingResult),
|
|
347
|
+
__param(0, Arg('meetingID', () => String)),
|
|
348
|
+
__param(1, Ctx()),
|
|
349
|
+
__metadata("design:type", Function),
|
|
350
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
351
|
+
__metadata("design:returntype", Promise)
|
|
352
|
+
], MeetingResolver.prototype, "StartMeeting", null);
|
|
353
|
+
__decorate([
|
|
354
|
+
Mutation(() => MeetingResult),
|
|
355
|
+
__param(0, Arg('meetingID', () => String)),
|
|
356
|
+
__param(1, Ctx()),
|
|
357
|
+
__metadata("design:type", Function),
|
|
358
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
359
|
+
__metadata("design:returntype", Promise)
|
|
360
|
+
], MeetingResolver.prototype, "EndMeeting", null);
|
|
361
|
+
__decorate([
|
|
362
|
+
Mutation(() => MeetingResult),
|
|
363
|
+
__param(0, Arg('meetingID', () => String)),
|
|
364
|
+
__param(1, Ctx()),
|
|
365
|
+
__metadata("design:type", Function),
|
|
366
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
367
|
+
__metadata("design:returntype", Promise)
|
|
368
|
+
], MeetingResolver.prototype, "CancelMeeting", null);
|
|
369
|
+
__decorate([
|
|
370
|
+
Mutation(() => MeetingResult),
|
|
371
|
+
__param(0, Arg('input', () => RSVPMeetingInput)),
|
|
372
|
+
__param(1, Ctx()),
|
|
373
|
+
__metadata("design:type", Function),
|
|
374
|
+
__metadata("design:paramtypes", [RSVPMeetingInput, Object]),
|
|
375
|
+
__metadata("design:returntype", Promise)
|
|
376
|
+
], MeetingResolver.prototype, "RSVPMeeting", null);
|
|
377
|
+
MeetingResolver = __decorate([
|
|
378
|
+
Resolver()
|
|
379
|
+
], MeetingResolver);
|
|
380
|
+
export { MeetingResolver };
|
|
381
|
+
//# sourceMappingURL=MeetingResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MeetingResolver.js","sourceRoot":"","sources":["../../src/resolvers/MeetingResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,24 @@ export declare class StartLiveKitAgentRoomSessionInput {
|
|
|
36
36
|
RoomName?: string;
|
|
37
37
|
AgentSessionID?: string;
|
|
38
38
|
TurnMode?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Start the agent able to bring someone into this room: a person (who is offered the conversation and may accept), a
|
|
41
|
+
* phone number, or another agent. Opt-in, and honoured only when this server has the handoff collaborators configured
|
|
42
|
+
* (the LiveKit SIP extension); otherwise the agent starts as it always did.
|
|
43
|
+
*/
|
|
44
|
+
EnableHandoff?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* How this agent decides it was addressed: `Auto` (default — the model's own judgement when it is full-duplex,
|
|
47
|
+
* name matching otherwise), `ModelSide`, or `Regex`.
|
|
48
|
+
*/
|
|
49
|
+
TurnAddressing?: string;
|
|
50
|
+
}
|
|
51
|
+
/** The live turn-taking state of a room (floor holder, human speaking, hand-off, loop cap, recent events, seated agents). */
|
|
52
|
+
export declare class LiveKitRoomTurnStateResult {
|
|
53
|
+
Success: boolean;
|
|
54
|
+
ErrorMessage?: string;
|
|
55
|
+
/** JSON of the room's `RoomTurnSnapshot`; `null` when the room holds no agents. Parsed by the typed client. */
|
|
56
|
+
StateJSON?: string;
|
|
39
57
|
}
|
|
40
58
|
export declare class LiveKitAgentRoomSessionResult {
|
|
41
59
|
Success: boolean;
|
|
@@ -99,6 +117,14 @@ export declare class RealtimeBridgeResolver extends ResolverBase {
|
|
|
99
117
|
* @param roomName The LiveKit room to end.
|
|
100
118
|
*/
|
|
101
119
|
EndLiveKitRoom(roomName: string, context?: AppContext): Promise<boolean>;
|
|
120
|
+
/**
|
|
121
|
+
* A room's live turn-taking state — who holds the floor, whether a person is speaking, any pending hand-off,
|
|
122
|
+
* the agent-to-agent loop-cap progress, the most recent floor/backchannel/yield events, and who is seated. The
|
|
123
|
+
* agent test bed polls it. Read-only. `StateJSON` is `null` when no agent is in the room.
|
|
124
|
+
*
|
|
125
|
+
* @param roomName The LiveKit room.
|
|
126
|
+
*/
|
|
127
|
+
GetLiveKitRoomTurnState(roomName: string, context?: AppContext): Promise<LiveKitRoomTurnStateResult>;
|
|
102
128
|
/**
|
|
103
129
|
* Lists active Realtime models with the voices each driver supports — the source for the dev model/voice
|
|
104
130
|
* picker (gated client-side by the `Realtime: Advanced Session Controls` authorization). Read-only; returns
|
|
@@ -129,8 +155,15 @@ export declare class RealtimeBridgeResolver extends ResolverBase {
|
|
|
129
155
|
* `RecordingFileID` (the recording still stopped) — it never throws.
|
|
130
156
|
*/
|
|
131
157
|
StopLiveKitRecording(egressID: string, context?: AppContext): Promise<LiveKitRecordingResult>;
|
|
132
|
-
/**
|
|
158
|
+
/**
|
|
159
|
+
* Starts the agent through the handoff-capable room starter when the caller asked for it and the server can do it.
|
|
160
|
+
* Returns the bridge id, or `undefined` to mean "use the standard start" (not requested, no starter, no agent named).
|
|
161
|
+
*/
|
|
162
|
+
private startWithHandoff;
|
|
163
|
+
/** Builds a stable, lowercased participant identity from the authenticated user (shared with the handoff engine, which watches for it). */
|
|
133
164
|
private participantIdentity;
|
|
165
|
+
/** Normalizes an addressing-mode string; unknown/absent leaves the coordinator's default (`Auto`). */
|
|
166
|
+
private normalizeTurnAddressing;
|
|
134
167
|
/** Normalizes a turn-mode string to the bridge's accepted values. */
|
|
135
168
|
private normalizeTurnMode;
|
|
136
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealtimeBridgeResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/RealtimeBridgeResolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RealtimeBridgeResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/RealtimeBridgeResolver.ts"],"names":[],"mappings":"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"}
|