@tuturuuu/internal-api 0.35.0 → 0.36.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/mail-attachment-preview.d.ts +3 -0
- package/dist/mail-attachment-preview.d.ts.map +1 -0
- package/dist/mail-attachment-preview.js +53 -0
- package/dist/mail.d.ts +1 -0
- package/dist/mail.d.ts.map +1 -1
- package/dist/mail.js +3 -0
- package/dist/meet-call.d.ts +59 -1
- package/dist/meet-call.d.ts.map +1 -1
- package/dist/meet-call.js +62 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-attachment-preview.d.ts","sourceRoot":"","sources":["../src/mail-attachment-preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAG9B,MAAM,UAAU,CAAC;AAIlB,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,wBAAwB,mBAsDnC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMailAttachmentText = getMailAttachmentText;
|
|
4
|
+
const client_1 = require("./client");
|
|
5
|
+
const MAX_TEXT_PREVIEW_BYTES = 1024 * 1024;
|
|
6
|
+
async function getMailAttachmentText(protectedUrl, signal, options) {
|
|
7
|
+
if (!/^\/api\/v1\/workspaces\/[^/]+\/mail\/mailboxes\/[^/]+\/messages\/[^/]+\/attachments\/[^/?]+$/u.test(protectedUrl)) {
|
|
8
|
+
throw new Error('Invalid Mail attachment path');
|
|
9
|
+
}
|
|
10
|
+
const response = await (0, client_1.getInternalApiClient)((0, client_1.withMailApiBaseUrl)(options)).fetch(protectedUrl, {
|
|
11
|
+
credentials: 'include',
|
|
12
|
+
cache: 'no-store',
|
|
13
|
+
signal,
|
|
14
|
+
headers: { Range: `bytes=0-${MAX_TEXT_PREVIEW_BYTES - 1}` },
|
|
15
|
+
query: { preview: '1' },
|
|
16
|
+
});
|
|
17
|
+
if (!response.ok)
|
|
18
|
+
throw new client_1.InternalApiError('Attachment preview failed', response.status);
|
|
19
|
+
if (!response.headers
|
|
20
|
+
.get('content-type')
|
|
21
|
+
?.toLowerCase()
|
|
22
|
+
.startsWith('text/plain')) {
|
|
23
|
+
throw new Error('Attachment is not plain text');
|
|
24
|
+
}
|
|
25
|
+
const total = response.headers.get('content-range')?.match(/\/(\d+)$/u)?.[1] ??
|
|
26
|
+
response.headers.get('content-length');
|
|
27
|
+
if (total && Number(total) > MAX_TEXT_PREVIEW_BYTES) {
|
|
28
|
+
await response.body?.cancel();
|
|
29
|
+
throw new Error('Text attachment is too large to preview');
|
|
30
|
+
}
|
|
31
|
+
if (!response.body)
|
|
32
|
+
return '';
|
|
33
|
+
const reader = response.body.getReader();
|
|
34
|
+
const decoder = new TextDecoder();
|
|
35
|
+
let size = 0;
|
|
36
|
+
let text = '';
|
|
37
|
+
try {
|
|
38
|
+
while (true) {
|
|
39
|
+
const { value, done } = await reader.read();
|
|
40
|
+
if (done)
|
|
41
|
+
break;
|
|
42
|
+
size += value.byteLength;
|
|
43
|
+
if (size > MAX_TEXT_PREVIEW_BYTES)
|
|
44
|
+
throw new Error('Text attachment is too large to preview');
|
|
45
|
+
text += decoder.decode(value, { stream: true });
|
|
46
|
+
}
|
|
47
|
+
return text + decoder.decode();
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
await reader.cancel();
|
|
51
|
+
reader.releaseLock();
|
|
52
|
+
}
|
|
53
|
+
}
|
package/dist/mail.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type InternalApiClientOptions } from './client';
|
|
2
2
|
import type { BulkUpdateMailPayload, BulkUpdateMailThreadsPayload, CreateMailDraftPayload, CreateMailOrganizationPayload, GenerateMailAiDraftPayload, GenerateMailAiDraftResponse, ListMailMessagesParams, ListMailThreadsParams, MailAttachment, MailBootstrapResponse, MailCatchAllConfiguration, MailDomain, MailFolderDefinition, MailLabel, MailMailboxMember, MailMailboxSettings, MailMessageDetail, MailMessagesResponse, MailMutationResponse, MailThreadDetail, MailThreadsResponse, SendMailMessagePayload, SuggestMailLabelsPayload, SuggestMailLabelsResponse, UpdateMailCatchAllPayload, UpdateMailDraftPayload, UpdateMailMailboxSettingsPayload, UpdateMailMessageStatePayload, UpdateMailOrganizationPayload, UpsertMailDomainPayload, UpsertMailMailboxMemberPayload } from './mail-types';
|
|
3
|
+
export { getMailAttachmentText } from './mail-attachment-preview';
|
|
3
4
|
export * from './mail-types';
|
|
4
5
|
export declare function listWorkspaceEmails(workspaceId: string, query?: {
|
|
5
6
|
page?: number;
|
package/dist/mail.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../src/mail.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,wBAAwB,EAG9B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,cAAc,CAAC;AAEtB,cAAc,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../src/mail.ts"],"names":[],"mappings":"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"}
|
package/dist/mail.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.getMailAttachmentText = void 0;
|
|
17
18
|
exports.listWorkspaceEmails = listWorkspaceEmails;
|
|
18
19
|
exports.getMailBootstrap = getMailBootstrap;
|
|
19
20
|
exports.listMailMessages = listMailMessages;
|
|
@@ -50,6 +51,8 @@ exports.upsertMailDomain = upsertMailDomain;
|
|
|
50
51
|
exports.getMailCatchAllConfiguration = getMailCatchAllConfiguration;
|
|
51
52
|
exports.updateMailCatchAllConfiguration = updateMailCatchAllConfiguration;
|
|
52
53
|
const client_1 = require("./client");
|
|
54
|
+
var mail_attachment_preview_1 = require("./mail-attachment-preview");
|
|
55
|
+
Object.defineProperty(exports, "getMailAttachmentText", { enumerable: true, get: function () { return mail_attachment_preview_1.getMailAttachmentText; } });
|
|
53
56
|
__exportStar(require("./mail-types"), exports);
|
|
54
57
|
function workspaceMailPath(workspaceId, suffix = '') {
|
|
55
58
|
return `/api/v1/workspaces/${(0, client_1.encodePathSegment)(workspaceId)}/mail${suffix}`;
|
package/dist/meet-call.d.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { type InternalApiClientOptions } from './client';
|
|
2
2
|
/** Meet's Cloudflare-local refresh also supports invited guests outside a workspace. */
|
|
3
|
-
export declare function createMeetCallRealtimeToken(meetingId: string, options?: InternalApiClientOptions
|
|
3
|
+
export declare function createMeetCallRealtimeToken(meetingId: string, options?: InternalApiClientOptions, device?: {
|
|
4
|
+
deviceId: string;
|
|
5
|
+
joinMode?: 'switch' | 'additional';
|
|
6
|
+
}): Promise<{
|
|
7
|
+
requiresDeviceChoice: true;
|
|
8
|
+
otherDeviceCount: number;
|
|
9
|
+
token?: never;
|
|
10
|
+
realtimeUrl?: never;
|
|
11
|
+
} | {
|
|
12
|
+
requiresDeviceChoice?: false;
|
|
4
13
|
token: string;
|
|
5
14
|
realtimeUrl: string;
|
|
6
15
|
}>;
|
|
@@ -12,4 +21,53 @@ export declare function getMeetCallRoomState(meetingId: string): Promise<{
|
|
|
12
21
|
ended: boolean;
|
|
13
22
|
canReadNotes: boolean;
|
|
14
23
|
}>;
|
|
24
|
+
export declare function askMeetAssistant(meetingId: string, messageId: string): Promise<{
|
|
25
|
+
ok: boolean;
|
|
26
|
+
}>;
|
|
27
|
+
export declare function uploadMeetChatFile(meetingId: string, file: File): Promise<{
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
size: number;
|
|
31
|
+
contentType: string;
|
|
32
|
+
}>;
|
|
33
|
+
export declare function readMeetChatFile(meetingId: string, id: string): Promise<{
|
|
34
|
+
url: string;
|
|
35
|
+
name: string;
|
|
36
|
+
size: number;
|
|
37
|
+
contentType: string;
|
|
38
|
+
}>;
|
|
39
|
+
export declare function uploadMeetRoomRecording(meetingId: string, sessionId: string, blob: Blob): Promise<{
|
|
40
|
+
ok: boolean;
|
|
41
|
+
}>;
|
|
42
|
+
export declare function readMeetRecordings(meetingId: string): Promise<{
|
|
43
|
+
recordings: Array<{
|
|
44
|
+
sessionId: string;
|
|
45
|
+
startedAt: string;
|
|
46
|
+
endedAt?: string;
|
|
47
|
+
status: string;
|
|
48
|
+
}>;
|
|
49
|
+
}>;
|
|
50
|
+
export declare function readMeetRecording(meetingId: string, sessionId: string): Promise<{
|
|
51
|
+
url: string;
|
|
52
|
+
}>;
|
|
53
|
+
export declare function getMeetRoomCosts(meetingId: string): Promise<{
|
|
54
|
+
cloudflare: null | {
|
|
55
|
+
receivedBytes: number;
|
|
56
|
+
devices: number;
|
|
57
|
+
reportingDevices: number;
|
|
58
|
+
limitedReports?: number;
|
|
59
|
+
webSocketMessages: number;
|
|
60
|
+
httpRequests: number;
|
|
61
|
+
storageWrites: number;
|
|
62
|
+
sfuEgressUsd: number;
|
|
63
|
+
durableRequestsUsd: number;
|
|
64
|
+
pricingDate: string;
|
|
65
|
+
};
|
|
66
|
+
miraRequests: number;
|
|
67
|
+
miraCostUsd: number;
|
|
68
|
+
miraUnpriced: number;
|
|
69
|
+
}>;
|
|
70
|
+
export declare function discardMeetChatFile(meetingId: string, id: string): Promise<{
|
|
71
|
+
ok: boolean;
|
|
72
|
+
}>;
|
|
15
73
|
//# sourceMappingURL=meet-call.d.ts.map
|
package/dist/meet-call.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meet-call.d.ts","sourceRoot":"","sources":["../src/meet-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"meet-call.d.ts","sourceRoot":"","sources":["../src/meet-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,UAAU,CAAC;AAGlB,wFAAwF;AACxF,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,wBAAwB,EAClC,MAAM,CAAC,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAA;CAAE;0BAIrC,IAAI;sBACR,MAAM;YAChB,KAAK;kBACC,KAAK;;2BAEI,KAAK;WAAS,MAAM;iBAAe,MAAM;GAKvE;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;UACtB,MAAM;GAOlD;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM;WACR,OAAO;kBAAgB,OAAO;GAI3E;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;QAC1B,OAAO;GAIjD;AACD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;QAIxD,MAAM;UACJ,MAAM;UACN,MAAM;iBACC,MAAM;GAKtB;AACD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;SAErD,MAAM;UACL,MAAM;UACN,MAAM;iBACC,MAAM;GAKtB;AACD,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI;;GAwBX;AACD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM;gBAEpC,KAAK,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;GAIL;AACD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;SAC1B,MAAM;GAIjD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM;gBAElC,IAAI,GAAG;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;KACrB;kBACa,MAAM;iBACP,MAAM;kBACL,MAAM;GAIvB;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;QACtB,OAAO;GAOjD"}
|
package/dist/meet-call.js
CHANGED
|
@@ -3,11 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createMeetCallRealtimeToken = createMeetCallRealtimeToken;
|
|
4
4
|
exports.updateMeetCallTitle = updateMeetCallTitle;
|
|
5
5
|
exports.getMeetCallRoomState = getMeetCallRoomState;
|
|
6
|
+
exports.askMeetAssistant = askMeetAssistant;
|
|
7
|
+
exports.uploadMeetChatFile = uploadMeetChatFile;
|
|
8
|
+
exports.readMeetChatFile = readMeetChatFile;
|
|
9
|
+
exports.uploadMeetRoomRecording = uploadMeetRoomRecording;
|
|
10
|
+
exports.readMeetRecordings = readMeetRecordings;
|
|
11
|
+
exports.readMeetRecording = readMeetRecording;
|
|
12
|
+
exports.getMeetRoomCosts = getMeetRoomCosts;
|
|
13
|
+
exports.discardMeetChatFile = discardMeetChatFile;
|
|
6
14
|
const client_1 = require("./client");
|
|
15
|
+
const storage_1 = require("./storage");
|
|
7
16
|
/** Meet's Cloudflare-local refresh also supports invited guests outside a workspace. */
|
|
8
|
-
function createMeetCallRealtimeToken(meetingId, options) {
|
|
17
|
+
function createMeetCallRealtimeToken(meetingId, options, device) {
|
|
9
18
|
return (0, client_1.getInternalApiClient)(options).json(`/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/token`, {
|
|
10
19
|
method: 'POST',
|
|
20
|
+
body: device ? JSON.stringify(device) : undefined,
|
|
11
21
|
});
|
|
12
22
|
}
|
|
13
23
|
/** Persist only the title; leave meeting time and calendar metadata intact. */
|
|
@@ -20,3 +30,54 @@ function updateMeetCallTitle(meetingId, name) {
|
|
|
20
30
|
function getMeetCallRoomState(meetingId) {
|
|
21
31
|
return (0, client_1.getInternalApiClient)().json(`/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/state`, { cache: 'no-store' });
|
|
22
32
|
}
|
|
33
|
+
function askMeetAssistant(meetingId, messageId) {
|
|
34
|
+
return (0, client_1.getInternalApiClient)().json(`/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/assistant`, { method: 'POST', body: JSON.stringify({ messageId }) });
|
|
35
|
+
}
|
|
36
|
+
function uploadMeetChatFile(meetingId, file) {
|
|
37
|
+
const form = new FormData();
|
|
38
|
+
form.set('file', file);
|
|
39
|
+
return (0, client_1.getInternalApiClient)().json(`/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/files`, {
|
|
40
|
+
method: 'POST',
|
|
41
|
+
body: form,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function readMeetChatFile(meetingId, id) {
|
|
45
|
+
return (0, client_1.getInternalApiClient)().json(`/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/files?id=${encodeURIComponent(id)}`, { cache: 'no-store' });
|
|
46
|
+
}
|
|
47
|
+
async function uploadMeetRoomRecording(meetingId, sessionId, blob) {
|
|
48
|
+
const contentType = blob.type.split(';')[0] || 'video/webm';
|
|
49
|
+
const body = JSON.stringify({ sessionId, size: blob.size, contentType });
|
|
50
|
+
const endpoint = `/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/recording`;
|
|
51
|
+
const target = await (0, client_1.getInternalApiClient)().json(endpoint, { method: 'POST', body });
|
|
52
|
+
if (target.alreadySaved)
|
|
53
|
+
return { ok: true };
|
|
54
|
+
if (target.upload) {
|
|
55
|
+
const file = new File([blob], `recording.${contentType.includes('mp4') ? 'mp4' : 'webm'}`, { type: contentType });
|
|
56
|
+
await (0, storage_1.uploadFileWithSignedUrl)(file, target.upload, fetch);
|
|
57
|
+
}
|
|
58
|
+
else if (!target.alreadyUploaded)
|
|
59
|
+
throw new Error('Recording upload is unavailable');
|
|
60
|
+
return (0, client_1.getInternalApiClient)().json(endpoint, {
|
|
61
|
+
method: 'PUT',
|
|
62
|
+
body,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function readMeetRecordings(meetingId) {
|
|
66
|
+
return (0, client_1.getInternalApiClient)().json(`/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/recording`, {
|
|
67
|
+
cache: 'no-store',
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function readMeetRecording(meetingId, sessionId) {
|
|
71
|
+
return (0, client_1.getInternalApiClient)().json(`/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/recording?sessionId=${encodeURIComponent(sessionId)}`, { cache: 'no-store' });
|
|
72
|
+
}
|
|
73
|
+
function getMeetRoomCosts(meetingId) {
|
|
74
|
+
return (0, client_1.getInternalApiClient)().json(`/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/costs`, {
|
|
75
|
+
cache: 'no-store',
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function discardMeetChatFile(meetingId, id) {
|
|
79
|
+
return (0, client_1.getInternalApiClient)().json(`/api/meet-call/${(0, client_1.encodePathSegment)(meetingId)}/files`, {
|
|
80
|
+
method: 'DELETE',
|
|
81
|
+
body: JSON.stringify({ id }),
|
|
82
|
+
});
|
|
83
|
+
}
|