@openclaw-cloud/agent-controller 3.1.0 → 3.1.2
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/bin/agent-controller.js +5 -9
- package/dist/api.d.ts +7 -0
- package/dist/api.js.map +1 -1
- package/dist/commands/agent-update-cli.js +23 -38
- package/dist/commands/agent-update-cli.js.map +1 -1
- package/dist/commands/backup-cli.js +6 -4
- package/dist/commands/backup-cli.js.map +1 -1
- package/dist/commands/bootstrap.d.ts +10 -1
- package/dist/commands/bootstrap.js +25 -73
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/channel-server.js +4 -3
- package/dist/commands/channel-server.js.map +1 -1
- package/dist/commands/heartbeat-cli.js +2 -6
- package/dist/commands/heartbeat-cli.js.map +1 -1
- package/dist/commands/install-deps.d.ts +10 -0
- package/dist/commands/install-deps.js +33 -43
- package/dist/commands/install-deps.js.map +1 -1
- package/dist/commands/knowledge-sync-cli.js +6 -4
- package/dist/commands/knowledge-sync-cli.js.map +1 -1
- package/dist/commands/plugin-update-cli.js +4 -8
- package/dist/commands/plugin-update-cli.js.map +1 -1
- package/dist/commands/self-update.js +17 -34
- package/dist/commands/self-update.js.map +1 -1
- package/dist/commands/update-skills.js +7 -6
- package/dist/commands/update-skills.js.map +1 -1
- package/dist/config-file.d.ts +7 -0
- package/dist/config-file.js +22 -11
- package/dist/config-file.js.map +1 -1
- package/dist/handlers/agent-update.d.ts +4 -0
- package/dist/handlers/agent-update.js +16 -44
- package/dist/handlers/agent-update.js.map +1 -1
- package/dist/handlers/deploy.d.ts +1 -2
- package/dist/handlers/deploy.js +4 -20
- package/dist/handlers/deploy.js.map +1 -1
- package/dist/handlers/diagnostics.js +0 -12
- package/dist/handlers/diagnostics.js.map +1 -1
- package/dist/handlers/file-delete.js +4 -5
- package/dist/handlers/file-delete.js.map +1 -1
- package/dist/handlers/file-write.js +4 -4
- package/dist/handlers/file-write.js.map +1 -1
- package/dist/handlers/knowledge-sync.js +2 -14
- package/dist/handlers/knowledge-sync.js.map +1 -1
- package/dist/handlers/memory.d.ts +11 -1
- package/dist/handlers/memory.js.map +1 -1
- package/dist/handlers/onboarding.d.ts +1 -2
- package/dist/handlers/onboarding.js +3 -20
- package/dist/handlers/onboarding.js.map +1 -1
- package/dist/handlers/package-install.js +1 -1
- package/dist/handlers/package-install.js.map +1 -1
- package/dist/handlers/pair.js +0 -12
- package/dist/handlers/pair.js.map +1 -1
- package/dist/handlers/restart.d.ts +1 -2
- package/dist/handlers/restart.js +3 -8
- package/dist/handlers/restart.js.map +1 -1
- package/dist/handlers/stop.js +0 -7
- package/dist/handlers/stop.js.map +1 -1
- package/dist/handlers/telegram-webhook.js +3 -22
- package/dist/handlers/telegram-webhook.js.map +1 -1
- package/dist/handlers/update-config.js +4 -13
- package/dist/handlers/update-config.js.map +1 -1
- package/dist/heartbeat.js +2 -1
- package/dist/heartbeat.js.map +1 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.js +57 -117
- package/dist/index.js.map +1 -1
- package/dist/lockfile.js +2 -1
- package/dist/lockfile.js.map +1 -1
- package/dist/platform/linux.js +6 -5
- package/dist/platform/linux.js.map +1 -1
- package/dist/platform/macos.js +3 -2
- package/dist/platform/macos.js.map +1 -1
- package/dist/platform/windows.js +3 -2
- package/dist/platform/windows.js.map +1 -1
- package/dist/providers/claude-code/channel-server.js +2 -1
- package/dist/providers/claude-code/channel-server.js.map +1 -1
- package/dist/providers/claude-code/settings-writer.d.ts +3 -2
- package/dist/providers/claude-code/settings-writer.js +6 -15
- package/dist/providers/claude-code/settings-writer.js.map +1 -1
- package/dist/providers/index.d.ts +13 -0
- package/dist/providers/index.js +25 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openclaw/gateway-adapter.js +2 -0
- package/dist/providers/openclaw/gateway-adapter.js.map +1 -1
- package/dist/providers/openclaw/index.js +11 -13
- package/dist/providers/openclaw/index.js.map +1 -1
- package/dist/utils/anthropic-auth.d.ts +14 -0
- package/dist/utils/anthropic-auth.js +24 -0
- package/dist/utils/anthropic-auth.js.map +1 -1
- package/dist/utils/apply-config.d.ts +38 -6
- package/dist/utils/apply-config.js +118 -69
- package/dist/utils/apply-config.js.map +1 -1
- package/dist/utils/claude-env.d.ts +6 -0
- package/dist/utils/claude-env.js +29 -28
- package/dist/utils/claude-env.js.map +1 -1
- package/dist/utils/deploy-type.d.ts +16 -0
- package/dist/utils/deploy-type.js +34 -0
- package/dist/utils/deploy-type.js.map +1 -0
- package/dist/utils/env.d.ts +0 -1
- package/dist/utils/env.js +0 -8
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/exec.d.ts +9 -0
- package/dist/utils/exec.js +12 -1
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/gateway-restart-handler.d.ts +6 -2
- package/dist/utils/gateway-restart-handler.js +11 -2
- package/dist/utils/gateway-restart-handler.js.map +1 -1
- package/dist/utils/gateway-restart.d.ts +7 -0
- package/dist/utils/gateway-restart.js +12 -4
- package/dist/utils/gateway-restart.js.map +1 -1
- package/dist/utils/knowledge-graph.d.ts +13 -1
- package/dist/utils/knowledge-graph.js +75 -29
- package/dist/utils/knowledge-graph.js.map +1 -1
- package/dist/utils/legacy-mcp-servers.d.ts +12 -0
- package/dist/utils/legacy-mcp-servers.js +37 -0
- package/dist/utils/legacy-mcp-servers.js.map +1 -0
- package/dist/utils/log-collector.js +2 -1
- package/dist/utils/log-collector.js.map +1 -1
- package/dist/utils/openclaw-ops.js +8 -7
- package/dist/utils/openclaw-ops.js.map +1 -1
- package/dist/utils/openclaw-stack-update.d.ts +31 -0
- package/dist/utils/openclaw-stack-update.js +50 -0
- package/dist/utils/openclaw-stack-update.js.map +1 -0
- package/dist/utils/package-install.js +4 -12
- package/dist/utils/package-install.js.map +1 -1
- package/dist/utils/package-version.d.ts +10 -0
- package/dist/utils/package-version.js +18 -0
- package/dist/utils/package-version.js.map +1 -0
- package/dist/utils/parse-id-at-version.d.ts +15 -0
- package/dist/utils/parse-id-at-version.js +22 -0
- package/dist/utils/parse-id-at-version.js.map +1 -0
- package/dist/utils/response.js +1 -0
- package/dist/utils/response.js.map +1 -1
- package/dist/utils/write-workspace-files.d.ts +1 -1
- package/dist/utils/write-workspace-files.js +19 -7
- package/dist/utils/write-workspace-files.js.map +1 -1
- package/dist/workspace.d.ts +11 -0
- package/dist/workspace.js +20 -0
- package/dist/workspace.js.map +1 -1
- package/package.json +9 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/handlers/memory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/handlers/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function handleOnboardingComplete(command: AgentCommand): Promise<AgentResponse>;
|
|
1
|
+
export { handleGatewayRestartCommand as handleOnboardingComplete } from '../utils/gateway-restart-handler.js';
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
const startMs = Date.now();
|
|
5
|
-
logCollector?.push('command_received', 'info', `Command: ${command.type}`, {
|
|
6
|
-
commandId: command.id,
|
|
7
|
-
});
|
|
8
|
-
const response = await handleGatewayRestartCommand(command);
|
|
9
|
-
const durationMs = Date.now() - startMs;
|
|
10
|
-
if (response.success) {
|
|
11
|
-
logCollector?.push('command_completed', 'info', `${command.type} completed`, {
|
|
12
|
-
commandId: command.id,
|
|
13
|
-
durationMs,
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
logCollector?.push('command_failed', 'error', `${command.type} failed: ${response.error ?? ''}`, { commandId: command.id, durationMs });
|
|
18
|
-
}
|
|
19
|
-
return response;
|
|
20
|
-
}
|
|
1
|
+
// See handlers/restart.ts — `onboarding_complete` acknowledges the UI wizard by
|
|
2
|
+
// restarting the gateway so it picks up whatever the wizard configured.
|
|
3
|
+
export { handleGatewayRestartCommand as handleOnboardingComplete } from '../utils/gateway-restart-handler.js';
|
|
21
4
|
//# sourceMappingURL=onboarding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/handlers/onboarding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/handlers/onboarding.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,wEAAwE;AACxE,OAAO,EAAE,2BAA2B,IAAI,wBAAwB,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -13,7 +13,7 @@ export async function handlePackageInstall(command) {
|
|
|
13
13
|
data: { installed: { apt: [], npm: [], pip: [] }, errors: [] },
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
logCollector?.push('
|
|
16
|
+
logCollector?.push('package_install_start', 'info', 'Package install starting', {
|
|
17
17
|
commandId: command.id,
|
|
18
18
|
npm: npm.length ? npm : undefined,
|
|
19
19
|
pip: pip.length ? pip : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-install.js","sourceRoot":"","sources":["../../src/handlers/package-install.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAqB;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAMpB,CAAC;IAEd,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IAEhC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SAC/D,CAAC;IACJ,CAAC;IAED,YAAY,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"package-install.js","sourceRoot":"","sources":["../../src/handlers/package-install.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers/pair.js
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
import { logCollector } from '../connection.js';
|
|
2
1
|
import { config } from '../config.js';
|
|
3
2
|
// STRUCT-3: This handler is intentionally a stub. The backend validates the pairing
|
|
4
3
|
// token server-side; agent-controller only echoes back the identifiers as confirmation.
|
|
5
4
|
// No local pairing operation is performed here.
|
|
6
5
|
export function handlePair(command) {
|
|
7
|
-
const startMs = Date.now();
|
|
8
|
-
logCollector?.push('command_received', 'info', `Command: ${command.type}`, {
|
|
9
|
-
commandId: command.id,
|
|
10
|
-
});
|
|
11
6
|
const pairToken = command.payload.token;
|
|
12
7
|
const targetId = command.payload.targetId;
|
|
13
8
|
if (!pairToken || !targetId) {
|
|
14
|
-
const durationMs = Date.now() - startMs;
|
|
15
|
-
logCollector?.push('command_failed', 'error', `${command.type} failed: Missing "token" or "targetId" in payload`, { commandId: command.id, durationMs });
|
|
16
9
|
return Promise.resolve({
|
|
17
10
|
id: command.id,
|
|
18
11
|
type: 'pair',
|
|
@@ -20,11 +13,6 @@ export function handlePair(command) {
|
|
|
20
13
|
error: 'Missing "token" or "targetId" in payload',
|
|
21
14
|
});
|
|
22
15
|
}
|
|
23
|
-
const durationMs = Date.now() - startMs;
|
|
24
|
-
logCollector?.push('command_completed', 'info', `${command.type} completed`, {
|
|
25
|
-
commandId: command.id,
|
|
26
|
-
durationMs,
|
|
27
|
-
});
|
|
28
16
|
return Promise.resolve({
|
|
29
17
|
id: command.id,
|
|
30
18
|
type: 'pair',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pair.js","sourceRoot":"","sources":["../../src/handlers/pair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pair.js","sourceRoot":"","sources":["../../src/handlers/pair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,oFAAoF;AACpF,wFAAwF;AACxF,gDAAgD;AAChD,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,KAAe,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAkB,CAAC;IAEpD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,0CAA0C;SAClD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI;YACZ,QAAQ;YACR,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function handleRestart(command: AgentCommand): Promise<AgentResponse>;
|
|
1
|
+
export { handleGatewayRestartCommand as handleRestart } from '../utils/gateway-restart-handler.js';
|
package/dist/handlers/restart.js
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
logCollector?.push('gateway_restart', 'info', 'Gateway restart requested', {
|
|
5
|
-
commandId: command.id,
|
|
6
|
-
});
|
|
7
|
-
return handleGatewayRestartCommand(command);
|
|
8
|
-
}
|
|
1
|
+
// `restart`, `deploy` and `onboarding_complete` are the same operation — a
|
|
2
|
+
// gateway restart. One implementation, three command names.
|
|
3
|
+
export { handleGatewayRestartCommand as handleRestart } from '../utils/gateway-restart-handler.js';
|
|
9
4
|
//# sourceMappingURL=restart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../src/handlers/restart.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../src/handlers/restart.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4DAA4D;AAC5D,OAAO,EAAE,2BAA2B,IAAI,aAAa,EAAE,MAAM,qCAAqC,CAAC"}
|
package/dist/handlers/stop.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
import { logCollector } from '../connection.js';
|
|
2
1
|
export function handleStop(command) {
|
|
3
|
-
logCollector?.push('command_received', 'info', `Command: ${command.type}`, {
|
|
4
|
-
commandId: command.id,
|
|
5
|
-
});
|
|
6
|
-
logCollector?.push('command_completed', 'info', `${command.type} completed`, {
|
|
7
|
-
commandId: command.id,
|
|
8
|
-
});
|
|
9
2
|
const response = {
|
|
10
3
|
id: command.id,
|
|
11
4
|
type: 'stop',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/handlers/stop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/handlers/stop.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,MAAM,QAAQ,GAAkB;QAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE;KAC9C,CAAC;IAEF,yFAAyF;IACzF,yFAAyF;IACzF,qFAAqF;IACrF,8CAA8C;IAC9C,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -3,16 +3,8 @@ import { logCollector } from '../connection.js';
|
|
|
3
3
|
const WEBHOOK_PORT = 8787;
|
|
4
4
|
const TIMEOUT_MS = 10_000;
|
|
5
5
|
export async function handleTelegramWebhook(command) {
|
|
6
|
-
logCollector?.push('command_received', 'info', `Command: ${command.type}`, {
|
|
7
|
-
commandId: command.id,
|
|
8
|
-
});
|
|
9
|
-
const startMs = Date.now();
|
|
10
6
|
const { body, webhookSecret } = command.payload;
|
|
11
7
|
if (!body) {
|
|
12
|
-
logCollector?.push('command_failed', 'error', `${command.type} failed: missing body in payload`, {
|
|
13
|
-
commandId: command.id,
|
|
14
|
-
durationMs: Date.now() - startMs,
|
|
15
|
-
});
|
|
16
8
|
return {
|
|
17
9
|
id: command.id,
|
|
18
10
|
type: command.type,
|
|
@@ -33,12 +25,10 @@ export async function handleTelegramWebhook(command) {
|
|
|
33
25
|
body: JSON.stringify(body),
|
|
34
26
|
signal: AbortSignal.timeout(TIMEOUT_MS),
|
|
35
27
|
});
|
|
28
|
+
// Domain event: which status the local gateway gave us. The command
|
|
29
|
+
// lifecycle (received/completed/failed) is logged by connection.ts.
|
|
30
|
+
logCollector?.push('telegram_webhook_forwarded', response.ok ? 'info' : 'error', `Telegram update forwarded to gateway: HTTP ${response.status}`, { commandId: command.id, statusCode: response.status });
|
|
36
31
|
if (!response.ok) {
|
|
37
|
-
logCollector?.push('command_failed', 'error', `${command.type} failed: gateway ${response.status}`, {
|
|
38
|
-
commandId: command.id,
|
|
39
|
-
durationMs: Date.now() - startMs,
|
|
40
|
-
statusCode: response.status,
|
|
41
|
-
});
|
|
42
32
|
return {
|
|
43
33
|
id: command.id,
|
|
44
34
|
type: command.type,
|
|
@@ -46,11 +36,6 @@ export async function handleTelegramWebhook(command) {
|
|
|
46
36
|
error: `Gateway responded with ${response.status}: ${response.statusText}`,
|
|
47
37
|
};
|
|
48
38
|
}
|
|
49
|
-
logCollector?.push('command_completed', 'info', `${command.type} completed`, {
|
|
50
|
-
commandId: command.id,
|
|
51
|
-
durationMs: Date.now() - startMs,
|
|
52
|
-
statusCode: response.status,
|
|
53
|
-
});
|
|
54
39
|
return {
|
|
55
40
|
id: command.id,
|
|
56
41
|
type: command.type,
|
|
@@ -59,10 +44,6 @@ export async function handleTelegramWebhook(command) {
|
|
|
59
44
|
};
|
|
60
45
|
}
|
|
61
46
|
catch (err) {
|
|
62
|
-
logCollector?.push('command_failed', 'error', `${command.type} failed: ${toErrorMessage(err)}`, {
|
|
63
|
-
commandId: command.id,
|
|
64
|
-
durationMs: Date.now() - startMs,
|
|
65
|
-
});
|
|
66
47
|
return {
|
|
67
48
|
id: command.id,
|
|
68
49
|
type: command.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram-webhook.js","sourceRoot":"","sources":["../../src/handlers/telegram-webhook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAqB;IAC/D,
|
|
1
|
+
{"version":3,"file":"telegram-webhook.js","sourceRoot":"","sources":["../../src/handlers/telegram-webhook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAqB;IAC/D,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAGvC,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,2BAA2B;SACnC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,iCAAiC,CAAC,GAAG,aAAa,CAAC;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,YAAY,mBAAmB,EAAE;YAChF,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;QAEH,oEAAoE;QACpE,oEAAoE;QACpE,YAAY,EAAE,IAAI,CAChB,4BAA4B,EAC5B,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC9B,8CAA8C,QAAQ,CAAC,MAAM,EAAE,EAC/D,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,CACvD,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO;gBACL,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE;aAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;SAClC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC;SAC3B,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,26 +1,17 @@
|
|
|
1
1
|
import { toErrorMessage } from '../utils/response.js';
|
|
2
|
-
import {
|
|
2
|
+
import { fetchAndApplyConfig } from '../utils/apply-config.js';
|
|
3
3
|
import { logCollector } from '../connection.js';
|
|
4
4
|
export function handleUpdateConfig(api, agentId) {
|
|
5
5
|
return async (cmd) => {
|
|
6
|
-
const startMs = Date.now();
|
|
7
|
-
logCollector?.push('command_received', 'info', `Command: ${cmd.type}`, { commandId: cmd.id });
|
|
8
6
|
try {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
const durationMs = Date.now() - startMs;
|
|
12
|
-
logCollector?.push('command_completed', 'info', `${cmd.type} completed`, {
|
|
7
|
+
const { managed } = await fetchAndApplyConfig(api, agentId);
|
|
8
|
+
logCollector?.push('config_applied', 'info', `Config applied (managed=${managed})`, {
|
|
13
9
|
commandId: cmd.id,
|
|
14
|
-
|
|
10
|
+
managed,
|
|
15
11
|
});
|
|
16
12
|
return { id: cmd.id, type: cmd.type, success: true, data: {} };
|
|
17
13
|
}
|
|
18
14
|
catch (err) {
|
|
19
|
-
const durationMs = Date.now() - startMs;
|
|
20
|
-
logCollector?.push('command_failed', 'error', `${cmd.type} failed: ${toErrorMessage(err)}`, {
|
|
21
|
-
commandId: cmd.id,
|
|
22
|
-
durationMs,
|
|
23
|
-
});
|
|
24
15
|
return { id: cmd.id, type: cmd.type, success: false, error: toErrorMessage(err) };
|
|
25
16
|
}
|
|
26
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-config.js","sourceRoot":"","sources":["../../src/handlers/update-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"update-config.js","sourceRoot":"","sources":["../../src/handlers/update-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAAC,GAAa,EAAE,OAAe;IAC/D,OAAO,KAAK,EAAE,GAAiB,EAA0B,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC5D,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,2BAA2B,OAAO,GAAG,EAAE;gBAClF,SAAS,EAAE,GAAG,CAAC,EAAE;gBACjB,OAAO;aACR,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACpF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/heartbeat.js
CHANGED
|
@@ -6,6 +6,7 @@ import { config } from './config.js';
|
|
|
6
6
|
import { getProvider } from './providers/index.js';
|
|
7
7
|
import { isLockFilePresent } from './lockfile.js';
|
|
8
8
|
import { getOpenclawVersion, listInstalledPlugins } from './utils/openclaw-ops.js';
|
|
9
|
+
import { toErrorMessage } from './utils/response.js';
|
|
9
10
|
const HEARTBEAT_INTERVAL = 30_000;
|
|
10
11
|
async function checkGateway() {
|
|
11
12
|
const provider = getProvider();
|
|
@@ -127,7 +128,7 @@ export async function publishHeartbeat(opts) {
|
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
130
|
catch (err) {
|
|
130
|
-
console.error('Heartbeat publish failed:', err
|
|
131
|
+
console.error('Heartbeat publish failed:', toErrorMessage(err));
|
|
131
132
|
debugLog('heartbeat', '← error', err);
|
|
132
133
|
}
|
|
133
134
|
}
|
package/dist/heartbeat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lift any legacy flat `mcpServers` at the root of openclaw.json into the
|
|
3
|
-
* canonical `mcp.servers` location. The OpenClaw CLI switched to strict
|
|
4
|
-
* schema validation that rejects the unknown top-level `mcpServers` key, so
|
|
5
|
-
* leaving it behind crashes the gateway on startup. Mutates `fileConfig`
|
|
6
|
-
* in place; returns true if anything changed.
|
|
7
|
-
*/
|
|
8
|
-
export declare function migrateLegacyMcpServers(fileConfig: Record<string, unknown>): boolean;
|
|
9
1
|
export declare function main(): Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -1,43 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { dirname, join } from 'node:path';
|
|
4
|
-
import fs from 'node:fs';
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
5
3
|
import { createConnection, logCollector } from './connection.js';
|
|
6
4
|
import { startHeartbeat } from './heartbeat.js';
|
|
7
5
|
import { createAgentApi } from './api.js';
|
|
8
|
-
import { configureProvider,
|
|
6
|
+
import { configureProvider, createProviderFromConfig, getProvider } from './providers/index.js';
|
|
9
7
|
import { ClaudeCodeProvider } from './providers/claude-code/index.js';
|
|
10
8
|
import { registerClaudeReplyPublisher } from './handlers/chat.js';
|
|
11
9
|
import { DEBUG } from './debug.js';
|
|
12
10
|
import { getBackendUrl } from './utils/env.js';
|
|
13
11
|
import { config, requireConfig } from './config.js';
|
|
14
12
|
import { createLockFile } from './lockfile.js';
|
|
15
|
-
import {
|
|
13
|
+
import { fetchAndApplyConfig, getOpenclawJsonPath, writeOpenclawJson, } from './utils/apply-config.js';
|
|
14
|
+
import { migrateLegacyMcpServers } from './utils/legacy-mcp-servers.js';
|
|
16
15
|
import { KnowledgeGraphManager } from './utils/knowledge-graph.js';
|
|
17
16
|
import { startMemoryMcpServer } from './memory-mcp-server.js';
|
|
18
17
|
import { wireMemoryDeltaLogging } from './handlers/memory.js';
|
|
19
18
|
import { toErrorMessage } from './utils/response.js';
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
/** On startup, fetch latest config from bootstrap API and apply.
|
|
23
|
-
*
|
|
24
|
-
* - vm / k8s → full `applyBootstrapConfig` (writes openclaw.json,
|
|
25
|
-
* auth-profiles.json, ~/.claude/settings.json, .env, restarts gateway).
|
|
26
|
-
* - standalone / undefined → `applyMergeableConfig` does a SCOPED merge of
|
|
27
|
-
* allowlisted safe-additive sections (mcpServers, tools.media.*, etc.)
|
|
28
|
-
* into the user's existing openclaw.json. Local values always win on
|
|
29
|
-
* conflict, and auth-profiles.json / .env / gateway are left untouched.
|
|
30
|
-
*/
|
|
19
|
+
import { getPackageVersion } from './utils/package-version.js';
|
|
20
|
+
const CONTROLLER_VERSION = getPackageVersion();
|
|
31
21
|
/**
|
|
32
|
-
*
|
|
33
|
-
* (`AGENT_DEPLOY_TYPE=vm` or `k8s`) by default — those rely on the backend
|
|
34
|
-
* writing openclaw.json, ~/.claude/settings.json, etc. as part of provisioning.
|
|
22
|
+
* Startup config refresh — OFF unless `AC_RUN_BOOTSTRAP=1` is set explicitly.
|
|
35
23
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
24
|
+
* Bootstrap runs automatically only at agent *setup* time: the k8s first-boot
|
|
25
|
+
* entrypoint marker and the VM user-data both invoke the `agent-controller
|
|
26
|
+
* bootstrap` CLI once. Runtime reconfiguration arrives over the WS
|
|
27
|
+
* `update_config` command. Startup therefore never auto-bootstraps — the
|
|
28
|
+
* previous managed-deploy auto-branch here was dead in production (nothing set
|
|
29
|
+
* `AGENT_DEPLOY_TYPE`) and only ever fired on machines we do not own.
|
|
30
|
+
*
|
|
31
|
+
* When it does run, `fetchAndApplyConfig` picks the apply mode from the
|
|
32
|
+
* bootstrap payload's `deploymentType` (env `AGENT_DEPLOY_TYPE` as fallback):
|
|
33
|
+
* managed 'vm'/'k8s' get the full apply, everything else the scoped merge.
|
|
41
34
|
*/
|
|
42
35
|
async function refreshConfigFromBootstrap() {
|
|
43
36
|
const backendUrl = config.backendUrl;
|
|
@@ -45,69 +38,32 @@ async function refreshConfigFromBootstrap() {
|
|
|
45
38
|
const agentId = config.agentId;
|
|
46
39
|
if (!backendUrl || !agentToken || !agentId)
|
|
47
40
|
return;
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (!managedDeploy && !explicitOptIn) {
|
|
52
|
-
console.log(`[startup] Skipping bootstrap (deployType=${deployType ?? 'standalone'}). ` +
|
|
53
|
-
`Set AC_RUN_BOOTSTRAP=1 to opt in.`);
|
|
41
|
+
const optIn = !!process.env.AC_RUN_BOOTSTRAP && process.env.AC_RUN_BOOTSTRAP !== '0';
|
|
42
|
+
if (!optIn) {
|
|
43
|
+
console.log('[startup] Skipping bootstrap. Set AC_RUN_BOOTSTRAP=1 to opt in.');
|
|
54
44
|
return;
|
|
55
45
|
}
|
|
56
46
|
try {
|
|
57
47
|
const api = createAgentApi(backendUrl, agentToken);
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
else {
|
|
64
|
-
await applyMergeableConfig(data);
|
|
65
|
-
console.log(`[startup] Scoped merge of mergeable config sections applied (deployType=${deployType ?? 'standalone'}, AC_RUN_BOOTSTRAP=1); local config preserved on conflict`);
|
|
66
|
-
}
|
|
48
|
+
const { managed } = await fetchAndApplyConfig(api, agentId);
|
|
49
|
+
console.log(managed
|
|
50
|
+
? '[startup] Config refreshed from bootstrap API (managed install — full apply)'
|
|
51
|
+
: '[startup] Scoped merge of mergeable config sections applied (third-party install); ' +
|
|
52
|
+
'local config preserved on conflict');
|
|
67
53
|
}
|
|
68
54
|
catch (err) {
|
|
69
|
-
console.error('[startup] Failed to refresh config from bootstrap:', err
|
|
55
|
+
console.error('[startup] Failed to refresh config from bootstrap:', toErrorMessage(err));
|
|
70
56
|
}
|
|
71
57
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Lift any legacy flat `mcpServers` at the root of openclaw.json into the
|
|
74
|
-
* canonical `mcp.servers` location. The OpenClaw CLI switched to strict
|
|
75
|
-
* schema validation that rejects the unknown top-level `mcpServers` key, so
|
|
76
|
-
* leaving it behind crashes the gateway on startup. Mutates `fileConfig`
|
|
77
|
-
* in place; returns true if anything changed.
|
|
78
|
-
*/
|
|
79
|
-
export function migrateLegacyMcpServers(fileConfig) {
|
|
80
|
-
const flat = fileConfig.mcpServers;
|
|
81
|
-
if (!flat || typeof flat !== 'object' || Array.isArray(flat))
|
|
82
|
-
return false;
|
|
83
|
-
const mcp = (fileConfig.mcp && typeof fileConfig.mcp === 'object' && !Array.isArray(fileConfig.mcp)
|
|
84
|
-
? fileConfig.mcp
|
|
85
|
-
: {});
|
|
86
|
-
const nested = (mcp.servers && typeof mcp.servers === 'object' && !Array.isArray(mcp.servers) ? mcp.servers : {});
|
|
87
|
-
for (const [name, value] of Object.entries(flat)) {
|
|
88
|
-
if (!(name in nested)) {
|
|
89
|
-
nested[name] = value;
|
|
90
|
-
console.log(`[startup] Migrated legacy mcpServers.${name} → mcp.servers.${name}`);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
console.warn(`[startup] Migration skip: mcp.servers.${name} already exists, dropping legacy flat entry`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
mcp.servers = nested;
|
|
97
|
-
fileConfig.mcp = mcp;
|
|
98
|
-
delete fileConfig.mcpServers;
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
58
|
/** Inject agent-memory MCP server into openclaw.json so OpenClaw agent can discover it. */
|
|
102
|
-
function injectMemoryMcpConfig() {
|
|
59
|
+
async function injectMemoryMcpConfig() {
|
|
103
60
|
try {
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
if (!fs.existsSync(configPath))
|
|
61
|
+
const raw = await fs.readFile(getOpenclawJsonPath(), 'utf-8').catch(() => null);
|
|
62
|
+
if (raw === null)
|
|
107
63
|
return;
|
|
108
|
-
const fileConfig = JSON.parse(
|
|
64
|
+
const fileConfig = JSON.parse(raw);
|
|
109
65
|
// Clean up pre-rebrand configs before injecting — see migrateLegacyMcpServers.
|
|
110
|
-
migrateLegacyMcpServers(fileConfig);
|
|
66
|
+
migrateLegacyMcpServers(fileConfig, '[startup]');
|
|
111
67
|
const mcp = (fileConfig.mcp && typeof fileConfig.mcp === 'object' && !Array.isArray(fileConfig.mcp)
|
|
112
68
|
? fileConfig.mcp
|
|
113
69
|
: {});
|
|
@@ -120,11 +76,11 @@ function injectMemoryMcpConfig() {
|
|
|
120
76
|
};
|
|
121
77
|
mcp.servers = servers;
|
|
122
78
|
fileConfig.mcp = mcp;
|
|
123
|
-
|
|
79
|
+
await writeOpenclawJson(fileConfig);
|
|
124
80
|
console.log('[startup] Injected agent-memory MCP server into openclaw.json');
|
|
125
81
|
}
|
|
126
82
|
catch (err) {
|
|
127
|
-
console.warn('[startup] Failed to inject memory MCP config:', err
|
|
83
|
+
console.warn('[startup] Failed to inject memory MCP config:', toErrorMessage(err));
|
|
128
84
|
}
|
|
129
85
|
}
|
|
130
86
|
export async function main() {
|
|
@@ -151,7 +107,7 @@ export async function main() {
|
|
|
151
107
|
await knowledgeGraphManager.init();
|
|
152
108
|
console.log('[memory] KnowledgeGraphManager initialized');
|
|
153
109
|
closeMemoryMcp = await startMemoryMcpServer(knowledgeGraphManager);
|
|
154
|
-
injectMemoryMcpConfig();
|
|
110
|
+
await injectMemoryMcpConfig();
|
|
155
111
|
}
|
|
156
112
|
catch (err) {
|
|
157
113
|
console.error('[memory] Failed to initialize memory:', toErrorMessage(err));
|
|
@@ -173,53 +129,37 @@ export async function main() {
|
|
|
173
129
|
});
|
|
174
130
|
// Wire structured delta logs AFTER createConnection() so logCollector is set.
|
|
175
131
|
wireMemoryDeltaLogging(knowledgeGraphManager);
|
|
176
|
-
// Configure agent provider
|
|
132
|
+
// Configure agent provider. The openclaw provider is the chat transport, so
|
|
133
|
+
// without a gateway token we leave it unconfigured on purpose — chat commands
|
|
134
|
+
// then fail fast instead of retrying a doomed WS connect. (Gateway *restarts*
|
|
135
|
+
// no longer depend on this: restartGateway() builds its own provider.)
|
|
177
136
|
const providerType = config.agentProvider;
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
if (providerType === 'openclaw') {
|
|
181
|
-
if (gatewayToken) {
|
|
182
|
-
const provider = createProvider('openclaw', { wsUrl: gatewayWsUrl, wsToken: gatewayToken });
|
|
183
|
-
configureProvider(provider);
|
|
184
|
-
console.log('Chat provider configured (lazy connect on first use)');
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
console.warn('OPENCLAW_GATEWAY_TOKEN not set, chat provider disabled');
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
else if (providerType === 'mock') {
|
|
191
|
-
const provider = createProvider('mock', {});
|
|
192
|
-
configureProvider(provider);
|
|
193
|
-
provider.connect().catch((err) => {
|
|
194
|
-
console.error('Mock provider connect failed:', err instanceof Error ? err.message : err);
|
|
195
|
-
});
|
|
196
|
-
console.log('Mock provider configured');
|
|
137
|
+
if (providerType === 'openclaw' && !config.gatewayToken) {
|
|
138
|
+
console.warn('OPENCLAW_GATEWAY_TOKEN not set, chat provider disabled');
|
|
197
139
|
}
|
|
198
|
-
else
|
|
199
|
-
const provider =
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
backendUrl,
|
|
205
|
-
agentToken: token,
|
|
206
|
-
});
|
|
140
|
+
else {
|
|
141
|
+
const provider = createProviderFromConfig({ backendUrl, agentToken: token });
|
|
142
|
+
if (!provider) {
|
|
143
|
+
console.error(`Unknown provider type: ${providerType}`);
|
|
144
|
+
process.exit(1);
|
|
145
|
+
}
|
|
207
146
|
configureProvider(provider);
|
|
208
147
|
// Wire the reply publisher: Claude's async reply tool calls are published
|
|
209
148
|
// to the backend as `chat_response` events so the chat UI receives them.
|
|
210
149
|
if (provider instanceof ClaudeCodeProvider) {
|
|
211
150
|
registerClaudeReplyPublisher(provider, (payload) => api.publishResponse(agentId, payload).catch((err) => {
|
|
212
|
-
console.error('[claude-code] reply publish failed:', err
|
|
151
|
+
console.error('[claude-code] reply publish failed:', toErrorMessage(err));
|
|
213
152
|
}));
|
|
214
153
|
}
|
|
215
|
-
|
|
216
|
-
console.
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
154
|
+
if (providerType === 'openclaw') {
|
|
155
|
+
console.log('Chat provider configured (lazy connect on first use)');
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
provider.connect().catch((err) => {
|
|
159
|
+
console.error(`${providerType} provider connect failed:`, toErrorMessage(err));
|
|
160
|
+
});
|
|
161
|
+
console.log(`${providerType} provider configured`);
|
|
162
|
+
}
|
|
223
163
|
}
|
|
224
164
|
console.log('Heartbeat via backend API');
|
|
225
165
|
const heartbeatHandle = startHeartbeat({
|