@rethinkingstudio/clawpilot 2.1.7-internal.9 → 2.1.8

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 (42) hide show
  1. package/dist/ccconnect/project-config.d.ts +1 -1
  2. package/dist/ccconnect/project-config.js +50 -2
  3. package/dist/ccconnect/project-config.js.map +1 -1
  4. package/dist/commands/local-handlers.js +46 -0
  5. package/dist/commands/local-handlers.js.map +1 -1
  6. package/dist/commands/pair.js +15 -8
  7. package/dist/commands/pair.js.map +1 -1
  8. package/dist/config/config.js +2 -1
  9. package/dist/config/config.js.map +1 -1
  10. package/dist/generated/build-config.d.ts +1 -1
  11. package/dist/generated/build-config.js +1 -1
  12. package/dist/generated/build-config.js.map +1 -1
  13. package/dist/hermes/agent-bridge.js +5 -0
  14. package/dist/hermes/agent-bridge.js.map +1 -1
  15. package/dist/hermes/home.d.ts +23 -0
  16. package/dist/hermes/home.js +250 -0
  17. package/dist/hermes/home.js.map +1 -0
  18. package/dist/hermes/model-catalog.js +10 -9
  19. package/dist/hermes/model-catalog.js.map +1 -1
  20. package/dist/platform/service-manager.js +9 -0
  21. package/dist/platform/service-manager.js.map +1 -1
  22. package/dist/relay/agent-status.d.ts +55 -0
  23. package/dist/relay/agent-status.js +294 -0
  24. package/dist/relay/agent-status.js.map +1 -0
  25. package/dist/relay/ccconnect-relay-manager.js +243 -44
  26. package/dist/relay/ccconnect-relay-manager.js.map +1 -1
  27. package/dist/relay/hermes-relay-manager.js +225 -53
  28. package/dist/relay/hermes-relay-manager.js.map +1 -1
  29. package/dist/relay/relay-command-dispatcher.d.ts +14 -0
  30. package/dist/relay/relay-command-dispatcher.js +25 -0
  31. package/dist/relay/relay-command-dispatcher.js.map +1 -0
  32. package/dist/relay/relay-manager.js +60 -29
  33. package/dist/relay/relay-manager.js.map +1 -1
  34. package/dist/relay/relay-method-registry.d.ts +9 -0
  35. package/dist/relay/relay-method-registry.js +61 -0
  36. package/dist/relay/relay-method-registry.js.map +1 -0
  37. package/dist/relay/relay-watchdog.d.ts +2 -0
  38. package/dist/relay/relay-watchdog.js +31 -0
  39. package/dist/relay/relay-watchdog.js.map +1 -0
  40. package/package.json +1 -1
  41. package/scripts/hermes_agent_bridge.py +14 -2
  42. package/scripts/verify-build-config.mjs +1 -3
@@ -0,0 +1,25 @@
1
+ import { handleLocalCommand } from "../commands/local-handlers.js";
2
+ import { handleProviderCommand } from "../commands/provider-handlers.js";
3
+ export async function dispatchCommonRelayCommand(method, params, requestId, send, options = {}) {
4
+ const providerResult = await handleProviderCommand(method, params);
5
+ if (providerResult !== null) {
6
+ sendCommandResult(requestId, providerResult, send);
7
+ return true;
8
+ }
9
+ if (options.skipLocalMethods?.has(method))
10
+ return false;
11
+ const localResult = handleLocalCommand(method, params);
12
+ if (localResult !== null) {
13
+ sendCommandResult(requestId, localResult, send);
14
+ return true;
15
+ }
16
+ return false;
17
+ }
18
+ function sendCommandResult(requestId, result, send) {
19
+ if (!requestId)
20
+ return;
21
+ send(result.ok
22
+ ? { type: "res", id: requestId, ok: true, payload: result.payload }
23
+ : { type: "res", id: requestId, ok: false, error: { message: result.error } });
24
+ }
25
+ //# sourceMappingURL=relay-command-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-command-dispatcher.js","sourceRoot":"","sources":["../../src/relay/relay-command-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAczE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAc,EACd,MAAe,EACf,SAA6B,EAC7B,IAAuC,EACvC,UAA2B,EAAE;IAE7B,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAExD,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CACxB,SAA6B,EAC7B,MAAsE,EACtE,IAAuC;IAEvC,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,IAAI,CAAC,MAAM,CAAC,EAAE;QACZ,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;QACnE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { WebSocket } from "ws";
2
2
  import { OpenClawGatewayClient } from "./gateway-client.js";
