heimdall

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 27, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package heimdall provides the Heimdall SLM Management plugin.

Heimdall is the all-seeing guardian of the SLM subsystem, named after the Norse god who watches over Bifröst. Like its namesake, Heimdall coordinates repository awareness and controls access to the cognitive capabilities of NornicDB.

Plugin Type

This is a Heimdall plugin, which means it provides agentic actions and prompt-shaping capabilities that the coding model can use.

Actions Provided

  • heimdall_watcher_help - List available coding-agent tools
  • heimdall_watcher_status - Get coding-agent status and current capabilities
  • heimdall_watcher_repo_map - Summarize repository structure from the graph
  • heimdall_watcher_search - Search the graph for relevant code/domain context
  • heimdall_watcher_query - Run graph-backed Cypher for targeted investigation

Example Usage

User: "Help me understand this repository before making a change" Heimdall maps to: heimdall_watcher_repo_map Result: Returns repository-focused graph context for the coding model

Building as Plugin

To build as a standalone .so plugin:

go build -buildmode=plugin -o heimdall.so ./plugins/heimdall

Built-in Registration

This plugin is also registered as a built-in plugin, so no .so file is needed.

Index

Constants

This section is empty.

Variables

Plugin is the exported plugin variable. For .so plugins, export as: var Plugin heimdall.HeimdallPlugin = &WatcherPlugin{}

Functions

This section is empty.

Types

type WatcherPlugin

type WatcherPlugin struct {
	// contains filtered or unexported fields
}

WatcherPlugin implements heimdall.HeimdallPlugin for SLM management. The Watcher is Heimdall's built-in coding agent coordinator.

This plugin also demonstrates autonomous action invocation: - Shapes prompts with repository-aware context - Exposes graph-backed coding actions to the model - Uses HeimdallInvoker to synthesize action results into coding guidance - Maintains durable summarized conversation state for long context windows

func (*WatcherPlugin) Actions

func (p *WatcherPlugin) Actions() map[string]heimdall.ActionFunc

func (*WatcherPlugin) Config

func (p *WatcherPlugin) Config() map[string]interface{}

func (*WatcherPlugin) ConfigSchema

func (p *WatcherPlugin) ConfigSchema() map[string]interface{}

func (*WatcherPlugin) Configure

func (p *WatcherPlugin) Configure(settings map[string]interface{}) error

func (*WatcherPlugin) Description

func (p *WatcherPlugin) Description() string

func (*WatcherPlugin) Health

func (*WatcherPlugin) Initialize

func (p *WatcherPlugin) Initialize(ctx heimdall.SubsystemContext) error

func (*WatcherPlugin) Metrics

func (p *WatcherPlugin) Metrics() map[string]interface{}

func (*WatcherPlugin) Name

func (p *WatcherPlugin) Name() string

func (*WatcherPlugin) PostExecute

func (p *WatcherPlugin) PostExecute(ctx *heimdall.PostExecuteContext)

func (*WatcherPlugin) PreExecute

func (p *WatcherPlugin) PreExecute(ctx *heimdall.PreExecuteContext, done func(heimdall.PreExecuteResult))

func (*WatcherPlugin) PrePrompt

func (p *WatcherPlugin) PrePrompt(ctx *heimdall.PromptContext) error

func (*WatcherPlugin) RecentEvents

func (p *WatcherPlugin) RecentEvents(limit int) []heimdall.SubsystemEvent

func (*WatcherPlugin) Shutdown

func (p *WatcherPlugin) Shutdown() error

func (*WatcherPlugin) Start

func (p *WatcherPlugin) Start() error

func (*WatcherPlugin) Status

func (*WatcherPlugin) Stop

func (p *WatcherPlugin) Stop() error

func (*WatcherPlugin) Summary

func (p *WatcherPlugin) Summary() string

func (*WatcherPlugin) Synthesize

func (p *WatcherPlugin) Synthesize(ctx *heimdall.SynthesisContext, done func(response string))

func (*WatcherPlugin) Type

func (p *WatcherPlugin) Type() string

func (*WatcherPlugin) Version

func (p *WatcherPlugin) Version() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL