@awell-health/awell-extensions 2.0.207 → 2.0.209

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/extensions/markdown.json +1 -1
  2. package/dist/extensions/shelly/actions/index.d.ts +8 -1
  3. package/dist/extensions/shelly/actions/summarizeForm/config/fields.d.ts +10 -0
  4. package/dist/extensions/shelly/actions/summarizeForm/config/fields.js +8 -2
  5. package/dist/extensions/shelly/actions/summarizeForm/config/fields.js.map +1 -1
  6. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.js +21 -4
  7. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.js.map +1 -1
  8. package/dist/extensions/shelly/actions/summarizeTrackOutcome/config/fields.d.ts +1 -1
  9. package/dist/extensions/shelly/actions/summarizeTrackOutcome/config/fields.js +1 -1
  10. package/dist/extensions/shelly/actions/summarizeTrackOutcome/config/fields.js.map +1 -1
  11. package/dist/extensions/shelly/actions/summarizeTrackOutcome/lib/summarizeTrackOutcomeWithLLM/prompt.d.ts +1 -1
  12. package/dist/extensions/shelly/actions/summarizeTrackOutcome/lib/summarizeTrackOutcomeWithLLM/prompt.js +10 -2
  13. package/dist/extensions/shelly/actions/summarizeTrackOutcome/lib/summarizeTrackOutcomeWithLLM/prompt.js.map +1 -1
  14. package/dist/extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.js +1 -4
  15. package/dist/extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.js.map +1 -1
  16. package/dist/extensions/shelly/lib/getFormResponseText/getFormResponseText.js +6 -6
  17. package/dist/extensions/shelly/lib/getFormResponseText/getFormResponseText.js.map +1 -1
  18. package/dist/extensions/shelly/lib/getTrackData/getTrackData.js +17 -38
  19. package/dist/extensions/shelly/lib/getTrackData/getTrackData.js.map +1 -1
  20. package/dist/extensions/shelly/lib/summarizeFormWithLLM/prompt.d.ts +2 -2
  21. package/dist/extensions/shelly/lib/summarizeFormWithLLM/prompt.js +6 -0
  22. package/dist/extensions/shelly/lib/summarizeFormWithLLM/prompt.js.map +1 -1
  23. package/dist/extensions/shelly/lib/summarizeFormWithLLM/summarizeFormWithLLM.d.ts +3 -1
  24. package/dist/extensions/shelly/lib/summarizeFormWithLLM/summarizeFormWithLLM.js +3 -1
  25. package/dist/extensions/shelly/lib/summarizeFormWithLLM/summarizeFormWithLLM.js.map +1 -1
  26. package/package.json +1 -1
@@ -152,7 +152,7 @@
152
152
  "changelog": "# Salesforce changelog"
153
153
  },
154
154
  "shelly": {
155
- "readme": "---\ntitle: Shelly\ndescription: Library of AI-powered actions\n---\n\n# Shelly\n\nShelly is a library of AI-powered actions for enhancing workflow automation and data processing. It includes the following actions:\n\n1. **summarizeForm**: Summarizes form data (last form in a step)\n2. **summarizeFormsInStep**: Summarizes all forms within a step.\n3. **summarizeCareFlow**: Provides a summary of a care flow.\n4. **categorizeMessage**: Categorizes messages or content.\n5. **generateMessage**: Generates personalized messages.\n6. **medicationFromImage**: Extracts medication information from images.\n7. **reviewMedicationExtraction**: Reviews and validates extracted medication information.\n8. **summarizeTrackOutcome**: Provides an AI-generated summary of track activities and overall track outcomes.",
155
+ "readme": "---\ntitle: Shelly\ndescription: Library of AI-powered actions\n---\n\n# Shelly\n\nShelly is a library of AI-powered actions for enhancing workflow automation and data processing. It leverages advanced language models and specialized APIs to provide intelligent automation capabilities.\n\n## Actions\n\n### Categorize Message\nUses AI to classify messages into predefined categories.\n\n- Analyzes message content using LLM\n- Matches against provided categories\n- Provides explanation for the categorization\n\nFeatures:\n- Supports custom category lists\n- Handles multiple languages\n- Returns \"None\" if no category matches\n- Includes detailed explanation of the classification\n\n### Generate Message\nCreates personalized messages using AI.\n\n- Takes communication objective and context\n- Generates appropriate message content\n- Formats according to stakeholder needs\n\nFeatures:\n- Customizable tone and style\n- Multi-language support\n- Personalization based on recipient data\n- Context-aware message generation\n\n### Medication From Image\nExtracts structured medication information from images.\n\n- Processes uploaded medication images\n- Uses specialized API for text extraction\n- Returns structured medication data\n\nFeatures:\n- Extracts medication names, dosages, and instructions\n- Supports various image formats\n- Returns both structured data and text summary\n- Includes error handling for unclear images\n\n### Review Medication Extraction\nAllows stakeholders to review and validate extracted medication information.\n\n- Displays extracted medication data\n- Provides interface for validation\n- Captures reviewer feedback\n\nFeatures:\n- Side-by-side image and data comparison\n- Validation workflow\n- Support for corrections and annotations\n\n### Summarize Care Flow\nProvides an AI-generated summary of the entire care flow progress.\n\n- Collects all relevant care flow data\n- Analyzes activities and outcomes\n- Generates a comprehensive summary\n\nFeatures:\n- Customizable for different stakeholders (e.g., clinicians, patients)\n- Optional focus areas through additional instructions\n- Includes relevant context and disclaimers\n\n### Summarize Form\nUses AI to generate concise summaries of form responses.\n\n- Retrieves the latest form data from the current step\n- Processes form responses with an LLM\n- Generates a structured summary in the specified format\n\nFeatures:\n- Supports bullet-point or paragraph format\n- Customizable language selection\n- Optional additional instructions for focused summaries\n- Includes context-aware disclaimers\n\n### Summarize Forms in Step\nSimilar to summarizeForm but processes all forms within a step.\n\nFeatures:\n- Combines data from multiple forms\n- Maintains context between form responses\n- Same formatting options as single form summaries\n\n### Summarize Track Outcome\nGenerates comprehensive summaries of track activities and outcomes.\n\n- Analyzes track data and activities\n- Identifies key outcomes and decisions\n- Creates structured summary\n\nFeatures:\n- Customizable focus areas\n- Support for specific outcome analysis\n- Flexible formatting options\n- Context-aware summaries",
156
156
  "changelog": "# Shelly changelog"
157
157
  },
158
158
  "stripe": {
@@ -107,6 +107,13 @@ declare const actions: {
107
107
  type: import("@awell-health/extensions-core").FieldType.STRING;
108
108
  required: false;
109
109
  };
110
+ additionalInstructions: {
111
+ id: string;
112
+ label: string;
113
+ description: string;
114
+ type: import("@awell-health/extensions-core").FieldType.TEXT;
115
+ required: false;
116
+ };
110
117
  }, Record<string, never>, "summary">;
111
118
  summarizeFormsInStep: import("@awell-health/extensions-core").Action<{
112
119
  summaryFormat: {
@@ -129,7 +136,7 @@ declare const actions: {
129
136
  id: string;
130
137
  label: string;
131
138
  description: string;
132
- type: import("@awell-health/extensions-core").FieldType.STRING;
139
+ type: import("@awell-health/extensions-core").FieldType.TEXT;
133
140
  required: false;
134
141
  };
135
142
  }, Record<string, never>, "outcomeSummary">;
@@ -25,14 +25,24 @@ export declare const fields: {
25
25
  type: FieldType.STRING;
26
26
  required: false;
27
27
  };
28
+ additionalInstructions: {
29
+ id: string;
30
+ label: string;
31
+ description: string;
32
+ type: FieldType.TEXT;
33
+ required: false;
34
+ };
28
35
  };
29
36
  export declare const FieldsValidationSchema: z.ZodObject<{
30
37
  summaryFormat: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodEnum<[SummaryFormatEnum.BULLET_POINTS, SummaryFormatEnum.TEXT_PARAGRAPH]>>>, SummaryFormatEnum, SummaryFormatEnum | undefined>;
31
38
  language: z.ZodDefault<z.ZodOptional<z.ZodString>>;
39
+ additionalInstructions: z.ZodDefault<z.ZodOptional<z.ZodString>>;
32
40
  }, "strip", z.ZodTypeAny, {
33
41
  language: string;
42
+ additionalInstructions: string;
34
43
  summaryFormat: SummaryFormatEnum;
35
44
  }, {
36
45
  language?: string | undefined;
46
+ additionalInstructions?: string | undefined;
37
47
  summaryFormat?: SummaryFormatEnum | undefined;
38
48
  }>;
@@ -6,13 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FieldsValidationSchema = exports.fields = exports.SummaryFormatEnum = void 0;
7
7
  const extensions_core_1 = require("@awell-health/extensions-core");
8
8
  const zod_1 = __importDefault(require("zod"));
9
- // Step 1: Define the enum
10
9
  var SummaryFormatEnum;
