clawconnect-agent 0.1.7 → 0.1.9

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 (199) hide show
  1. package/README.md +70 -30
  2. package/README.zh-CN.md +70 -30
  3. package/dist/commands/pair.d.ts +4 -0
  4. package/dist/commands/pair.js +63 -6
  5. package/dist/commands/pair.js.map +1 -1
  6. package/dist/commands/run.js +1 -1
  7. package/dist/commands/run.js.map +1 -1
  8. package/dist/commands/send-file.d.ts +2 -25
  9. package/dist/commands/send-file.js +22 -455
  10. package/dist/commands/send-file.js.map +1 -1
  11. package/dist/core/command-types.d.ts +18 -0
  12. package/dist/core/command-types.js +2 -0
  13. package/dist/core/command-types.js.map +1 -0
  14. package/dist/core/relay/attachment-staging.js.map +1 -0
  15. package/dist/{relay → core/relay}/chat-payload.js +17 -3
  16. package/dist/core/relay/chat-payload.js.map +1 -0
  17. package/dist/{commands/send-file-utils.js → core/relay/file-upload-utils.js} +1 -1
  18. package/dist/core/relay/file-upload-utils.js.map +1 -0
  19. package/dist/core/relay/file-upload.d.ts +40 -0
  20. package/dist/core/relay/file-upload.js +401 -0
  21. package/dist/core/relay/file-upload.js.map +1 -0
  22. package/dist/core/relay/mobile-chat-run-bridge.d.ts +201 -0
  23. package/dist/core/relay/mobile-chat-run-bridge.js +192 -0
  24. package/dist/core/relay/mobile-chat-run-bridge.js.map +1 -0
  25. package/dist/core/relay/office-payload.js.map +1 -0
  26. package/dist/core/relay/reconnect.js.map +1 -0
  27. package/dist/core/relay/relay-server-connection.d.ts +6 -0
  28. package/dist/core/relay/relay-server-connection.js +32 -0
  29. package/dist/core/relay/relay-server-connection.js.map +1 -0
  30. package/dist/{relay/slash-command-catalog.d.ts → core/relay/slash-command-types.d.ts} +0 -1
  31. package/dist/core/relay/slash-command-types.js +2 -0
  32. package/dist/core/relay/slash-command-types.js.map +1 -0
  33. package/dist/core/relay/timeline-event-builder.d.ts +86 -0
  34. package/dist/core/relay/timeline-event-builder.js +199 -0
  35. package/dist/core/relay/timeline-event-builder.js.map +1 -0
  36. package/dist/core/relay/timeline-event-log.d.ts +81 -0
  37. package/dist/core/relay/timeline-event-log.js +254 -0
  38. package/dist/core/relay/timeline-event-log.js.map +1 -0
  39. package/dist/{relay → core/relay}/voice-input.js +5 -3
  40. package/dist/core/relay/voice-input.js.map +1 -0
  41. package/dist/hermes/hermes-relay-manager.d.ts +14 -4
  42. package/dist/hermes/hermes-relay-manager.js +159 -41
  43. package/dist/hermes/hermes-relay-manager.js.map +1 -1
  44. package/dist/hermes/hermes-runtime.d.ts +9 -8
  45. package/dist/hermes/hermes-runtime.js +8 -7
  46. package/dist/hermes/hermes-runtime.js.map +1 -1
  47. package/dist/hermes/hermes-session-store.js +52 -30
  48. package/dist/hermes/hermes-session-store.js.map +1 -1
  49. package/dist/hermes/hermes-voice-input.js +1 -1
  50. package/dist/hermes/hermes-voice-input.js.map +1 -1
  51. package/dist/hermes/runtime/hermes-runtime-artifacts.js.map +1 -0
  52. package/dist/hermes/{models → runtime}/hermes-runtime-backups.d.ts +1 -1
  53. package/dist/hermes/runtime/hermes-runtime-backups.js.map +1 -0
  54. package/dist/hermes/{models → runtime}/hermes-runtime-chat.d.ts +2 -1
  55. package/dist/hermes/{models → runtime}/hermes-runtime-chat.js +127 -27
  56. package/dist/hermes/runtime/hermes-runtime-chat.js.map +1 -0
  57. package/dist/hermes/{models → runtime}/hermes-runtime-command-router.d.ts +1 -1
  58. package/dist/hermes/{models → runtime}/hermes-runtime-command-router.js +3 -0
  59. package/dist/hermes/runtime/hermes-runtime-command-router.js.map +1 -0
  60. package/dist/hermes/{models → runtime}/hermes-runtime-command-utils.d.ts +1 -1
  61. package/dist/hermes/runtime/hermes-runtime-command-utils.js.map +1 -0
  62. package/dist/hermes/{models → runtime}/hermes-runtime-cron.d.ts +1 -1
  63. package/dist/hermes/runtime/hermes-runtime-cron.js.map +1 -0
  64. package/dist/hermes/runtime/hermes-runtime-history.d.ts +2 -0
  65. package/dist/hermes/runtime/hermes-runtime-history.js +249 -0
  66. package/dist/hermes/runtime/hermes-runtime-history.js.map +1 -0
  67. package/dist/hermes/{models → runtime}/hermes-runtime-lifecycle.d.ts +1 -1
  68. package/dist/hermes/runtime/hermes-runtime-lifecycle.js.map +1 -0
  69. package/dist/hermes/{models → runtime}/hermes-runtime-models.d.ts +1 -1
  70. package/dist/hermes/runtime/hermes-runtime-models.js.map +1 -0
  71. package/dist/hermes/{models → runtime}/hermes-runtime-process.d.ts +2 -0
  72. package/dist/hermes/{models → runtime}/hermes-runtime-process.js +19 -2
  73. package/dist/hermes/runtime/hermes-runtime-process.js.map +1 -0
  74. package/dist/hermes/{models → runtime}/hermes-runtime-sessions.d.ts +1 -1
  75. package/dist/hermes/{models → runtime}/hermes-runtime-sessions.js +26 -9
  76. package/dist/hermes/runtime/hermes-runtime-sessions.js.map +1 -0
  77. package/dist/hermes/{models → runtime}/hermes-runtime-skills.d.ts +1 -1
  78. package/dist/hermes/runtime/hermes-runtime-skills.js.map +1 -0
  79. package/dist/hermes/runtime/hermes-runtime-types.js.map +1 -0
  80. package/dist/hermes/runtime/hermes-runtime-usage.js.map +1 -0
  81. package/dist/hermes/runtime/hermes-runtime-values.js.map +1 -0
  82. package/dist/index.js +28 -3
  83. package/dist/index.js.map +1 -1
  84. package/dist/openclaw/backups/backup-manager.js.map +1 -0
  85. package/dist/{commands → openclaw/config}/provider-config.js +1 -1
  86. package/dist/openclaw/config/provider-config.js.map +1 -0
  87. package/dist/openclaw/config/provider-registry.js.map +1 -0
  88. package/dist/openclaw/gateway-client.js.map +1 -0
  89. package/dist/{commands → openclaw/handlers}/local-handlers.d.ts +1 -1
  90. package/dist/{commands → openclaw/handlers}/local-handlers.js +2 -2
  91. package/dist/openclaw/handlers/local-handlers.js.map +1 -0
  92. package/dist/{commands → openclaw/handlers}/provider-handlers.d.ts +1 -1
  93. package/dist/{commands → openclaw/handlers}/provider-handlers.js +3 -3
  94. package/dist/openclaw/handlers/provider-handlers.js.map +1 -0
  95. package/dist/openclaw/relay/chat-history.d.ts +51 -0
  96. package/dist/openclaw/relay/chat-history.js +347 -0
  97. package/dist/openclaw/relay/chat-history.js.map +1 -0
  98. package/dist/{relay → openclaw/relay}/chat-send-attachments.js +12 -1
  99. package/dist/openclaw/relay/chat-send-attachments.js.map +1 -0
  100. package/dist/{relay → openclaw/relay}/openclaw-voice-input.js +1 -1
  101. package/dist/openclaw/relay/openclaw-voice-input.js.map +1 -0
  102. package/dist/openclaw/relay/outgoing-media-relay.d.ts +11 -0
  103. package/dist/openclaw/relay/outgoing-media-relay.js +120 -0
  104. package/dist/openclaw/relay/outgoing-media-relay.js.map +1 -0
  105. package/dist/{relay → openclaw/relay}/session-context.d.ts +6 -0
  106. package/dist/{relay → openclaw/relay}/session-context.js +42 -2
  107. package/dist/openclaw/relay/session-context.js.map +1 -0
  108. package/dist/openclaw/relay/slash-command-catalog.d.ts +2 -0
  109. package/dist/openclaw/relay/slash-command-catalog.generated.js.map +1 -0
  110. package/dist/openclaw/relay/slash-command-catalog.js.map +1 -0
  111. package/dist/openclaw/relay/transcript-dedupe.d.ts +21 -0
  112. package/dist/openclaw/relay/transcript-dedupe.js +211 -0
  113. package/dist/openclaw/relay/transcript-dedupe.js.map +1 -0
  114. package/dist/{relay → openclaw}/relay-manager.d.ts +1 -1
  115. package/dist/{relay → openclaw}/relay-manager.js +373 -99
  116. package/dist/openclaw/relay-manager.js.map +1 -0
  117. package/dist/{commands → openclaw/runtime}/local-runtime.d.ts +1 -17
  118. package/dist/openclaw/runtime/local-runtime.js.map +1 -0
  119. package/dist/openclaw/session-store.d.ts +1 -0
  120. package/dist/openclaw/session-store.js +70 -0
  121. package/dist/openclaw/session-store.js.map +1 -0
  122. package/dist/runtime-adapters.js +1 -1
  123. package/dist/runtime-adapters.js.map +1 -1
  124. package/package.json +2 -2
  125. package/dist/commands/backup-manager.js.map +0 -1
  126. package/dist/commands/local-handlers.js.map +0 -1
  127. package/dist/commands/local-runtime.js.map +0 -1
  128. package/dist/commands/provider-config.js.map +0 -1
  129. package/dist/commands/provider-handlers.js.map +0 -1
  130. package/dist/commands/provider-registry.js.map +0 -1
  131. package/dist/commands/send-file-utils.js.map +0 -1
  132. package/dist/hermes/models/hermes-runtime-artifacts.js.map +0 -1
  133. package/dist/hermes/models/hermes-runtime-backups.js.map +0 -1
  134. package/dist/hermes/models/hermes-runtime-chat.js.map +0 -1
  135. package/dist/hermes/models/hermes-runtime-command-router.js.map +0 -1
  136. package/dist/hermes/models/hermes-runtime-command-utils.js.map +0 -1
  137. package/dist/hermes/models/hermes-runtime-cron.js.map +0 -1
  138. package/dist/hermes/models/hermes-runtime-lifecycle.js.map +0 -1
  139. package/dist/hermes/models/hermes-runtime-models.js.map +0 -1
  140. package/dist/hermes/models/hermes-runtime-process.js.map +0 -1
  141. package/dist/hermes/models/hermes-runtime-sessions.js.map +0 -1
  142. package/dist/hermes/models/hermes-runtime-skills.js.map +0 -1
  143. package/dist/hermes/models/hermes-runtime-types.js.map +0 -1
  144. package/dist/hermes/models/hermes-runtime-usage.js.map +0 -1
  145. package/dist/hermes/models/hermes-runtime-values.js.map +0 -1
  146. package/dist/relay/attachment-staging.js.map +0 -1
  147. package/dist/relay/chat-history.d.ts +0 -29
  148. package/dist/relay/chat-history.js +0 -87
  149. package/dist/relay/chat-history.js.map +0 -1
  150. package/dist/relay/chat-payload.js.map +0 -1
  151. package/dist/relay/chat-send-attachments.js.map +0 -1
  152. package/dist/relay/gateway-client.js.map +0 -1
  153. package/dist/relay/mobile-chat-run-bridge.d.ts +0 -93
  154. package/dist/relay/mobile-chat-run-bridge.js +0 -68
  155. package/dist/relay/mobile-chat-run-bridge.js.map +0 -1
  156. package/dist/relay/office-payload.js.map +0 -1
  157. package/dist/relay/openclaw-voice-input.js.map +0 -1
  158. package/dist/relay/reconnect.js.map +0 -1
  159. package/dist/relay/relay-manager.js.map +0 -1
  160. package/dist/relay/session-context.js.map +0 -1
  161. package/dist/relay/slash-command-catalog.generated.js.map +0 -1
  162. package/dist/relay/slash-command-catalog.js.map +0 -1
  163. package/dist/relay/voice-input.js.map +0 -1
  164. /package/dist/{relay → core/relay}/attachment-staging.d.ts +0 -0
  165. /package/dist/{relay → core/relay}/attachment-staging.js +0 -0
  166. /package/dist/{relay → core/relay}/chat-payload.d.ts +0 -0
  167. /package/dist/{commands/send-file-utils.d.ts → core/relay/file-upload-utils.d.ts} +0 -0
  168. /package/dist/{relay → core/relay}/office-payload.d.ts +0 -0
  169. /package/dist/{relay → core/relay}/office-payload.js +0 -0
  170. /package/dist/{relay → core/relay}/reconnect.d.ts +0 -0
  171. /package/dist/{relay → core/relay}/reconnect.js +0 -0
  172. /package/dist/{relay → core/relay}/voice-input.d.ts +0 -0
  173. /package/dist/hermes/{models → runtime}/hermes-runtime-artifacts.d.ts +0 -0
  174. /package/dist/hermes/{models → runtime}/hermes-runtime-artifacts.js +0 -0
  175. /package/dist/hermes/{models → runtime}/hermes-runtime-backups.js +0 -0
  176. /package/dist/hermes/{models → runtime}/hermes-runtime-command-utils.js +0 -0
  177. /package/dist/hermes/{models → runtime}/hermes-runtime-cron.js +0 -0
  178. /package/dist/hermes/{models → runtime}/hermes-runtime-lifecycle.js +0 -0
  179. /package/dist/hermes/{models → runtime}/hermes-runtime-models.js +0 -0
  180. /package/dist/hermes/{models → runtime}/hermes-runtime-skills.js +0 -0
  181. /package/dist/hermes/{models → runtime}/hermes-runtime-types.d.ts +0 -0
  182. /package/dist/hermes/{models → runtime}/hermes-runtime-types.js +0 -0
  183. /package/dist/hermes/{models → runtime}/hermes-runtime-usage.d.ts +0 -0
  184. /package/dist/hermes/{models → runtime}/hermes-runtime-usage.js +0 -0
  185. /package/dist/hermes/{models → runtime}/hermes-runtime-values.d.ts +0 -0
  186. /package/dist/hermes/{models → runtime}/hermes-runtime-values.js +0 -0
  187. /package/dist/{commands → openclaw/backups}/backup-manager.d.ts +0 -0
  188. /package/dist/{commands → openclaw/backups}/backup-manager.js +0 -0
  189. /package/dist/{commands → openclaw/config}/provider-config.d.ts +0 -0
  190. /package/dist/{commands → openclaw/config}/provider-registry.d.ts +0 -0
  191. /package/dist/{commands → openclaw/config}/provider-registry.js +0 -0
  192. /package/dist/{relay → openclaw}/gateway-client.d.ts +0 -0
  193. /package/dist/{relay → openclaw}/gateway-client.js +0 -0
  194. /package/dist/{relay → openclaw/relay}/chat-send-attachments.d.ts +0 -0
  195. /package/dist/{relay → openclaw/relay}/openclaw-voice-input.d.ts +0 -0
  196. /package/dist/{relay → openclaw/relay}/slash-command-catalog.generated.d.ts +0 -0
  197. /package/dist/{relay → openclaw/relay}/slash-command-catalog.generated.js +0 -0
  198. /package/dist/{relay → openclaw/relay}/slash-command-catalog.js +0 -0
  199. /package/dist/{commands → openclaw/runtime}/local-runtime.js +0 -0
