vibesurf 0.1.9a6__py3-none-any.whl → 0.1.11__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 +68 -45
- vibe_surf/agents/prompts/report_writer_prompt.py +73 -0
- vibe_surf/agents/prompts/vibe_surf_prompt.py +85 -172
- vibe_surf/agents/report_writer_agent.py +380 -226
- vibe_surf/agents/vibe_surf_agent.py +878 -814
- vibe_surf/agents/views.py +130 -0
- vibe_surf/backend/api/activity.py +3 -1
- vibe_surf/backend/api/browser.py +70 -0
- vibe_surf/backend/api/config.py +8 -5
- vibe_surf/backend/api/files.py +59 -50
- vibe_surf/backend/api/models.py +2 -2
- vibe_surf/backend/api/task.py +47 -13
- vibe_surf/backend/database/manager.py +24 -18
- vibe_surf/backend/database/queries.py +199 -192
- vibe_surf/backend/database/schemas.py +1 -1
- vibe_surf/backend/main.py +80 -3
- vibe_surf/backend/shared_state.py +30 -35
- vibe_surf/backend/utils/encryption.py +3 -1
- vibe_surf/backend/utils/llm_factory.py +41 -36
- vibe_surf/browser/agent_browser_session.py +308 -62
- vibe_surf/browser/browser_manager.py +71 -100
- vibe_surf/browser/utils.py +5 -3
- vibe_surf/browser/watchdogs/dom_watchdog.py +0 -45
- vibe_surf/chrome_extension/background.js +88 -0
- vibe_surf/chrome_extension/manifest.json +3 -1
- vibe_surf/chrome_extension/scripts/api-client.js +13 -0
- vibe_surf/chrome_extension/scripts/file-manager.js +482 -0
- vibe_surf/chrome_extension/scripts/history-manager.js +658 -0
- vibe_surf/chrome_extension/scripts/modal-manager.js +487 -0
- vibe_surf/chrome_extension/scripts/session-manager.js +52 -11
- vibe_surf/chrome_extension/scripts/settings-manager.js +1214 -0
- vibe_surf/chrome_extension/scripts/ui-manager.js +1530 -3163
- vibe_surf/chrome_extension/sidepanel.html +47 -7
- vibe_surf/chrome_extension/styles/activity.css +934 -0
- vibe_surf/chrome_extension/styles/base.css +76 -0
- vibe_surf/chrome_extension/styles/history-modal.css +791 -0
- vibe_surf/chrome_extension/styles/input.css +568 -0
- vibe_surf/chrome_extension/styles/layout.css +186 -0
- vibe_surf/chrome_extension/styles/responsive.css +454 -0
- vibe_surf/chrome_extension/styles/settings-environment.css +165 -0
- vibe_surf/chrome_extension/styles/settings-forms.css +389 -0
- vibe_surf/chrome_extension/styles/settings-modal.css +141 -0
- vibe_surf/chrome_extension/styles/settings-profiles.css +244 -0
- vibe_surf/chrome_extension/styles/settings-responsive.css +144 -0
- vibe_surf/chrome_extension/styles/settings-utilities.css +25 -0
- vibe_surf/chrome_extension/styles/variables.css +54 -0
- vibe_surf/cli.py +5 -22
- vibe_surf/common.py +35 -0
- vibe_surf/llm/openai_compatible.py +148 -93
- vibe_surf/logger.py +99 -0
- vibe_surf/{controller/vibesurf_tools.py → tools/browser_use_tools.py} +233 -221
- vibe_surf/tools/file_system.py +415 -0
- vibe_surf/{controller → tools}/mcp_client.py +4 -3
- vibe_surf/tools/report_writer_tools.py +21 -0
- vibe_surf/tools/vibesurf_tools.py +657 -0
- vibe_surf/tools/views.py +120 -0
- {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/METADATA +23 -3
- vibesurf-0.1.11.dist-info/RECORD +93 -0
- vibe_surf/chrome_extension/styles/main.css +0 -2338
- vibe_surf/chrome_extension/styles/settings.css +0 -1100
- vibe_surf/controller/file_system.py +0 -53
- vibe_surf/controller/views.py +0 -37
- vibesurf-0.1.9a6.dist-info/RECORD +0 -71
- /vibe_surf/{controller → tools}/__init__.py +0 -0
- {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/WHEEL +0 -0
- {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/entry_points.txt +0 -0
- {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/licenses/LICENSE +0 -0
- {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/top_level.txt +0 -0
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
from browser_use.filesystem.file_system import FileSystem, FileSystemError, INVALID_FILENAME_ERROR_MESSAGE
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class CustomFileSystem(FileSystem):
|
|
5
|
-
async def read_file(self, full_filename: str, external_file: bool = False) -> str:
|
|
6
|
-
"""Read file content using file-specific read method and return appropriate message to LLM"""
|
|
7
|
-
if external_file:
|
|
8
|
-
try:
|
|
9
|
-
try:
|
|
10
|
-
_, extension = self._parse_filename(full_filename)
|
|
11
|
-
except Exception:
|
|
12
|
-
return f'Error: Invalid filename format {full_filename}. Must be alphanumeric with a supported extension.'
|
|
13
|
-
if extension in ['md', 'txt', 'json', 'csv']:
|
|
14
|
-
import anyio
|
|
15
|
-
|
|
16
|
-
async with await anyio.open_file(full_filename, 'r', encoding="utf-8") as f:
|
|
17
|
-
content = await f.read()
|
|
18
|
-
return f'Read from file {full_filename}.\n<content>\n{content}\n</content>'
|
|
19
|
-
elif extension == 'pdf':
|
|
20
|
-
import pypdf
|
|
21
|
-
|
|
22
|
-
reader = pypdf.PdfReader(full_filename)
|
|
23
|
-
num_pages = len(reader.pages)
|
|
24
|
-
MAX_PDF_PAGES = 10
|
|
25
|
-
extra_pages = num_pages - MAX_PDF_PAGES
|
|
26
|
-
extracted_text = ''
|
|
27
|
-
for page in reader.pages[:MAX_PDF_PAGES]:
|
|
28
|
-
extracted_text += page.extract_text()
|
|
29
|
-
extra_pages_text = f'{extra_pages} more pages...' if extra_pages > 0 else ''
|
|
30
|
-
return f'Read from file {full_filename}.\n<content>\n{extracted_text}\n{extra_pages_text}</content>'
|
|
31
|
-
else:
|
|
32
|
-
return f'Error: Cannot read file {full_filename} as {extension} extension is not supported.'
|
|
33
|
-
except FileNotFoundError:
|
|
34
|
-
return f"Error: File '{full_filename}' not found."
|
|
35
|
-
except PermissionError:
|
|
36
|
-
return f"Error: Permission denied to read file '{full_filename}'."
|
|
37
|
-
except Exception as e:
|
|
38
|
-
return f"Error: Could not read file '{full_filename}'."
|
|
39
|
-
|
|
40
|
-
if not self._is_valid_filename(full_filename):
|
|
41
|
-
return INVALID_FILENAME_ERROR_MESSAGE
|
|
42
|
-
|
|
43
|
-
file_obj = self.get_file(full_filename)
|
|
44
|
-
if not file_obj:
|
|
45
|
-
return f"File '{full_filename}' not found."
|
|
46
|
-
|
|
47
|
-
try:
|
|
48
|
-
content = file_obj.read()
|
|
49
|
-
return f'Read from file {full_filename}.\n<content>\n{content}\n</content>'
|
|
50
|
-
except FileSystemError as e:
|
|
51
|
-
return str(e)
|
|
52
|
-
except Exception:
|
|
53
|
-
return f"Error: Could not read file '{full_filename}'."
|
vibe_surf/controller/views.py
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
from typing import Generic, TypeVar
|
|
2
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class HoverAction(BaseModel):
|
|
6
|
-
"""Parameters for hover action"""
|
|
7
|
-
index: int | None = None
|
|
8
|
-
xpath: str | None = None
|
|
9
|
-
selector: str | None = None
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class ExtractionAction(BaseModel):
|
|
13
|
-
query: str = Field(
|
|
14
|
-
default="summary this page",
|
|
15
|
-
description='Extraction goal',
|
|
16
|
-
)
|
|
17
|
-
extract_links: bool | None = Field(
|
|
18
|
-
default=False,
|
|
19
|
-
description='Whether to extract links',
|
|
20
|
-
)
|
|
21
|
-
tab_id: str | None = Field(
|
|
22
|
-
default=None,
|
|
23
|
-
min_length=4,
|
|
24
|
-
max_length=4,
|
|
25
|
-
description='exact 4 character Tab ID of the tab for extraction',
|
|
26
|
-
) # last 4 chars of TargetID
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class FileExtractionAction(BaseModel):
|
|
30
|
-
"""Parameters for file content extraction action"""
|
|
31
|
-
file_path: str = Field(
|
|
32
|
-
description='Path to the file to extract content from',
|
|
33
|
-
)
|
|
34
|
-
query: str = Field(
|
|
35
|
-
default="Extract and summarize the content from this file",
|
|
36
|
-
description='Query or instruction for content extraction',
|
|
37
|
-
)
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
vibe_surf/__init__.py,sha256=WtduuMFGauMD_9dpk4fnRnLTAP6ka9Lfu0feAFNzLfo,339
|
|
2
|
-
vibe_surf/_version.py,sha256=8Nz4KJDOIAS7ZwcZPACvILMn3LdSoG-qEcWiG2yBbi0,712
|
|
3
|
-
vibe_surf/cli.py,sha256=rrGhAQijq6y36QFJ7dEPFeCDaqvZtOE5yVYnNEuhRiI,17439
|
|
4
|
-
vibe_surf/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
vibe_surf/agents/browser_use_agent.py,sha256=5NXZCQphHKlyNtLjhwG9ezBXFIo91ZnlFPRhUye7c3U,45202
|
|
6
|
-
vibe_surf/agents/report_writer_agent.py,sha256=E5mSirewzH4Oyv385-Nn2Mf1Ug3OCVBz99PoTbvKRfQ,13860
|
|
7
|
-
vibe_surf/agents/vibe_surf_agent.py,sha256=bl0Xl9Aw3qFvKGlWA6ctrWF5Y09DDadGfNaY524T_yQ,70370
|
|
8
|
-
vibe_surf/agents/prompts/__init__.py,sha256=l4ieA0D8kLJthyNN85FKLNe4ExBa3stY3l-aImLDRD0,36
|
|
9
|
-
vibe_surf/agents/prompts/vibe_surf_prompt.py,sha256=u-6KgLSnBbQohS5kiLZDcZ3aoT90ScVONXi9gNvdMoo,11006
|
|
10
|
-
vibe_surf/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
vibe_surf/backend/llm_config.py,sha256=9V8Gg065TQALbOKQnOqFWd8RzOJjegOD8w6YOf90Q7Y,5036
|
|
12
|
-
vibe_surf/backend/main.py,sha256=Y1xZJNBjOhgOjNegmetZj9AGUIn2ft10FSCCvMl4XRo,4047
|
|
13
|
-
vibe_surf/backend/shared_state.py,sha256=yTGyojod0k3Y4ZxtKr4l75ewLAyvnLtAR43nbbSCryU,23135
|
|
14
|
-
vibe_surf/backend/api/__init__.py,sha256=XxF1jUOORpLYCfFuPrrnUGRnOrr6ClH0_MNPU-4RnSs,68
|
|
15
|
-
vibe_surf/backend/api/activity.py,sha256=NRSTsN3JnE63kDFhfgH3rmC9qxAeIaMKUqbXrOuZlSQ,9364
|
|
16
|
-
vibe_surf/backend/api/config.py,sha256=9yTip3L0dBCy8jP6MqbpX_hk1Zk8KYrR-W18R0i7wjI,27091
|
|
17
|
-
vibe_surf/backend/api/files.py,sha256=cJ2XYm9ERI-yHL1smldPEe8WJ3vfKxMvcfyXSmqEdcc,12056
|
|
18
|
-
vibe_surf/backend/api/models.py,sha256=HVWiwGo3375LuQRPmRU93Mm6POq2ZpvQ8kKXq31zOj8,10357
|
|
19
|
-
vibe_surf/backend/api/task.py,sha256=htVJwTBXX5Fwsy4P0lT-OSiN41xOKUf105SvK1qwyeI,11063
|
|
20
|
-
vibe_surf/backend/database/__init__.py,sha256=XhmcscnhgMhUyXML7m4SnuQIqkFpyY_zJ0D3yYa2RqQ,239
|
|
21
|
-
vibe_surf/backend/database/manager.py,sha256=Hbelc7CfcZlGm7i99_IKg8FO7ZLMc6_dBDVxru-GMPc,4466
|
|
22
|
-
vibe_surf/backend/database/models.py,sha256=mePuHsaSqJKA4TthvXbup_Ioann2_chxywiLKqAWyh4,7009
|
|
23
|
-
vibe_surf/backend/database/queries.py,sha256=Z_JNkInf2QlG52h6miffdX0BYDxrn0fvHrYxB8ZP390,34209
|
|
24
|
-
vibe_surf/backend/database/schemas.py,sha256=TkRyCpkDD17GRu4vj-5a8CvXRJY5UDx6dVGUZUNbbRg,3407
|
|
25
|
-
vibe_surf/backend/migrations/__init__.py,sha256=dLhZwW6AGyfBSid-QJPCpIlS4DnYDvO8NyI4s8JAZB8,383
|
|
26
|
-
vibe_surf/backend/migrations/init_db.py,sha256=pY2Yq7K1vPxqT8r3jlAQcYEQWK-GGbb0F7W5asGpuew,10399
|
|
27
|
-
vibe_surf/backend/migrations/seed_data.py,sha256=L6Ll-u8P4cICAUlD5y9urQPSUld6M67erSBCEIdw8Uc,8239
|
|
28
|
-
vibe_surf/backend/utils/__init__.py,sha256=V8leMFp7apAglUAoCHPZrNNcRHthSLYIudIJE5qwjb0,184
|
|
29
|
-
vibe_surf/backend/utils/encryption.py,sha256=JBl0olXQ-tESvZywuhGvy57soLhFw4ZKnbXWMWpgimg,3720
|
|
30
|
-
vibe_surf/backend/utils/llm_factory.py,sha256=4oHaKpizqA069dcXm0iK5G1SS-fhhOY5l6cM3SCFmwE,9172
|
|
31
|
-
vibe_surf/browser/__init__.py,sha256=_UToO2fZfSCrfjOcxhn4Qq7ZLbYeyPuUUEmqIva-Yv8,325
|
|
32
|
-
vibe_surf/browser/agen_browser_profile.py,sha256=4H4qDjqLqHAfMi3niBI9fd0S1GlVDWYDUUOrEQoNkl8,5677
|
|
33
|
-
vibe_surf/browser/agent_browser_session.py,sha256=KGRl2AtNy0gt0Edfr9ShKqCb68qT4pT9jl0s5ZLN098,22250
|
|
34
|
-
vibe_surf/browser/browser_manager.py,sha256=38lF723AH44rBShl62P34GIDvxvcK4oy57IXyjqHDXs,12275
|
|
35
|
-
vibe_surf/browser/utils.py,sha256=Um_hTZgDH4gL-cCKSeUBMEqPLVForCMYp1nN7ugD5co,35704
|
|
36
|
-
vibe_surf/browser/watchdogs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
vibe_surf/browser/watchdogs/action_watchdog.py,sha256=6lM0nOR67clLzC6nVEMZ2Vam8VHDW8GRlg_jbGUHbPk,5297
|
|
38
|
-
vibe_surf/browser/watchdogs/dom_watchdog.py,sha256=leohqqM9loMbmqobtOMxPSsM2IrK9jyu-xYCSfXIiCA,13045
|
|
39
|
-
vibe_surf/chrome_extension/background.js,sha256=P99qkisiN_Zsn8bu_9dWeXyK8CQthLD9FaGG2z1SMDU,16282
|
|
40
|
-
vibe_surf/chrome_extension/config.js,sha256=g53UkfsaOFNC6fZG-THlBxdSjvswPsaQ9w8rxiHNq2E,1093
|
|
41
|
-
vibe_surf/chrome_extension/content.js,sha256=q6JRpmHAEdPWNnFSIqoPv8eBm0T574c3H5hp-M4LYlc,8027
|
|
42
|
-
vibe_surf/chrome_extension/dev-reload.js,sha256=xQpi-1Ekb5P8Ogsm6rUK09QzxafwH0H409zBKmaUFNw,1790
|
|
43
|
-
vibe_surf/chrome_extension/manifest.json,sha256=swN9LpeGE0etjuRyxaBKKgPrYLav0ctxmJOEsSn08u8,1103
|
|
44
|
-
vibe_surf/chrome_extension/popup.html,sha256=n3dI_-WbILm0q8O_za6xX0WvOofz5lwT_7YXs0u9RAE,4248
|
|
45
|
-
vibe_surf/chrome_extension/sidepanel.html,sha256=Ky8J-JdUHbPKnBMPJHF_oqzKboBcG-FhaIlR1-c09h8,23800
|
|
46
|
-
vibe_surf/chrome_extension/icons/convert-svg.js,sha256=j137nZA7MJK35NtrwWff8yb3UEKa5XTAvnV6EjY-CVI,953
|
|
47
|
-
vibe_surf/chrome_extension/icons/logo-preview.html,sha256=hrgU45uziKHKIb8be9P4ZrZJyGggWnm2M5oEu89V5sM,6962
|
|
48
|
-
vibe_surf/chrome_extension/icons/logo.icns,sha256=ZzY1eIKF4dNhNW4CeE1UBQloxNVC7bQx3qcClo3CnMQ,1569615
|
|
49
|
-
vibe_surf/chrome_extension/icons/logo.png,sha256=PLmv1E6sCGXUE5ZDxr-pFPQd9Gvaw_f1TnYmF8VIssU,566385
|
|
50
|
-
vibe_surf/chrome_extension/scripts/api-client.js,sha256=XwKmH4lP5eAkBqAM8EcQezI0gcMZK8l0RQ3ESEamcn8,13318
|
|
51
|
-
vibe_surf/chrome_extension/scripts/main.js,sha256=WhmCGktQoSl7aaMl8a9ysJJiysAjf12bWGypMucCSVg,16913
|
|
52
|
-
vibe_surf/chrome_extension/scripts/markdown-it.min.js,sha256=gZ3xe0BdCJplNiHWTKrm6AGZydPy34jJKZqFIf-7hIw,102948
|
|
53
|
-
vibe_surf/chrome_extension/scripts/session-manager.js,sha256=Bt5lLE6obU23nsU-EjXaD0zdse2p5pg5N_aR8zb5u_Q,19413
|
|
54
|
-
vibe_surf/chrome_extension/scripts/ui-manager.js,sha256=p91DIGpE5VS83T17Skuba827SAwC8IAxvCX-zrlAafw,142439
|
|
55
|
-
vibe_surf/chrome_extension/styles/animations.css,sha256=TLAet_xXBxCA-H36BWP4xBGBIVjbDdAj7Q6OPxPsbE8,7891
|
|
56
|
-
vibe_surf/chrome_extension/styles/components.css,sha256=7K6khbJcONVAArfeS4qmPBUJxvGGs20-eEw62bD_7VI,14741
|
|
57
|
-
vibe_surf/chrome_extension/styles/main.css,sha256=Z5cIBkE6zJTQ2wvyhWXEqIubsMiwvnZib1p1-GARdeI,48219
|
|
58
|
-
vibe_surf/chrome_extension/styles/settings.css,sha256=oKyLUiRsxW92f9VNkYwGkn7TNaXvjG0NPY2sxtYz5vo,20464
|
|
59
|
-
vibe_surf/controller/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
-
vibe_surf/controller/file_system.py,sha256=a2fXCzAhaC41qvV_bMLi9c50FmcFYjQ0nszSdKOdDrI,2637
|
|
61
|
-
vibe_surf/controller/mcp_client.py,sha256=OjIxx49-XyNGk5wr58m2poT56DVpfkWrVaaeBVZqLY4,2415
|
|
62
|
-
vibe_surf/controller/vibesurf_tools.py,sha256=ynX-IWeFBIS2DzyYP1ZkFOM5nl5O2iTdB93HboOyxbs,26848
|
|
63
|
-
vibe_surf/controller/views.py,sha256=BaPlvcHTy5h-Lfr0OSgR_t6ynitgzNQF4-VUJJt8Hi0,1072
|
|
64
|
-
vibe_surf/llm/__init__.py,sha256=_vDVPo6STf343p1SgMQrF5023hicAx0g83pK2Gbk4Ek,601
|
|
65
|
-
vibe_surf/llm/openai_compatible.py,sha256=oY32VZF4oDS6ZG0h1WGtqAlWzdlximlJVTw8e8p5Zrg,10175
|
|
66
|
-
vibesurf-0.1.9a6.dist-info/licenses/LICENSE,sha256=czn6QYya0-jhLnStD9JqnMS-hwP5wRByipkrGTvoXLI,11355
|
|
67
|
-
vibesurf-0.1.9a6.dist-info/METADATA,sha256=hFmIHMtbzAgYvDgstNrr3UA3LNkswIKTJTHN68JEgG4,4115
|
|
68
|
-
vibesurf-0.1.9a6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
69
|
-
vibesurf-0.1.9a6.dist-info/entry_points.txt,sha256=UxqpvMocL-PR33S6vLF2OmXn-kVzM-DneMeZeHcPMM8,48
|
|
70
|
-
vibesurf-0.1.9a6.dist-info/top_level.txt,sha256=VPZGHqSb6EEqcJ4ZX6bHIuWfon5f6HXl3c7BYpbRqnY,10
|
|
71
|
-
vibesurf-0.1.9a6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|