@awell-health/awell-extensions 2.1.90 → 2.1.92

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.
@@ -184,9 +184,9 @@ export declare const FieldsSchema: z.ZodObject<{
184
184
  broadcastName: string;
185
185
  broadcastType: "Announcement" | "Survey";
186
186
  startDate?: string | undefined;
187
+ checkCallingWindow?: boolean | undefined;
187
188
  maxMessageLength?: number | undefined;
188
189
  callerID?: string | undefined;
189
- checkCallingWindow?: boolean | undefined;
190
190
  continueOnNextDay?: boolean | undefined;
191
191
  transferAndConnect?: {
192
192
  transferNumber: string;
@@ -241,9 +241,9 @@ export declare const FieldsSchema: z.ZodObject<{
241
241
  broadcastName: string;
242
242
  broadcastType: "Announcement" | "Survey";
243
243
  startDate?: Date | undefined;
244
+ checkCallingWindow?: boolean | undefined;
244
245
  maxMessageLength?: number | undefined;
245
246
  callerID?: string | undefined;
246
- checkCallingWindow?: boolean | undefined;
247
247
  continueOnNextDay?: boolean | undefined;
248
248
  transferAndConnect?: string | undefined;
249
249
  audio?: string | undefined;
@@ -13,7 +13,35 @@ export declare const fields: {
13
13
  label: string;
14
14
  type: FieldType.STRING;
15
15
  stringType: StringType.PHONE;
16
- required: true;
16
+ required: false;
17
+ description: string;
18
+ };
19
+ firstName: {
20
+ id: string;
21
+ label: string;
22
+ type: FieldType.STRING;
23
+ required: false;
24
+ description: string;
25
+ };
26
+ lastName: {
27
+ id: string;
28
+ label: string;
29
+ type: FieldType.STRING;
30
+ required: false;
31
+ description: string;
32
+ };
33
+ notes: {
34
+ id: string;
35
+ label: string;
36
+ type: FieldType.STRING;
37
+ required: false;
38
+ description: string;
39
+ };
40
+ integrationData: {
41
+ id: string;
42
+ label: string;
43
+ type: FieldType.STRING;
44
+ required: false;
17
45
  description: string;
18
46
  };
19
47
  textMessage: {
@@ -37,6 +65,13 @@ export declare const fields: {
37
65
  required: false;
38
66
  description: string;
39
67
  };
68
+ checkCallingWindow: {
69
+ id: string;
70
+ label: string;
71
+ type: FieldType.BOOLEAN;
72
+ required: false;
73
+ description: string;
74
+ };
40
75
  };
41
76
  /**
42
77
  * Result types for SMS broadcast creation.
@@ -51,6 +86,14 @@ export declare const DeliveryResultType: {
51
86
  };
52
87
  export type DeliveryResult = (typeof DeliveryResultType)[keyof typeof DeliveryResultType];
53
88
  export declare const dataPoints: {
89
+ /**
90
+ * Whether the SMS was sent successfully.
91
+ * true = message sent to carrier, false = failed (invalid number, opted out, etc.)
92
+ */
93
+ success: {
94
+ key: string;
95
+ valueType: "boolean";
96
+ };
54
97
  broadcastId: {
55
98
  key: string;
56
99
  valueType: "number";
@@ -91,23 +134,79 @@ export declare const dataPoints: {
91
134
  valueType: "string";
92
135
  };
93
136
  };
137
+ /** Schema for raw field extraction (no transforms, just type checking) */
94
138
  export declare const FieldsSchema: z.ZodObject<{
139
+ broadcastName: z.ZodString;
140
+ phoneNumber: z.ZodOptional<z.ZodString>;
141
+ firstName: z.ZodOptional<z.ZodString>;
142
+ lastName: z.ZodOptional<z.ZodString>;
143
+ notes: z.ZodOptional<z.ZodString>;
144
+ integrationData: z.ZodOptional<z.ZodString>;
145
+ textMessage: z.ZodString;
146
+ textNumberID: z.ZodOptional<z.ZodNumber>;
147
+ startDate: z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>;
148
+ checkCallingWindow: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
149
+ }, "strip", z.ZodTypeAny, {
150
+ broadcastName: string;
151
+ textMessage: string;
152
+ checkCallingWindow: boolean;
153
+ firstName?: string | undefined;
154
+ lastName?: string | undefined;
155
+ phoneNumber?: string | undefined;
156
+ notes?: string | undefined;
157
+ startDate?: string | undefined;
158
+ integrationData?: string | undefined;
159
+ textNumberID?: number | undefined;
160
+ }, {
161
+ broadcastName: string;
162
+ textMessage: string;
163
+ firstName?: string | undefined;
164
+ lastName?: string | undefined;
165
+ phoneNumber?: string | undefined;
166
+ notes?: string | undefined;
167
+ startDate?: Date | undefined;
168
+ integrationData?: string | undefined;
169
+ textNumberID?: number | undefined;
170
+ checkCallingWindow?: boolean | undefined;
171
+ }>;
172
+ export type ActionFields = z.infer<typeof FieldsSchema>;
173
+ /**
174
+ * Schema for the final resolved broadcast input — after patient profile
175
+ * fallbacks have been applied. This is where all transforms and
176
+ * required-field checks live so everything is validated in one pass.
177
+ */
178
+ export declare const BroadcastInputSchema: z.ZodObject<{
95
179
  broadcastName: z.ZodString;
96
180
  phoneNumber: z.ZodEffects<z.ZodString, string, string>;
181
+ firstName: z.ZodOptional<z.ZodString>;
182
+ lastName: z.ZodOptional<z.ZodString>;
183
+ notes: z.ZodOptional<z.ZodString>;
184
+ integrationData: z.ZodOptional<z.ZodString>;
97
185
  textMessage: z.ZodString;
98
186
  textNumberID: z.ZodOptional<z.ZodNumber>;
99
- startDate: z.ZodEffects<z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>, string | undefined, Date | undefined>;
187
+ startDate: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
188
+ checkCallingWindow: z.ZodBoolean;
100
189
  }, "strip", z.ZodTypeAny, {
101
190
  phoneNumber: string;
102
191
  broadcastName: string;
103
192
  textMessage: string;
193
+ checkCallingWindow: boolean;
194
+ firstName?: string | undefined;
195
+ lastName?: string | undefined;
196
+ notes?: string | undefined;
104
197
  startDate?: string | undefined;
198
+ integrationData?: string | undefined;
105
199
  textNumberID?: number | undefined;
106
200
  }, {
107
201
  phoneNumber: string;
108
202
  broadcastName: string;
109
203
  textMessage: string;
110
- startDate?: Date | undefined;
204
+ checkCallingWindow: boolean;
205
+ firstName?: string | undefined;
206
+ lastName?: string | undefined;
207
+ notes?: string | undefined;
208
+ startDate?: string | undefined;
209
+ integrationData?: string | undefined;
111
210
  textNumberID?: number | undefined;
112
211
  }>;
113
- export type ActionFields = z.infer<typeof FieldsSchema>;
212
+ export type BroadcastInput = z.infer<typeof BroadcastInputSchema>;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FieldsSchema = exports.dataPoints = exports.DeliveryResultType = exports.fields = void 0;
6
+ exports.BroadcastInputSchema = exports.FieldsSchema = exports.dataPoints = exports.DeliveryResultType = exports.fields = void 0;
7
7
  const zod_1 = require("zod");
8
8
  const extensions_core_1 = require("@awell-health/extensions-core");
9
9
  const libphonenumber_js_1 = require("libphonenumber-js");
@@ -22,8 +22,36 @@ exports.fields = {
22
22
  label: 'Phone Number',
23
23
  type: extensions_core_1.FieldType.STRING,
24
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.',
25
+ required: false,
26
+ description: 'The primary phone number of the recipient. Must be a valid NANP phone number. If omitted, falls back to the patient mobile phone from their profile.',
27
+ },
28
+ firstName: {
29
+ id: 'firstName',
30
+ label: 'First Name',
31
+ type: extensions_core_1.FieldType.STRING,
32
+ required: false,
33
+ description: 'The first name of the contact. If omitted, falls back to the patient first name from their profile.',
34
+ },
35
+ lastName: {
36
+ id: 'lastName',
37
+ label: 'Last Name',
38
+ type: extensions_core_1.FieldType.STRING,
39
+ required: false,
40
+ description: 'The last name of the contact. If omitted, falls back to the patient last name from their profile.',
41
+ },
42
+ notes: {
43
+ id: 'notes',
44
+ label: 'Notes',
45
+ type: extensions_core_1.FieldType.STRING,
46
+ required: false,
47
+ description: 'Notes about the contact (e.g., "Eligibility form from Awell").',
48
+ },
49
+ integrationData: {
50
+ id: 'integrationData',
51
+ label: 'Integration Data',
52
+ type: extensions_core_1.FieldType.STRING,
53
+ required: false,
54
+ description: 'Extra field for integration information.',
27
55
  },
28
56
  textMessage: {
29
57
  id: 'textMessage',
@@ -46,6 +74,13 @@ exports.fields = {
46
74
  required: false,
47
75
  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
76
  },
77
+ checkCallingWindow: {
78
+ id: 'checkCallingWindow',
79
+ label: 'Check Calling Window',
80
+ type: extensions_core_1.FieldType.BOOLEAN,
81
+ required: false,
82
+ description: 'Whether to enforce the calling window restrictions. Defaults to false.',
83
+ },
49
84
  };
50
85
  /**
51
86
  * Result types for SMS broadcast creation.
@@ -59,6 +94,14 @@ exports.DeliveryResultType = {
59
94
  FAILED: 'failed',
60
95
  };
61
96
  exports.dataPoints = {
97
+ /**
98
+ * Whether the SMS was sent successfully.
99
+ * true = message sent to carrier, false = failed (invalid number, opted out, etc.)
100
+ */
101
+ success: {
102
+ key: 'success',
103
+ valueType: 'boolean',
104
+ },
62
105
  broadcastId: {
63
106
  key: 'broadcastId',
64
107
  valueType: 'number',
@@ -99,19 +142,45 @@ exports.dataPoints = {
99
142
  valueType: 'string',
100
143
  },
101
144
  };
145
+ /** Schema for raw field extraction (no transforms, just type checking) */
102
146
  exports.FieldsSchema = zod_1.z.object({
147
+ broadcastName: zod_1.z.string(),
148
+ phoneNumber: zod_1.z.string().optional(),
149
+ firstName: zod_1.z.string().optional(),
150
+ lastName: zod_1.z.string().optional(),
151
+ notes: zod_1.z.string().optional(),
152
+ integrationData: zod_1.z.string().optional(),
153
+ textMessage: zod_1.z.string(),
154
+ textNumberID: zod_1.z.number().optional(),
155
+ startDate: extensions_core_1.DateTimeSchema.optional(),
156
+ checkCallingWindow: zod_1.z.boolean().optional().default(false),
157
+ });
158
+ /**
159
+ * Schema for the final resolved broadcast input — after patient profile
160
+ * fallbacks have been applied. This is where all transforms and
161
+ * required-field checks live so everything is validated in one pass.
162
+ */
163
+ exports.BroadcastInputSchema = zod_1.z.object({
103
164
  broadcastName: zod_1.z.string(),
104
165
  phoneNumber: zod_1.z.string().transform((phone) => {
105
- const parsedNumber = (0, libphonenumber_js_1.parsePhoneNumber)(phone);
106
- return parsedNumber.format('NATIONAL'); // Returns "(XXX) XXX-XXXX" NANP format
166
+ const parsed = (0, libphonenumber_js_1.parsePhoneNumber)(phone);
167
+ return parsed.format('NATIONAL'); // "(XXX) XXX-XXXX" NANP format
107
168
  }),
169
+ firstName: zod_1.z.string().optional(),
170
+ lastName: zod_1.z.string().optional(),
171
+ notes: zod_1.z.string().optional(),
172
+ integrationData: zod_1.z.string().optional(),
108
173
  textMessage: zod_1.z.string(),
109
174
  textNumberID: zod_1.z.number().optional(),
110
- startDate: extensions_core_1.DateTimeSchema.optional().transform((date) => {
175
+ startDate: zod_1.z
176
+ .string()
177
+ .optional()
178
+ .transform((date) => {
111
179
  if ((0, lodash_1.isNil)(date) || date === '')
112
180
  return undefined;
113
- // format is required: 2/1/2020 1:15PM',
181
+ // format required by Text-Em-All: '2/1/2020 1:15PM'
114
182
  return (0, format_1.default)(new Date(date), 'M/d/yyyy h:mmaa');
115
183
  }),
184
+ checkCallingWindow: zod_1.z.boolean(),
116
185
  });
117
186
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createSMSBroadcast/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createSMSBroadcast/config.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const extensions_core_1 = require("@awell-health/extensions-core");
6
6
  const config_1 = require("./config");
7
7
  const settings_1 = require("../../settings");
8
8
  const lib_1 = require("../../lib");
9
+ const lodash_1 = require("lodash");
9
10
  /**
10
11
  * Known Text-Em-All error codes and their meanings.
11
12
  */
@@ -16,14 +17,13 @@ const ERROR_CODES = {
16
17
  * Determines the delivery result based on an error response.
17
18
  */
18
19
  function getResultFromError(errorCode, errorName, message) {
19
- // Handle known error codes
20
- if (errorCode === ERROR_CODES.NO_VALID_CONTACTS || errorName === 'NoValidBroadcastContacts') {
20
+ if (errorCode === ERROR_CODES.NO_VALID_CONTACTS ||
21
+ errorName === 'NoValidBroadcastContacts') {
21
22
  return {
22
23
  result: config_1.DeliveryResultType.INVALID_NUMBER,
23
24
  details: message !== null && message !== void 0 ? message : 'Phone number is invalid or recipient cannot receive text messages',
24
25
  };
25
26
  }
26
- // Default for unknown errors
27
27
  return {
28
28
  result: config_1.DeliveryResultType.FAILED,
29
29
  details: message !== null && message !== void 0 ? message : 'Broadcast creation failed',
@@ -37,20 +37,88 @@ exports.createSMSBroadcast = {
37
37
  fields: config_1.fields,
38
38
  dataPoints: config_1.dataPoints,
39
39
  previewable: true,
40
- onEvent: async ({ payload, onComplete, onError }) => {
41
- const { fields: { broadcastName: BroadcastName, phoneNumber, textMessage: TextMessage, textNumberID: TextNumberID, startDate: StartDate, }, settings, } = (0, extensions_core_1.validate)({
40
+ onEvent: async ({ payload, onComplete, onError, helpers: { log }, }) => {
41
+ var _a, _b;
42
+ // Step 1: Extract raw field values and settings
43
+ const { fields: rawFields, settings } = (0, extensions_core_1.validate)({
42
44
  schema: zod_1.z.object({ fields: config_1.FieldsSchema, settings: settings_1.SettingsSchema }),
43
45
  payload,
44
46
  });
45
- const client = new lib_1.TextEmAllClient(settings);
47
+ const patientProfile = (_a = payload.patient) === null || _a === void 0 ? void 0 : _a.profile;
48
+ // Step 2: Resolve values — fields take priority, patient profile is fallback
49
+ let phoneNumber = rawFields.phoneNumber;
50
+ if ((0, lodash_1.isEmpty)(phoneNumber)) {
51
+ phoneNumber =
52
+ (_b = patientProfile === null || patientProfile === void 0 ? void 0 : patientProfile.mobile_phone) !== null && _b !== void 0 ? _b : patientProfile === null || patientProfile === void 0 ? void 0 : patientProfile.phone;
53
+ if ((0, lodash_1.isEmpty)(phoneNumber)) {
54
+ await onError({
55
+ events: [
56
+ {
57
+ date: new Date().toISOString(),
58
+ text: {
59
+ en: 'No phone number provided and no mobile phone found on patient profile.',
60
+ },
61
+ error: {
62
+ category: 'WRONG_INPUT',
63
+ message: 'No phone number provided and no mobile phone found on patient profile',
64
+ },
65
+ },
66
+ ],
67
+ });
68
+ return;
69
+ }
70
+ log({ source: 'patient_profile', field: 'mobile_phone' }, 'Phone number not provided — using patient profile mobile phone');
71
+ }
72
+ let firstName = rawFields.firstName;
73
+ if ((0, lodash_1.isEmpty)(firstName) && !(0, lodash_1.isEmpty)(patientProfile === null || patientProfile === void 0 ? void 0 : patientProfile.first_name)) {
74
+ firstName = patientProfile === null || patientProfile === void 0 ? void 0 : patientProfile.first_name;
75
+ log({ source: 'patient_profile', field: 'first_name' }, 'First name not provided — using patient profile first name');
76
+ }
77
+ let lastName = rawFields.lastName;
78
+ if ((0, lodash_1.isEmpty)(lastName) && !(0, lodash_1.isEmpty)(patientProfile === null || patientProfile === void 0 ? void 0 : patientProfile.last_name)) {
79
+ lastName = patientProfile === null || patientProfile === void 0 ? void 0 : patientProfile.last_name;
80
+ log({ source: 'patient_profile', field: 'last_name' }, 'Last name not provided — using patient profile last name');
81
+ }
82
+ // Step 3: Validate the resolved input (NANP phone format, date transform, etc.)
83
+ const input = config_1.BroadcastInputSchema.parse({
84
+ broadcastName: rawFields.broadcastName,
85
+ phoneNumber,
86
+ firstName,
87
+ lastName,
88
+ notes: rawFields.notes,
89
+ integrationData: rawFields.integrationData,
90
+ textMessage: rawFields.textMessage,
91
+ textNumberID: rawFields.textNumberID,
92
+ startDate: rawFields.startDate,
93
+ checkCallingWindow: rawFields.checkCallingWindow,
94
+ });
95
+ // Step 4: Build the API request
96
+ const contact = {
97
+ PrimaryPhone: input.phoneNumber,
98
+ };
99
+ if (!(0, lodash_1.isEmpty)(input.firstName)) {
100
+ contact.FirstName = input.firstName;
101
+ }
102
+ if (!(0, lodash_1.isEmpty)(input.lastName)) {
103
+ contact.LastName = input.lastName;
104
+ }
105
+ if (!(0, lodash_1.isEmpty)(input.notes)) {
106
+ contact.Notes = input.notes;
107
+ }
108
+ if (!(0, lodash_1.isEmpty)(input.integrationData)) {
109
+ contact.IntegrationData = input.integrationData;
110
+ }
46
111
  const request = {
47
- BroadcastName,
112
+ BroadcastName: input.broadcastName,
48
113
  BroadcastType: 'SMS',
49
- TextMessage,
50
- TextNumberID,
51
- StartDate,
52
- Contacts: [{ PrimaryPhone: phoneNumber }],
114
+ TextMessage: input.textMessage,
115
+ TextNumberID: input.textNumberID,
116
+ StartDate: input.startDate,
117
+ CheckCallingWindow: input.checkCallingWindow,
118
+ Contacts: [contact],
53
119
  };
120
+ // Step 5: Send to Text-Em-All
121
+ const client = new lib_1.TextEmAllClient(settings);
54
122
  const resp = await client.createBroadcast(request);
55
123
  const data = resp.data;
56
124
  // Success - broadcast created
@@ -59,12 +127,11 @@ exports.createSMSBroadcast = {
59
127
  events: [
60
128
  {
61
129
  date: new Date().toISOString(),
62
- text: {
63
- en: `SMS broadcast created successfully`,
64
- },
130
+ text: { en: 'SMS broadcast created successfully' },
65
131
  },
66
132
  ],
67
133
  data_points: {
134
+ success: 'true',
68
135
  broadcastId: data.BroadcastID.toString(),
69
136
  broadcastStatus: data.BroadcastStatus,
70
137
  uriBroadcastDetails: data.UriBroadcastDetails,
@@ -76,7 +143,7 @@ exports.createSMSBroadcast = {
76
143
  });
77
144
  return;
78
145
  }
79
- // Handle rate limiting (429)
146
+ // Rate limiting (429) — transient, retry may help
80
147
  if (resp.status === 429) {
81
148
  await onError({
82
149
  events: [
@@ -92,21 +159,19 @@ exports.createSMSBroadcast = {
92
159
  });
93
160
  return;
94
161
  }
95
- // Handle API errors (400, etc.) - these are valid results, not failures
162
+ // API errors (400, etc.) valid triage data, not a retry candidate
96
163
  if ('ErrorCode' in data || 'ErrorName' in data || 'Message' in data) {
97
164
  const errorData = data;
98
165
  const { result, details } = getResultFromError(errorData.ErrorCode, errorData.ErrorName, errorData.Message);
99
- // Return as success with the error result - this is valid triage data
100
166
  await onComplete({
101
167
  events: [
102
168
  {
103
169
  date: new Date().toISOString(),
104
- text: {
105
- en: `SMS broadcast result: ${result} - ${details}`,
106
- },
170
+ text: { en: `SMS broadcast result: ${result} - ${details}` },
107
171
  },
108
172
  ],
109
173
  data_points: {
174
+ success: 'false',
110
175
  broadcastId: '',
111
176
  broadcastStatus: '',
112
177
  uriBroadcastDetails: '',
@@ -1 +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,qCAKiB;AACjB,6CAA8D;AAC9D,mCAA2C;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,iBAAiB,EAAE,IAAI,EAAE,wDAAwD;CACzE,CAAA;AAEV;;GAEG;AACH,SAAS,kBAAkB,CAAC,SAAkB,EAAE,SAAkB,EAAE,OAAgB;IAIlF,2BAA2B;IAC3B,IAAI,SAAS,KAAK,WAAW,CAAC,iBAAiB,IAAI,SAAS,KAAK,0BAA0B,EAAE,CAAC;QAC5F,OAAO;YACL,MAAM,EAAE,2BAAkB,CAAC,cAAc;YACzC,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,mEAAmE;SACxF,CAAA;IACH,CAAC;IAED,6BAA6B;IAC7B,OAAO;QACL,MAAM,EAAE,2BAAkB,CAAC,MAAM;QACjC,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,2BAA2B;KAChD,CAAA;AACH,CAAC;AAEY,QAAA,kBAAkB,GAI3B;IACF,GAAG,EAAE,oBAAoB;IACzB,KAAK,EAAE,0BAA0B;IACjC,WAAW,EACT,2HAA2H;IAC7H,QAAQ,EAAE,0BAAQ,CAAC,aAAa;IAChC,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAiB,EAAE;QACjE,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,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAEtB,8BAA8B;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YACjD,MAAM,UAAU,CAAC;gBACf,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE;4BACJ,EAAE,EAAE,oCAAoC;yBACzC;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBACxC,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;oBAC7C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;oBACrD,kBAAkB,EAAE,IAAI,CAAC,SAAS;oBAClC,cAAc,EAAE,2BAAkB,CAAC,IAAI;oBACvC,qBAAqB,EAAE,sCAAsC;iBAC9D;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,OAAO,CAAC;gBACZ,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,8CAA8C,EAAE;wBAC5D,KAAK,EAAE;4BACL,QAAQ,EAAE,cAAc;4BACxB,OAAO,EAAE,2BAA2B;yBACrC;qBACF;iBACF;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,wEAAwE;QACxE,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACpE,MAAM,SAAS,GAAG,IAAoE,CAAA;YACtF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAC5C,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,OAAO,CAClB,CAAA;YAED,sEAAsE;YACtE,MAAM,UAAU,CAAC;gBACf,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE;4BACJ,EAAE,EAAE,yBAAyB,MAAM,MAAM,OAAO,EAAE;yBACnD;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,WAAW,EAAE,EAAE;oBACf,eAAe,EAAE,EAAE;oBACnB,mBAAmB,EAAE,EAAE;oBACvB,uBAAuB,EAAE,EAAE;oBAC3B,kBAAkB,EAAE,EAAE;oBACtB,cAAc,EAAE,MAAM;oBACtB,qBAAqB,EAAE,OAAO;iBAC/B;aACF,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,gBAAgB;QAChB,MAAM,OAAO,CAAC;YACZ,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,8CAA8C,EAAE;oBAC5D,KAAK,EAAE;wBACL,QAAQ,EAAE,cAAc;wBACxB,OAAO,EAAE,2BAA2B;qBACrC;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;CAC+C,CAAA"}
1
+ {"version":3,"file":"createSMSBroadcast.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createSMSBroadcast/createSMSBroadcast.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,35 @@ export declare const actions: {
12
12
  label: string;
13
13
  type: import("@awell-health/extensions-core").FieldType.STRING;
14
14
  stringType: import("@awell-health/extensions-core").StringType.PHONE;
15
- required: true;
15
+ required: false;
16
+ description: string;
17
+ };
18
+ firstName: {
19
+ id: string;
20
+ label: string;
21
+ type: import("@awell-health/extensions-core").FieldType.STRING;
22
+ required: false;
23
+ description: string;
24
+ };
25
+ lastName: {
26
+ id: string;
27
+ label: string;
28
+ type: import("@awell-health/extensions-core").FieldType.STRING;
29
+ required: false;
30
+ description: string;
31
+ };
32
+ notes: {
33
+ id: string;
34
+ label: string;
35
+ type: import("@awell-health/extensions-core").FieldType.STRING;
36
+ required: false;
37
+ description: string;
38
+ };
39
+ integrationData: {
40
+ id: string;
41
+ label: string;
42
+ type: import("@awell-health/extensions-core").FieldType.STRING;
43
+ required: false;
16
44
  description: string;
17
45
  };
18
46
  textMessage: {
@@ -36,6 +64,13 @@ export declare const actions: {
36
64
  required: false;
37
65
  description: string;
38
66
  };
67
+ checkCallingWindow: {
68
+ id: string;
69
+ label: string;
70
+ type: import("@awell-health/extensions-core").FieldType.BOOLEAN;
71
+ required: false;
72
+ description: string;
73
+ };
39
74
  }, {
40
75
  customerKey: {
41
76
  label: string;
@@ -58,5 +93,5 @@ export declare const actions: {
58
93
  required: true;
59
94
  description: string;
60
95
  };
61
- }, "broadcastId" | "broadcastStatus" | "uriBroadcastDetails" | "broadcastStatusCategory" | "broadcastStartDate" | "deliveryResult" | "deliveryResultDetails">;
96
+ }, "success" | "broadcastId" | "broadcastStatus" | "uriBroadcastDetails" | "broadcastStatusCategory" | "broadcastStartDate" | "deliveryResult" | "deliveryResultDetails">;
62
97
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.1.90",
3
+ "version": "2.1.92",
4
4
  "packageManager": "yarn@4.5.3",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {