better-zap 25.0.1 → 25.0.3
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 +30 -0
- package/dist/{client-DNlBPLBd.d.cts → client-B49AT0HF.d.mts} +75 -13
- package/dist/{client-DiHHMG8t.d.mts → client-B6XKmfej.d.cts} +75 -13
- package/dist/client.d.cts +1 -1
- package/dist/client.d.mts +1 -1
- package/dist/index.cjs +1570 -86
- package/dist/index.d.cts +389 -10
- package/dist/index.d.mts +389 -10
- package/dist/index.mjs +1549 -83
- package/dist/s3.cjs +140 -0
- package/dist/s3.d.cts +49 -0
- package/dist/s3.d.mts +49 -0
- package/dist/s3.mjs +138 -0
- package/dist/types-B9sxujNH.d.mts +121 -0
- package/dist/types-C3niCOVI.d.cts +121 -0
- package/dist/types-CITvQMYt.cjs +216 -0
- package/dist/types-ClrLWuyK.mjs +127 -0
- package/package.json +16 -2
package/README.md
CHANGED
|
@@ -10,3 +10,33 @@ Framework-agnostic Better Zap core.
|
|
|
10
10
|
- logging primitives and message log store interfaces
|
|
11
11
|
- transport-neutral webhook event and plugin contracts
|
|
12
12
|
- link preview helpers: `firstLinkIn(text)` and `parseOpenGraph(html, pageUrl)` (fetching stays in your app; see the [link previews guide](https://github.com/Dosbodoke/better-zap/blob/main/landing/content/docs/guides/link-previews.mdx))
|
|
13
|
+
- `MediaStore` interface for keeping incoming media past Meta's 7-day expiry, and an S3-compatible adapter at `better-zap/s3` (`createS3MediaStore`, for R2, AWS S3, MinIO and B2; see the [media storage guide](https://github.com/Dosbodoke/better-zap/blob/main/landing/content/docs/guides/media-storage.mdx))
|
|
14
|
+
|
|
15
|
+
## Coexistence onboarding
|
|
16
|
+
|
|
17
|
+
`launchCoexistenceEmbeddedSignup()` waits for both halves of an Embedded Signup
|
|
18
|
+
completion: the `FB.login` code and the `WA_EMBEDDED_SIGNUP` session event.
|
|
19
|
+
They can arrive in either order. `controller.result` settles once with a
|
|
20
|
+
`status`:
|
|
21
|
+
|
|
22
|
+
| Status | Meaning |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| `completed` | FINISH event and code both arrived. |
|
|
25
|
+
| `finished_without_code` | FINISH arrived without a code. Meta sends the code only when the customer clicks Finish. |
|
|
26
|
+
| `missing_session` | A code arrived but no terminal event did within `joinTimeoutMs`. This is not a confirmed onboarding. |
|
|
27
|
+
| `cancelled` / `error` | The latest terminal event was CANCEL / ERROR. |
|
|
28
|
+
| `no_authorization` | The login callback had no code and no event arrived. |
|
|
29
|
+
| `torn_down` | `teardown()` ran first. |
|
|
30
|
+
|
|
31
|
+
Session events are accepted from `facebook.com` origins when they have no
|
|
32
|
+
`version` (Meta's documented shape) or `version: 3`. Other versions and
|
|
33
|
+
malformed data are ignored. `joinTimeoutMs` defaults to 5000. Codes expire after
|
|
34
|
+
about 30 seconds, so keep it short. `result` rejects only if `FB.login` throws.
|
|
35
|
+
|
|
36
|
+
`CoexistenceService.exchangeEmbeddedSignupCode()` sends `redirect_uri` only when
|
|
37
|
+
you pass `redirectUri`. Failures keep `error`, `errorCode`, `httpStatus` and the
|
|
38
|
+
raw `details` body. They also include `diagnostics`, a log-safe summary with
|
|
39
|
+
`kind`, HTTP status, Graph code, subcode, type, `fbtraceId` and `retryable`. It
|
|
40
|
+
never contains tokens, the app secret, the code, URLs or Meta's message text.
|
|
41
|
+
Log `diagnostics`, not `details`. A 200 response without an access token
|
|
42
|
+
returns `kind: "malformed_response"`.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { d as MessageMedia, o as MediaDownloadOptions, s as MediaDownloadResult } from "./types-B9sxujNH.mjs";
|
|
2
|
+
|
|
1
3
|
//#region src/types/whatsapp.types.d.ts
|
|
2
4
|
/**
|
|
3
5
|
* Meta WhatsApp Cloud API v25.0 Type Definitions
|
|
@@ -227,7 +229,7 @@ interface IncomingMessage {
|
|
|
227
229
|
from: string;
|
|
228
230
|
id: string;
|
|
229
231
|
timestamp: string;
|
|
230
|
-
type: "text" | "image" | "audio" | "video" | "document" | "location" | "contacts" | "interactive" | "button" | "reaction" | "sticker" | "unsupported" | (string & {});
|
|
232
|
+
type: "text" | "image" | "audio" | "video" | "document" | "location" | "contacts" | "interactive" | "button" | "reaction" | "sticker" | "unsupported" /** Coexistence history media with the content omitted. See `isMediaPlaceholder`. */ | "media_placeholder" | (string & {});
|
|
231
233
|
text?: {
|
|
232
234
|
body: string;
|
|
233
235
|
};
|
|
@@ -237,6 +239,9 @@ interface IncomingMessage {
|
|
|
237
239
|
document?: MediaMessage & {
|
|
238
240
|
filename?: string;
|
|
239
241
|
};
|
|
242
|
+
sticker?: MediaMessage & {
|
|
243
|
+
animated?: boolean;
|
|
244
|
+
};
|
|
240
245
|
location?: {
|
|
241
246
|
latitude: number;
|
|
242
247
|
longitude: number;
|
|
@@ -391,7 +396,15 @@ type ConversationUpdateEvent = {
|
|
|
391
396
|
conversationId: string;
|
|
392
397
|
updates: Partial<ConversationSummary>;
|
|
393
398
|
};
|
|
394
|
-
|
|
399
|
+
/**
|
|
400
|
+
* An existing message changed, e.g. a history media placeholder was replaced
|
|
401
|
+
* by the real media, or its media file was stored (`metadata.media`).
|
|
402
|
+
*/
|
|
403
|
+
type MessageUpdateEvent = {
|
|
404
|
+
type: "MESSAGE_UPDATE";
|
|
405
|
+
message: WhatsAppLogRecord;
|
|
406
|
+
};
|
|
407
|
+
type SyncEvent = NewMessageEvent | StatusUpdateEvent | ConversationUpdateEvent | MessageUpdateEvent;
|
|
395
408
|
//#endregion
|
|
396
409
|
//#region src/logger.d.ts
|
|
397
410
|
/**
|
|
@@ -501,6 +514,7 @@ declare class MessageLoggerService {
|
|
|
501
514
|
private log;
|
|
502
515
|
constructor(store: WhatsAppLogStore, log: Logger, notifier?: MessageLoggerNotifier | undefined);
|
|
503
516
|
private notify;
|
|
517
|
+
private notifyNewMessage;
|
|
504
518
|
getConversationById(conversationId: string): Promise<Conversation | null>;
|
|
505
519
|
getConversationByPhone(phone: string): Promise<Conversation | null>;
|
|
506
520
|
getConversations(): Promise<Conversation[]>;
|
|
@@ -551,18 +565,55 @@ declare class MessageLoggerService {
|
|
|
551
565
|
* Log an imported WhatsApp message with an explicit direction and timestamp.
|
|
552
566
|
* Used by coexistence history imports and app echo webhooks where the message
|
|
553
567
|
* did not originate from the local send API call.
|
|
568
|
+
*
|
|
569
|
+
* Returns true only when a new row was created. See {@link importMessage}
|
|
570
|
+
* for the detailed result, including placeholder upgrades.
|
|
554
571
|
*/
|
|
555
|
-
logImportedMessage(params:
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
572
|
+
logImportedMessage(params: ImportMessageParams): Promise<boolean>;
|
|
573
|
+
/**
|
|
574
|
+
* Import a WhatsApp message, deduplicated by `waMessageId`.
|
|
575
|
+
*
|
|
576
|
+
* When a row with the same id already exists and still holds a history media
|
|
577
|
+
* placeholder (see {@link hasPendingMedia}), and the new message has real
|
|
578
|
+
* content, the stored content and metadata are replaced and a
|
|
579
|
+
* `MESSAGE_UPDATE` sync event is sent. A placeholder never overwrites real
|
|
580
|
+
* content.
|
|
581
|
+
*
|
|
582
|
+
* Relies on `createWhatsAppLog` returning the existing row with
|
|
583
|
+
* `created: false` for a known `waMessageId`.
|
|
584
|
+
*/
|
|
585
|
+
importMessage(params: ImportMessageParams): Promise<ImportMessageResult>;
|
|
586
|
+
/**
|
|
587
|
+
* Save the result of a media download as `metadata.media` on a stored
|
|
588
|
+
* message and send a `MESSAGE_UPDATE` sync event.
|
|
589
|
+
*
|
|
590
|
+
* Only the `media` field is written; other metadata fields are kept. A
|
|
591
|
+
* stored file is never replaced by a failed or skipped result.
|
|
592
|
+
*
|
|
593
|
+
* Returns the updated record, or `null` when the message isn't stored or
|
|
594
|
+
* the update was skipped.
|
|
595
|
+
*/
|
|
596
|
+
setMessageMedia(waMessageId: string, media: MessageMedia): Promise<WhatsAppLogRecord | null>;
|
|
597
|
+
/** Writes `updates` to a stored message and sends `MESSAGE_UPDATE`. */
|
|
598
|
+
private updateMessage;
|
|
599
|
+
private replaceMediaPlaceholder;
|
|
565
600
|
}
|
|
601
|
+
type ImportMessageParams = {
|
|
602
|
+
phone: string;
|
|
603
|
+
waMessageId: string;
|
|
604
|
+
direction: WhatsAppDirection;
|
|
605
|
+
content: string;
|
|
606
|
+
sentAt: string;
|
|
607
|
+
senderName?: string;
|
|
608
|
+
messageType?: WhatsAppMessageType;
|
|
609
|
+
metadata?: Record<string, unknown>;
|
|
610
|
+
};
|
|
611
|
+
/**
|
|
612
|
+
* - `created`: a new row was stored.
|
|
613
|
+
* - `duplicate`: a row with this `waMessageId` already existed and was left as is.
|
|
614
|
+
* - `upgraded`: a stored media placeholder was replaced with the real media.
|
|
615
|
+
*/
|
|
616
|
+
type ImportMessageResult = "created" | "duplicate" | "upgraded";
|
|
566
617
|
//#endregion
|
|
567
618
|
//#region src/services/whatsapp.service.d.ts
|
|
568
619
|
interface OutgoingLoggingMetadata {
|
|
@@ -621,6 +672,17 @@ declare class WhatsAppService {
|
|
|
621
672
|
* @see https://developers.facebook.com/docs/whatsapp/cloud-api/messages/reaction-messages
|
|
622
673
|
*/
|
|
623
674
|
sendReaction(to: string, messageId: string, emoji: string): Promise<SendResult>;
|
|
675
|
+
/**
|
|
676
|
+
* Download a media file received in a webhook (image, audio, video,
|
|
677
|
+
* document or sticker), using the configured access token.
|
|
678
|
+
*
|
|
679
|
+
* Meta deletes webhook media after 7 days. Never throws: failures and files
|
|
680
|
+
* over `maxBytes` are returned as results. Runs in development mode too,
|
|
681
|
+
* since it sends nothing.
|
|
682
|
+
*
|
|
683
|
+
* @see https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media
|
|
684
|
+
*/
|
|
685
|
+
downloadMedia(mediaId: string, options?: MediaDownloadOptions): Promise<MediaDownloadResult>;
|
|
624
686
|
/** Core send method with retry logic (2 retries, exponential backoff). */
|
|
625
687
|
private send;
|
|
626
688
|
private logSendResult;
|
|
@@ -847,4 +909,4 @@ interface ZapClient<TTemplates extends TemplateRegistry = {}> {
|
|
|
847
909
|
}
|
|
848
910
|
declare function createZapClient<TTemplates extends TemplateRegistry = {}>(options?: ZapClientOptions<TTemplates>): ZapClient<TTemplates>;
|
|
849
911
|
//#endregion
|
|
850
|
-
export {
|
|
912
|
+
export { SendInteractiveMediaCarouselData as $, WhatsAppMessageType as A, MessageUpdateEvent as B, ImportMessageResult as C, WhatsAppDirection as D, WHATSAPP_MESSAGE_TYPES as E, createLogger as F, Conversation as G, StatusUpdateEvent as H, noopLogger as I, IncomingMessage as J, ConversationRecord as K, serializeError as L, LogLevel as M, Logger as N, WhatsAppLogRecord as O, LoggerConfig as P, MessageStatus as Q, ConversationSummary as R, ImportMessageParams as S, MessageLoggerService as T, SyncEvent as U, NewMessageEvent as V, WhatsAppConfig as W, MediaMessage as X, InteractiveMediaCarouselCardInput as Y, MessageError as Z, getTemplateNames as _, WhatsAppLocationMessage as _t, createZapClient as a, UIMessage as at, OutgoingLoggingMetadata as b, WhatsAppWebhookField as bt, SupportedTemplateParameterType as c, WebhookContact as ct, TemplateName as d, WebhookPayload as dt, SendMessageError as et, TemplateParameterDefinition as f, WebhookValue as ft, defineTemplates as g, WhatsAppInteractiveMediaCarouselMessage as gt, TemplateRegistry as h, WhatsAppInteractiveListMessage as ht, apiKeyTransport as i, TemplateParameter as it, WhatsAppStatus as j, WhatsAppLogStore as k, TemplateComponentDefinition as l, WebhookEntry as lt, TemplateParams as m, WhatsAppInteractiveButtonsMessage as mt, ZapClient as n, SendResult as nt, sessionTransport as o, UIMessageStatus as ot, TemplateParameterInputMap as p, WhatsAppCarouselCard as pt, FreeformMessageWindow as q, ZapTransport as r, TemplateComponent as rt, EMPTY_TEMPLATE_REGISTRY as s, WebhookChange as st, BetterZapClientError as t, SendMessageResponse as tt, TemplateDefinition as u, WebhookError as ut, hasConfiguredTemplates as v, WhatsAppTemplateMessage as vt, MessageLoggerNotifier as w, WhatsAppService as x, serializeTemplateFromRegistry as y, WhatsAppTextMessage as yt, ConversationUpdateEvent as z };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { d as MessageMedia, o as MediaDownloadOptions, s as MediaDownloadResult } from "./types-C3niCOVI.cjs";
|
|
2
|
+
|
|
1
3
|
//#region src/types/whatsapp.types.d.ts
|
|
2
4
|
/**
|
|
3
5
|
* Meta WhatsApp Cloud API v25.0 Type Definitions
|
|
@@ -227,7 +229,7 @@ interface IncomingMessage {
|
|
|
227
229
|
from: string;
|
|
228
230
|
id: string;
|
|
229
231
|
timestamp: string;
|
|
230
|
-
type: "text" | "image" | "audio" | "video" | "document" | "location" | "contacts" | "interactive" | "button" | "reaction" | "sticker" | "unsupported" | (string & {});
|
|
232
|
+
type: "text" | "image" | "audio" | "video" | "document" | "location" | "contacts" | "interactive" | "button" | "reaction" | "sticker" | "unsupported" /** Coexistence history media with the content omitted. See `isMediaPlaceholder`. */ | "media_placeholder" | (string & {});
|
|
231
233
|
text?: {
|
|
232
234
|
body: string;
|
|
233
235
|
};
|
|
@@ -237,6 +239,9 @@ interface IncomingMessage {
|
|
|
237
239
|
document?: MediaMessage & {
|
|
238
240
|
filename?: string;
|
|
239
241
|
};
|
|
242
|
+
sticker?: MediaMessage & {
|
|
243
|
+
animated?: boolean;
|
|
244
|
+
};
|
|
240
245
|
location?: {
|
|
241
246
|
latitude: number;
|
|
242
247
|
longitude: number;
|
|
@@ -391,7 +396,15 @@ type ConversationUpdateEvent = {
|
|
|
391
396
|
conversationId: string;
|
|
392
397
|
updates: Partial<ConversationSummary>;
|
|
393
398
|
};
|
|
394
|
-
|
|
399
|
+
/**
|
|
400
|
+
* An existing message changed, e.g. a history media placeholder was replaced
|
|
401
|
+
* by the real media, or its media file was stored (`metadata.media`).
|
|
402
|
+
*/
|
|
403
|
+
type MessageUpdateEvent = {
|
|
404
|
+
type: "MESSAGE_UPDATE";
|
|
405
|
+
message: WhatsAppLogRecord;
|
|
406
|
+
};
|
|
407
|
+
type SyncEvent = NewMessageEvent | StatusUpdateEvent | ConversationUpdateEvent | MessageUpdateEvent;
|
|
395
408
|
//#endregion
|
|
396
409
|
//#region src/logger.d.ts
|
|
397
410
|
/**
|
|
@@ -501,6 +514,7 @@ declare class MessageLoggerService {
|
|
|
501
514
|
private log;
|
|
502
515
|
constructor(store: WhatsAppLogStore, log: Logger, notifier?: MessageLoggerNotifier | undefined);
|
|
503
516
|
private notify;
|
|
517
|
+
private notifyNewMessage;
|
|
504
518
|
getConversationById(conversationId: string): Promise<Conversation | null>;
|
|
505
519
|
getConversationByPhone(phone: string): Promise<Conversation | null>;
|
|
506
520
|
getConversations(): Promise<Conversation[]>;
|
|
@@ -551,18 +565,55 @@ declare class MessageLoggerService {
|
|
|
551
565
|
* Log an imported WhatsApp message with an explicit direction and timestamp.
|
|
552
566
|
* Used by coexistence history imports and app echo webhooks where the message
|
|
553
567
|
* did not originate from the local send API call.
|
|
568
|
+
*
|
|
569
|
+
* Returns true only when a new row was created. See {@link importMessage}
|
|
570
|
+
* for the detailed result, including placeholder upgrades.
|
|
554
571
|
*/
|
|
555
|
-
logImportedMessage(params:
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
572
|
+
logImportedMessage(params: ImportMessageParams): Promise<boolean>;
|
|
573
|
+
/**
|
|
574
|
+
* Import a WhatsApp message, deduplicated by `waMessageId`.
|
|
575
|
+
*
|
|
576
|
+
* When a row with the same id already exists and still holds a history media
|
|
577
|
+
* placeholder (see {@link hasPendingMedia}), and the new message has real
|
|
578
|
+
* content, the stored content and metadata are replaced and a
|
|
579
|
+
* `MESSAGE_UPDATE` sync event is sent. A placeholder never overwrites real
|
|
580
|
+
* content.
|
|
581
|
+
*
|
|
582
|
+
* Relies on `createWhatsAppLog` returning the existing row with
|
|
583
|
+
* `created: false` for a known `waMessageId`.
|
|
584
|
+
*/
|
|
585
|
+
importMessage(params: ImportMessageParams): Promise<ImportMessageResult>;
|
|
586
|
+
/**
|
|
587
|
+
* Save the result of a media download as `metadata.media` on a stored
|
|
588
|
+
* message and send a `MESSAGE_UPDATE` sync event.
|
|
589
|
+
*
|
|
590
|
+
* Only the `media` field is written; other metadata fields are kept. A
|
|
591
|
+
* stored file is never replaced by a failed or skipped result.
|
|
592
|
+
*
|
|
593
|
+
* Returns the updated record, or `null` when the message isn't stored or
|
|
594
|
+
* the update was skipped.
|
|
595
|
+
*/
|
|
596
|
+
setMessageMedia(waMessageId: string, media: MessageMedia): Promise<WhatsAppLogRecord | null>;
|
|
597
|
+
/** Writes `updates` to a stored message and sends `MESSAGE_UPDATE`. */
|
|
598
|
+
private updateMessage;
|
|
599
|
+
private replaceMediaPlaceholder;
|
|
565
600
|
}
|
|
601
|
+
type ImportMessageParams = {
|
|
602
|
+
phone: string;
|
|
603
|
+
waMessageId: string;
|
|
604
|
+
direction: WhatsAppDirection;
|
|
605
|
+
content: string;
|
|
606
|
+
sentAt: string;
|
|
607
|
+
senderName?: string;
|
|
608
|
+
messageType?: WhatsAppMessageType;
|
|
609
|
+
metadata?: Record<string, unknown>;
|
|
610
|
+
};
|
|
611
|
+
/**
|
|
612
|
+
* - `created`: a new row was stored.
|
|
613
|
+
* - `duplicate`: a row with this `waMessageId` already existed and was left as is.
|
|
614
|
+
* - `upgraded`: a stored media placeholder was replaced with the real media.
|
|
615
|
+
*/
|
|
616
|
+
type ImportMessageResult = "created" | "duplicate" | "upgraded";
|
|
566
617
|
//#endregion
|
|
567
618
|
//#region src/services/whatsapp.service.d.ts
|
|
568
619
|
interface OutgoingLoggingMetadata {
|
|
@@ -621,6 +672,17 @@ declare class WhatsAppService {
|
|
|
621
672
|
* @see https://developers.facebook.com/docs/whatsapp/cloud-api/messages/reaction-messages
|
|
622
673
|
*/
|
|
623
674
|
sendReaction(to: string, messageId: string, emoji: string): Promise<SendResult>;
|
|
675
|
+
/**
|
|
676
|
+
* Download a media file received in a webhook (image, audio, video,
|
|
677
|
+
* document or sticker), using the configured access token.
|
|
678
|
+
*
|
|
679
|
+
* Meta deletes webhook media after 7 days. Never throws: failures and files
|
|
680
|
+
* over `maxBytes` are returned as results. Runs in development mode too,
|
|
681
|
+
* since it sends nothing.
|
|
682
|
+
*
|
|
683
|
+
* @see https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media
|
|
684
|
+
*/
|
|
685
|
+
downloadMedia(mediaId: string, options?: MediaDownloadOptions): Promise<MediaDownloadResult>;
|
|
624
686
|
/** Core send method with retry logic (2 retries, exponential backoff). */
|
|
625
687
|
private send;
|
|
626
688
|
private logSendResult;
|
|
@@ -847,4 +909,4 @@ interface ZapClient<TTemplates extends TemplateRegistry = {}> {
|
|
|
847
909
|
}
|
|
848
910
|
declare function createZapClient<TTemplates extends TemplateRegistry = {}>(options?: ZapClientOptions<TTemplates>): ZapClient<TTemplates>;
|
|
849
911
|
//#endregion
|
|
850
|
-
export {
|
|
912
|
+
export { SendInteractiveMediaCarouselData as $, WhatsAppMessageType as A, MessageUpdateEvent as B, ImportMessageResult as C, WhatsAppDirection as D, WHATSAPP_MESSAGE_TYPES as E, createLogger as F, Conversation as G, StatusUpdateEvent as H, noopLogger as I, IncomingMessage as J, ConversationRecord as K, serializeError as L, LogLevel as M, Logger as N, WhatsAppLogRecord as O, LoggerConfig as P, MessageStatus as Q, ConversationSummary as R, ImportMessageParams as S, MessageLoggerService as T, SyncEvent as U, NewMessageEvent as V, WhatsAppConfig as W, MediaMessage as X, InteractiveMediaCarouselCardInput as Y, MessageError as Z, getTemplateNames as _, WhatsAppLocationMessage as _t, createZapClient as a, UIMessage as at, OutgoingLoggingMetadata as b, WhatsAppWebhookField as bt, SupportedTemplateParameterType as c, WebhookContact as ct, TemplateName as d, WebhookPayload as dt, SendMessageError as et, TemplateParameterDefinition as f, WebhookValue as ft, defineTemplates as g, WhatsAppInteractiveMediaCarouselMessage as gt, TemplateRegistry as h, WhatsAppInteractiveListMessage as ht, apiKeyTransport as i, TemplateParameter as it, WhatsAppStatus as j, WhatsAppLogStore as k, TemplateComponentDefinition as l, WebhookEntry as lt, TemplateParams as m, WhatsAppInteractiveButtonsMessage as mt, ZapClient as n, SendResult as nt, sessionTransport as o, UIMessageStatus as ot, TemplateParameterInputMap as p, WhatsAppCarouselCard as pt, FreeformMessageWindow as q, ZapTransport as r, TemplateComponent as rt, EMPTY_TEMPLATE_REGISTRY as s, WebhookChange as st, BetterZapClientError as t, SendMessageResponse as tt, TemplateDefinition as u, WebhookError as ut, hasConfiguredTemplates as v, WhatsAppTemplateMessage as vt, MessageLoggerNotifier as w, WhatsAppService as x, serializeTemplateFromRegistry as y, WhatsAppTextMessage as yt, ConversationUpdateEvent as z };
|
package/dist/client.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as createZapClient, i as apiKeyTransport, n as ZapClient, o as sessionTransport, r as ZapTransport, t as BetterZapClientError } from "./client-
|
|
1
|
+
import { a as createZapClient, i as apiKeyTransport, n as ZapClient, o as sessionTransport, r as ZapTransport, t as BetterZapClientError } from "./client-B6XKmfej.cjs";
|
|
2
2
|
export { BetterZapClientError, ZapClient, ZapTransport, apiKeyTransport, createZapClient, sessionTransport };
|
package/dist/client.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as createZapClient, i as apiKeyTransport, n as ZapClient, o as sessionTransport, r as ZapTransport, t as BetterZapClientError } from "./client-
|
|
1
|
+
import { a as createZapClient, i as apiKeyTransport, n as ZapClient, o as sessionTransport, r as ZapTransport, t as BetterZapClientError } from "./client-B49AT0HF.mjs";
|
|
2
2
|
export { BetterZapClientError, ZapClient, ZapTransport, apiKeyTransport, createZapClient, sessionTransport };
|