@studyfetch/sdk 1.34.0 → 1.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts.map +1 -1
  4. package/client.js.map +1 -1
  5. package/client.mjs.map +1 -1
  6. package/package.json +1 -1
  7. package/resources/v1/folders.d.mts +530 -21
  8. package/resources/v1/folders.d.mts.map +1 -1
  9. package/resources/v1/folders.d.ts +530 -21
  10. package/resources/v1/folders.d.ts.map +1 -1
  11. package/resources/v1/folders.js +26 -40
  12. package/resources/v1/folders.js.map +1 -1
  13. package/resources/v1/folders.mjs +26 -40
  14. package/resources/v1/folders.mjs.map +1 -1
  15. package/resources/v1/index.d.mts +1 -1
  16. package/resources/v1/index.d.mts.map +1 -1
  17. package/resources/v1/index.d.ts +1 -1
  18. package/resources/v1/index.d.ts.map +1 -1
  19. package/resources/v1/index.js.map +1 -1
  20. package/resources/v1/index.mjs +1 -1
  21. package/resources/v1/index.mjs.map +1 -1
  22. package/resources/v1/materials/materials.d.mts +29 -62
  23. package/resources/v1/materials/materials.d.mts.map +1 -1
  24. package/resources/v1/materials/materials.d.ts +29 -62
  25. package/resources/v1/materials/materials.d.ts.map +1 -1
  26. package/resources/v1/materials/materials.js.map +1 -1
  27. package/resources/v1/materials/materials.mjs.map +1 -1
  28. package/resources/v1/v1.d.mts +2 -2
  29. package/resources/v1/v1.d.mts.map +1 -1
  30. package/resources/v1/v1.d.ts +2 -2
  31. package/resources/v1/v1.d.ts.map +1 -1
  32. package/resources/v1/v1.js.map +1 -1
  33. package/resources/v1/v1.mjs +1 -1
  34. package/resources/v1/v1.mjs.map +1 -1
  35. package/src/client.ts +2 -0
  36. package/src/resources/v1/folders.ts +666 -51
  37. package/src/resources/v1/index.ts +15 -1
  38. package/src/resources/v1/materials/materials.ts +31 -76
  39. package/src/resources/v1/v1.ts +24 -1
  40. package/src/version.ts +1 -1
  41. package/version.d.mts +1 -1
  42. package/version.d.ts +1 -1
  43. package/version.js +1 -1
  44. package/version.mjs +1 -1
