@soulcraft/brainy 0.26.0 → 0.27.0

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/README.md CHANGED
@@ -598,6 +598,37 @@ await db.deleteVerb(verbId)
598
598
 
599
599
  ## Advanced Configuration
600
600
 
601
+ ### Database Modes
602
+
603
+ Brainy supports special operational modes that restrict certain operations:
604
+
605
+ ```typescript
606
+ import { BrainyData } from '@soulcraft/brainy'
607
+
608
+ // Create and initialize the database
609
+ const db = new BrainyData()
610
+ await db.init()
611
+
612
+ // Set the database to read-only mode (prevents write operations)
613
+ db.setReadOnly(true)
614
+
615
+ // Check if the database is in read-only mode
616
+ const isReadOnly = db.isReadOnly() // Returns true
617
+
618
+ // Set the database to write-only mode (prevents search operations)
619
+ db.setWriteOnly(true)
620
+
621
+ // Check if the database is in write-only mode
622
+ const isWriteOnly = db.isWriteOnly() // Returns true
623
+
624
+ // Reset to normal mode (allows both read and write operations)
625
+ db.setReadOnly(false)
626
+ db.setWriteOnly(false)
627
+ ```
628
+
629
+ - **Read-Only Mode**: When enabled, prevents all write operations (add, update, delete). Useful for deployment scenarios where you want to prevent modifications to the database.
630
+ - **Write-Only Mode**: When enabled, prevents all search operations. Useful for initial data loading or when you want to optimize for write performance.
631
+
601
632
  ### Embedding
602
633
 
