agentvibes 2.9.3 → 2.9.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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/installer.js +11 -3
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.9.3",
4
+ "version": "2.9.4",
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
@@ -44,6 +44,7 @@
44
44
  import { program } from 'commander';
45
45
  import path from 'node:path';
46
46
  import fs from 'node:fs/promises';
47
+ import fsSync from 'node:fs';
47
48
  import { execSync } from 'node:child_process';
48
49
  import chalk from 'chalk';
49
50
  import inquirer from 'inquirer';
@@ -1317,6 +1318,7 @@ async function install(options = {}) {
1317
1318
  console.log(chalk.yellow(` • ElevenLabs API key: Set manually later`));
1318
1319
  }
1319
1320
  } else {
1321
+ console.error(chalk.red(` DEBUG: In Piper block, selectedProvider = ${selectedProvider}`));
1320
1322
  // Check for installed Piper voices
1321
1323
  const piperVoicesDir = path.join(process.env.HOME || process.env.USERPROFILE, '.claude', 'piper-voices');
1322
1324
  let installedVoices = [];
@@ -1332,23 +1334,27 @@ async function install(options = {}) {
1332
1334
  ];
1333
1335
 
1334
1336
  try {
1335
- if (fs.existsSync(piperVoicesDir)) {
1336
- const files = fs.readdirSync(piperVoicesDir);
1337
+ console.error(chalk.gray(` Debug: Checking ${piperVoicesDir}`));
1338
+ if (fsSync.existsSync(piperVoicesDir)) {
1339
+ const files = fsSync.readdirSync(piperVoicesDir);
1340
+ console.error(chalk.gray(` Debug: Found ${files.length} files`));
1337
1341
  installedVoices = files
1338
1342
  .filter(f => f.endsWith('.onnx'))
1339
1343
  .map(f => {
1340
1344
  const voiceName = f.replace('.onnx', '');
1341
1345
  const voicePath = path.join(piperVoicesDir, f);
1342
1346
  try {
1343
- const stats = fs.statSync(voicePath);
1347
+ const stats = fsSync.statSync(voicePath);
1344
1348
  const sizeMB = (stats.size / 1024 / 1024).toFixed(1);
1345
1349
  return { name: voiceName, path: voicePath, size: `${sizeMB}M` };
1346
1350
  } catch (statErr) {
1347
1351
  // Skip files that can't be read (broken symlinks, etc)
1352
+ console.error(chalk.gray(` Debug: Skipped ${voiceName} (${statErr.message})`));
1348
1353
  return null;
1349
1354
  }
1350
1355
  })
1351
1356
  .filter(v => v !== null);
1357
+ console.error(chalk.gray(` Debug: ${installedVoices.length} valid voices after filtering`));
1352
1358
 
1353
1359
  // Check which common voices are missing
1354
1360
  for (const voice of commonVoices) {
@@ -1356,7 +1362,9 @@ async function install(options = {}) {
1356
1362
  missingVoices.push(voice);
1357
1363
  }
1358
1364
  }
1365
+ console.error(chalk.gray(` Debug: ${missingVoices.length} missing voices`));
1359
1366
  } else {
1367
+ console.error(chalk.gray(` Debug: Directory does not exist`));
1360
1368
  missingVoices = commonVoices;
1361
1369
  }
1362
1370
  } catch (err) {