ai-project-manage-cli 2.0.11 → 2.0.13

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 (103) hide show
  1. package/README.md +6 -6
  2. package/dist/api/cli.d.ts +84 -7
  3. package/dist/api/cli.d.ts.map +1 -1
  4. package/dist/api/client.d.ts +5 -1
  5. package/dist/api/client.d.ts.map +1 -1
  6. package/dist/api/index.d.ts +1 -1
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/request-config.d.ts +6 -2
  9. package/dist/api/request-config.d.ts.map +1 -1
  10. package/dist/api/request-config.js +18 -2
  11. package/dist/api/request-config.js.map +1 -1
  12. package/dist/cli/commands/deploy-backend.d.ts +7 -0
  13. package/dist/cli/commands/deploy-backend.d.ts.map +1 -0
  14. package/dist/cli/commands/deploy-backend.js +81 -0
  15. package/dist/cli/commands/deploy-backend.js.map +1 -0
  16. package/dist/cli/commands/deploy-frontend.d.ts +3 -0
  17. package/dist/cli/commands/deploy-frontend.d.ts.map +1 -0
  18. package/dist/cli/commands/deploy-frontend.js +98 -0
  19. package/dist/cli/commands/deploy-frontend.js.map +1 -0
  20. package/dist/cli/commands/get.d.ts.map +1 -1
  21. package/dist/cli/commands/get.js +37 -13
  22. package/dist/cli/commands/get.js.map +1 -1
  23. package/dist/cli/commands/init.js +1 -1
  24. package/dist/cli/commands/publish.d.ts.map +1 -1
  25. package/dist/cli/commands/publish.js +42 -127
  26. package/dist/cli/commands/publish.js.map +1 -1
  27. package/dist/cli/commands/release.d.ts +3 -0
  28. package/dist/cli/commands/release.d.ts.map +1 -0
  29. package/dist/cli/commands/release.js +39 -0
  30. package/dist/cli/commands/release.js.map +1 -0
  31. package/dist/cli/commands/set.d.ts.map +1 -1
  32. package/dist/cli/commands/set.js +0 -8
  33. package/dist/cli/commands/set.js.map +1 -1
  34. package/dist/cli/commands/status.d.ts +3 -0
  35. package/dist/cli/commands/status.d.ts.map +1 -0
  36. package/dist/cli/commands/status.js +44 -0
  37. package/dist/cli/commands/status.js.map +1 -0
  38. package/dist/cli/utils/parse.d.ts +2 -0
  39. package/dist/cli/utils/parse.d.ts.map +1 -0
  40. package/dist/cli/utils/parse.js +12 -0
  41. package/dist/cli/utils/parse.js.map +1 -0
  42. package/dist/cli.js +8 -2
  43. package/dist/cli.js.map +1 -1
  44. package/dist/core/apm-config.d.ts +60 -1
  45. package/dist/core/apm-config.d.ts.map +1 -1
  46. package/dist/core/apm-config.js +111 -3
  47. package/dist/core/apm-config.js.map +1 -1
  48. package/dist/core/backend-deploy/backend-deploy-workflow.d.ts +16 -0
  49. package/dist/core/backend-deploy/backend-deploy-workflow.d.ts.map +1 -0
  50. package/dist/core/backend-deploy/backend-deploy-workflow.js +53 -0
  51. package/dist/core/backend-deploy/backend-deploy-workflow.js.map +1 -0
  52. package/dist/core/backend-deploy/image-tag.d.ts +2 -0
  53. package/dist/core/backend-deploy/image-tag.d.ts.map +1 -0
  54. package/dist/core/backend-deploy/image-tag.js +15 -0
  55. package/dist/core/backend-deploy/image-tag.js.map +1 -0
  56. package/dist/core/backend-deploy/index.d.ts +12 -0
  57. package/dist/core/backend-deploy/index.d.ts.map +1 -0
  58. package/dist/core/backend-deploy/index.js +23 -0
  59. package/dist/core/backend-deploy/index.js.map +1 -0
  60. package/dist/core/backend-deploy/local-docker-build.d.ts +11 -0
  61. package/dist/core/backend-deploy/local-docker-build.d.ts.map +1 -0
  62. package/dist/core/backend-deploy/local-docker-build.js +29 -0
  63. package/dist/core/backend-deploy/local-docker-build.js.map +1 -0
  64. package/dist/core/backend-deploy/registry-login-push.d.ts +14 -0
  65. package/dist/core/backend-deploy/registry-login-push.d.ts.map +1 -0
  66. package/dist/core/backend-deploy/registry-login-push.js +48 -0
  67. package/dist/core/backend-deploy/registry-login-push.js.map +1 -0
  68. package/dist/core/backend-deploy/remote-docker-client.d.ts +11 -0
  69. package/dist/core/backend-deploy/remote-docker-client.d.ts.map +1 -0
  70. package/dist/core/backend-deploy/remote-docker-client.js +33 -0
  71. package/dist/core/backend-deploy/remote-docker-client.js.map +1 -0
  72. package/dist/core/backend-deploy/remote-pull-image.d.ts +9 -0
  73. package/dist/core/backend-deploy/remote-pull-image.d.ts.map +1 -0
  74. package/dist/core/backend-deploy/remote-pull-image.js +39 -0
  75. package/dist/core/backend-deploy/remote-pull-image.js.map +1 -0
  76. package/dist/core/backend-deploy/resolve-dockerfile.d.ts +12 -0
  77. package/dist/core/backend-deploy/resolve-dockerfile.d.ts.map +1 -0
  78. package/dist/core/backend-deploy/resolve-dockerfile.js +33 -0
  79. package/dist/core/backend-deploy/resolve-dockerfile.js.map +1 -0
  80. package/dist/core/backend-deploy/run-docker-cli.d.ts +14 -0
  81. package/dist/core/backend-deploy/run-docker-cli.d.ts.map +1 -0
  82. package/dist/core/backend-deploy/run-docker-cli.js +33 -0
  83. package/dist/core/backend-deploy/run-docker-cli.js.map +1 -0
  84. package/dist/core/backend-deploy/types.d.ts +69 -0
  85. package/dist/core/backend-deploy/types.d.ts.map +1 -0
  86. package/dist/core/backend-deploy/types.js +6 -0
  87. package/dist/core/backend-deploy/types.js.map +1 -0
  88. package/dist/core/branch-name.d.ts +8 -0
  89. package/dist/core/branch-name.d.ts.map +1 -0
  90. package/dist/core/branch-name.js +37 -0
  91. package/dist/core/branch-name.js.map +1 -0
  92. package/dist/core/cursor-cmd.d.ts.map +1 -1
  93. package/dist/core/cursor-cmd.js +2 -1
  94. package/dist/core/cursor-cmd.js.map +1 -1
  95. package/dist/core/minio.d.ts +35 -0
  96. package/dist/core/minio.d.ts.map +1 -0
  97. package/dist/core/minio.js +154 -0
  98. package/dist/core/minio.js.map +1 -0
  99. package/package.json +6 -6
  100. package/templates/skills/apm-apply-change/SKILL.md +1 -1
  101. package/templates/skills/apm-auto-dev/SKILL.md +1 -1
  102. package/templates/skills/apm-fixbug/SKILL.md +53 -115
  103. package/templates/skills/apm-release/SKILL.md +87 -0
