Download src/lib/types.ts from meljendy/proteinea: direct link, hf CLI and curl.
- Browser
- Download file 4.93 kB
-
https://huggingface.co/spaces/meljendy/proteinea/resolve/main/src/lib/types.ts
- Command line
-
hf download hf://spaces/meljendy/proteinea/src/lib/types.ts
-
curl -L -o types.ts https://huggingface.co/spaces/meljendy/proteinea/resolve/main/src/lib/types.ts
4.93 kB
| export interface StreamEvent { | |
| type: | |
| | "text_delta" | |
| | "tool_use" | |
| | "tool_result" | |
| | "done" | |
| | "error" | |
| // ---- v2 events ---- | |
| | "kb_lookup" // best-practice retrieval, with timing | |
| | "plan" // structured plan with tool chips per step | |
| | "trace" // execution trace entry | |
| | "artifact" // file produced by the agent | |
| | "citation" // inline source citation chip for the previous text run | |
| | "step_status"; // live status pulse for a plan step (Biomni-style todo) | |
| text?: string; | |
| tool?: string; | |
| input?: Record<string, unknown>; | |
| result?: unknown; | |
| response?: string; | |
| error?: string; | |
| // ---- v2 fields ---- | |
| kb?: { name: string; ms: number }; | |
| plan?: PlanProposal; | |
| trace?: TraceEntry; | |
| artifact?: Artifact; | |
| citation?: Citation; | |
| step?: { index: number; status: StepStatus }; | |
| } | |
| export interface ChatMessage { | |
| id: string; | |
| role: "user" | "assistant"; | |
| content: string; | |
| toolCalls?: ToolCall[]; | |
| kbLookups?: KBLookup[]; | |
| trace?: TraceEntry[]; | |
| plan?: PlanProposal; | |
| artifacts?: Artifact[]; | |
| citations?: Citation[]; | |
| /** Per-step live status, parallel-indexed with `plan.steps`. */ | |
| stepStatus?: StepStatus[]; | |
| isStreaming?: boolean; | |
| } | |
| export interface ToolCall { | |
| tool: string; | |
| input: Record<string, unknown>; | |
| result?: unknown; | |
| status: "running" | "completed" | "error"; | |
| } | |
| // ---- v2 types ---- | |
| export interface KBLookup { | |
| name: string; | |
| ms: number; | |
| } | |
| export interface PlanStepProto { | |
| label: string; | |
| tools: string[]; | |
| } | |
| export interface PlanProposal { | |
| title: string; | |
| steps: PlanStepProto[]; | |
| } | |
| export interface TraceEntry { | |
| ts: number; // ms epoch | |
| kind: "thought" | "tool_call" | "tool_result" | "text"; | |
| label: string; // short human-readable summary | |
| detail?: string; // optional verbose body | |
| } | |
| export interface Artifact { | |
| id: string; // stable id | |
| name: string; // user-visible filename | |
| bytes: number; // size in bytes | |
| mime: string; // MIME type | |
| url: string; // download URL (relative) | |
| createdAt: number; // ms epoch | |
| hubOutputData?: Record<string, unknown>; // Hub job output_data (scores, PDB, sequences, etc.) | |
| } | |
| export interface Citation { | |
| label: string; // chip text e.g. "clinicaltrials.gov/data-api" | |
| url?: string; // optional href | |
| } | |
| // ---- Task persistence ---- | |
| export interface TaskRecord { | |
| id: string; // sess_xxxxxxxx | |
| projectId: string; // proj_xxxxxxxx | |
| title: string; | |
| createdAt: number; | |
| updatedAt: number; | |
| messages: ChatMessage[]; | |
| artifacts: Artifact[]; | |
| } | |
| export interface ProjectRecord { | |
| id: string; // proj_xxxxxxxx | |
| name: string; | |
| createdAt: number; | |
| } | |
| export interface Benchmark { | |
| source: string; | |
| paper_title: string; | |
| paper_url: string; | |
| paper_date: string; | |
| avg_hit_rate_vhh: number | null; | |
| avg_hit_rate_mab: number | null; | |
| target_coverage: number | null; | |
| best_affinity_pM: number | null; | |
| total_designs_tested: number; | |
| code_available: boolean; | |
| weights_available: boolean; | |
| developability: { overall_pass_rate: number | null } | null; | |
| targets: { name: string; target_class: string }[]; | |
| binding_results: { | |
| target: string; | |
| antibody_format: string; | |
| hit_rate: number | null; | |
| best_affinity_nM: number | null; | |
| assay: string; | |
| notes: string; | |
| }[]; | |
| notes: string; | |
| } | |
| export interface Skill { | |
| id: string; | |
| name: string; | |
| description: string; | |
| version: string; | |
| author: string; | |
| inputs: Record<string, unknown>; | |
| outputs: Record<string, unknown>; | |
| // ---- Optional fields populated from the Hub registry passthrough ---- | |
| category?: string; | |
| tier?: string; | |
| gpu?: boolean; | |
| gpuType?: string; | |
| minRamGb?: number; | |
| typicalRuntimeSeconds?: number; | |
| } | |
| // ---- Dataset connector types ---- | |
| export interface DatasetSearchResult { | |
| id: string; | |
| source: "sabdab" | "oas" | "imgt" | "fc"; | |
| title: string; | |
| summary: string; | |
| organism?: string; | |
| data_type: "structure" | "sequence" | "gene"; | |
| } | |
| export interface DatasetSearchResponse { | |
| results: Record<string, DatasetSearchResult[]>; | |
| errors: Record<string, string>; | |
| query: Record<string, unknown>; | |
| } | |
| export interface SyncStatusEntry { | |
| source: string; | |
| last_synced: string | null; | |
| entry_count: number; | |
| size_bytes: number; | |
| status: "synced" | "syncing" | "error" | "not_synced" | "not_configured"; | |
| } | |
| export type ResourceKind = "target" | "benchmark" | "model" | "skill" | "sabdab" | "imgt" | "oas"; | |
| export interface ResourceRef { | |
| type: ResourceKind; | |
| id: string; | |
| label: string; | |
| sublabel?: string; | |
| } | |
| export interface ModelEntry { | |
| name: string; | |
| version: string; | |
| source: string; | |
| capabilities: string[]; | |
| repo_url: string | null; | |
| license: string | null; | |
| gpu_required: boolean; | |
| min_vram_gb: number; | |
| antibody_formats: string[]; | |
| notes: string; | |
| } | |
| export type StepStatus = "pending" | "running" | "done" | "error"; | |