Some checks failed
Security Scan / security (push) Failing after 25s
- Import paths: forge.lthn.ai/core/go → dappco.re/go/core
- Import paths: forge.lthn.ai/core/go-log → dappco.re/go/core/log
- Import paths: forge.lthn.ai/core/go-io → dappco.re/go/core/io
- RegisterTask → c.Action("name", handler) across all 15 services
- QueryHandler signature: (any, bool, error) → core.Result
- PERFORM(task) → Action.Run(ctx, opts)
- QUERY returns single core.Result (not 3 values)
- All 17 packages build and test clean on v0.8.0-alpha.1
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
38 lines
1 KiB
Go
38 lines
1 KiB
Go
// pkg/mcp/subsystem.go
|
|
package mcp
|
|
|
|
import (
|
|
core "dappco.re/go/core"
|
|
"github.com/modelcontextprotocol/go-sdk/mcp"
|
|
)
|
|
|
|
// Subsystem translates MCP tool calls to Core IPC messages for GUI operations.
|
|
type Subsystem struct {
|
|
core *core.Core
|
|
}
|
|
|
|
// New(c) creates a display MCP subsystem backed by a Core instance.
|
|
// sub := mcp.New(c); sub.RegisterTools(server)
|
|
func New(c *core.Core) *Subsystem {
|
|
return &Subsystem{core: c}
|
|
}
|
|
|
|
func (s *Subsystem) Name() string { return "display" }
|
|
|
|
func (s *Subsystem) RegisterTools(server *mcp.Server) {
|
|
s.registerWebviewTools(server)
|
|
s.registerWindowTools(server)
|
|
s.registerLayoutTools(server)
|
|
s.registerScreenTools(server)
|
|
s.registerClipboardTools(server)
|
|
s.registerDialogTools(server)
|
|
s.registerNotificationTools(server)
|
|
s.registerTrayTools(server)
|
|
s.registerEnvironmentTools(server)
|
|
s.registerBrowserTools(server)
|
|
s.registerContextMenuTools(server)
|
|
s.registerKeybindingTools(server)
|
|
s.registerDockTools(server)
|
|
s.registerLifecycleTools(server)
|
|
s.registerEventsTools(server)
|
|
}
|