@xihe-lab/tapd-mcp-server 1.3.0 → 1.4.0

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 (97) hide show
  1. package/README.md +56 -7
  2. package/dist/integration-test.d.ts +10 -0
  3. package/dist/integration-test.d.ts.map +1 -0
  4. package/dist/integration-test.js +117 -0
  5. package/dist/integration-test.js.map +1 -0
  6. package/dist/tapd-client.d.ts +32 -1
  7. package/dist/tapd-client.d.ts.map +1 -1
  8. package/dist/tapd-client.js +96 -19
  9. package/dist/tapd-client.js.map +1 -1
  10. package/dist/tools/attachment.d.ts.map +1 -1
  11. package/dist/tools/attachment.js +35 -10
  12. package/dist/tools/attachment.js.map +1 -1
  13. package/dist/tools/board.d.ts +3 -0
  14. package/dist/tools/board.d.ts.map +1 -0
  15. package/dist/tools/board.js +98 -0
  16. package/dist/tools/board.js.map +1 -0
  17. package/dist/tools/bug.d.ts.map +1 -1
  18. package/dist/tools/bug.js +382 -7
  19. package/dist/tools/bug.js.map +1 -1
  20. package/dist/tools/changes.d.ts.map +1 -1
  21. package/dist/tools/changes.js +25 -34
  22. package/dist/tools/changes.js.map +1 -1
  23. package/dist/tools/comment.d.ts.map +1 -1
  24. package/dist/tools/comment.js +53 -3
  25. package/dist/tools/comment.js.map +1 -1
  26. package/dist/tools/custom-fields.d.ts.map +1 -1
  27. package/dist/tools/custom-fields.js +43 -36
  28. package/dist/tools/custom-fields.js.map +1 -1
  29. package/dist/tools/image.d.ts +3 -0
  30. package/dist/tools/image.d.ts.map +1 -0
  31. package/dist/tools/image.js +23 -0
  32. package/dist/tools/image.js.map +1 -0
  33. package/dist/tools/index.d.ts.map +1 -1
  34. package/dist/tools/index.js +12 -0
  35. package/dist/tools/index.js.map +1 -1
  36. package/dist/tools/iteration.d.ts.map +1 -1
  37. package/dist/tools/iteration.js +95 -6
  38. package/dist/tools/iteration.js.map +1 -1
  39. package/dist/tools/mini-comment.d.ts.map +1 -1
  40. package/dist/tools/mini-comment.js +18 -5
  41. package/dist/tools/mini-comment.js.map +1 -1
  42. package/dist/tools/mini-item.d.ts.map +1 -1
  43. package/dist/tools/mini-item.js +36 -11
  44. package/dist/tools/mini-item.js.map +1 -1
  45. package/dist/tools/mini-workspace.d.ts.map +1 -1
  46. package/dist/tools/mini-workspace.js +13 -4
  47. package/dist/tools/mini-workspace.js.map +1 -1
  48. package/dist/tools/program.d.ts +3 -0
  49. package/dist/tools/program.d.ts.map +1 -0
  50. package/dist/tools/program.js +27 -0
  51. package/dist/tools/program.js.map +1 -0
  52. package/dist/tools/relations.d.ts.map +1 -1
  53. package/dist/tools/relations.js +25 -30
  54. package/dist/tools/relations.js.map +1 -1
  55. package/dist/tools/release.d.ts.map +1 -1
  56. package/dist/tools/release.js +228 -2
  57. package/dist/tools/release.js.map +1 -1
  58. package/dist/tools/report.d.ts +3 -0
  59. package/dist/tools/report.d.ts.map +1 -0
  60. package/dist/tools/report.js +38 -0
  61. package/dist/tools/report.js.map +1 -0
  62. package/dist/tools/settings.d.ts.map +1 -1
  63. package/dist/tools/settings.js +379 -31
  64. package/dist/tools/settings.js.map +1 -1
  65. package/dist/tools/source.d.ts +3 -0
  66. package/dist/tools/source.d.ts.map +1 -0
  67. package/dist/tools/source.js +69 -0
  68. package/dist/tools/source.js.map +1 -0
  69. package/dist/tools/story.d.ts.map +1 -1
  70. package/dist/tools/story.js +650 -160
  71. package/dist/tools/story.js.map +1 -1
  72. package/dist/tools/task.d.ts.map +1 -1
  73. package/dist/tools/task.js +104 -11
  74. package/dist/tools/task.js.map +1 -1
  75. package/dist/tools/test.d.ts.map +1 -1
  76. package/dist/tools/test.js +505 -75
  77. package/dist/tools/test.js.map +1 -1
  78. package/dist/tools/timesheet.d.ts.map +1 -1
  79. package/dist/tools/timesheet.js +72 -11
  80. package/dist/tools/timesheet.js.map +1 -1
  81. package/dist/tools/user.d.ts.map +1 -1
  82. package/dist/tools/user.js +36 -4
  83. package/dist/tools/user.js.map +1 -1
  84. package/dist/tools/utility.d.ts +3 -0
  85. package/dist/tools/utility.d.ts.map +1 -0
  86. package/dist/tools/utility.js +132 -0
  87. package/dist/tools/utility.js.map +1 -0
  88. package/dist/tools/wiki.d.ts.map +1 -1
  89. package/dist/tools/wiki.js +75 -20
  90. package/dist/tools/wiki.js.map +1 -1
  91. package/dist/tools/workflow.d.ts.map +1 -1
  92. package/dist/tools/workflow.js +78 -6
  93. package/dist/tools/workflow.js.map +1 -1
  94. package/dist/tools/workspace.d.ts.map +1 -1
  95. package/dist/tools/workspace.js +93 -4
  96. package/dist/tools/workspace.js.map +1 -1
  97. package/package.json +2 -1
