feat(config): add experimental.team_system flag
- Add team_system boolean flag to ExperimentalConfigSchema - Defaults to false - Enables experimental agent teams toolset - Added comprehensive BDD-style tests Task 1/25 complete
This commit is contained in:
parent
4282de139b
commit
5e06db0c60
@ -649,7 +649,21 @@ describe("ExperimentalConfigSchema feature flags", () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
test("both fields are optional", () => {
|
test("accepts team_system as boolean", () => {
|
||||||
|
//#given
|
||||||
|
const config = { team_system: true }
|
||||||
|
|
||||||
|
//#when
|
||||||
|
const result = ExperimentalConfigSchema.safeParse(config)
|
||||||
|
|
||||||
|
//#then
|
||||||
|
expect(result.success).toBe(true)
|
||||||
|
if (result.success) {
|
||||||
|
expect(result.data.team_system).toBe(true)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
test("defaults team_system to false when not provided", () => {
|
||||||
//#given
|
//#given
|
||||||
const config = {}
|
const config = {}
|
||||||
|
|
||||||
@ -659,10 +673,34 @@ describe("ExperimentalConfigSchema feature flags", () => {
|
|||||||
//#then
|
//#then
|
||||||
expect(result.success).toBe(true)
|
expect(result.success).toBe(true)
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
expect(result.data.plugin_load_timeout_ms).toBeUndefined()
|
expect(result.data.team_system).toBe(false)
|
||||||
expect(result.data.safe_hook_creation).toBeUndefined()
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test("accepts team_system as false", () => {
|
||||||
|
//#given
|
||||||
|
const config = { team_system: false }
|
||||||
|
|
||||||
|
//#when
|
||||||
|
const result = ExperimentalConfigSchema.safeParse(config)
|
||||||
|
|
||||||
|
//#then
|
||||||
|
expect(result.success).toBe(true)
|
||||||
|
if (result.success) {
|
||||||
|
expect(result.data.team_system).toBe(false)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
test("rejects non-boolean team_system", () => {
|
||||||
|
//#given
|
||||||
|
const config = { team_system: "true" }
|
||||||
|
|
||||||
|
//#when
|
||||||
|
const result = ExperimentalConfigSchema.safeParse(config)
|
||||||
|
|
||||||
|
//#then
|
||||||
|
expect(result.success).toBe(false)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("GitMasterConfigSchema", () => {
|
describe("GitMasterConfigSchema", () => {
|
||||||
|
|||||||
@ -17,6 +17,8 @@ export const ExperimentalConfigSchema = z.object({
|
|||||||
safe_hook_creation: z.boolean().optional(),
|
safe_hook_creation: z.boolean().optional(),
|
||||||
/** Enable experimental agent teams toolset (default: false) */
|
/** Enable experimental agent teams toolset (default: false) */
|
||||||
agent_teams: z.boolean().optional(),
|
agent_teams: z.boolean().optional(),
|
||||||
|
/** Enable experimental team system (default: false) */
|
||||||
|
team_system: z.boolean().default(false),
|
||||||
})
|
})
|
||||||
|
|
||||||
export type ExperimentalConfig = z.infer<typeof ExperimentalConfigSchema>
|
export type ExperimentalConfig = z.infer<typeof ExperimentalConfigSchema>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user