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,53 @@
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
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._models import BaseModel
9
+
10
+ __all__ = ["VaultSearchResponse", "Chunk", "Source"]
11
+
12
+
13
+ class Chunk(BaseModel):
14
+ score: Optional[float] = None
15
+
16
+ source: Optional[str] = None
17
+
18
+ text: Optional[str] = None
19
+
20
+
21
+ class Source(BaseModel):
22
+ id: Optional[str] = None
23
+
24
+ chunk_count: Optional[int] = FieldInfo(alias="chunkCount", default=None)
25
+
26
+ created_at: Optional[datetime] = FieldInfo(alias="createdAt", default=None)
27
+
28
+ filename: Optional[str] = None
29
+
30
+ ingestion_completed_at: Optional[datetime] = FieldInfo(alias="ingestionCompletedAt", default=None)
31
+
32
+ page_count: Optional[int] = FieldInfo(alias="pageCount", default=None)
33
+
34
+ text_length: Optional[int] = FieldInfo(alias="textLength", default=None)
35
+
36
+
37
+ class VaultSearchResponse(BaseModel):
38
+ chunks: Optional[List[Chunk]] = None
39
+ """Relevant text chunks with similarity scores"""
40
+
41
+ method: Optional[str] = None
42
+ """Search method used"""
43
+
44
+ query: Optional[str] = None
45
+ """Original search query"""
46
+
47
+ response: Optional[str] = None
48
+ """AI-generated answer based on search results (for global/entity methods)"""
49
+
50
+ sources: Optional[List[Source]] = None
51
+
52
+ vault_id: Optional[str] = None
53
+ """ID of the searched vault"""
@@ -0,0 +1,26 @@
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__ = ["VaultUploadParams"]
10
+
11
+
12
+ class VaultUploadParams(TypedDict, total=False):
13
+ content_type: Required[Annotated[str, PropertyInfo(alias="contentType")]]
14
+ """MIME type of the file (e.g., application/pdf, image/jpeg)"""
15
+
16
+ filename: Required[str]
17
+ """Name of the file to upload"""
18
+
19
+ auto_index: bool
20
+ """Whether to automatically process and index the file for search"""
21
+
22
+ metadata: object
23
+ """Additional metadata to associate with the file"""
24
+
25
+ size_bytes: Annotated[float, PropertyInfo(alias="sizeBytes")]
26
+ """Estimated file size in bytes for cost calculation"""
@@ -0,0 +1,39 @@
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__ = ["VaultUploadResponse", "Instructions"]
10
+
11
+
12
+ class Instructions(BaseModel):
13
+ headers: Optional[object] = None
14
+
15
+ method: Optional[str] = None
16
+
17
+ note: Optional[str] = None
18
+
19
+
20
+ class VaultUploadResponse(BaseModel):
21
+ auto_index: Optional[bool] = None
22
+ """Whether the file will be automatically indexed"""
23
+
24
+ expires_in: Optional[float] = FieldInfo(alias="expiresIn", default=None)
25
+ """URL expiration time in seconds"""
26
+
27
+ instructions: Optional[Instructions] = None
28
+
29
+ next_step: Optional[str] = None
30
+ """Next API endpoint to call for processing"""
31
+
32
+ object_id: Optional[str] = FieldInfo(alias="objectId", default=None)
33
+ """Unique identifier for the uploaded object"""
34
+
35
+ s3_key: Optional[str] = FieldInfo(alias="s3Key", default=None)
36
+ """S3 object key for the file"""
37
+
38
+ upload_url: Optional[str] = FieldInfo(alias="uploadUrl", default=None)
39
+ """Presigned URL for uploading the file"""
@@ -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_list_voices_params import V1ListVoicesParams as V1ListVoicesParams
6
+ from .transcription_create_params import TranscriptionCreateParams as TranscriptionCreateParams
7
+ from .transcription_retrieve_response import TranscriptionRetrieveResponse as TranscriptionRetrieveResponse
@@ -0,0 +1,36 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["TranscriptionCreateParams"]
8
+
9
+
10
+ class TranscriptionCreateParams(TypedDict, total=False):
11
+ audio_url: Required[str]
12
+ """URL of the audio file to transcribe"""
13
+
14
+ auto_highlights: bool
15
+ """Automatically extract key phrases and topics"""
16
+
17
+ content_safety_labels: bool
18
+ """Enable content moderation and safety labeling"""
19
+
20
+ format_text: bool
21
+ """Format text with proper capitalization"""
22
+
23
+ language_code: str
24
+ """Language code (e.g., 'en_us', 'es', 'fr').
25
+
26
+ If not specified, language will be auto-detected
27
+ """
28
+
29
+ language_detection: bool
30
+ """Enable automatic language detection"""
31
+
32
+ punctuate: bool
33
+ """Add punctuation to the transcript"""
34
+
35
+ speaker_labels: bool
36
+ """Enable speaker identification and labeling"""
@@ -0,0 +1,41 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["TranscriptionRetrieveResponse", "Word"]
9
+
10
+
11
+ class Word(BaseModel):
12
+ confidence: Optional[float] = None
13
+
14
+ end: Optional[float] = None
15
+
16
+ start: Optional[float] = None
17
+
18
+ text: Optional[str] = None
19
+
20
+
21
+ class TranscriptionRetrieveResponse(BaseModel):
22
+ id: str
23
+ """Unique transcription job ID"""
24
+
25
+ status: Literal["queued", "processing", "completed", "error"]
26
+ """Current status of the transcription job"""
27
+
28
+ audio_duration: Optional[float] = None
29
+ """Duration of the audio file in seconds"""
30
+
31
+ confidence: Optional[float] = None
32
+ """Overall confidence score for the transcription"""
33
+
34
+ error: Optional[str] = None
35
+ """Error message (only present when status is error)"""
36
+
37
+ text: Optional[str] = None
38
+ """Full transcription text (only present when status is completed)"""
39
+
40
+ words: Optional[List[Word]] = None
41
+ """Word-level timestamps and confidence scores"""
@@ -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 .speak_create_params import SpeakCreateParams as SpeakCreateParams
6
+ from .speak_stream_params import SpeakStreamParams as SpeakStreamParams
@@ -0,0 +1,59 @@
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__ = ["SpeakCreateParams", "VoiceSettings"]
8
+
9
+
10
+ class SpeakCreateParams(TypedDict, total=False):
11
+ text: Required[str]
12
+ """Text to convert to speech"""
13
+
14
+ apply_text_normalization: bool
15
+ """Apply automatic text normalization"""
16
+
17
+ enable_logging: bool
18
+ """Enable request logging"""
19
+
20
+ language_code: str
21
+ """Language code for multilingual models"""
22
+
23
+ model_id: Literal["eleven_multilingual_v2", "eleven_turbo_v2", "eleven_monolingual_v1"]
24
+ """ElevenLabs model ID"""
25
+
26
+ next_text: str
27
+ """Next context for better pronunciation"""
28
+
29
+ optimize_streaming_latency: int
30
+ """Optimize for streaming latency (0-4)"""
31
+
32
+ output_format: Literal["mp3_44100_128", "mp3_44100_192", "pcm_16000", "pcm_22050", "pcm_24000", "pcm_44100"]
33
+ """Audio output format"""
34
+
35
+ previous_text: str
36
+ """Previous context for better pronunciation"""
37
+
38
+ seed: int
39
+ """Seed for reproducible generation"""
40
+
41
+ voice_id: str
42
+ """ElevenLabs voice ID (defaults to Rachel - professional, clear)"""
43
+
44
+ voice_settings: VoiceSettings
45
+ """Voice customization settings"""
46
+
47
+
48
+ class VoiceSettings(TypedDict, total=False):
49
+ similarity_boost: float
50
+ """Similarity boost (0-1)"""
51
+
52
+ stability: float
53
+ """Voice stability (0-1)"""
54
+
55
+ style: float
56
+ """Style exaggeration (0-1)"""
57
+
58
+ use_speaker_boost: bool
59
+ """Enable speaker boost"""
@@ -0,0 +1,58 @@
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__ = ["SpeakStreamParams", "VoiceSettings"]
8
+
9
+
10
+ class SpeakStreamParams(TypedDict, total=False):
11
+ text: Required[str]
12
+ """Text to convert to speech"""
13
+
14
+ apply_text_normalization: bool
15
+ """Apply text normalization"""
16
+
17
+ enable_logging: bool
18
+ """Enable request logging"""
19
+
20
+ language_code: str
21
+ """Language code (e.g., 'en', 'es', 'fr')"""
22
+
23
+ model_id: Literal["eleven_monolingual_v1", "eleven_multilingual_v1", "eleven_multilingual_v2", "eleven_turbo_v2"]
24
+ """TTS model to use"""
25
+
26
+ next_text: str
27
+ """Next text for context"""
28
+
29
+ optimize_streaming_latency: int
30
+ """Optimize for streaming latency (0-4)"""
31
+
32
+ output_format: Literal["mp3_44100_128", "mp3_22050_32", "pcm_16000", "pcm_22050", "pcm_24000", "pcm_44100"]
33
+ """Audio output format"""
34
+
35
+ previous_text: str
36
+ """Previous text for context"""
37
+
38
+ seed: int
39
+ """Random seed for reproducible generation"""
40
+
41
+ voice_id: str
42
+ """ElevenLabs voice ID (defaults to Rachel for professional clarity)"""
43
+
44
+ voice_settings: VoiceSettings
45
+
46
+
47
+ class VoiceSettings(TypedDict, total=False):
48
+ similarity_boost: float
49
+ """Similarity boost (0-1)"""
50
+
51
+ stability: float
52
+ """Voice stability (0-1)"""
53
+
54
+ style: float
55
+ """Style exaggeration (0-1)"""
56
+
57
+ use_speaker_boost: bool
58
+ """Enable speaker boost"""
@@ -0,0 +1,36 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, TypedDict
6
+
7
+ __all__ = ["V1ListVoicesParams"]
8
+
9
+
10
+ class V1ListVoicesParams(TypedDict, total=False):
11
+ category: str
12
+ """Filter by voice category"""
13
+
14
+ collection_id: str
15
+ """Filter by voice collection ID"""
16
+
17
+ include_total_count: bool
18
+ """Whether to include total count in response"""
19
+
20
+ next_page_token: str
21
+ """Token for retrieving the next page of results"""
22
+
23
+ page_size: int
24
+ """Number of voices to return per page (max 100)"""
25
+
26
+ search: str
27
+ """Search term to filter voices by name or description"""
28
+
29
+ sort: Literal["name", "created_at", "updated_at"]
30
+ """Field to sort by"""
31
+
32
+ sort_direction: Literal["asc", "desc"]
33
+ """Sort direction"""
34
+
35
+ voice_type: Literal["premade", "cloned", "professional"]
36
+ """Filter by voice type"""
@@ -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 .v1_create_params import V1CreateParams as V1CreateParams
6
+ from .v1_create_response import V1CreateResponse as V1CreateResponse
@@ -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, TypedDict
6
+
7
+ from ..._types import SequenceNotStr
8
+
9
+ __all__ = ["V1CreateParams"]
10
+
11
+
12
+ class V1CreateParams(TypedDict, total=False):
13
+ events: Required[SequenceNotStr[str]]
14
+ """Array of event types to subscribe to"""
15
+
16
+ url: Required[str]
17
+ """HTTPS URL where webhook events will be sent"""
18
+
19
+ description: str
20
+ """Optional description for the webhook"""
@@ -0,0 +1,33 @@
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
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from ..._models import BaseModel
9
+
10
+ __all__ = ["V1CreateResponse"]
11
+
12
+
13
+ class V1CreateResponse(BaseModel):
14
+ id: Optional[str] = None
15
+ """Unique webhook endpoint ID"""
16
+
17
+ created_at: Optional[datetime] = FieldInfo(alias="createdAt", default=None)
18
+ """Creation timestamp"""
19
+
20
+ description: Optional[str] = None
21
+ """Webhook description"""
22
+
23
+ events: Optional[List[str]] = None
24
+ """Subscribed event types"""
25
+
26
+ is_active: Optional[bool] = FieldInfo(alias="isActive", default=None)
27
+ """Whether webhook is active"""
28
+
29
+ secret: Optional[str] = None
30
+ """Webhook signing secret (only shown on creation)"""
31
+
32
+ url: Optional[str] = None
33
+ """Webhook destination URL"""
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .v1_list_params import V1ListParams as V1ListParams
6
+ from .v1_create_params import V1CreateParams as V1CreateParams
7
+ from .v1_list_response import V1ListResponse as V1ListResponse
8
+ from .v1_update_params import V1UpdateParams as V1UpdateParams
9
+ from .v1_execute_params import V1ExecuteParams as V1ExecuteParams
10
+ from .v1_create_response import V1CreateResponse as V1CreateResponse
11
+ from .v1_delete_response import V1DeleteResponse as V1DeleteResponse
12
+ from .v1_deploy_response import V1DeployResponse as V1DeployResponse
13
+ from .v1_update_response import V1UpdateResponse as V1UpdateResponse
14
+ from .v1_execute_response import V1ExecuteResponse as V1ExecuteResponse
15
+ from .v1_retrieve_response import V1RetrieveResponse as V1RetrieveResponse
16
+ from .v1_undeploy_response import V1UndeployResponse as V1UndeployResponse
17
+ from .v1_list_executions_params import V1ListExecutionsParams as V1ListExecutionsParams
18
+ from .v1_list_executions_response import V1ListExecutionsResponse as V1ListExecutionsResponse
19
+ from .v1_retrieve_execution_response import V1RetrieveExecutionResponse as V1RetrieveExecutionResponse
@@ -0,0 +1,32 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable
6
+ from typing_extensions import Literal, Required, Annotated, TypedDict
7
+
8
+ from ..._utils import PropertyInfo
9
+
10
+ __all__ = ["V1CreateParams"]
11
+
12
+
13
+ class V1CreateParams(TypedDict, total=False):
14
+ name: Required[str]
15
+ """Workflow name"""
16
+
17
+ description: str
18
+ """Workflow description"""
19
+
20
+ edges: Iterable[object]
21
+ """React Flow edges"""
22
+
23
+ nodes: Iterable[object]
24
+ """React Flow nodes"""
25
+
26
+ trigger_config: Annotated[object, PropertyInfo(alias="triggerConfig")]
27
+ """Trigger configuration"""
28
+
29
+ trigger_type: Annotated[Literal["manual", "webhook", "schedule", "vault_upload"], PropertyInfo(alias="triggerType")]
30
+
31
+ visibility: Literal["private", "org", "public"]
32
+ """Workflow visibility"""
@@ -0,0 +1,29 @@
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__ = ["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
+ description: Optional[str] = None
18
+
19
+ edges: Optional[List[object]] = None
20
+
21
+ name: Optional[str] = None
22
+
23
+ nodes: Optional[List[object]] = None
24
+
25
+ trigger_type: Optional[str] = FieldInfo(alias="triggerType", default=None)
26
+
27
+ updated_at: Optional[str] = FieldInfo(alias="updatedAt", default=None)
28
+
29
+ visibility: Optional[str] = None
@@ -0,0 +1,13 @@
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__ = ["V1DeleteResponse"]
8
+
9
+
10
+ class V1DeleteResponse(BaseModel):
11
+ message: Optional[str] = None
12
+
13
+ success: Optional[bool] = None
@@ -0,0 +1,20 @@
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__ = ["V1DeployResponse"]
10
+
11
+
12
+ class V1DeployResponse(BaseModel):
13
+ message: Optional[str] = None
14
+
15
+ success: Optional[bool] = None
16
+
17
+ webhook_secret: Optional[str] = FieldInfo(alias="webhookSecret", default=None)
18
+ """Only returned once - save this!"""
19
+
20
+ webhook_url: Optional[str] = FieldInfo(alias="webhookUrl", default=None)
@@ -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__ = ["V1ExecuteParams"]
8
+
9
+
10
+ class V1ExecuteParams(TypedDict, total=False):
11
+ body: object
12
+ """Input data to pass to the workflow trigger"""
@@ -0,0 +1,22 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from ..._models import BaseModel
9
+
10
+ __all__ = ["V1ExecuteResponse"]
11
+
12
+
13
+ class V1ExecuteResponse(BaseModel):
14
+ duration: Optional[int] = None
15
+
16
+ error: Optional[str] = None
17
+
18
+ execution_id: Optional[str] = FieldInfo(alias="executionId", default=None)
19
+
20
+ outputs: Optional[object] = None
21
+
22
+ status: Optional[Literal["completed", "failed"]] = None
@@ -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 Literal, TypedDict
6
+
7
+ __all__ = ["V1ListExecutionsParams"]
8
+
9
+
10
+ class V1ListExecutionsParams(TypedDict, total=False):
11
+ limit: int
12
+
13
+ status: Literal["pending", "running", "completed", "failed", "cancelled"]
@@ -0,0 +1,27 @@
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__ = ["V1ListExecutionsResponse", "Execution"]
10
+
11
+
12
+ class Execution(BaseModel):
13
+ id: Optional[str] = None
14
+
15
+ completed_at: Optional[str] = FieldInfo(alias="completedAt", default=None)
16
+
17
+ duration_ms: Optional[int] = FieldInfo(alias="durationMs", default=None)
18
+
19
+ started_at: Optional[str] = FieldInfo(alias="startedAt", default=None)
20
+
21
+ status: Optional[str] = None
22
+
23
+ trigger_type: Optional[str] = FieldInfo(alias="triggerType", default=None)
24
+
25
+
26
+ class V1ListExecutionsResponse(BaseModel):
27
+ executions: Optional[List[Execution]] = None
@@ -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 Literal, TypedDict
6
+
7
+ __all__ = ["V1ListParams"]
8
+
9
+
10
+ class V1ListParams(TypedDict, total=False):
11
+ limit: int
12
+ """Maximum number of results"""
13
+
14
+ offset: int
15
+ """Offset for pagination"""
16
+
17
+ visibility: Literal["private", "org", "public"]
18
+ """Filter by visibility"""