@openclaw-cloud/agent-controller 0.19.0-beta.2 → 0.19.0-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/commands/install-deps.js +1 -7
  2. package/dist/commands/install-deps.js.map +1 -1
  3. package/dist/commands/self-update.js +29 -18
  4. package/dist/commands/self-update.js.map +1 -1
  5. package/dist/config-file.js +1 -1
  6. package/dist/config-file.js.map +1 -1
  7. package/dist/connection.d.ts +3 -0
  8. package/dist/connection.js +21 -7
  9. package/dist/connection.js.map +1 -1
  10. package/dist/handlers/backup.js +2 -0
  11. package/dist/handlers/backup.js.map +1 -1
  12. package/dist/handlers/file-delete.js +2 -0
  13. package/dist/handlers/file-delete.js.map +1 -1
  14. package/dist/handlers/file-write.js +2 -0
  15. package/dist/handlers/file-write.js.map +1 -1
  16. package/dist/handlers/package-install.js +2 -0
  17. package/dist/handlers/package-install.js.map +1 -1
  18. package/dist/handlers/restart.js +3 -1
  19. package/dist/handlers/restart.js.map +1 -1
  20. package/dist/handlers/self-update.js +2 -0
  21. package/dist/handlers/self-update.js.map +1 -1
  22. package/dist/handlers/update-config.d.ts +3 -0
  23. package/dist/handlers/update-config.js +22 -0
  24. package/dist/handlers/update-config.js.map +1 -0
  25. package/dist/handlers/update-skills.js +2 -0
  26. package/dist/handlers/update-skills.js.map +1 -1
  27. package/dist/heartbeat.js +62 -2
  28. package/dist/heartbeat.js.map +1 -1
  29. package/dist/index.js +17 -16
  30. package/dist/index.js.map +1 -1
  31. package/dist/lockfile.js +12 -3
  32. package/dist/lockfile.js.map +1 -1
  33. package/dist/openclaw/gateway-client.d.ts +5 -0
  34. package/dist/openclaw/gateway-client.js +31 -1
  35. package/dist/openclaw/gateway-client.js.map +1 -1
  36. package/dist/openclaw/index.d.ts +1 -1
  37. package/dist/openclaw/types.d.ts +1 -1
  38. package/dist/providers/chat-types.d.ts +19 -2
  39. package/dist/providers/index.d.ts +1 -1
  40. package/dist/providers/openclaw/device-identity.d.ts +20 -0
  41. package/dist/providers/openclaw/device-identity.js +76 -0
  42. package/dist/providers/openclaw/device-identity.js.map +1 -0
  43. package/dist/providers/openclaw/gateway-adapter.d.ts +7 -1
  44. package/dist/providers/openclaw/gateway-adapter.js +140 -8
  45. package/dist/providers/openclaw/gateway-adapter.js.map +1 -1
  46. package/dist/providers/openclaw/gateway-client.d.ts +5 -0
  47. package/dist/providers/openclaw/gateway-client.js +59 -2
  48. package/dist/providers/openclaw/gateway-client.js.map +1 -1
  49. package/dist/providers/types.d.ts +2 -2
  50. package/dist/types.d.ts +1 -1
  51. package/dist/utils/apply-config.d.ts +9 -0
  52. package/dist/utils/apply-config.js +62 -0
  53. package/dist/utils/apply-config.js.map +1 -0
  54. package/dist/utils/claude-env.js +35 -17
  55. package/dist/utils/claude-env.js.map +1 -1
  56. package/dist/utils/log-collector.d.ts +23 -0
  57. package/dist/utils/log-collector.js +56 -0
  58. package/dist/utils/log-collector.js.map +1 -0
  59. package/dist/utils/release-channel.d.ts +1 -1
  60. package/dist/utils/release-channel.js +1 -1
  61. package/dist/utils/release-channel.js.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/handlers/config.d.ts +0 -2
  64. package/dist/handlers/config.js +0 -50
  65. package/dist/handlers/config.js.map +0 -1
  66. package/dist/handlers/update-auth-profiles.d.ts +0 -2
  67. package/dist/handlers/update-auth-profiles.js +0 -67
  68. package/dist/handlers/update-auth-profiles.js.map +0 -1
  69. package/dist/handlers/update-env.d.ts +0 -2
  70. package/dist/handlers/update-env.js +0 -54
  71. package/dist/handlers/update-env.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-adapter.js","sourceRoot":"","sources":["../../../src/providers/openclaw/gateway-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-adapter.js","sourceRoot":"","sources":["../../../src/providers/openclaw/gateway-adapter.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,15 @@ export declare class GatewayClient {
10
10
  private connected;
11
11
  private token;
12
12
  private url;
13
+ private reconnecting;
14
+ private destroyed;
15
+ private reconnectAttempts;
16
+ private static MAX_RECONNECT_DELAY;
13
17
  constructor(url: string, token: string);
14
18
  setEventHandler(handler: EventHandler): void;
15
19
  connect(): Promise<void>;
16
20
  disconnect(): void;
21
+ private scheduleReconnect;
17
22
  isConnected(): boolean;
18
23
  request(method: string, params: unknown): Promise<unknown>;
19
24
  private handleMessage;
@@ -1,5 +1,6 @@
1
1
  import WebSocket from 'ws';
2
2
  import { randomUUID } from 'crypto';
3
+ import { loadOrCreateDeviceIdentity, publicKeyRawBase64Url, signPayload, buildDeviceAuthPayloadV3 } from './device-identity.js';
3
4
  export class GatewayClient {
4
5
  ws = null;
5
6
  pending = new Map();
@@ -7,6 +8,10 @@ export class GatewayClient {
7
8
  connected = false;
8
9
  token;
9
10
  url;
11
+ reconnecting = false;
12
+ destroyed = false;
13
+ reconnectAttempts = 0;
14
+ static MAX_RECONNECT_DELAY = 60_000;
10
15
  constructor(url, token) {
11
16
  this.url = url;
12
17
  this.token = token;
@@ -16,9 +21,10 @@ export class GatewayClient {
16
21
  }
17
22
  connect() {
18
23
  // RACE-5: guard against double-call before the first handshake completes
19
- if (this.ws !== null) {
24
+ if (this.ws !== null && this.ws.readyState !== WebSocket.CLOSED) {
20
25
  return Promise.reject(new Error('Already connecting or connected'));
21
26
  }
27
+ this.ws = null;
22
28
  return new Promise((resolve, reject) => {
23
29
  this.ws = new WebSocket(this.url);
24
30
  this.ws.on('open', () => {
@@ -37,7 +43,9 @@ export class GatewayClient {
37
43
  });
38
44
  this.ws.on('close', () => {
39
45
  this.connected = false;
46
+ this.ws = null;
40
47
  this.flushPending(new Error('Connection closed'));
48
+ this.scheduleReconnect();
41
49
  });
42
50
  // LEAK-3: store and clear the connect timeout after successful auth
43
51
  const connectTimer = setTimeout(() => {
@@ -49,10 +57,37 @@ export class GatewayClient {
49
57
  this.onEvent = async (ev) => {
50
58
  if (ev.event === 'connect.challenge') {
51
59
  try {
60
+ const challengePayload = ev.payload;
61
+ const nonce = challengePayload?.nonce ?? '';
62
+ const identity = loadOrCreateDeviceIdentity();
63
+ const signedAtMs = Date.now();
64
+ const scopes = ['operator.admin'];
65
+ const role = 'operator';
66
+ const payloadStr = buildDeviceAuthPayloadV3({
67
+ deviceId: identity.deviceId,
68
+ clientId: 'gateway-client',
69
+ clientMode: 'backend',
70
+ role,
71
+ scopes,
72
+ signedAtMs,
73
+ token: this.token,
74
+ nonce,
75
+ platform: process.platform,
76
+ deviceFamily: '',
77
+ });
78
+ const signature = signPayload(identity.privateKeyPem, payloadStr);
52
79
  await this.request('connect', {
53
80
  auth: { token: this.token },
54
- scopes: ['operator.admin'],
81
+ scopes,
82
+ role,
55
83
  caps: [],
84
+ device: {
85
+ id: identity.deviceId,
86
+ publicKey: publicKeyRawBase64Url(identity.publicKeyPem),
87
+ signature,
88
+ signedAt: signedAtMs,
89
+ nonce,
90
+ },
56
91
  client: {
57
92
  id: 'gateway-client',
58
93
  displayName: 'Agent Controller',
@@ -77,11 +112,33 @@ export class GatewayClient {
77
112
  });
78
113
  }
79
114
  disconnect() {
115
+ this.destroyed = true;
80
116
  this.ws?.close();
81
117
  this.ws = null;
82
118
  this.connected = false;
83
119
  this.flushPending(new Error('Disconnected'));
84
120
  }
121
+ scheduleReconnect() {
122
+ if (this.destroyed || this.reconnecting)
123
+ return;
124
+ this.reconnecting = true;
125
+ const delay = Math.min(1000 * Math.pow(2, this.reconnectAttempts), GatewayClient.MAX_RECONNECT_DELAY);
126
+ this.reconnectAttempts++;
127
+ console.log(`[gateway-client] Reconnecting in ${delay}ms (attempt ${this.reconnectAttempts})...`);
128
+ setTimeout(async () => {
129
+ this.reconnecting = false;
130
+ if (this.destroyed)
131
+ return;
132
+ try {
133
+ await this.connect();
134
+ this.reconnectAttempts = 0;
135
+ console.log('[gateway-client] Reconnected to gateway');
136
+ }
137
+ catch (err) {
138
+ console.error('[gateway-client] Reconnect failed:', err instanceof Error ? err.message : err);
139
+ }
140
+ }, delay);
141
+ }
85
142
  isConnected() {
86
143
  return this.connected && this.ws?.readyState === WebSocket.OPEN;
87
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../../../src/providers/openclaw/gateway-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../../../src/providers/openclaw/gateway-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { ChatSession, ChatMessage, ChatAttachment } from './chat-types.js';
2
- export type { ChatSession, ChatMessage, ChatAttachment };
1
+ import type { ChatSession, ChatMessage, ChatAttachment, ChatContentBlock } from './chat-types.js';
2
+ export type { ChatSession, ChatMessage, ChatAttachment, ChatContentBlock };
3
3
  export interface AgentHealthStatus {
4
4
  ok: boolean;
5
5
  rpcOk: boolean;
package/dist/types.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * board:<workspaceId> — board events (card:entered, card:moved, etc.)
6
6
  * heartbeat:<agentId> — heartbeat publications from agent
7
7
  */
8
- export type CommandType = 'diagnostics' | 'restart' | 'deploy' | 'config' | 'pair' | 'stop' | 'backup' | 'chat_list_sessions' | 'chat_history' | 'chat_send' | 'package_install' | 'file_write' | 'file_delete' | 'onboarding_complete' | 'knowledge_sync' | 'self_update' | 'telegram_webhook' | 'update_auth_profiles' | 'update_env' | 'update_skills';
8
+ export type CommandType = 'diagnostics' | 'restart' | 'deploy' | 'pair' | 'stop' | 'backup' | 'chat_list_sessions' | 'chat_history' | 'chat_send' | 'package_install' | 'file_write' | 'file_delete' | 'onboarding_complete' | 'knowledge_sync' | 'self_update' | 'telegram_webhook' | 'update_skills' | 'update_config';
9
9
  export interface AgentCommand {
10
10
  id: string;
11
11
  type: CommandType;
@@ -0,0 +1,9 @@
1
+ import type { BootstrapResult } from '../api.js';
2
+ /**
3
+ * Apply config from bootstrap API response:
4
+ * 1. Write openclaw.json
5
+ * 2. Write auth-profiles.json + settings.json (from envVars)
6
+ * 3. Write .env (for VM agents)
7
+ * 4. Restart gateway
8
+ */
9
+ export declare function applyBootstrapConfig(data: BootstrapResult): Promise<void>;
@@ -0,0 +1,62 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import os from 'node:os';
4
+ import { writeClaudeEnv } from './claude-env.js';
5
+ import { restartGateway } from './gateway-restart.js';
6
+ import { VM_ENV_PATH } from '../config-file.js';
7
+ function getOpenclawDir() {
8
+ return process.env.OPENCLAW_STATE_DIR?.trim() || path.join(os.homedir(), '.openclaw');
9
+ }
10
+ async function fileExists(p) {
11
+ try {
12
+ await fs.access(p);
13
+ return true;
14
+ }
15
+ catch {
16
+ return false;
17
+ }
18
+ }
19
+ /**
20
+ * Apply config from bootstrap API response:
21
+ * 1. Write openclaw.json
22
+ * 2. Write auth-profiles.json + settings.json (from envVars)
23
+ * 3. Write .env (for VM agents)
24
+ * 4. Restart gateway
25
+ */
26
+ export async function applyBootstrapConfig(data) {
27
+ const openclawDir = getOpenclawDir();
28
+ // 1. Write openclaw.json
29
+ if (data.openclawConfig) {
30
+ const configPath = path.join(openclawDir, 'openclaw.json');
31
+ await fs.mkdir(openclawDir, { recursive: true });
32
+ await fs.writeFile(configPath, JSON.stringify(data.openclawConfig, null, 2) + '\n');
33
+ console.log('[apply-config] openclaw.json updated');
34
+ }
35
+ // 2-3. Write auth-profiles.json + settings.json from envVars
36
+ if (data.envVars && Object.keys(data.envVars).length > 0) {
37
+ // Filter out empty string values (signals "remove this key")
38
+ const cleanEnvVars = {};
39
+ for (const [k, v] of Object.entries(data.envVars)) {
40
+ if (v !== '')
41
+ cleanEnvVars[k] = v;
42
+ }
43
+ await writeClaudeEnv(cleanEnvVars);
44
+ console.log('[apply-config] auth-profiles.json + settings.json updated');
45
+ // 3. Write .env for VM agents
46
+ if (process.env.AGENT_DEPLOY_TYPE === 'vm' || await fileExists(VM_ENV_PATH)) {
47
+ const envContent = Object.entries(cleanEnvVars).map(([k, v]) => `${k}=${v}`).join('\n') + '\n';
48
+ await fs.mkdir(path.dirname(VM_ENV_PATH), { recursive: true });
49
+ await fs.writeFile(VM_ENV_PATH, envContent, { mode: 0o600 });
50
+ console.log('[apply-config] .env updated');
51
+ }
52
+ }
53
+ // 4. Restart gateway
54
+ try {
55
+ await restartGateway();
56
+ console.log('[apply-config] gateway restarted');
57
+ }
58
+ catch (err) {
59
+ console.error('[apply-config] gateway restart failed:', err instanceof Error ? err.message : err);
60
+ }
61
+ }
62
+ //# sourceMappingURL=apply-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-config.js","sourceRoot":"","sources":["../../src/utils/apply-config.ts"],"names":[],"mappings":"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"}
@@ -52,25 +52,43 @@ export async function writeClaudeEnv(envVars) {
52
52
  const notifyPath = path.join(claudeDir, 'cc-notify.sh');
53
53
  await fs.writeFile(notifyPath, CC_NOTIFY_SH);
54
54
  await fs.chmod(notifyPath, 0o755);
55
- // Write settings.json — only include env.ANTHROPIC_BASE_URL if present
56
- const settings = {
57
- apiKeyHelper: "bash -c 'source /opt/openclaw-cloud/agent-controller/.env && echo $ANTHROPIC_API_KEY'",
58
- ...(envVars.ANTHROPIC_BASE_URL ? { env: { ANTHROPIC_BASE_URL: envVars.ANTHROPIC_BASE_URL } } : {}),
59
- hooks: {
60
- PreToolUse: [{ matcher: 'Bash', hooks: [] }],
61
- PostToolUse: [{ matcher: 'Write|Edit', hooks: [] }],
62
- Stop: [{
63
- hooks: [{ type: 'command', command: 'CC_HOOK_EVENT=Stop ~/.claude/cc-notify.sh' }],
64
- }],
65
- Notification: [{
66
- matcher: 'permission_prompt',
67
- hooks: [{ type: 'command', command: 'CC_HOOK_EVENT=Notification ~/.claude/cc-notify.sh' }],
68
- }],
69
- },
55
+ const anthropicKey = envVars.ANTHROPIC_API_KEY ?? '';
56
+ const isOAuthToken = anthropicKey.startsWith('sk-ant-oat');
57
+ const hooks = {
58
+ PreToolUse: [{ matcher: 'Bash', hooks: [] }],
59
+ PostToolUse: [{ matcher: 'Write|Edit', hooks: [] }],
60
+ Stop: [{
61
+ hooks: [{ type: 'command', command: 'CC_HOOK_EVENT=Stop ~/.claude/cc-notify.sh' }],
62
+ }],
63
+ Notification: [{
64
+ matcher: 'permission_prompt',
65
+ hooks: [{ type: 'command', command: 'CC_HOOK_EVENT=Notification ~/.claude/cc-notify.sh' }],
66
+ }],
70
67
  };
68
+ const permissions = {
69
+ allow: ['Bash(*)', 'Read(*)', 'Write(*)', 'Edit(*)', 'mcp__*'],
70
+ };
71
+ let settings;
72
+ if (isOAuthToken) {
73
+ // OAuth token flow: set ANTHROPIC_AUTH_TOKEN, no apiKeyHelper, no ANTHROPIC_BASE_URL
74
+ settings = {
75
+ permissions,
76
+ env: { ANTHROPIC_AUTH_TOKEN: anthropicKey },
77
+ hooks,
78
+ };
79
+ }
80
+ else {
81
+ // API key flow (default): apiKeyHelper + optional ANTHROPIC_BASE_URL
82
+ settings = {
83
+ permissions,
84
+ apiKeyHelper: "bash -c 'source /opt/openclaw-cloud/agent-controller/.env && echo $ANTHROPIC_API_KEY'",
85
+ ...(envVars.ANTHROPIC_BASE_URL ? { env: { ANTHROPIC_BASE_URL: envVars.ANTHROPIC_BASE_URL } } : {}),
86
+ hooks,
87
+ };
88
+ }
71
89
  await fs.writeFile(path.join(claudeDir, 'settings.json'), JSON.stringify(settings, null, 2) + '\n');
72
- // Write auth-profiles.json if ANTHROPIC_API_KEY is present
73
- if (envVars.ANTHROPIC_API_KEY) {
90
+ // Write auth-profiles.json only for API key flow (not OAuth)
91
+ if (!isOAuthToken && envVars.ANTHROPIC_API_KEY) {
74
92
  const profilesPath = getAuthProfilesPath();
75
93
  await fs.mkdir(path.dirname(profilesPath), { recursive: true });
76
94
  const profiles = envVars.ANTHROPIC_BASE_URL
@@ -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":"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"}
@@ -0,0 +1,23 @@
1
+ import type { AgentApi } from '../api.js';
2
+ export interface LogEntry {
3
+ eventType: string;
4
+ level: 'debug' | 'info' | 'warn' | 'error';
5
+ message: string;
6
+ metadata?: Record<string, unknown>;
7
+ timestamp: string;
8
+ }
9
+ export declare class LogCollector {
10
+ private buffer;
11
+ private timer;
12
+ private readonly flushIntervalMs;
13
+ private readonly maxBatchSize;
14
+ private readonly api;
15
+ constructor(api: AgentApi, opts?: {
16
+ flushIntervalMs?: number;
17
+ maxBatchSize?: number;
18
+ });
19
+ push(eventType: string, level: 'debug' | 'info' | 'warn' | 'error', message: string, metadata?: Record<string, unknown>): void;
20
+ flush(): Promise<void>;
21
+ shutdown(): Promise<void>;
22
+ private startTimer;
23
+ }
@@ -0,0 +1,56 @@
1
+ export class LogCollector {
2
+ buffer = [];
3
+ timer = null;
4
+ flushIntervalMs;
5
+ maxBatchSize;
6
+ api;
7
+ constructor(api, opts) {
8
+ this.api = api;
9
+ this.flushIntervalMs = opts?.flushIntervalMs ?? 5000;
10
+ this.maxBatchSize = opts?.maxBatchSize ?? 50;
11
+ this.startTimer();
12
+ }
13
+ push(eventType, level, message, metadata) {
14
+ this.buffer.push({
15
+ eventType,
16
+ level,
17
+ message,
18
+ metadata,
19
+ timestamp: new Date().toISOString(),
20
+ });
21
+ if (this.buffer.length >= this.maxBatchSize) {
22
+ this.flush().catch(() => { });
23
+ }
24
+ }
25
+ async flush() {
26
+ if (!this.buffer.length)
27
+ return;
28
+ const batch = this.buffer.splice(0);
29
+ try {
30
+ const res = await this.api.post('/api/internal/agent-logs', { entries: batch });
31
+ if (!res.ok) {
32
+ throw new Error(`HTTP ${res.status}`);
33
+ }
34
+ }
35
+ catch (err) {
36
+ // On failure, put entries back at front of buffer
37
+ this.buffer.unshift(...batch);
38
+ // Cap buffer at 500 to prevent unbounded growth
39
+ if (this.buffer.length > 500) {
40
+ this.buffer.splice(500);
41
+ }
42
+ console.error('[log-collector] flush failed:', err instanceof Error ? err.message : err);
43
+ }
44
+ }
45
+ async shutdown() {
46
+ if (this.timer)
47
+ clearInterval(this.timer);
48
+ this.timer = null;
49
+ await this.flush();
50
+ }
51
+ startTimer() {
52
+ this.timer = setInterval(() => this.flush().catch(() => { }), this.flushIntervalMs);
53
+ this.timer.unref();
54
+ }
55
+ }
56
+ //# sourceMappingURL=log-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-collector.js","sourceRoot":"","sources":["../../src/utils/log-collector.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,YAAY;IACf,MAAM,GAAe,EAAE,CAAC;IACxB,KAAK,GAA0B,IAAI,CAAC;IAC3B,eAAe,CAAS;IACxB,YAAY,CAAS;IACrB,GAAG,CAAW;IAE/B,YAAY,GAAa,EAAE,IAA0D;QACnF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,IAAI,EAAE,eAAe,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,CACF,SAAiB,EACjB,KAA0C,EAC1C,OAAe,EACf,QAAkC;QAElC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,SAAS;YACT,KAAK;YACL,OAAO;YACP,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kDAAkD;YAClD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;YAC9B,gDAAgD;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Resolve the npm dist-tag / release channel for package installs.
3
3
  *
4
- * Env: RELEASE_CHANNEL=beta|stable (default: stable)
4
+ * Env: AC_RELEASE_CHANNEL=beta|stable (default: stable)
5
5
  *
6
6
  * - "beta" → npm install pkg@beta
7
7
  * - "stable" → npm install pkg@latest
@@ -1,5 +1,5 @@
1
1
  export function getReleaseChannel() {
2
- const raw = process.env.RELEASE_CHANNEL?.trim().toLowerCase();
2
+ const raw = process.env.AC_RELEASE_CHANNEL?.trim().toLowerCase();
3
3
  if (raw === 'beta')
4
4
  return 'beta';
5
5
  return 'stable';
@@ -1 +1 @@
1
- {"version":3,"file":"release-channel.js","sourceRoot":"","sources":["../../src/utils/release-channel.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9D,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"release-channel.js","sourceRoot":"","sources":["../../src/utils/release-channel.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw-cloud/agent-controller",
3
- "version": "0.19.0-beta.2",
3
+ "version": "0.19.0-beta.20",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1,2 +0,0 @@
1
- import type { AgentCommand, AgentResponse } from '../types.js';
2
- export declare function handleConfig(command: AgentCommand): Promise<AgentResponse>;
@@ -1,50 +0,0 @@
1
- import fs from 'node:fs/promises';
2
- import path from 'node:path';
3
- import { execGatewayRestart } from '../utils/gateway-restart.js';
4
- import { toErrorMessage } from '../utils/response.js';
5
- const CONFIG_DIR = '/etc/openclaw';
6
- const ALLOWED_CONFIG_FILES = ['openclaw.json', 'openclaw.yaml', 'openclaw.yml'];
7
- export async function handleConfig(command) {
8
- const filename = command.payload.filename;
9
- const content = command.payload.content;
10
- if (!filename || content === undefined) {
11
- return {
12
- id: command.id,
13
- type: 'config',
14
- success: false,
15
- error: 'Missing "filename" or "content" in payload',
16
- };
17
- }
18
- const basename = path.basename(filename);
19
- if (!ALLOWED_CONFIG_FILES.includes(basename)) {
20
- return {
21
- id: command.id,
22
- type: 'config',
23
- success: false,
24
- error: 'Config filename not allowed',
25
- };
26
- }
27
- const configPath = path.join(CONFIG_DIR, basename);
28
- try {
29
- await fs.mkdir(CONFIG_DIR, { recursive: true });
30
- await fs.writeFile(configPath, content, 'utf-8');
31
- const { stdout, stderr } = await execGatewayRestart();
32
- return {
33
- id: command.id,
34
- type: 'config',
35
- success: true,
36
- data: { path: configPath, stdout, stderr },
37
- };
38
- }
39
- catch (err) {
40
- const e = err;
41
- return {
42
- id: command.id,
43
- type: 'config',
44
- success: false,
45
- data: { path: configPath, stdout: e.stdout ?? '', stderr: e.stderr ?? '' },
46
- error: toErrorMessage(e),
47
- };
48
- }
49
- }
50
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/handlers/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,UAAU,GAAG,eAAe,CAAC;AAEnC,MAAM,oBAAoB,GAAG,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;AAEhF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAkB,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAiB,CAAC;IAElD,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4CAA4C;SACpD,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,6BAA6B;SACrC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;SAC3C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAmD,CAAC;QAC9D,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE;YAC1E,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;SACzB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { AgentCommand, AgentResponse } from '../types.js';
2
- export declare function handleUpdateAuthProfiles(cmd: AgentCommand): Promise<AgentResponse>;
@@ -1,67 +0,0 @@
1
- import { writeFileSync, readFileSync, mkdirSync, existsSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { homedir } from 'node:os';
4
- import { toErrorMessage } from '../utils/response.js';
5
- import { getProvider } from '../providers/index.js';
6
- function getAuthProfilesPath() {
7
- const stateDir = process.env.OPENCLAW_STATE_DIR?.trim() || join(homedir(), '.openclaw');
8
- return join(stateDir, 'agents', 'main', 'agent', 'auth-profiles.json');
9
- }
10
- export async function handleUpdateAuthProfiles(cmd) {
11
- const payload = cmd.payload;
12
- if (!payload?.authProfilesJson) {
13
- return { id: cmd.id, type: cmd.type, success: false, error: 'Missing authProfilesJson in payload' };
14
- }
15
- try {
16
- const filePath = getAuthProfilesPath();
17
- const dir = join(filePath, '..');
18
- if (!existsSync(dir)) {
19
- mkdirSync(dir, { recursive: true });
20
- }
21
- writeFileSync(filePath, JSON.stringify(payload.authProfilesJson, null, 2), { mode: 0o600 });
22
- console.log(`[auth] Updated auth-profiles.json at ${filePath}`);
23
- // Restart OpenClaw gateway to pick up new auth profiles
24
- const isContainer = existsSync('/.dockerenv')
25
- || (() => { try {
26
- return readFileSync('/proc/1/cmdline', 'utf8').includes('openclaw');
27
- }
28
- catch {
29
- return false;
30
- } })();
31
- if (isContainer) {
32
- // In containers (k8s): gateway is PID 1, `openclaw gateway restart` is a no-op.
33
- // Kill PID 1 with delay — k8s will restart the container and pick up the new file.
34
- console.log('[auth] Container detected, scheduling SIGTERM to PID 1 in 1s');
35
- setTimeout(() => {
36
- try {
37
- process.kill(1, 'SIGTERM');
38
- }
39
- catch { /* ignore */ }
40
- }, 1000);
41
- return { id: cmd.id, type: cmd.type, success: true, data: { restart: 'container' } };
42
- }
43
- // VM/standalone: restart gateway via provider
44
- try {
45
- const provider = getProvider();
46
- if (provider) {
47
- await provider.restart();
48
- console.log('[auth] OpenClaw gateway restarted');
49
- }
50
- else {
51
- console.warn('[auth] No provider configured, skipping gateway restart');
52
- }
53
- }
54
- catch (err) {
55
- console.error('[auth] Gateway restart failed:', toErrorMessage(err));
56
- return {
57
- id: cmd.id, type: cmd.type, success: true,
58
- data: { warning: 'Auth profiles updated but gateway restart failed: ' + toErrorMessage(err) },
59
- };
60
- }
61
- return { id: cmd.id, type: cmd.type, success: true, data: {} };
62
- }
63
- catch (err) {
64
- return { id: cmd.id, type: cmd.type, success: false, error: toErrorMessage(err) };
65
- }
66
- }
67
- //# sourceMappingURL=update-auth-profiles.js.map