ai-project-manage-cli 2.0.26 → 3.0.1

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 (291) hide show
  1. package/dist/index.js +498 -20
  2. package/package.json +27 -25
  3. package/template/apm.config.json +5 -0
  4. package/template/deploy/README.md +3 -0
  5. package/template/workitems/README.md +19 -0
  6. package/README.md +0 -171
  7. package/dist/api/cli.d.ts +0 -228
  8. package/dist/api/cli.d.ts.map +0 -1
  9. package/dist/api/cli.js +0 -3
  10. package/dist/api/cli.js.map +0 -1
  11. package/dist/api/client.d.ts +0 -5
  12. package/dist/api/client.d.ts.map +0 -1
  13. package/dist/api/client.js +0 -30
  14. package/dist/api/client.js.map +0 -1
  15. package/dist/api/http.d.ts +0 -21
  16. package/dist/api/http.d.ts.map +0 -1
  17. package/dist/api/http.js +0 -108
  18. package/dist/api/http.js.map +0 -1
  19. package/dist/api/index.d.ts +0 -6
  20. package/dist/api/index.d.ts.map +0 -1
  21. package/dist/api/index.js +0 -13
  22. package/dist/api/index.js.map +0 -1
  23. package/dist/api/request-config.d.ts +0 -25
  24. package/dist/api/request-config.d.ts.map +0 -1
  25. package/dist/api/request-config.js +0 -73
  26. package/dist/api/request-config.js.map +0 -1
  27. package/dist/api/requirement.d.ts +0 -1
  28. package/dist/api/requirement.d.ts.map +0 -1
  29. package/dist/api/requirement.js +0 -2
  30. package/dist/api/requirement.js.map +0 -1
  31. package/dist/apm-dotenv.d.ts +0 -8
  32. package/dist/apm-dotenv.d.ts.map +0 -1
  33. package/dist/apm-dotenv.js +0 -73
  34. package/dist/apm-dotenv.js.map +0 -1
  35. package/dist/cli/agent-stream-log.d.ts +0 -41
  36. package/dist/cli/agent-stream-log.d.ts.map +0 -1
  37. package/dist/cli/agent-stream-log.js +0 -364
  38. package/dist/cli/agent-stream-log.js.map +0 -1
  39. package/dist/cli/commands/auth.d.ts +0 -3
  40. package/dist/cli/commands/auth.d.ts.map +0 -1
  41. package/dist/cli/commands/auth.js +0 -51
  42. package/dist/cli/commands/auth.js.map +0 -1
  43. package/dist/cli/commands/chat.d.ts +0 -3
  44. package/dist/cli/commands/chat.d.ts.map +0 -1
  45. package/dist/cli/commands/chat.js +0 -32
  46. package/dist/cli/commands/chat.js.map +0 -1
  47. package/dist/cli/commands/comment.d.ts +0 -3
  48. package/dist/cli/commands/comment.d.ts.map +0 -1
  49. package/dist/cli/commands/comment.js +0 -66
  50. package/dist/cli/commands/comment.js.map +0 -1
  51. package/dist/cli/commands/config.d.ts +0 -3
  52. package/dist/cli/commands/config.d.ts.map +0 -1
  53. package/dist/cli/commands/config.js +0 -39
  54. package/dist/cli/commands/config.js.map +0 -1
  55. package/dist/cli/commands/deploy-backend.d.ts +0 -7
  56. package/dist/cli/commands/deploy-backend.d.ts.map +0 -1
  57. package/dist/cli/commands/deploy-backend.js +0 -77
  58. package/dist/cli/commands/deploy-backend.js.map +0 -1
  59. package/dist/cli/commands/deploy-frontend.d.ts +0 -3
  60. package/dist/cli/commands/deploy-frontend.d.ts.map +0 -1
  61. package/dist/cli/commands/deploy-frontend.js +0 -167
  62. package/dist/cli/commands/deploy-frontend.js.map +0 -1
  63. package/dist/cli/commands/get.d.ts +0 -3
  64. package/dist/cli/commands/get.d.ts.map +0 -1
  65. package/dist/cli/commands/get.js +0 -145
  66. package/dist/cli/commands/get.js.map +0 -1
  67. package/dist/cli/commands/init.d.ts +0 -3
  68. package/dist/cli/commands/init.d.ts.map +0 -1
  69. package/dist/cli/commands/init.js +0 -179
  70. package/dist/cli/commands/init.js.map +0 -1
  71. package/dist/cli/commands/minio.d.ts +0 -3
  72. package/dist/cli/commands/minio.d.ts.map +0 -1
  73. package/dist/cli/commands/minio.js +0 -65
  74. package/dist/cli/commands/minio.js.map +0 -1
  75. package/dist/cli/commands/publish.d.ts +0 -3
  76. package/dist/cli/commands/publish.d.ts.map +0 -1
  77. package/dist/cli/commands/publish.js +0 -130
  78. package/dist/cli/commands/publish.js.map +0 -1
  79. package/dist/cli/commands/release.d.ts +0 -3
  80. package/dist/cli/commands/release.d.ts.map +0 -1
  81. package/dist/cli/commands/release.js +0 -37
  82. package/dist/cli/commands/release.js.map +0 -1
  83. package/dist/cli/commands/requirement.d.ts +0 -3
  84. package/dist/cli/commands/requirement.d.ts.map +0 -1
  85. package/dist/cli/commands/requirement.js +0 -169
  86. package/dist/cli/commands/requirement.js.map +0 -1
  87. package/dist/cli/commands/set.d.ts +0 -3
  88. package/dist/cli/commands/set.d.ts.map +0 -1
  89. package/dist/cli/commands/set.js +0 -103
  90. package/dist/cli/commands/set.js.map +0 -1
  91. package/dist/cli/commands/status.d.ts +0 -3
  92. package/dist/cli/commands/status.d.ts.map +0 -1
  93. package/dist/cli/commands/status.js +0 -42
  94. package/dist/cli/commands/status.js.map +0 -1
  95. package/dist/cli/commands/update.d.ts +0 -3
  96. package/dist/cli/commands/update.d.ts.map +0 -1
  97. package/dist/cli/commands/update.js +0 -36
  98. package/dist/cli/commands/update.js.map +0 -1
  99. package/dist/cli/commands/ws.d.ts +0 -3
  100. package/dist/cli/commands/ws.d.ts.map +0 -1
  101. package/dist/cli/commands/ws.js +0 -25
  102. package/dist/cli/commands/ws.js.map +0 -1
  103. package/dist/cli/credentials.d.ts +0 -30
  104. package/dist/cli/credentials.d.ts.map +0 -1
  105. package/dist/cli/credentials.js +0 -52
  106. package/dist/cli/credentials.js.map +0 -1
  107. package/dist/cli/exit-api-error.d.ts +0 -2
  108. package/dist/cli/exit-api-error.d.ts.map +0 -1
  109. package/dist/cli/exit-api-error.js +0 -18
  110. package/dist/cli/exit-api-error.js.map +0 -1
  111. package/dist/cli/instruction-log-stream-sink.d.ts +0 -31
  112. package/dist/cli/instruction-log-stream-sink.d.ts.map +0 -1
  113. package/dist/cli/instruction-log-stream-sink.js +0 -59
  114. package/dist/cli/instruction-log-stream-sink.js.map +0 -1
  115. package/dist/cli/session.d.ts +0 -26
  116. package/dist/cli/session.d.ts.map +0 -1
  117. package/dist/cli/session.js +0 -41
  118. package/dist/cli/session.js.map +0 -1
  119. package/dist/cli/utils/parse.d.ts +0 -2
  120. package/dist/cli/utils/parse.d.ts.map +0 -1
  121. package/dist/cli/utils/parse.js +0 -12
  122. package/dist/cli/utils/parse.js.map +0 -1
  123. package/dist/cli/ws-run-command.d.ts +0 -13
  124. package/dist/cli/ws-run-command.d.ts.map +0 -1
  125. package/dist/cli/ws-run-command.js +0 -330
  126. package/dist/cli/ws-run-command.js.map +0 -1
  127. package/dist/cli-version.d.ts +0 -9
  128. package/dist/cli-version.d.ts.map +0 -1
  129. package/dist/cli-version.js +0 -61
  130. package/dist/cli-version.js.map +0 -1
  131. package/dist/cli.d.ts +0 -3
  132. package/dist/cli.d.ts.map +0 -1
  133. package/dist/cli.js +0 -36
  134. package/dist/cli.js.map +0 -1
  135. package/dist/config-store.d.ts +0 -38
  136. package/dist/config-store.d.ts.map +0 -1
  137. package/dist/config-store.js +0 -131
  138. package/dist/config-store.js.map +0 -1
  139. package/dist/core/apm-config.d.ts +0 -81
  140. package/dist/core/apm-config.d.ts.map +0 -1
  141. package/dist/core/apm-config.js +0 -147
  142. package/dist/core/apm-config.js.map +0 -1
  143. package/dist/core/backend-deploy/backend-deploy-workflow.d.ts +0 -20
  144. package/dist/core/backend-deploy/backend-deploy-workflow.d.ts.map +0 -1
  145. package/dist/core/backend-deploy/backend-deploy-workflow.js +0 -86
  146. package/dist/core/backend-deploy/backend-deploy-workflow.js.map +0 -1
  147. package/dist/core/backend-deploy/command-runner.d.ts +0 -11
  148. package/dist/core/backend-deploy/command-runner.d.ts.map +0 -1
  149. package/dist/core/backend-deploy/command-runner.js +0 -47
  150. package/dist/core/backend-deploy/command-runner.js.map +0 -1
  151. package/dist/core/backend-deploy/dockerode-client/client.d.ts +0 -18
  152. package/dist/core/backend-deploy/dockerode-client/client.d.ts.map +0 -1
  153. package/dist/core/backend-deploy/dockerode-client/client.js +0 -114
  154. package/dist/core/backend-deploy/dockerode-client/client.js.map +0 -1
  155. package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts +0 -6
  156. package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts.map +0 -1
  157. package/dist/core/backend-deploy/dockerode-client/connection-options.js +0 -62
  158. package/dist/core/backend-deploy/dockerode-client/connection-options.js.map +0 -1
  159. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts +0 -3
  160. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts.map +0 -1
  161. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js +0 -23
  162. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js.map +0 -1
  163. package/dist/core/backend-deploy/dockerode-client/container-options.d.ts +0 -4
  164. package/dist/core/backend-deploy/dockerode-client/container-options.d.ts.map +0 -1
  165. package/dist/core/backend-deploy/dockerode-client/container-options.js +0 -44
  166. package/dist/core/backend-deploy/dockerode-client/container-options.js.map +0 -1
  167. package/dist/core/backend-deploy/dockerode-client/env.d.ts +0 -3
  168. package/dist/core/backend-deploy/dockerode-client/env.d.ts.map +0 -1
  169. package/dist/core/backend-deploy/dockerode-client/env.js +0 -40
  170. package/dist/core/backend-deploy/dockerode-client/env.js.map +0 -1
  171. package/dist/core/backend-deploy/dockerode-client/index.d.ts +0 -8
  172. package/dist/core/backend-deploy/dockerode-client/index.d.ts.map +0 -1
  173. package/dist/core/backend-deploy/dockerode-client/index.js +0 -17
  174. package/dist/core/backend-deploy/dockerode-client/index.js.map +0 -1
  175. package/dist/core/backend-deploy/dockerode-client/ports.d.ts +0 -9
  176. package/dist/core/backend-deploy/dockerode-client/ports.d.ts.map +0 -1
  177. package/dist/core/backend-deploy/dockerode-client/ports.js +0 -35
  178. package/dist/core/backend-deploy/dockerode-client/ports.js.map +0 -1
  179. package/dist/core/backend-deploy/dockerode-client/runtime.d.ts +0 -7
  180. package/dist/core/backend-deploy/dockerode-client/runtime.d.ts.map +0 -1
  181. package/dist/core/backend-deploy/dockerode-client/runtime.js +0 -26
  182. package/dist/core/backend-deploy/dockerode-client/runtime.js.map +0 -1
  183. package/dist/core/backend-deploy/dockerode-client/types.d.ts +0 -64
  184. package/dist/core/backend-deploy/dockerode-client/types.d.ts.map +0 -1
  185. package/dist/core/backend-deploy/dockerode-client/types.js +0 -3
  186. package/dist/core/backend-deploy/dockerode-client/types.js.map +0 -1
  187. package/dist/core/backend-deploy/image-tag.d.ts +0 -2
  188. package/dist/core/backend-deploy/image-tag.d.ts.map +0 -1
  189. package/dist/core/backend-deploy/image-tag.js +0 -15
  190. package/dist/core/backend-deploy/image-tag.js.map +0 -1
  191. package/dist/core/backend-deploy/index.d.ts +0 -3
  192. package/dist/core/backend-deploy/index.d.ts.map +0 -1
  193. package/dist/core/backend-deploy/index.js +0 -6
  194. package/dist/core/backend-deploy/index.js.map +0 -1
  195. package/dist/core/backend-deploy/local-docker-build.d.ts +0 -8
  196. package/dist/core/backend-deploy/local-docker-build.d.ts.map +0 -1
  197. package/dist/core/backend-deploy/local-docker-build.js +0 -25
  198. package/dist/core/backend-deploy/local-docker-build.js.map +0 -1
  199. package/dist/core/backend-deploy/logger.d.ts +0 -10
  200. package/dist/core/backend-deploy/logger.d.ts.map +0 -1
  201. package/dist/core/backend-deploy/logger.js +0 -22
  202. package/dist/core/backend-deploy/logger.js.map +0 -1
  203. package/dist/core/backend-deploy/registry-login-push.d.ts +0 -24
  204. package/dist/core/backend-deploy/registry-login-push.d.ts.map +0 -1
  205. package/dist/core/backend-deploy/registry-login-push.js +0 -37
  206. package/dist/core/backend-deploy/registry-login-push.js.map +0 -1
  207. package/dist/core/backend-deploy/remote-docker-client.d.ts +0 -11
  208. package/dist/core/backend-deploy/remote-docker-client.d.ts.map +0 -1
  209. package/dist/core/backend-deploy/remote-docker-client.js +0 -34
  210. package/dist/core/backend-deploy/remote-docker-client.js.map +0 -1
  211. package/dist/core/backend-deploy/remote-pull-image.d.ts +0 -9
  212. package/dist/core/backend-deploy/remote-pull-image.d.ts.map +0 -1
  213. package/dist/core/backend-deploy/remote-pull-image.js +0 -39
  214. package/dist/core/backend-deploy/remote-pull-image.js.map +0 -1
  215. package/dist/core/backend-deploy/resolve-dockerfile.d.ts +0 -7
  216. package/dist/core/backend-deploy/resolve-dockerfile.d.ts.map +0 -1
  217. package/dist/core/backend-deploy/resolve-dockerfile.js +0 -24
  218. package/dist/core/backend-deploy/resolve-dockerfile.js.map +0 -1
  219. package/dist/core/backend-deploy/run-docker-cli.d.ts +0 -9
  220. package/dist/core/backend-deploy/run-docker-cli.d.ts.map +0 -1
  221. package/dist/core/backend-deploy/run-docker-cli.js +0 -14
  222. package/dist/core/backend-deploy/run-docker-cli.js.map +0 -1
  223. package/dist/core/backend-deploy/types.d.ts +0 -23
  224. package/dist/core/backend-deploy/types.d.ts.map +0 -1
  225. package/dist/core/backend-deploy/types.js +0 -3
  226. package/dist/core/backend-deploy/types.js.map +0 -1
  227. package/dist/core/branch-name.d.ts +0 -8
  228. package/dist/core/branch-name.d.ts.map +0 -1
  229. package/dist/core/branch-name.js +0 -37
  230. package/dist/core/branch-name.js.map +0 -1
  231. package/dist/core/constants.d.ts +0 -4
  232. package/dist/core/constants.d.ts.map +0 -1
  233. package/dist/core/constants.js +0 -16
  234. package/dist/core/constants.js.map +0 -1
  235. package/dist/core/cursor-cmd.d.ts +0 -30
  236. package/dist/core/cursor-cmd.d.ts.map +0 -1
  237. package/dist/core/cursor-cmd.js +0 -193
  238. package/dist/core/cursor-cmd.js.map +0 -1
  239. package/dist/core/minio.d.ts +0 -37
  240. package/dist/core/minio.d.ts.map +0 -1
  241. package/dist/core/minio.js +0 -159
  242. package/dist/core/minio.js.map +0 -1
  243. package/dist/core/parse-testcase-md.d.ts +0 -17
  244. package/dist/core/parse-testcase-md.d.ts.map +0 -1
  245. package/dist/core/parse-testcase-md.js +0 -79
  246. package/dist/core/parse-testcase-md.js.map +0 -1
  247. package/dist/core/std-event-handler.d.ts +0 -25
  248. package/dist/core/std-event-handler.d.ts.map +0 -1
  249. package/dist/core/std-event-handler.js +0 -90
  250. package/dist/core/std-event-handler.js.map +0 -1
  251. package/dist/core/utils.d.ts +0 -19
  252. package/dist/core/utils.d.ts.map +0 -1
  253. package/dist/core/utils.js +0 -71
  254. package/dist/core/utils.js.map +0 -1
  255. package/dist/core/ws-client.d.ts +0 -29
  256. package/dist/core/ws-client.d.ts.map +0 -1
  257. package/dist/core/ws-client.js +0 -81
  258. package/dist/core/ws-client.js.map +0 -1
  259. package/dist/employee-ws-client.d.ts +0 -42
  260. package/dist/employee-ws-client.d.ts.map +0 -1
  261. package/dist/employee-ws-client.js +0 -99
  262. package/dist/employee-ws-client.js.map +0 -1
  263. package/dist/index.d.ts +0 -6
  264. package/dist/index.d.ts.map +0 -1
  265. package/dist/index.js.map +0 -1
  266. package/templates/commands/apm-auto-dev.md +0 -6
  267. package/templates/commands/apm-fixbug.md +0 -6
  268. package/templates/commands/apm-prd-review.md +0 -6
  269. package/templates/commands/apm-prd-sync.md +0 -6
  270. package/templates/skills/apm-apply-change/SKILL.md +0 -191
  271. package/templates/skills/apm-auto-dev/SKILL.md +0 -170
  272. package/templates/skills/apm-fixbug/SKILL.md +0 -97
  273. package/templates/skills/apm-propose/SKILL.md +0 -123
  274. package/templates/skills/apm-propose/design-instruction.md +0 -94
  275. package/templates/skills/apm-propose/propose-instruction.md +0 -81
  276. package/templates/skills/apm-propose/specs-instruction.md +0 -114
  277. package/templates/skills/apm-propose/tasks-instruction.md +0 -90
  278. package/templates/skills/apm-release/SKILL.md +0 -87
  279. package/templates/skills/code-change-summary/SKILL.md +0 -84
  280. package/templates/skills/code-change-summary/summary-template.md +0 -55
  281. package/templates/skills/code-deploy/SKILL.md +0 -39
  282. package/templates/skills/prd-review/SKILL.md +0 -48
  283. package/templates/skills/prd-review/output-template.md +0 -47
  284. package/templates/skills/prd-sync/SKILL.md +0 -74
  285. package/templates/skills/prd-sync/updated-requirement-template.md +0 -39
  286. package/templates/skills/prd-testcase/SKILL.md +0 -82
  287. package/templates/skills/prd-testcase/reference.md +0 -44
  288. package/templates/skills/product-capability-inventory/SKILL.md +0 -131
  289. package/templates/skills/product-capability-inventory/template.md +0 -80
  290. package/templates/skills/product-capability-inventory//344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +0 -36
  291. package/templates/skills/product-capability-inventory//347/233/256/345/275/225/350/247/204/350/214/203.md +0 -58
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerAuthCommands = registerAuthCommands;
4
- const node_process_1 = require("node:process");
5
- const promises_1 = require("node:readline/promises");
6
- const apm_config_1 = require("../../core/apm-config");
7
- const api_1 = require("../../api");
8
- async function getUserInput() {
9
- const rl = (0, promises_1.createInterface)({ input: node_process_1.stdin, output: node_process_1.stdout });
10
- let password = "";
11
- try {
12
- password = await rl.question("请输入密码: ");
13
- password = password.trim();
14
- }
15
- finally {
16
- await rl.close();
17
- }
18
- if (!password) {
19
- console.error("密码不能为空");
20
- process.exit(1);
21
- }
22
- return password;
23
- }
24
- function registerAuthCommands(program) {
25
- program
26
- .command("login")
27
- .description("员工 CLI 登录(写入配置文件 baseUrl、token 与 employeeId;可用 --url 指定或覆盖服务地址)")
28
- .option("-u, --username <text>", "员工 ID", (v) => Number.parseInt(v, 10))
29
- .option("-p, --password <text>", "口令(不推荐在 shell 历史中留明文)")
30
- .action(async (opts) => {
31
- const api = (0, api_1.createApmClient)();
32
- let password = opts.password?.trim();
33
- if (!password) {
34
- password = await getUserInput();
35
- }
36
- const res = await api.employee.auth({
37
- username: opts.username,
38
- password,
39
- });
40
- (0, apm_config_1.saveApmToken)(res.token);
41
- console.log("登录成功");
42
- });
43
- program
44
- .command("logout")
45
- .description("清除配置文件中的 Token,下次登录需要重新输入用户名和密码")
46
- .action(async () => {
47
- (0, apm_config_1.saveApmToken)("");
48
- console.log("退出登录成功");
49
- });
50
- }
51
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":";;AAsBA,oDA6BC;AAnDD,+CAAgE;AAChE,qDAAyD;AAEzD,sDAAqD;AACrD,mCAA4C;AAE5C,KAAK,UAAU,YAAY;IACzB,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAL,oBAAK,EAAE,MAAM,EAAN,qBAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxC,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,iEAAiE,CAClE;SACA,MAAM,CAAC,uBAAuB,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACvE,MAAM,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAA6C,EAAE,EAAE;QAC9D,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAC;QAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ;SACT,CAAC,CAAC;QACH,IAAA,yBAAY,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAA,yBAAY,EAAC,EAAE,CAAC,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function registerChatCommands(program: Command): void;
3
- //# sourceMappingURL=chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC3D"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerChatCommands = registerChatCommands;
4
- const ws_run_command_1 = require("../ws-run-command");
5
- function registerChatCommands(program) {
6
- program
7
- .command("chat")
8
- .description("本地执行一次 runCursorFromServerPayload(workdir=当前目录)")
9
- .requiredOption("-p, --prompt <prompt>", "prompt 文本")
10
- .requiredOption("-r, --requirement-id <id>", "需求 id", (v) => Number.parseInt(String(v), 10))
11
- .option("-m, --model <model>", "模型名(可选)")
12
- .action((opts) => {
13
- const prompt = opts.prompt?.trim() ?? "";
14
- if (!prompt) {
15
- console.error("缺少有效 prompt:请传入 -p <prompt>");
16
- process.exit(1);
17
- }
18
- if (typeof opts.requirementId !== "number" ||
19
- !Number.isFinite(opts.requirementId) ||
20
- opts.requirementId < 1) {
21
- console.error("缺少有效 requirementId:请传入 -r <id>(正整数)");
22
- process.exit(1);
23
- }
24
- (0, ws_run_command_1.runCursorFromServerPayload)({
25
- prompt,
26
- requirementId: Math.floor(opts.requirementId),
27
- workdir: process.cwd(),
28
- ...(opts.model?.trim() ? { model: opts.model.trim() } : {}),
29
- });
30
- });
31
- }
32
- //# sourceMappingURL=chat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":";;AAGA,oDAoCC;AAtCD,sDAA+D;AAE/D,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iDAAiD,CAAC;SAC9D,cAAc,CAAC,uBAAuB,EAAE,WAAW,CAAC;SACpD,cAAc,CAAC,2BAA2B,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC/B;SACA,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC;SACxC,MAAM,CACL,CAAC,IAIA,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IACE,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;YACtC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,CAAC,EACtB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAA,2CAA0B,EAAC;YACzB,MAAM;YACN,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7C,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function registerCommentCommands(program: Command): void;
3
- //# sourceMappingURL=comment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/comment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6E9D"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerCommentCommands = registerCommentCommands;
4
- const promises_1 = require("node:fs/promises");
5
- const credentials_1 = require("../credentials");
6
- const exit_api_error_1 = require("../exit-api-error");
7
- function registerCommentCommands(program) {
8
- const comment = program.command("comment").description("需求内容版本评论");
9
- comment
10
- .command("update")
11
- .description("提交评论正文:仅允许「已创建」状态,成功后变为「待处理」")
12
- .requiredOption("--id <id>", "评论 id", (v) => Number.parseInt(v, 10))
13
- .option("--content <text>", "评论正文(与 --content-file 二选一)")
14
- .option("--content-file <path>", "从文件读取评论正文(UTF-8)")
15
- .action(async (opts) => {
16
- let content = opts.content?.trim();
17
- if (opts.contentFile) {
18
- content = (await (0, promises_1.readFile)(opts.contentFile, "utf8")).trimEnd();
19
- }
20
- if (!content) {
21
- console.error("请提供 --content 或 --content-file");
22
- process.exit(1);
23
- }
24
- const api = (0, credentials_1.apiClient)();
25
- try {
26
- const row = await api.requirement.commentsSubmitPending({
27
- id: opts.id,
28
- content,
29
- });
30
- console.log(JSON.stringify(row, null, 2));
31
- }
32
- catch (e) {
33
- (0, exit_api_error_1.exitApiError)(e);
34
- }
35
- });
36
- comment
37
- .command("process")
38
- .description("一键处理:由服务端将指定内容版本下你名下「待处理」评论标为已处理并创建新版本(同步需求正文)")
39
- .requiredOption("--requirement-id <id>", "需求 id", (v) => Number.parseInt(v, 10))
40
- .requiredOption("--version-seq <n>", "该需求下的版本序号(与界面 v1、v2 一致,非数据库 id)", (v) => Number.parseInt(v, 10))
41
- .option("--content <text>", "新版本正文(与 --content-file 二选一)")
42
- .option("--content-file <path>", "从文件读取新版本正文(UTF-8)")
43
- .action(async (opts) => {
44
- let content = opts.content?.trim();
45
- if (opts.contentFile) {
46
- content = (await (0, promises_1.readFile)(opts.contentFile, "utf8")).trimEnd();
47
- }
48
- if (!content) {
49
- console.error("请提供 --content 或 --content-file");
50
- process.exit(1);
51
- }
52
- const api = (0, credentials_1.apiClient)();
53
- try {
54
- const result = await api.requirement.commentsProcessPendingAndVersion({
55
- requirementId: opts.requirementId,
56
- versionSeq: opts.versionSeq,
57
- content,
58
- });
59
- console.log(JSON.stringify(result, null, 2));
60
- }
61
- catch (e) {
62
- (0, exit_api_error_1.exitApiError)(e);
63
- }
64
- });
65
- }
66
- //# sourceMappingURL=comment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../../src/cli/commands/comment.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function registerConfigCommands(program: Command): void;
3
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgD7D"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerConfigCommands = registerConfigCommands;
4
- const apm_config_1 = require("../../core/apm-config");
5
- function registerConfigCommands(program) {
6
- const configCmd = program.command("config").description("apm配置管理");
7
- configCmd
8
- .command("init")
9
- .description("初始化apm配置,如果不存在则创建,如果存在则更新")
10
- .argument("<id>", "员工ID")
11
- .option("-h, --host <host>", "服务主机地址")
12
- .option("-p, --port <port>", "服务端口", "3000")
13
- .option("--protocol <proto>", "服务协议:http 或 https(与 lpm-server 的 HTTPS_ENABLED 一致;https 时 WebSocket 会对应为 wss)", "http")
14
- .option("-w, --wsPort <port>", "WebSocket端口", "4000")
15
- .action(async (id, opts) => {
16
- const config = {
17
- server: {
18
- wsPort: 0,
19
- url: "",
20
- },
21
- auth: {
22
- id: Number(id),
23
- token: "",
24
- },
25
- };
26
- if (opts.host) {
27
- const p = String(opts.protocol ?? "http").toLowerCase();
28
- if (p !== "http" && p !== "https") {
29
- throw new Error("--protocol 仅支持 http 或 https");
30
- }
31
- config.server.url = `${p}://${opts.host}:${opts.port ?? "3000"}`;
32
- }
33
- if (opts.wsPort) {
34
- config.server.wsPort = Number(opts.wsPort);
35
- }
36
- (0, apm_config_1.createApmRuntimeConfig)(config);
37
- });
38
- }
39
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":";;AAGA,wDAgDC;AAlDD,sDAA+D;AAE/D,SAAgB,sBAAsB,CAAC,OAAgB;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAEnE,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;SACxB,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC;SACrC,MAAM,CAAC,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC;SAC3C,MAAM,CACL,oBAAoB,EACpB,+EAA+E,EAC/E,MAAM,CACP;SACA,MAAM,CAAC,qBAAqB,EAAE,aAAa,EAAE,MAAM,CAAC;SACpD,MAAM,CACL,KAAK,EACH,EAAU,EACV,IAKC,EACD,EAAE;QACF,MAAM,MAAM,GAAG;YACb,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC;gBACT,GAAG,EAAE,EAAE;aACR;YACD,IAAI,EAAE;gBACJ,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;gBACd,KAAK,EAAE,EAAE;aACV;SACF,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,IAAA,mCAAsB,EAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { Command } from "commander";
2
- /**
3
- * 后端镜像部署:本地 docker build → 推送阿里云私有仓库 → 远程 docker pull。
4
- * 与 deploy-frontend 一致:位置参数 name 为分支名(解析末段),作镜像 tag;--env 为环境标签。
5
- */
6
- export declare function registerDeployBackendCommands(program: Command): void;
7
- //# sourceMappingURL=deploy-backend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-backend.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy-backend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBzC;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwFpE"}
@@ -1,77 +0,0 @@
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.registerDeployBackendCommands = registerDeployBackendCommands;
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const backend_deploy_1 = require("../../core/backend-deploy");
9
- const image_tag_1 = require("../../core/backend-deploy/image-tag");
10
- const branch_name_1 = require("../../core/branch-name");
11
- const apm_config_1 = require("../../core/apm-config");
12
- const parse_1 = require("../utils/parse");
13
- const node_process_1 = require("node:process");
14
- const api_1 = require("../../api");
15
- /**
16
- * 后端镜像部署:本地 docker build → 推送阿里云私有仓库 → 远程 docker pull。
17
- * 与 deploy-frontend 一致:位置参数 name 为分支名(解析末段),作镜像 tag;--env 为环境标签。
18
- */
19
- function registerDeployBackendCommands(program) {
20
- program
21
- .command("deploy-backend")
22
- .description("使用本地 Docker 构建后端镜像、推送到私有 Registry,并在远程 Docker 主机上拉取镜像(连接信息见 apm.config.json 的 backendDeploy)")
23
- .argument("[name]", "名称,英文下划线分割,作为镜像 tag", "online")
24
- .option("--env <env_tag>", "环境标签", "测试环境")
25
- .requiredOption("--dir <path>", "构建上下文目录(相对当前工作目录或绝对路径);约定使用此目录下的 Dockerfile")
26
- .option("--config <path>", "apm.config.json 路径(默认 .apm/apm.config.json,相对当前工作目录或绝对路径)")
27
- .option("--requirement-id <requirement_id>", "需求 ID(部署成功后登记后端环境,与 deploy-frontend 一致)", parse_1.parsePositiveInt)
28
- .option("-q, --quick <boolean>", "直接部署远程容器,不进行本地构建、推送镜像等步骤", false)
29
- .action(async (name, opts) => {
30
- const branchName = (0, branch_name_1.normalizeBranchName)(name);
31
- if (!branchName) {
32
- console.error("请传入有效的分支名(第一个位置参数 <name>)");
33
- process.exit(1);
34
- }
35
- const cleanBranch = (0, branch_name_1.sanitizeBranchName)(branchName);
36
- (0, image_tag_1.assertDeployImageTag)(cleanBranch);
37
- const cfg = (0, apm_config_1.loadApmConfig)({ configPath: opts.config });
38
- const fromApm = (0, apm_config_1.resolveBackendDeployFromApmConfig)(cfg);
39
- const dirAbs = node_path_1.default.resolve(opts.dir || (0, node_process_1.cwd)());
40
- const params = {
41
- image: fromApm.name,
42
- tag: cleanBranch,
43
- registryHost: fromApm.registryHost,
44
- registryNamespace: fromApm.registryNamespace,
45
- registryUser: fromApm.registryUser,
46
- registryPassword: fromApm.registryPassword,
47
- remoteHost: fromApm.remoteHost,
48
- remotePort: fromApm.remotePort,
49
- remoteProtocol: fromApm.remoteProtocol,
50
- remoteCaPath: fromApm.caPath ?? "",
51
- remoteCertPath: fromApm.certPath ?? "",
52
- remoteKeyPath: fromApm.keyPath ?? "",
53
- envFilePath: fromApm.envFilePath,
54
- containerPortsMappings: fromApm.containerPortsMappings,
55
- dockerNetwork: fromApm.dockerNetwork,
56
- };
57
- const workflow = new backend_deploy_1.BackendDeployWorkflow(params);
58
- if (opts.quick) {
59
- await workflow.deployRemoteContainer(dirAbs);
60
- }
61
- else {
62
- await workflow.run(dirAbs);
63
- }
64
- const envTag = (0, branch_name_1.resolveEnvTag)(opts.env ?? "测试环境");
65
- if (opts.requirementId) {
66
- const api = (0, api_1.createApmClient)();
67
- await api.cli.resourceEnvironmentCreate({
68
- requirementId: opts.requirementId,
69
- name: cleanBranch,
70
- tag: envTag,
71
- type: "BACKEND",
72
- });
73
- }
74
- console.log("后端部署成功");
75
- });
76
- }
77
- //# sourceMappingURL=deploy-backend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-backend.js","sourceRoot":"","sources":["../../../src/cli/commands/deploy-backend.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function registerDeployFrontendCommands(program: Command): void;
3
- //# sourceMappingURL=deploy-frontend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-frontend.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy-frontend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwEzC,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmKrE"}
@@ -1,167 +0,0 @@
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.registerDeployFrontendCommands = registerDeployFrontendCommands;
7
- const promises_1 = require("node:fs/promises");
8
- const node_path_1 = __importDefault(require("node:path"));
9
- const branch_name_1 = require("../../core/branch-name");
10
- const apm_config_1 = require("../../core/apm-config");
11
- const minio_1 = require("../../core/minio");
12
- const parse_1 = require("../utils/parse");
13
- const api_1 = require("../../api");
14
- /**
15
- * 产物协议:优先 `{root}/index.html`;否则在一级子目录中按名排序找第一个 `{root}/<dir>/index.html`,
16
- * 复制到 `{root}/index.html` 后结束。
17
- */
18
- async function ensureArtifactRootIndexHtml(root) {
19
- const indexHtmlPath = node_path_1.default.join(root, "index.html");
20
- try {
21
- const st = await (0, promises_1.stat)(indexHtmlPath);
22
- if (st.isFile()) {
23
- return;
24
- }
25
- }
26
- catch {
27
- /* 不存在则扫描一级子目录 */
28
- }
29
- let entries;
30
- try {
31
- entries = await (0, promises_1.readdir)(root, { withFileTypes: true });
32
- }
33
- catch (e) {
34
- console.error(`无法读取产物目录:${root}`, e);
35
- process.exit(1);
36
- }
37
- const dirNames = entries
38
- .filter((e) => e.isDirectory())
39
- .map((e) => String(e.name))
40
- .sort();
41
- for (const name of dirNames) {
42
- const candidate = node_path_1.default.join(root, name, "index.html");
43
- try {
44
- const st = await (0, promises_1.stat)(candidate);
45
- if (!st.isFile()) {
46
- continue;
47
- }
48
- }
49
- catch {
50
- continue;
51
- }
52
- await (0, promises_1.copyFile)(candidate, indexHtmlPath);
53
- console.error(`产物协议:已将 ${node_path_1.default.join(name, "index.html")} 复制为根目录 index.html`);
54
- return;
55
- }
56
- console.error(`产物协议:需在产物根目录存在 index.html,或在其一级子目录中存在可复制的 index.html(未在 ${root} 下找到)`);
57
- process.exit(1);
58
- }
59
- function registerDeployFrontendCommands(program) {
60
- program
61
- .command("deploy-frontend")
62
- .description("递归上传前端产物目录到 MinIO,并在成功后为该桶设置匿名可读策略(仅读取当前目录下 `.apm/.env` 中的 MINIO_*,已有环境变量优先)")
63
- .argument("[name]", "分支名,作为对象键顶层目录", "online")
64
- .option("--env <env_tag>", "环境标签", "测试环境,正式环境")
65
- .option("--dir <path>", "产物目录(默认 dist)")
66
- .option("--config <path>", "apm.config.json 路径(默认 .apm/apm.config.json,相对当前工作目录或绝对路径)")
67
- .option("--requirement-id <requirement_id>", "需求 ID(上传成功后登记前端环境)", parse_1.parsePositiveInt)
68
- .option("--max-file-size-mb <mb>", `单文件大小上限,默认 ${minio_1.DEFAULT_MAX_FILE_SIZE_MB}`, (v) => Number.parseInt(String(v), 10))
69
- .action(async (name, opts) => {
70
- const cfg = (0, apm_config_1.loadApmConfig)({ configPath: opts.config });
71
- const { frontendDeploy: settings } = cfg;
72
- const nameRaw = (cfg.name ?? "").trim();
73
- if (!nameRaw) {
74
- console.error("请在 .apm/apm.config.json 顶层配置 name(作为 MinIO 对象键前缀)");
75
- process.exit(1);
76
- }
77
- if (nameRaw.includes(":")) {
78
- console.error("apm.config.json 的 name 不能包含 ':'");
79
- process.exit(1);
80
- }
81
- let namePrefix;
82
- try {
83
- namePrefix = (0, minio_1.sanitizeRelativePath)(nameRaw.replace(/\\/g, "/"));
84
- }
85
- catch {
86
- console.error("apm.config.json 的 name 非法(路径片段不能为 . 或 ..)");
87
- process.exit(1);
88
- }
89
- const minio = new minio_1.MinioClient({
90
- endPoint: settings.endpoint,
91
- port: settings.port,
92
- useSSL: settings.useSsl,
93
- accessKey: settings.accessKey,
94
- secretKey: settings.secretKey,
95
- });
96
- const bucket = settings.bucket;
97
- const branchName = (0, branch_name_1.normalizeBranchName)(name);
98
- if (!branchName) {
99
- console.error("请传入有效的分支名(第一个位置参数 <name>)");
100
- process.exit(1);
101
- }
102
- const cleanBranch = (0, branch_name_1.sanitizeBranchName)(branchName);
103
- const root = node_path_1.default.resolve(process.cwd(), opts.dir || "dist");
104
- if (!(await (0, minio_1.isDirectoryPath)(root))) {
105
- console.error(`产物目录不存在:${root}`);
106
- process.exit(1);
107
- }
108
- await ensureArtifactRootIndexHtml(root);
109
- const maxBytes = Math.max(1, Number.isFinite(opts.maxFileSizeMb)
110
- ? Math.floor((opts.maxFileSizeMb ?? minio_1.DEFAULT_MAX_FILE_SIZE_MB) * 1024 * 1024)
111
- : minio_1.DEFAULT_MAX_FILE_SIZE_MB * 1024 * 1024);
112
- const files = await (0, minio_1.collectFiles)(root);
113
- if (files.length === 0) {
114
- console.error(`目录为空:${root}`);
115
- process.exit(1);
116
- }
117
- let uploaded = 0;
118
- let totalBytes = 0;
119
- console.error(`开始直连 MinIO 上传,共 ${files.length} 个文件…`);
120
- await minio.ensureBucket(bucket);
121
- // 只清理与上传目录对应的对象前缀,避免误删同一分支下其它目录内容
122
- await minio.deleteObjectsByPrefix(bucket, `${namePrefix}/${cleanBranch}/dist/`);
123
- for (const f of files) {
124
- if (f.size > maxBytes) {
125
- console.error(`文件过大,已拒绝:${f.relativePath}(${(0, minio_1.toMB)(f.size)}MB > ${(0, minio_1.toMB)(maxBytes)}MB)`);
126
- process.exit(1);
127
- }
128
- const buf = await (0, minio_1.readArtifactFile)(f.absPath);
129
- const cleanRel = (0, minio_1.sanitizeRelativePath)(f.relativePath);
130
- const objectKey = (0, minio_1.toArtifactObjectKey)({
131
- namePrefix,
132
- branchName: cleanBranch,
133
- relativePath: cleanRel,
134
- });
135
- const mimeType = (0, minio_1.detectMimeType)(f.relativePath).trim().toLowerCase() ||
136
- "application/octet-stream";
137
- await minio.putObject(bucket, objectKey, buf, {
138
- "Content-Type": mimeType,
139
- });
140
- uploaded += 1;
141
- totalBytes += buf.length;
142
- console.error(`[${uploaded}/${files.length}] ${f.relativePath} -> ${objectKey}`);
143
- }
144
- console.error("正在设置桶策略(匿名可读对象,便于 HTTP 直链)…");
145
- await minio.setBucketPublicRead(bucket);
146
- console.log(JSON.stringify({
147
- ok: true,
148
- namePrefix,
149
- branchName: cleanBranch,
150
- bucket,
151
- fileCount: uploaded,
152
- totalBytes,
153
- bucketPublicRead: true,
154
- }, null, 2));
155
- const envTag = (0, branch_name_1.resolveEnvTag)(opts.env ?? "测试环境");
156
- if (opts.requirementId) {
157
- const api = (0, api_1.createApmClient)();
158
- await api.cli.resourceEnvironmentCreate({
159
- requirementId: opts.requirementId,
160
- name: cleanBranch,
161
- tag: envTag,
162
- type: "FRONTEND",
163
- });
164
- }
165
- });
166
- }
167
- //# sourceMappingURL=deploy-frontend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-frontend.js","sourceRoot":"","sources":["../../../src/cli/commands/deploy-frontend.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function registerGetCommands(program: Command): void;
3
- //# sourceMappingURL=get.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/get.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyCzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiI1D"}