agentvibes 3.5.0-alpha.2 → 3.5.0-alpha.4

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.
@@ -23,9 +23,13 @@ if (Test-Path $ProjectClaudeDir) {
23
23
  $ClaudeDir = "$env:USERPROFILE\.claude"
24
24
  }
25
25
 
26
+ # Audio cache and voice config use project-local .claude
26
27
  $AudioDir = "$ClaudeDir\audio"
27
- $VoicesDir = "$ClaudeDir\piper-voices"
28
28
  $VoiceFile = "$ClaudeDir\tts-voice-piper.txt"
29
+
30
+ # Voices and Piper binary are global (shared across projects, ~100MB+)
31
+ $UserClaudeDir = "$env:USERPROFILE\.claude"
32
+ $VoicesDir = "$UserClaudeDir\piper-voices"
29
33
  $PiperExe = "$env:LOCALAPPDATA\Programs\Piper\piper.exe"
30
34
 
31
35
  # Ensure directories exist
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": "3.5.0-alpha.2",
4
+ "version": "3.5.0-alpha.4",
5
5
  "description": "Now your AI Agents can finally talk back! Professional TTS voice for Claude Code, Claude Desktop (via MCP), and Clawdbot with multi-provider support.",
6
6
  "homepage": "https://agentvibes.org",
7
7
  "keywords": [
@@ -100,5 +100,12 @@
100
100
  },
101
101
  "devDependencies": {
102
102
  "c8": "^10.1.3"
103
+ },
104
+ "directories": {
105
+ "doc": "docs",
106
+ "test": "test"
107
+ },
108
+ "bugs": {
109
+ "url": "https://github.com/paulpreibisch/AgentVibes/issues"
103
110
  }
104
111
  }
package/setup-windows.ps1 CHANGED
@@ -29,18 +29,28 @@ if ($PSVersionTable.PSVersion -lt $PSVersionRequired) {
29
29
 
30
30
  Write-Host "[OK] PowerShell version: $($PSVersionTable.PSVersion)" -ForegroundColor Green
31
31
 
32
- # Setup paths
33
- $ClaudeDir = "$env:USERPROFILE\.claude"
34
- $HooksDir = "$ClaudeDir\hooks-windows"
35
- $AudioDir = "$ClaudeDir\audio"
36
- $VoicesDir = "$ClaudeDir\piper-voices"
32
+ # Detect project root: if running from node_modules\agentvibes, project root is two levels up
33
+ $ScriptDir = $PSScriptRoot
34
+ if ($ScriptDir -match '[\\/]node_modules[\\/]agentvibes$') {
35
+ $ProjectRoot = (Resolve-Path (Join-Path $ScriptDir "..\..")).Path
36
+ Write-Host "[OK] Detected npm install in: $ProjectRoot" -ForegroundColor Green
37
+ } else {
38
+ $ProjectRoot = $ScriptDir
39
+ }
40
+
41
+ # Setup paths - hooks go to the PROJECT, system-wide tools go to user profile
42
+ $ProjectClaudeDir = "$ProjectRoot\.claude"
43
+ $HooksDir = "$ProjectClaudeDir\hooks-windows"
44
+ $UserClaudeDir = "$env:USERPROFILE\.claude"
45
+ $AudioDir = "$UserClaudeDir\audio"
46
+ $VoicesDir = "$UserClaudeDir\piper-voices"
37
47
  $PiperDir = "$env:LOCALAPPDATA\Programs\Piper"
38
48
  $PiperExe = "$PiperDir\piper.exe"
39
49
 
40
50
  Write-Host ""
41
51
  Write-Host "Setting up directories..." -ForegroundColor Cyan
42
52
 
43
- foreach ($dir in @($ClaudeDir, $AudioDir, $VoicesDir, $PiperDir)) {
53
+ foreach ($dir in @($ProjectClaudeDir, $UserClaudeDir, $AudioDir, $VoicesDir, $PiperDir)) {
44
54
  if (-not (Test-Path $dir)) {
45
55
  New-Item -ItemType Directory -Path $dir -Force | Out-Null
46
56
  Write-Host " [OK] Created: $dir" -ForegroundColor Green
@@ -50,17 +60,17 @@ foreach ($dir in @($ClaudeDir, $AudioDir, $VoicesDir, $PiperDir)) {
50
60
  }
51
61
  }
52
62
 
53
- # Copy hook scripts from project to user profile
63
+ # Copy hook scripts to the project directory
54
64
  Write-Host ""
55
- Write-Host "Installing hook scripts..." -ForegroundColor Cyan
65
+ Write-Host "Installing hook scripts to project..." -ForegroundColor Cyan
56
66
 
57
- $SourceHooksDir = Join-Path $PSScriptRoot ".claude\hooks-windows"
67
+ $SourceHooksDir = Join-Path $ScriptDir ".claude\hooks-windows"
58
68
 
59
- # Validate source path is within the project directory (path traversal prevention)
69
+ # Validate source path is within the script directory (path traversal prevention)
60
70
  $ResolvedSource = (Resolve-Path -Path $SourceHooksDir -ErrorAction SilentlyContinue).Path
61
- $ResolvedProject = (Resolve-Path -Path $PSScriptRoot).Path
71
+ $ResolvedScript = (Resolve-Path -Path $ScriptDir).Path
62
72
 
63
- if (-not $ResolvedSource -or -not $ResolvedSource.StartsWith($ResolvedProject)) {
73
+ if (-not $ResolvedSource -or -not $ResolvedSource.StartsWith($ResolvedScript)) {
64
74
  Write-Host "[ERROR] Hook scripts source path is outside the project directory" -ForegroundColor Red
65
75
  exit 1
66
76
  }
@@ -230,7 +240,7 @@ if ($Provider -eq "piper") {
230
240
  Write-Host ""
231
241
  Write-Host "Configuring provider..." -ForegroundColor Cyan
232
242
 
233
- $ProviderFile = "$ClaudeDir\tts-provider.txt"
243
+ $ProviderFile = "$ProjectClaudeDir\tts-provider.txt"
234
244
  $ProviderName = if ($Provider -eq "piper") { "windows-piper" } else { "windows-sapi" }
235
245
 
236
246
  Set-Content -Path $ProviderFile -Value $ProviderName
@@ -240,8 +250,6 @@ Write-Host "[OK] Active provider: $ProviderName" -ForegroundColor Green
240
250
  Write-Host ""
241
251
  Write-Host "Testing TTS..." -ForegroundColor Cyan
242
252
 
243
- $HooksDir = "$ClaudeDir\hooks-windows"
244
-
245
253
  try {
246
254
  if ($Provider -eq "piper") {
247
255
  Write-Host " Testing Piper provider..." -ForegroundColor Gray