Files
mesh-delivery/sdk/toolrunner/toolrunner.go
T
jschoubben e3ce4b095c
mesh/delivery merged: source.main moved to novox/mesh-delivery@007c982ae670
mesh/delivery-group group fix/l3-words-after-judge merged: every member is merged
mesh/check being carried to e3ce4b095ce9 on 007c982ae670 | from 4154c3040cee, mesh-catalog e6de42630355, mesh-tools 01ee2ef39488
Count mesh-sdk's kept RuntimeModule as the tool runner while node-tools' trunk manifest leaves tool-runner out
The running indexer refuses the tool-runner word, so node-tools' trunk manifest takes it out again (mesh-tools
fix/l3-words-after-judge); trunk's judge then refuses node-tools twice (its waits, its runtime bundle) and mesh-grants
would compose its node users as plain modules. One helper, sdk/toolrunner.Is, counts a manifest as the tool runner
when it says tool-runner or its module is the SDK's deprecated catalogue.RuntimeModule; the judge's waits and
undelivered-bundle rules and mesh-grants' declared records ask it. It goes once tool-runner is back on node-tools'
trunk manifest (issue 774, issue 1585 note 42).

Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 21:36:26 +01:00

17 lines
982 B
Go

// Package toolrunner says whether a manifest is the node's tool runner, for the parts of mesh-delivery that judge or
// compose one (the indexer's judge, mesh-grants).
package toolrunner
import "git.novox.be/novox/mesh-sdk/go/catalogue"
// Is says whether a manifest is the node's tool runner: it says so (`tool-runner`, catalogue.IsToolRunner), or its module
// is mesh-sdk's deprecated catalogue.RuntimeModule.
//
// The second clause is kept only while node-tools' manifest on mesh-tools' trunk does not say `tool-runner`: the running
// indexer refuses that word, so node-tools' trunk manifest leaves it out until the indexer that knows it is delivered
// (issue 774, issue 1585 note 42). It goes, with this helper's use of catalogue.RuntimeModule, once `tool-runner` is
// back on node-tools' trunk manifest; then every caller asks catalogue.IsToolRunner alone.
func Is(m catalogue.Manifest) bool {
return catalogue.IsToolRunner(m) || m.Module == catalogue.RuntimeModule
}