@awell-health/awell-extensions 2.0.280 → 2.0.282

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.
@@ -4,6 +4,7 @@ exports.getFormAnswers = void 0;
4
4
  const extensions_core_1 = require("@awell-health/extensions-core");
5
5
  const config_1 = require("./config");
6
6
  const validatePayloadAndCreateSdk_1 = require("../../lib/sdk/validatePayloadAndCreateSdk");
7
+ const processFormAnswers_1 = require("../../lib/helpers/processFormAnswers");
7
8
  exports.getFormAnswers = {
8
9
  key: 'getFormAnswers',
9
10
  category: extensions_core_1.Category.EHR_INTEGRATIONS,
@@ -14,16 +15,41 @@ exports.getFormAnswers = {
14
15
  dataPoints: config_1.dataPoints,
15
16
  onActivityCreated: async (payload, onComplete, onError) => {
16
17
  var _a;
17
- const { fields: input, sdk } = await (0, validatePayloadAndCreateSdk_1.validatePayloadAndCreateSdk)({
18
+ const { fields: input, sdk, settings, } = await (0, validatePayloadAndCreateSdk_1.validatePayloadAndCreateSdk)({
18
19
  fieldsSchema: config_1.FieldsValidationSchema,
19
20
  payload,
20
21
  });
21
- const res = await sdk.getFormAnswerGroup(input);
22
- await onComplete({
23
- data_points: {
24
- formAnswers: JSON.stringify((_a = res.data.formAnswerGroup) === null || _a === void 0 ? void 0 : _a.form_answers),
25
- },
26
- });
22
+ const { formAnswerMaxSizeKB } = settings;
23
+ try {
24
+ const res = await sdk.getFormAnswerGroup(input);
25
+ const rawFormAnswerGroup = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.formAnswerGroup;
26
+ if (!rawFormAnswerGroup) {
27
+ throw new Error(`Form answer group not found for id: ${input.id}`);
28
+ }
29
+ // Process form answers to replace large ones with error messages
30
+ const processedFormAnswerGroup = (0, processFormAnswers_1.processFormAnswersForSize)(rawFormAnswerGroup, formAnswerMaxSizeKB);
31
+ await onComplete({
32
+ data_points: {
33
+ formAnswers: JSON.stringify(processedFormAnswerGroup.form_answers),
34
+ },
35
+ });
36
+ }
37
+ catch (error) {
38
+ await onError({
39
+ events: [
40
+ {
41
+ date: new Date().toISOString(),
42
+ text: {
43
+ en: error instanceof Error ? error.message : 'Unknown error',
44
+ },
45
+ error: {
46
+ category: 'BAD_REQUEST',
47
+ message: error instanceof Error ? error.message : 'Unknown error',
48
+ },
49
+ },
50
+ ],
51
+ });
52
+ }
27
53
  },
28
54
  };
29
55
  //# sourceMappingURL=getFormAnswers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFormAnswers.js","sourceRoot":"","sources":["../../../../../extensions/healthie/actions/getFormAnswers/getFormAnswers.ts"],"names":[],"mappings":";;;AACA,mEAAwD;AAExD,qCAAqE;AACrE,2FAAuF;AAE1E,QAAA,cAAc,GAA2C;IACpE,GAAG,EAAE,gBAAgB;IACrB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,IAAI;IACjB,UAAU,EAAV,mBAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAiB,EAAE;;QACvE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,yDAA2B,EAAC;YAC/D,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAE/C,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAA,GAAG,CAAC,IAAI,CAAC,eAAe,0CAAE,YAAY,CAAC;aACpE;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"getFormAnswers.js","sourceRoot":"","sources":["../../../../../extensions/healthie/actions/getFormAnswers/getFormAnswers.ts"],"names":[],"mappings":";;;AACA,mEAAwD;AAExD,qCAAqE;AACrE,2FAAuF;AACvF,6EAAgF;AAEnE,QAAA,cAAc,GAA2C;IACpE,GAAG,EAAE,gBAAgB;IACrB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,IAAI;IACjB,UAAU,EAAV,mBAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAiB,EAAE;;QACvE,MAAM,EACJ,MAAM,EAAE,KAAK,EACb,GAAG,EACH,QAAQ,GACT,GAAG,MAAM,IAAA,yDAA2B,EAAC;YACpC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,EAAE,mBAAmB,EAAE,GAAG,QAAQ,CAAA;QAExC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAE/C,MAAM,kBAAkB,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,eAAe,CAAA;YAErD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;YACpE,CAAC;YAED,iEAAiE;YACjE,MAAM,wBAAwB,GAAG,IAAA,8CAAyB,EACxD,kBAAkB,EAClB,mBAAmB,CACpB,CAAA;YAED,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,YAAY,CAAC;iBACnE;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC;gBACZ,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE;4BACJ,EAAE,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAC7D;wBACD,KAAK,EAAE;4BACL,QAAQ,EAAE,aAAa;4BACvB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAClE;qBACF;iBACF;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF,CAAA"}
@@ -22,6 +22,13 @@ export declare const actions: {
22
22
  required: true;
23
23
  description: string;
24
24
  };
25
+ formAnswerMaxSizeKB: {
26
+ key: string;
27
+ label: string;
28
+ obfuscated: false;
29
+ required: false;
30
+ description: string;
31
+ };
25
32
  }, string>;
26
33
  getSetPasswordLink: import("@awell-health/extensions-core").Action<{
27
34
  healthiePatientId: {
@@ -46,6 +53,13 @@ export declare const actions: {
46
53
  required: true;
47
54
  description: string;
48
55
  };
56
+ formAnswerMaxSizeKB: {
57
+ key: string;
58
+ label: string;
59
+ obfuscated: false;
60
+ required: false;
61
+ description: string;
62
+ };
49
63
  }, string>;
50
64
  createAppointment: import("@awell-health/extensions-core").Action<{
51
65
  patientId: {
@@ -118,6 +132,13 @@ export declare const actions: {
118
132
  required: true;
119
133
  description: string;
120
134
  };
135
+ formAnswerMaxSizeKB: {
136
+ key: string;
137
+ label: string;
138
+ obfuscated: false;
139
+ required: false;
140
+ description: string;
141
+ };
121
142
  }, "appointmentId">;
122
143
  createTask: import("@awell-health/extensions-core").Action<{
123
144
  patientId: {
@@ -192,6 +213,13 @@ export declare const actions: {
192
213
  required: true;
193
214
  description: string;
194
215
  };
216
+ formAnswerMaxSizeKB: {
217
+ key: string;
218
+ label: string;
219
+ obfuscated: false;
220
+ required: false;
221
+ description: string;
222
+ };
195
223
  }, "taskId">;
196
224
  getAppointment: import("@awell-health/extensions-core").Action<{
197
225
  appointmentId: {
@@ -215,6 +243,13 @@ export declare const actions: {
215
243
  required: true;
216
244
  description: string;
217
245
  };
246
+ formAnswerMaxSizeKB: {
247
+ key: string;
248
+ label: string;
249
+ obfuscated: false;
250
+ required: false;
251
+ description: string;
252
+ };
218
253
  }, "patientId" | "date" | "appointmentTypeName" | "appointmentTypeId" | "appointmentStatus" | "contactType">;
219
254
  getPatient: import("@awell-health/extensions-core").Action<{
220
255
  patientId: {
@@ -238,6 +273,13 @@ export declare const actions: {
238
273
  required: true;
239
274
  description: string;
240
275
  };
276
+ formAnswerMaxSizeKB: {
277
+ key: string;
278
+ label: string;
279
+ obfuscated: false;
280
+ required: false;
281
+ description: string;
282
+ };
241
283
  }, "firstName" | "lastName" | "email" | "dob" | "phoneNumber" | "gender" | "isoSex" | "primaryProviderId" | "groupName">;
242
284
  sendChatMessage: import("@awell-health/extensions-core").Action<{
243
285
  healthie_patient_id: {
@@ -276,6 +318,13 @@ export declare const actions: {
276
318
  required: true;
277
319
  description: string;
278
320
  };
321
+ formAnswerMaxSizeKB: {
322
+ key: string;
323
+ label: string;
324
+ obfuscated: false;
325
+ required: false;
326
+ description: string;
327
+ };
279
328
  }, "conversationId">;
280
329
  createPatient: import("@awell-health/extensions-core").Action<{
281
330
  first_name: {
@@ -360,6 +409,13 @@ export declare const actions: {
360
409
  required: true;
361
410
  description: string;
362
411
  };
412
+ formAnswerMaxSizeKB: {
413
+ key: string;
414
+ label: string;
415
+ obfuscated: false;
416
+ required: false;
417
+ description: string;
418
+ };
363
419
  }, "healthiePatientId">;
364
420
  updatePatient: import("@awell-health/extensions-core").Action<{
365
421
  id: {
@@ -497,6 +553,13 @@ export declare const actions: {
497
553
  required: true;
498
554
  description: string;
499
555
  };
556
+ formAnswerMaxSizeKB: {
557
+ key: string;
558
+ label: string;
559
+ obfuscated: false;
560
+ required: false;
561
+ description: string;
562
+ };
500
563
  }, string>;
501
564
  applyTagToPatient: import("@awell-health/extensions-core").Action<{
502
565
  id: {
@@ -528,6 +591,13 @@ export declare const actions: {
528
591
  required: true;
529
592
  description: string;
530
593
  };
594
+ formAnswerMaxSizeKB: {
595
+ key: string;
596
+ label: string;
597
+ obfuscated: false;
598
+ required: false;
599
+ description: string;
600
+ };
531
601
  }, string>;
532
602
  removeTagFromPatient: import("@awell-health/extensions-core").Action<{
533
603
  id: {
@@ -559,6 +629,13 @@ export declare const actions: {
559
629
  required: true;
560
630
  description: string;
561
631
  };
632
+ formAnswerMaxSizeKB: {
633
+ key: string;
634
+ label: string;
635
+ obfuscated: false;
636
+ required: false;
637
+ description: string;
638
+ };
562
639
  }, string>;
563
640
  createChartingNote: import("@awell-health/extensions-core").Action<{
564
641
  healthie_patient_id: {
@@ -611,6 +688,13 @@ export declare const actions: {
611
688
  required: true;
612
689
  description: string;
613
690
  };
691
+ formAnswerMaxSizeKB: {
692
+ key: string;
693
+ label: string;
694
+ obfuscated: false;
695
+ required: false;
696
+ description: string;
697
+ };
614
698
  }, string>;
615
699
  sendFormCompletionRequest: import("@awell-health/extensions-core").Action<{
616
700
  healthie_patient_id: {
@@ -698,6 +782,13 @@ export declare const actions: {
698
782
  required: true;
699
783
  description: string;
700
784
  };
785
+ formAnswerMaxSizeKB: {
786
+ key: string;
787
+ label: string;
788
+ obfuscated: false;
789
+ required: false;
790
+ description: string;
791
+ };
701
792
  }, string>;
702
793
  archivePatient: import("@awell-health/extensions-core").Action<{
703
794
  id: {
@@ -722,6 +813,13 @@ export declare const actions: {
722
813
  required: true;
723
814
  description: string;
724
815
  };
816
+ formAnswerMaxSizeKB: {
817
+ key: string;
818
+ label: string;
819
+ obfuscated: false;
820
+ required: false;
821
+ description: string;
822
+ };
725
823
  }, string>;
726
824
  createGoal: import("@awell-health/extensions-core").Action<{
727
825
  healthiePatientId: {
@@ -774,6 +872,13 @@ export declare const actions: {
774
872
  required: true;
775
873
  description: string;
776
874
  };
875
+ formAnswerMaxSizeKB: {
876
+ key: string;
877
+ label: string;
878
+ obfuscated: false;
879
+ required: false;
880
+ description: string;
881
+ };
777
882
  }, string>;
778
883
  /**
779
884
  * There is bug in Healthie that prevents linking an address with a patient
@@ -809,6 +914,13 @@ export declare const actions: {
809
914
  required: true;
810
915
  description: string;
811
916
  };
917
+ formAnswerMaxSizeKB: {
918
+ key: string;
919
+ label: string;
920
+ obfuscated: false;
921
+ required: false;
922
+ description: string;
923
+ };
812
924
  }, string>;
813
925
  deleteAppointment: import("@awell-health/extensions-core").Action<{
814
926
  id: {
@@ -833,6 +945,13 @@ export declare const actions: {
833
945
  required: true;
834
946
  description: string;
835
947
  };
948
+ formAnswerMaxSizeKB: {
949
+ key: string;
950
+ label: string;
951
+ obfuscated: false;
952
+ required: false;
953
+ description: string;
954
+ };
836
955
  }, string>;
837
956
  cancelAppointment: import("@awell-health/extensions-core").Action<{
838
957
  id: {
@@ -857,6 +976,13 @@ export declare const actions: {
857
976
  required: true;
858
977
  description: string;
859
978
  };
979
+ formAnswerMaxSizeKB: {
980
+ key: string;
981
+ label: string;
982
+ obfuscated: false;
983
+ required: false;
984
+ description: string;
985
+ };
860
986
  }, string>;
861
987
  /**
862
988
  * Specs of this API endpoint are unclear so we are not sure what
@@ -885,6 +1011,13 @@ export declare const actions: {
885
1011
  required: true;
886
1012
  description: string;
887
1013
  };
1014
+ formAnswerMaxSizeKB: {
1015
+ key: string;
1016
+ label: string;
1017
+ obfuscated: false;
1018
+ required: false;
1019
+ description: string;
1020
+ };
888
1021
  }, string>;
889
1022
  completeTask: import("@awell-health/extensions-core").Action<{
890
1023
  id: {
@@ -909,6 +1042,13 @@ export declare const actions: {
909
1042
  required: true;
910
1043
  description: string;
911
1044
  };
1045
+ formAnswerMaxSizeKB: {
1046
+ key: string;
1047
+ label: string;
1048
+ obfuscated: false;
1049
+ required: false;
1050
+ description: string;
1051
+ };
912
1052
  }, string>;
913
1053
  assignPatientToGroup: import("@awell-health/extensions-core").Action<{
914
1054
  id: {
@@ -940,6 +1080,13 @@ export declare const actions: {
940
1080
  required: true;
941
1081
  description: string;
942
1082
  };
1083
+ formAnswerMaxSizeKB: {
1084
+ key: string;
1085
+ label: string;
1086
+ obfuscated: false;
1087
+ required: false;
1088
+ description: string;
1089
+ };
943
1090
  }, string>;
944
1091
  getMetricEntry: import("@awell-health/extensions-core").Action<{
945
1092
  patientId: {
@@ -971,6 +1118,13 @@ export declare const actions: {
971
1118
  required: true;
972
1119
  description: string;
973
1120
  };
1121
+ formAnswerMaxSizeKB: {
1122
+ key: string;
1123
+ label: string;
1124
+ obfuscated: false;
1125
+ required: false;
1126
+ description: string;
1127
+ };
974
1128
  }, "createdAt" | "metricId" | "metricValue">;
975
1129
  updatePatientQuickNote: import("@awell-health/extensions-core").Action<{
976
1130
  patientId: {
@@ -1007,6 +1161,13 @@ export declare const actions: {
1007
1161
  required: true;
1008
1162
  description: string;
1009
1163
  };
1164
+ formAnswerMaxSizeKB: {
1165
+ key: string;
1166
+ label: string;
1167
+ obfuscated: false;
1168
+ required: false;
1169
+ description: string;
1170
+ };
1010
1171
  }, string>;
1011
1172
  createMetricEntry: import("@awell-health/extensions-core").Action<{
1012
1173
  userId: {
@@ -1045,6 +1206,13 @@ export declare const actions: {
1045
1206
  required: true;
1046
1207
  description: string;
1047
1208
  };
1209
+ formAnswerMaxSizeKB: {
1210
+ key: string;
1211
+ label: string;
1212
+ obfuscated: false;
1213
+ required: false;
1214
+ description: string;
1215
+ };
1048
1216
  }, string>;
1049
1217
  checkPatientTag: import("@awell-health/extensions-core").Action<{
1050
1218
  id: {
@@ -1074,6 +1242,13 @@ export declare const actions: {
1074
1242
  required: true;
1075
1243
  description: string;
1076
1244
  };
1245
+ formAnswerMaxSizeKB: {
1246
+ key: string;
1247
+ label: string;
1248
+ obfuscated: false;
1249
+ required: false;
1250
+ description: string;
1251
+ };
1077
1252
  }, "hasTag">;
1078
1253
  checkScheduledAppointments: import("@awell-health/extensions-core").Action<{
1079
1254
  patientId: {
@@ -1104,6 +1279,13 @@ export declare const actions: {
1104
1279
  required: true;
1105
1280
  description: string;
1106
1281
  };
1282
+ formAnswerMaxSizeKB: {
1283
+ key: string;
1284
+ label: string;
1285
+ obfuscated: false;
1286
+ required: false;
1287
+ description: string;
1288
+ };
1107
1289
  }, "isScheduled">;
1108
1290
  getFormAnswers: import("@awell-health/extensions-core").Action<{
1109
1291
  id: {
@@ -1128,6 +1310,13 @@ export declare const actions: {
1128
1310
  required: true;
1129
1311
  description: string;
1130
1312
  };
1313
+ formAnswerMaxSizeKB: {
1314
+ key: string;
1315
+ label: string;
1316
+ obfuscated: false;
1317
+ required: false;
1318
+ description: string;
1319
+ };
1131
1320
  }, string>;
1132
1321
  pushFormResponseToHealthie: import("@awell-health/extensions-core").Action<{
1133
1322
  healthiePatientId: {
@@ -1166,6 +1355,13 @@ export declare const actions: {
1166
1355
  required: true;
1167
1356
  description: string;
1168
1357
  };
1358
+ formAnswerMaxSizeKB: {
1359
+ key: string;
1360
+ label: string;
1361
+ obfuscated: false;
1362
+ required: false;
1363
+ description: string;
1364
+ };
1169
1365
  }, "formAnswerGroupId">;
1170
1366
  pushFormResponsesToHealthie: import("@awell-health/extensions-core").Action<{
1171
1367
  healthiePatientId: {
@@ -1204,6 +1400,13 @@ export declare const actions: {
1204
1400
  required: true;
1205
1401
  description: string;
1206
1402
  };
1403
+ formAnswerMaxSizeKB: {
1404
+ key: string;
1405
+ label: string;
1406
+ obfuscated: false;
1407
+ required: false;
1408
+ description: string;
1409
+ };
1207
1410
  }, "formAnswerGroupId">;
1208
1411
  lockFormAnswerGroup: import("@awell-health/extensions-core").Action<{
1209
1412
  id: {
@@ -1228,5 +1431,12 @@ export declare const actions: {
1228
1431
  required: true;
1229
1432
  description: string;
1230
1433
  };
1434
+ formAnswerMaxSizeKB: {
1435
+ key: string;
1436
+ label: string;
1437
+ obfuscated: false;
1438
+ required: false;
1439
+ description: string;
1440
+ };
1231
1441
  }, string>;
1232
1442
  };
@@ -0,0 +1 @@
1
+ export { processFormAnswersForSize } from './processFormAnswers';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processFormAnswersForSize = void 0;
4
+ var processFormAnswers_1 = require("./processFormAnswers");
5
+ Object.defineProperty(exports, "processFormAnswersForSize", { enumerable: true, get: function () { return processFormAnswers_1.processFormAnswersForSize; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/healthie/lib/helpers/index.ts"],"names":[],"mappings":";;;AAAA,2DAAgE;AAAvD,+HAAA,yBAAyB,OAAA"}
@@ -0,0 +1,21 @@
1
+ interface FormAnswer {
2
+ id: string;
3
+ label?: string | null;
4
+ answer?: string | null;
5
+ }
6
+ interface FormAnswerGroup {
7
+ id: string;
8
+ user?: {
9
+ id: string;
10
+ } | null;
11
+ form_answers: FormAnswer[];
12
+ [key: string]: any;
13
+ }
14
+ /**
15
+ * Processes form answers to replace large ones with error messages when they exceed the size limit
16
+ * @param formAnswerGroup The form answer group containing the answers to process
17
+ * @param maxSizeKB The maximum size allowed for form answers in KB (undefined means no limit)
18
+ * @returns A new form answer group with processed answers
19
+ */
20
+ export declare function processFormAnswersForSize(formAnswerGroup: FormAnswerGroup, maxSizeKB?: number): FormAnswerGroup;
21
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processFormAnswersForSize = processFormAnswersForSize;
4
+ const lodash_1 = require("lodash");
5
+ /**
6
+ * Processes form answers to replace large ones with error messages when they exceed the size limit
7
+ * @param formAnswerGroup The form answer group containing the answers to process
8
+ * @param maxSizeKB The maximum size allowed for form answers in KB (undefined means no limit)
9
+ * @returns A new form answer group with processed answers
10
+ */
11
+ function processFormAnswersForSize(formAnswerGroup, maxSizeKB) {
12
+ // If no size limit is configured, return the original form answer group
13
+ if (!maxSizeKB || !formAnswerGroup.form_answers) {
14
+ return formAnswerGroup;
15
+ }
16
+ const maxSizeBytes = maxSizeKB * 1024; // Convert KB to bytes
17
+ const processedFormAnswers = formAnswerGroup.form_answers.map((formAnswer) => {
18
+ // Only process answers that have content
19
+ if (!(0, lodash_1.isNil)(formAnswer.answer)) {
20
+ const answerSizeBytes = Buffer.byteLength(formAnswer.answer, 'utf-8');
21
+ // If answer exceeds the size limit, replace it with an error message
22
+ if (answerSizeBytes > maxSizeBytes) {
23
+ return {
24
+ ...formAnswer,
25
+ answer: `<div>Form answer max size exceeded. Size: ${answerSizeBytes} bytes, max size allowed: ${maxSizeBytes} bytes.</div>`,
26
+ };
27
+ }
28
+ }
29
+ // Return the original form answer if it's within the size limit or has no content
30
+ return formAnswer;
31
+ });
32
+ // Return a new form answer group with the processed answers
33
+ return {
34
+ ...formAnswerGroup,
35
+ form_answers: processedFormAnswers,
36
+ };
37
+ }
38
+ //# sourceMappingURL=processFormAnswers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processFormAnswers.js","sourceRoot":"","sources":["../../../../../extensions/healthie/lib/helpers/processFormAnswers.ts"],"names":[],"mappings":";;AAqBA,8DAoCC;AAzDD,mCAA8B;AAe9B;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,eAAgC,EAChC,SAAkB;IAElB,wEAAwE;IACxE,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,GAAG,IAAI,CAAA,CAAC,sBAAsB;IAE5D,MAAM,oBAAoB,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,CAC3D,CAAC,UAAU,EAAE,EAAE;QACb,yCAAyC;QACzC,IAAI,CAAC,IAAA,cAAK,EAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAErE,qEAAqE;YACrE,IAAI,eAAe,GAAG,YAAY,EAAE,CAAC;gBACnC,OAAO;oBACL,GAAG,UAAU;oBACb,MAAM,EAAE,6CAA6C,eAAe,6BAA6B,YAAY,eAAe;iBAC7H,CAAA;YACH,CAAC;QACH,CAAC;QAED,kFAAkF;QAClF,OAAO,UAAU,CAAA;IACnB,CAAC,CACF,CAAA;IAED,4DAA4D;IAC5D,OAAO;QACL,GAAG,eAAe;QAClB,YAAY,EAAE,oBAAoB;KACnC,CAAA;AACH,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { GraphQLClient } from 'graphql-request';
2
2
  import { type PatchedRequestInit } from 'graphql-request/dist/types';
3
- import { type settings } from '../../../settings';
4
3
  export declare const responseMiddleware: Required<PatchedRequestInit>['responseMiddleware'];
5
4
  /**
6
5
  * @deprecated DO NOT USE
7
6
  * DO NOT USE
8
7
  */
9
- export declare const initialiseClient: (s: Record<keyof typeof settings, string | undefined>) => GraphQLClient | undefined;
8
+ export declare const initialiseClient: (s: {
9
+ apiUrl: string | undefined;
10
+ apiKey: string | undefined;
11
+ }) => GraphQLClient | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"graphqlClient.js","sourceRoot":"","sources":["../../../../../../extensions/healthie/lib/sdk/graphql-codegen/graphqlClient.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,mCAA8B;AAC9B,qCAAsE;AAG/D,MAAM,kBAAkB,GAC7B,CAAC,QAAQ,EAAE,EAAE;IACX,IAAI,QAAQ,YAAY,sBAAa,EAAE,CAAC;QACtC,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,qCAA4B,EAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;AACH,CAAC,CAAA;AAVU,QAAA,kBAAkB,sBAU5B;AAEH;;;GAGG;AACI,MAAM,gBAAgB,GAAG,CAC9B,CAAoD,EACzB,EAAE;IAC7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,IAAI,+BAAa,CAAC,MAAM,EAAE;YAC/B,OAAO,EAAE;gBACP,mBAAmB,EAAE,KAAK;gBAC1B,aAAa,EAAE,SAAS,MAAM,EAAE;aACjC;YACD,kBAAkB,EAAlB,0BAAkB;SACnB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAdY,QAAA,gBAAgB,oBAc5B"}
1
+ {"version":3,"file":"graphqlClient.js","sourceRoot":"","sources":["../../../../../../extensions/healthie/lib/sdk/graphql-codegen/graphqlClient.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,mCAA8B;AAC9B,qCAAsE;AAG/D,MAAM,kBAAkB,GAC7B,CAAC,QAAQ,EAAE,EAAE;IACX,IAAI,QAAQ,YAAY,sBAAa,EAAE,CAAC;QACtC,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,qCAA4B,EAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;AACH,CAAC,CAAA;AAVU,QAAA,kBAAkB,sBAU5B;AAEH;;;GAGG;AACI,MAAM,gBAAgB,GAAG,CAAC,CAGhC,EAA6B,EAAE;IAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,IAAI,+BAAa,CAAC,MAAM,EAAE;YAC/B,OAAO,EAAE;gBACP,mBAAmB,EAAE,KAAK;gBAC1B,aAAa,EAAE,SAAS,MAAM,EAAE;aACjC;YACD,kBAAkB,EAAlB,0BAAkB;SACnB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAfY,QAAA,gBAAgB,oBAe5B"}
@@ -14,14 +14,24 @@ export declare const settings: {
14
14
  required: true;
15
15
  description: string;
16
16
  };
17
+ formAnswerMaxSizeKB: {
18
+ key: string;
19
+ label: string;
20
+ obfuscated: false;
21
+ required: false;
22
+ description: string;
23
+ };
17
24
  };
18
25
  export declare const SettingsValidationSchema: z.ZodObject<{
19
26
  apiUrl: z.ZodString;
20
27
  apiKey: z.ZodString;
28
+ formAnswerMaxSizeKB: z.ZodEffects<z.ZodOptional<z.ZodString>, number | undefined, string | undefined>;
21
29
  }, "strip", z.ZodTypeAny, {
22
30
  apiKey: string;
23
31
  apiUrl: string;
32
+ formAnswerMaxSizeKB?: number | undefined;
24
33
  }, {
25
34
  apiKey: string;
26
35
  apiUrl: string;
36
+ formAnswerMaxSizeKB?: string | undefined;
27
37
  }>;
@@ -17,6 +17,13 @@ exports.settings = {
17
17
  required: true,
18
18
  description: 'Your Healthie API key.',
19
19
  },
20
+ formAnswerMaxSizeKB: {
21
+ key: 'formAnswerMaxSizeKB',
22
+ label: 'Form answer max size (KB)',
23
+ obfuscated: false,
24
+ required: false,
25
+ description: 'The maximum size of any form answer in KB. Form responses larger than that value (e.g. with images or PDFs) will be replaced by an Awell-generated message.',
26
+ },
20
27
  };
21
28
  exports.SettingsValidationSchema = zod_1.z.object({
22
29
  apiUrl: zod_1.z.string().nonempty({
@@ -25,5 +32,9 @@ exports.SettingsValidationSchema = zod_1.z.object({
25
32
  apiKey: zod_1.z.string().nonempty({
26
33
  message: 'Missing "API key in the extension settings."',
27
34
  }),
35
+ formAnswerMaxSizeKB: zod_1.z
36
+ .string()
37
+ .optional()
38
+ .transform((val) => (val ? parseInt(val) : undefined)),
28
39
  });
29
40
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/healthie/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mCAAmC;KACjD;IACD,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wBAAwB;KACtC;CACgC,CAAA;AAEtB,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,8CAA8C;KACxD,CAAC;IACF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,8CAA8C;KACxD,CAAC;CACiD,CAAC,CAAA"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/healthie/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAE3B,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mCAAmC;KACjD;IACD,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wBAAwB;KACtC;IACD,mBAAmB,EAAE;QACnB,GAAG,EAAE,qBAAqB;QAC1B,KAAK,EAAE,2BAA2B;QAClC,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,6JAA6J;KAChK;CACgC,CAAA;AAEtB,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,8CAA8C;KACxD,CAAC;IACF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,8CAA8C;KACxD,CAAC;IACF,mBAAmB,EAAE,OAAC;SACnB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACL,CAAC,CAAA"}
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formAnswerGroupLocked = void 0;
4
4
  const lodash_1 = require("lodash");
5
5
  const types_1 = require("../lib/types");
6
+ const settings_1 = require("../settings");
6
7
  const errors_1 = require("../lib/sdk/graphql-codegen/errors");
7
8
  const createSdk_1 = require("../lib/sdk/graphql-codegen/createSdk");
8
9
  const helpers_1 = require("../lib/helpers");
10
+ const processFormAnswers_1 = require("../lib/helpers/processFormAnswers");
9
11
  const dataPoints = {
10
12
  lockedFormAnswerGroupId: {
11
13
  key: 'lockedFormAnswerGroupId',
@@ -20,19 +22,26 @@ exports.formAnswerGroupLocked = {
20
22
  key: 'formAnswerGroupLocked',
21
23
  dataPoints,
22
24
  onWebhookReceived: async ({ payload, settings }, onSuccess, onError) => {
23
- var _a, _b, _c, _d;
25
+ var _a, _b;
24
26
  try {
25
27
  const { sdk } = await (0, createSdk_1.createSdk)({ settings });
28
+ const formAnswerMaxSizeKB = settings_1.SettingsValidationSchema.parse(settings).formAnswerMaxSizeKB;
26
29
  const validatedPayload = helpers_1.webhookPayloadSchema.parse(payload);
27
30
  const lockedFormAnswerGroupId = validatedPayload.resource_id.toString();
28
31
  const response = await sdk.getFormAnswerGroup({
29
32
  id: lockedFormAnswerGroupId,
30
33
  });
31
- const healthiePatientId = (_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.formAnswerGroup) === null || _b === void 0 ? void 0 : _b.user) === null || _c === void 0 ? void 0 : _c.id;
34
+ const rawFormAnswerGroup = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.formAnswerGroup;
35
+ if (!rawFormAnswerGroup) {
36
+ throw new Error('Form answer group not found');
37
+ }
38
+ // Process form answers to replace large ones with error messages
39
+ const processedFormAnswerGroup = (0, processFormAnswers_1.processFormAnswersForSize)(rawFormAnswerGroup, formAnswerMaxSizeKB);
40
+ const healthiePatientId = (_b = processedFormAnswerGroup.user) === null || _b === void 0 ? void 0 : _b.id;
32
41
  await onSuccess({
33
42
  data_points: {
34
43
  lockedFormAnswerGroupId,
35
- lockedFormAnswerGroup: JSON.stringify((_d = response === null || response === void 0 ? void 0 : response.data) === null || _d === void 0 ? void 0 : _d.formAnswerGroup),
44
+ lockedFormAnswerGroup: JSON.stringify(processedFormAnswerGroup),
36
45
  },
37
46
  ...(!(0, lodash_1.isNil)(healthiePatientId) && {
38
47
  patient_identifier: {
@@ -1 +1 @@
1
- {"version":3,"file":"formAnswerGroupLocked.js","sourceRoot":"","sources":["../../../../extensions/healthie/webhooks/formAnswerGroupLocked.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAK9B,wCAA+E;AAE/E,8DAA+D;AAC/D,oEAAgE;AAChE,4CAAqD;AAErD,MAAM,UAAU,GAAG;IACjB,uBAAuB,EAAE;QACvB,GAAG,EAAE,yBAAyB;QAC9B,SAAS,EAAE,QAAQ;KACpB;IACD,qBAAqB,EAAE;QACrB,GAAG,EAAE,uBAAuB;QAC5B,SAAS,EAAE,MAAM;KAClB;CAC4C,CAAA;AAElC,QAAA,qBAAqB,GAI9B;IACF,GAAG,EAAE,uBAAuB;IAC5B,UAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;;QACrE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,qBAAS,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;YAE7C,MAAM,gBAAgB,GAAG,8BAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5D,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;YAEvE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC;gBAC5C,EAAE,EAAE,uBAAuB;aAC5B,CAAC,CAAA;YACF,MAAM,iBAAiB,GAAG,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,eAAe,0CAAE,IAAI,0CAAE,EAAE,CAAA;YACnE,MAAM,SAAS,CAAC;gBACd,WAAW,EAAE;oBACX,uBAAuB;oBACvB,qBAAqB,EAAE,IAAI,CAAC,SAAS,CACnC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,eAAe,CAChC;iBACF;gBACD,GAAG,CAAC,CAAC,IAAA,cAAK,EAAC,iBAAiB,CAAC,IAAI;oBAC/B,kBAAkB,EAAE;wBAClB,MAAM,EAAE,2BAAmB;wBAC3B,KAAK,EAAE,iBAAiB;qBACzB;iBACF,CAAC;aACH,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"formAnswerGroupLocked.js","sourceRoot":"","sources":["../../../../extensions/healthie/webhooks/formAnswerGroupLocked.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAK9B,wCAA+E;AAC/E,0CAAqE;AACrE,8DAA+D;AAC/D,oEAAgE;AAChE,4CAAqD;AACrD,0EAA6E;AAE7E,MAAM,UAAU,GAAG;IACjB,uBAAuB,EAAE;QACvB,GAAG,EAAE,yBAAyB;QAC9B,SAAS,EAAE,QAAQ;KACpB;IACD,qBAAqB,EAAE;QACrB,GAAG,EAAE,uBAAuB;QAC5B,SAAS,EAAE,MAAM;KAClB;CAC4C,CAAA;AAElC,QAAA,qBAAqB,GAI9B;IACF,GAAG,EAAE,uBAAuB;IAC5B,UAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;;QACrE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,qBAAS,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC7C,MAAM,mBAAmB,GACvB,mCAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAA;YAE9D,MAAM,gBAAgB,GAAG,8BAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5D,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;YAEvE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC;gBAC5C,EAAE,EAAE,uBAAuB;aAC5B,CAAC,CAAA;YAEF,MAAM,kBAAkB,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,eAAe,CAAA;YAE1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAChD,CAAC;YAED,iEAAiE;YACjE,MAAM,wBAAwB,GAAG,IAAA,8CAAyB,EACxD,kBAAkB,EAClB,mBAAmB,CACpB,CAAA;YAED,MAAM,iBAAiB,GAAG,MAAA,wBAAwB,CAAC,IAAI,0CAAE,EAAE,CAAA;YAC3D,MAAM,SAAS,CAAC;gBACd,WAAW,EAAE;oBACX,uBAAuB;oBACvB,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;iBAChE;gBACD,GAAG,CAAC,CAAC,IAAA,cAAK,EAAC,iBAAiB,CAAC,IAAI;oBAC/B,kBAAkB,EAAE;wBAClB,MAAM,EAAE,2BAAmB;wBAC3B,KAAK,EAAE,iBAAiB;qBACzB;iBACF,CAAC;aACH,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;CACF,CAAA"}
@@ -36,6 +36,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
36
36
  required: true;
37
37
  description: string;
38
38
  };
39
+ formAnswerMaxSizeKB: {
40
+ key: string;
41
+ label: string;
42
+ obfuscated: false;
43
+ required: false;
44
+ description: string;
45
+ };
39
46
  }> | import("@awell-health/extensions-core").Webhook<"patientId", import("../lib/types").HealthieWebhookPayload, Record<string, import("@awell-health/extensions-core").Setting>> | import("@awell-health/extensions-core").Webhook<"createdAppliedTagId", import("../lib/types").HealthieWebhookPayload, {
40
47
  apiUrl: {
41
48
  key: string;
@@ -51,6 +58,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
51
58
  required: true;
52
59
  description: string;
53
60
  };
61
+ formAnswerMaxSizeKB: {
62
+ key: string;
63
+ label: string;
64
+ obfuscated: false;
65
+ required: false;
66
+ description: string;
67
+ };
54
68
  }> | import("@awell-health/extensions-core").Webhook<"deletedAppliedTagId", import("../lib/types").HealthieWebhookPayload, {
55
69
  apiUrl: {
56
70
  key: string;
@@ -66,6 +80,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
66
80
  required: true;
67
81
  description: string;
68
82
  };
83
+ formAnswerMaxSizeKB: {
84
+ key: string;
85
+ label: string;
86
+ obfuscated: false;
87
+ required: false;
88
+ description: string;
89
+ };
69
90
  }> | import("@awell-health/extensions-core").Webhook<"deletedAppointmentId", import("../lib/types").HealthieWebhookPayload, {
70
91
  apiUrl: {
71
92
  key: string;
@@ -81,6 +102,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
81
102
  required: true;
82
103
  description: string;
83
104
  };
105
+ formAnswerMaxSizeKB: {
106
+ key: string;
107
+ label: string;
108
+ obfuscated: false;
109
+ required: false;
110
+ description: string;
111
+ };
84
112
  }> | import("@awell-health/extensions-core").Webhook<"appointment" | "updatedAppointmentId", import("../lib/types").HealthieWebhookPayload, {
85
113
  apiUrl: {
86
114
  key: string;
@@ -96,6 +124,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
96
124
  required: true;
97
125
  description: string;
98
126
  };
127
+ formAnswerMaxSizeKB: {
128
+ key: string;
129
+ label: string;
130
+ obfuscated: false;
131
+ required: false;
132
+ description: string;
133
+ };
99
134
  }> | import("@awell-health/extensions-core").Webhook<"createdFormAnswerGroupId" | "createdFormAnswerGroup", import("../lib/types").HealthieWebhookPayload, {
100
135
  apiUrl: {
101
136
  key: string;
@@ -111,6 +146,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
111
146
  required: true;
112
147
  description: string;
113
148
  };
149
+ formAnswerMaxSizeKB: {
150
+ key: string;
151
+ label: string;
152
+ obfuscated: false;
153
+ required: false;
154
+ description: string;
155
+ };
114
156
  }> | import("@awell-health/extensions-core").Webhook<"deletedFormAnswerGroupId", import("../lib/types").HealthieWebhookPayload, {
115
157
  apiUrl: {
116
158
  key: string;
@@ -126,6 +168,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
126
168
  required: true;
127
169
  description: string;
128
170
  };
171
+ formAnswerMaxSizeKB: {
172
+ key: string;
173
+ label: string;
174
+ obfuscated: false;
175
+ required: false;
176
+ description: string;
177
+ };
129
178
  }> | import("@awell-health/extensions-core").Webhook<"lockedFormAnswerGroupId" | "lockedFormAnswerGroup", import("../lib/types").HealthieWebhookPayload, {
130
179
  apiUrl: {
131
180
  key: string;
@@ -141,6 +190,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
141
190
  required: true;
142
191
  description: string;
143
192
  };
193
+ formAnswerMaxSizeKB: {
194
+ key: string;
195
+ label: string;
196
+ obfuscated: false;
197
+ required: false;
198
+ description: string;
199
+ };
144
200
  }> | import("@awell-health/extensions-core").Webhook<"signedFormAnswerGroupId" | "signedFormAnswerGroup", import("../lib/types").HealthieWebhookPayload, {
145
201
  apiUrl: {
146
202
  key: string;
@@ -156,6 +212,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
156
212
  required: true;
157
213
  description: string;
158
214
  };
215
+ formAnswerMaxSizeKB: {
216
+ key: string;
217
+ label: string;
218
+ obfuscated: false;
219
+ required: false;
220
+ description: string;
221
+ };
159
222
  }> | import("@awell-health/extensions-core").Webhook<"createdLabOrderId", import("../lib/types").HealthieWebhookPayload, {
160
223
  apiUrl: {
161
224
  key: string;
@@ -171,6 +234,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
171
234
  required: true;
172
235
  description: string;
173
236
  };
237
+ formAnswerMaxSizeKB: {
238
+ key: string;
239
+ label: string;
240
+ obfuscated: false;
241
+ required: false;
242
+ description: string;
243
+ };
174
244
  }> | import("@awell-health/extensions-core").Webhook<"updatedLabOrderId", import("../lib/types").HealthieWebhookPayload, {
175
245
  apiUrl: {
176
246
  key: string;
@@ -186,6 +256,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
186
256
  required: true;
187
257
  description: string;
188
258
  };
259
+ formAnswerMaxSizeKB: {
260
+ key: string;
261
+ label: string;
262
+ obfuscated: false;
263
+ required: false;
264
+ description: string;
265
+ };
189
266
  }> | import("@awell-health/extensions-core").Webhook<"createdMessageId", import("../lib/types").HealthieWebhookPayload, {
190
267
  apiUrl: {
191
268
  key: string;
@@ -201,6 +278,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
201
278
  required: true;
202
279
  description: string;
203
280
  };
281
+ formAnswerMaxSizeKB: {
282
+ key: string;
283
+ label: string;
284
+ obfuscated: false;
285
+ required: false;
286
+ description: string;
287
+ };
204
288
  }> | import("@awell-health/extensions-core").Webhook<"deletedMessageId", import("../lib/types").HealthieWebhookPayload, {
205
289
  apiUrl: {
206
290
  key: string;
@@ -216,6 +300,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
216
300
  required: true;
217
301
  description: string;
218
302
  };
303
+ formAnswerMaxSizeKB: {
304
+ key: string;
305
+ label: string;
306
+ obfuscated: false;
307
+ required: false;
308
+ description: string;
309
+ };
219
310
  }> | import("@awell-health/extensions-core").Webhook<"createdMetricId", import("../lib/types").HealthieWebhookPayload, {
220
311
  apiUrl: {
221
312
  key: string;
@@ -231,6 +322,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
231
322
  required: true;
232
323
  description: string;
233
324
  };
325
+ formAnswerMaxSizeKB: {
326
+ key: string;
327
+ label: string;
328
+ obfuscated: false;
329
+ required: false;
330
+ description: string;
331
+ };
234
332
  }> | import("@awell-health/extensions-core").Webhook<"updatedMetricId", import("../lib/types").HealthieWebhookPayload, {
235
333
  apiUrl: {
236
334
  key: string;
@@ -246,6 +344,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
246
344
  required: true;
247
345
  description: string;
248
346
  };
347
+ formAnswerMaxSizeKB: {
348
+ key: string;
349
+ label: string;
350
+ obfuscated: false;
351
+ required: false;
352
+ description: string;
353
+ };
249
354
  }> | import("@awell-health/extensions-core").Webhook<"updatedPatientId", import("../lib/types").HealthieWebhookPayload, Record<string, import("@awell-health/extensions-core").Setting>> | import("@awell-health/extensions-core").Webhook<"createdFormCompletionId", import("../lib/types").HealthieWebhookPayload, {
250
355
  apiUrl: {
251
356
  key: string;
@@ -261,6 +366,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
261
366
  required: true;
262
367
  description: string;
263
368
  };
369
+ formAnswerMaxSizeKB: {
370
+ key: string;
371
+ label: string;
372
+ obfuscated: false;
373
+ required: false;
374
+ description: string;
375
+ };
264
376
  }> | import("@awell-health/extensions-core").Webhook<"updatedFormCompletionId", import("../lib/types").HealthieWebhookPayload, {
265
377
  apiUrl: {
266
378
  key: string;
@@ -276,6 +388,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
276
388
  required: true;
277
389
  description: string;
278
390
  };
391
+ formAnswerMaxSizeKB: {
392
+ key: string;
393
+ label: string;
394
+ obfuscated: false;
395
+ required: false;
396
+ description: string;
397
+ };
279
398
  }> | import("@awell-health/extensions-core").Webhook<"createdTaskId", import("../lib/types").HealthieWebhookPayload, {
280
399
  apiUrl: {
281
400
  key: string;
@@ -291,6 +410,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
291
410
  required: true;
292
411
  description: string;
293
412
  };
413
+ formAnswerMaxSizeKB: {
414
+ key: string;
415
+ label: string;
416
+ obfuscated: false;
417
+ required: false;
418
+ description: string;
419
+ };
294
420
  }> | import("@awell-health/extensions-core").Webhook<"updatedTaskId", import("../lib/types").HealthieWebhookPayload, {
295
421
  apiUrl: {
296
422
  key: string;
@@ -306,6 +432,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
306
432
  required: true;
307
433
  description: string;
308
434
  };
435
+ formAnswerMaxSizeKB: {
436
+ key: string;
437
+ label: string;
438
+ obfuscated: false;
439
+ required: false;
440
+ description: string;
441
+ };
309
442
  }> | import("@awell-health/extensions-core").Webhook<"createdGoalId", import("../lib/types").HealthieWebhookPayload, {
310
443
  apiUrl: {
311
444
  key: string;
@@ -321,6 +454,13 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
321
454
  required: true;
322
455
  description: string;
323
456
  };
457
+ formAnswerMaxSizeKB: {
458
+ key: string;
459
+ label: string;
460
+ obfuscated: false;
461
+ required: false;
462
+ description: string;
463
+ };
324
464
  }> | import("@awell-health/extensions-core").Webhook<"updatedGoalId", import("../lib/types").HealthieWebhookPayload, {
325
465
  apiUrl: {
326
466
  key: string;
@@ -336,4 +476,11 @@ export declare const webhooks: (import("@awell-health/extensions-core").Webhook<
336
476
  required: true;
337
477
  description: string;
338
478
  };
479
+ formAnswerMaxSizeKB: {
480
+ key: string;
481
+ label: string;
482
+ obfuscated: false;
483
+ required: false;
484
+ description: string;
485
+ };
339
486
  }>)[];
@@ -7,6 +7,13 @@ declare const fields: {
7
7
  description: string;
8
8
  type: FieldType.STRING;
9
9
  };
10
+ secondField: {
11
+ id: string;
12
+ label: string;
13
+ description: string;
14
+ required: false;
15
+ type: FieldType.STRING;
16
+ };
10
17
  };
11
18
  declare const dataPoints: {
12
19
  world: {
@@ -10,6 +10,13 @@ const fields = {
10
10
  description: 'A string field configured at design time',
11
11
  type: extensions_core_1.FieldType.STRING,
12
12
  },
13
+ secondField: {
14
+ id: 'secondField',
15
+ label: 'Second Field',
16
+ description: 'A second field',
17
+ required: false,
18
+ type: extensions_core_1.FieldType.STRING,
19
+ },
13
20
  };
14
21
  const dataPoints = {
15
22
  world: {
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../extensions/hello-world/actions/log.ts"],"names":[],"mappings":";;;AAAA,mEAKsC;AACtC,mEAAwD;AAGxD,MAAM,MAAM,GAAG;IACb,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,0CAA0C;QACvD,IAAI,EAAE,2BAAS,CAAC,MAAM;KACvB;CAC8B,CAAA;AAEjC,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE;QACL,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,QAAQ;KACpB;IACD,KAAK,EAAE;QACL,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,QAAQ;KACpB;IACD,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,GAAG,GAIZ;IACF,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,0BAAQ,CAAC,IAAI;IACvB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,yDAAyD;IACtE,MAAM;IACN,WAAW,EAAE,IAAI;IACjB,UAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAiB,EAAE;QAC9D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QACpC,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../extensions/hello-world/actions/log.ts"],"names":[],"mappings":";;;AAAA,mEAKsC;AACtC,mEAAwD;AAGxD,MAAM,MAAM,GAAG;IACb,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,0CAA0C;QACvD,IAAI,EAAE,2BAAS,CAAC,MAAM;KACvB;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,2BAAS,CAAC,MAAM;KACvB;CAC8B,CAAA;AAEjC,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE;QACL,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,QAAQ;KACpB;IACD,KAAK,EAAE;QACL,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,QAAQ;KACpB;IACD,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,GAAG,GAIZ;IACF,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,0BAAQ,CAAC,IAAI;IACvB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,yDAAyD;IACtE,MAAM;IACN,WAAW,EAAE,IAAI;IACjB,UAAU;IACV,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAiB,EAAE;QAC9D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QACpC,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.0.280",
3
+ "version": "2.0.282",
4
4
  "packageManager": "yarn@4.5.3",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {