refactor: consolidate duplicate utility functions (#12439)

* refactor: consolidate duplicate utility functions

- Add escapeRegExp to src/utils.ts and remove 10 local duplicates
- Rename bash-tools clampNumber to clampWithDefault (different signature)
- Centralize formatError calls to use formatErrorMessage from infra/errors.ts
- Re-export formatErrorMessage from cli/cli-utils.ts to preserve API

* refactor: consolidate remaining escapeRegExp duplicates

* refactor: consolidate sleep, stripAnsi, and clamp duplicates
This commit is contained in:
max
2026-02-08 23:59:43 -08:00
committed by GitHub
parent 8968d9a339
commit ec910a235e
29 changed files with 67 additions and 146 deletions

View File

@@ -1,5 +1,6 @@
import { randomUUID } from "node:crypto";
import type { SystemPresence } from "../infra/system-presence.js";
import { formatErrorMessage } from "../infra/errors.js";
import { GATEWAY_CLIENT_MODES, GATEWAY_CLIENT_NAMES } from "../utils/message-channel.js";
import { GatewayClient } from "./client.js";
@@ -26,13 +27,6 @@ export type GatewayProbeResult = {
configSnapshot: unknown;
};
function formatError(err: unknown): string {
if (err instanceof Error) {
return err.message;
}
return String(err);
}
export async function probeGateway(opts: {
url: string;
auth?: GatewayProbeAuth;
@@ -65,7 +59,7 @@ export async function probeGateway(opts: {
mode: GATEWAY_CLIENT_MODES.PROBE,
instanceId,
onConnectError: (err) => {
connectError = formatError(err);
connectError = formatErrorMessage(err);
},
onClose: (code, reason) => {
close = { code, reason };
@@ -93,7 +87,7 @@ export async function probeGateway(opts: {
settle({
ok: false,
connectLatencyMs,
error: formatError(err),
error: formatErrorMessage(err),
close,
health: null,
status: null,