studyfetch-sdk 0.1.0a1__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/__init__.py +100 -0
- studyfetch_sdk/_base_client.py +1992 -0
- studyfetch_sdk/_client.py +403 -0
- studyfetch_sdk/_compat.py +219 -0
- studyfetch_sdk/_constants.py +14 -0
- studyfetch_sdk/_exceptions.py +108 -0
- studyfetch_sdk/_files.py +123 -0
- studyfetch_sdk/_models.py +808 -0
- studyfetch_sdk/_qs.py +150 -0
- studyfetch_sdk/_resource.py +43 -0
- studyfetch_sdk/_response.py +832 -0
- studyfetch_sdk/_streaming.py +333 -0
- studyfetch_sdk/_types.py +219 -0
- studyfetch_sdk/_utils/__init__.py +57 -0
- studyfetch_sdk/_utils/_logs.py +25 -0
- studyfetch_sdk/_utils/_proxy.py +65 -0
- studyfetch_sdk/_utils/_reflection.py +42 -0
- studyfetch_sdk/_utils/_resources_proxy.py +24 -0
- studyfetch_sdk/_utils/_streams.py +12 -0
- studyfetch_sdk/_utils/_sync.py +86 -0
- studyfetch_sdk/_utils/_transform.py +447 -0
- studyfetch_sdk/_utils/_typing.py +151 -0
- studyfetch_sdk/_utils/_utils.py +422 -0
- studyfetch_sdk/_version.py +4 -0
- studyfetch_sdk/lib/.keep +4 -0
- studyfetch_sdk/py.typed +0 -0
- studyfetch_sdk/resources/__init__.py +19 -0
- studyfetch_sdk/resources/v1/__init__.py +215 -0
- studyfetch_sdk/resources/v1/audio_recaps/__init__.py +33 -0
- studyfetch_sdk/resources/v1/audio_recaps/audio_recaps.py +328 -0
- studyfetch_sdk/resources/v1/audio_recaps/sections.py +250 -0
- studyfetch_sdk/resources/v1/auth/__init__.py +61 -0
- studyfetch_sdk/resources/v1/auth/auth.py +620 -0
- studyfetch_sdk/resources/v1/auth/login.py +374 -0
- studyfetch_sdk/resources/v1/auth/number_2fa.py +457 -0
- studyfetch_sdk/resources/v1/auth/organization_invites.py +160 -0
- studyfetch_sdk/resources/v1/chat/__init__.py +47 -0
- studyfetch_sdk/resources/v1/chat/chat.py +576 -0
- studyfetch_sdk/resources/v1/chat/sessions.py +222 -0
- studyfetch_sdk/resources/v1/chat/test.py +190 -0
- studyfetch_sdk/resources/v1/components.py +943 -0
- studyfetch_sdk/resources/v1/embed/__init__.py +33 -0
- studyfetch_sdk/resources/v1/embed/component.py +278 -0
- studyfetch_sdk/resources/v1/embed/embed.py +346 -0
- studyfetch_sdk/resources/v1/explainers.py +216 -0
- studyfetch_sdk/resources/v1/flashcards.py +783 -0
- studyfetch_sdk/resources/v1/folders.py +744 -0
- studyfetch_sdk/resources/v1/materials/__init__.py +61 -0
- studyfetch_sdk/resources/v1/materials/bulk.py +134 -0
- studyfetch_sdk/resources/v1/materials/materials.py +1029 -0
- studyfetch_sdk/resources/v1/materials/test.py +290 -0
- studyfetch_sdk/resources/v1/materials/upload.py +410 -0
- studyfetch_sdk/resources/v1/organizations/__init__.py +103 -0
- studyfetch_sdk/resources/v1/organizations/api_keys.py +260 -0
- studyfetch_sdk/resources/v1/organizations/logo/__init__.py +33 -0
- studyfetch_sdk/resources/v1/organizations/logo/logo.py +166 -0
- studyfetch_sdk/resources/v1/organizations/logo/upload.py +184 -0
- studyfetch_sdk/resources/v1/organizations/organizations.py +428 -0
- studyfetch_sdk/resources/v1/organizations/profile/__init__.py +47 -0
- studyfetch_sdk/resources/v1/organizations/profile/models.py +134 -0
- studyfetch_sdk/resources/v1/organizations/profile/profile.py +248 -0
- studyfetch_sdk/resources/v1/organizations/profile/team.py +462 -0
- studyfetch_sdk/resources/v1/organizations/team/__init__.py +33 -0
- studyfetch_sdk/resources/v1/organizations/team/invite.py +236 -0
- studyfetch_sdk/resources/v1/organizations/team/team.py +564 -0
- studyfetch_sdk/resources/v1/organizations/theme.py +184 -0
- studyfetch_sdk/resources/v1/organizations/usage.py +160 -0
- studyfetch_sdk/resources/v1/scenarios/__init__.py +61 -0
- studyfetch_sdk/resources/v1/scenarios/component.py +330 -0
- studyfetch_sdk/resources/v1/scenarios/scenarios.py +708 -0
- studyfetch_sdk/resources/v1/scenarios/sessions.py +236 -0
- studyfetch_sdk/resources/v1/scenarios/submissions/__init__.py +33 -0
- studyfetch_sdk/resources/v1/scenarios/submissions/submissions.py +102 -0
- studyfetch_sdk/resources/v1/scenarios/submissions/user.py +210 -0
- studyfetch_sdk/resources/v1/tests/__init__.py +33 -0
- studyfetch_sdk/resources/v1/tests/component.py +160 -0
- studyfetch_sdk/resources/v1/tests/tests.py +682 -0
- studyfetch_sdk/resources/v1/upload/__init__.py +33 -0
- studyfetch_sdk/resources/v1/upload/component.py +388 -0
- studyfetch_sdk/resources/v1/upload/upload.py +102 -0
- studyfetch_sdk/resources/v1/usage.py +1126 -0
- studyfetch_sdk/resources/v1/v1.py +518 -0
- studyfetch_sdk/types/__init__.py +3 -0
- studyfetch_sdk/types/v1/__init__.py +52 -0
- studyfetch_sdk/types/v1/admin/__init__.py +3 -0
- studyfetch_sdk/types/v1/admin/organizations/__init__.py +3 -0
- studyfetch_sdk/types/v1/admin/organizations/models/__init__.py +3 -0
- studyfetch_sdk/types/v1/audio_recaps/__init__.py +3 -0
- studyfetch_sdk/types/v1/auth/__init__.py +13 -0
- studyfetch_sdk/types/v1/auth/login_authenticate_params.py +15 -0
- studyfetch_sdk/types/v1/auth/login_verify_2fa_params.py +15 -0
- studyfetch_sdk/types/v1/auth/login_verify_backup_code_params.py +17 -0
- studyfetch_sdk/types/v1/auth/number_2fa_disable_params.py +12 -0
- studyfetch_sdk/types/v1/auth/number_2fa_enable_params.py +12 -0
- studyfetch_sdk/types/v1/auth/number_2fa_regenerate_backup_codes_params.py +12 -0
- studyfetch_sdk/types/v1/auth/number_2fa_send_code_params.py +12 -0
- studyfetch_sdk/types/v1/auth_register_new_user_params.py +23 -0
- studyfetch_sdk/types/v1/auth_request_password_reset_params.py +12 -0
- studyfetch_sdk/types/v1/auth_reset_password_params.py +17 -0
- studyfetch_sdk/types/v1/chat/__init__.py +5 -0
- studyfetch_sdk/types/v1/chat/session_retrieve_params.py +11 -0
- studyfetch_sdk/types/v1/chat_retrieve_session_params.py +13 -0
- studyfetch_sdk/types/v1/chat_send_message_params.py +54 -0
- studyfetch_sdk/types/v1/chat_stream_params.py +28 -0
- studyfetch_sdk/types/v1/component_create_params.py +29 -0
- studyfetch_sdk/types/v1/component_create_response.py +46 -0
- studyfetch_sdk/types/v1/component_embed_params.py +99 -0
- studyfetch_sdk/types/v1/component_embed_response.py +38 -0
- studyfetch_sdk/types/v1/component_list_params.py +14 -0
- studyfetch_sdk/types/v1/component_list_response.py +49 -0
- studyfetch_sdk/types/v1/component_retrieve_response.py +46 -0
- studyfetch_sdk/types/v1/component_update_params.py +12 -0
- studyfetch_sdk/types/v1/component_update_response.py +46 -0
- studyfetch_sdk/types/v1/embed/__init__.py +6 -0
- studyfetch_sdk/types/v1/embed/component_interact_params.py +14 -0
- studyfetch_sdk/types/v1/embed/component_retrieve_params.py +12 -0
- studyfetch_sdk/types/v1/embed_get_theme_params.py +12 -0
- studyfetch_sdk/types/v1/embed_verify_params.py +12 -0
- studyfetch_sdk/types/v1/explainer_handle_webhook_params.py +11 -0
- studyfetch_sdk/types/v1/flashcard_batch_process_params.py +36 -0
- studyfetch_sdk/types/v1/flashcard_batch_process_response.py +39 -0
- studyfetch_sdk/types/v1/flashcard_get_algorithm_info_response.py +37 -0
- studyfetch_sdk/types/v1/flashcard_get_all_params.py +23 -0
- studyfetch_sdk/types/v1/flashcard_get_due_params.py +19 -0
- studyfetch_sdk/types/v1/flashcard_get_stats_params.py +17 -0
- studyfetch_sdk/types/v1/flashcard_get_types_response.py +14 -0
- studyfetch_sdk/types/v1/flashcard_rate_params.py +23 -0
- studyfetch_sdk/types/v1/folder_create_params.py +17 -0
- studyfetch_sdk/types/v1/folder_list_params.py +14 -0
- studyfetch_sdk/types/v1/folder_update_params.py +17 -0
- studyfetch_sdk/types/v1/material_create_params.py +34 -0
- studyfetch_sdk/types/v1/material_create_response.py +62 -0
- studyfetch_sdk/types/v1/material_get_download_url_params.py +13 -0
- studyfetch_sdk/types/v1/material_list_params.py +14 -0
- studyfetch_sdk/types/v1/material_list_response.py +65 -0
- studyfetch_sdk/types/v1/material_retrieve_response.py +62 -0
- studyfetch_sdk/types/v1/materials/__init__.py +8 -0
- studyfetch_sdk/types/v1/materials/upload_upload_file_params.py +20 -0
- studyfetch_sdk/types/v1/materials/upload_upload_file_response.py +62 -0
- studyfetch_sdk/types/v1/materials/upload_upload_from_url_params.py +20 -0
- studyfetch_sdk/types/v1/materials/upload_upload_from_url_response.py +62 -0
- studyfetch_sdk/types/v1/organizations/__init__.py +3 -0
- studyfetch_sdk/types/v1/organizations/logo/__init__.py +3 -0
- studyfetch_sdk/types/v1/organizations/profile/__init__.py +3 -0
- studyfetch_sdk/types/v1/organizations/team/__init__.py +3 -0
- studyfetch_sdk/types/v1/scenario_create_params.py +11 -0
- studyfetch_sdk/types/v1/scenario_update_params.py +11 -0
- studyfetch_sdk/types/v1/scenarios/__init__.py +5 -0
- studyfetch_sdk/types/v1/scenarios/component_update_params.py +11 -0
- studyfetch_sdk/types/v1/scenarios/submissions/__init__.py +3 -0
- studyfetch_sdk/types/v1/test_create_params.py +20 -0
- studyfetch_sdk/types/v1/test_retake_params.py +14 -0
- studyfetch_sdk/types/v1/test_submit_answer_params.py +20 -0
- studyfetch_sdk/types/v1/test_submit_params.py +14 -0
- studyfetch_sdk/types/v1/tests/__init__.py +3 -0
- studyfetch_sdk/types/v1/upload/__init__.py +3 -0
- studyfetch_sdk/types/v1/usage_get_stats_params.py +23 -0
- studyfetch_sdk/types/v1/usage_get_summary_params.py +23 -0
- studyfetch_sdk/types/v1/usage_list_events_params.py +61 -0
- studyfetch_sdk/types/v1/usage_track_chat_params.py +54 -0
- studyfetch_sdk/types/v1/usage_track_event_params.py +128 -0
- studyfetch_sdk-0.1.0a1.dist-info/METADATA +453 -0
- studyfetch_sdk-0.1.0a1.dist-info/RECORD +165 -0
- studyfetch_sdk-0.1.0a1.dist-info/WHEEL +4 -0
- studyfetch_sdk-0.1.0a1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,36 @@
|
|
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 Iterable
|
6
|
+
from typing_extensions import Literal, Required, Annotated, TypedDict
|
7
|
+
|
8
|
+
from ..._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["FlashcardBatchProcessParams", "Operation"]
|
11
|
+
|
12
|
+
|
13
|
+
class FlashcardBatchProcessParams(TypedDict, total=False):
|
14
|
+
operations: Required[Iterable[Operation]]
|
15
|
+
|
16
|
+
group_id: Annotated[str, PropertyInfo(alias="groupId")]
|
17
|
+
"""Group ID (optional)"""
|
18
|
+
|
19
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
20
|
+
"""User ID (optional)"""
|
21
|
+
|
22
|
+
|
23
|
+
class Operation(TypedDict, total=False):
|
24
|
+
action: Required[Literal["rate", "get_due", "get_all", "get_stats"]]
|
25
|
+
|
26
|
+
card_id: Required[Annotated[str, PropertyInfo(alias="cardId")]]
|
27
|
+
"""Flashcard ID"""
|
28
|
+
|
29
|
+
group_id: Annotated[str, PropertyInfo(alias="groupId")]
|
30
|
+
"""Group ID (optional)"""
|
31
|
+
|
32
|
+
rating: float
|
33
|
+
"""Rating for rate action (0-3)"""
|
34
|
+
|
35
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
36
|
+
"""User ID (optional)"""
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import List, Optional
|
4
|
+
|
5
|
+
from pydantic import Field as FieldInfo
|
6
|
+
|
7
|
+
from ..._models import BaseModel
|
8
|
+
|
9
|
+
__all__ = ["FlashcardBatchProcessResponse", "Result"]
|
10
|
+
|
11
|
+
|
12
|
+
class Result(BaseModel):
|
13
|
+
card_id: str = FieldInfo(alias="cardId")
|
14
|
+
"""Flashcard ID"""
|
15
|
+
|
16
|
+
success: bool
|
17
|
+
"""Operation success"""
|
18
|
+
|
19
|
+
error: Optional[str] = None
|
20
|
+
"""Error message if failed"""
|
21
|
+
|
22
|
+
result: Optional[object] = None
|
23
|
+
"""Operation result"""
|
24
|
+
|
25
|
+
|
26
|
+
class FlashcardBatchProcessResponse(BaseModel):
|
27
|
+
failed: Optional[float] = None
|
28
|
+
"""Failed operations"""
|
29
|
+
|
30
|
+
processed: Optional[float] = None
|
31
|
+
"""Total operations processed"""
|
32
|
+
|
33
|
+
results: Optional[List[Result]] = None
|
34
|
+
|
35
|
+
success: Optional[bool] = None
|
36
|
+
"""Overall success"""
|
37
|
+
|
38
|
+
successful: Optional[float] = None
|
39
|
+
"""Successful operations"""
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import Dict, List, Optional
|
4
|
+
|
5
|
+
from ..._models import BaseModel
|
6
|
+
|
7
|
+
__all__ = ["FlashcardGetAlgorithmInfoResponse", "Intervals", "Ratings"]
|
8
|
+
|
9
|
+
|
10
|
+
class Intervals(BaseModel):
|
11
|
+
graduated: Optional[str] = None
|
12
|
+
"""Description of graduated intervals"""
|
13
|
+
|
14
|
+
lapse: Optional[str] = None
|
15
|
+
"""Description of lapse intervals"""
|
16
|
+
|
17
|
+
learning: Optional[List[float]] = None
|
18
|
+
"""Learning intervals in minutes"""
|
19
|
+
|
20
|
+
|
21
|
+
class Ratings(BaseModel):
|
22
|
+
description: str
|
23
|
+
"""Rating description"""
|
24
|
+
|
25
|
+
name: str
|
26
|
+
"""Rating name"""
|
27
|
+
|
28
|
+
|
29
|
+
class FlashcardGetAlgorithmInfoResponse(BaseModel):
|
30
|
+
algorithm: Optional[str] = None
|
31
|
+
"""Algorithm name"""
|
32
|
+
|
33
|
+
intervals: Optional[Intervals] = None
|
34
|
+
|
35
|
+
phases: Optional[Dict[str, str]] = None
|
36
|
+
|
37
|
+
ratings: Optional[Dict[str, Ratings]] = None
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["FlashcardGetAllParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class FlashcardGetAllParams(TypedDict, total=False):
|
13
|
+
group_id: Annotated[str, PropertyInfo(alias="groupId")]
|
14
|
+
"""Group ID"""
|
15
|
+
|
16
|
+
limit: float
|
17
|
+
"""Max number of cards"""
|
18
|
+
|
19
|
+
offset: float
|
20
|
+
"""Offset"""
|
21
|
+
|
22
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
23
|
+
"""User ID"""
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Required, Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["FlashcardGetDueParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class FlashcardGetDueParams(TypedDict, total=False):
|
13
|
+
group_id: Required[Annotated[str, PropertyInfo(alias="groupId")]]
|
14
|
+
|
15
|
+
limit: float
|
16
|
+
"""Max number of cards"""
|
17
|
+
|
18
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
19
|
+
"""User ID"""
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["FlashcardGetStatsParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class FlashcardGetStatsParams(TypedDict, total=False):
|
13
|
+
group_id: Annotated[str, PropertyInfo(alias="groupId")]
|
14
|
+
"""Group ID"""
|
15
|
+
|
16
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
17
|
+
"""User ID"""
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import Dict, List, Optional
|
4
|
+
|
5
|
+
from ..._models import BaseModel
|
6
|
+
|
7
|
+
__all__ = ["FlashcardGetTypesResponse"]
|
8
|
+
|
9
|
+
|
10
|
+
class FlashcardGetTypesResponse(BaseModel):
|
11
|
+
descriptions: Optional[Dict[str, str]] = None
|
12
|
+
|
13
|
+
types: Optional[List[str]] = None
|
14
|
+
"""List of flashcard types"""
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Required, Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["FlashcardRateParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class FlashcardRateParams(TypedDict, total=False):
|
13
|
+
card_id: Required[Annotated[str, PropertyInfo(alias="cardId")]]
|
14
|
+
"""Flashcard ID"""
|
15
|
+
|
16
|
+
rating: Required[float]
|
17
|
+
"""Rating (0-3)"""
|
18
|
+
|
19
|
+
group_id: Annotated[str, PropertyInfo(alias="groupId")]
|
20
|
+
"""Group ID (optional)"""
|
21
|
+
|
22
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
23
|
+
"""User ID (optional)"""
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Required, Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["FolderCreateParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class FolderCreateParams(TypedDict, total=False):
|
13
|
+
name: Required[str]
|
14
|
+
"""Folder name"""
|
15
|
+
|
16
|
+
parent_id: Annotated[str, PropertyInfo(alias="parentId")]
|
17
|
+
"""Parent folder ID (optional)"""
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["FolderListParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class FolderListParams(TypedDict, total=False):
|
13
|
+
parent_id: Annotated[object, PropertyInfo(alias="parentId")]
|
14
|
+
"""Filter by parent folder"""
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["FolderUpdateParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class FolderUpdateParams(TypedDict, total=False):
|
13
|
+
name: str
|
14
|
+
"""New folder name"""
|
15
|
+
|
16
|
+
parent_id: Annotated[str, PropertyInfo(alias="parentId")]
|
17
|
+
"""New parent folder ID"""
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Literal, Required, Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["MaterialCreateParams", "Content"]
|
10
|
+
|
11
|
+
|
12
|
+
class MaterialCreateParams(TypedDict, total=False):
|
13
|
+
content: Required[Content]
|
14
|
+
"""Content details"""
|
15
|
+
|
16
|
+
name: Required[str]
|
17
|
+
"""Name of the material"""
|
18
|
+
|
19
|
+
folder_id: Annotated[str, PropertyInfo(alias="folderId")]
|
20
|
+
"""Folder ID to place the material in"""
|
21
|
+
|
22
|
+
|
23
|
+
class Content(TypedDict, total=False):
|
24
|
+
type: Required[Literal["text", "pdf", "video", "audio", "url"]]
|
25
|
+
"""Type of content"""
|
26
|
+
|
27
|
+
source_url: Annotated[str, PropertyInfo(alias="sourceUrl")]
|
28
|
+
"""URL to fetch content from"""
|
29
|
+
|
30
|
+
text: str
|
31
|
+
"""Text content (for text type)"""
|
32
|
+
|
33
|
+
url: str
|
34
|
+
"""URL to the content (for url type)"""
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import Optional
|
4
|
+
from datetime import datetime
|
5
|
+
from typing_extensions import Literal
|
6
|
+
|
7
|
+
from pydantic import Field as FieldInfo
|
8
|
+
|
9
|
+
from ..._models import BaseModel
|
10
|
+
|
11
|
+
__all__ = ["MaterialCreateResponse", "Content"]
|
12
|
+
|
13
|
+
|
14
|
+
class Content(BaseModel):
|
15
|
+
filename: Optional[str] = None
|
16
|
+
|
17
|
+
file_size: Optional[float] = FieldInfo(alias="fileSize", default=None)
|
18
|
+
|
19
|
+
mime_type: Optional[str] = FieldInfo(alias="mimeType", default=None)
|
20
|
+
|
21
|
+
s3_key: Optional[str] = FieldInfo(alias="s3Key", default=None)
|
22
|
+
|
23
|
+
s3_url: Optional[str] = FieldInfo(alias="s3Url", default=None)
|
24
|
+
|
25
|
+
text: Optional[str] = None
|
26
|
+
|
27
|
+
url: Optional[str] = None
|
28
|
+
|
29
|
+
|
30
|
+
class MaterialCreateResponse(BaseModel):
|
31
|
+
api_id: str = FieldInfo(alias="_id")
|
32
|
+
"""Material ID"""
|
33
|
+
|
34
|
+
content: Content
|
35
|
+
"""Material content"""
|
36
|
+
|
37
|
+
content_type: Literal["text", "pdf", "video", "audio", "image", "epub"] = FieldInfo(alias="contentType")
|
38
|
+
"""Content type"""
|
39
|
+
|
40
|
+
created_at: datetime = FieldInfo(alias="createdAt")
|
41
|
+
"""Creation timestamp"""
|
42
|
+
|
43
|
+
folder_id: Optional[str] = FieldInfo(alias="folderId", default=None)
|
44
|
+
"""Folder ID"""
|
45
|
+
|
46
|
+
name: str
|
47
|
+
"""Material name"""
|
48
|
+
|
49
|
+
organization_id: str = FieldInfo(alias="organizationId")
|
50
|
+
"""Organization ID"""
|
51
|
+
|
52
|
+
status: Literal["active", "processing", "pending_upload", "error", "deleted"]
|
53
|
+
"""Material status"""
|
54
|
+
|
55
|
+
updated_at: datetime = FieldInfo(alias="updatedAt")
|
56
|
+
"""Last update timestamp"""
|
57
|
+
|
58
|
+
metadata: Optional[object] = None
|
59
|
+
"""Material metadata"""
|
60
|
+
|
61
|
+
usage: Optional[object] = None
|
62
|
+
"""Usage information"""
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Required, Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["MaterialGetDownloadURLParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class MaterialGetDownloadURLParams(TypedDict, total=False):
|
13
|
+
expires_in: Required[Annotated[str, PropertyInfo(alias="expiresIn")]]
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["MaterialListParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class MaterialListParams(TypedDict, total=False):
|
13
|
+
folder_id: Annotated[str, PropertyInfo(alias="folderId")]
|
14
|
+
"""Filter by folder ID"""
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import List, Optional
|
4
|
+
from datetime import datetime
|
5
|
+
from typing_extensions import Literal, TypeAlias
|
6
|
+
|
7
|
+
from pydantic import Field as FieldInfo
|
8
|
+
|
9
|
+
from ..._models import BaseModel
|
10
|
+
|
11
|
+
__all__ = ["MaterialListResponse", "MaterialListResponseItem", "MaterialListResponseItemContent"]
|
12
|
+
|
13
|
+
|
14
|
+
class MaterialListResponseItemContent(BaseModel):
|
15
|
+
filename: Optional[str] = None
|
16
|
+
|
17
|
+
file_size: Optional[float] = FieldInfo(alias="fileSize", default=None)
|
18
|
+
|
19
|
+
mime_type: Optional[str] = FieldInfo(alias="mimeType", default=None)
|
20
|
+
|
21
|
+
s3_key: Optional[str] = FieldInfo(alias="s3Key", default=None)
|
22
|
+
|
23
|
+
s3_url: Optional[str] = FieldInfo(alias="s3Url", default=None)
|
24
|
+
|
25
|
+
text: Optional[str] = None
|
26
|
+
|
27
|
+
url: Optional[str] = None
|
28
|
+
|
29
|
+
|
30
|
+
class MaterialListResponseItem(BaseModel):
|
31
|
+
api_id: str = FieldInfo(alias="_id")
|
32
|
+
"""Material ID"""
|
33
|
+
|
34
|
+
content: MaterialListResponseItemContent
|
35
|
+
"""Material content"""
|
36
|
+
|
37
|
+
content_type: Literal["text", "pdf", "video", "audio", "image", "epub"] = FieldInfo(alias="contentType")
|
38
|
+
"""Content type"""
|
39
|
+
|
40
|
+
created_at: datetime = FieldInfo(alias="createdAt")
|
41
|
+
"""Creation timestamp"""
|
42
|
+
|
43
|
+
folder_id: Optional[str] = FieldInfo(alias="folderId", default=None)
|
44
|
+
"""Folder ID"""
|
45
|
+
|
46
|
+
name: str
|
47
|
+
"""Material name"""
|
48
|
+
|
49
|
+
organization_id: str = FieldInfo(alias="organizationId")
|
50
|
+
"""Organization ID"""
|
51
|
+
|
52
|
+
status: Literal["active", "processing", "pending_upload", "error", "deleted"]
|
53
|
+
"""Material status"""
|
54
|
+
|
55
|
+
updated_at: datetime = FieldInfo(alias="updatedAt")
|
56
|
+
"""Last update timestamp"""
|
57
|
+
|
58
|
+
metadata: Optional[object] = None
|
59
|
+
"""Material metadata"""
|
60
|
+
|
61
|
+
usage: Optional[object] = None
|
62
|
+
"""Usage information"""
|
63
|
+
|
64
|
+
|
65
|
+
MaterialListResponse: TypeAlias = List[MaterialListResponseItem]
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import Optional
|
4
|
+
from datetime import datetime
|
5
|
+
from typing_extensions import Literal
|
6
|
+
|
7
|
+
from pydantic import Field as FieldInfo
|
8
|
+
|
9
|
+
from ..._models import BaseModel
|
10
|
+
|
11
|
+
__all__ = ["MaterialRetrieveResponse", "Content"]
|
12
|
+
|
13
|
+
|
14
|
+
class Content(BaseModel):
|
15
|
+
filename: Optional[str] = None
|
16
|
+
|
17
|
+
file_size: Optional[float] = FieldInfo(alias="fileSize", default=None)
|
18
|
+
|
19
|
+
mime_type: Optional[str] = FieldInfo(alias="mimeType", default=None)
|
20
|
+
|
21
|
+
s3_key: Optional[str] = FieldInfo(alias="s3Key", default=None)
|
22
|
+
|
23
|
+
s3_url: Optional[str] = FieldInfo(alias="s3Url", default=None)
|
24
|
+
|
25
|
+
text: Optional[str] = None
|
26
|
+
|
27
|
+
url: Optional[str] = None
|
28
|
+
|
29
|
+
|
30
|
+
class MaterialRetrieveResponse(BaseModel):
|
31
|
+
api_id: str = FieldInfo(alias="_id")
|
32
|
+
"""Material ID"""
|
33
|
+
|
34
|
+
content: Content
|
35
|
+
"""Material content"""
|
36
|
+
|
37
|
+
content_type: Literal["text", "pdf", "video", "audio", "image", "epub"] = FieldInfo(alias="contentType")
|
38
|
+
"""Content type"""
|
39
|
+
|
40
|
+
created_at: datetime = FieldInfo(alias="createdAt")
|
41
|
+
"""Creation timestamp"""
|
42
|
+
|
43
|
+
folder_id: Optional[str] = FieldInfo(alias="folderId", default=None)
|
44
|
+
"""Folder ID"""
|
45
|
+
|
46
|
+
name: str
|
47
|
+
"""Material name"""
|
48
|
+
|
49
|
+
organization_id: str = FieldInfo(alias="organizationId")
|
50
|
+
"""Organization ID"""
|
51
|
+
|
52
|
+
status: Literal["active", "processing", "pending_upload", "error", "deleted"]
|
53
|
+
"""Material status"""
|
54
|
+
|
55
|
+
updated_at: datetime = FieldInfo(alias="updatedAt")
|
56
|
+
"""Last update timestamp"""
|
57
|
+
|
58
|
+
metadata: Optional[object] = None
|
59
|
+
"""Material metadata"""
|
60
|
+
|
61
|
+
usage: Optional[object] = None
|
62
|
+
"""Usage information"""
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from .upload_upload_file_params import UploadUploadFileParams as UploadUploadFileParams
|
6
|
+
from .upload_upload_file_response import UploadUploadFileResponse as UploadUploadFileResponse
|
7
|
+
from .upload_upload_from_url_params import UploadUploadFromURLParams as UploadUploadFromURLParams
|
8
|
+
from .upload_upload_from_url_response import UploadUploadFromURLResponse as UploadUploadFromURLResponse
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Required, Annotated, TypedDict
|
6
|
+
|
7
|
+
from ...._types import FileTypes
|
8
|
+
from ...._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["UploadUploadFileParams"]
|
11
|
+
|
12
|
+
|
13
|
+
class UploadUploadFileParams(TypedDict, total=False):
|
14
|
+
file: Required[FileTypes]
|
15
|
+
|
16
|
+
name: Required[str]
|
17
|
+
"""Material name"""
|
18
|
+
|
19
|
+
folder_id: Annotated[str, PropertyInfo(alias="folderId")]
|
20
|
+
"""Folder ID (optional)"""
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import Optional
|
4
|
+
from datetime import datetime
|
5
|
+
from typing_extensions import Literal
|
6
|
+
|
7
|
+
from pydantic import Field as FieldInfo
|
8
|
+
|
9
|
+
from ...._models import BaseModel
|
10
|
+
|
11
|
+
__all__ = ["UploadUploadFileResponse", "Content"]
|
12
|
+
|
13
|
+
|
14
|
+
class Content(BaseModel):
|
15
|
+
filename: Optional[str] = None
|
16
|
+
|
17
|
+
file_size: Optional[float] = FieldInfo(alias="fileSize", default=None)
|
18
|
+
|
19
|
+
mime_type: Optional[str] = FieldInfo(alias="mimeType", default=None)
|
20
|
+
|
21
|
+
s3_key: Optional[str] = FieldInfo(alias="s3Key", default=None)
|
22
|
+
|
23
|
+
s3_url: Optional[str] = FieldInfo(alias="s3Url", default=None)
|
24
|
+
|
25
|
+
text: Optional[str] = None
|
26
|
+
|
27
|
+
url: Optional[str] = None
|
28
|
+
|
29
|
+
|
30
|
+
class UploadUploadFileResponse(BaseModel):
|
31
|
+
api_id: str = FieldInfo(alias="_id")
|
32
|
+
"""Material ID"""
|
33
|
+
|
34
|
+
content: Content
|
35
|
+
"""Material content"""
|
36
|
+
|
37
|
+
content_type: Literal["text", "pdf", "video", "audio", "image", "epub"] = FieldInfo(alias="contentType")
|
38
|
+
"""Content type"""
|
39
|
+
|
40
|
+
created_at: datetime = FieldInfo(alias="createdAt")
|
41
|
+
"""Creation timestamp"""
|
42
|
+
|
43
|
+
folder_id: Optional[str] = FieldInfo(alias="folderId", default=None)
|
44
|
+
"""Folder ID"""
|
45
|
+
|
46
|
+
name: str
|
47
|
+
"""Material name"""
|
48
|
+
|
49
|
+
organization_id: str = FieldInfo(alias="organizationId")
|
50
|
+
"""Organization ID"""
|
51
|
+
|
52
|
+
status: Literal["active", "processing", "pending_upload", "error", "deleted"]
|
53
|
+
"""Material status"""
|
54
|
+
|
55
|
+
updated_at: datetime = FieldInfo(alias="updatedAt")
|
56
|
+
"""Last update timestamp"""
|
57
|
+
|
58
|
+
metadata: Optional[object] = None
|
59
|
+
"""Material metadata"""
|
60
|
+
|
61
|
+
usage: Optional[object] = None
|
62
|
+
"""Usage information"""
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing_extensions import Required, Annotated, TypedDict
|
6
|
+
|
7
|
+
from ...._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["UploadUploadFromURLParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class UploadUploadFromURLParams(TypedDict, total=False):
|
13
|
+
name: Required[str]
|
14
|
+
"""Material name"""
|
15
|
+
|
16
|
+
url: Required[str]
|
17
|
+
"""URL to fetch content from"""
|
18
|
+
|
19
|
+
folder_id: Annotated[str, PropertyInfo(alias="folderId")]
|
20
|
+
"""Folder ID (optional)"""
|