Documentation
¶
Index ¶
- Constants
- type CreateMemoryInput
- type CreateSessionInput
- type CreateTaskGroupInput
- type CreateTaskInput
- type ListMemoriesInput
- type ListTasksInput
- type MCPMemoryToolsUseCase
- func (uc *MCPMemoryToolsUseCase) CreateMemory(ctx context.Context, input CreateMemoryInput, requestingUserID string, ...) (*MemoryInfo, error)
- func (uc *MCPMemoryToolsUseCase) DeleteMemory(ctx context.Context, memoryID, requestingUserID string, teamIDs []string) error
- func (uc *MCPMemoryToolsUseCase) GetMemory(ctx context.Context, memoryID, requestingUserID string, teamIDs []string) (*MemoryInfo, error)
- func (uc *MCPMemoryToolsUseCase) ListMemories(ctx context.Context, input ListMemoriesInput, requestingUserID string, ...) ([]MemoryInfo, error)
- func (uc *MCPMemoryToolsUseCase) UpdateMemory(ctx context.Context, memoryID string, input UpdateMemoryInput, ...) (*MemoryInfo, error)
- type MCPSessionToolsUseCase
- func (uc *MCPSessionToolsUseCase) CreateSession(ctx context.Context, req *CreateSessionInput) (string, error)
- func (uc *MCPSessionToolsUseCase) DeleteSession(ctx context.Context, sessionID, requestingUserID string) error
- func (uc *MCPSessionToolsUseCase) GetMessages(ctx context.Context, sessionID, requestingUserID string) ([]Message, error)
- func (uc *MCPSessionToolsUseCase) GetSessionStatus(ctx context.Context, sessionID, requestingUserID string) (string, error)
- func (uc *MCPSessionToolsUseCase) ListSessions(ctx context.Context, status string, tags map[string]string) ([]SessionInfo, error)
- func (uc *MCPSessionToolsUseCase) SendMessage(ctx context.Context, sessionID, message, msgType, requestingUserID string) (string, error)
- type MCPTaskToolsUseCase
- func (uc *MCPTaskToolsUseCase) CreateTask(ctx context.Context, input CreateTaskInput, requestingUserID string, ...) (*TaskInfo, error)
- func (uc *MCPTaskToolsUseCase) CreateTaskGroup(ctx context.Context, input CreateTaskGroupInput, requestingUserID string, ...) (*TaskGroupInfo, error)
- func (uc *MCPTaskToolsUseCase) DeleteTask(ctx context.Context, taskID, requestingUserID string, teamIDs []string) error
- func (uc *MCPTaskToolsUseCase) DeleteTaskGroup(ctx context.Context, groupID, requestingUserID string, teamIDs []string) error
- func (uc *MCPTaskToolsUseCase) GetTask(ctx context.Context, taskID, requestingUserID string, teamIDs []string) (*TaskInfo, error)
- func (uc *MCPTaskToolsUseCase) ListTaskGroups(ctx context.Context, scope, teamID, requestingUserID string, teamIDs []string) ([]TaskGroupInfo, error)
- func (uc *MCPTaskToolsUseCase) ListTasks(ctx context.Context, input ListTasksInput, requestingUserID string, ...) ([]TaskInfo, error)
- func (uc *MCPTaskToolsUseCase) UpdateTask(ctx context.Context, taskID string, input UpdateTaskInput, ...) (*TaskInfo, error)
- type MemoryInfo
- type Message
- type SessionInfo
- type TaskGroupInfo
- type TaskInfo
- type TaskLinkInfo
- type UpdateMemoryInput
- type UpdateTaskInput
Constants ¶
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