@mono-agent/agent-app 0.2.1 → 0.3.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.
@@ -0,0 +1,326 @@
1
+ import { spawn } from "node:child_process";
2
+ import { mkdir, rm, writeFile } from "node:fs/promises";
3
+ import { resolve } from "node:path";
4
+ import process from "node:process";
5
+ import { listTraceSources } from "@mono-agent/observability";
6
+ import { resolveAppTraceRegistryDir, resolveAppTraceStaleAfterMs } from "./app-config.js";
7
+ import { bootout, bootstrap, buildPlistXml, defaultPathEnv, deriveLaunchdLabel, isLoaded, kickstartRestart, launchdPathsFor, makeLaunchctlRunner, } from "./launchd.js";
8
+ /**
9
+ * Resolve everything the control commands need from CLI args. The registry dir
10
+ * and config path are resolved exactly as the worker will resolve them, so the
11
+ * detached launcher can find the worker's manifest without any IPC.
12
+ */
13
+ export async function resolveInstanceTarget(input) {
14
+ const cwd = resolve(input.cwd);
15
+ const configPath = resolve(cwd, input.args.configPath ?? "mono-agent.config.json");
16
+ const configInput = { env: input.env, cwd, configPath };
17
+ const [registryDir, staleAfterMs] = await Promise.all([
18
+ resolveAppTraceRegistryDir(configInput),
19
+ resolveAppTraceStaleAfterMs(configInput),
20
+ ]);
21
+ const label = deriveLaunchdLabel(configPath);
22
+ return {
23
+ cwd,
24
+ configPath,
25
+ label,
26
+ registryDir,
27
+ staleAfterMs,
28
+ paths: launchdPathsFor(label),
29
+ nodePath: process.execPath,
30
+ cliPath: input.cliPath,
31
+ // Bake an explicit --env-file (resolved absolute) into the plist so the
32
+ // launchd worker loads the same env file the launcher did.
33
+ ...(input.args.envFile === undefined ? {} : { envFile: resolve(cwd, input.args.envFile) }),
34
+ ...(input.args.port === undefined ? {} : { port: input.args.port }),
35
+ noConsole: input.args.noConsole,
36
+ pathEnv: defaultPathEnv(input.env),
37
+ };
38
+ }
39
+ export function defaultBackgroundDeps() {
40
+ return {
41
+ runner: makeLaunchctlRunner(),
42
+ getuid: () => process.getuid?.() ?? 0,
43
+ now: () => Date.now(),
44
+ sleep: (ms) => new Promise((resolvePromise) => setTimeout(resolvePromise, ms)),
45
+ listTraceSources,
46
+ writeFile: (path, data) => writeFile(path, data, "utf8"),
47
+ mkdir: (path) => mkdir(path, { recursive: true }).then(() => undefined),
48
+ rm: (path) => rm(path, { force: true }),
49
+ isAlive: (pid) => {
50
+ try {
51
+ process.kill(pid, 0);
52
+ return true;
53
+ }
54
+ catch (error) {
55
+ // EPERM means the process exists but is owned by someone else.
56
+ return isErrno(error, "EPERM");
57
+ }
58
+ },
59
+ stdout: (text) => void process.stdout.write(text),
60
+ stderr: (text) => void process.stderr.write(text),
61
+ spawnTail: (args) => new Promise((resolvePromise) => {
62
+ const child = spawn("tail", [...args], { stdio: "inherit" });
63
+ child.on("error", () => resolvePromise(127));
64
+ child.on("close", (code) => resolvePromise(code ?? 0));
65
+ }),
66
+ };
67
+ }
68
+ const DEFAULT_POLL = { timeoutMs: 18_000, intervalMs: 400 };
69
+ const SINCE_SKEW_MS = 2_000;
70
+ export async function startBackground(target, deps, poll = DEFAULT_POLL) {
71
+ return await launchBackground(target, deps, poll);
72
+ }
73
+ /** Restart is behaviourally identical: ensure a single fresh running instance. */
74
+ export async function restartBackground(target, deps, poll = DEFAULT_POLL) {
75
+ return await launchBackground(target, deps, poll);
76
+ }
77
+ async function launchBackground(target, deps, poll) {
78
+ const uid = deps.getuid();
79
+ await writePlist(target, deps);
80
+ const sinceMs = deps.now();
81
+ const outcome = await bootstrapOrRestart(target, deps, uid);
82
+ if (!outcome.ok) {
83
+ return failLaunch(target, deps, outcome.restarted ? "restart" : "start", outcome.failure);
84
+ }
85
+ const ready = await pollInstanceReady(target, deps, { ...poll, sinceMs });
86
+ if (ready === undefined) {
87
+ return reportTimeout(target, deps);
88
+ }
89
+ printInstanceInfo(ready, target, deps, outcome.restarted ? "restarted" : "started");
90
+ return 0;
91
+ }
92
+ async function writePlist(target, deps) {
93
+ // launchd will not create the log file's parent directory, so make both dirs
94
+ // before writing the plist that references them.
95
+ await deps.mkdir(target.paths.logDir);
96
+ await deps.mkdir(target.paths.launchAgentsDir);
97
+ const xml = buildPlistXml({
98
+ label: target.label,
99
+ nodePath: target.nodePath,
100
+ cliPath: target.cliPath,
101
+ configPath: target.configPath,
102
+ cwd: target.cwd,
103
+ ...(target.envFile === undefined ? {} : { envFile: target.envFile }),
104
+ ...(target.port === undefined ? {} : { port: target.port }),
105
+ noConsole: target.noConsole,
106
+ stdoutPath: target.paths.stdoutPath,
107
+ stderrPath: target.paths.stderrPath,
108
+ pathEnv: target.pathEnv,
109
+ });
110
+ await deps.writeFile(target.paths.plistPath, xml);
111
+ }
112
+ /**
113
+ * Idempotent: bootstrap when not loaded, otherwise `kickstart -k` to restart.
114
+ * `bootstrap` reporting "already bootstrapped" (or any non-zero) is tolerated as
115
+ * long as a follow-up `print` confirms the service is loaded.
116
+ */
117
+ async function bootstrapOrRestart(target, deps, uid) {
118
+ if (!(await isLoaded(deps.runner, target.label, uid))) {
119
+ const booted = await bootstrap(deps.runner, target.paths.plistPath, uid);
120
+ if (booted.code === 0 || (await isLoaded(deps.runner, target.label, uid))) {
121
+ return { ok: true, restarted: false };
122
+ }
123
+ return { ok: false, restarted: false, failure: booted };
124
+ }
125
+ const restart = await kickstartRestart(deps.runner, target.label, uid);
126
+ if (restart.code === 0) {
127
+ return { ok: true, restarted: true };
128
+ }
129
+ // Fallback: a full unload + reload cycle.
130
+ await bootout(deps.runner, target.label, uid);
131
+ const booted = await bootstrap(deps.runner, target.paths.plistPath, uid);
132
+ if (booted.code === 0 || (await isLoaded(deps.runner, target.label, uid))) {
133
+ return { ok: true, restarted: true };
134
+ }
135
+ return { ok: false, restarted: true, failure: booted };
136
+ }
137
+ export async function stopBackground(target, deps) {
138
+ const uid = deps.getuid();
139
+ const existing = await findInstance(target, deps);
140
+ const wasLoaded = await isLoaded(deps.runner, target.label, uid);
141
+ const result = await bootout(deps.runner, target.label, uid);
142
+ // Removing the plist stops it from relaunching at the next login.
143
+ await deps.rm(target.paths.plistPath);
144
+ await maybeUnlinkDeadManifest(target, deps, existing);
145
+ // `bootout` also exits non-zero when the service was never loaded, which is
146
+ // fine. A non-zero exit is only a real failure if the service is still loaded
147
+ // afterwards — otherwise we'd silently swallow genuine stop failures.
148
+ if (result.code !== 0 && (await isLoaded(deps.runner, target.label, uid))) {
149
+ deps.stderr(`Failed to stop ${target.label}: launchctl bootout exited ${result.code}.\n`);
150
+ const detail = (result.stderr || result.stdout).trim();
151
+ if (detail.length > 0) {
152
+ deps.stderr(`${detail}\n`);
153
+ }
154
+ deps.stderr(`The plist was removed, but the service is still running.\n`);
155
+ return 1;
156
+ }
157
+ deps.stdout(wasLoaded
158
+ ? `Stopped ${target.label} and removed its LaunchAgent.\n`
159
+ : `${target.label} was not running; removed its LaunchAgent if present.\n`);
160
+ deps.stdout(`config ${target.configPath}\n`);
161
+ return 0;
162
+ }
163
+ export async function statusBackground(target, deps) {
164
+ const result = await deps.listTraceSources({ registryDir: target.registryDir, staleAfterMs: target.staleAfterMs });
165
+ const current = result.sources.find((source) => matchesConfig(source, target.configPath));
166
+ if (current === undefined) {
167
+ deps.stdout(`No running mono-agent instance for ${target.configPath}.\n`);
168
+ deps.stdout(`Start it with: mono-agent start${configFlag(target)}\n`);
169
+ }
170
+ else {
171
+ writeInstanceDetail(current, target, deps);
172
+ }
173
+ // Only surface other instances that are live or crashed — cleanly stopped
174
+ // manifests linger in the registry and would just be noise.
175
+ const others = result.sources.filter((source) => !matchesConfig(source, target.configPath) && source.health !== "stopped");
176
+ if (others.length > 0) {
177
+ deps.stdout(`\nOther mono-agent instances:\n`);
178
+ for (const source of others) {
179
+ deps.stdout(` ${formatOtherInstance(source)}\n`);
180
+ }
181
+ }
182
+ return current?.health === "running" ? 0 : 1;
183
+ }
184
+ export async function tailLogs(target, deps, options) {
185
+ const args = [
186
+ "-n",
187
+ String(options.lines),
188
+ ...(options.follow ? ["-F"] : []),
189
+ target.paths.stderrPath,
190
+ target.paths.stdoutPath,
191
+ ];
192
+ return await deps.spawnTail(args);
193
+ }
194
+ export async function pollInstanceReady(target, deps, options) {
195
+ const deadline = deps.now() + options.timeoutMs;
196
+ const sinceFloor = options.sinceMs - SINCE_SKEW_MS;
197
+ for (;;) {
198
+ const match = await findInstance(target, deps);
199
+ if (match !== undefined && isReady(match) && startedAtMs(match) >= sinceFloor) {
200
+ return match;
201
+ }
202
+ if (deps.now() >= deadline) {
203
+ return undefined;
204
+ }
205
+ await deps.sleep(options.intervalMs);
206
+ }
207
+ }
208
+ export function printInstanceInfo(source, target, deps, verb) {
209
+ const flag = configFlag(target);
210
+ deps.stdout(`mono-agent ${verb} in the background.\n`);
211
+ writeInstanceDetail(source, target, deps);
212
+ deps.stdout(`\nStop with: mono-agent stop${flag} · Logs: mono-agent logs${flag} --follow\n`);
213
+ }
214
+ async function findInstance(target, deps) {
215
+ const result = await deps.listTraceSources({ registryDir: target.registryDir, staleAfterMs: target.staleAfterMs });
216
+ return result.sources.find((source) => matchesConfig(source, target.configPath));
217
+ }
218
+ async function maybeUnlinkDeadManifest(target, deps, existing) {
219
+ // Only clean up a manifest whose process is already gone; a worker that is
220
+ // still shutting down will mark its own manifest stopped.
221
+ if (existing?.pid === undefined || deps.isAlive(existing.pid)) {
222
+ return;
223
+ }
224
+ await deps.rm(resolve(target.registryDir, `${existing.sourceId}.json`));
225
+ }
226
+ function failLaunch(target, deps, verb, result) {
227
+ deps.stderr(`Failed to ${verb} ${target.label} via launchctl${result === undefined ? "" : ` (exit ${result.code})`}.\n`);
228
+ const detail = (result?.stderr || result?.stdout || "").trim();
229
+ if (detail.length > 0) {
230
+ deps.stderr(`${detail}\n`);
231
+ }
232
+ deps.stderr(`Logs: ${target.paths.stderrPath}\n`);
233
+ return 1;
234
+ }
235
+ function reportTimeout(target, deps) {
236
+ const flag = configFlag(target);
237
+ deps.stderr("mono-agent did not report ready within the timeout.\n" +
238
+ "It may still be starting, or it may have failed. Inspect:\n" +
239
+ ` logs: ${target.paths.stderrPath}\n` +
240
+ ` ${target.paths.stdoutPath}\n` +
241
+ ` follow: mono-agent logs${flag} --follow\n` +
242
+ ` status: mono-agent status${flag}\n` +
243
+ ` stop: mono-agent stop${flag}\n`);
244
+ return 1;
245
+ }
246
+ function writeInstanceDetail(source, target, deps) {
247
+ const consoleUrl = consoleBaseUrl(source);
248
+ if (consoleUrl !== undefined) {
249
+ // The console's per-boot access token is not persisted to disk; the worker
250
+ // prints the full tokenized URL to its log at startup.
251
+ deps.stdout(`operator console ${consoleUrl} (tokenized link in \`mono-agent logs${configFlag(target)}\`)\n`);
252
+ }
253
+ deps.stdout(`config ${target.configPath}\n`);
254
+ deps.stdout(`label ${target.label}\n`);
255
+ deps.stdout(`pid ${source.pid ?? "unknown"}\n`);
256
+ deps.stdout(`health ${source.health}\n`);
257
+ deps.stdout(`started ${source.startedAt}\n`);
258
+ deps.stdout(`logs ${target.paths.stdoutPath}\n`);
259
+ deps.stdout(` ${target.paths.stderrPath}\n`);
260
+ const channelLines = formatChannels(source);
261
+ if (channelLines.length > 0) {
262
+ deps.stdout("channels\n");
263
+ for (const line of channelLines) {
264
+ deps.stdout(`${line}\n`);
265
+ }
266
+ }
267
+ }
268
+ function formatOtherInstance(source) {
269
+ const pid = source.pid === undefined ? "?" : String(source.pid);
270
+ const config = source.configPath ?? "(unknown config)";
271
+ return `${source.health.padEnd(8)} pid ${pid.padEnd(7)} ${source.sourceId} ${config}`;
272
+ }
273
+ function matchesConfig(source, configPath) {
274
+ return source.configPath !== undefined && resolve(source.configPath) === configPath;
275
+ }
276
+ function isReady(source) {
277
+ return source.health === "running" && metadataReason(source) === "startup-complete";
278
+ }
279
+ function metadataReason(source) {
280
+ const reason = source.metadata?.reason;
281
+ return typeof reason === "string" ? reason : undefined;
282
+ }
283
+ function startedAtMs(source) {
284
+ const parsed = Date.parse(source.startedAt);
285
+ return Number.isFinite(parsed) ? parsed : 0;
286
+ }
287
+ function consoleBaseUrl(source) {
288
+ const console = source.metadata?.operatorConsole;
289
+ if (console === null || typeof console !== "object") {
290
+ return undefined;
291
+ }
292
+ const url = console.url;
293
+ return typeof url === "string" && url.length > 0 ? url : undefined;
294
+ }
295
+ /** ` --config <path>` when a non-default config is in play, else empty. */
296
+ function configFlag(target) {
297
+ const defaultPath = resolve(target.cwd, "mono-agent.config.json");
298
+ return target.configPath === defaultPath ? "" : ` --config ${target.configPath}`;
299
+ }
300
+ function formatChannels(source) {
301
+ const channels = source.metadata?.channels;
302
+ if (channels === null || typeof channels !== "object") {
303
+ return [];
304
+ }
305
+ return Object.entries(channels).map(([id, value]) => ` ${id.padEnd(15)} ${describeChannelMetadata(value)}`);
306
+ }
307
+ function describeChannelMetadata(value) {
308
+ if (value === null || typeof value !== "object") {
309
+ return String(value);
310
+ }
311
+ const record = value;
312
+ const kind = typeof record.kind === "string" ? record.kind : "unknown";
313
+ if (kind === "running") {
314
+ const facts = Object.entries(record)
315
+ .filter(([key]) => key !== "kind")
316
+ .map(([key, fact]) => `${key}=${String(fact)}`)
317
+ .join(" ");
318
+ return facts.length === 0 ? "running" : `running (${facts})`;
319
+ }
320
+ const reason = typeof record.reason === "string" ? record.reason : "";
321
+ return reason.length === 0 ? kind : `${kind}: ${reason}`;
322
+ }
323
+ function isErrno(error, code) {
324
+ return typeof error === "object" && error !== null && error.code === code;
325
+ }
326
+ //# sourceMappingURL=background.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { A2AAdapterConfig, A2AProviderOptions, A2AProviderStartResult } fro
4
4
  import type { CronAdapterConfig, CronAdapterOptions, CronAdapterStartResult } from "@mono-agent/cron-adapter";
