@ewyn/client 0.7.0 → 0.8.0

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.
package/README.md CHANGED
@@ -31,6 +31,7 @@ const client = new Ewyn({
31
31
  // Send an email using template version ID
32
32
  await client.send({
33
33
  to: 'user@example.com',
34
+ subject: 'Welcome!',
34
35
  templateId: 'template-version-uuid',
35
36
  variables: {
36
37
  firstName: 'John',
@@ -77,6 +78,7 @@ const client = new Ewyn({
77
78
  // 3. Send with full type safety
78
79
  await client.send({
79
80
  to: 'user@example.com',
81
+ subject: 'Welcome!', // ← Required at send time
80
82
  template: 'welcome', // ← Autocomplete available!
81
83
  variables: {
82
84
  firstName: 'John', // ← TypeScript enforces required vars
@@ -190,6 +192,8 @@ Send an email using a template.
190
192
  **Options:**
191
193
 
192
194
  - `to` (string, required): Recipient email address
195
+ - `subject` (string, required): Email subject line. May contain `{{variable}}` placeholders.
196
+ - `preheader` (string, optional): Preview text. May contain `{{variable}}` placeholders.
193
197
  - `templateId` (string, optional): Template version UUID (required if `template` not provided)
194
198
  - `template` (string, optional): Template name (requires `templates` config)
195
199
  - `version` (number, optional): Major version number (use with template name, defaults to latest)
@@ -260,6 +264,7 @@ To prevent duplicate email sends, provide an `idempotencyKey`:
260
264
  ```typescript
261
265
  await client.send({
262
266
  to: 'user@example.com',
267
+ subject: 'Your subject',
263
268
  templateId: 'template-uuid',
264
269
  idempotencyKey: 'unique-request-id-123',
265
270
  variables: { /* ... */ },
@@ -43,6 +43,7 @@ test('valid send: required var present, optional omitted', () => {
43
43
  });
44
44
  expectTypeOf({
45
45
  to: 'x@example.com',
46
+ subject: 'Welcome',
46
47
  template: 'welcome',
47
48
  variables: { firstName: 'J' },
48
49
  }).toMatchTypeOf();
@@ -54,6 +55,7 @@ test('valid send: required and optional vars', () => {
54
55
  });
55
56
  expectTypeOf({
56
57
  to: 'x@example.com',
58
+ subject: 'Welcome',
57
59
  template: 'welcome',
58
60
  variables: { firstName: 'J', plan: 'Pro' },
59
61
  }).toMatchTypeOf();
@@ -65,6 +67,7 @@ test('valid send: hyphenated template name', () => {
65
67
  });
66
68
  expectTypeOf({
67
69
  to: 'x@example.com',
70
+ subject: 'Reset password',
68
71
  template: 'reset-password',
69
72
  variables: { resetUrl: 'https://example.com/reset' },
70
73
  }).toMatchTypeOf();
@@ -63,6 +63,7 @@ describe('Dashboard config (runtime)', () => {
63
63
  });
64
64
  const result = await client.send({
65
65
  to: 'user@example.com',
66
+ subject: 'Welcome',
66
67
  template: 'welcome',
67
68
  variables: {
68
69
  firstName: 'Jane',
@@ -97,6 +98,7 @@ describe('Dashboard config (runtime)', () => {
97
98
  });
98
99
  const result = await client.send({
99
100
  to: 'user@example.com',
101
+ subject: 'Reset your password',
100
102
  template: 'reset-password',
101
103
  variables: {
102
104
  resetUrl: 'https://example.com/reset?token=abc',
@@ -131,6 +133,7 @@ describe('Dashboard config (runtime)', () => {
131
133
  });
132
134
  const result = await client.send({
133
135
  to: 'user@example.com',
136
+ subject: 'Notification',
134
137
  template: 'notification',
135
138
  variables: {},
136
139
  });
@@ -149,6 +152,7 @@ describe('Dashboard config (runtime)', () => {
149
152
  });
150
153
  await expect(client.send({
151
154
  to: 'user@example.com',
155
+ subject: 'Welcome',
152
156
  template: 'welcome',
153
157
  variables: {
154
158
  firstName: 'Jane',
@@ -165,6 +169,7 @@ describe('Dashboard config (runtime)', () => {
165
169
  });
166
170
  await expect(client.send({
167
171
  to: 'user@example.com',
172
+ subject: 'Test',
168
173
  template: 'nonexistent',
169
174
  variables: { firstName: 'J', lastName: 'D' },
170
175
  })).rejects.toThrow('Template "nonexistent" not found in template config');
@@ -55,6 +55,7 @@ describe('Ewyn SDK', () => {
55
55
  });
56
56
  const result = await client.send({
57
57
  to: 'test@example.com',
58
+ subject: 'Test',
58
59
  templateId: 'template-uuid',
59
60
  variables: {
60
61
  firstName: 'John',
@@ -69,6 +70,7 @@ describe('Ewyn SDK', () => {
69
70
  }),
70
71
  body: JSON.stringify({
71
72
  to: 'test@example.com',
73
+ subject: 'Test',
72
74
  templateId: 'template-uuid',
73
75
  variables: {
74
76
  firstName: 'John',
@@ -103,6 +105,7 @@ describe('Ewyn SDK', () => {
103
105
  });
104
106
  const result = await configClient.send({
105
107
  to: 'test@example.com',
108
+ subject: 'Welcome',
106
109
  template: 'welcome',
107
110
  variables: {
108
111
  firstName: 'John',
@@ -123,6 +126,7 @@ describe('Ewyn SDK', () => {
123
126
  });
124
127
  await client.send({
125
128
  to: 'test@example.com',
129
+ subject: 'Test',
126
130
  templateId: 'template-uuid',
127
131
  version: 2,
128
132
  variables: {
@@ -146,6 +150,7 @@ describe('Ewyn SDK', () => {
146
150
  });
147
151
  await client.send({
148
152
  to: 'test@example.com',
153
+ subject: 'Test',
149
154
  templateId: 'template-uuid',
150
155
  metadata: {
151
156
  userId: 'user-123',
@@ -168,6 +173,7 @@ describe('Ewyn SDK', () => {
168
173
  });
169
174
  await client.send({
170
175
  to: 'test@example.com',
176
+ subject: 'Test',
171
177
  templateId: 'template-uuid',
172
178
  idempotencyKey: 'idempotency-key-123',
173
179
  });
@@ -178,12 +184,14 @@ describe('Ewyn SDK', () => {
178
184
  it('should throw error if neither templateId nor template provided', async () => {
179
185
  await expect(client.send({
180
186
  to: 'test@example.com',
187
+ subject: 'Test',
181
188
  variables: {},
182
189
  })).rejects.toThrow('Either templateId or template must be provided');
183
190
  });
184
191
  it('should throw error if template name provided without config', async () => {
185
192
  await expect(client.send({
186
193
  to: 'test@example.com',
194
+ subject: 'Test',
187
195
  template: 'welcome',
188
196
  variables: {},
189
197
  })).rejects.toThrow('Template name provided but no template config was provided');
@@ -203,6 +211,7 @@ describe('Ewyn SDK', () => {
203
211
  });
204
212
  await expect(configClient.send({
205
213
  to: 'test@example.com',
214
+ subject: 'Test',
206
215
  template: 'nonexistent',
207
216
  variables: {},
208
217
  })).rejects.toThrow('Template "nonexistent" not found in template config');
@@ -227,6 +236,7 @@ describe('Ewyn SDK', () => {
227
236
  });
228
237
  await expect(configClient.send({
229
238
  to: 'test@example.com',
239
+ subject: 'Test',
230
240
  template: 'welcome',
231
241
  variables: {
232
242
  firstName: 'John',
@@ -262,6 +272,7 @@ describe('Ewyn SDK', () => {
262
272
  });
263
273
  const result = await configClient.send({
264
274
  to: 'test@example.com',
275
+ subject: 'Test',
265
276
  template: 'welcome',
266
277
  variables: {
267
278
  firstName: 'John',
@@ -287,11 +298,13 @@ describe('Ewyn SDK', () => {
287
298
  .mockResolvedValueOnce(mock400Response);
288
299
  await expect(client.send({
289
300
  to: 'test@example.com',
301
+ subject: 'Test',
290
302
  templateId: 'template-uuid',
291
303
  })).rejects.toThrow(EwynApiError);
292
304
  try {
293
305
  await client.send({
294
306
  to: 'test@example.com',
307
+ subject: 'Test',
295
308
  templateId: 'template-uuid',
296
309
  });
297
310
  }
@@ -316,6 +329,7 @@ describe('Ewyn SDK', () => {
316
329
  try {
317
330
  await client.send({
318
331
  to: 'test@example.com',
332
+ subject: 'Test',
319
333
  templateId: 'template-uuid',
320
334
  });
321
335
  }
@@ -338,6 +352,7 @@ describe('Ewyn SDK', () => {
338
352
  try {
339
353
  await client.send({
340
354
  to: 'test@example.com',
355
+ subject: 'Test',
341
356
  templateId: 'template-uuid',
342
357
  });
343
358
  }
@@ -354,6 +369,7 @@ describe('Ewyn SDK', () => {
354
369
  global.fetch.mockRejectedValue(new Error('Network error'));
355
370
  await expect(client.send({
356
371
  to: 'test@example.com',
372
+ subject: 'Test',
357
373
  templateId: 'template-uuid',
358
374
  })).rejects.toThrow('Network error');
359
375
  // Should have retried once
@@ -366,6 +382,7 @@ describe('Ewyn SDK', () => {
366
382
  try {
367
383
  await client.send({
368
384
  to: 'test@example.com',
385
+ subject: 'Test',
369
386
  templateId: 'template-uuid',
370
387
  });
371
388
  }
@@ -396,6 +413,7 @@ describe('Ewyn SDK', () => {
396
413
  });
397
414
  const result = await client.send({
398
415
  to: 'test@example.com',
416
+ subject: 'Test',
399
417
  templateId: 'template-uuid',
400
418
  });
401
419
  const duration = Date.now() - startTime;
@@ -412,6 +430,7 @@ describe('Ewyn SDK', () => {
412
430
  });
413
431
  await expect(client.send({
414
432
  to: 'test@example.com',
433
+ subject: 'Test',
415
434
  templateId: 'template-uuid',
416
435
  })).rejects.toThrow(EwynApiError);
417
436
  // Should not retry
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACf,MAAM,YAAY,CAAC;AAiDpB,qBAAa,IAAI,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAEpB,OAAO,EAAE,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAQ5D,OAAO,CAAC,QAAQ;IAMhB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,IAAI,CACR,OAAO,EAAE,OAAO,SAAS,cAAc,GACnC,qBAAqB,CAAC,OAAO,CAAC,GAAG,gBAAgB,GACjD,gBAAgB,GACnB,OAAO,CAAC,iBAAiB,CAAC;IA8C7B;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;YACW,gBAAgB;CA6E/B;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACf,MAAM,YAAY,CAAC;AAmDpB,qBAAa,IAAI,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAEpB,OAAO,EAAE,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAQ5D,OAAO,CAAC,QAAQ;IAMhB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,IAAI,CACR,OAAO,EAAE,OAAO,SAAS,cAAc,GACnC,qBAAqB,CAAC,OAAO,CAAC,GAAG,gBAAgB,GACjD,gBAAgB,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAmD7B;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;YACW,gBAAgB;CA6E/B;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ import { EwynApiError } from './errors.js';
10
10
  *
11
11
  * await client.send({
12
12
  * to: 'user@example.com',
13
+ * subject: 'Welcome!',
13
14
  * templateId: 'version-uuid',
14
15
  * variables: { firstName: 'John' }
15
16
  * });
@@ -37,6 +38,7 @@ import { EwynApiError } from './errors.js';
37
38
  * // Type-safe sending
38
39
  * await client.send({
39
40
  * to: 'user@example.com',
41
+ * subject: 'Welcome!',
40
42
  * template: 'welcome', // Autocomplete available
41
43
  * variables: {
42
44
  * firstName: 'John' // TypeScript enforces required vars
@@ -99,8 +101,12 @@ export class Ewyn {
99
101
  // Build request body
100
102
  const body = {
101
103
  to: options.to,
104
+ subject: options.subject,
102
105
  templateId,
103
106
  };
107
+ if (options.preheader !== undefined) {
108
+ body.preheader = options.preheader;
109
+ }
104
110
  if (options.variables) {
105
111
  body.variables = options.variables;
106
112
  }
package/dist/types.d.ts CHANGED
@@ -54,6 +54,10 @@ type VariablesFromConfig<T extends TemplateConfigEntry> = RequiredVars<T> extend
54
54
  export interface SendEmailOptionsBase {
55
55
  /** Recipient email address */
56
56
  to: string;
57
+ /** Email subject (required). May contain {{variable}} placeholders. */
58
+ subject: string;
59
+ /** Preheader text (optional). May contain {{variable}} placeholders. */
60
+ preheader?: string;
57
61
  /** Template version ID (UUID) - required if template not provided */
58
62
  templateId?: string;
59
63
  /** Template name (requires template config to be provided) */
@@ -73,6 +77,10 @@ export interface SendEmailOptionsBase {
73
77
  export type SendEmailOptionsTyped<TConfig extends TemplateConfig, TName extends keyof TConfig = keyof TConfig> = {
74
78
  /** Recipient email address */
75
79
  to: string;
80
+ /** Email subject (required). May contain {{variable}} placeholders. */
81
+ subject: string;
82
+ /** Preheader text (optional). May contain {{variable}} placeholders. */
83
+ preheader?: string;
76
84
  /** Template name from config */
77
85
  template: TName;
78
86
  /** Major version number (optional, defaults to latest) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ewyn/client",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Official TypeScript SDK for Ewyn email service with full type safety",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",