3
- import { handleLocalCommand } from "../commands/local-handlers.js";
4
- import { handleProviderCommand } from "../commands/provider-handlers.js";
5
3
  import { getServicePlatform } from "../platform/service-manager.js";
6
4
  import { OpenClawVisibleReplyFilter } from "./openclaw-visible-reply.js";
5
+ import { installRelayWatchdog } from "./relay-watchdog.js";
6
+ import { dispatchCommonRelayCommand } from "./relay-command-dispatcher.js";
7
+ import { relayMethodSupport } from "./relay-method-registry.js";
8
+ import { buildAgentStatusCards, parseAgentIdentityMarkdown, parseAgentsPayload, parseCronJobsPayload, parseSessionsPayload, recentOutputFromMessagesPayload, } from "./agent-status.js";
7
9
  import { homedir } from "os";
8
10
  import { extname, join } from "path";
9
11
  import { mkdir, writeFile } from "fs/promises";
@@ -55,6 +57,7 @@ export async function runRelayManager(opts) {
55
57
  resolve(true);
56
58
  return;
57
59
  }
60
+ const uninstallWatchdog = installRelayWatchdog(relayWs, `openclaw:${opts.gatewayId}`);
58
61
  let gatewayClient = null;
59
62
  const visibleReplyFilter = new OpenClawVisibleReplyFilter();
60
63
  function send(msg) {
@@ -62,6 +65,47 @@ export async function runRelayManager(opts) {
62
65
  relayWs.send(JSON.stringify(msg));
63
66
  }
64
67
  }
