@awell-health/awell-extensions 2.0.13 → 2.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. package/dist/extensions/cmDotCom/v1/actions/sendSms/config/fields.d.ts +1 -1
  2. package/dist/extensions/healthie/actions/createGoal/createGoal.test.js +1 -1
  3. package/dist/extensions/healthie/actions/createGoal/createGoal.test.js.map +1 -1
  4. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.d.ts +4 -0
  5. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.js +40 -0
  6. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.js.map +1 -0
  7. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.test.d.ts +1 -0
  8. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.test.js +63 -0
  9. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.test.js.map +1 -0
  10. package/dist/extensions/shelly/actions/categorizeMessage/config/datapoints.d.ts +6 -0
  11. package/dist/extensions/shelly/actions/categorizeMessage/config/datapoints.js +10 -0
  12. package/dist/extensions/shelly/actions/categorizeMessage/config/datapoints.js.map +1 -0
  13. package/dist/extensions/shelly/actions/categorizeMessage/config/fields.d.ts +28 -0
  14. package/dist/extensions/shelly/actions/categorizeMessage/config/fields.js +36 -0
  15. package/dist/extensions/shelly/actions/categorizeMessage/config/fields.js.map +1 -0
  16. package/dist/extensions/shelly/actions/categorizeMessage/config/index.d.ts +2 -0
  17. package/dist/extensions/shelly/actions/categorizeMessage/config/index.js +9 -0
  18. package/dist/extensions/shelly/actions/categorizeMessage/config/index.js.map +1 -0
  19. package/dist/extensions/shelly/actions/categorizeMessage/index.d.ts +1 -0
  20. package/dist/extensions/shelly/actions/categorizeMessage/index.js +6 -0
  21. package/dist/extensions/shelly/actions/categorizeMessage/index.js.map +1 -0
  22. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/categorizeMessageWithLLM.d.ts +6 -0
  23. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/categorizeMessageWithLLM.js +22 -0
  24. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/categorizeMessageWithLLM.js.map +1 -0
  25. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/categorizeMessageWithLLM.test.d.ts +1 -0
  26. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/categorizeMessageWithLLM.test.js +72 -0
  27. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/categorizeMessageWithLLM.test.js.map +1 -0
  28. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/constants.d.ts +18 -0
  29. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/constants.js +24 -0
  30. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/constants.js.map +1 -0
  31. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/index.d.ts +1 -0
  32. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/index.js +6 -0
  33. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/index.js.map +1 -0
  34. package/dist/extensions/shelly/actions/categorizeMessage/realTest.test.d.ts +1 -0
  35. package/dist/extensions/shelly/actions/categorizeMessage/realTest.test.js +62 -0
  36. package/dist/extensions/shelly/actions/categorizeMessage/realTest.test.js.map +1 -0
  37. package/dist/extensions/shelly/actions/index.d.ts +49 -5
  38. package/dist/extensions/shelly/actions/index.js +6 -0
  39. package/dist/extensions/shelly/actions/index.js.map +1 -1
  40. package/dist/extensions/shelly/actions/medicationFromImage/config/datapoints.d.ts +6 -0
  41. package/dist/extensions/shelly/actions/medicationFromImage/config/datapoints.js +10 -0
  42. package/dist/extensions/shelly/actions/medicationFromImage/config/datapoints.js.map +1 -0
  43. package/dist/extensions/shelly/actions/medicationFromImage/config/fields.d.ts +18 -0
  44. package/dist/extensions/shelly/actions/medicationFromImage/config/fields.js +21 -0
  45. package/dist/extensions/shelly/actions/medicationFromImage/config/fields.js.map +1 -0
  46. package/dist/extensions/shelly/actions/medicationFromImage/config/index.d.ts +2 -0
  47. package/dist/extensions/shelly/actions/medicationFromImage/config/index.js +9 -0
  48. package/dist/extensions/shelly/actions/medicationFromImage/config/index.js.map +1 -0
  49. package/dist/extensions/shelly/actions/medicationFromImage/index.d.ts +1 -0
  50. package/dist/extensions/shelly/actions/medicationFromImage/index.js +6 -0
  51. package/dist/extensions/shelly/actions/medicationFromImage/index.js.map +1 -0
  52. package/dist/extensions/shelly/actions/medicationFromImage/medicationFromImage.d.ts +4 -0
  53. package/dist/extensions/shelly/actions/medicationFromImage/medicationFromImage.js +31 -0
  54. package/dist/extensions/shelly/actions/medicationFromImage/medicationFromImage.js.map +1 -0
  55. package/dist/extensions/shelly/actions/medicationFromImage/medicationFromImage.test.d.ts +1 -0
  56. package/dist/extensions/shelly/actions/medicationFromImage/medicationFromImage.test.js +33 -0
  57. package/dist/extensions/shelly/actions/medicationFromImage/medicationFromImage.test.js.map +1 -0
  58. package/dist/extensions/shelly/actions/summarizeCareFlow/config/datapoints.d.ts +6 -0
  59. package/dist/extensions/shelly/actions/summarizeCareFlow/config/datapoints.js +10 -0
  60. package/dist/extensions/shelly/actions/summarizeCareFlow/config/datapoints.js.map +1 -0
  61. package/dist/extensions/shelly/actions/summarizeCareFlow/config/fields.d.ts +18 -0
  62. package/dist/extensions/shelly/actions/summarizeCareFlow/config/fields.js +21 -0
  63. package/dist/extensions/shelly/actions/summarizeCareFlow/config/fields.js.map +1 -0
  64. package/dist/extensions/shelly/actions/summarizeCareFlow/config/index.d.ts +2 -0
  65. package/dist/extensions/shelly/actions/summarizeCareFlow/config/index.js +9 -0
  66. package/dist/extensions/shelly/actions/summarizeCareFlow/config/index.js.map +1 -0
  67. package/dist/extensions/shelly/actions/summarizeCareFlow/index.d.ts +1 -0
  68. package/dist/extensions/shelly/actions/summarizeCareFlow/index.js +6 -0
  69. package/dist/extensions/shelly/actions/summarizeCareFlow/index.js.map +1 -0
  70. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.d.ts +4 -0
  71. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.js +67 -0
  72. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.js.map +1 -0
  73. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.test.d.ts +1 -0
  74. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.test.js +48 -0
  75. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.test.js.map +1 -0
  76. package/dist/extensions/shelly/actions/summarizeForm/lib/getResponseText/getResponseText.js +37 -14
  77. package/dist/extensions/shelly/actions/summarizeForm/lib/getResponseText/getResponseText.js.map +1 -1
  78. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.js +2 -26
  79. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.js.map +1 -1
  80. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.test.js +1 -3
  81. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.test.js.map +1 -1
  82. package/dist/extensions/shelly/lib/validatePayloadAndCreateSdk.d.ts +2 -2
  83. package/dist/extensions/shelly/lib/validatePayloadAndCreateSdk.js +6 -6
  84. package/dist/extensions/shelly/lib/validatePayloadAndCreateSdk.js.map +1 -1
  85. package/dist/extensions/shelly/settings.d.ts +0 -20
  86. package/dist/extensions/shelly/settings.js +0 -16
  87. package/dist/extensions/shelly/settings.js.map +1 -1
  88. package/dist/extensions/textline/actions/sendSms/config/fields.d.ts +1 -1
  89. package/dist/extensions/textline/actions/setContactConsent/config/fields.d.ts +1 -1
  90. package/dist/extensions/twilio/v2/actions/createFlowExecution/config/actionSchema.d.ts +5 -5
  91. package/dist/extensions/twilio/v2/actions/createFlowExecution/config/fields.d.ts +1 -1
  92. package/dist/extensions/twilio/v2/actions/sendSms/config/datapoints.d.ts +9 -0
  93. package/dist/extensions/twilio/v2/actions/sendSms/config/datapoints.js +13 -0
  94. package/dist/extensions/twilio/v2/actions/sendSms/config/datapoints.js.map +1 -0
  95. package/dist/extensions/twilio/v2/actions/sendSms/config/fields.d.ts +1 -1
  96. package/dist/extensions/twilio/v2/actions/sendSms/config/index.d.ts +1 -0
  97. package/dist/extensions/twilio/v2/actions/sendSms/config/index.js +3 -1
  98. package/dist/extensions/twilio/v2/actions/sendSms/config/index.js.map +1 -1
  99. package/dist/extensions/twilio/v2/actions/sendSms/sendSms.js +7 -2
  100. package/dist/extensions/twilio/v2/actions/sendSms/sendSms.js.map +1 -1
  101. package/dist/extensions/twilio/v2/actions/sendSmsDuringBusinessHours/config/fields.d.ts +1 -1
  102. package/dist/extensions/twilio/v2/actions/sendSmsWithMessagingSid/config/datapoints.d.ts +9 -0
  103. package/dist/extensions/twilio/v2/actions/sendSmsWithMessagingSid/config/datapoints.js +13 -0
  104. package/dist/extensions/twilio/v2/actions/sendSmsWithMessagingSid/config/datapoints.js.map +1 -0
  105. package/dist/extensions/twilio/v2/actions/sendSmsWithMessagingSid/config/fields.d.ts +1 -1
  106. package/dist/extensions/twilio/v2/actions/sendSmsWithMessagingSid/config/index.d.ts +1 -0
  107. package/dist/extensions/twilio/v2/actions/sendSmsWithMessagingSid/config/index.js +3 -1
  108. package/dist/extensions/twilio/v2/actions/sendSmsWithMessagingSid/config/index.js.map +1 -1
  109. package/dist/extensions/twilio/v2/actions/sendSmsWithMessagingSid/sendSmsWithMessagingService.js +7 -2
  110. package/dist/extensions/twilio/v2/actions/sendSmsWithMessagingSid/sendSmsWithMessagingService.js.map +1 -1
  111. package/dist/src/tests/constants.js.map +1 -1
  112. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/shelly/actions/index.ts"],"names":[],"mappings":";;AAAA,mDAA+C;AAE/C,MAAM,OAAO,GAAG;IACd,aAAa,EAAb,6BAAa;CACd,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../extensions/shelly/actions/index.ts"],"names":[],"mappings":";;AAAA,mDAA+C;AAC/C,2DAAuD;AACvD,2DAAuD;AACvD,+DAA2D;AAE3D,MAAM,OAAO,GAAG;IACd,aAAa,EAAb,6BAAa;IACb,iBAAiB,EAAjB,qCAAiB;IACjB,iBAAiB,EAAjB,qCAAiB;IACjB,mBAAmB,EAAnB,yCAAmB;CACpB,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ data: {
3
+ key: string;
4
+ valueType: "json";
5
+ };
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ data: {
6
+ key: 'data',
7
+ valueType: 'json',
8
+ },
9
+ };
10
+ //# sourceMappingURL=datapoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapoints.js","sourceRoot":"","sources":["../../../../../../extensions/shelly/actions/medicationFromImage/config/datapoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,MAAM;KAClB;CAC4C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { FieldType } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ export declare const fields: {
4
+ imageUrl: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.STRING;
9
+ required: true;
10
+ };
11
+ };
12
+ export declare const FieldsValidationSchema: z.ZodObject<{
13
+ imageUrl: z.ZodString;
14
+ }, "strip", z.ZodTypeAny, {
15
+ imageUrl: string;
16
+ }, {
17
+ imageUrl: string;
18
+ }>;
@@ -0,0 +1,21 @@
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 zod_1 = __importDefault(require("zod"));
9
+ exports.fields = {
10
+ imageUrl: {
11
+ id: 'imageUrl',
12
+ label: 'Image URL',
13
+ description: 'The URL to the uploaded image',
14
+ type: extensions_core_1.FieldType.STRING,
15
+ required: true,
16
+ },
17
+ };
18
+ exports.FieldsValidationSchema = zod_1.default.object({
19
+ imageUrl: zod_1.default.string().url(),
20
+ });
21
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/shelly/actions/medicationFromImage/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CACuB,CAAC,CAAA"}
@@ -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/shelly/actions/medicationFromImage/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1 @@
1
+ export { medicationFromImage } from './medicationFromImage';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.medicationFromImage = void 0;
4
+ var medicationFromImage_1 = require("./medicationFromImage");
5
+ Object.defineProperty(exports, "medicationFromImage", { enumerable: true, get: function () { return medicationFromImage_1.medicationFromImage; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/medicationFromImage/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,0HAAA,mBAAmB,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 medicationFromImage: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.medicationFromImage = void 0;
4
+ // import { AwellSdk } from '@awell-health/awell-sdk'
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ const lib_1 = require("../../lib");
7
+ const config_1 = require("./config");
8
+ exports.medicationFromImage = {
9
+ key: 'medicationFromImage',
10
+ category: extensions_core_1.Category.WORKFLOW,
11
+ title: 'Summarize form',
12
+ description: 'Summarize the response of a form',
13
+ fields: config_1.fields,
14
+ previewable: false,
15
+ dataPoints: config_1.dataPoints,
16
+ onEvent: async ({ payload, onComplete, onError, helpers }) => {
17
+ const { fields: { imageUrl }, } = await (0, lib_1.validatePayloadAndCreateSdk)({
18
+ fieldsSchema: config_1.FieldsValidationSchema,
19
+ payload,
20
+ });
21
+ console.log(imageUrl);
22
+ // Call whatever API with the file URL and get back JSON
23
+ const data = await Promise.resolve({ dummy: 'data' });
24
+ await onComplete({
25
+ data_points: {
26
+ data: JSON.stringify(data),
27
+ },
28
+ });
29
+ },
30
+ };
31
+ //# sourceMappingURL=medicationFromImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medicationFromImage.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/medicationFromImage/medicationFromImage.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,mEAAqE;AACrE,mCAAuD;AAEvD,qCAAqE;AAExD,QAAA,mBAAmB,GAI5B;IACF,GAAG,EAAE,qBAAqB;IAC1B,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,kCAAkC;IAC/C,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,MAAM,EACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,GACrB,GAAG,MAAM,IAAA,iCAA2B,EAAC;YACpC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACrB,wDAAwD;QACxD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAErD,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const extensions_core_1 = require("@awell-health/extensions-core");
4
+ const tests_1 = require("@/tests");
5
+ const _1 = require(".");
6
+ describe('Shelly - Summarize', () => {
7
+ const { onComplete, onError, helpers, extensionAction, clearMocks } = extensions_core_1.TestHelpers.fromAction(_1.medicationFromImage);
8
+ beforeEach(() => {
9
+ clearMocks();
10
+ });
11
+ test('Should work', async () => {
12
+ await extensionAction.onEvent({
13
+ payload: (0, tests_1.generateTestPayload)({
14
+ fields: {
15
+ imageUrl: 'https://res.cloudinary.com/da7x4rzl4/image/upload/v1726601981/hackathon-sep-2024/seqn5izsagvs5nlferlf.png',
16
+ },
17
+ settings: {
18
+ openAiApiKey: 'a',
19
+ },
20
+ }),
21
+ onComplete,
22
+ onError,
23
+ helpers,
24
+ });
25
+ expect(onError).not.toHaveBeenCalled();
26
+ expect(onComplete).toHaveBeenCalledWith({
27
+ data_points: {
28
+ data: JSON.stringify({ dummy: 'data' }),
29
+ },
30
+ });
31
+ });
32
+ });
33
+ //# sourceMappingURL=medicationFromImage.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medicationFromImage.test.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/medicationFromImage/medicationFromImage.test.ts"],"names":[],"mappings":";;AAAA,mEAA2D;AAC3D,mCAA6C;AAC7C,wBAAuC;AAEvC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GACjE,6BAAW,CAAC,UAAU,CAAC,sBAAmB,CAAC,CAAA;IAE7C,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,eAAe,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,IAAA,2BAAmB,EAAC;gBAC3B,MAAM,EAAE;oBACN,QAAQ,EACN,2GAA2G;iBAC9G;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,GAAG;iBAClB;aACF,CAAC;YACF,UAAU;YACV,OAAO;YACP,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;QACtC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,WAAW,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aACxC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ summary: {
3
+ key: string;
4
+ valueType: "string";
5
+ };
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ summary: {
6
+ key: 'summary',
7
+ valueType: 'string',
8
+ },
9
+ };
10
+ //# sourceMappingURL=datapoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datapoints.js","sourceRoot":"","sources":["../../../../../../extensions/shelly/actions/summarizeCareFlow/config/datapoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,OAAO,EAAE;QACP,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { FieldType } from '@awell-health/extensions-core';
2
+ import z from 'zod';
3
+ export declare const fields: {
4
+ prompt: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.TEXT;
9
+ required: false;
10
+ };
11
+ };
12
+ export declare const FieldsValidationSchema: z.ZodObject<{
13
+ prompt: z.ZodOptional<z.ZodString>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ prompt?: string | undefined;
16
+ }, {
17
+ prompt?: string | undefined;
18
+ }>;
@@ -0,0 +1,21 @@
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 zod_1 = __importDefault(require("zod"));
9
+ exports.fields = {
10
+ prompt: {
11
+ id: 'prompt',
12
+ label: 'Prompt',
13
+ description: 'Leave blank to use the default prompt',
14
+ type: extensions_core_1.FieldType.TEXT,
15
+ required: false,
16
+ },
17
+ };
18
+ exports.FieldsValidationSchema = zod_1.default.object({
19
+ prompt: zod_1.default.string().optional(),
20
+ });
21
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/shelly/actions/summarizeCareFlow/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACoB,CAAC,CAAA"}
@@ -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/shelly/actions/summarizeCareFlow/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1 @@
1
+ export { summarizeCareFlow } from './summarizeCareFlow';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.summarizeCareFlow = void 0;
4
+ var summarizeCareFlow_1 = require("./summarizeCareFlow");
5
+ Object.defineProperty(exports, "summarizeCareFlow", { enumerable: true, get: function () { return summarizeCareFlow_1.summarizeCareFlow; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeCareFlow/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAA9C,sHAAA,iBAAiB,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 summarizeCareFlow: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.summarizeCareFlow = 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
+ exports.summarizeCareFlow = {
8
+ key: 'summarizeCareFlow',
9
+ category: extensions_core_1.Category.WORKFLOW,
10
+ title: 'Summarize care flow',
11
+ description: 'Summarize the care flow up until now',
12
+ fields: config_1.fields,
13
+ previewable: false,
14
+ dataPoints: config_1.dataPoints,
15
+ onEvent: async ({ payload, onComplete, onError, helpers }) => {
16
+ const { pathway } = await (0, lib_1.validatePayloadAndCreateSdk)({
17
+ fieldsSchema: config_1.FieldsValidationSchema,
18
+ payload,
19
+ });
20
+ const awellSdk = await helpers.awellSdk();
21
+ /**
22
+ * Limitation: this query is paginated so we might not get all pathway activities
23
+ */
24
+ const pathwayActivitesUntilNow = await awellSdk.orchestration.query({
25
+ pathwayActivities: {
26
+ __args: {
27
+ pathway_id: pathway.id,
28
+ pagination: { offset: 0, count: 500 },
29
+ sorting: {
30
+ direction: 'desc',
31
+ field: 'date',
32
+ },
33
+ },
34
+ activities: {
35
+ __scalar: true,
36
+ subject: {
37
+ __scalar: true,
38
+ },
39
+ object: {
40
+ __scalar: true,
41
+ },
42
+ indirect_object: {
43
+ __scalar: true,
44
+ },
45
+ context: {
46
+ __scalar: true,
47
+ },
48
+ track: {
49
+ __scalar: true,
50
+ },
51
+ sub_activities: {
52
+ __scalar: true,
53
+ },
54
+ },
55
+ },
56
+ });
57
+ console.log(JSON.stringify(pathwayActivitesUntilNow.pathwayActivities.activities, null, 2));
58
+ // Call OpenAI
59
+ // const res = await langChainOpenAiSdk.invoke()
60
+ await onComplete({
61
+ data_points: {
62
+ summary: 'Hello world',
63
+ },
64
+ });
65
+ },
66
+ };
67
+ //# sourceMappingURL=summarizeCareFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarizeCareFlow.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,mCAAuD;AAEvD,qCAAqE;AAExD,QAAA,iBAAiB,GAI1B;IACF,GAAG,EAAE,mBAAmB;IACxB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,iCAA2B,EAAC;YACpD,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;QAEzC;;WAEG;QACH,MAAM,wBAAwB,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;YAClE,iBAAiB,EAAE;gBACjB,MAAM,EAAE;oBACN,UAAU,EAAE,OAAO,CAAC,EAAE;oBACtB,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;oBACrC,OAAO,EAAE;wBACP,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,MAAM;qBACd;iBACF;gBACD,UAAU,EAAE;oBACV,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE;wBACP,QAAQ,EAAE,IAAI;qBACf;oBACD,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI;qBACf;oBACD,eAAe,EAAE;wBACf,QAAQ,EAAE,IAAI;qBACf;oBACD,OAAO,EAAE;wBACP,QAAQ,EAAE,IAAI;qBACf;oBACD,KAAK,EAAE;wBACL,QAAQ,EAAE,IAAI;qBACf;oBACD,cAAc,EAAE;wBACd,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,wBAAwB,CAAC,iBAAiB,CAAC,UAAU,EACrD,IAAI,EACJ,CAAC,CACF,CACF,CAAA;QAED,cAAc;QACd,gDAAgD;QAEhD,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,OAAO,EAAE,aAAa;aACvB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const extensions_core_1 = require("@awell-health/extensions-core");
4
+ const tests_1 = require("@/tests");
5
+ const _1 = require(".");
6
+ const pathwayActivitiesResponse_1 = require("./__mocks__/pathwayActivitiesResponse");
7
+ describe('Shelly - Summarize care flow', () => {
8
+ const { onComplete, onError, helpers, extensionAction, clearMocks } = extensions_core_1.TestHelpers.fromAction(_1.summarizeCareFlow);
9
+ const awellSdkMock = {
10
+ orchestration: {
11
+ mutation: jest.fn().mockResolvedValue({}),
12
+ query: jest.fn().mockResolvedValue({
13
+ pathwayActivities: pathwayActivitiesResponse_1.mockPathwayActivitiesResponse,
14
+ }),
15
+ },
16
+ };
17
+ helpers.awellSdk = jest.fn().mockResolvedValue(awellSdkMock);
18
+ beforeEach(() => {
19
+ clearMocks();
20
+ });
21
+ test('Should work', async () => {
22
+ await extensionAction.onEvent({
23
+ payload: (0, tests_1.generateTestPayload)({
24
+ pathway: {
25
+ id: 'whatever',
26
+ },
27
+ fields: {
28
+ prompt: '',
29
+ },
30
+ settings: {
31
+ openAiApiKey: 'a',
32
+ },
33
+ }),
34
+ onComplete,
35
+ onError,
36
+ helpers,
37
+ });
38
+ expect(helpers.awellSdk).toHaveBeenCalledTimes(1);
39
+ expect(awellSdkMock.orchestration.query).toHaveBeenCalledTimes(1);
40
+ expect(onError).not.toHaveBeenCalled();
41
+ expect(onComplete).toHaveBeenCalledWith({
42
+ data_points: {
43
+ summary: 'Hello world',
44
+ },
45
+ });
46
+ });
47
+ });
48
+ //# sourceMappingURL=summarizeCareFlow.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarizeCareFlow.test.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.test.ts"],"names":[],"mappings":";;AAAA,mEAA2D;AAC3D,mCAA6C;AAC7C,wBAAqC;AACrC,qFAAqF;AAErF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GACjE,6BAAW,CAAC,UAAU,CAAC,oBAAiB,CAAC,CAAA;IAE3C,MAAM,YAAY,GAAG;QACnB,aAAa,EAAE;YACb,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACjC,iBAAiB,EAAE,yDAA6B;aACjD,CAAC;SACH;KACF,CAAA;IAED,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAE5D,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,eAAe,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,IAAA,2BAAmB,EAAC;gBAC3B,OAAO,EAAE;oBACP,EAAE,EAAE,UAAU;iBACf;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,EAAE;iBACX;gBACD,QAAQ,EAAE;oBACR,YAAY,EAAE,GAAG;iBAClB;aACF,CAAC;YACF,UAAU;YACV,OAAO;YACP,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAEjE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;QACtC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC;YACtC,WAAW,EAAE;gBACX,OAAO,EAAE,aAAa;aACvB;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,43 +1,66 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getResponseText = void 0;
4
+ const getBooleanAnswer = (answer) => {
5
+ if (answer === '0')
6
+ return 'Answer: No';
7
+ if (answer === '1')
8
+ return 'Answer: Yes';
9
+ return 'Answer: unknown';
10
+ };
11
+ const getSingleSelectAnswer = (questionDefinition, questionResponse) => {
12
+ var _a, _b;
13
+ const answerValue = questionResponse.value;
14
+ const answerOptions = (_a = questionDefinition.options) !== null && _a !== void 0 ? _a : [];
15
+ const allAnswerOptions = answerOptions === null || answerOptions === void 0 ? void 0 : answerOptions.map((option) => {
16
+ return `- ${option.label} (${option.value_string})`;
17
+ }).join('\n');
18
+ const answerLabel = (_b = answerOptions === null || answerOptions === void 0 ? void 0 : answerOptions.find((answerOption) => answerOption.value_string === answerValue)) === null || _b === void 0 ? void 0 : _b.label;
19
+ return `Possible answers:\n${allAnswerOptions}\nAnswer: ${String(answerLabel)}`;
20
+ };
4
21
  const getMultipleSelectAnswers = (questionDefinition, questionResponse) => {
22
+ var _a;
5
23
  const answerValues = JSON.parse(questionResponse.value);
6
- const answerOptions = questionDefinition.options;
24
+ const answerOptions = (_a = questionDefinition.options) !== null && _a !== void 0 ? _a : [];
7
25
  const answerLabels = answerValues
8
26
  .map((answerValue) => {
9
27
  var _a;
10
- return (_a = answerOptions === null || answerOptions === void 0 ? void 0 : answerOptions.find((answerOption) => String(answerOption.value) === String(answerValue))) === null || _a === void 0 ? void 0 : _a.label;
28
+ return (_a = answerOptions === null || answerOptions === void 0 ? void 0 : answerOptions.find((answerOption) => answerOption.value_string === String(answerValue))) === null || _a === void 0 ? void 0 : _a.label;
11
29
  })
12
30
  .filter((answer) => answer !== undefined);
13
- return answerLabels.map((_answerLabel) => `- ${_answerLabel}`).join('\n');
31
+ const allAnswerOptions = answerOptions === null || answerOptions === void 0 ? void 0 : answerOptions.map((option) => {
32
+ return `- ${option.label} (${option.value_string})`;
33
+ }).join('\n');
34
+ return `Possible answers:\n${allAnswerOptions}\nAnswers:\n${answerLabels
35
+ .map((_answerLabel) => `- ${_answerLabel}`)
36
+ .join('\n')}`;
14
37
  };
15
38
  const getQuestionAndAnswer = (questionDefinition, questionResponse) => {
16
39
  const userQuestionType = questionDefinition.userQuestionType;
17
40
  const addQuestionLabel = (answer) => {
18
- return `${questionDefinition.title}\n${answer}`;
41
+ return `Question label: ${questionDefinition.title}\nQuestion type: ${questionDefinition.userQuestionType}\n${answer}`;
19
42
  };
20
43
  switch (userQuestionType) {
21
44
  case 'YES_NO':
22
- return addQuestionLabel(String(questionResponse.value));
45
+ return addQuestionLabel(getBooleanAnswer(questionResponse.value));
23
46
  case 'DATE':
24
- return addQuestionLabel(String(questionResponse.value));
47
+ return addQuestionLabel(`Answer: ${String(questionResponse.value)}`);
25
48
  case 'NUMBER':
26
- return addQuestionLabel(String(questionResponse.value));
49
+ return addQuestionLabel(`Answer: ${String(questionResponse.value)}`);
27
50
  case 'LONG_TEXT':
28
- return addQuestionLabel(String(questionResponse.value));
51
+ return addQuestionLabel(`Answer: ${String(questionResponse.value)}`);
29
52
  case 'MULTIPLE_CHOICE':
30
- return addQuestionLabel(String(questionResponse.value));
53
+ return addQuestionLabel(getSingleSelectAnswer(questionDefinition, questionResponse));
31
54
  case 'MULTIPLE_SELECT':
32
55
  return addQuestionLabel(getMultipleSelectAnswers(questionDefinition, questionResponse));
33
56
  case 'SLIDER':
34
- return addQuestionLabel(String(questionResponse.value));
57
+ return addQuestionLabel(`Answer: ${String(questionResponse.value)}`);
35
58
  case 'SHORT_TEXT':
36
- return addQuestionLabel(String(questionResponse.value));
59
+ return addQuestionLabel(`Answer: ${String(questionResponse.value)}`);
37
60
  case 'TELEPHONE':
38
- return addQuestionLabel(String(questionResponse.value));
61
+ return addQuestionLabel(`Answer: ${String(questionResponse.value)}`);
39
62
  default:
40
- return addQuestionLabel(String(questionResponse.value));
63
+ return addQuestionLabel(`Answer: ${String(questionResponse.value)}`);
41
64
  }
42
65
  };
43
66
  const getResponseText = (opts) => {
@@ -65,7 +88,7 @@ const getResponseText = (opts) => {
65
88
  }
66
89
  });
67
90
  return {
68
- result: formAnswers.join('\n\n'),
91
+ result: formAnswers.join('\n\n----------------\n\n'),
69
92
  omittedFormAnswers,
70
93
  };
71
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getResponseText.js","sourceRoot":"","sources":["../../../../../../../extensions/shelly/actions/summarizeForm/lib/getResponseText/getResponseText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getResponseText.js","sourceRoot":"","sources":["../../../../../../../extensions/shelly/actions/summarizeForm/lib/getResponseText/getResponseText.ts"],"names":[],"mappings":"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"}
@@ -20,13 +20,8 @@ exports.summarizeForm = {
20
20
  fieldsSchema: config_1.FieldsValidationSchema,
21
21
  payload,
22
22
  });
23
- // const awellSdk = new AwellSdk({
24
- // environment: 'development',
25
- // apiKey: '',
26
- // })
27
23
  const { formDefinition, formResponse } = await (0, getLatestFormInStep_1.getLatestFormInStep)({
28
24
  awellSdk: await helpers.awellSdk(),
29
- // awellSdk,
30
25
  pathwayId: pathway.id,
31
26
  activityId: activity.id,
32
27
  });
@@ -34,31 +29,12 @@ exports.summarizeForm = {
34
29
  formDefinition,
35
30
  formResponse,
36
31
  });
