aura-code 0.3.7 → 0.6.3

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 (160) hide show
  1. package/README.md +56 -4
  2. package/dist/agent/compactor.d.ts +26 -0
  3. package/dist/agent/compactor.js +156 -0
  4. package/dist/agent/compactor.js.map +1 -0
  5. package/dist/agent/context.d.ts +4 -0
  6. package/dist/agent/context.js +38 -0
  7. package/dist/agent/context.js.map +1 -1
  8. package/dist/agent/design.d.ts +17 -0
  9. package/dist/agent/design.js +175 -0
  10. package/dist/agent/design.js.map +1 -0
  11. package/dist/agent/loop.js +24 -1
  12. package/dist/agent/loop.js.map +1 -1
  13. package/dist/agent/system-prompt.d.ts +1 -1
  14. package/dist/agent/system-prompt.js +14 -3
  15. package/dist/agent/system-prompt.js.map +1 -1
  16. package/dist/cli/display.js +46 -5
  17. package/dist/cli/display.js.map +1 -1
  18. package/dist/cli/index.js +323 -46
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/config/defaults.js +8 -1
  21. package/dist/config/defaults.js.map +1 -1
  22. package/dist/config/project-config.d.ts +6 -0
  23. package/dist/config/project-config.js +2 -0
  24. package/dist/config/project-config.js.map +1 -1
  25. package/dist/dream/dream.d.ts +71 -0
  26. package/dist/dream/dream.js +217 -0
  27. package/dist/dream/dream.js.map +1 -0
  28. package/dist/dream/okf.d.ts +10 -0
  29. package/dist/dream/okf.js +280 -0
  30. package/dist/dream/okf.js.map +1 -0
  31. package/dist/dream/parser.d.ts +60 -0
  32. package/dist/dream/parser.js +176 -0
  33. package/dist/dream/parser.js.map +1 -0
  34. package/dist/dream/reconcile.d.ts +69 -0
  35. package/dist/dream/reconcile.js +303 -0
  36. package/dist/dream/reconcile.js.map +1 -0
  37. package/dist/kanban/index.d.ts +5 -0
  38. package/dist/kanban/index.js +11 -0
  39. package/dist/kanban/index.js.map +1 -0
  40. package/dist/kanban/pipeline.d.ts +16 -0
  41. package/dist/kanban/pipeline.js +910 -0
  42. package/dist/kanban/pipeline.js.map +1 -0
  43. package/dist/kanban/server.d.ts +5 -0
  44. package/dist/kanban/server.js +820 -0
  45. package/dist/kanban/server.js.map +1 -0
  46. package/dist/kanban/types.d.ts +75 -0
  47. package/dist/kanban/types.js +6 -0
  48. package/dist/kanban/types.js.map +1 -0
  49. package/dist/learnlight/driven.d.ts +2 -0
  50. package/dist/learnlight/driven.js +109 -0
  51. package/dist/learnlight/driven.js.map +1 -0
  52. package/dist/learnlight/index.d.ts +4 -0
  53. package/dist/learnlight/index.js +32 -0
  54. package/dist/learnlight/index.js.map +1 -0
  55. package/dist/learnlight/lesson-prep.d.ts +36 -0
  56. package/dist/learnlight/lesson-prep.js +224 -0
  57. package/dist/learnlight/lesson-prep.js.map +1 -0
  58. package/dist/learnlight/report.d.ts +2 -0
  59. package/dist/learnlight/report.js +37 -0
  60. package/dist/learnlight/report.js.map +1 -0
  61. package/dist/learnlight/types.d.ts +72 -0
  62. package/dist/learnlight/types.js +6 -0
  63. package/dist/learnlight/types.js.map +1 -0
  64. package/dist/machina/index.d.ts +16 -0
  65. package/dist/machina/index.js +61 -0
  66. package/dist/machina/index.js.map +1 -0
  67. package/dist/machina/render-html.d.ts +2 -0
  68. package/dist/machina/render-html.js +189 -0
  69. package/dist/machina/render-html.js.map +1 -0
  70. package/dist/machina/render-terminal.d.ts +2 -0
  71. package/dist/machina/render-terminal.js +92 -0
  72. package/dist/machina/render-terminal.js.map +1 -0
  73. package/dist/machina/spec.d.ts +61 -0
  74. package/dist/machina/spec.js +124 -0
  75. package/dist/machina/spec.js.map +1 -0
  76. package/dist/machina/verify.d.ts +27 -0
  77. package/dist/machina/verify.js +85 -0
  78. package/dist/machina/verify.js.map +1 -0
  79. package/dist/perception/graph-store.d.ts +11 -0
  80. package/dist/perception/graph-store.js +33 -0
  81. package/dist/perception/graph-store.js.map +1 -1
  82. package/dist/perception/index.d.ts +1 -1
  83. package/dist/perception/index.js +2 -1
  84. package/dist/perception/index.js.map +1 -1
  85. package/dist/providers/anthropic.js +1 -1
  86. package/dist/providers/anthropic.js.map +1 -1
  87. package/dist/providers/factory.d.ts +49 -0
  88. package/dist/providers/factory.js +99 -0
  89. package/dist/providers/factory.js.map +1 -1
  90. package/dist/providers/google.js +1 -1
  91. package/dist/providers/google.js.map +1 -1
  92. package/dist/providers/openai-compatible.js +81 -50
  93. package/dist/providers/openai-compatible.js.map +1 -1
  94. package/dist/rem/graph.d.ts +72 -0
  95. package/dist/rem/graph.js +139 -0
  96. package/dist/rem/graph.js.map +1 -0
  97. package/dist/rem/index.d.ts +16 -0
  98. package/dist/rem/index.js +60 -0
  99. package/dist/rem/index.js.map +1 -0
  100. package/dist/rem/render-html.d.ts +2 -0
  101. package/dist/rem/render-html.js +189 -0
  102. package/dist/rem/render-html.js.map +1 -0
  103. package/dist/rem/render-terminal.d.ts +4 -0
  104. package/dist/rem/render-terminal.js +94 -0
  105. package/dist/rem/render-terminal.js.map +1 -0
  106. package/dist/research/council.d.ts +27 -0
  107. package/dist/research/council.js +263 -0
  108. package/dist/research/council.js.map +1 -0
  109. package/dist/research/research.d.ts +24 -0
  110. package/dist/research/research.js +116 -0
  111. package/dist/research/research.js.map +1 -0
  112. package/dist/ruby/alternator.d.ts +36 -1
  113. package/dist/ruby/alternator.js +40 -31
  114. package/dist/ruby/alternator.js.map +1 -1
  115. package/dist/ruby/stats.js +10 -11
  116. package/dist/ruby/stats.js.map +1 -1
  117. package/dist/ruby/types.js +1 -1
  118. package/dist/ruby/types.js.map +1 -1
  119. package/dist/safety/permissions.d.ts +8 -0
  120. package/dist/safety/permissions.js +12 -0
  121. package/dist/safety/permissions.js.map +1 -1
  122. package/dist/setup/provider-registry.js +14 -0
  123. package/dist/setup/provider-registry.js.map +1 -1
  124. package/dist/setup/provider-test.js +24 -2
  125. package/dist/setup/provider-test.js.map +1 -1
  126. package/dist/setup/telegram-wizard.d.ts +57 -0
  127. package/dist/setup/telegram-wizard.js +343 -0
  128. package/dist/setup/telegram-wizard.js.map +1 -0
  129. package/dist/tools/audio-transcribe.d.ts +20 -0
  130. package/dist/tools/audio-transcribe.js +39 -28
  131. package/dist/tools/audio-transcribe.js.map +1 -1
  132. package/dist/tools/browser.js +8 -10
  133. package/dist/tools/browser.js.map +1 -1
  134. package/dist/tools/gmail-tool.d.ts +15 -0
  135. package/dist/tools/gmail-tool.js +361 -0
  136. package/dist/tools/gmail-tool.js.map +1 -0
  137. package/dist/tools/read-file.js +13 -0
  138. package/dist/tools/read-file.js.map +1 -1
  139. package/dist/tools/telegram-bot.js +103 -20
  140. package/dist/tools/telegram-bot.js.map +1 -1
  141. package/dist/tools/telegram-voice.d.ts +22 -0
  142. package/dist/tools/telegram-voice.js +203 -0
  143. package/dist/tools/telegram-voice.js.map +1 -0
  144. package/dist/tools/telegram.d.ts +6 -1
  145. package/dist/tools/telegram.js +115 -5
  146. package/dist/tools/telegram.js.map +1 -1
  147. package/dist/tools/video-render.d.ts +11 -0
  148. package/dist/tools/video-render.js +189 -0
  149. package/dist/tools/video-render.js.map +1 -0
  150. package/dist/tools/web-search.d.ts +20 -0
  151. package/dist/tools/web-search.js +134 -38
  152. package/dist/tools/web-search.js.map +1 -1
  153. package/dist/util/errors.js +6 -0
  154. package/dist/util/errors.js.map +1 -1
  155. package/dist/viz/index.js +816 -30
  156. package/dist/viz/index.js.map +1 -1
  157. package/dist/viz/reader.d.ts +33 -0
  158. package/dist/viz/reader.js +343 -0
  159. package/dist/viz/reader.js.map +1 -0
  160. package/package.json +3 -1
