airia 0.1.22__py3-none-any.whl → 0.1.24__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.
@@ -5,44 +5,89 @@ This module defines the response models returned by pipeline execution endpoints
5
5
  including both synchronous and streaming response types.
6
6
  """
7
7
 
8
- from typing import Any, AsyncIterator, Dict, Iterator, Optional
8
+ from datetime import datetime
9
+ from typing import Any, AsyncIterator, Dict, Iterator, List, Literal, Optional, Union
10
+ from uuid import UUID
9
11
 
10
12
  from pydantic import BaseModel, ConfigDict, Field
11
13
 
12
14
  from ...sse import SSEMessage
13
15
 
14
16
 
15
- class PipelineExecutionResponse(BaseModel):
16
- """Response model for standard pipeline execution requests.
17
+ class TimeTrackingData(BaseModel):
18
+ """
19
+ Time tracking data for pipeline execution.
20
+
21
+ Attributes:
22
+ duration: Human-readable duration string (e.g., "2.5s", "1m 30s"). None if execution not completed.
23
+ started_at: Timestamp when the execution started.
24
+ finished_at: Timestamp when the execution finished. None if still running or failed.
25
+ """
26
+
27
+ duration: Optional[str] = None
28
+ started_at: datetime = Field(alias="startedAt")
29
+ finished_at: Optional[datetime] = Field(None, alias="finishedAt")
17
30
 
18
- This model represents the response when executing a pipeline in normal mode
19
- (not debug mode and not streaming).
31
+
32
+ class AgentBaseStepResult(BaseModel):
33
+ """
34
+ Base class for agent step results.
20
35
 
21
36
  Attributes:
22
- result: The execution result as a string
23
- report: Always None for standard executions
24
- is_backup_pipeline: Whether a backup pipeline was used for execution
37
+ step_type: Type of the step (e.g., "LLMStep", "ToolStep", "ConditionalStep").
38
+ step_id: Unique identifier for this step execution.
39
+ type: Discriminator field for polymorphic deserialization ($type field).
25
40
  """
26
41
 
27
- result: str
28
- report: None
29
- is_backup_pipeline: bool = Field(alias="isBackupPipeline")
42
+ step_type: str = Field(alias="stepType")
43
+ step_id: UUID = Field(alias="stepId")
44
+ type: str = Field(alias="$type")
30
45
 
31
46
 
32
- class PipelineExecutionDebugResponse(BaseModel):
33
- """Response model for pipeline execution requests in debug mode.
47
+ class PipelineStepResult(BaseModel):
48
+ """
49
+ Result of a pipeline step execution.
34
50
 
35
- This model includes additional debugging information in the report field
36
- that provides insights into the pipeline's execution process.
51
+ Attributes:
52
+ step_id: Unique identifier for the step.
53
+ step_type: Type of step that was executed (e.g., "LLMStep", "ToolStep").
54
+ step_title: Human-readable title/name of the step.
55
+ result: Output result from the step execution. None if step failed or produced no output.
56
+ input: List of input data that was passed to this step.
57
+ success: Whether the step executed successfully. None if status is indeterminate.
58
+ completion_status: Status of step completion (e.g., "Success", "Failed", "Skipped").
59
+ time_tracking_data: Timing information for this step's execution.
60
+ exception_message: Error message if the step failed. None if successful.
61
+ debug_information: Additional debug data and metadata from step execution.
62
+ """
63
+
64
+ step_id: UUID = Field(alias="stepId")
65
+ step_type: Optional[str] = Field(None, alias="stepType")
66
+ step_title: str = Field(alias="stepTitle")
67
+ result: Optional[AgentBaseStepResult] = None
68
+ input: List[AgentBaseStepResult] = []
69
+ success: Optional[bool] = None
70
+ completion_status: str = Field(alias="completionStatus")
71
+ time_tracking_data: Optional[TimeTrackingData] = Field(
72
+ None, alias="timeTrackingData"
73
+ )
74
+ exception_message: Optional[str] = Field(None, alias="exceptionMessage")
75
+ debug_information: Dict[str, Any] = Field(
76
+ default_factory=dict, alias="debugInformation"
77
+ )
78
+
79
+
80
+ class PipelineExecutionResponse(BaseModel):
81
+ """Response model for pipeline execution requests in mode.
37
82
 