5
5
  import type { OpenAIApiAdapterConfig, OpenAIApiAdapterOptions, OpenAIApiAdapterStartResult } from "@mono-agent/openai-api-adapter";
6
6
  import type { SlackAdapterConfig, SlackAdapterStartOptions, SlackAdapterStartResult } from "@mono-agent/slack-adapter";
7
- import type { TelegramAdapterConfig, TelegramBotApi, TelegramLongPollerOptions, TelegramLongPollerStartOptions } from "@mono-agent/telegram-adapter";
7
+ import type { TelegramAdapterConfig, TelegramAdapterStartOptions, TelegramAdapterStartResult } from "@mono-agent/telegram-adapter";
8
8
  import type { WebhookAdapterConfig, WebhookAdapterOptions, WebhookAdapterStartResult } from "@mono-agent/webhook-adapter";
9
9
  import type { StartWhatsAppAdapterOptions, WhatsAppAdapterConfig, WhatsAppAdapterStartResult, WhatsAppSocketFactory } from "@mono-agent/whatsapp-adapter";
10
10
  import type { MonoAgentAppConfigInput } from "./app-config.js";
@@ -60,11 +60,9 @@ export interface ChannelDriver<TConfig = unknown> {
60
60
  start(input: ChannelStartInput<TConfig>): Promise<RunningChannel>;
61
61
  }
