mcp

package
v0.64.1 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateSessionInput

type CreateSessionInput struct {
	Name            string `json:"name"                       jsonschema:"Human-readable session name"`
	Agent           string `json:"agent,omitempty"            jsonschema:"Agent type (e.g. claude, codex, agy). Defaults to configured default."`
	Repo            string `json:"repo,omitempty"             jsonschema:"Path to the git repository"`
	Base            string `json:"base,omitempty"             jsonschema:"Base branch to create worktree from"`
	Prompt          string `json:"prompt,omitempty"           jsonschema:"Initial prompt to send to the agent"`
	Model           string `json:"model,omitempty"            jsonschema:"Model for the agent to use (expands {model} in agent args)"`
	NoRepo          bool   `json:"no_repo,omitempty"          jsonschema:"Create session without a git worktree"`
	InPlace         bool   `json:"in_place,omitempty"         jsonschema:"Run agent directly in repo without creating a worktree"`
	AllowConcurrent bool   `json:"allow_concurrent,omitempty" jsonschema:"Allow multiple in-place sessions on same repo"`
}

type CreateSessionOutput

type CreateSessionOutput struct {
	ID           string `json:"id"`
	Name         string `json:"name"`
	WorktreePath string `json:"worktree_path,omitempty"`
	Branch       string `json:"branch,omitempty"`
	Agent        string `json:"agent"`
	Status       string `json:"status"`
}

type ListSessionsInput

type ListSessionsInput struct{}

type ListSessionsOutput

type ListSessionsOutput struct {
	Sessions []SessionInfoOutput `json:"sessions"`
}

type MessageOutput

type MessageOutput struct {
	ID         string `json:"id"`
	Seq        int64  `json:"seq"`
	Stream     string `json:"stream"`
	SenderID   string `json:"sender_id"`
	SenderName string `json:"sender_name,omitempty"`
	Body       string `json:"body"`
	ThreadID   string `json:"thread_id,omitempty"`
	ReplyTo    string `json:"reply_to,omitempty"`
	CreatedAt  string `json:"created_at"`
}

type PublishMessageInput

type PublishMessageInput struct {
	Topic    string `json:"topic"               jsonschema:"Topic/stream name to publish to"`
	Body     string `json:"body"                jsonschema:"Message body"`
	Sender   string `json:"sender,omitempty"    jsonschema:"Sender name for attribution"`
	ThreadID string `json:"thread_id,omitempty" jsonschema:"Thread ID for threaded conversations"`
	ReplyTo  string `json:"reply_to,omitempty"  jsonschema:"Topic where replies should be sent"`
}

type PublishMessageOutput

type PublishMessageOutput struct {
	ID        string `json:"id"`
	Seq       int64  `json:"seq"`
	Stream    string `json:"stream"`
	CreatedAt string `json:"created_at"`
}

type ReadInboxInput added in v0.54.0

type ReadInboxInput struct {
	All      bool   `json:"all,omitempty"       jsonschema:"Read all messages instead of only unread"`
	ThreadID string `json:"thread_id,omitempty" jsonschema:"Filter to a specific thread"`
	Ack      bool   `json:"ack,omitempty"       jsonschema:"Acknowledge messages after reading"`
}

type ReadMessagesInput

type ReadMessagesInput struct {
	Topic      string `json:"topic"                jsonschema:"Topic/stream name to read from"`
	Subscriber string `json:"subscriber,omitempty" jsonschema:"Subscriber ID for tracking read position"`
	All        bool   `json:"all,omitempty"        jsonschema:"Read all messages instead of only unread"`
	ThreadID   string `json:"thread_id,omitempty"  jsonschema:"Filter to a specific thread"`
	Ack        bool   `json:"ack,omitempty"        jsonschema:"Acknowledge messages after reading"`
}

type ReadMessagesOutput

type ReadMessagesOutput struct {
	Messages []MessageOutput `json:"messages"`
}

type Server

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

func NewServer

func NewServer(cfg *config.Config, paths config.Paths, configFile string) *Server

func (*Server) Run

func (s *Server) Run(ctx context.Context) error

type SessionInfoOutput

type SessionInfoOutput struct {
	ID             string `json:"id"`
	Name           string `json:"name"`
	RepoPath       string `json:"repo_path,omitempty"`
	RepoName       string `json:"repo_name,omitempty"`
	WorktreePath   string `json:"worktree_path,omitempty"`
	Branch         string `json:"branch,omitempty"`
	Agent          string `json:"agent"`
	AgentSessionID string `json:"agent_session_id,omitempty"`
	Model          string `json:"model,omitempty"`
	Status         string `json:"status"`
	AgentStatus    string `json:"agent_status,omitempty"`
	ExitCode       *int   `json:"exit_code,omitempty"`
	CreatedAt      string `json:"created_at"`
	LastAttachedAt string `json:"last_attached_at,omitempty"`
	Dirty          bool   `json:"dirty,omitempty"`
	UnpushedCount  int    `json:"unpushed_count,omitempty"`
}

type SessionStatusInput

type SessionStatusInput struct {
	Session string `json:"session" jsonschema:"Session name or ID"`
}

type SubscribeInput

type SubscribeInput struct {
	Topic      string `json:"topic"                jsonschema:"Topic/stream name to subscribe to"`
	Subscriber string `json:"subscriber,omitempty" jsonschema:"Subscriber ID for tracking read position"`
	ThreadID   string `json:"thread_id,omitempty"  jsonschema:"Filter to a specific thread"`
	Ack        bool   `json:"ack,omitempty"        jsonschema:"Acknowledge the message after receiving it"`
}

type SubscribeOutput

type SubscribeOutput struct {
	Message MessageOutput `json:"message"`
}

Jump to

Keyboard shortcuts

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