@statelyai/graph 0.3.1 → 0.5.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.
Files changed (47) hide show
  1. package/README.md +12 -11
  2. package/dist/{algorithms-NWSB2RWj.mjs → algorithms-DldwenLt.mjs} +11 -6
  3. package/dist/algorithms.d.mts +1 -1
  4. package/dist/algorithms.mjs +1 -1
  5. package/dist/{converter-CchokMDg.mjs → converter-B5CUD0r9.mjs} +2 -2
  6. package/dist/formats/adjacency-list/index.d.mts +1 -1
  7. package/dist/formats/adjacency-list/index.mjs +1 -1
  8. package/dist/formats/converter/index.d.mts +2 -2
  9. package/dist/formats/converter/index.mjs +1 -1
  10. package/dist/formats/cytoscape/index.d.mts +1 -1
  11. package/dist/formats/cytoscape/index.mjs +4 -4
  12. package/dist/formats/d3/index.d.mts +1 -1
  13. package/dist/formats/d3/index.mjs +1 -1
  14. package/dist/formats/dot/index.d.mts +1 -1
  15. package/dist/formats/dot/index.mjs +1 -1
  16. package/dist/formats/edge-list/index.d.mts +1 -1
  17. package/dist/formats/edge-list/index.mjs +1 -1
  18. package/dist/formats/elk/index.d.mts +61 -0
  19. package/dist/formats/elk/index.mjs +176 -0
  20. package/dist/formats/gexf/index.d.mts +1 -1
  21. package/dist/formats/gexf/index.mjs +5 -5
  22. package/dist/formats/gml/index.d.mts +1 -1
  23. package/dist/formats/gml/index.mjs +3 -3
  24. package/dist/formats/graphml/index.d.mts +1 -1
  25. package/dist/formats/graphml/index.mjs +2 -2
  26. package/dist/formats/jgf/index.d.mts +1 -1
  27. package/dist/formats/jgf/index.mjs +4 -4
  28. package/dist/formats/mermaid/index.d.mts +46 -33
  29. package/dist/formats/mermaid/index.mjs +319 -35
  30. package/dist/formats/tgf/index.d.mts +1 -1
  31. package/dist/formats/tgf/index.mjs +1 -1
  32. package/dist/formats/xyflow/index.d.mts +73 -0
  33. package/dist/formats/xyflow/index.mjs +133 -0
  34. package/dist/index.d.mts +1 -1
  35. package/dist/index.mjs +5 -5
  36. package/dist/{indexing-eNDrXdDA.mjs → indexing-DyfgLuzw.mjs} +6 -5
  37. package/dist/queries.d.mts +2 -2
  38. package/dist/queries.mjs +9 -9
  39. package/dist/schemas.d.mts +37 -4
  40. package/dist/schemas.mjs +26 -5
  41. package/dist/{types-BDXC1O5b.d.mts → types-FBZCrmnG.d.mts} +17 -6
  42. package/package.json +9 -1
  43. package/schemas/edge.schema.json +32 -1
  44. package/schemas/graph.schema.json +114 -4
  45. package/schemas/node.schema.json +45 -2
  46. /package/dist/{adjacency-list-ITO40kmn.mjs → adjacency-list-fldj-QAL.mjs} +0 -0
  47. /package/dist/{edge-list-CgX6bBIF.mjs → edge-list-Br05wXMg.mjs} +0 -0
@@ -1,11 +1,20 @@
1
- import { c as Graph, f as GraphFormatConverter } from "../../types-BDXC1O5b.mjs";
1
+ import { c as Graph, f as GraphFormatConverter } from "../../types-FBZCrmnG.mjs";
2
2
 
3
3
  //#region src/formats/mermaid/sequence.d.ts
4
4
  interface SequenceNodeData {
5
- actorType: 'participant' | 'actor';
5
+ actorType: 'participant' | 'actor' | 'boundary' | 'control' | 'entity' | 'database' | 'collections' | 'queue';
6
6
  alias?: string;
7
7
  created?: boolean;
8
8
  destroyed?: boolean;
9
+ notes?: Array<{
10
+ position: 'left' | 'right' | 'over';
11
+ text: string;
12
+ over?: string[];
13
+ }>;
14
+ box?: {
15
+ title?: string;
16
+ color?: string;
17
+ };
9
18
  }
