@principal-ai/principal-view-core 0.5.6

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 (204) hide show
  1. package/README.md +126 -0
  2. package/dist/ConfigurationLoader.d.ts +76 -0
  3. package/dist/ConfigurationLoader.d.ts.map +1 -0
  4. package/dist/ConfigurationLoader.js +144 -0
  5. package/dist/ConfigurationLoader.js.map +1 -0
  6. package/dist/ConfigurationValidator.d.ts +31 -0
  7. package/dist/ConfigurationValidator.d.ts.map +1 -0
  8. package/dist/ConfigurationValidator.js +242 -0
  9. package/dist/ConfigurationValidator.js.map +1 -0
  10. package/dist/EventProcessor.d.ts +49 -0
  11. package/dist/EventProcessor.d.ts.map +1 -0
  12. package/dist/EventProcessor.js +215 -0
  13. package/dist/EventProcessor.js.map +1 -0
  14. package/dist/EventRecorderService.d.ts +305 -0
  15. package/dist/EventRecorderService.d.ts.map +1 -0
  16. package/dist/EventRecorderService.js +463 -0
  17. package/dist/EventRecorderService.js.map +1 -0
  18. package/dist/LibraryLoader.d.ts +63 -0
  19. package/dist/LibraryLoader.d.ts.map +1 -0
  20. package/dist/LibraryLoader.js +188 -0
  21. package/dist/LibraryLoader.js.map +1 -0
  22. package/dist/PathBasedEventProcessor.d.ts +90 -0
  23. package/dist/PathBasedEventProcessor.d.ts.map +1 -0
  24. package/dist/PathBasedEventProcessor.js +239 -0
  25. package/dist/PathBasedEventProcessor.js.map +1 -0
  26. package/dist/SessionManager.d.ts +194 -0
  27. package/dist/SessionManager.d.ts.map +1 -0
  28. package/dist/SessionManager.js +299 -0
  29. package/dist/SessionManager.js.map +1 -0
  30. package/dist/ValidationEngine.d.ts +31 -0
  31. package/dist/ValidationEngine.d.ts.map +1 -0
  32. package/dist/ValidationEngine.js +158 -0
  33. package/dist/ValidationEngine.js.map +1 -0
  34. package/dist/helpers/GraphInstrumentationHelper.d.ts +93 -0
  35. package/dist/helpers/GraphInstrumentationHelper.d.ts.map +1 -0
  36. package/dist/helpers/GraphInstrumentationHelper.js +248 -0
  37. package/dist/helpers/GraphInstrumentationHelper.js.map +1 -0
  38. package/dist/index.d.ts +33 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +34 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/rules/config.d.ts +57 -0
  43. package/dist/rules/config.d.ts.map +1 -0
  44. package/dist/rules/config.js +382 -0
  45. package/dist/rules/config.js.map +1 -0
  46. package/dist/rules/engine.d.ts +70 -0
  47. package/dist/rules/engine.d.ts.map +1 -0
  48. package/dist/rules/engine.js +252 -0
  49. package/dist/rules/engine.js.map +1 -0
  50. package/dist/rules/implementations/connection-type-references.d.ts +7 -0
  51. package/dist/rules/implementations/connection-type-references.d.ts.map +1 -0
  52. package/dist/rules/implementations/connection-type-references.js +104 -0
  53. package/dist/rules/implementations/connection-type-references.js.map +1 -0
  54. package/dist/rules/implementations/dead-end-states.d.ts +17 -0
  55. package/dist/rules/implementations/dead-end-states.d.ts.map +1 -0
  56. package/dist/rules/implementations/dead-end-states.js +72 -0
  57. package/dist/rules/implementations/dead-end-states.js.map +1 -0
  58. package/dist/rules/implementations/index.d.ts +24 -0
  59. package/dist/rules/implementations/index.d.ts.map +1 -0
  60. package/dist/rules/implementations/index.js +62 -0
  61. package/dist/rules/implementations/index.js.map +1 -0
  62. package/dist/rules/implementations/library-node-type-match.d.ts +17 -0
  63. package/dist/rules/implementations/library-node-type-match.d.ts.map +1 -0
  64. package/dist/rules/implementations/library-node-type-match.js +123 -0
  65. package/dist/rules/implementations/library-node-type-match.js.map +1 -0
  66. package/dist/rules/implementations/minimum-node-sources.d.ts +22 -0
  67. package/dist/rules/implementations/minimum-node-sources.d.ts.map +1 -0
  68. package/dist/rules/implementations/minimum-node-sources.js +54 -0
  69. package/dist/rules/implementations/minimum-node-sources.js.map +1 -0
  70. package/dist/rules/implementations/no-unknown-fields.d.ts +7 -0
  71. package/dist/rules/implementations/no-unknown-fields.d.ts.map +1 -0
  72. package/dist/rules/implementations/no-unknown-fields.js +211 -0
  73. package/dist/rules/implementations/no-unknown-fields.js.map +1 -0
  74. package/dist/rules/implementations/orphaned-edge-types.d.ts +7 -0
  75. package/dist/rules/implementations/orphaned-edge-types.d.ts.map +1 -0
  76. package/dist/rules/implementations/orphaned-edge-types.js +47 -0
  77. package/dist/rules/implementations/orphaned-edge-types.js.map +1 -0
  78. package/dist/rules/implementations/orphaned-node-types.d.ts +7 -0
  79. package/dist/rules/implementations/orphaned-node-types.d.ts.map +1 -0
  80. package/dist/rules/implementations/orphaned-node-types.js +50 -0
  81. package/dist/rules/implementations/orphaned-node-types.js.map +1 -0
  82. package/dist/rules/implementations/required-metadata.d.ts +7 -0
  83. package/dist/rules/implementations/required-metadata.d.ts.map +1 -0
  84. package/dist/rules/implementations/required-metadata.js +57 -0
  85. package/dist/rules/implementations/required-metadata.js.map +1 -0
  86. package/dist/rules/implementations/state-transition-references.d.ts +7 -0
  87. package/dist/rules/implementations/state-transition-references.d.ts.map +1 -0
  88. package/dist/rules/implementations/state-transition-references.js +135 -0
  89. package/dist/rules/implementations/state-transition-references.js.map +1 -0
  90. package/dist/rules/implementations/unreachable-states.d.ts +7 -0
  91. package/dist/rules/implementations/unreachable-states.d.ts.map +1 -0
  92. package/dist/rules/implementations/unreachable-states.js +80 -0
  93. package/dist/rules/implementations/unreachable-states.js.map +1 -0
  94. package/dist/rules/implementations/valid-action-patterns.d.ts +17 -0
  95. package/dist/rules/implementations/valid-action-patterns.d.ts.map +1 -0
  96. package/dist/rules/implementations/valid-action-patterns.js +109 -0
  97. package/dist/rules/implementations/valid-action-patterns.js.map +1 -0
  98. package/dist/rules/implementations/valid-color-format.d.ts +7 -0
  99. package/dist/rules/implementations/valid-color-format.d.ts.map +1 -0
  100. package/dist/rules/implementations/valid-color-format.js +91 -0
  101. package/dist/rules/implementations/valid-color-format.js.map +1 -0
  102. package/dist/rules/implementations/valid-edge-types.d.ts +7 -0
  103. package/dist/rules/implementations/valid-edge-types.d.ts.map +1 -0
  104. package/dist/rules/implementations/valid-edge-types.js +244 -0
  105. package/dist/rules/implementations/valid-edge-types.js.map +1 -0
  106. package/dist/rules/implementations/valid-node-types.d.ts +7 -0
  107. package/dist/rules/implementations/valid-node-types.d.ts.map +1 -0
  108. package/dist/rules/implementations/valid-node-types.js +175 -0
  109. package/dist/rules/implementations/valid-node-types.js.map +1 -0
  110. package/dist/rules/index.d.ts +28 -0
  111. package/dist/rules/index.d.ts.map +1 -0
  112. package/dist/rules/index.js +45 -0
  113. package/dist/rules/index.js.map +1 -0
  114. package/dist/rules/types.d.ts +309 -0
  115. package/dist/rules/types.d.ts.map +1 -0
  116. package/dist/rules/types.js +35 -0
  117. package/dist/rules/types.js.map +1 -0
  118. package/dist/types/canvas.d.ts +409 -0
  119. package/dist/types/canvas.d.ts.map +1 -0
  120. package/dist/types/canvas.js +70 -0
  121. package/dist/types/canvas.js.map +1 -0
  122. package/dist/types/index.d.ts +311 -0
  123. package/dist/types/index.d.ts.map +1 -0
  124. package/dist/types/index.js +13 -0
  125. package/dist/types/index.js.map +1 -0
  126. package/dist/types/library.d.ts +185 -0
  127. package/dist/types/library.d.ts.map +1 -0
  128. package/dist/types/library.js +15 -0
  129. package/dist/types/library.js.map +1 -0
  130. package/dist/types/path-based-config.d.ts +230 -0
  131. package/dist/types/path-based-config.d.ts.map +1 -0
  132. package/dist/types/path-based-config.js +9 -0
  133. package/dist/types/path-based-config.js.map +1 -0
  134. package/dist/utils/CanvasConverter.d.ts +118 -0
  135. package/dist/utils/CanvasConverter.d.ts.map +1 -0
  136. package/dist/utils/CanvasConverter.js +315 -0
  137. package/dist/utils/CanvasConverter.js.map +1 -0
  138. package/dist/utils/GraphConverter.d.ts +18 -0
  139. package/dist/utils/GraphConverter.d.ts.map +1 -0
  140. package/dist/utils/GraphConverter.js +61 -0
  141. package/dist/utils/GraphConverter.js.map +1 -0
  142. package/dist/utils/LibraryConverter.d.ts +113 -0
  143. package/dist/utils/LibraryConverter.d.ts.map +1 -0
  144. package/dist/utils/LibraryConverter.js +166 -0
  145. package/dist/utils/LibraryConverter.js.map +1 -0
  146. package/dist/utils/PathMatcher.d.ts +55 -0
  147. package/dist/utils/PathMatcher.d.ts.map +1 -0
  148. package/dist/utils/PathMatcher.js +172 -0
  149. package/dist/utils/PathMatcher.js.map +1 -0
  150. package/dist/utils/YamlParser.d.ts +36 -0
  151. package/dist/utils/YamlParser.d.ts.map +1 -0
  152. package/dist/utils/YamlParser.js +63 -0
  153. package/dist/utils/YamlParser.js.map +1 -0
  154. package/package.json +47 -0
  155. package/src/ConfigurationLoader.test.ts +490 -0
  156. package/src/ConfigurationLoader.ts +185 -0
  157. package/src/ConfigurationValidator.test.ts +200 -0
  158. package/src/ConfigurationValidator.ts +283 -0
  159. package/src/EventProcessor.test.ts +405 -0
  160. package/src/EventProcessor.ts +250 -0
  161. package/src/EventRecorderService.test.ts +541 -0
  162. package/src/EventRecorderService.ts +744 -0
  163. package/src/LibraryLoader.ts +215 -0
  164. package/src/PathBasedEventProcessor.test.ts +567 -0
  165. package/src/PathBasedEventProcessor.ts +332 -0
  166. package/src/SessionManager.test.ts +424 -0
  167. package/src/SessionManager.ts +470 -0
  168. package/src/ValidationEngine.test.ts +371 -0
  169. package/src/ValidationEngine.ts +196 -0
  170. package/src/helpers/GraphInstrumentationHelper.test.ts +340 -0
  171. package/src/helpers/GraphInstrumentationHelper.ts +326 -0
  172. package/src/index.ts +85 -0
  173. package/src/rules/config.test.ts +278 -0
  174. package/src/rules/config.ts +459 -0
  175. package/src/rules/engine.test.ts +332 -0
  176. package/src/rules/engine.ts +318 -0
  177. package/src/rules/implementations/connection-type-references.ts +117 -0
  178. package/src/rules/implementations/dead-end-states.ts +101 -0
  179. package/src/rules/implementations/index.ts +73 -0
  180. package/src/rules/implementations/library-node-type-match.ts +148 -0
  181. package/src/rules/implementations/minimum-node-sources.ts +82 -0
  182. package/src/rules/implementations/no-unknown-fields.ts +342 -0
  183. package/src/rules/implementations/orphaned-edge-types.ts +55 -0
  184. package/src/rules/implementations/orphaned-node-types.ts +58 -0
  185. package/src/rules/implementations/required-metadata.ts +64 -0
  186. package/src/rules/implementations/state-transition-references.ts +151 -0
  187. package/src/rules/implementations/unreachable-states.ts +94 -0
  188. package/src/rules/implementations/valid-action-patterns.ts +136 -0
  189. package/src/rules/implementations/valid-color-format.ts +140 -0
  190. package/src/rules/implementations/valid-edge-types.ts +258 -0
  191. package/src/rules/implementations/valid-node-types.ts +189 -0
  192. package/src/rules/index.ts +95 -0
  193. package/src/rules/types.ts +426 -0
  194. package/src/types/canvas.ts +496 -0
  195. package/src/types/index.ts +382 -0
  196. package/src/types/library.ts +233 -0
  197. package/src/types/path-based-config.ts +281 -0
  198. package/src/utils/CanvasConverter.ts +431 -0
  199. package/src/utils/GraphConverter.test.ts +195 -0
  200. package/src/utils/GraphConverter.ts +71 -0
  201. package/src/utils/LibraryConverter.ts +245 -0
  202. package/src/utils/PathMatcher.test.ts +148 -0
  203. package/src/utils/PathMatcher.ts +183 -0
  204. package/src/utils/YamlParser.ts +75 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasConverter.js","sourceRoot":"","sources":["../../src/utils/CanvasConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Utility for converting PathBasedGraphConfiguration to nodes and edges
