@pushary/server 1.3.3 → 1.4.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 +54 -0
- package/dist/adapters.cjs +452 -0
- package/dist/adapters.cjs.map +1 -0
- package/dist/adapters.d.cts +158 -0
- package/dist/adapters.d.ts +158 -0
- package/dist/adapters.js +156 -0
- package/dist/adapters.js.map +1 -0
- package/dist/chunk-22FUZ6F5.js +274 -0
- package/dist/chunk-22FUZ6F5.js.map +1 -0
- package/dist/index.d.cts +2 -412
- package/dist/index.d.ts +2 -412
- package/dist/index.js +9 -265
- package/dist/index.js.map +1 -1
- package/dist/util-Ihfh4f82.d.cts +419 -0
- package/dist/util-Ihfh4f82.d.ts +419 -0
- package/package.json +6 -1
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
interface PusharyConfig {
|
|
2
|
+
readonly apiKey: string;
|
|
3
|
+
readonly baseUrl?: string;
|
|
4
|
+
}
|
|
5
|
+
interface ListParams {
|
|
6
|
+
readonly limit?: number;
|
|
7
|
+
readonly cursor?: string;
|
|
8
|
+
}
|
|
9
|
+
interface PaginatedResponse<T> {
|
|
10
|
+
readonly data: readonly T[];
|
|
11
|
+
readonly nextCursor?: string;
|
|
12
|
+
readonly hasMore: boolean;
|
|
13
|
+
}
|
|
14
|
+
interface Subscriber {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly siteId: string;
|
|
17
|
+
readonly endpoint: string;
|
|
18
|
+
readonly status: 'active' | 'unsubscribed' | 'expired' | 'bounced';
|
|
19
|
+
readonly browser?: string;
|
|
20
|
+
readonly os?: string;
|
|
21
|
+
readonly deviceType?: string;
|
|
22
|
+
readonly country?: string;
|
|
23
|
+
readonly city?: string;
|
|
24
|
+
readonly timezone?: string;
|
|
25
|
+
readonly language?: string;
|
|
26
|
+
readonly tags?: readonly string[];
|
|
27
|
+
readonly externalId?: string;
|
|
28
|
+
readonly createdAt: string;
|
|
29
|
+
readonly lastActiveAt?: string;
|
|
30
|
+
}
|
|
31
|
+
interface SubscriberListParams extends ListParams {
|
|
32
|
+
readonly status?: 'active' | 'unsubscribed' | 'expired' | 'bounced';
|
|
33
|
+
readonly tags?: readonly string[];
|
|
34
|
+
readonly externalId?: string;
|
|
35
|
+
}
|
|
36
|
+
interface UpdateSubscriber {
|
|
37
|
+
readonly tags?: readonly string[];
|
|
38
|
+
readonly externalId?: string;
|
|
39
|
+
readonly customData?: Readonly<Record<string, unknown>>;
|
|
40
|
+
}
|
|
41
|
+
interface Campaign {
|
|
42
|
+
readonly id: string;
|
|
43
|
+
readonly siteId: string;
|
|
44
|
+
readonly name: string;
|
|
45
|
+
readonly title: string;
|
|
46
|
+
readonly body: string;
|
|
47
|
+
readonly iconUrl?: string;
|
|
48
|
+
readonly imageUrl?: string;
|
|
49
|
+
readonly actionUrl?: string;
|
|
50
|
+
readonly status: 'draft' | 'scheduled' | 'sending' | 'active' | 'paused' | 'completed' | 'cancelled';
|
|
51
|
+
readonly scheduledAt?: string;
|
|
52
|
+
readonly totalTargeted: number;
|
|
53
|
+
readonly totalSent: number;
|
|
54
|
+
readonly totalDelivered: number;
|
|
55
|
+
readonly totalClicked: number;
|
|
56
|
+
readonly createdAt: string;
|
|
57
|
+
}
|
|
58
|
+
interface CreateCampaign {
|
|
59
|
+
readonly name: string;
|
|
60
|
+
readonly title: string;
|
|
61
|
+
readonly body: string;
|
|
62
|
+
readonly iconUrl?: string;
|
|
63
|
+
readonly imageUrl?: string;
|
|
64
|
+
readonly actionUrl?: string;
|
|
65
|
+
readonly scheduledAt?: string;
|
|
66
|
+
readonly segmentId?: string;
|
|
67
|
+
readonly tags?: readonly string[];
|
|
68
|
+
}
|
|
69
|
+
interface UpdateCampaign {
|
|
70
|
+
readonly name?: string;
|
|
71
|
+
readonly title?: string;
|
|
72
|
+
readonly body?: string;
|
|
73
|
+
readonly iconUrl?: string;
|
|
74
|
+
readonly imageUrl?: string;
|
|
75
|
+
readonly actionUrl?: string;
|
|
76
|
+
readonly scheduledAt?: string;
|
|
77
|
+
readonly status?: 'draft' | 'paused' | 'cancelled';
|
|
78
|
+
}
|
|
79
|
+
interface Template {
|
|
80
|
+
readonly id: string;
|
|
81
|
+
readonly siteId: string;
|
|
82
|
+
readonly name: string;
|
|
83
|
+
readonly title: string;
|
|
84
|
+
readonly body: string;
|
|
85
|
+
readonly iconUrl?: string;
|
|
86
|
+
readonly imageUrl?: string;
|
|
87
|
+
readonly actionUrl?: string;
|
|
88
|
+
readonly createdAt: string;
|
|
89
|
+
}
|
|
90
|
+
interface CreateTemplate {
|
|
91
|
+
readonly name: string;
|
|
92
|
+
readonly title: string;
|
|
93
|
+
readonly body: string;
|
|
94
|
+
readonly iconUrl?: string;
|
|
95
|
+
readonly imageUrl?: string;
|
|
96
|
+
readonly actionUrl?: string;
|
|
97
|
+
}
|
|
98
|
+
interface UpdateTemplate {
|
|
99
|
+
readonly name?: string;
|
|
100
|
+
readonly title?: string;
|
|
101
|
+
readonly body?: string;
|
|
102
|
+
readonly iconUrl?: string;
|
|
103
|
+
readonly imageUrl?: string;
|
|
104
|
+
readonly actionUrl?: string;
|
|
105
|
+
}
|
|
106
|
+
interface SendNotification {
|
|
107
|
+
readonly title: string;
|
|
108
|
+
readonly body: string;
|
|
109
|
+
readonly iconUrl?: string;
|
|
110
|
+
readonly imageUrl?: string;
|
|
111
|
+
readonly url?: string;
|
|
112
|
+
readonly subscriberIds?: readonly string[];
|
|
113
|
+
readonly externalIds?: readonly string[];
|
|
114
|
+
readonly tags?: readonly string[];
|
|
115
|
+
readonly data?: Readonly<Record<string, unknown>>;
|
|
116
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
117
|
+
/** Stable across retries of one logical send. Maximum 200 characters. */
|
|
118
|
+
readonly idempotencyKey?: string;
|
|
119
|
+
}
|
|
120
|
+
interface SendResult {
|
|
121
|
+
readonly success: boolean;
|
|
122
|
+
readonly campaignId?: string;
|
|
123
|
+
readonly status?: 'queued';
|
|
124
|
+
readonly queued?: number;
|
|
125
|
+
readonly duplicate?: boolean;
|
|
126
|
+
/** @deprecated This is the queued recipient count, not a device receipt. */
|
|
127
|
+
readonly sent: number;
|
|
128
|
+
readonly limits: {
|
|
129
|
+
readonly remaining: number;
|
|
130
|
+
readonly limit: number;
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
interface SubscriberCount {
|
|
134
|
+
readonly total: number;
|
|
135
|
+
readonly active: number;
|
|
136
|
+
readonly unsubscribed: number;
|
|
137
|
+
}
|
|
138
|
+
interface CampaignStats {
|
|
139
|
+
readonly totalSent: number;
|
|
140
|
+
readonly totalDelivered: number;
|
|
141
|
+
readonly totalClicked: number;
|
|
142
|
+
readonly totalFailed: number;
|
|
143
|
+
readonly deliveryRate: number;
|
|
144
|
+
readonly clickRate: number;
|
|
145
|
+
}
|
|
146
|
+
type FlowTriggerType = 'notification_click' | 'notification_impression' | 'notification_dismiss' | 'subscription' | 'unsubscription';
|
|
147
|
+
type FlowStepType = 'send_notification' | 'delay' | 'exit';
|
|
148
|
+
type FlowStatus = 'draft' | 'active' | 'paused' | 'archived';
|
|
149
|
+
interface FlowStepConfig {
|
|
150
|
+
readonly notification?: {
|
|
151
|
+
readonly title: string;
|
|
152
|
+
readonly body: string;
|
|
153
|
+
readonly iconUrl?: string;
|
|
154
|
+
readonly imageUrl?: string;
|
|
155
|
+
readonly actionUrl?: string;
|
|
156
|
+
};
|
|
157
|
+
readonly delay?: {
|
|
158
|
+
readonly value: number;
|
|
159
|
+
readonly unit: 'seconds' | 'minutes' | 'hours' | 'days';
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
interface FlowStep {
|
|
163
|
+
readonly id: string;
|
|
164
|
+
readonly flowId: string;
|
|
165
|
+
readonly stepOrder: number;
|
|
166
|
+
readonly stepType: FlowStepType;
|
|
167
|
+
readonly config: FlowStepConfig;
|
|
168
|
+
readonly createdAt: string;
|
|
169
|
+
readonly updatedAt: string;
|
|
170
|
+
}
|
|
171
|
+
interface Flow {
|
|
172
|
+
readonly id: string;
|
|
173
|
+
readonly siteId: string;
|
|
174
|
+
readonly name: string;
|
|
175
|
+
readonly description?: string;
|
|
176
|
+
readonly triggerType: FlowTriggerType;
|
|
177
|
+
readonly triggerCampaignId?: string;
|
|
178
|
+
readonly status: FlowStatus;
|
|
179
|
+
readonly executionCount: number;
|
|
180
|
+
readonly createdBy?: string;
|
|
181
|
+
readonly createdAt: string;
|
|
182
|
+
readonly updatedAt: string;
|
|
183
|
+
readonly steps?: readonly FlowStep[];
|
|
184
|
+
}
|
|
185
|
+
interface FlowStepInput {
|
|
186
|
+
readonly stepType: FlowStepType;
|
|
187
|
+
readonly config: FlowStepConfig;
|
|
188
|
+
}
|
|
189
|
+
interface CreateFlow {
|
|
190
|
+
readonly name: string;
|
|
191
|
+
readonly description?: string;
|
|
192
|
+
readonly triggerType: FlowTriggerType;
|
|
193
|
+
readonly triggerCampaignId?: string;
|
|
194
|
+
readonly steps?: readonly FlowStepInput[];
|
|
195
|
+
}
|
|
196
|
+
interface UpdateFlow {
|
|
197
|
+
readonly name?: string;
|
|
198
|
+
readonly description?: string;
|
|
199
|
+
readonly triggerType?: FlowTriggerType;
|
|
200
|
+
readonly triggerCampaignId?: string;
|
|
201
|
+
readonly status?: FlowStatus;
|
|
202
|
+
readonly steps?: readonly FlowStepInput[];
|
|
203
|
+
}
|
|
204
|
+
interface FlowListParams extends ListParams {
|
|
205
|
+
readonly status?: FlowStatus;
|
|
206
|
+
}
|
|
207
|
+
type DecisionType = 'confirm' | 'select' | 'input';
|
|
208
|
+
type DecisionStatus = 'pending' | 'answered' | 'expired' | 'cancelled';
|
|
209
|
+
interface CreateDecision {
|
|
210
|
+
readonly question: string;
|
|
211
|
+
readonly type?: DecisionType;
|
|
212
|
+
readonly options?: readonly string[];
|
|
213
|
+
readonly externalId?: string;
|
|
214
|
+
readonly email?: string;
|
|
215
|
+
readonly callbackUrl?: string;
|
|
216
|
+
readonly agentName?: string;
|
|
217
|
+
readonly context?: string;
|
|
218
|
+
readonly placeholder?: string;
|
|
219
|
+
readonly expiresInSeconds?: number;
|
|
220
|
+
readonly wait?: boolean;
|
|
221
|
+
readonly timeoutSeconds?: number;
|
|
222
|
+
readonly idempotencyKey?: string;
|
|
223
|
+
readonly poweredBy?: boolean;
|
|
224
|
+
readonly requireReachable?: boolean;
|
|
225
|
+
}
|
|
226
|
+
interface DecisionReachability {
|
|
227
|
+
readonly reachable?: boolean;
|
|
228
|
+
readonly reachableChannels?: number;
|
|
229
|
+
readonly deviceCount?: number;
|
|
230
|
+
}
|
|
231
|
+
interface DecisionResult extends DecisionReachability {
|
|
232
|
+
readonly decisionId: string;
|
|
233
|
+
readonly status: DecisionStatus;
|
|
234
|
+
readonly answered: boolean;
|
|
235
|
+
readonly value?: string | null;
|
|
236
|
+
readonly type?: DecisionType;
|
|
237
|
+
readonly question?: string;
|
|
238
|
+
readonly pollUrl?: string;
|
|
239
|
+
readonly decisionPageUrl?: string;
|
|
240
|
+
readonly expiresInSeconds?: number;
|
|
241
|
+
readonly idempotent?: boolean;
|
|
242
|
+
readonly hint?: string;
|
|
243
|
+
}
|
|
244
|
+
interface Decision {
|
|
245
|
+
readonly decisionId: string;
|
|
246
|
+
readonly status: DecisionStatus;
|
|
247
|
+
readonly answered: boolean;
|
|
248
|
+
readonly value: string | null;
|
|
249
|
+
readonly type: DecisionType;
|
|
250
|
+
readonly question: string;
|
|
251
|
+
readonly options: readonly string[] | null;
|
|
252
|
+
readonly externalId: string | null;
|
|
253
|
+
readonly context: string | null;
|
|
254
|
+
readonly createdAt: string;
|
|
255
|
+
readonly answeredAt: string | null;
|
|
256
|
+
readonly expiresAt: string | null;
|
|
257
|
+
}
|
|
258
|
+
interface DecisionAnswerResult {
|
|
259
|
+
readonly decisionId: string;
|
|
260
|
+
readonly status: DecisionStatus;
|
|
261
|
+
readonly answered: boolean;
|
|
262
|
+
readonly value?: string | null;
|
|
263
|
+
}
|
|
264
|
+
interface CancelDecisionResult {
|
|
265
|
+
readonly decisionId: string;
|
|
266
|
+
readonly cancelled: boolean;
|
|
267
|
+
readonly status: string;
|
|
268
|
+
}
|
|
269
|
+
interface WebhookSecret {
|
|
270
|
+
readonly webhookSecret: string;
|
|
271
|
+
}
|
|
272
|
+
interface DecisionCallback {
|
|
273
|
+
readonly correlationId: string;
|
|
274
|
+
readonly answer: string;
|
|
275
|
+
readonly value: string;
|
|
276
|
+
readonly answeredAt: string;
|
|
277
|
+
readonly context?: string;
|
|
278
|
+
}
|
|
279
|
+
interface EnrollResult {
|
|
280
|
+
readonly externalId: string;
|
|
281
|
+
readonly token: string;
|
|
282
|
+
readonly deepLink: string;
|
|
283
|
+
readonly universalLink: string;
|
|
284
|
+
readonly expiresInSeconds: number;
|
|
285
|
+
}
|
|
286
|
+
interface AskDecision {
|
|
287
|
+
readonly question: string;
|
|
288
|
+
readonly type?: DecisionType;
|
|
289
|
+
readonly options?: readonly string[];
|
|
290
|
+
readonly externalId?: string;
|
|
291
|
+
readonly email?: string;
|
|
292
|
+
readonly agentName?: string;
|
|
293
|
+
readonly context?: string;
|
|
294
|
+
readonly placeholder?: string;
|
|
295
|
+
readonly expiresInSeconds?: number;
|
|
296
|
+
readonly idempotencyKey?: string;
|
|
297
|
+
readonly poweredBy?: boolean;
|
|
298
|
+
readonly callbackUrl?: string;
|
|
299
|
+
readonly requireReachable?: boolean;
|
|
300
|
+
readonly timeoutMs?: number;
|
|
301
|
+
}
|
|
302
|
+
interface AskResult extends DecisionReachability {
|
|
303
|
+
readonly decisionId: string;
|
|
304
|
+
readonly status: DecisionStatus;
|
|
305
|
+
readonly answered: boolean;
|
|
306
|
+
readonly value: string | null;
|
|
307
|
+
readonly type: DecisionType;
|
|
308
|
+
readonly approved: boolean;
|
|
309
|
+
}
|
|
310
|
+
interface IssueBoundKey {
|
|
311
|
+
readonly externalId: string;
|
|
312
|
+
readonly name?: string;
|
|
313
|
+
readonly expiresInSeconds?: number;
|
|
314
|
+
}
|
|
315
|
+
interface BoundKeyResult {
|
|
316
|
+
readonly apiKey: string;
|
|
317
|
+
readonly keyPrefix: string;
|
|
318
|
+
readonly scope: 'bound';
|
|
319
|
+
readonly boundExternalId: string;
|
|
320
|
+
readonly expiresAt: string | null;
|
|
321
|
+
}
|
|
322
|
+
interface BoundKeySummary {
|
|
323
|
+
readonly keyPrefix: string;
|
|
324
|
+
readonly name: string;
|
|
325
|
+
readonly boundExternalId: string | null;
|
|
326
|
+
readonly isActive: boolean;
|
|
327
|
+
readonly lastUsedAt: string | null;
|
|
328
|
+
readonly expiresAt: string | null;
|
|
329
|
+
readonly createdAt: string;
|
|
330
|
+
}
|
|
331
|
+
interface RevokeKeyResult {
|
|
332
|
+
readonly keyPrefix: string;
|
|
333
|
+
readonly revoked: boolean;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
interface SubscribersResource {
|
|
337
|
+
readonly list: (params?: SubscriberListParams) => Promise<PaginatedResponse<Subscriber>>;
|
|
338
|
+
readonly get: (id: string) => Promise<Subscriber>;
|
|
339
|
+
readonly update: (id: string, data: UpdateSubscriber) => Promise<Subscriber>;
|
|
340
|
+
readonly delete: (id: string) => Promise<void>;
|
|
341
|
+
readonly count: () => Promise<SubscriberCount>;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
interface CampaignsResource {
|
|
345
|
+
readonly list: (params?: ListParams) => Promise<PaginatedResponse<Campaign>>;
|
|
346
|
+
readonly create: (data: CreateCampaign) => Promise<Campaign>;
|
|
347
|
+
readonly get: (id: string) => Promise<Campaign>;
|
|
348
|
+
readonly update: (id: string, data: UpdateCampaign) => Promise<Campaign>;
|
|
349
|
+
readonly delete: (id: string) => Promise<void>;
|
|
350
|
+
readonly send: (id: string) => Promise<Campaign>;
|
|
351
|
+
readonly pause: (id: string) => Promise<Campaign>;
|
|
352
|
+
readonly resume: (id: string) => Promise<Campaign>;
|
|
353
|
+
readonly stats: (id: string) => Promise<CampaignStats>;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
interface TemplatesResource {
|
|
357
|
+
readonly list: (params?: ListParams) => Promise<PaginatedResponse<Template>>;
|
|
358
|
+
readonly create: (data: CreateTemplate) => Promise<Template>;
|
|
359
|
+
readonly get: (id: string) => Promise<Template>;
|
|
360
|
+
readonly update: (id: string, data: UpdateTemplate) => Promise<Template>;
|
|
361
|
+
readonly delete: (id: string) => Promise<void>;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
interface NotificationsResource {
|
|
365
|
+
readonly send: (data: SendNotification) => Promise<SendResult>;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
interface FlowsResource {
|
|
369
|
+
readonly list: (params?: FlowListParams) => Promise<PaginatedResponse<Flow>>;
|
|
370
|
+
readonly create: (data: CreateFlow) => Promise<Flow>;
|
|
371
|
+
readonly get: (id: string) => Promise<Flow>;
|
|
372
|
+
readonly update: (id: string, data: UpdateFlow) => Promise<Flow>;
|
|
373
|
+
readonly delete: (id: string) => Promise<void>;
|
|
374
|
+
readonly activate: (id: string) => Promise<Flow>;
|
|
375
|
+
readonly pause: (id: string) => Promise<Flow>;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
interface DecisionsResource {
|
|
379
|
+
readonly create: (data: CreateDecision) => Promise<DecisionResult>;
|
|
380
|
+
readonly get: (id: string, opts?: {
|
|
381
|
+
readonly wait?: number;
|
|
382
|
+
}) => Promise<Decision>;
|
|
383
|
+
readonly ask: (data: AskDecision) => Promise<AskResult>;
|
|
384
|
+
readonly answer: (id: string, answer: string) => Promise<DecisionAnswerResult>;
|
|
385
|
+
readonly cancel: (id: string) => Promise<CancelDecisionResult>;
|
|
386
|
+
readonly getWebhookSecret: () => Promise<WebhookSecret>;
|
|
387
|
+
readonly rotateWebhookSecret: () => Promise<WebhookSecret>;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
interface KeysResource {
|
|
391
|
+
readonly issue: (data: IssueBoundKey) => Promise<BoundKeyResult>;
|
|
392
|
+
readonly list: () => Promise<readonly BoundKeySummary[]>;
|
|
393
|
+
readonly revoke: (keyPrefix: string) => Promise<RevokeKeyResult>;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
interface PusharyServer {
|
|
397
|
+
readonly subscribers: SubscribersResource;
|
|
398
|
+
readonly campaigns: CampaignsResource;
|
|
399
|
+
readonly templates: TemplatesResource;
|
|
400
|
+
readonly notifications: NotificationsResource;
|
|
401
|
+
readonly flows: FlowsResource;
|
|
402
|
+
readonly decisions: DecisionsResource;
|
|
403
|
+
readonly keys: KeysResource;
|
|
404
|
+
readonly enroll: (externalId: string) => Promise<EnrollResult>;
|
|
405
|
+
}
|
|
406
|
+
declare const createPusharyServer: (config: PusharyConfig) => PusharyServer;
|
|
407
|
+
|
|
408
|
+
declare const SIGNATURE_HEADER = "x-pushary-signature";
|
|
409
|
+
declare const verifyWebhookSignature: (rawBody: string, signature: string | null | undefined, secret: string) => boolean;
|
|
410
|
+
declare const parseDecisionCallback: (rawBody: string) => DecisionCallback | null;
|
|
411
|
+
|
|
412
|
+
declare const deterministicKey: (parts: readonly string[]) => string;
|
|
413
|
+
declare const isApproved: (decision: {
|
|
414
|
+
readonly status: DecisionStatus;
|
|
415
|
+
readonly type?: DecisionType;
|
|
416
|
+
readonly value: string | null;
|
|
417
|
+
}) => boolean;
|
|
418
|
+
|
|
419
|
+
export { parseDecisionCallback as $, type DecisionAnswerResult as A, type CancelDecisionResult as B, type Campaign as C, type DecisionType as D, type DecisionCallback as E, type Flow as F, type EnrollResult as G, type AskDecision as H, type AskResult as I, type IssueBoundKey as J, type BoundKeyResult as K, type ListParams as L, type BoundKeySummary as M, type SubscribersResource as N, type CampaignsResource as O, type PusharyServer as P, type TemplatesResource as Q, type RevokeKeyResult as R, type Subscriber as S, type Template as T, type UpdateSubscriber as U, type NotificationsResource as V, type WebhookSecret as W, type FlowsResource as X, type DecisionsResource as Y, type KeysResource as Z, verifyWebhookSignature as _, type PusharyConfig as a, SIGNATURE_HEADER as a0, deterministicKey as a1, isApproved as a2, type SubscriberListParams as b, createPusharyServer as c, type SubscriberCount as d, type CreateCampaign as e, type UpdateCampaign as f, type CampaignStats as g, type CreateTemplate as h, type UpdateTemplate as i, type SendNotification as j, type SendResult as k, type CreateFlow as l, type UpdateFlow as m, type FlowListParams as n, type FlowTriggerType as o, type FlowStepType as p, type FlowStatus as q, type FlowStep as r, type FlowStepConfig as s, type FlowStepInput as t, type PaginatedResponse as u, type DecisionStatus as v, type CreateDecision as w, type DecisionReachability as x, type DecisionResult as y, type Decision as z };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pushary/server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Pushary Server SDK: send push notifications and add human-in-the-loop approvals to your AI agent (pause on a decision until a specific human answers).",
|
|
5
5
|
"author": "Pushary <business@pushary.com>",
|
|
6
6
|
"homepage": "https://pushary.com",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"types": "./dist/index.d.ts",
|
|
18
18
|
"import": "./dist/index.js",
|
|
19
19
|
"require": "./dist/index.cjs"
|
|
20
|
+
},
|
|
21
|
+
"./adapters": {
|
|
22
|
+
"types": "./dist/adapters.d.ts",
|
|
23
|
+
"import": "./dist/adapters.js",
|
|
24
|
+
"require": "./dist/adapters.cjs"
|
|
20
25
|
}
|
|
21
26
|
},
|
|
22
27
|
"files": [
|