agents-bridge 0.3.2 → 0.3.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.
Files changed (80) hide show
  1. package/.env.example +7 -1
  2. package/dist/agents/botlink-session-map-store.d.ts.map +1 -1
  3. package/dist/agents/botlink-session-map-store.js +1 -1
  4. package/dist/agents/botlink-session-map-store.js.map +1 -1
  5. package/dist/agents/cli-backends.d.ts.map +1 -1
  6. package/dist/agents/cli-backends.js +1 -0
  7. package/dist/agents/cli-backends.js.map +1 -1
  8. package/dist/agents/cli-runner.d.ts +2 -0
  9. package/dist/agents/cli-runner.d.ts.map +1 -1
  10. package/dist/agents/cli-runner.js +19 -4
  11. package/dist/agents/cli-runner.js.map +1 -1
  12. package/dist/agents/cli-session-store.d.ts.map +1 -1
  13. package/dist/agents/cli-session-store.js +1 -1
  14. package/dist/agents/cli-session-store.js.map +1 -1
  15. package/dist/agents/model-auto-binding.d.ts +7 -0
  16. package/dist/agents/model-auto-binding.d.ts.map +1 -0
  17. package/dist/agents/model-auto-binding.js +71 -0
  18. package/dist/agents/model-auto-binding.js.map +1 -0
  19. package/dist/agents/model-controller.d.ts +32 -0
  20. package/dist/agents/model-controller.d.ts.map +1 -0
  21. package/dist/agents/model-controller.js +139 -0
  22. package/dist/agents/model-controller.js.map +1 -0
  23. package/dist/channels/botlink.d.ts +36 -0
  24. package/dist/channels/botlink.d.ts.map +1 -1
  25. package/dist/channels/botlink.js +141 -38
  26. package/dist/channels/botlink.js.map +1 -1
  27. package/dist/cli/cmd-add-agent.js +4 -4
  28. package/dist/cli/cmd-add-agent.js.map +1 -1
  29. package/dist/cli/cmd-config.js +1 -1
  30. package/dist/cli/cmd-config.js.map +1 -1
  31. package/dist/cli/cmd-doctor.js +1 -1
  32. package/dist/cli/cmd-doctor.js.map +1 -1
  33. package/dist/cli/cmd-logs.d.ts.map +1 -1
  34. package/dist/cli/cmd-logs.js +5 -4
  35. package/dist/cli/cmd-logs.js.map +1 -1
  36. package/dist/cli/cmd-onboard.js +9 -9
  37. package/dist/cli/cmd-onboard.js.map +1 -1
  38. package/dist/cli/cmd-reload.js +2 -2
  39. package/dist/cli/cmd-reload.js.map +1 -1
  40. package/dist/cli/cmd-start.d.ts +9 -1
  41. package/dist/cli/cmd-start.d.ts.map +1 -1
  42. package/dist/cli/cmd-start.js +109 -23
  43. package/dist/cli/cmd-start.js.map +1 -1
  44. package/dist/cli/cmd-status.js +1 -1
  45. package/dist/cli/cmd-status.js.map +1 -1
  46. package/dist/cli/cmd-stop.d.ts.map +1 -1
  47. package/dist/cli/cmd-stop.js +5 -4
  48. package/dist/cli/cmd-stop.js.map +1 -1
  49. package/dist/cli/pid-file.d.ts.map +1 -1
  50. package/dist/cli/pid-file.js +13 -13
  51. package/dist/cli/pid-file.js.map +1 -1
  52. package/dist/cli/update-check.d.ts.map +1 -1
  53. package/dist/cli/update-check.js +8 -5
  54. package/dist/cli/update-check.js.map +1 -1
  55. package/dist/config/agent-dirs.js +6 -6
  56. package/dist/config/agent-dirs.js.map +1 -1
  57. package/dist/config/config.js +1 -1
  58. package/dist/config/config.js.map +1 -1
  59. package/dist/config/env-vars.d.ts +2 -0
  60. package/dist/config/env-vars.d.ts.map +1 -1
  61. package/dist/config/env-vars.js +2 -0
  62. package/dist/config/env-vars.js.map +1 -1
  63. package/dist/config/paths.d.ts +13 -13
  64. package/dist/config/paths.d.ts.map +1 -1
  65. package/dist/config/paths.js +42 -15
  66. package/dist/config/paths.js.map +1 -1
  67. package/dist/config/zod-schema.d.ts +131 -0
  68. package/dist/config/zod-schema.d.ts.map +1 -1
  69. package/dist/config/zod-schema.js +4 -0
  70. package/dist/config/zod-schema.js.map +1 -1
  71. package/dist/logger.d.ts.map +1 -1
  72. package/dist/logger.js +3 -3
  73. package/dist/logger.js.map +1 -1
  74. package/dist/status-reporter.d.ts +34 -0
  75. package/dist/status-reporter.d.ts.map +1 -0
  76. package/dist/status-reporter.js +161 -0
  77. package/dist/status-reporter.js.map +1 -0
  78. package/dist/types/index.d.ts +5 -0
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/package.json +1 -1
@@ -0,0 +1,139 @@
1
+ import { createHash, randomUUID } from 'node:crypto';
2
+ import { mkdir, open, readFile, rename } from 'node:fs/promises';
3
+ import { dirname } from 'node:path';
4
+ /** Agent-scoped durable overlay. No context or session identifiers are rewritten. */
5
+ export class ModelController {
6
+ config;
7
+ path;
8
+ initialModel;
9
+ sessions;
10
+ provider;
11
+ connectionId = randomUUID();
12
+ timer;
13
+ busy = false;
14
+ ready = false;
15
+ lastSeen = 0;
16
+ stopped = false;
17
+ state;
18
+ loaded = false;
19
+ constructor(config, path, initialModel, sessions, provider = 'claude-cli') {
20
+ this.config = config;
21
+ this.path = path;
22
+ this.initialModel = initialModel;
23
+ this.sessions = sessions;
24
+ this.provider = provider;
25
+ }
26
+ setAllowModelSwitch(allowed) { this.config = { ...this.config, allowModelSwitch: allowed }; this.ready = false; }
27
+ start() { void this.tick(); this.timer = setInterval(() => void this.tick(), 2000); this.timer.unref(); }
28
+ stop() { this.stopped = true; this.ready = false; clearInterval(this.timer); }
29
+ async modelAtStart() {
30
+ for (let i = 0; i < 300 && !this.stopped; i++) {
31
+ if (this.ready && this.state && Date.now() - this.lastSeen < 20000)
32
+ return this.state.modelId;
33
+ await new Promise(resolve => setTimeout(resolve, 200));
34
+ }
35
+ throw new Error('MODEL_CONTROL_UNAVAILABLE: model change is awaiting executor confirmation');
36
+ }
37
+ async save(state) {
38
+ await mkdir(dirname(this.path), { recursive: true });
39
+ const tmp = `${this.path}.${randomUUID()}.tmp`;
40
+ const file = await open(tmp, 'wx', 0o600);
41
+ try {
42
+ await file.writeFile(JSON.stringify(state));
43
+ await file.sync();
44
+ }
45
+ finally {
46
+ await file.close();
47
+ }
48
+ await rename(tmp, this.path);
49
+ const dir = await open(dirname(this.path), 'r');
50
+ try {
51
+ await dir.sync();
52
+ }
53
+ finally {
54
+ await dir.close();
55
+ }
56
+ this.state = state;
57
+ }
58
+ async tick() {
59
+ if (this.busy || this.stopped)
60
+ return;
61
+ this.busy = true;
62
+ try {
63
+ if (!this.loaded) {
64
+ await mkdir(dirname(this.path), { recursive: true });
65
+ try {
66
+ this.connectionId = JSON.parse(await readFile(this.path + '.connection', 'utf8')).id;
67
+ }
68
+ catch (e) {
69
+ if (e.code !== 'ENOENT')
70
+ throw e;
71
+ const f = await open(this.path + '.connection', 'wx', 0o600);
72
+ try {
73
+ await f.writeFile(JSON.stringify({ id: this.connectionId }));
74
+ await f.sync();
75
+ }
76
+ finally {
77
+ await f.close();
78
+ }
79
+ }
80
+ if (!/^[a-f0-9-]{36}$/.test(this.connectionId))
81
+ throw new Error('INVALID_EXECUTOR_CONNECTION');
82
+ try {
83
+ this.state = JSON.parse(await readFile(this.path, 'utf8'));
84
+ }
85
+ catch (e) {
86
+ if (e.code !== 'ENOENT')
87
+ throw e;
88
+ }
89
+ this.loaded = true;
90
+ }
91
+ const capabilityRevision = createHash('sha256').update(JSON.stringify([this.config.models, this.config.allowModelSwitch ?? true])).digest('hex');
92
+ const response = await fetch(this.config.endpoint, {
93
+ method: 'POST', headers: { 'content-type': 'application/json', authorization: `Bearer ${this.config.botToken}`, 'X-Model-Device-Secret': this.config.deviceSecret },
94
+ body: JSON.stringify({ protocolVersion: 2, allowModelSwitch: this.config.allowModelSwitch ?? true, initialModel: this.initialModel, connectionId: this.connectionId, provider: this.provider, models: this.config.models, capabilityRevision, result: this.state?.result }),
95
+ signal: AbortSignal.timeout(8000),
96
+ });
97
+ if (!response.ok) {
98
+ await response.body?.cancel();
99
+ throw new Error('MODEL_CONTROL_REJECTED');
100
+ }
101
+ const r = await response.json();
102
+ if (r.protocolVersion !== 2)
103
+ throw new Error('MODEL_SERVER_UPGRADE_REQUIRED');
104
+ if (!Number.isSafeInteger(r.version) || !this.config.models.includes(r.modelId))
105
+ throw new Error('INVALID_MODEL_REPORT');
106
+ if (!this.state) {
107
+ if (r.version !== 0 || r.modelId !== this.initialModel)
108
+ throw new Error('MODEL_CONFIGURATION_DRIFT');
109
+ await this.save({ modelId: r.modelId, version: 0 });
110
+ }
111
+ const current = this.state;
112
+ if (r.modelId !== current.modelId || r.version !== current.version)
113
+ throw new Error('MODEL_CONFIGURATION_DRIFT');
114
+ if (current.result)
115
+ await this.save({ modelId: current.modelId, version: current.version });
116
+ this.lastSeen = Date.now();
117
+ if (r.command) {
118
+ this.ready = false;
119
+ const command = r.command;
120
+ if (Number(command.expected_version) !== current.version)
121
+ throw new Error('MODEL_VERSION_CONFLICT');
122
+ const entries = Object.values(await this.sessions.list());
123
+ const compatible = this.config.allowModelSwitch !== false && this.config.models.includes(command.target_model) && entries.every(s => !s.provider || (s.provider === this.provider && !!s.cliSessionIds?.[this.provider]));
124
+ const next = compatible ? { modelId: command.target_model, version: current.version + 1 } : { modelId: current.modelId, version: current.version };
125
+ await this.save({ ...next, result: { requestId: command.id, state: compatible ? 'applied' : 'failed', ...next } });
126
+ // Keep the start gate closed until the durable result is acknowledged on the next poll.
127
+ }
128
+ else
129
+ this.ready = true;
130
+ }
131
+ catch {
132
+ this.ready = false;
133
+ }
134
+ finally {
135
+ this.busy = false;
136
+ }
137
+ }
138
+ }
139
+ //# sourceMappingURL=model-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-controller.js","sourceRoot":"","sources":["../../src/agents/model-controller.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,45 @@
1
+ import type { ChannelContext, ChannelPlugin } from '../types/index.js';
1
2
  interface TelegramUser {
2
3
  id: number | string;
3
4
  first_name?: string;
4
5
  last_name?: string;
5
6
  username?: string;
6
7
  }
