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,12 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["Number2faRegenerateBackupCodesParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class Number2faRegenerateBackupCodesParams(TypedDict, total=False):
|
11
|
+
password: Required[str]
|
12
|
+
"""User password for verification"""
|
@@ -0,0 +1,12 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["Number2faSendCodeParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class Number2faSendCodeParams(TypedDict, total=False):
|
11
|
+
email: Required[str]
|
12
|
+
"""Email to send verification code"""
|
@@ -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__ = ["AuthRegisterNewUserParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class AuthRegisterNewUserParams(TypedDict, total=False):
|
13
|
+
email: Required[str]
|
14
|
+
"""User email address"""
|
15
|
+
|
16
|
+
name: Required[str]
|
17
|
+
"""User full name"""
|
18
|
+
|
19
|
+
organization_name: Required[Annotated[str, PropertyInfo(alias="organizationName")]]
|
20
|
+
"""Organization name"""
|
21
|
+
|
22
|
+
password: Required[str]
|
23
|
+
"""User password"""
|
@@ -0,0 +1,12 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["AuthRequestPasswordResetParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class AuthRequestPasswordResetParams(TypedDict, total=False):
|
11
|
+
email: Required[str]
|
12
|
+
"""Email address to send reset link"""
|
@@ -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__ = ["AuthResetPasswordParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class AuthResetPasswordParams(TypedDict, total=False):
|
13
|
+
token: Required[str]
|
14
|
+
"""Password reset token from email"""
|
15
|
+
|
16
|
+
new_password: Required[Annotated[str, PropertyInfo(alias="newPassword")]]
|
17
|
+
"""New password"""
|
@@ -0,0 +1,11 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["SessionRetrieveParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class SessionRetrieveParams(TypedDict, total=False):
|
11
|
+
limit: Required[str]
|
@@ -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__ = ["ChatRetrieveSessionParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class ChatRetrieveSessionParams(TypedDict, total=False):
|
13
|
+
user_id: Required[Annotated[str, PropertyInfo(alias="userId")]]
|
@@ -0,0 +1,54 @@
|
|
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 Required, Annotated, TypedDict
|
7
|
+
|
8
|
+
from ..._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["ChatSendMessageParams", "Message", "MessageImage"]
|
11
|
+
|
12
|
+
|
13
|
+
class ChatSendMessageParams(TypedDict, total=False):
|
14
|
+
component_id: Required[Annotated[str, PropertyInfo(alias="componentId")]]
|
15
|
+
"""Component ID for context"""
|
16
|
+
|
17
|
+
message: Required[Message]
|
18
|
+
"""Chat message content"""
|
19
|
+
|
20
|
+
x_component_id: Required[Annotated[str, PropertyInfo(alias="x-component-id")]]
|
21
|
+
|
22
|
+
context: object
|
23
|
+
"""Additional context data"""
|
24
|
+
|
25
|
+
group_id: Annotated[str, PropertyInfo(alias="groupId")]
|
26
|
+
"""Group ID for collaboration"""
|
27
|
+
|
28
|
+
session_id: Annotated[str, PropertyInfo(alias="sessionId")]
|
29
|
+
"""Session ID for conversation continuity"""
|
30
|
+
|
31
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
32
|
+
"""User ID for tracking"""
|
33
|
+
|
34
|
+
|
35
|
+
class MessageImage(TypedDict, total=False):
|
36
|
+
base64: str
|
37
|
+
"""Base64 encoded image data"""
|
38
|
+
|
39
|
+
caption: str
|
40
|
+
"""Caption for the image"""
|
41
|
+
|
42
|
+
mime_type: Annotated[str, PropertyInfo(alias="mimeType")]
|
43
|
+
"""MIME type of the image"""
|
44
|
+
|
45
|
+
url: str
|
46
|
+
"""URL of the image"""
|
47
|
+
|
48
|
+
|
49
|
+
class Message(TypedDict, total=False):
|
50
|
+
images: Iterable[MessageImage]
|
51
|
+
"""Images attached to the message"""
|
52
|
+
|
53
|
+
text: str
|
54
|
+
"""Text content of the message"""
|
@@ -0,0 +1,28 @@
|
|
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, Annotated, TypedDict
|
7
|
+
|
8
|
+
from ..._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["ChatStreamParams", "Message"]
|
11
|
+
|
12
|
+
|
13
|
+
class ChatStreamParams(TypedDict, total=False):
|
14
|
+
context: object
|
15
|
+
|
16
|
+
group_id: Annotated[str, PropertyInfo(alias="groupId")]
|
17
|
+
|
18
|
+
messages: Iterable[Message]
|
19
|
+
|
20
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
21
|
+
|
22
|
+
x_component_id: Annotated[str, PropertyInfo(alias="x-component-id")]
|
23
|
+
|
24
|
+
|
25
|
+
class Message(TypedDict, total=False):
|
26
|
+
content: str
|
27
|
+
|
28
|
+
role: Literal["user", "assistant", "system"]
|
@@ -0,0 +1,29 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["ComponentCreateParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class ComponentCreateParams(TypedDict, total=False):
|
11
|
+
config: Required[object]
|
12
|
+
"""Component-specific configuration"""
|
13
|
+
|
14
|
+
name: Required[str]
|
15
|
+
"""Name of the component"""
|
16
|
+
|
17
|
+
origin: Required[Literal["chat", "classroom", "upload", "console", "api"]]
|
18
|
+
"""Origin of the component"""
|
19
|
+
|
20
|
+
type: Required[
|
21
|
+
Literal["chat", "flashcards", "scenarios", "practice_test", "audio_recap", "tutor_me", "explainers", "uploads"]
|
22
|
+
]
|
23
|
+
"""Type of component to create"""
|
24
|
+
|
25
|
+
description: str
|
26
|
+
"""Component description"""
|
27
|
+
|
28
|
+
metadata: object
|
29
|
+
"""Additional metadata"""
|
@@ -0,0 +1,46 @@
|
|
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__ = ["ComponentCreateResponse"]
|
12
|
+
|
13
|
+
|
14
|
+
class ComponentCreateResponse(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["chat", "flashcards", "tests", "scenarios", "explainers", "audio-recap"]
|
37
|
+
"""Component type"""
|
38
|
+
|
39
|
+
updated_at: datetime = FieldInfo(alias="updatedAt")
|
40
|
+
"""Last update timestamp"""
|
41
|
+
|
42
|
+
usage: object
|
43
|
+
"""Usage statistics"""
|
44
|
+
|
45
|
+
description: Optional[str] = None
|
46
|
+
"""Component description"""
|
@@ -0,0 +1,99 @@
|
|
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__ = ["ComponentEmbedParams", "Features", "Theme"]
|
10
|
+
|
11
|
+
|
12
|
+
class ComponentEmbedParams(TypedDict, total=False):
|
13
|
+
expiry_hours: Annotated[float, PropertyInfo(alias="expiryHours")]
|
14
|
+
"""Token expiry time in hours"""
|
15
|
+
|
16
|
+
features: Features
|
17
|
+
"""Feature toggles"""
|
18
|
+
|
19
|
+
group_id: Annotated[str, PropertyInfo(alias="groupId")]
|
20
|
+
"""Group ID for collaboration"""
|
21
|
+
|
22
|
+
height: str
|
23
|
+
"""Embed height (e.g., "400px", "100vh")"""
|
24
|
+
|
25
|
+
session_id: Annotated[str, PropertyInfo(alias="sessionId")]
|
26
|
+
"""Session ID for continuity"""
|
27
|
+
|
28
|
+
theme: Theme
|
29
|
+
"""Theme customization"""
|
30
|
+
|
31
|
+
user_id: Annotated[str, PropertyInfo(alias="userId")]
|
32
|
+
"""User ID for tracking"""
|
33
|
+
|
34
|
+
width: str
|
35
|
+
"""Embed width (e.g., "100%", "600px")"""
|
36
|
+
|
37
|
+
|
38
|
+
class Features(TypedDict, total=False):
|
39
|
+
enable_component_creation: Annotated[bool, PropertyInfo(alias="enableComponentCreation")]
|
40
|
+
"""Enable component creation"""
|
41
|
+
|
42
|
+
enable_follow_ups: Annotated[bool, PropertyInfo(alias="enableFollowUps")]
|
43
|
+
"""Enable follow-up questions"""
|
44
|
+
|
45
|
+
enable_history: Annotated[bool, PropertyInfo(alias="enableHistory")]
|
46
|
+
"""Enable history"""
|
47
|
+
|
48
|
+
enable_image_sources: Annotated[bool, PropertyInfo(alias="enableImageSources")]
|
49
|
+
"""Enable image sources"""
|
50
|
+
|
51
|
+
enable_outline: Annotated[bool, PropertyInfo(alias="enableOutline")]
|
52
|
+
"""Enable outline"""
|
53
|
+
|
54
|
+
enable_transcript: Annotated[bool, PropertyInfo(alias="enableTranscript")]
|
55
|
+
"""Enable transcript"""
|
56
|
+
|
57
|
+
enable_voice: Annotated[bool, PropertyInfo(alias="enableVoice")]
|
58
|
+
"""Enable voice input"""
|
59
|
+
|
60
|
+
enable_web_search: Annotated[bool, PropertyInfo(alias="enableWebSearch")]
|
61
|
+
"""Enable web search"""
|
62
|
+
|
63
|
+
enable_web_search_sources: Annotated[bool, PropertyInfo(alias="enableWebSearchSources")]
|
64
|
+
"""Enable web search sources"""
|
65
|
+
|
66
|
+
placeholder_text: Annotated[str, PropertyInfo(alias="placeholderText")]
|
67
|
+
"""Placeholder text"""
|
68
|
+
|
69
|
+
|
70
|
+
class Theme(TypedDict, total=False):
|
71
|
+
background_color: Annotated[str, PropertyInfo(alias="backgroundColor")]
|
72
|
+
"""Background color (hex)"""
|
73
|
+
|
74
|
+
border_radius: Annotated[str, PropertyInfo(alias="borderRadius")]
|
75
|
+
"""Border radius"""
|
76
|
+
|
77
|
+
font_family: Annotated[str, PropertyInfo(alias="fontFamily")]
|
78
|
+
"""Font family"""
|
79
|
+
|
80
|
+
font_size: Annotated[str, PropertyInfo(alias="fontSize")]
|
81
|
+
"""Font size"""
|
82
|
+
|
83
|
+
hide_branding: Annotated[bool, PropertyInfo(alias="hideBranding")]
|
84
|
+
"""Hide branding"""
|
85
|
+
|
86
|
+
logo_url: Annotated[str, PropertyInfo(alias="logoUrl")]
|
87
|
+
"""Logo URL"""
|
88
|
+
|
89
|
+
padding: str
|
90
|
+
"""Padding"""
|
91
|
+
|
92
|
+
primary_color: Annotated[str, PropertyInfo(alias="primaryColor")]
|
93
|
+
"""Primary color (hex)"""
|
94
|
+
|
95
|
+
secondary_color: Annotated[str, PropertyInfo(alias="secondaryColor")]
|
96
|
+
"""Secondary color (hex)"""
|
97
|
+
|
98
|
+
text_color: Annotated[str, PropertyInfo(alias="textColor")]
|
99
|
+
"""Text color (hex)"""
|
@@ -0,0 +1,38 @@
|
|
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
|
+
|
6
|
+
from pydantic import Field as FieldInfo
|
7
|
+
|
8
|
+
from ..._models import BaseModel
|
9
|
+
|
10
|
+
__all__ = ["ComponentEmbedResponse", "Options"]
|
11
|
+
|
12
|
+
|
13
|
+
class Options(BaseModel):
|
14
|
+
height: Optional[str] = None
|
15
|
+
"""Embed height"""
|
16
|
+
|
17
|
+
width: Optional[str] = None
|
18
|
+
"""Embed width"""
|
19
|
+
|
20
|
+
|
21
|
+
class ComponentEmbedResponse(BaseModel):
|
22
|
+
token: str
|
23
|
+
"""JWT token for authentication"""
|
24
|
+
|
25
|
+
component_id: str = FieldInfo(alias="componentId")
|
26
|
+
"""Component ID"""
|
27
|
+
|
28
|
+
component_type: str = FieldInfo(alias="componentType")
|
29
|
+
"""Component type"""
|
30
|
+
|
31
|
+
embed_url: str = FieldInfo(alias="embedUrl")
|
32
|
+
"""The embed URL for iframe integration"""
|
33
|
+
|
34
|
+
expires_at: datetime = FieldInfo(alias="expiresAt")
|
35
|
+
"""Token expiration timestamp"""
|
36
|
+
|
37
|
+
options: Options
|
38
|
+
"""Embed options"""
|
@@ -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 Literal, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["ComponentListParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class ComponentListParams(TypedDict, total=False):
|
11
|
+
type: Literal[
|
12
|
+
"chat", "flashcards", "scenarios", "practice_test", "audio_recap", "tutor_me", "explainers", "uploads"
|
13
|
+
]
|
14
|
+
"""Filter by component type"""
|
@@ -0,0 +1,49 @@
|
|
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__ = ["ComponentListResponse", "ComponentListResponseItem"]
|
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["chat", "flashcards", "tests", "scenarios", "explainers", "audio-recap"]
|
37
|
+
"""Component type"""
|
38
|
+
|
39
|
+
updated_at: datetime = FieldInfo(alias="updatedAt")
|
40
|
+
"""Last update timestamp"""
|
41
|
+
|
42
|
+
usage: object
|
43
|
+
"""Usage statistics"""
|
44
|
+
|
45
|
+
description: Optional[str] = None
|
46
|
+
"""Component description"""
|
47
|
+
|
48
|
+
|
49
|
+
ComponentListResponse: TypeAlias = List[ComponentListResponseItem]
|
@@ -0,0 +1,46 @@
|
|
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__ = ["ComponentRetrieveResponse"]
|
12
|
+
|
13
|
+
|
14
|
+
class ComponentRetrieveResponse(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["chat", "flashcards", "tests", "scenarios", "explainers", "audio-recap"]
|
37
|
+
"""Component type"""
|
38
|
+
|
39
|
+
updated_at: datetime = FieldInfo(alias="updatedAt")
|
40
|
+
"""Last update timestamp"""
|
41
|
+
|
42
|
+
usage: object
|
43
|
+
"""Usage statistics"""
|
44
|
+
|
45
|
+
description: Optional[str] = None
|
46
|
+
"""Component description"""
|
@@ -0,0 +1,12 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["ComponentUpdateParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class ComponentUpdateParams(TypedDict, total=False):
|
11
|
+
status: Literal["draft", "active", "inactive", "processing", "error"]
|
12
|
+
"""Component status"""
|
@@ -0,0 +1,46 @@
|
|
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__ = ["ComponentUpdateResponse"]
|
12
|
+
|
13
|
+
|
14
|
+
class ComponentUpdateResponse(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["chat", "flashcards", "tests", "scenarios", "explainers", "audio-recap"]
|
37
|
+
"""Component type"""
|
38
|
+
|
39
|
+
updated_at: datetime = FieldInfo(alias="updatedAt")
|
40
|
+
"""Last update timestamp"""
|
41
|
+
|
42
|
+
usage: object
|
43
|
+
"""Usage statistics"""
|
44
|
+
|
45
|
+
description: Optional[str] = None
|
46
|
+
"""Component description"""
|
@@ -0,0 +1,6 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from .component_interact_params import ComponentInteractParams as ComponentInteractParams
|
6
|
+
from .component_retrieve_params import ComponentRetrieveParams as ComponentRetrieveParams
|
@@ -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 Required, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["ComponentInteractParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class ComponentInteractParams(TypedDict, total=False):
|
11
|
+
token: Required[str]
|
12
|
+
"""Embed token"""
|
13
|
+
|
14
|
+
body: Required[str]
|
@@ -0,0 +1,12 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["ComponentRetrieveParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class ComponentRetrieveParams(TypedDict, total=False):
|
11
|
+
token: Required[str]
|
12
|
+
"""Embed token"""
|
@@ -0,0 +1,12 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["EmbedGetThemeParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class EmbedGetThemeParams(TypedDict, total=False):
|
11
|
+
token: Required[str]
|
12
|
+
"""Embed token"""
|
@@ -0,0 +1,12 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["EmbedVerifyParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class EmbedVerifyParams(TypedDict, total=False):
|
11
|
+
token: Required[str]
|
12
|
+
"""Embed token to verify"""
|
@@ -0,0 +1,11 @@
|
|
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, TypedDict
|
6
|
+
|
7
|
+
__all__ = ["ExplainerHandleWebhookParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class ExplainerHandleWebhookParams(TypedDict, total=False):
|
11
|
+
body: Required[str]
|