@turinhub/tale-js-sdk 1.3.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/LICENSE +21 -0
- package/README.md +56 -0
- package/dist/acl/index.d.ts +295 -0
- package/dist/acl/index.js +653 -0
- package/dist/acl/types.d.ts +142 -0
- package/dist/acl/types.js +1 -0
- package/dist/auth/index.d.ts +166 -0
- package/dist/auth/index.js +522 -0
- package/dist/auth/types.d.ts +127 -0
- package/dist/auth/types.js +1 -0
- package/dist/cms/file.d.ts +398 -0
- package/dist/cms/file.js +800 -0
- package/dist/cms/folder.d.ts +128 -0
- package/dist/cms/folder.js +294 -0
- package/dist/cms/index.d.ts +3 -0
- package/dist/cms/index.js +6 -0
- package/dist/cms/types.d.ts +157 -0
- package/dist/cms/types.js +1 -0
- package/dist/common/types.d.ts +91 -0
- package/dist/common/types.js +2 -0
- package/dist/errors.d.ts +52 -0
- package/dist/errors.js +109 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +12 -0
- package/dist/rbac/acl.d.ts +152 -0
- package/dist/rbac/acl.js +723 -0
- package/dist/rbac/index.d.ts +464 -0
- package/dist/rbac/index.js +1121 -0
- package/dist/rbac/rbac.d.ts +198 -0
- package/dist/rbac/rbac.js +984 -0
- package/dist/rbac/types.d.ts +125 -0
- package/dist/rbac/types.js +1 -0
- package/dist/rbac/user-group.d.ts +122 -0
- package/dist/rbac/user-group.js +570 -0
- package/dist/status.d.ts +40 -0
- package/dist/status.js +56 -0
- package/dist/task/index.d.ts +163 -0
- package/dist/task/index.js +495 -0
- package/dist/task/types.d.ts +116 -0
- package/dist/task/types.js +1 -0
- package/dist/task-type/index.d.ts +92 -0
- package/dist/task-type/index.js +256 -0
- package/dist/task-type/types.d.ts +54 -0
- package/dist/task-type/types.js +1 -0
- package/dist/token.d.ts +21 -0
- package/dist/token.js +114 -0
- package/dist/user/index.d.ts +267 -0
- package/dist/user/index.js +786 -0
- package/dist/user/types.d.ts +145 -0
- package/dist/user/types.js +1 -0
- package/dist/user-attribute/index.d.ts +186 -0
- package/dist/user-attribute/index.js +615 -0
- package/dist/user-attribute/types.d.ts +109 -0
- package/dist/user-attribute/types.js +1 -0
- package/dist/user-group/index.d.ts +231 -0
- package/dist/user-group/index.js +566 -0
- package/dist/user-group/types.d.ts +50 -0
- package/dist/user-group/types.js +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
import type { PageResponse } from "../common/types.js";
|
|
2
|
+
import type { File, CreateFileRequest, UpdateFileRequest, ListFilesRequest, FileOptions } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Gets a file by ID.
|
|
5
|
+
*
|
|
6
|
+
* @param fileId - File ID (UUID)
|
|
7
|
+
* @param options - Optional configuration
|
|
8
|
+
* @returns Promise resolving to file information
|
|
9
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
10
|
+
* @throws {ApiError} When API request fails
|
|
11
|
+
* @throws {NetworkError} When network request fails
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { getFile } from '@tale/client';
|
|
16
|
+
*
|
|
17
|
+
* try {
|
|
18
|
+
* const file = await getFile('file_id_here');
|
|
19
|
+
* console.log('File name:', file.file_name);
|
|
20
|
+
* console.log('File type:', file.file_type);
|
|
21
|
+
* } catch (error) {
|
|
22
|
+
* console.error('Failed to get file:', error.message);
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function getFile(fileId: string, options?: FileOptions): Promise<File>;
|
|
27
|
+
/**
|
|
28
|
+
* Lists files with pagination.
|
|
29
|
+
*
|
|
30
|
+
* @param options - Optional parameters for pagination and filtering
|
|
31
|
+
* @returns Promise resolving to paginated file list
|
|
32
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
33
|
+
* @throws {ApiError} When API request fails
|
|
34
|
+
* @throws {NetworkError} When network request fails
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* import { listFiles } from '@tale/client';
|
|
39
|
+
*
|
|
40
|
+
* try {
|
|
41
|
+
* const result = await listFiles({
|
|
42
|
+
* folder_id: 'folder_id_here',
|
|
43
|
+
* page: 0,
|
|
44
|
+
* size: 20,
|
|
45
|
+
* sort_by: 'createdAt'
|
|
46
|
+
* });
|
|
47
|
+
* console.log(`Found ${result.total} files`);
|
|
48
|
+
* } catch (error) {
|
|
49
|
+
* console.error('Failed to list files:', error.message);
|
|
50
|
+
* }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function listFiles(options?: ListFilesRequest & FileOptions): Promise<PageResponse<File>>;
|
|
54
|
+
/**
|
|
55
|
+
* Creates a new file.
|
|
56
|
+
*
|
|
57
|
+
* @param request - File creation request
|
|
58
|
+
* @param options - Optional configuration
|
|
59
|
+
* @returns Promise resolving to created file
|
|
60
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
61
|
+
* @throws {ApiError} When API request fails
|
|
62
|
+
* @throws {NetworkError} When network request fails
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* import { createFile } from '@tale/client';
|
|
67
|
+
*
|
|
68
|
+
* try {
|
|
69
|
+
* const file = await createFile({
|
|
70
|
+
* folder_id: 'folder_id_here',
|
|
71
|
+
* file_name: 'My Document',
|
|
72
|
+
* file_type: 'markdown',
|
|
73
|
+
* content: '# Hello World'
|
|
74
|
+
* });
|
|
75
|
+
* console.log('File created:', file.id);
|
|
76
|
+
* } catch (error) {
|
|
77
|
+
* console.error('Failed to create file:', error.message);
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function createFile(request: CreateFileRequest, options?: FileOptions): Promise<File>;
|
|
82
|
+
/**
|
|
83
|
+
* Updates an existing file.
|
|
84
|
+
*
|
|
85
|
+
* @param fileId - File ID to update
|
|
86
|
+
* @param request - Update request with fields to modify
|
|
87
|
+
* @param options - Optional configuration
|
|
88
|
+
* @returns Promise resolving to updated file
|
|
89
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
90
|
+
* @throws {ApiError} When API request fails
|
|
91
|
+
* @throws {NetworkError} When network request fails
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* import { updateFile } from '@tale/client';
|
|
96
|
+
*
|
|
97
|
+
* try {
|
|
98
|
+
* const file = await updateFile('file_id_here', {
|
|
99
|
+
* file_name: 'Updated Name',
|
|
100
|
+
* remark: 'Updated remark'
|
|
101
|
+
* });
|
|
102
|
+
* console.log('File updated:', file.file_name);
|
|
103
|
+
* } catch (error) {
|
|
104
|
+
* console.error('Failed to update file:', error.message);
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export declare function updateFile(fileId: string, request: UpdateFileRequest, options?: FileOptions): Promise<File>;
|
|
109
|
+
/**
|
|
110
|
+
* Updates the Markdown content of a file.
|
|
111
|
+
*
|
|
112
|
+
* @param fileId - File ID to update
|
|
113
|
+
* @param content - New Markdown content
|
|
114
|
+
* @param options - Optional configuration
|
|
115
|
+
* @returns Promise resolving to updated file
|
|
116
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
117
|
+
* @throws {ApiError} When API request fails
|
|
118
|
+
* @throws {NetworkError} When network request fails
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* import { updateFileContent } from '@tale/client';
|
|
123
|
+
*
|
|
124
|
+
* try {
|
|
125
|
+
* const file = await updateFileContent('file_id_here', '# New Content');
|
|
126
|
+
* console.log('Content updated:', file.content);
|
|
127
|
+
* } catch (error) {
|
|
128
|
+
* console.error('Failed to update content:', error.message);
|
|
129
|
+
* }
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
export declare function updateFileContent(fileId: string, content: string, options?: FileOptions): Promise<File>;
|
|
133
|
+
/**
|
|
134
|
+
* Deletes a file.
|
|
135
|
+
*
|
|
136
|
+
* @param fileId - File ID to delete
|
|
137
|
+
* @param options - Optional configuration
|
|
138
|
+
* @returns Promise that resolves when deletion is successful
|
|
139
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
140
|
+
* @throws {ApiError} When API request fails
|
|
141
|
+
* @throws {NetworkError} When network request fails
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* import { deleteFile } from '@tale/client';
|
|
146
|
+
*
|
|
147
|
+
* try {
|
|
148
|
+
* await deleteFile('file_id_here');
|
|
149
|
+
* console.log('File deleted successfully');
|
|
150
|
+
* } catch (error) {
|
|
151
|
+
* console.error('Failed to delete file:', error.message);
|
|
152
|
+
* }
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export declare function deleteFile(fileId: string, options?: FileOptions): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Gets a presigned URL for file download.
|
|
158
|
+
*
|
|
159
|
+
* @param fileId - File ID
|
|
160
|
+
* @param expireTimeInSeconds - Expiration time in seconds (default: 3600)
|
|
161
|
+
* @param options - Optional configuration
|
|
162
|
+
* @returns Promise resolving to presigned URL information
|
|
163
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
164
|
+
* @throws {ApiError} When API request fails
|
|
165
|
+
* @throws {NetworkError} When network request fails
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* import { getFilePresignedUrl } from '@tale/client';
|
|
170
|
+
*
|
|
171
|
+
* try {
|
|
172
|
+
* const result = await getFilePresignedUrl('file_id_here', 3600);
|
|
173
|
+
* console.log('Presigned URL:', result.presigned_url);
|
|
174
|
+
* // Now you can download the file directly
|
|
175
|
+
* } catch (error) {
|
|
176
|
+
* console.error('Failed to get presigned URL:', error.message);
|
|
177
|
+
* }
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
export declare function getFilePresignedUrl(fileId: string, expireTimeInSeconds?: number, options?: FileOptions): Promise<{
|
|
181
|
+
file_id: string;
|
|
182
|
+
file_name: string;
|
|
183
|
+
oss_key: string;
|
|
184
|
+
presigned_url: string;
|
|
185
|
+
expire_time_in_seconds: number;
|
|
186
|
+
}>;
|
|
187
|
+
/**
|
|
188
|
+
* Batch gets presigned URLs for multiple files.
|
|
189
|
+
*
|
|
190
|
+
* @param fileIds - Array of file IDs (max 10)
|
|
191
|
+
* @param expireTimeInSeconds - Expiration time in seconds (default: 3600)
|
|
192
|
+
* @param options - Optional configuration
|
|
193
|
+
* @returns Promise resolving to array of presigned URL information or errors
|
|
194
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
195
|
+
* @throws {ApiError} When API request fails
|
|
196
|
+
* @throws {NetworkError} When network request fails
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* import { batchGetFilePresignedUrl } from '@tale/client';
|
|
201
|
+
*
|
|
202
|
+
* try {
|
|
203
|
+
* const results = await batchGetFilePresignedUrl(
|
|
204
|
+
* ['file_id_1', 'file_id_2'],
|
|
205
|
+
* 3600
|
|
206
|
+
* );
|
|
207
|
+
* results.forEach(result => {
|
|
208
|
+
* if (result.error) {
|
|
209
|
+
* console.error('Error for file:', result.file_id, result.error);
|
|
210
|
+
* } else {
|
|
211
|
+
* console.log('URL:', result.presigned_url);
|
|
212
|
+
* }
|
|
213
|
+
* });
|
|
214
|
+
* } catch (error) {
|
|
215
|
+
* console.error('Failed to batch get presigned URLs:', error.message);
|
|
216
|
+
* }
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
export declare function batchGetFilePresignedUrl(fileIds: string[], expireTimeInSeconds?: number, options?: FileOptions): Promise<Array<{
|
|
220
|
+
file_id: string;
|
|
221
|
+
file_name?: string;
|
|
222
|
+
oss_key?: string;
|
|
223
|
+
presigned_url?: string;
|
|
224
|
+
expire_time_in_seconds?: number;
|
|
225
|
+
error?: string;
|
|
226
|
+
}>>;
|
|
227
|
+
/**
|
|
228
|
+
* Gets OSS object metadata.
|
|
229
|
+
*
|
|
230
|
+
* @param ossKey - OSS key
|
|
231
|
+
* @param options - Optional configuration
|
|
232
|
+
* @returns Promise resolving to OSS metadata
|
|
233
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
234
|
+
* @throws {ApiError} When API request fails
|
|
235
|
+
* @throws {NetworkError} When network request fails
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* import { getOssMetadata } from '@tale/client';
|
|
240
|
+
*
|
|
241
|
+
* try {
|
|
242
|
+
* const metadata = await getOssMetadata('cms/appkey/folder/fileid.pdf');
|
|
243
|
+
* console.log('File size:', metadata.content_length);
|
|
244
|
+
* console.log('Content type:', metadata.content_type);
|
|
245
|
+
* } catch (error) {
|
|
246
|
+
* console.error('Failed to get OSS metadata:', error.message);
|
|
247
|
+
* }
|
|
248
|
+
* ```
|
|
249
|
+
*/
|
|
250
|
+
export declare function getOssMetadata(ossKey: string, options?: FileOptions): Promise<{
|
|
251
|
+
oss_key: string;
|
|
252
|
+
content_type?: string;
|
|
253
|
+
content_length?: number;
|
|
254
|
+
last_modified?: string;
|
|
255
|
+
etag?: string;
|
|
256
|
+
metadata?: Record<string, string>;
|
|
257
|
+
}>;
|
|
258
|
+
/**
|
|
259
|
+
* Gets upload authorization for a new file (presets OSS key + presigned upload URL).
|
|
260
|
+
*
|
|
261
|
+
* @param request - Upload authorization request
|
|
262
|
+
* @param options - Optional configuration
|
|
263
|
+
* @returns Promise resolving to upload authorization response
|
|
264
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
265
|
+
* @throws {ApiError} When API request fails
|
|
266
|
+
* @throws {NetworkError} When network request fails
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* ```typescript
|
|
270
|
+
* import { getUploadAuthorization } from '@tale/client';
|
|
271
|
+
*
|
|
272
|
+
* try {
|
|
273
|
+
* const auth = await getUploadAuthorization({
|
|
274
|
+
* folder_id: 'folder_id_here',
|
|
275
|
+
* file_name: 'document.pdf',
|
|
276
|
+
* file_type: 'pdf'
|
|
277
|
+
* });
|
|
278
|
+
* console.log('OSS Key:', auth.oss_key);
|
|
279
|
+
* console.log('Upload URL:', auth.presigned_url);
|
|
280
|
+
* console.log('File ID:', auth.file_id);
|
|
281
|
+
* // Use presigned_url to upload the file directly to OSS
|
|
282
|
+
* } catch (error) {
|
|
283
|
+
* console.error('Failed to get upload authorization:', error.message);
|
|
284
|
+
* }
|
|
285
|
+
* ```
|
|
286
|
+
*/
|
|
287
|
+
export declare function getUploadAuthorization(request: {
|
|
288
|
+
folder_id: string;
|
|
289
|
+
file_name: string;
|
|
290
|
+
file_type: string;
|
|
291
|
+
expire_time_in_seconds?: number;
|
|
292
|
+
}, options?: FileOptions): Promise<{
|
|
293
|
+
oss_key: string;
|
|
294
|
+
presigned_url: string;
|
|
295
|
+
file_name: string;
|
|
296
|
+
file_type: string;
|
|
297
|
+
expire_time_in_seconds: number;
|
|
298
|
+
file_id: string;
|
|
299
|
+
}>;
|
|
300
|
+
/**
|
|
301
|
+
* Gets STS credentials for uploading to an existing file.
|
|
302
|
+
*
|
|
303
|
+
* @param fileId - File ID
|
|
304
|
+
* @param fileExtension - File extension (e.g., ".pdf")
|
|
305
|
+
* @param durationSeconds - Credential duration in seconds (default: 1800)
|
|
306
|
+
* @param options - Optional configuration
|
|
307
|
+
* @returns Promise resolving to STS credentials
|
|
308
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
309
|
+
* @throws {ApiError} When API request fails
|
|
310
|
+
* @throws {NetworkError} When network request fails
|
|
311
|
+
*
|
|
312
|
+
* @example
|
|
313
|
+
* ```typescript
|
|
314
|
+
* import { getFileStsCredentials } from '@tale/client';
|
|
315
|
+
*
|
|
316
|
+
* try {
|
|
317
|
+
* const credentials = await getFileStsCredentials('file_id_here', '.pdf', 1800);
|
|
318
|
+
* console.log('Access Key ID:', credentials.access_key_id);
|
|
319
|
+
* console.log('Secret Access Key:', credentials.secret_access_key);
|
|
320
|
+
* console.log('Session Token:', credentials.session_token);
|
|
321
|
+
* console.log('Upload Path:', credentials.upload_path);
|
|
322
|
+
* // Use these credentials to upload with OSS SDK
|
|
323
|
+
* } catch (error) {
|
|
324
|
+
* console.error('Failed to get STS credentials:', error.message);
|
|
325
|
+
* }
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
328
|
+
export declare function getFileStsCredentials(fileId: string, fileExtension: string, durationSeconds?: number, options?: FileOptions): Promise<{
|
|
329
|
+
access_key_id: string;
|
|
330
|
+
secret_access_key: string;
|
|
331
|
+
session_token: string;
|
|
332
|
+
expiration: string;
|
|
333
|
+
upload_path: string;
|
|
334
|
+
region: string;
|
|
335
|
+
}>;
|
|
336
|
+
/**
|
|
337
|
+
* Marks file upload as complete and updates OSS information.
|
|
338
|
+
*
|
|
339
|
+
* @param fileId - File ID
|
|
340
|
+
* @param request - Upload completion information
|
|
341
|
+
* @param options - Optional configuration
|
|
342
|
+
* @returns Promise resolving to success message
|
|
343
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
344
|
+
* @throws {ApiError} When API request fails
|
|
345
|
+
* @throws {NetworkError} When network request fails
|
|
346
|
+
*
|
|
347
|
+
* @example
|
|
348
|
+
* ```typescript
|
|
349
|
+
* import { fileUploadComplete } from '@tale/client';
|
|
350
|
+
*
|
|
351
|
+
* try {
|
|
352
|
+
* const result = await fileUploadComplete('file_id_here', {
|
|
353
|
+
* oss_key: 'cms/appkey/folder/fileid.pdf',
|
|
354
|
+
* file_size: 12345,
|
|
355
|
+
* etag: 'abc123'
|
|
356
|
+
* });
|
|
357
|
+
* console.log('Upload complete:', result.message);
|
|
358
|
+
* } catch (error) {
|
|
359
|
+
* console.error('Failed to mark upload complete:', error.message);
|
|
360
|
+
* }
|
|
361
|
+
* ```
|
|
362
|
+
*/
|
|
363
|
+
export declare function fileUploadComplete(fileId: string, request: {
|
|
364
|
+
oss_key: string;
|
|
365
|
+
file_size: number;
|
|
366
|
+
etag: string;
|
|
367
|
+
}, options?: FileOptions): Promise<{
|
|
368
|
+
message: string;
|
|
369
|
+
file_id: string;
|
|
370
|
+
}>;
|
|
371
|
+
/**
|
|
372
|
+
* Sets a preview image for a file.
|
|
373
|
+
*
|
|
374
|
+
* @param fileId - File ID
|
|
375
|
+
* @param imageFile - Image file to upload (File or Blob)
|
|
376
|
+
* @param options - Optional configuration
|
|
377
|
+
* @returns Promise resolving to updated file
|
|
378
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
379
|
+
* @throws {ApiError} When API request fails
|
|
380
|
+
* @throws {NetworkError} When network request fails
|
|
381
|
+
*
|
|
382
|
+
* @example
|
|
383
|
+
* ```typescript
|
|
384
|
+
* import { setFilePreviewImage } from '@tale/client';
|
|
385
|
+
*
|
|
386
|
+
* try {
|
|
387
|
+
* // Get file from input element
|
|
388
|
+
* const input = document.getElementById('previewInput');
|
|
389
|
+
* const file = input.files[0];
|
|
390
|
+
*
|
|
391
|
+
* const updatedFile = await setFilePreviewImage('file_id_here', file);
|
|
392
|
+
* console.log('Preview image set:', updatedFile.preview_image_url);
|
|
393
|
+
* } catch (error) {
|
|
394
|
+
* console.error('Failed to set preview image:', error.message);
|
|
395
|
+
* }
|
|
396
|
+
* ```
|
|
397
|
+
*/
|
|
398
|
+
export declare function setFilePreviewImage(fileId: string, imageFile: File | Blob, options?: FileOptions): Promise<File>;
|