@@ -12,15 +12,13 @@ export class Folders extends APIResource {
12
12
  *
13
13
  * @example
14
14
  * ```ts
15
- * await client.v1.folders.create({ name: 'name' });
15
+ * const folder = await client.v1.folders.create({
16
+ * name: 'name',
17
+ * });
16
18
  * ```
17
19
  */
18
- create(body: FolderCreateParams, options?: RequestOptions): APIPromise<void> {
19
- return this._client.post('/api/v1/folders', {
20
- body,
21
- ...options,
22
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
23
- });
20
+ create(body: FolderCreateParams, options?: RequestOptions): APIPromise<FolderCreateResponse> {
21
+ return this._client.post('/api/v1/folders', { body, ...options });
24
22
  }
25
23
 
26
24
  /**
@@ -28,14 +26,11 @@ export class Folders extends APIResource {
28
26
  *
29
27
  * @example
30
28
  * ```ts
31
- * await client.v1.folders.retrieve('id');
29
+ * const folder = await client.v1.folders.retrieve('id');
32
30
  * ```
33
31
  */
34
- retrieve(id: string, options?: RequestOptions): APIPromise<void> {
35
- return this._client.get(path`/api/v1/folders/${id}`, {
36
- ...options,
37
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
38
- });
32
+ retrieve(id: string, options?: RequestOptions): APIPromise<FolderRetrieveResponse> {
33
+ return this._client.get(path`/api/v1/folders/${id}`, options);
39
34
  }
40
35
 
41
36
  /**
@@ -43,15 +38,11 @@ export class Folders extends APIResource {
43
38
  *
44
39
  * @example
45
40
  * ```ts
46
- * await client.v1.folders.update('id');
41
+ * const folder = await client.v1.folders.update('id');
47
42
  * ```
48
43
  */
49
- update(id: string, body: FolderUpdateParams, options?: RequestOptions): APIPromise<void> {
50
- return this._client.patch(path`/api/v1/folders/${id}`, {
51
- body,
52
- ...options,
53
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
54
- });
44
+ update(id: string, body: FolderUpdateParams, options?: RequestOptions): APIPromise<FolderUpdateResponse> {
45
+ return this._client.patch(path`/api/v1/folders/${id}`, { body, ...options });
55
46
  }
56
47
 
57
48
  /**
@@ -59,15 +50,14 @@ export class Folders extends APIResource {
59
50
  *
60
51
  * @example
61
52
  * ```ts
62
- * await client.v1.folders.list();
53
+ * const folders = await client.v1.folders.list();
63
54
  * ```
64
55
  */
65
- list(query: FolderListParams | null | undefined = {}, options?: RequestOptions): APIPromise<void> {
66
- return this._client.get('/api/v1/folders', {
67
- query,
68
- ...options,
69
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
70
- });
56
+ list(
57
+ query: FolderListParams | null | undefined = {},
58
+ options?: RequestOptions,
59
+ ): APIPromise<FolderListResponse> {
60
+ return this._client.get('/api/v1/folders', { query, ...options });
71
61
  }
72
62
 
73
63
  /**
@@ -90,40 +80,622 @@ export class Folders extends APIResource {
90
80
  *
91
81
  * @example
92
82
  * ```ts
93
- * await client.v1.folders.getTree();
83
+ * const response = await client.v1.folders.getTree();
94
84
  * ```
95
85
  */
96
- getTree(options?: RequestOptions): APIPromise<void> {
97
- return this._client.get('/api/v1/folders/tree', {
98
- ...options,
99
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
100
- });
86
+ getTree(options?: RequestOptions): APIPromise<FolderGetTreeResponse> {
87
+ return this._client.get('/api/v1/folders/tree', options);
101
88
  }
102
89
 
103
90
  /**
91
+ * Get all materials in folder
92
+ *
104
93
  * @example
105
94
  * ```ts
106
- * await client.v1.folders.listMaterials('id');
95
+ * const response = await client.v1.folders.listMaterials(
96
+ * 'id',
97
+ * );
107
98
  * ```
108
99
  */
109
- listMaterials(id: string, options?: RequestOptions): APIPromise<void> {
110
- return this._client.get(path`/api/v1/folders/${id}/materials`, {
111
- ...options,
112
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
113
- });
100
+ listMaterials(
101
+ id: string,
102
+ query: FolderListMaterialsParams | null | undefined = {},
103
+ options?: RequestOptions,
104
+ ): APIPromise<FolderListMaterialsResponse> {
105
+ return this._client.get(path`/api/v1/folders/${id}/materials`, { query, ...options });
114
106
  }
115
107
 
116
108
  /**
109
+ * Move folder to new parent
110
+ *
117
111
  * @example
118
112
  * ```ts
119
- * await client.v1.folders.move('id');
113
+ * const response = await client.v1.folders.move('id', {
114
+ * parentFolderId: 'parentFolderId',
115
+ * });
120
116
  * ```
121
117
  */
122
- move(id: string, options?: RequestOptions): APIPromise<void> {
123
- return this._client.patch(path`/api/v1/folders/${id}/move`, {
124
- ...options,
125
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
126
- });
118
+ move(id: string, body: FolderMoveParams, options?: RequestOptions): APIPromise<FolderMoveResponse> {
119
+ return this._client.patch(path`/api/v1/folders/${id}/move`, { body, ...options });
120
+ }
121
+ }
122
+
123
+ export interface FolderCreateResponse {
124
+ /**
125
+ * Folder ID
126
+ */
127
+ _id: string;
128
+
129
+ /**
130
+ * Creation date
131
+ */
132
+ createdAt: string;
133
+
134
+ /**
135
+ * Folder name
136
+ */
137
+ name: string;
138
+
139
+ /**
140
+ * Organization ID
141
+ */
142
+ organizationId: string;
143
+
144
+ /**
145
+ * Folder status
146
+ */
147
+ status: 'active' | 'deleted';
148
+
149
+ /**
150
+ * Last update date
151
+ */
152
+ updatedAt: string;
153
+
154
+ /**
155
+ * Folder description
156
+ */
157
+ description?: string;
158
+
159
+ /**
160
+ * Folder metadata
161
+ */
162
+ metadata?: FolderCreateResponse.Metadata;
163
+
164
+ /**
165
+ * Parent folder ID
166
+ */
167
+ parentFolderId?: string | null;
168
+ }
169
+
170
+ export namespace FolderCreateResponse {
171
+ /**
172
+ * Folder metadata
173
+ */
174
+ export interface Metadata {
175
+ /**
176
+ * Folder color
177
+ */
178
+ color?: string;
179
+
180
+ /**
181
+ * Folder icon
182
+ */
183
+ icon?: string;
184
+
185
+ /**
186
+ * Last activity date
187
+ */
188
+ lastActivity?: string;
189
+
190
+ /**
191
+ * Number of materials in folder
192
+ */
193
+ materialCount?: number;
194
+
195
+ /**
196
+ * Total size of materials in folder
197
+ */
198
+ totalSize?: number;
199
+ }
200
+ }
201
+
202
+ export interface FolderRetrieveResponse {
203
+ /**
204
+ * Folder ID
205
+ */
206
+ _id: unknown;
207
+
208
+ /**
209
+ * Total number of materials
210
+ */
211
+ materialCount: number;
212
+
213
+ /**
214
+ * Folder name
215
+ */
216
+ name: string;
217
+
218
+ /**
219
+ * Organization ID
220
+ */
221
+ organizationId: string;
222
+
223
+ /**
224
+ * Folder status
225
+ */
226
+ status: 'active' | 'deleted';
227
+
228
+ /**
229
+ * Subfolders
230
+ */
231
+ subfolders: Array<unknown>;
232
+
233
+ /**
234
+ * Creation date
235
+ */
236
+ createdAt?: unknown;
237
+
238
+ /**
239
+ * Folder description
240
+ */
241
+ description?: string;
242
+
243
+ /**
244
+ * Folder metadata
245
+ */
246
+ metadata?: FolderRetrieveResponse.Metadata;
247
+
248
+ /**
249
+ * Parent folder ID
250
+ */
251
+ parentFolderId?: string | null;
252
+
253
+ /**
254
+ * Last update date
255
+ */
256
+ updatedAt?: unknown;
257
+ }
258
+
259
+ export namespace FolderRetrieveResponse {
260
+ /**
261
+ * Folder metadata
262
+ */
263
+ export interface Metadata {
264
+ /**
265
+ * Folder color
266
+ */
267
+ color?: string;
268
+
269
+ /**
270
+ * Folder icon
271
+ */
272
+ icon?: string;
273
+
274
+ /**
275
+ * Last activity date
276
+ */
277
+ lastActivity?: string;
278
+
279
+ /**
280
+ * Number of materials in folder
281
+ */
282
+ materialCount?: number;
283
+
284
+ /**
285
+ * Total size of materials in folder
286
+ */
287
+ totalSize?: number;
288
+ }
289
+ }
290
+
291
+ export interface FolderUpdateResponse {
292
+ /**
293
+ * Folder ID
294
+ */
295
+ _id: string;
296
+
297
+ /**
298
+ * Creation date
299
+ */
300
+ createdAt: string;
301
+
302
+ /**
303
+ * Folder name
304
+ */
305
+ name: string;
306
+
307
+ /**
308
+ * Organization ID
309
+ */
310
+ organizationId: string;
311
+
312
+ /**
313
+ * Folder status
314
+ */
315
+ status: 'active' | 'deleted';
316
+
317
+ /**
318
+ * Last update date
319
+ */
320
+ updatedAt: string;
321
+
322
+ /**
323
+ * Folder description
324
+ */
325
+ description?: string;
326
+
327
+ /**
328
+ * Folder metadata
329
+ */
330
+ metadata?: FolderUpdateResponse.Metadata;
331
+
332
+ /**
333
+ * Parent folder ID
334
+ */
335
+ parentFolderId?: string | null;
336
+ }
337
+
338
+ export namespace FolderUpdateResponse {
339
+ /**
340
+ * Folder metadata
341
+ */
342
+ export interface Metadata {
343
+ /**
344
+ * Folder color
345
+ */
346
+ color?: string;
347
+
348
+ /**
349
+ * Folder icon
350
+ */
351
+ icon?: string;
352
+
353
+ /**
354
+ * Last activity date
355
+ */
356
+ lastActivity?: string;
357
+
358
+ /**
359
+ * Number of materials in folder
360
+ */
361
+ materialCount?: number;
362
+
363
+ /**
364
+ * Total size of materials in folder
365
+ */
366
+ totalSize?: number;
367
+ }
368
+ }
369
+
370
+ export type FolderListResponse = Array<FolderListResponse.FolderListResponseItem>;
371
+
372
+ export namespace FolderListResponse {
373
+ export interface FolderListResponseItem {
374
+ /**
375
+ * Folder ID
376
+ */
377
+ _id: string;
378
+
379
+ /**
380
+ * Creation date
381
+ */
382
+ createdAt: string;
383
+
384
+ /**
385
+ * Folder name
386
+ */
387
+ name: string;
388
+
389
+ /**
390
+ * Organization ID
391
+ */
392
+ organizationId: string;
393
+
394
+ /**
395
+ * Folder status
396
+ */
397
+ status: 'active' | 'deleted';
398
+
399
+ /**
400
+ * Last update date
401
+ */
402
+ updatedAt: string;
403
+
404
+ /**
405
+ * Folder description
406
+ */
407
+ description?: string;
408
+
409
+ /**
410
+ * Folder metadata
411
+ */
412
+ metadata?: FolderListResponseItem.Metadata;
413
+
414
+ /**
415
+ * Parent folder ID
416
+ */
417
+ parentFolderId?: string | null;
418
+ }
419
+
420
+ export namespace FolderListResponseItem {
421
+ /**
422
+ * Folder metadata
423
+ */
424
+ export interface Metadata {
425
+ /**
426
+ * Folder color
427
+ */
428
+ color?: string;
429
+
430
+ /**
431
+ * Folder icon
432
+ */
433
+ icon?: string;
434
+
435
+ /**
436
+ * Last activity date
437
+ */
438
+ lastActivity?: string;
439
+
440
+ /**
441
+ * Number of materials in folder
442
+ */
443
+ materialCount?: number;
444
+
445
+ /**
446
+ * Total size of materials in folder
447
+ */
448
+ totalSize?: number;
449
+ }
450
+ }
451
+ }
452
+
453
+ export type FolderGetTreeResponse = Array<FolderGetTreeResponse.FolderGetTreeResponseItem>;
454
+
455
+ export namespace FolderGetTreeResponse {
456
+ export interface FolderGetTreeResponseItem {
457
+ /**
458
+ * Folder ID
459
+ */
460
+ _id: unknown;
461
+
462
+ /**
463
+ * Folder name
464
+ */
465
+ name: string;
466
+
467
+ /**
468
+ * Organization ID
469
+ */
470
+ organizationId: string;
471
+
472
+ /**
473
+ * Folder status
474
+ */
475
+ status: 'active' | 'deleted';
476
+
477
+ /**
478
+ * Nested subfolders
479
+ */
480
+ subfolders: Array<unknown>;
481
+
482
+ /**
483
+ * Creation date
484
+ */
485
+ createdAt?: unknown;
486
+
487
+ /**
488
+ * Folder description
489
+ */
490
+ description?: string;
491
+
492
+ /**
493
+ * Folder metadata
494
+ */
495
+ metadata?: FolderGetTreeResponseItem.Metadata;
496
+
497
+ /**
498
+ * Parent folder ID
499
+ */
500
+ parentFolderId?: string | null;
501
+
502
+ /**
503
+ * Last update date
504
+ */
505
+ updatedAt?: unknown;
506
+ }
507
+
508
+ export namespace FolderGetTreeResponseItem {
509
+ /**
510
+ * Folder metadata
511
+ */
512
+ export interface Metadata {
513
+ /**
514
+ * Folder color
515
+ */
516
+ color?: string;
517
+
518
+ /**
519
+ * Folder icon
520
+ */
521
+ icon?: string;
522
+
523
+ /**
524
+ * Last activity date
525
+ */
526
+ lastActivity?: string;
527
+
528
+ /**
529
+ * Number of materials in folder
530
+ */
531
+ materialCount?: number;
532
+
533
+ /**
534
+ * Total size of materials in folder
535
+ */
536
+ totalSize?: number;
537
+ }
538
+ }
539
+ }
540
+
541
+ export type FolderListMaterialsResponse = Array<FolderListMaterialsResponse.FolderListMaterialsResponseItem>;
542
+
543
+ export namespace FolderListMaterialsResponse {
544
+ export interface FolderListMaterialsResponseItem {
545
+ /**
546
+ * Material ID
547
+ */
548
+ _id: string;
549
+
550
+ /**
551
+ * Material content
552
+ */
553
+ content: FolderListMaterialsResponseItem.Content;
554
+
555
+ /**
556
+ * Content type
557
+ */
558
+ contentType: 'text' | 'pdf' | 'video' | 'audio' | 'image' | 'epub';
559
+
560
+ /**
561
+ * Creation timestamp
562
+ */
563
+ createdAt: string;
564
+
565
+ /**
566
+ * Folder ID
567
+ */
568
+ folderId: string | null;
569
+
570
+ /**
571
+ * Material name
572
+ */
573
+ name: string;
574
+
575
+ /**
576
+ * Organization ID
577
+ */
578
+ organizationId: string;
579
+
580
+ /**
581
+ * Material status
582
+ */
583
+ status: 'active' | 'processing' | 'pending_upload' | 'error' | 'deleted';
584
+
585
+ /**
586
+ * Last update timestamp
587
+ */
588
+ updatedAt: string;
589
+
590
+ /**
591
+ * Material metadata
592
+ */
593
+ metadata?: unknown;
594
+
595
+ /**
596
+ * Usage information
597
+ */
598
+ usage?: unknown;
599
+ }
600
+
601
+ export namespace FolderListMaterialsResponseItem {
602
+ /**
603
+ * Material content
604
+ */
605
+ export interface Content {
606
+ filename?: string;
607
+
608
+ fileSize?: number;
609
+
610
+ mimeType?: string;
611
+
612
+ s3Key?: string;
613
+
614
+ s3Url?: string;
615
+
616
+ text?: string;
617
+
618
+ url?: string;
619
+ }
620
+ }
621
+ }
622
+
623
+ export interface FolderMoveResponse {
624
+ /**
625
+ * Folder ID
626
+ */
627
+ _id: string;
628
+
629
+ /**
630
+ * Creation date
631
+ */
632
+ createdAt: string;
633
+
634
+ /**
635
+ * Folder name
636
+ */
637
+ name: string;
638
+
639
+ /**
640
+ * Organization ID
641
+ */
642
+ organizationId: string;
643
+
644
+ /**
645
+ * Folder status
646
+ */
647
+ status: 'active' | 'deleted';
648
+
649
+ /**
650
+ * Last update date
651
+ */
652
+ updatedAt: string;
653
+
654
+ /**
655
+ * Folder description
656
+ */
657
+ description?: string;
658
+
659
+ /**
660
+ * Folder metadata
661
+ */
662
+ metadata?: FolderMoveResponse.Metadata;
663
+
664
+ /**
665
+ * Parent folder ID
666
+ */
667
+ parentFolderId?: string | null;
668
+ }
669
+
670
+ export namespace FolderMoveResponse {
671
+ /**
672
+ * Folder metadata
673
+ */
674
+ export interface Metadata {
675
+ /**
676
+ * Folder color
677
+ */
678
+ color?: string;
679
+
680
+ /**
681
+ * Folder icon
682
+ */
683
+ icon?: string;
684
+
685
+ /**
686
+ * Last activity date
687
+ */
688
+ lastActivity?: string;
689
+
690
+ /**
691
+ * Number of materials in folder
692
+ */
693
+ materialCount?: number;
694
+
695
+ /**
696
+ * Total size of materials in folder
697
+ */
698
+ totalSize?: number;
127
699
  }
128
700
  }
129
701
 
@@ -134,21 +706,36 @@ export interface FolderCreateParams {
134
706
  name: string;
135
707
 
136
708
  /**
137
- * Parent folder ID (optional)
709
+ * Folder description
138
710
  */
139
- parentId?: string;
711
+ description?: string;
712
+
713
+ /**
714
+ * Additional metadata
715
+ */
716
+ metadata?: unknown;
717
+
718
+ /**
719
+ * Parent folder ID
720
+ */
721
+ parentFolderId?: string;
140
722
  }
141
723
 
142
724
  export interface FolderUpdateParams {
143
725
  /**
144
- * New folder name
726
+ * New folder description
145
727
  */
146
- name?: string;
728
+ description?: string;
147
729
 
148
730
  /**
149
- * New parent folder ID
731
+ * Updated metadata
150
732
  */
151
- parentId?: string;
733
+ metadata?: unknown;
734
+
735
+ /**
736
+ * New folder name
737
+ */
738
+ name?: string;
152
739
  }
153
740
 
154
741
  export interface FolderListParams {
@@ -158,10 +745,38 @@ export interface FolderListParams {
158
745
  parentId?: unknown;
159
746
  }
160
747
 
748
+ export interface FolderListMaterialsParams {
749
+ /**
750
+ * Number of items per page (default: 20, max: 200)
751
+ */
752
+ limit?: string;
753
+
754
+ /**
755
+ * Page number (default: 1)
756
+ */
757
+ page?: string;
758
+ }
759
+
760
+ export interface FolderMoveParams {
761
+ /**
762
+ * New parent folder ID or null for root level
763
+ */
764
+ parentFolderId: string | null;
765
+ }
766
+
161
767
  export declare namespace Folders {
162
768
  export {
769
+ type FolderCreateResponse as FolderCreateResponse,
770
+ type FolderRetrieveResponse as FolderRetrieveResponse,
771
+ type FolderUpdateResponse as FolderUpdateResponse,
772
+ type FolderListResponse as FolderListResponse,
773
+ type FolderGetTreeResponse as FolderGetTreeResponse,
774
+ type FolderListMaterialsResponse as FolderListMaterialsResponse,
775
+ type FolderMoveResponse as FolderMoveResponse,
163
776
  type FolderCreateParams as FolderCreateParams,
164
777
  type FolderUpdateParams as FolderUpdateParams,
165
778
  type FolderListParams as FolderListParams,
779
+ type FolderListMaterialsParams as FolderListMaterialsParams,
780
+ type FolderMoveParams as FolderMoveParams,
166
781
  };
167
782
  }