@@ -17,22 +17,18 @@ const DEFECT_STATUS_LABEL = {
17
17
  FIXED: "已解决",
18
18
  REOPENED: "重新打开",
19
19
  };
20
- function defectStatusLabel(status) {
21
- return DEFECT_STATUS_LABEL[status] ?? status;
22
- }
23
20
  function buildDefectMarkdown(row) {
24
- return `## 当前状态
25
- ${defectStatusLabel(row.status)}
26
-
27
- ## 缺陷内容
21
+ return `## 缺陷内容
28
22
  ${row.title}
23
+
24
+ ## 原因复盘
29
25
  `;
30
26
  }
31
27
  function buildStatusYaml(defects) {
32
28
  const lines = ["# 缺陷状态", "defects:"];
33
29
  for (const d of defects) {
34
30
  lines.push(` "${d.id}":`);
35
- lines.push(` status: ${d.status}`);
31
+ lines.push(` status: ${DEFECT_STATUS_LABEL[d.status]}`);
36
32
  }
37
33
  return `${lines.join("\n")}\n`;
38
34
  }
@@ -88,10 +84,6 @@ ${res.comments
88
84
  .description("按需求 ID 拉取当前登录员工名下的缺陷列表,并写入 .apm/workitems/<id>/bugs/")
89
85
  .argument("<id>", "需求 ID", parseRequirementId)
90
86
  .action(async (requirementId) => {
91
- const config = (0, apm_config_1.loadApmConfig)();
92
- if (!config.auth.token?.trim()) {
93
- throw new Error("未登录:请先执行 apm login");
94
- }
95
87
  const res = await client_1.default.cli.resourceRequirementDefectsList({
96
88
  id: requirementId,
97
89
  });
@@ -112,7 +104,39 @@ ${res.comments
112
104
  }
113
105
  const statusPath = path_1.default.join(bugsDir, "status.yaml");
114
106
  (0, node_fs_1.writeFileSync)(statusPath, buildStatusYaml(matched), "utf8");
115
- console.log(`已写入 ${matched.length} 条缺陷到 ${bugsDir},并更新 status.yaml(忽略 ${res.list.length - matched.length} 条目录不匹配的缺陷)`);
107
+ console.log(`已写入 ${matched.length} 条缺陷到 ${bugsDir},并更新 status.yaml`);
108
+ });
109
+ getCmd
110
+ .command("branch-name")
111
+ .alias("branchName")
112
+ .description("按需求 ID 获取当前开发目录对应的分支名(服务端返回)")
113
+ .argument("<id>", "需求 ID", parseRequirementId)
114
+ .action(async (requirementId) => {
115
+ const res = await client_1.default.cli.resourceRequirementDevelopersBranchNamesList({
116
+ id: requirementId,
117
+ });
118
+ const currentDir = path_1.default.resolve(process.cwd());
119
+ const matched = res.list.filter((row) => {
120
+ const wd = row.workdir?.trim();
121
+ if (!wd) {
122
+ return false;
123
+ }
124
+ return wd === currentDir;
125
+ });
126
+ if (matched.length === 0) {
127
+ const hint = res.list.length > 0
128
+ ? `服务端返回 ${res.list.length} 条记录,工作目录均与当前目录不一致。当前目录:${currentDir}`
129
+ : "服务端未返回任何开发者分支记录";
130
+ throw new Error(`未找到与当前开发目录匹配的分支条目。${hint}`);
131
+ }
132
+ if (matched.length > 1) {
133
+ throw new Error(`存在 ${matched.length} 条工作目录与当前目录一致的记录,无法唯一确定分支名`);
134
+ }
135
+ const name = matched[0].branchName?.trim();
136
+ if (!name) {
137
+ throw new Error("已匹配到当前开发目录对应的开发者记录,但分支名尚未设置(可先通过相应流程写入分支名)");
138
+ }
139
+ console.log(name);
116
140
  });
117
141
  }
118
142
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/cli/commands/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/cli/commands/get.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ function resolveProjectRootFromCursorSkillsDir(cursorSkillsDir) {
52
52
  /**
53
53
  * 创建标准 \`.apm\` 目录结构(与仓库内参考 \`.apm\` 一致):
54
54
  * - workitems
55
- * - deploy(含占位 README,已存在则不覆盖)
55
+ * - deploy(前端发布说明目录,含占位 README;与 apm.config 中 frontendDeploy 配置项独立,已存在则不覆盖)
56
56
  * - product-capability-inventory(含总览 README;从模板复制使用说明书,已存在则不覆盖)
57
57
  */
58
58
  async function ensureApmStandardLayout(projectRoot, skillsTemplateDir) {
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/publish.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgH9D"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/publish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuI9D"}
@@ -4,40 +4,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerPublishCommands = registerPublishCommands;
7
- const promises_1 = require("node:fs/promises");
8
7
  const node_path_1 = __importDefault(require("node:path"));
9
- const minio_1 = require("minio");
8
+ const client_1 = __importDefault(require("../../api/client"));
10
9
  const apm_config_1 = require("../../core/apm-config");
11
- const MIME_BY_EXT = {
12
- ".html": "text/html; charset=utf-8",
13
- ".js": "application/javascript; charset=utf-8",
14
- ".mjs": "application/javascript; charset=utf-8",
15
- ".css": "text/css; charset=utf-8",
16
- ".json": "application/json; charset=utf-8",
17
- ".map": "application/json; charset=utf-8",
18
- ".txt": "text/plain; charset=utf-8",
19
- ".svg": "image/svg+xml",
20
- ".png": "image/png",
21
- ".jpg": "image/jpeg",
22
- ".jpeg": "image/jpeg",
23
- ".webp": "image/webp",
24
- ".gif": "image/gif",
25
- ".ico": "image/x-icon",
26
- ".woff": "font/woff",
27
- ".woff2": "font/woff2",
28
- ".ttf": "font/ttf",
29
- };
30
- const DEFAULT_MAX_FILE_SIZE_MB = 100;
10
+ const minio_1 = require("../../core/minio");
31
11
  function registerPublishCommands(program) {
32
12
  program
33
13
  .command("publish")
34
14
  .description("递归上传前端产物目录到 MinIO,并在成功后为该桶设置匿名可读策略(仅读取当前目录下 `.apm/.env` 中的 MINIO_*,已有环境变量优先)")
35
15
  .argument("<name>", "分支名,作为对象键顶层目录")
16
+ .option("--env <env_tag>", "环境标签", "测试环境,正式环境")
36
17
  .option("--dir <dir>", "产物目录(默认 dist)", "dist")
37
- .option("--max-file-size-mb <mb>", `单文件大小上限,默认 ${DEFAULT_MAX_FILE_SIZE_MB}`, (v) => Number.parseInt(String(v), 10))
18
+ .option("--requirement-id <requirement_id>", "需求 ID(上传成功后登记前端环境)", (v) => {
19
+ const n = Number.parseInt(String(v), 10);
20
+ if (!Number.isFinite(n) || n < 1) {
21
+ throw new Error("--requirement-id 须为正整数");
22
+ }
23
+ return n;
24
+ })
25
+ .option("--max-file-size-mb <mb>", `单文件大小上限,默认 ${minio_1.DEFAULT_MAX_FILE_SIZE_MB}`, (v) => Number.parseInt(String(v), 10))
38
26
  .action(async (name, opts) => {
39
- const { deploy: settings } = (0, apm_config_1.loadApmConfig)();
40
- const client = new minio_1.Client({
27
+ const { frontendDeploy: settings } = (0, apm_config_1.loadApmConfig)();
28
+ const minio = new minio_1.MinioClient({
41
29
  endPoint: settings.endpoint,
42
30
  port: settings.port,
43
31
  useSSL: settings.useSsl,
@@ -52,15 +40,14 @@ function registerPublishCommands(program) {
52
40
  }
53
41
  const cleanBranch = sanitizeBranchName(branchName);
54
42
  const root = node_path_1.default.resolve(process.cwd(), opts.dir || "dist");
55
- const rootStat = await (0, promises_1.stat)(root).catch(() => null);
56
- if (!rootStat || !rootStat.isDirectory()) {
43
+ if (!(await (0, minio_1.isDirectoryPath)(root))) {
57
44
  console.error(`产物目录不存在:${root}`);
58
45
  process.exit(1);
59
46
  }
60
47
  const maxBytes = Math.max(1, Number.isFinite(opts.maxFileSizeMb)
61
- ? Math.floor((opts.maxFileSizeMb ?? DEFAULT_MAX_FILE_SIZE_MB) * 1024 * 1024)
62
- : DEFAULT_MAX_FILE_SIZE_MB * 1024 * 1024);
63
- const files = await collectFiles(root);
48
+ ? Math.floor((opts.maxFileSizeMb ?? minio_1.DEFAULT_MAX_FILE_SIZE_MB) * 1024 * 1024)
49
+ : minio_1.DEFAULT_MAX_FILE_SIZE_MB * 1024 * 1024);
50
+ const files = await (0, minio_1.collectFiles)(root);
64
51
  if (files.length === 0) {
65
52
  console.error(`目录为空:${root}`);
66
53
  process.exit(1);
@@ -68,23 +55,23 @@ function registerPublishCommands(program) {
68
55
  let uploaded = 0;
69
56
  let totalBytes = 0;
70
57
  console.error(`开始直连 MinIO 上传,共 ${files.length} 个文件…`);
71
- await ensureBucket(client, bucket);
58
+ await minio.ensureBucket(bucket);
72
59
  // 只清理与上传目录对应的对象前缀,避免误删同一分支下其它目录内容
73
- await deleteObjectsByPrefix(client, bucket, `${cleanBranch}/dist/`);
60
+ await minio.deleteObjectsByPrefix(bucket, `${cleanBranch}/dist/`);
74
61
  for (const f of files) {
75
62
  if (f.size > maxBytes) {
76
- console.error(`文件过大,已拒绝:${f.relativePath}(${toMB(f.size)}MB > ${toMB(maxBytes)}MB)`);
63
+ console.error(`文件过大,已拒绝:${f.relativePath}(${(0, minio_1.toMB)(f.size)}MB > ${(0, minio_1.toMB)(maxBytes)}MB)`);
77
64
  process.exit(1);
78
65
  }
79
- const buf = await (0, promises_1.readFile)(f.absPath);
80
- const cleanRel = sanitizeRelativePath(f.relativePath);
81
- const objectKey = toArtifactObjectKey({
66
+ const buf = await (0, minio_1.readArtifactFile)(f.absPath);
67
+ const cleanRel = (0, minio_1.sanitizeRelativePath)(f.relativePath);
68
+ const objectKey = (0, minio_1.toArtifactObjectKey)({
82
69
  branchName: cleanBranch,
83
70
  relativePath: cleanRel,
84
71
  });
85
- const mimeType = detectMimeType(f.relativePath).trim().toLowerCase() ||
72
+ const mimeType = (0, minio_1.detectMimeType)(f.relativePath).trim().toLowerCase() ||
86
73
  "application/octet-stream";
87
- await client.putObject(bucket, objectKey, buf, buf.length, {
74
+ await minio.putObject(bucket, objectKey, buf, {
88
75
  "Content-Type": mimeType,
89
76
  });
90
77
  uploaded += 1;
@@ -92,7 +79,7 @@ function registerPublishCommands(program) {
92
79
  console.error(`[${uploaded}/${files.length}] ${f.relativePath} -> ${objectKey}`);
93
80
  }
94
81
  console.error("正在设置桶策略(匿名可读对象,便于 HTTP 直链)…");
95
- await setBucketPublicRead(client, bucket);
82
+ await minio.setBucketPublicRead(bucket);
96
83
  console.log(JSON.stringify({
97
84
  ok: true,
98
85
  branchName: cleanBranch,
@@ -101,57 +88,16 @@ function registerPublishCommands(program) {
101
88
  totalBytes,
102
89
  bucketPublicRead: true,
103
90
  }, null, 2));
104
- });
105
- }
106
- async function ensureBucket(client, bucket) {
107
- const exists = await client.bucketExists(bucket);
108
- if (!exists) {
109
- await client.makeBucket(bucket);
110
- }
111
- }
112
- /** 匿名可读桶内所有对象(仅 s3:GetObject),用于路径直链 */
113
- function buildPublicReadPolicy(bucket) {
114
- const policy = {
115
- Version: "2012-10-17",
116
- Statement: [
117
- {
118
- Effect: "Allow",
119
- Principal: { AWS: ["*"] },
120
- Action: ["s3:GetObject"],
121
- Resource: [`arn:aws:s3:::${bucket}/*`],
122
- },
123
- ],
124
- };
125
- return JSON.stringify(policy);
126
- }
127
- async function setBucketPublicRead(client, bucket) {
128
- await client.setBucketPolicy(bucket, buildPublicReadPolicy(bucket));
129
- }
130
- /**
131
- * minio 默认 listObjectsV2 每页最多 1000 条,单页 XML 在 fast-xml-parser 中会触发
132
- * Entity expansion limit exceeded。用 listObjectsV2Query 缩小每页条数并分页列举。
133
- */
134
- const LIST_OBJECTS_PAGE_MAX_KEYS = 500;
135
- async function deleteObjectsByPrefix(client, bucket, prefix) {
136
- let continuationToken = "";
137
- const removeBatchSize = 1000;
138
- for (;;) {
139
- const result = await client.listObjectsV2Query(bucket, prefix, continuationToken, "", LIST_OBJECTS_PAGE_MAX_KEYS, "");
140
- const keys = result.objects
141
- .map((obj) => ("name" in obj && obj.name ? obj.name.trim() : ""))
142
- .filter((name) => name.length > 0);
143
- for (let i = 0; i < keys.length; i += removeBatchSize) {
144
- await client.removeObjects(bucket, keys.slice(i, i + removeBatchSize));
91
+ const envTag = resolveEnvTag(opts.env ?? "测试环境");
92
+ if (opts.requirementId) {
93
+ await client_1.default.cli.resourceEnvironmentCreate({
94
+ requirementId: opts.requirementId,
95
+ name: cleanBranch,
96
+ tag: envTag,
97
+ type: "FRONTEND",
98
+ });
145
99
  }
146
- if (!result.isTruncated)
147
- break;
148
- continuationToken = result.nextContinuationToken ?? "";
149
- }
150
- }
151
- function toArtifactObjectKey(input) {
152
- return `${input.branchName}/dist/${input.relativePath}`
153
- .replace(/\/+/g, "/")
154
- .replace(/^\//, "");
100
+ });
155
101
  }
156
102
  function sanitizeBranchName(raw) {
157
103
  const normalized = raw.replace(/\\/g, "/").replace(/^\/+/, "").trim();
@@ -164,38 +110,6 @@ function sanitizeBranchName(raw) {
164
110
  }
165
111
  return segs[segs.length - 1] ?? "";
166
112
  }
167
- function sanitizeRelativePath(raw) {
168
- const normalized = raw.replace(/\\/g, "/").replace(/^\/+/, "").trim();
169
- if (!normalized) {
170
- throw new Error("relativePath 不能为空");
171
- }
172
- const segs = normalized.split("/");
173
- if (segs.some((s) => s === "" || s === "." || s === "..")) {
174
- throw new Error("relativePath 非法");
175
- }
176
- return segs.join("/");
177
- }
178
- async function collectFiles(rootDir) {
179
- const out = [];
180
- await walk(rootDir, rootDir, out);
181
- out.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
182
- return out;
183
- }
184
- async function walk(rootDir, currentDir, out) {
185
- const entries = await (0, promises_1.readdir)(currentDir, { withFileTypes: true });
186
- for (const ent of entries) {
187
- const absPath = node_path_1.default.join(currentDir, ent.name);
188
- if (ent.isDirectory()) {
189
- await walk(rootDir, absPath, out);
190
- continue;
191
- }
192
- if (!ent.isFile())
193
- continue;
194
- const st = await (0, promises_1.stat)(absPath);
195
- const rel = node_path_1.default.relative(rootDir, absPath).split(node_path_1.default.sep).join("/");
196
- out.push({ absPath, relativePath: rel, size: st.size });
197
- }
198
- }
199
113
  function normalizeBranchName(raw) {
200
114
  const normalized = raw.trim().replace(/\\/g, "/").replace(/^\/+/, "");
201
115
  if (!normalized)
@@ -205,11 +119,12 @@ function normalizeBranchName(raw) {
205
119
  return "";
206
120
  return segs[segs.length - 1] ?? "";
207
121
  }
208
- function detectMimeType(filePath) {
209
- const ext = node_path_1.default.extname(filePath).toLowerCase();
210
- return MIME_BY_EXT[ext] || "application/octet-stream";
211
- }
212
- function toMB(bytes) {
213
- return (bytes / 1024 / 1024).toFixed(2);
122
+ /** `--env` 默认含逗号时取第一段作为标签(如「测试环境」) */
123
+ function resolveEnvTag(raw) {
124
+ const parts = raw
125
+ .split(",")
126
+ .map((s) => s.trim())
127
+ .filter((s) => s.length > 0);
128
+ return parts[0] ?? "测试环境";
214
129
  }
215
130
  //# sourceMappingURL=publish.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/cli/commands/publish.ts"],"names":[],"mappings":";;;;;AAkCA,0DAgHC;AAlJD,+CAA2D;AAC3D,0DAA6B;AAE7B,iCAA+B;AAC/B,sDAAsD;AAQtD,MAAM,WAAW,GAA2B;IAC1C,OAAO,EAAE,0BAA0B;IACnC,KAAK,EAAE,uCAAuC;IAC9C,MAAM,EAAE,uCAAuC;IAC/C,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,iCAAiC;IAC1C,MAAM,EAAE,iCAAiC;IACzC,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,8EAA8E,CAC/E;SACA,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;SACnC,MAAM,CAAC,aAAa,EAAE,eAAe,EAAE,MAAM,CAAC;SAC9C,MAAM,CACL,yBAAyB,EACzB,cAAc,wBAAwB,EAAE,EACxC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtC;SACA,MAAM,CACL,KAAK,EACH,IAAY,EACZ,IAGC,EACD,EAAE;QACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,0BAAa,GAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC;YACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE/B,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAI,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CACR,CAAC,IAAI,CAAC,aAAa,IAAI,wBAAwB,CAAC,GAAG,IAAI,GAAG,IAAI,CAC/D;YACH,CAAC,CAAC,wBAAwB,GAAG,IAAI,GAAG,IAAI,CAC3C,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC;QAEtD,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,kCAAkC;QAClC,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,QAAQ,CAAC,CAAC;QAEpE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CACX,YAAY,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CACpD,QAAQ,CACT,KAAK,CACP,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,mBAAmB,CAAC;gBACpC,UAAU,EAAE,WAAW;gBACvB,YAAY,EAAE,QAAQ;aACvB,CAAC,CAAC;YACH,MAAM,QAAQ,GACZ,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnD,0BAA0B,CAAC;YAC7B,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE;gBACzD,cAAc,EAAE,QAAQ;aACzB,CAAC,CAAC;YACH,QAAQ,IAAI,CAAC,CAAC;YACd,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC;YACzB,OAAO,CAAC,KAAK,CACX,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,YAAY,OAAO,SAAS,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1C,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;YACE,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,WAAW;YACvB,MAAM;YACN,SAAS,EAAE,QAAQ;YACnB,UAAU;YACV,gBAAgB,EAAE,IAAI;SACvB,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IACJ,CAAC,CACF,CAAC;AACN,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,MAAc;IACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;gBACzB,MAAM,EAAE,CAAC,cAAc,CAAC;gBACxB,QAAQ,EAAE,CAAC,gBAAgB,MAAM,IAAI,CAAC;aACvC;SACF;KACF,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,MAAc;IAEd,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,MAAc,EACd,MAAc;IAEd,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAC5C,MAAM,EACN,MAAM,EACN,iBAAiB,EACjB,EAAE,EACF,0BAA0B,EAC1B,EAAE,CACH,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO;aACxB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAChE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;YACtD,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM;QAC/B,iBAAiB,GAAG,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAG5B;IACC,OAAO,GAAG,KAAK,CAAC,UAAU,SAAS,KAAK,CAAC,YAAY,EAAE;SACpD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAe;IACzC,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAClC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,IAAI,CACjB,OAAe,EACf,UAAkB,EAClB,GAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YAAE,SAAS;QAC5B,MAAM,EAAE,GAAG,MAAM,IAAA,eAAI,EAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,mBAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACrE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;AACxD,CAAC;AAED,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/cli/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerReleaseCommands(program: Command): void;
3
+ //# sourceMappingURL=release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqC9D"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerReleaseCommands = registerReleaseCommands;
7
+ const client_1 = __importDefault(require("../../api/client"));
8
+ function parsePositiveInt(value, name) {
9
+ const n = Number.parseInt(value, 10);
10
+ if (!Number.isFinite(n) || n < 1) {
11
+ throw new Error(`无效的${name}: ${value}`);
12
+ }
13
+ return n;
14
+ }
15
+ function registerReleaseCommands(program) {
16
+ program
17
+ .command("release")
18
+ .description("测试通过:需求进入待上线并创建 PR(与飞书「测试通过」一致);使用 -f / --force 时另对该 PR 执行 squash 合并")
19
+ .argument("<requirementId>", "需求主键 ID")
20
+ .option("-f, --force", "创建 PR 后合并(squash)")
21
+ .requiredOption("-b, --branch <name>", "必填:仅对该分支名对应的开发者创建/合并 PR,或标记失败时指定同一开发分支")
22
+ .option("-r, --reason <reason>", "带有该参数表示上线流程失败,并给出失败原因,一般是合并代码出现冲突了(须与 -b 同用)")
23
+ .action(async (requirementIdStr, opts) => {
24
+ const id = parsePositiveInt(requirementIdStr, "需求 ID");
25
+ const branchName = opts.branch.trim();
26
+ if (!branchName) {
27
+ throw new Error("无效的 -b:分支名不能为空");
28
+ }
29
+ const reason = opts.reason?.trim();
30
+ await client_1.default.cli.resourceRequirementRelease({
31
+ id,
32
+ forceMerge: Boolean(opts.force),
33
+ branchName,
34
+ failureReason: reason,
35
+ });
36
+ console.log("操作完成");
37
+ });
38
+ }
39
+ //# sourceMappingURL=release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":";;;;;AAWA,0DAqCC;AA/CD,8DAAmC;AAEnC,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACnD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,sEAAsE,CACvE;SACA,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;SACtC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,cAAc,CACb,qBAAqB,EACrB,wCAAwC,CACzC;SACA,MAAM,CACL,uBAAuB,EACvB,8CAA8C,CAC/C;SACA,MAAM,CACL,KAAK,EACH,gBAAwB,EACxB,IAA0D,EAC1D,EAAE;QACF,MAAM,EAAE,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QAEnC,MAAM,gBAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC;YACvC,EAAE;YACF,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/B,UAAU;YACV,aAAa,EAAE,MAAM;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqH1D"}
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6G1D"}
@@ -95,13 +95,5 @@ function registerSetCommands(program) {
95
95
  });
96
96
  console.log(`已设置分支「${res.branchName ?? name}」,开发者状态=${res.status}`);
97
97
  });
