style: fix lint formatting

This commit is contained in:
Peter Steinberger
2026-01-09 07:52:28 +01:00
parent 37cbcc97d3
commit 185727c696
7 changed files with 92 additions and 73 deletions

View File

@@ -66,7 +66,14 @@ describe("createClawdbotCodingTools", () => {
it("preserves action enums in normalized schemas", () => {
const tools = createClawdbotCodingTools();
const toolNames = ["browser", "canvas", "nodes", "cron", "gateway", "message"];
const toolNames = [
"browser",
"canvas",
"nodes",
"cron",
"gateway",
"message",
];
const collectActionValues = (
schema: unknown,

View File

@@ -1,10 +1,10 @@
import { Type } from "@sinclair/typebox";
import {
sendMessage,
sendPoll,
type MessagePollResult,
type MessageSendResult,
sendMessage,
sendPoll,
} from "../../infra/outbound/message.js";
import type { AnyAgentTool } from "./common.js";
import {
@@ -64,7 +64,9 @@ export function createMessageTool(): AnyAgentTool {
const gifPlayback =
typeof params.gifPlayback === "boolean" ? params.gifPlayback : false;
const bestEffort =
typeof params.bestEffort === "boolean" ? params.bestEffort : undefined;
typeof params.bestEffort === "boolean"
? params.bestEffort
: undefined;
const result: MessageSendResult = await sendMessage({
to,
@@ -82,7 +84,9 @@ export function createMessageTool(): AnyAgentTool {
if (action === "poll") {
const to = readStringParam(params, "to", { required: true });
const question = readStringParam(params, "question", { required: true });
const question = readStringParam(params, "question", {
required: true,
});
const options =
readStringArrayParam(params, "options", { required: true }) ?? [];
const maxSelections = readNumberParam(params, "maxSelections", {

View File

@@ -138,7 +138,9 @@ describe("gateway-cli coverage", () => {
program.exitOverride();
registerGatewayCli(program);
await program.parseAsync(["gateway", "discover", "--json"], { from: "user" });
await program.parseAsync(["gateway", "discover", "--json"], {
from: "user",
});
expect(discoverGatewayBeacons).toHaveBeenCalledTimes(1);
expect(runtimeLogs.join("\n")).toContain('"beacons"');

View File

@@ -48,9 +48,12 @@ describe("cli program", () => {
it("runs message send with required options", async () => {
const program = buildProgram();
await program.parseAsync(["message", "send", "--to", "+1", "--message", "hi"], {
from: "user",
});
await program.parseAsync(
["message", "send", "--to", "+1", "--message", "hi"],
{
from: "user",
},
);
expect(messageSendCommand).toHaveBeenCalled();
});

View File

@@ -8,8 +8,8 @@ import {
import { configureCommand } from "../commands/configure.js";
import { doctorCommand } from "../commands/doctor.js";
import { healthCommand } from "../commands/health.js";
import { onboardCommand } from "../commands/onboard.js";
import { messagePollCommand, messageSendCommand } from "../commands/message.js";
import { onboardCommand } from "../commands/onboard.js";
import { sessionsCommand } from "../commands/sessions.js";
import { setupCommand } from "../commands/setup.js";
import { statusCommand } from "../commands/status.js";

View File

@@ -9,10 +9,10 @@ import {
formatOutboundDeliverySummary,
} from "../infra/outbound/format.js";
import {
sendMessage,
sendPoll,
type MessagePollResult,
type MessageSendResult,
sendMessage,
sendPoll,
} from "../infra/outbound/message.js";
import type { RuntimeEnv } from "../runtime.js";
import { normalizeMessageProvider } from "../utils/message-provider.js";
@@ -49,7 +49,11 @@ function parseIntOption(value: unknown, label: string): number | undefined {
return parsed;
}
function logSendDryRun(opts: MessageSendOpts, provider: string, runtime: RuntimeEnv) {
function logSendDryRun(
opts: MessageSendOpts,
provider: string,
runtime: RuntimeEnv,
) {
runtime.log(
`[dry-run] would send via ${provider} -> ${opts.to}: ${opts.message}${
opts.media ? ` (media ${opts.media})` : ""
@@ -57,10 +61,7 @@ function logSendDryRun(opts: MessageSendOpts, provider: string, runtime: Runtime
);
}
function logPollDryRun(
result: MessagePollResult,
runtime: RuntimeEnv,
) {
function logPollDryRun(result: MessagePollResult, runtime: RuntimeEnv) {
runtime.log(
`[dry-run] would send poll via ${result.provider} -> ${result.to}:\n Question: ${result.question}\n Options: ${result.options.join(
", ",

View File

@@ -1,23 +1,70 @@
import { describe, expect, it, vi } from "vitest";
import type { runCommandWithTimeout } from "../process/exec.js";
import { WIDE_AREA_DISCOVERY_DOMAIN } from "./widearea-dns.js";
import { discoverGatewayBeacons } from "./bonjour-discovery.js";
import { WIDE_AREA_DISCOVERY_DOMAIN } from "./widearea-dns.js";
describe("bonjour-discovery", () => {
it("discovers beacons on darwin across local + wide-area domains", async () => {
const calls: Array<{ argv: string[]; timeoutMs: number }> = [];
const run = vi.fn(async (argv: string[], options: { timeoutMs: number }) => {
calls.push({ argv, timeoutMs: options.timeoutMs });
const domain = argv[3] ?? "";
const run = vi.fn(
async (argv: string[], options: { timeoutMs: number }) => {
calls.push({ argv, timeoutMs: options.timeoutMs });
const domain = argv[3] ?? "";
if (argv[0] === "dns-sd" && argv[1] === "-B") {
if (domain === "local.") {
return {
stdout: [
"Add 2 3 local. _clawdbot-bridge._tcp. Studio Bridge",
"Add 2 3 local. _clawdbot-bridge._tcp. Laptop Bridge",
"",
].join("\n"),
stderr: "",
code: 0,
signal: null,
killed: false,
};
}
if (domain === WIDE_AREA_DISCOVERY_DOMAIN) {
return {
stdout: [
`Add 2 3 ${WIDE_AREA_DISCOVERY_DOMAIN} _clawdbot-bridge._tcp. Tailnet Bridge`,
"",
].join("\n"),
stderr: "",
code: 0,
signal: null,
killed: false,
};
}
}
if (argv[0] === "dns-sd" && argv[1] === "-L") {
const instance = argv[2] ?? "";
const host =
instance === "Studio Bridge"
? "studio.local"
: instance === "Laptop Bridge"
? "laptop.local"
: "tailnet.local";
const tailnetDns =
instance === "Tailnet Bridge" ? "studio.tailnet.ts.net" : "";
const txtParts = [
"txtvers=1",
`displayName=${instance.replace(" Bridge", "")}`,
`lanHost=${host}`,
"gatewayPort=18789",
"bridgePort=18790",
"sshPort=22",
tailnetDns ? `tailnetDns=${tailnetDns}` : null,
].filter((v): v is string => Boolean(v));
if (argv[0] === "dns-sd" && argv[1] === "-B") {
if (domain === "local.") {
return {
stdout: [
"Add 2 3 local. _clawdbot-bridge._tcp. Studio Bridge",
"Add 2 3 local. _clawdbot-bridge._tcp. Laptop Bridge",
`${instance}._clawdbot-bridge._tcp. can be reached at ${host}:18790`,
txtParts.join(" "),
"",
].join("\n"),
stderr: "",
@@ -26,55 +73,10 @@ describe("bonjour-discovery", () => {
killed: false,
};
}
if (domain === WIDE_AREA_DISCOVERY_DOMAIN) {
return {
stdout: [
`Add 2 3 ${WIDE_AREA_DISCOVERY_DOMAIN} _clawdbot-bridge._tcp. Tailnet Bridge`,
"",
].join("\n"),
stderr: "",
code: 0,
signal: null,
killed: false,
};
}
}
if (argv[0] === "dns-sd" && argv[1] === "-L") {
const instance = argv[2] ?? "";
const host =
instance === "Studio Bridge"
? "studio.local"
: instance === "Laptop Bridge"
? "laptop.local"
: "tailnet.local";
const tailnetDns =
instance === "Tailnet Bridge" ? "studio.tailnet.ts.net" : "";
const txtParts = [
"txtvers=1",
`displayName=${instance.replace(" Bridge", "")}`,
`lanHost=${host}`,
"gatewayPort=18789",
"bridgePort=18790",
"sshPort=22",
tailnetDns ? `tailnetDns=${tailnetDns}` : null,
].filter((v): v is string => Boolean(v));
return {
stdout: [
`${instance}._clawdbot-bridge._tcp. can be reached at ${host}:18790`,
txtParts.join(" "),
"",
].join("\n"),
stderr: "",
code: 0,
signal: null,
killed: false,
};
}
throw new Error(`unexpected argv: ${argv.join(" ")}`);
});
throw new Error(`unexpected argv: ${argv.join(" ")}`);
},
);
const beacons = await discoverGatewayBeacons({
platform: "darwin",