vibesurf 0.1.9__tar.gz → 0.1.9a1__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.9a1/.github/workflows/publish.yml +318 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/.gitignore +2 -1
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/PKG-INFO +2 -2
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/build-local.sh +64 -31
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/_version.py +3 -3
- vibesurf-0.1.9a1/vibe_surf/chrome_extension/icons/logo.icns +0 -0
- vibesurf-0.1.9a1/vibe_surf/chrome_extension/icons/logo.png +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibesurf.egg-info/PKG-INFO +2 -2
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibesurf.egg-info/SOURCES.txt +2 -0
- vibesurf-0.1.9a1/vibesurf.spec +242 -0
- vibesurf-0.1.9/.github/workflows/publish.yml +0 -222
- vibesurf-0.1.9/vibe_surf/chrome_extension/icons/logo.png +0 -0
- vibesurf-0.1.9/vibesurf.spec +0 -145
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/.env.example +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/.python-version +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/LICENSE +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/MANIFEST.in +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/README.md +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/build-local.bat +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/docs/EXECUTABLE_BUILD.md +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/docs/PYPI_SETUP.md +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/pyproject.toml +1 -1
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/setup.cfg +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/tests/test_agents.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/tests/test_backend_api.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/tests/test_browser.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/tests/test_controller.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/agents/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/agents/browser_use_agent.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/agents/prompts/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/agents/prompts/vibe_surf_prompt.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/agents/report_writer_agent.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/agents/vibe_surf_agent.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/api/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/api/activity.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/api/config.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/api/files.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/api/models.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/api/task.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/database/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/database/manager.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/database/models.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/database/queries.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/database/schemas.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/llm_config.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/main.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/migrations/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/migrations/init_db.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/migrations/seed_data.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/shared_state.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/utils/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/utils/encryption.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/backend/utils/llm_factory.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/browser/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/browser/agen_browser_profile.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/browser/agent_browser_session.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/browser/browser_manager.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/browser/utils.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/browser/watchdogs/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/browser/watchdogs/action_watchdog.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/browser/watchdogs/dom_watchdog.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/background.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/config.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/content.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/dev-reload.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/icons/convert-svg.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/icons/logo-preview.html +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/manifest.json +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/popup.html +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/scripts/api-client.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/scripts/main.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/scripts/markdown-it.min.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/scripts/session-manager.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/scripts/ui-manager.js +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/sidepanel.html +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/styles/animations.css +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/styles/components.css +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/styles/main.css +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/chrome_extension/styles/settings.css +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/cli.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/controller/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/controller/file_system.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/controller/mcp_client.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/controller/vibesurf_tools.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/controller/views.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/llm/__init__.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibe_surf/llm/openai_compatible.py +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibesurf.egg-info/dependency_links.txt +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibesurf.egg-info/entry_points.txt +0 -0
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibesurf.egg-info/requires.txt +1 -1
- {vibesurf-0.1.9 → vibesurf-0.1.9a1}/vibesurf.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
name: Build and Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published, edited]
|
|
6
|
+
workflow_dispatch: # Allow manual trigger
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
strategy:
|
|
12
|
+
matrix:
|
|
13
|
+
python-version: ['3.11', '3.12']
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
ref: 'main' # Always checkout main branch for latest code
|
|
19
|
+
fetch-depth: 0 # Full history for setuptools-scm
|
|
20
|
+
|
|
21
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
22
|
+
uses: actions/setup-python@v5
|
|
23
|
+
with:
|
|
24
|
+
python-version: ${{ matrix.python-version }}
|
|
25
|
+
|
|
26
|
+
- name: Install dependencies
|
|
27
|
+
run: |
|
|
28
|
+
python -m pip install --upgrade pip
|
|
29
|
+
pip install build pytest
|
|
30
|
+
pip install -e .
|
|
31
|
+
|
|
32
|
+
- name: Test CLI import
|
|
33
|
+
run: |
|
|
34
|
+
python -c "import vibe_surf; print(f'VibeSurf version: {vibe_surf.__version__}')"
|
|
35
|
+
python -c "from vibe_surf.cli import main; print('CLI import successful')"
|
|
36
|
+
|
|
37
|
+
build-wheels:
|
|
38
|
+
needs: test
|
|
39
|
+
runs-on: ubuntu-latest
|
|
40
|
+
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@v4
|
|
43
|
+
with:
|
|
44
|
+
ref: 'main' # Always checkout main branch for latest code
|
|
45
|
+
fetch-depth: 0 # Full history for setuptools-scm
|
|
46
|
+
|
|
47
|
+
- name: Set up Python
|
|
48
|
+
uses: actions/setup-python@v5
|
|
49
|
+
with:
|
|
50
|
+
python-version: '3.11'
|
|
51
|
+
|
|
52
|
+
- name: Install build dependencies
|
|
53
|
+
run: |
|
|
54
|
+
python -m pip install --upgrade pip
|
|
55
|
+
pip install build setuptools-scm[toml]
|
|
56
|
+
|
|
57
|
+
- name: Build package
|
|
58
|
+
run: python -m build
|
|
59
|
+
|
|
60
|
+
- name: Check built package
|
|
61
|
+
run: |
|
|
62
|
+
pip install twine
|
|
63
|
+
twine check dist/*
|
|
64
|
+
|
|
65
|
+
# Show package contents
|
|
66
|
+
echo "=== Built packages ==="
|
|
67
|
+
ls -la dist/
|
|
68
|
+
|
|
69
|
+
echo "=== Package info ==="
|
|
70
|
+
python -m pip install dist/*.whl
|
|
71
|
+
python -c "import vibe_surf; print(f'Installed version: {vibe_surf.__version__}')"
|
|
72
|
+
|
|
73
|
+
- name: Upload build artifacts
|
|
74
|
+
uses: actions/upload-artifact@v4
|
|
75
|
+
with:
|
|
76
|
+
name: dist
|
|
77
|
+
path: dist/
|
|
78
|
+
|
|
79
|
+
build-executables:
|
|
80
|
+
needs: test
|
|
81
|
+
strategy:
|
|
82
|
+
matrix:
|
|
83
|
+
include:
|
|
84
|
+
# Windows x64
|
|
85
|
+
- os: windows-latest
|
|
86
|
+
asset_name: vibesurf-windows-x64.exe
|
|
87
|
+
activate_cmd: .venv\Scripts\activate.bat
|
|
88
|
+
# macOS Intel (x86_64) - compatible with Apple Silicon via Rosetta 2
|
|
89
|
+
- os: macos-13
|
|
90
|
+
asset_name: vibesurf-macos-intel-x64
|
|
91
|
+
activate_cmd: source .venv/bin/activate
|
|
92
|
+
# macOS Apple Silicon (arm64) - native performance
|
|
93
|
+
- os: macos-14
|
|
94
|
+
asset_name: vibesurf-macos-apple-silicon
|
|
95
|
+
activate_cmd: source .venv/bin/activate
|
|
96
|
+
# Linux x64
|
|
97
|
+
- os: ubuntu-latest
|
|
98
|
+
asset_name: vibesurf-linux-x64
|
|
99
|
+
activate_cmd: source .venv/bin/activate
|
|
100
|
+
|
|
101
|
+
runs-on: ${{ matrix.os }}
|
|
102
|
+
|
|
103
|
+
steps:
|
|
104
|
+
- uses: actions/checkout@v4
|
|
105
|
+
with:
|
|
106
|
+
ref: 'main' # Always checkout main branch for latest code
|
|
107
|
+
fetch-depth: 0
|
|
108
|
+
|
|
109
|
+
# Add diagnostic logging
|
|
110
|
+
- name: Debug checkout and dependencies
|
|
111
|
+
shell: bash
|
|
112
|
+
run: |
|
|
113
|
+
echo "=== Git info ==="
|
|
114
|
+
git branch
|
|
115
|
+
git log --oneline -5
|
|
116
|
+
echo "=== pyproject.toml dependencies ==="
|
|
117
|
+
grep -A 20 "dependencies = \[" pyproject.toml || echo "No dependencies section found"
|
|
118
|
+
echo "=== vibe_surf/__init__.py ==="
|
|
119
|
+
head -5 vibe_surf/__init__.py || echo "No __init__.py found"
|
|
120
|
+
|
|
121
|
+
# Install uv (key step for consistent environment)
|
|
122
|
+
- name: Install uv
|
|
123
|
+
uses: astral-sh/setup-uv@v3
|
|
124
|
+
with:
|
|
125
|
+
version: "latest"
|
|
126
|
+
|
|
127
|
+
# Create uv environment and install current repository code
|
|
128
|
+
- name: Create uv environment
|
|
129
|
+
shell: bash
|
|
130
|
+
run: |
|
|
131
|
+
echo "=== Creating uv environment ==="
|
|
132
|
+
uv venv --python 3.12
|
|
133
|
+
|
|
134
|
+
echo "=== Installing dependencies (all platforms use uv) ==="
|
|
135
|
+
uv pip install -e .
|
|
136
|
+
uv pip install pyinstaller
|
|
137
|
+
echo "=== Installed packages ==="
|
|
138
|
+
uv pip list
|
|
139
|
+
|
|
140
|
+
# Verify environment using uv run (cross-platform)
|
|
141
|
+
- name: Verify environment with uv run
|
|
142
|
+
shell: bash
|
|
143
|
+
run: |
|
|
144
|
+
echo "=== Environment verification using uv run ==="
|
|
145
|
+
echo "Python version:"
|
|
146
|
+
uv run python --version
|
|
147
|
+
echo "Testing dotenv import:"
|
|
148
|
+
uv run python -c "from dotenv import load_dotenv; print('dotenv available')"
|
|
149
|
+
echo "Testing vibe_surf import:"
|
|
150
|
+
uv run python -c "import vibe_surf; print('vibe_surf available')"
|
|
151
|
+
echo "Testing CLI import:"
|
|
152
|
+
uv run python -c "from vibe_surf.cli import main; print('CLI available')"
|
|
153
|
+
|
|
154
|
+
# Build executable using uv run (cross-platform)
|
|
155
|
+
- name: Build executable with uv run
|
|
156
|
+
shell: bash
|
|
157
|
+
run: |
|
|
158
|
+
echo "=== Building executable with uv run ==="
|
|
159
|
+
echo "Python version check:"
|
|
160
|
+
uv run python --version
|
|
161
|
+
echo "Running PyInstaller..."
|
|
162
|
+
uv run pyinstaller vibesurf.spec --clean --noconfirm
|
|
163
|
+
|
|
164
|
+
- name: Prepare executable
|
|
165
|
+
shell: bash
|
|
166
|
+
run: |
|
|
167
|
+
if [[ "$RUNNER_OS" == "Windows" ]]; then
|
|
168
|
+
# Windows: rename .exe file
|
|
169
|
+
mv dist/vibesurf.exe dist/${{ matrix.asset_name }}
|
|
170
|
+
elif [[ "$RUNNER_OS" == "macOS" ]]; then
|
|
171
|
+
# macOS: handle .app bundle
|
|
172
|
+
if [ -d "dist/VibeSurf.app" ]; then
|
|
173
|
+
echo "Found macOS .app bundle"
|
|
174
|
+
|
|
175
|
+
# Apply ad-hoc code signing FIRST, before creating archive
|
|
176
|
+
echo "Adding ad-hoc code signature to .app bundle..."
|
|
177
|
+
codesign --force --deep --sign - dist/VibeSurf.app || echo "Code signing failed, continuing..."
|
|
178
|
+
|
|
179
|
+
# Remove quarantine attribute to help with Gatekeeper
|
|
180
|
+
xattr -cr dist/VibeSurf.app 2>/dev/null || echo "No quarantine attributes to remove"
|
|
181
|
+
|
|
182
|
+
# Verify signing
|
|
183
|
+
echo "Verifying code signature..."
|
|
184
|
+
codesign --verify --deep dist/VibeSurf.app && echo "✅ Signature verified" || echo "⚠️ Signature verification failed"
|
|
185
|
+
|
|
186
|
+
# Now create tar.gz archive of the SIGNED .app bundle
|
|
187
|
+
echo "Creating archive with signed .app bundle..."
|
|
188
|
+
cd dist
|
|
189
|
+
tar -czf ${{ matrix.asset_name }}.tar.gz VibeSurf.app
|
|
190
|
+
|
|
191
|
+
# Verify archive was created
|
|
192
|
+
if [ -f "${{ matrix.asset_name }}.tar.gz" ]; then
|
|
193
|
+
echo "✅ Archive created successfully: ${{ matrix.asset_name }}.tar.gz"
|
|
194
|
+
ls -lh ${{ matrix.asset_name }}.tar.gz
|
|
195
|
+
mv ${{ matrix.asset_name }}.tar.gz ${{ matrix.asset_name }}
|
|
196
|
+
else
|
|
197
|
+
echo "❌ Failed to create archive"
|
|
198
|
+
exit 1
|
|
199
|
+
fi
|
|
200
|
+
cd ..
|
|
201
|
+
else
|
|
202
|
+
# Fallback: single executable
|
|
203
|
+
echo "No .app bundle found, using single executable"
|
|
204
|
+
mv dist/vibesurf dist/${{ matrix.asset_name }}
|
|
205
|
+
chmod +x dist/${{ matrix.asset_name }}
|
|
206
|
+
codesign --force --deep --sign - dist/${{ matrix.asset_name }} || echo "Code signing failed, continuing..."
|
|
207
|
+
fi
|
|
208
|
+
else
|
|
209
|
+
# Linux: single executable
|
|
210
|
+
mv dist/vibesurf dist/${{ matrix.asset_name }}
|
|
211
|
+
chmod +x dist/${{ matrix.asset_name }}
|
|
212
|
+
fi
|
|
213
|
+
|
|
214
|
+
# Show final result
|
|
215
|
+
echo "=== Final executable/archive ==="
|
|
216
|
+
ls -lh dist/${{ matrix.asset_name }}
|
|
217
|
+
|
|
218
|
+
- name: Test executable
|
|
219
|
+
shell: bash
|
|
220
|
+
run: |
|
|
221
|
+
# Basic test to ensure executable runs
|
|
222
|
+
if [[ "$RUNNER_OS" == "Windows" ]]; then
|
|
223
|
+
echo "Testing Windows executable..."
|
|
224
|
+
ls -la dist/${{ matrix.asset_name }}
|
|
225
|
+
elif [[ "$RUNNER_OS" == "macOS" ]]; then
|
|
226
|
+
echo "Testing macOS .app bundle..."
|
|
227
|
+
if [ -d "dist/VibeSurf.app" ]; then
|
|
228
|
+
echo "✅ VibeSurf.app bundle exists"
|
|
229
|
+
ls -la dist/VibeSurf.app/Contents/MacOS/
|
|
230
|
+
# Test the executable inside the bundle
|
|
231
|
+
./dist/VibeSurf.app/Contents/MacOS/vibesurf --help || echo "Basic app test completed"
|
|
232
|
+
else
|
|
233
|
+
echo "Testing macOS executable..."
|
|
234
|
+
./dist/${{ matrix.asset_name }} --help || echo "Basic test completed"
|
|
235
|
+
fi
|
|
236
|
+
else
|
|
237
|
+
echo "Testing Linux executable..."
|
|
238
|
+
./dist/${{ matrix.asset_name }} --help || echo "Basic test completed"
|
|
239
|
+
fi
|
|
240
|
+
|
|
241
|
+
- name: Upload executable
|
|
242
|
+
uses: actions/upload-artifact@v4
|
|
243
|
+
with:
|
|
244
|
+
name: ${{ matrix.asset_name }}
|
|
245
|
+
path: dist/${{ matrix.asset_name }}
|
|
246
|
+
retention-days: 90
|
|
247
|
+
|
|
248
|
+
publish-pypi:
|
|
249
|
+
needs: [test, build-wheels]
|
|
250
|
+
runs-on: ubuntu-latest
|
|
251
|
+
environment: release
|
|
252
|
+
permissions:
|
|
253
|
+
id-token: write # Required for trusted publishing
|
|
254
|
+
|
|
255
|
+
steps:
|
|
256
|
+
- name: Download build artifacts
|
|
257
|
+
uses: actions/download-artifact@v4
|
|
258
|
+
with:
|
|
259
|
+
name: dist
|
|
260
|
+
path: dist/
|
|
261
|
+
|
|
262
|
+
- name: Publish to PyPI
|
|
263
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
264
|
+
with:
|
|
265
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
266
|
+
skip-existing: true # Skip if version already exists on PyPI
|
|
267
|
+
# Use the following line if you want to use trusted publishing instead
|
|
268
|
+
# trusted-publishing: true
|
|
269
|
+
|
|
270
|
+
publish-executables:
|
|
271
|
+
needs: [test, build-executables]
|
|
272
|
+
runs-on: ubuntu-latest
|
|
273
|
+
if: github.event_name == 'release'
|
|
274
|
+
permissions:
|
|
275
|
+
contents: write # Required for uploading to GitHub releases
|
|
276
|
+
actions: read # Required for downloading artifacts
|
|
277
|
+
|
|
278
|
+
steps:
|
|
279
|
+
- name: Download all artifacts
|
|
280
|
+
uses: actions/download-artifact@v4
|
|
281
|
+
|
|
282
|
+
- name: Upload executables to release
|
|
283
|
+
uses: softprops/action-gh-release@v1
|
|
284
|
+
with:
|
|
285
|
+
files: |
|
|
286
|
+
vibesurf-windows-x64.exe/vibesurf-windows-x64.exe
|
|
287
|
+
vibesurf-macos-intel-x64/vibesurf-macos-intel-x64
|
|
288
|
+
vibesurf-macos-apple-silicon/vibesurf-macos-apple-silicon
|
|
289
|
+
vibesurf-linux-x64/vibesurf-linux-x64
|
|
290
|
+
body: |
|
|
291
|
+
## 📦 Download Instructions
|
|
292
|
+
|
|
293
|
+
### 🪟 Windows
|
|
294
|
+
- Download `vibesurf-windows-x64.exe`
|
|
295
|
+
- Run directly or add to PATH
|
|
296
|
+
|
|
297
|
+
### 🍎 macOS (with proper .app bundle)
|
|
298
|
+
- **Intel Macs**: Download `vibesurf-macos-intel-x64`
|
|
299
|
+
- **Apple Silicon**: Download `vibesurf-macos-apple-silicon`
|
|
300
|
+
- Extract: `tar -xzf vibesurf-macos-*.tar.gz`
|
|
301
|
+
- Open: Double-click `VibeSurf.app` in Finder
|
|
302
|
+
- **If blocked**: Right-click → "Open" → "Open" in dialog
|
|
303
|
+
- **Alternative**: System Preferences → Security & Privacy → "Open Anyway"
|
|
304
|
+
|
|
305
|
+
✅ **Features**:
|
|
306
|
+
- Proper ICNS icon
|
|
307
|
+
- No terminal window (windowed mode)
|
|
308
|
+
- Ad-hoc signed (reduces warnings)
|
|
309
|
+
- Standard macOS .app bundle
|
|
310
|
+
|
|
311
|
+
### 🐧 Linux
|
|
312
|
+
- Download `vibesurf-linux-x64`
|
|
313
|
+
- Make executable: `chmod +x vibesurf-linux-x64`
|
|
314
|
+
- Run: `./vibesurf-linux-x64`
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
**Note**: All builds include automatic platform detection and appropriate configurations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vibesurf
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.9a1
|
|
4
4
|
Summary: VibeSurf: A powerful browser assistant for vibe surfing
|
|
5
5
|
Author: Shao Warm
|
|
6
6
|
License: Apache-2.0
|
|
@@ -26,7 +26,6 @@ Requires-Dist: json-repair>=0.48.0
|
|
|
26
26
|
Requires-Dist: aiohttp>=3.12.15
|
|
27
27
|
Requires-Dist: scikit-image>=0.25.2
|
|
28
28
|
Requires-Dist: python-socks>=2.7.2
|
|
29
|
-
Requires-Dist: browser-use==0.7.1
|
|
30
29
|
Requires-Dist: langgraph>=0.6.4
|
|
31
30
|
Requires-Dist: fastapi>=0.104.0
|
|
32
31
|
Requires-Dist: uvicorn[standard]>=0.24.0
|
|
@@ -38,6 +37,7 @@ Requires-Dist: aiosqlite>=0.21.0
|
|
|
38
37
|
Requires-Dist: rich>=13.0.0
|
|
39
38
|
Requires-Dist: greenlet>=3.2.4
|
|
40
39
|
Requires-Dist: getmac>=0.9.5
|
|
40
|
+
Requires-Dist: browser-use==0.7.1
|
|
41
41
|
Dynamic: license-file
|
|
42
42
|
|
|
43
43
|
# VibeSurf: A powerful browser assistant for vibe surfing
|
|
@@ -87,38 +87,71 @@ fi
|
|
|
87
87
|
|
|
88
88
|
pyinstaller vibesurf.spec --clean --noconfirm
|
|
89
89
|
|
|
90
|
-
# Step 4:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
90
|
+
# Step 4: Check build results and handle platform-specific post-processing
|
|
91
|
+
PLATFORM=$(uname -s)
|
|
92
|
+
print_status "Detected platform: $PLATFORM"
|
|
93
|
+
|
|
94
|
+
if [ "$PLATFORM" = "Darwin" ]; then
|
|
95
|
+
# macOS - check for .app bundle
|
|
96
|
+
if [ -d "dist/VibeSurf.app" ]; then
|
|
97
|
+
print_success "macOS .app bundle built successfully!"
|
|
98
|
+
|
|
99
|
+
# Run macOS post-build script if it exists
|
|
100
|
+
if [ -f "macos-post-build.sh" ]; then
|
|
101
|
+
print_status "Running macOS post-build processing..."
|
|
102
|
+
chmod +x macos-post-build.sh
|
|
103
|
+
./macos-post-build.sh
|
|
104
|
+
else
|
|
105
|
+
print_warning "macos-post-build.sh not found - skipping post-processing"
|
|
106
|
+
echo ""
|
|
107
|
+
echo "📊 App Bundle Information:"
|
|
108
|
+
echo "========================="
|
|
109
|
+
ls -lah dist/VibeSurf.app
|
|
110
|
+
echo ""
|
|
111
|
+
print_success "🎉 Build completed successfully!"
|
|
112
|
+
echo "📁 Your app is located at: ./dist/VibeSurf.app"
|
|
113
|
+
echo "🚀 To run: open ./dist/VibeSurf.app"
|
|
114
|
+
fi
|
|
115
|
+
|
|
116
|
+
else
|
|
117
|
+
print_error "Build failed - VibeSurf.app bundle not found"
|
|
118
|
+
exit 1
|
|
112
119
|
fi
|
|
113
120
|
|
|
114
|
-
echo ""
|
|
115
|
-
print_success "🎉 Build completed successfully!"
|
|
116
|
-
echo ""
|
|
117
|
-
echo "📁 Your executable is located at: ./dist/vibesurf"
|
|
118
|
-
echo "🚀 To run: ./dist/vibesurf"
|
|
119
|
-
echo ""
|
|
120
|
-
|
|
121
121
|
else
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
# Linux/Unix - check for regular executable
|
|
123
|
+
if [ -f "dist/vibesurf" ]; then
|
|
124
|
+
print_success "Executable built successfully!"
|
|
125
|
+
|
|
126
|
+
# Make executable and test
|
|
127
|
+
chmod +x dist/vibesurf
|
|
128
|
+
|
|
129
|
+
print_status "Testing executable..."
|
|
130
|
+
./dist/vibesurf --help > /dev/null 2>&1 && {
|
|
131
|
+
print_success "Executable test passed!"
|
|
132
|
+
} || {
|
|
133
|
+
print_warning "Executable test failed, but this might be expected for CLI apps"
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
# Show file info
|
|
137
|
+
echo ""
|
|
138
|
+
echo "📊 Executable Information:"
|
|
139
|
+
echo "========================="
|
|
140
|
+
ls -lh dist/vibesurf
|
|
141
|
+
|
|
142
|
+
if command -v file &> /dev/null; then
|
|
143
|
+
file dist/vibesurf
|
|
144
|
+
fi
|
|
145
|
+
|
|
146
|
+
echo ""
|
|
147
|
+
print_success "🎉 Build completed successfully!"
|
|
148
|
+
echo ""
|
|
149
|
+
echo "📁 Your executable is located at: ./dist/vibesurf"
|
|
150
|
+
echo "🚀 To run: ./dist/vibesurf"
|
|
151
|
+
echo ""
|
|
152
|
+
|
|
153
|
+
else
|
|
154
|
+
print_error "Build failed - executable not found"
|
|
155
|
+
exit 1
|
|
156
|
+
fi
|
|
124
157
|
fi
|
|
@@ -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, 9)
|
|
31
|
+
__version__ = version = '0.1.9a1'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 9, 'a1')
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g3125abb4c'
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vibesurf
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.9a1
|
|
4
4
|
Summary: VibeSurf: A powerful browser assistant for vibe surfing
|
|
5
5
|
Author: Shao Warm
|
|
6
6
|
License: Apache-2.0
|
|
@@ -26,7 +26,6 @@ Requires-Dist: json-repair>=0.48.0
|
|
|
26
26
|
Requires-Dist: aiohttp>=3.12.15
|
|
27
27
|
Requires-Dist: scikit-image>=0.25.2
|
|
28
28
|
Requires-Dist: python-socks>=2.7.2
|
|
29
|
-
Requires-Dist: browser-use==0.7.1
|
|
30
29
|
Requires-Dist: langgraph>=0.6.4
|
|
31
30
|
Requires-Dist: fastapi>=0.104.0
|
|
32
31
|
Requires-Dist: uvicorn[standard]>=0.24.0
|
|
@@ -38,6 +37,7 @@ Requires-Dist: aiosqlite>=0.21.0
|
|
|
38
37
|
Requires-Dist: rich>=13.0.0
|
|
39
38
|
Requires-Dist: greenlet>=3.2.4
|
|
40
39
|
Requires-Dist: getmac>=0.9.5
|
|
40
|
+
Requires-Dist: browser-use==0.7.1
|
|
41
41
|
Dynamic: license-file
|
|
42
42
|
|
|
43
43
|
# VibeSurf: A powerful browser assistant for vibe surfing
|
|
@@ -55,6 +55,7 @@ vibesurf.spec
|
|
|
55
55
|
./vibe_surf/chrome_extension/sidepanel.html
|
|
56
56
|
./vibe_surf/chrome_extension/icons/convert-svg.js
|
|
57
57
|
./vibe_surf/chrome_extension/icons/logo-preview.html
|
|
58
|
+
./vibe_surf/chrome_extension/icons/logo.icns
|
|
58
59
|
./vibe_surf/chrome_extension/icons/logo.png
|
|
59
60
|
./vibe_surf/chrome_extension/scripts/api-client.js
|
|
60
61
|
./vibe_surf/chrome_extension/scripts/main.js
|
|
@@ -125,6 +126,7 @@ vibe_surf/chrome_extension/popup.html
|
|
|
125
126
|
vibe_surf/chrome_extension/sidepanel.html
|
|
126
127
|
vibe_surf/chrome_extension/icons/convert-svg.js
|
|
127
128
|
vibe_surf/chrome_extension/icons/logo-preview.html
|
|
129
|
+
vibe_surf/chrome_extension/icons/logo.icns
|
|
128
130
|
vibe_surf/chrome_extension/icons/logo.png
|
|
129
131
|
vibe_surf/chrome_extension/scripts/api-client.js
|
|
130
132
|
vibe_surf/chrome_extension/scripts/main.js
|