Merge pull request #3872 from x-x-gpu/dev

fix: pass resolved model to session.create so sub-agent sessions use the correct model
This commit is contained in:
YeonGyu-Kim
2026-05-15 19:56:09 +09:00
committed by GitHub
5 changed files with 41 additions and 3 deletions
@@ -1,9 +1,16 @@
import type { OpencodeClient } from "./types"
import type { DelegatedModelConfig } from "../../shared/model-resolution-types"
import { QUESTION_DENIED_SESSION_PERMISSION } from "../../shared/question-denied-session-permission"
export async function createSyncSession(
client: OpencodeClient,
input: { parentSessionID: string; agentToUse: string; description: string; defaultDirectory: string }
input: {
parentSessionID: string
agentToUse: string
description: string
defaultDirectory: string
categoryModel?: DelegatedModelConfig
}
): Promise<{ ok: true; sessionID: string; parentDirectory: string } | { ok: false; error: string }> {
const parentSession = client.session.get
? await client.session.get({ path: { id: input.parentSessionID } }).catch(() => null)
@@ -15,6 +22,15 @@ export async function createSyncSession(
parentID: input.parentSessionID,
title: `${input.description} (@${input.agentToUse} subagent)`,
permission: QUESTION_DENIED_SESSION_PERMISSION,
...(input.categoryModel
? {
model: {
id: input.categoryModel.modelID,
providerID: input.categoryModel.providerID,
...(input.categoryModel.variant ? { variant: input.categoryModel.variant } : {}),
},
}
: {}),
} as Record<string, unknown>,
query: {
directory: parentDirectory,
+2
View File
@@ -90,6 +90,7 @@ export async function executeSyncTask(
agentToUse,
description: args.description,
defaultDirectory: directory,
categoryModel,
})
if (!createSessionResult.ok) {
@@ -281,6 +282,7 @@ export async function executeSyncTask(
agentToUse,
description: args.description,
defaultDirectory: directory,
categoryModel: nextFallbackModel,
})
if (!retrySessionResult.ok) {
return retrySessionResult.error