webscout 7.7__py3-none-any.whl → 7.8__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.

Potentially problematic release.


This version of webscout might be problematic. Click here for more details.

Files changed (121) hide show
  1. webscout/AIutel.py +2 -1
  2. webscout/Bard.py +14 -11
  3. webscout/DWEBS.py +431 -415
  4. webscout/Extra/autocoder/__init__.py +9 -9
  5. webscout/Extra/autocoder/autocoder_utiles.py +332 -194
  6. webscout/Extra/autocoder/rawdog.py +68 -9
  7. webscout/Extra/gguf.py +682 -682
  8. webscout/Provider/AI21.py +1 -1
  9. webscout/Provider/AISEARCH/DeepFind.py +2 -2
  10. webscout/Provider/AISEARCH/ISou.py +2 -2
  11. webscout/Provider/AISEARCH/felo_search.py +6 -6
  12. webscout/Provider/AISEARCH/genspark_search.py +1 -1
  13. webscout/Provider/Aitopia.py +292 -0
  14. webscout/Provider/AllenAI.py +1 -1
  15. webscout/Provider/Andi.py +3 -3
  16. webscout/Provider/C4ai.py +1 -1
  17. webscout/Provider/ChatGPTES.py +3 -5
  18. webscout/Provider/ChatGPTGratis.py +4 -4
  19. webscout/Provider/Chatify.py +2 -2
  20. webscout/Provider/Cloudflare.py +3 -2
  21. webscout/Provider/DARKAI.py +3 -2
  22. webscout/Provider/DeepSeek.py +2 -2
  23. webscout/Provider/Deepinfra.py +1 -1
  24. webscout/Provider/EDITEE.py +1 -1
  25. webscout/Provider/ElectronHub.py +178 -96
  26. webscout/Provider/ExaChat.py +310 -0
  27. webscout/Provider/Free2GPT.py +2 -2
  28. webscout/Provider/Gemini.py +5 -19
  29. webscout/Provider/GithubChat.py +1 -1
  30. webscout/Provider/Glider.py +4 -4
  31. webscout/Provider/Groq.py +3 -3
  32. webscout/Provider/HF_space/qwen_qwen2.py +1 -1
  33. webscout/Provider/HeckAI.py +1 -1
  34. webscout/Provider/HuggingFaceChat.py +1 -1
  35. webscout/Provider/Hunyuan.py +1 -1
  36. webscout/Provider/Jadve.py +3 -3
  37. webscout/Provider/Koboldai.py +3 -3
  38. webscout/Provider/LambdaChat.py +1 -1
  39. webscout/Provider/Llama.py +3 -5
  40. webscout/Provider/Llama3.py +4 -12
  41. webscout/Provider/Marcus.py +3 -3
  42. webscout/Provider/OLLAMA.py +8 -8
  43. webscout/Provider/Openai.py +7 -3
  44. webscout/Provider/PI.py +1 -1
  45. webscout/Provider/Perplexitylabs.py +1 -1
  46. webscout/Provider/Phind.py +1 -1
  47. webscout/Provider/PizzaGPT.py +1 -1
  48. webscout/Provider/QwenLM.py +4 -7
  49. webscout/Provider/TTI/FreeAIPlayground/async_freeaiplayground.py +3 -1
  50. webscout/Provider/TTI/FreeAIPlayground/sync_freeaiplayground.py +3 -3
  51. webscout/Provider/TTI/ImgSys/__init__.py +23 -0
  52. webscout/Provider/TTI/ImgSys/async_imgsys.py +202 -0
  53. webscout/Provider/TTI/ImgSys/sync_imgsys.py +195 -0
  54. webscout/Provider/TTI/__init__.py +3 -1
  55. webscout/Provider/TTI/artbit/async_artbit.py +1 -1
  56. webscout/Provider/TTI/artbit/sync_artbit.py +1 -1
  57. webscout/Provider/TTI/huggingface/async_huggingface.py +1 -1
  58. webscout/Provider/TTI/huggingface/sync_huggingface.py +1 -1
  59. webscout/Provider/TTI/piclumen/__init__.py +22 -22
  60. webscout/Provider/TTI/piclumen/sync_piclumen.py +232 -232
  61. webscout/Provider/TTI/pixelmuse/__init__.py +4 -0
  62. webscout/Provider/TTI/pixelmuse/async_pixelmuse.py +249 -0
  63. webscout/Provider/TTI/pixelmuse/sync_pixelmuse.py +182 -0
  64. webscout/Provider/TTI/talkai/sync_talkai.py +1 -1
  65. webscout/Provider/TTS/utils.py +1 -1
  66. webscout/Provider/TeachAnything.py +1 -1
  67. webscout/Provider/TextPollinationsAI.py +4 -4
  68. webscout/Provider/TwoAI.py +1 -2
  69. webscout/Provider/Venice.py +4 -2
  70. webscout/Provider/VercelAI.py +234 -0
  71. webscout/Provider/WebSim.py +3 -2
  72. webscout/Provider/WiseCat.py +10 -12
  73. webscout/Provider/Youchat.py +1 -1
  74. webscout/Provider/__init__.py +10 -0
  75. webscout/Provider/ai4chat.py +1 -1
  76. webscout/Provider/aimathgpt.py +2 -6
  77. webscout/Provider/akashgpt.py +1 -1
  78. webscout/Provider/askmyai.py +4 -4
  79. webscout/Provider/asksteve.py +203 -0
  80. webscout/Provider/bagoodex.py +2 -2
  81. webscout/Provider/cerebras.py +1 -1
  82. webscout/Provider/chatglm.py +4 -4
  83. webscout/Provider/cleeai.py +1 -0
  84. webscout/Provider/copilot.py +427 -415
  85. webscout/Provider/elmo.py +1 -1
  86. webscout/Provider/flowith.py +1 -1
  87. webscout/Provider/freeaichat.py +57 -31
  88. webscout/Provider/gaurish.py +3 -5
  89. webscout/Provider/geminiprorealtime.py +1 -1
  90. webscout/Provider/granite.py +4 -4
  91. webscout/Provider/hermes.py +5 -5
  92. webscout/Provider/julius.py +1 -1
  93. webscout/Provider/koala.py +1 -1
  94. webscout/Provider/lepton.py +1 -1
  95. webscout/Provider/llama3mitril.py +4 -4
  96. webscout/Provider/llamatutor.py +1 -1
  97. webscout/Provider/llmchat.py +3 -3
  98. webscout/Provider/meta.py +1 -1
  99. webscout/Provider/multichat.py +10 -10
  100. webscout/Provider/promptrefine.py +1 -1
  101. webscout/Provider/searchchat.py +293 -0
  102. webscout/Provider/sonus.py +2 -2
  103. webscout/Provider/talkai.py +2 -2
  104. webscout/Provider/turboseek.py +1 -1
  105. webscout/Provider/tutorai.py +1 -1
  106. webscout/Provider/typegpt.py +5 -42
  107. webscout/Provider/uncovr.py +4 -2
  108. webscout/Provider/x0gpt.py +1 -1
  109. webscout/__init__.py +36 -36
  110. webscout/cli.py +293 -332
  111. webscout/tempid.py +11 -11
  112. webscout/utils.py +2 -2
  113. webscout/version.py +1 -1
  114. webscout/webscout_search.py +1282 -1223
  115. webscout/webscout_search_async.py +813 -692
  116. {webscout-7.7.dist-info → webscout-7.8.dist-info}/METADATA +50 -29
  117. {webscout-7.7.dist-info → webscout-7.8.dist-info}/RECORD +121 -110
  118. {webscout-7.7.dist-info → webscout-7.8.dist-info}/LICENSE.md +0 -0
  119. {webscout-7.7.dist-info → webscout-7.8.dist-info}/WHEEL +0 -0
  120. {webscout-7.7.dist-info → webscout-7.8.dist-info}/entry_points.txt +0 -0
  121. {webscout-7.7.dist-info → webscout-7.8.dist-info}/top_level.txt +0 -0
