mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-15 19:21:08 +00:00
fix(check): repair typed test and cli drift
This commit is contained in:
@@ -84,7 +84,7 @@ describe("AcpxRuntime fresh reset wrapper", () => {
|
||||
resolve: () => "codex",
|
||||
list: () => ["codex"],
|
||||
},
|
||||
permissionMode: "default",
|
||||
permissionMode: "approve-reads",
|
||||
});
|
||||
|
||||
const wrappedStore = mocks.state.capturedStore;
|
||||
@@ -128,7 +128,7 @@ describe("AcpxRuntime fresh reset wrapper", () => {
|
||||
resolve: () => "codex",
|
||||
list: () => ["codex"],
|
||||
},
|
||||
permissionMode: "default",
|
||||
permissionMode: "approve-reads",
|
||||
});
|
||||
|
||||
const wrappedStore = mocks.state.capturedStore;
|
||||
|
||||
@@ -15,24 +15,27 @@ import {
|
||||
} from "acpx/runtime";
|
||||
import type { AcpRuntime } from "../runtime-api.js";
|
||||
|
||||
type AcpSessionRecord = Record<string, unknown> & {
|
||||
name?: string;
|
||||
};
|
||||
|
||||
type AcpSessionStore = {
|
||||
load(sessionId: string): Promise<AcpSessionRecord | undefined>;
|
||||
save(record: AcpSessionRecord): Promise<void>;
|
||||
};
|
||||
type AcpSessionStore = AcpRuntimeOptions["sessionStore"];
|
||||
type AcpSessionRecord = Parameters<AcpSessionStore["save"]>[0];
|
||||
type AcpLoadedSessionRecord = Awaited<ReturnType<AcpSessionStore["load"]>>;
|
||||
|
||||
type ResetAwareSessionStore = AcpSessionStore & {
|
||||
markFresh: (sessionKey: string) => void;
|
||||
};
|
||||
|
||||
function readSessionRecordName(record: AcpSessionRecord): string {
|
||||
if (typeof record !== "object" || record === null) {
|
||||
return "";
|
||||
}
|
||||
const { name } = record as { name?: unknown };
|
||||
return typeof name === "string" ? name.trim() : "";
|
||||
}
|
||||
|
||||
function createResetAwareSessionStore(baseStore: AcpSessionStore): ResetAwareSessionStore {
|
||||
const freshSessionKeys = new Set<string>();
|
||||
|
||||
return {
|
||||
async load(sessionId: string): Promise<AcpSessionRecord | undefined> {
|
||||
async load(sessionId: string): Promise<AcpLoadedSessionRecord> {
|
||||
const normalized = sessionId.trim();
|
||||
if (normalized && freshSessionKeys.has(normalized)) {
|
||||
return undefined;
|
||||
@@ -41,7 +44,7 @@ function createResetAwareSessionStore(baseStore: AcpSessionStore): ResetAwareSes
|
||||
},
|
||||
async save(record: AcpSessionRecord): Promise<void> {
|
||||
await baseStore.save(record);
|
||||
const sessionName = typeof record.name === "string" ? record.name.trim() : "";
|
||||
const sessionName = readSessionRecordName(record);
|
||||
if (sessionName) {
|
||||
freshSessionKeys.delete(sessionName);
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ describe("PlaywrightDiffScreenshotter", () => {
|
||||
});
|
||||
|
||||
it("renders PDF output when format is pdf", async () => {
|
||||
const { pages, _browser, screenshotter } = await createScreenshotterHarness();
|
||||
const { pages, screenshotter } = await createScreenshotterHarness();
|
||||
const pdfPath = path.join(rootDir, "preview.pdf");
|
||||
|
||||
await screenshotter.screenshotHtml({
|
||||
|
||||
@@ -86,6 +86,7 @@ import { deliverDiscordReply } from "./reply-delivery.js";
|
||||
|
||||
let conversationRuntimePromise: Promise<typeof import("./agent-components.runtime.js")> | undefined;
|
||||
let componentsRuntimePromise: Promise<typeof import("../components.js")> | undefined;
|
||||
let replyRuntimePromise: Promise<typeof import("openclaw/plugin-sdk/reply-runtime")> | undefined;
|
||||
let replyPipelineRuntimePromise:
|
||||
| Promise<typeof import("openclaw/plugin-sdk/channel-reply-pipeline")>
|
||||
| undefined;
|
||||
|
||||
@@ -16,7 +16,6 @@ const {
|
||||
clientFetchUserMock,
|
||||
clientGetPluginMock,
|
||||
clientHandleDeployRequestMock,
|
||||
_createDiscordAutoPresenceControllerMock,
|
||||
createDiscordMessageHandlerMock,
|
||||
createDiscordNativeCommandMock,
|
||||
createdBindingManagers,
|
||||
@@ -29,7 +28,6 @@ const {
|
||||
listSkillCommandsForAgentsMock,
|
||||
monitorLifecycleMock,
|
||||
reconcileAcpThreadBindingsOnStartupMock,
|
||||
_resolveDiscordAllowlistConfigMock,
|
||||
resolveDiscordAccountMock,
|
||||
resolveNativeCommandsEnabledMock,
|
||||
resolveNativeSkillsEnabledMock,
|
||||
|
||||
@@ -12,13 +12,11 @@ vi.mock("./ddg-client.js", () => ({
|
||||
describe("duckduckgo web search provider", () => {
|
||||
let createDuckDuckGoWebSearchProvider: typeof import("./ddg-search-provider.js").createDuckDuckGoWebSearchProvider;
|
||||
let ddgClientTesting: typeof import("./ddg-client.js").__testing;
|
||||
let _plugin: typeof import("../index.js").default;
|
||||
|
||||
beforeAll(async () => {
|
||||
({ createDuckDuckGoWebSearchProvider } = await import("./ddg-search-provider.js"));
|
||||
({ __testing: ddgClientTesting } =
|
||||
await vi.importActual<typeof import("./ddg-client.js")>("./ddg-client.js"));
|
||||
({ default: plugin } = await import("../index.js"));
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
|
||||
@@ -83,12 +83,8 @@ const {
|
||||
createFeishuReplyDispatcherMock,
|
||||
resolveBoundConversationMock,
|
||||
touchBindingMock,
|
||||
_resolveAgentRouteMock,
|
||||
resolveConfiguredBindingRouteMock,
|
||||
ensureConfiguredBindingRouteReadyMock,
|
||||
_dispatchReplyFromConfigMock,
|
||||
_withReplyDispatcherMock,
|
||||
_finalizeInboundContextMock,
|
||||
getMessageFeishuMock,
|
||||
listFeishuThreadMessagesMock,
|
||||
sendMessageFeishuMock,
|
||||
|
||||
@@ -112,9 +112,9 @@ export function defineImportedProgramCommandGroupSpec<
|
||||
);
|
||||
}
|
||||
|
||||
export function defineImportedProgramCommandGroupSpecs<
|
||||
const TDefinitions extends readonly AnyImportedProgramCommandGroupDefinition[],
|
||||
>(definitions: TDefinitions): CommandGroupDescriptorSpec<(program: Command) => Promise<void>>[] {
|
||||
export function defineImportedProgramCommandGroupSpecs(
|
||||
definitions: readonly AnyImportedProgramCommandGroupDefinition[],
|
||||
): CommandGroupDescriptorSpec<(program: Command) => Promise<void>>[] {
|
||||
return definitions.map((definition) => ({
|
||||
commandNames: definition.commandNames,
|
||||
register: async (program: Command) => {
|
||||
|
||||
Reference in New Issue
Block a user