diff options
Diffstat (limited to 'frontend/src/types.ts')
| -rw-r--r-- | frontend/src/types.ts | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/frontend/src/types.ts b/frontend/src/types.ts index c6d1263..ac8d417 100644 --- a/frontend/src/types.ts +++ b/frontend/src/types.ts @@ -9,3 +9,98 @@ export type Choice = { id: string label: string } + +// Contract types +export type ContractType = 'simple' | 'specification' | 'execute' +export type ContractPhase = 'research' | 'specify' | 'plan' | 'execute' | 'review' +export type ContractStatus = 'active' | 'completed' | 'archived' + +export interface ContractSummary { + id: string + name: string + description?: string + contractType: string + phase: string + status: string + supervisorTaskId?: string + localOnly: boolean + fileCount: number + taskCount: number + repositoryCount: number + version: number + createdAt: string + // Red team fields + redTeamEnabled?: boolean +} + +export interface Contract { + id: string + ownerId: string + name: string + description?: string + contractType: string + phase: string + status: string + supervisorTaskId?: string + autonomousLoop: boolean + phaseGuard: boolean + completedDeliverables: Record<string, string[]> + localOnly: boolean + redTeamEnabled: boolean + redTeamPrompt?: string + version: number + createdAt: string + updatedAt: string +} + +export interface CreateContractRequest { + name: string + description?: string + contractType?: string + initialPhase?: string + autonomousLoop?: boolean + phaseGuard?: boolean + localOnly?: boolean + redTeamEnabled?: boolean + redTeamPrompt?: string +} + +export interface TaskSummary { + id: string + contractId?: string + contractName?: string + contractPhase?: string + contractStatus?: string + parentTaskId?: string + depth: number + name: string + status: string + priority: number + progressSummary?: string + subtaskCount: number + version: number + isSupervisor: boolean + isRedTeam: boolean + hidden: boolean + createdAt: string + updatedAt: string +} + +// Red team notification types +export type NotificationSeverity = 'info' | 'warning' | 'critical' + +export interface RedTeamNotification { + id: string + contractId: string + redTeamTaskId: string + relatedTaskId?: string + message: string + severity: NotificationSeverity + filePath?: string + context?: string + delivered: boolean + deliveredAt?: string + acknowledged: boolean + acknowledgedAt?: string + createdAt: string +} |
