mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-16 21:54:56 +00:00
fix: run --attach agent validation (#11812)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
This commit is contained in:
@@ -555,6 +555,45 @@ export const RunCommand = cmd({
|
|||||||
// Validate agent if specified
|
// Validate agent if specified
|
||||||
const agent = await (async () => {
|
const agent = await (async () => {
|
||||||
if (!args.agent) return undefined
|
if (!args.agent) return undefined
|
||||||
|
|
||||||
|
// When attaching, validate against the running server instead of local Instance state.
|
||||||
|
if (args.attach) {
|
||||||
|
const modes = await sdk.app
|
||||||
|
.agents(undefined, { throwOnError: true })
|
||||||
|
.then((x) => x.data ?? [])
|
||||||
|
.catch(() => undefined)
|
||||||
|
|
||||||
|
if (!modes) {
|
||||||
|
UI.println(
|
||||||
|
UI.Style.TEXT_WARNING_BOLD + "!",
|
||||||
|
UI.Style.TEXT_NORMAL,
|
||||||
|
`failed to list agents from ${args.attach}. Falling back to default agent`,
|
||||||
|
)
|
||||||
|
return undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
const agent = modes.find((a) => a.name === args.agent)
|
||||||
|
if (!agent) {
|
||||||
|
UI.println(
|
||||||
|
UI.Style.TEXT_WARNING_BOLD + "!",
|
||||||
|
UI.Style.TEXT_NORMAL,
|
||||||
|
`agent "${args.agent}" not found. Falling back to default agent`,
|
||||||
|
)
|
||||||
|
return undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
if (agent.mode === "subagent") {
|
||||||
|
UI.println(
|
||||||
|
UI.Style.TEXT_WARNING_BOLD + "!",
|
||||||
|
UI.Style.TEXT_NORMAL,
|
||||||
|
`agent "${args.agent}" is a subagent, not a primary agent. Falling back to default agent`,
|
||||||
|
)
|
||||||
|
return undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
return args.agent
|
||||||
|
}
|
||||||
|
|
||||||
const entry = await Agent.get(args.agent)
|
const entry = await Agent.get(args.agent)
|
||||||
if (!entry) {
|
if (!entry) {
|
||||||
UI.println(
|
UI.println(
|
||||||
|
|||||||
Reference in New Issue
Block a user