mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-15 03:40:47 +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
37
openclaw/scripts/check-madge-import-cycles.ts
Normal file
37
openclaw/scripts/check-madge-import-cycles.ts
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env node
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import madge from "madge";
|
||||
|
||||
const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
||||
const scanRoots = ["src", "extensions", "ui"] as const;
|
||||
|
||||
function normalizeRepoPath(filePath: string): string {
|
||||
return filePath.split(path.sep).join("/");
|
||||
}
|
||||
|
||||
async function main(): Promise<number> {
|
||||
const result = await madge([...scanRoots], {
|
||||
baseDir: repoRoot,
|
||||
fileExtensions: ["ts"],
|
||||
tsConfig: path.join(repoRoot, "tsconfig.json"),
|
||||
});
|
||||
const cycles = result.circular().map((cycle) => cycle.map((file) => normalizeRepoPath(file)));
|
||||
|
||||
console.log(`Madge import cycle check: ${cycles.length} cycle(s).`);
|
||||
if (cycles.length === 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
console.error("\nMadge circular dependencies:");
|
||||
for (const [index, cycle] of cycles.entries()) {
|
||||
console.error(`\n# cycle ${index + 1}`);
|
||||
console.error(` ${cycle.join("\n -> ")}`);
|
||||
}
|
||||
console.error(
|
||||
"\nBreak the cycle or extract a leaf contract instead of routing through a barrel.",
|
||||
);
|
||||
return 1;
|
||||
}
|
||||
|
||||
process.exitCode = await main();
|
||||
Loading…
Add table
Add a link
Reference in a new issue