diff --git a/apps/server/integration/NetworkTransferMeasurement.integration.ts b/apps/server/integration/NetworkTransferMeasurement.integration.ts index 4da20cac9e05b3c0eb1dd0a27c691d0b25624fb0..fbbdd8fb156b0db4f51bba1232c4128ce3c8206f 100644 --- a/apps/server/integration/NetworkTransferMeasurement.integration.ts +++ b/apps/server/integration/NetworkTransferMeasurement.integration.ts @@ -120,7 +120,7 @@ function rawDataBytes(data: NodeSocket.NodeWS.RawData): number { return data.byteLength; } -export function makeWebSocketTransferRecorder(): WebSocketTransferRecorder { +function makeWebSocketTransferRecorder(): WebSocketTransferRecorder { let socket: NodeWebSocketWithTransport | null = null; // Held separately from the WebSocket so wire totals survive a close, which // is when a reconnect measurement reads them. @@ -176,7 +176,7 @@ export function transferDelta( }; } -export function countingWsRpcProtocolLayer(input: { +function countingWsRpcProtocolLayer(input: { readonly url: string; readonly cookie: string; readonly recorder: WebSocketTransferRecorder; @@ -194,7 +194,7 @@ export function countingWsRpcProtocolLayer(input: { ); } -export const makeCountingWsRpcClient = RpcClient.make(WsRpcGroup); +const makeCountingWsRpcClient = RpcClient.make(WsRpcGroup); export type CountingWsRpcClient = Effect.Success; export interface MeasuredWsClient { diff --git a/apps/server/integration/TransferBudgetReport.integration.ts b/apps/server/integration/TransferBudgetReport.integration.ts index d82688d2863f2b44436599428e2edfe11e02b17b..fe0b3ed8e64833565141443b904bf22e85ccdb87 100644 --- a/apps/server/integration/TransferBudgetReport.integration.ts +++ b/apps/server/integration/TransferBudgetReport.integration.ts @@ -56,7 +56,7 @@ const TRANSFER_BUDGET = { measuredTurnWebSocketMessages: 21, } satisfies ProviderTransferBudget; -export const TRANSFER_BUDGETS: Readonly> = { +const TRANSFER_BUDGETS: Readonly> = { codex: TRANSFER_BUDGET, claudeAgent: TRANSFER_BUDGET, }; diff --git a/apps/server/integration/TransferBudgetScenario.integration.ts b/apps/server/integration/TransferBudgetScenario.integration.ts index 33e149dd24841e3b2fcda1fe3737de1ac70f9ce2..ccede4204f6657895e53935da2d27a237ae5c602 100644 --- a/apps/server/integration/TransferBudgetScenario.integration.ts +++ b/apps/server/integration/TransferBudgetScenario.integration.ts @@ -26,7 +26,7 @@ import { TRANSFER_HISTORY_TURN_COUNT, } from "./fixtures/transferBudget.ts"; -export const TRANSFER_PROJECT_ID = ProjectId.make("transfer-budget-project"); +const TRANSFER_PROJECT_ID = ProjectId.make("transfer-budget-project"); export const TRANSFER_THREAD_ID = ThreadId.make("transfer-budget-thread"); export const TRANSFER_MEASURED_TURN_INDEX = TRANSFER_HISTORY_TURN_COUNT; diff --git a/apps/server/src/diagnostics/ProcessDiagnostics.ts b/apps/server/src/diagnostics/ProcessDiagnostics.ts index 2f740aa37b1a5261f507edc01712bdb195538188..4fa60160e507be244ff669554e307aded49099e4 100644 --- a/apps/server/src/diagnostics/ProcessDiagnostics.ts +++ b/apps/server/src/diagnostics/ProcessDiagnostics.ts @@ -54,6 +54,7 @@ function canSignalCategory(category: ResourceTelemetryProcessCategory): boolean ); } +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.fn("makeProcessDiagnostics")(function* () { const telemetry = yield* ResourceTelemetry.ResourceTelemetry; const refreshedTelemetry = telemetry.refresh.pipe(Effect.catch(() => telemetry.latest)); diff --git a/apps/server/src/diagnostics/ProcessResourceMonitor.ts b/apps/server/src/diagnostics/ProcessResourceMonitor.ts index 5f5e32dd28da51935ec91db792db7a2cc1e2359f..aa11e5f42d3903461f483a0b19620985e6bf9ef5 100644 --- a/apps/server/src/diagnostics/ProcessResourceMonitor.ts +++ b/apps/server/src/diagnostics/ProcessResourceMonitor.ts @@ -28,6 +28,7 @@ function isLegacyBackendCategory(category: ResourceTelemetryProcessCategory): bo ); } +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.fn("makeProcessResourceMonitor")(function* () { const telemetry = yield* ResourceTelemetry.ResourceTelemetry; const readHistory: ProcessResourceMonitor["Service"]["readHistory"] = (input) => diff --git a/apps/server/src/diagnostics/TraceDiagnostics.ts b/apps/server/src/diagnostics/TraceDiagnostics.ts index 85900e6915cba156342280a7abefcc51c10d24d3..58b08ea8b5721f954ca84f62d5c1c919bc2cbc3a 100644 --- a/apps/server/src/diagnostics/TraceDiagnostics.ts +++ b/apps/server/src/diagnostics/TraceDiagnostics.ts @@ -411,6 +411,7 @@ function readTraceFile( ); } +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const fileSystem = yield* FileSystem.FileSystem; diff --git a/apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts b/apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts index 528c9cf2b229491afd910c96319495548e3a5815..67842addd7df0e003b9924f34a9e7eaabfab3a39 100644 --- a/apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts +++ b/apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts @@ -327,6 +327,7 @@ export function requireDesktopTelemetryWriteProgress( : Effect.fail(new DesktopTelemetryControlStalled({ fd, remainingBytes })); } +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.fn("resourceTelemetry.desktopTelemetryReceiver.make")(function* () { const config = yield* ServerConfig; const serverSettings = yield* ServerSettingsService; diff --git a/apps/server/src/resourceTelemetry/Model.ts b/apps/server/src/resourceTelemetry/Model.ts index a198c4b311f7696dab30d55cdb8577c4b3c3f2d6..2582d7e9c17f78a0507cf1f9b0cde90fefba6a47 100644 --- a/apps/server/src/resourceTelemetry/Model.ts +++ b/apps/server/src/resourceTelemetry/Model.ts @@ -68,7 +68,7 @@ export interface MergeProcessesResult { readonly deltas: ReadonlyArray; } -export const emptyGroupCounters = (): GroupCounters => ({ +const emptyGroupCounters = (): GroupCounters => ({ cpuTimeMs: 0, ioReadBytes: 0, ioWriteBytes: 0, diff --git a/apps/server/src/resourceTelemetry/NativeTelemetryClient.ts b/apps/server/src/resourceTelemetry/NativeTelemetryClient.ts index aafa88cc92253d76a734103571fb329c7018c4df..40254bfe80aac498942685d70bb0b611dfa51736 100644 --- a/apps/server/src/resourceTelemetry/NativeTelemetryClient.ts +++ b/apps/server/src/resourceTelemetry/NativeTelemetryClient.ts @@ -360,6 +360,7 @@ export function canCommandNativeTelemetrySidecar( return hasHandle && (status === "healthy" || status === "degraded"); } +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.fn("resourceTelemetry.nativeTelemetryClient.make")(function* () { const binary = yield* ResourceMonitorBinary.ResourceMonitorBinary; const spawner = yield* ChildProcessSpawner.ChildProcessSpawner; diff --git a/apps/server/src/resourceTelemetry/ResourceMonitorBinary.ts b/apps/server/src/resourceTelemetry/ResourceMonitorBinary.ts index d53fb4791b935d383c01d220613b81058b263b14..52c123fe66258c82a2b0e28f90648d1f322fba74 100644 --- a/apps/server/src/resourceTelemetry/ResourceMonitorBinary.ts +++ b/apps/server/src/resourceTelemetry/ResourceMonitorBinary.ts @@ -90,7 +90,7 @@ export const ResourceMonitorHostLinuxLibc = Context.Reference string { +function makeDayFormatter(timeZone: string): (timestampMs: number) => string { let format: Intl.DateTimeFormat; try { format = new Intl.DateTimeFormat("en-CA", { diff --git a/apps/server/src/usage/usageScanCache.ts b/apps/server/src/usage/usageScanCache.ts index 102058a07d3583d52b3a1ef1d9f738b21b315639..224f109147e4922ef78cc031d1c9394855ec0935 100644 --- a/apps/server/src/usage/usageScanCache.ts +++ b/apps/server/src/usage/usageScanCache.ts @@ -26,7 +26,7 @@ import type { CodexScanState, UsageRecord } from "./usageTranscripts.ts"; // entries would keep serving double-counted records forever. // v3: entries carry the parse position and reducer state so a grown file // re-parses only its appended bytes instead of starting over. -export const USAGE_SCAN_CACHE_VERSION = 3 as const; +const USAGE_SCAN_CACHE_VERSION = 3 as const; export interface CachedFile { readonly size: number; diff --git a/apps/server/src/usage/usageTranscripts.ts b/apps/server/src/usage/usageTranscripts.ts index 2aea60709666505091c110a189c02f3739f041d1..5d909379eb10d21c58f112d72a43cfee131476ce 100644 --- a/apps/server/src/usage/usageTranscripts.ts +++ b/apps/server/src/usage/usageTranscripts.ts @@ -79,7 +79,7 @@ export function mightCarryUsage(line: string, provider: UsageProviderKind): bool */ export const GROK_COST_USD_TICKS_PER_DOLLAR = 10_000_000_000; -export function grokCostTicksToUsd(ticks: unknown): number | null { +function grokCostTicksToUsd(ticks: unknown): number | null { if (typeof ticks !== "number" || !Number.isFinite(ticks) || ticks < 0) return null; return ticks / GROK_COST_USD_TICKS_PER_DOLLAR; }