@qq33357486/oh-my-task 1.4.16 → 1.4.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/api/routes/schedule.js +2 -2
  2. package/dist/api/routes/schedule.js.map +1 -1
  3. package/dist/api/routes/versions.d.ts.map +1 -1
  4. package/dist/api/routes/versions.js +0 -4
  5. package/dist/api/routes/versions.js.map +1 -1
  6. package/dist/mcp/server.d.ts.map +1 -1
  7. package/dist/mcp/server.js +8 -0
  8. package/dist/mcp/server.js.map +1 -1
  9. package/dist/mcp/tools/activate-task.d.ts.map +1 -1
  10. package/dist/mcp/tools/activate-task.js +11 -4
  11. package/dist/mcp/tools/activate-task.js.map +1 -1
  12. package/dist/mcp/tools/auto-schedule.d.ts.map +1 -1
  13. package/dist/mcp/tools/auto-schedule.js +29 -7
  14. package/dist/mcp/tools/auto-schedule.js.map +1 -1
  15. package/dist/mcp/tools/complete-task.d.ts.map +1 -1
  16. package/dist/mcp/tools/complete-task.js +11 -4
  17. package/dist/mcp/tools/complete-task.js.map +1 -1
  18. package/dist/mcp/tools/complete-version.d.ts +10 -0
  19. package/dist/mcp/tools/complete-version.d.ts.map +1 -0
  20. package/dist/mcp/tools/complete-version.js +40 -0
  21. package/dist/mcp/tools/complete-version.js.map +1 -0
  22. package/dist/mcp/tools/create-task.d.ts.map +1 -1
  23. package/dist/mcp/tools/create-task.js +39 -13
  24. package/dist/mcp/tools/create-task.js.map +1 -1
  25. package/dist/mcp/tools/create-version.d.ts.map +1 -1
  26. package/dist/mcp/tools/create-version.js +13 -5
  27. package/dist/mcp/tools/create-version.js.map +1 -1
  28. package/dist/mcp/tools/delete-task.d.ts.map +1 -1
  29. package/dist/mcp/tools/delete-task.js +11 -4
  30. package/dist/mcp/tools/delete-task.js.map +1 -1
  31. package/dist/mcp/tools/get-current-task.d.ts.map +1 -1
  32. package/dist/mcp/tools/get-current-task.js +56 -3
  33. package/dist/mcp/tools/get-current-task.js.map +1 -1
  34. package/dist/mcp/tools/get-task.d.ts.map +1 -1
  35. package/dist/mcp/tools/get-task.js +10 -3
  36. package/dist/mcp/tools/get-task.js.map +1 -1
  37. package/dist/mcp/tools/list-tasks.d.ts.map +1 -1
  38. package/dist/mcp/tools/list-tasks.js +91 -10
  39. package/dist/mcp/tools/list-tasks.js.map +1 -1
  40. package/dist/mcp/tools/list-versions.d.ts.map +1 -1
  41. package/dist/mcp/tools/list-versions.js +19 -4
  42. package/dist/mcp/tools/list-versions.js.map +1 -1
  43. package/dist/mcp/tools/start-version.d.ts +10 -0
  44. package/dist/mcp/tools/start-version.d.ts.map +1 -0
  45. package/dist/mcp/tools/start-version.js +80 -0
  46. package/dist/mcp/tools/start-version.js.map +1 -0
  47. package/dist/mcp/tools/utils/ai-prompt.d.ts +11 -0
  48. package/dist/mcp/tools/utils/ai-prompt.d.ts.map +1 -0
  49. package/dist/mcp/tools/utils/ai-prompt.js +32 -0
  50. package/dist/mcp/tools/utils/ai-prompt.js.map +1 -0
  51. package/dist/mcp/tools/utils/config.d.ts.map +1 -1
  52. package/dist/mcp/tools/utils/config.js +13 -2
  53. package/dist/mcp/tools/utils/config.js.map +1 -1
  54. package/dist/mcp/tools/utils/task-query.d.ts.map +1 -1
  55. package/dist/mcp/tools/utils/task-query.js +10 -3
  56. package/dist/mcp/tools/utils/task-query.js.map +1 -1
  57. package/dist/mcp/tools/utils/version.d.ts +3 -1
  58. package/dist/mcp/tools/utils/version.d.ts.map +1 -1
  59. package/dist/mcp/tools/utils/version.js +42 -6
  60. package/dist/mcp/tools/utils/version.js.map +1 -1
  61. package/dist/services/schedule.service.d.ts +6 -1
  62. package/dist/services/schedule.service.d.ts.map +1 -1
  63. package/dist/services/schedule.service.js +26 -4
  64. package/dist/services/schedule.service.js.map +1 -1
  65. package/dist/services/version.service.d.ts +2 -1
  66. package/dist/services/version.service.d.ts.map +1 -1
  67. package/dist/services/version.service.js +1 -6
  68. package/dist/services/version.service.js.map +1 -1
  69. package/package.json +1 -1
