From 2b9991c748246d0f9758f9261cfd2bf10c19dc34 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 13 Jul 2026 10:27:34 -0700 Subject: [PATCH] refactor(agents): privatize native hook relay internals (#106634) * refactor(agents): privatize native hook relay internals * chore(ci): shrink dead-export baseline --- scripts/deadcode-exports.baseline.mjs | 9 --------- src/agents/harness/native-hook-relay.ts | 24 +++++++++--------------- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/scripts/deadcode-exports.baseline.mjs b/scripts/deadcode-exports.baseline.mjs index 85f67d663939..804b8d927dcf 100644 --- a/scripts/deadcode-exports.baseline.mjs +++ b/scripts/deadcode-exports.baseline.mjs @@ -964,15 +964,6 @@ export const KNIP_UNUSED_EXPORT_BASELINE = [ "src/agents/fallback-skip-cache.ts: resetFallbackSkipCacheForTest", "src/agents/harness/context-engine-lifecycle.ts: HarnessContextEngine", "src/agents/harness/lifecycle-hook-helpers.ts: clearAgentHarnessFinalizeRetryBudget", - "src/agents/harness/native-hook-relay.ts: InvokeNativeHookRelayBridgeParams", - "src/agents/harness/native-hook-relay.ts: InvokeNativeHookRelayParams", - "src/agents/harness/native-hook-relay.ts: JsonValue", - "src/agents/harness/native-hook-relay.ts: NativeHookRelayCommandForEventOptions", - "src/agents/harness/native-hook-relay.ts: NativeHookRelayCommandOptions", - "src/agents/harness/native-hook-relay.ts: NativeHookRelayDeferredApprovalOutcome", - "src/agents/harness/native-hook-relay.ts: NativeHookRelayInvocation", - "src/agents/harness/native-hook-relay.ts: NativeHookRelayRegistration", - "src/agents/harness/native-hook-relay.ts: RegisterNativeHookRelayParams", "src/agents/harness/types.ts: AgentHarnessSideQuestionPreparedRuntimeAuth", "src/agents/harness/types.ts: ExpectedAgentHarnessRuntimeArtifact", "src/agents/identity-avatar-file.ts: LocalAgentAvatarFailureReason", diff --git a/src/agents/harness/native-hook-relay.ts b/src/agents/harness/native-hook-relay.ts index 851a4b2cb940..9e3b6a8cea18 100644 --- a/src/agents/harness/native-hook-relay.ts +++ b/src/agents/harness/native-hook-relay.ts @@ -48,13 +48,7 @@ import { callGatewayTool } from "../tools/gateway.js"; import { runAgentHarnessAfterToolCallHook } from "./hook-helpers.js"; import { runAgentHarnessBeforeAgentFinalizeHook } from "./lifecycle-hook-helpers.js"; -export type JsonValue = - | null - | boolean - | number - | string - | JsonValue[] - | { [key: string]: JsonValue }; +type JsonValue = null | boolean | number | string | JsonValue[] | { [key: string]: JsonValue }; const NATIVE_HOOK_RELAY_EVENTS = [ "pre_tool_use", @@ -68,7 +62,7 @@ const NATIVE_HOOK_RELAY_PROVIDERS = ["codex"] as const; export type NativeHookRelayEvent = (typeof NATIVE_HOOK_RELAY_EVENTS)[number]; export type NativeHookRelayProvider = (typeof NATIVE_HOOK_RELAY_PROVIDERS)[number]; -export type NativeHookRelayInvocation = { +type NativeHookRelayInvocation = { provider: NativeHookRelayProvider; relayId: string; event: NativeHookRelayEvent; @@ -97,7 +91,7 @@ export type NativeHookRelayProcessResponse = { failureDisposition?: Exclude; }; -export type NativeHookRelayRegistration = { +type NativeHookRelayRegistration = { relayId: string; provider: NativeHookRelayProvider; generationMismatchGraceExpiresAtMs?: number; @@ -130,7 +124,7 @@ export type NativeHookRelayRegistrationHandle = NativeHookRelayRegistration & { unregister: () => void; }; -export type RegisterNativeHookRelayParams = { +type RegisterNativeHookRelayParams = { provider: NativeHookRelayProvider; relayId?: string; generation?: string; @@ -148,18 +142,18 @@ export type RegisterNativeHookRelayParams = { onPreToolUseFailure?: NativeHookRelayRegistration["onPreToolUseFailure"]; }; -export type NativeHookRelayCommandOptions = { +type NativeHookRelayCommandOptions = { executable?: string; nice?: number | false; nodeExecutable?: string; timeoutMs?: number; }; -export type NativeHookRelayCommandForEventOptions = { +type NativeHookRelayCommandForEventOptions = { timeoutMs?: number; }; -export type InvokeNativeHookRelayParams = { +type InvokeNativeHookRelayParams = { provider: unknown; relayId: unknown; generation?: unknown; @@ -168,7 +162,7 @@ export type InvokeNativeHookRelayParams = { requireGeneration?: boolean; }; -export type InvokeNativeHookRelayBridgeParams = InvokeNativeHookRelayParams & { +type InvokeNativeHookRelayBridgeParams = InvokeNativeHookRelayParams & { registrationTimeoutMs?: number; timeoutMs?: number; }; @@ -318,7 +312,7 @@ type NativeHookRelayPreToolUseApproval = { resolutionPromise?: Promise; }; -export type NativeHookRelayDeferredApprovalOutcome = +type NativeHookRelayDeferredApprovalOutcome = | { handled: true; outcome: "approved-once";