@awell-health/awell-extensions 2.0.214 → 2.0.216

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/extensions/hubspot/actions/createOrUpdateContact/config/datapoints.d.ts +10 -0
  2. package/dist/extensions/hubspot/actions/createOrUpdateContact/config/datapoints.js +14 -0
  3. package/dist/extensions/hubspot/actions/createOrUpdateContact/config/datapoints.js.map +1 -0
  4. package/dist/extensions/hubspot/actions/createOrUpdateContact/config/fields.d.ts +59 -0
  5. package/dist/extensions/hubspot/actions/createOrUpdateContact/config/fields.js +88 -0
  6. package/dist/extensions/hubspot/actions/createOrUpdateContact/config/fields.js.map +1 -0
  7. package/dist/extensions/hubspot/actions/createOrUpdateContact/config/index.d.ts +2 -0
  8. package/dist/extensions/hubspot/actions/createOrUpdateContact/config/index.js +9 -0
  9. package/dist/extensions/hubspot/actions/createOrUpdateContact/config/index.js.map +1 -0
  10. package/dist/extensions/hubspot/actions/createOrUpdateContact/createOrUpdateContact.d.ts +4 -0
  11. package/dist/extensions/hubspot/actions/createOrUpdateContact/createOrUpdateContact.js +97 -0
  12. package/dist/extensions/hubspot/actions/createOrUpdateContact/createOrUpdateContact.js.map +1 -0
  13. package/dist/extensions/hubspot/actions/createOrUpdateContact/helpers.d.ts +11 -0
  14. package/dist/extensions/hubspot/actions/createOrUpdateContact/helpers.js +37 -0
  15. package/dist/extensions/hubspot/actions/createOrUpdateContact/helpers.js.map +1 -0
  16. package/dist/extensions/hubspot/actions/createOrUpdateContact/index.d.ts +1 -0
  17. package/dist/extensions/hubspot/actions/createOrUpdateContact/index.js +6 -0
  18. package/dist/extensions/hubspot/actions/createOrUpdateContact/index.js.map +1 -0
  19. package/dist/extensions/hubspot/actions/index.d.ts +60 -0
  20. package/dist/extensions/hubspot/actions/index.js +2 -0
  21. package/dist/extensions/hubspot/actions/index.js.map +1 -1
  22. package/dist/extensions/markdown.json +1 -1
  23. package/dist/extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.js +6 -0
  24. package/dist/extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.js.map +1 -1
  25. package/dist/extensions/shelly/lib/getTrackData/getTrackData.js +58 -73
  26. package/dist/extensions/shelly/lib/getTrackData/getTrackData.js.map +1 -1
  27. package/dist/extensions/shelly/lib/getTrackData/types.d.ts +105 -101
  28. package/package.json +2 -2
