@nairon-ai/aegis 0.5.2 → 0.5.4
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 +10 -0
- package/dist-node/cli/commands/setup.d.ts.map +1 -1
- package/dist-node/cli/commands/setup.js +98 -2
- package/dist-node/cli/commands/setup.js.map +1 -1
- package/dist-node/sandbox/github-token.js +68 -3
- package/dist-node/sandbox/github-token.js.map +1 -1
- package/docs/SETUP.md +10 -0
- package/package.json +1 -1
- package/src/cli/commands/setup.ts +151 -2
- package/src/sandbox/github-token.ts +78 -3
package/README.md
CHANGED
|
@@ -147,6 +147,16 @@ Cloudflare Sandbox is currently available on Workers Paid and uses Docker during
|
|
|
147
147
|
- Optional: read-only production database URL
|
|
148
148
|
- Optional: Vercel API token/project ID for logs
|
|
149
149
|
|
|
150
|
+
Telegram bot setup is:
|
|
151
|
+
|
|
152
|
+
1. Open Telegram and search for the verified `@BotFather` account.
|
|
153
|
+
2. Send `/newbot`.
|
|
154
|
+
3. Pick a display name.
|
|
155
|
+
4. Pick a username ending in `bot`.
|
|
156
|
+
5. Copy the HTTP API token BotFather replies with.
|
|
157
|
+
|
|
158
|
+
Aegis then asks you to message your new bot once and auto-detects the chat ID.
|
|
159
|
+
|
|
150
160
|
## Quick Start
|
|
151
161
|
|
|
152
162
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAwDA,eAAO,MAAM,YAAY,qDAKvB,CAAC;AAEH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAoCpD"}
|
|
@@ -742,7 +742,10 @@ async function setupTelegram(config) {
|
|
|
742
742
|
if (!enable)
|
|
743
743
|
return;
|
|
744
744
|
printStep("Telegram bot", [
|
|
745
|
-
"
|
|
745
|
+
"Open Telegram and search for the verified @BotFather account.",
|
|
746
|
+
"Message /newbot, choose a display name, then choose a username that ends in bot.",
|
|
747
|
+
"BotFather will reply with an HTTP API token. Paste that full token here.",
|
|
748
|
+
"After that, message your new bot once and Aegis will find your chat ID automatically.",
|
|
746
749
|
"Aegis will send short approval summaries to that chat.",
|
|
747
750
|
]);
|
|
748
751
|
if (config.telegramBotToken) {
|
|
@@ -755,7 +758,7 @@ async function setupTelegram(config) {
|
|
|
755
758
|
consola.info(`Using saved Telegram chat ID ${config.telegramChatId}.`);
|
|
756
759
|
}
|
|
757
760
|
else {
|
|
758
|
-
config.telegramChatId = await
|
|
761
|
+
config.telegramChatId = await setupTelegramChatId(config.telegramBotToken);
|
|
759
762
|
}
|
|
760
763
|
if (config.telegramWebhookSecret) {
|
|
761
764
|
consola.info("Telegram webhook secret is already configured.");
|
|
@@ -771,6 +774,99 @@ async function setupTelegram(config) {
|
|
|
771
774
|
: await promptText("Telegram webhook secret:", config.telegramWebhookSecret);
|
|
772
775
|
}
|
|
773
776
|
}
|
|
777
|
+
async function setupTelegramChatId(botToken) {
|
|
778
|
+
if (!botToken)
|
|
779
|
+
return "";
|
|
780
|
+
const bot = await fetchTelegramBotInfo(botToken);
|
|
781
|
+
const openLine = bot?.username
|
|
782
|
+
? `Open Telegram chat: https://t.me/${bot.username}`
|
|
783
|
+
: "Open Telegram, find the bot you created in BotFather, and send it any message.";
|
|
784
|
+
printStep("Telegram chat ID", [
|
|
785
|
+
openLine,
|
|
786
|
+
"Send any message like: hi",
|
|
787
|
+
"Aegis will wait up to 60 seconds and then let you pick the chat.",
|
|
788
|
+
]);
|
|
789
|
+
if (bot?.username)
|
|
790
|
+
openBrowser(`https://t.me/${bot.username}`);
|
|
791
|
+
const chats = await waitForTelegramChats(botToken);
|
|
792
|
+
if (chats.length === 1) {
|
|
793
|
+
consola.success(`Found Telegram chat: ${chats[0].label}`);
|
|
794
|
+
return chats[0].id;
|
|
795
|
+
}
|
|
796
|
+
if (chats.length > 1) {
|
|
797
|
+
return await promptSelect("Telegram chat:", chats.map((chat) => ({
|
|
798
|
+
label: chat.label,
|
|
799
|
+
value: chat.id,
|
|
800
|
+
})));
|
|
801
|
+
}
|
|
802
|
+
consola.warn("No Telegram chat found yet.");
|
|
803
|
+
printStep("Manual fallback", [
|
|
804
|
+
"Message the bot first, then open this URL in a browser:",
|
|
805
|
+
"https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates",
|
|
806
|
+
"Find result[0].message.chat.id and paste that number here.",
|
|
807
|
+
"Group chat IDs usually start with -100.",
|
|
808
|
+
]);
|
|
809
|
+
return await promptText("Telegram chat ID:", undefined);
|
|
810
|
+
}
|
|
811
|
+
async function fetchTelegramBotInfo(botToken) {
|
|
812
|
+
try {
|
|
813
|
+
const response = await fetch(`https://api.telegram.org/bot${botToken}/getMe`);
|
|
814
|
+
const payload = (await response.json());
|
|
815
|
+
if (!response.ok || !payload.ok) {
|
|
816
|
+
consola.warn(payload.description ?? "Telegram bot token could not be verified.");
|
|
817
|
+
return undefined;
|
|
818
|
+
}
|
|
819
|
+
return payload.result;
|
|
820
|
+
}
|
|
821
|
+
catch (error) {
|
|
822
|
+
consola.warn(`Could not verify Telegram bot: ${error instanceof Error ? error.message : String(error)}`);
|
|
823
|
+
return undefined;
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
async function waitForTelegramChats(botToken) {
|
|
827
|
+
consola.info("Waiting for a Telegram message to the bot...");
|
|
828
|
+
const startedAt = Date.now();
|
|
829
|
+
while (Date.now() - startedAt < 60_000) {
|
|
830
|
+
const chats = await fetchTelegramChats(botToken);
|
|
831
|
+
if (chats.length > 0)
|
|
832
|
+
return chats;
|
|
833
|
+
await sleep(2_000);
|
|
834
|
+
}
|
|
835
|
+
return [];
|
|
836
|
+
}
|
|
837
|
+
async function fetchTelegramChats(botToken) {
|
|
838
|
+
const url = new URL(`https://api.telegram.org/bot${botToken}/getUpdates`);
|
|
839
|
+
url.searchParams.set("allowed_updates", JSON.stringify(["message", "channel_post", "edited_message", "edited_channel_post"]));
|
|
840
|
+
const response = await fetch(url);
|
|
841
|
+
const payload = (await response.json());
|
|
842
|
+
if (!response.ok || !payload.ok) {
|
|
843
|
+
throw new Error(payload.description ?? "Telegram getUpdates failed.");
|
|
844
|
+
}
|
|
845
|
+
const chats = new Map();
|
|
846
|
+
for (const update of payload.result ?? []) {
|
|
847
|
+
const message = update.message ?? update.channel_post ?? update.edited_message ?? update.edited_channel_post;
|
|
848
|
+
if (!message?.chat)
|
|
849
|
+
continue;
|
|
850
|
+
const id = String(message.chat.id);
|
|
851
|
+
const option = {
|
|
852
|
+
id,
|
|
853
|
+
label: formatTelegramChat(message.chat),
|
|
854
|
+
updatedAt: message.date ?? 0,
|
|
855
|
+
};
|
|
856
|
+
const existing = chats.get(id);
|
|
857
|
+
if (!existing || existing.updatedAt <= option.updatedAt) {
|
|
858
|
+
chats.set(id, option);
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
return [...chats.values()].sort((a, b) => b.updatedAt - a.updatedAt);
|
|
862
|
+
}
|
|
863
|
+
function formatTelegramChat(chat) {
|
|
864
|
+
const personName = [chat.first_name, chat.last_name].filter(Boolean).join(" ");
|
|
865
|
+
const name = chat.title || personName || chat.username || "Telegram chat";
|
|
866
|
+
const username = chat.username ? ` @${chat.username}` : "";
|
|
867
|
+
const type = chat.type ? ` ${chat.type}` : "";
|
|
868
|
+
return `${name}${username}${type} (${chat.id})`;
|
|
869
|
+
}
|
|
774
870
|
async function setupWorker(config) {
|
|
775
871
|
if (config.workerUrl) {
|
|
776
872
|
printStep("Step 10: Worker URL already saved", [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,15 +52,80 @@ function base64url(input) {
|
|
|
52
52
|
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
53
53
|
}
|
|
54
54
|
function pemToArrayBuffer(pem) {
|
|
55
|
-
const
|
|
55
|
+
const isPkcs1 = pem.includes("BEGIN RSA PRIVATE KEY");
|
|
56
|
+
const base64 = pem
|
|
56
57
|
.replace(/-----BEGIN .+-----/, "")
|
|
57
58
|
.replace(/-----END .+-----/, "")
|
|
58
59
|
.replace(/\s/g, "");
|
|
59
|
-
const binary = atob(
|
|
60
|
+
const binary = atob(base64);
|
|
60
61
|
const bytes = new Uint8Array(binary.length);
|
|
61
62
|
for (let i = 0; i < binary.length; i++) {
|
|
62
63
|
bytes[i] = binary.charCodeAt(i);
|
|
63
64
|
}
|
|
64
|
-
return bytes
|
|
65
|
+
return toArrayBuffer(isPkcs1 ? wrapPkcs1RsaKey(bytes) : bytes);
|
|
66
|
+
}
|
|
67
|
+
function wrapPkcs1RsaKey(pkcs1) {
|
|
68
|
+
const version = derIntegerZero();
|
|
69
|
+
const algorithm = derSequence(derObjectIdentifier([1, 2, 840, 113549, 1, 1, 1]), derNull());
|
|
70
|
+
const privateKey = derOctetString(pkcs1);
|
|
71
|
+
return derSequence(version, algorithm, privateKey);
|
|
72
|
+
}
|
|
73
|
+
function derSequence(...parts) {
|
|
74
|
+
return derTagged(0x30, concatBytes(parts));
|
|
75
|
+
}
|
|
76
|
+
function derIntegerZero() {
|
|
77
|
+
return new Uint8Array([0x02, 0x01, 0x00]);
|
|
78
|
+
}
|
|
79
|
+
function derNull() {
|
|
80
|
+
return new Uint8Array([0x05, 0x00]);
|
|
81
|
+
}
|
|
82
|
+
function derOctetString(value) {
|
|
83
|
+
return derTagged(0x04, value);
|
|
84
|
+
}
|
|
85
|
+
function derObjectIdentifier(parts) {
|
|
86
|
+
const [first, second, ...rest] = parts;
|
|
87
|
+
const bytes = [first * 40 + second];
|
|
88
|
+
for (const part of rest) {
|
|
89
|
+
bytes.push(...encodeBase128(part));
|
|
90
|
+
}
|
|
91
|
+
return derTagged(0x06, new Uint8Array(bytes));
|
|
92
|
+
}
|
|
93
|
+
function derTagged(tag, value) {
|
|
94
|
+
return concatBytes([new Uint8Array([tag]), derLength(value.length), value]);
|
|
95
|
+
}
|
|
96
|
+
function derLength(length) {
|
|
97
|
+
if (length < 0x80)
|
|
98
|
+
return new Uint8Array([length]);
|
|
99
|
+
const bytes = [];
|
|
100
|
+
let remaining = length;
|
|
101
|
+
while (remaining > 0) {
|
|
102
|
+
bytes.unshift(remaining & 0xff);
|
|
103
|
+
remaining >>= 8;
|
|
104
|
+
}
|
|
105
|
+
return new Uint8Array([0x80 | bytes.length, ...bytes]);
|
|
106
|
+
}
|
|
107
|
+
function encodeBase128(value) {
|
|
108
|
+
const bytes = [value & 0x7f];
|
|
109
|
+
let remaining = value >> 7;
|
|
110
|
+
while (remaining > 0) {
|
|
111
|
+
bytes.unshift(0x80 | (remaining & 0x7f));
|
|
112
|
+
remaining >>= 7;
|
|
113
|
+
}
|
|
114
|
+
return bytes;
|
|
115
|
+
}
|
|
116
|
+
function concatBytes(parts) {
|
|
117
|
+
const size = parts.reduce((total, part) => total + part.length, 0);
|
|
118
|
+
const output = new Uint8Array(size);
|
|
119
|
+
let offset = 0;
|
|
120
|
+
for (const part of parts) {
|
|
121
|
+
output.set(part, offset);
|
|
122
|
+
offset += part.length;
|
|
123
|
+
}
|
|
124
|
+
return output;
|
|
125
|
+
}
|
|
126
|
+
function toArrayBuffer(bytes) {
|
|
127
|
+
const copy = new Uint8Array(bytes.byteLength);
|
|
128
|
+
copy.set(bytes);
|
|
129
|
+
return copy.buffer;
|
|
65
130
|
}
|
|
66
131
|
//# sourceMappingURL=github-token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-token.js","sourceRoot":"","sources":["../../src/sandbox/github-token.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"github-token.js","sourceRoot":"","sources":["../../src/sandbox/github-token.ts"],"names":[],"mappings":"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"}
|
package/docs/SETUP.md
CHANGED
|
@@ -344,6 +344,16 @@ Configure Linear to match the setup wizard:
|
|
|
344
344
|
|
|
345
345
|
Only needed if Telegram approvals are enabled.
|
|
346
346
|
|
|
347
|
+
Create the Telegram bot first:
|
|
348
|
+
|
|
349
|
+
1. Open Telegram and search for the verified `@BotFather` account.
|
|
350
|
+
2. Send `/newbot`.
|
|
351
|
+
3. Pick a display name, for example `Aegis`.
|
|
352
|
+
4. Pick a username ending in `bot`, for example `my_company_aegis_bot`.
|
|
353
|
+
5. Copy the HTTP API token BotFather replies with.
|
|
354
|
+
6. Paste that token into `aegis setup`.
|
|
355
|
+
7. Message your new bot once. Aegis will detect the chat ID automatically.
|
|
356
|
+
|
|
347
357
|
```bash
|
|
348
358
|
curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/setWebhook" \
|
|
349
359
|
-d "url=https://YOUR_WORKER.workers.dev/webhook/telegram" \
|
package/package.json
CHANGED
|
@@ -25,6 +25,16 @@ type LinearTeam = {
|
|
|
25
25
|
key: string;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
+
type TelegramBotInfo = {
|
|
29
|
+
username?: string;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
type TelegramChatOption = {
|
|
33
|
+
id: string;
|
|
34
|
+
label: string;
|
|
35
|
+
updatedAt: number;
|
|
36
|
+
};
|
|
37
|
+
|
|
28
38
|
type InstalledGitHubApp = {
|
|
29
39
|
appId: string;
|
|
30
40
|
installationId: string;
|
|
@@ -901,7 +911,10 @@ async function setupTelegram(config: AegisCliConfig): Promise<void> {
|
|
|
901
911
|
if (!enable) return;
|
|
902
912
|
|
|
903
913
|
printStep("Telegram bot", [
|
|
904
|
-
"
|
|
914
|
+
"Open Telegram and search for the verified @BotFather account.",
|
|
915
|
+
"Message /newbot, choose a display name, then choose a username that ends in bot.",
|
|
916
|
+
"BotFather will reply with an HTTP API token. Paste that full token here.",
|
|
917
|
+
"After that, message your new bot once and Aegis will find your chat ID automatically.",
|
|
905
918
|
"Aegis will send short approval summaries to that chat.",
|
|
906
919
|
]);
|
|
907
920
|
if (config.telegramBotToken) {
|
|
@@ -912,7 +925,7 @@ async function setupTelegram(config: AegisCliConfig): Promise<void> {
|
|
|
912
925
|
if (config.telegramChatId) {
|
|
913
926
|
consola.info(`Using saved Telegram chat ID ${config.telegramChatId}.`);
|
|
914
927
|
} else {
|
|
915
|
-
config.telegramChatId = await
|
|
928
|
+
config.telegramChatId = await setupTelegramChatId(config.telegramBotToken);
|
|
916
929
|
}
|
|
917
930
|
if (config.telegramWebhookSecret) {
|
|
918
931
|
consola.info("Telegram webhook secret is already configured.");
|
|
@@ -928,6 +941,142 @@ async function setupTelegram(config: AegisCliConfig): Promise<void> {
|
|
|
928
941
|
}
|
|
929
942
|
}
|
|
930
943
|
|
|
944
|
+
async function setupTelegramChatId(botToken: string | undefined): Promise<string> {
|
|
945
|
+
if (!botToken) return "";
|
|
946
|
+
|
|
947
|
+
const bot = await fetchTelegramBotInfo(botToken);
|
|
948
|
+
const openLine = bot?.username
|
|
949
|
+
? `Open Telegram chat: https://t.me/${bot.username}`
|
|
950
|
+
: "Open Telegram, find the bot you created in BotFather, and send it any message.";
|
|
951
|
+
|
|
952
|
+
printStep("Telegram chat ID", [
|
|
953
|
+
openLine,
|
|
954
|
+
"Send any message like: hi",
|
|
955
|
+
"Aegis will wait up to 60 seconds and then let you pick the chat.",
|
|
956
|
+
]);
|
|
957
|
+
if (bot?.username) openBrowser(`https://t.me/${bot.username}`);
|
|
958
|
+
|
|
959
|
+
const chats = await waitForTelegramChats(botToken);
|
|
960
|
+
if (chats.length === 1) {
|
|
961
|
+
consola.success(`Found Telegram chat: ${chats[0].label}`);
|
|
962
|
+
return chats[0].id;
|
|
963
|
+
}
|
|
964
|
+
if (chats.length > 1) {
|
|
965
|
+
return await promptSelect(
|
|
966
|
+
"Telegram chat:",
|
|
967
|
+
chats.map((chat) => ({
|
|
968
|
+
label: chat.label,
|
|
969
|
+
value: chat.id,
|
|
970
|
+
})),
|
|
971
|
+
);
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
consola.warn("No Telegram chat found yet.");
|
|
975
|
+
printStep("Manual fallback", [
|
|
976
|
+
"Message the bot first, then open this URL in a browser:",
|
|
977
|
+
"https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates",
|
|
978
|
+
"Find result[0].message.chat.id and paste that number here.",
|
|
979
|
+
"Group chat IDs usually start with -100.",
|
|
980
|
+
]);
|
|
981
|
+
return await promptText("Telegram chat ID:", undefined);
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
async function fetchTelegramBotInfo(botToken: string): Promise<TelegramBotInfo | undefined> {
|
|
985
|
+
try {
|
|
986
|
+
const response = await fetch(`https://api.telegram.org/bot${botToken}/getMe`);
|
|
987
|
+
const payload = (await response.json()) as {
|
|
988
|
+
ok?: boolean;
|
|
989
|
+
result?: TelegramBotInfo;
|
|
990
|
+
description?: string;
|
|
991
|
+
};
|
|
992
|
+
if (!response.ok || !payload.ok) {
|
|
993
|
+
consola.warn(payload.description ?? "Telegram bot token could not be verified.");
|
|
994
|
+
return undefined;
|
|
995
|
+
}
|
|
996
|
+
return payload.result;
|
|
997
|
+
} catch (error) {
|
|
998
|
+
consola.warn(
|
|
999
|
+
`Could not verify Telegram bot: ${error instanceof Error ? error.message : String(error)}`,
|
|
1000
|
+
);
|
|
1001
|
+
return undefined;
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
async function waitForTelegramChats(botToken: string): Promise<TelegramChatOption[]> {
|
|
1006
|
+
consola.info("Waiting for a Telegram message to the bot...");
|
|
1007
|
+
const startedAt = Date.now();
|
|
1008
|
+
while (Date.now() - startedAt < 60_000) {
|
|
1009
|
+
const chats = await fetchTelegramChats(botToken);
|
|
1010
|
+
if (chats.length > 0) return chats;
|
|
1011
|
+
await sleep(2_000);
|
|
1012
|
+
}
|
|
1013
|
+
return [];
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
async function fetchTelegramChats(botToken: string): Promise<TelegramChatOption[]> {
|
|
1017
|
+
const url = new URL(`https://api.telegram.org/bot${botToken}/getUpdates`);
|
|
1018
|
+
url.searchParams.set(
|
|
1019
|
+
"allowed_updates",
|
|
1020
|
+
JSON.stringify(["message", "channel_post", "edited_message", "edited_channel_post"]),
|
|
1021
|
+
);
|
|
1022
|
+
const response = await fetch(url);
|
|
1023
|
+
const payload = (await response.json()) as {
|
|
1024
|
+
ok?: boolean;
|
|
1025
|
+
result?: TelegramUpdate[];
|
|
1026
|
+
description?: string;
|
|
1027
|
+
};
|
|
1028
|
+
if (!response.ok || !payload.ok) {
|
|
1029
|
+
throw new Error(payload.description ?? "Telegram getUpdates failed.");
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
const chats = new Map<string, TelegramChatOption>();
|
|
1033
|
+
for (const update of payload.result ?? []) {
|
|
1034
|
+
const message =
|
|
1035
|
+
update.message ?? update.channel_post ?? update.edited_message ?? update.edited_channel_post;
|
|
1036
|
+
if (!message?.chat) continue;
|
|
1037
|
+
const id = String(message.chat.id);
|
|
1038
|
+
const option = {
|
|
1039
|
+
id,
|
|
1040
|
+
label: formatTelegramChat(message.chat),
|
|
1041
|
+
updatedAt: message.date ?? 0,
|
|
1042
|
+
};
|
|
1043
|
+
const existing = chats.get(id);
|
|
1044
|
+
if (!existing || existing.updatedAt <= option.updatedAt) {
|
|
1045
|
+
chats.set(id, option);
|
|
1046
|
+
}
|
|
1047
|
+
}
|
|
1048
|
+
return [...chats.values()].sort((a, b) => b.updatedAt - a.updatedAt);
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
type TelegramUpdate = {
|
|
1052
|
+
message?: TelegramMessage;
|
|
1053
|
+
channel_post?: TelegramMessage;
|
|
1054
|
+
edited_message?: TelegramMessage;
|
|
1055
|
+
edited_channel_post?: TelegramMessage;
|
|
1056
|
+
};
|
|
1057
|
+
|
|
1058
|
+
type TelegramMessage = {
|
|
1059
|
+
date?: number;
|
|
1060
|
+
chat?: TelegramChat;
|
|
1061
|
+
};
|
|
1062
|
+
|
|
1063
|
+
type TelegramChat = {
|
|
1064
|
+
id: number;
|
|
1065
|
+
type?: string;
|
|
1066
|
+
title?: string;
|
|
1067
|
+
username?: string;
|
|
1068
|
+
first_name?: string;
|
|
1069
|
+
last_name?: string;
|
|
1070
|
+
};
|
|
1071
|
+
|
|
1072
|
+
function formatTelegramChat(chat: TelegramChat): string {
|
|
1073
|
+
const personName = [chat.first_name, chat.last_name].filter(Boolean).join(" ");
|
|
1074
|
+
const name = chat.title || personName || chat.username || "Telegram chat";
|
|
1075
|
+
const username = chat.username ? ` @${chat.username}` : "";
|
|
1076
|
+
const type = chat.type ? ` ${chat.type}` : "";
|
|
1077
|
+
return `${name}${username}${type} (${chat.id})`;
|
|
1078
|
+
}
|
|
1079
|
+
|
|
931
1080
|
async function setupWorker(config: AegisCliConfig): Promise<void> {
|
|
932
1081
|
if (config.workerUrl) {
|
|
933
1082
|
printStep("Step 10: Worker URL already saved", [
|
|
@@ -79,14 +79,89 @@ function base64url(input: string | ArrayBuffer): string {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
function pemToArrayBuffer(pem: string): ArrayBuffer {
|
|
82
|
-
const
|
|
82
|
+
const isPkcs1 = pem.includes("BEGIN RSA PRIVATE KEY");
|
|
83
|
+
const base64 = pem
|
|
83
84
|
.replace(/-----BEGIN .+-----/, "")
|
|
84
85
|
.replace(/-----END .+-----/, "")
|
|
85
86
|
.replace(/\s/g, "");
|
|
86
|
-
const binary = atob(
|
|
87
|
+
const binary = atob(base64);
|
|
87
88
|
const bytes = new Uint8Array(binary.length);
|
|
88
89
|
for (let i = 0; i < binary.length; i++) {
|
|
89
90
|
bytes[i] = binary.charCodeAt(i);
|
|
90
91
|
}
|
|
91
|
-
return bytes
|
|
92
|
+
return toArrayBuffer(isPkcs1 ? wrapPkcs1RsaKey(bytes) : bytes);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function wrapPkcs1RsaKey(pkcs1: Uint8Array): Uint8Array {
|
|
96
|
+
const version = derIntegerZero();
|
|
97
|
+
const algorithm = derSequence(derObjectIdentifier([1, 2, 840, 113549, 1, 1, 1]), derNull());
|
|
98
|
+
const privateKey = derOctetString(pkcs1);
|
|
99
|
+
return derSequence(version, algorithm, privateKey);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function derSequence(...parts: Uint8Array[]): Uint8Array {
|
|
103
|
+
return derTagged(0x30, concatBytes(parts));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function derIntegerZero(): Uint8Array {
|
|
107
|
+
return new Uint8Array([0x02, 0x01, 0x00]);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function derNull(): Uint8Array {
|
|
111
|
+
return new Uint8Array([0x05, 0x00]);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function derOctetString(value: Uint8Array): Uint8Array {
|
|
115
|
+
return derTagged(0x04, value);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function derObjectIdentifier(parts: number[]): Uint8Array {
|
|
119
|
+
const [first, second, ...rest] = parts;
|
|
120
|
+
const bytes = [first * 40 + second];
|
|
121
|
+
for (const part of rest) {
|
|
122
|
+
bytes.push(...encodeBase128(part));
|
|
123
|
+
}
|
|
124
|
+
return derTagged(0x06, new Uint8Array(bytes));
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function derTagged(tag: number, value: Uint8Array): Uint8Array {
|
|
128
|
+
return concatBytes([new Uint8Array([tag]), derLength(value.length), value]);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function derLength(length: number): Uint8Array {
|
|
132
|
+
if (length < 0x80) return new Uint8Array([length]);
|
|
133
|
+
const bytes: number[] = [];
|
|
134
|
+
let remaining = length;
|
|
135
|
+
while (remaining > 0) {
|
|
136
|
+
bytes.unshift(remaining & 0xff);
|
|
137
|
+
remaining >>= 8;
|
|
138
|
+
}
|
|
139
|
+
return new Uint8Array([0x80 | bytes.length, ...bytes]);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function encodeBase128(value: number): number[] {
|
|
143
|
+
const bytes = [value & 0x7f];
|
|
144
|
+
let remaining = value >> 7;
|
|
145
|
+
while (remaining > 0) {
|
|
146
|
+
bytes.unshift(0x80 | (remaining & 0x7f));
|
|
147
|
+
remaining >>= 7;
|
|
148
|
+
}
|
|
149
|
+
return bytes;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function concatBytes(parts: Uint8Array[]): Uint8Array {
|
|
153
|
+
const size = parts.reduce((total, part) => total + part.length, 0);
|
|
154
|
+
const output = new Uint8Array(size);
|
|
155
|
+
let offset = 0;
|
|
156
|
+
for (const part of parts) {
|
|
157
|
+
output.set(part, offset);
|
|
158
|
+
offset += part.length;
|
|
159
|
+
}
|
|
160
|
+
return output;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
function toArrayBuffer(bytes: Uint8Array): ArrayBuffer {
|
|
164
|
+
const copy = new Uint8Array(bytes.byteLength);
|
|
165
|
+
copy.set(bytes);
|
|
166
|
+
return copy.buffer;
|
|
92
167
|
}
|