studyfetch-sdk 0.1.0a4__py3-none-any.whl → 0.1.0a6__py3-none-any.whl
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.
- studyfetch_sdk/_version.py +1 -1
- studyfetch_sdk/resources/v1/__init__.py +12 -12
- studyfetch_sdk/resources/v1/chat/chat.py +13 -15
- studyfetch_sdk/resources/v1/components.py +40 -37
- studyfetch_sdk/resources/v1/explainers.py +234 -9
- studyfetch_sdk/resources/v1/flashcards.py +15 -15
- studyfetch_sdk/resources/v1/materials/materials.py +19 -20
- studyfetch_sdk/resources/v1/materials/upload.py +19 -20
- studyfetch_sdk/resources/v1/scenarios/component.py +116 -12
- studyfetch_sdk/resources/v1/scenarios/scenarios.py +255 -19
- studyfetch_sdk/resources/v1/scenarios/submissions/user.py +50 -50
- studyfetch_sdk/resources/v1/v1.py +48 -48
- studyfetch_sdk/types/v1/__init__.py +8 -11
- studyfetch_sdk/types/v1/{chat_retrieve_session_params.py → chat_get_session_params.py} +2 -2
- studyfetch_sdk/types/v1/{component_create_response.py → component.py} +2 -2
- studyfetch_sdk/types/v1/component_create_params.py +60 -6
- studyfetch_sdk/types/v1/{component_embed_params.py → component_generate_embed_params.py} +2 -2
- studyfetch_sdk/types/v1/{component_embed_response.py → component_generate_embed_response.py} +2 -2
- studyfetch_sdk/types/v1/component_list_response.py +5 -46
- studyfetch_sdk/types/v1/explainer_create_params.py +45 -0
- studyfetch_sdk/types/v1/explainer_handle_webhook_params.py +45 -3
- studyfetch_sdk/types/v1/{flashcard_get_algorithm_info_response.py → flashcard_get_algorithm_response.py} +2 -2
- studyfetch_sdk/types/v1/{material_create_response.py → material.py} +2 -2
- studyfetch_sdk/types/v1/material_list_response.py +5 -60
- studyfetch_sdk/types/v1/materials/__init__.py +0 -2
- studyfetch_sdk/types/v1/scenario_create_params.py +39 -2
- studyfetch_sdk/types/v1/scenario_submit_answer_params.py +18 -0
- studyfetch_sdk/types/v1/scenario_update_params.py +39 -2
- studyfetch_sdk/types/v1/scenarios/component_update_params.py +39 -2
- {studyfetch_sdk-0.1.0a4.dist-info → studyfetch_sdk-0.1.0a6.dist-info}/METADATA +28 -12
- {studyfetch_sdk-0.1.0a4.dist-info → studyfetch_sdk-0.1.0a6.dist-info}/RECORD +33 -43
- studyfetch_sdk/types/v1/admin/__init__.py +0 -3
- studyfetch_sdk/types/v1/admin/organizations/__init__.py +0 -3
- studyfetch_sdk/types/v1/admin/organizations/models/__init__.py +0 -3
- studyfetch_sdk/types/v1/component_retrieve_response.py +0 -48
- studyfetch_sdk/types/v1/component_update_response.py +0 -48
- studyfetch_sdk/types/v1/material_retrieve_response.py +0 -62
- studyfetch_sdk/types/v1/materials/upload_upload_file_response.py +0 -62
- studyfetch_sdk/types/v1/materials/upload_upload_from_url_response.py +0 -62
- studyfetch_sdk/types/v1/organizations/__init__.py +0 -3
- studyfetch_sdk/types/v1/organizations/logo/__init__.py +0 -3
- studyfetch_sdk/types/v1/organizations/profile/__init__.py +0 -3
- studyfetch_sdk/types/v1/organizations/team/__init__.py +0 -3
- {studyfetch_sdk-0.1.0a4.dist-info → studyfetch_sdk-0.1.0a6.dist-info}/WHEEL +0 -0
- {studyfetch_sdk-0.1.0a4.dist-info → studyfetch_sdk-0.1.0a6.dist-info}/licenses/LICENSE +0 -0
@@ -121,10 +121,6 @@ class V1Resource(SyncAPIResource):
|
|
121
121
|
def materials(self) -> MaterialsResource:
|
122
122
|
return MaterialsResource(self._client)
|
123
123
|
|
124
|
-
@cached_property
|
125
|
-
def usage(self) -> UsageResource:
|
126
|
-
return UsageResource(self._client)
|
127
|
-
|
128
124
|
@cached_property
|
129
125
|
def folders(self) -> FoldersResource:
|
130
126
|
return FoldersResource(self._client)
|
@@ -133,6 +129,10 @@ class V1Resource(SyncAPIResource):
|
|
133
129
|
def components(self) -> ComponentsResource:
|
134
130
|
return ComponentsResource(self._client)
|
135
131
|
|
132
|
+
@cached_property
|
133
|
+
def usage(self) -> UsageResource:
|
134
|
+
return UsageResource(self._client)
|
135
|
+
|
136
136
|
@cached_property
|
137
137
|
def embed(self) -> EmbedResource:
|
138
138
|
return EmbedResource(self._client)
|
@@ -141,10 +141,6 @@ class V1Resource(SyncAPIResource):
|
|
141
141
|
def chat(self) -> ChatResource:
|
142
142
|
return ChatResource(self._client)
|
143
143
|
|
144
|
-
@cached_property
|
145
|
-
def flashcards(self) -> FlashcardsResource:
|
146
|
-
return FlashcardsResource(self._client)
|
147
|
-
|
148
144
|
@cached_property
|
149
145
|
def tests(self) -> TestsResource:
|
150
146
|
return TestsResource(self._client)
|
@@ -153,6 +149,10 @@ class V1Resource(SyncAPIResource):
|
|
153
149
|
def audio_recaps(self) -> AudioRecapsResource:
|
154
150
|
return AudioRecapsResource(self._client)
|
155
151
|
|
152
|
+
@cached_property
|
153
|
+
def flashcards(self) -> FlashcardsResource:
|
154
|
+
return FlashcardsResource(self._client)
|
155
|
+
|
156
156
|
@cached_property
|
157
157
|
def scenarios(self) -> ScenariosResource:
|
158
158
|
return ScenariosResource(self._client)
|
@@ -194,10 +194,6 @@ class AsyncV1Resource(AsyncAPIResource):
|
|
194
194
|
def materials(self) -> AsyncMaterialsResource:
|
195
195
|
return AsyncMaterialsResource(self._client)
|
196
196
|
|
197
|
-
@cached_property
|
198
|
-
def usage(self) -> AsyncUsageResource:
|
199
|
-
return AsyncUsageResource(self._client)
|
200
|
-
|
201
197
|
@cached_property
|
202
198
|
def folders(self) -> AsyncFoldersResource:
|
203
199
|
return AsyncFoldersResource(self._client)
|
@@ -206,6 +202,10 @@ class AsyncV1Resource(AsyncAPIResource):
|
|
206
202
|
def components(self) -> AsyncComponentsResource:
|
207
203
|
return AsyncComponentsResource(self._client)
|
208
204
|
|
205
|
+
@cached_property
|
206
|
+
def usage(self) -> AsyncUsageResource:
|
207
|
+
return AsyncUsageResource(self._client)
|
208
|
+
|
209
209
|
@cached_property
|
210
210
|
def embed(self) -> AsyncEmbedResource:
|
211
211
|
return AsyncEmbedResource(self._client)
|
@@ -214,10 +214,6 @@ class AsyncV1Resource(AsyncAPIResource):
|
|
214
214
|
def chat(self) -> AsyncChatResource:
|
215
215
|
return AsyncChatResource(self._client)
|
216
216
|
|
217
|
-
@cached_property
|
218
|
-
def flashcards(self) -> AsyncFlashcardsResource:
|
219
|
-
return AsyncFlashcardsResource(self._client)
|
220
|
-
|
221
217
|
@cached_property
|
222
218
|
def tests(self) -> AsyncTestsResource:
|
223
219
|
return AsyncTestsResource(self._client)
|
@@ -226,6 +222,10 @@ class AsyncV1Resource(AsyncAPIResource):
|
|
226
222
|
def audio_recaps(self) -> AsyncAudioRecapsResource:
|
227
223
|
return AsyncAudioRecapsResource(self._client)
|
228
224
|
|
225
|
+
@cached_property
|
226
|
+
def flashcards(self) -> AsyncFlashcardsResource:
|
227
|
+
return AsyncFlashcardsResource(self._client)
|
228
|
+
|
229
229
|
@cached_property
|
230
230
|
def scenarios(self) -> AsyncScenariosResource:
|
231
231
|
return AsyncScenariosResource(self._client)
|
@@ -270,10 +270,6 @@ class V1ResourceWithRawResponse:
|
|
270
270
|
def materials(self) -> MaterialsResourceWithRawResponse:
|
271
271
|
return MaterialsResourceWithRawResponse(self._v1.materials)
|
272
272
|
|
273
|
-
@cached_property
|
274
|
-
def usage(self) -> UsageResourceWithRawResponse:
|
275
|
-
return UsageResourceWithRawResponse(self._v1.usage)
|
276
|
-
|
277
273
|
@cached_property
|
278
274
|
def folders(self) -> FoldersResourceWithRawResponse:
|
279
275
|
return FoldersResourceWithRawResponse(self._v1.folders)
|
@@ -282,6 +278,10 @@ class V1ResourceWithRawResponse:
|
|
282
278
|
def components(self) -> ComponentsResourceWithRawResponse:
|
283
279
|
return ComponentsResourceWithRawResponse(self._v1.components)
|
284
280
|
|
281
|
+
@cached_property
|
282
|
+
def usage(self) -> UsageResourceWithRawResponse:
|
283
|
+
return UsageResourceWithRawResponse(self._v1.usage)
|
284
|
+
|
285
285
|
@cached_property
|
286
286
|
def embed(self) -> EmbedResourceWithRawResponse:
|
287
287
|
return EmbedResourceWithRawResponse(self._v1.embed)
|
@@ -290,10 +290,6 @@ class V1ResourceWithRawResponse:
|
|
290
290
|
def chat(self) -> ChatResourceWithRawResponse:
|
291
291
|
return ChatResourceWithRawResponse(self._v1.chat)
|
292
292
|
|
293
|
-
@cached_property
|
294
|
-
def flashcards(self) -> FlashcardsResourceWithRawResponse:
|
295
|
-
return FlashcardsResourceWithRawResponse(self._v1.flashcards)
|
296
|
-
|
297
293
|
@cached_property
|
298
294
|
def tests(self) -> TestsResourceWithRawResponse:
|
299
295
|
return TestsResourceWithRawResponse(self._v1.tests)
|
@@ -302,6 +298,10 @@ class V1ResourceWithRawResponse:
|
|
302
298
|
def audio_recaps(self) -> AudioRecapsResourceWithRawResponse:
|
303
299
|
return AudioRecapsResourceWithRawResponse(self._v1.audio_recaps)
|
304
300
|
|
301
|
+
@cached_property
|
302
|
+
def flashcards(self) -> FlashcardsResourceWithRawResponse:
|
303
|
+
return FlashcardsResourceWithRawResponse(self._v1.flashcards)
|
304
|
+
|
305
305
|
@cached_property
|
306
306
|
def scenarios(self) -> ScenariosResourceWithRawResponse:
|
307
307
|
return ScenariosResourceWithRawResponse(self._v1.scenarios)
|
@@ -327,10 +327,6 @@ class AsyncV1ResourceWithRawResponse:
|
|
327
327
|
def materials(self) -> AsyncMaterialsResourceWithRawResponse:
|
328
328
|
return AsyncMaterialsResourceWithRawResponse(self._v1.materials)
|
329
329
|
|
330
|
-
@cached_property
|
331
|
-
def usage(self) -> AsyncUsageResourceWithRawResponse:
|
332
|
-
return AsyncUsageResourceWithRawResponse(self._v1.usage)
|
333
|
-
|
334
330
|
@cached_property
|
335
331
|
def folders(self) -> AsyncFoldersResourceWithRawResponse:
|
336
332
|
return AsyncFoldersResourceWithRawResponse(self._v1.folders)
|
@@ -339,6 +335,10 @@ class AsyncV1ResourceWithRawResponse:
|
|
339
335
|
def components(self) -> AsyncComponentsResourceWithRawResponse:
|
340
336
|
return AsyncComponentsResourceWithRawResponse(self._v1.components)
|
341
337
|
|
338
|
+
@cached_property
|
339
|
+
def usage(self) -> AsyncUsageResourceWithRawResponse:
|
340
|
+
return AsyncUsageResourceWithRawResponse(self._v1.usage)
|
341
|
+
|
342
342
|
@cached_property
|
343
343
|
def embed(self) -> AsyncEmbedResourceWithRawResponse:
|
344
344
|
return AsyncEmbedResourceWithRawResponse(self._v1.embed)
|
@@ -347,10 +347,6 @@ class AsyncV1ResourceWithRawResponse:
|
|
347
347
|
def chat(self) -> AsyncChatResourceWithRawResponse:
|
348
348
|
return AsyncChatResourceWithRawResponse(self._v1.chat)
|
349
349
|
|
350
|
-
@cached_property
|
351
|
-
def flashcards(self) -> AsyncFlashcardsResourceWithRawResponse:
|
352
|
-
return AsyncFlashcardsResourceWithRawResponse(self._v1.flashcards)
|
353
|
-
|
354
350
|
@cached_property
|
355
351
|
def tests(self) -> AsyncTestsResourceWithRawResponse:
|
356
352
|
return AsyncTestsResourceWithRawResponse(self._v1.tests)
|
@@ -359,6 +355,10 @@ class AsyncV1ResourceWithRawResponse:
|
|
359
355
|
def audio_recaps(self) -> AsyncAudioRecapsResourceWithRawResponse:
|
360
356
|
return AsyncAudioRecapsResourceWithRawResponse(self._v1.audio_recaps)
|
361
357
|
|
358
|
+
@cached_property
|
359
|
+
def flashcards(self) -> AsyncFlashcardsResourceWithRawResponse:
|
360
|
+
return AsyncFlashcardsResourceWithRawResponse(self._v1.flashcards)
|
361
|
+
|
362
362
|
@cached_property
|
363
363
|
def scenarios(self) -> AsyncScenariosResourceWithRawResponse:
|
364
364
|
return AsyncScenariosResourceWithRawResponse(self._v1.scenarios)
|
@@ -384,10 +384,6 @@ class V1ResourceWithStreamingResponse:
|
|
384
384
|
def materials(self) -> MaterialsResourceWithStreamingResponse:
|
385
385
|
return MaterialsResourceWithStreamingResponse(self._v1.materials)
|
386
386
|
|
387
|
-
@cached_property
|
388
|
-
def usage(self) -> UsageResourceWithStreamingResponse:
|
389
|
-
return UsageResourceWithStreamingResponse(self._v1.usage)
|
390
|
-
|
391
387
|
@cached_property
|
392
388
|
def folders(self) -> FoldersResourceWithStreamingResponse:
|
393
389
|
return FoldersResourceWithStreamingResponse(self._v1.folders)
|
@@ -396,6 +392,10 @@ class V1ResourceWithStreamingResponse:
|
|
396
392
|
def components(self) -> ComponentsResourceWithStreamingResponse:
|
397
393
|
return ComponentsResourceWithStreamingResponse(self._v1.components)
|
398
394
|
|
395
|
+
@cached_property
|
396
|
+
def usage(self) -> UsageResourceWithStreamingResponse:
|
397
|
+
return UsageResourceWithStreamingResponse(self._v1.usage)
|
398
|
+
|
399
399
|
@cached_property
|
400
400
|
def embed(self) -> EmbedResourceWithStreamingResponse:
|
401
401
|
return EmbedResourceWithStreamingResponse(self._v1.embed)
|
@@ -404,10 +404,6 @@ class V1ResourceWithStreamingResponse:
|
|
404
404
|
def chat(self) -> ChatResourceWithStreamingResponse:
|
405
405
|
return ChatResourceWithStreamingResponse(self._v1.chat)
|
406
406
|
|
407
|
-
@cached_property
|
408
|
-
def flashcards(self) -> FlashcardsResourceWithStreamingResponse:
|
409
|
-
return FlashcardsResourceWithStreamingResponse(self._v1.flashcards)
|
410
|
-
|
411
407
|
@cached_property
|
412
408
|
def tests(self) -> TestsResourceWithStreamingResponse:
|
413
409
|
return TestsResourceWithStreamingResponse(self._v1.tests)
|
@@ -416,6 +412,10 @@ class V1ResourceWithStreamingResponse:
|
|
416
412
|
def audio_recaps(self) -> AudioRecapsResourceWithStreamingResponse:
|
417
413
|
return AudioRecapsResourceWithStreamingResponse(self._v1.audio_recaps)
|
418
414
|
|
415
|
+
@cached_property
|
416
|
+
def flashcards(self) -> FlashcardsResourceWithStreamingResponse:
|
417
|
+
return FlashcardsResourceWithStreamingResponse(self._v1.flashcards)
|
418
|
+
|
419
419
|
@cached_property
|
420
420
|
def scenarios(self) -> ScenariosResourceWithStreamingResponse:
|
421
421
|
return ScenariosResourceWithStreamingResponse(self._v1.scenarios)
|
@@ -441,10 +441,6 @@ class AsyncV1ResourceWithStreamingResponse:
|
|
441
441
|
def materials(self) -> AsyncMaterialsResourceWithStreamingResponse:
|
442
442
|
return AsyncMaterialsResourceWithStreamingResponse(self._v1.materials)
|
443
443
|
|
444
|
-
@cached_property
|
445
|
-
def usage(self) -> AsyncUsageResourceWithStreamingResponse:
|
446
|
-
return AsyncUsageResourceWithStreamingResponse(self._v1.usage)
|
447
|
-
|
448
444
|
@cached_property
|
449
445
|
def folders(self) -> AsyncFoldersResourceWithStreamingResponse:
|
450
446
|
return AsyncFoldersResourceWithStreamingResponse(self._v1.folders)
|
@@ -453,6 +449,10 @@ class AsyncV1ResourceWithStreamingResponse:
|
|
453
449
|
def components(self) -> AsyncComponentsResourceWithStreamingResponse:
|
454
450
|
return AsyncComponentsResourceWithStreamingResponse(self._v1.components)
|
455
451
|
|
452
|
+
@cached_property
|
453
|
+
def usage(self) -> AsyncUsageResourceWithStreamingResponse:
|
454
|
+
return AsyncUsageResourceWithStreamingResponse(self._v1.usage)
|
455
|
+
|
456
456
|
@cached_property
|
457
457
|
def embed(self) -> AsyncEmbedResourceWithStreamingResponse:
|
458
458
|
return AsyncEmbedResourceWithStreamingResponse(self._v1.embed)
|
@@ -461,10 +461,6 @@ class AsyncV1ResourceWithStreamingResponse:
|
|
461
461
|
def chat(self) -> AsyncChatResourceWithStreamingResponse:
|
462
462
|
return AsyncChatResourceWithStreamingResponse(self._v1.chat)
|
463
463
|
|
464
|
-
@cached_property
|
465
|
-
def flashcards(self) -> AsyncFlashcardsResourceWithStreamingResponse:
|
466
|
-
return AsyncFlashcardsResourceWithStreamingResponse(self._v1.flashcards)
|
467
|
-
|
468
464
|
@cached_property
|
469
465
|
def tests(self) -> AsyncTestsResourceWithStreamingResponse:
|
470
466
|
return AsyncTestsResourceWithStreamingResponse(self._v1.tests)
|
@@ -473,6 +469,10 @@ class AsyncV1ResourceWithStreamingResponse:
|
|
473
469
|
def audio_recaps(self) -> AsyncAudioRecapsResourceWithStreamingResponse:
|
474
470
|
return AsyncAudioRecapsResourceWithStreamingResponse(self._v1.audio_recaps)
|
475
471
|
|
472
|
+
@cached_property
|
473
|
+
def flashcards(self) -> AsyncFlashcardsResourceWithStreamingResponse:
|
474
|
+
return AsyncFlashcardsResourceWithStreamingResponse(self._v1.flashcards)
|
475
|
+
|
476
476
|
@cached_property
|
477
477
|
def scenarios(self) -> AsyncScenariosResourceWithStreamingResponse:
|
478
478
|
return AsyncScenariosResourceWithStreamingResponse(self._v1.scenarios)
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
4
|
|
5
|
+
from .material import Material as Material
|
6
|
+
from .component import Component as Component
|
5
7
|
from .chat_stream_params import ChatStreamParams as ChatStreamParams
|
6
8
|
from .folder_list_params import FolderListParams as FolderListParams
|
7
9
|
from .test_create_params import TestCreateParams as TestCreateParams
|
@@ -13,35 +15,30 @@ from .folder_update_params import FolderUpdateParams as FolderUpdateParams
|
|
13
15
|
from .material_list_params import MaterialListParams as MaterialListParams
|
14
16
|
from .component_list_params import ComponentListParams as ComponentListParams
|
15
17
|
from .flashcard_rate_params import FlashcardRateParams as FlashcardRateParams
|
16
|
-
from .component_embed_params import ComponentEmbedParams as ComponentEmbedParams
|
17
18
|
from .embed_get_theme_params import EmbedGetThemeParams as EmbedGetThemeParams
|
18
19
|
from .material_create_params import MaterialCreateParams as MaterialCreateParams
|
19
20
|
from .material_list_response import MaterialListResponse as MaterialListResponse
|
20
21
|
from .scenario_create_params import ScenarioCreateParams as ScenarioCreateParams
|
21
22
|
from .scenario_update_params import ScenarioUpdateParams as ScenarioUpdateParams
|
22
23
|
from .usage_get_stats_params import UsageGetStatsParams as UsageGetStatsParams
|
24
|
+
from .chat_get_session_params import ChatGetSessionParams as ChatGetSessionParams
|
23
25
|
from .component_create_params import ComponentCreateParams as ComponentCreateParams
|
24
26
|
from .component_list_response import ComponentListResponse as ComponentListResponse
|
25
27
|
from .component_update_params import ComponentUpdateParams as ComponentUpdateParams
|
28
|
+
from .explainer_create_params import ExplainerCreateParams as ExplainerCreateParams
|
26
29
|
from .chat_send_message_params import ChatSendMessageParams as ChatSendMessageParams
|
27
|
-
from .component_embed_response import ComponentEmbedResponse as ComponentEmbedResponse
|
28
30
|
from .flashcard_get_all_params import FlashcardGetAllParams as FlashcardGetAllParams
|
29
31
|
from .flashcard_get_due_params import FlashcardGetDueParams as FlashcardGetDueParams
|
30
|
-
from .material_create_response import MaterialCreateResponse as MaterialCreateResponse
|
31
32
|
from .usage_get_summary_params import UsageGetSummaryParams as UsageGetSummaryParams
|
32
33
|
from .usage_list_events_params import UsageListEventsParams as UsageListEventsParams
|
33
|
-
from .component_create_response import ComponentCreateResponse as ComponentCreateResponse
|
34
|
-
from .component_update_response import ComponentUpdateResponse as ComponentUpdateResponse
|
35
34
|
from .test_submit_answer_params import TestSubmitAnswerParams as TestSubmitAnswerParams
|
36
35
|
from .flashcard_get_stats_params import FlashcardGetStatsParams as FlashcardGetStatsParams
|
37
|
-
from .material_retrieve_response import MaterialRetrieveResponse as MaterialRetrieveResponse
|
38
|
-
from .component_retrieve_response import ComponentRetrieveResponse as ComponentRetrieveResponse
|
39
|
-
from .chat_retrieve_session_params import ChatRetrieveSessionParams as ChatRetrieveSessionParams
|
40
36
|
from .flashcard_get_types_response import FlashcardGetTypesResponse as FlashcardGetTypesResponse
|
37
|
+
from .scenario_submit_answer_params import ScenarioSubmitAnswerParams as ScenarioSubmitAnswerParams
|
41
38
|
from .flashcard_batch_process_params import FlashcardBatchProcessParams as FlashcardBatchProcessParams
|
39
|
+
from .component_generate_embed_params import ComponentGenerateEmbedParams as ComponentGenerateEmbedParams
|
42
40
|
from .explainer_handle_webhook_params import ExplainerHandleWebhookParams as ExplainerHandleWebhookParams
|
43
41
|
from .flashcard_batch_process_response import FlashcardBatchProcessResponse as FlashcardBatchProcessResponse
|
42
|
+
from .flashcard_get_algorithm_response import FlashcardGetAlgorithmResponse as FlashcardGetAlgorithmResponse
|
44
43
|
from .material_get_download_url_params import MaterialGetDownloadURLParams as MaterialGetDownloadURLParams
|
45
|
-
from .
|
46
|
-
FlashcardGetAlgorithmInfoResponse as FlashcardGetAlgorithmInfoResponse,
|
47
|
-
)
|
44
|
+
from .component_generate_embed_response import ComponentGenerateEmbedResponse as ComponentGenerateEmbedResponse
|
@@ -6,8 +6,8 @@ from typing_extensions import Required, Annotated, TypedDict
|
|
6
6
|
|
7
7
|
from ..._utils import PropertyInfo
|
8
8
|
|
9
|
-
__all__ = ["
|
9
|
+
__all__ = ["ChatGetSessionParams"]
|
10
10
|
|
11
11
|
|
12
|
-
class
|
12
|
+
class ChatGetSessionParams(TypedDict, total=False):
|
13
13
|
user_id: Required[Annotated[str, PropertyInfo(alias="userId")]]
|
@@ -8,10 +8,10 @@ from pydantic import Field as FieldInfo
|
|
8
8
|
|
9
9
|
from ..._models import BaseModel
|
10
10
|
|
11
|
-
__all__ = ["
|
11
|
+
__all__ = ["Component"]
|
12
12
|
|
13
13
|
|
14
|
-
class
|
14
|
+
class Component(BaseModel):
|
15
15
|
api_id: str = FieldInfo(alias="_id")
|
16
16
|
"""Component ID (MongoDB ObjectId)"""
|
17
17
|
|
@@ -109,6 +109,9 @@ class ConfigFlashcardsConfigDto(TypedDict, total=False):
|
|
109
109
|
max_review_interval: Annotated[float, PropertyInfo(alias="maxReviewInterval")]
|
110
110
|
"""Maximum review interval in days"""
|
111
111
|
|
112
|
+
model: str
|
113
|
+
"""AI model to use for flashcard generation"""
|
114
|
+
|
112
115
|
total_flashcards: Annotated[float, PropertyInfo(alias="totalFlashcards")]
|
113
116
|
"""Total number of flashcards to generate"""
|
114
117
|
|
@@ -137,9 +140,15 @@ class ConfigScenariosConfigDtoTool(TypedDict, total=False):
|
|
137
140
|
name: Required[str]
|
138
141
|
"""Tool name"""
|
139
142
|
|
143
|
+
data_format: Annotated[str, PropertyInfo(alias="dataFormat")]
|
144
|
+
"""Data format provided by the tool"""
|
145
|
+
|
140
146
|
description: str
|
141
147
|
"""Tool description"""
|
142
148
|
|
149
|
+
type: str
|
150
|
+
"""Tool type"""
|
151
|
+
|
143
152
|
|
144
153
|
class ConfigScenariosConfigDto(TypedDict, total=False):
|
145
154
|
characters: Iterable[ConfigScenariosConfigDtoCharacter]
|
@@ -175,6 +184,9 @@ class ConfigScenariosConfigDto(TypedDict, total=False):
|
|
175
184
|
materials: List[str]
|
176
185
|
"""Material IDs"""
|
177
186
|
|
187
|
+
model: str
|
188
|
+
"""AI model to use for scenario generation"""
|
189
|
+
|
178
190
|
placeholder_text: Annotated[str, PropertyInfo(alias="placeholderText")]
|
179
191
|
"""Placeholder text"""
|
180
192
|
|
@@ -226,6 +238,9 @@ class ConfigPracticeTestConfigDto(TypedDict, total=False):
|
|
226
238
|
max_attempts: Annotated[float, PropertyInfo(alias="maxAttempts")]
|
227
239
|
"""Maximum attempts allowed"""
|
228
240
|
|
241
|
+
model: str
|
242
|
+
"""AI model to use for question generation and grading"""
|
243
|
+
|
229
244
|
passing_score: Annotated[float, PropertyInfo(alias="passingScore")]
|
230
245
|
"""Passing score percentage"""
|
231
246
|
|
@@ -254,29 +269,68 @@ class ConfigPracticeTestConfigDto(TypedDict, total=False):
|
|
254
269
|
|
255
270
|
|
256
271
|
class ConfigAudioRecapConfigDto(TypedDict, total=False):
|
272
|
+
duration: float
|
273
|
+
"""Duration of audio recap in minutes"""
|
274
|
+
|
257
275
|
folders: List[str]
|
258
276
|
"""Folder IDs"""
|
259
277
|
|
260
|
-
|
261
|
-
"""
|
278
|
+
is_multi_voice: Annotated[bool, PropertyInfo(alias="isMultiVoice")]
|
279
|
+
"""Enable multi-voice conversation mode"""
|
262
280
|
|
263
281
|
materials: List[str]
|
264
282
|
"""Material IDs"""
|
265
283
|
|
266
|
-
|
267
|
-
"""
|
284
|
+
model: str
|
285
|
+
"""AI model to use for generation"""
|
286
|
+
|
287
|
+
num_parts: Annotated[float, PropertyInfo(alias="numParts")]
|
288
|
+
"""Number of parts to split the audio into"""
|
289
|
+
|
290
|
+
recap_type: Annotated[Literal["SUMMARY", "LECTURE", "PODCAST", "AUDIO_BOOK"], PropertyInfo(alias="recapType")]
|
291
|
+
"""Type of audio recap"""
|
292
|
+
|
293
|
+
theme: str
|
294
|
+
"""Theme or style for the audio recap"""
|
268
295
|
|
269
|
-
|
270
|
-
"""
|
296
|
+
topic: str
|
297
|
+
"""Specific topic to focus on"""
|
298
|
+
|
299
|
+
voice1: str
|
300
|
+
"""Primary voice for narration"""
|
301
|
+
|
302
|
+
voice2: str
|
303
|
+
"""Secondary voice for multi-voice mode"""
|
271
304
|
|
272
305
|
|
273
306
|
class ConfigExplainersConfigDto(TypedDict, total=False):
|
274
307
|
folders: List[str]
|
275
308
|
"""Folder IDs"""
|
276
309
|
|
310
|
+
image_search: Annotated[bool, PropertyInfo(alias="imageSearch")]
|
311
|
+
"""Enable image search for visuals"""
|
312
|
+
|
277
313
|
materials: List[str]
|
278
314
|
"""Material IDs"""
|
279
315
|
|
316
|
+
model: str
|
317
|
+
"""AI model to use for generation"""
|
318
|
+
|
319
|
+
style: str
|
320
|
+
"""Video style"""
|
321
|
+
|
322
|
+
target_length: Annotated[float, PropertyInfo(alias="targetLength")]
|
323
|
+
"""Target length in seconds"""
|
324
|
+
|
325
|
+
title: str
|
326
|
+
"""Video title (defaults to component name if not provided)"""
|
327
|
+
|
328
|
+
vertical_video: Annotated[bool, PropertyInfo(alias="verticalVideo")]
|
329
|
+
"""Create vertical video format (9:16)"""
|
330
|
+
|
331
|
+
web_search: Annotated[bool, PropertyInfo(alias="webSearch")]
|
332
|
+
"""Enable web search for additional content"""
|
333
|
+
|
280
334
|
|
281
335
|
class ConfigUploadsConfigDto(TypedDict, total=False):
|
282
336
|
folder_id: Required[Annotated[str, PropertyInfo(alias="folderId")]]
|
@@ -7,10 +7,10 @@ from typing_extensions import Annotated, TypedDict
|
|
7
7
|
|
8
8
|
from ..._utils import PropertyInfo
|
9
9
|
|
10
|
-
__all__ = ["
|
10
|
+
__all__ = ["ComponentGenerateEmbedParams", "Features", "Theme"]
|
11
11
|
|
12
12
|
|
13
|
-
class
|
13
|
+
class ComponentGenerateEmbedParams(TypedDict, total=False):
|
14
14
|
expiry_hours: Annotated[float, PropertyInfo(alias="expiryHours")]
|
15
15
|
"""Token expiry time in hours"""
|
16
16
|
|
studyfetch_sdk/types/v1/{component_embed_response.py → component_generate_embed_response.py}
RENAMED
@@ -7,7 +7,7 @@ from pydantic import Field as FieldInfo
|
|
7
7
|
|
8
8
|
from ..._models import BaseModel
|
9
9
|
|
10
|
-
__all__ = ["
|
10
|
+
__all__ = ["ComponentGenerateEmbedResponse", "Options"]
|
11
11
|
|
12
12
|
|
13
13
|
class Options(BaseModel):
|
@@ -18,7 +18,7 @@ class Options(BaseModel):
|
|
18
18
|
"""Embed width"""
|
19
19
|
|
20
20
|
|
21
|
-
class
|
21
|
+
class ComponentGenerateEmbedResponse(BaseModel):
|
22
22
|
token: str
|
23
23
|
"""JWT token for authentication"""
|
24
24
|
|
@@ -1,51 +1,10 @@
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
2
|
|
3
|
-
from typing import List
|
4
|
-
from
|
5
|
-
from typing_extensions import Literal, TypeAlias
|
3
|
+
from typing import List
|
4
|
+
from typing_extensions import TypeAlias
|
6
5
|
|
7
|
-
from
|
6
|
+
from .component import Component
|
8
7
|
|
9
|
-
|
8
|
+
__all__ = ["ComponentListResponse"]
|
10
9
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
class ComponentListResponseItem(BaseModel):
|
15
|
-
api_id: str = FieldInfo(alias="_id")
|
16
|
-
"""Component ID (MongoDB ObjectId)"""
|
17
|
-
|
18
|
-
component_id: str = FieldInfo(alias="componentId")
|
19
|
-
"""Unique component identifier"""
|
20
|
-
|
21
|
-
config: object
|
22
|
-
"""Component configuration"""
|
23
|
-
|
24
|
-
created_at: datetime = FieldInfo(alias="createdAt")
|
25
|
-
"""Creation timestamp"""
|
26
|
-
|
27
|
-
name: str
|
28
|
-
"""Component name"""
|
29
|
-
|
30
|
-
organization: str
|
31
|
-
"""Organization ID"""
|
32
|
-
|
33
|
-
status: Literal["active", "inactive", "draft"]
|
34
|
-
"""Component status"""
|
35
|
-
|
36
|
-
type: Literal[
|
37
|
-
"chat", "flashcards", "scenarios", "practice_test", "audio_recap", "tutor_me", "explainers", "uploads"
|
38
|
-
]
|
39
|
-
"""Component type"""
|
40
|
-
|
41
|
-
updated_at: datetime = FieldInfo(alias="updatedAt")
|
42
|
-
"""Last update timestamp"""
|
43
|
-
|
44
|
-
usage: object
|
45
|
-
"""Usage statistics"""
|
46
|
-
|
47
|
-
description: Optional[str] = None
|
48
|
-
"""Component description"""
|
49
|
-
|
50
|
-
|
51
|
-
ComponentListResponse: TypeAlias = List[ComponentListResponseItem]
|
10
|
+
ComponentListResponse: TypeAlias = List[Component]
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing import List
|
6
|
+
from typing_extensions import Required, Annotated, TypedDict
|
7
|
+
|
8
|
+
from ..._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["ExplainerCreateParams"]
|
11
|
+
|
12
|
+
|
13
|
+
class ExplainerCreateParams(TypedDict, total=False):
|
14
|
+
component_id: Required[Annotated[str, PropertyInfo(alias="componentId")]]
|
15
|
+
"""Component ID"""
|
16
|
+
|
17
|
+
folder_ids: Required[Annotated[List[str], PropertyInfo(alias="folderIds")]]
|
18
|
+
"""Folder IDs to include"""
|
19
|
+
|
20
|
+
material_ids: Required[Annotated[List[str], PropertyInfo(alias="materialIds")]]
|
21
|
+
"""Material IDs to include"""
|
22
|
+
|
23
|
+
target_length: Required[Annotated[float, PropertyInfo(alias="targetLength")]]
|
24
|
+
"""Target video length in seconds"""
|
25
|
+
|
26
|
+
title: Required[str]
|
27
|
+
"""Title for the explainer video"""
|
28
|
+
|
29
|
+
image_search: Annotated[bool, PropertyInfo(alias="imageSearch")]
|
30
|
+
"""Enable image search for visuals"""
|
31
|
+
|
32
|
+
model: str
|
33
|
+
"""AI model to use"""
|
34
|
+
|
35
|
+
style: str
|
36
|
+
"""Video style"""
|
37
|
+
|
38
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
39
|
+
"""User ID"""
|
40
|
+
|
41
|
+
vertical_video: Annotated[bool, PropertyInfo(alias="verticalVideo")]
|
42
|
+
"""Create vertical video format (9:16)"""
|
43
|
+
|
44
|
+
web_search: Annotated[bool, PropertyInfo(alias="webSearch")]
|
45
|
+
"""Enable web search for additional content"""
|
@@ -2,10 +2,52 @@
|
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
4
|
|
5
|
-
from
|
5
|
+
from typing import List
|
6
|
+
from typing_extensions import Literal, Required, Annotated, TypedDict
|
6
7
|
|
7
|
-
|
8
|
+
from ..._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["ExplainerHandleWebhookParams", "Video"]
|
8
11
|
|
9
12
|
|
10
13
|
class ExplainerHandleWebhookParams(TypedDict, total=False):
|
11
|
-
|
14
|
+
event: Required[Literal["video.completed", "video.progress", "video.failed"]]
|
15
|
+
"""Webhook event type"""
|
16
|
+
|
17
|
+
video: Required[Video]
|
18
|
+
"""Video data"""
|
19
|
+
|
20
|
+
|
21
|
+
class Video(TypedDict, total=False):
|
22
|
+
id: Required[str]
|
23
|
+
"""Video ID"""
|
24
|
+
|
25
|
+
image_sources: Annotated[object, PropertyInfo(alias="imageSources")]
|
26
|
+
"""Image sources"""
|
27
|
+
|
28
|
+
progress: float
|
29
|
+
"""Progress percentage"""
|
30
|
+
|
31
|
+
sections: List[str]
|
32
|
+
"""Video sections"""
|
33
|
+
|
34
|
+
stream_id: Annotated[str, PropertyInfo(alias="streamId")]
|
35
|
+
"""Stream ID"""
|
36
|
+
|
37
|
+
stream_url: Annotated[str, PropertyInfo(alias="streamUrl")]
|
38
|
+
"""Stream URL"""
|
39
|
+
|
40
|
+
thumbnail_url: Annotated[str, PropertyInfo(alias="thumbnailUrl")]
|
41
|
+
"""Thumbnail URL"""
|
42
|
+
|
43
|
+
transcript: str
|
44
|
+
"""Video transcript"""
|
45
|
+
|
46
|
+
video_url: Annotated[str, PropertyInfo(alias="videoUrl")]
|
47
|
+
"""Video URL"""
|
48
|
+
|
49
|
+
web_search_results: Annotated[object, PropertyInfo(alias="webSearchResults")]
|
50
|
+
"""Web search results"""
|
51
|
+
|
52
|
+
web_search_sources: Annotated[object, PropertyInfo(alias="webSearchSources")]
|
53
|
+
"""Web search sources"""
|
@@ -4,7 +4,7 @@ from typing import Dict, List, Optional
|
|
4
4
|
|
5
5
|
from ..._models import BaseModel
|
6
6
|
|
7
|
-
__all__ = ["
|
7
|
+
__all__ = ["FlashcardGetAlgorithmResponse", "Intervals", "Ratings"]
|
8
8
|
|
9
9
|
|
10
10
|
class Intervals(BaseModel):
|
@@ -26,7 +26,7 @@ class Ratings(BaseModel):
|
|
26
26
|
"""Rating name"""
|
27
27
|
|
28
28
|
|
29
|
-
class
|
29
|
+
class FlashcardGetAlgorithmResponse(BaseModel):
|
30
30
|
algorithm: Optional[str] = None
|
31
31
|
"""Algorithm name"""
|
32
32
|
|