@fonderie/courier 5.2.2 → 7.0.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { ICourierMessage, IDefaultTemplate } from '@fonderie/core/types';\n\nexport type { ICourierMessage, IDefaultTemplate };\n\n// A module ships its built-in copy as Record<ItsMessageKey, IDefaultTemplate>;\n// the app hands courier one (or an array, aggregated like getMigrationsPath())\n// and the resolver falls back to it before the last-resort JSON dump.\nexport type DefaultTemplateMap = Record<string, IDefaultTemplate>;\n\nexport interface ICourierChannel {\n\tname: string;\n\tsend(message: ICourierMessage, template: IRenderedTemplate): Promise<void>;\n}\n\nexport interface IRenderedTemplate {\n\tsubject?: string; // email only\n\thtml?: string; // email only\n\ttext: string; // all channels\n}\n\nexport interface ITemplateResolver {\n\tresolve(type: string, data: Record<string, unknown>, locale?: string): Promise<IRenderedTemplate>;\n}\n\nexport type { IMessageLog, MessageLogStatus } from './log';\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { ICourierMessage, IDefaultTemplate } from '@fonderie/core/types';\n\nexport type { ICourierMessage, IDefaultTemplate };\n\n// A module ships its built-in copy as Record<ItsMessageKey, IDefaultTemplate>;\n// the app hands courier one (or an array, aggregated like getMigrationsPath())\n// and the resolver falls back to it before the last-resort JSON dump.\nexport type DefaultTemplateMap = Record<string, IDefaultTemplate>;\n\n// What a channel learned from the provider about a successful send. The\n// provider message id is what delivery webhooks key their updates on — a\n// channel that doesn't return it leaves delivery tracking permanently\n// 'sent' (the webhook UPDATE matches zero rows).\nexport interface ISendResult {\n\tproviderMessageId?: string;\n}\n\nexport interface ICourierChannel {\n\tname: string;\n\tsend(message: ICourierMessage, template: IRenderedTemplate): Promise<ISendResult | void>;\n}\n\nexport interface IRenderedTemplate {\n\tsubject?: string; // email only\n\thtml?: string; // email only\n\ttext: string; // all channels\n}\n\nexport interface ITemplateResolver {\n\tresolve(type: string, data: Record<string, unknown>, locale?: string): Promise<IRenderedTemplate>;\n}\n\nexport type { IMessageLog, MessageLogStatus } from './log';\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/dist/types.d.cts CHANGED
@@ -22,9 +22,12 @@ interface IMessageLog {
22
22
  }
23
23
 
24
24
  type DefaultTemplateMap = Record<string, IDefaultTemplate>;
25
+ interface ISendResult {
26
+ providerMessageId?: string;
27
+ }
25
28
  interface ICourierChannel {
26
29
  name: string;
27
- send(message: ICourierMessage, template: IRenderedTemplate): Promise<void>;
30
+ send(message: ICourierMessage, template: IRenderedTemplate): Promise<ISendResult | void>;
28
31
  }
29
32
  interface IRenderedTemplate {
30
33
  subject?: string;
@@ -35,4 +38,4 @@ interface ITemplateResolver {
35
38
  resolve(type: string, data: Record<string, unknown>, locale?: string): Promise<IRenderedTemplate>;
36
39
  }
37
40
 
38
- export type { DefaultTemplateMap, ICourierChannel, IMessageLog, IRenderedTemplate, ITemplateResolver, MessageLogStatus };
41
+ export type { DefaultTemplateMap, ICourierChannel, IMessageLog, IRenderedTemplate, ISendResult, ITemplateResolver, MessageLogStatus };
package/dist/types.d.ts CHANGED
@@ -22,9 +22,12 @@ interface IMessageLog {
22
22
  }
23
23
 
24
24
  type DefaultTemplateMap = Record<string, IDefaultTemplate>;
25
+ interface ISendResult {
26
+ providerMessageId?: string;
27
+ }
25
28
  interface ICourierChannel {
26
29
  name: string;
27
- send(message: ICourierMessage, template: IRenderedTemplate): Promise<void>;
30
+ send(message: ICourierMessage, template: IRenderedTemplate): Promise<ISendResult | void>;
28
31
  }
29
32
  interface IRenderedTemplate {
30
33
  subject?: string;
@@ -35,4 +38,4 @@ interface ITemplateResolver {
35
38
  resolve(type: string, data: Record<string, unknown>, locale?: string): Promise<IRenderedTemplate>;
36
39
  }
37
40
 
38
- export type { DefaultTemplateMap, ICourierChannel, IMessageLog, IRenderedTemplate, ITemplateResolver, MessageLogStatus };
41
+ export type { DefaultTemplateMap, ICourierChannel, IMessageLog, IRenderedTemplate, ISendResult, ITemplateResolver, MessageLogStatus };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fonderie/courier",
3
- "version": "5.2.2",
3
+ "version": "7.0.0",
4
4
  "description": "Transactional messaging for SaaS — multi-channel delivery (email, SMS, push) with FS or DB templates, per-message-type channel routing, and a persistent message log.",
5
5
  "keywords": [
6
6
  "fonderiejs",
@@ -51,9 +51,9 @@
51
51
  "nodemailer": "^10.0.1"
52
52
  },
53
53
  "peerDependencies": {
54
- "@fonderie/core": "^0.9.0",
54
+ "@fonderie/core": "^0.10.0",
55
55
  "@fonderie/events": "^5.0.0",
56
- "@fonderie/store": "^0.2.0"
56
+ "@fonderie/store": "^0.3.0"
57
57
  },
58
58
  "peerDependenciesMeta": {
59
59
  "@fonderie/store": {