authorgravatar for 269035359+t3-code[bot]@users.noreply.github.comt3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> 2026-08-20 17:52:19-04:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-08-20 17:52:19-04:00
logfe87502084ad99209a22f801347102ebb29cc65b
tree64b721d32425c6743a963e89502ac9ac22554296
parent4bdbd8ce15fbeeb6514623704a203c43ad37d2cd
signature Signed by PGP key B5690EEEBB952194

fix(contracts): reconcile provider default tests (#7725)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>

2 files changed, 3 insertions(+), 11 deletions(-)

packages/contracts/src/settings.test.ts+2-9
...@@ -136,14 +136,6 @@ describe("ServerSettings.providerInstances (slice-2 invariant)", () => {...@@ -136,14 +136,6 @@ describe("ServerSettings.providerInstances (slice-2 invariant)", () => {
136 expect(decoded.providers.codex.enabled).toBe(true);136 expect(decoded.providers.codex.enabled).toBe(true);
137 });137 });
138138
139 it("enables every built-in provider by default", () => {
140 const decoded = decodeServerSettings({});
141 expect(decoded.providers.cursor.enabled).toBe(true);
142 expect(decoded.providers.claudeAgent.enabled).toBe(true);
143 expect(decoded.providers.grok.enabled).toBe(true);
144 expect(decoded.providers.opencode.enabled).toBe(true);
145 });
146
147 it("decodes a multi-instance map mixing first-party and fork drivers", () => {139 it("decodes a multi-instance map mixing first-party and fork drivers", () => {
148 const decoded = decodeServerSettings({140 const decoded = decodeServerSettings({
149 providerInstances: {141 providerInstances: {
...@@ -192,13 +184,14 @@ describe("provider enabled defaults", () => {...@@ -192,13 +184,14 @@ describe("provider enabled defaults", () => {
192 const decoded = decodeServerSettings({});184 const decoded = decodeServerSettings({});
193 expect(decoded.providers.codex.enabled).toBe(true);185 expect(decoded.providers.codex.enabled).toBe(true);
194 expect(decoded.providers.claudeAgent.enabled).toBe(true);186 expect(decoded.providers.claudeAgent.enabled).toBe(true);
195 expect(decoded.providers.cursor.enabled).toBe(false);187 expect(decoded.providers.cursor.enabled).toBe(true);
196 expect(decoded.providers.grok.enabled).toBe(false);188 expect(decoded.providers.grok.enabled).toBe(false);
197 expect(decoded.providers.opencode.enabled).toBe(false);189 expect(decoded.providers.opencode.enabled).toBe(false);
198 });190 });
199191
200 it("derives per-driver defaults from the settings schemas", () => {192 it("derives per-driver defaults from the settings schemas", () => {
201 expect(defaultEnabledForDriver(ProviderDriverKind.make("codex"))).toBe(true);193 expect(defaultEnabledForDriver(ProviderDriverKind.make("codex"))).toBe(true);
194 expect(defaultEnabledForDriver(ProviderDriverKind.make("cursor"))).toBe(true);
202 expect(defaultEnabledForDriver(ProviderDriverKind.make("grok"))).toBe(false);195 expect(defaultEnabledForDriver(ProviderDriverKind.make("grok"))).toBe(false);
203 // Unknown fork drivers stay enabled; their own build decides otherwise.196 // Unknown fork drivers stay enabled; their own build decides otherwise.
204 expect(defaultEnabledForDriver(ProviderDriverKind.make("ollama"))).toBe(true);197 expect(defaultEnabledForDriver(ProviderDriverKind.make("ollama"))).toBe(true);
packages/contracts/src/settings.ts+1-2
...@@ -407,8 +407,7 @@ export type ClaudeSettings = typeof ClaudeSettings.Type;...@@ -407,8 +407,7 @@ export type ClaudeSettings = typeof ClaudeSettings.Type;
407407
408export const CursorSettings = makeProviderSettingsSchema(408export const CursorSettings = makeProviderSettingsSchema(
409 {409 {
410 // Off by default (like Grok and OpenCode): the binding is not yet410 // Enabled by default alongside Codex and Claude Agent.
411 // stable enough to probe on every install. Users opt in from Settings.
412 enabled: Schema.Boolean.pipe(411 enabled: Schema.Boolean.pipe(
413 Schema.withDecodingDefault(Effect.succeed(true)),412 Schema.withDecodingDefault(Effect.succeed(true)),
414 Schema.annotateKey({ providerSettingsForm: { hidden: true } }),413 Schema.annotateKey({ providerSettingsForm: { hidden: true } }),