Spaces:
Paused
Paused
| import { z } from "zod"; | |
| export const issueWorkProductTypeSchema = z.enum([ | |
| "preview_url", | |
| "runtime_service", | |
| "pull_request", | |
| "branch", | |
| "commit", | |
| "artifact", | |
| "document", | |
| ]); | |
| export const issueWorkProductStatusSchema = z.enum([ | |
| "active", | |
| "ready_for_review", | |
| "approved", | |
| "changes_requested", | |
| "merged", | |
| "closed", | |
| "failed", | |
| "archived", | |
| "draft", | |
| ]); | |
| export const issueWorkProductReviewStateSchema = z.enum([ | |
| "none", | |
| "needs_board_review", | |
| "approved", | |
| "changes_requested", | |
| ]); | |
| export const createIssueWorkProductSchema = z.object({ | |
| projectId: z.string().uuid().optional().nullable(), | |
| executionWorkspaceId: z.string().uuid().optional().nullable(), | |
| runtimeServiceId: z.string().uuid().optional().nullable(), | |
| type: issueWorkProductTypeSchema, | |
| provider: z.string().min(1), | |
| externalId: z.string().optional().nullable(), | |
| title: z.string().min(1), | |
| url: z.string().url().optional().nullable(), | |
| status: issueWorkProductStatusSchema.default("active"), | |
| reviewState: issueWorkProductReviewStateSchema.optional().default("none"), | |
| isPrimary: z.boolean().optional().default(false), | |
| healthStatus: z.enum(["unknown", "healthy", "unhealthy"]).optional().default("unknown"), | |
| summary: z.string().optional().nullable(), | |
| metadata: z.record(z.unknown()).optional().nullable(), | |
| createdByRunId: z.string().uuid().optional().nullable(), | |
| }); | |
| export type CreateIssueWorkProduct = z.infer<typeof createIssueWorkProductSchema>; | |
| export const updateIssueWorkProductSchema = createIssueWorkProductSchema.partial(); | |
| export type UpdateIssueWorkProduct = z.infer<typeof updateIssueWorkProductSchema>; | |