@@ -0,0 +1,10 @@
1
+ export declare const dataPoints: {
2
+ hubspotContactId: {
3
+ key: string;
4
+ valueType: "string";
5
+ };
6
+ contactResource: {
7
+ key: string;
8
+ valueType: "json";
9
+ };
10
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ hubspotContactId: {
6
+ key: 'hubspotContactId',
7
+ valueType: 'string',
8
+ },
9
+ contactResource: {
10
+ key: 'contactResource',
11
+ valueType: 'json',
12
+ },
13
+ };
14
+ //# sourceMappingURL=datapoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapoints.js","sourceRoot":"","sources":["../../../../../../extensions/hubspot/actions/createOrUpdateContact/config/datapoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,gBAAgB,EAAE;QAChB,GAAG,EAAE,kBAAkB;QACvB,SAAS,EAAE,QAAQ;KACpB;IACD,eAAe,EAAE;QACf,GAAG,EAAE,iBAAiB;QACtB,SAAS,EAAE,MAAM;KAClB;CAC4C,CAAA"}
@@ -0,0 +1,59 @@
1
+ import { FieldType, StringType } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ export declare const fields: {
4
+ email: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.STRING;
9
+ required: true;
10
+ };
11
+ firstName: {
12
+ id: string;
13
+ label: string;
14
+ description: string;
15
+ type: FieldType.STRING;
16
+ required: false;
17
+ };
18
+ lastName: {
19
+ id: string;
20
+ label: string;
21
+ description: string;
22
+ type: FieldType.STRING;
23
+ required: false;
24
+ };
25
+ phone: {
26
+ id: string;
27
+ label: string;
28
+ description: string;
29
+ type: FieldType.STRING;
30
+ stringType: StringType.PHONE;
31
+ required: false;
32
+ };
33
+ customProperties: {
34
+ id: string;
35
+ label: string;
36
+ description: string;
37
+ type: FieldType.JSON;
38
+ required: true;
39
+ };
40
+ };
41
+ export declare const FieldsValidationSchema: z.ZodObject<{
42
+ email: z.ZodString;
43
+ firstName: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
44
+ lastName: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
45
+ phone: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
46
+ customProperties: z.ZodEffects<z.ZodOptional<z.ZodString>, Record<string, unknown> | undefined, string | undefined>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ email: string;
49
+ firstName?: string | undefined;
50
+ lastName?: string | undefined;
51
+ phone?: string | undefined;
52
+ customProperties?: Record<string, unknown> | undefined;
53
+ }, {
54
+ email: string;
55
+ firstName?: string | undefined;
56
+ lastName?: string | undefined;
57
+ phone?: string | undefined;
58
+ customProperties?: string | undefined;
59
+ }>;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FieldsValidationSchema = exports.fields = void 0;
7
+ const extensions_core_1 = require("@awell-health/extensions-core");
8
+ const lodash_1 = require("lodash");
9
+ const zod_1 = __importDefault(require("zod"));
10
+ exports.fields = {
11
+ email: {
12
+ id: 'email',
13
+ label: 'Email',
14
+ description: 'The email of the contact',
15
+ type: extensions_core_1.FieldType.STRING,
16
+ required: true,
17
+ },
18
+ firstName: {
19
+ id: 'firstName',
20
+ label: 'First name',
21
+ description: 'The first name of the contact',
22
+ type: extensions_core_1.FieldType.STRING,
23
+ required: false,
24
+ },
25
+ lastName: {
26
+ id: 'lastName',
27
+ label: 'Last name',
28
+ description: 'The last name of the contact',
29
+ type: extensions_core_1.FieldType.STRING,
30
+ required: false,
31
+ },
32
+ phone: {
33
+ id: 'phone',
34
+ label: 'Phone',
35
+ description: 'The phone number of the contact',
36
+ type: extensions_core_1.FieldType.STRING,
37
+ stringType: extensions_core_1.StringType.PHONE,
38
+ required: false,
39
+ },
40
+ customProperties: {
41
+ id: 'customProperties',
42
+ label: 'Custom properties',
43
+ description: 'An object of key-values pairs of custom properties of the contact',
44
+ type: extensions_core_1.FieldType.JSON,
45
+ required: true,
46
+ },
47
+ };
48
+ exports.FieldsValidationSchema = zod_1.default.object({
49
+ email: zod_1.default.string().min(1).email(),
50
+ firstName: zod_1.default
51
+ .string()
52
+ .optional()
53
+ .transform((val) => ((0, lodash_1.isEmpty)(val) ? undefined : val)),
54
+ lastName: zod_1.default
55
+ .string()
56
+ .optional()
57
+ .transform((val) => ((0, lodash_1.isEmpty)(val) ? undefined : val)),
58
+ phone: zod_1.default
59
+ .string()
60
+ .optional()
61
+ .transform((val) => ((0, lodash_1.isEmpty)(val) ? undefined : val)),
62
+ customProperties: zod_1.default
63
+ .string()
64
+ .optional()
65
+ .transform((str, ctx) => {
66
+ if ((0, lodash_1.isNil)(str) || (0, lodash_1.isEmpty)(str))
67
+ return undefined;
68
+ try {
69
+ const parsedJson = JSON.parse(str);
70
+ if ((0, lodash_1.isEmpty)(parsedJson)) {
71
+ return undefined;
72
+ }
73
+ if (typeof parsedJson !== 'object' || Array.isArray(parsedJson)) {
74
+ ctx.addIssue({
75
+ code: 'custom',
76
+ message: 'The value should represent an object',
77
+ });
78
+ return zod_1.default.NEVER;
79
+ }
80
+ return parsedJson;
81
+ }
82
+ catch (e) {
83
+ ctx.addIssue({ code: 'custom', message: 'Invalid JSON.' });
84
+ return zod_1.default.NEVER;
85
+ }
86
+ }),
87
+ });
88
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/hubspot/actions/createOrUpdateContact/config/fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { fields, FieldsValidationSchema } from './fields';
2
+ export { dataPoints } from './datapoints';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = exports.FieldsValidationSchema = exports.fields = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
6
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
7
+ var datapoints_1 = require("./datapoints");
8
+ Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return datapoints_1.dataPoints; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/hubspot/actions/createOrUpdateContact/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../settings';
3
+ import { fields, dataPoints } from './config';
4
+ export declare const createOrUpdateContact: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOrUpdateContact = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const lib_1 = require("../../lib");
6
+ const config_1 = require("./config");
7
+ const lodash_1 = require("lodash");
8
+ const addEventLog_1 = require("../../../../src/lib/awell/addEventLog");
9
+ const helpers_1 = require("./helpers");
10
+ exports.createOrUpdateContact = {
11
+ key: 'createOrUpdateContact',
12
+ category: extensions_core_1.Category.CUSTOMER_SUPPORT,
13
+ title: 'Create or update contact',
14
+ description: 'Create or update a contact in HubSpot',
15
+ fields: config_1.fields,
16
+ previewable: false,
17
+ dataPoints: config_1.dataPoints,
18
+ onEvent: async ({ payload, onComplete, onError, helpers }) => {
19
+ const eventLogs = [];
20
+ const { hubSpotSdk, fields } = await (0, lib_1.validatePayloadAndCreateSdks)({
21
+ fieldsSchema: config_1.FieldsValidationSchema,
22
+ payload,
23
+ });
24
+ const createOrUpdateProperties = {
25
+ /**
26
+ * Default Hubspot properties
27
+ * Available in every Hubspot account
28
+ */
29
+ email: fields.email,
30
+ ...(!(0, lodash_1.isNil)(fields.firstName) && { firstname: fields.firstName }),
31
+ ...(!(0, lodash_1.isNil)(fields.lastName) && { lastname: fields.lastName }),
32
+ ...(!(0, lodash_1.isNil)(fields.phone) && { phone: fields.phone }),
33
+ /**
34
+ * Custom properties
35
+ */
36
+ ...(!(0, lodash_1.isNil)(fields.customProperties) && fields.customProperties),
37
+ };
38
+ try {
39
+ // Try retrieving an existing contact
40
+ const existingContact = await (0, helpers_1.getExistingContact)(hubSpotSdk, fields.email);
41
+ if (!(0, lodash_1.isNil)(existingContact)) {
42
+ eventLogs.push((0, addEventLog_1.addActivityEventLog)({
43
+ message: `Existing contact found in Hubspot with email ${fields.email}. Contact ID: ${existingContact.id}`,
44
+ }), (0, addEventLog_1.addActivityEventLog)({
45
+ message: `Existing contact details: ${JSON.stringify(existingContact, null, 2)}`,
46
+ }));
47
+ // Update the existing contact
48
+ const updatedContact = await (0, helpers_1.updateContact)(hubSpotSdk, existingContact.id, createOrUpdateProperties);
49
+ await onComplete({
50
+ data_points: {
51
+ hubspotContactId: updatedContact.id,
52
+ contactResource: JSON.stringify(updatedContact),
53
+ },
54
+ events: [
55
+ ...eventLogs,
56
+ (0, addEventLog_1.addActivityEventLog)({
57
+ message: `Updated contact:\n${JSON.stringify(updatedContact, null, 2)}`,
58
+ }),
59
+ ],
60
+ });
61
+ return;
62
+ }
63
+ // Contact not found, create a new one
64
+ eventLogs.push((0, addEventLog_1.addActivityEventLog)({
65
+ message: `No existing contact found in Hubspot with email ${fields.email}.`,
66
+ }));
67
+ const newContact = await (0, helpers_1.createContact)(hubSpotSdk, createOrUpdateProperties);
68
+ await onComplete({
69
+ data_points: {
70
+ hubspotContactId: newContact.id,
71
+ contactResource: JSON.stringify(newContact),
72
+ },
73
+ events: [
74
+ ...eventLogs,
75
+ (0, addEventLog_1.addActivityEventLog)({
76
+ message: `Contact created in Hubspot with email ${fields.email}. Contact ID: ${newContact.id}`,
77
+ }),
78
+ (0, addEventLog_1.addActivityEventLog)({
79
+ message: `New contact:\n${JSON.stringify(newContact, null, 2)}`,
80
+ }),
81
+ ],
82
+ });
83
+ }
84
+ catch (err) {
85
+ const typedError = err;
86
+ await onError({
87
+ events: [
88
+ ...eventLogs,
89
+ (0, addEventLog_1.addActivityEventLog)({
90
+ message: `Error in Hubspot operation: ${typedError.code}: ${typedError.message}\n${JSON.stringify(typedError.body, null, 2)}`,
91
+ }),
92
+ ],
93
+ });
94
+ }
95
+ },
96
+ };
97
+ //# sourceMappingURL=createOrUpdateContact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOrUpdateContact.js","sourceRoot":"","sources":["../../../../../extensions/hubspot/actions/createOrUpdateContact/createOrUpdateContact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type Client } from '@hubspot/api-client';
2
+ import { type SimplePublicObjectWithAssociations, type SimplePublicObject } from '@hubspot/api-client/lib/codegen/crm/contacts';
3
+ export declare const getExistingContact: (hubSpotSdk: Client, email: string) => Promise<SimplePublicObjectWithAssociations | null>;
4
+ /**
5
+ * Updates an existing contact in HubSpot.
6
+ */
7
+ export declare const updateContact: (hubSpotSdk: Client, contactId: string, properties: Record<string, string>) => Promise<SimplePublicObject>;
8
+ /**
9
+ * Creates a new contact in HubSpot.
10
+ */
11
+ export declare const createContact: (hubSpotSdk: Client, properties: Record<string, string>) => Promise<SimplePublicObject>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createContact = exports.updateContact = exports.getExistingContact = void 0;
4
+ const getExistingContact = async (hubSpotSdk, email) => {
5
+ try {
6
+ const includeArchived = false;
7
+ return await hubSpotSdk.crm.contacts.basicApi.getById(email, undefined, undefined, undefined, includeArchived, 'email');
8
+ }
9
+ catch (err) {
10
+ const typedError = err;
11
+ if (typedError.code === 404) {
12
+ return null; // Contact does not exist
13
+ }
14
+ throw typedError; // Other errors should propagate
15
+ }
16
+ };
17
+ exports.getExistingContact = getExistingContact;
18
+ /**
19
+ * Updates an existing contact in HubSpot.
20
+ */
21
+ const updateContact = async (hubSpotSdk, contactId, properties) => {
22
+ return await hubSpotSdk.crm.contacts.basicApi.update(contactId, {
23
+ properties,
24
+ });
25
+ };
26
+ exports.updateContact = updateContact;
27
+ /**
28
+ * Creates a new contact in HubSpot.
29
+ */
30
+ const createContact = async (hubSpotSdk, properties) => {
31
+ return await hubSpotSdk.crm.contacts.basicApi.create({
32
+ associations: [],
33
+ properties,
34
+ });
35
+ };
36
+ exports.createContact = createContact;
37
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../extensions/hubspot/actions/createOrUpdateContact/helpers.ts"],"names":[],"mappings":";;;AAOO,MAAM,kBAAkB,GAAG,KAAK,EACrC,UAAkB,EAClB,KAAa,EACuC,EAAE;IACtD,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,KAAK,CAAA;QAE7B,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CACnD,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,eAAe,EACf,OAAO,CACR,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,GAA4B,CAAA;QAC/C,IAAI,UAAU,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAA,CAAC,yBAAyB;QACvC,CAAC;QACD,MAAM,UAAU,CAAA,CAAC,gCAAgC;IACnD,CAAC;AACH,CAAC,CAAA;AAtBY,QAAA,kBAAkB,sBAsB9B;AAED;;GAEG;AACI,MAAM,aAAa,GAAG,KAAK,EAChC,UAAkB,EAClB,SAAiB,EACjB,UAAkC,EACL,EAAE;IAC/B,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;QAC9D,UAAU;KACX,CAAC,CAAA;AACJ,CAAC,CAAA;AARY,QAAA,aAAa,iBAQzB;AAED;;GAEG;AACI,MAAM,aAAa,GAAG,KAAK,EAChC,UAAkB,EAClB,UAAkC,EACL,EAAE;IAC/B,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnD,YAAY,EAAE,EAAE;QAChB,UAAU;KACX,CAAC,CAAA;AACJ,CAAC,CAAA;AARY,QAAA,aAAa,iBAQzB"}
@@ -0,0 +1 @@
1
+ export { createOrUpdateContact } from './createOrUpdateContact';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOrUpdateContact = void 0;
4
+ var createOrUpdateContact_1 = require("./createOrUpdateContact");
5
+ Object.defineProperty(exports, "createOrUpdateContact", { enumerable: true, get: function () { return createOrUpdateContact_1.createOrUpdateContact; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/hubspot/actions/createOrUpdateContact/index.ts"],"names":[],"mappings":";;;AAAA,iEAA+D;AAAtD,8HAAA,qBAAqB,OAAA"}
@@ -1,4 +1,64 @@
1
1
  declare const actions: {
2
+ createOrUpdateContact: import("@awell-health/extensions-core").Action<{
3
+ email: {
4
+ id: string;
5
+ label: string;
6
+ description: string;
7
+ type: import("@awell-health/extensions-core").FieldType.STRING;
8
+ required: true;
9
+ };
10
+ firstName: {
11
+ id: string;
12
+ label: string;
13
+ description: string;
14
+ type: import("@awell-health/extensions-core").FieldType.STRING;
15
+ required: false;
16
+ };
17
+ lastName: {
18
+ id: string;
19
+ label: string;
20
+ description: string;
21
+ type: import("@awell-health/extensions-core").FieldType.STRING;
22
+ required: false;
23
+ };
24
+ phone: {
25
+ id: string;
26
+ label: string;
27
+ description: string;
28
+ type: import("@awell-health/extensions-core").FieldType.STRING;
29
+ stringType: import("@awell-health/extensions-core").StringType.PHONE;
30
+ required: false;
31
+ };
32
+ customProperties: {
33
+ id: string;
34
+ label: string;
35
+ description: string;
36
+ type: import("@awell-health/extensions-core").FieldType.JSON;
37
+ required: true;
38
+ };
39
+ }, {
40
+ accessToken: {
41
+ key: string;
42
+ label: string;
43
+ obfuscated: false;
44
+ required: true;
45
+ description: string;
46
+ };
47
+ smtpUsername: {
48
+ key: string;
49
+ label: string;
50
+ obfuscated: false;
51
+ required: false;
52
+ description: string;
53
+ };
54
+ smtpPassword: {
55
+ key: string;
56
+ label: string;
57
+ obfuscated: true;
58
+ required: false;
59
+ description: string;
60
+ };
61
+ }, "hubspotContactId" | "contactResource">;
2
62
  getcontact: import("@awell-health/extensions-core").Action<{
3
63
  contactId: {
4
64
  id: string;
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const getContact_1 = require("./getContact");
4
4
  const sendEmailWithSmtp_1 = require("./sendEmailWithSmtp");
5
5
  const sendEmailWithSingleSendApi_1 = require("./sendEmailWithSingleSendApi");
6
+ const createOrUpdateContact_1 = require("./createOrUpdateContact");
6
7
  const actions = {
8
+ createOrUpdateContact: createOrUpdateContact_1.createOrUpdateContact,
7
9
  getcontact: getContact_1.getcontact,
8
10
  sendEmailWithSmtp: sendEmailWithSmtp_1.sendEmailWithSmtp,
9
11
  sendEmailWithSingleSendApi: sendEmailWithSingleSendApi_1.sendEmailWithSingleSendApi,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/hubspot/actions/index.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,2DAAuD;AACvD,6EAAyE;AAEzE,MAAM,OAAO,GAAG;IACd,UAAU,EAAV,uBAAU;IACV,iBAAiB,EAAjB,qCAAiB;IACjB,0BAA0B,EAA1B,uDAA0B;CAC3B,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/hubspot/actions/index.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,2DAAuD;AACvD,6EAAyE;AACzE,mEAA+D;AAE/D,MAAM,OAAO,GAAG;IACd,qBAAqB,EAArB,6CAAqB;IACrB,UAAU,EAAV,uBAAU;IACV,iBAAiB,EAAjB,qCAAiB;IACjB,0BAA0B,EAA1B,uDAA0B;CAC3B,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -92,7 +92,7 @@
92
92
  "changelog": "# Hello world changelog"
93
93
  },
94
94
  "hubspot": {
95
- "readme": "---\ntitle: Hubspot\ndescription: HubSpot is a customer relationship management (CRM) platform that provides a suite of tools for marketing, sales, customer service, and content management.\n---\n\n## Hubspot\n\nHubSpot is a customer relationship management (CRM) platform that offers a comprehensive suite of tools for marketing, sales, customer service, and content management. It is widely recognized for its user-friendly interface and inbound marketing methodology, which focuses on attracting customers through valuable content and experiences instead of traditional advertising.\n\nHubSpot provides features like email marketing, social media management, lead generation, analytics, and automation to help businesses attract, engage, and delight customers.\n\n## Settings and Setup\n\nTo use the HubSpot extension, you need an access token to authenticate with the HubSpot API. We recommend creating a [private app](https://developers.hubspot.com/docs/api/private-apps) in your HubSpot account for Awell and using the provided access token. You should only provide the minimum scopes necessary for the actions you intend to use. The required scopes for each action are listed in the documentation below.\n\n### SMTP Authentication\n\nIf you plan to use the \"Send email with SMTP\" action, you will need to provide your username and password to authenticate requests to HubSpot's SMTP server.\n\n### Add-ons\n\nSending transactional emails via HubSpot requires you to add the [corresponding add-ons](https://knowledge.hubspot.com/marketing-email/how-to-use-transactional-email-in-hubspot) to your HubSpot account.\n\n## Actions\n\n### Get contact\n\nRetrieve the details of a contact based on the provided contact ID.\n\nScope: `crm.objects.contacts.read`\n\n### Send email with SMTP\n\nSend an email using HubSpot's SMTP server.\n\nSending emails via SMTP has some limitations. The most significant drawback is that you cannot use templates or apply styling when sending emails through SMTP. SMTP is generally more manual and less integrated with HubSpot's smart content and template features.\n\nScope: N/A\n\n### Send email with Single Send API\n\nThe Single Send API is the recommended method for sending transactional emails with HubSpot. You can create email templates in your HubSpot account and use this action to send emails to recipients. This method allows you to take advantage of features like smart content and personalization.\n\nScope: `transactional-email`\n",
95
+ "readme": "---\ntitle: Hubspot\ndescription: HubSpot is a customer relationship management (CRM) platform that provides a suite of tools for marketing, sales, customer service, and content management.\n---\n\n## Hubspot\n\nHubSpot is a customer relationship management (CRM) platform that offers a comprehensive suite of tools for marketing, sales, customer service, and content management. It is widely recognized for its user-friendly interface and inbound marketing methodology, which focuses on attracting customers through valuable content and experiences instead of traditional advertising.\n\nHubSpot provides features like email marketing, social media management, lead generation, analytics, and automation to help businesses attract, engage, and delight customers.\n\n## Settings and Setup\n\nTo use the HubSpot extension, you need an access token to authenticate with the HubSpot API. We recommend creating a [private app](https://developers.hubspot.com/docs/api/private-apps) in your HubSpot account for Awell and using the provided access token. You should only provide the minimum scopes necessary for the actions you intend to use. The required scopes for each action are listed in the documentation below.\n\n### SMTP Authentication\n\nIf you plan to use the \"Send email with SMTP\" action, you will need to provide your username and password to authenticate requests to HubSpot's SMTP server.\n\n### Add-ons\n\nSending transactional emails via HubSpot requires you to add the [corresponding add-ons](https://knowledge.hubspot.com/marketing-email/how-to-use-transactional-email-in-hubspot) to your HubSpot account.\n\n## Actions\n\n### Create or update contact\n\nCreates or updates a contact in HubSpot using the provided information. The patient is matched based on their email address—if a match is found, the existing contact is updated (PATCH); otherwise, a new contact is created.\n\nScope: `crm.objects.contacts.write`\n\n### Get contact\n\nRetrieve the details of a contact based on the provided contact ID.\n\nScope: `crm.objects.contacts.read`\n\n### Send email with SMTP\n\nSend an email using HubSpot's SMTP server.\n\nSending emails via SMTP has some limitations. The most significant drawback is that you cannot use templates or apply styling when sending emails through SMTP. SMTP is generally more manual and less integrated with HubSpot's smart content and template features.\n\nScope: N/A\n\n### Send email with Single Send API\n\nThe Single Send API is the recommended method for sending transactional emails with HubSpot. You can create email templates in your HubSpot account and use this action to send emails to recipients. This method allows you to take advantage of features like smart content and personalization.\n\nScope: `transactional-email`\n",
96
96
  "changelog": "# Hubspot changelog"
97
97
  },
98
98
  "identityVerification": {
@@ -10,6 +10,7 @@ const constants_1 = require("../../../../src/lib/llm/openai/constants");
10
10
  const index_1 = require("../../lib/getTrackData/index");
11
11
  const getCareFlowDetails_1 = require("../../lib/getCareFlowDetails");
12
12
  const lodash_1 = require("lodash");
13
+ const addEventLog_1 = require("../../../../src/lib/awell/addEventLog");
13
14
  exports.summarizeTrackOutcome = {
14
15
  key: 'summarizeTrackOutcome',
15
16
  category: extensions_core_1.Category.WORKFLOW,
@@ -87,6 +88,11 @@ exports.summarizeTrackOutcome = {
87
88
  data_points: {
88
89
  outcomeSummary: htmlSummary,
89
90
  },
91
+ events: [
92
+ (0, addEventLog_1.addActivityEventLog)({
93
+ message: `Processing track data with ${trackData.steps.length} steps and ${trackData.steps.flatMap(step => step.activities).length} total activities (hard limit is 500)`,
94
+ }),
95
+ ],
90
96
  });
91
97
  },
92
98
  };
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeTrackOutcome.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarizeTrackOutcome.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.ts"],"names":[],"mappings":"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"}
@@ -8,45 +8,52 @@ const lodash_1 = require("lodash");
8
8
  * @returns Processed track data with steps and activities
9
9
  */
10
10
  const getTrackData = async ({ awellSdk, pathwayId, trackId, currentActivityId, }) => {
11
- var _a, _b, _c, _d, _e, _f, _g;
12
- // Validate input parameters
13
- if ((0, lodash_1.isNil)(awellSdk))
14
- throw new Error('AwellSdk is required');
11
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
12
+ const startTime = Date.now();
13
+ // Validate empty strings
15
14
  if ((0, lodash_1.isEmpty)(pathwayId))
16
15
  throw new Error('PathwayId is required');
17
16
  if ((0, lodash_1.isEmpty)(trackId))
18
17
  throw new Error('TrackId is required');
19
18
  if ((0, lodash_1.isEmpty)(currentActivityId))
20
19
  throw new Error('CurrentActivityId is required');
21
- // 1. Make a single combined query for all data
22
- const combinedQuery = await fetchAllTrackData(awellSdk, pathwayId);
20
+ // 1. Make a single combined query for all track data needed
21
+ const combinedQuery = await fetchAllTrackData(awellSdk, pathwayId, trackId);
22
+ // Log query results 'size'
23
+ console.log(`Track data fetched for care flow ${pathwayId}, track ${trackId} with ${(_c = (_b = (_a = combinedQuery.pathwayActivities) === null || _a === void 0 ? void 0 : _a.activities) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0} activities (limit is set to 500), ${(_f = (_e = (_d = combinedQuery.pathwayElements) === null || _d === void 0 ? void 0 : _d.elements) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0} elements`);
23
24
  // 2. Find current activity cutoff date
24
- const activities = (_b = (_a = combinedQuery.pathwayActivities) === null || _a === void 0 ? void 0 : _a.activities) !== null && _b !== void 0 ? _b : [];
25
+ const activities = (_h = (_g = combinedQuery.pathwayActivities) === null || _g === void 0 ? void 0 : _g.activities) !== null && _h !== void 0 ? _h : [];
25
26
  const currentActivity = activities.find(activity => activity.id === currentActivityId);
26
- const currentActivityDate = (_c = currentActivity === null || currentActivity === void 0 ? void 0 : currentActivity.date) !== null && _c !== void 0 ? _c : '';
27
- // 3. Filter activities for this track
28
- const trackActivities = filterTrackActivities(activities, trackId, currentActivityDate);
29
- // 4. Get and process steps for this track
30
- const elements = (_e = (_d = combinedQuery.pathwayElements) === null || _d === void 0 ? void 0 : _d.elements) !== null && _e !== void 0 ? _e : [];
31
- const trackSteps = filterTrackSteps(elements, trackId);
27
+ const currentActivityDate = (_j = currentActivity === null || currentActivity === void 0 ? void 0 : currentActivity.date) !== null && _j !== void 0 ? _j : '';
28
+ // 3. Filter activities by date cutoff
29
+ const filteredActivities = filterActivitiesByDate(activities, currentActivityDate);
30
+ // 4. Get all steps
31
+ const elements = (_l = (_k = combinedQuery.pathwayElements) === null || _k === void 0 ? void 0 : _k.elements) !== null && _l !== void 0 ? _l : [];
32
+ const trackSteps = filterStepElements(elements);
32
33
  // 5. Process data points for activities
33
- const dataPoints = (_g = (_f = combinedQuery.pathwayDataPoints) === null || _f === void 0 ? void 0 : _f.dataPoints) !== null && _g !== void 0 ? _g : [];
34
+ const dataPoints = (_o = (_m = combinedQuery.pathwayDataPoints) === null || _m === void 0 ? void 0 : _m.dataPoints) !== null && _o !== void 0 ? _o : [];
34
35
  const activityDataPointsMap = createDataPointsMap(dataPoints);
35
36
  // 6. Extract activities with forms for processing
36
- const activitiesWithForms = extractActivitiesWithForms(trackActivities);
37
+ const activitiesWithForms = extractActivitiesWithForms(filteredActivities);
38
+ console.log(`Processing ${activitiesWithForms.length} forms for care flow ${pathwayId}, track ${trackId}`);
37
39
  // 7. Process form definitions and responses
38
40
  const { formDefinitionsMap, formResponsesMap } = await processFormDefinitionsAndResponses(awellSdk, pathwayId, activitiesWithForms);
39
41
  // 8. Try to extract message activities and fetch message content, but continue if it fails
40
42
  let messageContentsMap = new Map();
41
43
  try {
42
- const messageActivities = extractMessageActivities(trackActivities);
44
+ const messageActivities = extractMessageActivities(filteredActivities);
45
+ console.log(`Processing ${messageActivities.length} messages for care flow ${pathwayId}, track ${trackId}`);
43
46
  messageContentsMap = await fetchMessageContents(awellSdk, messageActivities);
44
47
  }
45
48
  catch (error) {
46
- // Continue without message data
49
+ console.error(`Failed to process messages for care flow ${pathwayId}, track ${trackId}: ${error instanceof Error ? error.message : String(error)}`);
50
+ // Log error and continue without message data
47
51
  }
48
- // 9. Process steps with activities
49
- const processedSteps = trackSteps.map(step => processStep(step, trackActivities, activityDataPointsMap, formDefinitionsMap, formResponsesMap, messageContentsMap));
52
+ // 9. Finally process steps with activities
53
+ const processedSteps = trackSteps.map(step => processStep(step, filteredActivities, activityDataPointsMap, formDefinitionsMap, formResponsesMap, messageContentsMap));
54
+ // Log completion time
55
+ const processingTime = Date.now() - startTime;
56
+ console.log(`Completed processing track data for care flow ${pathwayId}, track ${trackId} in ${processingTime}ms`);
50
57
  return {
51
58
  steps: processedSteps
52
59
  };
@@ -55,20 +62,16 @@ exports.getTrackData = getTrackData;
55
62
  /**
56
63
  * Fetch all track data in a single combined query
57
64
  */
58
- async function fetchAllTrackData(awellSdk, pathwayId) {
65
+ async function fetchAllTrackData(awellSdk, pathwayId, trackId) {
59
66
  try {
60
- return await awellSdk.orchestration.query({
61
- pathway: {
62
- __args: { id: pathwayId },
63
- pathway: {
64
- tracks: {
65
- id: true,
66
- title: true
67
- }
68
- }
69
- },
67
+ console.log(`Starting track data query for care flow ${pathwayId}, track ${trackId} (activity limit: 500)`);
68
+ const queryStartTime = Date.now();
69
+ const result = await awellSdk.orchestration.query({
70
70
  pathwayElements: {
71
- __args: { pathway_id: pathwayId },
71
+ __args: {
72
+ pathway_id: pathwayId,
73
+ track_id: trackId
74
+ },
72
75
  elements: {
73
76
  id: true,
74
77
  name: true,
@@ -79,9 +82,6 @@ async function fetchAllTrackData(awellSdk, pathwayId) {
79
82
  end_date: true,
80
83
  status: true,
81
84
  type: true,
82
- stakeholders: {
83
- name: true
84
- },
85
85
  context: {
86
86
  step_id: true,
87
87
  track_id: true
@@ -91,7 +91,8 @@ async function fetchAllTrackData(awellSdk, pathwayId) {
91
91
  pathwayActivities: {
92
92
  __args: {
93
93
  pathway_id: pathwayId,
94
- pagination: { offset: 0, count: 500 } // TODO: we might need to handle this differently later but it is ok for now
94
+ track_id: trackId,
95
+ pagination: { offset: 0, count: 500 } // we should never get more than 500 activities, if there is a track with more than I would say it is justified to cut them off
95
96
  },
96
97
  activities: {
97
98
  id: true,
@@ -130,39 +131,35 @@ async function fetchAllTrackData(awellSdk, pathwayId) {
130
131
  },
131
132
  }
132
133
  });
134
+ const queryTime = Date.now() - queryStartTime;
135
+ console.log(`Completed track data query for care flow ${pathwayId}, track ${trackId} in ${queryTime}ms`);
136
+ return result;
133
137
  }
134
138
  catch (error) {
135
- throw new Error(`Failed to fetch track data: ${error instanceof Error ? error.message : String(error)}`);
139
+ console.error(`Failed to fetch track data for care flow ${pathwayId}, track ${trackId}: ${error instanceof Error ? error.message : String(error)}`);
140
+ throw error;
136
141
  }
137
142
  }
138
143
  /**
139
- * Filter activities that belong to the specified track
144
+ * Filter activities by date (keeping those before or equal to current activity date)
140
145
  */
141
- function filterTrackActivities(activities, trackId, currentActivityDate) {
146
+ function filterActivitiesByDate(activities, currentActivityDate) {
147
+ if ((0, lodash_1.isEmpty)(currentActivityDate)) {
148
+ // If there's no date cutoff, return all activities sorted by date
149
+ return activities.sort((a, b) => new Date(a.date).getTime() - new Date(b.date).getTime());
150
+ }
142
151
  return activities
143
- .filter(activity => {
144
- var _a, _b;
145
- const isInTrack = !(0, lodash_1.isNil)((_a = activity.context) === null || _a === void 0 ? void 0 : _a.track_id) &&
146
- !(0, lodash_1.isEmpty)((_b = activity.context) === null || _b === void 0 ? void 0 : _b.track_id) &&
147
- activity.context.track_id === trackId;
148
- const hasNoCurrentActivityDate = (0, lodash_1.isEmpty)(currentActivityDate);
149
- const isBeforeOrEqualToCurrentDate = !hasNoCurrentActivityDate && activity.date <= currentActivityDate;
150
- const isBeforeOrEqualDate = hasNoCurrentActivityDate || isBeforeOrEqualToCurrentDate;
151
- return isInTrack && isBeforeOrEqualDate;
152
- })
152
+ .filter(activity => activity.date <= currentActivityDate)
153
153
  .sort((a, b) => new Date(a.date).getTime() - new Date(b.date).getTime());
154
154
  }
155
155
  /**
156
- * Filter steps that belong to the specified track
156
+ * Filter elements that are steps
157
157
  */
158
- function filterTrackSteps(elements, trackId) {
158
+ function filterStepElements(elements) {
159
159
  return elements.filter(element => {
160
- var _a, _b;
161
- if ((0, lodash_1.isNil)((_a = element.context) === null || _a === void 0 ? void 0 : _a.track_id) || (0, lodash_1.isEmpty)((_b = element.context) === null || _b === void 0 ? void 0 : _b.track_id))
162
- return false;
163
160
  if ((0, lodash_1.isNil)(element.type) || (0, lodash_1.isEmpty)(element.type))
164
161
  return false;
165
- return element.context.track_id === trackId && element.type === 'STEP';
162
+ return element.type === 'STEP';
166
163
  });
167
164
  }
168
165
  /**
@@ -178,7 +175,7 @@ function createDataPointsMap(dataPoints) {
178
175
  }
179
176
  // Add enhanced data point with improved title detection
180
177
  const enhancedDataPoint = { ...dataPoint };
181
- // Apply pattern-based mappings for titles
178
+ // Apply pattern-based mappings for titles for easier LLM reasoning
182
179
  if (typeof dataPoint.data_point_definition_id === 'string' && dataPoint.data_point_definition_id !== '') {
183
180
  if (dataPoint.data_point_definition_id.endsWith('-ACTIVATION')) {
184
181
  enhancedDataPoint.definitionTitle = 'Activation Date';
@@ -216,7 +213,7 @@ async function processFormDefinitionsAndResponses(awellSdk, pathwayId, activitie
216
213
  return { formDefinitionsMap, formResponsesMap };
217
214
  }
218
215
  // Prepare queries in batches to avoid overloading
219
- const batchSize = 10;
216
+ const batchSize = 5;
220
217
  const batches = [];
221
218
  for (let i = 0; i < activitiesWithForms.length; i += batchSize) {
222
219
  batches.push(activitiesWithForms.slice(i, i + batchSize));
@@ -321,6 +318,7 @@ async function processBatch(awellSdk, pathwayId, batch, formDefinitionsMap, form
321
318
  });
322
319
  }
323
320
  catch (error) {
321
+ console.warn(`Partial form data processed for batch of ${batch.length} forms: ${error instanceof Error ? error.message : String(error)}`);
324
322
  // Continue with partial data rather than failing completely
325
323
  }
326
324
  }
@@ -337,7 +335,6 @@ function extractMessageActivities(activities) {
337
335
  !(0, lodash_1.isEmpty)(activity.object.id);
338
336
  })
339
337
  .map(activity => {
340
- // Use object.id as the message ID
341
338
  const messageId = activity.object.id;
342
339
  // Extract fallback content from activity if available
343
340
  let fallbackSubject = '';
@@ -362,7 +359,7 @@ async function fetchMessageContents(awellSdk, messageActivities) {
362
359
  return messageContentsMap;
363
360
  }
364
361
  // Process in batches to avoid overloading
365
- const batchSize = 10;
362
+ const batchSize = 5;
366
363
  const batches = [];
367
364
  for (let i = 0; i < messageActivities.length; i += batchSize) {
368
365
  batches.push(messageActivities.slice(i, i + batchSize));
@@ -370,7 +367,6 @@ async function fetchMessageContents(awellSdk, messageActivities) {
370
367
  for (const batch of batches) {
371
368
  await Promise.all(batch.map(async ({ activityId, messageId, fallbackSubject, fallbackBody }) => {
372
369
  try {
373
- // Try to fetch message content with the query structure from documentation
374
370
  const response = await awellSdk.orchestration.query({
375
371
  message: {
376
372
  __args: {
@@ -379,18 +375,10 @@ async function fetchMessageContents(awellSdk, messageActivities) {
379
375
  message: {
380
376
  id: true,
381
377
  subject: true,
382
- body: true,
383
- format: true,
384
- attachments: {
385
- id: true,
386
- name: true,
387
- type: true,
388
- url: true
389
- }
378
+ body: true
390
379
  }
391
380
  }
392
381
  });
393
- // Use lodash to check for null/undefined values
394
382
  if (!(0, lodash_1.isNil)(response) &&
395
383
  !(0, lodash_1.isNil)(response.message) &&
396
384
  !(0, lodash_1.isNil)(response.message.message)) {
@@ -430,7 +418,7 @@ async function fetchMessageContents(awellSdk, messageActivities) {
430
418
  * Process a step with its activities
431
419
  */
432
420
  function processStep(step, trackActivities, activityDataPointsMap, formDefinitionsMap, formResponsesMap, messageContentsMap) {
433
- var _a, _b;
421
+ var _a;
434
422
  const stepActivities = trackActivities
435
423
  .filter(activity => { var _a; return ((_a = activity.context) === null || _a === void 0 ? void 0 : _a.step_id) === step.id; })
436
424
  .map(activity => processActivity(activity, activityDataPointsMap, formDefinitionsMap, formResponsesMap, messageContentsMap));
@@ -440,9 +428,6 @@ function processStep(step, trackActivities, activityDataPointsMap, formDefinitio
440
428
  status: step.status,
441
429
  start_date: step.start_date,
442
430
  end_date: step.end_date,
443
- stakeholders: (_b = step.stakeholders) === null || _b === void 0 ? void 0 : _b.map(s => ({
444
- name: typeof s.name === 'string' ? s.name : ''
445
- })),
446
431
  activities: stepActivities
447
432
  };
448
433
  }
@@ -574,7 +559,7 @@ function processActivityDataPoints(baseActivity, activity, activityDataPointsMap
574
559
  let dataPointsToInclude = [];
575
560
  const hasForm = !(0, lodash_1.isNil)(activity.form) && !(0, lodash_1.isEmpty)((0, lodash_1.get)(activity.form, 'id'));
576
561
  if (hasForm) {
577
- // If this activity has a form, only include activation data points
562
+ // If this activity has a form, only include activation data points, as questions/answers will be processed separately
578
563
  dataPointsToInclude = activityDataPoints.filter(dp => !(0, lodash_1.isNil)(dp) && !(0, lodash_1.isNil)(dp.data_point_definition_id) &&
579
564
  dp.data_point_definition_id.endsWith('-ACTIVATION'));
580
565
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getTrackData.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/getTrackData/getTrackData.ts"],"names":[],"mappings":";;;AACA,mCAA4C;AAe5C;;;;GAIG;AACI,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,GACC,EAA+B,EAAE;;IACnD,4BAA4B;IAC5B,IAAI,IAAA,cAAK,EAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC7D,IAAI,IAAA,gBAAO,EAAC,SAAS,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjE,IAAI,IAAA,gBAAO,EAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC7D,IAAI,IAAA,gBAAO,EAAC,iBAAiB,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEjF,+CAA+C;IAC/C,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEnE,uCAAuC;IACvC,MAAM,UAAU,GAAG,MAAA,MAAA,aAAa,CAAC,iBAAiB,0CAAE,UAAU,mCAAI,EAAE,CAAC;IACrE,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC;IACvF,MAAM,mBAAmB,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,mCAAI,EAAE,CAAC;IAExD,sCAAsC;IACtC,MAAM,eAAe,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAExF,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,MAAA,MAAA,aAAa,CAAC,eAAe,0CAAE,QAAQ,mCAAI,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvD,wCAAwC;IACxC,MAAM,UAAU,GAAG,MAAA,MAAA,aAAa,CAAC,iBAAiB,0CAAE,UAAU,mCAAI,EAAE,CAAC;IACrE,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE9D,kDAAkD;IAClD,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,eAAe,CAAC,CAAC;IAExE,4CAA4C;IAC5C,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAC5C,MAAM,kCAAkC,CAAC,QAAQ,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAErF,2FAA2F;IAC3F,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAChF,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;QACpE,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gCAAgC;IAClC,CAAC;IAED,mCAAmC;IACnC,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC3C,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CACpH,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,cAAc;KACtB,CAAC;AACJ,CAAC,CAAC;AAvDW,QAAA,YAAY,gBAuDvB;AAEF;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,QAAkB,EAClB,SAAiB;IAEjB,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;YACxC,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACzB,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAI;qBACZ;iBACF;aACF;YACD,eAAe,EAAE;gBACf,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACjC,QAAQ,EAAE;oBACR,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;qBACX;oBACD,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,IAAI;oBACV,YAAY,EAAE;wBACZ,IAAI,EAAE,IAAI;qBACX;oBACD,OAAO,EAAE;wBACP,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;YACD,iBAAiB,EAAE;gBACjB,MAAM,EAAE;oBACN,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,4EAA4E;iBACnH;gBACD,UAAU,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnC,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,IAAI,CAAC,6BAA6B;qBACvC;oBACD,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC3C,IAAI,EAAE;wBACJ,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAI;qBACZ;oBACD,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oBAChC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;iBAC3C;aACF;YACD,iBAAiB,EAAE;gBACjB,MAAM,EAAE;oBACN,UAAU,EAAE,SAAS;iBACtB;gBACD,UAAU,EAAE;oBACV,EAAE,EAAE,IAAI;oBACR,WAAW,EAAE,IAAI;oBACjB,GAAG,EAAE,IAAI;oBACT,gBAAgB,EAAE,IAAI;oBACtB,wBAAwB,EAAE,IAAI;oBAC9B,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI;iBAClB;aACF;SACF,CAA0B,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,UAA8B,EAC9B,OAAe,EACf,mBAA2B;IAE3B,OAAO,UAAU;SACd,MAAM,CAAC,QAAQ,CAAC,EAAE;;QACjB,MAAM,SAAS,GAAG,CAAC,IAAA,cAAK,EAAC,MAAA,QAAQ,CAAC,OAAO,0CAAE,QAAQ,CAAC;YAClC,CAAC,IAAA,gBAAO,EAAC,MAAA,QAAQ,CAAC,OAAO,0CAAE,QAAQ,CAAC;YACpC,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QAExD,MAAM,wBAAwB,GAAG,IAAA,gBAAO,EAAC,mBAAmB,CAAC,CAAC;QAC9D,MAAM,4BAA4B,GAAG,CAAC,wBAAwB,IAAI,QAAQ,CAAC,IAAI,IAAI,mBAAmB,CAAC;QACvG,MAAM,mBAAmB,GAAG,wBAAwB,IAAI,4BAA4B,CAAC;QAErF,OAAO,SAAS,IAAI,mBAAmB,CAAC;IAC1C,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAA2B,EAC3B,OAAe;IAEf,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;;QAC/B,IAAI,IAAA,cAAK,EAAC,MAAA,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,IAAA,gBAAO,EAAC,MAAA,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACzF,IAAI,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,gBAAO,EAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,UAA+B;IAC1D,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAErE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;;QAC7B,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,IAAI,SAAS,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;YAC9E,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtD,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,wDAAwD;YACxD,MAAM,iBAAiB,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;YAE3C,0CAA0C;YAC1C,IAAI,OAAO,SAAS,CAAC,wBAAwB,KAAK,QAAQ,IAAI,SAAS,CAAC,wBAAwB,KAAK,EAAE,EAAE,CAAC;gBACxG,IAAI,SAAS,CAAC,wBAAwB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/D,iBAAiB,CAAC,eAAe,GAAG,iBAAiB,CAAC;gBACxD,CAAC;qBAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACtE,iBAAiB,CAAC,eAAe,GAAG,iBAAiB,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,MAAA,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,0CAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CACjC,UAA8B;IAE9B,OAAO,UAAU;SACd,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAC,OAAA,OAAO,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,EAAE,CAAA,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAA,EAAA,CAAC;SACpF,GAAG,CAAC,QAAQ,CAAC,EAAE;;QAAC,OAAA,CAAC;YAChB,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,MAAM,EAAE,MAAA,QAAQ,CAAC,IAAI,0CAAE,EAAY;SACpC,CAAC,CAAA;KAAA,CAAC,CAAC;AACR,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kCAAkC,CAC/C,QAAkB,EAClB,SAAiB,EACjB,mBAAkE;IAKlE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAe,CAAC;IAClD,MAAM,gBAAgB,GAAqB,EAAE,CAAC;IAE9C,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;IAClD,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,QAAkB,EAClB,SAAiB,EACjB,KAAoD,EACpD,kBAAoC,EACpC,gBAAkC;IAElC,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5D,IAAI,CAAC;gBACH,mDAAmD;gBACnD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;wBACxC,IAAI,EAAE;4BACJ,MAAM,EAAE;gCACN,EAAE,EAAE,MAAM;gCACV,UAAU,EAAE,SAAS;6BACtB;4BACD,IAAI,EAAE;gCACJ,EAAE,EAAE,IAAI;gCACR,KAAK,EAAE,IAAI;gCACX,GAAG,EAAE,IAAI;gCACT,aAAa,EAAE,IAAI;gCACnB,UAAU,EAAE,IAAI;gCAChB,SAAS,EAAE;oCACT,EAAE,EAAE,IAAI;oCACR,GAAG,EAAE,IAAI;oCACT,KAAK,EAAE,IAAI;oCACX,gBAAgB,EAAE,IAAI;oCACtB,OAAO,EAAE;wCACP,KAAK,EAAE,IAAI;wCACX,KAAK,EAAE,IAAI;wCACX,YAAY,EAAE,IAAI;qCACnB;iCACF;6BACF;yBACF;qBACF,CAAsC,CAAC;gBAC1C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YAC9D,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;oBACxC,YAAY,EAAE;wBACZ,MAAM,EAAE;4BACN,UAAU,EAAE,SAAS;4BACrB,WAAW,EAAE,UAAU;yBACxB;wBACD,QAAQ,EAAE;4BACR,OAAO,EAAE;gCACP,WAAW,EAAE,IAAI;gCACjB,KAAK,EAAE,IAAI;gCACX,KAAK,EAAE,IAAI;gCACX,UAAU,EAAE,IAAI;6BACjB;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACxE,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAEpE,2BAA2B;QAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,KAAa,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC,IAAI,CAAC,IAAA,cAAK,EAAC,IAAA,YAAG,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,YAAG,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC,IAAI,CAAC,IAAA,cAAK,EAAC,IAAA,YAAG,EAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC;gBACnE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAElD,2CAA2C;gBAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC;oBACpE,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAChC,CAAC;gBAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEhF,gBAAgB,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG;oBACrC,WAAW,EAAE,UAAU;oBACvB,OAAO,EAAE,MAAM;oBACf,OAAO,EAAE,OAA+B;iBACzC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4DAA4D;IAC9D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAC/B,UAA8B;IAE9B,MAAM,iBAAiB,GAAG,UAAU;SACjC,MAAM,CAAC,QAAQ,CAAC,EAAE;QACjB,OAAO,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC,MAAM,CAAC;YACvB,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;YAClC,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC;SACD,GAAG,CAAC,QAAQ,CAAC,EAAE;QACd,kCAAkC;QAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAY,CAAC;QAE/C,sDAAsD;QACtD,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QACzC,CAAC;QAED,OAAO;YACL,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,SAAS;YACT,eAAe;YACf,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,QAAkB,EAClB,iBAAoH;IAEpH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAElF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,0CAA0C;IAC1C,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE,EAAE;YAC7F,IAAI,CAAC;gBACH,2EAA2E;gBAC3E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;oBAClD,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,EAAE,EAAE,SAAS;yBACd;wBACD,OAAO,EAAE;4BACP,EAAE,EAAE,IAAI;4BACR,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,IAAI;4BACV,MAAM,EAAE,IAAI;4BACZ,WAAW,EAAE;gCACX,EAAE,EAAE,IAAI;gCACR,IAAI,EAAE,IAAI;gCACV,IAAI,EAAE,IAAI;gCACV,GAAG,EAAE,IAAI;6BACV;yBACF;qBACF;iBACF,CAAoB,CAAC;gBAEtB,gDAAgD;gBAChD,IAAI,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC;oBAChB,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC,OAAO,CAAC;oBACxB,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE;wBACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;wBACzC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;qBACpC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,oCAAoC;oBACpC,MAAM,kBAAkB,GAAG,CAAC,IAAA,cAAK,EAAC,eAAe,CAAC,IAAI,CAAC,IAAA,gBAAO,EAAC,eAAe,CAAC,CAAC;oBAChF,MAAM,eAAe,GAAG,CAAC,IAAA,cAAK,EAAC,YAAY,CAAC,IAAI,CAAC,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAC;oBAEvE,IAAI,kBAAkB,IAAI,eAAe,EAAE,CAAC;wBAC1C,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE;4BACjC,OAAO,EAAE,eAAe;4BACxB,IAAI,EAAE,YAAY;yBACnB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gDAAgD;gBAChD,MAAM,kBAAkB,GAAG,CAAC,IAAA,cAAK,EAAC,eAAe,CAAC,IAAI,CAAC,IAAA,gBAAO,EAAC,eAAe,CAAC,CAAC;gBAChF,MAAM,eAAe,GAAG,CAAC,IAAA,cAAK,EAAC,YAAY,CAAC,IAAI,CAAC,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAC;gBAEvE,IAAI,kBAAkB,IAAI,eAAe,EAAE,CAAC;oBAC1C,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE;wBACjC,OAAO,EAAE,eAAe;wBACxB,IAAI,EAAE,YAAY;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,IAAqB,EACrB,eAAmC,EACnC,qBAAuD,EACvD,kBAAoC,EACpC,gBAAkC,EAClC,kBAAoE;;IAEpE,MAAM,cAAc,GAAG,eAAe;SACnC,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,OAAO,MAAK,IAAI,CAAC,EAAE,CAAA,EAAA,CAAC;SACzD,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAC9B,QAAQ,EACR,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,CACnB,CAAC,CAAC;IAEL,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,CAAA,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAClE,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;SAC/C,CAAC,CAAC;QACH,UAAU,EAAE,cAAc;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,QAA0B,EAC1B,qBAAuD,EACvD,kBAAoC,EACpC,gBAAkC,EAClC,kBAAoE;;IAEpE,MAAM,YAAY,GAAqB;QACrC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;YAC3B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;SAC5B;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;YAC1B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;SAC3B;KACF,CAAC;IAEF,mCAAmC;IACnC,IAAI,CAAC,IAAA,cAAK,EAAC,MAAA,QAAQ,CAAC,eAAe,0CAAE,IAAI,CAAC;QACtC,CAAC,IAAA,gBAAO,EAAC,MAAA,QAAQ,CAAC,eAAe,0CAAE,IAAI,CAAC;QACxC,CAAC,IAAA,cAAK,EAAC,MAAA,QAAQ,CAAC,eAAe,0CAAE,IAAI,CAAC;QACtC,CAAC,IAAA,gBAAO,EAAC,MAAA,QAAQ,CAAC,eAAe,0CAAE,IAAI,CAAC,EAAE,CAAC;QAC7C,YAAY,CAAC,eAAe,GAAG;YAC7B,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI;YACnC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI;SACpC,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,sBAAsB,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAEnE,yBAAyB;IACzB,mBAAmB,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAElF,sBAAsB;IACtB,yBAAyB,CAAC,YAAY,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAEzE,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,YAA8B,EAC9B,QAA0B,EAC1B,kBAAoE;IAEpE,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAA,cAAK,EAAC,cAAc,CAAC,EAAE,CAAC;YAC3B,YAAY,CAAC,OAAO,GAAG;gBACrB,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,IAAI,EAAE,cAAc,CAAC,IAAI;aAC1B,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,YAA8B,EAC9B,QAA0B,EAC1B,kBAAoC,EACpC,gBAAkC;IAElC,IAAI,IAAA,cAAK,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAA,cAAK,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACxF,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;QACrB,CAAC,CAAC,eAAe,CAAC;IAEpB,oDAAoD;IACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAC/D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEpG,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtD,6BAA6B;QAC7B,IAAI,CAAC,IAAA,cAAK,EAAC,cAAc,CAAC,EAAE,CAAC;YAC3B,wDAAwD;YACxD,YAAY,CAAC,IAAI,GAAG;gBAClB,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;;oBAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;oBACxF,IAAI,YAAY,GAAG,MAAA,MAAM,CAAC,KAAK,mCAAI,aAAa,CAAC;oBAEjD,kCAAkC;oBAClC,IAAI,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC,EAAE,CAAC;wBACrB,IAAI,QAAQ,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;4BAC3C,YAAY,GAAG,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;wBAC5F,CAAC;6BAAM,IAAI,QAAQ,CAAC,gBAAgB,KAAK,iBAAiB;4BAChD,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;4BACrE,MAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;4BACvF,YAAY,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,YAAY,CAAC;wBAC/C,CAAC;oBACH,CAAC;oBAED,OAAO;wBACL,KAAK,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,MAAM,CAAC,WAAW;wBAC5C,QAAQ,EAAE,YAAY;qBACvB,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,YAAY,CAAC,IAAI,GAAG;gBAClB,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;;oBAAC,OAAA,CAAC;wBACjD,KAAK,EAAE,MAAM,CAAC,WAAW;wBACzB,QAAQ,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,aAAa;qBACxC,CAAC,CAAA;iBAAA,CAAC;aACJ,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,YAAY,CAAC,IAAI,GAAG;YAClB,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,YAA8B,EAC9B,QAA0B,EAC1B,qBAAuD;IAEvD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,IAAA,cAAK,EAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO;IACT,CAAC;IAED,yCAAyC;IACzC,IAAI,mBAAmB,GAAwB,EAAE,CAAC;IAElD,MAAM,OAAO,GAAG,CAAC,IAAA,cAAK,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAA,YAAG,EAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,IAAI,OAAO,EAAE,CAAC;QACZ,mEAAmE;QACnE,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CACnD,CAAC,IAAA,cAAK,EAAC,EAAE,CAAC,IAAI,CAAC,IAAA,cAAK,EAAC,EAAE,CAAC,wBAAwB,CAAC;YACjD,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,aAAa,CAAC,CACpD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,gEAAgE;QAChE,mBAAmB,GAAG,kBAAkB,CAAC;IAC3C,CAAC;IAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,YAAY,CAAC,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,KAAK,EAAE,EAAE,CAAC,gBAAgB;YAC1B,KAAK,EAAE,CAAC,IAAA,cAAK,EAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC;YAChH,IAAI,EAAE,EAAE,CAAC,IAAI;SACd,CAAC,CAAC,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"getTrackData.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/getTrackData/getTrackData.ts"],"names":[],"mappings":"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"}
@@ -1,39 +1,58 @@
1
- import { type AwellSdk } from '@awell-health/awell-sdk';
1
+ import { type AwellSdk, type Activity, type Element, type PathwayContext, type Answer, type Option, type Question, type Form, type DataPoint } from '@awell-health/awell-sdk';
2
+ /**
3
+ * Input parameters for getTrackData function
4
+ */
2
5
  export interface GetTrackDataInput {
3
6
  awellSdk: AwellSdk;
4
7
  pathwayId: string;
5
8
  trackId: string;
6
9
  currentActivityId: string;
7
10
  }
11
+ /**
12
+ * Output interface for getTrackData function.
13
+ * A custom structure that flattens and combines data
14
+ * to make it easier for the LLM to process the information without needing to traverse
15
+ * complex nested structures.
16
+ */
8
17
  export interface GetTrackDataOutput {
9
- steps: Array<{
10
- name: string;
11
- label: string;
12
- status: string;
13
- start_date?: string;
14
- end_date?: string;
15
- stakeholders?: Array<{
16
- name: string;
17
- }>;
18
- activities: ExtendedActivity[];
19
- }>;
18
+ steps: TrackStep[];
20
19
  }
20
+ /**
21
+ * Step type for output
22
+ * Represents a step in the pathway with its activities and metadata
23
+ */
24
+ export interface TrackStep {
25
+ name: string;
26
+ label: string;
27
+ status: string;
28
+ start_date?: string;
29
+ end_date?: string | null;
30
+ activities: ExtendedActivity[];
31
+ }
32
+ /**
33
+ * Extended activity interface that includes all relevant activity data.
34
+ * This makes it easier and more efficient for the LLM to process activities without
35
+ * needing to look for details in different data places.
36
+ */
21
37
  export interface ExtendedActivity {
22
38
  date: string;
23
39
  action: string;
24
40
  status: string;
25
- resolution?: string;
41
+ resolution?: string | null;
26
42
  subject: {
27
43
  type: string;
28
44
  name: string;
45
+ id?: string;
29
46
  };
30
47
  object: {
31
48
  type: string;
32
49
  name: string;
50
+ id?: string;
33
51
  };
34
52
  indirect_object?: {
35
53
  type: string;
36
54
  name: string;
55
+ id?: string;
37
56
  };
38
57
  form?: {
39
58
  title: string;
@@ -47,147 +66,132 @@ export interface ExtendedActivity {
47
66
  body?: string;
48
67
  };
49
68
  data_points?: Array<{
50
- value: string;
69
+ value: string | null;
51
70
  title?: string;
52
71
  date: string;
53
72
  }>;
54
73
  }
55
- export interface PathwayTrack {
56
- id: string;
57
- title?: string;
58
- }
59
- export interface PathwayResponse {
60
- pathway?: {
61
- tracks?: PathwayTrack[];
62
- };
63
- }
64
- export interface ElementResponse {
65
- id: string;
66
- name: string;
74
+ /**
75
+ * Using the SDK Element type with optional fields to pick and choose the fields we need
76
+ * with additional context needed to 'organize' the data
77
+ */
78
+ export type ElementResponse = Pick<Element, 'id' | 'name' | 'start_date' | 'end_date' | 'status' | 'type'> & {
67
79
  label?: {
68
80
  text?: string;
69
81
  };
70
- start_date?: string;
71
- end_date?: string;
72
- status: string;
73
- type: string;
74
- stakeholders?: Array<{
75
- name?: string;
76
- }>;
77
- context?: {
78
- step_id?: string;
79
- track_id?: string;
80
- };
81
- }
82
+ context?: Pick<PathwayContext, 'step_id' | 'track_id'>;
83
+ };
84
+ /**
85
+ * Response wrapper for custom elements data
86
+ */
82
87
  export interface ElementsResponse {
83
88
  elements?: ElementResponse[];
84
89
  }
85
- export interface ActivityResponse {
86
- id: string;
87
- date: string;
88
- action: string;
89
- status: string;
90
- resolution: string;
91
- subject: {
92
- type: string;
93
- name: string;
94
- };
90
+ /**
91
+ * Custom Activity type with selected fields from SDK's Activity.
92
+ * Includes additional fields for our needs and makes some fields optional.
93
+ */
94
+ export type ActivityResponse = Pick<Activity, 'id' | 'date' | 'action' | 'status' | 'resolution'> & {
95
+ subject: Pick<Activity['subject'], 'type' | 'name'>;
95
96
  object: {
96
97
  type: string;
97
98
  name: string;
98
99
  id?: string;
99
100
  };
100
101
  indirect_object?: {
101
- type?: string;
102
- name?: string;
103
- };
104
- form?: {
102
+ type: string;
103
+ name: string;
105
104
  id?: string;
106
- title?: string;
107
105
  };
108
- track?: {
106
+ form?: {
109
107
  id?: string;
110
108
  title?: string;
111
109
  };
112
- context?: {
113
- track_id?: string;
114
- step_id?: string;
115
- };
116
- }
110
+ context?: Pick<PathwayContext, 'track_id' | 'step_id'>;
111
+ };
112
+ /**
113
+ * Response wrapper for activities data
114
+ */
117
115
  export interface ActivitiesResponse {
118
116
  activities?: ActivityResponse[];
119
117
  }
120
- export interface FormResponseAnswer {
121
- question_id: string;
122
- value?: string;
123
- label?: string | null;
124
- value_type?: string;
125
- }
118
+ /**
119
+ * Pick and choose the fields we need from the SDK's Answer type
120
+ */
121
+ export type FormResponseAnswer = Pick<Answer, 'question_id' | 'value' | 'label' | 'value_type'>;
122
+ /**
123
+ * Custom structure to organize form responses by activity.
124
+ */
126
125
  export interface FormResponseData {
127
126
  activity_id: string;
128
127
  form_id: string;
129
128
  answers: FormResponseAnswer[];
130
129
  }
131
- export interface FormQuestionOption {
132
- label: string;
133
- value: number | string;
130
+ /**
131
+ * Pick and choose the fields we need from the SDK's Option type
132
+ * with additional context needed to 'organize' the data
133
+ */
134
+ export type FormQuestionOption = Pick<Option, 'label' | 'value'> & {
134
135
  value_string: string;
135
- }
136
- export interface FormQuestion {
137
- id: string;
138
- key: string;
139
- title: string;
140
- userQuestionType: string;
136
+ };
137
+ /**
138
+ * Pick and choose the fields we need from the SDK's Question type
139
+ * with additional context needed to 'organize' the data
140
+ */
141
+ export type FormQuestion = Pick<Question, 'id' | 'key' | 'title' | 'userQuestionType'> & {
141
142
  options?: FormQuestionOption[];
142
- }
143
- export interface FormDefinition {
144
- id: string;
145
- title: string;
146
- key: string;
147
- definition_id: string;
148
- release_id: string;
143
+ };
144
+ /**
145
+ * Pick and choose the fields we need from the SDK's Form type
146
+ * with additional questions to combine question/asnwers easier
147
+ */
148
+ export type FormDefinition = Pick<Form, 'id' | 'title' | 'key' | 'definition_id' | 'release_id'> & {
149
149
  questions: FormQuestion[];
150
- }
150
+ };
151
+ /**
152
+ * Response wrapper for form definition data
153
+ */
151
154
  export interface FormDefinitionResponse {
152
155
  form?: {
153
156
  form: FormDefinition;
154
157
  };
155
158
  }
156
- export interface ExtendedDataPoint {
157
- id: string;
158
- data_set_id: string;
159
- key: string;
160
- serialized_value: string;
161
- data_point_definition_id: string;
162
- date: string;
163
- valueType: string;
164
- activity_id: string;
159
+ /**
160
+ * Map type for organizing form responses by activity and form ID.
161
+ * First key is activity ID, second key is form ID.
162
+ */
163
+ export type FormResponsesMap = Record<string, Record<string, FormResponseData>>;
164
+ /**
165
+ * Extended data point interface with additional fields to enrich the data with definition key and title
166
+ */
167
+ export type ExtendedDataPoint = Pick<DataPoint, 'id' | 'data_set_id' | 'key' | 'serialized_value' | 'data_point_definition_id' | 'date' | 'valueType' | 'activity_id'> & {
165
168
  definitionKey?: string;
166
169
  definitionTitle?: string;
167
- }
170
+ };
168
171
  export interface DataPointsResponse {
169
172
  dataPoints?: ExtendedDataPoint[];
170
173
  }
174
+ /**
175
+ * Combined response interface that aggregates data from multiple queries.
176
+ * A custom structure that helps us organize all the data we need
177
+ * in a single, easy-to-process format.
178
+ */
171
179
  export interface CombinedQueryResponse {
172
- pathway?: PathwayResponse;
173
180
  pathwayElements?: ElementsResponse;
174
181
  pathwayActivities?: ActivitiesResponse;
175
182
  pathwayDataPoints?: DataPointsResponse;
176
183
  }
184
+ /**
185
+ * Message response interface for handling message data.
186
+ * We've created a custom structure that includes only the message fields
187
+ * we need for our implementation, making it simpler than the SDK's message type.
188
+ */
177
189
  export interface MessageResponse {
178
190
  message?: {
179
191
  message?: {
180
192
  id: string;
181
193
  subject?: string;
182
194
  body?: string;
183
- format?: string;
184
- attachments?: Array<{
185
- id: string;
186
- name: string;
187
- type: string;
188
- url: string;
189
- }> | null;
190
195
  };
191
196
  };
192
197
  }
193
- export type FormResponsesMap = Record<string, Record<string, FormResponseData>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.0.214",
3
+ "version": "2.0.216",
4
4
  "packageManager": "yarn@4.5.3",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {
@@ -81,7 +81,7 @@
81
81
  "typescript": "5.7.2"
82
82
  },
83
83
  "dependencies": {
84
- "@awell-health/awell-sdk": "^0.1.23",
84
+ "@awell-health/awell-sdk": "0.1.24",
85
85
  "@awell-health/extensions-core": "1.0.23",
86
86
  "@awell-health/healthie-sdk": "^0.1.1",
87
87
  "@dropbox/sign": "^1.8.0",