@playdrop/playdrop-cli 0.16.11 → 0.16.16
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/config/client-meta.json +2 -2
- package/dist/commands/chat.d.ts +0 -7
- package/dist/commands/chat.js +40 -77
- package/dist/commands/worker/provider-telemetry.js +1 -1
- package/dist/commands/worker/runtime.js +2 -3
- package/dist/commands/worker.js +1 -1
- package/dist/index.js +0 -9
- package/node_modules/@playdrop/api-client/dist/client.d.ts +73 -16
- package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts +120 -21
- package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/chat.js +395 -100
- package/node_modules/@playdrop/api-client/dist/index.d.ts +1 -1
- package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/config/client-meta.json +2 -2
- package/node_modules/@playdrop/types/dist/api.d.ts +2 -2
- package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/api.js +5 -7
- package/node_modules/@playdrop/types/dist/chat.d.ts +169 -31
- package/node_modules/@playdrop/types/dist/chat.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/chat.js +7 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ChatAttachmentUploadSession, ChatChannelReadResponse, ChatChannelsResponse, ChatConversationResponse, ChatConversationsResponse, ChatMessageResponse, ChatMessagesResponse, ChatNotificationPreferences, ChatRealtimeEvent, CreateChatMessageRequest, EditChatMessageRequest } from "@playdrop/types";
|
|
2
2
|
type ApiResponseLike<T> = {
|
|
3
3
|
status: number;
|
|
4
4
|
body: T;
|
|
@@ -13,20 +13,63 @@ type RequestExecutor = <T>(input: {
|
|
|
13
13
|
type ErrorHandler = (response: ApiResponseLike<unknown>, defaultMessage: string) => never;
|
|
14
14
|
type ParseResponseBody = <T>(response: Response) => Promise<T>;
|
|
15
15
|
export type ChatPageOptions = {
|
|
16
|
-
beforeId?:
|
|
16
|
+
beforeId?: string;
|
|
17
|
+
before?: string;
|
|
18
|
+
after?: string;
|
|
19
|
+
around?: string;
|
|
17
20
|
limit?: number;
|
|
18
21
|
};
|
|
19
22
|
export type ChatFileInput = {
|
|
20
23
|
file: Blob;
|
|
21
24
|
fileName?: string;
|
|
22
25
|
};
|
|
23
|
-
export type ChatWriteOptions = CreateChatMessageRequest
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
export type ChatWriteOptions = CreateChatMessageRequest;
|
|
27
|
+
export type ChatEditOptions = EditChatMessageRequest;
|
|
28
|
+
export type ChatSystemWriteOptions = {
|
|
29
|
+
body?: string;
|
|
30
|
+
clientKey?: string;
|
|
31
|
+
eventType?: string;
|
|
32
|
+
eventData?: unknown;
|
|
26
33
|
};
|
|
27
|
-
export type
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
export type ChatRealtimeConnectionState = "connecting" | "ready" | "reconnecting" | "closed";
|
|
35
|
+
export type ChatRealtimeSocket = {
|
|
36
|
+
readonly readyState: number;
|
|
37
|
+
send(data: string): void;
|
|
38
|
+
close(code?: number, reason?: string): void;
|
|
39
|
+
addEventListener(type: "open", listener: () => void): void;
|
|
40
|
+
addEventListener(type: "message", listener: (event: {
|
|
41
|
+
data: unknown;
|
|
42
|
+
}) => void): void;
|
|
43
|
+
addEventListener(type: "close", listener: (event: {
|
|
44
|
+
code: number;
|
|
45
|
+
reason: string;
|
|
46
|
+
}) => void): void;
|
|
47
|
+
addEventListener(type: "error", listener: () => void): void;
|
|
48
|
+
};
|
|
49
|
+
export type ChatRealtimeConnectionOptions = {
|
|
50
|
+
subscriptions?: Array<{
|
|
51
|
+
conversationId: string;
|
|
52
|
+
lastEventVersion?: string | null;
|
|
53
|
+
}>;
|
|
54
|
+
onEvent: (event: ChatRealtimeEvent) => void;
|
|
55
|
+
onInboxUpdated?: (conversationId: string) => void;
|
|
56
|
+
onTypingUpdated?: (event: {
|
|
57
|
+
conversationId: string;
|
|
58
|
+
userId: number;
|
|
59
|
+
active: boolean;
|
|
60
|
+
expiresAt: string;
|
|
61
|
+
}) => void;
|
|
62
|
+
onStateChange?: (state: ChatRealtimeConnectionState) => void;
|
|
63
|
+
onResyncRequired?: (conversationId: string) => void;
|
|
64
|
+
onError?: (code: string) => void;
|
|
65
|
+
webSocketFactory?: (url: string) => ChatRealtimeSocket;
|
|
66
|
+
};
|
|
67
|
+
export type ChatRealtimeConnection = {
|
|
68
|
+
close(): void;
|
|
69
|
+
subscribe(conversationId: string, lastEventVersion?: string | null): void;
|
|
70
|
+
unsubscribe(conversationId: string): void;
|
|
71
|
+
setTyping(conversationId: string, active: boolean): void;
|
|
72
|
+
getLastEventVersion(conversationId: string): string | null;
|
|
30
73
|
};
|
|
31
74
|
export declare function buildChatApiClientMethods(input: {
|
|
32
75
|
request: RequestExecutor;
|
|
@@ -39,22 +82,78 @@ export declare function buildChatApiClientMethods(input: {
|
|
|
39
82
|
resolveToken: () => Promise<string | null>;
|
|
40
83
|
getClientHeaders: () => Record<string, string>;
|
|
41
84
|
}): {
|
|
85
|
+
fetchChatConversations(options?: {
|
|
86
|
+
type?: string;
|
|
87
|
+
cursor?: string;
|
|
88
|
+
limit?: number;
|
|
89
|
+
}): Promise<ChatConversationsResponse>;
|
|
90
|
+
fetchChatConversation(conversationId: string): Promise<ChatConversationResponse>;
|
|
91
|
+
createDirectChatConversation(username: string): Promise<ChatConversationResponse>;
|
|
92
|
+
fetchConversationMessages(conversationId: string, options?: ChatPageOptions): Promise<ChatMessagesResponse>;
|
|
93
|
+
sendConversationMessage(conversationId: string, message: ChatWriteOptions): Promise<ChatMessageResponse>;
|
|
94
|
+
sendSystemChatMessage(channel: string, message: ChatSystemWriteOptions): Promise<ChatMessageResponse>;
|
|
95
|
+
replyChatMessage(messageId: string, message: ChatWriteOptions): Promise<ChatMessageResponse>;
|
|
96
|
+
replySystemChatMessage(messageId: string, message: ChatSystemWriteOptions): Promise<ChatMessageResponse>;
|
|
97
|
+
editChatMessage(messageId: string, message: ChatEditOptions): Promise<ChatMessageResponse>;
|
|
98
|
+
deleteChatMessage(messageId: string): Promise<ChatMessageResponse>;
|
|
99
|
+
fetchChatThread(messageId: string, options?: ChatPageOptions): Promise<ChatMessagesResponse>;
|
|
100
|
+
reactChatMessage(messageId: string, emoji: string): Promise<ChatMessageResponse>;
|
|
101
|
+
unreactChatMessage(messageId: string, emoji: string): Promise<ChatMessageResponse>;
|
|
102
|
+
markChatConversationRead(conversationId: string, lastReadMessageId: string | null): Promise<ChatChannelReadResponse>;
|
|
103
|
+
updateChatConversationState(conversationId: string, state: {
|
|
104
|
+
mutedUntil?: string | null;
|
|
105
|
+
archived?: boolean;
|
|
106
|
+
}): Promise<{
|
|
107
|
+
mutedUntil: string | null;
|
|
108
|
+
archivedAt: string | null;
|
|
109
|
+
}>;
|
|
110
|
+
reportChatMessage(messageId: string, body: {
|
|
111
|
+
reasonCode: string;
|
|
112
|
+
message?: string;
|
|
113
|
+
}): Promise<{
|
|
114
|
+
id: string;
|
|
115
|
+
}>;
|
|
116
|
+
fetchChatFriends(options?: {
|
|
117
|
+
cursor?: string;
|
|
118
|
+
limit?: number;
|
|
119
|
+
}): Promise<{
|
|
120
|
+
friends: unknown[];
|
|
121
|
+
hasMore: boolean;
|
|
122
|
+
nextCursor: string | null;
|
|
123
|
+
}>;
|
|
124
|
+
fetchChatNotificationPreferences(): Promise<ChatNotificationPreferences>;
|
|
125
|
+
updateChatNotificationPreferences(preferences: Partial<ChatNotificationPreferences>): Promise<ChatNotificationPreferences>;
|
|
126
|
+
createChatAttachmentUploadSession(conversationId: string, file: {
|
|
127
|
+
fileName: string;
|
|
128
|
+
contentType: string;
|
|
129
|
+
sizeBytes: number;
|
|
130
|
+
}): Promise<ChatAttachmentUploadSession>;
|
|
131
|
+
uploadChatAttachment(session: ChatAttachmentUploadSession, file: Blob): Promise<void>;
|
|
132
|
+
completeChatAttachmentUploadSession(sessionId: string): Promise<void>;
|
|
133
|
+
abortChatAttachmentUploadSession(sessionId: string): Promise<void>;
|
|
134
|
+
createCommunityChatChannel(input: {
|
|
135
|
+
slug: string;
|
|
136
|
+
displayName: string;
|
|
137
|
+
position: number;
|
|
138
|
+
}): Promise<unknown>;
|
|
139
|
+
updateCommunityChatChannel(conversationId: string, input: {
|
|
140
|
+
displayName?: string;
|
|
141
|
+
position?: number;
|
|
142
|
+
archived?: boolean;
|
|
143
|
+
}): Promise<unknown>;
|
|
144
|
+
fetchAdminDirectConversations(options?: {
|
|
145
|
+
query?: string;
|
|
146
|
+
cursor?: string;
|
|
147
|
+
limit?: number;
|
|
148
|
+
}): Promise<ChatConversationsResponse>;
|
|
149
|
+
fetchAdminDirectConversationMessages(conversationId: string, options?: ChatPageOptions): Promise<ChatMessagesResponse>;
|
|
150
|
+
moderateAdminDirectConversationMessage(conversationId: string, messageId: string): Promise<ChatMessageResponse>;
|
|
151
|
+
fetchChatAttachment(attachmentId: string): Promise<Blob>;
|
|
42
152
|
fetchChatChannels(): Promise<ChatChannelsResponse>;
|
|
43
153
|
fetchChatMessages(channel: string, options?: ChatPageOptions): Promise<ChatMessagesResponse>;
|
|
44
|
-
markChatChannelRead(channel: string, lastReadMessageId:
|
|
45
|
-
fetchChatThread(messageId: number, options?: ChatPageOptions): Promise<ChatMessagesResponse>;
|
|
154
|
+
markChatChannelRead(channel: string, lastReadMessageId: string | null): Promise<ChatChannelReadResponse>;
|
|
46
155
|
sendChatMessage(channel: string, message: ChatWriteOptions): Promise<ChatMessageResponse>;
|
|
47
|
-
|
|
48
|
-
editChatMessage(messageId: number, message: ChatEditOptions): Promise<ChatMessageResponse>;
|
|
49
|
-
reactChatMessage(messageId: number, emoji: string): Promise<ChatMessageResponse>;
|
|
50
|
-
unreactChatMessage(messageId: number, emoji: string): Promise<ChatMessageResponse>;
|
|
51
|
-
grantChatAccess(channel: string, username: string, canWrite: boolean): Promise<ChatChannelAccessResponse>;
|
|
52
|
-
revokeChatAccess(channel: string, username: string): Promise<void>;
|
|
53
|
-
setChatVisibility(channel: string, readPolicy: ChatChannelReadPolicy): Promise<{
|
|
54
|
-
slug: string;
|
|
55
|
-
readPolicy: ChatChannelReadPolicy;
|
|
56
|
-
}>;
|
|
57
|
-
fetchChatAttachment(attachmentId: number): Promise<Blob>;
|
|
156
|
+
connectChatRealtime(options: ChatRealtimeConnectionOptions): ChatRealtimeConnection;
|
|
58
157
|
};
|
|
59
158
|
export {};
|
|
60
159
|
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/domains/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/domains/chat.ts"],"names":[],"mappings":"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"}
|