mcp

package
v1.331.0 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MaxMessageLength is the maximum allowed length for a message
	MaxMessageLength = 100000 // 100KB
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateMemoryInput added in v1.248.0

type CreateMemoryInput struct {
	Title   string            `json:"title"`
	Content string            `json:"content,omitempty"`
	Scope   string            `json:"scope"`
	TeamID  string            `json:"team_id,omitempty"`
	Tags    map[string]string `json:"tags,omitempty"`
}

CreateMemoryInput represents input for creating a memory

type CreateSessionInput

type CreateSessionInput struct {
	UserID      string            `json:"user_id"`
	Environment map[string]string `json:"environment,omitempty"`
	Tags        map[string]string `json:"tags,omitempty"`
	GithubToken string            `json:"github_token,omitempty"`
	Teams       []string          `json:"teams,omitempty"` // GitHub team slugs (e.g., ["org/team-a"])
}

CreateSessionInput represents input for creating a session

type CreateTaskGroupInput added in v1.247.0

type CreateTaskGroupInput struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
	Scope       string `json:"scope"` // "user" or "team"
	TeamID      string `json:"team_id,omitempty"`
}

CreateTaskGroupInput represents input for creating a task group

type CreateTaskInput added in v1.247.0

type CreateTaskInput struct {
	Title       string         `json:"title"`
	Description string         `json:"description,omitempty"`
	TaskType    string         `json:"task_type"` // "user" or "agent"
	Scope       string         `json:"scope"`     // "user" or "team"
	TeamID      string         `json:"team_id,omitempty"`
	GroupID     string         `json:"group_id,omitempty"`
	SessionID   string         `json:"session_id,omitempty"`
	Links       []TaskLinkInfo `json:"links,omitempty"`
}

CreateTaskInput represents input for creating a task

type ListMemoriesInput added in v1.248.0

type ListMemoriesInput struct {
	Scope  string            `json:"scope,omitempty"`
	TeamID string            `json:"team_id,omitempty"`
	Tags   map[string]string `json:"tags,omitempty"`
	Query  string            `json:"query,omitempty"`
}

ListMemoriesInput represents input for listing memories

type ListTasksInput added in v1.247.0

type ListTasksInput struct {
	Scope    string `json:"scope,omitempty"`
	TeamID   string `json:"team_id,omitempty"`
	GroupID  string `json:"group_id,omitempty"`
	Status   string `json:"status,omitempty"`
	TaskType string `json:"task_type,omitempty"`
}

ListTasksInput represents input for listing tasks

type MCPMemoryToolsUseCase added in v1.248.0

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

MCPMemoryToolsUseCase provides use cases for MCP memory tools

func NewMCPMemoryToolsUseCase added in v1.248.0

func NewMCPMemoryToolsUseCase(memoryRepo portrepos.MemoryRepository) *MCPMemoryToolsUseCase

NewMCPMemoryToolsUseCase creates a new MCPMemoryToolsUseCase

func (*MCPMemoryToolsUseCase) CreateMemory added in v1.248.0

func (uc *MCPMemoryToolsUseCase) CreateMemory(ctx context.Context, input CreateMemoryInput, requestingUserID string, teamIDs []string) (*MemoryInfo, error)

CreateMemory creates a new memory for the requesting user

func (*MCPMemoryToolsUseCase) DeleteMemory added in v1.248.0

func (uc *MCPMemoryToolsUseCase) DeleteMemory(ctx context.Context, memoryID, requestingUserID string, teamIDs []string) error

DeleteMemory deletes a memory for the requesting user

func (*MCPMemoryToolsUseCase) GetMemory added in v1.248.0

func (uc *MCPMemoryToolsUseCase) GetMemory(ctx context.Context, memoryID, requestingUserID string, teamIDs []string) (*MemoryInfo, error)

GetMemory retrieves a memory by ID for the requesting user

func (*MCPMemoryToolsUseCase) ListMemories added in v1.248.0

func (uc *MCPMemoryToolsUseCase) ListMemories(ctx context.Context, input ListMemoriesInput, requestingUserID string, teamIDs []string) ([]MemoryInfo, error)

ListMemories lists memories with the given filters for the requesting user

