studyfetch-sdk 0.1.0a5__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.
Files changed (38) hide show
  1. studyfetch_sdk/_version.py +1 -1
  2. studyfetch_sdk/resources/v1/__init__.py +12 -12
  3. studyfetch_sdk/resources/v1/chat/chat.py +13 -15
  4. studyfetch_sdk/resources/v1/components.py +40 -37
  5. studyfetch_sdk/resources/v1/explainers.py +80 -0
  6. studyfetch_sdk/resources/v1/flashcards.py +15 -15
  7. studyfetch_sdk/resources/v1/materials/materials.py +19 -20
  8. studyfetch_sdk/resources/v1/materials/upload.py +19 -20
  9. studyfetch_sdk/resources/v1/scenarios/scenarios.py +13 -13
  10. studyfetch_sdk/resources/v1/scenarios/submissions/user.py +50 -50
  11. studyfetch_sdk/resources/v1/v1.py +48 -48
  12. studyfetch_sdk/types/v1/__init__.py +7 -12
  13. studyfetch_sdk/types/v1/{chat_retrieve_session_params.py → chat_get_session_params.py} +2 -2
  14. studyfetch_sdk/types/v1/{component_create_response.py → component.py} +2 -2
  15. studyfetch_sdk/types/v1/{component_embed_params.py → component_generate_embed_params.py} +2 -2
  16. studyfetch_sdk/types/v1/{component_embed_response.py → component_generate_embed_response.py} +2 -2
  17. studyfetch_sdk/types/v1/component_list_response.py +5 -46
  18. studyfetch_sdk/types/v1/{flashcard_get_algorithm_info_response.py → flashcard_get_algorithm_response.py} +2 -2
  19. studyfetch_sdk/types/v1/{material_create_response.py → material.py} +2 -2
  20. studyfetch_sdk/types/v1/material_list_response.py +5 -60
  21. studyfetch_sdk/types/v1/materials/__init__.py +0 -2
  22. studyfetch_sdk/types/v1/{scenario_submit_params.py → scenario_submit_answer_params.py} +2 -2
  23. {studyfetch_sdk-0.1.0a5.dist-info → studyfetch_sdk-0.1.0a6.dist-info}/METADATA +28 -12
  24. {studyfetch_sdk-0.1.0a5.dist-info → studyfetch_sdk-0.1.0a6.dist-info}/RECORD +26 -38
  25. studyfetch_sdk/types/v1/admin/__init__.py +0 -3
  26. studyfetch_sdk/types/v1/admin/organizations/__init__.py +0 -3
  27. studyfetch_sdk/types/v1/admin/organizations/models/__init__.py +0 -3
  28. studyfetch_sdk/types/v1/component_retrieve_response.py +0 -48
  29. studyfetch_sdk/types/v1/component_update_response.py +0 -48
  30. studyfetch_sdk/types/v1/material_retrieve_response.py +0 -62
  31. studyfetch_sdk/types/v1/materials/upload_upload_file_response.py +0 -62
  32. studyfetch_sdk/types/v1/materials/upload_upload_from_url_response.py +0 -62
  33. studyfetch_sdk/types/v1/organizations/__init__.py +0 -3
  34. studyfetch_sdk/types/v1/organizations/logo/__init__.py +0 -3
  35. studyfetch_sdk/types/v1/organizations/profile/__init__.py +0 -3
  36. studyfetch_sdk/types/v1/organizations/team/__init__.py +0 -3
  37. {studyfetch_sdk-0.1.0a5.dist-info → studyfetch_sdk-0.1.0a6.dist-info}/WHEEL +0 -0
  38. {studyfetch_sdk-0.1.0a5.dist-info → studyfetch_sdk-0.1.0a6.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "studyfetch_sdk"
4
- __version__ = "0.1.0-alpha.5" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.6" # x-release-please-version
@@ -126,12 +126,6 @@ __all__ = [
126
126
  "AsyncMaterialsResourceWithRawResponse",
127
127
  "MaterialsResourceWithStreamingResponse",
128
128
  "AsyncMaterialsResourceWithStreamingResponse",
129
- "UsageResource",
130
- "AsyncUsageResource",
131
- "UsageResourceWithRawResponse",
132
- "AsyncUsageResourceWithRawResponse",
133
- "UsageResourceWithStreamingResponse",
134
- "AsyncUsageResourceWithStreamingResponse",
135
129
  "FoldersResource",
136
130
  "AsyncFoldersResource",
137
131
  "FoldersResourceWithRawResponse",
@@ -144,6 +138,12 @@ __all__ = [
144
138
  "AsyncComponentsResourceWithRawResponse",
145
139
  "ComponentsResourceWithStreamingResponse",
146
140
  "AsyncComponentsResourceWithStreamingResponse",
141
+ "UsageResource",
142
+ "AsyncUsageResource",
143
+ "UsageResourceWithRawResponse",
144
+ "AsyncUsageResourceWithRawResponse",
145
+ "UsageResourceWithStreamingResponse",
146
+ "AsyncUsageResourceWithStreamingResponse",
147
147
  "EmbedResource",
148
148
  "AsyncEmbedResource",
149
149
  "EmbedResourceWithRawResponse",
@@ -156,12 +156,6 @@ __all__ = [
156
156
  "AsyncChatResourceWithRawResponse",
157
157
  "ChatResourceWithStreamingResponse",
158
158
  "AsyncChatResourceWithStreamingResponse",
159
- "FlashcardsResource",
160
- "AsyncFlashcardsResource",
161
- "FlashcardsResourceWithRawResponse",
162
- "AsyncFlashcardsResourceWithRawResponse",
163
- "FlashcardsResourceWithStreamingResponse",
164
- "AsyncFlashcardsResourceWithStreamingResponse",
165
159
  "TestsResource",
166
160
  "AsyncTestsResource",
167
161
  "TestsResourceWithRawResponse",
@@ -174,6 +168,12 @@ __all__ = [
174
168
  "AsyncAudioRecapsResourceWithRawResponse",
175
169
  "AudioRecapsResourceWithStreamingResponse",
176
170
  "AsyncAudioRecapsResourceWithStreamingResponse",
171
+ "FlashcardsResource",
172
+ "AsyncFlashcardsResource",
173
+ "FlashcardsResourceWithRawResponse",
174
+ "AsyncFlashcardsResourceWithRawResponse",
175
+ "FlashcardsResourceWithStreamingResponse",
176
+ "AsyncFlashcardsResourceWithStreamingResponse",
177
177
  "ScenariosResource",
178
178
  "AsyncScenariosResource",
179
179
  "ScenariosResourceWithRawResponse",
@@ -25,7 +25,7 @@ from .sessions import (
25
25
  from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
26
26
  from ...._utils import maybe_transform, strip_not_given, async_maybe_transform
27
27
  from ...._compat import cached_property
28
- from ....types.v1 import chat_stream_params, chat_send_message_params, chat_retrieve_session_params
28
+ from ....types.v1 import chat_stream_params, chat_get_session_params, chat_send_message_params
29
29
  from ...._resource import SyncAPIResource, AsyncAPIResource
30
30
  from ...._response import (
31
31
  to_raw_response_wrapper,
@@ -85,7 +85,7 @@ class ChatResource(SyncAPIResource):
85
85
  cast_to=NoneType,
86
86
  )
87
87
 
88
- def retrieve_session(
88
+ def get_session(
89
89
  self,
90
90
  session_id: str,
91
91
  *,
@@ -117,7 +117,7 @@ class ChatResource(SyncAPIResource):
117
117
  extra_query=extra_query,
118
118
  extra_body=extra_body,
119
119
  timeout=timeout,
120
- query=maybe_transform({"user_id": user_id}, chat_retrieve_session_params.ChatRetrieveSessionParams),
120
+ query=maybe_transform({"user_id": user_id}, chat_get_session_params.ChatGetSessionParams),
121
121
  ),
122
122
  cast_to=NoneType,
123
123
  )
@@ -295,7 +295,7 @@ class AsyncChatResource(AsyncAPIResource):
295
295
  cast_to=NoneType,
296
296
  )
297
297
 
298
- async def retrieve_session(
298
+ async def get_session(
299
299
  self,
300
300
  session_id: str,
301
301
  *,
@@ -327,9 +327,7 @@ class AsyncChatResource(AsyncAPIResource):
327
327
  extra_query=extra_query,
328
328
  extra_body=extra_body,
329
329
  timeout=timeout,
330
- query=await async_maybe_transform(
331
- {"user_id": user_id}, chat_retrieve_session_params.ChatRetrieveSessionParams
332
- ),
330
+ query=await async_maybe_transform({"user_id": user_id}, chat_get_session_params.ChatGetSessionParams),
333
331
  ),
334
332
  cast_to=NoneType,
335
333
  )
@@ -467,8 +465,8 @@ class ChatResourceWithRawResponse:
467
465
  self.get_history = to_raw_response_wrapper(
468
466
  chat.get_history,
469
467
  )
470
- self.retrieve_session = to_raw_response_wrapper(
471
- chat.retrieve_session,
468
+ self.get_session = to_raw_response_wrapper(
469
+ chat.get_session,
472
470
  )
473
471
  self.send_followups = to_raw_response_wrapper(
474
472
  chat.send_followups,
@@ -496,8 +494,8 @@ class AsyncChatResourceWithRawResponse:
496
494
  self.get_history = async_to_raw_response_wrapper(
497
495
  chat.get_history,
498
496
  )
499
- self.retrieve_session = async_to_raw_response_wrapper(
500
- chat.retrieve_session,
497
+ self.get_session = async_to_raw_response_wrapper(
498
+ chat.get_session,
501
499
  )
502
500
  self.send_followups = async_to_raw_response_wrapper(
503
501
  chat.send_followups,
@@ -525,8 +523,8 @@ class ChatResourceWithStreamingResponse:
525
523
  self.get_history = to_streamed_response_wrapper(
526
524
  chat.get_history,
527
525
  )
528
- self.retrieve_session = to_streamed_response_wrapper(
529
- chat.retrieve_session,
526
+ self.get_session = to_streamed_response_wrapper(
527
+ chat.get_session,
530
528
  )
531
529
  self.send_followups = to_streamed_response_wrapper(
532
530
  chat.send_followups,
@@ -554,8 +552,8 @@ class AsyncChatResourceWithStreamingResponse:
554
552
  self.get_history = async_to_streamed_response_wrapper(
555
553
  chat.get_history,
556
554
  )
557
- self.retrieve_session = async_to_streamed_response_wrapper(
558
- chat.retrieve_session,
555
+ self.get_session = async_to_streamed_response_wrapper(
556
+ chat.get_session,
559
557
  )
560
558
  self.send_followups = async_to_streamed_response_wrapper(
561
559
  chat.send_followups,
@@ -10,7 +10,12 @@ import httpx
10
10
  from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
11
11
  from ..._utils import maybe_transform, async_maybe_transform
12
12
  from ..._compat import cached_property
13
- from ...types.v1 import component_list_params, component_embed_params, component_create_params, component_update_params
13
+ from ...types.v1 import (
14
+ component_list_params,
15
+ component_create_params,
16
+ component_update_params,
17
+ component_generate_embed_params,
18
+ )
14
19
  from ..._resource import SyncAPIResource, AsyncAPIResource
15
20
  from ..._response import (
16
21
  to_raw_response_wrapper,
@@ -19,11 +24,9 @@ from ..._response import (
19
24
  async_to_streamed_response_wrapper,
20
25
  )
21
26
  from ..._base_client import make_request_options
27
+ from ...types.v1.component import Component
22
28
  from ...types.v1.component_list_response import ComponentListResponse
23
- from ...types.v1.component_embed_response import ComponentEmbedResponse
24
- from ...types.v1.component_create_response import ComponentCreateResponse
25
- from ...types.v1.component_update_response import ComponentUpdateResponse
26
- from ...types.v1.component_retrieve_response import ComponentRetrieveResponse
29
+ from ...types.v1.component_generate_embed_response import ComponentGenerateEmbedResponse
27
30
 
28
31
  __all__ = ["ComponentsResource", "AsyncComponentsResource"]
29
32
 
@@ -65,7 +68,7 @@ class ComponentsResource(SyncAPIResource):
65
68
  extra_query: Query | None = None,
66
69
  extra_body: Body | None = None,
67
70
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
68
- ) -> ComponentCreateResponse:
71
+ ) -> Component:
69
72
  """
70
73
  Create a new component
71
74
 
@@ -106,7 +109,7 @@ class ComponentsResource(SyncAPIResource):
106
109
  options=make_request_options(
107
110
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
108
111
  ),
109
- cast_to=ComponentCreateResponse,
112
+ cast_to=Component,
110
113
  )
111
114
 
112
115
  def retrieve(
@@ -119,7 +122,7 @@ class ComponentsResource(SyncAPIResource):
119
122
  extra_query: Query | None = None,
120
123
  extra_body: Body | None = None,
121
124
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
122
- ) -> ComponentRetrieveResponse:
125
+ ) -> Component:
123
126
  """
124
127
  Get component by ID
125
128
 
@@ -139,7 +142,7 @@ class ComponentsResource(SyncAPIResource):
139
142
  options=make_request_options(
140
143
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
141
144
  ),
142
- cast_to=ComponentRetrieveResponse,
145
+ cast_to=Component,
143
146
  )
144
147
 
145
148
  def update(
@@ -153,7 +156,7 @@ class ComponentsResource(SyncAPIResource):
153
156
  extra_query: Query | None = None,
154
157
  extra_body: Body | None = None,
155
158
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
156
- ) -> ComponentUpdateResponse:
159
+ ) -> Component:
157
160
  """
158
161
  Update component
159
162
 
@@ -176,7 +179,7 @@ class ComponentsResource(SyncAPIResource):
176
179
  options=make_request_options(
177
180
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
178
181
  ),
179
- cast_to=ComponentUpdateResponse,
182
+ cast_to=Component,
180
183
  )
181
184
 
182
185
  def list(
@@ -317,16 +320,16 @@ class ComponentsResource(SyncAPIResource):
317
320
  cast_to=NoneType,
318
321
  )
319
322
 
320
- def embed(
323
+ def generate_embed(
321
324
  self,
322
325
  id: str,
323
326
  *,
324
327
  expiry_hours: float | NotGiven = NOT_GIVEN,
325
- features: component_embed_params.Features | NotGiven = NOT_GIVEN,
328
+ features: component_generate_embed_params.Features | NotGiven = NOT_GIVEN,
326
329
  group_ids: List[str] | NotGiven = NOT_GIVEN,
327
330
  height: str | NotGiven = NOT_GIVEN,
328
331
  session_id: str | NotGiven = NOT_GIVEN,
329
- theme: component_embed_params.Theme | NotGiven = NOT_GIVEN,
332
+ theme: component_generate_embed_params.Theme | NotGiven = NOT_GIVEN,
330
333
  user_id: str | NotGiven = NOT_GIVEN,
331
334
  width: str | NotGiven = NOT_GIVEN,
332
335
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -335,7 +338,7 @@ class ComponentsResource(SyncAPIResource):
335
338
  extra_query: Query | None = None,
336
339
  extra_body: Body | None = None,
337
340
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
338
- ) -> ComponentEmbedResponse:
341
+ ) -> ComponentGenerateEmbedResponse:
339
342
  """
340
343
  Generate embed code for component
341
344
 
@@ -379,12 +382,12 @@ class ComponentsResource(SyncAPIResource):
379
382
  "user_id": user_id,
380
383
  "width": width,
381
384
  },
382
- component_embed_params.ComponentEmbedParams,
385
+ component_generate_embed_params.ComponentGenerateEmbedParams,
383
386
  ),
384
387
  options=make_request_options(
385
388
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
386
389
  ),
387
- cast_to=ComponentEmbedResponse,
390
+ cast_to=ComponentGenerateEmbedResponse,
388
391
  )
389
392
 
390
393
  def interact(
@@ -457,7 +460,7 @@ class AsyncComponentsResource(AsyncAPIResource):
457
460
  extra_query: Query | None = None,
458
461
  extra_body: Body | None = None,
459
462
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
460
- ) -> ComponentCreateResponse:
463
+ ) -> Component:
461
464
  """
462
465
  Create a new component
463
466
 
@@ -498,7 +501,7 @@ class AsyncComponentsResource(AsyncAPIResource):
498
501
  options=make_request_options(
499
502
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
500
503
  ),
501
- cast_to=ComponentCreateResponse,
504
+ cast_to=Component,
502
505
  )
503
506
 
504
507
  async def retrieve(
@@ -511,7 +514,7 @@ class AsyncComponentsResource(AsyncAPIResource):
511
514
  extra_query: Query | None = None,
512
515
  extra_body: Body | None = None,
513
516
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
514
- ) -> ComponentRetrieveResponse:
517
+ ) -> Component:
515
518
  """
516
519
  Get component by ID
517
520
 
@@ -531,7 +534,7 @@ class AsyncComponentsResource(AsyncAPIResource):
531
534
  options=make_request_options(
532
535
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
533
536
  ),
534
- cast_to=ComponentRetrieveResponse,
537
+ cast_to=Component,
535
538
  )
536
539
 
537
540
  async def update(
@@ -545,7 +548,7 @@ class AsyncComponentsResource(AsyncAPIResource):
545
548
  extra_query: Query | None = None,
546
549
  extra_body: Body | None = None,
547
550
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
548
- ) -> ComponentUpdateResponse:
551
+ ) -> Component:
549
552
  """
550
553
  Update component
551
554
 
@@ -568,7 +571,7 @@ class AsyncComponentsResource(AsyncAPIResource):
568
571
  options=make_request_options(
569
572
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
570
573
  ),
571
- cast_to=ComponentUpdateResponse,
574
+ cast_to=Component,
572
575
  )
573
576
 
574
577
  async def list(
@@ -709,16 +712,16 @@ class AsyncComponentsResource(AsyncAPIResource):
709
712
  cast_to=NoneType,
710
713
  )
711
714
 
712
- async def embed(
715
+ async def generate_embed(
713
716
  self,
714
717
  id: str,
715
718
  *,
716
719
  expiry_hours: float | NotGiven = NOT_GIVEN,
717
- features: component_embed_params.Features | NotGiven = NOT_GIVEN,
720
+ features: component_generate_embed_params.Features | NotGiven = NOT_GIVEN,
718
721
  group_ids: List[str] | NotGiven = NOT_GIVEN,
719
722
  height: str | NotGiven = NOT_GIVEN,
720
723
  session_id: str | NotGiven = NOT_GIVEN,
721
- theme: component_embed_params.Theme | NotGiven = NOT_GIVEN,
724
+ theme: component_generate_embed_params.Theme | NotGiven = NOT_GIVEN,
722
725
  user_id: str | NotGiven = NOT_GIVEN,
723
726
  width: str | NotGiven = NOT_GIVEN,
724
727
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -727,7 +730,7 @@ class AsyncComponentsResource(AsyncAPIResource):
727
730
  extra_query: Query | None = None,
728
731
  extra_body: Body | None = None,
729
732
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
730
- ) -> ComponentEmbedResponse:
733
+ ) -> ComponentGenerateEmbedResponse:
731
734
  """
732
735
  Generate embed code for component
733
736
 
@@ -771,12 +774,12 @@ class AsyncComponentsResource(AsyncAPIResource):
771
774
  "user_id": user_id,
772
775
  "width": width,
773
776
  },
774
- component_embed_params.ComponentEmbedParams,
777
+ component_generate_embed_params.ComponentGenerateEmbedParams,
775
778
  ),
776
779
  options=make_request_options(
777
780
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
778
781
  ),
779
- cast_to=ComponentEmbedResponse,
782
+ cast_to=ComponentGenerateEmbedResponse,
780
783
  )
781
784
 
782
785
  async def interact(
@@ -837,8 +840,8 @@ class ComponentsResourceWithRawResponse:
837
840
  self.deactivate = to_raw_response_wrapper(
838
841
  components.deactivate,
839
842
  )
840
- self.embed = to_raw_response_wrapper(
841
- components.embed,
843
+ self.generate_embed = to_raw_response_wrapper(
844
+ components.generate_embed,
842
845
  )
843
846
  self.interact = to_raw_response_wrapper(
844
847
  components.interact,
@@ -870,8 +873,8 @@ class AsyncComponentsResourceWithRawResponse:
870
873
  self.deactivate = async_to_raw_response_wrapper(
871
874
  components.deactivate,
872
875
  )
873
- self.embed = async_to_raw_response_wrapper(
874
- components.embed,
876
+ self.generate_embed = async_to_raw_response_wrapper(
877
+ components.generate_embed,
875
878
  )
876
879
  self.interact = async_to_raw_response_wrapper(
877
880
  components.interact,
@@ -903,8 +906,8 @@ class ComponentsResourceWithStreamingResponse:
903
906
  self.deactivate = to_streamed_response_wrapper(
904
907
  components.deactivate,
905
908
  )
906
- self.embed = to_streamed_response_wrapper(
907
- components.embed,
909
+ self.generate_embed = to_streamed_response_wrapper(
910
+ components.generate_embed,
908
911
  )
909
912
  self.interact = to_streamed_response_wrapper(
910
913
  components.interact,
@@ -936,8 +939,8 @@ class AsyncComponentsResourceWithStreamingResponse:
936
939
  self.deactivate = async_to_streamed_response_wrapper(
937
940
  components.deactivate,
938
941
  )
939
- self.embed = async_to_streamed_response_wrapper(
940
- components.embed,
942
+ self.generate_embed = async_to_streamed_response_wrapper(
943
+ components.generate_embed,
941
944
  )
942
945
  self.interact = async_to_streamed_response_wrapper(
943
946
  components.interact,
@@ -123,6 +123,40 @@ class ExplainersResource(SyncAPIResource):
123
123
  cast_to=NoneType,
124
124
  )
125
125
 
126
+ def retrieve(
127
+ self,
128
+ component_id: str,
129
+ *,
130
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
131
+ # The extra values given here take precedence over values defined on the client or passed to this method.
132
+ extra_headers: Headers | None = None,
133
+ extra_query: Query | None = None,
134
+ extra_body: Body | None = None,
135
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
136
+ ) -> None:
137
+ """
138
+ Get explainer video by component ID
139
+
140
+ Args:
141
+ extra_headers: Send extra headers
142
+
143
+ extra_query: Add additional query parameters to the request
144
+
145
+ extra_body: Add additional JSON properties to the request
146
+
147
+ timeout: Override the client-level default timeout for this request, in seconds
148
+ """
149
+ if not component_id:
150
+ raise ValueError(f"Expected a non-empty value for `component_id` but received {component_id!r}")
151
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
152
+ return self._get(
153
+ f"/api/v1/explainers/component/{component_id}",
154
+ options=make_request_options(
155
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
156
+ ),
157
+ cast_to=NoneType,
158
+ )
159
+
126
160
  def handle_webhook(
127
161
  self,
128
162
  *,
@@ -268,6 +302,40 @@ class AsyncExplainersResource(AsyncAPIResource):
268
302
  cast_to=NoneType,
269
303
  )
270
304
 
305
+ async def retrieve(
306
+ self,
307
+ component_id: str,
308
+ *,
309
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
310
+ # The extra values given here take precedence over values defined on the client or passed to this method.
311
+ extra_headers: Headers | None = None,
312
+ extra_query: Query | None = None,
313
+ extra_body: Body | None = None,
314
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
315
+ ) -> None:
316
+ """
317
+ Get explainer video by component ID
318
+
319
+ Args:
320
+ extra_headers: Send extra headers
321
+
322
+ extra_query: Add additional query parameters to the request
323
+
324
+ extra_body: Add additional JSON properties to the request
325
+
326
+ timeout: Override the client-level default timeout for this request, in seconds
327
+ """
328
+ if not component_id:
329
+ raise ValueError(f"Expected a non-empty value for `component_id` but received {component_id!r}")
330
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
331
+ return await self._get(
332
+ f"/api/v1/explainers/component/{component_id}",
333
+ options=make_request_options(
334
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
335
+ ),
336
+ cast_to=NoneType,
337
+ )
338
+
271
339
  async def handle_webhook(
272
340
  self,
273
341
  *,
@@ -320,6 +388,9 @@ class ExplainersResourceWithRawResponse:
320
388
  self.create = to_raw_response_wrapper(
321
389
  explainers.create,
322
390
  )
391
+ self.retrieve = to_raw_response_wrapper(
392
+ explainers.retrieve,
393
+ )
323
394
  self.handle_webhook = to_raw_response_wrapper(
324
395
  explainers.handle_webhook,
325
396
  )
@@ -332,6 +403,9 @@ class AsyncExplainersResourceWithRawResponse:
332
403
  self.create = async_to_raw_response_wrapper(
333
404
  explainers.create,
334
405
  )
406
+ self.retrieve = async_to_raw_response_wrapper(
407
+ explainers.retrieve,
408
+ )
335
409
  self.handle_webhook = async_to_raw_response_wrapper(
336
410
  explainers.handle_webhook,
337
411
  )
@@ -344,6 +418,9 @@ class ExplainersResourceWithStreamingResponse:
344
418
  self.create = to_streamed_response_wrapper(
345
419
  explainers.create,
346
420
  )
421
+ self.retrieve = to_streamed_response_wrapper(
422
+ explainers.retrieve,
423
+ )
347
424
  self.handle_webhook = to_streamed_response_wrapper(
348
425
  explainers.handle_webhook,
349
426
  )
@@ -356,6 +433,9 @@ class AsyncExplainersResourceWithStreamingResponse:
356
433
  self.create = async_to_streamed_response_wrapper(
357
434
  explainers.create,
358
435
  )
436
+ self.retrieve = async_to_streamed_response_wrapper(
437
+ explainers.retrieve,
438
+ )
359
439
  self.handle_webhook = async_to_streamed_response_wrapper(
360
440
  explainers.handle_webhook,
361
441
  )
@@ -26,7 +26,7 @@ from ..._response import (
26
26
  from ..._base_client import make_request_options
27
27
  from ...types.v1.flashcard_get_types_response import FlashcardGetTypesResponse
28
28
  from ...types.v1.flashcard_batch_process_response import FlashcardBatchProcessResponse
29
- from ...types.v1.flashcard_get_algorithm_info_response import FlashcardGetAlgorithmInfoResponse
29
+ from ...types.v1.flashcard_get_algorithm_response import FlashcardGetAlgorithmResponse
30
30
 
31
31
  __all__ = ["FlashcardsResource", "AsyncFlashcardsResource"]
32
32
 
@@ -99,7 +99,7 @@ class FlashcardsResource(SyncAPIResource):
99
99
  cast_to=FlashcardBatchProcessResponse,
100
100
  )
101
101
 
102
- def get_algorithm_info(
102
+ def get_algorithm(
103
103
  self,
104
104
  *,
105
105
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -108,14 +108,14 @@ class FlashcardsResource(SyncAPIResource):
108
108
  extra_query: Query | None = None,
109
109
  extra_body: Body | None = None,
110
110
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
111
- ) -> FlashcardGetAlgorithmInfoResponse:
111
+ ) -> FlashcardGetAlgorithmResponse:
112
112
  """Get spaced repetition algorithm info"""
113
113
  return self._get(
114
114
  "/api/v1/flashcards/algorithm",
115
115
  options=make_request_options(
116
116
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
117
117
  ),
118
- cast_to=FlashcardGetAlgorithmInfoResponse,
118
+ cast_to=FlashcardGetAlgorithmResponse,
119
119
  )
120
120
 
121
121
  def get_all(
@@ -421,7 +421,7 @@ class AsyncFlashcardsResource(AsyncAPIResource):
421
421
  cast_to=FlashcardBatchProcessResponse,
422
422
  )
423
423
 
424
- async def get_algorithm_info(
424
+ async def get_algorithm(
425
425
  self,
426
426
  *,
427
427
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -430,14 +430,14 @@ class AsyncFlashcardsResource(AsyncAPIResource):
430
430
  extra_query: Query | None = None,
431
431
  extra_body: Body | None = None,
432
432
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
433
- ) -> FlashcardGetAlgorithmInfoResponse:
433
+ ) -> FlashcardGetAlgorithmResponse:
434
434
  """Get spaced repetition algorithm info"""
435
435
  return await self._get(
436
436
  "/api/v1/flashcards/algorithm",
437
437
  options=make_request_options(
438
438
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
439
439
  ),
440
- cast_to=FlashcardGetAlgorithmInfoResponse,
440
+ cast_to=FlashcardGetAlgorithmResponse,
441
441
  )
442
442
 
443
443
  async def get_all(
@@ -682,8 +682,8 @@ class FlashcardsResourceWithRawResponse:
682
682
  self.batch_process = to_raw_response_wrapper(
683
683
  flashcards.batch_process,
684
684
  )
685
- self.get_algorithm_info = to_raw_response_wrapper(
686
- flashcards.get_algorithm_info,
685
+ self.get_algorithm = to_raw_response_wrapper(
686
+ flashcards.get_algorithm,
687
687
  )
688
688
  self.get_all = to_raw_response_wrapper(
689
689
  flashcards.get_all,
@@ -709,8 +709,8 @@ class AsyncFlashcardsResourceWithRawResponse:
709
709
  self.batch_process = async_to_raw_response_wrapper(
710
710
  flashcards.batch_process,
711
711
  )
712
- self.get_algorithm_info = async_to_raw_response_wrapper(
713
- flashcards.get_algorithm_info,
712
+ self.get_algorithm = async_to_raw_response_wrapper(
713
+ flashcards.get_algorithm,
714
714
  )
715
715
  self.get_all = async_to_raw_response_wrapper(
716
716
  flashcards.get_all,
@@ -736,8 +736,8 @@ class FlashcardsResourceWithStreamingResponse:
736
736
  self.batch_process = to_streamed_response_wrapper(
737
737
  flashcards.batch_process,
738
738
  )
739
- self.get_algorithm_info = to_streamed_response_wrapper(
740
- flashcards.get_algorithm_info,
739
+ self.get_algorithm = to_streamed_response_wrapper(
740
+ flashcards.get_algorithm,
741
741
  )
742
742
  self.get_all = to_streamed_response_wrapper(
743
743
  flashcards.get_all,
@@ -763,8 +763,8 @@ class AsyncFlashcardsResourceWithStreamingResponse:
763
763
  self.batch_process = async_to_streamed_response_wrapper(
764
764
  flashcards.batch_process,
765
765
  )
766
- self.get_algorithm_info = async_to_streamed_response_wrapper(
767
- flashcards.get_algorithm_info,
766
+ self.get_algorithm = async_to_streamed_response_wrapper(
767
+ flashcards.get_algorithm,
768
768
  )
769
769
  self.get_all = async_to_streamed_response_wrapper(
770
770
  flashcards.get_all,