603
634
  ```typescript
@@ -65,6 +65,12 @@ export interface BrainyDataConfig {
65
65
  * When true, all write operations will throw an error
66
66
  */
67
67
  readOnly?: boolean;
68
+ /**
69
+ * Set the database to write-only mode
70
+ * When true, the index is not loaded into memory and search operations will throw an error
71
+ * This is useful for data ingestion scenarios where only write operations are needed
72
+ */
73
+ writeOnly?: boolean;
68
74
  /**
69
75
  * Remote server configuration for search operations
70
76
  */
@@ -177,6 +183,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
177
183
  private distanceFunction;
178
184
  private requestPersistentStorage;
179
185
  private readOnly;
186
+ private writeOnly;
180
187
  private storageConfig;
181
188
  private useOptimizedIndex;
182
189
  private _dimensions;
@@ -211,6 +218,11 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
211
218
  * @throws Error if the database is in read-only mode
212
219
  */
213
220
  private checkReadOnly;
221
+ /**
222
+ * Check if the database is in write-only mode and throw an error if it is
223
+ * @throws Error if the database is in write-only mode
224
+ */
225
+ private checkWriteOnly;
214
226
  /**
215
227
  * Start real-time updates if enabled in the configuration
216
228
  * This will periodically check for new data in storage and update the in-memory index and statistics
@@ -573,6 +585,16 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
573
585
  * @param readOnly True to set the database to read-only mode, false to allow writes
574
586
  */
575
587
  setReadOnly(readOnly: boolean): void;
588
+ /**
589
+ * Check if the database is in write-only mode
590
+ * @returns True if the database is in write-only mode, false otherwise
591
+ */
592
+ isWriteOnly(): boolean;
593
+ /**
594
+ * Set the database to write-only mode
595
+ * @param writeOnly True to set the database to write-only mode, false to allow searches
596
+ */
597
+ setWriteOnly(writeOnly: boolean): void;
576
598
  /**
577
599
  * Embed text or data into a vector using the same embedding function used by this instance
578
600
  * This allows clients to use the same TensorFlow Universal Sentence Encoder throughout their application
package/dist/index.d.ts CHANGED
@@ -29,19 +29,19 @@ import { MemoryStorageAugmentation, FileSystemStorageAugmentation, OPFSStorageAu
29
29
  import { WebSocketConduitAugmentation, WebRTCConduitAugmentation, createConduitAugmentation } from './augmentations/conduitAugmentations.js';
30
30
  import { ServerSearchConduitAugmentation, ServerSearchActivationAugmentation, createServerSearchAugmentations } from './augmentations/serverSearchAugmentations.js';
31
31
  export { MemoryStorageAugmentation, FileSystemStorageAugmentation, OPFSStorageAugmentation, createMemoryAugmentation, WebSocketConduitAugmentation, WebRTCConduitAugmentation, createConduitAugmentation, ServerSearchConduitAugmentation, ServerSearchActivationAugmentation, createServerSearchAugmentations };
32
- import type { Vector, VectorDocument, SearchResult, DistanceFunction, EmbeddingFunction, EmbeddingModel, HNSWNoun, GraphVerb, HNSWConfig, StorageAdapter } from './coreTypes.js';
32
+ import type { Vector, VectorDocument, SearchResult, DistanceFunction, EmbeddingFunction, EmbeddingModel, HNSWNoun, HNSWConfig, StorageAdapter } from './coreTypes.js';
33
33
  import { HNSWIndex } from './hnsw/hnswIndex.js';
34
34
  import { HNSWIndexOptimized, HNSWOptimizedConfig } from './hnsw/hnswIndexOptimized.js';
35
35
  export { HNSWIndex, HNSWIndexOptimized };
36
- export type { Vector, VectorDocument, SearchResult, DistanceFunction, EmbeddingFunction, EmbeddingModel, HNSWNoun, GraphVerb, HNSWConfig, HNSWOptimizedConfig, StorageAdapter };
36
+ export type { Vector, VectorDocument, SearchResult, DistanceFunction, EmbeddingFunction, EmbeddingModel, HNSWNoun, HNSWConfig, HNSWOptimizedConfig, StorageAdapter };
37
37
  import type { IAugmentation, AugmentationResponse, IWebSocketSupport, ISenseAugmentation, IConduitAugmentation, ICognitionAugmentation, IMemoryAugmentation, IPerceptionAugmentation, IDialogAugmentation, IActivationAugmentation } from './types/augmentations.js';
38
38
  import { AugmentationType, BrainyAugmentations } from './types/augmentations.js';
39
39
  export type { IAugmentation, AugmentationResponse, IWebSocketSupport };
40
40
  export { AugmentationType, BrainyAugmentations, ISenseAugmentation, IConduitAugmentation, ICognitionAugmentation, IMemoryAugmentation, IPerceptionAugmentation, IDialogAugmentation, IActivationAugmentation };
41
41
  export type { IWebSocketCognitionAugmentation, IWebSocketSenseAugmentation, IWebSocketPerceptionAugmentation, IWebSocketActivationAugmentation, IWebSocketDialogAugmentation, IWebSocketConduitAugmentation, IWebSocketMemoryAugmentation } from './types/augmentations.js';
42
- import type { GraphNoun, EmbeddedGraphVerb, Person, Place, Thing, Event, Concept, Content } from './types/graphTypes.js';
42
+ import type { GraphNoun, GraphVerb, EmbeddedGraphVerb, Person, Location, Thing, Event, Concept, Content, Collection, Organization, Document, Media, File, Message, Dataset, Product, Service, User, Task, Project, Process, State, Role, Topic, Language, Currency, Measurement } from './types/graphTypes.js';
43
43
  import { NounType, VerbType } from './types/graphTypes.js';
44
- export type { GraphNoun, EmbeddedGraphVerb, Person, Place, Thing, Event, Concept, Content };
44
+ export type { GraphNoun, GraphVerb, EmbeddedGraphVerb, Person, Location, Thing, Event, Concept, Content, Collection, Organization, Document, Media, File, Message, Dataset, Product, Service, User, Task, Project, Process, State, Role, Topic, Language, Currency, Measurement };
45
45
  export { NounType, VerbType };
46
46
  import { BrainyMCPAdapter, MCPAugmentationToolset, BrainyMCPService } from './mcp/index.js';
47
47
  import { MCPRequest, MCPResponse, MCPDataAccessRequest, MCPToolExecutionRequest, MCPSystemInfoRequest, MCPAuthenticationRequest, MCPRequestType, MCPServiceOptions, MCPTool, MCP_VERSION } from './types/mcpTypes.js';
@@ -1,3 +1,165 @@
1
+ /**
2
+ * Graph Types - Standardized Noun and Verb Type System
3
+ *
4
+ * This module defines a comprehensive, standardized set of noun and verb types
5
+ * that can be used to model any kind of graph, semantic network, or data model.
6
+ *
7
+ * ## Purpose and Design Philosophy
8
+ *
9
+ * The type system is designed to be:
10
+ * - **Universal**: Capable of representing any domain or use case
11
+ * - **Hierarchical**: Organized into logical categories for easy navigation
12
+ * - **Extensible**: Additional metadata can be attached to any entity or relationship
13
+ * - **Semantic**: Types carry meaning that can be used for reasoning and inference
14
+ *
15
+ * ## Noun Types (Entities)
16
+ *
17
+ * Noun types represent entities in the graph and are organized into categories:
18
+ *
19
+ * ### Core Entity Types
20
+ * - **Person**: Human entities and individuals
21
+ * - **Organization**: Formal organizations, companies, institutions
22
+ * - **Location**: Geographic locations, places, addresses
23
+ * - **Thing**: Physical objects and tangible items
24
+ * - **Concept**: Abstract ideas, concepts, and intangible entities
25
+ * - **Event**: Occurrences with time and place dimensions
26
+ *
27
+ * ### Digital/Content Types
28
+ * - **Document**: Text-based files and documents
29
+ * - **Media**: Non-text media files (images, videos, audio)
30
+ * - **File**: Generic digital files
31
+ * - **Message**: Communication content
32
+ * - **Content**: Generic content that doesn't fit other categories
33
+ *
34
+ * ### Collection Types
35
+ * - **Collection**: Generic groupings of items
36
+ * - **Dataset**: Structured collections of data
37
+ *
38
+ * ### Business/Application Types
39
+ * - **Product**: Commercial products and offerings
40
+ * - **Service**: Services and offerings
41
+ * - **User**: User accounts and profiles
42
+ * - **Task**: Actions, todos, and workflow items
43
+ * - **Project**: Organized initiatives with goals and timelines
44
+ *
45
+ * ### Descriptive Types
46
+ * - **Process**: Workflows, procedures, and sequences
47
+ * - **State**: States, conditions, or statuses
48
+ * - **Role**: Roles, positions, or responsibilities
49
+ * - **Topic**: Subjects or themes
50
+ * - **Language**: Languages or linguistic entities
51
+ * - **Currency**: Currencies and monetary units
52
+ * - **Measurement**: Measurements, metrics, or quantities
53
+ *
54
+ * ## Verb Types (Relationships)
55
+ *
56
+ * Verb types represent relationships between entities and are organized into categories:
57
+ *
58
+ * ### Core Relationship Types
59
+ * - **RelatedTo**: Generic relationship (default fallback)
60
+ * - **Contains**: Containment relationship
61
+ * - **PartOf**: Part-whole relationship
62
+ * - **LocatedAt**: Spatial relationship
63
+ * - **References**: Reference or citation relationship
64
+ *
65
+ * ### Temporal/Causal Types
66
+ * - **Precedes/Succeeds**: Temporal sequence relationships
67
+ * - **Causes**: Causal relationships
68
+ * - **DependsOn**: Dependency relationships
69
+ * - **Requires**: Necessity relationships
70
+ *
71
+ * ### Creation/Transformation Types
72
+ * - **Creates**: Creation relationships
73
+ * - **Transforms**: Transformation relationships
74
+ * - **Becomes**: State change relationships
75
+ * - **Modifies**: Modification relationships
76
+ * - **Consumes**: Consumption relationships
77
+ *
78
+ * ### Ownership/Attribution Types
79
+ * - **Owns**: Ownership relationships
80
+ * - **AttributedTo**: Attribution or authorship
81
+ * - **CreatedBy**: Creation attribution
82
+ * - **BelongsTo**: Belonging relationships
83
+ *
84
+ * ### Social/Organizational Types
85
+ * - **MemberOf**: Membership or affiliation
86
+ * - **WorksWith**: Professional relationships
87
+ * - **FriendOf**: Friendship relationships
88
+ * - **Follows**: Following relationships
89
+ * - **Likes**: Liking relationships
90
+ * - **ReportsTo**: Reporting relationships
91
+ * - **Supervises**: Supervisory relationships
92
+ * - **Mentors**: Mentorship relationships
93
+ * - **Communicates**: Communication relationships
94
+ *
95
+ * ### Descriptive/Functional Types
96
+ * - **Describes**: Descriptive relationships
97
+ * - **Defines**: Definition relationships
98
+ * - **Categorizes**: Categorization relationships
99
+ * - **Measures**: Measurement relationships
100
+ * - **Evaluates**: Evaluation or assessment relationships
101
+ * - **Uses**: Utilization relationships
102
+ * - **Implements**: Implementation relationships
103
+ * - **Extends**: Extension relationships
104
+ *
105
+ * ## Usage with Additional Metadata
106
+ *
107
+ * While the type system provides a standardized vocabulary, additional metadata
108
+ * can be attached to any entity or relationship to capture domain-specific
109
+ * information:
110
+ *
111
+ * ```typescript
112
+ * const person: GraphNoun = {
113
+ * id: 'person-123',
114
+ * noun: NounType.Person,
115
+ * data: {
116
+ * name: 'John Doe',
117
+ * age: 30,
118
+ * profession: 'Engineer'
119
+ * }
120
+ * }
121
+ *
122
+ * const worksFor: GraphVerb = {
123
+ * id: 'verb-456',
124
+ * source: 'person-123',
125
+ * target: 'org-789',
126
+ * verb: VerbType.MemberOf,
127
+ * data: {
128
+ * role: 'Senior Engineer',
129
+ * startDate: '2020-01-01',
130
+ * department: 'Engineering'
131
+ * }
132
+ * }
133
+ * ```
134
+ *
135
+ * ## Modeling Different Graph Types
136
+ *
137
+ * This type system can model various graph structures:
138
+ *
139
+ * ### Knowledge Graphs
140
+ * Use Person, Organization, Location, Concept entities with semantic relationships
141
+ * like AttributedTo, LocatedAt, RelatedTo
142
+ *
143
+ * ### Social Networks
144
+ * Use Person, User entities with social relationships like FriendOf, Follows,
145
+ * WorksWith, Communicates
146
+ *
147
+ * ### Content Networks
148
+ * Use Document, Media, Content entities with relationships like References,
149
+ * CreatedBy, Contains, Categorizes
150
+ *
151
+ * ### Business Process Models
152
+ * Use Task, Process, Role entities with relationships like Precedes, Requires,
153
+ * DependsOn, Transforms
154
+ *
155
+ * ### Organizational Charts
156
+ * Use Person, Role, Organization entities with relationships like ReportsTo,
157
+ * Supervises, MemberOf
158
+ *
159
+ * The flexibility of this system allows it to represent any domain while
160
+ * maintaining semantic consistency and enabling powerful graph operations
161
+ * and reasoning capabilities.
162
+ */
1
163
  /**
2
164
  * Represents a high-precision timestamp with seconds and nanoseconds
3
165
  * Used for tracking creation and update times of graph elements
@@ -61,8 +223,8 @@ export interface Person extends GraphNoun {
61
223
  /**
62
224
  * Represents a physical location in the graph
63
225
  */
64
- export interface Place extends GraphNoun {
65
- noun: typeof NounType.Place;
226
+ export interface Location extends GraphNoun {
227
+ noun: typeof NounType.Location;
66
228
  }
67
229
  /**
68
230
  * Represents a physical or virtual object in the graph
@@ -82,11 +244,62 @@ export interface Event extends GraphNoun {
82
244
  export interface Concept extends GraphNoun {
83
245
  noun: typeof NounType.Concept;
84
246
  }
85
- export interface Group extends GraphNoun {
86
- noun: typeof NounType.Group;
247
+ export interface Collection extends GraphNoun {
248
+ noun: typeof NounType.Collection;
249
+ }
250
+ export interface Organization extends GraphNoun {
251
+ noun: typeof NounType.Organization;
252
+ }
253
+ export interface Document extends GraphNoun {
254
+ noun: typeof NounType.Document;
255
+ }
256
+ export interface Media extends GraphNoun {
257
+ noun: typeof NounType.Media;
258
+ }
259
+ export interface File extends GraphNoun {
260
+ noun: typeof NounType.File;
261
+ }
262
+ export interface Message extends GraphNoun {
263
+ noun: typeof NounType.Message;
264
+ }
265
+ export interface Dataset extends GraphNoun {
266
+ noun: typeof NounType.Dataset;
267
+ }
268
+ export interface Product extends GraphNoun {
269
+ noun: typeof NounType.Product;
270
+ }
271
+ export interface Service extends GraphNoun {
272
+ noun: typeof NounType.Service;
273
+ }
274
+ export interface User extends GraphNoun {
275
+ noun: typeof NounType.User;
276
+ }
277
+ export interface Task extends GraphNoun {
278
+ noun: typeof NounType.Task;
279
+ }
280
+ export interface Project extends GraphNoun {
281
+ noun: typeof NounType.Project;
282
+ }
283
+ export interface Process extends GraphNoun {
284
+ noun: typeof NounType.Process;
285
+ }
286
+ export interface State extends GraphNoun {
287
+ noun: typeof NounType.State;
87
288
  }
88
- export interface List extends GraphNoun {
89
- noun: typeof NounType.List;
289
+ export interface Role extends GraphNoun {
290
+ noun: typeof NounType.Role;
291
+ }
292
+ export interface Topic extends GraphNoun {
293
+ noun: typeof NounType.Topic;
294
+ }
295
+ export interface Language extends GraphNoun {
296
+ noun: typeof NounType.Language;
297
+ }
298
+ export interface Currency extends GraphNoun {
299
+ noun: typeof NounType.Currency;
300
+ }
301
+ export interface Measurement extends GraphNoun {
302
+ noun: typeof NounType.Measurement;
90
303
  }
91
304
  /**
92
305
  * Represents content (text, media, etc.) in the graph
@@ -100,14 +313,30 @@ export interface Content extends GraphNoun {
100
313
  */
101
314
  export declare const NounType: {
102
315
  readonly Person: "person";
103
- readonly Place: "place";
316
+ readonly Organization: "organization";
317
+ readonly Location: "location";
104
318
  readonly Thing: "thing";
105
- readonly Event: "event";
106
319
  readonly Concept: "concept";
320
+ readonly Event: "event";
321
+ readonly Document: "document";
322
+ readonly Media: "media";
323
+ readonly File: "file";
324
+ readonly Message: "message";
107
325
  readonly Content: "content";
108
- readonly Group: "group";
109
- readonly List: "list";
110
- readonly Category: "category";
326
+ readonly Collection: "collection";
327
+ readonly Dataset: "dataset";
328
+ readonly Product: "product";
329
+ readonly Service: "service";
330
+ readonly User: "user";
331
+ readonly Task: "task";
332
+ readonly Project: "project";
333
+ readonly Process: "process";
334
+ readonly State: "state";
335
+ readonly Role: "role";
336
+ readonly Topic: "topic";
337
+ readonly Language: "language";
338
+ readonly Currency: "currency";
339
+ readonly Measurement: "measurement";
111
340
  };
112
341
  export type NounType = (typeof NounType)[keyof typeof NounType];
113
342
  /**
@@ -115,20 +344,42 @@ export type NounType = (typeof NounType)[keyof typeof NounType];
115
344
  * Used for categorizing different types of connections
116
345
  */
117
346
  export declare const VerbType: {
118
- readonly AttributedTo: "attributedTo";
119
- readonly Controls: "controls";
120
- readonly Created: "created";
121
- readonly Earned: "earned";
347
+ readonly RelatedTo: "relatedTo";
348
+ readonly Contains: "contains";
349
+ readonly PartOf: "partOf";
350
+ readonly LocatedAt: "locatedAt";
351
+ readonly References: "references";
352
+ readonly Precedes: "precedes";
353
+ readonly Succeeds: "succeeds";
354
+ readonly Causes: "causes";
355
+ readonly DependsOn: "dependsOn";
356
+ readonly Requires: "requires";
357
+ readonly Creates: "creates";
358
+ readonly Transforms: "transforms";
359
+ readonly Becomes: "becomes";
360
+ readonly Modifies: "modifies";
361
+ readonly Consumes: "consumes";
122
362
  readonly Owns: "owns";
363
+ readonly AttributedTo: "attributedTo";
364
+ readonly CreatedBy: "createdBy";
365
+ readonly BelongsTo: "belongsTo";
123
366
  readonly MemberOf: "memberOf";
124
- readonly RelatedTo: "relatedTo";
125
367
  readonly WorksWith: "worksWith";
126
368
  readonly FriendOf: "friendOf";
369
+ readonly Follows: "follows";
370
+ readonly Likes: "likes";
127
371
  readonly ReportsTo: "reportsTo";
128
372
  readonly Supervises: "supervises";
129
373
  readonly Mentors: "mentors";
130
- readonly Follows: "follows";
131
- readonly Likes: "likes";
374
+ readonly Communicates: "communicates";
375
+ readonly Describes: "describes";
376
+ readonly Defines: "defines";
377
+ readonly Categorizes: "categorizes";
378
+ readonly Measures: "measures";
379
+ readonly Evaluates: "evaluates";
380
+ readonly Uses: "uses";
381
+ readonly Implements: "implements";
382
+ readonly Extends: "extends";
132
383
  };
133
384
  export type VerbType = (typeof VerbType)[keyof typeof VerbType];
134
385
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"graphTypes.d.ts","sourceRoot":"","sources":["../../src/types/graphTypes.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,eAAe,CAAA;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,eAAe,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;AAIzD;;GAEG;AACH,MAAM,WAAW,MAAO,SAAQ,SAAS;IACvC,IAAI,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,IAAI,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,IAAI,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,IAAI,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,SAAS;IACxC,IAAI,EAAE,OAAO,QAAQ,CAAC,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,IAAI,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAA;CAC5B;AAED,MAAM,WAAW,IAAK,SAAQ,SAAS;IACrC,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,SAAS;IACxC,IAAI,EAAE,OAAO,QAAQ,CAAC,OAAO,CAAA;CAC9B;AAED;;;GAGG;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;CAUX,CAAA;AACV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAA;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;CAeX,CAAA;AACV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"graphTypes.d.ts","sourceRoot":"","sources":["../../src/types/graphTypes.ts"],"names":[],"mappings":"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"}