@openclaw-cloud/agent-controller 0.19.0-beta.20 → 0.19.0-beta.21
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/dist/commands/self-update.js +1 -1
- package/dist/commands/self-update.js.map +1 -1
- package/dist/utils/apply-config.js +60 -2
- package/dist/utils/apply-config.js.map +1 -1
- package/dist/utils/claude-env.js +1 -31
- package/dist/utils/claude-env.js.map +1 -1
- package/package.json +1 -1
- package/dist/openclaw/gateway-adapter.d.ts +0 -5
- package/dist/openclaw/gateway-adapter.js +0 -6
- package/dist/openclaw/gateway-adapter.js.map +0 -1
- package/dist/openclaw/gateway-client.d.ts +0 -26
- package/dist/openclaw/gateway-client.js +0 -168
- package/dist/openclaw/gateway-client.js.map +0 -1
- package/dist/openclaw/index.d.ts +0 -20
- package/dist/openclaw/index.js +0 -45
- package/dist/openclaw/index.js.map +0 -1
- package/dist/openclaw/types.d.ts +0 -5
- package/dist/openclaw/types.js +0 -2
- package/dist/openclaw/types.js.map +0 -1
|
@@ -6,7 +6,7 @@ async function fixNpmPermissions() {
|
|
|
6
6
|
const home = process.env.HOME ?? '/root';
|
|
7
7
|
console.log('Fixing npm permissions (root-owned files from previous installs)...');
|
|
8
8
|
// Fix both cache (.npm) and global prefix (.npm-global)
|
|
9
|
-
await execAsync(`chown -R $(id -u):$(id -g) "${home}/.npm" "${home}/.npm-global" 2>/dev/null || true`, 30_000);
|
|
9
|
+
await execAsync(`sudo chown -R $(id -u):$(id -g) "${home}/.npm" "${home}/.npm-global" 2>/dev/null || true`, 30_000);
|
|
10
10
|
}
|
|
11
11
|
async function withEaccesRetry(fn, label) {
|
|
12
12
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,YAAY,GAAG,kCAAkC,CAAC;AAExD,KAAK,UAAU,iBAAiB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IACnF,wDAAwD;IACxD,MAAM,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,YAAY,GAAG,kCAAkC,CAAC;AAExD,KAAK,UAAU,iBAAiB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IACnF,wDAAwD;IACxD,MAAM,SAAS,CAAC,oCAAoC,IAAI,WAAW,IAAI,mCAAmC,EAAE,MAAM,CAAC,CAAC;AACtH,CAAC;AAED,KAAK,UAAU,eAAe,CAAI,EAAoB,EAAE,KAAa;IACnE,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAC;YACpB,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,+BAA+B,EAAE,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChH,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5E,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,cAAsB;IACrD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,cAAc,OAAO,GAAG,CAAC,CAAC;IAExE,MAAM,aAAa,GAAG,MAAM,eAAe,CACzC,GAAG,EAAE,CAAC,SAAS,CAAC,YAAY,YAAY,IAAI,GAAG,UAAU,EAAE,MAAM,CAAC,EAClE,sBAAsB,CACvB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,KAAK,aAAa,EAAE,CAAC,CAAC;IAE1D,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,cAAc,OAAO,aAAa,KAAK,CAAC,CAAC;IACtE,MAAM,eAAe,CACnB,GAAG,EAAE,CAAC,SAAS,CAAC,kBAAkB,YAAY,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,EACjE,gBAAgB,CACjB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,2BAA2B,aAAa,8CAA8C,CAAC,CAAC;IACpG,cAAc,EAAE,CAAC;IACjB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -7,6 +7,59 @@ import { VM_ENV_PATH } from '../config-file.js';
|
|
|
7
7
|
function getOpenclawDir() {
|
|
8
8
|
return process.env.OPENCLAW_STATE_DIR?.trim() || path.join(os.homedir(), '.openclaw');
|
|
9
9
|
}
|
|
10
|
+
function getAuthProfilesPath() {
|
|
11
|
+
return path.join(getOpenclawDir(), 'agents', 'main', 'agent', 'auth-profiles.json');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generate auth-profiles.json from openclaw.json auth config + envVars.
|
|
15
|
+
* openclaw.json contains profile declarations (provider, mode) without secrets.
|
|
16
|
+
* envVars contains the actual API keys.
|
|
17
|
+
*/
|
|
18
|
+
async function writeAuthProfiles(openclawConfig, envVars) {
|
|
19
|
+
const auth = openclawConfig.auth;
|
|
20
|
+
const models = openclawConfig.models;
|
|
21
|
+
const profilesPath = getAuthProfilesPath();
|
|
22
|
+
await fs.mkdir(path.dirname(profilesPath), { recursive: true });
|
|
23
|
+
const profiles = {};
|
|
24
|
+
if (auth?.profiles) {
|
|
25
|
+
// own_key mode: profiles defined in auth.profiles
|
|
26
|
+
for (const [profileName, profile] of Object.entries(auth.profiles)) {
|
|
27
|
+
// Find the API key from envVars by provider name
|
|
28
|
+
const providerEnvMap = {
|
|
29
|
+
anthropic: 'ANTHROPIC_API_KEY',
|
|
30
|
+
openai: 'OPENAI_API_KEY',
|
|
31
|
+
openrouter: 'OPENROUTER_API_KEY',
|
|
32
|
+
gemini: 'GEMINI_API_KEY',
|
|
33
|
+
};
|
|
34
|
+
const envKey = providerEnvMap[profile.provider] ?? `${profile.provider.toUpperCase()}_API_KEY`;
|
|
35
|
+
const token = envVars[envKey];
|
|
36
|
+
if (token) {
|
|
37
|
+
profiles[profileName] = {
|
|
38
|
+
type: 'token',
|
|
39
|
+
provider: profile.provider,
|
|
40
|
+
token,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else if (models?.providers) {
|
|
46
|
+
// smart routing: proxy provider defined in models.providers
|
|
47
|
+
for (const [providerName, providerConfig] of Object.entries(models.providers)) {
|
|
48
|
+
const token = providerConfig.apiKey ?? envVars.ANTHROPIC_API_KEY ?? '';
|
|
49
|
+
if (token) {
|
|
50
|
+
profiles[`${providerName}:proxy`] = {
|
|
51
|
+
type: 'token',
|
|
52
|
+
provider: providerName,
|
|
53
|
+
token,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (Object.keys(profiles).length > 0) {
|
|
59
|
+
const authProfilesJson = { version: 1, profiles };
|
|
60
|
+
await fs.writeFile(profilesPath, JSON.stringify(authProfilesJson, null, 2) + '\n', { mode: 0o600 });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
10
63
|
async function fileExists(p) {
|
|
11
64
|
try {
|
|
12
65
|
await fs.access(p);
|
|
@@ -32,7 +85,12 @@ export async function applyBootstrapConfig(data) {
|
|
|
32
85
|
await fs.writeFile(configPath, JSON.stringify(data.openclawConfig, null, 2) + '\n');
|
|
33
86
|
console.log('[apply-config] openclaw.json updated');
|
|
34
87
|
}
|
|
35
|
-
// 2
|
|
88
|
+
// 2. Write auth-profiles.json from openclawConfig.auth.profiles + envVars (API keys)
|
|
89
|
+
if (data.openclawConfig && data.envVars) {
|
|
90
|
+
await writeAuthProfiles(data.openclawConfig, data.envVars);
|
|
91
|
+
console.log('[apply-config] auth-profiles.json updated');
|
|
92
|
+
}
|
|
93
|
+
// 3. Write settings.json (Claude Code CLI config) from envVars
|
|
36
94
|
if (data.envVars && Object.keys(data.envVars).length > 0) {
|
|
37
95
|
// Filter out empty string values (signals "remove this key")
|
|
38
96
|
const cleanEnvVars = {};
|
|
@@ -41,7 +99,7 @@ export async function applyBootstrapConfig(data) {
|
|
|
41
99
|
cleanEnvVars[k] = v;
|
|
42
100
|
}
|
|
43
101
|
await writeClaudeEnv(cleanEnvVars);
|
|
44
|
-
console.log('[apply-config]
|
|
102
|
+
console.log('[apply-config] settings.json updated');
|
|
45
103
|
// 3. Write .env for VM agents
|
|
46
104
|
if (process.env.AGENT_DEPLOY_TYPE === 'vm' || await fileExists(VM_ENV_PATH)) {
|
|
47
105
|
const envContent = Object.entries(cleanEnvVars).map(([k, v]) => `${k}=${v}`).join('\n') + '\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-config.js","sourceRoot":"","sources":["../../src/utils/apply-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,SAAS,cAAc;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AACxF,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,CAAS;IACjC,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAqB;IAC9D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,yBAAyB;IACzB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"apply-config.js","sourceRoot":"","sources":["../../src/utils/apply-config.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/claude-env.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import os from 'node:os';
|
|
4
|
-
function getAuthProfilesPath() {
|
|
5
|
-
const stateDir = process.env.OPENCLAW_STATE_DIR?.trim() || path.join(os.homedir(), '.openclaw');
|
|
6
|
-
return path.join(stateDir, 'agents', 'main', 'agent', 'auth-profiles.json');
|
|
7
|
-
}
|
|
8
4
|
const CC_NOTIFY_SH = `#!/bin/bash
|
|
9
5
|
# Claude Code hook: notify OpenClaw on Stop/PermissionRequest
|
|
10
6
|
EVENT_TYPE="\${CC_HOOK_EVENT:-unknown}"
|
|
@@ -87,32 +83,6 @@ export async function writeClaudeEnv(envVars) {
|
|
|
87
83
|
};
|
|
88
84
|
}
|
|
89
85
|
await fs.writeFile(path.join(claudeDir, 'settings.json'), JSON.stringify(settings, null, 2) + '\n');
|
|
90
|
-
//
|
|
91
|
-
if (!isOAuthToken && envVars.ANTHROPIC_API_KEY) {
|
|
92
|
-
const profilesPath = getAuthProfilesPath();
|
|
93
|
-
await fs.mkdir(path.dirname(profilesPath), { recursive: true });
|
|
94
|
-
const profiles = envVars.ANTHROPIC_BASE_URL
|
|
95
|
-
? {
|
|
96
|
-
version: 1,
|
|
97
|
-
profiles: {
|
|
98
|
-
'anthropic-proxy:proxy': {
|
|
99
|
-
type: 'token',
|
|
100
|
-
provider: 'anthropic-proxy',
|
|
101
|
-
token: envVars.ANTHROPIC_API_KEY,
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
}
|
|
105
|
-
: {
|
|
106
|
-
version: 1,
|
|
107
|
-
profiles: {
|
|
108
|
-
'anthropic:user': {
|
|
109
|
-
type: 'token',
|
|
110
|
-
provider: 'anthropic',
|
|
111
|
-
token: envVars.ANTHROPIC_API_KEY,
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
};
|
|
115
|
-
await fs.writeFile(profilesPath, JSON.stringify(profiles, null, 2) + '\n', { mode: 0o600 });
|
|
116
|
-
}
|
|
86
|
+
// auth-profiles.json is now written by applyBootstrapConfig from openclaw.json
|
|
117
87
|
}
|
|
118
88
|
//# sourceMappingURL=claude-env.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-env.js","sourceRoot":"","sources":["../../src/utils/claude-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,
|
|
1
|
+
{"version":3,"file":"claude-env.js","sourceRoot":"","sources":["../../src/utils/claude-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCpB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA+B;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,qBAAqB;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG;QACZ,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5C,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACnD,IAAI,EAAE,CAAC;gBACL,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;aACnF,CAAC;QACF,YAAY,EAAE,CAAC;gBACb,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;aAC3F,CAAC;KACH,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;KAC/D,CAAC;IAEF,IAAI,QAAiC,CAAC;IACtC,IAAI,YAAY,EAAE,CAAC;QACjB,qFAAqF;QACrF,QAAQ,GAAG;YACT,WAAW;YACX,GAAG,EAAE,EAAE,oBAAoB,EAAE,YAAY,EAAE;YAC3C,KAAK;SACN,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,QAAQ,GAAG;YACT,WAAW;YACX,YAAY,EAAE,uFAAuF;YACrG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEpG,+EAA+E;AACjF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-adapter.js","sourceRoot":"","sources":["../../src/openclaw/gateway-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export type EventHandler = (event: {
|
|
2
|
-
event: string;
|
|
3
|
-
payload: unknown;
|
|
4
|
-
seq?: number;
|
|
5
|
-
}) => void;
|
|
6
|
-
export declare class GatewayClient {
|
|
7
|
-
private ws;
|
|
8
|
-
private pending;
|
|
9
|
-
private onEvent;
|
|
10
|
-
private connected;
|
|
11
|
-
private token;
|
|
12
|
-
private url;
|
|
13
|
-
private reconnecting;
|
|
14
|
-
private destroyed;
|
|
15
|
-
private reconnectAttempts;
|
|
16
|
-
private static MAX_RECONNECT_DELAY;
|
|
17
|
-
constructor(url: string, token: string);
|
|
18
|
-
setEventHandler(handler: EventHandler): void;
|
|
19
|
-
connect(): Promise<void>;
|
|
20
|
-
disconnect(): void;
|
|
21
|
-
private scheduleReconnect;
|
|
22
|
-
isConnected(): boolean;
|
|
23
|
-
request(method: string, params: unknown): Promise<unknown>;
|
|
24
|
-
private handleMessage;
|
|
25
|
-
private flushPending;
|
|
26
|
-
}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import WebSocket from 'ws';
|
|
2
|
-
import { randomUUID } from 'crypto';
|
|
3
|
-
export class GatewayClient {
|
|
4
|
-
ws = null;
|
|
5
|
-
pending = new Map();
|
|
6
|
-
onEvent = null;
|
|
7
|
-
connected = false;
|
|
8
|
-
token;
|
|
9
|
-
url;
|
|
10
|
-
reconnecting = false;
|
|
11
|
-
destroyed = false;
|
|
12
|
-
reconnectAttempts = 0;
|
|
13
|
-
static MAX_RECONNECT_DELAY = 60_000;
|
|
14
|
-
constructor(url, token) {
|
|
15
|
-
this.url = url;
|
|
16
|
-
this.token = token;
|
|
17
|
-
}
|
|
18
|
-
setEventHandler(handler) {
|
|
19
|
-
this.onEvent = handler;
|
|
20
|
-
}
|
|
21
|
-
connect() {
|
|
22
|
-
// RACE-5: guard against double-call before the first handshake completes
|
|
23
|
-
if (this.ws !== null && this.ws.readyState !== WebSocket.CLOSED) {
|
|
24
|
-
return Promise.reject(new Error('Already connecting or connected'));
|
|
25
|
-
}
|
|
26
|
-
this.ws = null;
|
|
27
|
-
return new Promise((resolve, reject) => {
|
|
28
|
-
this.ws = new WebSocket(this.url);
|
|
29
|
-
this.ws.on('open', () => {
|
|
30
|
-
// Wait for connect.challenge event, then authenticate
|
|
31
|
-
});
|
|
32
|
-
this.ws.on('message', (raw) => {
|
|
33
|
-
try {
|
|
34
|
-
const msg = JSON.parse(raw.toString());
|
|
35
|
-
this.handleMessage(msg);
|
|
36
|
-
}
|
|
37
|
-
catch { }
|
|
38
|
-
});
|
|
39
|
-
this.ws.on('error', (e) => {
|
|
40
|
-
if (!this.connected)
|
|
41
|
-
reject(e);
|
|
42
|
-
});
|
|
43
|
-
this.ws.on('close', () => {
|
|
44
|
-
this.connected = false;
|
|
45
|
-
this.ws = null;
|
|
46
|
-
this.flushPending(new Error('Connection closed'));
|
|
47
|
-
this.scheduleReconnect();
|
|
48
|
-
});
|
|
49
|
-
// LEAK-3: store and clear the connect timeout after successful auth
|
|
50
|
-
const connectTimer = setTimeout(() => {
|
|
51
|
-
if (!this.connected)
|
|
52
|
-
reject(new Error('Connect timeout'));
|
|
53
|
-
}, 10_000);
|
|
54
|
-
// Wait for connect.challenge → authenticate → resolve
|
|
55
|
-
const origHandler = this.onEvent;
|
|
56
|
-
this.onEvent = async (ev) => {
|
|
57
|
-
if (ev.event === 'connect.challenge') {
|
|
58
|
-
try {
|
|
59
|
-
await this.request('connect', {
|
|
60
|
-
auth: { token: this.token },
|
|
61
|
-
scopes: ['operator.admin'],
|
|
62
|
-
caps: [],
|
|
63
|
-
client: {
|
|
64
|
-
id: 'gateway-client',
|
|
65
|
-
displayName: 'Agent Controller',
|
|
66
|
-
version: '1',
|
|
67
|
-
platform: process.platform,
|
|
68
|
-
mode: 'backend',
|
|
69
|
-
},
|
|
70
|
-
minProtocol: 3,
|
|
71
|
-
maxProtocol: 3,
|
|
72
|
-
});
|
|
73
|
-
this.connected = true;
|
|
74
|
-
clearTimeout(connectTimer);
|
|
75
|
-
this.onEvent = origHandler;
|
|
76
|
-
resolve();
|
|
77
|
-
}
|
|
78
|
-
catch (e) {
|
|
79
|
-
clearTimeout(connectTimer);
|
|
80
|
-
reject(e);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
disconnect() {
|
|
87
|
-
this.destroyed = true;
|
|
88
|
-
this.ws?.close();
|
|
89
|
-
this.ws = null;
|
|
90
|
-
this.connected = false;
|
|
91
|
-
this.flushPending(new Error('Disconnected'));
|
|
92
|
-
}
|
|
93
|
-
scheduleReconnect() {
|
|
94
|
-
if (this.destroyed || this.reconnecting)
|
|
95
|
-
return;
|
|
96
|
-
this.reconnecting = true;
|
|
97
|
-
const delay = Math.min(1000 * Math.pow(2, this.reconnectAttempts), GatewayClient.MAX_RECONNECT_DELAY);
|
|
98
|
-
this.reconnectAttempts++;
|
|
99
|
-
console.log(`[gateway-client] Reconnecting in ${delay}ms (attempt ${this.reconnectAttempts})...`);
|
|
100
|
-
setTimeout(async () => {
|
|
101
|
-
this.reconnecting = false;
|
|
102
|
-
if (this.destroyed)
|
|
103
|
-
return;
|
|
104
|
-
try {
|
|
105
|
-
await this.connect();
|
|
106
|
-
this.reconnectAttempts = 0;
|
|
107
|
-
console.log('[gateway-client] Reconnected to gateway');
|
|
108
|
-
}
|
|
109
|
-
catch (err) {
|
|
110
|
-
console.error('[gateway-client] Reconnect failed:', err instanceof Error ? err.message : err);
|
|
111
|
-
// on('close') will fire again → scheduleReconnect
|
|
112
|
-
}
|
|
113
|
-
}, delay);
|
|
114
|
-
}
|
|
115
|
-
isConnected() {
|
|
116
|
-
return this.connected && this.ws?.readyState === WebSocket.OPEN;
|
|
117
|
-
}
|
|
118
|
-
request(method, params) {
|
|
119
|
-
return new Promise((resolve, reject) => {
|
|
120
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
|
|
121
|
-
return reject(new Error('Not connected'));
|
|
122
|
-
}
|
|
123
|
-
const id = randomUUID();
|
|
124
|
-
// LEAK-2: store the per-request timeout so it can be cleared when the request resolves
|
|
125
|
-
const timer = setTimeout(() => {
|
|
126
|
-
if (this.pending.has(id)) {
|
|
127
|
-
this.pending.delete(id);
|
|
128
|
-
reject(new Error(`Request timeout: ${method}`));
|
|
129
|
-
}
|
|
130
|
-
}, 120_000);
|
|
131
|
-
this.pending.set(id, {
|
|
132
|
-
resolve: (payload) => { clearTimeout(timer); resolve(payload); },
|
|
133
|
-
reject: (err) => { clearTimeout(timer); reject(err); },
|
|
134
|
-
});
|
|
135
|
-
this.ws.send(JSON.stringify({ type: 'req', id, method, params }));
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
handleMessage(msg) {
|
|
139
|
-
if (typeof msg !== 'object' || msg === null)
|
|
140
|
-
return;
|
|
141
|
-
const m = msg;
|
|
142
|
-
if (m['type'] === 'event') {
|
|
143
|
-
this.onEvent?.(m);
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
if (m['type'] === 'res') {
|
|
147
|
-
const id = m['id'];
|
|
148
|
-
const req = this.pending.get(id);
|
|
149
|
-
if (!req)
|
|
150
|
-
return;
|
|
151
|
-
this.pending.delete(id);
|
|
152
|
-
if (m['ok']) {
|
|
153
|
-
req.resolve(m['payload']);
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
const errPayload = m['error'];
|
|
157
|
-
req.reject(new Error(errPayload?.message ?? 'Request failed'));
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
flushPending(err) {
|
|
162
|
-
for (const [, req] of this.pending) {
|
|
163
|
-
req.reject(err);
|
|
164
|
-
}
|
|
165
|
-
this.pending.clear();
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=gateway-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../../src/openclaw/gateway-client.ts"],"names":[],"mappings":"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"}
|
package/dist/openclaw/index.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @deprecated — use src/providers/index.ts instead.
|
|
3
|
-
* Kept for backward compatibility.
|
|
4
|
-
*/
|
|
5
|
-
export { OpenclawGatewayAdapter } from '../providers/openclaw/gateway-adapter.js';
|
|
6
|
-
export type { IChatProvider, ChatSession, ChatMessage, ChatAttachment, ChatContentBlock } from '../providers/chat-types.js';
|
|
7
|
-
import type { IChatProvider } from '../providers/chat-types.js';
|
|
8
|
-
/** @deprecated Use configureProvider() from providers/index.ts */
|
|
9
|
-
export declare function configureChatProvider(url: string, token: string): void;
|
|
10
|
-
/** @deprecated Use getProvider() from providers/index.ts */
|
|
11
|
-
export declare function getChatProvider(): Promise<IChatProvider | null>;
|
|
12
|
-
/** @deprecated Use getProvider()?.disconnect() */
|
|
13
|
-
export declare function disconnectChatProvider(): void;
|
|
14
|
-
/** @deprecated Use resetProvider() from providers/index.ts */
|
|
15
|
-
export declare function resetChatProvider(): void;
|
|
16
|
-
/** @deprecated Use configureProvider() */
|
|
17
|
-
export declare function createChatProvider(url: string, token: string): {
|
|
18
|
-
connect(): Promise<void>;
|
|
19
|
-
disconnect(): void;
|
|
20
|
-
};
|
package/dist/openclaw/index.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @deprecated — use src/providers/index.ts instead.
|
|
3
|
-
* Kept for backward compatibility.
|
|
4
|
-
*/
|
|
5
|
-
export { OpenclawGatewayAdapter } from '../providers/openclaw/gateway-adapter.js';
|
|
6
|
-
import { getProvider, configureProvider } from '../providers/index.js';
|
|
7
|
-
import { OpenclawProvider } from '../providers/openclaw/index.js';
|
|
8
|
-
/** @deprecated Use configureProvider() from providers/index.ts */
|
|
9
|
-
export function configureChatProvider(url, token) {
|
|
10
|
-
const provider = new OpenclawProvider(url, token);
|
|
11
|
-
configureProvider(provider);
|
|
12
|
-
}
|
|
13
|
-
/** @deprecated Use getProvider() from providers/index.ts */
|
|
14
|
-
export async function getChatProvider() {
|
|
15
|
-
const provider = getProvider();
|
|
16
|
-
if (!provider)
|
|
17
|
-
return null;
|
|
18
|
-
// Ensure connected before returning
|
|
19
|
-
if (!provider.isConnected()) {
|
|
20
|
-
try {
|
|
21
|
-
await provider.connect();
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return provider;
|
|
28
|
-
}
|
|
29
|
-
/** @deprecated Use getProvider()?.disconnect() */
|
|
30
|
-
export function disconnectChatProvider() {
|
|
31
|
-
getProvider()?.disconnect();
|
|
32
|
-
}
|
|
33
|
-
/** @deprecated Use resetProvider() from providers/index.ts */
|
|
34
|
-
export function resetChatProvider() {
|
|
35
|
-
disconnectChatProvider();
|
|
36
|
-
}
|
|
37
|
-
/** @deprecated Use configureProvider() */
|
|
38
|
-
export function createChatProvider(url, token) {
|
|
39
|
-
configureChatProvider(url, token);
|
|
40
|
-
return {
|
|
41
|
-
connect: async () => { await getChatProvider(); },
|
|
42
|
-
disconnect: () => disconnectChatProvider(),
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/openclaw/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,kEAAkE;AAClE,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,KAAa;IAC9D,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClD,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,oCAAoC;IACpC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,QAAoC,CAAC;AAC9C,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,sBAAsB;IACpC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,iBAAiB;IAC/B,sBAAsB,EAAE,CAAC;AAC3B,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,KAAa;IAC3D,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO;QACL,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC,CAAC,CAAC;QACjD,UAAU,EAAE,GAAG,EAAE,CAAC,sBAAsB,EAAE;KAC3C,CAAC;AACJ,CAAC"}
|
package/dist/openclaw/types.d.ts
DELETED
package/dist/openclaw/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/openclaw/types.ts"],"names":[],"mappings":""}
|