32
+ console.log(responseText);
37
33
  await onComplete({
38
34
  data_points: {
39
- summary: responseText,
35
+ summary: JSON.stringify(responseText),
40
36
  },
41
37
  });
42
- // const openAiSdk = openai
43
- // const completion = await openAiSdk.chat.completions.create({
44
- // messages: [
45
- // // Prompt, context
46
- // {
47
- // role: 'system',
48
- // content:
49
- // 'You will be provided with a questionnaire response, and your task is to summarize the meeting as follows:\n\n- Overall summary of the response',
50
- // },
51
- // // Form answers
52
- // { role: 'user', content: 'Who won the world series in 2020?' },
53
- // ],
54
- // model: 'gpt-3.5-turbo',
55
- // })
56
- // const result = completion.choices[0].message.content
57
- // await onComplete({
58
- // data_points: {
59
- // summary: JSON.stringify(result),
60
- // },
61
- // })
62
38
  },
63
39
  };
64
40
  //# sourceMappingURL=summarizeForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeForm.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeForm/summarizeForm.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,mEAAqE;AACrE,mCAAuD;AACvD,6EAAyE;AAEzE,qCAAqE;AACrE,2DAAuD;AAE1C,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,kCAAkC;IAC/C,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,iCAA2B,EAAC;YAC9D,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,kCAAkC;QAClC,gCAAgC;QAChC,gBAAgB;QAChB,KAAK;QAEL,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,yCAAmB,EAAC;YACjE,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE;YAClC,YAAY;YACZ,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,QAAQ,CAAC,EAAE;SACxB,CAAC,CAAA;QAEF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,iCAAe,EAAC;YAC/C,cAAc;YACd,YAAY;SACb,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,OAAO,EAAE,YAAY;aACtB;SACF,CAAC,CAAA;QAEF,2BAA2B;QAE3B,+DAA+D;QAC/D,gBAAgB;QAChB,yBAAyB;QACzB,QAAQ;QACR,wBAAwB;QACxB,iBAAiB;QACjB,4JAA4J;QAC5J,SAAS;QACT,sBAAsB;QACtB,sEAAsE;QACtE,OAAO;QACP,4BAA4B;QAC5B,KAAK;QAEL,uDAAuD;QAEvD,qBAAqB;QACrB,mBAAmB;QACnB,uCAAuC;QACvC,OAAO;QACP,KAAK;IACP,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"summarizeForm.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeForm/summarizeForm.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,mEAAqE;AACrE,mCAAuD;AACvD,6EAAyE;AAEzE,qCAAqE;AACrE,2DAAuD;AAE1C,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,kCAAkC;IAC/C,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,iCAA2B,EAAC;YAC9D,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,yCAAmB,EAAC;YACjE,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE;YAClC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,QAAQ,CAAC,EAAE;SACxB,CAAC,CAAA;QAEF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,iCAAe,EAAC;YAC/C,cAAc;YACd,YAAY;SACb,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAEzB,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACtC;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -36,8 +36,6 @@ describe('Shelly - Summarize', () => {