@@ -42,12 +42,12 @@ const path = __importStar(require("path"));
42
42
  const os = __importStar(require("os"));
43
43
  const child_process_1 = require("child_process");
44
44
  const factory_js_1 = require("../providers/factory.js");
45
+ const env_js_1 = require("../util/env.js");
46
+ const voiceModule = __importStar(require("./telegram-voice.js"));
45
47
  const context_js_1 = require("../agent/context.js");
46
48
  const load_env_js_1 = require("../util/load-env.js");
47
49
  const global_config_js_1 = require("../setup/global-config.js");
48
50
  const project_config_js_1 = require("../config/project-config.js");
49
- const provider_wizard_js_1 = require("../setup/provider-wizard.js");
50
- const env_js_1 = require("../util/env.js");
51
51
  const loop_js_1 = require("../agent/loop.js");
52
52
  const permissions_js_1 = require("../safety/permissions.js");
53
53
  const telegram_safety_js_1 = require("./telegram-safety.js");
@@ -84,12 +84,17 @@ const AUTHORIZED_USER_IDS = loadAuthorizedUserIds();
84
84
  const PROJECT_ROOT = process.env.TELEGRAM_BOT_PROJECT_ROOT
85
85
  ?? path.resolve(__dirname, '../..'); // default to aura-code repo
