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,473 +0,0 @@
1
- """
2
- LLM DTOs - Statistics Models
3
- Data models for usage statistics and analytics
4
- """
5
-
6
- from datetime import datetime
7
- from typing import Any, Dict, List, Optional
8
-
9
- from pydantic import BaseModel, ConfigDict, Field
10
-
11
- from .enums import ProcessingStage
12
-
13
-
14
- class ModuleUsage(BaseModel):
15
- """Usage statistics for individual module"""
16
-
17
- model_config = ConfigDict(
18
- title="Module Usage",
19
- description="Usage statistics for individual LLM module",
20
- validate_assignment=True,
21
- extra="forbid"
22
- )
23
-
24
- module_name: str = Field(..., description="Module name")
25
- total_requests: int = Field(
26
- 0,
27
- ge=0,
28
- description="Total requests processed"
29
- )
30
- successful_requests: int = Field(
31
- 0,
32
- ge=0,
33
- description="Successful requests"
34
- )
35
- failed_requests: int = Field(
36
- 0,
37
- ge=0,
38
- description="Failed requests"
39
- )
40
-
41
- # Performance metrics
42
- average_response_time: float = Field(
43
- 0.0,
44
- ge=0,
45
- description="Average response time"
46
- )
47
- total_processing_time: float = Field(
48
- 0.0,
49
- ge=0,
50
- description="Total processing time"
51
- )
52
-
53
- # Cost tracking
54
- total_cost_usd: float = Field(
55
- 0.0,
56
- ge=0,
57
- description="Total cost incurred"
58
- )
59
- tokens_consumed: int = Field(
60
- 0,
61
- ge=0,
62
- description="Total tokens used"
63
- )
64
-
65
- # Cache performance
66
- cache_hits: int = Field(0, ge=0, description="Cache hits")
67
- cache_misses: int = Field(0, ge=0, description="Cache misses")
68
-
69
- @property
70
- def success_rate(self) -> float:
71
- """Calculate success rate"""
72
- if self.total_requests == 0:
73
- return 0.0
74
- return self.successful_requests / self.total_requests
75
-
76
- @property
77
- def cache_hit_rate(self) -> float:
78
- """Calculate cache hit rate"""
79
- total_cache_operations = self.cache_hits + self.cache_misses
80
- if total_cache_operations == 0:
81
- return 0.0
82
- return self.cache_hits / total_cache_operations
83
-
84
-
85
- class UsageStats(BaseModel):
86
- """Comprehensive usage statistics"""
87
-
88
- model_config = ConfigDict(
89
- title="Usage Statistics",
90
- description="Comprehensive usage statistics across all modules",
91
- validate_assignment=True,
92
- extra="forbid"
93
- )
94
-
95
- # Time period
96
- period_start: datetime = Field(..., description="Statistics period start")
97
- period_end: datetime = Field(..., description="Statistics period end")
98
-
99
- # Overall metrics
100
- total_requests: int = Field(
101
- 0,
102
- ge=0,
103
- description="Total requests across all modules"
104
- )
105
- total_cost_usd: float = Field(
106
- 0.0,
107
- ge=0,
108
- description="Total cost incurred"
109
- )
110
- total_tokens_used: int = Field(
111
- 0,
112
- ge=0,
113
- description="Total tokens consumed"
114
- )
115
-
116
- # Module breakdown
117
- module_usage: List[ModuleUsage] = Field(
118
- ...,
119
- description="Usage by module"
120
- )
121
-
122
- # Performance metrics
123
- average_response_time: float = Field(
124
- 0.0,
125
- ge=0,
126
- description="Overall average response time"
127
- )
128
- cache_hit_rate: float = Field(
129
- 0.0,
130
- ge=0,
131
- le=1,
132
- description="Overall cache hit rate"
133
- )
134
- success_rate: float = Field(
135
- 0.0,
136
- ge=0,
137
- le=1,
138
- description="Overall success rate"
139
- )
140
-
141
- # Cost analysis
142
- cost_by_model: Dict[str, float] = Field(
143
- default_factory=dict,
144
- description="Cost breakdown by model"
145
- )
146
- cost_by_operation: Dict[str, float] = Field(
147
- default_factory=dict,
148
- description="Cost breakdown by operation"
149
- )
150
-
151
- # Recommendations
152
- optimization_recommendations: List[str] = Field(
153
- default_factory=list,
154
- description="Usage optimization suggestions"
155
- )
156
- cost_saving_opportunities: List[str] = Field(
157
- default_factory=list,
158
- description="Cost reduction suggestions"
159
- )
160
-
161
-
162
- class StageResult(BaseModel):
163
- """Result of individual processing stage"""
164
-
165
- model_config = ConfigDict(
166
- title="Stage Result",
167
- description="Result of individual processing pipeline stage",
168
- validate_assignment=True,
169
- extra="forbid"
170
- )
171
-
172
- stage: ProcessingStage = Field(..., description="Processing stage")
173
- success: bool = Field(..., description="Stage completion status")
174
- processing_time_seconds: float = Field(
175
- ...,
176
- ge=0,
177
- description="Stage processing time"
178
- )
179
-
180
- # Stage-specific data
181
- stage_data: Dict[str, Any] = Field(
182
- default_factory=dict,
183
- description="Stage-specific results"
184
- )
185
- error_message: Optional[str] = Field(
186
- None,
187
- description="Error message if failed"
188
- )
189
-
190
- # Quality metrics
191
- confidence_score: float = Field(
192
- ...,
193
- ge=0,
194
- le=1,
195
- description="Stage confidence"
196
- )
197
- quality_metrics: Dict[str, float] = Field(
198
- default_factory=dict,
199
- description="Quality measurements"
200
- )
201
-
202
- # Performance metrics
203
- tokens_used: Optional[int] = Field(
204
- None,
205
- ge=0,
206
- description="Tokens consumed in this stage"
207
- )
208
- cost_usd: Optional[float] = Field(
209
- None,
210
- ge=0,
211
- description="Cost for this stage"
212
- )
213
- cache_utilized: bool = Field(
214
- False,
215
- description="Whether cache was used"
216
- )
217
-
218
-
219
- class CompleteProcessingResult(BaseModel):
220
- """Result of complete processing pipeline"""
221
-
222
- model_config = ConfigDict(
223
- title="Complete Processing Result",
224
- description="Complete result of processing pipeline with all stages",
225
- validate_assignment=True,
226
- extra="forbid"
227
- )
228
-
229
- # Input metadata
230
- input_html_size: int = Field(
231
- ...,
232
- ge=0,
233
- description="Input HTML size"
234
- )
235
- target_language: str = Field(..., description="Target language used")
236
- processing_config: Dict[str, Any] = Field(
237
- ...,
238
- description="Processing configuration"
239
- )
240
-
241
- # Processing results
242
- stage_results: List[StageResult] = Field(
243
- ...,
244
- description="Results from each stage"
245
- )
246
- overall_success: bool = Field(
247
- ...,
248
- description="Overall processing success"
249
- )
250
- total_processing_time: float = Field(
251
- ...,
252
- ge=0,
253
- description="Total processing time"
254
- )
255
-
256
- # Generated outputs (references to actual result objects)
257
- html_analysis_result_id: Optional[str] = Field(
258
- None,
259
- description="ID of HTML analysis result"
260
- )
261
- translated_data_id: Optional[str] = Field(
262
- None,
263
- description="ID of translated data result"
264
- )
265
- pydantic_schema_id: Optional[str] = Field(
266
- None,
267
- description="ID of generated Pydantic schema"
268
- )
269
- typescript_schema_id: Optional[str] = Field(
270
- None,
271
- description="ID of generated TypeScript schema"
272
- )
273
-
274
- # Quality and performance
275
- overall_confidence: float = Field(
276
- ...,
277
- ge=0,
278
- le=1,
279
- description="Overall confidence score"
280
- )
281
- cost_breakdown: Dict[str, float] = Field(
282
- default_factory=dict,
283
- description="Cost by operation"
284
- )
285
- total_cost_usd: float = Field(
286
- ...,
287
- ge=0,
288
- description="Total processing cost"
289
- )
290
-
291
- # Performance indicators
292
- cache_efficiency: float = Field(
293
- ...,
294
- ge=0,
295
- le=1,
296
- description="Cache utilization efficiency"
297
- )
298
- token_efficiency: float = Field(
299
- ...,
300
- ge=0,
301
- description="Token usage efficiency ratio"
302
- )
303
-
304
- # Recommendations
305
- quality_assessment: str = Field(
306
- ...,
307
- description="Overall quality assessment"
308
- )
309
- production_readiness: bool = Field(
310
- ...,
311
- description="Whether result is production ready"
312
- )
313
- improvement_suggestions: List[str] = Field(
314
- default_factory=list,
315
- description="Suggestions for improvement"
316
- )
317
-
318
-
319
- class PerformanceMetrics(BaseModel):
320
- """Performance metrics collection"""
321
-
322
- model_config = ConfigDict(
323
- title="Performance Metrics",
324
- description="Comprehensive performance metrics for LLM operations",
325
- validate_assignment=True,
326
- extra="forbid"
327
- )
328
-
329
- # Time metrics
330
- operation_name: str = Field(..., description="Operation being measured")
331
- start_time: datetime = Field(..., description="Operation start time")
332
- end_time: datetime = Field(..., description="Operation end time")
333
- duration_seconds: float = Field(
334
- ...,
335
- ge=0,
336
- description="Operation duration"
337
- )
338
-
339
- # Resource metrics
340
- memory_usage_mb: Optional[float] = Field(
341
- None,
342
- ge=0,
343
- description="Memory usage during operation"
344
- )
345
- cpu_usage_percent: Optional[float] = Field(
346
- None,
347
- ge=0,
348
- le=100,
349
- description="CPU usage percentage"
350
- )
351
-
352
- # LLM-specific metrics
353
- tokens_per_second: Optional[float] = Field(
354
- None,
355
- ge=0,
356
- description="Token processing rate"
357
- )
358
- api_latency_ms: Optional[float] = Field(
359
- None,
360
- ge=0,
361
- description="API response latency"
362
- )
363
-
364
- # Quality metrics
365
- accuracy_score: Optional[float] = Field(
366
- None,
367
- ge=0,
368
- le=1,
369
- description="Operation accuracy score"
370
- )
371
- confidence_score: Optional[float] = Field(
372
- None,
373
- ge=0,
374
- le=1,
375
- description="Operation confidence score"
376
- )
377
-
378
- # Context information
379
- model_used: Optional[str] = Field(
380
- None,
381
- description="LLM model used"
382
- )
383
- input_size_bytes: Optional[int] = Field(
384
- None,
385
- ge=0,
386
- description="Input data size"
387
- )
388
- output_size_bytes: Optional[int] = Field(
389
- None,
390
- ge=0,
391
- description="Output data size"
392
- )
393
-
394
- # Error information
395
- errors_encountered: List[str] = Field(
396
- default_factory=list,
397
- description="Errors that occurred during operation"
398
- )
399
- warnings_generated: List[str] = Field(
400
- default_factory=list,
401
- description="Warnings generated during operation"
402
- )
403
-
404
-
405
- class BenchmarkResult(BaseModel):
406
- """Benchmark test result"""
407
-
408
- model_config = ConfigDict(
409
- title="Benchmark Result",
410
- description="Result of performance benchmark test",
411
- validate_assignment=True,
412
- extra="forbid"
413
- )
414
-
415
- # Test identification
416
- test_name: str = Field(..., description="Benchmark test name")
417
- test_category: str = Field(..., description="Test category")
418
- test_version: str = Field(..., description="Test version")
419
-
420
- # Performance results
421
- execution_time_seconds: float = Field(
422
- ...,
423
- ge=0,
424
- description="Test execution time"
425
- )
426
- throughput_ops_per_second: Optional[float] = Field(
427
- None,
428
- ge=0,
429
- description="Operations per second"
430
- )
431
-
432
- # Resource usage
433
- peak_memory_mb: float = Field(
434
- ...,
435
- ge=0,
436
- description="Peak memory usage"
437
- )
438
- average_cpu_percent: float = Field(
439
- ...,
440
- ge=0,
441
- le=100,
442
- description="Average CPU usage"
443
- )
444
-
445
- # Quality metrics
446
- accuracy_achieved: Optional[float] = Field(
447
- None,
448
- ge=0,
449
- le=1,
450
- description="Accuracy achieved in test"
451
- )
452
- baseline_comparison: Optional[float] = Field(
453
- None,
454
- description="Performance vs baseline (1.0 = same, >1.0 = better)"
455
- )
456
-
457
- # Test environment
458
- test_environment: Dict[str, Any] = Field(
459
- default_factory=dict,
460
- description="Test environment details"
461
- )
462
-
463
- # Results analysis
464
- passed: bool = Field(..., description="Whether test passed criteria")
465
- performance_grade: str = Field(
466
- ...,
467
- pattern=r"^[A-F]$",
468
- description="Performance grade A-F"
469
- )
470
- recommendations: List[str] = Field(
471
- default_factory=list,
472
- description="Performance improvement recommendations"
473
- )