const userContextSchema = z.object({
about: z
.object({
name: z.string().optional(),
location: z.string().optional(),
timezone: z.string().optional(),
pronouns: z.string().optional(),
})
.optional(),
people: z
.array(
z.object({
contactId: z.string().optional(),
name: z.string(),
role: z.string().optional(),
importance: z.string().optional(),
tags: z.array(z.string()).optional(),
notes: z.string().optional(),
}),
)
.optional(),
work: z
.object({
company: z.string().optional(),
mission: z.string().optional(),
stage: z.string().optional(),
website: z.string().optional(),
niche: z.string().optional(),
kpis: z
.array(
z.object({
key: z.string(),
value: z.union([z.number(), z.string()]),
}),
)
.optional(),
blockers: z.array(z.string()).optional(),
projects: z
.array(
z.object({
projectId: z.string().optional(),
name: z.string(),
status: z.string().optional(),
goal: z.string().optional(),
nextMilestone: z.string().optional(),
}),
)
.optional(),
})
.optional(),
...
const userContextSchema = z.object({
about: z
.object({
name: z.string().optional(),
location: z.string().optional(),
timezone: z.string().optional(),
pronouns: z.string().optional(),
})
.optional(),
people: z
.array(
z.object({
contactId: z.string().optional(),
name: z.string(),
role: z.string().optional(),
importance: z.string().optional(),
tags: z.array(z.string()).optional(),
notes: z.string().optional(),
}),
)
.optional(),
work: z
.object({
company: z.string().optional(),
mission: z.string().optional(),
stage: z.string().optional(),
website: z.string().optional(),
niche: z.string().optional(),
kpis: z
.array(
z.object({
key: z.string(),
value: z.union([z.number(), z.string()]),
}),
)
.optional(),
blockers: z.array(z.string()).optional(),
projects: z
.array(
z.object({
projectId: z.string().optional(),
name: z.string(),
status: z.string().optional(),
goal: z.string().optional(),
nextMilestone: z.string().optional(),
}),
)
.optional(),
})
.optional(),
...