chore: format swift/ts and fix gateway lint
This commit is contained in:
@@ -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");
|
||||
|
||||
@@ -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", () => {
|
||||
|
||||
@@ -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.",
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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"),
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user