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.
- package/dist/index.js +500 -20
- package/package.json +27 -25
- package/template/apm.config.json +5 -0
- package/template/deploy/README.md +3 -0
- package/template/skills/apm-review/SKILL.md +38 -0
- package/template/skills/apm-review/apm-review-reference.md +89 -0
- package/template/workitems/README.md +19 -0
- package/README.md +0 -171
- package/dist/api/cli.d.ts +0 -228
- package/dist/api/cli.d.ts.map +0 -1
- package/dist/api/cli.js +0 -3
- package/dist/api/cli.js.map +0 -1
- package/dist/api/client.d.ts +0 -5
- package/dist/api/client.d.ts.map +0 -1
- package/dist/api/client.js +0 -30
- package/dist/api/client.js.map +0 -1
- package/dist/api/http.d.ts +0 -21
- package/dist/api/http.d.ts.map +0 -1
- package/dist/api/http.js +0 -108
- package/dist/api/http.js.map +0 -1
- package/dist/api/index.d.ts +0 -6
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -13
- package/dist/api/index.js.map +0 -1
- package/dist/api/request-config.d.ts +0 -25
- package/dist/api/request-config.d.ts.map +0 -1
- package/dist/api/request-config.js +0 -73
- package/dist/api/request-config.js.map +0 -1
- package/dist/api/requirement.d.ts +0 -1
- package/dist/api/requirement.d.ts.map +0 -1
- package/dist/api/requirement.js +0 -2
- package/dist/api/requirement.js.map +0 -1
- package/dist/apm-dotenv.d.ts +0 -8
- package/dist/apm-dotenv.d.ts.map +0 -1
- package/dist/apm-dotenv.js +0 -73
- package/dist/apm-dotenv.js.map +0 -1
- package/dist/cli/agent-stream-log.d.ts +0 -41
- package/dist/cli/agent-stream-log.d.ts.map +0 -1
- package/dist/cli/agent-stream-log.js +0 -364
- package/dist/cli/agent-stream-log.js.map +0 -1
- package/dist/cli/commands/auth.d.ts +0 -3
- package/dist/cli/commands/auth.d.ts.map +0 -1
- package/dist/cli/commands/auth.js +0 -51
- package/dist/cli/commands/auth.js.map +0 -1
- package/dist/cli/commands/chat.d.ts +0 -3
- package/dist/cli/commands/chat.d.ts.map +0 -1
- package/dist/cli/commands/chat.js +0 -32
- package/dist/cli/commands/chat.js.map +0 -1
- package/dist/cli/commands/comment.d.ts +0 -3
- package/dist/cli/commands/comment.d.ts.map +0 -1
- package/dist/cli/commands/comment.js +0 -66
- package/dist/cli/commands/comment.js.map +0 -1
- package/dist/cli/commands/config.d.ts +0 -3
- package/dist/cli/commands/config.d.ts.map +0 -1
- package/dist/cli/commands/config.js +0 -39
- package/dist/cli/commands/config.js.map +0 -1
- package/dist/cli/commands/deploy-backend.d.ts +0 -7
- package/dist/cli/commands/deploy-backend.d.ts.map +0 -1
- package/dist/cli/commands/deploy-backend.js +0 -77
- package/dist/cli/commands/deploy-backend.js.map +0 -1
- package/dist/cli/commands/deploy-frontend.d.ts +0 -3
- package/dist/cli/commands/deploy-frontend.d.ts.map +0 -1
- package/dist/cli/commands/deploy-frontend.js +0 -167
- package/dist/cli/commands/deploy-frontend.js.map +0 -1
- package/dist/cli/commands/get.d.ts +0 -3
- package/dist/cli/commands/get.d.ts.map +0 -1
- package/dist/cli/commands/get.js +0 -145
- package/dist/cli/commands/get.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -3
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -179
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/minio.d.ts +0 -3
- package/dist/cli/commands/minio.d.ts.map +0 -1
- package/dist/cli/commands/minio.js +0 -65
- package/dist/cli/commands/minio.js.map +0 -1
- package/dist/cli/commands/publish.d.ts +0 -3
- package/dist/cli/commands/publish.d.ts.map +0 -1
- package/dist/cli/commands/publish.js +0 -130
- package/dist/cli/commands/publish.js.map +0 -1
- package/dist/cli/commands/release.d.ts +0 -3
- package/dist/cli/commands/release.d.ts.map +0 -1
- package/dist/cli/commands/release.js +0 -37
- package/dist/cli/commands/release.js.map +0 -1
- package/dist/cli/commands/requirement.d.ts +0 -3
- package/dist/cli/commands/requirement.d.ts.map +0 -1
- package/dist/cli/commands/requirement.js +0 -169
- package/dist/cli/commands/requirement.js.map +0 -1
- package/dist/cli/commands/set.d.ts +0 -3
- package/dist/cli/commands/set.d.ts.map +0 -1
- package/dist/cli/commands/set.js +0 -103
- package/dist/cli/commands/set.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -3
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -42
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -3
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js +0 -36
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli/commands/ws.d.ts +0 -3
- package/dist/cli/commands/ws.d.ts.map +0 -1
- package/dist/cli/commands/ws.js +0 -25
- package/dist/cli/commands/ws.js.map +0 -1
- package/dist/cli/credentials.d.ts +0 -30
- package/dist/cli/credentials.d.ts.map +0 -1
- package/dist/cli/credentials.js +0 -52
- package/dist/cli/credentials.js.map +0 -1
- package/dist/cli/exit-api-error.d.ts +0 -2
- package/dist/cli/exit-api-error.d.ts.map +0 -1
- package/dist/cli/exit-api-error.js +0 -18
- package/dist/cli/exit-api-error.js.map +0 -1
- package/dist/cli/instruction-log-stream-sink.d.ts +0 -31
- package/dist/cli/instruction-log-stream-sink.d.ts.map +0 -1
- package/dist/cli/instruction-log-stream-sink.js +0 -59
- package/dist/cli/instruction-log-stream-sink.js.map +0 -1
- package/dist/cli/session.d.ts +0 -26
- package/dist/cli/session.d.ts.map +0 -1
- package/dist/cli/session.js +0 -41
- package/dist/cli/session.js.map +0 -1
- package/dist/cli/utils/parse.d.ts +0 -2
- package/dist/cli/utils/parse.d.ts.map +0 -1
- package/dist/cli/utils/parse.js +0 -12
- package/dist/cli/utils/parse.js.map +0 -1
- package/dist/cli/ws-run-command.d.ts +0 -13
- package/dist/cli/ws-run-command.d.ts.map +0 -1
- package/dist/cli/ws-run-command.js +0 -330
- package/dist/cli/ws-run-command.js.map +0 -1
- package/dist/cli-version.d.ts +0 -9
- package/dist/cli-version.d.ts.map +0 -1
- package/dist/cli-version.js +0 -61
- package/dist/cli-version.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -36
- package/dist/cli.js.map +0 -1
- package/dist/config-store.d.ts +0 -38
- package/dist/config-store.d.ts.map +0 -1
- package/dist/config-store.js +0 -131
- package/dist/config-store.js.map +0 -1
- package/dist/core/apm-config.d.ts +0 -81
- package/dist/core/apm-config.d.ts.map +0 -1
- package/dist/core/apm-config.js +0 -147
- package/dist/core/apm-config.js.map +0 -1
- package/dist/core/backend-deploy/backend-deploy-workflow.d.ts +0 -20
- package/dist/core/backend-deploy/backend-deploy-workflow.d.ts.map +0 -1
- package/dist/core/backend-deploy/backend-deploy-workflow.js +0 -86
- package/dist/core/backend-deploy/backend-deploy-workflow.js.map +0 -1
- package/dist/core/backend-deploy/command-runner.d.ts +0 -11
- package/dist/core/backend-deploy/command-runner.d.ts.map +0 -1
- package/dist/core/backend-deploy/command-runner.js +0 -47
- package/dist/core/backend-deploy/command-runner.js.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/client.d.ts +0 -18
- package/dist/core/backend-deploy/dockerode-client/client.d.ts.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/client.js +0 -114
- package/dist/core/backend-deploy/dockerode-client/client.js.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts +0 -6
- package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/connection-options.js +0 -62
- package/dist/core/backend-deploy/dockerode-client/connection-options.js.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts +0 -3
- package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js +0 -23
- package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/container-options.d.ts +0 -4
- package/dist/core/backend-deploy/dockerode-client/container-options.d.ts.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/container-options.js +0 -44
- package/dist/core/backend-deploy/dockerode-client/container-options.js.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/env.d.ts +0 -3
- package/dist/core/backend-deploy/dockerode-client/env.d.ts.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/env.js +0 -40
- package/dist/core/backend-deploy/dockerode-client/env.js.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/index.d.ts +0 -8
- package/dist/core/backend-deploy/dockerode-client/index.d.ts.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/index.js +0 -17
- package/dist/core/backend-deploy/dockerode-client/index.js.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/ports.d.ts +0 -9
- package/dist/core/backend-deploy/dockerode-client/ports.d.ts.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/ports.js +0 -35
- package/dist/core/backend-deploy/dockerode-client/ports.js.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/runtime.d.ts +0 -7
- package/dist/core/backend-deploy/dockerode-client/runtime.d.ts.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/runtime.js +0 -26
- package/dist/core/backend-deploy/dockerode-client/runtime.js.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/types.d.ts +0 -64
- package/dist/core/backend-deploy/dockerode-client/types.d.ts.map +0 -1
- package/dist/core/backend-deploy/dockerode-client/types.js +0 -3
- package/dist/core/backend-deploy/dockerode-client/types.js.map +0 -1
- package/dist/core/backend-deploy/image-tag.d.ts +0 -2
- package/dist/core/backend-deploy/image-tag.d.ts.map +0 -1
- package/dist/core/backend-deploy/image-tag.js +0 -15
- package/dist/core/backend-deploy/image-tag.js.map +0 -1
- package/dist/core/backend-deploy/index.d.ts +0 -3
- package/dist/core/backend-deploy/index.d.ts.map +0 -1
- package/dist/core/backend-deploy/index.js +0 -6
- package/dist/core/backend-deploy/index.js.map +0 -1
- package/dist/core/backend-deploy/local-docker-build.d.ts +0 -8
- package/dist/core/backend-deploy/local-docker-build.d.ts.map +0 -1
- package/dist/core/backend-deploy/local-docker-build.js +0 -25
- package/dist/core/backend-deploy/local-docker-build.js.map +0 -1
- package/dist/core/backend-deploy/logger.d.ts +0 -10
- package/dist/core/backend-deploy/logger.d.ts.map +0 -1
- package/dist/core/backend-deploy/logger.js +0 -22
- package/dist/core/backend-deploy/logger.js.map +0 -1
- package/dist/core/backend-deploy/registry-login-push.d.ts +0 -24
- package/dist/core/backend-deploy/registry-login-push.d.ts.map +0 -1
- package/dist/core/backend-deploy/registry-login-push.js +0 -37
- package/dist/core/backend-deploy/registry-login-push.js.map +0 -1
- package/dist/core/backend-deploy/remote-docker-client.d.ts +0 -11
- package/dist/core/backend-deploy/remote-docker-client.d.ts.map +0 -1
- package/dist/core/backend-deploy/remote-docker-client.js +0 -34
- package/dist/core/backend-deploy/remote-docker-client.js.map +0 -1
- package/dist/core/backend-deploy/remote-pull-image.d.ts +0 -9
- package/dist/core/backend-deploy/remote-pull-image.d.ts.map +0 -1
- package/dist/core/backend-deploy/remote-pull-image.js +0 -39
- package/dist/core/backend-deploy/remote-pull-image.js.map +0 -1
- package/dist/core/backend-deploy/resolve-dockerfile.d.ts +0 -7
- package/dist/core/backend-deploy/resolve-dockerfile.d.ts.map +0 -1
- package/dist/core/backend-deploy/resolve-dockerfile.js +0 -24
- package/dist/core/backend-deploy/resolve-dockerfile.js.map +0 -1
- package/dist/core/backend-deploy/run-docker-cli.d.ts +0 -9
- package/dist/core/backend-deploy/run-docker-cli.d.ts.map +0 -1
- package/dist/core/backend-deploy/run-docker-cli.js +0 -14
- package/dist/core/backend-deploy/run-docker-cli.js.map +0 -1
- package/dist/core/backend-deploy/types.d.ts +0 -23
- package/dist/core/backend-deploy/types.d.ts.map +0 -1
- package/dist/core/backend-deploy/types.js +0 -3
- package/dist/core/backend-deploy/types.js.map +0 -1
- package/dist/core/branch-name.d.ts +0 -8
- package/dist/core/branch-name.d.ts.map +0 -1
- package/dist/core/branch-name.js +0 -37
- package/dist/core/branch-name.js.map +0 -1
- package/dist/core/constants.d.ts +0 -4
- package/dist/core/constants.d.ts.map +0 -1
- package/dist/core/constants.js +0 -16
- package/dist/core/constants.js.map +0 -1
- package/dist/core/cursor-cmd.d.ts +0 -30
- package/dist/core/cursor-cmd.d.ts.map +0 -1
- package/dist/core/cursor-cmd.js +0 -193
- package/dist/core/cursor-cmd.js.map +0 -1
- package/dist/core/minio.d.ts +0 -37
- package/dist/core/minio.d.ts.map +0 -1
- package/dist/core/minio.js +0 -159
- package/dist/core/minio.js.map +0 -1
- package/dist/core/parse-testcase-md.d.ts +0 -17
- package/dist/core/parse-testcase-md.d.ts.map +0 -1
- package/dist/core/parse-testcase-md.js +0 -79
- package/dist/core/parse-testcase-md.js.map +0 -1
- package/dist/core/std-event-handler.d.ts +0 -25
- package/dist/core/std-event-handler.d.ts.map +0 -1
- package/dist/core/std-event-handler.js +0 -90
- package/dist/core/std-event-handler.js.map +0 -1
- package/dist/core/utils.d.ts +0 -19
- package/dist/core/utils.d.ts.map +0 -1
- package/dist/core/utils.js +0 -71
- package/dist/core/utils.js.map +0 -1
- package/dist/core/ws-client.d.ts +0 -29
- package/dist/core/ws-client.d.ts.map +0 -1
- package/dist/core/ws-client.js +0 -81
- package/dist/core/ws-client.js.map +0 -1
- package/dist/employee-ws-client.d.ts +0 -42
- package/dist/employee-ws-client.d.ts.map +0 -1
- package/dist/employee-ws-client.js +0 -99
- package/dist/employee-ws-client.js.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/templates/commands/apm-auto-dev.md +0 -6
- package/templates/commands/apm-fixbug.md +0 -6
- package/templates/commands/apm-prd-review.md +0 -6
- package/templates/commands/apm-prd-sync.md +0 -6
- package/templates/skills/apm-apply-change/SKILL.md +0 -191
- package/templates/skills/apm-auto-dev/SKILL.md +0 -170
- package/templates/skills/apm-fixbug/SKILL.md +0 -97
- package/templates/skills/apm-propose/SKILL.md +0 -123
- package/templates/skills/apm-propose/design-instruction.md +0 -94
- package/templates/skills/apm-propose/propose-instruction.md +0 -81
- package/templates/skills/apm-propose/specs-instruction.md +0 -114
- package/templates/skills/apm-propose/tasks-instruction.md +0 -90
- package/templates/skills/apm-release/SKILL.md +0 -87
- package/templates/skills/code-change-summary/SKILL.md +0 -84
- package/templates/skills/code-change-summary/summary-template.md +0 -55
- package/templates/skills/code-deploy/SKILL.md +0 -39
- package/templates/skills/prd-review/SKILL.md +0 -48
- package/templates/skills/prd-review/output-template.md +0 -47
- package/templates/skills/prd-sync/SKILL.md +0 -74
- package/templates/skills/prd-sync/updated-requirement-template.md +0 -39
- package/templates/skills/prd-testcase/SKILL.md +0 -82
- package/templates/skills/prd-testcase/reference.md +0 -44
- package/templates/skills/product-capability-inventory/SKILL.md +0 -131
- package/templates/skills/product-capability-inventory/template.md +0 -80
- package/templates/skills/product-capability-inventory//344/275/277/347/224/250/350/257/264/346/230/216/344/271/246.md +0 -36
- 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 +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 +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 +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 +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"}
|