chore: format swift/ts and fix gateway lint

This commit is contained in:
Peter Steinberger
2025-12-09 17:11:25 +00:00
parent b6bd39660f
commit 8d888b426f
18 changed files with 205 additions and 121 deletions

View File

@@ -624,7 +624,7 @@ export async function getReplyFromConfig(
systemLines.push(...queued);
if (isNewSession) {
const summary = await buildProviderSummary(cfg);
if (summary) systemLines.unshift(summary);
if (summary.length > 0) systemLines.unshift(...summary);
}
if (systemLines.length > 0) {
const block = systemLines.map((l) => `System: ${l}`).join("\n");

View File

@@ -1,9 +1,10 @@
import { describe, expect, it, vi, beforeEach, afterEach } from "vitest";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
vi.mock("node:child_process", async () => {
const actual = await vi.importActual<typeof import("node:child_process")>(
"node:child_process",
);
const actual =
await vi.importActual<typeof import("node:child_process")>(
"node:child_process",
);
return {
...actual,
execFileSync: vi.fn(),
@@ -14,8 +15,8 @@ import { execFileSync } from "node:child_process";
import {
forceFreePort,
listPortListeners,
parseLsofOutput,
type PortProcess,
parseLsofOutput,
} from "./program.js";
describe("gateway --force helpers", () => {

View File

@@ -116,10 +116,7 @@ export function buildProgram() {
'clawdis send --to +15555550123 --message "Hi" --json',
"Send via your web session and print JSON result.",
],
[
"clawdis gateway --port 18789",
"Run the WebSocket Gateway locally.",
],
["clawdis gateway --port 18789", "Run the WebSocket Gateway locally."],
[
"clawdis gateway --force",
"Kill anything bound to the default gateway port, then start it.",

View File

@@ -15,11 +15,11 @@ import {
} from "../infra/system-presence.js";
import { logError } from "../logger.js";
import { getResolvedLoggerSettings } from "../logging.js";
import { defaultRuntime } from "../runtime.js";
import { monitorWebProvider, webAuthExists } from "../providers/web/index.js";
import { sendMessageWhatsApp } from "../web/outbound.js";
import { defaultRuntime } from "../runtime.js";
import { monitorTelegramProvider } from "../telegram/monitor.js";
import { sendMessageTelegram } from "../telegram/send.js";
import { sendMessageWhatsApp } from "../web/outbound.js";
import {
ErrorCodes,
type ErrorShape,
@@ -450,32 +450,41 @@ export async function startGatewayServer(port = 18789): Promise<GatewayServer> {
const message = params.message.trim();
const provider = (params.provider ?? "whatsapp").toLowerCase();
try {
const result =
provider === "telegram"
? await sendMessageTelegram(to, message, {
mediaUrl: params.mediaUrl,
verbose: isVerbose(),
})
: await sendMessageWhatsApp(to, message, {
mediaUrl: params.mediaUrl,
verbose: isVerbose(),
});
const payload =
provider === "telegram"
? {
runId: idem,
messageId: result.messageId,
chatId: result.chatId,
provider,
}
: {
runId: idem,
messageId: result.messageId,
toJid: result.toJid ?? `${to}@s.whatsapp.net`,
provider,
};
dedupe.set(`send:${idem}`, { ts: Date.now(), ok: true, payload });
respond(true, payload, undefined);
if (provider === "telegram") {
const result = await sendMessageTelegram(to, message, {
mediaUrl: params.mediaUrl,
verbose: isVerbose(),
});
const payload = {
runId: idem,
messageId: result.messageId,
chatId: result.chatId,
provider,
};
dedupe.set(`send:${idem}`, {
ts: Date.now(),
ok: true,
payload,
});
respond(true, payload, undefined);
} else {
const result = await sendMessageWhatsApp(to, message, {
mediaUrl: params.mediaUrl,
verbose: isVerbose(),
});
const payload = {
runId: idem,
messageId: result.messageId,
toJid: result.toJid ?? `${to}@s.whatsapp.net`,
provider,
};
dedupe.set(`send:${idem}`, {
ts: Date.now(),
ok: true,
payload,
});
respond(true, payload, undefined);
}
} catch (err) {
const error = errorShape(ErrorCodes.UNAVAILABLE, String(err));
dedupe.set(`send:${idem}`, { ts: Date.now(), ok: false, error });
@@ -594,7 +603,9 @@ export async function startGatewayServer(port = 18789): Promise<GatewayServer> {
if (process.env.CLAWDIS_SKIP_PROVIDERS !== "1") {
void startProviders();
} else {
defaultRuntime.log("gateway: skipping provider start (CLAWDIS_SKIP_PROVIDERS=1)");
defaultRuntime.log(
"gateway: skipping provider start (CLAWDIS_SKIP_PROVIDERS=1)",
);
}
return {

View File

@@ -21,7 +21,9 @@ export async function buildProviderSummary(
const { e164 } = readWebSelfId();
lines.push(
webLinked
? chalk.green(`WhatsApp: linked${e164 ? ` as ${e164}` : ""} (auth ${authAge})`)
? chalk.green(
`WhatsApp: linked${e164 ? ` as ${e164}` : ""} (auth ${authAge})`,
)
: chalk.red("WhatsApp: not linked"),
);