@@ -64,17 +64,70 @@ export const TASKS_FILE_WARN: (path: string) => string = (path: string) =>
6464// supported languages for TMAI responses
6565export const LANG = [
6666 "English" ,
67+ "Chinese" ,
68+ "Japanese" ,
6769 "French" ,
6870 "Spanish" ,
6971 "German" ,
70- "Italian" ,
7172 "Portuguese" ,
72- "Chinese" ,
73- "Japanese" ,
73+ "Italian" ,
7474] as const ;
7575
7676// ai models configuration
7777export const AI_MODELS = [
7878 { name : "Gemini 2.5 Pro" , value : "gemini-2.5-pro" } ,
7979 { name : "Gemini 2.5 Flash" , value : "gemini-2.5-flash" } ,
8080] ;
81+
82+ // task conversion rules
83+ export const TASK_TO_SUBTASK_RULES = [
84+ {
85+ rule : "The task must not already be a subtask" ,
86+ example :
87+ "Task #3 cannot be converted to a subtask if it's already Task #1.2" ,
88+ } ,
89+ {
90+ rule : "The target task must not depend on its future parent task" ,
91+ example :
92+ "Task #3 cannot depend on Task #1 if converting to subtask of Task #1" ,
93+ } ,
94+ {
95+ rule : "The task must not depend on subtasks from other groups" ,
96+ example :
97+ "Task #3 cannot depend on Task #2.1 if converting to subtask of Task #1" ,
98+ } ,
99+ {
100+ rule : "The conversion must not create circular dependencies" ,
101+ example :
102+ "Cannot convert Task #3 to subtask of Task #1 if Task #1 depends on Task #3" ,
103+ } ,
104+ {
105+ rule : "All existing dependencies will be preserved" ,
106+ example :
107+ "If Task #3 depends on Task #2, it will still depend on Task #2 after conversion" ,
108+ } ,
109+ ] ;
110+
111+ export const SUBTASK_TO_TASK_RULES = [
112+ {
113+ rule : "The subtask will be converted to a standalone task" ,
114+ example : "Subtask #1.2 becomes Task #4 (new sequential ID)" ,
115+ } ,
116+ {
117+ rule : "Dependencies on other tasks will be preserved" ,
118+ example : "If #1.2 depends on #3, new Task #4 will still depend on #3" ,
119+ } ,
120+ {
121+ rule : "Dependencies on other subtasks from the same group will be removed" ,
122+ example : "If #1.2 depends on #1.1, this dependency is removed" ,
123+ } ,
124+ {
125+ rule : "Dependent subtasks will be updated" ,
126+ example :
127+ "If #1.3 depends on #1.2, it will be updated to depend on new Task #4" ,
128+ } ,
129+ {
130+ rule : "The new task will have a unique sequential ID" ,
131+ example : "Subtask #1.2 becomes Task #4 (next available ID)" ,
132+ } ,
133+ ] ;
0 commit comments