@memberjunction/server 0.9.169 → 0.9.172

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/build.log.json CHANGED
@@ -208,5 +208,11 @@
208
208
  },
209
209
  {
210
210
  "buildTime": "2024-02-14T10:28:56.6955688-06:00"
211
+ },
212
+ {
213
+ "buildTime": "2024-02-15T21:33:04.7705496-06:00"
214
+ },
215
+ {
216
+ "buildTime": "2024-02-19T10:34:17.6223549-06:00"
211
217
  }
212
218
  ]
@@ -21,6 +21,8 @@ const type_graphql_1 = require("type-graphql");
21
21
  const core_1 = require("@memberjunction/core");
22
22
  const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
23
23
  const data_context_1 = require("@memberjunction/data-context");
24
+ const data_context_server_1 = require("@memberjunction/data-context-server");
25
+ (0, data_context_server_1.LoadDataContextItemsServer)();
24
26
  const axios_1 = __importDefault(require("axios"));
25
27
  const zlib_1 = __importDefault(require("zlib"));
26
28
  const util_1 = require("util");
@@ -87,7 +89,8 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
87
89
  conversationID: ConversationId.toString(),
88
90
  dataContext: dataContext,
89
91
  organizationID: !isNaN(parseInt(OrganizationId)) ? parseInt(OrganizationId) : 0,
90
- requestPhase: 'initial_request'
92
+ requestPhase: 'initial_request',
93
+ entities: this.BuildSkipEntityInfo()
91
94
  };
92
95
  pubSub.publish(PushStatusResolver_1.PUSH_STATUS_UPDATES_TOPIC, {
93
96
  message: JSON.stringify({
@@ -99,6 +102,67 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
99
102
  });
100
103
  return this.HandleSkipRequest(input, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, md, convoEntity, convoDetailEntity, dataContext, dataContextEntity);
101
104
  }
105
+ BuildSkipEntityInfo() {
106
+ const md = new core_1.Metadata();
107
+ return md.Entities.filter(e => e.SchemaName !== config_1.mj_core_schema).map((e) => {
108
+ const ret = {
109
+ id: e.ID,
110
+ name: e.Name,
111
+ schemaName: e.SchemaName,
112
+ baseView: e.BaseView,
113
+ description: e.Description,
114
+ fields: e.Fields.map((f) => {
115
+ return {
116
+ id: f.ID,
117
+ entityID: f.EntityID,
118
+ sequence: f.Sequence,
119
+ name: f.Name,
120
+ displayName: f.DisplayName,
121
+ category: f.Category,
122
+ type: f.Type,
123
+ description: f.Description,
124
+ isPrimaryKey: f.IsPrimaryKey,
125
+ allowsNull: f.AllowsNull,
126
+ isUnique: f.IsUnique,
127
+ length: f.Length,
128
+ precision: f.Precision,
129
+ scale: f.Scale,
130
+ sqlFullType: f.SQLFullType,
131
+ defaultValue: f.DefaultValue,
132
+ autoIncrement: f.AutoIncrement,
133
+ valueListType: f.ValueListType,
134
+ extendedType: f.ExtendedType,
135
+ defaultInView: f.DefaultInView,
136
+ defaultColumnWidth: f.DefaultColumnWidth,
137
+ isVirtual: f.IsVirtual,
138
+ isNameField: f.IsNameField,
139
+ relatedEntityID: f.RelatedEntityID,
140
+ relatedEntityFieldName: f.RelatedEntityFieldName,
141
+ relatedEntity: f.RelatedEntity,
142
+ relatedEntitySchemaName: f.RelatedEntitySchemaName,
143
+ relatedEntityBaseView: f.RelatedEntityBaseView,
144
+ };
145
+ }),
146
+ relatedEntities: e.RelatedEntities.map((r) => {
147
+ return {
148
+ entityID: r.EntityID,
149
+ relatedEntityID: r.RelatedEntityID,
150
+ type: r.Type,
151
+ entityKeyField: r.EntityKeyField,
152
+ relatedEntityJoinField: r.RelatedEntityJoinField,
153
+ joinView: r.JoinView,
154
+ joinEntityJoinField: r.JoinEntityJoinField,
155
+ joinEntityInverseJoinField: r.JoinEntityInverseJoinField,
156
+ entity: r.Entity,
157
+ entityBaseView: r.EntityBaseView,
158
+ relatedEntity: r.RelatedEntity,
159
+ relatedEntityBaseView: r.RelatedEntityBaseView,
160
+ };
161
+ })
162
+ };
163
+ return ret;
164
+ });
165
+ }
102
166
  async HandleSkipInitialObjectLoading(dataSource, ConversationId, UserQuestion, user, userPayload, md, DataContextId) {
103
167
  const convoEntity = await md.GetEntityObject('Conversations', user);
104
168
  let dataContextEntity;
@@ -154,7 +218,7 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
154
218
  convoDetailEntity.Set('Sequence', 1);
155
219
  await convoDetailEntity.Save();
156
220
  const dataContext = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(data_context_1.DataContext);
157
- await dataContext.Load(dataContextEntity.ID, dataSource, user);
221
+ await dataContext.Load(dataContextEntity.ID, dataSource, false, user);
158
222
  return { dataContext, convoEntity, dataContextEntity, convoDetailEntity };
159
223
  }
160
224
  async LoadConversationDetailsIntoSkipMessages(dataSource, ConversationId, maxHistoricalMessages) {
@@ -180,8 +244,32 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
180
244
  });