webscout/Provider/elmo.py CHANGED
@@ -3,7 +3,7 @@ from webscout.AIutel import Optimizers
3
3
  from webscout.AIutel import Conversation
4
4
  from webscout.AIutel import AwesomePrompts
5
5
  from webscout.AIbase import Provider
6
- from webscout import LitAgent
6
+ from webscout.litagent import LitAgent
7
7
 
8
8
  class Elmo(Provider):
9
9
  """
@@ -10,7 +10,7 @@ from webscout.AIutel import Conversation
10
10
  from webscout.AIutel import AwesomePrompts, sanitize_stream
11
11
  from webscout.AIbase import Provider, AsyncProvider
12
12
  from webscout import exceptions
13
- from webscout import LitAgent
13
+ from webscout.litagent import LitAgent
14
14
 
15
15
  class Flowith(Provider):
16
16
  """
@@ -8,39 +8,61 @@ from webscout.AIutel import Conversation
8
8
  from webscout.AIutel import AwesomePrompts, sanitize_stream
9
9
  from webscout.AIbase import Provider, AsyncProvider
10
10
  from webscout import exceptions
11
- from webscout import LitAgent
11
+ from webscout.litagent import LitAgent
12
12
 
13
13
  class FreeAIChat(Provider):
14
14
  """
15
- A class to interact with the FreeAIChat API with LitAgent user-agent.
15
+ A class to interact with the FreeAIChat API
16
16
  """
