Documentation
¶
Overview ¶
Package tools holds the brainjar MCP tool implementations. Each file groups the tools for one resource; shared helpers live here.
Index ¶
- func RegisterBrain(s *mcp.Server, ws models.WorkspaceID, app BrainApp)
- func RegisterCompose(s *mcp.Server, ws models.WorkspaceID, app ComposeApp)
- func RegisterPersona(s *mcp.Server, ws models.WorkspaceID, app PersonaApp)
- func RegisterRule(s *mcp.Server, ws models.WorkspaceID, app RuleApp)
- func RegisterSoul(s *mcp.Server, ws models.WorkspaceID, app SoulApp)
- func RegisterState(s *mcp.Server, ws models.WorkspaceID, app StateApp)
- func RegisterStatus(s *mcp.Server, ws models.WorkspaceID, app StateApp)
- type BrainApp
- type ComposeApp
- type PersonaApp
- type RuleApp
- type SoulApp
- type StateApp
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterBrain ¶
func RegisterBrain(s *mcp.Server, ws models.WorkspaceID, app BrainApp)
func RegisterCompose ¶
func RegisterCompose(s *mcp.Server, ws models.WorkspaceID, app ComposeApp)
func RegisterPersona ¶
func RegisterPersona(s *mcp.Server, ws models.WorkspaceID, app PersonaApp)
func RegisterRule ¶
func RegisterRule(s *mcp.Server, ws models.WorkspaceID, app RuleApp)
func RegisterSoul ¶
func RegisterSoul(s *mcp.Server, ws models.WorkspaceID, app SoulApp)
RegisterSoul mounts soul_list / soul_show / soul_save / soul_delete on the server, bound to the given workspace and app.
func RegisterState ¶
func RegisterState(s *mcp.Server, ws models.WorkspaceID, app StateApp)
func RegisterStatus ¶
func RegisterStatus(s *mcp.Server, ws models.WorkspaceID, app StateApp)
Types ¶
type BrainApp ¶
type BrainApp interface {
List(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Brain, error)
Get(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Brain, error)
Upsert(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug, soulSlug, personaSlug models.Slug, ruleSlugs []models.Slug, modelPrefs *models.ModelPrefs) (*models.Brain, error)
Delete(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error
}
type ComposeApp ¶
type ComposeApp interface {
Compose(ctx context.Context, req models.ComposeRequest) (*models.ComposeResponse, error)
}
type PersonaApp ¶
type PersonaApp interface {
List(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Persona, error)
Get(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Persona, error)
Upsert(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug, content string, bundledRules []models.Slug) (*models.Persona, error)
Delete(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error
}
type RuleApp ¶
type RuleApp interface {
List(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Rule, error)
Get(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Rule, error)
Upsert(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug, entries []models.RuleEntry) (*models.Rule, error)
Delete(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error
}
type SoulApp ¶
type SoulApp interface {
List(ctx context.Context, workspaceID models.WorkspaceID) ([]models.Soul, error)
Get(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) (*models.Soul, error)
Upsert(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug, content string) (*models.Soul, error)
Delete(ctx context.Context, workspaceID models.WorkspaceID, slug models.Slug) error
}
SoulApp is the subset of apps.SoulApp the soul tools depend on.
type StateApp ¶
type StateApp interface {
ResolveForScope(ctx context.Context, wsID models.WorkspaceID, projectSlug, sessionID string) (*models.EffectiveState, error)
FindLayers(ctx context.Context, wsID models.WorkspaceID, projectSlug, sessionID string) ([]models.LayerOverride, error)
SetState(ctx context.Context, wsID models.WorkspaceID, scopeType models.ScopeType, referenceID string, partial *models.LayerOverride) error
DeleteState(ctx context.Context, wsID models.WorkspaceID, scopeType models.ScopeType, referenceID string) error
}
Click to show internal directories.
Click to hide internal directories.