@adhdev/daemon-core 0.9.82-rc.367 → 0.9.82-rc.368
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 +57 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +57 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/commands/cli-manager.ts +22 -0
- package/src/mesh/mesh-events-coordinator.ts +102 -21
package/dist/index.js
CHANGED
|
@@ -316,10 +316,10 @@ function readInjected(value) {
|
|
|
316
316
|
}
|
|
317
317
|
function getDaemonBuildInfo() {
|
|
318
318
|
if (cached) return cached;
|
|
319
|
-
const commit = readInjected(true ? "
|
|
320
|
-
const commitShort = readInjected(true ? "
|
|
321
|
-
const version = readInjected(true ? "0.9.82-rc.
|
|
322
|
-
const builtAt = readInjected(true ? "2026-06-
|
|
319
|
+
const commit = readInjected(true ? "8cb6cfc5399f55c6b625095bacc9a27e1741df17" : void 0) ?? "unknown";
|
|
320
|
+
const commitShort = readInjected(true ? "8cb6cfc5" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
|
|
321
|
+
const version = readInjected(true ? "0.9.82-rc.368" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
|
|
322
|
+
const builtAt = readInjected(true ? "2026-06-24T06:14:32.255Z" : void 0);
|
|
323
323
|
cached = builtAt ? { commit, commitShort, version, builtAt } : { commit, commitShort, version };
|
|
324
324
|
return cached;
|
|
325
325
|
}
|
|
@@ -12870,13 +12870,25 @@ function tryAssignQueueTask(components, meshId, nodeId, sessionId, providerType)
|
|
|
12870
12870
|
const mesh = getMeshWithCache(components, meshId);
|
|
12871
12871
|
const node = mesh?.nodes.find((n) => readMeshNodeId(n) === nodeId);
|
|
12872
12872
|
const localClaimAdapter = components.cliManager?.adapters?.get(sessionId);
|
|
12873
|
-
|
|
12874
|
-
|
|
12875
|
-
|
|
12876
|
-
|
|
12877
|
-
|
|
12873
|
+
let claimInstanceWorkspace = "";
|
|
12874
|
+
let claimStampedNodeId = "";
|
|
12875
|
+
try {
|
|
12876
|
+
const claimState = components.instanceManager?.getInstance?.(sessionId)?.getState?.();
|
|
12877
|
+
claimInstanceWorkspace = readNonEmptyString2(claimState?.workspace);
|
|
12878
|
+
const claimSettings = claimState?.settings || {};
|
|
12879
|
+
claimStampedNodeId = readNonEmptyString2(claimSettings.meshNodeId);
|
|
12880
|
+
} catch {
|
|
12881
|
+
}
|
|
12882
|
+
const nodeWorkspaceRaw = readNonEmptyString2(node?.workspace);
|
|
12883
|
+
const sessionWorkspaceRaw = readNonEmptyString2(localClaimAdapter?.workingDir) || claimInstanceWorkspace;
|
|
12884
|
+
if (claimStampedNodeId && nodeId) {
|
|
12885
|
+
if (!meshNodeIdMatches({ id: claimStampedNodeId }, nodeId)) {
|
|
12886
|
+
LOG.info("MeshQueue", `WTDISPATCH: refusing claim for node ${nodeId} (${sessionId}) \u2014 session is bound to node "${claimStampedNodeId}" (cross-node claim blocked)`);
|
|
12878
12887
|
return false;
|
|
12879
12888
|
}
|
|
12889
|
+
} else if (sessionWorkspaceRaw && nodeWorkspaceRaw && !meshWorkspacesEquivalent(sessionWorkspaceRaw, nodeWorkspaceRaw)) {
|
|
12890
|
+
LOG.info("MeshQueue", `WTCLAIM: refusing claim for node ${nodeId} (${sessionId}) \u2014 session workspace "${normalizeMeshWorkspaceForCompare(sessionWorkspaceRaw)}" \u2260 node workspace "${normalizeMeshWorkspaceForCompare(nodeWorkspaceRaw)}" (cross-workspace dispatch blocked)`);
|
|
12891
|
+
return false;
|
|
12880
12892
|
}
|
|
12881
12893
|
const capabilityTags = buildMeshNodeCapabilityTags(node, providerType);
|
|
12882
12894
|
const providerMaxParallel = resolveProviderMaxParallel(node?.policy, providerType);
|
|
@@ -14154,6 +14166,25 @@ function handleMeshForwardEvent(components, payload) {
|
|
|
14154
14166
|
metadataEvent: buildRelayMetadataEvent(payload)
|
|
14155
14167
|
});
|
|
14156
14168
|
}
|
|
14169
|
+
function enqueueCoordinatorForwardPush(coordinatorDaemonId, run) {
|
|
14170
|
+
let lane = coordinatorForwardLanes.get(coordinatorDaemonId);
|
|
14171
|
+
if (!lane) {
|
|
14172
|
+
lane = { tail: Promise.resolve(), depth: 0 };
|
|
14173
|
+
coordinatorForwardLanes.set(coordinatorDaemonId, lane);
|
|
14174
|
+
}
|
|
14175
|
+
const wasIdle = lane.depth === 0;
|
|
14176
|
+
lane.depth += 1;
|
|
14177
|
+
const dec = () => {
|
|
14178
|
+
lane.depth -= 1;
|
|
14179
|
+
};
|
|
14180
|
+
if (wasIdle) {
|
|
14181
|
+
lane.tail = Promise.resolve(run()).catch(() => {
|
|
14182
|
+
}).then(dec, dec);
|
|
14183
|
+
} else {
|
|
14184
|
+
lane.tail = lane.tail.then(() => run()).catch(() => {
|
|
14185
|
+
}).then(dec, dec);
|
|
14186
|
+
}
|
|
14187
|
+
}
|
|
14157
14188
|
function forwardUnresolvedDelegateEvent(components, routing, event) {
|
|
14158
14189
|
const coordinatorDaemonId = readNonEmptyString2(routing.coordinatorDaemonId);
|
|
14159
14190
|
if (!coordinatorDaemonId) return false;
|
|
@@ -14185,7 +14216,8 @@ function forwardUnresolvedDelegateEvent(components, routing, event) {
|
|
|
14185
14216
|
};
|
|
14186
14217
|
traceMeshEventStage("outbox_enqueue", fwdTraceCtx, `coordinatorDaemon=${coordinatorDaemonId} meshId=absent`);
|
|
14187
14218
|
traceMeshEventStage("forward_send", fwdTraceCtx, "immediate push");
|
|
14188
|
-
|
|
14219
|
+
const dispatchMeshCommand = components.dispatchMeshCommand;
|
|
14220
|
+
enqueueCoordinatorForwardPush(coordinatorDaemonId, () => Promise.resolve(dispatchMeshCommand(coordinatorDaemonId, "mesh_forward_event", payload)).then((result) => {
|
|
14189
14221
|
if (result && result.success === false) {
|
|
14190
14222
|
LOG.warn("MeshEvents", `Immediate forward of ${eventName} to coordinator ${coordinatorDaemonId} rejected (${readNonEmptyString2(result.error) || "no reason"}) \u2014 left queued for retry`);
|
|
14191
14223
|
traceMeshEventDrop("immediate_forward_rejected", fwdTraceCtx, readNonEmptyString2(result.error) || "no reason");
|
|
@@ -14194,7 +14226,7 @@ function forwardUnresolvedDelegateEvent(components, routing, event) {
|
|
|
14194
14226
|
if (persisted) ackUnresolvedDelegateForwardByFingerprint(coordinatorDaemonId, eventName, payload);
|
|
14195
14227
|
}).catch((e) => {
|
|
14196
14228
|
LOG.warn("MeshEvents", `Immediate forward of ${eventName} to coordinator ${coordinatorDaemonId} failed: ${e?.message || e} \u2014 left queued for retry`);
|
|
14197
|
-
});
|
|
14229
|
+
}));
|
|
14198
14230
|
LOG.info("MeshEvents", `Durably forwarded ${eventName} for unresolved-mesh worker at ${routing.workspace || "(no workspace)"} to coordinator daemon ${coordinatorDaemonId}`);
|
|
14199
14231
|
return true;
|
|
14200
14232
|
}
|
|
@@ -14277,7 +14309,7 @@ function setupMeshEventForwarding(components) {
|
|
|
14277
14309
|
});
|
|
14278
14310
|
});
|
|
14279
14311
|
}
|
|
14280
|
-
var import_fs13, REMOTE_IDLE_SESSION_TTL_MS, meshByWorkspaceCache, MESH_WORKSPACE_CACHE_TTL_MS, IDLE_AUTO_FAST_FORWARD_THROTTLE_MS, idleAutoFastForwardLastAttempt, INTENTIONAL_CLEANUP_STOP_SUPPRESSION_MS, RECENT_COMPLETION_FINGERPRINT_TTL_MS, DISPATCH_CONFIRM_TIMEOUT_MS, autoLaunchInProgress, autoLaunchCooldownUntil, AUTO_LAUNCH_COOLDOWN_MS, AUTO_LAUNCH_AWAIT_CLAIM_MS, lastAutoLaunchLedgerKey, AUTO_LAUNCH_LEDGER_DEDUP_MAX, MESH_COORDINATOR_EVENTS, EVENT_TO_LEDGER_KIND, MESH_FORCE_INJECT_EVENTS;
|
|
14312
|
+
var import_fs13, REMOTE_IDLE_SESSION_TTL_MS, meshByWorkspaceCache, MESH_WORKSPACE_CACHE_TTL_MS, IDLE_AUTO_FAST_FORWARD_THROTTLE_MS, idleAutoFastForwardLastAttempt, INTENTIONAL_CLEANUP_STOP_SUPPRESSION_MS, RECENT_COMPLETION_FINGERPRINT_TTL_MS, DISPATCH_CONFIRM_TIMEOUT_MS, autoLaunchInProgress, autoLaunchCooldownUntil, AUTO_LAUNCH_COOLDOWN_MS, AUTO_LAUNCH_AWAIT_CLAIM_MS, lastAutoLaunchLedgerKey, AUTO_LAUNCH_LEDGER_DEDUP_MAX, MESH_COORDINATOR_EVENTS, EVENT_TO_LEDGER_KIND, MESH_FORCE_INJECT_EVENTS, coordinatorForwardLanes;
|
|
14281
14313
|
var init_mesh_events_coordinator = __esm({
|
|
14282
14314
|
"src/mesh/mesh-events-coordinator.ts"() {
|
|
14283
14315
|
"use strict";
|
|
@@ -14342,6 +14374,7 @@ var init_mesh_events_coordinator = __esm({
|
|
|
14342
14374
|
"worktree_bootstrap_complete",
|
|
14343
14375
|
"worktree_bootstrap_failed"
|
|
14344
14376
|
]);
|
|
14377
|
+
coordinatorForwardLanes = /* @__PURE__ */ new Map();
|
|
14345
14378
|
}
|
|
14346
14379
|
});
|
|
14347
14380
|
|
|
@@ -41537,6 +41570,18 @@ var DaemonCliManager = class {
|
|
|
41537
41570
|
throw new Error(`Failed to start ${provider.displayName || provider.name || cliType}: ${spawnErr?.message}`);
|
|
41538
41571
|
}
|
|
41539
41572
|
this.adapters.set(key, cliInstance.getAdapter());
|
|
41573
|
+
const launchMeshNodeId = typeof settings?.meshNodeId === "string" ? settings.meshNodeId.trim() : "";
|
|
41574
|
+
const launchMeshNodeFor = typeof settings?.meshNodeFor === "string" ? settings.meshNodeFor.trim() : "";
|
|
41575
|
+
if (launchMeshNodeId || launchMeshNodeFor) {
|
|
41576
|
+
try {
|
|
41577
|
+
cliInstance.getAdapter().updateRuntimeMeta?.({
|
|
41578
|
+
...launchMeshNodeId ? { meshNodeId: launchMeshNodeId } : {},
|
|
41579
|
+
...launchMeshNodeFor ? { meshNodeFor: launchMeshNodeFor } : {},
|
|
41580
|
+
...settings?.launchedByCoordinator === true ? { launchedByCoordinator: true } : {}
|
|
41581
|
+
});
|
|
41582
|
+
} catch {
|
|
41583
|
+
}
|
|
41584
|
+
}
|
|
41540
41585
|
this.startCliExitMonitor(key, cliType);
|
|
41541
41586
|
}
|
|
41542
41587
|
// ─── Session start/management ──────────────────────────────
|