func (*MCPMemoryToolsUseCase) UpdateMemory added in v1.248.0

func (uc *MCPMemoryToolsUseCase) UpdateMemory(ctx context.Context, memoryID string, input UpdateMemoryInput, requestingUserID string, teamIDs []string) (*MemoryInfo, error)

UpdateMemory updates an existing memory for the requesting user

type MCPSessionToolsUseCase

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

MCPSessionToolsUseCase provides use cases for MCP session tools

func NewMCPSessionToolsUseCase

func NewMCPSessionToolsUseCase(
	sessionManager repositories.SessionManager,
	shareRepo repositories.ShareRepository,
	taskRepo repositories.TaskRepository,
) *MCPSessionToolsUseCase

NewMCPSessionToolsUseCase creates a new MCPSessionToolsUseCase

func (*MCPSessionToolsUseCase) CreateSession

func (uc *MCPSessionToolsUseCase) CreateSession(ctx context.Context, req *CreateSessionInput) (string, error)

CreateSession creates a new session

func (*MCPSessionToolsUseCase) DeleteSession

func (uc *MCPSessionToolsUseCase) DeleteSession(ctx context.Context, sessionID, requestingUserID string) error

DeleteSession deletes a session

func (*MCPSessionToolsUseCase) GetMessages

func (uc *MCPSessionToolsUseCase) GetMessages(ctx context.Context, sessionID, requestingUserID string) ([]Message, error)

GetMessages gets messages from a session

func (*MCPSessionToolsUseCase) GetSessionStatus

func (uc *MCPSessionToolsUseCase) GetSessionStatus(ctx context.Context, sessionID, requestingUserID string) (string, error)

GetSessionStatus gets the status of a session

func (*MCPSessionToolsUseCase) ListSessions

func (uc *MCPSessionToolsUseCase) ListSessions(ctx context.Context, status string, tags map[string]string) ([]SessionInfo, error)

ListSessions lists sessions matching the given filters

func (*MCPSessionToolsUseCase) SendMessage

func (uc *MCPSessionToolsUseCase) SendMessage(ctx context.Context, sessionID, message, msgType, requestingUserID string) (string, error)

SendMessage sends a message to a session

type MCPTaskToolsUseCase added in v1.247.0

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

MCPTaskToolsUseCase provides use cases for MCP task tools

func NewMCPTaskToolsUseCase added in v1.247.0

func NewMCPTaskToolsUseCase(
	taskRepo portrepos.TaskRepository,
	taskGroupRepo portrepos.TaskGroupRepository,
) *MCPTaskToolsUseCase

NewMCPTaskToolsUseCase creates a new MCPTaskToolsUseCase

func (*MCPTaskToolsUseCase) CreateTask added in v1.247.0

func (uc *MCPTaskToolsUseCase) CreateTask(ctx context.Context, input CreateTaskInput, requestingUserID string, teamIDs []string) (*TaskInfo, error)

CreateTask creates a new task for the requesting user

func (*MCPTaskToolsUseCase) CreateTaskGroup added in v1.247.0

func (uc *MCPTaskToolsUseCase) CreateTaskGroup(ctx context.Context, input CreateTaskGroupInput, requestingUserID string, teamIDs []string) (*TaskGroupInfo, error)

CreateTaskGroup creates a new task group for the requesting user

func (*MCPTaskToolsUseCase) DeleteTask added in v1.247.0

func (uc *MCPTaskToolsUseCase) DeleteTask(ctx context.Context, taskID, requestingUserID string, teamIDs []string) error

DeleteTask deletes a task for the requesting user

func (*MCPTaskToolsUseCase) DeleteTaskGroup added in v1.247.0

func (uc *MCPTaskToolsUseCase) DeleteTaskGroup(ctx context.Context, groupID, requestingUserID string, teamIDs []string) error

DeleteTaskGroup deletes a task group for the requesting user

func (*MCPTaskToolsUseCase) GetTask added in v1.247.0

func (uc *MCPTaskToolsUseCase) GetTask(ctx context.Context, taskID, requestingUserID string, teamIDs []string) (*TaskInfo, error)

GetTask retrieves a task by ID for the requesting user

func (*MCPTaskToolsUseCase) ListTaskGroups added in v1.247.0

