@adhdev/daemon-core 0.9.82-rc.379 → 0.9.82-rc.380

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/index.mjs CHANGED
@@ -311,10 +311,10 @@ function readInjected(value) {
311
311
  }
312
312
  function getDaemonBuildInfo() {
313
313
  if (cached) return cached;
314
- const commit = readInjected(true ? "7b74c2c74e315b3fa6eb9f18d694b79eeb561184" : void 0) ?? "unknown";
315
- const commitShort = readInjected(true ? "7b74c2c7" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
316
- const version = readInjected(true ? "0.9.82-rc.379" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
317
- const builtAt = readInjected(true ? "2026-06-25T09:33:17.234Z" : void 0);
314
+ const commit = readInjected(true ? "5fff0bee3f6a8e8f00989177c53d1d2a1cf607ad" : void 0) ?? "unknown";
315
+ const commitShort = readInjected(true ? "5fff0bee" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
316
+ const version = readInjected(true ? "0.9.82-rc.380" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
317
+ const builtAt = readInjected(true ? "2026-06-25T10:07:36.562Z" : void 0);
318
318
  cached = builtAt ? { commit, commitShort, version, builtAt } : { commit, commitShort, version };
319
319
  return cached;
320
320
  }
@@ -9500,6 +9500,13 @@ function reconcileDirectDispatchCompletionFromTranscript(args) {
9500
9500
  if (workerResult.source !== "final_summary_json" && !transcriptAfterDispatch) {
9501
9501
  return { reconciled: false, reason: "transcript_not_proven_after_dispatch" };
9502
9502
  }
9503
+ if (Number.isFinite(dispatchTime) && workerResult.source !== "final_summary_json") {
9504
+ const dispatchedToIdleSession = dispatch?.payload?.dispatchedToIdleSession === true;
9505
+ const graceMs = dispatchedToIdleSession ? DIRECT_DISPATCH_IDLE_SESSION_RECONCILE_GRACE_MS : DIRECT_DISPATCH_RECONCILE_GRACE_MS;
9506
+ if (Date.now() - dispatchTime < graceMs) {
9507
+ return { reconciled: false, reason: "direct_dispatch_grace_period" };
9508
+ }
9509
+ }
9503
9510
  const workerFailed = workerResult.status === "failed" || workerResult.status !== "completed" && workerResult.errors.length > 0;
9504
9511
  const kind = workerFailed ? "task_failed" : "task_completed";
9505
9512
  const entry = appendLedgerEntry(args.meshId, {
@@ -9592,6 +9599,7 @@ function buildNoProgressCompletionReconciliation(args) {
9592
9599
  terminalLedgerAt: terminal.timestamp
9593
9600
  };
9594
9601
  }
9602
+ var DIRECT_DISPATCH_RECONCILE_GRACE_MS, DIRECT_DISPATCH_IDLE_SESSION_RECONCILE_GRACE_MS;
9595
9603
  var init_mesh_events_stale = __esm({
9596
9604
  "src/mesh/mesh-events-stale.ts"() {
9597
9605
  "use strict";
@@ -9601,6 +9609,8 @@ var init_mesh_events_stale = __esm({
9601
9609
  init_mesh_events_pending();
9602
9610
  init_mesh_events_utils();
9603
9611
  init_dist();
9612
+ DIRECT_DISPATCH_RECONCILE_GRACE_MS = 6e4;
9613
+ DIRECT_DISPATCH_IDLE_SESSION_RECONCILE_GRACE_MS = 12e4;
9604
9614
  }
9605
9615
  });
9606
9616
 
@@ -13887,6 +13897,20 @@ function isDuplicateRefineTerminalEvent(meshId, eventName, metadataEvent) {
13887
13897
  recordFingerprintSeen(fingerprint);
13888
13898
  return false;
13889
13899
  }
13900
+ function isSynthesizedReconciledTerminal(terminalPayload) {
13901
+ const source = readNonEmptyString2(terminalPayload.source);
13902
+ if (source && RECONCILED_COMPLETION_SOURCES.has(source)) return true;
13903
+ const diagnostic = terminalPayload.completionDiagnostic;
13904
+ if (diagnostic && typeof diagnostic === "object" && !Array.isArray(diagnostic)) {
13905
+ const reason = readNonEmptyString2(diagnostic.reason);
13906
+ if (reason && RECONCILED_COMPLETION_SOURCES.has(reason)) return true;
13907
+ }
13908
+ return false;
13909
+ }
13910
+ function isRealProviderCompletionEvent(metadataEvent) {
13911
+ const source = readNonEmptyString2(metadataEvent.source);
13912
+ return !source || !RECONCILED_COMPLETION_SOURCES.has(source);
13913
+ }
13890
13914
  function isGenuineCompletionEvidence(metadataEvent) {
13891
13915
  if (isFalseIdleCompletion(metadataEvent)) return false;
13892
13916
  return !!readWorkerResultMetadata(metadataEvent) || !!readNonEmptyString2(metadataEvent.finalSummary);
@@ -13997,7 +14021,8 @@ function evaluateMeshEventSuppression(args, ctx) {
13997
14021
  terminalTaskId,
13998
14022
  eventTaskId
13999
14023
  });
14000
- if (!newDispatchAfterTerminal && !supersedesWeakTerminal && !distinctTaskCompletion && !supersedesTruncatedTerminal) {
14024
+ const supersedesSynthesizedTerminal = isSynthesizedReconciledTerminal(terminal.payload) && isRealProviderCompletionEvent(args.metadataEvent) && isGenuineCompletionEvidence(args.metadataEvent);
14025
+ if (!newDispatchAfterTerminal && !supersedesWeakTerminal && !distinctTaskCompletion && !supersedesTruncatedTerminal && !supersedesSynthesizedTerminal) {
14001
14026
  const terminalProviderSessionId = readNonEmptyString2(terminal.payload.providerSessionId);
14002
14027
  const terminalFinalSummary = readNonEmptyString2(terminal.payload.finalSummary);
14003
14028
  const eventProviderSessionId = readNonEmptyString2(args.metadataEvent.providerSessionId);
@@ -14484,7 +14509,7 @@ function handleMeshForwardEvent(components, payload) {
14484
14509
  return { success: false, error: "meshId required" };
14485
14510
  }
14486
14511
  traceMeshEventStage("received", {
14487
- taskId: payload.taskId,
14512
+ taskId: readNonEmptyString2(payload.taskId) || readNonEmptyString2(payload.meshActiveTaskId),
14488
14513
  sessionId: readNonEmptyString2(payload.targetSessionId) || readNonEmptyString2(payload.sessionId),
14489
14514
  nodeId,
14490
14515
  meshId,
@@ -14644,7 +14669,7 @@ function setupMeshEventForwarding(components) {
14644
14669
  });
14645
14670
  });
14646
14671
  }
14647
- var REMOTE_IDLE_SESSION_TTL_MS, meshByWorkspaceCache, MESH_WORKSPACE_CACHE_TTL_MS, INTENTIONAL_CLEANUP_STOP_SUPPRESSION_MS, RECENT_COMPLETION_FINGERPRINT_TTL_MS, coordinatorForwardLanes;
14672
+ var REMOTE_IDLE_SESSION_TTL_MS, meshByWorkspaceCache, MESH_WORKSPACE_CACHE_TTL_MS, INTENTIONAL_CLEANUP_STOP_SUPPRESSION_MS, RECENT_COMPLETION_FINGERPRINT_TTL_MS, RECONCILED_COMPLETION_SOURCES, coordinatorForwardLanes;
14648
14673
  var init_mesh_event_forwarding = __esm({
14649
14674
  "src/mesh/mesh-event-forwarding.ts"() {
14650
14675
  "use strict";
@@ -14671,6 +14696,12 @@ var init_mesh_event_forwarding = __esm({
14671
14696
  MESH_WORKSPACE_CACHE_TTL_MS = 5e3;
14672
14697
  INTENTIONAL_CLEANUP_STOP_SUPPRESSION_MS = 30 * 60 * 1e3;
14673
14698
  RECENT_COMPLETION_FINGERPRINT_TTL_MS = 10 * 60 * 1e3;
14699
+ RECONCILED_COMPLETION_SOURCES = /* @__PURE__ */ new Set([
14700
+ "direct_task_transcript_reconciliation",
14701
+ "daemon_reconcile_transcript_completion",
14702
+ "mcp_mesh_status_transcript_reconciliation",
14703
+ "no_progress_reconciliation"
14704
+ ]);
14674
14705
  coordinatorForwardLanes = /* @__PURE__ */ new Map();
14675
14706
  }
14676
14707
  });
@@ -15383,7 +15414,18 @@ function buildForwardPayloadFromPending(event) {
15383
15414
  // top-level field through explicitly too so the handleMeshForwardEvent whitelist
15384
15415
  // recovers it regardless of which carrier the producing daemon used.
15385
15416
  ...readNonEmptyString2(event?.targetCoordinatorSessionId) ? { targetCoordinatorSessionId: readNonEmptyString2(event.targetCoordinatorSessionId) } : {},
15386
- ...metadata
15417
+ ...metadata,
15418
+ // NOTIF-MISS (FIX 3): surface the dispatch task id at the TOP LEVEL so the relay's
15419
+ // received-stage trace (and buildRelayMetadataEvent) recovers it regardless of which
15420
+ // carrier the producing daemon used. The metadata spread above may carry the id only as
15421
+ // `meshActiveTaskId` (a worker provider event), leaving top-level `taskId` unset and the
15422
+ // received stage rendering `task=-`. Resolve both carriers into an explicit `taskId` so
15423
+ // dedup stays task-scoped end-to-end. Only set when a non-empty id exists (no clobber to
15424
+ // undefined when neither is present).
15425
+ ...(() => {
15426
+ const tid = readNonEmptyString2(metadata.taskId) || readNonEmptyString2(metadata.meshActiveTaskId);
15427
+ return tid ? { taskId: tid } : {};
15428
+ })()
15387
15429
  };
15388
15430
  }
15389
15431
  function setupMeshReconcileLoop(components) {