@awell-health/awell-extensions 2.0.196 → 2.0.198

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/extensions/elation/actions/checkPatientTags/checkPatientTags.d.ts +12 -0
  2. package/dist/extensions/elation/actions/checkPatientTags/checkPatientTags.js +63 -0
  3. package/dist/extensions/elation/actions/checkPatientTags/checkPatientTags.js.map +1 -0
  4. package/dist/extensions/elation/actions/checkPatientTags/config/dataPoints.d.ts +10 -0
  5. package/dist/extensions/elation/actions/checkPatientTags/config/dataPoints.js +14 -0
  6. package/dist/extensions/elation/actions/checkPatientTags/config/dataPoints.js.map +1 -0
  7. package/dist/extensions/elation/actions/checkPatientTags/config/fields.d.ts +28 -0
  8. package/dist/extensions/elation/actions/checkPatientTags/config/fields.js +26 -0
  9. package/dist/extensions/elation/actions/checkPatientTags/config/fields.js.map +1 -0
  10. package/dist/extensions/elation/actions/checkPatientTags/config/index.d.ts +2 -0
  11. package/dist/extensions/elation/actions/checkPatientTags/config/index.js +9 -0
  12. package/dist/extensions/elation/actions/checkPatientTags/config/index.js.map +1 -0
  13. package/dist/extensions/elation/actions/checkPatientTags/index.d.ts +1 -0
  14. package/dist/extensions/elation/actions/checkPatientTags/index.js +6 -0
  15. package/dist/extensions/elation/actions/checkPatientTags/index.js.map +1 -0
  16. package/dist/extensions/elation/actions/checkPatientTags/lib/checkTagsWithLLM/checkTagsWithLLM.d.ts +13 -0
  17. package/dist/extensions/elation/actions/checkPatientTags/lib/checkTagsWithLLM/checkTagsWithLLM.js +29 -0
  18. package/dist/extensions/elation/actions/checkPatientTags/lib/checkTagsWithLLM/checkTagsWithLLM.js.map +1 -0
  19. package/dist/extensions/elation/actions/checkPatientTags/lib/checkTagsWithLLM/parser.d.ts +23 -0
  20. package/dist/extensions/elation/actions/checkPatientTags/lib/checkTagsWithLLM/parser.js +11 -0
  21. package/dist/extensions/elation/actions/checkPatientTags/lib/checkTagsWithLLM/parser.js.map +1 -0
  22. package/dist/extensions/elation/actions/checkPatientTags/lib/checkTagsWithLLM/prompt.d.ts +2 -0
  23. package/dist/extensions/elation/actions/checkPatientTags/lib/checkTagsWithLLM/prompt.js +30 -0
  24. package/dist/extensions/elation/actions/checkPatientTags/lib/checkTagsWithLLM/prompt.js.map +1 -0
  25. package/dist/extensions/elation/actions/checkPatientTags/lib/evaluateCheckTags.d.ts +1 -0
  26. package/dist/extensions/elation/actions/checkPatientTags/lib/evaluateCheckTags.js +148 -0
  27. package/dist/extensions/elation/actions/checkPatientTags/lib/evaluateCheckTags.js.map +1 -0
  28. package/dist/extensions/elation/actions/index.d.ts +66 -0
  29. package/dist/extensions/elation/actions/index.js +2 -0
  30. package/dist/extensions/elation/actions/index.js.map +1 -1
  31. package/dist/extensions/index.js +2 -0
  32. package/dist/extensions/index.js.map +1 -1
  33. package/dist/extensions/markdown.json +5 -1
  34. package/dist/extensions/text-em-all/actions/createCallBroadcast/__testdata__/CreateCallBroadcast.mock.d.ts +88 -0
  35. package/dist/extensions/text-em-all/actions/createCallBroadcast/__testdata__/CreateCallBroadcast.mock.js +92 -0
  36. package/dist/extensions/text-em-all/actions/createCallBroadcast/__testdata__/CreateCallBroadcast.mock.js.map +1 -0
  37. package/dist/extensions/text-em-all/actions/createCallBroadcast/config.d.ts +254 -0
  38. package/dist/extensions/text-em-all/actions/createCallBroadcast/config.js +166 -0
  39. package/dist/extensions/text-em-all/actions/createCallBroadcast/config.js.map +1 -0
  40. package/dist/extensions/text-em-all/actions/createCallBroadcast/createCallBroadcast.d.ts +4 -0
  41. package/dist/extensions/text-em-all/actions/createCallBroadcast/createCallBroadcast.js +55 -0
  42. package/dist/extensions/text-em-all/actions/createCallBroadcast/createCallBroadcast.js.map +1 -0
  43. package/dist/extensions/text-em-all/actions/createCallBroadcast/index.d.ts +1 -0
  44. package/dist/extensions/text-em-all/actions/createCallBroadcast/index.js +18 -0
  45. package/dist/extensions/text-em-all/actions/createCallBroadcast/index.js.map +1 -0
  46. package/dist/extensions/text-em-all/actions/createCallBroadcast/types.d.ts +2 -0
  47. package/dist/extensions/text-em-all/actions/createCallBroadcast/types.js +6 -0
  48. package/dist/extensions/text-em-all/actions/createCallBroadcast/types.js.map +1 -0
  49. package/dist/extensions/text-em-all/actions/createSMSBroadcast/__testdata__/CreateSMSBroadcast.mock.d.ts +55 -0
  50. package/dist/extensions/text-em-all/actions/createSMSBroadcast/__testdata__/CreateSMSBroadcast.mock.js +59 -0
  51. package/dist/extensions/text-em-all/actions/createSMSBroadcast/__testdata__/CreateSMSBroadcast.mock.js.map +1 -0
  52. package/dist/extensions/text-em-all/actions/createSMSBroadcast/config.d.ts +82 -0
  53. package/dist/extensions/text-em-all/actions/createSMSBroadcast/config.js +87 -0
  54. package/dist/extensions/text-em-all/actions/createSMSBroadcast/config.js.map +1 -0
  55. package/dist/extensions/text-em-all/actions/createSMSBroadcast/createSMSBroadcast.d.ts +4 -0
  56. package/dist/extensions/text-em-all/actions/createSMSBroadcast/createSMSBroadcast.js +49 -0
  57. package/dist/extensions/text-em-all/actions/createSMSBroadcast/createSMSBroadcast.js.map +1 -0
  58. package/dist/extensions/text-em-all/actions/createSMSBroadcast/index.d.ts +1 -0
  59. package/dist/extensions/text-em-all/actions/createSMSBroadcast/index.js +18 -0
  60. package/dist/extensions/text-em-all/actions/createSMSBroadcast/index.js.map +1 -0
  61. package/dist/extensions/text-em-all/actions/createSMSBroadcast/types.d.ts +2 -0
  62. package/dist/extensions/text-em-all/actions/createSMSBroadcast/types.js +6 -0
  63. package/dist/extensions/text-em-all/actions/createSMSBroadcast/types.js.map +1 -0
  64. package/dist/extensions/text-em-all/actions/index.d.ts +69 -0
  65. package/dist/extensions/text-em-all/actions/index.js +9 -0
  66. package/dist/extensions/text-em-all/actions/index.js.map +1 -0
  67. package/dist/extensions/text-em-all/actions/types.d.ts +152 -0
  68. package/dist/extensions/text-em-all/actions/types.js +60 -0
  69. package/dist/extensions/text-em-all/actions/types.js.map +1 -0
  70. package/dist/extensions/text-em-all/actions/utils/validateJsonField.d.ts +2 -0
  71. package/dist/extensions/text-em-all/actions/utils/validateJsonField.js +32 -0
  72. package/dist/extensions/text-em-all/actions/utils/validateJsonField.js.map +1 -0
  73. package/dist/extensions/text-em-all/index.d.ts +2 -0
  74. package/dist/extensions/text-em-all/index.js +21 -0
  75. package/dist/extensions/text-em-all/index.js.map +1 -0
  76. package/dist/extensions/text-em-all/lib/client.d.ts +17 -0
  77. package/dist/extensions/text-em-all/lib/client.js +64 -0
  78. package/dist/extensions/text-em-all/lib/client.js.map +1 -0
  79. package/dist/extensions/text-em-all/lib/index.d.ts +1 -0
  80. package/dist/extensions/text-em-all/lib/index.js +18 -0
  81. package/dist/extensions/text-em-all/lib/index.js.map +1 -0
  82. package/dist/extensions/text-em-all/settings.d.ts +48 -0
  83. package/dist/extensions/text-em-all/settings.js +41 -0
  84. package/dist/extensions/text-em-all/settings.js.map +1 -0
  85. package/dist/extensions/text-em-all/webhooks/broadcastStatusChange.d.ts +15 -0
  86. package/dist/extensions/text-em-all/webhooks/broadcastStatusChange.js +42 -0
  87. package/dist/extensions/text-em-all/webhooks/broadcastStatusChange.js.map +1 -0
  88. package/dist/extensions/text-em-all/webhooks/index.d.ts +1 -0
  89. package/dist/extensions/text-em-all/webhooks/index.js +6 -0
  90. package/dist/extensions/text-em-all/webhooks/index.js.map +1 -0
  91. package/dist/extensions/text-em-all/webhooks/types.d.ts +24 -0
  92. package/dist/extensions/text-em-all/webhooks/types.js +15 -0
  93. package/dist/extensions/text-em-all/webhooks/types.js.map +1 -0
  94. package/package.json +4 -1
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FieldsSchema = exports.dataPoints = exports.fields = void 0;
7
+ const zod_1 = require("zod");
8
+ const extensions_core_1 = require("@awell-health/extensions-core");
9
+ const types_1 = require("./types");
10
+ const types_2 = require("../types");
11
+ const validateJsonField_1 = require("../utils/validateJsonField");
12
+ const libphonenumber_js_1 = require("libphonenumber-js");
13
+ const format_1 = __importDefault(require("date-fns/format"));
14
+ const lodash_1 = require("lodash");
15
+ exports.fields = {
16
+ broadcastName: {
17
+ id: 'broadcastName',
18
+ label: 'Broadcast Name',
19
+ type: extensions_core_1.FieldType.STRING,
20
+ required: true,
21
+ description: 'The name of the broadcast.',
22
+ },
23
+ broadcastType: {
24
+ id: 'broadcastType',
25
+ label: 'Broadcast Type',
26
+ type: extensions_core_1.FieldType.STRING,
27
+ required: true,
28
+ description: 'The type of broadcast.',
29
+ options: {
30
+ dropdownOptions: Object.values(types_1.BroadcastTypes.enum).map((type) => ({
31
+ label: type,
32
+ value: type,
33
+ })),
34
+ },
35
+ },
36
+ startDate: {
37
+ id: 'startDate',
38
+ label: 'Start Date',
39
+ type: extensions_core_1.FieldType.STRING,
40
+ required: false,
41
+ description: 'The time the broadcast should start. Will default to start immediately. If provided must be a datetime as ISO 8601 string and time to send the message in UTC',
42
+ },
43
+ maxMessageLength: {
44
+ id: 'maxMessageLength',
45
+ label: 'Max Message Length',
46
+ type: extensions_core_1.FieldType.NUMERIC,
47
+ required: false,
48
+ description: 'The maximum number of seconds the audio message can be. If not set, the value from your voice settings.',
49
+ },
50
+ callerID: {
51
+ id: 'callerID',
52
+ label: 'Caller ID',
53
+ type: extensions_core_1.FieldType.STRING,
54
+ required: false,
55
+ description: 'Voice messages will appear to be coming from this phone number. If left blank, we will default to the callerID in your voice settings. Must be a valid North American Numbering Plan (NANP) phone number.',
56
+ },
57
+ phoneNumber: {
58
+ id: 'phoneNumber',
59
+ label: 'Phone Number',
60
+ type: extensions_core_1.FieldType.STRING,
61
+ stringType: extensions_core_1.StringType.PHONE,
62
+ required: true,
63
+ description: 'The primary phone number of the recipient in E.164 format',
64
+ },
65
+ checkCallingWindow: {
66
+ id: 'checkCallingWindow',
67
+ label: 'Check Calling Window',
68
+ type: extensions_core_1.FieldType.BOOLEAN,
69
+ required: false,
70
+ description: 'Used for voice messages only and determines whether to enforce or ignore the user`s calling window. Defaults to True.',
71
+ },
72
+ continueOnNextDay: {
73
+ id: 'continueOnNextDay',
74
+ label: 'Continue On Next Day',
75
+ type: extensions_core_1.FieldType.BOOLEAN,
76
+ required: false,
77
+ description: 'Can override the "continue on next day" user setting.',
78
+ },
79
+ transferAndConnect: {
80
+ id: 'transferAndConnect',
81
+ label: 'Transfer and Connect',
82
+ type: extensions_core_1.FieldType.JSON,
83
+ required: false,
84
+ description: 'The settings for transfer & connect broadcasts. Only required for Transfer & Connect type broadcasts.',
85
+ },
86
+ audio: {
87
+ id: 'audio',
88
+ label: 'Audio',
89
+ type: extensions_core_1.FieldType.JSON,
90
+ required: false,
91
+ description: 'The assigned audio message for voice broadcasts. This ID can be found in your Message Library. If left blank you will receive a message recording information in your response.',
92
+ },
93
+ audioVM: {
94
+ id: 'audioVM',
95
+ label: 'Audio VM',
96
+ type: extensions_core_1.FieldType.JSON,
97
+ required: false,
98
+ description: 'This message plays if the contact`s message is left on the recipient`s voicemail.',
99
+ },
100
+ retryTimes: {
101
+ id: 'retryTimes',
102
+ label: 'Retry Times',
103
+ type: extensions_core_1.FieldType.NUMERIC,
104
+ required: false,
105
+ description: 'The number of times a call is retried after busy signal or no answer. Defaults to retry settings in your account.',
106
+ },
107
+ callThrottle: {
108
+ id: 'callThrottle',
109
+ label: 'Call Throttle',
110
+ type: extensions_core_1.FieldType.NUMERIC,
111
+ required: false,
112
+ description: 'The call speed specifies the number of simultaneous calls that can be ongoing at any given time. Defaults to call speed settings in your account.',
113
+ },
114
+ };
115
+ exports.dataPoints = {
116
+ broadcastId: {
117
+ key: 'broadcastId',
118
+ valueType: 'number',
119
+ },
120
+ broadcastStatus: {
121
+ key: 'broadcastStatus',
122
+ valueType: 'string',
123
+ },
124
+ uriBroadcastDetails: {
125
+ key: 'uriBroadcastDetails',
126
+ valueType: 'string',
127
+ },
128
+ broadcastStatusCategory: {
129
+ key: 'broadcastStatusCategory',
130
+ valueType: 'string',
131
+ },
132
+ broadcastStartDate: {
133
+ key: 'broadcastStartDate',
134
+ valueType: 'string',
135
+ },
136
+ };
137
+ exports.FieldsSchema = zod_1.z.object({
138
+ broadcastName: zod_1.z.string(),
139
+ broadcastType: types_1.BroadcastTypes,
140
+ startDate: extensions_core_1.DateTimeSchema.optional().transform((date) => {
141
+ if ((0, lodash_1.isNil)(date) || date === '')
142
+ return undefined;
143
+ // format is required: 2/1/2020 1:15PM',
144
+ return (0, format_1.default)(new Date(date), 'M/d/yyyy h:mmaa');
145
+ }),
146
+ maxMessageLength: zod_1.z.number().optional(),
147
+ callerID: zod_1.z.string().optional(),
148
+ phoneNumber: zod_1.z.string().transform((phone) => {
149
+ const parsedNumber = (0, libphonenumber_js_1.parsePhoneNumber)(phone);
150
+ return parsedNumber.format('NATIONAL'); // Returns "(XXX) XXX-XXXX" NANP format
151
+ }),
152
+ checkCallingWindow: zod_1.z.boolean().optional(),
153
+ continueOnNextDay: zod_1.z.boolean().optional(),
154
+ transferAndConnect: zod_1.z
155
+ .optional(zod_1.z.string())
156
+ .transform((0, validateJsonField_1.validateJsonField)(types_2.TransferSchema, 'Missing required transfer details fields. Required fields: transferNumber, transferMessage, transferDigit, transferIntroduction')),
157
+ audio: zod_1.z
158
+ .optional(zod_1.z.string())
159
+ .transform((0, validateJsonField_1.validateJsonField)(types_2.AudioSchema, 'Invalid audio details. Required fields: Uri, AudioID, Name, Description, Favorite, Shared, Length, MessageType, ReadOnly, Created, LastUsed, TextToSpeech, Text, Voice')),
160
+ audioVM: zod_1.z
161
+ .optional(zod_1.z.string())
162
+ .transform((0, validateJsonField_1.validateJsonField)(types_2.AudioSchema, 'Invalid audioVM details. Required fields: Uri, AudioID, Name, Description, Favorite, Shared, Length, MessageType, ReadOnly, Created, LastUsed, TextToSpeech, Text, Voice')),
163
+ retryTimes: zod_1.z.number().optional(),
164
+ callThrottle: zod_1.z.number().optional(),
165
+ });
166
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createCallBroadcast/config.ts"],"names":[],"mappings":";;;;;;AAAA,6BAAuB;AAEvB,mEAMsC;AAEtC,mCAAwC;AACxC,oCAAsD;AACtD,kEAA8D;AAC9D,yDAAoD;AACpD,6DAAoC;AACpC,mCAA8B;AAEjB,QAAA,MAAM,GAAG;IACpB,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,4BAA4B;KAC1C;IACD,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE;YACP,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjE,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;SACJ;KACF;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,+JAA+J;KAClK;IACD,gBAAgB,EAAE;QAChB,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,yGAAyG;KAC5G;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,2MAA2M;KAC9M;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,UAAU,EAAE,4BAAU,CAAC,KAAK;QAC5B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2DAA2D;KACzE;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,uHAAuH;KAC1H;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,uDAAuD;KACrE;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,uGAAuG;KAC1G;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,iLAAiL;KACpL;IACD,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,mFAAmF;KACtF;IACD,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,mHAAmH;KACtH;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,mJAAmJ;KACtJ;CACe,CAAA;AAEL,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE;QACX,GAAG,EAAE,aAAa;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD,eAAe,EAAE;QACf,GAAG,EAAE,iBAAiB;QACtB,SAAS,EAAE,QAAQ;KACpB;IACD,mBAAmB,EAAE;QACnB,GAAG,EAAE,qBAAqB;QAC1B,SAAS,EAAE,QAAQ;KACpB;IACD,uBAAuB,EAAE;QACvB,GAAG,EAAE,yBAAyB;QAC9B,SAAS,EAAE,QAAQ;KACpB;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,oBAAoB;QACzB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,aAAa,EAAE,sBAAc;IAC7B,SAAS,EAAE,gCAAc,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QACtD,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,SAAS,CAAA;QAChD,wCAAwC;QACxC,OAAO,IAAA,gBAAM,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAClD,CAAC,CAAC;IACF,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,IAAA,oCAAgB,EAAC,KAAK,CAAC,CAAA;QAC5C,OAAO,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA,CAAC,uCAAuC;IAChF,CAAC,CAAC;IACF,kBAAkB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,iBAAiB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,kBAAkB,EAAE,OAAC;SAClB,QAAQ,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACpB,SAAS,CACR,IAAA,qCAAiB,EACf,sBAAc,EACd,iIAAiI,CAClI,CACF;IACH,KAAK,EAAE,OAAC;SACL,QAAQ,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACpB,SAAS,CACR,IAAA,qCAAiB,EACf,mBAAW,EACX,wKAAwK,CACzK,CACF;IACH,OAAO,EAAE,OAAC;SACP,QAAQ,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACpB,SAAS,CACR,IAAA,qCAAiB,EACf,mBAAW,EACX,0KAA0K,CAC3K,CACF;IACH,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { fields, dataPoints } from './config';
3
+ import { type settings } from '../../settings';
4
+ export declare const createCallBroadcast: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCallBroadcast = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ const config_1 = require("./config");
7
+ const settings_1 = require("../../settings");
8
+ const lib_1 = require("../../lib");
9
+ exports.createCallBroadcast = {
10
+ key: 'createCallBroadcast',
11
+ title: 'Send a new call broadcast',
12
+ description: 'A broadcast is a feature that allows you to initiate a call to a recipient at specific time',
13
+ category: extensions_core_1.Category.COMMUNICATION,
14
+ fields: config_1.fields,
15
+ dataPoints: config_1.dataPoints,
16
+ previewable: false,
17
+ onEvent: async ({ payload, onComplete, onError, helpers }) => {
18
+ const { fields: { broadcastName: BroadcastName, broadcastType: BroadcastType, startDate: StartDate, callerID: CallerID, transferAndConnect: TransferAndConnect, audio: Audio, maxMessageLength: MaxMessageLength, retryTimes: RetryTimes, callThrottle: CallThrottle, checkCallingWindow: CheckCallingWindow, continueOnNextDay: ContinueOnNextDay, phoneNumber, }, settings, } = (0, extensions_core_1.validate)({
19
+ schema: zod_1.z.object({ fields: config_1.FieldsSchema, settings: settings_1.SettingsSchema }),
20
+ payload,
21
+ });
22
+ const client = new lib_1.TextEmAllClient(settings);
23
+ const request = {
24
+ BroadcastName,
25
+ BroadcastType,
26
+ StartDate,
27
+ CallerID,
28
+ TransferAndConnect,
29
+ Audio,
30
+ MaxMessageLength,
31
+ RetryTimes,
32
+ CallThrottle,
33
+ CheckCallingWindow,
34
+ ContinueOnNextDay,
35
+ Contacts: [{ PrimaryPhone: phoneNumber }],
36
+ };
37
+ const { data } = await client.createBroadcast(request);
38
+ await onComplete({
39
+ events: [
40
+ {
41
+ date: new Date().toISOString(),
42
+ text: { en: `Broadcast created. Response: ${JSON.stringify(data)}` },
43
+ },
44
+ ],
45
+ data_points: {
46
+ broadcastId: data.BroadcastID.toString(),
47
+ broadcastStatus: data.BroadcastStatus,
48
+ uriBroadcastDetails: data.UriBroadcastDetails,
49
+ broadcastStatusCategory: data.BroadcastStatusCategory,
50
+ broadcastStartDate: data.StartDate,
51
+ },
52
+ });
53
+ },
54
+ };
55
+ //# sourceMappingURL=createCallBroadcast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCallBroadcast.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createCallBroadcast/createCallBroadcast.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,mEAA+E;AAC/E,qCAA2D;AAC3D,6CAA8D;AAC9D,mCAA2C;AAE9B,QAAA,mBAAmB,GAI5B;IACF,GAAG,EAAE,qBAAqB;IAC1B,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,6FAA6F;IAC/F,QAAQ,EAAE,0BAAQ,CAAC,aAAa;IAChC,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3D,MAAM,EACJ,MAAM,EAAE,EACN,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,GACZ,EACD,QAAQ,GACT,GAAG,IAAA,0BAAQ,EAAC;YACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAY,EAAE,QAAQ,EAAE,yBAAc,EAAE,CAAC;YACpE,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,IAAI,qBAAe,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG;YACd,aAAa;YACb,aAAa;YACb,SAAS;YACT,QAAQ;YACR,kBAAkB;YAClB,KAAK;YACL,gBAAgB;YAChB,UAAU;YACV,YAAY;YACZ,kBAAkB;YAClB,iBAAiB;YACjB,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;SAC1C,CAAA;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,UAAU,CAAC;YACf,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,gCAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE;iBACrE;aACF;YACD,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACxC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;gBACrD,kBAAkB,EAAE,IAAI,CAAC,SAAS;aACnC;SACF,CAAC,CAAA;IACJ,CAAC;CAC+C,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './createCallBroadcast';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./createCallBroadcast"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createCallBroadcast/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC"}
@@ -0,0 +1,2 @@
1
+ import { z } from 'zod';
2
+ export declare const BroadcastTypes: z.ZodEnum<["Announcement", "Survey"]>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BroadcastTypes = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.BroadcastTypes = zod_1.z.enum(['Announcement', 'Survey']);
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createCallBroadcast/types.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,cAAc,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,55 @@
1
+ export declare const CreateSMSBroadcastMockResponse: {
2
+ status: number;
3
+ statusText: string;
4
+ headers: {
5
+ Location: string;
6
+ };
7
+ data: {
8
+ Uri: string;
9
+ UriBroadcastDetails: string;
10
+ BroadcastID: number;
11
+ BroadcastName: string;
12
+ BroadcastType: string;
13
+ BroadcastStatus: string;
14
+ BroadcastStatusCategory: string;
15
+ CreatedDate: string;
16
+ StartDate: string;
17
+ CompletedDate: null;
18
+ TextNumberID: string;
19
+ TextMessage: string;
20
+ CreditsUsed: null;
21
+ MaxCreditCost: number;
22
+ PhoneNumberCount: number;
23
+ TotalCompleted: number;
24
+ User: {
25
+ PinCode: null;
26
+ UserID: number;
27
+ UserName: null;
28
+ FirstName: null;
29
+ LastName: null;
30
+ Email: null;
31
+ Phone: null;
32
+ CallerID: null;
33
+ IsMasterUser: boolean;
34
+ AuthToken: null;
35
+ State: null;
36
+ Permissions: null;
37
+ };
38
+ RetryTimes: number;
39
+ CallThrottle: number;
40
+ LivePersonTotal: number;
41
+ AnsweringMachineTotal: number;
42
+ BusyNoAnswerTotal: number;
43
+ InvalidNumberTotal: number;
44
+ SurveyResponseTotal: number;
45
+ TransferTotal: number;
46
+ SurveyResponses: null;
47
+ MaxMessageLength: number;
48
+ MessageRecordingInstruction: null;
49
+ EstimatedDuration: number;
50
+ EstimatedCompletion: null;
51
+ ExcludedDaysIgnored: boolean;
52
+ CallingWindowIgnored: boolean;
53
+ NotEnoughTimeToComplete: boolean;
54
+ };
55
+ };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateSMSBroadcastMockResponse = void 0;
4
+ exports.CreateSMSBroadcastMockResponse = {
5
+ status: 200,
6
+ statusText: 'OK',
7
+ headers: {
8
+ Location: 'https://staging-rest.call-em-all.com/v1/broadcasts',
9
+ },
10
+ data: {
11
+ Uri: '/v1/broadcasts/10006607',
12
+ UriBroadcastDetails: '/v1/broadcasts/10006607/details',
13
+ BroadcastID: 10006607,
14
+ BroadcastName: 'testBroadcast',
15
+ BroadcastType: 'SMS',
16
+ BroadcastStatus: 'AuthorizationApproved',
17
+ BroadcastStatusCategory: 'Scheduled',
18
+ CreatedDate: '2020-11-20 14:04:09-0600',
19
+ StartDate: '2025-01-02 13:15:00-0000',
20
+ CompletedDate: null,
21
+ TextNumberID: '2142960678',
22
+ TextMessage: 'This is a test text message. Please reply.',
23
+ CreditsUsed: null,
24
+ MaxCreditCost: 1,
25
+ PhoneNumberCount: 1,
26
+ TotalCompleted: 0,
27
+ User: {
28
+ PinCode: null,
29
+ UserID: 215790,
30
+ UserName: null,
31
+ FirstName: null,
32
+ LastName: null,
33
+ Email: null,
34
+ Phone: null,
35
+ CallerID: null,
36
+ IsMasterUser: false,
37
+ AuthToken: null,
38
+ State: null,
39
+ Permissions: null,
40
+ },
41
+ RetryTimes: 1,
42
+ CallThrottle: 0,
43
+ LivePersonTotal: 0,
44
+ AnsweringMachineTotal: 0,
45
+ BusyNoAnswerTotal: 0,
46
+ InvalidNumberTotal: 0,
47
+ SurveyResponseTotal: 0,
48
+ TransferTotal: 0,
49
+ SurveyResponses: null,
50
+ MaxMessageLength: 30,
51
+ MessageRecordingInstruction: null,
52
+ EstimatedDuration: 0,
53
+ EstimatedCompletion: null,
54
+ ExcludedDaysIgnored: false,
55
+ CallingWindowIgnored: false,
56
+ NotEnoughTimeToComplete: false,
57
+ },
58
+ };
59
+ //# sourceMappingURL=CreateSMSBroadcast.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateSMSBroadcast.mock.js","sourceRoot":"","sources":["../../../../../../extensions/text-em-all/actions/createSMSBroadcast/__testdata__/CreateSMSBroadcast.mock.ts"],"names":[],"mappings":";;;AAEa,QAAA,8BAA8B,GAAG;IAC5C,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE;QACP,QAAQ,EAAE,oDAAoD;KAC/D;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,yBAAyB;QAC9B,mBAAmB,EAAE,iCAAiC;QACtD,WAAW,EAAE,QAAQ;QACrB,aAAa,EAAE,eAAe;QAC9B,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,uBAAuB;QACxC,uBAAuB,EAAE,WAAW;QACpC,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,0BAA0B;QACrC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,CAAC;QACjB,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI;SAClB;QACD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;QAClB,qBAAqB,EAAE,CAAC;QACxB,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,mBAAmB,EAAE,CAAC;QACtB,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,EAAE;QACpB,2BAA2B,EAAE,IAAI;QACjC,iBAAiB,EAAE,CAAC;QACpB,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,uBAAuB,EAAE,KAAK;KAC/B;CAC+B,CAAA"}
@@ -0,0 +1,82 @@
1
+ import { z } from 'zod';
2
+ import { FieldType, StringType } from '@awell-health/extensions-core';
3
+ export declare const fields: {
4
+ broadcastName: {
5
+ id: string;
6
+ label: string;
7
+ type: FieldType.STRING;
8
+ required: true;
9
+ description: string;
10
+ };
11
+ phoneNumber: {
12
+ id: string;
13
+ label: string;
14
+ type: FieldType.STRING;
15
+ stringType: StringType.PHONE;
16
+ required: true;
17
+ description: string;
18
+ };
19
+ textMessage: {
20
+ id: string;
21
+ label: string;
22
+ type: FieldType.TEXT;
23
+ required: true;
24
+ description: string;
25
+ };
26
+ textNumberID: {
27
+ id: string;
28
+ label: string;
29
+ type: FieldType.NUMERIC;
30
+ required: false;
31
+ description: string;
32
+ };
33
+ startDate: {
34
+ id: string;
35
+ label: string;
36
+ type: FieldType.DATE;
37
+ required: false;
38
+ description: string;
39
+ };
40
+ };
41
+ export declare const dataPoints: {
42
+ broadcastId: {
43
+ key: string;
44
+ valueType: "number";
45
+ };
46
+ broadcastStatus: {
47
+ key: string;
48
+ valueType: "string";
49
+ };
50
+ uriBroadcastDetails: {
51
+ key: string;
52
+ valueType: "string";
53
+ };
54
+ broadcastStatusCategory: {
55
+ key: string;
56
+ valueType: "string";
57
+ };
58
+ broadcastStartDate: {
59
+ key: string;
60
+ valueType: "string";
61
+ };
62
+ };
63
+ export declare const FieldsSchema: z.ZodObject<{
64
+ broadcastName: z.ZodString;
65
+ phoneNumber: z.ZodEffects<z.ZodString, string, string>;
66
+ textMessage: z.ZodString;
67
+ textNumberID: z.ZodOptional<z.ZodNumber>;
68
+ startDate: z.ZodEffects<z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>, string | undefined, Date | undefined>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ phoneNumber: string;
71
+ broadcastName: string;
72
+ textMessage: string;
73
+ startDate?: string | undefined;
74
+ textNumberID?: number | undefined;
75
+ }, {
76
+ phoneNumber: string;
77
+ broadcastName: string;
78
+ textMessage: string;
79
+ startDate?: Date | undefined;
80
+ textNumberID?: number | undefined;
81
+ }>;
82
+ export type ActionFields = z.infer<typeof FieldsSchema>;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FieldsSchema = exports.dataPoints = exports.fields = void 0;
7
+ const zod_1 = require("zod");
8
+ const extensions_core_1 = require("@awell-health/extensions-core");
9
+ const libphonenumber_js_1 = require("libphonenumber-js");
10
+ const lodash_1 = require("lodash");
11
+ const format_1 = __importDefault(require("date-fns/format"));
12
+ exports.fields = {
13
+ broadcastName: {
14
+ id: 'broadcastName',
15
+ label: 'Broadcast Name',
16
+ type: extensions_core_1.FieldType.STRING,
17
+ required: true,
18
+ description: 'The name of the broadcast.',
19
+ },
20
+ phoneNumber: {
21
+ id: 'phoneNumber',
22
+ label: 'Phone Number',
23
+ type: extensions_core_1.FieldType.STRING,
24
+ stringType: extensions_core_1.StringType.PHONE,
25
+ required: true,
26
+ description: 'The primary phone number of the recipient. Must be a valid North American Numbering Plan (NANP) phone number.',
27
+ },
28
+ textMessage: {
29
+ id: 'textMessage',
30
+ label: 'Text Message',
31
+ type: extensions_core_1.FieldType.TEXT,
32
+ required: true,
33
+ description: 'The text of the message for a text type broadcast. The max length is based on the setting in your account.',
34
+ },
35
+ textNumberID: {
36
+ id: 'textNumberID',
37
+ label: 'Text Number ID',
38
+ type: extensions_core_1.FieldType.NUMERIC,
39
+ required: false,
40
+ description: 'The ID of the text number your messages will be sent from. If omitted, the default text number on your account will be used.',
41
+ },
42
+ startDate: {
43
+ id: 'startDate',
44
+ label: 'Start Date',
45
+ type: extensions_core_1.FieldType.DATE,
46
+ required: false,
47
+ description: 'The time the broadcast should start. Will default to start immediately. If provided must be a datetime as ISO 8601 string and time to send the message in UTC',
48
+ },
49
+ };
50
+ exports.dataPoints = {
51
+ broadcastId: {
52
+ key: 'broadcastId',
53
+ valueType: 'number',
54
+ },
55
+ broadcastStatus: {
56
+ key: 'broadcastStatus',
57
+ valueType: 'string',
58
+ },
59
+ uriBroadcastDetails: {
60
+ key: 'uriBroadcastDetails',
61
+ valueType: 'string',
62
+ },
63
+ broadcastStatusCategory: {
64
+ key: 'broadcastStatusCategory',
65
+ valueType: 'string',
66
+ },
67
+ broadcastStartDate: {
68
+ key: 'broadcastStartDate',
69
+ valueType: 'string',
70
+ },
71
+ };
72
+ exports.FieldsSchema = zod_1.z.object({
73
+ broadcastName: zod_1.z.string(),
74
+ phoneNumber: zod_1.z.string().transform((phone) => {
75
+ const parsedNumber = (0, libphonenumber_js_1.parsePhoneNumber)(phone);
76
+ return parsedNumber.format('NATIONAL'); // Returns "(XXX) XXX-XXXX" NANP format
77
+ }),
78
+ textMessage: zod_1.z.string(),
79
+ textNumberID: zod_1.z.number().optional(),
80
+ startDate: extensions_core_1.DateTimeSchema.optional().transform((date) => {
81
+ if ((0, lodash_1.isNil)(date) || date === '')
82
+ return undefined;
83
+ // format is required: 2/1/2020 1:15PM',
84
+ return (0, format_1.default)(new Date(date), 'M/d/yyyy h:mmaa');
85
+ }),
86
+ });
87
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createSMSBroadcast/config.ts"],"names":[],"mappings":";;;;;;AAAA,6BAAuB;AAEvB,mEAMsC;AACtC,yDAAoD;AACpD,mCAA8B;AAC9B,6DAAoC;AAEvB,QAAA,MAAM,GAAG;IACpB,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,4BAA4B;KAC1C;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,UAAU,EAAE,4BAAU,CAAC,KAAK;QAC5B,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,+GAA+G;KAClH;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,4GAA4G;KAC/G;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,8HAA8H;KACjI;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,+JAA+J;KAClK;CACe,CAAA;AAEL,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE;QACX,GAAG,EAAE,aAAa;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD,eAAe,EAAE;QACf,GAAG,EAAE,iBAAiB;QACtB,SAAS,EAAE,QAAQ;KACpB;IACD,mBAAmB,EAAE;QACnB,GAAG,EAAE,qBAAqB;QAC1B,SAAS,EAAE,QAAQ;KACpB;IACD,uBAAuB,EAAE;QACvB,GAAG,EAAE,yBAAyB;QAC9B,SAAS,EAAE,QAAQ;KACpB;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,oBAAoB;QACzB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,IAAA,oCAAgB,EAAC,KAAK,CAAC,CAAA;QAC5C,OAAO,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA,CAAC,uCAAuC;IAChF,CAAC,CAAC;IACF,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,gCAAc,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QACtD,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,SAAS,CAAA;QAChD,wCAAwC;QACxC,OAAO,IAAA,gBAAM,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAClD,CAAC,CAAC;CACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { fields, dataPoints } from './config';
3
+ import { type settings } from '../../settings';
4
+ export declare const createSMSBroadcast: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSMSBroadcast = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ const config_1 = require("./config");
7
+ const settings_1 = require("../../settings");
8
+ const lib_1 = require("../../lib");
9
+ exports.createSMSBroadcast = {
10
+ key: 'createSMSBroadcast',
11
+ title: 'Send a new SMS broadcast',
12
+ description: 'A broadcast is a feature that allows you to send a text message to a recipient at specific time',
13
+ category: extensions_core_1.Category.COMMUNICATION,
14
+ fields: config_1.fields,
15
+ dataPoints: config_1.dataPoints,
16
+ previewable: false,
17
+ onEvent: async ({ payload, onComplete, onError, helpers }) => {
18
+ const { fields: { broadcastName: BroadcastName, phoneNumber, textMessage: TextMessage, textNumberID: TextNumberID, startDate: StartDate, }, settings, } = (0, extensions_core_1.validate)({
19
+ schema: zod_1.z.object({ fields: config_1.FieldsSchema, settings: settings_1.SettingsSchema }),
20
+ payload,
21
+ });
22
+ const client = new lib_1.TextEmAllClient(settings);
23
+ const request = {
24
+ BroadcastName,
25
+ BroadcastType: 'SMS',
26
+ TextMessage,
27
+ TextNumberID,
28
+ StartDate,
29
+ Contacts: [{ PrimaryPhone: phoneNumber }],
30
+ };
31
+ const { data } = await client.createBroadcast(request);
32
+ await onComplete({
33
+ events: [
34
+ {
35
+ date: new Date().toISOString(),
36
+ text: { en: `Broadcast created. Response: ${JSON.stringify(data)}` },
37
+ },
38
+ ],
39
+ data_points: {
40
+ broadcastId: data.BroadcastID.toString(),
41
+ broadcastStatus: data.BroadcastStatus,
42
+ uriBroadcastDetails: data.UriBroadcastDetails,
43
+ broadcastStatusCategory: data.BroadcastStatusCategory,
44
+ broadcastStartDate: data.StartDate,
45
+ },
46
+ });
47
+ },
48
+ };
49
+ //# sourceMappingURL=createSMSBroadcast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSMSBroadcast.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createSMSBroadcast/createSMSBroadcast.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,mEAA+E;AAC/E,qCAA2D;AAC3D,6CAA8D;AAC9D,mCAA2C;AAE9B,QAAA,kBAAkB,GAI3B;IACF,GAAG,EAAE,oBAAoB;IACzB,KAAK,EAAE,0BAA0B;IACjC,WAAW,EACT,iGAAiG;IACnG,QAAQ,EAAE,0BAAQ,CAAC,aAAa;IAChC,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAiB,EAAE;QAC1E,MAAM,EACJ,MAAM,EAAE,EACN,aAAa,EAAE,aAAa,EAC5B,WAAW,EACX,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,GACrB,EACD,QAAQ,GACT,GAAG,IAAA,0BAAQ,EAAC;YACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAY,EAAE,QAAQ,EAAE,yBAAc,EAAE,CAAC;YACpE,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,IAAI,qBAAe,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG;YACd,aAAa;YACb,aAAa,EAAE,KAAK;YACpB,WAAW;YACX,YAAY;YACZ,SAAS;YACT,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;SAC1C,CAAA;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,UAAU,CAAC;YACf,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,gCAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE;iBACrE;aACF;YACD,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACxC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;gBACrD,kBAAkB,EAAE,IAAI,CAAC,SAAS;aACnC;SACF,CAAC,CAAA;IACJ,CAAC;CAC+C,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './createSMSBroadcast';