clawconnect-agent 0.1.17 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/.env.example +22 -2
  2. package/README.md +8 -0
  3. package/README.zh-CN.md +29 -0
  4. package/dist/commands/install.js +3 -19
  5. package/dist/commands/install.js.map +1 -1
  6. package/dist/commands/send-file.js +15 -2
  7. package/dist/commands/send-file.js.map +1 -1
  8. package/dist/commands/set-token.js +2 -1
  9. package/dist/commands/set-token.js.map +1 -1
  10. package/dist/commands/status.js +34 -6
  11. package/dist/commands/status.js.map +1 -1
  12. package/dist/config/config.d.ts +1 -1
  13. package/dist/config/config.js +38 -10
  14. package/dist/config/config.js.map +1 -1
  15. package/dist/config/env.d.ts +2 -1
  16. package/dist/config/env.js +32 -2
  17. package/dist/config/env.js.map +1 -1
  18. package/dist/core/relay/chat-send-idempotency.d.ts +61 -0
  19. package/dist/core/relay/chat-send-idempotency.js +201 -0
  20. package/dist/core/relay/chat-send-idempotency.js.map +1 -0
  21. package/dist/core/relay/file-upload.d.ts +2 -0
  22. package/dist/core/relay/file-upload.js +4 -1
  23. package/dist/core/relay/file-upload.js.map +1 -1
  24. package/dist/core/relay/voice-input.js +13 -7
  25. package/dist/core/relay/voice-input.js.map +1 -1
  26. package/dist/hermes/hermes-relay-manager.d.ts +40 -0
  27. package/dist/hermes/hermes-relay-manager.js +249 -23
  28. package/dist/hermes/hermes-relay-manager.js.map +1 -1
  29. package/dist/hermes/relay/hermes-state-db-realtime.js +4 -21
  30. package/dist/hermes/relay/hermes-state-db-realtime.js.map +1 -1
  31. package/dist/hermes/runtime/hermes-runtime-api-client.js +5 -30
  32. package/dist/hermes/runtime/hermes-runtime-api-client.js.map +1 -1
  33. package/dist/hermes/runtime/hermes-runtime-api-settings.d.ts +19 -0
  34. package/dist/hermes/runtime/hermes-runtime-api-settings.js +69 -0
  35. package/dist/hermes/runtime/hermes-runtime-api-settings.js.map +1 -0
  36. package/dist/hermes/runtime/hermes-runtime-backups.js +6 -4
  37. package/dist/hermes/runtime/hermes-runtime-backups.js.map +1 -1
  38. package/dist/hermes/runtime/hermes-runtime-chat.d.ts +2 -0
  39. package/dist/hermes/runtime/hermes-runtime-chat.js +44 -4
  40. package/dist/hermes/runtime/hermes-runtime-chat.js.map +1 -1
  41. package/dist/hermes/runtime/hermes-runtime-lifecycle.js +3 -2
  42. package/dist/hermes/runtime/hermes-runtime-lifecycle.js.map +1 -1
  43. package/dist/hermes/runtime/hermes-runtime-paths.d.ts +9 -0
  44. package/dist/hermes/runtime/hermes-runtime-paths.js +67 -0
  45. package/dist/hermes/runtime/hermes-runtime-paths.js.map +1 -0
  46. package/dist/hermes/runtime/hermes-runtime-process.d.ts +2 -0
  47. package/dist/hermes/runtime/hermes-runtime-process.js +70 -30
  48. package/dist/hermes/runtime/hermes-runtime-process.js.map +1 -1
  49. package/dist/hermes/runtime/hermes-runtime-skills.js +10 -5
  50. package/dist/hermes/runtime/hermes-runtime-skills.js.map +1 -1
  51. package/dist/hermes/runtime/hermes-runtime-state-db.js +3 -18
  52. package/dist/hermes/runtime/hermes-runtime-state-db.js.map +1 -1
  53. package/dist/i18n/index.js +2 -2
  54. package/dist/i18n/index.js.map +1 -1
  55. package/dist/index.js +2 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/openclaw/backups/backup-manager.js +10 -8
  58. package/dist/openclaw/backups/backup-manager.js.map +1 -1
  59. package/dist/openclaw/config/provider-config.js +19 -19
  60. package/dist/openclaw/config/provider-config.js.map +1 -1
  61. package/dist/openclaw/handlers/local-handlers.d.ts +1 -0
  62. package/dist/openclaw/handlers/local-handlers.js +29 -45
  63. package/dist/openclaw/handlers/local-handlers.js.map +1 -1
  64. package/dist/openclaw/relay/chat-send-attachments.d.ts +6 -0
  65. package/dist/openclaw/relay/chat-send-attachments.js +89 -9
  66. package/dist/openclaw/relay/chat-send-attachments.js.map +1 -1
  67. package/dist/openclaw/relay/outgoing-media-relay.d.ts +1 -0
  68. package/dist/openclaw/relay/outgoing-media-relay.js +148 -38
  69. package/dist/openclaw/relay/outgoing-media-relay.js.map +1 -1
  70. package/dist/openclaw/relay/session-context.js +2 -3
  71. package/dist/openclaw/relay/session-context.js.map +1 -1
  72. package/dist/openclaw/relay-manager.js +82 -45
  73. package/dist/openclaw/relay-manager.js.map +1 -1
  74. package/dist/openclaw/runtime/local-runtime.d.ts +1 -0
  75. package/dist/openclaw/runtime/local-runtime.js +81 -50
  76. package/dist/openclaw/runtime/local-runtime.js.map +1 -1
  77. package/dist/openclaw/runtime/openclaw-paths.d.ts +15 -0
  78. package/dist/openclaw/runtime/openclaw-paths.js +52 -0
  79. package/dist/openclaw/runtime/openclaw-paths.js.map +1 -0
  80. package/dist/openclaw/session-store.js +3 -3
  81. package/dist/openclaw/session-store.js.map +1 -1
  82. package/dist/platform/process-invocation.d.ts +14 -0
  83. package/dist/platform/process-invocation.js +72 -0
  84. package/dist/platform/process-invocation.js.map +1 -0
  85. package/dist/platform/service-manager-windows.d.ts +14 -5
  86. package/dist/platform/service-manager-windows.js +90 -80
  87. package/dist/platform/service-manager-windows.js.map +1 -1
  88. package/dist/platform/service-manager.js +5 -5
  89. package/dist/platform/service-manager.js.map +1 -1
  90. package/dist/platform/text-file-decoder.d.ts +5 -0
  91. package/dist/platform/text-file-decoder.js +40 -0
  92. package/dist/platform/text-file-decoder.js.map +1 -0
  93. package/package.json +3 -2
