aura-code 0.3.6 → 0.5.0
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 +54 -2
- 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/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 +8 -1
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/agent/system-prompt.js +5 -2
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/cli/display.js +40 -4
- package/dist/cli/display.js.map +1 -1
- package/dist/cli/index.js +258 -44
- package/dist/cli/index.js.map +1 -1
- package/dist/config/defaults.js +1 -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 +48 -0
- package/dist/dream/dream.js +187 -0
- package/dist/dream/dream.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/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/factory.d.ts +16 -0
- package/dist/providers/factory.js +72 -0
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/openai-compatible.js +80 -49
- package/dist/providers/openai-compatible.js.map +1 -1
- package/dist/research/council.d.ts +26 -0
- package/dist/research/council.js +225 -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/gmail-tool.d.ts +11 -0
- package/dist/tools/gmail-tool.js +221 -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 -18
- 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/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/package.json +3 -2
|
@@ -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;
|
package/dist/tools/telegram.js
CHANGED
|
@@ -40,20 +40,25 @@ const path = __importStar(require("path"));
|
|
|
40
40
|
const os = __importStar(require("os"));
|
|
41
41
|
exports.TELEGRAM_DEFINITION = {
|
|
42
42
|
name: 'telegram',
|
|
43
|
-
description: 'Communicate via Telegram Bot. Send text messages, photos, documents. Read incoming messages. ' +
|
|
43
|
+
description: 'Communicate via Telegram Bot. Send text messages, photos, videos, documents. Read incoming messages. ' +
|
|
44
44
|
'Configure ~/.aura/telegram.json with { "bot_token": "...", "default_chat_id": "..." }. ' +
|
|
45
45
|
'Create a bot via @BotFather on Telegram.',
|
|
46
46
|
parameters: {
|
|
47
47
|
type: 'object',
|
|
48
48
|
properties: {
|
|
49
|
-
action: { type: 'string', description: 'Action: send, send_photo, send_document, get_updates, get_chat, set_webhook, info' },
|
|
49
|
+
action: { type: 'string', description: 'Action: send, send_photo, send_video, send_document, get_updates, get_chat, set_webhook, info' },
|
|
50
50
|
chat_id: { type: 'string', description: 'Chat ID (uses default from config if omitted)' },
|
|
51
51
|
text: { type: 'string', description: 'Message text (for send)' },
|
|
52
52
|
photo: { type: 'string', description: 'Photo path or URL (for send_photo)' },
|
|
53
|
+
video: { type: 'string', description: 'Video URL or file_id (for send_video). Local files not yet supported — use a hosted URL.' },
|
|
53
54
|
document: { type: 'string', description: 'Document path or URL (for send_document)' },
|
|
54
|
-
caption: { type: 'string', description: 'Caption for photo/document' },
|
|
55
|
+
caption: { type: 'string', description: 'Caption for photo/video/document' },
|
|
55
56
|
parse_mode: { type: 'string', description: 'Parse mode: HTML, Markdown, MarkdownV2' },
|
|
56
57
|
reply_to: { type: 'number', description: 'Message ID to reply to' },
|
|
58
|
+
duration: { type: 'number', description: 'Video duration in seconds (for send_video)' },
|
|
59
|
+
width: { type: 'number', description: 'Video width in pixels (for send_video)' },
|
|
60
|
+
height: { type: 'number', description: 'Video height in pixels (for send_video)' },
|
|
61
|
+
supports_streaming: { type: 'boolean', description: 'Pass True if the video supports streaming (for send_video)' },
|
|
57
62
|
offset: { type: 'number', description: 'Update offset for get_updates (to acknowledge processed updates)' },
|
|
58
63
|
limit: { type: 'number', description: 'Max updates to fetch (default: 10)' },
|
|
59
64
|
webhook_url: { type: 'string', description: 'Webhook URL for set_webhook' },
|
|
@@ -109,6 +114,59 @@ async function apiGet(token, method, params) {
|
|
|
109
114
|
return data.result;
|
|
110
115
|
}
|
|
111
116
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
117
|
+
// Helpers
|
|
118
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
119
|
+
/** Check if a path is a local file (exists on disk), not a URL */
|
|
120
|
+
function isLocalPath(p) {
|
|
121
|
+
return !p.startsWith('http://') && !p.startsWith('https://') && fs.existsSync(p);
|
|
122
|
+
}
|
|
123
|
+
/** Get MIME type from file extension */
|
|
124
|
+
function mimeFromExt(filePath) {
|
|
125
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
126
|
+
const mimeMap = {
|
|
127
|
+
'.jpg': 'image/jpeg',
|
|
128
|
+
'.jpeg': 'image/jpeg',
|
|
129
|
+
'.png': 'image/png',
|
|
130
|
+
'.gif': 'image/gif',
|
|
131
|
+
'.webp': 'image/webp',
|
|
132
|
+
'.bmp': 'image/bmp',
|
|
133
|
+
'.mp4': 'video/mp4',
|
|
134
|
+
'.avi': 'video/x-msvideo',
|
|
135
|
+
'.mov': 'video/quicktime',
|
|
136
|
+
'.webm': 'video/webm',
|
|
137
|
+
'.pdf': 'application/pdf',
|
|
138
|
+
'.txt': 'text/plain',
|
|
139
|
+
'.zip': 'application/zip',
|
|
140
|
+
};
|
|
141
|
+
return mimeMap[ext] ?? 'application/octet-stream';
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Send a file to Telegram via multipart/form-data upload.
|
|
145
|
+
* Used when the file is a local path rather than a URL.
|
|
146
|
+
*/
|
|
147
|
+
async function sendFileMultipart(token, method, fields, fileField, filePath) {
|
|
148
|
+
const url = `${API_BASE}/bot${token}/${method}`;
|
|
149
|
+
const formData = new FormData();
|
|
150
|
+
for (const [key, val] of Object.entries(fields)) {
|
|
151
|
+
formData.append(key, val);
|
|
152
|
+
}
|
|
153
|
+
const fileName = path.basename(filePath);
|
|
154
|
+
const mimeType = mimeFromExt(filePath);
|
|
155
|
+
const fileBuffer = fs.readFileSync(filePath);
|
|
156
|
+
const file = new File([fileBuffer], fileName, { type: mimeType });
|
|
157
|
+
formData.append(fileField, file);
|
|
158
|
+
const response = await fetch(url, {
|
|
159
|
+
method: 'POST',
|
|
160
|
+
body: formData,
|
|
161
|
+
signal: AbortSignal.timeout(30_000),
|
|
162
|
+
});
|
|
163
|
+
const data = await response.json();
|
|
164
|
+
if (!data.ok) {
|
|
165
|
+
throw new Error(`Telegram API error: ${data.description ?? 'Unknown error'} (code: ${data.error_code})`);
|
|
166
|
+
}
|
|
167
|
+
return data.result;
|
|
168
|
+
}
|
|
169
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
112
170
|
// Actions
|
|
113
171
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
114
172
|
async function doSend(config, input) {
|
|
@@ -134,9 +192,21 @@ async function doSendPhoto(config, input) {
|
|
|
134
192
|
return 'Error: chat_id required';
|
|
135
193
|
if (!input.photo)
|
|
136
194
|
return 'Error: photo required';
|
|
195
|
+
const photo = input.photo;
|
|
196
|
+
if (isLocalPath(photo)) {
|
|
197
|
+
// Local file — upload via multipart/form-data
|
|
198
|
+
const fields = { chat_id: chatId };
|
|
199
|
+
if (input.caption)
|
|
200
|
+
fields.caption = input.caption;
|
|
201
|
+
if (input.parse_mode)
|
|
202
|
+
fields.parse_mode = input.parse_mode;
|
|
203
|
+
const result = await sendFileMultipart(config.bot_token, 'sendPhoto', fields, 'photo', photo);
|
|
204
|
+
return `Photo sent to ${chatId} (msg_id: ${result.message_id})`;
|
|
205
|
+
}
|
|
206
|
+
// URL or file_id — send as JSON (Telegram fetches the URL)
|
|
137
207
|
const body = {
|
|
138
208
|
chat_id: chatId,
|
|
139
|
-
photo:
|
|
209
|
+
photo: photo,
|
|
140
210
|
};
|
|
141
211
|
if (input.caption)
|
|
142
212
|
body.caption = input.caption;
|
|
@@ -145,15 +215,54 @@ async function doSendPhoto(config, input) {
|
|
|
145
215
|
const result = await api(config.bot_token, 'sendPhoto', body);
|
|
146
216
|
return `Photo sent to ${chatId} (msg_id: ${result.message_id})`;
|
|
147
217
|
}
|
|
218
|
+
async function doSendVideo(config, input) {
|
|
219
|
+
const chatId = input.chat_id ?? config.default_chat_id;
|
|
220
|
+
if (!chatId)
|
|
221
|
+
return 'Error: chat_id required';
|
|
222
|
+
if (!input.video)
|
|
223
|
+
return 'Error: video required (URL or file_id)';
|
|
224
|
+
const body = {
|
|
225
|
+
chat_id: chatId,
|
|
226
|
+
video: input.video,
|
|
227
|
+
};
|
|
228
|
+
if (input.caption)
|
|
229
|
+
body.caption = input.caption;
|
|
230
|
+
if (input.parse_mode)
|
|
231
|
+
body.parse_mode = input.parse_mode;
|
|
232
|
+
if (input.duration !== undefined)
|
|
233
|
+
body.duration = input.duration;
|
|
234
|
+
if (input.width !== undefined)
|
|
235
|
+
body.width = input.width;
|
|
236
|
+
if (input.height !== undefined)
|
|
237
|
+
body.height = input.height;
|
|
238
|
+
if (input.supports_streaming !== undefined)
|
|
239
|
+
body.supports_streaming = input.supports_streaming;
|
|
240
|
+
if (input.reply_to)
|
|
241
|
+
body.reply_to_message_id = input.reply_to;
|
|
242
|
+
const result = await api(config.bot_token, 'sendVideo', body);
|
|
243
|
+
return `Video sent to ${chatId} (msg_id: ${result.message_id})`;
|
|
244
|
+
}
|
|
148
245
|
async function doSendDocument(config, input) {
|
|
149
246
|
const chatId = input.chat_id ?? config.default_chat_id;
|
|
150
247
|
if (!chatId)
|
|
151
248
|
return 'Error: chat_id required';
|
|
152
249
|
if (!input.document)
|
|
153
250
|
return 'Error: document required';
|
|
251
|
+
const document = input.document;
|
|
252
|
+
if (isLocalPath(document)) {
|
|
253
|
+
// Local file — upload via multipart/form-data
|
|
254
|
+
const fields = { chat_id: chatId };
|
|
255
|
+
if (input.caption)
|
|
256
|
+
fields.caption = input.caption;
|
|
257
|
+
if (input.parse_mode)
|
|
258
|
+
fields.parse_mode = input.parse_mode;
|
|
259
|
+
const result = await sendFileMultipart(config.bot_token, 'sendDocument', fields, 'document', document);
|
|
260
|
+
return `Document sent to ${chatId} (msg_id: ${result.message_id})`;
|
|
261
|
+
}
|
|
262
|
+
// URL — send as JSON (Telegram fetches the URL)
|
|
154
263
|
const body = {
|
|
155
264
|
chat_id: chatId,
|
|
156
|
-
document:
|
|
265
|
+
document: document,
|
|
157
266
|
};
|
|
158
267
|
if (input.caption)
|
|
159
268
|
body.caption = input.caption;
|
|
@@ -212,6 +321,7 @@ async function telegramTool(input) {
|
|
|
212
321
|
switch (input.action) {
|
|
213
322
|
case 'send': return await doSend(config, input);
|
|
214
323
|
case 'send_photo': return await doSendPhoto(config, input);
|
|
324
|
+
case 'send_video': return await doSendVideo(config, input);
|
|
215
325
|
case 'send_document': return await doSendDocument(config, input);
|
|
216
326
|
case 'get_updates': return await doGetUpdates(config, input);
|
|
217
327
|
case 'get_chat': return await doGetChat(config, input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/tools/telegram.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/tools/telegram.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface RenderOptions {
|
|
2
|
+
htmlPath: string;
|
|
3
|
+
output: string;
|
|
4
|
+
fps?: number;
|
|
5
|
+
width?: number;
|
|
6
|
+
height?: number;
|
|
7
|
+
duration?: number;
|
|
8
|
+
keepFrames?: boolean;
|
|
9
|
+
onProgress?: (current: number, total: number) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function renderVideo(options: RenderOptions): Promise<string>;
|