vibesurf 0.1.9a6__py3-none-any.whl → 0.1.10__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.
Files changed (41) hide show
  1. vibe_surf/_version.py +2 -2
  2. vibe_surf/agents/vibe_surf_agent.py +25 -15
  3. vibe_surf/backend/api/browser.py +66 -0
  4. vibe_surf/backend/api/task.py +2 -1
  5. vibe_surf/backend/main.py +76 -1
  6. vibe_surf/backend/shared_state.py +2 -0
  7. vibe_surf/browser/agent_browser_session.py +312 -62
  8. vibe_surf/browser/browser_manager.py +57 -92
  9. vibe_surf/browser/watchdogs/dom_watchdog.py +43 -43
  10. vibe_surf/chrome_extension/background.js +84 -0
  11. vibe_surf/chrome_extension/manifest.json +3 -1
  12. vibe_surf/chrome_extension/scripts/file-manager.js +526 -0
  13. vibe_surf/chrome_extension/scripts/history-manager.js +658 -0
  14. vibe_surf/chrome_extension/scripts/modal-manager.js +487 -0
  15. vibe_surf/chrome_extension/scripts/session-manager.js +31 -8
  16. vibe_surf/chrome_extension/scripts/settings-manager.js +1214 -0
  17. vibe_surf/chrome_extension/scripts/ui-manager.js +770 -3186
  18. vibe_surf/chrome_extension/sidepanel.html +27 -4
  19. vibe_surf/chrome_extension/styles/activity.css +574 -0
  20. vibe_surf/chrome_extension/styles/base.css +76 -0
  21. vibe_surf/chrome_extension/styles/history-modal.css +791 -0
  22. vibe_surf/chrome_extension/styles/input.css +429 -0
  23. vibe_surf/chrome_extension/styles/layout.css +186 -0
  24. vibe_surf/chrome_extension/styles/responsive.css +454 -0
  25. vibe_surf/chrome_extension/styles/settings-environment.css +165 -0
  26. vibe_surf/chrome_extension/styles/settings-forms.css +389 -0
  27. vibe_surf/chrome_extension/styles/settings-modal.css +141 -0
  28. vibe_surf/chrome_extension/styles/settings-profiles.css +244 -0
  29. vibe_surf/chrome_extension/styles/settings-responsive.css +144 -0
  30. vibe_surf/chrome_extension/styles/settings-utilities.css +25 -0
  31. vibe_surf/chrome_extension/styles/variables.css +54 -0
  32. vibe_surf/cli.py +1 -0
  33. vibe_surf/controller/vibesurf_tools.py +0 -2
  34. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.10.dist-info}/METADATA +18 -2
  35. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.10.dist-info}/RECORD +39 -23
  36. vibe_surf/chrome_extension/styles/main.css +0 -2338
  37. vibe_surf/chrome_extension/styles/settings.css +0 -1100
  38. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.10.dist-info}/WHEEL +0 -0
  39. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.10.dist-info}/entry_points.txt +0 -0
  40. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.10.dist-info}/licenses/LICENSE +0 -0
  41. {vibesurf-0.1.9a6.dist-info → vibesurf-0.1.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,244 @@
1
+ /* Profile Management Components */
2
+
3
+ /* Profile Cards */
4
+ .profiles-container {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: 16px;
8
+ margin-bottom: 24px;
9
+ }
10
+
11
+ .profile-card {
12
+ background: var(--bg-secondary);
13
+ border: 1px solid var(--border-color);
14
+ border-radius: 12px;
15
+ padding: 20px;
16
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
17
+ position: relative;
18
+ overflow: hidden;
19
+ }
20
+
21
+ .profile-card::before {
22
+ content: '';
23
+ position: absolute;
24
+ top: 0;
25
+ left: 0;
26
+ right: 0;
27
+ height: 4px;
28
+ background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
29
+ transform: scaleX(0);
30
+ transition: transform 0.3s ease;
31
+ }
32
+
33
+ .profile-card:hover {
34
+ border-color: var(--primary-color);
35
+ background: var(--bg-hover);
36
+ transform: translateY(-2px);
37
+ box-shadow: 0 8px 24px rgba(0, 122, 204, 0.15);
38
+ }
39
+
40
+ .profile-card:hover::before {
41
+ transform: scaleX(1);
42
+ }
43
+
44
+ .profile-header {
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: space-between;
48
+ margin-bottom: 12px;
49
+ }
50
+
51
+ .profile-name {
52
+ font-size: 18px;
53
+ font-weight: 600;
54
+ color: var(--text-primary);
55
+ margin: 0;
56
+ }
57
+
58
+ .profile-badges {
59
+ display: flex;
60
+ align-items: center;
61
+ gap: 8px;
62
+ }
63
+
64
+ .profile-badge {
65
+ padding: 4px 10px;
66
+ border-radius: 8px;
67
+ font-size: 12px;
68
+ font-weight: 600;
69
+ text-transform: uppercase;
70
+ letter-spacing: 0.5px;
71
+ }
72
+
73
+ .profile-badge.default {
74
+ background: linear-gradient(135deg, rgba(40, 167, 69, 0.1), rgba(40, 167, 69, 0.2));
75
+ color: var(--accent-color);
76
+ border: 1px solid rgba(40, 167, 69, 0.3);
77
+ }
78
+
79
+ .profile-badge.active {
80
+ background: linear-gradient(135deg, rgba(0, 122, 204, 0.1), rgba(0, 122, 204, 0.2));
81
+ color: var(--primary-color);
82
+ border: 1px solid rgba(0, 122, 204, 0.3);
83
+ }
84
+
85
+ .profile-badge.inactive {
86
+ background: linear-gradient(135deg, rgba(108, 117, 125, 0.1), rgba(108, 117, 125, 0.2));
87
+ color: var(--text-muted);
88
+ border: 1px solid rgba(108, 117, 125, 0.3);
89
+ }
90
+
91
+ .profile-details {
92
+ font-size: 14px;
93
+ color: var(--text-secondary);
94
+ margin-bottom: 16px;
95
+ line-height: 1.5;
96
+ }
97
+
98
+ .profile-meta {
99
+ display: grid;
100
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
101
+ gap: 12px;
102
+ margin-bottom: 16px;
103
+ }
104
+
105
+ .profile-meta-item {
106
+ display: flex;
107
+ flex-direction: column;
108
+ }
109
+
110
+ .profile-meta-label {
111
+ font-size: 12px;
112
+ font-weight: 600;
113
+ color: var(--text-muted);
114
+ text-transform: uppercase;
115
+ letter-spacing: 0.5px;
116
+ margin-bottom: 4px;
117
+ }
118
+
119
+ .profile-meta-value {
120
+ font-size: 14px;
121
+ color: var(--text-primary);
122
+ font-weight: 500;
123
+ word-break: break-word;
124
+ }
125
+
126
+ .profile-actions {
127
+ display: flex;
128
+ gap: 8px;
129
+ justify-content: flex-end;
130
+ }
131
+
132
+ .profile-btn {
133
+ padding: 8px 16px;
134
+ border: 1px solid var(--border-color);
135
+ border-radius: 8px;
136
+ background: var(--bg-primary);
137
+ color: var(--text-primary);
138
+ font-size: 13px;
139
+ font-weight: 600;
140
+ cursor: pointer;
141
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
142
+ }
143
+
144
+ .profile-btn:hover {
145
+ transform: translateY(-1px);
146
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
147
+ }
148
+
149
+ .profile-btn.edit {
150
+ border-color: var(--primary-color);
151
+ color: var(--primary-color);
152
+ }
153
+
154
+ .profile-btn.edit:hover {
155
+ background: var(--primary-color);
156
+ color: white;
157
+ }
158
+
159
+ .profile-btn.delete {
160
+ border-color: var(--danger-color);
161
+ color: var(--danger-color);
162
+ }
163
+
164
+ .profile-btn.delete:hover {
165
+ background: var(--danger-color);
166
+ color: white;
167
+ }
168
+
169
+ .profile-btn.toggle {
170
+ border-color: var(--accent-color);
171
+ color: var(--accent-color);
172
+ }
173
+
174
+ .profile-btn.toggle:hover {
175
+ background: var(--accent-color);
176
+ color: white;
177
+ }
178
+
179
+ /* Add Profile Button */
180
+ .add-profile-btn {
181
+ display: flex;
182
+ align-items: center;
183
+ justify-content: center;
184
+ gap: 12px;
185
+ width: 100%;
186
+ padding: 20px;
187
+ border: 2px dashed var(--border-color);
188
+ border-radius: 12px;
189
+ background: linear-gradient(135deg, var(--bg-secondary), var(--bg-tertiary));
190
+ color: var(--text-secondary);
191
+ font-size: 16px;
192
+ font-weight: 600;
193
+ cursor: pointer;
194
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
195
+ margin-top: 16px;
196
+ }
197
+
198
+ .add-profile-btn:hover {
199
+ border-color: var(--primary-color);
200
+ background: linear-gradient(135deg, var(--bg-hover), var(--bg-secondary));
201
+ color: var(--primary-color);
202
+ transform: translateY(-2px);
203
+ box-shadow: 0 8px 24px rgba(0, 122, 204, 0.15);
204
+ }
205
+
206
+ .add-profile-btn svg {
207
+ width: 20px;
208
+ height: 20px;
209
+ }
210
+
211
+ /* Empty State */
212
+ .profiles-empty-state {
213
+ display: flex;
214
+ flex-direction: column;
215
+ align-items: center;
216
+ justify-content: center;
217
+ padding: 60px 40px;
218
+ text-align: center;
219
+ color: var(--text-muted);
220
+ background: linear-gradient(135deg, var(--bg-secondary), var(--bg-tertiary));
221
+ border-radius: 16px;
222
+ border: 2px dashed var(--border-color);
223
+ margin-bottom: 24px;
224
+ }
225
+
226
+ .profiles-empty-icon {
227
+ font-size: 64px;
228
+ margin-bottom: 20px;
229
+ opacity: 0.6;
230
+ }
231
+
232
+ .profiles-empty-title {
233
+ font-size: 20px;
234
+ font-weight: 600;
235
+ color: var(--text-secondary);
236
+ margin-bottom: 12px;
237
+ }
238
+
239
+ .profiles-empty-description {
240
+ font-size: 15px;
241
+ line-height: 1.6;
242
+ opacity: 0.8;
243
+ max-width: 320px;
244
+ }
@@ -0,0 +1,144 @@
1
+ /* Responsive Design for Settings */
2
+
3
+ /* Tablet and Small Desktop */
4
+ @media (max-width: 768px) {
5
+ .settings-modal-content {
6
+ width: 95vw;
7
+ max-height: 95vh;
8
+ border-radius: 12px;
9
+ }
10
+
11
+ .settings-header {
12
+ padding: 20px 24px;
13
+ }
14
+
15
+ .settings-header h3 {
16
+ font-size: 20px;
17
+ }
18
+
19
+ .settings-tab {
20
+ padding: 14px 20px;
21
+ font-size: 14px;
22
+ min-width: 120px;
23
+ }
24
+
25
+ .settings-tab-content {
26
+ padding: 24px;
27
+ }
28
+
29
+ .profile-card {
30
+ padding: 16px;
31
+ }
32
+
33
+ .profile-name {
34
+ font-size: 16px;
35
+ }
36
+
37
+ .profile-meta {
38
+ grid-template-columns: 1fr;
39
+ }
40
+
41
+ .profile-actions {
42
+ flex-direction: column;
43
+ }
44
+
45
+ .profile-btn {
46
+ width: 100%;
47
+ justify-content: center;
48
+ }
49
+
50
+ .profile-form-container {
51
+ width: 95vw;
52
+ }
53
+
54
+ .profile-form-header {
55
+ padding: 20px 24px;
56
+ }
57
+
58
+ .profile-form-content {
59
+ padding: 24px;
60
+ }
61
+
62
+ .profile-form-actions {
63
+ padding: 20px 24px;
64
+ flex-direction: column;
65
+ }
66
+
67
+ .form-btn {
68
+ width: 100%;
69
+ }
70
+ }
71
+
72
+ /* Mobile */
73
+ @media (max-width: 480px) {
74
+ .settings-header {
75
+ padding: 16px 20px;
76
+ }
77
+
78
+ .settings-header h3 {
79
+ font-size: 18px;
80
+ }
81
+
82
+ .settings-tab {
83
+ padding: 12px 16px;
84
+ font-size: 13px;
85
+ min-width: 100px;
86
+ }
87
+
88
+ .settings-tab-content {
89
+ padding: 20px;
90
+ }
91
+
92
+ .profile-card {
93
+ padding: 12px;
94
+ }
95
+
96
+ .profile-header {
97
+ flex-direction: column;
98
+ align-items: flex-start;
99
+ gap: 12px;
100
+ }
101
+
102
+ .profile-badges {
103
+ align-self: flex-end;
104
+ }
105
+
106
+ .env-var-item {
107
+ flex-direction: column;
108
+ gap: 8px;
109
+ }
110
+
111
+ .env-var-actions {
112
+ align-self: flex-end;
113
+ }
114
+ }
115
+
116
+ /* Accessibility */
117
+ @media (prefers-reduced-motion: reduce) {
118
+ * {
119
+ animation-duration: 0.01ms !important;
120
+ animation-iteration-count: 1 !important;
121
+ transition-duration: 0.01ms !important;
122
+ }
123
+ }
124
+
125
+ /* High contrast mode */
126
+ @media (prefers-contrast: high) {
127
+ .profile-card,
128
+ .form-input,
129
+ .form-select,
130
+ .form-textarea {
131
+ border-width: 2px;
132
+ }
133
+
134
+ .settings-tab::before {
135
+ height: 4px;
136
+ }
137
+ }
138
+
139
+ /* Dark mode support (for future enhancement) */
140
+ @media (prefers-color-scheme: dark) {
141
+ .profile-form-modal {
142
+ backdrop-filter: blur(12px);
143
+ }
144
+ }
@@ -0,0 +1,25 @@
1
+ /* Utilities and Loading States */
2
+
3
+ /* Loading States */
4
+ .profiles-loading {
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ padding: 60px;
9
+ color: var(--text-muted);
10
+ }
11
+
12
+ .loading-spinner {
13
+ width: 32px;
14
+ height: 32px;
15
+ border: 3px solid var(--border-color);
16
+ border-top: 3px solid var(--primary-color);
17
+ border-radius: 50%;
18
+ animation: spin 1s linear infinite;
19
+ margin-right: 16px;
20
+ }
21
+
22
+ @keyframes spin {
23
+ 0% { transform: rotate(0deg); }
24
+ 100% { transform: rotate(360deg); }
25
+ }
@@ -0,0 +1,54 @@
1
+ /* CSS Variables - VibeSurf Extension */
2
+
3
+ :root {
4
+ /* Colors */
5
+ --primary-color: #007acc;
6
+ --primary-hover: #005a9b;
7
+ --secondary-color: #f0f2f5;
8
+ --accent-color: #28a745;
9
+ --danger-color: #dc3545;
10
+ --warning-color: #ffc107;
11
+ --text-primary: #1a1a1a;
12
+ --text-secondary: #6c757d;
13
+ --text-muted: #9ca3af;
14
+ --border-color: #e5e7eb;
15
+ --border-hover: #d1d5db;
16
+ --bg-primary: #ffffff;
17
+ --bg-secondary: #f8f9fa;
18
+ --bg-tertiary: #f1f3f4;
19
+ --bg-hover: #f5f5f5;
20
+ --bg-active: #e8f4fd;
21
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
22
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
23
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
24
+
25
+ /* Typography */
26
+ --font-size-xs: 0.75rem;
27
+ --font-size-sm: 0.875rem;
28
+ --font-size-base: 0.875rem;
29
+ --font-size-lg: 1rem;
30
+ --font-size-xl: 1.125rem;
31
+ --font-weight-normal: 400;
32
+ --font-weight-medium: 500;
33
+ --font-weight-semibold: 600;
34
+ --font-weight-bold: 700;
35
+
36
+ /* Spacing */
37
+ --spacing-xs: 0.25rem;
38
+ --spacing-sm: 0.5rem;
39
+ --spacing-md: 0.75rem;
40
+ --spacing-lg: 1rem;
41
+ --spacing-xl: 1.5rem;
42
+ --spacing-2xl: 2rem;
43
+
44
+ /* Border Radius */
45
+ --radius-sm: 0.25rem;
46
+ --radius-md: 0.375rem;
47
+ --radius-lg: 0.5rem;
48
+ --radius-xl: 0.75rem;
49
+
50
+ /* Transitions */
51
+ --transition-fast: 150ms ease-in-out;
52
+ --transition-normal: 200ms ease-in-out;
53
+ --transition-slow: 300ms ease-in-out;
54
+ }
vibe_surf/cli.py CHANGED
@@ -402,6 +402,7 @@ def main():
402
402
  console.print("[dim]A powerful browser automation tool for vibe surfing 🏄‍♂️[/dim]")
403
403
  import vibe_surf
404
404
  console.print(f"[dim]Version: {vibe_surf.__version__}[/dim]\n")
405
+ console.print(f"[dim]Author: WarmShao and Community Contributors [/dim]\n")
405
406
 
406
407
  # Check for existing browser path from configuration
407
408
  browser_path = get_browser_execution_path()
@@ -363,8 +363,6 @@ Provide the extracted information in a clear, structured format."""
363
363
  if not os.path.exists(file_name):
364
364
  # if not exists, assume it is external_file
365
365
  external_file = True
366
- else:
367
- external_file = False
368
366
  result = await file_system.read_file(file_name, external_file=external_file)
369
367
 
370
368
  MAX_MEMORY_SIZE = 1000
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vibesurf
3
- Version: 0.1.9a6
3
+ Version: 0.1.10
4
4
  Summary: VibeSurf: A powerful browser assistant for vibe surfing
5
5
  Author: Shao Warm
6
6
  License: Apache-2.0
@@ -81,9 +81,25 @@ uv pip install vibesurf -U
81
81
 
82
82
  ### Step 3: Launch
83
83
  ```bash
84
- vibesurf
84
+ uv run vibesurf
85
85
  ```
86
86
 
87
+ ## 🗺️ Roadmap
88
+
89
+ ### 🤖 Agent Enhancements
90
+
91
+ - **VibeSurf Agent Refactoring**: Remove LangGraph framework dependency to make the agent more flexible and powerful
92
+ - **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
93
+ - **Enhanced Report Writer Agent**: Optimize the report writer to generate more visually appealing reports with rich graphics and illustrations
94
+ - **Global Memory System**: Implement global memory capabilities to make VibeSurf understand and adapt to user preferences better
95
+
96
+ ### 🧩 Extension Features
97
+
98
+ - **Enhanced Tab Management**: Add @specific tab handling with `/research` and `/deep_research` specialized task commands
99
+ - **Smart Text Processing**: Implement word/paragraph translation, summarization, and explanation features for selected content
100
+ - **Local Credential Management**: Add secure credential configuration system to keep your privacy data stored locally
101
+
102
+
87
103
  ## 🎬 Demo
88
104
 
89
105
  ### How to use?
@@ -1,22 +1,23 @@
1
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
2
+ vibe_surf/_version.py,sha256=uf7mpKSLRNNF3RxSXHssYzKadEgmCS7IlRw4lFPAcUg,706
3
+ vibe_surf/cli.py,sha256=o4ZQ-CfK8Hi__sWbMmaCpVbYFbIzL2brHyqAw2NZ5jI,17523
4
4
  vibe_surf/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  vibe_surf/agents/browser_use_agent.py,sha256=5NXZCQphHKlyNtLjhwG9ezBXFIo91ZnlFPRhUye7c3U,45202
6
6
  vibe_surf/agents/report_writer_agent.py,sha256=E5mSirewzH4Oyv385-Nn2Mf1Ug3OCVBz99PoTbvKRfQ,13860
7
- vibe_surf/agents/vibe_surf_agent.py,sha256=bl0Xl9Aw3qFvKGlWA6ctrWF5Y09DDadGfNaY524T_yQ,70370
7
+ vibe_surf/agents/vibe_surf_agent.py,sha256=aXMtIdR0J3j39HWGTzmnGh2AhVRUkpcA8GqYPVaDWqU,71397
8
8
  vibe_surf/agents/prompts/__init__.py,sha256=l4ieA0D8kLJthyNN85FKLNe4ExBa3stY3l-aImLDRD0,36
9
9
  vibe_surf/agents/prompts/vibe_surf_prompt.py,sha256=u-6KgLSnBbQohS5kiLZDcZ3aoT90ScVONXi9gNvdMoo,11006
10
10
  vibe_surf/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
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
12
+ vibe_surf/backend/main.py,sha256=aYbWv9vBQREtdomC9BHomajzFHhsnf3YwrXNcY7s6r8,7183
13
+ vibe_surf/backend/shared_state.py,sha256=NZBT7FeMPsuvv5miHrqEWmvnY6sginS5Cb8PKJePejk,23218
14
14
  vibe_surf/backend/api/__init__.py,sha256=XxF1jUOORpLYCfFuPrrnUGRnOrr6ClH0_MNPU-4RnSs,68
15
15
  vibe_surf/backend/api/activity.py,sha256=NRSTsN3JnE63kDFhfgH3rmC9qxAeIaMKUqbXrOuZlSQ,9364
16
+ vibe_surf/backend/api/browser.py,sha256=mnOFPk9j4lOhfr7fklybTsyoUaD3oQMMIrd-E7lipDA,1986
16
17
  vibe_surf/backend/api/config.py,sha256=9yTip3L0dBCy8jP6MqbpX_hk1Zk8KYrR-W18R0i7wjI,27091
17
18
  vibe_surf/backend/api/files.py,sha256=cJ2XYm9ERI-yHL1smldPEe8WJ3vfKxMvcfyXSmqEdcc,12056
18
19
  vibe_surf/backend/api/models.py,sha256=HVWiwGo3375LuQRPmRU93Mm6POq2ZpvQ8kKXq31zOj8,10357
19
- vibe_surf/backend/api/task.py,sha256=htVJwTBXX5Fwsy4P0lT-OSiN41xOKUf105SvK1qwyeI,11063
20
+ vibe_surf/backend/api/task.py,sha256=dTl7_0m1QnBuATDrRsMytm_5-w7TQjl2CQNM3vRBa30,11084
20
21
  vibe_surf/backend/database/__init__.py,sha256=XhmcscnhgMhUyXML7m4SnuQIqkFpyY_zJ0D3yYa2RqQ,239
21
22
  vibe_surf/backend/database/manager.py,sha256=Hbelc7CfcZlGm7i99_IKg8FO7ZLMc6_dBDVxru-GMPc,4466
22
23
  vibe_surf/backend/database/models.py,sha256=mePuHsaSqJKA4TthvXbup_Ioann2_chxywiLKqAWyh4,7009
@@ -30,42 +31,57 @@ vibe_surf/backend/utils/encryption.py,sha256=JBl0olXQ-tESvZywuhGvy57soLhFw4ZKnbX
30
31
  vibe_surf/backend/utils/llm_factory.py,sha256=4oHaKpizqA069dcXm0iK5G1SS-fhhOY5l6cM3SCFmwE,9172
31
32
  vibe_surf/browser/__init__.py,sha256=_UToO2fZfSCrfjOcxhn4Qq7ZLbYeyPuUUEmqIva-Yv8,325
32
33
  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
34
+ vibe_surf/browser/agent_browser_session.py,sha256=l7m_OmeFVG3ui2_FOwv6T2imC6xQA343Xm0UJvJ_VLw,34049
35
+ vibe_surf/browser/browser_manager.py,sha256=0o1S-wH9Ol1VZ6EBaCXZ_SDQBmvcHtrKyo4PM5hUV0Q,11019
35
36
  vibe_surf/browser/utils.py,sha256=Um_hTZgDH4gL-cCKSeUBMEqPLVForCMYp1nN7ugD5co,35704
36
37
  vibe_surf/browser/watchdogs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
38
  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
39
+ vibe_surf/browser/watchdogs/dom_watchdog.py,sha256=EtnGjKZNGL3_d4N26TEcVObctGxVGsBo9mA_7YaPzL8,13175
40
+ vibe_surf/chrome_extension/background.js,sha256=21g4VJfnVlox6SpKIGnSQyR65ZmmJJ-0USPo55iD3Pc,19519
40
41
  vibe_surf/chrome_extension/config.js,sha256=g53UkfsaOFNC6fZG-THlBxdSjvswPsaQ9w8rxiHNq2E,1093
41
42
  vibe_surf/chrome_extension/content.js,sha256=q6JRpmHAEdPWNnFSIqoPv8eBm0T574c3H5hp-M4LYlc,8027
42
43
  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/manifest.json,sha256=B08nHuU-bPc-pUr30Y-of39TjMlrE7D5gP2sZjZ8CrE,1142
44
45
  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/sidepanel.html,sha256=x5nqvfdtYor9EKye5rbpF8gcgqi7D1CPfKbVH9sQLCM,25039
46
47
  vibe_surf/chrome_extension/icons/convert-svg.js,sha256=j137nZA7MJK35NtrwWff8yb3UEKa5XTAvnV6EjY-CVI,953
47
48
  vibe_surf/chrome_extension/icons/logo-preview.html,sha256=hrgU45uziKHKIb8be9P4ZrZJyGggWnm2M5oEu89V5sM,6962
48
49
  vibe_surf/chrome_extension/icons/logo.icns,sha256=ZzY1eIKF4dNhNW4CeE1UBQloxNVC7bQx3qcClo3CnMQ,1569615
49
50
  vibe_surf/chrome_extension/icons/logo.png,sha256=PLmv1E6sCGXUE5ZDxr-pFPQd9Gvaw_f1TnYmF8VIssU,566385
50
51
  vibe_surf/chrome_extension/scripts/api-client.js,sha256=XwKmH4lP5eAkBqAM8EcQezI0gcMZK8l0RQ3ESEamcn8,13318
52
+ vibe_surf/chrome_extension/scripts/file-manager.js,sha256=vmXmtW9IGL98Z2bfMDgfmYsxa-bRDzmgedg9lX_lZYo,17336
53
+ vibe_surf/chrome_extension/scripts/history-manager.js,sha256=J_EiBKrRp2cTxuy0Sq5oCju5YuX0_2pGG6NWrJSjC24,22218
51
54
  vibe_surf/chrome_extension/scripts/main.js,sha256=WhmCGktQoSl7aaMl8a9ysJJiysAjf12bWGypMucCSVg,16913
52
55
  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
56
+ vibe_surf/chrome_extension/scripts/modal-manager.js,sha256=VjkbTfknzwoUHFoSiLj19J18eTZ6u78I0ujuOIDAKhU,13850
57
+ vibe_surf/chrome_extension/scripts/session-manager.js,sha256=JCi-6EwqWsJoxiKdqPS5skV_RjInUs3X7AHVDSjrnrA,20084
58
+ vibe_surf/chrome_extension/scripts/settings-manager.js,sha256=FE5rMm3HTY1M7dzyQ2jnmCRmff1PDtqy6GNDV3tJOVk,47435
59
+ vibe_surf/chrome_extension/scripts/ui-manager.js,sha256=LgjNz5-hxAkB3ul4AS73ZYfXG_Hk68d9ZOiGAtruEpY,48931
60
+ vibe_surf/chrome_extension/styles/activity.css,sha256=ui0U_UmulyBkPLw0qYPndwrk8vKjxpkef0RXNYxjNPo,12145
55
61
  vibe_surf/chrome_extension/styles/animations.css,sha256=TLAet_xXBxCA-H36BWP4xBGBIVjbDdAj7Q6OPxPsbE8,7891
62
+ vibe_surf/chrome_extension/styles/base.css,sha256=d8nt7Wej1r57G6pnBIGKEVkepFxlq8Ets0isngCf5w8,1296
56
63
  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
64
+ vibe_surf/chrome_extension/styles/history-modal.css,sha256=xCg0EPz1N4kg47jnz9q9E1M4zGag8lJMt_msAOkZi3M,16583
65
+ vibe_surf/chrome_extension/styles/input.css,sha256=cmbhPnJFBgXQFT4rWr7jefr96g-O8YT2-DX3cBeoZ_4,9070
66
+ vibe_surf/chrome_extension/styles/layout.css,sha256=ggh-lWpP6sHubFkshf9dcmA52LiXw7VJmQXcM5_EGcY,3528
67
+ vibe_surf/chrome_extension/styles/responsive.css,sha256=a_SFX-PeOcenG4xMeoru5XFnnXdf0YhEyRzvTVVZHdI,8529
68
+ vibe_surf/chrome_extension/styles/settings-environment.css,sha256=OzgezmfZZ_yD60Jy9Uiq83mDmMCfk2dPPcZISb9Eqd4,3390
69
+ vibe_surf/chrome_extension/styles/settings-forms.css,sha256=alBDabKacyxw0kf116Lr8WU4bjdWqTDht01MtIRMjj4,6970
70
+ vibe_surf/chrome_extension/styles/settings-modal.css,sha256=VEkr1WmDltdeaoP4fWJ-Jk2t8TNrB5rsz-zLUv3usPI,2727
71
+ vibe_surf/chrome_extension/styles/settings-profiles.css,sha256=o0FowPPiZum_DvYIGF5p4gEl63QVXTHDoVeD1Q4yy_s,4946
72
+ vibe_surf/chrome_extension/styles/settings-responsive.css,sha256=jLE0yG15n2aI6_6QF04Rh0Y-oqqLNen81YAVt5yc2Ws,2168
73
+ vibe_surf/chrome_extension/styles/settings-utilities.css,sha256=3PuQS2857kg83d5erLbLdo_7J95-qV-qyNWS5M-w1oQ,505
74
+ vibe_surf/chrome_extension/styles/variables.css,sha256=VbFJ8L76AaJUqb6gCz9jEG_V6OX4YJa65I2iyeNJIw4,1411
59
75
  vibe_surf/controller/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
76
  vibe_surf/controller/file_system.py,sha256=a2fXCzAhaC41qvV_bMLi9c50FmcFYjQ0nszSdKOdDrI,2637
61
77
  vibe_surf/controller/mcp_client.py,sha256=OjIxx49-XyNGk5wr58m2poT56DVpfkWrVaaeBVZqLY4,2415
62
- vibe_surf/controller/vibesurf_tools.py,sha256=ynX-IWeFBIS2DzyYP1ZkFOM5nl5O2iTdB93HboOyxbs,26848
78
+ vibe_surf/controller/vibesurf_tools.py,sha256=U3gt17bEEpP0vXWHuw4QxqUcOmyUM5zap-i-GRF6_CQ,26792
63
79
  vibe_surf/controller/views.py,sha256=BaPlvcHTy5h-Lfr0OSgR_t6ynitgzNQF4-VUJJt8Hi0,1072
64
80
  vibe_surf/llm/__init__.py,sha256=_vDVPo6STf343p1SgMQrF5023hicAx0g83pK2Gbk4Ek,601
65
81
  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,,
82
+ vibesurf-0.1.10.dist-info/licenses/LICENSE,sha256=czn6QYya0-jhLnStD9JqnMS-hwP5wRByipkrGTvoXLI,11355
83
+ vibesurf-0.1.10.dist-info/METADATA,sha256=-9p2CyucCygSbYEMLbIPBfUa6P1vrG_AaLJw4qvqXcU,5182
84
+ vibesurf-0.1.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
85
+ vibesurf-0.1.10.dist-info/entry_points.txt,sha256=UxqpvMocL-PR33S6vLF2OmXn-kVzM-DneMeZeHcPMM8,48
86
+ vibesurf-0.1.10.dist-info/top_level.txt,sha256=VPZGHqSb6EEqcJ4ZX6bHIuWfon5f6HXl3c7BYpbRqnY,10
87
+ vibesurf-0.1.10.dist-info/RECORD,,