Deep_Solo / types /index.ts
kalhdrawi's picture
Reupload OmniDev clean version
65ef364
raw
history blame
1.84 kB
import { SpaceEntry } from "@huggingface/hub";
export interface User {
fullname: string;
avatarUrl: string;
name: string;
isLocalUse?: boolean;
isPro: boolean;
id: string;
token?: string;
}
export interface HtmlHistory {
pages: Page[];
createdAt: Date;
prompt: string;
}
export interface Project {
title: string;
html: string;
prompts: string[];
user_id: string;
space_id: string;
pages: Page[];
files: string[];
cardData?: any;
name?: string;
_id?: string;
_updatedAt?: Date;
_createdAt?: Date;
}
// expand SpaceEntry type
export interface ProjectType extends SpaceEntry {
cardData?: any;
}
export interface Page {
path: string;
html: string;
}
export interface Commit {
title: string;
oid: string;
date: Date;
}
export interface EnhancedSettings {
isActive: boolean;
primaryColor: string | undefined;
secondaryColor: string | undefined;
theme: Theme;
}
export type Theme = "light" | "dark" | undefined;
// OmniDev Augmentation types
export type FileAction = "add" | "update" | "delete";
export interface FileUpdate {
path: string; // e.g., /frontend/src/App.tsx or /backend/routes/auth.ts
action: FileAction;
content?: string; // required for add/update; omit for delete
note?: string; // optional human-readable note
}
export interface AugmentRequest {
context: string; // project structure + important file snippets
instruction: string; // user instruction (e.g., add JWT auth)
language?: string; // javascript, typescript, python
framework?: string; // express-react, nextjs, nestjs, etc.
response_type?: "file_updates" | "explanation";
model?: string;
provider?: string; // 'google' to force Gemini
}
export interface AugmentResponse {
ok: boolean;
files?: FileUpdate[];
logs?: string[];
summary?: string;
message?: string;
}