vibesurf 0.1.13__py3-none-any.whl → 0.1.15__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 vibesurf might be problematic. Click here for more details.
- vibe_surf/_version.py +2 -2
- vibe_surf/agents/browser_use_agent.py +4 -4
- vibe_surf/agents/prompts/vibe_surf_prompt.py +1 -1
- vibe_surf/agents/vibe_surf_agent.py +2 -1
- vibe_surf/backend/api/task.py +8 -4
- vibe_surf/llm/openai_compatible.py +5 -4
- vibe_surf/tools/vibesurf_tools.py +4 -2
- vibe_surf/tools/views.py +1 -1
- {vibesurf-0.1.13.dist-info → vibesurf-0.1.15.dist-info}/METADATA +1 -1
- {vibesurf-0.1.13.dist-info → vibesurf-0.1.15.dist-info}/RECORD +14 -14
- {vibesurf-0.1.13.dist-info → vibesurf-0.1.15.dist-info}/WHEEL +0 -0
- {vibesurf-0.1.13.dist-info → vibesurf-0.1.15.dist-info}/entry_points.txt +0 -0
- {vibesurf-0.1.13.dist-info → vibesurf-0.1.15.dist-info}/licenses/LICENSE +0 -0
- {vibesurf-0.1.13.dist-info → vibesurf-0.1.15.dist-info}/top_level.txt +0 -0
vibe_surf/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
31
|
+
__version__ = version = '0.1.15'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 15)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -259,10 +259,10 @@ class BrowserUseAgent(Agent):
|
|
|
259
259
|
'⚠️ DeepSeek models do not support use_vision=True yet. Setting use_vision=False for now...')
|
|
260
260
|
self.settings.use_vision = False
|
|
261
261
|
|
|
262
|
-
if 'kimi-k2' in self.llm.model.lower():
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
262
|
+
# if 'kimi-k2' in self.llm.model.lower():
|
|
263
|
+
# self.logger.warning(
|
|
264
|
+
# '⚠️ Kimi-k2 models do not support use_vision=True yet. Setting use_vision=False for now...')
|
|
265
|
+
# self.settings.use_vision = False
|
|
266
266
|
|
|
267
267
|
# Handle users trying to use use_vision=True with XAI models
|
|
268
268
|
if 'grok' in self.llm.model.lower():
|
|
@@ -8,7 +8,7 @@ You are VibeSurf Agent, a professional AI browser assistant developed by [WarmSh
|
|
|
8
8
|
|
|
9
9
|
You operate using with followed primary agents for collaboration:
|
|
10
10
|
|
|
11
|
-
1. **Browser Automation**: Execute web tasks using `
|
|
11
|
+
1. **Browser Automation**: Execute web tasks using `execute_browser_use_agent`
|
|
12
12
|
- **Parallel Task Processing**: Execute multiple independent browser tasks simultaneously
|
|
13
13
|
- **Efficiency Optimization**: Dramatically reduce execution time for multi-step workflows
|
|
14
14
|
- **Intelligent Task Distribution**: Automatically identify parallelize subtasks
|
|
@@ -512,7 +512,8 @@ async def _browser_task_execution_node_impl(state: VibeSurfState) -> VibeSurfSta
|
|
|
512
512
|
task_count = len(state.browser_tasks)
|
|
513
513
|
if task_count == 0:
|
|
514
514
|
raise ValueError("No browser tasks assigned. Please assign 1 task at least.")
|
|
515
|
-
|
|
515
|
+
if not state.browser_results:
|
|
516
|
+
state.browser_results = []
|
|
516
517
|
if task_count <= 1:
|
|
517
518
|
# Single task execution
|
|
518
519
|
logger.info("📝 Using single execution for single task")
|
vibe_surf/backend/api/task.py
CHANGED
|
@@ -68,15 +68,19 @@ async def submit_task(
|
|
|
68
68
|
# Get LLM profile from database
|
|
69
69
|
llm_profile = await LLMProfileQueries.get_profile_with_decrypted_key(db, task_request.llm_profile_name)
|
|
70
70
|
if not llm_profile:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
active_task = None
|
|
72
|
+
return {
|
|
73
|
+
"success": False,
|
|
74
|
+
"error": "llm_connection_failed",
|
|
75
|
+
"message": f"Failed to get LLM profile with decrypted key {task_request.llm_profile_name}",
|
|
76
|
+
"llm_profile": task_request.llm_profile_name
|
|
77
|
+
}
|
|
75
78
|
|
|
76
79
|
# Initialize LLM for this task if needed
|
|
77
80
|
if not current_llm_profile_name or current_llm_profile_name != task_request.llm_profile_name:
|
|
78
81
|
current_llm_profile_name = task_request.llm_profile_name
|
|
79
82
|
success, message = await _ensure_llm_initialized(llm_profile)
|
|
83
|
+
logger.info("Test LLM Connection!")
|
|
80
84
|
if not success:
|
|
81
85
|
active_task = None
|
|
82
86
|
return {
|
|
@@ -24,7 +24,7 @@ Example usage:
|
|
|
24
24
|
temperature=0,
|
|
25
25
|
)
|
|
26
26
|
"""
|
|
27
|
-
|
|
27
|
+
import pdb
|
|
28
28
|
from dataclasses import dataclass
|
|
29
29
|
from typing import Any, TypeVar, overload
|
|
30
30
|
from pydantic import BaseModel
|
|
@@ -223,9 +223,11 @@ class ChatOpenAICompatible(ChatOpenAI):
|
|
|
223
223
|
"""
|
|
224
224
|
# If this is not a special model or no structured output is requested,
|
|
225
225
|
# use the parent implementation directly
|
|
226
|
+
if self._is_qwen_model() or self._is_kimi_model():
|
|
227
|
+
self.add_schema_to_system_prompt = True
|
|
228
|
+
|
|
226
229
|
if not (self._is_gemini_model() or self._is_kimi_model()) or output_format is None:
|
|
227
230
|
return await super().ainvoke(messages, output_format)
|
|
228
|
-
|
|
229
231
|
openai_messages = OpenAIMessageSerializer.serialize_messages(messages)
|
|
230
232
|
|
|
231
233
|
try:
|
|
@@ -269,9 +271,8 @@ class ChatOpenAICompatible(ChatOpenAI):
|
|
|
269
271
|
)
|
|
270
272
|
|
|
271
273
|
else:
|
|
272
|
-
original_schema = SchemaOptimizer.create_optimized_json_schema(output_format)
|
|
273
|
-
|
|
274
274
|
# Apply appropriate schema fix based on model type
|
|
275
|
+
original_schema = SchemaOptimizer.create_optimized_json_schema(output_format)
|
|
275
276
|
if self._is_gemini_model():
|
|
276
277
|
logger.debug(f"🔧 Applying Gemini schema fixes for model: {self.model}")
|
|
277
278
|
fixed_schema = self._fix_gemini_schema(original_schema)
|
|
@@ -105,13 +105,15 @@ class VibeSurfTools:
|
|
|
105
105
|
|
|
106
106
|
def _register_todo_actions(self):
|
|
107
107
|
@self.registry.action(
|
|
108
|
-
'Generate a new todo.md file with the provided todo items in markdown checkbox format.'
|
|
108
|
+
'Generate a new todo.md file with the provided todo items in markdown checkbox format.',
|
|
109
|
+
param_model=TodoGenerateAction
|
|
109
110
|
)
|
|
110
|
-
async def generate_todos(
|
|
111
|
+
async def generate_todos(params: TodoGenerateAction, file_system: CustomFileSystem):
|
|
111
112
|
"""Generate a new todo.md file with todo items in markdown format"""
|
|
112
113
|
try:
|
|
113
114
|
# Format todo items as markdown checkboxes
|
|
114
115
|
formatted_items = []
|
|
116
|
+
todo_items = params.todo_items
|
|
115
117
|
for item in todo_items:
|
|
116
118
|
# Clean item and ensure it doesn't already have checkbox format
|
|
117
119
|
clean_item = item.strip()
|
vibe_surf/tools/views.py
CHANGED
|
@@ -99,7 +99,6 @@ class TodoModification(BaseModel):
|
|
|
99
99
|
description='Text of the todo item to operate on',
|
|
100
100
|
)
|
|
101
101
|
|
|
102
|
-
|
|
103
102
|
class TodoModifyAction(BaseModel):
|
|
104
103
|
"""Parameters for modifying todo items"""
|
|
105
104
|
modifications: list[TodoModification] = Field(
|
|
@@ -108,6 +107,7 @@ class TodoModifyAction(BaseModel):
|
|
|
108
107
|
)
|
|
109
108
|
|
|
110
109
|
|
|
110
|
+
|
|
111
111
|
class VibeSurfDoneAction(BaseModel):
|
|
112
112
|
"""Parameters for task completion output"""
|
|
113
113
|
response: str = Field(
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
vibe_surf/__init__.py,sha256=WtduuMFGauMD_9dpk4fnRnLTAP6ka9Lfu0feAFNzLfo,339
|
|
2
|
-
vibe_surf/_version.py,sha256=
|
|
2
|
+
vibe_surf/_version.py,sha256=HPqQHR9pVxIxlFt4vovkyoe7k6UO3ag2isBN2lHFL8g,706
|
|
3
3
|
vibe_surf/cli.py,sha256=pbep2dBeQqralZ8AggkH4h2nayBarbdN8lhZxo35gNU,16689
|
|
4
4
|
vibe_surf/common.py,sha256=_WWMxen5wFwzUjEShn3yDVC1OBFUiJ6Vccadi6tuG6w,1215
|
|
5
5
|
vibe_surf/logger.py,sha256=k53MFA96QX6t9OfcOf1Zws8PP0OOqjVJfhUD3Do9lKw,3043
|
|
6
6
|
vibe_surf/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
vibe_surf/agents/browser_use_agent.py,sha256=
|
|
7
|
+
vibe_surf/agents/browser_use_agent.py,sha256=R8myQ0c9YsJve30yMfIRgz2IzOoHUxrNTtXj8x0YHiw,46032
|
|
8
8
|
vibe_surf/agents/report_writer_agent.py,sha256=tKELps-FjZq06OKXpoyS-zJzvfdYXM6UnXDrR2oZk6M,20970
|
|
9
|
-
vibe_surf/agents/vibe_surf_agent.py,sha256
|
|
9
|
+
vibe_surf/agents/vibe_surf_agent.py,sha256=-pC7MSOd7I21JbLN0yY69RNHRfTFt-STfA4j6jIyrS4,73191
|
|
10
10
|
vibe_surf/agents/views.py,sha256=bcVOxd9On2lJ4NSar5RqP1V7Nw_RBtkHJPE-f2kVdRA,4750
|
|
11
11
|
vibe_surf/agents/prompts/__init__.py,sha256=l4ieA0D8kLJthyNN85FKLNe4ExBa3stY3l-aImLDRD0,36
|
|
12
12
|
vibe_surf/agents/prompts/report_writer_prompt.py,sha256=sZE8MUT1CDLmRzbnbEQzAvTwJjpITgh2Q8g1_eXmkzE,4454
|
|
13
|
-
vibe_surf/agents/prompts/vibe_surf_prompt.py,sha256=
|
|
13
|
+
vibe_surf/agents/prompts/vibe_surf_prompt.py,sha256=gn8Q234zwtUxVzduzmINmqV-iooE-aJ9u2-yXQ3Wo6M,5573
|
|
14
14
|
vibe_surf/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
vibe_surf/backend/llm_config.py,sha256=9V8Gg065TQALbOKQnOqFWd8RzOJjegOD8w6YOf90Q7Y,5036
|
|
16
16
|
vibe_surf/backend/main.py,sha256=nZDs_FkYU7NdqSm1O4OwHJslYIJZL1Gr3CEKa8ByaEY,7178
|
|
@@ -21,7 +21,7 @@ vibe_surf/backend/api/browser.py,sha256=NXedyZG3NIVRIx5O7d9mHwVWX-Q4_KsX5mSgfKt8
|
|
|
21
21
|
vibe_surf/backend/api/config.py,sha256=EwzxYvC6HlaVo2OFWjtBmBMjX4eW2q8hp7l2LO2GZV0,27124
|
|
22
22
|
vibe_surf/backend/api/files.py,sha256=kJMG9MWECKXwGh64Q6xvAzNjeZGcLhIEnn65HiMZHKE,11762
|
|
23
23
|
vibe_surf/backend/api/models.py,sha256=iyMBdpDkOfwx0h2yRkjmYjRdFyDErhO8XZcWTurdcmU,10347
|
|
24
|
-
vibe_surf/backend/api/task.py,sha256=
|
|
24
|
+
vibe_surf/backend/api/task.py,sha256=jf9y7T5SjgFdw1XxKrHvc7nMpM544-VmUTBBMF4Msgg,14263
|
|
25
25
|
vibe_surf/backend/database/__init__.py,sha256=XhmcscnhgMhUyXML7m4SnuQIqkFpyY_zJ0D3yYa2RqQ,239
|
|
26
26
|
vibe_surf/backend/database/manager.py,sha256=aC8XQc68qDsaryrux7VfCEl2hnEZL5kfnEkXWXPg2ig,4427
|
|
27
27
|
vibe_surf/backend/database/models.py,sha256=mePuHsaSqJKA4TthvXbup_Ioann2_chxywiLKqAWyh4,7009
|
|
@@ -77,17 +77,17 @@ vibe_surf/chrome_extension/styles/settings-responsive.css,sha256=jLE0yG15n2aI6_6
|
|
|
77
77
|
vibe_surf/chrome_extension/styles/settings-utilities.css,sha256=3PuQS2857kg83d5erLbLdo_7J95-qV-qyNWS5M-w1oQ,505
|
|
78
78
|
vibe_surf/chrome_extension/styles/variables.css,sha256=VbFJ8L76AaJUqb6gCz9jEG_V6OX4YJa65I2iyeNJIw4,1411
|
|
79
79
|
vibe_surf/llm/__init__.py,sha256=_vDVPo6STf343p1SgMQrF5023hicAx0g83pK2Gbk4Ek,601
|
|
80
|
-
vibe_surf/llm/openai_compatible.py,sha256=
|
|
80
|
+
vibe_surf/llm/openai_compatible.py,sha256=rdJTGXW-68yTho1hgzhkjMAocQOK0p_GSl8PmAx_C8Y,14974
|
|
81
81
|
vibe_surf/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
82
|
vibe_surf/tools/browser_use_tools.py,sha256=gWiBj-YPz7kQYi0yekuvpPQ2Z2-EBLuutF6rf71iOcM,28781
|
|
83
83
|
vibe_surf/tools/file_system.py,sha256=gVdTd6qUfoyVfZMzmX9DXTyBbfXY56jVhUqtfm1qqps,18878
|
|
84
84
|
vibe_surf/tools/mcp_client.py,sha256=OeCoTgyx4MoY7JxXndK6pGHIoyFOhf5r7XCbx25y1Ec,2446
|
|
85
85
|
vibe_surf/tools/report_writer_tools.py,sha256=sUqUFr-_Rs8RJ0Bs77Hrp07kNwRIvHv7ErzSPYSlbTg,705
|
|
86
|
-
vibe_surf/tools/vibesurf_tools.py,sha256=
|
|
87
|
-
vibe_surf/tools/views.py,sha256=
|
|
88
|
-
vibesurf-0.1.
|
|
89
|
-
vibesurf-0.1.
|
|
90
|
-
vibesurf-0.1.
|
|
91
|
-
vibesurf-0.1.
|
|
92
|
-
vibesurf-0.1.
|
|
93
|
-
vibesurf-0.1.
|
|
86
|
+
vibe_surf/tools/vibesurf_tools.py,sha256=VVhM2IZOXwpGvJ3v9jTXFHmxTxF2jAzhrwqFqxFVuX4,29976
|
|
87
|
+
vibe_surf/tools/views.py,sha256=aPoabrXOCrn5vPCAauMKYvpyP9n0qC2xKn1IbjAGXwE,4218
|
|
88
|
+
vibesurf-0.1.15.dist-info/licenses/LICENSE,sha256=czn6QYya0-jhLnStD9JqnMS-hwP5wRByipkrGTvoXLI,11355
|
|
89
|
+
vibesurf-0.1.15.dist-info/METADATA,sha256=Cy00eGyShMlmGt-aOLG4FBbh-JBmqv1tWBZFdTgUTx8,5313
|
|
90
|
+
vibesurf-0.1.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
91
|
+
vibesurf-0.1.15.dist-info/entry_points.txt,sha256=UxqpvMocL-PR33S6vLF2OmXn-kVzM-DneMeZeHcPMM8,48
|
|
92
|
+
vibesurf-0.1.15.dist-info/top_level.txt,sha256=VPZGHqSb6EEqcJ4ZX6bHIuWfon5f6HXl3c7BYpbRqnY,10
|
|
93
|
+
vibesurf-0.1.15.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|