@@ -345,11 +345,18 @@
345 345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Start HTTP REST API server.
346 346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var llmCfg *config.LLMConfig
347 347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if len(cfg.LLM.Backends) > 0 {
348 348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
llmCfg = &cfg.LLM
349 349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- apiSrv := api.New(reg, tokens, bridgeBot, policyStore, adminStore, llmCfg, topoMgr, cfgStore, cfg.TLS.Domain, log)
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Pass an explicit nil interface when topology is not configured.
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // A nil *topology.Manager passed as a topologyManager interface is
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // non-nil (Go nil interface trap) and causes panics in setAgentModes.
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var topoIface api.TopologyManager
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if topoMgr != nil {
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ topoIface = topoMgr
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ apiSrv := api.New(reg, tokens, bridgeBot, policyStore, adminStore, llmCfg, topoIface, cfgStore, cfg.TLS.Domain, log)
351 358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
handler := apiSrv.Handler()
352 359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
353 360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var httpServer, tlsServer *http.Server
354 361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
355 362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if cfg.TLS.Domain != "" {
356 363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!