10
19
  interface SequenceEdgeData {
11
20
  kind: 'message' | 'activation' | 'deactivation';
@@ -57,7 +66,7 @@ interface SequenceGraphData {
57
66
  autonumber?: boolean;
58
67
  blocks?: SequenceBlock[];
59
68
  }
60
- type SequenceGraph = Graph<SequenceNodeData, SequenceEdgeData, SequenceGraphData>;
69
+ type MermaidSequenceGraph = Graph<SequenceNodeData, SequenceEdgeData, SequenceGraphData>;
61
70
  /**
62
71
  * Parses a Mermaid sequence diagram string into a Graph.
63
72
  *
@@ -70,7 +79,7 @@ type SequenceGraph = Graph<SequenceNodeData, SequenceEdgeData, SequenceGraphData
70
79
  * Bob-->>Alice: Hi back
71
80
  * `);
72
81
  */
73
- declare function fromMermaidSequence(input: string): SequenceGraph;
82
+ declare function fromMermaidSequence(input: string): MermaidSequenceGraph;
74
83
  /**
75
84
  * Converts a sequence diagram Graph to a Mermaid sequence diagram string.
76
85
  *
@@ -78,7 +87,7 @@ declare function fromMermaidSequence(input: string): SequenceGraph;
78
87
  * const mermaid = toMermaidSequence(graph);
79
88
  * // "sequenceDiagram\n participant Alice\n ..."
80
89
  */
81
- declare function toMermaidSequence(graph: SequenceGraph): string;
90
+ declare function toMermaidSequence(graph: MermaidSequenceGraph): string;
82
91
  /**
83
92
  * Bidirectional converter for Mermaid sequence diagram format.
84
93
  *
@@ -89,16 +98,17 @@ declare function toMermaidSequence(graph: SequenceGraph): string;
89
98
  * `);
90
99
  * const str = mermaidSequenceConverter.to(graph);
91
100
  */
92
- declare const mermaidSequenceConverter: GraphFormatConverter<string>;
101
+ declare const mermaidSequenceConverter: GraphFormatConverter<string, SequenceNodeData, SequenceEdgeData, SequenceGraphData>;
93
102
  //#endregion
94
103
  //#region src/formats/mermaid/flowchart.d.ts
95
104
  interface FlowchartNodeData {
96
105
  classes?: string[];
97
106
  link?: string;
98
107
  tooltip?: string;
108
+ direction?: 'up' | 'down' | 'left' | 'right';
99
109
  }
100
110
  interface FlowchartEdgeData {
101
- stroke: 'normal' | 'dotted' | 'thick';
111
+ stroke: 'normal' | 'dotted' | 'thick' | 'invisible';
102
112
  arrowType: 'arrow' | 'none';
103
113
  endMarker?: 'arrow' | 'circle' | 'cross';
104
114
  startMarker?: 'arrow' | 'circle' | 'cross';
@@ -109,7 +119,7 @@ interface FlowchartGraphData {
109
119
  diagramType: 'flowchart';
110
120
  classDefs?: Record<string, Record<string, string>>;
111
121
  }
112
- type FlowchartGraph = Graph<FlowchartNodeData, FlowchartEdgeData, FlowchartGraphData>;
122
+ type MermaidFlowchartGraph = Graph<FlowchartNodeData, FlowchartEdgeData, FlowchartGraphData>;
113
123
  /**
114
124
  * Parses a Mermaid flowchart string into a Graph.
115
125
  *
@@ -120,7 +130,7 @@ type FlowchartGraph = Graph<FlowchartNodeData, FlowchartEdgeData, FlowchartGraph
120
130
  * B -->|Yes| C[End]
121
131
  * `);
122
132
  */
123
- declare function fromMermaidFlowchart(input: string): FlowchartGraph;
133
+ declare function fromMermaidFlowchart(input: string): MermaidFlowchartGraph;
124
134
  /**
125
135
  * Converts a flowchart Graph to a Mermaid flowchart string.
126
136
  *
@@ -128,7 +138,7 @@ declare function fromMermaidFlowchart(input: string): FlowchartGraph;
128
138
  * const mermaid = toMermaidFlowchart(graph);
129
139
  * // "flowchart TD\n A[Start] --> B{Decision}\n ..."
130
140
  */
131
- declare function toMermaidFlowchart(graph: FlowchartGraph): string;
141
+ declare function toMermaidFlowchart(graph: MermaidFlowchartGraph): string;
132
142
  /**
133
143
  * Bidirectional converter for Mermaid flowchart format.
134
144
  *
@@ -139,24 +149,27 @@ declare function toMermaidFlowchart(graph: FlowchartGraph): string;
139
149
  * `);
140
150
  * const str = mermaidFlowchartConverter.to(graph);
141
151
  */
142
- declare const mermaidFlowchartConverter: GraphFormatConverter<string>;
152
+ declare const mermaidFlowchartConverter: GraphFormatConverter<string, FlowchartNodeData, FlowchartEdgeData, FlowchartGraphData>;
143
153
  //#endregion
144
154
  //#region src/formats/mermaid/state.d.ts
145
155
  interface StateNodeData {
146
156
  description?: string;
147
- stateType?: 'choice' | 'fork' | 'join';
157
+ stateType?: 'choice' | 'fork' | 'join' | 'parallel';
148
158
  notes?: Array<{
149
159
  position: 'left' | 'right';
150
160
  text: string;
151
161
  }>;
152
162
  isStart?: boolean;
153
163
  isEnd?: boolean;
164
+ classes?: string[];
165
+ direction?: 'up' | 'down' | 'left' | 'right';
154
166
  }
155
167
  interface StateEdgeData {}
156
168
  interface StateGraphData {
157
169
  diagramType: 'stateDiagram';
170
+ classDefs?: Record<string, Record<string, string>>;
158
171
  }
159
- type StateGraph = Graph<StateNodeData, StateEdgeData, StateGraphData>;
172
+ type MermaidStateGraph = Graph<StateNodeData, StateEdgeData, StateGraphData>;
160
173
  /**
161
174
  * Parses a Mermaid state diagram string into a Graph.
162
175
  *
@@ -168,7 +181,7 @@ type StateGraph = Graph<StateNodeData, StateEdgeData, StateGraphData>;
168
181
  * Running --> [*]
169
182
  * `);
170
183
  */
171
- declare function fromMermaidState(input: string): StateGraph;
184
+ declare function fromMermaidState(input: string): MermaidStateGraph;
172
185
  /**
173
186
  * Converts a state diagram Graph to a Mermaid state diagram string.
174
187
  *
@@ -176,7 +189,7 @@ declare function fromMermaidState(input: string): StateGraph;
176
189
  * const mermaid = toMermaidState(graph);
177
190
  * // "stateDiagram-v2\n [*] --> Idle\n ..."
178
191
  */
179
- declare function toMermaidState(graph: StateGraph): string;
192
+ declare function toMermaidState(graph: MermaidStateGraph): string;
180
193
  /**
181
194
  * Bidirectional converter for Mermaid state diagram format.
182
195
  *
@@ -187,7 +200,7 @@ declare function toMermaidState(graph: StateGraph): string;
187
200
  * `);
188
201
  * const str = mermaidStateConverter.to(graph);
189
202
  */
190
- declare const mermaidStateConverter: GraphFormatConverter<string>;
203
+ declare const mermaidStateConverter: GraphFormatConverter<string, StateNodeData, StateEdgeData, StateGraphData>;
191
204
  //#endregion
192
205
  //#region src/formats/mermaid/class-diagram.d.ts
193
206
  interface ClassNodeData {
@@ -208,7 +221,7 @@ interface ClassEdgeData {
208
221
  interface ClassGraphData {
209
222
  diagramType: 'classDiagram';
210
223
  }
211
- type ClassGraph = Graph<ClassNodeData, ClassEdgeData, ClassGraphData>;
224
+ type MermaidClassGraph = Graph<ClassNodeData, ClassEdgeData, ClassGraphData>;
212
225
  /**
213
226
  * Parses a Mermaid class diagram string into a Graph.
214
227
  *
@@ -222,7 +235,7 @@ type ClassGraph = Graph<ClassNodeData, ClassEdgeData, ClassGraphData>;
222
235
  * Animal <|-- Dog
223
236
  * `);
224
237
  */
225
- declare function fromMermaidClass(input: string): ClassGraph;
238
+ declare function fromMermaidClass(input: string): MermaidClassGraph;
226
239
  /**
227
240
  * Converts a class diagram Graph to a Mermaid class diagram string.
228
241
  *
@@ -230,7 +243,7 @@ declare function fromMermaidClass(input: string): ClassGraph;
230
243
  * const mermaid = toMermaidClass(graph);
231
244
  * // "classDiagram\n class Animal {\n ..."
232
245
  */
233
- declare function toMermaidClass(graph: ClassGraph): string;
246
+ declare function toMermaidClass(graph: MermaidClassGraph): string;
234
247
  /**
235
248
  * Bidirectional converter for Mermaid class diagram format.
236
249
  *
@@ -241,7 +254,7 @@ declare function toMermaidClass(graph: ClassGraph): string;
241
254
  * `);
242
255
  * const str = mermaidClassConverter.to(graph);
243
256
  */
244
- declare const mermaidClassConverter: GraphFormatConverter<string>;
257
+ declare const mermaidClassConverter: GraphFormatConverter<string, ClassNodeData, ClassEdgeData, ClassGraphData>;
245
258
  //#endregion
246
259
  //#region src/formats/mermaid/er-diagram.d.ts
247
260
  interface ERNodeData {
@@ -260,7 +273,7 @@ interface EREdgeData {
260
273
  interface ERGraphData {
261
274
  diagramType: 'erDiagram';
262
275
  }
263
- type ERGraph = Graph<ERNodeData, EREdgeData, ERGraphData>;
276
+ type MermaidERGraph = Graph<ERNodeData, EREdgeData, ERGraphData>;
264
277
  /**
265
278
  * Parses a Mermaid ER diagram string into a Graph.
266
279
  *
@@ -271,7 +284,7 @@ type ERGraph = Graph<ERNodeData, EREdgeData, ERGraphData>;
271
284
  * ORDER ||--|{ LINE_ITEM : contains
272
285
  * `);
273
286
  */
274
- declare function fromMermaidER(input: string): ERGraph;
287
+ declare function fromMermaidER(input: string): MermaidERGraph;
275
288
  /**
276
289
  * Converts an ER diagram Graph to a Mermaid ER diagram string.
277
290
  *
@@ -279,7 +292,7 @@ declare function fromMermaidER(input: string): ERGraph;
279
292
  * const mermaid = toMermaidER(graph);
280
293
  * // "erDiagram\n CUSTOMER ||--o{ ORDER : \"places\"\n ..."
281
294
  */
282
- declare function toMermaidER(graph: ERGraph): string;
295
+ declare function toMermaidER(graph: MermaidERGraph): string;
283
296
  /**
284
297
  * Bidirectional converter for Mermaid ER diagram format.
285
298
  *
@@ -290,7 +303,7 @@ declare function toMermaidER(graph: ERGraph): string;
290
303
  * `);
291
304
  * const str = mermaidERConverter.to(graph);
292
305
  */
293
- declare const mermaidERConverter: GraphFormatConverter<string>;
306
+ declare const mermaidERConverter: GraphFormatConverter<string, ERNodeData, EREdgeData, ERGraphData>;
294
307
  //#endregion
295
308
  //#region src/formats/mermaid/mindmap.d.ts
296
309
  interface MindmapNodeData {
@@ -300,7 +313,7 @@ interface MindmapEdgeData {}
300
313
  interface MindmapGraphData {
301
314
  diagramType: 'mindmap';
302
315
  }
303
- type MindmapGraph = Graph<MindmapNodeData, MindmapEdgeData, MindmapGraphData>;
316
+ type MermaidMindmapGraph = Graph<MindmapNodeData, MindmapEdgeData, MindmapGraphData>;
304
317
  /**
305
318
  * Parses a Mermaid mindmap string into a Graph.
306
319
  *
@@ -313,7 +326,7 @@ type MindmapGraph = Graph<MindmapNodeData, MindmapEdgeData, MindmapGraphData>;
313
326
  * Child B
314
327
  * `);
315
328
  */
316
- declare function fromMermaidMindmap(input: string): MindmapGraph;
329
+ declare function fromMermaidMindmap(input: string): MermaidMindmapGraph;
317
330
  /**
318
331
  * Converts a mindmap Graph to a Mermaid mindmap string.
319
332
  *
@@ -321,7 +334,7 @@ declare function fromMermaidMindmap(input: string): MindmapGraph;
321
334
  * const mermaid = toMermaidMindmap(graph);
322
335
  * // "mindmap\n Root\n Child A\n ..."
323
336
  */
324
- declare function toMermaidMindmap(graph: MindmapGraph): string;
337
+ declare function toMermaidMindmap(graph: MermaidMindmapGraph): string;
325
338
  /**
326
339
  * Bidirectional converter for Mermaid mindmap format.
327
340
  *
@@ -333,7 +346,7 @@ declare function toMermaidMindmap(graph: MindmapGraph): string;
333
346
  * `);
334
347
  * const str = mermaidMindmapConverter.to(graph);
335
348
  */
336
- declare const mermaidMindmapConverter: GraphFormatConverter<string>;
349
+ declare const mermaidMindmapConverter: GraphFormatConverter<string, MindmapNodeData, MindmapEdgeData, MindmapGraphData>;
337
350
  //#endregion
338
351
  //#region src/formats/mermaid/block.d.ts
339
352
  interface BlockNodeData {
@@ -344,7 +357,7 @@ interface BlockGraphData {
344
357
  diagramType: 'block';
345
358
  columns?: number;
346
359
  }
347
- type BlockGraph = Graph<BlockNodeData, BlockEdgeData, BlockGraphData>;
360
+ type MermaidBlockGraph = Graph<BlockNodeData, BlockEdgeData, BlockGraphData>;
348
361
  /**
349
362
  * Parses a Mermaid block diagram string into a Graph.
350
363
  *
@@ -356,7 +369,7 @@ type BlockGraph = Graph<BlockNodeData, BlockEdgeData, BlockGraphData>;
356
369
  * a --> b
357
370
  * `);
358
371
  */
359
- declare function fromMermaidBlock(input: string): BlockGraph;
372
+ declare function fromMermaidBlock(input: string): MermaidBlockGraph;
360
373
  /**
361
374
  * Converts a block diagram Graph to a Mermaid block diagram string.
362
375
  *
@@ -364,7 +377,7 @@ declare function fromMermaidBlock(input: string): BlockGraph;
364
377
  * const mermaid = toMermaidBlock(graph);
365
378
  * // "block-beta\n columns 2\n a[\"Task A\"]\n ..."
366
379
  */
367
- declare function toMermaidBlock(graph: BlockGraph): string;
380
+ declare function toMermaidBlock(graph: MermaidBlockGraph): string;
368
381
  /**
369
382
  * Bidirectional converter for Mermaid block diagram format.
370
383
  *
@@ -376,6 +389,6 @@ declare function toMermaidBlock(graph: BlockGraph): string;
376
389
  * `);
377
390
  * const str = mermaidBlockConverter.to(graph);
378
391
  */
379
- declare const mermaidBlockConverter: GraphFormatConverter<string>;
392
+ declare const mermaidBlockConverter: GraphFormatConverter<string, BlockNodeData, BlockEdgeData, BlockGraphData>;
380
393
  //#endregion
381
- export { type BlockEdgeData, type BlockGraphData, type BlockNodeData, type ClassEdgeData, type ClassGraphData, type ClassNodeData, type EREdgeData, type ERGraphData, type ERNodeData, type FlowchartEdgeData, type FlowchartGraphData, type FlowchartNodeData, type MindmapEdgeData, type MindmapGraphData, type MindmapNodeData, type SequenceBlock, type SequenceEdgeData, type SequenceGraphData, type SequenceNodeData, type StateEdgeData, type StateGraphData, type StateNodeData, fromMermaidBlock, fromMermaidClass, fromMermaidER, fromMermaidFlowchart, fromMermaidMindmap, fromMermaidSequence, fromMermaidState, mermaidBlockConverter, mermaidClassConverter, mermaidERConverter, mermaidFlowchartConverter, mermaidMindmapConverter, mermaidSequenceConverter, mermaidStateConverter, toMermaidBlock, toMermaidClass, toMermaidER, toMermaidFlowchart, toMermaidMindmap, toMermaidSequence, toMermaidState };
394
+ export { type BlockEdgeData, type BlockGraphData, type BlockNodeData, type ClassEdgeData, type ClassGraphData, type ClassNodeData, type EREdgeData, type ERGraphData, type ERNodeData, type FlowchartEdgeData, type FlowchartGraphData, type FlowchartNodeData, type MermaidBlockGraph, type MermaidClassGraph, type MermaidERGraph, type MermaidFlowchartGraph, type MermaidMindmapGraph, type MermaidSequenceGraph, type MermaidStateGraph, type MindmapEdgeData, type MindmapGraphData, type MindmapNodeData, type SequenceBlock, type SequenceEdgeData, type SequenceGraphData, type SequenceNodeData, type StateEdgeData, type StateGraphData, type StateNodeData, fromMermaidBlock, fromMermaidClass, fromMermaidER, fromMermaidFlowchart, fromMermaidMindmap, fromMermaidSequence, fromMermaidState, mermaidBlockConverter, mermaidClassConverter, mermaidERConverter, mermaidFlowchartConverter, mermaidMindmapConverter, mermaidSequenceConverter, mermaidStateConverter, toMermaidBlock, toMermaidClass, toMermaidER, toMermaidFlowchart, toMermaidMindmap, toMermaidSequence, toMermaidState };