All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import { z } from 'zod';
|
|
|
|
export const communicationStyleSchema = z.enum(['direct', 'friendly', 'formal']).default('direct');
|
|
|
|
export const soulSchema = z
|
|
.object({
|
|
agentName: z.string().min(1).max(50).default('Assistant'),
|
|
roleDescription: z.string().default('execution partner and visibility engine'),
|
|
communicationStyle: communicationStyleSchema,
|
|
accessibility: z.string().default('none'),
|
|
customGuardrails: z.string().default(''),
|
|
})
|
|
.partial();
|
|
|
|
export const gitProviderSchema = z.object({
|
|
name: z.string().min(1),
|
|
url: z.string().min(1),
|
|
cli: z.string().min(1),
|
|
purpose: z.string().min(1),
|
|
});
|
|
|
|
export const userSchema = z
|
|
.object({
|
|
userName: z.string().default(''),
|
|
pronouns: z.string().default('They/Them'),
|
|
timezone: z.string().default('UTC'),
|
|
background: z.string().default('(not configured)'),
|
|
accessibilitySection: z
|
|
.string()
|
|
.default('(No specific accommodations configured. Edit this section to add any.)'),
|
|
communicationPrefs: z.string().default(''),
|
|
personalBoundaries: z.string().default('(Edit this section to add any personal boundaries.)'),
|
|
projectsTable: z.string().default(''),
|
|
})
|
|
.partial();
|
|
|
|
export const toolsSchema = z
|
|
.object({
|
|
gitProviders: z.array(gitProviderSchema).default([]),
|
|
credentialsLocation: z.string().default('none'),
|
|
customToolsSection: z.string().default(''),
|
|
})
|
|
.partial();
|