Skip to content

Commit a6011a0

Browse files
committed
fix: remove automation none reasoning option
1 parent 7700f77 commit a6011a0

6 files changed

Lines changed: 19 additions & 33 deletions

File tree

packages/app/src/pages/automations.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ type ExecutionMode = Automation["executionMode"]
3737
type AutomationKind = Automation["kind"]
3838
type PermissionProfile = Automation["permissionProfile"]
3939
type NotificationBehavior = Automation["notificationBehavior"]
40-
type ReasoningEffort = NonNullable<Automation["reasoningEffort"]>
40+
type ReasoningEffort = NonNullable<Automation["reasoningEffort"]> | "default"
4141

4242
type FormState = {
4343
title: string
@@ -62,7 +62,7 @@ type FormState = {
6262
const scheduleTypes: ScheduleType[] = ["interval", "daily", "weekly"]
6363
const executionModes: ExecutionMode[] = ["local", "worktree"]
6464
const automationKinds: AutomationKind[] = ["standalone", "thread"]
65-
const reasoningEfforts: ReasoningEffort[] = ["none", "low", "medium", "high"]
65+
const reasoningEfforts: ReasoningEffort[] = ["default", "low", "medium", "high"]
6666
const permissionProfiles: PermissionProfile[] = [
6767
"read_only",
6868
"repo_write_no_network",
@@ -95,7 +95,7 @@ function defaultForm(model: string): FormState {
9595
days: ["mon", "tue", "wed", "thu", "fri"],
9696
executionMode: "local",
9797
model,
98-
reasoningEffort: "none",
98+
reasoningEffort: "default",
9999
permissionProfile: "read_only",
100100
notificationBehavior: "auto_archive_no_findings",
101101
maxRuntimeMinutes: "",
@@ -133,7 +133,7 @@ function formFromAutomation(automation: Automation, fallbackModel: string): Form
133133
days: schedule.type === "weekly" ? [...schedule.days] : base.days,
134134
executionMode: automation.executionMode,
135135
model: automation.model,
136-
reasoningEffort: automation.reasoningEffort ?? "none",
136+
reasoningEffort: automation.reasoningEffort ?? "default",
137137
permissionProfile: automation.permissionProfile,
138138
notificationBehavior: automation.notificationBehavior,
139139
maxRuntimeMinutes: automation.maxRuntimeMinutes ? String(automation.maxRuntimeMinutes) : "",
@@ -151,7 +151,7 @@ function isActiveRun(run: AutomationRun) {
151151
}
152152

153153
function label(value: string) {
154-
if (value === "none") return "Off"
154+
if (value === "default") return "Default"
155155
return value
156156
.split("_")
157157
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
@@ -426,7 +426,7 @@ export default function AutomationsPage() {
426426
schedule,
427427
executionMode: form.executionMode,
428428
model: form.model.trim() || undefined,
429-
reasoningEffort: form.reasoningEffort,
429+
reasoningEffort: form.reasoningEffort === "default" ? undefined : form.reasoningEffort,
430430
permissionProfile: form.permissionProfile,
431431
notificationBehavior: form.notificationBehavior,
432432
maxRuntimeMinutes: maxRuntimeMinutes === undefined ? undefined : Math.floor(maxRuntimeMinutes),

packages/opencode/src/automation/automation.sql.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export const AutomationTable = sqliteTable(
2626
schedule: text({ mode: "json" }).$type<ScheduleConfig>().notNull(),
2727
execution_mode: text().$type<ExecutionMode>().notNull(),
2828
model: text().notNull(),
29-
reasoning_effort: text().$type<"none" | "low" | "medium" | "high">(),
29+
reasoning_effort: text().$type<"low" | "medium" | "high">(),
3030
permission_profile: text().$type<PermissionProfile>().notNull(),
3131
notification_behavior: text().$type<"inbox" | "auto_archive_no_findings">().notNull(),
3232
max_runtime_minutes: integer(),

packages/opencode/src/automation/automation.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ export const Info = Schema.Struct({
121121
schedule: ScheduleConfig,
122122
executionMode: ExecutionMode,
123123
model: Schema.String,
124-
reasoningEffort: Schema.optional(Schema.Literals(["none", "low", "medium", "high"])),
124+
reasoningEffort: Schema.optional(Schema.Literals(["low", "medium", "high"])),
125125
permissionProfile: PermissionProfile,
126126
notificationBehavior: Schema.Literals(["inbox", "auto_archive_no_findings"]),
127127
maxRuntimeMinutes: Schema.optional(Schema.Finite),
@@ -172,7 +172,7 @@ export const CreateInput = Schema.Struct({
172172
schedule: ScheduleConfig,
173173
executionMode: Schema.optional(ExecutionMode),
174174
model: Schema.optional(Schema.String),
175-
reasoningEffort: Schema.optional(Schema.Literals(["none", "low", "medium", "high"])),
175+
reasoningEffort: Schema.optional(Schema.Literals(["low", "medium", "high"])),
176176
permissionProfile: Schema.optional(PermissionProfile),
177177
notificationBehavior: Schema.optional(Schema.Literals(["inbox", "auto_archive_no_findings"])),
178178
maxRuntimeMinutes: Schema.optional(Schema.Finite),
@@ -192,7 +192,7 @@ export const UpdateInput = Schema.Struct({
192192
schedule: Schema.optional(ScheduleConfig),
193193
executionMode: Schema.optional(ExecutionMode),
194194
model: Schema.optional(Schema.String),
195-
reasoningEffort: Schema.optional(Schema.Literals(["none", "low", "medium", "high"])),
195+
reasoningEffort: Schema.optional(Schema.Literals(["low", "medium", "high"])),
196196
permissionProfile: Schema.optional(PermissionProfile),
197197
notificationBehavior: Schema.optional(Schema.Literals(["inbox", "auto_archive_no_findings"])),
198198
maxRuntimeMinutes: Schema.optional(Schema.Finite),

packages/opencode/src/provider/transform.ts

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -754,13 +754,11 @@ export function variants(model: Provider.Model): Record<string, Record<string, a
754754
return Object.fromEntries(WIDELY_SUPPORTED_EFFORTS.map((effort) => [effort, { reasoningEffort: effort }]))
755755
}
756756
const copilotEfforts = iife(() => {
757-
const base =
758-
id.includes("5.1-codex-max") || id.includes("5.2") || id.includes("5.3")
759-
? [...WIDELY_SUPPORTED_EFFORTS, "xhigh"]
760-
: [...WIDELY_SUPPORTED_EFFORTS]
761-
if (model.providerID.startsWith("opencode") && id.includes("gpt-5")) base.unshift("none")
762-
if (id.includes("gpt-5") && model.release_date >= "2025-12-04") base.push("xhigh")
763-
return base
757+
if (id.includes("5.1-codex-max") || id.includes("5.2") || id.includes("5.3"))
758+
return [...WIDELY_SUPPORTED_EFFORTS, "xhigh"]
759+
const arr = [...WIDELY_SUPPORTED_EFFORTS]
760+
if (id.includes("gpt-5") && model.release_date >= "2025-12-04") arr.push("xhigh")
761+
return arr
764762
})
765763
return Object.fromEntries(
766764
copilotEfforts.map((effort) => [
@@ -785,9 +783,6 @@ export function variants(model: Provider.Model): Record<string, Record<string, a
785783
// https://docs.venice.ai/overview/guides/reasoning-models#reasoning-effort
786784
case "@ai-sdk/openai-compatible":
787785
const efforts = [...WIDELY_SUPPORTED_EFFORTS]
788-
if (model.providerID.startsWith("opencode") && id.includes("gpt-5")) {
789-
efforts.unshift("none")
790-
}
791786
if (model.api.id.toLowerCase().includes("deepseek-v4")) {
792787
efforts.push("max")
793788
}
@@ -811,10 +806,7 @@ export function variants(model: Provider.Model): Record<string, Record<string, a
811806
)
812807
case "@ai-sdk/openai": {
813808
// https://v5.ai-sdk.dev/providers/ai-sdk-providers/openai
814-
const efforts =
815-
model.providerID.startsWith("opencode") && id.includes("gpt-5")
816-
? unique(["none", ...openaiReasoningEfforts(model.api.id, model.release_date)])
817-
: openaiReasoningEfforts(model.api.id, model.release_date)
809+
const efforts = openaiReasoningEfforts(model.api.id, model.release_date)
818810
return Object.fromEntries(
819811
efforts.map((effort) => [
820812
effort,

packages/opencode/src/session/llm.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,6 @@ const live: Layer.Layer<
139139
providerOptions: item.options,
140140
})
141141
const options = mergeOptions(mergeOptions(mergeOptions(base, input.model.options), input.agent.options), variant)
142-
if (options.reasoningEffort === "none") {
143-
delete options.reasoningSummary
144-
if (Array.isArray(options.include) && options.include.every((item) => item === "reasoning.encrypted_content")) {
145-
delete options.include
146-
}
147-
}
148142
if (isOpenaiOauth) {
149143
options.instructions = system.join("\n")
150144
}

packages/sdk/js/src/v2/gen/types.gen.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1319,7 +1319,7 @@ export type Automation = {
13191319
}
13201320
executionMode: "local" | "worktree"
13211321
model: string
1322-
reasoningEffort?: "none" | "low" | "medium" | "high"
1322+
reasoningEffort?: "low" | "medium" | "high"
13231323
permissionProfile:
13241324
| "read_only"
13251325
| "repo_write_no_network"
@@ -1361,7 +1361,7 @@ export type AutomationCreateInput = {
13611361
}
13621362
executionMode?: "local" | "worktree"
13631363
model?: string
1364-
reasoningEffort?: "none" | "low" | "medium" | "high"
1364+
reasoningEffort?: "low" | "medium" | "high"
13651365
permissionProfile?:
13661366
| "read_only"
13671367
| "repo_write_no_network"
@@ -1474,7 +1474,7 @@ export type AutomationUpdateInput = {
14741474
}
14751475
executionMode?: "local" | "worktree"
14761476
model?: string
1477-
reasoningEffort?: "none" | "low" | "medium" | "high"
1477+
reasoningEffort?: "low" | "medium" | "high"
14781478
permissionProfile?:
14791479
| "read_only"
14801480
| "repo_write_no_network"

0 commit comments

Comments
 (0)