17
17
 
18
18
  AVAILABLE_MODELS = [
19
- "mistral-nemo",
20
- "mistral-large",
21
- "gemini-2.0-flash",
22
- "gemini-1.5-pro",
23
- "gemini-1.5-flash",
24
- "gemini-2.0-pro-exp-02-05",
25
- # "deepseek-r1", >>>> NOT WORKING
26
- "deepseek-v3",
27
- # "Deepseek r1 14B", >>>> NOT WORKING
28
- # "Deepseek r1 32B", >>>> NOT WORKING
29
- "o3-mini-high",
30
- "o3-mini-medium",
31
- "o3-mini-low",
32
- "o3-mini",
33
- "GPT-4o-mini",
34
- "o1",
35
- "o1-mini",
36
- "GPT-4o",
37
- "Qwen coder",
38
- # "Qwen 2.5 72B", >>>> NOT WORKING
39
- "Llama 3.1 405B",
40
- # "llama3.1-70b-fast", >>>> NOT WORKING
41
- # "Llama 3.3 70B", >>>> NOT WORKING
42
- "claude 3.5 haiku",
19
+ # OpenAI Models
20
+ "GPT 4o",
21
+ "GPT 4o Latest",
22
+ "GPT 4o mini",
23
+ "GPT 4o Search Preview",
24
+ "O1",
25
+ "O1 Mini",
26
+ "O3 Mini",
27
+ "O3 Mini High",
28
+ "O3 Mini Low",
29
+
30
+ # Anthropic Models
43
31
  "claude 3.5 sonnet",
32
+ "Claude 3.7 Sonnet",
33
+ "Claude 3.7 Sonnet (Thinking)",
34
+
35
+ # Deepseek Models
36
+ "Deepseek R1",
37
+ "Deepseek R1 Fast",
38
+ "Deepseek V3",
39
+ "Deepseek v3 0324",
40
+
41
+ # Google Models
42
+ "Gemini 1.5 Flash",
43
+ "Gemini 1.5 Pro",
44
+ "Gemini 2.0 Pro",
45
+ "Gemini 2.0 Flash",
46
+ "Gemini 2.5 Pro",
47
+
48
+ # Llama Models
49
+ "Llama 3.1 405B",
50
+ "Llama 3.1 70B Fast",
51
+ "Llama 3.3 70B",
52
+
53
+ # Mistral Models
54
+ "Mistral Large",
55
+ "Mistral Nemo",
56
+
57
+ # Qwen Models
58
+ "Qwen Max",
59
+ "Qwen Plus",
60
+ "Qwen Turbo",
61
+ "QwQ 32B",
62
+ "QwQ Plus",
63
+
64
+ # XAI Models
65
+ "Grok 2"
44
66
  ]
45
67
 
