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.
- package/.env.example +7 -1
- package/dist/agents/botlink-session-map-store.d.ts.map +1 -1
- package/dist/agents/botlink-session-map-store.js +1 -1
- package/dist/agents/botlink-session-map-store.js.map +1 -1
- package/dist/agents/cli-backends.d.ts.map +1 -1
- package/dist/agents/cli-backends.js +1 -0
- package/dist/agents/cli-backends.js.map +1 -1
- package/dist/agents/cli-runner.d.ts +2 -0
- package/dist/agents/cli-runner.d.ts.map +1 -1
- package/dist/agents/cli-runner.js +19 -4
- package/dist/agents/cli-runner.js.map +1 -1
- package/dist/agents/cli-session-store.d.ts.map +1 -1
- package/dist/agents/cli-session-store.js +1 -1
- package/dist/agents/cli-session-store.js.map +1 -1
- package/dist/agents/model-auto-binding.d.ts +7 -0
- package/dist/agents/model-auto-binding.d.ts.map +1 -0
- package/dist/agents/model-auto-binding.js +71 -0
- package/dist/agents/model-auto-binding.js.map +1 -0
- package/dist/agents/model-controller.d.ts +32 -0
- package/dist/agents/model-controller.d.ts.map +1 -0
- package/dist/agents/model-controller.js +139 -0
- package/dist/agents/model-controller.js.map +1 -0
- package/dist/channels/botlink.d.ts +36 -0
- package/dist/channels/botlink.d.ts.map +1 -1
- package/dist/channels/botlink.js +141 -38
- package/dist/channels/botlink.js.map +1 -1
- package/dist/cli/cmd-add-agent.js +4 -4
- package/dist/cli/cmd-add-agent.js.map +1 -1
- package/dist/cli/cmd-config.js +1 -1
- package/dist/cli/cmd-config.js.map +1 -1
- package/dist/cli/cmd-doctor.js +1 -1
- package/dist/cli/cmd-doctor.js.map +1 -1
- package/dist/cli/cmd-logs.d.ts.map +1 -1
- package/dist/cli/cmd-logs.js +5 -4
- package/dist/cli/cmd-logs.js.map +1 -1
- package/dist/cli/cmd-onboard.js +9 -9
- package/dist/cli/cmd-onboard.js.map +1 -1
- package/dist/cli/cmd-reload.js +2 -2
- package/dist/cli/cmd-reload.js.map +1 -1
- package/dist/cli/cmd-start.d.ts +9 -1
- package/dist/cli/cmd-start.d.ts.map +1 -1
- package/dist/cli/cmd-start.js +109 -23
- package/dist/cli/cmd-start.js.map +1 -1
- package/dist/cli/cmd-status.js +1 -1
- package/dist/cli/cmd-status.js.map +1 -1
- package/dist/cli/cmd-stop.d.ts.map +1 -1
- package/dist/cli/cmd-stop.js +5 -4
- package/dist/cli/cmd-stop.js.map +1 -1
- package/dist/cli/pid-file.d.ts.map +1 -1
- package/dist/cli/pid-file.js +13 -13
- package/dist/cli/pid-file.js.map +1 -1
- package/dist/cli/update-check.d.ts.map +1 -1
- package/dist/cli/update-check.js +8 -5
- package/dist/cli/update-check.js.map +1 -1
- package/dist/config/agent-dirs.js +6 -6
- package/dist/config/agent-dirs.js.map +1 -1
- package/dist/config/config.js +1 -1
- package/dist/config/config.js.map +1 -1
- package/dist/config/env-vars.d.ts +2 -0
- package/dist/config/env-vars.d.ts.map +1 -1
- package/dist/config/env-vars.js +2 -0
- package/dist/config/env-vars.js.map +1 -1
- package/dist/config/paths.d.ts +13 -13
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +42 -15
- package/dist/config/paths.js.map +1 -1
- package/dist/config/zod-schema.d.ts +131 -0
- package/dist/config/zod-schema.d.ts.map +1 -1
- package/dist/config/zod-schema.js +4 -0
- package/dist/config/zod-schema.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +3 -3
- package/dist/logger.js.map +1 -1
- package/dist/status-reporter.d.ts +34 -0
- package/dist/status-reporter.d.ts.map +1 -0
- package/dist/status-reporter.js +161 -0
- package/dist/status-reporter.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -1
- 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":"
|
|
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"}
|
package/dist/channels/botlink.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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 (
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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:
|
|
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);
|