@studyfetch/sdk 1.42.0 → 1.43.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 (87) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/internal/to-file.d.mts +1 -1
  3. package/internal/to-file.d.ts +1 -1
  4. package/internal/to-file.js +1 -1
  5. package/internal/to-file.mjs +1 -1
  6. package/package.json +1 -1
  7. package/resources/v1/components.d.mts +28 -0
  8. package/resources/v1/components.d.mts.map +1 -1
  9. package/resources/v1/components.d.ts +28 -0
  10. package/resources/v1/components.d.ts.map +1 -1
  11. package/resources/v1/index.d.mts +2 -1
  12. package/resources/v1/index.d.mts.map +1 -1
  13. package/resources/v1/index.d.ts +2 -1
  14. package/resources/v1/index.d.ts.map +1 -1
  15. package/resources/v1/index.js +3 -1
  16. package/resources/v1/index.js.map +1 -1
  17. package/resources/v1/index.mjs +1 -0
  18. package/resources/v1/index.mjs.map +1 -1
  19. package/resources/v1/materials/index.d.mts +1 -1
  20. package/resources/v1/materials/index.d.mts.map +1 -1
  21. package/resources/v1/materials/index.d.ts +1 -1
  22. package/resources/v1/materials/index.d.ts.map +1 -1
  23. package/resources/v1/materials/index.js.map +1 -1
  24. package/resources/v1/materials/index.mjs.map +1 -1
  25. package/resources/v1/materials/materials.d.mts +92 -1
  26. package/resources/v1/materials/materials.d.mts.map +1 -1
  27. package/resources/v1/materials/materials.d.ts +92 -1
  28. package/resources/v1/materials/materials.d.ts.map +1 -1
  29. package/resources/v1/materials/materials.js +25 -0
  30. package/resources/v1/materials/materials.js.map +1 -1
  31. package/resources/v1/materials/materials.mjs +25 -0
  32. package/resources/v1/materials/materials.mjs.map +1 -1
  33. package/resources/v1/pdf-generator/get.d.mts +61 -0
  34. package/resources/v1/pdf-generator/get.d.mts.map +1 -0
  35. package/resources/v1/pdf-generator/get.d.ts +61 -0
  36. package/resources/v1/pdf-generator/get.d.ts.map +1 -0
  37. package/resources/v1/pdf-generator/get.js +9 -0
  38. package/resources/v1/pdf-generator/get.js.map +1 -0
  39. package/resources/v1/pdf-generator/get.mjs +5 -0
  40. package/resources/v1/pdf-generator/get.mjs.map +1 -0
  41. package/resources/v1/pdf-generator/index.d.mts +3 -0
  42. package/resources/v1/pdf-generator/index.d.mts.map +1 -0
  43. package/resources/v1/pdf-generator/index.d.ts +3 -0
  44. package/resources/v1/pdf-generator/index.d.ts.map +1 -0
  45. package/resources/v1/pdf-generator/index.js +9 -0
  46. package/resources/v1/pdf-generator/index.js.map +1 -0
  47. package/resources/v1/pdf-generator/index.mjs +4 -0
  48. package/resources/v1/pdf-generator/index.mjs.map +1 -0
  49. package/resources/v1/pdf-generator/pdf-generator.d.mts +80 -0
  50. package/resources/v1/pdf-generator/pdf-generator.d.mts.map +1 -0
  51. package/resources/v1/pdf-generator/pdf-generator.d.ts +80 -0
  52. package/resources/v1/pdf-generator/pdf-generator.d.ts.map +1 -0
  53. package/resources/v1/pdf-generator/pdf-generator.js +70 -0
  54. package/resources/v1/pdf-generator/pdf-generator.js.map +1 -0
  55. package/resources/v1/pdf-generator/pdf-generator.mjs +65 -0
  56. package/resources/v1/pdf-generator/pdf-generator.mjs.map +1 -0
  57. package/resources/v1/pdf-generator.d.mts +2 -0
  58. package/resources/v1/pdf-generator.d.mts.map +1 -0
  59. package/resources/v1/pdf-generator.d.ts +2 -0
  60. package/resources/v1/pdf-generator.d.ts.map +1 -0
  61. package/resources/v1/pdf-generator.js +6 -0
  62. package/resources/v1/pdf-generator.js.map +1 -0
  63. package/resources/v1/pdf-generator.mjs +3 -0
  64. package/resources/v1/pdf-generator.mjs.map +1 -0
  65. package/resources/v1/v1.d.mts +6 -2
  66. package/resources/v1/v1.d.mts.map +1 -1
  67. package/resources/v1/v1.d.ts +6 -2
  68. package/resources/v1/v1.d.ts.map +1 -1
  69. package/resources/v1/v1.js +4 -0
  70. package/resources/v1/v1.js.map +1 -1
  71. package/resources/v1/v1.mjs +4 -0
  72. package/resources/v1/v1.mjs.map +1 -1
  73. package/src/internal/to-file.ts +1 -1
  74. package/src/resources/v1/components.ts +35 -0
  75. package/src/resources/v1/index.ts +9 -0
  76. package/src/resources/v1/materials/index.ts +2 -0
  77. package/src/resources/v1/materials/materials.ts +117 -0
  78. package/src/resources/v1/pdf-generator/get.ts +75 -0
  79. package/src/resources/v1/pdf-generator/index.ts +10 -0
  80. package/src/resources/v1/pdf-generator/pdf-generator.ts +112 -0
  81. package/src/resources/v1/pdf-generator.ts +3 -0
  82. package/src/resources/v1/v1.ts +22 -0
  83. package/src/version.ts +1 -1
  84. package/version.d.mts +1 -1
  85. package/version.d.ts +1 -1
  86. package/version.js +1 -1
  87. package/version.mjs +1 -1
