worqhat 3.9.0__py3-none-any.whl → 4.1.0__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 (80) hide show
  1. worqhat/__init__.py +8 -89
  2. worqhat/client.py +62 -0
  3. worqhat/exceptions.py +43 -0
  4. worqhat/http_client.py +171 -0
  5. worqhat/py.typed +1 -0
  6. worqhat/resources/__init__.py +5 -59
  7. worqhat/resources/database.py +293 -0
  8. worqhat/resources/flows.py +61 -409
  9. worqhat/resources/storage.py +41 -431
  10. worqhat-4.1.0.dist-info/METADATA +538 -0
  11. worqhat-4.1.0.dist-info/RECORD +13 -0
  12. {worqhat-3.9.0.dist-info → worqhat-4.1.0.dist-info}/WHEEL +2 -1
  13. worqhat-4.1.0.dist-info/top_level.txt +1 -0
  14. worqhat/_base_client.py +0 -1995
  15. worqhat/_client.py +0 -484
  16. worqhat/_compat.py +0 -219
  17. worqhat/_constants.py +0 -14
  18. worqhat/_exceptions.py +0 -108
  19. worqhat/_files.py +0 -123
  20. worqhat/_models.py +0 -835
  21. worqhat/_qs.py +0 -150
  22. worqhat/_resource.py +0 -43
  23. worqhat/_response.py +0 -830
  24. worqhat/_streaming.py +0 -333
  25. worqhat/_types.py +0 -260
  26. worqhat/_utils/__init__.py +0 -64
  27. worqhat/_utils/_compat.py +0 -45
  28. worqhat/_utils/_datetime_parse.py +0 -136
  29. worqhat/_utils/_logs.py +0 -25
  30. worqhat/_utils/_proxy.py +0 -65
  31. worqhat/_utils/_reflection.py +0 -42
  32. worqhat/_utils/_resources_proxy.py +0 -24
  33. worqhat/_utils/_streams.py +0 -12
  34. worqhat/_utils/_sync.py +0 -86
  35. worqhat/_utils/_transform.py +0 -457
  36. worqhat/_utils/_typing.py +0 -156
  37. worqhat/_utils/_utils.py +0 -421
  38. worqhat/_version.py +0 -4
  39. worqhat/lib/.keep +0 -4
  40. worqhat/resources/db/__init__.py +0 -33
  41. worqhat/resources/db/db.py +0 -800
  42. worqhat/resources/db/tables.py +0 -389
  43. worqhat/resources/health.py +0 -143
  44. worqhat/types/__init__.py +0 -32
  45. worqhat/types/db/__init__.py +0 -10
  46. worqhat/types/db/table_get_row_count_params.py +0 -12
  47. worqhat/types/db/table_get_row_count_response.py +0 -15
  48. worqhat/types/db/table_list_params.py +0 -15
  49. worqhat/types/db/table_list_response.py +0 -26
  50. worqhat/types/db/table_retrieve_schema_params.py +0 -12
  51. worqhat/types/db/table_retrieve_schema_response.py +0 -29
  52. worqhat/types/db_delete_records_params.py +0 -19
  53. worqhat/types/db_delete_records_response.py +0 -18
  54. worqhat/types/db_execute_batch_params.py +0 -36
  55. worqhat/types/db_execute_batch_response.py +0 -27
  56. worqhat/types/db_execute_query_params.py +0 -24
  57. worqhat/types/db_execute_query_response.py +0 -21
  58. worqhat/types/db_insert_record_params.py +0 -19
  59. worqhat/types/db_insert_record_response.py +0 -15
  60. worqhat/types/db_process_nl_query_params.py +0 -19
  61. worqhat/types/db_process_nl_query_response.py +0 -18
  62. worqhat/types/db_update_records_params.py +0 -22
  63. worqhat/types/db_update_records_response.py +0 -18
  64. worqhat/types/flow_get_metrics_params.py +0 -25
  65. worqhat/types/flow_get_metrics_response.py +0 -55
  66. worqhat/types/flow_trigger_with_file_params.py +0 -17
  67. worqhat/types/flow_trigger_with_file_response.py +0 -18
  68. worqhat/types/flow_trigger_with_payload_params.py +0 -13
  69. worqhat/types/flow_trigger_with_payload_response.py +0 -20
  70. worqhat/types/get_server_info_response.py +0 -15
  71. worqhat/types/health_check_response.py +0 -33
  72. worqhat/types/storage_delete_file_by_id_response.py +0 -18
  73. worqhat/types/storage_retrieve_file_by_id_response.py +0 -33
  74. worqhat/types/storage_retrieve_file_by_path_params.py +0 -12
  75. worqhat/types/storage_retrieve_file_by_path_response.py +0 -33
  76. worqhat/types/storage_upload_file_params.py +0 -17
  77. worqhat/types/storage_upload_file_response.py +0 -33
  78. worqhat-3.9.0.dist-info/METADATA +0 -432
  79. worqhat-3.9.0.dist-info/RECORD +0 -73
  80. worqhat-3.9.0.dist-info/licenses/LICENSE +0 -201