@@ -1,9 +1,10 @@
1
- import { randomUUID } from "crypto";
2
- import { mkdir, writeFile } from "fs/promises";
3
- import { homedir } from "os";
1
+ import { createHash, randomUUID } from "crypto";
2
+ import { mkdir, readdir, rm, stat, writeFile } from "fs/promises";
4
3
  import { join } from "path";
5
4
  import { buildAttachmentStagingPath, resolveAttachmentMimeType, } from "../../core/relay/attachment-staging.js";
6
- const DEFAULT_OUTBOUND_DIR = join(homedir(), ".openclaw", "media", "outbound");
5
+ import { resolveOpenClawStateDir } from "../runtime/openclaw-paths.js";
6
+ const DEFAULT_STAGING_TTL_MS = 24 * 60 * 60 * 1000;
7
+ const USER_MEDIA_MARKER_PREFIX_RE = /\[media attached:/gi;
7
8
  const CLIENT_ONLY_CHAT_SEND_FIELDS = [
8
9
  "runId",
9
10
  "run_id",
@@ -21,20 +22,22 @@ export async function prepareChatSendParams(rawParams, options) {
21
22
  delete params[key];
22
23
  }
23
24
  params.deliver = false;
25
+ if (typeof params.message === "string") {
26
+ params.message = sanitizeUserSuppliedMediaMarkers(params.message);
27
+ }
24
28
  const attachments = Array.isArray(params.attachments) ? params.attachments : [];
25
29
  if (attachments.length === 0) {
26
30
  return params;
27
31
  }
28
- const outboundDir = options?.outboundDir ?? DEFAULT_OUTBOUND_DIR;
32
+ const outboundDir = options?.outboundDir ?? join(resolveOpenClawStateDir(), "media", "outbound");
29
33
  const logger = options?.logger ?? console;
30
34
  const fileReferences = [];
35
+ const stagingErrors = [];
36
+ await cleanupExpiredAttachmentStagingDirs(outboundDir, options?.nowMs ?? Date.now(), options?.stagingTtlMs ?? DEFAULT_STAGING_TTL_MS);
31
37
  await mkdir(outboundDir, { recursive: true });
32
38
  for (const attachment of attachments) {
33
39
  try {
34
- if (typeof attachment?.content !== "string" || attachment.content.length === 0) {
35
- throw new Error("attachment content is missing");
36
- }
37
- const buffer = Buffer.from(attachment.content, "base64");
40
+ const buffer = await resolveAttachmentBytes(attachment, options);
38
41
  const stagingId = randomUUID();
39
42
  const stagedPath = buildAttachmentStagingPath(attachment, outboundDir, stagingId);
40
43
  const mimeType = resolveAttachmentMimeType(attachment);
@@ -45,14 +48,91 @@ export async function prepareChatSendParams(rawParams, options) {
45
48
  }
46
49
  catch (error) {
47
50
  logger.error(`[relay] Failed to save attachment: ${String(error)}`);
51
+ stagingErrors.push(error instanceof Error ? error : new Error(String(error)));
48
52
  }
49
53
  }
54
+ if (stagingErrors.length > 0) {
55
+ throw new Error(`attachment staging failed: ${stagingErrors[0]?.message ?? "unknown error"}`);
56
+ }
50
57
  if (fileReferences.length > 0) {
51
58
  const refs = fileReferences.join("\n");
52
59
  const message = typeof params.message === "string" ? params.message : "";
53
60
  params.message = message ? `${message}\n\n${refs}` : refs;
54
61
  logger.log("[relay] Added file references to message");
55
62
  }
63
+ delete params.attachments;
56
64
  return params;
57
65
  }
66
+ async function resolveAttachmentBytes(attachment, options) {
67
+ const fileId = optionalString(attachment.fileId);
68
+ if (!fileId) {
69
+ if (typeof attachment.content !== "string" || attachment.content.length === 0) {
70
+ throw new Error("attachment content is missing");
71
+ }
72
+ return Buffer.from(attachment.content, "base64");
73
+ }
74
+ const relayServerUrl = optionalString(options?.relayServerUrl);
75
+ const relaySecret = optionalString(options?.relaySecret);
76
+ if (!relayServerUrl || !relaySecret) {
77
+ throw new Error("canonical attachment relay credentials are missing");
78
+ }
79
+ const fetchImpl = options?.fetchImpl ?? fetch;
80
+ const relayBaseUrl = new URL(relayServerUrl);
81
+ const downloadUrl = new URL(`/api/mobile/files/${encodeURIComponent(fileId)}`, relayBaseUrl);
82
+ const response = await fetchImpl(downloadUrl, {
83
+ headers: {
84
+ Accept: "application/octet-stream",
85
+ "X-Relay-Secret": relaySecret,
86
+ },
87
+ });
88
+ if (!response.ok) {
89
+ throw new Error(`canonical attachment download failed (${response.status})`);
90
+ }
91
+ const buffer = Buffer.from(await response.arrayBuffer());
92
+ const expectedSize = optionalPositiveInteger(attachment.sizeBytes);
93
+ if (expectedSize !== undefined && buffer.length !== expectedSize) {
94
+ throw new Error("canonical attachment size mismatch");
95
+ }
96
+ const expectedSha256 = optionalString(attachment.sha256)?.toLowerCase();
97
+ if (expectedSha256) {
98
+ const actualSha256 = createHash("sha256").update(buffer).digest("hex");
99
+ if (actualSha256 !== expectedSha256) {
100
+ throw new Error("canonical attachment sha256 mismatch");
101
+ }
102
+ }
103
+ return buffer;
104
+ }
105
+ function sanitizeUserSuppliedMediaMarkers(message) {
106
+ // OpenClaw 的媒体标记只能由本桥接层生成;用户输入同形文本必须失活,
107
+ // 否则历史恢复可能把普通文字误解释为 Host 本地文件路径。
108
+ return message.replace(USER_MEDIA_MARKER_PREFIX_RE, "[media attached:");
109
+ }
110
+ export async function cleanupExpiredAttachmentStagingDirs(outboundDir, nowMs = Date.now(), ttlMs = DEFAULT_STAGING_TTL_MS) {
111
+ let entries;
112
+ try {
113
+ entries = await readdir(outboundDir, { withFileTypes: true });
114
+ }
115
+ catch {
116
+ return;
117
+ }
118
+ await Promise.all(entries.filter((entry) => entry.isDirectory() && !entry.isSymbolicLink()).map(async (entry) => {
119
+ const directory = join(outboundDir, entry.name);
120
+ try {
121
+ const metadata = await stat(directory);
122
+ if (nowMs - metadata.mtimeMs >= Math.max(0, ttlMs)) {
123
+ await rm(directory, { recursive: true, force: true });
124
+ }
125
+ }
126
+ catch {
127
+ // 清理失败不能阻断当前聊天发送;下一轮发送会继续尝试。
128
+ }
129
+ }));
130
+ }
131
+ function optionalString(value) {
132
+ return typeof value === "string" && value.trim() ? value.trim() : undefined;
133
+ }
134
+ function optionalPositiveInteger(value) {
135
+ const number = Number(value);
136
+ return Number.isFinite(number) && number >= 0 ? Math.floor(number) : undefined;
137
+ }
58
138
  //# sourceMappingURL=chat-send-attachments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-send-attachments.js","sourceRoot":"","sources":["../../../src/openclaw/relay/chat-send-attachments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-send-attachments.js","sourceRoot":"","sources":["../../../src/openclaw/relay/chat-send-attachments.ts"],"names":[],"mappings":"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"}
@@ -10,3 +10,4 @@ export type OutgoingMediaRelayOptions = {
10
10
  };
11
11
  export declare function relayOutgoingMediaInPayload(payload: unknown, opts: OutgoingMediaRelayOptions): Promise<unknown>;
12
12
  export declare function relayOutgoingMediaInHistoryResponse(response: unknown, opts: OutgoingMediaRelayOptions): Promise<unknown>;
13
+ export declare function extractDeliverablePathCandidates(text: string): string[];
@@ -1,10 +1,14 @@
1
1
  import { existsSync } from "fs";
2
- import { readFile } from "fs/promises";
2
+ import { readFile, stat } from "fs/promises";
3
3
  import { homedir } from "os";
4
4
  import { extname, join, resolve } from "path";
5
+ import { createHash } from "crypto";
5
6
  import { uploadFileToRelay } from "../../core/relay/file-upload.js";
7
+ import { resolveOpenClawStateDir } from "../runtime/openclaw-paths.js";
6
8
  const OUTGOING_MEDIA_RE = /\/api\/chat\/media\/outgoing\/[^/]+\/([^/]+)\/full(?:$|[?#])/;
7
- const OPENCLAW_MEDIA_CONTROL_PREFIX_RE = /^MEDIA:\s*(?:file:\/\/|~\/|\/)/i;
9
+ const OPENCLAW_MEDIA_CONTROL_PREFIX_RE = /^MEDIA:\s*(?:file:\/\/|~[\\/]|\/|[A-Za-z]:[\\/]|\\\\)/i;
10
+ const OPENCLAW_INPUT_MEDIA_MARKER_RE = /\[media attached:\s+(.+?)\s+\(([^)\r\n]+)\)\s+\|\s+(.+?)\]/g;
11
+ const inFlightUploadsByCache = new WeakMap();
8
12
  export async function relayOutgoingMediaInPayload(payload, opts) {
9
13
  if (!payload || typeof payload !== "object" || Array.isArray(payload)) {
10
14
  return payload;
@@ -87,7 +91,8 @@ export async function relayOutgoingMediaInHistoryResponse(response, opts) {
87
91
  async function relayOutgoingMediaInMessageList(messages, sessionKey, opts) {
88
92
  let changed = false;
89
93
  const nextMessages = await Promise.all(messages.map(async (message) => {
90
- const wrapperInput = sessionKey ? { sessionKey, message } : { message };
94
+ const restoredMessage = restoreOpenClawInputMediaInHistoryMessage(message);
95
+ const wrapperInput = sessionKey ? { sessionKey, message: restoredMessage } : { message: restoredMessage };
91
96
  const wrapper = await relayOutgoingMediaInPayload(wrapperInput, opts);
92
97
  const nextMessage = wrapper.message ?? message;
93
98
  changed ||= nextMessage !== message;
@@ -95,6 +100,43 @@ async function relayOutgoingMediaInMessageList(messages, sessionKey, opts) {
95
100
  }));
96
101
  return { messages: nextMessages, changed };
97
102
  }
103
+ function restoreOpenClawInputMediaInHistoryMessage(message) {
104
+ if (!message || typeof message !== "object" || Array.isArray(message))
105
+ return message;
106
+ const record = message;
107
+ if (record.role !== "user" || !Array.isArray(record.content) || record.content.some(isUploadedMediaBlock)) {
108
+ return message;
109
+ }
110
+ const sourceRunId = firstString(record.runId, record.turnId, record.idempotencyKey, record.clientMessageId, record.messageId, record.id);
111
+ if (!sourceRunId)
112
+ return message;
113
+ const mediaPaths = [];
114
+ let changed = false;
115
+ const sanitizedContent = record.content.flatMap((block) => {
116
+ if (!block || typeof block !== "object" || Array.isArray(block))
117
+ return [block];
118
+ const contentBlock = block;
119
+ if (contentBlock.type !== "text" || typeof contentBlock.text !== "string")
120
+ return [block];
121
+ const text = contentBlock.text;
122
+ const sanitized = text.replace(OPENCLAW_INPUT_MEDIA_MARKER_RE, (_marker, firstPath, _mime, secondPath) => {
123
+ const path = secondPath.trim() || firstPath.trim();
124
+ if (isAbsoluteHostPath(path))
125
+ mediaPaths.push(path);
126
+ return "";
127
+ }).replace(/\n{3,}/g, "\n\n").trim();
128
+ if (sanitized === text)
129
+ return [block];
130
+ changed = true;
131
+ return sanitized ? [{ ...contentBlock, text: sanitized }] : [];
132
+ });
133
+ if (!changed || mediaPaths.length === 0)
134
+ return message;
135
+ // 用户入站附件在 chat.send 前已经由 Relay 持久化为 canonical timeline block。
136
+ // Host history 这里只移除 OpenClaw 内部路径标记,绝不能读取或重新上传路径;
137
+ // Relay 会用稳定 sourceRunId 把原始 canonical 附件合回这条 user 记录。
138
+ return { ...record, content: sanitizedContent };
139
+ }
98
140
  async function relayOutgoingMediaBlock(block, opts) {
99
141
  if (!block || typeof block !== "object" || Array.isArray(block)) {
100
142
  return block;
@@ -112,20 +154,22 @@ async function relayOutgoingMediaBlock(block, opts) {
112
154
  if (!filePath || !sessionKey) {
113
155
  return block;
114
156
  }
115
- const cacheKey = `${opts.gatewayId}:${sessionKey}:${attachmentId}`;
116
- let upload = opts.cache?.get(cacheKey);
117
- if (!upload) {
118
- upload = await uploadFileToRelay({
119
- relayServerUrl: opts.relayServerUrl,
120
- relaySecret: opts.relaySecret,
121
- gatewayId: opts.gatewayId,
122
- sessionKey,
123
- filePath,
124
- senderDisplayName: opts.senderDisplayName,
125
- sourceRunId: opts.sourceRunId,
126
- });
127
- opts.cache?.set(cacheKey, upload);
128
- }
157
+ const cacheKey = await outgoingFileCacheKey({
158
+ gatewayId: opts.gatewayId,
159
+ sessionKey,
160
+ identity: `attachment:${attachmentId}`,
161
+ filePath,
162
+ sourceRunId: opts.sourceRunId,
163
+ });
164
+ const upload = await cachedUpload(opts, cacheKey, {
165
+ relayServerUrl: opts.relayServerUrl,
166
+ relaySecret: opts.relaySecret,
167
+ gatewayId: opts.gatewayId,
168
+ sessionKey,
169
+ filePath,
170
+ senderDisplayName: opts.senderDisplayName,
171
+ sourceRunId: opts.sourceRunId,
172
+ });
129
173
  return {
130
174
  ...source,
131
175
  type: typeof source.type === "string" && source.type.trim() ? source.type : "image",
@@ -168,7 +212,7 @@ function payloadSourceRunId(payload) {
168
212
  return firstString(payload.sourceRunId, payload.source_run_id, payload.runId, payload.turnId, payload.messageId, payload.id, messageRecord?.sourceRunId, messageRecord?.source_run_id, messageRecord?.runId, messageRecord?.turnId, messageRecord?.messageId, messageRecord?.id);
169
213
  }
170
214
  async function readOutgoingMediaRecord(attachmentId, recordsDir) {
171
- const root = recordsDir ?? join(homedir(), ".openclaw", "media", "outgoing", "records");
215
+ const root = recordsDir ?? join(resolveOpenClawStateDir(), "media", "outgoing", "records");
172
216
  const raw = await readFile(join(root, `${attachmentId}.json`), "utf8");
173
217
  return JSON.parse(raw);
174
218
  }
@@ -201,21 +245,23 @@ async function relayLocalArtifactPathsInContent(content, payload, opts) {
201
245
  const blocks = [];
202
246
  for (const filePath of paths) {
203
247
  try {
204
- const cacheKey = `${opts.gatewayId}:${sessionKey}:artifact:${filePath}`;
205
- let upload = opts.cache?.get(cacheKey);
206
- if (!upload) {
207
- const request = {
208
- relayServerUrl: opts.relayServerUrl,
209
- relaySecret: opts.relaySecret,
210
- gatewayId: opts.gatewayId,
211
- sessionKey,
212
- filePath,
213
- senderDisplayName: opts.senderDisplayName,
214
- sourceRunId: runId,
215
- };
216
- upload = await uploadFileToRelay(request);
217
- opts.cache?.set(cacheKey, upload);
218
- }
248
+ const cacheKey = await outgoingFileCacheKey({
249
+ gatewayId: opts.gatewayId,
250
+ sessionKey,
251
+ identity: `artifact:${filePath}`,
252
+ filePath,
253
+ sourceRunId: runId,
254
+ });
255
+ const request = {
256
+ relayServerUrl: opts.relayServerUrl,
257
+ relaySecret: opts.relaySecret,
258
+ gatewayId: opts.gatewayId,
259
+ sessionKey,
260
+ filePath,
261
+ senderDisplayName: opts.senderDisplayName,
262
+ sourceRunId: runId,
263
+ };
264
+ const upload = await cachedUpload(opts, cacheKey, request);
219
265
  blocks.push(uploadToContentBlock(upload));
220
266
  }
221
267
  catch (error) {
@@ -240,7 +286,7 @@ function uploadToContentBlock(upload) {
240
286
  : "file";
241
287
  return compact({
242
288
  type,
243
- attachmentId: upload.fileId,
289
+ attachmentId: stableRelayAttachmentId(upload),
244
290
  fileId: upload.fileId,
245
291
  fileName: upload.fileName,
246
292
  name: upload.fileName,
@@ -256,12 +302,66 @@ function uploadToContentBlock(upload) {
256
302
  downloadPath: upload.downloadPath,
257
303
  expiresAt: upload.expiresAt,
258
304
  sourceRunId: upload.sourceRunId,
305
+ sha256: upload.sha256,
306
+ contentHash: upload.sha256,
259
307
  gatewayId: upload.gatewayId,
260
308
  sessionKey: upload.sessionKey,
261
309
  status: "available",
262
310
  transferState: "available",
263
311
  });
264
312
  }
313
+ function stableRelayAttachmentId(upload) {
314
+ const digest = createHash("sha256")
315
+ .update(JSON.stringify([
316
+ "relay-file-attachment-v3",
317
+ upload.gatewayId.trim(),
318
+ upload.sessionKey.trim(),
319
+ upload.fileId.trim(),
320
+ ]))
321
+ .digest("hex")
322
+ .slice(0, 24);
323
+ return `att_${digest}`;
324
+ }
325
+ async function outgoingFileCacheKey(input) {
326
+ const metadata = await stat(input.filePath);
327
+ return JSON.stringify([
328
+ "openclaw-outgoing-file-v2",
329
+ input.gatewayId,
330
+ input.sessionKey,
331
+ input.identity,
332
+ input.sourceRunId?.trim() || "no-source-run",
333
+ metadata.size,
334
+ metadata.mtimeMs,
335
+ metadata.ctimeMs,
336
+ ]);
337
+ }
338
+ async function cachedUpload(opts, cacheKey, request) {
339
+ const cached = opts.cache?.get(cacheKey);
340
+ if (cached)
341
+ return cached;
342
+ const idempotencyKey = `openclaw-outgoing:${createHash("sha256").update(cacheKey).digest("hex")}`;
343
+ if (!opts.cache) {
344
+ return uploadFileToRelay({ ...request, idempotencyKey });
345
+ }
346
+ let inFlight = inFlightUploadsByCache.get(opts.cache);
347
+ if (!inFlight) {
348
+ inFlight = new Map();
349
+ inFlightUploadsByCache.set(opts.cache, inFlight);
350
+ }
351
+ const existing = inFlight.get(cacheKey);
352
+ if (existing)
353
+ return existing;
354
+ const pending = uploadFileToRelay({ ...request, idempotencyKey });
355
+ inFlight.set(cacheKey, pending);
356
+ try {
357
+ const uploaded = await pending;
358
+ opts.cache.set(cacheKey, uploaded);
359
+ return uploaded;
360
+ }
361
+ finally {
362
+ inFlight.delete(cacheKey);
363
+ }
364
+ }
265
365
  function sanitizeOpenClawMediaControlBlocks(content) {
266
366
  let changed = false;
267
367
  const nextContent = [];
@@ -305,6 +405,11 @@ function stripOpenClawMediaControlLines(text) {
305
405
  .trim();
306
406
  return stripped;
307
407
  }
408
+ function isAbsoluteHostPath(value) {
409
+ return value.startsWith("/")
410
+ || /^[A-Za-z]:[\\/]/.test(value)
411
+ || /^\\\\[^\\/]/.test(value);
412
+ }
308
413
  function compact(record) {
309
414
  return Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
310
415
  }
@@ -321,17 +426,22 @@ const DELIVERABLE_EXTENSION_PATTERN = DELIVERABLE_EXTENSIONS
321
426
  .map((extension) => extension.slice(1).replace(/[.*+?^${}()|[\]\\]/g, "\\$&"))
322
427
  .sort((a, b) => b.length - a.length)
323
428
  .join("|");
324
- const DELIVERABLE_PATH_REGEX_SOURCE = String.raw `(?:~|\/)[^\n"'` + "`" + String.raw `<>|]*?\.(?:${DELIVERABLE_EXTENSION_PATTERN})(?=$|[\s).,"'` + "`" + String.raw `,。;;::!??])`;
429
+ const DELIVERABLE_PATH_START = String.raw `(?:~[\\/]|\/|[A-Za-z]:[\\/]|\\\\[^\\/\s"'` + "`" + String.raw `<>|]+[\\/])`;
430
+ const DELIVERABLE_PATH_REGEX_SOURCE = DELIVERABLE_PATH_START + String.raw `[^\n"'` + "`" + String.raw `<>|]*?\.(?:${DELIVERABLE_EXTENSION_PATTERN})(?=$|[\s).,"'` + "`" + String.raw `,。;;::!??])`;
325
431
  const DELIVERABLE_PATH_REGEX = new RegExp(String.raw `(?:^|[\s("'` + "`" + String.raw `::])(${DELIVERABLE_PATH_REGEX_SOURCE})`, "gi");
432
+ export function extractDeliverablePathCandidates(text) {
433
+ return [...text.matchAll(DELIVERABLE_PATH_REGEX)].map((match) => match[1]);
434
+ }
326
435
  function extractDeliverablePaths(text, userMessage) {
327
436
  if (userMessage !== undefined && !hasDeliverableSendIntent(userMessage)) {
328
437
  return [];
329
438
  }
330
439
  const allowed = new Set(DELIVERABLE_EXTENSIONS);
331
440
  const paths = new Set();
332
- for (const match of text.matchAll(DELIVERABLE_PATH_REGEX)) {
333
- const rawPath = match[1];
334
- const absolutePath = rawPath.startsWith("~/") ? join(homedir(), rawPath.slice(2)) : rawPath;
441
+ for (const rawPath of extractDeliverablePathCandidates(text)) {
442
+ const absolutePath = rawPath.startsWith("~/") || rawPath.startsWith("~\\")
443
+ ? join(homedir(), rawPath.slice(2))
444
+ : rawPath;
335
445
  if (allowed.has(extname(absolutePath).toLowerCase()) && existsSync(resolve(absolutePath))) {
336
446
  paths.add(resolve(absolutePath));
337
447
  }
@@ -1 +1 @@
1
- {"version":3,"file":"outgoing-media-relay.js","sourceRoot":"","sources":["../../../src/openclaw/relay/outgoing-media-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outgoing-media-relay.js","sourceRoot":"","sources":["../../../src/openclaw/relay/outgoing-media-relay.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { homedir } from "os";
2
1
  import { isAbsolute, join, resolve } from "path";
3
2
  import { open as openFile, readFile } from "fs/promises";
3
+ import { resolveOpenClawStateDir } from "../runtime/openclaw-paths.js";
4
4
  const TRANSCRIPT_TAIL_CHUNK_BYTES = 64 * 1024;
5
5
  export function buildContextUsageFingerprint(snapshot) {
6
6
  return JSON.stringify({
@@ -177,8 +177,7 @@ function resolveAgentIdFromSessionKey(sessionKey, defaults) {
177
177
  return defaults.defaultAgentId || "main";
178
178
  }
179
179
  function resolveOpenClawHome() {
180
- const configured = process.env.CLAWCONNECT_OPENCLAW_HOME?.trim();
181
- return configured || join(homedir(), ".openclaw");
180
+ return resolveOpenClawStateDir();
182
181
  }
183
182
  function resolveSessionsDir(sessionKey, defaults) {
184
183
  return join(resolveOpenClawHome(), "agents", resolveAgentIdFromSessionKey(sessionKey, defaults), "sessions");
@@ -1 +1 @@
1
- {"version":3,"file":"session-context.js","sourceRoot":"","sources":["../../../src/openclaw/relay/session-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-context.js","sourceRoot":"","sources":["../../../src/openclaw/relay/session-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAC;AAiB9C,MAAM,UAAU,4BAA4B,CAAC,QAA8B;IACzE,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI;QAC3C,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI;QACpE,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI;KAC5C,CAAC,CAAC;AACL,CAAC;AAkCD,MAAM,CAAC,MAAM,gCAAgC,GAA2B;IACtE,cAAc,EAAE,MAAM;IACtB,OAAO,EAAE,MAAM;CAChB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAAkB,EAClB,QAAgC;IAEhC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAI,YAAY,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrH,IAAI,YAAY,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,YAAgC,CAAC;IACrC,IAAI,WAA+B,CAAC;IAEpC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3G,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,CAAC,IAAI,eAAe,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC;gBACpG,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;YAC9C,CAAC;YACD,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;YAC5C,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC3C,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC;YACvC,CAAC;QACH,CAAC;IACL,CAAC;IAED,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACnD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACrD,YAAY,GAAG,YAAY,CAAC;QAC9B,CAAC;QACD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACnD,WAAW,GAAG,YAAY,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAU;QACV,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAmB;IAC/D,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,UAAqC,CAAC;IACtD,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1F,CAAC,CAAE,OAAO,CAAC,QAAoC;QAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,kBAAkB,GACtB,QAAQ,EAAE,eAAe,IAAI,OAAO,QAAQ,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QACnH,CAAC,CAAE,QAAQ,CAAC,eAA2C;QACvD,CAAC,CAAC,QAAQ,EAAE,eAAe,IAAI,OAAO,QAAQ,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;YACrH,CAAC,CAAE,QAAQ,CAAC,eAA2C;YACvD,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,cAAc,GAClB,OAAO,kBAAkB,EAAE,cAAc,KAAK,QAAQ;QACpD,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1C,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,OAAO,kBAAkB,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzG,MAAM,cAAc,GAAG,OAAO,kBAAkB,EAAE,cAAc,KAAK,QAAQ;QAC3E,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1C,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO;YACL,cAAc;YACd,OAAO,EAAE,OAAO,IAAI,MAAM;YAC1B,cAAc,EAAE,cAAc,IAAI,SAAS;SAC5C,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QACpF,CAAC,CAAE,OAAO,CAAC,MAAkC;QAC7C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GACX,MAAM,EAAE,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACrF,CAAC,CAAE,MAAM,CAAC,OAAmC;QAC7C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,KAAK,GAAG,OAAO,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO;YACL,cAAc,EAAE,QAAQ;YACxB,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAiB,EAAE,QAAgC;IACxF,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC;IAC3C,MAAM,WAAW,GACf,OAAO,KAAK,MAAM;QAClB,OAAO,KAAK,OAAO;QACnB,OAAO,KAAK,QAAQ,CAAC,cAAc;QACnC,CAAC,QAAQ,CAAC,cAAc;YACtB,CAAC,CAAC,OAAO,KAAK,SAAS,QAAQ,CAAC,cAAc,OAAO,IAAI,OAAO,KAAK,SAAS,QAAQ,CAAC,cAAc,IAAI,OAAO,EAAE;YAClH,CAAC,CAAC,KAAK,CAAC,CAAC;IAEb,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAAc,EACd,SAAkB,EAClB,QAAgC;IAEhC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,SAAoC,CAAC;IACpD,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,UAAkB,EAClB,QAAgC;IAEhC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1E,IAAI,OAAO,oBAAoB,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACxF,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;QACxB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,eAAe,GACnB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC1E,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;QAC1B,CAAC,CAAC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAClF,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;YAC7B,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAU,EAAE,kBAAkB;QAC9B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,qBAAqB,CAAC,kBAAkB,EAAE,SAAS,IAAI,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;KAC5F,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7F,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED,SAAS,4BAA4B,CAAC,UAAkB,EAAE,QAAgC;IACxF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACf,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC;AAC3C,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,uBAAuB,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB,EAAE,QAAgC;IAC9E,OAAO,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,4BAA4B,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;AAC/G,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,UAAkB,EAClB,QAAgC;IAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsC,CAAC;QACpE,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,OAAO,GAAG,4BAA4B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,OAAO,IAAI,UAAU,EAAE,CAAC;QACrC,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,CAAC;YACxD,IAAI,mBAAmB,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;gBACnE,OAAO,mBAAmB,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,cAAc,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC;YACnD,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpF,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrF,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC/C,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;YAC7F,OAAO,UAAU,IAAI,IAAI,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAiB;IAC7C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,QAAmC,CAAC;IAClD,MAAM,aAAa,GACjB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;QACxD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;QACzD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAE/D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,KAAK,GACT,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;QACjC,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC;QACvC,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,YAAY,GAChB,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC;QACxC,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAE5C,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QACzB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;QAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;QACjC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;QACnC,KAAK;QACL,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA4B;IACtD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,YAAY,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;AAC1D,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAkB,EAClB,SAAiB,EACjB,KAA+B,EAC/B,QAAgC;IAEhC,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,SAAS,GACb,OAAO,KAAK,EAAE,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC3E,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;QAC1B,CAAC,CAAC,OAAO,KAAK,EAAE,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACnF,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;YAC7B,CAAC,CAAC,EAAE,CAAC;IAEX,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,QAAQ,GAAG,2BAA2B;IAClF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,UAAkB,EAClB,SAAiB,EACjB,KAA+B,EAC/B,QAAgC;IAEhC,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE9E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,SAA4C,CAAC;QACjD,IAAI,KAAyB,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;gBAC9D,MAAM,OAAO,GACX,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;oBACpF,CAAC,CAAE,MAAM,CAAC,OAAmC;oBAC7C,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,IAAI,KAAK,EAAE,CAAC;oBACV,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC;gBACD,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC/B,CAAC;qBAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9E,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;QAC5G,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;QAEjE,OAAO;YACL,YAAY;YACZ,KAAK;YACL,KAAK;SACN,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA+B;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IACE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,EAC1D,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAc;IAClD,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,cAAc,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,OAAO,CAAC;AAC9G,CAAC"}