unrealon 1.0.6__py3-none-any.whl → 1.0.7__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.
- unrealon/sdk_config.py +1 -1
- {unrealon-1.0.6.dist-info → unrealon-1.0.7.dist-info}/METADATA +4 -4
- {unrealon-1.0.6.dist-info → unrealon-1.0.7.dist-info}/RECORD +7 -7
- unrealon_driver/src/config/auto_config.py +4 -4
- unrealon_driver/src/execution/daemon_mode.py +10 -10
- {unrealon-1.0.6.dist-info → unrealon-1.0.7.dist-info}/LICENSE +0 -0
- {unrealon-1.0.6.dist-info → unrealon-1.0.7.dist-info}/WHEEL +0 -0
unrealon/sdk_config.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: unrealon
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.7
|
|
4
4
|
Summary: AI-powered web scraping platform with real-time orchestration
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: Unrealon Team
|
|
@@ -186,7 +186,7 @@ UNREALON_BROWSER_PROFILE_DIR=system/browser_profiles
|
|
|
186
186
|
# API Keys
|
|
187
187
|
UNREALON_OPENROUTER_API_KEY=sk-or-v1-your-openrouter-key
|
|
188
188
|
UNREALON_SERVER_URL=wss://api.unrealon.com
|
|
189
|
-
|
|
189
|
+
UNREALON_API_KEY=up_dev_your-api-key
|
|
190
190
|
|
|
191
191
|
# Runtime Limits
|
|
192
192
|
UNREALON_LLM_DAILY_LIMIT=1.0
|
|
@@ -247,7 +247,7 @@ class ParserSettings(BaseSettings):
|
|
|
247
247
|
# API Keys
|
|
248
248
|
OPENROUTER_API_KEY: str
|
|
249
249
|
SERVER_URL: str
|
|
250
|
-
|
|
250
|
+
API_KEY: str
|
|
251
251
|
|
|
252
252
|
# Runtime Limits
|
|
253
253
|
LLM_DAILY_LIMIT: float = Field(default=1.0)
|
|
@@ -317,7 +317,7 @@ class CustomAutoConfig(AutoConfig):
|
|
|
317
317
|
"""Override daemon config with custom settings."""
|
|
318
318
|
return DaemonModeConfig(
|
|
319
319
|
server_url=parser_settings.SERVER_URL,
|
|
320
|
-
api_key=parser_settings.
|
|
320
|
+
api_key=parser_settings.API_KEY,
|
|
321
321
|
auto_reconnect=True,
|
|
322
322
|
connection_timeout=30,
|
|
323
323
|
heartbeat_interval=30,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
unrealon/__init__.py,sha256=IWhHl4jLgYR5HjEtHR1_-BF3tUkXJpP67IqqekdsVxk,494
|
|
2
|
-
unrealon/sdk_config.py,sha256=
|
|
2
|
+
unrealon/sdk_config.py,sha256=V9QDoWS74obOJv4PotCHbXSWuI78NeIujzM8Lx_j-pc,2118
|
|
3
3
|
unrealon_browser/README.md,sha256=9pP6RrfMGHtdT5uDLFAUB1e4nNGzZudXViEo1940gKw,396
|
|
4
4
|
unrealon_browser/__init__.py,sha256=pLHhYYhYJmzrED1Chi3uQAETVFxqQrikwEAwO2TTZ70,631
|
|
5
5
|
unrealon_browser/pyproject.toml,sha256=_PTGU6Pwh7antWDqZeA6KU-Vx3Xw4jwTlU_Wgt6t0Cg,4945
|
|
@@ -32,7 +32,7 @@ unrealon_driver/src/cli/__init__.py,sha256=6AE6FJoXxhr5bMGn9PVuavryEsvcjMiGFbQdn
|
|
|
32
32
|
unrealon_driver/src/cli/main.py,sha256=wX0TxXyGG_X1La97zrELOujCI5i7mHnFeSP7d-r9FP8,1725
|
|
33
33
|
unrealon_driver/src/cli/simple.py,sha256=rx8t8FSviddFYNdI18DJB6G3FLKndO_X56z69Iy2Z3Q,20087
|
|
34
34
|
unrealon_driver/src/config/__init__.py,sha256=w-oB-HFHxscdxg9Ayw1t9jkRESDX9pTV5ggDrgt_Mrc,204
|
|
35
|
-
unrealon_driver/src/config/auto_config.py,sha256=
|
|
35
|
+
unrealon_driver/src/config/auto_config.py,sha256=e_7WPfFO8tl3JE-HPSzTfNVGJVEGKl6wuXO3z7qLeUk,16999
|
|
36
36
|
unrealon_driver/src/core/__init__.py,sha256=dMsabllFmGA9PojjS9Y5DzrTzJgKA1BxvayAhl8qi3M,320
|
|
37
37
|
unrealon_driver/src/core/exceptions.py,sha256=k5lqYqD100Q-d7Jyy1-dEm6gGnv-AxHFhpCaZywfxvo,8225
|
|
38
38
|
unrealon_driver/src/core/parser.py,sha256=Wg4qSeCRsZSSLti-vCiYksnGXXR8ez0ZFXJc0PDiYnM,20950
|
|
@@ -43,7 +43,7 @@ unrealon_driver/src/dto/events.py,sha256=w69HZOKiKvopNpfMEhijCSZJWMY19f44wkPMnWH
|
|
|
43
43
|
unrealon_driver/src/dto/execution.py,sha256=WMgKKfYiWHLwQ0sict16_QXbIBJGqLzWDma1F7CHYzQ,10583
|
|
44
44
|
unrealon_driver/src/dto/services.py,sha256=BNqk2SQCRRnrIDsZJ1MbIniwZR6l3-kzqqRJgoAf3o8,10315
|
|
45
45
|
unrealon_driver/src/execution/__init__.py,sha256=3lkrR6HTZL4SMXToyklQPXF4MelmRKVdoWWlnvPp72w,580
|
|
46
|
-
unrealon_driver/src/execution/daemon_mode.py,sha256=
|
|
46
|
+
unrealon_driver/src/execution/daemon_mode.py,sha256=tgC4e-qAQj0R1_NCWwYtEE66yc_aFliVHSG1zGHeJJU,11022
|
|
47
47
|
unrealon_driver/src/execution/interactive_mode.py,sha256=UbHpF6bMIQPrA-VBP3QIZ1KE6wAygwkVMzHoplevf6I,3245
|
|
48
48
|
unrealon_driver/src/execution/modes.py,sha256=CuEJdcCkZSDpp_o668x9IiqOFZpvCgJ15j6bI75HvrA,1404
|
|
49
49
|
unrealon_driver/src/execution/scheduled_mode.py,sha256=r-f2cUHNMxiBibTeta4c0g92eRhIZmSSvKrKnVDnRGI,7323
|
|
@@ -240,7 +240,7 @@ unrealon_sdk/src/internal/http_client.py,sha256=uU3BdNYj4ZL16y0BpBxOtWLOo-pE-8LW
|
|
|
240
240
|
unrealon_sdk/src/internal/websocket_client.py,sha256=1TteTv_6dUMXS5xTXwld6XB2Q0hcOsycLv9l_KEB8aA,15700
|
|
241
241
|
unrealon_sdk/src/provider.py,sha256=kyKjUjuo6s8hcTld8gIc7aO4SM7ozhsUlIM0EXOyblw,14104
|
|
242
242
|
unrealon_sdk/src/utils.py,sha256=nj8a83a7p_RXA985yRdHQxPr2S4rwKiwp1wD3qj7EEU,5440
|
|
243
|
-
unrealon-1.0.
|
|
244
|
-
unrealon-1.0.
|
|
245
|
-
unrealon-1.0.
|
|
246
|
-
unrealon-1.0.
|
|
243
|
+
unrealon-1.0.7.dist-info/LICENSE,sha256=eEH8mWZW49YMpl4Sh5MtKqkZ8aVTzKQXiNPEnvL14ns,1070
|
|
244
|
+
unrealon-1.0.7.dist-info/METADATA,sha256=0Ge4C8jAuQrfnYPdBpo8BA60yLUhDGfm8b7gIzG87Cc,29061
|
|
245
|
+
unrealon-1.0.7.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
246
|
+
unrealon-1.0.7.dist-info/RECORD,,
|
|
@@ -204,8 +204,8 @@ class AutoConfigBase(BaseModel):
|
|
|
204
204
|
def _create_websocket_config(self) -> WebSocketConfig:
|
|
205
205
|
"""Create WebSocket configuration."""
|
|
206
206
|
return WebSocketConfig(
|
|
207
|
-
server_url=os.getenv("
|
|
208
|
-
api_key=os.getenv("
|
|
207
|
+
server_url=os.getenv("SERVER_URL"),
|
|
208
|
+
api_key=os.getenv("API_KEY"),
|
|
209
209
|
parser_name=self.parser_id,
|
|
210
210
|
auto_reconnect=True,
|
|
211
211
|
max_reconnect_attempts=10 if self.environment == "production" else 5,
|
|
@@ -265,8 +265,8 @@ class AutoConfigBase(BaseModel):
|
|
|
265
265
|
def _create_daemon_config(self) -> DaemonModeConfig:
|
|
266
266
|
"""Create daemon mode configuration."""
|
|
267
267
|
return DaemonModeConfig(
|
|
268
|
-
server_url=os.getenv("
|
|
269
|
-
api_key=os.getenv("
|
|
268
|
+
server_url=os.getenv("SERVER_URL"),
|
|
269
|
+
api_key=os.getenv("API_KEY"),
|
|
270
270
|
auto_reconnect=True,
|
|
271
271
|
connection_timeout=30,
|
|
272
272
|
heartbeat_interval=30,
|
|
@@ -48,12 +48,12 @@ class DaemonMode:
|
|
|
48
48
|
self.logger.info(f"🔌 Starting daemon mode for: {self.parser.parser_name}")
|
|
49
49
|
|
|
50
50
|
# Get connection parameters
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
api_key or self.config.api_key or kwargs.get("
|
|
51
|
+
server_url = server or self.config.server_url or kwargs.get("server_url")
|
|
52
|
+
api_key = (
|
|
53
|
+
api_key or self.config.api_key or kwargs.get("api_key")
|
|
54
54
|
)
|
|
55
55
|
|
|
56
|
-
if not
|
|
56
|
+
if not server_url:
|
|
57
57
|
if self.logger:
|
|
58
58
|
self.logger.error(
|
|
59
59
|
"❌ WebSocket server URL not configured for daemon mode!"
|
|
@@ -61,7 +61,7 @@ class DaemonMode:
|
|
|
61
61
|
self.logger.info(" Set server URL in config or pass as parameter")
|
|
62
62
|
return
|
|
63
63
|
|
|
64
|
-
if not
|
|
64
|
+
if not api_key:
|
|
65
65
|
if self.logger:
|
|
66
66
|
self.logger.error(
|
|
67
67
|
"❌ WebSocket API key not configured for daemon mode!"
|
|
@@ -71,16 +71,16 @@ class DaemonMode:
|
|
|
71
71
|
|
|
72
72
|
if self.logger:
|
|
73
73
|
self.logger.info(f"🔌 Starting WebSocket daemon mode")
|
|
74
|
-
self.logger.info(f" Server: {
|
|
74
|
+
self.logger.info(f" Server: {server_url}")
|
|
75
75
|
self.logger.info(f" Parser: {self.parser.parser_id}")
|
|
76
76
|
self.logger.info(
|
|
77
|
-
f" API Key: {'***' +
|
|
77
|
+
f" API Key: {'***' + api_key[-4:] if len(api_key) > 4 else '***'}"
|
|
78
78
|
)
|
|
79
79
|
|
|
80
80
|
# Setup WebSocket service configuration with type safety
|
|
81
81
|
websocket_config = WebSocketConfig(
|
|
82
|
-
server_url=
|
|
83
|
-
api_key=
|
|
82
|
+
server_url=server_url,
|
|
83
|
+
api_key=api_key,
|
|
84
84
|
parser_name=self.parser.parser_name,
|
|
85
85
|
auto_reconnect=self.config.auto_reconnect,
|
|
86
86
|
health_check_interval=self.config.health_check_interval,
|
|
@@ -110,7 +110,7 @@ class DaemonMode:
|
|
|
110
110
|
|
|
111
111
|
# Connect to WebSocket server
|
|
112
112
|
success = await self.parser.websocket.connect(
|
|
113
|
-
server_url=
|
|
113
|
+
server_url=server_url, api_key=api_key
|
|
114
114
|
)
|
|
115
115
|
|
|
116
116
|
if not success:
|
|
File without changes
|
|
File without changes
|