diff --git a/apps/server/src/mcp/McpToolAccess.ts b/apps/server/src/mcp/McpToolAccess.ts index 9d99fb7da89e3..1eb4cf8c12f84 100644 --- a/apps/server/src/mcp/McpToolAccess.ts +++ b/apps/server/src/mcp/McpToolAccess.ts @@ -102,7 +102,7 @@ export const readsAsCaller = (handle: (params: P) => Effect.Effect(handle: (params: P) => Effect.Effect) => declare((params: P) => requireThreadCaller.pipe( - Effect.flatMap(() => writingCaller), + Effect.andThen(writingCaller), Effect.flatMap(() => handle(params)), ), ); diff --git a/apps/server/src/telemetry/AnalyticsService.ts b/apps/server/src/telemetry/AnalyticsService.ts index 54e3a3e6105d3..e88eaff9d079e 100644 --- a/apps/server/src/telemetry/AnalyticsService.ts +++ b/apps/server/src/telemetry/AnalyticsService.ts @@ -307,7 +307,7 @@ export const make = Effect.gen(function* () { ), ); - yield* Effect.forever(Effect.sleep(FLUSH_INTERVAL_MS).pipe(Effect.flatMap(() => flushWhenDue)), { + yield* Effect.forever(Effect.sleep(FLUSH_INTERVAL_MS).pipe(Effect.andThen(flushWhenDue)), { disableYield: true, }).pipe(Effect.forkScoped); diff --git a/packages/provider-acp/src/server/AcpSessionRuntime.ts b/packages/provider-acp/src/server/AcpSessionRuntime.ts index 9253e799221cd..5a3a2ff0166e5 100644 --- a/packages/provider-acp/src/server/AcpSessionRuntime.ts +++ b/packages/provider-acp/src/server/AcpSessionRuntime.ts @@ -2005,7 +2005,7 @@ export const make = Effect.fn("AcpSessionRuntime.make")(function* ( value: string | boolean, ): Effect.Effect => validateConfigOptionValue(configId, value).pipe( - Effect.flatMap(() => getStartedState), + Effect.andThen(getStartedState), Effect.flatMap((started) => Ref.get(configOptionsRef).pipe( Effect.flatMap((configOptions) => { diff --git a/tsconfig.base.json b/tsconfig.base.json index 71b0ad793e9ef..f6215a4d0fbee 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -24,6 +24,7 @@ "namespaceImportPackages": ["@effect/platform-node", "effect"], "effectFn": ["span", "inferred-span", "suggested-span"], "diagnosticSeverity": { + "flatMapIgnoredParamToAndThen": "error", "mapSomeToAsSome": "error", "unnecessaryPipeChain": "error", "effectFnOpportunity": "suggestion",