fix: satisfy gate checks

This commit is contained in:
Peter Steinberger
2026-01-04 01:16:53 +01:00
parent e3c543ec06
commit 8724c2aea8
8 changed files with 29 additions and 30 deletions

View File

@@ -262,11 +262,14 @@ export function waitForEmbeddedPiRunEnd(
const waiters = EMBEDDED_RUN_WAITERS.get(sessionId) ?? new Set(); const waiters = EMBEDDED_RUN_WAITERS.get(sessionId) ?? new Set();
const waiter: EmbeddedRunWaiter = { const waiter: EmbeddedRunWaiter = {
resolve, resolve,
timer: setTimeout(() => { timer: setTimeout(
waiters.delete(waiter); () => {
if (waiters.size === 0) EMBEDDED_RUN_WAITERS.delete(sessionId); waiters.delete(waiter);
resolve(false); if (waiters.size === 0) EMBEDDED_RUN_WAITERS.delete(sessionId);
}, Math.max(100, timeoutMs)), resolve(false);
},
Math.max(100, timeoutMs),
),
}; };
waiters.add(waiter); waiters.add(waiter);
EMBEDDED_RUN_WAITERS.set(sessionId, waiters); EMBEDDED_RUN_WAITERS.set(sessionId, waiters);

View File

@@ -8,7 +8,7 @@ export {
isEmbeddedPiRunActive, isEmbeddedPiRunActive,
isEmbeddedPiRunStreaming, isEmbeddedPiRunStreaming,
queueEmbeddedPiMessage, queueEmbeddedPiMessage,
waitForEmbeddedPiRunEnd,
resolveEmbeddedSessionLane, resolveEmbeddedSessionLane,
runEmbeddedPiAgent, runEmbeddedPiAgent,
waitForEmbeddedPiRunEnd,
} from "./pi-embedded-runner.js"; } from "./pi-embedded-runner.js";

View File

@@ -1777,8 +1777,10 @@ function applySessionDefaults(cfg: ClawdisConfig): ClawdisConfig {
if (!session || session.mainKey === undefined) return cfg; if (!session || session.mainKey === undefined) return cfg;
const trimmed = session.mainKey.trim(); const trimmed = session.mainKey.trim();
const next: ClawdisConfig = { ...cfg, session: { ...session } }; const next: ClawdisConfig = {
next.session.mainKey = "main"; ...cfg,
session: { ...session, mainKey: "main" },
};
if (trimmed && trimmed !== "main" && !warnedMainKeyOverride) { if (trimmed && trimmed !== "main" && !warnedMainKeyOverride) {
warnedMainKeyOverride = true; warnedMainKeyOverride = true;

View File

@@ -103,9 +103,9 @@ export function resolveStorePath(store?: string) {
return path.resolve(store); return path.resolve(store);
} }
export function resolveMainSessionKey( export function resolveMainSessionKey(cfg?: {
cfg?: { session?: { scope?: SessionScope; mainKey?: string } }, session?: { scope?: SessionScope; mainKey?: string };
): string { }): string {
if (cfg?.session?.scope === "global") return "global"; if (cfg?.session?.scope === "global") return "global";
return "main"; return "main";
} }

View File

@@ -2,12 +2,6 @@ import { randomUUID } from "node:crypto";
import fs from "node:fs"; import fs from "node:fs";
import { DEFAULT_MODEL, DEFAULT_PROVIDER } from "../agents/defaults.js"; import { DEFAULT_MODEL, DEFAULT_PROVIDER } from "../agents/defaults.js";
import type { ModelCatalogEntry } from "../agents/model-catalog.js"; import type { ModelCatalogEntry } from "../agents/model-catalog.js";
import {
abortEmbeddedPiRun,
isEmbeddedPiRunActive,
resolveEmbeddedSessionLane,
waitForEmbeddedPiRunEnd,
} from "../agents/pi-embedded.js";
import { import {
buildAllowedModelSet, buildAllowedModelSet,
buildModelAliasIndex, buildModelAliasIndex,
@@ -16,6 +10,12 @@ import {
resolveModelRefFromString, resolveModelRefFromString,
resolveThinkingDefault, resolveThinkingDefault,
} from "../agents/model-selection.js"; } from "../agents/model-selection.js";
import {
abortEmbeddedPiRun,
isEmbeddedPiRunActive,
resolveEmbeddedSessionLane,
waitForEmbeddedPiRunEnd,
} from "../agents/pi-embedded.js";
import { normalizeGroupActivation } from "../auto-reply/group-activation.js"; import { normalizeGroupActivation } from "../auto-reply/group-activation.js";
import { import {
normalizeThinkLevel, normalizeThinkLevel,
@@ -44,8 +44,8 @@ import {
loadVoiceWakeConfig, loadVoiceWakeConfig,
setVoiceWakeTriggers, setVoiceWakeTriggers,
} from "../infra/voicewake.js"; } from "../infra/voicewake.js";
import { defaultRuntime } from "../runtime.js";
import { clearCommandLane } from "../process/command-queue.js"; import { clearCommandLane } from "../process/command-queue.js";
import { defaultRuntime } from "../runtime.js";
import { normalizeSendPolicy } from "../sessions/send-policy.js"; import { normalizeSendPolicy } from "../sessions/send-policy.js";
import { buildMessageWithAttachments } from "./chat-attachments.js"; import { buildMessageWithAttachments } from "./chat-attachments.js";
import { import {

View File

@@ -4,8 +4,8 @@ import path from "node:path";
import { describe, expect, test } from "vitest"; import { describe, expect, test } from "vitest";
import { import {
connectOk, connectOk,
installGatewayTestHooks,
embeddedRunMock, embeddedRunMock,
installGatewayTestHooks,
piSdkMock, piSdkMock,
rpcReq, rpcReq,
startServerWithClient, startServerWithClient,

View File

@@ -39,7 +39,7 @@ export type BridgeStartOpts = {
>; >;
}; };
const hoisted = vi.hoisted(() => ({ const hoisted = vi.hoisted(() => ({
bridgeStartCalls: [] as BridgeStartOpts[], bridgeStartCalls: [] as BridgeStartOpts[],
bridgeInvoke: vi.fn(async () => ({ bridgeInvoke: vi.fn(async () => ({
type: "invoke-res", type: "invoke-res",
@@ -292,9 +292,9 @@ vi.mock("../config/config.js", async () => {
}); });
vi.mock("../agents/pi-embedded.js", async () => { vi.mock("../agents/pi-embedded.js", async () => {
const actual = await vi.importActual<typeof import("../agents/pi-embedded.js")>( const actual = await vi.importActual<
"../agents/pi-embedded.js", typeof import("../agents/pi-embedded.js")
); >("../agents/pi-embedded.js");
return { return {
...actual, ...actual,
isEmbeddedPiRunActive: (sessionId: string) => isEmbeddedPiRunActive: (sessionId: string) =>

View File

@@ -67,13 +67,7 @@ export async function sendMessageWhatsApp(
? { gifPlayback: true } ? { gifPlayback: true }
: undefined; : undefined;
const result = sendOptions const result = sendOptions
? await active.sendMessage( ? await active.sendMessage(to, text, mediaBuffer, mediaType, sendOptions)
to,
text,
mediaBuffer,
mediaType,
sendOptions,
)
: await active.sendMessage(to, text, mediaBuffer, mediaType); : await active.sendMessage(to, text, mediaBuffer, mediaType);
const messageId = const messageId =
(result as { messageId?: string })?.messageId ?? "unknown"; (result as { messageId?: string })?.messageId ?? "unknown";