46
68
  def __init__(
@@ -119,12 +141,16 @@ class FreeAIChat(Provider):
119
141
 
120
142
  messages = [
121
143
  {
122
- "role": "system",
123
- "content": self.system_prompt
124
- },
125
- {
144
+ "id": str(int(time.time() * 1000)),
126
145
  "role": "user",
127
- "content": conversation_prompt
146
+ "content": conversation_prompt,
147
+ "model": {
148
+ # "id": "14",
149
+ "name": self.model,
150
+ # "icon": "https://cdn-avatars.huggingface.co/v1/production/uploads/1620805164087-5ec0135ded25d76864d553f1.png",
151
+ # "provider": "openAI",
152
+ # "contextWindow": 63920
153
+ }
128
154
  }
129
155
  ]
130
156
 
@@ -1,14 +1,12 @@
1
1
  import requests
2
2
  import json
3
- from typing import Any, Dict, Generator, Union
4
- import uuid
3
+ from typing import Dict, Generator, Union
5
4
 
6
5
  from webscout.AIutel import Optimizers
7
6
  from webscout.AIutel import Conversation
8
- from webscout.AIutel import AwesomePrompts, sanitize_stream
9
- from webscout.AIbase import Provider, AsyncProvider
7
+ from webscout.AIutel import AwesomePrompts
8
+ from webscout.AIbase import Provider
10
9
  from webscout import exceptions
11
- from webscout import LitAgent
12
10
  from webscout.Litlogger import Logger, LogFormat
13
11
 
14
12
  class GaurishCerebras(Provider):
@@ -9,7 +9,7 @@ from webscout.AIutel import Conversation
9
9
  from webscout.AIutel import AwesomePrompts, sanitize_stream
10
10
  from webscout.AIbase import Provider, AsyncProvider
11
11
  from webscout import exceptions
12
- from webscout import LitAgent
12
+ from webscout.litagent import LitAgent
13
13
 
14
14
  class GeminiPro(Provider):
15
15
  """
@@ -1,11 +1,11 @@
1
1
  import requests
2
2
  import json
3
- from typing import Any, Dict, Generator
3
+ from typing import Union, Any, Dict, Generator
4
4
 
5
5
  from webscout.AIutel import Optimizers, Conversation, AwesomePrompts
6
6
  from webscout.AIbase import Provider
7
7
  from webscout import exceptions
8
- from webscout import LitAgent as Lit
8
+ from webscout.litagent import LitAgent as Lit
9
9
 
10
10
  class IBMGranite(Provider):
11
11
  """
@@ -81,7 +81,7 @@ class IBMGranite(Provider):
81
81
  raw: bool = False,
82
82
  optimizer: str = None,
83
83
  conversationally: bool = False,
84
- ) -> Dict[str, Any] | Generator[Dict[str, Any], None, None]:
84
+ ) -> Union[Dict[str, Any], Generator[Any, None, None]]:
85
85
  """Chat with AI
86
86
  Args:
87
87
  prompt (str): Prompt to be sent.
@@ -157,7 +157,7 @@ class IBMGranite(Provider):
157
157
  stream: bool = False,
158
158
  optimizer: str = None,
159
159
  conversationally: bool = False,
160
- ) -> str | Generator[str, None, None]:
160
+ ) -> Union[str, Generator[str, None, None]]:
161
161
  """Generate response as a string using chat method"""
162
162
  def for_stream():
163
163
  for response in self.ask(prompt, True, optimizer=optimizer, conversationally=conversationally):
@@ -1,13 +1,13 @@
1
1
  import requests
2
2
  import json
3
- from typing import Any, Dict, Generator, Optional
3
+ from typing import Union, Any, Dict, Generator, Optional
4
4
 
5
5
  from webscout.AIutel import Optimizers
6
6
  from webscout.AIutel import Conversation
7
7
  from webscout.AIutel import AwesomePrompts
8
8
  from webscout.AIbase import Provider
9
9
  from webscout import exceptions
10
-
10
+ from webscout.litagent import LitAgent
11
11
  class NousHermes(Provider):
12
12
  """
13
13
  A class to interact with the Hermes API.
@@ -56,7 +56,7 @@ class NousHermes(Provider):
56
56
  'content-type': 'application/json',
57
57
  'origin': 'https://hermes.nousresearch.com',
58
58
  'referer': 'https://hermes.nousresearch.com/',
59
- 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36',
59
+ 'user-agent': LitAgent().random(),
60
60
  'cookie': self.cookies
61
61
  }
62
62
 
@@ -99,7 +99,7 @@ class NousHermes(Provider):
99
99
  raw: bool = False,
100
100
  optimizer: str = None,
101
101
  conversationally: bool = False,
