@tuturuuu/internal-api 0.0.1 → 0.1.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/dist/ai-memory.d.ts +76 -0
- package/dist/ai-memory.d.ts.map +1 -0
- package/dist/ai-memory.js +59 -0
- package/dist/ai.d.ts +67 -3
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +121 -0
- package/dist/auth.d.ts +121 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +111 -0
- package/dist/calendar.d.ts +17 -1
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +9 -0
- package/dist/chat-conversations.d.ts +81 -0
- package/dist/chat-conversations.d.ts.map +1 -0
- package/dist/chat-conversations.js +384 -0
- package/dist/chat-internal.d.ts +11 -0
- package/dist/chat-internal.d.ts.map +1 -0
- package/dist/chat-internal.js +39 -0
- package/dist/chat-legacy.d.ts +23 -0
- package/dist/chat-legacy.d.ts.map +1 -0
- package/dist/chat-legacy.js +68 -0
- package/dist/chat-types.d.ts +262 -0
- package/dist/chat-types.d.ts.map +1 -0
- package/dist/chat-types.js +2 -0
- package/dist/chat.d.ts +3 -45
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +17 -65
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +50 -5
- package/dist/education.d.ts +288 -2
- package/dist/education.d.ts.map +1 -1
- package/dist/education.js +176 -0
- package/dist/external-project-team.d.ts +51 -0
- package/dist/external-project-team.d.ts.map +1 -0
- package/dist/external-project-team.js +137 -0
- package/dist/external-projects.d.ts +98 -10
- package/dist/external-projects.d.ts.map +1 -1
- package/dist/external-projects.js +92 -33
- package/dist/finance.d.ts +491 -3
- package/dist/finance.d.ts.map +1 -1
- package/dist/finance.js +611 -1
- package/dist/hive.d.ts +739 -0
- package/dist/hive.d.ts.map +1 -0
- package/dist/hive.js +333 -0
- package/dist/index.d.ts +31 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +350 -8
- package/dist/infrastructure.d.ts +955 -1
- package/dist/infrastructure.d.ts.map +1 -1
- package/dist/infrastructure.js +595 -0
- package/dist/inventory.d.ts +355 -0
- package/dist/inventory.d.ts.map +1 -0
- package/dist/inventory.js +268 -0
- package/dist/mail.d.ts +125 -0
- package/dist/mail.d.ts.map +1 -1
- package/dist/mail.js +112 -1
- package/dist/meet.d.ts +54 -0
- package/dist/meet.d.ts.map +1 -0
- package/dist/meet.js +37 -0
- package/dist/mind.d.ts +55 -0
- package/dist/mind.d.ts.map +1 -0
- package/dist/mind.js +84 -0
- package/dist/posts.d.ts +33 -0
- package/dist/posts.d.ts.map +1 -1
- package/dist/posts.js +42 -0
- package/dist/promotions.d.ts +54 -0
- package/dist/promotions.d.ts.map +1 -1
- package/dist/promotions.js +52 -0
- package/dist/settings.d.ts +28 -1
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +68 -0
- package/dist/storage.d.ts +32 -21
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +52 -32
- package/dist/tasks.d.ts +224 -4
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +204 -0
- package/dist/teach.d.ts +130 -0
- package/dist/teach.d.ts.map +1 -0
- package/dist/teach.js +110 -0
- package/dist/topic-announcements.d.ts +235 -0
- package/dist/topic-announcements.d.ts.map +1 -0
- package/dist/topic-announcements.js +182 -0
- package/dist/tulearn.d.ts +223 -0
- package/dist/tulearn.d.ts.map +1 -0
- package/dist/tulearn.js +97 -0
- package/dist/tutoring.d.ts +152 -0
- package/dist/tutoring.d.ts.map +1 -0
- package/dist/tutoring.js +58 -0
- package/dist/user-group-activity.d.ts +54 -0
- package/dist/user-group-activity.d.ts.map +1 -0
- package/dist/user-group-activity.js +11 -0
- package/dist/user-groups.d.ts +35 -0
- package/dist/user-groups.d.ts.map +1 -0
- package/dist/user-groups.js +84 -0
- package/dist/users.d.ts +83 -1
- package/dist/users.d.ts.map +1 -1
- package/dist/users.js +137 -0
- package/dist/workspace-configs.d.ts +2 -0
- package/dist/workspace-configs.d.ts.map +1 -1
- package/dist/workspace-configs.js +3 -1
- package/dist/workspace-user-audit.d.ts +1 -0
- package/dist/workspace-user-audit.d.ts.map +1 -1
- package/dist/workspaces.d.ts +57 -0
- package/dist/workspaces.d.ts.map +1 -1
- package/dist/workspaces.js +58 -1
- package/package.json +59 -6
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listWorkspaceChatChannels = listWorkspaceChatChannels;
|
|
4
|
+
exports.createWorkspaceChatChannel = createWorkspaceChatChannel;
|
|
5
|
+
exports.listWorkspaceChatMessages = listWorkspaceChatMessages;
|
|
6
|
+
exports.createWorkspaceChatMessage = createWorkspaceChatMessage;
|
|
7
|
+
exports.listWorkspaceChatParticipants = listWorkspaceChatParticipants;
|
|
8
|
+
exports.upsertWorkspaceChatParticipant = upsertWorkspaceChatParticipant;
|
|
9
|
+
exports.upsertWorkspaceChatTyping = upsertWorkspaceChatTyping;
|
|
10
|
+
exports.deleteWorkspaceChatTyping = deleteWorkspaceChatTyping;
|
|
11
|
+
const chat_internal_1 = require("./chat-internal");
|
|
12
|
+
const client_1 = require("./client");
|
|
13
|
+
async function listWorkspaceChatChannels(workspaceId, options) {
|
|
14
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
15
|
+
const payload = await client.json(`${(0, chat_internal_1.chatBasePath)(workspaceId)}/channels`, { cache: 'no-store' });
|
|
16
|
+
return payload.channels ?? [];
|
|
17
|
+
}
|
|
18
|
+
async function createWorkspaceChatChannel(workspaceId, name, options) {
|
|
19
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
20
|
+
return client.json(`${(0, chat_internal_1.chatBasePath)(workspaceId)}/channels`, {
|
|
21
|
+
body: JSON.stringify({ name }),
|
|
22
|
+
cache: 'no-store',
|
|
23
|
+
headers: { 'Content-Type': 'application/json' },
|
|
24
|
+
method: 'POST',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async function listWorkspaceChatMessages(workspaceId, channelId, options) {
|
|
28
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
29
|
+
const payload = await client.json(`${(0, chat_internal_1.chatBasePath)(workspaceId)}/channels/${(0, client_1.encodePathSegment)(channelId)}/messages`, { cache: 'no-store' });
|
|
30
|
+
return payload.messages ?? [];
|
|
31
|
+
}
|
|
32
|
+
async function createWorkspaceChatMessage(workspaceId, channelId, content, options) {
|
|
33
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
34
|
+
return client.json(`${(0, chat_internal_1.chatBasePath)(workspaceId)}/channels/${(0, client_1.encodePathSegment)(channelId)}/messages`, {
|
|
35
|
+
body: JSON.stringify({ content }),
|
|
36
|
+
cache: 'no-store',
|
|
37
|
+
headers: { 'Content-Type': 'application/json' },
|
|
38
|
+
method: 'POST',
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async function listWorkspaceChatParticipants(workspaceId, channelId, options) {
|
|
42
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
43
|
+
const payload = await client.json(`${(0, chat_internal_1.chatBasePath)(workspaceId)}/channels/${(0, client_1.encodePathSegment)(channelId)}/participants`, { cache: 'no-store' });
|
|
44
|
+
return payload.participants ?? [];
|
|
45
|
+
}
|
|
46
|
+
async function upsertWorkspaceChatParticipant(workspaceId, channelId, payload, options) {
|
|
47
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
48
|
+
return client.json(`${(0, chat_internal_1.chatBasePath)(workspaceId)}/channels/${(0, client_1.encodePathSegment)(channelId)}/participants`, {
|
|
49
|
+
body: JSON.stringify(payload),
|
|
50
|
+
cache: 'no-store',
|
|
51
|
+
headers: { 'Content-Type': 'application/json' },
|
|
52
|
+
method: 'POST',
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
async function upsertWorkspaceChatTyping(workspaceId, channelId, options) {
|
|
56
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
57
|
+
return client.json(`${(0, chat_internal_1.chatBasePath)(workspaceId)}/channels/${(0, client_1.encodePathSegment)(channelId)}/typing`, {
|
|
58
|
+
cache: 'no-store',
|
|
59
|
+
method: 'POST',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
async function deleteWorkspaceChatTyping(workspaceId, channelId, options) {
|
|
63
|
+
const client = (0, client_1.getInternalApiClient)(options);
|
|
64
|
+
return client.json(`${(0, chat_internal_1.chatBasePath)(workspaceId)}/channels/${(0, client_1.encodePathSegment)(channelId)}/typing`, {
|
|
65
|
+
cache: 'no-store',
|
|
66
|
+
method: 'DELETE',
|
|
67
|
+
});
|
|
68
|
+
}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
export type ChatConversationType = 'ai' | 'channel' | 'direct' | 'group';
|
|
2
|
+
export type ChatMessageKind = 'assistant' | 'system' | 'user';
|
|
3
|
+
export type ChatAiCreditSource = 'personal' | 'workspace';
|
|
4
|
+
export type ChatAiThinkingMode = 'fast' | 'thinking';
|
|
5
|
+
export interface ChatUserProfile {
|
|
6
|
+
avatarUrl: string | null;
|
|
7
|
+
displayName: string;
|
|
8
|
+
handle: string | null;
|
|
9
|
+
id: string;
|
|
10
|
+
}
|
|
11
|
+
export type ChatFriendRequestStatus = 'accepted' | 'declined' | 'pending';
|
|
12
|
+
export interface ChatFriendRequest {
|
|
13
|
+
createdAt: string;
|
|
14
|
+
id: string;
|
|
15
|
+
recipient: ChatUserProfile;
|
|
16
|
+
recipientUserId: string;
|
|
17
|
+
requester: ChatUserProfile;
|
|
18
|
+
requesterUserId: string;
|
|
19
|
+
respondedAt: string | null;
|
|
20
|
+
status: ChatFriendRequestStatus;
|
|
21
|
+
updatedAt: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ChatFriendRequests {
|
|
24
|
+
accepted: ChatFriendRequest[];
|
|
25
|
+
incoming: ChatFriendRequest[];
|
|
26
|
+
outgoing: ChatFriendRequest[];
|
|
27
|
+
}
|
|
28
|
+
export interface ChatConversationMember {
|
|
29
|
+
archivedAt: string | null;
|
|
30
|
+
conversationId: string;
|
|
31
|
+
id: string;
|
|
32
|
+
joinedAt: string;
|
|
33
|
+
lastReadAt: string | null;
|
|
34
|
+
mutedAt: string | null;
|
|
35
|
+
pinnedAt: string | null;
|
|
36
|
+
role: 'admin' | 'assistant' | 'member' | 'owner';
|
|
37
|
+
user: ChatUserProfile;
|
|
38
|
+
userId: string;
|
|
39
|
+
}
|
|
40
|
+
export interface ChatAttachment {
|
|
41
|
+
contentType: string | null;
|
|
42
|
+
conversationId: string;
|
|
43
|
+
createdAt: string;
|
|
44
|
+
filename: string;
|
|
45
|
+
fullPath: string | null;
|
|
46
|
+
id: string;
|
|
47
|
+
messageId: string | null;
|
|
48
|
+
sizeBytes: number | null;
|
|
49
|
+
storageWsId: string | null;
|
|
50
|
+
storagePath: string;
|
|
51
|
+
uploaderId: string | null;
|
|
52
|
+
}
|
|
53
|
+
export interface ChatAttachmentDraft {
|
|
54
|
+
contentType: string | null;
|
|
55
|
+
filename: string;
|
|
56
|
+
fullPath: string | null;
|
|
57
|
+
path: string;
|
|
58
|
+
sizeBytes: number | null;
|
|
59
|
+
storageWsId?: string | null;
|
|
60
|
+
}
|
|
61
|
+
export interface ChatReactionSummary {
|
|
62
|
+
count: number;
|
|
63
|
+
emoji: string;
|
|
64
|
+
userIds: string[];
|
|
65
|
+
}
|
|
66
|
+
export interface ChatMessage {
|
|
67
|
+
attachments: ChatAttachment[];
|
|
68
|
+
content: string;
|
|
69
|
+
conversationId: string;
|
|
70
|
+
createdAt: string;
|
|
71
|
+
deletedAt: string | null;
|
|
72
|
+
editedAt: string | null;
|
|
73
|
+
id: string;
|
|
74
|
+
kind: ChatMessageKind;
|
|
75
|
+
metadata: Record<string, unknown>;
|
|
76
|
+
reactions: ChatReactionSummary[];
|
|
77
|
+
replyToMessageId: string | null;
|
|
78
|
+
sender: ChatUserProfile | null;
|
|
79
|
+
senderId: string | null;
|
|
80
|
+
updatedAt: string | null;
|
|
81
|
+
}
|
|
82
|
+
export interface ChatLinkPreview {
|
|
83
|
+
description: string | null;
|
|
84
|
+
error?: string | null;
|
|
85
|
+
imageUrl: string | null;
|
|
86
|
+
siteName: string | null;
|
|
87
|
+
title: string | null;
|
|
88
|
+
url: string;
|
|
89
|
+
}
|
|
90
|
+
export interface ChatSharedLink {
|
|
91
|
+
conversationId: string;
|
|
92
|
+
createdAt: string;
|
|
93
|
+
messageId: string;
|
|
94
|
+
sender: ChatUserProfile | null;
|
|
95
|
+
url: string;
|
|
96
|
+
}
|
|
97
|
+
export interface ChatSharedContent {
|
|
98
|
+
files: ChatAttachment[];
|
|
99
|
+
links: ChatSharedLink[];
|
|
100
|
+
photos: ChatAttachment[];
|
|
101
|
+
}
|
|
102
|
+
export interface ChatAiSettings {
|
|
103
|
+
autoReply: boolean;
|
|
104
|
+
conversationId: string;
|
|
105
|
+
creditSource: ChatAiCreditSource;
|
|
106
|
+
creditWsId: string | null;
|
|
107
|
+
enabled: boolean;
|
|
108
|
+
modelId: string | null;
|
|
109
|
+
personalWorkspaceId: string | null;
|
|
110
|
+
systemPrompt: string | null;
|
|
111
|
+
thinkingMode: ChatAiThinkingMode;
|
|
112
|
+
updatedAt: string | null;
|
|
113
|
+
}
|
|
114
|
+
export interface UpdateChatAiSettingsPayload {
|
|
115
|
+
creditSource?: ChatAiCreditSource;
|
|
116
|
+
creditWsId?: string | null;
|
|
117
|
+
modelId?: string | null;
|
|
118
|
+
systemPrompt?: string | null;
|
|
119
|
+
thinkingMode?: ChatAiThinkingMode;
|
|
120
|
+
}
|
|
121
|
+
export interface ChatAiTokenUsage {
|
|
122
|
+
cachedInputTokens: number;
|
|
123
|
+
cachedOutputTokens: number;
|
|
124
|
+
costUsd: number;
|
|
125
|
+
imageInputCount: number;
|
|
126
|
+
imageOutputCount: number;
|
|
127
|
+
inputTokens: number;
|
|
128
|
+
outputTokens: number;
|
|
129
|
+
reasoningTokens: number;
|
|
130
|
+
searchCount: number;
|
|
131
|
+
totalTokens: number;
|
|
132
|
+
}
|
|
133
|
+
export interface ChatAiContextBreakdownEntry {
|
|
134
|
+
chars: number;
|
|
135
|
+
id: string;
|
|
136
|
+
kind: ChatMessageKind;
|
|
137
|
+
label: string;
|
|
138
|
+
tokensEstimate: number;
|
|
139
|
+
}
|
|
140
|
+
export interface ChatAiMessageUsage {
|
|
141
|
+
contentPreview: string;
|
|
142
|
+
contextBreakdown: ChatAiContextBreakdownEntry[];
|
|
143
|
+
createdAt: string;
|
|
144
|
+
exact: boolean;
|
|
145
|
+
id: string;
|
|
146
|
+
model: string | null;
|
|
147
|
+
role: string;
|
|
148
|
+
usage: ChatAiTokenUsage;
|
|
149
|
+
}
|
|
150
|
+
export interface ChatAiObservability {
|
|
151
|
+
contextBreakdown: ChatAiContextBreakdownEntry[];
|
|
152
|
+
messages: ChatAiMessageUsage[];
|
|
153
|
+
totals: ChatAiTokenUsage & {
|
|
154
|
+
messageCount: number;
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
export interface ChatConversation {
|
|
158
|
+
aiEnabled: boolean;
|
|
159
|
+
archivedAt: string | null;
|
|
160
|
+
createdAt: string;
|
|
161
|
+
createdBy: string | null;
|
|
162
|
+
description: string | null;
|
|
163
|
+
id: string;
|
|
164
|
+
latestMessage: ChatMessage | null;
|
|
165
|
+
memberCount: number;
|
|
166
|
+
members: ChatConversationMember[];
|
|
167
|
+
metadata: Record<string, unknown>;
|
|
168
|
+
title: string | null;
|
|
169
|
+
type: ChatConversationType;
|
|
170
|
+
unreadCount: number;
|
|
171
|
+
updatedAt: string;
|
|
172
|
+
wsId: string;
|
|
173
|
+
}
|
|
174
|
+
export interface ChatConversationPage {
|
|
175
|
+
conversations: ChatConversation[];
|
|
176
|
+
nextOffset: number | null;
|
|
177
|
+
}
|
|
178
|
+
export interface CreateChatConversationPayload {
|
|
179
|
+
aiEnabled?: boolean;
|
|
180
|
+
autoReply?: boolean;
|
|
181
|
+
description?: string | null;
|
|
182
|
+
metadata?: Record<string, unknown>;
|
|
183
|
+
modelId?: string | null;
|
|
184
|
+
participantUserIds?: string[];
|
|
185
|
+
systemPrompt?: string | null;
|
|
186
|
+
title?: string | null;
|
|
187
|
+
type: ChatConversationType;
|
|
188
|
+
}
|
|
189
|
+
export interface DeleteChatConversationResult {
|
|
190
|
+
conversationId: string;
|
|
191
|
+
mode: 'archived' | 'left';
|
|
192
|
+
type: ChatConversationType;
|
|
193
|
+
}
|
|
194
|
+
export interface GenerateChatConversationTitleResult {
|
|
195
|
+
conversation: ChatConversation;
|
|
196
|
+
title: string;
|
|
197
|
+
}
|
|
198
|
+
export interface UpdateChatConversationPayload {
|
|
199
|
+
description?: string | null;
|
|
200
|
+
pinned?: boolean;
|
|
201
|
+
title?: string | null;
|
|
202
|
+
}
|
|
203
|
+
export interface SendChatMessagePayload {
|
|
204
|
+
attachments?: ChatAttachmentDraft[];
|
|
205
|
+
content: string;
|
|
206
|
+
kind?: ChatMessageKind;
|
|
207
|
+
replyToMessageId?: string | null;
|
|
208
|
+
}
|
|
209
|
+
export interface SendChatMessageResult {
|
|
210
|
+
assistantError?: string;
|
|
211
|
+
message: ChatMessage;
|
|
212
|
+
messages?: ChatMessage[];
|
|
213
|
+
}
|
|
214
|
+
export type ChatMessageStreamEvent = {
|
|
215
|
+
message: ChatMessage;
|
|
216
|
+
type: 'message';
|
|
217
|
+
} | {
|
|
218
|
+
delta: string;
|
|
219
|
+
type: 'assistant_delta';
|
|
220
|
+
} | {
|
|
221
|
+
part: Record<string, unknown>;
|
|
222
|
+
type: 'assistant_part';
|
|
223
|
+
} | {
|
|
224
|
+
messages: ChatMessage[];
|
|
225
|
+
type: 'messages';
|
|
226
|
+
} | {
|
|
227
|
+
type: 'done';
|
|
228
|
+
} | {
|
|
229
|
+
message: string;
|
|
230
|
+
type: 'error';
|
|
231
|
+
};
|
|
232
|
+
export interface SendChatMessageStreamHandlers {
|
|
233
|
+
onAssistantDelta?: (delta: string) => void;
|
|
234
|
+
onAssistantPart?: (part: Record<string, unknown>) => void;
|
|
235
|
+
onMessage?: (message: ChatMessage) => void;
|
|
236
|
+
onMessages?: (messages: ChatMessage[]) => void;
|
|
237
|
+
}
|
|
238
|
+
export interface WorkspaceChatChannel {
|
|
239
|
+
created_at: string | null;
|
|
240
|
+
created_by: string | null;
|
|
241
|
+
description?: string | null;
|
|
242
|
+
id: string;
|
|
243
|
+
is_private?: boolean | null;
|
|
244
|
+
name: string;
|
|
245
|
+
updated_at?: string | null;
|
|
246
|
+
ws_id: string;
|
|
247
|
+
}
|
|
248
|
+
export interface WorkspaceChatMessage {
|
|
249
|
+
channel_id: string;
|
|
250
|
+
content: string;
|
|
251
|
+
created_at: string;
|
|
252
|
+
deleted_at: string | null;
|
|
253
|
+
id: string;
|
|
254
|
+
updated_at: string | null;
|
|
255
|
+
user_id: string;
|
|
256
|
+
}
|
|
257
|
+
export interface WorkspaceChatParticipant {
|
|
258
|
+
channel_id: string;
|
|
259
|
+
last_read_at: string | null;
|
|
260
|
+
user_id: string;
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=chat-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-types.d.ts","sourceRoot":"","sources":["../src/chat-types.ts"],"names":[],"mappings":"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"}
|
package/dist/chat.d.ts
CHANGED
|
@@ -1,46 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
ws_id: string;
|
|
5
|
-
name: string;
|
|
6
|
-
created_at: string | null;
|
|
7
|
-
created_by: string | null;
|
|
8
|
-
updated_at?: string | null;
|
|
9
|
-
description?: string | null;
|
|
10
|
-
is_private?: boolean | null;
|
|
11
|
-
}
|
|
12
|
-
export interface WorkspaceChatMessage {
|
|
13
|
-
id: string;
|
|
14
|
-
channel_id: string;
|
|
15
|
-
user_id: string;
|
|
16
|
-
content: string;
|
|
17
|
-
created_at: string;
|
|
18
|
-
updated_at: string | null;
|
|
19
|
-
deleted_at: string | null;
|
|
20
|
-
}
|
|
21
|
-
export interface WorkspaceChatParticipant {
|
|
22
|
-
channel_id: string;
|
|
23
|
-
user_id: string;
|
|
24
|
-
last_read_at: string | null;
|
|
25
|
-
}
|
|
26
|
-
export declare function listWorkspaceChatChannels(workspaceId: string, options?: InternalApiClientOptions): Promise<WorkspaceChatChannel[]>;
|
|
27
|
-
export declare function createWorkspaceChatChannel(workspaceId: string, name: string, options?: InternalApiClientOptions): Promise<{
|
|
28
|
-
channel: WorkspaceChatChannel;
|
|
29
|
-
}>;
|
|
30
|
-
export declare function listWorkspaceChatMessages(workspaceId: string, channelId: string, options?: InternalApiClientOptions): Promise<WorkspaceChatMessage[]>;
|
|
31
|
-
export declare function createWorkspaceChatMessage(workspaceId: string, channelId: string, content: string, options?: InternalApiClientOptions): Promise<{
|
|
32
|
-
message: WorkspaceChatMessage;
|
|
33
|
-
}>;
|
|
34
|
-
export declare function listWorkspaceChatParticipants(workspaceId: string, channelId: string, options?: InternalApiClientOptions): Promise<WorkspaceChatParticipant[]>;
|
|
35
|
-
export declare function upsertWorkspaceChatParticipant(workspaceId: string, channelId: string, payload: {
|
|
36
|
-
last_read_at?: string;
|
|
37
|
-
}, options?: InternalApiClientOptions): Promise<{
|
|
38
|
-
success: true;
|
|
39
|
-
}>;
|
|
40
|
-
export declare function upsertWorkspaceChatTyping(workspaceId: string, channelId: string, options?: InternalApiClientOptions): Promise<{
|
|
41
|
-
success: true;
|
|
42
|
-
}>;
|
|
43
|
-
export declare function deleteWorkspaceChatTyping(workspaceId: string, channelId: string, options?: InternalApiClientOptions): Promise<{
|
|
44
|
-
success: true;
|
|
45
|
-
}>;
|
|
1
|
+
export * from './chat-conversations';
|
|
2
|
+
export * from './chat-legacy';
|
|
3
|
+
export * from './chat-types';
|
|
46
4
|
//# sourceMappingURL=chat.d.ts.map
|
package/dist/chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
package/dist/chat.js
CHANGED
|
@@ -1,67 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports
|
|
4
|
-
exports
|
|
5
|
-
exports
|
|
6
|
-
exports.createWorkspaceChatMessage = createWorkspaceChatMessage;
|
|
7
|
-
exports.listWorkspaceChatParticipants = listWorkspaceChatParticipants;
|
|
8
|
-
exports.upsertWorkspaceChatParticipant = upsertWorkspaceChatParticipant;
|
|
9
|
-
exports.upsertWorkspaceChatTyping = upsertWorkspaceChatTyping;
|
|
10
|
-
exports.deleteWorkspaceChatTyping = deleteWorkspaceChatTyping;
|
|
11
|
-
const client_1 = require("./client");
|
|
12
|
-
async function listWorkspaceChatChannels(workspaceId, options) {
|
|
13
|
-
const client = (0, client_1.getInternalApiClient)(options);
|
|
14
|
-
const payload = await client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/chat/channels`, { cache: 'no-store' });
|
|
15
|
-
return payload.channels ?? [];
|
|
16
|
-
}
|
|
17
|
-
async function createWorkspaceChatChannel(workspaceId, name, options) {
|
|
18
|
-
const client = (0, client_1.getInternalApiClient)(options);
|
|
19
|
-
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/chat/channels`, {
|
|
20
|
-
method: 'POST',
|
|
21
|
-
headers: { 'Content-Type': 'application/json' },
|
|
22
|
-
body: JSON.stringify({ name }),
|
|
23
|
-
cache: 'no-store',
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
async function listWorkspaceChatMessages(workspaceId, channelId, options) {
|
|
27
|
-
const client = (0, client_1.getInternalApiClient)(options);
|
|
28
|
-
const payload = await client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/chat/channels/${(0, client_1.encodePathSegment)(channelId)}/messages`, { cache: 'no-store' });
|
|
29
|
-
return payload.messages ?? [];
|
|
30
|
-
}
|
|
31
|
-
async function createWorkspaceChatMessage(workspaceId, channelId, content, options) {
|
|
32
|
-
const client = (0, client_1.getInternalApiClient)(options);
|
|
33
|
-
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/chat/channels/${(0, client_1.encodePathSegment)(channelId)}/messages`, {
|
|
34
|
-
method: 'POST',
|
|
35
|
-
headers: { 'Content-Type': 'application/json' },
|
|
36
|
-
body: JSON.stringify({ content }),
|
|
37
|
-
cache: 'no-store',
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
async function listWorkspaceChatParticipants(workspaceId, channelId, options) {
|
|
41
|
-
const client = (0, client_1.getInternalApiClient)(options);
|
|
42
|
-
const payload = await client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/chat/channels/${(0, client_1.encodePathSegment)(channelId)}/participants`, { cache: 'no-store' });
|
|
43
|
-
return payload.participants ?? [];
|
|
44
|
-
}
|
|
45
|
-
async function upsertWorkspaceChatParticipant(workspaceId, channelId, payload, options) {
|
|
46
|
-
const client = (0, client_1.getInternalApiClient)(options);
|
|
47
|
-
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/chat/channels/${(0, client_1.encodePathSegment)(channelId)}/participants`, {
|
|
48
|
-
method: 'POST',
|
|
49
|
-
headers: { 'Content-Type': 'application/json' },
|
|
50
|
-
body: JSON.stringify(payload),
|
|
51
|
-
cache: 'no-store',
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
async function upsertWorkspaceChatTyping(workspaceId, channelId, options) {
|
|
55
|
-
const client = (0, client_1.getInternalApiClient)(options);
|
|
56
|
-
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/chat/channels/${(0, client_1.encodePathSegment)(channelId)}/typing`, {
|
|
57
|
-
method: 'POST',
|
|
58
|
-
cache: 'no-store',
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
async function deleteWorkspaceChatTyping(workspaceId, channelId, options) {
|
|
62
|
-
const client = (0, client_1.getInternalApiClient)(options);
|
|
63
|
-
return client.json(`/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/chat/channels/${(0, client_1.encodePathSegment)(channelId)}/typing`, {
|
|
64
|
-
method: 'DELETE',
|
|
65
|
-
cache: 'no-store',
|
|
66
|
-
});
|
|
67
|
-
}
|
|
17
|
+
__exportStar(require("./chat-conversations"), exports);
|
|
18
|
+
__exportStar(require("./chat-legacy"), exports);
|
|
19
|
+
__exportStar(require("./chat-types"), exports);
|
package/dist/client.d.ts
CHANGED
|
@@ -11,6 +11,11 @@ export type InternalApiClientOptions = {
|
|
|
11
11
|
fetch?: typeof fetch;
|
|
12
12
|
};
|
|
13
13
|
type HeaderAccessor = Pick<Headers, 'get'>;
|
|
14
|
+
export declare class InternalApiError extends Error {
|
|
15
|
+
readonly status: number;
|
|
16
|
+
readonly code?: string | undefined;
|
|
17
|
+
constructor(message: string, status: number, code?: string | undefined);
|
|
18
|
+
}
|
|
14
19
|
export declare function encodePathSegment(value: string): string;
|
|
15
20
|
export declare function getConfiguredInternalApiBaseUrl(): string;
|
|
16
21
|
export declare function resolveInternalApiUrl(path: string, baseUrl?: string): string;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,CAAC;AAEd,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAErE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,CAAC;AAEd,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAErE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF,KAAK,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAI3C,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,MAAM,EAAE,MAAM;aACd,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AA+BD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,UAE9C;AAiDD,wBAAgB,+BAA+B,WAY9C;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,UAkBnE;AA8CD,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,wBAA6B;kBAEf,MAAM,SAAQ,oBAAoB;SAgB5C,CAAC,QAAQ,MAAM,SAAQ,oBAAoB,GAAQ,OAAO,CAAC,CAAC,CAAC;EAyC3E;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,wBAA6B,GACrC,wBAAwB,CAuF1B;AAED,eAAO,MAAM,iBAAiB;kBA3JL,MAAM,SAAQ,oBAAoB;SAgB5C,CAAC,QAAQ,MAAM,SAAQ,oBAAoB,GAAQ,OAAO,CAAC,CAAC,CAAC;CA2IlB,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,wBAAwB;kBA7J9C,MAAM,SAAQ,oBAAoB;SAgB5C,CAAC,QAAQ,MAAM,SAAQ,oBAAoB,GAAQ,OAAO,CAAC,CAAC,CAAC;EA+I3E"}
|
package/dist/client.js
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.internalApiClient = void 0;
|
|
3
|
+
exports.internalApiClient = exports.InternalApiError = void 0;
|
|
4
4
|
exports.encodePathSegment = encodePathSegment;
|
|
5
5
|
exports.getConfiguredInternalApiBaseUrl = getConfiguredInternalApiBaseUrl;
|
|
6
6
|
exports.resolveInternalApiUrl = resolveInternalApiUrl;
|
|
7
7
|
exports.createInternalApiClient = createInternalApiClient;
|
|
8
8
|
exports.withForwardedInternalApiAuth = withForwardedInternalApiAuth;
|
|
9
9
|
exports.getInternalApiClient = getInternalApiClient;
|
|
10
|
+
const APP_SESSION_COOKIE_NAME = 'tuturuuu_app_session';
|
|
11
|
+
const SUPABASE_AUTH_COOKIE_PATTERN = /^sb-[a-z0-9-]+-auth-token(?:\.\d+)?$/i;
|
|
12
|
+
class InternalApiError extends Error {
|
|
13
|
+
status;
|
|
14
|
+
code;
|
|
15
|
+
constructor(message, status, code) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.status = status;
|
|
18
|
+
this.code = code;
|
|
19
|
+
this.name = 'InternalApiError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.InternalApiError = InternalApiError;
|
|
10
23
|
function tryParseAbsoluteUrl(value) {
|
|
11
24
|
try {
|
|
12
25
|
return new URL(value);
|
|
@@ -79,7 +92,7 @@ function getConfiguredInternalApiBaseUrl() {
|
|
|
79
92
|
resolveConfiguredOrigin(process.env.COOLIFY_FQDN) ||
|
|
80
93
|
(isProductionDeployment()
|
|
81
94
|
? 'https://tuturuuu.com'
|
|
82
|
-
: '
|
|
95
|
+
: 'https://tuturuuu.localhost'));
|
|
83
96
|
}
|
|
84
97
|
function resolveInternalApiUrl(path, baseUrl) {
|
|
85
98
|
const normalizedPath = normalizePath(path);
|
|
@@ -109,6 +122,25 @@ function mergeHeaders(defaultHeaders, requestHeaders) {
|
|
|
109
122
|
}
|
|
110
123
|
return headers;
|
|
111
124
|
}
|
|
125
|
+
function getCookieName(cookiePart) {
|
|
126
|
+
return cookiePart.trim().split('=')[0]?.trim() ?? '';
|
|
127
|
+
}
|
|
128
|
+
function hasAppSessionCookie(cookieHeader) {
|
|
129
|
+
return cookieHeader
|
|
130
|
+
.split(';')
|
|
131
|
+
.some((part) => getCookieName(part) === APP_SESSION_COOKIE_NAME);
|
|
132
|
+
}
|
|
133
|
+
function sanitizeForwardedCookieHeader(cookieHeader) {
|
|
134
|
+
if (!cookieHeader || !hasAppSessionCookie(cookieHeader)) {
|
|
135
|
+
return cookieHeader;
|
|
136
|
+
}
|
|
137
|
+
const cookies = cookieHeader
|
|
138
|
+
.split(';')
|
|
139
|
+
.map((part) => part.trim())
|
|
140
|
+
.filter(Boolean)
|
|
141
|
+
.filter((part) => !SUPABASE_AUTH_COOKIE_PATTERN.test(getCookieName(part)));
|
|
142
|
+
return cookies.length > 0 ? cookies.join('; ') : null;
|
|
143
|
+
}
|
|
112
144
|
function createInternalApiClient(options = {}) {
|
|
113
145
|
const doFetch = (path, init = {}) => {
|
|
114
146
|
const fetchImpl = options.fetch ?? globalThis.fetch;
|
|
@@ -127,15 +159,28 @@ function createInternalApiClient(options = {}) {
|
|
|
127
159
|
const response = await doFetch(path, init);
|
|
128
160
|
if (!response.ok) {
|
|
129
161
|
const fallbackMessage = `Internal API request failed: ${response.status}`;
|
|
162
|
+
let code;
|
|
130
163
|
let message;
|
|
131
164
|
try {
|
|
132
165
|
const data = (await response.json());
|
|
133
|
-
|
|
166
|
+
code = data.code;
|
|
167
|
+
const challenge = response.headers?.get?.('x-abuse-challenge');
|
|
168
|
+
if (data.code === 'ABUSE_CHALLENGE_REQUIRED' || challenge) {
|
|
169
|
+
message = [
|
|
170
|
+
data.message ||
|
|
171
|
+
'Additional verification is required before retrying.',
|
|
172
|
+
'This API request needs a browser verification challenge that the CLI cannot complete automatically.',
|
|
173
|
+
'Open Tuturuuu in a browser to complete verification, then retry the CLI command.',
|
|
174
|
+
].join(' ');
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
message = data.message || data.error || fallbackMessage;
|
|
178
|
+
}
|
|
134
179
|
}
|
|
135
180
|
catch {
|
|
136
181
|
message = fallbackMessage;
|
|
137
182
|
}
|
|
138
|
-
throw new
|
|
183
|
+
throw new InternalApiError(message, response.status, code);
|
|
139
184
|
}
|
|
140
185
|
if (response.status === 204) {
|
|
141
186
|
return undefined;
|
|
@@ -149,7 +194,7 @@ function createInternalApiClient(options = {}) {
|
|
|
149
194
|
* from an incoming request context (for example `next/headers()` in RSC).
|
|
150
195
|
*/
|
|
151
196
|
function withForwardedInternalApiAuth(requestHeaders, options = {}) {
|
|
152
|
-
const cookieHeader = requestHeaders.get('cookie');
|
|
197
|
+
const cookieHeader = sanitizeForwardedCookieHeader(requestHeaders.get('cookie'));
|
|
153
198
|
const authorizationHeader = requestHeaders.get('authorization');
|
|
154
199
|
if (!cookieHeader && !authorizationHeader) {
|
|
155
200
|
return options;
|