@@ -1,11 +1,13 @@
1
1
  import { statSync } from "fs";
2
2
  import { WebSocket } from "ws";
3
- import { sendFileCommand } from "../commands/send-file.js";
4
- import { buildOfficeEventPayload } from "../relay/office-payload.js";
5
- import { buildMobileAssistantErrorPayload, buildMobileAssistantFinalPayload, resolveMobileChatRun, } from "../relay/mobile-chat-run-bridge.js";
6
- import { voiceInputSetupMessage } from "../relay/voice-input.js";
3
+ import { uploadFileToRelay } from "../core/relay/file-upload.js";
4
+ import { bindRelayAbortSignal, buildRelayUrl, parseRelayFrame, sendRelayJson, shouldRetryRelayClose, } from "../core/relay/relay-server-connection.js";
5
+ import { buildOfficeEventPayload } from "../core/relay/office-payload.js";
6
+ import { buildMobileAssistantAbortedPayload, buildMobileAssistantErrorPayload, buildMobileAssistantFinalPayload, resolveMobileChatRun, } from "../core/relay/mobile-chat-run-bridge.js";
7
+ import { voiceInputSetupMessage } from "../core/relay/voice-input.js";
8
+ import { buildAttachmentStateChangedEvent, deriveAttachmentId, derivePartId, } from "../core/relay/timeline-event-builder.js";
7
9
  import { gatewayCapabilitiesForType } from "../gateway-profiles.js";