@@ -1,29 +0,0 @@
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__ = ["TableRetrieveSchemaResponse", "Column"]
10
-
11
-
12
- class Column(BaseModel):
13
- default: Optional[str] = None
14
-
15
- is_primary_key: Optional[bool] = FieldInfo(alias="isPrimaryKey", default=None)
16
-
17
- name: Optional[str] = None
18
-
19
- nullable: Optional[bool] = None
20
-
21
- type: Optional[str] = None
22
-
23
-
24
- class TableRetrieveSchemaResponse(BaseModel):
25
- columns: Optional[List[Column]] = None
26
-
27
- success: Optional[bool] = None
28
-
29
- table: Optional[str] = None
@@ -1,19 +0,0 @@
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 Dict
6
- from typing_extensions import Literal, Required, TypedDict
7
-
8
- __all__ = ["DBDeleteRecordsParams"]
9
-
10
-
11
- class DBDeleteRecordsParams(TypedDict, total=False):
12
- table: Required[str]
13
- """Table name to delete from"""
14
-
15
- where: Required[Dict[str, object]]
16
- """Where conditions"""
17
-
18
- environment: Literal["development", "staging", "production"]
19
- """Environment to delete from (development, staging, production)"""
@@ -1,18 +0,0 @@
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__ = ["DBDeleteRecordsResponse"]
8
-
9
-
10
- class DBDeleteRecordsResponse(BaseModel):
11
- count: Optional[int] = None
12
- """Number of records deleted"""
13
-
14
- data: Optional[List[Dict[str, object]]] = None
15
-
16
- message: Optional[str] = None
17
-
18
- success: Optional[bool] = None
@@ -1,36 +0,0 @@
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 Dict, Iterable
6
- from typing_extensions import Literal, Required, TypedDict
7
-
8
- __all__ = ["DBExecuteBatchParams", "Operation"]
9
-
10
-
11
- class DBExecuteBatchParams(TypedDict, total=False):
12
- operations: Required[Iterable[Operation]]
13
- """Array of database operations to execute"""
14
-
15
- environment: Literal["development", "staging", "production"]
16
- """Environment to execute operations in"""
17
-
18
- transactional: bool
19
- """Whether to execute all operations in a single transaction"""
20
-
21
-
22
- class Operation(TypedDict, total=False):
23
- type: Required[Literal["query", "insert", "update", "delete"]]
24
- """Type of operation"""
25
-
26
- data: Dict[str, object]
27
- """Data to insert or update"""
28
-
29
- query: str
30
- """SQL query (required for query type)"""
31
-
32
- table: str
33
- """Table name (required for insert, update, delete)"""
34
-
35
- where: Dict[str, object]
36
- """Where conditions for update or delete"""
@@ -1,27 +0,0 @@
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 pydantic import Field as FieldInfo
6
-
7
- from .._models import BaseModel
8
-
9
- __all__ = ["DBExecuteBatchResponse", "Result"]
10
-
11
-
12
- class Result(BaseModel):
13
- data: Optional[Dict[str, object]] = None
14
-
15
- operation: Optional[str] = None
16
-
17
- success: Optional[bool] = None
18
-
19
-
20
- class DBExecuteBatchResponse(BaseModel):
21
- executed_count: Optional[int] = FieldInfo(alias="executedCount", default=None)
22
- """Number of operations executed"""
23
-
24
- results: Optional[List[Result]] = None
25
- """Results from each operation"""
26
-
27
- success: Optional[bool] = None
@@ -1,24 +0,0 @@
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 Dict, Union
6
- from typing_extensions import Literal, Required, TypedDict
7
-
8
- from .._types import SequenceNotStr
9
-
10
- __all__ = ["DBExecuteQueryParams"]
11
-
12
-
13
- class DBExecuteQueryParams(TypedDict, total=False):
14
- query: Required[str]
15
- """SQL query to execute.
16
-
17
- Supports both named parameters ({param}) and positional parameters ($1, $2)
18
- """
19
-
20
- environment: Literal["development", "staging", "production"]
21
- """Environment to query (development, staging, production)"""
22
-
23
- params: Union[Dict[str, object], SequenceNotStr[Union[str, float, bool]]]
24
- """Named parameters for queries with {param} syntax"""
@@ -1,21 +0,0 @@
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 pydantic import Field as FieldInfo
6
-
7
- from .._models import BaseModel
8
-
9
- __all__ = ["DBExecuteQueryResponse"]
10
-
11
-
12
- class DBExecuteQueryResponse(BaseModel):
13
- data: Optional[List[Dict[str, object]]] = None
14
-
15
- execution_time: Optional[int] = FieldInfo(alias="executionTime", default=None)
16
- """Query execution time in milliseconds"""
17
-
18
- query: Optional[str] = None
19
- """The executed SQL query"""
20
-
21
- success: Optional[bool] = None
@@ -1,19 +0,0 @@
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 Dict
6
- from typing_extensions import Literal, Required, TypedDict
7
-
8
- __all__ = ["DBInsertRecordParams"]
9
-
10
-
11
- class DBInsertRecordParams(TypedDict, total=False):
12
- data: Required[Dict[str, object]]
13
- """Data to insert"""
14
-
15
- table: Required[str]
16
- """Table name to insert into"""
17
-
18
- environment: Literal["development", "staging", "production"]
19
- """Environment to insert into (development, staging, production)"""
@@ -1,15 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from typing import Dict, Optional
4
-
5
- from .._models import BaseModel
6
-
7
- __all__ = ["DBInsertRecordResponse"]
8
-
9
-
10
- class DBInsertRecordResponse(BaseModel):
11
- data: Optional[Dict[str, object]] = None
12
-
13
- message: Optional[str] = None
14
-
15
- success: Optional[bool] = None
@@ -1,19 +0,0 @@
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 Dict
6
- from typing_extensions import Literal, Required, TypedDict
7
-
8
- __all__ = ["DBProcessNlQueryParams"]
9
-
10
-
11
- class DBProcessNlQueryParams(TypedDict, total=False):
12
- question: Required[str]
13
- """Natural language question"""
14
-
15
- context: Dict[str, object]
16
- """Optional context for the query"""
17
-
18
- environment: Literal["development", "staging", "production"]
19
- """Environment to query (development, staging, production)"""
@@ -1,18 +0,0 @@
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__ = ["DBProcessNlQueryResponse"]
8
-
9
-
10
- class DBProcessNlQueryResponse(BaseModel):
11
- data: Optional[List[Dict[str, object]]] = None
12
-
13
- message: Optional[str] = None
14
-
15
- sql: Optional[str] = None
16
- """The generated SQL query"""
17
-
18
- success: Optional[bool] = None
@@ -1,22 +0,0 @@
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 Dict
6
- from typing_extensions import Literal, Required, TypedDict
7
-
8
- __all__ = ["DBUpdateRecordsParams"]
9
-
10
-
11
- class DBUpdateRecordsParams(TypedDict, total=False):
12
- data: Required[Dict[str, object]]
13
- """Data to update"""
14
-
15
- table: Required[str]
16
- """Table name to update"""
17
-
18
- where: Required[Dict[str, object]]
19
- """Where conditions"""
20
-
21
- environment: Literal["development", "staging", "production"]
22
- """Environment to update in (development, staging, production)"""
@@ -1,18 +0,0 @@
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__ = ["DBUpdateRecordsResponse"]
8
-
9
-
10
- class DBUpdateRecordsResponse(BaseModel):
11
- count: Optional[int] = None
12
- """Number of records updated"""
13
-
14
- data: Optional[List[Dict[str, object]]] = None
15
-
16
- message: Optional[str] = None
17
-
18
- success: Optional[bool] = None
@@ -1,25 +0,0 @@
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 Union
6
- from datetime import date
7
- from typing_extensions import Literal, Annotated, TypedDict
8
-
9
- from .._utils import PropertyInfo
10
-
11
- __all__ = ["FlowGetMetricsParams"]
12
-
13
-
14
- class FlowGetMetricsParams(TypedDict, total=False):
15
- end_date: Annotated[Union[str, date], PropertyInfo(format="iso8601")]
16
- """End date for filtering (YYYY-MM-DD format)"""
17
-
18
- start_date: Annotated[Union[str, date], PropertyInfo(format="iso8601")]
19
- """Start date for filtering (YYYY-MM-DD format)"""
20
-
21
- status: Literal["completed", "failed", "in_progress"]
22
- """Filter by workflow status"""
23
-
24
- user_id: str
25
- """Filter by specific user ID"""
@@ -1,55 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from typing import Dict, List, Optional
4
- from datetime import datetime
5
- from typing_extensions import Literal
6
-
7
- from .._models import BaseModel
8
-
9
- __all__ = ["FlowGetMetricsResponse", "Metrics", "MetricsMetricsByUser", "Workflow"]
10
-
11
-
12
- class MetricsMetricsByUser(BaseModel):
13
- completed: Optional[int] = None
14
-
15
- failed: Optional[int] = None
16
-
17
- in_progress: Optional[int] = None
18
-
19
- total: Optional[int] = None
20
-
21
-
22
- class Metrics(BaseModel):
23
- avg_duration_ms: Optional[float] = None
24
-
25
- completed_workflows: Optional[int] = None
26
-
27
- failed_workflows: Optional[int] = None
28
-
29
- in_progress_workflows: Optional[int] = None
30
-
31
- metrics_by_user: Optional[Dict[str, MetricsMetricsByUser]] = None
32
-
33
- total_workflows: Optional[int] = None
34
-
35
-
36
- class Workflow(BaseModel):
37
- id: Optional[str] = None
38
-
39
- end_timestamp: Optional[datetime] = None
40
-
41
- org_id: Optional[str] = None
42
-
43
- start_timestamp: Optional[datetime] = None
44
-
45
- status: Optional[Literal["completed", "failed", "in_progress"]] = None
46
-
47
- user_id: Optional[str] = None
48
-
49
- workflow_id: Optional[str] = None
50
-
51
-
52
- class FlowGetMetricsResponse(BaseModel):
53
- metrics: Optional[Metrics] = None
54
-
55
- workflows: Optional[List[Workflow]] = None
@@ -1,17 +0,0 @@
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 TypedDict
6
-
7
- from .._types import FileTypes
8
-
9
- __all__ = ["FlowTriggerWithFileParams"]
10
-
11
-
12
- class FlowTriggerWithFileParams(TypedDict, total=False):
13
- file: FileTypes
14
- """File to upload and process"""
15
-
16
- url: str
17
- """URL to a file to download and process"""
@@ -1,18 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from typing import Dict, Optional
4
- from datetime import datetime
5
-
6
- from .._models import BaseModel
7
-
8
- __all__ = ["FlowTriggerWithFileResponse"]
9
-
10
-
11
- class FlowTriggerWithFileResponse(BaseModel):
12
- data: Optional[Dict[str, object]] = None
13
-
14
- message: Optional[str] = None
15
-
16
- success: Optional[bool] = None
17
-
18
- timestamp: Optional[datetime] = None
@@ -1,13 +0,0 @@
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 Dict
6
- from typing_extensions import TypedDict
7
-
8
- __all__ = ["FlowTriggerWithPayloadParams"]
9
-
10
-
11
- class FlowTriggerWithPayloadParams(TypedDict, total=False):
12
- data: Dict[str, object]
13
- """Optional structured data to pass to the workflow"""
@@ -1,20 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from typing import Dict, Optional
4
- from datetime import datetime
5
-
6
- from .._models import BaseModel
7
-
8
- __all__ = ["FlowTriggerWithPayloadResponse"]
9
-
10
-
11
- class FlowTriggerWithPayloadResponse(BaseModel):
12
- analytics_id: Optional[str] = None
13
-
14
- data: Optional[Dict[str, object]] = None
15
-
16
- message: Optional[str] = None
17
-
18
- success: Optional[bool] = None
19
-
20
- timestamp: Optional[datetime] = None
@@ -1,15 +0,0 @@
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__ = ["GetServerInfoResponse"]
8
-
9
-
10
- class GetServerInfoResponse(BaseModel):
11
- environment: Optional[str] = None
12
-
13
- name: Optional[str] = None
14
-
15
- version: Optional[str] = None
@@ -1,33 +0,0 @@
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 .._models import BaseModel
8
-
9
- __all__ = ["HealthCheckResponse", "Services"]
10
-
11
-
12
- class Services(BaseModel):
13
- database: Optional[Literal["ok", "degraded", "down"]] = None
14
-
15
-
16
- class HealthCheckResponse(BaseModel):
17
- status: Literal["ok", "degraded", "maintenance", "down"]
18
- """Current health status of the API"""
19
-
20
- uptime: float
21
- """Server uptime in seconds"""
22
-
23
- environment: Optional[Literal["development", "staging", "production"]] = None
24
- """Current environment"""
25
-
26
- services: Optional[Services] = None
27
- """Status of dependent services"""
28
-
29
- timestamp: Optional[datetime] = None
30
- """Current server time"""
31
-
32
- version: Optional[str] = None
33
- """Current API version"""
@@ -1,18 +0,0 @@
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__ = ["StorageDeleteFileByIDResponse"]
11
-
12
-
13
- class StorageDeleteFileByIDResponse(BaseModel):
14
- deleted_at: Optional[datetime] = FieldInfo(alias="deletedAt", default=None)
15
-
16
- message: Optional[str] = None
17
-
18
- success: Optional[bool] = None
@@ -1,33 +0,0 @@
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__ = ["StorageRetrieveFileByIDResponse", "File"]
11
-
12
-
13
- class File(BaseModel):
14
- id: Optional[str] = None
15
-
16
- content_type: Optional[str] = FieldInfo(alias="contentType", default=None)
17
-
18
- filename: Optional[str] = None
19
-
20
- path: Optional[str] = None
21
-
22
- size: Optional[int] = None
23
-
24
- uploaded_at: Optional[datetime] = FieldInfo(alias="uploadedAt", default=None)
25
-
26
- url: Optional[str] = None
27
- """Signed URL for downloading the file (expires in 1 hour)"""
28
-
29
-
30
- class StorageRetrieveFileByIDResponse(BaseModel):
31
- file: Optional[File] = None
32
-
33
- success: Optional[bool] = None
@@ -1,12 +0,0 @@
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__ = ["StorageRetrieveFileByPathParams"]
8
-
9
-
10
- class StorageRetrieveFileByPathParams(TypedDict, total=False):
11
- filepath: Required[str]
12
- """Path to the file within organization storage"""
@@ -1,33 +0,0 @@
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__ = ["StorageRetrieveFileByPathResponse", "File"]
11
-
12
-
13
- class File(BaseModel):
14
- id: Optional[str] = None
15
-
16
- content_type: Optional[str] = FieldInfo(alias="contentType", default=None)
17
-
18
- filename: Optional[str] = None
19
-
20
- path: Optional[str] = None
21
-
22
- size: Optional[int] = None
23
-
24
- uploaded_at: Optional[datetime] = FieldInfo(alias="uploadedAt", default=None)
25
-
26
- url: Optional[str] = None
27
- """Signed URL for downloading the file (expires in 1 hour)"""
28
-
29
-
30
- class StorageRetrieveFileByPathResponse(BaseModel):
31
- file: Optional[File] = None
32
-
33
- success: Optional[bool] = None
@@ -1,17 +0,0 @@
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
- from .._types import FileTypes
8
-
9
- __all__ = ["StorageUploadFileParams"]
10
-
11
-
12
- class StorageUploadFileParams(TypedDict, total=False):
13
- file: Required[FileTypes]
14
- """File to upload (max 50MB)"""
15
-
16
- path: str
17
- """Optional custom path within organization storage"""
@@ -1,33 +0,0 @@
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__ = ["StorageUploadFileResponse", "File"]
11
-
12
-
13
- class File(BaseModel):
14
- id: Optional[str] = None
15
-
16
- content_type: Optional[str] = FieldInfo(alias="contentType", default=None)
17
-
18
- filename: Optional[str] = None
19
-
20
- path: Optional[str] = None
21
-
22
- size: Optional[int] = None
23
- """File size in bytes"""
24
-
25
- uploaded_at: Optional[datetime] = FieldInfo(alias="uploadedAt", default=None)
26
-
27
- url: Optional[str] = None
28
-
29
-
30
- class StorageUploadFileResponse(BaseModel):
31
- file: Optional[File] = None
32
-
33
- success: Optional[bool] = None