@@ -60,7 +60,6 @@ import * as probeModule from "./probe.js";
6060import { resolveTelegramReactionLevel } from "./reaction-level.js" ;
6161import { getTelegramRuntime } from "./runtime.js" ;
6262import { collectTelegramSecurityAuditFindings } from "./security-audit.js" ;
63- import { sendMessageTelegram , sendPollTelegram , sendTypingTelegram } from "./send.js" ;
6463import { resolveTelegramSessionConversation } from "./session-conversation.js" ;
6564import { telegramSetupAdapter } from "./setup-core.js" ;
6665import { telegramSetupWizard } from "./setup-surface.js" ;
@@ -82,7 +81,14 @@ import { buildTelegramThreadingToolContext } from "./threading-tool-context.js";
8281import { resolveTelegramToken } from "./token.js" ;
8382import { parseTelegramTopicConversation } from "./topic-conversation.js" ;
8483
85- type TelegramSendFn = typeof sendMessageTelegram ;
84+ type TelegramSendFn = typeof import ( "./send.js" ) . sendMessageTelegram ;
85+
86+ let telegramSendModulePromise : Promise < typeof import ( "./send.js" ) > | undefined ;
87+
88+ async function loadTelegramSendModule ( ) {
89+ telegramSendModulePromise ??= import ( "./send.js" ) ;
90+ return await telegramSendModulePromise ;
91+ }
8692
8793type TelegramSendOptions = NonNullable < Parameters < TelegramSendFn > [ 2 ] > ;
8894
@@ -121,11 +127,11 @@ function getOptionalTelegramRuntime() {
121127 }
122128}
123129
124- function resolveTelegramSend ( deps ?: OutboundSendDeps ) : TelegramSendFn {
130+ async function resolveTelegramSend ( deps ?: OutboundSendDeps ) : Promise < TelegramSendFn > {
125131 return (
126132 resolveOutboundSendDep < TelegramSendFn > ( deps , "telegram" ) ??
127133 getOptionalTelegramRuntime ( ) ?. channel ?. telegram ?. sendMessageTelegram ??
128- sendMessageTelegram
134+ ( await loadTelegramSendModule ( ) ) . sendMessageTelegram
129135 ) ;
130136}
131137
@@ -175,7 +181,7 @@ async function sendTelegramOutbound(params: {
175181 silent ?: boolean | null ;
176182 gatewayClientScopes ?: readonly string [ ] | null ;
177183} ) {
178- const send = resolveTelegramSend ( params . deps ) ;
184+ const send = await resolveTelegramSend ( params . deps ) ;
179185 return await send (
180186 params . to ,
181187 params . text ,
@@ -961,7 +967,8 @@ export const telegramPlugin = createChatChannelPlugin({
961967 if ( ! token ) {
962968 throw new Error ( "telegram token not configured" ) ;
963969 }
964- await resolveTelegramSend ( ) ( id , message , { token, accountId } ) ;
970+ const send = await resolveTelegramSend ( ) ;
971+ await send ( id , message , { token, accountId } ) ;
965972 } ,
966973 } ,
967974 } ,
@@ -1004,6 +1011,7 @@ export const telegramPlugin = createChatChannelPlugin({
10041011 : typeof target . threadId === "string"
10051012 ? Number . parseInt ( target . threadId , 10 )
10061013 : undefined ;
1014+ const { sendTypingTelegram } = await loadTelegramSendModule ( ) ;
10071015 await sendTypingTelegram ( target . to , {
10081016 cfg,
10091017 accountId : target . accountId ?? undefined ,
@@ -1030,7 +1038,7 @@ export const telegramPlugin = createChatChannelPlugin({
10301038 forceDocument,
10311039 gatewayClientScopes,
10321040 } ) => {
1033- const send = resolveTelegramSend ( deps ) ;
1041+ const send = await resolveTelegramSend ( deps ) ;
10341042 const result = await sendTelegramPayloadMessages ( {
10351043 send,
10361044 to,
@@ -1108,15 +1116,17 @@ export const telegramPlugin = createChatChannelPlugin({
11081116 silent,
11091117 isAnonymous,
11101118 gatewayClientScopes,
1111- } ) =>
1112- await sendPollTelegram ( to , poll , {
1119+ } ) => {
1120+ const { sendPollTelegram } = await loadTelegramSendModule ( ) ;
1121+ return await sendPollTelegram ( to , poll , {
11131122 cfg,
11141123 accountId : accountId ?? undefined ,
11151124 messageThreadId : parseTelegramThreadId ( threadId ) ,
11161125 silent : silent ?? undefined ,
11171126 isAnonymous : isAnonymous ?? undefined ,
11181127 gatewayClientScopes,
1119- } ) ,
1128+ } ) ;
1129+ } ,
11201130 } ,
11211131 } ,
11221132} ) ;
0 commit comments