Merge branch 'main' into main

This commit is contained in:
Bijin 2026-03-20 16:49:52 +08:00 committed by GitHub
commit 99c4705336
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 46 additions and 14 deletions

View File

@ -66,8 +66,12 @@ export function createMockSignalDaemonHandle(
};
}
vi.mock("openclaw/plugin-sdk/config-runtime", async (importOriginal) => {
const actual = await importOriginal<typeof import("openclaw/plugin-sdk/config-runtime")>();
// Use importActual so shared-worker mocks from earlier test files do not leak
// into this harness's partial overrides.
vi.mock("openclaw/plugin-sdk/config-runtime", async () => {
const actual = await vi.importActual<typeof import("openclaw/plugin-sdk/config-runtime")>(
"openclaw/plugin-sdk/config-runtime",
);
return {
...actual,
loadConfig: () => config,
@ -78,8 +82,10 @@ vi.mock("openclaw/plugin-sdk/config-runtime", async (importOriginal) => {
};
});
vi.mock("openclaw/plugin-sdk/reply-runtime", async (importOriginal) => {
const actual = await importOriginal<typeof import("openclaw/plugin-sdk/reply-runtime")>();
vi.mock("openclaw/plugin-sdk/reply-runtime", async () => {
const actual = await vi.importActual<typeof import("openclaw/plugin-sdk/reply-runtime")>(
"openclaw/plugin-sdk/reply-runtime",
);
return {
...actual,
getReplyFromConfig: (...args: unknown[]) => replyMock(...args),
@ -104,8 +110,8 @@ vi.mock("openclaw/plugin-sdk/reply-runtime", async (importOriginal) => {
};
});
vi.mock("./send.js", async (importOriginal) => {
const actual = await importOriginal<typeof import("./send.js")>();
vi.mock("./send.js", async () => {
const actual = await vi.importActual<typeof import("./send.js")>("./send.js");
return {
...actual,
sendMessageSignal: (...args: unknown[]) => sendMock(...args),
@ -114,8 +120,10 @@ vi.mock("./send.js", async (importOriginal) => {
};
});
vi.mock("openclaw/plugin-sdk/conversation-runtime", async (importOriginal) => {
const actual = await importOriginal<typeof import("openclaw/plugin-sdk/conversation-runtime")>();
vi.mock("openclaw/plugin-sdk/conversation-runtime", async () => {
const actual = await vi.importActual<typeof import("openclaw/plugin-sdk/conversation-runtime")>(
"openclaw/plugin-sdk/conversation-runtime",
);
return {
...actual,
readChannelAllowFromStore: (...args: unknown[]) => readAllowFromStoreMock(...args),
@ -123,8 +131,10 @@ vi.mock("openclaw/plugin-sdk/conversation-runtime", async (importOriginal) => {
};
});
vi.mock("openclaw/plugin-sdk/security-runtime", async (importOriginal) => {
const actual = await importOriginal<typeof import("openclaw/plugin-sdk/security-runtime")>();
vi.mock("openclaw/plugin-sdk/security-runtime", async () => {
const actual = await vi.importActual<typeof import("openclaw/plugin-sdk/security-runtime")>(
"openclaw/plugin-sdk/security-runtime",
);
return {
...actual,
readStoreAllowFromForDmPolicy: (...args: unknown[]) => readAllowFromStoreMock(...args),
@ -137,16 +147,18 @@ vi.mock("./client.js", () => ({
signalRpcRequest: (...args: unknown[]) => signalRpcRequestMock(...args),
}));
vi.mock("./daemon.js", async (importOriginal) => {
const actual = await importOriginal<typeof import("./daemon.js")>();
vi.mock("./daemon.js", async () => {
const actual = await vi.importActual<typeof import("./daemon.js")>("./daemon.js");
return {
...actual,
spawnSignalDaemon: (...args: unknown[]) => spawnSignalDaemonMock(...args),
};
});
vi.mock("openclaw/plugin-sdk/infra-runtime", async (importOriginal) => {
const actual = await importOriginal<typeof import("openclaw/plugin-sdk/infra-runtime")>();
vi.mock("openclaw/plugin-sdk/infra-runtime", async () => {
const actual = await vi.importActual<typeof import("openclaw/plugin-sdk/infra-runtime")>(
"openclaw/plugin-sdk/infra-runtime",
);
return {
...actual,
waitForTransportReady: (...args: unknown[]) => waitForTransportReadyMock(...args),

View File

@ -183,6 +183,26 @@
"file": "src/infra/heartbeat-runner.returns-default-unset.test.ts",
"reason": "Heartbeat default-unset coverage retained a large shared unit-fast heap spike on Linux Node 22 CI."
},
{
"file": "src/infra/heartbeat-runner.ghost-reminder.test.ts",
"reason": "Mocks jiti at file scope, so it is safer outside shared Vitest workers."
},
{
"file": "src/infra/heartbeat-runner.transcript-prune.test.ts",
"reason": "Mocks jiti at file scope, so it is safer outside shared Vitest workers."
},
{
"file": "src/infra/heartbeat-runner.sender-prefers-delivery-target.test.ts",
"reason": "Mocks jiti at file scope, so it is safer outside shared Vitest workers."
},
{
"file": "src/infra/heartbeat-runner.model-override.test.ts",
"reason": "Mocks jiti at file scope, so it is safer outside shared Vitest workers."
},
{
"file": "src/plugins/loader.git-path-regression.test.ts",
"reason": "Constructs a real Jiti boundary and is safer outside shared workers that may have mocked jiti earlier."
},
{
"file": "src/infra/outbound/outbound-session.test.ts",
"reason": "Outbound session coverage retained a large shared unit-fast heap spike on Linux Node 22 CI."