unrealon 1.0.9__py3-none-any.whl → 1.1.0__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.0.dist-info/METADATA +164 -0
  3. unrealon-1.1.0.dist-info/RECORD +82 -0
  4. {unrealon-1.0.9.dist-info → unrealon-1.1.0.dist-info}/WHEEL +1 -1
  5. unrealon-1.1.0.dist-info/entry_points.txt +9 -0
  6. {unrealon-1.0.9.dist-info → unrealon-1.1.0.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,462 +0,0 @@
1
- """
2
- LLM DTOs - Type Conversion Models
3
- Data models for schema generation and type conversion
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 DataType, SchemaFormat
12
-
13
-
14
- class FieldAnalysis(BaseModel):
15
- """Analysis of individual JSON field"""
16
-
17
- model_config = ConfigDict(
18
- title="Field Analysis",
19
- description="Detailed analysis of individual data field",
20
- validate_assignment=True,
21
- extra="forbid"
22
- )
23
-
24
- field_name: str = Field(..., description="Field name")
25
- detected_type: DataType = Field(..., description="Detected data type")
26
- type_confidence: float = Field(
27
- ...,
28
- ge=0,
29
- le=1,
30
- description="Type detection confidence"
31
- )
32
-
33
- # Statistics
34
- sample_values: List[Any] = Field(
35
- default_factory=list,
36
- description="Sample values"
37
- )
38
- null_count: int = Field(0, ge=0, description="Number of null values")
39
- unique_values: int = Field(
40
- ...,
41
- ge=0,
42
- description="Number of unique values"
43
- )
44
-
45
- # Patterns
46
- value_patterns: List[str] = Field(
47
- default_factory=list,
48
- description="Detected value patterns"
49
- )
50
- constraints: Dict[str, Any] = Field(
51
- default_factory=dict,
52
- description="Validation constraints"
53
- )
54
-
55
- # Metadata
56
- is_required: bool = Field(
57
- True,
58
- description="Whether field is required"
59
- )
60
- default_value: Optional[Any] = Field(
61
- None,
62
- description="Default value if field is optional"
63
- )
64
- description: Optional[str] = Field(
65
- None,
66
- description="Field description"
67
- )
68
-
69
-
70
- class StructureAnalysis(BaseModel):
71
- """JSON structure analysis result"""
72
-
73
- model_config = ConfigDict(
74
- title="Structure Analysis",
75
- description="Complete analysis of JSON data structure",
76
- validate_assignment=True,
77
- extra="forbid"
78
- )
79
-
80
- # Structure metrics
81
- total_fields: int = Field(
82
- ...,
83
- ge=0,
84
- description="Total number of fields"
85
- )
86
- nested_levels: int = Field(
87
- ...,
88
- ge=0,
89
- description="Maximum nesting depth"
90
- )
91
- array_fields: int = Field(
92
- ...,
93
- ge=0,
94
- description="Number of array fields"
95
- )
96
- object_fields: int = Field(
97
- ...,
98
- ge=0,
99
- description="Number of object fields"
100
- )
101
-
102
- # Field analysis
103
- field_analyses: List[FieldAnalysis] = Field(
104
- ...,
105
- description="Individual field analyses"
106
- )
107
- type_distribution: Dict[DataType, int] = Field(
108
- ...,
109
- description="Distribution of data types"
110
- )
111
-
112
- # Schema generation
113
- inferred_schema: Dict[str, Any] = Field(
114
- ...,
115
- description="Generated JSON schema"
116
- )
117
- validation_rules: List[str] = Field(
118
- default_factory=list,
119
- description="Suggested validation rules"
120
- )
121
-
122
- # Recommendations
123
- optimization_suggestions: List[str] = Field(
124
- default_factory=list,
125
- description="Structure optimization suggestions"
126
- )
127
- normalization_needed: bool = Field(
128
- False,
129
- description="Whether normalization is recommended"
130
- )
131
-
132
-
133
- class PydanticSchema(BaseModel):
134
- """Generated Pydantic schema"""
135
-
136
- model_config = ConfigDict(
137
- title="Pydantic Schema",
138
- description="Generated Pydantic model with complete code",
139
- validate_assignment=True,
140
- extra="forbid"
141
- )
142
-
143
- class_name: str = Field(
144
- ...,
145
- min_length=1,
146
- description="Generated class name"
147
- )
148
- python_code: str = Field(
149
- ...,
150
- min_length=1,
151
- description="Complete Python class code"
152
- )
153
- imports: List[str] = Field(
154
- default_factory=list,
155
- description="Required imports"
156
- )
157
-
158
- # Validation
159
- validation_rules: List[str] = Field(
160
- default_factory=list,
161
- description="Validation rules applied"
162
- )
163
- field_descriptions: Dict[str, str] = Field(
164
- default_factory=dict,
165
- description="Field documentation"
166
- )
167
-
168
- # Metadata
169
- generated_at: datetime = Field(
170
- default_factory=datetime.now,
171
- description="Generation timestamp"
172
- )
173
- schema_version: str = Field("2.0", description="Pydantic version used")
174
-
175
- # Quality metrics
176
- complexity_score: Optional[float] = Field(
177
- None,
178
- ge=0,
179
- le=1,
180
- description="Schema complexity score"
181
- )
182
- validation_coverage: Optional[float] = Field(
183
- None,
184
- ge=0,
185
- le=1,
186
- description="Validation rule coverage"
187
- )
188
-
189
-
190
- class TypeScriptSchema(BaseModel):
191
- """Generated TypeScript schema"""
192
-
193
- model_config = ConfigDict(
194
- title="TypeScript Schema",
195
- description="Generated TypeScript interface with types",
196
- validate_assignment=True,
197
- extra="forbid"
198
- )
199
-
200
- interface_name: str = Field(
201
- ...,
202
- min_length=1,
203
- description="Interface name"
204
- )
205
- typescript_code: str = Field(
206
- ...,
207
- min_length=1,
208
- description="Complete TypeScript interface"
209
- )
210
-
211
- # Additional types
212
- enum_definitions: List[str] = Field(
213
- default_factory=list,
214
- description="Generated enum definitions"
215
- )
216
- utility_types: List[str] = Field(
217
- default_factory=list,
218
- description="Utility type definitions"
219
- )
220
-
221
- # Documentation
222
- field_comments: Dict[str, str] = Field(
223
- default_factory=dict,
224
- description="Field documentation"
225
- )
226
- jsdoc_comments: List[str] = Field(
227
- default_factory=list,
228
- description="JSDoc comments"
229
- )
230
-
231
- # Metadata
232
- generated_at: datetime = Field(
233
- default_factory=datetime.now,
234
- description="Generation timestamp"
235
- )
236
- typescript_version: str = Field(
237
- "5.0",
238
- description="TypeScript version compatibility"
239
- )
240
-
241
-
242
- class SchemaGenerationRequest(BaseModel):
243
- """Request for schema generation"""
244
-
245
- model_config = ConfigDict(
246
- title="Schema Generation Request",
247
- description="Request for generating schemas from data",
248
- validate_assignment=True,
249
- extra="forbid"
250
- )
251
-
252
- data: Dict[str, Any] = Field(
253
- ...,
254
- description="Source data for schema generation"
255
- )
256
- schema_format: SchemaFormat = Field(
257
- ...,
258
- description="Target schema format"
259
- )
260
-
261
- # Generation options
262
- class_name: Optional[str] = Field(
263
- None,
264
- description="Custom class/interface name"
265
- )
266
- namespace: Optional[str] = Field(
267
- None,
268
- description="Namespace for generated code"
269
- )
270
- strict_validation: bool = Field(
271
- True,
272
- description="Generate strict validation rules"
273
- )
274
-
275
- # Documentation options
276
- generate_docs: bool = Field(
277
- True,
278
- description="Generate field documentation"
279
- )
280
- include_examples: bool = Field(
281
- False,
282
- description="Include example values in documentation"
283
- )
284
-
285
- # Additional context
286
- data_context: Optional[str] = Field(
287
- None,
288
- description="Context about the data structure"
289
- )
290
- field_contexts: Optional[Dict[str, str]] = Field(
291
- None,
292
- description="Context for specific fields"
293
- )
294
-
295
-
296
- class SchemaGenerationResponse(BaseModel):
297
- """Response for schema generation"""
298
-
299
- model_config = ConfigDict(
300
- title="Schema Generation Response",
301
- description="Complete schema generation result",
302
- validate_assignment=True,
303
- extra="forbid"
304
- )
305
-
306
- # Generated schemas
307
- pydantic_schema: Optional[PydanticSchema] = Field(
308
- None,
309
- description="Generated Pydantic schema"
310
- )
311
- typescript_schema: Optional[TypeScriptSchema] = Field(
312
- None,
313
- description="Generated TypeScript schema"
314
- )
315
- json_schema: Optional[Dict[str, Any]] = Field(
316
- None,
317
- description="Generated JSON schema"
318
- )
319
-
320
- # Analysis results
321
- structure_analysis: StructureAnalysis = Field(
322
- ...,
323
- description="Structure analysis results"
324
- )
325
-
326
- # Generation metadata
327
- schema_format: SchemaFormat = Field(
328
- ...,
329
- description="Generated schema format"
330
- )
331
- generation_time_seconds: float = Field(
332
- ...,
333
- ge=0,
334
- description="Time taken to generate schema"
335
- )
336
-
337
- # Quality metrics
338
- schema_quality_score: float = Field(
339
- ...,
340
- ge=0,
341
- le=1,
342
- description="Overall schema quality score"
343
- )
344
- validation_completeness: float = Field(
345
- ...,
346
- ge=0,
347
- le=1,
348
- description="Validation rule completeness"
349
- )
350
-
351
- # Cost and performance
352
- tokens_used: int = Field(
353
- ...,
354
- ge=0,
355
- description="Tokens consumed for generation"
356
- )
357
- cost_usd: float = Field(
358
- ...,
359
- ge=0,
360
- description="Generation cost"
361
- )
362
-
363
- # Recommendations
364
- optimization_recommendations: List[str] = Field(
365
- default_factory=list,
366
- description="Schema optimization recommendations"
367
- )
368
- usage_recommendations: List[str] = Field(
369
- default_factory=list,
370
- description="Usage recommendations"
371
- )
372
-
373
-
374
- class ConversionRequest(BaseModel):
375
- """Request for type conversion between formats"""
376
-
377
- model_config = ConfigDict(
378
- title="Conversion Request",
379
- description="Request for converting between schema formats",
380
- validate_assignment=True,
381
- extra="forbid"
382
- )
383
-
384
- source_schema: str = Field(
385
- ...,
386
- description="Source schema code"
387
- )
388
- source_format: SchemaFormat = Field(
389
- ...,
390
- description="Source schema format"
391
- )
392
- target_format: SchemaFormat = Field(
393
- ...,
394
- description="Target schema format"
395
- )
396
-
397
- # Conversion options
398
- preserve_validation: bool = Field(
399
- True,
400
- description="Preserve validation rules during conversion"
401
- )
402
- preserve_documentation: bool = Field(
403
- True,
404
- description="Preserve field documentation"
405
- )
406
- strict_types: bool = Field(
407
- True,
408
- description="Use strict type definitions"
409
- )
410
-
411
-
412
- class ConversionResponse(BaseModel):
413
- """Response for type conversion"""
414
-
415
- model_config = ConfigDict(
416
- title="Conversion Response",
417
- description="Result of schema format conversion",
418
- validate_assignment=True,
419
- extra="forbid"
420
- )
421
-
422
- converted_schema: str = Field(
423
- ...,
424
- description="Converted schema code"
425
- )
426
- target_format: SchemaFormat = Field(
427
- ...,
428
- description="Target format"
429
- )
430
-
431
- # Conversion metadata
432
- conversion_time_seconds: float = Field(
433
- ...,
434
- ge=0,
435
- description="Conversion processing time"
436
- )
437
- features_preserved: List[str] = Field(
438
- ...,
439
- description="Features preserved during conversion"
440
- )
441
- features_lost: List[str] = Field(
442
- default_factory=list,
443
- description="Features lost during conversion"
444
- )
445
-
446
- # Quality metrics
447
- conversion_accuracy: float = Field(
448
- ...,
449
- ge=0,
450
- le=1,
451
- description="Conversion accuracy score"
452
- )
453
-
454
- # Warnings and recommendations
455
- warnings: List[str] = Field(
456
- default_factory=list,
457
- description="Conversion warnings"
458
- )
459
- recommendations: List[str] = Field(
460
- default_factory=list,
461
- description="Usage recommendations for converted schema"
462
- )
File without changes