102
- ) -> Dict[str, Any] | Generator[Dict[str, Any], None, None]:
102
+ ) -> Union[Dict[str, Any], Generator[Any, None, None]]:
103
103
  """Chat with AI
104
104
  Args:
105
105
  prompt (str): Prompt to be send.
@@ -169,7 +169,7 @@ class NousHermes(Provider):
169
169
  stream: bool = False,
170
170
  optimizer: str = None,
171
171
  conversationally: bool = False,
172
- ) -> str | Generator[str, None, None]:
172
+ ) -> Union[str, Generator[str, None, None]]:
173
173
  """Generate response `str`
174
174
  Args:
175
175
  prompt (str): Prompt to be send.
@@ -8,7 +8,7 @@ from webscout.AIutel import Conversation
8
8
  from webscout.AIutel import AwesomePrompts, sanitize_stream
9
9
  from webscout.AIbase import Provider, AsyncProvider
10
10
  from webscout import exceptions
11
- from typing import Any, AsyncGenerator, Dict
11
+ from typing import Union, Any, AsyncGenerator, Dict
12
12
 
13
13
 
14
14
  class Julius(Provider):
@@ -1,6 +1,6 @@
1
1
  import requests
2
2
  import json
3
- from typing import Any, Dict, Optional
3
+ from typing import Union, Any, Dict, Optional
4
4
  from webscout.AIutel import Optimizers
5
5
  from webscout.AIutel import Conversation
6
6
  from webscout.AIutel import AwesomePrompts, sanitize_stream
@@ -6,7 +6,7 @@ from webscout.AIutel import Optimizers
6
6
  from webscout.AIutel import Conversation
7
7
  from webscout.AIutel import AwesomePrompts
8
8
  from webscout.AIbase import Provider
9
- from webscout import LitAgent as Lit
9
+ from webscout.litagent import LitAgent as Lit
10
10
  class Lepton(Provider):
11
11
  """
12
12
  A class to interact with the Lepton.run API.
@@ -1,13 +1,13 @@
1
1
  import requests
2
2
  import json
3
3
  import re
4
- from typing import Any, Dict, Optional, Generator
4
+ from typing import Union, Any, Dict, Optional, Generator
5
5
  from webscout.AIutel import Optimizers
6
6
  from webscout.AIutel import Conversation
7
7
  from webscout.AIutel import AwesomePrompts
8
8
  from webscout.AIbase import Provider
9
9
  from webscout import exceptions
10
- from webscout import LitAgent as Lit
10
+ from webscout.litagent import LitAgent as Lit
11
11
 
12
12
  class Llama3Mitril(Provider):
13
13
  """
@@ -77,7 +77,7 @@ class Llama3Mitril(Provider):
77
77
  raw: bool = False,
78
78
  optimizer: str = None,
79
79
  conversationally: bool = False,
80
- ) -> Dict[str, Any] | Generator[Dict[str, Any], None, None]:
80
+ ) -> Union[Dict[str, Any], Generator[Any, None, None]]:
81
81
  """Sends a prompt to the Llama3 Mitril API and returns the response."""
82
82
  conversation_prompt = self.conversation.gen_complete_prompt(prompt)
83
83
  if optimizer:
@@ -143,7 +143,7 @@ class Llama3Mitril(Provider):
143
143
  stream: bool = True,
144
144
  optimizer: str = None,
145
145
  conversationally: bool = False,
146
- ) -> str | Generator[str, None, None]:
146
+ ) -> Union[str, Generator[str, None, None]]:
147
147
  """Generates a response from the Llama3 Mitril API."""
148
148
 
149
149
  def for_stream():
@@ -6,7 +6,7 @@ from webscout.AIutel import Conversation
6
6
  from webscout.AIutel import AwesomePrompts
7
7
  from webscout.AIbase import Provider
8
8
  from webscout import exceptions
9
- from webscout import LitAgent as Lit
9
+ from webscout.litagent import LitAgent as Lit
10
10
 
11
11
  class LlamaTutor(Provider):
