@adhdev/daemon-standalone 1.0.41-rc.1 → 1.0.41-rc.2

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.js CHANGED
@@ -36539,10 +36539,10 @@ var require_dist3 = __commonJS({
36539
36539
  }
36540
36540
  function getDaemonBuildInfo() {
36541
36541
  if (cached2) return cached2;
36542
- const commit = readInjected(true ? "677372ac5df1e74e95aa7c5ffa04ee21dd840f29" : void 0) ?? "unknown";
36543
- const commitShort = readInjected(true ? "677372ac" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
36544
- const version2 = readInjected(true ? "1.0.41-rc.1" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
36545
- const builtAt = readInjected(true ? "2026-08-08T19:06:28.571Z" : void 0);
36542
+ const commit = readInjected(true ? "ea178c233410ac9d7352c117eb693cf00b769fdb" : void 0) ?? "unknown";
36543
+ const commitShort = readInjected(true ? "ea178c23" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
36544
+ const version2 = readInjected(true ? "1.0.41-rc.2" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
36545
+ const builtAt = readInjected(true ? "2026-08-09T04:45:32.399Z" : void 0);
36546
36546
  cached2 = builtAt ? { commit, commitShort, version: version2, builtAt } : { commit, commitShort, version: version2 };
36547
36547
  return cached2;
36548
36548
  }
@@ -37852,6 +37852,21 @@ var require_dist3 = __commonJS({
37852
37852
  function resolveConfigLogsDir(env2 = process.env, homeDir) {
37853
37853
  return (0, import_path3.join)(resolveConfigDir(env2, homeDir), "logs");
37854
37854
  }
37855
+ function otherTrackConfigDir(env2 = process.env, homeDir) {
37856
+ const ownTrack = resolveBuildTrack(env2);
37857
+ const otherTrack = ownTrack === "preview" ? "stable" : "preview";
37858
+ return (0, import_path3.join)(homeDir ?? (0, import_os2.homedir)(), getTrackIdentity(otherTrack).configDirName);
37859
+ }
37860
+ function isCrossTrackConfigDirOverride(env2 = process.env, homeDir, platform10 = process.platform) {
37861
+ const override = env2.ADHDEV_CONFIG_DIR;
37862
+ if (!override || !override.trim()) return false;
37863
+ const sibling = otherTrackConfigDir(env2, homeDir);
37864
+ const normalize4 = (p) => {
37865
+ const unified = p.trim().replace(/[\\/]+$/, "").replace(/\\/g, "/");
37866
+ return platform10 === "win32" ? unified.toLowerCase() : unified;
37867
+ };
37868
+ return normalize4(override) === normalize4(sibling);
37869
+ }
37855
37870
  var import_os2;
37856
37871
  var import_path3;
37857
37872
  var init_config_dir = __esm2({
@@ -60657,6 +60672,10 @@ The mesh has no work in flight. For each mission, decide its outcome: continue i
60657
60672
  summary: "the node's workspace is dirty, so auto-launch is blocked to avoid clobbering uncommitted changes",
60658
60673
  nextAction: "Clean or commit the node's working tree (or fast-forward it); the task will then auto-assign."
60659
60674
  };
60675
+ if (reason === "target_session_pin_expired") return {
60676
+ summary: "it was pinned to a specific session (a follow-up/delta for work already in flight) that never claimed it within the pin TTL, so the pin was cleared and the message will NOT reach the session it was addressed to",
60677
+ nextAction: "Assume the addressed session never received this delta and is still acting on its previous instructions. Re-send it to that session once it is idle (or re-target it), and re-check the work it produced in the meantime."
60678
+ };
60660
60679
  if (reason === SLOT_MODEL_ABSENT_SKIP_REASON) return {
60661
60680
  summary: "no capability slot on the node declares the model this task resolved to (its difficulty\u2192brain preset picked a model the node was never configured to run)",
60662
60681
  nextAction: "Re-enqueue with a difficulty/model the node's slots declare, target a node that declares this model, or add a slot for it. The task is NOT run on a substitute model \u2014 an undeclared model is never launched."
@@ -61946,6 +61965,17 @@ The mesh has no work in flight. For each mission, decide its outcome: continue i
61946
61965
  "provider_priority_unusable",
61947
61966
  "provider_unusable",
61948
61967
  "dirty_workspace",
61968
+ // TARGET-PIN-TTL EXPIRY: the task was pinned to a specific session (a delta —
61969
+ // a correction addressed to work already in flight) and that session never
61970
+ // claimed it within the TTL, so the pin was cleared. Unlike the transient
61971
+ // skips, this does NOT self-resolve into the intended outcome: the delta is
61972
+ // now claimable by ANY compatible session, i.e. it will not reach the session
61973
+ // it was written for. Previously this only bumped a metrics counter and wrote
61974
+ // a log, so the coordinator kept waiting for a delivery that could no longer
61975
+ // happen — measured live as 74min of silence while a worker continued on a
61976
+ // premise the delta was meant to correct. The coordinator must know its
61977
+ // addressed message lost its address.
61978
+ "target_session_pin_expired",
61949
61979
  // SLOT MODEL GUARD (absent): no slot on the node declares the task's model.
61950
61980
  // Permanent — no amount of waiting produces a slot, so the coordinator must
61951
61981
  // re-drive (adjust difficulty, target another node, ask the owner). Its
@@ -67956,7 +67986,7 @@ ${cleanBody}`;
67956
67986
  const evidenceSessionId = resolveTaskEvidenceSessionId(meshId, row.id, row.assignedSessionId);
67957
67987
  const evidenceRow = evidenceSessionId && evidenceSessionId !== row.assignedSessionId ? { ...row, assignedSessionId: evidenceSessionId } : row;
67958
67988
  const verdict = evidenceSessionId ? resolveSessionBusyVerdict(components, evidenceSessionId) : "IDLE_CONFIRMED";
67959
- if (verdict === "GENERATING") {
67989
+ if (verdict === "GENERATING" && !queueHoldHardDeadlineExceeded(meshId, row, "live_generating", dispatchedAtMs, nowMs, "delivered_no_turn")) {
67960
67990
  deliveredNoTurnUnknownStreak.delete(streakKey);
67961
67991
  const gate = gateRedriveForHeldSuspension({ meshId, taskId: row.id, sessionLiveness: "alive", nowMs });
67962
67992
  if (gate.kind === "recovered") {
@@ -77555,6 +77585,7 @@ ${lastSnapshot}`;
77555
77585
  isBuiltinChatMessageKind: () => isBuiltinChatMessageKind,
77556
77586
  isCdpConnected: () => isCdpConnected,
77557
77587
  isCoordinatorSpawnedHiddenWorker: () => isCoordinatorSpawnedHiddenWorker,
77588
+ isCrossTrackConfigDirOverride: () => isCrossTrackConfigDirOverride,
77558
77589
  isEmptyUsage: () => isEmptyUsage,
77559
77590
  isExtensionInstalled: () => isExtensionInstalled,
77560
77591
  isGitCommandName: () => isGitCommandName,
@@ -77638,6 +77669,7 @@ ${lastSnapshot}`;
77638
77669
  normalizeRepoIdentity: () => normalizeRepoIdentity,
77639
77670
  normalizeRepoMeshDeclarativeConfig: () => normalizeRepoMeshDeclarativeConfig,
77640
77671
  normalizeSessionModalFields: () => normalizeSessionModalFields,
77672
+ otherTrackConfigDir: () => otherTrackConfigDir,
77641
77673
  parsePorcelainV2Status: () => parsePorcelainV2Status,
77642
77674
  parseProviderSourceConfigUpdate: () => parseProviderSourceConfigUpdate,
77643
77675
  parseWorktreeListOutput: () => parseWorktreeListOutput,
@@ -79056,6 +79088,7 @@ ${lastSnapshot}`;
79056
79088
  };
79057
79089
  init_git_worktree();
79058
79090
  init_config();
79091
+ init_config_dir();
79059
79092
  var os52 = __toESM2(require("os"));
79060
79093
  var path12 = __toESM2(require("path"));
79061
79094
  var import_session_host_core22 = require_dist();