86
86
  (0, load_env_js_1.bootstrapAuraEnv)(PROJECT_ROOT);
87
+ // Register custom providers from .aura.json so that prefixed model IDs
88
+ // (e.g. deepseek/v4-flash) route to the correct API endpoint.
89
+ const _projectConfig = (0, project_config_js_1.loadProjectConfig)(PROJECT_ROOT);
90
+ if (_projectConfig?.providers?.length) {
91
+ (0, factory_js_1.registerCustomProviders)(_projectConfig.providers);
92
+ }
87
93
  function resolveTaskModel() {
88
- const fileConfig = (0, project_config_js_1.loadProjectConfig)(PROJECT_ROOT);
89
94
  const globalCfg = (0, global_config_js_1.loadGlobalConfig)();
90
95
  return process.env.TELEGRAM_BOT_MODEL
91
96
  ?? process.env.AURA_MODEL
92
- ?? fileConfig.model
97
+ ?? _projectConfig.model
93
98
  ?? globalCfg?.defaultModel
94
99
  ?? 'deepseek/deepseek-v4-flash';
95
100
  }
@@ -103,21 +108,16 @@ function saveState() {
103
108
  }
104
109
  // ── Provider (created once, reused) ────────────────────────────────────────
105
110
  function createLLMProvider() {
106
- const saved = (0, provider_wizard_js_1.loadProviderConfig)();
107
111
  const fileConfig = (0, project_config_js_1.loadProjectConfig)(PROJECT_ROOT);
108
112
  const globalCfg = (0, global_config_js_1.loadGlobalConfig)();
109
113
  const apiKey = process.env.AURA_API_KEY
110
- ?? saved?.apiKey
111
- ?? (0, env_js_1.getApiKey)('DEEPSEEK_API_KEY')
112
- ?? (0, env_js_1.getApiKey)('XIAOMI_API_KEY')
113
- ?? (0, env_js_1.getApiKey)('ANTHROPIC_API_KEY')
114
- ?? (0, env_js_1.getApiKey)('OPENAI_API_KEY')
115
- ?? (0, env_js_1.getApiKey)('GOOGLE_API_KEY')
116
- ?? (0, env_js_1.getApiKey)('OPENROUTER_API_KEY');
117
- const baseUrl = process.env.AURA_BASE_URL
118
- ?? fileConfig.baseUrl
119
- ?? globalCfg?.baseUrl
120
- ?? saved?.baseUrl;
114
+ ?? (0, factory_js_1.getApiKeyForModel)(TASK_MODEL);
115
+ const baseUrl = (0, factory_js_1.resolveTaskModelBaseUrl)({
116
+ taskModel: TASK_MODEL,
117
+ envBaseUrl: process.env.AURA_BASE_URL,
118
+ fileConfig,
119
+ globalCfg,
120
+ });
121
121
  return (0, factory_js_1.createProvider)({
122
122
  model: TASK_MODEL,
123
123
  apiKey,
@@ -222,8 +222,10 @@ async function executeTask(chatId, task) {
222
222
  maxTurns: 50,
223
223
  disableSpawn: true, // no sub-agents via Telegram for now
224
224
  confirmFn,
225
+ initialHistory: getChatHistory(chatId),
225
226
  });
226
227
  console.log("Agent loop completed");
228
+ setChatHistory(chatId, result.history);
227
229
  // Build a readable response
228
230
  const lines = [];
229
231
  const tag = (0, telegram_safety_js_1.safetyLabel)(safetyState.safetyOn);
@@ -322,6 +324,18 @@ async function sendMessage(chatId, text, parseMode) {
322
324
  await curlPost('sendMessage', body);
323
325
  }
324
326
  }
327
+ // Voice handling lives in telegram-voice.ts — that module has no side
328
+ // effects at import time, unlike this file (which starts a real polling
329
+ // loop unconditionally below), so it's safe to unit test directly.
330
+ async function transcribeVoiceMessage(fileId) {
331
+ return voiceModule.transcribeVoiceMessage(TOKEN, fileId);
332
+ }
333
+ async function textToSpeech(text, apiKey) {
334
+ return voiceModule.textToSpeech(text, apiKey);
335
+ }
336
+ async function sendVoiceMessage(chatId, audioBuffer) {
337
+ return voiceModule.sendVoiceMessage(TOKEN, chatId, audioBuffer);
338
+ }
325
339
  function splitMessage(text, maxLen) {
326
340
  if (text.length <= maxLen)
327
341
  return [text];
@@ -425,6 +439,8 @@ function handleCommand(chatId, text, from) {
425
439
  `/git — Git status`,
426
440
  `/cancel — Cancel stuck task`,
427
441
  `/clear — Clear context`,
442
+ `/sur30 — Webcam surveillance 30 min`,
443
+ `/sur60 — Webcam surveillance 60 min`,
428
444
  ``,
429
445
  `Or just write anything — I'll execute it as an Aura task!`,
430
446
  ].join('\n');
@@ -535,6 +551,7 @@ function handleCommand(chatId, text, from) {
535
551
  return `🌿 Git:\n${result.stdout || '(not a git repo)'}`;
536
552
  }
537
553
  if (lower === '/clear') {
554
+ chatHistories.delete(chatId);
538
555
  return `🧹 Context cleared. Starting fresh. ${tag}`;
539
556
  }
540
557
  if (lower === '/cancel') {
@@ -544,6 +561,21 @@ function handleCommand(chatId, text, from) {
544
561
  }
545
562
  return `ℹ️ No task is running for this chat. ${tag}`;
546
563
  }
564
+ // ── Surveillance commands ─────────────────────────────────────────────
565
+ if (lower === '/sur30' || lower === '/sur60') {
566
+ const duration = lower === '/sur30' ? 30 : 60;
567
+ const script = path.resolve(PROJECT_ROOT, 'surveillance.sh');
568
+ if (!fs.existsSync(script)) {
569
+ return `❌ surveillance.sh not found at ${script}`;
570
+ }
571
+ // Run in background — don't block the bot
572
+ (0, child_process_1.exec)(`nohup bash "${script}" ${duration} > /tmp/sur-${duration}-$(date +%s).log 2>&1 &`, {
573
+ cwd: PROJECT_ROOT,
574
+ timeout: 5_000,
575
+ encoding: 'utf8',
576
+ });
577
+ return `🔒 Surveillance started — ${duration} minutes, snapshots every 5 min.\nYou'll get photos in this chat. ${tag}`;
578
+ }
547
579
  // Looks like a shell command — run directly
548
580
  const looksLikeCommand = /^(ls|cat|pwd|whoami|date|df|du|ps|top|free|uname|which|find|grep|git|npm|node|python|curl)\b/.test(lower);
549
581
  if (looksLikeCommand) {
@@ -580,6 +612,27 @@ function isAuthorized(chatId, fromUser) {
580
612
  * If a task is running, new non-command messages are queued.
581
613
  */
582
614
  const runningTasks = new Set();
615
+ /**
616
+ * Per-chat conversation history. Without this, every Telegram message
617
+ * started a brand-new `runAgentLoop` call with no `initialHistory` — so
618
+ * replies like "B", "Ok", or "/approve" to a previous question had zero
619
+ * context, and Aura would respond as if the conversation had never
620
+ * happened. Keyed by chatId, threaded into runAgentLoop below, and updated
621
+ * with the loop's returned history after each task — same pattern the CLI
622
+ * REPL uses for `activeChatHistory`. Capped per-chat to avoid unbounded
623
+ * growth in a long-running bot process.
624
+ */
625
+ const chatHistories = new Map();
626
+ const MAX_HISTORY_MESSAGES = 200;
627
+ function getChatHistory(chatId) {
628
+ return chatHistories.get(chatId) ?? [];
629
+ }
630
+ function setChatHistory(chatId, history) {
631
+ const trimmed = history.length > MAX_HISTORY_MESSAGES
632
+ ? history.slice(history.length - MAX_HISTORY_MESSAGES)
633
+ : history;
634
+ chatHistories.set(chatId, trimmed);
635
+ }
583
636
  async function poll() {
584
637
  let offset = loadOffset();
585
638
  console.log('💎 Aura Telegram Bot started');
@@ -630,12 +683,26 @@ async function poll() {
630
683
  // Don't reply to unauthorized users — don't reveal the bot exists
631
684
  continue;
632
685
  }
633
- // ── Handle voice messages (Phase 2 placeholder) ──────────────────
686
+ // ── Handle voice messages: transcribe, then fall through into the
687
+ // same pipeline as typed text ─────────────────────────────────────
688
+ let isVoiceInput = false;
689
+ let text = msg.text;
634
690
  if (msg.voice) {
635
- await sendMessage(chatId, '🎤 Voice messages are not yet supported. Please send text.');
636
- continue;
691
+ isVoiceInput = true;
692
+ try {
693
+ text = await transcribeVoiceMessage(msg.voice.file_id);
694
+ if (!text) {
695
+ await sendMessage(chatId, "🎤 Couldn't make out any words in that voice message — try again?");
696
+ continue;
697
+ }
698
+ console.log(`🎤 [${from}] transcribed: ${text}`);
699
+ }
700
+ catch (e) {
701
+ console.error(`❌ Voice transcription error: ${e.message}`);
702
+ await sendMessage(chatId, `🎤 Couldn't transcribe that voice message: ${e.message}`);
703
+ continue;
704
+ }
637
705
  }
638
- const text = msg.text;
639
706
  if (!text)
640
707
  continue;
641
708
  console.log(`📩 [${from}]: ${text}`);
@@ -671,6 +738,22 @@ async function poll() {
671
738
  .then(async (response) => {
672
739
  await sendMessage(chatId, response);
673
740
  console.log(`📤 Task result sent to ${from}`);
741
+ if (isVoiceInput) {
742
+ try {
743
+ const groqKey = (0, env_js_1.getApiKey)('GROQ_API_KEY', 'groq_api_key');
744
+ if (groqKey) {
745
+ const audio = await textToSpeech(response, groqKey);
746
+ await sendVoiceMessage(chatId, audio);
747
+ console.log(`🎤 Voice reply sent to ${from}`);
748
+ }
749
+ }
750
+ catch (e) {
751
+ // Voice reply is a bonus on top of the text reply already
752
+ // sent above — never let a TTS failure look like the task
753
+ // itself failed.
754
+ console.error(`⚠️ Voice reply failed (text reply already sent): ${e.message}`);
755
+ }
756
+ }
674
757
  })
675
758
  .catch(async (e) => {
676
759
  console.error(`❌ Task error: ${e.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-bot.js","sourceRoot":"","sources":["../../src/tools/telegram-bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram-bot.js","sourceRoot":"","sources":["../../src/tools/telegram-bot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /** Downloads a Telegram-hosted file (by file_id) to a local temp path. */
2
+ export declare function downloadTelegramFile(token: string, fileId: string): Promise<string>;
3
+ /**
4
+ * Calls Groq's text-to-speech endpoint and returns raw audio bytes.
5
+ * Requests 'ogg' specifically — that's the one format both Groq supports
6
+ * as a response_format AND Telegram's sendVoice expects natively for the
7
+ * round voice-bubble UI, so no local transcoding/ffmpeg step is needed.
8
+ */
9
+ export declare function textToSpeech(text: string, apiKey: string): Promise<Buffer>;
10
+ /** Sends a voice reply (ogg/opus audio) to a chat via Telegram's sendVoice. */
11
+ export declare function sendVoiceMessage(token: string, chatId: string | number, audioBuffer: Buffer): Promise<void>;
12
+ /**
13
+ * Downloads a voice message, transcribes it via Groq Whisper, and returns
14
+ * the raw transcribed text — ready to feed straight into the same pipeline
15
+ * that handles typed text. Throws on any failure; caller decides how to
16
+ * report that back to the chat.
17
+ *
18
+ * Deliberately has its own curl-based Whisper call rather than reusing
19
+ * audio-transcribe.ts's callGroqWhisper (which uses native fetch) — keeps
20
+ * the bot's voice pipeline fully insulated from the fetch issue above.
21
+ */
22
+ export declare function transcribeVoiceMessage(token: string, fileId: string): Promise<string>;
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────────────
3
+ // Telegram voice messages — download, transcribe, synthesize, send
4
+ // ─────────────────────────────────────────────────────────────────────────────
5
+ // Deliberately separate from telegram-bot.ts, which starts a real polling
6
+ // loop unconditionally at module scope — importing that file directly (even
7
+ // just to test these helpers) would start live polling against Telegram's
8
+ // real API. This module has no side effects at import time, so it's safe
9
+ // to import directly in tests.
10
+ //
11
+ // All network calls shell out to the real `curl` binary, matching the exact
12
+ // pattern already proven reliable everywhere else in telegram-bot.ts
13
+ // (curlPost/curlGet). This is deliberate, not stylistic: Node's native
14
+ // fetch was tried first here and failed with ETIMEDOUT/ENETUNREACH on the
15
+ // deployed machine — a known class of issue where Node's dual-stack
16
+ // "Happy Eyeballs" connection racing breaks on networks where IPv6 is
17
+ // advertised but not actually routable. `curl` does not hit the same
18
+ // failure on the same machine, so it's the safe choice here, not just a
19
+ // style preference.
20
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ var desc = Object.getOwnPropertyDescriptor(m, k);
23
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
24
+ desc = { enumerable: true, get: function() { return m[k]; } };
25
+ }
26
+ Object.defineProperty(o, k2, desc);
27
+ }) : (function(o, m, k, k2) {
28
+ if (k2 === undefined) k2 = k;
29
+ o[k2] = m[k];
30
+ }));
31
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
32
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
33
+ }) : function(o, v) {
34
+ o["default"] = v;
35
+ });
36
+ var __importStar = (this && this.__importStar) || (function () {
37
+ var ownKeys = function(o) {
38
+ ownKeys = Object.getOwnPropertyNames || function (o) {
39
+ var ar = [];
40
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
41
+ return ar;
42
+ };
43
+ return ownKeys(o);
44
+ };
45
+ return function (mod) {
46
+ if (mod && mod.__esModule) return mod;
47
+ var result = {};
48
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
49
+ __setModuleDefault(result, mod);
50
+ return result;
51
+ };
52
+ })();
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.downloadTelegramFile = downloadTelegramFile;
55
+ exports.textToSpeech = textToSpeech;
56
+ exports.sendVoiceMessage = sendVoiceMessage;
57
+ exports.transcribeVoiceMessage = transcribeVoiceMessage;
58
+ const fs = __importStar(require("fs"));
59
+ const os = __importStar(require("os"));
60
+ const path = __importStar(require("path"));
61
+ const crypto_1 = require("crypto");
62
+ const child_process_1 = require("child_process");
63
+ const util_1 = require("util");
64
+ const env_js_1 = require("../util/env.js");
65
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
66
+ const VOICE_TTS_CHAR_LIMIT = 800; // conservative cap; full text always still sent separately as a regular message
67
+ /** Shell-escapes a string for safe embedding inside single quotes in a curl command. */
68
+ function shellEscape(value) {
69
+ return value.replace(/'/g, "'\\''");
70
+ }
71
+ /** Downloads a Telegram-hosted file (by file_id) to a local temp path. */
72
+ async function downloadTelegramFile(token, fileId) {
73
+ const getFileUrl = `https://api.telegram.org/bot${token}/getFile?file_id=${encodeURIComponent(fileId)}`;
74
+ const { stdout: getFileOut } = await execAsync(`curl -s "${getFileUrl}"`, { timeout: 30_000 });
75
+ let parsed;
76
+ try {
77
+ parsed = JSON.parse(getFileOut);
78
+ }
79
+ catch {
80
+ throw new Error(`getFile returned non-JSON response: ${getFileOut.slice(0, 200)}`);
81
+ }
82
+ if (!parsed.ok) {
83
+ throw new Error(`Telegram getFile error: ${parsed.description} (${parsed.error_code})`);
84
+ }
85
+ const filePath = parsed.result?.file_path;
86
+ if (!filePath)
87
+ throw new Error('getFile did not return a file_path');
88
+ // Telegram voice messages report a file_path ending in .oga internally,
89
+ // but Groq's Whisper API rejects that extension outright (even though
90
+ // the actual content is genuine Ogg/Opus audio it does accept under
91
+ // .ogg/.opus) — confirmed directly: "file must be one of the following
92
+ // types: [flac mp3 mp4 mpeg mpga m4a ogg opus wav webm]". Since this
93
+ // function is currently only ever used for voice messages, always
94
+ // labeling the local copy .ogg sidesteps that extension-based rejection
95
+ // without touching the actual bytes at all. Revisit if this function
96
+ // ever gets reused for non-voice file downloads.
97
+ const localPath = path.join(os.tmpdir(), `tg-voice-${(0, crypto_1.randomUUID)()}.ogg`);
98
+ const fileUrl = `https://api.telegram.org/file/bot${token}/${filePath}`;
99
+ await execAsync(`curl -s -o "${localPath}" "${fileUrl}"`, { timeout: 60_000 });
100
+ if (!fs.existsSync(localPath) || fs.statSync(localPath).size === 0) {
101
+ throw new Error('Downloaded voice file is missing or empty');
102
+ }
103
+ return localPath;
104
+ }
105
+ /**
106
+ * Calls Groq's text-to-speech endpoint and returns raw audio bytes.
107
+ * Requests 'ogg' specifically — that's the one format both Groq supports
108
+ * as a response_format AND Telegram's sendVoice expects natively for the
109
+ * round voice-bubble UI, so no local transcoding/ffmpeg step is needed.
110
+ */
111
+ async function textToSpeech(text, apiKey) {
112
+ const truncated = text.length > VOICE_TTS_CHAR_LIMIT
113
+ ? text.slice(0, VOICE_TTS_CHAR_LIMIT) + '... see full message above for the rest.'
114
+ : text;
115
+ const body = JSON.stringify({
116
+ model: 'playai-tts',
117
+ voice: 'Fritz-PlayAI',
118
+ input: truncated,
119
+ response_format: 'ogg',
120
+ });
121
+ const outPath = path.join(os.tmpdir(), `tts-out-${(0, crypto_1.randomUUID)()}.ogg`);
122
+ const errPath = path.join(os.tmpdir(), `tts-err-${(0, crypto_1.randomUUID)()}.json`);
123
+ try {
124
+ // -f makes curl exit non-zero on an HTTP error instead of writing the
125
+ // error body to outPath as if it were audio; capture that error body
126
+ // separately via -o on failure so the real message can still surface.
127
+ await execAsync(`curl -sS -f -X POST ` +
128
+ `-H "Authorization: Bearer ${apiKey}" ` +
129
+ `-H "Content-Type: application/json" ` +
130
+ `-d '${shellEscape(body)}' ` +
131
+ `-o "${outPath}" "https://api.groq.com/openai/v1/audio/speech"`, { timeout: 60_000 });
132
+ }
133
+ catch (e) {
134
+ // Re-run without -f to capture the actual error body for a useful message.
135
+ try {
136
+ await execAsync(`curl -sS -X POST -H "Authorization: Bearer ${apiKey}" -H "Content-Type: application/json" ` +
137
+ `-d '${shellEscape(body)}' -o "${errPath}" "https://api.groq.com/openai/v1/audio/speech"`, { timeout: 60_000 });
138
+ const errBody = fs.existsSync(errPath) ? fs.readFileSync(errPath, 'utf8') : '';
139
+ throw new Error(`Groq TTS API error: ${errBody.slice(0, 500)}`);
140
+ }
141
+ finally {
142
+ fs.rm(errPath, () => { });
143
+ }
144
+ }
145
+ if (!fs.existsSync(outPath) || fs.statSync(outPath).size === 0) {
146
+ throw new Error('Groq TTS returned an empty response');
147
+ }
148
+ const audio = fs.readFileSync(outPath);
149
+ fs.rm(outPath, () => { });
150
+ return audio;
151
+ }
152
+ /** Sends a voice reply (ogg/opus audio) to a chat via Telegram's sendVoice. */
153
+ async function sendVoiceMessage(token, chatId, audioBuffer) {
154
+ const tempPath = path.join(os.tmpdir(), `voice-reply-${(0, crypto_1.randomUUID)()}.ogg`);
155
+ fs.writeFileSync(tempPath, audioBuffer);
156
+ try {
157
+ const url = `https://api.telegram.org/bot${token}/sendVoice`;
158
+ const { stdout } = await execAsync(`curl -s -X POST -F "chat_id=${String(chatId)}" -F "voice=@${tempPath}" "${url}"`, { timeout: 30_000 });
159
+ const parsed = JSON.parse(stdout);
160
+ if (!parsed.ok) {
161
+ throw new Error(`sendVoice failed: ${parsed.description} (${parsed.error_code})`);
162
+ }
163
+ }
164
+ finally {
165
+ fs.rm(tempPath, () => { });
166
+ }
167
+ }
168
+ /**
169
+ * Downloads a voice message, transcribes it via Groq Whisper, and returns
170
+ * the raw transcribed text — ready to feed straight into the same pipeline
171
+ * that handles typed text. Throws on any failure; caller decides how to
172
+ * report that back to the chat.
173
+ *
174
+ * Deliberately has its own curl-based Whisper call rather than reusing
175
+ * audio-transcribe.ts's callGroqWhisper (which uses native fetch) — keeps
176
+ * the bot's voice pipeline fully insulated from the fetch issue above.
177
+ */
178
+ async function transcribeVoiceMessage(token, fileId) {
179
+ const groqKey = (0, env_js_1.getApiKey)('GROQ_API_KEY', 'groq_api_key');
180
+ if (!groqKey) {
181
+ throw new Error('GROQ_API_KEY not set — voice messages need it for transcription.');
182
+ }
183
+ const localPath = await downloadTelegramFile(token, fileId);
184
+ const outPath = path.join(os.tmpdir(), `whisper-out-${(0, crypto_1.randomUUID)()}.json`);
185
+ try {
186
+ await execAsync(`curl -sS -X POST -H "Authorization: Bearer ${groqKey}" ` +
187
+ `-F "file=@${localPath}" -F "model=whisper-large-v3-turbo" -F "response_format=verbose_json" ` +
188
+ `-o "${outPath}" "https://api.groq.com/openai/v1/audio/transcriptions"`, { timeout: 120_000 });
189
+ if (!fs.existsSync(outPath))
190
+ throw new Error('Whisper API returned no response');
191
+ const parsed = JSON.parse(fs.readFileSync(outPath, 'utf8'));
192
+ if (parsed.error)
193
+ throw new Error(`Groq Whisper API error: ${JSON.stringify(parsed.error)}`);
194
+ if (typeof parsed.text !== 'string')
195
+ throw new Error(`Unexpected Whisper response: ${JSON.stringify(parsed).slice(0, 300)}`);
196
+ return parsed.text.trim();
197
+ }
198
+ finally {
199
+ fs.rm(localPath, () => { });
200
+ fs.rm(outPath, () => { });
201
+ }
202
+ }
203
+ //# sourceMappingURL=telegram-voice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram-voice.js","sourceRoot":"","sources":["../../src/tools/telegram-voice.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,18 @@
1
1
  import type { ToolDefinition } from '../providers/types.js';
2
2
  export interface TelegramInput {
3
- action: 'send' | 'send_photo' | 'send_document' | 'get_updates' | 'get_chat' | 'set_webhook' | 'info';
3
+ action: 'send' | 'send_photo' | 'send_video' | 'send_document' | 'get_updates' | 'get_chat' | 'set_webhook' | 'info';
4
4
  chat_id?: string;
5
5
  text?: string;
6
6
  photo?: string;
7
+ video?: string;
7
8
  document?: string;
8
9
  caption?: string;
9
10
  parse_mode?: 'HTML' | 'Markdown' | 'MarkdownV2';
10
11
  reply_to?: number;
12
+ duration?: number;
13
+ width?: number;
14
+ height?: number;
15
+ supports_streaming?: boolean;
11
16
  offset?: number;
12
17
  limit?: number;
13
18
  webhook_url?: string;