Add pending_approval agent status, permissions jsonb column, and AgentPermissions type with canCreateAgents flag. Add approval_comments table and ApprovalComment type. Extend approval statuses with revision_requested. Add validators for permission updates, approval revision requests, resubmission, and approval comments. Add requireBoardApprovalForNewAgents to company update schema. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
21 lines
676 B
TypeScript
21 lines
676 B
TypeScript
import { z } from "zod";
|
|
import { COMPANY_STATUSES } from "../constants.js";
|
|
|
|
export const createCompanySchema = z.object({
|
|
name: z.string().min(1),
|
|
description: z.string().optional().nullable(),
|
|
budgetMonthlyCents: z.number().int().nonnegative().optional().default(0),
|
|
});
|
|
|
|
export type CreateCompany = z.infer<typeof createCompanySchema>;
|
|
|
|
export const updateCompanySchema = createCompanySchema
|
|
.partial()
|
|
.extend({
|
|
status: z.enum(COMPANY_STATUSES).optional(),
|
|
spentMonthlyCents: z.number().int().nonnegative().optional(),
|
|
requireBoardApprovalForNewAgents: z.boolean().optional(),
|
|
});
|
|
|
|
export type UpdateCompany = z.infer<typeof updateCompanySchema>;
|