@gonzih/cc-discord 0.2.50 → 0.2.51

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/claude.d.ts CHANGED
@@ -15,7 +15,7 @@ export interface ClaudeMessage {
15
15
  export interface ClaudeOptions {
16
16
  cwd?: string;
17
17
  systemPrompt?: string;
18
- /** OAuth token (sk-ant-oat01-...) or API key (sk-ant-api03-...) */
18
+ /** OAuth token (FILL_IN_TUESDAY) or API key (FILL_IN_TUESDAY) */
19
19
  token?: string;
20
20
  }
21
21
  export interface UsageEvent {
package/dist/voice.js CHANGED
@@ -54,6 +54,8 @@ const WHISPER_DOWNLOAD_CANDIDATES = [
54
54
  "/opt/homebrew/bin/whisper-cpp-download-ggml-model",
55
55
  "/usr/local/bin/whisper-cpp-download-ggml-model",
56
56
  ].filter(Boolean);
57
+ const DEFAULT_WHISPER_MODEL_URL = process.env.WHISPER_MODEL_URL ||
58
+ "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.en.bin";
57
59
  function findBin(candidates) {
58
60
  for (const p of candidates) {
59
61
  if (existsSync(p))
@@ -70,7 +72,9 @@ function findModel() {
70
72
  const model = WHISPER_MODEL_NAMES.find((name) => entries.some((entry) => entry.isFile() && entry.name === name));
71
73
  if (model)
72
74
  return join(p, model);
73
- const anyModel = entries.find((entry) => entry.isFile() && /^ggml.*\.bin$/i.test(entry.name));
75
+ const anyModel = entries.find((entry) => entry.isFile() &&
76
+ /ggml.*\.bin$/i.test(entry.name) &&
77
+ !entry.name.startsWith("for-tests-"));
74
78
  if (anyModel)
75
79
  return join(p, anyModel.name);
76
80
  }
@@ -84,16 +88,21 @@ async function ensureModel() {
84
88
  const existing = findModel();
85
89
  if (existing)
86
90
  return existing;
87
- const downloader = findBin(WHISPER_DOWNLOAD_CANDIDATES);
88
- if (!downloader)
91
+ if (process.env.NODE_ENV === "test" && process.env.WHISPER_ALLOW_DOWNLOAD !== "1")
89
92
  return null;
93
+ const downloader = findBin(WHISPER_DOWNLOAD_CANDIDATES);
90
94
  const modelDir = process.env.WHISPER_MODEL_DIR || `${process.env.HOME}/.local/share/whisper-cpp`;
91
95
  await mkdir(modelDir, { recursive: true });
92
- await execFileAsync(downloader, ["small.en"], {
93
- cwd: modelDir,
94
- timeout: 10 * 60_000,
95
- maxBuffer: 1024 * 1024,
96
- });
96
+ if (downloader) {
97
+ await execFileAsync(downloader, ["small.en"], {
98
+ cwd: modelDir,
99
+ timeout: 10 * 60_000,
100
+ maxBuffer: 1024 * 1024,
101
+ });
102
+ }
103
+ else {
104
+ await downloadFile(DEFAULT_WHISPER_MODEL_URL, join(modelDir, "ggml-small.en.bin"));
105
+ }
97
106
  return findModel();
98
107
  }
99
108
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gonzih/cc-discord",
3
- "version": "0.2.50",
3
+ "version": "0.2.51",
4
4
  "description": "Discord bot for routed Claude Code or Codex agents with ATC dispatch",
5
5
  "type": "module",
6
6
  "bin": {