@principal-ai/subsystems-core 0.29.0 → 0.30.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 (553) hide show
  1. package/README.md +15 -110
  2. package/dist/index.d.ts +7 -75
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +21 -205
  5. package/dist/index.js.map +1 -1
  6. package/dist/node.d.ts +7 -62
  7. package/dist/node.d.ts.map +1 -1
  8. package/dist/node.js +11 -146
  9. package/dist/node.js.map +1 -1
  10. package/dist/types/index.d.ts +3 -348
  11. package/dist/types/index.d.ts.map +1 -1
  12. package/dist/types/index.js +3 -19
  13. package/dist/types/index.js.map +1 -1
  14. package/package.json +7 -24
  15. package/src/index.ts +7 -580
  16. package/src/node.ts +21 -262
  17. package/src/types/index.ts +3 -456
  18. package/dist/ConfigurationLoader.d.ts +0 -76
  19. package/dist/ConfigurationLoader.d.ts.map +0 -1
  20. package/dist/ConfigurationLoader.js +0 -148
  21. package/dist/ConfigurationLoader.js.map +0 -1
  22. package/dist/ConfigurationValidator.d.ts +0 -31
  23. package/dist/ConfigurationValidator.d.ts.map +0 -1
  24. package/dist/ConfigurationValidator.js +0 -239
  25. package/dist/ConfigurationValidator.js.map +0 -1
  26. package/dist/EventProcessor.d.ts +0 -49
  27. package/dist/EventProcessor.d.ts.map +0 -1
  28. package/dist/EventProcessor.js +0 -220
  29. package/dist/EventProcessor.js.map +0 -1
  30. package/dist/EventRecorderService.d.ts +0 -305
  31. package/dist/EventRecorderService.d.ts.map +0 -1
  32. package/dist/EventRecorderService.js +0 -467
  33. package/dist/EventRecorderService.js.map +0 -1
  34. package/dist/LibraryLoader.d.ts +0 -65
  35. package/dist/LibraryLoader.d.ts.map +0 -1
  36. package/dist/LibraryLoader.js +0 -197
  37. package/dist/LibraryLoader.js.map +0 -1
  38. package/dist/PathBasedEventProcessor.d.ts +0 -77
  39. package/dist/PathBasedEventProcessor.d.ts.map +0 -1
  40. package/dist/PathBasedEventProcessor.js +0 -136
  41. package/dist/PathBasedEventProcessor.js.map +0 -1
  42. package/dist/SessionManager.d.ts +0 -194
  43. package/dist/SessionManager.d.ts.map +0 -1
  44. package/dist/SessionManager.js +0 -302
  45. package/dist/SessionManager.js.map +0 -1
  46. package/dist/ValidationEngine.d.ts +0 -31
  47. package/dist/ValidationEngine.d.ts.map +0 -1
  48. package/dist/ValidationEngine.js +0 -162
  49. package/dist/ValidationEngine.js.map +0 -1
  50. package/dist/auxiliary/AuxiliaryManifestValidator.d.ts +0 -41
  51. package/dist/auxiliary/AuxiliaryManifestValidator.d.ts.map +0 -1
  52. package/dist/auxiliary/AuxiliaryManifestValidator.js +0 -100
  53. package/dist/auxiliary/AuxiliaryManifestValidator.js.map +0 -1
  54. package/dist/auxiliary/index.d.ts +0 -9
  55. package/dist/auxiliary/index.d.ts.map +0 -1
  56. package/dist/auxiliary/index.js +0 -14
  57. package/dist/auxiliary/index.js.map +0 -1
  58. package/dist/auxiliary/validateAreaScopeDisjoint.d.ts +0 -24
  59. package/dist/auxiliary/validateAreaScopeDisjoint.d.ts.map +0 -1
  60. package/dist/auxiliary/validateAreaScopeDisjoint.js +0 -61
  61. package/dist/auxiliary/validateAreaScopeDisjoint.js.map +0 -1
  62. package/dist/cli/codegen.d.ts +0 -41
  63. package/dist/cli/codegen.d.ts.map +0 -1
  64. package/dist/cli/codegen.js +0 -257
  65. package/dist/cli/codegen.js.map +0 -1
  66. package/dist/codegen/type-generator.d.ts +0 -123
  67. package/dist/codegen/type-generator.d.ts.map +0 -1
  68. package/dist/codegen/type-generator.js +0 -433
  69. package/dist/codegen/type-generator.js.map +0 -1
  70. package/dist/codegen/usage-example.d.ts +0 -103
  71. package/dist/codegen/usage-example.d.ts.map +0 -1
  72. package/dist/codegen/usage-example.js +0 -258
  73. package/dist/codegen/usage-example.js.map +0 -1
  74. package/dist/dashboard/DashboardValidator.d.ts +0 -85
  75. package/dist/dashboard/DashboardValidator.d.ts.map +0 -1
  76. package/dist/dashboard/DashboardValidator.js +0 -775
  77. package/dist/dashboard/DashboardValidator.js.map +0 -1
  78. package/dist/dashboard/index.d.ts +0 -6
  79. package/dist/dashboard/index.d.ts.map +0 -1
  80. package/dist/dashboard/index.js +0 -10
  81. package/dist/dashboard/index.js.map +0 -1
  82. package/dist/discovery/CanvasDiscovery.d.ts +0 -160
  83. package/dist/discovery/CanvasDiscovery.d.ts.map +0 -1
  84. package/dist/discovery/CanvasDiscovery.js +0 -865
  85. package/dist/discovery/CanvasDiscovery.js.map +0 -1
  86. package/dist/discovery/CanvasFileManifest.d.ts +0 -86
  87. package/dist/discovery/CanvasFileManifest.d.ts.map +0 -1
  88. package/dist/discovery/CanvasFileManifest.js +0 -338
  89. package/dist/discovery/CanvasFileManifest.js.map +0 -1
  90. package/dist/discovery/LibraryDiscovery.d.ts +0 -108
  91. package/dist/discovery/LibraryDiscovery.d.ts.map +0 -1
  92. package/dist/discovery/LibraryDiscovery.js +0 -263
  93. package/dist/discovery/LibraryDiscovery.js.map +0 -1
  94. package/dist/discovery/types.d.ts +0 -403
  95. package/dist/discovery/types.d.ts.map +0 -1
  96. package/dist/discovery/types.js +0 -6
  97. package/dist/discovery/types.js.map +0 -1
  98. package/dist/events/EventsCanvasValidator.d.ts +0 -139
  99. package/dist/events/EventsCanvasValidator.d.ts.map +0 -1
  100. package/dist/events/EventsCanvasValidator.js +0 -281
  101. package/dist/events/EventsCanvasValidator.js.map +0 -1
  102. package/dist/events/NamespacePathIndex.d.ts +0 -61
  103. package/dist/events/NamespacePathIndex.d.ts.map +0 -1
  104. package/dist/events/NamespacePathIndex.js +0 -74
  105. package/dist/events/NamespacePathIndex.js.map +0 -1
  106. package/dist/events/OtelEventPathsValidator.d.ts +0 -75
  107. package/dist/events/OtelEventPathsValidator.d.ts.map +0 -1
  108. package/dist/events/OtelEventPathsValidator.js +0 -126
  109. package/dist/events/OtelEventPathsValidator.js.map +0 -1
  110. package/dist/events/ScopeEventsValidator.d.ts +0 -68
  111. package/dist/events/ScopeEventsValidator.d.ts.map +0 -1
  112. package/dist/events/ScopeEventsValidator.js +0 -91
  113. package/dist/events/ScopeEventsValidator.js.map +0 -1
  114. package/dist/events/index.d.ts +0 -9
  115. package/dist/events/index.d.ts.map +0 -1
  116. package/dist/events/index.js +0 -12
  117. package/dist/events/index.js.map +0 -1
  118. package/dist/events/path-helpers.d.ts +0 -33
  119. package/dist/events/path-helpers.d.ts.map +0 -1
  120. package/dist/events/path-helpers.js +0 -59
  121. package/dist/events/path-helpers.js.map +0 -1
  122. package/dist/execution/ExecutionLoader.d.ts +0 -135
  123. package/dist/execution/ExecutionLoader.d.ts.map +0 -1
  124. package/dist/execution/ExecutionLoader.js +0 -266
  125. package/dist/execution/ExecutionLoader.js.map +0 -1
  126. package/dist/execution/ExecutionValidator.d.ts +0 -94
  127. package/dist/execution/ExecutionValidator.d.ts.map +0 -1
  128. package/dist/execution/ExecutionValidator.js +0 -503
  129. package/dist/execution/ExecutionValidator.js.map +0 -1
  130. package/dist/generated/graph-converter-execution.types.d.ts +0 -177
  131. package/dist/generated/graph-converter-execution.types.d.ts.map +0 -1
  132. package/dist/generated/graph-converter-execution.types.js +0 -12
  133. package/dist/generated/graph-converter-execution.types.js.map +0 -1
  134. package/dist/helpers/GraphInstrumentationHelper.d.ts +0 -93
  135. package/dist/helpers/GraphInstrumentationHelper.d.ts.map +0 -1
  136. package/dist/helpers/GraphInstrumentationHelper.js +0 -252
  137. package/dist/helpers/GraphInstrumentationHelper.js.map +0 -1
  138. package/dist/matchers/SpanMatcher.d.ts +0 -107
  139. package/dist/matchers/SpanMatcher.d.ts.map +0 -1
  140. package/dist/matchers/SpanMatcher.js +0 -274
  141. package/dist/matchers/SpanMatcher.js.map +0 -1
  142. package/dist/orchestration/TraceOrchestrator.d.ts +0 -71
  143. package/dist/orchestration/TraceOrchestrator.d.ts.map +0 -1
  144. package/dist/orchestration/TraceOrchestrator.js +0 -416
  145. package/dist/orchestration/TraceOrchestrator.js.map +0 -1
  146. package/dist/parsers/OtlpTraceParser.d.ts +0 -131
  147. package/dist/parsers/OtlpTraceParser.d.ts.map +0 -1
  148. package/dist/parsers/OtlpTraceParser.js +0 -310
  149. package/dist/parsers/OtlpTraceParser.js.map +0 -1
  150. package/dist/registry/CompositeRegistry.d.ts +0 -71
  151. package/dist/registry/CompositeRegistry.d.ts.map +0 -1
  152. package/dist/registry/CompositeRegistry.js +0 -113
  153. package/dist/registry/CompositeRegistry.js.map +0 -1
  154. package/dist/registry/EventRegistry.d.ts +0 -79
  155. package/dist/registry/EventRegistry.d.ts.map +0 -1
  156. package/dist/registry/EventRegistry.js +0 -165
  157. package/dist/registry/EventRegistry.js.map +0 -1
  158. package/dist/registry/LocalRegistry.d.ts +0 -111
  159. package/dist/registry/LocalRegistry.d.ts.map +0 -1
  160. package/dist/registry/LocalRegistry.js +0 -335
  161. package/dist/registry/LocalRegistry.js.map +0 -1
  162. package/dist/registry/RemoteRegistry.d.ts +0 -122
  163. package/dist/registry/RemoteRegistry.d.ts.map +0 -1
  164. package/dist/registry/RemoteRegistry.js +0 -399
  165. package/dist/registry/RemoteRegistry.js.map +0 -1
  166. package/dist/registry/VersionRegistry.d.ts +0 -51
  167. package/dist/registry/VersionRegistry.d.ts.map +0 -1
  168. package/dist/registry/VersionRegistry.js +0 -105
  169. package/dist/registry/VersionRegistry.js.map +0 -1
  170. package/dist/rules/config.d.ts +0 -57
  171. package/dist/rules/config.d.ts.map +0 -1
  172. package/dist/rules/config.js +0 -382
  173. package/dist/rules/config.js.map +0 -1
  174. package/dist/rules/engine.d.ts +0 -70
  175. package/dist/rules/engine.d.ts.map +0 -1
  176. package/dist/rules/engine.js +0 -373
  177. package/dist/rules/engine.js.map +0 -1
  178. package/dist/rules/implementations/connection-type-references.d.ts +0 -7
  179. package/dist/rules/implementations/connection-type-references.d.ts.map +0 -1
  180. package/dist/rules/implementations/connection-type-references.js +0 -107
  181. package/dist/rules/implementations/connection-type-references.js.map +0 -1
  182. package/dist/rules/implementations/dead-end-states.d.ts +0 -17
  183. package/dist/rules/implementations/dead-end-states.d.ts.map +0 -1
  184. package/dist/rules/implementations/dead-end-states.js +0 -75
  185. package/dist/rules/implementations/dead-end-states.js.map +0 -1
  186. package/dist/rules/implementations/index.d.ts +0 -23
  187. package/dist/rules/implementations/index.d.ts.map +0 -1
  188. package/dist/rules/implementations/index.js +0 -73
  189. package/dist/rules/implementations/index.js.map +0 -1
  190. package/dist/rules/implementations/minimum-node-sources.d.ts +0 -24
  191. package/dist/rules/implementations/minimum-node-sources.d.ts.map +0 -1
  192. package/dist/rules/implementations/minimum-node-sources.js +0 -59
  193. package/dist/rules/implementations/minimum-node-sources.js.map +0 -1
  194. package/dist/rules/implementations/no-unknown-fields.d.ts +0 -7
  195. package/dist/rules/implementations/no-unknown-fields.d.ts.map +0 -1
  196. package/dist/rules/implementations/no-unknown-fields.js +0 -216
  197. package/dist/rules/implementations/no-unknown-fields.js.map +0 -1
  198. package/dist/rules/implementations/orphaned-edge-types.d.ts +0 -7
  199. package/dist/rules/implementations/orphaned-edge-types.d.ts.map +0 -1
  200. package/dist/rules/implementations/orphaned-edge-types.js +0 -50
  201. package/dist/rules/implementations/orphaned-edge-types.js.map +0 -1
  202. package/dist/rules/implementations/orphaned-node-types.d.ts +0 -7
  203. package/dist/rules/implementations/orphaned-node-types.d.ts.map +0 -1
  204. package/dist/rules/implementations/orphaned-node-types.js +0 -53
  205. package/dist/rules/implementations/orphaned-node-types.js.map +0 -1
  206. package/dist/rules/implementations/required-metadata.d.ts +0 -7
  207. package/dist/rules/implementations/required-metadata.d.ts.map +0 -1
  208. package/dist/rules/implementations/required-metadata.js +0 -48
  209. package/dist/rules/implementations/required-metadata.js.map +0 -1
  210. package/dist/rules/implementations/state-transition-references.d.ts +0 -7
  211. package/dist/rules/implementations/state-transition-references.d.ts.map +0 -1
  212. package/dist/rules/implementations/state-transition-references.js +0 -138
  213. package/dist/rules/implementations/state-transition-references.js.map +0 -1
  214. package/dist/rules/implementations/unreachable-states.d.ts +0 -7
  215. package/dist/rules/implementations/unreachable-states.d.ts.map +0 -1
  216. package/dist/rules/implementations/unreachable-states.js +0 -83
  217. package/dist/rules/implementations/unreachable-states.js.map +0 -1
  218. package/dist/rules/implementations/valid-action-patterns.d.ts +0 -17
  219. package/dist/rules/implementations/valid-action-patterns.d.ts.map +0 -1
  220. package/dist/rules/implementations/valid-action-patterns.js +0 -112
  221. package/dist/rules/implementations/valid-action-patterns.js.map +0 -1
  222. package/dist/rules/implementations/valid-color-format.d.ts +0 -7
  223. package/dist/rules/implementations/valid-color-format.d.ts.map +0 -1
  224. package/dist/rules/implementations/valid-color-format.js +0 -94
  225. package/dist/rules/implementations/valid-color-format.js.map +0 -1
  226. package/dist/rules/implementations/valid-edge-types.d.ts +0 -7
  227. package/dist/rules/implementations/valid-edge-types.d.ts.map +0 -1
  228. package/dist/rules/implementations/valid-edge-types.js +0 -248
  229. package/dist/rules/implementations/valid-edge-types.js.map +0 -1
  230. package/dist/rules/implementations/valid-node-types.d.ts +0 -7
  231. package/dist/rules/implementations/valid-node-types.d.ts.map +0 -1
  232. package/dist/rules/implementations/valid-node-types.js +0 -187
  233. package/dist/rules/implementations/valid-node-types.js.map +0 -1
  234. package/dist/rules/index.d.ts +0 -28
  235. package/dist/rules/index.d.ts.map +0 -1
  236. package/dist/rules/index.js +0 -70
  237. package/dist/rules/index.js.map +0 -1
  238. package/dist/rules/types.d.ts +0 -309
  239. package/dist/rules/types.d.ts.map +0 -1
  240. package/dist/rules/types.js +0 -40
  241. package/dist/rules/types.js.map +0 -1
  242. package/dist/scopes/ScopePathIndex.d.ts +0 -56
  243. package/dist/scopes/ScopePathIndex.d.ts.map +0 -1
  244. package/dist/scopes/ScopePathIndex.js +0 -67
  245. package/dist/scopes/ScopePathIndex.js.map +0 -1
  246. package/dist/scopes/ScopesCanvasValidator.d.ts +0 -76
  247. package/dist/scopes/ScopesCanvasValidator.d.ts.map +0 -1
  248. package/dist/scopes/ScopesCanvasValidator.js +0 -221
  249. package/dist/scopes/ScopesCanvasValidator.js.map +0 -1
  250. package/dist/scopes/index.d.ts +0 -12
  251. package/dist/scopes/index.d.ts.map +0 -1
  252. package/dist/scopes/index.js +0 -30
  253. package/dist/scopes/index.js.map +0 -1
  254. package/dist/scopes/utils.d.ts +0 -85
  255. package/dist/scopes/utils.d.ts.map +0 -1
  256. package/dist/scopes/utils.js +0 -143
  257. package/dist/scopes/utils.js.map +0 -1
  258. package/dist/scopes/validateScopeNamespaceNesting.d.ts +0 -38
  259. package/dist/scopes/validateScopeNamespaceNesting.d.ts.map +0 -1
  260. package/dist/scopes/validateScopeNamespaceNesting.js +0 -69
  261. package/dist/scopes/validateScopeNamespaceNesting.js.map +0 -1
  262. package/dist/spans/index.d.ts +0 -12
  263. package/dist/spans/index.d.ts.map +0 -1
  264. package/dist/spans/index.js +0 -25
  265. package/dist/spans/index.js.map +0 -1
  266. package/dist/spans/utils.d.ts +0 -70
  267. package/dist/spans/utils.d.ts.map +0 -1
  268. package/dist/spans/utils.js +0 -205
  269. package/dist/spans/utils.js.map +0 -1
  270. package/dist/storyboard/builder.d.ts +0 -135
  271. package/dist/storyboard/builder.d.ts.map +0 -1
  272. package/dist/storyboard/builder.js +0 -235
  273. package/dist/storyboard/builder.js.map +0 -1
  274. package/dist/storyboard/index.d.ts +0 -9
  275. package/dist/storyboard/index.d.ts.map +0 -1
  276. package/dist/storyboard/index.js +0 -18
  277. package/dist/storyboard/index.js.map +0 -1
  278. package/dist/storyboard/types.d.ts +0 -101
  279. package/dist/storyboard/types.d.ts.map +0 -1
  280. package/dist/storyboard/types.js +0 -10
  281. package/dist/storyboard/types.js.map +0 -1
  282. package/dist/telemetry/coverage.d.ts +0 -92
  283. package/dist/telemetry/coverage.d.ts.map +0 -1
  284. package/dist/telemetry/coverage.js +0 -335
  285. package/dist/telemetry/coverage.js.map +0 -1
  286. package/dist/telemetry/event-validator.d.ts +0 -86
  287. package/dist/telemetry/event-validator.d.ts.map +0 -1
  288. package/dist/telemetry/event-validator.js +0 -257
  289. package/dist/telemetry/event-validator.js.map +0 -1
  290. package/dist/types/audit.d.ts +0 -236
  291. package/dist/types/audit.d.ts.map +0 -1
  292. package/dist/types/audit.js +0 -53
  293. package/dist/types/audit.js.map +0 -1
  294. package/dist/types/auxiliary.d.ts +0 -54
  295. package/dist/types/auxiliary.d.ts.map +0 -1
  296. package/dist/types/auxiliary.js +0 -27
  297. package/dist/types/auxiliary.js.map +0 -1
  298. package/dist/types/canvas-scope.d.ts +0 -156
  299. package/dist/types/canvas-scope.d.ts.map +0 -1
  300. package/dist/types/canvas-scope.js +0 -62
  301. package/dist/types/canvas-scope.js.map +0 -1
  302. package/dist/types/canvas.d.ts +0 -1138
  303. package/dist/types/canvas.d.ts.map +0 -1
  304. package/dist/types/canvas.js +0 -178
  305. package/dist/types/canvas.js.map +0 -1
  306. package/dist/types/dashboard.d.ts +0 -170
  307. package/dist/types/dashboard.d.ts.map +0 -1
  308. package/dist/types/dashboard.js +0 -14
  309. package/dist/types/dashboard.js.map +0 -1
  310. package/dist/types/library.d.ts +0 -227
  311. package/dist/types/library.d.ts.map +0 -1
  312. package/dist/types/library.js +0 -16
  313. package/dist/types/library.js.map +0 -1
  314. package/dist/types/otel.d.ts +0 -465
  315. package/dist/types/otel.d.ts.map +0 -1
  316. package/dist/types/otel.js +0 -163
  317. package/dist/types/otel.js.map +0 -1
  318. package/dist/types/path-based-config.d.ts +0 -235
  319. package/dist/types/path-based-config.d.ts.map +0 -1
  320. package/dist/types/path-based-config.js +0 -11
  321. package/dist/types/path-based-config.js.map +0 -1
  322. package/dist/types/registered-trace.d.ts +0 -337
  323. package/dist/types/registered-trace.d.ts.map +0 -1
  324. package/dist/types/registered-trace.js +0 -16
  325. package/dist/types/registered-trace.js.map +0 -1
  326. package/dist/types/resource-match.d.ts +0 -207
  327. package/dist/types/resource-match.d.ts.map +0 -1
  328. package/dist/types/resource-match.js +0 -74
  329. package/dist/types/resource-match.js.map +0 -1
  330. package/dist/types/version-registry.d.ts +0 -137
  331. package/dist/types/version-registry.d.ts.map +0 -1
  332. package/dist/types/version-registry.js +0 -10
  333. package/dist/types/version-registry.js.map +0 -1
  334. package/dist/utils/CanvasConverter.d.ts +0 -148
  335. package/dist/utils/CanvasConverter.d.ts.map +0 -1
  336. package/dist/utils/CanvasConverter.js +0 -530
  337. package/dist/utils/CanvasConverter.js.map +0 -1
  338. package/dist/utils/GraphConverter.d.ts +0 -18
  339. package/dist/utils/GraphConverter.d.ts.map +0 -1
  340. package/dist/utils/GraphConverter.js +0 -80
  341. package/dist/utils/GraphConverter.js.map +0 -1
  342. package/dist/utils/PathMatcher.d.ts +0 -55
  343. package/dist/utils/PathMatcher.d.ts.map +0 -1
  344. package/dist/utils/PathMatcher.js +0 -178
  345. package/dist/utils/PathMatcher.js.map +0 -1
  346. package/dist/utils/TraceToCanvas.d.ts +0 -83
  347. package/dist/utils/TraceToCanvas.d.ts.map +0 -1
  348. package/dist/utils/TraceToCanvas.js +0 -336
  349. package/dist/utils/TraceToCanvas.js.map +0 -1
  350. package/dist/utils/YamlParser.d.ts +0 -36
  351. package/dist/utils/YamlParser.d.ts.map +0 -1
  352. package/dist/utils/YamlParser.js +0 -92
  353. package/dist/utils/YamlParser.js.map +0 -1
  354. package/dist/utils/registeredTraceHelpers.d.ts +0 -76
  355. package/dist/utils/registeredTraceHelpers.d.ts.map +0 -1
  356. package/dist/utils/registeredTraceHelpers.js +0 -203
  357. package/dist/utils/registeredTraceHelpers.js.map +0 -1
  358. package/dist/utils/traceAggregation.d.ts +0 -25
  359. package/dist/utils/traceAggregation.d.ts.map +0 -1
  360. package/dist/utils/traceAggregation.js +0 -140
  361. package/dist/utils/traceAggregation.js.map +0 -1
  362. package/dist/validation/OtelCanvasValidator.d.ts +0 -40
  363. package/dist/validation/OtelCanvasValidator.d.ts.map +0 -1
  364. package/dist/validation/OtelCanvasValidator.js +0 -59
  365. package/dist/validation/OtelCanvasValidator.js.map +0 -1
  366. package/dist/validation/index.d.ts +0 -8
  367. package/dist/validation/index.d.ts.map +0 -1
  368. package/dist/validation/index.js +0 -13
  369. package/dist/validation/index.js.map +0 -1
  370. package/dist/validation/libraryValidation.d.ts +0 -53
  371. package/dist/validation/libraryValidation.d.ts.map +0 -1
  372. package/dist/validation/libraryValidation.js +0 -115
  373. package/dist/validation/libraryValidation.js.map +0 -1
  374. package/dist/workflow/edge-derivation.d.ts +0 -111
  375. package/dist/workflow/edge-derivation.d.ts.map +0 -1
  376. package/dist/workflow/edge-derivation.js +0 -174
  377. package/dist/workflow/edge-derivation.js.map +0 -1
  378. package/dist/workflow/edge-validation.d.ts +0 -170
  379. package/dist/workflow/edge-validation.d.ts.map +0 -1
  380. package/dist/workflow/edge-validation.js +0 -332
  381. package/dist/workflow/edge-validation.js.map +0 -1
  382. package/dist/workflow/example.d.ts +0 -11
  383. package/dist/workflow/example.d.ts.map +0 -1
  384. package/dist/workflow/example.js +0 -310
  385. package/dist/workflow/example.js.map +0 -1
  386. package/dist/workflow/index.d.ts +0 -20
  387. package/dist/workflow/index.d.ts.map +0 -1
  388. package/dist/workflow/index.js +0 -49
  389. package/dist/workflow/index.js.map +0 -1
  390. package/dist/workflow/scenario-matcher.d.ts +0 -63
  391. package/dist/workflow/scenario-matcher.d.ts.map +0 -1
  392. package/dist/workflow/scenario-matcher.js +0 -215
  393. package/dist/workflow/scenario-matcher.js.map +0 -1
  394. package/dist/workflow/template-parser.d.ts +0 -73
  395. package/dist/workflow/template-parser.d.ts.map +0 -1
  396. package/dist/workflow/template-parser.js +0 -280
  397. package/dist/workflow/template-parser.js.map +0 -1
  398. package/dist/workflow/template-renderer.d.ts +0 -45
  399. package/dist/workflow/template-renderer.d.ts.map +0 -1
  400. package/dist/workflow/template-renderer.js +0 -401
  401. package/dist/workflow/template-renderer.js.map +0 -1
  402. package/dist/workflow/types.d.ts +0 -393
  403. package/dist/workflow/types.d.ts.map +0 -1
  404. package/dist/workflow/types.js +0 -40
  405. package/dist/workflow/types.js.map +0 -1
  406. package/dist/workflow/validator.d.ts +0 -363
  407. package/dist/workflow/validator.d.ts.map +0 -1
  408. package/dist/workflow/validator.js +0 -2283
  409. package/dist/workflow/validator.js.map +0 -1
  410. package/schemas/auxiliary.manifest.schema.json +0 -56
  411. package/src/ConfigurationLoader.test.ts +0 -466
  412. package/src/ConfigurationLoader.ts +0 -184
  413. package/src/ConfigurationValidator.test.ts +0 -200
  414. package/src/ConfigurationValidator.ts +0 -273
  415. package/src/EventProcessor.test.ts +0 -405
  416. package/src/EventProcessor.ts +0 -256
  417. package/src/EventRecorderService.test.ts +0 -543
  418. package/src/EventRecorderService.ts +0 -741
  419. package/src/LibraryLoader.ts +0 -194
  420. package/src/PathBasedEventProcessor.test.ts +0 -336
  421. package/src/PathBasedEventProcessor.ts +0 -196
  422. package/src/SessionManager.test.ts +0 -424
  423. package/src/SessionManager.ts +0 -471
  424. package/src/ValidationEngine.test.ts +0 -520
  425. package/src/ValidationEngine.ts +0 -200
  426. package/src/auxiliary/AuxiliaryManifestValidator.test.ts +0 -93
  427. package/src/auxiliary/AuxiliaryManifestValidator.ts +0 -132
  428. package/src/auxiliary/index.ts +0 -18
  429. package/src/auxiliary/validateAreaScopeDisjoint.test.ts +0 -85
  430. package/src/auxiliary/validateAreaScopeDisjoint.ts +0 -72
  431. package/src/cli/codegen.ts +0 -286
  432. package/src/codegen/type-generator.test.ts +0 -219
  433. package/src/codegen/type-generator.ts +0 -560
  434. package/src/codegen/usage-example.ts +0 -357
  435. package/src/dashboard/DashboardValidator.ts +0 -904
  436. package/src/dashboard/index.ts +0 -14
  437. package/src/discovery/CanvasDiscovery.test.ts +0 -691
  438. package/src/discovery/CanvasDiscovery.ts +0 -1114
  439. package/src/discovery/CanvasFileManifest.test.ts +0 -521
  440. package/src/discovery/CanvasFileManifest.ts +0 -419
  441. package/src/discovery/LibraryDiscovery.test.ts +0 -329
  442. package/src/discovery/LibraryDiscovery.ts +0 -386
  443. package/src/discovery/types.ts +0 -453
  444. package/src/events/EventsCanvasValidator.test.ts +0 -191
  445. package/src/events/EventsCanvasValidator.ts +0 -428
  446. package/src/events/NamespacePathIndex.test.ts +0 -97
  447. package/src/events/NamespacePathIndex.ts +0 -100
  448. package/src/events/OtelEventPathsValidator.test.ts +0 -243
  449. package/src/events/OtelEventPathsValidator.ts +0 -191
  450. package/src/events/ScopeEventsValidator.test.ts +0 -173
  451. package/src/events/ScopeEventsValidator.ts +0 -158
  452. package/src/events/index.ts +0 -27
  453. package/src/events/path-helpers.ts +0 -53
  454. package/src/execution/ExecutionLoader.test.ts +0 -378
  455. package/src/execution/ExecutionLoader.ts +0 -331
  456. package/src/execution/ExecutionValidator.test.ts +0 -503
  457. package/src/execution/ExecutionValidator.ts +0 -617
  458. package/src/generated/graph-converter-execution.types.ts +0 -193
  459. package/src/helpers/GraphInstrumentationHelper.test.ts +0 -364
  460. package/src/helpers/GraphInstrumentationHelper.ts +0 -323
  461. package/src/matchers/SpanMatcher.test.ts +0 -1105
  462. package/src/matchers/SpanMatcher.ts +0 -381
  463. package/src/orchestration/TraceOrchestrator.ts +0 -560
  464. package/src/orchestration/__tests__/TraceOrchestrator.test.ts +0 -1098
  465. package/src/parsers/OtlpTraceParser.ts +0 -401
  466. package/src/parsers/__tests__/OtlpTraceParser.test.ts +0 -197
  467. package/src/registry/CompositeRegistry.ts +0 -140
  468. package/src/registry/EventRegistry.test.ts +0 -387
  469. package/src/registry/EventRegistry.ts +0 -191
  470. package/src/registry/LocalRegistry.ts +0 -416
  471. package/src/registry/RemoteRegistry.ts +0 -499
  472. package/src/registry/VersionRegistry.test.ts +0 -223
  473. package/src/registry/VersionRegistry.ts +0 -121
  474. package/src/rules/config.test.ts +0 -277
  475. package/src/rules/config.ts +0 -450
  476. package/src/rules/engine.test.ts +0 -331
  477. package/src/rules/engine.ts +0 -448
  478. package/src/rules/implementations/connection-type-references.ts +0 -117
  479. package/src/rules/implementations/dead-end-states.ts +0 -101
  480. package/src/rules/implementations/index.ts +0 -66
  481. package/src/rules/implementations/minimum-node-sources.ts +0 -84
  482. package/src/rules/implementations/no-unknown-fields.ts +0 -372
  483. package/src/rules/implementations/orphaned-edge-types.ts +0 -55
  484. package/src/rules/implementations/orphaned-node-types.ts +0 -58
  485. package/src/rules/implementations/required-metadata.ts +0 -52
  486. package/src/rules/implementations/state-transition-references.ts +0 -155
  487. package/src/rules/implementations/unreachable-states.ts +0 -94
  488. package/src/rules/implementations/valid-action-patterns.ts +0 -140
  489. package/src/rules/implementations/valid-color-format.ts +0 -152
  490. package/src/rules/implementations/valid-edge-types.ts +0 -273
  491. package/src/rules/implementations/valid-node-types.ts +0 -200
  492. package/src/rules/index.ts +0 -92
  493. package/src/rules/types.ts +0 -426
  494. package/src/scopes/ScopePathIndex.test.ts +0 -94
  495. package/src/scopes/ScopePathIndex.ts +0 -89
  496. package/src/scopes/ScopesCanvasValidator.test.ts +0 -127
  497. package/src/scopes/ScopesCanvasValidator.ts +0 -305
  498. package/src/scopes/__tests__/utils.test.ts +0 -383
  499. package/src/scopes/index.ts +0 -42
  500. package/src/scopes/utils.ts +0 -182
  501. package/src/scopes/validateScopeNamespaceNesting.test.ts +0 -127
  502. package/src/scopes/validateScopeNamespaceNesting.ts +0 -88
  503. package/src/spans/index.ts +0 -24
  504. package/src/spans/utils.ts +0 -249
  505. package/src/storyboard/builder.ts +0 -308
  506. package/src/storyboard/index.ts +0 -26
  507. package/src/storyboard/types.ts +0 -117
  508. package/src/telemetry/coverage.ts +0 -480
  509. package/src/telemetry/event-validator.ts +0 -312
  510. package/src/types/audit.ts +0 -314
  511. package/src/types/auxiliary.ts +0 -63
  512. package/src/types/canvas-scope.ts +0 -190
  513. package/src/types/canvas.test.ts +0 -199
  514. package/src/types/canvas.ts +0 -1395
  515. package/src/types/dashboard.ts +0 -257
  516. package/src/types/library.ts +0 -283
  517. package/src/types/otel.test.ts +0 -219
  518. package/src/types/otel.ts +0 -620
  519. package/src/types/path-based-config.ts +0 -285
  520. package/src/types/registered-trace.ts +0 -432
  521. package/src/types/resource-match.ts +0 -263
  522. package/src/types/version-registry.ts +0 -150
  523. package/src/utils/CanvasConverter.ts +0 -670
  524. package/src/utils/GraphConverter.test.ts +0 -322
  525. package/src/utils/GraphConverter.ts +0 -84
  526. package/src/utils/PathMatcher.test.ts +0 -139
  527. package/src/utils/PathMatcher.ts +0 -185
  528. package/src/utils/TraceToCanvas.test.ts +0 -310
  529. package/src/utils/TraceToCanvas.ts +0 -510
  530. package/src/utils/YamlParser.ts +0 -77
  531. package/src/utils/registeredTraceHelpers.ts +0 -251
  532. package/src/utils/traceAggregation.test.ts +0 -385
  533. package/src/utils/traceAggregation.ts +0 -173
  534. package/src/validation/OtelCanvasValidator.ts +0 -86
  535. package/src/validation/index.ts +0 -17
  536. package/src/validation/libraryValidation.ts +0 -206
  537. package/src/workflow/README.md +0 -408
  538. package/src/workflow/__tests__/edge-derivation.test.ts +0 -449
  539. package/src/workflow/__tests__/edge-validation.test.ts +0 -417
  540. package/src/workflow/__tests__/scenario-matcher.test.ts +0 -225
  541. package/src/workflow/__tests__/template-parser.test.ts +0 -276
  542. package/src/workflow/__tests__/template-renderer.test.ts +0 -509
  543. package/src/workflow/__tests__/types.test.ts +0 -187
  544. package/src/workflow/__tests__/validator.test.ts +0 -3225
  545. package/src/workflow/edge-derivation.ts +0 -265
  546. package/src/workflow/edge-validation.ts +0 -503
  547. package/src/workflow/example.ts +0 -330
  548. package/src/workflow/index.ts +0 -86
  549. package/src/workflow/scenario-matcher.ts +0 -253
  550. package/src/workflow/template-parser.ts +0 -350
  551. package/src/workflow/template-renderer.ts +0 -453
  552. package/src/workflow/types.ts +0 -511
  553. package/src/workflow/validator.ts +0 -2737
