feat: port holistic node refinement contract

This commit is contained in:
“BeeRad”
2026-04-11 21:37:52 +10:00
parent 35f9ecf89c
commit 3ae46245ec
119 changed files with 6596 additions and 10982 deletions
-12
View File
@@ -36,7 +36,6 @@ export interface Node {
notes?: string; // Deprecated legacy field - do not write
link?: string;
event_date?: string | null; // When the thing actually happened (ISO 8601)
dimensions: string[]; // Flexible dimensions replacing type + stage + segment + tags
embedding?: Buffer; // Node-level embedding (BLOB data)
chunk?: string; // Deprecated legacy field - do not write
metadata?: CanonicalNodeMetadata | null; // Flexible metadata storage with canonical contract
@@ -97,7 +96,6 @@ export interface EdgeContext {
// New NodeFilters interface replacing rigid ItemFilters
export interface NodeFilters {
dimensions?: string[]; // Filter by dimensions (replaces stage/type filtering)
contextId?: number;
search?: string; // Text search in title/content
searchMode?: 'standard' | 'hybrid'; // standard = FTS/LIKE, hybrid = add node-vector retrieval
@@ -105,7 +103,6 @@ export interface NodeFilters {
limit?: number;
offset?: number;
sortBy?: 'updated' | 'edges' | 'created' | 'event_date'; // Sort by updated_at, edge count, created_at, or event_date
dimensionsMatch?: 'any' | 'all'; // 'any' = OR (default), 'all' = AND
createdAfter?: string; // ISO date (YYYY-MM-DD) — nodes created on or after
createdBefore?: string; // ISO date (YYYY-MM-DD) — nodes created before
eventAfter?: string; // ISO date (YYYY-MM-DD) — nodes with event_date on or after
@@ -151,12 +148,3 @@ export interface DatabaseError {
code?: string;
details?: any;
}
// Dimension interface for dimension management
export interface Dimension {
name: string;
description?: string | null;
icon?: string | null;
is_priority: boolean;
updated_at: string;
}
+15
View File
@@ -0,0 +1,15 @@
export interface SkillMeta {
name: string;
description: string;
immutable: boolean;
}
export interface Skill extends SkillMeta {
content: string;
}
export interface FocusedSkill {
name: string;
description: string;
content: string;
}
+2 -11
View File
@@ -1,9 +1,9 @@
// View system types
export type ViewType = 'focus' | 'list' | 'kanban' | 'grid';
export type ViewType = 'focus' | 'list' | 'grid' | 'table' | 'map';
export interface ViewFilter {
dimension: string;
context: string;
operator: 'includes' | 'excludes';
}
@@ -12,18 +12,10 @@ export interface ViewSort {
direction: 'asc' | 'desc';
}
export interface KanbanColumn {
id: string;
dimension: string;
order: number;
}
export interface ViewConfig {
filters: ViewFilter[];
filterLogic: 'and' | 'or';
sort: ViewSort;
// Kanban-specific
columns?: KanbanColumn[];
}
export interface SavedView {
@@ -41,5 +33,4 @@ export const DEFAULT_VIEW_CONFIG: ViewConfig = {
filters: [],
filterLogic: 'and',
sort: { field: 'updated_at', direction: 'desc' },
columns: []
};