@waiaas/push-relay 2.7.0 → 2.8.0-rc

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/dist/bin.js CHANGED
@@ -6,6 +6,7 @@ import { NtfySubscriber } from './subscriber/ntfy-subscriber.js';
6
6
  import { DeviceRegistry } from './registry/device-registry.js';
7
7
  import { PushwooshProvider } from './providers/pushwoosh-provider.js';
8
8
  import { FcmProvider } from './providers/fcm-provider.js';
9
+ import { ConfigurablePayloadTransformer } from './transformer/payload-transformer.js';
9
10
  import { createServer } from './server.js';
10
11
  const CONFIG_PATH = process.env['RELAY_CONFIG'] ?? resolve(process.cwd(), 'config.toml');
11
12
  const DB_PATH = process.env['RELAY_DB'] ?? resolve(process.cwd(), 'relay.db');
@@ -30,12 +31,19 @@ async function main() {
30
31
  console.error('[push-relay] Push provider config validation failed');
31
32
  process.exit(1);
32
33
  }
34
+ // Initialize payload transformer (optional)
35
+ let transformer;
36
+ if (config.relay.push.payload) {
37
+ transformer = new ConfigurablePayloadTransformer(config.relay.push.payload);
38
+ console.log('[push-relay] Payload transformer: enabled (static_fields + category_map)');
39
+ }
33
40
  // Initialize ntfy subscriber