98
- setCmd
99
- .command("pendingTest")
100
- .description("将服务端需求状态设为待测试(PENDING_TEST)")
101
- .argument("<id>", "需求 ID", parseRequirementId)
102
- .action(async (id) => {
103
- await client_1.default.cli.resourceRequirementPendingTestSet({ id });
104
- console.log(`需求状态已设为待测试`);
105
- });
106
98
  }
107
99
  //# sourceMappingURL=set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/cli/commands/set.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerStatusCommands(program: Command): void;
3
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwB7D"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerStatusCommands = registerStatusCommands;
7
+ const client_1 = __importDefault(require("../../api/client"));
8
+ function parseStatusEntity(value) {
9
+ if (value === "defect" || value === "requirement") {
10
+ return value;
11
+ }
12
+ throw new Error(`无效的实体类型: ${value},仅支持 defect / requirement`);
13
+ }
14
+ function parsePositiveInt(value, name) {
15
+ const n = Number.parseInt(value, 10);
16
+ if (!Number.isFinite(n) || n < 1) {
17
+ throw new Error(`无效的${name}: ${value}`);
18
+ }
19
+ return n;
20
+ }
21
+ function registerStatusCommands(program) {
22
+ program
23
+ .command("status")
24
+ .description("流转实体状态:defect 按当前状态自动推进(待处理→处理中→待验证);requirement:待开发→待测试")
25
+ .argument("<entity>", "实体类型:defect | requirement", parseStatusEntity)
26
+ .argument("<id>", "缺陷 ID(defect)或需求 ID(requirement)")
27
+ .action(async (entity, id) => {
28
+ if (entity === "defect") {
29
+ const res = await client_1.default.cli.statusSet({
30
+ entity,
31
+ defectId: id,
32
+ });
33
+ console.log(`缺陷状态已流转:${res.id} -> ${res.status}`);
34
+ return;
35
+ }
36
+ const requirementId = parsePositiveInt(id, "需求 ID");
37
+ const res = await client_1.default.cli.statusSet({
38
+ entity,
39
+ requirementId,
40
+ });
41
+ console.log(`需求状态已流转:${res.id} -> ${res.status}`);
42
+ });
43
+ }
44
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":";;;;;AAoBA,wDAwBC;AA3CD,8DAAmC;AAInC,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,2BAA2B,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACnD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,0DAA0D,CAC3D;SACA,QAAQ,CAAC,UAAU,EAAE,2BAA2B,EAAE,iBAAiB,CAAC;SACpE,QAAQ,CAAC,MAAM,EAAE,kCAAkC,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,MAAoB,EAAE,EAAU,EAAE,EAAE;QACjD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,gBAAG,CAAC,GAAG,CAAC,SAAS,CAAC;gBAClC,MAAM;gBACN,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,gBAAG,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM;YACN,aAAa;SACd,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const parsePositiveInt: (v: string) => number;
2
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/parse.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,MAAO,MAAM,KAAG,MAM5C,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parsePositiveInt = void 0;
4
+ const parsePositiveInt = (v) => {
5
+ const n = Number.parseInt(String(v), 10);
6
+ if (!Number.isFinite(n) || n < 1) {
7
+ throw new Error("--requirement-id 须为正整数");
8
+ }
9
+ return n;
10
+ };
11
+ exports.parsePositiveInt = parsePositiveInt;
12
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/cli/utils/parse.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAU,EAAE;IACpD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B"}
package/dist/cli.js CHANGED
@@ -6,8 +6,11 @@ const auth_1 = require("./cli/commands/auth");
6
6
  const config_1 = require("./cli/commands/config");
