package data // ============================================================ // Plane V2 写操作工具(暂未启用,需要时取消注释并实现 handler) // ============================================================ // --- Workspace 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_workspace", mcp.WithDescription("创建工作空间(V2 Web API)"), mcp.WithString("name", mcp.Required(), mcp.Description("工作空间名称")), mcp.WithString("slug", mcp.Required(), mcp.Description("工作空间标识"))), handlePlaneV2CreateWorkspace) // s.AddTool(mcp.NewTool("data_plane_v2_update_workspace", mcp.WithDescription("更新工作空间(V2 Web API)"), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateWorkspace) // s.AddTool(mcp.NewTool("data_plane_v2_delete_workspace", mcp.WithDescription("删除工作空间(V2 Web API)")), handlePlaneV2DeleteWorkspace) // --- Project 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_project", mcp.WithDescription("创建项目(V2 Web API)"), mcp.WithString("data", mcp.Required(), mcp.Description("项目数据JSON"))), handlePlaneV2CreateProject) // s.AddTool(mcp.NewTool("data_plane_v2_update_project", mcp.WithDescription("更新项目(V2 Web API)"), mcp.WithString("project_id", mcp.Required(), mcp.Description("项目UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateProject) // s.AddTool(mcp.NewTool("data_plane_v2_delete_project", mcp.WithDescription("删除项目(V2 Web API)"), mcp.WithString("project_id", mcp.Required(), mcp.Description("项目UUID"))), handlePlaneV2DeleteProject) // s.AddTool(mcp.NewTool("data_plane_v2_archive_project", mcp.WithDescription("归档项目(V2 Web API)"), mcp.WithString("project_id", mcp.Required(), mcp.Description("项目UUID"))), handlePlaneV2ArchiveProject) // s.AddTool(mcp.NewTool("data_plane_v2_unarchive_project", mcp.WithDescription("取消归档项目(V2 Web API)"), mcp.WithString("project_id", mcp.Required(), mcp.Description("项目UUID"))), handlePlaneV2UnarchiveProject) // --- Issue 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_issue", mcp.WithDescription("创建工作项(V2 Web API)"), mcp.WithString("data", mcp.Required(), mcp.Description("工作项数据JSON"))), handlePlaneV2CreateIssue) // s.AddTool(mcp.NewTool("data_plane_v2_update_issue", mcp.WithDescription("更新工作项(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateIssue) // s.AddTool(mcp.NewTool("data_plane_v2_delete_issue", mcp.WithDescription("删除工作项(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID"))), handlePlaneV2DeleteIssue) // s.AddTool(mcp.NewTool("data_plane_v2_archive_issue", mcp.WithDescription("归档工作项(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID"))), handlePlaneV2ArchiveIssue) // s.AddTool(mcp.NewTool("data_plane_v2_unarchive_issue", mcp.WithDescription("取消归档工作项(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID"))), handlePlaneV2UnarchiveIssue) // --- Cycle 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_cycle", mcp.WithDescription("创建周期(V2 Web API)"), mcp.WithString("data", mcp.Required(), mcp.Description("周期数据JSON"))), handlePlaneV2CreateCycle) // s.AddTool(mcp.NewTool("data_plane_v2_update_cycle", mcp.WithDescription("更新周期(V2 Web API)"), mcp.WithString("cycle_id", mcp.Required(), mcp.Description("周期UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateCycle) // s.AddTool(mcp.NewTool("data_plane_v2_delete_cycle", mcp.WithDescription("删除周期(V2 Web API)"), mcp.WithString("cycle_id", mcp.Required(), mcp.Description("周期UUID"))), handlePlaneV2DeleteCycle) // s.AddTool(mcp.NewTool("data_plane_v2_add_issues_to_cycle", mcp.WithDescription("添加工作项到周期(V2 Web API)"), mcp.WithString("cycle_id", mcp.Required(), mcp.Description("周期UUID")), mcp.WithString("issue_ids", mcp.Required(), mcp.Description("工作项UUID列表,逗号分隔"))), handlePlaneV2AddIssuesToCycle) // s.AddTool(mcp.NewTool("data_plane_v2_remove_issue_from_cycle", mcp.WithDescription("从周期移除工作项(V2 Web API)"), mcp.WithString("cycle_id", mcp.Required(), mcp.Description("周期UUID")), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID"))), handlePlaneV2RemoveIssueFromCycle) // s.AddTool(mcp.NewTool("data_plane_v2_archive_cycle", mcp.WithDescription("归档周期(V2 Web API)"), mcp.WithString("cycle_id", mcp.Required(), mcp.Description("周期UUID"))), handlePlaneV2ArchiveCycle) // s.AddTool(mcp.NewTool("data_plane_v2_unarchive_cycle", mcp.WithDescription("取消归档周期(V2 Web API)"), mcp.WithString("cycle_id", mcp.Required(), mcp.Description("周期UUID"))), handlePlaneV2UnarchiveCycle) // --- Module 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_module", mcp.WithDescription("创建模块(V2 Web API)"), mcp.WithString("data", mcp.Required(), mcp.Description("模块数据JSON"))), handlePlaneV2CreateModule) // s.AddTool(mcp.NewTool("data_plane_v2_update_module", mcp.WithDescription("更新模块(V2 Web API)"), mcp.WithString("module_id", mcp.Required(), mcp.Description("模块UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateModule) // s.AddTool(mcp.NewTool("data_plane_v2_delete_module", mcp.WithDescription("删除模块(V2 Web API)"), mcp.WithString("module_id", mcp.Required(), mcp.Description("模块UUID"))), handlePlaneV2DeleteModule) // s.AddTool(mcp.NewTool("data_plane_v2_add_issues_to_module", mcp.WithDescription("添加工作项到模块(V2 Web API)"), mcp.WithString("module_id", mcp.Required(), mcp.Description("模块UUID")), mcp.WithString("issue_ids", mcp.Required(), mcp.Description("工作项UUID列表,逗号分隔"))), handlePlaneV2AddIssuesToModule) // s.AddTool(mcp.NewTool("data_plane_v2_remove_issue_from_module", mcp.WithDescription("从模块移除工作项(V2 Web API)"), mcp.WithString("module_id", mcp.Required(), mcp.Description("模块UUID")), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID"))), handlePlaneV2RemoveIssueFromModule) // s.AddTool(mcp.NewTool("data_plane_v2_archive_module", mcp.WithDescription("归档模块(V2 Web API)"), mcp.WithString("module_id", mcp.Required(), mcp.Description("模块UUID"))), handlePlaneV2ArchiveModule) // s.AddTool(mcp.NewTool("data_plane_v2_unarchive_module", mcp.WithDescription("取消归档模块(V2 Web API)"), mcp.WithString("module_id", mcp.Required(), mcp.Description("模块UUID"))), handlePlaneV2UnarchiveModule) // --- Label 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_label", mcp.WithDescription("创建标签(V2 Web API)"), mcp.WithString("name", mcp.Required(), mcp.Description("标签名称")), mcp.WithString("color", mcp.Required(), mcp.Description("标签颜色"))), handlePlaneV2CreateLabel) // s.AddTool(mcp.NewTool("data_plane_v2_update_label", mcp.WithDescription("更新标签(V2 Web API)"), mcp.WithString("label_id", mcp.Required(), mcp.Description("标签UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateLabel) // s.AddTool(mcp.NewTool("data_plane_v2_delete_label", mcp.WithDescription("删除标签(V2 Web API)"), mcp.WithString("label_id", mcp.Required(), mcp.Description("标签UUID"))), handlePlaneV2DeleteLabel) // --- State 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_state", mcp.WithDescription("创建状态(V2 Web API)"), mcp.WithString("name", mcp.Required(), mcp.Description("状态名称")), mcp.WithString("color", mcp.Required(), mcp.Description("状态颜色")), mcp.WithString("group", mcp.Required(), mcp.Description("状态分组"))), handlePlaneV2CreateState) // s.AddTool(mcp.NewTool("data_plane_v2_update_state", mcp.WithDescription("更新状态(V2 Web API)"), mcp.WithString("state_id", mcp.Required(), mcp.Description("状态UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateState) // s.AddTool(mcp.NewTool("data_plane_v2_delete_state", mcp.WithDescription("删除状态(V2 Web API)"), mcp.WithString("state_id", mcp.Required(), mcp.Description("状态UUID"))), handlePlaneV2DeleteState) // s.AddTool(mcp.NewTool("data_plane_v2_mark_state_default", mcp.WithDescription("标记状态为默认(V2 Web API)"), mcp.WithString("state_id", mcp.Required(), mcp.Description("状态UUID"))), handlePlaneV2MarkStateDefault) // --- Comment 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_comment", mcp.WithDescription("创建评论(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("comment_html", mcp.Required(), mcp.Description("评论HTML内容"))), handlePlaneV2CreateComment) // s.AddTool(mcp.NewTool("data_plane_v2_update_comment", mcp.WithDescription("更新评论(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("comment_id", mcp.Required(), mcp.Description("评论UUID")), mcp.WithString("comment_html", mcp.Required(), mcp.Description("评论HTML内容"))), handlePlaneV2UpdateComment) // s.AddTool(mcp.NewTool("data_plane_v2_delete_comment", mcp.WithDescription("删除评论(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("comment_id", mcp.Required(), mcp.Description("评论UUID"))), handlePlaneV2DeleteComment) // --- Link 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_issue_link", mcp.WithDescription("创建工作项链接(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("url", mcp.Required(), mcp.Description("链接URL")), mcp.WithString("title", mcp.Required(), mcp.Description("链接标题"))), handlePlaneV2CreateIssueLink) // s.AddTool(mcp.NewTool("data_plane_v2_update_issue_link", mcp.WithDescription("更新工作项链接(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("link_id", mcp.Required(), mcp.Description("链接UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateIssueLink) // s.AddTool(mcp.NewTool("data_plane_v2_delete_issue_link", mcp.WithDescription("删除工作项链接(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("link_id", mcp.Required(), mcp.Description("链接UUID"))), handlePlaneV2DeleteIssueLink) // --- Relation 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_issue_relation", mcp.WithDescription("创建工作项关联(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("relation_type", mcp.Required(), mcp.Description("关联类型")), mcp.WithString("related_ids", mcp.Required(), mcp.Description("关联工作项UUID列表,逗号分隔"))), handlePlaneV2CreateIssueRelation) // s.AddTool(mcp.NewTool("data_plane_v2_remove_issue_relation", mcp.WithDescription("移除工作项关联(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("relation_type", mcp.Required(), mcp.Description("关联类型")), mcp.WithString("related_id", mcp.Required(), mcp.Description("关联工作项UUID"))), handlePlaneV2RemoveIssueRelation) // --- Sticky 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_sticky", mcp.WithDescription("创建便签(V2 Web API)"), mcp.WithString("data", mcp.Required(), mcp.Description("便签数据JSON"))), handlePlaneV2CreateSticky) // s.AddTool(mcp.NewTool("data_plane_v2_update_sticky", mcp.WithDescription("更新便签(V2 Web API)"), mcp.WithString("sticky_id", mcp.Required(), mcp.Description("便签UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateSticky) // s.AddTool(mcp.NewTool("data_plane_v2_delete_sticky", mcp.WithDescription("删除便签(V2 Web API)"), mcp.WithString("sticky_id", mcp.Required(), mcp.Description("便签UUID"))), handlePlaneV2DeleteSticky) // --- Intake 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_intake_issue", mcp.WithDescription("创建收件箱工作项(V2 Web API)"), mcp.WithString("data", mcp.Required(), mcp.Description("工作项数据JSON"))), handlePlaneV2CreateIntakeIssue) // s.AddTool(mcp.NewTool("data_plane_v2_update_intake_issue", mcp.WithDescription("更新收件箱工作项(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdateIntakeIssue) // s.AddTool(mcp.NewTool("data_plane_v2_accept_intake_issue", mcp.WithDescription("接受收件箱工作项(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID"))), handlePlaneV2AcceptIntakeIssue) // s.AddTool(mcp.NewTool("data_plane_v2_reject_intake_issue", mcp.WithDescription("拒绝收件箱工作项(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID"))), handlePlaneV2RejectIntakeIssue) // s.AddTool(mcp.NewTool("data_plane_v2_delete_intake_issue", mcp.WithDescription("删除收件箱工作项(V2 Web API)"), mcp.WithString("issue_id", mcp.Required(), mcp.Description("工作项UUID"))), handlePlaneV2DeleteIntakeIssue) // --- Page 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_create_page", mcp.WithDescription("创建页面(V2 Web API)"), mcp.WithString("data", mcp.Required(), mcp.Description("页面数据JSON"))), handlePlaneV2CreatePage) // s.AddTool(mcp.NewTool("data_plane_v2_update_page", mcp.WithDescription("更新页面(V2 Web API)"), mcp.WithString("page_id", mcp.Required(), mcp.Description("页面UUID")), mcp.WithString("data", mcp.Required(), mcp.Description("更新数据JSON"))), handlePlaneV2UpdatePage) // s.AddTool(mcp.NewTool("data_plane_v2_delete_page", mcp.WithDescription("删除页面(V2 Web API)"), mcp.WithString("page_id", mcp.Required(), mcp.Description("页面UUID"))), handlePlaneV2DeletePage) // s.AddTool(mcp.NewTool("data_plane_v2_archive_page", mcp.WithDescription("归档页面(V2 Web API)"), mcp.WithString("page_id", mcp.Required(), mcp.Description("页面UUID"))), handlePlaneV2ArchivePage) // s.AddTool(mcp.NewTool("data_plane_v2_unarchive_page", mcp.WithDescription("取消归档页面(V2 Web API)"), mcp.WithString("page_id", mcp.Required(), mcp.Description("页面UUID"))), handlePlaneV2UnarchivePage) // --- Member 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_update_workspace_member_role", mcp.WithDescription("更新工作空间成员角色(V2 Web API)"), mcp.WithString("member_id", mcp.Required(), mcp.Description("成员UUID")), mcp.WithNumber("role", mcp.Required(), mcp.Description("角色值"))), handlePlaneV2UpdateWorkspaceMemberRole) // s.AddTool(mcp.NewTool("data_plane_v2_remove_workspace_member", mcp.WithDescription("移除工作空间成员(V2 Web API)"), mcp.WithString("member_id", mcp.Required(), mcp.Description("成员UUID"))), handlePlaneV2RemoveWorkspaceMember) // s.AddTool(mcp.NewTool("data_plane_v2_add_project_member", mcp.WithDescription("添加项目成员(V2 Web API)"), mcp.WithString("member_id", mcp.Required(), mcp.Description("成员UUID")), mcp.WithNumber("role", mcp.Required(), mcp.Description("角色值"))), handlePlaneV2AddProjectMember) // s.AddTool(mcp.NewTool("data_plane_v2_update_project_member_role", mcp.WithDescription("更新项目成员角色(V2 Web API)"), mcp.WithString("member_id", mcp.Required(), mcp.Description("成员UUID")), mcp.WithNumber("role", mcp.Required(), mcp.Description("角色值"))), handlePlaneV2UpdateProjectMemberRole) // s.AddTool(mcp.NewTool("data_plane_v2_remove_project_member", mcp.WithDescription("移除项目成员(V2 Web API)"), mcp.WithString("member_id", mcp.Required(), mcp.Description("成员UUID"))), handlePlaneV2RemoveProjectMember) // --- Asset 写操作 --- // s.AddTool(mcp.NewTool("data_plane_v2_delete_project_asset", mcp.WithDescription("删除项目资源(V2 Web API)"), mcp.WithString("asset_id", mcp.Required(), mcp.Description("资源UUID"))), handlePlaneV2DeleteProjectAsset) // s.AddTool(mcp.NewTool("data_plane_v2_bind_assets_to_entity", mcp.WithDescription("绑定资源到实体(V2 Web API)"), mcp.WithString("entity_id", mcp.Required(), mcp.Description("实体UUID")), mcp.WithString("asset_ids", mcp.Required(), mcp.Description("资源UUID列表,逗号分隔"))), handlePlaneV2BindAssetsToEntity)