8
- import { runHermesPython } from "./models/hermes-runtime-process.js";
10
+ import { runHermesPython } from "./runtime/hermes-runtime-process.js";
9
11
  import { prepareHermesVoiceInputCommand, resolveHermesVoiceInputSessionKey } from "./hermes-voice-input.js";
10
12
  import { collectHermesUsageSnapshot, handleHermesCommand, readHermesStatusSnapshot, runHermesChat, } from "./hermes-runtime.js";
11
13
  ;
@@ -263,10 +265,52 @@ function readHermesSlashCommandSearchParams(params) {
263
265
  offset: record.offset,
264
266
  };
265
267
  }
268
+ function readStringParam(params, key) {
269
+ if (!params || typeof params !== "object" || Array.isArray(params)) {
270
+ return undefined;
271
+ }
272
+ const value = params[key];
273
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
274
+ }
275
+ export function rememberActiveHermesChatRun(activeChatRuns, run, params, requestId, controller) {
276
+ const entry = { controller, run };
277
+ for (const key of [run.runId, requestId, readStringParam(params, "idempotencyKey")]) {
278
+ if (key) {
279
+ activeChatRuns.set(key, entry);
280
+ }
281
+ }
282
+ }
283
+ function forgetActiveHermesChatRun(activeChatRuns, run) {
284
+ for (const [key, entry] of activeChatRuns) {
285
+ if (entry.run.runId === run.runId && entry.run.sessionKey === run.sessionKey) {
286
+ activeChatRuns.delete(key);
287
+ }
288
+ }
289
+ }
290
+ export function resolveHermesAbortRun(params, activeChatRuns) {
291
+ const runId = readStringParam(params, "runId")
292
+ ?? readStringParam(params, "run_id")
293
+ ?? readStringParam(params, "idempotencyKey");
294
+ if (runId) {
295
+ return activeChatRuns.get(runId);
296
+ }
297
+ const sessionKey = readStringParam(params, "sessionKey") ?? readStringParam(params, "session_key");
298
+ if (sessionKey) {
299
+ return [...activeChatRuns.values()].find((entry) => entry.run.sessionKey === sessionKey);
300
+ }
301
+ return undefined;
302
+ }
303
+ export function resolveHermesChatPreferredRunId(params, voiceInputRun) {
304
+ return voiceInputRun?.runId
305
+ ?? readStringParam(params, "runId")
306
+ ?? readStringParam(params, "run_id")
307
+ ?? readStringParam(params, "idempotencyKey");
308
+ }
266
309
  export async function runHermesRelayManager(opts) {
267
310
  const wsUrl = buildRelayUrl(opts.relayServerUrl, opts.gatewayId, opts.relaySecret);
268
311
  const recentMobileFiles = new Map();
269
312
  const sentArtifacts = new Map();
313
+ const activeChatRuns = new Map();
270
314
  return new Promise((resolve) => {
271
315
  let relayWs;
272
316
  try {
@@ -277,18 +321,9 @@ export async function runHermesRelayManager(opts) {
277
321
  resolve(true);
278
322
  return;
279
323
  }
280
- if (opts.signal) {
281
- if (opts.signal.aborted) {
282
- relayWs.close(1001, "shutdown");
283
- }
284
- else {
285
- opts.signal.addEventListener("abort", () => relayWs.close(1001, "shutdown"), { once: true });
286
- }
287
- }
324
+ bindRelayAbortSignal(relayWs, opts.signal);
288
325
  const send = (message) => {
289
- if (relayWs.readyState === WebSocket.OPEN) {
290
- relayWs.send(JSON.stringify(message));
291
- }
326
+ sendRelayJson(relayWs, message);
292
327
  };
293
328
  relayWs.on("open", () => {
294
329
  console.log(`Connected to relay server (hermes gatewayId=${opts.gatewayId})`);
@@ -323,11 +358,8 @@ export async function runHermesRelayManager(opts) {
323
358
  let acknowledgedChatRun;
324
359
  let voiceInputRun;
325
360
  try {
326
- let msg;
327
- try {
328
- msg = JSON.parse(raw.toString());
329
- }
330
- catch {
361
+ const msg = parseRelayFrame(raw);
362
+ if (!msg) {
331
363
  return;
332
364
  }
333
365
  if (msg.type === "heartbeat") {
@@ -348,6 +380,30 @@ export async function runHermesRelayManager(opts) {
348
380
  }
349
381
  requestId = msg.id;
350
382
  methodForLog = msg.method;
383
+ if (msg.method === "chat.abort") {
384
+ const abortRun = resolveHermesAbortRun(msg.params, activeChatRuns);
385
+ abortRun?.controller.abort();
386
+ if (requestId) {
387
+ send({ type: "res", id: requestId, ok: true, payload: abortRun?.run });
388
+ }
389
+ if (abortRun) {
390
+ send({
391
+ type: "event",
392
+ event: "chat",
393
+ payload: {
394
+ runId: abortRun.run.runId,
395
+ sessionKey: abortRun.run.sessionKey,
396
+ state: "aborted",
397
+ role: "assistant",
398
+ message: {
399
+ role: "assistant",
400
+ content: [{ type: "text", text: "" }],
401
+ },
402
+ },
403
+ });
404
+ }
405
+ return;
406
+ }
351
407
  if (msg.method === "slash_commands.search") {
352
408
  if (requestId) {
353
409
  send({
@@ -383,13 +439,15 @@ export async function runHermesRelayManager(opts) {
383
439
  }
384
440
  const requestedSessionKey = resolveHermesRelaySessionKey(msg.params);
385
441
  const run = resolveMobileChatRun({
386
- preferredRunId: voiceInputRun?.runId,
442
+ preferredRunId: resolveHermesChatPreferredRunId(msg.params, voiceInputRun),
387
443
  requestId,
388
444
  sessionKey: requestedSessionKey,
389
445
  fallbackPrefix: "hermes",
390
446
  });
391
447
  const runId = run.runId;
392
448
  const sessionKey = run.sessionKey;
449
+ const abortController = new AbortController();
450
+ rememberActiveHermesChatRun(activeChatRuns, run, msg.params, requestId, abortController);
393
451
  if (requestId) {
394
452
  acknowledgedChatRun = { runId, sessionKey };
395
453
  send({ type: "res", id: requestId, ok: true, payload: acknowledgedChatRun });
@@ -398,11 +456,13 @@ export async function runHermesRelayManager(opts) {
398
456
  const chat = await runHermesChat(paramsWithFiles, {
399
457
  requestId: runId,
400
458
  gatewayId: opts.gatewayId,
459
+ abortSignal: abortController.signal,
401
460
  publishEvent: (event) => {
402
461
  send(event);
403
462
  publishHermesOfficeSnapshot(send, event.event, event.payload);
404
463
  },
405
464
  });
465
+ forgetActiveHermesChatRun(activeChatRuns, run);
406
466
  const finalChatPayload = buildMobileAssistantFinalPayload({
407
467
  run: { runId, sessionKey: chat.sessionKey },
408
468
  text: chat.output,
@@ -410,6 +470,7 @@ export async function runHermesRelayManager(opts) {
410
470
  provider: chat.usage?.provider,
411
471
  contextUsage: chat.usage?.contextUsage,
412
472
  contextLimit: chat.usage?.contextLimit,
473
+ includeTimelineEvents: true,
413
474
  });
414
475
  send({
415
476
  type: "event",
@@ -423,19 +484,58 @@ export async function runHermesRelayManager(opts) {
423
484
  if (artifactKey && sentArtifacts.has(artifactKey)) {
424
485
  continue;
425
486
  }
426
- await sendFileCommand(buildHermesArtifactSendOptions({
487
+ const upload = await uploadFileToRelay(buildHermesArtifactUploadRequest({
427
488
  artifactPath,
489
+ relayServerUrl: opts.relayServerUrl,
490
+ relaySecret: opts.relaySecret,
428
491
  gatewayId: opts.gatewayId,
429
492
  sessionKey: chat.sessionKey,
430
493
  runId,
431
- }), {
432
- stdout: { write: () => true },
433
- stderr: { write: (chunk) => {
434
- const text = String(chunk).trim();
435
- if (text)
436
- console.log(text);
437
- return true;
438
- } },
494
+ }));
495
+ const attachmentId = deriveAttachmentId({
496
+ sessionKey: chat.sessionKey,
497
+ name: upload.fileName,
498
+ mimeType: upload.mimeType,
499
+ size: upload.sizeBytes,
500
+ contentHash: upload.sha256,
501
+ });
502
+ send({
503
+ type: "event",
504
+ event: "chat",
505
+ payload: {
506
+ runId,
507
+ sessionKey: chat.sessionKey,
508
+ state: "attachment",
509
+ role: "assistant",
510
+ timelineEvents: [
511
+ buildAttachmentStateChangedEvent({
512
+ gatewayId: opts.gatewayId,
513
+ sessionKey: chat.sessionKey,
514
+ turnId: runId,
515
+ runId,
516
+ messageId: `assistant-${runId}`,
517
+ partId: derivePartId({
518
+ type: upload.mimeType.startsWith("image/")
519
+ ? "image"
520
+ : upload.mimeType.startsWith("audio/")
521
+ ? "voice"
522
+ : "file",
523
+ index: 0,
524
+ }),
525
+ attachment: {
526
+ attachmentId,
527
+ state: "available",
528
+ fileId: upload.fileId,
529
+ name: upload.fileName,
530
+ mimeType: upload.mimeType,
531
+ sizeBytes: upload.sizeBytes,
532
+ url: upload.downloadUrl,
533
+ expiresAt: upload.expiresAt,
534
+ sha256: upload.sha256,
535
+ },
536
+ }),
537
+ ],
538
+ },
439
539
  });
440
540
  if (artifactKey) {
441
541
  sentArtifacts.set(artifactKey, Date.now());
@@ -447,6 +547,25 @@ export async function runHermesRelayManager(opts) {
447
547
  }
448
548
  catch (error) {
449
549
  const message = error instanceof Error ? error.message : String(error);
550
+ if (message === "hermes_chat_aborted") {
551
+ if (acknowledgedChatRun) {
552
+ const abortedPayload = buildMobileAssistantAbortedPayload({
553
+ run: acknowledgedChatRun,
554
+ includeTimelineEvents: true,
555
+ });
556
+ send({
557
+ type: "event",
558
+ event: "chat",
559
+ payload: abortedPayload,
560
+ });
561
+ publishHermesOfficeSnapshot(send, "chat", abortedPayload);
562
+ forgetActiveHermesChatRun(activeChatRuns, acknowledgedChatRun);
563
+ }
564
+ return;
565
+ }
566
+ if (acknowledgedChatRun) {
567
+ forgetActiveHermesChatRun(activeChatRuns, acknowledgedChatRun);
568
+ }
450
569
  console.error(`[hermes-relay] cmd failed method=${methodForLog || "(unknown)"} id=${requestId ?? "(no-id)"}: ${message}`);
451
570
  const setupMessage = voiceInputSetupMessage(error);
452
571
  const chatRun = setupMessage ? (acknowledgedChatRun ?? voiceInputRun) : acknowledgedChatRun;
@@ -454,6 +573,7 @@ export async function runHermesRelayManager(opts) {
454
573
  const errorPayload = buildMobileAssistantErrorPayload({
455
574
  run: chatRun,
456
575
  errorMessage: setupMessage ?? message,
576
+ includeTimelineEvents: true,
457
577
  });
458
578
  send({
459
579
  type: "event",
@@ -473,20 +593,22 @@ export async function runHermesRelayManager(opts) {
473
593
  relayWs.on("close", (code, reason) => {
474
594
  console.log(`Hermes relay connection closed: ${code} ${reason.toString()}`);
475
595
  opts.onDisconnected?.();
476
- const intentional = opts.signal?.aborted || code === 4000;
477
- resolve(!intentional);
596
+ activeChatRuns.forEach((entry) => entry.controller.abort());
597
+ activeChatRuns.clear();
598
+ resolve(shouldRetryRelayClose(code, opts.signal));
478
599
  });
479
600
  relayWs.on("error", (error) => {
480
601
  console.error("Hermes relay WebSocket error:", error.message);
481
602
  });
482
603
  });
483
604
  }
484
- export function buildHermesArtifactSendOptions(params) {
605
+ export function buildHermesArtifactUploadRequest(params) {
485
606
  return {
607
+ relayServerUrl: params.relayServerUrl,
608
+ relaySecret: params.relaySecret,
609
+ gatewayId: params.gatewayId,
610
+ sessionKey: params.sessionKey,
486
611
  filePath: params.artifactPath,
487
- gateway: params.gatewayId,
488
- session: params.sessionKey,
489
- json: true,
490
612
  sourceRunId: params.runId,
491
613
  };
492
614
  }
@@ -561,10 +683,6 @@ async function publishHermesUsageSnapshot(send) {
561
683
  console.warn(`[hermes-relay] usage snapshot failed: ${message}`);
562
684
  }
563
685
  }
564
- function buildRelayUrl(serverUrl, gatewayId, relaySecret) {
565
- const base = serverUrl.replace(/\/+$/, "").replace(/^http/, "ws");
566
- return `${base}/relay/${gatewayId}?secret=${encodeURIComponent(relaySecret)}`;
567
- }
568
686
  async function rememberMobileFileEvent(payload, recentMobileFiles, opts) {
569
687
  const block = extractFileBlock(payload);
570
688
  if (!block || block.origin !== "mobile") {
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-relay-manager.js","sourceRoot":"","sources":["../../src/hermes/hermes-relay-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hermes-relay-manager.js","sourceRoot":"","sources":["../../src/hermes/hermes-relay-manager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- export type { HermesChatResult, HermesToolLogEvent, HermesUsageSnapshot, } from "./models/hermes-runtime-types.js";
2
- export { resolveHermesBin, runHermes, runHermesWithInput, stripHermesSecurityReviewNotices, stripHermesSessionResumeNotices, } from "./models/hermes-runtime-process.js";
3
- export { handleHermesCommand } from "./models/hermes-runtime-command-router.js";
4
- export { buildHermesAssistantDeltaPayload, buildHermesRuntimeContextHint, isHermesSlashCommandMessage, parseHermesToolLogLine, runHermesChat, selectHermesSessionForCompletedChat, } from "./models/hermes-runtime-chat.js";
5
- export { collectHermesUsageSnapshot, listHermesSessions, parseHermesSessionUsageSnapshot, parseHermesStatusSnapshot, readHermesStatusSnapshot, } from "./models/hermes-runtime-usage.js";
6
- export { isDuplicateHermesCronJob } from "./models/hermes-runtime-cron.js";
7
- export { parseHermesSkillsList } from "./models/hermes-runtime-skills.js";
8
- export { extractDeliverablePaths } from "./models/hermes-runtime-artifacts.js";
1
+ export type { HermesChatResult, HermesToolLogEvent, HermesUsageSnapshot, } from "./runtime/hermes-runtime-types.js";
2
+ export { resolveHermesBin, runHermes, runHermesWithInput, stripHermesSecurityReviewNotices, stripHermesSessionResumeNotices, } from "./runtime/hermes-runtime-process.js";
3
+ export { handleHermesCommand } from "./runtime/hermes-runtime-command-router.js";
4
+ export { buildHermesAssistantDeltaPayload, buildHermesRuntimeContextHint, isHermesSlashCommandMessage, parseHermesToolLogLine, runHermesChat, selectHermesSessionForCompletedChat, } from "./runtime/hermes-runtime-chat.js";
5
+ export { runHermesChatHistory } from "./runtime/hermes-runtime-history.js";
6
+ export { collectHermesUsageSnapshot, listHermesSessions, parseHermesSessionUsageSnapshot, parseHermesStatusSnapshot, readHermesStatusSnapshot, } from "./runtime/hermes-runtime-usage.js";
7
+ export { isDuplicateHermesCronJob } from "./runtime/hermes-runtime-cron.js";
8
+ export { parseHermesSkillsList } from "./runtime/hermes-runtime-skills.js";
9
+ export { extractDeliverablePaths } from "./runtime/hermes-runtime-artifacts.js";
@@ -1,8 +1,9 @@
1
- export { resolveHermesBin, runHermes, runHermesWithInput, stripHermesSecurityReviewNotices, stripHermesSessionResumeNotices, } from "./models/hermes-runtime-process.js";
2
- export { handleHermesCommand } from "./models/hermes-runtime-command-router.js";
3
- export { buildHermesAssistantDeltaPayload, buildHermesRuntimeContextHint, isHermesSlashCommandMessage, parseHermesToolLogLine, runHermesChat, selectHermesSessionForCompletedChat, } from "./models/hermes-runtime-chat.js";
4
- export { collectHermesUsageSnapshot, listHermesSessions, parseHermesSessionUsageSnapshot, parseHermesStatusSnapshot, readHermesStatusSnapshot, } from "./models/hermes-runtime-usage.js";
5
- export { isDuplicateHermesCronJob } from "./models/hermes-runtime-cron.js";
6
- export { parseHermesSkillsList } from "./models/hermes-runtime-skills.js";
7
- export { extractDeliverablePaths } from "./models/hermes-runtime-artifacts.js";
1
+ export { resolveHermesBin, runHermes, runHermesWithInput, stripHermesSecurityReviewNotices, stripHermesSessionResumeNotices, } from "./runtime/hermes-runtime-process.js";
2
+ export { handleHermesCommand } from "./runtime/hermes-runtime-command-router.js";
3
+ export { buildHermesAssistantDeltaPayload, buildHermesRuntimeContextHint, isHermesSlashCommandMessage, parseHermesToolLogLine, runHermesChat, selectHermesSessionForCompletedChat, } from "./runtime/hermes-runtime-chat.js";
4
+ export { runHermesChatHistory } from "./runtime/hermes-runtime-history.js";
5
+ export { collectHermesUsageSnapshot, listHermesSessions, parseHermesSessionUsageSnapshot, parseHermesStatusSnapshot, readHermesStatusSnapshot, } from "./runtime/hermes-runtime-usage.js";
6
+ export { isDuplicateHermesCronJob } from "./runtime/hermes-runtime-cron.js";
7
+ export { parseHermesSkillsList } from "./runtime/hermes-runtime-skills.js";
8
+ export { extractDeliverablePaths } from "./runtime/hermes-runtime-artifacts.js";
8
9
  //# sourceMappingURL=hermes-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-runtime.js","sourceRoot":"","sources":["../../src/hermes/hermes-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,aAAa,EACb,mCAAmC,GACpC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,+BAA+B,EAC/B,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"hermes-runtime.js","sourceRoot":"","sources":["../../src/hermes/hermes-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,aAAa,EACb,mCAAmC,GACpC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,+BAA+B,EAC/B,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { existsSync } from "fs";
2
- import { mkdir, readFile, writeFile } from "fs/promises";
2
+ import { copyFile, mkdir, readFile, rename, writeFile } from "fs/promises";
3
3
  import { homedir } from "os";
4
4
  import { dirname, join } from "path";
5
- const STORE_PATH = process.env.CLAWCONNECT_HERMES_SESSION_STORE
6
- ?? join(homedir(), ".clawconnect", "hermes", "sessions.json");
7
5
  const HERMES_ID_PATTERN = /\b\d{8}_\d{6}_[A-Za-z0-9]+\b/;
6
+ let storeMutationChain = Promise.resolve();
7
+ function storePath() {
8
+ return process.env.CLAWCONNECT_HERMES_SESSION_STORE
9
+ ?? join(homedir(), ".clawconnect", "hermes", "sessions.json");
10
+ }
8
11
  export async function getMappedHermesSessionId(sessionKey) {
9
12
  if (sessionKey.startsWith("hermes:")) {
10
13
  return sessionKey.slice("hermes:".length).trim() || undefined;
@@ -13,32 +16,28 @@ export async function getMappedHermesSessionId(sessionKey) {
13
16
  return store.sessions[sessionKey]?.hermesSessionId;
14
17
  }
15
18
  export async function rememberHermesSession(sessionKey, item) {
16
- const store = await readStore();
17
- const now = new Date().toISOString();
18
- store.sessions[sessionKey] = {
19
- sessionKey,
20
- hermesSessionId: item.hermesSessionId,
21
- displayName: item.displayName ?? item.derivedTitle ?? item.hermesSessionId,
22
- preview: item.label,
23
- lastActivityAt: item.lastActivityAt ?? now,
24
- updatedAt: now,
25
- };
26
- await writeStore(store);
19
+ await mutateStore((store) => {
20
+ const now = new Date().toISOString();
21
+ store.sessions[sessionKey] = {
22
+ sessionKey,
23
+ hermesSessionId: item.hermesSessionId,
24
+ displayName: item.displayName ?? item.derivedTitle ?? item.hermesSessionId,
25
+ preview: item.label,
26
+ lastActivityAt: item.lastActivityAt ?? now,
27
+ updatedAt: now,
28
+ };
29
+ });
27
30
  }
28
31
  export async function forgetHermesSession(sessionKeyOrId, hermesSessionId) {
29
- const store = await readStore();
30
- const normalizedSessionKey = sessionKeyOrId.trim();
31
- const normalizedHermesId = hermesSessionId?.trim() || normalizedSessionKey;
32
- let changed = false;
33
- for (const [key, item] of Object.entries(store.sessions)) {
34
- if (key === normalizedSessionKey || item.sessionKey === normalizedSessionKey || item.hermesSessionId === normalizedHermesId) {
35
- delete store.sessions[key];
36
- changed = true;
32
+ await mutateStore((store) => {
33
+ const normalizedSessionKey = sessionKeyOrId.trim();
34
+ const normalizedHermesId = hermesSessionId?.trim() || normalizedSessionKey;
35
+ for (const [key, item] of Object.entries(store.sessions)) {
36
+ if (key === normalizedSessionKey || item.sessionKey === normalizedSessionKey || item.hermesSessionId === normalizedHermesId) {
37
+ delete store.sessions[key];
38
+ }
37
39
  }
38
- }
39
- if (changed) {
40
- await writeStore(store);
41
- }
40
+ });
42
41
  }
43
42
  export async function listStoredHermesSessions() {
44
43
  const store = await readStore();
@@ -110,11 +109,12 @@ function sortHermesSessions(sessions) {
110
109
  });
111
110
  }
112
111
  async function readStore() {
113
- if (!existsSync(STORE_PATH)) {
112
+ const path = storePath();
113
+ if (!existsSync(path)) {
114
114
  return { version: 1, sessions: {} };
115
115
  }
116
116
  try {
117
- const raw = await readFile(STORE_PATH, "utf8");
117
+ const raw = await readFile(path, "utf8");
118
118
  const parsed = JSON.parse(raw);
119
119
  return {
120
120
  version: 1,
@@ -122,12 +122,34 @@ async function readStore() {
122
122
  };
123
123
  }
124
124
  catch {
125
+ await quarantineCorruptStore(path);
125
126
  return { version: 1, sessions: {} };
126
127
  }
127
128
  }
128
129
  async function writeStore(store) {
129
- await mkdir(dirname(STORE_PATH), { recursive: true });
130
- await writeFile(STORE_PATH, JSON.stringify(store, null, 2), "utf8");
130
+ const path = storePath();
131
+ await mkdir(dirname(path), { recursive: true });
132
+ const tmpPath = `${path}.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2)}.tmp`;
133
+ await writeFile(tmpPath, JSON.stringify(store, null, 2), "utf8");
134
+ await rename(tmpPath, path);
135
+ }
136
+ async function mutateStore(mutator) {
137
+ const run = storeMutationChain.then(async () => {
138
+ const store = await readStore();
139
+ mutator(store);
140
+ await writeStore(store);
141
+ });
142
+ storeMutationChain = run.catch(() => undefined);
143
+ await run;
144
+ }
145
+ async function quarantineCorruptStore(path) {
146
+ try {
147
+ const quarantinePath = `${path}.corrupt-${new Date().toISOString().replace(/[:.]/g, "-")}`;
148
+ await copyFile(path, quarantinePath);
149
+ }
150
+ catch {
151
+ // Best effort only; the caller still recovers with an empty in-memory store.
152
+ }
131
153
  }
132
154
  function parseRelativeLastActive(value, now) {
133
155
  const normalized = value?.trim().toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-session-store.js","sourceRoot":"","sources":["../../src/hermes/hermes-session-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA0BrC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC;OAC1D,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AAEhE,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,UAAkB;IAC/D,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IAChE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAkB,EAAE,IAAuB;IACrF,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG;QAC3B,UAAU;QACV,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe;QAC1E,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,GAAG;QAC1C,SAAS,EAAE,GAAG;KACf,CAAC;IACF,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,cAAsB,EAAE,eAAwB;IACxF,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,oBAAoB,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,kBAAkB,GAAG,eAAe,EAAE,IAAI,EAAE,IAAI,oBAAoB,CAAC;IAC3E,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,IAAI,GAAG,KAAK,oBAAoB,IAAI,IAAI,CAAC,UAAU,KAAK,oBAAoB,IAAI,IAAI,CAAC,eAAe,KAAK,kBAAkB,EAAE,CAAC;YAC5H,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,KAAK,EAAE,IAAI,CAAC,OAAO;QACnB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS;QACrD,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,YAAiC,EACjC,cAAmC;IAEnC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,KAAK,WAAW,CAAC,eAAe,CAAC,CAAC;QAC1G,MAAM,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;eAC7E,OAAO,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,OAAO;YACL,GAAG,WAAW;YACd,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW;YAClE,YAAY,EAAE,WAAW,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY;YACrE,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK;YAChD,cAAc,EAAE,WAAW,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc;SAC5E,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE;IACtE,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/D,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC;YACT,UAAU,EAAE,UAAU,eAAe,EAAE;YACvC,eAAe;YACf,WAAW,EAAE,KAAK,IAAI,OAAO,IAAI,eAAe;YAChD,YAAY,EAAE,KAAK,IAAI,OAAO;YAC9B,KAAK,EAAE,OAAO;YACd,cAAc,EAAE,uBAAuB,CAAC,cAAc,EAAE,GAAG,CAAC;YAC5D,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA6B;IACvD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;QACtD,OAAO;YACL,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SACxF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAiB;IACzC,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAyB,EAAE,GAAS;IACnE,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACtD,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC9F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,GACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI;QAClC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM;YACtC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS;gBACzC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;IAC9B,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"hermes-session-store.js","sourceRoot":"","sources":["../../src/hermes/hermes-session-store.ts"],"names":[],"mappings":"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"}