fix(delegate-task): reject stray backend-style categories

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-03-31 13:05:44 -07:00
parent 68ae9dca4b
commit 1d0135b230
6 changed files with 103 additions and 4 deletions
@@ -0,0 +1,28 @@
declare const require: (name: string) => any
const { describe, expect, test } = require("bun:test")
import { createDelegateTask } from "./tools"
describe("createDelegateTask schema", () => {
test("#given category arg #when tool is created #then category is constrained to available enum values", () => {
//#given
const toolDefinition = createDelegateTask({ manager: {} as never, client: {} as never, directory: "/tmp/test" })
//#when
const categorySchema = toolDefinition.args.category as unknown as {
def: {
type: string
innerType: {
def: { type: string }
options: string[]
}
}
}
//#then
expect(categorySchema.def.type).toBe("optional")
expect(categorySchema.def.innerType.def.type).toBe("enum")
expect(categorySchema.def.innerType.options).toContain("quick")
expect(categorySchema.def.innerType.options).toContain("deep")
expect(categorySchema.def.innerType.options).toContain("ultrabrain")
})
})