@easbot/note 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -55,8 +55,8 @@ interface Node {
55
55
  name: string;
56
56
  type: string;
57
57
  properties?: Record<string, unknown>;
58
- createdAt: number;
59
- updatedAt: number;
58
+ createdAt: string;
59
+ updatedAt: string;
60
60
  }
61
61
  interface Edge {
62
62
  id: number;
@@ -64,7 +64,8 @@ interface Edge {
64
64
  target: number;
65
65
  relation: string;
66
66
  properties?: Record<string, unknown>;
67
- createdAt: number;
67
+ createdAt: string;
68
+ targetNode?: Node;
68
69
  }
69
70
  interface NodeWithEdges extends Node {
70
71
  edges?: Edge[];
@@ -102,6 +103,8 @@ interface Chunk {
102
103
  documentId: number;
103
104
  startLine: number;
104
105
  endLine: number;
106
+ startChar: number;
107
+ endChar: number;
105
108
  content: string;
106
109
  contentHash: string;
107
110
  nodeIds?: number[];
@@ -129,16 +132,48 @@ interface IngestResult {
129
132
  relationsExtracted?: number;
130
133
  summary?: string;
131
134
  }
135
+ interface NoteSyncResult {
136
+ success: boolean;
137
+ filesAdded: number;
138
+ filesUpdated: number;
139
+ filesDeleted: number;
140
+ filesSkipped: number;
141
+ chunksCreated: number;
142
+ vectorsCreated: number;
143
+ entitiesExtracted: number;
144
+ relationsExtracted: number;
145
+ errors: Array<{
146
+ filePath: string;
147
+ error: string;
148
+ }>;
149
+ duration: number;
150
+ }
151
+ interface LastSyncResult {
152
+ timestamp: string;
153
+ success: boolean;
154
+ filesAdded: number;
155
+ filesUpdated: number;
156
+ filesDeleted: number;
157
+ filesSkipped: number;
158
+ chunksCreated: number;
159
+ vectorsCreated: number;
160
+ entitiesExtracted: number;
161
+ relationsExtracted: number;
162
+ errorCount: number;
163
+ duration: number;
164
+ }
132
165
  interface KnowledgeBaseStatus {
133
166
  dbPath: string;
167
+ workspaceDir: string;
134
168
  documentsCount: number;
135
169
  chunksCount: number;
136
170
  nodesCount: number;
137
171
  edgesCount: number;
138
- vectorDims: number;
139
- vectorSearchAvailable: boolean;
140
- llmAvailable: boolean;
172
+ embeddingLlmAvailable: boolean;
173
+ graphLlmAvailable: boolean;
174
+ rerankLlmAvailable: boolean;
141
175
  healthy: boolean;
176
+ meta: Record<string, string>;
142
177
  }
143
178
  declare enum KnowledgeBaseErrorCode {
144
179
  DATABASE_INIT_FAILED = "DATABASE_INIT_FAILED",
@@ -164,7 +199,8 @@ interface INoteKnowledge {
164
199
  initialize(): Promise<void>;
165
200
  ingestDocument(filePath: string): Promise<IngestResult>;
166
201
  scanAndIngest(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<IngestResult[]>;
167
- sync(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<void>;
202
+ sync(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<NoteSyncResult>;
203
+ markDirty(): void;
168
204
  search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
169
205
  queryNodes(filter: NodeQueryFilter): Promise<Node[]>;
170
206
  queryEdges(filter: EdgeQueryFilter): Promise<Edge[]>;
@@ -192,9 +228,11 @@ declare class NoteKnowledge implements INoteKnowledge {
192
228
  private dirty;
193
229
  private syncTimer?;
194
230
  private syncConfig;
231
+ private syncingInProgress;
195
232
  constructor(config: NoteKnowledgeConfig);
196
233
  initialize(): Promise<void>;
197
234
  private startSyncTimer;
235
+ private ensureSynced;
198
236
  private stopSyncTimer;
199
237
  private syncAll;
200
238
  ingestDocument(filePath: string): Promise<IngestResult>;
@@ -202,7 +240,8 @@ declare class NoteKnowledge implements INoteKnowledge {
202
240
  scanAndIngest(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<IngestResult[]>;
203
241
  ingestUploadedFile(filePath: string): Promise<IngestResult>;
204
242
  removeDocument(filePath: string): Promise<void>;
205
- sync(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<void>;
243
+ markDirty(): void;
244
+ sync(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<NoteSyncResult>;
206
245
  search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
207
246
  queryNodes(sql: string, params?: unknown[]): Promise<Node[]>;
208
247
  queryNodes(filter: NodeQueryFilter): Promise<Node[]>;
@@ -221,6 +260,7 @@ declare class NoteKnowledge implements INoteKnowledge {
221
260
  createEdge(source: number, target: number, relation: string, properties?: Record<string, unknown>): Promise<Edge>;
222
261
  deleteEdge(id: number): Promise<void>;
223
262
  getStatus(): KnowledgeBaseStatus;
263
+ private getMetaMap;
224
264
  healthCheck(): Promise<boolean>;
225
265
  clear(): Promise<void>;
226
266
  private ensureInitialized;
@@ -276,4 +316,12 @@ declare function closeTokenizer(): Promise<void>;
276
316
  declare function toFtsTokens(text: string): string;
277
317
  declare function toFtsTokensForSearch(text: string): string;
278
318
 
279
- export { type CallGraphNode, type Chunk, type Document, type DocumentMetadata, type Edge, type EdgeQueryFilter, FileScanner, type INoteKnowledge, type IngestResult, type InheritanceQueryResult, KnowledgeBaseError, KnowledgeBaseErrorCode, type KnowledgeBaseStatus, type LanguageModelPrompt, Llm, type Node, type NodeQueryFilter, type NodeWithEdges, NoteKnowledge, type NoteKnowledgeConfig, type RelationQueryOptions, type ScannedFile, type ScannerOptions, type SearchOptions, type SearchResult, type SearchResultSource, type VectorRecord, addWord, closeTokenizer, createNoteKnowledge, initTokenizer, isInitialized, loadCustomDict, toFtsTokens, toFtsTokensForSearch, tokenize, tokenizeForSearch };
319
+ declare function initLog(options: {
320
+ print: boolean;
321
+ logDir: string;
322
+ logFile?: string;
323
+ dev?: boolean;
324
+ level?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
325
+ }): Promise<void>;
326
+
327
+ export { type CallGraphNode, type Chunk, type Document, type DocumentMetadata, type Edge, type EdgeQueryFilter, FileScanner, type INoteKnowledge, type IngestResult, type InheritanceQueryResult, KnowledgeBaseError, KnowledgeBaseErrorCode, type KnowledgeBaseStatus, type LanguageModelPrompt, type LastSyncResult, Llm, type Node, type NodeQueryFilter, type NodeWithEdges, NoteKnowledge, type NoteKnowledgeConfig, type NoteSyncResult, type RelationQueryOptions, type ScannedFile, type ScannerOptions, type SearchOptions, type SearchResult, type SearchResultSource, type VectorRecord, addWord, closeTokenizer, createNoteKnowledge, initLog, initTokenizer, isInitialized, loadCustomDict, toFtsTokens, toFtsTokensForSearch, tokenize, tokenizeForSearch };
package/dist/index.d.ts CHANGED
@@ -55,8 +55,8 @@ interface Node {
55
55
  name: string;
56
56
  type: string;
57
57
  properties?: Record<string, unknown>;
58
- createdAt: number;
59
- updatedAt: number;
58
+ createdAt: string;
59
+ updatedAt: string;
60
60
  }
61
61
  interface Edge {
62
62
  id: number;
@@ -64,7 +64,8 @@ interface Edge {
64
64
  target: number;
65
65
  relation: string;
66
66
  properties?: Record<string, unknown>;
67
- createdAt: number;
67
+ createdAt: string;
68
+ targetNode?: Node;
68
69
  }
69
70
  interface NodeWithEdges extends Node {
70
71
  edges?: Edge[];
@@ -102,6 +103,8 @@ interface Chunk {
102
103
  documentId: number;
103
104
  startLine: number;
104
105
  endLine: number;
106
+ startChar: number;
107
+ endChar: number;
105
108
  content: string;
106
109
  contentHash: string;
107
110
  nodeIds?: number[];
@@ -129,16 +132,48 @@ interface IngestResult {
129
132
  relationsExtracted?: number;
130
133
  summary?: string;
131
134
  }
135
+ interface NoteSyncResult {
136
+ success: boolean;
137
+ filesAdded: number;
138
+ filesUpdated: number;
139
+ filesDeleted: number;
140
+ filesSkipped: number;
141
+ chunksCreated: number;
142
+ vectorsCreated: number;
143
+ entitiesExtracted: number;
144
+ relationsExtracted: number;
145
+ errors: Array<{
146
+ filePath: string;
147
+ error: string;
148
+ }>;
149
+ duration: number;
150
+ }
151
+ interface LastSyncResult {
152
+ timestamp: string;
153
+ success: boolean;
154
+ filesAdded: number;
155
+ filesUpdated: number;
156
+ filesDeleted: number;
157
+ filesSkipped: number;
158
+ chunksCreated: number;
159
+ vectorsCreated: number;
160
+ entitiesExtracted: number;
161
+ relationsExtracted: number;
162
+ errorCount: number;
163
+ duration: number;
164
+ }
132
165
  interface KnowledgeBaseStatus {
133
166
  dbPath: string;
167
+ workspaceDir: string;
134
168
  documentsCount: number;
135
169
  chunksCount: number;
136
170
  nodesCount: number;
137
171
  edgesCount: number;
138
- vectorDims: number;
139
- vectorSearchAvailable: boolean;
140
- llmAvailable: boolean;
172
+ embeddingLlmAvailable: boolean;
173
+ graphLlmAvailable: boolean;
174
+ rerankLlmAvailable: boolean;
141
175
  healthy: boolean;
176
+ meta: Record<string, string>;
142
177
  }
143
178
  declare enum KnowledgeBaseErrorCode {
144
179
  DATABASE_INIT_FAILED = "DATABASE_INIT_FAILED",
@@ -164,7 +199,8 @@ interface INoteKnowledge {
164
199
  initialize(): Promise<void>;
165
200
  ingestDocument(filePath: string): Promise<IngestResult>;
166
201
  scanAndIngest(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<IngestResult[]>;
167
- sync(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<void>;
202
+ sync(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<NoteSyncResult>;
203
+ markDirty(): void;
168
204
  search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
169
205
  queryNodes(filter: NodeQueryFilter): Promise<Node[]>;
170
206
  queryEdges(filter: EdgeQueryFilter): Promise<Edge[]>;
@@ -192,9 +228,11 @@ declare class NoteKnowledge implements INoteKnowledge {
192
228
  private dirty;
193
229
  private syncTimer?;
194
230
  private syncConfig;
231
+ private syncingInProgress;
195
232
  constructor(config: NoteKnowledgeConfig);
196
233
  initialize(): Promise<void>;
197
234
  private startSyncTimer;
235
+ private ensureSynced;
198
236
  private stopSyncTimer;
199
237
  private syncAll;
200
238
  ingestDocument(filePath: string): Promise<IngestResult>;
@@ -202,7 +240,8 @@ declare class NoteKnowledge implements INoteKnowledge {
202
240
  scanAndIngest(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<IngestResult[]>;
203
241
  ingestUploadedFile(filePath: string): Promise<IngestResult>;
204
242
  removeDocument(filePath: string): Promise<void>;
205
- sync(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<void>;
243
+ markDirty(): void;
244
+ sync(progress?: (current: number, total: number, file: ScannedFile) => void): Promise<NoteSyncResult>;
206
245
  search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
207
246
  queryNodes(sql: string, params?: unknown[]): Promise<Node[]>;
208
247
  queryNodes(filter: NodeQueryFilter): Promise<Node[]>;
@@ -221,6 +260,7 @@ declare class NoteKnowledge implements INoteKnowledge {
221
260
  createEdge(source: number, target: number, relation: string, properties?: Record<string, unknown>): Promise<Edge>;
222
261
  deleteEdge(id: number): Promise<void>;
223
262
  getStatus(): KnowledgeBaseStatus;
263
+ private getMetaMap;
224
264
  healthCheck(): Promise<boolean>;
225
265
  clear(): Promise<void>;
226
266
  private ensureInitialized;
@@ -276,4 +316,12 @@ declare function closeTokenizer(): Promise<void>;
276
316
  declare function toFtsTokens(text: string): string;
277
317
  declare function toFtsTokensForSearch(text: string): string;
278
318
 
279
- export { type CallGraphNode, type Chunk, type Document, type DocumentMetadata, type Edge, type EdgeQueryFilter, FileScanner, type INoteKnowledge, type IngestResult, type InheritanceQueryResult, KnowledgeBaseError, KnowledgeBaseErrorCode, type KnowledgeBaseStatus, type LanguageModelPrompt, Llm, type Node, type NodeQueryFilter, type NodeWithEdges, NoteKnowledge, type NoteKnowledgeConfig, type RelationQueryOptions, type ScannedFile, type ScannerOptions, type SearchOptions, type SearchResult, type SearchResultSource, type VectorRecord, addWord, closeTokenizer, createNoteKnowledge, initTokenizer, isInitialized, loadCustomDict, toFtsTokens, toFtsTokensForSearch, tokenize, tokenizeForSearch };
319
+ declare function initLog(options: {
320
+ print: boolean;
321
+ logDir: string;
322
+ logFile?: string;
323
+ dev?: boolean;
324
+ level?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
325
+ }): Promise<void>;
326
+
327
+ export { type CallGraphNode, type Chunk, type Document, type DocumentMetadata, type Edge, type EdgeQueryFilter, FileScanner, type INoteKnowledge, type IngestResult, type InheritanceQueryResult, KnowledgeBaseError, KnowledgeBaseErrorCode, type KnowledgeBaseStatus, type LanguageModelPrompt, type LastSyncResult, Llm, type Node, type NodeQueryFilter, type NodeWithEdges, NoteKnowledge, type NoteKnowledgeConfig, type NoteSyncResult, type RelationQueryOptions, type ScannedFile, type ScannerOptions, type SearchOptions, type SearchResult, type SearchResultSource, type VectorRecord, addWord, closeTokenizer, createNoteKnowledge, initLog, initTokenizer, isInitialized, loadCustomDict, toFtsTokens, toFtsTokensForSearch, tokenize, tokenizeForSearch };