ai-project-manage-cli 2.0.26 → 3.0.2

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 (293) hide show
  1. package/dist/index.js +500 -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/skills/apm-review/SKILL.md +38 -0
  6. package/template/skills/apm-review/apm-review-reference.md +89 -0
  7. package/template/workitems/README.md +19 -0
  8. package/README.md +0 -171
  9. package/dist/api/cli.d.ts +0 -228
  10. package/dist/api/cli.d.ts.map +0 -1
  11. package/dist/api/cli.js +0 -3
  12. package/dist/api/cli.js.map +0 -1
  13. package/dist/api/client.d.ts +0 -5
  14. package/dist/api/client.d.ts.map +0 -1
  15. package/dist/api/client.js +0 -30
  16. package/dist/api/client.js.map +0 -1
  17. package/dist/api/http.d.ts +0 -21
  18. package/dist/api/http.d.ts.map +0 -1
  19. package/dist/api/http.js +0 -108
  20. package/dist/api/http.js.map +0 -1
  21. package/dist/api/index.d.ts +0 -6
  22. package/dist/api/index.d.ts.map +0 -1
  23. package/dist/api/index.js +0 -13
  24. package/dist/api/index.js.map +0 -1
  25. package/dist/api/request-config.d.ts +0 -25
  26. package/dist/api/request-config.d.ts.map +0 -1
  27. package/dist/api/request-config.js +0 -73
  28. package/dist/api/request-config.js.map +0 -1
  29. package/dist/api/requirement.d.ts +0 -1
  30. package/dist/api/requirement.d.ts.map +0 -1
  31. package/dist/api/requirement.js +0 -2
  32. package/dist/api/requirement.js.map +0 -1
  33. package/dist/apm-dotenv.d.ts +0 -8
  34. package/dist/apm-dotenv.d.ts.map +0 -1
  35. package/dist/apm-dotenv.js +0 -73
  36. package/dist/apm-dotenv.js.map +0 -1
  37. package/dist/cli/agent-stream-log.d.ts +0 -41
  38. package/dist/cli/agent-stream-log.d.ts.map +0 -1
  39. package/dist/cli/agent-stream-log.js +0 -364
  40. package/dist/cli/agent-stream-log.js.map +0 -1
  41. package/dist/cli/commands/auth.d.ts +0 -3
  42. package/dist/cli/commands/auth.d.ts.map +0 -1
  43. package/dist/cli/commands/auth.js +0 -51
  44. package/dist/cli/commands/auth.js.map +0 -1
  45. package/dist/cli/commands/chat.d.ts +0 -3
  46. package/dist/cli/commands/chat.d.ts.map +0 -1
  47. package/dist/cli/commands/chat.js +0 -32
  48. package/dist/cli/commands/chat.js.map +0 -1
  49. package/dist/cli/commands/comment.d.ts +0 -3
  50. package/dist/cli/commands/comment.d.ts.map +0 -1
  51. package/dist/cli/commands/comment.js +0 -66
  52. package/dist/cli/commands/comment.js.map +0 -1
  53. package/dist/cli/commands/config.d.ts +0 -3
  54. package/dist/cli/commands/config.d.ts.map +0 -1
  55. package/dist/cli/commands/config.js +0 -39
  56. package/dist/cli/commands/config.js.map +0 -1
  57. package/dist/cli/commands/deploy-backend.d.ts +0 -7
  58. package/dist/cli/commands/deploy-backend.d.ts.map +0 -1
  59. package/dist/cli/commands/deploy-backend.js +0 -77
  60. package/dist/cli/commands/deploy-backend.js.map +0 -1
  61. package/dist/cli/commands/deploy-frontend.d.ts +0 -3
  62. package/dist/cli/commands/deploy-frontend.d.ts.map +0 -1
  63. package/dist/cli/commands/deploy-frontend.js +0 -167
  64. package/dist/cli/commands/deploy-frontend.js.map +0 -1
  65. package/dist/cli/commands/get.d.ts +0 -3
  66. package/dist/cli/commands/get.d.ts.map +0 -1
  67. package/dist/cli/commands/get.js +0 -145
  68. package/dist/cli/commands/get.js.map +0 -1
  69. package/dist/cli/commands/init.d.ts +0 -3
  70. package/dist/cli/commands/init.d.ts.map +0 -1
  71. package/dist/cli/commands/init.js +0 -179
  72. package/dist/cli/commands/init.js.map +0 -1
  73. package/dist/cli/commands/minio.d.ts +0 -3
  74. package/dist/cli/commands/minio.d.ts.map +0 -1
  75. package/dist/cli/commands/minio.js +0 -65
  76. package/dist/cli/commands/minio.js.map +0 -1
  77. package/dist/cli/commands/publish.d.ts +0 -3
  78. package/dist/cli/commands/publish.d.ts.map +0 -1
  79. package/dist/cli/commands/publish.js +0 -130
  80. package/dist/cli/commands/publish.js.map +0 -1
  81. package/dist/cli/commands/release.d.ts +0 -3
  82. package/dist/cli/commands/release.d.ts.map +0 -1
  83. package/dist/cli/commands/release.js +0 -37
  84. package/dist/cli/commands/release.js.map +0 -1
  85. package/dist/cli/commands/requirement.d.ts +0 -3
  86. package/dist/cli/commands/requirement.d.ts.map +0 -1
  87. package/dist/cli/commands/requirement.js +0 -169
  88. package/dist/cli/commands/requirement.js.map +0 -1
  89. package/dist/cli/commands/set.d.ts +0 -3
  90. package/dist/cli/commands/set.d.ts.map +0 -1
  91. package/dist/cli/commands/set.js +0 -103
  92. package/dist/cli/commands/set.js.map +0 -1
  93. package/dist/cli/commands/status.d.ts +0 -3
  94. package/dist/cli/commands/status.d.ts.map +0 -1
  95. package/dist/cli/commands/status.js +0 -42
  96. package/dist/cli/commands/status.js.map +0 -1
  97. package/dist/cli/commands/update.d.ts +0 -3
  98. package/dist/cli/commands/update.d.ts.map +0 -1
  99. package/dist/cli/commands/update.js +0 -36
  100. package/dist/cli/commands/update.js.map +0 -1
  101. package/dist/cli/commands/ws.d.ts +0 -3
  102. package/dist/cli/commands/ws.d.ts.map +0 -1
  103. package/dist/cli/commands/ws.js +0 -25
  104. package/dist/cli/commands/ws.js.map +0 -1
  105. package/dist/cli/credentials.d.ts +0 -30
  106. package/dist/cli/credentials.d.ts.map +0 -1
  107. package/dist/cli/credentials.js +0 -52
  108. package/dist/cli/credentials.js.map +0 -1
  109. package/dist/cli/exit-api-error.d.ts +0 -2
  110. package/dist/cli/exit-api-error.d.ts.map +0 -1
  111. package/dist/cli/exit-api-error.js +0 -18
  112. package/dist/cli/exit-api-error.js.map +0 -1
  113. package/dist/cli/instruction-log-stream-sink.d.ts +0 -31
  114. package/dist/cli/instruction-log-stream-sink.d.ts.map +0 -1
  115. package/dist/cli/instruction-log-stream-sink.js +0 -59
  116. package/dist/cli/instruction-log-stream-sink.js.map +0 -1
  117. package/dist/cli/session.d.ts +0 -26
  118. package/dist/cli/session.d.ts.map +0 -1
  119. package/dist/cli/session.js +0 -41
  120. package/dist/cli/session.js.map +0 -1
  121. package/dist/cli/utils/parse.d.ts +0 -2
  122. package/dist/cli/utils/parse.d.ts.map +0 -1
  123. package/dist/cli/utils/parse.js +0 -12
  124. package/dist/cli/utils/parse.js.map +0 -1
  125. package/dist/cli/ws-run-command.d.ts +0 -13
  126. package/dist/cli/ws-run-command.d.ts.map +0 -1
  127. package/dist/cli/ws-run-command.js +0 -330
  128. package/dist/cli/ws-run-command.js.map +0 -1
  129. package/dist/cli-version.d.ts +0 -9
  130. package/dist/cli-version.d.ts.map +0 -1
  131. package/dist/cli-version.js +0 -61
  132. package/dist/cli-version.js.map +0 -1
  133. package/dist/cli.d.ts +0 -3
  134. package/dist/cli.d.ts.map +0 -1
  135. package/dist/cli.js +0 -36
  136. package/dist/cli.js.map +0 -1
  137. package/dist/config-store.d.ts +0 -38
  138. package/dist/config-store.d.ts.map +0 -1
  139. package/dist/config-store.js +0 -131
  140. package/dist/config-store.js.map +0 -1
  141. package/dist/core/apm-config.d.ts +0 -81
  142. package/dist/core/apm-config.d.ts.map +0 -1
  143. package/dist/core/apm-config.js +0 -147
  144. package/dist/core/apm-config.js.map +0 -1
  145. package/dist/core/backend-deploy/backend-deploy-workflow.d.ts +0 -20
  146. package/dist/core/backend-deploy/backend-deploy-workflow.d.ts.map +0 -1
  147. package/dist/core/backend-deploy/backend-deploy-workflow.js +0 -86
  148. package/dist/core/backend-deploy/backend-deploy-workflow.js.map +0 -1
  149. package/dist/core/backend-deploy/command-runner.d.ts +0 -11
  150. package/dist/core/backend-deploy/command-runner.d.ts.map +0 -1
  151. package/dist/core/backend-deploy/command-runner.js +0 -47
  152. package/dist/core/backend-deploy/command-runner.js.map +0 -1
  153. package/dist/core/backend-deploy/dockerode-client/client.d.ts +0 -18
  154. package/dist/core/backend-deploy/dockerode-client/client.d.ts.map +0 -1
  155. package/dist/core/backend-deploy/dockerode-client/client.js +0 -114
  156. package/dist/core/backend-deploy/dockerode-client/client.js.map +0 -1
  157. package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts +0 -6
  158. package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts.map +0 -1
  159. package/dist/core/backend-deploy/dockerode-client/connection-options.js +0 -62
  160. package/dist/core/backend-deploy/dockerode-client/connection-options.js.map +0 -1
  161. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts +0 -3
  162. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts.map +0 -1
  163. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js +0 -23
  164. package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js.map +0 -1
  165. package/dist/core/backend-deploy/dockerode-client/container-options.d.ts +0 -4
  166. package/dist/core/backend-deploy/dockerode-client/container-options.d.ts.map +0 -1
  167. package/dist/core/backend-deploy/dockerode-client/container-options.js +0 -44
  168. package/dist/core/backend-deploy/dockerode-client/container-options.js.map +0 -1
  169. package/dist/core/backend-deploy/dockerode-client/env.d.ts +0 -3
  170. package/dist/core/backend-deploy/dockerode-client/env.d.ts.map +0 -1
  171. package/dist/core/backend-deploy/dockerode-client/env.js +0 -40
  172. package/dist/core/backend-deploy/dockerode-client/env.js.map +0 -1
  173. package/dist/core/backend-deploy/dockerode-client/index.d.ts +0 -8
  174. package/dist/core/backend-deploy/dockerode-client/index.d.ts.map +0 -1
  175. package/dist/core/backend-deploy/dockerode-client/index.js +0 -17
  176. package/dist/core/backend-deploy/dockerode-client/index.js.map +0 -1
  177. package/dist/core/backend-deploy/dockerode-client/ports.d.ts +0 -9
  178. package/dist/core/backend-deploy/dockerode-client/ports.d.ts.map +0 -1
  179. package/dist/core/backend-deploy/dockerode-client/ports.js +0 -35
  180. package/dist/core/backend-deploy/dockerode-client/ports.js.map +0 -1
  181. package/dist/core/backend-deploy/dockerode-client/runtime.d.ts +0 -7
  182. package/dist/core/backend-deploy/dockerode-client/runtime.d.ts.map +0 -1
  183. package/dist/core/backend-deploy/dockerode-client/runtime.js +0 -26
  184. package/dist/core/backend-deploy/dockerode-client/runtime.js.map +0 -1
  185. package/dist/core/backend-deploy/dockerode-client/types.d.ts +0 -64
  186. package/dist/core/backend-deploy/dockerode-client/types.d.ts.map +0 -1
  187. package/dist/core/backend-deploy/dockerode-client/types.js +0 -3
  188. package/dist/core/backend-deploy/dockerode-client/types.js.map +0 -1
  189. package/dist/core/backend-deploy/image-tag.d.ts +0 -2
  190. package/dist/core/backend-deploy/image-tag.d.ts.map +0 -1
  191. package/dist/core/backend-deploy/image-tag.js +0 -15
  192. package/dist/core/backend-deploy/image-tag.js.map +0 -1
  193. package/dist/core/backend-deploy/index.d.ts +0 -3
  194. package/dist/core/backend-deploy/index.d.ts.map +0 -1
  195. package/dist/core/backend-deploy/index.js +0 -6
  196. package/dist/core/backend-deploy/index.js.map +0 -1
  197. package/dist/core/backend-deploy/local-docker-build.d.ts +0 -8
  198. package/dist/core/backend-deploy/local-docker-build.d.ts.map +0 -1
  199. package/dist/core/backend-deploy/local-docker-build.js +0 -25
  200. package/dist/core/backend-deploy/local-docker-build.js.map +0 -1
  201. package/dist/core/backend-deploy/logger.d.ts +0 -10
  202. package/dist/core/backend-deploy/logger.d.ts.map +0 -1
  203. package/dist/core/backend-deploy/logger.js +0 -22
  204. package/dist/core/backend-deploy/logger.js.map +0 -1
  205. package/dist/core/backend-deploy/registry-login-push.d.ts +0 -24
  206. package/dist/core/backend-deploy/registry-login-push.d.ts.map +0 -1
  207. package/dist/core/backend-deploy/registry-login-push.js +0 -37
  208. package/dist/core/backend-deploy/registry-login-push.js.map +0 -1
  209. package/dist/core/backend-deploy/remote-docker-client.d.ts +0 -11
  210. package/dist/core/backend-deploy/remote-docker-client.d.ts.map +0 -1
  211. package/dist/core/backend-deploy/remote-docker-client.js +0 -34
  212. package/dist/core/backend-deploy/remote-docker-client.js.map +0 -1
  213. package/dist/core/backend-deploy/remote-pull-image.d.ts +0 -9
  214. package/dist/core/backend-deploy/remote-pull-image.d.ts.map +0 -1
  215. package/dist/core/backend-deploy/remote-pull-image.js +0 -39
  216. package/dist/core/backend-deploy/remote-pull-image.js.map +0 -1
  217. package/dist/core/backend-deploy/resolve-dockerfile.d.ts +0 -7
  218. package/dist/core/backend-deploy/resolve-dockerfile.d.ts.map +0 -1
  219. package/dist/core/backend-deploy/resolve-dockerfile.js +0 -24
  220. package/dist/core/backend-deploy/resolve-dockerfile.js.map +0 -1
  221. package/dist/core/backend-deploy/run-docker-cli.d.ts +0 -9
  222. package/dist/core/backend-deploy/run-docker-cli.d.ts.map +0 -1
  223. package/dist/core/backend-deploy/run-docker-cli.js +0 -14
  224. package/dist/core/backend-deploy/run-docker-cli.js.map +0 -1
  225. package/dist/core/backend-deploy/types.d.ts +0 -23
  226. package/dist/core/backend-deploy/types.d.ts.map +0 -1
  227. package/dist/core/backend-deploy/types.js +0 -3
  228. package/dist/core/backend-deploy/types.js.map +0 -1
  229. package/dist/core/branch-name.d.ts +0 -8
  230. package/dist/core/branch-name.d.ts.map +0 -1
  231. package/dist/core/branch-name.js +0 -37
  232. package/dist/core/branch-name.js.map +0 -1
  233. package/dist/core/constants.d.ts +0 -4
  234. package/dist/core/constants.d.ts.map +0 -1
  235. package/dist/core/constants.js +0 -16
  236. package/dist/core/constants.js.map +0 -1
  237. package/dist/core/cursor-cmd.d.ts +0 -30
  238. package/dist/core/cursor-cmd.d.ts.map +0 -1
  239. package/dist/core/cursor-cmd.js +0 -193
  240. package/dist/core/cursor-cmd.js.map +0 -1
  241. package/dist/core/minio.d.ts +0 -37
  242. package/dist/core/minio.d.ts.map +0 -1
  243. package/dist/core/minio.js +0 -159
  244. package/dist/core/minio.js.map +0 -1
  245. package/dist/core/parse-testcase-md.d.ts +0 -17
  246. package/dist/core/parse-testcase-md.d.ts.map +0 -1
  247. package/dist/core/parse-testcase-md.js +0 -79
  248. package/dist/core/parse-testcase-md.js.map +0 -1
  249. package/dist/core/std-event-handler.d.ts +0 -25
  250. package/dist/core/std-event-handler.d.ts.map +0 -1
  251. package/dist/core/std-event-handler.js +0 -90
  252. package/dist/core/std-event-handler.js.map +0 -1
  253. package/dist/core/utils.d.ts +0 -19
  254. package/dist/core/utils.d.ts.map +0 -1
  255. package/dist/core/utils.js +0 -71
  256. package/dist/core/utils.js.map +0 -1
  257. package/dist/core/ws-client.d.ts +0 -29
  258. package/dist/core/ws-client.d.ts.map +0 -1
  259. package/dist/core/ws-client.js +0 -81
  260. package/dist/core/ws-client.js.map +0 -1
  261. package/dist/employee-ws-client.d.ts +0 -42
  262. package/dist/employee-ws-client.d.ts.map +0 -1
  263. package/dist/employee-ws-client.js +0 -99
  264. package/dist/employee-ws-client.js.map +0 -1
  265. package/dist/index.d.ts +0 -6
  266. package/dist/index.d.ts.map +0 -1
  267. package/dist/index.js.map +0 -1
  268. package/templates/commands/apm-auto-dev.md +0 -6
  269. package/templates/commands/apm-fixbug.md +0 -6
  270. package/templates/commands/apm-prd-review.md +0 -6
  271. package/templates/commands/apm-prd-sync.md +0 -6
  272. package/templates/skills/apm-apply-change/SKILL.md +0 -191
  273. package/templates/skills/apm-auto-dev/SKILL.md +0 -170
  274. package/templates/skills/apm-fixbug/SKILL.md +0 -97
  275. package/templates/skills/apm-propose/SKILL.md +0 -123
  276. package/templates/skills/apm-propose/design-instruction.md +0 -94
  277. package/templates/skills/apm-propose/propose-instruction.md +0 -81
  278. package/templates/skills/apm-propose/specs-instruction.md +0 -114
  279. package/templates/skills/apm-propose/tasks-instruction.md +0 -90
  280. package/templates/skills/apm-release/SKILL.md +0 -87
  281. package/templates/skills/code-change-summary/SKILL.md +0 -84
  282. package/templates/skills/code-change-summary/summary-template.md +0 -55
  283. package/templates/skills/code-deploy/SKILL.md +0 -39
  284. package/templates/skills/prd-review/SKILL.md +0 -48
  285. package/templates/skills/prd-review/output-template.md +0 -47
  286. package/templates/skills/prd-sync/SKILL.md +0 -74
  287. package/templates/skills/prd-sync/updated-requirement-template.md +0 -39
  288. package/templates/skills/prd-testcase/SKILL.md +0 -82
  289. package/templates/skills/prd-testcase/reference.md +0 -44
  290. package/templates/skills/product-capability-inventory/SKILL.md +0 -131
  291. package/templates/skills/product-capability-inventory/template.md +0 -80
  292. package/templates/skills/product-capability-inventory//344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +0 -36
  293. package/templates/skills/product-capability-inventory//347/233/256/345/275/225/350/247/204/350/214/203.md +0 -58