@@ -1,405 +0,0 @@
1
- import { EventProcessor } from './EventProcessor';
2
- import type { GraphConfiguration, GraphEvent } from './types';
3
-
4
- describe('EventProcessor', () => {
5
- let testConfig: GraphConfiguration;
6
-
7
- beforeEach(() => {
8
- testConfig = {
9
- metadata: {
10
- name: 'Test System',
11
- version: '1.0.0',
12
- },
13
- nodeTypes: {
14
- user: {
15
- shape: 'circle',
16
- color: '#4CAF50',
17
- dataSchema: {
18
- userId: { type: 'string', required: true },
19
- status: { type: 'string' },
20
- },
21
- states: {
22
- online: { color: '#4CAF50', label: 'Online' },
23
- offline: { color: '#9E9E9E', label: 'Offline' },
24
- },
25
- },
26
- server: {
27
- shape: 'hexagon',
28
- color: '#9C27B0',
29
- dataSchema: {
30
- uptime: { type: 'number' },
31
- },
32
- },
33
- },
34
- edgeTypes: {
35
- connection: {
36
- style: 'solid',
37
- directed: true,
38
- },
39
- },
40
- allowedConnections: [{ from: 'user', to: 'server', via: 'connection' }],
41
- };
42
- });
43
-
44
- describe('Node Events', () => {
45
- it('should create a node', () => {
46
- const processor = new EventProcessor(testConfig);
47
-
48
- const event: GraphEvent = {
49
- id: 'evt-1',
50
- type: 'node_created',
51
- timestamp: Date.now(),
52
- category: 'node',
53
- operation: 'create',
54
- payload: {
55
- operation: 'create',
56
- nodeId: 'user-1',
57
- nodeType: 'user',
58
- data: { userId: 'alice', status: 'online' },
59
- },
60
- expected: true,
61
- };
62
-
63
- const result = processor.processEvent(event);
64
-
65
- expect(result.success).toBe(true);
66
- expect(result.state.nodes.has('user-1')).toBe(true);
67
-
68
- const node = result.state.nodes.get('user-1');
69
- expect(node?.type).toBe('user');
70
- expect(node?.data.userId).toBe('alice');
71
- });
72
-
73
- it('should update a node', () => {
74
- const processor = new EventProcessor(testConfig);
75
-
76
- // Create node first
77
- processor.processEvent({
78
- id: 'evt-1',
79
- type: 'node_created',
80
- timestamp: Date.now(),
81
- category: 'node',
82
- operation: 'create',
83
- payload: {
84
- operation: 'create',
85
- nodeId: 'user-1',
86
- nodeType: 'user',
87
- data: { userId: 'alice', status: 'offline' },
88
- },
89
- expected: true,
90
- });
91
-
92
- // Update node
93
- const result = processor.processEvent({
94
- id: 'evt-2',
95
- type: 'node_updated',
96
- timestamp: Date.now(),
97
- category: 'node',
98
- operation: 'update',
99
- payload: {
100
- operation: 'update',
101
- nodeId: 'user-1',
102
- nodeType: 'user',
103
- data: { status: 'online' },
104
- },
105
- expected: true,
106
- });
107
-
108
- expect(result.success).toBe(true);
109
- const node = result.state.nodes.get('user-1');
110
- expect(node?.data.status).toBe('online');
111
- expect(node?.data.userId).toBe('alice'); // Should preserve existing data
112
- });
113
-
114
- it('should delete a node', () => {
115
- const processor = new EventProcessor(testConfig);
116
-
117
- // Create node first
118
- processor.processEvent({
119
- id: 'evt-1',
120
- type: 'node_created',
121
- timestamp: Date.now(),
122
- category: 'node',
123
- operation: 'create',
124
- payload: {
125
- operation: 'create',
126
- nodeId: 'user-1',
127
- nodeType: 'user',
128
- data: { userId: 'alice' },
129
- },
130
- expected: true,
131
- });
132
-
133
- // Delete node
134
- const result = processor.processEvent({
135
- id: 'evt-2',
136
- type: 'node_deleted',
137
- timestamp: Date.now(),
138
- category: 'node',
139
- operation: 'delete',
140
- payload: {
141
- operation: 'delete',
142
- nodeId: 'user-1',
143
- nodeType: 'user',
144
- },
145
- expected: true,
146
- });
147
-
148
- expect(result.success).toBe(true);
149
- expect(result.state.nodes.has('user-1')).toBe(false);
150
- });
151
- });
152
-
153
- describe('Edge Events', () => {
154
- it('should create an edge', () => {
155
- const processor = new EventProcessor(testConfig);
156
-
157
- // Create nodes first
158
- processor.processEvent({
159
- id: 'evt-1',
160
- type: 'node_created',
161
- timestamp: Date.now(),
162
- category: 'node',
163
- operation: 'create',
164
- payload: {
165
- operation: 'create',
166
- nodeId: 'user-1',
167
- nodeType: 'user',
168
- data: { userId: 'alice' },
169
- },
170
- expected: true,
171
- });
172
-
173
- processor.processEvent({
174
- id: 'evt-2',
175
- type: 'node_created',
176
- timestamp: Date.now(),
177
- category: 'node',
178
- operation: 'create',
179
- payload: {
180
- operation: 'create',
181
- nodeId: 'server-1',
182
- nodeType: 'server',
183
- data: { uptime: 0 },
184
- },
185
- expected: true,
186
- });
187
-
188
- // Create edge
189
- const result = processor.processEvent({
190
- id: 'evt-3',
191
- type: 'edge_created',
192
- timestamp: Date.now(),
193
- category: 'edge',
194
- operation: 'create',
195
- payload: {
196
- operation: 'create',
197
- edgeId: 'conn-1',
198
- edgeType: 'connection',
199
- from: 'user-1',
200
- to: 'server-1',
201
- },
202
- expected: true,
203
- });
204
-
205
- expect(result.success).toBe(true);
206
- expect(result.state.edges.has('conn-1')).toBe(true);
207
-
208
- const edge = result.state.edges.get('conn-1');
209
- expect(edge?.from).toBe('user-1');
210
- expect(edge?.to).toBe('server-1');
211
- expect(edge?.type).toBe('connection');
212
- });
213
-
214
- it('should delete an edge', () => {
215
- const processor = new EventProcessor(testConfig);
216
-
217
- // Create nodes and edge first
218
- processor.processEvent({
219
- id: 'evt-1',
220
- type: 'node_created',
221
- timestamp: Date.now(),
222
- category: 'node',
223
- operation: 'create',
224
- payload: {
225
- operation: 'create',
226
- nodeId: 'user-1',
227
- nodeType: 'user',
228
- data: { userId: 'alice' },
229
- },
230
- expected: true,
231
- });
232
-
233
- processor.processEvent({
234
- id: 'evt-2',
235
- type: 'node_created',
236
- timestamp: Date.now(),
237
- category: 'node',
238
- operation: 'create',
239
- payload: {
240
- operation: 'create',
241
- nodeId: 'server-1',
242
- nodeType: 'server',
243
- data: { uptime: 0 },
244
- },
245
- expected: true,
246
- });
247
-
248
- processor.processEvent({
249
- id: 'evt-3',
250
- type: 'edge_created',
251
- timestamp: Date.now(),
252
- category: 'edge',
253
- operation: 'create',
254
- payload: {
255
- operation: 'create',
256
- edgeId: 'conn-1',
257
- edgeType: 'connection',
258
- from: 'user-1',
259
- to: 'server-1',
260
- },
261
- expected: true,
262
- });
263
-
264
- // Delete edge
265
- const result = processor.processEvent({
266
- id: 'evt-4',
267
- type: 'edge_deleted',
268
- timestamp: Date.now(),
269
- category: 'edge',
270
- operation: 'delete',
271
- payload: {
272
- operation: 'delete',
273
- edgeId: 'conn-1',
274
- edgeType: 'connection',
275
- from: 'user-1',
276
- to: 'server-1',
277
- },
278
- expected: true,
279
- });
280
-
281
- expect(result.success).toBe(true);
282
- expect(result.state.edges.has('conn-1')).toBe(false);
283
- });
284
- });
285
-
286
- describe('State Events', () => {
287
- it('should update node state', () => {
288
- const processor = new EventProcessor(testConfig);
289
-
290
- // Create node first
291
- processor.processEvent({
292
- id: 'evt-1',
293
- type: 'node_created',
294
- timestamp: Date.now(),
295
- category: 'node',
296
- operation: 'create',
297
- payload: {
298
- operation: 'create',
299
- nodeId: 'user-1',
300
- nodeType: 'user',
301
- data: { userId: 'alice' },
302
- },
303
- expected: true,
304
- });
305
-
306
- // Update state
307
- const result = processor.processEvent({
308
- id: 'evt-2',
309
- type: 'state_changed',
310
- timestamp: Date.now(),
311
- category: 'state',
312
- operation: 'update',
313
- payload: {
314
- nodeId: 'user-1',
315
- newState: 'online',
316
- },
317
- expected: true,
318
- });
319
-
320
- expect(result.success).toBe(true);
321
- const node = result.state.nodes.get('user-1');
322
- expect(node?.state).toBe('online');
323
- });
324
- });
325
-
326
- describe('System Events', () => {
327
- it('should reset the graph state', () => {
328
- const processor = new EventProcessor(testConfig);
329
-
330
- // Create some nodes
331
- processor.processEvent({
332
- id: 'evt-1',
333
- type: 'node_created',
334
- timestamp: Date.now(),
335
- category: 'node',
336
- operation: 'create',
337
- payload: {
338
- operation: 'create',
339
- nodeId: 'user-1',
340
- nodeType: 'user',
341
- data: { userId: 'alice' },
342
- },
343
- expected: true,
344
- });
345
-
346
- // Reset
347
- const result = processor.processEvent({
348
- id: 'evt-2',
349
- type: 'system_reset',
350
- timestamp: Date.now(),
351
- category: 'system',
352
- operation: 'update',
353
- payload: {
354
- action: 'reset',
355
- },
356
- expected: true,
357
- });
358
-
359
- expect(result.success).toBe(true);
360
- expect(result.state.nodes.size).toBe(0);
361
- expect(result.state.edges.size).toBe(0);
362
- });
363
- });
364
-
365
- describe('Event History', () => {
366
- it('should track event history', () => {
367
- const processor = new EventProcessor(testConfig);
368
-
369
- processor.processEvent({
370
- id: 'evt-1',
371
- type: 'node_created',
372
- timestamp: Date.now(),
373
- category: 'node',
374
- operation: 'create',
375
- payload: {
376
- operation: 'create',
377
- nodeId: 'user-1',
378
- nodeType: 'user',
379
- data: { userId: 'alice' },
380
- },
381
- expected: true,
382
- });
383
-
384
- processor.processEvent({
385
- id: 'evt-2',
386
- type: 'node_created',
387
- timestamp: Date.now(),
388
- category: 'node',
389
- operation: 'create',
390
- payload: {
391
- operation: 'create',
392
- nodeId: 'user-2',
393
- nodeType: 'user',
394
- data: { userId: 'bob' },
395
- },
396
- expected: true,
397
- });
398
-
399
- const history = processor.getEventHistory();
400
- expect(history).toHaveLength(2);
401
- expect(history[0].id).toBe('evt-1');
402
- expect(history[1].id).toBe('evt-2');
403
- });
404
- });
405
- });
@@ -1,256 +0,0 @@
1
- import type {
2
- GraphEvent,
3
- GraphConfiguration,
4
- GraphState,
5
- ValidationResult,
6
- NodeState,
7
- EdgeState,
8
- NodeEvent,
9
- EdgeEvent,
10
- StateEvent,
11
- DataEvent,
12
- SystemEvent,
13
- } from './types';
14
- import { ValidationEngine } from './ValidationEngine';
15
- import { ConfigurationValidator } from './ConfigurationValidator';
16
-
17
- export interface ProcessingResult {
18
- success: boolean;
19
- state: GraphState;
20
- validation: ValidationResult;
21
- error?: string;
22
- }
23
-
24
- /**
25
- * EventProcessor handles the ingestion and processing of graph events
26
- */
27
- export class EventProcessor {
28
- private state: GraphState;
29
- private validationEngine: ValidationEngine;
30
- private eventHistory: GraphEvent[] = [];
31
-
32
- constructor(configuration: GraphConfiguration, options?: { validateConfig?: boolean }) {
33
- // Validate configuration by default (can be disabled for performance)
34
- if (options?.validateConfig !== false) {
35
- ConfigurationValidator.validateOrThrow(configuration);
36
- }
37
-
38
- this.state = {
39
- nodes: new Map<string, NodeState>(),
40
- edges: new Map<string, EdgeState>(),
41
- configuration,
42
- };
43
- this.validationEngine = new ValidationEngine(configuration.validation || {});
44
- }
45
-
46
- /**
47
- * Process a single graph event
48
- */
49
- processEvent(event: GraphEvent): ProcessingResult {
50
- try {
51
- // Validate event first
52
- const validation = this.validateEvent(event);
53
-
54
- // Apply the event to state
55
- this.applyEvent(event);
56
-
57
- // Store in history
58
- this.eventHistory.push(event);
59
-
60
- return {
61
- success: true,
62
- state: this.state,
63
- validation,
64
- };
65
- } catch (error) {
66
- return {
67
- success: false,
68
- state: this.state,
69
- validation: {
70
- valid: false,
71
- violations: [],
72
- warnings: [],
73
- metrics: this.getEmptyMetrics(),
74
- },
75
- error: error instanceof Error ? error.message : 'Unknown error',
76
- };
77
- }
78
- }
79
-
80
- /**
81
- * Validate an event against configuration rules
82
- */
83
- validateEvent(event: GraphEvent): ValidationResult {
84
- return this.validationEngine.validate(event, this.state);
85
- }
86
-
87
- /**
88
- * Get the current graph state
89
- */
90
- getGraphState(): GraphState {
91
- return this.state;
92
- }
93
-
94
- /**
95
- * Get event history
96
- */
97
- getEventHistory(): GraphEvent[] {
98
- return [...this.eventHistory];
99
- }
100
-
101
- /**
102
- * Reset processor state
103
- */
104
- reset(): void {
105
- this.state.nodes.clear();
106
- this.state.edges.clear();
107
- this.eventHistory = [];
108
- }
109
-
110
- /**
111
- * Apply event to internal state
112
- */
113
- private applyEvent(event: GraphEvent): void {
114
- const timestamp = event.timestamp;
115
-
116
- switch (event.category) {
117
- case 'node':
118
- this.handleNodeEvent(event, timestamp);
119
- break;
120
- case 'edge':
121
- this.handleEdgeEvent(event, timestamp);
122
- break;
123
- case 'state':
124
- this.handleStateEvent(event, timestamp);
125
- break;
126
- case 'data':
127
- this.handleDataEvent(event);
128
- break;
129
- case 'system':
130
- this.handleSystemEvent(event);
131
- break;
132
- }
133
- }
134
-
135
- private handleNodeEvent(event: GraphEvent, timestamp: number): void {
136
- const payload = event.payload as NodeEvent;
137
-
138
- switch (payload.operation) {
139
- case 'create':
140
- this.state.nodes.set(payload.nodeId, {
141
- id: payload.nodeId,
142
- type: payload.nodeType,
143
- name: typeof payload.data?.name === 'string' ? payload.data.name : payload.nodeId,
144
- data: payload.data || {},
145
- position: payload.position,
146
- createdAt: timestamp,
147
- updatedAt: timestamp,
148
- });
149
- break;
150
- case 'update': {
151
- const existingNode = this.state.nodes.get(payload.nodeId);
152
- if (existingNode) {
153
- this.state.nodes.set(payload.nodeId, {
154
- ...existingNode,
155
- data: { ...existingNode.data, ...payload.data },
156
- position: payload.position || existingNode.position,
157
- updatedAt: timestamp,
158
- });
159
- }
160
- break;
161
- }
162
- case 'delete':
163
- this.state.nodes.delete(payload.nodeId);
164
- break;
165
- }
166
- }
167
-
168
- private handleEdgeEvent(event: GraphEvent, timestamp: number): void {
169
- const payload = event.payload as EdgeEvent;
170
-
171
- switch (payload.operation) {
172
- case 'create':
173
- this.state.edges.set(payload.edgeId, {
174
- id: payload.edgeId,
175
- type: payload.edgeType,
176
- from: payload.from,
177
- to: payload.to,
178
- data: payload.data,
179
- createdAt: timestamp,
180
- updatedAt: timestamp,
181
- });
182
- break;
183
- case 'update': {
184
- const existingEdge = this.state.edges.get(payload.edgeId);
185
- if (existingEdge) {
186
- this.state.edges.set(payload.edgeId, {
187
- ...existingEdge,
188
- data: { ...existingEdge.data, ...payload.data },
189
- updatedAt: timestamp,
190
- });
191
- }
192
- break;
193
- }
194
- case 'delete':
195
- this.state.edges.delete(payload.edgeId);
196
- break;
197
- case 'animate':
198
- // Animation is handled by the UI layer
199
- break;
200
- }
201
- }
202
-
203
- private handleStateEvent(event: GraphEvent, timestamp: number): void {
204
- const payload = event.payload as StateEvent;
205
- const node = this.state.nodes.get(payload.nodeId);
206
- if (node) {
207
- this.state.nodes.set(payload.nodeId, {
208
- ...node,
209
- state: payload.newState,
210
- data: { ...node.data, ...payload.data },
211
- updatedAt: timestamp,
212
- });
213
- }
214
- }
215
-
216
- private handleDataEvent(event: GraphEvent): void {
217
- const payload = event.payload as DataEvent;
218
- if (payload.targetType === 'node') {
219
- const node = this.state.nodes.get(payload.targetId);
220
- if (node) {
221
- this.state.nodes.set(payload.targetId, {
222
- ...node,
223
- data: { ...node.data, ...payload.updates },
224
- updatedAt: event.timestamp,
225
- });
226
- }
227
- } else {
228
- const edge = this.state.edges.get(payload.targetId);
229
- if (edge) {
230
- this.state.edges.set(payload.targetId, {
231
- ...edge,
232
- data: { ...edge.data, ...payload.updates },
233
- updatedAt: event.timestamp,
234
- });
235
- }
236
- }
237
- }
238
-
239
- private handleSystemEvent(event: GraphEvent): void {
240
- const payload = event.payload as SystemEvent;
241
- if (payload.action === 'reset') {
242
- this.reset();
243
- }
244
- }
245
-
246
- private getEmptyMetrics() {
247
- return {
248
- totalEvents: 0,
249
- validEvents: 0,
250
- violations: 0,
251
- warnings: 0,
252
- unexpectedEvents: 0,
253
- expectedEventsMissing: 0,
254
- };
255
- }
256
- }