unrealon 1.0.9__py3-none-any.whl → 1.1.1__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 (302) hide show
  1. unrealon/__init__.py +23 -21
  2. unrealon-1.1.1.dist-info/METADATA +722 -0
  3. unrealon-1.1.1.dist-info/RECORD +82 -0
  4. {unrealon-1.0.9.dist-info → unrealon-1.1.1.dist-info}/WHEEL +1 -1
  5. unrealon-1.1.1.dist-info/entry_points.txt +9 -0
  6. {unrealon-1.0.9.dist-info → unrealon-1.1.1.dist-info/licenses}/LICENSE +1 -1
  7. unrealon_bridge/__init__.py +114 -0
  8. unrealon_bridge/cli.py +316 -0
  9. unrealon_bridge/client/__init__.py +93 -0
  10. unrealon_bridge/client/base.py +78 -0
  11. unrealon_bridge/client/commands.py +89 -0
  12. unrealon_bridge/client/connection.py +90 -0
  13. unrealon_bridge/client/events.py +65 -0
  14. unrealon_bridge/client/health.py +38 -0
  15. unrealon_bridge/client/html_parser.py +146 -0
  16. unrealon_bridge/client/logging.py +139 -0
  17. unrealon_bridge/client/proxy.py +70 -0
  18. unrealon_bridge/client/scheduler.py +450 -0
  19. unrealon_bridge/client/session.py +70 -0
  20. unrealon_bridge/configs/__init__.py +14 -0
  21. unrealon_bridge/configs/bridge_config.py +212 -0
  22. unrealon_bridge/configs/bridge_config.yaml +39 -0
  23. unrealon_bridge/models/__init__.py +138 -0
  24. unrealon_bridge/models/base.py +28 -0
  25. unrealon_bridge/models/command.py +41 -0
  26. unrealon_bridge/models/events.py +40 -0
  27. unrealon_bridge/models/html_parser.py +79 -0
  28. unrealon_bridge/models/logging.py +55 -0
  29. unrealon_bridge/models/parser.py +63 -0
  30. unrealon_bridge/models/proxy.py +41 -0
  31. unrealon_bridge/models/requests.py +95 -0
  32. unrealon_bridge/models/responses.py +88 -0
  33. unrealon_bridge/models/scheduler.py +592 -0
  34. unrealon_bridge/models/session.py +28 -0
  35. unrealon_bridge/server/__init__.py +91 -0
  36. unrealon_bridge/server/base.py +171 -0
  37. unrealon_bridge/server/handlers/__init__.py +23 -0
  38. unrealon_bridge/server/handlers/command.py +110 -0
  39. unrealon_bridge/server/handlers/html_parser.py +139 -0
  40. unrealon_bridge/server/handlers/logging.py +95 -0
  41. unrealon_bridge/server/handlers/parser.py +95 -0
  42. unrealon_bridge/server/handlers/proxy.py +75 -0
  43. unrealon_bridge/server/handlers/scheduler.py +545 -0
  44. unrealon_bridge/server/handlers/session.py +66 -0
  45. unrealon_browser/__init__.py +61 -18
  46. unrealon_browser/{src/cli → cli}/browser_cli.py +6 -13
  47. unrealon_browser/{src/cli → cli}/cookies_cli.py +5 -1
  48. unrealon_browser/{src/core → core}/browser_manager.py +2 -2
  49. unrealon_browser/{src/managers → managers}/captcha.py +1 -1
  50. unrealon_browser/{src/managers → managers}/cookies.py +1 -1
  51. unrealon_browser/managers/logger_bridge.py +231 -0
  52. unrealon_browser/{src/managers → managers}/profile.py +1 -1
  53. unrealon_driver/__init__.py +73 -19
  54. unrealon_driver/browser/__init__.py +8 -0
  55. unrealon_driver/browser/config.py +74 -0
  56. unrealon_driver/browser/manager.py +416 -0
  57. unrealon_driver/exceptions.py +28 -0
  58. unrealon_driver/parser/__init__.py +55 -0
  59. unrealon_driver/parser/cli_manager.py +141 -0
  60. unrealon_driver/parser/daemon_manager.py +227 -0
  61. unrealon_driver/parser/managers/__init__.py +46 -0
  62. unrealon_driver/parser/managers/browser.py +51 -0
  63. unrealon_driver/parser/managers/config.py +281 -0
  64. unrealon_driver/parser/managers/error.py +412 -0
  65. unrealon_driver/parser/managers/html.py +732 -0
  66. unrealon_driver/parser/managers/logging.py +609 -0
  67. unrealon_driver/parser/managers/result.py +321 -0
  68. unrealon_driver/parser/parser_manager.py +628 -0
  69. unrealon/sdk_config.py +0 -88
  70. unrealon-1.0.9.dist-info/METADATA +0 -810
  71. unrealon-1.0.9.dist-info/RECORD +0 -246
  72. unrealon_browser/pyproject.toml +0 -182
  73. unrealon_browser/src/__init__.py +0 -62
  74. unrealon_browser/src/managers/logger_bridge.py +0 -395
  75. unrealon_driver/README.md +0 -204
  76. unrealon_driver/pyproject.toml +0 -187
  77. unrealon_driver/src/__init__.py +0 -90
  78. unrealon_driver/src/cli/__init__.py +0 -10
  79. unrealon_driver/src/cli/main.py +0 -66
  80. unrealon_driver/src/cli/simple.py +0 -510
  81. unrealon_driver/src/config/__init__.py +0 -11
  82. unrealon_driver/src/config/auto_config.py +0 -478
  83. unrealon_driver/src/core/__init__.py +0 -18
  84. unrealon_driver/src/core/exceptions.py +0 -289
  85. unrealon_driver/src/core/parser.py +0 -638
  86. unrealon_driver/src/dto/__init__.py +0 -66
  87. unrealon_driver/src/dto/cli.py +0 -119
  88. unrealon_driver/src/dto/config.py +0 -18
  89. unrealon_driver/src/dto/events.py +0 -237
  90. unrealon_driver/src/dto/execution.py +0 -313
  91. unrealon_driver/src/dto/services.py +0 -311
  92. unrealon_driver/src/execution/__init__.py +0 -23
  93. unrealon_driver/src/execution/daemon_mode.py +0 -317
  94. unrealon_driver/src/execution/interactive_mode.py +0 -88
  95. unrealon_driver/src/execution/modes.py +0 -45
  96. unrealon_driver/src/execution/scheduled_mode.py +0 -209
  97. unrealon_driver/src/execution/test_mode.py +0 -250
  98. unrealon_driver/src/logging/__init__.py +0 -24
  99. unrealon_driver/src/logging/driver_logger.py +0 -512
  100. unrealon_driver/src/services/__init__.py +0 -24
  101. unrealon_driver/src/services/browser_service.py +0 -726
  102. unrealon_driver/src/services/llm/__init__.py +0 -15
  103. unrealon_driver/src/services/llm/browser_llm_service.py +0 -363
  104. unrealon_driver/src/services/llm/llm.py +0 -195
  105. unrealon_driver/src/services/logger_service.py +0 -232
  106. unrealon_driver/src/services/metrics_service.py +0 -185
  107. unrealon_driver/src/services/scheduler_service.py +0 -489
  108. unrealon_driver/src/services/websocket_service.py +0 -362
  109. unrealon_driver/src/utils/__init__.py +0 -16
  110. unrealon_driver/src/utils/service_factory.py +0 -317
  111. unrealon_driver/src/utils/time_formatter.py +0 -338
  112. unrealon_llm/README.md +0 -44
  113. unrealon_llm/__init__.py +0 -26
  114. unrealon_llm/pyproject.toml +0 -154
  115. unrealon_llm/src/__init__.py +0 -228
  116. unrealon_llm/src/cli/__init__.py +0 -0
  117. unrealon_llm/src/core/__init__.py +0 -11
  118. unrealon_llm/src/core/smart_client.py +0 -438
  119. unrealon_llm/src/dto/__init__.py +0 -155
  120. unrealon_llm/src/dto/models/__init__.py +0 -0
  121. unrealon_llm/src/dto/models/config.py +0 -343
  122. unrealon_llm/src/dto/models/core.py +0 -328
  123. unrealon_llm/src/dto/models/enums.py +0 -123
  124. unrealon_llm/src/dto/models/html_analysis.py +0 -345
  125. unrealon_llm/src/dto/models/statistics.py +0 -473
  126. unrealon_llm/src/dto/models/translation.py +0 -383
  127. unrealon_llm/src/dto/models/type_conversion.py +0 -462
  128. unrealon_llm/src/dto/schemas/__init__.py +0 -0
  129. unrealon_llm/src/exceptions.py +0 -392
  130. unrealon_llm/src/llm_config/__init__.py +0 -20
  131. unrealon_llm/src/llm_config/logging_config.py +0 -178
  132. unrealon_llm/src/llm_logging/__init__.py +0 -42
  133. unrealon_llm/src/llm_logging/llm_events.py +0 -107
  134. unrealon_llm/src/llm_logging/llm_logger.py +0 -466
  135. unrealon_llm/src/managers/__init__.py +0 -15
  136. unrealon_llm/src/managers/cache_manager.py +0 -67
  137. unrealon_llm/src/managers/cost_manager.py +0 -107
  138. unrealon_llm/src/managers/request_manager.py +0 -298
  139. unrealon_llm/src/modules/__init__.py +0 -0
  140. unrealon_llm/src/modules/html_processor/__init__.py +0 -25
  141. unrealon_llm/src/modules/html_processor/base_processor.py +0 -415
  142. unrealon_llm/src/modules/html_processor/details_processor.py +0 -85
  143. unrealon_llm/src/modules/html_processor/listing_processor.py +0 -91
  144. unrealon_llm/src/modules/html_processor/models/__init__.py +0 -20
  145. unrealon_llm/src/modules/html_processor/models/processing_models.py +0 -40
  146. unrealon_llm/src/modules/html_processor/models/universal_model.py +0 -56
  147. unrealon_llm/src/modules/html_processor/processor.py +0 -102
  148. unrealon_llm/src/modules/llm/__init__.py +0 -0
  149. unrealon_llm/src/modules/translator/__init__.py +0 -0
  150. unrealon_llm/src/provider.py +0 -116
  151. unrealon_llm/src/utils/__init__.py +0 -95
  152. unrealon_llm/src/utils/common.py +0 -64
  153. unrealon_llm/src/utils/data_extractor.py +0 -188
  154. unrealon_llm/src/utils/html_cleaner.py +0 -767
  155. unrealon_llm/src/utils/language_detector.py +0 -308
  156. unrealon_llm/src/utils/models_cache.py +0 -592
  157. unrealon_llm/src/utils/smart_counter.py +0 -229
  158. unrealon_llm/src/utils/token_counter.py +0 -189
  159. unrealon_sdk/README.md +0 -25
  160. unrealon_sdk/__init__.py +0 -30
  161. unrealon_sdk/pyproject.toml +0 -231
  162. unrealon_sdk/src/__init__.py +0 -150
  163. unrealon_sdk/src/cli/__init__.py +0 -12
  164. unrealon_sdk/src/cli/commands/__init__.py +0 -22
  165. unrealon_sdk/src/cli/commands/benchmark.py +0 -42
  166. unrealon_sdk/src/cli/commands/diagnostics.py +0 -573
  167. unrealon_sdk/src/cli/commands/health.py +0 -46
  168. unrealon_sdk/src/cli/commands/integration.py +0 -498
  169. unrealon_sdk/src/cli/commands/reports.py +0 -43
  170. unrealon_sdk/src/cli/commands/security.py +0 -36
  171. unrealon_sdk/src/cli/commands/server.py +0 -483
  172. unrealon_sdk/src/cli/commands/servers.py +0 -56
  173. unrealon_sdk/src/cli/commands/tests.py +0 -55
  174. unrealon_sdk/src/cli/main.py +0 -126
  175. unrealon_sdk/src/cli/utils/reporter.py +0 -519
  176. unrealon_sdk/src/clients/openapi.yaml +0 -3347
  177. unrealon_sdk/src/clients/python_http/__init__.py +0 -3
  178. unrealon_sdk/src/clients/python_http/api_config.py +0 -228
  179. unrealon_sdk/src/clients/python_http/models/BaseModel.py +0 -12
  180. unrealon_sdk/src/clients/python_http/models/BroadcastDeliveryStats.py +0 -33
  181. unrealon_sdk/src/clients/python_http/models/BroadcastMessage.py +0 -17
  182. unrealon_sdk/src/clients/python_http/models/BroadcastMessageRequest.py +0 -35
  183. unrealon_sdk/src/clients/python_http/models/BroadcastPriority.py +0 -10
  184. unrealon_sdk/src/clients/python_http/models/BroadcastResponse.py +0 -21
  185. unrealon_sdk/src/clients/python_http/models/BroadcastResultResponse.py +0 -33
  186. unrealon_sdk/src/clients/python_http/models/BroadcastTarget.py +0 -11
  187. unrealon_sdk/src/clients/python_http/models/ConnectionStats.py +0 -27
  188. unrealon_sdk/src/clients/python_http/models/ConnectionsResponse.py +0 -21
  189. unrealon_sdk/src/clients/python_http/models/DeveloperMessageResponse.py +0 -23
  190. unrealon_sdk/src/clients/python_http/models/ErrorResponse.py +0 -25
  191. unrealon_sdk/src/clients/python_http/models/HTTPValidationError.py +0 -16
  192. unrealon_sdk/src/clients/python_http/models/HealthResponse.py +0 -23
  193. unrealon_sdk/src/clients/python_http/models/HealthStatus.py +0 -33
  194. unrealon_sdk/src/clients/python_http/models/LogLevel.py +0 -10
  195. unrealon_sdk/src/clients/python_http/models/LoggingRequest.py +0 -27
  196. unrealon_sdk/src/clients/python_http/models/LoggingResponse.py +0 -23
  197. unrealon_sdk/src/clients/python_http/models/MaintenanceMode.py +0 -9
  198. unrealon_sdk/src/clients/python_http/models/MaintenanceModeRequest.py +0 -33
  199. unrealon_sdk/src/clients/python_http/models/MaintenanceStatusResponse.py +0 -39
  200. unrealon_sdk/src/clients/python_http/models/ParserCommandRequest.py +0 -25
  201. unrealon_sdk/src/clients/python_http/models/ParserMessageResponse.py +0 -21
  202. unrealon_sdk/src/clients/python_http/models/ParserRegistrationRequest.py +0 -28
  203. unrealon_sdk/src/clients/python_http/models/ParserRegistrationResponse.py +0 -25
  204. unrealon_sdk/src/clients/python_http/models/ParserType.py +0 -10
  205. unrealon_sdk/src/clients/python_http/models/ProxyBlockRequest.py +0 -19
  206. unrealon_sdk/src/clients/python_http/models/ProxyEndpointResponse.py +0 -20
  207. unrealon_sdk/src/clients/python_http/models/ProxyListResponse.py +0 -19
  208. unrealon_sdk/src/clients/python_http/models/ProxyProvider.py +0 -10
  209. unrealon_sdk/src/clients/python_http/models/ProxyPurchaseRequest.py +0 -25
  210. unrealon_sdk/src/clients/python_http/models/ProxyResponse.py +0 -47
  211. unrealon_sdk/src/clients/python_http/models/ProxyRotationRequest.py +0 -23
  212. unrealon_sdk/src/clients/python_http/models/ProxyStatus.py +0 -10
  213. unrealon_sdk/src/clients/python_http/models/ProxyUsageRequest.py +0 -19
  214. unrealon_sdk/src/clients/python_http/models/ProxyUsageStatsResponse.py +0 -26
  215. unrealon_sdk/src/clients/python_http/models/ServiceRegistrationDto.py +0 -23
  216. unrealon_sdk/src/clients/python_http/models/ServiceStatsResponse.py +0 -31
  217. unrealon_sdk/src/clients/python_http/models/SessionStartRequest.py +0 -23
  218. unrealon_sdk/src/clients/python_http/models/SuccessResponse.py +0 -25
  219. unrealon_sdk/src/clients/python_http/models/SystemNotificationResponse.py +0 -23
  220. unrealon_sdk/src/clients/python_http/models/ValidationError.py +0 -18
  221. unrealon_sdk/src/clients/python_http/models/ValidationErrorResponse.py +0 -21
  222. unrealon_sdk/src/clients/python_http/models/WebSocketMetrics.py +0 -21
  223. unrealon_sdk/src/clients/python_http/models/__init__.py +0 -44
  224. unrealon_sdk/src/clients/python_http/services/None_service.py +0 -35
  225. unrealon_sdk/src/clients/python_http/services/ParserManagement_service.py +0 -190
  226. unrealon_sdk/src/clients/python_http/services/ProxyManagement_service.py +0 -289
  227. unrealon_sdk/src/clients/python_http/services/SocketLogging_service.py +0 -187
  228. unrealon_sdk/src/clients/python_http/services/SystemHealth_service.py +0 -119
  229. unrealon_sdk/src/clients/python_http/services/WebSocketAPI_service.py +0 -198
  230. unrealon_sdk/src/clients/python_http/services/__init__.py +0 -0
  231. unrealon_sdk/src/clients/python_http/services/admin_service.py +0 -125
  232. unrealon_sdk/src/clients/python_http/services/async_None_service.py +0 -35
  233. unrealon_sdk/src/clients/python_http/services/async_ParserManagement_service.py +0 -190
  234. unrealon_sdk/src/clients/python_http/services/async_ProxyManagement_service.py +0 -289
  235. unrealon_sdk/src/clients/python_http/services/async_SocketLogging_service.py +0 -189
  236. unrealon_sdk/src/clients/python_http/services/async_SystemHealth_service.py +0 -123
  237. unrealon_sdk/src/clients/python_http/services/async_WebSocketAPI_service.py +0 -200
  238. unrealon_sdk/src/clients/python_http/services/async_admin_service.py +0 -125
  239. unrealon_sdk/src/clients/python_websocket/__init__.py +0 -28
  240. unrealon_sdk/src/clients/python_websocket/client.py +0 -490
  241. unrealon_sdk/src/clients/python_websocket/events.py +0 -732
  242. unrealon_sdk/src/clients/python_websocket/example.py +0 -136
  243. unrealon_sdk/src/clients/python_websocket/types.py +0 -871
  244. unrealon_sdk/src/core/__init__.py +0 -64
  245. unrealon_sdk/src/core/client.py +0 -556
  246. unrealon_sdk/src/core/config.py +0 -465
  247. unrealon_sdk/src/core/exceptions.py +0 -239
  248. unrealon_sdk/src/core/metadata.py +0 -191
  249. unrealon_sdk/src/core/models.py +0 -142
  250. unrealon_sdk/src/core/types.py +0 -68
  251. unrealon_sdk/src/dto/__init__.py +0 -268
  252. unrealon_sdk/src/dto/authentication.py +0 -108
  253. unrealon_sdk/src/dto/cache.py +0 -208
  254. unrealon_sdk/src/dto/common.py +0 -19
  255. unrealon_sdk/src/dto/concurrency.py +0 -393
  256. unrealon_sdk/src/dto/events.py +0 -108
  257. unrealon_sdk/src/dto/health.py +0 -339
  258. unrealon_sdk/src/dto/load_balancing.py +0 -336
  259. unrealon_sdk/src/dto/logging.py +0 -230
  260. unrealon_sdk/src/dto/performance.py +0 -165
  261. unrealon_sdk/src/dto/rate_limiting.py +0 -295
  262. unrealon_sdk/src/dto/resource_pooling.py +0 -128
  263. unrealon_sdk/src/dto/structured_logging.py +0 -112
  264. unrealon_sdk/src/dto/task_scheduling.py +0 -121
  265. unrealon_sdk/src/dto/websocket.py +0 -55
  266. unrealon_sdk/src/enterprise/__init__.py +0 -59
  267. unrealon_sdk/src/enterprise/authentication.py +0 -401
  268. unrealon_sdk/src/enterprise/cache_manager.py +0 -578
  269. unrealon_sdk/src/enterprise/error_recovery.py +0 -494
  270. unrealon_sdk/src/enterprise/event_system.py +0 -549
  271. unrealon_sdk/src/enterprise/health_monitor.py +0 -747
  272. unrealon_sdk/src/enterprise/load_balancer.py +0 -964
  273. unrealon_sdk/src/enterprise/logging/__init__.py +0 -68
  274. unrealon_sdk/src/enterprise/logging/cleanup.py +0 -156
  275. unrealon_sdk/src/enterprise/logging/development.py +0 -744
  276. unrealon_sdk/src/enterprise/logging/service.py +0 -410
  277. unrealon_sdk/src/enterprise/multithreading_manager.py +0 -853
  278. unrealon_sdk/src/enterprise/performance_monitor.py +0 -539
  279. unrealon_sdk/src/enterprise/proxy_manager.py +0 -696
  280. unrealon_sdk/src/enterprise/rate_limiter.py +0 -652
  281. unrealon_sdk/src/enterprise/resource_pool.py +0 -763
  282. unrealon_sdk/src/enterprise/task_scheduler.py +0 -709
  283. unrealon_sdk/src/internal/__init__.py +0 -10
  284. unrealon_sdk/src/internal/command_router.py +0 -497
  285. unrealon_sdk/src/internal/connection_manager.py +0 -397
  286. unrealon_sdk/src/internal/http_client.py +0 -446
  287. unrealon_sdk/src/internal/websocket_client.py +0 -420
  288. unrealon_sdk/src/provider.py +0 -471
  289. unrealon_sdk/src/utils.py +0 -234
  290. /unrealon_browser/{src/cli → cli}/__init__.py +0 -0
  291. /unrealon_browser/{src/cli → cli}/interactive_mode.py +0 -0
  292. /unrealon_browser/{src/cli → cli}/main.py +0 -0
  293. /unrealon_browser/{src/core → core}/__init__.py +0 -0
  294. /unrealon_browser/{src/dto → dto}/__init__.py +0 -0
  295. /unrealon_browser/{src/dto → dto}/models/config.py +0 -0
  296. /unrealon_browser/{src/dto → dto}/models/core.py +0 -0
  297. /unrealon_browser/{src/dto → dto}/models/dataclasses.py +0 -0
  298. /unrealon_browser/{src/dto → dto}/models/detection.py +0 -0
  299. /unrealon_browser/{src/dto → dto}/models/enums.py +0 -0
  300. /unrealon_browser/{src/dto → dto}/models/statistics.py +0 -0
  301. /unrealon_browser/{src/managers → managers}/__init__.py +0 -0
  302. /unrealon_browser/{src/managers → managers}/stealth.py +0 -0