181
245
  return returnData.map((r) => {
182
246
  const skipRole = this.MapDBRoleToSkipRole(r.Role);
247
+ let outputMessage;
248
+ if (skipRole === 'system') {
249
+ const detail = JSON.parse(r.Message);
250
+ if (detail.responsePhase === SkipResponsePhase.AnalysisComplete) {
251
+ const analysisDetail = detail;
252
+ outputMessage = JSON.stringify({
253
+ responsePhase: SkipResponsePhase.AnalysisComplete,
254
+ techExplanation: analysisDetail.techExplanation,
255
+ userExplanation: analysisDetail.userExplanation,
256
+ scriptText: analysisDetail.scriptText,
257
+ tableDataColumns: analysisDetail.tableDataColumns
258
+ });
259
+ }
260
+ else if (detail.responsePhase === SkipResponsePhase.ClarifyingQuestion) {
261
+ const clarifyingQuestionDetail = detail;
262
+ outputMessage = JSON.stringify({
263
+ responsePhase: SkipResponsePhase.ClarifyingQuestion,
264
+ clarifyingQuestion: clarifyingQuestionDetail.clarifyingQuestion
265
+ });
266
+ }
267
+ else {
268
+ (0, core_1.LogError)(`Unknown response phase: ${detail.responsePhase}`);
269
+ }
270
+ }
183
271
  const m = {
184
- content: skipRole === 'system' ? (r.Message.length > 5000 ? "PARTIAL CONTENT: " + r.Message.substring(0, 5000) : r.Message) : r.Message,
272
+ content: skipRole === 'system' ? outputMessage : r.Message,
185
273
  role: skipRole,
186
274
  };
187
275
  return m;
@@ -196,6 +284,8 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
196
284
  MapDBRoleToSkipRole(role) {
197
285
  switch (role.trim().toLowerCase()) {
198
286
  case 'ai':
287
+ case 'system':
288
+ case 'assistant':
199
289
  return 'system';
200
290
  default:
201
291
  return 'user';
@@ -287,7 +377,7 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
287
377
  const convoDetailEntityAI = await md.GetEntityObject('Conversation Details', user);
288
378
  convoDetailEntityAI.NewRecord();
289
379
  convoDetailEntityAI.ConversationID = ConversationId;
290
- convoDetailEntityAI.Message = apiResponse.clarifyingQuestion;
380
+ convoDetailEntityAI.Message = JSON.stringify(apiResponse);
291
381
  convoDetailEntityAI.Role = 'AI';
292
382
  if (await convoDetailEntityAI.Save()) {
293
383
  return {
@@ -325,36 +415,23 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
325
415
  });
326
416
  for (const dr of apiResponse.dataRequest) {
327
417
  try {
418
+ const item = dataContext.AddDataContextItem();
328
419
  switch (dr.type) {
329
420
  case "sql":
330
- const sql = dr.text;
331
- const result = await dataSource.query(sql);
332
- if (!result)
333
- throw new Error(`Error running SQL: ${sql}`);
334
- const item = new data_context_1.DataContextItem();
335
421
  item.Type = 'sql';
336
- item.Data = result;
337
422
  item.SQL = dr.text;
338
423
  item.AdditionalDescription = dr.description;
339
- dataContext.Items.push(item);
424
+ await item.LoadData(dataSource, false, user);
340
425
  break;
341
426
  case "stored_query":
342
427
  const queryName = dr.text;
343
428
  const query = md.Queries.find((q) => q.Name === queryName);
344
429
  if (query) {
345
- const rq = new core_1.RunQuery();
346
- const result = await rq.RunQuery({ QueryID: query.ID }, user);
347
- if (result && result.Success) {
348
- const item = new data_context_1.DataContextItem();
349
- item.Type = 'query';
350
- item.Data = result.Results;
351
- item.QueryID = query.ID;
352
- item.RecordName = query.Name;
353
- item.AdditionalDescription = dr.description;
354
- dataContext.Items.push(item);
355
- }
356
- else
357
- throw new Error(`Error running query ${queryName}`);
430
+ item.Type = 'query';
431
+ item.QueryID = query.ID;
432
+ item.RecordName = query.Name;
433
+ item.AdditionalDescription = dr.description;
434
+ await item.LoadData(dataSource, false, user);
358
435
  }
359
436
  else
360
437
  throw new Error(`Query ${queryName} not found.`);
@@ -426,35 +503,7 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
426
503
  conversationId: convoEntity.ID,
427
504
  });
428
505
  await userNotification.Save();
429
- for (const item of dataContext.Items) {
430
- const dciEntity = await md.GetEntityObject('Data Context Items', user);
431
- if (item.DataContextItemID > 0)
432
- await dciEntity.Load(item.DataContextItemID);
433
- else
434
- dciEntity.NewRecord();
435
- dciEntity.DataContextID = dataContextEntity.ID;
436
- dciEntity.Type = item.Type;
437
- switch (item.Type) {
438
- case 'full_entity':
439
- case 'single_record':
440
- const e = item.Entity || md.Entities.find((e) => e.Name === item.EntityName);
441
- dciEntity.EntityID = e.ID;
442
- if (item.Type === 'single_record')
443
- dciEntity.RecordID = item.RecordID;
444
- break;
445
- case 'view':
446
- dciEntity.ViewID = item.ViewID;
447
- break;
448
- case 'query':
449
- dciEntity.QueryID = item.QueryID;
450
- break;
451
- case 'sql':
452
- dciEntity.SQL = item.SQL;
453
- break;
454
- }
455
- dciEntity.DataJSON = JSON.stringify(item.Data);
456
- await dciEntity.Save();
457
- }
506
+ dataContext.SaveItems(user, false);
458
507
  pubSub.publish(PushStatusResolver_1.PUSH_STATUS_UPDATES_TOPIC, {
459
508
  message: JSON.stringify({
460
509
  type: 'UserNotifications',
@@ -481,7 +530,7 @@ let AskSkipResolver = AskSkipResolver_1 = class AskSkipResolver {
481
530
  };
482
531
  exports.AskSkipResolver = AskSkipResolver;
483
532
  AskSkipResolver._defaultNewChatName = 'New Chat';
484
- AskSkipResolver._maxHistoricalMessages = 8;
533
+ AskSkipResolver._maxHistoricalMessages = 20;
485
534
  __decorate([
486
535
  (0, type_graphql_1.Query)(() => AskSkipResultType),
487
536
  __param(0, (0, type_graphql_1.Arg)('UserQuestion', () => String)),
@@ -1 +1 @@
1
- {"version":3,"file":"AskSkipResolver.js","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,+CAAuG;AACvG,+CAAkJ;AAElJ,mFAAmE;AACnE,+DAA2E;AAE3E,kDAA0B;AAC1B,gDAAwB;AACxB,+BAAiC;AAEjC,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,CAAC;AAElC,sEAA0E;AAG1E,sCAA2D;AAG3D,+CAAgD;AAChD,mDAAkD;AAGlD,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IACpB,+DAA0C,CAAA;IAC1C,iDAA4B,CAAA;IAC5B,2DAAsC,CAAA;AACxC,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAED,IAAA,+BAAgB,EAAC,iBAAiB,EAAE;IAClC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mFAAmF;CACjG,CAAC,CAAC;AAII,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAqB7B,CAAA;AArBY,8CAAiB;AAE5B;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;kDACJ;AAGjB;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;iDACL;AAGf;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;;wDACE;AAGjC;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;iDACL;AAGf;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,kBAAG,CAAC;;yDACM;AAGvB;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,kBAAG,CAAC;;0EACuB;AAGxC;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,kBAAG,CAAC;;wEACqB;4BApB3B,iBAAiB;IAD7B,IAAA,yBAAU,GAAE;GACA,iBAAiB,CAqB7B;AAIM,IAAM,eAAe,uBAArB,MAAM,eAAe;IAMpB,AAAN,KAAK,CAAC,2BAA2B,CACI,YAAoB,EACrB,cAAsB,EACjD,EAAE,UAAU,EAAE,WAAW,EAAc,EACpC,MAAoB,EACuB,aAAsB;QAE3E,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,kCAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,yBAAyB,CAAC,CAAC;QAE/E,MAAM,EAAC,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAC,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QAEnM,MAAM,cAAc,GAAG,wBAAe,CAAC;QAGvC,MAAM,QAAQ,GAAkB,MAAM,IAAI,CAAC,uCAAuC,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,iBAAe,CAAC,sBAAsB,CAAC,CAAC;QAEvJ,MAAM,KAAK,GAAmB;YACd,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE;YACzC,WAAW,EAAE,WAAW;YACxB,cAAc,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,YAAY,EAAE,iBAAiB;SAChC,CAAC;QAEhB,MAAM,CAAC,OAAO,CAAC,8CAAyB,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,qEAAqE;aAC/E,CAAC;YACF,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAChL,CAAC;IAGS,KAAK,CAAC,8BAA8B,CAAC,UAAsB,EACtB,cAAsB,EACtB,YAAoB,EACpB,IAAc,EACd,WAAwB,EACxB,EAAY,EACZ,aAAqB;QAIlE,MAAM,WAAW,GAAuB,MAAM,EAAE,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACxF,IAAI,iBAAoC,CAAC;QAEzC,IAAI,CAAC,cAAc,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YAE3C,WAAW,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;gBAC7B,WAAW,CAAC,IAAI,GAAG,iBAAe,CAAC,mBAAmB,CAAC;gBAEvD,iBAAiB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAoB,eAAe,EAAE,IAAI,CAAC,CAAC;gBACvF,IAAI,CAAC,aAAa,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;oBACzC,iBAAiB,CAAC,SAAS,EAAE,CAAC;oBAC9B,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;oBACnC,iBAAiB,CAAC,IAAI,GAAG,oCAAoC,CAAC;oBAC9D,IAAI,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE;wBACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBAC1D,CAAC;qBACI,CAAC;oBACJ,MAAM,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9C,CAAC;gBACD,WAAW,CAAC,aAAa,GAAG,iBAAiB,CAAC,EAAE,CAAC;gBACjD,IAAI,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC7B,cAAc,GAAG,WAAW,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;wBAEhD,iBAAiB,CAAC,IAAI,IAAI,IAAI,cAAc,EAAE,CAAC;wBAC/C,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;oBACjC,CAAC;gBACH,CAAC;;oBAEC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;iBACI,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,yBAAyB,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvC,iBAAiB,GAAG,MAAM,EAAE,CAAC,eAAe,CAAoB,eAAe,EAAE,IAAI,CAAC,CAAC;YAGvF,IAAI,aAAa,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;gBACtF,IAAI,WAAW,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBACvC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;oBAC1C,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC3B,CAAC;;oBAEC,OAAO,CAAC,IAAI,CAAC,kCAAkC,aAAa,yGAAyG,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;YACtM,CAAC;YAED,MAAM,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;QAID,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,eAAe,CAA2B,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC3G,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC9B,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QAClD,iBAAiB,CAAC,OAAO,GAAG,YAAY,CAAC;QACzC,iBAAiB,CAAC,IAAI,GAAG,MAAM,CAAC;QAChC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACrC,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAE/B,MAAM,WAAW,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAc,0BAAW,CAAC,CAAC;QAC5F,MAAM,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,CAAC;IAC1E,CAAC;IAES,KAAK,CAAC,uCAAuC,CAAC,UAAsB,EAAE,cAAsB,EAAE,qBAA8B;QACpI,IAAI,CAAC;YAEH,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;YACrE,MAAM,GAAG,GAAG;wBACM,qBAAqB,CAAC,CAAC,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE;;wBAE3D,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ;;yCAET,cAAc;;wCAEf,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM;gBACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;iBACzC,CAAC;gBAIL,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;oBAChD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACpC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACpC,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBAGH,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAA2B,EAAE,EAAE;oBAGpD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM,CAAC,GAAgB;wBACrB,OAAO,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;wBACvI,IAAI,EAAE,QAAQ;qBACf,CAAC;oBACF,OAAO,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAES,mBAAmB,CAAC,IAAY;QACxC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAClC,KAAK,IAAI;gBACP,OAAO,QAAQ,CAAC;YAClB;gBACE,OAAO,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,KAAqB,EAAE,YAAoB,EAAE,IAAc,EAAE,UAAsB,EACnF,cAAsB,EAAE,WAAwB,EAAE,MAAoB,EAAE,EAAY,EACpF,WAA+B,EAAE,iBAA2C,EAC5E,WAAwB,EAAE,iBAAoC;QAC9F,IAAA,gBAAS,EAAC,gCAAgC,sBAAa,EAAE,CAAC,CAAA;QAG1D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAGzE,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,sBAAa,EAAE,iBAAiB,EAAE;YAClE,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,kBAAkB,EAAE,MAAM;aAC3B;SACF,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAoB,QAAQ,CAAC,IAAI,CAAC;YACnD,IAAA,gBAAS,EAAC,wBAAwB,WAAW,CAAC,aAAa,EAAE,CAAC,CAAA;YAC9D,IAAI,CAAC,mCAAmC,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAG3E,IAAI,WAAW,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;gBACjD,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAA8B,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;YAChO,CAAC;iBACI,IAAI,WAAW,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;gBAE7D,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAqC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;YAC9M,CAAC;iBACI,IAAI,WAAW,CAAC,aAAa,KAAK,mBAAmB,EAAE,CAAC;gBAC3D,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAmC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACrO,CAAC;iBACI,CAAC;gBAEJ,MAAM,IAAI,KAAK,CAAC,oCAAoC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;aACI,CAAC;YACJ,MAAM,CAAC,OAAO,CAAC,8CAAyB,EAAE;gBACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACtB,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,kGAAkG;iBAC5G,CAAC;gBACF,SAAS,EAAE,WAAW,CAAC,SAAS;aACjC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,iBAAiB,YAAY,eAAe;gBACpD,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;gBACjD,cAAc,EAAE,cAAc;gBAC9B,+BAA+B,EAAE,CAAC;gBAClC,6BAA6B,EAAE,CAAC;aACjC,CAAC;QACJ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,mCAAmC,CAAC,WAA4B,EAAE,WAAwB,EAAE,MAAoB;QAC9H,IAAI,YAAY,GAAW,EAAE,CAAC;QAC9B,QAAQ,WAAW,CAAC,aAAa,EAAE,CAAC;YAClC,KAAK,cAAc;gBACjB,YAAY,GAAG,4EAA4E,CAAC;gBAC5F,MAAM;YACR,KAAK,mBAAmB;gBACtB,YAAY,GAAG,2EAA2E,CAAC;gBAC3F,MAAM;YACR,KAAK,qBAAqB;gBACxB,YAAY,GAAG,4GAA4G,CAAC;gBAC5H,MAAM;QACV,CAAC;QAGD,MAAM,CAAC,OAAO,CAAC,8CAAyB,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,YAAY;aACtB,CAAC;YACF,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,UAA0B,EAAE,WAA4C,EAAE,YAAoB,EAAE,IAAc,EAAE,UAAsB,EACtI,cAAsB,EAAE,WAAwB,EAAE,MAAoB,EAAE,WAA+B,EAAE,iBAA2C,EACpJ,WAAwB,EAAE,iBAAoC;QAGnG,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;QAC1B,MAAM,EAAC,6BAA6B,EAAC,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAE5K,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;YACjD,cAAc,EAAE,cAAc;YAC9B,+BAA+B,EAAE,iBAAiB,CAAC,EAAE;YACrD,6BAA6B,EAAE,6BAA6B;YAC5D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SACpC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,6BAA6B,CAAC,UAA0B,EAAE,WAA8C,EAAE,YAAoB,EAAE,IAAc,EAAE,UAAsB,EACxI,cAAsB,EAAE,WAAwB,EAAE,MAAoB,EAAE,WAA+B,EAAE,iBAA2C;QAEhM,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;QAC1B,MAAM,mBAAmB,GAA6B,MAAM,EAAE,CAAC,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC7G,mBAAmB,CAAC,SAAS,EAAE,CAAC;QAChC,mBAAmB,CAAC,cAAc,GAAG,cAAc,CAAC;QACpD,mBAAmB,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC;QAC7D,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;QAChC,IAAI,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,aAAa,EAAE,iBAAiB,CAAC,kBAAkB;gBACnD,cAAc,EAAE,cAAc;gBAC9B,+BAA+B,EAAE,iBAAiB,CAAC,EAAE;gBACrD,6BAA6B,EAAE,mBAAmB,CAAC,EAAE;gBACrD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aACpC,CAAC;QACJ,CAAC;aACI,CAAC;YACJ,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;gBACf,aAAa,EAAE,iBAAiB,CAAC,kBAAkB;gBACnD,cAAc,EAAE,cAAc;gBAC9B,+BAA+B,EAAE,iBAAiB,CAAC,EAAE;gBACrD,6BAA6B,EAAE,mBAAmB,CAAC,EAAE;gBACrD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,UAA0B,EAAE,WAAuC,EAAE,YAAoB,EAAE,IAAc,EAAE,UAAsB,EACjI,cAAsB,EAAE,WAAwB,EAAE,MAAoB,EAAE,WAA+B,EAAE,iBAA2C,EACpJ,WAAwB,EAAE,iBAAoC;QAEnG,IAAI,CAAC;YACH,MAAM,wBAAwB,GAAG,CAAC,CAAC;YACnC,MAAM,kCAAkC,GAAG,8BAA8B,CAAC;YAC1E,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,EAAE,CAAC;YAG3B,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACvB,OAAO,EAAE;oBACG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;gBACrD,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YAEH,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;wBAChB,KAAK,KAAK;4BACR,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;4BACpB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC3C,IAAI,CAAC,MAAM;gCACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;4BAE/C,MAAM,IAAI,GAAG,IAAI,8BAAe,EAAE,CAAC;4BACnC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;4BAClB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;4BACnB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;4BACnB,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,WAAW,CAAC;4BAC5C,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC7B,MAAM;wBACR,KAAK,cAAc;4BACjB,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC;4BAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;4BAC3D,IAAI,KAAK,EAAE,CAAC;gCACV,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;gCAC1B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAC,EAAE,IAAI,CAAC,CAAA;gCAC3D,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oCAC7B,MAAM,IAAI,GAAG,IAAI,8BAAe,EAAE,CAAC;oCACnC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;oCACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;oCAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;oCACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;oCAC7B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,WAAW,CAAC;oCAC5C,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAC/B,CAAC;;oCAEC,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;4BACxD,CAAC;;gCAEC,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,aAAa,CAAC,CAAC;4BACnD,MAAM;oBACV,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,EAAE,CAAC;oBACT,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;oBACZ,eAAe,CAAC,IAAI,CAAC,EAAC,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,+BAA+B,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC7I,IAAI,+BAA+B,GAAG,wBAAwB,EAAE,CAAC;oBAE/D,IAAA,gBAAS,EAAC,uFAAuF,wBAAwB,oCAAoC,CAAC,CAAC;oBAC/J,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,4HAA4H;wBACpI,aAAa,EAAE,iBAAiB,CAAC,WAAW;wBAC5C,cAAc,EAAE,cAAc;wBAC9B,+BAA+B,EAAE,iBAAiB,CAAC,EAAE;wBACrD,6BAA6B,EAAE,CAAC;wBAChC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;qBACpC,CAAC;gBACJ,CAAC;qBACI,CAAC;oBACJ,IAAA,gBAAS,EAAC,oHAAoH,CAAC,CAAC;oBAChI,UAAU,CAAC,YAAY,GAAG,wBAAwB,CAAC;oBACnD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACvB,OAAO,EAAE,GAAG,kCAAkC,KAAK,+BAA+B,OAAO,wBAAwB;wBACrG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;qBAClC;wBACT,IAAI,EAAE,MAAM;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBACI,CAAC;gBACF,UAAU,CAAC,YAAY,GAAG,yBAAyB,CAAC;YACtD,CAAC;YAEH,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACrL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAYS,KAAK,CAAC,+BAA+B,CAAC,WAA4C,EAAE,WAAwB,EAAE,iBAAoC,EAAE,EAAY,EAAE,IAAc,EAAE,WAA+B,EAAE,MAAoB,EAAE,WAAwB;QACzQ,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAG5C,MAAM,mBAAmB,GAA6B,MAAM,EAAE,CAAC,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC7G,mBAAmB,CAAC,SAAS,EAAE,CAAC;QAChC,mBAAmB,CAAC,cAAc,GAAG,WAAW,CAAC,EAAE,CAAC;QACpD,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;QACtC,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;QAChC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAGjC,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAe,CAAC,mBAAmB,IAAI,MAAM,IAAI,MAAM,KAAK,iBAAe,CAAC,mBAAmB,EAAE,CAAC;YACzH,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC;YAC1B,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QAGD,MAAM,gBAAgB,GAA2B,MAAM,EAAE,CAAC,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACtG,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAC7B,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAClC,gBAAgB,CAAC,KAAK,GAAG,kBAAkB,GAAG,MAAM,CAAC;QACrD,gBAAgB,CAAC,OAAO,GAAG,oHAAoH,CAAC;QAChJ,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC;QAC/B,gBAAgB,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC;YACtD,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,WAAW,CAAC,EAAE;SAC/B,CAAC,CAAC;QACH,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAG9B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,SAAS,GAA0B,MAAM,EAAE,CAAC,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;YAC9F,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC;gBAC5B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;;gBAE7C,SAAS,CAAC,SAAS,EAAE,CAAC;YACxB,SAAS,CAAC,aAAa,GAAG,iBAAiB,CAAC,EAAE,CAAC;YAC/C,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,aAAa,CAAC;gBACnB,KAAK,eAAe;oBAClB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC7E,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;wBAC/B,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrC,MAAM;gBACR,KAAK,MAAM;oBACT,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC/B,MAAM;gBACR,KAAK,OAAO;oBACV,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBACjC,MAAM;gBACR,KAAK,KAAK;oBACR,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACzB,MAAM;YACV,CAAC;YACD,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAGD,MAAM,CAAC,OAAO,CAAC,8CAAyB,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtB,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,gBAAgB,CAAC,EAAE;iBAC9B;aACF,CAAC;YACF,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,OAAO;YACL,6BAA6B,EAAE,mBAAmB,CAAC,EAAE;SACtD,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAc;QACxD,MAAM,EAAE,GAAG,IAAI,cAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAC,EAAE,IAAI,CAAC,CAAC;QAC7E,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO;YAC1B,OAAO,MAAM,CAAC,OAAO,CAAC;;YAEtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;;AAhgBU,0CAAe;AACX,mCAAmB,GAAG,UAAU,AAAb,CAAc;AACjC,sCAAsB,GAAG,CAAC,AAAJ,CAAK;AAIpC;IADL,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAE5B,WAAA,IAAA,kBAAG,EAAC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IACjC,WAAA,IAAA,kBAAG,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAG,CAAC,CAAA;IAChC,WAAA,IAAA,kBAAG,GAAE,CAAA;IACL,WAAA,IAAA,qBAAM,GAAE,CAAA;IACR,WAAA,IAAA,kBAAG,EAAC,eAAe,EAAE,GAAG,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;6DADlC,2BAAY;;kEAgC/B;0BA1CU,eAAe;IAD3B,IAAA,uBAAQ,EAAC,iBAAiB,CAAC;GACf,eAAe,CAigB3B;AAED,kBAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"AskSkipResolver.js","sourceRoot":"","sources":["../../src/resolvers/AskSkipResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "0.9.169",
3
+ "version": "0.9.172",
4
4
  "description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
5
5
  "main": "dist/index.js",
6
6
  "types": "src/index.ts",
@@ -25,12 +25,12 @@
25
25
  "@memberjunction/aiengine": "^0.9.23",
26
26
  "@memberjunction/core": "^0.9.142",
27
27
  "@memberjunction/core-entities": "^0.9.125",
28
- "@memberjunction/data-context": "^0.9.4",
29
- "@memberjunction/data-context-server": "^0.9.2",
28
+ "@memberjunction/data-context": "^0.9.6",
29
+ "@memberjunction/data-context-server": "^0.9.4",
30
30
  "@memberjunction/global": "^0.9.132",
31
31
  "@memberjunction/queue": "^0.9.143",
32
32
  "@memberjunction/sqlserver-dataprovider": "^0.9.154",
33
- "@memberjunction/skip-types": "^0.9.20",
33
+ "@memberjunction/skip-types": "^0.9.22",
34
34
  "@types/cors": "^2.8.13",
35
35
  "@types/jsonwebtoken": "^8.5.9",
36
36
  "@types/node": "^18.11.14",
@@ -1,9 +1,12 @@
1
1
  import { Arg, Ctx, Field, Int, ObjectType, PubSub, PubSubEngine, Query, Resolver } from 'type-graphql';
2
- import { LogError, LogStatus, Metadata, PrimaryKeyValue, RunQuery, RunQueryParams, RunView, RunViewParams, UserInfo } from '@memberjunction/core';
2
+ import { LogError, LogStatus, Metadata, RunView, UserInfo } from '@memberjunction/core';
3
3
  import { AppContext, UserPayload } from '../types';
4
4
  import { UserCache } from '@memberjunction/sqlserver-dataprovider';
5
- import { DataContext, DataContextItem } from '@memberjunction/data-context'
6
- import { SkipAPIRequest, SkipAPIResponse, SkipMessage, SkipAPIAnalysisCompleteResponse, SkipAPIDataRequestResponse, SkipAPIClarifyingQuestionResponse } from '@memberjunction/skip-types';
5
+ import { DataContext } from '@memberjunction/data-context'
6
+ import { LoadDataContextItemsServer } from '@memberjunction/data-context-server';
7
+ LoadDataContextItemsServer(); // prevent tree shaking since the DataContextItemServer class is not directly referenced in this file or otherwise statically instantiated, so it could be removed by the build process
8
+
9
+ import { SkipAPIRequest, SkipAPIResponse, SkipMessage, SkipAPIAnalysisCompleteResponse, SkipAPIDataRequestResponse, SkipAPIClarifyingQuestionResponse, SkipEntityInfo } from '@memberjunction/skip-types';
7
10
  import axios from 'axios';
8
11
  import zlib from 'zlib';
9
12
  import { promisify } from 'util';
@@ -11,9 +14,9 @@ import { promisify } from 'util';
11
14
  const gzip = promisify(zlib.gzip);
12
15
 
13
16
  import { PUSH_STATUS_UPDATES_TOPIC } from '../generic/PushStatusResolver';
14
- import { ConversationDetailEntity, ConversationEntity, DataContextEntity, DataContextItemEntity, UserNotificationEntity, UserViewEntity, UserViewEntityExtended } from '@memberjunction/core-entities';
17
+ import { ConversationDetailEntity, ConversationEntity, DataContextEntity, DataContextItemEntity, UserNotificationEntity } from '@memberjunction/core-entities';
15
18
  import { DataSource } from 'typeorm';
16
- import { ___skipAPIOrgId, ___skipAPIurl } from '../config';
19
+ import { ___skipAPIOrgId, ___skipAPIurl, mj_core_schema } from '../config';
17
20
 
18
21
 
19
22
  import { registerEnumType } from "type-graphql";
@@ -60,7 +63,7 @@ export class AskSkipResultType {
60
63
  @Resolver(AskSkipResultType)
61
64
  export class AskSkipResolver {
62
65
  private static _defaultNewChatName = 'New Chat';
63
- private static _maxHistoricalMessages = 8;
66
+ private static _maxHistoricalMessages = 20;
64
67
 
65
68
 
66
69
  @Query(() => AskSkipResultType)
@@ -87,7 +90,8 @@ export class AskSkipResolver {
87
90
  conversationID: ConversationId.toString(),
88
91
  dataContext: dataContext,
89
92
  organizationID: !isNaN(parseInt(OrganizationId)) ? parseInt(OrganizationId) : 0,
90
- requestPhase: 'initial_request'
93
+ requestPhase: 'initial_request',
94
+ entities: this.BuildSkipEntityInfo()
91
95
  };
92
96
 
93
97
  pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {
@@ -102,6 +106,71 @@ export class AskSkipResolver {
102
106
  return this.HandleSkipRequest(input, UserQuestion, user, dataSource, ConversationId, userPayload, pubSub, md, convoEntity, convoDetailEntity, dataContext, dataContextEntity);
103
107
  }
104
108
 
109
+ protected BuildSkipEntityInfo(): SkipEntityInfo[] {
110
+ // build the entity info for skip in its format which is
111
+ // narrower in scope than our native MJ metadata
112
+ // don't pass the mj_core_schema entities
113
+ const md = new Metadata();
114
+ return md.Entities.filter(e => e.SchemaName !== mj_core_schema ).map((e) => {
115
+ const ret: SkipEntityInfo = {
116
+ id: e.ID,
117
+ name: e.Name,
118
+ schemaName: e.SchemaName,
119
+ baseView: e.BaseView,
120
+ description: e.Description,
121
+ fields: e.Fields.map((f) => {
122
+ return {
123
+ id: f.ID,
124
+ entityID: f.EntityID,
125
+ sequence: f.Sequence,
126
+ name: f.Name,
127
+ displayName: f.DisplayName,
128
+ category: f.Category,
129
+ type: f.Type,
130
+ description: f.Description,
131
+ isPrimaryKey: f.IsPrimaryKey,
132
+ allowsNull: f.AllowsNull,
133
+ isUnique: f.IsUnique,
134
+ length: f.Length,
135
+ precision: f.Precision,
136
+ scale: f.Scale,
137
+ sqlFullType: f.SQLFullType,
138
+ defaultValue: f.DefaultValue,
139
+ autoIncrement: f.AutoIncrement,
140
+ valueListType: f.ValueListType,
141
+ extendedType: f.ExtendedType,
142
+ defaultInView: f.DefaultInView,
143
+ defaultColumnWidth: f.DefaultColumnWidth,
144
+ isVirtual: f.IsVirtual,
145
+ isNameField: f.IsNameField,
146
+ relatedEntityID: f.RelatedEntityID,
147
+ relatedEntityFieldName: f.RelatedEntityFieldName,
148
+ relatedEntity: f.RelatedEntity,
149
+ relatedEntitySchemaName: f.RelatedEntitySchemaName,
150
+ relatedEntityBaseView: f.RelatedEntityBaseView,
151
+ };
152
+ }
153
+ ),
154
+ relatedEntities: e.RelatedEntities.map((r) => {
155
+ return {
156
+ entityID: r.EntityID,
157
+ relatedEntityID: r.RelatedEntityID,
158
+ type: r.Type,
159
+ entityKeyField: r.EntityKeyField,
160
+ relatedEntityJoinField: r.RelatedEntityJoinField,
161
+ joinView: r.JoinView,
162
+ joinEntityJoinField: r.JoinEntityJoinField,
163
+ joinEntityInverseJoinField: r.JoinEntityInverseJoinField,
164
+ entity: r.Entity,
165
+ entityBaseView: r.EntityBaseView,
166
+ relatedEntity: r.RelatedEntity,
167
+ relatedEntityBaseView: r.RelatedEntityBaseView,
168
+ }
169
+ })
170
+ };
171
+ return ret;
172
+ });
173
+ }
105
174
 
106
175
  protected async HandleSkipInitialObjectLoading(dataSource: DataSource,
107
176
  ConversationId: number,
@@ -177,7 +246,7 @@ export class AskSkipResolver {
177
246
  await convoDetailEntity.Save();
178
247
 
179
248
  const dataContext = MJGlobal.Instance.ClassFactory.CreateInstance<DataContext>(DataContext); // await this.LoadDataContext(md, dataSource, dataContextEntity, user, false);
180
- await dataContext.Load(dataContextEntity.ID, dataSource, user);
249
+ await dataContext.Load(dataContextEntity.ID, dataSource, false, user);
181
250
  return {dataContext, convoEntity, dataContextEntity, convoDetailEntity};
182
251
  }
183
252
 
@@ -212,8 +281,34 @@ export class AskSkipResolver {
212
281
  // we want to limit the # of characters in the message to 5000, rough approximation for 1000 words/tokens
213
282
  // but we only do that for system messages
214
283
  const skipRole = this.MapDBRoleToSkipRole(r.Role);
284
+ let outputMessage; // will be populated below for system messages
285
+ if (skipRole === 'system') {
286
+ const detail = <SkipAPIResponse>JSON.parse(r.Message);
287
+ if (detail.responsePhase === SkipResponsePhase.AnalysisComplete) {
288
+ const analysisDetail = <SkipAPIAnalysisCompleteResponse>detail;
289
+ outputMessage = JSON.stringify({
290
+ responsePhase: SkipResponsePhase.AnalysisComplete,
291
+ techExplanation: analysisDetail.techExplanation,
292
+ userExplanation: analysisDetail.userExplanation,
293
+ scriptText: analysisDetail.scriptText,
294
+ tableDataColumns: analysisDetail.tableDataColumns
295
+ });
296
+ }
297
+ else if (detail.responsePhase === SkipResponsePhase.ClarifyingQuestion) {
298
+ const clarifyingQuestionDetail = <SkipAPIClarifyingQuestionResponse>detail;
299
+ outputMessage = JSON.stringify({
300
+ responsePhase: SkipResponsePhase.ClarifyingQuestion,
301
+ clarifyingQuestion: clarifyingQuestionDetail.clarifyingQuestion
302
+ });
303
+ }
304
+ else {
305
+ // we should never get here, AI responses only fit the above
306
+ // don't throw an exception, but log an error
307
+ LogError(`Unknown response phase: ${detail.responsePhase}`);
308
+ }
309
+ }
215
310
  const m: SkipMessage = {
216
- content: skipRole === 'system' ? (r.Message.length > 5000 ? "PARTIAL CONTENT: " + r.Message.substring(0, 5000) : r.Message) : r.Message,
311
+ content: skipRole === 'system' ? outputMessage : r.Message,
217
312
  role: skipRole,
218
313
  };
219
314
  return m;
@@ -229,6 +324,8 @@ export class AskSkipResolver {
229
324
  protected MapDBRoleToSkipRole(role: string): "user" | "system" {
230
325
  switch (role.trim().toLowerCase()) {
231
326
  case 'ai':
327
+ case 'system':
328
+ case 'assistant':
232
329
  return 'system';
233
330
  default:
234
331
  return 'user';
@@ -346,7 +443,7 @@ export class AskSkipResolver {
346
443
  const convoDetailEntityAI = <ConversationDetailEntity>await md.GetEntityObject('Conversation Details', user);
347
444
  convoDetailEntityAI.NewRecord();
348
445
  convoDetailEntityAI.ConversationID = ConversationId;
349
- convoDetailEntityAI.Message = apiResponse.clarifyingQuestion;
446
+ convoDetailEntityAI.Message = JSON.stringify(apiResponse);//.clarifyingQuestion;
350
447
  convoDetailEntityAI.Role = 'AI';
351
448
  if (await convoDetailEntityAI.Save()) {
352
449
  return {
@@ -391,37 +488,23 @@ export class AskSkipResolver {
391
488
 
392
489
  for (const dr of apiResponse.dataRequest) {
393
490
  try {
491
+ const item = dataContext.AddDataContextItem();
394
492
  switch (dr.type) {
395
493
  case "sql":
396
- const sql = dr.text;
397
- const result = await dataSource.query(sql);
398
- if (!result)
399
- throw new Error(`Error running SQL: ${sql}`);
400
-
401
- const item = new DataContextItem();
402
494
  item.Type = 'sql';
403
- item.Data = result;
404
495
  item.SQL = dr.text;
405
496
  item.AdditionalDescription = dr.description;
406
- dataContext.Items.push(item);
497
+ await item.LoadData(dataSource, false, user);
407
498
  break;
408
499
  case "stored_query":
409
500
  const queryName = dr.text;
410
501
  const query = md.Queries.find((q) => q.Name === queryName);
411
502
  if (query) {
412
- const rq = new RunQuery();
413
- const result = await rq.RunQuery({QueryID: query.ID}, user)
414
- if (result && result.Success) {
415
- const item = new DataContextItem();
416
- item.Type = 'query';
417
- item.Data = result.Results;
418
- item.QueryID = query.ID;
419
- item.RecordName = query.Name;
420
- item.AdditionalDescription = dr.description;
421
- dataContext.Items.push(item);
422
- }
423
- else
424
- throw new Error(`Error running query ${queryName}`);
503
+ item.Type = 'query';
504
+ item.QueryID = query.ID;
505
+ item.RecordName = query.Name;
506
+ item.AdditionalDescription = dr.description;
507
+ await item.LoadData(dataSource, false, user);
425
508
  }
426
509
  else
427
510
  throw new Error(`Query ${queryName} not found.`);
@@ -514,36 +597,10 @@ export class AskSkipResolver {
514
597
  });
515
598
  await userNotification.Save();
516
599
 
517
- // now, persist the data context items, first let's get
518
- for (const item of dataContext.Items) {
519
- const dciEntity = <DataContextItemEntity>await md.GetEntityObject('Data Context Items', user);
520
- if (item.DataContextItemID > 0)
521
- await dciEntity.Load(item.DataContextItemID);
522
- else
523
- dciEntity.NewRecord();
524
- dciEntity.DataContextID = dataContextEntity.ID;
525
- dciEntity.Type = item.Type;
526
- switch (item.Type) {
527
- case 'full_entity':
528
- case 'single_record':
529
- const e = item.Entity || md.Entities.find((e) => e.Name === item.EntityName);
530
- dciEntity.EntityID = e.ID;
531
- if (item.Type === 'single_record')
532
- dciEntity.RecordID = item.RecordID;
533
- break;
534
- case 'view':
535
- dciEntity.ViewID = item.ViewID;
536
- break;
537
- case 'query':
538
- dciEntity.QueryID = item.QueryID;
539
- break;
540
- case 'sql':
541
- dciEntity.SQL = item.SQL;
542
- break;
543
- }
544
- dciEntity.DataJSON = JSON.stringify(item.Data);
545
- await dciEntity.Save();
546
- }
600
+ // Save the data context items...
601
+ // FOR NOW, we don't want to store the data in the database, we will just load it from the data context when we need it
602
+ // we need a better strategy to persist because the cost of storage and retrieval/parsing is higher than just running the query again in many/most cases
603
+ dataContext.SaveItems(user, false);
547
604
 
548
605
  // send a UI update trhough pub-sub
549
606
  pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {