nemoris 0.1.13 → 0.1.14
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/package.json
CHANGED
|
@@ -28,9 +28,9 @@ export function stripAnsi(str) {
|
|
|
28
28
|
return str.replace(/\x1b\[[0-9;]*m/g, "");
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
export function buildTelegramToml({ botTokenEnv, pollingMode, webhookUrl, operatorChatId, authorizedChatIds, defaultAgent }) {
|
|
31
|
+
export function buildTelegramToml({ botTokenEnv, pollingMode, webhookUrl, operatorChatId, authorizedChatIds, defaultAgent, botUsername }) {
|
|
32
32
|
const authIds = (authorizedChatIds || []).map((id) => `"${id}"`).join(", ");
|
|
33
|
-
|
|
33
|
+
const lines = [
|
|
34
34
|
"",
|
|
35
35
|
"[telegram]",
|
|
36
36
|
`bot_token_env = "${botTokenEnv}"`,
|
|
@@ -39,8 +39,10 @@ export function buildTelegramToml({ botTokenEnv, pollingMode, webhookUrl, operat
|
|
|
39
39
|
`operator_chat_id = "${operatorChatId || ""}"`,
|
|
40
40
|
`authorized_chat_ids = [${authIds}]`,
|
|
41
41
|
`default_agent = "${defaultAgent}"`,
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
];
|
|
43
|
+
if (botUsername) lines.push(`bot_username = "${botUsername}"`);
|
|
44
|
+
lines.push("");
|
|
45
|
+
return lines.join("\n");
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
export function patchRuntimeToml(installDir, telegramToml) {
|
|
@@ -227,6 +229,7 @@ export async function runTelegramPhase({ installDir, agentId, nonInteractive = f
|
|
|
227
229
|
patchRuntimeToml(installDir, buildTelegramToml({
|
|
228
230
|
botTokenEnv, pollingMode: mode === "polling", webhookUrl,
|
|
229
231
|
operatorChatId: chatId, authorizedChatIds, defaultAgent: agentId,
|
|
232
|
+
botUsername: me.username,
|
|
230
233
|
}));
|
|
231
234
|
|
|
232
235
|
return { configured: true, verified: false, botUsername: me.username, botToken: token, operatorChatId: chatId };
|
|
@@ -323,6 +326,7 @@ export async function runTelegramPhase({ installDir, agentId, nonInteractive = f
|
|
|
323
326
|
patchRuntimeToml(installDir, buildTelegramToml({
|
|
324
327
|
botTokenEnv, pollingMode, webhookUrl,
|
|
325
328
|
operatorChatId: chatId || "", authorizedChatIds, defaultAgent: agentId,
|
|
329
|
+
botUsername,
|
|
326
330
|
}));
|
|
327
331
|
|
|
328
332
|
// Wire delivery.toml so the telegram profile is enabled
|
|
@@ -332,21 +336,6 @@ export async function runTelegramPhase({ installDir, agentId, nonInteractive = f
|
|
|
332
336
|
chatIdPending: !chatId,
|
|
333
337
|
});
|
|
334
338
|
|
|
335
|
-
// Persist bot_username to runtime.toml for finish screen / status
|
|
336
|
-
if (botUsername) {
|
|
337
|
-
const runtimePath = path.join(installDir, "config", "runtime.toml");
|
|
338
|
-
try {
|
|
339
|
-
let runtime = fs.readFileSync(runtimePath, "utf8");
|
|
340
|
-
if (runtime.includes("[telegram]") && !runtime.includes("bot_username")) {
|
|
341
|
-
runtime = runtime.replace(
|
|
342
|
-
/(\[telegram\][^\[]*)/s,
|
|
343
|
-
(section) => section.trimEnd() + `\nbot_username = "${botUsername}"\n`
|
|
344
|
-
);
|
|
345
|
-
fs.writeFileSync(runtimePath, runtime);
|
|
346
|
-
}
|
|
347
|
-
} catch { /* non-fatal */ }
|
|
348
|
-
}
|
|
349
|
-
|
|
350
339
|
// Store chat_id in state for later phases (e.g. hatch)
|
|
351
340
|
const result = { configured: true, verified: false, botUsername, botToken: token, operatorChatId: chatId || "" };
|
|
352
341
|
|