@adhdev/daemon-standalone 1.0.28-rc.16 → 1.0.28-rc.18

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": "1.0.28-rc.16",
3
+ "version": "1.0.28-rc.18",
4
4
  "description": "ADHDev standalone daemon — embedded HTTP/WS server for local dashboard",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -37,7 +37,7 @@
37
37
  "license": "AGPL-3.0-or-later",
38
38
  "dependencies": {
39
39
  "@adhdev/ghostty-vt-node": "*",
40
- "@adhdev/session-host-core": "1.0.28-rc.16",
40
+ "@adhdev/session-host-core": "1.0.28-rc.18",
41
41
  "@xterm/addon-serialize": "^0.14.0",
42
42
  "@xterm/xterm": "^6.0.0",
43
43
  "chalk": "^5.3.0",
@@ -2366,6 +2366,7 @@ async function reconcileDirectDispatchesFromTranscriptEvidence(ctx, liveNodes, d
2366
2366
  });
2367
2367
  const payload = unwrapCommandPayload(readResult);
2368
2368
  if (payload?.success === false) continue;
2369
+ if ((0, import_daemon_core3.hasTrailingToolActivityAfterFinalAssistant)(Array.isArray(payload?.messages) ? payload.messages : [])) continue;
2369
2370
  const evidence = readFinalAssistantTranscriptEvidence(payload);
2370
2371
  if (!evidence.finalSummary) continue;
2371
2372
  const result = (0, import_daemon_core3.reconcileDirectDispatchCompletionFromTranscript)({
@@ -6678,30 +6679,29 @@ async function meshSendTask(ctx, args) {
6678
6679
  }
6679
6680
  if (explicitTargetSession && !isIdleSessionRecord(explicitTargetSession) && !isTerminalSessionRecord(explicitTargetSession)) {
6680
6681
  const sessionStatus = typeof explicitTargetSession?.status === "string" ? explicitTargetSession.status : "unknown";
6681
- const { createSessionDelivery: createDelivery, resolveDeliveryDecision } = await import("@adhdev/daemon-core");
6682
+ const { resolveDeliveryDecision } = await import("@adhdev/daemon-core");
6682
6683
  const policyResult = resolveDeliveryDecision(sessionStatus, { kind: "task" });
6683
6684
  if (policyResult.decision === "queued") {
6684
- const delivery = createDelivery({
6685
- meshId: ctx.mesh.id,
6686
- nodeId: args.node_id,
6687
- sessionId: args.session_id,
6688
- providerType: resolvedProviderType,
6689
- kind: "task",
6690
- message,
6691
- status: "queued"
6685
+ const queuedTask = (0, import_daemon_core4.enqueueTask)(ctx.mesh.id, message, {
6686
+ targetNodeId: args.node_id,
6687
+ targetSessionId: args.session_id,
6688
+ taskMode,
6689
+ ...readonly ? { readonly: true } : {},
6690
+ ...missionId ? { missionId } : {},
6691
+ ...ctx.coordinatorSessionId ? { sourceCoordinatorSessionId: ctx.coordinatorSessionId } : {}
6692
6692
  });
6693
6693
  return JSON.stringify({
6694
6694
  success: true,
6695
6695
  dispatched: false,
6696
6696
  decision: "queued_delivery",
6697
- deliveryId: delivery.id,
6697
+ taskId: queuedTask.id,
6698
6698
  reason: policyResult.reason,
6699
6699
  nodeId: args.node_id,
6700
6700
  sessionId: args.session_id,
6701
6701
  sessionStatus,
6702
6702
  taskMode: taskMode || void 0,
6703
6703
  message: policyResult.message,
6704
- nextAction: `Use mesh_status to watch for session idle transition, or use mesh_enqueue_task for queue-based assignment. Check deliveryId '${delivery.id}' to track queued delivery.`
6704
+ nextAction: `Task '${queuedTask.id}' is queued and pinned to session '${args.session_id}' \u2014 it auto-delivers the moment the session goes idle. Use mesh_status or mesh_task_history to track it; no manual resend needed.`
6705
6705
  });
6706
6706
  }
6707
6707
  }