-
Notifications
You must be signed in to change notification settings - Fork 146
Expand file tree
/
Copy pathexperiment.ts
More file actions
37 lines (28 loc) · 868 Bytes
/
experiment.ts
File metadata and controls
37 lines (28 loc) · 868 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { z } from "zod"
import type { Keys, Equals, AssertEqual } from "./type-fu.js"
/**
* ExperimentId
*/
export const experimentIds = [
"powerSteering",
"multiFileApplyDiff",
"preventFocusDisruption",
"imageGeneration",
"runSlashCommand",
"chatSearch",
] as const
export const experimentIdsSchema = z.enum(experimentIds)
export type ExperimentId = z.infer<typeof experimentIdsSchema>
/**
* Experiments
*/
export const experimentsSchema = z.object({
powerSteering: z.boolean().optional(),
multiFileApplyDiff: z.boolean().optional(),
preventFocusDisruption: z.boolean().optional(),
imageGeneration: z.boolean().optional(),
runSlashCommand: z.boolean().optional(),
chatSearch: z.boolean().optional(),
})
export type Experiments = z.infer<typeof experimentsSchema>
type _AssertExperiments = AssertEqual<Equals<ExperimentId, Keys<Experiments>>>