@polymorfa/sdk 0.1.0-dev.20260922093854
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/LICENSE +21 -0
- package/README.md +1881 -0
- package/dist/bridge.d.ts +31 -0
- package/dist/bridge.d.ts.map +1 -0
- package/dist/bridge.js +39 -0
- package/dist/bridge.js.map +1 -0
- package/dist/calls/api.d.ts +109 -0
- package/dist/calls/api.d.ts.map +1 -0
- package/dist/calls/api.js +179 -0
- package/dist/calls/api.js.map +1 -0
- package/dist/calls/call.d.ts +286 -0
- package/dist/calls/call.d.ts.map +1 -0
- package/dist/calls/call.js +860 -0
- package/dist/calls/call.js.map +1 -0
- package/dist/calls/client.d.ts +124 -0
- package/dist/calls/client.d.ts.map +1 -0
- package/dist/calls/client.js +447 -0
- package/dist/calls/client.js.map +1 -0
- package/dist/calls/diagnostics.d.ts +74 -0
- package/dist/calls/diagnostics.d.ts.map +1 -0
- package/dist/calls/diagnostics.js +133 -0
- package/dist/calls/diagnostics.js.map +1 -0
- package/dist/calls/errors.d.ts +37 -0
- package/dist/calls/errors.d.ts.map +1 -0
- package/dist/calls/errors.js +52 -0
- package/dist/calls/errors.js.map +1 -0
- package/dist/calls/events.d.ts +15 -0
- package/dist/calls/events.d.ts.map +1 -0
- package/dist/calls/events.js +34 -0
- package/dist/calls/events.js.map +1 -0
- package/dist/calls/index.d.ts +6 -0
- package/dist/calls/index.d.ts.map +1 -0
- package/dist/calls/index.js +7 -0
- package/dist/calls/index.js.map +1 -0
- package/dist/calls/internal.d.ts +18 -0
- package/dist/calls/internal.d.ts.map +1 -0
- package/dist/calls/internal.js +18 -0
- package/dist/calls/internal.js.map +1 -0
- package/dist/calls/lifecycle.d.ts +111 -0
- package/dist/calls/lifecycle.d.ts.map +1 -0
- package/dist/calls/lifecycle.js +490 -0
- package/dist/calls/lifecycle.js.map +1 -0
- package/dist/calls/media.d.ts +102 -0
- package/dist/calls/media.d.ts.map +1 -0
- package/dist/calls/media.js +414 -0
- package/dist/calls/media.js.map +1 -0
- package/dist/calls/protocol.d.ts +216 -0
- package/dist/calls/protocol.d.ts.map +1 -0
- package/dist/calls/protocol.js +268 -0
- package/dist/calls/protocol.js.map +1 -0
- package/dist/calls/token.d.ts +43 -0
- package/dist/calls/token.d.ts.map +1 -0
- package/dist/calls/token.js +146 -0
- package/dist/calls/token.js.map +1 -0
- package/dist/client.d.ts +65 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +119 -0
- package/dist/client.js.map +1 -0
- package/dist/credentials.d.ts +50 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +73 -0
- package/dist/credentials.js.map +1 -0
- package/dist/errors.d.ts +71 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +129 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +70 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/media/whatsapp.d.ts +105 -0
- package/dist/media/whatsapp.d.ts.map +1 -0
- package/dist/media/whatsapp.js +624 -0
- package/dist/media/whatsapp.js.map +1 -0
- package/dist/messaging/bansafe.d.ts +30 -0
- package/dist/messaging/bansafe.d.ts.map +1 -0
- package/dist/messaging/bansafe.js +86 -0
- package/dist/messaging/bansafe.js.map +1 -0
- package/dist/messaging/business.d.ts +35 -0
- package/dist/messaging/business.d.ts.map +1 -0
- package/dist/messaging/business.js +145 -0
- package/dist/messaging/business.js.map +1 -0
- package/dist/messaging/calls.d.ts +9 -0
- package/dist/messaging/calls.d.ts.map +1 -0
- package/dist/messaging/calls.js +16 -0
- package/dist/messaging/calls.js.map +1 -0
- package/dist/messaging/campaigns.d.ts +19 -0
- package/dist/messaging/campaigns.d.ts.map +1 -0
- package/dist/messaging/campaigns.js +77 -0
- package/dist/messaging/campaigns.js.map +1 -0
- package/dist/messaging/channels.d.ts +23 -0
- package/dist/messaging/channels.d.ts.map +1 -0
- package/dist/messaging/channels.js +104 -0
- package/dist/messaging/channels.js.map +1 -0
- package/dist/messaging/chats.d.ts +14 -0
- package/dist/messaging/chats.d.ts.map +1 -0
- package/dist/messaging/chats.js +51 -0
- package/dist/messaging/chats.js.map +1 -0
- package/dist/messaging/client-tokens.d.ts +15 -0
- package/dist/messaging/client-tokens.d.ts.map +1 -0
- package/dist/messaging/client-tokens.js +64 -0
- package/dist/messaging/client-tokens.js.map +1 -0
- package/dist/messaging/client.d.ts +58 -0
- package/dist/messaging/client.d.ts.map +1 -0
- package/dist/messaging/client.js +100 -0
- package/dist/messaging/client.js.map +1 -0
- package/dist/messaging/contacts.d.ts +20 -0
- package/dist/messaging/contacts.d.ts.map +1 -0
- package/dist/messaging/contacts.js +75 -0
- package/dist/messaging/contacts.js.map +1 -0
- package/dist/messaging/groups.d.ts +34 -0
- package/dist/messaging/groups.d.ts.map +1 -0
- package/dist/messaging/groups.js +97 -0
- package/dist/messaging/groups.js.map +1 -0
- package/dist/messaging/identities.d.ts +9 -0
- package/dist/messaging/identities.d.ts.map +1 -0
- package/dist/messaging/identities.js +21 -0
- package/dist/messaging/identities.js.map +1 -0
- package/dist/messaging/labels.d.ts +16 -0
- package/dist/messaging/labels.d.ts.map +1 -0
- package/dist/messaging/labels.js +65 -0
- package/dist/messaging/labels.js.map +1 -0
- package/dist/messaging/media.d.ts +72 -0
- package/dist/messaging/media.d.ts.map +1 -0
- package/dist/messaging/media.js +142 -0
- package/dist/messaging/media.js.map +1 -0
- package/dist/messaging/messages.d.ts +18 -0
- package/dist/messaging/messages.d.ts.map +1 -0
- package/dist/messaging/messages.js +32 -0
- package/dist/messaging/messages.js.map +1 -0
- package/dist/messaging/observation-policies.d.ts +10 -0
- package/dist/messaging/observation-policies.d.ts.map +1 -0
- package/dist/messaging/observation-policies.js +28 -0
- package/dist/messaging/observation-policies.js.map +1 -0
- package/dist/messaging/onboarding.d.ts +53 -0
- package/dist/messaging/onboarding.d.ts.map +1 -0
- package/dist/messaging/onboarding.js +69 -0
- package/dist/messaging/onboarding.js.map +1 -0
- package/dist/messaging/presence.d.ts +12 -0
- package/dist/messaging/presence.d.ts.map +1 -0
- package/dist/messaging/presence.js +43 -0
- package/dist/messaging/presence.js.map +1 -0
- package/dist/messaging/privacy.d.ts +11 -0
- package/dist/messaging/privacy.d.ts.map +1 -0
- package/dist/messaging/privacy.js +34 -0
- package/dist/messaging/privacy.js.map +1 -0
- package/dist/messaging/profile.d.ts +13 -0
- package/dist/messaging/profile.d.ts.map +1 -0
- package/dist/messaging/profile.js +49 -0
- package/dist/messaging/profile.js.map +1 -0
- package/dist/messaging/quick-replies.d.ts +13 -0
- package/dist/messaging/quick-replies.d.ts.map +1 -0
- package/dist/messaging/quick-replies.js +45 -0
- package/dist/messaging/quick-replies.js.map +1 -0
- package/dist/messaging/quicklinks.d.ts +69 -0
- package/dist/messaging/quicklinks.d.ts.map +1 -0
- package/dist/messaging/quicklinks.js +45 -0
- package/dist/messaging/quicklinks.js.map +1 -0
- package/dist/messaging/session-configuration.d.ts +67 -0
- package/dist/messaging/session-configuration.d.ts.map +1 -0
- package/dist/messaging/session-configuration.js +2 -0
- package/dist/messaging/session-configuration.js.map +1 -0
- package/dist/messaging/sessions.d.ts +26 -0
- package/dist/messaging/sessions.d.ts.map +1 -0
- package/dist/messaging/sessions.js +108 -0
- package/dist/messaging/sessions.js.map +1 -0
- package/dist/messaging/templates.d.ts +15 -0
- package/dist/messaging/templates.d.ts.map +1 -0
- package/dist/messaging/templates.js +67 -0
- package/dist/messaging/templates.js.map +1 -0
- package/dist/messaging/testing-configuration.d.ts +89 -0
- package/dist/messaging/testing-configuration.d.ts.map +1 -0
- package/dist/messaging/testing-configuration.js +14 -0
- package/dist/messaging/testing-configuration.js.map +1 -0
- package/dist/messaging/types.d.ts +1793 -0
- package/dist/messaging/types.d.ts.map +1 -0
- package/dist/messaging/types.js +25 -0
- package/dist/messaging/types.js.map +1 -0
- package/dist/messaging/users.d.ts +9 -0
- package/dist/messaging/users.d.ts.map +1 -0
- package/dist/messaging/users.js +15 -0
- package/dist/messaging/users.js.map +1 -0
- package/dist/messaging/voip.d.ts +51 -0
- package/dist/messaging/voip.d.ts.map +1 -0
- package/dist/messaging/voip.js +293 -0
- package/dist/messaging/voip.js.map +1 -0
- package/dist/messaging/webhooks.d.ts +13 -0
- package/dist/messaging/webhooks.d.ts.map +1 -0
- package/dist/messaging/webhooks.js +48 -0
- package/dist/messaging/webhooks.js.map +1 -0
- package/dist/node.d.ts +55 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +237 -0
- package/dist/node.js.map +1 -0
- package/dist/pagination.d.ts +24 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +28 -0
- package/dist/pagination.js.map +1 -0
- package/dist/platform/api-keys.d.ts +10 -0
- package/dist/platform/api-keys.d.ts.map +1 -0
- package/dist/platform/api-keys.js +22 -0
- package/dist/platform/api-keys.js.map +1 -0
- package/dist/platform/audiences.d.ts +16 -0
- package/dist/platform/audiences.d.ts.map +1 -0
- package/dist/platform/audiences.js +46 -0
- package/dist/platform/audiences.js.map +1 -0
- package/dist/platform/audit-logs.d.ts +9 -0
- package/dist/platform/audit-logs.d.ts.map +1 -0
- package/dist/platform/audit-logs.js +20 -0
- package/dist/platform/audit-logs.js.map +1 -0
- package/dist/platform/bansafe.d.ts +24 -0
- package/dist/platform/bansafe.d.ts.map +1 -0
- package/dist/platform/bansafe.js +70 -0
- package/dist/platform/bansafe.js.map +1 -0
- package/dist/platform/billing.d.ts +13 -0
- package/dist/platform/billing.d.ts.map +1 -0
- package/dist/platform/billing.js +27 -0
- package/dist/platform/billing.js.map +1 -0
- package/dist/platform/campaigns.d.ts +28 -0
- package/dist/platform/campaigns.d.ts.map +1 -0
- package/dist/platform/campaigns.js +92 -0
- package/dist/platform/campaigns.js.map +1 -0
- package/dist/platform/customers.d.ts +23 -0
- package/dist/platform/customers.d.ts.map +1 -0
- package/dist/platform/customers.js +140 -0
- package/dist/platform/customers.js.map +1 -0
- package/dist/platform/developer-resources.d.ts +101 -0
- package/dist/platform/developer-resources.d.ts.map +1 -0
- package/dist/platform/developer-resources.js +250 -0
- package/dist/platform/developer-resources.js.map +1 -0
- package/dist/platform/developer-types.d.ts +378 -0
- package/dist/platform/developer-types.d.ts.map +1 -0
- package/dist/platform/developer-types.js +2 -0
- package/dist/platform/developer-types.js.map +1 -0
- package/dist/platform/event-stream.d.ts +114 -0
- package/dist/platform/event-stream.d.ts.map +1 -0
- package/dist/platform/event-stream.js +308 -0
- package/dist/platform/event-stream.js.map +1 -0
- package/dist/platform/media.d.ts +13 -0
- package/dist/platform/media.d.ts.map +1 -0
- package/dist/platform/media.js +33 -0
- package/dist/platform/media.js.map +1 -0
- package/dist/platform/members.d.ts +9 -0
- package/dist/platform/members.d.ts.map +1 -0
- package/dist/platform/members.js +15 -0
- package/dist/platform/members.js.map +1 -0
- package/dist/platform/opt-outs.d.ts +15 -0
- package/dist/platform/opt-outs.d.ts.map +1 -0
- package/dist/platform/opt-outs.js +36 -0
- package/dist/platform/opt-outs.js.map +1 -0
- package/dist/platform/organizations.d.ts +9 -0
- package/dist/platform/organizations.d.ts.map +1 -0
- package/dist/platform/organizations.js +15 -0
- package/dist/platform/organizations.js.map +1 -0
- package/dist/platform/project-tokens.d.ts +9 -0
- package/dist/platform/project-tokens.d.ts.map +1 -0
- package/dist/platform/project-tokens.js +16 -0
- package/dist/platform/project-tokens.js.map +1 -0
- package/dist/platform/projects.d.ts +24 -0
- package/dist/platform/projects.d.ts.map +1 -0
- package/dist/platform/projects.js +83 -0
- package/dist/platform/projects.js.map +1 -0
- package/dist/platform/quicklink-settings.d.ts +85 -0
- package/dist/platform/quicklink-settings.d.ts.map +1 -0
- package/dist/platform/quicklink-settings.js +35 -0
- package/dist/platform/quicklink-settings.js.map +1 -0
- package/dist/platform/response.d.ts +10 -0
- package/dist/platform/response.d.ts.map +1 -0
- package/dist/platform/response.js +41 -0
- package/dist/platform/response.js.map +1 -0
- package/dist/platform/security-incidents.d.ts +10 -0
- package/dist/platform/security-incidents.d.ts.map +1 -0
- package/dist/platform/security-incidents.js +22 -0
- package/dist/platform/security-incidents.js.map +1 -0
- package/dist/platform/session-bans.d.ts +13 -0
- package/dist/platform/session-bans.d.ts.map +1 -0
- package/dist/platform/session-bans.js +21 -0
- package/dist/platform/session-bans.js.map +1 -0
- package/dist/platform/session-configuration.d.ts +15 -0
- package/dist/platform/session-configuration.d.ts.map +1 -0
- package/dist/platform/session-configuration.js +36 -0
- package/dist/platform/session-configuration.js.map +1 -0
- package/dist/platform/sessions.d.ts +26 -0
- package/dist/platform/sessions.d.ts.map +1 -0
- package/dist/platform/sessions.js +121 -0
- package/dist/platform/sessions.js.map +1 -0
- package/dist/platform/sip-trunks.d.ts +141 -0
- package/dist/platform/sip-trunks.d.ts.map +1 -0
- package/dist/platform/sip-trunks.js +140 -0
- package/dist/platform/sip-trunks.js.map +1 -0
- package/dist/platform/types.d.ts +897 -0
- package/dist/platform/types.d.ts.map +1 -0
- package/dist/platform/types.js +2 -0
- package/dist/platform/types.js.map +1 -0
- package/dist/raw.d.ts +26 -0
- package/dist/raw.d.ts.map +1 -0
- package/dist/raw.js +79 -0
- package/dist/raw.js.map +1 -0
- package/dist/system.d.ts +37 -0
- package/dist/system.d.ts.map +1 -0
- package/dist/system.js +45 -0
- package/dist/system.js.map +1 -0
- package/dist/transport/body.d.ts +6 -0
- package/dist/transport/body.d.ts.map +1 -0
- package/dist/transport/body.js +33 -0
- package/dist/transport/body.js.map +1 -0
- package/dist/transport/content-disposition.d.ts +9 -0
- package/dist/transport/content-disposition.d.ts.map +1 -0
- package/dist/transport/content-disposition.js +107 -0
- package/dist/transport/content-disposition.js.map +1 -0
- package/dist/transport/http.d.ts +35 -0
- package/dist/transport/http.d.ts.map +1 -0
- package/dist/transport/http.js +660 -0
- package/dist/transport/http.js.map +1 -0
- package/dist/transport/idempotency.d.ts +10 -0
- package/dist/transport/idempotency.d.ts.map +1 -0
- package/dist/transport/idempotency.js +13 -0
- package/dist/transport/idempotency.js.map +1 -0
- package/dist/transport/retry.d.ts +11 -0
- package/dist/transport/retry.d.ts.map +1 -0
- package/dist/transport/retry.js +45 -0
- package/dist/transport/retry.js.map +1 -0
- package/dist/transport/types.d.ts +58 -0
- package/dist/transport/types.d.ts.map +1 -0
- package/dist/transport/types.js +2 -0
- package/dist/transport/types.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/dist/webhooks/events.d.ts +741 -0
- package/dist/webhooks/events.d.ts.map +1 -0
- package/dist/webhooks/events.js +80 -0
- package/dist/webhooks/events.js.map +1 -0
- package/dist/webhooks/index.d.ts +4 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +4 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/utilities.d.ts +33 -0
- package/dist/webhooks/utilities.d.ts.map +1 -0
- package/dist/webhooks/utilities.js +67 -0
- package/dist/webhooks/utilities.js.map +1 -0
- package/dist/webhooks/verify.d.ts +9 -0
- package/dist/webhooks/verify.d.ts.map +1 -0
- package/dist/webhooks/verify.js +77 -0
- package/dist/webhooks/verify.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { HttpTransport } from "../transport/http.js";
|
|
2
|
+
export class IdentitiesResource {
|
|
3
|
+
transport;
|
|
4
|
+
constructor(transport) {
|
|
5
|
+
this.transport = transport;
|
|
6
|
+
}
|
|
7
|
+
resolve(session, params, options = {}) {
|
|
8
|
+
return this.transport.request({
|
|
9
|
+
method: "GET",
|
|
10
|
+
path: `/messaging/${encodeURIComponent(session)}/identities/resolve`,
|
|
11
|
+
query: {
|
|
12
|
+
phoneNumber: params.phoneNumber,
|
|
13
|
+
id: params.id,
|
|
14
|
+
username: params.username,
|
|
15
|
+
usernameKey: params.usernameKey,
|
|
16
|
+
},
|
|
17
|
+
...options,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=identities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identities.js","sourceRoot":"","sources":["../../src/messaging/identities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,SAAwB;QAAxB,cAAS,GAAT,SAAS,CAAe;IAAG,CAAC;IAEzD,OAAO,CACL,OAAe,EACf,MAA6B,EAC7B,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc,kBAAkB,CAAC,OAAO,CAAC,qBAAqB;YACpE,KAAK,EAAE;gBACL,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC;YACD,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HttpTransport } from "../transport/http.js";
|
|
2
|
+
import type { ApiResponse, RequestOptions } from "../transport/types.js";
|
|
3
|
+
import type { CreateLabelRequest, CreateLabelResponse, GetChatLabelsResponse, ListLabelsParams, ListLabelsResponse, ReplaceChatLabelsRequest, SuccessResponse, UpdateLabelRequest } from "./types.js";
|
|
4
|
+
export declare class LabelsResource {
|
|
5
|
+
private readonly transport;
|
|
6
|
+
constructor(transport: HttpTransport);
|
|
7
|
+
list(session: string, params?: ListLabelsParams, options?: RequestOptions): Promise<ApiResponse<ListLabelsResponse>>;
|
|
8
|
+
create(session: string, body: CreateLabelRequest, options?: RequestOptions): Promise<ApiResponse<CreateLabelResponse>>;
|
|
9
|
+
update(session: string, labelId: string, body: UpdateLabelRequest, options?: RequestOptions): Promise<ApiResponse<SuccessResponse>>;
|
|
10
|
+
delete(session: string, labelId: string, options?: RequestOptions): Promise<ApiResponse<SuccessResponse>>;
|
|
11
|
+
listForChat(session: string, chatId: string, params?: ListLabelsParams, options?: RequestOptions): Promise<ApiResponse<GetChatLabelsResponse>>;
|
|
12
|
+
/** Replaces the chat's complete label set. Pass an empty array to detach all labels. */
|
|
13
|
+
replaceForChat(session: string, chatId: string, body: ReplaceChatLabelsRequest, options?: RequestOptions): Promise<ApiResponse<SuccessResponse>>;
|
|
14
|
+
private read;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=labels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/messaging/labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAErD,IAAI,CACF,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,gBAAqB,EAC7B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAI3C,MAAM,CACJ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAS5C,MAAM,CACJ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IASxC,MAAM,CACJ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAQxC,WAAW,CACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,gBAAqB,EAC7B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAI9C,wFAAwF;IACxF,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,wBAAwB,EAC9B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IASxC,OAAO,CAAC,IAAI;CAcb"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { HttpTransport } from "../transport/http.js";
|
|
2
|
+
export class LabelsResource {
|
|
3
|
+
transport;
|
|
4
|
+
constructor(transport) {
|
|
5
|
+
this.transport = transport;
|
|
6
|
+
}
|
|
7
|
+
list(session, params = {}, options = {}) {
|
|
8
|
+
return this.read(labelsPath(session), params, options);
|
|
9
|
+
}
|
|
10
|
+
create(session, body, options = {}) {
|
|
11
|
+
return this.transport.request({
|
|
12
|
+
method: "POST",
|
|
13
|
+
path: labelsPath(session),
|
|
14
|
+
body,
|
|
15
|
+
...options,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
update(session, labelId, body, options = {}) {
|
|
19
|
+
return this.transport.request({
|
|
20
|
+
method: "PUT",
|
|
21
|
+
path: labelPath(session, labelId),
|
|
22
|
+
body,
|
|
23
|
+
...options,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
delete(session, labelId, options = {}) {
|
|
27
|
+
return this.transport.request({
|
|
28
|
+
method: "DELETE",
|
|
29
|
+
path: labelPath(session, labelId),
|
|
30
|
+
...options,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
listForChat(session, chatId, params = {}, options = {}) {
|
|
34
|
+
return this.read(chatLabelsPath(session, chatId), params, options);
|
|
35
|
+
}
|
|
36
|
+
/** Replaces the chat's complete label set. Pass an empty array to detach all labels. */
|
|
37
|
+
replaceForChat(session, chatId, body, options = {}) {
|
|
38
|
+
return this.transport.request({
|
|
39
|
+
method: "PUT",
|
|
40
|
+
path: chatLabelsPath(session, chatId),
|
|
41
|
+
body,
|
|
42
|
+
...options,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
read(path, params, options) {
|
|
46
|
+
return this.transport.request({
|
|
47
|
+
method: "GET",
|
|
48
|
+
path,
|
|
49
|
+
...(params.includeObservation === undefined
|
|
50
|
+
? {}
|
|
51
|
+
: { query: { includeObservation: params.includeObservation } }),
|
|
52
|
+
...options,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function labelsPath(session) {
|
|
57
|
+
return `/messaging/${encodeURIComponent(session)}/labels`;
|
|
58
|
+
}
|
|
59
|
+
function labelPath(session, labelId) {
|
|
60
|
+
return `${labelsPath(session)}/${encodeURIComponent(labelId)}`;
|
|
61
|
+
}
|
|
62
|
+
function chatLabelsPath(session, chatId) {
|
|
63
|
+
return `${labelsPath(session)}/chats/${encodeURIComponent(chatId)}`;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=labels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/messaging/labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAarD,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,SAAwB;QAAxB,cAAS,GAAT,SAAS,CAAe;IAAG,CAAC;IAEzD,IAAI,CACF,OAAe,EACf,SAA2B,EAAE,EAC7B,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CACJ,OAAe,EACf,IAAwB,EACxB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC;YACzB,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CACJ,OAAe,EACf,OAAe,EACf,IAAwB,EACxB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;YACjC,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CACJ,OAAe,EACf,OAAe,EACf,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;YACjC,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CACT,OAAe,EACf,MAAc,EACd,SAA2B,EAAE,EAC7B,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,wFAAwF;IACxF,cAAc,CACZ,OAAe,EACf,MAAc,EACd,IAA8B,EAC9B,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC;YACrC,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAEO,IAAI,CACV,IAAY,EACZ,MAAwB,EACxB,OAAuB;QAEvB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI;YACJ,GAAG,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACjE,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,cAAc,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,OAAe;IACjD,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,MAAc;IACrD,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type WhatsAppMediaDownload, type WhatsAppMediaDownloadOptions, type WhatsAppMediaInput } from "../media/whatsapp.js";
|
|
2
|
+
import { HttpTransport } from "../transport/http.js";
|
|
3
|
+
import type { ApiResponse, RequestOptions, ResponseMetadata } from "../transport/types.js";
|
|
4
|
+
import type { GetMessagingMediaInfoResponse, SuccessResponse } from "./types.js";
|
|
5
|
+
export interface MediaDownloadStream {
|
|
6
|
+
/** Unbuffered body. Read it once or cancel it. */
|
|
7
|
+
readonly body: ReadableStream<Uint8Array>;
|
|
8
|
+
readonly contentType?: string;
|
|
9
|
+
readonly contentLength?: number;
|
|
10
|
+
readonly filename?: string;
|
|
11
|
+
readonly requestId?: string;
|
|
12
|
+
/** True when the API redirected to object storage and the SDK followed it. */
|
|
13
|
+
readonly redirected: boolean;
|
|
14
|
+
/** Metadata of the Polymorfa API response (the redirect, when followed). */
|
|
15
|
+
readonly metadata: ResponseMetadata;
|
|
16
|
+
}
|
|
17
|
+
export interface MediaDownloadBlob {
|
|
18
|
+
readonly blob: Blob;
|
|
19
|
+
readonly filename?: string;
|
|
20
|
+
readonly requestId?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The API answered with a short-lived signed storage URL. The URL is a
|
|
24
|
+
* bearer secret: do not log or store it, and hand it out only to a caller
|
|
25
|
+
* already authorized for this media.
|
|
26
|
+
*/
|
|
27
|
+
export interface MediaDownloadRedirectUrl {
|
|
28
|
+
readonly streamed: false;
|
|
29
|
+
readonly url: string;
|
|
30
|
+
/** Derived from the signed URL's query parameters when present. */
|
|
31
|
+
readonly expiresAt?: Date;
|
|
32
|
+
readonly requestId?: string;
|
|
33
|
+
}
|
|
34
|
+
/** The API streams this media itself; there is no direct URL. */
|
|
35
|
+
export interface MediaDownloadStreamedUrl {
|
|
36
|
+
readonly streamed: true;
|
|
37
|
+
readonly url: undefined;
|
|
38
|
+
readonly requestId?: string;
|
|
39
|
+
}
|
|
40
|
+
export type MediaDownloadUrl = MediaDownloadRedirectUrl | MediaDownloadStreamedUrl;
|
|
41
|
+
export declare class MessagingMediaResource {
|
|
42
|
+
private readonly transport;
|
|
43
|
+
constructor(transport: HttpTransport);
|
|
44
|
+
/** Buffers the whole file. Prefer `downloadStream` for large media. */
|
|
45
|
+
download(mediaId: string, options?: RequestOptions): Promise<ApiResponse<ArrayBuffer>>;
|
|
46
|
+
/**
|
|
47
|
+
* Streams media without buffering. A storage redirect is followed without
|
|
48
|
+
* sending the Polymorfa credential to the storage host. `timeoutMs` covers
|
|
49
|
+
* the wait for response headers; `signal` also cancels the body.
|
|
50
|
+
*/
|
|
51
|
+
downloadStream(mediaId: string, options?: RequestOptions): Promise<MediaDownloadStream>;
|
|
52
|
+
/** Downloads media into a `Blob` typed with the response content type. */
|
|
53
|
+
downloadBlob(mediaId: string, options?: RequestOptions): Promise<MediaDownloadBlob>;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the signed storage URL the API redirects to, without following
|
|
56
|
+
* it. When the API streams the media instead, returns `{ streamed: true }`
|
|
57
|
+
* and discards the body. The signed URL is short-lived; never log or store
|
|
58
|
+
* it.
|
|
59
|
+
*/
|
|
60
|
+
downloadUrl(mediaId: string, options?: RequestOptions): Promise<MediaDownloadUrl>;
|
|
61
|
+
/**
|
|
62
|
+
* Downloads an attachment directly from the WhatsApp CDN using the
|
|
63
|
+
* encrypted descriptor in a message webhook (`media`), and decrypts it
|
|
64
|
+
* locally. No Polymorfa API call is made.
|
|
65
|
+
*/
|
|
66
|
+
downloadFromWhatsApp(eventOrMedia: WhatsAppMediaInput, options?: WhatsAppMediaDownloadOptions): Promise<WhatsAppMediaDownload>;
|
|
67
|
+
retrieve(mediaId: string, options?: RequestOptions): Promise<ApiResponse<GetMessagingMediaInfoResponse>>;
|
|
68
|
+
persist(mediaId: string, options?: RequestOptions): Promise<ApiResponse<SuccessResponse>>;
|
|
69
|
+
}
|
|
70
|
+
/** Reads SigV4 (`X-Amz-Date` + `X-Amz-Expires`) or epoch `Expires` parameters. */
|
|
71
|
+
export declare function signedUrlExpiry(value: string): Date | undefined;
|
|
72
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/messaging/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { downloadWhatsAppMedia, } from "../media/whatsapp.js";
|
|
2
|
+
import { HttpTransport } from "../transport/http.js";
|
|
3
|
+
export class MessagingMediaResource {
|
|
4
|
+
transport;
|
|
5
|
+
constructor(transport) {
|
|
6
|
+
this.transport = transport;
|
|
7
|
+
}
|
|
8
|
+
/** Buffers the whole file. Prefer `downloadStream` for large media. */
|
|
9
|
+
download(mediaId, options = {}) {
|
|
10
|
+
return this.transport.requestBinary({
|
|
11
|
+
method: "GET",
|
|
12
|
+
path: mediaPath(mediaId),
|
|
13
|
+
...options,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Streams media without buffering. A storage redirect is followed without
|
|
18
|
+
* sending the Polymorfa credential to the storage host. `timeoutMs` covers
|
|
19
|
+
* the wait for response headers; `signal` also cancels the body.
|
|
20
|
+
*/
|
|
21
|
+
async downloadStream(mediaId, options = {}) {
|
|
22
|
+
const response = await this.transport.requestStream({
|
|
23
|
+
method: "GET",
|
|
24
|
+
path: mediaPath(mediaId),
|
|
25
|
+
...options,
|
|
26
|
+
});
|
|
27
|
+
return Object.freeze({
|
|
28
|
+
body: response.body,
|
|
29
|
+
...(response.contentType === undefined
|
|
30
|
+
? {}
|
|
31
|
+
: { contentType: response.contentType }),
|
|
32
|
+
...(response.contentLength === undefined
|
|
33
|
+
? {}
|
|
34
|
+
: { contentLength: response.contentLength }),
|
|
35
|
+
...(response.filename === undefined
|
|
36
|
+
? {}
|
|
37
|
+
: { filename: response.filename }),
|
|
38
|
+
...(response.metadata.requestId === undefined
|
|
39
|
+
? {}
|
|
40
|
+
: { requestId: response.metadata.requestId }),
|
|
41
|
+
redirected: response.redirected,
|
|
42
|
+
metadata: response.metadata,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/** Downloads media into a `Blob` typed with the response content type. */
|
|
46
|
+
async downloadBlob(mediaId, options = {}) {
|
|
47
|
+
const download = await this.downloadStream(mediaId, options);
|
|
48
|
+
const bytes = await new Response(download.body).arrayBuffer();
|
|
49
|
+
return Object.freeze({
|
|
50
|
+
blob: new Blob([bytes], {
|
|
51
|
+
type: download.contentType ?? "application/octet-stream",
|
|
52
|
+
}),
|
|
53
|
+
...(download.filename === undefined
|
|
54
|
+
? {}
|
|
55
|
+
: { filename: download.filename }),
|
|
56
|
+
...(download.requestId === undefined
|
|
57
|
+
? {}
|
|
58
|
+
: { requestId: download.requestId }),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Returns the signed storage URL the API redirects to, without following
|
|
63
|
+
* it. When the API streams the media instead, returns `{ streamed: true }`
|
|
64
|
+
* and discards the body. The signed URL is short-lived; never log or store
|
|
65
|
+
* it.
|
|
66
|
+
*/
|
|
67
|
+
async downloadUrl(mediaId, options = {}) {
|
|
68
|
+
const result = await this.transport.requestStreamOrRedirect({
|
|
69
|
+
method: "GET",
|
|
70
|
+
path: mediaPath(mediaId),
|
|
71
|
+
...options,
|
|
72
|
+
});
|
|
73
|
+
const requestId = result.metadata.requestId;
|
|
74
|
+
if ("body" in result) {
|
|
75
|
+
await result.body.cancel().catch(() => undefined);
|
|
76
|
+
return Object.freeze({
|
|
77
|
+
streamed: true,
|
|
78
|
+
url: undefined,
|
|
79
|
+
...(requestId === undefined ? {} : { requestId }),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
const expiresAt = signedUrlExpiry(result.location);
|
|
83
|
+
return Object.freeze({
|
|
84
|
+
streamed: false,
|
|
85
|
+
url: result.location,
|
|
86
|
+
...(expiresAt === undefined ? {} : { expiresAt }),
|
|
87
|
+
...(requestId === undefined ? {} : { requestId }),
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Downloads an attachment directly from the WhatsApp CDN using the
|
|
92
|
+
* encrypted descriptor in a message webhook (`media`), and decrypts it
|
|
93
|
+
* locally. No Polymorfa API call is made.
|
|
94
|
+
*/
|
|
95
|
+
downloadFromWhatsApp(eventOrMedia, options = {}) {
|
|
96
|
+
return downloadWhatsAppMedia(eventOrMedia, options);
|
|
97
|
+
}
|
|
98
|
+
retrieve(mediaId, options = {}) {
|
|
99
|
+
return this.transport.request({
|
|
100
|
+
method: "GET",
|
|
101
|
+
path: `${mediaPath(mediaId)}/info`,
|
|
102
|
+
...options,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
persist(mediaId, options = {}) {
|
|
106
|
+
return this.transport.request({
|
|
107
|
+
method: "POST",
|
|
108
|
+
path: `${mediaPath(mediaId)}/download-and-save`,
|
|
109
|
+
...options,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function mediaPath(mediaId) {
|
|
114
|
+
return `/messaging/media/${encodeURIComponent(mediaId)}`;
|
|
115
|
+
}
|
|
116
|
+
/** Reads SigV4 (`X-Amz-Date` + `X-Amz-Expires`) or epoch `Expires` parameters. */
|
|
117
|
+
export function signedUrlExpiry(value) {
|
|
118
|
+
let url;
|
|
119
|
+
try {
|
|
120
|
+
url = new URL(value);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
const params = url.searchParams;
|
|
126
|
+
const amzDate = params.get("X-Amz-Date");
|
|
127
|
+
const amzExpires = params.get("X-Amz-Expires");
|
|
128
|
+
if (amzDate !== null && amzExpires !== null && /^\d+$/.test(amzExpires)) {
|
|
129
|
+
const match = /^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/.exec(amzDate);
|
|
130
|
+
if (match !== null) {
|
|
131
|
+
const [, y, mo, d, h, mi, s] = match.map(Number);
|
|
132
|
+
const start = Date.UTC(y, mo - 1, d, h, mi, s);
|
|
133
|
+
return new Date(start + Number(amzExpires) * 1000);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const expires = params.get("Expires");
|
|
137
|
+
if (expires !== null && /^\d{9,11}$/.test(expires)) {
|
|
138
|
+
return new Date(Number(expires) * 1000);
|
|
139
|
+
}
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/messaging/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HttpTransport } from "../transport/http.js";
|
|
2
|
+
import type { ApiResponse, RequestOptions } from "../transport/types.js";
|
|
3
|
+
import type { ReactRequest, SeenRequest, SendMessageRequest, SendMessageResponse, SendReactionResponse, StarMessageResponse, StarRequest, SuccessEnvelope, TypingRequest } from "./types.js";
|
|
4
|
+
export declare class MessagesResource {
|
|
5
|
+
private readonly transport;
|
|
6
|
+
constructor(transport: HttpTransport);
|
|
7
|
+
send(session: string, body: SendMessageRequest, options?: RequestOptions): Promise<ApiResponse<SendMessageResponse>>;
|
|
8
|
+
markSeen(session: string, body: SeenRequest, options?: RequestOptions): Promise<ApiResponse<SuccessEnvelope<{
|
|
9
|
+
readonly status: string;
|
|
10
|
+
}>>>;
|
|
11
|
+
setTyping(session: string, body: TypingRequest, options?: RequestOptions): Promise<ApiResponse<SuccessEnvelope<{
|
|
12
|
+
readonly status: string;
|
|
13
|
+
}>>>;
|
|
14
|
+
react(session: string, body: ReactRequest, options?: RequestOptions): Promise<ApiResponse<SendReactionResponse>>;
|
|
15
|
+
star(session: string, body: StarRequest, options?: RequestOptions): Promise<ApiResponse<StarMessageResponse>>;
|
|
16
|
+
private post;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messaging/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAErD,IAAI,CACF,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAI5C,QAAQ,CACN,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAIrE,SAAS,CACP,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAIrE,KAAK,CACH,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAI7C,IAAI,CACF,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAI5C,OAAO,CAAC,IAAI;CAab"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { HttpTransport } from "../transport/http.js";
|
|
2
|
+
import { withIdempotencyKey } from "../transport/idempotency.js";
|
|
3
|
+
export class MessagesResource {
|
|
4
|
+
transport;
|
|
5
|
+
constructor(transport) {
|
|
6
|
+
this.transport = transport;
|
|
7
|
+
}
|
|
8
|
+
send(session, body, options = {}) {
|
|
9
|
+
return this.post(session, "send", body, withIdempotencyKey(options));
|
|
10
|
+
}
|
|
11
|
+
markSeen(session, body, options = {}) {
|
|
12
|
+
return this.post(session, "seen", body, options);
|
|
13
|
+
}
|
|
14
|
+
setTyping(session, body, options = {}) {
|
|
15
|
+
return this.post(session, "typing", body, options);
|
|
16
|
+
}
|
|
17
|
+
react(session, body, options = {}) {
|
|
18
|
+
return this.post(session, "react", body, withIdempotencyKey(options));
|
|
19
|
+
}
|
|
20
|
+
star(session, body, options = {}) {
|
|
21
|
+
return this.post(session, "star", body, options);
|
|
22
|
+
}
|
|
23
|
+
post(session, action, body, options) {
|
|
24
|
+
return this.transport.request({
|
|
25
|
+
method: "POST",
|
|
26
|
+
path: `/messaging/${encodeURIComponent(session)}/messages/${action}`,
|
|
27
|
+
body,
|
|
28
|
+
...options,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messaging/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAcjE,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,SAAwB;QAAxB,cAAS,GAAT,SAAS,CAAe;IAAG,CAAC;IAEzD,IAAI,CACF,OAAe,EACf,IAAwB,EACxB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,QAAQ,CACN,OAAe,EACf,IAAiB,EACjB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,SAAS,CACP,OAAe,EACf,IAAmB,EACnB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CACH,OAAe,EACf,IAAkB,EAClB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CACF,OAAe,EACf,IAAiB,EACjB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAEO,IAAI,CACV,OAAe,EACf,MAAqD,EACrD,IAAa,EACb,OAAuB;QAEvB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc,kBAAkB,CAAC,OAAO,CAAC,aAAa,MAAM,EAAE;YACpE,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HttpTransport } from "../transport/http.js";
|
|
2
|
+
import type { ApiResponse, RequestOptions } from "../transport/types.js";
|
|
3
|
+
import type { UpdateProjectObservationPolicyResponse, UpdateSessionObservationPolicyResponse } from "./types.js";
|
|
4
|
+
export declare class ObservationPoliciesResource {
|
|
5
|
+
private readonly transport;
|
|
6
|
+
constructor(transport: HttpTransport);
|
|
7
|
+
retrieveForProject(projectId: string, options?: RequestOptions): Promise<ApiResponse<UpdateProjectObservationPolicyResponse>>;
|
|
8
|
+
retrieveForSession(session: string, options?: RequestOptions): Promise<ApiResponse<UpdateSessionObservationPolicyResponse>>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=observation-policies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observation-policies.d.ts","sourceRoot":"","sources":["../../src/messaging/observation-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EACV,sCAAsC,EACtC,sCAAsC,EACvC,MAAM,YAAY,CAAC;AAEpB,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAErD,kBAAkB,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAQ/D,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;CAOhE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { HttpTransport } from "../transport/http.js";
|
|
2
|
+
export class ObservationPoliciesResource {
|
|
3
|
+
transport;
|
|
4
|
+
constructor(transport) {
|
|
5
|
+
this.transport = transport;
|
|
6
|
+
}
|
|
7
|
+
retrieveForProject(projectId, options = {}) {
|
|
8
|
+
return this.transport.request({
|
|
9
|
+
method: "GET",
|
|
10
|
+
path: projectPolicyPath(projectId),
|
|
11
|
+
...options,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
retrieveForSession(session, options = {}) {
|
|
15
|
+
return this.transport.request({
|
|
16
|
+
method: "GET",
|
|
17
|
+
path: sessionPolicyPath(session),
|
|
18
|
+
...options,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function projectPolicyPath(projectId) {
|
|
23
|
+
return `/messaging/projects/${encodeURIComponent(projectId)}/observation-policy`;
|
|
24
|
+
}
|
|
25
|
+
function sessionPolicyPath(session) {
|
|
26
|
+
return `/messaging/${encodeURIComponent(session)}/observation-policy`;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=observation-policies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observation-policies.js","sourceRoot":"","sources":["../../src/messaging/observation-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD,MAAM,OAAO,2BAA2B;IACT;IAA7B,YAA6B,SAAwB;QAAxB,cAAS,GAAT,SAAS,CAAe;IAAG,CAAC;IAEzD,kBAAkB,CAChB,SAAiB,EACjB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;YAClC,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAChB,OAAe,EACf,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;YAChC,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,OAAO,uBAAuB,kBAAkB,CAAC,SAAS,CAAC,qBAAqB,CAAC;AACnF,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,cAAc,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { MessagingCredential } from "../credentials.js";
|
|
2
|
+
import { HttpTransport } from "../transport/http.js";
|
|
3
|
+
import type { ApiResponse, RequestOptions } from "../transport/types.js";
|
|
4
|
+
import type { TestEventFixtureInfo, TestingHistoryMessage, TriggerTestEventRequest, TriggerTestEventResponse } from "./testing-configuration.js";
|
|
5
|
+
export interface EmbeddedSignupRequest {
|
|
6
|
+
quicklinkId: string;
|
|
7
|
+
projectId?: string;
|
|
8
|
+
result?: {
|
|
9
|
+
code: string;
|
|
10
|
+
wabaId: string;
|
|
11
|
+
phoneNumberId: string;
|
|
12
|
+
coexistence?: boolean;
|
|
13
|
+
historySync?: boolean;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export interface EmbeddedSignupResponse {
|
|
17
|
+
success: true;
|
|
18
|
+
data: {
|
|
19
|
+
stage: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** Trusted-server continuation of an issued QuickLink; never direct session creation. */
|
|
23
|
+
export declare class CloudOnboardingResource {
|
|
24
|
+
private readonly transport;
|
|
25
|
+
private readonly credentialType;
|
|
26
|
+
constructor(transport: HttpTransport, credentialType: MessagingCredential["type"]);
|
|
27
|
+
advance(input: EmbeddedSignupRequest, options?: RequestOptions): Promise<ApiResponse<EmbeddedSignupResponse>>;
|
|
28
|
+
}
|
|
29
|
+
export declare class TestingResource {
|
|
30
|
+
private readonly transport;
|
|
31
|
+
private readonly credentialType;
|
|
32
|
+
constructor(transport: HttpTransport, credentialType: MessagingCredential["type"]);
|
|
33
|
+
createHistoryFixture(projectId: string, input: {
|
|
34
|
+
messages: readonly TestingHistoryMessage[];
|
|
35
|
+
}, options?: RequestOptions): Promise<ApiResponse<{
|
|
36
|
+
fixtureId: string;
|
|
37
|
+
}>>;
|
|
38
|
+
/**
|
|
39
|
+
* Fire a named, signed test event for a Test number. Generated events reach
|
|
40
|
+
* webhooks and event history with `source: "test"`. With `fromSession`, a
|
|
41
|
+
* `message.received` request sends a simulated message from another Test
|
|
42
|
+
* number instead. Real numbers are refused with a 400 error. Pass
|
|
43
|
+
* `options.idempotencyKey` to make retries safe: repeating the request with
|
|
44
|
+
* the same key and body reuses the same event ID, and the SDK then retries
|
|
45
|
+
* network and 5xx failures.
|
|
46
|
+
*/
|
|
47
|
+
triggerEvent(projectId: string, input: TriggerTestEventRequest, options?: RequestOptions): Promise<ApiResponse<TriggerTestEventResponse>>;
|
|
48
|
+
/** List test-event fixtures and the overrides each accepts. */
|
|
49
|
+
listEventFixtures(projectId: string, options?: RequestOptions): Promise<ApiResponse<{
|
|
50
|
+
fixtures: TestEventFixtureInfo[];
|
|
51
|
+
}>>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=onboarding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/messaging/onboarding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AACD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACzB;AAED,yFAAyF;AACzF,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,SAAS,EAAE,aAAa,EACxB,cAAc,EAAE,mBAAmB,CAAC,MAAM,CAAC;IAE9D,OAAO,CACL,KAAK,EAAE,qBAAqB,EAC5B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;CAShD;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,SAAS,EAAE,aAAa,EACxB,cAAc,EAAE,mBAAmB,CAAC,MAAM,CAAC;IAE9D,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAA;KAAE,EACrD,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAU9C;;;;;;;;OAQG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAUjD,+DAA+D;IAC/D,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC;QAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAA;KAAE,CAAC,CAAC;CAQ9D"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { PolymorfaConfigurationError } from "../errors.js";
|
|
2
|
+
import { HttpTransport } from "../transport/http.js";
|
|
3
|
+
/** Trusted-server continuation of an issued QuickLink; never direct session creation. */
|
|
4
|
+
export class CloudOnboardingResource {
|
|
5
|
+
transport;
|
|
6
|
+
credentialType;
|
|
7
|
+
constructor(transport, credentialType) {
|
|
8
|
+
this.transport = transport;
|
|
9
|
+
this.credentialType = credentialType;
|
|
10
|
+
}
|
|
11
|
+
advance(input, options = {}) {
|
|
12
|
+
assertServerCredential(this.credentialType);
|
|
13
|
+
return this.transport.request({
|
|
14
|
+
method: "POST",
|
|
15
|
+
path: "/messaging/cloud-api/embedded-signup",
|
|
16
|
+
body: input,
|
|
17
|
+
...options,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class TestingResource {
|
|
22
|
+
transport;
|
|
23
|
+
credentialType;
|
|
24
|
+
constructor(transport, credentialType) {
|
|
25
|
+
this.transport = transport;
|
|
26
|
+
this.credentialType = credentialType;
|
|
27
|
+
}
|
|
28
|
+
createHistoryFixture(projectId, input, options = {}) {
|
|
29
|
+
assertServerCredential(this.credentialType);
|
|
30
|
+
return this.transport.request({
|
|
31
|
+
method: "POST",
|
|
32
|
+
path: `/messaging/testing/${encodeURIComponent(projectId)}/history-fixtures`,
|
|
33
|
+
body: input,
|
|
34
|
+
...options,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Fire a named, signed test event for a Test number. Generated events reach
|
|
39
|
+
* webhooks and event history with `source: "test"`. With `fromSession`, a
|
|
40
|
+
* `message.received` request sends a simulated message from another Test
|
|
41
|
+
* number instead. Real numbers are refused with a 400 error. Pass
|
|
42
|
+
* `options.idempotencyKey` to make retries safe: repeating the request with
|
|
43
|
+
* the same key and body reuses the same event ID, and the SDK then retries
|
|
44
|
+
* network and 5xx failures.
|
|
45
|
+
*/
|
|
46
|
+
triggerEvent(projectId, input, options = {}) {
|
|
47
|
+
assertServerCredential(this.credentialType);
|
|
48
|
+
return this.transport.request({
|
|
49
|
+
method: "POST",
|
|
50
|
+
path: `/messaging/testing/${encodeURIComponent(projectId)}/events`,
|
|
51
|
+
body: input,
|
|
52
|
+
...options,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/** List test-event fixtures and the overrides each accepts. */
|
|
56
|
+
listEventFixtures(projectId, options = {}) {
|
|
57
|
+
assertServerCredential(this.credentialType);
|
|
58
|
+
return this.transport.request({
|
|
59
|
+
method: "GET",
|
|
60
|
+
path: `/messaging/testing/${encodeURIComponent(projectId)}/events/fixtures`,
|
|
61
|
+
...options,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function assertServerCredential(type) {
|
|
66
|
+
if (type === "clientToken")
|
|
67
|
+
throw new PolymorfaConfigurationError("Onboarding management requires an organization API key or project token.", "credential");
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=onboarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/messaging/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAyBrD,yFAAyF;AACzF,MAAM,OAAO,uBAAuB;IAEf;IACA;IAFnB,YACmB,SAAwB,EACxB,cAA2C;QAD3C,cAAS,GAAT,SAAS,CAAe;QACxB,mBAAc,GAAd,cAAc,CAA6B;IAC3D,CAAC;IACJ,OAAO,CACL,KAA4B,EAC5B,UAA0B,EAAE;QAE5B,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sCAAsC;YAC5C,IAAI,EAAE,KAAK;YACX,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAEP;IACA;IAFnB,YACmB,SAAwB,EACxB,cAA2C;QAD3C,cAAS,GAAT,SAAS,CAAe;QACxB,mBAAc,GAAd,cAAc,CAA6B;IAC3D,CAAC;IACJ,oBAAoB,CAClB,SAAiB,EACjB,KAAqD,EACrD,UAA0B,EAAE;QAE5B,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,mBAAmB;YAC5E,IAAI,EAAE,KAAK;YACX,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CACV,SAAiB,EACjB,KAA8B,EAC9B,UAA0B,EAAE;QAE5B,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,SAAS;YAClE,IAAI,EAAE,KAAK;YACX,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,iBAAiB,CACf,SAAiB,EACjB,UAA0B,EAAE;QAE5B,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,kBAAkB;YAC3E,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;CACF;AACD,SAAS,sBAAsB,CAAC,IAAiC;IAC/D,IAAI,IAAI,KAAK,aAAa;QACxB,MAAM,IAAI,2BAA2B,CACnC,0EAA0E,EAC1E,YAAY,CACb,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HttpTransport } from "../transport/http.js";
|
|
2
|
+
import type { ApiResponse, RequestOptions } from "../transport/types.js";
|
|
3
|
+
import type { GetChatPresenceResponse, GetPresenceResponse, SetPresenceRequest, SetPresenceResponse, SubscribePresenceResponse } from "./types.js";
|
|
4
|
+
export declare class PresenceResource {
|
|
5
|
+
private readonly transport;
|
|
6
|
+
constructor(transport: HttpTransport);
|
|
7
|
+
set(session: string, body: SetPresenceRequest, options?: RequestOptions): Promise<ApiResponse<SetPresenceResponse>>;
|
|
8
|
+
get(session: string, options?: RequestOptions): Promise<ApiResponse<GetPresenceResponse>>;
|
|
9
|
+
getForChat(session: string, chatId: string, options?: RequestOptions): Promise<ApiResponse<GetChatPresenceResponse>>;
|
|
10
|
+
subscribe(session: string, chatId: string, options?: RequestOptions): Promise<ApiResponse<SubscribePresenceResponse>>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=presence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/messaging/presence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAErD,GAAG,CACD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAS5C,GAAG,CACD,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAQ5C,UAAU,CACR,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAQhD,SAAS,CACP,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;CAOnD"}
|