@awell-health/awell-extensions 2.0.152 → 2.0.154

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. package/dist/extensions/elation/actions/findAppointmentsByPrompt/findAppointmentsByPrompt.js +33 -113
  2. package/dist/extensions/elation/actions/findAppointmentsByPrompt/findAppointmentsByPrompt.js.map +1 -1
  3. package/dist/extensions/elation/actions/findAppointmentsByPrompt/getAppoitnmentCountByStatus.d.ts +2 -0
  4. package/dist/extensions/elation/actions/findAppointmentsByPrompt/getAppoitnmentCountByStatus.js +15 -0
  5. package/dist/extensions/elation/actions/findAppointmentsByPrompt/getAppoitnmentCountByStatus.js.map +1 -0
  6. package/dist/extensions/elation/actions/findAppointmentsByPrompt/lib/findAppointmentsByPromptWithLLM/findAppointmentsByPromptWithLLM.d.ts +14 -0
  7. package/dist/extensions/elation/actions/findAppointmentsByPrompt/lib/findAppointmentsByPromptWithLLM/findAppointmentsByPromptWithLLM.js +36 -0
  8. package/dist/extensions/elation/actions/findAppointmentsByPrompt/lib/findAppointmentsByPromptWithLLM/findAppointmentsByPromptWithLLM.js.map +1 -0
  9. package/dist/extensions/elation/actions/findAppointmentsByPrompt/lib/findAppointmentsByPromptWithLLM/parser.d.ts +17 -0
  10. package/dist/extensions/elation/actions/findAppointmentsByPrompt/lib/findAppointmentsByPromptWithLLM/parser.js +14 -0
  11. package/dist/extensions/elation/actions/findAppointmentsByPrompt/lib/findAppointmentsByPromptWithLLM/parser.js.map +1 -0
  12. package/dist/extensions/elation/actions/findAppointmentsByPrompt/lib/findAppointmentsByPromptWithLLM/prompt.d.ts +2 -0
  13. package/dist/extensions/elation/actions/findAppointmentsByPrompt/lib/findAppointmentsByPromptWithLLM/prompt.js +24 -0
  14. package/dist/extensions/elation/actions/findAppointmentsByPrompt/lib/findAppointmentsByPromptWithLLM/prompt.js.map +1 -0
  15. package/dist/extensions/elation/actions/findFutureAppointment/findFutureAppointment.d.ts +1 -1
  16. package/dist/extensions/elation/actions/findFutureAppointment/findFutureAppointment.js +32 -90
  17. package/dist/extensions/elation/actions/findFutureAppointment/findFutureAppointment.js.map +1 -1
  18. package/dist/extensions/elation/actions/findFutureAppointment/formatAppointments.d.ts +2 -0
  19. package/dist/extensions/elation/actions/findFutureAppointment/formatAppointments.js +18 -0
  20. package/dist/extensions/elation/actions/findFutureAppointment/formatAppointments.js.map +1 -0
  21. package/dist/extensions/elation/actions/findFutureAppointment/getFutureAppoitnments.d.ts +3 -0
  22. package/dist/extensions/elation/actions/findFutureAppointment/getFutureAppoitnments.js +15 -0
  23. package/dist/extensions/elation/actions/findFutureAppointment/getFutureAppoitnments.js.map +1 -0
  24. package/dist/extensions/elation/actions/findFutureAppointment/lib/findAppointmentWithLLM/findAppointmentWithLLM.d.ts +14 -0
  25. package/dist/extensions/elation/actions/findFutureAppointment/lib/findAppointmentWithLLM/findAppointmentWithLLM.js +29 -0
  26. package/dist/extensions/elation/actions/findFutureAppointment/lib/findAppointmentWithLLM/findAppointmentWithLLM.js.map +1 -0
  27. package/dist/extensions/elation/actions/findFutureAppointment/lib/findAppointmentWithLLM/parser.d.ts +17 -0
  28. package/dist/extensions/elation/actions/findFutureAppointment/lib/findAppointmentWithLLM/parser.js +16 -0
  29. package/dist/extensions/elation/actions/findFutureAppointment/lib/findAppointmentWithLLM/parser.js.map +1 -0
  30. package/dist/extensions/elation/actions/findFutureAppointment/lib/findAppointmentWithLLM/prompt.d.ts +2 -0
  31. package/dist/extensions/elation/actions/findFutureAppointment/lib/findAppointmentWithLLM/prompt.js +20 -0
  32. package/dist/extensions/elation/actions/findFutureAppointment/lib/findAppointmentWithLLM/prompt.js.map +1 -0
  33. package/dist/extensions/elation/actions/index.d.ts +0 -210
  34. package/dist/extensions/elation/actions/updatePatientTags/config/types.d.ts +29 -0
  35. package/dist/extensions/elation/actions/updatePatientTags/config/types.js +21 -0
  36. package/dist/extensions/elation/actions/updatePatientTags/config/types.js.map +1 -0
  37. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/getTagsFromLLM.d.ts +13 -0
  38. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/getTagsFromLLM.js +29 -0
  39. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/getTagsFromLLM.js.map +1 -0
  40. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/parser.d.ts +13 -0
  41. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/parser.js +7 -0
  42. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/parser.js.map +1 -0
  43. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/prompt.d.ts +2 -0
  44. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/prompt.js +22 -0
  45. package/dist/extensions/elation/actions/updatePatientTags/lib/getTagsFromLLM/prompt.js.map +1 -0
  46. package/dist/extensions/elation/actions/updatePatientTags/updatePatientTags.d.ts +8 -0
  47. package/dist/extensions/elation/actions/updatePatientTags/updatePatientTags.js +35 -77
  48. package/dist/extensions/elation/actions/updatePatientTags/updatePatientTags.js.map +1 -1
  49. package/dist/extensions/elation/actions/updatePatientTags/updateTags.d.ts +2 -0
  50. package/dist/extensions/elation/actions/updatePatientTags/updateTags.js +18 -0
  51. package/dist/extensions/elation/actions/updatePatientTags/updateTags.js.map +1 -0
  52. package/dist/extensions/elation/settings.d.ts +1 -10
  53. package/dist/extensions/elation/settings.js +0 -8
  54. package/dist/extensions/elation/settings.js.map +1 -1
  55. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.d.ts +10 -2
  56. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.js +32 -24
  57. package/dist/extensions/shelly/actions/categorizeMessage/categorizeMessage.js.map +1 -1
  58. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/categorizeMessageWithLLM.d.ts +22 -2
  59. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/categorizeMessageWithLLM.js +22 -7
  60. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/categorizeMessageWithLLM.js.map +1 -1
  61. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/parser.d.ts +20 -0
  62. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/parser.js +18 -0
  63. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/parser.js.map +1 -0
  64. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/prompt.d.ts +13 -0
  65. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/prompt.js +35 -0
  66. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/prompt.js.map +1 -0
  67. package/dist/extensions/shelly/actions/generateMessage/generateMessage.d.ts +10 -2
  68. package/dist/extensions/shelly/actions/generateMessage/generateMessage.js +33 -25
  69. package/dist/extensions/shelly/actions/generateMessage/generateMessage.js.map +1 -1
  70. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/generateMessageWithLLM.d.ts +18 -2
  71. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/generateMessageWithLLM.js +23 -10
  72. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/generateMessageWithLLM.js.map +1 -1
  73. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/parser.d.ts +28 -0
  74. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/parser.js +17 -0
  75. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/parser.js.map +1 -0
  76. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/prompt.d.ts +10 -0
  77. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/prompt.js +121 -0
  78. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/prompt.js.map +1 -0
  79. package/dist/extensions/shelly/actions/index.d.ts +7 -63
  80. package/dist/extensions/shelly/actions/medicationFromImage/medicationFromImage.d.ts +1 -2
  81. package/dist/extensions/shelly/actions/medicationFromImage/medicationFromImage.js.map +1 -1
  82. package/dist/extensions/shelly/actions/reviewMedicationExtraction/reviewMedicationExtraction.d.ts +1 -2
  83. package/dist/extensions/shelly/actions/reviewMedicationExtraction/reviewMedicationExtraction.js.map +1 -1
  84. package/dist/extensions/shelly/actions/summarizeCareFlow/lib/summarizeCareFlowWithLLM/{constants.js → prompt.js} +1 -1
  85. package/dist/extensions/shelly/actions/summarizeCareFlow/lib/summarizeCareFlowWithLLM/prompt.js.map +1 -0
  86. package/dist/extensions/shelly/actions/summarizeCareFlow/lib/summarizeCareFlowWithLLM/summarizeCareFlowWithLLM.d.ts +22 -2
  87. package/dist/extensions/shelly/actions/summarizeCareFlow/lib/summarizeCareFlowWithLLM/summarizeCareFlowWithLLM.js +30 -8
  88. package/dist/extensions/shelly/actions/summarizeCareFlow/lib/summarizeCareFlowWithLLM/summarizeCareFlowWithLLM.js.map +1 -1
  89. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.d.ts +1 -2
  90. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.js +24 -21
  91. package/dist/extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.js.map +1 -1
  92. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.d.ts +10 -2
  93. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.js +42 -28
  94. package/dist/extensions/shelly/actions/summarizeForm/summarizeForm.js.map +1 -1
  95. package/dist/extensions/shelly/actions/summarizeFormsInStep/summarizeFormsInStep.d.ts +1 -2
  96. package/dist/extensions/shelly/actions/summarizeFormsInStep/summarizeFormsInStep.js +29 -26
  97. package/dist/extensions/shelly/actions/summarizeFormsInStep/summarizeFormsInStep.js.map +1 -1
  98. package/dist/extensions/shelly/index.js +2 -3
  99. package/dist/extensions/shelly/index.js.map +1 -1
  100. package/dist/extensions/shelly/lib/summarizeFormWithLLM/{constants.js → prompt.js} +1 -1
  101. package/dist/extensions/shelly/lib/summarizeFormWithLLM/prompt.js.map +1 -0
  102. package/dist/extensions/shelly/lib/summarizeFormWithLLM/summarizeFormWithLLM.d.ts +23 -2
  103. package/dist/extensions/shelly/lib/summarizeFormWithLLM/summarizeFormWithLLM.js +33 -9
  104. package/dist/extensions/shelly/lib/summarizeFormWithLLM/summarizeFormWithLLM.js.map +1 -1
  105. package/dist/extensions/shelly/lib/validatePayloadAndCreateSdk.d.ts +1 -5
  106. package/dist/extensions/shelly/lib/validatePayloadAndCreateSdk.js +5 -20
  107. package/dist/extensions/shelly/lib/validatePayloadAndCreateSdk.js.map +1 -1
  108. package/dist/src/lib/llm/openai/constants.d.ts +28 -0
  109. package/dist/src/lib/llm/openai/constants.js +32 -0
  110. package/dist/src/lib/llm/openai/constants.js.map +1 -0
  111. package/dist/src/lib/llm/openai/createOpenAIModel.d.ts +23 -0
  112. package/dist/src/lib/llm/openai/createOpenAIModel.js +89 -0
  113. package/dist/src/lib/llm/openai/createOpenAIModel.js.map +1 -0
  114. package/dist/src/lib/llm/openai/index.d.ts +3 -0
  115. package/dist/src/lib/llm/openai/index.js +20 -0
  116. package/dist/src/lib/llm/openai/index.js.map +1 -0
  117. package/dist/src/lib/llm/openai/types.d.ts +63 -0
  118. package/dist/src/lib/llm/openai/types.js +3 -0
  119. package/dist/src/lib/llm/openai/types.js.map +1 -0
  120. package/package.json +5 -4
  121. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/constants.d.ts +0 -24
  122. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/constants.js +0 -33
  123. package/dist/extensions/shelly/actions/categorizeMessage/lib/categorizeMessageWithLLM/constants.js.map +0 -1
  124. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/constants.d.ts +0 -24
  125. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/constants.js +0 -123
  126. package/dist/extensions/shelly/actions/generateMessage/lib/generateMessageWithLLM/constants.js.map +0 -1
  127. package/dist/extensions/shelly/actions/summarizeCareFlow/lib/summarizeCareFlowWithLLM/constants.js.map +0 -1
  128. package/dist/extensions/shelly/lib/summarizeFormWithLLM/constants.js.map +0 -1
  129. package/dist/extensions/shelly/settings.d.ts +0 -17
  130. package/dist/extensions/shelly/settings.js +0 -17
  131. package/dist/extensions/shelly/settings.js.map +0 -1
  132. /package/dist/extensions/shelly/actions/summarizeCareFlow/lib/summarizeCareFlowWithLLM/{constants.d.ts → prompt.d.ts} +0 -0
  133. /package/dist/extensions/shelly/lib/summarizeFormWithLLM/{constants.d.ts → prompt.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeCareFlowWithLLM.js","sourceRoot":"","sources":["../../../../../../../extensions/shelly/actions/summarizeCareFlow/lib/summarizeCareFlowWithLLM/summarizeCareFlowWithLLM.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAG1C,uCAAuC;AAChC,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAC7C,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,sBAAsB,GAMvB,EAAmB,EAAE;IACpB,MAAM,MAAM,GAAG,MAAM,wBAAY,CAAC,MAAM,CAAC;QACvC,WAAW;QACX,sBAAsB;QACtB,KAAK,EAAE,kBAAkB;KAC1B,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE1D,uEAAuE;IACvE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAiB,CAAA;IAEhD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAtBY,QAAA,wBAAwB,4BAsBpC"}
1
+ {"version":3,"file":"summarizeCareFlowWithLLM.js","sourceRoot":"","sources":["../../../../../../../extensions/shelly/actions/summarizeCareFlow/lib/summarizeCareFlowWithLLM/summarizeCareFlowWithLLM.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAKvC;;;;;;;;;;;;;;;GAeG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAC7C,KAAK,EACL,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,QAAQ,EACR,SAAS,GAQV,EAAmB,EAAE;IACpB,MAAM,MAAM,GAAG,MAAM,qBAAY,CAAC,MAAM,CAAC;QACvC,WAAW;QACX,sBAAsB;QACtB,KAAK,EAAE,kBAAkB;KAC1B,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CACjC,MAAM,EACN;YACE,QAAQ;YACR,OAAO,EAAE,yBAAyB;YAClC,SAAS;SACV,CACF,CAAA;QACD,OAAO,QAAQ,CAAC,OAAiB,CAAA;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AApCY,QAAA,wBAAwB,4BAoCpC"}
@@ -1,4 +1,3 @@
1
1
  import { type Action } from '@awell-health/extensions-core';
2
- import { type settings } from '../../settings';
3
2
  import { fields, dataPoints } from './config';
4
- export declare const summarizeCareFlow: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
3
+ export declare const summarizeCareFlow: Action<typeof fields, Record<string, never>, keyof typeof dataPoints>;
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.summarizeCareFlow = void 0;
4
4
  const extensions_core_1 = require("@awell-health/extensions-core");
5
- const lib_1 = require("../../lib");
6
5
  const config_1 = require("./config");
7
6
  const constants_1 = require("../../lib/constants");
8
7
  const summarizeCareFlowWithLLM_1 = require("./lib/summarizeCareFlowWithLLM");
9
8
  const utils_1 = require("../../../../src/utils");
9
+ const openai_1 = require("../../../../src/lib/llm/openai");
10
+ const constants_2 = require("../../../../src/lib/llm/openai/constants");
10
11
  exports.summarizeCareFlow = {
11
12
  key: 'summarizeCareFlow',
12
13
  category: extensions_core_1.Category.WORKFLOW,
@@ -16,9 +17,15 @@ exports.summarizeCareFlow = {
16
17
  previewable: false,
17
18
  dataPoints: config_1.dataPoints,
18
19
  onEvent: async ({ payload, onComplete, onError, helpers }) => {
19
- const { ChatModelGPT4o, fields: { additionalInstructions, stakeholder }, pathway, } = await (0, lib_1.validatePayloadAndCreateSdk)({
20
- fieldsSchema: config_1.FieldsValidationSchema,
20
+ // 1. Validate input fields
21
+ const { additionalInstructions, stakeholder } = config_1.FieldsValidationSchema.parse(payload.fields);
22
+ const pathway = payload.pathway;
23
+ // 2. Initialize OpenAI model with metadata
24
+ const { model, metadata, callbacks } = await (0, openai_1.createOpenAIModel)({
25
+ settings: payload.settings,
26
+ helpers,
21
27
  payload,
28
+ modelType: constants_2.OPENAI_MODELS.GPT4o
22
29
  });
23
30
  const awellSdk = await helpers.awellSdk();
24
31
  /**
@@ -57,24 +64,20 @@ exports.summarizeCareFlow = {
57
64
  },
58
65
  },
59
66
  });
60
- try {
61
- const summary = await (0, summarizeCareFlowWithLLM_1.summarizeCareFlowWithLLM)({
62
- ChatModelGPT4o,
63
- careFlowActivities: JSON.stringify(pathwayActivitesUntilNow.pathwayActivities.activities, null, 2),
64
- stakeholder,
65
- additionalInstructions,
66
- });
67
- const htmlSummary = await (0, utils_1.markdownToHtml)(`${constants_1.DISCLAIMER_MSG}\n\n${summary}`);
68
- await onComplete({
69
- data_points: {
70
- summary: htmlSummary,
71
- },
72
- });
73
- }
74
- catch (error) {
75
- console.error('Error summarizing care flow:', error);
76
- throw new Error('Error summarizing care flow');
77
- }
67
+ const summary = await (0, summarizeCareFlowWithLLM_1.summarizeCareFlowWithLLM)({
68
+ model,
69
+ careFlowActivities: JSON.stringify(pathwayActivitesUntilNow.pathwayActivities.activities, null, 2),
70
+ stakeholder,
71
+ additionalInstructions,
72
+ metadata,
73
+ callbacks
74
+ });
75
+ const htmlSummary = await (0, utils_1.markdownToHtml)(`${constants_1.DISCLAIMER_MSG}\n\n${summary}`);
76
+ await onComplete({
77
+ data_points: {
78
+ summary: htmlSummary,
79
+ },
80
+ });
78
81
  },
79
82
  };
80
83
  //# sourceMappingURL=summarizeCareFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeCareFlow.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeCareFlow/summarizeCareFlow.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,mCAAuD;AAEvD,qCAAqE;AACrE,mDAAoD;AACpD,6EAAyE;AACzE,iDAAsD;AAEzC,QAAA,iBAAiB,GAI1B;IACF,GAAG,EAAE,mBAAmB;IACxB,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAN,eAAM;IACN,WAAW,EAAE,KAAK;IAClB,UAAU,EAAV,mBAAU;IACV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,MAAM,EACJ,cAAc,EACd,MAAM,EAAE,EAAE,sBAAsB,EAAE,WAAW,EAAE,EAC/C,OAAO,GACR,GAAG,MAAM,IAAA,iCAA2B,EAAC;YACpC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;QAEzC;;WAEG;QACH,MAAM,wBAAwB,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;YAClE,iBAAiB,EAAE;gBACjB,MAAM,EAAE;oBACN,UAAU,EAAE,OAAO,CAAC,EAAE;oBACtB,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;oBACrC,OAAO,EAAE;wBACP,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,MAAM;qBACd;iBACF;gBACD,UAAU,EAAE;oBACV,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE;wBACP,QAAQ,EAAE,IAAI;qBACf;oBACD,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI;qBACf;oBACD,eAAe,EAAE;wBACf,QAAQ,EAAE,IAAI;qBACf;oBACD,OAAO,EAAE;wBACP,QAAQ,EAAE,IAAI;qBACf;oBACD,KAAK,EAAE;wBACL,QAAQ,EAAE,IAAI;qBACf;oBACD,cAAc,EAAE;wBACd,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;SACF,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,mDAAwB,EAAC;gBAC7C,cAAc;gBACd,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAChC,wBAAwB,CAAC,iBAAiB,CAAC,UAAU,EACrD,IAAI,EACJ,CAAC,CACF;gBACD,WAAW;gBACX,sBAAsB;aACvB,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EACtC,GAAG,0BAAc,OAAO,OAAO,EAAE,CAClC,CAAA;YAED,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,OAAO,EAAE,WAAW;iBACrB;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAA;YACpD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;IACH,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,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,4 +1,12 @@
1
1
  import { type Action } from '@awell-health/extensions-core';
2
- import { type settings } from '../../settings';
3
2
  import { fields, dataPoints } from './config';
4
- export declare const summarizeForm: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
3
+ /**
4
+ * Awell Action: Form Summarization
5
+ *
6
+ * Takes form responses and preferences as input, uses LLM to:
7
+ * 1. Generate a concise summary in specified format and language
8
+ * 2. Includes appropriate disclaimer
9
+ *
10
+ * @returns HTML-formatted summary
11
+ */
12
+ export declare const summarizeForm: Action<typeof fields, Record<string, never>, keyof typeof dataPoints>;
@@ -2,14 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.summarizeForm = void 0;
4
4
  const extensions_core_1 = require("@awell-health/extensions-core");
5
- const lib_1 = require("../../lib");
5
+ const summarizeFormWithLLM_1 = require("../../lib/summarizeFormWithLLM");
6
+ const createOpenAIModel_1 = require("../../../../src/lib/llm/openai/createOpenAIModel");
7
+ const constants_1 = require("../../../../src/lib/llm/openai/constants");
6
8
  const config_1 = require("./config");
7
9
  const getFormResponseText_1 = require("../../lib/getFormResponseText");
8
- const summarizeFormWithLLM_1 = require("../../lib/summarizeFormWithLLM");
9
- const constants_1 = require("../../lib/constants");
10
10
  const awell_1 = require("../../../../src/lib/awell");
11
11
  const utils_1 = require("../../../../src/utils");
12
- // TODO: get rid of the console logs eventually
12
+ const constants_2 = require("../../lib/constants");
13
+ /**
14
+ * Awell Action: Form Summarization
15
+ *
16
+ * Takes form responses and preferences as input, uses LLM to:
17
+ * 1. Generate a concise summary in specified format and language
18
+ * 2. Includes appropriate disclaimer
19
+ *
20
+ * @returns HTML-formatted summary
21
+ */
13
22
  exports.summarizeForm = {
14
23
  key: 'summarizeForm',
15
24
  category: extensions_core_1.Category.WORKFLOW,
@@ -19,38 +28,43 @@ exports.summarizeForm = {
19
28
  previewable: false,
20
29
  dataPoints: config_1.dataPoints,
21
30
  onEvent: async ({ payload, onComplete, onError, helpers }) => {
22
- const { ChatModelGPT4o, fields: { summaryFormat, language }, pathway, activity, } = await (0, lib_1.validatePayloadAndCreateSdk)({
23
- fieldsSchema: config_1.FieldsValidationSchema,
31
+ // 1. Validate input fields
32
+ const { summaryFormat, language } = config_1.FieldsValidationSchema.parse(payload.fields);
33
+ // 2. Initialize OpenAI model with metadata
34
+ const { model, metadata, callbacks } = await (0, createOpenAIModel_1.createOpenAIModel)({
35
+ settings: payload.settings,
36
+ helpers,
24
37
  payload,
38
+ modelType: constants_1.OPENAI_MODELS.GPT4o,
39
+ hideDataForTracing: true // Hide input and output data when tracing
25
40
  });
41
+ // 3. Get form data
26
42
  const { formDefinition, formResponse } = await (0, awell_1.getLatestFormInCurrentStep)({
27
43
  awellSdk: await helpers.awellSdk(),
28
- pathwayId: pathway.id,
29
- activityId: activity.id,
44
+ pathwayId: payload.pathway.id,
45
+ activityId: payload.activity.id,
30
46
  });
31
- const { result: responseText } = (0, getFormResponseText_1.getFormResponseText)({
47
+ const { result: formData } = (0, getFormResponseText_1.getFormResponseText)({
32
48
  formDefinition,
33
49
  formResponse,
34
50
  });
35
- try {
36
- const summary = await (0, summarizeFormWithLLM_1.summarizeFormWithLLM)({
37
- ChatModelGPT4o,
38
- formData: responseText,
39
- summaryFormat,
40
- language,
41
- disclaimerMessage: constants_1.DISCLAIMER_MSG_FORM,
42
- });
43
- const htmlSummary = await (0, utils_1.markdownToHtml)(summary);
44
- await onComplete({
45
- data_points: {
46
- summary: htmlSummary,
47
- },
48
- });
49
- }
50
- catch (error) {
51
- console.error('Error summarizing form:', error);
52
- throw new Error('Error summarizing form');
53
- }
51
+ // 4. Generate summary
52
+ const summary = await (0, summarizeFormWithLLM_1.summarizeFormWithLLM)({
53
+ model,
54
+ formData,
55
+ summaryFormat,
56
+ language,
57
+ disclaimerMessage: constants_2.DISCLAIMER_MSG_FORM,
58
+ metadata,
59
+ callbacks
60
+ });
61
+ // 5. Format and return results
62
+ const htmlSummary = await (0, utils_1.markdownToHtml)(summary);
63
+ await onComplete({
64
+ data_points: {
65
+ summary: htmlSummary,
66
+ },
67
+ });
54
68
  },
55
69
  };
56
70
  //# sourceMappingURL=summarizeForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeForm.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeForm/summarizeForm.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,mCAAuD;AAEvD,qCAAqE;AACrE,uEAAmE;AACnE,yEAAqE;AACrE,mDAAyD;AACzD,qDAAsE;AACtE,iDAAsD;AAEtD,+CAA+C;AAClC,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;IACV,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,MAAM,EACJ,cAAc,EACd,MAAM,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EACnC,OAAO,EACP,QAAQ,GACT,GAAG,MAAM,IAAA,iCAA2B,EAAC;YACpC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,kCAA0B,EAAC;YACxE,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE;YAClC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,QAAQ,CAAC,EAAE;SACxB,CAAC,CAAA;QAEF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,yCAAmB,EAAC;YACnD,cAAc;YACd,YAAY;SACb,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,2CAAoB,EAAC;gBACzC,cAAc;gBACd,QAAQ,EAAE,YAAY;gBACtB,aAAa;gBACb,QAAQ;gBACR,iBAAiB,EAAE,+BAAmB;aACvC,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAA;YAGjD,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,OAAO,EAAE,WAAW;iBACrB;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAA;YAC/C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;IACH,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,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,4 +1,3 @@
1
1
  import { type Action } from '@awell-health/extensions-core';
2
- import { type settings } from '../../settings';
3
2
  import { fields, dataPoints } from './config';
4
- export declare const summarizeFormsInStep: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
3
+ export declare const summarizeFormsInStep: Action<typeof fields, Record<string, never>, keyof typeof dataPoints>;
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.summarizeFormsInStep = void 0;
4
4
  const extensions_core_1 = require("@awell-health/extensions-core");
5
- const lib_1 = require("../../lib");
6
5
  const config_1 = require("./config");
7
6
  const getFormResponseText_1 = require("../../lib/getFormResponseText");
8
7
  const summarizeFormWithLLM_1 = require("../../lib/summarizeFormWithLLM");
9
8
  const constants_1 = require("../../lib/constants");
10
9
  const awell_1 = require("../../../../src/lib/awell");
11
10
  const utils_1 = require("../../../../src/utils");
12
- // TODO: get rid of the console logs eventually
11
+ const openai_1 = require("../../../../src/lib/llm/openai");
12
+ const constants_2 = require("../../../../src/lib/llm/openai/constants");
13
13
  exports.summarizeFormsInStep = {
14
14
  key: 'summarizeFormsInStep',
15
15
  category: extensions_core_1.Category.WORKFLOW,
@@ -19,41 +19,44 @@ exports.summarizeFormsInStep = {
19
19
  previewable: false,
20
20
  dataPoints: config_1.dataPoints,
21
21
  onEvent: async ({ payload, onComplete, onError, helpers }) => {
22
- const { ChatModelGPT4o, fields: { summaryFormat, language }, pathway, activity, } = await (0, lib_1.validatePayloadAndCreateSdk)({
23
- fieldsSchema: config_1.FieldsValidationSchema,
22
+ // 1. Validate input fields
23
+ const { summaryFormat, language } = config_1.FieldsValidationSchema.parse(payload.fields);
24
+ const pathway = payload.pathway;
25
+ // 2. Initialize OpenAI model with hideDataForTracing enabled
26
+ const { model, metadata, callbacks } = await (0, openai_1.createOpenAIModel)({
27
+ settings: payload.settings,
28
+ helpers,
24
29
  payload,
30
+ modelType: constants_2.OPENAI_MODELS.GPT4o,
31
+ hideDataForTracing: true // Hide input and output data when tracing
25
32
  });
26
33
  // Fetch all forms in the current step
27
34
  const formsData = await (0, awell_1.getAllFormsInCurrentStep)({
28
35
  awellSdk: await helpers.awellSdk(),
29
36
  pathwayId: pathway.id,
30
- activityId: activity.id,
37
+ activityId: payload.activity.id,
31
38
  });
32
39
  // Get responses for all forms
33
40
  const { result: allFormsResponseText } = (0, getFormResponseText_1.getResponsesForAllForms)({
34
41
  formsData,
35
42
  });
36
- try {
37
- // Summarize all forms' responses
38
- const summary = await (0, summarizeFormWithLLM_1.summarizeFormWithLLM)({
39
- ChatModelGPT4o,
40
- formData: allFormsResponseText, // Use the concatenated form responses
41
- summaryFormat,
42
- language,
43
- disclaimerMessage: constants_1.DISCLAIMER_MSG_FORM, // Add disclaimer message
44
- });
45
- // Disclaimer is now handled within summarizeFormWithLLM
46
- const htmlSummary = await (0, utils_1.markdownToHtml)(summary);
47
- await onComplete({
48
- data_points: {
49
- summary: htmlSummary,
50
- },
51
- });
52
- }
53
- catch (error) {
54
- console.error('Error summarizing forms:', error);
55
- throw new Error('Error summarizing forms');
56
- }
43
+ // Summarize all forms' responses
44
+ const summary = await (0, summarizeFormWithLLM_1.summarizeFormWithLLM)({
45
+ model,
46
+ formData: allFormsResponseText,
47
+ summaryFormat,
48
+ language,
49
+ disclaimerMessage: constants_1.DISCLAIMER_MSG_FORM,
50
+ metadata,
51
+ callbacks // Add callbacks here
52
+ });
53
+ // Disclaimer is now handled within summarizeFormWithLLM
54
+ const htmlSummary = await (0, utils_1.markdownToHtml)(summary);
55
+ await onComplete({
56
+ data_points: {
57
+ summary: htmlSummary,
58
+ },
59
+ });
57
60
  },
58
61
  };
59
62
  //# sourceMappingURL=summarizeFormsInStep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeFormsInStep.js","sourceRoot":"","sources":["../../../../../extensions/shelly/actions/summarizeFormsInStep/summarizeFormsInStep.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AACrE,mCAAuD;AAEvD,qCAAqE;AACrE,uEAAuE;AACvE,yEAAqE;AACrE,mDAAyD;AACzD,qDAAoE;AACpE,iDAAsD;AAEtD,+CAA+C;AAClC,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,MAAM,EACJ,cAAc,EACd,MAAM,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EACnC,OAAO,EACP,QAAQ,GACT,GAAG,MAAM,IAAA,iCAA2B,EAAC;YACpC,YAAY,EAAE,+BAAsB;YACpC,OAAO;SACR,CAAC,CAAA;QAGF,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,QAAQ,CAAC,EAAE;SACxB,CAAC,CAAA;QAGF,8BAA8B;QAC9B,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAA,6CAAuB,EAAC;YAC/D,SAAS;SACV,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,OAAO,GAAG,MAAM,IAAA,2CAAoB,EAAC;gBACzC,cAAc;gBACd,QAAQ,EAAE,oBAAoB,EAAE,sCAAsC;gBACtE,aAAa;gBACb,QAAQ;gBACR,iBAAiB,EAAE,+BAAmB,EAAE,yBAAyB;aAClE,CAAC,CAAA;YAEF,wDAAwD;YACxD,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAA;YAGjD,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,OAAO,EAAE,WAAW;iBACrB;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;YAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC5C,CAAC;IACH,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;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"}
@@ -6,17 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.shelly = void 0;
7
7
  const extensions_core_1 = require("@awell-health/extensions-core");
8
8
  const actions_1 = __importDefault(require("./actions"));
9
- const settings_1 = require("./settings");
10
9
  exports.shelly = {
11
10
  key: 'shelly',
12
- title: 'Shelly (experimental)',
11
+ title: 'Shelly (Beta)',
13
12
  description: 'Library of AI-powered actions',
14
13
  icon_url: 'https://res.cloudinary.com/da7x4rzl4/image/upload/v1726037275/Awell%20Extensions/shelly_logo.png',
15
14
  category: extensions_core_1.Category.WORKFLOW,
16
15
  author: {
17
16
  authorType: extensions_core_1.AuthorType.AWELL,
18
17
  },
19
- settings: settings_1.settings,
18
+ settings: {},
20
19
  actions: actions_1.default,
21
20
  };
22
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/shelly/index.ts"],"names":[],"mappings":";;;;;;AAAA,mEAIsC;AACtC,wDAA+B;AAC/B,yCAAqC;AAExB,QAAA,MAAM,GAAc;IAC/B,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,+BAA+B;IAC5C,QAAQ,EACN,kGAAkG;IACpG,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,MAAM,EAAE;QACN,UAAU,EAAE,4BAAU,CAAC,KAAK;KAC7B;IACD,QAAQ,EAAR,mBAAQ;IACR,OAAO,EAAP,iBAAO;CACR,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/shelly/index.ts"],"names":[],"mappings":";;;;;;AAAA,mEAIsC;AACtC,wDAA+B;AAElB,QAAA,MAAM,GAAc;IAC/B,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,+BAA+B;IAC5C,QAAQ,EACN,kGAAkG;IACpG,QAAQ,EAAE,0BAAQ,CAAC,QAAQ;IAC3B,MAAM,EAAE;QACN,UAAU,EAAE,4BAAU,CAAC,KAAK;KAC7B;IACD,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAP,iBAAO;CACR,CAAA"}
@@ -120,4 +120,4 @@ exports.systemPromptTextParagraph = prompts_1.ChatPromptTemplate.fromTemplate(`
120
120
 
121
121
  {input}
122
122
  `);
123
- //# sourceMappingURL=constants.js.map
123
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +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,8 +1,29 @@
1
1
  import { type ChatOpenAI } from '@langchain/openai';
2
- export declare const summarizeFormWithLLM: ({ ChatModelGPT4o, formData, summaryFormat, language, disclaimerMessage, }: {
3
- ChatModelGPT4o: ChatOpenAI;
2
+ import { type AIActionMetadata } from '../../../../src/lib/llm/openai/types';
3
+ import type { BaseCallbackHandler } from "@langchain/core/callbacks/base";
4
+ /**
5
+ * Uses LLM to summarize form data in a specified format and language.
6
+ * The function follows these steps:
7
+ * 1. Formats prompt with form data and preferences
8
+ * 2. Runs LLM with appropriate system prompt
9
+ * 3. Returns formatted summary with disclaimer
10
+ *
11
+ * @example
12
+ * const result = await summarizeFormWithLLM({
13
+ * model,
14
+ * formData: "Name: John Doe\nAge: 30\n...",
15
+ * summaryFormat: "Bullet-points",
16
+ * language: "English",
17
+ * disclaimerMessage: "AI generated...",
18
+ * metadata: { ... }
19
+ * })
20
+ */
21
+ export declare const summarizeFormWithLLM: ({ model, formData, summaryFormat, language, disclaimerMessage, metadata, callbacks, }: {
22
+ model: ChatOpenAI;
4
23
  formData: string;
5
24
  summaryFormat: string;
6
25
  language: string;
7
26
  disclaimerMessage: string;
27
+ metadata: AIActionMetadata;
28
+ callbacks?: BaseCallbackHandler[];
8
29
  }) => Promise<string>;
@@ -1,20 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.summarizeFormWithLLM = void 0;
4
- const constants_1 = require("./constants");
5
- const summarizeFormWithLLM = async ({ ChatModelGPT4o, formData, summaryFormat, language, disclaimerMessage, }) => {
6
- const systemPrompt = summaryFormat === 'Bullet-points' ? constants_1.systemPromptBulletPoints :
7
- summaryFormat === 'Text paragraph' ? constants_1.systemPromptTextParagraph :
8
- constants_1.systemPromptBulletPoints; // Default to bullet points if unknown format
4
+ const prompt_1 = require("./prompt");
5
+ /**
6
+ * Uses LLM to summarize form data in a specified format and language.
7
+ * The function follows these steps:
8
+ * 1. Formats prompt with form data and preferences
9
+ * 2. Runs LLM with appropriate system prompt
10
+ * 3. Returns formatted summary with disclaimer
11
+ *
12
+ * @example
13
+ * const result = await summarizeFormWithLLM({
14
+ * model,
15
+ * formData: "Name: John Doe\nAge: 30\n...",
16
+ * summaryFormat: "Bullet-points",
17
+ * language: "English",
18
+ * disclaimerMessage: "AI generated...",
19
+ * metadata: { ... }
20
+ * })
21
+ */
22
+ const summarizeFormWithLLM = async ({ model, formData, summaryFormat, language, disclaimerMessage, metadata, callbacks, }) => {
23
+ const systemPrompt = summaryFormat === 'Bullet-points' ? prompt_1.systemPromptBulletPoints :
24
+ summaryFormat === 'Text paragraph' ? prompt_1.systemPromptTextParagraph :
25
+ prompt_1.systemPromptBulletPoints; // Default to bullet points if unknown format
9
26
  const prompt = await systemPrompt.format({
10
27
  language,
11
28
  input: formData,
12
29
  disclaimerMessage,
13
30
  });
14
- const summaryMessage = await ChatModelGPT4o.invoke(prompt);
15
- // TODO: for some reason compiler doesn't know that content is a string
16
- const summary = summaryMessage.content;
17
- return summary;
31
+ try {
32
+ const result = await model.invoke(prompt, {
33
+ metadata,
34
+ runName: 'ShellySummarizeForm',
35
+ callbacks
36
+ });
37
+ return result.content;
38
+ }
39
+ catch (error) {
40
+ throw new Error('Failed to generate form summary');
41
+ }
18
42
  };
19
43
  exports.summarizeFormWithLLM = summarizeFormWithLLM;
20
44
  //# sourceMappingURL=summarizeFormWithLLM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarizeFormWithLLM.js","sourceRoot":"","sources":["../../../../../extensions/shelly/lib/summarizeFormWithLLM/summarizeFormWithLLM.ts"],"names":[],"mappings":";;;AAAA,2CAAiF;AAE1E,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,cAAc,EACd,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,iBAAiB,GAOlB,EAAmB,EAAE;IAEpB,MAAM,YAAY,GAAG,aAAa,KAAK,eAAe,CAAC,CAAC,CAAC,oCAAwB,CAAC,CAAC;QAC9D,aAAa,KAAK,gBAAgB,CAAC,CAAC,CAAC,qCAAyB,CAAC,CAAC;YAChE,oCAAwB,CAAC,CAAC,6CAA6C;IAC5F,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;QACvC,QAAQ;QACR,KAAK,EAAE,QAAQ;QACf,iBAAiB;KAClB,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE1D,uEAAuE;IACvE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAiB,CAAA;IAEhD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AA7BY,QAAA,oBAAoB,wBA6BhC"}
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,16 +1,12 @@
1
1
  import { type NewActivityPayload, type Pathway, type Patient } from '@awell-health/extensions-core';
2
2
  import z from 'zod';
3
- import { SettingsValidationSchema } from '../settings';
4
- import { ChatOpenAI } from '@langchain/openai';
5
3
  import { type Activity } from '@awell-health/extensions-core/dist/types/Activity';
6
4
  type ValidatePayloadAndCreateSdk = <T extends z.ZodTypeAny, P extends NewActivityPayload<any, any>>(args: {
7
5
  fieldsSchema: T;
8
6
  payload: P;
9
7
  }) => Promise<{
10
- ChatModelGPT4oMini: ChatOpenAI;
11
- ChatModelGPT4o: ChatOpenAI;
12
8
  fields: z.infer<(typeof args)['fieldsSchema']>;
13
- settings: z.infer<typeof SettingsValidationSchema>;
9
+ settings: Record<string, never>;
14
10
  pathway: Pathway;
15
11
  patient: Patient;
16
12
  activity: Activity;
@@ -6,37 +6,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.validatePayloadAndCreateSdk = void 0;
7
7
  const extensions_core_1 = require("@awell-health/extensions-core");
8
8
  const zod_1 = __importDefault(require("zod"));
9
- const settings_1 = require("../settings");
10
- const openai_1 = require("@langchain/openai");
11
9
  const validatePayloadAndCreateSdk = async ({ fieldsSchema, payload, }) => {
12
10
  const { settings, fields } = (0, extensions_core_1.validate)({
13
11
  schema: zod_1.default.object({
14
12
  fields: fieldsSchema,
15
- settings: settings_1.SettingsValidationSchema,
16
- pathway: zod_1.default.object({ id: zod_1.default.string() }),
13
+ settings: zod_1.default.object({}).strict(),
14
+ pathway: zod_1.default.object({
15
+ id: zod_1.default.string(),
16
+ definition_id: zod_1.default.string(),
17
+ }),
17
18
  activity: zod_1.default.object({ id: zod_1.default.string() }),
18
19
  patient: zod_1.default.object({ id: zod_1.default.string() }),
19
20
  }),
20
21
  payload,
21
22
  });
22
23
  const { patient, pathway, activity } = payload;
23
- const ChatModelGPT4oMini = new openai_1.ChatOpenAI({
24
- modelName: 'gpt-4o-mini',
25
- openAIApiKey: settings.openAiApiKey,
26
- temperature: 0, // To ensure consistency
27
- maxRetries: 3,
28
- timeout: 10000,
29
- });
30
- const ChatModelGPT4o = new openai_1.ChatOpenAI({
31
- modelName: 'gpt-4o',
32
- openAIApiKey: settings.openAiApiKey,
33
- temperature: 0, // To ensure consistency
34
- maxRetries: 3,
35
- timeout: 10000,
36
- });
37
24
  return {
38
- ChatModelGPT4o,
39
- ChatModelGPT4oMini,
40
25
  fields,
41
26
  settings,
42
27
  patient,
@@ -1 +1 @@
1
- {"version":3,"file":"validatePayloadAndCreateSdk.js","sourceRoot":"","sources":["../../../../extensions/shelly/lib/validatePayloadAndCreateSdk.ts"],"names":[],"mappings":";;;;;;AAAA,mEAKsC;AACtC,8CAAmB;AACnB,0CAAsD;AACtD,8CAA8C;AAmBvC,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,mCAAwB;YAClC,OAAO,EAAE,aAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,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,MAAM,kBAAkB,GAAG,IAAI,mBAAU,CAAC;QACxC,SAAS,EAAE,aAAa;QACxB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,WAAW,EAAE,CAAC,EAAE,wBAAwB;QACxC,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,IAAI,mBAAU,CAAC;QACpC,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,WAAW,EAAE,CAAC,EAAE,wBAAwB;QACxC,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IAEF,OAAO;QACL,cAAc;QACd,kBAAkB;QAClB,MAAM;QACN,QAAQ;QACR,OAAO;QACP,OAAO;QACP,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AA1CY,QAAA,2BAA2B,+BA0CvC"}
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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Default configuration settings for OpenAI model calls.
3
+ * - temperature: 0 (most deterministic outputs)
4
+ * - maxRetries: 3 (automatic retry on transient failures)
5
+ * - timeout: 10000ms (10 second timeout for responses)
6
+ */
7
+ export declare const OPENAI_CONFIG: {
8
+ readonly temperature: 0;
9
+ readonly maxRetries: 3;
10
+ readonly timeout: 10000;
11
+ };
12
+ /**
13
+ * Simplified model aliases for easier reference in code.
14
+ * Use these constants instead of raw strings when specifying models.
15
+ */
16
+ export declare const OPENAI_MODELS: {
17
+ readonly GPT4o: "gpt-4o";
18
+ readonly GPT4oMini: "gpt-4o-mini";
19
+ };
20
+ /**
21
+ * Maps model aliases to specific versioned model names.
22
+ * Always use versioned snapshots rather than base model names to ensure
23
+ * consistent behavior over time as models are updated.
24
+ */
25
+ export declare const MODEL_VERSIONS: {
26
+ readonly "gpt-4o": "gpt-4o-2024-08-06";
27
+ readonly "gpt-4o-mini": "gpt-4o-mini-2024-07-18";
28
+ };
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MODEL_VERSIONS = exports.OPENAI_MODELS = exports.OPENAI_CONFIG = void 0;
4
+ /**
5
+ * Default configuration settings for OpenAI model calls.
6
+ * - temperature: 0 (most deterministic outputs)
7
+ * - maxRetries: 3 (automatic retry on transient failures)
8
+ * - timeout: 10000ms (10 second timeout for responses)
9
+ */
10
+ exports.OPENAI_CONFIG = {
11
+ temperature: 0,
12
+ maxRetries: 3,
13
+ timeout: 10000,
14
+ };
15
+ /**
16
+ * Simplified model aliases for easier reference in code.
17
+ * Use these constants instead of raw strings when specifying models.
18
+ */
19
+ exports.OPENAI_MODELS = {
20
+ GPT4o: 'gpt-4o',
21
+ GPT4oMini: 'gpt-4o-mini',
22
+ };
23
+ /**
24
+ * Maps model aliases to specific versioned model names.
25
+ * Always use versioned snapshots rather than base model names to ensure
26
+ * consistent behavior over time as models are updated.
27
+ */
28
+ exports.MODEL_VERSIONS = {
29
+ [exports.OPENAI_MODELS.GPT4o]: 'gpt-4o-2024-08-06',
30
+ [exports.OPENAI_MODELS.GPT4oMini]: 'gpt-4o-mini-2024-07-18',
31
+ };
32
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/lib/llm/openai/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,aAAa,GAAG;IAC3B,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,KAAK;CACN,CAAA;AAEV;;;GAGG;AACU,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,aAAa;CAChB,CAAA;AAEV;;;;GAIG;AACU,QAAA,cAAc,GAAG;IAC5B,CAAC,qBAAa,CAAC,KAAK,CAAC,EAAE,mBAAmB;IAC1C,CAAC,qBAAa,CAAC,SAAS,CAAC,EAAE,wBAAwB;CAC3C,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { type CreateOpenAIModelConfig, type OpenAIModelConfig } from './types';
2
+ /**
3
+ * Creates a configured OpenAI model instance with proper tracing metadata
4
+ * Settings can optionally include openAiApiKey, otherwise falls back to environment configuration
5
+ *
6
+ * @param config - Configuration for model creation
7
+ * @returns Configured model, metadata for tracing, and optional callbacks for hiding data
8
+ * @throws Error if no API key is available in either settings or environment
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const { model, metadata, callbacks } = await createOpenAIModel({
13
+ * settings,
14
+ * helpers,
15
+ * payload,
16
+ * modelType: OPENAI_MODELS.GPT4oMini,
17
+ * hideDataForTracing: true
18
+ * })
19
+ * ```
20
+ */
21
+ export declare const createOpenAIModel: ({ settings, helpers, payload, modelType, hideDataForTracing, }: CreateOpenAIModelConfig & {
22
+ hideDataForTracing?: boolean;
23
+ }) => Promise<OpenAIModelConfig>;