@adhdev/daemon-core 0.9.82-rc.515 → 0.9.82-rc.516
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/config/mesh-config.d.ts +6 -4
- package/dist/git/git-commands.d.ts +0 -9
- package/dist/index.js +23 -50
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +23 -50
- package/dist/index.mjs.map +1 -1
- package/dist/mesh/mesh-node-slots.d.ts +11 -27
- package/dist/repo-mesh-types.d.ts +20 -31
- package/package.json +3 -3
- package/src/boot/daemon-lifecycle.ts +15 -14
- package/src/config/mesh-config.ts +6 -4
- package/src/git/git-commands.ts +12 -21
- package/src/mesh/mesh-node-identity.ts +26 -25
- package/src/mesh/mesh-node-slots.ts +12 -54
- package/src/repo-mesh-types.ts +20 -31
|
@@ -159,10 +159,12 @@ export declare function updateNode(meshId: string, nodeId: string, opts: {
|
|
|
159
159
|
* is overwritten by the next report. */
|
|
160
160
|
reportedProviderVersions?: Record<string, string>;
|
|
161
161
|
reportedDaemonBuildVersion?: string;
|
|
162
|
-
/**
|
|
163
|
-
*
|
|
164
|
-
* envelope. Persisted wholesale so a remote node's
|
|
165
|
-
* coordinator restart, mirroring the per-field reported* self-heal.
|
|
162
|
+
/** Unified mirrored member state (per-machine runtime facts: provider versions
|
|
163
|
+
* + daemon build + lastReportedAt) self-reported by the owning daemon on the
|
|
164
|
+
* git_status envelope. Persisted wholesale so a remote node's version chips
|
|
165
|
+
* survive a coordinator restart, mirroring the per-field reported* self-heal.
|
|
166
|
+
* Slots are NOT carried — they are coordinator-owned config
|
|
167
|
+
* (REMOTE-NODE-SLOTS-COORDINATOR-LOCAL fix). */
|
|
166
168
|
reportedMemberState?: MeshReportedMemberState;
|
|
167
169
|
}): LocalMeshNodeEntry | undefined;
|
|
168
170
|
/**
|
|
@@ -122,14 +122,6 @@ export interface GitCommandServices {
|
|
|
122
122
|
getReporterProviderVersions?: (workspace?: string) => {
|
|
123
123
|
providerVersions?: Record<string, string>;
|
|
124
124
|
daemonBuildVersion?: string;
|
|
125
|
-
/**
|
|
126
|
-
* Direction-B: the reporter node's OWN resolved capability slots
|
|
127
|
-
* (resolveNodeCapabilitySlots over its LOCAL policy for this workspace). Carried
|
|
128
|
-
* inside the unified reporterMemberState so a remote node's slot-cap chips
|
|
129
|
-
* self-heal on the coordinator the same way versions do. Best-effort; omitted
|
|
130
|
-
* when the reporter cannot resolve slots for the workspace.
|
|
131
|
-
*/
|
|
132
|
-
slots?: unknown[];
|
|
133
125
|
};
|
|
134
126
|
}
|
|
135
127
|
type GitCommandFailure = {
|
|
@@ -148,7 +140,6 @@ type GitCommandSuccess = {
|
|
|
148
140
|
reporterMemberState?: {
|
|
149
141
|
providerVersions?: Record<string, string>;
|
|
150
142
|
daemonBuildVersion?: string;
|
|
151
|
-
slots?: unknown[];
|
|
152
143
|
lastReportedAt?: number;
|
|
153
144
|
};
|
|
154
145
|
} | {
|
package/dist/index.js
CHANGED
|
@@ -417,10 +417,10 @@ function readInjected(value) {
|
|
|
417
417
|
}
|
|
418
418
|
function getDaemonBuildInfo() {
|
|
419
419
|
if (cached) return cached;
|
|
420
|
-
const commit = readInjected(true ? "
|
|
421
|
-
const commitShort = readInjected(true ? "
|
|
422
|
-
const version = readInjected(true ? "0.9.82-rc.
|
|
423
|
-
const builtAt = readInjected(true ? "2026-07-
|
|
420
|
+
const commit = readInjected(true ? "44f968ef212752dc22351f84bb98ffd6c4b04718" : void 0) ?? "unknown";
|
|
421
|
+
const commitShort = readInjected(true ? "44f968ef" : void 0) ?? (commit !== "unknown" ? commit.slice(0, 7) : "unknown");
|
|
422
|
+
const version = readInjected(true ? "0.9.82-rc.516" : void 0) ?? readInjected(typeof process !== "undefined" ? process.env?.ADHDEV_PKG_VERSION : void 0) ?? "unknown";
|
|
423
|
+
const builtAt = readInjected(true ? "2026-07-13T10:57:56.058Z" : void 0);
|
|
424
424
|
cached = builtAt ? { commit, commitShort, version, builtAt } : { commit, commitShort, version };
|
|
425
425
|
return cached;
|
|
426
426
|
}
|
|
@@ -3675,8 +3675,6 @@ function normalizeProviderPriority(policy) {
|
|
|
3675
3675
|
function resolveNodeCapabilitySlots(node) {
|
|
3676
3676
|
const explicit = normalizeNodeCapabilitySlots(node?.policy?.slots);
|
|
3677
3677
|
if (explicit.length) return explicit;
|
|
3678
|
-
const mirrored = normalizeNodeCapabilitySlots(node?.reportedMemberState?.slots);
|
|
3679
|
-
if (mirrored.length) return mirrored;
|
|
3680
3678
|
let difficultyBrains;
|
|
3681
3679
|
try {
|
|
3682
3680
|
difficultyBrains = getDifficultyBrains();
|
|
@@ -3688,26 +3686,6 @@ function resolveNodeCapabilitySlots(node) {
|
|
|
3688
3686
|
difficultyBrains
|
|
3689
3687
|
});
|
|
3690
3688
|
}
|
|
3691
|
-
function resolveLocalNodeSlotsForWorkspace(workspace) {
|
|
3692
|
-
const ws = typeof workspace === "string" ? workspace.trim() : "";
|
|
3693
|
-
if (!ws) return [];
|
|
3694
|
-
let meshes;
|
|
3695
|
-
try {
|
|
3696
|
-
meshes = listMeshes();
|
|
3697
|
-
} catch {
|
|
3698
|
-
return [];
|
|
3699
|
-
}
|
|
3700
|
-
for (const mesh of Array.isArray(meshes) ? meshes : []) {
|
|
3701
|
-
for (const node of Array.isArray(mesh?.nodes) ? mesh.nodes : []) {
|
|
3702
|
-
const nodeWs = typeof node?.workspace === "string" ? node.workspace : "";
|
|
3703
|
-
if (nodeWs && meshWorkspacesEquivalent(nodeWs, ws)) {
|
|
3704
|
-
const slots = resolveNodeCapabilitySlots({ policy: node?.policy });
|
|
3705
|
-
if (slots.length) return slots;
|
|
3706
|
-
}
|
|
3707
|
-
}
|
|
3708
|
-
}
|
|
3709
|
-
return [];
|
|
3710
|
-
}
|
|
3711
3689
|
var init_mesh_node_slots = __esm({
|
|
3712
3690
|
"src/mesh/mesh-node-slots.ts"() {
|
|
3713
3691
|
"use strict";
|
|
@@ -14649,14 +14627,12 @@ function recordInlineMeshDirectGitTruth(node, git, source) {
|
|
|
14649
14627
|
const reporterDaemonBuildVersion = readStringValue(unified?.daemonBuildVersion) ?? readStringValue(git.reporterDaemonBuildVersion) ?? (isLocalSource ? readLocalReporterDaemonBuildVersion() : null) ?? null;
|
|
14650
14628
|
if (reporterDaemonBuildVersion) node.reportedDaemonBuildVersion = reporterDaemonBuildVersion;
|
|
14651
14629
|
if (!isLocalSource) {
|
|
14652
|
-
const reportedSlots = normalizeNodeCapabilitySlots(unified?.slots);
|
|
14653
14630
|
const mirrored = {
|
|
14654
14631
|
...reporterProviderVersions ? { providerVersions: reporterProviderVersions } : {},
|
|
14655
14632
|
...reporterDaemonBuildVersion ? { daemonBuildVersion: reporterDaemonBuildVersion } : {},
|
|
14656
|
-
...reportedSlots.length ? { slots: reportedSlots } : {},
|
|
14657
14633
|
lastReportedAt: readNumberValue(unified?.lastReportedAt) ?? checkedAt
|
|
14658
14634
|
};
|
|
14659
|
-
if (mirrored.providerVersions || mirrored.daemonBuildVersion
|
|
14635
|
+
if (mirrored.providerVersions || mirrored.daemonBuildVersion) {
|
|
14660
14636
|
node.reportedMemberState = mirrored;
|
|
14661
14637
|
}
|
|
14662
14638
|
}
|
|
@@ -14674,15 +14650,13 @@ function normalizeReportedMemberState(value) {
|
|
|
14674
14650
|
const raw = value;
|
|
14675
14651
|
const providerVersions = readProviderVersionsRecord(raw.providerVersions);
|
|
14676
14652
|
const daemonBuildVersion = readStringValue(raw.daemonBuildVersion);
|
|
14677
|
-
const slots = normalizeNodeCapabilitySlots(raw.slots);
|
|
14678
14653
|
const lastReportedAt = readNumberValue(raw.lastReportedAt);
|
|
14679
|
-
if (!providerVersions && !daemonBuildVersion &&
|
|
14654
|
+
if (!providerVersions && !daemonBuildVersion && lastReportedAt === void 0) {
|
|
14680
14655
|
return null;
|
|
14681
14656
|
}
|
|
14682
14657
|
return {
|
|
14683
14658
|
...providerVersions ? { providerVersions } : {},
|
|
14684
14659
|
...daemonBuildVersion ? { daemonBuildVersion } : {},
|
|
14685
|
-
...slots.length ? { slots } : {},
|
|
14686
14660
|
...lastReportedAt !== void 0 ? { lastReportedAt } : {}
|
|
14687
14661
|
};
|
|
14688
14662
|
}
|
|
@@ -29583,11 +29557,9 @@ async function handleGitCommand(command, args, services = defaultGitCommandServi
|
|
|
29583
29557
|
})();
|
|
29584
29558
|
const reporterProviderVersions = reporterVersions.providerVersions && Object.keys(reporterVersions.providerVersions).length > 0 ? reporterVersions.providerVersions : void 0;
|
|
29585
29559
|
const reporterDaemonBuildVersion = typeof reporterVersions.daemonBuildVersion === "string" && reporterVersions.daemonBuildVersion.trim() ? reporterVersions.daemonBuildVersion.trim() : void 0;
|
|
29586
|
-
const
|
|
29587
|
-
const reporterMemberState = reporterProviderVersions || reporterDaemonBuildVersion || reporterSlots ? {
|
|
29560
|
+
const reporterMemberState = reporterProviderVersions || reporterDaemonBuildVersion ? {
|
|
29588
29561
|
...reporterProviderVersions ? { providerVersions: reporterProviderVersions } : {},
|
|
29589
29562
|
...reporterDaemonBuildVersion ? { daemonBuildVersion: reporterDaemonBuildVersion } : {},
|
|
29590
|
-
...reporterSlots ? { slots: reporterSlots } : {},
|
|
29591
29563
|
lastReportedAt: Date.now()
|
|
29592
29564
|
} : void 0;
|
|
29593
29565
|
return {
|
|
@@ -70921,7 +70893,6 @@ var SessionRegistry = class {
|
|
|
70921
70893
|
init_logger();
|
|
70922
70894
|
init_runtime_defaults();
|
|
70923
70895
|
init_config();
|
|
70924
|
-
init_mesh_node_slots();
|
|
70925
70896
|
init_mesh_events();
|
|
70926
70897
|
init_mesh_reconcile_loop();
|
|
70927
70898
|
init_coordinator_registry();
|
|
@@ -71063,24 +71034,26 @@ async function initDaemonComponents(config) {
|
|
|
71063
71034
|
instanceManager,
|
|
71064
71035
|
sessionRegistry,
|
|
71065
71036
|
gitCommandServices: createDefaultGitCommandServices({
|
|
71066
|
-
// T7
|
|
71067
|
-
//
|
|
71068
|
-
//
|
|
71069
|
-
//
|
|
71070
|
-
//
|
|
71071
|
-
//
|
|
71072
|
-
//
|
|
71073
|
-
//
|
|
71074
|
-
//
|
|
71075
|
-
//
|
|
71076
|
-
|
|
71037
|
+
// T7: fold this daemon's cached provider versions + build version onto the
|
|
71038
|
+
// git_status envelope so the mesh coordinator self-heals each node's
|
|
71039
|
+
// providerVersions/build (the blue version chips) — these are per-machine
|
|
71040
|
+
// RUNTIME facts (e.g. this node has claude-cli@2.1.168 while the
|
|
71041
|
+
// coordinator has @2.1.170), so they stay reported. Non-blocking: reads a
|
|
71042
|
+
// TTL cache, lazily refreshed. (setDefaultProviderLoader is registered
|
|
71043
|
+
// above so getCachedProviderVersions is not empty — see the 380556d3
|
|
71044
|
+
// version-chip lesson.)
|
|
71045
|
+
//
|
|
71046
|
+
// Slots are NOT reported: they are coordinator-owned config
|
|
71047
|
+
// (node.policy.slots for every node, resolved via
|
|
71048
|
+
// resolveNodeCapabilitySlots), not a per-machine runtime fact — the
|
|
71049
|
+
// reporter round-trip for slots was removed (REMOTE-NODE-SLOTS-
|
|
71050
|
+
// COORDINATOR-LOCAL fix).
|
|
71051
|
+
getReporterProviderVersions: () => {
|
|
71077
71052
|
const providerVersions = getCachedProviderVersions(providerLoader);
|
|
71078
71053
|
const daemonBuildVersion = getDaemonBuildInfo().version;
|
|
71079
|
-
const slots = resolveLocalNodeSlotsForWorkspace(workspace);
|
|
71080
71054
|
return {
|
|
71081
71055
|
...Object.keys(providerVersions).length > 0 ? { providerVersions } : {},
|
|
71082
|
-
...daemonBuildVersion && daemonBuildVersion !== "unknown" ? { daemonBuildVersion } : {}
|
|
71083
|
-
...slots.length > 0 ? { slots } : {}
|
|
71056
|
+
...daemonBuildVersion && daemonBuildVersion !== "unknown" ? { daemonBuildVersion } : {}
|
|
71084
71057
|
};
|
|
71085
71058
|
}
|
|
71086
71059
|
}),
|