@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.
@@ -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,+BAA+B,IAAI,WAAW,IAAI,mCAAmC,EAAE,MAAM,CAAC,CAAC;AACjH,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"}
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-3. Write auth-profiles.json + settings.json from envVars
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] auth-profiles.json + settings.json updated');
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":"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"}
1
+ {"version":3,"file":"apply-config.js","sourceRoot":"","sources":["../../src/utils/apply-config.ts"],"names":[],"mappings":"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"}
@@ -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
- // Write auth-profiles.json only for API key flow (not OAuth)
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":"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"}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw-cloud/agent-controller",
3
- "version": "0.19.0-beta.20",
3
+ "version": "0.19.0-beta.21",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1,5 +0,0 @@
1
- /**
2
- * @deprecated — moved to src/providers/openclaw/gateway-adapter.ts
3
- * This file is kept for backward compatibility.
4
- */
5
- export { OpenclawGatewayAdapter } from '../providers/openclaw/gateway-adapter.js';
@@ -1,6 +0,0 @@
1
- /**
2
- * @deprecated — moved to src/providers/openclaw/gateway-adapter.ts
3
- * This file is kept for backward compatibility.
4
- */
5
- export { OpenclawGatewayAdapter } from '../providers/openclaw/gateway-adapter.js';
6
- //# sourceMappingURL=gateway-adapter.js.map
@@ -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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"}
@@ -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
- };
@@ -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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * @deprecated — moved to src/providers/chat-types.ts
3
- * This file is kept for backward compatibility.
4
- */
5
- export type { ChatSession, ChatMessage, ChatAttachment, ChatContentBlock, IChatProvider } from '../providers/chat-types.js';
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/openclaw/types.ts"],"names":[],"mappings":""}