8
+ export declare class BotlinkHttpError extends Error {
9
+ readonly method: string;
10
+ readonly status: number;
11
+ constructor(method: string, status: number, detail: string);
12
+ }
13
+ export declare class BotlinkApiError extends Error {
14
+ readonly method: string;
15
+ readonly errorCode: number | undefined;
16
+ constructor(method: string, errorCode: number | undefined, detail: string);
17
+ }
18
+ type AbortableWait = (ms: number, signal: AbortSignal) => Promise<void>;
19
+ export declare class BotlinkChannel implements ChannelPlugin {
20
+ private readonly wait;
21
+ id: string;
22
+ private accounts;
23
+ private ctx;
24
+ constructor(wait?: AbortableWait);
25
+ setup(rawConfig: unknown, ctx: ChannelContext): Promise<void>;
26
+ reload(rawConfig: unknown, ctx: ChannelContext): Promise<void>;
27
+ teardown(): Promise<void>;
28
+ private startAccount;
29
+ private connectAccount;
30
+ private reconnectLoop;
31
+ private markAccountNetworkError;
32
+ private markAccountAuthFailed;
33
+ private stopAccount;
34
+ private pollLoop;
35
+ private scheduleDispatch;
36
+ private logDispatchFailure;
37
+ private request;
38
+ private toSessionEnvelope;
39
+ private downloadAttachments;
40
+ private downloadFile;
41
+ private isDuplicateDelivery;
42
+ }
7
43
  export declare function resolveTelegramSenderName(user: TelegramUser | undefined): string | undefined;
