graph.Served takes the node-engine contract's haves (running, healthy), so a caller needs no adapter; the checker reads them through nodeengineclient (B7j; ADR 0634 §1, §2; issue 1966)

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
2026-11-05 16:01:48 +01:00
parent f938a53e09
commit 5fe482edec
3 changed files with 33 additions and 8 deletions
@@ -14,6 +14,8 @@ import (
"github.com/nats-io/nats.go/jetstream"
"git.novox.be/novox/mesh-delivery/modules/mesh-delivery-builder/buildrun"
"git.novox.be/novox/mesh-contracts/go/clients/nodeengineclient"
nodeengine "git.novox.be/novox/mesh-contracts/go/seats/nodeengine"
"git.novox.be/novox/mesh-sdk/go/catalogue"
"git.novox.be/novox/mesh-sdk/go/delivery"
"git.novox.be/novox/mesh-sdk/go/process"
@@ -154,7 +156,7 @@ func (n nodeNames) Names(ctx context.Context) ([]string, error) {
}
var out []string
for key := range lister.Keys() {
if node, _, isNode, err := delivery.ParseHaveKey(key); err == nil && isNode {
if node, _, isNode, err := nodeengineclient.ParseHaveKey(key); err == nil && isNode {
out = append(out, node)
}
}
@@ -180,9 +182,9 @@ func (r runningServes) Served(ctx context.Context) (func(string) bool, error) {
if err != nil {
return nil, err
}
haves := map[string]map[string]delivery.Have{}
haves := map[string]map[string]nodeengine.HaveByNodeModuleValue{}
for key := range lister.Keys() {
node, module, isNode, err := delivery.ParseHaveKey(key)
node, module, isNode, err := nodeengineclient.ParseHaveKey(key)
if err != nil || isNode {
continue
}
@@ -190,9 +192,9 @@ func (r runningServes) Served(ctx context.Context) (func(string) bool, error) {
if err != nil {
continue
}
if h, err := delivery.DecodeHave(e.Value()); err == nil {
if h, err := nodeengineclient.DecodeHave(e.Value()); err == nil {
if haves[node] == nil {
haves[node] = map[string]delivery.Have{}
haves[node] = map[string]nodeengine.HaveByNodeModuleValue{}
}
haves[node][module] = h
}