func (uc *MCPTaskToolsUseCase) ListTaskGroups(ctx context.Context, scope, teamID, requestingUserID string, teamIDs []string) ([]TaskGroupInfo, error)

ListTaskGroups lists task groups for the requesting user

func (*MCPTaskToolsUseCase) ListTasks added in v1.247.0

func (uc *MCPTaskToolsUseCase) ListTasks(ctx context.Context, input ListTasksInput, requestingUserID string, teamIDs []string) ([]TaskInfo, error)

ListTasks lists tasks with the given filters for the requesting user

func (*MCPTaskToolsUseCase) UpdateTask added in v1.247.0

func (uc *MCPTaskToolsUseCase) UpdateTask(ctx context.Context, taskID string, input UpdateTaskInput, requestingUserID string, teamIDs []string) (*TaskInfo, error)

UpdateTask updates an existing task for the requesting user

type MemoryInfo added in v1.248.0

type MemoryInfo struct {
	ID        string            `json:"id"`
	Title     string            `json:"title"`
	Content   string            `json:"content"`
	Tags      map[string]string `json:"tags,omitempty"`
	Scope     string            `json:"scope"`
	OwnerID   string            `json:"owner_id"`
	TeamID    string            `json:"team_id,omitempty"`
	CreatedAt time.Time         `json:"created_at"`
	UpdatedAt time.Time         `json:"updated_at"`
}

MemoryInfo represents memory information returned by MCP tools

type Message

type Message struct {
	Role      string    `json:"role"`
	Content   string    `json:"content"`
	Timestamp time.Time `json:"timestamp"`
}

Message represents a message in the conversation

type SessionInfo

type SessionInfo struct {
	SessionID string            `json:"session_id"`
	UserID    string            `json:"user_id"`
	Status    string            `json:"status"`
	StartedAt time.Time         `json:"started_at"`
	Port      int               `json:"port"`
	Tags      map[string]string `json:"tags,omitempty"`
}

SessionInfo represents session information

type TaskGroupInfo added in v1.247.0

type TaskGroupInfo struct {
	ID          string    `json:"id"`
	Name        string    `json:"name"`
	Description string    `json:"description,omitempty"`
	Scope       string    `json:"scope"`
	OwnerID     string    `json:"owner_id"`
	TeamID      string    `json:"team_id,omitempty"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}

TaskGroupInfo represents task group information returned by MCP tools

type TaskInfo added in v1.247.0

type TaskInfo struct {
	ID          string         `json:"id"`
	Title       string         `json:"title"`
	Description string         `json:"description,omitempty"`
	Status      string         `json:"status"`
	TaskType    string         `json:"task_type"`
	Scope       string         `json:"scope"`
	OwnerID     string         `json:"owner_id"`
	TeamID      string         `json:"team_id,omitempty"`
	GroupID     string         `json:"group_id,omitempty"`
	SessionID   string         `json:"session_id,omitempty"`
	Links       []TaskLinkInfo `json:"links"`
	CreatedAt   time.Time      `json:"created_at"`
	UpdatedAt   time.Time      `json:"updated_at"`
}

TaskInfo represents task information returned by MCP tools

type TaskLinkInfo added in v1.247.0

type TaskLinkInfo struct {
	ID    string `json:"id"`
	URL   string `json:"url"`
	Title string `json:"title,omitempty"`
}

TaskLinkInfo represents a link associated with a task

type UpdateMemoryInput added in v1.248.0

type UpdateMemoryInput struct {
	Title   *string            `json:"title,omitempty"`
	Content *string            `json:"content,omitempty"`
	Tags    *map[string]string `json:"tags,omitempty"`
}

UpdateMemoryInput represents input for updating a memory

type UpdateTaskInput added in v1.247.0

type UpdateTaskInput struct {
	Title       *string         `json:"title,omitempty"`
	Description *string         `json:"description,omitempty"`
	Status      *string         `json:"status,omitempty"`
	GroupID     *string         `json:"group_id,omitempty"`
	SessionID   *string         `json:"session_id,omitempty"`
	Links       *[]TaskLinkInfo `json:"links,omitempty"`
}

UpdateTaskInput represents input for updating a task

Jump to

Keyboard shortcuts

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