airia 0.1.14__py3-none-any.whl → 0.1.16__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.
- airia/client/async_client.py +2 -0
- airia/client/deployments/__init__.py +11 -0
- airia/client/deployments/async_deployments.py +112 -0
- airia/client/deployments/base_deployments.py +95 -0
- airia/client/deployments/sync_deployments.py +112 -0
- airia/client/pipelines_config/async_pipelines_config.py +47 -49
- airia/client/pipelines_config/base_pipelines_config.py +13 -11
- airia/client/pipelines_config/sync_pipelines_config.py +47 -49
- airia/client/sync_client.py +2 -0
- airia/types/api/conversations/__init__.py +12 -2
- airia/types/api/deployments/__init__.py +26 -0
- airia/types/api/deployments/get_deployment.py +106 -0
- airia/types/api/deployments/get_deployments.py +224 -0
- airia/types/api/pipelines_config/__init__.py +86 -2
- airia/types/api/pipelines_config/export_pipeline_definition.py +940 -0
- airia/types/api/pipelines_config/get_pipeline_config.py +454 -301
- airia/types/api/project/__init__.py +2 -2
- airia/types/api/store/__init__.py +17 -2
- airia/types/sse/sse_messages.py +309 -27
- {airia-0.1.14.dist-info → airia-0.1.16.dist-info}/METADATA +1 -1
- {airia-0.1.14.dist-info → airia-0.1.16.dist-info}/RECORD +24 -16
- {airia-0.1.14.dist-info → airia-0.1.16.dist-info}/WHEEL +0 -0
- {airia-0.1.14.dist-info → airia-0.1.16.dist-info}/licenses/LICENSE +0 -0
- {airia-0.1.14.dist-info → airia-0.1.16.dist-info}/top_level.txt +0 -0
|
@@ -1,401 +1,554 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Pydantic models for pipeline configuration API responses.
|
|
1
|
+
"""Types for the get_pipeline_config API response.
|
|
3
2
|
|
|
4
|
-
This module defines comprehensive data structures for pipeline configuration
|
|
5
|
-
including
|
|
3
|
+
This module defines comprehensive data structures for pipeline configuration
|
|
4
|
+
responses, including pipeline definitions, versions, steps, deployments, and
|
|
5
|
+
all associated metadata required for pipeline management and execution.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from datetime import datetime
|
|
8
11
|
from typing import Any, Dict, List, Optional
|
|
9
12
|
|
|
10
13
|
from pydantic import BaseModel, Field
|
|
11
14
|
|
|
12
15
|
|
|
13
|
-
class
|
|
14
|
-
"""
|
|
16
|
+
class PipelineStepPosition(BaseModel):
|
|
17
|
+
"""Represents the graphical position of a pipeline step within a visual representation of a pipeline.
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
about the pipeline configuration.
|
|
19
|
+
Used for positioning pipeline steps in the visual pipeline editor interface.
|
|
18
20
|
|
|
19
21
|
Attributes:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
tagline: Optional tagline describing the pipeline
|
|
23
|
-
agent_description: Optional description of the agent
|
|
24
|
-
industry: Optional industry classification
|
|
25
|
-
tasks: Optional description of tasks the pipeline performs
|
|
26
|
-
credential_export_option: Export option for credentials
|
|
27
|
-
data_source_export_option: Export option for data sources
|
|
28
|
-
version_information: Information about the pipeline version
|
|
29
|
-
state: Current state of the pipeline
|
|
22
|
+
x: The X-coordinate of the pipeline step in a 2D space
|
|
23
|
+
y: The Y-coordinate of the pipeline step in a 2D space
|
|
30
24
|
"""
|
|
31
25
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
tagline: Optional[str] = None
|
|
35
|
-
agent_description: Optional[str] = Field(alias="agentDescription", default=None)
|
|
36
|
-
industry: Optional[str] = None
|
|
37
|
-
tasks: Optional[str] = None
|
|
38
|
-
credential_export_option: str = Field(alias="credentialExportOption")
|
|
39
|
-
data_source_export_option: str = Field(alias="dataSourceExportOption")
|
|
40
|
-
version_information: str = Field(alias="versionInformation")
|
|
41
|
-
state: str
|
|
26
|
+
x: float = Field(description="The X-coordinate of the pipeline step in a 2D space")
|
|
27
|
+
y: float = Field(description="The Y-coordinate of the pipeline step in a 2D space")
|
|
42
28
|
|
|
43
29
|
|
|
44
|
-
class
|
|
45
|
-
"""
|
|
30
|
+
class PipelineStepHandle(BaseModel):
|
|
31
|
+
"""Represents a handle for a pipeline step.
|
|
46
32
|
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
Handles are connection points on pipeline steps that allow data flow between
|
|
34
|
+
steps. They can be either source handles (output) or target handles (input).
|
|
49
35
|
|
|
50
36
|
Attributes:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
id: Unique identifier for the agent
|
|
59
|
-
agent_icon: Optional icon identifier or URL
|
|
60
|
-
steps: List of workflow steps the agent executes
|
|
37
|
+
pipeline_step_id: The PipelineStepId this handle belongs to
|
|
38
|
+
uuid: The UUID of the handle
|
|
39
|
+
type: The type of the handle (source or target)
|
|
40
|
+
label: The label of the handle for display purposes
|
|
41
|
+
tooltip: The tooltip text shown when hovering over the handle
|
|
42
|
+
x: The X-coordinate of the handle within the pipeline step
|
|
43
|
+
y: The Y-coordinate of the handle within the pipeline step
|
|
61
44
|
"""
|
|
62
45
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
46
|
+
pipeline_step_id: str = Field(
|
|
47
|
+
alias="pipelineStepId", description="The PipelineStepId this handle belongs to"
|
|
48
|
+
)
|
|
49
|
+
uuid: str = Field(description="The UUID of the handle")
|
|
50
|
+
type: str = Field(description="The type of the handle (source or target)")
|
|
51
|
+
label: Optional[str] = Field(default=None, description="The label of the handle")
|
|
52
|
+
tooltip: Optional[str] = Field(
|
|
53
|
+
default=None, description="The tooltip of the handle"
|
|
54
|
+
)
|
|
55
|
+
x: Optional[float] = Field(
|
|
56
|
+
default=None, description="The X-coordinate of the pipeline step in a 2D space"
|
|
57
|
+
)
|
|
58
|
+
y: Optional[float] = Field(
|
|
59
|
+
default=None, description="The Y-coordinate of the pipeline step in a 2D space"
|
|
60
|
+
)
|
|
61
|
+
|
|
73
62
|
|
|
63
|
+
class PipelineStepDependency(BaseModel):
|
|
64
|
+
"""Represents a dependency between pipeline steps.
|
|
74
65
|
|
|
75
|
-
|
|
76
|
-
|
|
66
|
+
Dependencies define the flow of data between pipeline steps by connecting
|
|
67
|
+
output handles of parent steps to input handles of child steps.
|
|
77
68
|
|
|
78
69
|
Attributes:
|
|
79
|
-
|
|
80
|
-
|
|
70
|
+
pipeline_step_id: The PipelineStepId this dependency belongs to
|
|
71
|
+
parent_id: The UUID of the parent pipeline step that provides input
|
|
72
|
+
parent_handle_id: The UUID of the parent handle (source output)
|
|
73
|
+
handle_id: The UUID of this handle (target input)
|
|
81
74
|
"""
|
|
82
75
|
|
|
83
|
-
|
|
84
|
-
|
|
76
|
+
pipeline_step_id: str = Field(
|
|
77
|
+
alias="pipelineStepId", description="The PipelineStepId this handle belongs to"
|
|
78
|
+
)
|
|
79
|
+
parent_id: str = Field(
|
|
80
|
+
alias="parentId", description="The UUID of the parent pipeline step"
|
|
81
|
+
)
|
|
82
|
+
parent_handle_id: str = Field(
|
|
83
|
+
alias="parentHandleId", description="The UUID of the parent handle (source)"
|
|
84
|
+
)
|
|
85
|
+
handle_id: str = Field(
|
|
86
|
+
alias="handleId", description="The UUID of this handle (target)"
|
|
87
|
+
)
|
|
88
|
+
|
|
85
89
|
|
|
90
|
+
class PipelineStep(BaseModel):
|
|
91
|
+
"""Represents a step within a pipeline.
|
|
86
92
|
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
Pipeline steps are individual processing units that perform specific tasks
|
|
94
|
+
within a pipeline workflow. Each step has a type, position, and connection
|
|
95
|
+
points for data flow.
|
|
89
96
|
|
|
90
97
|
Attributes:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
98
|
+
position: The graphical position of this step within the pipeline editor
|
|
99
|
+
position_id: The identifier of the position for layout management
|
|
100
|
+
handles: The connection points (handles) of this step for data flow
|
|
101
|
+
dependencies_object: The input dependencies of this step from other steps
|
|
102
|
+
step_type: The type of processing this step performs
|
|
103
|
+
pipeline_version_id: The Pipeline Version Id this step belongs to
|
|
104
|
+
step_title: The human-readable title/name of the step
|
|
95
105
|
"""
|
|
96
106
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
107
|
+
position: Optional[PipelineStepPosition] = Field(
|
|
108
|
+
default=None, description="The position of this step within the pipeline"
|
|
109
|
+
)
|
|
110
|
+
position_id: Optional[str] = Field(
|
|
111
|
+
alias="positionId", default=None, description="The identifier of the position"
|
|
112
|
+
)
|
|
113
|
+
handles: Optional[List[PipelineStepHandle]] = Field(
|
|
114
|
+
default=None, description="The handles of this step within the pipeline"
|
|
115
|
+
)
|
|
116
|
+
dependencies_object: Optional[List[PipelineStepDependency]] = Field(
|
|
117
|
+
alias="dependenciesObject",
|
|
118
|
+
default=None,
|
|
119
|
+
description="The dependencies of this step within the pipeline",
|
|
120
|
+
)
|
|
121
|
+
step_type: str = Field(alias="stepType", description="The type of this step")
|
|
122
|
+
pipeline_version_id: str = Field(
|
|
123
|
+
alias="pipelineVersionId", description="The Pipeline Version Id"
|
|
124
|
+
)
|
|
125
|
+
step_title: str = Field(alias="stepTitle", description="The Step Title")
|
|
126
|
+
|
|
101
127
|
|
|
128
|
+
class PipelineVersion(BaseModel):
|
|
129
|
+
"""Represents a specific version of a pipeline.
|
|
102
130
|
|
|
103
|
-
|
|
104
|
-
|
|
131
|
+
Pipeline versions allow for iteration and deployment management of pipelines.
|
|
132
|
+
Each version contains a complete definition of the pipeline structure and steps.
|
|
105
133
|
|
|
106
134
|
Attributes:
|
|
107
|
-
|
|
108
|
-
|
|
135
|
+
pipeline_id: The identifier of the parent pipeline this version belongs to
|
|
136
|
+
major_version: The major version number for significant changes
|
|
137
|
+
minor_version: The minor version number for incremental changes
|
|
138
|
+
version_number: The complete version number in string format (e.g., "1.2")
|
|
139
|
+
is_draft_version: Whether this is a draft version or a released production version
|
|
140
|
+
is_latest: Whether this version is the latest/current version of the pipeline
|
|
141
|
+
steps: The list of processing steps that make up this pipeline version
|
|
142
|
+
alignment: The UI alignment setting for pipeline visualization
|
|
109
143
|
"""
|
|
110
144
|
|
|
111
|
-
|
|
112
|
-
|
|
145
|
+
pipeline_id: str = Field(
|
|
146
|
+
alias="pipelineId", description="The identifier of the parent pipeline"
|
|
147
|
+
)
|
|
148
|
+
major_version: int = Field(
|
|
149
|
+
alias="majorVersion", description="The major version number"
|
|
150
|
+
)
|
|
151
|
+
minor_version: int = Field(
|
|
152
|
+
alias="minorVersion", description="The minor version number"
|
|
153
|
+
)
|
|
154
|
+
version_number: str = Field(
|
|
155
|
+
alias="versionNumber", description="The version number in string format"
|
|
156
|
+
)
|
|
157
|
+
is_draft_version: bool = Field(
|
|
158
|
+
alias="isDraftVersion",
|
|
159
|
+
description="Whether the version is a draft or a major production version",
|
|
160
|
+
)
|
|
161
|
+
is_latest: bool = Field(
|
|
162
|
+
alias="isLatest",
|
|
163
|
+
description="Whether this version is the latest version of the pipeline",
|
|
164
|
+
)
|
|
165
|
+
steps: Optional[List[PipelineStep]] = Field(
|
|
166
|
+
default=None, description="The list of steps that make up the pipeline"
|
|
167
|
+
)
|
|
168
|
+
alignment: str = Field(description="The alignment of the pipeline in UI")
|
|
169
|
+
|
|
113
170
|
|
|
171
|
+
class PipelineExecutionStats(BaseModel):
|
|
172
|
+
"""Represents the execution statistics for a pipeline.
|
|
114
173
|
|
|
115
|
-
|
|
116
|
-
|
|
174
|
+
Tracks the historical performance and reliability metrics of pipeline executions
|
|
175
|
+
to provide insights into pipeline health and success rates.
|
|
117
176
|
|
|
118
177
|
Attributes:
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
source_type: Source where credentials are stored
|
|
122
|
-
credential_data_list: List of credential key-value pairs
|
|
123
|
-
id: Unique identifier for the credentials definition
|
|
178
|
+
success_count: The total number of successful executions
|
|
179
|
+
failure_count: The total number of failed executions
|
|
124
180
|
"""
|
|
125
181
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
182
|
+
success_count: int = Field(
|
|
183
|
+
alias="successCount", description="The total number of successful executions"
|
|
184
|
+
)
|
|
185
|
+
failure_count: int = Field(
|
|
186
|
+
alias="failureCount", description="The total number of failed executions"
|
|
187
|
+
)
|
|
188
|
+
|
|
131
189
|
|
|
190
|
+
class AgentDetailsEntry(BaseModel):
|
|
191
|
+
"""Represents a single agent details entry.
|
|
132
192
|
|
|
133
|
-
|
|
134
|
-
|
|
193
|
+
Agent details entries define configurable parameters and metadata for
|
|
194
|
+
agent behavior, including input types, default values, and available options.
|
|
135
195
|
|
|
136
196
|
Attributes:
|
|
137
|
-
|
|
138
|
-
|
|
197
|
+
type: The input type (e.g., text, select, multiselect, number)
|
|
198
|
+
name: The parameter name for this configuration entry
|
|
199
|
+
value: The current value of this parameter
|
|
200
|
+
options: Available options for select or multiselect input types
|
|
139
201
|
"""
|
|
140
202
|
|
|
141
|
-
|
|
142
|
-
|
|
203
|
+
type: str = Field(description="The input type")
|
|
204
|
+
name: str = Field(description="The input name")
|
|
205
|
+
value: Any = Field(description="The input value")
|
|
206
|
+
options: Optional[List[str]] = Field(
|
|
207
|
+
default=None, description="The options for select or multiselect"
|
|
208
|
+
)
|
|
209
|
+
|
|
143
210
|
|
|
211
|
+
class AboutDeploymentMetadata(BaseModel):
|
|
212
|
+
"""Represents metadata about a deployment for the About tab.
|
|
144
213
|
|
|
145
|
-
|
|
146
|
-
|
|
214
|
+
Contains versioned metadata that appears in the About section of a deployment,
|
|
215
|
+
including educational and descriptive content.
|
|
147
216
|
|
|
148
217
|
Attributes:
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
parameter_description: Description of the parameter's purpose
|
|
152
|
-
default: Default value for the parameter
|
|
153
|
-
valid_options: List of valid options for the parameter
|
|
154
|
-
id: Unique identifier for the parameter definition
|
|
218
|
+
version: The version of the About Deployment metadata schema
|
|
219
|
+
video_url: The URL of the instructional or demonstration video
|
|
155
220
|
"""
|
|
156
221
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
default: str
|
|
161
|
-
valid_options: List[str] = Field(alias="validOptions", default_factory=list)
|
|
162
|
-
id: str
|
|
222
|
+
version: int = Field(description="The version of the About Deployment metadata")
|
|
223
|
+
video_url: str = Field(alias="videoUrl", description="The video url")
|
|
224
|
+
|
|
163
225
|
|
|
226
|
+
class DeploymentAssignment(BaseModel):
|
|
227
|
+
"""Represents a deployment assignment.
|
|
164
228
|
|
|
165
|
-
|
|
166
|
-
|
|
229
|
+
Deployment assignments link deployments to specific entities (users, groups, etc.)
|
|
230
|
+
to control access and visibility of deployed pipelines.
|
|
167
231
|
|
|
168
232
|
Attributes:
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
headers_definition: List of HTTP headers for API requests
|
|
177
|
-
body: Request body template
|
|
178
|
-
parameters_definition: List of parameter definitions
|
|
179
|
-
method_type: HTTP method type (GET, POST, etc.)
|
|
180
|
-
route_through_acc: Whether to route through ACC
|
|
181
|
-
use_user_credentials: Whether to use user credentials
|
|
182
|
-
use_user_credentials_type: Type of user credentials to use
|
|
183
|
-
id: Unique identifier for the tool
|
|
233
|
+
deployment_id: The ID of the deployment being assigned
|
|
234
|
+
id: The unique identifier of this assignment
|
|
235
|
+
entity_id: The ID of the entity (user, group) receiving the assignment
|
|
236
|
+
entity_type: The type of entity being assigned (user, group, etc.)
|
|
237
|
+
created_at: Timestamp when the assignment was created
|
|
238
|
+
updated_at: Timestamp when the assignment was last modified
|
|
239
|
+
user_id: The ID of the user who created this assignment
|
|
184
240
|
"""
|
|
185
241
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
credentials_definition: Optional[CredentialsDefinition] = Field(
|
|
193
|
-
alias="credentialsDefinition"
|
|
242
|
+
deployment_id: str = Field(alias="deploymentId", description="The deployment ID")
|
|
243
|
+
id: str = Field(description="The ID")
|
|
244
|
+
entity_id: str = Field(alias="entityId", description="The entity ID")
|
|
245
|
+
entity_type: str = Field(alias="entityType", description="The entity type")
|
|
246
|
+
created_at: Optional[datetime] = Field(
|
|
247
|
+
alias="createdAt", default=None, description="The created at timestamp"
|
|
194
248
|
)
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
249
|
+
updated_at: Optional[datetime] = Field(
|
|
250
|
+
alias="updatedAt", default=None, description="The updated at timestamp"
|
|
251
|
+
)
|
|
252
|
+
user_id: Optional[str] = Field(
|
|
253
|
+
alias="userId", default=None, description="The user ID"
|
|
199
254
|
)
|
|
200
|
-
method_type: str = Field(alias="methodType")
|
|
201
|
-
route_through_acc: bool = Field(alias="routeThroughACC")
|
|
202
|
-
use_user_credentials: bool = Field(alias="useUserCredentials")
|
|
203
|
-
use_user_credentials_type: str = Field(alias="useUserCredentialsType")
|
|
204
|
-
id: str
|
|
205
255
|
|
|
206
256
|
|
|
207
|
-
class
|
|
208
|
-
"""
|
|
257
|
+
class DeploymentUserPrompt(BaseModel):
|
|
258
|
+
"""A join entity that represents a user prompt associated with a deployment.
|
|
209
259
|
|
|
210
|
-
|
|
211
|
-
|
|
260
|
+
Links deployments with predefined user prompts to provide template
|
|
261
|
+
interactions and guided user experiences.
|
|
212
262
|
|
|
213
263
|
Attributes:
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
model_name: Technical name of the model
|
|
217
|
-
prompt_id: Optional ID of associated prompt template
|
|
218
|
-
system_prompt_definition: Optional system prompt configuration
|
|
219
|
-
url: Model endpoint URL
|
|
220
|
-
input_type: Type of input the model accepts
|
|
221
|
-
provider: Model provider (OpenAI, Anthropic, etc.)
|
|
222
|
-
credentials_definition: Optional credentials for model access
|
|
223
|
-
deployment_type: Type of deployment (cloud, on-premise, etc.)
|
|
224
|
-
source_type: Source type of the model
|
|
225
|
-
connection_string: Optional connection string for deployment
|
|
226
|
-
container_name: Optional container name for deployment
|
|
227
|
-
deployed_key: Optional key for deployed model
|
|
228
|
-
deployed_url: Optional URL for deployed model
|
|
229
|
-
state: Optional current state of the model
|
|
230
|
-
uploaded_container_id: Optional ID of uploaded container
|
|
231
|
-
library_model_id: Optional ID from model library
|
|
232
|
-
input_token_price: Price per input token
|
|
233
|
-
output_token_price: Price per output token
|
|
234
|
-
token_units: Number of token units
|
|
235
|
-
has_tool_support: Whether the model supports tool calling
|
|
236
|
-
allow_airia_credentials: Whether Airia credentials are allowed
|
|
237
|
-
allow_byok_credentials: Whether bring-your-own-key credentials are allowed
|
|
238
|
-
author: Optional author of the model
|
|
239
|
-
price_type: Type of pricing model
|
|
264
|
+
deployment_id: The ID of the deployment this prompt is associated with
|
|
265
|
+
user_prompt_id: The ID of the user prompt template
|
|
240
266
|
"""
|
|
241
267
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
model_name: str = Field(alias="modelName")
|
|
245
|
-
prompt_id: Optional[str] = Field(alias="promptId", default=None)
|
|
246
|
-
system_prompt_definition: Optional[Any] = Field(
|
|
247
|
-
alias="systemPromptDefinition", default=None
|
|
248
|
-
)
|
|
249
|
-
url: str
|
|
250
|
-
input_type: str = Field(alias="inputType")
|
|
251
|
-
provider: str
|
|
252
|
-
credentials_definition: Optional[CredentialsDefinition] = Field(
|
|
253
|
-
alias="credentialsDefinition"
|
|
254
|
-
)
|
|
255
|
-
deployment_type: str = Field(alias="deploymentType")
|
|
256
|
-
source_type: str = Field(alias="sourceType")
|
|
257
|
-
connection_string: Optional[str] = Field(alias="connectionString", default=None)
|
|
258
|
-
container_name: Optional[str] = Field(alias="containerName", default=None)
|
|
259
|
-
deployed_key: Optional[str] = Field(alias="deployedKey", default=None)
|
|
260
|
-
deployed_url: Optional[str] = Field(alias="deployedUrl", default=None)
|
|
261
|
-
state: Optional[str] = None
|
|
262
|
-
uploaded_container_id: Optional[str] = Field(
|
|
263
|
-
alias="uploadedContainerId", default=None
|
|
264
|
-
)
|
|
265
|
-
library_model_id: Optional[str] = Field(alias="libraryModelId")
|
|
266
|
-
input_token_price: str = Field(alias="inputTokenPrice")
|
|
267
|
-
output_token_price: str = Field(alias="outputTokenPrice")
|
|
268
|
-
token_units: int = Field(alias="tokenUnits")
|
|
269
|
-
has_tool_support: bool = Field(alias="hasToolSupport")
|
|
270
|
-
allow_airia_credentials: bool = Field(alias="allowAiriaCredentials")
|
|
271
|
-
allow_byok_credentials: bool = Field(alias="allowBYOKCredentials")
|
|
272
|
-
author: Optional[str]
|
|
273
|
-
price_type: str = Field(alias="priceType")
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
class PythonCodeBlock(BaseModel):
|
|
277
|
-
"""Python code block for custom functionality.
|
|
278
|
-
|
|
279
|
-
Attributes:
|
|
280
|
-
id: Unique identifier for the code block
|
|
281
|
-
code: Python code content
|
|
282
|
-
"""
|
|
268
|
+
deployment_id: str = Field(alias="deploymentId", description="The deployment ID")
|
|
269
|
+
user_prompt_id: str = Field(alias="userPromptId", description="The user prompt ID")
|
|
283
270
|
|
|
284
|
-
id: str
|
|
285
|
-
code: str
|
|
286
271
|
|
|
272
|
+
class Deployment(BaseModel):
|
|
273
|
+
"""Represents a deployment.
|
|
287
274
|
|
|
288
|
-
|
|
289
|
-
|
|
275
|
+
Deployments make pipelines available to end users with specific configurations,
|
|
276
|
+
branding, and access controls. They define how users interact with pipelines
|
|
277
|
+
in production environments.
|
|
290
278
|
|
|
291
279
|
Attributes:
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
280
|
+
pipeline_id: The ID of the pipeline being deployed
|
|
281
|
+
name: The human-readable name of the deployment
|
|
282
|
+
description: A detailed description of the deployment's purpose and functionality
|
|
283
|
+
deployment_user_prompts: List of predefined prompts available to users
|
|
284
|
+
deployment_prompt: Optional system prompt that configures the deployment behavior
|
|
285
|
+
project_id: The ID of the project containing this deployment
|
|
286
|
+
is_recommended: Whether this deployment is featured/recommended to users
|
|
287
|
+
tags: Categorization tags for discovery and organization
|
|
288
|
+
conversation_type: The type of conversation interface (chat, form, etc.)
|
|
289
|
+
about: Optional metadata for the About/help section
|
|
290
|
+
assignments: Optional list of user/group assignments for access control
|
|
296
291
|
"""
|
|
297
292
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
"""
|
|
293
|
+
pipeline_id: str = Field(
|
|
294
|
+
alias="pipelineId",
|
|
295
|
+
description="The pipeline ID associated with this deployment",
|
|
296
|
+
)
|
|
297
|
+
name: str = Field(description="The Deployment Name")
|
|
298
|
+
description: str = Field(description="A description of the deployment")
|
|
299
|
+
deployment_user_prompts: Optional[List[DeploymentUserPrompt]] = Field(
|
|
300
|
+
alias="deploymentUserPrompts",
|
|
301
|
+
default=None,
|
|
302
|
+
description="The DeploymentUserPrompts",
|
|
303
|
+
)
|
|
304
|
+
deployment_prompt: Optional[str] = Field(
|
|
305
|
+
alias="deploymentPrompt", default=None, description="The DeploymentPrompt"
|
|
306
|
+
)
|
|
307
|
+
project_id: str = Field(alias="projectId", description="The Project Id")
|
|
308
|
+
is_recommended: bool = Field(
|
|
309
|
+
alias="isRecommended",
|
|
310
|
+
description="Whether this is a recommended/featured deployment",
|
|
311
|
+
)
|
|
312
|
+
tags: List[str] = Field(description="The Tags")
|
|
313
|
+
conversation_type: str = Field(
|
|
314
|
+
alias="conversationType", description="The Conversation Start Type"
|
|
315
|
+
)
|
|
316
|
+
about: Optional[AboutDeploymentMetadata] = Field(
|
|
317
|
+
default=None, description="Metadata about the deployment"
|
|
318
|
+
)
|
|
319
|
+
assignments: Optional[List[DeploymentAssignment]] = Field(
|
|
320
|
+
default=None, description="The Assignments"
|
|
321
|
+
)
|
|
313
322
|
|
|
314
|
-
id: str
|
|
315
|
-
chunk_size: int = Field(alias="chunkSize")
|
|
316
|
-
chunk_overlap: int = Field(alias="chunkOverlap")
|
|
317
|
-
strategy_type: str = Field(alias="strategyType")
|
|
318
323
|
|
|
324
|
+
class AgentTrigger(BaseModel):
|
|
325
|
+
"""Represents a trigger used to start a pipeline execution.
|
|
319
326
|
|
|
320
|
-
|
|
321
|
-
|
|
327
|
+
Agent triggers enable automatic pipeline execution based on external events,
|
|
328
|
+
particularly email-based triggers for document processing and workflow automation.
|
|
322
329
|
|
|
323
330
|
Attributes:
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
331
|
+
email_id: The email address that can trigger this agent
|
|
332
|
+
allowed_type: The type of content allowed to trigger execution
|
|
333
|
+
allowed_values: The specific values that are permitted for triggering
|
|
334
|
+
pipeline_id: The ID of the pipeline to execute when triggered
|
|
335
|
+
data_source_id: Optional ID of the data source for input data
|
|
336
|
+
store_connector_id: Optional ID of the storage connector for file handling
|
|
337
|
+
email_action: The action to perform when the email trigger activates
|
|
338
|
+
forward_to: Optional email address to forward results to after execution
|
|
328
339
|
"""
|
|
329
340
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
341
|
+
email_id: str = Field(
|
|
342
|
+
alias="emailId", description="The email id corresponding to the Agent"
|
|
343
|
+
)
|
|
344
|
+
allowed_type: str = Field(
|
|
345
|
+
alias="allowedType", description="The allowed type for the agent trigger"
|
|
346
|
+
)
|
|
347
|
+
allowed_values: str = Field(
|
|
348
|
+
alias="allowedValues", description="The allowed values for the agent trigger"
|
|
349
|
+
)
|
|
350
|
+
pipeline_id: str = Field(
|
|
351
|
+
alias="pipelineId", description="The Pipeline Version identifier"
|
|
352
|
+
)
|
|
353
|
+
data_source_id: Optional[str] = Field(
|
|
354
|
+
alias="dataSourceId", default=None, description="The Data Source identifier"
|
|
355
|
+
)
|
|
356
|
+
store_connector_id: Optional[str] = Field(
|
|
357
|
+
alias="storeConnectorId",
|
|
358
|
+
default=None,
|
|
359
|
+
description="The datastore connector identifier",
|
|
360
|
+
)
|
|
361
|
+
email_action: str = Field(
|
|
362
|
+
alias="emailAction", description="The email action to be performed"
|
|
363
|
+
)
|
|
364
|
+
forward_to: Optional[str] = Field(
|
|
365
|
+
alias="forwardTo",
|
|
366
|
+
default=None,
|
|
367
|
+
description="The recipient to forward to",
|
|
368
|
+
max_length=4000,
|
|
369
|
+
)
|
|
370
|
+
|
|
334
371
|
|
|
372
|
+
class Pipeline(BaseModel):
|
|
373
|
+
"""Represents a processing pipeline.
|
|
335
374
|
|
|
336
|
-
|
|
337
|
-
|
|
375
|
+
Pipelines are the core workflow definition in the Airia platform, containing
|
|
376
|
+
a series of connected steps that process data and execute AI tasks. Each pipeline
|
|
377
|
+
can have multiple versions and can be deployed for end-user access.
|
|
338
378
|
|
|
339
379
|
Attributes:
|
|
340
|
-
id:
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
380
|
+
id: The unique identifier of the pipeline
|
|
381
|
+
tenant_id: The tenant ID this pipeline belongs to
|
|
382
|
+
project_id: The project ID this pipeline belongs to
|
|
383
|
+
created_at: Timestamp when the pipeline was created
|
|
384
|
+
updated_at: Timestamp when the pipeline was last modified
|
|
385
|
+
user_id: The ID of the user who created this pipeline
|
|
386
|
+
active_version_id: The ID of the currently active version for execution
|
|
387
|
+
name: The human-readable name of the pipeline
|
|
388
|
+
execution_name: The name used when executing the pipeline programmatically
|
|
389
|
+
description: A detailed description of the pipeline's purpose and functionality
|
|
390
|
+
video_link: Optional URL to a video demonstration or tutorial
|
|
391
|
+
agent_icon_id: The ID of the icon used to represent this pipeline
|
|
392
|
+
versions: All available versions of this pipeline
|
|
393
|
+
execution_stats: Historical execution performance statistics
|
|
394
|
+
industry: The primary industry or domain this pipeline serves
|
|
395
|
+
sub_industries: Additional industry classifications and tags
|
|
396
|
+
agent_details: Configurable parameters and metadata for agent behavior
|
|
397
|
+
agent_details_tags: Tags for categorizing agent capabilities
|
|
398
|
+
active_version: The complete active version object (if loaded)
|
|
399
|
+
backup_pipeline_id: ID of a fallback pipeline in case of failure
|
|
400
|
+
deployment: The deployment configuration for end-user access
|
|
401
|
+
library_agent_id: ID of the library agent this pipeline is based on
|
|
402
|
+
library_imported_hash: Hash of the imported library agent for version tracking
|
|
403
|
+
library_imported_version: Version of the imported library agent
|
|
404
|
+
is_deleted: Whether this pipeline is marked for deletion
|
|
405
|
+
agent_trigger: Optional trigger configuration for automatic execution
|
|
406
|
+
api_key_id: ID of the API key used for external service authentication
|
|
407
|
+
is_seeded: Whether this pipeline comes from the platform's seed data
|
|
408
|
+
behaviours: List of capabilities and behaviors this agent can perform
|
|
352
409
|
"""
|
|
353
410
|
|
|
354
|
-
id: str = Field(
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
411
|
+
id: str = Field(description="The unique identifier of the pipeline")
|
|
412
|
+
tenant_id: Optional[str] = Field(
|
|
413
|
+
alias="tenantId", default=None, description="The Tenant Id"
|
|
414
|
+
)
|
|
415
|
+
project_id: Optional[str] = Field(
|
|
416
|
+
alias="projectId", default=None, description="The project Id"
|
|
417
|
+
)
|
|
418
|
+
created_at: Optional[datetime] = Field(
|
|
419
|
+
alias="createdAt", default=None, description="The created at timestamp"
|
|
420
|
+
)
|
|
421
|
+
updated_at: Optional[datetime] = Field(
|
|
422
|
+
alias="updatedAt", default=None, description="The updated at timestamp"
|
|
423
|
+
)
|
|
424
|
+
user_id: Optional[str] = Field(
|
|
425
|
+
alias="userId", default=None, description="The user ID"
|
|
426
|
+
)
|
|
427
|
+
active_version_id: Optional[str] = Field(
|
|
428
|
+
alias="activeVersionId",
|
|
429
|
+
default=None,
|
|
430
|
+
description="The unique identifier of pipeline's active version",
|
|
431
|
+
)
|
|
432
|
+
name: Optional[str] = Field(default=None, description="The name of the pipeline")
|
|
433
|
+
execution_name: Optional[str] = Field(
|
|
434
|
+
alias="executionName",
|
|
435
|
+
default=None,
|
|
436
|
+
description="The execution name of the pipeline",
|
|
437
|
+
)
|
|
438
|
+
description: Optional[str] = Field(
|
|
439
|
+
default=None,
|
|
440
|
+
description="The optional description of the pipeline",
|
|
441
|
+
max_length=2000,
|
|
442
|
+
)
|
|
443
|
+
video_link: Optional[str] = Field(
|
|
444
|
+
alias="videoLink", default=None, description="The video link of the pipeline"
|
|
445
|
+
)
|
|
446
|
+
agent_icon_id: Optional[str] = Field(
|
|
447
|
+
alias="agentIconId", default=None, description="The Agent Icon Id"
|
|
448
|
+
)
|
|
449
|
+
versions: Optional[List[PipelineVersion]] = Field(
|
|
450
|
+
default=None, description="The versions of this pipeline"
|
|
451
|
+
)
|
|
452
|
+
execution_stats: Optional[PipelineExecutionStats] = Field(
|
|
453
|
+
alias="executionStats", default=None, description="The execution statistics"
|
|
454
|
+
)
|
|
455
|
+
industry: Optional[str] = Field(
|
|
456
|
+
default=None, description="The main industry of the pipeline"
|
|
457
|
+
)
|
|
458
|
+
sub_industries: Optional[List[str]] = Field(
|
|
459
|
+
alias="subIndustries", default=None, description="The agent sub-industries tags"
|
|
460
|
+
)
|
|
461
|
+
agent_details: Optional[Dict[str, List[AgentDetailsEntry]]] = Field(
|
|
462
|
+
alias="agentDetails", default=None, description="The agent details properties"
|
|
463
|
+
)
|
|
464
|
+
agent_details_tags: Optional[List[str]] = Field(
|
|
465
|
+
alias="agentDetailsTags", default=None, description="The agent details tags"
|
|
466
|
+
)
|
|
467
|
+
active_version: Optional[PipelineVersion] = Field(
|
|
468
|
+
alias="activeVersion",
|
|
469
|
+
default=None,
|
|
470
|
+
description="The active version of this pipeline",
|
|
471
|
+
)
|
|
472
|
+
backup_pipeline_id: Optional[str] = Field(
|
|
473
|
+
alias="backupPipelineId",
|
|
474
|
+
default=None,
|
|
475
|
+
description="The unique identifier of the backup pipeline",
|
|
476
|
+
)
|
|
477
|
+
deployment: Optional[Deployment] = Field(
|
|
478
|
+
default=None, description="The associated Deployment for this pipeline"
|
|
479
|
+
)
|
|
480
|
+
library_agent_id: Optional[str] = Field(
|
|
481
|
+
alias="libraryAgentId",
|
|
482
|
+
default=None,
|
|
483
|
+
description="The library agent id associated with the pipeline",
|
|
484
|
+
)
|
|
485
|
+
library_imported_hash: Optional[str] = Field(
|
|
486
|
+
alias="libraryImportedHash", default=None, description="The library agent hash"
|
|
487
|
+
)
|
|
488
|
+
library_imported_version: Optional[str] = Field(
|
|
489
|
+
alias="libraryImportedVersion",
|
|
490
|
+
default=None,
|
|
491
|
+
description="The library imported version",
|
|
492
|
+
)
|
|
493
|
+
is_deleted: Optional[bool] = Field(
|
|
494
|
+
alias="isDeleted",
|
|
495
|
+
default=None,
|
|
496
|
+
description="Whether this entity is marked for deletion",
|
|
497
|
+
)
|
|
498
|
+
agent_trigger: Optional[AgentTrigger] = Field(
|
|
499
|
+
alias="agentTrigger",
|
|
500
|
+
default=None,
|
|
501
|
+
description="The Agent trigger associated with the pipeline",
|
|
502
|
+
)
|
|
503
|
+
api_key_id: Optional[str] = Field(
|
|
504
|
+
alias="apiKeyId", default=None, description="The Api Key navigation property"
|
|
505
|
+
)
|
|
506
|
+
is_seeded: Optional[bool] = Field(
|
|
507
|
+
alias="isSeeded", default=None, description="Whether the pipeline is seeded"
|
|
508
|
+
)
|
|
509
|
+
behaviours: Optional[List[str]] = Field(
|
|
510
|
+
default=None, description="The behaviours that the agent can perform"
|
|
511
|
+
)
|
|
366
512
|
|
|
367
513
|
|
|
368
|
-
class
|
|
369
|
-
"""
|
|
514
|
+
class PipelineConfigResponse(Pipeline):
|
|
515
|
+
"""Represents a complete pipeline configuration response.
|
|
370
516
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
517
|
+
Extends the base Pipeline model with additional deployment and access control
|
|
518
|
+
information. This is the primary response model for pipeline configuration
|
|
519
|
+
endpoints that need full context including deployment details and user permissions.
|
|
374
520
|
|
|
375
521
|
Attributes:
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
python_code_blocks: Optional list of custom Python code blocks
|
|
384
|
-
routers: Optional list of model routing configurations
|
|
385
|
-
deployment: Optional deployment configuration
|
|
522
|
+
deployment_id: The ID of the associated deployment (if deployed)
|
|
523
|
+
deployment_name: The name of the associated deployment
|
|
524
|
+
deployment_description: The description of the associated deployment
|
|
525
|
+
user_keys: Dictionary mapping user roles to user IDs for access control
|
|
526
|
+
group_keys: Dictionary mapping group roles to group IDs for access control
|
|
527
|
+
agent_icon: Base64 encoded agent icon image data
|
|
528
|
+
external: Whether this is an external agent imported via Agent-to-Agent (A2A)
|
|
386
529
|
"""
|
|
387
530
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
531
|
+
deployment_id: Optional[str] = Field(
|
|
532
|
+
alias="deploymentId", default=None, description="The Deployment Id"
|
|
533
|
+
)
|
|
534
|
+
deployment_name: Optional[str] = Field(
|
|
535
|
+
alias="deploymentName", default=None, description="The Deployment Name"
|
|
536
|
+
)
|
|
537
|
+
deployment_description: Optional[str] = Field(
|
|
538
|
+
alias="deploymentDescription",
|
|
539
|
+
default=None,
|
|
540
|
+
description="The Deployment Description",
|
|
541
|
+
)
|
|
542
|
+
user_keys: Optional[Dict[str, str]] = Field(
|
|
543
|
+
alias="userKeys", default=None, description="The User Ids"
|
|
544
|
+
)
|
|
545
|
+
group_keys: Optional[Dict[str, str]] = Field(
|
|
546
|
+
alias="groupKeys", default=None, description="The Group Ids"
|
|
547
|
+
)
|
|
548
|
+
agent_icon: Optional[str] = Field(
|
|
549
|
+
alias="agentIcon", default=None, description="The Agent icon"
|
|
392
550
|
)
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
memories: Optional[Any] = None
|
|
397
|
-
python_code_blocks: Optional[List[PythonCodeBlock]] = Field(
|
|
398
|
-
alias="pythonCodeBlocks", default_factory=list
|
|
551
|
+
external: Optional[bool] = Field(
|
|
552
|
+
default=None,
|
|
553
|
+
description="Whether the agent is an external agent imported using A2A",
|
|
399
554
|
)
|
|
400
|
-
routers: Optional[List[Router]] = Field(default_factory=list)
|
|
401
|
-
deployment: Optional[Any] = None
|