8
44
  export {};
9
45
  //# sourceMappingURL=botlink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"botlink.d.ts","sourceRoot":"","sources":["../../src/channels/botlink.ts"],"names":[],"mappings":"AAoBA,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AA6iBD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAY5F"}
1
+ {"version":3,"file":"botlink.d.ts","sourceRoot":"","sources":["../../src/channels/botlink.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAA;AAevF,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AA8CD,qBAAa,gBAAiB,SAAQ,KAAK;IAEvC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBADd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM;CAIjB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;gBAD7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EACtC,MAAM,EAAE,MAAM;CAIjB;AAED,KAAK,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAcvE,qBAAa,cAAe,YAAW,aAAa;IAMtC,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,EAAE,SAAY;IAEd,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,GAAG,CAA8B;gBAEZ,IAAI,GAAE,aAAqB;IAElD,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7D,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B9D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAejB,YAAY;YAgCZ,cAAc;YAQd,aAAa;IAsB3B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,qBAAqB;YAQf,WAAW;YAYX,QAAQ;IAsItB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;YAqBZ,OAAO;YAiDP,iBAAiB;YAuEjB,mBAAmB;YAoCnB,YAAY;IAwB1B,OAAO,CAAC,mBAAmB;CAY5B;AAsCD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAY5F"}
@@ -6,16 +6,41 @@ import { registerChannel } from './registry.js';
6
6
  import { makeSessionId } from './session-envelope.js';
7
7
  import { BotlinkChannelSchema, normalizeBotlinkChannelConfigs, } from '../config/zod-schema.js';
8
8
  import { DATA_FILES_DIR } from '../config/paths.js';
9
- class BotlinkChannel {
9
+ import { isMentioned, stripMentions } from './mention-gating.js';
10
+ export class BotlinkHttpError extends Error {
11
+ method;
12
+ status;
13
+ constructor(method, status, detail) {
14
+ super(`botlink ${method} failed: ${detail}`);
15
+ this.method = method;
16
+ this.status = status;
17
+ }
18
+ }
19
+ export class BotlinkApiError extends Error {
20
+ method;
21
+ errorCode;
22
+ constructor(method, errorCode, detail) {
23
+ super(`botlink ${method} failed: ${detail}`);
24
+ this.method = method;
25
+ this.errorCode = errorCode;
26
+ }
27
+ }
28
+ export class BotlinkChannel {
29
+ wait;
10
30
  id = 'botlink';
11
31
  accounts = new Map();
12
32
  ctx = null;
33
+ constructor(wait = sleep) {
34
+ this.wait = wait;
35
+ }
13
36
  async setup(rawConfig, ctx) {
14
37
  const config = BotlinkChannelSchema.parse(rawConfig);
15
38
  this.ctx = ctx;
16
39
  await this.teardown();
17
40
  this.ctx = ctx;
18
- for (const normalized of normalizeBotlinkChannelConfigs(config)) {
41
+ const accounts = normalizeBotlinkChannelConfigs(config);
42
+ this.ctx.statusReporter?.resetAccounts(accounts.map(account => account.accountId));
43
+ for (const normalized of accounts) {
19
44
  await this.startAccount(normalized.accountId, normalized.config);
20
45
  }
21
46
  if (this.accounts.size === 0) {
@@ -26,6 +51,7 @@ class BotlinkChannel {
26
51
  const config = BotlinkChannelSchema.parse(rawConfig);
27
52
  this.ctx = ctx;
28
53
  const desired = new Map(normalizeBotlinkChannelConfigs(config).map(account => [account.accountId, account.config]));
54
+ this.ctx.statusReporter?.resetAccounts([...desired.keys()]);
29
55
  for (const [accountId, account] of [...this.accounts]) {
30
56
  const nextConfig = desired.get(accountId);
31
57
  if (!nextConfig || !isSameAccountConfig(account.config, nextConfig)) {
@@ -72,25 +98,62 @@ class BotlinkChannel {
72
98
  };
73
99
  this.accounts.set(account.accountId, account);
74
100
  try {
75
- const me = await this.request(account, 'getMe', undefined, account.abortController.signal);
76
- this.ctx.logger.info({
77
- channelId: this.id,
78
- accountId: account.accountId,
79
- botId: me.id,
80
- botUsername: me.username,
81
- }, 'botlink channel connected');
101
+ await this.connectAccount(account);
82
102
  account.pollingTask = this.pollLoop(account);
83
103
  }
84
104
  catch (error) {
85
- account.abortController.abort();
86
- this.accounts.delete(account.accountId);
87
- this.ctx.logger.error({
88
- channelId: this.id,
89
- accountId: account.accountId,
90
- err: error instanceof Error ? error.message : String(error),
91
- }, 'botlink channel setup failed; skipping account');
105
+ if (isBotlinkAuthError(error)) {
106
+ this.markAccountAuthFailed(account, error, 'botlink channel setup auth failed; account stopped');
107
+ return;
108
+ }
109
+ this.markAccountNetworkError(account, error, account.config.retry_interval * 1000, 'botlink channel setup failed; retrying account');
110
+ account.pollingTask = this.reconnectLoop(account, account.config.retry_interval * 1000);
111
+ }
112
+ }
113
+ async connectAccount(account) {
114
+ if (!this.ctx)
115
+ throw new Error('botlink channel not initialized');
116
+ const me = await this.request(account, 'getMe', undefined, account.abortController.signal);
117
+ account.botUsername = me.username;
118
+ this.ctx.logger.info({ channelId: this.id, accountId: account.accountId, botId: me.id, botUsername: me.username }, 'botlink channel connected');
119
+ this.ctx.statusReporter?.updateAccount({ id: account.accountId, state: 'connected', botId: String(me.id), username: me.username });
120
+ }
121
+ async reconnectLoop(account, initialDelayMs) {
122
+ let retryDelayMs = initialDelayMs;
123
+ while (!account.abortController.signal.aborted) {
124
+ await this.wait(retryDelayMs, account.abortController.signal);
125
+ if (account.abortController.signal.aborted)
126
+ return;
127
+ try {
128
+ await this.connectAccount(account);
129
+ this.ctx?.logger.info({ channelId: this.id, accountId: account.accountId }, 'botlink account reconnected');
130
+ await this.pollLoop(account);
131
+ return;
132
+ }
133
+ catch (error) {
134
+ if (account.abortController.signal.aborted)
135
+ return;
136
+ if (isBotlinkAuthError(error)) {
137
+ this.markAccountAuthFailed(account, error, 'botlink account reconnect auth failed; account stopped');
138
+ return;
139
+ }
140
+ this.markAccountNetworkError(account, error, retryDelayMs, 'botlink account reconnect failed; retrying');
141
+ retryDelayMs = Math.min(retryDelayMs * 2, account.config.max_retry_interval * 1000);
142
+ }
92
143
  }
93
144
  }
145
+ markAccountNetworkError(account, error, retryDelayMs, message) {
146
+ const detail = error instanceof Error ? error.message : String(error);
147
+ this.ctx?.statusReporter?.updateAccount({ id: account.accountId, state: 'network_error', error: detail });
148
+ this.ctx?.logger.warn({ err: detail, retryDelayMs, channelId: this.id, accountId: account.accountId }, message);
149
+ }
150
+ markAccountAuthFailed(account, error, message) {
151
+ const detail = error instanceof Error ? error.message : String(error);
152
+ this.ctx?.statusReporter?.updateAccount({ id: account.accountId, state: 'auth_failed', error: detail });
153
+ account.abortController.abort();
154
+ this.accounts.delete(account.accountId);
155
+ this.ctx?.logger.warn({ err: detail, channelId: this.id, accountId: account.accountId }, message);
156
+ }
94
157
  async stopAccount(accountId) {
95
158
  const account = this.accounts.get(accountId);
96
159
  if (!account)
@@ -117,6 +180,10 @@ class BotlinkChannel {
117
180
  }, account.abortController.signal, getLongPollRequestTimeoutMs(account.config.poll_timeout));
118
181
  retryDelayMs = account.config.retry_interval * 1000;
119
182
  account.conflictStreak = 0;
183
+ this.ctx.statusReporter?.updateAccount({
184
+ id: account.accountId,
185
+ state: 'connected',
186
+ });
120
187
  if (updates.length > 0) {
121
188
  this.ctx.logger.info({
122
189
  channelId: this.id,
@@ -160,8 +227,18 @@ class BotlinkChannel {
160
227
  break;
161
228
  }
162
229
  const message = error instanceof Error ? error.message : String(error);
163
- if (isGetUpdatesConflictError(error)) {
230
+ if (isBotlinkAuthError(error)) {
231
+ account.conflictStreak = 0;
232
+ this.markAccountAuthFailed(account, error, 'botlink poll auth failed; account stopped');
233
+ break;
234
+ }
235
+ else if (isGetUpdatesConflictError(error)) {
164
236
  account.conflictStreak += 1;
237
+ this.ctx.statusReporter?.updateAccount({
238
+ id: account.accountId,
239
+ state: 'conflict',
240
+ error: message,
241
+ });
165
242
  retryDelayMs = Math.max(account.config.retry_interval * 1000, (account.config.poll_timeout + BOTLINK_CONFLICT_RELEASE_GRACE_SECONDS) * 1000);
166
243
  const logLevel = account.conflictStreak === 1 ? 'warn' : 'info';
167
244
  this.ctx.logger[logLevel]({
@@ -175,9 +252,14 @@ class BotlinkChannel {
175
252
  }
176
253
  else {
177
254
  account.conflictStreak = 0;
255
+ this.ctx.statusReporter?.updateAccount({
256
+ id: account.accountId,
257
+ state: 'network_error',
258
+ error: message,
259
+ });
178
260
  this.ctx.logger.warn({ err: message, retryDelayMs, channelId: this.id, accountId: account.accountId }, 'botlink poll failed, retrying');
179
261
  }
180
- await sleep(retryDelayMs, account.abortController.signal);
262
+ await this.wait(retryDelayMs, account.abortController.signal);
181
263
  retryDelayMs = isGetUpdatesConflictError(error)
182
264
  ? Math.max(account.config.retry_interval * 1000, (account.config.poll_timeout + BOTLINK_CONFLICT_RELEASE_GRACE_SECONDS) * 1000)
183
265
  : Math.min(retryDelayMs * 2, account.config.max_retry_interval * 1000);
@@ -185,36 +267,40 @@ class BotlinkChannel {
185
267
  }
186
268
  }
187
269
  scheduleDispatch(account, envelope) {
188
- if (!this.ctx) {
270
+ if (!this.ctx)
189
271
  return;
190
- }
191
272
  let dispatchTask;
192
273
  try {
193
274
  dispatchTask = this.ctx.dispatch(envelope);
194
275
  }
195
276
  catch (error) {
196
- this.ctx.logger.error({
197
- channelId: this.id,
198
- accountId: account.accountId,
199
- sessionId: envelope.sessionId,
200
- messageId: envelope.source.messageId,
201
- err: error instanceof Error ? error.message : String(error),
202
- }, 'botlink dispatch failed');
277
+ this.logDispatchFailure(account, envelope, error);
203
278
  return;
204
279
  }
205
280
  account.dispatchTasks.add(dispatchTask);
206
281
  void dispatchTask.catch((error) => {
207
- this.ctx?.logger.error({
208
- channelId: this.id,
209
- accountId: account.accountId,
210
- sessionId: envelope.sessionId,
211
- messageId: envelope.source.messageId,
212
- err: error instanceof Error ? error.message : String(error),
213
- }, 'botlink dispatch failed');
282
+ this.logDispatchFailure(account, envelope, error);
214
283
  }).finally(() => {
215
284
  account.dispatchTasks.delete(dispatchTask);
216
285
  });
217
286
  }
287
+ logDispatchFailure(account, envelope, error) {
288
+ const message = error instanceof Error ? error.message : String(error);
289
+ if (isBotlinkAuthError(error)) {
290
+ account.conflictStreak = 0;
291
+ this.ctx?.statusReporter?.updateAccount({
292
+ id: account.accountId,
293
+ state: 'auth_failed',
294
+ error: message,
295
+ });
296
+ }
297
+ this.ctx?.logger.error({
298
+ err: message,
299
+ channelId: this.id,
300
+ accountId: account.accountId,
301
+ sessionId: envelope.sessionId,
302
+ }, 'botlink async dispatch failed');
303
+ }
218
304
  async request(account, method, payload, signal, timeoutMs) {
219
305
  const baseUrl = account.config.gateway_url.replace(/\/+$/, '');
220
306
  const url = `${baseUrl}/bot${account.config.bot_token}/${method}`;
@@ -243,11 +329,11 @@ class BotlinkChannel {
243
329
  this.ctx?.logger.debug({ accountId: account.accountId, method, status: response.status, ok: result.ok, description: result.description }, 'botlink response');
244
330
  if (!response.ok) {
245
331
  const detail = result.description ?? `HTTP ${response.status}`;
246
- throw new Error(`botlink ${method} failed: ${detail}`);
332
+ throw new BotlinkHttpError(method, response.status, detail);
247
333
  }
248
334
  if (!result.ok) {
249
335
  const detail = result.description ?? `error_code=${result.error_code ?? 'unknown'}`;
250
- throw new Error(`botlink ${method} failed: ${detail}`);
336
+ throw new BotlinkApiError(method, result.error_code, detail);
251
337
  }
252
338
  return result.result;
253
339
  }
@@ -275,6 +361,14 @@ class BotlinkChannel {
275
361
  senderName: resolveTelegramSenderName(message.from),
276
362
  }, 'botlink inbound message payload');
277
363
  const mentions = extractMentions(contentText, mentionEntities);
364
+ const directedAtThisBot = isMentioned({
365
+ botUsername: account.botUsername ?? '',
366
+ chatType: normalizeChatType(message.chat.type),
367
+ mentions,
368
+ });
369
+ const normalizedContentText = directedAtThisBot && account.botUsername
370
+ ? stripMentions(contentText, [account.botUsername])
371
+ : contentText;
278
372
  const attachments = await this.downloadAttachments(message, account, signal);
279
373
  const botlinkSessionKey = makeSessionId(account.config.bot_token, message.chat.id, message.message_thread_id);
280
374
  return {
@@ -293,7 +387,7 @@ class BotlinkChannel {
293
387
  botlinkSessionKey,
294
388
  },
295
389
  content: {
296
- text: contentText,
390
+ text: normalizedContentText,
297
391
  mentions,
298
392
  attachments,
299
393
  },
@@ -331,7 +425,7 @@ class BotlinkChannel {
331
425
  const baseUrl = account.config.gateway_url.replace(/\/+$/, '');
332
426
  const fileUrl = `${baseUrl}/file/bot${account.config.bot_token}/${fileInfo.file_path.replace(/^\/+/, '')}`;
333
427
  const safeName = sanitizeFileName(fileName ?? basename(fileInfo.file_path));
334
- const targetDir = join(DATA_FILES_DIR, String(fileId));
428
+ const targetDir = join(DATA_FILES_DIR(), String(fileId));
335
429
  const targetPath = join(targetDir, safeName);
336
430
  mkdirSync(targetDir, { recursive: true });
337
431
  const response = await fetch(fileUrl, { signal });
@@ -478,6 +572,15 @@ function isGetUpdatesConflictError(error) {
478
572
  return /botlink getUpdates failed: Conflict:/i.test(error.message)
479
573
  || /terminated by other getUpdates request/i.test(error.message);
480
574
  }
575
+ function isBotlinkAuthError(error) {
576
+ if (error instanceof BotlinkHttpError) {
577
+ return error.status === 401 || error.status === 403;
578
+ }
579
+ if (error instanceof BotlinkApiError) {
580
+ return error.errorCode === 401 || error.errorCode === 403;
581
+ }
582
+ return false;
583
+ }
481
584
  function getLongPollRequestTimeoutMs(pollTimeoutSeconds) {
482
585
  return (pollTimeoutSeconds + BOTLINK_LONG_POLL_REQUEST_TIMEOUT_GRACE_SECONDS) * 1000;
483
586
  }
@@ -1 +1 @@
1
- {"version":3,"file":"botlink.js","sourceRoot":"","sources":["../../src/channels/botlink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"botlink.js","sourceRoot":"","sources":["../../src/channels/botlink.ts"],"names":[],"mappings":"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"}
@@ -445,8 +445,8 @@ function requestReloadIfRunning() {
445
445
  if (pid === null) {
446
446
  return null;
447
447
  }
448
- mkdirSync(dirname(RELOAD_REQUEST_FILE), { recursive: true });
449
- writeFileSync(RELOAD_REQUEST_FILE, `${JSON.stringify({
448
+ mkdirSync(dirname(RELOAD_REQUEST_FILE()), { recursive: true });
449
+ writeFileSync(RELOAD_REQUEST_FILE(), `${JSON.stringify({
450
450
  requestedAt: new Date().toISOString(),
451
451
  requestedByPid: process.pid,
452
452
  targetPid: pid,
@@ -455,8 +455,8 @@ function requestReloadIfRunning() {
455
455
  }
456
456
  export async function cmdAddAgent(args) {
457
457
  console.log('agents-bridge - Add Agent\n');
458
- if (!existsSync(DATA_DIR)) {
459
- mkdirSync(DATA_DIR, { recursive: true });
458
+ if (!existsSync(DATA_DIR())) {
459
+ mkdirSync(DATA_DIR(), { recursive: true });
460
460
  }
461
461
  ensureDataDirs();
462
462
  const { path: configPath, config } = readConfigForMutation(args.config);