@bf-meishijian/aip 0.0.18 → 0.0.22
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/bash-discovery.d.ts +8 -0
- package/dist/bash-discovery.d.ts.map +1 -0
- package/dist/bash-discovery.js +66 -0
- package/dist/bash-discovery.js.map +1 -0
- package/dist/cli.js +22 -0
- package/dist/cli.js.map +1 -1
- package/dist/coding-run-manager.d.ts +1 -1
- package/dist/coding-run-manager.d.ts.map +1 -1
- package/dist/coding-run-manager.js +13 -19
- package/dist/coding-run-manager.js.map +1 -1
- package/dist/daemon.d.ts +2 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +29 -59
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-tools.d.ts.map +1 -1
- package/dist/delivery-tools.js +1 -0
- package/dist/delivery-tools.js.map +1 -1
- package/dist/diagnostic-log.d.ts.map +1 -1
- package/dist/diagnostic-log.js +2 -0
- package/dist/diagnostic-log.js.map +1 -1
- package/dist/diagnostics.d.ts +10 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +4 -2
- package/dist/diagnostics.js.map +1 -1
- package/dist/host-log.d.ts +8 -0
- package/dist/host-log.d.ts.map +1 -1
- package/dist/host-log.js +35 -0
- package/dist/host-log.js.map +1 -1
- package/dist/host-status.d.ts +53 -0
- package/dist/host-status.d.ts.map +1 -0
- package/dist/host-status.js +104 -0
- package/dist/host-status.js.map +1 -0
- package/dist/host-tools.d.ts +2 -1
- package/dist/host-tools.d.ts.map +1 -1
- package/dist/host-tools.js +54 -20
- package/dist/host-tools.js.map +1 -1
- package/dist/live-employee.d.ts.map +1 -1
- package/dist/live-employee.js +21 -16
- package/dist/live-employee.js.map +1 -1
- package/dist/merge-requests.d.ts +1 -0
- package/dist/merge-requests.d.ts.map +1 -1
- package/dist/merge-requests.js +19 -6
- package/dist/merge-requests.js.map +1 -1
- package/dist/pi-model-service.d.ts.map +1 -1
- package/dist/platform-client.d.ts +8 -2
- package/dist/platform-client.d.ts.map +1 -1
- package/dist/platform-client.js +15 -3
- package/dist/platform-client.js.map +1 -1
- package/dist/qa-project-checkout.d.ts +1 -1
- package/dist/qa-project-checkout.d.ts.map +1 -1
- package/dist/qa-session-manager.d.ts +2 -1
- package/dist/qa-session-manager.d.ts.map +1 -1
- package/dist/qa-session-manager.js +115 -15
- package/dist/qa-session-manager.js.map +1 -1
- package/dist/stage-delivery.js +2 -2
- package/dist/state.d.ts +2 -2
- package/dist/state.js +2 -2
- package/dist/test-executor.d.ts +1 -1
- package/dist/test-executor.d.ts.map +1 -1
- package/dist/test-run-manager.js +5 -5
- package/dist/test-run-manager.js.map +1 -1
- package/dist/tool-probe.d.ts +31 -0
- package/dist/tool-probe.d.ts.map +1 -0
- package/dist/tool-probe.js +95 -0
- package/dist/tool-probe.js.map +1 -0
- package/dist/windows-service.d.ts +1 -0
- package/dist/windows-service.d.ts.map +1 -1
- package/dist/windows-service.js +19 -0
- package/dist/windows-service.js.map +1 -1
- package/package.json +23 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-log.d.ts","sourceRoot":"","sources":["../src/diagnostic-log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAGjF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,aAAa,GAAG,iBAAiB,GAAG,YAAY,CAAC;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uCAAuC;AACvC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO;;;;;;;
|
|
1
|
+
{"version":3,"file":"diagnostic-log.d.ts","sourceRoot":"","sources":["../src/diagnostic-log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAGjF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,aAAa,GAAG,iBAAiB,GAAG,YAAY,CAAC;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uCAAuC;AACvC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO;;;;;;;EAwCnD;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,8BAA8B,EACrC,OAAO,EAAE,oBAAoB,QAS9B;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,8BAA8B,EAAE,EACxC,OAAO,EAAE,oBAAoB,QAS9B"}
|
package/dist/diagnostic-log.js
CHANGED
|
@@ -4,6 +4,8 @@ export function diagnosticErrorFields(error) {
|
|
|
4
4
|
// Pi 1.0.0 的搜索工具会把退出码变成 Error.message,而不是 error.code。
|
|
5
5
|
// 仅提取已核对的固定格式和数字,不把原始 stderr 带入日志。
|
|
6
6
|
const message = error instanceof Error ? error.message : "";
|
|
7
|
+
if (/^Command timed out after \d+(?:\.\d+)? seconds$/mu.test(message))
|
|
8
|
+
return { reason: "TIMEOUT" };
|
|
7
9
|
const exitMatch = /^(?:ripgrep|fd) exited with code (-?\d{1,10})$/u.exec(message);
|
|
8
10
|
if (exitMatch)
|
|
9
11
|
return { reason: "NON_ZERO_EXIT", exitCode: Number(exitMatch[1]) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-log.js","sourceRoot":"","sources":["../src/diagnostic-log.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnostic-log.js","sourceRoot":"","sources":["../src/diagnostic-log.ts"],"names":[],"mappings":"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"}
|
package/dist/diagnostics.d.ts
CHANGED
|
@@ -10,9 +10,19 @@ export declare function runDiagnostics(options: {
|
|
|
10
10
|
runtimeVerification?: "full" | "installed-package";
|
|
11
11
|
shell?: HostShell | undefined;
|
|
12
12
|
logContext?: DiagnosticLogContext;
|
|
13
|
+
toolChecks?: LocalCodingHostDiagnosticCheck[];
|
|
13
14
|
}, dependencies?: {
|
|
14
15
|
captureCommand?: typeof captureCommand;
|
|
15
16
|
}): Promise<{
|
|
17
|
+
stage?: "LOOKUP" | "STARTUP" | "EXECUTION";
|
|
18
|
+
timings?: {
|
|
19
|
+
lookupMs?: number;
|
|
20
|
+
startupMs?: number;
|
|
21
|
+
executionMs?: number;
|
|
22
|
+
totalMs?: number;
|
|
23
|
+
};
|
|
24
|
+
lastSucceededAt?: string | null;
|
|
25
|
+
bashPaths?: string[];
|
|
16
26
|
id: "RUNTIME_INTEGRITY" | "BACKGROUND_SERVICE" | "DEVICE_CREDENTIAL" | "PROVIDER_AUTH" | "PLATFORM_CONNECTIVITY" | "HOST_GENERATION" | "WORKSPACE_ROOT" | "DEFAULT_MODEL" | "SHELL" | "CONTENT_SEARCH" | "FILE_SEARCH";
|
|
17
27
|
status: "PASS" | "ACTION_REQUIRED" | "FAIL";
|
|
18
28
|
code: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EACL,KAAK,oBAAoB,EAG1B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EACL,KAAK,oBAAoB,EAG1B,MAAM,qBAAqB,CAAC;AAc7B,wBAAsB,cAAc,CAClC,OAAO,EAAE;IACP,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACnD,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,UAAU,CAAC,EAAE,8BAA8B,EAAE,CAAC;CAC/C,EACD,YAAY,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,cAAc,CAAA;CAAO;;;gBA2NirhQ,CAAC;iBAAmC,CAAC;mBAAqC,CAAC;eAAiC,CAAC;;;;;;;;KA5K51hQ;AAoID,iBAAS,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;UAC1B,MAAM;YAAU,MAAM;GAUlD;AACD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAmB1F"}
|
package/dist/diagnostics.js
CHANGED
|
@@ -10,6 +10,7 @@ import { linuxServiceDefinition } from "./linux-service.js";
|
|
|
10
10
|
import { activeProfile, aipCommand, paths, windowsTaskName } from "./paths.js";
|
|
11
11
|
import { runtimeArchitecture } from "./platform.js";
|
|
12
12
|
import { isSecureFile, readJson } from "./secure-json.js";
|
|
13
|
+
import { windowsTaskConfigurationMatches } from "./windows-service.js";
|
|
13
14
|
export async function runDiagnostics(options, dependencies = {}) {
|
|
14
15
|
const local = paths();
|
|
15
16
|
const checks = [];
|
|
@@ -46,7 +47,8 @@ export async function runDiagnostics(options, dependencies = {}) {
|
|
|
46
47
|
code: options.defaultModelValid ? "DEFAULT_MODEL_OK" : "DEFAULT_MODEL_INVALID",
|
|
47
48
|
nextAction: "在平台重新选择默认模型",
|
|
48
49
|
});
|
|
49
|
-
const toolChecks =
|
|
50
|
+
const toolChecks = options.toolChecks ??
|
|
51
|
+
(await checkHostTools(options.shell ?? resolveHostShell(process.platform, process.env), {}, context));
|
|
50
52
|
for (const check of toolChecks)
|
|
51
53
|
record(check);
|
|
52
54
|
logDiagnosticSummary(checks, context);
|
|
@@ -151,7 +153,7 @@ async function backgroundCheck(runCommand) {
|
|
|
151
153
|
const expected = windowsTaskDefinition(local.runtimeCurrent, local.base);
|
|
152
154
|
const configured = await readJson(join(local.root, "state", "windows-task.json"));
|
|
153
155
|
const loaded = (await runCommand("schtasks.exe", ["/Query", "/TN", windowsTaskName()])).code === 0;
|
|
154
|
-
configuredAndLoaded =
|
|
156
|
+
configuredAndLoaded = windowsTaskConfigurationMatches(configured, expected) && loaded;
|
|
155
157
|
}
|
|
156
158
|
else if (process.platform === "linux") {
|
|
157
159
|
const expected = linuxServiceDefinition(local.runtimeCurrent, local.base);
|
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAkB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAEL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,qBAAqB,EAErB,cAAc,EACd,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/dist/host-log.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
/** 仅记录标识与经过脱敏的错误,不记录命令正文、凭证或环境变量。 */
|
|
2
2
|
export declare function logHostEvent(event: string, fields?: Record<string, unknown>): void;
|
|
3
|
+
export declare function redactHostText(value: string, roots?: string[]): string;
|
|
4
|
+
/** 仓库准备失败只记录诊断字段,不打印完整命令或环境变量。 */
|
|
5
|
+
export declare function logGitPreparationFailure(error: unknown, context: {
|
|
6
|
+
projectId: string;
|
|
7
|
+
projectName: string;
|
|
8
|
+
branch: string;
|
|
9
|
+
target: string;
|
|
10
|
+
}): void;
|
|
3
11
|
//# sourceMappingURL=host-log.d.ts.map
|
package/dist/host-log.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-log.d.ts","sourceRoot":"","sources":["../src/host-log.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,QAE/E"}
|
|
1
|
+
{"version":3,"file":"host-log.d.ts","sourceRoot":"","sources":["../src/host-log.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,QAE/E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,EAAO,UA0BjE;AAED,kCAAkC;AAClC,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,QAuBpF"}
|
package/dist/host-log.js
CHANGED
|
@@ -2,4 +2,39 @@
|
|
|
2
2
|
export function logHostEvent(event, fields = {}) {
|
|
3
3
|
process.stderr.write(`${JSON.stringify({ at: new Date().toISOString(), event, ...fields })}\n`);
|
|
4
4
|
}
|
|
5
|
+
export function redactHostText(value, roots = []) {
|
|
6
|
+
let redacted = value;
|
|
7
|
+
for (const root of [...roots].filter(Boolean).sort((a, b) => b.length - a.length))
|
|
8
|
+
redacted = redacted.split(root).join("[本地路径]");
|
|
9
|
+
redacted = redacted
|
|
10
|
+
.replace(/data:image\/[^;,\s]+;base64,[A-Za-z0-9+/=]+/giu, "[图片内容已脱敏]")
|
|
11
|
+
.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]+/giu, "Bearer [已脱敏]")
|
|
12
|
+
.replace(/\b(?:sk-[A-Za-z0-9_-]{12,}|ghp_[A-Za-z0-9_]{12,}|github_pat_[A-Za-z0-9_]{12,}|xox[baprs]-[A-Za-z0-9-]{12,})\b/gu, "[凭证已脱敏]")
|
|
13
|
+
.replace(/\b([A-Z0-9_]*(?:TOKEN|PASSWORD|SECRET|API_KEY|AUTH)[A-Z0-9_]*)=([^\s]+)/giu, "$1=[已脱敏]")
|
|
14
|
+
.replace(/(["']?(?:access_token|refresh_token|id_token|api_key|password|secret|token)["']?\s*:\s*["']?)[^"'\s,}]+/giu, "$1[已脱敏]")
|
|
15
|
+
.replace(/-----BEGIN [^-]+ PRIVATE KEY-----[\s\S]*?-----END [^-]+ PRIVATE KEY-----/gu, "[私钥已脱敏]")
|
|
16
|
+
.replace(/(?:\/(?:Users|home|private\/var|var\/folders|tmp)\/[^\s'"`<>]*)/gu, "[本地路径]")
|
|
17
|
+
.replace(/\b[A-Za-z]:\\(?:[^\s'"`<>]+\\?)+/gu, "[本地路径]");
|
|
18
|
+
return redacted.slice(0, 100_000);
|
|
19
|
+
}
|
|
20
|
+
/** 仓库准备失败只记录诊断字段,不打印完整命令或环境变量。 */
|
|
21
|
+
export function logGitPreparationFailure(error, context) {
|
|
22
|
+
const failure = error;
|
|
23
|
+
// Git 错误可能回显带凭证的 URL;先移除整个 URL,再应用通用脱敏。
|
|
24
|
+
const sanitize = (value) => redactHostText(value.replace(/\b[a-z][a-z0-9+.-]*:\/\/[^\s'"<>]+/giu, "[仓库地址已脱敏]"));
|
|
25
|
+
const stderr = sanitize(typeof failure?.stderr === "string" ? failure.stderr : "");
|
|
26
|
+
logHostEvent("git_repository_prepare_failed", {
|
|
27
|
+
operation: "clone",
|
|
28
|
+
projectId: context.projectId,
|
|
29
|
+
projectName: sanitize(context.projectName),
|
|
30
|
+
branch: sanitize(context.branch),
|
|
31
|
+
target: sanitize(context.target.replace(/^(?:[A-Za-z]:[\\/]Users[\\/]|\/(?:Users|home)\/)[^\\/]+/iu, "~")),
|
|
32
|
+
targetPathLength: context.target.length,
|
|
33
|
+
code: typeof failure?.code === "number" || typeof failure?.code === "string"
|
|
34
|
+
? failure.code
|
|
35
|
+
: "UNKNOWN",
|
|
36
|
+
stderr: stderr.slice(0, 8000),
|
|
37
|
+
stderrTruncated: stderr.length > 8000,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
5
40
|
//# sourceMappingURL=host-log.js.map
|
package/dist/host-log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-log.js","sourceRoot":"","sources":["../src/host-log.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,SAAkC,EAAE;IAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;AAClG,CAAC"}
|
|
1
|
+
{"version":3,"file":"host-log.js","sourceRoot":"","sources":["../src/host-log.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,SAAkC,EAAE;IAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,QAAkB,EAAE;IAChE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAC/E,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,QAAQ,GAAG,QAAQ;SAChB,OAAO,CAAC,gDAAgD,EAAE,WAAW,CAAC;SACtE,OAAO,CAAC,mCAAmC,EAAE,cAAc,CAAC;SAC5D,OAAO,CACN,iHAAiH,EACjH,SAAS,CACV;SACA,OAAO,CACN,4EAA4E,EAC5E,UAAU,CACX;SACA,OAAO,CACN,4GAA4G,EAC5G,SAAS,CACV;SACA,OAAO,CACN,4EAA4E,EAC5E,SAAS,CACV;SACA,OAAO,CAAC,mEAAmE,EAAE,QAAQ,CAAC;SACtF,OAAO,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,wBAAwB,CACtC,KAAc,EACd,OAAmF;IAEnF,MAAM,OAAO,GAAG,KAAoD,CAAC;IACrE,wCAAwC;IACxC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE,CACjC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,uCAAuC,EAAE,WAAW,CAAC,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,YAAY,CAAC,+BAA+B,EAAE;QAC5C,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;QAC1C,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;QAChC,MAAM,EAAE,QAAQ,CACd,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,2DAA2D,EAAE,GAAG,CAAC,CACzF;QACD,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;QACvC,IAAI,EACF,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ;YACpE,CAAC,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,SAAS;QACf,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI;KACtC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { LocalCodingHostDiagnosticCheck } from "@ai-platform/api-contracts";
|
|
2
|
+
import type { createPiModelService } from "./pi-model-service.js";
|
|
3
|
+
import type { PlatformClient } from "./platform-client.js";
|
|
4
|
+
import { type HostState } from "./state.js";
|
|
5
|
+
export declare const TOOL_CHECK_INTERVAL_MS: number;
|
|
6
|
+
type Pi = ReturnType<typeof createPiModelService>;
|
|
7
|
+
type Verification = Awaited<ReturnType<PlatformClient["verify"]>>;
|
|
8
|
+
type Report = {
|
|
9
|
+
local: Awaited<ReturnType<typeof collectLocalStatus>>;
|
|
10
|
+
verification: Verification | undefined;
|
|
11
|
+
toolChecks: LocalCodingHostDiagnosticCheck[] | undefined;
|
|
12
|
+
};
|
|
13
|
+
/** One reporter per daemon identity; status and diagnostics share its execution. */
|
|
14
|
+
export declare class HostStatusReporter {
|
|
15
|
+
private readonly client;
|
|
16
|
+
private readonly pi;
|
|
17
|
+
private readonly host;
|
|
18
|
+
private readonly bootId?;
|
|
19
|
+
private inFlight;
|
|
20
|
+
private checkingTools;
|
|
21
|
+
private lastStatusAt?;
|
|
22
|
+
private lastToolCheckAt?;
|
|
23
|
+
private toolRevision;
|
|
24
|
+
constructor(client: PlatformClient, pi: Pi, host: HostState, bootId?: string | undefined);
|
|
25
|
+
get pending(): boolean;
|
|
26
|
+
statusDue(): boolean;
|
|
27
|
+
toolsDue(revision?: number): boolean;
|
|
28
|
+
report(checkTools?: boolean): Promise<Report>;
|
|
29
|
+
private performReport;
|
|
30
|
+
}
|
|
31
|
+
export declare function collectLocalStatus(pi: Pi): Promise<{
|
|
32
|
+
providers: import("./pi-model-service.js").ProviderState[];
|
|
33
|
+
models: {
|
|
34
|
+
thinkingLevelAdaptations?: {
|
|
35
|
+
off: import("@ai-platform/api-contracts").components["schemas"]["LocalCodingHostThinkingLevel"];
|
|
36
|
+
minimal: import("@ai-platform/api-contracts").components["schemas"]["LocalCodingHostThinkingLevel"];
|
|
37
|
+
low: import("@ai-platform/api-contracts").components["schemas"]["LocalCodingHostThinkingLevel"];
|
|
38
|
+
medium: import("@ai-platform/api-contracts").components["schemas"]["LocalCodingHostThinkingLevel"];
|
|
39
|
+
high: import("@ai-platform/api-contracts").components["schemas"]["LocalCodingHostThinkingLevel"];
|
|
40
|
+
xhigh: import("@ai-platform/api-contracts").components["schemas"]["LocalCodingHostThinkingLevel"];
|
|
41
|
+
max: import("@ai-platform/api-contracts").components["schemas"]["LocalCodingHostThinkingLevel"];
|
|
42
|
+
};
|
|
43
|
+
supportsImages?: boolean;
|
|
44
|
+
providerId: import("@ai-platform/api-contracts").components["schemas"]["LocalCodingHostProviderId"];
|
|
45
|
+
modelId: string;
|
|
46
|
+
displayName: string;
|
|
47
|
+
reasoning: boolean;
|
|
48
|
+
allowedThinkingLevels: import("@ai-platform/api-contracts").components["schemas"]["LocalCodingHostThinkingLevel"][];
|
|
49
|
+
}[];
|
|
50
|
+
workspaceRootStatus: "PASS" | "FAIL";
|
|
51
|
+
}>;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=host-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-status.d.ts","sourceRoot":"","sources":["../src/host-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAIjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG3E,eAAO,MAAM,sBAAsB,QAAe,CAAC;AACnD,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClD,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClE,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;IACtD,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,8BAA8B,EAAE,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,oFAAoF;AACpF,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAV1B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,YAAY,CAAqB;gBAGtB,MAAM,EAAE,cAAc,EACtB,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,SAAS,EACf,MAAM,CAAC,EAAE,MAAM,YAAA;IAGlC,IAAI,OAAO,YAEV;IAED,SAAS;IAIT,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM;IAQpB,MAAM,CAAC,UAAU,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAgBnC,aAAa;CA+C5B;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE;;;;iBAWuh4P,0DAAsB;qBAA0D,0DAAsB;iBAAsD,0DAAsB;oBAAyD,0DAAsB;kBAAuD,0DAAsB;mBAAwD,0DAAsB;iBAAsD,0DAAsB;;;oBAA8G,0DAAsB;;;;+BAA+J,0DAAsB;;;GADt25P"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { workspaceCheck } from "./diagnostics.js";
|
|
2
|
+
import { checkHostTools } from "./host-tools.js";
|
|
3
|
+
import { paths } from "./paths.js";
|
|
4
|
+
import { readHostState, writeHostState } from "./state.js";
|
|
5
|
+
const STATUS_INTERVAL_MS = 5 * 60_000;
|
|
6
|
+
export const TOOL_CHECK_INTERVAL_MS = 180 * 60_000;
|
|
7
|
+
/** One reporter per daemon identity; status and diagnostics share its execution. */
|
|
8
|
+
export class HostStatusReporter {
|
|
9
|
+
client;
|
|
10
|
+
pi;
|
|
11
|
+
host;
|
|
12
|
+
bootId;
|
|
13
|
+
inFlight;
|
|
14
|
+
checkingTools = false;
|
|
15
|
+
lastStatusAt;
|
|
16
|
+
lastToolCheckAt;
|
|
17
|
+
toolRevision;
|
|
18
|
+
constructor(client, pi, host, bootId) {
|
|
19
|
+
this.client = client;
|
|
20
|
+
this.pi = pi;
|
|
21
|
+
this.host = host;
|
|
22
|
+
this.bootId = bootId;
|
|
23
|
+
}
|
|
24
|
+
get pending() {
|
|
25
|
+
return Boolean(this.inFlight);
|
|
26
|
+
}
|
|
27
|
+
statusDue() {
|
|
28
|
+
return this.lastStatusAt === undefined || Date.now() - this.lastStatusAt >= STATUS_INTERVAL_MS;
|
|
29
|
+
}
|
|
30
|
+
toolsDue(revision) {
|
|
31
|
+
return (this.lastToolCheckAt === undefined ||
|
|
32
|
+
Date.now() - this.lastToolCheckAt >= TOOL_CHECK_INTERVAL_MS ||
|
|
33
|
+
(revision !== undefined && revision !== this.toolRevision));
|
|
34
|
+
}
|
|
35
|
+
async report(checkTools = false) {
|
|
36
|
+
if (this.inFlight) {
|
|
37
|
+
if (!checkTools || this.checkingTools)
|
|
38
|
+
return this.inFlight;
|
|
39
|
+
// A manual diagnostic arriving during a lightweight report must still check tools.
|
|
40
|
+
await this.inFlight;
|
|
41
|
+
return this.report(true);
|
|
42
|
+
}
|
|
43
|
+
this.checkingTools = checkTools;
|
|
44
|
+
const task = this.performReport(checkTools).finally(() => {
|
|
45
|
+
this.inFlight = undefined;
|
|
46
|
+
this.checkingTools = false;
|
|
47
|
+
});
|
|
48
|
+
this.inFlight = task;
|
|
49
|
+
return task;
|
|
50
|
+
}
|
|
51
|
+
async performReport(checkTools) {
|
|
52
|
+
const local = await collectLocalStatus(this.pi);
|
|
53
|
+
let verification;
|
|
54
|
+
let toolChecks;
|
|
55
|
+
if (checkTools) {
|
|
56
|
+
verification = await this.client.verify({
|
|
57
|
+
hostId: this.host.hostId,
|
|
58
|
+
generation: this.host.generation,
|
|
59
|
+
});
|
|
60
|
+
if (!verification.generationValid ||
|
|
61
|
+
!verification.shell ||
|
|
62
|
+
!verification.toolConfigurationRevision)
|
|
63
|
+
throw new Error("HOST_TOOL_CONFIGURATION_UNAVAILABLE");
|
|
64
|
+
toolChecks = await checkHostTools(verification.shell, verification.environmentVariables ?? {}, {
|
|
65
|
+
source: "STATUS_REPORT",
|
|
66
|
+
hostId: this.host.hostId,
|
|
67
|
+
generation: this.host.generation,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
const latest = await readHostState();
|
|
71
|
+
if (!latest || latest.hostId !== this.host.hostId || latest.generation !== this.host.generation)
|
|
72
|
+
throw new Error("HOST_IDENTITY_CHANGED");
|
|
73
|
+
this.host.catalogRevision = Math.max(this.host.catalogRevision, latest.catalogRevision) + 1;
|
|
74
|
+
await writeHostState(this.host);
|
|
75
|
+
await this.client.reportStatus({
|
|
76
|
+
hostId: this.host.hostId,
|
|
77
|
+
generation: this.host.generation,
|
|
78
|
+
...(this.bootId ? { bootId: this.bootId } : {}),
|
|
79
|
+
...local,
|
|
80
|
+
catalogRevision: this.host.catalogRevision,
|
|
81
|
+
...(toolChecks && verification?.toolConfigurationRevision !== undefined
|
|
82
|
+
? { toolChecks, toolConfigurationRevision: verification.toolConfigurationRevision }
|
|
83
|
+
: {}),
|
|
84
|
+
});
|
|
85
|
+
this.lastStatusAt = Date.now();
|
|
86
|
+
if (toolChecks) {
|
|
87
|
+
this.lastToolCheckAt = Date.now();
|
|
88
|
+
this.toolRevision = verification?.toolConfigurationRevision;
|
|
89
|
+
}
|
|
90
|
+
return { local, verification, toolChecks };
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export async function collectLocalStatus(pi) {
|
|
94
|
+
// A failed collection must never replace a previously valid catalog with an empty one.
|
|
95
|
+
const providers = await pi.readProviderStates();
|
|
96
|
+
const models = await pi.readAvailableModels();
|
|
97
|
+
const workspace = await workspaceCheck(paths().workspaceRoot);
|
|
98
|
+
return {
|
|
99
|
+
providers,
|
|
100
|
+
models,
|
|
101
|
+
workspaceRootStatus: workspace.status === "PASS" ? "PASS" : "FAIL",
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=host-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-status.js","sourceRoot":"","sources":["../src/host-status.ts"],"names":[],"mappings":"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"}
|
package/dist/host-tools.d.ts
CHANGED
|
@@ -3,11 +3,12 @@ import type { HostShell, LocalCodingHostDiagnosticCheck } from "@ai-platform/api
|
|
|
3
3
|
import { createBashToolDefinition, type ToolDefinition } from "@earendil-works/pi-coding-agent";
|
|
4
4
|
import type { TSchema } from "typebox";
|
|
5
5
|
import { type DiagnosticLogContext } from "./diagnostic-log.js";
|
|
6
|
+
import { ToolProbe } from "./tool-probe.js";
|
|
6
7
|
type ToolProbeLogContext = DiagnosticLogContext & {
|
|
7
8
|
checkId: LocalCodingHostDiagnosticCheck["id"];
|
|
8
9
|
shell?: HostShell["name"];
|
|
9
10
|
};
|
|
10
|
-
export declare function createHostShellTool(cwd: string, shell: HostShell, variables?: Record<string, string
|
|
11
|
+
export declare function createHostShellTool(cwd: string, shell: HostShell, variables?: Record<string, string>, probe?: ToolProbe): ReturnType<typeof createBashToolDefinition>;
|
|
11
12
|
export declare function probeToolExecution<T extends TSchema>(tool: Pick<ToolDefinition<T>, "execute">, args: Parameters<ToolDefinition<T>["execute"]>[1], expected: string, cwd?: string, logContext?: ToolProbeLogContext): Promise<boolean>;
|
|
12
13
|
export declare function checkHostTools(shell: HostShell, variables?: Record<string, string>, logContext?: DiagnosticLogContext): Promise<LocalCodingHostDiagnosticCheck[]>;
|
|
13
14
|
export {};
|
package/dist/host-tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-tools.d.ts","sourceRoot":"","sources":["../src/host-tools.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,SAAS,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EACL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"host-tools.d.ts","sourceRoot":"","sources":["../src/host-tools.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,SAAS,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EACL,wBAAwB,EAKxB,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,KAAK,oBAAoB,EAAyB,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,KAAK,mBAAmB,GAAG,oBAAoB,GAAG;IAChD,OAAO,EAAE,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAC3B,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACtC,KAAK,CAAC,EAAE,SAAS,GAChB,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAmB7C;AAED,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EACxD,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EACxC,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACjD,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAgB,EACnB,UAAU,CAAC,EAAE,mBAAmB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAElB;AA2DD,wBAAsB,cAAc,CAClC,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACtC,UAAU,GAAE,oBAA+C,GAC1D,OAAO,CAAC,8BAA8B,EAAE,CAAC,CA+F3C"}
|
package/dist/host-tools.js
CHANGED
|
@@ -2,11 +2,13 @@ import "./runtime-environment.js";
|
|
|
2
2
|
import { mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
|
-
import { createBashToolDefinition, createFindToolDefinition, createGrepToolDefinition, createPowerShellToolDefinition, } from "@earendil-works/pi-coding-agent";
|
|
5
|
+
import { createBashToolDefinition, createFindToolDefinition, createGrepToolDefinition, createLocalPowerShellOperations, createPowerShellToolDefinition, } from "@earendil-works/pi-coding-agent";
|
|
6
|
+
import { detectBashPaths } from "./bash-discovery.js";
|
|
6
7
|
import { diagnosticErrorFields } from "./diagnostic-log.js";
|
|
7
8
|
import { logHostEvent } from "./host-log.js";
|
|
8
9
|
import { activeProfile, aipBaseHome } from "./paths.js";
|
|
9
|
-
|
|
10
|
+
import { ToolProbe } from "./tool-probe.js";
|
|
11
|
+
export function createHostShellTool(cwd, shell, variables = {}, probe) {
|
|
10
12
|
const options = {
|
|
11
13
|
exposeSessionEnvironment: false,
|
|
12
14
|
spawnHook: (spawn) => ({
|
|
@@ -15,28 +17,45 @@ export function createHostShellTool(cwd, shell, variables = {}) {
|
|
|
15
17
|
}),
|
|
16
18
|
};
|
|
17
19
|
return shell.name === "powershell"
|
|
18
|
-
? createPowerShellToolDefinition(cwd,
|
|
20
|
+
? createPowerShellToolDefinition(cwd, {
|
|
21
|
+
...options,
|
|
22
|
+
...(probe
|
|
23
|
+
? { operations: createLocalPowerShellOperations({ onStage: probe.onStage }) }
|
|
24
|
+
: {}),
|
|
25
|
+
})
|
|
19
26
|
: createBashToolDefinition(cwd, {
|
|
20
27
|
...options,
|
|
21
28
|
...(shell.shellPath ? { shellPath: shell.shellPath } : {}),
|
|
22
29
|
});
|
|
23
30
|
}
|
|
24
31
|
export async function probeToolExecution(tool, args, expected, cwd = process.cwd(), logContext) {
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
return (await executeProbe(tool, args, expected, cwd, logContext)).ok;
|
|
33
|
+
}
|
|
34
|
+
async function executeProbe(tool, args, expected, cwd, logContext, suppliedProbe) {
|
|
35
|
+
const timeout = args.timeout ?? 30;
|
|
36
|
+
const probe = suppliedProbe ?? new ToolProbe(false, timeout * 1000);
|
|
27
37
|
const fail = (details) => {
|
|
38
|
+
const facts = probe.details();
|
|
39
|
+
const suffix = probe.signal.aborted || details.reason === "TIMEOUT"
|
|
40
|
+
? `${facts.stage}_TIMEOUT`
|
|
41
|
+
: details.reason === "TOOL_NOT_FOUND" && facts.stage === "LOOKUP"
|
|
42
|
+
? "LOOKUP_NOT_FOUND"
|
|
43
|
+
: details.reason === "PERMISSION_DENIED"
|
|
44
|
+
? `${facts.stage}_PERMISSION_DENIED`
|
|
45
|
+
: `${facts.stage}_FAILED`;
|
|
28
46
|
if (logContext)
|
|
29
47
|
logHostEvent("host_tool_check_failed", {
|
|
30
48
|
...logContext,
|
|
31
49
|
...details,
|
|
32
|
-
|
|
50
|
+
...facts,
|
|
51
|
+
durationMs: facts.timings.totalMs,
|
|
33
52
|
});
|
|
34
|
-
return false;
|
|
53
|
+
return { ok: false, suffix, ...facts };
|
|
35
54
|
};
|
|
36
55
|
try {
|
|
37
|
-
const result = await tool.execute("host-tool-diagnostic", args, signal, undefined, {
|
|
56
|
+
const result = await probe.run(tool.execute("host-tool-diagnostic", args, probe.signal, undefined, {
|
|
38
57
|
cwd,
|
|
39
|
-
});
|
|
58
|
+
}));
|
|
40
59
|
const output = result.content
|
|
41
60
|
.map((part) => ("text" in part ? String(part.text) : ""))
|
|
42
61
|
.join("\n");
|
|
@@ -49,11 +68,15 @@ export async function probeToolExecution(tool, args, expected, cwd = process.cwd
|
|
|
49
68
|
});
|
|
50
69
|
if (!output.includes(expected))
|
|
51
70
|
return fail({ reason: "OUTPUT_MISMATCH", ...(exitCode === 0 ? { exitCode } : {}) });
|
|
52
|
-
|
|
71
|
+
probe.onStage("COMPLETED");
|
|
72
|
+
return { ok: true, suffix: "OK", ...probe.details() };
|
|
53
73
|
}
|
|
54
74
|
catch (error) {
|
|
55
75
|
const details = diagnosticErrorFields(error);
|
|
56
|
-
return fail({ ...details, ...(signal.aborted ? { reason: "TIMEOUT" } : {}) });
|
|
76
|
+
return fail({ ...details, ...(probe.signal.aborted ? { reason: "TIMEOUT" } : {}) });
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
probe.dispose();
|
|
57
80
|
}
|
|
58
81
|
}
|
|
59
82
|
export async function checkHostTools(shell, variables = {}, logContext = { source: "TOOL_CHECK" }) {
|
|
@@ -66,13 +89,13 @@ export async function checkHostTools(shell, variables = {}, logContext = { sourc
|
|
|
66
89
|
stage = "CREATE_PROBE_FILE";
|
|
67
90
|
await writeFile(join(root, "host-tool-probe.txt"), `${token}\n`, { mode: 0o600 });
|
|
68
91
|
stage = "CREATE_TOOLS";
|
|
92
|
+
const shellProbe = new ToolProbe(shell.name === "powershell", 30_000);
|
|
69
93
|
const cases = [
|
|
70
94
|
[
|
|
71
95
|
"SHELL",
|
|
72
|
-
createHostShellTool(root, shell, variables),
|
|
96
|
+
createHostShellTool(root, shell, variables, shellProbe),
|
|
73
97
|
{
|
|
74
98
|
command: shell.name === "powershell" ? `Write-Output '${token}'` : `printf '${token}'`,
|
|
75
|
-
timeout: 5,
|
|
76
99
|
},
|
|
77
100
|
token,
|
|
78
101
|
"检查本地开发环境的 Shell 选择和 Bash 路径",
|
|
@@ -94,16 +117,27 @@ export async function checkHostTools(shell, variables = {}, logContext = { sourc
|
|
|
94
117
|
];
|
|
95
118
|
for (const [id, tool, args, expected, action] of cases) {
|
|
96
119
|
stage = id;
|
|
97
|
-
const
|
|
120
|
+
const result = await executeProbe(tool, args, expected, root, {
|
|
98
121
|
...logContext,
|
|
99
122
|
checkId: id,
|
|
100
123
|
...(id === "SHELL" ? { shell: shell.name } : {}),
|
|
101
|
-
});
|
|
124
|
+
}, id === "SHELL" ? shellProbe : undefined);
|
|
102
125
|
checks.push({
|
|
103
126
|
id,
|
|
104
|
-
status: ok ? "PASS" : "FAIL",
|
|
105
|
-
code: `${id}_${
|
|
106
|
-
nextAction: ok ? "无需处理" : action,
|
|
127
|
+
status: result.ok ? "PASS" : "FAIL",
|
|
128
|
+
code: `${id}_${result.suffix}`,
|
|
129
|
+
nextAction: result.ok ? "无需处理" : action,
|
|
130
|
+
stage: result.stage,
|
|
131
|
+
timings: result.timings,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
const shellCheck = checks.find((check) => check.id === "SHELL");
|
|
135
|
+
if (shellCheck) {
|
|
136
|
+
const probeRoot = root;
|
|
137
|
+
shellCheck.bashPaths = await detectBashPaths({
|
|
138
|
+
...(shell.name === "bash" && shell.shellPath ? { configuredPath: shell.shellPath } : {}),
|
|
139
|
+
env: { ...process.env, ...variables },
|
|
140
|
+
probe: (shellPath) => probeToolExecution(createHostShellTool(probeRoot, { name: "bash", shellPath }, variables), { command: `test -n "$BASH_VERSION" && printf '${token}'`, timeout: 2 }, token, probeRoot),
|
|
107
141
|
});
|
|
108
142
|
}
|
|
109
143
|
return checks;
|
|
@@ -118,13 +152,13 @@ export async function checkHostTools(shell, variables = {}, logContext = { sourc
|
|
|
118
152
|
}
|
|
119
153
|
finally {
|
|
120
154
|
if (root)
|
|
121
|
-
await rm(root, { recursive: true, force: true }).catch((error) => {
|
|
155
|
+
await rm(root, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 }).catch((error) => {
|
|
122
156
|
logHostEvent("host_tool_check_error", {
|
|
123
157
|
...logContext,
|
|
124
158
|
stage: "CLEANUP",
|
|
125
159
|
...diagnosticErrorFields(error),
|
|
126
160
|
});
|
|
127
|
-
|
|
161
|
+
// 取消的进程可能还在退出;临时文件清理不能覆盖已经取得的检测结果。
|
|
128
162
|
});
|
|
129
163
|
}
|
|
130
164
|
}
|
package/dist/host-tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-tools.js","sourceRoot":"","sources":["../src/host-tools.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,GAE/B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAA6B,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"host-tools.js","sourceRoot":"","sources":["../src/host-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-employee.d.ts","sourceRoot":"","sources":["../src/live-employee.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"live-employee.d.ts","sourceRoot":"","sources":["../src/live-employee.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,YAAY,EAOjB,KAAK,gBAAgB,EAGtB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAGnF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,UAAO,EACX,MAAM,GAAE,aAAa,GAAG,aAAa,GAAG,YAA4B,EACpE,QAAQ,UAAQ,EAChB,KAAK,UAAQ,UAiCd;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,GAAG,cAAc,CAAC,EAC/D,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IACP,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,EACD,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,IAAI,UAAO,EACX,OAAO,UAAQ,EACf,KAAK,GAAE,aAAa,GAAG,aAAa,GAAG,YAA4B,EACnE,SAAS,GAAE,MAAM,OAAqB,EACtC,gBAAgB,GAAE,MAAM,MAAiB,EACzC,eAAe,GAAE,MAAM,IAAe,EACtC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO;;sBAwSR,YAAY;EA+CtC"}
|