studyfetch-sdk 0.1.0a17__py3-none-any.whl → 0.1.0a19__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/_models.py +1 -1
- studyfetch_sdk/_version.py +1 -1
- studyfetch_sdk/resources/v1/__init__.py +14 -0
- studyfetch_sdk/resources/v1/assignment_grader.py +81 -1
- studyfetch_sdk/resources/v1/components.py +36 -4
- studyfetch_sdk/resources/v1/data_analyst/__init__.py +47 -0
- studyfetch_sdk/resources/v1/data_analyst/data_analyst.py +582 -0
- studyfetch_sdk/resources/v1/data_analyst/sessions.py +222 -0
- studyfetch_sdk/resources/v1/data_analyst/test.py +190 -0
- studyfetch_sdk/resources/v1/materials/bulk.py +60 -7
- studyfetch_sdk/resources/v1/materials/materials.py +250 -57
- studyfetch_sdk/resources/v1/materials/test.py +29 -25
- studyfetch_sdk/resources/v1/materials/upload.py +402 -14
- studyfetch_sdk/resources/v1/usage/analyst.py +143 -15
- studyfetch_sdk/resources/v1/v1.py +98 -0
- studyfetch_sdk/types/v1/__init__.py +12 -0
- studyfetch_sdk/types/v1/assignment_grader_response.py +20 -1
- studyfetch_sdk/types/v1/component.py +9 -1
- studyfetch_sdk/types/v1/component_create_params.py +57 -1
- studyfetch_sdk/types/v1/component_list_params.py +9 -1
- studyfetch_sdk/types/v1/content_param.py +23 -0
- studyfetch_sdk/types/v1/data_analyst/__init__.py +5 -0
- studyfetch_sdk/types/v1/data_analyst/session_retrieve_params.py +11 -0
- studyfetch_sdk/types/v1/data_analyst_retrieve_session_params.py +13 -0
- studyfetch_sdk/types/v1/data_analyst_send_message_params.py +54 -0
- studyfetch_sdk/types/v1/data_analyst_stream_params.py +28 -0
- studyfetch_sdk/types/v1/material_batch_create_params.py +29 -0
- studyfetch_sdk/types/v1/material_batch_create_response.py +27 -0
- studyfetch_sdk/types/v1/material_create_and_process_params.py +27 -0
- studyfetch_sdk/types/v1/material_create_params.py +4 -17
- studyfetch_sdk/types/v1/material_debug_response.py +47 -0
- studyfetch_sdk/types/v1/material_get_download_url_params.py +3 -2
- studyfetch_sdk/types/v1/material_get_download_url_response.py +12 -0
- studyfetch_sdk/types/v1/material_move_params.py +15 -0
- studyfetch_sdk/types/v1/material_rename_params.py +12 -0
- studyfetch_sdk/types/v1/material_search_params.py +3 -6
- studyfetch_sdk/types/v1/material_search_response.py +54 -0
- studyfetch_sdk/types/v1/materials/__init__.py +11 -0
- studyfetch_sdk/types/v1/materials/bulk_move_params.py +18 -0
- studyfetch_sdk/types/v1/materials/bulk_move_response.py +15 -0
- studyfetch_sdk/types/v1/materials/test_perform_ocr_response.py +19 -0
- studyfetch_sdk/types/v1/materials/test_process_epub_response.py +30 -0
- studyfetch_sdk/types/v1/materials/test_process_image_response.py +30 -0
- studyfetch_sdk/types/v1/materials/test_process_video_response.py +25 -0
- studyfetch_sdk/types/v1/materials/upload_complete_upload_params.py +20 -0
- studyfetch_sdk/types/v1/materials/upload_create_presigned_url_params.py +23 -0
- studyfetch_sdk/types/v1/materials/upload_create_presigned_url_response.py +18 -0
- studyfetch_sdk/types/v1/materials/upload_upload_file_and_process_params.py +26 -0
- studyfetch_sdk/types/v1/materials/upload_upload_url_and_process_params.py +26 -0
- studyfetch_sdk/types/v1/usage/__init__.py +3 -0
- studyfetch_sdk/types/v1/usage/analyst_get_test_questions_params.py +18 -0
- studyfetch_sdk/types/v1/usage/analyst_list_chat_messages_params.py +18 -0
- studyfetch_sdk/types/v1/usage/analyst_list_chat_messages_response.py +35 -0
- studyfetch_sdk/types/v1/usage/analyst_list_events_params.py +7 -0
- {studyfetch_sdk-0.1.0a17.dist-info → studyfetch_sdk-0.1.0a19.dist-info}/METADATA +1 -1
- {studyfetch_sdk-0.1.0a17.dist-info → studyfetch_sdk-0.1.0a19.dist-info}/RECORD +58 -26
- {studyfetch_sdk-0.1.0a17.dist-info → studyfetch_sdk-0.1.0a19.dist-info}/WHEEL +0 -0
- {studyfetch_sdk-0.1.0a17.dist-info → studyfetch_sdk-0.1.0a19.dist-info}/licenses/LICENSE +0 -0
@@ -9,6 +9,14 @@ __all__ = ["ComponentListParams"]
|
|
9
9
|
|
10
10
|
class ComponentListParams(TypedDict, total=False):
|
11
11
|
type: Literal[
|
12
|
-
"chat",
|
12
|
+
"chat",
|
13
|
+
"data_analyst",
|
14
|
+
"flashcards",
|
15
|
+
"scenarios",
|
16
|
+
"practice_test",
|
17
|
+
"audio_recap",
|
18
|
+
"tutor_me",
|
19
|
+
"explainers",
|
20
|
+
"uploads",
|
13
21
|
]
|
14
22
|
"""Filter by component type"""
|
@@ -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 Literal, Required, Annotated, TypedDict
|
6
|
+
|
7
|
+
from ..._utils import PropertyInfo
|
8
|
+
|
9
|
+
__all__ = ["ContentParam"]
|
10
|
+
|
11
|
+
|
12
|
+
class ContentParam(TypedDict, total=False):
|
13
|
+
type: Required[Literal["text", "pdf", "video", "audio", "url"]]
|
14
|
+
"""Type of content"""
|
15
|
+
|
16
|
+
source_url: Annotated[str, PropertyInfo(alias="sourceUrl")]
|
17
|
+
"""URL to fetch content from"""
|
18
|
+
|
19
|
+
text: str
|
20
|
+
"""Text content (for text type)"""
|
21
|
+
|
22
|
+
url: str
|
23
|
+
"""URL to the content (for url type)"""
|
@@ -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__ = ["DataAnalystRetrieveSessionParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class DataAnalystRetrieveSessionParams(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 List, Iterable
|
6
|
+
from typing_extensions import Required, Annotated, TypedDict
|
7
|
+
|
8
|
+
from ..._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["DataAnalystSendMessageParams", "Message", "MessageImage"]
|
11
|
+
|
12
|
+
|
13
|
+
class DataAnalystSendMessageParams(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_ids: Annotated[List[str], PropertyInfo(alias="groupIds")]
|
26
|
+
"""Group IDs 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__ = ["DataAnalystStreamParams", "Message"]
|
11
|
+
|
12
|
+
|
13
|
+
class DataAnalystStreamParams(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 import Iterable
|
6
|
+
from typing_extensions import Required, Annotated, TypedDict
|
7
|
+
|
8
|
+
from ..._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["MaterialBatchCreateParams", "Material"]
|
11
|
+
|
12
|
+
|
13
|
+
class MaterialBatchCreateParams(TypedDict, total=False):
|
14
|
+
materials: Required[Iterable[Material]]
|
15
|
+
"""Array of materials to create"""
|
16
|
+
|
17
|
+
|
18
|
+
class Material(TypedDict, total=False):
|
19
|
+
content_type: Required[Annotated[str, PropertyInfo(alias="contentType")]]
|
20
|
+
"""MIME type"""
|
21
|
+
|
22
|
+
filename: Required[str]
|
23
|
+
"""Filename"""
|
24
|
+
|
25
|
+
name: Required[str]
|
26
|
+
"""Material name"""
|
27
|
+
|
28
|
+
folder_id: Annotated[str, PropertyInfo(alias="folderId")]
|
29
|
+
"""Folder ID"""
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import List
|
4
|
+
from typing_extensions import TypeAlias
|
5
|
+
|
6
|
+
from pydantic import Field as FieldInfo
|
7
|
+
|
8
|
+
from ..._models import BaseModel
|
9
|
+
|
10
|
+
__all__ = ["MaterialBatchCreateResponse", "MaterialBatchCreateResponseItem"]
|
11
|
+
|
12
|
+
|
13
|
+
class MaterialBatchCreateResponseItem(BaseModel):
|
14
|
+
material_id: str = FieldInfo(alias="materialId")
|
15
|
+
"""Material ID"""
|
16
|
+
|
17
|
+
name: str
|
18
|
+
"""Material name"""
|
19
|
+
|
20
|
+
s3_key: str = FieldInfo(alias="s3Key")
|
21
|
+
"""S3 key"""
|
22
|
+
|
23
|
+
upload_url: str = FieldInfo(alias="uploadUrl")
|
24
|
+
"""Presigned upload URL"""
|
25
|
+
|
26
|
+
|
27
|
+
MaterialBatchCreateResponse: TypeAlias = List[MaterialBatchCreateResponseItem]
|
@@ -0,0 +1,27 @@
|
|
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
|
+
from .content_param import ContentParam
|
9
|
+
|
10
|
+
__all__ = ["MaterialCreateAndProcessParams"]
|
11
|
+
|
12
|
+
|
13
|
+
class MaterialCreateAndProcessParams(TypedDict, total=False):
|
14
|
+
content: Required[ContentParam]
|
15
|
+
"""Content details"""
|
16
|
+
|
17
|
+
name: Required[str]
|
18
|
+
"""Name of the material"""
|
19
|
+
|
20
|
+
folder_id: Annotated[str, PropertyInfo(alias="folderId")]
|
21
|
+
"""Folder ID to place the material in"""
|
22
|
+
|
23
|
+
poll_interval_ms: Annotated[float, PropertyInfo(alias="pollIntervalMs")]
|
24
|
+
"""Polling interval in milliseconds (default: 2 seconds)"""
|
25
|
+
|
26
|
+
timeout_ms: Annotated[float, PropertyInfo(alias="timeoutMs")]
|
27
|
+
"""Maximum time to wait for processing in milliseconds (default: 5 minutes)"""
|
@@ -2,15 +2,16 @@
|
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
4
|
|
5
|
-
from typing_extensions import
|
5
|
+
from typing_extensions import Required, Annotated, TypedDict
|
6
6
|
|
7
7
|
from ..._utils import PropertyInfo
|
8
|
+
from .content_param import ContentParam
|
8
9
|
|
9
|
-
__all__ = ["MaterialCreateParams"
|
10
|
+
__all__ = ["MaterialCreateParams"]
|
10
11
|
|
11
12
|
|
12
13
|
class MaterialCreateParams(TypedDict, total=False):
|
13
|
-
content: Required[
|
14
|
+
content: Required[ContentParam]
|
14
15
|
"""Content details"""
|
15
16
|
|
16
17
|
name: Required[str]
|
@@ -18,17 +19,3 @@ class MaterialCreateParams(TypedDict, total=False):
|
|
18
19
|
|
19
20
|
folder_id: Annotated[str, PropertyInfo(alias="folderId")]
|
20
21
|
"""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,47 @@
|
|
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__ = ["MaterialDebugResponse", "Image"]
|
10
|
+
|
11
|
+
|
12
|
+
class Image(BaseModel):
|
13
|
+
id: Optional[str] = None
|
14
|
+
|
15
|
+
description: Optional[str] = None
|
16
|
+
|
17
|
+
page_index: Optional[float] = FieldInfo(alias="pageIndex", default=None)
|
18
|
+
|
19
|
+
s3_key: Optional[str] = FieldInfo(alias="s3Key", default=None)
|
20
|
+
|
21
|
+
s3_url: Optional[str] = FieldInfo(alias="s3Url", default=None)
|
22
|
+
|
23
|
+
|
24
|
+
class MaterialDebugResponse(BaseModel):
|
25
|
+
content: object
|
26
|
+
"""Content details"""
|
27
|
+
|
28
|
+
content_type: str = FieldInfo(alias="contentType")
|
29
|
+
"""Content type"""
|
30
|
+
|
31
|
+
images: List[Image]
|
32
|
+
"""Processed images"""
|
33
|
+
|
34
|
+
material_id: str = FieldInfo(alias="materialId")
|
35
|
+
"""Material ID"""
|
36
|
+
|
37
|
+
metadata: object
|
38
|
+
"""Material metadata"""
|
39
|
+
|
40
|
+
name: str
|
41
|
+
"""Material name"""
|
42
|
+
|
43
|
+
status: str
|
44
|
+
"""Processing status"""
|
45
|
+
|
46
|
+
transcript_structure: Optional[object] = FieldInfo(alias="transcriptStructure", default=None)
|
47
|
+
"""Transcript structure for videos"""
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
4
|
|
5
|
-
from typing_extensions import
|
5
|
+
from typing_extensions import Annotated, TypedDict
|
6
6
|
|
7
7
|
from ..._utils import PropertyInfo
|
8
8
|
|
@@ -10,4 +10,5 @@ __all__ = ["MaterialGetDownloadURLParams"]
|
|
10
10
|
|
11
11
|
|
12
12
|
class MaterialGetDownloadURLParams(TypedDict, total=False):
|
13
|
-
expires_in:
|
13
|
+
expires_in: Annotated[float, PropertyInfo(alias="expiresIn")]
|
14
|
+
"""URL expiration time in seconds (default: 3600)"""
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from pydantic import Field as FieldInfo
|
4
|
+
|
5
|
+
from ..._models import BaseModel
|
6
|
+
|
7
|
+
__all__ = ["MaterialGetDownloadURLResponse"]
|
8
|
+
|
9
|
+
|
10
|
+
class MaterialGetDownloadURLResponse(BaseModel):
|
11
|
+
download_url: str = FieldInfo(alias="downloadUrl")
|
12
|
+
"""Temporary download URL"""
|
@@ -0,0 +1,15 @@
|
|
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 Optional
|
6
|
+
from typing_extensions import Required, Annotated, TypedDict
|
7
|
+
|
8
|
+
from ..._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["MaterialMoveParams"]
|
11
|
+
|
12
|
+
|
13
|
+
class MaterialMoveParams(TypedDict, total=False):
|
14
|
+
folder_id: Required[Annotated[Optional[str], PropertyInfo(alias="folderId")]]
|
15
|
+
"""Target folder ID (null for root)"""
|
@@ -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__ = ["MaterialRenameParams"]
|
8
|
+
|
9
|
+
|
10
|
+
class MaterialRenameParams(TypedDict, total=False):
|
11
|
+
name: Required[str]
|
12
|
+
"""New name for the material"""
|
@@ -15,13 +15,10 @@ class MaterialSearchParams(TypedDict, total=False):
|
|
15
15
|
"""Search query"""
|
16
16
|
|
17
17
|
folder_ids: Annotated[List[str], PropertyInfo(alias="folderIds")]
|
18
|
-
"""
|
19
|
-
Optional: Limit search to materials within specific folders (includes
|
20
|
-
subfolders)
|
21
|
-
"""
|
18
|
+
"""Limit search to materials within specific folders (includes subfolders)"""
|
22
19
|
|
23
20
|
material_ids: Annotated[List[str], PropertyInfo(alias="materialIds")]
|
24
|
-
"""
|
21
|
+
"""Limit search to specific material IDs"""
|
25
22
|
|
26
23
|
top_k: Annotated[float, PropertyInfo(alias="topK")]
|
27
|
-
"""Number of results to return
|
24
|
+
"""Number of results to return"""
|
@@ -0,0 +1,54 @@
|
|
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__ = ["MaterialSearchResponse", "Result", "ResultMaterial", "Scope"]
|
10
|
+
|
11
|
+
|
12
|
+
class ResultMaterial(BaseModel):
|
13
|
+
id: Optional[str] = None
|
14
|
+
|
15
|
+
content_type: Optional[str] = FieldInfo(alias="contentType", default=None)
|
16
|
+
|
17
|
+
name: Optional[str] = None
|
18
|
+
|
19
|
+
|
20
|
+
class Result(BaseModel):
|
21
|
+
chunk_index: float = FieldInfo(alias="chunkIndex")
|
22
|
+
"""Chunk index within the material"""
|
23
|
+
|
24
|
+
material: Optional[ResultMaterial] = None
|
25
|
+
"""Material information"""
|
26
|
+
|
27
|
+
score: float
|
28
|
+
"""Relevance score (0-1)"""
|
29
|
+
|
30
|
+
text: str
|
31
|
+
"""Matched text chunk"""
|
32
|
+
|
33
|
+
|
34
|
+
class Scope(BaseModel):
|
35
|
+
folder_ids: Optional[List[str]] = FieldInfo(alias="folderIds", default=None)
|
36
|
+
|
37
|
+
material_ids: Optional[List[str]] = FieldInfo(alias="materialIds", default=None)
|
38
|
+
|
39
|
+
|
40
|
+
class MaterialSearchResponse(BaseModel):
|
41
|
+
filtered: bool
|
42
|
+
"""Whether results were filtered by scope"""
|
43
|
+
|
44
|
+
query: str
|
45
|
+
"""Original search query"""
|
46
|
+
|
47
|
+
results: List[Result]
|
48
|
+
"""Search results"""
|
49
|
+
|
50
|
+
scope: Scope
|
51
|
+
"""Search scope"""
|
52
|
+
|
53
|
+
total_results: float = FieldInfo(alias="totalResults")
|
54
|
+
"""Total number of results"""
|
@@ -2,5 +2,16 @@
|
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
4
|
|
5
|
+
from .bulk_move_params import BulkMoveParams as BulkMoveParams
|
6
|
+
from .bulk_move_response import BulkMoveResponse as BulkMoveResponse
|
7
|
+
from .test_perform_ocr_response import TestPerformOcrResponse as TestPerformOcrResponse
|
5
8
|
from .upload_upload_file_params import UploadUploadFileParams as UploadUploadFileParams
|
9
|
+
from .test_process_epub_response import TestProcessEpubResponse as TestProcessEpubResponse
|
10
|
+
from .test_process_image_response import TestProcessImageResponse as TestProcessImageResponse
|
11
|
+
from .test_process_video_response import TestProcessVideoResponse as TestProcessVideoResponse
|
12
|
+
from .upload_complete_upload_params import UploadCompleteUploadParams as UploadCompleteUploadParams
|
6
13
|
from .upload_upload_from_url_params import UploadUploadFromURLParams as UploadUploadFromURLParams
|
14
|
+
from .upload_create_presigned_url_params import UploadCreatePresignedURLParams as UploadCreatePresignedURLParams
|
15
|
+
from .upload_create_presigned_url_response import UploadCreatePresignedURLResponse as UploadCreatePresignedURLResponse
|
16
|
+
from .upload_upload_url_and_process_params import UploadUploadURLAndProcessParams as UploadUploadURLAndProcessParams
|
17
|
+
from .upload_upload_file_and_process_params import UploadUploadFileAndProcessParams as UploadUploadFileAndProcessParams
|
@@ -0,0 +1,18 @@
|
|
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, Optional
|
6
|
+
from typing_extensions import Required, Annotated, TypedDict
|
7
|
+
|
8
|
+
from ...._utils import PropertyInfo
|
9
|
+
|
10
|
+
__all__ = ["BulkMoveParams"]
|
11
|
+
|
12
|
+
|
13
|
+
class BulkMoveParams(TypedDict, total=False):
|
14
|
+
folder_id: Required[Annotated[Optional[str], PropertyInfo(alias="folderId")]]
|
15
|
+
"""Target folder ID (null for root)"""
|
16
|
+
|
17
|
+
material_ids: Required[Annotated[List[str], PropertyInfo(alias="materialIds")]]
|
18
|
+
"""Array of material IDs to move"""
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from pydantic import Field as FieldInfo
|
4
|
+
|
5
|
+
from ...._models import BaseModel
|
6
|
+
|
7
|
+
__all__ = ["BulkMoveResponse"]
|
8
|
+
|
9
|
+
|
10
|
+
class BulkMoveResponse(BaseModel):
|
11
|
+
moved_count: float = FieldInfo(alias="movedCount")
|
12
|
+
"""Number of materials moved"""
|
13
|
+
|
14
|
+
success: bool
|
15
|
+
"""Operation success status"""
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from pydantic import Field as FieldInfo
|
4
|
+
|
5
|
+
from ...._models import BaseModel
|
6
|
+
|
7
|
+
__all__ = ["TestPerformOcrResponse"]
|
8
|
+
|
9
|
+
|
10
|
+
class TestPerformOcrResponse(BaseModel):
|
11
|
+
__test__ = False
|
12
|
+
first_chars: str = FieldInfo(alias="firstChars")
|
13
|
+
"""First 500 characters of extracted text"""
|
14
|
+
|
15
|
+
success: bool
|
16
|
+
"""Test success status"""
|
17
|
+
|
18
|
+
text_length: float = FieldInfo(alias="textLength")
|
19
|
+
"""Length of extracted text"""
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import Optional
|
4
|
+
|
5
|
+
from pydantic import Field as FieldInfo
|
6
|
+
|
7
|
+
from ...._models import BaseModel
|
8
|
+
|
9
|
+
__all__ = ["TestProcessEpubResponse"]
|
10
|
+
|
11
|
+
|
12
|
+
class TestProcessEpubResponse(BaseModel):
|
13
|
+
__test__ = False
|
14
|
+
success: bool
|
15
|
+
"""Test success status"""
|
16
|
+
|
17
|
+
epub_size: Optional[float] = FieldInfo(alias="epubSize", default=None)
|
18
|
+
"""EPUB file size in bytes"""
|
19
|
+
|
20
|
+
epub_size_mb: Optional[str] = FieldInfo(alias="epubSizeMB", default=None)
|
21
|
+
"""EPUB file size in MB"""
|
22
|
+
|
23
|
+
error: Optional[str] = None
|
24
|
+
"""Error message if failed"""
|
25
|
+
|
26
|
+
message: Optional[str] = None
|
27
|
+
"""Success message"""
|
28
|
+
|
29
|
+
stack: Optional[str] = None
|
30
|
+
"""Error stack trace"""
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import Optional
|
4
|
+
|
5
|
+
from pydantic import Field as FieldInfo
|
6
|
+
|
7
|
+
from ...._models import BaseModel
|
8
|
+
|
9
|
+
__all__ = ["TestProcessImageResponse"]
|
10
|
+
|
11
|
+
|
12
|
+
class TestProcessImageResponse(BaseModel):
|
13
|
+
__test__ = False
|
14
|
+
success: bool
|
15
|
+
"""Test success status"""
|
16
|
+
|
17
|
+
error: Optional[str] = None
|
18
|
+
"""Error message if failed"""
|
19
|
+
|
20
|
+
image_info: Optional[object] = FieldInfo(alias="imageInfo", default=None)
|
21
|
+
"""Image info if no base64 data"""
|
22
|
+
|
23
|
+
message: Optional[str] = None
|
24
|
+
"""Success message"""
|
25
|
+
|
26
|
+
results: Optional[object] = None
|
27
|
+
"""Test results"""
|
28
|
+
|
29
|
+
stack: Optional[str] = None
|
30
|
+
"""Error stack trace"""
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
2
|
+
|
3
|
+
from typing import Optional
|
4
|
+
|
5
|
+
from ...._models import BaseModel
|
6
|
+
|
7
|
+
__all__ = ["TestProcessVideoResponse"]
|
8
|
+
|
9
|
+
|
10
|
+
class TestProcessVideoResponse(BaseModel):
|
11
|
+
__test__ = False
|
12
|
+
success: bool
|
13
|
+
"""Test success status"""
|
14
|
+
|
15
|
+
error: Optional[str] = None
|
16
|
+
"""Error message if failed"""
|
17
|
+
|
18
|
+
message: Optional[str] = None
|
19
|
+
"""Success message"""
|
20
|
+
|
21
|
+
stack: Optional[str] = None
|
22
|
+
"""Error stack trace"""
|
23
|
+
|
24
|
+
tests: Optional[object] = None
|
25
|
+
"""Test results"""
|
@@ -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__ = ["UploadCompleteUploadParams"]
|
10
|
+
|
11
|
+
|
12
|
+
class UploadCompleteUploadParams(TypedDict, total=False):
|
13
|
+
material_id: Required[Annotated[str, PropertyInfo(alias="materialId")]]
|
14
|
+
"""The ID of the material that was uploaded"""
|
15
|
+
|
16
|
+
organization_id: Required[Annotated[str, PropertyInfo(alias="organizationId")]]
|
17
|
+
"""The ID of the organization"""
|
18
|
+
|
19
|
+
s3_key: Required[Annotated[str, PropertyInfo(alias="s3Key")]]
|
20
|
+
"""The S3 key of the uploaded file"""
|