@adhdev/daemon-standalone 0.9.82-rc.360 → 0.9.82-rc.362

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.
package/public/index.html CHANGED
@@ -7,7 +7,7 @@
7
7
  <meta name="description" content="ADHDev self-hosted dashboard for controlling AI agents" />
8
8
  <link rel="icon" href="/otter-logo.png" />
9
9
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet" />
10
- <script type="module" crossorigin src="/assets/index-CVnXcTxG.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-D2SyWV70.js"></script>
11
11
  <link rel="modulepreload" crossorigin href="/assets/vendor-BHUMCOj6.js">
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-CSQu5pix.css">
13
13
  </head>
@@ -1075,7 +1075,11 @@ function isMeshOwnedDelegateSession(session, meshId, nodeId) {
1075
1075
  if (sessionMeshId !== meshId) return false;
1076
1076
  return !sessionNodeId || sessionNodeId === nodeId;
1077
1077
  }
1078
- return settings?.launchedByCoordinator === true || Boolean(readString(settings?.meshCoordinatorDaemonId));
1078
+ const coordinatorOwned = settings?.launchedByCoordinator === true || Boolean(readString(settings?.meshCoordinatorDaemonId));
1079
+ if (!coordinatorOwned) return false;
1080
+ const lastNodeId = readString(settings?.meshLastNodeId);
1081
+ if (lastNodeId) return lastNodeId === nodeId;
1082
+ return true;
1079
1083
  }
1080
1084
  function hasRemoteRelayMetadata(session) {
1081
1085
  return Boolean(
@@ -1540,6 +1544,12 @@ async function ipcDispatchToRemoteAgent(ctx, node, args) {
1540
1544
  cliType: resolvedProviderType,
1541
1545
  action: "send_chat",
1542
1546
  message: args.message,
1547
+ // WTCLAIM (B): carry the node workspace so a sessionless dispatch can be
1548
+ // scoped to THIS node's session on the worker (findAdapter dir match /
1549
+ // findMeshNodeAdapter). Without it, a worker hosting both a base node and a
1550
+ // cloned worktree node (same daemonId) would fall through to a provider-only
1551
+ // fuzzy match and could land worktree work on the base session.
1552
+ ...node.workspace ? { dir: node.workspace } : {},
1543
1553
  ...args.meshContext ? { meshContext: args.meshContext } : {}
1544
1554
  });
1545
1555
  const dispatchPayload = unwrapCommandPayload(dispatchResult);