vibesurf 0.1.31__py3-none-any.whl → 0.1.33__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.
- vibe_surf/_version.py +2 -2
- vibe_surf/agents/browser_use_agent.py +1 -1
- vibe_surf/agents/prompts/vibe_surf_prompt.py +6 -0
- vibe_surf/agents/report_writer_agent.py +50 -0
- vibe_surf/agents/vibe_surf_agent.py +56 -1
- vibe_surf/backend/api/composio.py +952 -0
- vibe_surf/backend/database/migrations/v005_add_composio_integration.sql +33 -0
- vibe_surf/backend/database/migrations/v006_add_credentials_table.sql +26 -0
- vibe_surf/backend/database/models.py +53 -1
- vibe_surf/backend/database/queries.py +312 -2
- vibe_surf/backend/main.py +28 -0
- vibe_surf/backend/shared_state.py +123 -9
- vibe_surf/chrome_extension/scripts/api-client.js +32 -0
- vibe_surf/chrome_extension/scripts/settings-manager.js +954 -1
- vibe_surf/chrome_extension/sidepanel.html +190 -0
- vibe_surf/chrome_extension/styles/settings-integrations.css +927 -0
- vibe_surf/chrome_extension/styles/settings-modal.css +7 -3
- vibe_surf/chrome_extension/styles/settings-responsive.css +37 -5
- vibe_surf/cli.py +98 -3
- vibe_surf/telemetry/__init__.py +60 -0
- vibe_surf/telemetry/service.py +112 -0
- vibe_surf/telemetry/views.py +156 -0
- vibe_surf/tools/browser_use_tools.py +90 -90
- vibe_surf/tools/composio_client.py +456 -0
- vibe_surf/tools/mcp_client.py +21 -2
- vibe_surf/tools/vibesurf_tools.py +290 -87
- vibe_surf/tools/views.py +16 -0
- vibe_surf/tools/website_api/youtube/client.py +35 -13
- vibe_surf/utils.py +13 -0
- {vibesurf-0.1.31.dist-info → vibesurf-0.1.33.dist-info}/METADATA +11 -9
- {vibesurf-0.1.31.dist-info → vibesurf-0.1.33.dist-info}/RECORD +35 -26
- {vibesurf-0.1.31.dist-info → vibesurf-0.1.33.dist-info}/WHEEL +0 -0
- {vibesurf-0.1.31.dist-info → vibesurf-0.1.33.dist-info}/entry_points.txt +0 -0
- {vibesurf-0.1.31.dist-info → vibesurf-0.1.33.dist-info}/licenses/LICENSE +0 -0
- {vibesurf-0.1.31.dist-info → vibesurf-0.1.33.dist-info}/top_level.txt +0 -0
vibe_surf/tools/views.py
CHANGED
|
@@ -287,3 +287,19 @@ class SkillYoutubeAction(BaseModel):
|
|
|
287
287
|
params: str = Field(
|
|
288
288
|
description='JSON string of method parameters, provide corresponding parameters according to the method parameter. Example: {"query": "tech tutorial", "max_results": 30}'
|
|
289
289
|
)
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
class GrepContentAction(BaseModel):
|
|
293
|
+
"""Parameters for grep content from file action"""
|
|
294
|
+
file_path: str = Field(
|
|
295
|
+
description='Path to the file to search content from',
|
|
296
|
+
)
|
|
297
|
+
query: str = Field(
|
|
298
|
+
description='Search query or keywords to grep for',
|
|
299
|
+
)
|
|
300
|
+
context_chars: int = Field(
|
|
301
|
+
default=100,
|
|
302
|
+
description='Number of characters to include before and after each match (default: 100)',
|
|
303
|
+
ge=10,
|
|
304
|
+
le=1000,
|
|
305
|
+
)
|
|
@@ -947,6 +947,26 @@ class YouTubeApiClient:
|
|
|
947
947
|
logger.error(f"Failed to extract comment info: {e}")
|
|
948
948
|
return None
|
|
949
949
|
|
|
950
|
+
def _build_channel_url(self, channel_id: str) -> str:
|
|
951
|
+
clean_id = channel_id.strip()
|
|
952
|
+
|
|
953
|
+
if clean_id.startswith('@'):
|
|
954
|
+
return f"https://www.youtube.com/{clean_id}"
|
|
955
|
+
|
|
956
|
+
if re.match(r'^UC[a-zA-Z0-9_-]{22}$', clean_id):
|
|
957
|
+
return f"https://www.youtube.com/channel/{clean_id}"
|
|
958
|
+
|
|
959
|
+
if re.match(r'^[a-zA-Z0-9_-]{24}$', clean_id):
|
|
960
|
+
return f"https://www.youtube.com/channel/{clean_id}"
|
|
961
|
+
|
|
962
|
+
if re.match(r'^[a-zA-Z0-9_-]+$', clean_id):
|
|
963
|
+
return f"https://www.youtube.com/@{clean_id}"
|
|
964
|
+
|
|
965
|
+
if '/' in clean_id:
|
|
966
|
+
return f"https://www.youtube.com/{clean_id}"
|
|
967
|
+
|
|
968
|
+
return f"https://www.youtube.com/@{clean_id}"
|
|
969
|
+
|
|
950
970
|
async def get_channel_info(self, channel_id: str) -> Optional[Dict]:
|
|
951
971
|
"""
|
|
952
972
|
Get YouTube channel information
|
|
@@ -959,7 +979,8 @@ class YouTubeApiClient:
|
|
|
959
979
|
"""
|
|
960
980
|
try:
|
|
961
981
|
# Navigate to channel page to get information
|
|
962
|
-
channel_url =
|
|
982
|
+
channel_url = self._build_channel_url(channel_id)
|
|
983
|
+
|
|
963
984
|
response = await self._make_request(
|
|
964
985
|
"GET", channel_url, headers=self.default_headers, raw_response=True
|
|
965
986
|
)
|
|
@@ -1171,7 +1192,8 @@ class YouTubeApiClient:
|
|
|
1171
1192
|
logger.error(f"Failed to get trending videos: {e}")
|
|
1172
1193
|
return []
|
|
1173
1194
|
|
|
1174
|
-
async def get_video_transcript(self, video_id: str, languages: Optional[List[str]] = None) -> Optional[
|
|
1195
|
+
async def get_video_transcript(self, video_id: str, languages: Optional[List[str]] = None) -> Optional[
|
|
1196
|
+
Dict[str, List[Dict]]]:
|
|
1175
1197
|
"""
|
|
1176
1198
|
Get transcript for a YouTube video
|
|
1177
1199
|
|
|
@@ -1186,23 +1208,23 @@ class YouTubeApiClient:
|
|
|
1186
1208
|
try:
|
|
1187
1209
|
if languages is None:
|
|
1188
1210
|
languages = ['en']
|
|
1189
|
-
|
|
1211
|
+
|
|
1190
1212
|
# Create YouTubeTranscriptApi instance
|
|
1191
1213
|
ytt_api = YouTubeTranscriptApi()
|
|
1192
|
-
|
|
1214
|
+
|
|
1193
1215
|
# List available transcripts to check what's available
|
|
1194
1216
|
transcript_list = ytt_api.list(video_id)
|
|
1195
1217
|
available_languages = [transcript.language_code for transcript in transcript_list]
|
|
1196
|
-
|
|
1218
|
+
|
|
1197
1219
|
logger.info(f"Available transcript languages for video {video_id}: {available_languages}")
|
|
1198
|
-
|
|
1220
|
+
|
|
1199
1221
|
# Filter requested languages to only include available ones
|
|
1200
1222
|
valid_languages = [lang for lang in languages if lang in available_languages]
|
|
1201
|
-
|
|
1223
|
+
|
|
1202
1224
|
if not valid_languages:
|
|
1203
1225
|
logger.warning(f"None of the requested languages {languages} are available for video {video_id}")
|
|
1204
1226
|
return None
|
|
1205
|
-
|
|
1227
|
+
|
|
1206
1228
|
# Fetch transcripts for each valid language
|
|
1207
1229
|
result = {}
|
|
1208
1230
|
for language in valid_languages:
|
|
@@ -1210,19 +1232,19 @@ class YouTubeApiClient:
|
|
|
1210
1232
|
# Find transcript for this specific language
|
|
1211
1233
|
transcript = transcript_list.find_transcript([language])
|
|
1212
1234
|
fetched_transcript = transcript.fetch()
|
|
1213
|
-
|
|
1235
|
+
|
|
1214
1236
|
# Convert to raw data format
|
|
1215
1237
|
raw_data = fetched_transcript.to_raw_data()
|
|
1216
1238
|
result[language] = raw_data
|
|
1217
|
-
|
|
1239
|
+
|
|
1218
1240
|
logger.info(f"Successfully fetched transcript for video {video_id} in language {language}")
|
|
1219
|
-
|
|
1241
|
+
|
|
1220
1242
|
except Exception as lang_error:
|
|
1221
1243
|
logger.warning(f"Failed to fetch transcript for language {language}: {lang_error}")
|
|
1222
1244
|
continue
|
|
1223
|
-
|
|
1245
|
+
|
|
1224
1246
|
return result if result else None
|
|
1225
|
-
|
|
1247
|
+
|
|
1226
1248
|
except Exception as e:
|
|
1227
1249
|
logger.error(f"Failed to get transcript for video {video_id}: {e}")
|
|
1228
1250
|
return None
|
vibe_surf/utils.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
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__)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vibesurf
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.33
|
|
4
4
|
Summary: VibeSurf: A powerful browser assistant for vibe surfing
|
|
5
5
|
Author: WarmShao
|
|
6
6
|
License: Apache-2.0
|
|
@@ -46,10 +46,12 @@ Requires-Dist: dashscope>=1.24.5
|
|
|
46
46
|
Requires-Dist: yfinance>=0.2.66
|
|
47
47
|
Requires-Dist: pyexecjs>=1.5.1
|
|
48
48
|
Requires-Dist: youtube-transcript-api>=1.2.2
|
|
49
|
+
Requires-Dist: composio>=0.8.20
|
|
50
|
+
Requires-Dist: composio-langchain>=0.8.20
|
|
49
51
|
Dynamic: license-file
|
|
50
52
|
|
|
51
53
|
# VibeSurf: A powerful browser assistant for vibe surfing
|
|
52
|
-
[](https://discord.gg/EZ2YnUXP)
|
|
53
55
|
[](https://x.com/warmshao)
|
|
54
56
|
|
|
55
57
|
VibeSurf is an open-source AI agentic browser that revolutionizes browser automation and research.
|
|
@@ -141,16 +143,16 @@ uv run vibesurf
|
|
|
141
143
|
We're building VibeSurf to be your ultimate AI browser companion. Here's what's coming next:
|
|
142
144
|
|
|
143
145
|
- [x] **Smart Skills System** - *Completed*
|
|
144
|
-
Add `/search` for quick information search
|
|
146
|
+
Add `/search` for quick information search, `/crawl` for automatic website data extraction and `/code` for webpage js code execution. Integrated native APIs for Xiaohongshu, Douyin, Weibo, and YouTube.
|
|
145
147
|
|
|
146
|
-
- [
|
|
147
|
-
|
|
148
|
+
- [x] **Third-Party Integrations** - *Completed*
|
|
149
|
+
Connect with hundreds of popular tools including Gmail, Notion, Google Calendar, Slack, Trello, GitHub, and more through Composio integration to combine browsing with powerful automation capabilities
|
|
148
150
|
|
|
149
|
-
- [ ] **Agentic Browser Workflow** - *
|
|
150
|
-
Create custom drag-and-drop workflows for auto-login, data collection, and complex browser automation tasks
|
|
151
|
+
- [ ] **Agentic Browser Workflow** - *In Progress*
|
|
152
|
+
Create custom drag-and-drop and conversation-based workflows for auto-login, data collection, and complex browser automation tasks
|
|
151
153
|
|
|
152
|
-
- [ ] **
|
|
153
|
-
|
|
154
|
+
- [ ] **Powerful Coding Agent** - *In Progress*
|
|
155
|
+
Build a comprehensive coding assistant for data processing and analysis directly in your browser
|
|
154
156
|
|
|
155
157
|
- [ ] **Intelligent Memory & Personalization** - *Planned*
|
|
156
158
|
Transform VibeSurf into a truly human-like companion with persistent memory that learns your preferences, habits, and browsing patterns over time
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
vibe_surf/__init__.py,sha256=WtduuMFGauMD_9dpk4fnRnLTAP6ka9Lfu0feAFNzLfo,339
|
|
2
|
-
vibe_surf/_version.py,sha256=
|
|
3
|
-
vibe_surf/cli.py,sha256=
|
|
2
|
+
vibe_surf/_version.py,sha256=dONeiWvj8u6t7AH_mYzrQguoDkNazf5Pa9OsdreqCpU,706
|
|
3
|
+
vibe_surf/cli.py,sha256=o5Z-ren0-yr7CLamG6CSmUl5jhAGICuay0ssvaGnsuI,19759
|
|
4
4
|
vibe_surf/common.py,sha256=_WWMxen5wFwzUjEShn3yDVC1OBFUiJ6Vccadi6tuG6w,1215
|
|
5
5
|
vibe_surf/logger.py,sha256=k53MFA96QX6t9OfcOf1Zws8PP0OOqjVJfhUD3Do9lKw,3043
|
|
6
|
+
vibe_surf/utils.py,sha256=3j6uRkgjOAIDYmbpW8C-DpYhdf1Kvahz715KSriVIk0,261
|
|
6
7
|
vibe_surf/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
vibe_surf/agents/browser_use_agent.py,sha256=
|
|
8
|
-
vibe_surf/agents/report_writer_agent.py,sha256=
|
|
9
|
-
vibe_surf/agents/vibe_surf_agent.py,sha256=
|
|
8
|
+
vibe_surf/agents/browser_use_agent.py,sha256=c4Sy8HgSnuxbOSAK4VL55UNBiE1K1eH_Ko4L3AUPA08,45955
|
|
9
|
+
vibe_surf/agents/report_writer_agent.py,sha256=oPub78ICAHLghUzRcRCDcwKD_yB_LYAj_ede4wJyO2s,23006
|
|
10
|
+
vibe_surf/agents/vibe_surf_agent.py,sha256=7YOjNHb52LYoYjBfUFvkh6u_SpZEWbs-3E-gLYS91pY,76480
|
|
10
11
|
vibe_surf/agents/views.py,sha256=yHjNJloa-aofVTGyuRy08tBYP_Y3XLqt1DUWOUmHRng,4825
|
|
11
12
|
vibe_surf/agents/prompts/__init__.py,sha256=l4ieA0D8kLJthyNN85FKLNe4ExBa3stY3l-aImLDRD0,36
|
|
12
13
|
vibe_surf/agents/prompts/report_writer_prompt.py,sha256=sZE8MUT1CDLmRzbnbEQzAvTwJjpITgh2Q8g1_eXmkzE,4454
|
|
13
|
-
vibe_surf/agents/prompts/vibe_surf_prompt.py,sha256=
|
|
14
|
+
vibe_surf/agents/prompts/vibe_surf_prompt.py,sha256=UnZxgy9sgr4u1RNYr6VJBk3sEUbFasu2z75QGsILXk8,7507
|
|
14
15
|
vibe_surf/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
16
|
vibe_surf/backend/llm_config.py,sha256=9V8Gg065TQALbOKQnOqFWd8RzOJjegOD8w6YOf90Q7Y,5036
|
|
16
|
-
vibe_surf/backend/main.py,sha256=
|
|
17
|
-
vibe_surf/backend/shared_state.py,sha256=
|
|
17
|
+
vibe_surf/backend/main.py,sha256=8_n9dUF972E_UqguXK4zfq5AeulTUeey4X60qOXnigY,8272
|
|
18
|
+
vibe_surf/backend/shared_state.py,sha256=4ZFG9JtjMWnUYefst8klJbIy-udMfNXClWJsg_fYlq0,28666
|
|
18
19
|
vibe_surf/backend/voice_model_config.py,sha256=oee4fvOexXKzKRDv2-FEKQj7Z2OznACrj6mfWRGy7h0,567
|
|
19
20
|
vibe_surf/backend/api/__init__.py,sha256=XxF1jUOORpLYCfFuPrrnUGRnOrr6ClH0_MNPU-4RnSs,68
|
|
20
21
|
vibe_surf/backend/api/activity.py,sha256=_cnHusqolt5Hf3KdAf6FK-3sBc-TSaadmb5dJxGI57A,9398
|
|
21
22
|
vibe_surf/backend/api/agent.py,sha256=ISsG3FUIYoUCGcoQAfV3T6mtJSKHxC809p4bqjzjqlU,1199
|
|
22
23
|
vibe_surf/backend/api/browser.py,sha256=NXedyZG3NIVRIx5O7d9mHwVWX-Q4_KsX5mSgfKt8UEA,2122
|
|
24
|
+
vibe_surf/backend/api/composio.py,sha256=QlrH-Djj9nKe4kW43QuRKhE-tqIgHzCc2Apn1_-8mHA,36295
|
|
23
25
|
vibe_surf/backend/api/config.py,sha256=vKY6ZnKZeazQP9qqUEiQvP9HoPtJbAzETORuPWZomGw,27272
|
|
24
26
|
vibe_surf/backend/api/files.py,sha256=kJMG9MWECKXwGh64Q6xvAzNjeZGcLhIEnn65HiMZHKE,11762
|
|
25
27
|
vibe_surf/backend/api/models.py,sha256=n_bu8vavvO8bIKA1WUAbaGPFeZKeamMJelDWU3DlFJc,10533
|
|
@@ -27,13 +29,15 @@ vibe_surf/backend/api/task.py,sha256=CYx8FNN04XM8cH9BjAuMb-E7GUTxi4pl0OsT_1KnDBQ
|
|
|
27
29
|
vibe_surf/backend/api/voices.py,sha256=YfPCqnR7EAYh2nfMRIpB0xEo6_giTtxrcSeobU3HQHg,17098
|
|
28
30
|
vibe_surf/backend/database/__init__.py,sha256=XhmcscnhgMhUyXML7m4SnuQIqkFpyY_zJ0D3yYa2RqQ,239
|
|
29
31
|
vibe_surf/backend/database/manager.py,sha256=Okmr6yG2aycmatONRMyRbHe6l53RkFIPeMxxPSD3ycY,11884
|
|
30
|
-
vibe_surf/backend/database/models.py,sha256=
|
|
31
|
-
vibe_surf/backend/database/queries.py,sha256=
|
|
32
|
+
vibe_surf/backend/database/models.py,sha256=dvnw1TBRybCupliRqBhlmdEQEJqrMcO62rf1FLTEoyU,10942
|
|
33
|
+
vibe_surf/backend/database/queries.py,sha256=8PlYXmvlP5RqDgpzVYETposyUX4C8j72l3U2nbQqi7I,52106
|
|
32
34
|
vibe_surf/backend/database/schemas.py,sha256=OPnpRKwYG1Cu8geJ6pajiEDF8x8mRestXnAfI4Gy18w,3402
|
|
33
35
|
vibe_surf/backend/database/migrations/v001_initial_schema.sql,sha256=MC2fa1WHUEhHhdOTxz0qB4RI7JdGRpiGXZ77ytl3LRQ,4345
|
|
34
36
|
vibe_surf/backend/database/migrations/v002_add_agent_mode.sql,sha256=jKnW28HsphUeU9kudEx9QaLnUh8swmmOt-hFsZJay24,251
|
|
35
37
|
vibe_surf/backend/database/migrations/v003_fix_task_status_case.sql,sha256=npzRgEnKymTzvb-nOZHtycjVyWX2Dx0tCEtrZJfcujg,580
|
|
36
38
|
vibe_surf/backend/database/migrations/v004_add_voice_profiles.sql,sha256=-9arjQBF-OxvFIOwkEl7JJJRDTS_nJ8GNX3T7bJgVq0,1321
|
|
39
|
+
vibe_surf/backend/database/migrations/v005_add_composio_integration.sql,sha256=QuTrRYyOmHdepRcHHwrGlLpsNq9qo5mnOB5LfXtN-CU,1172
|
|
40
|
+
vibe_surf/backend/database/migrations/v006_add_credentials_table.sql,sha256=udyVO_L8CvdBKGNfmnxj-kU7UxR9EzUqMpHuV1h46vU,812
|
|
37
41
|
vibe_surf/backend/utils/__init__.py,sha256=V8leMFp7apAglUAoCHPZrNNcRHthSLYIudIJE5qwjb0,184
|
|
38
42
|
vibe_surf/backend/utils/encryption.py,sha256=CjLNh_n0Luhfa-6BB-icfzkiiDqj5b4Gu6MADU3p2eM,3754
|
|
39
43
|
vibe_surf/backend/utils/llm_factory.py,sha256=XIJYc9Lh_L2vbwlAe96PrjptlzJtLOjCGNdHEx6fThk,9047
|
|
@@ -54,10 +58,10 @@ vibe_surf/chrome_extension/manifest.json,sha256=B08nHuU-bPc-pUr30Y-of39TjMlrE7D5
|
|
|
54
58
|
vibe_surf/chrome_extension/permission-iframe.html,sha256=R6VM1JfrzkfXTTD5mGCKui1dDWTqHEe9n8TtVdZNPNg,948
|
|
55
59
|
vibe_surf/chrome_extension/permission-request.html,sha256=ct1LTl_9euABiHcqNU6AFcvpCAfANWO0y_dDEAjtwfE,2905
|
|
56
60
|
vibe_surf/chrome_extension/popup.html,sha256=n3dI_-WbILm0q8O_za6xX0WvOofz5lwT_7YXs0u9RAE,4248
|
|
57
|
-
vibe_surf/chrome_extension/sidepanel.html,sha256
|
|
61
|
+
vibe_surf/chrome_extension/sidepanel.html,sha256=TUTdct8EfzqgBZ4lFTRo1oh-SRNatjcLXWBClABW3Ls,47819
|
|
58
62
|
vibe_surf/chrome_extension/icons/logo.icns,sha256=ZzY1eIKF4dNhNW4CeE1UBQloxNVC7bQx3qcClo3CnMQ,1569615
|
|
59
63
|
vibe_surf/chrome_extension/icons/logo.png,sha256=PLmv1E6sCGXUE5ZDxr-pFPQd9Gvaw_f1TnYmF8VIssU,566385
|
|
60
|
-
vibe_surf/chrome_extension/scripts/api-client.js,sha256=
|
|
64
|
+
vibe_surf/chrome_extension/scripts/api-client.js,sha256=qbNoOo33SIoADV5BbSOo_jj9n7FdOPi7v1E5HHhlgSs,16901
|
|
61
65
|
vibe_surf/chrome_extension/scripts/file-manager.js,sha256=dtaYJNrpUnKH9zCsIpAAEkFN43ownDRtkyUhV8zxGZ0,17585
|
|
62
66
|
vibe_surf/chrome_extension/scripts/history-manager.js,sha256=J_EiBKrRp2cTxuy0Sq5oCju5YuX0_2pGG6NWrJSjC24,22218
|
|
63
67
|
vibe_surf/chrome_extension/scripts/main.js,sha256=jf1Tsi-5ZgjLyDl5ToqkI9c3tElWBsvSL9_c-HD6seA,18524
|
|
@@ -66,7 +70,7 @@ vibe_surf/chrome_extension/scripts/modal-manager.js,sha256=9ekFaTmy8sk94KK9HZJ77
|
|
|
66
70
|
vibe_surf/chrome_extension/scripts/permission-iframe-request.js,sha256=JTin53qSN8PqH4yoXluoK_llGJl1UlOgswp_9ojqxuk,8541
|
|
67
71
|
vibe_surf/chrome_extension/scripts/permission-request.js,sha256=9WEeTqMD0tHm1aX2ySkZgJ23siVZLZWAjVQe2dSmnoI,5168
|
|
68
72
|
vibe_surf/chrome_extension/scripts/session-manager.js,sha256=rOPGDTyV1oK-qYfqJKK8mpvQFSdnz0_F0wCcbxPfTSw,21887
|
|
69
|
-
vibe_surf/chrome_extension/scripts/settings-manager.js,sha256=
|
|
73
|
+
vibe_surf/chrome_extension/scripts/settings-manager.js,sha256=EBMOlAeiEEKY6bDowb_nVT3REtPbNKgMN4xCJoSwFVE,113793
|
|
70
74
|
vibe_surf/chrome_extension/scripts/ui-manager.js,sha256=A1dO6tFYoW7Ynh1eneSw_akVG_PtlioBhXhRHTVKQyU,129048
|
|
71
75
|
vibe_surf/chrome_extension/scripts/user-settings-storage.js,sha256=5aGuHXwTokX5wKjdNnu3rVkZv9XoD15FmgCELRRE3Xw,14191
|
|
72
76
|
vibe_surf/chrome_extension/scripts/voice-recorder.js,sha256=rIq9Rhyq-QyeCxJxxZGbnbPC0MCjQtNx6T2UC1g_al4,16852
|
|
@@ -80,22 +84,27 @@ vibe_surf/chrome_extension/styles/layout.css,sha256=HikLtMB4IxPdwjq8bDmJ7E3B0rAr
|
|
|
80
84
|
vibe_surf/chrome_extension/styles/responsive.css,sha256=a_SFX-PeOcenG4xMeoru5XFnnXdf0YhEyRzvTVVZHdI,8529
|
|
81
85
|
vibe_surf/chrome_extension/styles/settings-environment.css,sha256=UpjdTdGszUtNrrLF-T9sIhBBWrnY6oNVvrPcgkB9S8A,6215
|
|
82
86
|
vibe_surf/chrome_extension/styles/settings-forms.css,sha256=oR93bdQDZyu-b-z_HGkX3f-wC1yP-35mW7B8ec6KlSw,7061
|
|
83
|
-
vibe_surf/chrome_extension/styles/settings-
|
|
87
|
+
vibe_surf/chrome_extension/styles/settings-integrations.css,sha256=7_GnANj8IkBN8OB7RJMlkGKRqL1OtAwUI76W773pDPs,19907
|
|
88
|
+
vibe_surf/chrome_extension/styles/settings-modal.css,sha256=yHcY1HP9f-VpIWTNaHzUwNJQUPRMQvt3OjeZPOZqb3E,2812
|
|
84
89
|
vibe_surf/chrome_extension/styles/settings-profiles.css,sha256=o0FowPPiZum_DvYIGF5p4gEl63QVXTHDoVeD1Q4yy_s,4946
|
|
85
|
-
vibe_surf/chrome_extension/styles/settings-responsive.css,sha256=
|
|
90
|
+
vibe_surf/chrome_extension/styles/settings-responsive.css,sha256=jIlYWkOpom0iTWQWM_2g3NQ_tk3LZvJt41gi3S9AuEM,2862
|
|
86
91
|
vibe_surf/chrome_extension/styles/settings-utilities.css,sha256=3PuQS2857kg83d5erLbLdo_7J95-qV-qyNWS5M-w1oQ,505
|
|
87
92
|
vibe_surf/chrome_extension/styles/variables.css,sha256=enjyhsa0PeU3b-3uiXa-VkV-1-h2-Ai3m4KpmC2k0rY,2984
|
|
88
93
|
vibe_surf/llm/__init__.py,sha256=_vDVPo6STf343p1SgMQrF5023hicAx0g83pK2Gbk4Ek,601
|
|
89
94
|
vibe_surf/llm/openai_compatible.py,sha256=i0a5OLaL6QIlacVyctOG09vKr3KOi8T8Izp1v7xkD5I,16112
|
|
95
|
+
vibe_surf/telemetry/__init__.py,sha256=izfMX5F3ff92t4E6Y-6onYG8oJAx-bGtFFXRymPwFp0,2085
|
|
96
|
+
vibe_surf/telemetry/service.py,sha256=7AsvouGUI5lz5hsfxitVcarCwbfmGJHjJkslDZiTEhY,3717
|
|
97
|
+
vibe_surf/telemetry/views.py,sha256=9CVFwwlmSi6xYuM4KI9C3cGe5bxMGm0-qAAwNmXN7zw,3800
|
|
90
98
|
vibe_surf/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
|
-
vibe_surf/tools/browser_use_tools.py,sha256=
|
|
99
|
+
vibe_surf/tools/browser_use_tools.py,sha256=kvDUMQY4ScrTIs1jxF4JbsDK39W3ti283KKrjf35e2A,31925
|
|
100
|
+
vibe_surf/tools/composio_client.py,sha256=hbvUYiTSlNNRvBQmoVkxtJnd6pXm7PaevcTo1nQZEx8,18822
|
|
92
101
|
vibe_surf/tools/file_system.py,sha256=Tw_6J5QjCahQ3fd26CXziF1zPvRxhYM0889oK4bDhlU,19304
|
|
93
102
|
vibe_surf/tools/finance_tools.py,sha256=E8rmblp57e_cp0tFbdZ7BY3_upNlk4Whk0bYc_SFCJE,27284
|
|
94
|
-
vibe_surf/tools/mcp_client.py,sha256=
|
|
103
|
+
vibe_surf/tools/mcp_client.py,sha256=ZrwzboDBf7-rtzO8JYpBhvKGg88CMfbrXlhtIs8pXSQ,3167
|
|
95
104
|
vibe_surf/tools/report_writer_tools.py,sha256=2CyTTXOahTKZo7XwyWDDhJ--1mRA0uTtUWxu_DACAY0,776
|
|
96
105
|
vibe_surf/tools/vibesurf_registry.py,sha256=Z-8d9BrJl3RFMEK0Tw1Q5xNHX2kZGsnIGCTBZ3RM-pw,2159
|
|
97
|
-
vibe_surf/tools/vibesurf_tools.py,sha256=
|
|
98
|
-
vibe_surf/tools/views.py,sha256=
|
|
106
|
+
vibe_surf/tools/vibesurf_tools.py,sha256=oVQOVUntjoOriNxp9Zg7KkrglrySEcfD2jhyKuv4kpo,122966
|
|
107
|
+
vibe_surf/tools/views.py,sha256=pkZuX7FgvwYz9UqCo9Z4zMq84hu_XkMmxoy84iMMcg8,12883
|
|
99
108
|
vibe_surf/tools/voice_asr.py,sha256=AJG0yq_Jq-j8ulDlbPhVFfK1jch9_ASesis73iki9II,4702
|
|
100
109
|
vibe_surf/tools/website_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
110
|
vibe_surf/tools/website_api/douyin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -108,11 +117,11 @@ vibe_surf/tools/website_api/xhs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
|
108
117
|
vibe_surf/tools/website_api/xhs/client.py,sha256=pKtq_d78C-XqvcpmxCEGsd3zftGkfCkF66o-XTmxk00,30858
|
|
109
118
|
vibe_surf/tools/website_api/xhs/helpers.py,sha256=Dq2RyYKClBQ2ha2yEfpS1mtZswx0z9gdB2Wyljc83SI,10448
|
|
110
119
|
vibe_surf/tools/website_api/youtube/__init__.py,sha256=QWmZWSqo1O6XtaWP-SuL3HrBLYINjEWEyOy-KCytGDw,1145
|
|
111
|
-
vibe_surf/tools/website_api/youtube/client.py,sha256=
|
|
120
|
+
vibe_surf/tools/website_api/youtube/client.py,sha256=0kKy7fkBNc63hRvDgXaKnguDpDJ92rG8T2nT_Y1F5MQ,51989
|
|
112
121
|
vibe_surf/tools/website_api/youtube/helpers.py,sha256=GPgqfNirLYjIpk1OObvoXd2Ktq-ahKOOKHO2WwQVXCw,12931
|
|
113
|
-
vibesurf-0.1.
|
|
114
|
-
vibesurf-0.1.
|
|
115
|
-
vibesurf-0.1.
|
|
116
|
-
vibesurf-0.1.
|
|
117
|
-
vibesurf-0.1.
|
|
118
|
-
vibesurf-0.1.
|
|
122
|
+
vibesurf-0.1.33.dist-info/licenses/LICENSE,sha256=vRmTjOYvD8RLiSGYYmFHnveYNswtO1uvSk1sd-Eu7sg,2037
|
|
123
|
+
vibesurf-0.1.33.dist-info/METADATA,sha256=YQmczOi_fy3fHNKsXWEQBhLAxw9uyAMRWGy7sPganbs,6387
|
|
124
|
+
vibesurf-0.1.33.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
125
|
+
vibesurf-0.1.33.dist-info/entry_points.txt,sha256=UxqpvMocL-PR33S6vLF2OmXn-kVzM-DneMeZeHcPMM8,48
|
|
126
|
+
vibesurf-0.1.33.dist-info/top_level.txt,sha256=VPZGHqSb6EEqcJ4ZX6bHIuWfon5f6HXl3c7BYpbRqnY,10
|
|
127
|
+
vibesurf-0.1.33.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|