@openclaw-cloud/agent-controller 1.0.0-beta.1 → 1.0.0-beta.11

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 (97) hide show
  1. package/dist/api.d.ts +4 -0
  2. package/dist/api.js +10 -2
  3. package/dist/api.js.map +1 -1
  4. package/dist/commands/bootstrap.js +8 -8
  5. package/dist/commands/bootstrap.js.map +1 -1
  6. package/dist/commands/heartbeat-cli.js +5 -4
  7. package/dist/commands/heartbeat-cli.js.map +1 -1
  8. package/dist/commands/install-deps.js +18 -8
  9. package/dist/commands/install-deps.js.map +1 -1
  10. package/dist/commands/install.js +8 -8
  11. package/dist/commands/install.js.map +1 -1
  12. package/dist/commands/self-update.js +2 -1
  13. package/dist/commands/self-update.js.map +1 -1
  14. package/dist/config-file.js +14 -4
  15. package/dist/config-file.js.map +1 -1
  16. package/dist/config.d.ts +29 -0
  17. package/dist/config.js +81 -0
  18. package/dist/config.js.map +1 -0
  19. package/dist/connection.d.ts +2 -0
  20. package/dist/connection.js +27 -7
  21. package/dist/connection.js.map +1 -1
  22. package/dist/debug.js +2 -1
  23. package/dist/debug.js.map +1 -1
  24. package/dist/handlers/backup.js +4 -1
  25. package/dist/handlers/backup.js.map +1 -1
  26. package/dist/handlers/board-handler.d.ts +4 -0
  27. package/dist/handlers/board-handler.js +76 -85
  28. package/dist/handlers/board-handler.js.map +1 -1
  29. package/dist/handlers/chat.js +94 -6
  30. package/dist/handlers/chat.js.map +1 -1
  31. package/dist/handlers/deploy.js +16 -29
  32. package/dist/handlers/deploy.js.map +1 -1
  33. package/dist/handlers/diagnostics.js +12 -0
  34. package/dist/handlers/diagnostics.js.map +1 -1
  35. package/dist/handlers/knowledge-sync.js +21 -1
  36. package/dist/handlers/knowledge-sync.js.map +1 -1
  37. package/dist/handlers/memory.d.ts +7 -0
  38. package/dist/handlers/memory.js +41 -0
  39. package/dist/handlers/memory.js.map +1 -0
  40. package/dist/handlers/onboarding.js +18 -2
  41. package/dist/handlers/onboarding.js.map +1 -1
  42. package/dist/handlers/package-install.js +44 -12
  43. package/dist/handlers/package-install.js.map +1 -1
  44. package/dist/handlers/pair.js +14 -1
  45. package/dist/handlers/pair.js.map +1 -1
  46. package/dist/handlers/restart.js +3 -1
  47. package/dist/handlers/restart.js.map +1 -1
  48. package/dist/handlers/self-update.js +3 -1
  49. package/dist/handlers/self-update.js.map +1 -1
  50. package/dist/handlers/stop.js +7 -0
  51. package/dist/handlers/stop.js.map +1 -1
  52. package/dist/handlers/telegram-webhook.js +23 -0
  53. package/dist/handlers/telegram-webhook.js.map +1 -1
  54. package/dist/handlers/update-config.js +8 -2
  55. package/dist/handlers/update-config.js.map +1 -1
  56. package/dist/heartbeat.d.ts +7 -0
  57. package/dist/heartbeat.js +15 -65
  58. package/dist/heartbeat.js.map +1 -1
  59. package/dist/index.d.ts +1 -1
  60. package/dist/index.js +93 -25
  61. package/dist/index.js.map +1 -1
  62. package/dist/mcp-client.js.map +1 -1
  63. package/dist/memory-mcp-server.d.ts +8 -0
  64. package/dist/memory-mcp-server.js +291 -0
  65. package/dist/memory-mcp-server.js.map +1 -0
  66. package/dist/platform/linux.js +7 -3
  67. package/dist/platform/linux.js.map +1 -1
  68. package/dist/platform/macos.js +4 -2
  69. package/dist/platform/macos.js.map +1 -1
  70. package/dist/platform/windows.js +4 -2
  71. package/dist/platform/windows.js.map +1 -1
  72. package/dist/providers/index.d.ts +1 -1
  73. package/dist/providers/index.js.map +1 -1
  74. package/dist/providers/mock/index.js.map +1 -1
  75. package/dist/providers/openclaw/device-identity.js +2 -2
  76. package/dist/providers/openclaw/device-identity.js.map +1 -1
  77. package/dist/providers/openclaw/gateway-adapter.js +19 -8
  78. package/dist/providers/openclaw/gateway-adapter.js.map +1 -1
  79. package/dist/providers/openclaw/gateway-client.js +9 -3
  80. package/dist/providers/openclaw/gateway-client.js.map +1 -1
  81. package/dist/providers/openclaw/index.js +14 -3
  82. package/dist/providers/openclaw/index.js.map +1 -1
  83. package/dist/types.d.ts +1 -1
  84. package/dist/utils/apply-config.js +9 -5
  85. package/dist/utils/apply-config.js.map +1 -1
  86. package/dist/utils/claude-env.js +11 -5
  87. package/dist/utils/claude-env.js.map +1 -1
  88. package/dist/utils/env.js +2 -1
  89. package/dist/utils/env.js.map +1 -1
  90. package/dist/utils/knowledge-graph.d.ts +66 -0
  91. package/dist/utils/knowledge-graph.js +163 -0
  92. package/dist/utils/knowledge-graph.js.map +1 -0
  93. package/dist/utils/release-channel.js +2 -4
  94. package/dist/utils/release-channel.js.map +1 -1
  95. package/dist/workspace.js +4 -5
  96. package/dist/workspace.js.map +1 -1
  97. package/package.json +24 -3
