@integrity-labs/agt-cli 0.28.331 → 0.28.332

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.
@@ -43,7 +43,7 @@ import {
43
43
  requireHost,
44
44
  safeWriteJsonAtomic,
45
45
  setConfigHash
46
- } from "../chunk-4Y3UPOR2.js";
46
+ } from "../chunk-YNHMQ4CW.js";
47
47
  import {
48
48
  getProjectDir as getProjectDir2,
49
49
  getReadyTasks,
@@ -8386,7 +8386,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
8386
8386
  var lastVersionCheckAt = 0;
8387
8387
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
8388
8388
  var lastResponsivenessProbeAt = 0;
8389
- var agtCliVersion = true ? "0.28.331" : "dev";
8389
+ var agtCliVersion = true ? "0.28.332" : "dev";
8390
8390
  function resolveBrewPath(execFileSync2) {
8391
8391
  try {
8392
8392
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -9530,7 +9530,7 @@ async function pollCycle() {
9530
9530
  const {
9531
9531
  collectResponsivenessProbes,
9532
9532
  getResponsivenessIntervalMs
9533
- } = await import("../responsiveness-probe-OJJESVVX.js");
9533
+ } = await import("../responsiveness-probe-46XFHCPY.js");
9534
9534
  const probeIntervalMs = getResponsivenessIntervalMs();
9535
9535
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
9536
9536
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -9562,7 +9562,7 @@ async function pollCycle() {
9562
9562
  collectResponsivenessProbes,
9563
9563
  livePendingInboundOldestAgeSeconds,
9564
9564
  parkPendingInbound
9565
- } = await import("../responsiveness-probe-OJJESVVX.js");
9565
+ } = await import("../responsiveness-probe-46XFHCPY.js");
9566
9566
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
9567
9567
  const wedgeNow = /* @__PURE__ */ new Date();
9568
9568
  const liveAgents = agentState.persistentSessionAgents;
@@ -14378,6 +14378,34 @@ async function consumeDirectChatRecoveryFile(fullPath, filename, deps) {
14378
14378
  return "failed";
14379
14379
  }
14380
14380
 
14381
+ // src/inbound-delivery-ledger.ts
14382
+ import { existsSync as existsSync3, mkdirSync as mkdirSync3, readdirSync as readdirSync2, readFileSync as readFileSync3, renameSync as renameSync3, writeFileSync as writeFileSync3 } from "fs";
14383
+ import { join as join4 } from "path";
14384
+ function safeInboundId(inboundId) {
14385
+ return inboundId.replace(/[^A-Za-z0-9_-]/g, "_");
14386
+ }
14387
+ var defaultDeps = {
14388
+ mkdir: (dir) => mkdirSync3(dir, { recursive: true }),
14389
+ writeFile: (path, data) => writeFileSync3(path, data, "utf8"),
14390
+ rename: (from, to) => renameSync3(from, to),
14391
+ readdir: (dir) => readdirSync2(dir),
14392
+ readFile: (path) => readFileSync3(path, "utf8"),
14393
+ exists: (path) => existsSync3(path)
14394
+ };
14395
+ function writeInboundDeliveryLedgerEntry(dir, record2, deps = defaultDeps) {
14396
+ if (!dir || !record2.inbound_id || !record2.conv_key) return;
14397
+ const safe = safeInboundId(record2.inbound_id);
14398
+ if (!safe || safe.includes("/") || safe.includes("\\") || safe.includes("..")) return;
14399
+ try {
14400
+ deps.mkdir(dir);
14401
+ const final = join4(dir, `${safe}.json`);
14402
+ const tmp = `${final}.tmp`;
14403
+ deps.writeFile(tmp, JSON.stringify(record2));
14404
+ deps.rename(tmp, final);
14405
+ } catch {
14406
+ }
14407
+ }
14408
+
14381
14409
  // src/direct-chat-poll-guard.ts
14382
14410
  function evaluatePollGuard(state, nowMs, stuckMs) {
14383
14411
  if (!state.inFlight) return { run: true, stuck: false };
@@ -14400,14 +14428,14 @@ async function fetchWithTimeout(input, init, timeoutMs, fetchImpl = fetch) {
14400
14428
 
14401
14429
  // src/mcp-spawn-lock.ts
14402
14430
  import {
14403
- existsSync as existsSync3,
14404
- mkdirSync as mkdirSync3,
14405
- readFileSync as readFileSync3,
14406
- renameSync as renameSync3,
14431
+ existsSync as existsSync4,
14432
+ mkdirSync as mkdirSync4,
14433
+ readFileSync as readFileSync4,
14434
+ renameSync as renameSync4,
14407
14435
  unlinkSync as unlinkSync2,
14408
- writeFileSync as writeFileSync3
14436
+ writeFileSync as writeFileSync4
14409
14437
  } from "fs";
14410
- import { join as join4 } from "path";
14438
+ import { join as join5 } from "path";
14411
14439
  function defaultIsPidAlive(pid) {
14412
14440
  if (!Number.isFinite(pid) || pid <= 0) return false;
14413
14441
  try {
@@ -14425,7 +14453,7 @@ function acquireMcpSpawnLock(args) {
14425
14453
  const isPidAlive = options.isPidAlive ?? defaultIsPidAlive;
14426
14454
  const selfPid = options.selfPid ?? process.pid;
14427
14455
  const now = options.now ?? (() => (/* @__PURE__ */ new Date()).toISOString());
14428
- const path = join4(agentDir, basename);
14456
+ const path = join5(agentDir, basename);
14429
14457
  const existing = readLockHolder(path);
14430
14458
  if (existing) {
14431
14459
  if (existing.pid === selfPid) {
@@ -14435,11 +14463,11 @@ function acquireMcpSpawnLock(args) {
14435
14463
  return { kind: "blocked", path, holder: existing };
14436
14464
  }
14437
14465
  }
14438
- mkdirSync3(agentDir, { recursive: true, mode: 448 });
14466
+ mkdirSync4(agentDir, { recursive: true, mode: 448 });
14439
14467
  const tmpPath = `${path}.${selfPid}.tmp`;
14440
14468
  const payload = { pid: selfPid, started_at: now() };
14441
- writeFileSync3(tmpPath, JSON.stringify(payload), { mode: 384 });
14442
- renameSync3(tmpPath, path);
14469
+ writeFileSync4(tmpPath, JSON.stringify(payload), { mode: 384 });
14470
+ renameSync4(tmpPath, path);
14443
14471
  return { kind: "acquired", path };
14444
14472
  }
14445
14473
  function releaseMcpSpawnLock(lockPath, opts = {}) {
@@ -14454,9 +14482,9 @@ function releaseMcpSpawnLock(lockPath, opts = {}) {
14454
14482
  }
14455
14483
  }
14456
14484
  function readLockHolder(path) {
14457
- if (!existsSync3(path)) return null;
14485
+ if (!existsSync4(path)) return null;
14458
14486
  try {
14459
- const raw = readFileSync3(path, "utf8");
14487
+ const raw = readFileSync4(path, "utf8");
14460
14488
  const parsed = JSON.parse(raw);
14461
14489
  const pid = typeof parsed.pid === "number" ? parsed.pid : Number(parsed.pid);
14462
14490
  if (!Number.isFinite(pid) || pid <= 0) return null;
@@ -14469,36 +14497,36 @@ function readLockHolder(path) {
14469
14497
 
14470
14498
  // src/direct-chat-channel.ts
14471
14499
  import { homedir as homedir2 } from "os";
14472
- import { join as join7 } from "path";
14500
+ import { join as join8 } from "path";
14473
14501
  import { randomUUID } from "crypto";
14474
14502
  import {
14475
14503
  watch,
14476
- mkdirSync as mkdirSync4,
14477
- writeFileSync as writeFileSync4,
14478
- readFileSync as readFileSync5,
14479
- readdirSync as readdirSync2,
14480
- existsSync as existsSync5,
14481
- renameSync as renameSync4,
14504
+ mkdirSync as mkdirSync5,
14505
+ writeFileSync as writeFileSync5,
14506
+ readFileSync as readFileSync6,
14507
+ readdirSync as readdirSync3,
14508
+ existsSync as existsSync6,
14509
+ renameSync as renameSync5,
14482
14510
  unlinkSync as unlinkSync3
14483
14511
  } from "fs";
14484
14512
 
14485
14513
  // src/direct-chat-inbound-attachments.ts
14486
- import { dirname as dirname2, join as join5 } from "path";
14514
+ import { dirname as dirname2, join as join6 } from "path";
14487
14515
  var MAX_INBOUND_ATTACHMENT_BYTES = 10 * 1024 * 1024;
14488
14516
  var INBOUND_ATTACHMENTS_SUBDIR = "direct-chat-inbound";
14489
14517
  function resolveInboundAttachmentsDir(input) {
14490
14518
  const { codeName, turnInitiatorFile, agentId, homeDir } = input;
14491
14519
  const codeNameTrimmed = typeof codeName === "string" ? codeName.trim() : "";
14492
14520
  if (codeNameTrimmed) {
14493
- return join5(homeDir, ".augmented", codeNameTrimmed, INBOUND_ATTACHMENTS_SUBDIR);
14521
+ return join6(homeDir, ".augmented", codeNameTrimmed, INBOUND_ATTACHMENTS_SUBDIR);
14494
14522
  }
14495
14523
  const initiator = typeof turnInitiatorFile === "string" ? turnInitiatorFile.trim() : "";
14496
14524
  if (initiator) {
14497
- return join5(dirname2(initiator), INBOUND_ATTACHMENTS_SUBDIR);
14525
+ return join6(dirname2(initiator), INBOUND_ATTACHMENTS_SUBDIR);
14498
14526
  }
14499
14527
  const agentIdTrimmed = typeof agentId === "string" ? agentId.trim() : "";
14500
14528
  if (agentIdTrimmed) {
14501
- return join5(homeDir, ".augmented", agentIdTrimmed, INBOUND_ATTACHMENTS_SUBDIR);
14529
+ return join6(homeDir, ".augmented", agentIdTrimmed, INBOUND_ATTACHMENTS_SUBDIR);
14502
14530
  }
14503
14531
  return null;
14504
14532
  }
@@ -14596,11 +14624,11 @@ async function downloadInboundAttachments(attachments, dir, deps) {
14596
14624
  }
14597
14625
 
14598
14626
  // src/flags-cache-read.ts
14599
- import { existsSync as existsSync4, readFileSync as readFileSync4 } from "fs";
14627
+ import { existsSync as existsSync5, readFileSync as readFileSync5 } from "fs";
14600
14628
  import { homedir } from "os";
14601
- import { join as join6 } from "path";
14629
+ import { join as join7 } from "path";
14602
14630
  function defaultFlagsCachePath() {
14603
- return join6(homedir(), ".augmented", "flags-cache.json");
14631
+ return join7(homedir(), ".augmented", "flags-cache.json");
14604
14632
  }
14605
14633
  function envBoolean(raw) {
14606
14634
  if (raw === void 0) return void 0;
@@ -14612,8 +14640,8 @@ function envBoolean(raw) {
14612
14640
  }
14613
14641
  function cachedBoolean(key, path) {
14614
14642
  try {
14615
- if (!existsSync4(path)) return void 0;
14616
- const parsed = JSON.parse(readFileSync4(path, "utf8"));
14643
+ if (!existsSync5(path)) return void 0;
14644
+ const parsed = JSON.parse(readFileSync5(path, "utf8"));
14617
14645
  if (!parsed || typeof parsed !== "object") return void 0;
14618
14646
  const flags = parsed.flags;
14619
14647
  if (!flags || typeof flags !== "object") return void 0;
@@ -14950,7 +14978,7 @@ var DIRECT_CHAT_MAINTENANCE_COOLDOWN_MS = (() => {
14950
14978
  var AGT_HOST = process.env.AGT_HOST;
14951
14979
  var AGT_API_KEY = process.env.AGT_API_KEY;
14952
14980
  var AGT_AGENT_ID = process.env.AGT_AGENT_ID;
14953
- var DIRECT_CHAT_AGENT_DIR = AGT_AGENT_ID ? join7(homedir2(), ".augmented", AGT_AGENT_ID) : null;
14981
+ var DIRECT_CHAT_AGENT_DIR = AGT_AGENT_ID ? join8(homedir2(), ".augmented", AGT_AGENT_ID) : null;
14954
14982
  var INBOUND_ATTACHMENTS_DIR = resolveInboundAttachmentsDir({
14955
14983
  codeName: process.env.AGT_AGENT_CODE_NAME,
14956
14984
  turnInitiatorFile: process.env.AGT_TURN_INITIATOR_FILE,
@@ -14958,10 +14986,20 @@ var INBOUND_ATTACHMENTS_DIR = resolveInboundAttachmentsDir({
14958
14986
  homeDir: homedir2()
14959
14987
  });
14960
14988
  var AGT_AGENT_CODE_NAME = process.env.AGT_AGENT_CODE_NAME;
14961
- var PROGRESS_HEARTBEAT_PATH = AGT_AGENT_CODE_NAME ? join7(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, "channel-progress-heartbeat.json") : null;
14962
- var DIRECT_CHAT_PENDING_INBOUND_DIR = AGT_AGENT_CODE_NAME ? join7(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, "direct-chat-pending-inbound") : null;
14963
- var DIRECT_CHAT_RECOVERY_OUTBOX_DIR = AGT_AGENT_CODE_NAME ? join7(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, "direct-chat-recovery-outbox") : null;
14964
- var DIRECT_CHAT_RECOVERY_LEDGER_DIR = AGT_AGENT_CODE_NAME ? join7(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, ".agt-direct-chat-recovery-ledger") : null;
14989
+ var PROGRESS_HEARTBEAT_PATH = AGT_AGENT_CODE_NAME ? join8(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, "channel-progress-heartbeat.json") : null;
14990
+ var DIRECT_CHAT_PENDING_INBOUND_DIR = AGT_AGENT_CODE_NAME ? join8(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, "direct-chat-pending-inbound") : null;
14991
+ var DIRECT_CHAT_DELIVERY_LEDGER_DIR = AGT_AGENT_CODE_NAME ? join8(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, ".agt-inbound-delivery-ledger") : null;
14992
+ function recordDirectChatDelivery(sessionId, messageIds) {
14993
+ if (!sessionId) return;
14994
+ writeInboundDeliveryLedgerEntry(DIRECT_CHAT_DELIVERY_LEDGER_DIR, {
14995
+ inbound_id: directChatInboundId(sessionId, messageIds[0] ?? ""),
14996
+ source: "direct-chat",
14997
+ conv_key: sessionId,
14998
+ delivered_at: (/* @__PURE__ */ new Date()).toISOString()
14999
+ });
15000
+ }
15001
+ var DIRECT_CHAT_RECOVERY_OUTBOX_DIR = AGT_AGENT_CODE_NAME ? join8(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, "direct-chat-recovery-outbox") : null;
15002
+ var DIRECT_CHAT_RECOVERY_LEDGER_DIR = AGT_AGENT_CODE_NAME ? join8(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, ".agt-direct-chat-recovery-ledger") : null;
14965
15003
  var progressReceivedAt = /* @__PURE__ */ new Map();
14966
15004
  var directChatProgressState = { tracked: null };
14967
15005
  var directChatProgressTickRunning = false;
@@ -14978,9 +15016,9 @@ var directChatKanbanCardClient = createKanbanCardActiveClient({
14978
15016
  `)
14979
15017
  });
14980
15018
  function readProgressHeartbeat() {
14981
- if (!PROGRESS_HEARTBEAT_PATH || !existsSync5(PROGRESS_HEARTBEAT_PATH)) return null;
15019
+ if (!PROGRESS_HEARTBEAT_PATH || !existsSync6(PROGRESS_HEARTBEAT_PATH)) return null;
14982
15020
  try {
14983
- return parseProgressHeartbeat(readFileSync5(PROGRESS_HEARTBEAT_PATH, "utf-8"));
15021
+ return parseProgressHeartbeat(readFileSync6(PROGRESS_HEARTBEAT_PATH, "utf-8"));
14984
15022
  } catch {
14985
15023
  return null;
14986
15024
  }
@@ -14989,9 +15027,9 @@ function seedProgressHeartbeat() {
14989
15027
  if (!PROGRESS_HEARTBEAT_PATH) return;
14990
15028
  const tmp = `${PROGRESS_HEARTBEAT_PATH}.${process.pid}.tmp`;
14991
15029
  try {
14992
- mkdirSync4(join7(homedir2(), ".augmented", AGT_AGENT_CODE_NAME), { recursive: true });
14993
- writeFileSync4(tmp, serializeProgressHeartbeat(SEED_PROGRESS_STEP, Date.now()), { mode: 384 });
14994
- renameSync4(tmp, PROGRESS_HEARTBEAT_PATH);
15030
+ mkdirSync5(join8(homedir2(), ".augmented", AGT_AGENT_CODE_NAME), { recursive: true });
15031
+ writeFileSync5(tmp, serializeProgressHeartbeat(SEED_PROGRESS_STEP, Date.now()), { mode: 384 });
15032
+ renameSync5(tmp, PROGRESS_HEARTBEAT_PATH);
14995
15033
  } catch {
14996
15034
  try {
14997
15035
  unlinkSync3(tmp);
@@ -15147,9 +15185,9 @@ var inboundAttachmentDeps = {
15147
15185
  bytes: async () => new Uint8Array(await res.arrayBuffer())
15148
15186
  };
15149
15187
  },
15150
- ensureDir: (dir) => mkdirSync4(dir, { recursive: true }),
15151
- writeFile: (path, bytes) => writeFileSync4(path, bytes, { mode: 384 }),
15152
- joinPath: (...parts) => join7(...parts),
15188
+ ensureDir: (dir) => mkdirSync5(dir, { recursive: true }),
15189
+ writeFile: (path, bytes) => writeFileSync5(path, bytes, { mode: 384 }),
15190
+ joinPath: (...parts) => join8(...parts),
15153
15191
  warn: (msg) => process.stderr.write(`${msg}
15154
15192
  `)
15155
15193
  };
@@ -15318,6 +15356,7 @@ mcp.setRequestHandler(CallToolRequestSchema, async (req) => {
15318
15356
  }
15319
15357
  claimTracker.clear(session_id, message_ids);
15320
15358
  clearDirectChatPendingMarkersForSession(DIRECT_CHAT_PENDING_INBOUND_DIR, session_id);
15359
+ recordDirectChatDelivery(session_id, message_ids);
15321
15360
  const messageId = data.message_id;
15322
15361
  for (let i = 1; i < slices.length; i++) {
15323
15362
  await sleep(STREAM_REPLY_FLUSH_MS);
@@ -15363,6 +15402,7 @@ mcp.setRequestHandler(CallToolRequestSchema, async (req) => {
15363
15402
  }
15364
15403
  claimTracker.clear(session_id, message_ids);
15365
15404
  clearDirectChatPendingMarkersForSession(DIRECT_CHAT_PENDING_INBOUND_DIR, session_id);
15405
+ recordDirectChatDelivery(session_id, message_ids);
15366
15406
  return { content: [{ type: "text", text: "sent" }] };
15367
15407
  } catch (err) {
15368
15408
  return {
@@ -15392,6 +15432,7 @@ mcp.setRequestHandler(CallToolRequestSchema, async (req) => {
15392
15432
  }
15393
15433
  claimTracker.clear(session_id, message_ids);
15394
15434
  clearDirectChatPendingMarkersForSession(DIRECT_CHAT_PENDING_INBOUND_DIR, session_id);
15435
+ recordDirectChatDelivery(session_id, message_ids);
15395
15436
  return { content: [{ type: "text", text: "consumed" }] };
15396
15437
  } catch (err) {
15397
15438
  return {
@@ -15587,7 +15628,7 @@ var doorbellWatcher = null;
15587
15628
  var safetyNetTimer = null;
15588
15629
  if (DOORBELL_ENABLED && DIRECT_CHAT_AGENT_DIR) {
15589
15630
  try {
15590
- mkdirSync4(DIRECT_CHAT_AGENT_DIR, { recursive: true });
15631
+ mkdirSync5(DIRECT_CHAT_AGENT_DIR, { recursive: true });
15591
15632
  } catch {
15592
15633
  }
15593
15634
  const sessionState = readDirectChatSessionState(DIRECT_CHAT_AGENT_DIR, Date.now());
@@ -15642,10 +15683,10 @@ function sanitizeRecoveryText(text) {
15642
15683
  }
15643
15684
  function directChatRecoveryDeps() {
15644
15685
  return {
15645
- readFile: (p) => readFileSync5(p, "utf-8"),
15646
- renameFile: (from, to) => renameSync4(from, to),
15686
+ readFile: (p) => readFileSync6(p, "utf-8"),
15687
+ renameFile: (from, to) => renameSync5(from, to),
15647
15688
  unlinkFile: (p) => {
15648
- if (existsSync5(p)) unlinkSync3(p);
15689
+ if (existsSync6(p)) unlinkSync3(p);
15649
15690
  },
15650
15691
  sanitize: sanitizeRecoveryText,
15651
15692
  peekClaims: (sessionId) => claimTracker.peek(sessionId),
@@ -15655,8 +15696,8 @@ function directChatRecoveryDeps() {
15655
15696
  if (!DIRECT_CHAT_RECOVERY_LEDGER_DIR) return;
15656
15697
  if (markerName.includes("/") || markerName.includes("\\") || markerName.includes("..")) return;
15657
15698
  try {
15658
- const p = join7(DIRECT_CHAT_RECOVERY_LEDGER_DIR, markerName);
15659
- if (existsSync5(p)) unlinkSync3(p);
15699
+ const p = join8(DIRECT_CHAT_RECOVERY_LEDGER_DIR, markerName);
15700
+ if (existsSync6(p)) unlinkSync3(p);
15660
15701
  } catch {
15661
15702
  }
15662
15703
  },
@@ -15691,7 +15732,7 @@ async function processDirectChatRecoveryOutboxFile(filename) {
15691
15732
  if (!enabled) return;
15692
15733
  directChatRecoveryInFlight.add(filename);
15693
15734
  try {
15694
- const fullPath = join7(DIRECT_CHAT_RECOVERY_OUTBOX_DIR, filename);
15735
+ const fullPath = join8(DIRECT_CHAT_RECOVERY_OUTBOX_DIR, filename);
15695
15736
  await consumeDirectChatRecoveryFile(fullPath, filename, directChatRecoveryDeps());
15696
15737
  } catch (err) {
15697
15738
  process.stderr.write(
@@ -15705,11 +15746,11 @@ async function processDirectChatRecoveryOutboxFile(filename) {
15705
15746
  var directChatRecoveryWatcher = null;
15706
15747
  if (DIRECT_CHAT_RECOVERY_OUTBOX_DIR) {
15707
15748
  try {
15708
- mkdirSync4(DIRECT_CHAT_RECOVERY_OUTBOX_DIR, { recursive: true, mode: 448 });
15749
+ mkdirSync5(DIRECT_CHAT_RECOVERY_OUTBOX_DIR, { recursive: true, mode: 448 });
15709
15750
  } catch {
15710
15751
  }
15711
15752
  try {
15712
- for (const f of readdirSync2(DIRECT_CHAT_RECOVERY_OUTBOX_DIR)) {
15753
+ for (const f of readdirSync3(DIRECT_CHAT_RECOVERY_OUTBOX_DIR)) {
15713
15754
  if (f.endsWith(".json")) void processDirectChatRecoveryOutboxFile(f);
15714
15755
  }
15715
15756
  } catch {
@@ -15719,7 +15760,7 @@ if (DIRECT_CHAT_RECOVERY_OUTBOX_DIR) {
15719
15760
  if (!filename) return;
15720
15761
  const name = filename.toString();
15721
15762
  if (!name.endsWith(".json")) return;
15722
- if (existsSync5(join7(DIRECT_CHAT_RECOVERY_OUTBOX_DIR, name))) {
15763
+ if (existsSync6(join8(DIRECT_CHAT_RECOVERY_OUTBOX_DIR, name))) {
15723
15764
  void processDirectChatRecoveryOutboxFile(name);
15724
15765
  }
15725
15766
  });