mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-25 00:53:04 +00:00
Summary: - The branch adds an opt-in Feishu top-level group-send fallback for withdrawn or missing normal quoted thread replies, plus regression coverage, a changelog entry, and CI/lint typing and baseline refreshes. - Reproducibility: yes. at source level. Current main hard-errors withdrawn/not-found Feishu reply targets when `replyInThread` is true, and the existing regression test asserts that no top-level create fallback occurs. Automerge notes: - PR branch already contained follow-up commit before automerge: fix(feishu): fall back from missing thread replies - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8030… - PR branch already contained follow-up commit before automerge: fix(clawsweeper): reconcile automerge-openclaw-openclaw-80306 with ma… - PR branch already contained follow-up commit before automerge: fix(ci): satisfy stricter lint and test types - PR branch already contained follow-up commit before automerge: fix(ci): align Node 24 test typing Validation: - ClawSweeper review passed for head93146f9d13. - Required merge gates passed before the squash merge. Prepared head SHA:93146f9d13Review: https://github.com/openclaw/openclaw/pull/80306#issuecomment-4415604729 Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
31 lines
955 B
TypeScript
31 lines
955 B
TypeScript
import fs from "node:fs";
|
|
import { describe, expect, it } from "vitest";
|
|
import { parse } from "yaml";
|
|
|
|
type PnpmBuildConfig = {
|
|
ignoredBuiltDependencies?: string[];
|
|
onlyBuiltDependencies?: string[];
|
|
};
|
|
|
|
type RootPackageJson = {
|
|
pnpm?: PnpmBuildConfig;
|
|
};
|
|
|
|
type WorkspaceConfig = PnpmBuildConfig;
|
|
|
|
function readJson(filePath: string): unknown {
|
|
return JSON.parse(fs.readFileSync(filePath, "utf8")) as unknown;
|
|
}
|
|
|
|
describe("package manager build policy", () => {
|
|
it("keeps optional native Discord opus builds disabled by default", () => {
|
|
const packageJson = readJson("package.json") as RootPackageJson;
|
|
const workspace = parse(fs.readFileSync("pnpm-workspace.yaml", "utf8")) as WorkspaceConfig;
|
|
|
|
for (const config of [packageJson.pnpm, workspace]) {
|
|
expect(config?.ignoredBuiltDependencies ?? []).toContain("@discordjs/opus");
|
|
expect(config?.onlyBuiltDependencies ?? []).not.toContain("@discordjs/opus");
|
|
}
|
|
});
|
|
});
|