@okrlinkhub/agent-factory 2.0.0 → 2.0.1
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/client/index.d.ts +38 -4
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +174 -36
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/component.d.ts +138 -8
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/identity.d.ts +5 -5
- package/dist/component/pushing.d.ts +30 -30
- package/dist/component/queue.d.ts +125 -51
- package/dist/component/queue.d.ts.map +1 -1
- package/dist/component/queue.js +128 -14
- package/dist/component/queue.js.map +1 -1
- package/dist/component/scheduler.d.ts +13 -13
- package/dist/component/scheduler.js +4 -0
- package/dist/component/scheduler.js.map +1 -1
- package/dist/component/schema.d.ts +164 -80
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +29 -0
- package/dist/component/schema.js.map +1 -1
- package/package.json +1 -1
- package/src/client/index.ts +302 -42
- package/src/component/_generated/component.ts +164 -14
- package/src/component/lib.test.ts +132 -0
- package/src/component/queue.ts +185 -20
- package/src/component/scheduler.ts +4 -0
- package/src/component/schema.ts +46 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,wBAifG"}
|
package/dist/component/schema.js
CHANGED
|
@@ -51,6 +51,16 @@ export default defineSchema({
|
|
|
51
51
|
externalMessageId: v.optional(v.string()),
|
|
52
52
|
rawUpdateJson: v.optional(v.string()),
|
|
53
53
|
metadata: v.optional(v.record(v.string(), v.string())),
|
|
54
|
+
attachments: v.optional(v.array(v.object({
|
|
55
|
+
kind: v.union(v.literal("photo"), v.literal("video"), v.literal("audio"), v.literal("voice"), v.literal("document")),
|
|
56
|
+
status: v.union(v.literal("ready"), v.literal("expired")),
|
|
57
|
+
storageId: v.id("_storage"),
|
|
58
|
+
telegramFileId: v.string(),
|
|
59
|
+
fileName: v.optional(v.string()),
|
|
60
|
+
mimeType: v.optional(v.string()),
|
|
61
|
+
sizeBytes: v.optional(v.number()),
|
|
62
|
+
expiresAt: v.number(),
|
|
63
|
+
}))),
|
|
54
64
|
}),
|
|
55
65
|
status: v.union(v.literal("queued"), v.literal("processing"), v.literal("done"), v.literal("failed"), v.literal("dead_letter")),
|
|
56
66
|
priority: v.number(),
|
|
@@ -116,9 +126,28 @@ export default defineSchema({
|
|
|
116
126
|
})),
|
|
117
127
|
messageConfig: v.optional(v.object({
|
|
118
128
|
systemPrompt: v.optional(v.string()),
|
|
129
|
+
telegramAttachmentRetentionMs: v.optional(v.number()),
|
|
119
130
|
})),
|
|
120
131
|
updatedAt: v.number(),
|
|
121
132
|
}).index("by_key", ["key"]),
|
|
133
|
+
messageAttachments: defineTable({
|
|
134
|
+
messageId: v.id("messageQueue"),
|
|
135
|
+
conversationId: v.string(),
|
|
136
|
+
agentKey: v.string(),
|
|
137
|
+
provider: v.string(),
|
|
138
|
+
kind: v.union(v.literal("photo"), v.literal("video"), v.literal("audio"), v.literal("voice"), v.literal("document")),
|
|
139
|
+
status: v.union(v.literal("ready"), v.literal("expired")),
|
|
140
|
+
storageId: v.id("_storage"),
|
|
141
|
+
telegramFileId: v.string(),
|
|
142
|
+
fileName: v.optional(v.string()),
|
|
143
|
+
mimeType: v.optional(v.string()),
|
|
144
|
+
sizeBytes: v.optional(v.number()),
|
|
145
|
+
createdAt: v.number(),
|
|
146
|
+
expiresAt: v.number(),
|
|
147
|
+
})
|
|
148
|
+
.index("by_messageId", ["messageId"])
|
|
149
|
+
.index("by_status_and_expiresAt", ["status", "expiresAt"])
|
|
150
|
+
.index("by_conversationId_and_createdAt", ["conversationId", "createdAt"]),
|
|
122
151
|
dataSnapshots: defineTable({
|
|
123
152
|
workspaceId: v.string(),
|
|
124
153
|
agentKey: v.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client/index.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
mutationGeneric,
|
|
5
5
|
queryGeneric,
|
|
6
6
|
} from "convex/server";
|
|
7
|
-
import type { Auth, HttpRouter } from "convex/server";
|
|
7
|
+
import type { Auth, GenericActionCtx, GenericDataModel, HttpRouter } from "convex/server";
|
|
8
8
|
import { v } from "convex/values";
|
|
9
9
|
import type { ComponentApi } from "../component/_generated/component.js";
|
|
10
10
|
import {
|
|
@@ -13,6 +13,25 @@ import {
|
|
|
13
13
|
type ProviderConfig,
|
|
14
14
|
} from "../component/config.js";
|
|
15
15
|
|
|
16
|
+
const telegramAttachmentKindValidator = v.union(
|
|
17
|
+
v.literal("photo"),
|
|
18
|
+
v.literal("video"),
|
|
19
|
+
v.literal("audio"),
|
|
20
|
+
v.literal("voice"),
|
|
21
|
+
v.literal("document"),
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
const telegramAttachmentValidator = v.object({
|
|
25
|
+
kind: telegramAttachmentKindValidator,
|
|
26
|
+
status: v.union(v.literal("ready"), v.literal("expired")),
|
|
27
|
+
storageId: v.string(),
|
|
28
|
+
telegramFileId: v.string(),
|
|
29
|
+
fileName: v.optional(v.string()),
|
|
30
|
+
mimeType: v.optional(v.string()),
|
|
31
|
+
sizeBytes: v.optional(v.number()),
|
|
32
|
+
expiresAt: v.number(),
|
|
33
|
+
});
|
|
34
|
+
|
|
16
35
|
const pushPeriodicityValidator = v.union(
|
|
17
36
|
v.literal("manual"),
|
|
18
37
|
v.literal("daily"),
|
|
@@ -59,6 +78,7 @@ const pushScheduleValidator = v.union(
|
|
|
59
78
|
|
|
60
79
|
const messageRuntimeConfigValidator = v.object({
|
|
61
80
|
systemPrompt: v.optional(v.string()),
|
|
81
|
+
telegramAttachmentRetentionMs: v.optional(v.number()),
|
|
62
82
|
});
|
|
63
83
|
export {
|
|
64
84
|
bridgeFunctionKeyFromToolName,
|
|
@@ -139,6 +159,7 @@ export function exposeApi(
|
|
|
139
159
|
externalMessageId: v.optional(v.string()),
|
|
140
160
|
rawUpdateJson: v.optional(v.string()),
|
|
141
161
|
metadata: v.optional(v.record(v.string(), v.string())),
|
|
162
|
+
attachments: v.optional(v.array(telegramAttachmentValidator)),
|
|
142
163
|
priority: v.optional(v.number()),
|
|
143
164
|
providerConfig: v.optional(providerConfigValidator),
|
|
144
165
|
},
|
|
@@ -158,6 +179,7 @@ export function exposeApi(
|
|
|
158
179
|
externalMessageId: args.externalMessageId,
|
|
159
180
|
rawUpdateJson: args.rawUpdateJson,
|
|
160
181
|
metadata: args.metadata,
|
|
182
|
+
attachments: args.attachments,
|
|
161
183
|
},
|
|
162
184
|
priority: args.priority,
|
|
163
185
|
providerConfig: args.providerConfig ?? options.providerConfig,
|
|
@@ -1139,10 +1161,28 @@ export function registerRoutes(
|
|
|
1139
1161
|
text?: string;
|
|
1140
1162
|
caption?: string;
|
|
1141
1163
|
message_id?: number;
|
|
1142
|
-
photo?: Array<{ file_id?: string }>;
|
|
1143
|
-
video?: {
|
|
1144
|
-
|
|
1145
|
-
|
|
1164
|
+
photo?: Array<{ file_id?: string; file_size?: number }>;
|
|
1165
|
+
video?: {
|
|
1166
|
+
file_id?: string;
|
|
1167
|
+
duration?: number;
|
|
1168
|
+
file_name?: string;
|
|
1169
|
+
mime_type?: string;
|
|
1170
|
+
file_size?: number;
|
|
1171
|
+
};
|
|
1172
|
+
audio?: {
|
|
1173
|
+
file_id?: string;
|
|
1174
|
+
duration?: number;
|
|
1175
|
+
file_name?: string;
|
|
1176
|
+
mime_type?: string;
|
|
1177
|
+
file_size?: number;
|
|
1178
|
+
};
|
|
1179
|
+
voice?: { file_id?: string; duration?: number; mime_type?: string; file_size?: number };
|
|
1180
|
+
document?: {
|
|
1181
|
+
file_id?: string;
|
|
1182
|
+
file_name?: string;
|
|
1183
|
+
mime_type?: string;
|
|
1184
|
+
file_size?: number;
|
|
1185
|
+
};
|
|
1146
1186
|
chat?: { id?: number | string };
|
|
1147
1187
|
from?: { id?: number | string };
|
|
1148
1188
|
};
|
|
@@ -1160,9 +1200,7 @@ export function registerRoutes(
|
|
|
1160
1200
|
const telegramChatId = String(message.chat.id);
|
|
1161
1201
|
const text = typeof message.text === "string" ? message.text.trim() : "";
|
|
1162
1202
|
const caption = typeof message.caption === "string" ? message.caption.trim() : "";
|
|
1163
|
-
const
|
|
1164
|
-
const hasVideo = !!message.video;
|
|
1165
|
-
const hasAudio = !!message.audio || !!message.voice;
|
|
1203
|
+
const attachmentCandidates = collectTelegramAttachmentCandidates(message);
|
|
1166
1204
|
|
|
1167
1205
|
const startCommandCode = text ? parseStartCommandCode(text) : null;
|
|
1168
1206
|
const isStartCommand = text.trimStart().startsWith("/start");
|
|
@@ -1241,24 +1279,8 @@ export function registerRoutes(
|
|
|
1241
1279
|
},
|
|
1242
1280
|
);
|
|
1243
1281
|
}
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
caption ||
|
|
1247
|
-
(hasPhoto && hasVideo && hasAudio
|
|
1248
|
-
? "[telegram media] photo + video + audio message"
|
|
1249
|
-
: hasPhoto && hasVideo
|
|
1250
|
-
? "[telegram media] photo + video message"
|
|
1251
|
-
: hasPhoto && hasAudio
|
|
1252
|
-
? "[telegram media] photo + audio message"
|
|
1253
|
-
: hasVideo && hasAudio
|
|
1254
|
-
? "[telegram media] video + audio message"
|
|
1255
|
-
: hasPhoto
|
|
1256
|
-
? "[telegram media] photo message"
|
|
1257
|
-
: hasVideo
|
|
1258
|
-
? "[telegram media] video message"
|
|
1259
|
-
: hasAudio
|
|
1260
|
-
? "[telegram media] audio message"
|
|
1261
|
-
: "");
|
|
1282
|
+
|
|
1283
|
+
const messageText = buildTelegramMessageText(text, caption, attachmentCandidates);
|
|
1262
1284
|
if (!messageText) {
|
|
1263
1285
|
return new Response(JSON.stringify({ ok: true, ignored: true }), {
|
|
1264
1286
|
status: 200,
|
|
@@ -1269,25 +1291,46 @@ export function registerRoutes(
|
|
|
1269
1291
|
telegramChatId,
|
|
1270
1292
|
telegramUserId,
|
|
1271
1293
|
};
|
|
1272
|
-
if (
|
|
1273
|
-
metadata.telegramMediaType =
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1294
|
+
if (attachmentCandidates.length > 0) {
|
|
1295
|
+
metadata.telegramMediaType = Array.from(
|
|
1296
|
+
new Set(attachmentCandidates.map((attachment) => attachment.kind)),
|
|
1297
|
+
).join("+");
|
|
1298
|
+
for (const attachment of attachmentCandidates) {
|
|
1299
|
+
const metadataKey = `telegram${attachment.kind[0].toUpperCase()}${attachment.kind.slice(1)}FileId`;
|
|
1300
|
+
metadata[metadataKey] = attachment.telegramFileId;
|
|
1277
1301
|
}
|
|
1278
1302
|
}
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
if (
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1303
|
+
const ingressConfig = await ctx.runQuery(
|
|
1304
|
+
(component.queue as any).getTelegramIngressRuntimeConfig,
|
|
1305
|
+
{ agentKey },
|
|
1306
|
+
);
|
|
1307
|
+
if (attachmentCandidates.length > 0 && !ingressConfig.botToken) {
|
|
1308
|
+
return new Response(
|
|
1309
|
+
JSON.stringify({
|
|
1310
|
+
ok: false,
|
|
1311
|
+
error: `missing active telegram bot token for agent '${agentKey}'`,
|
|
1312
|
+
}),
|
|
1313
|
+
{
|
|
1314
|
+
status: 503,
|
|
1315
|
+
headers: { "Content-Type": "application/json" },
|
|
1316
|
+
},
|
|
1317
|
+
);
|
|
1290
1318
|
}
|
|
1319
|
+
const expiresAt = Date.now() + ingressConfig.attachmentRetentionMs;
|
|
1320
|
+
const attachments =
|
|
1321
|
+
attachmentCandidates.length > 0 && ingressConfig.botToken
|
|
1322
|
+
? await Promise.all(
|
|
1323
|
+
attachmentCandidates.map((attachment) =>
|
|
1324
|
+
uploadTelegramAttachmentToConvex(
|
|
1325
|
+
ctx,
|
|
1326
|
+
component,
|
|
1327
|
+
ingressConfig.botToken as string,
|
|
1328
|
+
attachment,
|
|
1329
|
+
expiresAt,
|
|
1330
|
+
),
|
|
1331
|
+
),
|
|
1332
|
+
)
|
|
1333
|
+
: undefined;
|
|
1291
1334
|
await ctx.runMutation(component.lib.enqueue, {
|
|
1292
1335
|
conversationId: mapped.conversationId ?? `telegram:${telegramChatId}`,
|
|
1293
1336
|
agentKey,
|
|
@@ -1298,6 +1341,7 @@ export function registerRoutes(
|
|
|
1298
1341
|
externalMessageId: String(message.message_id ?? update.update_id ?? ""),
|
|
1299
1342
|
rawUpdateJson: JSON.stringify(update),
|
|
1300
1343
|
metadata,
|
|
1344
|
+
attachments,
|
|
1301
1345
|
},
|
|
1302
1346
|
providerConfig,
|
|
1303
1347
|
});
|
|
@@ -1313,3 +1357,219 @@ function parseStartCommandCode(messageText: string): string | null {
|
|
|
1313
1357
|
const match = messageText.match(/^\/start(?:@\w+)?\s+([A-Za-z0-9_-]{4,128})\s*$/);
|
|
1314
1358
|
return match ? match[1] : null;
|
|
1315
1359
|
}
|
|
1360
|
+
|
|
1361
|
+
type TelegramWebhookMessage = {
|
|
1362
|
+
text?: string;
|
|
1363
|
+
caption?: string;
|
|
1364
|
+
message_id?: number;
|
|
1365
|
+
photo?: Array<{ file_id?: string; file_size?: number }>;
|
|
1366
|
+
video?: {
|
|
1367
|
+
file_id?: string;
|
|
1368
|
+
file_name?: string;
|
|
1369
|
+
mime_type?: string;
|
|
1370
|
+
file_size?: number;
|
|
1371
|
+
};
|
|
1372
|
+
audio?: {
|
|
1373
|
+
file_id?: string;
|
|
1374
|
+
file_name?: string;
|
|
1375
|
+
mime_type?: string;
|
|
1376
|
+
file_size?: number;
|
|
1377
|
+
};
|
|
1378
|
+
voice?: {
|
|
1379
|
+
file_id?: string;
|
|
1380
|
+
mime_type?: string;
|
|
1381
|
+
file_size?: number;
|
|
1382
|
+
};
|
|
1383
|
+
document?: {
|
|
1384
|
+
file_id?: string;
|
|
1385
|
+
file_name?: string;
|
|
1386
|
+
mime_type?: string;
|
|
1387
|
+
file_size?: number;
|
|
1388
|
+
};
|
|
1389
|
+
};
|
|
1390
|
+
|
|
1391
|
+
type TelegramAttachmentCandidate = {
|
|
1392
|
+
kind: "photo" | "video" | "audio" | "voice" | "document";
|
|
1393
|
+
telegramFileId: string;
|
|
1394
|
+
fileName?: string;
|
|
1395
|
+
mimeType?: string;
|
|
1396
|
+
sizeBytes?: number;
|
|
1397
|
+
};
|
|
1398
|
+
|
|
1399
|
+
function collectTelegramAttachmentCandidates(
|
|
1400
|
+
message: TelegramWebhookMessage,
|
|
1401
|
+
): Array<TelegramAttachmentCandidate> {
|
|
1402
|
+
const attachments: Array<TelegramAttachmentCandidate> = [];
|
|
1403
|
+
const largestPhoto = Array.isArray(message.photo) ? message.photo[message.photo.length - 1] : null;
|
|
1404
|
+
if (largestPhoto?.file_id) {
|
|
1405
|
+
attachments.push({
|
|
1406
|
+
kind: "photo",
|
|
1407
|
+
telegramFileId: largestPhoto.file_id,
|
|
1408
|
+
sizeBytes: largestPhoto.file_size,
|
|
1409
|
+
mimeType: "image/jpeg",
|
|
1410
|
+
});
|
|
1411
|
+
}
|
|
1412
|
+
if (message.video?.file_id) {
|
|
1413
|
+
attachments.push({
|
|
1414
|
+
kind: "video",
|
|
1415
|
+
telegramFileId: message.video.file_id,
|
|
1416
|
+
fileName: message.video.file_name,
|
|
1417
|
+
mimeType: message.video.mime_type,
|
|
1418
|
+
sizeBytes: message.video.file_size,
|
|
1419
|
+
});
|
|
1420
|
+
}
|
|
1421
|
+
if (message.audio?.file_id) {
|
|
1422
|
+
attachments.push({
|
|
1423
|
+
kind: "audio",
|
|
1424
|
+
telegramFileId: message.audio.file_id,
|
|
1425
|
+
fileName: message.audio.file_name,
|
|
1426
|
+
mimeType: message.audio.mime_type,
|
|
1427
|
+
sizeBytes: message.audio.file_size,
|
|
1428
|
+
});
|
|
1429
|
+
}
|
|
1430
|
+
if (message.voice?.file_id) {
|
|
1431
|
+
attachments.push({
|
|
1432
|
+
kind: "voice",
|
|
1433
|
+
telegramFileId: message.voice.file_id,
|
|
1434
|
+
mimeType: message.voice.mime_type,
|
|
1435
|
+
sizeBytes: message.voice.file_size,
|
|
1436
|
+
});
|
|
1437
|
+
}
|
|
1438
|
+
if (message.document?.file_id) {
|
|
1439
|
+
attachments.push({
|
|
1440
|
+
kind: "document",
|
|
1441
|
+
telegramFileId: message.document.file_id,
|
|
1442
|
+
fileName: message.document.file_name,
|
|
1443
|
+
mimeType: message.document.mime_type,
|
|
1444
|
+
sizeBytes: message.document.file_size,
|
|
1445
|
+
});
|
|
1446
|
+
}
|
|
1447
|
+
return attachments;
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1450
|
+
function buildTelegramMessageText(
|
|
1451
|
+
text: string,
|
|
1452
|
+
caption: string,
|
|
1453
|
+
attachments: Array<TelegramAttachmentCandidate>,
|
|
1454
|
+
): string {
|
|
1455
|
+
if (text) {
|
|
1456
|
+
return text;
|
|
1457
|
+
}
|
|
1458
|
+
if (caption) {
|
|
1459
|
+
return caption;
|
|
1460
|
+
}
|
|
1461
|
+
if (attachments.length === 0) {
|
|
1462
|
+
return "";
|
|
1463
|
+
}
|
|
1464
|
+
const kinds = Array.from(new Set(attachments.map((attachment) => attachment.kind)));
|
|
1465
|
+
const label = kinds.join(" + ");
|
|
1466
|
+
return `[telegram media] ${label} message`;
|
|
1467
|
+
}
|
|
1468
|
+
|
|
1469
|
+
async function uploadTelegramAttachmentToConvex(
|
|
1470
|
+
ctx: Pick<GenericActionCtx<GenericDataModel>, "runMutation">,
|
|
1471
|
+
component: ComponentApi,
|
|
1472
|
+
telegramBotToken: string,
|
|
1473
|
+
attachment: TelegramAttachmentCandidate,
|
|
1474
|
+
expiresAt: number,
|
|
1475
|
+
) {
|
|
1476
|
+
const filePath = await fetchTelegramFilePath(telegramBotToken, attachment.telegramFileId);
|
|
1477
|
+
const downloaded = await downloadTelegramFile(telegramBotToken, filePath);
|
|
1478
|
+
const uploadTarget = (await ctx.runMutation((component.queue as any).generateMediaUploadUrl, {})) as {
|
|
1479
|
+
uploadUrl: string;
|
|
1480
|
+
};
|
|
1481
|
+
const uploadResponse = await fetch(uploadTarget.uploadUrl, {
|
|
1482
|
+
method: "POST",
|
|
1483
|
+
headers:
|
|
1484
|
+
downloaded.mimeType.length > 0
|
|
1485
|
+
? {
|
|
1486
|
+
"Content-Type": downloaded.mimeType,
|
|
1487
|
+
}
|
|
1488
|
+
: undefined,
|
|
1489
|
+
body: downloaded.blob,
|
|
1490
|
+
});
|
|
1491
|
+
const uploadPayload = (await uploadResponse.json().catch(() => ({}))) as {
|
|
1492
|
+
storageId?: string;
|
|
1493
|
+
};
|
|
1494
|
+
if (!uploadResponse.ok || typeof uploadPayload.storageId !== "string") {
|
|
1495
|
+
throw new Error(`Convex storage upload failed for Telegram ${attachment.kind} attachment`);
|
|
1496
|
+
}
|
|
1497
|
+
return {
|
|
1498
|
+
kind: attachment.kind,
|
|
1499
|
+
status: "ready" as const,
|
|
1500
|
+
storageId: uploadPayload.storageId,
|
|
1501
|
+
telegramFileId: attachment.telegramFileId,
|
|
1502
|
+
fileName: attachment.fileName,
|
|
1503
|
+
mimeType: downloaded.mimeType || attachment.mimeType,
|
|
1504
|
+
sizeBytes: attachment.sizeBytes ?? downloaded.blob.size,
|
|
1505
|
+
expiresAt,
|
|
1506
|
+
};
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1509
|
+
async function fetchTelegramFilePath(
|
|
1510
|
+
telegramBotToken: string,
|
|
1511
|
+
telegramFileId: string,
|
|
1512
|
+
): Promise<string> {
|
|
1513
|
+
const telegramApiBaseUrl = `https://api.telegram.org/bot${encodeURIComponent(telegramBotToken)}`;
|
|
1514
|
+
const response = await fetch(
|
|
1515
|
+
`${telegramApiBaseUrl}/getFile?file_id=${encodeURIComponent(telegramFileId)}`,
|
|
1516
|
+
);
|
|
1517
|
+
const payload = (await response.json().catch(() => ({}))) as {
|
|
1518
|
+
ok?: boolean;
|
|
1519
|
+
description?: string;
|
|
1520
|
+
result?: {
|
|
1521
|
+
file_path?: string;
|
|
1522
|
+
};
|
|
1523
|
+
};
|
|
1524
|
+
if (!response.ok || payload.ok !== true || typeof payload.result?.file_path !== "string") {
|
|
1525
|
+
throw new Error(
|
|
1526
|
+
`Telegram getFile failed: ${typeof payload.description === "string" ? payload.description : "missing file_path"}`,
|
|
1527
|
+
);
|
|
1528
|
+
}
|
|
1529
|
+
return payload.result.file_path;
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
async function downloadTelegramFile(telegramBotToken: string, filePath: string) {
|
|
1533
|
+
const response = await fetch(
|
|
1534
|
+
`https://api.telegram.org/file/bot${encodeURIComponent(telegramBotToken)}/${filePath}`,
|
|
1535
|
+
);
|
|
1536
|
+
if (!response.ok) {
|
|
1537
|
+
throw new Error(`Telegram file download failed with status ${response.status}`);
|
|
1538
|
+
}
|
|
1539
|
+
const blob = await response.blob();
|
|
1540
|
+
const mimeType =
|
|
1541
|
+
response.headers.get("Content-Type") ??
|
|
1542
|
+
blob.type ??
|
|
1543
|
+
inferMimeTypeFromFilePath(filePath) ??
|
|
1544
|
+
"application/octet-stream";
|
|
1545
|
+
return {
|
|
1546
|
+
blob: mimeType === blob.type ? blob : new Blob([await blob.arrayBuffer()], { type: mimeType }),
|
|
1547
|
+
mimeType,
|
|
1548
|
+
};
|
|
1549
|
+
}
|
|
1550
|
+
|
|
1551
|
+
function inferMimeTypeFromFilePath(filePath: string): string | null {
|
|
1552
|
+
const normalizedPath = filePath.toLowerCase();
|
|
1553
|
+
if (normalizedPath.endsWith(".jpg") || normalizedPath.endsWith(".jpeg")) {
|
|
1554
|
+
return "image/jpeg";
|
|
1555
|
+
}
|
|
1556
|
+
if (normalizedPath.endsWith(".png")) {
|
|
1557
|
+
return "image/png";
|
|
1558
|
+
}
|
|
1559
|
+
if (normalizedPath.endsWith(".webp")) {
|
|
1560
|
+
return "image/webp";
|
|
1561
|
+
}
|
|
1562
|
+
if (normalizedPath.endsWith(".mp4")) {
|
|
1563
|
+
return "video/mp4";
|
|
1564
|
+
}
|
|
1565
|
+
if (normalizedPath.endsWith(".mp3")) {
|
|
1566
|
+
return "audio/mpeg";
|
|
1567
|
+
}
|
|
1568
|
+
if (normalizedPath.endsWith(".ogg")) {
|
|
1569
|
+
return "audio/ogg";
|
|
1570
|
+
}
|
|
1571
|
+
if (normalizedPath.endsWith(".pdf")) {
|
|
1572
|
+
return "application/pdf";
|
|
1573
|
+
}
|
|
1574
|
+
return null;
|
|
1575
|
+
}
|