@@ -1,191 +0,0 @@
1
- """
2
- Structured metadata models for UnrealOn SDK v1.0
3
-
4
- These Pydantic v2 models replace ALL Dict[str, Any] usage throughout the SDK,
5
- ensuring 100% type safety and validation for metadata objects.
6
-
7
- CRITICAL: These models are mandatory - NO raw dictionaries allowed!
8
- """
9
-
10
- from datetime import datetime
11
- from typing import Optional, List, Dict, Union
12
- from enum import Enum
13
-
14
- from pydantic import BaseModel, Field, ConfigDict
15
-
16
-
17
- class SDKMetadata(BaseModel):
18
- """Base metadata model for SDK components."""
19
-
20
- model_config = ConfigDict(
21
- validate_assignment=True,
22
- extra="forbid",
23
- frozen=True
24
- )
25
-
26
- sdk_version: str = Field(default="1.0.0", description="SDK version")
27
- timestamp: datetime = Field(default_factory=datetime.utcnow, description="Creation timestamp")
28
- correlation_id: Optional[str] = Field(default=None, description="Request correlation ID")
29
-
30
-
31
- class RegistrationMetadata(SDKMetadata):
32
- """Metadata for parser registration operations."""
33
-
34
- parser_id: str = Field(..., description="Unique parser identifier")
35
- parser_name: str = Field(..., description="Human-readable parser name")
36
- parser_type: str = Field(..., description="Type of parser")
37
- environment: str = Field(..., description="Environment (development, staging, production)")
38
- features_enabled: List[str] = Field(default_factory=list, description="List of enabled features")
39
-
40
-
41
- class CommandExecutionMetadata(SDKMetadata):
42
- """Metadata for command execution operations."""
43
-
44
- command_id: str = Field(..., description="Unique command identifier")
45
- command_type: str = Field(..., description="Type of command being executed")
46
- parser_id: str = Field(..., description="Parser handling the command")
47
- execution_start: datetime = Field(default_factory=datetime.utcnow, description="Execution start time")
48
- timeout_ms: int = Field(default=30000, ge=1000, description="Command timeout in milliseconds")
49
-
50
-
51
- class LoggingContextMetadata(SDKMetadata):
52
- """Metadata for logging context."""
53
-
54
- component_name: str = Field(..., description="Component generating the log")
55
- log_level: str = Field(..., description="Log level")
56
- function_name: Optional[str] = Field(default=None, description="Function name")
57
- operation_type: Optional[str] = Field(default=None, description="Type of operation")
58
-
59
-
60
- class EnvironmentMetadata(SDKMetadata):
61
- """Metadata about the runtime environment."""
62
-
63
- environment: str = Field(..., description="Environment name (development, staging, production)")
64
- python_version: str = Field(..., description="Python version")
65
- platform: str = Field(..., description="Operating system platform")
66
- architecture: str = Field(..., description="System architecture")
67
-
68
-
69
- class ProxyOperationMetadata(SDKMetadata):
70
- """Metadata for proxy operations."""
71
-
72
- proxy_id: str = Field(..., description="Unique proxy identifier")
73
- proxy_identifier: str = Field(..., description="Human-readable proxy identifier")
74
- operation_type: str = Field(..., description="Type of proxy operation")
75
- region: Optional[str] = Field(default=None, description="Proxy region/location")
76
-
77
-
78
- class ExecutionInfo(BaseModel):
79
- """Information about command execution."""
80
-
81
- model_config = ConfigDict(validate_assignment=True, extra="forbid", frozen=True)
82
-
83
- command_id: str = Field(..., description="Command identifier")
84
- command_type: str = Field(..., description="Command type")
85
- status: str = Field(..., description="Execution status")
86
- start_time: datetime = Field(..., description="Execution start time")
87
- duration_ms: Optional[float] = Field(default=None, description="Execution duration")
88
-
89
-
90
- class RouterStatistics(BaseModel):
91
- """Command router statistics."""
92
-
93
- model_config = ConfigDict(validate_assignment=True, extra="forbid", frozen=True)
94
-
95
- total_commands: int = Field(..., ge=0, description="Total commands processed")
96
- successful_commands: int = Field(..., ge=0, description="Successful commands")
97
- failed_commands: int = Field(..., ge=0, description="Failed commands")
98
- average_execution_time_ms: float = Field(..., ge=0, description="Average execution time")
99
- active_executions: int = Field(..., ge=0, description="Currently executing commands")
100
- success_rate: float = Field(..., ge=0, le=100, description="Success rate percentage")
101
-
102
-
103
- class DevelopmentLoggerStatistics(BaseModel):
104
- """Development logger statistics."""
105
-
106
- model_config = ConfigDict(validate_assignment=True, extra="forbid", frozen=True)
107
-
108
- total_events: int = Field(..., ge=0, description="Total events logged")
109
- events_by_type: Dict[str, int] = Field(default_factory=dict, description="Events count by type")
110
- events_by_severity: Dict[str, int] = Field(default_factory=dict, description="Events count by severity")
111
- buffer_size: int = Field(..., ge=0, description="Current buffer size")
112
- websocket_connected: bool = Field(..., description="WebSocket connection status")
113
- startup_time: datetime = Field(..., description="Logger startup time")
114
-
115
-
116
- class LoggingServiceStatistics(BaseModel):
117
- """Logging service statistics."""
118
-
119
- model_config = ConfigDict(validate_assignment=True, extra="forbid", frozen=True)
120
-
121
- total_logs: int = Field(..., ge=0, description="Total logs processed")
122
- logs_by_level: Dict[str, int] = Field(default_factory=dict, description="Logs count by level")
123
- websocket_logs: int = Field(..., ge=0, description="WebSocket logs sent")
124
- buffer_size: int = Field(..., ge=0, description="Current buffer size")
125
- failed_sends: int = Field(..., ge=0, description="Failed WebSocket sends")
126
- last_flush: datetime = Field(..., description="Last buffer flush time")
127
-
128
-
129
- class HTTPClientStatistics(BaseModel):
130
- """HTTP client statistics."""
131
-
132
- model_config = ConfigDict(validate_assignment=True, extra="forbid", frozen=True)
133
-
134
- total_requests: int = Field(..., ge=0, description="Total HTTP requests made")
135
- successful_requests: int = Field(..., ge=0, description="Successful requests")
136
- failed_requests: int = Field(..., ge=0, description="Failed requests")
137
- average_response_time_ms: float = Field(..., ge=0, description="Average response time")
138
- success_rate: float = Field(..., ge=0, le=100, description="Success rate percentage")
139
-
140
-
141
- class WebSocketClientStatistics(BaseModel):
142
- """WebSocket client statistics."""
143
-
144
- model_config = ConfigDict(validate_assignment=True, extra="forbid", frozen=True)
145
-
146
- connection_state: str = Field(..., description="Current connection state")
147
- total_messages: int = Field(..., ge=0, description="Total messages sent/received")
148
- reconnect_count: int = Field(..., ge=0, description="Number of reconnections")
149
- last_ping_ms: Optional[float] = Field(default=None, description="Last ping response time")
150
- uptime_seconds: float = Field(..., ge=0, description="Connection uptime in seconds")
151
-
152
-
153
- class WebSocketHealthInfo(BaseModel):
154
- """WebSocket client health information."""
155
-
156
- model_config = ConfigDict(validate_assignment=True, extra="forbid", frozen=True)
157
-
158
- connected: bool = Field(..., description="Is currently connected")
159
- reconnect_count: int = Field(..., ge=0, description="Number of reconnections")
160
- last_ping: Optional[str] = Field(default=None, description="Last ping timestamp")
161
- connection_state: 'WebSocketConnectionState' = Field(..., description="Detailed connection state")
162
-
163
-
164
- class WebSocketConnectionState(BaseModel):
165
- """WebSocket connection state details."""
166
-
167
- model_config = ConfigDict(validate_assignment=True, extra="forbid", frozen=True)
168
-
169
- connected: bool = Field(..., description="Connection established")
170
- connecting: bool = Field(..., description="Currently connecting")
171
- error: Optional[str] = Field(default=None, description="Connection error if any")
172
- last_connected: Optional[str] = Field(default=None, description="Last connection timestamp")
173
- reconnect_count: int = Field(..., ge=0, description="Reconnection attempts")
174
-
175
-
176
- __all__ = [
177
- "SDKMetadata",
178
- "RegistrationMetadata",
179
- "CommandExecutionMetadata",
180
- "LoggingContextMetadata",
181
- "EnvironmentMetadata",
182
- "ProxyOperationMetadata",
183
- "ExecutionInfo",
184
- "RouterStatistics",
185
- "DevelopmentLoggerStatistics",
186
- "LoggingServiceStatistics",
187
- "HTTPClientStatistics",
188
- "WebSocketClientStatistics",
189
- "WebSocketHealthInfo",
190
- "WebSocketConnectionState",
191
- ]
@@ -1,142 +0,0 @@
1
- """
2
- Core data models for UnrealOn SDK.
3
-
4
- This module provides the foundational Pydantic models that form the backbone
5
- of the SDK's type-safe architecture. All models use Pydantic v2 with strict
6
- validation and zero tolerance for Dict[str, Any] patterns.
7
-
8
- CRITICAL REQUIREMENTS COMPLIANCE:
9
- - NO relative imports (absolute imports only)
10
- - NO Dict[str, Any] usage (Pydantic models only)
11
- - NO Python 3.10+ union syntax (Union[X, Y] only)
12
- - 100% type annotation coverage
13
- - Strict Pydantic v2 compliance
14
-
15
- NOTE: Some models have been moved to /dto/ for better organization.
16
- This module focuses on core SDK models, while /dto/ contains specialized DTOs.
17
- """
18
-
19
- from typing import Dict, Optional, Union, Any, List
20
- from pydantic import BaseModel, Field, ConfigDict
21
-
22
- # Import DTO models for backward compatibility
23
- from unrealon_sdk.src.dto.health import ConnectionHealthStatus as DTOConnectionHealthStatus
24
- from unrealon_sdk.src.dto.health import ComponentStatus as DTOComponentStatus
25
-
26
-
27
- class AdapterStatus(BaseModel):
28
- """
29
- Current operational status of the adapter.
30
-
31
- This model tracks the adapter's connection state, session information,
32
- and health metrics in a type-safe manner.
33
- """
34
-
35
- model_config = ConfigDict(str_strip_whitespace=True, validate_assignment=True, extra="forbid")
36
-
37
- is_connected: bool = Field(
38
- False, description="Whether the adapter is currently connected to UnrealOn services."
39
- )
40
- session_id: Optional[str] = Field(None, description="Current session ID if connected.")
41
- last_error: Optional[str] = Field(None, description="Last error message encountered.")
42
- connection_attempts: int = Field(0, description="Number of connection attempts made.")
43
-
44
-
45
- class CommandMetadata(BaseModel):
46
- """
47
- Metadata for parser commands with strict type validation.
48
-
49
- Replaces any Dict[str, Any] usage with properly typed fields.
50
- """
51
-
52
- model_config = ConfigDict(str_strip_whitespace=True, validate_assignment=True, extra="forbid")
53
-
54
- command_id: str = Field(..., description="Unique command identifier")
55
- timestamp: str = Field(..., description="ISO 8601 timestamp")
56
- source: str = Field(..., description="Command source identifier")
57
- priority: int = Field(default=0, description="Command priority level")
58
- retry_count: int = Field(default=0, description="Number of retry attempts")
59
-
60
-
61
- class ErrorDetails(BaseModel):
62
- """
63
- Structured error information replacing Dict[str, Any] patterns.
64
- """
65
-
66
- model_config = ConfigDict(str_strip_whitespace=True, validate_assignment=True, extra="forbid")
67
-
68
- error_code: str = Field(..., description="Error classification code")
69
- message: str = Field(..., description="Human-readable error message")
70
- context: Optional[str] = Field(None, description="Additional error context")
71
- is_recoverable: bool = Field(True, description="Whether error is recoverable")
72
- suggested_action: Optional[str] = Field(None, description="Suggested recovery action")
73
-
74
-
75
- class HealthCheckResult(BaseModel):
76
- """
77
- Health check response model with strict typing.
78
- """
79
-
80
- model_config = ConfigDict(str_strip_whitespace=True, validate_assignment=True, extra="forbid")
81
-
82
- status: str = Field(..., description="Health status: 'healthy', 'degraded', or 'unhealthy'")
83
- timestamp: str = Field(..., description="ISO 8601 timestamp of check")
84
- response_time_ms: float = Field(..., description="Response time in milliseconds")
85
- services: List[str] = Field(default_factory=list, description="List of healthy services")
86
- errors: List[ErrorDetails] = Field(default_factory=list, description="Any detected errors")
87
-
88
-
89
- class WebSocketEventBase(BaseModel):
90
- """
91
- Base model for all WebSocket events with strict validation.
92
- """
93
-
94
- model_config = ConfigDict(str_strip_whitespace=True, validate_assignment=True, extra="forbid")
95
-
96
- event_type: str = Field(..., description="Type of WebSocket event")
97
- timestamp: str = Field(..., description="ISO 8601 timestamp")
98
- session_id: Optional[str] = Field(None, description="Associated session ID")
99
- metadata: Optional[CommandMetadata] = Field(None, description="Event metadata")
100
-
101
-
102
- class ConnectionHealthStatus(BaseModel):
103
- """
104
- Connection health status model with strict validation.
105
- """
106
-
107
- model_config = ConfigDict(str_strip_whitespace=True, validate_assignment=True, extra="forbid")
108
-
109
- is_healthy: bool = Field(..., description="Overall health status")
110
- connection_quality: float = Field(..., ge=0.0, le=1.0, description="Connection quality (0-1)")
111
- latency_ms: float = Field(..., ge=0.0, description="Connection latency in milliseconds")
112
- uptime_seconds: float = Field(..., ge=0.0, description="Connection uptime in seconds")
113
- last_heartbeat: str = Field(..., description="ISO 8601 timestamp of last heartbeat")
114
-
115
-
116
- class ComponentStatus(BaseModel):
117
- """
118
- Individual component status with strict typing.
119
- """
120
-
121
- model_config = ConfigDict(str_strip_whitespace=True, validate_assignment=True, extra="forbid")
122
-
123
- component_name: str = Field(..., description="Name of the component")
124
- status: str = Field(..., description="Status: 'active', 'inactive', 'error', 'degraded'")
125
- last_update: str = Field(..., description="ISO 8601 timestamp of last status update")
126
- error_details: Optional[ErrorDetails] = Field(
127
- None, description="Error information if status is 'error'"
128
- )
129
- metrics: Optional[Dict[str, Union[int, float, str]]] = Field(
130
- None, description="Component-specific metrics"
131
- )
132
-
133
-
134
- # Migration aliases - Use DTO models instead of duplicating here
135
- # These provide backward compatibility while encouraging DTO usage
136
-
137
- # Alias to DTO model for new code
138
- ConnectionHealthStatusDTO = DTOConnectionHealthStatus
139
- ComponentStatusDTO = DTOComponentStatus
140
-
141
- # Note: For new development, import directly from unrealon_sdk.src.dto.health
142
- # This ensures proper separation of concerns and avoids model duplication
@@ -1,68 +0,0 @@
1
- """
2
- Core type definitions for UnrealOn SDK v1.0
3
-
4
- Contains basic types and enums used throughout the SDK.
5
- For API-specific types, use auto-generated models from clients.
6
- """
7
-
8
- from typing import Optional
9
- from datetime import datetime
10
- from dataclasses import dataclass
11
-
12
- from unrealon_sdk.src.core.metadata import SDKMetadata
13
-
14
-
15
- @dataclass
16
- class ConnectionState:
17
- """
18
- Tracks the connection state of the SDK.
19
-
20
- This is for internal SDK state management only.
21
- For API communication, use auto-generated models.
22
- """
23
-
24
- connected: bool = False
25
- connecting: bool = False
26
- last_connected: Optional[datetime] = None
27
- last_disconnected: Optional[datetime] = None
28
- reconnect_count: int = 0
29
- error: Optional[str] = None
30
- session_id: Optional[str] = None
31
- metadata: Optional[SDKMetadata] = None
32
-
33
- def reset(self) -> None:
34
- """Reset connection state to initial values."""
35
- self.connected = False
36
- self.connecting = False
37
- self.reconnect_count = 0
38
- self.error = None
39
- self.session_id = None
40
- self.metadata = None
41
-
42
- def mark_connected(self, session_id: Optional[str] = None) -> None:
43
- """Mark as connected."""
44
- self.connected = True
45
- self.connecting = False
46
- self.last_connected = datetime.utcnow()
47
- self.error = None
48
- if session_id:
49
- self.session_id = session_id
50
-
51
- def mark_disconnected(self, error: Optional[str] = None) -> None:
52
- """Mark as disconnected."""
53
- self.connected = False
54
- self.connecting = False
55
- self.last_disconnected = datetime.utcnow()
56
- if error:
57
- self.error = error
58
-
59
- def mark_connecting(self) -> None:
60
- """Mark as connecting."""
61
- self.connecting = True
62
- self.error = None
63
-
64
- def mark_reconnecting(self) -> None:
65
- """Mark as reconnecting."""
66
- self.reconnect_count += 1
67
- self.connecting = True
68
- self.connected = False
@@ -1,268 +0,0 @@
1
- """
2
- UnrealOn SDK Data Transfer Objects (DTOs)
3
-
4
- Custom Pydantic models for type-safe data transfer within the SDK.
5
- These models complement auto-generated client models with SDK-specific functionality.
6
-
7
- Architecture:
8
- - /clients/ - Auto-generated models (DO NOT EDIT)
9
- - /core/models/ - Core SDK models (base functionality)
10
- - /dto/ - Custom DTO models (SDK-specific data structures)
11
-
12
- All models follow CRITICAL_REQUIREMENTS.md:
13
- - 100% Pydantic v2 with strict validation
14
- - No Dict[str, Any] usage - type-safe models only
15
- - Full type annotations for all fields
16
- - Python 3.9+ compatibility (no X | Y syntax)
17
- """
18
-
19
- # Event-related DTOs
20
- from .events import (
21
- EventMetadata,
22
- EventSubscriptionFilter,
23
- EventDeliveryResult,
24
- EventStatistics,
25
- )
26
-
27
- # WebSocket connection DTOs
28
- from .websocket import (
29
- WebSocketConnectionState,
30
- )
31
-
32
- # Health and monitoring DTOs
33
- from .health import (
34
- ComponentStatus,
35
- HealthCheckType,
36
- AlertSeverity,
37
- HealthCheckFrequency,
38
- ConnectionHealthStatus,
39
- ComponentHealth,
40
- HealthCheckConfig,
41
- HealthAlert,
42
- SystemHealthSummary,
43
- HealthCheckResult,
44
- HealthTrend,
45
- )
46
-
47
- # Authentication DTOs
48
- from .authentication import (
49
- AuthenticationStatus,
50
- SecurityEventType,
51
- AuthenticationContext,
52
- SecurityEvent,
53
- RateLimitConfig,
54
- )
55
-
56
- # Logging DTOs (development logging)
57
- from .logging import (
58
- LogDestination,
59
- SDKEventType,
60
- SDKSeverity,
61
- SDKContext,
62
- SDKDevelopmentEvent,
63
- )
64
-
65
- # Structured Logging DTOs (enterprise logging service)
66
- from .structured_logging import (
67
- LogBuffer,
68
- )
69
-
70
- # Performance Monitoring DTOs
71
- from .performance import (
72
- MetricType,
73
- AlertSeverity,
74
- MetricUnit,
75
- MetricValue,
76
- MetricThreshold,
77
- PerformanceMetric,
78
- PerformanceAlert,
79
- PerformanceReport,
80
- )
81
-
82
- # Cache Management DTOs
83
- from .cache import (
84
- CachePolicy,
85
- CacheLevel,
86
- CacheEventType,
87
- CacheEntry,
88
- CacheStatistics,
89
- CacheConfig,
90
- CacheOperation,
91
- CacheMetrics,
92
- )
93
-
94
- # Rate Limiting DTOs
95
- from .rate_limiting import (
96
- RateLimitStrategy,
97
- BackoffStrategy,
98
- RateLimitScope,
99
- RateLimitStatus,
100
- RateLimitEventType,
101
- RateLimitConfig,
102
- RateLimitQuota,
103
- RateLimitRequest,
104
- RateLimitStatistics,
105
- BackoffState,
106
- )
107
-
108
- # Concurrency & Threading DTOs
109
- from .concurrency import (
110
- ThreadPoolStrategy,
111
- LoadBalancingStrategy,
112
- TaskPriority,
113
- TaskStatus,
114
- ResourceType,
115
- ResourceStatus,
116
- ConcurrencyEventType,
117
- ThreadPoolConfig,
118
- ThreadInfo,
119
- Task,
120
- ResourcePool,
121
- ConcurrencyMetrics,
122
- LoadBalancingDecision,
123
- DeadlockDetection,
124
- )
125
-
126
- # Task Scheduling DTOs
127
- from .task_scheduling import (
128
- ScheduleType,
129
- TaskSchedulerStrategy,
130
- ScheduleInfo,
131
- TaskDependency,
132
- TaskProgress,
133
- TaskSchedulerConfig,
134
- )
135
-
136
- # Resource Pooling DTOs
137
- from .resource_pooling import (
138
- ResourceLifecycleState,
139
- PoolScalingStrategy,
140
- ResourceMetadata,
141
- PoolConfig,
142
- )
143
-
144
- # Load Balancing DTOs
145
- from .load_balancing import (
146
- LoadBalancingAlgorithm,
147
- NodeHealthStatus,
148
- TrafficDirection,
149
- FailoverStrategy,
150
- CircuitBreakerState,
151
- LoadBalancerNode,
152
- LoadBalancingRule,
153
- LoadBalancingDecisionRequest,
154
- LoadBalancingDecisionResult,
155
- LoadBalancerStatistics,
156
- HealthCheckConfig,
157
- LoadBalancingSession,
158
- )
159
-
160
- # Common utility DTOs
161
- # from .common import (
162
- # # Will be added as needed
163
- # )
164
-
165
- __all__ = [
166
- # Events
167
- "EventMetadata",
168
- "EventSubscriptionFilter",
169
- "EventDeliveryResult",
170
- "EventStatistics",
171
- # WebSocket
172
- "WebSocketConnectionState",
173
- # Health
174
- "ComponentStatus",
175
- "HealthCheckType",
176
- "AlertSeverity",
177
- "HealthCheckFrequency",
178
- "ConnectionHealthStatus",
179
- "ComponentHealth",
180
- "HealthCheckConfig",
181
- "HealthAlert",
182
- "SystemHealthSummary",
183
- "HealthCheckResult",
184
- "HealthTrend",
185
- # Authentication
186
- "AuthenticationStatus",
187
- "SecurityEventType",
188
- "AuthenticationContext",
189
- "SecurityEvent",
190
- "RateLimitConfig",
191
- # Logging (development)
192
- "LogDestination",
193
- "SDKEventType",
194
- "SDKSeverity",
195
- "SDKContext",
196
- "SDKDevelopmentEvent",
197
- # Structured Logging (enterprise service)
198
- "LogBuffer",
199
- # Performance Monitoring
200
- "MetricType",
201
- "AlertSeverity",
202
- "MetricUnit",
203
- "MetricValue",
204
- "MetricThreshold",
205
- "PerformanceMetric",
206
- "PerformanceAlert",
207
- "PerformanceReport",
208
- # Cache Management
209
- "CachePolicy",
210
- "CacheLevel",
211
- "CacheEventType",
212
- "CacheEntry",
213
- "CacheStatistics",
214
- "CacheConfig",
215
- "CacheOperation",
216
- "CacheMetrics",
217
- # Rate Limiting
218
- "RateLimitStrategy",
219
- "BackoffStrategy",
220
- "RateLimitScope",
221
- "RateLimitStatus",
222
- "RateLimitEventType",
223
- "RateLimitConfig",
224
- "RateLimitQuota",
225
- "RateLimitRequest",
226
- "RateLimitStatistics",
227
- "BackoffState",
228
- # Concurrency & Threading
229
- "ThreadPoolStrategy",
230
- "LoadBalancingStrategy",
231
- "TaskPriority",
232
- "TaskStatus",
233
- "ResourceType",
234
- "ResourceStatus",
235
- "ConcurrencyEventType",
236
- "ThreadPoolConfig",
237
- "ThreadInfo",
238
- "Task",
239
- "ResourcePool",
240
- "ConcurrencyMetrics",
241
- "LoadBalancingDecision",
242
- "DeadlockDetection",
243
- # Task Scheduling
244
- "ScheduleType",
245
- "TaskSchedulerStrategy",
246
- "ScheduleInfo",
247
- "TaskDependency",
248
- "TaskProgress",
249
- "TaskSchedulerConfig",
250
- # Resource Pooling
251
- "ResourceLifecycleState",
252
- "PoolScalingStrategy",
253
- "ResourceMetadata",
254
- "PoolConfig",
255
- # Load Balancing
256
- "LoadBalancingAlgorithm",
257
- "NodeHealthStatus",
258
- "TrafficDirection",
259
- "FailoverStrategy",
260
- "CircuitBreakerState",
261
- "LoadBalancerNode",
262
- "LoadBalancingRule",
263
- "LoadBalancingDecisionRequest",
264
- "LoadBalancingDecisionResult",
265
- "LoadBalancerStatistics",
266
- "HealthCheckConfig",
267
- "LoadBalancingSession",
268
- ]