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.
- package/README.md +56 -4
- package/dist/agent/compactor.d.ts +26 -0
- package/dist/agent/compactor.js +156 -0
- package/dist/agent/compactor.js.map +1 -0
- package/dist/agent/context.d.ts +4 -0
- package/dist/agent/context.js +38 -0
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/design.d.ts +17 -0
- package/dist/agent/design.js +175 -0
- package/dist/agent/design.js.map +1 -0
- package/dist/agent/loop.js +24 -1
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/agent/system-prompt.js +14 -3
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/cli/display.js +46 -5
- package/dist/cli/display.js.map +1 -1
- package/dist/cli/index.js +323 -46
- package/dist/cli/index.js.map +1 -1
- package/dist/config/defaults.js +8 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/project-config.d.ts +6 -0
- package/dist/config/project-config.js +2 -0
- package/dist/config/project-config.js.map +1 -1
- package/dist/dream/dream.d.ts +71 -0
- package/dist/dream/dream.js +217 -0
- package/dist/dream/dream.js.map +1 -0
- package/dist/dream/okf.d.ts +10 -0
- package/dist/dream/okf.js +280 -0
- package/dist/dream/okf.js.map +1 -0
- package/dist/dream/parser.d.ts +60 -0
- package/dist/dream/parser.js +176 -0
- package/dist/dream/parser.js.map +1 -0
- package/dist/dream/reconcile.d.ts +69 -0
- package/dist/dream/reconcile.js +303 -0
- package/dist/dream/reconcile.js.map +1 -0
- package/dist/kanban/index.d.ts +5 -0
- package/dist/kanban/index.js +11 -0
- package/dist/kanban/index.js.map +1 -0
- package/dist/kanban/pipeline.d.ts +16 -0
- package/dist/kanban/pipeline.js +910 -0
- package/dist/kanban/pipeline.js.map +1 -0
- package/dist/kanban/server.d.ts +5 -0
- package/dist/kanban/server.js +820 -0
- package/dist/kanban/server.js.map +1 -0
- package/dist/kanban/types.d.ts +75 -0
- package/dist/kanban/types.js +6 -0
- package/dist/kanban/types.js.map +1 -0
- package/dist/learnlight/driven.d.ts +2 -0
- package/dist/learnlight/driven.js +109 -0
- package/dist/learnlight/driven.js.map +1 -0
- package/dist/learnlight/index.d.ts +4 -0
- package/dist/learnlight/index.js +32 -0
- package/dist/learnlight/index.js.map +1 -0
- package/dist/learnlight/lesson-prep.d.ts +36 -0
- package/dist/learnlight/lesson-prep.js +224 -0
- package/dist/learnlight/lesson-prep.js.map +1 -0
- package/dist/learnlight/report.d.ts +2 -0
- package/dist/learnlight/report.js +37 -0
- package/dist/learnlight/report.js.map +1 -0
- package/dist/learnlight/types.d.ts +72 -0
- package/dist/learnlight/types.js +6 -0
- package/dist/learnlight/types.js.map +1 -0
- package/dist/machina/index.d.ts +16 -0
- package/dist/machina/index.js +61 -0
- package/dist/machina/index.js.map +1 -0
- package/dist/machina/render-html.d.ts +2 -0
- package/dist/machina/render-html.js +189 -0
- package/dist/machina/render-html.js.map +1 -0
- package/dist/machina/render-terminal.d.ts +2 -0
- package/dist/machina/render-terminal.js +92 -0
- package/dist/machina/render-terminal.js.map +1 -0
- package/dist/machina/spec.d.ts +61 -0
- package/dist/machina/spec.js +124 -0
- package/dist/machina/spec.js.map +1 -0
- package/dist/machina/verify.d.ts +27 -0
- package/dist/machina/verify.js +85 -0
- package/dist/machina/verify.js.map +1 -0
- package/dist/perception/graph-store.d.ts +11 -0
- package/dist/perception/graph-store.js +33 -0
- package/dist/perception/graph-store.js.map +1 -1
- package/dist/perception/index.d.ts +1 -1
- package/dist/perception/index.js +2 -1
- package/dist/perception/index.js.map +1 -1
- package/dist/providers/anthropic.js +1 -1
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/factory.d.ts +49 -0
- package/dist/providers/factory.js +99 -0
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/google.js +1 -1
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/openai-compatible.js +81 -50
- package/dist/providers/openai-compatible.js.map +1 -1
- package/dist/rem/graph.d.ts +72 -0
- package/dist/rem/graph.js +139 -0
- package/dist/rem/graph.js.map +1 -0
- package/dist/rem/index.d.ts +16 -0
- package/dist/rem/index.js +60 -0
- package/dist/rem/index.js.map +1 -0
- package/dist/rem/render-html.d.ts +2 -0
- package/dist/rem/render-html.js +189 -0
- package/dist/rem/render-html.js.map +1 -0
- package/dist/rem/render-terminal.d.ts +4 -0
- package/dist/rem/render-terminal.js +94 -0
- package/dist/rem/render-terminal.js.map +1 -0
- package/dist/research/council.d.ts +27 -0
- package/dist/research/council.js +263 -0
- package/dist/research/council.js.map +1 -0
- package/dist/research/research.d.ts +24 -0
- package/dist/research/research.js +116 -0
- package/dist/research/research.js.map +1 -0
- package/dist/ruby/alternator.d.ts +36 -1
- package/dist/ruby/alternator.js +40 -31
- package/dist/ruby/alternator.js.map +1 -1
- package/dist/ruby/stats.js +10 -11
- package/dist/ruby/stats.js.map +1 -1
- package/dist/ruby/types.js +1 -1
- package/dist/ruby/types.js.map +1 -1
- package/dist/safety/permissions.d.ts +8 -0
- package/dist/safety/permissions.js +12 -0
- package/dist/safety/permissions.js.map +1 -1
- package/dist/setup/provider-registry.js +14 -0
- package/dist/setup/provider-registry.js.map +1 -1
- package/dist/setup/provider-test.js +24 -2
- package/dist/setup/provider-test.js.map +1 -1
- package/dist/setup/telegram-wizard.d.ts +57 -0
- package/dist/setup/telegram-wizard.js +343 -0
- package/dist/setup/telegram-wizard.js.map +1 -0
- package/dist/tools/audio-transcribe.d.ts +20 -0
- package/dist/tools/audio-transcribe.js +39 -28
- package/dist/tools/audio-transcribe.js.map +1 -1
- package/dist/tools/browser.js +8 -10
- package/dist/tools/browser.js.map +1 -1
- package/dist/tools/gmail-tool.d.ts +15 -0
- package/dist/tools/gmail-tool.js +361 -0
- package/dist/tools/gmail-tool.js.map +1 -0
- package/dist/tools/read-file.js +13 -0
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/telegram-bot.js +103 -20
- package/dist/tools/telegram-bot.js.map +1 -1
- package/dist/tools/telegram-voice.d.ts +22 -0
- package/dist/tools/telegram-voice.js +203 -0
- package/dist/tools/telegram-voice.js.map +1 -0
- package/dist/tools/telegram.d.ts +6 -1
- package/dist/tools/telegram.js +115 -5
- package/dist/tools/telegram.js.map +1 -1
- package/dist/tools/video-render.d.ts +11 -0
- package/dist/tools/video-render.js +189 -0
- package/dist/tools/video-render.js.map +1 -0
- package/dist/tools/web-search.d.ts +20 -0
- package/dist/tools/web-search.js +134 -38
- package/dist/tools/web-search.js.map +1 -1
- package/dist/util/errors.js +6 -0
- package/dist/util/errors.js.map +1 -1
- package/dist/viz/index.js +816 -30
- package/dist/viz/index.js.map +1 -1
- package/dist/viz/reader.d.ts +33 -0
- package/dist/viz/reader.js +343 -0
- package/dist/viz/reader.js.map +1 -0
- 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
|
-
??
|
|
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
|
-
??
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
|
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
|
-
|
|
636
|
-
|
|
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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"}
|
package/dist/tools/telegram.d.ts
CHANGED
|
@@ -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;
|