diff --git a/knip.json b/knip.json index 9b02c21db..5fe7a94e2 100644 --- a/knip.json +++ b/knip.json @@ -1,7 +1,17 @@ { "$schema": "./node_modules/knip/schema.json", - "entry": ["src/main.ts", "src/cli.ts", "scripts/rea.mjs", "scripts/scan-todos.mjs"], - "project": ["src/**/*.ts", "tests/**/*.ts", "scripts/**/*.mjs", "vitest.config.ts"], + "entry": [ + "src/main.ts", + "src/cli.ts", + "scripts/rea.mjs", + "scripts/scan-todos.mjs" + ], + "project": [ + "src/**/*.ts", + "tests/**/*.ts", + "scripts/**/*.mjs", + "vitest.config.ts" + ], "ignore": ["dist/**", "docs/**", ".codex/**", ".devin/**"], "ignoreDependencies": [], "rules": { diff --git a/src/application/Setup.ts b/src/application/Setup.ts index 441ce207f..e71fe586f 100644 --- a/src/application/Setup.ts +++ b/src/application/Setup.ts @@ -143,7 +143,7 @@ export const runSetup = async ( }; /** Production setup effects for macOS, Homebrew, JSON MCP clients, and the canonical skill directory. */ -export const systemSetupHost = (): SetupHost => { +const systemSetupHost = (): SetupHost => { const doctorHost = systemDoctorHost(); return { platform: process.platform, diff --git a/src/application/homebrew.ts b/src/application/homebrew.ts index cff3c89f6..2b2070001 100644 --- a/src/application/homebrew.ts +++ b/src/application/homebrew.ts @@ -1,5 +1,5 @@ /** Standard executable names and locations used to discover Homebrew. */ -export const HOMEBREW_COMMANDS = [ +const HOMEBREW_COMMANDS = [ "brew", "/opt/homebrew/bin/brew", "/usr/local/bin/brew", diff --git a/src/contracts/toolContracts.ts b/src/contracts/toolContracts.ts index b4ed03d1f..a606eb419 100644 --- a/src/contracts/toolContracts.ts +++ b/src/contracts/toolContracts.ts @@ -13,7 +13,7 @@ const caseSensitive = z .describe("Whether to match case"); /** Adapter family responsible for implementing a public MCP tool. */ -export type ToolKind = "official-proxy" | "enhanced" | "session"; +type ToolKind = "official-proxy" | "enhanced" | "session"; /** Single source of truth for a public tool's name, description, and input. */ export interface ToolContract { diff --git a/src/domain/binaryTarget.ts b/src/domain/binaryTarget.ts index 0620f5950..2f8c83e0c 100644 --- a/src/domain/binaryTarget.ts +++ b/src/domain/binaryTarget.ts @@ -12,7 +12,7 @@ import { BinaryTargetError } from "./errors.js"; import { err, ok, type Result } from "./result.js"; /** CPU families understood by the supported executable loaders. */ -export type BinaryArchitecture = "x86" | "x86_64" | "arm" | "arm64"; +type BinaryArchitecture = "x86" | "x86_64" | "arm" | "arm64"; /** * A canonical local target plus deterministic Hopper loader arguments. * Explicit loader and architecture flags prevent Hopper from presenting modal diff --git a/src/domain/errors.ts b/src/domain/errors.ts index 1ebe5dda6..c9a2b3809 100644 --- a/src/domain/errors.ts +++ b/src/domain/errors.ts @@ -47,17 +47,6 @@ export class HopperProcessError extends HopperError { } } -/** Hopper did not make the repository bridge available after launch. */ -export class HopperUnavailableError extends HopperError { - readonly _tag = "HopperUnavailableError"; - - constructor() { - super( - "Hopper did not start the analysis bridge. Check the target and loader architecture options, then retry.", - ); - } -} - /** Hopper or the repository bridge could not be started. */ export class HopperStartError extends HopperError { readonly _tag = "HopperStartError"; diff --git a/src/hopper/HopperClient.ts b/src/hopper/HopperClient.ts index 6f09dbc91..cf6fd535f 100644 --- a/src/hopper/HopperClient.ts +++ b/src/hopper/HopperClient.ts @@ -32,7 +32,7 @@ export interface HopperClientOptions { } /** Safe launcher telemetry; stderr content is intentionally never exposed. */ -export type HopperDiagnostic = +type HopperDiagnostic = | { readonly type: "launcher-stderr"; readonly bytes: number } | { readonly type: "launcher-exit"; readonly code: number | null };