@polymorfa/browser 0.1.0-dev.20260922094209
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 +248 -0
- package/dist/calls/api.d.ts +22 -0
- package/dist/calls/api.d.ts.map +1 -0
- package/dist/calls/api.js +104 -0
- package/dist/calls/api.js.map +1 -0
- package/dist/calls/backend.d.ts +85 -0
- package/dist/calls/backend.d.ts.map +1 -0
- package/dist/calls/backend.js +141 -0
- package/dist/calls/backend.js.map +1 -0
- package/dist/calls/client.d.ts +56 -0
- package/dist/calls/client.d.ts.map +1 -0
- package/dist/calls/client.js +260 -0
- package/dist/calls/client.js.map +1 -0
- package/dist/calls/controller.d.ts +329 -0
- package/dist/calls/controller.d.ts.map +1 -0
- package/dist/calls/controller.js +1328 -0
- package/dist/calls/controller.js.map +1 -0
- package/dist/calls/diagnostics.d.ts +52 -0
- package/dist/calls/diagnostics.d.ts.map +1 -0
- package/dist/calls/diagnostics.js +188 -0
- package/dist/calls/diagnostics.js.map +1 -0
- package/dist/calls/index.d.ts +3 -0
- package/dist/calls/index.d.ts.map +1 -0
- package/dist/calls/index.js +5 -0
- package/dist/calls/index.js.map +1 -0
- package/dist/calls/internal.d.ts +8 -0
- package/dist/calls/internal.d.ts.map +1 -0
- package/dist/calls/internal.js +8 -0
- package/dist/calls/internal.js.map +1 -0
- package/dist/calls/media.d.ts +144 -0
- package/dist/calls/media.d.ts.map +1 -0
- package/dist/calls/media.js +512 -0
- package/dist/calls/media.js.map +1 -0
- package/dist/calls/signaling.d.ts +74 -0
- package/dist/calls/signaling.d.ts.map +1 -0
- package/dist/calls/signaling.js +169 -0
- package/dist/calls/signaling.js.map +1 -0
- package/dist/calls/socket.d.ts +95 -0
- package/dist/calls/socket.d.ts.map +1 -0
- package/dist/calls/socket.js +267 -0
- package/dist/calls/socket.js.map +1 -0
- package/dist/chat/composer.d.ts +59 -0
- package/dist/chat/composer.d.ts.map +1 -0
- package/dist/chat/composer.js +217 -0
- package/dist/chat/composer.js.map +1 -0
- package/dist/chat/conversation.d.ts +71 -0
- package/dist/chat/conversation.d.ts.map +1 -0
- package/dist/chat/conversation.js +204 -0
- package/dist/chat/conversation.js.map +1 -0
- package/dist/chat/index.d.ts +4 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +4 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/voice-recorder.d.ts +75 -0
- package/dist/chat/voice-recorder.d.ts.map +1 -0
- package/dist/chat/voice-recorder.js +346 -0
- package/dist/chat/voice-recorder.js.map +1 -0
- package/dist/controller.d.ts +16 -0
- package/dist/controller.d.ts.map +1 -0
- package/dist/controller.js +50 -0
- package/dist/controller.js.map +1 -0
- package/dist/diagnostics.d.ts +27 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +2 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/dropin/client.d.ts +82 -0
- package/dist/dropin/client.d.ts.map +1 -0
- package/dist/dropin/client.js +314 -0
- package/dist/dropin/client.js.map +1 -0
- package/dist/dropin/connect.d.ts +23 -0
- package/dist/dropin/connect.d.ts.map +1 -0
- package/dist/dropin/connect.js +54 -0
- package/dist/dropin/connect.js.map +1 -0
- package/dist/dropin/inbox.d.ts +131 -0
- package/dist/dropin/inbox.d.ts.map +1 -0
- package/dist/dropin/inbox.js +406 -0
- package/dist/dropin/inbox.js.map +1 -0
- package/dist/dropin/index.d.ts +5 -0
- package/dist/dropin/index.d.ts.map +1 -0
- package/dist/dropin/index.js +5 -0
- package/dist/dropin/index.js.map +1 -0
- package/dist/dropin/permissions.d.ts +29 -0
- package/dist/dropin/permissions.d.ts.map +1 -0
- package/dist/dropin/permissions.js +53 -0
- package/dist/dropin/permissions.js.map +1 -0
- package/dist/errors.d.ts +39 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +41 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +12 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +13 -0
- package/dist/internal.js.map +1 -0
- package/dist/messaging/client.d.ts +54 -0
- package/dist/messaging/client.d.ts.map +1 -0
- package/dist/messaging/client.js +153 -0
- package/dist/messaging/client.js.map +1 -0
- package/dist/messaging/composer.d.ts +12 -0
- package/dist/messaging/composer.d.ts.map +1 -0
- package/dist/messaging/composer.js +36 -0
- package/dist/messaging/composer.js.map +1 -0
- package/dist/messaging/index.d.ts +4 -0
- package/dist/messaging/index.d.ts.map +1 -0
- package/dist/messaging/index.js +3 -0
- package/dist/messaging/index.js.map +1 -0
- package/dist/messaging/types.d.ts +209 -0
- package/dist/messaging/types.d.ts.map +1 -0
- package/dist/messaging/types.js +2 -0
- package/dist/messaging/types.js.map +1 -0
- package/dist/templates/controller.d.ts +45 -0
- package/dist/templates/controller.d.ts.map +1 -0
- package/dist/templates/controller.js +298 -0
- package/dist/templates/controller.js.map +1 -0
- package/dist/templates/index.d.ts +4 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +3 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/transport.d.ts +7 -0
- package/dist/templates/transport.d.ts.map +1 -0
- package/dist/templates/transport.js +124 -0
- package/dist/templates/transport.js.map +1 -0
- package/dist/templates/types.d.ts +141 -0
- package/dist/templates/types.d.ts.map +1 -0
- package/dist/templates/types.js +2 -0
- package/dist/templates/types.js.map +1 -0
- package/dist/token.d.ts +37 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +152 -0
- package/dist/token.js.map +1 -0
- package/dist/transport.d.ts +53 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +328 -0
- package/dist/transport.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,gBAAgB,CAAC;AACxB,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { ObservableController, } from "./controller.js";
|
|
2
|
+
export { BrowserCancelledError, BrowserConfigurationError, BrowserConnectionError, BrowserError, BrowserHttpError, BrowserTimeoutError, BrowserValidationError, } from "./errors.js";
|
|
3
|
+
export * from "./chat/index.js";
|
|
4
|
+
export * from "./calls/index.js";
|
|
5
|
+
export * from "./messaging/index.js";
|
|
6
|
+
export { ClientTokenManager, createClientTokenProvider, } from "./token.js";
|
|
7
|
+
export * from "./templates/index.js";
|
|
8
|
+
export { BrowserTransport, } from "./transport.js";
|
|
9
|
+
export * from "./dropin/index.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GAGvB,MAAM,aAAa,CAAC;AACrB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAK1B,MAAM,YAAY,CAAC;AACpB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,gBAAgB,GAMjB,MAAM,gBAAgB,CAAC;AACxB,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal building blocks shared with other Polymorfa packages and tests.
|
|
3
|
+
* Not part of the public API: no stability guarantee, and applications must
|
|
4
|
+
* not import this entry point.
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export * from "./index.js";
|
|
9
|
+
export * from "./calls/internal.js";
|
|
10
|
+
export { CallsController } from "./calls/controller.js";
|
|
11
|
+
export { resetPermissionWarnings } from "./dropin/permissions.js";
|
|
12
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/internal.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal building blocks shared with other Polymorfa packages and tests.
|
|
3
|
+
* Not part of the public API: no stability guarantee, and applications must
|
|
4
|
+
* not import this entry point.
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export * from "./index.js";
|
|
9
|
+
export * from "./calls/internal.js";
|
|
10
|
+
// The public entry exports the controller as a type; internals need the class.
|
|
11
|
+
export { CallsController } from "./calls/controller.js";
|
|
12
|
+
export { resetPermissionWarnings } from "./dropin/permissions.js";
|
|
13
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { BrowserTransport, type BrowserTransportOptions } from "../transport.js";
|
|
2
|
+
import type { BrowserActionOptions, BrowserActionResponse, BrowserAsyncAcceptedData, BrowserChatPresenceData, BrowserContact, BrowserContactCheckResult, BrowserMessageResult, BrowserMessageReceipt, BrowserPairingCode, BrowserPairingCodeRequest, BrowserPresenceData, BrowserPresenceSubscriptionData, BrowserProfilePicture, BrowserQrCode, BrowserReactionRequest, BrowserSeenRequest, BrowserSendMessageRequest, BrowserStarRequest, BrowserSuccessEnvelope, BrowserTypingRequest } from "./types.js";
|
|
3
|
+
export interface BrowserMessagingClientOptions extends BrowserTransportOptions {
|
|
4
|
+
readonly session: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class BrowserMessagingClient {
|
|
7
|
+
readonly messages: BrowserMessagesResource;
|
|
8
|
+
readonly presence: BrowserPresenceResource;
|
|
9
|
+
readonly contacts: BrowserContactsResource;
|
|
10
|
+
readonly widget: BrowserWidgetResource;
|
|
11
|
+
constructor(options: BrowserMessagingClientOptions);
|
|
12
|
+
}
|
|
13
|
+
export declare class BrowserMessagesResource {
|
|
14
|
+
private readonly transport;
|
|
15
|
+
private readonly session;
|
|
16
|
+
constructor(transport: BrowserTransport, session: string);
|
|
17
|
+
send(body: BrowserSendMessageRequest, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<BrowserMessageResult>>>;
|
|
18
|
+
markSeen(body: BrowserSeenRequest, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<{
|
|
19
|
+
readonly status: string;
|
|
20
|
+
}>>>;
|
|
21
|
+
setTyping(body: BrowserTypingRequest, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<{
|
|
22
|
+
readonly status: string;
|
|
23
|
+
}>>>;
|
|
24
|
+
react(body: BrowserReactionRequest, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<BrowserMessageReceipt>>>;
|
|
25
|
+
star(body: BrowserStarRequest, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<{
|
|
26
|
+
readonly status: "OK";
|
|
27
|
+
}>>>;
|
|
28
|
+
private post;
|
|
29
|
+
}
|
|
30
|
+
export declare class BrowserPresenceResource {
|
|
31
|
+
private readonly transport;
|
|
32
|
+
private readonly session;
|
|
33
|
+
constructor(transport: BrowserTransport, session: string);
|
|
34
|
+
retrieve(options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<BrowserPresenceData>>>;
|
|
35
|
+
retrieveChat(chatId: string, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<BrowserChatPresenceData>>>;
|
|
36
|
+
subscribe(chatId: string, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<BrowserPresenceSubscriptionData> | BrowserSuccessEnvelope<BrowserAsyncAcceptedData>>>;
|
|
37
|
+
}
|
|
38
|
+
export declare class BrowserContactsResource {
|
|
39
|
+
private readonly transport;
|
|
40
|
+
private readonly session;
|
|
41
|
+
constructor(transport: BrowserTransport, session: string);
|
|
42
|
+
list(options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<readonly BrowserContact[]>>>;
|
|
43
|
+
retrieve(contactId: string, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<BrowserContact>>>;
|
|
44
|
+
picture(contactId: string, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<BrowserProfilePicture>>>;
|
|
45
|
+
check(phone: string | readonly string[], options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<readonly BrowserContactCheckResult[]>>>;
|
|
46
|
+
}
|
|
47
|
+
export declare class BrowserWidgetResource {
|
|
48
|
+
private readonly transport;
|
|
49
|
+
private readonly session;
|
|
50
|
+
constructor(transport: BrowserTransport, session: string);
|
|
51
|
+
qr(options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<BrowserQrCode>>>;
|
|
52
|
+
requestPairingCode(body: BrowserPairingCodeRequest, options?: BrowserActionOptions): Promise<BrowserActionResponse<BrowserSuccessEnvelope<BrowserPairingCode>>>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/messaging/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { BrowserValidationError } from "../errors.js";
|
|
2
|
+
import { BrowserTransport, } from "../transport.js";
|
|
3
|
+
export class BrowserMessagingClient {
|
|
4
|
+
messages;
|
|
5
|
+
presence;
|
|
6
|
+
contacts;
|
|
7
|
+
widget;
|
|
8
|
+
constructor(options) {
|
|
9
|
+
if (typeof options.session !== "string" || options.session.length === 0) {
|
|
10
|
+
throw new BrowserValidationError("A session is required for the browser Messaging client.", "missing_session");
|
|
11
|
+
}
|
|
12
|
+
const { session, ...transportOptions } = options;
|
|
13
|
+
const transport = new BrowserTransport(transportOptions);
|
|
14
|
+
this.messages = new BrowserMessagesResource(transport, session);
|
|
15
|
+
this.presence = new BrowserPresenceResource(transport, session);
|
|
16
|
+
this.contacts = new BrowserContactsResource(transport, session);
|
|
17
|
+
this.widget = new BrowserWidgetResource(transport, session);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class BrowserMessagesResource {
|
|
21
|
+
transport;
|
|
22
|
+
session;
|
|
23
|
+
constructor(transport, session) {
|
|
24
|
+
this.transport = transport;
|
|
25
|
+
this.session = session;
|
|
26
|
+
}
|
|
27
|
+
send(body, options = {}) {
|
|
28
|
+
return this.post("send", body, withIdempotencyKey(options));
|
|
29
|
+
}
|
|
30
|
+
markSeen(body, options = {}) {
|
|
31
|
+
return this.post("seen", body, options);
|
|
32
|
+
}
|
|
33
|
+
setTyping(body, options = {}) {
|
|
34
|
+
return this.post("typing", body, options);
|
|
35
|
+
}
|
|
36
|
+
react(body, options = {}) {
|
|
37
|
+
return this.post("react", body, withIdempotencyKey(options));
|
|
38
|
+
}
|
|
39
|
+
star(body, options = {}) {
|
|
40
|
+
return this.post("star", body, options);
|
|
41
|
+
}
|
|
42
|
+
post(action, body, options) {
|
|
43
|
+
return this.transport.request({
|
|
44
|
+
method: "POST",
|
|
45
|
+
path: `${sessionRoot(this.session)}/messages/${action}`,
|
|
46
|
+
body,
|
|
47
|
+
...options,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export class BrowserPresenceResource {
|
|
52
|
+
transport;
|
|
53
|
+
session;
|
|
54
|
+
constructor(transport, session) {
|
|
55
|
+
this.transport = transport;
|
|
56
|
+
this.session = session;
|
|
57
|
+
}
|
|
58
|
+
retrieve(options = {}) {
|
|
59
|
+
return this.transport.request({
|
|
60
|
+
method: "GET",
|
|
61
|
+
path: `${sessionRoot(this.session)}/presence`,
|
|
62
|
+
...options,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
retrieveChat(chatId, options = {}) {
|
|
66
|
+
return this.transport.request({
|
|
67
|
+
method: "GET",
|
|
68
|
+
path: `${sessionRoot(this.session)}/presence/${encodeURIComponent(chatId)}`,
|
|
69
|
+
...options,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
subscribe(chatId, options = {}) {
|
|
73
|
+
return this.transport.request({
|
|
74
|
+
method: "POST",
|
|
75
|
+
path: `${sessionRoot(this.session)}/presence/${encodeURIComponent(chatId)}/subscribe`,
|
|
76
|
+
...options,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export class BrowserContactsResource {
|
|
81
|
+
transport;
|
|
82
|
+
session;
|
|
83
|
+
constructor(transport, session) {
|
|
84
|
+
this.transport = transport;
|
|
85
|
+
this.session = session;
|
|
86
|
+
}
|
|
87
|
+
list(options = {}) {
|
|
88
|
+
return this.transport.request({
|
|
89
|
+
method: "GET",
|
|
90
|
+
path: `${sessionRoot(this.session)}/contacts`,
|
|
91
|
+
...options,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
retrieve(contactId, options = {}) {
|
|
95
|
+
return this.transport.request({
|
|
96
|
+
method: "GET",
|
|
97
|
+
path: `${sessionRoot(this.session)}/contacts/${encodeURIComponent(contactId)}`,
|
|
98
|
+
...options,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
picture(contactId, options = {}) {
|
|
102
|
+
return this.transport.request({
|
|
103
|
+
method: "GET",
|
|
104
|
+
path: `${sessionRoot(this.session)}/contacts/${encodeURIComponent(contactId)}/picture`,
|
|
105
|
+
...options,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
check(phone, options = {}) {
|
|
109
|
+
const value = typeof phone === "string" ? phone : phone.join(",");
|
|
110
|
+
if (value.length === 0) {
|
|
111
|
+
throw new BrowserValidationError("At least one phone number is required.", "missing_phone");
|
|
112
|
+
}
|
|
113
|
+
return this.transport.request({
|
|
114
|
+
method: "GET",
|
|
115
|
+
path: `${sessionRoot(this.session)}/contacts/check`,
|
|
116
|
+
query: { phone: value },
|
|
117
|
+
...options,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
export class BrowserWidgetResource {
|
|
122
|
+
transport;
|
|
123
|
+
session;
|
|
124
|
+
constructor(transport, session) {
|
|
125
|
+
this.transport = transport;
|
|
126
|
+
this.session = session;
|
|
127
|
+
}
|
|
128
|
+
qr(options = {}) {
|
|
129
|
+
return this.transport.request({
|
|
130
|
+
method: "GET",
|
|
131
|
+
path: `${sessionRoot(this.session)}/pair/qr`,
|
|
132
|
+
...options,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
requestPairingCode(body, options = {}) {
|
|
136
|
+
return this.transport.request({
|
|
137
|
+
method: "POST",
|
|
138
|
+
path: `${sessionRoot(this.session)}/pair/code`,
|
|
139
|
+
body,
|
|
140
|
+
...options,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function sessionRoot(session) {
|
|
145
|
+
return `/messaging/${encodeURIComponent(session)}`;
|
|
146
|
+
}
|
|
147
|
+
/** One key per call; automatic retries reuse it so the API never repeats the write. */
|
|
148
|
+
function withIdempotencyKey(options) {
|
|
149
|
+
if (options.idempotencyKey !== undefined)
|
|
150
|
+
return options;
|
|
151
|
+
return { ...options, idempotencyKey: globalThis.crypto.randomUUID() };
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/messaging/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ComposerActions, ComposerDraft, LocalAttachment, MessageAttachment } from "../chat/index.js";
|
|
2
|
+
import type { BrowserMessagesResource } from "./client.js";
|
|
3
|
+
import type { BrowserActionOptions, BrowserConversationReference, BrowserSendMessageRequest } from "./types.js";
|
|
4
|
+
export interface BrowserComposerActionsOptions {
|
|
5
|
+
readonly messages: Pick<BrowserMessagesResource, "send">;
|
|
6
|
+
readonly conversation: BrowserConversationReference;
|
|
7
|
+
readonly upload?: (attachment: LocalAttachment, onProgress: (progress: number) => void, signal: AbortSignal) => Promise<MessageAttachment>;
|
|
8
|
+
readonly createMessage?: (draft: ComposerDraft) => BrowserSendMessageRequest;
|
|
9
|
+
readonly requestOptions?: (draft: ComposerDraft) => Omit<BrowserActionOptions, "signal">;
|
|
10
|
+
}
|
|
11
|
+
export declare function createBrowserComposerActions(options: BrowserComposerActionsOptions): ComposerActions;
|
|
12
|
+
//# sourceMappingURL=composer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/messaging/composer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAChB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACtC,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,yBAAyB,CAAC;IAC7E,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,KAAK,EAAE,aAAa,KACjB,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;CAC3C;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,eAAe,CAkCjB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BrowserConfigurationError } from "../errors.js";
|
|
2
|
+
export function createBrowserComposerActions(options) {
|
|
3
|
+
if (!options.conversation ||
|
|
4
|
+
!(options.conversation.id ||
|
|
5
|
+
options.conversation.phoneNumber ||
|
|
6
|
+
options.conversation.bsuid)) {
|
|
7
|
+
throw new BrowserConfigurationError("A conversation ID, phoneNumber, or bsuid is required for browser composer actions.", "missing_conversation");
|
|
8
|
+
}
|
|
9
|
+
return Object.freeze({
|
|
10
|
+
upload: options.upload ??
|
|
11
|
+
(async () => {
|
|
12
|
+
throw new BrowserConfigurationError("Attachment upload requires an application-owned upload adapter.", "missing_upload_adapter");
|
|
13
|
+
}),
|
|
14
|
+
send: async (draft, signal) => {
|
|
15
|
+
const body = options.createMessage?.(draft) ??
|
|
16
|
+
defaultMessage(options.conversation, draft);
|
|
17
|
+
await options.messages.send(body, {
|
|
18
|
+
...options.requestOptions?.(draft),
|
|
19
|
+
signal,
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function defaultMessage(conversation, draft) {
|
|
25
|
+
if (draft.attachments.length > 0) {
|
|
26
|
+
throw new BrowserConfigurationError("Attachment sends require createMessage to map uploaded application media.", "missing_attachment_mapping");
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
conversation,
|
|
30
|
+
content: { text: draft.text },
|
|
31
|
+
...(draft.replyTo === undefined
|
|
32
|
+
? {}
|
|
33
|
+
: { quotedMessage: { id: draft.replyTo } }),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/messaging/composer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAsBzD,MAAM,UAAU,4BAA4B,CAC1C,OAAsC;IAEtC,IACE,CAAC,OAAO,CAAC,YAAY;QACrB,CAAC,CACC,OAAO,CAAC,YAAY,CAAC,EAAE;YACvB,OAAO,CAAC,YAAY,CAAC,WAAW;YAChC,OAAO,CAAC,YAAY,CAAC,KAAK,CAC3B,EACD,CAAC;QACD,MAAM,IAAI,yBAAyB,CACjC,oFAAoF,EACpF,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EACJ,OAAO,CAAC,MAAM;YACd,CAAC,KAAK,IAAI,EAAE;gBACV,MAAM,IAAI,yBAAyB,CACjC,iEAAiE,EACjE,wBAAwB,CACzB,CAAC;YACJ,CAAC,CAAC;QACJ,IAAI,EAAE,KAAK,EAAE,KAAoB,EAAE,MAAmB,EAAiB,EAAE;YACvE,MAAM,IAAI,GACR,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;gBAC9B,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;gBAChC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC;gBAClC,MAAM;aACP,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,YAA0C,EAC1C,KAAoB;IAEpB,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,yBAAyB,CACjC,2EAA2E,EAC3E,4BAA4B,CAC7B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,YAAY;QACZ,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;QAC7B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { BrowserContactsResource, BrowserMessagingClient, BrowserMessagesResource, BrowserPresenceResource, BrowserWidgetResource, type BrowserMessagingClientOptions, } from "./client.js";
|
|
2
|
+
export { createBrowserComposerActions, type BrowserComposerActionsOptions, } from "./composer.js";
|
|
3
|
+
export type * from "./types.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,6BAA6B,GACnC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,eAAe,CAAC;AACvB,mBAAmB,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,GAE7B,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import type { BrowserRequest, BrowserResponse } from "../transport.js";
|
|
2
|
+
export interface BrowserActionOptions {
|
|
3
|
+
readonly signal?: AbortSignal;
|
|
4
|
+
readonly timeoutMs?: number;
|
|
5
|
+
readonly maxNetworkRetries?: number;
|
|
6
|
+
readonly idempotencyKey?: string;
|
|
7
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
8
|
+
}
|
|
9
|
+
export interface BrowserSuccessEnvelope<T> {
|
|
10
|
+
readonly success: true;
|
|
11
|
+
readonly data: T;
|
|
12
|
+
}
|
|
13
|
+
export type BrowserActionResponse<T> = BrowserResponse<T>;
|
|
14
|
+
export type BrowserMessageKind = "text" | "image" | "file" | "voice" | "video" | "poll" | "location" | "contact" | "request_phone_number" | "product" | "product_list" | "order" | "list" | "buttons" | "address_message" | "flow";
|
|
15
|
+
export interface BrowserQuotedMessage {
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly type?: string;
|
|
18
|
+
readonly text?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface BrowserConversationIdentity {
|
|
21
|
+
readonly id: string;
|
|
22
|
+
readonly phoneNumber?: string;
|
|
23
|
+
readonly bsuid?: string;
|
|
24
|
+
readonly username?: string;
|
|
25
|
+
}
|
|
26
|
+
export type BrowserConversationReference = Partial<BrowserConversationIdentity> & ({
|
|
27
|
+
readonly id: string;
|
|
28
|
+
} | {
|
|
29
|
+
readonly phoneNumber: string;
|
|
30
|
+
} | {
|
|
31
|
+
readonly bsuid: string;
|
|
32
|
+
});
|
|
33
|
+
export type BrowserMessageMedia<Kind extends "image" | "video" | "file" | "voice" = "image"> = ({
|
|
34
|
+
readonly url: string;
|
|
35
|
+
readonly base64?: never;
|
|
36
|
+
} | {
|
|
37
|
+
readonly url?: never;
|
|
38
|
+
readonly base64: string;
|
|
39
|
+
}) & {
|
|
40
|
+
readonly mimeType?: string;
|
|
41
|
+
readonly caption?: string;
|
|
42
|
+
} & (Kind extends "file" ? {
|
|
43
|
+
readonly filename?: string;
|
|
44
|
+
readonly ptt?: never;
|
|
45
|
+
} : Kind extends "voice" ? {
|
|
46
|
+
readonly ptt?: boolean;
|
|
47
|
+
readonly filename?: never;
|
|
48
|
+
} : {
|
|
49
|
+
readonly filename?: never;
|
|
50
|
+
readonly ptt?: never;
|
|
51
|
+
});
|
|
52
|
+
type UnionKeys<T> = T extends T ? keyof T : never;
|
|
53
|
+
type ExclusiveUnion<T, All = T> = T extends T ? T & {
|
|
54
|
+
readonly [K in Exclude<UnionKeys<All>, keyof T>]?: never;
|
|
55
|
+
} : never;
|
|
56
|
+
export type BrowserMessageContent = ExclusiveUnion<{
|
|
57
|
+
readonly text: string;
|
|
58
|
+
} | {
|
|
59
|
+
readonly image: BrowserMessageMedia;
|
|
60
|
+
} | {
|
|
61
|
+
readonly video: BrowserMessageMedia;
|
|
62
|
+
} | {
|
|
63
|
+
readonly voice: BrowserMessageMedia<"voice">;
|
|
64
|
+
} | {
|
|
65
|
+
readonly file: BrowserMessageMedia<"file">;
|
|
66
|
+
} | {
|
|
67
|
+
readonly poll: {
|
|
68
|
+
readonly title: string;
|
|
69
|
+
readonly options: readonly string[];
|
|
70
|
+
readonly multiSelect?: boolean;
|
|
71
|
+
};
|
|
72
|
+
} | {
|
|
73
|
+
readonly location: {
|
|
74
|
+
readonly lat: number;
|
|
75
|
+
readonly long: number;
|
|
76
|
+
readonly address?: string;
|
|
77
|
+
};
|
|
78
|
+
} | {
|
|
79
|
+
readonly contact: {
|
|
80
|
+
readonly vcard: string;
|
|
81
|
+
};
|
|
82
|
+
} | {
|
|
83
|
+
readonly requestPhoneNumber: Readonly<Record<string, never>>;
|
|
84
|
+
} | {
|
|
85
|
+
readonly template: Readonly<Record<string, unknown>>;
|
|
86
|
+
} | {
|
|
87
|
+
readonly product: Readonly<Record<string, unknown>>;
|
|
88
|
+
} | {
|
|
89
|
+
readonly productList: Readonly<Record<string, unknown>>;
|
|
90
|
+
} | {
|
|
91
|
+
readonly order: Readonly<Record<string, unknown>>;
|
|
92
|
+
} | {
|
|
93
|
+
readonly list: Readonly<Record<string, unknown>>;
|
|
94
|
+
} | {
|
|
95
|
+
readonly buttons: Readonly<Record<string, unknown>>;
|
|
96
|
+
} | {
|
|
97
|
+
readonly addressMessage: Readonly<Record<string, unknown>>;
|
|
98
|
+
} | {
|
|
99
|
+
readonly flow: Readonly<Record<string, unknown>>;
|
|
100
|
+
}>;
|
|
101
|
+
export interface BrowserSendMessageRequest {
|
|
102
|
+
readonly conversation: BrowserConversationReference;
|
|
103
|
+
readonly content: BrowserMessageContent;
|
|
104
|
+
readonly isForwarded?: boolean;
|
|
105
|
+
readonly mentions?: readonly string[];
|
|
106
|
+
readonly quotedMessage?: BrowserQuotedMessage;
|
|
107
|
+
}
|
|
108
|
+
export interface BrowserMessageReceipt {
|
|
109
|
+
readonly id: string;
|
|
110
|
+
readonly whatsapp_id: string;
|
|
111
|
+
readonly conversation: BrowserConversationIdentity;
|
|
112
|
+
readonly timestamp: string;
|
|
113
|
+
readonly status: string;
|
|
114
|
+
}
|
|
115
|
+
export interface BrowserMessageResult extends BrowserMessageReceipt {
|
|
116
|
+
readonly type: string;
|
|
117
|
+
readonly content?: BrowserMessageContent;
|
|
118
|
+
readonly mediaId?: string;
|
|
119
|
+
}
|
|
120
|
+
export interface BrowserSeenRequest {
|
|
121
|
+
readonly conversation: BrowserConversationReference;
|
|
122
|
+
readonly id: string;
|
|
123
|
+
}
|
|
124
|
+
export interface BrowserTypingRequest {
|
|
125
|
+
readonly conversation: BrowserConversationReference;
|
|
126
|
+
readonly state: "typing" | "recording" | "paused";
|
|
127
|
+
}
|
|
128
|
+
export interface BrowserReactionRequest {
|
|
129
|
+
readonly conversation: BrowserConversationReference;
|
|
130
|
+
readonly id: string;
|
|
131
|
+
readonly reaction: string;
|
|
132
|
+
}
|
|
133
|
+
export interface BrowserStarRequest {
|
|
134
|
+
readonly conversation: BrowserConversationReference;
|
|
135
|
+
readonly id: string;
|
|
136
|
+
readonly star: boolean;
|
|
137
|
+
}
|
|
138
|
+
export interface BrowserSuccessResponse {
|
|
139
|
+
readonly success: boolean;
|
|
140
|
+
readonly message?: string;
|
|
141
|
+
}
|
|
142
|
+
export interface BrowserPresenceData {
|
|
143
|
+
readonly desired?: "available" | "unavailable";
|
|
144
|
+
readonly desiredAt?: string;
|
|
145
|
+
readonly lastSent?: "available" | "unavailable";
|
|
146
|
+
readonly lastSentAt?: string;
|
|
147
|
+
readonly authoritative: false;
|
|
148
|
+
}
|
|
149
|
+
export interface BrowserChatState {
|
|
150
|
+
readonly sender: string;
|
|
151
|
+
readonly state: "composing" | "paused";
|
|
152
|
+
readonly media?: string;
|
|
153
|
+
readonly observedAt: string;
|
|
154
|
+
readonly stale: boolean;
|
|
155
|
+
}
|
|
156
|
+
export interface BrowserChatPresenceData {
|
|
157
|
+
readonly policy: "off" | "events" | "cache";
|
|
158
|
+
readonly status: "unknown" | "fresh" | "stale";
|
|
159
|
+
readonly unknownReason?: "disabled" | "not_observed" | "suspended";
|
|
160
|
+
readonly available?: boolean;
|
|
161
|
+
readonly lastSeen?: string;
|
|
162
|
+
readonly observedAt?: string;
|
|
163
|
+
readonly subscriptionExpiresAt?: string;
|
|
164
|
+
readonly stale: boolean;
|
|
165
|
+
readonly typingPolicy: "off" | "events" | "cache";
|
|
166
|
+
readonly typingStatus: "unknown" | "fresh" | "stale";
|
|
167
|
+
readonly typingUnknownReason?: "disabled" | "not_observed" | "suspended";
|
|
168
|
+
readonly chatState?: BrowserChatState;
|
|
169
|
+
}
|
|
170
|
+
export interface BrowserPresenceSubscriptionData {
|
|
171
|
+
readonly status: "SUBSCRIBED";
|
|
172
|
+
readonly expiresAt: string;
|
|
173
|
+
}
|
|
174
|
+
export interface BrowserAsyncAcceptedData {
|
|
175
|
+
readonly requestId: string;
|
|
176
|
+
}
|
|
177
|
+
export interface BrowserContact {
|
|
178
|
+
readonly bsuid?: string;
|
|
179
|
+
readonly phoneNumber?: string;
|
|
180
|
+
readonly name: string;
|
|
181
|
+
readonly pushName: string;
|
|
182
|
+
readonly businessName?: string;
|
|
183
|
+
readonly profileUrl?: string;
|
|
184
|
+
readonly id: string;
|
|
185
|
+
readonly username?: string;
|
|
186
|
+
}
|
|
187
|
+
export interface BrowserContactCheckResult {
|
|
188
|
+
readonly exists: boolean;
|
|
189
|
+
readonly bsuid?: string;
|
|
190
|
+
readonly phoneNumber?: string;
|
|
191
|
+
readonly id?: string;
|
|
192
|
+
readonly username?: string;
|
|
193
|
+
}
|
|
194
|
+
export interface BrowserProfilePicture {
|
|
195
|
+
readonly url: string;
|
|
196
|
+
}
|
|
197
|
+
export interface BrowserPairingCodeRequest {
|
|
198
|
+
readonly phone: string;
|
|
199
|
+
}
|
|
200
|
+
export interface BrowserPairingCode {
|
|
201
|
+
readonly code: string;
|
|
202
|
+
}
|
|
203
|
+
export interface BrowserQrCode {
|
|
204
|
+
readonly qr?: string;
|
|
205
|
+
readonly event?: string;
|
|
206
|
+
}
|
|
207
|
+
export type BrowserRequestOptions = Pick<BrowserRequest, "signal" | "timeoutMs" | "maxNetworkRetries" | "idempotencyKey" | "headers">;
|
|
208
|
+
export {};
|
|
209
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messaging/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/messaging/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ObservableController, type ControllerSnapshot } from "../controller.js";
|
|
2
|
+
import type { ProjectTemplateDocument, TemplateDefinition, TemplateDraft, TemplateIssue, TemplatePreview, TemplateSurface } from "./types.js";
|
|
3
|
+
export interface TemplateBuilderTransport {
|
|
4
|
+
/** Lists the project's templates, when the route supports it. */
|
|
5
|
+
list?(signal: AbortSignal): Promise<readonly ProjectTemplateDocument[]>;
|
|
6
|
+
load(templateId: string, signal: AbortSignal): Promise<ProjectTemplateDocument>;
|
|
7
|
+
save(templateId: string | undefined, draft: TemplateDraft, signal: AbortSignal): Promise<ProjectTemplateDocument>;
|
|
8
|
+
preview(templateId: string, values: Readonly<Record<string, string>> | undefined, surface: TemplateSurface | undefined, signal: AbortSignal): Promise<TemplatePreview>;
|
|
9
|
+
submitToMeta(templateId: string, signal: AbortSignal): Promise<ProjectTemplateDocument>;
|
|
10
|
+
delete(templateId: string, signal: AbortSignal): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export interface TemplateBuilderError {
|
|
13
|
+
readonly code: string;
|
|
14
|
+
readonly message: string;
|
|
15
|
+
readonly recoverable: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface TemplateBuilderSnapshot extends ControllerSnapshot {
|
|
18
|
+
readonly status: "idle" | "loading" | "ready" | "saving" | "previewing" | "submitting" | "submitted" | "deleting" | "deleted" | "error";
|
|
19
|
+
readonly templateId?: string;
|
|
20
|
+
readonly draft?: TemplateDraft;
|
|
21
|
+
readonly dirty: boolean;
|
|
22
|
+
readonly localIssues: readonly TemplateIssue[];
|
|
23
|
+
readonly preview?: TemplatePreview;
|
|
24
|
+
readonly submission?: ProjectTemplateDocument;
|
|
25
|
+
readonly error?: TemplateBuilderError;
|
|
26
|
+
}
|
|
27
|
+
export interface TemplateBuilderOptions {
|
|
28
|
+
readonly now?: () => number;
|
|
29
|
+
}
|
|
30
|
+
export declare class TemplateBuilderController extends ObservableController<TemplateBuilderSnapshot> {
|
|
31
|
+
#private;
|
|
32
|
+
constructor(transport: TemplateBuilderTransport, options?: TemplateBuilderOptions);
|
|
33
|
+
create(draft: TemplateDraft): void;
|
|
34
|
+
load(templateId: string): Promise<void>;
|
|
35
|
+
setName(name: string): void;
|
|
36
|
+
setBody(body: string): void;
|
|
37
|
+
updateDefinition(change: Partial<TemplateDefinition>): void;
|
|
38
|
+
setVariableExample(name: string, example: string): void;
|
|
39
|
+
save(): Promise<void>;
|
|
40
|
+
refreshPreview(surface?: TemplateSurface): Promise<void>;
|
|
41
|
+
submitToMeta(): Promise<void>;
|
|
42
|
+
delete(): Promise<void>;
|
|
43
|
+
protected onDispose(): void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/templates/controller.ts"],"names":[],"mappings":"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"}
|