3
+ */
4
+ import type { PathBasedGraphConfiguration } from '../types/path-based-config';
5
+ import type { NodeState, EdgeState } from '../types';
6
+ /**
7
+ * Converts PathBasedGraphConfiguration to graph state (nodes and edges)
8
+ */
9
+ export declare class GraphConverter {
10
+ /**
11
+ * Convert configuration to nodes and edges
12
+ */
13
+ static configToGraph(config: PathBasedGraphConfiguration): {
14
+ nodes: NodeState[];
15
+ edges: EdgeState[];
16
+ };
17
+ }
18
+ //# sourceMappingURL=GraphConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphConverter.d.ts","sourceRoot":"","sources":["../../src/utils/GraphConverter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErD;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,2BAA2B,GAAG;QACzD,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,KAAK,EAAE,SAAS,EAAE,CAAC;KACpB;CAqDF"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Utility for converting PathBasedGraphConfiguration to nodes and edges
3
+ */
4
+ /**
5
+ * Converts PathBasedGraphConfiguration to graph state (nodes and edges)
6
+ */
7
+ export class GraphConverter {
8
+ /**
9
+ * Convert configuration to nodes and edges
10
+ */
11
+ static configToGraph(config) {
12
+ const nodes = [];
13
+ const edges = [];
14
+ const now = Date.now();
15
+ // Create nodes from nodeTypes
16
+ Object.entries(config.nodeTypes).forEach(([id, nodeType]) => {
17
+ nodes.push({
18
+ id,
19
+ type: id,
20
+ data: {
21
+ label: id,
22
+ shape: nodeType.shape,
23
+ icon: nodeType.icon,
24
+ color: nodeType.color,
25
+ size: nodeType.size,
26
+ sources: nodeType.sources || [],
27
+ actions: nodeType.actions || [],
28
+ ...nodeType.dataSchema,
29
+ },
30
+ // Extract position if provided in manual layout mode
31
+ position: nodeType.position,
32
+ state: 'idle',
33
+ createdAt: now,
34
+ updatedAt: now,
35
+ });
36
+ });
37
+ // Create edges from allowedConnections
38
+ if (config.allowedConnections) {
39
+ config.allowedConnections.forEach((connection, index) => {
40
+ const edgeType = config.edgeTypes?.[connection.via];
41
+ edges.push({
42
+ id: `${connection.from}-${connection.to}-${index}`,
43
+ type: connection.via,
44
+ from: connection.from,
45
+ to: connection.to,
46
+ data: {
47
+ label: connection.via,
48
+ style: edgeType?.style || 'solid',
49
+ color: edgeType?.color,
50
+ width: edgeType?.width,
51
+ animation: edgeType?.animation,
52
+ },
53
+ createdAt: now,
54
+ updatedAt: now,
55
+ });
56
+ });
57
+ }
58
+ return { nodes, edges };
59
+ }
60
+ }
61
+ //# sourceMappingURL=GraphConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphConverter.js","sourceRoot":"","sources":["../../src/utils/GraphConverter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,OAAO,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAmC;QAItD,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,8BAA8B;QAC9B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE;YAC1D,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE;oBACJ,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;oBAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;oBAC/B,GAAG,QAAQ,CAAC,UAAU;iBACvB;gBACD,qDAAqD;gBACrD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;gBACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAEpD,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE,IAAI,KAAK,EAAE;oBAClD,IAAI,EAAE,UAAU,CAAC,GAAG;oBACpB,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,EAAE,EAAE,UAAU,CAAC,EAAE;oBACjB,IAAI,EAAE;wBACJ,KAAK,EAAE,UAAU,CAAC,GAAG;wBACrB,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,OAAO;wBACjC,KAAK,EAAE,QAAQ,EAAE,KAAK;wBACtB,KAAK,EAAE,QAAQ,EAAE,KAAK;wBACtB,SAAS,EAAE,QAAQ,EAAE,SAAS;qBAC/B;oBACD,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Library Converter
3
+ *
4
+ * Utilities for converting library components to canvas nodes/edges.
5
+ * Used when adding components from the library to a canvas.
6
+ */
7
+ import type { LibraryNodeComponent, LibraryEdgeComponent, ComponentLibrary } from '../types/library';
8
+ import type { ExtendedCanvasTextNode, ExtendedCanvasEdge, PVEdgeTypeDefinition } from '../types/canvas';
9
+ /**
10
+ * Options for creating a canvas node from a library component
11
+ */
12
+ export interface CreateNodeOptions {
13
+ /** Unique ID for the node */
14
+ id: string;
15
+ /** X position in pixels */
16
+ x: number;
17
+ /** Y position in pixels */
18
+ y: number;
19
+ /** Optional label override (defaults to component's defaultLabel or the component key) */
20
+ label?: string;
21
+ /** Optional initial data values */
22
+ data?: Record<string, unknown>;
23
+ }
24
+ /**
25
+ * Options for creating a canvas edge from a library component
26
+ */
27
+ export interface CreateEdgeOptions {
28
+ /** Unique ID for the edge */
29
+ id: string;
30
+ /** Source node ID */
31
+ fromNode: string;
32
+ /** Target node ID */
33
+ toNode: string;
34
+ /** Optional label */
35
+ label?: string;
36
+ /** Optional side of source node */
37
+ fromSide?: 'top' | 'right' | 'bottom' | 'left';
38
+ /** Optional side of target node */
39
+ toSide?: 'top' | 'right' | 'bottom' | 'left';
40
+ }
41
+ /**
42
+ * Library Converter utility class
43
+ */
44
+ export declare class LibraryConverter {
45
+ /**
46
+ * Create a canvas node from a library node component
47
+ *
48
+ * @param componentKey - The key of the component in the library
49
+ * @param component - The library node component definition
50
+ * @param options - Node creation options (id, position, etc.)
51
+ * @returns Extended canvas text node ready to add to a canvas
52
+ */
53
+ static createCanvasNode(componentKey: string, component: LibraryNodeComponent, options: CreateNodeOptions): ExtendedCanvasTextNode;
54
+ /**
55
+ * Create a canvas edge from a library edge component
56
+ *
57
+ * @param componentKey - The key of the component in the library
58
+ * @param component - The library edge component definition
59
+ * @param options - Edge creation options
60
+ * @returns Extended canvas edge ready to add to a canvas
61
+ */
62
+ static createCanvasEdge(componentKey: string, component: LibraryEdgeComponent, options: CreateEdgeOptions): ExtendedCanvasEdge;
63
+ /**
64
+ * Convert library edge components to canvas-level edge type definitions
65
+ *
66
+ * This is useful when initializing a new canvas from a library.
67
+ *
68
+ * @param edgeComponents - Library edge components
69
+ * @returns Record of edge type definitions for the canvas pv.edgeTypes field
70
+ */
71
+ static createEdgeTypeDefinitions(edgeComponents: Record<string, LibraryEdgeComponent>): Record<string, PVEdgeTypeDefinition>;
72
+ /**
73
+ * Generate a unique ID for a new node
74
+ *
75
+ * @param prefix - Optional prefix (defaults to 'node')
76
+ * @returns Unique ID string
77
+ */
78
+ static generateNodeId(prefix?: string): string;
79
+ /**
80
+ * Generate a unique ID for a new edge
81
+ *
82
+ * @param fromNode - Source node ID
83
+ * @param toNode - Target node ID
84
+ * @returns Unique ID string
85
+ */
86
+ static generateEdgeId(fromNode: string, toNode: string): string;
87
+ /**
88
+ * Get all node component keys that match the given tags
89
+ *
90
+ * @param library - Component library
91
+ * @param tags - Tags to filter by (matches if component has ANY of these tags)
92
+ * @returns Array of component keys
93
+ */
94
+ static filterNodesByTags(library: ComponentLibrary, tags: string[]): string[];
95
+ /**
96
+ * Get all edge component keys that match the given tags
97
+ *
98
+ * @param library - Component library
99
+ * @param tags - Tags to filter by (matches if component has ANY of these tags)
100
+ * @returns Array of component keys
101
+ */
102
+ static filterEdgesByTags(library: ComponentLibrary, tags: string[]): string[];
103
+ /**
104
+ * Get allowed edge types between two node types based on connection rules
105
+ *
106
+ * @param library - Component library
107
+ * @param fromNodeType - Source node type key
108
+ * @param toNodeType - Target node type key
109
+ * @returns Array of allowed edge type keys
110
+ */
111
+ static getAllowedEdgeTypes(library: ComponentLibrary, fromNodeType: string, toNodeType: string): string[];
112
+ }
113
+ //# sourceMappingURL=LibraryConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LibraryConverter.d.ts","sourceRoot":"","sources":["../../src/utils/LibraryConverter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAGlB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IAEX,2BAA2B;IAC3B,CAAC,EAAE,MAAM,CAAC;IAEV,2BAA2B;IAC3B,CAAC,EAAE,MAAM,CAAC;IAEV,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IAEX,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IAEjB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAE/C,mCAAmC;IACnC,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC9C;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;;;;;;OAOG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,iBAAiB,GACzB,sBAAsB;IAsCzB;;;;;;;OAOG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,iBAAiB,GACzB,kBAAkB;IA2BrB;;;;;;;OAOG;IACH,MAAM,CAAC,yBAAyB,CAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GACnD,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAiBvC;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,SAAS,GAAG,MAAM;IAI9C;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAI/D;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAM7E;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAM7E;;;;;;;OAOG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;CAU1G"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Library Converter
3
+ *
4
+ * Utilities for converting library components to canvas nodes/edges.
5
+ * Used when adding components from the library to a canvas.
6
+ */
7
+ /**
8
+ * Library Converter utility class
9
+ */
10
+ export class LibraryConverter {
11
+ /**
12
+ * Create a canvas node from a library node component
13
+ *
14
+ * @param componentKey - The key of the component in the library
15
+ * @param component - The library node component definition
16
+ * @param options - Node creation options (id, position, etc.)
17
+ * @returns Extended canvas text node ready to add to a canvas
18
+ */
19
+ static createCanvasNode(componentKey, component, options) {
20
+ const { id, x, y, label, data } = options;
21
+ // Build the PV extension from the library component
22
+ const pv = {
23
+ nodeType: componentKey,
24
+ shape: component.shape,
25
+ icon: component.icon,
26
+ states: component.states,
27
+ sources: component.sources,
28
+ actions: component.actions,
29
+ dataSchema: component.dataSchema,
30
+ layout: component.layout,
31
+ };
32
+ // Build the canvas node
33
+ const node = {
34
+ id,
35
+ type: 'text',
36
+ text: label || component.defaultLabel || componentKey,
37
+ x,
38
+ y,
39
+ width: component.size?.width || 120,
40
+ height: component.size?.height || 60,
41
+ color: component.color,
42
+ pv,
43
+ };
44
+ // If there's initial data, merge it with the text
45
+ if (data) {
46
+ // Store additional data in the pv extension
47
+ // The data will be accessible via the node's data field when converted to React Flow
48
+ pv.initialData = data;
49
+ }
50
+ return node;
51
+ }
52
+ /**
53
+ * Create a canvas edge from a library edge component
54
+ *
55
+ * @param componentKey - The key of the component in the library
56
+ * @param component - The library edge component definition
57
+ * @param options - Edge creation options
58
+ * @returns Extended canvas edge ready to add to a canvas
59
+ */
60
+ static createCanvasEdge(componentKey, component, options) {
61
+ const { id, fromNode, toNode, label, fromSide, toSide } = options;
62
+ // Build the PV extension
63
+ const pv = {
64
+ edgeType: componentKey,
65
+ style: component.style,
66
+ width: component.width,
67
+ animation: component.animation,
68
+ };
69
+ // Build the canvas edge
70
+ const edge = {
71
+ id,
72
+ fromNode,
73
+ toNode,
74
+ label,
75
+ fromSide,
76
+ toSide,
77
+ color: component.color,
78
+ toEnd: component.directed !== false ? 'arrow' : 'none',
79
+ pv,
80
+ };
81
+ return edge;
82
+ }
83
+ /**
84
+ * Convert library edge components to canvas-level edge type definitions
85
+ *
86
+ * This is useful when initializing a new canvas from a library.
87
+ *
88
+ * @param edgeComponents - Library edge components
89
+ * @returns Record of edge type definitions for the canvas pv.edgeTypes field
90
+ */
91
+ static createEdgeTypeDefinitions(edgeComponents) {
92
+ const edgeTypes = {};
93
+ for (const [key, component] of Object.entries(edgeComponents)) {
94
+ edgeTypes[key] = {
95
+ style: component.style,
96
+ color: component.color,
97
+ width: component.width,
98
+ directed: component.directed,
99
+ animation: component.animation,
100
+ labelConfig: component.label,
101
+ };
102
+ }
103
+ return edgeTypes;
104
+ }
105
+ /**
106
+ * Generate a unique ID for a new node
107
+ *
108
+ * @param prefix - Optional prefix (defaults to 'node')
109
+ * @returns Unique ID string
110
+ */
111
+ static generateNodeId(prefix = 'node') {
112
+ return `${prefix}-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
113
+ }
114
+ /**
115
+ * Generate a unique ID for a new edge
116
+ *
117
+ * @param fromNode - Source node ID
118
+ * @param toNode - Target node ID
119
+ * @returns Unique ID string
120
+ */
121
+ static generateEdgeId(fromNode, toNode) {
122
+ return `edge-${fromNode}-${toNode}-${Math.random().toString(36).substring(2, 9)}`;
123
+ }
124
+ /**
125
+ * Get all node component keys that match the given tags
126
+ *
127
+ * @param library - Component library
128
+ * @param tags - Tags to filter by (matches if component has ANY of these tags)
129
+ * @returns Array of component keys
130
+ */
131
+ static filterNodesByTags(library, tags) {
132
+ return Object.entries(library.nodeComponents)
133
+ .filter(([, component]) => component.tags?.some((tag) => tags.includes(tag)))
134
+ .map(([key]) => key);
135
+ }
136
+ /**
137
+ * Get all edge component keys that match the given tags
138
+ *
139
+ * @param library - Component library
140
+ * @param tags - Tags to filter by (matches if component has ANY of these tags)
141
+ * @returns Array of component keys
142
+ */
143
+ static filterEdgesByTags(library, tags) {
144
+ return Object.entries(library.edgeComponents)
145
+ .filter(([, component]) => component.tags?.some((tag) => tags.includes(tag)))
146
+ .map(([key]) => key);
147
+ }
148
+ /**
149
+ * Get allowed edge types between two node types based on connection rules
150
+ *
151
+ * @param library - Component library
152
+ * @param fromNodeType - Source node type key
153
+ * @param toNodeType - Target node type key
154
+ * @returns Array of allowed edge type keys
155
+ */
156
+ static getAllowedEdgeTypes(library, fromNodeType, toNodeType) {
157
+ if (!library.connectionRules) {
158
+ // If no rules defined, allow any edge type
159
+ return Object.keys(library.edgeComponents);
160
+ }
161
+ return library.connectionRules
162
+ .filter((rule) => rule.from === fromNodeType && rule.to === toNodeType)
163
+ .map((rule) => rule.via);
164
+ }
165
+ }
166
+ //# sourceMappingURL=LibraryConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LibraryConverter.js","sourceRoot":"","sources":["../../src/utils/LibraryConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Utility for matching file paths against glob patterns
3
+ * Used for associating logs with components based on source paths
4
+ */
5
+ export declare class PathMatcher {
6
+ /**
7
+ * Check if a file path matches a glob pattern
8
+ *
9
+ * Supports:
10
+ * - Exact matches: "lib/lock-manager.ts"
11
+ * - Wildcards: "lib/*.ts"
12
+ * - Double wildcards: "lib/**​/*.ts"
13
+ * - Character sets: "lib/[abc].ts"
14
+ *
15
+ * @param path File path to test
16
+ * @param pattern Glob pattern
17
+ * @returns True if path matches pattern
18
+ */
19
+ static matches(path: string, pattern: string): boolean;
20
+ /**
21
+ * Find all patterns that match a given path
22
+ *
23
+ * @param path File path to test
24
+ * @param patterns Array of glob patterns
25
+ * @returns Array of matching patterns
26
+ */
27
+ static findMatches(path: string, patterns: string[]): string[];
28
+ /**
29
+ * Convert a glob pattern to a regular expression
30
+ *
31
+ * @param pattern Glob pattern
32
+ * @returns Regular expression
33
+ */
34
+ private static globToRegex;
35
+ /**
36
+ * Convert a glob pattern to a regex string (without anchors)
37
+ * This allows for proper composition when handling alternatives
38
+ */
39
+ private static globToRegexString;
40
+ /**
41
+ * Escape special regex characters in a string
42
+ */
43
+ private static escapeRegex;
44
+ /**
45
+ * Check if a pattern might match multiple paths (contains wildcards)
46
+ */
47
+ static isGlob(pattern: string): boolean;
48
+ /**
49
+ * Get the base directory from a glob pattern (part before first wildcard)
50
+ *
51
+ * Example: "lib/services/**​/*.ts" → "lib/services"
52
+ */
53
+ static getBaseDir(pattern: string): string;
54
+ }
55
+ //# sourceMappingURL=PathMatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PathMatcher.d.ts","sourceRoot":"","sources":["../../src/utils/PathMatcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,WAAW;IACtB;;;;;;;;;;;;OAYG;WACW,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAe7D;;;;;;OAMG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAIrE;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAM1B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA0FhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B;;OAEG;WACW,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI9C;;;;OAIG;WACW,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAYlD"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Utility for matching file paths against glob patterns
3
+ * Used for associating logs with components based on source paths
4
+ */
5
+ export class PathMatcher {
6
+ /**
7
+ * Check if a file path matches a glob pattern
8
+ *
9
+ * Supports:
10
+ * - Exact matches: "lib/lock-manager.ts"
11
+ * - Wildcards: "lib/*.ts"
12
+ * - Double wildcards: "lib/**​/*.ts"
13
+ * - Character sets: "lib/[abc].ts"
14
+ *
15
+ * @param path File path to test
16
+ * @param pattern Glob pattern
17
+ * @returns True if path matches pattern
18
+ */
19
+ static matches(path, pattern) {
20
+ // Normalize paths (convert backslashes to forward slashes)
21
+ path = path.replace(/\\/g, '/');
22
+ pattern = pattern.replace(/\\/g, '/');
23
+ // Exact match
24
+ if (path === pattern) {
25
+ return true;
26
+ }
27
+ // Convert glob pattern to regex
28
+ const regex = this.globToRegex(pattern);
29
+ return regex.test(path);
30
+ }
31
+ /**
32
+ * Find all patterns that match a given path
33
+ *
34
+ * @param path File path to test
35
+ * @param patterns Array of glob patterns
36
+ * @returns Array of matching patterns
37
+ */
38
+ static findMatches(path, patterns) {
39
+ return patterns.filter(pattern => this.matches(path, pattern));
40
+ }
41
+ /**
42
+ * Convert a glob pattern to a regular expression
43
+ *
44
+ * @param pattern Glob pattern
45
+ * @returns Regular expression
46
+ */
47
+ static globToRegex(pattern) {
48
+ const regex = this.globToRegexString(pattern);
49
+ // Match entire string
50
+ return new RegExp('^' + regex + '$');
51
+ }
52
+ /**
53
+ * Convert a glob pattern to a regex string (without anchors)
54
+ * This allows for proper composition when handling alternatives
55
+ */
56
+ static globToRegexString(pattern) {
57
+ let regex = '';
58
+ let i = 0;
59
+ while (i < pattern.length) {
60
+ const char = pattern[i];
61
+ switch (char) {
62
+ case '*':
63
+ // Check for **
64
+ if (pattern[i + 1] === '*') {
65
+ // ** matches any number of directories
66
+ if (pattern[i + 2] === '/') {
67
+ regex += '(?:.*/)?'; // Match zero or more path segments
68
+ i += 3;
69
+ }
70
+ else {
71
+ // ** at end of pattern
72
+ regex += '.*';
73
+ i += 2;
74
+ }
75
+ }
76
+ else {
77
+ // * matches anything except /
78
+ regex += '[^/]*';
79
+ i++;
80
+ }
81
+ break;
82
+ case '?':
83
+ // ? matches any single character except /
84
+ regex += '[^/]';
85
+ i++;
86
+ break;
87
+ case '[':
88
+ // [...] matches character set
89
+ let j = i + 1;
90
+ while (j < pattern.length && pattern[j] !== ']') {
91
+ j++;
92
+ }
93
+ if (j < pattern.length) {
94
+ const set = pattern.substring(i + 1, j);
95
+ regex += '[' + set.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ']';
96
+ i = j + 1;
97
+ }
98
+ else {
99
+ regex += '\\[';
100
+ i++;
101
+ }
102
+ break;
103
+ case '{':
104
+ // {a,b,c} matches alternatives
105
+ let k = i + 1;
106
+ let depth = 1;
107
+ while (k < pattern.length && depth > 0) {
108
+ if (pattern[k] === '{')
109
+ depth++;
110
+ if (pattern[k] === '}')
111
+ depth--;
112
+ k++;
113
+ }
114
+ if (depth === 0) {
115
+ const alternatives = pattern.substring(i + 1, k - 1).split(',');
116
+ regex += '(?:' + alternatives.map(alt => this.globToRegexString(alt)).join('|') + ')';
117
+ i = k;
118
+ }
119
+ else {
120
+ regex += '\\{';
121
+ i++;
122
+ }
123
+ break;
124
+ // Escape special regex characters
125
+ case '.':
126
+ case '+':
127
+ case '^':
128
+ case '$':
129
+ case '(':
130
+ case ')':
131
+ case '|':
132
+ case '\\':
133
+ regex += '\\' + char;
134
+ i++;
135
+ break;
136
+ default:
137
+ regex += char;
138
+ i++;
139
+ }
140
+ }
141
+ return regex;
142
+ }
143
+ /**
144
+ * Escape special regex characters in a string
145
+ */
146
+ static escapeRegex(str) {
147
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
148
+ }
149
+ /**
150
+ * Check if a pattern might match multiple paths (contains wildcards)
151
+ */
152
+ static isGlob(pattern) {
153
+ return /[*?[\]{]/.test(pattern);
154
+ }
155
+ /**
156
+ * Get the base directory from a glob pattern (part before first wildcard)
157
+ *
158
+ * Example: "lib/services/**​/*.ts" → "lib/services"
159
+ */
160
+ static getBaseDir(pattern) {
161
+ const firstWildcard = pattern.search(/[*?[\]{]/);
162
+ if (firstWildcard === -1) {
163
+ // No wildcards, return the directory part
164
+ return pattern.substring(0, pattern.lastIndexOf('/'));
165
+ }
166
+ // Return part before first wildcard
167
+ const beforeWildcard = pattern.substring(0, firstWildcard);
168
+ const lastSlash = beforeWildcard.lastIndexOf('/');
169
+ return lastSlash === -1 ? '' : beforeWildcard.substring(0, lastSlash);
170
+ }
171
+ }
172
+ //# sourceMappingURL=PathMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PathMatcher.js","sourceRoot":"","sources":["../../src/utils/PathMatcher.ts"],"names":[],"mappings":"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"}