@awell-health/awell-extensions 2.0.156 → 2.0.159

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. package/dist/extensions/elation/actions/findAppointmentsByPrompt/findAppointmentsByPrompt.js +3 -3
  2. package/dist/extensions/elation/actions/findAppointmentsByPrompt/findAppointmentsByPrompt.js.map +1 -1
  3. package/dist/extensions/elation/actions/findFutureAppointment/findFutureAppointment.js +3 -3
  4. package/dist/extensions/elation/actions/findFutureAppointment/findFutureAppointment.js.map +1 -1
  5. package/dist/extensions/elation/actions/index.d.ts +2 -2
  6. package/dist/extensions/elation/actions/updatePatientTags/config/dataPoints.d.ts +4 -0
  7. package/dist/extensions/elation/actions/updatePatientTags/config/dataPoints.js +4 -0
  8. package/dist/extensions/elation/actions/updatePatientTags/config/dataPoints.js.map +1 -1
  9. package/dist/extensions/elation/actions/updatePatientTags/config/fields.d.ts +4 -4
  10. package/dist/extensions/elation/actions/updatePatientTags/config/fields.js +5 -5
  11. package/dist/extensions/elation/actions/updatePatientTags/config/fields.js.map +1 -1
  12. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/evaluateTags.d.ts +24 -0
  13. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/evaluateTags.js +149 -0
  14. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/evaluateTags.js.map +1 -0
  15. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/getTagsFromLLM.d.ts +1 -1
  16. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/getTagsFromLLM.js +2 -2
  17. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/getTagsFromLLM.js.map +1 -1
  18. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/parser.d.ts +22 -6
  19. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/parser.js +13 -3
  20. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/parser.js.map +1 -1
  21. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/prompt.d.ts +1 -1
  22. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/prompt.js +32 -11
  23. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/prompt.js.map +1 -1
  24. package/dist/extensions/elation/actions/updatePatientTags/updatePatientTags.js +7 -6
  25. package/dist/extensions/elation/actions/updatePatientTags/updatePatientTags.js.map +1 -1
  26. package/dist/extensions/elation/actions/updatePatientTags/updateTags.js +3 -2
  27. package/dist/extensions/elation/actions/updatePatientTags/updateTags.js.map +1 -1
  28. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.js +3 -3
  29. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.js.map +1 -1
  30. package/dist/extensions/shelly/actions/generateMessage/generateMessage.js +5 -5
  31. package/dist/extensions/shelly/actions/generateMessage/generateMessage.js.map +1 -1
  32. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.js +3 -3
  33. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.js.map +1 -1
  34. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.js +3 -3
  35. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.js.map +1 -1
  36. package/dist/extensions/shelly/actions/summarizeFormsInStep/summarizeFormsInStep.js +3 -3
  37. package/dist/extensions/shelly/actions/summarizeFormsInStep/summarizeFormsInStep.js.map +1 -1
  38. package/dist/extensions/shelly/lib/validatePayloadAndCreateSdk.js +1 -1
  39. package/dist/extensions/shelly/lib/validatePayloadAndCreateSdk.js.map +1 -1
  40. package/package.json +1 -1
  41. package/dist/extensions/elation/actions/updatePatientTags/config/types.d.ts +0 -29
  42. package/dist/extensions/elation/actions/updatePatientTags/config/types.js +0 -21
  43. package/dist/extensions/elation/actions/updatePatientTags/config/types.js.map +0 -1
@@ -35,7 +35,7 @@ exports.findAppointmentsByPrompt = {
35
35
  }
36
36
  try {
37
37
  const { model, metadata, callbacks } = await (0, createOpenAIModel_1.createOpenAIModel)({
38
- settings: payload.settings,
38
+ settings: {}, // we use built-in API key for OpenAI
39
39
  helpers,
40
40
  payload,
41
41
  });
@@ -44,7 +44,7 @@ exports.findAppointmentsByPrompt = {
44
44
  appointments,
45
45
  prompt,
46
46
  metadata,
47
- callbacks
47
+ callbacks,
48
48
  });
49
49
  const selectedAppointments = appointments.filter((appointment) => appointmentIds.includes(appointment.id));
50
50
  const appointmentCountsByStatus = (0, getAppoitnmentCountByStatus_1.getAppointmentCountsByStatus)(selectedAppointments);
@@ -56,7 +56,7 @@ exports.findAppointmentsByPrompt = {
56
56
  },
57
57
  events: [
58
58
  (0, addEventLog_1.addActivityEventLog)({
59
- message: `Found ${selectedAppointments.length} appointments for patient ${patientId}`
59
+ message: `Found ${selectedAppointments.length} appointments for patient ${patientId}`,
60
60
  }),
61
61
  ],