@@ -1,364 +0,0 @@
1
- "use strict";
2
- /**
3
- * 将 agent `--output-format stream-json` 的 NDJSON 行聚合成 thinking / assistant / tool_call / result,
4
- * 通过 sink 创建一条日志并节流更新,段结束时 close;result 为单次落库。
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.parseNdjsonLine = parseNdjsonLine;
8
- exports.createAgentStreamAggregator = createAgentStreamAggregator;
9
- function tsToIso(ms) {
10
- if (typeof ms === "number" && Number.isFinite(ms)) {
11
- return new Date(ms).toISOString();
12
- }
13
- return new Date().toISOString();
14
- }
15
- function getTimestampMs(obj) {
16
- const ms = obj.timestamp_ms;
17
- if (typeof ms === "number" && Number.isFinite(ms))
18
- return ms;
19
- return Date.now();
20
- }
21
- /** 与 ws-run-command 一致:一行可能是裸 JSON 或 JSON 字符串包一层 */
22
- function parseNdjsonLine(line) {
23
- const trimmed = line.replace(/\r$/, "").trim();
24
- if (!trimmed)
25
- return null;
26
- let v;
27
- try {
28
- v = JSON.parse(trimmed);
29
- }
30
- catch {
31
- return { type: "stdout", parseError: true, raw: trimmed };
32
- }
33
- if (typeof v === "string") {
34
- try {
35
- return JSON.parse(v);
36
- }
37
- catch {
38
- return v;
39
- }
40
- }
41
- return v;
42
- }
43
- function extractAssistantText(obj) {
44
- const msg = obj.message;
45
- if (!msg || typeof msg !== "object")
46
- return "";
47
- const content = msg.content;
48
- if (!Array.isArray(content))
49
- return "";
50
- let s = "";
51
- for (const part of content) {
52
- if (part &&
53
- typeof part === "object" &&
54
- part.type === "text" &&
55
- typeof part.text === "string") {
56
- s += part.text;
57
- }
58
- }
59
- return s;
60
- }
61
- function mergeAssistantChunk(prev, next) {
62
- if (!next)
63
- return prev;
64
- if (!prev)
65
- return next;
66
- if (next.startsWith(prev))
67
- return next;
68
- return prev + next;
69
- }
70
- function stringifyArgs(toolCall) {
71
- try {
72
- return JSON.stringify(toolCall ?? null);
73
- }
74
- catch {
75
- return String(toolCall);
76
- }
77
- }
78
- function extractToolOutput(o) {
79
- const tc = o.tool_call;
80
- if (tc && typeof tc === "object" && tc !== null && "result" in tc) {
81
- return tc.result;
82
- }
83
- return o.tool_call ?? o.result;
84
- }
85
- /** 流结束时的 result 事件,整行一条日志(无需节流更新) */
86
- function buildResultPayload(o) {
87
- const raw = o.result;
88
- const resultText = typeof raw === "string"
89
- ? raw
90
- : raw !== undefined
91
- ? (() => {
92
- try {
93
- return JSON.stringify(raw);
94
- }
95
- catch {
96
- return String(raw);
97
- }
98
- })()
99
- : "";
100
- const out = {
101
- type: "result",
102
- subtype: String(o.subtype ?? ""),
103
- is_error: o.is_error === true,
104
- result: resultText,
105
- };
106
- if (typeof o.duration_ms === "number" && Number.isFinite(o.duration_ms)) {
107
- out.duration_ms = o.duration_ms;
108
- }
109
- if (typeof o.duration_api_ms === "number" && Number.isFinite(o.duration_api_ms)) {
110
- out.duration_api_ms = o.duration_api_ms;
111
- }
112
- if (typeof o.session_id === "string" && o.session_id) {
113
- out.session_id = o.session_id;
114
- }
115
- if (typeof o.request_id === "string" && o.request_id) {
116
- out.request_id = o.request_id;
117
- }
118
- if (o.usage !== undefined) {
119
- out.usage = o.usage;
120
- }
121
- return out;
122
- }
123
- class SegmentChannel {
124
- id = null;
125
- opening = null;
126
- reset() {
127
- this.id = null;
128
- this.opening = null;
129
- }
130
- async ensureOpen(sink, payload) {
131
- if (this.id != null)
132
- return this.id;
133
- if (!this.opening) {
134
- this.opening = sink.openSegment(payload).then((id) => {
135
- this.id = id;
136
- return id;
137
- });
138
- }
139
- return this.opening;
140
- }
141
- }
142
- function createAgentStreamAggregator(sink) {
143
- let thinking = null;
144
- const thinkingCh = new SegmentChannel();
145
- let assistant = null;
146
- const assistantCh = new SegmentChannel();
147
- const toolPending = new Map();
148
- const toolOpenPromises = new Map();
149
- const toolLogIds = new Map();
150
- function buildThinkingPayload(seg) {
151
- return {
152
- type: "thinking",
153
- content: seg.content,
154
- start_time: tsToIso(seg.startMs),
155
- end_time: tsToIso(seg.endMs),
156
- };
157
- }
158
- function buildAssistantPayload(seg) {
159
- return {
160
- type: "assistant",
161
- content: seg.content,
162
- start_time: tsToIso(seg.startMs),
163
- end_time: tsToIso(seg.endMs),
164
- };
165
- }
166
- async function flushThinkingAsync() {
167
- if (!thinking)
168
- return;
169
- const seg = thinking;
170
- thinking = null;
171
- const p = buildThinkingPayload(seg);
172
- const id = await thinkingCh.ensureOpen(sink, p);
173
- if (id != null)
174
- await sink.closeSegment(id, p);
175
- thinkingCh.reset();
176
- }
177
- async function flushAssistantAsync() {
178
- if (!assistant)
179
- return;
180
- const seg = assistant;
181
- assistant = null;
182
- const p = buildAssistantPayload(seg);
183
- const id = await assistantCh.ensureOpen(sink, p);
184
- if (id != null)
185
- await sink.closeSegment(id, p);
186
- assistantCh.reset();
187
- }
188
- function beforeThinkingDelta() {
189
- void flushAssistantAsync();
190
- }
191
- function beforeAssistant() {
192
- void flushThinkingAsync();
193
- }
194
- function beforeToolOrResult() {
195
- void flushAssistantAsync();
196
- void flushThinkingAsync();
197
- }
198
- function ingest(ev) {
199
- if (!ev || typeof ev !== "object")
200
- return;
201
- const o = ev;
202
- if ("parseError" in o && o.type === "stdout") {
203
- sink.pushRaw(ev);
204
- return;
205
- }
206
- const t = o.type;
207
- if (t === "thinking") {
208
- const subtype = String(o.subtype ?? "");
209
- const ms = getTimestampMs(o);
210
- if (subtype === "delta") {
211
- beforeThinkingDelta();
212
- const piece = typeof o.text === "string" ? o.text : "";
213
- if (!thinking) {
214
- thinking = { content: piece, startMs: ms, endMs: ms };
215
- }
216
- else {
217
- thinking.content += piece;
218
- thinking.endMs = ms;
219
- }
220
- const seg = thinking;
221
- const p = buildThinkingPayload(seg);
222
- void (async () => {
223
- const id = await thinkingCh.ensureOpen(sink, p);
224
- if (id != null)
225
- sink.patchSegment(id, p);
226
- })();
227
- }
228
- else if (subtype === "completed") {
229
- if (thinking) {
230
- thinking.endMs = ms;
231
- }
232
- void flushThinkingAsync();
233
- }
234
- return;
235
- }
236
- if (t === "assistant") {
237
- beforeAssistant();
238
- const text = extractAssistantText(o);
239
- const ms = getTimestampMs(o);
240
- if (!assistant) {
241
- assistant = {
242
- content: text,
243
- startMs: ms,
244
- endMs: ms,
245
- };
246
- }
247
- else {
248
- assistant.content = mergeAssistantChunk(assistant.content, text);
249
- assistant.endMs = ms;
250
- }
251
- const seg = assistant;
252
- const p = buildAssistantPayload(seg);
253
- void (async () => {
254
- const id = await assistantCh.ensureOpen(sink, p);
255
- if (id != null)
256
- sink.patchSegment(id, p);
257
- })();
258
- return;
259
- }
260
- if (t === "tool_call") {
261
- beforeToolOrResult();
262
- const subtype = String(o.subtype ?? "");
263
- const callId = typeof o.call_id === "string" && o.call_id.trim()
264
- ? o.call_id.trim()
265
- : "";
266
- const ms = getTimestampMs(o);
267
- if (!callId) {
268
- return;
269
- }
270
- if (subtype === "started") {
271
- toolPending.set(callId, {
272
- startMs: ms,
273
- endMs: ms,
274
- args: stringifyArgs(o.tool_call),
275
- });
276
- const p = {
277
- type: "tool_call",
278
- id: callId,
279
- start_time: tsToIso(ms),
280
- end_time: tsToIso(ms),
281
- args: stringifyArgs(o.tool_call),
282
- output: null,
283
- };
284
- const pOpen = sink.openSegment(p);
285
- toolOpenPromises.set(callId, pOpen);
286
- void pOpen.then((id) => {
287
- if (id != null)
288
- toolLogIds.set(callId, id);
289
- });
290
- return;
291
- }
292
- if (subtype === "completed") {
293
- const pending = toolPending.get(callId);
294
- const startMs = pending?.startMs ?? ms;
295
- const args = pending?.args ?? stringifyArgs(o.tool_call);
296
- toolPending.delete(callId);
297
- const output = extractToolOutput(o);
298
- const p = {
299
- type: "tool_call",
300
- id: callId,
301
- start_time: tsToIso(startMs),
302
- end_time: tsToIso(ms),
303
- args,
304
- output,
305
- };
306
- void (async () => {
307
- let id = toolLogIds.get(callId) ?? null;
308
- const pms = toolOpenPromises.get(callId);
309
- if (id == null && pms) {
310
- id = await pms;
311
- }
312
- toolOpenPromises.delete(callId);
313
- toolLogIds.delete(callId);
314
- if (id != null) {
315
- await sink.closeSegment(id, p);
316
- }
317
- else {
318
- const nid = await sink.openSegment(p);
319
- if (nid == null)
320
- sink.pushRaw(p);
321
- }
322
- })();
323
- }
324
- return;
325
- }
326
- if (t === "result") {
327
- beforeToolOrResult();
328
- sink.pushRaw(buildResultPayload(o));
329
- return;
330
- }
331
- }
332
- async function flushAsync() {
333
- await flushAssistantAsync();
334
- await flushThinkingAsync();
335
- for (const [callId, pend] of [...toolPending]) {
336
- const p = {
337
- type: "tool_call",
338
- id: callId,
339
- start_time: tsToIso(pend.startMs),
340
- end_time: tsToIso(pend.endMs),
341
- args: pend.args,
342
- output: null,
343
- };
344
- let id = toolLogIds.get(callId) ?? null;
345
- const pms = toolOpenPromises.get(callId);
346
- if (id == null && pms) {
347
- id = await pms;
348
- }
349
- toolOpenPromises.delete(callId);
350
- toolPending.delete(callId);
351
- toolLogIds.delete(callId);
352
- if (id != null) {
353
- await sink.closeSegment(id, p);
354
- }
355
- else {
356
- const nid = await sink.openSegment(p);
357
- if (nid == null)
358
- sink.pushRaw(p);
359
- }
360
- }
361
- }
362
- return { ingest, flushAsync };
363
- }
364
- //# sourceMappingURL=agent-stream-log.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-stream-log.js","sourceRoot":"","sources":["../../src/cli/agent-stream-log.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function registerAuthCommands(program: Command): void;
3
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B3D"}
@@ -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":";;AAKA,0DA6EC;AAlFD,+CAA4C;AAE5C,gDAA2C;AAC3C,sDAAiD;AAEjD,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEnE,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,8BAA8B,CAC/B;SACA,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACnE,MAAM,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;SACxD,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,IAA4D,EAAE,EAAE;QAC7E,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,uBAAS,GAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC;gBACtD,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO;aACR,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,6BAAY,EAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,gDAAgD,CACjD;SACA,cAAc,CAAC,uBAAuB,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CACvB;SACA,cAAc,CACb,mBAAmB,EACnB,iCAAiC,EACjC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9B;SACA,MAAM,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;SACzD,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SACpD,MAAM,CACL,KAAK,EAAE,IAKN,EAAE,EAAE;QACH,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,uBAAS,GAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,gCAAgC,CAAC;gBACpE,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO;aACR,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,6BAAY,EAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -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"}