vibe-notify 0.1.1 → 0.1.2

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/dist/beep.js CHANGED
@@ -8,7 +8,7 @@ exports.generateWav = generateWav;
8
8
  const SAMPLE_RATE = 44100;
9
9
  const BITS_PER_SAMPLE = 16;
10
10
  const NUM_CHANNELS = 1;
11
- const BYTES_PER_SAMPLE = BITS_PER_SAMPLE / 8; // 2
11
+ const BYTES_PER_SAMPLE = 2; // 16-bit = 2 bytes
12
12
  // ── Built-in sound patterns ────────────────────────────────────────────────
13
13
  exports.PATTERNS = [
14
14
  {
@@ -72,14 +72,7 @@ function buildPatternBuffer(patternName, volume = 0.7) {
72
72
  * Generate a WAV file buffer from an array of Tone objects.
73
73
  */
74
74
  function generateWav(tones, sampleRate, volume) {
75
- // Calculate total samples needed
76
- let totalSamples = 0;
77
- for (const tone of tones) {
78
- totalSamples += Math.ceil(tone.duration * sampleRate);
79
- if (tone.gap && tone.gap > 0) {
80
- totalSamples += Math.ceil(tone.gap * sampleRate);
81
- }
82
- }
75
+ const totalSamples = tones.reduce((sum, t) => sum + Math.ceil(t.duration * sampleRate) + Math.ceil((t.gap || 0) * sampleRate), 0);
83
76
  const dataSize = totalSamples * BYTES_PER_SAMPLE;
84
77
  const headerSize = 44;
85
78
  const buffer = Buffer.alloc(headerSize + dataSize);
package/dist/beep.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"beep.js","sourceRoot":"","sources":["../src/beep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beep.js","sourceRoot":"","sources":["../src/beep.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -2,7 +2,6 @@ import { VibeNotifyConfig } from './types';
2
2
  export declare const DEFAULT_CONFIG: VibeNotifyConfig;
3
3
  export declare function getConfigDir(): string;
4
4
  export declare function getConfigPath(): string;
5
- export declare function getConfigFilePath(): string;
6
5
  export declare function loadConfig(): VibeNotifyConfig;
7
6
  export declare function saveConfig(config: VibeNotifyConfig): void;
8
7
  export declare function initConfig(): string;
package/dist/config.js CHANGED
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_CONFIG = void 0;
4
4
  exports.getConfigDir = getConfigDir;
5
5
  exports.getConfigPath = getConfigPath;
6
- exports.getConfigFilePath = getConfigFilePath;
7
6
  exports.loadConfig = loadConfig;
8
7
  exports.saveConfig = saveConfig;
9
8
  exports.initConfig = initConfig;
@@ -32,9 +31,6 @@ function getConfigPath() {
32
31
  // Fall back to global config
33
32
  return (0, path_1.join)(getConfigDir(), 'config.json');
34
33
  }
35
- function getConfigFilePath() {
36
- return getConfigPath();
37
- }
38
34
  // ── Load / Save ────────────────────────────────────────────────────────────
39
35
  function loadConfig() {
40
36
  const configPath = getConfigPath();
@@ -61,14 +57,9 @@ function saveConfig(config) {
61
57
  }
62
58
  function initConfig() {
63
59
  const configPath = getConfigPath();
64
- const dir = getConfigDir();
65
- if (!(0, fs_1.existsSync)(dir)) {
66
- (0, fs_1.mkdirSync)(dir, { recursive: true });
67
- }
68
- if ((0, fs_1.existsSync)(configPath)) {
69
- return configPath; // Already exists, don't overwrite
60
+ if (!(0, fs_1.existsSync)(configPath)) {
61
+ saveConfig({ ...exports.DEFAULT_CONFIG });
70
62
  }
71
- saveConfig({ ...exports.DEFAULT_CONFIG });
72
63
  return configPath;
73
64
  }
74
65
  // ── Helpers ────────────────────────────────────────────────────────────────
@@ -76,10 +67,7 @@ function mergeConfig(defaults, overrides) {
76
67
  return {
77
68
  ...defaults,
78
69
  ...overrides,
79
- playback: {
80
- ...defaults.playback,
81
- ...(overrides.playback || {}),
82
- },
70
+ playback: { ...defaults.playback, ...overrides.playback },
83
71
  };
84
72
  }
85
73
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAkBA,oCAEC;AAED,sCAQC;AAKD,gCAiBC;AAED,gCASC;AAED,gCAMC;AAvED,2BAAwE;AACxE,2BAA6B;AAC7B,+BAAqC;AAGrC,8EAA8E;AAEjE,QAAA,cAAc,GAAqB;IAC9C,KAAK,EAAE,YAAY;IACnB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM;KACf;CACF,CAAC;AAEF,8EAA8E;AAE9E,SAAgB,YAAY;IAC1B,OAAO,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,cAAc,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,aAAa;IAC3B,sCAAsC;IACtC,MAAM,KAAK,GAAG,IAAA,cAAO,EAAC,mBAAmB,CAAC,CAAC;IAC3C,IAAI,IAAA,eAAU,EAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,6BAA6B;IAC7B,OAAO,IAAA,WAAI,EAAC,YAAY,EAAE,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC;AAGD,8EAA8E;AAE9E,SAAgB,UAAU;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,GAAG,sBAAc,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,WAAW,CAAC,sBAAc,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,qCAAqC,UAAU,mBAAmB,CACnE,CAAC;QACF,OAAO,EAAE,GAAG,sBAAc,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,MAAwB;IACjD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAE3B,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAA,cAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,IAAA,kBAAa,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,UAAU,CAAC,EAAE,GAAG,sBAAc,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,8EAA8E;AAE9E,SAAS,WAAW,CAClB,QAA0B,EAC1B,SAAoC;IAEpC,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,SAAS;QACZ,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;KAC1D,CAAC;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const fs_1 = require("fs");
5
+ const path_1 = require("path");
5
6
  const cli_1 = require("./cli");
6
7
  const config_1 = require("./config");
7
8
  const beep_1 = require("./beep");
@@ -9,13 +10,10 @@ const player_1 = require("./player");
9
10
  // Read version from package.json
10
11
  let VERSION = '0.1.0';
11
12
  try {
12
- // When running from dist/, package.json is one level up
13
- const pkg = JSON.parse((0, fs_1.readFileSync)(__dirname + '/../package.json', 'utf-8'));
13
+ const pkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'package.json'), 'utf-8'));
14
14
  VERSION = pkg.version || VERSION;
15
15
  }
16
- catch {
17
- // Fallback version
18
- }
16
+ catch { /* use default */ }
19
17
  async function main() {
20
18
  const cli = (0, cli_1.parseArgs)(process.argv.slice(2));
21
19
  // ── Info actions (no sound played) ───────────────────────────────────
@@ -27,7 +25,7 @@ async function main() {
27
25
  (0, cli_1.listSounds)();
28
26
  return;
29
27
  case 'config':
30
- console.log((0, config_1.getConfigFilePath)());
28
+ console.log((0, config_1.getConfigPath)());
31
29
  return;
32
30
  case 'init': {
33
31
  const path = (0, config_1.initConfig)();
@@ -54,7 +52,7 @@ async function main() {
54
52
  if (soundName === 'custom') {
55
53
  if (!config.customFile) {
56
54
  console.error('Sound is set to "custom" but no customFile is configured.');
57
- console.error(`Set "customFile" in ${(0, config_1.getConfigFilePath)()} to a .wav file path.`);
55
+ console.error(`Set "customFile" in ${(0, config_1.getConfigPath)()} to a .wav or .mp3 file path.`);
58
56
  process.exit(1);
59
57
  }
60
58
  if (!(0, fs_1.existsSync)(config.customFile)) {
@@ -71,30 +69,23 @@ async function main() {
71
69
  return;
72
70
  }
73
71
  // ── Built-in pattern playback ────────────────────────────────────────
72
+ const pattern = (0, beep_1.getPatternByName)(soundName);
74
73
  const buffer = (0, beep_1.buildPatternBuffer)(soundName, config.volume);
75
- if (buffer) {
76
- try {
74
+ try {
75
+ if (buffer) {
77
76
  await (0, player_1.playBuffer)(buffer, config.playback.method);
78
77
  }
79
- catch (err) {
80
- // WAV playback failed — try fallback beep
81
- const pattern = (0, beep_1.getPatternByName)(soundName);
82
- if (pattern) {
83
- try {
84
- await (0, player_1.fallbackBeep)(pattern.tones);
85
- }
86
- catch {
87
- // Both methods failed — non-fatal, just warn
88
- console.error(`Could not play sound: ${err.message}`);
89
- }
90
- }
78
+ else if (pattern) {
79
+ await (0, player_1.fallbackBeep)(pattern.tones);
91
80
  }
92
81
  }
93
- else {
94
- // Buffer generation failed — fallback to system beep
95
- const pattern = (0, beep_1.getPatternByName)(soundName);
82
+ catch {
83
+ // WAV failed — try system beep as last resort
96
84
  if (pattern) {
97
- await (0, player_1.fallbackBeep)(pattern.tones);
85
+ try {
86
+ await (0, player_1.fallbackBeep)(pattern.tones);
87
+ }
88
+ catch { /* both failed, exit silently */ }
98
89
  }
99
90
  }
100
91
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/player.d.ts CHANGED
@@ -1,11 +1,16 @@
1
1
  import { Tone, PlaybackMethod } from './types';
2
+ /**
3
+ * Play a WAV buffer through the system audio output.
4
+ * Writes to a temp file, plays it, then cleans up.
5
+ */
2
6
  /**
3
7
  * Play a WAV buffer through the system audio output.
4
8
  * Writes to a temp file, plays it, then cleans up.
5
9
  */
6
10
  export declare function playBuffer(buffer: Buffer, method?: PlaybackMethod): Promise<void>;
7
11
  /**
8
- * Play a custom audio file (WAV) directly.
12
+ * Play a custom audio file directly.
13
+ * Supports .wav, .mp3, and any format the system can play.
9
14
  */
10
15
  export declare function playFile(filePath: string, method?: PlaybackMethod): Promise<void>;
11
16
  /**
package/dist/player.js CHANGED
@@ -8,6 +8,10 @@ const fs_1 = require("fs");
8
8
  const os_1 = require("os");
9
9
  const path_1 = require("path");
10
10
  // ── Public API ─────────────────────────────────────────────────────────────
11
+ /**
12
+ * Play a WAV buffer through the system audio output.
13
+ * Writes to a temp file, plays it, then cleans up.
14
+ */
11
15
  /**
12
16
  * Play a WAV buffer through the system audio output.
13
17
  * Writes to a temp file, plays it, then cleans up.
@@ -16,58 +20,52 @@ async function playBuffer(buffer, method = 'auto') {
16
20
  const tempFile = (0, path_1.join)((0, os_1.tmpdir)(), `vibe-notify-${Date.now()}.wav`);
17
21
  try {
18
22
  (0, fs_1.writeFileSync)(tempFile, buffer);
19
- const platform = process.platform;
20
- if (method === 'powershell' || (method === 'auto' && platform === 'win32')) {
21
- await playWithPowerShell(tempFile);
22
- }
23
- else if (method === 'afplay' || (method === 'auto' && platform === 'darwin')) {
24
- await playWithAfplay(tempFile);
25
- }
26
- else if (method === 'aplay' || (method === 'auto' && platform === 'linux')) {
27
- await playWithLinux(tempFile);
28
- }
29
- else if (method === 'native') {
30
- // "native" means try whatever the platform supports but don't use powershell/afplay/aplay
31
- // On Windows this falls through to the beep fallback
32
- throw new Error('Native method not supported for WAV playback');
33
- }
34
- else {
35
- // Cross-platform fallback: try PowerShell even on non-Windows (WSL, etc.)
36
- try {
37
- await playWithPowerShell(tempFile);
38
- }
39
- catch {
40
- await playWithLinux(tempFile);
41
- }
42
- }
23
+ await dispatchPlay(tempFile, method);
43
24
  }
44
25
  finally {
45
26
  try {
46
27
  (0, fs_1.unlinkSync)(tempFile);
47
28
  }
48
- catch {
49
- // Temp file cleanup is best-effort
50
- }
29
+ catch { /* best-effort */ }
51
30
  }
52
31
  }
53
32
  /**
54
- * Play a custom audio file (WAV) directly.
33
+ * Play a custom audio file directly.
34
+ * Supports .wav, .mp3, and any format the system can play.
55
35
  */
56
36
  async function playFile(filePath, method = 'auto') {
37
+ await dispatchPlay(filePath, method);
38
+ }
39
+ // ── Platform dispatch ─────────────────────────────────────────────────────
40
+ async function dispatchPlay(filePath, method) {
57
41
  const platform = process.platform;
58
- if (method === 'powershell' || (method === 'auto' && platform === 'win32')) {
59
- await playWithPowerShell(filePath);
42
+ const isWav = (0, path_1.extname)(filePath).toLowerCase() === '.wav';
43
+ // Determine the target platform
44
+ const target = resolvePlatform(method, platform);
45
+ if (target === 'win32') {
46
+ await (isWav ? playWithPowerShell(filePath) : playWithWindowsMedia(filePath));
60
47
  }
61
- else if (method === 'afplay' || (method === 'auto' && platform === 'darwin')) {
48
+ else if (target === 'darwin') {
62
49
  await playWithAfplay(filePath);
63
50
  }
64
- else if (method === 'aplay' || (method === 'auto' && platform === 'linux')) {
51
+ else if (target === 'linux') {
65
52
  await playWithLinux(filePath);
66
53
  }
67
54
  else {
68
- await playWithPowerShell(filePath);
55
+ throw new Error(`Unsupported platform: ${target}`);
69
56
  }
70
57
  }
58
+ function resolvePlatform(method, platform) {
59
+ if (method === 'powershell')
60
+ return 'win32';
61
+ if (method === 'afplay')
62
+ return 'darwin';
63
+ if (method === 'aplay')
64
+ return 'linux';
65
+ if (method === 'auto')
66
+ return platform;
67
+ return platform; // native or unknown → use current platform
68
+ }
71
69
  /**
72
70
  * Fallback: play tones using system beep (no WAV generation needed).
73
71
  * Uses [System.Console]::Beep on Windows, terminal BEL on Unix.
@@ -103,6 +101,59 @@ async function playWithPowerShell(filePath) {
103
101
  `$p = New-Object System.Media.SoundPlayer('${escaped}'); $p.PlaySync()`,
104
102
  ]);
105
103
  }
104
+ /**
105
+ * Play any audio format (mp3, wma, etc.) using ffplay.
106
+ * Requires ffmpeg: `winget install ffmpeg`
107
+ * Searches common install locations automatically.
108
+ */
109
+ async function playWithWindowsMedia(filePath) {
110
+ const ffplayPath = findFfplay();
111
+ if (!ffplayPath) {
112
+ throw new Error('ffplay not found. Install ffmpeg to play .mp3 files:\n' +
113
+ ' winget install ffmpeg\n' +
114
+ 'Or use a .wav file instead (plays natively).');
115
+ }
116
+ await execPromise(ffplayPath, ['-nodisp', '-autoexit', '-loglevel', 'quiet', filePath]);
117
+ }
118
+ function findFfplay() {
119
+ // Check common locations
120
+ const candidates = [
121
+ 'ffplay', // In PATH
122
+ ...scanWingetFfmpeg(),
123
+ // Common manual install locations
124
+ 'C:\\ffmpeg\\bin\\ffplay.exe',
125
+ 'C:\\Program Files\\ffmpeg\\bin\\ffplay.exe',
126
+ ];
127
+ for (const candidate of candidates) {
128
+ // For bare command name, just trust PATH (spawn will find it)
129
+ if (candidate === 'ffplay') {
130
+ try {
131
+ require('child_process').execSync('where ffplay', { stdio: 'ignore' });
132
+ return 'ffplay';
133
+ }
134
+ catch {
135
+ continue;
136
+ }
137
+ }
138
+ if ((0, fs_1.existsSync)(candidate))
139
+ return candidate;
140
+ }
141
+ return null;
142
+ }
143
+ function scanWingetFfmpeg() {
144
+ try {
145
+ const wingetBase = process.env.LOCALAPPDATA + '\\Microsoft\\WinGet\\Packages\\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe';
146
+ if (!(0, fs_1.existsSync)(wingetBase))
147
+ return [];
148
+ const dirs = (0, fs_1.readdirSync)(wingetBase).filter((d) => d.startsWith('ffmpeg-'));
149
+ // Use most recent version first
150
+ dirs.sort().reverse();
151
+ return dirs.map((d) => wingetBase + '\\' + d + '\\bin\\ffplay.exe');
152
+ }
153
+ catch {
154
+ return [];
155
+ }
156
+ }
106
157
  async function playWithAfplay(filePath) {
107
158
  await execPromise('afplay', [filePath]);
108
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-notify",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Notification sounds for Claude Code completions — customizable beeps when your session finishes",
5
5
  "keywords": ["claude", "claude-code", "notification", "sound", "beep", "alert"],
6
6
  "license": "MIT",