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.

Files changed (69) hide show
  1. vibe_surf/_version.py +2 -2
  2. vibe_surf/agents/browser_use_agent.py +68 -45
  3. vibe_surf/agents/prompts/report_writer_prompt.py +73 -0
  4. vibe_surf/agents/prompts/vibe_surf_prompt.py +85 -172
  5. vibe_surf/agents/report_writer_agent.py +380 -226
  6. vibe_surf/agents/vibe_surf_agent.py +878 -814
  7. vibe_surf/agents/views.py +130 -0
  8. vibe_surf/backend/api/activity.py +3 -1
  9. vibe_surf/backend/api/browser.py +70 -0
  10. vibe_surf/backend/api/config.py +8 -5
  11. vibe_surf/backend/api/files.py +59 -50
  12. vibe_surf/backend/api/models.py +2 -2
  13. vibe_surf/backend/api/task.py +47 -13
  14. vibe_surf/backend/database/manager.py +24 -18
  15. vibe_surf/backend/database/queries.py +199 -192
  16. vibe_surf/backend/database/schemas.py +1 -1
  17. vibe_surf/backend/main.py +80 -3
  18. vibe_surf/backend/shared_state.py +30 -35
  19. vibe_surf/backend/utils/encryption.py +3 -1
  20. vibe_surf/backend/utils/llm_factory.py +41 -36
  21. vibe_surf/browser/agent_browser_session.py +308 -62
  22. vibe_surf/browser/browser_manager.py +71 -100
  23. vibe_surf/browser/utils.py +5 -3
  24. vibe_surf/browser/watchdogs/dom_watchdog.py +0 -45
  25. vibe_surf/chrome_extension/background.js +88 -0
  26. vibe_surf/chrome_extension/manifest.json +3 -1
  27. vibe_surf/chrome_extension/scripts/api-client.js +13 -0
  28. vibe_surf/chrome_extension/scripts/file-manager.js +482 -0
  29. vibe_surf/chrome_extension/scripts/history-manager.js +658 -0
  30. vibe_surf/chrome_extension/scripts/modal-manager.js +487 -0
  31. vibe_surf/chrome_extension/scripts/session-manager.js +52 -11
  32. vibe_surf/chrome_extension/scripts/settings-manager.js +1214 -0
  33. vibe_surf/chrome_extension/scripts/ui-manager.js +1530 -3163
  34. vibe_surf/chrome_extension/sidepanel.html +47 -7
  35. vibe_surf/chrome_extension/styles/activity.css +934 -0
  36. vibe_surf/chrome_extension/styles/base.css +76 -0
  37. vibe_surf/chrome_extension/styles/history-modal.css +791 -0
  38. vibe_surf/chrome_extension/styles/input.css +568 -0
  39. vibe_surf/chrome_extension/styles/layout.css +186 -0
  40. vibe_surf/chrome_extension/styles/responsive.css +454 -0
  41. vibe_surf/chrome_extension/styles/settings-environment.css +165 -0
  42. vibe_surf/chrome_extension/styles/settings-forms.css +389 -0
  43. vibe_surf/chrome_extension/styles/settings-modal.css +141 -0
  44. vibe_surf/chrome_extension/styles/settings-profiles.css +244 -0
  45. vibe_surf/chrome_extension/styles/settings-responsive.css +144 -0
  46. vibe_surf/chrome_extension/styles/settings-utilities.css +25 -0
  47. vibe_surf/chrome_extension/styles/variables.css +54 -0
  48. vibe_surf/cli.py +5 -22
  49. vibe_surf/common.py +35 -0
  50. vibe_surf/llm/openai_compatible.py +148 -93
  51. vibe_surf/logger.py +99 -0
  52. vibe_surf/{controller/vibesurf_tools.py → tools/browser_use_tools.py} +233 -221
  53. vibe_surf/tools/file_system.py +415 -0
  54. vibe_surf/{controller → tools}/mcp_client.py +4 -3
  55. vibe_surf/tools/report_writer_tools.py +21 -0
  56. vibe_surf/tools/vibesurf_tools.py +657 -0
  57. vibe_surf/tools/views.py +120 -0
  58. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/METADATA +23 -3
  59. vibesurf-0.1.11.dist-info/RECORD +93 -0
  60. vibe_surf/chrome_extension/styles/main.css +0 -2338
  61. vibe_surf/chrome_extension/styles/settings.css +0 -1100
  62. vibe_surf/controller/file_system.py +0 -53
  63. vibe_surf/controller/views.py +0 -37
  64. vibesurf-0.1.9a6.dist-info/RECORD +0 -71
  65. /vibe_surf/{controller → tools}/__init__.py +0 -0
  66. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/WHEEL +0 -0
  67. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/entry_points.txt +0 -0
  68. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/licenses/LICENSE +0 -0
  69. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.11.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,120 @@
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
+ )
38
+
39
+
40
+ class BrowserUseAgentTask(BaseModel):
41
+ """Parameters for a single browser_use agent task"""
42
+ tab_id: str | None = Field(
43
+ default=None,
44
+ description='Tab ID to execute the task on. If None, a new blank page will be created',
45
+ )
46
+ task: str = Field(
47
+ description='Task description focusing on what needs to be done, goals, and expected returns. Browser_use agent has its own planning and execution capabilities',
48
+ )
49
+ task_files: list[str] | None = Field(
50
+ default=None,
51
+ description='Optional list of file paths that may be needed for executing this task',
52
+ )
53
+
54
+
55
+ class BrowserUseAgentExecution(BaseModel):
56
+ """Parameters for executing browser_use agent tasks in parallel"""
57
+ tasks: list[BrowserUseAgentTask] = Field(
58
+ description='List of tasks to execute concurrently using browser_use agents for improved efficiency. '
59
+ 'If only one task is provided, the agent can take over the entire browser and can also see and operate all tabs.',
60
+ min_length=1,
61
+ )
62
+
63
+ class BrowserUseFile(BaseModel):
64
+ file_path: str = Field(description='Path to the file')
65
+ file_description: str = Field(
66
+ description='Description of the file. Briefly describe what this file is and what key information it contains.',
67
+ )
68
+
69
+
70
+ class BrowserUseDoneAction(BaseModel):
71
+ """Parameters for done browser_use agent tasks"""
72
+ text: str
73
+ files_to_return: list[BrowserUseFile] | None = Field(
74
+ description='List of files relative to user request or task.',
75
+ )
76
+
77
+
78
+ class ReportWriterTask(BaseModel):
79
+ """Parameters for report writer agent task"""
80
+ task: str = Field(
81
+ description='Task description including report requirements, goals, insights seen, and any hints or tips for generating the report',
82
+ )
83
+
84
+
85
+ class TodoGenerateAction(BaseModel):
86
+ """Parameters for generating todo.md file"""
87
+ todo_items: list[str] = Field(
88
+ description='List of todo items to write to todo.md file',
89
+ min_length=1,
90
+ )
91
+
92
+
93
+ class TodoModification(BaseModel):
94
+ """Single todo modification operation"""
95
+ action: str = Field(
96
+ description='Type of modification: "add", "remove", "complete", or "uncompleted"',
97
+ )
98
+ item: str = Field(
99
+ description='Text of the todo item to operate on',
100
+ )
101
+
102
+
103
+ class TodoModifyAction(BaseModel):
104
+ """Parameters for modifying todo items"""
105
+ modifications: list[TodoModification] = Field(
106
+ description='List of todo modifications to apply',
107
+ min_length=1,
108
+ )
109
+
110
+
111
+ class VibeSurfDoneAction(BaseModel):
112
+ """Parameters for task completion output"""
113
+ response: str = Field(
114
+ description='Task completion response - can be simple response for basic tasks or comprehensive markdown summary for complex tasks with key findings, results, and file links',
115
+ )
116
+ suggestion_follow_tasks: list[str] | None = Field(
117
+ default=None,
118
+ description='Optional list of 1-3 suggested follow-up tasks. Each task can only be described in one sentence, and each task must be strongly related to or extended from the original task.',
119
+ max_length=3,
120
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vibesurf
3
- Version: 0.1.9a6
3
+ Version: 0.1.11
4
4
  Summary: VibeSurf: A powerful browser assistant for vibe surfing
5
5
  Author: Shao Warm
6
6
  License: Apache-2.0
@@ -37,7 +37,11 @@ Requires-Dist: aiosqlite>=0.21.0
37
37
  Requires-Dist: rich>=13.0.0
38
38
  Requires-Dist: greenlet>=3.2.4
39
39
  Requires-Dist: getmac>=0.9.5
40
- Requires-Dist: browser-use==0.7.1
40
+ Requires-Dist: browser-use==0.7.7
41
+ Requires-Dist: markdown-pdf>=1.9
42
+ Requires-Dist: nanoid>=2.0.0
43
+ Requires-Dist: markdownify>=1.2.0
44
+ Requires-Dist: pathvalidate>=3.3.1
41
45
  Dynamic: license-file
42
46
 
43
47
  # VibeSurf: A powerful browser assistant for vibe surfing
@@ -81,9 +85,25 @@ uv pip install vibesurf -U
81
85
 
82
86
  ### Step 3: Launch
83
87
  ```bash
84
- vibesurf
88
+ uv run vibesurf
85
89
  ```
86
90
 
91
+ ## 🗺️ Roadmap
92
+
93
+ ### 🤖 Agent Enhancements
94
+
95
+ - **VibeSurf Agent Refactoring**: Remove LangGraph framework dependency to make the agent more flexible and powerful
96
+ - **Advanced Coding Agent**: Design a powerful coding agent capable of handling and analyzing complex data, generating charts and visualizations. Combined with VibeSurf agent, this will create a "local Manus" experience
97
+ - **Enhanced Report Writer Agent**: Optimize the report writer to generate more visually appealing reports with rich graphics and illustrations
98
+ - **Global Memory System**: Implement global memory capabilities to make VibeSurf understand and adapt to user preferences better
99
+
100
+ ### 🧩 Extension Features
101
+
102
+ - **Enhanced Tab Management**: Add @specific tab handling with `/research` and `/deep_research` specialized task commands
103
+ - **Smart Text Processing**: Implement word/paragraph translation, summarization, and explanation features for selected content
104
+ - **Local Credential Management**: Add secure credential configuration system to keep your privacy data stored locally
105
+
106
+
87
107
  ## 🎬 Demo
88
108
 
89
109
  ### How to use?
@@ -0,0 +1,93 @@
1
+ vibe_surf/__init__.py,sha256=WtduuMFGauMD_9dpk4fnRnLTAP6ka9Lfu0feAFNzLfo,339
2
+ vibe_surf/_version.py,sha256=0-Ruc52ECccw_8Ef0d7jMkzrb8fkobUkZLqGGvcm1ik,706
3
+ vibe_surf/cli.py,sha256=zXE3E1o06sGhmQwMo6FrEzGI6RfaiVP6k62FEgIoUU4,16679
4
+ vibe_surf/common.py,sha256=_WWMxen5wFwzUjEShn3yDVC1OBFUiJ6Vccadi6tuG6w,1215
5
+ vibe_surf/logger.py,sha256=k53MFA96QX6t9OfcOf1Zws8PP0OOqjVJfhUD3Do9lKw,3043
6
+ vibe_surf/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ vibe_surf/agents/browser_use_agent.py,sha256=1gbljYbB8drL_vZm2jFs5d3cZHWfB6CRIT6blwiPvhs,46024
8
+ vibe_surf/agents/report_writer_agent.py,sha256=tKELps-FjZq06OKXpoyS-zJzvfdYXM6UnXDrR2oZk6M,20970
9
+ vibe_surf/agents/vibe_surf_agent.py,sha256=ev0riS1el9oV0NJLo_HldcrQ1DX-2c5e6InTXx4zR4g,73026
10
+ vibe_surf/agents/views.py,sha256=bcVOxd9On2lJ4NSar5RqP1V7Nw_RBtkHJPE-f2kVdRA,4750
11
+ vibe_surf/agents/prompts/__init__.py,sha256=l4ieA0D8kLJthyNN85FKLNe4ExBa3stY3l-aImLDRD0,36
12
+ vibe_surf/agents/prompts/report_writer_prompt.py,sha256=sZE8MUT1CDLmRzbnbEQzAvTwJjpITgh2Q8g1_eXmkzE,4454
13
+ vibe_surf/agents/prompts/vibe_surf_prompt.py,sha256=8bC7IJNbK7_jLbxjVsta3urZIi-FLCQbfSLQEjnkeLQ,5579
14
+ vibe_surf/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ vibe_surf/backend/llm_config.py,sha256=9V8Gg065TQALbOKQnOqFWd8RzOJjegOD8w6YOf90Q7Y,5036
16
+ vibe_surf/backend/main.py,sha256=nZDs_FkYU7NdqSm1O4OwHJslYIJZL1Gr3CEKa8ByaEY,7178
17
+ vibe_surf/backend/shared_state.py,sha256=cVZepa1A0vo4tzNJM_-8y2F4DkRTx6Qo7ZrKW6d7aVg,22860
18
+ vibe_surf/backend/api/__init__.py,sha256=XxF1jUOORpLYCfFuPrrnUGRnOrr6ClH0_MNPU-4RnSs,68
19
+ vibe_surf/backend/api/activity.py,sha256=_cnHusqolt5Hf3KdAf6FK-3sBc-TSaadmb5dJxGI57A,9398
20
+ vibe_surf/backend/api/browser.py,sha256=NXedyZG3NIVRIx5O7d9mHwVWX-Q4_KsX5mSgfKt8UEA,2122
21
+ vibe_surf/backend/api/config.py,sha256=EwzxYvC6HlaVo2OFWjtBmBMjX4eW2q8hp7l2LO2GZV0,27124
22
+ vibe_surf/backend/api/files.py,sha256=kJMG9MWECKXwGh64Q6xvAzNjeZGcLhIEnn65HiMZHKE,11762
23
+ vibe_surf/backend/api/models.py,sha256=iyMBdpDkOfwx0h2yRkjmYjRdFyDErhO8XZcWTurdcmU,10347
24
+ vibe_surf/backend/api/task.py,sha256=VP_Y8vLX4qeRrZegc2p6kvMBkU12e3mnzbIHk-JsYFY,12345
25
+ vibe_surf/backend/database/__init__.py,sha256=XhmcscnhgMhUyXML7m4SnuQIqkFpyY_zJ0D3yYa2RqQ,239
26
+ vibe_surf/backend/database/manager.py,sha256=aC8XQc68qDsaryrux7VfCEl2hnEZL5kfnEkXWXPg2ig,4427
27
+ vibe_surf/backend/database/models.py,sha256=mePuHsaSqJKA4TthvXbup_Ioann2_chxywiLKqAWyh4,7009
28
+ vibe_surf/backend/database/queries.py,sha256=2ff9w7piY6ssIPgqnEM15qCX8gsZuUgmS00fwaZSEHQ,33638
29
+ vibe_surf/backend/database/schemas.py,sha256=OPnpRKwYG1Cu8geJ6pajiEDF8x8mRestXnAfI4Gy18w,3402
30
+ vibe_surf/backend/migrations/__init__.py,sha256=dLhZwW6AGyfBSid-QJPCpIlS4DnYDvO8NyI4s8JAZB8,383
31
+ vibe_surf/backend/migrations/init_db.py,sha256=pY2Yq7K1vPxqT8r3jlAQcYEQWK-GGbb0F7W5asGpuew,10399
32
+ vibe_surf/backend/migrations/seed_data.py,sha256=L6Ll-u8P4cICAUlD5y9urQPSUld6M67erSBCEIdw8Uc,8239
33
+ vibe_surf/backend/utils/__init__.py,sha256=V8leMFp7apAglUAoCHPZrNNcRHthSLYIudIJE5qwjb0,184
34
+ vibe_surf/backend/utils/encryption.py,sha256=CjLNh_n0Luhfa-6BB-icfzkiiDqj5b4Gu6MADU3p2eM,3754
35
+ vibe_surf/backend/utils/llm_factory.py,sha256=g1G_fkIBdDqZypTGuYGgnU5CCudpVE505n4AUdlSE5Q,8991
36
+ vibe_surf/browser/__init__.py,sha256=_UToO2fZfSCrfjOcxhn4Qq7ZLbYeyPuUUEmqIva-Yv8,325
37
+ vibe_surf/browser/agen_browser_profile.py,sha256=4H4qDjqLqHAfMi3niBI9fd0S1GlVDWYDUUOrEQoNkl8,5677
38
+ vibe_surf/browser/agent_browser_session.py,sha256=rptz2MdXspS44zC21nJaLOmp5aEWsvBfvzpDk5Jr-mA,33884
39
+ vibe_surf/browser/browser_manager.py,sha256=PFJ9flmqR2uokuRZ3PDh_Dy6_6qcQ6kH_eRc1yT6Iq8,11257
40
+ vibe_surf/browser/utils.py,sha256=bBtpMiyz2ixWOr31GbJwZ8pVYcnxztKjTJJO92z1BDY,35742
41
+ vibe_surf/browser/watchdogs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ vibe_surf/browser/watchdogs/action_watchdog.py,sha256=6lM0nOR67clLzC6nVEMZ2Vam8VHDW8GRlg_jbGUHbPk,5297
43
+ vibe_surf/browser/watchdogs/dom_watchdog.py,sha256=c0AJo2yckWFZqpgnPz7RbsRjcpwlhjD4mSIzCAbRn48,10994
44
+ vibe_surf/chrome_extension/background.js,sha256=qXbX-XhEI5reW7n7ePBcyqEJUh4HtlcAxgfWvg92-_k,19628
45
+ vibe_surf/chrome_extension/config.js,sha256=g53UkfsaOFNC6fZG-THlBxdSjvswPsaQ9w8rxiHNq2E,1093
46
+ vibe_surf/chrome_extension/content.js,sha256=q6JRpmHAEdPWNnFSIqoPv8eBm0T574c3H5hp-M4LYlc,8027
47
+ vibe_surf/chrome_extension/dev-reload.js,sha256=xQpi-1Ekb5P8Ogsm6rUK09QzxafwH0H409zBKmaUFNw,1790
48
+ vibe_surf/chrome_extension/manifest.json,sha256=B08nHuU-bPc-pUr30Y-of39TjMlrE7D5gP2sZjZ8CrE,1142
49
+ vibe_surf/chrome_extension/popup.html,sha256=n3dI_-WbILm0q8O_za6xX0WvOofz5lwT_7YXs0u9RAE,4248
50
+ vibe_surf/chrome_extension/sidepanel.html,sha256=ams_TCA68787uVRnQ7J70b4rNzMEWzQsgVvSHoabouI,25942
51
+ vibe_surf/chrome_extension/icons/convert-svg.js,sha256=j137nZA7MJK35NtrwWff8yb3UEKa5XTAvnV6EjY-CVI,953
52
+ vibe_surf/chrome_extension/icons/logo-preview.html,sha256=hrgU45uziKHKIb8be9P4ZrZJyGggWnm2M5oEu89V5sM,6962
53
+ vibe_surf/chrome_extension/icons/logo.icns,sha256=ZzY1eIKF4dNhNW4CeE1UBQloxNVC7bQx3qcClo3CnMQ,1569615
54
+ vibe_surf/chrome_extension/icons/logo.png,sha256=PLmv1E6sCGXUE5ZDxr-pFPQd9Gvaw_f1TnYmF8VIssU,566385
55
+ vibe_surf/chrome_extension/scripts/api-client.js,sha256=EMxNiuyw76UZ6K7-qOP2qpZDmZGvvZ8xPFy5pwIPu0w,13595
56
+ vibe_surf/chrome_extension/scripts/file-manager.js,sha256=WcEaeoECq84jXqEo3Q2ywmqppwSUVm-0dtrbTYXL07g,15809
57
+ vibe_surf/chrome_extension/scripts/history-manager.js,sha256=J_EiBKrRp2cTxuy0Sq5oCju5YuX0_2pGG6NWrJSjC24,22218
58
+ vibe_surf/chrome_extension/scripts/main.js,sha256=WhmCGktQoSl7aaMl8a9ysJJiysAjf12bWGypMucCSVg,16913
59
+ vibe_surf/chrome_extension/scripts/markdown-it.min.js,sha256=gZ3xe0BdCJplNiHWTKrm6AGZydPy34jJKZqFIf-7hIw,102948
60
+ vibe_surf/chrome_extension/scripts/modal-manager.js,sha256=VjkbTfknzwoUHFoSiLj19J18eTZ6u78I0ujuOIDAKhU,13850
61
+ vibe_surf/chrome_extension/scripts/session-manager.js,sha256=LGSiUHSeMgJwIWluk4TuoomSi_z6m_qDc08Vbg6SOWw,20680
62
+ vibe_surf/chrome_extension/scripts/settings-manager.js,sha256=FE5rMm3HTY1M7dzyQ2jnmCRmff1PDtqy6GNDV3tJOVk,47435
63
+ vibe_surf/chrome_extension/scripts/ui-manager.js,sha256=K5jLaCc1KpX1R74a_PVOemEn6008amChHgbQMjsLi9s,78695
64
+ vibe_surf/chrome_extension/styles/activity.css,sha256=aEFa_abskrDQvwsesPVOyJW3rUQUEBQpMKPHhY94CoA,19601
65
+ vibe_surf/chrome_extension/styles/animations.css,sha256=TLAet_xXBxCA-H36BWP4xBGBIVjbDdAj7Q6OPxPsbE8,7891
66
+ vibe_surf/chrome_extension/styles/base.css,sha256=d8nt7Wej1r57G6pnBIGKEVkepFxlq8Ets0isngCf5w8,1296
67
+ vibe_surf/chrome_extension/styles/components.css,sha256=7K6khbJcONVAArfeS4qmPBUJxvGGs20-eEw62bD_7VI,14741
68
+ vibe_surf/chrome_extension/styles/history-modal.css,sha256=xCg0EPz1N4kg47jnz9q9E1M4zGag8lJMt_msAOkZi3M,16583
69
+ vibe_surf/chrome_extension/styles/input.css,sha256=ZEApufxeDOdeB5MowC3QQccrj_sKoj0-vxlgcf7rmWM,11986
70
+ vibe_surf/chrome_extension/styles/layout.css,sha256=ggh-lWpP6sHubFkshf9dcmA52LiXw7VJmQXcM5_EGcY,3528
71
+ vibe_surf/chrome_extension/styles/responsive.css,sha256=a_SFX-PeOcenG4xMeoru5XFnnXdf0YhEyRzvTVVZHdI,8529
72
+ vibe_surf/chrome_extension/styles/settings-environment.css,sha256=OzgezmfZZ_yD60Jy9Uiq83mDmMCfk2dPPcZISb9Eqd4,3390
73
+ vibe_surf/chrome_extension/styles/settings-forms.css,sha256=alBDabKacyxw0kf116Lr8WU4bjdWqTDht01MtIRMjj4,6970
74
+ vibe_surf/chrome_extension/styles/settings-modal.css,sha256=VEkr1WmDltdeaoP4fWJ-Jk2t8TNrB5rsz-zLUv3usPI,2727
75
+ vibe_surf/chrome_extension/styles/settings-profiles.css,sha256=o0FowPPiZum_DvYIGF5p4gEl63QVXTHDoVeD1Q4yy_s,4946
76
+ vibe_surf/chrome_extension/styles/settings-responsive.css,sha256=jLE0yG15n2aI6_6QF04Rh0Y-oqqLNen81YAVt5yc2Ws,2168
77
+ vibe_surf/chrome_extension/styles/settings-utilities.css,sha256=3PuQS2857kg83d5erLbLdo_7J95-qV-qyNWS5M-w1oQ,505
78
+ vibe_surf/chrome_extension/styles/variables.css,sha256=VbFJ8L76AaJUqb6gCz9jEG_V6OX4YJa65I2iyeNJIw4,1411
79
+ vibe_surf/llm/__init__.py,sha256=_vDVPo6STf343p1SgMQrF5023hicAx0g83pK2Gbk4Ek,601
80
+ vibe_surf/llm/openai_compatible.py,sha256=uyXWAD1LDvFa0zyMRrX2MAnsy96iTSIiVAoYQD6D5NQ,12297
81
+ vibe_surf/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
+ vibe_surf/tools/browser_use_tools.py,sha256=gWiBj-YPz7kQYi0yekuvpPQ2Z2-EBLuutF6rf71iOcM,28781
83
+ vibe_surf/tools/file_system.py,sha256=SPO5V7TogkMTVBAiszJffAIfoQ2Lmhhg8ONujJ9CKuU,18007
84
+ vibe_surf/tools/mcp_client.py,sha256=OeCoTgyx4MoY7JxXndK6pGHIoyFOhf5r7XCbx25y1Ec,2446
85
+ vibe_surf/tools/report_writer_tools.py,sha256=sUqUFr-_Rs8RJ0Bs77Hrp07kNwRIvHv7ErzSPYSlbTg,705
86
+ vibe_surf/tools/vibesurf_tools.py,sha256=uSsymefr-SrVAuDtvNGsB0Am4QeTuHuL-4KJABQW8dg,29880
87
+ vibe_surf/tools/views.py,sha256=KwzzXXZJqyW1oyszA0Z4buDDqAm-6PXsCAB0nB7z_sQ,4218
88
+ vibesurf-0.1.11.dist-info/licenses/LICENSE,sha256=czn6QYya0-jhLnStD9JqnMS-hwP5wRByipkrGTvoXLI,11355
89
+ vibesurf-0.1.11.dist-info/METADATA,sha256=hLcfigUl-NbDJzLWLyNwQKnAH8biCnDsFBRv1dFSjYs,5313
90
+ vibesurf-0.1.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
91
+ vibesurf-0.1.11.dist-info/entry_points.txt,sha256=UxqpvMocL-PR33S6vLF2OmXn-kVzM-DneMeZeHcPMM8,48
92
+ vibesurf-0.1.11.dist-info/top_level.txt,sha256=VPZGHqSb6EEqcJ4ZX6bHIuWfon5f6HXl3c7BYpbRqnY,10
93
+ vibesurf-0.1.11.dist-info/RECORD,,