@cloudglab/zentao-cli 0.1.3
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.
- package/CHANGELOG.md +50 -0
- package/MCP_ZENTAO_REBUILD_PLAN.md +505 -0
- package/README.md +319 -0
- package/dist/api/bug.d.ts +32 -0
- package/dist/api/bug.js +85 -0
- package/dist/api/bug.js.map +1 -0
- package/dist/api/build.d.ts +31 -0
- package/dist/api/build.js +21 -0
- package/dist/api/build.js.map +1 -0
- package/dist/api/comment.d.ts +20 -0
- package/dist/api/comment.js +47 -0
- package/dist/api/comment.js.map +1 -0
- package/dist/api/development-context.d.ts +14 -0
- package/dist/api/development-context.js +35 -0
- package/dist/api/development-context.js.map +1 -0
- package/dist/api/execution.d.ts +46 -0
- package/dist/api/execution.js +47 -0
- package/dist/api/execution.js.map +1 -0
- package/dist/api/index.d.ts +43 -0
- package/dist/api/index.js +46 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/plan.d.ts +18 -0
- package/dist/api/plan.js +33 -0
- package/dist/api/plan.js.map +1 -0
- package/dist/api/product.d.ts +7 -0
- package/dist/api/product.js +14 -0
- package/dist/api/product.js.map +1 -0
- package/dist/api/program.d.ts +7 -0
- package/dist/api/program.js +14 -0
- package/dist/api/program.js.map +1 -0
- package/dist/api/project.d.ts +8 -0
- package/dist/api/project.js +15 -0
- package/dist/api/project.js.map +1 -0
- package/dist/api/relation.d.ts +17 -0
- package/dist/api/relation.js +66 -0
- package/dist/api/relation.js.map +1 -0
- package/dist/api/release.d.ts +6 -0
- package/dist/api/release.js +11 -0
- package/dist/api/release.js.map +1 -0
- package/dist/api/search.d.ts +17 -0
- package/dist/api/search.js +168 -0
- package/dist/api/search.js.map +1 -0
- package/dist/api/statistics.d.ts +13 -0
- package/dist/api/statistics.js +67 -0
- package/dist/api/statistics.js.map +1 -0
- package/dist/api/story.d.ts +14 -0
- package/dist/api/story.js +23 -0
- package/dist/api/story.js.map +1 -0
- package/dist/api/task.d.ts +17 -0
- package/dist/api/task.js +37 -0
- package/dist/api/task.js.map +1 -0
- package/dist/api/testcase.d.ts +51 -0
- package/dist/api/testcase.js +31 -0
- package/dist/api/testcase.js.map +1 -0
- package/dist/api/testtask.d.ts +41 -0
- package/dist/api/testtask.js +34 -0
- package/dist/api/testtask.js.map +1 -0
- package/dist/api/user.d.ts +6 -0
- package/dist/api/user.js +9 -0
- package/dist/api/user.js.map +1 -0
- package/dist/bin/zentao-dev.d.ts +2 -0
- package/dist/bin/zentao-dev.js +8 -0
- package/dist/bin/zentao-dev.js.map +1 -0
- package/dist/bin/zentao-pm.d.ts +2 -0
- package/dist/bin/zentao-pm.js +8 -0
- package/dist/bin/zentao-pm.js.map +1 -0
- package/dist/bin/zentao-qa.d.ts +2 -0
- package/dist/bin/zentao-qa.js +8 -0
- package/dist/bin/zentao-qa.js.map +1 -0
- package/dist/bin/zentao.d.ts +2 -0
- package/dist/bin/zentao.js +8 -0
- package/dist/bin/zentao.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +74 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/api-provider.d.ts +3 -0
- package/dist/core/api-provider.js +17 -0
- package/dist/core/api-provider.js.map +1 -0
- package/dist/core/auth.d.ts +13 -0
- package/dist/core/auth.js +90 -0
- package/dist/core/auth.js.map +1 -0
- package/dist/core/cli-registry.d.ts +18 -0
- package/dist/core/cli-registry.js +128 -0
- package/dist/core/cli-registry.js.map +1 -0
- package/dist/core/config.d.ts +7 -0
- package/dist/core/config.js +58 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/http.d.ts +12 -0
- package/dist/core/http.js +50 -0
- package/dist/core/http.js.map +1 -0
- package/dist/core/list-result.d.ts +14 -0
- package/dist/core/list-result.js +59 -0
- package/dist/core/list-result.js.map +1 -0
- package/dist/core/pagination.d.ts +9 -0
- package/dist/core/pagination.js +12 -0
- package/dist/core/pagination.js.map +1 -0
- package/dist/core/roles.d.ts +4 -0
- package/dist/core/roles.js +13 -0
- package/dist/core/roles.js.map +1 -0
- package/dist/core/tool-registry.d.ts +3 -0
- package/dist/core/tool-registry.js +77 -0
- package/dist/core/tool-registry.js.map +1 -0
- package/dist/core/write-guard.d.ts +25 -0
- package/dist/core/write-guard.js +53 -0
- package/dist/core/write-guard.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/bug.d.ts +2 -0
- package/dist/tools/bug.js +41 -0
- package/dist/tools/bug.js.map +1 -0
- package/dist/tools/build.d.ts +2 -0
- package/dist/tools/build.js +8 -0
- package/dist/tools/build.js.map +1 -0
- package/dist/tools/comment.d.ts +2 -0
- package/dist/tools/comment.js +23 -0
- package/dist/tools/comment.js.map +1 -0
- package/dist/tools/context.d.ts +2 -0
- package/dist/tools/context.js +11 -0
- package/dist/tools/context.js.map +1 -0
- package/dist/tools/execution.d.ts +2 -0
- package/dist/tools/execution.js +21 -0
- package/dist/tools/execution.js.map +1 -0
- package/dist/tools/init.d.ts +2 -0
- package/dist/tools/init.js +28 -0
- package/dist/tools/init.js.map +1 -0
- package/dist/tools/phase3a.d.ts +4 -0
- package/dist/tools/phase3a.js +123 -0
- package/dist/tools/phase3a.js.map +1 -0
- package/dist/tools/phase3b.d.ts +5 -0
- package/dist/tools/phase3b.js +161 -0
- package/dist/tools/phase3b.js.map +1 -0
- package/dist/tools/plan.d.ts +2 -0
- package/dist/tools/plan.js +14 -0
- package/dist/tools/plan.js.map +1 -0
- package/dist/tools/product.d.ts +2 -0
- package/dist/tools/product.js +10 -0
- package/dist/tools/product.js.map +1 -0
- package/dist/tools/profile.d.ts +2 -0
- package/dist/tools/profile.js +6 -0
- package/dist/tools/profile.js.map +1 -0
- package/dist/tools/program.d.ts +2 -0
- package/dist/tools/program.js +8 -0
- package/dist/tools/program.js.map +1 -0
- package/dist/tools/project.d.ts +2 -0
- package/dist/tools/project.js +13 -0
- package/dist/tools/project.js.map +1 -0
- package/dist/tools/relation.d.ts +2 -0
- package/dist/tools/relation.js +13 -0
- package/dist/tools/relation.js.map +1 -0
- package/dist/tools/release.d.ts +2 -0
- package/dist/tools/release.js +7 -0
- package/dist/tools/release.js.map +1 -0
- package/dist/tools/search.d.ts +2 -0
- package/dist/tools/search.js +18 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/shared.d.ts +2 -0
- package/dist/tools/shared.js +11 -0
- package/dist/tools/shared.js.map +1 -0
- package/dist/tools/statistics.d.ts +2 -0
- package/dist/tools/statistics.js +10 -0
- package/dist/tools/statistics.js.map +1 -0
- package/dist/tools/story.d.ts +2 -0
- package/dist/tools/story.js +14 -0
- package/dist/tools/story.js.map +1 -0
- package/dist/tools/task.d.ts +2 -0
- package/dist/tools/task.js +48 -0
- package/dist/tools/task.js.map +1 -0
- package/dist/tools/testcase.d.ts +2 -0
- package/dist/tools/testcase.js +16 -0
- package/dist/tools/testcase.js.map +1 -0
- package/dist/tools/testtask.d.ts +2 -0
- package/dist/tools/testtask.js +14 -0
- package/dist/tools/testtask.js.map +1 -0
- package/dist/types/common.d.ts +15 -0
- package/dist/types/common.js +2 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/zentao.d.ts +42 -0
- package/dist/types/zentao.js +2 -0
- package/dist/types/zentao.js.map +1 -0
- package/dist/utils/json.d.ts +2 -0
- package/dist/utils/json.js +27 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase3b.js","sourceRoot":"","sources":["../../src/tools/phase3b.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerPlanTools(server) {
|
|
5
|
+
server.tool('getProductPlans', {
|
|
6
|
+
productId: z.number().int().positive(),
|
|
7
|
+
branch: z.string().optional(),
|
|
8
|
+
status: z.string().optional(),
|
|
9
|
+
query: z.string().optional().describe('禅道 18.5 REST v1 支持的计划搜索关键字'),
|
|
10
|
+
order: z.string().optional().describe('排序字段,例如 id_desc'),
|
|
11
|
+
}, async (input) => jsonResult(await getApi().plan.getProductPlans(input)));
|
|
12
|
+
server.tool('getPlanDetail', { planId: z.number().int().positive() }, async ({ planId }) => jsonResult(await getApi().plan.getPlanDetail(planId)));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACzD,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5E,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerProductTools(server) {
|
|
5
|
+
server.tool('getProducts', {}, async () => jsonResult(await getApi().product.getProducts()));
|
|
6
|
+
server.tool('getProductDetail', {
|
|
7
|
+
productId: z.number().int().positive().describe('禅道产品 ID。若用户问的是业务产品的线上/客户反馈/售后/生产问题,不要先用业务产品名找禅道产品;应固定查询“市场和售后问题跟踪”产品,再按 Bug 模块匹配真实业务产品。'),
|
|
8
|
+
}, async ({ productId }) => jsonResult(await getApi().product.getProductDetail(productId)));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=product.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/tools/product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,MAAM,CAAC,IAAI,CACT,aAAa,EACb,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAC7D,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yFAAyF,CAAC;KAC3I,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CACxF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { getApi } from '../core/api-provider.js';
|
|
2
|
+
import { jsonResult } from './shared.js';
|
|
3
|
+
export function registerProfileTools(server) {
|
|
4
|
+
server.tool('getMyProfile', {}, async () => jsonResult(await getApi().user.getMyProfile()));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/tools/profile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAC9F,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerProgramTools(server) {
|
|
5
|
+
server.tool('getPrograms', { order: z.string().optional() }, async ({ order }) => jsonResult(await getApi().program.getPrograms(order)));
|
|
6
|
+
server.tool('getProgramDetail', { programId: z.number().int().positive() }, async ({ programId }) => jsonResult(await getApi().program.getProgramDetail(programId)));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/tools/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzI,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACvK,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerProjectTools(server) {
|
|
5
|
+
server.tool('getProjects', {
|
|
6
|
+
page: z.number().int().positive().optional(),
|
|
7
|
+
limit: z.number().int().positive().max(100).optional(),
|
|
8
|
+
}, async (input) => jsonResult(await getApi().project.getProjects(input)));
|
|
9
|
+
server.tool('getProjectDetail', {
|
|
10
|
+
projectId: z.number().int().positive(),
|
|
11
|
+
}, async ({ projectId }) => jsonResult(await getApi().project.getProjectDetail(projectId)));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,MAAM,CAAC,IAAI,CACT,aAAa,EACb;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KACvD,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CACvE,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACvC,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CACxF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerRelationTools(server) {
|
|
5
|
+
server.tool('getStoryRelatedBugs', {
|
|
6
|
+
storyId: z.number().int().positive(),
|
|
7
|
+
productId: z.number().int().positive().optional().describe('可选。若 story 详情没有直接返回 bugs,则用产品 Bug 列表兜底过滤。'),
|
|
8
|
+
}, async ({ storyId, productId }) => jsonResult(await getApi().relation.getStoryRelatedBugs(storyId, productId)));
|
|
9
|
+
server.tool('getBugRelatedStory', {
|
|
10
|
+
bugId: z.number().int().positive(),
|
|
11
|
+
}, async ({ bugId }) => jsonResult(await getApi().relation.getBugRelatedStory(bugId)));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=relation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/tools/relation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KACxG,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAC9G,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACnC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CACnF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerReleaseTools(server) {
|
|
5
|
+
server.tool('getProjectReleases', { projectId: z.number().int().positive() }, async ({ projectId }) => jsonResult(await getApi().release.getProjectReleases(projectId)));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=release.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACtD,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3K,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerSearchTools(server) {
|
|
5
|
+
server.tool('searchStories', {
|
|
6
|
+
keyword: z.string().min(1),
|
|
7
|
+
productId: z.number().int().positive().optional(),
|
|
8
|
+
limit: z.number().int().positive().max(100).optional().default(20),
|
|
9
|
+
deepSearch: z.boolean().optional().default(false),
|
|
10
|
+
}, async (input) => jsonResult(await getApi().search.searchStories(input)));
|
|
11
|
+
server.tool('searchStoriesByProductName', {
|
|
12
|
+
productName: z.string().min(1),
|
|
13
|
+
keyword: z.string().min(1),
|
|
14
|
+
limit: z.number().int().positive().max(100).optional().default(10),
|
|
15
|
+
deepSearch: z.boolean().optional().default(false),
|
|
16
|
+
}, async ({ productName, keyword, limit, deepSearch }) => jsonResult(await getApi().search.searchStoriesByProductName(productName, keyword, { limit, deepSearch })));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAClD,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5E,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;QACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAClD,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;AACvK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerStatisticsTools(server) {
|
|
5
|
+
server.tool('getMyTaskStatistics', {}, async () => jsonResult(await getApi().statistics.getMyTaskStatistics()));
|
|
6
|
+
server.tool('getMyBugStatistics', {
|
|
7
|
+
productId: z.number().int().positive().optional().describe('可选。禅道产品 ID。不传时统计跨所有产品指派给我的 Bug;传入时收窄到指定产品。'),
|
|
8
|
+
}, async ({ productId }) => jsonResult(await getApi().statistics.getMyBugStatistics(productId)));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=statistics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statistics.js","sourceRoot":"","sources":["../../src/tools/statistics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,uBAAuB,CAAC,MAAmB;IACzD,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAEhH,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KACzG,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAC7F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerStoryTools(server) {
|
|
5
|
+
server.tool('getProductStories', {
|
|
6
|
+
productId: z.number().int().positive(),
|
|
7
|
+
page: z.number().int().positive().optional(),
|
|
8
|
+
limit: z.number().int().positive().max(100).optional(),
|
|
9
|
+
}, async (input) => jsonResult(await getApi().story.getProductStories(input)));
|
|
10
|
+
server.tool('getStoryDetail', {
|
|
11
|
+
storyId: z.number().int().positive(),
|
|
12
|
+
}, async ({ storyId }) => jsonResult(await getApi().story.getStoryDetail(storyId)));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=story.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"story.js","sourceRoot":"","sources":["../../src/tools/story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KACvD,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAC3E,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACrC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAChF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { previewOrAssertWriteAllowed } from '../core/write-guard.js';
|
|
4
|
+
import { jsonResult } from './shared.js';
|
|
5
|
+
export function registerTaskTools(server) {
|
|
6
|
+
server.tool('getMyTasks', {
|
|
7
|
+
status: z.enum(['wait', 'doing', 'done', 'cancel', 'closed', 'all']).optional().default('all'),
|
|
8
|
+
page: z.number().int().positive().optional(),
|
|
9
|
+
limit: z.number().int().positive().max(100).optional(),
|
|
10
|
+
}, async (input) => jsonResult(await getApi().task.getMyTasks(input)));
|
|
11
|
+
server.tool('getTaskDetail', {
|
|
12
|
+
taskId: z.number().int().positive(),
|
|
13
|
+
}, async ({ taskId }) => jsonResult(await getApi().task.getTaskDetail(taskId)));
|
|
14
|
+
server.tool('updateTask', {
|
|
15
|
+
taskId: z.number().int().positive(),
|
|
16
|
+
name: z.string().optional(),
|
|
17
|
+
status: z.string().optional(),
|
|
18
|
+
assignedTo: z.string().optional(),
|
|
19
|
+
estimate: z.number().optional(),
|
|
20
|
+
consumed: z.number().optional(),
|
|
21
|
+
left: z.number().optional(),
|
|
22
|
+
deadline: z.string().optional(),
|
|
23
|
+
comment: z.string().optional(),
|
|
24
|
+
confirm: z.boolean().optional().default(false),
|
|
25
|
+
}, async ({ taskId, confirm, ...update }) => {
|
|
26
|
+
const payload = { taskId, update };
|
|
27
|
+
const preview = previewOrAssertWriteAllowed({ action: 'updateTask', confirm, payload });
|
|
28
|
+
if (preview)
|
|
29
|
+
return jsonResult(preview);
|
|
30
|
+
return jsonResult(await getApi().task.updateTask(taskId, update));
|
|
31
|
+
});
|
|
32
|
+
server.tool('finishTask', {
|
|
33
|
+
taskId: z.number().int().positive(),
|
|
34
|
+
currentConsumed: z.number().nonnegative().describe('本次消耗工时。禅道 18.5 /tasks/{id}/finish 必填'),
|
|
35
|
+
realStarted: z.string().min(1).describe('实际开始时间或日期。禅道 18.5 /tasks/{id}/finish 必填'),
|
|
36
|
+
finishedDate: z.string().min(1).describe('完成时间或日期。禅道 18.5 /tasks/{id}/finish 必填'),
|
|
37
|
+
assignedTo: z.string().optional(),
|
|
38
|
+
comment: z.string().optional(),
|
|
39
|
+
confirm: z.boolean().optional().default(false),
|
|
40
|
+
}, async ({ taskId, confirm, ...update }) => {
|
|
41
|
+
const payload = { taskId, update };
|
|
42
|
+
const preview = previewOrAssertWriteAllowed({ action: 'finishTask', confirm, payload });
|
|
43
|
+
if (preview)
|
|
44
|
+
return jsonResult(preview);
|
|
45
|
+
return jsonResult(await getApi().task.finishTask(taskId, update));
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/tools/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerTestCaseTools(server) {
|
|
5
|
+
server.tool('getProductTestCases', {
|
|
6
|
+
productId: z.number().int().positive(),
|
|
7
|
+
page: z.number().int().positive().optional(),
|
|
8
|
+
limit: z.number().int().positive().max(100).optional(),
|
|
9
|
+
status: z.string().optional(),
|
|
10
|
+
moduleId: z.number().int().positive().optional(),
|
|
11
|
+
}, async (input) => jsonResult(await getApi().testcase.getProductTestCases(input)));
|
|
12
|
+
server.tool('getTestCaseDetail', {
|
|
13
|
+
testCaseId: z.number().int().positive(),
|
|
14
|
+
}, async ({ testCaseId }) => jsonResult(await getApi().testcase.getTestCaseDetail(testCaseId)));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=testcase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testcase.js","sourceRoot":"","sources":["../../src/tools/testcase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACjD,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAChF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACxC,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAC5F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getApi } from '../core/api-provider.js';
|
|
3
|
+
import { jsonResult } from './shared.js';
|
|
4
|
+
export function registerTestTaskTools(server) {
|
|
5
|
+
server.tool('getTestTasks', {
|
|
6
|
+
productId: z.number().int().positive(),
|
|
7
|
+
page: z.number().int().positive().optional(),
|
|
8
|
+
limit: z.number().int().positive().max(100).optional(),
|
|
9
|
+
}, async (input) => jsonResult(await getApi().testtask.getTestTasks(input)));
|
|
10
|
+
server.tool('getTestTaskDetail', {
|
|
11
|
+
testTaskId: z.number().int().positive(),
|
|
12
|
+
}, async ({ testTaskId }) => jsonResult(await getApi().testtask.getTestTaskDetail(testTaskId)));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=testtask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testtask.js","sourceRoot":"","sources":["../../src/tools/testtask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,CAAC,IAAI,CACT,cAAc,EACd;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KACvD,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACzE,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACxC,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAC5F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type Role = 'full' | 'dev' | 'pm' | 'qa';
|
|
2
|
+
export interface ZentaoConfig {
|
|
3
|
+
url: string;
|
|
4
|
+
username: string;
|
|
5
|
+
password: string;
|
|
6
|
+
apiVersion: string;
|
|
7
|
+
apiBaseUrl?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface JsonContentResult {
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
content: Array<{
|
|
12
|
+
type: 'text';
|
|
13
|
+
text: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface ZentaoListResponse<T> {
|
|
2
|
+
page?: number;
|
|
3
|
+
total?: number;
|
|
4
|
+
limit?: number;
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
data?: T[];
|
|
7
|
+
}
|
|
8
|
+
export interface ZentaoTask {
|
|
9
|
+
id: number;
|
|
10
|
+
name: string;
|
|
11
|
+
status?: string;
|
|
12
|
+
assignedTo?: unknown;
|
|
13
|
+
execution?: number;
|
|
14
|
+
story?: number;
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface ZentaoBug {
|
|
18
|
+
id: number;
|
|
19
|
+
title: string;
|
|
20
|
+
status?: string;
|
|
21
|
+
assignedTo?: unknown;
|
|
22
|
+
execution?: number;
|
|
23
|
+
product?: number;
|
|
24
|
+
[key: string]: unknown;
|
|
25
|
+
}
|
|
26
|
+
export interface ZentaoStory {
|
|
27
|
+
id: number;
|
|
28
|
+
title: string;
|
|
29
|
+
status?: string;
|
|
30
|
+
product?: number;
|
|
31
|
+
[key: string]: unknown;
|
|
32
|
+
}
|
|
33
|
+
export interface ZentaoExecution {
|
|
34
|
+
id: number;
|
|
35
|
+
name: string;
|
|
36
|
+
status?: string;
|
|
37
|
+
products?: Array<{
|
|
38
|
+
id: number;
|
|
39
|
+
name: string;
|
|
40
|
+
}>;
|
|
41
|
+
[key: string]: unknown;
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zentao.js","sourceRoot":"","sources":["../../src/types/zentao.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function sanitizeJsonLikeResponse(data) {
|
|
2
|
+
if (typeof data === 'object' && data !== null)
|
|
3
|
+
return data;
|
|
4
|
+
if (typeof data !== 'string') {
|
|
5
|
+
throw new Error(`响应格式不支持: ${typeof data}`);
|
|
6
|
+
}
|
|
7
|
+
const objectIndex = data.indexOf('{');
|
|
8
|
+
const arrayIndex = data.indexOf('[');
|
|
9
|
+
let startIndex = -1;
|
|
10
|
+
if (objectIndex >= 0 && arrayIndex >= 0)
|
|
11
|
+
startIndex = Math.min(objectIndex, arrayIndex);
|
|
12
|
+
else if (objectIndex >= 0)
|
|
13
|
+
startIndex = objectIndex;
|
|
14
|
+
else
|
|
15
|
+
startIndex = arrayIndex;
|
|
16
|
+
if (startIndex < 0) {
|
|
17
|
+
throw new Error(`响应中未找到 JSON: ${data.slice(0, 300)}`);
|
|
18
|
+
}
|
|
19
|
+
return JSON.parse(data.slice(startIndex).trim());
|
|
20
|
+
}
|
|
21
|
+
export function asRecord(value) {
|
|
22
|
+
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
throw new Error(`期望对象响应,实际为: ${typeof value}`);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,wBAAwB,CAAC,IAAa;IACpD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE3D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,IAAI,WAAW,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC;QAAE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;SACnF,IAAI,WAAW,IAAI,CAAC;QAAE,UAAU,GAAG,WAAW,CAAC;;QAC/C,UAAU,GAAG,UAAU,CAAC;IAE7B,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAY,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,KAAgC,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CLI_VERSION = "0.1.3";
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cloudglab/zentao-cli",
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "ZenTao CLI rebuilt for ZenTao 18.5 REST v1 API",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/cloudglab/zentao-cli.git"
|
|
8
|
+
},
|
|
9
|
+
"type": "module",
|
|
10
|
+
"main": "dist/index.js",
|
|
11
|
+
"types": "dist/index.d.ts",
|
|
12
|
+
"bin": {
|
|
13
|
+
"zentao": "dist/bin/zentao.js",
|
|
14
|
+
"zentao-cli": "dist/bin/zentao.js",
|
|
15
|
+
"zentao-dev": "dist/bin/zentao-dev.js",
|
|
16
|
+
"zentao-pm": "dist/bin/zentao-pm.js",
|
|
17
|
+
"zentao-qa": "dist/bin/zentao-qa.js"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"README.md",
|
|
22
|
+
"CHANGELOG.md",
|
|
23
|
+
"MCP_ZENTAO_REBUILD_PLAN.md"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "rm -rf dist && tsc -p tsconfig.json",
|
|
27
|
+
"dev": "tsx src/bin/zentao.ts",
|
|
28
|
+
"lint": "oxlint src",
|
|
29
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"axios": "^1.13.2",
|
|
33
|
+
"zod": "^3.22.4"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/node": "^20.19.25",
|
|
37
|
+
"oxlint": "^1.31.0",
|
|
38
|
+
"tsx": "^4.20.6",
|
|
39
|
+
"typescript": "^5.9.3"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=16.0.0"
|
|
43
|
+
},
|
|
44
|
+
"publishConfig": {
|
|
45
|
+
"access": "public"
|
|
46
|
+
},
|
|
47
|
+
"packageManager": "pnpm@10.24.0"
|
|
48
|
+
}
|