Versions in this module Expand all Collapse all v0 v0.1.1 Apr 2, 2026 v0.1.0 Apr 2, 2026 Changes in this version + func AuditLog(toolName, walletAddress string, success bool, duration time.Duration, ...) + func CheckTrust(currentLevel TrustLevel, toolName string) error + func DryRunResult(toolName string, params any) (*mcp.CallToolResult, any, error) + func IsToolEnabled(toolName string, activeToolsets map[Toolset]bool) bool + func ParseToolsets(s string) map[Toolset]bool + func RegisterAll(srv *mcp.Server, h *ToolHandler) + type BatchExecuteParams struct + Operations []BatchOperation + type BatchOperation struct + Params map[string]any + Tool string + type BootstrapRepoParams struct + CreateGitignore bool + CreateReadme bool + Description string + GitignoreTemplate string + InitialBranch string + LocalPath string + Name string + OwnerId string + type ClaimFeeGrantParams struct + Address string + type CloseBountyParams struct + BountyID uint64 + type CoinParam struct + Amount string + Denom string + type CommentOnIssueParams struct + Body string + IssueIid uint64 + Name string + Owner string + type CommentOnPullRequestParams struct + Body string + DiffHunk string + Name string + Owner string + Path string + Position uint64 + PullIid uint64 + type CommitAndPushChangesParams struct + Branch string + CommitMessage string + CreateBranch bool + Files []string + RepoPath string + type ConfirmTransactionParams struct + PendingID string + type CreateBountyParams struct + Amount []CoinParam + Expiry int64 + IssueIID uint64 + Name string + Owner string + type CreateDaoParams struct + AvatarURL string + Config *gitopiatypes.DaoConfig + Description string + Location string + Members []struct{ ... } + Name string + Percentage string + VotingPeriod string + Website string + type CreateFeatureBranchPRParams struct + Assignees []string + BaseBranch string + BranchName string + CommitMessage string + Files []fs.FileChange + Labels []uint64 + Name string + Owner string + PRDescription string + PRTitle string + RepoPath string + type CreateFeatureBranchParams struct + BaseBranch string + BranchName string + RepoPath string + type CreateIssueParams struct + Description string + Name string + Owner string + Title string + type CreateLabelParams struct + Color string + Description string + LabelName string + Name string + Owner string + type CreatePullRequestParams struct + Assignees []string + BaseBranch string + Description string + HeadBranch string + IssueIids []uint64 + Labels []uint64 + Name string + Owner string + Title string + type CreateReleaseParams struct + Description string + Draft bool + Name string + Owner string + PreRelease bool + Provider string + ReleaseName string + TagName string + Target string + type CreateRepoParams struct + Description string + Name string + OwnerId string + type CreateUserParams struct + Username string + type DeleteBountyParams struct + BountyID uint64 + type DeleteLabelParams struct + LabelID uint64 + Name string + Owner string + type ErrorCode string + const ErrApproval + const ErrAuthFailed + const ErrChainTx + const ErrClientUnavailable + const ErrConflict + const ErrFileSystem + const ErrGitOperation + const ErrInternal + const ErrNotFound + const ErrNotRepository + const ErrPathTraversal + const ErrRateLimited + const ErrValidation + type ExecDaoProposalParams struct + ProposalID uint64 + type ForkRepositoryParams struct + Branch string + ForkDescription string + ForkName string + ForkOwner string + Name string + Owner string + type GetBountyParams struct + BountyID uint64 + type GetDaoParams struct + ID string + type GetDaoProposalParams struct + ProposalID uint64 + type GetFileParams struct + Branch string + Name string + Owner string + Path string + type GetIssueParams struct + IssueIid uint64 + Name string + Owner string + type GetPullRequestDiffParams struct + Limit int + Name string + Owner string + PullIid uint64 + type GetPullRequestParams struct + Name string + Owner string + PullIid uint64 + type GetRepoParams struct + Name string + Owner string + type GitAddParams struct + Files []string + RepoPath string + type GitCloneParams struct + Branch string + Depth int + LocalPath string + RepoURL string + type GitCommitParams struct + AuthorEmail string + AuthorName string + Message string + RepoPath string + type GitInitParams struct + Path string + RemoteURL string + type GitPushParams struct + Branch string + DryRun bool + Force bool + Remote string + RepoPath string + SetUpstream bool + type GitStatusParams struct + RepoPath string + type ListBountiesParams struct + Limit uint64 + type ListBranchesParams struct + Name string + Owner string + type ListCommitsParams struct + Branch string + Limit int + Name string + Owner string + type ListDaoMembersParams struct + DAO string + GroupID uint64 + Limit uint64 + type ListDaoProposalsParams struct + DAO string + GroupPolicyAddress string + Limit uint64 + type ListIssuesParams struct + Name string + Owner string + type ListLabelsParams struct + Name string + Owner string + type ListPullRequestsParams struct + Limit uint64 + Name string + Owner string + type ListReleasesParams struct + Limit uint64 + Name string + Owner string + type ListReposParams struct + Owner string + type ListTagsParams struct + Limit uint64 + Name string + Owner string + type MergePullRequestParams struct + Name string + Owner string + Provider string + PullIid uint64 + type PendingTx struct + CreatedAt time.Time + Detail string + ExpiresAt time.Time + ID string + SessionID string + ToolName string + WalletAddress string + type PendingTxStore struct + func NewPendingTxStore(ttl time.Duration) *PendingTxStore + func (s *PendingTxStore) Add(tx *PendingTx) string + func (s *PendingTxStore) Cleanup() + func (s *PendingTxStore) Get(id string) *PendingTx + func (s *PendingTxStore) ListForSession(sessionID string) []*PendingTx + func (s *PendingTxStore) Remove(id string) + type PromptHandler struct + func (ph *PromptHandler) FixIssuePrompt(_ context.Context, req *mcp.GetPromptRequest) (*mcp.GetPromptResult, error) + func (ph *PromptHandler) HuntBountyPrompt(_ context.Context, req *mcp.GetPromptRequest) (*mcp.GetPromptResult, error) + func (ph *PromptHandler) ReviewPRPrompt(_ context.Context, req *mcp.GetPromptRequest) (*mcp.GetPromptResult, error) + type RateLimiter struct + func NewRateLimiter(perMinute, perHour int) *RateLimiter + func (r *RateLimiter) Allow() error + type ReadFileParams struct + Path string + type RejectTransactionParams struct + PendingID string + type ResourceHandler struct + GClient *gitopia.Client + func (rh *ResourceHandler) HandleBountyResource(_ context.Context, req *mcp.ReadResourceRequest) (*mcp.ReadResourceResult, error) + func (rh *ResourceHandler) HandleIssueResource(_ context.Context, req *mcp.ReadResourceRequest) (*mcp.ReadResourceResult, error) + func (rh *ResourceHandler) HandlePullRequestResource(_ context.Context, req *mcp.ReadResourceRequest) (*mcp.ReadResourceResult, error) + func (rh *ResourceHandler) HandleRepoResource(_ context.Context, req *mcp.ReadResourceRequest) (*mcp.ReadResourceResult, error) + type SearchCodeParams struct + CaseSensitive bool + Query string + RepoPath string + type SetActiveDAOParams struct + DaoName string + type SubmitDaoProposalParams struct + DAO string + ExecTry bool + GroupPolicyAddress string + Metadata string + Summary string + Title string + type SyncWithRemoteParams struct + Branch string + Remote string + RepoPath string + Strategy string + type ToggleRepositoryForkingParams struct + Name string + Owner string + type ToolHandler struct + ActiveToolsets map[Toolset]bool + ApprovalMode bool + AuthMgr *git.AuthManager + ChainLimiter *RateLimiter + DryRunMode bool + GClient *gitopia.Client + GitClient *git.Client + PendingTxs *PendingTxStore + TrustLvl TrustLevel + WorkspaceMgr *workspace.Manager + func New(g *gitopia.Client, git *git.Client, auth *git.AuthManager, ...) *ToolHandler + func (h *ToolHandler) BatchExecute(ctx context.Context, req *mcp.CallToolRequest, p BatchExecuteParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) BootstrapRepo(ctx context.Context, req *mcp.CallToolRequest, p BootstrapRepoParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ClaimFeeGrant(ctx context.Context, req *mcp.CallToolRequest, p ClaimFeeGrantParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CloseBounty(ctx context.Context, req *mcp.CallToolRequest, p CloseBountyParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CommentOnIssue(ctx context.Context, req *mcp.CallToolRequest, p CommentOnIssueParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CommentOnPullRequest(ctx context.Context, req *mcp.CallToolRequest, p CommentOnPullRequestParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CommitAndPushChanges(ctx context.Context, req *mcp.CallToolRequest, p CommitAndPushChangesParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ConfirmTransaction(ctx context.Context, req *mcp.CallToolRequest, p ConfirmTransactionParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreateBounty(ctx context.Context, req *mcp.CallToolRequest, p CreateBountyParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreateDao(ctx context.Context, req *mcp.CallToolRequest, p CreateDaoParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreateFeatureBranch(ctx context.Context, req *mcp.CallToolRequest, p CreateFeatureBranchParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreateFeatureBranchPR(ctx context.Context, req *mcp.CallToolRequest, p CreateFeatureBranchPRParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreateIssue(ctx context.Context, req *mcp.CallToolRequest, p CreateIssueParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreateLabel(ctx context.Context, req *mcp.CallToolRequest, p CreateLabelParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreatePullRequest(ctx context.Context, req *mcp.CallToolRequest, p CreatePullRequestParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreateRelease(ctx context.Context, req *mcp.CallToolRequest, p CreateReleaseParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreateRepository(ctx context.Context, req *mcp.CallToolRequest, p CreateRepoParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) CreateUser(ctx context.Context, req *mcp.CallToolRequest, p CreateUserParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) DeleteBounty(ctx context.Context, req *mcp.CallToolRequest, p DeleteBountyParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) DeleteLabel(ctx context.Context, req *mcp.CallToolRequest, p DeleteLabelParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ExecDaoProposal(ctx context.Context, req *mcp.CallToolRequest, p ExecDaoProposalParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ForkRepository(ctx context.Context, req *mcp.CallToolRequest, p ForkRepositoryParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GetBounty(ctx context.Context, req *mcp.CallToolRequest, p GetBountyParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GetDao(ctx context.Context, req *mcp.CallToolRequest, params GetDaoParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GetDaoProposal(ctx context.Context, req *mcp.CallToolRequest, p GetDaoProposalParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GetFile(ctx context.Context, req *mcp.CallToolRequest, params GetFileParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GetIssue(ctx context.Context, req *mcp.CallToolRequest, params GetIssueParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GetPullRequest(ctx context.Context, req *mcp.CallToolRequest, params GetPullRequestParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GetPullRequestDiff(ctx context.Context, req *mcp.CallToolRequest, params GetPullRequestDiffParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GetRepo(ctx context.Context, req *mcp.CallToolRequest, params GetRepoParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GetUserContext(ctx context.Context, req *mcp.CallToolRequest, _ struct{}) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GitAdd(ctx context.Context, req *mcp.CallToolRequest, p GitAddParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GitClone(ctx context.Context, req *mcp.CallToolRequest, p GitCloneParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GitCommit(ctx context.Context, req *mcp.CallToolRequest, p GitCommitParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GitInit(ctx context.Context, req *mcp.CallToolRequest, p GitInitParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GitPush(ctx context.Context, req *mcp.CallToolRequest, p GitPushParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) GitStatus(ctx context.Context, req *mcp.CallToolRequest, p GitStatusParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListBounties(ctx context.Context, req *mcp.CallToolRequest, p ListBountiesParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListBranches(ctx context.Context, req *mcp.CallToolRequest, params ListBranchesParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListCommits(ctx context.Context, req *mcp.CallToolRequest, params ListCommitsParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListDaoMembers(ctx context.Context, req *mcp.CallToolRequest, p ListDaoMembersParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListDaoProposals(ctx context.Context, req *mcp.CallToolRequest, p ListDaoProposalsParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListIssues(ctx context.Context, req *mcp.CallToolRequest, params ListIssuesParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListLabels(ctx context.Context, req *mcp.CallToolRequest, params ListLabelsParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListPendingTransactions(ctx context.Context, req *mcp.CallToolRequest, _ struct{}) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListPullRequests(ctx context.Context, req *mcp.CallToolRequest, p ListPullRequestsParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListReleases(ctx context.Context, req *mcp.CallToolRequest, params ListReleasesParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListRepos(ctx context.Context, req *mcp.CallToolRequest, params ListReposParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ListTags(ctx context.Context, req *mcp.CallToolRequest, params ListTagsParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) MergePullRequest(ctx context.Context, req *mcp.CallToolRequest, p MergePullRequestParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ReadFile(ctx context.Context, req *mcp.CallToolRequest, p ReadFileParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) RefreshUserContext(ctx context.Context, req *mcp.CallToolRequest, _ struct{}) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) RejectTransaction(ctx context.Context, req *mcp.CallToolRequest, p RejectTransactionParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ResolvePath(relativePath string) (string, error) + func (h *ToolHandler) SearchCode(ctx context.Context, req *mcp.CallToolRequest, p SearchCodeParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) SetActiveDAO(ctx context.Context, req *mcp.CallToolRequest, p SetActiveDAOParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) SubmitDaoProposal(ctx context.Context, req *mcp.CallToolRequest, p SubmitDaoProposalParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) SyncWithRemote(ctx context.Context, req *mcp.CallToolRequest, p SyncWithRemoteParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) ToggleRepositoryForking(ctx context.Context, req *mcp.CallToolRequest, p ToggleRepositoryForkingParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) UpdateBounty(ctx context.Context, req *mcp.CallToolRequest, p UpdateBountyParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) UpdateDaoMembers(ctx context.Context, req *mcp.CallToolRequest, p UpdateDaoMembersParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) UpdateFeatureBranch(ctx context.Context, req *mcp.CallToolRequest, p UpdateFeatureBranchParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) UpdateIssue(ctx context.Context, req *mcp.CallToolRequest, p UpdateIssueParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) VoteDaoProposal(ctx context.Context, req *mcp.CallToolRequest, p VoteDaoProposalParams) (*mcp.CallToolResult, any, error) + func (h *ToolHandler) WriteFile(ctx context.Context, req *mcp.CallToolRequest, p WriteFileParams) (*mcp.CallToolResult, any, error) + type Toolset string + const ToolsetCore + const ToolsetWorkflow + type TrustLevel int + const TrustChainWrite + const TrustLocalWrite + const TrustReadOnly + func ParseTrustLevel(s string) TrustLevel + func (t TrustLevel) String() string + type UpdateBountyParams struct + BountyID uint64 + Expiry int64 + type UpdateDaoMembersParams struct + DAO string + GroupID uint64 + MemberUpdates []struct{ ... } + type UpdateFeatureBranchParams struct + BranchName string + CommitMessage string + Files []fs.FileChange + RepoPath string + type UpdateIssueParams struct + AddAssignees []string + AddLabels []uint64 + IssueIid uint64 + Name string + Owner string + RemoveAssignees []string + RemoveLabels []uint64 + StateComment string + ToggleState bool + type VoteDaoProposalParams struct + ExecTry bool + Metadata string + Option string + ProposalID uint64 + type WriteFileParams struct + Content string + Path string