@adhdev/daemon-core 0.9.82-rc.460 → 0.9.82-rc.461

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.
@@ -703,6 +703,23 @@ export interface RepoMeshNodeCapabilities {
703
703
  canPush?: boolean;
704
704
  readOnly?: boolean;
705
705
  userLabels?: string[];
706
+ /**
707
+ * Detected provider CLI/ACP versions on this node, keyed by provider id
708
+ * (e.g. `{ 'claude-cli': '1.2.3', 'codex-cli': '0.9.0' }`). Populated from the
709
+ * same CLI detection pass that feeds providerPriority (see buildProviderVersions
710
+ * over detectCLIs' CLIInfo[]). Absent/undefined when detection has not run or a
711
+ * daemon predates the exposure — never a hard signal, purely observability so a
712
+ * coordinator can spot a provider-version skew across nodes before dispatch.
713
+ * Additive: existing status consumers ignore it.
714
+ */
715
+ providerVersions?: Record<string, string>;
716
+ /**
717
+ * The daemon build version (package.json version baked into the running bundle,
718
+ * see getDaemonBuildInfo().version) that detected the above providerVersions.
719
+ * Complements the commit-level daemonBuild stamp with a human-readable version
720
+ * for node-card rendering. Absent when the build define was not injected.
721
+ */
722
+ daemonBuildVersion?: string;
706
723
  }
707
724
 
708
725
  export interface DetectedCommand {
@@ -849,6 +866,19 @@ export interface LocalMeshNodeEntry {
849
866
  */
850
867
  reportedPlatform?: string;
851
868
  reportedArch?: string;
869
+ /**
870
+ * Live, self-healed provider CLI/ACP versions reported by the daemon that owns
871
+ * this node's workspace, carried on the git_status envelope (reporterProviderVersions)
872
+ * and persisted by the coordinator on each direct git probe — mirrors the
873
+ * reportedPlatform/reportedArch self-heal pattern. Auto-detected truth, overwritten
874
+ * by the next report so a stale value never sticks. Absent until the first probe
875
+ * carrying versions succeeds. Surfaced as RepoMeshNodeStatus.providerVersions.
876
+ */
877
+ reportedProviderVersions?: Record<string, string>;
878
+ /** Live, self-healed daemon build version (getDaemonBuildInfo().version) of the
879
+ * owning daemon, carried on the git_status envelope (reporterDaemonBuildVersion)
880
+ * alongside the provider versions. Absent until first reported. */
881
+ reportedDaemonBuildVersion?: string;
852
882
  /**
853
883
  * The operator-set machine nickname (config.machineNickname) of the daemon
854
884
  * that owns this node's workspace. The local coordinator stamps its own
@@ -974,6 +1004,44 @@ export interface RepoMeshStatus {
974
1004
  * optional. Mirrors the MCP `mesh_status` tool's `magiActivity` field.
975
1005
  */
976
1006
  magiActivity?: MeshMagiActivitySummary[];
1007
+ /**
1008
+ * T7 (visibility 7-2b): provider CLI/ACP version skew across nodes. Each entry
1009
+ * names a provider running ≥2 distinct versions across the nodes that reported
1010
+ * it, with the node ids per version. Observational only — never a dispatch
1011
+ * blocker. Omitted when every reported provider is uniform (or none reported).
1012
+ * Mirrors the MCP `mesh_status` tool's `providerVersionSkew` field.
1013
+ */
1014
+ providerVersionSkew?: MeshProviderVersionSkew[];
1015
+ /** Human-readable companion warning to providerVersionSkew. Omitted when no skew. */
1016
+ providerVersionSkewWarning?: string;
1017
+ /**
1018
+ * T7 (B4): mesh-protocol-v2 adoption metrics for the batch of pending events
1019
+ * surfaced in the drain backing this status. Snapshot, not a durable counter.
1020
+ * Omitted when nothing was drained. Mirrors the MCP tool's meshProtocolMetrics.
1021
+ */
1022
+ meshProtocolMetrics?: MeshProtocolMetrics;
1023
+ }
1024
+
1025
+ /** One provider's version skew across mesh nodes (see RepoMeshStatus.providerVersionSkew). */
1026
+ export interface MeshProviderVersionSkew {
1027
+ /** Provider id (e.g. 'claude-cli'). */
1028
+ provider: string;
1029
+ /** Each distinct detected version and the node ids running it. */
1030
+ versions: Array<{ version: string; nodeIds: string[] }>;
1031
+ }
1032
+
1033
+ /** Mesh-protocol-v2 adoption snapshot over one drain (see RepoMeshStatus.meshProtocolMetrics). */
1034
+ export interface MeshProtocolMetrics {
1035
+ /** Total pending events surfaced in the drain. */
1036
+ total: number;
1037
+ /** Count carrying a v2 envelope (protocolVersion '2.0'). */
1038
+ v2: number;
1039
+ /** Count still on v1 (unstamped). */
1040
+ v1: number;
1041
+ /** v2/total, rounded to 2 decimals (0 when total is 0). */
1042
+ v2Ratio: number;
1043
+ /** Scope breakdown of the v2 events (unicast/broadcast/system/unspecified → count). */
1044
+ scopes: Record<string, number>;
977
1045
  }
978
1046
 
979
1047
  // RepoMeshSessionStatus shape now lives in @adhdev/mesh-shared (shared with
@@ -1026,6 +1094,17 @@ export interface RepoMeshNodeStatus {
1026
1094
  */
1027
1095
  gitProbePending?: boolean;
1028
1096
  providers: string[];
1097
+ /**
1098
+ * Detected provider CLI/ACP versions on this node, keyed by provider id. Mirrors
1099
+ * RepoMeshNodeCapabilities.providerVersions onto the status snapshot so the mesh
1100
+ * UI / coordinator prompt can render per-provider versions and flag a version
1101
+ * skew across nodes. Optional — omitted by daemons predating the exposure or when
1102
+ * detection has not run. Additive; existing consumers ignore it. */
1103
+ providerVersions?: Record<string, string>;
1104
+ /** Human-readable daemon build version (getDaemonBuildInfo().version) of the
1105
+ * daemon that owns this node. Complements the per-daemon commit stamp
1106
+ * (daemonBuilds) for node-card display. Omitted when unknown. */
1107
+ daemonBuildVersion?: string;
1029
1108
  activeSessions: string[];
1030
1109
  activeSessionDetails?: RepoMeshSessionStatus[];
1031
1110
  providerPriority?: string[];