@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.
- package/dist/extensions/hubspot/actions/createOrUpdateContact/config/datapoints.d.ts +10 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/config/datapoints.js +14 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/config/datapoints.js.map +1 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/config/fields.d.ts +59 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/config/fields.js +88 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/config/fields.js.map +1 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/config/index.d.ts +2 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/config/index.js +9 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/config/index.js.map +1 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/createOrUpdateContact.d.ts +4 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/createOrUpdateContact.js +97 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/createOrUpdateContact.js.map +1 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/helpers.d.ts +11 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/helpers.js +37 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/helpers.js.map +1 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/index.d.ts +1 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/index.js +6 -0
- package/dist/extensions/hubspot/actions/createOrUpdateContact/index.js.map +1 -0
- package/dist/extensions/hubspot/actions/index.d.ts +60 -0
- package/dist/extensions/hubspot/actions/index.js +2 -0
- package/dist/extensions/hubspot/actions/index.js.map +1 -1
- package/dist/extensions/markdown.json +1 -1
- package/dist/extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.js +6 -0
- package/dist/extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.js.map +1 -1
- package/dist/extensions/shelly/lib/getTrackData/getTrackData.js +58 -73
- package/dist/extensions/shelly/lib/getTrackData/getTrackData.js.map +1 -1
- package/dist/extensions/shelly/lib/getTrackData/types.d.ts +105 -101
- package/package.json +2 -2
@@ -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,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,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;
|
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":";;;AAAA,mEAAqE;AAErE,qCAAqE;AACrE,iDAAsD;AACtD,qFAAiF;AACjF,2DAAkE;AAClE,wEAAwE;AACxE,wDAA2D;AAC3D,qEAAiE;AACjE,mCAA8B;
|
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
|
-
|
13
|
-
|
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 = (
|
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 = (
|
27
|
-
// 3. Filter activities
|
28
|
-
const
|
29
|
-
// 4. Get
|
30
|
-
const elements = (
|
31
|
-
const trackSteps =
|
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 = (
|
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(
|
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(
|
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
|
-
|
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.
|
49
|
-
const processedSteps = trackSteps.map(step => processStep(step,
|
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
|
-
|
61
|
-
|
62
|
-
|
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: {
|
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
|
-
|
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
|
-
|
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
|
144
|
+
* Filter activities by date (keeping those before or equal to current activity date)
|
140
145
|
*/
|
141
|
-
function
|
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
|
156
|
+
* Filter elements that are steps
|
157
157
|
*/
|
158
|
-
function
|
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.
|
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 =
|
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 =
|
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
|
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":"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"}
|
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:
|
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
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
export
|
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
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
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
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
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
|
102
|
-
name
|
103
|
-
};
|
104
|
-
form?: {
|
102
|
+
type: string;
|
103
|
+
name: string;
|
105
104
|
id?: string;
|
106
|
-
title?: string;
|
107
105
|
};
|
108
|
-
|
106
|
+
form?: {
|
109
107
|
id?: string;
|
110
108
|
title?: string;
|
111
109
|
};
|
112
|
-
context?:
|
113
|
-
|
114
|
-
|
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
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
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
|
-
|
132
|
-
|
133
|
-
|
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
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
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
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
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
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
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.
|
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": "
|
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",
|