@adhdev/daemon-standalone 0.9.82-rc.544 → 0.9.82-rc.546
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
|
@@ -30208,10 +30208,10 @@ var require_dist3 = __commonJS({
|
|
|
30208
30208
|
}
|
|
30209
30209
|
function getDaemonBuildInfo() {
|
|
30210
30210
|
if (cached2) return cached2;
|
|
30211
|
-
const commit = readInjected(true ? "
|
|
30212
|
-
const commitShort = readInjected(true ? "
|
|
30213
|
-
const version2 = readInjected(true ? "0.9.82-rc.
|
|
30214
|
-
const builtAt = readInjected(true ? "2026-07-
|
|
30211
|
+
const commit = readInjected(true ? "cd7beb689ebd9b05c1a0d4a78b48aec469a85df4" : void 0) ?? "unknown";
|
|
30212
|
+
const commitShort = readInjected(true ? "cd7beb68" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
|
|
30213
|
+
const version2 = readInjected(true ? "0.9.82-rc.546" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
|
|
30214
|
+
const builtAt = readInjected(true ? "2026-07-16T12:30:06.993Z" : void 0);
|
|
30215
30215
|
cached2 = builtAt ? { commit, commitShort, version: version2, builtAt } : { commit, commitShort, version: version2 };
|
|
30216
30216
|
return cached2;
|
|
30217
30217
|
}
|
|
@@ -35974,6 +35974,10 @@ Valid status values: \`completed\` | \`failed\` | \`blocked\` | \`partial\`.`;
|
|
|
35974
35974
|
}
|
|
35975
35975
|
function enqueueTask(meshId, message, opts) {
|
|
35976
35976
|
requireMeshHostQueueOwner(opts);
|
|
35977
|
+
message = String(message ?? "").trim();
|
|
35978
|
+
if (!message) {
|
|
35979
|
+
throw new Error("mesh task message must be a non-empty string");
|
|
35980
|
+
}
|
|
35977
35981
|
const readonly2 = opts?.readonly === true;
|
|
35978
35982
|
const modeValidation = validateMeshTaskModeRequest(opts?.taskMode, message, readonly2);
|
|
35979
35983
|
if (!modeValidation.valid) {
|
|
@@ -36046,6 +36050,10 @@ Valid status values: \`completed\` | \`failed\` | \`blocked\` | \`partial\`.`;
|
|
|
36046
36050
|
if (!missionId) return null;
|
|
36047
36051
|
const taskId = typeof opts.id === "string" ? opts.id.trim() : "";
|
|
36048
36052
|
if (!taskId) return null;
|
|
36053
|
+
message = String(message ?? "").trim();
|
|
36054
|
+
if (!message) {
|
|
36055
|
+
throw new Error("mesh task message must be a non-empty string");
|
|
36056
|
+
}
|
|
36049
36057
|
const readonly2 = opts.readonly === true;
|
|
36050
36058
|
const modeValidation = validateMeshTaskModeRequest(opts.taskMode, message, readonly2);
|
|
36051
36059
|
if (!modeValidation.valid) {
|
|
@@ -37572,7 +37580,18 @@ Valid status values: \`completed\` | \`failed\` | \`blocked\` | \`partial\`.`;
|
|
|
37572
37580
|
taskId: entry.taskId ?? null,
|
|
37573
37581
|
kind: entry.kind,
|
|
37574
37582
|
priority: entry.priority ?? 0,
|
|
37575
|
-
|
|
37583
|
+
// MESH-DELIVERY-MESSAGE-NOTNULL: the `message` column is NOT NULL, but a
|
|
37584
|
+
// re-dispatch / reclaim / idle-assign path can reach here with an undefined
|
|
37585
|
+
// message (a claimed task whose payload predates the message field, or a
|
|
37586
|
+
// slimmed re-drive entry). better-sqlite3 binds undefined as NULL, so the
|
|
37587
|
+
// bare `entry.message` threw 'NOT NULL constraint failed' and — because this
|
|
37588
|
+
// insert runs inside triggerMeshQueue — took down the ENTIRE queue drain
|
|
37589
|
+
// (fresh enqueue, pending-claim recovery, idle-assign, MAGI replica launch),
|
|
37590
|
+
// stranding all delegation. A delivery record's message is informational
|
|
37591
|
+
// ack-tracking, so coercing an absent message to '' preserves the row and the
|
|
37592
|
+
// drain instead of crashing. Matches the `?? null` defensive coercion every
|
|
37593
|
+
// other optional column here already uses.
|
|
37594
|
+
message: entry.message ?? "",
|
|
37576
37595
|
status: entry.status,
|
|
37577
37596
|
deliverAfter: entry.deliverAfter ?? null,
|
|
37578
37597
|
expiresAt: entry.expiresAt ?? null,
|
|
@@ -93610,6 +93629,15 @@ ${e?.stderr || ""}`;
|
|
|
93610
93629
|
"set_mode",
|
|
93611
93630
|
"change_model",
|
|
93612
93631
|
"set_thought_level",
|
|
93632
|
+
// set_conversation_prefs (per-session user Hide/Mute) is session-scoped: the daemon-owned
|
|
93633
|
+
// userHidden/userMuted lives on the OWNING session's live instance (med-family handler
|
|
93634
|
+
// getInstance → updateSettings). When the target is a REMOTE worker session the coordinator
|
|
93635
|
+
// has no local instance, so without forwarding the handler returns 'Session not found', the
|
|
93636
|
+
// dashboard's useConversationPrefs silently rolls back, and the stale worker surfaceHidden is
|
|
93637
|
+
// re-stamped every snapshot tick (the "restore does nothing + flicker" defect, mission
|
|
93638
|
+
// 6938892f). Forwarding to the owning worker lets it actually clear userHidden/userMuted and
|
|
93639
|
+
// report a fresh surfaceHidden=false — which also resolves the re-stamp flicker at the source.
|
|
93640
|
+
"set_conversation_prefs",
|
|
93613
93641
|
// agent_command (send_chat / clear_history / stop) is session-scoped too: a command
|
|
93614
93642
|
// explicitly naming a targetSessionId MUST reach that session wherever it lives, never a
|
|
93615
93643
|
// different local session. Without forwarding, a misrouted/relayed send_chat for a REMOTE
|