34
41
  const subscriber = new NtfySubscriber({
35
42
  ntfyServer: config.relay.ntfy_server,
36
43
  signTopicPrefix: config.relay.sign_topic_prefix,
37
44
  notifyTopicPrefix: config.relay.notify_topic_prefix,
38
45
  walletNames: config.relay.wallet_names,
46
+ transformer,
39
47
  onMessage: async (walletName, payload) => {
40
48
  const tokens = registry.getTokensByWalletName(walletName);
41
49
  if (tokens.length === 0)
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -19,6 +19,16 @@ declare const FcmConfigSchema: z.ZodObject<{
19
19
  project_id: string;
20
20
  service_account_key_path: string;
21
21
  }>;
22
+ declare const PayloadConfigSchema: z.ZodObject<{
23
+ static_fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
24
+ category_map: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ static_fields: Record<string, string>;
27
+ category_map: Record<string, Record<string, string>>;
28
+ }, {
29
+ static_fields?: Record<string, string> | undefined;
30
+ category_map?: Record<string, Record<string, string>> | undefined;
31
+ }>;
22
32
  export declare const ConfigSchema: z.ZodObject<{
23
33
  relay: z.ZodObject<{
24
34
  ntfy_server: z.ZodDefault<z.ZodString>;
@@ -47,6 +57,16 @@ export declare const ConfigSchema: z.ZodObject<{
47
57
  project_id: string;
48
58
  service_account_key_path: string;
49
59
  }>>;
60
+ payload: z.ZodOptional<z.ZodObject<{
61
+ static_fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
62
+ category_map: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ static_fields: Record<string, string>;
65
+ category_map: Record<string, Record<string, string>>;
66
+ }, {
67
+ static_fields?: Record<string, string> | undefined;
68
+ category_map?: Record<string, Record<string, string>> | undefined;
69
+ }>>;
50
70
  }, "strip", z.ZodTypeAny, {
51
71
  provider: "pushwoosh" | "fcm";
52
72
  pushwoosh?: {
@@ -57,6 +77,10 @@ export declare const ConfigSchema: z.ZodObject<{
57
77
  project_id: string;
58
78
  service_account_key_path: string;
59
79
  } | undefined;
80
+ payload?: {
81
+ static_fields: Record<string, string>;
82
+ category_map: Record<string, Record<string, string>>;
83
+ } | undefined;
60
84
  }, {
61
85
  provider: "pushwoosh" | "fcm";
62
86
  pushwoosh?: {
@@ -67,6 +91,10 @@ export declare const ConfigSchema: z.ZodObject<{
67
91
  project_id: string;
68
92
  service_account_key_path: string;
69
93
  } | undefined;
94
+ payload?: {
95
+ static_fields?: Record<string, string> | undefined;
96
+ category_map?: Record<string, Record<string, string>> | undefined;
97
+ } | undefined;
70
98
  }>;
71
99
  server: z.ZodObject<{
72
100
  port: z.ZodDefault<z.ZodNumber>;
@@ -92,6 +120,10 @@ export declare const ConfigSchema: z.ZodObject<{
92
120
  project_id: string;
93
121
  service_account_key_path: string;
94
122
  } | undefined;
123
+ payload?: {
124
+ static_fields: Record<string, string>;
125
+ category_map: Record<string, Record<string, string>>;
126
+ } | undefined;
95
127
  };
96
128
  ntfy_server: string;
97
129
  sign_topic_prefix: string;
@@ -113,6 +145,10 @@ export declare const ConfigSchema: z.ZodObject<{
113
145
  project_id: string;
114
146
  service_account_key_path: string;
115
147
  } | undefined;
148
+ payload?: {
149
+ static_fields?: Record<string, string> | undefined;
150
+ category_map?: Record<string, Record<string, string>> | undefined;
151
+ } | undefined;
116
152
  };
117
153
  wallet_names: string[];
118
154
  server: {
@@ -136,6 +172,10 @@ export declare const ConfigSchema: z.ZodObject<{
136
172
  project_id: string;
137
173
  service_account_key_path: string;
138
174
  } | undefined;
175
+ payload?: {
176
+ static_fields: Record<string, string>;
177
+ category_map: Record<string, Record<string, string>>;
178
+ } | undefined;
139
179
  };
140
180
  ntfy_server: string;
141
181
  sign_topic_prefix: string;
@@ -159,6 +199,10 @@ export declare const ConfigSchema: z.ZodObject<{
159
199
  project_id: string;
160
200
  service_account_key_path: string;
161
201
  } | undefined;
202
+ payload?: {
203
+ static_fields?: Record<string, string> | undefined;
204
+ category_map?: Record<string, Record<string, string>> | undefined;
205
+ } | undefined;
162
206
  };
163
207
  wallet_names: string[];
164
208
  server: {
@@ -174,6 +218,7 @@ export declare const ConfigSchema: z.ZodObject<{
174
218
  export type RelayConfig = z.infer<typeof ConfigSchema>;
175
219
  export type PushwooshConfig = z.infer<typeof PushwooshConfigSchema>;
176
220
  export type FcmConfig = z.infer<typeof FcmConfigSchema>;
221
+ export type PayloadConfig = z.infer<typeof PayloadConfigSchema>;
177
222
  export declare function loadConfig(path: string): RelayConfig;
178
223
  export {};
179
224
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,qBAAqB;;;;;;;;;EAGzB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;;EAGnB,CAAC;AAuBH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAcpD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,qBAAqB;;;;;;;;;EAGzB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;;EAGnB,CAAC;AAIH,QAAA,MAAM,mBAAmB;;;;;;;;;EAGvB,CAAC;AAwBH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAcpD"}
package/dist/config.js CHANGED
@@ -9,10 +9,16 @@ const FcmConfigSchema = z.object({
9
9
  project_id: z.string().min(1),
10
10
  service_account_key_path: z.string().min(1),
11
11
  });
12
+ const CategoryFieldsSchema = z.record(z.string(), z.string());
13
+ const PayloadConfigSchema = z.object({
14
+ static_fields: z.record(z.string(), z.string()).default({}),
15
+ category_map: z.record(z.string(), CategoryFieldsSchema).default({}),
16
+ });
12
17
  const PushConfigSchema = z.object({
13
18
  provider: z.enum(['pushwoosh', 'fcm']),
14
19
  pushwoosh: PushwooshConfigSchema.optional(),
15
20
  fcm: FcmConfigSchema.optional(),
21
+ payload: PayloadConfigSchema.optional(),
16
22
  });
17
23
  const ServerConfigSchema = z.object({
18
24
  port: z.number().int().min(1).max(65535).default(3200),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACtC,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC3C,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACxD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;IACpD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;IACxD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,kBAAkB;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,iBAAiB;CACzB,CAAC,CAAC;AAMH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAY,SAAS,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1C,2CAA2C;IAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { loadConfig } from './config.js';
2
- export type { RelayConfig } from './config.js';
2
+ export type { RelayConfig, PayloadConfig } from './config.js';
3
3
  export { NtfySubscriber } from './subscriber/ntfy-subscriber.js';
4
4
  export type { NtfySubscriberOpts } from './subscriber/ntfy-subscriber.js';
5
5
  export { DeviceRegistry } from './registry/device-registry.js';
@@ -8,4 +8,6 @@ export type { PushPayload } from './subscriber/message-parser.js';
8
8
  export { PushwooshProvider } from './providers/pushwoosh-provider.js';
9
9
  export { FcmProvider } from './providers/fcm-provider.js';
10
10
  export { createServer } from './server.js';
11
+ export { ConfigurablePayloadTransformer } from './transformer/payload-transformer.js';
12
+ export type { IPayloadTransformer } from './transformer/payload-transformer.js';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC9E,YAAY,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC9E,YAAY,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC"}
package/dist/index.js CHANGED
@@ -4,4 +4,5 @@ export { DeviceRegistry } from './registry/device-registry.js';
4
4
  export { PushwooshProvider } from './providers/pushwoosh-provider.js';
5
5
  export { FcmProvider } from './providers/fcm-provider.js';
6
6
  export { createServer } from './server.js';
7
+ export { ConfigurablePayloadTransformer } from './transformer/payload-transformer.js';
7
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { PushPayload } from './message-parser.js';
2
+ import type { IPayloadTransformer } from '../transformer/payload-transformer.js';
2
3
  export interface NtfySubscriberOpts {
3
4
  ntfyServer: string;
4
5
  signTopicPrefix: string;
@@ -6,10 +7,12 @@ export interface NtfySubscriberOpts {
6
7
  walletNames: string[];
7
8
  onMessage: (walletName: string, payload: PushPayload) => Promise<void>;
8
9
  onError?: (error: Error) => void;
10
+ transformer?: IPayloadTransformer;
9
11
  }
10
12
  export declare class NtfySubscriber {
11
13
  private readonly opts;
12
14
  private readonly abortControllers;
15
+ private readonly transformer?;
13
16
  private _connected;
14
17
  private _topicCount;
15
18
  constructor(opts: NtfySubscriberOpts);
@@ -1 +1 @@
1
- {"version":3,"file":"ntfy-subscriber.d.ts","sourceRoot":"","sources":["../../src/subscriber/ntfy-subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,qBAAqB,CAAC;AAM1E,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAK;gBAEZ,IAAI,EAAE,kBAAkB;IAIpC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,KAAK,IAAI,IAAI;IAYP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,CAAC,cAAc;YAMR,UAAU;IA4ExB,OAAO,CAAC,KAAK;CAQd"}
1
+ {"version":3,"file":"ntfy-subscriber.d.ts","sourceRoot":"","sources":["../../src/subscriber/ntfy-subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,qBAAqB,CAAC;AAE1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAKjF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAsB;IACnD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAK;gBAEZ,IAAI,EAAE,kBAAkB;IAKpC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,KAAK,IAAI,IAAI;IAYP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,CAAC,cAAc;YAMR,UAAU;IA+ExB,OAAO,CAAC,KAAK;CAQd"}
@@ -4,10 +4,12 @@ const INITIAL_RECONNECT_DELAY_MS = 1_000;
4
4
  export class NtfySubscriber {
5
5
  opts;
6
6
  abortControllers = new Map();
7
+ transformer;
7
8
  _connected = false;
8
9
  _topicCount = 0;
9
10
  constructor(opts) {
10
11
  this.opts = opts;
12
+ this.transformer = opts.transformer;
11
13
  }
12
14
  get connected() {
13
15
  return this._connected;
@@ -72,7 +74,10 @@ export class NtfySubscriber {
72
74
  const type = determineMessageType(effectiveTopic, this.opts.signTopicPrefix, this.opts.notifyTopicPrefix);
73
75
  if (!type)
74
76
  continue;
75
- const payload = buildPushPayload(ntfyMsg, type);
77
+ let payload = buildPushPayload(ntfyMsg, type);
78
+ if (this.transformer) {
79
+ payload = this.transformer.transform(payload);
80
+ }
76
81
  await this.opts.onMessage(walletName, payload);
77
82
  }
78
83
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"ntfy-subscriber.js","sourceRoot":"","sources":["../../src/subscriber/ntfy-subscriber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ntfy-subscriber.js","sourceRoot":"","sources":["../../src/subscriber/ntfy-subscriber.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { PushPayload } from '../subscriber/message-parser.js';
2
+ import type { PayloadConfig } from '../config.js';
3
+ export interface IPayloadTransformer {
4
+ transform(payload: PushPayload): PushPayload;
5
+ }
6
+ export declare class ConfigurablePayloadTransformer implements IPayloadTransformer {
7
+ private readonly staticFields;
8
+ private readonly categoryMap;
9
+ constructor(config: PayloadConfig);
10
+ transform(payload: PushPayload): PushPayload;
11
+ }
12
+ //# sourceMappingURL=payload-transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload-transformer.d.ts","sourceRoot":"","sources":["../../src/transformer/payload-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAAC;CAC9C;AAED,qBAAa,8BAA+B,YAAW,mBAAmB;IACxE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyC;gBAEzD,MAAM,EAAE,aAAa;IAKjC,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW;CAc7C"}
@@ -0,0 +1,22 @@
1
+ export class ConfigurablePayloadTransformer {
2
+ staticFields;
3
+ categoryMap;
4
+ constructor(config) {
5
+ this.staticFields = config.static_fields;
6
+ this.categoryMap = config.category_map;
7
+ }
8
+ transform(payload) {
9
+ // Merge order: static_fields (lowest) → category_map → original data (highest)
10
+ const categoryFields = this.categoryMap[payload.category] ?? {};
11
+ const mergedData = {
12
+ ...this.staticFields,
13
+ ...categoryFields,
14
+ ...payload.data,
15
+ };
16
+ return {
17
+ ...payload,
18
+ data: mergedData,
19
+ };
20
+ }
21
+ }
22
+ //# sourceMappingURL=payload-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload-transformer.js","sourceRoot":"","sources":["../../src/transformer/payload-transformer.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,8BAA8B;IACxB,YAAY,CAAyB;IACrC,WAAW,CAAyC;IAErE,YAAY,MAAqB;QAC/B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,OAAoB;QAC5B,+EAA+E;QAC/E,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG;YACjB,GAAG,IAAI,CAAC,YAAY;YACpB,GAAG,cAAc;YACjB,GAAG,OAAO,CAAC,IAAI;SAChB,CAAC;QAEF,OAAO;YACL,GAAG,OAAO;YACV,IAAI,EAAE,UAAU;SACjB,CAAC;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waiaas/push-relay",
3
- "version": "2.7.0",
3
+ "version": "2.8.0-rc",
4
4
  "description": "WAIaaS Push Relay Server - bridge ntfy topics to push notification services (Pushwoosh, FCM)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "hono": "^4.5.0",
42
42
  "smol-toml": "^1.3.0",
43
43
  "zod": "^3.24.0",
44
- "@waiaas/core": "2.7.0"
44
+ "@waiaas/core": "2.8.0-rc"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/better-sqlite3": "^7.6.8",