@adhdev/daemon-standalone 0.9.77-rc.28 → 0.9.77-rc.29

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adhdev/daemon-standalone",
3
- "version": "0.9.77-rc.28",
3
+ "version": "0.9.77-rc.29",
4
4
  "description": "ADHDev standalone daemon — embedded HTTP/WS server for local dashboard",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -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) {