62
62
  export interface TelegramChannelOverrides {
63
- readonly api?: TelegramBotApi;
64
- readonly pollerFactory?: (options: TelegramLongPollerOptions) => TelegramPollerLike;
65
- }
66
- export interface TelegramPollerLike {
67
- start(options?: TelegramLongPollerStartOptions): Promise<void>;
63
+ readonly botFactory?: TelegramAdapterStartOptions["botFactory"];
64
+ readonly runnerFactory?: TelegramAdapterStartOptions["runnerFactory"];
65
+ readonly startAdapter?: (options: TelegramAdapterStartOptions) => Promise<TelegramAdapterStartResult>;
68
66
  }
69
67
  export declare function createTelegramChannelDriver(overrides?: TelegramChannelOverrides): ChannelDriver<TelegramAdapterConfig>;
70
68
  export interface SlackChannelOverrides {
@@ -1 +1 @@
1
- {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"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"}
package/dist/channels.js CHANGED
@@ -4,7 +4,7 @@ import { loadA2AAdapterConfig } from "@mono-agent/a2a-adapter";
4
4
  import { CronAdapterError, loadCronAdapterConfig, startCronAdapter } from "@mono-agent/cron-adapter";
5
5
  import { loadOpenAIApiAdapterConfig, OpenAIApiAdapterError, startOpenAIApiAdapter, } from "@mono-agent/openai-api-adapter";
6
6
  import { loadSlackAdapterConfig, SlackAdapterConfigError, startSlackAdapter, } from "@mono-agent/slack-adapter";
7
- import { loadTelegramAdapterConfig, TelegramAdapter, TelegramAdapterConfigError, TelegramBotApiClient, TelegramLongPoller, } from "@mono-agent/telegram-adapter";
7
+ import { loadTelegramAdapterConfig, startTelegramAdapter, TelegramAdapterConfigError, } from "@mono-agent/telegram-adapter";
8
8
  import { loadWebhookAdapterConfig, startWebhookAdapter, WebhookAdapterError, } from "@mono-agent/webhook-adapter";
9
9
  import { loadWhatsAppAdapterConfig, startWhatsAppAdapter, WhatsAppAdapterConfigError, } from "@mono-agent/whatsapp-adapter";
10
10
  export function createTelegramChannelDriver(overrides = {}) {
@@ -17,29 +17,15 @@ export function createTelegramChannelDriver(overrides = {}) {
17
17
  isConfigError(error) {
18
18
  return error instanceof TelegramAdapterConfigError;
19
19
  },
20
+ disabledReason(config) {
21
+ return config.enabled ? undefined : "Telegram is disabled.";
22
+ },
20
23
  async start(input) {
21
- const api = overrides.api ?? new TelegramBotApiClient({ token: input.config.botToken });
22
- const adapter = new TelegramAdapter(telegramAdapterOptions(api, input));
23
- const pollerOptions = {
24
- api,
25
- adapter,
26
- deleteWebhookOnStart: true,
27
- allowedUpdates: ["message"],
28
- ...(input.logger === undefined ? {} : { logger: input.logger }),
29
- };
30
- const poller = overrides.pollerFactory?.(pollerOptions) ?? new TelegramLongPoller(pollerOptions);
31
- const controller = new AbortController();
32
- const promise = poller.start({ signal: controller.signal }).catch((error) => {
33
- if (!controller.signal.aborted) {
34
- input.onFailure(reasonOf(error));
35
- }
36
- });
24
+ const startAdapter = overrides.startAdapter ?? startTelegramAdapter;
25
+ const result = await startAdapter(telegramStartOptions(input, overrides));
37
26
  return {
38
27
  summary: {},
39
- async stop() {
40
- controller.abort();
41
- await promise.catch(() => undefined);
42
- },
28
+ stop: () => result.stop(),
43
29
  };
44
30
  },
45
31
  };
@@ -54,6 +40,9 @@ export function createSlackChannelDriver(overrides = {}) {
54
40
  isConfigError(error) {
55
41
  return error instanceof SlackAdapterConfigError;
56
42
  },
43
+ disabledReason(config) {
44
+ return config.enabled ? undefined : "Slack is disabled.";
45
+ },
57
46
  async start(input) {
58
47
  const startAdapter = overrides.startAdapter ?? startSlackAdapter;
59
48
  const result = await startAdapter({
@@ -202,7 +191,7 @@ export function createCronChannelDriver(overrides = {}) {
202
191
  id: "cron",
203
192
  label: "Cron",
204
193
  async loadConfig(input) {
205
- return await loadCronAdapterConfig({ env: input.env, jsonPath: input.configPath });
194
+ return await loadCronAdapterConfig({ env: input.env, jsonPath: input.configPath, cwd: input.cwd });
206
195
  },
207
196
  isConfigError(error) {
208
197
  return error instanceof CronAdapterError;
@@ -248,6 +237,9 @@ export function createWhatsAppChannelDriver(overrides = {}) {
248
237
  isConfigError(error) {
249
238
  return error instanceof WhatsAppAdapterConfigError;
250
239
  },
240
+ disabledReason(config) {
241
+ return config.enabled ? undefined : "WhatsApp is disabled.";
242
+ },
251
243
  async start(input) {
252
244
  const startAdapter = overrides.startAdapter ?? startWhatsAppAdapter;
253
245
  const result = await startAdapter({
@@ -279,26 +271,78 @@ export function defaultChannelDrivers(overrides = {}) {
279
271
  createWhatsAppChannelDriver(overrides.whatsapp),
280
272
  ];
281
273
  }
282
- function telegramAdapterOptions(api, input) {
274
+ function telegramStartOptions(input, overrides) {
283
275
  return {
284
- api,
285
- responder: input.responder,
276
+ botToken: input.config.botToken,
286
277
  allowedChatIds: [...input.config.allowedChatIds],
287
278
  allowAllChats: input.config.allowAllChats,
279
+ responder: input.responder,
280
+ allowedUpdates: ["message"],
281
+ deleteWebhookOnStart: true,
288
282
  stream: {
289
283
  initialStatusText: "Agent is thinking...",
290
284
  editDebounceMs: 350,
285
+ maxSendRetries: 3,
286
+ retryCapMs: 60_000,
287
+ showThoughts: true,
288
+ formatMarkdown: true,
291
289
  },
292
290
  messages: {
293
291
  welcomeText: "Agent is online. Send a message to run the configured runtime.",
294
292
  helpText: "Send a message to talk to the agent. Use /cancel to stop an in-flight response.",
295
293
  unauthorizedText: "This chat is not allowlisted for this agent.",
296
- errorText: "The agent failed honestly; check the local artifact summary for details.",
294
+ errorText: telegramErrorText,
297
295
  },
296
+ // A polling crash after a successful start must flip the channel to failed,
297
+ // not leave it reported as running.
298
+ onPollingError: (error) => input.onFailure(error instanceof Error ? error.message : String(error)),
298
299
  ...(input.logger === undefined ? {} : { logger: input.logger }),
300
+ ...(overrides.botFactory === undefined ? {} : { botFactory: overrides.botFactory }),
301
+ ...(overrides.runnerFactory === undefined ? {} : { runnerFactory: overrides.runnerFactory }),
302
+ };
303
+ }
304
+ function telegramErrorText(input) {
305
+ const failure = failureFromUnknown(input.error);
306
+ if (failure?.kind === "usage_limit") {
307
+ const maxTurns = nestedNumber(failure.details, ["diagnostics", "max_turns"]);
308
+ return [
309
+ `I hit the runtime turn limit${maxTurns === undefined ? "" : ` (${maxTurns} turns)`} before I could finish.`,
310
+ "Send a narrower follow-up, or check the local artifact summary for the incomplete run.",
311
+ ].join(" ");
312
+ }
313
+ if (failure?.kind === "cancelled") {
314
+ return "Cancelled.";
315
+ }
316
+ if (failure?.message !== undefined && failure.message.trim().length > 0) {
317
+ return `I could not complete that message: ${failure.message}`;
318
+ }
319
+ return "I could not complete that message. Check the local artifact summary for details.";
320
+ }
321
+ function failureFromUnknown(error) {
322
+ if (!isRecord(error)) {
323
+ return undefined;
324
+ }
325
+ const failure = error.failure;
326
+ if (!isRecord(failure)) {
327
+ return undefined;
328
+ }
329
+ return {
330
+ ...(typeof failure.kind === "string" ? { kind: failure.kind } : {}),
331
+ ...(typeof failure.message === "string" ? { message: failure.message } : {}),
332
+ ...(Object.prototype.hasOwnProperty.call(failure, "details") ? { details: failure.details } : {}),
299
333
  };
300
334
  }
301
- function reasonOf(error) {
302
- return error instanceof Error ? error.message : String(error);
335
+ function nestedNumber(value, path) {
336
+ let current = value;
337
+ for (const segment of path) {
338
+ if (!isRecord(current)) {
339
+ return undefined;
340
+ }
341
+ current = current[segment];
342
+ }
343
+ return typeof current === "number" && Number.isFinite(current) ? current : undefined;
344
+ }
345
+ function isRecord(value) {
346
+ return typeof value === "object" && value !== null && !Array.isArray(value);
303
347
  }
304
348
  //# sourceMappingURL=channels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channels.js","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.js","sourceRoot":"","sources":["../src/channels.ts"],"names":[],"mappings":"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"}