casedev 0.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 (185) hide show
  1. casedev/__init__.py +104 -0
  2. casedev/_base_client.py +1995 -0
  3. casedev/_client.py +560 -0
  4. casedev/_compat.py +219 -0
  5. casedev/_constants.py +14 -0
  6. casedev/_exceptions.py +108 -0
  7. casedev/_files.py +123 -0
  8. casedev/_models.py +857 -0
  9. casedev/_qs.py +150 -0
  10. casedev/_resource.py +43 -0
  11. casedev/_response.py +830 -0
  12. casedev/_streaming.py +333 -0
  13. casedev/_types.py +260 -0
  14. casedev/_utils/__init__.py +64 -0
  15. casedev/_utils/_compat.py +45 -0
  16. casedev/_utils/_datetime_parse.py +136 -0
  17. casedev/_utils/_logs.py +25 -0
  18. casedev/_utils/_proxy.py +65 -0
  19. casedev/_utils/_reflection.py +42 -0
  20. casedev/_utils/_resources_proxy.py +24 -0
  21. casedev/_utils/_streams.py +12 -0
  22. casedev/_utils/_sync.py +58 -0
  23. casedev/_utils/_transform.py +457 -0
  24. casedev/_utils/_typing.py +156 -0
  25. casedev/_utils/_utils.py +421 -0
  26. casedev/_version.py +4 -0
  27. casedev/lib/.keep +4 -0
  28. casedev/py.typed +0 -0
  29. casedev/resources/__init__.py +173 -0
  30. casedev/resources/actions/__init__.py +33 -0
  31. casedev/resources/actions/actions.py +102 -0
  32. casedev/resources/actions/v1.py +640 -0
  33. casedev/resources/compute/__init__.py +33 -0
  34. casedev/resources/compute/compute.py +102 -0
  35. casedev/resources/compute/v1/__init__.py +89 -0
  36. casedev/resources/compute/v1/environments.py +492 -0
  37. casedev/resources/compute/v1/functions.py +278 -0
  38. casedev/resources/compute/v1/invoke.py +216 -0
  39. casedev/resources/compute/v1/runs.py +290 -0
  40. casedev/resources/compute/v1/secrets.py +655 -0
  41. casedev/resources/compute/v1/v1.py +583 -0
  42. casedev/resources/convert/__init__.py +33 -0
  43. casedev/resources/convert/convert.py +102 -0
  44. casedev/resources/convert/v1/__init__.py +33 -0
  45. casedev/resources/convert/v1/jobs.py +254 -0
  46. casedev/resources/convert/v1/v1.py +450 -0
  47. casedev/resources/format/__init__.py +33 -0
  48. casedev/resources/format/format.py +102 -0
  49. casedev/resources/format/v1/__init__.py +33 -0
  50. casedev/resources/format/v1/templates.py +419 -0
  51. casedev/resources/format/v1/v1.py +244 -0
  52. casedev/resources/llm/__init__.py +33 -0
  53. casedev/resources/llm/llm.py +192 -0
  54. casedev/resources/llm/v1/__init__.py +33 -0
  55. casedev/resources/llm/v1/chat.py +243 -0
  56. casedev/resources/llm/v1/v1.py +317 -0
  57. casedev/resources/ocr/__init__.py +33 -0
  58. casedev/resources/ocr/ocr.py +102 -0
  59. casedev/resources/ocr/v1.py +407 -0
  60. casedev/resources/search/__init__.py +33 -0
  61. casedev/resources/search/search.py +102 -0
  62. casedev/resources/search/v1.py +1052 -0
  63. casedev/resources/templates/__init__.py +33 -0
  64. casedev/resources/templates/templates.py +102 -0
  65. casedev/resources/templates/v1.py +633 -0
  66. casedev/resources/vault/__init__.py +47 -0
  67. casedev/resources/vault/graphrag.py +256 -0
  68. casedev/resources/vault/objects.py +571 -0
  69. casedev/resources/vault/vault.py +764 -0
  70. casedev/resources/voice/__init__.py +61 -0
  71. casedev/resources/voice/streaming.py +160 -0
  72. casedev/resources/voice/transcription.py +327 -0
  73. casedev/resources/voice/v1/__init__.py +33 -0
  74. casedev/resources/voice/v1/speak.py +478 -0
  75. casedev/resources/voice/v1/v1.py +290 -0
  76. casedev/resources/voice/voice.py +166 -0
  77. casedev/resources/webhooks/__init__.py +33 -0
  78. casedev/resources/webhooks/v1.py +447 -0
  79. casedev/resources/webhooks/webhooks.py +102 -0
  80. casedev/resources/workflows/__init__.py +33 -0
  81. casedev/resources/workflows/v1.py +1053 -0
  82. casedev/resources/workflows/workflows.py +102 -0
  83. casedev/types/__init__.py +12 -0
  84. casedev/types/actions/__init__.py +8 -0
  85. casedev/types/actions/v1_create_params.py +22 -0
  86. casedev/types/actions/v1_create_response.py +33 -0
  87. casedev/types/actions/v1_execute_params.py +16 -0
  88. casedev/types/actions/v1_execute_response.py +31 -0
  89. casedev/types/compute/__init__.py +7 -0
  90. casedev/types/compute/v1/__init__.py +18 -0
  91. casedev/types/compute/v1/environment_create_params.py +12 -0
  92. casedev/types/compute/v1/environment_create_response.py +34 -0
  93. casedev/types/compute/v1/environment_delete_response.py +11 -0
  94. casedev/types/compute/v1/function_get_logs_params.py +12 -0
  95. casedev/types/compute/v1/function_list_params.py +12 -0
  96. casedev/types/compute/v1/invoke_run_params.py +21 -0
  97. casedev/types/compute/v1/invoke_run_response.py +39 -0
  98. casedev/types/compute/v1/run_list_params.py +18 -0
  99. casedev/types/compute/v1/secret_create_params.py +24 -0
  100. casedev/types/compute/v1/secret_create_response.py +24 -0
  101. casedev/types/compute/v1/secret_delete_group_params.py +18 -0
  102. casedev/types/compute/v1/secret_list_params.py +15 -0
  103. casedev/types/compute/v1/secret_retrieve_group_params.py +12 -0
  104. casedev/types/compute/v1/secret_update_group_params.py +16 -0
  105. casedev/types/compute/v1_deploy_params.py +114 -0
  106. casedev/types/compute/v1_deploy_response.py +30 -0
  107. casedev/types/compute/v1_get_usage_params.py +15 -0
  108. casedev/types/convert/__init__.py +8 -0
  109. casedev/types/convert/v1/__init__.py +3 -0
  110. casedev/types/convert/v1_process_params.py +15 -0
  111. casedev/types/convert/v1_process_response.py +19 -0
  112. casedev/types/convert/v1_webhook_params.py +32 -0
  113. casedev/types/convert/v1_webhook_response.py +13 -0
  114. casedev/types/format/__init__.py +5 -0
  115. casedev/types/format/v1/__init__.py +7 -0
  116. casedev/types/format/v1/template_create_params.py +32 -0
  117. casedev/types/format/v1/template_create_response.py +27 -0
  118. casedev/types/format/v1/template_list_params.py +12 -0
  119. casedev/types/format/v1_create_document_params.py +42 -0
  120. casedev/types/llm/__init__.py +5 -0
  121. casedev/types/llm/v1/__init__.py +6 -0
  122. casedev/types/llm/v1/chat_create_completion_params.py +42 -0
  123. casedev/types/llm/v1/chat_create_completion_response.py +49 -0
  124. casedev/types/llm/v1_create_embedding_params.py +27 -0
  125. casedev/types/ocr/__init__.py +6 -0
  126. casedev/types/ocr/v1_process_params.py +44 -0
  127. casedev/types/ocr/v1_process_response.py +32 -0
  128. casedev/types/search/__init__.py +15 -0
  129. casedev/types/search/v1_answer_params.py +45 -0
  130. casedev/types/search/v1_answer_response.py +35 -0
  131. casedev/types/search/v1_contents_params.py +42 -0
  132. casedev/types/search/v1_contents_response.py +31 -0
  133. casedev/types/search/v1_research_params.py +23 -0
  134. casedev/types/search/v1_research_response.py +20 -0
  135. casedev/types/search/v1_retrieve_research_params.py +15 -0
  136. casedev/types/search/v1_search_params.py +56 -0
  137. casedev/types/search/v1_search_response.py +38 -0
  138. casedev/types/search/v1_similar_params.py +44 -0
  139. casedev/types/search/v1_similar_response.py +33 -0
  140. casedev/types/templates/__init__.py +8 -0
  141. casedev/types/templates/v1_execute_params.py +22 -0
  142. casedev/types/templates/v1_execute_response.py +31 -0
  143. casedev/types/templates/v1_list_params.py +32 -0
  144. casedev/types/templates/v1_search_params.py +18 -0
  145. casedev/types/vault/__init__.py +6 -0
  146. casedev/types/vault/object_create_presigned_url_params.py +22 -0
  147. casedev/types/vault/object_create_presigned_url_response.py +51 -0
  148. casedev/types/vault_create_params.py +20 -0
  149. casedev/types/vault_create_response.py +36 -0
  150. casedev/types/vault_ingest_response.py +26 -0
  151. casedev/types/vault_list_response.py +40 -0
  152. casedev/types/vault_search_params.py +27 -0
  153. casedev/types/vault_search_response.py +53 -0
  154. casedev/types/vault_upload_params.py +26 -0
  155. casedev/types/vault_upload_response.py +39 -0
  156. casedev/types/voice/__init__.py +7 -0
  157. casedev/types/voice/transcription_create_params.py +36 -0
  158. casedev/types/voice/transcription_retrieve_response.py +41 -0
  159. casedev/types/voice/v1/__init__.py +6 -0
  160. casedev/types/voice/v1/speak_create_params.py +59 -0
  161. casedev/types/voice/v1/speak_stream_params.py +58 -0
  162. casedev/types/voice/v1_list_voices_params.py +36 -0
  163. casedev/types/webhooks/__init__.py +6 -0
  164. casedev/types/webhooks/v1_create_params.py +20 -0
  165. casedev/types/webhooks/v1_create_response.py +33 -0
  166. casedev/types/workflows/__init__.py +19 -0
  167. casedev/types/workflows/v1_create_params.py +32 -0
  168. casedev/types/workflows/v1_create_response.py +29 -0
  169. casedev/types/workflows/v1_delete_response.py +13 -0
  170. casedev/types/workflows/v1_deploy_response.py +20 -0
  171. casedev/types/workflows/v1_execute_params.py +12 -0
  172. casedev/types/workflows/v1_execute_response.py +22 -0
  173. casedev/types/workflows/v1_list_executions_params.py +13 -0
  174. casedev/types/workflows/v1_list_executions_response.py +27 -0
  175. casedev/types/workflows/v1_list_params.py +18 -0
  176. casedev/types/workflows/v1_list_response.py +37 -0
  177. casedev/types/workflows/v1_retrieve_execution_response.py +31 -0
  178. casedev/types/workflows/v1_retrieve_response.py +35 -0
  179. casedev/types/workflows/v1_undeploy_response.py +13 -0
  180. casedev/types/workflows/v1_update_params.py +26 -0
  181. casedev/types/workflows/v1_update_response.py +17 -0
  182. casedev-0.1.0.dist-info/METADATA +454 -0
  183. casedev-0.1.0.dist-info/RECORD +185 -0
  184. casedev-0.1.0.dist-info/WHEEL +4 -0
  185. casedev-0.1.0.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,102 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .v1 import (
6
+ V1Resource,
7
+ AsyncV1Resource,
8
+ V1ResourceWithRawResponse,
9
+ AsyncV1ResourceWithRawResponse,
10
+ V1ResourceWithStreamingResponse,
11
+ AsyncV1ResourceWithStreamingResponse,
12
+ )
13
+ from ..._compat import cached_property
14
+ from ..._resource import SyncAPIResource, AsyncAPIResource
15
+
16
+ __all__ = ["WorkflowsResource", "AsyncWorkflowsResource"]
17
+
18
+
19
+ class WorkflowsResource(SyncAPIResource):
20
+ @cached_property
21
+ def v1(self) -> V1Resource:
22
+ return V1Resource(self._client)
23
+
24
+ @cached_property
25
+ def with_raw_response(self) -> WorkflowsResourceWithRawResponse:
26
+ """
27
+ This property can be used as a prefix for any HTTP method call to return
28
+ the raw response object instead of the parsed content.
29
+
30
+ For more information, see https://www.github.com/CaseMark/casedev-python#accessing-raw-response-data-eg-headers
31
+ """
32
+ return WorkflowsResourceWithRawResponse(self)
33
+
34
+ @cached_property
35
+ def with_streaming_response(self) -> WorkflowsResourceWithStreamingResponse:
36
+ """
37
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
38
+
39
+ For more information, see https://www.github.com/CaseMark/casedev-python#with_streaming_response
40
+ """
41
+ return WorkflowsResourceWithStreamingResponse(self)
42
+
43
+
44
+ class AsyncWorkflowsResource(AsyncAPIResource):
45
+ @cached_property
46
+ def v1(self) -> AsyncV1Resource:
47
+ return AsyncV1Resource(self._client)
48
+
49
+ @cached_property
50
+ def with_raw_response(self) -> AsyncWorkflowsResourceWithRawResponse:
51
+ """
52
+ This property can be used as a prefix for any HTTP method call to return
53
+ the raw response object instead of the parsed content.
54
+
55
+ For more information, see https://www.github.com/CaseMark/casedev-python#accessing-raw-response-data-eg-headers
56
+ """
57
+ return AsyncWorkflowsResourceWithRawResponse(self)
58
+
59
+ @cached_property
60
+ def with_streaming_response(self) -> AsyncWorkflowsResourceWithStreamingResponse:
61
+ """
62
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
63
+
64
+ For more information, see https://www.github.com/CaseMark/casedev-python#with_streaming_response
65
+ """
66
+ return AsyncWorkflowsResourceWithStreamingResponse(self)
67
+
68
+
69
+ class WorkflowsResourceWithRawResponse:
70
+ def __init__(self, workflows: WorkflowsResource) -> None:
71
+ self._workflows = workflows
72
+
73
+ @cached_property
74
+ def v1(self) -> V1ResourceWithRawResponse:
75
+ return V1ResourceWithRawResponse(self._workflows.v1)
76
+
77
+
78
+ class AsyncWorkflowsResourceWithRawResponse:
79
+ def __init__(self, workflows: AsyncWorkflowsResource) -> None:
80
+ self._workflows = workflows
81
+
82
+ @cached_property
83
+ def v1(self) -> AsyncV1ResourceWithRawResponse:
84
+ return AsyncV1ResourceWithRawResponse(self._workflows.v1)
85
+
86
+
87
+ class WorkflowsResourceWithStreamingResponse:
88
+ def __init__(self, workflows: WorkflowsResource) -> None:
89
+ self._workflows = workflows
90
+
91
+ @cached_property
92
+ def v1(self) -> V1ResourceWithStreamingResponse:
93
+ return V1ResourceWithStreamingResponse(self._workflows.v1)
94
+
95
+
96
+ class AsyncWorkflowsResourceWithStreamingResponse:
97
+ def __init__(self, workflows: AsyncWorkflowsResource) -> None:
98
+ self._workflows = workflows
99
+
100
+ @cached_property
101
+ def v1(self) -> AsyncV1ResourceWithStreamingResponse:
102
+ return AsyncV1ResourceWithStreamingResponse(self._workflows.v1)
@@ -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 .vault_create_params import VaultCreateParams as VaultCreateParams
6
+ from .vault_list_response import VaultListResponse as VaultListResponse
7
+ from .vault_search_params import VaultSearchParams as VaultSearchParams
8
+ from .vault_upload_params import VaultUploadParams as VaultUploadParams
9
+ from .vault_create_response import VaultCreateResponse as VaultCreateResponse
10
+ from .vault_ingest_response import VaultIngestResponse as VaultIngestResponse
11
+ from .vault_search_response import VaultSearchResponse as VaultSearchResponse
12
+ from .vault_upload_response import VaultUploadResponse as VaultUploadResponse
@@ -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 .v1_create_params import V1CreateParams as V1CreateParams
6
+ from .v1_execute_params import V1ExecuteParams as V1ExecuteParams
7
+ from .v1_create_response import V1CreateResponse as V1CreateResponse
8
+ from .v1_execute_response import V1ExecuteResponse as V1ExecuteResponse
@@ -0,0 +1,22 @@
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 typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["V1CreateParams"]
9
+
10
+
11
+ class V1CreateParams(TypedDict, total=False):
12
+ definition: Required[Union[str, object]]
13
+ """Action definition in YAML string, JSON string, or JSON object format"""
14
+
15
+ name: Required[str]
16
+ """Unique name for the action"""
17
+
18
+ description: str
19
+ """Optional description of the action's purpose"""
20
+
21
+ webhook_id: str
22
+ """Optional webhook endpoint ID for action completion notifications"""
@@ -0,0 +1,33 @@
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__ = ["V1CreateResponse"]
10
+
11
+
12
+ class V1CreateResponse(BaseModel):
13
+ id: Optional[str] = None
14
+
15
+ created_at: Optional[str] = FieldInfo(alias="createdAt", default=None)
16
+
17
+ created_by: Optional[str] = FieldInfo(alias="createdBy", default=None)
18
+
19
+ definition: Optional[object] = None
20
+
21
+ description: Optional[str] = None
22
+
23
+ is_active: Optional[bool] = FieldInfo(alias="isActive", default=None)
24
+
25
+ name: Optional[str] = None
26
+
27
+ organization_id: Optional[str] = FieldInfo(alias="organizationId", default=None)
28
+
29
+ updated_at: Optional[str] = FieldInfo(alias="updatedAt", default=None)
30
+
31
+ version: Optional[float] = None
32
+
33
+ webhook_endpoint_id: Optional[str] = FieldInfo(alias="webhookEndpointId", default=None)
@@ -0,0 +1,16 @@
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 Required, TypedDict
7
+
8
+ __all__ = ["V1ExecuteParams"]
9
+
10
+
11
+ class V1ExecuteParams(TypedDict, total=False):
12
+ input: Required[Dict[str, object]]
13
+ """Input data for the action execution"""
14
+
15
+ webhook_id: str
16
+ """Optional webhook endpoint ID to override the action's default webhook"""
@@ -0,0 +1,31 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["V1ExecuteResponse"]
9
+
10
+
11
+ class V1ExecuteResponse(BaseModel):
12
+ duration_ms: Optional[float] = None
13
+ """Execution duration in milliseconds (only for completed executions)"""
14
+
15
+ execution_id: Optional[str] = None
16
+ """Unique identifier for this execution"""
17
+
18
+ message: Optional[str] = None
19
+ """Human-readable status message"""
20
+
21
+ output: Optional[Dict[str, object]] = None
22
+ """Final output (only for synchronous/completed executions)"""
23
+
24
+ status: Optional[Literal["completed", "running"]] = None
25
+ """Current status of the execution"""
26
+
27
+ step_results: Optional[List[Dict[str, object]]] = None
28
+ """Results from each step (only for synchronous/completed executions)"""
29
+
30
+ webhook_configured: Optional[bool] = None
31
+ """Whether webhook notifications are configured"""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .v1_deploy_params import V1DeployParams as V1DeployParams
6
+ from .v1_deploy_response import V1DeployResponse as V1DeployResponse
7
+ from .v1_get_usage_params import V1GetUsageParams as V1GetUsageParams
@@ -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 .run_list_params import RunListParams as RunListParams
6
+ from .invoke_run_params import InvokeRunParams as InvokeRunParams
7
+ from .secret_list_params import SecretListParams as SecretListParams
8
+ from .invoke_run_response import InvokeRunResponse as InvokeRunResponse
9
+ from .function_list_params import FunctionListParams as FunctionListParams
10
+ from .secret_create_params import SecretCreateParams as SecretCreateParams
11
+ from .secret_create_response import SecretCreateResponse as SecretCreateResponse
12
+ from .function_get_logs_params import FunctionGetLogsParams as FunctionGetLogsParams
13
+ from .environment_create_params import EnvironmentCreateParams as EnvironmentCreateParams
14
+ from .secret_delete_group_params import SecretDeleteGroupParams as SecretDeleteGroupParams
15
+ from .secret_update_group_params import SecretUpdateGroupParams as SecretUpdateGroupParams
16
+ from .environment_create_response import EnvironmentCreateResponse as EnvironmentCreateResponse
17
+ from .environment_delete_response import EnvironmentDeleteResponse as EnvironmentDeleteResponse
18
+ from .secret_retrieve_group_params import SecretRetrieveGroupParams as SecretRetrieveGroupParams
@@ -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__ = ["EnvironmentCreateParams"]
8
+
9
+
10
+ class EnvironmentCreateParams(TypedDict, total=False):
11
+ name: Required[str]
12
+ """Environment name (alphanumeric, hyphens, and underscores only)"""
@@ -0,0 +1,34 @@
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__ = ["EnvironmentCreateResponse"]
12
+
13
+
14
+ class EnvironmentCreateResponse(BaseModel):
15
+ id: Optional[str] = None
16
+ """Unique environment identifier"""
17
+
18
+ created_at: Optional[datetime] = FieldInfo(alias="createdAt", default=None)
19
+ """Environment creation timestamp"""
20
+
21
+ domain: Optional[str] = None
22
+ """Unique domain for this environment"""
23
+
24
+ is_default: Optional[bool] = FieldInfo(alias="isDefault", default=None)
25
+ """Whether this is the default environment"""
26
+
27
+ name: Optional[str] = None
28
+ """Environment name"""
29
+
30
+ slug: Optional[str] = None
31
+ """URL-friendly slug derived from name"""
32
+
33
+ status: Optional[Literal["active", "inactive"]] = None
34
+ """Environment status"""
@@ -0,0 +1,11 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ...._models import BaseModel
4
+
5
+ __all__ = ["EnvironmentDeleteResponse"]
6
+
7
+
8
+ class EnvironmentDeleteResponse(BaseModel):
9
+ message: str
10
+
11
+ success: bool
@@ -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 TypedDict
6
+
7
+ __all__ = ["FunctionGetLogsParams"]
8
+
9
+
10
+ class FunctionGetLogsParams(TypedDict, total=False):
11
+ tail: int
12
+ """Number of log lines to retrieve (default 200, max 1000)"""
@@ -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 TypedDict
6
+
7
+ __all__ = ["FunctionListParams"]
8
+
9
+
10
+ class FunctionListParams(TypedDict, total=False):
11
+ env: str
12
+ """Environment name. If not specified, uses the default environment."""
@@ -0,0 +1,21 @@
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, Annotated, TypedDict
7
+
8
+ from ...._utils import PropertyInfo
9
+
10
+ __all__ = ["InvokeRunParams"]
11
+
12
+
13
+ class InvokeRunParams(TypedDict, total=False):
14
+ input: Required[Dict[str, object]]
15
+ """Input data to pass to the function"""
16
+
17
+ async_: Annotated[bool, PropertyInfo(alias="async")]
18
+ """If true, returns immediately with run ID for background execution"""
19
+
20
+ function_suffix: Annotated[Literal["_modal", "_task", "_web", "_server"], PropertyInfo(alias="functionSuffix")]
21
+ """Override the auto-detected function suffix"""
@@ -0,0 +1,39 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Union, Optional
4
+ from typing_extensions import Literal, TypeAlias
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from ...._models import BaseModel
9
+
10
+ __all__ = ["InvokeRunResponse", "SynchronousResponse", "AsynchronousResponse"]
11
+
12
+
13
+ class SynchronousResponse(BaseModel):
14
+ duration: Optional[float] = None
15
+ """Execution duration in milliseconds"""
16
+
17
+ error: Optional[str] = None
18
+ """Error message if status is failed"""
19
+
20
+ output: Optional[object] = None
21
+ """Function return value"""
22
+
23
+ run_id: Optional[str] = FieldInfo(alias="runId", default=None)
24
+ """Unique run identifier"""
25
+
26
+ status: Optional[Literal["completed", "failed"]] = None
27
+
28
+
29
+ class AsynchronousResponse(BaseModel):
30
+ logs_url: Optional[str] = FieldInfo(alias="logsUrl", default=None)
31
+ """URL to check run status and logs"""
32
+
33
+ run_id: Optional[str] = FieldInfo(alias="runId", default=None)
34
+ """Unique run identifier"""
35
+
36
+ status: Optional[Literal["running"]] = None
37
+
38
+
39
+ InvokeRunResponse: TypeAlias = Union[SynchronousResponse, AsynchronousResponse]
@@ -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_extensions import TypedDict
6
+
7
+ __all__ = ["RunListParams"]
8
+
9
+
10
+ class RunListParams(TypedDict, total=False):
11
+ env: str
12
+ """Environment name to filter runs by"""
13
+
14
+ function: str
15
+ """Function name to filter runs by"""
16
+
17
+ limit: int
18
+ """Maximum number of runs to return (1-100, default: 50)"""
@@ -0,0 +1,24 @@
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__ = ["SecretCreateParams"]
8
+
9
+
10
+ class SecretCreateParams(TypedDict, total=False):
11
+ name: Required[str]
12
+ """Unique name for the secret group.
13
+
14
+ Must contain only letters, numbers, hyphens, and underscores.
15
+ """
16
+
17
+ description: str
18
+ """Optional description of the secret group's purpose"""
19
+
20
+ env: str
21
+ """Environment name where the secret group will be created.
22
+
23
+ Uses default environment if not specified.
24
+ """
@@ -0,0 +1,24 @@
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__ = ["SecretCreateResponse"]
11
+
12
+
13
+ class SecretCreateResponse(BaseModel):
14
+ id: Optional[str] = None
15
+ """Unique identifier for the secret group"""
16
+
17
+ created_at: Optional[datetime] = FieldInfo(alias="createdAt", default=None)
18
+ """Creation timestamp"""
19
+
20
+ description: Optional[str] = None
21
+ """Description of the secret group"""
22
+
23
+ name: Optional[str] = None
24
+ """Name of the secret group"""
@@ -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_extensions import TypedDict
6
+
7
+ __all__ = ["SecretDeleteGroupParams"]
8
+
9
+
10
+ class SecretDeleteGroupParams(TypedDict, total=False):
11
+ env: str
12
+ """Environment name. If not provided, uses the default environment"""
13
+
14
+ key: str
15
+ """Specific key to delete within the group.
16
+
17
+ If not provided, the entire group is deleted
18
+ """
@@ -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_extensions import TypedDict
6
+
7
+ __all__ = ["SecretListParams"]
8
+
9
+
10
+ class SecretListParams(TypedDict, total=False):
11
+ env: str
12
+ """Environment name to list secret groups for.
13
+
14
+ If not specified, uses the default environment.
15
+ """
@@ -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 TypedDict
6
+
7
+ __all__ = ["SecretRetrieveGroupParams"]
8
+
9
+
10
+ class SecretRetrieveGroupParams(TypedDict, total=False):
11
+ env: str
12
+ """Environment name. If not specified, uses the default environment"""
@@ -0,0 +1,16 @@
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 Required, TypedDict
7
+
8
+ __all__ = ["SecretUpdateGroupParams"]
9
+
10
+
11
+ class SecretUpdateGroupParams(TypedDict, total=False):
12
+ secrets: Required[Dict[str, str]]
13
+ """Key-value pairs of secrets to set"""
14
+
15
+ env: str
16
+ """Environment name (optional, uses default if not specified)"""
@@ -0,0 +1,114 @@
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, Annotated, TypedDict
7
+
8
+ from ..._types import SequenceNotStr
9
+ from ..._utils import PropertyInfo
10
+
11
+ __all__ = ["V1DeployParams", "Config"]
12
+
13
+
14
+ class V1DeployParams(TypedDict, total=False):
15
+ entrypoint_name: Required[Annotated[str, PropertyInfo(alias="entrypointName")]]
16
+ """Function/app name (used for domain: hello → hello.org.case.systems)"""
17
+
18
+ type: Required[Literal["task", "service"]]
19
+ """Deployment type: task for batch jobs, service for web endpoints"""
20
+
21
+ code: str
22
+ """Python code (required for python runtime)"""
23
+
24
+ config: Config
25
+ """Runtime and resource configuration"""
26
+
27
+ dockerfile: str
28
+ """Dockerfile content (required for dockerfile runtime)"""
29
+
30
+ entrypoint_file: Annotated[str, PropertyInfo(alias="entrypointFile")]
31
+ """Python entrypoint file name"""
32
+
33
+ environment: str
34
+ """Environment name (uses default if not specified)"""
35
+
36
+ image: str
37
+ """
38
+ Container image name (required for image runtime, e.g.,
39
+ 'nvidia/cuda:12.8.1-devel-ubuntu22.04')
40
+ """
41
+
42
+ runtime: Literal["python", "dockerfile", "image"]
43
+ """Runtime environment"""
44
+
45
+
46
+ class Config(TypedDict, total=False):
47
+ add_python: Annotated[str, PropertyInfo(alias="addPython")]
48
+ """Add Python to image (e.g., '3.12', for image runtime)"""
49
+
50
+ allow_network: Annotated[bool, PropertyInfo(alias="allowNetwork")]
51
+ """Allow network access (default: false for Python, true for Docker)"""
52
+
53
+ cmd: SequenceNotStr[str]
54
+ """Container command arguments"""
55
+
56
+ concurrency: int
57
+ """Concurrent execution limit"""
58
+
59
+ cpu_count: Annotated[int, PropertyInfo(alias="cpuCount")]
60
+ """CPU core count"""
61
+
62
+ cron_schedule: Annotated[str, PropertyInfo(alias="cronSchedule")]
63
+ """Cron schedule for periodic execution"""
64
+
65
+ dependencies: SequenceNotStr[str]
66
+ """Python package dependencies (python runtime)"""
67
+
68
+ entrypoint: SequenceNotStr[str]
69
+ """Container entrypoint command"""
70
+
71
+ env: Dict[str, str]
72
+ """Environment variables"""
73
+
74
+ gpu_count: Annotated[int, PropertyInfo(alias="gpuCount")]
75
+ """Number of GPUs (for multi-GPU setups)"""
76
+
77
+ gpu_type: Annotated[
78
+ Literal["cpu", "T4", "L4", "A10G", "L40S", "A100", "A100-40GB", "A100-80GB", "H100", "H200", "B200"],
79
+ PropertyInfo(alias="gpuType"),
80
+ ]
81
+ """GPU type for acceleration"""
82
+
83
+ is_web_service: Annotated[bool, PropertyInfo(alias="isWebService")]
84
+ """Deploy as web service (auto-set for service type)"""
85
+
86
+ memory_mb: Annotated[int, PropertyInfo(alias="memoryMb")]
87
+ """Memory allocation in MB"""
88
+
89
+ pip_install: Annotated[SequenceNotStr[str], PropertyInfo(alias="pipInstall")]
90
+ """Packages to pip install (image runtime)"""
91
+
92
+ port: int
93
+ """Port for web services"""
94
+
95
+ python_version: Annotated[str, PropertyInfo(alias="pythonVersion")]
96
+ """Python version (e.g., '3.11')"""
97
+
98
+ retries: int
99
+ """Retry attempts on failure (Python only)"""
100
+
101
+ secret_groups: Annotated[SequenceNotStr[str], PropertyInfo(alias="secretGroups")]
102
+ """Secret group names to inject"""
103
+
104
+ timeout_seconds: Annotated[int, PropertyInfo(alias="timeoutSeconds")]
105
+ """Maximum execution time"""
106
+
107
+ use_uv: Annotated[bool, PropertyInfo(alias="useUv")]
108
+ """Use uv for faster package installs"""
109
+
110
+ warm_instances: Annotated[int, PropertyInfo(alias="warmInstances")]
111
+ """Number of warm instances to maintain"""
112
+
113
+ workdir: str
114
+ """Working directory in container"""