7
7
  const get_1 = require("./cli/commands/get");
8
8
  const init_1 = require("./cli/commands/init");
9
- const publish_1 = require("./cli/commands/publish");
9
+ const deploy_backend_1 = require("./cli/commands/deploy-backend");
10
+ const deploy_frontend_1 = require("./cli/commands/deploy-frontend");
11
+ const release_1 = require("./cli/commands/release");
10
12
  const set_1 = require("./cli/commands/set");
13
+ const status_1 = require("./cli/commands/status");
11
14
  const update_1 = require("./cli/commands/update");
12
15
  const ws_1 = require("./cli/commands/ws");
13
16
  const constants_1 = require("./core/constants");
@@ -19,10 +22,13 @@ const program = new commander_1.Command()
19
22
  (0, auth_1.registerAuthCommands)(program);
20
23
  (0, get_1.registerGetCommands)(program);
21
24
  (0, set_1.registerSetCommands)(program);
25
+ (0, status_1.registerStatusCommands)(program);
22
26
  (0, ws_1.registerWsCommands)(program);
23
27
  (0, update_1.registerUpdateCommands)(program);
24
28
  (0, init_1.registerInitCommands)(program);
25
- (0, publish_1.registerPublishCommands)(program);
29
+ (0, deploy_frontend_1.registerDeployFrontendCommands)(program);
30
+ (0, deploy_backend_1.registerDeployBackendCommands)(program);
31
+ (0, release_1.registerReleaseCommands)(program);
26
32
  program.parseAsync(process.argv).catch((err) => {
27
33
  console.error(err);
28
34
  process.exit(1);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,8CAA2D;AAC3D,kDAA+D;AAC/D,4CAAyD;AACzD,8CAA2D;AAC3D,oDAAiE;AACjE,4CAAyD;AACzD,kDAA+D;AAC/D,0CAAuD;AACvD,gDAAwE;AAExE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE;KAC1B,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,+BAAmB,CAAC;KAChC,OAAO,CAAC,2BAAe,CAAC,CAAC;AAE5B,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,uBAAkB,EAAC,OAAO,CAAC,CAAC;AAC5B,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;AAEjC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,8CAA2D;AAC3D,kDAA+D;AAC/D,4CAAyD;AACzD,8CAA2D;AAC3D,kEAA8E;AAC9E,oEAAgF;AAChF,oDAAiE;AACjE,4CAAyD;AACzD,kDAA+D;AAC/D,kDAA+D;AAC/D,0CAAuD;AACvD,gDAAwE;AAExE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE;KAC1B,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,+BAAmB,CAAC;KAChC,OAAO,CAAC,2BAAe,CAAC,CAAC;AAE5B,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,uBAAkB,EAAC,OAAO,CAAC,CAAC;AAC5B,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,gDAA8B,EAAC,OAAO,CAAC,CAAC;AACxC,IAAA,8CAA6B,EAAC,OAAO,CAAC,CAAC;AACvC,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;AAEjC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}