62
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"findAppointmentsByPrompt.js","sourceRoot":"","sources":["../../../../../extensions/elation/actions/findAppointmentsByPrompt/findAppointmentsByPrompt.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAC9B,mEAAqE;AACrE,uEAA2E;AAE3E,yCAA4C;AAC5C,wFAAoF;AACpF,qCAAqE;AACrE,+EAA4E;AAC5E,2HAAuH;AAE1G,QAAA,wBAAwB,GAIjC;IACF,GAAG,EAAE,0BAA0B;IAC/B,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,uCAAuC;IAC9C,WAAW,EAAE,6DAA6D;IAC1E,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,MAAM,EAAE,SAAS,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1E,MAAM,GAAG,GAAG,IAAA,sBAAa,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE3C,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC;YAC9C,OAAO,EAAE,SAAS;SACnB,CAAC,CAAA;QAEF,IAAI,IAAA,cAAK,EAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,WAAW,EAAE,uBAAuB;oBACpC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;iBAC9C;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAiB,EAAC;gBAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO;gBACP,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,iEAA+B,EAAC;gBAC5E,KAAK;gBACL,YAAY;gBACZ,MAAM;gBACN,QAAQ;gBACR,SAAS;aACV,CAAC,CAAA;YAEF,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAC9C,CAAC,WAAW,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CACzD,CAAA;YAED,MAAM,yBAAyB,GAAG,IAAA,0DAA4B,EAAC,oBAAoB,CAAC,CAAA;YAEpF,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;oBAClD,WAAW;oBACX,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;iBACrE;gBACD,MAAM,EAAE;oBACN,IAAA,iCAAmB,EAAC;wBAClB,OAAO,EAAE,SAAS,oBAAoB,CAAC,MAAM,6BAA6B,SAAS,EAAE;qBACtF,CAAC;iBACH;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC;gBACZ,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,6BAA6B,EAAE;wBAC3C,KAAK,EAAE;4BACL,QAAQ,EAAE,cAAc;4BACxB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAClE;qBACF;iBACF;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"findAppointmentsByPrompt.js","sourceRoot":"","sources":["../../../../../extensions/elation/actions/findAppointmentsByPrompt/findAppointmentsByPrompt.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAC9B,mEAAqE;AACrE,uEAA2E;AAE3E,yCAA4C;AAC5C,wFAAoF;AACpF,qCAAqE;AACrE,+EAA4E;AAC5E,2HAAuH;AAE1G,QAAA,wBAAwB,GAIjC;IACF,GAAG,EAAE,0BAA0B;IAC/B,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,uCAAuC;IAC9C,WAAW,EAAE,6DAA6D;IAC1E,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,MAAM,EAAE,SAAS,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1E,MAAM,GAAG,GAAG,IAAA,sBAAa,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE3C,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC;YAC9C,OAAO,EAAE,SAAS;SACnB,CAAC,CAAA;QAEF,IAAI,IAAA,cAAK,EAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,WAAW,EAAE,uBAAuB;oBACpC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;iBAC9C;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAiB,EAAC;gBAC7D,QAAQ,EAAE,EAAE,EAAE,qCAAqC;gBACnD,OAAO;gBACP,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GACnC,MAAM,IAAA,iEAA+B,EAAC;gBACpC,KAAK;gBACL,YAAY;gBACZ,MAAM;gBACN,QAAQ;gBACR,SAAS;aACV,CAAC,CAAA;YAEJ,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAC/D,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CACxC,CAAA;YAED,MAAM,yBAAyB,GAC7B,IAAA,0DAA4B,EAAC,oBAAoB,CAAC,CAAA;YAEpD,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;oBAClD,WAAW;oBACX,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;iBACrE;gBACD,MAAM,EAAE;oBACN,IAAA,iCAAmB,EAAC;wBAClB,OAAO,EAAE,SAAS,oBAAoB,CAAC,MAAM,6BAA6B,SAAS,EAAE;qBACtF,CAAC;iBACH;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC;gBACZ,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,6BAA6B,EAAE;wBAC3C,KAAK,EAAE;4BACL,QAAQ,EAAE,cAAc;4BACxB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAClE;qBACF;iBACF;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF,CAAA"}
@@ -33,10 +33,10 @@ exports.findFutureAppointment = {
33
33
  }
34
34
  // 3. Initialize OpenAI model with metadata and callbacks
35
35
  const { model, metadata, callbacks } = await (0, createOpenAIModel_1.createOpenAIModel)({
36
- settings: payload.settings,
36
+ settings: {}, // we use built-in API key for OpenAI
37
37
  helpers,
38
38
  payload,
39
- modelType: constants_1.OPENAI_MODELS.GPT4o
39
+ modelType: constants_1.OPENAI_MODELS.GPT4o,
40
40
  });
41
41
  // 4. Find matching appointment
42
42
  const { appointmentId, explanation } = await (0, findAppointmentWithLLM_1.findAppointmentWithLLM)({
@@ -44,7 +44,7 @@ exports.findFutureAppointment = {
44
44
  appointments,
45
45
  prompt,
46
46
  metadata,
47
- callbacks
47
+ callbacks,
48
48
  });
49
49
  const matchedAppointmentId = parser_1.AppointmentIdSchema.parse(appointmentId);
50
50
  const foundAppointment = appointments.find((appointment) => appointment.id === Number(matchedAppointmentId));
@@ -1 +1 @@
1
- {"version":3,"file":"findFutureAppointment.js","sourceRoot":"","sources":["../../../../../extensions/elation/actions/findFutureAppointment/findFutureAppointment.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAC9B,mEAAqE;AAErE,uEAA2E;AAE3E,qCAAqE;AACrE,mEAA+D;AAC/D,gEAAyE;AACzE,gGAA4F;AAC5F,wFAAoF;AACpF,wEAAwE;AAE3D,QAAA,qBAAqB,GAI9B;IACF,GAAG,EAAE,uBAAuB;IAC5B,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,mCAAmC;IAC1C,WAAW,EAAE,uCAAuC;IACpD,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,oBAAoB;QACpB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAE1E,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,IAAA,6CAAqB,EAC9C,OAAO,CAAC,QAAwB,EAChC,SAAS,CACV,CAAA;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,iBAAiB,EAAE,OAAO;iBAC3B;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,yDAAyD;QACzD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAiB,EAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,KAAK;SAC/B,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,+CAAsB,EAAC;YAClE,KAAK;YACL,YAAY;YACZ,MAAM;YACN,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,oBAAoB,GAAG,4BAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACrE,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CACxC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,KAAK,MAAM,CAAC,oBAAoB,CAAC,CACjE,CAAA;QAED,kCAAkC;QAClC,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,WAAW,EAAE,CAAC,IAAA,cAAK,EAAC,oBAAoB,CAAC;oBACvC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;oBAClC,CAAC,CAAC,SAAS;gBACb,WAAW;gBACX,iBAAiB,EAAE,CAAC,IAAA,cAAK,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aACnE;YACD,MAAM,EAAE;gBACN,IAAA,iCAAmB,EAAC;oBAClB,OAAO,EAAE,oEAAoE,SAAS,KAAK,YAAY,CAAC,MAAM,wBAAwB,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,EAAE,kBAAkB,WAAW,EAAE;iBAC7N,CAAC;aACH;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"findFutureAppointment.js","sourceRoot":"","sources":["../../../../../extensions/elation/actions/findFutureAppointment/findFutureAppointment.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAC9B,mEAAqE;AAErE,uEAA2E;AAE3E,qCAAqE;AACrE,mEAA+D;AAC/D,gEAAyE;AACzE,gGAA4F;AAC5F,wFAAoF;AACpF,wEAAwE;AAE3D,QAAA,qBAAqB,GAI9B;IACF,GAAG,EAAE,uBAAuB;IAC5B,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,mCAAmC;IAC1C,WAAW,EAAE,uCAAuC;IACpD,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,oBAAoB;QACpB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAE1E,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,IAAA,6CAAqB,EAC9C,OAAO,CAAC,QAAwB,EAChC,SAAS,CACV,CAAA;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,iBAAiB,EAAE,OAAO;iBAC3B;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,yDAAyD;QACzD,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;SAC/B,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,+CAAsB,EAAC;YAClE,KAAK;YACL,YAAY;YACZ,MAAM;YACN,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,oBAAoB,GAAG,4BAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACrE,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CACxC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,KAAK,MAAM,CAAC,oBAAoB,CAAC,CACjE,CAAA;QAED,kCAAkC;QAClC,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,WAAW,EAAE,CAAC,IAAA,cAAK,EAAC,oBAAoB,CAAC;oBACvC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;oBAClC,CAAC,CAAC,SAAS;gBACb,WAAW;gBACX,iBAAiB,EAAE,CAAC,IAAA,cAAK,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aACnE;YACD,MAAM,EAAE;gBACN,IAAA,iCAAmB,EAAC;oBAClB,OAAO,EAAE,oEAAoE,SAAS,KAAK,YAAY,CAAC,MAAM,wBAAwB,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,EAAE,kBAAkB,WAAW,EAAE;iBAC7N,CAAC;aACH;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -2266,7 +2266,7 @@ export declare const actions: {
2266
2266
  required: true;
2267
2267
  description: string;
2268
2268
  };
2269
- prompt: {
2269
+ instructions: {
2270
2270
  id: string;
2271
2271
  label: string;
2272
2272
  type: import("@awell-health/extensions-core").FieldType.TEXT;
@@ -2316,7 +2316,7 @@ export declare const actions: {
2316
2316
  description: string;
2317
2317
  required: false;
2318
2318
  };
2319
- }, "updatedTags">;
2319
+ }, "updatedTags" | "explanation">;
2320
2320
  getReferralOrder: import("@awell-health/extensions-core").Action<{
2321
2321
  referralOrderId: {
2322
2322
  id: string;
@@ -3,4 +3,8 @@ export declare const dataPoints: {
3
3
  key: string;
4
4
  valueType: "string";
5
5
  };
6
+ explanation: {
7
+ key: string;
8
+ valueType: "string";
9
+ };
6
10
  };
@@ -6,5 +6,9 @@ exports.dataPoints = {
6
6
  key: 'updatedTags',
7
7
  valueType: 'string',
8
8
  },
9
+ explanation: {
10
+ key: 'explanation',
11
+ valueType: 'string',
12
+ }
9
13
  };
10
14
  //# sourceMappingURL=dataPoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../../../../../extensions/elation/actions/updatePatientTags/config/dataPoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE;QACX,GAAG,EAAE,aAAa;QAClB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
1
+ {"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../../../../../extensions/elation/actions/updatePatientTags/config/dataPoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE;QACX,GAAG,EAAE,aAAa;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD,WAAW,EAAE;QACX,GAAG,EAAE,aAAa;QAClB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -8,7 +8,7 @@ export declare const fields: {
8
8
  required: true;
9
9
  description: string;
10
10
  };
11
- prompt: {
11
+ instructions: {
12
12
  id: string;
13
13
  label: string;
14
14
  type: FieldType.TEXT;
@@ -18,11 +18,11 @@ export declare const fields: {
18
18
  };
19
19
  export declare const FieldsValidationSchema: z.ZodObject<{
20
20
  patientId: z.ZodNumber;
21
- prompt: z.ZodString;
21
+ instructions: z.ZodString;
22
22
  }, "strip", z.ZodTypeAny, {
23
23
  patientId: number;
24
- prompt: string;
24
+ instructions: string;
25
25
  }, {
26
26
  patientId: number;
27
- prompt: string;
27
+ instructions: string;
28
28
  }>;
@@ -11,16 +11,16 @@ exports.fields = {
11
11
  required: true,
12
12
  description: '',
13
13
  },
14
- prompt: {
15
- id: 'prompt',
16
- label: 'Describe what tags you would like to add, update, or remove',
14
+ instructions: {
15
+ id: 'instructions',
16
+ label: 'Specify tags to add, remove, or modify',
17
17
  type: extensions_core_1.FieldType.TEXT,
18
18
  required: true,
19
- description: '',
19
+ description: 'Provide clear instructions for tag changes and relevant context, especially for uncommon tags. Specify new tags in single quotes (e.g., \'Patient-Tag\').'
20
20
  },
21
21
  };
22
22
  exports.FieldsValidationSchema = zod_1.z.object({
23
23
  patientId: extensions_core_1.NumericIdSchema,
24
- prompt: zod_1.z.string().min(1),
24
+ instructions: zod_1.z.string().min(1),
25
25
  });
26
26
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/elation/actions/updatePatientTags/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAIsC;AAEzB,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,EAAE;KAChB;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,6DAA6D;QACpE,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,EAAE;KAChB;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,iCAAe;IAC1B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACwB,CAAC,CAAA"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../extensions/elation/actions/updatePatientTags/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAIsC;AAEzB,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,EAAE;KAChB;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,wCAAwC;QAC/C,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2JAA2J;KACzK;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,iCAAe;IAC1B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACkB,CAAC,CAAA"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * LangSmith Evaluation Script for getTagsFromLLM
3
+ *
4
+ * Evaluates the getTagsFromLLM function by:
5
+ * - Running test cases from LangSmith dataset
6
+ * - Comparing generated tags against expected tags
7
+ * - Generating evaluation reports
8
+ *
9
+ * Requirements:
10
+ * - Set environment variables in .env:
11
+ * - OPENAI_API_KEY
12
+ * - LANGSMITH_API_KEY
13
+ * - LANGSMITH_TRACING=true
14
+ * - LANGSMITH_PROJECT=ai-actions-local
15
+ *
16
+ * Usage:
17
+ * node getTagsFromLLM/evaluateTags.ts
18
+ *
19
+ * Results can be viewed in LangSmith dashboard:
20
+ * https://smith.langchain.com/o/3fffae83-70ff-4574-81ba-aaaedf0b4dc5/datasets/745cea13-3379-463f-9a8a-c6b10e29b8f6
21
+ *
22
+ * * ⚠️ **Note:** This script does NOT run in CI/CD. It is meant for **manual evaluation** before merging PRs (for now)
23
+ */
24
+ export {};
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ /**
3
+ * LangSmith Evaluation Script for getTagsFromLLM
4
+ *
5
+ * Evaluates the getTagsFromLLM function by:
6
+ * - Running test cases from LangSmith dataset
7
+ * - Comparing generated tags against expected tags
8
+ * - Generating evaluation reports
9
+ *
10
+ * Requirements:
11
+ * - Set environment variables in .env:
12
+ * - OPENAI_API_KEY
13
+ * - LANGSMITH_API_KEY
14
+ * - LANGSMITH_TRACING=true
15
+ * - LANGSMITH_PROJECT=ai-actions-local
16
+ *
17
+ * Usage:
18
+ * node getTagsFromLLM/evaluateTags.ts
19
+ *
20
+ * Results can be viewed in LangSmith dashboard:
21
+ * https://smith.langchain.com/o/3fffae83-70ff-4574-81ba-aaaedf0b4dc5/datasets/745cea13-3379-463f-9a8a-c6b10e29b8f6
22
+ *
23
+ * * ⚠️ **Note:** This script does NOT run in CI/CD. It is meant for **manual evaluation** before merging PRs (for now)
24
+ */
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const langsmith_1 = require("langsmith");
30
+ const evaluation_1 = require("langsmith/evaluation");
31
+ const createOpenAIModel_1 = require("../../../../../../src/lib/llm/openai/createOpenAIModel");
32
+ const getTagsFromLLM_1 = require("./getTagsFromLLM");
33
+ const constants_1 = require("../../../../../../src/lib/llm/openai/constants");
34
+ const lodash_1 = require("lodash");
35
+ const dotenv_1 = __importDefault(require("dotenv"));
36
+ dotenv_1.default.config();
37
+ const langsmith = new langsmith_1.Client({
38
+ apiKey: process.env.LANGSMITH_API_KEY,
39
+ apiUrl: process.env.LANGSMITH_ENDPOINT,
40
+ });
41
+ // Define the dataset name
42
+ const datasetName = 'ai-actions-update-patient-tags-elation';
43
+ // Fetch the 'test' split examples from the dataset
44
+ const fetchTestExamples = async () => {
45
+ try {
46
+ const testExamples = langsmith.listExamples({
47
+ datasetName,
48
+ splits: ['test'],
49
+ });
50
+ const examples = [];
51
+ for await (const example of testExamples) {
52
+ if (!(0, lodash_1.isNil)(example.inputs) && !(0, lodash_1.isNil)(example.outputs)) {
53
+ // Explicit null check
54
+ examples.push(example);
55
+ }
56
+ }
57
+ return examples;
58
+ }
59
+ catch (error) {
60
+ console.error('❌ Error fetching test examples:', error);
61
+ throw error;
62
+ }
63
+ };
64
+ // Custom evaluator to compare generated tags with expected tags
65
+ const tagsMatchEvaluator = async ({ outputs, referenceOutputs, }) => {
66
+ console.log('Evaluator received:', { outputs, referenceOutputs }); // Debug log
67
+ const generatedTags = outputs === null || outputs === void 0 ? void 0 : outputs.validatedTags;
68
+ const expectedTags = referenceOutputs === null || referenceOutputs === void 0 ? void 0 : referenceOutputs.expected_updated_tags;
69
+ // console.log('Comparing tags:', { generatedTags, expectedTags }); // Debug log
70
+ const isEqual = Array.isArray(generatedTags) &&
71
+ Array.isArray(expectedTags) &&
72
+ generatedTags.length === expectedTags.length &&
73
+ generatedTags.every((tag, index) => tag === expectedTags[index]);
74
+ return { key: 'tags_match', score: isEqual ? 1 : 0 };
75
+ };
76
+ // Wrapper function to adapt getTagsFromLLM for evaluation
77
+ const getTagsFromLLMWrapper = async (input) => {
78
+ const payload = {
79
+ activity: {
80
+ id: 'test-activity-id',
81
+ },
82
+ pathway: {
83
+ tenant_id: 'test-tenant',
84
+ definition_id: 'test-definition',
85
+ id: 'test-pathway',
86
+ org_slug: 'test-org',
87
+ org_id: 'test-org-id',
88
+ },
89
+ fields: {
90
+ instructions: input.instruction,
91
+ patientId: 'test-patient',
92
+ },
93
+ settings: {
94
+ openAiApiKey: process.env.OPENAI_API_KEY,
95
+ },
96
+ };
97
+ const helpers = {
98
+ getOpenAIConfig: () => {
99
+ const apiKey = process.env.OPENAI_API_KEY;
100
+ if ((0, lodash_1.isNil)(apiKey) || apiKey.trim() === '') {
101
+ throw new Error('OPENAI_API_KEY is required but not set');
102
+ }
103
+ return { apiKey };
104
+ },
105
+ };
106
+ const { model, metadata, callbacks } = await (0, createOpenAIModel_1.createOpenAIModel)({
107
+ settings: payload.settings,
108
+ helpers,
109
+ payload,
110
+ modelType: constants_1.OPENAI_MODELS.GPT4o,
111
+ });
112
+ return await (0, getTagsFromLLM_1.getTagsFromLLM)({
113
+ model,
114
+ existingTags: input.input_patient_tags,
115
+ instructions: input.instruction,
116
+ metadata,
117
+ callbacks,
118
+ });
119
+ };
120
+ // Main function to run the evaluation and print results
121
+ const runEvaluation = async () => {
122
+ var _a, _b;
123
+ try {
124
+ console.log('📡 Fetching test dataset from LangSmith...');
125
+ const testExamples = await fetchTestExamples();
126
+ console.log(`✅ Loaded ${testExamples.length} test examples\n`);
127
+ console.log('🚀 Running evaluation...\n');
128
+ const results = await (0, evaluation_1.evaluate)(getTagsFromLLMWrapper, {
129
+ data: testExamples,
130
+ evaluators: [tagsMatchEvaluator],
131
+ experimentPrefix: 'GetTagsFromLLM Evaluation',
132
+ maxConcurrency: 4,
133
+ });
134
+ const resultsArray = Array.isArray(results) ? results : [results];
135
+ const experimentId = (_b = (_a = resultsArray[0]) === null || _a === void 0 ? void 0 : _a.run) === null || _b === void 0 ? void 0 : _b.run_id;
136
+ if (!(0, lodash_1.isNil)(experimentId) && experimentId.trim() !== '') {
137
+ console.log('\n✨ Evaluation Complete!');
138
+ console.log('View detailed results in LangSmith:');
139
+ console.log(`https://smith.langchain.com/runs/${experimentId}`);
140
+ }
141
+ }
142
+ catch (error) {
143
+ console.error('❌ Error during evaluation:', error);
144
+ throw error;
145
+ }
146
+ };
147
+ // Execute the evaluation
148
+ void runEvaluation();
149
+ //# sourceMappingURL=evaluateTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluateTags.js","sourceRoot":"","sources":["../../../../../../../extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/evaluateTags.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { BaseCallbackHandler } from "@langchain/core/callbacks/base";
5
5
  interface GetTagsFromLLMProps {
6
6
  model: ChatOpenAI;
7
7
  existingTags: string[];
8
- prompt: string;
8
+ instructions: string;
9
9
  metadata: AIActionMetadata;
10
10
  callbacks?: BaseCallbackHandler[];
11
11
  }
@@ -4,12 +4,12 @@ exports.getTagsFromLLM = void 0;
4
4
  const prompt_1 = require("./prompt");
5
5
  const parser_1 = require("./parser");
6
6
  const getTagsFromLLM = async (props) => {
7
- const { model, existingTags, prompt, metadata, callbacks } = props;
7
+ const { model, existingTags, instructions, metadata, callbacks } = props;
8
8
  try {
9
9
  const chain = model.pipe(parser_1.parser);
10
10
  const formattedPrompt = await prompt_1.systemPrompt.format({
11
11
  existingTags: JSON.stringify(existingTags),
12
- prompt
12
+ instructions
13
13
  });
14
14
  const result = await chain.invoke(formattedPrompt, {
15
15
  metadata,
@@ -1 +1 @@
1
- {"version":3,"file":"getTagsFromLLM.js","sourceRoot":"","sources":["../../../../../../../extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/getTagsFromLLM.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AACvC,qCAAkD;AAW3C,MAAM,cAAc,GAAG,KAAK,EAAE,KAA0B,EAAuB,EAAE;IACtF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAElE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,CAAA;QAChC,MAAM,eAAe,GAAG,MAAM,qBAAY,CAAC,MAAM,CAAC;YAChD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YAC1C,MAAM;SACP,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAC/B,eAAe,EACf;YACE,QAAQ;YACR,OAAO,EAAE,0BAA0B;YACnC,SAAS;SACV,CACF,CAAA;QAED,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,WAAW;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;AACH,CAAC,CAAA;AAzBY,QAAA,cAAc,kBAyB1B"}
1
+ {"version":3,"file":"getTagsFromLLM.js","sourceRoot":"","sources":["../../../../../../../extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/getTagsFromLLM.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AACvC,qCAAkD;AAW3C,MAAM,cAAc,GAAG,KAAK,EAAE,KAA0B,EAAuB,EAAE;IACtF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAExE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,CAAA;QAChC,MAAM,eAAe,GAAG,MAAM,qBAAY,CAAC,MAAM,CAAC;YAChD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YAC1C,YAAY;SACb,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAC/B,eAAe,EACf;YACE,QAAQ;YACR,OAAO,EAAE,0BAA0B;YACnC,SAAS;SACV,CACF,CAAA;QAED,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,WAAW;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;AACH,CAAC,CAAA;AAzBY,QAAA,cAAc,kBAyB1B"}
@@ -1,13 +1,29 @@
1
+ import { z } from 'zod';
1
2
  import { StructuredOutputParser } from '@langchain/core/output_parsers';
2
- import { type TagsFromAI } from '../../config/types';
3
- export declare const parser: StructuredOutputParser<import("zod").ZodObject<{
4
- updatedTags: import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodString, "many">, string[], string[]>;
5
- explanation: import("zod").ZodString;
6
- }, "strip", import("zod").ZodTypeAny, {
3
+ export declare const SingleTagSchema: z.ZodString;
4
+ export declare const TagsSchema: z.ZodArray<z.ZodString, "many">;
5
+ export declare const TagsOutputSchema: z.ZodObject<{
6
+ updatedTags: z.ZodArray<z.ZodString, "many">;
7
+ explanation: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ updatedTags: string[];
10
+ explanation: string;
11
+ }, {
12
+ updatedTags: string[];
13
+ explanation: string;
14
+ }>;
15
+ export declare const parser: StructuredOutputParser<z.ZodObject<{
16
+ updatedTags: z.ZodArray<z.ZodString, "many">;
17
+ explanation: z.ZodString;
18
+ }, "strip", z.ZodTypeAny, {
7
19
  updatedTags: string[];
8
20
  explanation: string;
9
21
  }, {
10
22
  updatedTags: string[];
11
23
  explanation: string;
12
24
  }>>;
13
- export type { TagsFromAI };
25
+ export type TagsOutput = z.infer<typeof TagsOutputSchema>;
26
+ export interface TagsFromAI {
27
+ validatedTags: string[];
28
+ explanation: string;
29
+ }
@@ -1,7 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parser = void 0;
3
+ exports.parser = exports.TagsOutputSchema = exports.TagsSchema = exports.SingleTagSchema = void 0;
4
+ const zod_1 = require("zod");
4
5
  const output_parsers_1 = require("@langchain/core/output_parsers");
5
- const types_1 = require("../../config/types");
6
- exports.parser = output_parsers_1.StructuredOutputParser.fromZodSchema(types_1.TagsOutputSchema);
6
+ exports.SingleTagSchema = zod_1.z.string();
7
+ exports.TagsSchema = zod_1.z
8
+ .array(exports.SingleTagSchema)
9
+ .describe('The updated array of tags');
10
+ exports.TagsOutputSchema = zod_1.z.object({
11
+ updatedTags: exports.TagsSchema,
12
+ explanation: zod_1.z
13
+ .string()
14
+ .describe('A single, concise sentence summarizing all tag modifications, including the reasoning behind the changes or lack thereof.'),
15
+ });
16
+ exports.parser = output_parsers_1.StructuredOutputParser.fromZodSchema(exports.TagsOutputSchema);
7
17
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../../../extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/parser.ts"],"names":[],"mappings":";;;AAAA,mEAAuE;AACvE,8CAAsE;AAEzD,QAAA,MAAM,GAAG,uCAAsB,CAAC,aAAa,CAAC,wBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../../../extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/parser.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,mEAAuE;AAE1D,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,EAAE,CAAA;AAE5B,QAAA,UAAU,GAAG,OAAC;KACxB,KAAK,CAAC,uBAAe,CAAC;KACtB,QAAQ,CAAC,2BAA2B,CAAC,CAAA;AAE3B,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,kBAAU;IACvB,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,2HAA2H,CAAC;CACzI,CAAC,CAAA;AAEW,QAAA,MAAM,GAAG,uCAAsB,CAAC,aAAa,CAAC,wBAAgB,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<"\nYou are a clinical data manager. You will receive a list (array) of patient tags for a single patient and instructions about which tags to add, update, or remove. These tags are used to assign particular attributes to patients which can help with patient care, like grouping of patients, categorizing patients for reporting, or identifying patients for care.\n \n Important instructions:\n - The maximum number of tags is 10.\n - The max length of a single tag is 100 characters.\n - Ensure tags are unique.\n\n\n Input array: {existingTags}\n Instruction: {prompt}\n\n\nOutput a JSON object with two keys:\n1. updatedTags: The updated array of tags. If the input array is empty, the output should be an empty array.\n2. explanation: A readable explanation of the changes made to the tags and why\n">, any>;
2
+ export declare const systemPrompt: ChatPromptTemplate<import("@langchain/core/prompts").ParamsFromFString<"\n You are a clinical data manager with expert knowledge of Elation Patient Tags, which help care teams organize patient care (e.g., grouping, reporting, or identifying patients for care).\n\n Your task is to manage a single patient's tags based on the provided instructions.\n\n You will receive:\n - existing_tags: An array of the patient's current tags.\n - instruction: A directive specifying which tags to add, update, or remove. Ensure to follow them diligently.\n\n ### Step-by-Step Approach:\n 1. **Review the Instruction**\n - Identify the required tag modifications: additions, updates, or removals.\n\n 2. **Apply Modifications**\n - **Removing Tags:**\n - Only remove tags if explicitly stated in the instruction.\n - Match existing tags for removal, allowing minor variations (e.g., capitalization, spacing).\n - If unsure, do not remove the tag.\n\n - **Adding Tags:**\n - Use the exact wording and formatting provided in the instruction for new tags. Do not modify, reformat, or adjust them in any way. This is critical.\n - Ensure that the final list does not exceed **10 tags**. If adding a tag would exceed this limit, do not add it and clarify this in the \"explanation\".\n - If a tag exceeds **100 characters**, do not add it and state this in the \"explanation\".\n - Ensure all tags remain **unique** (no duplicates).\n - The updated list should first retain all unchanged tags, followed by any new additions.\n\n - **Unaffected Tags:**\n - Tags that are not affected by the modification instructions must remain unchanged, including spacing and formatting.\n\n 3. **Generate Output**\n - Return a JSON object containing:\n - \"updatedTags\": The final array of tags after modifications.\n - \"explanation\": A single, concise sentence summarizing all tag modifications, including the reasoning behind changes or lack thereof. Do not include statements about the total number of tags.\n\n ### Input\n existingTags: {existingTags}\n instructions: {instructions}\n">, any>;
@@ -3,20 +3,41 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.systemPrompt = void 0;
4
4
  const prompts_1 = require("@langchain/core/prompts");
5
5
  exports.systemPrompt = prompts_1.ChatPromptTemplate.fromTemplate(`
6
- You are a clinical data manager. You will receive a list (array) of patient tags for a single patient and instructions about which tags to add, update, or remove. These tags are used to assign particular attributes to patients which can help with patient care, like grouping of patients, categorizing patients for reporting, or identifying patients for care.
7
-
8
- Important instructions:
9
- - The maximum number of tags is 10.
10
- - The max length of a single tag is 100 characters.
11
- - Ensure tags are unique.
6
+ You are a clinical data manager with expert knowledge of Elation Patient Tags, which help care teams organize patient care (e.g., grouping, reporting, or identifying patients for care).
12
7
 
8
+ Your task is to manage a single patient's tags based on the provided instructions.
13
9
 
14
- Input array: {existingTags}
15
- Instruction: {prompt}
10
+ You will receive:
11
+ - existing_tags: An array of the patient's current tags.
12
+ - instruction: A directive specifying which tags to add, update, or remove. Ensure to follow them diligently.
16
13
 
14
+ ### Step-by-Step Approach:
15
+ 1. **Review the Instruction**
16
+ - Identify the required tag modifications: additions, updates, or removals.
17
17
 
18
- Output a JSON object with two keys:
19
- 1. updatedTags: The updated array of tags. If the input array is empty, the output should be an empty array.
20
- 2. explanation: A readable explanation of the changes made to the tags and why
18
+ 2. **Apply Modifications**
19
+ - **Removing Tags:**
20
+ - Only remove tags if explicitly stated in the instruction.
21
+ - Match existing tags for removal, allowing minor variations (e.g., capitalization, spacing).
22
+ - If unsure, do not remove the tag.
23
+
24
+ - **Adding Tags:**
25
+ - Use the exact wording and formatting provided in the instruction for new tags. Do not modify, reformat, or adjust them in any way. This is critical.
26
+ - Ensure that the final list does not exceed **10 tags**. If adding a tag would exceed this limit, do not add it and clarify this in the "explanation".
27
+ - If a tag exceeds **100 characters**, do not add it and state this in the "explanation".
28
+ - Ensure all tags remain **unique** (no duplicates).
29
+ - The updated list should first retain all unchanged tags, followed by any new additions.
30
+
31
+ - **Unaffected Tags:**
32
+ - Tags that are not affected by the modification instructions must remain unchanged, including spacing and formatting.
33
+
34
+ 3. **Generate Output**
35
+ - Return a JSON object containing:
36
+ - "updatedTags": The final array of tags after modifications.
37
+ - "explanation": A single, concise sentence summarizing all tag modifications, including the reasoning behind changes or lack thereof. Do not include statements about the total number of tags.
38
+
39
+ ### Input
40
+ existingTags: {existingTags}
41
+ instructions: {instructions}
21
42
  `);
22
43
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../../../extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/prompt.ts"],"names":[],"mappings":";;;AAAA,qDAA4D;AAE/C,QAAA,YAAY,GAAG,4BAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;CAgB3D,CAAC,CAAA"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../../../extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/prompt.ts"],"names":[],"mappings":";;;AAAA,qDAA4D;AAE/C,QAAA,YAAY,GAAG,4BAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC3D,CAAC,CAAA"}
@@ -20,32 +20,32 @@ const constants_1 = require("../../../../src/lib/llm/openai/constants");
20
20
  exports.updatePatientTags = {
21
21
  key: 'updatePatientTags',
22
22
  category: extensions_core_1.Category.EHR_INTEGRATIONS,
23
- title: '🪄 Update patient tags (Beta)',
23
+ title: '🪄 Update patient tags',
24
24
  description: 'Update patient tags in Elation.',
25
25
  fields: config_1.fields,
26
26
  previewable: false,
27
27
  dataPoints: config_1.dataPoints,
28
28
  onEvent: async ({ payload, onComplete, onError, helpers }) => {
29
29
  // 1. Validate input and initialize API client
30
- const { prompt, patientId } = config_1.FieldsValidationSchema.parse(payload.fields);
30
+ const { instructions, patientId } = config_1.FieldsValidationSchema.parse(payload.fields);
31
31
  const api = (0, client_1.makeAPIClient)(payload.settings);
32
32
  // 2. Get existing tags
33
33
  const { tags } = await api.getPatient(patientId);
34
34
  const existingTags = tags !== null && tags !== void 0 ? tags : [];
35
35
  // 3. Initialize OpenAI model with metadata and callbacks
36
36
  const { model, metadata, callbacks } = await (0, createOpenAIModel_1.createOpenAIModel)({
37
- settings: payload.settings,
37
+ settings: {}, // we use built-in API key for OpenAI
38
38
  helpers,
39
39
  payload,
40
- modelType: constants_1.OPENAI_MODELS.GPT4o
40
+ modelType: constants_1.OPENAI_MODELS.GPT4o,
41
41
  });
42
42
  // 4. Generate updated tags
43
43
  const { validatedTags, explanation } = await (0, getTagsFromLLM_1.getTagsFromLLM)({
44
44
  model,
45
45
  existingTags,
46
- prompt,
46
+ instructions,
47
47
  metadata,
48
- callbacks
48
+ callbacks,
49
49
  });
50
50
  // 5. Update tags in Elation
51
51
  await (0, updateTags_1.updateElationTags)(api, patientId, validatedTags);
@@ -53,6 +53,7 @@ exports.updatePatientTags = {
53
53
  await onComplete({
54
54
  data_points: {
55
55
  updatedTags: validatedTags.join(', '),
56
+ explanation,
56
57
  },
57
58
  events: [
58
59
  (0, addEventLog_1.addActivityEventLog)({
@@ -1 +1 @@
1
- {"version":3,"file":"updatePatientTags.js","sourceRoot":"","sources":["../../../../../extensions/elation/actions/updatePatientTags/updatePatientTags.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,uEAA2E;AAE3E,yCAA4C;AAC5C,qCAAqE;AACrE,6CAAgD;AAChD,wEAAoE;AACpE,wFAAoF;AACpF,wEAAwE;AAExE;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAI1B;IACF,GAAG,EAAE,mBAAmB;IACxB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,+BAA+B;IACtC,WAAW,EAAE,iCAAiC;IAC9C,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,8CAA8C;QAC9C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1E,MAAM,GAAG,GAAG,IAAA,sBAAa,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE3C,uBAAuB;QACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,YAAY,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAA;QAE/B,yDAAyD;QACzD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAiB,EAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,KAAK;SAC/B,CAAC,CAAA;QAEF,2BAA2B;QAC3B,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,+BAAc,EAAC;YAC1D,KAAK;YACL,YAAY;YACZ,MAAM;YACN,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,4BAA4B;QAC5B,MAAM,IAAA,8BAAiB,EAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;QAEtD,kCAAkC;QAClC,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;aACtC;YACD,MAAM,EAAE;gBACN,IAAA,iCAAmB,EAAC;oBAClB,OAAO,EAAE,0BAA0B,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,2BAA2B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,WAAW,EAAE;iBACrL,CAAC;aACH;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"updatePatientTags.js","sourceRoot":"","sources":["../../../../../extensions/elation/actions/updatePatientTags/updatePatientTags.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,uEAA2E;AAE3E,yCAA4C;AAC5C,qCAAqE;AACrE,6CAAgD;AAChD,wEAAoE;AACpE,wFAAoF;AACpF,wEAAwE;AAExE;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAI1B;IACF,GAAG,EAAE,mBAAmB;IACxB,QAAQ,EAAE,0BAAQ,CAAC,gBAAgB;IACnC,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EAAE,iCAAiC;IAC9C,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,8CAA8C;QAC9C,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAC9D,OAAO,CAAC,MAAM,CACf,CAAA;QACD,MAAM,GAAG,GAAG,IAAA,sBAAa,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE3C,uBAAuB;QACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,YAAY,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAA;QAE/B,yDAAyD;QACzD,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;SAC/B,CAAC,CAAA;QAEF,2BAA2B;QAC3B,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,+BAAc,EAAC;YAC1D,KAAK;YACL,YAAY;YACZ,YAAY;YACZ,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,4BAA4B;QAC5B,MAAM,IAAA,8BAAiB,EAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;QAEtD,kCAAkC;QAClC,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,WAAW;aACZ;YACD,MAAM,EAAE;gBACN,IAAA,iCAAmB,EAAC;oBAClB,OAAO,EAAE,0BAA0B,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,2BAA2B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,WAAW,EAAE;iBACrL,CAAC;aACH;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -4,8 +4,9 @@ exports.updateElationTags = void 0;
4
4
  const updateElationTags = async (api, patientId, tags) => {
5
5
  if (tags.length === 0) {
6
6
  await api.updatePatient(patientId, {
7
- // @ts-expect-error - elation api does not clear tags on an empty array
8
- tags: ' ',
7
+ // Note: Empty array doesn't clear tags, but [''] does by setting '' as a tag and clearing the rest (so it is not actually removing all tags but setting '' as a tag)
8
+ // This is also recommended workaround Elation team for clearing tags via API
9
+ tags: [''],
9
10
  });
10
11
  }
11
12
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"updateTags.js","sourceRoot":"","sources":["../../../../../extensions/elation/actions/updatePatientTags/updateTags.ts"],"names":[],"mappings":";;;AAEO,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAqB,EAAE,SAAiB,EAAE,IAAc,EAAiB,EAAE;IAC/G,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE;YACjC,uEAAuE;YACvE,IAAI,EAAE,GAAG;SACV,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE;YACjC,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AAXU,QAAA,iBAAiB,qBAW3B"}
1
+ {"version":3,"file":"updateTags.js","sourceRoot":"","sources":["../../../../../extensions/elation/actions/updatePatientTags/updateTags.ts"],"names":[],"mappings":";;;AAEO,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAqB,EAAE,SAAiB,EAAE,IAAc,EAAiB,EAAE;IAC/G,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE;YACjC,qKAAqK;YACrK,6EAA6E;YAC7E,IAAI,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE;YACjC,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AAZU,QAAA,iBAAiB,qBAY3B"}
@@ -29,7 +29,7 @@ exports.categorizeMessage = {
29
29
  const { message, categories } = config_1.FieldsValidationSchema.parse(payload.fields);
30
30
  // 2. Initialize OpenAI model with metadata
31
31
  const { model, metadata, callbacks } = await (0, createOpenAIModel_1.createOpenAIModel)({
32
- settings: payload.settings,
32
+ settings: {}, // we use built-in API key for OpenAI
33
33
  helpers,
34
34
  payload,
35
35
  modelType: constants_1.OPENAI_MODELS.GPT4oMini,
@@ -40,12 +40,12 @@ exports.categorizeMessage = {
40
40
  message,
41
41
  categories,
42
42
  metadata,
43
- callbacks
43
+ callbacks,
44
44
  });
45
45
  // 4. Format and return results
46
46
  const explanationHtml = await (0, utils_1.markdownToHtml)(result.explanation);
47
47
  await onComplete({
48
- data_points: { category: result.category, explanation: explanationHtml }
48
+ data_points: { category: result.category, explanation: explanationHtml },
49
49
  });
50
50
  },
51
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"categorizeMessage.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/categorizeMessage/categorizeMessage.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,6EAAyE;AACzE,wFAAoF;AACpF,wEAAwE;AACxE,qCAAqE;AACrE,iDAAsD;AAEtD;;;;;;;;GAQG;AACU,QAAA,iBAAiB,GAI1B;IACF,GAAG,EAAE,mBAAmB;IACxB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,mEAAmE;IAChF,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,OAAO,EAAE,UAAU,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAE5E,2CAA2C;QAC3C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAiB,EAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,SAAS;SACnC,CAAC,CAAA;QAEF,4BAA4B;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAwB,EAAC;YAC5C,KAAK;YACL,OAAO;YACP,UAAU;YACV,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,eAAe,GAAG,MAAM,IAAA,sBAAc,EAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAChE,MAAM,UAAU,CAAC;YACf,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;SACzE,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"categorizeMessage.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/categorizeMessage/categorizeMessage.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,6EAAyE;AACzE,wFAAoF;AACpF,wEAAwE;AACxE,qCAAqE;AACrE,iDAAsD;AAEtD;;;;;;;;GAQG;AACU,QAAA,iBAAiB,GAI1B;IACF,GAAG,EAAE,mBAAmB;IACxB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EACT,mEAAmE;IACrE,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,OAAO,EAAE,UAAU,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAE5E,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,SAAS;SACnC,CAAC,CAAA;QAEF,4BAA4B;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAwB,EAAC;YAC5C,KAAK;YACL,OAAO;YACP,UAAU;YACV,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,eAAe,GAAG,MAAM,IAAA,sBAAc,EAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAChE,MAAM,UAAU,CAAC;YACf,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;SACzE,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -26,13 +26,13 @@ exports.generateMessage = {
26
26
  dataPoints: config_1.dataPoints,
27
27
  onEvent: async ({ payload, onComplete, onError, helpers }) => {
28
28
  // 1. Validate input fields
29
- const { communicationObjective, personalizationInput, stakeholder, language } = config_1.FieldsValidationSchema.parse(payload.fields);
29
+ const { communicationObjective, personalizationInput, stakeholder, language, } = config_1.FieldsValidationSchema.parse(payload.fields);
30
30
  // 2. Initialize OpenAI model with metadata
31
31
  const { model, metadata, callbacks } = await (0, createOpenAIModel_1.createOpenAIModel)({
32
- settings: payload.settings,
32
+ settings: {}, // we use built-in API key for OpenAI
33
33
  helpers,
34
34
  payload,
35
- modelType: constants_1.OPENAI_MODELS.GPT4o // Using GPT4 for high-quality message generation
35
+ modelType: constants_1.OPENAI_MODELS.GPT4o, // Using GPT4 for high-quality message generation
36
36
  });
37
37
  // 3. Generate message
38
38
  const { subject, message } = await (0, generateMessageWithLLM_1.generateMessageWithLLM)({
@@ -42,12 +42,12 @@ exports.generateMessage = {
42
42
  stakeholder,
43
43
  language,
44
44
  metadata,
45
- callbacks
45
+ callbacks,
46
46
  });
47
47
  // 4. Format and return results
48
48
  const htmlMessage = await (0, utils_1.markdownToHtml)(message);
49
49
  await onComplete({
50
- data_points: { subject, message: htmlMessage }
50
+ data_points: { subject, message: htmlMessage },
51
51
  });
52
52
  },
53
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateMessage.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/generateMessage/generateMessage.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,yEAAqE;AACrE,qCAAqE;AACrE,iDAAsD;AACtD,wFAAoF;AACpF,wEAAwE;AAExE;;;;;;;;GAQG;AACU,QAAA,eAAe,GAIxB;IACF,GAAG,EAAE,iBAAiB;IACtB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,iCAAiC;IAC9C,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,sBAAsB,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,GAC3E,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAE9C,2CAA2C;QAC3C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAiB,EAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,KAAK,CAAC,iDAAiD;SACjF,CAAC,CAAA;QAEF,sBAAsB;QACtB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,+CAAsB,EAAC;YACxD,KAAK;YACL,sBAAsB;YACtB,oBAAoB;YACpB,WAAW;YACX,QAAQ;YACR,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,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE;SAC/C,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"generateMessage.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/generateMessage/generateMessage.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,yEAAqE;AACrE,qCAAqE;AACrE,iDAAsD;AACtD,wFAAoF;AACpF,wEAAwE;AAExE;;;;;;;;GAQG;AACU,QAAA,eAAe,GAIxB;IACF,GAAG,EAAE,iBAAiB;IACtB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,iCAAiC;IAC9C,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,EACJ,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,QAAQ,GACT,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAEhD,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,EAAE,iDAAiD;SAClF,CAAC,CAAA;QAEF,sBAAsB;QACtB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,+CAAsB,EAAC;YACxD,KAAK;YACL,sBAAsB;YACtB,oBAAoB;YACpB,WAAW;YACX,QAAQ;YACR,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,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE;SAC/C,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -22,10 +22,10 @@ exports.summarizeCareFlow = {
22
22
  const pathway = payload.pathway;
23
23
  // 2. Initialize OpenAI model with metadata
24
24
  const { model, metadata, callbacks } = await (0, openai_1.createOpenAIModel)({
25
- settings: payload.settings,
25
+ settings: {}, // we use built-in API key for OpenAI
26
26
  helpers,
27
27
  payload,
28
- modelType: constants_2.OPENAI_MODELS.GPT4o
28
+ modelType: constants_2.OPENAI_MODELS.GPT4o,
29
29
  });
30
30
  const awellSdk = await helpers.awellSdk();
31
31
  /**
@@ -70,7 +70,7 @@ exports.summarizeCareFlow = {
70
70
  stakeholder,
71
71
  additionalInstructions,
72
72
  metadata,
73
- callbacks
73
+ callbacks,
74
74
  });
75
75
  const htmlSummary = await (0, utils_1.markdownToHtml)(`${constants_1.DISCLAIMER_MSG}\n\n${summary}`);
76
76
  await onComplete({
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeCareFlow.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,qCAAqE;AACrE,mDAAoD;AACpD,6EAAyE;AACzE,iDAAsD;AACtD,2DAAkE;AAClE,wEAAwE;AAE3D,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;IAEV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,2BAA2B;QAC3B,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC5F,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAE/B,2CAA2C;QAC3C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,0BAAiB,EAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,KAAK;SAC/B,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,MAAM,OAAO,GAAG,MAAM,IAAA,mDAAwB,EAAC;YAC7C,KAAK;YACL,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAChC,wBAAwB,CAAC,iBAAiB,CAAC,UAAU,EACrD,IAAI,EACJ,CAAC,CACF;YACD,WAAW;YACX,sBAAsB;YACtB,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EACtC,GAAG,0BAAc,OAAO,OAAO,EAAE,CAClC,CAAA;QAED,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,OAAO,EAAE,WAAW;aACrB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"summarizeCareFlow.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,qCAAqE;AACrE,mDAAoD;AACpD,6EAAyE;AACzE,iDAAsD;AACtD,2DAAkE;AAClE,wEAAwE;AAE3D,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;IAEV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,2BAA2B;QAC3B,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAC3C,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAE/B,2CAA2C;QAC3C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,0BAAiB,EAAC;YAC7D,QAAQ,EAAE,EAAE,EAAE,qCAAqC;YACnD,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,KAAK;SAC/B,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,MAAM,OAAO,GAAG,MAAM,IAAA,mDAAwB,EAAC;YAC7C,KAAK;YACL,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAChC,wBAAwB,CAAC,iBAAiB,CAAC,UAAU,EACrD,IAAI,EACJ,CAAC,CACF;YACD,WAAW;YACX,sBAAsB;YACtB,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,0BAAc,OAAO,OAAO,EAAE,CAAC,CAAA;QAE3E,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,OAAO,EAAE,WAAW;aACrB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -32,11 +32,11 @@ exports.summarizeForm = {
32
32
  const { summaryFormat, language } = 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
- settings: payload.settings,
35
+ settings: {}, // we use built-in API key for OpenAI
36
36
  helpers,
37
37
  payload,
38
38
  modelType: constants_1.OPENAI_MODELS.GPT4o,
39
- hideDataForTracing: true // Hide input and output data when tracing
39
+ hideDataForTracing: true, // Hide input and output data when tracing
40
40
  });
41
41
  // 3. Get form data
42
42
  const { formDefinition, formResponse } = await (0, awell_1.getLatestFormInCurrentStep)({
@@ -56,7 +56,7 @@ exports.summarizeForm = {
56
56
  language,
57
57
  disclaimerMessage: constants_2.DISCLAIMER_MSG_FORM,
58
58
  metadata,
59
- callbacks
59
+ callbacks,
60
60
  });
61
61
  // 5. Format and return results
62
62
  const htmlSummary = await (0, utils_1.markdownToHtml)(summary);
@@ -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,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAEhF,2CAA2C;QAC3C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAiB,EAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,KAAK;YAC9B,kBAAkB,EAAE,IAAI,CAAC,0CAA0C;SACpE,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;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"}
@@ -24,11 +24,11 @@ exports.summarizeFormsInStep = {
24
24
  const pathway = payload.pathway;
25
25
  // 2. Initialize OpenAI model with hideDataForTracing enabled
26
26
  const { model, metadata, callbacks } = await (0, openai_1.createOpenAIModel)({
27
- settings: payload.settings,
27
+ settings: {}, // we use built-in API key for OpenAI
28
28
  helpers,
29
29
  payload,
30
30
  modelType: constants_2.OPENAI_MODELS.GPT4o,
31
- hideDataForTracing: true // Hide input and output data when tracing
31
+ hideDataForTracing: true, // Hide input and output data when tracing
32
32
  });
33
33
  // Fetch all forms in the current step
34
34
  const formsData = await (0, awell_1.getAllFormsInCurrentStep)({
@@ -48,7 +48,7 @@ exports.summarizeFormsInStep = {
48
48
  language,
49
49
  disclaimerMessage: constants_1.DISCLAIMER_MSG_FORM,
50
50
  metadata,
51
- callbacks // Add callbacks here
51
+ callbacks, // Add callbacks here
52
52
  });
53
53
  // Disclaimer is now handled within summarizeFormWithLLM
54
54
  const htmlSummary = await (0, utils_1.markdownToHtml)(summary);
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeFormsInStep.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeFormsInStep/summarizeFormsInStep.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,qCAAqE;AACrE,uEAAuE;AACvE,yEAAqE;AACrE,mDAAyD;AACzD,qDAAoE;AACpE,iDAAsD;AACtD,2DAAkE;AAClE,wEAAwE;AAG3D,QAAA,oBAAoB,GAI7B;IACF,GAAG,EAAE,sBAAsB;IAC3B,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,2DAA2D;IACxE,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,2BAA2B;QAC3B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAChF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAE/B,6DAA6D;QAC7D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,0BAAiB,EAAC;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,OAAO;YACP,SAAS,EAAE,yBAAa,CAAC,KAAK;YAC9B,kBAAkB,EAAE,IAAI,CAAE,0CAA0C;SACrE,CAAC,CAAA;QAEF,sCAAsC;QACtC,MAAM,SAAS,GAAG,MAAM,IAAA,gCAAwB,EAAC;YAC/C,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE;YAClC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;SAChC,CAAC,CAAA;QAEF,8BAA8B;QAC9B,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAA,6CAAuB,EAAC;YAC/D,SAAS;SACV,CAAC,CAAA;QAEF,iCAAiC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAA,2CAAoB,EAAC;YACzC,KAAK;YACL,QAAQ,EAAE,oBAAoB;YAC9B,aAAa;YACb,QAAQ;YACR,iBAAiB,EAAE,+BAAmB;YACtC,QAAQ;YACR,SAAS,CAAE,qBAAqB;SACjC,CAAC,CAAA;QAEF,wDAAwD;QACxD,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAA;QAEjD,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,OAAO,EAAE,WAAW;aACrB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"summarizeFormsInStep.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeFormsInStep/summarizeFormsInStep.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,qCAAqE;AACrE,uEAAuE;AACvE,yEAAqE;AACrE,mDAAyD;AACzD,qDAAoE;AACpE,iDAAsD;AACtD,2DAAkE;AAClE,wEAAwE;AAE3D,QAAA,oBAAoB,GAI7B;IACF,GAAG,EAAE,sBAAsB;IAC3B,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,2DAA2D;IACxE,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,2BAA2B;QAC3B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,+BAAsB,CAAC,KAAK,CAC9D,OAAO,CAAC,MAAM,CACf,CAAA;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAE/B,6DAA6D;QAC7D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,0BAAiB,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,sCAAsC;QACtC,MAAM,SAAS,GAAG,MAAM,IAAA,gCAAwB,EAAC;YAC/C,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE;YAClC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;SAChC,CAAC,CAAA;QAEF,8BAA8B;QAC9B,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAA,6CAAuB,EAAC;YAC/D,SAAS;SACV,CAAC,CAAA;QAEF,iCAAiC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAA,2CAAoB,EAAC;YACzC,KAAK;YACL,QAAQ,EAAE,oBAAoB;YAC9B,aAAa;YACb,QAAQ;YACR,iBAAiB,EAAE,+BAAmB;YACtC,QAAQ;YACR,SAAS,EAAE,qBAAqB;SACjC,CAAC,CAAA;QAEF,wDAAwD;QACxD,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAA;QAEjD,MAAM,UAAU,CAAC;YACf,WAAW,EAAE;gBACX,OAAO,EAAE,WAAW;aACrB;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -10,7 +10,7 @@ const validatePayloadAndCreateSdk = async ({ fieldsSchema, payload, }) => {
10
10
  const { settings, fields } = (0, extensions_core_1.validate)({
11
11
  schema: zod_1.default.object({
12
12
  fields: fieldsSchema,
13
- settings: zod_1.default.object({}).strict(),
13
+ settings: zod_1.default.object({}),
14
14
  pathway: zod_1.default.object({
15
15
  id: zod_1.default.string(),
16
16
  definition_id: zod_1.default.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"validatePayloadAndCreateSdk.js","sourceRoot":"","sources":["../../../../extensions/shelly/lib/validatePayloadAndCreateSdk.ts"],"names":[],"mappings":";;;;;;AAAA,mEAKsC;AACtC,8CAAmB;AAiBZ,MAAM,2BAA2B,GAAgC,KAAK,EAAE,EAC7E,YAAY,EACZ,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAQ,EAAC;QACpC,MAAM,EAAE,aAAC,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,aAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;YAC/B,OAAO,EAAE,aAAC,CAAC,MAAM,CAAC;gBAChB,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE;gBACd,aAAa,EAAE,aAAC,CAAC,MAAM,EAAE;aAC1B,CAAC;YACF,QAAQ,EAAE,aAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,OAAO,EAAE,aAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACtC,CAAC;QACF,OAAO;KACR,CAAC,CAAA;IAEF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAE9C,OAAO;QACL,MAAM;QACN,QAAQ;QACR,OAAO;QACP,OAAO;QACP,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,2BAA2B,+BA2BvC"}
1
+ {"version":3,"file":"validatePayloadAndCreateSdk.js","sourceRoot":"","sources":["../../../../extensions/shelly/lib/validatePayloadAndCreateSdk.ts"],"names":[],"mappings":";;;;;;AAAA,mEAKsC;AACtC,8CAAmB;AAiBZ,MAAM,2BAA2B,GAAgC,KAAK,EAAE,EAC7E,YAAY,EACZ,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAQ,EAAC;QACpC,MAAM,EAAE,aAAC,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,aAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,aAAC,CAAC,MAAM,CAAC;gBAChB,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE;gBACd,aAAa,EAAE,aAAC,CAAC,MAAM,EAAE;aAC1B,CAAC;YACF,QAAQ,EAAE,aAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,OAAO,EAAE,aAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACtC,CAAC;QACF,OAAO;KACR,CAAC,CAAA;IAEF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAE9C,OAAO;QACL,MAAM;QACN,QAAQ;QACR,OAAO;QACP,OAAO;QACP,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,2BAA2B,+BA2BvC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.0.156",
3
+ "version": "2.0.159",
4
4
  "packageManager": "yarn@4.5.3",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {
@@ -1,29 +0,0 @@
1
- import { z } from 'zod';
2
- import { StructuredOutputParser } from '@langchain/core/output_parsers';
3
- export declare const SingleTagSchema: z.ZodString;
4
- export declare const TagsSchema: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>;
5
- export declare const TagsOutputSchema: z.ZodObject<{
6
- updatedTags: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>;
7
- explanation: z.ZodString;
8
- }, "strip", z.ZodTypeAny, {
9
- updatedTags: string[];
10
- explanation: string;
11
- }, {
12
- updatedTags: string[];
13
- explanation: string;
14
- }>;
15
- export declare const parser: StructuredOutputParser<z.ZodObject<{
16
- updatedTags: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>;
17
- explanation: z.ZodString;
18
- }, "strip", z.ZodTypeAny, {
19
- updatedTags: string[];
20
- explanation: string;
21
- }, {
22
- updatedTags: string[];
23
- explanation: string;
24
- }>>;
25
- export type TagsOutput = z.infer<typeof TagsOutputSchema>;
26
- export interface TagsFromAI {
27
- validatedTags: string[];
28
- explanation: string;
29
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parser = exports.TagsOutputSchema = exports.TagsSchema = exports.SingleTagSchema = void 0;
4
- const zod_1 = require("zod");
5
- const output_parsers_1 = require("@langchain/core/output_parsers");
6
- exports.SingleTagSchema = zod_1.z.string().max(100).describe('A single tag');
7
- exports.TagsSchema = zod_1.z
8
- .array(exports.SingleTagSchema)
9
- .max(10)
10
- .refine((items) => new Set(items).size === items.length, {
11
- message: 'All items must be unique, no duplicate values allowed',
12
- })
13
- .describe('The updated array of tags');
14
- exports.TagsOutputSchema = zod_1.z.object({
15
- updatedTags: exports.TagsSchema,
16
- explanation: zod_1.z
17
- .string()
18
- .describe('A readable explanation of the changes made to the tags and why'),
19
- });
20
- exports.parser = output_parsers_1.StructuredOutputParser.fromZodSchema(exports.TagsOutputSchema);
21
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../extensions/elation/actions/updatePatientTags/config/types.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,mEAAuE;AAE1D,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AAE9D,QAAA,UAAU,GAAG,OAAC;KACxB,KAAK,CAAC,uBAAe,CAAC;KACtB,GAAG,CAAC,EAAE,CAAC;KACP,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE;IACvD,OAAO,EAAE,uDAAuD;CACjE,CAAC;KACD,QAAQ,CAAC,2BAA2B,CAAC,CAAA;AAE3B,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,kBAAU;IACvB,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,gEAAgE,CAAC;CAChF,CAAC,CAAA;AAEW,QAAA,MAAM,GAAG,uCAAsB,CAAC,aAAa,CAAC,wBAAgB,CAAC,CAAA"}