@spzhongwin/skill-logger-plugin 1.0.8 → 1.0.10
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/openclaw.plugin.json +50 -50
- package/package.json +37 -37
- package/src/active-skills.test.ts +32 -32
- package/src/active-skills.ts +77 -77
- package/src/config-sync.test.ts +165 -165
- package/src/config-sync.ts +544 -544
- package/src/hooks.test.ts +251 -251
- package/src/hooks.ts +517 -517
- package/src/http.ts +61 -61
- package/src/identity.ts +64 -64
- package/src/index.test.ts +53 -53
- package/src/index.ts +226 -226
- package/src/integration.test.ts +119 -119
- package/src/matcher.test.ts +170 -170
- package/src/matcher.ts +393 -393
- package/src/paths.test.ts +57 -57
- package/src/paths.ts +84 -84
- package/src/reporter.test.ts +139 -139
- package/src/reporter.ts +298 -298
- package/src/sample-config.json +72 -72
- package/src/semver.test.ts +23 -23
- package/src/semver.ts +60 -60
- package/src/skill-version.ts +53 -53
- package/src/types.ts +198 -198
- package/src/updater.test.ts +237 -237
- package/src/updater.ts +433 -406
- package/src/ws-client.test.ts +37 -37
- package/src/ws-client.ts +642 -598
- package/test-ws.ts +17 -17
- package/tsconfig.json +14 -14
- package/dist/active-skills.js +0 -67
- package/dist/active-skills.test.js +0 -29
- package/dist/config-sync.js +0 -439
- package/dist/config-sync.test.js +0 -145
- package/dist/hooks.js +0 -337
- package/dist/hooks.test.js +0 -123
- package/dist/http.js +0 -54
- package/dist/identity.js +0 -56
- package/dist/index.js +0 -2564
- package/dist/index.test.js +0 -39
- package/dist/integration.test.js +0 -102
- package/dist/matcher.js +0 -362
- package/dist/matcher.test.js +0 -139
- package/dist/paths.js +0 -62
- package/dist/paths.test.js +0 -49
- package/dist/reporter.js +0 -267
- package/dist/reporter.test.js +0 -128
- package/dist/semver.js +0 -64
- package/dist/semver.test.js +0 -21
- package/dist/skill-version.js +0 -23
- package/dist/types.js +0 -9
- package/dist/updater.js +0 -352
- package/dist/updater.test.js +0 -212
- package/dist/ws-client.js +0 -484
package/dist/identity.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 上报身份的「可替换预留点」。
|
|
3
|
-
*
|
|
4
|
-
* 当前默认实现读 git 全局 user.name/user.email + 机器名。将来若身份来源变化
|
|
5
|
-
* (例如改用平台 user_id / SSO),只需新增一个 IdentityProvider 实现并在装配处替换,
|
|
6
|
-
* 不影响 reporter 主流程。
|
|
7
|
-
*/
|
|
8
|
-
import os from "node:os";
|
|
9
|
-
import { execFile } from "node:child_process";
|
|
10
|
-
import { promisify } from "node:util";
|
|
11
|
-
const execFileAsync = promisify(execFile);
|
|
12
|
-
/** 读取一个全局 git 配置项;未配置或失败返回 ""(并打印 warning 提示如何设置)。 */
|
|
13
|
-
export async function getGitConfigValue(key) {
|
|
14
|
-
try {
|
|
15
|
-
const { stdout } = await execFileAsync("git", ["config", "--global", key]);
|
|
16
|
-
return stdout.trim();
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
console.warn(`[skill-logger-plugin] git config --global ${key} 未设置。可执行:git config --global ${key} '<value>'`);
|
|
20
|
-
return "";
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* 默认身份提供者:git 全局配置 + 机器名。
|
|
25
|
-
* 仅在「拿到真实 git name/email」后才缓存,避免把 hostname 兜底值永久固化;
|
|
26
|
-
* 若启动时尚未配置 git,会沿用原逻辑在每次上报时重试,配置生效后即被读到并缓存。
|
|
27
|
-
*/
|
|
28
|
-
export class GitIdentityProvider {
|
|
29
|
-
cached;
|
|
30
|
-
async getIdentity() {
|
|
31
|
-
if (this.cached)
|
|
32
|
-
return this.cached;
|
|
33
|
-
const host = os.hostname();
|
|
34
|
-
const [rawName, rawEmail] = await Promise.all([
|
|
35
|
-
getGitConfigValue("user.name"),
|
|
36
|
-
getGitConfigValue("user.email"),
|
|
37
|
-
]);
|
|
38
|
-
// 过滤掉沙盒或脚手架常见的占位符
|
|
39
|
-
let finalName = rawName;
|
|
40
|
-
let finalEmail = rawEmail;
|
|
41
|
-
if (finalName === "Your Name")
|
|
42
|
-
finalName = "";
|
|
43
|
-
if (finalEmail === "you@example.com")
|
|
44
|
-
finalEmail = "";
|
|
45
|
-
const identity = {
|
|
46
|
-
user_id: "", // 预留:将来接平台用户体系时填充
|
|
47
|
-
git_name: finalName || "",
|
|
48
|
-
git_email: finalEmail || "",
|
|
49
|
-
machine_id: host,
|
|
50
|
-
};
|
|
51
|
-
// 只有拿到真正的 Git 信息才缓存,避免永久固化空值
|
|
52
|
-
if (finalName && finalEmail)
|
|
53
|
-
this.cached = identity;
|
|
54
|
-
return identity;
|
|
55
|
-
}
|
|
56
|
-
}
|