helixlife-expert-cli 0.5.8 → 0.6.0
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/README.md +5 -5
- package/cli/dist/core/api/client.d.ts +1 -1
- package/cli/dist/core/api/client.d.ts.map +1 -1
- package/cli/dist/core/api/client.js +39 -35
- package/cli/dist/core/api/client.js.map +1 -1
- package/cli/dist/core/api/response.d.ts.map +1 -1
- package/cli/dist/core/api/response.js +12 -8
- package/cli/dist/core/api/response.js.map +1 -1
- package/cli/dist/core/env-config.d.ts +2 -2
- package/cli/dist/core/env-config.d.ts.map +1 -1
- package/cli/dist/core/env-config.js +44 -23
- package/cli/dist/core/env-config.js.map +1 -1
- package/cli/dist/core/index.d.ts +1 -1
- package/cli/dist/core/index.d.ts.map +1 -1
- package/cli/dist/core/index.js +1 -1
- package/cli/dist/core/index.js.map +1 -1
- package/cli/dist/core/token/index.js +1 -1
- package/cli/dist/core/token/index.js.map +1 -1
- package/cli/dist/core/types/config.d.ts.map +1 -1
- package/cli/dist/core/types/config.js +3 -2
- package/cli/dist/core/types/config.js.map +1 -1
- package/cli/dist/modules/analysis/api.d.ts.map +1 -1
- package/cli/dist/modules/analysis/api.js +12 -47
- package/cli/dist/modules/analysis/api.js.map +1 -1
- package/cli/dist/modules/analysis/files.d.ts.map +1 -1
- package/cli/dist/modules/analysis/files.js +2 -1
- package/cli/dist/modules/analysis/files.js.map +1 -1
- package/cli/dist/modules/analysis/throttle.d.ts +6 -0
- package/cli/dist/modules/analysis/throttle.d.ts.map +1 -0
- package/cli/dist/modules/analysis/throttle.js +39 -0
- package/cli/dist/modules/analysis/throttle.js.map +1 -0
- package/cli/dist/modules/meta/api.js +1 -1
- package/cli/dist/modules/meta/api.js.map +1 -1
- package/package.json +1 -1
- package/cli/dist/core/auth/index.d.ts +0 -35
- package/cli/dist/core/auth/index.d.ts.map +0 -1
- package/cli/dist/core/auth/index.js +0 -150
- package/cli/dist/core/auth/index.js.map +0 -1
- package/cli/dist/modules/auth/index.d.ts +0 -3
- package/cli/dist/modules/auth/index.d.ts.map +0 -1
- package/cli/dist/modules/auth/index.js +0 -76
- package/cli/dist/modules/auth/index.js.map +0 -1
- package/cli/dist/modules/proposal/artifacts.d.ts +0 -18
- package/cli/dist/modules/proposal/artifacts.d.ts.map +0 -1
- package/cli/dist/modules/proposal/artifacts.js +0 -43
- package/cli/dist/modules/proposal/artifacts.js.map +0 -1
- package/cli/dist/modules/proposal/commands/basic-create.d.ts +0 -22
- package/cli/dist/modules/proposal/commands/basic-create.d.ts.map +0 -1
- package/cli/dist/modules/proposal/commands/basic-create.js +0 -81
- package/cli/dist/modules/proposal/commands/basic-create.js.map +0 -1
- package/cli/dist/modules/proposal/commands/basic-result.d.ts +0 -24
- package/cli/dist/modules/proposal/commands/basic-result.d.ts.map +0 -1
- package/cli/dist/modules/proposal/commands/basic-result.js +0 -96
- package/cli/dist/modules/proposal/commands/basic-result.js.map +0 -1
- package/cli/dist/modules/proposal/newidea-env.d.ts +0 -28
- package/cli/dist/modules/proposal/newidea-env.d.ts.map +0 -1
- package/cli/dist/modules/proposal/newidea-env.js +0 -69
- package/cli/dist/modules/proposal/newidea-env.js.map +0 -1
- package/cli/dist/modules/proposal/newidea-runner.d.ts +0 -25
- package/cli/dist/modules/proposal/newidea-runner.d.ts.map +0 -1
- package/cli/dist/modules/proposal/newidea-runner.js +0 -158
- package/cli/dist/modules/proposal/newidea-runner.js.map +0 -1
- package/cli/dist/modules/proposal/parse.d.ts +0 -25
- package/cli/dist/modules/proposal/parse.d.ts.map +0 -1
- package/cli/dist/modules/proposal/parse.js +0 -173
- package/cli/dist/modules/proposal/parse.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/modules/analysis/api.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/modules/analysis/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/modules/analysis/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/modules/analysis/files.ts"],"names":[],"mappings":"AASA,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBjG;AAgBD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO7D;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrF"}
|
|
@@ -5,10 +5,11 @@ import { fetchWithTimeout } from "../../core/index.js";
|
|
|
5
5
|
import { ANALYSIS_BIO_TIMEOUT_MS } from "./constants.js";
|
|
6
6
|
import { AnalysisError } from "./errors.js";
|
|
7
7
|
import { resolveUserPath } from "../../core/paths.js";
|
|
8
|
+
import { withAnalysisNetworkThrottle } from "./throttle.js";
|
|
8
9
|
export async function downloadToPath(url, outputPath) {
|
|
9
10
|
let response;
|
|
10
11
|
try {
|
|
11
|
-
response = await fetchWithTimeout(url, { method: "GET" }, ANALYSIS_BIO_TIMEOUT_MS);
|
|
12
|
+
response = await withAnalysisNetworkThrottle(() => fetchWithTimeout(url, { method: "GET" }, ANALYSIS_BIO_TIMEOUT_MS));
|
|
12
13
|
}
|
|
13
14
|
catch {
|
|
14
15
|
throw new AnalysisError("下载失败,请检查网络后重试。");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/modules/analysis/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/modules/analysis/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const ANALYSIS_NETWORK_THROTTLE_MS = 1100;
|
|
2
|
+
export declare function resetAnalysisNetworkThrottle(): void;
|
|
3
|
+
export declare function waitForNetworkSlot(delayMs?: number): Promise<void>;
|
|
4
|
+
export declare function markNetworkComplete(delayMs?: number): void;
|
|
5
|
+
export declare function withAnalysisNetworkThrottle<T>(action: () => Promise<T>, delayMs?: number): Promise<T>;
|
|
6
|
+
//# sourceMappingURL=throttle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../../src/modules/analysis/throttle.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAIjD,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAED,wBAAsB,kBAAkB,CAAC,OAAO,SAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,SAA+B,GAAG,IAAI,CAKhF;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EACjD,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,OAAO,SAA+B,GACrC,OAAO,CAAC,CAAC,CAAC,CAOZ"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// 数据分析请求间隔,对齐 xt 0.1.41:同一进程内,上一次请求结束后再等 1100ms 才发下一次。
|
|
2
|
+
// 只包数据分析自己的 HTTP、OSS 上传和结果下载,不进入共用的 fetchWithTimeout。
|
|
3
|
+
export const ANALYSIS_NETWORK_THROTTLE_MS = 1100;
|
|
4
|
+
let nextSlotAt = 0;
|
|
5
|
+
export function resetAnalysisNetworkThrottle() {
|
|
6
|
+
nextSlotAt = 0;
|
|
7
|
+
}
|
|
8
|
+
export async function waitForNetworkSlot(delayMs = ANALYSIS_NETWORK_THROTTLE_MS) {
|
|
9
|
+
const delay = Math.max(0, delayMs);
|
|
10
|
+
if (delay === 0)
|
|
11
|
+
return;
|
|
12
|
+
const now = Date.now();
|
|
13
|
+
const start = Math.max(now, nextSlotAt);
|
|
14
|
+
nextSlotAt = start + delay;
|
|
15
|
+
const wait = start - now;
|
|
16
|
+
if (wait > 0) {
|
|
17
|
+
await new Promise((resolve) => {
|
|
18
|
+
setTimeout(resolve, wait);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export function markNetworkComplete(delayMs = ANALYSIS_NETWORK_THROTTLE_MS) {
|
|
23
|
+
const delay = Math.max(0, delayMs);
|
|
24
|
+
if (delay === 0)
|
|
25
|
+
return;
|
|
26
|
+
const end = Date.now() + delay;
|
|
27
|
+
if (end > nextSlotAt)
|
|
28
|
+
nextSlotAt = end;
|
|
29
|
+
}
|
|
30
|
+
export async function withAnalysisNetworkThrottle(action, delayMs = ANALYSIS_NETWORK_THROTTLE_MS) {
|
|
31
|
+
await waitForNetworkSlot(delayMs);
|
|
32
|
+
try {
|
|
33
|
+
return await action();
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
markNetworkComplete(delayMs);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=throttle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/modules/analysis/throttle.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,sDAAsD;AAEtD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB,MAAM,UAAU,4BAA4B;IAC1C,UAAU,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAO,GAAG,4BAA4B;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxC,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;IACzB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAO,GAAG,4BAA4B;IACxE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAC/B,IAAI,GAAG,GAAG,UAAU;QAAE,UAAU,GAAG,GAAG,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAwB,EACxB,OAAO,GAAG,4BAA4B;IAEtC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,EAAE,CAAC;IACxB,CAAC;YAAS,CAAC;QACT,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -18,7 +18,7 @@ function normalizeMetaResponse(response) {
|
|
|
18
18
|
// 校验 Meta 业务响应。真实响应可能已经由 ApiClient 从转发层 data 中归一化出来。
|
|
19
19
|
export function unwrapMetaResponse(response, action) {
|
|
20
20
|
if (response.code !== 2000) {
|
|
21
|
-
throw new helixlifeError(helixlifeErrorCode.REQUEST_FAILED, response.
|
|
21
|
+
throw new helixlifeError(helixlifeErrorCode.REQUEST_FAILED, response.message || response.msg || `${action}失败`);
|
|
22
22
|
}
|
|
23
23
|
if (response.data === undefined) {
|
|
24
24
|
throw new helixlifeError(helixlifeErrorCode.INVALID_RESPONSE, `${action}响应缺少 data 字段`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/modules/meta/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGpF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,8DAA8D;AAC9D,qEAAqE;AACrE,SAAS,qBAAqB,CAAC,QAAiB;IAC9C,IACE,QAAQ,CAAC,QAAQ,CAAC;QAClB,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS;QACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI;YACxB,MAAM,IAAI,QAAQ,CAAC,IAAI;YACvB,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,EACzB,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAChC,QAA4B,EAC5B,MAAc;IAEd,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,cAAc,EACjC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/modules/meta/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGpF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,8DAA8D;AAC9D,qEAAqE;AACrE,SAAS,qBAAqB,CAAC,QAAiB;IAC9C,IACE,QAAQ,CAAC,QAAQ,CAAC;QAClB,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS;QACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI;YACxB,MAAM,IAAI,QAAQ,CAAC,IAAI;YACvB,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,EACzB,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAChC,QAA4B,EAC5B,MAAc;IAEd,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,cAAc,EACjC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,IAAI,GAAG,MAAM,IAAI,CAClD,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,gBAAgB,EACnC,GAAG,MAAM,cAAc,CACxB,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,OAOC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAqB,IAAI,EAAE;QAC9D,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,iBAAiB,EAAE,qBAAqB;KACzC,CAAC,CAAC;IACH,OAAO,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export type TokenCheckStatus = "valid" | "unauthorized" | "error";
|
|
2
|
-
export interface TokenCheckResult {
|
|
3
|
-
status: TokenCheckStatus;
|
|
4
|
-
message: string;
|
|
5
|
-
code?: string | number;
|
|
6
|
-
}
|
|
7
|
-
export interface AuthorizeOptions {
|
|
8
|
-
openBrowser?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export interface AuthResult {
|
|
11
|
-
token: string;
|
|
12
|
-
linkUrl: string;
|
|
13
|
-
finalUrl: string;
|
|
14
|
-
browserOpened: boolean;
|
|
15
|
-
}
|
|
16
|
-
interface CheckTokenResponse {
|
|
17
|
-
success?: boolean;
|
|
18
|
-
code?: number | string;
|
|
19
|
-
msg?: string;
|
|
20
|
-
message?: string;
|
|
21
|
-
data?: {
|
|
22
|
-
success?: boolean;
|
|
23
|
-
code?: number | string;
|
|
24
|
-
msg?: string;
|
|
25
|
-
message?: string;
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
export declare function buildAuthLinkUrl(linkUrl: string): string;
|
|
29
|
-
export declare function openBrowser(url: string): boolean;
|
|
30
|
-
export declare function interpretCheckToken(httpStatus: number, payload: CheckTokenResponse): TokenCheckResult;
|
|
31
|
-
export declare function checkToken(token: string | undefined): Promise<TokenCheckResult>;
|
|
32
|
-
export declare function startAuthorization(options?: AuthorizeOptions): Promise<AuthResult>;
|
|
33
|
-
export declare function reauthorize(options?: AuthorizeOptions): Promise<AuthResult>;
|
|
34
|
-
export {};
|
|
35
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/auth/index.ts"],"names":[],"mappings":"AA8BA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,cAAc,GAAG,OAAO,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,gBAAgB;IAE/B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAGD,MAAM,WAAW,UAAU;IAEzB,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAEjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAcD,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAmBhD;AAgDD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,GAC1B,gBAAgB,CAqClB;AAID,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA6B3B;AAMD,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,CASrB;AAGD,wBAAsB,WAAW,CAC/B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,CAGrB"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { exec } from "node:child_process";
|
|
2
|
-
import { platform } from "node:os";
|
|
3
|
-
import { helixlifeError, helixlifeErrorCode } from "../errors.js";
|
|
4
|
-
import { getDefaultAuthBaseUrl } from "../types/config.js";
|
|
5
|
-
import { saveTokenFile, clearTokenFile } from "../token/index.js";
|
|
6
|
-
import { fetchWithTimeout } from "../api/http.js";
|
|
7
|
-
// 授权类请求超时(毫秒):授权/检测接口耗时短,无需业务级 60s,避免网络挂起时长时间无响应
|
|
8
|
-
const AUTH_REQUEST_TIMEOUT_MS = 30_000;
|
|
9
|
-
// 授权接口基址:由本地 config.json 的 agent_api 覆盖(运行时重读),缺省为生产默认。
|
|
10
|
-
// 去除结尾多余的 / 避免拼接双斜杠。
|
|
11
|
-
function getAuthBaseUrl() {
|
|
12
|
-
return getDefaultAuthBaseUrl().replace(/\/+$/, "");
|
|
13
|
-
}
|
|
14
|
-
// 检测授权接口路径:每次重算,确保 config set 后立即联动
|
|
15
|
-
function getAuthUrlEndpoint() {
|
|
16
|
-
return `${getAuthBaseUrl()}/api/v1/agent/skills/auth-url`;
|
|
17
|
-
}
|
|
18
|
-
// 检测授权接口路径:每次重算
|
|
19
|
-
function getCheckTokenEndpoint() {
|
|
20
|
-
return `${getAuthBaseUrl()}/api/v1/agent/skills/check-token`;
|
|
21
|
-
}
|
|
22
|
-
// 规范化授权链接(去除首尾空白)
|
|
23
|
-
export function buildAuthLinkUrl(linkUrl) {
|
|
24
|
-
return linkUrl.trim();
|
|
25
|
-
}
|
|
26
|
-
// 跨平台自动唤起浏览器打开授权链接,失败时返回 false 由调用方回退到提示复制
|
|
27
|
-
export function openBrowser(url) {
|
|
28
|
-
const os = platform();
|
|
29
|
-
let command;
|
|
30
|
-
if (os === "win32") {
|
|
31
|
-
command = `start "" "${url}"`;
|
|
32
|
-
}
|
|
33
|
-
else if (os === "darwin") {
|
|
34
|
-
command = `open "${url}"`;
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
command = `xdg-open "${url}"`;
|
|
38
|
-
}
|
|
39
|
-
try {
|
|
40
|
-
exec(command, () => {
|
|
41
|
-
// 唤起为异步执行,失败无法同步感知,此处保持静默;调用方以提示复制兜底
|
|
42
|
-
});
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
// 调用获取授权链接接口,返回 token_key 与 link_url
|
|
50
|
-
async function fetchAuthUrl() {
|
|
51
|
-
let response;
|
|
52
|
-
try {
|
|
53
|
-
response = await fetchWithTimeout(getAuthUrlEndpoint(), { method: "GET", headers: { Accept: "application/json" } }, AUTH_REQUEST_TIMEOUT_MS);
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
throw new helixlifeError(helixlifeErrorCode.NETWORK_ERROR, "获取授权链接失败,请检查网络后重试");
|
|
57
|
-
}
|
|
58
|
-
if (!response.ok) {
|
|
59
|
-
throw new helixlifeError(helixlifeErrorCode.REQUEST_FAILED, `获取授权链接失败 (${response.status}): ${response.statusText}`);
|
|
60
|
-
}
|
|
61
|
-
const payload = (await response.json().catch(() => ({})));
|
|
62
|
-
const data = payload.data ?? {};
|
|
63
|
-
if (!data.token_key || !data.link_url) {
|
|
64
|
-
const hint = payload.msg ?? payload.message ?? `错误码 ${payload.code ?? "未知"}`;
|
|
65
|
-
throw new helixlifeError(helixlifeErrorCode.INVALID_RESPONSE, `授权接口返回异常:${hint}`);
|
|
66
|
-
}
|
|
67
|
-
return { tokenKey: data.token_key, linkUrl: data.link_url };
|
|
68
|
-
}
|
|
69
|
-
// 检测授权接口对「未授权 / 待授权 / token 无效或不存在 / 已过期」统一返回该错误码
|
|
70
|
-
const CHECK_TOKEN_UNAUTHORIZED_CODE = "40004";
|
|
71
|
-
// 将检测授权接口响应归一化为三态结果
|
|
72
|
-
//
|
|
73
|
-
// 实测(dev agent.youlika.net)响应约定:
|
|
74
|
-
// - 已授权: { success: true, code: 200000000, message: "", data: null }
|
|
75
|
-
// - 未授权/待授权:{ success: false, code: 40004, message: "{#title}不存在" }(新建未确认、无效、不存在、过期均返回此码)
|
|
76
|
-
// - 其他错误: success:false 且 code 非 40004(权限不足、账号异常、限流等)—— 仅提示,不引导重新授权
|
|
77
|
-
export function interpretCheckToken(httpStatus, payload) {
|
|
78
|
-
const success = payload.success === true || payload.data?.success === true;
|
|
79
|
-
const rawMessage = payload.message ??
|
|
80
|
-
payload.msg ??
|
|
81
|
-
payload.data?.message ??
|
|
82
|
-
payload.data?.msg ??
|
|
83
|
-
"";
|
|
84
|
-
const code = payload.code ?? payload.data?.code;
|
|
85
|
-
// 后台部分文案是未渲染的 i18n 模板(如 "{#title}不存在"),对用户无意义,做兜底替换
|
|
86
|
-
const message = rawMessage.includes("{#") ? "" : rawMessage;
|
|
87
|
-
if (success) {
|
|
88
|
-
return { status: "valid", message: message || "已授权" };
|
|
89
|
-
}
|
|
90
|
-
// 未授权判定(需引导重新授权):以 HTTP 401 与后台未授权码 40004 为主判据
|
|
91
|
-
//(新建未确认 / 无效 / 不存在 / 过期均返回 40004);正则仅作后台文案漂移时的最后兜底。
|
|
92
|
-
const unauthorized = httpStatus === 401 ||
|
|
93
|
-
String(code ?? "") === CHECK_TOKEN_UNAUTHORIZED_CODE ||
|
|
94
|
-
/未授权|未登录|请登录/.test(rawMessage);
|
|
95
|
-
if (unauthorized) {
|
|
96
|
-
return {
|
|
97
|
-
status: "unauthorized",
|
|
98
|
-
message: message || "未授权或登录已过期",
|
|
99
|
-
code,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
return {
|
|
103
|
-
status: "error",
|
|
104
|
-
message: message || `检测授权失败(HTTP ${httpStatus},code ${code ?? "未知"})`,
|
|
105
|
-
code,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
// 检测授权:调用 check-token 接口校验 token 是否有效,返回三态结果。
|
|
109
|
-
// 注意:不抛异常(网络错误也归一化为 error 态),由调用方按状态决策。
|
|
110
|
-
export async function checkToken(token) {
|
|
111
|
-
const trimmed = token?.trim();
|
|
112
|
-
if (!trimmed) {
|
|
113
|
-
return { status: "unauthorized", message: "本地无有效 token" };
|
|
114
|
-
}
|
|
115
|
-
const url = `${getCheckTokenEndpoint()}?token_key=${encodeURIComponent(trimmed)}`;
|
|
116
|
-
let response;
|
|
117
|
-
try {
|
|
118
|
-
response = await fetchWithTimeout(url, { method: "GET", headers: { Accept: "application/json" } }, AUTH_REQUEST_TIMEOUT_MS);
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
return { status: "error", message: "检测授权失败,请检查网络后重试" };
|
|
122
|
-
}
|
|
123
|
-
const payload = (await response
|
|
124
|
-
.json()
|
|
125
|
-
.catch(() => ({})));
|
|
126
|
-
const result = interpretCheckToken(response.status, payload);
|
|
127
|
-
// 失效即清:判定为未授权时统一在此清除本地失效 token,命令层无需重复处理
|
|
128
|
-
if (result.status === "unauthorized") {
|
|
129
|
-
clearTokenFile();
|
|
130
|
-
}
|
|
131
|
-
return result;
|
|
132
|
-
}
|
|
133
|
-
// 获取授权链接流程:
|
|
134
|
-
// 1. 调用获取授权链接接口,拿到 token_key 与 link_url
|
|
135
|
-
// 2. 将 token_key 持久化写入本地 token 文件(此时尚未与账号绑定,需用户在网站确认)
|
|
136
|
-
// 3. 自动唤起浏览器,引导用户完成授权
|
|
137
|
-
export async function startAuthorization(options = {}) {
|
|
138
|
-
const { tokenKey, linkUrl } = await fetchAuthUrl();
|
|
139
|
-
saveTokenFile(tokenKey);
|
|
140
|
-
const finalUrl = buildAuthLinkUrl(linkUrl);
|
|
141
|
-
const shouldOpen = options.openBrowser !== false;
|
|
142
|
-
const browserOpened = shouldOpen ? openBrowser(finalUrl) : false;
|
|
143
|
-
return { token: tokenKey, linkUrl, finalUrl, browserOpened };
|
|
144
|
-
}
|
|
145
|
-
// 重新授权:先清空本地失效 token,再执行获取授权链接流程
|
|
146
|
-
export async function reauthorize(options = {}) {
|
|
147
|
-
clearTokenFile();
|
|
148
|
-
return startAuthorization(options);
|
|
149
|
-
}
|
|
150
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/auth/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiF3D"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { checkToken, reauthorize, loadTokenFromFile, clearTokenFile, emitJson, } from "../../core/index.js";
|
|
2
|
-
// 注册授权与鉴权命名空间:helixlife-expert auth status / login / logout
|
|
3
|
-
export function registerAuthCommands(program) {
|
|
4
|
-
const auth = program.command("auth").description("授权与鉴权管理");
|
|
5
|
-
auth
|
|
6
|
-
.command("status")
|
|
7
|
-
.description("检测本地 token 的授权状态(调用检测授权接口 check-token)")
|
|
8
|
-
.action(async () => {
|
|
9
|
-
const token = loadTokenFromFile();
|
|
10
|
-
if (!token) {
|
|
11
|
-
emitJson({
|
|
12
|
-
authorized: false,
|
|
13
|
-
status: "no_token",
|
|
14
|
-
message: "本地无 token,请运行 `helixlife-expert auth login` 获取授权链接并完成授权",
|
|
15
|
-
});
|
|
16
|
-
process.exitCode = 2;
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
// 未授权时 checkToken 内部已统一清除本地失效 token,命令层无需重复处理
|
|
20
|
-
const result = await checkToken(token);
|
|
21
|
-
if (result.status === "valid") {
|
|
22
|
-
emitJson({
|
|
23
|
-
authorized: true,
|
|
24
|
-
status: "valid",
|
|
25
|
-
message: result.message,
|
|
26
|
-
});
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
if (result.status === "unauthorized") {
|
|
30
|
-
emitJson({
|
|
31
|
-
authorized: false,
|
|
32
|
-
status: "unauthorized",
|
|
33
|
-
code: result.code,
|
|
34
|
-
message: `${result.message},请运行 \`helixlife-expert auth login\` 重新授权`,
|
|
35
|
-
});
|
|
36
|
-
process.exitCode = 2;
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
// error:其他错误(网络 / 权限 / 账号异常等)仅提示,不引导重新授权
|
|
40
|
-
emitJson({
|
|
41
|
-
authorized: false,
|
|
42
|
-
status: "error",
|
|
43
|
-
code: result.code,
|
|
44
|
-
message: result.message,
|
|
45
|
-
});
|
|
46
|
-
process.exitCode = 3;
|
|
47
|
-
});
|
|
48
|
-
auth
|
|
49
|
-
.command("login")
|
|
50
|
-
.description("获取授权链接并自动打开浏览器,引导用户完成授权")
|
|
51
|
-
.option("--no-open", "不自动打开浏览器,仅输出授权链接")
|
|
52
|
-
.action(async (opts) => {
|
|
53
|
-
// 始终重新授权:先清除本地失效 token,再获取授权链接,
|
|
54
|
-
// 避免未绑定的新 token 覆盖有效旧 token 造成「假登录」
|
|
55
|
-
const result = await reauthorize({
|
|
56
|
-
openBrowser: opts.open,
|
|
57
|
-
});
|
|
58
|
-
emitJson({
|
|
59
|
-
action: "authorize",
|
|
60
|
-
token_saved: true,
|
|
61
|
-
auth_url: result.finalUrl,
|
|
62
|
-
browser_opened: result.browserOpened,
|
|
63
|
-
message: result.browserOpened
|
|
64
|
-
? "已打开浏览器,请完成授权;完成后运行 `helixlife-expert auth status` 确认授权是否成功。"
|
|
65
|
-
: "请手动复制 auth_url 到浏览器完成授权;完成后运行 `helixlife-expert auth status` 确认授权是否成功。",
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
auth
|
|
69
|
-
.command("logout")
|
|
70
|
-
.description("清除本地 token")
|
|
71
|
-
.action(() => {
|
|
72
|
-
clearTokenFile();
|
|
73
|
-
emitJson({ action: "logout", message: "已清除本地 token" });
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,QAAQ,GAET,MAAM,qBAAqB,CAAC;AAE7B,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAE5D,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,QAAQ,CAAC;gBACP,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,UAAU;gBAClB,OAAO,EACL,yDAAyD;aAC5D,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,QAAQ,CAAC;gBACP,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACrC,QAAQ,CAAC;gBACP,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,2CAA2C;aACtE,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,QAAQ,CAAC;YACP,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,gCAAgC;QAChC,oCAAoC;QACpC,MAAM,MAAM,GAAe,MAAM,WAAW,CAAC;YAC3C,WAAW,EAAE,IAAI,CAAC,IAAI;SACvB,CAAC,CAAC;QAEH,QAAQ,CAAC;YACP,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,MAAM,CAAC,aAAa;YACpC,OAAO,EAAE,MAAM,CAAC,aAAa;gBAC3B,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,wEAAwE;SAC7E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,YAAY,CAAC;SACzB,MAAM,CAAC,GAAG,EAAE;QACX,cAAc,EAAE,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface ArtifactDownloadResult {
|
|
2
|
-
zipPath: string;
|
|
3
|
-
bytes: number;
|
|
4
|
-
}
|
|
5
|
-
/** 默认落盘目录:<Downloads>/helixlife-proposal-basic */
|
|
6
|
-
export declare function defaultArtifactDir(): string;
|
|
7
|
-
/** 产物文件名:<课题条件片段>-<runRecordId 前 8 位>.zip */
|
|
8
|
-
export declare function buildArtifactFileName(topic: string | undefined, runRecordId: string): string;
|
|
9
|
-
export interface DownloadArtifactOptions {
|
|
10
|
-
url: string;
|
|
11
|
-
runRecordId: string;
|
|
12
|
-
topic?: string;
|
|
13
|
-
/** 落盘目录;未传则用默认目录 */
|
|
14
|
-
outputDir?: string;
|
|
15
|
-
}
|
|
16
|
-
/** 下载 ZIP 到本地(不解压) */
|
|
17
|
-
export declare function downloadProposalArtifact(options: DownloadArtifactOptions): Promise<ArtifactDownloadResult>;
|
|
18
|
-
//# sourceMappingURL=artifacts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/modules/proposal/artifacts.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,6CAA6C;AAC7C,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,EAAE,MAAM,GAClB,MAAM,CAIR;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sBAAsB;AACtB,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAiCjC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 课题方案产物处理:默认只把 newidea 返回的 ZIP 直链交给上层,
|
|
3
|
-
* 仅在用户显式要求(--download)时才落盘,且不解压。
|
|
4
|
-
*/
|
|
5
|
-
import { mkdir, writeFile } from "node:fs/promises";
|
|
6
|
-
import { join } from "node:path";
|
|
7
|
-
import { getUserDownloadsDir, helixlifeError, helixlifeErrorCode, resolveUserPath, sanitizeFilename, } from "../../core/index.js";
|
|
8
|
-
import { PROPOSAL_ARTIFACT_DIR_NAME } from "./constants.js";
|
|
9
|
-
const DOWNLOAD_TIMEOUT_MS = 180_000;
|
|
10
|
-
/** 默认落盘目录:<Downloads>/helixlife-proposal-basic */
|
|
11
|
-
export function defaultArtifactDir() {
|
|
12
|
-
return join(getUserDownloadsDir(), PROPOSAL_ARTIFACT_DIR_NAME);
|
|
13
|
-
}
|
|
14
|
-
/** 产物文件名:<课题条件片段>-<runRecordId 前 8 位>.zip */
|
|
15
|
-
export function buildArtifactFileName(topic, runRecordId) {
|
|
16
|
-
const suffix = runRecordId.replace(/[^A-Za-z0-9-]/g, "").slice(0, 8) || "task";
|
|
17
|
-
const stem = sanitizeFilename(topic?.trim() || "课题方案", { maxLength: 40 });
|
|
18
|
-
return `${stem}-${suffix}.zip`;
|
|
19
|
-
}
|
|
20
|
-
/** 下载 ZIP 到本地(不解压) */
|
|
21
|
-
export async function downloadProposalArtifact(options) {
|
|
22
|
-
let response;
|
|
23
|
-
try {
|
|
24
|
-
response = await fetch(options.url, {
|
|
25
|
-
signal: AbortSignal.timeout(DOWNLOAD_TIMEOUT_MS),
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
throw new helixlifeError(helixlifeErrorCode.NETWORK_ERROR, `下载课题方案产物失败:${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
30
|
-
}
|
|
31
|
-
if (!response.ok) {
|
|
32
|
-
throw new helixlifeError(helixlifeErrorCode.REQUEST_FAILED, `下载课题方案产物失败:HTTP ${response.status}`);
|
|
33
|
-
}
|
|
34
|
-
const outputDir = options.outputDir
|
|
35
|
-
? resolveUserPath(options.outputDir)
|
|
36
|
-
: defaultArtifactDir();
|
|
37
|
-
await mkdir(outputDir, { recursive: true });
|
|
38
|
-
const zipPath = join(outputDir, buildArtifactFileName(options.topic, options.runRecordId));
|
|
39
|
-
const buffer = Buffer.from(await response.arrayBuffer());
|
|
40
|
-
await writeFile(zipPath, buffer);
|
|
41
|
-
return { zipPath, bytes: buffer.byteLength };
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=artifacts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/modules/proposal/artifacts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAOpC,kDAAkD;AAClD,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC,mBAAmB,EAAE,EAAE,0BAA0B,CAAC,CAAC;AACjE,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,qBAAqB,CACnC,KAAyB,EACzB,WAAmB;IAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC;IAC/E,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,GAAG,IAAI,IAAI,MAAM,MAAM,CAAC;AACjC,CAAC;AAUD,sBAAsB;AACtB,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAgC;IAEhC,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;YAClC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,aAAa,EAChC,cAAc,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACtE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,cAAc,EACjC,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CACrC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS;QACjC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;QACpC,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACzB,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,IAAI,CAClB,SAAS,EACT,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAC1D,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEjC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type OutputFormat } from "../../../core/index.js";
|
|
2
|
-
export interface CreateProposalBasicOptions {
|
|
3
|
-
input?: string;
|
|
4
|
-
inputFile?: string;
|
|
5
|
-
/** 发起后继续在本条命令内轮询,直到完成或封顶 */
|
|
6
|
-
wait?: boolean;
|
|
7
|
-
maxWaitMs?: number;
|
|
8
|
-
/** 传入目录则把成功产物 ZIP 额外存到本地(不解压) */
|
|
9
|
-
download?: string;
|
|
10
|
-
format?: OutputFormat;
|
|
11
|
-
}
|
|
12
|
-
export interface ProposalBasicCreateResult {
|
|
13
|
-
status: "running";
|
|
14
|
-
topic: string;
|
|
15
|
-
note: string;
|
|
16
|
-
}
|
|
17
|
-
/** 课题条件文本:--input 与 --input-file 二选一 */
|
|
18
|
-
export declare function resolveProposalInput(options: CreateProposalBasicOptions): Promise<string>;
|
|
19
|
-
/** 发起任务并解析任务标识;start 输出不含标识时回落最近一条记录 */
|
|
20
|
-
export declare function startProposalBasicTask(topic: string): Promise<string>;
|
|
21
|
-
export declare function runCreateProposalBasic(options?: CreateProposalBasicOptions): Promise<void>;
|
|
22
|
-
//# sourceMappingURL=basic-create.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"basic-create.d.ts","sourceRoot":"","sources":["../../../../src/modules/proposal/commands/basic-create.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAShC,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wCAAwC;AACxC,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED,wCAAwC;AACxC,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB3E;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,IAAI,CAAC,CAkCf"}
|