@@ -96,6 +96,18 @@ export class Materials extends APIResource {
96
96
  });
97
97
  }
98
98
 
99
+ /**
100
+ * Attempts to cancel a currently running PDF processing job
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * const response = await client.v1.materials.cancelJob('id');
105
+ * ```
106
+ */
107
+ cancelJob(id: string, options?: RequestOptions): APIPromise<MaterialCancelJobResponse> {
108
+ return this._client.post(path`/api/v1/materials/${id}/cancel-job`, options);
109
+ }
110
+
99
111
  /**
100
112
  * Creates a material and waits for processing to finish before returning. Useful
101
113
  * for synchronous API usage.
@@ -211,6 +223,21 @@ export class Materials extends APIResource {
211
223
  return this._client.get(path`/api/v1/materials/${id}/download-url`, { query, ...options });
212
224
  }
213
225
 
226
+ /**
227
+ * Returns the current status of a PDF processing job including progress
228
+ * information
229
+ *
230
+ * @example
231
+ * ```ts
232
+ * const response = await client.v1.materials.getJobStatus(
233
+ * 'id',
234
+ * );
235
+ * ```
236
+ */
237
+ getJobStatus(id: string, options?: RequestOptions): APIPromise<MaterialGetJobStatusResponse> {
238
+ return this._client.get(path`/api/v1/materials/${id}/job-status`, options);
239
+ }
240
+
214
241
  /**
215
242
  * Move material to a different folder
216
243
  *
@@ -484,6 +511,12 @@ export interface MaterialListResponse {
484
511
  totalPages?: number;
485
512
  }
486
513
 
514
+ export interface MaterialCancelJobResponse {
515
+ message?: string;
516
+
517
+ success?: boolean;
518
+ }
519
+
487
520
  export type MaterialCreateBatchUploadURLsResponse =
488
521
  Array<MaterialCreateBatchUploadURLsResponse.MaterialCreateBatchUploadURLsResponseItem>;
489
522
 
@@ -574,6 +607,88 @@ export interface MaterialGetDownloadURLResponse {
574
607
  downloadUrl: string;
575
608
  }
576
609
 
610
+ export interface MaterialGetJobStatusResponse {
611
+ /**
612
+ * Job completion time
613
+ */
614
+ completedAt?: string;
615
+
616
+ /**
617
+ * Error message if job failed
618
+ */
619
+ error?: string;
620
+
621
+ /**
622
+ * Unique job identifier
623
+ */
624
+ jobId?: string;
625
+
626
+ progress?: MaterialGetJobStatusResponse.Progress;
627
+
628
+ resultSummary?: MaterialGetJobStatusResponse.ResultSummary;
629
+
630
+ /**
631
+ * Job start time
632
+ */
633
+ startedAt?: string;
634
+
635
+ /**
636
+ * Current job status
637
+ */
638
+ status?: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
639
+ }
640
+
641
+ export namespace MaterialGetJobStatusResponse {
642
+ export interface Progress {
643
+ /**
644
+ * Current batch being processed
645
+ */
646
+ currentBatch?: number;
647
+
648
+ /**
649
+ * Completion percentage (0-100)
650
+ */
651
+ percentage?: number;
652
+
653
+ /**
654
+ * Images processed so far
655
+ */
656
+ processedImages?: number;
657
+
658
+ /**
659
+ * Total number of batches
660
+ */
661
+ totalBatches?: number;
662
+
663
+ /**
664
+ * Total images to process
665
+ */
666
+ totalImages?: number;
667
+ }
668
+
669
+ export interface ResultSummary {
670
+ /**
671
+ * Number of images processed
672
+ */
673
+ imagesProcessed?: number;
674
+
675
+ /**
676
+ * Total processing time in milliseconds
677
+ */
678
+ processingTimeMs?: number;
679
+
680
+ /**
681
+ * Whether text was extracted
682
+ */
683
+ textExtracted?: boolean;
684
+
685
+ /**
686
+ * Length of extracted text
687
+ */
688
+ textLength?: number;
689
+ }
690
+ }
691
+
577
692
  export interface MaterialSearchResponse {
578
693
  /**
579
694
  * Whether results were filtered by scope
@@ -922,9 +1037,11 @@ export declare namespace Materials {
922
1037
  type MaterialResponse as MaterialResponse,
923
1038
  type Reference as Reference,
924
1039
  type MaterialListResponse as MaterialListResponse,
1040
+ type MaterialCancelJobResponse as MaterialCancelJobResponse,
925
1041
  type MaterialCreateBatchUploadURLsResponse as MaterialCreateBatchUploadURLsResponse,
926
1042
  type MaterialGetDebugInfoResponse as MaterialGetDebugInfoResponse,
927
1043
  type MaterialGetDownloadURLResponse as MaterialGetDownloadURLResponse,
1044
+ type MaterialGetJobStatusResponse as MaterialGetJobStatusResponse,
928
1045
  type MaterialSearchResponse as MaterialSearchResponse,
929
1046
  type MaterialCreateParams as MaterialCreateParams,
930
1047
  type MaterialUpdateParams as MaterialUpdateParams,
@@ -0,0 +1,75 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+
5
+ export class Get extends APIResource {}
6
+
7
+ export interface PdfResponse {
8
+ /**
9
+ * PDF presentation ID
10
+ */
11
+ _id: string;
12
+
13
+ /**
14
+ * Creation timestamp
15
+ */
16
+ createdAt: string;
17
+
18
+ /**
19
+ * Locale of the presentation
20
+ */
21
+ locale: string;
22
+
23
+ /**
24
+ * Number of slides
25
+ */
26
+ numberOfSlides: number;
27
+
28
+ /**
29
+ * Organization ID
30
+ */
31
+ organizationId: string;
32
+
33
+ /**
34
+ * Topic of the presentation
35
+ */
36
+ topic: string;
37
+
38
+ /**
39
+ * Transcript of each slide
40
+ */
41
+ transcript: Array<PdfResponse.Transcript>;
42
+
43
+ /**
44
+ * Update timestamp
45
+ */
46
+ updatedAt: string;
47
+
48
+ /**
49
+ * URL to the generated PDF on S3
50
+ */
51
+ url: string;
52
+
53
+ /**
54
+ * User ID
55
+ */
56
+ userId?: string;
57
+ }
58
+
59
+ export namespace PdfResponse {
60
+ export interface Transcript {
61
+ /**
62
+ * Description of the slide content and OCR text
63
+ */
64
+ descriptionOfPage: string;
65
+
66
+ /**
67
+ * Page number of the slide
68
+ */
69
+ pageNum: number;
70
+ }
71
+ }
72
+
73
+ export declare namespace Get {
74
+ export { type PdfResponse as PdfResponse };
75
+ }
@@ -0,0 +1,10 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export { Get, type PdfResponse } from './get';
4
+ export {
5
+ PdfGenerator,
6
+ type PdfGeneratorCreateResponse,
7
+ type PdfGeneratorDeleteResponse,
8
+ type PdfGeneratorGetAllResponse,
9
+ type PdfGeneratorCreateParams,
10
+ } from './pdf-generator';
@@ -0,0 +1,112 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import * as GetAPI from './get';
5
+ import { Get, PdfResponse } from './get';
6
+ import { APIPromise } from '../../../core/api-promise';
7
+ import { RequestOptions } from '../../../internal/request-options';
8
+ import { path } from '../../../internal/utils/path';
9
+
10
+ export class PdfGenerator extends APIResource {
11
+ get: GetAPI.Get = new GetAPI.Get(this._client);
12
+
13
+ /**
14
+ * Generate a new PDF presentation
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const pdfGenerator = await client.v1.pdfGenerator.create({
19
+ * locale: 'locale',
20
+ * numberOfSlides: 1,
21
+ * topic: 'topic',
22
+ * });
23
+ * ```
24
+ */
25
+ create(body: PdfGeneratorCreateParams, options?: RequestOptions): APIPromise<PdfGeneratorCreateResponse> {
26
+ return this._client.post('/api/v1/pdf-generator/create', { body, ...options });
27
+ }
28
+
29
+ /**
30
+ * Delete a PDF presentation by ID
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const pdfGenerator = await client.v1.pdfGenerator.delete(
35
+ * 'id',
36
+ * );
37
+ * ```
38
+ */
39
+ delete(id: string, options?: RequestOptions): APIPromise<PdfGeneratorDeleteResponse> {
40
+ return this._client.delete(path`/api/v1/pdf-generator/delete/${id}`, options);
41
+ }
42
+
43
+ /**
44
+ * Get all PDF presentations
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const pdfResponses = await client.v1.pdfGenerator.getAll();
49
+ * ```
50
+ */
51
+ getAll(options?: RequestOptions): APIPromise<PdfGeneratorGetAllResponse> {
52
+ return this._client.get('/api/v1/pdf-generator/get', options);
53
+ }
54
+
55
+ /**
56
+ * Get a PDF presentation by ID
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * const pdfResponse = await client.v1.pdfGenerator.getByID(
61
+ * 'id',
62
+ * );
63
+ * ```
64
+ */
65
+ getByID(id: string, options?: RequestOptions): APIPromise<GetAPI.PdfResponse> {
66
+ return this._client.get(path`/api/v1/pdf-generator/get/${id}`, options);
67
+ }
68
+ }
69
+
70
+ export interface PdfGeneratorCreateResponse {
71
+ presentation?: GetAPI.PdfResponse;
72
+
73
+ success?: boolean;
74
+ }
75
+
76
+ export interface PdfGeneratorDeleteResponse {
77
+ message?: string;
78
+
79
+ success?: boolean;
80
+ }
81
+
82
+ export type PdfGeneratorGetAllResponse = Array<GetAPI.PdfResponse>;
83
+
84
+ export interface PdfGeneratorCreateParams {
85
+ /**
86
+ * Locale/language for the presentation (e.g., en-US, es-ES, fr-FR)
87
+ */
88
+ locale: string;
89
+
90
+ /**
91
+ * Number of slides to generate
92
+ */
93
+ numberOfSlides: number;
94
+
95
+ /**
96
+ * The topic for the PDF presentation
97
+ */
98
+ topic: string;
99
+ }
100
+
101
+ PdfGenerator.Get = Get;
102
+
103
+ export declare namespace PdfGenerator {
104
+ export {
105
+ type PdfGeneratorCreateResponse as PdfGeneratorCreateResponse,
106
+ type PdfGeneratorDeleteResponse as PdfGeneratorDeleteResponse,
107
+ type PdfGeneratorGetAllResponse as PdfGeneratorGetAllResponse,
108
+ type PdfGeneratorCreateParams as PdfGeneratorCreateParams,
109
+ };
110
+
111
+ export { Get as Get, type PdfResponse as PdfResponse };
112
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './pdf-generator/index';
@@ -66,6 +66,7 @@ import * as MaterialsAPI from './materials/materials';
66
66
  import {
67
67
  Content,
68
68
  GeneratedMaterialResponse,
69
+ MaterialCancelJobResponse,
69
70
  MaterialCreateAndProcessParams,
70
71
  MaterialCreateBatchUploadURLsParams,
71
72
  MaterialCreateBatchUploadURLsResponse,
@@ -75,6 +76,7 @@ import {
75
76
  MaterialGetDebugInfoResponse,
76
77
  MaterialGetDownloadURLParams,
77
78
  MaterialGetDownloadURLResponse,
79
+ MaterialGetJobStatusResponse,
78
80
  MaterialListParams,
79
81
  MaterialListResponse,
80
82
  MaterialMoveParams,
@@ -86,6 +88,14 @@ import {
86
88
  Materials,
87
89
  Reference,
88
90
  } from './materials/materials';
91
+ import * as PdfGeneratorAPI from './pdf-generator/pdf-generator';
92
+ import {
93
+ PdfGenerator,
94
+ PdfGeneratorCreateParams,
95
+ PdfGeneratorCreateResponse,
96
+ PdfGeneratorDeleteResponse,
97
+ PdfGeneratorGetAllResponse,
98
+ } from './pdf-generator/pdf-generator';
89
99
  import { APIPromise } from '../../core/api-promise';
90
100
  import { buildHeaders } from '../../internal/headers';
91
101
  import { RequestOptions } from '../../internal/request-options';
@@ -102,6 +112,7 @@ export class V1 extends APIResource {
102
112
  this._client,
103
113
  );
104
114
  materials: MaterialsAPI.Materials = new MaterialsAPI.Materials(this._client);
115
+ pdfGenerator: PdfGeneratorAPI.PdfGenerator = new PdfGeneratorAPI.PdfGenerator(this._client);
105
116
 
106
117
  /**
107
118
  * Test MongoDB connection and get outbound IP
@@ -128,6 +139,7 @@ V1.Chat = Chat;
128
139
  V1.ChatAnalytics = ChatAnalytics;
129
140
  V1.AssignmentGrader = AssignmentGrader;
130
141
  V1.Materials = Materials;
142
+ V1.PdfGenerator = PdfGenerator;
131
143
 
132
144
  export declare namespace V1 {
133
145
  export {
@@ -207,9 +219,11 @@ export declare namespace V1 {
207
219
  type MaterialResponse as MaterialResponse,
208
220
  type Reference as Reference,
209
221
  type MaterialListResponse as MaterialListResponse,
222
+ type MaterialCancelJobResponse as MaterialCancelJobResponse,
210
223
  type MaterialCreateBatchUploadURLsResponse as MaterialCreateBatchUploadURLsResponse,
211
224
  type MaterialGetDebugInfoResponse as MaterialGetDebugInfoResponse,
212
225
  type MaterialGetDownloadURLResponse as MaterialGetDownloadURLResponse,
226
+ type MaterialGetJobStatusResponse as MaterialGetJobStatusResponse,
213
227
  type MaterialSearchResponse as MaterialSearchResponse,
214
228
  type MaterialCreateParams as MaterialCreateParams,
215
229
  type MaterialUpdateParams as MaterialUpdateParams,
@@ -223,4 +237,12 @@ export declare namespace V1 {
223
237
  type MaterialRenameParams as MaterialRenameParams,
224
238
  type MaterialSearchParams as MaterialSearchParams,
225
239
  };
240
+
241
+ export {
242
+ PdfGenerator as PdfGenerator,
243
+ type PdfGeneratorCreateResponse as PdfGeneratorCreateResponse,
244
+ type PdfGeneratorDeleteResponse as PdfGeneratorDeleteResponse,
245
+ type PdfGeneratorGetAllResponse as PdfGeneratorGetAllResponse,
246
+ type PdfGeneratorCreateParams as PdfGeneratorCreateParams,
247
+ };
226
248
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '1.42.0'; // x-release-please-version
1
+ export const VERSION = '1.43.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.42.0";
1
+ export declare const VERSION = "1.43.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.42.0";
1
+ export declare const VERSION = "1.43.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '1.42.0'; // x-release-please-version
4
+ exports.VERSION = '1.43.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '1.42.0'; // x-release-please-version
1
+ export const VERSION = '1.43.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map