@0xmaxma/claude-gateway 1.7.3 → 1.7.5
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/config.template.json +6 -2
- package/dist/agent/runner.d.ts +1 -0
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +11 -5
- package/dist/agent/runner.js.map +1 -1
- package/dist/api/router.js +1 -1
- package/dist/api/router.js.map +1 -1
- package/dist/config/migrator.d.ts +1 -1
- package/dist/config/migrator.d.ts.map +1 -1
- package/dist/config/migrator.js +23 -1
- package/dist/config/migrator.js.map +1 -1
- package/dist/session/compactor.d.ts.map +1 -1
- package/dist/session/compactor.js +7 -7
- package/dist/session/compactor.js.map +1 -1
- package/dist/telegram/markdown.d.ts +2 -0
- package/dist/telegram/markdown.d.ts.map +1 -1
- package/dist/telegram/markdown.js +5 -0
- package/dist/telegram/markdown.js.map +1 -1
- package/mcp/instructions.ts +2 -0
- package/mcp/tools/telegram/lib/markdown.ts +5 -0
- package/mcp/tools/telegram/module.ts +23 -28
- package/mcp/tools/telegram/pure.ts +5 -0
- package/mcp/tools/telegram/receiver-server.ts +38 -36
- package/mcp/tools/telegram/typing.ts +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/config/migrator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/config/migrator.ts"],"names":[],"mappings":"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"}
|
package/dist/config/migrator.js
CHANGED
|
@@ -528,10 +528,16 @@ function migrateConfig(configPath, templatePath, templateVersion) {
|
|
|
528
528
|
}
|
|
529
529
|
return applyMigration(configPath, detection.config, detection.template, templateVersion, ignorePaths, removePaths);
|
|
530
530
|
}
|
|
531
|
+
const LEGACY_MODEL_ID_RENAMES = {
|
|
532
|
+
'gpt-5.6-sol': 'gpt-5.6-sol[1m]',
|
|
533
|
+
'gpt-5.6-terra': 'gpt-5.6-terra[1m]',
|
|
534
|
+
'gpt-5.6-luna': 'gpt-5.6-luna[1m]',
|
|
535
|
+
'gpt-5.5': 'gpt-5.5[1m]',
|
|
536
|
+
};
|
|
531
537
|
/**
|
|
532
538
|
* Merge models from template into user config by ID.
|
|
533
539
|
* Adds new models, updates alias/label/contextWindow of existing ones.
|
|
534
|
-
*
|
|
540
|
+
* Renames retired built-in IDs and preserves unrelated user models.
|
|
535
541
|
*/
|
|
536
542
|
function migrateModels(config, template, added) {
|
|
537
543
|
const gw = config.gateway;
|
|
@@ -542,6 +548,11 @@ function migrateModels(config, template, added) {
|
|
|
542
548
|
if (!templateModels || templateModels.length === 0)
|
|
543
549
|
return;
|
|
544
550
|
const userModels = (gw.models ?? []);
|
|
551
|
+
for (const model of userModels) {
|
|
552
|
+
const renamedId = LEGACY_MODEL_ID_RENAMES[String(model.id)];
|
|
553
|
+
if (renamedId)
|
|
554
|
+
model.id = renamedId;
|
|
555
|
+
}
|
|
545
556
|
const userMap = new Map(userModels.map((m) => [m.id, m]));
|
|
546
557
|
const merged = [];
|
|
547
558
|
for (const tm of templateModels) {
|
|
@@ -563,5 +574,16 @@ function migrateModels(config, template, added) {
|
|
|
563
574
|
}
|
|
564
575
|
}
|
|
565
576
|
gw.models = merged;
|
|
577
|
+
if (Array.isArray(config.agents)) {
|
|
578
|
+
for (const agent of config.agents) {
|
|
579
|
+
const claude = agent.claude;
|
|
580
|
+
if (!claude || typeof claude !== 'object' || Array.isArray(claude))
|
|
581
|
+
continue;
|
|
582
|
+
const model = claude.model;
|
|
583
|
+
const renamedId = LEGACY_MODEL_ID_RENAMES[String(model)];
|
|
584
|
+
if (renamedId)
|
|
585
|
+
claude.model = renamedId;
|
|
586
|
+
}
|
|
587
|
+
}
|
|
566
588
|
}
|
|
567
589
|
//# sourceMappingURL=migrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../src/config/migrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../src/config/migrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor.d.ts","sourceRoot":"","sources":["../../src/session/compactor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,KAAK,EAAE,MAAM;CAI1B;AAqBD,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEjD,OAAO,CACX,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,KAAkB,GAC5D,OAAO,CAAC,gBAAgB,CAAC;YA2Cd,qBAAqB;
|
|
1
|
+
{"version":3,"file":"compactor.d.ts","sourceRoot":"","sources":["../../src/session/compactor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,KAAK,EAAE,MAAM;CAI1B;AAqBD,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEjD,OAAO,CACX,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,KAAkB,GAC5D,OAAO,CAAC,gBAAgB,CAAC;YA2Cd,qBAAqB;IA4BnC,OAAO,CAAC,eAAe;YAkBT,oBAAoB;CAiCnC"}
|
|
@@ -83,7 +83,7 @@ class SessionCompactor {
|
|
|
83
83
|
const historyText = toSummarize
|
|
84
84
|
.map(m => `${m.role === 'user' ? 'User' : 'Assistant'}: ${m.content}`)
|
|
85
85
|
.join('\n\n');
|
|
86
|
-
const summaryText = await this.summarizeWithChunking(historyText);
|
|
86
|
+
const summaryText = await this.summarizeWithChunking(historyText, model);
|
|
87
87
|
const compacted = [
|
|
88
88
|
{ role: 'system', content: `[Conversation Summary]\n${summaryText}`, ts: Date.now() },
|
|
89
89
|
...tail,
|
|
@@ -97,21 +97,21 @@ class SessionCompactor {
|
|
|
97
97
|
const contextPctAfter = Math.round((afterTokens / contextWindow) * 100);
|
|
98
98
|
return { beforeMessages, afterMessages, beforeTokens, afterTokens, reductionPct, contextPctBefore, contextPctAfter };
|
|
99
99
|
}
|
|
100
|
-
async summarizeWithChunking(historyText) {
|
|
100
|
+
async summarizeWithChunking(historyText, model) {
|
|
101
101
|
// If small enough, summarize directly
|
|
102
102
|
if (historyText.length <= CHUNK_CHARS) {
|
|
103
|
-
return this.callClaudeForSummary(historyText);
|
|
103
|
+
return this.callClaudeForSummary(historyText, model);
|
|
104
104
|
}
|
|
105
105
|
// Split into chunks and summarize each
|
|
106
106
|
const chunks = this.splitIntoChunks(historyText, CHUNK_CHARS);
|
|
107
107
|
const chunkSummaries = [];
|
|
108
108
|
for (let i = 0; i < chunks.length; i++) {
|
|
109
|
-
const summary = await this.callClaudeForSummary(chunks[i], `This is part ${i + 1} of ${chunks.length} of a longer conversation. Summarize this segment concisely.`);
|
|
109
|
+
const summary = await this.callClaudeForSummary(chunks[i], model, `This is part ${i + 1} of ${chunks.length} of a longer conversation. Summarize this segment concisely.`);
|
|
110
110
|
chunkSummaries.push(`[Part ${i + 1}/${chunks.length}]\n${summary}`);
|
|
111
111
|
}
|
|
112
112
|
// Merge chunk summaries into final summary
|
|
113
113
|
const mergedText = chunkSummaries.join('\n\n');
|
|
114
|
-
return this.callClaudeForSummary(mergedText, MERGE_SUMMARIES_PROMPT);
|
|
114
|
+
return this.callClaudeForSummary(mergedText, model, MERGE_SUMMARIES_PROMPT);
|
|
115
115
|
}
|
|
116
116
|
splitIntoChunks(text, maxChars) {
|
|
117
117
|
const chunks = [];
|
|
@@ -129,7 +129,7 @@ class SessionCompactor {
|
|
|
129
129
|
}
|
|
130
130
|
return chunks;
|
|
131
131
|
}
|
|
132
|
-
async callClaudeForSummary(text, instruction = SINGLE_SUMMARY_INSTRUCTION) {
|
|
132
|
+
async callClaudeForSummary(text, model, instruction = SINGLE_SUMMARY_INSTRUCTION) {
|
|
133
133
|
// Wrap content in XML tags so claude treats it as data to analyze, not an active conversation
|
|
134
134
|
const prompt = `${COMPACTOR_SYSTEM_PROMPT}\n\n${instruction}\n\n<transcript>\n${text}\n</transcript>\n\nWrite a concise summary of the above transcript now:`;
|
|
135
135
|
// Resolve claude the same way the session subprocess does: honor CLAUDE_BIN
|
|
@@ -139,7 +139,7 @@ class SessionCompactor {
|
|
|
139
139
|
// spawn after the native-installer migration.
|
|
140
140
|
const claudeBinRaw = process.env.CLAUDE_BIN ?? (0, claude_bin_1.resolveClaudeBin)().bin;
|
|
141
141
|
const [claudeBin, ...claudeBinArgs] = claudeBinRaw.split(' ');
|
|
142
|
-
const result = (0, child_process_1.spawnSync)(claudeBin, [...claudeBinArgs, '--print'], {
|
|
142
|
+
const result = (0, child_process_1.spawnSync)(claudeBin, [...claudeBinArgs, '--print', '--model', model], {
|
|
143
143
|
input: prompt,
|
|
144
144
|
encoding: 'utf-8',
|
|
145
145
|
timeout: 300000,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/session/compactor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,iDAA0C;AAG1C,6CAAmE;AAYnE,MAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,KAAa;QACvB,KAAK,CAAC,mCAAmC,KAAK,gCAAgC,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AALD,wDAKC;AAED,kGAAkG;AAClG,MAAM,WAAW,GAAG,MAAO,CAAC;AAC5B,4EAA4E;AAC5E,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,yDAAyD;AACzD,MAAM,sBAAsB,GAC1B,mKAAmK,CAAC;AACtK,qEAAqE;AACrE,MAAM,0BAA0B,GAC9B,4JAA4J,CAAC;AAC/J,iEAAiE;AACjE,MAAM,uBAAuB,GAC3B,0MAA0M,CAAC;AAE7M,2CAA2C;AAC3C,SAAS,cAAc,CAAC,QAAmB;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAa,gBAAgB;IAC3B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAE3D,KAAK,CAAC,OAAO,CACX,OAAe,EACf,MAAc,EACd,SAAiB,EACjB,KAAa,EACb,aAAqB,EACrB,UAAmD,UAAU;QAE7D,uBAAuB;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAElG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9C,qCAAqC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC;QACzF,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,gBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzF,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAE1E,kFAAkF;QAClF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7G,MAAM,WAAW,GAAG,WAAW;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aACrE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/session/compactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Markdown detection and conversion utilities for Telegram HTML mode.
|
|
3
3
|
* Used by AgentRunner to auto-format agent output before forwarding.
|
|
4
4
|
*/
|
|
5
|
+
/** Telegram does not support HTML <br> tags; normalize raw and escaped variants to line breaks. */
|
|
6
|
+
export declare function normalizeTelegramLineBreaks(text: string): string;
|
|
5
7
|
/**
|
|
6
8
|
* Detects whether text contains markdown formatting patterns
|
|
7
9
|
* that warrant HTML rendering in Telegram.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/telegram/markdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAuFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsInD"}
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/telegram/markdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mGAAmG;AACnG,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAuFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsInD"}
|
|
@@ -4,8 +4,13 @@
|
|
|
4
4
|
* Used by AgentRunner to auto-format agent output before forwarding.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.normalizeTelegramLineBreaks = normalizeTelegramLineBreaks;
|
|
7
8
|
exports.hasMarkdown = hasMarkdown;
|
|
8
9
|
exports.toTelegramHtml = toTelegramHtml;
|
|
10
|
+
/** Telegram does not support HTML <br> tags; normalize raw and escaped variants to line breaks. */
|
|
11
|
+
function normalizeTelegramLineBreaks(text) {
|
|
12
|
+
return text.replace(/(?:<|<)br\s*\/?(?:>|>)/gi, '\n');
|
|
13
|
+
}
|
|
9
14
|
/**
|
|
10
15
|
* Detects whether text contains markdown formatting patterns
|
|
11
16
|
* that warrant HTML rendering in Telegram.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/telegram/markdown.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/telegram/markdown.ts"],"names":[],"mappings":"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"}
|
package/mcp/instructions.ts
CHANGED
|
@@ -25,6 +25,8 @@ export function buildChannelInstructions(imageEnabled: boolean): string {
|
|
|
25
25
|
'',
|
|
26
26
|
'Messages from Telegram arrive as <channel source="telegram" chat_id="..." message_id="..." user="..." ts="...">. If the tag has an image_path attribute, Read that file — it is a photo the sender attached. If the tag has attachment_file_id, call download_attachment with that file_id to fetch the file, then Read the returned path. Reply with the reply tool — pass chat_id back. Use reply_to (set to a message_id) only when replying to an earlier message; the latest message doesn\'t need a quote-reply, omit reply_to for normal responses.',
|
|
27
27
|
'',
|
|
28
|
+
'Use the current channel\'s reply tool only when you have a user-facing answer. Do not put tool-by-tool progress narration in final text output: use that channel\'s edit-message tool for interim status, then send one concise final reply so automatic forwarding cannot expose an internal worklog.',
|
|
29
|
+
'',
|
|
28
30
|
'reply accepts file paths (files: ["/abs/path.png"]) for attachments. Use react to add emoji reactions, and edit_message for interim progress updates. Edits don\'t trigger push notifications — when a long task completes, send a new reply so the user\'s device pings.',
|
|
29
31
|
'',
|
|
30
32
|
"Telegram's Bot API exposes no history or search — you only see messages as they arrive. If you need earlier context, ask the user to paste it or summarize.",
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
* Used by AgentRunner to auto-format agent output before forwarding.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
/** Telegram does not support HTML <br> tags; normalize raw and escaped variants to line breaks. */
|
|
7
|
+
export function normalizeTelegramLineBreaks(text: string): string {
|
|
8
|
+
return text.replace(/(?:<|<)br\s*\/?(?:>|>)/gi, '\n')
|
|
9
|
+
}
|
|
10
|
+
|
|
6
11
|
/**
|
|
7
12
|
* Detects whether text contains markdown formatting patterns
|
|
8
13
|
* that warrant HTML rendering in Telegram.
|
|
@@ -7,6 +7,7 @@ import * as path from 'path';
|
|
|
7
7
|
import * as fs from 'fs';
|
|
8
8
|
import * as os from 'os';
|
|
9
9
|
import { migrateAccess, defaultAccess } from './pure';
|
|
10
|
+
import { chunkText, htmlToPlain } from './typing';
|
|
10
11
|
import type {
|
|
11
12
|
ChannelModule,
|
|
12
13
|
ChannelCapabilities,
|
|
@@ -47,6 +48,7 @@ export class TelegramModule implements ChannelModule {
|
|
|
47
48
|
private lastError?: string;
|
|
48
49
|
private _hasMarkdown?: (text: string) => boolean;
|
|
49
50
|
private _toTelegramHtml?: (text: string) => string;
|
|
51
|
+
private _normalizeTelegramLineBreaks?: (text: string) => string;
|
|
50
52
|
private _InputFile?: any;
|
|
51
53
|
private _typingManager?: any;
|
|
52
54
|
|
|
@@ -97,7 +99,7 @@ export class TelegramModule implements ChannelModule {
|
|
|
97
99
|
format: {
|
|
98
100
|
type: 'string',
|
|
99
101
|
enum: ['text', 'html'],
|
|
100
|
-
description: "Rendering mode. 'html'
|
|
102
|
+
description: "Rendering mode. 'html' accepts pre-rendered Telegram HTML. Raw Markdown is detected and converted automatically. Default: auto-detect Markdown or send plain text.",
|
|
101
103
|
},
|
|
102
104
|
},
|
|
103
105
|
required: ['chat_id', 'text'],
|
|
@@ -139,7 +141,7 @@ export class TelegramModule implements ChannelModule {
|
|
|
139
141
|
format: {
|
|
140
142
|
type: 'string',
|
|
141
143
|
enum: ['text', 'html'],
|
|
142
|
-
description: "Rendering mode. 'html'
|
|
144
|
+
description: "Rendering mode. 'html' accepts pre-rendered Telegram HTML. Raw Markdown is detected and converted automatically. Default: auto-detect Markdown or send plain text.",
|
|
143
145
|
},
|
|
144
146
|
},
|
|
145
147
|
required: ['chat_id', 'message_id', 'text'],
|
|
@@ -188,7 +190,7 @@ export class TelegramModule implements ChannelModule {
|
|
|
188
190
|
});
|
|
189
191
|
|
|
190
192
|
// Import pure functions and typing manager
|
|
191
|
-
const { hasMarkdown, toTelegramHtml } = await import('./pure');
|
|
193
|
+
const { hasMarkdown, toTelegramHtml, normalizeTelegramLineBreaks } = await import('./pure');
|
|
192
194
|
const { createWorkingStateManager } = await import('./typing');
|
|
193
195
|
|
|
194
196
|
const typingManager = createWorkingStateManager(
|
|
@@ -208,6 +210,7 @@ export class TelegramModule implements ChannelModule {
|
|
|
208
210
|
|
|
209
211
|
this._hasMarkdown = hasMarkdown;
|
|
210
212
|
this._toTelegramHtml = toTelegramHtml;
|
|
213
|
+
this._normalizeTelegramLineBreaks = normalizeTelegramLineBreaks;
|
|
211
214
|
this._InputFile = InputFile;
|
|
212
215
|
this._typingManager = typingManager;
|
|
213
216
|
|
|
@@ -285,28 +288,13 @@ export class TelegramModule implements ChannelModule {
|
|
|
285
288
|
}
|
|
286
289
|
}
|
|
287
290
|
|
|
288
|
-
private
|
|
289
|
-
|
|
290
|
-
const out: string[] = [];
|
|
291
|
-
let rest = text;
|
|
292
|
-
while (rest.length > limit) {
|
|
293
|
-
let cut = limit;
|
|
294
|
-
if (mode === 'newline') {
|
|
295
|
-
const para = rest.lastIndexOf('\n\n', limit);
|
|
296
|
-
const line = rest.lastIndexOf('\n', limit);
|
|
297
|
-
const space = rest.lastIndexOf(' ', limit);
|
|
298
|
-
cut = para > limit / 2 ? para : line > limit / 2 ? line : space > 0 ? space : limit;
|
|
299
|
-
}
|
|
300
|
-
out.push(rest.slice(0, cut));
|
|
301
|
-
rest = rest.slice(cut).replace(/^\n+/, '');
|
|
302
|
-
}
|
|
303
|
-
if (rest) out.push(rest);
|
|
304
|
-
return out;
|
|
291
|
+
private containsTelegramHtml(text: string): boolean {
|
|
292
|
+
return /<\/?(?:a|b|blockquote|code|del|em|i|ins|pre|s|spoiler|strike|strong|tg-spoiler|u)(?:\s[^>]*)?>/i.test(text);
|
|
305
293
|
}
|
|
306
294
|
|
|
307
295
|
private async handleReply(args: Record<string, unknown>): Promise<McpToolResult> {
|
|
308
296
|
const chat_id = args.chat_id as string;
|
|
309
|
-
const text = args.text as string;
|
|
297
|
+
const text = this._normalizeTelegramLineBreaks!(args.text as string);
|
|
310
298
|
const reply_to = args.reply_to != null ? Number(args.reply_to) : undefined;
|
|
311
299
|
const files = (args.files as string[] | undefined) ?? [];
|
|
312
300
|
const explicitFormat = args.format as string | undefined;
|
|
@@ -315,8 +303,9 @@ export class TelegramModule implements ChannelModule {
|
|
|
315
303
|
const toTelegramHtml = this._toTelegramHtml!;
|
|
316
304
|
const InputFile = this._InputFile;
|
|
317
305
|
|
|
318
|
-
const
|
|
319
|
-
const
|
|
306
|
+
const inputIsHtml = explicitFormat === 'html' && this.containsTelegramHtml(text);
|
|
307
|
+
const useHtml = inputIsHtml || explicitFormat === 'html' || (!explicitFormat && hasMarkdown(text));
|
|
308
|
+
const sendText = useHtml && !inputIsHtml ? toTelegramHtml(text) : text;
|
|
320
309
|
const parseMode = useHtml ? 'HTML' as const : undefined;
|
|
321
310
|
|
|
322
311
|
this.assertAllowedChat(chat_id);
|
|
@@ -331,9 +320,8 @@ export class TelegramModule implements ChannelModule {
|
|
|
331
320
|
|
|
332
321
|
const access = this.readAccessFile();
|
|
333
322
|
const limit = Math.max(1, Math.min(access.textChunkLimit ?? MAX_CHUNK_LIMIT, MAX_CHUNK_LIMIT));
|
|
334
|
-
const mode = access.chunkMode ?? 'length';
|
|
335
323
|
const replyMode = access.replyToMode ?? 'first';
|
|
336
|
-
const chunks =
|
|
324
|
+
const chunks = chunkText(sendText, limit, parseMode === 'HTML');
|
|
337
325
|
const sentIds: number[] = [];
|
|
338
326
|
|
|
339
327
|
try {
|
|
@@ -342,11 +330,18 @@ export class TelegramModule implements ChannelModule {
|
|
|
342
330
|
reply_to != null &&
|
|
343
331
|
replyMode !== 'off' &&
|
|
344
332
|
(replyMode === 'all' || i === 0);
|
|
345
|
-
const
|
|
333
|
+
const opts = {
|
|
346
334
|
...(shouldReplyTo ? { reply_parameters: { message_id: reply_to } } : {}),
|
|
347
335
|
...(parseMode ? { parse_mode: parseMode } : {}),
|
|
348
|
-
}
|
|
349
|
-
|
|
336
|
+
};
|
|
337
|
+
try {
|
|
338
|
+
const sent = await this.bot.api.sendMessage(chat_id, chunks[i], opts);
|
|
339
|
+
sentIds.push(sent.message_id);
|
|
340
|
+
} catch (err) {
|
|
341
|
+
if (!parseMode) throw err;
|
|
342
|
+
const sent = await this.bot.api.sendMessage(chat_id, htmlToPlain(chunks[i]), shouldReplyTo ? { reply_parameters: { message_id: reply_to } } : undefined);
|
|
343
|
+
sentIds.push(sent.message_id);
|
|
344
|
+
}
|
|
350
345
|
}
|
|
351
346
|
} catch (err) {
|
|
352
347
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -334,6 +334,11 @@ function countPending(access: Access, kind: 'dm' | 'group'): number {
|
|
|
334
334
|
|
|
335
335
|
export { hasMarkdown, toTelegramHtml } from './lib/markdown'
|
|
336
336
|
|
|
337
|
+
/** Telegram does not support HTML <br> tags; normalize raw and escaped variants to line breaks. */
|
|
338
|
+
export function normalizeTelegramLineBreaks(text: string): string {
|
|
339
|
+
return text.replace(/(?:<|<)br\s*\/?(?:>|>)/gi, '\n')
|
|
340
|
+
}
|
|
341
|
+
|
|
337
342
|
export function isMentionedPure(input: GateInput, extraPatterns?: string[]): boolean {
|
|
338
343
|
const entities = input.messageEntities ?? input.captionEntities ?? []
|
|
339
344
|
const text = input.messageText ?? ''
|
|
@@ -29,7 +29,7 @@ import { readFileSync, writeFileSync, mkdirSync, readdirSync, rmSync, statSync,
|
|
|
29
29
|
import { homedir } from 'os'
|
|
30
30
|
import { join, extname, sep } from 'path'
|
|
31
31
|
import { execFileSync } from 'child_process'
|
|
32
|
-
import { createWorkingStateManager, drainOrphanForwards } from './typing'
|
|
32
|
+
import { createWorkingStateManager, drainOrphanForwards, chunkText, htmlToPlain } from './typing'
|
|
33
33
|
// Import compiled dist/, not raw src/ — src/ is not published (files: ["mcp/"]),
|
|
34
34
|
// so a src/ import crashes this bun-run receiver on installed packages (the bug
|
|
35
35
|
// that silenced every bot on systemd installs). Enforced by
|
|
@@ -38,7 +38,7 @@ import { formatTurnIncident, type TurnIncident } from '../../../dist/agent/turn-
|
|
|
38
38
|
import { createIncidentStore } from '../../../dist/agent/incident-store.js'
|
|
39
39
|
import type { RecoveryOutcome } from '../../../dist/agent/incident.js'
|
|
40
40
|
import { initDedupDir, isDuplicate as _isDuplicate, pruneDedup as _pruneDedup } from './dedup'
|
|
41
|
-
import { hasMarkdown, toTelegramHtml, migrateAccess, telegramDisplayName } from './pure'
|
|
41
|
+
import { hasMarkdown, normalizeTelegramLineBreaks, toTelegramHtml, migrateAccess, telegramDisplayName } from './pure'
|
|
42
42
|
|
|
43
43
|
// Standalone fallback: default state dir to ~/.claude/channels/telegram
|
|
44
44
|
const STATE_DIR = process.env.TELEGRAM_STATE_DIR ?? join(homedir(), '.claude', 'channels', 'telegram')
|
|
@@ -565,29 +565,6 @@ function checkApprovals(): void {
|
|
|
565
565
|
|
|
566
566
|
setInterval(checkApprovals, 5000).unref()
|
|
567
567
|
|
|
568
|
-
// Telegram caps messages at 4096 chars. Split long replies, preferring
|
|
569
|
-
// paragraph boundaries when chunkMode is 'newline'.
|
|
570
|
-
function chunk(text: string, limit: number, mode: 'length' | 'newline'): string[] {
|
|
571
|
-
if (text.length <= limit) return [text]
|
|
572
|
-
const out: string[] = []
|
|
573
|
-
let rest = text
|
|
574
|
-
while (rest.length > limit) {
|
|
575
|
-
let cut = limit
|
|
576
|
-
if (mode === 'newline') {
|
|
577
|
-
// Prefer the last double-newline (paragraph), then single newline,
|
|
578
|
-
// then space. Fall back to hard cut.
|
|
579
|
-
const para = rest.lastIndexOf('\n\n', limit)
|
|
580
|
-
const line = rest.lastIndexOf('\n', limit)
|
|
581
|
-
const space = rest.lastIndexOf(' ', limit)
|
|
582
|
-
cut = para > limit / 2 ? para : line > limit / 2 ? line : space > 0 ? space : limit
|
|
583
|
-
}
|
|
584
|
-
out.push(rest.slice(0, cut))
|
|
585
|
-
rest = rest.slice(cut).replace(/^\n+/, '')
|
|
586
|
-
}
|
|
587
|
-
if (rest) out.push(rest)
|
|
588
|
-
return out
|
|
589
|
-
}
|
|
590
|
-
|
|
591
568
|
// .jpg/.jpeg/.png/.gif/.webp go as photos (Telegram compresses + shows inline);
|
|
592
569
|
// everything else goes as documents (raw file, no compression).
|
|
593
570
|
const PHOTO_EXTS = new Set(['.jpg', '.jpeg', '.png', '.gif', '.webp'])
|
|
@@ -678,7 +655,7 @@ mcp.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
678
655
|
format: {
|
|
679
656
|
type: 'string',
|
|
680
657
|
enum: ['text', 'html'],
|
|
681
|
-
description: "Rendering mode. 'html'
|
|
658
|
+
description: "Rendering mode. 'html' accepts pre-rendered Telegram HTML. Raw Markdown is detected and converted automatically. Default: auto-detect Markdown or send plain text.",
|
|
682
659
|
},
|
|
683
660
|
},
|
|
684
661
|
required: ['chat_id', 'text'],
|
|
@@ -720,7 +697,7 @@ mcp.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
720
697
|
format: {
|
|
721
698
|
type: 'string',
|
|
722
699
|
enum: ['text', 'html'],
|
|
723
|
-
description: "Rendering mode. 'html'
|
|
700
|
+
description: "Rendering mode. 'html' accepts pre-rendered Telegram HTML. Raw Markdown is detected and converted automatically. Default: auto-detect Markdown or send plain text.",
|
|
724
701
|
},
|
|
725
702
|
},
|
|
726
703
|
required: ['chat_id', 'message_id', 'text'],
|
|
@@ -735,13 +712,13 @@ mcp.setRequestHandler(CallToolRequestSchema, async req => {
|
|
|
735
712
|
switch (req.params.name) {
|
|
736
713
|
case 'reply': {
|
|
737
714
|
const chat_id = args.chat_id as string
|
|
738
|
-
const text = args.text as string
|
|
715
|
+
const text = normalizeTelegramLineBreaks(args.text as string)
|
|
739
716
|
const reply_to = args.reply_to != null ? Number(args.reply_to) : undefined
|
|
740
717
|
const files = (args.files as string[] | undefined) ?? []
|
|
741
718
|
const explicitFormat = args.format as string | undefined
|
|
742
|
-
|
|
743
|
-
const useHtml = explicitFormat === 'html' || (!explicitFormat && hasMarkdown(text))
|
|
744
|
-
const sendText = useHtml && !
|
|
719
|
+
const inputIsHtml = explicitFormat === 'html' && /<\/?(?:a|b|blockquote|code|del|em|i|ins|pre|s|spoiler|strike|strong|tg-spoiler|u)(?:\s[^>]*)?>/i.test(text)
|
|
720
|
+
const useHtml = inputIsHtml || explicitFormat === 'html' || (!explicitFormat && hasMarkdown(text))
|
|
721
|
+
const sendText = useHtml && !inputIsHtml ? toTelegramHtml(text) : text
|
|
745
722
|
const parseMode = useHtml ? 'HTML' as const : undefined
|
|
746
723
|
|
|
747
724
|
assertAllowedChat(chat_id)
|
|
@@ -756,9 +733,8 @@ mcp.setRequestHandler(CallToolRequestSchema, async req => {
|
|
|
756
733
|
|
|
757
734
|
const access = loadAccess()
|
|
758
735
|
const limit = Math.max(1, Math.min(access.textChunkLimit ?? MAX_CHUNK_LIMIT, MAX_CHUNK_LIMIT))
|
|
759
|
-
const mode = access.chunkMode ?? 'length'
|
|
760
736
|
const replyMode = access.replyToMode ?? 'first'
|
|
761
|
-
const chunks =
|
|
737
|
+
const chunks = chunkText(sendText, limit, parseMode === 'HTML')
|
|
762
738
|
const sentIds: number[] = []
|
|
763
739
|
|
|
764
740
|
try {
|
|
@@ -767,11 +743,22 @@ mcp.setRequestHandler(CallToolRequestSchema, async req => {
|
|
|
767
743
|
reply_to != null &&
|
|
768
744
|
replyMode !== 'off' &&
|
|
769
745
|
(replyMode === 'all' || i === 0)
|
|
770
|
-
const
|
|
746
|
+
const opts = {
|
|
771
747
|
...(shouldReplyTo ? { reply_parameters: { message_id: reply_to } } : {}),
|
|
772
748
|
...(parseMode ? { parse_mode: parseMode } : {}),
|
|
773
|
-
}
|
|
774
|
-
|
|
749
|
+
}
|
|
750
|
+
try {
|
|
751
|
+
const sent = await bot.api.sendMessage(chat_id, chunks[i], opts)
|
|
752
|
+
sentIds.push(sent.message_id)
|
|
753
|
+
} catch (err) {
|
|
754
|
+
if (!parseMode) throw err
|
|
755
|
+
const sent = await bot.api.sendMessage(
|
|
756
|
+
chat_id,
|
|
757
|
+
htmlToPlain(chunks[i]),
|
|
758
|
+
shouldReplyTo ? { reply_parameters: { message_id: reply_to } } : undefined,
|
|
759
|
+
)
|
|
760
|
+
sentIds.push(sent.message_id)
|
|
761
|
+
}
|
|
775
762
|
}
|
|
776
763
|
} catch (err) {
|
|
777
764
|
const msg = err instanceof Error ? err.message : String(err)
|
|
@@ -903,6 +890,10 @@ const AVAILABLE_MODELS = [
|
|
|
903
890
|
{ id: 'claude-sonnet-5', label: 'Sonnet 5', alias: 'sonnet' },
|
|
904
891
|
{ id: 'claude-sonnet-4-6', label: 'Sonnet 4.6', alias: 'sonnet46' },
|
|
905
892
|
{ id: 'claude-haiku-4-5-20251001', label: 'Haiku 4.5', alias: 'haiku' },
|
|
893
|
+
{ id: 'gpt-5.6-sol[1m]', label: 'GPT 5.6 Sol', alias: 'gpt56sol' },
|
|
894
|
+
{ id: 'gpt-5.6-terra[1m]', label: 'GPT 5.6 Terra', alias: 'gpt56terra' },
|
|
895
|
+
{ id: 'gpt-5.6-luna[1m]', label: 'GPT 5.6 Luna', alias: 'gpt56luna' },
|
|
896
|
+
{ id: 'gpt-5.5[1m]', label: 'GPT 5.5', alias: 'gpt55' },
|
|
906
897
|
]
|
|
907
898
|
|
|
908
899
|
// Base URL for command API calls to the AgentRunner callback server.
|
|
@@ -1231,6 +1222,7 @@ bot.command('models', async ctx => {
|
|
|
1231
1222
|
const prefix = m.id === currentModel ? '\u2705 ' : ''
|
|
1232
1223
|
keyboard.text(`${prefix}${m.label}`, `model:${m.id}`).row()
|
|
1233
1224
|
}
|
|
1225
|
+
keyboard.text('Dismiss', 'models:dismiss')
|
|
1234
1226
|
|
|
1235
1227
|
await ctx.reply(`Current model: ${currentModel}\nSelect a model:`, {
|
|
1236
1228
|
reply_markup: keyboard,
|
|
@@ -1481,6 +1473,16 @@ bot.on('callback_query:data', async ctx => {
|
|
|
1481
1473
|
return
|
|
1482
1474
|
}
|
|
1483
1475
|
|
|
1476
|
+
if (data === 'models:dismiss') {
|
|
1477
|
+
if (!isCallbackAuthorized(ctx)) {
|
|
1478
|
+
await ctx.answerCallbackQuery({ text: 'Not authorized.' }).catch(() => {})
|
|
1479
|
+
return
|
|
1480
|
+
}
|
|
1481
|
+
await ctx.answerCallbackQuery({ text: 'Dismissed' }).catch(() => {})
|
|
1482
|
+
await ctx.deleteMessage().catch(() => {})
|
|
1483
|
+
return
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1484
1486
|
// Handle model selection callback: model:<model_id>
|
|
1485
1487
|
const modelMatch = /^model:(.+)$/.exec(data)
|
|
1486
1488
|
if (modelMatch) {
|