11
10
  (function (SummaryFormatEnum) {
12
11
  SummaryFormatEnum["BULLET_POINTS"] = "Bullet-points";
13
12
  SummaryFormatEnum["TEXT_PARAGRAPH"] = "Text paragraph";
14
13
  })(SummaryFormatEnum || (exports.SummaryFormatEnum = SummaryFormatEnum = {}));
15
- // Step 2: Define the fields object
16
14
  exports.fields = {
17
15
  summaryFormat: {
18
16
  id: 'summaryFormat',
@@ -34,6 +32,13 @@ exports.fields = {
34
32
  type: extensions_core_1.FieldType.STRING,
35
33
  required: false,
36
34
  },
35
+ additionalInstructions: {
36
+ id: 'additionalInstructions',
37
+ label: 'Additional Instructions',
38
+ description: '[Optional] Specify additional instructions for the AI to generate the form summary. You can include details about: specific questions to focus on, desired level of detail, information to emphasize or exclude, etc.',
39
+ type: extensions_core_1.FieldType.TEXT,
40
+ required: false,
41
+ },
37
42
  };
38
43
  // Step 3: Define the validation schema using zod
39
44
  exports.FieldsValidationSchema = zod_1.default.object({
@@ -45,5 +50,6 @@ exports.FieldsValidationSchema = zod_1.default.object({
45
50
  ? value
46
51
  : SummaryFormatEnum.BULLET_POINTS),
47
52
  language: zod_1.default.string().optional().default('Default'),
53
+ additionalInstructions: zod_1.default.string().optional().default('No additional instructions'),
48
54
  });
49
55
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/shelly/actions/summarizeForm/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAExC,0BAA0B;AAC1B,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,oDAA+B,CAAA;IAC/B,sDAAiC,CAAA;AACnC,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B;AAED,mCAAmC;AACtB,QAAA,MAAM,GAAG;IACpB,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,+GAA+G;QACjH,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE;YACP,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjE,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;SACJ;KACF;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,iFAAiF;QACnF,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEjC,iDAAiD;AACpC,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,aAAa,EAAE,aAAC;SACb,IAAI,CAAC,CAAC,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;SACzE,QAAQ,EAAE;SACV,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC;SACxC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAA0B,CAAC;QACnE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,iBAAiB,CAAC,aAAa,CACpC;IACH,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;CACD,CAAC,CAAA"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/shelly/actions/summarizeForm/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAExC,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,oDAA+B,CAAA;IAC/B,sDAAiC,CAAA;AACnC,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B;AAEY,QAAA,MAAM,GAAG;IACpB,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,+GAA+G;QACjH,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE;YACP,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjE,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;SACJ;KACF;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,iFAAiF;QACnF,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB;IACD,sBAAsB,EAAE;QACtB,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,uNAAuN;QACzN,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEjC,iDAAiD;AACpC,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,aAAa,EAAE,aAAC;SACb,IAAI,CAAC,CAAC,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;SACzE,QAAQ,EAAE;SACV,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC;SACxC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAA0B,CAAC;QACnE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,iBAAiB,CAAC,aAAa,CACpC;IACH,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAClD,sBAAsB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;CAClC,CAAC,CAAA"}
@@ -9,7 +9,6 @@ const config_1 = require("./config");
9
9
  const getFormResponseText_1 = require("../../lib/getFormResponseText");
10
10
  const awell_1 = require("../../../../src/lib/awell");
11
11
  const utils_1 = require("../../../../src/utils");
12
- const constants_2 = require("../../lib/constants");
13
12
  /**
14
13
  * Awell Action: Form Summarization
15
14
  *
@@ -28,8 +27,9 @@ exports.summarizeForm = {
28
27
  previewable: false,
29
28
  dataPoints: config_1.dataPoints,
30
29
  onEvent: async ({ payload, onComplete, onError, helpers }) => {
30
+ var _a, _b, _c, _d, _e, _f;
31
31
  // 1. Validate input fields
32
- const { summaryFormat, language } = config_1.FieldsValidationSchema.parse(payload.fields);
32
+ const { summaryFormat, language, additionalInstructions } = config_1.FieldsValidationSchema.parse(payload.fields);
33
33
  // 2. Initialize OpenAI model with metadata
34
34
  const { model, metadata, callbacks } = await (0, createOpenAIModel_1.createOpenAIModel)({
35
35
  settings: {}, // we use built-in API key for OpenAI
@@ -38,9 +38,25 @@ exports.summarizeForm = {
38
38
  modelType: constants_1.OPENAI_MODELS.GPT4o,
39
39
  hideDataForTracing: true, // Hide input and output data when tracing
40
40
  });
41
+ const awellSdk = await helpers.awellSdk();
42
+ // Get pathway details for the disclaimer
43
+ const pathwayDetails = await awellSdk.orchestration.query({
44
+ pathway: {
45
+ __args: {
46
+ id: payload.pathway.id,
47
+ },
48
+ code: true,
49
+ success: true,
50
+ pathway: {
51
+ id: true,
52
+ title: true,
53
+ pathway_definition_id: true,
54
+ },
55
+ },
56
+ });
41
57
  // 3. Get form data
42
58
  const { formDefinition, formResponse } = await (0, awell_1.getLatestFormInCurrentStep)({
43
- awellSdk: await helpers.awellSdk(),
59
+ awellSdk,
44
60
  pathwayId: payload.pathway.id,
45
61
  activityId: payload.activity.id,
46
62
  });
@@ -54,7 +70,8 @@ exports.summarizeForm = {
54
70
  formData,
55
71
  summaryFormat,
56
72
  language,
57
- disclaimerMessage: constants_2.DISCLAIMER_MSG_FORM,
73
+ disclaimerMessage: `Important Notice: The content provided is an AI-generated summary of form responses in Care Flow "${(_c = (_b = (_a = pathwayDetails.pathway) === null || _a === void 0 ? void 0 : _a.pathway) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : 'Unknown'}" (ID: ${(_f = (_e = (_d = pathwayDetails.pathway) === null || _d === void 0 ? void 0 : _d.pathway) === null || _e === void 0 ? void 0 : _e.pathway_definition_id) !== null && _f !== void 0 ? _f : 'Unknown'}).`,
74
+ additionalInstructions,
58
75
  metadata,
59
76
  callbacks,
60
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeForm.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeForm/summarizeForm.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,yEAAqE;AACrE,wFAAoF;AACpF,wEAAwE;AACxE,qCAAqE;AACrE,uEAAmE;AACnE,qDAAsE;AACtE,iDAAsD;AACtD,mDAAyD;AAEzD;;;;;;;;GAQG;AACU,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,0DAA0D;IACvE,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IAEV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,2BAA2B;QAC3B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAC9D,OAAO,CAAC,MAAM,CACf,CAAA;QAED,2CAA2C;QAC3C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAiB,EAAC;YAC7D,QAAQ,EAAE,EAAE,EAAE,qCAAqC;YACnD,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,KAAK;YAC9B,kBAAkB,EAAE,IAAI,EAAE,0CAA0C;SACrE,CAAC,CAAA;QAEF,mBAAmB;QACnB,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,kCAA0B,EAAC;YACxE,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE;YAClC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;YAC7B,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;SAChC,CAAC,CAAA;QAEF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,yCAAmB,EAAC;YAC/C,cAAc;YACd,YAAY;SACb,CAAC,CAAA;QAEF,sBAAsB;QACtB,MAAM,OAAO,GAAG,MAAM,IAAA,2CAAoB,EAAC;YACzC,KAAK;YACL,QAAQ;YACR,aAAa;YACb,QAAQ;YACR,iBAAiB,EAAE,+BAAmB;YACtC,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAA;QACjD,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,OAAO,EAAE,WAAW;aACrB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"summarizeForm.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeForm/summarizeForm.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,yEAAqE;AACrE,wFAAoF;AACpF,wEAAwE;AACxE,qCAAqE;AACrE,uEAAmE;AACnE,qDAAsE;AACtE,iDAAsD;AAEtD;;;;;;;;GAQG;AACU,QAAA,aAAa,GAItB;IACF,GAAG,EAAE,eAAe;IACpB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,0DAA0D;IACvE,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IAEV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;;QAC1E,2BAA2B;QAC3B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,sBAAsB,EAAE,GAAG,+BAAsB,CAAC,KAAK,CACtF,OAAO,CAAC,MAAM,CACf,CAAA;QAED,2CAA2C;QAC3C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAiB,EAAC;YAC7D,QAAQ,EAAE,EAAE,EAAE,qCAAqC;YACnD,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,KAAK;YAC9B,kBAAkB,EAAE,IAAI,EAAE,0CAA0C;SACrE,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;QAEzC,yCAAyC;QACzC,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;YACxD,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;iBACvB;gBACD,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAI;oBACX,qBAAqB,EAAE,IAAI;iBAC5B;aACF;SACF,CAAC,CAAA;QAEF,mBAAmB;QACnB,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,kCAA0B,EAAC;YACxE,QAAQ;YACR,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;YAC7B,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;SAChC,CAAC,CAAA;QAEF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,yCAAmB,EAAC;YAC/C,cAAc;YACd,YAAY;SACb,CAAC,CAAA;QAEF,sBAAsB;QACtB,MAAM,OAAO,GAAG,MAAM,IAAA,2CAAoB,EAAC;YACzC,KAAK;YACL,QAAQ;YACR,aAAa;YACb,QAAQ;YACR,iBAAiB,EAAE,qGAAqG,MAAA,MAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,OAAO,0CAAE,KAAK,mCAAI,SAAS,UAAU,MAAA,MAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,OAAO,0CAAE,qBAAqB,mCAAI,SAAS,IAAI;YAC5P,sBAAsB;YACtB,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAA;QACjD,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,OAAO,EAAE,WAAW;aACrB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -5,7 +5,7 @@ export declare const fields: {
5
5
  id: string;
6
6
  label: string;
7
7
  description: string;
8
- type: FieldType.STRING;
8
+ type: FieldType.TEXT;
9
9
  required: false;
10
10
  };
11
11
  };
@@ -11,7 +11,7 @@ exports.fields = {
11
11
  id: 'instructions',
12
12
  label: 'Instructions',
13
13
  description: 'Specify instructions for the AI to generate the track outcome summary. You can include details about: what outcome to focus on, where to find it in the track, specific forms to analyze, desired length and format, parts of the track to exclude, level of detail for decision paths, etc.',
14
- type: extensions_core_1.FieldType.STRING,
14
+ type: extensions_core_1.FieldType.TEXT,
15
15
  required: false,
16
16
  },
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/shelly/actions/summarizeTrackOutcome/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,8RAA8R;QAChS,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACE,CAAC,CAAA"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/shelly/actions/summarizeTrackOutcome/config/fields.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AACrE,8CAAwC;AAE3B,QAAA,MAAM,GAAG;IACpB,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,8RAA8R;QAChS,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACE,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
1
  import { ChatPromptTemplate } from '@langchain/core/prompts';
2
- export declare const systemPrompt: ChatPromptTemplate<import("@langchain/core/prompts").ParamsFromFString<"# Role\nYou are a specialized healthcare AI assistant tasked with analyzing and summarizing clinical care flow track outcomes and decision paths for healthcare professionals.\n\n# Context\nIn healthcare systems, a care flow represents a patient's journey through a clinical process:\n- Care flow: The overall clinical pathway designed to achieve or maintain a desired health state\n- Track: A specific phase of care that can run sequentially (e.g., Diagnosis > Treatment > Follow-up) or in parallel\n- Step: A container of actions that happen at a given moment for a specific patient group\n- Action: Individual elements within a step that stakeholders interact with (forms, messages) or system actions (calculations, API calls)\n- Stakeholder: Participants involved in the care flow (patients, clinicians, care coordinators, etc.)\n\n# Task\nYour task is to analyze the provided track data and generate a clear, concise summary of:\n1. The final outcome of the track\n2. The decision path and reasoning that led to this outcome\n3. Key activities and decision points that influenced the outcome\n\n# Input Data Structure\nYou will receive structured data containing:\n- Track information: title, status, start/end dates\n- Steps: sequential clinical stages with names, labels, and statuses\n- Activities: actions performed within steps, including:\n * Timestamps (when actions occurred)\n * Actors (who performed the actions - patients, clinicians, etc.)\n * Action types (forms, messages, system events)\n * Form responses (questions and answers)\n * Data points (clinical measurements, observations, form responses or other data collected in the track) \n\n# Let's take it step by step:\n1. First, carefully examine all track information to understand the clinical context\n2. Next, analyze the activities in chronological order to trace the decision path\n3. Identify key decision points and their outcomes\n4. Determine the final track outcome (e.g., approved, alternative treatment, pre-certification)\n5. Extract the logical reasoning that led to this outcome\n6. Organize findings into a coherent narrative\n7. Double check the output for accuracy and completeness. It is critical your reasoning is supported by the data and in line with final outcome.\n\n# Output Guidelines\nStructure your summary as follows:\n- Begin with a clear outcome statement\n- Follow with 3-5 bullet points explaining the supporting evidence and reasoning\n- Present information chronologically to show progression\n- Use clinical terminology appropriate for healthcare professionals\n- Maintain brevity while preserving critical details\n\n# Important Constraints\n- Focus primarily on what patients and human stakeholders have done in the track\n- Only include information explicitly present in the input data\n- Absolutely refrain from making clinical assumptions beyond what is provided in data\n- Exclude technical details like IDs, internal codes, or system language\n- NEVER use Awell-specific terminology in your summary (avoid terms like \"track\", \"step\", \"action\")\n- Always use proper markdown formatting with clear section headers and bullet points\n- Remember your audience is clinical - use language that healthcare professionals will understand. Keep it concise and to the point.\n- It is critical to keep Details supporting the outcome section concise and to the point.\n# Example Output Format\n## Outcome: \nThe patient was approved for spinal surgery\n\n## Details supporting the outcome:\n- Patient reported severe back pain (8/10) with radiating symptoms and failed conservative treatment for 6 months, meeting criteria for surgical intervention\n- Imaging confirmed L4-L5 herniation with nerve compression, and insurance pre-authorization was obtained on 05/15/2023\n\nInstructions:\n{instructions}\n\nTrack Data:\n{input}">, any>;
2
+ export declare const systemPrompt: ChatPromptTemplate<import("@langchain/core/prompts").ParamsFromFString<"# Role\nYou are a specialized healthcare AI assistant tasked with analyzing and summarizing clinical care flow track outcomes and decision paths for healthcare professionals.\n\n----------\n# Context\nIn healthcare systems, a care flow represents a patient's journey through a clinical process:\n- Care flow: The overall clinical pathway designed to achieve or maintain a desired health state\n- Track: A specific phase of care that can run sequentially (e.g., Diagnosis > Treatment > Follow-up) or in parallel\n- Step: A container of actions that happen at a given moment for a specific patient group\n- Action: Individual elements within a step that stakeholders interact with (forms, messages) or system actions (calculations, API calls)\n- Stakeholder: Participants involved in the care flow (patients, clinicians, care coordinators, etc.)\n\n----------\n# Task\nYour task is to analyze the provided track data and generate a clear, concise summary of:\n1. The final outcome of the track\n2. The decision path and reasoning that led to this outcome\n3. Key activities and decision points that influenced the outcome\n\n----------\n# Input Data Structure\nYou will receive structured data containing:\n- Track information: title, status, start/end dates\n- Steps: sequential clinical stages with names, labels, and statuses\n- Activities: actions performed within steps, including:\n * Timestamps (when actions occurred)\n * Actors (who performed the actions - patients, clinicians, etc.)\n * Action types (forms, messages, system events)\n * Form responses (questions and answers)\n * Data points (clinical measurements, observations, form responses or other data collected in the track) \n\n# Let's take it step by step:\n1. First, carefully examine all track information to understand the clinical context\n2. Next, analyze the activities in chronological order to trace the decision path\n3. Identify key decision points and their outcomes\n4. Determine the final track outcome (e.g., approved, alternative treatment, pre-certification)\n5. Extract the logical reasoning that led to this outcome\n6. Organize findings into a coherent narrative\n7. Double check the output for accuracy and completeness. It is critical your reasoning is supported by the data and in line with final outcome.\n\n----------\n# Output Guidelines\nStructure your summary as follows:\n- Begin with a clear outcome statement\n- Follow with 3-5 bullet points explaining the supporting evidence and reasoning\n- Present information chronologically to show progression\n- Use clinical terminology appropriate for healthcare professionals\n- Maintain brevity while preserving critical details\n\n# Important Constraints\n- Focus primarily on what patients and human stakeholders have done in the track\n- Only include information explicitly present in the input data\n- Absolutely refrain from making clinical assumptions beyond what is provided in data\n- Exclude technical details like IDs, internal codes, or system language\n- NEVER use Awell-specific terminology in your summary (avoid terms like \"track\", \"step\", \"action\")\n- Always use proper markdown formatting with clear section headers\n- Remember your audience is clinical - use language that healthcare professionals will understand. Keep it concise and to the point.\n- It is critical to keep Details supporting the outcome section concise and to the point. Write them in a paragraph format, unless otherwise specified in the instructions.\n\n----------\n# Example Output Format\n## Outcome: \nThe patient was approved for spinal surgery\n\n## Details supporting the outcome:\n- Patient reported severe back pain (8/10) with radiating symptoms and failed conservative treatment for 6 months, meeting criteria for surgical intervention\n- Imaging confirmed L4-L5 herniation with nerve compression, and insurance pre-authorization was obtained on 05/15/2023\n\n----------\nInstructions:\n{instructions}\n\n----------\nTrack Data:\n{input}">, any>;
@@ -6,6 +6,7 @@ const prompts_1 = require("@langchain/core/prompts");
6
6
  exports.systemPrompt = prompts_1.ChatPromptTemplate.fromTemplate(`# Role
7
7
  You are a specialized healthcare AI assistant tasked with analyzing and summarizing clinical care flow track outcomes and decision paths for healthcare professionals.
8
8
 
9
+ ----------
9
10
  # Context
10
11
  In healthcare systems, a care flow represents a patient's journey through a clinical process:
11
12
  - Care flow: The overall clinical pathway designed to achieve or maintain a desired health state
@@ -14,12 +15,14 @@ In healthcare systems, a care flow represents a patient's journey through a clin
14
15
  - Action: Individual elements within a step that stakeholders interact with (forms, messages) or system actions (calculations, API calls)
15
16
  - Stakeholder: Participants involved in the care flow (patients, clinicians, care coordinators, etc.)
16
17
 
18
+ ----------
17
19
  # Task
18
20
  Your task is to analyze the provided track data and generate a clear, concise summary of:
19
21
  1. The final outcome of the track
20
22
  2. The decision path and reasoning that led to this outcome
21
23
  3. Key activities and decision points that influenced the outcome
22
24
 
25
+ ----------
23
26
  # Input Data Structure
24
27
  You will receive structured data containing:
25
28
  - Track information: title, status, start/end dates
@@ -40,6 +43,7 @@ You will receive structured data containing:
40
43
  6. Organize findings into a coherent narrative
41
44
  7. Double check the output for accuracy and completeness. It is critical your reasoning is supported by the data and in line with final outcome.
42
45
 
46
+ ----------
43
47
  # Output Guidelines
44
48
  Structure your summary as follows:
45
49
  - Begin with a clear outcome statement
@@ -54,9 +58,11 @@ Structure your summary as follows:
54
58
  - Absolutely refrain from making clinical assumptions beyond what is provided in data
55
59
  - Exclude technical details like IDs, internal codes, or system language
56
60
  - NEVER use Awell-specific terminology in your summary (avoid terms like "track", "step", "action")
57
- - Always use proper markdown formatting with clear section headers and bullet points
61
+ - Always use proper markdown formatting with clear section headers
58
62
  - Remember your audience is clinical - use language that healthcare professionals will understand. Keep it concise and to the point.
59
- - It is critical to keep Details supporting the outcome section concise and to the point.
63
+ - It is critical to keep Details supporting the outcome section concise and to the point. Write them in a paragraph format, unless otherwise specified in the instructions.
64
+
65
+ ----------
60
66
  # Example Output Format
61
67
  ## Outcome:
62
68
  The patient was approved for spinal surgery
@@ -65,9 +71,11 @@ The patient was approved for spinal surgery
65
71
  - Patient reported severe back pain (8/10) with radiating symptoms and failed conservative treatment for 6 months, meeting criteria for surgical intervention
66
72
  - Imaging confirmed L4-L5 herniation with nerve compression, and insurance pre-authorization was obtained on 05/15/2023
67
73
 
74
+ ----------
68
75
  Instructions:
69
76
  {instructions}
70
77
 
78
+ ----------
71
79
  Track Data:
72
80
  {input}`);
73
81
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../../../extensions/shelly/actions/summarizeTrackOutcome/lib/summarizeTrackOutcomeWithLLM/prompt.ts"],"names":[],"mappings":";;;AAAA,qDAA4D;AAE5D,sEAAsE;AACzD,QAAA,YAAY,GAAG,4BAAkB,CAAC,YAAY,CACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkEM,CACP,CAAA"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../../../extensions/shelly/actions/summarizeTrackOutcome/lib/summarizeTrackOutcomeWithLLM/prompt.ts"],"names":[],"mappings":";;;AAAA,qDAA4D;AAE5D,sEAAsE;AACzD,QAAA,YAAY,GAAG,4BAAkB,CAAC,YAAY,CACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0EM,CACP,CAAA"}
@@ -62,10 +62,6 @@ exports.summarizeTrackOutcome = {
62
62
  },
63
63
  },
64
64
  },
65
- })
66
- .catch((error) => {
67
- console.error(`Failed to fetch activity ${activityId}`, error);
68
- throw new Error(`Failed to fetch activity ${activityId}`);
69
65
  });
70
66
  const currentActivity = (_a = activityDetails === null || activityDetails === void 0 ? void 0 : activityDetails.activity) === null || _a === void 0 ? void 0 : _a.activity;
71
67
  if ((0, lodash_1.isNil)(currentActivity) || !activityDetails.activity.success) {
@@ -82,6 +78,7 @@ exports.summarizeTrackOutcome = {
82
78
  trackId,
83
79
  currentActivityId: payload.activity.id,
84
80
  });
81
+ // 4. Generate summary with LLM
85
82
  const summary = await (0, summarizeTrackOutcomeWithLLM_1.summarizeTrackOutcomeWithLLM)({
86
83
  model,
87
84
  trackActivities: JSON.stringify(trackData, null, 2),
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeTrackOutcome.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarizeTrackOutcome.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeTrackOutcome/summarizeTrackOutcome.ts"],"names":[],"mappings":"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"}
@@ -71,12 +71,12 @@ exports.getFormTitle = getFormTitle;
71
71
  const getFormResponseText = (opts) => {
72
72
  const formAnswers = [];
73
73
  const omittedFormAnswers = [];
74
- opts.formResponse.answers.forEach((questionResponse) => {
75
- const questionDefinition = opts.formDefinition.questions.find((q) => q.id === questionResponse.question_id);
76
- if (questionDefinition === undefined) {
74
+ opts.formDefinition.questions.forEach((questionDefinition) => {
75
+ const questionResponse = opts.formResponse.answers.find((a) => a.question_id === questionDefinition.id);
76
+ if (questionResponse === undefined) {
77
77
  omittedFormAnswers.push({
78
- questionId: questionResponse.question_id,
79
- reason: 'No corresponding question definition found in the form definition',
78
+ questionId: questionDefinition.id,
79
+ reason: 'No corresponding answer found in the form response',
80
80
  });
81
81
  return;
82
82
  }
@@ -87,7 +87,7 @@ const getFormResponseText = (opts) => {
87
87
  catch (error) {
88
88
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
89
89
  omittedFormAnswers.push({
90
- questionId: questionResponse.question_id,
90
+ questionId: questionDefinition.id,
91
91
  reason: `Error processing answer: ${errorMessage}`,
92
92
  });
93
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getFormResponseText.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/getFormResponseText/getFormResponseText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getFormResponseText.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/getFormResponseText/getFormResponseText.ts"],"names":[],"mappings":"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"}
@@ -148,7 +148,7 @@ const cleanDataForLLM = async (data, awellSdk, pathwayId) => {
148
148
  };
149
149
  };
150
150
  const getTrackData = async ({ awellSdk, pathwayId, trackId, currentActivityId, }) => {
151
- var _a;
151
+ var _a, _b, _c, _d, _e;
152
152
  // 1. Query pathway to get track information
153
153
  const pathwayQuery = await awellSdk.orchestration.query({
154
154
  pathway: {
@@ -276,30 +276,12 @@ const getTrackData = async ({ awellSdk, pathwayId, trackId, currentActivityId, }
276
276
  const currentActivityDate = (_a = currentActivity === null || currentActivity === void 0 ? void 0 : currentActivity.date) !== null && _a !== void 0 ? _a : '';
277
277
  // Get the track IDs we need to match against
278
278
  const relevantTrackIds = new Set();
279
- activitiesQuery.pathwayActivities.activities.forEach(activity => {
280
- var _a;
281
- if (((_a = activity.track) === null || _a === void 0 ? void 0 : _a.id) === trackId) {
282
- relevantTrackIds.add(activity.track.id);
283
- // Find the corresponding track element to get its ID
284
- const trackElement = elementsQuery.pathwayElements.elements.find(element => {
285
- var _a, _b;
286
- return element.type === 'TRACK' &&
287
- (((_a = element.context) === null || _a === void 0 ? void 0 : _a.track_id) === ((_b = activity.context) === null || _b === void 0 ? void 0 : _b.track_id));
288
- });
289
- if ((trackElement === null || trackElement === void 0 ? void 0 : trackElement.id) !== undefined) {
290
- relevantTrackIds.add(trackElement.id);
291
- }
292
- }
293
- });
279
+ relevantTrackIds.add(trackId);
294
280
  // Filter activities by track and date
295
281
  const trackActivities = activitiesQuery.pathwayActivities.activities
296
282
  .filter(activity => {
297
- var _a, _b;
298
- // An activity belongs to a track if either:
299
- // 1. Its track.id matches any of the relevant track IDs, or
300
- // 2. Its context.track_id matches any of the relevant track IDs
301
- const isInTrack = (((_a = activity.track) === null || _a === void 0 ? void 0 : _a.id) !== undefined && relevantTrackIds.has(activity.track.id)) ||
302
- (((_b = activity.context) === null || _b === void 0 ? void 0 : _b.track_id) !== undefined && relevantTrackIds.has(activity.context.track_id));
283
+ var _a;
284
+ const isInTrack = ((_a = activity.context) === null || _a === void 0 ? void 0 : _a.track_id) === trackId;
303
285
  const isBeforeOrEqualDate = currentActivityDate.length === 0 || activity.date <= currentActivityDate;
304
286
  return isInTrack && isBeforeOrEqualDate;
305
287
  })
@@ -327,11 +309,9 @@ const getTrackData = async ({ awellSdk, pathwayId, trackId, currentActivityId, }
327
309
  // 6. Enhance activities with data points
328
310
  const activitiesWithDataPoints = trackActivities.map(activity => {
329
311
  var _a;
330
- // Find data points for this activity
331
312
  const activityDataPoints = dataPointsQuery.pathwayDataPoints.dataPoints
332
313
  .filter(dp => dp.activity_id === activity.id)
333
314
  .map(dp => {
334
- // Special handling for activation data points
335
315
  if (dp.data_point_definition_id.endsWith('-ACTIVATION')) {
336
316
  return {
337
317
  ...dp,
@@ -341,7 +321,6 @@ const getTrackData = async ({ awellSdk, pathwayId, trackId, currentActivityId, }
341
321
  }
342
322
  return dp;
343
323
  });
344
- // Map form responses to data points if they exist
345
324
  const questions = (_a = activity.form) === null || _a === void 0 ? void 0 : _a.questions;
346
325
  if (questions !== undefined && questions !== null) {
347
326
  const formResponses = questions.map(question => {
@@ -370,11 +349,9 @@ const getTrackData = async ({ awellSdk, pathwayId, trackId, currentActivityId, }
370
349
  // 8. Get steps from the elements query and filter by track ID and type STEP
371
350
  const steps = elementsQuery.pathwayElements.elements
372
351
  .filter(element => {
373
- const parentId = element.parent_id;
374
- // A step belongs to a track if:
375
- // 1. Its parent_id matches one of our relevant track IDs
376
- const isInTrack = parentId !== undefined && relevantTrackIds.has(parentId);
377
- // Only include STEP elements
352
+ var _a;
353
+ const elementTrackId = (_a = element.context) === null || _a === void 0 ? void 0 : _a.track_id;
354
+ const isInTrack = elementTrackId === trackId;
378
355
  const isStep = element.type === 'STEP';
379
356
  return isInTrack && isStep;
380
357
  })
@@ -401,7 +378,6 @@ const getTrackData = async ({ awellSdk, pathwayId, trackId, currentActivityId, }
401
378
  });
402
379
  // 9. Associate activities with steps
403
380
  const stepsWithActivities = steps.map(step => {
404
- // Find all activities that belong to this step
405
381
  const stepActivities = activitiesWithDataPoints.filter(activity => { var _a; return ((_a = activity.context) === null || _a === void 0 ? void 0 : _a.step_id) === step.id; });
406
382
  return {
407
383
  ...step,
@@ -409,13 +385,15 @@ const getTrackData = async ({ awellSdk, pathwayId, trackId, currentActivityId, }
409
385
  };
410
386
  });
411
387
  // 10. Process the track data
412
- const track = pathwayQuery.pathway.pathway.tracks.find((t) => t.id === trackId);
413
- // If track is not found, use default values with just the ID
414
- const finalTrack = track !== undefined ? {
415
- id: track.id,
416
- title: track.title,
417
- } : {
388
+ // First try to get track title from activities
389
+ const trackFromActivities = (_b = trackActivities.find(activity => { var _a; return ((_a = activity.track) === null || _a === void 0 ? void 0 : _a.id) === trackId; })) === null || _b === void 0 ? void 0 : _b.track;
390
+ // If not found in activities, try to get from elements
391
+ const trackElement = elementsQuery.pathwayElements.elements.find(element => { var _a; return element.type === 'TRACK' && ((_a = element.context) === null || _a === void 0 ? void 0 : _a.track_id) === trackId; });
392
+ // Finally check pathway tracks
393
+ const trackFromPathway = pathwayQuery.pathway.pathway.tracks.find((t) => t.id === trackId);
394
+ const finalTrack = {
418
395
  id: trackId,
396
+ title: (_e = (_d = (_c = trackFromActivities === null || trackFromActivities === void 0 ? void 0 : trackFromActivities.title) !== null && _c !== void 0 ? _c : trackElement === null || trackElement === void 0 ? void 0 : trackElement.name) !== null && _d !== void 0 ? _d : trackFromPathway === null || trackFromPathway === void 0 ? void 0 : trackFromPathway.title) !== null && _e !== void 0 ? _e : 'Untitled Track'
419
397
  };
420
398
  const rawTrackData = {
421
399
  track: finalTrack,
@@ -423,7 +401,8 @@ const getTrackData = async ({ awellSdk, pathwayId, trackId, currentActivityId, }
423
401
  steps: stepsWithActivities,
424
402
  };
425
403
  // Clean the data for LLM consumption and return only cleaned data
426
- return await cleanDataForLLM(rawTrackData, awellSdk, pathwayId);
404
+ const cleanedData = await cleanDataForLLM(rawTrackData, awellSdk, pathwayId);
405
+ return cleanedData;
427
406
  };
428
407
  exports.getTrackData = getTrackData;
429
408
  //# sourceMappingURL=getTrackData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTrackData.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/getTrackData/getTrackData.ts"],"names":[],"mappings":";;;AAiUA,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAe,EACf,QAAkB,EAClB,SAAiB,EACQ,EAAE;;IAC3B,OAAO;QACL,KAAK,EAAE;YACL,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,gBAAgB;SAC5C;QACD,KAAK,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;;YACnD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAC3C,QAAQ,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,OAAO,MAAK,IAAI,CAAC,EAAE,CAAA,EAAA,CAClD,CAAA;YAED,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzC,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CAAC;gBACH,UAAU,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;;oBAChE,MAAM,YAAY,GAA2B;wBAC3C,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;4BAC3B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;yBAC5B;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;4BAC1B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;yBAC3B;qBACF,CAAA;oBAED,IAAI,CAAA,MAAA,QAAQ,CAAC,eAAe,0CAAE,IAAI,MAAK,SAAS,IAAI,CAAA,MAAA,QAAQ,CAAC,eAAe,0CAAE,IAAI,MAAK,SAAS,EAAE,CAAC;wBACjG,YAAY,CAAC,eAAe,GAAG;4BAC7B,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI;4BACnC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI;yBACpC,CAAA;oBACH,CAAC;oBAED,iCAAiC;oBACjC,MAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAE,EAAE,CAAC;oBACjC,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAE,KAAK,CAAC;oBAEvC,IAAI,MAAM,KAAK,SAAS;wBACpB,MAAM,KAAK,EAAE;wBACb,SAAS,KAAK,SAAS;wBACvB,SAAS,KAAK,EAAE,EAAE,CAAC;wBACrB,IAAI,CAAC;4BACH,gCAAgC;4BAChC,MAAM,sBAAsB,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;gCAChE,IAAI,EAAE;oCACJ,MAAM,EAAE;wCACN,EAAE,EAAE,MAAM;wCACV,UAAU,EAAE,SAAS;qCACtB;oCACD,IAAI,EAAE;wCACJ,EAAE,EAAE,IAAI;wCACR,KAAK,EAAE,IAAI;wCACX,GAAG,EAAE,IAAI;wCACT,aAAa,EAAE,IAAI;wCACnB,UAAU,EAAE,IAAI;wCAChB,SAAS,EAAE;4CACT,EAAE,EAAE,IAAI;4CACR,GAAG,EAAE,IAAI;4CACT,KAAK,EAAE,IAAI;4CACX,gBAAgB,EAAE,IAAI;4CACtB,OAAO,EAAE;gDACP,KAAK,EAAE,IAAI;gDACX,KAAK,EAAE,IAAI;gDACX,YAAY,EAAE,IAAI;6CACnB;yCACF;qCACF;iCACF;6BACF,CAAC,CAAC;4BAEH,8BAA8B;4BAC9B,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;gCAC1D,YAAY,EAAE;oCACZ,MAAM,EAAE;wCACN,UAAU,EAAE,SAAS;wCACrB,WAAW,EAAE,QAAQ,CAAC,EAAE;qCACzB;oCACD,QAAQ,EAAE;wCACR,OAAO,EAAE;4CACP,WAAW,EAAE,IAAI;4CACjB,KAAK,EAAE,IAAI;4CACX,KAAK,EAAE,IAAI;4CACX,UAAU,EAAE,IAAI;yCACjB;qCACF;iCACF;6BACF,CAAC,CAAC;4BAEH,MAAM,cAAc,GAAG,MAAA,sBAAsB,CAAC,IAAI,0CAAE,IAAI,CAAC;4BACzD,MAAM,YAAY,GAAG,MAAA,gBAAgB,CAAC,YAAY,0CAAE,QAAQ,CAAC;4BAE7D,IAAI,cAAc,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gCACrD,iCAAiC;gCACjC,MAAM,kBAAkB,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;;oCACjE,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;oCAC7E,IAAI,YAAY,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,aAAa,CAAC;oCAElD,kCAAkC;oCAClC,IAAI,QAAQ,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;wCAC3C,YAAY,GAAG,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;oCAC5F,CAAC;yCAAM,IAAI,QAAQ,CAAC,gBAAgB,KAAK,iBAAiB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wCAC9E,MAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,MAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,CAAC,CAAC;wCACjF,YAAY,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,YAAY,CAAC;oCAC/C,CAAC;oCAED,OAAO;wCACL,KAAK,EAAE,QAAQ,CAAC,KAAK;wCACrB,QAAQ,EAAE,YAAY;qCACvB,CAAC;gCACJ,CAAC,CAAC,CAAC;gCAEH,YAAY,CAAC,IAAI,GAAG;oCAClB,KAAK,EAAE,SAAS;oCAChB,SAAS,EAAE,kBAAkB;iCAC9B,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,sDAAsD;4BACtD,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAE,SAAS,CAAC;4BAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gCAC7B,YAAY,CAAC,IAAI,GAAG;oCAClB,KAAK,EAAE,SAAS;oCAChB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wCAC7B,KAAK,EAAE,CAAC,CAAC,KAAK;wCACd,QAAQ,EAAE,aAAa;qCACxB,CAAC,CAAC;iCACJ,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,gCAAgC;yBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9E,YAAY,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACxD,KAAK,EAAE,EAAE,CAAC,gBAAgB;4BAC1B,IAAI,EAAE,EAAE,CAAC,IAAI;4BACb,KAAK,EAAE,EAAE,CAAC,eAAe;yBAC1B,CAAC,CAAC,CAAC;oBACN,CAAC;oBAED,OAAO,YAA6B,CAAA;gBACtC,CAAC,CAAC,CAAC;aACJ,CAAA;QACH,CAAC,CAAC,CAAC;KACJ,CAAA;AACH,CAAC,CAAA;AAEM,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,GACC,EAA+B,EAAE;;IACnD,4CAA4C;IAC5C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACtD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,EAAE,EAAE,SAAS;aACd;YACD,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,IAAI;gBACX,qBAAqB,EAAE,IAAI;gBAC3B,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,IAAI;oBAChB,oBAAoB,EAAE,IAAI;iBAC3B;aACF;SACF;KACF,CAAkC,CAAC;IAEpC,kCAAkC;IAClC,MAAM,aAAa,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACxD,eAAe,EAAE;YACf,MAAM,EAAE;gBACN,UAAU,EAAE,SAAS;aACtB;YACD,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE;gBACR,EAAE,EAAE,IAAI;gBACR,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,EAAE,EAAE,IAAI;iBACT;gBACD,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;gBACV,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE;oBACZ,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,IAAI;iBACX;gBACD,OAAO,EAAE;oBACP,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI;iBACf;aACF;SACF;KACF,CAAC,CAA0B,CAAA;IAE5B,4DAA4D;IAC5D,MAAM,eAAe,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QAC1D,iBAAiB,EAAE;YACjB,MAAM,EAAE;gBACN,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE;oBACV,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,GAAG;iBACX;aACF;YACD,OAAO,EAAE,IAAI;YACb,UAAU,EAAE;gBACV,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;iBACX;gBACD,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;iBACX;gBACD,eAAe,EAAE;oBACf,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;iBACX;gBACD,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE;wBACT,GAAG,EAAE,IAAI;wBACT,KAAK,EAAE,IAAI;wBACX,cAAc,EAAE;4BACd,SAAS,EAAE,IAAI;yBAChB;qBACF;iBACF;gBACD,KAAK,EAAE;oBACL,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAI;iBACZ;gBACD,OAAO,EAAE;oBACP,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;iBAChB;gBACD,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE;oBACZ,IAAI,EAAE,IAAI;oBACV,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,kBAAkB,EAAE,IAAI;iBACzB;gBACD,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,IAAI;aAChB;SACF;KACF,CAAC,CAAuB,CAAA;IAEzB,wCAAwC;IACxC,MAAM,eAAe,GAAG,eAAe,CAAC,iBAAiB,CAAC,UAAU;SACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAA;IAEtD,MAAM,mBAAmB,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,mCAAI,EAAE,CAAA;IAEvD,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;;QAC9D,IAAI,CAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,EAAE,MAAK,OAAO,EAAE,CAAC;YACnC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxC,qDAAqD;YACrD,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAC9D,OAAO,CAAC,EAAE;;gBAAC,OAAA,OAAO,CAAC,IAAI,KAAK,OAAO;oBACnC,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,QAAQ,OAAK,MAAA,QAAQ,CAAC,OAAO,0CAAE,QAAQ,CAAA,CAAC,CAAA;aAAA,CAC3D,CAAC;YACF,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,EAAE,MAAK,SAAS,EAAE,CAAC;gBACnC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,eAAe,GAAG,eAAe,CAAC,iBAAiB,CAAC,UAAU;SACjE,MAAM,CAAC,QAAQ,CAAC,EAAE;;QACjB,4CAA4C;QAC5C,4DAA4D;QAC5D,gEAAgE;QAChE,MAAM,SAAS,GAAG,CAAC,CAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,EAAE,MAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,QAAQ,MAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC9G,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,IAAI,mBAAmB,CAAA;QACpG,OAAO,SAAS,IAAI,mBAAmB,CAAA;IACzC,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAE1E,qDAAqD;IACrD,MAAM,eAAe,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QAC1D,iBAAiB,EAAE;YACjB,MAAM,EAAE;gBACN,UAAU,EAAE,SAAS;aACtB;YACD,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,UAAU,EAAE;gBACV,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,IAAI;gBACjB,GAAG,EAAE,IAAI;gBACT,gBAAgB,EAAE,IAAI;gBACtB,wBAAwB,EAAE,IAAI;gBAC9B,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;aAClB;SACF;KACF,CAAC,CAA4B,CAAA;IAE9B,yCAAyC;IACzC,MAAM,wBAAwB,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;;QAC9D,qCAAqC;QACrC,MAAM,kBAAkB,GAAG,eAAe,CAAC,iBAAiB,CAAC,UAAU;aACpE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,CAAC;aAC5C,GAAG,CAAC,EAAE,CAAC,EAAE;YACR,8CAA8C;YAC9C,IAAI,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACxD,OAAO;oBACL,GAAG,EAAE;oBACL,aAAa,EAAE,iBAAiB;oBAChC,eAAe,EAAE,iBAAiB;iBACnC,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEL,kDAAkD;QAClD,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAE,SAAS,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;;gBAC7C,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,wBAAwB,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9F,OAAO;oBACL,EAAE,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,mCAAI,EAAE;oBACvB,WAAW,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,mCAAI,EAAE;oBACzC,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,gBAAgB,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,mCAAI,EAAE;oBACnD,wBAAwB,EAAE,QAAQ,CAAC,GAAG;oBACtC,IAAI,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,mCAAI,QAAQ,CAAC,IAAI;oBACtC,SAAS,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,mCAAI,QAAQ;oBAC3C,WAAW,EAAE,QAAQ,CAAC,EAAE;oBACxB,aAAa,EAAE,QAAQ,CAAC,GAAG;oBAC3B,eAAe,EAAE,QAAQ,CAAC,KAAK;iBAChC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,UAAU,EAAE,kBAAkB;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC,QAAQ;SACjD,MAAM,CAAC,OAAO,CAAC,EAAE;QAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;QAEnC,gCAAgC;QAChC,yDAAyD;QACzD,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3E,6BAA6B;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;QAEvC,OAAO,SAAS,IAAI,MAAM,CAAC;IAC7B,CAAC,CAAC;SACD,GAAG,CAAC,OAAO,CAAC,EAAE;;QAAC,OAAA,CAAC;YACf,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,MAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,mCAAI,EAAE;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;;gBAAC,OAAA,CAAC;oBACrD,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,IAAI,EAAE,MAAA,WAAW,CAAC,IAAI,mCAAI,EAAE;iBAC7B,CAAC,CAAA;aAAA,CAAC;YACH,UAAU,EAAE,EAAc;SAC3B,CAAC,CAAA;KAAA,CAAC,CAAA;IAEL,qCAAqC;IACrC,MAAM,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC3C,+CAA+C;QAC/C,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,CACpD,QAAQ,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,OAAO,MAAK,IAAI,CAAC,EAAE,CAAA,EAAA,CAClD,CAAA;QAED,OAAO;YACL,GAAG,IAAI;YACP,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;SACxD,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,6BAA6B;IAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAEhF,6DAA6D;IAC7D,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;QACvC,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC,CAAC;QACF,EAAE,EAAE,OAAO;KACZ,CAAC;IAEF,MAAM,YAAY,GAAG;QACnB,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,wBAAwB;QACpC,KAAK,EAAE,mBAAmB;KAC3B,CAAA;IACD,kEAAkE;IAClE,OAAO,MAAM,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC,CAAA;AAnSY,QAAA,YAAY,gBAmSxB"}
1
+ {"version":3,"file":"getTrackData.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/getTrackData/getTrackData.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { ChatPromptTemplate } from '@langchain/core/prompts';
2
- export declare const systemPromptBulletPoints: ChatPromptTemplate<import("@langchain/core/prompts").ParamsFromFString<"\n You are an assistant tasked with summarizing forms completed by patients. Each form contains a title, questions, answers, possibly answer labels and answer options. Your objective is to create a concise summary of the patient's responses, tailored for a team of clinicians involved in patient care. The summary must cover all patient questions and provide an easy-to-review overview.\n\n First, write the disclaimer message \"{disclaimerMessage}\" in specified language: {language}, following these rules:\n - If specified language is Default or not specified: translate all parts of {disclaimerMessage} into the language of the form. If you cannot determine language use English.\n - If specified language is other than Default (French, Spanish, bosnian, ...): translate all parts of {disclaimerMessage} into specified language: {language} It is critical that the entire disclaimer message is written in the same language as specified language: {language}.\n For example if the disclaimer message is \"Important Notice: The content provided is an AI-generated summary.\" and specified language is Spanish, the disclaimer message in Spanish would be \"Aviso Importante: El contenido proporcionado es un resumen generado por IA de las respuestas del formulario\".\n If the specified language is French than the same disclaimer message should be: \"Avis Important : Le contenu fourni est un résumé généré par IA des réponses du formulaire\"\n Then add two new lines after the disclaimer message.\n\n Then adhere strictly to these step-by-step instructions:\n 1. **Begin the summary with the form title if available.**\n - Use title as is without alteration. Format is as title. \n - Then add an empty line for separation. \n\n - *For example:*\n - **General Health Questionnaire**\n - *Empty Line*\n \n 2. **Identify all questions and their corresponding answers.**\n\n 3. **Structure the summary using bullet points in clear and correct Markdown format:**\n\n - Use the format: `• **Question** - Answer`\n - **Ensure the answer is informative:**\n - For multiple-choice questions where the raw answer may be a code (e.g., 0, 1) that lacks meaning on its own, use the associated **answer label** instead.\n - For other questions, use the raw answer if it is clear and informative.\n\n 4. **Enhance conciseness and readability:**\n\n - **Shorten lengthy questions and answers to their essential meaning for easier inspection, while preserving all essential context.**\n - *For example:*\n - **Before**: \"Can you describe the nature of your back pain?\"\n - **After**: \"Nature of back pain\"\n - **Before**: \"Please list any medications you are currently taking, including dosages and frequency.\"\n - **After**: \"Current medications (dosage and frequency)\"\n - **Before**: \"Have you experienced any side effects from your current treatment in the last 3 months?\"\n - **After**: \"Side effects from current treatment in the last 3 months\"\n - **Avoid omitting any key information** that might alter the meaning. It is critical to preserve all time frames (e.g., \"last week,\" \"yesterday\") and specific details (e.g., \"right leg,\" \"morning\").\n\n 5. **If there are multiple forms provided, add a new line and proceed with the next form.**\n\n **Important Notes:**\n\n - Absolutely refrain from making any suggestions, interpretations, or provide additional comments.\n\n **Style and Format Guidelines:**\n\n - Use **professional and informative language**, avoiding colloquialisms and overly technical terms.\n - Ensure the summary is **clear**, **concise**, and **easy to read**.\n\n **Language:**\n\n - It is critical to summarize in the language specified below. If Default or not specified, use the language of the form.\n\n **Specified Language:**\n\n {language}\n\n ---\n\n **Content to Summarize:**\n\n {input}\n">, any>;
3
- export declare const systemPromptTextParagraph: ChatPromptTemplate<import("@langchain/core/prompts").ParamsFromFString<"\n You are an assistant tasked with summarizing forms completed by patients. Each form contains a title, questions, answers, answer labels, and possible answer options. Your objective is to create a concise summary of the patient's responses, tailored for a team of clinicians involved in patient care. The summary must provide an easy-to-review overview.\n\n First, write the disclaimer message \"{disclaimerMessage}\" in specified language: {language}, following these rules:\n - If specified language is Default or not specified: translate all parts of {disclaimerMessage} into the language of the form. If you cannot determine language use English.\n - If specified language is other than Default (French, Spanish, bosnian, ...): translate all parts of {disclaimerMessage} into specified language: {language} It is critical that the entire disclaimer message is written in the same language as specified language: {language}.\n For example if the disclaimer message is \"Important Notice: The content provided is an AI-generated summary.\" and specified language is Spanish, the disclaimer message in Spanish would be \"Aviso Importante: El contenido proporcionado es un resumen generado por IA de las respuestas del formulario\".\n If the specified language is French than the same disclaimer message should be: \"Avis Important : Le contenu fourni est un résumé généré par IA des réponses du formulaire\"\n Then add two new lines after the disclaimer message.\n \n Then adhere strictly to these step-by-step instructions:\n\n 1. **Begin the summary with the form title if available.**\n - Use title as is without alteration. Format is as title. \n - Then add an empty line for separation. \n\n - *For example:*\n - **General Health Questionnaire**\n - *Empty Line*\n\n 2. **Identify all questions and their corresponding answers.**\n\n 3. **Compose the summary as an informative, easy-to-read paragraph:**\n\n - Cover all important aspects of the patient's responses.\n - Ensure the summary is **concise** and **to the point** while preserving all essential information.\n - **Write everything in one paragraph**, maintaining a logical flow of information.\n - For multiple-choice questions where the raw answer may be a code (e.g., 0, 1) that lacks meaning on its own, use the associated **answer label** instead. \n\n\n **Important Notes:**\n\n - Do not make any conclusions, suggestions, interpretations, or provide additional comments. Only summarize the information provided in the form.\n\n **Style and Format Guidelines:**\n\n - Use **professional and informative language**, avoiding colloquialisms and overly technical terms.\n - Ensure the summary is **clear**, **concise**, and **easy to read**.\n\n **Language:**\n\n - It is critical to summarize in the language specified below. If Default or not specified, use the language of the form.\n\n **Specified Language:**\n\n {language}\n\n ---\n\n **Content to Summarize:**\n\n {input}\n">, any>;
2
+ export declare const systemPromptBulletPoints: ChatPromptTemplate<import("@langchain/core/prompts").ParamsFromFString<"\n You are an assistant tasked with summarizing forms completed by patients. Each form contains a title, questions, answers, possibly answer labels and answer options. Your objective is to create a concise summary of the patient's responses, tailored for a team of clinicians involved in patient care. The summary must cover all patient questions and provide an easy-to-review overview.\n\n First, write the disclaimer message \"{disclaimerMessage}\" in specified language: {language}, following these rules:\n - If specified language is Default or not specified: translate all parts of {disclaimerMessage} into the language of the form. If you cannot determine language use English.\n - If specified language is other than Default (French, Spanish, bosnian, ...): translate all parts of {disclaimerMessage} into specified language: {language} It is critical that the entire disclaimer message is written in the same language as specified language: {language}.\n For example if the disclaimer message is \"Important Notice: The content provided is an AI-generated summary.\" and specified language is Spanish, the disclaimer message in Spanish would be \"Aviso Importante: El contenido proporcionado es un resumen generado por IA de las respuestas del formulario\".\n If the specified language is French than the same disclaimer message should be: \"Avis Important : Le contenu fourni est un résumé généré par IA des réponses du formulaire\"\n Then add two new lines after the disclaimer message.\n\n Then adhere strictly to these step-by-step instructions:\n 1. **Begin the summary with the form title if available.**\n - Use title as is without alteration. Format is as title. \n - Then add an empty line for separation. \n\n - *For example:*\n - **General Health Questionnaire**\n - *Empty Line*\n \n 2. **Identify all questions and their corresponding answers.**\n\n 3. **Structure the summary using bullet points in clear and correct Markdown format:**\n\n - Use the format: `• **Question** - Answer`\n - **Ensure the answer is informative:**\n - For multiple-choice questions where the raw answer may be a code (e.g., 0, 1) that lacks meaning on its own, use the associated **answer label** instead.\n - For other questions, use the raw answer if it is clear and informative.\n\n 4. **Enhance conciseness and readability:**\n\n - **Shorten lengthy questions and answers to their essential meaning for easier inspection, while preserving all essential context.**\n - *For example:*\n - **Before**: \"Can you describe the nature of your back pain?\"\n - **After**: \"Nature of back pain\"\n - **Before**: \"Please list any medications you are currently taking, including dosages and frequency.\"\n - **After**: \"Current medications (dosage and frequency)\"\n - **Before**: \"Have you experienced any side effects from your current treatment in the last 3 months?\"\n - **After**: \"Side effects from current treatment in the last 3 months\"\n - **Avoid omitting any key information** that might alter the meaning. It is critical to preserve all time frames (e.g., \"last week,\" \"yesterday\") and specific details (e.g., \"right leg,\" \"morning\").\n\n 5. **If there are multiple forms provided, add a new line and proceed with the next form.**\n\n **Important Notes:**\n\n - Absolutely refrain from making any suggestions, interpretations, or provide additional comments.\n\n **Style and Format Guidelines:**\n\n - Use **professional and informative language**, avoiding colloquialisms and overly technical terms.\n - Ensure the summary is **clear**, **concise**, and **easy to read**.\n\n **Language:**\n\n - It is critical to summarize in the language specified below. If Default or not specified, use the language of the form.\n\n **Specified Language:**\n\n {language}\n\n **Additional Instructions:**\n {additionalInstructions}\n\n ---\n\n **Content to Summarize:**\n\n {input}\n">, any>;
3
+ export declare const systemPromptTextParagraph: ChatPromptTemplate<import("@langchain/core/prompts").ParamsFromFString<"\n You are an assistant tasked with summarizing forms completed by patients. Each form contains a title, questions, answers, answer labels, and possible answer options. Your objective is to create a concise summary of the patient's responses, tailored for a team of clinicians involved in patient care. The summary must provide an easy-to-review overview.\n\n First, write the disclaimer message \"{disclaimerMessage}\" in specified language: {language}, following these rules:\n - If specified language is Default or not specified: translate all parts of {disclaimerMessage} into the language of the form. If you cannot determine language use English.\n - If specified language is other than Default (French, Spanish, bosnian, ...): translate all parts of {disclaimerMessage} into specified language: {language} It is critical that the entire disclaimer message is written in the same language as specified language: {language}.\n For example if the disclaimer message is \"Important Notice: The content provided is an AI-generated summary.\" and specified language is Spanish, the disclaimer message in Spanish would be \"Aviso Importante: El contenido proporcionado es un resumen generado por IA de las respuestas del formulario\".\n If the specified language is French than the same disclaimer message should be: \"Avis Important : Le contenu fourni est un résumé généré par IA des réponses du formulaire\"\n Then add two new lines after the disclaimer message.\n \n Then adhere strictly to these step-by-step instructions:\n\n 1. **Begin the summary with the form title if available.**\n - Use title as is without alteration. Format is as title. \n - Then add an empty line for separation. \n\n - *For example:*\n - **General Health Questionnaire**\n - *Empty Line*\n\n 2. **Identify all questions and their corresponding answers.**\n\n 3. **Compose the summary as an informative, easy-to-read paragraph:**\n\n - Cover all important aspects of the patient's responses.\n - Ensure the summary is **concise** and **to the point** while preserving all essential information.\n - **Write everything in one paragraph**, maintaining a logical flow of information.\n - For multiple-choice questions where the raw answer may be a code (e.g., 0, 1) that lacks meaning on its own, use the associated **answer label** instead. \n\n\n **Important Notes:**\n\n - Do not make any conclusions, suggestions, interpretations, or provide additional comments. Only summarize the information provided in the form.\n\n **Style and Format Guidelines:**\n\n - Use **professional and informative language**, avoiding colloquialisms and overly technical terms.\n - Ensure the summary is **clear**, **concise**, and **easy to read**.\n\n **Language:**\n\n - It is critical to summarize in the language specified below. If Default or not specified, use the language of the form.\n\n **Specified Language:**\n\n {language}\n\n **Additional Instructions:**\n {additionalInstructions}\n\n ---\n\n **Content to Summarize:**\n\n {input}\n">, any>;
@@ -61,6 +61,9 @@ exports.systemPromptBulletPoints = prompts_1.ChatPromptTemplate.fromTemplate(`
61
61
 
62
62
  {language}
63
63
 
64
+ **Additional Instructions:**
65
+ {additionalInstructions}
66
+
64
67
  ---
65
68
 
66
69
  **Content to Summarize:**
@@ -114,6 +117,9 @@ exports.systemPromptTextParagraph = prompts_1.ChatPromptTemplate.fromTemplate(`
114
117
 
115
118
  {language}
116
119
 
120
+ **Additional Instructions:**
121
+ {additionalInstructions}
122
+
117
123
  ---
118
124
 
119
125
  **Content to Summarize:**
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/summarizeFormWithLLM/prompt.ts"],"names":[],"mappings":";;;AAAA,qDAA4D;AAE/C,QAAA,wBAAwB,GAAG,4BAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEvE,CAAC,CAAA;AAEW,QAAA,yBAAyB,GAAG,4BAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDxE,CAAC,CAAA"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/summarizeFormWithLLM/prompt.ts"],"names":[],"mappings":";;;AAAA,qDAA4D;AAE/C,QAAA,wBAAwB,GAAG,4BAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEvE,CAAC,CAAA;AAEW,QAAA,yBAAyB,GAAG,4BAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDxE,CAAC,CAAA"}
@@ -15,15 +15,17 @@ import type { BaseCallbackHandler } from "@langchain/core/callbacks/base";
15
15
  * summaryFormat: "Bullet-points",
16
16
  * language: "English",
17
17
  * disclaimerMessage: "AI generated...",
18
+ * additionalInstructions: "Focus on medication details",
18
19
  * metadata: { ... }
19
20
  * })
20
21
  */
21
- export declare const summarizeFormWithLLM: ({ model, formData, summaryFormat, language, disclaimerMessage, metadata, callbacks, }: {
22
+ export declare const summarizeFormWithLLM: ({ model, formData, summaryFormat, language, disclaimerMessage, additionalInstructions, metadata, callbacks, }: {
22
23
  model: ChatOpenAI;
23
24
  formData: string;
24
25
  summaryFormat: string;
25
26
  language: string;
26
27
  disclaimerMessage: string;
28
+ additionalInstructions?: string;
27
29
  metadata: AIActionMetadata;
28
30
  callbacks?: BaseCallbackHandler[];
29
31
  }) => Promise<string>;
@@ -16,10 +16,11 @@ const prompt_1 = require("./prompt");
16
16
  * summaryFormat: "Bullet-points",
17
17
  * language: "English",
18
18
  * disclaimerMessage: "AI generated...",
19
+ * additionalInstructions: "Focus on medication details",
19
20
  * metadata: { ... }
20
21
  * })
21
22
  */
22
- const summarizeFormWithLLM = async ({ model, formData, summaryFormat, language, disclaimerMessage, metadata, callbacks, }) => {
23
+ const summarizeFormWithLLM = async ({ model, formData, summaryFormat, language, disclaimerMessage, additionalInstructions, metadata, callbacks, }) => {
23
24
  const systemPrompt = summaryFormat === 'Bullet-points' ? prompt_1.systemPromptBulletPoints :
24
25
  summaryFormat === 'Text paragraph' ? prompt_1.systemPromptTextParagraph :
25
26
  prompt_1.systemPromptBulletPoints; // Default to bullet points if unknown format
@@ -27,6 +28,7 @@ const summarizeFormWithLLM = async ({ model, formData, summaryFormat, language,
27
28
  language,
28
29
  input: formData,
29
30
  disclaimerMessage,
31
+ additionalInstructions: additionalInstructions !== null && additionalInstructions !== void 0 ? additionalInstructions : 'No additional instructions',
30
32
  });
31
33
  try {
32
34
  const result = await model.invoke(prompt, {
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeFormWithLLM.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/summarizeFormWithLLM/summarizeFormWithLLM.ts"],"names":[],"mappings":";;;AAAA,qCAA8E;AAK9E;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,KAAK,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,SAAS,GASV,EAAmB,EAAE;IACpB,MAAM,YAAY,GAAG,aAAa,KAAK,eAAe,CAAC,CAAC,CAAC,iCAAwB,CAAC,CAAC;QAC/D,aAAa,KAAK,gBAAgB,CAAC,CAAC,CAAC,kCAAyB,CAAC,CAAC;YAChE,iCAAwB,CAAA,CAAC,6CAA6C;IAE1F,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;QACvC,QAAQ;QACR,KAAK,EAAE,QAAQ;QACf,iBAAiB;KAClB,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAC/B,MAAM,EACN;YACE,QAAQ;YACR,OAAO,EAAE,qBAAqB;YAC9B,SAAS;SACV,CACF,CAAA;QAED,OAAO,MAAM,CAAC,OAAiB,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;AACH,CAAC,CAAA;AAzCY,QAAA,oBAAoB,wBAyChC"}
1
+ {"version":3,"file":"summarizeFormWithLLM.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/summarizeFormWithLLM/summarizeFormWithLLM.ts"],"names":[],"mappings":";;;AAAA,qCAA8E;AAK9E;;;;;;;;;;;;;;;;;GAiBG;AACI,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,KAAK,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,EACtB,QAAQ,EACR,SAAS,GAUV,EAAmB,EAAE;IACpB,MAAM,YAAY,GAAG,aAAa,KAAK,eAAe,CAAC,CAAC,CAAC,iCAAwB,CAAC,CAAC;QAC/D,aAAa,KAAK,gBAAgB,CAAC,CAAC,CAAC,kCAAyB,CAAC,CAAC;YAChE,iCAAwB,CAAA,CAAC,6CAA6C;IAE1F,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;QACvC,QAAQ;QACR,KAAK,EAAE,QAAQ;QACf,iBAAiB;QACjB,sBAAsB,EAAE,sBAAsB,aAAtB,sBAAsB,cAAtB,sBAAsB,GAAI,4BAA4B;KAC/E,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAC/B,MAAM,EACN;YACE,QAAQ;YACR,OAAO,EAAE,qBAAqB;YAC9B,SAAS;SACV,CACF,CAAA;QAED,OAAO,MAAM,CAAC,OAAiB,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;AACH,CAAC,CAAA;AA5CY,QAAA,oBAAoB,wBA4ChC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.0.207",
3
+ "version": "2.0.209",
4
4
  "packageManager": "yarn@4.5.3",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {