diff --git a/packages/contracts/src/settings.test.ts b/packages/contracts/src/settings.test.ts index 46a4d25ac303cd9d0dff6edeec6c695265108809..8ff14d959eb151ff1fe141f8c37c64231abbb6da 100644 --- a/packages/contracts/src/settings.test.ts +++ b/packages/contracts/src/settings.test.ts @@ -136,6 +136,14 @@ describe("ServerSettings.providerInstances (slice-2 invariant)", () => { expect(decoded.providers.codex.enabled).toBe(true); }); + it("enables every built-in provider by default", () => { + const decoded = decodeServerSettings({}); + expect(decoded.providers.cursor.enabled).toBe(true); + expect(decoded.providers.claudeAgent.enabled).toBe(true); + expect(decoded.providers.grok.enabled).toBe(true); + expect(decoded.providers.opencode.enabled).toBe(true); + }); + it("decodes a multi-instance map mixing first-party and fork drivers", () => { const decoded = decodeServerSettings({ providerInstances: { diff --git a/packages/contracts/src/settings.ts b/packages/contracts/src/settings.ts index 96ee5b85c05ad48cd5453074aef809bb805461c0..133358c812e57167a58f96d370b9268ee3642473 100644 --- a/packages/contracts/src/settings.ts +++ b/packages/contracts/src/settings.ts @@ -410,7 +410,7 @@ export const CursorSettings = makeProviderSettingsSchema( // Off by default (like Grok and OpenCode): the binding is not yet // stable enough to probe on every install. Users opt in from Settings. enabled: Schema.Boolean.pipe( - Schema.withDecodingDefault(Effect.succeed(false)), + Schema.withDecodingDefault(Effect.succeed(true)), Schema.annotateKey({ providerSettingsForm: { hidden: true } }), ), binaryPath: makeBinaryPathSetting("cursor-agent").pipe(