@relaymessenger/sdk 0.3.6-staging.3 → 0.3.6-staging.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +490 -20
- package/dist/a2ui.d.ts +79 -0
- package/dist/a2ui.d.ts.map +1 -0
- package/dist/a2ui.js +99 -0
- package/dist/a2ui.js.map +1 -0
- package/dist/buttons.d.ts +69 -0
- package/dist/buttons.d.ts.map +1 -0
- package/dist/buttons.js +141 -0
- package/dist/buttons.js.map +1 -0
- package/dist/calls/call-room.d.ts +110 -0
- package/dist/calls/call-room.d.ts.map +1 -0
- package/dist/calls/call-room.js +616 -0
- package/dist/calls/call-room.js.map +1 -0
- package/dist/calls/engine-werift-video.d.ts +70 -0
- package/dist/calls/engine-werift-video.d.ts.map +1 -0
- package/dist/calls/engine-werift-video.js +594 -0
- package/dist/calls/engine-werift-video.js.map +1 -0
- package/dist/calls/engine-werift.d.ts +48 -0
- package/dist/calls/engine-werift.d.ts.map +1 -0
- package/dist/calls/engine-werift.js +457 -0
- package/dist/calls/engine-werift.js.map +1 -0
- package/dist/calls/index.d.ts +11 -0
- package/dist/calls/index.d.ts.map +1 -0
- package/dist/calls/index.js +11 -0
- package/dist/calls/index.js.map +1 -0
- package/dist/calls/transport.d.ts +466 -0
- package/dist/calls/transport.d.ts.map +1 -0
- package/dist/calls/transport.js +1409 -0
- package/dist/calls/transport.js.map +1 -0
- package/dist/calls/video-frame.d.ts +56 -0
- package/dist/calls/video-frame.d.ts.map +1 -0
- package/dist/calls/video-frame.js +245 -0
- package/dist/calls/video-frame.js.map +1 -0
- package/dist/calls/video-rtp.d.ts +51 -0
- package/dist/calls/video-rtp.d.ts.map +1 -0
- package/dist/calls/video-rtp.js +294 -0
- package/dist/calls/video-rtp.js.map +1 -0
- package/dist/calls/video.d.ts +188 -0
- package/dist/calls/video.d.ts.map +1 -0
- package/dist/calls/video.js +228 -0
- package/dist/calls/video.js.map +1 -0
- package/dist/client.d.ts +52 -24
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +131 -41
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/links.d.ts +57 -0
- package/dist/links.d.ts.map +1 -0
- package/dist/links.js +126 -0
- package/dist/links.js.map +1 -0
- package/dist/operations.d.ts +41 -25
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +55 -30
- package/dist/operations.js.map +1 -1
- package/dist/payment.d.ts +67 -0
- package/dist/payment.d.ts.map +1 -0
- package/dist/payment.js +147 -0
- package/dist/payment.js.map +1 -0
- package/dist/selection.d.ts +38 -0
- package/dist/selection.d.ts.map +1 -0
- package/dist/selection.js +132 -0
- package/dist/selection.js.map +1 -0
- package/dist/types.d.ts +731 -56
- package/dist/types.d.ts.map +1 -1
- package/dist/websocket.d.ts +2 -2
- package/dist/websocket.d.ts.map +1 -1
- package/package.json +37 -3
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Video tracks for Relay calls, with LiveKit's public API shape.
|
|
3
|
+
*
|
|
4
|
+
* Names and semantics copied from `@livekit/rtc-node` 0.13.35
|
|
5
|
+
* (node_modules/@livekit/rtc-node/src):
|
|
6
|
+
* - video_source.ts:18-75: `new VideoSource(width, height)`,
|
|
7
|
+
* `captureFrame(frame, timestampUs = BigInt(0), rotation = VIDEO_ROTATION_0)`
|
|
8
|
+
* which throws "VideoSource is closed" after `close()`.
|
|
9
|
+
* - track.ts:241-268: `LocalVideoTrack.createVideoTrack(name, source)` and
|
|
10
|
+
* `close(closeSource = true)`.
|
|
11
|
+
* - video_stream.ts:12-16 and :94-98: `VideoFrameEvent { frame, timestampUs,
|
|
12
|
+
* rotation }` and `class VideoStream extends ReadableStream<VideoFrameEvent>`
|
|
13
|
+
* built from a remote track, read with `for await`.
|
|
14
|
+
* - participant.ts:737 `publishTrack(track, options)` and :783
|
|
15
|
+
* `unpublishTrack(...)`; the publish options `videoCodec` and
|
|
16
|
+
* `videoEncoding { maxBitrate, maxFramerate }` from
|
|
17
|
+
* @livekit/rtc-ffi-bindings proto/room_pb.d.ts:1792-1859, and `VideoCodec`
|
|
18
|
+
* (VP8 = 0, H264 = 1) from proto/video_frame_pb.d.ts:28-50.
|
|
19
|
+
* The optional `{ capacity, format }` of `VideoStream` is LiveKit's Python SDK
|
|
20
|
+
* (livekit-rtc/livekit/rtc/video_stream.py:42-60, `RingQueue` in _utils.py:78-94:
|
|
21
|
+
* capacity 0 keeps every frame, a positive capacity drops the oldest).
|
|
22
|
+
*
|
|
23
|
+
* Relay semantics (PROTOCOL.md sections 1-2, _artifacts/calls-facetime-20260922):
|
|
24
|
+
* a participant publishes at most one `video` track; publishing it the first
|
|
25
|
+
* time negotiates it with an add-track offer and announces `userUpdate
|
|
26
|
+
* { video: true }`; unpublishing stops sending and announces `video: false`
|
|
27
|
+
* but leaves the track negotiated, so publishing again only resumes.
|
|
28
|
+
*/
|
|
29
|
+
import { ReadableStream } from "node:stream/web";
|
|
30
|
+
import { VideoBufferType, VideoFrame, VideoRotation } from "./video-frame.js";
|
|
31
|
+
export { VideoBufferType, VideoFrame, VideoRotation } from "./video-frame.js";
|
|
32
|
+
/** Same names and numbers as LiveKit's `VideoCodec`; Relay sends these two. */
|
|
33
|
+
export var VideoCodec;
|
|
34
|
+
(function (VideoCodec) {
|
|
35
|
+
VideoCodec[VideoCodec["VP8"] = 0] = "VP8";
|
|
36
|
+
VideoCodec[VideoCodec["H264"] = 1] = "H264";
|
|
37
|
+
})(VideoCodec || (VideoCodec = {}));
|
|
38
|
+
export class VideoSource {
|
|
39
|
+
width;
|
|
40
|
+
height;
|
|
41
|
+
/** @internal */
|
|
42
|
+
closed = false;
|
|
43
|
+
#sinks = new Set();
|
|
44
|
+
constructor(width, height) {
|
|
45
|
+
this.width = width;
|
|
46
|
+
this.height = height;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Hand one raw frame to the published track. RGBA, BGRA and I420 (LiveKit
|
|
50
|
+
* `VideoBufferType`) go to the encoder as they are; the other packed RGB
|
|
51
|
+
* layouts are converted to I420 first. `timestampUs` 0 means "now".
|
|
52
|
+
* Frames captured while the track is not published are dropped.
|
|
53
|
+
*/
|
|
54
|
+
captureFrame(frame, timestampUs = BigInt(0), rotation = VideoRotation.VIDEO_ROTATION_0) {
|
|
55
|
+
if (this.closed)
|
|
56
|
+
throw new Error("VideoSource is closed");
|
|
57
|
+
for (const sink of this.#sinks)
|
|
58
|
+
sink(frame, timestampUs, rotation);
|
|
59
|
+
}
|
|
60
|
+
async close() {
|
|
61
|
+
this.closed = true;
|
|
62
|
+
this.#sinks.clear();
|
|
63
|
+
}
|
|
64
|
+
/** @internal */
|
|
65
|
+
_attach(sink) {
|
|
66
|
+
this.#sinks.add(sink);
|
|
67
|
+
return () => this.#sinks.delete(sink);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export class LocalVideoTrack {
|
|
71
|
+
kind = "video";
|
|
72
|
+
name;
|
|
73
|
+
/** @internal */
|
|
74
|
+
source;
|
|
75
|
+
constructor(name, source) {
|
|
76
|
+
this.name = name;
|
|
77
|
+
this.source = source;
|
|
78
|
+
}
|
|
79
|
+
static createVideoTrack(name, source) {
|
|
80
|
+
return new LocalVideoTrack(name, source);
|
|
81
|
+
}
|
|
82
|
+
async close(closeSource = true) {
|
|
83
|
+
if (closeSource)
|
|
84
|
+
await this.source.close();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The other participant's camera. Emitted once per call by the transport's
|
|
89
|
+
* `trackSubscribed` event; it survives SFU restarts (the transport moves it
|
|
90
|
+
* onto the new session's receiver), so a `VideoStream` read from it keeps going.
|
|
91
|
+
*/
|
|
92
|
+
export class RemoteVideoTrack {
|
|
93
|
+
kind = "video";
|
|
94
|
+
name = "video";
|
|
95
|
+
#receiver;
|
|
96
|
+
#retired;
|
|
97
|
+
#consumers = new Set();
|
|
98
|
+
#ended = false;
|
|
99
|
+
/** Counters summed over every receiver this track has had. */
|
|
100
|
+
stats() {
|
|
101
|
+
const current = this.#receiver?.stats();
|
|
102
|
+
const retired = this.#retired;
|
|
103
|
+
if (!retired)
|
|
104
|
+
return current;
|
|
105
|
+
if (!current)
|
|
106
|
+
return { ...retired, recentFrames: 0 };
|
|
107
|
+
return {
|
|
108
|
+
...current,
|
|
109
|
+
rtpPackets: retired.rtpPackets + current.rtpPackets,
|
|
110
|
+
framesAssembled: retired.framesAssembled + current.framesAssembled,
|
|
111
|
+
framesDropped: retired.framesDropped + current.framesDropped,
|
|
112
|
+
framesDecoded: retired.framesDecoded + current.framesDecoded,
|
|
113
|
+
decodeErrors: retired.decodeErrors + current.decodeErrors,
|
|
114
|
+
keyframeRequests: retired.keyframeRequests + current.keyframeRequests,
|
|
115
|
+
firstFrameAt: retired.firstFrameAt ?? current.firstFrameAt,
|
|
116
|
+
lastFrameAt: current.lastFrameAt ?? retired.lastFrameAt,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/** @internal The transport moves the track onto a new session's receiver. */
|
|
120
|
+
_attach(receiver) {
|
|
121
|
+
this._detach();
|
|
122
|
+
this.#receiver = receiver;
|
|
123
|
+
receiver.onframe = (event) => {
|
|
124
|
+
for (const consumer of this.#consumers)
|
|
125
|
+
consumer.push(event);
|
|
126
|
+
};
|
|
127
|
+
receiver.setActive(this.#consumers.size > 0);
|
|
128
|
+
}
|
|
129
|
+
/** @internal */
|
|
130
|
+
_detach() {
|
|
131
|
+
const receiver = this.#receiver;
|
|
132
|
+
if (!receiver)
|
|
133
|
+
return;
|
|
134
|
+
this.#receiver = undefined;
|
|
135
|
+
const stats = receiver.stats();
|
|
136
|
+
const retired = this.#retired;
|
|
137
|
+
this.#retired = retired
|
|
138
|
+
? {
|
|
139
|
+
...stats,
|
|
140
|
+
rtpPackets: retired.rtpPackets + stats.rtpPackets,
|
|
141
|
+
framesAssembled: retired.framesAssembled + stats.framesAssembled,
|
|
142
|
+
framesDropped: retired.framesDropped + stats.framesDropped,
|
|
143
|
+
framesDecoded: retired.framesDecoded + stats.framesDecoded,
|
|
144
|
+
decodeErrors: retired.decodeErrors + stats.decodeErrors,
|
|
145
|
+
keyframeRequests: retired.keyframeRequests + stats.keyframeRequests,
|
|
146
|
+
firstFrameAt: retired.firstFrameAt ?? stats.firstFrameAt,
|
|
147
|
+
lastFrameAt: stats.lastFrameAt ?? retired.lastFrameAt,
|
|
148
|
+
}
|
|
149
|
+
: stats;
|
|
150
|
+
receiver.onframe = null;
|
|
151
|
+
receiver.stop();
|
|
152
|
+
}
|
|
153
|
+
/** @internal The call is over: every `VideoStream` ends. */
|
|
154
|
+
_end() {
|
|
155
|
+
this._detach();
|
|
156
|
+
this.#ended = true;
|
|
157
|
+
for (const consumer of [...this.#consumers])
|
|
158
|
+
consumer.end();
|
|
159
|
+
this.#consumers.clear();
|
|
160
|
+
}
|
|
161
|
+
/** @internal */
|
|
162
|
+
_subscribe(consumer) {
|
|
163
|
+
if (this.#ended) {
|
|
164
|
+
consumer.end();
|
|
165
|
+
return () => undefined;
|
|
166
|
+
}
|
|
167
|
+
this.#consumers.add(consumer);
|
|
168
|
+
if (this.#consumers.size === 1)
|
|
169
|
+
this.#receiver?.setActive(true);
|
|
170
|
+
return () => {
|
|
171
|
+
this.#consumers.delete(consumer);
|
|
172
|
+
if (this.#consumers.size === 0)
|
|
173
|
+
this.#receiver?.setActive(false);
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Decoded frames of a remote video track. Decoding starts when the first
|
|
179
|
+
* stream opens and stops when the last one is cancelled.
|
|
180
|
+
*/
|
|
181
|
+
export class VideoStream extends ReadableStream {
|
|
182
|
+
constructor(track, options = {}) {
|
|
183
|
+
const capacity = options.capacity ?? 0;
|
|
184
|
+
const format = options.format;
|
|
185
|
+
const queue = [];
|
|
186
|
+
let waiting;
|
|
187
|
+
let ended = false;
|
|
188
|
+
let unsubscribe;
|
|
189
|
+
const wake = () => {
|
|
190
|
+
const resolve = waiting;
|
|
191
|
+
waiting = undefined;
|
|
192
|
+
resolve?.();
|
|
193
|
+
};
|
|
194
|
+
super({
|
|
195
|
+
start: () => {
|
|
196
|
+
unsubscribe = track._subscribe({
|
|
197
|
+
push: (event) => {
|
|
198
|
+
if (capacity > 0 && queue.length >= capacity)
|
|
199
|
+
queue.shift();
|
|
200
|
+
queue.push(event);
|
|
201
|
+
wake();
|
|
202
|
+
},
|
|
203
|
+
end: () => {
|
|
204
|
+
ended = true;
|
|
205
|
+
wake();
|
|
206
|
+
},
|
|
207
|
+
});
|
|
208
|
+
},
|
|
209
|
+
pull: async (controller) => {
|
|
210
|
+
while (queue.length === 0 && !ended)
|
|
211
|
+
await new Promise((resolve) => { waiting = resolve; });
|
|
212
|
+
const event = queue.shift();
|
|
213
|
+
if (!event) {
|
|
214
|
+
controller.close();
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
const frame = format === undefined || format === event.frame.type ? event.frame : event.frame.convert(format);
|
|
218
|
+
controller.enqueue({ ...event, frame });
|
|
219
|
+
},
|
|
220
|
+
cancel: () => {
|
|
221
|
+
unsubscribe?.();
|
|
222
|
+
ended = true;
|
|
223
|
+
wake();
|
|
224
|
+
},
|
|
225
|
+
}, { highWaterMark: 0 });
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=video.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/calls/video.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChatsPage, MessagesPage } from "./pagination.js";
|
|
2
|
-
import
|
|
2
|
+
import { CallRoom, type CallRoomOptions } from "./calls/call-room.js";
|
|
3
|
+
import type { AcceptedResponse, Attachment, AttachmentCreateParams, AttachmentCreateResponse, BlockedHandleListResponse, BlockHandleParams, BlockHandleResponse, CallCreateOptions, CallCreateParams, CallListParams, CallListResponse, CallResponse, Chat, ChatActivityResponse, ChatClearActivityParams, ChatCreateParams, ChatCreateResponse, ChatListChatsParams, ChatSendVoicememoParams, ChatSendVoicememoResponse, ChatSetActivityParams, ChatUpdateParams, ChatUpdateResponse, ContactCardItem, ContactCardCreateParams, ContactCardRetrieveParams, ContactCardRetrieveResponse, ContactCardUpdateParams, ContactLookupParams, ContactLookupResponse, GetChatLocationResponse, LocationRequestResponse, Message, MessageAddReactionParams, MessageAddReactionResponse, MessageCreateParams, MessageCreateResponse, MessageListParams, MessageSendParams, MessageSendResponse, MessageThreadParams, ParticipantAddParams, ParticipantRemoveParams, PaymentRequest, PaymentRequestCreateOptions, PaymentRequestCreateParams, PaymentRequestListParams, PaymentRequestListResponse, RequestOptions, UnblockHandleParams, WebhookEventListResponse, WebhookSubscription, WebhookSubscriptionCreateParams, WebhookSubscriptionCreateResponse, WebhookSubscriptionListResponse, WebhookSubscriptionUpdateParams } from "./types.js";
|
|
3
4
|
import { Webhooks } from "./webhooks.js";
|
|
4
5
|
import { type WebSocketRunOptions } from "./websocket.js";
|
|
5
6
|
type FetchLike = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
|
|
@@ -26,6 +27,7 @@ declare class Transport {
|
|
|
26
27
|
#private;
|
|
27
28
|
readonly baseURL: string;
|
|
28
29
|
constructor(options: RelayOptions);
|
|
30
|
+
callRoom(callID: string, options?: CallRoomOptions): CallRoom;
|
|
29
31
|
request<T>(request: InternalRequest): Promise<T>;
|
|
30
32
|
upload(allocation: AttachmentCreateResponse, data: BodyInit, options?: RequestOptions): Promise<void>;
|
|
31
33
|
runWebSocket(options: WebSocketRunOptions): Promise<void>;
|
|
@@ -42,10 +44,35 @@ declare class ChatParticipants {
|
|
|
42
44
|
add(chatID: string, body: ParticipantAddParams, options?: RequestOptions): Promise<AcceptedResponse>;
|
|
43
45
|
remove(chatID: string, body: ParticipantRemoveParams, options?: RequestOptions): Promise<AcceptedResponse>;
|
|
44
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Location sharing in a one-to-one chat with a person. Coordinates are GeoJSON,
|
|
49
|
+
* `[longitude, latitude]`. Reading is poll-based: `location.sharing.started`
|
|
50
|
+
* and `location.sharing.stopped` fire when a share begins or ends, never when
|
|
51
|
+
* the position moves.
|
|
52
|
+
*/
|
|
53
|
+
declare class ChatLocation {
|
|
54
|
+
private readonly transport;
|
|
55
|
+
constructor(transport: Transport);
|
|
56
|
+
/**
|
|
57
|
+
* Asks the person in this one-to-one chat to share their location. The chat
|
|
58
|
+
* gets a Message from your agent with one `location_request` part; nothing is
|
|
59
|
+
* returned about the person's answer. Returns 409 while the person is already
|
|
60
|
+
* sharing, and in a group chat or a chat with no person; 429 with
|
|
61
|
+
* `Retry-After` after one request in the same chat in the last 60 seconds.
|
|
62
|
+
*/
|
|
63
|
+
request(chatID: string, options?: RequestOptions): Promise<LocationRequestResponse>;
|
|
64
|
+
/**
|
|
65
|
+
* Reads the current location of everyone sharing with your agent in this
|
|
66
|
+
* chat, one Feature per person. `data.features` is empty when nobody is
|
|
67
|
+
* sharing. Use `properties.updated_at` to judge freshness.
|
|
68
|
+
*/
|
|
69
|
+
retrieve(chatID: string, options?: RequestOptions): Promise<GetChatLocationResponse>;
|
|
70
|
+
}
|
|
45
71
|
export declare class Chats {
|
|
46
72
|
private readonly transport;
|
|
47
73
|
readonly messages: ChatMessages;
|
|
48
74
|
readonly participants: ChatParticipants;
|
|
75
|
+
readonly location: ChatLocation;
|
|
49
76
|
constructor(transport: Transport);
|
|
50
77
|
create(body: ChatCreateParams, options?: RequestOptions): Promise<ChatCreateResponse>;
|
|
51
78
|
retrieve(chatID: string, options?: RequestOptions): Promise<Chat>;
|
|
@@ -54,6 +81,9 @@ export declare class Chats {
|
|
|
54
81
|
leaveChat(chatID: string, options?: RequestOptions): Promise<AcceptedResponse>;
|
|
55
82
|
startTyping(chatID: string, options?: RequestOptions): Promise<void>;
|
|
56
83
|
stopTyping(chatID: string, options?: RequestOptions): Promise<void>;
|
|
84
|
+
getActivity(chatID: string, options?: RequestOptions): Promise<ChatActivityResponse>;
|
|
85
|
+
setActivity(chatID: string, body: ChatSetActivityParams, options?: RequestOptions): Promise<ChatActivityResponse>;
|
|
86
|
+
clearActivity(chatID: string, query?: ChatClearActivityParams, options?: RequestOptions): Promise<void>;
|
|
57
87
|
/**
|
|
58
88
|
* Explicitly marks the visible Messages in this Chat as Read.
|
|
59
89
|
* The SDK never calls this method automatically.
|
|
@@ -70,6 +100,18 @@ export declare class Messages {
|
|
|
70
100
|
addReaction(messageID: string, body: MessageAddReactionParams, options?: RequestOptions): Promise<MessageAddReactionResponse>;
|
|
71
101
|
listMessagesThread(messageID: string, query?: MessageThreadParams, options?: RequestOptions): Promise<MessagesPage<Message>>;
|
|
72
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Payment requests on the organization's own connected Stripe account. Create
|
|
105
|
+
* one, then send its `checkout_url` as a `payment` message part.
|
|
106
|
+
*/
|
|
107
|
+
export declare class PaymentRequests {
|
|
108
|
+
private readonly transport;
|
|
109
|
+
constructor(transport: Transport);
|
|
110
|
+
create(body: PaymentRequestCreateParams, options?: PaymentRequestCreateOptions): Promise<PaymentRequest>;
|
|
111
|
+
list(query?: PaymentRequestListParams, options?: RequestOptions): Promise<PaymentRequestListResponse>;
|
|
112
|
+
retrieve(paymentRequestID: string, options?: RequestOptions): Promise<PaymentRequest>;
|
|
113
|
+
cancel(paymentRequestID: string, options?: RequestOptions): Promise<PaymentRequest>;
|
|
114
|
+
}
|
|
73
115
|
export declare class Attachments {
|
|
74
116
|
private readonly transport;
|
|
75
117
|
constructor(transport: Transport);
|
|
@@ -92,6 +134,11 @@ export declare class WebhookSubscriptions {
|
|
|
92
134
|
list(options?: RequestOptions): Promise<WebhookSubscriptionListResponse>;
|
|
93
135
|
delete(subscriptionID: string, options?: RequestOptions): Promise<void>;
|
|
94
136
|
}
|
|
137
|
+
export declare class Contacts {
|
|
138
|
+
private readonly transport;
|
|
139
|
+
constructor(transport: Transport);
|
|
140
|
+
lookup(body: ContactLookupParams, options?: RequestOptions): Promise<ContactLookupResponse>;
|
|
141
|
+
}
|
|
95
142
|
export declare class ContactCard {
|
|
96
143
|
private readonly transport;
|
|
97
144
|
constructor(transport: Transport);
|
|
@@ -126,36 +173,15 @@ export declare class Agents {
|
|
|
126
173
|
constructor(transport: Transport);
|
|
127
174
|
delete(handle: string, options?: RequestOptions): Promise<void>;
|
|
128
175
|
}
|
|
129
|
-
export declare class CallConnections {
|
|
130
|
-
private readonly transport;
|
|
131
|
-
constructor(transport: Transport);
|
|
132
|
-
create(callID: string, body: CallConnectionCreateParams, options?: RequestOptions): Promise<CallConnectionResponse>;
|
|
133
|
-
subscribe(callID: string, connectionID: string, options?: RequestOptions): Promise<{
|
|
134
|
-
session_description: {
|
|
135
|
-
type: "offer";
|
|
136
|
-
sdp: string;
|
|
137
|
-
};
|
|
138
|
-
}>;
|
|
139
|
-
renegotiate(callID: string, connectionID: string, body: {
|
|
140
|
-
session_description: {
|
|
141
|
-
type: "answer";
|
|
142
|
-
sdp: string;
|
|
143
|
-
};
|
|
144
|
-
}, options?: RequestOptions): Promise<{
|
|
145
|
-
success: true;
|
|
146
|
-
}>;
|
|
147
|
-
}
|
|
148
176
|
export declare class Calls {
|
|
149
177
|
private readonly transport;
|
|
150
|
-
readonly connections: CallConnections;
|
|
151
178
|
constructor(transport: Transport);
|
|
152
179
|
create(chatID: string, body: CallCreateParams, options: CallCreateOptions): Promise<CallResponse>;
|
|
153
180
|
retrieve(callID: string, options?: RequestOptions): Promise<CallResponse>;
|
|
154
181
|
list(chatID: string, query?: CallListParams, options?: RequestOptions): Promise<CallListResponse>;
|
|
155
|
-
|
|
156
|
-
|
|
182
|
+
/** Authenticated WebRTC signaling room for this Call participant. */
|
|
183
|
+
room(callID: string, options?: CallRoomOptions): CallRoom;
|
|
157
184
|
end(callID: string, options?: RequestOptions): Promise<CallResponse>;
|
|
158
|
-
connected(callID: string, options?: RequestOptions): Promise<CallResponse>;
|
|
159
185
|
}
|
|
160
186
|
export declare class Relay {
|
|
161
187
|
readonly agents: Agents;
|
|
@@ -163,10 +189,12 @@ export declare class Relay {
|
|
|
163
189
|
readonly chats: Chats;
|
|
164
190
|
readonly calls: Calls;
|
|
165
191
|
readonly messages: Messages;
|
|
192
|
+
readonly paymentRequests: PaymentRequests;
|
|
166
193
|
readonly attachments: Attachments;
|
|
167
194
|
readonly webhookEvents: WebhookEvents;
|
|
168
195
|
readonly webhookSubscriptions: WebhookSubscriptions;
|
|
169
196
|
readonly contactCard: ContactCard;
|
|
197
|
+
readonly contacts: Contacts;
|
|
170
198
|
readonly blockedHandles: BlockedHandles;
|
|
171
199
|
readonly websocket: WebSocket;
|
|
172
200
|
readonly webhooks: Webhooks;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|