12
12
  """
@@ -1,13 +1,13 @@
1
1
  import requests
2
2
  import json
3
- from typing import Any, Dict, Optional, Generator, List
3
+ from typing import Union, Any, Dict, Optional, Generator, List
4
4
 
5
5
  from webscout.AIutel import Optimizers
6
6
  from webscout.AIutel import Conversation
7
7
  from webscout.AIutel import AwesomePrompts
8
8
  from webscout.AIbase import Provider
9
9
  from webscout import exceptions
10
- from webscout import LitAgent as Lit
10
+ from webscout.litagent import LitAgent as Lit
11
11
 
12
12
  class LLMChat(Provider):
13
13
  """
@@ -157,7 +157,7 @@ class LLMChat(Provider):
157
157
  stream: bool = False,
158
158
  optimizer: str = None,
159
159
  conversationally: bool = False,
160
- ) -> str | Generator[str, None, None]:
160
+ ) -> Union[str, Generator[str, None, None]]:
161
161
  """Generate response with logging capabilities"""
162
162
 
163
163
  def for_stream():
webscout/Provider/meta.py CHANGED
@@ -14,7 +14,7 @@ from webscout.AIutel import Conversation
14
14
  from webscout.AIutel import AwesomePrompts, sanitize_stream
15
15
  from webscout.AIbase import Provider
16
16
  from webscout import exceptions
17
- from webscout import LitAgent as Lit
17
+ from webscout.litagent import LitAgent as Lit
18
18
  MAX_RETRIES = 3
19
19
 
20
20
  def generate_offline_threading_id() -> str:
@@ -1,7 +1,7 @@
1
1
  import requests
2
2
  import json
3
3
  import uuid
4
- from typing import Any, Dict
4
+ from typing import Any, Dict, Union
5
5
  from datetime import datetime
6
6
  from webscout.AIutel import Optimizers, Conversation, AwesomePrompts
7
7
  from webscout.AIbase import Provider
@@ -76,11 +76,11 @@ class MultiChatAI(Provider):
76
76
  "deepseek-r1-distill-llama-70b",
77
77
 
78
78
  # Cohere Models
79
- # "command-r", >>>> NOT WORKING
80
- # "command", >>>> NOT WORKING
79
+ # "command-r", # >>>> NOT WORKING
80
+ # "command", # >>>> NOT WORKING
81
81
 
82
82
  # Google Models
83
- # "gemini-1.5-flash-002", >>>> NOT WORKING
83
+ # "gemini-1.5-flash-002", #>>>> NOT WORKING
84
84
  "gemma2-9b-it",
85
85
  "gemini-2.0-flash",
86
86
 
@@ -91,13 +91,13 @@ class MultiChatAI(Provider):
91
91
  "deepseek-ai/DeepSeek-V3",
92
92
  "meta-llama/Meta-Llama-3.1-405B-Instruct",
93
93
  "NousResearch/Hermes-3-Llama-3.1-405B",
94
- # "gemma-2-27b-it", >>>> NOT WORKING
94
+ # "gemma-2-27b-it", # >>>> NOT WORKING
95
95
 
96
96
  # Mistral Models
97
- # "mistral-small-latest", >>>> NOT WORKING
98
- # "codestral-latest", >>>> NOT WORKING
99
- # "open-mistral-7b", >>>> NOT WORKING
100
- # "open-mixtral-8x7b", >>>> NOT WORKING
97
+ # "mistral-small-latest", # >>>> NOT WORKING
98
+ # "codestral-latest", # >>>> NOT WORKING
99
+ # "open-mistral-7b", # >>>> NOT WORKING
100
+ # "open-mixtral-8x7b", # >>>> NOT WORKING
101
101
 
102
102
  # Alibaba Models
103
103
  "Qwen/Qwen2.5-72B-Instruct",
@@ -284,7 +284,7 @@ class MultiChatAI(Provider):
284
284
  )
285
285
  return self.get_message(response)
286
286
 
287
- def get_message(self, response: Dict[str, Any] | str) -> str:
287
+ def get_message(self, response: Union[Dict[str, Any], str]) -> str:
288
288
  """
289
289
  Retrieves message from response.
290
290
 
@@ -6,7 +6,7 @@ from webscout.AIutel import Optimizers
6
6
  from webscout.AIutel import Conversation
7
7
  from webscout.AIutel import AwesomePrompts
8
8
  from webscout.AIbase import Provider
9
- from webscout import LitAgent as UserAgent
9
+ from webscout.litagent import LitAgent as UserAgent
10
10
 
11
11
  class PromptRefine(Provider):
12
12
  """