adhdev 0.9.77-rc.28 → 0.9.77-rc.30

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/dist/cli/index.js CHANGED
@@ -95955,7 +95955,7 @@ var init_adhdev_daemon = __esm({
95955
95955
  init_version();
95956
95956
  init_src();
95957
95957
  init_runtime_defaults();
95958
- pkgVersion = resolvePackageVersion({ injectedVersion: "0.9.77-rc.28" });
95958
+ pkgVersion = resolvePackageVersion({ injectedVersion: "0.9.77-rc.30" });
95959
95959
  AdhdevDaemon = class _AdhdevDaemon {
95960
95960
  localHttpServer = null;
95961
95961
  localWss = null;
package/dist/index.js CHANGED
@@ -64791,7 +64791,7 @@ var init_adhdev_daemon = __esm({
64791
64791
  init_version();
64792
64792
  init_src();
64793
64793
  init_runtime_defaults();
64794
- pkgVersion = resolvePackageVersion({ injectedVersion: "0.9.77-rc.28" });
64794
+ pkgVersion = resolvePackageVersion({ injectedVersion: "0.9.77-rc.30" });
64795
64795
  AdhdevDaemon = class _AdhdevDaemon {
64796
64796
  localHttpServer = null;
64797
64797
  localWss = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "adhdev",
3
- "version": "0.9.77-rc.28",
3
+ "version": "0.9.77-rc.30",
4
4
  "description": "ADHDev — Agent Dashboard Hub for Dev. Remote-control AI coding agents from anywhere.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -47,7 +47,7 @@
47
47
  "node": ">=18"
48
48
  },
49
49
  "dependencies": {
50
- "@adhdev/daemon-core": "0.9.77-rc.28",
50
+ "@adhdev/daemon-core": "0.9.77-rc.30",
51
51
  "@adhdev/ghostty-vt-node": "*",
52
52
  "@modelcontextprotocol/sdk": "^1.0.0",
53
53
  "@xterm/addon-serialize": "^0.14.0",
@@ -57489,8 +57489,9 @@ async function ipcDispatchToRemoteAgent(ctx, node, args) {
57489
57489
  if (!resolvedProviderType) {
57490
57490
  resolvedProviderType = targetSession.providerType || targetSession.cliType || "";
57491
57491
  }
57492
+ } else {
57492
57493
  }
57493
- } catch {
57494
+ } catch (e) {
57494
57495
  }
57495
57496
  }
57496
57497
  if (!resolvedProviderType) {
@@ -57498,7 +57499,6 @@ async function ipcDispatchToRemoteAgent(ctx, node, args) {
57498
57499
  }
57499
57500
  try {
57500
57501
  await transport.meshCommand(daemonId, "agent_command", {
57501
- // Precise match when sessionId known, fuzzy type match otherwise
57502
57502
  ...sessionId ? { targetSessionId: sessionId } : {},
57503
57503
  agentType: resolvedProviderType,
57504
57504
  cliType: resolvedProviderType,
@@ -57939,22 +57939,38 @@ async function meshListNodes(ctx) {
57939
57939
  async function meshEnqueueTask(ctx, args) {
57940
57940
  try {
57941
57941
  const task = enqueueTask(ctx.mesh.id, args.message);
57942
- if (isLocalTransport(ctx.transport)) {
57942
+ if (isLocalTransport(ctx.transport) && !(ctx.transport instanceof IpcTransport)) {
57943
57943
  ctx.transport.command("trigger_mesh_queue", { meshId: ctx.mesh.id }).catch(() => {
57944
57944
  });
57945
- if (ctx.transport instanceof IpcTransport) {
57946
- for (const node of ctx.mesh.nodes) {
57947
- const isLocalNode = ctx.localMachineId && node.machineId === ctx.localMachineId || ctx.localDaemonId && node.daemonId === ctx.localDaemonId;
57948
- if (!isLocalNode && node.daemonId) {
57949
- ctx.transport.meshCommand(
57950
- node.daemonId,
57951
- "trigger_mesh_queue",
57952
- { meshId: ctx.mesh.id }
57953
- ).catch(() => {
57954
- });
57955
- }
57956
- }
57945
+ return JSON.stringify({ success: true, taskId: task.id, status: task.status });
57946
+ }
57947
+ if (ctx.transport instanceof IpcTransport) {
57948
+ ctx.transport.command("trigger_mesh_queue", { meshId: ctx.mesh.id }).catch(() => {
57949
+ });
57950
+ const dispatchPromises = [];
57951
+ for (const node of ctx.mesh.nodes) {
57952
+ const isLocalNode = ctx.localMachineId && node.machineId === ctx.localMachineId || ctx.localDaemonId && node.daemonId === ctx.localDaemonId;
57953
+ if (isLocalNode || !node.daemonId) continue;
57954
+ dispatchPromises.push(
57955
+ ipcDispatchToRemoteAgent(ctx, node, { message: args.message }).then((result) => {
57956
+ if (result.success) {
57957
+ try {
57958
+ appendLedgerEntry(ctx.mesh.id, {
57959
+ kind: "task_dispatched",
57960
+ nodeId: node.id,
57961
+ sessionId: result.sessionId,
57962
+ payload: { message: args.message, via: "p2p_direct", taskId: task.id }
57963
+ });
57964
+ } catch {
57965
+ }
57966
+ }
57967
+ }).catch(() => {
57968
+ })
57969
+ );
57957
57970
  }
57971
+ Promise.all(dispatchPromises).catch(() => {
57972
+ });
57973
+ return JSON.stringify({ success: true, taskId: task.id, status: task.status });
57958
57974
  }
57959
57975
  return JSON.stringify({ success: true, taskId: task.id, status: task.status });
57960
57976
  } catch (e) {