remote-copilot-mcp 2.2.1 → 2.2.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 +1 -1
- package/dist/dispatcher.d.ts.map +1 -1
- package/dist/dispatcher.js +109 -54
- package/dist/dispatcher.js.map +1 -1
- package/dist/index.js +94 -139
- package/dist/index.js.map +1 -1
- package/dist/openai.d.ts +22 -0
- package/dist/openai.d.ts.map +1 -0
- package/dist/openai.js +59 -0
- package/dist/openai.js.map +1 -0
- package/dist/telegram.d.ts +12 -56
- package/dist/telegram.d.ts.map +1 -1
- package/dist/telegram.js +71 -187
- package/dist/telegram.js.map +1 -1
- package/dist/utils.d.ts +31 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +37 -0
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -28,15 +28,17 @@
|
|
|
28
28
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
29
29
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
30
30
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
31
|
-
import { readFileSync, writeFileSync } from "fs";
|
|
31
|
+
import { readFileSync, renameSync, writeFileSync } from "fs";
|
|
32
32
|
import { createRequire } from "module";
|
|
33
33
|
import { homedir } from "os";
|
|
34
|
-
import { join } from "path";
|
|
34
|
+
import { basename, join } from "path";
|
|
35
35
|
import { peekThreadMessages, readThreadMessages, startDispatcher } from "./dispatcher.js";
|
|
36
|
+
import { textToSpeech, transcribeAudio, TTS_VOICES } from "./openai.js";
|
|
36
37
|
import { TelegramClient } from "./telegram.js";
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
const
|
|
38
|
+
import { errorMessage, errorResult, IMAGE_EXTENSIONS, OPENAI_TTS_MAX_CHARS } from "./utils.js";
|
|
39
|
+
const esmRequire = createRequire(import.meta.url);
|
|
40
|
+
const { version: PKG_VERSION } = esmRequire("../package.json");
|
|
41
|
+
const telegramifyMarkdown = esmRequire("telegramify-markdown");
|
|
40
42
|
/**
|
|
41
43
|
* Convert standard Markdown to Telegram MarkdownV2.
|
|
42
44
|
*
|
|
@@ -87,7 +89,7 @@ const TELEGRAM_TOKEN = process.env.TELEGRAM_TOKEN ?? "";
|
|
|
87
89
|
const TELEGRAM_CHAT_ID = process.env.TELEGRAM_CHAT_ID ?? "";
|
|
88
90
|
const OPENAI_API_KEY = process.env.OPENAI_API_KEY ?? "";
|
|
89
91
|
const rawWaitTimeoutMinutes = parseInt(process.env.WAIT_TIMEOUT_MINUTES ?? "", 10);
|
|
90
|
-
const WAIT_TIMEOUT_MINUTES = Math.max(1, Number.isFinite(rawWaitTimeoutMinutes) ? rawWaitTimeoutMinutes :
|
|
92
|
+
const WAIT_TIMEOUT_MINUTES = Math.max(1, Number.isFinite(rawWaitTimeoutMinutes) ? rawWaitTimeoutMinutes : 120);
|
|
91
93
|
if (!TELEGRAM_TOKEN || !TELEGRAM_CHAT_ID) {
|
|
92
94
|
process.stderr.write("Error: TELEGRAM_TOKEN and TELEGRAM_CHAT_ID environment variables are required.\n");
|
|
93
95
|
process.exit(1);
|
|
@@ -108,6 +110,7 @@ await startDispatcher(telegram, TELEGRAM_CHAT_ID);
|
|
|
108
110
|
// Monotonically increasing counter so every timeout response is unique,
|
|
109
111
|
// preventing VS Code Copilot's loop-detection heuristic from killing the agent.
|
|
110
112
|
let waitCallCount = 0;
|
|
113
|
+
let sessionStartedAt = Date.now();
|
|
111
114
|
// ---------------------------------------------------------------------------
|
|
112
115
|
// Session store — persists topic name → thread ID mappings to disk so the
|
|
113
116
|
// agent can resume a named session even after a VS Code restart.
|
|
@@ -125,10 +128,12 @@ function loadSessionMap() {
|
|
|
125
128
|
}
|
|
126
129
|
function saveSessionMap(map) {
|
|
127
130
|
try {
|
|
128
|
-
|
|
131
|
+
const tmp = SESSION_STORE_PATH + `.tmp.${process.pid}`;
|
|
132
|
+
writeFileSync(tmp, JSON.stringify(map, null, 2), "utf8");
|
|
133
|
+
renameSync(tmp, SESSION_STORE_PATH); // atomic replace
|
|
129
134
|
}
|
|
130
135
|
catch (err) {
|
|
131
|
-
process.stderr.write(`Warning: Could not save session map to ${SESSION_STORE_PATH}: ${
|
|
136
|
+
process.stderr.write(`Warning: Could not save session map to ${SESSION_STORE_PATH}: ${errorMessage(err)}\n`);
|
|
132
137
|
}
|
|
133
138
|
}
|
|
134
139
|
function lookupSession(chatId, name) {
|
|
@@ -157,7 +162,7 @@ let currentThreadId;
|
|
|
157
162
|
// Used to send periodic "session still alive" messages so the operator knows
|
|
158
163
|
// the agent hasn't silently died.
|
|
159
164
|
let lastKeepAliveSentAt = Date.now();
|
|
160
|
-
const KEEP_ALIVE_INTERVAL_MS =
|
|
165
|
+
const KEEP_ALIVE_INTERVAL_MS = 30 * 60 * 1000; // 30 minutes
|
|
161
166
|
// ---------------------------------------------------------------------------
|
|
162
167
|
// MCP Server
|
|
163
168
|
// ---------------------------------------------------------------------------
|
|
@@ -262,7 +267,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
262
267
|
properties: {
|
|
263
268
|
text: {
|
|
264
269
|
type: "string",
|
|
265
|
-
description:
|
|
270
|
+
description: `The text to speak. Maximum ${OPENAI_TTS_MAX_CHARS} characters (OpenAI TTS limit).`,
|
|
266
271
|
},
|
|
267
272
|
voice: {
|
|
268
273
|
type: "string",
|
|
@@ -299,6 +304,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
299
304
|
const { name, arguments: args } = request.params;
|
|
300
305
|
// ── start_session ─────────────────────────────────────────────────────────
|
|
301
306
|
if (name === "start_session") {
|
|
307
|
+
sessionStartedAt = Date.now();
|
|
302
308
|
const typedArgs = (args ?? {});
|
|
303
309
|
const explicitThreadId = typeof typedArgs.threadId === "number"
|
|
304
310
|
? typedArgs.threadId
|
|
@@ -335,7 +341,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
335
341
|
await telegram.sendMessage(TELEGRAM_CHAT_ID, msg, "MarkdownV2", currentThreadId);
|
|
336
342
|
}
|
|
337
343
|
catch (err) {
|
|
338
|
-
const errMsg =
|
|
344
|
+
const errMsg = errorMessage(err);
|
|
339
345
|
// Telegram returns "Bad Request: message thread not found" or
|
|
340
346
|
// "Bad Request: the topic was closed" for deleted/closed topics.
|
|
341
347
|
const isThreadGone = /thread not found|topic.*(closed|deleted|not found)/i.test(errMsg);
|
|
@@ -365,7 +371,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
365
371
|
}
|
|
366
372
|
catch (err) {
|
|
367
373
|
// Forum topics not available (e.g. plain group or DM) — fall back to no thread.
|
|
368
|
-
process.stderr.write(`Warning: Could not create forum topic: ${
|
|
374
|
+
process.stderr.write(`Warning: Could not create forum topic: ${errorMessage(err)}\n` +
|
|
369
375
|
"Falling back to main chat (no thread isolation).\n");
|
|
370
376
|
currentThreadId = undefined;
|
|
371
377
|
}
|
|
@@ -407,30 +413,31 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
407
413
|
const stored = readThreadMessages(currentThreadId);
|
|
408
414
|
if (stored.length > 0) {
|
|
409
415
|
const contentBlocks = [];
|
|
410
|
-
|
|
416
|
+
let hasVoiceMessages = false;
|
|
417
|
+
for (const msg of stored) {
|
|
411
418
|
// Photos: download the largest size and embed as base64.
|
|
412
|
-
if (
|
|
413
|
-
const largest =
|
|
419
|
+
if (msg.message.photo && msg.message.photo.length > 0) {
|
|
420
|
+
const largest = msg.message.photo[msg.message.photo.length - 1];
|
|
414
421
|
try {
|
|
415
422
|
const { base64, mimeType } = await telegram.downloadFileAsBase64(largest.file_id);
|
|
416
423
|
contentBlocks.push({ type: "image", data: base64, mimeType });
|
|
417
|
-
if (
|
|
424
|
+
if (msg.message.caption) {
|
|
418
425
|
contentBlocks.push({
|
|
419
426
|
type: "text",
|
|
420
|
-
text: `[Image caption]: ${
|
|
427
|
+
text: `[Image caption]: ${msg.message.caption}`,
|
|
421
428
|
});
|
|
422
429
|
}
|
|
423
430
|
}
|
|
424
431
|
catch (err) {
|
|
425
432
|
contentBlocks.push({
|
|
426
433
|
type: "text",
|
|
427
|
-
text: `[Photo received but could not be downloaded: ${
|
|
434
|
+
text: `[Photo received but could not be downloaded: ${errorMessage(err)}]`,
|
|
428
435
|
});
|
|
429
436
|
}
|
|
430
437
|
}
|
|
431
438
|
// Documents: download and embed as base64.
|
|
432
|
-
if (
|
|
433
|
-
const doc =
|
|
439
|
+
if (msg.message.document) {
|
|
440
|
+
const doc = msg.message.document;
|
|
434
441
|
try {
|
|
435
442
|
const { base64, mimeType } = await telegram.downloadFileAsBase64(doc.file_id);
|
|
436
443
|
const isImage = mimeType.startsWith("image/");
|
|
@@ -444,47 +451,49 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
444
451
|
text: `[Document: ${doc.file_name ?? "file"} (${doc.mime_type ?? mimeType})]\nBase64 content: ${base64}`,
|
|
445
452
|
});
|
|
446
453
|
}
|
|
447
|
-
if (
|
|
454
|
+
if (msg.message.caption) {
|
|
448
455
|
contentBlocks.push({
|
|
449
456
|
type: "text",
|
|
450
|
-
text: `[Document caption]: ${
|
|
457
|
+
text: `[Document caption]: ${msg.message.caption}`,
|
|
451
458
|
});
|
|
452
459
|
}
|
|
453
460
|
}
|
|
454
461
|
catch (err) {
|
|
455
462
|
contentBlocks.push({
|
|
456
463
|
type: "text",
|
|
457
|
-
text: `[Document "${doc.file_name ?? "file"}" received but could not be downloaded: ${
|
|
464
|
+
text: `[Document "${doc.file_name ?? "file"}" received but could not be downloaded: ${errorMessage(err)}]`,
|
|
458
465
|
});
|
|
459
466
|
}
|
|
460
467
|
}
|
|
461
468
|
// Text messages.
|
|
462
|
-
if (
|
|
463
|
-
contentBlocks.push({ type: "text", text:
|
|
469
|
+
if (msg.message.text) {
|
|
470
|
+
contentBlocks.push({ type: "text", text: msg.message.text });
|
|
464
471
|
}
|
|
465
472
|
// Voice messages: transcribe using OpenAI Whisper.
|
|
466
|
-
if (
|
|
473
|
+
if (msg.message.voice) {
|
|
474
|
+
hasVoiceMessages = true;
|
|
467
475
|
if (OPENAI_API_KEY) {
|
|
468
476
|
try {
|
|
469
|
-
const
|
|
477
|
+
const { buffer } = await telegram.downloadFileAsBuffer(msg.message.voice.file_id);
|
|
478
|
+
const transcript = await transcribeAudio(buffer, OPENAI_API_KEY);
|
|
470
479
|
contentBlocks.push({
|
|
471
480
|
type: "text",
|
|
472
481
|
text: transcript
|
|
473
|
-
? `[Voice message — ${
|
|
474
|
-
: `[Voice message — ${
|
|
482
|
+
? `[Voice message — ${msg.message.voice.duration}s, transcribed]: ${transcript}`
|
|
483
|
+
: `[Voice message — ${msg.message.voice.duration}s, transcribed]: (empty — no speech detected)`,
|
|
475
484
|
});
|
|
476
485
|
}
|
|
477
486
|
catch (err) {
|
|
478
487
|
contentBlocks.push({
|
|
479
488
|
type: "text",
|
|
480
|
-
text: `[Voice message — ${
|
|
489
|
+
text: `[Voice message — ${msg.message.voice.duration}s — transcription failed: ${errorMessage(err)}]`,
|
|
481
490
|
});
|
|
482
491
|
}
|
|
483
492
|
}
|
|
484
493
|
else {
|
|
485
494
|
contentBlocks.push({
|
|
486
495
|
type: "text",
|
|
487
|
-
text: `[Voice message received — ${
|
|
496
|
+
text: `[Voice message received — ${msg.message.voice.duration}s — cannot transcribe: OPENAI_API_KEY not set]`,
|
|
488
497
|
});
|
|
489
498
|
}
|
|
490
499
|
}
|
|
@@ -502,6 +511,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
502
511
|
text: "Follow the operator's instructions below. First create a plan, then execute it step by step:",
|
|
503
512
|
},
|
|
504
513
|
...contentBlocks,
|
|
514
|
+
...(hasVoiceMessages
|
|
515
|
+
? [{
|
|
516
|
+
type: "text",
|
|
517
|
+
text: "\n**Note:** The operator sent voice message(s). They prefer voice interaction — use `send_voice` for progress updates and responses when possible.",
|
|
518
|
+
}]
|
|
519
|
+
: []),
|
|
505
520
|
{ type: "text", text: getReminders(currentThreadId) },
|
|
506
521
|
],
|
|
507
522
|
};
|
|
@@ -532,11 +547,11 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
532
547
|
content: [
|
|
533
548
|
{
|
|
534
549
|
type: "text",
|
|
535
|
-
text: `[Poll #${callNumber}
|
|
536
|
-
(keepAliveSent ? ` Keep-alive ping sent
|
|
537
|
-
` No new instructions received
|
|
538
|
-
`YOU MUST call remote_copilot_wait_for_instructions again RIGHT NOW. ` +
|
|
539
|
-
`Do NOT summarize
|
|
550
|
+
text: `[Poll #${callNumber} — timeout at ${now} — elapsed ${WAIT_TIMEOUT_MINUTES}m — session uptime ${Math.round((Date.now() - sessionStartedAt) / 60000)}m]` +
|
|
551
|
+
(keepAliveSent ? ` Keep-alive ping sent.` : "") +
|
|
552
|
+
` No new instructions received. ` +
|
|
553
|
+
`YOU MUST call remote_copilot_wait_for_instructions again RIGHT NOW to continue listening. ` +
|
|
554
|
+
`Do NOT summarize, stop, or say the session is idle. ` +
|
|
540
555
|
`Just call the tool again immediately.` +
|
|
541
556
|
getReminders(currentThreadId),
|
|
542
557
|
},
|
|
@@ -549,61 +564,41 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
549
564
|
? args.message
|
|
550
565
|
: "";
|
|
551
566
|
if (!rawMessage) {
|
|
552
|
-
return
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
567
|
+
return errorResult("Error: 'message' argument is required for report_progress.");
|
|
568
|
+
}
|
|
569
|
+
// Convert standard Markdown to Telegram MarkdownV2.
|
|
570
|
+
let message;
|
|
571
|
+
try {
|
|
572
|
+
message = convertMarkdown(rawMessage);
|
|
573
|
+
}
|
|
574
|
+
catch {
|
|
575
|
+
// Fall back to raw text if Markdown conversion throws.
|
|
576
|
+
message = rawMessage;
|
|
561
577
|
}
|
|
562
|
-
// Convert standard Markdown to Telegram MarkdownV2 (handles headings,
|
|
563
|
-
// lists, bold/italic, code blocks, and special-character escaping).
|
|
564
|
-
const message = convertMarkdown(rawMessage);
|
|
565
578
|
let sentAsPlainText = false;
|
|
566
579
|
try {
|
|
567
580
|
await telegram.sendMessage(TELEGRAM_CHAT_ID, message, "MarkdownV2", currentThreadId);
|
|
568
581
|
}
|
|
569
582
|
catch (error) {
|
|
570
|
-
const
|
|
583
|
+
const errMsg = errorMessage(error);
|
|
571
584
|
// If Telegram rejected the message due to a MarkdownV2 parse error,
|
|
572
585
|
// retry as plain text using the original un-converted message.
|
|
573
|
-
const isParseError =
|
|
586
|
+
const isParseError = errMsg.includes("can't parse entities");
|
|
574
587
|
if (isParseError) {
|
|
575
588
|
try {
|
|
576
589
|
await telegram.sendMessage(TELEGRAM_CHAT_ID, rawMessage, undefined, currentThreadId);
|
|
577
590
|
sentAsPlainText = true;
|
|
578
591
|
}
|
|
579
592
|
catch (retryError) {
|
|
580
|
-
process.stderr.write(`Failed to send progress message via Telegram (plain fallback): ${retryError
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
return {
|
|
584
|
-
content: [
|
|
585
|
-
{
|
|
586
|
-
type: "text",
|
|
587
|
-
text: "Error: Failed to send progress update to Telegram even without formatting. " +
|
|
588
|
-
"Please check the Telegram configuration and try again.",
|
|
589
|
-
},
|
|
590
|
-
],
|
|
591
|
-
isError: true,
|
|
592
|
-
};
|
|
593
|
+
process.stderr.write(`Failed to send progress message via Telegram (plain fallback): ${errorMessage(retryError)}\n`);
|
|
594
|
+
return errorResult("Error: Failed to send progress update to Telegram even without formatting. " +
|
|
595
|
+
"Please check the Telegram configuration and try again.");
|
|
593
596
|
}
|
|
594
597
|
}
|
|
595
598
|
else {
|
|
596
|
-
process.stderr.write(`Failed to send progress message via Telegram: ${
|
|
597
|
-
return
|
|
598
|
-
|
|
599
|
-
{
|
|
600
|
-
type: "text",
|
|
601
|
-
text: "Error: Failed to send progress update to Telegram. " +
|
|
602
|
-
"Check the Telegram configuration and try again.",
|
|
603
|
-
},
|
|
604
|
-
],
|
|
605
|
-
isError: true,
|
|
606
|
-
};
|
|
599
|
+
process.stderr.write(`Failed to send progress message via Telegram: ${errMsg}\n`);
|
|
600
|
+
return errorResult("Error: Failed to send progress update to Telegram. " +
|
|
601
|
+
"Check the Telegram configuration and try again.");
|
|
607
602
|
}
|
|
608
603
|
}
|
|
609
604
|
// Peek at any messages the operator sent while the agent was working.
|
|
@@ -613,22 +608,22 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
613
608
|
try {
|
|
614
609
|
const pendingStored = peekThreadMessages(currentThreadId);
|
|
615
610
|
if (pendingStored.length > 0) {
|
|
616
|
-
for (const
|
|
617
|
-
if (
|
|
618
|
-
pendingMessages.push(
|
|
619
|
-
? `[Photo received] ${
|
|
611
|
+
for (const msg of pendingStored) {
|
|
612
|
+
if (msg.message.photo && msg.message.photo.length > 0) {
|
|
613
|
+
pendingMessages.push(msg.message.caption
|
|
614
|
+
? `[Photo received] ${msg.message.caption}`
|
|
620
615
|
: "[Photo received from operator]");
|
|
621
616
|
}
|
|
622
|
-
else if (
|
|
623
|
-
pendingMessages.push(
|
|
624
|
-
? `[Document: ${
|
|
625
|
-
: `[Document received: ${
|
|
617
|
+
else if (msg.message.document) {
|
|
618
|
+
pendingMessages.push(msg.message.caption
|
|
619
|
+
? `[Document: ${msg.message.document.file_name ?? "file"}] ${msg.message.caption}`
|
|
620
|
+
: `[Document received: ${msg.message.document.file_name ?? "file"}]`);
|
|
626
621
|
}
|
|
627
|
-
else if (
|
|
628
|
-
pendingMessages.push(`[Voice message — ${
|
|
622
|
+
else if (msg.message.voice) {
|
|
623
|
+
pendingMessages.push(`[Voice message — ${msg.message.voice.duration}s — will be transcribed on next wait]`);
|
|
629
624
|
}
|
|
630
|
-
else if (
|
|
631
|
-
pendingMessages.push(
|
|
625
|
+
else if (msg.message.text) {
|
|
626
|
+
pendingMessages.push(msg.message.text);
|
|
632
627
|
}
|
|
633
628
|
}
|
|
634
629
|
}
|
|
@@ -665,17 +660,13 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
665
660
|
const base64Data = typeof typedArgs.base64 === "string" ? typedArgs.base64 : "";
|
|
666
661
|
const caption = typeof typedArgs.caption === "string" ? typedArgs.caption : undefined;
|
|
667
662
|
if (!filePath && !base64Data) {
|
|
668
|
-
return
|
|
669
|
-
content: [{ type: "text", text: "Error: either 'filePath' or 'base64' argument is required for send_file." }],
|
|
670
|
-
isError: true,
|
|
671
|
-
};
|
|
663
|
+
return errorResult("Error: either 'filePath' or 'base64' argument is required for send_file.");
|
|
672
664
|
}
|
|
673
665
|
try {
|
|
674
666
|
let buffer;
|
|
675
667
|
let filename;
|
|
676
668
|
if (filePath) {
|
|
677
669
|
// Read directly from disk — fast, no LLM context overhead.
|
|
678
|
-
const { basename } = await import("path");
|
|
679
670
|
buffer = readFileSync(filePath);
|
|
680
671
|
filename = typeof typedArgs.filename === "string" && typedArgs.filename.trim()
|
|
681
672
|
? typedArgs.filename.trim()
|
|
@@ -688,8 +679,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
688
679
|
: "file";
|
|
689
680
|
}
|
|
690
681
|
const ext = filename.split(".").pop()?.toLowerCase() ?? "";
|
|
691
|
-
|
|
692
|
-
if (imageExts.has(ext)) {
|
|
682
|
+
if (IMAGE_EXTENSIONS.has(ext)) {
|
|
693
683
|
await telegram.sendPhoto(TELEGRAM_CHAT_ID, buffer, filename, caption, currentThreadId);
|
|
694
684
|
}
|
|
695
685
|
else {
|
|
@@ -705,47 +695,29 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
705
695
|
};
|
|
706
696
|
}
|
|
707
697
|
catch (err) {
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
return {
|
|
711
|
-
content: [
|
|
712
|
-
{
|
|
713
|
-
type: "text",
|
|
714
|
-
text: `Error: Failed to send file to Telegram: ${errorMsg}`,
|
|
715
|
-
},
|
|
716
|
-
],
|
|
717
|
-
isError: true,
|
|
718
|
-
};
|
|
698
|
+
process.stderr.write(`Failed to send file via Telegram: ${errorMessage(err)}\n`);
|
|
699
|
+
return errorResult(`Error: Failed to send file to Telegram: ${errorMessage(err)}`);
|
|
719
700
|
}
|
|
720
701
|
}
|
|
721
702
|
// ── send_voice ──────────────────────────────────────────────────────────
|
|
722
703
|
if (name === "send_voice") {
|
|
723
704
|
const typedArgs = (args ?? {});
|
|
724
705
|
const text = typeof typedArgs.text === "string" ? typedArgs.text.trim() : "";
|
|
725
|
-
const validVoices =
|
|
706
|
+
const validVoices = TTS_VOICES;
|
|
726
707
|
const voice = typeof typedArgs.voice === "string" && validVoices.includes(typedArgs.voice)
|
|
727
708
|
? typedArgs.voice
|
|
728
709
|
: "nova";
|
|
729
710
|
if (!text) {
|
|
730
|
-
return
|
|
731
|
-
content: [{ type: "text", text: "Error: 'text' argument is required for send_voice." }],
|
|
732
|
-
isError: true,
|
|
733
|
-
};
|
|
711
|
+
return errorResult("Error: 'text' argument is required for send_voice.");
|
|
734
712
|
}
|
|
735
713
|
if (!OPENAI_API_KEY) {
|
|
736
|
-
return
|
|
737
|
-
content: [{ type: "text", text: "Error: OPENAI_API_KEY is not set. Cannot generate voice." }],
|
|
738
|
-
isError: true,
|
|
739
|
-
};
|
|
714
|
+
return errorResult("Error: OPENAI_API_KEY is not set. Cannot generate voice.");
|
|
740
715
|
}
|
|
741
|
-
if (text.length >
|
|
742
|
-
return {
|
|
743
|
-
content: [{ type: "text", text: `Error: text is ${text.length} characters — exceeds OpenAI TTS limit of 4096.` }],
|
|
744
|
-
isError: true,
|
|
745
|
-
};
|
|
716
|
+
if (text.length > OPENAI_TTS_MAX_CHARS) {
|
|
717
|
+
return errorResult(`Error: text is ${text.length} characters — exceeds OpenAI TTS limit of ${OPENAI_TTS_MAX_CHARS}.`);
|
|
746
718
|
}
|
|
747
719
|
try {
|
|
748
|
-
const audioBuffer = await
|
|
720
|
+
const audioBuffer = await textToSpeech(text, OPENAI_API_KEY, voice);
|
|
749
721
|
await telegram.sendVoice(TELEGRAM_CHAT_ID, audioBuffer, currentThreadId);
|
|
750
722
|
return {
|
|
751
723
|
content: [
|
|
@@ -757,29 +729,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
757
729
|
};
|
|
758
730
|
}
|
|
759
731
|
catch (err) {
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
return {
|
|
763
|
-
content: [
|
|
764
|
-
{
|
|
765
|
-
type: "text",
|
|
766
|
-
text: `Error: Failed to send voice message: ${errorMsg}`,
|
|
767
|
-
},
|
|
768
|
-
],
|
|
769
|
-
isError: true,
|
|
770
|
-
};
|
|
732
|
+
process.stderr.write(`Failed to send voice via Telegram: ${errorMessage(err)}\n`);
|
|
733
|
+
return errorResult(`Error: Failed to send voice message: ${errorMessage(err)}`);
|
|
771
734
|
}
|
|
772
735
|
}
|
|
773
736
|
// Unknown tool
|
|
774
|
-
return {
|
|
775
|
-
content: [
|
|
776
|
-
{
|
|
777
|
-
type: "text",
|
|
778
|
-
text: `Unknown tool: ${name}`,
|
|
779
|
-
},
|
|
780
|
-
],
|
|
781
|
-
isError: true,
|
|
782
|
-
};
|
|
737
|
+
return errorResult(`Unknown tool: ${name}`);
|
|
783
738
|
});
|
|
784
739
|
// ---------------------------------------------------------------------------
|
|
785
740
|
// Start the server
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE/F,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAE5D,CAAC;AACF,MAAM,mBAAmB,GAAG,UAAU,CAAC,sBAAsB,CAGlD,CAAC;AAEZ;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,MAAM,GAA0C,EAAE,CAAC;IACzD,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;IAEjE,+CAA+C;IAC/C,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,CACjC,mCAAmC,EACnC,CAAC,MAAM,EAAE,IAAY,EAAE,IAAY,EAAE,EAAE;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,CACF,CAAC;IAEF,uEAAuE;IACvE,yEAAyE;IACzE,mBAAmB;IACnB,YAAY,GAAG,YAAY,CAAC,OAAO,CACjC,2BAA2B,EAC3B,CAAC,MAAM,EAAE,QAAgB,EAAE,IAAY,EAAE,EAAE;QACzC,MAAM,SAAS,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3C,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAC/C,CAAC,CACF,CAAC;IAEF,gEAAgE;IAChE,yDAAyD;IACzD,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAE5D,iDAAiD;IACjD,IAAI,SAAS,GAAG,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAE5D,iDAAiD;IACjD,gEAAgE;IAChE,SAAS,GAAG,SAAS,CAAC,OAAO,CAC3B,+BAA+B,EAC/B,CAAC,EAAE,EAAE,GAAW,EAAE,EAAE;QAClB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,SAAS,IAAI,KAAK,OAAO,UAAU,CAAC;IAC7C,CAAC,CACF,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AACxD,MAAM,qBAAqB,GAAG,QAAQ,CACpC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,EACtC,EAAE,CACH,CAAC;AACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,CAAC,EACD,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CACrE,CAAC;AAEF,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kFAAkF,CACnF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,CAAC,cAAc,EAAE,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6EAA6E,CAC9E,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC;AAEpD,8EAA8E;AAC9E,0EAA0E;AAC1E,sEAAsE;AACtE,2DAA2D;AAC3D,8EAA8E;AAE9E,MAAM,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AAElD,wEAAwE;AACxE,gFAAgF;AAChF,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,IAAI,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAElC,8EAA8E;AAC9E,0EAA0E;AAC1E,iEAAiE;AACjE,4DAA4D;AAC5D,8EAA8E;AAE9E,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,mCAAmC,CAAC,CAAC;AAIhF,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAe;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,kBAAkB,GAAG,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC;QACvD,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,UAAU,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC,iBAAiB;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0CAA0C,kBAAkB,KAAK,YAAY,CAAC,GAAG,CACjF,IAAI,CACL,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,QAAgB;IACpE,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACnC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC;IAC3C,cAAc,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACvC,cAAc,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,0EAA0E;AAC1E,uDAAuD;AACvD,IAAI,eAAmC,CAAC;AAExC,0DAA0D;AAC1D,6EAA6E;AAC7E,kCAAkC;AAClC,IAAI,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACrC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAE5D,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,EAAE,EACpD,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE;QACL;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,4CAA4C;gBAC5C,wEAAwE;gBACxE,sFAAsF;gBACtF,qEAAqE;gBACrE,0EAA0E;gBAC1E,4EAA4E;gBAC5E,iCAAiC;gBACjC,6EAA6E;gBAC7E,sEAAsE;YACxE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,4FAA4F;4BAC5F,6CAA6C;qBAChD;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,2EAA2E;4BAC3E,wFAAwF;qBAC3F;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb;SACF;QACD;YACE,IAAI,EAAE,sCAAsC;YAC5C,WAAW,EACT,qEAAqE;gBACrE,yEAAyE;gBACzE,0EAA0E;gBAC1E,yDAAyD;YAC3D,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;aACb;SACF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACT,yEAAyE;gBACzE,2FAA2F;gBAC3F,uEAAuE;YACzE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,gFAAgF;qBACnF;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,gEAAgE;gBAChE,uFAAuF;gBACvF,+CAA+C;gBAC/C,6EAA6E;YAC/E,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,8EAA8E;4BAC9E,2EAA2E;qBAC9E;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kFAAkF;qBAChG;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,0EAA0E;4BAC1E,mFAAmF;qBACtF;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,qDAAqD;gBACrD,yFAAyF;gBACzF,oCAAoC;YACtC,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,8BAA8B,oBAAoB,iCAAiC;qBACtF;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,0DAA0D;4BAC1D,2DAA2D;4BAC3D,uEAAuE;4BACvE,8CAA8C;wBAChD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;qBAC5D;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,+EAA+E;AAE/E;;;;;GAKG;AACH,SAAS,YAAY,CAAC,QAAiB;IACrC,MAAM,UAAU,GAAG,QAAQ,KAAK,SAAS;QACvC,CAAC,CAAC,oCAAoC,QAAQ,uEAAuE,QAAQ,wBAAwB;QACrJ,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CACL,kBAAkB;QAClB,+EAA+E;QAC/E,2IAA2I;QAC3I,2EAA2E;QAC3E,UAAU,CACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,6EAA6E;IAC7E,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;QAC1D,MAAM,gBAAgB,GAAG,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ;YAC7D,CAAC,CAAC,SAAS,CAAC,QAAkB;YAC9B,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;YAC5E,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;YACvB,CAAC,CAAC,SAAS,CAAC;QAEd,+BAA+B;QAC/B,yCAAyC;QACzC,oEAAoE;QACpE,mCAAmC;QACnC,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAEhC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,eAAe,GAAG,gBAAgB,CAAC;YACnC,4DAA4D;YAC5D,IAAI,UAAU;gBAAE,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC/E,mBAAmB,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAC3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,eAAe,GAAG,MAAM,CAAC;gBACzB,mBAAmB,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,sEAAsE;YACtE,wEAAwE;YACxE,sBAAsB;YACtB,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,eAAe,CAAC,oDAAoD,CAAC,CAAC;gBAClF,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjC,8DAA8D;gBAC9D,iEAAiE;gBACjE,MAAM,YAAY,GAAG,qDAAqD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxF,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iCAAiC,eAAe,aAAa,MAAM,0BAA0B,CAC9F,CAAC;oBACF,0BAA0B;oBAC1B,IAAI,UAAU;wBAAE,aAAa,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;oBAC5D,mBAAmB,GAAG,KAAK,CAAC;oBAC5B,eAAe,GAAG,SAAS,CAAC;gBAC9B,CAAC;gBACD,+DAA+D;YACjE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,+CAA+C;YAC/C,MAAM,SAAS,GAAG,UAAU;gBAC1B,aAAa,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE;oBAC9C,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;oBAC/C,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;iBAClD,CAAC,EAAE,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;gBAC3E,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC;gBAC1C,0DAA0D;gBAC1D,cAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gFAAgF;gBAChF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0CAA0C,YAAY,CAAC,GAAG,CAAC,IAAI;oBAC/D,oDAAoD,CACrD,CAAC;gBACF,eAAe,GAAG,SAAS,CAAC;YAC9B,CAAC;YACD,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,eAAe,CAC9B,+BAA+B;oBAC/B,gDAAgD;oBAChD,oDAAoD;oBACpD,2CAA2C,CAC5C,CAAC;gBACF,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;YACxF,CAAC;YAAC,MAAM,CAAC;gBACP,aAAa;YACf,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,KAAK,SAAS;YAC9C,CAAC,CAAC,eAAe,eAAe,uEAAuE;YACvG,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,WAAW,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,UAAU,EAAE;wBACtE,2DAA2D;wBAC3D,YAAY,CAAC,eAAe,CAAC;iBAChC;aACF;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,KAAK,sCAAsC,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,EAAE,aAAa,CAAC;QAAC,MAAM,SAAS,GAAG,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;QACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAExC,sEAAsE;QACtE,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC;QAE9B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAEnD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAGtB,MAAM,aAAa,GAAkC,EAAE,CAAC;gBACxD,IAAI,gBAAgB,GAAG,KAAK,CAAC;gBAE7B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,yDAAyD;oBACzD,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAChE,IAAI,CAAC;4BACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAC9D,OAAO,CAAC,OAAO,CAChB,CAAC;4BACF,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAC9D,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCACxB,aAAa,CAAC,IAAI,CAAC;oCACjB,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,oBAAoB,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;iCAChD,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,aAAa,CAAC,IAAI,CAAC;gCACjB,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,gDAAgD,YAAY,CAAC,GAAG,CAAC,GAAG;6BAC3E,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBACD,2CAA2C;oBAC3C,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACzB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACjC,IAAI,CAAC;4BACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAC9D,GAAG,CAAC,OAAO,CACZ,CAAC;4BACF,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;4BAC9C,IAAI,OAAO,EAAE,CAAC;gCACZ,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAChE,CAAC;iCAAM,CAAC;gCACN,yDAAyD;gCACzD,aAAa,CAAC,IAAI,CAAC;oCACjB,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,cAAc,GAAG,CAAC,SAAS,IAAI,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,QAAQ,uBAAuB,MAAM,EAAE;iCACzG,CAAC,CAAC;4BACL,CAAC;4BACD,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCACxB,aAAa,CAAC,IAAI,CAAC;oCACjB,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,uBAAuB,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;iCACnD,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,aAAa,CAAC,IAAI,CAAC;gCACjB,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,cAAc,GAAG,CAAC,SAAS,IAAI,MAAM,2CAA2C,YAAY,CAAC,GAAG,CAAC,GAAG;6BAC3G,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBACD,iBAAiB;oBACjB,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACrB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/D,CAAC;oBACD,mDAAmD;oBACnD,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBACtB,gBAAgB,GAAG,IAAI,CAAC;wBACxB,IAAI,cAAc,EAAE,CAAC;4BACnB,IAAI,CAAC;gCACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CACpD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAC1B,CAAC;gCACF,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gCACjE,aAAa,CAAC,IAAI,CAAC;oCACjB,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,UAAU;wCACd,CAAC,CAAC,oBAAoB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,oBAAoB,UAAU,EAAE;wCAChF,CAAC,CAAC,oBAAoB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,+CAA+C;iCAClG,CAAC,CAAC;4BACL,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,aAAa,CAAC,IAAI,CAAC;oCACjB,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,oBAAoB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,6BAA6B,YAAY,CAAC,GAAG,CAAC,GAAG;iCACtG,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,aAAa,CAAC,IAAI,CAAC;gCACjB,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,6BAA6B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,gDAAgD;6BAC9G,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,wDAAwD;oBACxD,4DAA4D;oBAC5D,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;oBAChE,SAAS;gBACX,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,8FAA8F;yBACrG;wBACD,GAAG,aAAa;wBAChB,GAAG,CAAC,gBAAgB;4BAClB,CAAC,CAAC,CAAC;oCACD,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,oJAAoJ;iCAC3J,CAAC;4BACF,CAAC,CAAC,EAAE,CAAC;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE;qBACtD;iBACF,CAAC;YACJ,CAAC;YAED,mDAAmD;YACnD,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,8CAA8C;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,yEAAyE;QACzE,0DAA0D;QAC1D,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB,IAAI,sBAAsB,EAAE,CAAC;YAC/D,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,eAAe,CAC1B,0BAA0B,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE;oBAC3D,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;iBAClF,CAAC,EAAE;oBACJ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtE,CAAC;gBACF,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;gBAClF,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,aAAa;YACf,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,UAAU,UAAU,iBAAiB,GAAG,cAAc,oBAAoB,sBAAsB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,GAAG,KAAK,CAAC,IAAI;wBACvJ,CAAC,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/C,iCAAiC;wBACjC,4FAA4F;wBAC5F,sDAAsD;wBACtD,uCAAuC;wBACvC,YAAY,CAAC,eAAe,CAAC;iBAChC;aACF;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC/B,MAAM,UAAU,GACd,OAAQ,IAAgC,EAAE,OAAO,KAAK,QAAQ;YAC5D,CAAC,CAAG,IAAgC,CAAC,OAAkB;YACvD,CAAC,CAAC,EAAE,CAAC;QAET,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC,4DAA4D,CAAC,CAAC;QACnF,CAAC;QAED,oDAAoD;QACpD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;YACvD,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;QAED,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACnC,oEAAoE;YACpE,+DAA+D;YAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YAC7D,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;oBACrF,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kEAAkE,YAAY,CAAC,UAAU,CAAC,IAAI,CAC/F,CAAC;oBACF,OAAO,WAAW,CAChB,6EAA6E;wBAC7E,wDAAwD,CACzD,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iDAAiD,MAAM,IAAI,CAC5D,CAAC;gBACF,OAAO,WAAW,CAChB,qDAAqD;oBACrD,iDAAiD,CAClD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,kEAAkE;QAClE,0DAA0D;QAC1D,IAAI,eAAe,GAAa,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;oBAChC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtD,eAAe,CAAC,IAAI,CAClB,GAAG,CAAC,OAAO,CAAC,OAAO;4BACjB,CAAC,CAAC,oBAAoB,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;4BAC3C,CAAC,CAAC,gCAAgC,CACrC,CAAC;oBACJ,CAAC;yBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAChC,eAAe,CAAC,IAAI,CAClB,GAAG,CAAC,OAAO,CAAC,OAAO;4BACjB,CAAC,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;4BAClF,CAAC,CAAC,uBAAuB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,GAAG,CACvE,CAAC;oBACJ,CAAC;yBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBAC7B,eAAe,CAAC,IAAI,CAClB,oBAAoB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,uCAAuC,CACtF,CAAC;oBACJ,CAAC;yBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAC5B,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,6CAA6C;QAC/C,CAAC;QAED,MAAM,UAAU,GACd,CAAC,eAAe;YACd,CAAC,CAAC,mFAAmF;YACrF,CAAC,CAAC,iCAAiC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;QAEzE,MAAM,YAAY,GAChB,eAAe,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,GAAG,UAAU,MAAM;gBACrB,mEAAmE;gBACnE,kDAAkD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;gBAClF,eAAe;gBACf,wDAAwD;gBACxD,4CAA4C;gBAC5C,wBAAwB;YACxB,CAAC,CAAC,UAAU,CAAC;QAEjB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY;iBACnB;aACF;SACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtF,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO,WAAW,CAAC,0EAA0E,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,CAAC;YACH,IAAI,MAAc,CAAC;YACnB,IAAI,QAAgB,CAAC;YAErB,IAAI,QAAQ,EAAE,CAAC;gBACb,2DAA2D;gBAC3D,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAChC,QAAQ,GAAG,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC5E,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC3B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC3C,QAAQ,GAAG,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC5E,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC3B,CAAC,CAAC,MAAM,CAAC;YACb,CAAC;YAED,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAE3D,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;YAC5F,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS,QAAQ,kCAAkC,GAAG,YAAY,CAAC,eAAe,CAAC;qBAC1F;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjF,OAAO,WAAW,CAAC,2CAA2C,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;QAC1D,MAAM,IAAI,GAAG,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,WAAW,GAAG,UAAU,CAAC;QAC/B,MAAM,KAAK,GAAa,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAK,WAAiC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;YACzH,CAAC,CAAC,SAAS,CAAC,KAAiB;YAC7B,CAAC,CAAC,MAAM,CAAC;QAEX,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,WAAW,CAAC,oDAAoD,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,WAAW,CAAC,0DAA0D,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACvC,OAAO,WAAW,CAAC,kBAAkB,IAAI,CAAC,MAAM,6CAA6C,oBAAoB,GAAG,CAAC,CAAC;QACxH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YACpE,MAAM,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;YACzE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8CAA8C,GAAG,YAAY,CAAC,eAAe,CAAC;qBACrF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClF,OAAO,WAAW,CAAC,wCAAwC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,eAAe;IACf,OAAO,WAAW,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC"}
|
package/dist/openai.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI API client for voice services (TTS + Whisper transcription).
|
|
3
|
+
*
|
|
4
|
+
* Separated from telegram.ts to maintain single responsibility:
|
|
5
|
+
* TelegramClient handles Telegram API, this module handles OpenAI API.
|
|
6
|
+
*/
|
|
7
|
+
/** Valid TTS voice names. */
|
|
8
|
+
export declare const TTS_VOICES: readonly ["alloy", "echo", "fable", "onyx", "nova", "shimmer"];
|
|
9
|
+
export type TTSVoice = typeof TTS_VOICES[number];
|
|
10
|
+
/**
|
|
11
|
+
* Convert text to speech using OpenAI TTS API.
|
|
12
|
+
* Returns OGG Opus audio suitable for Telegram's sendVoice.
|
|
13
|
+
*/
|
|
14
|
+
export declare function textToSpeech(text: string, apiKey: string, voice?: TTSVoice): Promise<Buffer>;
|
|
15
|
+
/**
|
|
16
|
+
* Transcribe an audio buffer using OpenAI Whisper API.
|
|
17
|
+
* @param audioBuffer Raw audio content (OGG Opus from Telegram voice messages).
|
|
18
|
+
* @param apiKey OpenAI API key.
|
|
19
|
+
* @returns The transcribed text (empty string if no speech detected).
|
|
20
|
+
*/
|
|
21
|
+
export declare function transcribeAudio(audioBuffer: Buffer, apiKey: string): Promise<string>;
|
|
22
|
+
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6BAA6B;AAC7B,eAAO,MAAM,UAAU,gEAEb,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAEjD;;;GAGG;AACH,wBAAsB,YAAY,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,QAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CA6BjB"}
|