@sidebandchat/client 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COPYRIGHT +8 -0
- package/LICENSE +674 -0
- package/README.md +121 -2
- package/dist/activity/activity-sharing-controller.d.ts +131 -0
- package/dist/activity/activity-sharing-controller.d.ts.map +1 -0
- package/dist/activity/activity-sharing-controller.js +351 -0
- package/dist/activity/activity-sharing-controller.js.map +1 -0
- package/dist/activity/index.d.ts +2 -0
- package/dist/activity/index.d.ts.map +1 -0
- package/dist/activity/index.js +2 -0
- package/dist/activity/index.js.map +1 -0
- package/dist/attachments/attachment-client.d.ts +36 -0
- package/dist/attachments/attachment-client.d.ts.map +1 -0
- package/dist/attachments/attachment-client.js +98 -0
- package/dist/attachments/attachment-client.js.map +1 -0
- package/dist/attachments/draft-attachment.d.ts +17 -0
- package/dist/attachments/draft-attachment.d.ts.map +1 -0
- package/dist/attachments/draft-attachment.js +2 -0
- package/dist/attachments/draft-attachment.js.map +1 -0
- package/dist/auth/identity-client.d.ts +64 -0
- package/dist/auth/identity-client.d.ts.map +1 -0
- package/dist/auth/identity-client.js +65 -0
- package/dist/auth/identity-client.js.map +1 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +2 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/badges/badge-verifier.d.ts +11 -0
- package/dist/badges/badge-verifier.d.ts.map +1 -0
- package/dist/badges/badge-verifier.js +128 -0
- package/dist/badges/badge-verifier.js.map +1 -0
- package/dist/calls/calls-client.d.ts +16 -0
- package/dist/calls/calls-client.d.ts.map +1 -0
- package/dist/calls/calls-client.js +55 -0
- package/dist/calls/calls-client.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 +2 -0
- package/dist/calls/index.js.map +1 -0
- package/dist/calls/media-controls.d.ts +38 -0
- package/dist/calls/media-controls.d.ts.map +1 -0
- package/dist/calls/media-controls.js +134 -0
- package/dist/calls/media-controls.js.map +1 -0
- package/dist/calls/media-presentation-controller.d.ts +39 -0
- package/dist/calls/media-presentation-controller.d.ts.map +1 -0
- package/dist/calls/media-presentation-controller.js +106 -0
- package/dist/calls/media-presentation-controller.js.map +1 -0
- package/dist/calls/media-types.d.ts +37 -0
- package/dist/calls/media-types.d.ts.map +1 -0
- package/dist/calls/media-types.js +2 -0
- package/dist/calls/media-types.js.map +1 -0
- package/dist/calls/media.d.ts +39 -0
- package/dist/calls/media.d.ts.map +1 -0
- package/dist/calls/media.js +501 -0
- package/dist/calls/media.js.map +1 -0
- package/dist/client/ephemeral-state.d.ts +52 -0
- package/dist/client/ephemeral-state.d.ts.map +1 -0
- package/dist/client/ephemeral-state.js +371 -0
- package/dist/client/ephemeral-state.js.map +1 -0
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +4 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/live-event-controller.d.ts +14 -0
- package/dist/client/live-event-controller.d.ts.map +1 -0
- package/dist/client/live-event-controller.js +28 -0
- package/dist/client/live-event-controller.js.map +1 -0
- package/dist/client/platform-adapters.d.ts +122 -0
- package/dist/client/platform-adapters.d.ts.map +1 -0
- package/dist/client/platform-adapters.js +2 -0
- package/dist/client/platform-adapters.js.map +1 -0
- package/dist/client/session-runtime.d.ts +115 -0
- package/dist/client/session-runtime.d.ts.map +1 -0
- package/dist/client/session-runtime.js +607 -0
- package/dist/client/session-runtime.js.map +1 -0
- package/dist/client/sideband-client.d.ts +141 -0
- package/dist/client/sideband-client.d.ts.map +1 -0
- package/dist/client/sideband-client.js +575 -0
- package/dist/client/sideband-client.js.map +1 -0
- package/dist/client/snapshot-client.d.ts +9 -0
- package/dist/client/snapshot-client.d.ts.map +1 -0
- package/dist/client/snapshot-client.js +18 -0
- package/dist/client/snapshot-client.js.map +1 -0
- package/dist/client/state.d.ts +112 -0
- package/dist/client/state.d.ts.map +1 -0
- package/dist/client/state.js +992 -0
- package/dist/client/state.js.map +1 -0
- package/dist/communities/community-client.d.ts +40 -0
- package/dist/communities/community-client.d.ts.map +1 -0
- package/dist/communities/community-client.js +166 -0
- package/dist/communities/community-client.js.map +1 -0
- package/dist/conversations/index.d.ts +2 -0
- package/dist/conversations/index.d.ts.map +1 -0
- package/dist/conversations/index.js +2 -0
- package/dist/conversations/index.js.map +1 -0
- package/dist/conversations/mentions.d.ts +18 -0
- package/dist/conversations/mentions.d.ts.map +1 -0
- package/dist/conversations/mentions.js +108 -0
- package/dist/conversations/mentions.js.map +1 -0
- package/dist/conversations/messaging-client.d.ts +56 -0
- package/dist/conversations/messaging-client.d.ts.map +1 -0
- package/dist/conversations/messaging-client.js +333 -0
- package/dist/conversations/messaging-client.js.map +1 -0
- package/dist/conversations/replies-controller.d.ts +50 -0
- package/dist/conversations/replies-controller.d.ts.map +1 -0
- package/dist/conversations/replies-controller.js +206 -0
- package/dist/conversations/replies-controller.js.map +1 -0
- package/dist/devices/device-client.d.ts +11 -0
- package/dist/devices/device-client.d.ts.map +1 -0
- package/dist/devices/device-client.js +27 -0
- package/dist/devices/device-client.js.map +1 -0
- package/dist/domain.d.ts +528 -0
- package/dist/domain.d.ts.map +1 -0
- package/dist/domain.js +13 -0
- package/dist/domain.js.map +1 -0
- package/dist/entity-id.d.ts +32 -0
- package/dist/entity-id.d.ts.map +1 -0
- package/dist/entity-id.js +17 -0
- package/dist/entity-id.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/instance/index.d.ts +5 -0
- package/dist/instance/index.d.ts.map +1 -0
- package/dist/instance/index.js +3 -0
- package/dist/instance/index.js.map +1 -0
- package/dist/instance/instance-policy.d.ts +13 -0
- package/dist/instance/instance-policy.d.ts.map +1 -0
- package/dist/instance/instance-policy.js +2 -0
- package/dist/instance/instance-policy.js.map +1 -0
- package/dist/instance-access.d.ts +66 -0
- package/dist/instance-access.d.ts.map +1 -0
- package/dist/instance-access.js +84 -0
- package/dist/instance-access.js.map +1 -0
- package/dist/instance-capabilities.d.ts +12 -0
- package/dist/instance-capabilities.d.ts.map +1 -0
- package/dist/instance-capabilities.js +2 -0
- package/dist/instance-capabilities.js.map +1 -0
- package/dist/instance-endpoint.d.ts +32 -0
- package/dist/instance-endpoint.d.ts.map +1 -0
- package/dist/instance-endpoint.js +147 -0
- package/dist/instance-endpoint.js.map +1 -0
- package/dist/model/index.d.ts +3 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +3 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/selectors.d.ts +22 -0
- package/dist/model/selectors.d.ts.map +1 -0
- package/dist/model/selectors.js +73 -0
- package/dist/model/selectors.js.map +1 -0
- package/dist/private-conversation/file-hash.d.ts +2 -0
- package/dist/private-conversation/file-hash.d.ts.map +1 -0
- package/dist/private-conversation/file-hash.js +13 -0
- package/dist/private-conversation/file-hash.js.map +1 -0
- package/dist/private-conversation/private-conversation-crypto.d.ts +48 -0
- package/dist/private-conversation/private-conversation-crypto.d.ts.map +1 -0
- package/dist/private-conversation/private-conversation-crypto.js +169 -0
- package/dist/private-conversation/private-conversation-crypto.js.map +1 -0
- package/dist/private-conversation/private-conversations-client.d.ts +23 -0
- package/dist/private-conversation/private-conversations-client.d.ts.map +1 -0
- package/dist/private-conversation/private-conversations-client.js +77 -0
- package/dist/private-conversation/private-conversations-client.js.map +1 -0
- package/dist/private-conversation/private-transfer-limits.d.ts +9 -0
- package/dist/private-conversation/private-transfer-limits.d.ts.map +1 -0
- package/dist/private-conversation/private-transfer-limits.js +9 -0
- package/dist/private-conversation/private-transfer-limits.js.map +1 -0
- package/dist/private-conversation/private-transfer-protocol.d.ts +53 -0
- package/dist/private-conversation/private-transfer-protocol.d.ts.map +1 -0
- package/dist/private-conversation/private-transfer-protocol.js +184 -0
- package/dist/private-conversation/private-transfer-protocol.js.map +1 -0
- package/dist/private-conversation/private-transfer-transport.d.ts +22 -0
- package/dist/private-conversation/private-transfer-transport.d.ts.map +1 -0
- package/dist/private-conversation/private-transfer-transport.js +94 -0
- package/dist/private-conversation/private-transfer-transport.js.map +1 -0
- package/dist/realtime/realtime-client.d.ts +31 -0
- package/dist/realtime/realtime-client.d.ts.map +1 -0
- package/dist/realtime/realtime-client.js +103 -0
- package/dist/realtime/realtime-client.js.map +1 -0
- package/dist/sbp/codec.d.ts +33 -0
- package/dist/sbp/codec.d.ts.map +1 -0
- package/dist/sbp/codec.js +93 -0
- package/dist/sbp/codec.js.map +1 -0
- package/dist/sbp/command-transport.d.ts +9 -0
- package/dist/sbp/command-transport.d.ts.map +1 -0
- package/dist/sbp/command-transport.js +2 -0
- package/dist/sbp/command-transport.js.map +1 -0
- package/dist/sbp/frame.d.ts +34 -0
- package/dist/sbp/frame.d.ts.map +1 -0
- package/dist/sbp/frame.js +95 -0
- package/dist/sbp/frame.js.map +1 -0
- package/dist/sbp/records.d.ts +32 -0
- package/dist/sbp/records.d.ts.map +1 -0
- package/dist/sbp/records.js +527 -0
- package/dist/sbp/records.js.map +1 -0
- package/dist/sbp/session.d.ts +110 -0
- package/dist/sbp/session.d.ts.map +1 -0
- package/dist/sbp/session.js +349 -0
- package/dist/sbp/session.js.map +1 -0
- package/dist/sbp/value.d.ts +13 -0
- package/dist/sbp/value.d.ts.map +1 -0
- package/dist/sbp/value.js +58 -0
- package/dist/sbp/value.js.map +1 -0
- package/dist/social/social-client.d.ts +38 -0
- package/dist/social/social-client.d.ts.map +1 -0
- package/dist/social/social-client.js +110 -0
- package/dist/social/social-client.js.map +1 -0
- package/dist/transports/media-server-identity.d.ts +8 -0
- package/dist/transports/media-server-identity.d.ts.map +1 -0
- package/dist/transports/media-server-identity.js +22 -0
- package/dist/transports/media-server-identity.js.map +1 -0
- package/dist/workspace/index.d.ts +2 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +2 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/workspace-controller.d.ts +39 -0
- package/dist/workspace/workspace-controller.d.ts.map +1 -0
- package/dist/workspace/workspace-controller.js +188 -0
- package/dist/workspace/workspace-controller.js.map +1 -0
- package/dist/workspace/workspace-selectors.d.ts +49 -0
- package/dist/workspace/workspace-selectors.d.ts.map +1 -0
- package/dist/workspace/workspace-selectors.js +110 -0
- package/dist/workspace/workspace-selectors.js.map +1 -0
- package/package.json +88 -4
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { decodeEntityRef, entityRef, wireMap } from "../sbp/codec.js";
|
|
2
|
+
import { decodeDevice } from "../sbp/records.js";
|
|
3
|
+
import { arrayValue, mapValue, required } from "../sbp/value.js";
|
|
4
|
+
export class SbpDevicesClient {
|
|
5
|
+
transport;
|
|
6
|
+
constructor(transport) {
|
|
7
|
+
this.transport = transport;
|
|
8
|
+
}
|
|
9
|
+
async list() {
|
|
10
|
+
const response = mapValue(await this.transport.command(2, wireMap([])));
|
|
11
|
+
return arrayValue(required(response, 0)).map(decodeDevice);
|
|
12
|
+
}
|
|
13
|
+
async revoke(deviceId, revision) {
|
|
14
|
+
const response = mapValue(await this.transport.command(3, wireMap([
|
|
15
|
+
[0, entityRef("device", deviceId)],
|
|
16
|
+
[1, revision],
|
|
17
|
+
])));
|
|
18
|
+
return decodeEntityRef(required(response, 0), "device");
|
|
19
|
+
}
|
|
20
|
+
async revokeAll() {
|
|
21
|
+
await this.transport.command(4, wireMap([]));
|
|
22
|
+
}
|
|
23
|
+
async revokeCurrent() {
|
|
24
|
+
await this.transport.command(5, wireMap([]));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=device-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-client.js","sourceRoot":"","sources":["../../src/devices/device-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,SAA8B;QAA9B,cAAS,GAAT,SAAS,CAAqB;IAAG,CAAC;IAE/D,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAkB,EAAE,QAAgB;QAC/C,MAAM,QAAQ,GAAG,QAAQ,CACvB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAC1B,CAAC,EACD,OAAO,CAAC;YACN,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC,EAAE,QAAQ,CAAC;SACd,CAAC,CACH,CACF,CAAC;QACF,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
package/dist/domain.d.ts
ADDED
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
import type { AttachmentId, ActivityId, BlockId, CallId, ChannelId, CommunityId, ConversationId, DeviceId, EventId, FriendshipId, InvitationId, MessageId, NotificationId, PrivateConversationId, PrivateMessageId, PrivateTransferId, RoleId, UserId } from "./entity-id.js";
|
|
2
|
+
export type ChatState = "active" | "composing" | "paused" | "inactive" | "gone";
|
|
3
|
+
export type PresenceMode = "online" | "idle" | "dnd" | "invisible";
|
|
4
|
+
export type ContactPresence = Exclude<PresenceMode, "invisible"> | "offline";
|
|
5
|
+
export type UserBadge = "early-adopter" | "supporter" | "developer";
|
|
6
|
+
export type HistoryDirection = "before" | "after";
|
|
7
|
+
export type Mention = {
|
|
8
|
+
begin: number;
|
|
9
|
+
end: number;
|
|
10
|
+
userId: UserId;
|
|
11
|
+
};
|
|
12
|
+
export type AttachmentMetadata = {
|
|
13
|
+
id: AttachmentId;
|
|
14
|
+
filename: string;
|
|
15
|
+
mediaType: string;
|
|
16
|
+
byteSize: number;
|
|
17
|
+
sha256: Uint8Array;
|
|
18
|
+
width?: number;
|
|
19
|
+
height?: number;
|
|
20
|
+
blurhash?: string;
|
|
21
|
+
revision: number;
|
|
22
|
+
};
|
|
23
|
+
export type AttachmentUploadTarget = {
|
|
24
|
+
attachmentId: AttachmentId;
|
|
25
|
+
url: string;
|
|
26
|
+
expiresAt: string;
|
|
27
|
+
method: "PUT" | "POST";
|
|
28
|
+
headers: Record<string, string>;
|
|
29
|
+
};
|
|
30
|
+
export type AttachmentGrant = {
|
|
31
|
+
url: string;
|
|
32
|
+
expiresAt: string;
|
|
33
|
+
};
|
|
34
|
+
export type GifResult = {
|
|
35
|
+
id: string;
|
|
36
|
+
title: string;
|
|
37
|
+
previewUrl: string;
|
|
38
|
+
url: string;
|
|
39
|
+
previewWidth: number;
|
|
40
|
+
previewHeight: number;
|
|
41
|
+
blurhash?: string;
|
|
42
|
+
width: number;
|
|
43
|
+
height: number;
|
|
44
|
+
selectionToken: string;
|
|
45
|
+
};
|
|
46
|
+
export type ReactionSummary = {
|
|
47
|
+
emoji: string;
|
|
48
|
+
count: number;
|
|
49
|
+
own: boolean;
|
|
50
|
+
};
|
|
51
|
+
export type ReactionDetailsPage = {
|
|
52
|
+
users: UserSummary[];
|
|
53
|
+
nextOffset?: number;
|
|
54
|
+
};
|
|
55
|
+
export type ChatMessage = {
|
|
56
|
+
id: MessageId;
|
|
57
|
+
conversationId: ConversationId;
|
|
58
|
+
authorId?: UserId;
|
|
59
|
+
author?: UserSummary;
|
|
60
|
+
kind: "user" | "system" | "call" | "invitation";
|
|
61
|
+
authorName?: string;
|
|
62
|
+
body: string;
|
|
63
|
+
mentions?: Mention[];
|
|
64
|
+
gif?: {
|
|
65
|
+
url: string;
|
|
66
|
+
title?: string;
|
|
67
|
+
width?: number;
|
|
68
|
+
height?: number;
|
|
69
|
+
thumbnailUrl?: string;
|
|
70
|
+
thumbnailWidth?: number;
|
|
71
|
+
thumbnailHeight?: number;
|
|
72
|
+
blurhash?: string;
|
|
73
|
+
};
|
|
74
|
+
attachments?: AttachmentMetadata[];
|
|
75
|
+
communityInvite?: {
|
|
76
|
+
url: string;
|
|
77
|
+
communityName: string;
|
|
78
|
+
communityId?: CommunityId;
|
|
79
|
+
};
|
|
80
|
+
communityEvent?: {
|
|
81
|
+
id: MessageId;
|
|
82
|
+
type: "member-joined" | "member-left";
|
|
83
|
+
communityId: CommunityId;
|
|
84
|
+
userId: UserId;
|
|
85
|
+
};
|
|
86
|
+
outgoing: boolean;
|
|
87
|
+
timestamp: string;
|
|
88
|
+
editedAt?: string;
|
|
89
|
+
deletedAt?: string;
|
|
90
|
+
revision: number;
|
|
91
|
+
system?: unknown;
|
|
92
|
+
replaces?: MessageId;
|
|
93
|
+
retracts?: MessageId;
|
|
94
|
+
reply?: {
|
|
95
|
+
id: MessageId;
|
|
96
|
+
authorId?: UserId;
|
|
97
|
+
};
|
|
98
|
+
replyPreview?: {
|
|
99
|
+
messageId: MessageId;
|
|
100
|
+
authorId?: UserId;
|
|
101
|
+
author?: UserSummary;
|
|
102
|
+
text: string;
|
|
103
|
+
unavailable: boolean;
|
|
104
|
+
};
|
|
105
|
+
edited?: boolean;
|
|
106
|
+
reactions?: ReactionSummary[];
|
|
107
|
+
reactionUpdate?: {
|
|
108
|
+
targetId: MessageId;
|
|
109
|
+
senderId: UserId;
|
|
110
|
+
emojis: string[];
|
|
111
|
+
};
|
|
112
|
+
callEvent?: {
|
|
113
|
+
type: "missed" | "completed";
|
|
114
|
+
callId: CallId;
|
|
115
|
+
duration: number;
|
|
116
|
+
initiatedByMe?: boolean;
|
|
117
|
+
initiatorId?: UserId;
|
|
118
|
+
group?: boolean;
|
|
119
|
+
};
|
|
120
|
+
privateEvent?: {
|
|
121
|
+
type: "missed" | "completed";
|
|
122
|
+
sessionId: PrivateConversationId;
|
|
123
|
+
duration: number;
|
|
124
|
+
initiatorId?: UserId;
|
|
125
|
+
initiatedByMe?: boolean;
|
|
126
|
+
};
|
|
127
|
+
pending?: {
|
|
128
|
+
requestId: string;
|
|
129
|
+
state: "sending" | "failed";
|
|
130
|
+
error?: string;
|
|
131
|
+
};
|
|
132
|
+
confirmationTransition?: {
|
|
133
|
+
requestId: string;
|
|
134
|
+
};
|
|
135
|
+
pendingMutation?: {
|
|
136
|
+
requestId: string;
|
|
137
|
+
kind: "edit" | "reaction";
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
export type HistoryPage = {
|
|
141
|
+
conversationId: ConversationId;
|
|
142
|
+
messages: ChatMessage[];
|
|
143
|
+
profiles: UserSummary[];
|
|
144
|
+
reachedBeginning: boolean;
|
|
145
|
+
reachedPresent: boolean;
|
|
146
|
+
olderBefore?: MessageId;
|
|
147
|
+
newerAfter?: MessageId;
|
|
148
|
+
};
|
|
149
|
+
export type ContextHistoryPage = HistoryPage;
|
|
150
|
+
export type ConversationSummary = {
|
|
151
|
+
id: ConversationId;
|
|
152
|
+
kind: "direct" | "group" | "community-channel";
|
|
153
|
+
name?: string;
|
|
154
|
+
avatarId?: AttachmentId;
|
|
155
|
+
participantIds: UserId[];
|
|
156
|
+
channelId?: ChannelId;
|
|
157
|
+
newestEventId?: EventId;
|
|
158
|
+
readThroughMessageId?: MessageId;
|
|
159
|
+
ownerId?: UserId;
|
|
160
|
+
createdAt?: string;
|
|
161
|
+
revision: number;
|
|
162
|
+
};
|
|
163
|
+
export type CommunityChannel = {
|
|
164
|
+
id: ChannelId;
|
|
165
|
+
communityId: CommunityId;
|
|
166
|
+
name: string;
|
|
167
|
+
kind: "text" | "voice";
|
|
168
|
+
conversationId?: ConversationId;
|
|
169
|
+
position: number;
|
|
170
|
+
permissionOverrides: CommunityPermissionOverride[];
|
|
171
|
+
revision: number;
|
|
172
|
+
members?: CommunityMember[];
|
|
173
|
+
memberCount?: number;
|
|
174
|
+
membersComplete?: boolean;
|
|
175
|
+
membersNextCursor?: string;
|
|
176
|
+
onlineMembers?: CommunityMember[];
|
|
177
|
+
onlineMembersComplete?: boolean;
|
|
178
|
+
onlineMembersNextCursor?: string;
|
|
179
|
+
onlineMemberCount?: number;
|
|
180
|
+
};
|
|
181
|
+
export type Community = {
|
|
182
|
+
id: CommunityId;
|
|
183
|
+
name: string;
|
|
184
|
+
kind: "community" | "group_dm";
|
|
185
|
+
avatarId?: AttachmentId;
|
|
186
|
+
ownerId: UserId;
|
|
187
|
+
createdAt?: string;
|
|
188
|
+
members: CommunityMember[];
|
|
189
|
+
membersComplete?: boolean;
|
|
190
|
+
membersNextAfter?: UserId;
|
|
191
|
+
onlineMembers?: CommunityMember[];
|
|
192
|
+
onlineMembersComplete?: boolean;
|
|
193
|
+
onlineMembersNextAfter?: UserId;
|
|
194
|
+
onlineMemberCount?: number;
|
|
195
|
+
channels: CommunityChannel[];
|
|
196
|
+
roles: CommunityRole[];
|
|
197
|
+
revision: number;
|
|
198
|
+
};
|
|
199
|
+
export type CommunityMemberPage = {
|
|
200
|
+
communityId: CommunityId;
|
|
201
|
+
channelId?: ChannelId;
|
|
202
|
+
members: CommunityMember[];
|
|
203
|
+
profiles: UserSummary[];
|
|
204
|
+
nextAfter?: UserId;
|
|
205
|
+
nextCursor?: string;
|
|
206
|
+
complete: boolean;
|
|
207
|
+
total: number;
|
|
208
|
+
online: boolean;
|
|
209
|
+
};
|
|
210
|
+
export type CommunityInvitation = {
|
|
211
|
+
id: InvitationId;
|
|
212
|
+
communityId: CommunityId;
|
|
213
|
+
token?: string;
|
|
214
|
+
createdAt: string;
|
|
215
|
+
expiresAt?: string;
|
|
216
|
+
url: string;
|
|
217
|
+
reusable: boolean;
|
|
218
|
+
maximumUses?: number;
|
|
219
|
+
uses: number;
|
|
220
|
+
revoked: boolean;
|
|
221
|
+
revision: number;
|
|
222
|
+
};
|
|
223
|
+
export type CommunityParticipant = {
|
|
224
|
+
userId: UserId;
|
|
225
|
+
nick: string;
|
|
226
|
+
profile?: UserSummary;
|
|
227
|
+
};
|
|
228
|
+
export type CommunityMember = {
|
|
229
|
+
userId: UserId;
|
|
230
|
+
profile?: UserSummary;
|
|
231
|
+
joinedAt: string;
|
|
232
|
+
roleIds: RoleId[];
|
|
233
|
+
permissions: CommunityPermission[];
|
|
234
|
+
revision: number;
|
|
235
|
+
};
|
|
236
|
+
export type CommunityRole = {
|
|
237
|
+
id: RoleId;
|
|
238
|
+
communityId: CommunityId;
|
|
239
|
+
name: string;
|
|
240
|
+
position: number;
|
|
241
|
+
permissions: CommunityPermission[];
|
|
242
|
+
managed: boolean;
|
|
243
|
+
revision: number;
|
|
244
|
+
};
|
|
245
|
+
export type CommunityPermission = "view-channels" | "manage-community" | "manage-channels" | "manage-roles" | "manage-members" | "create-invitations" | "send-messages" | "join-voice" | "manage-messages";
|
|
246
|
+
export type CommunityPermissionOverride = {
|
|
247
|
+
subject: {
|
|
248
|
+
kind: "everyone";
|
|
249
|
+
} | {
|
|
250
|
+
kind: "role";
|
|
251
|
+
roleId: RoleId;
|
|
252
|
+
} | {
|
|
253
|
+
kind: "user";
|
|
254
|
+
userId: UserId;
|
|
255
|
+
};
|
|
256
|
+
allow: CommunityPermission[];
|
|
257
|
+
deny: CommunityPermission[];
|
|
258
|
+
};
|
|
259
|
+
export type ResolvedCommunityChannel = CommunityChannel;
|
|
260
|
+
export type ResolvedCommunity = Community;
|
|
261
|
+
export type ResolvedCommunityParticipant = CommunityParticipant;
|
|
262
|
+
export type RosterContact = {
|
|
263
|
+
friendshipId: FriendshipId;
|
|
264
|
+
userId: UserId;
|
|
265
|
+
name: string;
|
|
266
|
+
state: "pending" | "accepted" | "declined" | "cancelled" | "removed";
|
|
267
|
+
requesterId: UserId;
|
|
268
|
+
createdAt: string;
|
|
269
|
+
acceptedAt?: string;
|
|
270
|
+
revision: number;
|
|
271
|
+
};
|
|
272
|
+
export type UserSummary = {
|
|
273
|
+
id: UserId;
|
|
274
|
+
username: string;
|
|
275
|
+
displayName: string;
|
|
276
|
+
avatarId?: AttachmentId;
|
|
277
|
+
revision: number;
|
|
278
|
+
};
|
|
279
|
+
export type UserProfile = UserSummary & {
|
|
280
|
+
bio: string;
|
|
281
|
+
createdAt: string;
|
|
282
|
+
badges?: UserBadge[];
|
|
283
|
+
badgeAssertion?: string;
|
|
284
|
+
};
|
|
285
|
+
export type Block = {
|
|
286
|
+
id: BlockId;
|
|
287
|
+
userId: UserId;
|
|
288
|
+
createdAt: string;
|
|
289
|
+
revision: number;
|
|
290
|
+
};
|
|
291
|
+
export type InboxEntry = {
|
|
292
|
+
id: NotificationId;
|
|
293
|
+
kind: "unread" | "mention";
|
|
294
|
+
conversationId: ConversationId;
|
|
295
|
+
messageId?: MessageId;
|
|
296
|
+
senderId?: UserId;
|
|
297
|
+
preview?: string;
|
|
298
|
+
createdAt: string;
|
|
299
|
+
read: boolean;
|
|
300
|
+
unreadCount?: number;
|
|
301
|
+
};
|
|
302
|
+
export type NotificationSettings = {
|
|
303
|
+
scope: {
|
|
304
|
+
kind: "account";
|
|
305
|
+
} | {
|
|
306
|
+
kind: "conversation";
|
|
307
|
+
conversationId: ConversationId;
|
|
308
|
+
} | {
|
|
309
|
+
kind: "community";
|
|
310
|
+
communityId: CommunityId;
|
|
311
|
+
};
|
|
312
|
+
level: "all" | "mentions" | "none";
|
|
313
|
+
suppressMassMentions: boolean;
|
|
314
|
+
revision: number;
|
|
315
|
+
};
|
|
316
|
+
export type RealtimeSettings = {
|
|
317
|
+
presenceVisibility: "nobody" | "friends" | "shared-context";
|
|
318
|
+
activityVisibility: "nobody" | "friends" | "shared-context";
|
|
319
|
+
activitySharingEnabled: boolean;
|
|
320
|
+
customStatus?: {
|
|
321
|
+
text?: string;
|
|
322
|
+
emoji?: string;
|
|
323
|
+
expiresAt?: string;
|
|
324
|
+
};
|
|
325
|
+
revision: number;
|
|
326
|
+
};
|
|
327
|
+
export type CustomStatus = {
|
|
328
|
+
text?: string;
|
|
329
|
+
emoji?: string;
|
|
330
|
+
expiresAt?: string;
|
|
331
|
+
};
|
|
332
|
+
export type PresenceView = {
|
|
333
|
+
userId: UserId;
|
|
334
|
+
availability: "offline" | "online" | "idle" | "dnd";
|
|
335
|
+
customStatus?: CustomStatus;
|
|
336
|
+
observedAt: string;
|
|
337
|
+
idleSince?: string;
|
|
338
|
+
};
|
|
339
|
+
export type ActivityArtwork = {
|
|
340
|
+
kind: "attachment";
|
|
341
|
+
attachmentId: AttachmentId;
|
|
342
|
+
} | {
|
|
343
|
+
kind: "url";
|
|
344
|
+
url: string;
|
|
345
|
+
};
|
|
346
|
+
export type UserActivity = {
|
|
347
|
+
id: ActivityId;
|
|
348
|
+
kind: "music" | "game" | "custom";
|
|
349
|
+
startedAt: string;
|
|
350
|
+
updatedAt: string;
|
|
351
|
+
expiresAt: string;
|
|
352
|
+
payload: unknown;
|
|
353
|
+
};
|
|
354
|
+
export type ActivityView = {
|
|
355
|
+
userId: UserId;
|
|
356
|
+
deviceId: DeviceId;
|
|
357
|
+
activity: UserActivity;
|
|
358
|
+
};
|
|
359
|
+
export type ClientDevice = {
|
|
360
|
+
id: DeviceId;
|
|
361
|
+
name?: string;
|
|
362
|
+
platform?: string;
|
|
363
|
+
clientVersion?: string;
|
|
364
|
+
createdAt: string;
|
|
365
|
+
lastSeenAt: string;
|
|
366
|
+
lastIp?: string;
|
|
367
|
+
current: boolean;
|
|
368
|
+
revision: number;
|
|
369
|
+
};
|
|
370
|
+
export type AccountSnapshot = {
|
|
371
|
+
schemaVersion: number;
|
|
372
|
+
ownUser: UserProfile;
|
|
373
|
+
users: UserSummary[];
|
|
374
|
+
friendships: RosterContact[];
|
|
375
|
+
conversations: ConversationSummary[];
|
|
376
|
+
communities: Community[];
|
|
377
|
+
realtimeSettings: RealtimeSettings;
|
|
378
|
+
inbox: InboxEntry[];
|
|
379
|
+
blocks: Block[];
|
|
380
|
+
notificationSettings: NotificationSettings[];
|
|
381
|
+
devices: ClientDevice[];
|
|
382
|
+
};
|
|
383
|
+
export type ConversationSnapshot = {
|
|
384
|
+
schemaVersion: number;
|
|
385
|
+
conversation: ConversationSummary;
|
|
386
|
+
messages: ChatMessage[];
|
|
387
|
+
profiles: UserSummary[];
|
|
388
|
+
reachedBeginning: boolean;
|
|
389
|
+
};
|
|
390
|
+
export type UserTune = {
|
|
391
|
+
title?: string;
|
|
392
|
+
artist?: string;
|
|
393
|
+
album?: string;
|
|
394
|
+
durationMs?: number;
|
|
395
|
+
positionMs?: number;
|
|
396
|
+
playbackState?: "playing" | "paused" | "stopped" | "unknown";
|
|
397
|
+
applicationId?: string;
|
|
398
|
+
applicationName?: string;
|
|
399
|
+
trackId?: string;
|
|
400
|
+
trackUri?: string;
|
|
401
|
+
};
|
|
402
|
+
export type IncomingCall = {
|
|
403
|
+
id: CallId;
|
|
404
|
+
initiatorId: UserId;
|
|
405
|
+
kind?: "direct" | "group_dm";
|
|
406
|
+
conversationId?: ConversationId;
|
|
407
|
+
channelId?: ChannelId;
|
|
408
|
+
startedAt?: number;
|
|
409
|
+
phase?: "proposal" | "session";
|
|
410
|
+
direction?: "incoming" | "outgoing";
|
|
411
|
+
};
|
|
412
|
+
export type CallTarget = {
|
|
413
|
+
kind: "user";
|
|
414
|
+
userId: UserId;
|
|
415
|
+
} | {
|
|
416
|
+
kind: "conversation";
|
|
417
|
+
conversationId: ConversationId;
|
|
418
|
+
} | {
|
|
419
|
+
kind: "channel";
|
|
420
|
+
channelId: ChannelId;
|
|
421
|
+
};
|
|
422
|
+
export type CallParticipant = {
|
|
423
|
+
userId: UserId;
|
|
424
|
+
state: "invited" | "ringing" | "joining" | "active" | "declined" | "left";
|
|
425
|
+
changedAt?: string;
|
|
426
|
+
};
|
|
427
|
+
export type CallSession = {
|
|
428
|
+
id: CallId;
|
|
429
|
+
target: CallTarget;
|
|
430
|
+
originatorId: UserId;
|
|
431
|
+
media: "voice" | "video";
|
|
432
|
+
state: "ringing" | "connecting" | "active" | "ended" | "declined" | "expired";
|
|
433
|
+
startedAt: string;
|
|
434
|
+
endedAt?: string;
|
|
435
|
+
participants: CallParticipant[];
|
|
436
|
+
emptyRoomExpiresAt?: string;
|
|
437
|
+
};
|
|
438
|
+
export type MediaAdmission = {
|
|
439
|
+
credential: Uint8Array;
|
|
440
|
+
expiresAt: string;
|
|
441
|
+
room: string;
|
|
442
|
+
};
|
|
443
|
+
export type SessionEvent = {
|
|
444
|
+
kind: "call" | "private";
|
|
445
|
+
type: "missed" | "completed";
|
|
446
|
+
sessionId: CallId | PrivateConversationId;
|
|
447
|
+
duration: number;
|
|
448
|
+
initiatorId: UserId;
|
|
449
|
+
};
|
|
450
|
+
export type PrivateConversationSignal = {
|
|
451
|
+
fromUserId: UserId;
|
|
452
|
+
sessionId: PrivateConversationId;
|
|
453
|
+
action: "invite" | "accept" | "decline" | "encrypted" | "end" | "delivery-error";
|
|
454
|
+
payload?: string;
|
|
455
|
+
};
|
|
456
|
+
export type PrivateConversationSession = {
|
|
457
|
+
id: PrivateConversationId;
|
|
458
|
+
initiatorId: UserId;
|
|
459
|
+
peerId: UserId;
|
|
460
|
+
state: "ringing" | "negotiating" | "active" | "reconnecting" | "ended";
|
|
461
|
+
startedAt: string;
|
|
462
|
+
reconnectExpiresAt?: string;
|
|
463
|
+
encryptedInvitation?: Uint8Array;
|
|
464
|
+
};
|
|
465
|
+
export type PrivateConversationMessage = {
|
|
466
|
+
id: PrivateMessageId;
|
|
467
|
+
privateConversationId: PrivateConversationId;
|
|
468
|
+
senderId: UserId;
|
|
469
|
+
body: string;
|
|
470
|
+
timestamp: string;
|
|
471
|
+
attachments?: PrivateConversationAttachment[];
|
|
472
|
+
transferIds?: PrivateTransferId[];
|
|
473
|
+
};
|
|
474
|
+
export type PrivateConversationAttachment = {
|
|
475
|
+
transferId: PrivateTransferId;
|
|
476
|
+
filename: string;
|
|
477
|
+
mediaType: string;
|
|
478
|
+
byteSize: number;
|
|
479
|
+
sha256: Uint8Array;
|
|
480
|
+
width?: number;
|
|
481
|
+
height?: number;
|
|
482
|
+
state: "offered" | "waiting" | "transferring" | "completed" | "declined" | "canceled" | "failed";
|
|
483
|
+
progress: number;
|
|
484
|
+
};
|
|
485
|
+
export type PrivateConversationView = {
|
|
486
|
+
session?: PrivateConversationSession;
|
|
487
|
+
status: "idle" | "incoming" | "outgoing" | "connecting" | "active";
|
|
488
|
+
messages: PrivateConversationMessage[];
|
|
489
|
+
};
|
|
490
|
+
export type PrivateConversationRealtimeEvent = {
|
|
491
|
+
privateConversationId: PrivateConversationId;
|
|
492
|
+
senderId: UserId;
|
|
493
|
+
action: "invite" | "accept" | "decline" | "signal" | "end" | "reconnect" | "state";
|
|
494
|
+
payload: Uint8Array;
|
|
495
|
+
state: PrivateConversationSession["state"];
|
|
496
|
+
receivedAt: string;
|
|
497
|
+
};
|
|
498
|
+
export type PrivateTransfer = {
|
|
499
|
+
id: PrivateTransferId;
|
|
500
|
+
privateConversationId: PrivateConversationId;
|
|
501
|
+
senderId: UserId;
|
|
502
|
+
filename?: string;
|
|
503
|
+
mediaType?: string;
|
|
504
|
+
byteSize: number;
|
|
505
|
+
sha256?: Uint8Array;
|
|
506
|
+
state: "offered" | "accepted" | "transferring" | "completed" | "declined" | "canceled";
|
|
507
|
+
};
|
|
508
|
+
export type PrivateTransferAdmission = {
|
|
509
|
+
credential: Uint8Array;
|
|
510
|
+
expiresAt: string;
|
|
511
|
+
room: string;
|
|
512
|
+
};
|
|
513
|
+
export type MentionNotification = {
|
|
514
|
+
id: NotificationId;
|
|
515
|
+
kind: "dm" | "channel";
|
|
516
|
+
conversationId: ConversationId;
|
|
517
|
+
senderId: UserId;
|
|
518
|
+
messageId: MessageId;
|
|
519
|
+
body: string;
|
|
520
|
+
timestamp: string;
|
|
521
|
+
};
|
|
522
|
+
export declare const PROFILE_LIMITS: {
|
|
523
|
+
readonly displayName: 32;
|
|
524
|
+
readonly bio: 300;
|
|
525
|
+
};
|
|
526
|
+
export declare function profileCharacterCount(value: string): number;
|
|
527
|
+
export declare function limitProfileCharacters(value: string, limit: number): string;
|
|
528
|
+
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
|
package/dist/domain.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const PROFILE_LIMITS = { displayName: 32, bio: 300 };
|
|
2
|
+
const profileCharacterSegmenter = new Intl.Segmenter(undefined, {
|
|
3
|
+
granularity: "grapheme",
|
|
4
|
+
});
|
|
5
|
+
export function profileCharacterCount(value) {
|
|
6
|
+
return Array.from(profileCharacterSegmenter.segment(value)).length;
|
|
7
|
+
}
|
|
8
|
+
export function limitProfileCharacters(value, limit) {
|
|
9
|
+
return Array.from(profileCharacterSegmenter.segment(value), ({ segment }) => segment)
|
|
10
|
+
.slice(0, limit)
|
|
11
|
+
.join("");
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=domain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AA2hBA,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAW,CAAC;AACrE,MAAM,yBAAyB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;IAC9D,WAAW,EAAE,UAAU;CACxB,CAAC,CAAC;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AACD,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,KAAa;IACjE,OAAO,KAAK,CAAC,IAAI,CACf,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,EACxC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CACzB;SACE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
declare const entityIdBrand: unique symbol;
|
|
2
|
+
declare const orderedIdBrand: unique symbol;
|
|
3
|
+
export type EntityId<Kind extends string> = string & {
|
|
4
|
+
readonly [entityIdBrand]: Kind;
|
|
5
|
+
};
|
|
6
|
+
export type UserId = EntityId<"user">;
|
|
7
|
+
export type DeviceId = EntityId<"device">;
|
|
8
|
+
export type ConversationId = EntityId<"conversation">;
|
|
9
|
+
export type CommunityId = EntityId<"community">;
|
|
10
|
+
export type ChannelId = EntityId<"channel">;
|
|
11
|
+
export type AttachmentId = EntityId<"attachment">;
|
|
12
|
+
export type RoleId = EntityId<"role">;
|
|
13
|
+
export type FriendshipId = EntityId<"friendship">;
|
|
14
|
+
export type CallId = EntityId<"call">;
|
|
15
|
+
export type PrivateConversationId = EntityId<"private-conversation">;
|
|
16
|
+
export type PrivateMessageId = EntityId<"private-message">;
|
|
17
|
+
export type InvitationId = EntityId<"invitation">;
|
|
18
|
+
export type BlockId = EntityId<"block">;
|
|
19
|
+
export type PrivateTransferId = EntityId<"private-transfer">;
|
|
20
|
+
export type ActivityId = EntityId<"activity">;
|
|
21
|
+
export type RequestId = EntityId<"request">;
|
|
22
|
+
export type OrderedId<Kind extends string> = bigint & {
|
|
23
|
+
readonly [orderedIdBrand]: Kind;
|
|
24
|
+
};
|
|
25
|
+
export type MessageId = OrderedId<"message">;
|
|
26
|
+
export type EventId = OrderedId<"event">;
|
|
27
|
+
export type NotificationId = OrderedId<"notification">;
|
|
28
|
+
export declare function entityId<Kind extends string>(value: string): EntityId<Kind>;
|
|
29
|
+
export declare function orderedId<Kind extends string>(value: bigint | number | string): OrderedId<Kind>;
|
|
30
|
+
export declare function idKey(id: string | bigint): string;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=entity-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-id.d.ts","sourceRoot":"","sources":["../src/entity-id.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAC3C,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAE5C,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,GAAG;IACnD,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAC7D,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAE5C,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,GAAG;IACpD,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAC7C,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACzC,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;AAEvD,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAI3E;AAED,wBAAgB,SAAS,CAAC,IAAI,SAAS,MAAM,EAC3C,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAC9B,SAAS,CAAC,IAAI,CAAC,CAKjB;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEjD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
2
|
+
export function entityId(value) {
|
|
3
|
+
const normalized = value.trim().toLowerCase();
|
|
4
|
+
if (!UUID_PATTERN.test(normalized))
|
|
5
|
+
throw new TypeError("Invalid entity ID");
|
|
6
|
+
return normalized;
|
|
7
|
+
}
|
|
8
|
+
export function orderedId(value) {
|
|
9
|
+
const parsed = typeof value === "bigint" ? value : BigInt(value);
|
|
10
|
+
if (parsed < 0n || parsed > 9223372036854775807n)
|
|
11
|
+
throw new TypeError("Invalid ordered ID");
|
|
12
|
+
return parsed;
|
|
13
|
+
}
|
|
14
|
+
export function idKey(id) {
|
|
15
|
+
return id.toString();
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=entity-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-id.js","sourceRoot":"","sources":["../src/entity-id.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAChB,4EAA4E,CAAC;AAkC/E,MAAM,UAAU,QAAQ,CAAsB,KAAa;IACzD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC7E,OAAO,UAA4B,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,KAA+B;IAE/B,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,oBAA0B;QACpD,MAAM,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC5C,OAAO,MAAyB,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAmB;IACvC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;AACvB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./model/index.js";
|
|
2
|
+
export * from "./instance/index.js";
|
|
3
|
+
export * from "./client/index.js";
|
|
4
|
+
export * from "./auth/index.js";
|
|
5
|
+
export * from "./workspace/index.js";
|
|
6
|
+
export type { DraftAttachment } from "./attachments/draft-attachment.js";
|
|
7
|
+
export { PRIVATE_TRANSFER_LIMITS } from "./private-conversation/private-transfer-limits.js";
|
|
8
|
+
export * from "./conversations/index.js";
|
|
9
|
+
export * from "./calls/index.js";
|
|
10
|
+
export * from "./activity/index.js";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
|