38
83
  Attributes:
39
84
  result: The execution result as a string
40
- report: Dictionary containing debugging information and execution details
85
+ report: Optional Dictionary containing debugging information and execution details
41
86
  is_backup_pipeline: Whether a backup pipeline was used for execution
42
87
  """
43
88
 
44
89
  result: Optional[str]
45
- report: Dict[str, Any]
90
+ report: Optional[Dict[str, PipelineStepResult]] = None
46
91
  is_backup_pipeline: bool = Field(alias="isBackupPipeline")
47
92
 
48
93
 
@@ -74,3 +119,57 @@ class PipelineExecutionAsyncStreamedResponse(BaseModel):
74
119
  model_config = ConfigDict(arbitrary_types_allowed=True)
75
120
 
76
121
  stream: AsyncIterator[SSEMessage]
122
+
123
+
124
+ class TemporaryAssistantResponse(BaseModel):
125
+ """Response model for TemporaryAssistant pipeline execution.
126
+
127
+ This model represents the response from the TemporaryAssistant endpoint,
128
+ which can return either string or array results based on the discriminator.
129
+
130
+ Attributes:
131
+ type: Discriminator field indicating the response type
132
+ report: Pipeline execution debug report (optional)
133
+ is_backup_pipeline: Whether a backup pipeline was used
134
+ execution_id: Unique execution identifier
135
+ user_input_id: Identifier for the user input
136
+ files: Files processed during execution
137
+ images: Images processed during execution
138
+ """
139
+
140
+ type: Literal["string", "objectArray"] = Field(alias="$type")
141
+ result: Union[List[Any], str] = Field(...)
142
+ report: Optional[Dict[str, PipelineStepResult]] = None
143
+ is_backup_pipeline: bool = Field(alias="isBackupPipeline")
144
+ execution_id: UUID = Field(alias="executionId")
145
+ user_input_id: Optional[UUID] = Field(None, alias="userInputId")
146
+ files: Optional[List[str]] = None
147
+ images: Optional[List[str]] = None
148
+
149
+
150
+ class TemporaryAssistantStreamedResponse(BaseModel):
151
+ """
152
+ Response model for streaming TemporaryAssistant requests (synchronous client).
153
+
154
+ Attributes:
155
+ stream: Iterator that yields SSEMessage objects as they arrive from the streaming response.
156
+ Each message contains incremental data from the assistant's response.
157
+ """
158
+
159
+ model_config = ConfigDict(arbitrary_types_allowed=True)
160
+
161
+ stream: Iterator[SSEMessage]
162
+
163
+
164
+ class TemporaryAssistantAsyncStreamedResponse(BaseModel):
165
+ """
166
+ Response model for streaming TemporaryAssistant requests (asynchronous client).
167
+
168
+ Attributes:
169
+ stream: Async iterator that yields SSEMessage objects as they arrive from the streaming response.
170
+ Each message contains incremental data from the assistant's response.
171
+ """
172
+
173
+ model_config = ConfigDict(arbitrary_types_allowed=True)
174
+
175
+ stream: AsyncIterator[SSEMessage]
@@ -467,8 +467,8 @@ class ExportPrompt(BaseModel):
467
467
  description="Gets or sets the version change description.",
468
468
  alias="versionChangeDescription",
469
469
  )
470
- prompt_message_list: List[ExportPromptMessageList] = Field(
471
- ...,
470
+ prompt_message_list: Optional[List[ExportPromptMessageList]] = Field(
471
+ None,
472
472
  description="Gets or sets the prompt message list.",
473
473
  alias="promptMessageList",
474
474
  )
@@ -652,8 +652,8 @@ class ExportModel(BaseModel):
652
652
  credentials_definition: Optional[ExportCredentials] = Field(
653
653
  None, description="Gets or sets the credentials.", alias="credentialsDefinition"
654
654
  )
655
- deployment_type: str = Field(
656
- ..., description="Gets or sets the deployment type.", alias="deploymentType"
655
+ deployment_type: Optional[str] = Field(
656
+ None, description="Gets or sets the deployment type.", alias="deploymentType"
657
657
  )
658
658
  source_type: str = Field(
659
659
  ..., description="Gets or sets the source type.", alias="sourceType"
@@ -692,24 +692,24 @@ class ExportModel(BaseModel):
692
692
  token_units: Optional[int] = Field(
693
693
  None, description="Gets or sets the token units.", alias="tokenUnits"
694
694
  )
695
- has_tool_support: bool = Field(
696
- ...,
695
+ has_tool_support: Optional[bool] = Field(
696
+ None,
697
697
  description="Gets or sets a value indicating whether the model has tool support.",
698
698
  alias="hasToolSupport",
699
699
  )
700
- allow_airia_credentials: bool = Field(
701
- ...,
700
+ allow_airia_credentials: Optional[bool] = Field(
701
+ None,
702
702
  description="Gets or sets a value indicating whether to allow Airia credentials.",
703
703
  alias="allowAiriaCredentials",
704
704
  )
705
- allow_byok_credentials: bool = Field(
706
- ...,
705
+ allow_byok_credentials: Optional[bool] = Field(
706
+ None,
707
707
  description="Gets or sets a value indicating whether to allow BYOK credentials.",
708
708
  alias="allowBYOKCredentials",
709
709
  )
710
710
  author: Optional[str] = Field(None, description="Gets or sets the author.")
711
- price_type: str = Field(
712
- ..., description="Gets or sets the price type.", alias="priceType"
711
+ price_type: Optional[str] = Field(
712
+ None, description="Gets or sets the price type.", alias="priceType"
713
713
  )
714
714
 
715
715
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airia
3
- Version: 0.1.22
3
+ Version: 0.1.24
4
4
  Summary: Python SDK for Airia API
5
5
  Author-email: Airia LLC <support@airia.com>
6
6
  License: MIT
@@ -3,9 +3,9 @@ airia/constants.py,sha256=oKABowOTsJPIQ1AgtVpNN73oKuhh1DekBC5axYSm8lY,647
3
3
  airia/exceptions.py,sha256=M98aESxodebVLafqDQSqCKLUUT_b-lNSVOpYGJ6Cmn0,1114
4
4
  airia/logs.py,sha256=oHU8ByekHu-udBB-5abY39wUct_26t8io-A1Kcl7D3U,4538
5
5
  airia/client/__init__.py,sha256=6gSQ9bl7j79q1HPE0o5py3IRdkwWWuU_7J4h05Dd2o8,127
6
- airia/client/async_client.py,sha256=rj2RfVZqvwrsDDsmeVzMvX_1sceXqM3Xs3nFDnHb8BI,7143
6
+ airia/client/async_client.py,sha256=l1mx6m49OPlKlf_ZRn7ko1aY2i7LGsXpVoFPlbWXpFs,7236
7
7
  airia/client/base_client.py,sha256=ftyLi2E3Hb4CQFYfiknitJA0sWDTylCiUbde0qkWYhg,3182
8
- airia/client/sync_client.py,sha256=NpZIbgheAUxWWTtmKA0PjmmCjz0jdNs6cRFpV6iwnfU,6992
8
+ airia/client/sync_client.py,sha256=MbnQPfnJJTh96GDvxm3HfUWDxFa7e5Rm4_hoccId9kA,7075
9
9
  airia/client/_request_handler/__init__.py,sha256=FOdJMfzjN0Tw0TeD8mDJwHgte70Fw_j08EljtfulCvw,157
10
10
  airia/client/_request_handler/async_request_handler.py,sha256=8225uM82kgOFu1E2DULVuk0qBN7vmPmcBtYXstUZaR8,10931
11
11
  airia/client/_request_handler/base_request_handler.py,sha256=dObRK6e_V_cGslHzC3WrNQ5lZqmMamjxNhVpb7P1L_w,3516
@@ -26,10 +26,14 @@ airia/client/deployments/__init__.py,sha256=Xu_MqbeUrtqYE4tH6hbmvUk8eQScWJ6MEyYF
26
26
  airia/client/deployments/async_deployments.py,sha256=IqRQZtkulBxxuviHpbcoi4UFQ-XRH4oRqZ90Q4H-FXs,4321
27
27
  airia/client/deployments/base_deployments.py,sha256=luiw4Fuj2YxD0j0-rXrsWkae_CNipxwRV7wIrHBFxpI,3230
28
28
  airia/client/deployments/sync_deployments.py,sha256=gEq2M0uUi5GLw8lxf8QasAHx48FZHzzRwrt7TAcyA9s,4230
29
+ airia/client/library/__init__.py,sha256=jlcw1FEbKn7bN2ox-5aeJp3VQk4qb5iUbyjxbE2lsjo,165
30
+ airia/client/library/async_library.py,sha256=JwGTmkQNZivGbxscUPB2X3pRSguJawjSOaGG0ajtT54,4279
31
+ airia/client/library/base_library.py,sha256=VkcWr25fp2es2sRB97tORQmtAi59NZ6YRzwLymlQHIk,4664
32
+ airia/client/library/sync_library.py,sha256=MTyH3-JDGhteA1C3Xe2Xd0sRsb1E-0HZnUzvYOQNuw8,4190
29
33
  airia/client/pipeline_execution/__init__.py,sha256=7qEZsPRTLySC71zlwYioBuJs6B4BwRCgFL3TQyFWXmc,175
30
- airia/client/pipeline_execution/async_pipeline_execution.py,sha256=RDXqaMxfA1QlIsF4v8g6oPCi2SichNzWy7DdlFmc3zE,9734
31
- airia/client/pipeline_execution/base_pipeline_execution.py,sha256=wmzVTjbvFcgq2TxSb-7v47HhvkLhhkid_H40Mn2F85A,4548
32
- airia/client/pipeline_execution/sync_pipeline_execution.py,sha256=C9Gq08G4Y3im4kX7U3fDZli6b2pXuTJICC7TRhxapQ0,9618
34
+ airia/client/pipeline_execution/async_pipeline_execution.py,sha256=bbQguB4-KNVgDDUMWgkaeLBH0fG-esLch39nmGWwyOU,18022
35
+ airia/client/pipeline_execution/base_pipeline_execution.py,sha256=dkLb9zUrs0FSN5uZcjce9joOi80UavQxMmqTNTuRMiw,9608
36
+ airia/client/pipeline_execution/sync_pipeline_execution.py,sha256=S1hLy5jhhMi4-iYXUcD5tsYFamtL_SOGvorqLB9RvXI,18106
33
37
  airia/client/pipelines_config/__init__.py,sha256=Mjn3ie-bQo6zjayxrJDvoJG2vKis72yGt_CQkvtREw4,163
34
38
  airia/client/pipelines_config/async_pipelines_config.py,sha256=H3W5yCUWsd93cq1i-PdQXyq6MG_dW0Jq7pjU2ZfqNf0,7611
35
39
  airia/client/pipelines_config/base_pipelines_config.py,sha256=UotK6-SB19fUSlUEHM_aNQTWD4GLlRUynF-Gs0Nvu0c,3917
@@ -55,10 +59,12 @@ airia/types/api/data_vector_search/get_file_chunks.py,sha256=ywP1zH_OXnyP5ZyJ_ep
55
59
  airia/types/api/deployments/__init__.py,sha256=ONQgkKr_8i6FhcBsHyzT4mYOP_H0OPUAsxvxroZWBMU,538
56
60
  airia/types/api/deployments/get_deployment.py,sha256=KBr9edTu-e-tC3u9bpAdz0CMWzk0DFQxusrVU6OZ7mc,4398
57
61
  airia/types/api/deployments/get_deployments.py,sha256=5Dm7pTkEFmIZ4p4Scle9x9p3Nqy5tnXxeft3H4O_Fa8,8718
58
- airia/types/api/pipeline_execution/__init__.py,sha256=01Cf0Cx-RZygtgQvYajSrikxmtUYbsDcBzFk7hkNnGc,360
59
- airia/types/api/pipeline_execution/_pipeline_execution.py,sha256=hMMR-nqxEoxvLU6-u4Tc_0gIQxoIZrdpP4oS-fXnO_M,2449
62
+ airia/types/api/library/__init__.py,sha256=b2TLWT90EhQ41f8LcGMtvzEftd3ol_eKc41ian6zXX8,201
63
+ airia/types/api/library/_library_models.py,sha256=sROM8OEFRWxvl3A6x-0PAezPwrh5UKV2e_7iUdDCIHs,10399
64
+ airia/types/api/pipeline_execution/__init__.py,sha256=jlBLNN3yzd9TBQEfi7JJWlp3ur2NfXmON3YDnMkYdEY,674
65
+ airia/types/api/pipeline_execution/_pipeline_execution.py,sha256=4E8rmr3Ok9EHkTzHjeZHQFlQVIXQIXIpbEeDtKAh3sQ,6425
60
66
  airia/types/api/pipelines_config/__init__.py,sha256=tNYV8AEGsKMfH4nMb-KGDfH1kvHO2b6VSoTB7TYQ7N8,2188
61
- airia/types/api/pipelines_config/export_pipeline_definition.py,sha256=pC4WVKdhhRTifHVC4LaogsvvFoql-D51Ih1HPN7ADU0,38090
67
+ airia/types/api/pipelines_config/export_pipeline_definition.py,sha256=UdXoG2c_MpzRF7apLz-4K-wsSyu_Jw0xAliCkCWlFD8,38156
62
68
  airia/types/api/pipelines_config/get_pipeline_config.py,sha256=UEGnvzBPHAJMJEcMOKLZWXenaL96iyYoWt0zZjyzEUg,23514
63
69
  airia/types/api/pipelines_config/get_pipelines_config.py,sha256=RbiX5zISxzGRxzPGHe7QpO-Ro-0woQsPGLxtiP4Y4K4,15955
64
70
  airia/types/api/project/__init__.py,sha256=ervHvCeqt08JkMRsSrG1ZnQshE70of-8kf4VeW2HG9c,113
@@ -69,8 +75,8 @@ airia/types/api/store/get_files.py,sha256=v22zmOuTSFqzrS73L5JL_FgBeF5a5wutv1nK4I
69
75
  airia/types/sse/__init__.py,sha256=KWnNTfsQnthfrU128pUX6ounvSS7DvjC-Y21FE-OdMk,1863
70
76
  airia/types/sse/sse_messages.py,sha256=asq9KG5plT2XSgQMz-Nqo0WcKlXvE8UT3E-WLhCegPk,30244
71
77
  airia/utils/sse_parser.py,sha256=XCTkuaroYWaVQOgBq8VpbseQYSAVruF69AvKUwZQKTA,4251
72
- airia-0.1.22.dist-info/licenses/LICENSE,sha256=R3ClUMMKPRItIcZ0svzyj2taZZnFYw568YDNzN9KQ1Q,1066
73
- airia-0.1.22.dist-info/METADATA,sha256=cY5c_kPomaH8ILU5D6n6TCb-HVaGafAkgDJX3X4jL58,4506
74
- airia-0.1.22.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
75
- airia-0.1.22.dist-info/top_level.txt,sha256=qUQEKfs_hdOYTwjKj1JZbRhS5YeXDNaKQaVTrzabS6w,6
76
- airia-0.1.22.dist-info/RECORD,,
78
+ airia-0.1.24.dist-info/licenses/LICENSE,sha256=R3ClUMMKPRItIcZ0svzyj2taZZnFYw568YDNzN9KQ1Q,1066
79
+ airia-0.1.24.dist-info/METADATA,sha256=uoX2TWhod1iwgEwwv2v1mK1MBi90vCS2Rw_EPEBLFM0,4506
80
+ airia-0.1.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
81
+ airia-0.1.24.dist-info/top_level.txt,sha256=qUQEKfs_hdOYTwjKj1JZbRhS5YeXDNaKQaVTrzabS6w,6
82
+ airia-0.1.24.dist-info/RECORD,,
File without changes