@@ -1,72 +1,67 @@
1
1
  import { z } from 'zod';
2
+ import { TapdClient } from '../tapd-client.js';
2
3
  export const relationTools = [
3
4
  {
4
5
  name: "tapd_get_link_stories",
5
6
  description: "Get linked stories for a story",
6
7
  inputSchema: z.object({
7
- workspace_id: z.number().describe("Project ID"),
8
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
8
9
  story_id: z.string().describe("Story ID"),
9
10
  }),
10
11
  handler: async (client, params) => {
11
- return client.get("/stories/get_link_stories", params);
12
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
13
+ if (!workspaceId) {
14
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
15
+ }
16
+ return client.get("/stories/get_link_stories", { ...params, workspace_id: workspaceId });
12
17
  },
13
18
  },
14
19
  {
15
20
  name: "tapd_get_related_bugs",
16
21
  description: "Get related bugs for a story",
17
22
  inputSchema: z.object({
18
- workspace_id: z.number().describe("Project ID"),
23
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
19
24
  story_id: z.string().describe("Story ID"),
20
25
  }),
21
26
  handler: async (client, params) => {
22
- return client.get("/stories/get_related_bugs", params);
23
- },
24
- },
25
- {
26
- name: "tapd_get_link_bugs",
27
- description: "Get linked bugs for a bug",
28
- inputSchema: z.object({
29
- workspace_id: z.number().describe("Project ID"),
30
- bug_id: z.string().describe("Bug ID"),
31
- }),
32
- handler: async (client, params) => {
33
- return client.get("/bugs/get_link_bugs", params);
34
- },
35
- },
36
- {
37
- name: "tapd_get_related_stories",
38
- description: "Get related stories for a bug",
39
- inputSchema: z.object({
40
- workspace_id: z.number().describe("Project ID"),
41
- bug_id: z.string().describe("Bug ID"),
42
- }),
43
- handler: async (client, params) => {
44
- return client.get("/bugs/get_related_stories", params);
27
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
28
+ if (!workspaceId) {
29
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
30
+ }
31
+ return client.get("/stories/get_related_bugs", { ...params, workspace_id: workspaceId });
45
32
  },
46
33
  },
47
34
  {
48
35
  name: "tapd_add_story_link_relation",
49
36
  description: "Add story link relation",
50
37
  inputSchema: z.object({
51
- workspace_id: z.number().describe("Project ID"),
38
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
52
39
  source_story_id: z.string().describe("Source story ID"),
53
40
  target_story_id: z.string().describe("Target story ID"),
54
41
  link_type: z.string().optional().describe("Link type"),
55
42
  }),
56
43
  handler: async (client, params) => {
57
- return client.post("/stories/add_story_link_relations", params);
44
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
45
+ if (!workspaceId) {
46
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
47
+ }
48
+ return client.post("/stories/add_story_link_relations", { ...params, workspace_id: workspaceId });
58
49
  },
59
50
  },
60
51
  {
61
52
  name: "tapd_remove_story_link_relation",
62
53
  description: "Remove story link relation",
63
54
  inputSchema: z.object({
64
- workspace_id: z.number().describe("Project ID"),
55
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
65
56
  source_story_id: z.string().describe("Source story ID"),
66
57
  target_story_id: z.string().describe("Target story ID"),
67
58
  }),
68
59
  handler: async (client, params) => {
69
- return client.post("/stories/remove_story_link_relation", params);
60
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
61
+ if (!workspaceId) {
62
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
63
+ }
64
+ return client.post("/stories/remove_story_link_relation", { ...params, workspace_id: workspaceId });
70
65
  },
71
66
  },
72
67
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/tools/relations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/tools/relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,gCAAgC;QAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;SAC1C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAkB,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3F,CAAC;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;SAC1C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAkB,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3F,CAAC;KACF;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;SACvD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAkB,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,CAAC;KACF;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;SACxD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAkB,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACtG,CAAC;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/tools/release.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,eAAO,MAAM,YAAY,EAAE,OAAO,EAqBjC,CAAC"}
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/tools/release.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,YAAY,EAAE,OAAO,EAsPjC,CAAC"}
@@ -1,23 +1,249 @@
1
1
  import { z } from 'zod';
2
+ import { TapdClient } from '../tapd-client.js';
2
3
  export const releaseTools = [
4
+ // 发布计划 CRUD
3
5
  {
4
6
  name: "tapd_get_releases",
5
7
  description: "Get releases from TAPD",
6
8
  inputSchema: z.object({
7
- workspace_id: z.number().describe("Project ID"),
9
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
8
10
  id: z.string().optional().describe("Release ID, supports multiple IDs"),
9
11
  name: z.string().optional().describe("Release name, supports fuzzy matching"),
10
12
  status: z.string().optional().describe("Status of the release"),
11
13
  owner: z.string().optional().describe("Owner name"),
12
14
  creator: z.string().optional().describe("Creator name"),
13
15
  release_date: z.string().optional().describe("Release date"),
16
+ created: z.string().optional().describe("Creation time"),
17
+ modified: z.string().optional().describe("Last modification time"),
14
18
  limit: z.number().optional().describe("Number of results to return, max 200"),
15
19
  page: z.number().optional().describe("Page number, default 1"),
16
20
  order: z.string().optional().describe("Sort order, e.g., 'created desc'"),
17
21
  fields: z.string().optional().describe("Comma-separated list of fields to return"),
18
22
  }),
19
23
  handler: async (client, params) => {
20
- return client.get("/releases", params);
24
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
25
+ if (!workspaceId) {
26
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
27
+ }
28
+ return client.get("/releases", { ...params, workspace_id: workspaceId });
29
+ },
30
+ },
31
+ {
32
+ name: "tapd_create_release",
33
+ description: "创建发布计划",
34
+ inputSchema: z.object({
35
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
36
+ name: z.string().describe("发布计划名称 (必填)"),
37
+ description: z.string().optional().describe("详细描述"),
38
+ status: z.string().optional().describe("状态"),
39
+ owner: z.string().optional().describe("发布负责人(默认当前用户)"),
40
+ creator: z.string().optional().describe("创建人(默认当前用户)"),
41
+ release_date: z.string().optional().describe("发布日期 YYYY-MM-DD"),
42
+ start_date: z.string().optional().describe("开始日期 YYYY-MM-DD"),
43
+ end_date: z.string().optional().describe("结束日期 YYYY-MM-DD"),
44
+ }),
45
+ handler: async (client, params) => {
46
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
47
+ if (!workspaceId) {
48
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
49
+ }
50
+ const nickName = TapdClient.getNickName();
51
+ const finalParams = {
52
+ ...params,
53
+ workspace_id: workspaceId,
54
+ owner: params.owner ?? nickName,
55
+ creator: params.creator ?? nickName,
56
+ };
57
+ return client.post("/releases", finalParams);
58
+ },
59
+ },
60
+ {
61
+ name: "tapd_update_release",
62
+ description: "更新发布计划",
63
+ inputSchema: z.object({
64
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
65
+ id: z.string().describe("发布计划ID (必填)"),
66
+ name: z.string().optional().describe("发布计划名称"),
67
+ description: z.string().optional().describe("详细描述"),
68
+ status: z.string().optional().describe("状态"),
69
+ owner: z.string().optional().describe("发布负责人"),
70
+ release_date: z.string().optional().describe("发布日期 YYYY-MM-DD"),
71
+ start_date: z.string().optional().describe("开始日期 YYYY-MM-DD"),
72
+ end_date: z.string().optional().describe("结束日期 YYYY-MM-DD"),
73
+ }),
74
+ handler: async (client, params) => {
75
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
76
+ if (!workspaceId) {
77
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
78
+ }
79
+ return client.post("/releases", { ...params, workspace_id: workspaceId });
80
+ },
81
+ },
82
+ {
83
+ name: "tapd_get_release_count",
84
+ description: "获取发布计划数量",
85
+ inputSchema: z.object({
86
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
87
+ id: z.string().optional().describe("发布计划ID"),
88
+ name: z.string().optional().describe("发布计划名称"),
89
+ status: z.string().optional().describe("状态"),
90
+ owner: z.string().optional().describe("发布负责人"),
91
+ creator: z.string().optional().describe("创建人"),
92
+ }),
93
+ handler: async (client, params) => {
94
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
95
+ if (!workspaceId) {
96
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
97
+ }
98
+ return client.get("/releases/count", { ...params, workspace_id: workspaceId });
99
+ },
100
+ },
101
+ // 发布评审依据
102
+ {
103
+ name: "tapd_get_launch_accessories",
104
+ description: "获取发布评审依据",
105
+ inputSchema: z.object({
106
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
107
+ id: z.string().optional().describe("评审依据ID,支持多ID查询"),
108
+ launch_id: z.string().optional().describe("发布评审ID"),
109
+ type: z.string().optional().describe("依据类型"),
110
+ creator: z.string().optional().describe("创建人"),
111
+ created: z.string().optional().describe("创建时间"),
112
+ limit: z.number().optional().describe("返回数量,默认30,最大200"),
113
+ page: z.number().optional().describe("页码,默认1"),
114
+ order: z.string().optional().describe("排序"),
115
+ fields: z.string().optional().describe("返回字段"),
116
+ }),
117
+ handler: async (client, params) => {
118
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
119
+ if (!workspaceId) {
120
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
121
+ }
122
+ return client.get("/launch_accessories", { ...params, workspace_id: workspaceId });
123
+ },
124
+ },
125
+ {
126
+ name: "tapd_add_launch_accessories",
127
+ description: "创建发布评审依据",
128
+ inputSchema: z.object({
129
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
130
+ launch_id: z.string().describe("发布评审ID (必填)"),
131
+ type: z.string().describe("依据类型 (必填)"),
132
+ content: z.string().optional().describe("依据内容"),
133
+ creator: z.string().optional().describe("创建人(默认当前用户)"),
134
+ }),
135
+ handler: async (client, params) => {
136
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
137
+ if (!workspaceId) {
138
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
139
+ }
140
+ const nickName = TapdClient.getNickName();
141
+ const finalParams = {
142
+ ...params,
143
+ workspace_id: workspaceId,
144
+ creator: params.creator ?? nickName,
145
+ };
146
+ return client.post("/launch_accessories/add", finalParams);
147
+ },
148
+ },
149
+ // 发布评审
150
+ {
151
+ name: "tapd_add_launch_form",
152
+ description: "创建发布评审",
153
+ inputSchema: z.object({
154
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
155
+ template_id: z.string().describe("模板ID (必填)"),
156
+ title: z.string().describe("发布评审标题 (必填)"),
157
+ release_id: z.string().optional().describe("发布计划ID"),
158
+ description: z.string().optional().describe("详细描述"),
159
+ owner: z.string().optional().describe("负责人(默认当前用户)"),
160
+ creator: z.string().optional().describe("创建人(默认当前用户)"),
161
+ custom_field_one: z.string().optional().describe("自定义字段"),
162
+ }),
163
+ handler: async (client, params) => {
164
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
165
+ if (!workspaceId) {
166
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
167
+ }
168
+ const nickName = TapdClient.getNickName();
169
+ const finalParams = {
170
+ ...params,
171
+ workspace_id: workspaceId,
172
+ owner: params.owner ?? nickName,
173
+ creator: params.creator ?? nickName,
174
+ };
175
+ return client.post("/launch_forms", finalParams);
176
+ },
177
+ },
178
+ {
179
+ name: "tapd_get_launch_forms_activity_logs",
180
+ description: "获取发布评审日志",
181
+ inputSchema: z.object({
182
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
183
+ id: z.string().optional().describe("日志ID"),
184
+ launch_id: z.string().optional().describe("发布评审ID"),
185
+ user: z.string().optional().describe("操作人"),
186
+ action: z.string().optional().describe("操作类型"),
187
+ created: z.string().optional().describe("创建时间"),
188
+ limit: z.number().optional().describe("返回数量,默认30,最大200"),
189
+ page: z.number().optional().describe("页码,默认1"),
190
+ order: z.string().optional().describe("排序"),
191
+ fields: z.string().optional().describe("返回字段"),
192
+ }),
193
+ handler: async (client, params) => {
194
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
195
+ if (!workspaceId) {
196
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
197
+ }
198
+ return client.get("/launch_forms/activity_logs", { ...params, workspace_id: workspaceId });
199
+ },
200
+ },
201
+ {
202
+ name: "tapd_get_launch_forms_count",
203
+ description: "获取发布评审数量",
204
+ inputSchema: z.object({
205
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
206
+ id: z.string().optional().describe("发布评审ID"),
207
+ title: z.string().optional().describe("标题"),
208
+ status: z.string().optional().describe("状态"),
209
+ creator: z.string().optional().describe("创建人"),
210
+ owner: z.string().optional().describe("负责人"),
211
+ }),
212
+ handler: async (client, params) => {
213
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
214
+ if (!workspaceId) {
215
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
216
+ }
217
+ return client.get("/launch_forms/count", { ...params, workspace_id: workspaceId });
218
+ },
219
+ },
220
+ {
221
+ name: "tapd_get_launch_forms_custom_fields_settings",
222
+ description: "获取发布评审自定义字段",
223
+ inputSchema: z.object({
224
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
225
+ }),
226
+ handler: async (client, params) => {
227
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
228
+ if (!workspaceId) {
229
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
230
+ }
231
+ return client.get("/launch_forms/custom_fields_settings", { ...params, workspace_id: workspaceId });
232
+ },
233
+ },
234
+ {
235
+ name: "tapd_get_launch_forms_templates",
236
+ description: "获取发布评审模板",
237
+ inputSchema: z.object({
238
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
239
+ id: z.string().optional().describe("模板ID"),
240
+ }),
241
+ handler: async (client, params) => {
242
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
243
+ if (!workspaceId) {
244
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
245
+ }
246
+ return client.get("/launch_forms/templates", { ...params, workspace_id: workspaceId });
21
247
  },
22
248
  },
23
249
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/tools/release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,YAAY,GAAc;IACrC;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC/C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACvD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACzE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACnF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/tools/release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAc;IACrC,YAAY;IACZ;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACvD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACxD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAClE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACzE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACnF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3E,CAAC;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC7D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;SAC5D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG;gBAClB,GAAG,MAAM;gBACT,YAAY,EAAE,WAAW;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ;gBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ;aACpC,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC9C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC7D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;SAC5D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC/C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACjF,CAAC;KACF;IACD,SAAS;IACT;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC/C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACrF,CAAC;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;SACvD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG;gBAClB,GAAG,MAAM;gBACT,YAAY,EAAE,WAAW;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ;aACpC,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;QAC7D,CAAC;KACF;IACD,OAAO;IACP;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACtD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;SAC1D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG;gBAClB,GAAG,MAAM;gBACT,YAAY,EAAE,WAAW;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ;gBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ;aACpC,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QACnD,CAAC;KACF;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC/C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7F,CAAC;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC7C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACrF,CAAC;KACF;IACD;QACE,IAAI,EAAE,8CAA8C;QACpD,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SACjE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,sCAAsC,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACtG,CAAC;KACF;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAChE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC3C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QACzF,CAAC;KACF;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ToolDef } from '../types.js';
2
+ export declare const reportTools: ToolDef[];
3
+ //# sourceMappingURL=report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/tools/report.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,OAAO,EAmChC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { z } from 'zod';
2
+ export const reportTools = [
3
+ {
4
+ name: "tapd_get_workspace_reports",
5
+ description: "获取项目报告列表",
6
+ inputSchema: z.object({
7
+ workspace_id: z.number().describe("项目ID (必填)"),
8
+ id: z.number().optional().describe("报表ID"),
9
+ name: z.string().optional().describe("报表名称,支持模糊匹配"),
10
+ type: z.string().optional().describe("报表类型"),
11
+ creator: z.string().optional().describe("创建人"),
12
+ fields: z.string().optional().describe("指定返回字段"),
13
+ }),
14
+ handler: async (client, params) => {
15
+ return client.get("/reports/workspace_reports", params);
16
+ },
17
+ },
18
+ {
19
+ name: "tapd_get_life_times",
20
+ description: "获取状态流转时间统计",
21
+ inputSchema: z.object({
22
+ workspace_id: z.number().describe("项目ID (必填)"),
23
+ entity_type: z.string().describe("对象类型: story/bug/task (必填)"),
24
+ entity_id: z.string().optional().describe("对象ID,支持多ID查询"),
25
+ status_from: z.string().optional().describe("起始状态"),
26
+ status_to: z.string().optional().describe("目标状态"),
27
+ created: z.string().optional().describe("创建时间,支持时间查询"),
28
+ limit: z.number().optional().describe("返回数量限制,默认30,最大200"),
29
+ page: z.number().optional().describe("页码,默认1"),
30
+ order: z.string().optional().describe("排序规则,如 created desc"),
31
+ fields: z.string().optional().describe("指定返回字段"),
32
+ }),
33
+ handler: async (client, params) => {
34
+ return client.get("/life_times", params);
35
+ },
36
+ },
37
+ ];
38
+ //# sourceMappingURL=report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/tools/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,WAAW,GAAc;IACpC;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACjD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,OAAO,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACzD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACjD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/tools/settings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,eAAO,MAAM,aAAa,EAAE,OAAO,EA0DlC,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/tools/settings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,aAAa,EAAE,OAAO,EAqZlC,CAAC"}