@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.
Files changed (68) hide show
  1. package/README.md +100 -0
  2. package/index.d.ts +594 -0
  3. package/index.js +3 -0
  4. package/package.json +55 -0
  5. package/python-models/__init__.py +68 -0
  6. package/python-models/action-configs.py +1112 -0
  7. package/python-models/build/lib/floweb_models/__init__.py +194 -0
  8. package/python-models/build/lib/floweb_models/action_configs.py +783 -0
  9. package/python-models/build/lib/floweb_models/debug.py +209 -0
  10. package/python-models/build/lib/floweb_models/debug_models.py +141 -0
  11. package/python-models/build/lib/floweb_models/environment.py +158 -0
  12. package/python-models/build/lib/floweb_models/execution_results.py +208 -0
  13. package/python-models/build/lib/floweb_models/flow.py +345 -0
  14. package/python-models/build/lib/floweb_models/flow_validation.py +316 -0
  15. package/python-models/build/lib/floweb_models/parallel_execution.py +258 -0
  16. package/python-models/build/lib/floweb_models/performance_test.py +605 -0
  17. package/python-models/build/lib/floweb_models/websocket_communication.py +697 -0
  18. package/python-models/debug.py +209 -0
  19. package/python-models/dist/floweb_domain_models-1.0.0-py3-none-any.whl +0 -0
  20. package/python-models/environment.py +158 -0
  21. package/python-models/execution-results.py +208 -0
  22. package/python-models/flow-validation.py +316 -0
  23. package/python-models/flow.py +369 -0
  24. package/python-models/floweb_domain_models.egg-info/PKG-INFO +9 -0
  25. package/python-models/floweb_domain_models.egg-info/SOURCES.txt +16 -0
  26. package/python-models/floweb_domain_models.egg-info/dependency_links.txt +1 -0
  27. package/python-models/floweb_domain_models.egg-info/requires.txt +1 -0
  28. package/python-models/floweb_domain_models.egg-info/top_level.txt +1 -0
  29. package/python-models/floweb_models/__init__.py +194 -0
  30. package/python-models/floweb_models/__pycache__/__init__.cpython-312.pyc +0 -0
  31. package/python-models/floweb_models/__pycache__/action_configs.cpython-312.pyc +0 -0
  32. package/python-models/floweb_models/__pycache__/debug.cpython-312.pyc +0 -0
  33. package/python-models/floweb_models/__pycache__/debug_models.cpython-312.pyc +0 -0
  34. package/python-models/floweb_models/__pycache__/environment.cpython-312.pyc +0 -0
  35. package/python-models/floweb_models/__pycache__/execution_results.cpython-312.pyc +0 -0
  36. package/python-models/floweb_models/__pycache__/flow.cpython-312.pyc +0 -0
  37. package/python-models/floweb_models/__pycache__/flow_validation.cpython-312.pyc +0 -0
  38. package/python-models/floweb_models/__pycache__/parallel_execution.cpython-312.pyc +0 -0
  39. package/python-models/floweb_models/__pycache__/performance_test.cpython-312.pyc +0 -0
  40. package/python-models/floweb_models/__pycache__/websocket_communication.cpython-312.pyc +0 -0
  41. package/python-models/floweb_models/action_configs.py +1062 -0
  42. package/python-models/floweb_models/debug.py +209 -0
  43. package/python-models/floweb_models/debug_models.py +141 -0
  44. package/python-models/floweb_models/environment.py +158 -0
  45. package/python-models/floweb_models/execution_results.py +208 -0
  46. package/python-models/floweb_models/flow.py +345 -0
  47. package/python-models/floweb_models/flow_validation.py +316 -0
  48. package/python-models/floweb_models/parallel_execution.py +229 -0
  49. package/python-models/floweb_models/performance_test.py +605 -0
  50. package/python-models/floweb_models/websocket_communication.py +697 -0
  51. package/python-models/floweb_models.egg-info/PKG-INFO +9 -0
  52. package/python-models/floweb_models.egg-info/SOURCES.txt +16 -0
  53. package/python-models/floweb_models.egg-info/dependency_links.txt +1 -0
  54. package/python-models/floweb_models.egg-info/requires.txt +1 -0
  55. package/python-models/floweb_models.egg-info/top_level.txt +1 -0
  56. package/python-models/parallel-execution.py +475 -0
  57. package/python-models/performance-test.py +605 -0
  58. package/python-models/setup.py +13 -0
  59. package/python-models/websocket-communication.py +697 -0
  60. package/schemas/action-configs.json +1501 -0
  61. package/schemas/debug.json +203 -0
  62. package/schemas/environment.json +165 -0
  63. package/schemas/execution-results.json +209 -0
  64. package/schemas/flow-validation.json +311 -0
  65. package/schemas/flow.json +381 -0
  66. package/schemas/parallel-execution.json +219 -0
  67. package/schemas/performance-test.json +600 -0
  68. 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