agentvibes 2.1.3 โ 2.1.5
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.
- package/.claude/github-star-reminder.txt +1 -1
- package/.claude/hooks/bmad-tts-injector.sh +1 -1
- package/.claude/hooks/bmad-voice-manager.sh +1 -1
- package/.claude/hooks/check-output-style.sh +1 -1
- package/.claude/hooks/download-extra-voices.sh +1 -1
- package/.claude/hooks/github-star-reminder.sh +1 -1
- package/.claude/hooks/language-manager.sh +1 -1
- package/.claude/hooks/learn-manager.sh +1 -1
- package/.claude/hooks/personality-manager.sh +1 -1
- package/.claude/hooks/piper-download-voices.sh +1 -1
- package/.claude/hooks/piper-installer.sh +1 -1
- package/.claude/hooks/piper-multispeaker-registry.sh +1 -1
- package/.claude/hooks/piper-voice-manager.sh +1 -1
- package/.claude/hooks/play-tts-elevenlabs.sh +1 -1
- package/.claude/hooks/play-tts-piper.sh +18 -5
- package/.claude/hooks/play-tts.sh +1 -1
- package/.claude/hooks/provider-commands.sh +1 -1
- package/.claude/hooks/provider-manager.sh +1 -1
- package/.claude/hooks/replay-target-audio.sh +1 -1
- package/.claude/hooks/sentiment-manager.sh +1 -1
- package/.claude/hooks/speed-manager.sh +1 -1
- package/.claude/hooks/voice-manager.sh +1 -1
- package/.claude/hooks/voices-config.sh +1 -1
- package/MACOS_TESTING_SETUP.md +216 -0
- package/README.md +1 -0
- package/RELEASE_NOTES.md +461 -97
- package/docs/macos-testing.md +300 -0
- package/mcp-server/server.py +9 -1
- package/package.json +1 -1
- package/src/installer.js +46 -76
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
# macOS Testing with GitHub Actions
|
|
2
|
+
|
|
3
|
+
This document explains how AgentVibes is tested on macOS using GitHub Actions, and how you can contribute to macOS testing.
|
|
4
|
+
|
|
5
|
+
## ๐ฏ Overview
|
|
6
|
+
|
|
7
|
+
AgentVibes uses GitHub Actions to automatically test on macOS runners, ensuring compatibility across different macOS versions and architectures (Intel and Apple Silicon).
|
|
8
|
+
|
|
9
|
+
## ๐ Test Coverage
|
|
10
|
+
|
|
11
|
+
### Automated Tests Run On:
|
|
12
|
+
- **macOS Versions**: macOS 13 (Intel), macOS 14 (M1), macOS 15 (latest)
|
|
13
|
+
- **Node Versions**: 18, 20, 22
|
|
14
|
+
- **Architectures**: x86_64 (Intel) and arm64 (Apple Silicon)
|
|
15
|
+
|
|
16
|
+
### What Gets Tested:
|
|
17
|
+
|
|
18
|
+
1. **Unit Tests** - All BATS test suites run on macOS
|
|
19
|
+
2. **Installation Process** - npm package installation
|
|
20
|
+
3. **Audio Tools** - ffmpeg, afplay, mpv availability
|
|
21
|
+
4. **Piper TTS** - Binary availability for Intel/ARM architectures
|
|
22
|
+
5. **ElevenLabs API** - Mock API integration tests
|
|
23
|
+
6. **Python/MCP** - MCP server dependencies
|
|
24
|
+
7. **Audio Generation** - Actual audio file creation using ffmpeg
|
|
25
|
+
|
|
26
|
+
## ๐ Workflows
|
|
27
|
+
|
|
28
|
+
### Main Test Workflow (`.github/workflows/test.yml`)
|
|
29
|
+
Runs on every push and PR to `master` branch:
|
|
30
|
+
- Tests on both Ubuntu and macOS
|
|
31
|
+
- Uses Node 18 and 20
|
|
32
|
+
- Fast execution for quick feedback
|
|
33
|
+
|
|
34
|
+
### Dedicated macOS Workflow (`.github/workflows/test-macos.yml`)
|
|
35
|
+
More comprehensive macOS-specific testing:
|
|
36
|
+
- Tests on macOS 13, 14, and 15
|
|
37
|
+
- Tests Node 18, 20, and 22
|
|
38
|
+
- Detailed system information gathering
|
|
39
|
+
- Architecture-specific Piper TTS validation
|
|
40
|
+
- Audio playback tool verification
|
|
41
|
+
|
|
42
|
+
## ๐ง What's Tested on macOS
|
|
43
|
+
|
|
44
|
+
### System Compatibility
|
|
45
|
+
```bash
|
|
46
|
+
โ
macOS version detection (sw_vers)
|
|
47
|
+
โ
Architecture detection (Intel vs Apple Silicon)
|
|
48
|
+
โ
Node.js version compatibility
|
|
49
|
+
โ
Shell environment (zsh/bash)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Audio Stack
|
|
53
|
+
```bash
|
|
54
|
+
โ
afplay (native macOS audio player)
|
|
55
|
+
โ
ffmpeg (audio conversion)
|
|
56
|
+
โ
mpv (alternative audio player)
|
|
57
|
+
โ
Audio device detection
|
|
58
|
+
โ
Audio file generation
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Dependencies
|
|
62
|
+
```bash
|
|
63
|
+
โ
BATS test framework (via Homebrew)
|
|
64
|
+
โ
Python 3 and pip
|
|
65
|
+
โ
MCP package installation
|
|
66
|
+
โ
npm dependencies
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### AgentVibes Features
|
|
70
|
+
```bash
|
|
71
|
+
โ
ElevenLabs API integration (mock)
|
|
72
|
+
โ
Piper TTS binary availability
|
|
73
|
+
โ
Voice configuration
|
|
74
|
+
โ
Audio file management
|
|
75
|
+
โ
Installation scripts
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## ๐งช Running Tests Locally on macOS
|
|
79
|
+
|
|
80
|
+
### Prerequisites
|
|
81
|
+
```bash
|
|
82
|
+
# Install Homebrew (if not already installed)
|
|
83
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
84
|
+
|
|
85
|
+
# Install BATS
|
|
86
|
+
brew install bats-core
|
|
87
|
+
|
|
88
|
+
# Install audio tools
|
|
89
|
+
brew install ffmpeg mpv
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Run Tests
|
|
93
|
+
```bash
|
|
94
|
+
# Clone the repository
|
|
95
|
+
git clone https://github.com/paulpreibisch/AgentVibes.git
|
|
96
|
+
cd AgentVibes
|
|
97
|
+
|
|
98
|
+
# Install dependencies
|
|
99
|
+
npm install
|
|
100
|
+
|
|
101
|
+
# Run all tests
|
|
102
|
+
npm test
|
|
103
|
+
|
|
104
|
+
# Run tests with verbose output
|
|
105
|
+
npm run test:verbose
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Test Specific Components
|
|
109
|
+
```bash
|
|
110
|
+
# Test play-tts functionality
|
|
111
|
+
bats test/unit/play-tts.bats
|
|
112
|
+
|
|
113
|
+
# Test voice management
|
|
114
|
+
bats test/unit/voice-manager.bats
|
|
115
|
+
|
|
116
|
+
# Test personality features
|
|
117
|
+
bats test/unit/personality-manager.bats
|
|
118
|
+
|
|
119
|
+
# Test provider switching
|
|
120
|
+
bats test/unit/provider-manager.bats
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## ๐ Debugging Test Failures
|
|
124
|
+
|
|
125
|
+
### Check System Info
|
|
126
|
+
```bash
|
|
127
|
+
# macOS version
|
|
128
|
+
sw_vers
|
|
129
|
+
|
|
130
|
+
# Architecture
|
|
131
|
+
uname -m
|
|
132
|
+
|
|
133
|
+
# Node version
|
|
134
|
+
node --version
|
|
135
|
+
|
|
136
|
+
# Check audio devices
|
|
137
|
+
system_profiler SPAudioDataType
|
|
138
|
+
|
|
139
|
+
# Check for audio tools
|
|
140
|
+
which afplay ffmpeg mpv
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Common Issues
|
|
144
|
+
|
|
145
|
+
**BATS not found:**
|
|
146
|
+
```bash
|
|
147
|
+
brew install bats-core
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**ffmpeg not found:**
|
|
151
|
+
```bash
|
|
152
|
+
brew install ffmpeg
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Python MCP issues:**
|
|
156
|
+
```bash
|
|
157
|
+
python3 -m pip install --upgrade mcp
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Permission errors:**
|
|
161
|
+
```bash
|
|
162
|
+
# Fix npm permissions
|
|
163
|
+
sudo chown -R $(whoami) ~/.npm
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## ๐ GitHub Actions Features
|
|
167
|
+
|
|
168
|
+
### Matrix Testing
|
|
169
|
+
Tests run in parallel across multiple configurations:
|
|
170
|
+
```yaml
|
|
171
|
+
strategy:
|
|
172
|
+
matrix:
|
|
173
|
+
os: [macos-13, macos-14, macos-15]
|
|
174
|
+
node-version: ['18', '20', '22']
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
This creates **9 test jobs** (3 OS ร 3 Node versions) that run simultaneously.
|
|
178
|
+
|
|
179
|
+
### Manual Triggers
|
|
180
|
+
You can manually trigger the macOS test workflow:
|
|
181
|
+
1. Go to **Actions** tab on GitHub
|
|
182
|
+
2. Select **macOS Test Suite**
|
|
183
|
+
3. Click **Run workflow**
|
|
184
|
+
4. Choose branch and click **Run workflow**
|
|
185
|
+
|
|
186
|
+
### Artifact Collection
|
|
187
|
+
Failed tests automatically upload:
|
|
188
|
+
- Audio files from `~/.claude/audio/`
|
|
189
|
+
- Test logs from `/tmp/test-*.log`
|
|
190
|
+
- Retained for 7 days for debugging
|
|
191
|
+
|
|
192
|
+
## ๐ฏ Benefits of macOS Testing
|
|
193
|
+
|
|
194
|
+
### Free Testing
|
|
195
|
+
- GitHub provides **macOS runners for free** on public repositories
|
|
196
|
+
- No need to rent Mac VPS or cloud services
|
|
197
|
+
- Automated on every commit
|
|
198
|
+
|
|
199
|
+
### Real Hardware
|
|
200
|
+
- Tests run on actual macOS environments
|
|
201
|
+
- Intel (x86_64) and Apple Silicon (arm64) coverage
|
|
202
|
+
- Real filesystem and audio stack
|
|
203
|
+
|
|
204
|
+
### Coverage
|
|
205
|
+
- **Intel Macs**: macOS 13 runner
|
|
206
|
+
- **Apple Silicon**: macOS 14/15 runners
|
|
207
|
+
- **Latest macOS**: Always available
|
|
208
|
+
|
|
209
|
+
### Confidence
|
|
210
|
+
- Know it works before users install
|
|
211
|
+
- Catch macOS-specific bugs early
|
|
212
|
+
- Validate audio tools on macOS
|
|
213
|
+
|
|
214
|
+
## ๐ก Contributing macOS Tests
|
|
215
|
+
|
|
216
|
+
### Add New Test Cases
|
|
217
|
+
```bash
|
|
218
|
+
# Create new test file
|
|
219
|
+
touch test/unit/my-feature.bats
|
|
220
|
+
|
|
221
|
+
# Add test
|
|
222
|
+
cat > test/unit/my-feature.bats << 'EOF'
|
|
223
|
+
#!/usr/bin/env bats
|
|
224
|
+
|
|
225
|
+
load ../helpers/test-helper
|
|
226
|
+
|
|
227
|
+
@test "my feature works on macOS" {
|
|
228
|
+
run my-command
|
|
229
|
+
[ "$status" -eq 0 ]
|
|
230
|
+
}
|
|
231
|
+
EOF
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Test macOS-Specific Features
|
|
235
|
+
```bash
|
|
236
|
+
@test "uses afplay on macOS" {
|
|
237
|
+
[[ "$OSTYPE" == "darwin"* ]] || skip "macOS only"
|
|
238
|
+
|
|
239
|
+
run detect-audio-player
|
|
240
|
+
[[ "$output" == *"afplay"* ]]
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Submit PR with Tests
|
|
245
|
+
1. Add test cases to `test/unit/*.bats`
|
|
246
|
+
2. Verify tests pass locally: `npm test`
|
|
247
|
+
3. Submit PR - GitHub Actions runs on macOS automatically
|
|
248
|
+
4. Review test results in PR checks
|
|
249
|
+
|
|
250
|
+
## ๐ Viewing Test Results
|
|
251
|
+
|
|
252
|
+
### In Pull Requests
|
|
253
|
+
- Check status at bottom of PR
|
|
254
|
+
- Click **Details** next to "Test on macos-latest"
|
|
255
|
+
- View full test output and system info
|
|
256
|
+
|
|
257
|
+
### In Actions Tab
|
|
258
|
+
1. Go to **Actions** tab
|
|
259
|
+
2. Click on workflow run
|
|
260
|
+
3. Select matrix job (e.g., "Test on macos-14")
|
|
261
|
+
4. Expand test steps to see output
|
|
262
|
+
|
|
263
|
+
### Download Artifacts
|
|
264
|
+
If tests fail:
|
|
265
|
+
1. Scroll to bottom of failed job
|
|
266
|
+
2. Click **Artifacts** section
|
|
267
|
+
3. Download test logs for debugging
|
|
268
|
+
|
|
269
|
+
## ๐ฆ Status Badges
|
|
270
|
+
|
|
271
|
+
The README shows test status:
|
|
272
|
+
```markdown
|
|
273
|
+
[](https://github.com/paulpreibisch/AgentVibes/actions/workflows/test.yml)
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
This badge shows if tests are passing on latest commit (including macOS tests).
|
|
277
|
+
|
|
278
|
+
## ๐ Future Improvements
|
|
279
|
+
|
|
280
|
+
Planned enhancements:
|
|
281
|
+
- [ ] Test actual ElevenLabs API with secrets
|
|
282
|
+
- [ ] Test Piper TTS full installation on macOS
|
|
283
|
+
- [ ] Test Claude Desktop integration
|
|
284
|
+
- [ ] Performance benchmarks on Apple Silicon
|
|
285
|
+
- [ ] Audio quality validation
|
|
286
|
+
- [ ] Test with different macOS audio devices
|
|
287
|
+
|
|
288
|
+
## ๐ค Community Testing
|
|
289
|
+
|
|
290
|
+
While automated tests are great, real-world testing helps:
|
|
291
|
+
- Test on your Mac and report issues
|
|
292
|
+
- Try different macOS versions
|
|
293
|
+
- Test with various audio setups
|
|
294
|
+
- Share feedback in GitHub Issues
|
|
295
|
+
|
|
296
|
+
**Your Mac testing helps make AgentVibes better for everyone!** ๐
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
**Questions?** Open an issue: https://github.com/paulpreibisch/AgentVibes/issues
|
package/mcp-server/server.py
CHANGED
|
@@ -203,13 +203,16 @@ class AgentVibesServer:
|
|
|
203
203
|
"Example: en_US-lessac-medium, en_GB-alba-medium"
|
|
204
204
|
)
|
|
205
205
|
|
|
206
|
-
# Determine provider label
|
|
206
|
+
# Determine provider label and alternative provider
|
|
207
207
|
if "Piper" in provider:
|
|
208
208
|
provider_label = "Piper TTS"
|
|
209
|
+
alternative_provider = "ElevenLabs"
|
|
209
210
|
elif "ElevenLabs" in provider:
|
|
210
211
|
provider_label = "ElevenLabs"
|
|
212
|
+
alternative_provider = "Piper"
|
|
211
213
|
else:
|
|
212
214
|
provider_label = "TTS"
|
|
215
|
+
alternative_provider = None
|
|
213
216
|
|
|
214
217
|
output = f"๐ค Available {provider_label} Voices:\n"
|
|
215
218
|
output += "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n"
|
|
@@ -217,6 +220,11 @@ class AgentVibesServer:
|
|
|
217
220
|
marker = " โ (current)" if voice == current_voice else ""
|
|
218
221
|
output += f" โข {voice}{marker}\n"
|
|
219
222
|
output += "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n"
|
|
223
|
+
|
|
224
|
+
# Add provider switch hint
|
|
225
|
+
if alternative_provider:
|
|
226
|
+
output += f"\n๐ก Switch to {alternative_provider}? Use: set_provider(provider=\"{alternative_provider.lower()}\")\n"
|
|
227
|
+
|
|
220
228
|
return output
|
|
221
229
|
return "โ Failed to list voices"
|
|
222
230
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "agentvibes",
|
|
4
|
-
"version": "2.1.
|
|
4
|
+
"version": "2.1.5",
|
|
5
5
|
"description": "Now your AI Agents can finally talk back! Professional TTS voice for Claude Code and Claude Desktop (via MCP) with multi-provider support.",
|
|
6
6
|
"homepage": "https://agentvibes.org",
|
|
7
7
|
"keywords": [
|
package/src/installer.js
CHANGED
|
@@ -119,46 +119,31 @@ async function install(options = {}) {
|
|
|
119
119
|
console.log(
|
|
120
120
|
boxen(
|
|
121
121
|
chalk.white.bold('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n') +
|
|
122
|
-
chalk.cyan.bold(' ๐ฆ AgentVibes v2.
|
|
122
|
+
chalk.cyan.bold(' ๐ฆ AgentVibes v2.1.5 - Critical macOS Fix\n') +
|
|
123
123
|
chalk.white.bold('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
124
|
-
chalk.
|
|
125
|
-
chalk.cyan('
|
|
126
|
-
chalk.
|
|
127
|
-
chalk.
|
|
128
|
-
chalk.
|
|
129
|
-
chalk.
|
|
130
|
-
chalk.
|
|
131
|
-
chalk.
|
|
132
|
-
chalk.
|
|
133
|
-
chalk.
|
|
134
|
-
chalk.
|
|
135
|
-
chalk.gray(' โข
|
|
136
|
-
chalk.gray(' โข
|
|
137
|
-
chalk.gray(' โข
|
|
138
|
-
chalk.cyan('
|
|
139
|
-
chalk.gray(' โข
|
|
140
|
-
chalk.gray(' โข
|
|
141
|
-
chalk.cyan('๐๏ธ Enhanced Multi-Provider Support\n') +
|
|
142
|
-
chalk.gray(' โข Seamless ElevenLabs โ Piper switching\n') +
|
|
143
|
-
chalk.gray(' โข Mixed provider support for learning mode\n\n') +
|
|
124
|
+
chalk.red.bold('๐ CRITICAL macOS FIX:\n\n') +
|
|
125
|
+
chalk.cyan('All 23 shell scripts now use #!/usr/bin/env bash instead of\n') +
|
|
126
|
+
chalk.cyan('#!/bin/bash, enabling AgentVibes to work on macOS. The old\n') +
|
|
127
|
+
chalk.cyan('shebang forced bash 3.2 (from 2007) which doesn\'t support\n') +
|
|
128
|
+
chalk.cyan('associative arrays or modern bash syntax, causing complete\n') +
|
|
129
|
+
chalk.cyan('failure on Mac.\n\n') +
|
|
130
|
+
chalk.green('Mac users: brew install bash (one-time setup)\n') +
|
|
131
|
+
chalk.green('Then AgentVibes works perfectly!\n\n') +
|
|
132
|
+
chalk.white.bold('โจ NEW FEATURES:\n\n') +
|
|
133
|
+
chalk.cyan('๐ค FREE GitHub Actions macOS Testing\n') +
|
|
134
|
+
chalk.gray(' โข Tests on macOS 13/14/15 (Intel + M1/M2/M3)\n') +
|
|
135
|
+
chalk.gray(' โข Node 18, 20, 22 tested automatically\n') +
|
|
136
|
+
chalk.gray(' โข 13 parallel test jobs on every push\n') +
|
|
137
|
+
chalk.gray(' โข Saves $60-276/year vs Mac VPS!\n\n') +
|
|
138
|
+
chalk.cyan('๐ก Provider Switch Hint\n') +
|
|
139
|
+
chalk.gray(' โข Helpful hints in voice list output\n') +
|
|
140
|
+
chalk.gray(' โข Discover ElevenLabs โ Piper switching\n\n') +
|
|
144
141
|
chalk.white('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
145
|
-
chalk.
|
|
146
|
-
chalk.gray('
|
|
147
|
-
chalk.gray('
|
|
148
|
-
chalk.gray('
|
|
149
|
-
chalk.gray('
|
|
150
|
-
chalk.gray(' โ Fixed JSON escaping in ElevenLabs API\n\n') +
|
|
151
|
-
chalk.white('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
152
|
-
chalk.magenta.bold('๐ DOCUMENTATION OVERHAUL:\n') +
|
|
153
|
-
chalk.gray(' โข 10 new documentation files\n') +
|
|
154
|
-
chalk.gray(' โข Windows Setup Guide (NPX-based)\n') +
|
|
155
|
-
chalk.gray(' โข README reduced 60% (1,285 โ 502 lines)\n\n') +
|
|
156
|
-
chalk.white('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
157
|
-
chalk.blue.bold('๐ BY THE NUMBERS:\n') +
|
|
158
|
-
chalk.gray(' โข 75 commits since v2.0.16\n') +
|
|
159
|
-
chalk.gray(' โข 72 files changed (+8,652 lines)\n') +
|
|
160
|
-
chalk.gray(' โข 110 tests (79 new tests added)\n') +
|
|
161
|
-
chalk.gray(' โข 5 major features, 20+ bug fixes\n\n') +
|
|
142
|
+
chalk.blue.bold('๐ IMPACT:\n') +
|
|
143
|
+
chalk.gray(' โข 30 files changed\n') +
|
|
144
|
+
chalk.gray(' โข 877 insertions, 31 deletions\n') +
|
|
145
|
+
chalk.gray(' โข AgentVibes now works on macOS!\n') +
|
|
146
|
+
chalk.gray(' โข FREE automated testing on all platforms\n\n') +
|
|
162
147
|
chalk.white.bold('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
163
148
|
chalk.green.bold('๐ TRY LANGUAGE LEARNING MODE:\n\n') +
|
|
164
149
|
chalk.cyan(' /agent-vibes:language english\n') +
|
|
@@ -1015,46 +1000,31 @@ program
|
|
|
1015
1000
|
console.log(
|
|
1016
1001
|
boxen(
|
|
1017
1002
|
chalk.white.bold('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n') +
|
|
1018
|
-
chalk.cyan.bold(' ๐ฆ AgentVibes v2.
|
|
1003
|
+
chalk.cyan.bold(' ๐ฆ AgentVibes v2.1.5 - Critical macOS Fix\n') +
|
|
1019
1004
|
chalk.white.bold('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
1020
|
-
chalk.
|
|
1021
|
-
chalk.cyan('
|
|
1022
|
-
chalk.
|
|
1023
|
-
chalk.
|
|
1024
|
-
chalk.
|
|
1025
|
-
chalk.
|
|
1026
|
-
chalk.
|
|
1027
|
-
chalk.
|
|
1028
|
-
chalk.
|
|
1029
|
-
chalk.
|
|
1030
|
-
chalk.
|
|
1031
|
-
chalk.gray(' โข
|
|
1032
|
-
chalk.gray(' โข
|
|
1033
|
-
chalk.gray(' โข
|
|
1034
|
-
chalk.cyan('
|
|
1035
|
-
chalk.gray(' โข
|
|
1036
|
-
chalk.gray(' โข
|
|
1037
|
-
chalk.cyan('๐๏ธ Enhanced Multi-Provider Support\n') +
|
|
1038
|
-
chalk.gray(' โข Seamless ElevenLabs โ Piper switching\n') +
|
|
1039
|
-
chalk.gray(' โข Mixed provider support for learning mode\n\n') +
|
|
1040
|
-
chalk.white('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
1041
|
-
chalk.yellow.bold('๐ 20+ BUG FIXES:\n') +
|
|
1042
|
-
chalk.gray(' โ Fixed MP3 bitrate preservation (128kbps)\n') +
|
|
1043
|
-
chalk.gray(' โ Fixed audio player hanging issues\n') +
|
|
1044
|
-
chalk.gray(' โ Fixed voice/provider mismatches\n') +
|
|
1045
|
-
chalk.gray(' โ Fixed Windows npx execution\n') +
|
|
1046
|
-
chalk.gray(' โ Fixed JSON escaping in ElevenLabs API\n\n') +
|
|
1047
|
-
chalk.white('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
1048
|
-
chalk.magenta.bold('๐ DOCUMENTATION OVERHAUL:\n') +
|
|
1049
|
-
chalk.gray(' โข 10 new documentation files\n') +
|
|
1050
|
-
chalk.gray(' โข Windows Setup Guide (NPX-based)\n') +
|
|
1051
|
-
chalk.gray(' โข README reduced 60% (1,285 โ 502 lines)\n\n') +
|
|
1005
|
+
chalk.red.bold('๐ CRITICAL macOS FIX:\n\n') +
|
|
1006
|
+
chalk.cyan('All 23 shell scripts now use #!/usr/bin/env bash instead of\n') +
|
|
1007
|
+
chalk.cyan('#!/bin/bash, enabling AgentVibes to work on macOS. The old\n') +
|
|
1008
|
+
chalk.cyan('shebang forced bash 3.2 (from 2007) which doesn\'t support\n') +
|
|
1009
|
+
chalk.cyan('associative arrays or modern bash syntax, causing complete\n') +
|
|
1010
|
+
chalk.cyan('failure on Mac.\n\n') +
|
|
1011
|
+
chalk.green('Mac users: brew install bash (one-time setup)\n') +
|
|
1012
|
+
chalk.green('Then AgentVibes works perfectly!\n\n') +
|
|
1013
|
+
chalk.white.bold('โจ NEW FEATURES:\n\n') +
|
|
1014
|
+
chalk.cyan('๐ค FREE GitHub Actions macOS Testing\n') +
|
|
1015
|
+
chalk.gray(' โข Tests on macOS 13/14/15 (Intel + M1/M2/M3)\n') +
|
|
1016
|
+
chalk.gray(' โข Node 18, 20, 22 tested automatically\n') +
|
|
1017
|
+
chalk.gray(' โข 13 parallel test jobs on every push\n') +
|
|
1018
|
+
chalk.gray(' โข Saves $60-276/year vs Mac VPS!\n\n') +
|
|
1019
|
+
chalk.cyan('๐ก Provider Switch Hint\n') +
|
|
1020
|
+
chalk.gray(' โข Helpful hints in voice list output\n') +
|
|
1021
|
+
chalk.gray(' โข Discover ElevenLabs โ Piper switching\n\n') +
|
|
1052
1022
|
chalk.white('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
1053
|
-
chalk.blue.bold('๐
|
|
1054
|
-
chalk.gray(' โข
|
|
1055
|
-
chalk.gray(' โข
|
|
1056
|
-
chalk.gray(' โข
|
|
1057
|
-
chalk.gray(' โข
|
|
1023
|
+
chalk.blue.bold('๐ IMPACT:\n') +
|
|
1024
|
+
chalk.gray(' โข 30 files changed\n') +
|
|
1025
|
+
chalk.gray(' โข 877 insertions, 31 deletions\n') +
|
|
1026
|
+
chalk.gray(' โข AgentVibes now works on macOS!\n') +
|
|
1027
|
+
chalk.gray(' โข FREE automated testing on all platforms\n\n') +
|
|
1058
1028
|
chalk.white.bold('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n\n') +
|
|
1059
1029
|
chalk.green.bold('๐ TRY LANGUAGE LEARNING MODE:\n\n') +
|
|
1060
1030
|
chalk.cyan(' /agent-vibes:language english\n') +
|