task 9.5: create src/types/span-annotations.ts
Add SpanAnnotation, SpanLabelType, and SubSpan interfaces extracted from duplicate inline definitions across SpanAnnotationManager, SpanAnnotationList, SpanPopover, Toolbox, and page.tsx components. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
76c440d879
commit
18b2afe4a5
1 changed files with 50 additions and 0 deletions
50
src/types/span-annotations.ts
Normal file
50
src/types/span-annotations.ts
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
/**
|
||||||
|
* Span annotation types for chart pattern labeling
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A sub-span represents a nested time range within a parent span annotation,
|
||||||
|
* used to mark sub-structures or phases within a larger pattern.
|
||||||
|
*/
|
||||||
|
export interface SubSpan {
|
||||||
|
start_time: number;
|
||||||
|
end_time: number;
|
||||||
|
label: string;
|
||||||
|
color?: string;
|
||||||
|
notes?: string | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A span annotation marks a time range on a chart with a pattern label
|
||||||
|
* and optional metadata such as confidence, outcome, and notes.
|
||||||
|
*/
|
||||||
|
export interface SpanAnnotation {
|
||||||
|
id: number;
|
||||||
|
chart_id: number;
|
||||||
|
start_time: number;
|
||||||
|
end_time: number;
|
||||||
|
label: string;
|
||||||
|
confidence: number | null;
|
||||||
|
outcome: string | null;
|
||||||
|
notes: string | null;
|
||||||
|
sub_spans: SubSpan[] | null;
|
||||||
|
color: string;
|
||||||
|
source?: string;
|
||||||
|
model_prediction?: Record<string, unknown> | null;
|
||||||
|
created_at: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A span label type defines a named pattern category that can be applied
|
||||||
|
* to span annotations, with display metadata and optional keyboard shortcut.
|
||||||
|
*/
|
||||||
|
export interface SpanLabelType {
|
||||||
|
id: number;
|
||||||
|
name: string;
|
||||||
|
display_name: string;
|
||||||
|
color: string;
|
||||||
|
hotkey: string | null;
|
||||||
|
is_active: boolean;
|
||||||
|
sort_order: number;
|
||||||
|
created_at: number;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue