vibesurf 0.1.41__tar.gz → 0.1.42__tar.gz
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.
- {vibesurf-0.1.41 → vibesurf-0.1.42}/PKG-INFO +1 -1
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/_version.py +3 -3
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/agents/report_writer_agent.py +1 -1
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/agents/vibe_surf_agent.py +17 -3
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/vibesurf_tools.py +1 -1
- vibesurf-0.1.42/vibe_surf/utils.py +34 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibesurf.egg-info/PKG-INFO +1 -1
- vibesurf-0.1.41/vibe_surf/utils.py +0 -13
- {vibesurf-0.1.41 → vibesurf-0.1.42}/.env.example +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/.github/workflows/publish.yml +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/.gitignore +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/.python-version +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/LICENSE +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/MANIFEST.in +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/README.md +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/README_zh.md +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/docs/EXECUTABLE_BUILD.md +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/docs/PYPI_SETUP.md +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/pyproject.toml +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/scripts/build-local.bat +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/scripts/build-local.sh +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/setup.cfg +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/tests/test_agents.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/tests/test_backend_api.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/tests/test_browser.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/tests/test_telemetry.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/tests/test_tools.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/tests/test_voice_api.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/agents/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/agents/browser_use_agent.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/agents/prompts/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/agents/prompts/report_writer_prompt.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/agents/prompts/vibe_surf_prompt.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/agents/views.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/activity.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/agent.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/browser.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/composio.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/config.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/files.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/models.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/task.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/api/voices.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/manager.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/migrations/v001_initial_schema.sql +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/migrations/v002_add_agent_mode.sql +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/migrations/v003_fix_task_status_case.sql +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/migrations/v004_add_voice_profiles.sql +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/migrations/v005_add_composio_integration.sql +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/migrations/v006_add_credentials_table.sql +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/models.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/queries.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/schemas.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/llm_config.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/main.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/shared_state.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/utils/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/utils/encryption.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/utils/llm_factory.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/utils/utils.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/voice_model_config.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/browser/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/browser/agen_browser_profile.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/browser/agent_browser_session.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/browser/browser_manager.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/browser/utils.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/browser/watchdogs/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/browser/watchdogs/action_watchdog.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/browser/watchdogs/dom_watchdog.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/background.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/config.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/content.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/dev-reload.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/icons/logo.icns +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/icons/logo.png +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/manifest.json +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/permission-iframe.html +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/permission-request.html +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/popup.html +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/api-client.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/file-manager.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/history-manager.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/main.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/markdown-it.min.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/modal-manager.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/permission-iframe-request.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/permission-request.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/session-manager.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/settings-manager.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/ui-manager.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/user-settings-storage.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/voice-recorder.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/sidepanel.html +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/activity.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/animations.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/base.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/components.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/history-modal.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/input.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/layout.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/responsive.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-environment.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-forms.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-integrations.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-modal.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-profiles.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-responsive.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-utilities.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/variables.css +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/cli.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/common.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/llm/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/llm/openai_compatible.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/logger.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/telemetry/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/telemetry/service.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/telemetry/views.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/browser_use_tools.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/composio_client.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/file_system.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/finance_tools.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/mcp_client.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/report_writer_tools.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/utils.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/vibesurf_registry.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/views.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/voice_asr.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/douyin/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/douyin/client.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/douyin/douyin.js +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/douyin/helpers.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/weibo/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/weibo/client.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/weibo/helpers.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/xhs/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/xhs/client.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/xhs/helpers.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/youtube/__init__.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/youtube/client.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/tools/website_api/youtube/helpers.py +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibesurf.egg-info/SOURCES.txt +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibesurf.egg-info/dependency_links.txt +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibesurf.egg-info/entry_points.txt +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibesurf.egg-info/requires.txt +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibesurf.egg-info/top_level.txt +0 -0
- {vibesurf-0.1.41 → vibesurf-0.1.42}/vibesurf.spec +0 -0
|
@@ -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.42'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 42)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'ge71cce9e4'
|
|
@@ -153,7 +153,7 @@ class ReportWriterAgent:
|
|
|
153
153
|
create_result = await self.file_system.create_file(report_filename)
|
|
154
154
|
logger.info(f"Created report file: {create_result}")
|
|
155
155
|
|
|
156
|
-
max_iterations =
|
|
156
|
+
max_iterations = 20 # Prevent infinite loops
|
|
157
157
|
|
|
158
158
|
# Add system message with unified prompt only if message history is empty
|
|
159
159
|
if not self.message_history:
|
|
@@ -29,6 +29,7 @@ from browser_use.tokens.service import TokenCost
|
|
|
29
29
|
from vibe_surf.agents.browser_use_agent import BrowserUseAgent
|
|
30
30
|
from vibe_surf.agents.report_writer_agent import ReportWriterAgent, ReportTaskResult
|
|
31
31
|
from vibe_surf.agents.views import CustomAgentOutput
|
|
32
|
+
from vibe_surf.utils import check_latest_vibesurf_version, get_vibesurf_version
|
|
32
33
|
|
|
33
34
|
from vibe_surf.agents.prompts.vibe_surf_prompt import (
|
|
34
35
|
VIBESURF_SYSTEM_PROMPT,
|
|
@@ -448,7 +449,8 @@ async def _vibesurf_agent_node_impl(state: VibeSurfState) -> VibeSurfState:
|
|
|
448
449
|
for browser_task in state.browser_tasks:
|
|
449
450
|
bu_task = browser_task.get('task', "")
|
|
450
451
|
if bu_task:
|
|
451
|
-
|
|
452
|
+
bu_task_tabid = browser_task.get('tab_id', "")
|
|
453
|
+
browser_tasks_md.append(f"- [ ] Tab id: {bu_task_tabid} working {bu_task}")
|
|
452
454
|
browser_tasks_md = '\n'.join(browser_tasks_md)
|
|
453
455
|
agent_msg = f"Routing to browser task execution with {len(state.browser_tasks)} browser tasks:\n\n{browser_tasks_md}"
|
|
454
456
|
await log_agent_activity(state, agent_name, "working", agent_msg)
|
|
@@ -624,7 +626,7 @@ async def execute_parallel_browser_tasks(state: VibeSurfState) -> List[BrowserTa
|
|
|
624
626
|
task_description = task_info.get('task', '')
|
|
625
627
|
if not task_description:
|
|
626
628
|
continue
|
|
627
|
-
target_id = task_info.get('
|
|
629
|
+
target_id = task_info.get('tab_id', None)
|
|
628
630
|
register_sessions.append(
|
|
629
631
|
state.vibesurf_agent.browser_manager.register_agent(agent_id, target_id=target_id)
|
|
630
632
|
)
|
|
@@ -756,7 +758,7 @@ async def execute_parallel_browser_tasks(state: VibeSurfState) -> List[BrowserTa
|
|
|
756
758
|
finally:
|
|
757
759
|
# Remove agents from control tracking and cleanup browser sessions
|
|
758
760
|
for i, agent_id in enumerate(bu_agent_ids):
|
|
759
|
-
if
|
|
761
|
+
if pending_tasks[i].get('tab_id', None) is None:
|
|
760
762
|
await state.vibesurf_agent.browser_manager.unregister_agent(agent_id, close_tabs=True)
|
|
761
763
|
if state.vibesurf_agent and hasattr(state.vibesurf_agent, '_running_agents'):
|
|
762
764
|
state.vibesurf_agent._running_agents.pop(agent_id, None)
|
|
@@ -1680,6 +1682,18 @@ Action list should NEVER be empty and Each step can only output one action. If m
|
|
|
1680
1682
|
}
|
|
1681
1683
|
self.activity_logs.append(activity_entry)
|
|
1682
1684
|
|
|
1685
|
+
latest_version = await check_latest_vibesurf_version()
|
|
1686
|
+
current_version = get_vibesurf_version()
|
|
1687
|
+
if latest_version and latest_version != current_version:
|
|
1688
|
+
update_msg = f'📦 Newer version of vibesurf available: {latest_version} (current: {current_version}). \nUpgrade with: \n`uv pip install vibesurf -U`\nor\nDownload [Windows Installer](https://github.com/vibesurf-ai/VibeSurf/releases/latest/download/vibesurf-windows-x64.exe).'
|
|
1689
|
+
logger.info(update_msg)
|
|
1690
|
+
activity_update_tip = {
|
|
1691
|
+
"agent_name": 'System',
|
|
1692
|
+
"agent_status": 'tip', # working, result, error
|
|
1693
|
+
"agent_msg": update_msg
|
|
1694
|
+
}
|
|
1695
|
+
self.activity_logs.append(activity_update_tip)
|
|
1696
|
+
|
|
1683
1697
|
# Initialize state first (needed for file processing)
|
|
1684
1698
|
initial_state = VibeSurfState(
|
|
1685
1699
|
original_task=task,
|
|
@@ -1589,7 +1589,7 @@ You will be given a query and the markdown of a webpage that has been filtered t
|
|
|
1589
1589
|
|
|
1590
1590
|
def _register_browser_use_agent(self):
|
|
1591
1591
|
@self.registry.action(
|
|
1592
|
-
'Execute browser_use agent tasks.',
|
|
1592
|
+
'Execute browser_use agent tasks. Please specify a tab id to an agent, if you want to let agent work on this tab.',
|
|
1593
1593
|
param_model=BrowserUseAgentExecution,
|
|
1594
1594
|
)
|
|
1595
1595
|
async def execute_browser_use_agent(
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import pdb
|
|
2
|
+
|
|
3
|
+
import httpx
|
|
4
|
+
|
|
5
|
+
def singleton(cls):
|
|
6
|
+
instance = [None]
|
|
7
|
+
|
|
8
|
+
def wrapper(*args, **kwargs):
|
|
9
|
+
if instance[0] is None:
|
|
10
|
+
instance[0] = cls(*args, **kwargs)
|
|
11
|
+
return instance[0]
|
|
12
|
+
|
|
13
|
+
return wrapper
|
|
14
|
+
|
|
15
|
+
def get_vibesurf_version() -> str:
|
|
16
|
+
import vibe_surf
|
|
17
|
+
return str(vibe_surf.__version__)
|
|
18
|
+
|
|
19
|
+
async def check_latest_vibesurf_version() -> str | None:
|
|
20
|
+
"""Check the latest version of browser-use from PyPI asynchronously.
|
|
21
|
+
|
|
22
|
+
Returns:
|
|
23
|
+
The latest version string if successful, None if failed
|
|
24
|
+
"""
|
|
25
|
+
try:
|
|
26
|
+
async with httpx.AsyncClient(timeout=3.0) as client:
|
|
27
|
+
response = await client.get('https://pypi.org/pypi/vibesurf/json')
|
|
28
|
+
if response.status_code == 200:
|
|
29
|
+
data = response.json()
|
|
30
|
+
return data['info']['version']
|
|
31
|
+
except Exception:
|
|
32
|
+
# Silently fail - we don't want to break agent startup due to network issues
|
|
33
|
+
pass
|
|
34
|
+
return None
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
def singleton(cls):
|
|
2
|
-
instance = [None]
|
|
3
|
-
|
|
4
|
-
def wrapper(*args, **kwargs):
|
|
5
|
-
if instance[0] is None:
|
|
6
|
-
instance[0] = cls(*args, **kwargs)
|
|
7
|
-
return instance[0]
|
|
8
|
-
|
|
9
|
-
return wrapper
|
|
10
|
-
|
|
11
|
-
def get_vibesurf_version() -> str:
|
|
12
|
-
import vibe_surf
|
|
13
|
-
return str(vibe_surf.__version__)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/migrations/v001_initial_schema.sql
RENAMED
|
File without changes
|
{vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/backend/database/migrations/v002_add_agent_mode.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/permission-iframe-request.js
RENAMED
|
File without changes
|
{vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/permission-request.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/scripts/user-settings-storage.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-environment.css
RENAMED
|
File without changes
|
|
File without changes
|
{vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-integrations.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-responsive.css
RENAMED
|
File without changes
|
{vibesurf-0.1.41 → vibesurf-0.1.42}/vibe_surf/chrome_extension/styles/settings-utilities.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|