@autoweb/domain-models 1.0.0
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.
- package/README.md +100 -0
- package/index.d.ts +594 -0
- package/index.js +3 -0
- package/package.json +55 -0
- package/python-models/__init__.py +68 -0
- package/python-models/action-configs.py +1112 -0
- package/python-models/build/lib/floweb_models/__init__.py +194 -0
- package/python-models/build/lib/floweb_models/action_configs.py +783 -0
- package/python-models/build/lib/floweb_models/debug.py +209 -0
- package/python-models/build/lib/floweb_models/debug_models.py +141 -0
- package/python-models/build/lib/floweb_models/environment.py +158 -0
- package/python-models/build/lib/floweb_models/execution_results.py +208 -0
- package/python-models/build/lib/floweb_models/flow.py +345 -0
- package/python-models/build/lib/floweb_models/flow_validation.py +316 -0
- package/python-models/build/lib/floweb_models/parallel_execution.py +258 -0
- package/python-models/build/lib/floweb_models/performance_test.py +605 -0
- package/python-models/build/lib/floweb_models/websocket_communication.py +697 -0
- package/python-models/debug.py +209 -0
- package/python-models/dist/floweb_domain_models-1.0.0-py3-none-any.whl +0 -0
- package/python-models/environment.py +158 -0
- package/python-models/execution-results.py +208 -0
- package/python-models/flow-validation.py +316 -0
- package/python-models/flow.py +369 -0
- package/python-models/floweb_domain_models.egg-info/PKG-INFO +9 -0
- package/python-models/floweb_domain_models.egg-info/SOURCES.txt +16 -0
- package/python-models/floweb_domain_models.egg-info/dependency_links.txt +1 -0
- package/python-models/floweb_domain_models.egg-info/requires.txt +1 -0
- package/python-models/floweb_domain_models.egg-info/top_level.txt +1 -0
- package/python-models/floweb_models/__init__.py +194 -0
- package/python-models/floweb_models/__pycache__/__init__.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/action_configs.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/debug.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/debug_models.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/environment.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/execution_results.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/flow.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/flow_validation.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/parallel_execution.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/performance_test.cpython-312.pyc +0 -0
- package/python-models/floweb_models/__pycache__/websocket_communication.cpython-312.pyc +0 -0
- package/python-models/floweb_models/action_configs.py +1062 -0
- package/python-models/floweb_models/debug.py +209 -0
- package/python-models/floweb_models/debug_models.py +141 -0
- package/python-models/floweb_models/environment.py +158 -0
- package/python-models/floweb_models/execution_results.py +208 -0
- package/python-models/floweb_models/flow.py +345 -0
- package/python-models/floweb_models/flow_validation.py +316 -0
- package/python-models/floweb_models/parallel_execution.py +229 -0
- package/python-models/floweb_models/performance_test.py +605 -0
- package/python-models/floweb_models/websocket_communication.py +697 -0
- package/python-models/floweb_models.egg-info/PKG-INFO +9 -0
- package/python-models/floweb_models.egg-info/SOURCES.txt +16 -0
- package/python-models/floweb_models.egg-info/dependency_links.txt +1 -0
- package/python-models/floweb_models.egg-info/requires.txt +1 -0
- package/python-models/floweb_models.egg-info/top_level.txt +1 -0
- package/python-models/parallel-execution.py +475 -0
- package/python-models/performance-test.py +605 -0
- package/python-models/setup.py +13 -0
- package/python-models/websocket-communication.py +697 -0
- package/schemas/action-configs.json +1501 -0
- package/schemas/debug.json +203 -0
- package/schemas/environment.json +165 -0
- package/schemas/execution-results.json +209 -0
- package/schemas/flow-validation.json +311 -0
- package/schemas/flow.json +381 -0
- package/schemas/parallel-execution.json +219 -0
- package/schemas/performance-test.json +600 -0
- package/schemas/websocket-communication.json +1118 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: parallel-execution.json
|
|
3
|
+
# timestamp: 2026-01-25T13:38:25+00:00
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import StrEnum
|
|
8
|
+
from typing import Annotated, Any
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Flow(BaseModel):
|
|
14
|
+
"""
|
|
15
|
+
Flow to execute (without environment/globalVariables)
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
model_config = ConfigDict(
|
|
19
|
+
populate_by_name=True,
|
|
20
|
+
)
|
|
21
|
+
id: str
|
|
22
|
+
name: str
|
|
23
|
+
actions: list[dict[str, Any]]
|
|
24
|
+
edges: list[dict[str, Any]]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class Mode(StrEnum):
|
|
28
|
+
"""
|
|
29
|
+
Execution mode
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
full = 'full'
|
|
33
|
+
partial = 'partial'
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class FlowExecutionRequest(BaseModel):
|
|
37
|
+
"""
|
|
38
|
+
Request to execute a single test/flow
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
model_config = ConfigDict(
|
|
42
|
+
populate_by_name=True,
|
|
43
|
+
)
|
|
44
|
+
flow: Any
|
|
45
|
+
"""
|
|
46
|
+
Flow to execute (without environment/globalVariables)
|
|
47
|
+
"""
|
|
48
|
+
mode: Mode | None = 'full'
|
|
49
|
+
"""
|
|
50
|
+
Execution mode
|
|
51
|
+
"""
|
|
52
|
+
recording: dict[str, Any] | None = None
|
|
53
|
+
"""
|
|
54
|
+
Recording configuration
|
|
55
|
+
"""
|
|
56
|
+
metadata: dict[str, Any] | None = {}
|
|
57
|
+
"""
|
|
58
|
+
Additional test metadata
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class Status(StrEnum):
|
|
63
|
+
"""
|
|
64
|
+
Execution status
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
completed = 'completed'
|
|
68
|
+
error = 'error'
|
|
69
|
+
stopped = 'stopped'
|
|
70
|
+
running = 'running'
|
|
71
|
+
pending = 'pending'
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class FlowExecutionResult(BaseModel):
|
|
75
|
+
"""
|
|
76
|
+
Result of a single test execution
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
model_config = ConfigDict(
|
|
80
|
+
populate_by_name=True,
|
|
81
|
+
)
|
|
82
|
+
flow_id: str
|
|
83
|
+
"""
|
|
84
|
+
ID of the executed flow
|
|
85
|
+
"""
|
|
86
|
+
flow_name: str
|
|
87
|
+
"""
|
|
88
|
+
Name of the executed flow
|
|
89
|
+
"""
|
|
90
|
+
success: bool
|
|
91
|
+
"""
|
|
92
|
+
Whether the test passed
|
|
93
|
+
"""
|
|
94
|
+
status: Status
|
|
95
|
+
"""
|
|
96
|
+
Execution status
|
|
97
|
+
"""
|
|
98
|
+
total_actions: Annotated[int, Field(ge=0)]
|
|
99
|
+
"""
|
|
100
|
+
Total actions in the flow
|
|
101
|
+
"""
|
|
102
|
+
executed_actions: Annotated[int, Field(ge=0)]
|
|
103
|
+
"""
|
|
104
|
+
Number of actions executed
|
|
105
|
+
"""
|
|
106
|
+
successful_actions: Annotated[int, Field(ge=0)]
|
|
107
|
+
"""
|
|
108
|
+
Number of successful actions
|
|
109
|
+
"""
|
|
110
|
+
duration_seconds: Annotated[float, Field(ge=0.0)]
|
|
111
|
+
"""
|
|
112
|
+
Total execution time in seconds
|
|
113
|
+
"""
|
|
114
|
+
report: dict[str, Any]
|
|
115
|
+
"""
|
|
116
|
+
Full flow report
|
|
117
|
+
"""
|
|
118
|
+
error: str | None = None
|
|
119
|
+
"""
|
|
120
|
+
Error message if failed
|
|
121
|
+
"""
|
|
122
|
+
metadata: dict[str, Any] | None = {}
|
|
123
|
+
"""
|
|
124
|
+
Additional test metadata
|
|
125
|
+
"""
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class BrowserMode(StrEnum):
|
|
129
|
+
"""
|
|
130
|
+
Browser mode
|
|
131
|
+
"""
|
|
132
|
+
|
|
133
|
+
headed = 'headed'
|
|
134
|
+
headless = 'headless'
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class ParallelTestsRequest(BaseModel):
|
|
138
|
+
"""
|
|
139
|
+
Request to execute multiple tests in parallel
|
|
140
|
+
"""
|
|
141
|
+
|
|
142
|
+
model_config = ConfigDict(
|
|
143
|
+
populate_by_name=True,
|
|
144
|
+
)
|
|
145
|
+
tests: list[FlowExecutionRequest]
|
|
146
|
+
"""
|
|
147
|
+
List of tests to execute
|
|
148
|
+
"""
|
|
149
|
+
data: dict[str, Any] | None = None
|
|
150
|
+
"""
|
|
151
|
+
Shared data containing environment and globalVariables for all tests
|
|
152
|
+
"""
|
|
153
|
+
max_parallel: Annotated[int | None, Field(ge=1, le=50)] = 10
|
|
154
|
+
"""
|
|
155
|
+
Maximum number of parallel executions
|
|
156
|
+
"""
|
|
157
|
+
stop_on_failure: bool | None = False
|
|
158
|
+
"""
|
|
159
|
+
Stop all tests if one fails
|
|
160
|
+
"""
|
|
161
|
+
cleanup_after: bool | None = True
|
|
162
|
+
"""
|
|
163
|
+
Cleanup resources after execution
|
|
164
|
+
"""
|
|
165
|
+
browser_mode: BrowserMode | None = 'headed'
|
|
166
|
+
"""
|
|
167
|
+
Browser mode
|
|
168
|
+
"""
|
|
169
|
+
max_retries: Annotated[int | None, Field(ge=0, le=10)] = 3
|
|
170
|
+
"""
|
|
171
|
+
Maximum retries for transient failures
|
|
172
|
+
"""
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
class ParallelTestsResult(BaseModel):
|
|
176
|
+
"""
|
|
177
|
+
Result of parallel test execution
|
|
178
|
+
"""
|
|
179
|
+
|
|
180
|
+
model_config = ConfigDict(
|
|
181
|
+
populate_by_name=True,
|
|
182
|
+
)
|
|
183
|
+
total_tests: Annotated[int, Field(ge=0)]
|
|
184
|
+
"""
|
|
185
|
+
Total number of tests
|
|
186
|
+
"""
|
|
187
|
+
passed_tests: Annotated[int, Field(ge=0)]
|
|
188
|
+
"""
|
|
189
|
+
Number of passed tests
|
|
190
|
+
"""
|
|
191
|
+
failed_tests: Annotated[int, Field(ge=0)]
|
|
192
|
+
"""
|
|
193
|
+
Number of failed tests
|
|
194
|
+
"""
|
|
195
|
+
skipped_tests: Annotated[int | None, Field(ge=0)] = 0
|
|
196
|
+
"""
|
|
197
|
+
Number of skipped tests
|
|
198
|
+
"""
|
|
199
|
+
total_duration_seconds: Annotated[float, Field(ge=0.0)]
|
|
200
|
+
"""
|
|
201
|
+
Total execution time
|
|
202
|
+
"""
|
|
203
|
+
results: list[FlowExecutionResult]
|
|
204
|
+
"""
|
|
205
|
+
Individual test results
|
|
206
|
+
"""
|
|
207
|
+
success: bool
|
|
208
|
+
"""
|
|
209
|
+
Overall success status
|
|
210
|
+
"""
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
class ParallelExecution(BaseModel):
|
|
214
|
+
model_config = ConfigDict(
|
|
215
|
+
populate_by_name=True,
|
|
216
|
+
)
|
|
217
|
+
requests: list[ParallelTestsRequest] | None = None
|
|
218
|
+
results: list[ParallelTestsResult] | None = None
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
class ParallelExecutionModels(BaseModel):
|
|
222
|
+
"""
|
|
223
|
+
Schema for parallel test execution requests and results
|
|
224
|
+
"""
|
|
225
|
+
|
|
226
|
+
model_config = ConfigDict(
|
|
227
|
+
populate_by_name=True,
|
|
228
|
+
)
|
|
229
|
+
parallelExecution: ParallelExecution | None = None
|