@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,521 +0,0 @@
1
- import { describe, expect, test } from 'bun:test';
2
- import {
3
- buildCanvasFileManifest,
4
- buildWorkflowFileManifest,
5
- buildStoryboardFileManifest,
6
- } from './CanvasFileManifest';
7
- import type { ExtendedCanvas, OtelEventNode, OtelSpanConventionNode } from '../types/canvas';
8
- import type { WorkflowTemplate } from '../workflow/types';
9
-
10
- describe('CanvasFileManifest', () => {
11
- describe('buildCanvasFileManifest', () => {
12
- test('extracts instrumentation files from otel-event nodes', () => {
13
- const canvas: ExtendedCanvas = {
14
- nodes: [
15
- {
16
- id: 'node-1',
17
- type: 'otel-event',
18
- x: 0,
19
- y: 0,
20
- width: 100,
21
- height: 50,
22
- name: 'Test Event',
23
- event: { name: 'test.started', attributes: {} },
24
- otel: {
25
- files: ['src/api/handler.ts', 'src/api/utils.ts'],
26
- },
27
- } as OtelEventNode,
28
- ],
29
- };
30
-
31
- const manifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
32
-
33
- expect(manifest.stats.instrumentationFiles).toBe(2);
34
- expect(manifest.byRole.instrumentation).toHaveLength(2);
35
- expect(manifest.fileToNodes.get('src/api/handler.ts')).toEqual(['node-1']);
36
- expect(manifest.nodeToFiles.get('node-1')).toEqual(['src/api/handler.ts', 'src/api/utils.ts']);
37
- });
38
-
39
- test('extracts references from otel nodes', () => {
40
- const canvas: ExtendedCanvas = {
41
- nodes: [
42
- {
43
- id: 'node-1',
44
- type: 'otel-event',
45
- x: 0,
46
- y: 0,
47
- width: 100,
48
- height: 50,
49
- name: 'External Event',
50
- event: { name: 'external.call', attributes: {} },
51
- otel: {
52
- origin: 'external',
53
- references: ['https://docs.example.com', '@some/package'],
54
- },
55
- } as OtelEventNode,
56
- ],
57
- };
58
-
59
- const manifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
60
-
61
- expect(manifest.stats.referenceFiles).toBe(2);
62
- expect(manifest.byRole.reference).toHaveLength(2);
63
- expect(manifest.byOrigin.external).toHaveLength(2);
64
- });
65
-
66
- test('tracks event names for otel-event nodes', () => {
67
- const canvas: ExtendedCanvas = {
68
- nodes: [
69
- {
70
- id: 'node-1',
71
- type: 'otel-event',
72
- x: 0,
73
- y: 0,
74
- width: 100,
75
- height: 50,
76
- name: 'Event 1',
77
- event: { name: 'user.login', attributes: {} },
78
- otel: {
79
- files: ['src/auth/login.ts'],
80
- },
81
- } as OtelEventNode,
82
- {
83
- id: 'node-2',
84
- type: 'otel-event',
85
- x: 0,
86
- y: 100,
87
- width: 100,
88
- height: 50,
89
- name: 'Event 2',
90
- event: { name: 'user.logout', attributes: {} },
91
- otel: {
92
- files: ['src/auth/logout.ts'],
93
- },
94
- } as OtelEventNode,
95
- ],
96
- };
97
-
98
- const manifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
99
-
100
- expect(manifest.stats.uniqueEventNames).toBe(2);
101
- expect(manifest.eventToFiles.get('user.login')).toEqual(['src/auth/login.ts']);
102
- expect(manifest.eventToFiles.get('user.logout')).toEqual(['src/auth/logout.ts']);
103
- });
104
-
105
- test('merges duplicate file references across nodes', () => {
106
- const canvas: ExtendedCanvas = {
107
- nodes: [
108
- {
109
- id: 'node-1',
110
- type: 'otel-event',
111
- x: 0,
112
- y: 0,
113
- width: 100,
114
- height: 50,
115
- name: 'Event 1',
116
- event: { name: 'event.one', attributes: {} },
117
- otel: {
118
- files: ['src/shared.ts'],
119
- },
120
- } as OtelEventNode,
121
- {
122
- id: 'node-2',
123
- type: 'otel-event',
124
- x: 0,
125
- y: 100,
126
- width: 100,
127
- height: 50,
128
- name: 'Event 2',
129
- event: { name: 'event.two', attributes: {} },
130
- otel: {
131
- files: ['src/shared.ts'],
132
- },
133
- } as OtelEventNode,
134
- ],
135
- };
136
-
137
- const manifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
138
-
139
- expect(manifest.stats.totalFiles).toBe(1);
140
- expect(manifest.files[0].nodeIds).toEqual(['node-1', 'node-2']);
141
- expect(manifest.files[0].eventNames).toEqual(['event.one', 'event.two']);
142
- expect(manifest.fileToNodes.get('src/shared.ts')).toEqual(['node-1', 'node-2']);
143
- });
144
-
145
- test('handles otel-span-convention nodes', () => {
146
- const canvas: ExtendedCanvas = {
147
- nodes: [
148
- {
149
- id: 'span-node',
150
- type: 'otel-span-convention',
151
- x: 0,
152
- y: 0,
153
- width: 100,
154
- height: 50,
155
- name: 'HTTP Request',
156
- otel: {
157
- spanPattern: 'http.request',
158
- files: ['src/middleware/tracing.ts'],
159
- },
160
- } as OtelSpanConventionNode,
161
- ],
162
- };
163
-
164
- const manifest = buildCanvasFileManifest(canvas, 'test', 'test.spans.canvas', 'spans');
165
-
166
- expect(manifest.stats.instrumentationFiles).toBe(1);
167
- expect(manifest.canvasType).toBe('spans');
168
- // Span convention nodes don't have event names
169
- expect(manifest.files[0].eventNames).toEqual([]);
170
- });
171
-
172
- test('ignores non-OTEL nodes', () => {
173
- const canvas: ExtendedCanvas = {
174
- nodes: [
175
- {
176
- id: 'text-node',
177
- type: 'text',
178
- x: 0,
179
- y: 0,
180
- width: 100,
181
- height: 50,
182
- text: 'Some documentation',
183
- },
184
- {
185
- id: 'otel-node',
186
- type: 'otel-event',
187
- x: 0,
188
- y: 100,
189
- width: 100,
190
- height: 50,
191
- name: 'Real Event',
192
- event: { name: 'real.event', attributes: {} },
193
- otel: {
194
- files: ['src/real.ts'],
195
- },
196
- } as OtelEventNode,
197
- ],
198
- };
199
-
200
- const manifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
201
-
202
- expect(manifest.stats.totalFiles).toBe(1);
203
- expect(manifest.stats.nodesWithFiles).toBe(1);
204
- expect(manifest.stats.nodesWithoutFiles).toBe(1);
205
- });
206
-
207
- test('handles empty canvas', () => {
208
- const canvas: ExtendedCanvas = {
209
- nodes: [],
210
- };
211
-
212
- const manifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
213
-
214
- expect(manifest.stats.totalFiles).toBe(0);
215
- expect(manifest.files).toEqual([]);
216
- expect(manifest.byRole.instrumentation).toEqual([]);
217
- });
218
-
219
- test('handles nodes without otel metadata', () => {
220
- const canvas: ExtendedCanvas = {
221
- nodes: [
222
- {
223
- id: 'node-no-otel',
224
- type: 'otel-event',
225
- x: 0,
226
- y: 0,
227
- width: 100,
228
- height: 50,
229
- name: 'Draft Event',
230
- event: { name: 'draft.event', attributes: {} },
231
- // No otel property
232
- } as unknown as OtelEventNode,
233
- ],
234
- };
235
-
236
- const manifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
237
-
238
- expect(manifest.stats.totalFiles).toBe(0);
239
- expect(manifest.stats.nodesWithoutFiles).toBe(1);
240
- });
241
- });
242
-
243
- describe('buildWorkflowFileManifest', () => {
244
- test('includes workflow-level files', () => {
245
- const canvas: ExtendedCanvas = {
246
- nodes: [
247
- {
248
- id: 'node-1',
249
- type: 'otel-event',
250
- x: 0,
251
- y: 0,
252
- width: 100,
253
- height: 50,
254
- name: 'Event',
255
- event: { name: 'test.event', attributes: {} },
256
- otel: {
257
- files: ['src/event.ts'],
258
- },
259
- } as OtelEventNode,
260
- ],
261
- };
262
-
263
- const canvasManifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
264
-
265
- const workflow: WorkflowTemplate = {
266
- version: '1.0.0',
267
- canvas: 'test.otel.canvas',
268
- name: 'Test Workflow',
269
- description: 'Test',
270
- rootSpan: 'test.span',
271
- files: ['src/api/route.ts'],
272
- scenarioSelection: 'first-match',
273
- scenarios: [
274
- {
275
- id: 'success',
276
- priority: 1,
277
- description: 'Success scenario',
278
- template: {
279
- events: {
280
- 'test.event': 'Event happened',
281
- },
282
- },
283
- },
284
- ],
285
- };
286
-
287
- const workflowManifest = buildWorkflowFileManifest(
288
- canvasManifest,
289
- workflow,
290
- 'test-workflow',
291
- 'test.workflow.json'
292
- );
293
-
294
- expect(workflowManifest.workflowFiles).toHaveLength(1);
295
- expect(workflowManifest.workflowFiles[0].role).toBe('root-span');
296
- expect(workflowManifest.allFiles).toHaveLength(2);
297
- expect(workflowManifest.rootSpan).toBe('test.span');
298
- });
299
-
300
- test('filters files by scenario', () => {
301
- const canvas: ExtendedCanvas = {
302
- nodes: [
303
- {
304
- id: 'node-1',
305
- type: 'otel-event',
306
- x: 0,
307
- y: 0,
308
- width: 100,
309
- height: 50,
310
- name: 'Login Event',
311
- event: { name: 'user.login', attributes: {} },
312
- otel: {
313
- files: ['src/auth/login.ts'],
314
- },
315
- } as OtelEventNode,
316
- {
317
- id: 'node-2',
318
- type: 'otel-event',
319
- x: 0,
320
- y: 100,
321
- width: 100,
322
- height: 50,
323
- name: 'Logout Event',
324
- event: { name: 'user.logout', attributes: {} },
325
- otel: {
326
- files: ['src/auth/logout.ts'],
327
- },
328
- } as OtelEventNode,
329
- ],
330
- };
331
-
332
- const canvasManifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
333
-
334
- const workflow: WorkflowTemplate = {
335
- version: '1.0.0',
336
- canvas: 'test.otel.canvas',
337
- name: 'Auth Workflow',
338
- description: 'Auth',
339
- rootSpan: 'auth.flow',
340
- files: ['src/api/auth.ts'],
341
- scenarioSelection: 'first-match',
342
- scenarios: [
343
- {
344
- id: 'login-only',
345
- priority: 1,
346
- description: 'Login only',
347
- template: {
348
- events: {
349
- 'user.login': 'User logged in',
350
- },
351
- },
352
- },
353
- {
354
- id: 'full-flow',
355
- priority: 2,
356
- description: 'Full flow',
357
- template: {
358
- events: {
359
- 'user.login': 'User logged in',
360
- 'user.logout': 'User logged out',
361
- },
362
- },
363
- },
364
- ],
365
- };
366
-
367
- const workflowManifest = buildWorkflowFileManifest(
368
- canvasManifest,
369
- workflow,
370
- 'auth-workflow',
371
- 'auth.workflow.json'
372
- );
373
-
374
- const loginOnlyFiles = workflowManifest.byScenario.get('login-only');
375
- const fullFlowFiles = workflowManifest.byScenario.get('full-flow');
376
-
377
- // login-only: workflow file + login file
378
- expect(loginOnlyFiles).toHaveLength(2);
379
- expect(loginOnlyFiles?.map((f) => f.path)).toContain('src/api/auth.ts');
380
- expect(loginOnlyFiles?.map((f) => f.path)).toContain('src/auth/login.ts');
381
-
382
- // full-flow: workflow file + both event files
383
- expect(fullFlowFiles).toHaveLength(3);
384
- expect(fullFlowFiles?.map((f) => f.path)).toContain('src/auth/login.ts');
385
- expect(fullFlowFiles?.map((f) => f.path)).toContain('src/auth/logout.ts');
386
- });
387
-
388
- test('merges overlapping files between canvas and workflow', () => {
389
- const canvas: ExtendedCanvas = {
390
- nodes: [
391
- {
392
- id: 'node-1',
393
- type: 'otel-event',
394
- x: 0,
395
- y: 0,
396
- width: 100,
397
- height: 50,
398
- name: 'Event',
399
- event: { name: 'test.event', attributes: {} },
400
- otel: {
401
- files: ['src/shared.ts'],
402
- },
403
- } as OtelEventNode,
404
- ],
405
- };
406
-
407
- const canvasManifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
408
-
409
- const workflow: WorkflowTemplate = {
410
- version: '1.0.0',
411
- canvas: 'test.otel.canvas',
412
- name: 'Test Workflow',
413
- description: 'Test',
414
- rootSpan: 'test.span',
415
- files: ['src/shared.ts'], // Same file as canvas node
416
- scenarioSelection: 'first-match',
417
- scenarios: [],
418
- };
419
-
420
- const workflowManifest = buildWorkflowFileManifest(
421
- canvasManifest,
422
- workflow,
423
- 'test-workflow',
424
- 'test.workflow.json'
425
- );
426
-
427
- // Should be merged, not duplicated
428
- expect(workflowManifest.allFiles).toHaveLength(1);
429
- // Role should be upgraded to root-span
430
- expect(workflowManifest.allFiles[0].role).toBe('root-span');
431
- expect(workflowManifest.allFiles[0].workflowIds).toContain('test-workflow');
432
- });
433
- });
434
-
435
- describe('buildStoryboardFileManifest', () => {
436
- test('aggregates files across canvas and workflows', () => {
437
- const canvas: ExtendedCanvas = {
438
- nodes: [
439
- {
440
- id: 'node-1',
441
- type: 'otel-event',
442
- x: 0,
443
- y: 0,
444
- width: 100,
445
- height: 50,
446
- name: 'Event',
447
- event: { name: 'test.event', attributes: {} },
448
- otel: {
449
- files: ['src/canvas-file.ts'],
450
- },
451
- } as OtelEventNode,
452
- ],
453
- };
454
-
455
- const canvasManifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
456
-
457
- const workflow1: WorkflowTemplate = {
458
- version: '1.0.0',
459
- canvas: 'test.otel.canvas',
460
- name: 'Workflow 1',
461
- description: 'Test',
462
- rootSpan: 'workflow1.span',
463
- files: ['src/workflow1.ts'],
464
- scenarioSelection: 'first-match',
465
- scenarios: [{ id: 's1', priority: 1, description: 'S1', template: {} }],
466
- };
467
-
468
- const workflow2: WorkflowTemplate = {
469
- version: '1.0.0',
470
- canvas: 'test.otel.canvas',
471
- name: 'Workflow 2',
472
- description: 'Test',
473
- rootSpan: 'workflow2.span',
474
- files: ['src/workflow2.ts'],
475
- scenarioSelection: 'first-match',
476
- scenarios: [{ id: 's2', priority: 1, description: 'S2', template: {} }],
477
- };
478
-
479
- const workflowManifest1 = buildWorkflowFileManifest(
480
- canvasManifest,
481
- workflow1,
482
- 'workflow-1',
483
- 'workflow1.workflow.json'
484
- );
485
-
486
- const workflowManifest2 = buildWorkflowFileManifest(
487
- canvasManifest,
488
- workflow2,
489
- 'workflow-2',
490
- 'workflow2.workflow.json'
491
- );
492
-
493
- const storyboardManifest = buildStoryboardFileManifest(
494
- canvasManifest,
495
- [workflowManifest1, workflowManifest2],
496
- 'test-storyboard',
497
- '.principal-views/test-storyboard'
498
- );
499
-
500
- expect(storyboardManifest.allFiles).toHaveLength(3);
501
- expect(storyboardManifest.stats.workflowCount).toBe(2);
502
- expect(storyboardManifest.stats.scenarioCount).toBe(2);
503
- expect(storyboardManifest.stats.rootSpanFiles).toBe(2);
504
- });
505
-
506
- test('includes canvas manifest reference', () => {
507
- const canvas: ExtendedCanvas = { nodes: [] };
508
- const canvasManifest = buildCanvasFileManifest(canvas, 'test', 'test.otel.canvas', 'otel');
509
-
510
- const storyboardManifest = buildStoryboardFileManifest(
511
- canvasManifest,
512
- [],
513
- 'test-storyboard',
514
- '.principal-views/test-storyboard'
515
- );
516
-
517
- expect(storyboardManifest.canvas).toBe(canvasManifest);
518
- expect(storyboardManifest.workflows).toEqual([]);
519
- });
520
- });
521
- });