@nurama/sdk 0.0.0-stage → 1.4.1
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/LICENSE +202 -0
- package/NOTICE +5 -0
- package/README.md +1080 -2
- package/dist/BotClient.d.ts +66 -0
- package/dist/BotClient.d.ts.map +1 -0
- package/dist/BotClient.js +68 -0
- package/dist/BotClient.js.map +1 -0
- package/dist/NuramaClient.d.ts +480 -0
- package/dist/NuramaClient.d.ts.map +1 -0
- package/dist/NuramaClient.js +902 -0
- package/dist/NuramaClient.js.map +1 -0
- package/dist/browser/nurama-bot-sdk.js +12051 -0
- package/dist/browser/nurama-bot-sdk.min.js +1 -0
- package/dist/browser/nurama-sdk.js +12003 -0
- package/dist/browser/nurama-sdk.min.js +1 -0
- package/dist/routes/ai.d.ts +280 -0
- package/dist/routes/ai.d.ts.map +1 -0
- package/dist/routes/ai.js +173 -0
- package/dist/routes/ai.js.map +1 -0
- package/dist/routes/asset.d.ts +493 -0
- package/dist/routes/asset.d.ts.map +1 -0
- package/dist/routes/asset.js +848 -0
- package/dist/routes/asset.js.map +1 -0
- package/dist/routes/auth.d.ts +218 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +454 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/blogPosts.d.ts +17 -0
- package/dist/routes/blogPosts.d.ts.map +1 -0
- package/dist/routes/blogPosts.js +29 -0
- package/dist/routes/blogPosts.js.map +1 -0
- package/dist/routes/board.d.ts +187 -0
- package/dist/routes/board.d.ts.map +1 -0
- package/dist/routes/board.js +270 -0
- package/dist/routes/board.js.map +1 -0
- package/dist/routes/bot.d.ts +202 -0
- package/dist/routes/bot.d.ts.map +1 -0
- package/dist/routes/bot.js +229 -0
- package/dist/routes/bot.js.map +1 -0
- package/dist/routes/chat.d.ts +842 -0
- package/dist/routes/chat.d.ts.map +1 -0
- package/dist/routes/chat.js +863 -0
- package/dist/routes/chat.js.map +1 -0
- package/dist/routes/chatAi.d.ts +51 -0
- package/dist/routes/chatAi.d.ts.map +1 -0
- package/dist/routes/chatAi.js +109 -0
- package/dist/routes/chatAi.js.map +1 -0
- package/dist/routes/config.d.ts +11 -0
- package/dist/routes/config.d.ts.map +1 -0
- package/dist/routes/config.js +24 -0
- package/dist/routes/config.js.map +1 -0
- package/dist/routes/convo.d.ts +169 -0
- package/dist/routes/convo.d.ts.map +1 -0
- package/dist/routes/convo.js +284 -0
- package/dist/routes/convo.js.map +1 -0
- package/dist/routes/credits.d.ts +82 -0
- package/dist/routes/credits.d.ts.map +1 -0
- package/dist/routes/credits.js +49 -0
- package/dist/routes/credits.js.map +1 -0
- package/dist/routes/device.d.ts +74 -0
- package/dist/routes/device.d.ts.map +1 -0
- package/dist/routes/device.js +122 -0
- package/dist/routes/device.js.map +1 -0
- package/dist/routes/folder.d.ts +75 -0
- package/dist/routes/folder.d.ts.map +1 -0
- package/dist/routes/folder.js +99 -0
- package/dist/routes/folder.js.map +1 -0
- package/dist/routes/invite.d.ts +61 -0
- package/dist/routes/invite.d.ts.map +1 -0
- package/dist/routes/invite.js +86 -0
- package/dist/routes/invite.js.map +1 -0
- package/dist/routes/joinLink.d.ts +88 -0
- package/dist/routes/joinLink.d.ts.map +1 -0
- package/dist/routes/joinLink.js +205 -0
- package/dist/routes/joinLink.js.map +1 -0
- package/dist/routes/membership.d.ts +116 -0
- package/dist/routes/membership.d.ts.map +1 -0
- package/dist/routes/membership.js +183 -0
- package/dist/routes/membership.js.map +1 -0
- package/dist/routes/notification.d.ts +103 -0
- package/dist/routes/notification.d.ts.map +1 -0
- package/dist/routes/notification.js +89 -0
- package/dist/routes/notification.js.map +1 -0
- package/dist/routes/oauthGrant.d.ts +45 -0
- package/dist/routes/oauthGrant.d.ts.map +1 -0
- package/dist/routes/oauthGrant.js +32 -0
- package/dist/routes/oauthGrant.js.map +1 -0
- package/dist/routes/payment.d.ts +56 -0
- package/dist/routes/payment.d.ts.map +1 -0
- package/dist/routes/payment.js +78 -0
- package/dist/routes/payment.js.map +1 -0
- package/dist/routes/product.d.ts +43 -0
- package/dist/routes/product.d.ts.map +1 -0
- package/dist/routes/product.js +53 -0
- package/dist/routes/product.js.map +1 -0
- package/dist/routes/project.d.ts +821 -0
- package/dist/routes/project.d.ts.map +1 -0
- package/dist/routes/project.js +1153 -0
- package/dist/routes/project.js.map +1 -0
- package/dist/routes/public.d.ts +269 -0
- package/dist/routes/public.d.ts.map +1 -0
- package/dist/routes/public.js +412 -0
- package/dist/routes/public.js.map +1 -0
- package/dist/routes/scratch.d.ts +70 -0
- package/dist/routes/scratch.d.ts.map +1 -0
- package/dist/routes/scratch.js +67 -0
- package/dist/routes/scratch.js.map +1 -0
- package/dist/routes/settings.d.ts +102 -0
- package/dist/routes/settings.d.ts.map +1 -0
- package/dist/routes/settings.js +94 -0
- package/dist/routes/settings.js.map +1 -0
- package/dist/routes/shortlink.d.ts +79 -0
- package/dist/routes/shortlink.d.ts.map +1 -0
- package/dist/routes/shortlink.js +25 -0
- package/dist/routes/shortlink.js.map +1 -0
- package/dist/routes/socket.d.ts +108 -0
- package/dist/routes/socket.d.ts.map +1 -0
- package/dist/routes/socket.js +573 -0
- package/dist/routes/socket.js.map +1 -0
- package/dist/routes/storage.d.ts +44 -0
- package/dist/routes/storage.d.ts.map +1 -0
- package/dist/routes/storage.js +49 -0
- package/dist/routes/storage.js.map +1 -0
- package/dist/routes/subscription.d.ts +184 -0
- package/dist/routes/subscription.d.ts.map +1 -0
- package/dist/routes/subscription.js +219 -0
- package/dist/routes/subscription.js.map +1 -0
- package/dist/routes/supportChat.d.ts +40 -0
- package/dist/routes/supportChat.d.ts.map +1 -0
- package/dist/routes/supportChat.js +53 -0
- package/dist/routes/supportChat.js.map +1 -0
- package/dist/routes/supportTicket.d.ts +89 -0
- package/dist/routes/supportTicket.d.ts.map +1 -0
- package/dist/routes/supportTicket.js +54 -0
- package/dist/routes/supportTicket.js.map +1 -0
- package/dist/routes/tag.d.ts +72 -0
- package/dist/routes/tag.d.ts.map +1 -0
- package/dist/routes/tag.js +81 -0
- package/dist/routes/tag.js.map +1 -0
- package/dist/routes/task.d.ts +252 -0
- package/dist/routes/task.d.ts.map +1 -0
- package/dist/routes/task.js +284 -0
- package/dist/routes/task.js.map +1 -0
- package/dist/routes/taskRelation.d.ts +80 -0
- package/dist/routes/taskRelation.d.ts.map +1 -0
- package/dist/routes/taskRelation.js +71 -0
- package/dist/routes/taskRelation.js.map +1 -0
- package/dist/routes/token.d.ts +97 -0
- package/dist/routes/token.d.ts.map +1 -0
- package/dist/routes/token.js +73 -0
- package/dist/routes/token.js.map +1 -0
- package/dist/routes/user.d.ts +112 -0
- package/dist/routes/user.d.ts.map +1 -0
- package/dist/routes/user.js +151 -0
- package/dist/routes/user.js.map +1 -0
- package/dist/routes/version.d.ts +42 -0
- package/dist/routes/version.d.ts.map +1 -0
- package/dist/routes/version.js +38 -0
- package/dist/routes/version.js.map +1 -0
- package/dist/routes/webhook.d.ts +170 -0
- package/dist/routes/webhook.d.ts.map +1 -0
- package/dist/routes/webhook.js +173 -0
- package/dist/routes/webhook.js.map +1 -0
- package/dist/routes/workspace.d.ts +120 -0
- package/dist/routes/workspace.d.ts.map +1 -0
- package/dist/routes/workspace.js +199 -0
- package/dist/routes/workspace.js.map +1 -0
- package/dist/utils/uploadSessionManager.d.ts +133 -0
- package/dist/utils/uploadSessionManager.d.ts.map +1 -0
- package/dist/utils/uploadSessionManager.js +321 -0
- package/dist/utils/uploadSessionManager.js.map +1 -0
- package/dist/utils/urlParams.d.ts +35 -0
- package/dist/utils/urlParams.d.ts.map +1 -0
- package/dist/utils/urlParams.js +146 -0
- package/dist/utils/urlParams.js.map +1 -0
- package/dist/version.d.ts +15 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +12 -0
- package/dist/version.js.map +1 -0
- package/package.json +87 -3
- package/src/BotClient.ts +113 -0
- package/src/NuramaClient.ts +1253 -0
- package/src/bot-browser-entry.js +15 -0
- package/src/browser-entry.js +20 -0
- package/src/routes/ai.ts +378 -0
- package/src/routes/asset.ts +1104 -0
- package/src/routes/auth.ts +587 -0
- package/src/routes/blogPosts.ts +29 -0
- package/src/routes/board.ts +403 -0
- package/src/routes/bot.ts +356 -0
- package/src/routes/chat.ts +1292 -0
- package/src/routes/chatAi.ts +125 -0
- package/src/routes/config.ts +31 -0
- package/src/routes/convo.ts +321 -0
- package/src/routes/credits.ts +112 -0
- package/src/routes/device.ts +133 -0
- package/src/routes/folder.ts +154 -0
- package/src/routes/invite.ts +133 -0
- package/src/routes/joinLink.ts +233 -0
- package/src/routes/membership.ts +237 -0
- package/src/routes/notification.ts +166 -0
- package/src/routes/oauthGrant.ts +64 -0
- package/src/routes/payment.ts +104 -0
- package/src/routes/product.ts +67 -0
- package/src/routes/project.ts +1528 -0
- package/src/routes/public.ts +496 -0
- package/src/routes/scratch.ts +94 -0
- package/src/routes/settings.ts +152 -0
- package/src/routes/shortlink.ts +90 -0
- package/src/routes/socket.ts +757 -0
- package/src/routes/storage.ts +83 -0
- package/src/routes/subscription.ts +307 -0
- package/src/routes/supportChat.ts +62 -0
- package/src/routes/supportTicket.ts +114 -0
- package/src/routes/tag.ts +131 -0
- package/src/routes/task.ts +431 -0
- package/src/routes/taskRelation.ts +125 -0
- package/src/routes/token.ts +152 -0
- package/src/routes/user.ts +214 -0
- package/src/routes/version.ts +62 -0
- package/src/routes/webhook.ts +295 -0
- package/src/routes/workspace.ts +223 -0
- package/src/utils/uploadSessionManager.ts +407 -0
- package/src/utils/urlParams.ts +181 -0
- package/src/version.ts +22 -0
|
@@ -0,0 +1,493 @@
|
|
|
1
|
+
export interface DocumentViewUrlResponse {
|
|
2
|
+
/** Signed URL for the document's `media` PDF, served inline. */
|
|
3
|
+
url: string;
|
|
4
|
+
/** Unix seconds. Refetch rather than reusing a URL past this. */
|
|
5
|
+
expires: number;
|
|
6
|
+
/** From `meta.document.pageCount`; 0 when processing has not reported it. */
|
|
7
|
+
pageCount: number;
|
|
8
|
+
/**
|
|
9
|
+
* True when the `media` PDF holds only the first `pageCount` pages of a
|
|
10
|
+
* longer document, because post-processing hit its `maxPages` cap. The PDF
|
|
11
|
+
* itself is internally consistent, so this flag is the only way to know.
|
|
12
|
+
*/
|
|
13
|
+
pagesTruncated: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Which end of the document the `media` PDF kept. `'start'` for everything
|
|
16
|
+
* read front-to-back; `'end'` for logs, whose newest lines are at the bottom.
|
|
17
|
+
* Only meaningful when `pagesTruncated` is true.
|
|
18
|
+
*/
|
|
19
|
+
truncatedFrom: 'start' | 'end';
|
|
20
|
+
/** Pages in the source document. Equals `pageCount` unless truncated. */
|
|
21
|
+
originalPageCount: number;
|
|
22
|
+
}
|
|
23
|
+
import NuramaClient from '../NuramaClient.js';
|
|
24
|
+
import { type Asset, type File, type AssetReferences } from '@nurama/types';
|
|
25
|
+
export interface UpdateAssetData {
|
|
26
|
+
name?: string;
|
|
27
|
+
meta?: Record<string, any>;
|
|
28
|
+
tags?: string[];
|
|
29
|
+
folderId?: string | null;
|
|
30
|
+
}
|
|
31
|
+
export interface TagAssetData {
|
|
32
|
+
tagId: string;
|
|
33
|
+
}
|
|
34
|
+
export interface UntagAssetData {
|
|
35
|
+
tagId: string;
|
|
36
|
+
}
|
|
37
|
+
export interface CreateAssetShortLinkData {
|
|
38
|
+
visibility?: 'creator' | 'reviewer';
|
|
39
|
+
}
|
|
40
|
+
export interface ShortLink {
|
|
41
|
+
id: string;
|
|
42
|
+
code: string;
|
|
43
|
+
resourceId: string;
|
|
44
|
+
resourceType: 'asset' | 'project' | 'workspace' | 'chatMessage' | 'chatSubmission';
|
|
45
|
+
visibility: 'creator' | 'reviewer' | null;
|
|
46
|
+
creatorId: string;
|
|
47
|
+
createdAt: string;
|
|
48
|
+
updatedAt?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface CreateAssetShortLinkResponse {
|
|
51
|
+
shortLink: ShortLink;
|
|
52
|
+
shortUrl: string;
|
|
53
|
+
}
|
|
54
|
+
export type PublicAssetLinkMode = 'download' | 'embed' | 'embed-download';
|
|
55
|
+
export interface PublicAssetLink {
|
|
56
|
+
id: string;
|
|
57
|
+
token: string;
|
|
58
|
+
assetId: string;
|
|
59
|
+
projectId: string;
|
|
60
|
+
creatorId: string;
|
|
61
|
+
expires: string | null;
|
|
62
|
+
status: 'active' | 'disabled' | 'expired';
|
|
63
|
+
/**
|
|
64
|
+
* Capability mode for this link.
|
|
65
|
+
* - 'download' — direct-download link only; embed iframe blocked.
|
|
66
|
+
* - 'embed' — embeddable iframe only; direct download blocked.
|
|
67
|
+
* - 'embed-download' — both endpoints allowed (default; backward-compatible).
|
|
68
|
+
* Enforced server-side at /v1/public-download/{token}/download and /embed-files.
|
|
69
|
+
*/
|
|
70
|
+
mode?: PublicAssetLinkMode;
|
|
71
|
+
publicUrl: string;
|
|
72
|
+
isExpired?: boolean;
|
|
73
|
+
createdAt: string;
|
|
74
|
+
updatedAt: string;
|
|
75
|
+
}
|
|
76
|
+
export interface CompleteMultipartUploadData {
|
|
77
|
+
key: string;
|
|
78
|
+
uploadId: string;
|
|
79
|
+
parts: {
|
|
80
|
+
ETag: string;
|
|
81
|
+
PartNumber: number;
|
|
82
|
+
}[];
|
|
83
|
+
assetId: string;
|
|
84
|
+
}
|
|
85
|
+
export interface MultipartUploadOptions {
|
|
86
|
+
onProgress?: (progress: {
|
|
87
|
+
partNumber: number;
|
|
88
|
+
totalParts: number;
|
|
89
|
+
percentComplete: number;
|
|
90
|
+
totalPercentComplete: number;
|
|
91
|
+
}) => void;
|
|
92
|
+
maxRetries?: number;
|
|
93
|
+
abortSignal?: AbortSignal;
|
|
94
|
+
enableProgressPersistence?: boolean;
|
|
95
|
+
projectId?: string;
|
|
96
|
+
sessionId?: string;
|
|
97
|
+
fileName?: string;
|
|
98
|
+
fileSize?: number;
|
|
99
|
+
assetId?: string;
|
|
100
|
+
}
|
|
101
|
+
export interface PartUploadOptions {
|
|
102
|
+
onPartProgress?: (progress: {
|
|
103
|
+
partNumber: number;
|
|
104
|
+
totalParts: number;
|
|
105
|
+
partPercent: number;
|
|
106
|
+
}) => void;
|
|
107
|
+
maxRetries?: number;
|
|
108
|
+
abortSignal?: AbortSignal;
|
|
109
|
+
}
|
|
110
|
+
export interface MultipartUploadResult {
|
|
111
|
+
key: string;
|
|
112
|
+
uploadId: string;
|
|
113
|
+
parts: {
|
|
114
|
+
ETag: string;
|
|
115
|
+
PartNumber: number;
|
|
116
|
+
}[];
|
|
117
|
+
}
|
|
118
|
+
export interface GetAssetParams {
|
|
119
|
+
chatVisibility?: 'creator' | 'reviewer';
|
|
120
|
+
chatMessageSort?: {
|
|
121
|
+
id?: 1 | -1;
|
|
122
|
+
};
|
|
123
|
+
chatReplySort?: {
|
|
124
|
+
id?: 1 | -1;
|
|
125
|
+
};
|
|
126
|
+
chatMessageLimit?: number;
|
|
127
|
+
chatReplyLimit?: number;
|
|
128
|
+
}
|
|
129
|
+
export interface GetAssetPageParams {
|
|
130
|
+
sort?: Record<string, 1 | -1>;
|
|
131
|
+
limit?: number;
|
|
132
|
+
visibility?: 'creator' | 'reviewer' | string;
|
|
133
|
+
inFolder?: boolean;
|
|
134
|
+
}
|
|
135
|
+
export interface Chat {
|
|
136
|
+
_id?: string;
|
|
137
|
+
id?: string;
|
|
138
|
+
totalMessages?: number;
|
|
139
|
+
recentMessages?: any[];
|
|
140
|
+
}
|
|
141
|
+
export interface AssetWithChats extends Omit<Asset, 'chats'> {
|
|
142
|
+
chats?: {
|
|
143
|
+
creator?: Chat;
|
|
144
|
+
reviewer?: Chat;
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
export type AssetResponse = AssetWithChats;
|
|
148
|
+
export type FileResponse = File;
|
|
149
|
+
export type AssetPageResponse = {
|
|
150
|
+
page: number;
|
|
151
|
+
};
|
|
152
|
+
export type RepairAssetsResponse = any[];
|
|
153
|
+
export type DownloadAssetsResponse = any[];
|
|
154
|
+
/**
|
|
155
|
+
* Defines asset-related methods for the NuramaClient.
|
|
156
|
+
* @param {NuramaClient} client - The NuramaClient instance.
|
|
157
|
+
* @returns {object} An object containing the asset-related methods.
|
|
158
|
+
*/
|
|
159
|
+
export default function createAssetMethods(client: NuramaClient): {
|
|
160
|
+
/**
|
|
161
|
+
* Retrieves a specific asset by its ID with optional chat data.
|
|
162
|
+
* @param {string} assetId - The ID of the asset.
|
|
163
|
+
* @param {GetAssetParams} [params] - Optional parameters for chat data inclusion.
|
|
164
|
+
* @returns {Promise<AssetResponse>} The asset object with optional chat data.
|
|
165
|
+
*/
|
|
166
|
+
getAsset(assetId: string, params?: GetAssetParams): Promise<AssetResponse>;
|
|
167
|
+
/**
|
|
168
|
+
* Lists every location an asset is referenced — its primary file system and
|
|
169
|
+
* each secondary reference (reviewer, submission, public), grouped and counted.
|
|
170
|
+
*
|
|
171
|
+
* Renaming an asset retitles it at every one of these locations, and deleting
|
|
172
|
+
* its last primary reference removes them all — so this is what the rename and
|
|
173
|
+
* delete confirmations show the user before either happens.
|
|
174
|
+
*
|
|
175
|
+
* @param {string} assetId - The ID of the asset.
|
|
176
|
+
* @returns {Promise<AssetReferences>} The asset's references.
|
|
177
|
+
*/
|
|
178
|
+
getAssetReferences(assetId: string): Promise<AssetReferences>;
|
|
179
|
+
/**
|
|
180
|
+
* Updates an asset.
|
|
181
|
+
* @param {string} assetId - The ID of the asset to update.
|
|
182
|
+
* @param {UpdateAssetData} updateData - Data to update (e.g., name, meta, tags, folderId).
|
|
183
|
+
* @returns {Promise<AssetResponse>} The updated asset object.
|
|
184
|
+
*/
|
|
185
|
+
updateAsset(assetId: string, updateData: UpdateAssetData): Promise<AssetResponse>;
|
|
186
|
+
/**
|
|
187
|
+
* Deletes an asset (marks for deletion).
|
|
188
|
+
* @param {string} assetId - The ID of the asset to delete.
|
|
189
|
+
* @returns {Promise<void>}
|
|
190
|
+
*/
|
|
191
|
+
deleteAsset(assetId: string): Promise<AssetResponse>;
|
|
192
|
+
/**
|
|
193
|
+
* Retrieves a specific file from an asset.
|
|
194
|
+
* @param {string} assetId - The ID of the asset.
|
|
195
|
+
* @param {string} fileId - The ID of the file.
|
|
196
|
+
* @returns {Promise<FileResponse>} The file object.
|
|
197
|
+
*/
|
|
198
|
+
getFile(assetId: string, fileId: string): Promise<FileResponse>;
|
|
199
|
+
/**
|
|
200
|
+
* Retrieves files of a specific function type from an asset.
|
|
201
|
+
* @param {string} assetId - The ID of the asset.
|
|
202
|
+
* @param {string} functionType - The function type of the files (e.g., 'thumbnail', 'original').
|
|
203
|
+
* @returns {Promise<FileResponse[]>} An array of file objects.
|
|
204
|
+
*/
|
|
205
|
+
getFilesByFunctionType(assetId: string, functionType: string): Promise<FileResponse[]>;
|
|
206
|
+
/**
|
|
207
|
+
* Complete a multipart upload initiated by `createAssets`.
|
|
208
|
+
*
|
|
209
|
+
* Matches the route (`POST /v1/assets/complete-upload`) and mirrors
|
|
210
|
+
* `nuramaClient.scratch.completeUpload`, so moving between the asset
|
|
211
|
+
* and scratch namespaces uses the same verb.
|
|
212
|
+
*
|
|
213
|
+
* @param {CompleteMultipartUploadData} uploadData - Data including key, uploadId, parts, and assetId.
|
|
214
|
+
* @returns {Promise<any>} S3 completion response.
|
|
215
|
+
*/
|
|
216
|
+
completeUpload(uploadData: CompleteMultipartUploadData): Promise<any>;
|
|
217
|
+
/**
|
|
218
|
+
* Uploads a file using multipart upload with the provided signed URLs
|
|
219
|
+
* @param {File|Blob|Buffer|string} file - The file to upload (File/Blob in browser, Buffer/string path in Node.js)
|
|
220
|
+
* @param {string[]} signedUrls - Array of signed URLs for each part
|
|
221
|
+
* @param {string} key - The S3 key for the upload
|
|
222
|
+
* @param {string} uploadId - The S3 uploadId for the multipart upload
|
|
223
|
+
* @param {MultipartUploadOptions} options - Upload options
|
|
224
|
+
* @returns {Promise<MultipartUploadResult>} The completed upload data
|
|
225
|
+
*/
|
|
226
|
+
multipartUpload(file: File | Blob | Buffer | string, signedUrls: string[], key: string, uploadId: string, options?: MultipartUploadOptions): Promise<MultipartUploadResult>;
|
|
227
|
+
/**
|
|
228
|
+
* Gets the page number an asset appears on based on specified filters and sorting.
|
|
229
|
+
* @param {string} assetId - The ID of the asset to find the page for.
|
|
230
|
+
* @param {GetAssetPageParams} [params] - Query parameters for sorting, filtering, and pagination limit.
|
|
231
|
+
* @returns {Promise<AssetPageResponse>} Object containing the page number.
|
|
232
|
+
*/
|
|
233
|
+
getAssetPage(assetId: string, params?: GetAssetPageParams): Promise<AssetPageResponse>;
|
|
234
|
+
/**
|
|
235
|
+
* Attempts to repair assets (e.g., regenerate signed URLs for pending uploads).
|
|
236
|
+
* @param {string[]} assetIds - An array of asset IDs to repair.
|
|
237
|
+
* @returns {Promise<RepairAssetsResponse>} Array of repair results.
|
|
238
|
+
*/
|
|
239
|
+
repairAssets(assetIds: string[]): Promise<RepairAssetsResponse>;
|
|
240
|
+
/**
|
|
241
|
+
* Generates signed download URLs for the original files of specified assets.
|
|
242
|
+
* @param {string[]} assetIds - An array of asset IDs.
|
|
243
|
+
* @returns {Promise<DownloadAssetsResponse>} Array of download URL results.
|
|
244
|
+
*/
|
|
245
|
+
downloadAssets(assetIds: string[]): Promise<DownloadAssetsResponse>;
|
|
246
|
+
/**
|
|
247
|
+
* Mints a short-lived signed URL for rendering a document inline.
|
|
248
|
+
*
|
|
249
|
+
* Documents keep their `media` PDF in the private bucket, so unlike images
|
|
250
|
+
* and video it cannot be addressed by keyPath through the file CDN. Fetch
|
|
251
|
+
* this per document open; do not cache it past `expires`.
|
|
252
|
+
*
|
|
253
|
+
* @param {string} assetId - The document asset's ID.
|
|
254
|
+
* @returns {Promise<DocumentViewUrlResponse>} Signed URL, expiry and page count.
|
|
255
|
+
*/
|
|
256
|
+
getDocumentViewUrl(assetId: string): Promise<DocumentViewUrlResponse>;
|
|
257
|
+
/**
|
|
258
|
+
* Tags an asset with a specific tag.
|
|
259
|
+
* @param {string} assetId - The ID of the asset to tag.
|
|
260
|
+
* @param {TagAssetData} tagData - Data containing the tag ID.
|
|
261
|
+
* @returns {Promise<AssetResponse>} The updated asset object.
|
|
262
|
+
*/
|
|
263
|
+
tagAsset(assetId: string, tagData: TagAssetData): Promise<AssetResponse>;
|
|
264
|
+
/**
|
|
265
|
+
* Untags an asset by removing a specific tag.
|
|
266
|
+
* @param {string} assetId - The ID of the asset to untag.
|
|
267
|
+
* @param {UntagAssetData} untagData - Data containing the tag ID to remove.
|
|
268
|
+
* @returns {Promise<AssetResponse>} The updated asset object.
|
|
269
|
+
*/
|
|
270
|
+
untagAsset(assetId: string, untagData: UntagAssetData): Promise<AssetResponse>;
|
|
271
|
+
/**
|
|
272
|
+
* Creates a short link for an asset.
|
|
273
|
+
* If a short link already exists for the asset with the same visibility, returns the existing one.
|
|
274
|
+
* @param {string} assetId - The ID of the asset to create a short link for.
|
|
275
|
+
* @param {CreateAssetShortLinkData} [data] - Optional data including visibility context.
|
|
276
|
+
* @returns {Promise<CreateAssetShortLinkResponse>} The short link object and short URL.
|
|
277
|
+
*/
|
|
278
|
+
createShortLink(assetId: string, data?: CreateAssetShortLinkData): Promise<CreateAssetShortLinkResponse>;
|
|
279
|
+
/**
|
|
280
|
+
* Create a public download link for an asset.
|
|
281
|
+
* @param {string} assetId - The asset ID.
|
|
282
|
+
* @param {Object} data - Link creation data.
|
|
283
|
+
* @param {string} data.projectId - The project ID.
|
|
284
|
+
* @param {number} [data.validity] - Link validity in milliseconds.
|
|
285
|
+
* @returns {Promise<PublicAssetLink>} The created public link.
|
|
286
|
+
*/
|
|
287
|
+
createPublicLink(assetId: string, data: {
|
|
288
|
+
projectId: string;
|
|
289
|
+
validity?: number;
|
|
290
|
+
mode?: PublicAssetLinkMode;
|
|
291
|
+
}): Promise<PublicAssetLink>;
|
|
292
|
+
/**
|
|
293
|
+
* Get all public download links for an asset.
|
|
294
|
+
* @param {string} assetId - The asset ID.
|
|
295
|
+
* @returns {Promise<{ results: PublicAssetLink[] }>} The public links.
|
|
296
|
+
*/
|
|
297
|
+
getPublicLinks(assetId: string, options?: {
|
|
298
|
+
bypassCache?: boolean;
|
|
299
|
+
}): Promise<{
|
|
300
|
+
results: PublicAssetLink[];
|
|
301
|
+
}>;
|
|
302
|
+
/**
|
|
303
|
+
* Update a public download link (extend expiration or change status).
|
|
304
|
+
* @param {string} assetId - The asset ID.
|
|
305
|
+
* @param {string} linkId - The link ID.
|
|
306
|
+
* @param {Object} data - Update data.
|
|
307
|
+
* @returns {Promise<PublicAssetLink>} The updated public link.
|
|
308
|
+
*/
|
|
309
|
+
updatePublicLink(assetId: string, linkId: string, data: {
|
|
310
|
+
validity?: number;
|
|
311
|
+
status?: string;
|
|
312
|
+
mode?: PublicAssetLinkMode;
|
|
313
|
+
}): Promise<PublicAssetLink>;
|
|
314
|
+
/**
|
|
315
|
+
* Disable a public download link.
|
|
316
|
+
* @param {string} assetId - The asset ID.
|
|
317
|
+
* @param {string} linkId - The link ID.
|
|
318
|
+
* @returns {Promise<PublicAssetLink>} The disabled public link.
|
|
319
|
+
*/
|
|
320
|
+
disablePublicLink(assetId: string, linkId: string): Promise<PublicAssetLink>;
|
|
321
|
+
/**
|
|
322
|
+
* Reactivate a disabled/expired public download link.
|
|
323
|
+
* @param {string} assetId - The asset ID.
|
|
324
|
+
* @param {string} linkId - The link ID.
|
|
325
|
+
* @param {Object} [data] - Reactivation data.
|
|
326
|
+
* @param {number} [data.validity] - New validity in milliseconds.
|
|
327
|
+
* @returns {Promise<PublicAssetLink>} The reactivated public link.
|
|
328
|
+
*/
|
|
329
|
+
reactivatePublicLink(assetId: string, linkId: string, data?: {
|
|
330
|
+
validity?: number;
|
|
331
|
+
}): Promise<PublicAssetLink>;
|
|
332
|
+
/**
|
|
333
|
+
* Mint a signed multipart upload URL for a user-supplied custom thumbnail
|
|
334
|
+
* image. The upload lands in the originals bucket tagged so the
|
|
335
|
+
* post-processing Lambda generates the customThumbnail outputs and
|
|
336
|
+
* registers them on the asset via the file-update callback.
|
|
337
|
+
*
|
|
338
|
+
* Caller flow:
|
|
339
|
+
* 1. multipartUpload(file, response.urls, response.key, response.uploadId)
|
|
340
|
+
* 2. completeCustomThumbnailUpload({ assetId, key, uploadId, parts })
|
|
341
|
+
* 3. wait for the assetFileUpdate websocket event
|
|
342
|
+
*/
|
|
343
|
+
getCustomThumbnailUploadUrl(assetId: string, data: {
|
|
344
|
+
fileName: string;
|
|
345
|
+
mimeType: string;
|
|
346
|
+
sizeInMB: number;
|
|
347
|
+
}): Promise<{
|
|
348
|
+
fileName: string;
|
|
349
|
+
assetId: string;
|
|
350
|
+
uploadId: string;
|
|
351
|
+
key: string;
|
|
352
|
+
urls: string[];
|
|
353
|
+
mimeType: string;
|
|
354
|
+
expires: number;
|
|
355
|
+
status: string;
|
|
356
|
+
}>;
|
|
357
|
+
/**
|
|
358
|
+
* Finalize the multipart S3 upload for a custom thumbnail. Triggers the
|
|
359
|
+
* post-processing Lambda by committing the S3 object.
|
|
360
|
+
*/
|
|
361
|
+
completeCustomThumbnailUpload(assetId: string, data: {
|
|
362
|
+
key: string;
|
|
363
|
+
uploadId: string;
|
|
364
|
+
parts: {
|
|
365
|
+
ETag: string;
|
|
366
|
+
PartNumber: number;
|
|
367
|
+
}[];
|
|
368
|
+
}): Promise<{
|
|
369
|
+
status: string;
|
|
370
|
+
key: string;
|
|
371
|
+
}>;
|
|
372
|
+
/**
|
|
373
|
+
* Remove the custom thumbnail from an asset. Soft-deletes all custom
|
|
374
|
+
* thumb files; the asset falls back to the auto-generated thumbnail.
|
|
375
|
+
*/
|
|
376
|
+
removeCustomThumbnail(assetId: string): Promise<Asset>;
|
|
377
|
+
/**
|
|
378
|
+
* Promote a chat-message attachment into a project as a fresh,
|
|
379
|
+
* independent project asset. The source attachment is left untouched;
|
|
380
|
+
* the new project asset has its own lifecycle, post-processing
|
|
381
|
+
* pipeline, and storage footprint.
|
|
382
|
+
*
|
|
383
|
+
* Idempotent: a second promote of the same source into the same
|
|
384
|
+
* project returns the existing promoted asset with `deduped: true`.
|
|
385
|
+
*
|
|
386
|
+
* Requires `canCreateAsset` on the destination project — reviewers
|
|
387
|
+
* are blocked. The server additionally rejects when the source
|
|
388
|
+
* attachment's workspace doesn't match the destination project's.
|
|
389
|
+
*/
|
|
390
|
+
promoteAttachmentToProject(assetId: string, payload: {
|
|
391
|
+
projectId: string;
|
|
392
|
+
fileName?: string;
|
|
393
|
+
}): Promise<{
|
|
394
|
+
asset: Asset;
|
|
395
|
+
deduped: boolean;
|
|
396
|
+
}>;
|
|
397
|
+
/**
|
|
398
|
+
* Upload Session Management Methods
|
|
399
|
+
*/
|
|
400
|
+
/**
|
|
401
|
+
* Get all active upload sessions for a project
|
|
402
|
+
* @param {string} projectId - The project ID to get sessions for
|
|
403
|
+
* @returns {UploadSessionData[]} Array of upload session data
|
|
404
|
+
*/
|
|
405
|
+
getUploadSessions(projectId: string): import("../utils/uploadSessionManager.js").UploadSessionData[];
|
|
406
|
+
/**
|
|
407
|
+
* True when any upload is genuinely in flight anywhere in the app (across
|
|
408
|
+
* all projects and tabs). Intended for app-level guards — e.g. suppressing
|
|
409
|
+
* an automatic version-update page refresh while bytes are still uploading.
|
|
410
|
+
* Stale (crashed-tab) sessions are ignored via the freshness window.
|
|
411
|
+
* @param {number} [staleMs] - Max age of the last progress update that still
|
|
412
|
+
* counts as active (default: 2 minutes)
|
|
413
|
+
* @returns {boolean}
|
|
414
|
+
*/
|
|
415
|
+
hasActiveUploads(staleMs?: number): boolean;
|
|
416
|
+
/**
|
|
417
|
+
* Get a specific upload session
|
|
418
|
+
* @param {string} projectId - The project ID
|
|
419
|
+
* @param {string} sessionId - The session ID
|
|
420
|
+
* @returns {UploadSessionData | null} Upload session data or null if not found
|
|
421
|
+
*/
|
|
422
|
+
getUploadSession(projectId: string, sessionId: string): import("../utils/uploadSessionManager.js").UploadSessionData | null;
|
|
423
|
+
/**
|
|
424
|
+
* Remove an upload session
|
|
425
|
+
* @param {string} projectId - The project ID
|
|
426
|
+
* @param {string} sessionId - The session ID
|
|
427
|
+
*/
|
|
428
|
+
removeUploadSession(projectId: string, sessionId: string): void;
|
|
429
|
+
/**
|
|
430
|
+
* Clean up old upload sessions for a project
|
|
431
|
+
* @param {string} projectId - The project ID
|
|
432
|
+
* @param {number} [olderThanMs] - Remove sessions older than this (default: 24 hours)
|
|
433
|
+
*/
|
|
434
|
+
cleanupUploadSessions(projectId: string, olderThanMs?: number): void;
|
|
435
|
+
/**
|
|
436
|
+
* Register a listener for cross-tab upload session messages
|
|
437
|
+
* @param {string} listenerId - Unique listener ID
|
|
438
|
+
* @param {function} callback - Callback function to handle messages
|
|
439
|
+
*/
|
|
440
|
+
onUploadSessionMessage(listenerId: string, callback: (message: any) => void): void;
|
|
441
|
+
/**
|
|
442
|
+
* Unregister a cross-tab upload session message listener
|
|
443
|
+
* @param {string} listenerId - Unique listener ID
|
|
444
|
+
*/
|
|
445
|
+
offUploadSessionMessage(listenerId: string): void;
|
|
446
|
+
/**
|
|
447
|
+
* Mark an upload session as completed
|
|
448
|
+
* @param {string} projectId - The project ID
|
|
449
|
+
* @param {string} sessionId - The session ID
|
|
450
|
+
*/
|
|
451
|
+
completeUploadSession(projectId: string, sessionId: string): void;
|
|
452
|
+
/**
|
|
453
|
+
* Record an authenticated play event from the in-app player. Fire-and-forget;
|
|
454
|
+
* server returns 204. Throw-on-failure is fine because the caller already
|
|
455
|
+
* de-dupes per session.
|
|
456
|
+
*/
|
|
457
|
+
recordAccessActivity(assetId: string, body: {
|
|
458
|
+
eventType: "play_started" | "play_completed";
|
|
459
|
+
visibility: "creator" | "reviewer";
|
|
460
|
+
}): Promise<void>;
|
|
461
|
+
/**
|
|
462
|
+
* Get aggregated access-activity for a single asset. Returns totals per
|
|
463
|
+
* eventType, a breakdown for the requested dimension, and a zero-filled
|
|
464
|
+
* daily series.
|
|
465
|
+
*/
|
|
466
|
+
getAssetAccessActivity(assetId: string, params?: {
|
|
467
|
+
range?: "7d" | "30d" | "90d";
|
|
468
|
+
groupBy?: "visibility" | "referrerHost" | "country" | "userAgentClass" | "day";
|
|
469
|
+
eventType?: "play_started" | "play_completed" | "download" | "embed_resolved";
|
|
470
|
+
limit?: number;
|
|
471
|
+
}): Promise<{
|
|
472
|
+
range: string;
|
|
473
|
+
from: string;
|
|
474
|
+
to: string;
|
|
475
|
+
totals: Array<{
|
|
476
|
+
eventType: string;
|
|
477
|
+
count: number;
|
|
478
|
+
}>;
|
|
479
|
+
breakdown: Array<{
|
|
480
|
+
value: string;
|
|
481
|
+
label: string;
|
|
482
|
+
count: number;
|
|
483
|
+
}>;
|
|
484
|
+
series: Array<{
|
|
485
|
+
date: string;
|
|
486
|
+
eventType: string;
|
|
487
|
+
count: number;
|
|
488
|
+
}>;
|
|
489
|
+
groupBy: string;
|
|
490
|
+
eventType: string | null;
|
|
491
|
+
}>;
|
|
492
|
+
};
|
|
493
|
+
//# sourceMappingURL=asset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/routes/asset.ts"],"names":[],"mappings":"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"}
|