package/dist/api.d.ts CHANGED
@@ -30,6 +30,10 @@ export interface AgentApi {
30
30
  filesUpdated: number;
31
31
  }>;
32
32
  agentBootstrap(agentId: string): Promise<BootstrapResult>;
33
+ postMemoryDelta(agentId: string, delta: {
34
+ action: string;
35
+ data: unknown;
36
+ }): Promise<void>;
33
37
  uploadRaw(url: string, body: NodeJS.ReadableStream | Buffer | Uint8Array, contentType: string, size: number, timeoutMs?: number): Promise<void>;
34
38
  }
35
39
  export declare function createAgentApi(backendUrl: string, agentToken: string): AgentApi;
package/dist/api.js CHANGED
@@ -69,7 +69,7 @@ export function createAgentApi(backendUrl, agentToken) {
69
69
  const body = await res.text().catch(() => '');
70
70
  throw new Error(`HTTP ${res.status}: ${body}`);
71
71
  }
72
- const data = await res.json();
72
+ const data = (await res.json());
73
73
  return data.token;
74
74
  },
75
75
  async fetchSubscriptionToken(agentId, channels) {
@@ -78,7 +78,7 @@ export function createAgentApi(backendUrl, agentToken) {
78
78
  const body = await res.text().catch(() => '');
79
79
  throw new Error(`HTTP ${res.status}: ${body}`);
80
80
  }
81
- const data = await res.json();
81
+ const data = (await res.json());
82
82
  return data.subscriptions;
83
83
  },
84
84
  // --- Backup ---
@@ -115,6 +115,14 @@ export function createAgentApi(backendUrl, agentToken) {
115
115
  }
116
116
  return res.json();
117
117
  },
118
+ // --- Memory delta sync ---
119
+ async postMemoryDelta(agentId, delta) {
120
+ const res = await request('POST', '/api/internal/agent-memory-event', { agentId, delta });
121
+ if (!res.ok) {
122
+ const text = await res.text().catch(() => '');
123
+ throw new Error(`Memory delta push failed: ${res.status} ${text}`);
124
+ }
125
+ },
118
126
  // --- Raw upload (S3 presigned or backend API fallback) ---