@@ -19,13 +19,13 @@ router.post('/reschedule', async (req, res) => {
19
19
  });
20
20
  // POST /api/schedule/auto - 自动排期
21
21
  router.post('/auto', async (req, res) => {
22
- const { project_id, start_date } = req.body;
22
+ const { project_id, start_date, version_id } = req.body;
23
23
  if (!project_id || !start_date) {
24
24
  res.status(400).json({ success: false, error: 'project_id and start_date are required' });
25
25
  return;
26
26
  }
27
27
  try {
28
- const result = await scheduleService.autoSchedule(project_id, start_date);
28
+ const result = await scheduleService.autoSchedule(project_id, start_date, version_id);
29
29
  res.json({ success: true, data: result });
30
30
  }
31
31
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../../src/api/routes/schedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../../src/api/routes/schedule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/api/routes/versions.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAkNxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../src/api/routes/versions.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA6MxB,eAAe,MAAM,CAAC"}
@@ -80,10 +80,6 @@ router.post('/', (req, res) => {
80
80
  res.status(400).json({ success: false, error: 'name 不能为空' });
81
81
  return;
82
82
  }
83
- if (!due_date) {
84
- res.status(400).json({ success: false, error: 'due_date 不能为空' });
85
- return;
86
- }
87
83
  // 验证项目归属
88
84
  const hasAccess = projectService.checkProjectOwnership(project_id, userId);
89
85
  if (!hasAccess) {
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../src/api/routes/versions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../src/api/routes/versions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AAuHA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AA+HA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpD"}
@@ -7,6 +7,8 @@ import { fileURLToPath } from 'url';
7
7
  import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
8
8
  import { createVersionTool, handleCreateVersion } from './tools/create-version.js';
9
9
  import { listVersionsTool, handleListVersions } from './tools/list-versions.js';
10
+ import { startVersionTool, handleStartVersion } from './tools/start-version.js';
11
+ import { completeVersionTool, handleCompleteVersion } from './tools/complete-version.js';
10
12
  import { createTaskTool, handleCreateTask } from './tools/create-task.js';
11
13
  import { listTasksTool, handleListTasks } from './tools/list-tasks.js';
12
14
  import { getTaskTool, handleGetTask } from './tools/get-task.js';
@@ -47,6 +49,8 @@ function getPackageVersion() {
47
49
  const tools = [
48
50
  createVersionTool,
49
51
  listVersionsTool,
52
+ startVersionTool,
53
+ completeVersionTool,
50
54
  createTaskTool,
51
55
  listTasksTool,
52
56
  getTaskTool,
@@ -69,6 +73,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
69
73
  return await handleCreateVersion(args, mcpContext);
70
74
  case 'list_versions':
71
75
  return await handleListVersions(args, mcpContext);
76
+ case 'start_version':
77
+ return await handleStartVersion(args, mcpContext);
78
+ case 'complete_version':
79
+ return await handleCompleteVersion(args, mcpContext);
72
80
  case 'create_task':
73
81
  return await handleCreateTask(args, mcpContext);
74
82
  case 'list_tasks':
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"activate-task.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/activate-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIvE,eAAO,MAAM,gBAAgB,EAAE,IAa9B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA4B7D"}
1
+ {"version":3,"file":"activate-task.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/activate-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKvE,eAAO,MAAM,gBAAgB,EAAE,IAa9B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAkC7D"}
@@ -1,5 +1,6 @@
1
1
  import { resolveMcpProject } from './utils/config.js';
2
- import { requireActiveVersionForProject } from './utils/version.js';
2
+ import { requireStartedVersionForProject } from './utils/version.js';
3
+ import { formatAiPrompt, formatOperationFailed } from './utils/ai-prompt.js';
3
4
  export const activateTaskTool = {
4
5
  name: 'activate_task',
5
6
  description: '开始任务',
@@ -17,7 +18,7 @@ export const activateTaskTool = {
17
18
  export async function handleActivateTask(args, context) {
18
19
  const taskId = args.task_id;
19
20
  const project = await resolveMcpProject(context);
20
- await requireActiveVersionForProject(project.id, context, project.name);
21
+ const version = await requireStartedVersionForProject(project.id, context, project.name);
21
22
  const response = await fetch(`${context.serverUrl}/api/tasks/${taskId}/activate`, {
22
23
  method: 'POST',
23
24
  headers: {
@@ -28,14 +29,20 @@ export async function handleActivateTask(args, context) {
28
29
  });
29
30
  if (!response.ok) {
30
31
  const error = await response.json();
31
- throw new Error(error.error || 'Failed to activate task');
32
+ throw new Error(error.error || formatOperationFailed('开始任务'));
32
33
  }
33
34
  const result = await response.json();
34
35
  const task = result.data;
35
36
  return {
36
37
  content: [{
37
38
  type: 'text',
38
- text: `任务已激活。\nID: ${task.id}\n标题: ${task.title}\n状态: ${task.status}`,
39
+ text: formatAiPrompt({
40
+ status: `版本「${version.name}」中的任务「${task.title}」已开始。`,
41
+ relay: '请告诉用户任务已进入执行中。',
42
+ next: '引导用户继续处理任务;完成后可以调用 complete_task。',
43
+ tool: ['get_current_task', 'complete_task'],
44
+ data: `ID: ${task.id}\n标题: ${task.title}\n状态: ${task.status}`,
45
+ }),
39
46
  }],
40
47
  };
41
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"activate-task.js","sourceRoot":"","sources":["../../../src/mcp/tools/activate-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACpB;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA6B,EAC7B,OAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAiB,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,8BAA8B,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,cAAc,MAAM,WAAW,EAAE;QAChF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,eAAe,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;SAC3C;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAwB,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,yBAAyB,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAoB,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE;aACtE,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"activate-task.js","sourceRoot":"","sources":["../../../src/mcp/tools/activate-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACpB;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA6B,EAC7B,OAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAiB,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,cAAc,MAAM,WAAW,EAAE;QAChF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,eAAe,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;SAC3C;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAwB,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAoB,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc,CAAC;oBACnB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,OAAO;oBACpD,KAAK,EAAE,gBAAgB;oBACvB,IAAI,EAAE,mCAAmC;oBACzC,IAAI,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;oBAC3C,IAAI,EAAE,OAAO,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE;iBAC9D,CAAC;aACH,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto-schedule.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/auto-schedule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGvE,eAAO,MAAM,gBAAgB,EAAE,IAa9B,CAAC;AAWF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAqC7D"}
1
+ {"version":3,"file":"auto-schedule.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/auto-schedule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIvE,eAAO,MAAM,gBAAgB,EAAE,IAa9B,CAAC;AAWF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA0D7D"}
@@ -1,5 +1,6 @@
1
1
  import { resolveMcpProject } from './utils/config.js';
2
- import { requireActiveVersionForProject } from './utils/version.js';
2
+ import { requireWorkingVersionForProject } from './utils/version.js';
3
+ import { formatAiPrompt, formatOperationFailed } from './utils/ai-prompt.js';
3
4
  export const autoScheduleTool = {
4
5
  name: 'auto_schedule',
5
6
  description: '自动排期待办任务',
@@ -17,32 +18,53 @@ export const autoScheduleTool = {
17
18
  export async function handleAutoSchedule(args, context) {
18
19
  const project = await resolveMcpProject(context);
19
20
  const startDate = args.start_date;
20
- await requireActiveVersionForProject(project.id, context, project.name);
21
+ const workingVersion = await requireWorkingVersionForProject(project.id, context, project.name);
21
22
  const response = await fetch(`${context.serverUrl}/api/schedule/auto`, {
22
23
  method: 'POST',
23
24
  headers: {
24
25
  'Content-Type': 'application/json',
25
26
  'Authorization': `Bearer ${context.token}`,
26
27
  },
27
- body: JSON.stringify({ project_id: project.id, start_date: startDate }),
28
+ body: JSON.stringify({ project_id: project.id, version_id: workingVersion.id, start_date: startDate }),
28
29
  });
29
30
  if (!response.ok) {
30
31
  const error = await response.json();
31
- throw new Error(error.error || 'Failed to auto schedule');
32
+ throw new Error(error.error || formatOperationFailed('自动排期'));
32
33
  }
33
34
  const result = await response.json();
34
35
  const changes = result.data.changes;
35
36
  if (changes.length === 0) {
36
37
  return {
37
- content: [{ type: 'text', text: '没有需要排期的任务。' }],
38
+ content: [{ type: 'text', text: formatAiPrompt({
39
+ status: `版本「${workingVersion.name}」目前没有可排期任务。`,
40
+ relay: '请告诉用户当前没有可排期任务,无法生成排期。',
41
+ next: '请用户补充要新增的任务和预估天数,你先创建任务再排期。',
42
+ collect: ['任务列表', '每项预估天数'],
43
+ tool: 'create_task',
44
+ }) }],
38
45
  };
39
46
  }
40
- const lines = [`排期完成,共 ${changes.length} 个任务:\n`];
47
+ const lines = [
48
+ `排期完成。`,
49
+ `版本: ${workingVersion.name}`,
50
+ result.data.version ? `开始: ${result.data.version.start_date}` : '',
51
+ result.data.version ? `预计截止: ${result.data.version.due_date}` : '',
52
+ `已排期任务: ${changes.length} 个`,
53
+ '',
54
+ ].filter(Boolean);
41
55
  for (const change of changes) {
42
56
  lines.push(`• ${change.title}: ${change.new_start}${change.new_due ? ` ~ ${change.new_due}` : ''}`);
43
57
  }
58
+ const dueDate = result.data.version?.due_date || changes[changes.length - 1]?.new_due || '';
44
59
  return {
45
- content: [{ type: 'text', text: lines.join('\n') }],
60
+ content: [{ type: 'text', text: formatAiPrompt({
61
+ status: `版本「${workingVersion.name}」已完成排期${result.data.version ? `,开始日期为 ${result.data.version.start_date},预计截止日期为 ${result.data.version.due_date}` : ''}。`,
62
+ relay: '请向用户总结排期结果,并询问是否现在开始执行这个版本。',
63
+ next: '如果用户确认开始,则调用 start_version;如果还要调整任务,则继续创建任务或重新排期。',
64
+ collect: ['是否开始版本'],
65
+ tool: ['start_version', 'create_task', 'auto_schedule'],
66
+ data: `${lines.join('\n')}${dueDate ? `\n预计截止: ${dueDate}` : ''}`,
67
+ }) }],
46
68
  };
47
69
  }
48
70
  //# sourceMappingURL=auto-schedule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-schedule.js","sourceRoot":"","sources":["../../../src/mcp/tools/auto-schedule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sBAAsB;aACpC;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;CACF,CAAC;AAWF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA6B,EAC7B,OAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAoB,CAAC;IAE5C,MAAM,8BAA8B,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,oBAAoB,EAAE;QACrE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,eAAe,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;SAC3C;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;KACxE,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAwB,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,yBAAyB,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6C,CAAC;IAChF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAEpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,UAAU,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;IAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"auto-schedule.js","sourceRoot":"","sources":["../../../src/mcp/tools/auto-schedule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"complete-task.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/complete-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIvE,eAAO,MAAM,gBAAgB,EAAE,IAa9B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA0B7D"}
1
+ {"version":3,"file":"complete-task.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/complete-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKvE,eAAO,MAAM,gBAAgB,EAAE,IAa9B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAgC7D"}
@@ -1,5 +1,6 @@
1
1
  import { resolveMcpProject } from './utils/config.js';
2
- import { requireActiveVersionForProject } from './utils/version.js';
2
+ import { requireStartedVersionForProject } from './utils/version.js';
3
+ import { formatAiPrompt, formatOperationFailed } from './utils/ai-prompt.js';
3
4
  export const completeTaskTool = {
4
5
  name: 'complete_task',
5
6
  description: '完成任务',
@@ -17,7 +18,7 @@ export const completeTaskTool = {
17
18
  export async function handleCompleteTask(args, context) {
18
19
  const taskId = args.task_id;
19
20
  const project = await resolveMcpProject(context);
20
- await requireActiveVersionForProject(project.id, context, project.name);
21
+ const version = await requireStartedVersionForProject(project.id, context, project.name);
21
22
  const response = await fetch(`${context.serverUrl}/api/tasks/${taskId}/complete`, {
22
23
  method: 'POST',
23
24
  headers: {
@@ -26,14 +27,20 @@ export async function handleCompleteTask(args, context) {
26
27
  });
27
28
  if (!response.ok) {
28
29
  const error = await response.json();
29
- throw new Error(error.error || 'Failed to complete task');
30
+ throw new Error(error.error || formatOperationFailed('完成任务'));
30
31
  }
31
32
  const result = await response.json();
32
33
  const task = result.data;
33
34
  return {
34
35
  content: [{
35
36
  type: 'text',
36
- text: `任务已完成。\nID: ${task.id}\n标题: ${task.title}\n状态: ${task.status}`,
37
+ text: formatAiPrompt({
38
+ status: `版本「${version.name}」中的任务「${task.title}」已完成。`,
39
+ relay: '请确认任务完成,并根据版本内剩余任务决定下一步。',
40
+ next: '如果还有未完成任务,引导用户选择下一个任务;如果全部完成,引导确认是否完成版本。',
41
+ tool: ['list_tasks', 'complete_version'],
42
+ data: `ID: ${task.id}\n标题: ${task.title}\n状态: ${task.status}`,
43
+ }),
37
44
  }],
38
45
  };
39
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"complete-task.js","sourceRoot":"","sources":["../../../src/mcp/tools/complete-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACpB;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA6B,EAC7B,OAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAiB,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,8BAA8B,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,cAAc,MAAM,WAAW,EAAE;QAChF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,eAAe,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;SAC3C;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAwB,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,yBAAyB,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAoB,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,eAAe,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE;aACtE,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"complete-task.js","sourceRoot":"","sources":["../../../src/mcp/tools/complete-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACpB;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAA6B,EAC7B,OAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAiB,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,cAAc,MAAM,WAAW,EAAE;QAChF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,eAAe,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;SAC3C;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAwB,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAoB,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc,CAAC;oBACnB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,OAAO;oBACpD,KAAK,EAAE,0BAA0B;oBACjC,IAAI,EAAE,0CAA0C;oBAChD,IAAI,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC;oBACxC,IAAI,EAAE,OAAO,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE;iBAC9D,CAAC;aACH,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import { type McpContext } from './utils/config.js';
3
+ export declare const completeVersionTool: Tool;
4
+ export declare function handleCompleteVersion(args: Record<string, unknown>, context: McpContext): Promise<{
5
+ content: Array<{
6
+ type: string;
7
+ text: string;
8
+ }>;
9
+ }>;
10
+ //# sourceMappingURL=complete-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete-version.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/complete-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKvE,eAAO,MAAM,mBAAmB,EAAE,IAQjC,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA8B7D"}
@@ -0,0 +1,40 @@
1
+ import { resolveMcpProject } from './utils/config.js';
2
+ import { requireStartedVersionForProject } from './utils/version.js';
3
+ import { formatAiPrompt, formatOperationFailed } from './utils/ai-prompt.js';
4
+ export const completeVersionTool = {
5
+ name: 'complete_version',
6
+ description: '完成当前版本',
7
+ inputSchema: {
8
+ type: 'object',
9
+ properties: {},
10
+ required: [],
11
+ },
12
+ };
13
+ export async function handleCompleteVersion(args, context) {
14
+ const project = await resolveMcpProject(context);
15
+ const version = await requireStartedVersionForProject(project.id, context, project.name);
16
+ const response = await fetch(`${context.serverUrl}/api/versions/${version.id}/complete`, {
17
+ method: 'POST',
18
+ headers: { 'Authorization': `Bearer ${context.token}` },
19
+ });
20
+ if (!response.ok) {
21
+ const error = await response.json();
22
+ throw new Error(error.error || formatOperationFailed('完成版本'));
23
+ }
24
+ const result = await response.json();
25
+ const completedVersion = result.data;
26
+ return {
27
+ content: [{
28
+ type: 'text',
29
+ text: formatAiPrompt({
30
+ status: `版本「${completedVersion.name}」已完成。`,
31
+ relay: '请告诉用户这个版本已经收尾完成。',
32
+ next: '询问是否要创建下一个版本;如果需要,收集新版本名称。',
33
+ collect: ['下一个版本名称(如需继续)'],
34
+ tool: 'create_version',
35
+ data: `版本: ${completedVersion.name}\nID: ${completedVersion.id}`,
36
+ }),
37
+ }],
38
+ };
39
+ }
40
+ //# sourceMappingURL=complete-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete-version.js","sourceRoot":"","sources":["../../../src/mcp/tools/complete-version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7E,MAAM,CAAC,MAAM,mBAAmB,GAAS;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAA6B,EAC7B,OAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,iBAAiB,OAAO,CAAC,EAAE,WAAW,EAAE;QACvF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE,EAAE;KACxD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAwB,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAuB,CAAC;IAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC;IAErC,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc,CAAC;oBACnB,MAAM,EAAE,MAAM,gBAAgB,CAAC,IAAI,OAAO;oBAC1C,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,OAAO,gBAAgB,CAAC,IAAI,SAAS,gBAAgB,CAAC,EAAE,EAAE;iBACjE,CAAC;aACH,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-task.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/create-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIvE,eAAO,MAAM,cAAc,EAAE,IAyC5B,CAAC;AAgCF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAkF7D"}
1
+ {"version":3,"file":"create-task.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/create-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKvE,eAAO,MAAM,cAAc,EAAE,IAyC5B,CAAC;AAgCF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA2G7D"}
@@ -1,5 +1,6 @@
1
1
  import { resolveMcpProject } from './utils/config.js';
2
- import { requireActiveVersionForProject } from './utils/version.js';
2
+ import { requireWorkingVersionForProject } from './utils/version.js';
3
+ import { formatAiPrompt, formatOperationFailed } from './utils/ai-prompt.js';
3
4
  export const createTaskTool = {
4
5
  name: 'create_task',
5
6
  description: '创建任务或子任务',
@@ -55,17 +56,29 @@ async function findParentTaskByTitle(parentTitle, projectId, versionId, context)
55
56
  }
56
57
  export async function handleCreateTask(args, context) {
57
58
  const project = await resolveMcpProject(context);
58
- const activeVersion = await requireActiveVersionForProject(project.id, context, project.name);
59
+ const workingVersion = await requireWorkingVersionForProject(project.id, context, project.name);
59
60
  let parentId = args.parent_id;
60
61
  if (!parentId && args.parent_title) {
61
- const foundId = await findParentTaskByTitle(args.parent_title, project.id, activeVersion.id, context);
62
+ const foundId = await findParentTaskByTitle(args.parent_title, project.id, workingVersion.id, context);
62
63
  if (!foundId) {
63
- throw new Error(`找不到父任务:「${args.parent_title}」`);
64
+ throw new Error(formatAiPrompt({
65
+ status: `找不到父任务「${args.parent_title}」。`,
66
+ relay: '请告诉用户没有找到这个父任务,当前子任务还没有创建。',
67
+ next: '请用户确认父任务标题,或先列出当前版本的任务供用户选择父任务。',
68
+ collect: ['正确的父任务标题或父任务 ID'],
69
+ tool: 'list_tasks',
70
+ }));
64
71
  }
65
72
  parentId = foundId;
66
73
  }
67
- if (args.version_id && args.version_id !== activeVersion.id) {
68
- throw new Error('请使用当前激活版本创建任务');
74
+ if (args.version_id && args.version_id !== workingVersion.id) {
75
+ throw new Error(formatAiPrompt({
76
+ status: `当前正在处理版本「${workingVersion.name}」,但请求指定了其它版本。`,
77
+ relay: '请告诉用户当前任务应先放到正在处理的版本中;不要静默切换版本。',
78
+ next: '如果用户确认要在当前版本创建任务,请继续使用当前版本;如果要切换版本,请先让用户说明目标版本。',
79
+ collect: ['是否使用当前版本', '必要时收集目标版本'],
80
+ tool: ['create_task', 'list_versions'],
81
+ }));
69
82
  }
70
83
  if (parentId) {
71
84
  const parentResponse = await fetch(`${context.serverUrl}/api/tasks/${parentId}`, {
@@ -73,15 +86,21 @@ export async function handleCreateTask(args, context) {
73
86
  });
74
87
  if (!parentResponse.ok) {
75
88
  const error = await parentResponse.json();
76
- throw new Error(error.error || 'Failed to get parent task');
89
+ throw new Error(error.error || formatOperationFailed('获取父任务'));
77
90
  }
78
91
  const parentResult = await parentResponse.json();
79
- if (parentResult.data.version_id && parentResult.data.version_id !== activeVersion.id) {
80
- throw new Error('父任务不属于当前激活版本');
92
+ if (parentResult.data.version_id && parentResult.data.version_id !== workingVersion.id) {
93
+ throw new Error(formatAiPrompt({
94
+ status: `指定的父任务不属于当前版本「${workingVersion.name}」。`,
95
+ relay: '请告诉用户父任务和新任务必须在同一个版本内。',
96
+ next: '建议先列出当前版本任务,让用户选择正确的父任务。',
97
+ collect: ['当前版本中的父任务'],
98
+ tool: 'list_tasks',
99
+ }));
81
100
  }
82
101
  }
83
- const versionId = activeVersion.id;
84
- const versionName = activeVersion.name;
102
+ const versionId = workingVersion.id;
103
+ const versionName = workingVersion.name;
85
104
  const body = {
86
105
  project_id: project.id,
87
106
  version_id: versionId,
@@ -102,7 +121,7 @@ export async function handleCreateTask(args, context) {
102
121
  });
103
122
  if (!response.ok) {
104
123
  const error = await response.json();
105
- throw new Error(error.error || 'Failed to create task');
124
+ throw new Error(error.error || formatOperationFailed('创建任务'));
106
125
  }
107
126
  const result = await response.json();
108
127
  const task = result.data;
@@ -114,7 +133,14 @@ export async function handleCreateTask(args, context) {
114
133
  return {
115
134
  content: [{
116
135
  type: 'text',
117
- text: `${typeLabel}已创建。${insertedLabel}\nID: ${task.id}\n标题: ${task.title}\n状态: ${task.status}${versionInfo}${task.start_date ? `\n开始: ${task.start_date}` : ''}${task.due_date ? `\n截止: ${task.due_date}` : ''}`,
136
+ text: formatAiPrompt({
137
+ status: `${typeLabel}「${task.title}」已创建到版本「${versionName}」。${insertedLabel ? '这是一个插队任务。' : ''}`,
138
+ relay: '请简要确认任务已记录。',
139
+ next: '继续询问是否还有其它任务;如果用户表示任务已经完整,则引导提供计划开始日期用于自动排期。',
140
+ collect: ['更多任务,或计划开始日期'],
141
+ tool: ['create_task', 'auto_schedule'],
142
+ data: `ID: ${task.id}\n标题: ${task.title}\n状态: ${task.status}${versionInfo}${task.start_date ? `\n开始: ${task.start_date}` : ''}${task.due_date ? `\n截止: ${task.due_date}` : ''}`,
143
+ }),
118
144
  }],
119
145
  };
120
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-task.js","sourceRoot":"","sources":["../../../src/mcp/tools/create-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-task.js","sourceRoot":"","sources":["../../../src/mcp/tools/create-task.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-version.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/create-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAUvE,eAAO,MAAM,iBAAiB,EAAE,IAyB/B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAkC7D"}
1
+ {"version":3,"file":"create-version.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/create-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWvE,eAAO,MAAM,iBAAiB,EAAE,IAyB/B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyC7D"}
@@ -1,7 +1,8 @@
1
1
  import { resolveMcpProject } from './utils/config.js';
2
+ import { formatAiPrompt, formatOperationFailed } from './utils/ai-prompt.js';
2
3
  export const createVersionTool = {
3
4
  name: 'create_version',
4
- description: '创建版本(需指定 Deadline)',
5
+ description: '创建草稿版本',
5
6
  inputSchema: {
6
7
  type: 'object',
7
8
  properties: {
@@ -19,10 +20,10 @@ export const createVersionTool = {
19
20
  },
20
21
  due_date: {
21
22
  type: 'string',
22
- description: 'Deadline,格式 YYYY-MM-DD',
23
+ description: 'Deadline,格式 YYYY-MM-DD;可稍后通过 auto_schedule 自动计算',
23
24
  },
24
25
  },
25
- required: ['name', 'due_date'],
26
+ required: ['name'],
26
27
  },
27
28
  };
28
29
  export async function handleCreateVersion(args, context) {
@@ -44,14 +45,21 @@ export async function handleCreateVersion(args, context) {
44
45
  });
45
46
  if (!response.ok) {
46
47
  const error = await response.json();
47
- throw new Error(error.error || 'Failed to create version');
48
+ throw new Error(error.error || formatOperationFailed('创建版本'));
48
49
  }
49
50
  const result = await response.json();
50
51
  const version = result.data;
51
52
  return {
52
53
  content: [{
53
54
  type: 'text',
54
- text: `版本创建成功。\n名称: ${version.name}\nID: ${version.id}${version.start_date ? `\n开始: ${version.start_date}` : ''}${version.due_date ? `\n截止: ${version.due_date}` : ''}`,
55
+ text: formatAiPrompt({
56
+ status: `已创建草稿版本「${version.name}」。`,
57
+ relay: '请告诉用户版本已创建,接下来可以开始规划这个版本要完成的任务。',
58
+ next: '询问用户这个版本要做哪些任务,并尽量收集每个任务的预估天数。',
59
+ collect: ['任务标题', '任务说明', 'estimated_days'],
60
+ tool: 'create_task',
61
+ data: `版本: ${version.name}\nID: ${version.id}${version.start_date ? `\n开始: ${version.start_date}` : ''}${version.due_date ? `\n截止: ${version.due_date}` : ''}`,
62
+ }),
55
63
  }],
56
64
  };
57
65
  }