paperclip-plugin-telegram 0.2.9 → 0.4.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/dist/acp-bridge.d.ts +1 -0
- package/dist/acp-bridge.js +82 -95
- package/dist/acp-bridge.js.map +1 -1
- package/dist/commands.d.ts +2 -1
- package/dist/commands.js +100 -4
- package/dist/commands.js.map +1 -1
- package/dist/constants.d.ts +3 -1
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/escalation.js +3 -11
- package/dist/escalation.js.map +1 -1
- package/dist/formatters.d.ts +1 -0
- package/dist/formatters.js +38 -4
- package/dist/formatters.js.map +1 -1
- package/dist/manifest.js +15 -0
- package/dist/manifest.js.map +1 -1
- package/dist/media-pipeline.js +2 -10
- package/dist/media-pipeline.js.map +1 -1
- package/dist/polling-offset.d.ts +4 -0
- package/dist/polling-offset.js +24 -0
- package/dist/polling-offset.js.map +1 -0
- package/dist/worker.js +139 -23
- package/dist/worker.js.map +1 -1
- package/package.json +2 -2
package/dist/acp-bridge.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ type AcpOutputEvent = {
|
|
|
18
18
|
};
|
|
19
19
|
export declare function setupAcpOutputListener(ctx: PluginContext, token: string): void;
|
|
20
20
|
export declare function handleAcpCommand(ctx: PluginContext, token: string, chatId: string, args: string, messageThreadId?: number, companyId?: string): Promise<void>;
|
|
21
|
+
export declare function wakeAgentWithIssue(ctx: PluginContext, agentId: string, companyId: string, promptText: string, reason: string): Promise<string | null>;
|
|
21
22
|
export declare function routeMessageToAgent(ctx: PluginContext, token: string, chatId: string, threadId: number, text: string, replyToMessageId?: number, companyId?: string): Promise<boolean>;
|
|
22
23
|
export declare function handleAcpOutput(ctx: PluginContext, token: string, event: AcpOutputEvent): Promise<void>;
|
|
23
24
|
export declare function handleHandoffToolCall(ctx: PluginContext, token: string, params: Record<string, unknown>, companyId: string, sourceAgentId: string): Promise<{
|
package/dist/acp-bridge.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { sendMessage, escapeMarkdownV2, sendChatAction } from "./telegram-api.js";
|
|
2
|
+
import { truncateAtWord } from "./telegram-api.js";
|
|
2
3
|
import { MAX_AGENTS_PER_THREAD, DEFAULT_CONVERSATION_TURNS, MAX_CONVERSATION_TURNS, ACP_SPAWN_EVENT, ACP_OUTPUT_EVENT, } from "./constants.js";
|
|
3
4
|
// --- Setup: register ACP output listener ---
|
|
4
5
|
export function setupAcpOutputListener(ctx, token) {
|
|
@@ -40,16 +41,71 @@ export async function handleAcpCommand(ctx, token, chatId, args, messageThreadId
|
|
|
40
41
|
* Resolve an agent by name/urlKey (case-insensitive).
|
|
41
42
|
* The plugin SDK's `agents.get()` requires a UUID, so we list all agents
|
|
42
43
|
* and match by name or urlKey.
|
|
44
|
+
*
|
|
45
|
+
* The SDK may return the agent UUID in `id`, `agentId`, or `_id` depending
|
|
46
|
+
* on the Paperclip version. We pick the first field that looks like a UUID
|
|
47
|
+
* and fall back to `id` if none do (caller will get a clear error on create).
|
|
43
48
|
*/
|
|
49
|
+
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
44
50
|
async function resolveAgentByName(ctx, name, companyId) {
|
|
45
51
|
try {
|
|
46
52
|
const allAgents = await ctx.agents.list({ companyId });
|
|
47
53
|
const lower = name.toLowerCase();
|
|
48
54
|
const match = allAgents.find((a) => a.name?.toLowerCase() === lower ||
|
|
49
55
|
a.urlKey?.toLowerCase() === lower);
|
|
50
|
-
|
|
56
|
+
if (!match)
|
|
57
|
+
return null;
|
|
58
|
+
// Find the UUID — different SDK versions may use different field names
|
|
59
|
+
const candidateId = match.agentId ?? match._id ?? match.id;
|
|
60
|
+
const resolvedId = UUID_RE.test(String(candidateId)) ? String(candidateId) : String(match.id);
|
|
61
|
+
ctx.logger.info("Resolved agent by name", {
|
|
62
|
+
agentName: name,
|
|
63
|
+
resolvedId,
|
|
64
|
+
rawId: match.id,
|
|
65
|
+
rawAgentId: match.agentId,
|
|
66
|
+
hasUrlKey: !!match.urlKey,
|
|
67
|
+
});
|
|
68
|
+
return { id: resolvedId, name: match.name };
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
ctx.logger.error("Failed to resolve agent by name", { agentName: name, companyId, error: String(err) });
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// --- Native prompt delivery via issue creation ---
|
|
76
|
+
//
|
|
77
|
+
// The Paperclip heartbeat system only delivers taskId/issueId/commentId to
|
|
78
|
+
// agents — freeform prompts passed via sessions.sendMessage({ prompt }) are
|
|
79
|
+
// silently dropped. To work around this, we create a lightweight issue whose
|
|
80
|
+
// title IS the prompt and assign it to the agent. The agent wakes with
|
|
81
|
+
// PAPERCLIP_TASK_ID pointing to that issue and can read the prompt from the
|
|
82
|
+
// issue title + description.
|
|
83
|
+
export async function wakeAgentWithIssue(ctx, agentId, companyId, promptText, reason) {
|
|
84
|
+
try {
|
|
85
|
+
const title = truncateAtWord(promptText.replace(/\n/g, " "), 200);
|
|
86
|
+
const description = promptText.length > 200 ? promptText : undefined;
|
|
87
|
+
const issue = await ctx.issues.create({
|
|
88
|
+
companyId,
|
|
89
|
+
title: `[Telegram] ${title}`,
|
|
90
|
+
description,
|
|
91
|
+
assigneeAgentId: agentId,
|
|
92
|
+
});
|
|
93
|
+
await ctx.issues.update(issue.id, { status: "todo" }, companyId);
|
|
94
|
+
ctx.logger.info("Created issue for native agent prompt delivery", {
|
|
95
|
+
issueId: issue.id,
|
|
96
|
+
agentId,
|
|
97
|
+
reason,
|
|
98
|
+
promptLength: promptText.length,
|
|
99
|
+
});
|
|
100
|
+
return issue.id;
|
|
51
101
|
}
|
|
52
|
-
catch {
|
|
102
|
+
catch (err) {
|
|
103
|
+
ctx.logger.error("Failed to create issue for native prompt delivery", {
|
|
104
|
+
agentId,
|
|
105
|
+
companyId,
|
|
106
|
+
reason,
|
|
107
|
+
error: String(err),
|
|
108
|
+
});
|
|
53
109
|
return null;
|
|
54
110
|
}
|
|
55
111
|
}
|
|
@@ -91,11 +147,18 @@ async function handleAcpSpawn(ctx, token, chatId, agentName, messageThreadId, co
|
|
|
91
147
|
transport = "native";
|
|
92
148
|
ctx.logger.info("Created native agent session", { agentId, sessionId });
|
|
93
149
|
}
|
|
94
|
-
catch {
|
|
150
|
+
catch (err) {
|
|
151
|
+
ctx.logger.error("Native session creation failed, falling back to ACP", {
|
|
152
|
+
agentId,
|
|
153
|
+
agentName: trimmedName,
|
|
154
|
+
companyId: resolvedCompanyId,
|
|
155
|
+
error: String(err),
|
|
156
|
+
});
|
|
95
157
|
sessionId = `acp_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
96
158
|
}
|
|
97
159
|
}
|
|
98
160
|
else {
|
|
161
|
+
ctx.logger.warn("Agent not found by name, using ACP transport", { agentName: trimmedName, companyId: resolvedCompanyId });
|
|
99
162
|
sessionId = `acp_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
100
163
|
}
|
|
101
164
|
const now = new Date().toISOString();
|
|
@@ -309,70 +372,12 @@ export async function routeMessageToAgent(ctx, token, chatId, threadId, text, re
|
|
|
309
372
|
const resolvedCompanyId = companyId ?? await resolveCompanyIdFromChat(ctx, chatId);
|
|
310
373
|
// Route via correct transport
|
|
311
374
|
if (targetSession.transport === "native") {
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
// Buffer assistant text and send only the final response
|
|
318
|
-
const assistantTextBuffer = [];
|
|
319
|
-
return (event) => {
|
|
320
|
-
if (event.eventType === "chunk" && event.message) {
|
|
321
|
-
const msg = event.message;
|
|
322
|
-
if (msg.startsWith("{")) {
|
|
323
|
-
try {
|
|
324
|
-
const parsed = JSON.parse(msg);
|
|
325
|
-
// Collect assistant text content from both Claude and Pi output formats.
|
|
326
|
-
// Claude emits: { type: "assistant", message: { content: [...] } }
|
|
327
|
-
// Pi emits: { type: "message_end", message: { role: "assistant", content: [...] } }
|
|
328
|
-
const isClaudeAssistant = parsed.type === "assistant" && parsed.message?.content;
|
|
329
|
-
const isPiAssistant = parsed.type === "message_end"
|
|
330
|
-
&& parsed.message?.role === "assistant"
|
|
331
|
-
&& Array.isArray(parsed.message.content);
|
|
332
|
-
if (isClaudeAssistant || isPiAssistant) {
|
|
333
|
-
const textParts = parsed.message.content
|
|
334
|
-
.filter((c) => c.type === "text" && c.text)
|
|
335
|
-
.map((c) => c.text);
|
|
336
|
-
if (textParts.length > 0) {
|
|
337
|
-
assistantTextBuffer.push(textParts.join("\n"));
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
catch {
|
|
342
|
-
// Not JSON — ignore non-structured output
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
// Drop all non-JSON chunks (system messages like "run started", "adapter invocation", etc.)
|
|
346
|
-
}
|
|
347
|
-
else if (event.eventType === "done") {
|
|
348
|
-
const finalText = assistantTextBuffer.length > 0
|
|
349
|
-
? assistantTextBuffer.join("\n\n")
|
|
350
|
-
: "";
|
|
351
|
-
if (finalText) {
|
|
352
|
-
handleAcpOutput(ctx, token, {
|
|
353
|
-
sessionId: targetSession.sessionId,
|
|
354
|
-
chatId,
|
|
355
|
-
threadId,
|
|
356
|
-
text: finalText,
|
|
357
|
-
done: true,
|
|
358
|
-
}).catch((err) => ctx.logger.error("Native output handler error", { error: String(err) }));
|
|
359
|
-
}
|
|
360
|
-
else {
|
|
361
|
-
handleAcpOutput(ctx, token, {
|
|
362
|
-
sessionId: targetSession.sessionId,
|
|
363
|
-
chatId,
|
|
364
|
-
threadId,
|
|
365
|
-
text: event.message ?? "Run completed",
|
|
366
|
-
done: true,
|
|
367
|
-
}).catch((err) => ctx.logger.error("Native output handler error", { error: String(err) }));
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
};
|
|
371
|
-
})(),
|
|
375
|
+
const issueId = await wakeAgentWithIssue(ctx, targetSession.agentId, resolvedCompanyId, text, "telegram_message");
|
|
376
|
+
if (!issueId) {
|
|
377
|
+
ctx.logger.error("Failed to deliver message to native agent — issue creation failed", {
|
|
378
|
+
sessionId: targetSession.sessionId,
|
|
379
|
+
agentId: targetSession.agentId,
|
|
372
380
|
});
|
|
373
|
-
}
|
|
374
|
-
catch (err) {
|
|
375
|
-
ctx.logger.error("Failed to send message to native session", { error: String(err) });
|
|
376
381
|
return false;
|
|
377
382
|
}
|
|
378
383
|
}
|
|
@@ -637,7 +642,10 @@ async function executeHandoff(ctx, token, chatId, threadId, targetAgent, context
|
|
|
637
642
|
sessionId = session.sessionId;
|
|
638
643
|
transport = "native";
|
|
639
644
|
}
|
|
640
|
-
catch {
|
|
645
|
+
catch (err) {
|
|
646
|
+
ctx.logger.error("Native session creation failed during handoff, falling back to ACP", {
|
|
647
|
+
agentId, targetAgent, companyId, error: String(err),
|
|
648
|
+
});
|
|
641
649
|
sessionId = `acp_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
642
650
|
}
|
|
643
651
|
}
|
|
@@ -671,15 +679,7 @@ async function executeHandoff(ctx, token, chatId, threadId, targetAgent, context
|
|
|
671
679
|
}
|
|
672
680
|
// Send context to target agent
|
|
673
681
|
if (targetSession.transport === "native") {
|
|
674
|
-
|
|
675
|
-
await ctx.agents.sessions.sendMessage(targetSession.sessionId, companyId, {
|
|
676
|
-
prompt: `[Handoff context] ${contextSummary}`,
|
|
677
|
-
reason: "handoff",
|
|
678
|
-
});
|
|
679
|
-
}
|
|
680
|
-
catch (err) {
|
|
681
|
-
ctx.logger.error("Failed to send handoff context to native session", { error: String(err) });
|
|
682
|
-
}
|
|
682
|
+
await wakeAgentWithIssue(ctx, targetSession.agentId, companyId, `[Handoff context] ${contextSummary}`, "handoff");
|
|
683
683
|
}
|
|
684
684
|
else {
|
|
685
685
|
ctx.events.emit(ACP_SPAWN_EVENT, companyId, {
|
|
@@ -723,7 +723,10 @@ export async function handleDiscussToolCall(ctx, token, params, companyId, sourc
|
|
|
723
723
|
sessionId = session.sessionId;
|
|
724
724
|
transport = "native";
|
|
725
725
|
}
|
|
726
|
-
catch {
|
|
726
|
+
catch (err) {
|
|
727
|
+
ctx.logger.error("Native session creation failed during discussion, falling back to ACP", {
|
|
728
|
+
agentId, targetAgent, companyId, error: String(err),
|
|
729
|
+
});
|
|
727
730
|
sessionId = `acp_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
728
731
|
}
|
|
729
732
|
}
|
|
@@ -783,15 +786,7 @@ export async function handleDiscussToolCall(ctx, token, params, companyId, sourc
|
|
|
783
786
|
].filter(Boolean).join("\n"), { parseMode: "MarkdownV2", messageThreadId: threadId });
|
|
784
787
|
// Send initial message to target via correct transport
|
|
785
788
|
if (targetSession.transport === "native") {
|
|
786
|
-
|
|
787
|
-
await ctx.agents.sessions.sendMessage(targetSession.sessionId, companyId, {
|
|
788
|
-
prompt: `[Discussion: ${topic}] ${initialMessage}`,
|
|
789
|
-
reason: "discussion",
|
|
790
|
-
});
|
|
791
|
-
}
|
|
792
|
-
catch (err) {
|
|
793
|
-
ctx.logger.error("Failed to send discussion message to native session", { error: String(err) });
|
|
794
|
-
}
|
|
789
|
+
await wakeAgentWithIssue(ctx, targetSession.agentId, companyId, `[Discussion: ${topic}] ${initialMessage}`, "discussion");
|
|
795
790
|
}
|
|
796
791
|
else {
|
|
797
792
|
ctx.events.emit(ACP_SPAWN_EVENT, companyId, {
|
|
@@ -848,15 +843,7 @@ async function checkConversationLoopContinuation(ctx, token, chatId, threadId, s
|
|
|
848
843
|
if (nextSession) {
|
|
849
844
|
const resolvedCompanyId = await resolveCompanyIdFromChat(ctx, chatId);
|
|
850
845
|
if (nextSession.transport === "native") {
|
|
851
|
-
|
|
852
|
-
await ctx.agents.sessions.sendMessage(nextSessionId, resolvedCompanyId, {
|
|
853
|
-
prompt: `[Discussion: ${loop.topic}] ${text}`,
|
|
854
|
-
reason: "discussion_turn",
|
|
855
|
-
});
|
|
856
|
-
}
|
|
857
|
-
catch (err) {
|
|
858
|
-
ctx.logger.error("Failed to send discussion turn to native session", { error: String(err) });
|
|
859
|
-
}
|
|
846
|
+
await wakeAgentWithIssue(ctx, nextSession.agentId, resolvedCompanyId, `[Discussion: ${loop.topic}] ${text}`, "discussion_turn");
|
|
860
847
|
}
|
|
861
848
|
else {
|
|
862
849
|
ctx.events.emit(ACP_SPAWN_EVENT, resolvedCompanyId, {
|
package/dist/acp-bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-bridge.js","sourceRoot":"","sources":["../src/acp-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acp-bridge.js","sourceRoot":"","sources":["../src/acp-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PluginContext } from "@paperclipai/plugin-sdk";
|
|
1
|
+
import type { PluginContext, PluginEvent } from "@paperclipai/plugin-sdk";
|
|
2
2
|
type BotCommand = {
|
|
3
3
|
command: string;
|
|
4
4
|
description: string;
|
|
@@ -7,4 +7,5 @@ export declare const BOT_COMMANDS: BotCommand[];
|
|
|
7
7
|
export declare function handleCommand(ctx: PluginContext, token: string, chatId: string, command: string, args: string, messageThreadId?: number, baseUrl?: string, publicUrl?: string): Promise<void>;
|
|
8
8
|
export declare function handleConnectTopic(ctx: PluginContext, token: string, chatId: string, args: string, messageThreadId?: number): Promise<void>;
|
|
9
9
|
export declare function getTopicForProject(ctx: PluginContext, chatId: string, projectName?: string): Promise<number | undefined>;
|
|
10
|
+
export declare function resolveNotificationThreadId(ctx: PluginContext, chatId: string, event: PluginEvent, topicRouting: boolean): Promise<number | undefined>;
|
|
10
11
|
export {};
|
package/dist/commands.js
CHANGED
|
@@ -2,6 +2,7 @@ import { sendMessage, escapeMarkdownV2, sendChatAction } from "./telegram-api.js
|
|
|
2
2
|
import { METRIC_NAMES } from "./constants.js";
|
|
3
3
|
import { handleAcpCommand } from "./acp-bridge.js";
|
|
4
4
|
export const BOT_COMMANDS = [
|
|
5
|
+
{ command: "create", description: "Create a new task (assigned to CEO agent)" },
|
|
5
6
|
{ command: "status", description: "Company health: active agents, open issues" },
|
|
6
7
|
{ command: "issues", description: "List open issues (optionally by project)" },
|
|
7
8
|
{ command: "agents", description: "List agents with current status" },
|
|
@@ -15,6 +16,9 @@ export const BOT_COMMANDS = [
|
|
|
15
16
|
export async function handleCommand(ctx, token, chatId, command, args, messageThreadId, baseUrl, publicUrl) {
|
|
16
17
|
await ctx.metrics.write(METRIC_NAMES.commandsHandled, 1);
|
|
17
18
|
switch (command) {
|
|
19
|
+
case "create":
|
|
20
|
+
await handleCreate(ctx, token, chatId, args, messageThreadId, publicUrl || baseUrl);
|
|
21
|
+
break;
|
|
18
22
|
case "status":
|
|
19
23
|
await handleStatus(ctx, token, chatId, messageThreadId, publicUrl);
|
|
20
24
|
break;
|
|
@@ -199,7 +203,10 @@ async function handleConnect(ctx, token, chatId, companyArg, messageThreadId) {
|
|
|
199
203
|
await sendMessage(ctx, token, chatId, `Company "${input}" not found. Available: ${names || "none"}`, { messageThreadId });
|
|
200
204
|
return;
|
|
201
205
|
}
|
|
206
|
+
// Inbound: chat → company (for commands like /status)
|
|
202
207
|
await ctx.state.set({ scopeKind: "instance", stateKey: `chat_${chatId}` }, { companyId: match.id, companyName: match.name ?? input, linkedAt: new Date().toISOString() });
|
|
208
|
+
// Outbound: company → chat (for notifications)
|
|
209
|
+
await ctx.state.set({ scopeKind: "company", scopeId: match.id, stateKey: "telegram-chat" }, chatId);
|
|
203
210
|
await sendMessage(ctx, token, chatId, `${escapeMarkdownV2("🔗")} ${escapeMarkdownV2("Linked this chat to company:")} *${escapeMarkdownV2(match.name ?? input)}*`, { parseMode: "MarkdownV2", messageThreadId });
|
|
204
211
|
ctx.logger.info("Chat linked to company", { chatId, companyId: match.id, companyName: match.name });
|
|
205
212
|
}
|
|
@@ -207,17 +214,71 @@ async function handleConnect(ctx, token, chatId, companyArg, messageThreadId) {
|
|
|
207
214
|
await sendMessage(ctx, token, chatId, `Failed to connect: ${err instanceof Error ? err.message : String(err)}`, { messageThreadId });
|
|
208
215
|
}
|
|
209
216
|
}
|
|
217
|
+
async function handleCreate(ctx, token, chatId, titleArg, messageThreadId, linkBaseUrl) {
|
|
218
|
+
const title = titleArg.trim();
|
|
219
|
+
if (!title) {
|
|
220
|
+
await sendMessage(ctx, token, chatId, "Usage: /create <task title>", { messageThreadId });
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
await sendChatAction(ctx, token, chatId);
|
|
224
|
+
try {
|
|
225
|
+
const companyId = await resolveCompanyId(ctx, chatId);
|
|
226
|
+
const company = await ctx.companies.get(companyId);
|
|
227
|
+
const issuePrefix = company?.issuePrefix;
|
|
228
|
+
// Find the CEO agent to assign to
|
|
229
|
+
const agents = await ctx.agents.list({ companyId });
|
|
230
|
+
const ceo = agents.find((a) => a.role === "ceo" && a.status !== "paused" && a.status !== "error");
|
|
231
|
+
// Create the issue WITHOUT assignee first, then update with both status and assignee.
|
|
232
|
+
// This ordering is load-bearing: the issue_assigned wake only fires when the assignee
|
|
233
|
+
// *transitions* from null to an agent. If we set the assignee at creation time, there's
|
|
234
|
+
// no transition and the agent never gets woken.
|
|
235
|
+
let issue = await ctx.issues.create({ companyId, title });
|
|
236
|
+
if (ceo) {
|
|
237
|
+
issue = await ctx.issues.update(issue.id, { status: "todo", assigneeAgentId: ceo.id }, companyId);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
// No CEO to assign to — still bump status to todo so it's visible in the backlog
|
|
241
|
+
issue = await ctx.issues.update(issue.id, { status: "todo" }, companyId);
|
|
242
|
+
}
|
|
243
|
+
const id = issue.identifier ?? issue.id;
|
|
244
|
+
const hasLink = linkBaseUrl && isExternalUrl(linkBaseUrl) && issuePrefix;
|
|
245
|
+
const idText = hasLink
|
|
246
|
+
? `[${escapeMarkdownV2(id)}](${linkBaseUrl}/${issuePrefix}/issues/${id})`
|
|
247
|
+
: `\`${escapeMarkdownV2(id)}\``;
|
|
248
|
+
const assigneeText = ceo ? ` ${escapeMarkdownV2("→")} *${escapeMarkdownV2(ceo.name)}*` : "";
|
|
249
|
+
await sendMessage(ctx, token, chatId, `${escapeMarkdownV2("✅")} *Task created*: ${idText}${assigneeText}\n${escapeMarkdownV2(title)}`, { parseMode: "MarkdownV2", messageThreadId });
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
await sendMessage(ctx, token, chatId, `Failed to create task: ${err instanceof Error ? err.message : String(err)}`, { messageThreadId });
|
|
253
|
+
}
|
|
254
|
+
}
|
|
210
255
|
export async function handleConnectTopic(ctx, token, chatId, args, messageThreadId) {
|
|
211
256
|
const parts = args.trim().split(/\s+/);
|
|
212
|
-
if (parts.length < 2) {
|
|
213
|
-
await sendMessage(ctx, token, chatId, "Usage: /connect\\-topic <project\\-name>
|
|
257
|
+
if (parts.length < 1 || (parts.length < 2 && !messageThreadId)) {
|
|
258
|
+
await sendMessage(ctx, token, chatId, "Usage: /connect\\-topic <project\\-name> \\[topic\\-id\\]", {
|
|
214
259
|
parseMode: "MarkdownV2",
|
|
215
260
|
messageThreadId,
|
|
216
261
|
});
|
|
217
262
|
return;
|
|
218
263
|
}
|
|
219
|
-
|
|
220
|
-
|
|
264
|
+
let topicId;
|
|
265
|
+
let projectName;
|
|
266
|
+
const explicitTopicId = parts.length >= 2 && /^\d+$/.test(parts[parts.length - 1]);
|
|
267
|
+
if (explicitTopicId) {
|
|
268
|
+
topicId = parts.pop();
|
|
269
|
+
projectName = parts.join(" ");
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
if (!messageThreadId) {
|
|
273
|
+
await sendMessage(ctx, token, chatId, "Usage: /connect\\-topic <project\\-name> \\[topic\\-id\\]", {
|
|
274
|
+
parseMode: "MarkdownV2",
|
|
275
|
+
messageThreadId,
|
|
276
|
+
});
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
topicId = String(messageThreadId);
|
|
280
|
+
projectName = parts.join(" ");
|
|
281
|
+
}
|
|
221
282
|
const existing = (await ctx.state.get({
|
|
222
283
|
scopeKind: "instance",
|
|
223
284
|
stateKey: `topic-map-${chatId}`,
|
|
@@ -240,6 +301,41 @@ export async function getTopicForProject(ctx, chatId, projectName) {
|
|
|
240
301
|
const topicId = topicMap[projectName];
|
|
241
302
|
return topicId ? Number(topicId) : undefined;
|
|
242
303
|
}
|
|
304
|
+
export async function resolveNotificationThreadId(ctx, chatId, event, topicRouting) {
|
|
305
|
+
if (!topicRouting)
|
|
306
|
+
return undefined;
|
|
307
|
+
const projectName = await resolveEventProjectName(ctx, event);
|
|
308
|
+
return getTopicForProject(ctx, chatId, projectName);
|
|
309
|
+
}
|
|
310
|
+
async function resolveEventProjectName(ctx, event) {
|
|
311
|
+
const payload = event.payload;
|
|
312
|
+
const payloadProjectName = payload.projectName ? String(payload.projectName) : undefined;
|
|
313
|
+
if (payloadProjectName)
|
|
314
|
+
return payloadProjectName;
|
|
315
|
+
const payloadProjectId = payload.projectId ? String(payload.projectId) : undefined;
|
|
316
|
+
if (payloadProjectId) {
|
|
317
|
+
try {
|
|
318
|
+
const project = await ctx.projects.get(payloadProjectId, event.companyId);
|
|
319
|
+
if (project?.name)
|
|
320
|
+
return project.name;
|
|
321
|
+
}
|
|
322
|
+
catch {
|
|
323
|
+
return undefined;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
if (event.entityType !== "issue" || !event.entityId)
|
|
327
|
+
return undefined;
|
|
328
|
+
try {
|
|
329
|
+
const issue = await ctx.issues.get(event.entityId, event.companyId);
|
|
330
|
+
if (!issue?.projectId)
|
|
331
|
+
return undefined;
|
|
332
|
+
const project = await ctx.projects.get(issue.projectId, event.companyId);
|
|
333
|
+
return project?.name;
|
|
334
|
+
}
|
|
335
|
+
catch {
|
|
336
|
+
return undefined;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
243
339
|
async function resolveCompanyId(ctx, chatId) {
|
|
244
340
|
const mapping = await ctx.state.get({
|
|
245
341
|
scopeKind: "instance",
|