diff --git a/extensions/acpx/src/runtime.test.ts b/extensions/acpx/src/runtime.test.ts index fead00ba58c..0e7186cfa6e 100644 --- a/extensions/acpx/src/runtime.test.ts +++ b/extensions/acpx/src/runtime.test.ts @@ -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; diff --git a/extensions/acpx/src/runtime.ts b/extensions/acpx/src/runtime.ts index 8077c453080..6ca0b466012 100644 --- a/extensions/acpx/src/runtime.ts +++ b/extensions/acpx/src/runtime.ts @@ -15,24 +15,27 @@ import { } from "acpx/runtime"; import type { AcpRuntime } from "../runtime-api.js"; -type AcpSessionRecord = Record & { - name?: string; -}; - -type AcpSessionStore = { - load(sessionId: string): Promise; - save(record: AcpSessionRecord): Promise; -}; +type AcpSessionStore = AcpRuntimeOptions["sessionStore"]; +type AcpSessionRecord = Parameters[0]; +type AcpLoadedSessionRecord = Awaited>; 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(); return { - async load(sessionId: string): Promise { + async load(sessionId: string): Promise { 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 { await baseStore.save(record); - const sessionName = typeof record.name === "string" ? record.name.trim() : ""; + const sessionName = readSessionRecordName(record); if (sessionName) { freshSessionKeys.delete(sessionName); } diff --git a/extensions/diffs/src/browser.test.ts b/extensions/diffs/src/browser.test.ts index bcc91adc9ba..c522808fbb3 100644 --- a/extensions/diffs/src/browser.test.ts +++ b/extensions/diffs/src/browser.test.ts @@ -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({ diff --git a/extensions/discord/src/monitor/agent-components.ts b/extensions/discord/src/monitor/agent-components.ts index 0e524b8f660..6f8b05f3cc8 100644 --- a/extensions/discord/src/monitor/agent-components.ts +++ b/extensions/discord/src/monitor/agent-components.ts @@ -86,6 +86,7 @@ import { deliverDiscordReply } from "./reply-delivery.js"; let conversationRuntimePromise: Promise | undefined; let componentsRuntimePromise: Promise | undefined; +let replyRuntimePromise: Promise | undefined; let replyPipelineRuntimePromise: | Promise | undefined; diff --git a/extensions/discord/src/monitor/provider.test.ts b/extensions/discord/src/monitor/provider.test.ts index 6e4b76525e4..9dde82090db 100644 --- a/extensions/discord/src/monitor/provider.test.ts +++ b/extensions/discord/src/monitor/provider.test.ts @@ -16,7 +16,6 @@ const { clientFetchUserMock, clientGetPluginMock, clientHandleDeployRequestMock, - _createDiscordAutoPresenceControllerMock, createDiscordMessageHandlerMock, createDiscordNativeCommandMock, createdBindingManagers, @@ -29,7 +28,6 @@ const { listSkillCommandsForAgentsMock, monitorLifecycleMock, reconcileAcpThreadBindingsOnStartupMock, - _resolveDiscordAllowlistConfigMock, resolveDiscordAccountMock, resolveNativeCommandsEnabledMock, resolveNativeSkillsEnabledMock, diff --git a/extensions/duckduckgo/src/ddg-search-provider.test.ts b/extensions/duckduckgo/src/ddg-search-provider.test.ts index 49ea35d8a66..b07b68aa575 100644 --- a/extensions/duckduckgo/src/ddg-search-provider.test.ts +++ b/extensions/duckduckgo/src/ddg-search-provider.test.ts @@ -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("./ddg-client.js")); - ({ default: plugin } = await import("../index.js")); }); beforeEach(() => { diff --git a/extensions/feishu/src/lifecycle.test-support.ts b/extensions/feishu/src/lifecycle.test-support.ts index 855c747d136..722e7c56c02 100644 --- a/extensions/feishu/src/lifecycle.test-support.ts +++ b/extensions/feishu/src/lifecycle.test-support.ts @@ -83,12 +83,8 @@ const { createFeishuReplyDispatcherMock, resolveBoundConversationMock, touchBindingMock, - _resolveAgentRouteMock, resolveConfiguredBindingRouteMock, ensureConfiguredBindingRouteReadyMock, - _dispatchReplyFromConfigMock, - _withReplyDispatcherMock, - _finalizeInboundContextMock, getMessageFeishuMock, listFeishuThreadMessagesMock, sendMessageFeishuMock, diff --git a/src/cli/program/command-group-descriptors.ts b/src/cli/program/command-group-descriptors.ts index 80793c4077a..2d36cb902d3 100644 --- a/src/cli/program/command-group-descriptors.ts +++ b/src/cli/program/command-group-descriptors.ts @@ -112,9 +112,9 @@ export function defineImportedProgramCommandGroupSpec< ); } -export function defineImportedProgramCommandGroupSpecs< - const TDefinitions extends readonly AnyImportedProgramCommandGroupDefinition[], ->(definitions: TDefinitions): CommandGroupDescriptorSpec<(program: Command) => Promise>[] { +export function defineImportedProgramCommandGroupSpecs( + definitions: readonly AnyImportedProgramCommandGroupDefinition[], +): CommandGroupDescriptorSpec<(program: Command) => Promise>[] { return definitions.map((definition) => ({ commandNames: definition.commandNames, register: async (program: Command) => {