68
+ async function respondAgentStatusList(requestId) {
69
+ if (!gatewayClient)
70
+ throw new Error("gateway not connected");
71
+ const [agentsPayload, sessionsPayload, cronPayload] = await Promise.all([
72
+ gatewayClient.request("agents.list", "{}"),
73
+ gatewayClient.request("sessions.list", "{}"),
74
+ gatewayClient.request("cron.list", "{\"includeDisabled\":true}").catch(() => ({ jobs: [] })),
75
+ ]);
76
+ const cards = await buildAgentStatusCards({
77
+ agents: parseAgentsPayload(agentsPayload),
78
+ sessions: parseSessionsPayload(sessionsPayload),
79
+ cronJobs: parseCronJobsPayload(cronPayload),
80
+ loadIdentity: async (agentId) => {
81
+ const payload = await gatewayClient.request("agents.files.get", JSON.stringify({
82
+ agentId,
83
+ name: "IDENTITY.md",
84
+ }));
85
+ const file = payload && typeof payload === "object" ? payload.file : undefined;
86
+ return parseAgentIdentityMarkdown(typeof file?.content === "string" ? file.content : "");
87
+ },
88
+ loadRecentOutput: async (sessionKey) => {
89
+ try {
90
+ const payload = await gatewayClient.request("messages.history", JSON.stringify({ sessionKey, limit: 20 }));
91
+ return recentOutputFromMessagesPayload(payload);
92
+ }
93
+ catch {
94
+ return undefined;
95
+ }
96
+ },
97
+ });
98
+ send({
99
+ type: "res",
100
+ id: requestId,
101
+ ok: true,
102
+ payload: {
103
+ agents: cards,
104
+ cards,
105
+ count: cards.length,
106
+ },
107
+ });
108
+ }
65
109
  relayWs.on("open", () => {
66
110
  console.log(`Connected to relay server (gatewayId=${opts.gatewayId})`);
67
111
  send({ type: "relay_hello", platform: getServicePlatform() });
@@ -176,47 +220,33 @@ export async function runRelayManager(opts) {
176
220
  if (msg.type !== "cmd" || !msg.method)
177
221
  return;
178
222
  const requestId = msg.id;
179
- console.log(`[relay] cmd received method=${msg.method} id=${requestId ?? "(no-id)"}`);
180
- // Handle clawpilot.provider.* commands locally (async)
181
- const providerPromise = handleProviderCommand(msg.method, msg.params);
182
- if (providerPromise !== null) {
183
- const result = await providerPromise;
223
+ const support = relayMethodSupport(msg.method, "openclaw") ?? "forwarded";
224
+ console.log(`[relay] cmd received method=${msg.method} support=${support} id=${requestId ?? "(no-id)"}`);
225
+ if (await dispatchCommonRelayCommand(msg.method, msg.params, requestId, send)) {
226
+ return;
227
+ }
228
+ if (msg.method === "sessions.create") {
184
229
  if (requestId) {
185
230
  send({
186
231
  type: "res",
187
232
  id: requestId,
188
- ok: result.ok,
189
- ...(result.ok
190
- ? { payload: result.payload }
191
- : { error: { message: result.error } }),
233
+ ok: false,
234
+ error: { message: "This runtime does not support creating sessions." },
192
235
  });
193
236
  }
194
237
  return;
195
238
  }
196
- // Handle clawpilot.* commands locally without forwarding to the gateway
197
- const localResult = handleLocalCommand(msg.method, msg.params);
198
- if (localResult !== null) {
239
+ if (msg.method === "agents.status.list") {
199
240
  if (requestId) {
200
- if (localResult.ok) {
201
- send({ type: "res", id: requestId, ok: true, payload: localResult.payload });
241
+ try {
242
+ await respondAgentStatusList(requestId);
202
243
  }
203
- else {
204
- send({ type: "res", id: requestId, ok: false, error: { message: localResult.error } });
244
+ catch (err) {
245
+ send({ type: "res", id: requestId, ok: false, error: { message: String(err) } });
205
246
  }
206
247
  }
207
248
  return;
208
249
  }
209
- if (msg.method === "sessions.create") {
210
- if (requestId) {
211
- send({
212
- type: "res",
213
- id: requestId,
214
- ok: false,
215
- error: { message: "This runtime does not support creating sessions." },
216
- });
217
- }
218
- return;
219
- }
220
250
  // Handle chat.send with attachments - save to disk and add path reference
221
251
  if (msg.method === "chat.send") {
222
252
  const params = msg.params;
@@ -268,6 +298,7 @@ export async function runRelayManager(opts) {
268
298
  });
269
299
  });
270
300
  relayWs.on("close", (code, reason) => {
301
+ uninstallWatchdog();
271
302
  console.log(`Relay connection closed: ${code} ${reason.toString()}`);
272
303
  opts.onDisconnected?.();
273
304
  gatewayClient?.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"relay-manager.js","sourceRoot":"","sources":["../../src/relay/relay-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-manager.js","sourceRoot":"","sources":["../../src/relay/relay-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export type RelayRuntime = "openclaw" | "hermes" | "ccconnect";
2
+ export type RelayMethodSupport = "forwarded" | "implemented" | "local" | "compatibility" | "unsupported";
3
+ export type RelayMethodRegistration = {
4
+ method: string;
5
+ support: Partial<Record<RelayRuntime, RelayMethodSupport>>;
6
+ note?: string;
7
+ };
8
+ export declare const RELAY_METHOD_REGISTRY: RelayMethodRegistration[];
9
+ export declare function relayMethodSupport(method: string, runtime: RelayRuntime): RelayMethodSupport | undefined;
@@ -0,0 +1,61 @@
1
+ export const RELAY_METHOD_REGISTRY = [
2
+ { method: "chat.send", support: { openclaw: "forwarded", hermes: "implemented", ccconnect: "implemented" } },
3
+ { method: "chat.abort", support: { openclaw: "forwarded", hermes: "implemented", ccconnect: "compatibility" } },
4
+ { method: "chat.action", support: { ccconnect: "implemented" }, note: "Permission/action bridge for cc-connect interactive replies." },
5
+ { method: "messages.history", support: { openclaw: "forwarded", ccconnect: "implemented" } },
6
+ { method: "sessions.list", support: { openclaw: "forwarded", hermes: "implemented", ccconnect: "implemented" } },
7
+ { method: "sessions.create", support: { openclaw: "unsupported", hermes: "implemented", ccconnect: "implemented" } },
8
+ { method: "sessions.reset", support: { hermes: "implemented" } },
9
+ { method: "session.model.set", support: { hermes: "implemented" } },
10
+ { method: "agents.list", support: { openclaw: "forwarded", hermes: "implemented", ccconnect: "compatibility" } },
11
+ { method: "agents.status.list", support: { openclaw: "implemented", hermes: "implemented" } },
12
+ { method: "agents.create", support: { openclaw: "local", hermes: "implemented" } },
13
+ { method: "agents.delete", support: { openclaw: "local", hermes: "implemented" } },
14
+ { method: "agents.files.get", support: { openclaw: "forwarded" } },
15
+ { method: "agents.files.set", support: { openclaw: "forwarded" } },
16
+ { method: "runtime.profiles.switch", support: { hermes: "implemented" } },
17
+ { method: "runtime.files.get", support: { hermes: "implemented" } },
18
+ { method: "runtime.files.set", support: { hermes: "implemented" } },
19
+ { method: "projects.list", support: { ccconnect: "implemented" } },
20
+ { method: "projects.discover", support: { ccconnect: "implemented" } },
21
+ { method: "projects.create", support: { ccconnect: "implemented" } },
22
+ { method: "models.list", support: { openclaw: "forwarded", hermes: "implemented", ccconnect: "compatibility" } },
23
+ { method: "skills.status", support: { openclaw: "forwarded", hermes: "implemented", ccconnect: "compatibility" } },
24
+ { method: "skills.install", support: { openclaw: "forwarded" } },
25
+ { method: "skills.update", support: { openclaw: "forwarded" } },
26
+ { method: "usage.cost", support: { openclaw: "forwarded" } },
27
+ { method: "sessions.usage", support: { openclaw: "forwarded" } },
28
+ { method: "cron.list", support: { openclaw: "forwarded", hermes: "implemented" } },
29
+ { method: "cron.add", support: { openclaw: "forwarded", hermes: "implemented" } },
30
+ { method: "cron.update", support: { openclaw: "forwarded", hermes: "implemented" } },
31
+ { method: "cron.remove", support: { openclaw: "forwarded", hermes: "implemented" } },
32
+ { method: "cron.run", support: { openclaw: "forwarded", hermes: "implemented" } },
33
+ { method: "cron.runs", support: { openclaw: "forwarded", hermes: "implemented" } },
34
+ { method: "cron.messages.today", support: { hermes: "implemented" }, note: "No current iOS caller found during relay cleanup audit." },
35
+ { method: "cron.messages.history", support: { hermes: "implemented" }, note: "No current iOS caller found during relay cleanup audit." },
36
+ { method: "clawpilot.config", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
37
+ { method: "clawpilot.heartbeat.status", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
38
+ { method: "clawpilot.heartbeat.set", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
39
+ { method: "clawpilot.fix.tools.2026_3_2", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
40
+ { method: "clawpilot.restore.config", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
41
+ { method: "clawpilot.watchskill", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
42
+ { method: "clawpilot.doctor", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
43
+ { method: "clawpilot.doctor.fix", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
44
+ { method: "clawpilot.logs", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
45
+ { method: "clawpilot.gateway.restart", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
46
+ { method: "clawpilot.version", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
47
+ { method: "clawpilot.update", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
48
+ { method: "clawpilot.backup.create", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
49
+ { method: "clawpilot.backup.list", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
50
+ { method: "clawpilot.backup.restore", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
51
+ { method: "clawpilot.provider.list", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
52
+ { method: "clawpilot.provider.add", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
53
+ { method: "clawpilot.provider.delete", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
54
+ { method: "clawpilot.provider.setDefault", support: { openclaw: "local", hermes: "local", ccconnect: "local" } },
55
+ { method: "clawpilot.provider.validateKey", support: { openclaw: "local", hermes: "local", ccconnect: "local" }, note: "No current iOS caller found during relay cleanup audit." },
56
+ ];
57
+ const registryByMethod = new Map(RELAY_METHOD_REGISTRY.map((item) => [item.method, item]));
58
+ export function relayMethodSupport(method, runtime) {
59
+ return registryByMethod.get(method)?.support[runtime];
60
+ }
61
+ //# sourceMappingURL=relay-method-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-method-registry.js","sourceRoot":"","sources":["../../src/relay/relay-method-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { WebSocket } from "ws";
2
+ export declare function installRelayWatchdog(ws: WebSocket, label: string): () => void;
@@ -0,0 +1,31 @@
1
+ import { WebSocket } from "ws";
2
+ const SERVER_STALE_TIMEOUT_MS = 75_000;
3
+ const WATCHDOG_INTERVAL_MS = 15_000;
4
+ export function installRelayWatchdog(ws, label) {
5
+ let lastSeenAt = Date.now();
6
+ const markSeen = () => {
7
+ lastSeenAt = Date.now();
8
+ };
9
+ const timer = setInterval(() => {
10
+ if (ws.readyState !== WebSocket.OPEN)
11
+ return;
12
+ const staleFor = Date.now() - lastSeenAt;
13
+ if (staleFor < SERVER_STALE_TIMEOUT_MS)
14
+ return;
15
+ console.warn(`[relay] server heartbeat stale for ${staleFor}ms (${label}); reconnecting`);
16
+ ws.terminate();
17
+ }, WATCHDOG_INTERVAL_MS);
18
+ timer.unref();
19
+ ws.on("open", markSeen);
20
+ ws.on("ping", markSeen);
21
+ ws.on("pong", markSeen);
22
+ ws.on("message", markSeen);
23
+ return () => {
24
+ clearInterval(timer);
25
+ ws.off("open", markSeen);
26
+ ws.off("ping", markSeen);
27
+ ws.off("pong", markSeen);
28
+ ws.off("message", markSeen);
29
+ };
30
+ }
31
+ //# sourceMappingURL=relay-watchdog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-watchdog.js","sourceRoot":"","sources":["../../src/relay/relay-watchdog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAEpC,MAAM,UAAU,oBAAoB,CAAC,EAAa,EAAE,KAAa;IAC/D,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE5B,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAO;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;QACzC,IAAI,QAAQ,GAAG,uBAAuB;YAAE,OAAO;QAE/C,OAAO,CAAC,IAAI,CAAC,sCAAsC,QAAQ,OAAO,KAAK,iBAAiB,CAAC,CAAC;QAC1F,EAAE,CAAC,SAAS,EAAE,CAAC;IACjB,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACzB,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE3B,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzB,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzB,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzB,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rethinkingstudio/clawpilot",
3
- "version": "2.1.7-internal.9",
3
+ "version": "2.1.8",
4
4
  "description": "ClawAI relay client for Mac mini",
5
5
  "type": "module",
6
6
  "bin": {
@@ -4,6 +4,7 @@
4
4
  from __future__ import annotations
5
5
 
6
6
  import json
7
+ import os
7
8
  import sys
8
9
  import traceback
9
10
  from pathlib import Path
@@ -17,7 +18,7 @@ from run_agent import AIAgent
17
18
 
18
19
 
19
20
  _API_SAFE_MSG_KEYS = {"role", "content", "tool_calls", "tool_call_id", "name", "refusal"}
20
- _HERMES_HOME = Path.home() / ".hermes"
21
+ _HERMES_HOME = Path(os.environ.get("HERMES_HOME") or (Path.home() / ".hermes"))
21
22
  _SESSIONS_DIR = _HERMES_HOME / "sessions"
22
23
 
23
24
 
@@ -97,7 +98,10 @@ def derive_agent_inputs(payload: Dict[str, Any]) -> Dict[str, Any]:
97
98
 
98
99
  cfg = load_config()
99
100
  model_cfg = cfg.get("model", {}) if isinstance(cfg, dict) else {}
100
- default_model = model or str(model_cfg.get("default") or "").strip() or None
101
+ configured_default = str(model_cfg.get("default") or "").strip() or None
102
+ if model == "hermes-agent" and configured_default and configured_default != "hermes-agent":
103
+ model = configured_default
104
+ default_model = model or configured_default
101
105
  if not default_model:
102
106
  raise ValueError("missing model")
103
107
 
@@ -223,6 +227,14 @@ def main() -> int:
223
227
  persist_user_message=agent_inputs["user_message"],
224
228
  )
225
229
  final_text = extract_final_text(result, accumulated_text)
230
+ if not final_text.strip():
231
+ emit(
232
+ {
233
+ "type": "error",
234
+ "message": "Hermes agent returned an empty response.",
235
+ }
236
+ )
237
+ return 1
226
238
  emit(
227
239
  {
228
240
  "type": "assistant_final",
@@ -21,9 +21,7 @@ const actualServer = match[1];
21
21
  const publishTag = (process.env.npm_config_tag ?? "").trim();
22
22
  const version = String(pkg.version ?? "");
23
23
  const tagOrVersion = `${publishTag} ${version}`;
24
- const usesPreRelay =
25
- /\binternal\b/i.test(tagOrVersion) ||
26
- /\bbeta\b/i.test(tagOrVersion);
24
+ const usesPreRelay = /\binternal\b/i.test(tagOrVersion);
27
25
  const expectedServer = usesPreRelay ? PRE_SERVER : PROD_SERVER;
28
26
 
29
27
  if (actualServer !== expectedServer) {