36
36
  },
37
37
  settings: {
38
38
  openAiApiKey: 'a',
39
- openAiOrgId: 'b',
40
- openAiProjectId: 'c',
41
39
  },
42
40
  }),
43
41
  onComplete,
@@ -49,7 +47,7 @@ describe('Shelly - Summarize', () => {
49
47
  expect(onError).not.toHaveBeenCalled();
50
48
  expect(onComplete).toHaveBeenCalledWith({
51
49
  data_points: {
52
- result: '99999',
50
+ summary: '"Question label: Single select (number)\\nQuestion type: MULTIPLE_CHOICE\\nPossible answers:\\n- Option 1 (0)\\n- Option 2 (1)\\n- Option 3 (2)\\nAnswer: Option 1\\n\\n----------------\\n\\nQuestion label: Single select (string)\\nQuestion type: MULTIPLE_CHOICE\\nPossible answers:\\n- Option 1 (option_1)\\n- Option 2 (option_2)\\n- Option 3 (option_3)\\nAnswer: Option 1\\n\\n----------------\\n\\nQuestion label: Multiple select (number)\\nQuestion type: MULTIPLE_SELECT\\nPossible answers:\\n- Option 1 (0)\\n- Option 2 (1)\\n- Option 3 (2)\\nAnswers:\\n- Option 1\\n- Option 2\\n\\n----------------\\n\\nQuestion label: Multiple select (string)\\nQuestion type: MULTIPLE_SELECT\\nPossible answers:\\n- Option 1 (option_1)\\n- Option 2 (option_2)\\n- Option 3 (option_3)\\nAnswers:\\n- Option 1\\n- Option 2\\n\\n----------------\\n\\nQuestion label: Yes or no? (boolean)\\nQuestion type: YES_NO\\nAnswer: Yes\\n\\n----------------\\n\\nQuestion label: Slider\\nQuestion type: SLIDER\\nAnswer: 5\\n\\n----------------\\n\\nQuestion label: Date\\nQuestion type: DATE\\nAnswer: 2024-09-17T00:00:00.000Z\\n\\n----------------\\n\\nQuestion label: Email\\nQuestion type: EMAIL\\nAnswer: nick@awellhealth.com\\n\\n----------------\\n\\nQuestion label: Question that collects a numeric value\\nQuestion type: NUMBER\\nAnswer: 1\\n\\n----------------\\n\\nQuestion label: Question that collects a sstring value\\nQuestion type: SHORT_TEXT\\nAnswer: A short answer\\n\\n----------------\\n\\nQuestion label: Question that collects a string but long-form (textarea)\\nQuestion type: LONG_TEXT\\nAnswer: A long text\\n\\nNew paragraph\\n\\n----------------\\n\\nQuestion label: Question that collects a phone number\\nQuestion type: TELEPHONE\\nAnswer: +32476581696"',
53
51
  },
54
52
  });
55
53
  });