From 161715b1e4fa6d20fe3eb1cb9c91904bf83ca4c1 Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Tue, 8 Sep 2026 01:11:09 -0700 Subject: [PATCH] refactor(server): classify service exports (#10276) --- apps/server/src/assets/NativeAppIconResolver.ts | 1 + apps/server/src/desktopUpdate/DesktopAppUpdate.ts | 2 +- apps/server/src/git/GitWorkflowService.ts | 1 + apps/server/src/observability/BrowserTraceCollector.ts | 1 + apps/server/src/preview/Manager.ts | 1 + apps/server/src/preview/PortScanner.ts | 1 + apps/server/src/project/AgentSessionScanner.ts | 1 + apps/server/src/project/ProjectSetupScriptRunner.ts | 1 + apps/server/src/project/T3ProjectFileLoader.ts | 1 + apps/server/src/relay/AgentAwarenessRelay.ts | 3 ++- apps/server/src/review/ReviewService.ts | 1 + apps/server/src/terminal/Manager.ts | 1 + apps/server/src/textGeneration/TextGeneration.ts | 1 + apps/server/src/textGeneration/TextGenerationPresets.ts | 5 ----- apps/server/src/vcs/VcsProjectConfig.ts | 1 + apps/server/src/vcs/VcsProvisioningService.ts | 1 + apps/server/src/vcs/VcsStatusBroadcaster.ts | 1 + apps/server/src/workspace/WorkspaceEntries.ts | 1 + apps/server/src/workspace/WorkspaceFileSystem.ts | 1 + apps/server/src/workspace/WorkspaceSearchIndex.ts | 2 ++ 20 files changed, 21 insertions(+), 7 deletions(-) diff --git a/apps/server/src/assets/NativeAppIconResolver.ts b/apps/server/src/assets/NativeAppIconResolver.ts index ba572650d40824e8a7b9005ae5292870158703cb..89a6d063601231367259ae888ddd5df888369807 100644 --- a/apps/server/src/assets/NativeAppIconResolver.ts +++ b/apps/server/src/assets/NativeAppIconResolver.ts @@ -206,6 +206,7 @@ const resolveNativeAppIconUncached = Effect.fn("NativeAppIconResolver.resolveUnc return yield* existingFile(cachePath); }); +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const fileSystem = yield* FileSystem.FileSystem; const hostPlatform = yield* HostProcessPlatform; diff --git a/apps/server/src/desktopUpdate/DesktopAppUpdate.ts b/apps/server/src/desktopUpdate/DesktopAppUpdate.ts index 1e7b54b2474b81c927e25540ec505ec804d8d416..9c5d88bd7910b48ee587cc9317e742036c9ec8ef 100644 --- a/apps/server/src/desktopUpdate/DesktopAppUpdate.ts +++ b/apps/server/src/desktopUpdate/DesktopAppUpdate.ts @@ -25,7 +25,7 @@ const DESKTOP_INSTALL_TIMEOUT = Duration.minutes(2); /** Progress stage a desktop update state maps to, or null when the state carries no progress worth streaming. */ -export function desktopUpdateProgressStage( +function desktopUpdateProgressStage( state: DesktopUpdateState, ): ServerSelfUpdateProgressStage | null { switch (state.status) { diff --git a/apps/server/src/git/GitWorkflowService.ts b/apps/server/src/git/GitWorkflowService.ts index c9b4a4cca36572e21ab7af4934c98212a84b24af..e90a59fae8f1a7433b21e989ed043a71e57354fa 100644 --- a/apps/server/src/git/GitWorkflowService.ts +++ b/apps/server/src/git/GitWorkflowService.ts @@ -142,6 +142,7 @@ function nonRepositoryListRefs(): VcsListRefsResult { }; } +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const registry = yield* VcsDriverRegistry.VcsDriverRegistry; const git = yield* GitVcsDriver.GitVcsDriver; diff --git a/apps/server/src/observability/BrowserTraceCollector.ts b/apps/server/src/observability/BrowserTraceCollector.ts index 300a50fe33086c5334f8388cedf7cb20c652a76e..ee197dd0d7d34ac72571cb2768bb52655b1fc06d 100644 --- a/apps/server/src/observability/BrowserTraceCollector.ts +++ b/apps/server/src/observability/BrowserTraceCollector.ts @@ -10,6 +10,7 @@ export class BrowserTraceCollector extends Context.Service< } >()("t3/observability/BrowserTraceCollector") {} +/** @public Service construction is part of the canonical Effect module API. */ export const make = (sink: TraceSink): BrowserTraceCollector["Service"] => BrowserTraceCollector.of({ record: (records) => diff --git a/apps/server/src/preview/Manager.ts b/apps/server/src/preview/Manager.ts index 3c0169eba40a247998a33dbedf9170158d8c7115..a5f5cba9ccd073ccd0469545c232be270a759692 100644 --- a/apps/server/src/preview/Manager.ts +++ b/apps/server/src/preview/Manager.ts @@ -153,6 +153,7 @@ const buildIdleSnapshot = (input: { updatedAt: input.updatedAt, }); +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* PreviewManagerMake() { const serverEpoch = NodeCrypto.randomUUID(); const stateRef = yield* SynchronizedRef.make(initialState); diff --git a/apps/server/src/preview/PortScanner.ts b/apps/server/src/preview/PortScanner.ts index 4571aeef4c6bd639a3bd71b0c382dea3a9184b98..f4d73d62320d8a737e38eba6a8affdc690ccde59 100644 --- a/apps/server/src/preview/PortScanner.ts +++ b/apps/server/src/preview/PortScanner.ts @@ -289,6 +289,7 @@ const serversEqual = ( return true; }; +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* PortDiscoveryMake() { const net = yield* Net.NetService; const processRunner = yield* ProcessRunner.ProcessRunner; diff --git a/apps/server/src/project/AgentSessionScanner.ts b/apps/server/src/project/AgentSessionScanner.ts index 1dfd1d5df8af646c42bed791230b818a45f0423a..975192e700331d8fd6036c935f35addb14588cdb 100644 --- a/apps/server/src/project/AgentSessionScanner.ts +++ b/apps/server/src/project/AgentSessionScanner.ts @@ -615,6 +615,7 @@ function sameTranscriptIdentity( ); } +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const fileSystem = yield* FileSystem.FileSystem; // Different project imports can arrive concurrently from multiple clients. diff --git a/apps/server/src/project/ProjectSetupScriptRunner.ts b/apps/server/src/project/ProjectSetupScriptRunner.ts index 9c222c969ad36b6d441e3276284facb9ce0c4607..3bbb0daa7994087127533bc1b0fc9112ffb29cdc 100644 --- a/apps/server/src/project/ProjectSetupScriptRunner.ts +++ b/apps/server/src/project/ProjectSetupScriptRunner.ts @@ -83,6 +83,7 @@ export class ProjectSetupScriptRunner extends Context.Service< } >()("t3/project/ProjectSetupScriptRunner") {} +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const projectionSnapshotQuery = yield* ProjectionSnapshotQuery.ProjectionSnapshotQuery; const terminalManager = yield* TerminalManager.TerminalManager; diff --git a/apps/server/src/project/T3ProjectFileLoader.ts b/apps/server/src/project/T3ProjectFileLoader.ts index 473dce6950463b6f4ed8c864e7144da6b80fb64c..105e6b09a317e367f165a393e6b59f52f0e73a50 100644 --- a/apps/server/src/project/T3ProjectFileLoader.ts +++ b/apps/server/src/project/T3ProjectFileLoader.ts @@ -59,6 +59,7 @@ const logT3ProjectFileLoadError = (error: T3ProjectFileLoadError) => }), ); +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const fileSystem = yield* FileSystem.FileSystem; const path = yield* Path.Path; diff --git a/apps/server/src/relay/AgentAwarenessRelay.ts b/apps/server/src/relay/AgentAwarenessRelay.ts index 8d7b9e98361ea86a9a1e2a201e5370673afa6912..052a67959ad1329d076020347af3f8476a58cade 100644 --- a/apps/server/src/relay/AgentAwarenessRelay.ts +++ b/apps/server/src/relay/AgentAwarenessRelay.ts @@ -211,7 +211,7 @@ const makePublishProof = Effect.fn("makePublishProof")(function* (input: { }); // Compact, log-safe view of the fields the awareness phase ladder reads. -export function describeThreadShellForAwareness( +function describeThreadShellForAwareness( thread: Option.Option, ): Record { if (Option.isNone(thread)) { @@ -290,6 +290,7 @@ export function resolveAgentAwarenessRelayActiveThreadIds(input: { .map((thread) => thread.id); } +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const secrets = yield* ServerSecretStore.ServerSecretStore; const serverEnvironment = yield* ServerEnvironment.ServerEnvironment; diff --git a/apps/server/src/review/ReviewService.ts b/apps/server/src/review/ReviewService.ts index 275dcb4166107899c371838b18d90505fbfa8d79..dc13e5650c3ca3668764c7cd7ac8236761b8c79f 100644 --- a/apps/server/src/review/ReviewService.ts +++ b/apps/server/src/review/ReviewService.ts @@ -31,6 +31,7 @@ export class ReviewService extends Context.Service< } >()("t3/review/ReviewService") {} +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const config = yield* ServerConfig.ServerConfig; const fileSystem = yield* FileSystem.FileSystem; diff --git a/apps/server/src/terminal/Manager.ts b/apps/server/src/terminal/Manager.ts index 82664f666f530c65b36524e2206e3fe1385529ae..174ed4206afc9874a53cf59c787edef294d71eeb 100644 --- a/apps/server/src/terminal/Manager.ts +++ b/apps/server/src/terminal/Manager.ts @@ -1385,6 +1385,7 @@ export const resolveProviderInstanceTerminalEnvironment = Effect.fn( ); }); +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.fn("TerminalManager.make")(function* () { const { terminalLogsDir } = yield* ServerConfig.ServerConfig; const ptyAdapter = yield* PtyAdapter.PtyAdapter; diff --git a/apps/server/src/textGeneration/TextGeneration.ts b/apps/server/src/textGeneration/TextGeneration.ts index cc9b2e3926f36455e8e9d5d78f0e04c223fbc02e..84730d639ac6b79c8fdb88251627c97c2f952495 100644 --- a/apps/server/src/textGeneration/TextGeneration.ts +++ b/apps/server/src/textGeneration/TextGeneration.ts @@ -153,6 +153,7 @@ export const makeTextGenerationFromRegistry = ( ), }); +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const registry = yield* ProviderInstanceRegistry.ProviderInstanceRegistry; return makeTextGenerationFromRegistry(registry); diff --git a/apps/server/src/textGeneration/TextGenerationPresets.ts b/apps/server/src/textGeneration/TextGenerationPresets.ts index 0f5d03480f49bc4ee4a1bdfaa7accc82ed0b5617..5fab9219080fabdbf225acb6a8721c08b20987b7 100644 --- a/apps/server/src/textGeneration/TextGenerationPresets.ts +++ b/apps/server/src/textGeneration/TextGenerationPresets.ts @@ -1,10 +1,5 @@ import type { TextGenerationPolicy } from "./TextGenerationPolicy.ts"; -export const defaultTextGenerationPolicy: TextGenerationPolicy = { - kind: "default", - inferRepositoryConventions: false, -}; - export const conventionalCommitsTextGenerationPolicy: TextGenerationPolicy = { kind: "conventional_commits", commitInstructions: diff --git a/apps/server/src/vcs/VcsProjectConfig.ts b/apps/server/src/vcs/VcsProjectConfig.ts index 98e65751185f42f3492d37b902666827a68bc703..74d3801c06861ea32c81098d8cef174eb95ee47b 100644 --- a/apps/server/src/vcs/VcsProjectConfig.ts +++ b/apps/server/src/vcs/VcsProjectConfig.ts @@ -64,6 +64,7 @@ const logVcsProjectConfigError = (error: VcsProjectConfigError) => }), ); +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const fileSystem = yield* FileSystem.FileSystem; const path = yield* Path.Path; diff --git a/apps/server/src/vcs/VcsProvisioningService.ts b/apps/server/src/vcs/VcsProvisioningService.ts index 9febacf2256aa2d0b7a826673a9b9561e29f8fb7..e58099b615dbd6391ce58115989e95d069c36853 100644 --- a/apps/server/src/vcs/VcsProvisioningService.ts +++ b/apps/server/src/vcs/VcsProvisioningService.ts @@ -35,6 +35,7 @@ function resolveRequestedKind( return Effect.succeed(kind); } +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const registry = yield* VcsDriverRegistry.VcsDriverRegistry; diff --git a/apps/server/src/vcs/VcsStatusBroadcaster.ts b/apps/server/src/vcs/VcsStatusBroadcaster.ts index c00a07f2a7a98f3045730b8f762319528e4b1767..b9fc9e7ee3ab662a5b41ace1f8d8fde61e07eedf 100644 --- a/apps/server/src/vcs/VcsStatusBroadcaster.ts +++ b/apps/server/src/vcs/VcsStatusBroadcaster.ts @@ -217,6 +217,7 @@ const normalizeCwd = (cwd: string) => Effect.orElseSucceed(() => cwd), ); +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const autoPullPolicy = yield* VcsAutoPullPolicy; const workflow = yield* GitWorkflowService.GitWorkflowService; diff --git a/apps/server/src/workspace/WorkspaceEntries.ts b/apps/server/src/workspace/WorkspaceEntries.ts index 608d3092b6a96f76f0ef84edbdf5cbaca9a83577..4bdf4d45a8c938d8f64b6aa5d6b18111fb1ea120 100644 --- a/apps/server/src/workspace/WorkspaceEntries.ts +++ b/apps/server/src/workspace/WorkspaceEntries.ts @@ -128,6 +128,7 @@ const resolveBrowseTarget = Effect.fn("WorkspaceEntries.resolveBrowseTarget")(fu return path.resolve(expandHomePathWith(input.cwd, path), input.partialPath); }); +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const path = yield* Path.Path; const workspacePaths = yield* WorkspacePaths.WorkspacePaths; diff --git a/apps/server/src/workspace/WorkspaceFileSystem.ts b/apps/server/src/workspace/WorkspaceFileSystem.ts index 5198f5e84f88187f9a0d99967ab26c87a7d38197..9ef3d4546d1db29db4f22d55fbf78d615b5b3913 100644 --- a/apps/server/src/workspace/WorkspaceFileSystem.ts +++ b/apps/server/src/workspace/WorkspaceFileSystem.ts @@ -132,6 +132,7 @@ export class WorkspaceFileSystem extends Context.Service< } >()("t3/workspace/WorkspaceFileSystem") {} +/** @public Service construction is part of the canonical Effect module API. */ export const make = Effect.gen(function* () { const fileSystem = yield* FileSystem.FileSystem; const path = yield* Path.Path; diff --git a/apps/server/src/workspace/WorkspaceSearchIndex.ts b/apps/server/src/workspace/WorkspaceSearchIndex.ts index 8a2548eb2f2935d39f5a1f2ebb0790ac2c8713d9..44a9c3397c6ff7c775922b621d92e218ed094305 100644 --- a/apps/server/src/workspace/WorkspaceSearchIndex.ts +++ b/apps/server/src/workspace/WorkspaceSearchIndex.ts @@ -551,6 +551,8 @@ function parseWorkspaceSearchIndexKey(key: string): { * workspace root and variant. WorkspaceSearchIndexMap owns memoization and * idle cleanup; using a default cwd here would mix resources from different * workspaces. + * + * @public Service construction is part of the canonical Effect module API. */ export const layer = (key: string) => { const { cwd, variant } = parseWorkspaceSearchIndexKey(key); -- 2.54.0