119
127
  async uploadRaw(url, body, contentType, size, timeoutMs = TIMEOUT_UPLOAD) {
120
128
  const start = Date.now();
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import os from 'node:os';
4
3
  import { createAgentApi } from '../api.js';
5
4
  import { getBackendUrl, requireEnv } from '../utils/env.js';
6
5
  import { writeClaudeEnv } from '../utils/claude-env.js';
6
+ import { config } from '../config.js';
7
7
  export async function writeSkillFiles(skills, workspaceDir) {
8
8
  const fileNames = Object.keys(skills);
9
9
  if (fileNames.length === 0)
@@ -28,9 +28,9 @@ export async function writeSkillFiles(skills, workspaceDir) {
28
28
  }
29
29
  }
30
30
  // Log deployed skill names
31
- const skillNames = [...new Set(fileNames
32
- .filter(f => f.startsWith('.agents/skills/'))
33
- .map(f => f.split('/')[2]))];
31
+ const skillNames = [
32
+ ...new Set(fileNames.filter((f) => f.startsWith('.agents/skills/')).map((f) => f.split('/')[2])),
33
+ ];
34
34
  if (skillNames.length > 0) {
35
35
  console.log(` ✓ skills deployed: ${skillNames.join(', ')}`);
36
36
  }
@@ -39,7 +39,7 @@ export async function bootstrap() {
39
39
  const backendUrl = getBackendUrl();
40
40
  const agentToken = requireEnv('AGENT_TOKEN');
41
41
  const agentId = requireEnv('AGENT_ID');
42
- const openclawDir = process.env.OPENCLAW_STATE_DIR?.trim() ?? path.join(os.homedir(), '.openclaw');
42
+ const openclawDir = config.stateDir;
43
43
  const workspaceDir = path.join(openclawDir, 'workspace');
44
44
  console.log(`Bootstrapping agent ${agentId}...`);
45
45
  console.log(` Backend: ${backendUrl}`);
@@ -47,7 +47,7 @@ export async function bootstrap() {
47
47
  const api = createAgentApi(backendUrl, agentToken);
48
48
  let data;
49
49
  try {
50
- data = await api.agentBootstrap(agentId);
50
+ data = (await api.agentBootstrap(agentId));
51
51
  }
52
52
  catch (err) {
53
53
  console.error('Bootstrap failed:', err instanceof Error ? err.message : err);
@@ -85,9 +85,9 @@ export async function bootstrap() {
85
85
  }
86
86
  }
87
87
  // Summary for deployed skills
88
- const skillFiles = fileNames.filter(f => f.startsWith('.agents/skills/'));
88
+ const skillFiles = fileNames.filter((f) => f.startsWith('.agents/skills/'));
89
89
  if (skillFiles.length > 0) {
90
- const skills = [...new Set(skillFiles.map(f => f.split('/')[2]))];
90
+ const skills = [...new Set(skillFiles.map((f) => f.split('/')[2]))];
91
91
  console.log(` ✓ skills deployed: ${skills.join(', ')}`);
92
92
  }
93
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA8B,EAC9B,YAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEnC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,OAAO,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAC5B,SAAS;aACN,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7B,CAAC,CAAC;IACH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;IACnG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEzD,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEnD,IAAI,IAA8J,CAAC;IACnK,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,OAAO,CAAgB,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,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,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED,wBAAwB;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,OAAO,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACnD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,+EAA+E;IAC/E,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,14 @@ import { fileURLToPath } from 'node:url';
3
3
  import { dirname, join } from 'node:path';
4
4
  import { createAgentApi } from '../api.js';
5
5
  import { publishHeartbeat } from '../heartbeat.js';
6
+ import { config } from '../config.js';
6
7
  const require = createRequire(import.meta.url);
7
8
  const pkg = require(join(dirname(fileURLToPath(import.meta.url)), '../../package.json'));
8
9
  export async function runHeartbeat() {
9
- const centrifugoUrl = process.env.CENTRIFUGO_URL;
10
- const agentToken = process.env.AGENT_TOKEN;
11
- const agentId = process.env.AGENT_ID;
12
- const backendUrl = process.env.BACKEND_URL || process.env.BACKEND_INTERNAL_URL;
10
+ const centrifugoUrl = config.centrifugoUrl;
11
+ const agentToken = config.agentToken;
12
+ const agentId = config.agentId;
13
+ const backendUrl = config.backendUrl;
13
14
  const missing = [];
14
15
  if (!centrifugoUrl)
15
16
  missing.push('CENTRIFUGO_URL');
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat-cli.js","sourceRoot":"","sources":["../../src/commands/heartbeat-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAwB,CAAC;AAEhH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAE/E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,cAAc,CAAC,UAAW,EAAE,UAAW,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,oDAAoD,OAAO,KAAK,CAAC,CAAC;IAC9E,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"heartbeat-cli.js","sourceRoot":"","sources":["../../src/commands/heartbeat-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAEtF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAErC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,cAAc,CAAC,UAAW,EAAE,UAAW,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,oDAAoD,OAAO,KAAK,CAAC,CAAC;IAC9E,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC"}
@@ -20,7 +20,7 @@ export async function installDeps() {
20
20
  const api = createAgentApi(backendUrl, agentToken);
21
21
  let data;
22
22
  try {
23
- data = await api.agentBootstrap(agentId);
23
+ data = (await api.agentBootstrap(agentId));
24
24
  }
25
25
  catch (err) {
26
26
  console.error('Failed to fetch bootstrap data:', err instanceof Error ? err.message : err);
@@ -40,26 +40,36 @@ export async function installDeps() {
40
40
  // Install npm packages (parallel)
41
41
  if (npmPkgs.length > 0) {
42
42
  console.log(`Installing npm packages: ${npmPkgs.join(', ')}`);
43
- await Promise.allSettled(npmPkgs.map(pkg => {
43
+ await Promise.allSettled(npmPkgs.map((pkg) => {
44
44
  const remaining = Math.max(deadline - Date.now(), 1000);
45
45
  return execCmd(`npm install -g ${pkg}`, remaining)
46
- .then(() => { console.log(` ✓ npm: ${pkg}`); })
47
- .catch(err => { errors.push(`npm ${pkg}: ${err.message}`); console.error(` npm: ${pkg}`); });
46
+ .then(() => {
47
+ console.log(` npm: ${pkg}`);
48
+ })
49
+ .catch((err) => {
50
+ errors.push(`npm ${pkg}: ${err.message}`);
51
+ console.error(` ✗ npm: ${pkg}`);
52
+ });
48
53
  }));
49
54
  }
50
55
  // Install pip packages (parallel)
51
56
  if (pipPkgs.length > 0) {
52
57
  console.log(`Installing pip packages: ${pipPkgs.join(', ')}`);
53
- await Promise.allSettled(pipPkgs.map(pkg => {
58
+ await Promise.allSettled(pipPkgs.map((pkg) => {
54
59
  const remaining = Math.max(deadline - Date.now(), 1000);
55
60
  return execCmd(`pip install ${pkg}`, remaining)
56
- .then(() => { console.log(` ✓ pip: ${pkg}`); })
57
- .catch(err => { errors.push(`pip ${pkg}: ${err.message}`); console.error(` pip: ${pkg}`); });
61
+ .then(() => {
62
+ console.log(` pip: ${pkg}`);
63
+ })
64
+ .catch((err) => {
65
+ errors.push(`pip ${pkg}: ${err.message}`);
66
+ console.error(` ✗ pip: ${pkg}`);
67
+ });
58
68
  }));
59
69
  }
60
70
  if (errors.length > 0) {
61
71
  console.error(`\n${errors.length} package(s) failed to install:`);
62
- errors.forEach(e => console.error(` - ${e}`));
72
+ errors.forEach((e) => console.error(` - ${e}`));
63
73
  // Don't exit(1) — partial install is better than no agent
64
74
  }
65
75
  console.log('Dependency installation complete.');
@@ -1 +1 @@
1
- {"version":3,"file":"install-deps.js","sourceRoot":"","sources":["../../src/commands/install-deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,cAAc;AAElD,SAAS,OAAO,CAAC,GAAW,EAAE,SAAiB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC1D,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;;gBAC/D,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,qCAAqC,OAAO,KAAK,CAAC,CAAC;IAE/D,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEnD,IAAI,IAAuD,CAAC;IAC5D,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,OAAO,CAAgB,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;IACjD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,kCAAkC;IAClC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,OAAO,CAAC,UAAU,CACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC,kBAAkB,GAAG,EAAE,EAAE,SAAS,CAAC;iBAC/C,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,OAAO,CAAC,UAAU,CACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC,eAAe,GAAG,EAAE,EAAE,SAAS,CAAC;iBAC5C,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,gCAAgC,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,0DAA0D;IAC5D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"install-deps.js","sourceRoot":"","sources":["../../src/commands/install-deps.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { createInterface } from 'node:readline';
2
2
  import fs from 'node:fs/promises';
3
3
  import path from 'node:path';
4
- import os from 'node:os';
5
4
  import { saveEnvFile } from '../config-file.js';
5
+ import { config } from '../config.js';
6
6
  /**
7
7
  * Try to read the gateway auth token from the local OpenClaw config.
8
8
  * Path: ~/.openclaw/openclaw.json → gateway.auth.token
9
9
  */
10
10
  async function detectGatewayToken() {
11
- const stateDir = process.env.OPENCLAW_STATE_DIR?.trim() ?? path.join(os.homedir(), '.openclaw');
11
+ const stateDir = config.stateDir;
12
12
  const configPath = path.join(stateDir, 'openclaw.json');
13
13
  try {
14
14
  const raw = await fs.readFile(configPath, 'utf-8');
@@ -51,7 +51,7 @@ export async function install() {
51
51
  process.exit(1);
52
52
  }
53
53
  // Detect OPENCLAW_GATEWAY_TOKEN from local OpenClaw config or env
54
- let gatewayToken = process.env.OPENCLAW_GATEWAY_TOKEN || null;
54
+ let gatewayToken = config.gatewayToken || null;
55
55
  if (!gatewayToken) {
56
56
  gatewayToken = await detectGatewayToken();
57
57
  if (gatewayToken) {
@@ -61,24 +61,24 @@ export async function install() {
61
61
  else {
62
62
  console.log(' OPENCLAW_GATEWAY_TOKEN: *** (from environment)');
63
63
  }
64
- const config = { centrifugoUrl, agentToken, agentId, backendInternalUrl, gatewayToken };
64
+ const installConfig = { centrifugoUrl, agentToken, agentId, backendInternalUrl, gatewayToken };
65
65
  // Save env vars for future CLI usage (backup, knowledge_sync, etc.)
66
- await saveEnvFile(config);
66
+ await saveEnvFile(installConfig);
67
67
  const platform = process.platform;
68
68
  console.log('');
69
69
  console.log(`Detected platform: ${platform}`);
70
70
  console.log('');
71
71
  if (platform === 'darwin') {
72
72
  const { installMacOS } = await import('../platform/macos.js');
73
- await installMacOS(config);
73
+ await installMacOS(installConfig);
74
74
  }
75
75
  else if (platform === 'linux') {
76
76
  const { installLinux } = await import('../platform/linux.js');
77
- await installLinux(config);
77
+ await installLinux(installConfig);
78
78
  }
79
79
  else if (platform === 'win32') {
80
80
  const { installWindows } = await import('../platform/windows.js');
81
- await installWindows(config);
81
+ await installWindows(installConfig);
82
82
  }
83
83
  else {
84
84
  console.error(`Unsupported platform: ${platform}`);
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { execAsync } from '../utils/exec.js';
2
2
  import { removeLockFile } from '../lockfile.js';
3
3
  import { getReleaseChannel } from '../utils/release-channel.js';
4
+ import { config } from '../config.js';
4
5
  const PACKAGE_NAME = '@openclaw-cloud/agent-controller';
5
6
  async function fixNpmPermissions() {
6
- const home = process.env.HOME ?? '/root';
7
+ const home = config.home;
7
8
  console.log('Fixing npm permissions (root-owned files from previous installs)...');
8
9
  // Fix both cache (.npm) and global prefix (.npm-global)
9
10
  await execAsync(`sudo chown -R $(id -u):$(id -g) "${home}/.npm" "${home}/.npm-global" 2>/dev/null || true`, 30_000);
@@ -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,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"}
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;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,YAAY,GAAG,kCAAkC,CAAC;AAExD,KAAK,UAAU,iBAAiB;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IACnF,wDAAwD;IACxD,MAAM,SAAS,CACb,oCAAoC,IAAI,WAAW,IAAI,mCAAmC,EAC1F,MAAM,CACP,CAAC;AACJ,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,CACX,GAAG,KAAK,+BAA+B,EACvC,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CACxD,CAAC;gBACF,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,CACT,2BAA2B,aAAa,8CAA8C,CACvF,CAAC;IACF,cAAc,EAAE,CAAC;IACjB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,12 +1,22 @@
1
1
  import fs from 'node:fs/promises';
2
- import os from 'node:os';
3
2
  import path from 'node:path';
4
- const ENV_KEYS = ['CENTRIFUGO_URL', 'AGENT_TOKEN', 'AGENT_ID', 'BACKEND_INTERNAL_URL', 'BACKEND_URL', 'USER_ID', 'WORKSPACE_ID', 'OPENCLAW_GATEWAY_TOKEN', 'AC_RELEASE_CHANNEL', 'AC_DEBUG'];
3
+ import { config } from './config.js';
4
+ const ENV_KEYS = [
5
+ 'CENTRIFUGO_URL',
6
+ 'AGENT_TOKEN',
7
+ 'AGENT_ID',
8
+ 'BACKEND_INTERNAL_URL',
9
+ 'BACKEND_URL',
10
+ 'USER_ID',
11
+ 'WORKSPACE_ID',
12
+ 'OPENCLAW_GATEWAY_TOKEN',
13
+ 'AC_RELEASE_CHANNEL',
14
+ 'AC_DEBUG',
15
+ ];
5
16
  /** VM provisioner writes env here */
6
17
  export const VM_ENV_PATH = '/opt/openclaw-cloud/agent-controller/.env';
7
18
  export function getConfigDir() {
8
- const stateDir = process.env.OPENCLAW_STATE_DIR?.trim() ?? path.join(os.homedir(), '.openclaw');
9
- return path.join(stateDir, 'agent-controller');
19
+ return path.join(config.stateDir, 'agent-controller');
10
20
  }
11
21
  export function getConfigPath() {
12
22
  return path.join(getConfigDir(), 'agent.env');
@@ -1 +1 @@
1
- {"version":3,"file":"config-file.js","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-file.js","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,QAAQ,GAAG;IACf,gBAAgB;IAChB,aAAa;IACb,UAAU;IACV,sBAAsB;IACtB,aAAa;IACb,SAAS;IACT,cAAc;IACd,wBAAwB;IACxB,oBAAoB;IACpB,UAAU;CACF,CAAC;AAEX,qCAAqC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAEvE,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAMjC;IACC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG;QACZ,kBAAkB,MAAM,CAAC,aAAa,EAAE;QACxC,eAAe,MAAM,CAAC,UAAU,EAAE;QAClC,YAAY,MAAM,CAAC,OAAO,EAAE;QAC5B,eAAe,MAAM,CAAC,kBAAkB,EAAE;KAC3C,CAAC;IACF,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAExC,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,qBAAqB,aAAa,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,wBAAwB;IAClC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACxB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,8DAA8D;IAC9D,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAChC,qEAAqE;IACrE,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,29 @@
1
+ export declare const config: {
2
+ /** Base state directory — ~/.openclaw or OPENCLAW_STATE_DIR */
3
+ readonly stateDir: string;
4
+ /** Debug mode (AC_DEBUG or DEBUG) */
5
+ readonly debug: boolean;
6
+ /** Agent UUID (required for main entry, optional in CLI) */
7
+ readonly agentId: string | undefined;
8
+ /** Bearer token for backend API */
9
+ readonly agentToken: string | undefined;
10
+ /** Centrifugo WS endpoint */
11
+ readonly centrifugoUrl: string | undefined;
12
+ /** Backend API URL — BACKEND_URL takes priority, fallback to BACKEND_INTERNAL_URL */
13
+ readonly backendUrl: string | undefined;
14
+ /** Agent provider type */
15
+ readonly agentProvider: string;
16
+ /** OpenClaw Gateway WS URL */
17
+ readonly gatewayWsUrl: string;
18
+ /** OpenClaw Gateway auth token */
19
+ readonly gatewayToken: string;
20
+ /** Release channel — beta or stable */
21
+ readonly releaseChannel: "beta" | "stable";
22
+ /** Workspace directory override */
23
+ readonly workspaceDir: string | undefined;
24
+ /** Deploy type — 'vm' or undefined */
25
+ readonly agentDeployType: string | undefined;
26
+ /** HOME directory */
27
+ readonly home: string;
28
+ };
29
+ export declare function requireConfig<K extends keyof typeof config>(key: K): NonNullable<(typeof config)[K]>;
package/dist/config.js ADDED
@@ -0,0 +1,81 @@
1
+ import os from 'node:os';
2
+ import path from 'node:path';
3
+ /**
4
+ * Central configuration object — single source of truth for all env vars.
5
+ *
6
+ * IMPORTANT: This module must be imported AFTER config-file.ts loadEnvFile()
7
+ * has run, because loadEnvFile() populates process.env from .env files.
8
+ * The main entry point (index.ts) and CLI commands call loadEnvFile() before
9
+ * importing anything that depends on config.
10
+ *
11
+ * For values that are truly dynamic (BOARD_CARD_ID) or platform-specific
12
+ * (APPDATA/USERPROFILE on Windows), access process.env directly.
13
+ */
14
+ function stateDir() {
15
+ return process.env.OPENCLAW_STATE_DIR?.trim() || path.join(os.homedir(), '.openclaw');
16
+ }
17
+ export const config = {
18
+ /** Base state directory — ~/.openclaw or OPENCLAW_STATE_DIR */
19
+ get stateDir() {
20
+ return stateDir();
21
+ },
22
+ /** Debug mode (AC_DEBUG or DEBUG) */
23
+ get debug() {
24
+ return !!(process.env.AC_DEBUG || process.env.DEBUG);
25
+ },
26
+ /** Agent UUID (required for main entry, optional in CLI) */
27
+ get agentId() {
28
+ return process.env.AGENT_ID;
29
+ },
30
+ /** Bearer token for backend API */
31
+ get agentToken() {
32
+ return process.env.AGENT_TOKEN;
33
+ },
34
+ /** Centrifugo WS endpoint */
35
+ get centrifugoUrl() {
36
+ return process.env.CENTRIFUGO_URL;
37
+ },
38
+ /** Backend API URL — BACKEND_URL takes priority, fallback to BACKEND_INTERNAL_URL */
39
+ get backendUrl() {
40
+ return process.env.BACKEND_URL || process.env.BACKEND_INTERNAL_URL || undefined;
41
+ },
42
+ /** Agent provider type */
43
+ get agentProvider() {
44
+ return process.env.AGENT_PROVIDER ?? 'openclaw';
45
+ },
46
+ /** OpenClaw Gateway WS URL */
47
+ get gatewayWsUrl() {
48
+ return process.env.OPENCLAW_GATEWAY_WS ?? 'ws://localhost:18789';
49
+ },
50
+ /** OpenClaw Gateway auth token */
51
+ get gatewayToken() {
52
+ return process.env.OPENCLAW_GATEWAY_TOKEN ?? '';
53
+ },
54
+ /** Release channel — beta or stable */
55
+ get releaseChannel() {
56
+ const raw = process.env.AC_RELEASE_CHANNEL?.trim().toLowerCase();
57
+ return raw === 'beta' ? 'beta' : 'stable';
58
+ },
59
+ /** Workspace directory override */
60
+ get workspaceDir() {
61
+ return process.env.WORKSPACE_DIR?.trim() || undefined;
62
+ },
63
+ /** Deploy type — 'vm' or undefined */
64
+ get agentDeployType() {
65
+ return process.env.AGENT_DEPLOY_TYPE;
66
+ },
67
+ /** HOME directory */
68
+ get home() {
69
+ return process.env.HOME ?? '/root';
70
+ },
71
+ };
72
+ /* ── Strict accessors (throw on missing) ────────────────────── */
73
+ export function requireConfig(key) {
74
+ const value = config[key];
75
+ if (value === undefined || value === null || value === '') {
76
+ console.error(`Missing required config: ${key} (env not set)`);
77
+ process.exit(1);
78
+ }
79
+ return value;
80
+ }
81
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;;;;GAUG;AAEH,SAAS,QAAQ;IACf,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,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,+DAA+D;IAC/D,IAAI,QAAQ;QACV,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,qCAAqC;IACrC,IAAI,KAAK;QACP,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,4DAA4D;IAC5D,IAAI,OAAO;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,mCAAmC;IACnC,IAAI,UAAU;QACZ,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,6BAA6B;IAC7B,IAAI,aAAa;QACf,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACpC,CAAC;IAED,qFAAqF;IACrF,IAAI,UAAU;QACZ,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS,CAAC;IAClF,CAAC;IAED,0BAA0B;IAC1B,IAAI,aAAa;QACf,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,UAAU,CAAC;IAClD,CAAC;IAED,8BAA8B;IAC9B,IAAI,YAAY;QACd,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,sBAAsB,CAAC;IACnE,CAAC;IAED,kCAAkC;IAClC,IAAI,YAAY;QACd,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,uCAAuC;IACvC,IAAI,cAAc;QAChB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjE,OAAO,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAED,mCAAmC;IACnC,IAAI,YAAY;QACd,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACxD,CAAC;IAED,sCAAsC;IACtC,IAAI,eAAe;QACjB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACvC,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI;QACN,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC;IACrC,CAAC;CACO,CAAC;AAEX,mEAAmE;AAEnE,MAAM,UAAU,aAAa,CAC3B,GAAM;IAEN,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,gBAAgB,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAAwC,CAAC;AAClD,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { AgentApi } from './api.js';
2
2
  import { Centrifuge, Subscription } from 'centrifuge';
3
3
  import { LogCollector } from './utils/log-collector.js';
4
+ import type { KnowledgeGraphManager } from './utils/knowledge-graph.js';
4
5
  export interface ConnectionOptions {
5
6
  url: string;
6
7
  token: string;
@@ -8,6 +9,7 @@ export interface ConnectionOptions {
8
9
  backendUrl: string;
9
10
  api: AgentApi;
10
11
  version: string;
12
+ knowledgeGraphManager?: KnowledgeGraphManager;
11
13
  }
12
14
  export declare let logCollector: LogCollector;
13
15
  declare function subscribeToChannel(client: Centrifuge, channel: string, opts: ConnectionOptions): Subscription;