mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-10 11:50:45 +08:00
重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
This commit is contained in:
parent
4a23b715a2
commit
dbbe3add6a
14438 changed files with 2693620 additions and 2546 deletions
52
openclaw/test/scripts/gh-read.test.ts
Normal file
52
openclaw/test/scripts/gh-read.test.ts
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
buildReadPermissions,
|
||||
normalizeRepo,
|
||||
parsePermissionKeys,
|
||||
parseRepoArg,
|
||||
} from "../../scripts/gh-read.js";
|
||||
|
||||
describe("gh-read helpers", () => {
|
||||
it("finds repo from gh args", () => {
|
||||
expect(parseRepoArg(["pr", "view", "42", "-R", "openclaw/openclaw"])).toBe("openclaw/openclaw");
|
||||
expect(parseRepoArg(["run", "list", "--repo=openclaw/docs"])).toBe("openclaw/docs");
|
||||
expect(parseRepoArg(["pr", "view", "42"])).toBeNull();
|
||||
});
|
||||
|
||||
it("normalizes repo strings from common git formats", () => {
|
||||
expect(normalizeRepo("openclaw/openclaw")).toBe("openclaw/openclaw");
|
||||
expect(normalizeRepo("github.com/openclaw/openclaw")).toBe("openclaw/openclaw");
|
||||
expect(normalizeRepo("https://github.com/openclaw/openclaw.git")).toBe("openclaw/openclaw");
|
||||
expect(normalizeRepo("git@github.com:openclaw/openclaw.git")).toBe("openclaw/openclaw");
|
||||
expect(normalizeRepo("invalid")).toBeNull();
|
||||
});
|
||||
|
||||
it("builds a read-only permission subset from granted permissions", () => {
|
||||
expect(
|
||||
buildReadPermissions(
|
||||
{
|
||||
actions: "write",
|
||||
issues: "read",
|
||||
administration: "write",
|
||||
metadata: "read",
|
||||
statuses: null,
|
||||
},
|
||||
["actions", "issues", "metadata", "statuses", "administration"],
|
||||
),
|
||||
).toEqual({
|
||||
administration: "read",
|
||||
actions: "read",
|
||||
issues: "read",
|
||||
metadata: "read",
|
||||
});
|
||||
});
|
||||
|
||||
it("parses permission key overrides", () => {
|
||||
expect(parsePermissionKeys(undefined)).toContain("pull_requests");
|
||||
expect(parsePermissionKeys("actions, contents ,issues")).toEqual([
|
||||
"actions",
|
||||
"contents",
|
||||
"issues",
|
||||
]);
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue