@principal-ai/subsystems-core 0.29.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 (614) hide show
  1. package/README.md +124 -0
  2. package/dist/ConfigurationLoader.d.ts +76 -0
  3. package/dist/ConfigurationLoader.d.ts.map +1 -0
  4. package/dist/ConfigurationLoader.js +148 -0
  5. package/dist/ConfigurationLoader.js.map +1 -0
  6. package/dist/ConfigurationValidator.d.ts +31 -0
  7. package/dist/ConfigurationValidator.d.ts.map +1 -0
  8. package/dist/ConfigurationValidator.js +239 -0
  9. package/dist/ConfigurationValidator.js.map +1 -0
  10. package/dist/EventProcessor.d.ts +49 -0
  11. package/dist/EventProcessor.d.ts.map +1 -0
  12. package/dist/EventProcessor.js +220 -0
  13. package/dist/EventProcessor.js.map +1 -0
  14. package/dist/EventRecorderService.d.ts +305 -0
  15. package/dist/EventRecorderService.d.ts.map +1 -0
  16. package/dist/EventRecorderService.js +467 -0
  17. package/dist/EventRecorderService.js.map +1 -0
  18. package/dist/LibraryLoader.d.ts +65 -0
  19. package/dist/LibraryLoader.d.ts.map +1 -0
  20. package/dist/LibraryLoader.js +197 -0
  21. package/dist/LibraryLoader.js.map +1 -0
  22. package/dist/PathBasedEventProcessor.d.ts +77 -0
  23. package/dist/PathBasedEventProcessor.d.ts.map +1 -0
  24. package/dist/PathBasedEventProcessor.js +136 -0
  25. package/dist/PathBasedEventProcessor.js.map +1 -0
  26. package/dist/SessionManager.d.ts +194 -0
  27. package/dist/SessionManager.d.ts.map +1 -0
  28. package/dist/SessionManager.js +302 -0
  29. package/dist/SessionManager.js.map +1 -0
  30. package/dist/ValidationEngine.d.ts +31 -0
  31. package/dist/ValidationEngine.d.ts.map +1 -0
  32. package/dist/ValidationEngine.js +162 -0
  33. package/dist/ValidationEngine.js.map +1 -0
  34. package/dist/agent-sessions/fixture.d.ts +80 -0
  35. package/dist/agent-sessions/fixture.d.ts.map +1 -0
  36. package/dist/agent-sessions/fixture.js +130 -0
  37. package/dist/agent-sessions/fixture.js.map +1 -0
  38. package/dist/agent-sessions/index.d.ts +3 -0
  39. package/dist/agent-sessions/index.d.ts.map +1 -0
  40. package/dist/agent-sessions/index.js +6 -0
  41. package/dist/agent-sessions/index.js.map +1 -0
  42. package/dist/auxiliary/AuxiliaryManifestValidator.d.ts +41 -0
  43. package/dist/auxiliary/AuxiliaryManifestValidator.d.ts.map +1 -0
  44. package/dist/auxiliary/AuxiliaryManifestValidator.js +100 -0
  45. package/dist/auxiliary/AuxiliaryManifestValidator.js.map +1 -0
  46. package/dist/auxiliary/index.d.ts +9 -0
  47. package/dist/auxiliary/index.d.ts.map +1 -0
  48. package/dist/auxiliary/index.js +14 -0
  49. package/dist/auxiliary/index.js.map +1 -0
  50. package/dist/auxiliary/validateAreaScopeDisjoint.d.ts +24 -0
  51. package/dist/auxiliary/validateAreaScopeDisjoint.d.ts.map +1 -0
  52. package/dist/auxiliary/validateAreaScopeDisjoint.js +61 -0
  53. package/dist/auxiliary/validateAreaScopeDisjoint.js.map +1 -0
  54. package/dist/cli/codegen.d.ts +41 -0
  55. package/dist/cli/codegen.d.ts.map +1 -0
  56. package/dist/cli/codegen.js +257 -0
  57. package/dist/cli/codegen.js.map +1 -0
  58. package/dist/codegen/type-generator.d.ts +123 -0
  59. package/dist/codegen/type-generator.d.ts.map +1 -0
  60. package/dist/codegen/type-generator.js +433 -0
  61. package/dist/codegen/type-generator.js.map +1 -0
  62. package/dist/codegen/usage-example.d.ts +103 -0
  63. package/dist/codegen/usage-example.d.ts.map +1 -0
  64. package/dist/codegen/usage-example.js +258 -0
  65. package/dist/codegen/usage-example.js.map +1 -0
  66. package/dist/dashboard/DashboardValidator.d.ts +85 -0
  67. package/dist/dashboard/DashboardValidator.d.ts.map +1 -0
  68. package/dist/dashboard/DashboardValidator.js +775 -0
  69. package/dist/dashboard/DashboardValidator.js.map +1 -0
  70. package/dist/dashboard/index.d.ts +6 -0
  71. package/dist/dashboard/index.d.ts.map +1 -0
  72. package/dist/dashboard/index.js +10 -0
  73. package/dist/dashboard/index.js.map +1 -0
  74. package/dist/discovery/CanvasDiscovery.d.ts +160 -0
  75. package/dist/discovery/CanvasDiscovery.d.ts.map +1 -0
  76. package/dist/discovery/CanvasDiscovery.js +865 -0
  77. package/dist/discovery/CanvasDiscovery.js.map +1 -0
  78. package/dist/discovery/CanvasFileManifest.d.ts +86 -0
  79. package/dist/discovery/CanvasFileManifest.d.ts.map +1 -0
  80. package/dist/discovery/CanvasFileManifest.js +338 -0
  81. package/dist/discovery/CanvasFileManifest.js.map +1 -0
  82. package/dist/discovery/LibraryDiscovery.d.ts +108 -0
  83. package/dist/discovery/LibraryDiscovery.d.ts.map +1 -0
  84. package/dist/discovery/LibraryDiscovery.js +263 -0
  85. package/dist/discovery/LibraryDiscovery.js.map +1 -0
  86. package/dist/discovery/types.d.ts +403 -0
  87. package/dist/discovery/types.d.ts.map +1 -0
  88. package/dist/discovery/types.js +6 -0
  89. package/dist/discovery/types.js.map +1 -0
  90. package/dist/events/EventsCanvasValidator.d.ts +139 -0
  91. package/dist/events/EventsCanvasValidator.d.ts.map +1 -0
  92. package/dist/events/EventsCanvasValidator.js +281 -0
  93. package/dist/events/EventsCanvasValidator.js.map +1 -0
  94. package/dist/events/NamespacePathIndex.d.ts +61 -0
  95. package/dist/events/NamespacePathIndex.d.ts.map +1 -0
  96. package/dist/events/NamespacePathIndex.js +74 -0
  97. package/dist/events/NamespacePathIndex.js.map +1 -0
  98. package/dist/events/OtelEventPathsValidator.d.ts +75 -0
  99. package/dist/events/OtelEventPathsValidator.d.ts.map +1 -0
  100. package/dist/events/OtelEventPathsValidator.js +126 -0
  101. package/dist/events/OtelEventPathsValidator.js.map +1 -0
  102. package/dist/events/ScopeEventsValidator.d.ts +68 -0
  103. package/dist/events/ScopeEventsValidator.d.ts.map +1 -0
  104. package/dist/events/ScopeEventsValidator.js +91 -0
  105. package/dist/events/ScopeEventsValidator.js.map +1 -0
  106. package/dist/events/index.d.ts +9 -0
  107. package/dist/events/index.d.ts.map +1 -0
  108. package/dist/events/index.js +12 -0
  109. package/dist/events/index.js.map +1 -0
  110. package/dist/events/path-helpers.d.ts +33 -0
  111. package/dist/events/path-helpers.d.ts.map +1 -0
  112. package/dist/events/path-helpers.js +59 -0
  113. package/dist/events/path-helpers.js.map +1 -0
  114. package/dist/execution/ExecutionLoader.d.ts +135 -0
  115. package/dist/execution/ExecutionLoader.d.ts.map +1 -0
  116. package/dist/execution/ExecutionLoader.js +266 -0
  117. package/dist/execution/ExecutionLoader.js.map +1 -0
  118. package/dist/execution/ExecutionValidator.d.ts +94 -0
  119. package/dist/execution/ExecutionValidator.d.ts.map +1 -0
  120. package/dist/execution/ExecutionValidator.js +503 -0
  121. package/dist/execution/ExecutionValidator.js.map +1 -0
  122. package/dist/generated/graph-converter-execution.types.d.ts +177 -0
  123. package/dist/generated/graph-converter-execution.types.d.ts.map +1 -0
  124. package/dist/generated/graph-converter-execution.types.js +12 -0
  125. package/dist/generated/graph-converter-execution.types.js.map +1 -0
  126. package/dist/helpers/GraphInstrumentationHelper.d.ts +93 -0
  127. package/dist/helpers/GraphInstrumentationHelper.d.ts.map +1 -0
  128. package/dist/helpers/GraphInstrumentationHelper.js +252 -0
  129. package/dist/helpers/GraphInstrumentationHelper.js.map +1 -0
  130. package/dist/index.d.ts +82 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +214 -0
  133. package/dist/index.js.map +1 -0
  134. package/dist/matchers/SpanMatcher.d.ts +107 -0
  135. package/dist/matchers/SpanMatcher.d.ts.map +1 -0
  136. package/dist/matchers/SpanMatcher.js +274 -0
  137. package/dist/matchers/SpanMatcher.js.map +1 -0
  138. package/dist/node.d.ts +78 -0
  139. package/dist/node.d.ts.map +1 -0
  140. package/dist/node.js +177 -0
  141. package/dist/node.js.map +1 -0
  142. package/dist/opencode/OpenCodeEventStore.d.ts +25 -0
  143. package/dist/opencode/OpenCodeEventStore.d.ts.map +1 -0
  144. package/dist/opencode/OpenCodeEventStore.js +182 -0
  145. package/dist/opencode/OpenCodeEventStore.js.map +1 -0
  146. package/dist/opencode/agent-sessions.d.ts +46 -0
  147. package/dist/opencode/agent-sessions.d.ts.map +1 -0
  148. package/dist/opencode/agent-sessions.js +302 -0
  149. package/dist/opencode/agent-sessions.js.map +1 -0
  150. package/dist/opencode/index.d.ts +6 -0
  151. package/dist/opencode/index.d.ts.map +1 -0
  152. package/dist/opencode/index.js +15 -0
  153. package/dist/opencode/index.js.map +1 -0
  154. package/dist/opencode/node-path-adapter.d.ts +25 -0
  155. package/dist/opencode/node-path-adapter.d.ts.map +1 -0
  156. package/dist/opencode/node-path-adapter.js +188 -0
  157. package/dist/opencode/node-path-adapter.js.map +1 -0
  158. package/dist/opencode/pipeline.d.ts +42 -0
  159. package/dist/opencode/pipeline.d.ts.map +1 -0
  160. package/dist/opencode/pipeline.js +90 -0
  161. package/dist/opencode/pipeline.js.map +1 -0
  162. package/dist/opencode/types.d.ts +39 -0
  163. package/dist/opencode/types.d.ts.map +1 -0
  164. package/dist/opencode/types.js +3 -0
  165. package/dist/opencode/types.js.map +1 -0
  166. package/dist/orchestration/TraceOrchestrator.d.ts +71 -0
  167. package/dist/orchestration/TraceOrchestrator.d.ts.map +1 -0
  168. package/dist/orchestration/TraceOrchestrator.js +416 -0
  169. package/dist/orchestration/TraceOrchestrator.js.map +1 -0
  170. package/dist/parsers/OtlpTraceParser.d.ts +131 -0
  171. package/dist/parsers/OtlpTraceParser.d.ts.map +1 -0
  172. package/dist/parsers/OtlpTraceParser.js +310 -0
  173. package/dist/parsers/OtlpTraceParser.js.map +1 -0
  174. package/dist/registry/CompositeRegistry.d.ts +71 -0
  175. package/dist/registry/CompositeRegistry.d.ts.map +1 -0
  176. package/dist/registry/CompositeRegistry.js +113 -0
  177. package/dist/registry/CompositeRegistry.js.map +1 -0
  178. package/dist/registry/EventRegistry.d.ts +79 -0
  179. package/dist/registry/EventRegistry.d.ts.map +1 -0
  180. package/dist/registry/EventRegistry.js +165 -0
  181. package/dist/registry/EventRegistry.js.map +1 -0
  182. package/dist/registry/LocalRegistry.d.ts +111 -0
  183. package/dist/registry/LocalRegistry.d.ts.map +1 -0
  184. package/dist/registry/LocalRegistry.js +335 -0
  185. package/dist/registry/LocalRegistry.js.map +1 -0
  186. package/dist/registry/RemoteRegistry.d.ts +122 -0
  187. package/dist/registry/RemoteRegistry.d.ts.map +1 -0
  188. package/dist/registry/RemoteRegistry.js +399 -0
  189. package/dist/registry/RemoteRegistry.js.map +1 -0
  190. package/dist/registry/VersionRegistry.d.ts +51 -0
  191. package/dist/registry/VersionRegistry.d.ts.map +1 -0
  192. package/dist/registry/VersionRegistry.js +105 -0
  193. package/dist/registry/VersionRegistry.js.map +1 -0
  194. package/dist/rules/config.d.ts +57 -0
  195. package/dist/rules/config.d.ts.map +1 -0
  196. package/dist/rules/config.js +382 -0
  197. package/dist/rules/config.js.map +1 -0
  198. package/dist/rules/engine.d.ts +70 -0
  199. package/dist/rules/engine.d.ts.map +1 -0
  200. package/dist/rules/engine.js +373 -0
  201. package/dist/rules/engine.js.map +1 -0
  202. package/dist/rules/implementations/connection-type-references.d.ts +7 -0
  203. package/dist/rules/implementations/connection-type-references.d.ts.map +1 -0
  204. package/dist/rules/implementations/connection-type-references.js +107 -0
  205. package/dist/rules/implementations/connection-type-references.js.map +1 -0
  206. package/dist/rules/implementations/dead-end-states.d.ts +17 -0
  207. package/dist/rules/implementations/dead-end-states.d.ts.map +1 -0
  208. package/dist/rules/implementations/dead-end-states.js +75 -0
  209. package/dist/rules/implementations/dead-end-states.js.map +1 -0
  210. package/dist/rules/implementations/index.d.ts +23 -0
  211. package/dist/rules/implementations/index.d.ts.map +1 -0
  212. package/dist/rules/implementations/index.js +73 -0
  213. package/dist/rules/implementations/index.js.map +1 -0
  214. package/dist/rules/implementations/minimum-node-sources.d.ts +24 -0
  215. package/dist/rules/implementations/minimum-node-sources.d.ts.map +1 -0
  216. package/dist/rules/implementations/minimum-node-sources.js +59 -0
  217. package/dist/rules/implementations/minimum-node-sources.js.map +1 -0
  218. package/dist/rules/implementations/no-unknown-fields.d.ts +7 -0
  219. package/dist/rules/implementations/no-unknown-fields.d.ts.map +1 -0
  220. package/dist/rules/implementations/no-unknown-fields.js +216 -0
  221. package/dist/rules/implementations/no-unknown-fields.js.map +1 -0
  222. package/dist/rules/implementations/orphaned-edge-types.d.ts +7 -0
  223. package/dist/rules/implementations/orphaned-edge-types.d.ts.map +1 -0
  224. package/dist/rules/implementations/orphaned-edge-types.js +50 -0
  225. package/dist/rules/implementations/orphaned-edge-types.js.map +1 -0
  226. package/dist/rules/implementations/orphaned-node-types.d.ts +7 -0
  227. package/dist/rules/implementations/orphaned-node-types.d.ts.map +1 -0
  228. package/dist/rules/implementations/orphaned-node-types.js +53 -0
  229. package/dist/rules/implementations/orphaned-node-types.js.map +1 -0
  230. package/dist/rules/implementations/required-metadata.d.ts +7 -0
  231. package/dist/rules/implementations/required-metadata.d.ts.map +1 -0
  232. package/dist/rules/implementations/required-metadata.js +48 -0
  233. package/dist/rules/implementations/required-metadata.js.map +1 -0
  234. package/dist/rules/implementations/state-transition-references.d.ts +7 -0
  235. package/dist/rules/implementations/state-transition-references.d.ts.map +1 -0
  236. package/dist/rules/implementations/state-transition-references.js +138 -0
  237. package/dist/rules/implementations/state-transition-references.js.map +1 -0
  238. package/dist/rules/implementations/unreachable-states.d.ts +7 -0
  239. package/dist/rules/implementations/unreachable-states.d.ts.map +1 -0
  240. package/dist/rules/implementations/unreachable-states.js +83 -0
  241. package/dist/rules/implementations/unreachable-states.js.map +1 -0
  242. package/dist/rules/implementations/valid-action-patterns.d.ts +17 -0
  243. package/dist/rules/implementations/valid-action-patterns.d.ts.map +1 -0
  244. package/dist/rules/implementations/valid-action-patterns.js +112 -0
  245. package/dist/rules/implementations/valid-action-patterns.js.map +1 -0
  246. package/dist/rules/implementations/valid-color-format.d.ts +7 -0
  247. package/dist/rules/implementations/valid-color-format.d.ts.map +1 -0
  248. package/dist/rules/implementations/valid-color-format.js +94 -0
  249. package/dist/rules/implementations/valid-color-format.js.map +1 -0
  250. package/dist/rules/implementations/valid-edge-types.d.ts +7 -0
  251. package/dist/rules/implementations/valid-edge-types.d.ts.map +1 -0
  252. package/dist/rules/implementations/valid-edge-types.js +248 -0
  253. package/dist/rules/implementations/valid-edge-types.js.map +1 -0
  254. package/dist/rules/implementations/valid-node-types.d.ts +7 -0
  255. package/dist/rules/implementations/valid-node-types.d.ts.map +1 -0
  256. package/dist/rules/implementations/valid-node-types.js +187 -0
  257. package/dist/rules/implementations/valid-node-types.js.map +1 -0
  258. package/dist/rules/index.d.ts +28 -0
  259. package/dist/rules/index.d.ts.map +1 -0
  260. package/dist/rules/index.js +70 -0
  261. package/dist/rules/index.js.map +1 -0
  262. package/dist/rules/types.d.ts +309 -0
  263. package/dist/rules/types.d.ts.map +1 -0
  264. package/dist/rules/types.js +40 -0
  265. package/dist/rules/types.js.map +1 -0
  266. package/dist/scopes/ScopePathIndex.d.ts +56 -0
  267. package/dist/scopes/ScopePathIndex.d.ts.map +1 -0
  268. package/dist/scopes/ScopePathIndex.js +67 -0
  269. package/dist/scopes/ScopePathIndex.js.map +1 -0
  270. package/dist/scopes/ScopesCanvasValidator.d.ts +76 -0
  271. package/dist/scopes/ScopesCanvasValidator.d.ts.map +1 -0
  272. package/dist/scopes/ScopesCanvasValidator.js +221 -0
  273. package/dist/scopes/ScopesCanvasValidator.js.map +1 -0
  274. package/dist/scopes/index.d.ts +12 -0
  275. package/dist/scopes/index.d.ts.map +1 -0
  276. package/dist/scopes/index.js +30 -0
  277. package/dist/scopes/index.js.map +1 -0
  278. package/dist/scopes/utils.d.ts +85 -0
  279. package/dist/scopes/utils.d.ts.map +1 -0
  280. package/dist/scopes/utils.js +143 -0
  281. package/dist/scopes/utils.js.map +1 -0
  282. package/dist/scopes/validateScopeNamespaceNesting.d.ts +38 -0
  283. package/dist/scopes/validateScopeNamespaceNesting.d.ts.map +1 -0
  284. package/dist/scopes/validateScopeNamespaceNesting.js +69 -0
  285. package/dist/scopes/validateScopeNamespaceNesting.js.map +1 -0
  286. package/dist/spans/index.d.ts +12 -0
  287. package/dist/spans/index.d.ts.map +1 -0
  288. package/dist/spans/index.js +25 -0
  289. package/dist/spans/index.js.map +1 -0
  290. package/dist/spans/utils.d.ts +70 -0
  291. package/dist/spans/utils.d.ts.map +1 -0
  292. package/dist/spans/utils.js +205 -0
  293. package/dist/spans/utils.js.map +1 -0
  294. package/dist/storage/topic-types.d.ts +203 -0
  295. package/dist/storage/topic-types.d.ts.map +1 -0
  296. package/dist/storage/topic-types.js +60 -0
  297. package/dist/storage/topic-types.js.map +1 -0
  298. package/dist/storage/topicStore.d.ts +135 -0
  299. package/dist/storage/topicStore.d.ts.map +1 -0
  300. package/dist/storage/topicStore.js +389 -0
  301. package/dist/storage/topicStore.js.map +1 -0
  302. package/dist/storyboard/builder.d.ts +135 -0
  303. package/dist/storyboard/builder.d.ts.map +1 -0
  304. package/dist/storyboard/builder.js +235 -0
  305. package/dist/storyboard/builder.js.map +1 -0
  306. package/dist/storyboard/index.d.ts +9 -0
  307. package/dist/storyboard/index.d.ts.map +1 -0
  308. package/dist/storyboard/index.js +18 -0
  309. package/dist/storyboard/index.js.map +1 -0
  310. package/dist/storyboard/types.d.ts +101 -0
  311. package/dist/storyboard/types.d.ts.map +1 -0
  312. package/dist/storyboard/types.js +10 -0
  313. package/dist/storyboard/types.js.map +1 -0
  314. package/dist/telemetry/coverage.d.ts +92 -0
  315. package/dist/telemetry/coverage.d.ts.map +1 -0
  316. package/dist/telemetry/coverage.js +335 -0
  317. package/dist/telemetry/coverage.js.map +1 -0
  318. package/dist/telemetry/event-validator.d.ts +86 -0
  319. package/dist/telemetry/event-validator.d.ts.map +1 -0
  320. package/dist/telemetry/event-validator.js +257 -0
  321. package/dist/telemetry/event-validator.js.map +1 -0
  322. package/dist/types/audit.d.ts +236 -0
  323. package/dist/types/audit.d.ts.map +1 -0
  324. package/dist/types/audit.js +53 -0
  325. package/dist/types/audit.js.map +1 -0
  326. package/dist/types/auxiliary.d.ts +54 -0
  327. package/dist/types/auxiliary.d.ts.map +1 -0
  328. package/dist/types/auxiliary.js +27 -0
  329. package/dist/types/auxiliary.js.map +1 -0
  330. package/dist/types/canvas-scope.d.ts +156 -0
  331. package/dist/types/canvas-scope.d.ts.map +1 -0
  332. package/dist/types/canvas-scope.js +62 -0
  333. package/dist/types/canvas-scope.js.map +1 -0
  334. package/dist/types/canvas.d.ts +1138 -0
  335. package/dist/types/canvas.d.ts.map +1 -0
  336. package/dist/types/canvas.js +178 -0
  337. package/dist/types/canvas.js.map +1 -0
  338. package/dist/types/dashboard.d.ts +170 -0
  339. package/dist/types/dashboard.d.ts.map +1 -0
  340. package/dist/types/dashboard.js +14 -0
  341. package/dist/types/dashboard.js.map +1 -0
  342. package/dist/types/index.d.ts +352 -0
  343. package/dist/types/index.d.ts.map +1 -0
  344. package/dist/types/index.js +39 -0
  345. package/dist/types/index.js.map +1 -0
  346. package/dist/types/library.d.ts +227 -0
  347. package/dist/types/library.d.ts.map +1 -0
  348. package/dist/types/library.js +16 -0
  349. package/dist/types/library.js.map +1 -0
  350. package/dist/types/otel.d.ts +465 -0
  351. package/dist/types/otel.d.ts.map +1 -0
  352. package/dist/types/otel.js +163 -0
  353. package/dist/types/otel.js.map +1 -0
  354. package/dist/types/path-based-config.d.ts +235 -0
  355. package/dist/types/path-based-config.d.ts.map +1 -0
  356. package/dist/types/path-based-config.js +11 -0
  357. package/dist/types/path-based-config.js.map +1 -0
  358. package/dist/types/registered-trace.d.ts +337 -0
  359. package/dist/types/registered-trace.d.ts.map +1 -0
  360. package/dist/types/registered-trace.js +16 -0
  361. package/dist/types/registered-trace.js.map +1 -0
  362. package/dist/types/resource-match.d.ts +207 -0
  363. package/dist/types/resource-match.d.ts.map +1 -0
  364. package/dist/types/resource-match.js +74 -0
  365. package/dist/types/resource-match.js.map +1 -0
  366. package/dist/types/subsystem-model.d.ts +265 -0
  367. package/dist/types/subsystem-model.d.ts.map +1 -0
  368. package/dist/types/subsystem-model.js +35 -0
  369. package/dist/types/subsystem-model.js.map +1 -0
  370. package/dist/types/version-registry.d.ts +137 -0
  371. package/dist/types/version-registry.d.ts.map +1 -0
  372. package/dist/types/version-registry.js +10 -0
  373. package/dist/types/version-registry.js.map +1 -0
  374. package/dist/utils/CanvasConverter.d.ts +148 -0
  375. package/dist/utils/CanvasConverter.d.ts.map +1 -0
  376. package/dist/utils/CanvasConverter.js +530 -0
  377. package/dist/utils/CanvasConverter.js.map +1 -0
  378. package/dist/utils/GraphConverter.d.ts +18 -0
  379. package/dist/utils/GraphConverter.d.ts.map +1 -0
  380. package/dist/utils/GraphConverter.js +80 -0
  381. package/dist/utils/GraphConverter.js.map +1 -0
  382. package/dist/utils/PathMatcher.d.ts +55 -0
  383. package/dist/utils/PathMatcher.d.ts.map +1 -0
  384. package/dist/utils/PathMatcher.js +178 -0
  385. package/dist/utils/PathMatcher.js.map +1 -0
  386. package/dist/utils/TraceToCanvas.d.ts +83 -0
  387. package/dist/utils/TraceToCanvas.d.ts.map +1 -0
  388. package/dist/utils/TraceToCanvas.js +336 -0
  389. package/dist/utils/TraceToCanvas.js.map +1 -0
  390. package/dist/utils/YamlParser.d.ts +36 -0
  391. package/dist/utils/YamlParser.d.ts.map +1 -0
  392. package/dist/utils/YamlParser.js +92 -0
  393. package/dist/utils/YamlParser.js.map +1 -0
  394. package/dist/utils/registeredTraceHelpers.d.ts +76 -0
  395. package/dist/utils/registeredTraceHelpers.d.ts.map +1 -0
  396. package/dist/utils/registeredTraceHelpers.js +203 -0
  397. package/dist/utils/registeredTraceHelpers.js.map +1 -0
  398. package/dist/utils/traceAggregation.d.ts +25 -0
  399. package/dist/utils/traceAggregation.d.ts.map +1 -0
  400. package/dist/utils/traceAggregation.js +140 -0
  401. package/dist/utils/traceAggregation.js.map +1 -0
  402. package/dist/validation/OtelCanvasValidator.d.ts +40 -0
  403. package/dist/validation/OtelCanvasValidator.d.ts.map +1 -0
  404. package/dist/validation/OtelCanvasValidator.js +59 -0
  405. package/dist/validation/OtelCanvasValidator.js.map +1 -0
  406. package/dist/validation/index.d.ts +8 -0
  407. package/dist/validation/index.d.ts.map +1 -0
  408. package/dist/validation/index.js +13 -0
  409. package/dist/validation/index.js.map +1 -0
  410. package/dist/validation/libraryValidation.d.ts +53 -0
  411. package/dist/validation/libraryValidation.d.ts.map +1 -0
  412. package/dist/validation/libraryValidation.js +115 -0
  413. package/dist/validation/libraryValidation.js.map +1 -0
  414. package/dist/workflow/edge-derivation.d.ts +111 -0
  415. package/dist/workflow/edge-derivation.d.ts.map +1 -0
  416. package/dist/workflow/edge-derivation.js +174 -0
  417. package/dist/workflow/edge-derivation.js.map +1 -0
  418. package/dist/workflow/edge-validation.d.ts +170 -0
  419. package/dist/workflow/edge-validation.d.ts.map +1 -0
  420. package/dist/workflow/edge-validation.js +332 -0
  421. package/dist/workflow/edge-validation.js.map +1 -0
  422. package/dist/workflow/example.d.ts +11 -0
  423. package/dist/workflow/example.d.ts.map +1 -0
  424. package/dist/workflow/example.js +310 -0
  425. package/dist/workflow/example.js.map +1 -0
  426. package/dist/workflow/index.d.ts +20 -0
  427. package/dist/workflow/index.d.ts.map +1 -0
  428. package/dist/workflow/index.js +49 -0
  429. package/dist/workflow/index.js.map +1 -0
  430. package/dist/workflow/scenario-matcher.d.ts +63 -0
  431. package/dist/workflow/scenario-matcher.d.ts.map +1 -0
  432. package/dist/workflow/scenario-matcher.js +215 -0
  433. package/dist/workflow/scenario-matcher.js.map +1 -0
  434. package/dist/workflow/template-parser.d.ts +73 -0
  435. package/dist/workflow/template-parser.d.ts.map +1 -0
  436. package/dist/workflow/template-parser.js +280 -0
  437. package/dist/workflow/template-parser.js.map +1 -0
  438. package/dist/workflow/template-renderer.d.ts +45 -0
  439. package/dist/workflow/template-renderer.d.ts.map +1 -0
  440. package/dist/workflow/template-renderer.js +401 -0
  441. package/dist/workflow/template-renderer.js.map +1 -0
  442. package/dist/workflow/types.d.ts +393 -0
  443. package/dist/workflow/types.d.ts.map +1 -0
  444. package/dist/workflow/types.js +40 -0
  445. package/dist/workflow/types.js.map +1 -0
  446. package/dist/workflow/validator.d.ts +363 -0
  447. package/dist/workflow/validator.d.ts.map +1 -0
  448. package/dist/workflow/validator.js +2283 -0
  449. package/dist/workflow/validator.js.map +1 -0
  450. package/package.json +84 -0
  451. package/schemas/auxiliary.manifest.schema.json +56 -0
  452. package/schemas/subsystem-model.schema.json +767 -0
  453. package/src/ConfigurationLoader.test.ts +466 -0
  454. package/src/ConfigurationLoader.ts +184 -0
  455. package/src/ConfigurationValidator.test.ts +200 -0
  456. package/src/ConfigurationValidator.ts +273 -0
  457. package/src/EventProcessor.test.ts +405 -0
  458. package/src/EventProcessor.ts +256 -0
  459. package/src/EventRecorderService.test.ts +543 -0
  460. package/src/EventRecorderService.ts +741 -0
  461. package/src/LibraryLoader.ts +194 -0
  462. package/src/PathBasedEventProcessor.test.ts +336 -0
  463. package/src/PathBasedEventProcessor.ts +196 -0
  464. package/src/SessionManager.test.ts +424 -0
  465. package/src/SessionManager.ts +471 -0
  466. package/src/ValidationEngine.test.ts +520 -0
  467. package/src/ValidationEngine.ts +200 -0
  468. package/src/agent-sessions/fixture.ts +225 -0
  469. package/src/agent-sessions/index.ts +10 -0
  470. package/src/auxiliary/AuxiliaryManifestValidator.test.ts +93 -0
  471. package/src/auxiliary/AuxiliaryManifestValidator.ts +132 -0
  472. package/src/auxiliary/index.ts +18 -0
  473. package/src/auxiliary/validateAreaScopeDisjoint.test.ts +85 -0
  474. package/src/auxiliary/validateAreaScopeDisjoint.ts +72 -0
  475. package/src/browser-safety.test.ts +170 -0
  476. package/src/cli/codegen.ts +286 -0
  477. package/src/codegen/type-generator.test.ts +219 -0
  478. package/src/codegen/type-generator.ts +560 -0
  479. package/src/codegen/usage-example.ts +357 -0
  480. package/src/dashboard/DashboardValidator.ts +904 -0
  481. package/src/dashboard/index.ts +14 -0
  482. package/src/discovery/CanvasDiscovery.test.ts +691 -0
  483. package/src/discovery/CanvasDiscovery.ts +1114 -0
  484. package/src/discovery/CanvasFileManifest.test.ts +521 -0
  485. package/src/discovery/CanvasFileManifest.ts +419 -0
  486. package/src/discovery/LibraryDiscovery.test.ts +329 -0
  487. package/src/discovery/LibraryDiscovery.ts +386 -0
  488. package/src/discovery/types.ts +453 -0
  489. package/src/events/EventsCanvasValidator.test.ts +191 -0
  490. package/src/events/EventsCanvasValidator.ts +428 -0
  491. package/src/events/NamespacePathIndex.test.ts +97 -0
  492. package/src/events/NamespacePathIndex.ts +100 -0
  493. package/src/events/OtelEventPathsValidator.test.ts +243 -0
  494. package/src/events/OtelEventPathsValidator.ts +191 -0
  495. package/src/events/ScopeEventsValidator.test.ts +173 -0
  496. package/src/events/ScopeEventsValidator.ts +158 -0
  497. package/src/events/index.ts +27 -0
  498. package/src/events/path-helpers.ts +53 -0
  499. package/src/execution/ExecutionLoader.test.ts +378 -0
  500. package/src/execution/ExecutionLoader.ts +331 -0
  501. package/src/execution/ExecutionValidator.test.ts +503 -0
  502. package/src/execution/ExecutionValidator.ts +617 -0
  503. package/src/generated/graph-converter-execution.types.ts +193 -0
  504. package/src/helpers/GraphInstrumentationHelper.test.ts +364 -0
  505. package/src/helpers/GraphInstrumentationHelper.ts +323 -0
  506. package/src/index.ts +587 -0
  507. package/src/matchers/SpanMatcher.test.ts +1105 -0
  508. package/src/matchers/SpanMatcher.ts +381 -0
  509. package/src/node.ts +316 -0
  510. package/src/opencode/EVENT_MAPPING.md +82 -0
  511. package/src/opencode/OpenCodeEventStore.ts +214 -0
  512. package/src/opencode/__fixtures__/event-shapes.json +443 -0
  513. package/src/opencode/__fixtures__/session-events.json +13491 -0
  514. package/src/opencode/agent-sessions.ts +376 -0
  515. package/src/opencode/index.ts +23 -0
  516. package/src/opencode/node-path-adapter.ts +205 -0
  517. package/src/opencode/pipeline.ts +141 -0
  518. package/src/opencode/types.ts +43 -0
  519. package/src/orchestration/TraceOrchestrator.ts +560 -0
  520. package/src/orchestration/__tests__/TraceOrchestrator.test.ts +1098 -0
  521. package/src/parsers/OtlpTraceParser.ts +401 -0
  522. package/src/parsers/__tests__/OtlpTraceParser.test.ts +197 -0
  523. package/src/registry/CompositeRegistry.ts +140 -0
  524. package/src/registry/EventRegistry.test.ts +387 -0
  525. package/src/registry/EventRegistry.ts +191 -0
  526. package/src/registry/LocalRegistry.ts +416 -0
  527. package/src/registry/RemoteRegistry.ts +499 -0
  528. package/src/registry/VersionRegistry.test.ts +223 -0
  529. package/src/registry/VersionRegistry.ts +121 -0
  530. package/src/rules/config.test.ts +277 -0
  531. package/src/rules/config.ts +450 -0
  532. package/src/rules/engine.test.ts +331 -0
  533. package/src/rules/engine.ts +448 -0
  534. package/src/rules/implementations/connection-type-references.ts +117 -0
  535. package/src/rules/implementations/dead-end-states.ts +101 -0
  536. package/src/rules/implementations/index.ts +66 -0
  537. package/src/rules/implementations/minimum-node-sources.ts +84 -0
  538. package/src/rules/implementations/no-unknown-fields.ts +372 -0
  539. package/src/rules/implementations/orphaned-edge-types.ts +55 -0
  540. package/src/rules/implementations/orphaned-node-types.ts +58 -0
  541. package/src/rules/implementations/required-metadata.ts +52 -0
  542. package/src/rules/implementations/state-transition-references.ts +155 -0
  543. package/src/rules/implementations/unreachable-states.ts +94 -0
  544. package/src/rules/implementations/valid-action-patterns.ts +140 -0
  545. package/src/rules/implementations/valid-color-format.ts +152 -0
  546. package/src/rules/implementations/valid-edge-types.ts +273 -0
  547. package/src/rules/implementations/valid-node-types.ts +200 -0
  548. package/src/rules/index.ts +92 -0
  549. package/src/rules/types.ts +426 -0
  550. package/src/scopes/ScopePathIndex.test.ts +94 -0
  551. package/src/scopes/ScopePathIndex.ts +89 -0
  552. package/src/scopes/ScopesCanvasValidator.test.ts +127 -0
  553. package/src/scopes/ScopesCanvasValidator.ts +305 -0
  554. package/src/scopes/__tests__/utils.test.ts +383 -0
  555. package/src/scopes/index.ts +42 -0
  556. package/src/scopes/utils.ts +182 -0
  557. package/src/scopes/validateScopeNamespaceNesting.test.ts +127 -0
  558. package/src/scopes/validateScopeNamespaceNesting.ts +88 -0
  559. package/src/spans/index.ts +24 -0
  560. package/src/spans/utils.ts +249 -0
  561. package/src/storage/topic-types.ts +235 -0
  562. package/src/storage/topicStore.test.ts +193 -0
  563. package/src/storage/topicStore.ts +489 -0
  564. package/src/storyboard/builder.ts +308 -0
  565. package/src/storyboard/index.ts +26 -0
  566. package/src/storyboard/types.ts +117 -0
  567. package/src/telemetry/coverage.ts +480 -0
  568. package/src/telemetry/event-validator.ts +312 -0
  569. package/src/types/audit.ts +314 -0
  570. package/src/types/auxiliary.ts +63 -0
  571. package/src/types/canvas-scope.ts +190 -0
  572. package/src/types/canvas.test.ts +199 -0
  573. package/src/types/canvas.ts +1395 -0
  574. package/src/types/dashboard.ts +257 -0
  575. package/src/types/index.ts +460 -0
  576. package/src/types/library.ts +283 -0
  577. package/src/types/otel.test.ts +219 -0
  578. package/src/types/otel.ts +620 -0
  579. package/src/types/path-based-config.ts +285 -0
  580. package/src/types/registered-trace.ts +432 -0
  581. package/src/types/resource-match.ts +263 -0
  582. package/src/types/subsystem-model.ts +352 -0
  583. package/src/types/version-registry.ts +150 -0
  584. package/src/utils/CanvasConverter.ts +670 -0
  585. package/src/utils/GraphConverter.test.ts +322 -0
  586. package/src/utils/GraphConverter.ts +84 -0
  587. package/src/utils/PathMatcher.test.ts +139 -0
  588. package/src/utils/PathMatcher.ts +185 -0
  589. package/src/utils/TraceToCanvas.test.ts +310 -0
  590. package/src/utils/TraceToCanvas.ts +510 -0
  591. package/src/utils/YamlParser.ts +77 -0
  592. package/src/utils/registeredTraceHelpers.ts +251 -0
  593. package/src/utils/traceAggregation.test.ts +385 -0
  594. package/src/utils/traceAggregation.ts +173 -0
  595. package/src/validation/OtelCanvasValidator.ts +86 -0
  596. package/src/validation/index.ts +17 -0
  597. package/src/validation/libraryValidation.ts +206 -0
  598. package/src/workflow/README.md +408 -0
  599. package/src/workflow/__tests__/edge-derivation.test.ts +449 -0
  600. package/src/workflow/__tests__/edge-validation.test.ts +417 -0
  601. package/src/workflow/__tests__/scenario-matcher.test.ts +225 -0
  602. package/src/workflow/__tests__/template-parser.test.ts +276 -0
  603. package/src/workflow/__tests__/template-renderer.test.ts +509 -0
  604. package/src/workflow/__tests__/types.test.ts +187 -0
  605. package/src/workflow/__tests__/validator.test.ts +3225 -0
  606. package/src/workflow/edge-derivation.ts +265 -0
  607. package/src/workflow/edge-validation.ts +503 -0
  608. package/src/workflow/example.ts +330 -0
  609. package/src/workflow/index.ts +86 -0
  610. package/src/workflow/scenario-matcher.ts +253 -0
  611. package/src/workflow/template-parser.ts +350 -0
  612. package/src/workflow/template-renderer.ts +453 -0
  613. package/src/workflow/types.ts +511 -0
  614. package/src/workflow/validator.ts +2737 -0
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Edge Validation
3
+ *
4
+ * Validates derived edges from workflows against spans.canvas definitions.
5
+ * Ensures documented span relationships match observed workflow behavior.
6
+ *
7
+ * @see .principal-views/WORKFLOW-SPAN-INTEGRATION.md
8
+ */
9
+ import type { ExtendedCanvas } from '../types/canvas';
10
+ import type { DerivedEdge } from './edge-derivation';
11
+ /**
12
+ * Span node info extracted from spans.canvas
13
+ */
14
+ export interface SpanNodeInfo {
15
+ /** Node ID in the canvas */
16
+ nodeId: string;
17
+ /** Span pattern this node matches (e.g., "validate.*") */
18
+ spanPattern: string;
19
+ /** Human-readable name */
20
+ name?: string;
21
+ }
22
+ /**
23
+ * Canvas edge info extracted from spans.canvas
24
+ */
25
+ export interface CanvasEdgeInfo {
26
+ /** Source node ID */
27
+ fromNodeId: string;
28
+ /** Target node ID */
29
+ toNodeId: string;
30
+ /** Source span pattern */
31
+ fromSpanPattern?: string;
32
+ /** Target span pattern */
33
+ toSpanPattern?: string;
34
+ }
35
+ /**
36
+ * Edge validation result
37
+ */
38
+ export interface EdgeValidationResult {
39
+ /** Edges that are documented in spans.canvas and observed in workflows */
40
+ validEdges: ValidatedEdge[];
41
+ /** Edges observed in workflows but missing from spans.canvas */
42
+ missingEdges: MissingEdge[];
43
+ /** Edges documented in spans.canvas but not observed in any workflow */
44
+ unusedEdges: UnusedEdge[];
45
+ /** Spans referenced in workflows that don't match any spans.canvas node */
46
+ unmatchedSpans: UnmatchedSpan[];
47
+ /** Summary statistics */
48
+ summary: {
49
+ totalDerivedEdges: number;
50
+ totalCanvasEdges: number;
51
+ matchedEdges: number;
52
+ missingEdges: number;
53
+ unusedEdges: number;
54
+ unmatchedSpans: number;
55
+ };
56
+ }
57
+ /**
58
+ * An edge that passed validation
59
+ */
60
+ export interface ValidatedEdge {
61
+ /** Source span name (exact) */
62
+ fromSpan: string;
63
+ /** Target span name (exact) */
64
+ toSpan: string;
65
+ /** Canvas edge it matched */
66
+ canvasEdge: CanvasEdgeInfo;
67
+ /** Workflows where this edge was observed */
68
+ sources: Array<{
69
+ workflowFile?: string;
70
+ scenarioId: string;
71
+ }>;
72
+ }
73
+ /**
74
+ * An edge observed in workflows but missing from spans.canvas
75
+ */
76
+ export interface MissingEdge {
77
+ /** Source span name */
78
+ fromSpan: string;
79
+ /** Target span name */
80
+ toSpan: string;
81
+ /** Source span matched to this node (if any) */
82
+ fromNodeId?: string;
83
+ /** Target span matched to this node (if any) */
84
+ toNodeId?: string;
85
+ /** Workflows where this edge was observed */
86
+ sources: Array<{
87
+ workflowFile?: string;
88
+ scenarioId: string;
89
+ }>;
90
+ /** Reason this edge is missing */
91
+ reason: 'no-edge-in-canvas' | 'span-not-matched';
92
+ }
93
+ /**
94
+ * An edge documented in spans.canvas but not observed in workflows
95
+ */
96
+ export interface UnusedEdge {
97
+ /** Canvas edge */
98
+ canvasEdge: CanvasEdgeInfo;
99
+ /** Canvas file where this edge is defined */
100
+ canvasFile?: string;
101
+ }
102
+ /**
103
+ * A span referenced in workflows that doesn't match any spans.canvas node
104
+ */
105
+ export interface UnmatchedSpan {
106
+ /** Exact span name from workflow */
107
+ spanName: string;
108
+ /** Workflows that reference this span */
109
+ sources: Array<{
110
+ workflowFile?: string;
111
+ scenarioId: string;
112
+ }>;
113
+ }
114
+ /**
115
+ * Extract span nodes from a spans.canvas file
116
+ *
117
+ * @param canvas - Parsed spans.canvas content
118
+ * @returns Array of span node info
119
+ */
120
+ export declare function extractSpanNodes(canvas: ExtendedCanvas): SpanNodeInfo[];
121
+ /**
122
+ * Extract edges from a spans.canvas file
123
+ *
124
+ * @param canvas - Parsed spans.canvas content
125
+ * @param spanNodes - Map of nodeId to span info
126
+ * @returns Array of canvas edge info
127
+ */
128
+ export declare function extractCanvasEdges(canvas: ExtendedCanvas, spanNodes: SpanNodeInfo[]): CanvasEdgeInfo[];
129
+ /**
130
+ * Match an exact span name to a span pattern
131
+ *
132
+ * @param spanName - Exact span name (e.g., "validate.canvas")
133
+ * @param pattern - Span pattern (e.g., "validate.*")
134
+ * @returns true if the span matches the pattern
135
+ */
136
+ export declare function matchSpanToPattern(spanName: string, pattern: string): boolean;
137
+ /**
138
+ * Find the canvas node that matches a span name
139
+ *
140
+ * @param spanName - Exact span name
141
+ * @param spanNodes - Available span nodes
142
+ * @returns Matching node info or undefined
143
+ */
144
+ export declare function findMatchingNode(spanName: string, spanNodes: SpanNodeInfo[]): SpanNodeInfo | undefined;
145
+ /**
146
+ * Check if a derived edge has a corresponding canvas edge
147
+ *
148
+ * @param derivedEdge - Edge derived from workflow
149
+ * @param canvasEdges - Edges from spans.canvas
150
+ * @param spanNodes - Span nodes from spans.canvas
151
+ * @returns Matching canvas edge or undefined
152
+ */
153
+ export declare function findMatchingCanvasEdge(derivedEdge: DerivedEdge, canvasEdges: CanvasEdgeInfo[], spanNodes: SpanNodeInfo[]): CanvasEdgeInfo | undefined;
154
+ /**
155
+ * Validate derived edges against spans.canvas
156
+ *
157
+ * @param derivedEdges - Edges derived from workflows
158
+ * @param canvas - Parsed spans.canvas content
159
+ * @param canvasFile - Optional file path for tracking
160
+ * @returns Validation result
161
+ */
162
+ export declare function validateEdges(derivedEdges: DerivedEdge[], canvas: ExtendedCanvas, canvasFile?: string): EdgeValidationResult;
163
+ /**
164
+ * Format validation result as human-readable text
165
+ *
166
+ * @param result - Validation result
167
+ * @returns Formatted string
168
+ */
169
+ export declare function formatValidationResult(result: EdgeValidationResult): string;
170
+ //# sourceMappingURL=edge-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-validation.d.ts","sourceRoot":"","sources":["../../src/workflow/edge-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,332 @@
1
+ "use strict";
2
+ /**
3
+ * Edge Validation
4
+ *
5
+ * Validates derived edges from workflows against spans.canvas definitions.
6
+ * Ensures documented span relationships match observed workflow behavior.
7
+ *
8
+ * @see .principal-views/WORKFLOW-SPAN-INTEGRATION.md
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.formatValidationResult = exports.validateEdges = exports.findMatchingCanvasEdge = exports.findMatchingNode = exports.matchSpanToPattern = exports.extractCanvasEdges = exports.extractSpanNodes = void 0;
12
+ const canvas_1 = require("../types/canvas");
13
+ const minimatch_1 = require("minimatch");
14
+ /**
15
+ * Extract span nodes from a spans.canvas file
16
+ *
17
+ * @param canvas - Parsed spans.canvas content
18
+ * @returns Array of span node info
19
+ */
20
+ function extractSpanNodes(canvas) {
21
+ if (!canvas.nodes) {
22
+ return [];
23
+ }
24
+ const spanNodes = [];
25
+ for (const node of canvas.nodes) {
26
+ // Check OTEL span convention nodes (top-level otel.spanPattern)
27
+ if ((0, canvas_1.isOtelSpanConventionNode)(node) && node.otel?.spanPattern) {
28
+ spanNodes.push({
29
+ nodeId: node.id,
30
+ spanPattern: node.otel.spanPattern,
31
+ name: node.label,
32
+ });
33
+ }
34
+ // Check standard nodes (pv.otel.spanPattern)
35
+ else if ((0, canvas_1.isStandardCanvasNode)(node) && node.pv?.otel?.spanPattern) {
36
+ spanNodes.push({
37
+ nodeId: node.id,
38
+ spanPattern: node.pv.otel.spanPattern,
39
+ name: node.pv.name,
40
+ });
41
+ }
42
+ }
43
+ return spanNodes;
44
+ }
45
+ exports.extractSpanNodes = extractSpanNodes;
46
+ /**
47
+ * Extract edges from a spans.canvas file
48
+ *
49
+ * @param canvas - Parsed spans.canvas content
50
+ * @param spanNodes - Map of nodeId to span info
51
+ * @returns Array of canvas edge info
52
+ */
53
+ function extractCanvasEdges(canvas, spanNodes) {
54
+ if (!canvas.edges) {
55
+ return [];
56
+ }
57
+ const nodeMap = new Map(spanNodes.map((n) => [n.nodeId, n]));
58
+ const edges = [];
59
+ for (const edge of canvas.edges) {
60
+ const fromNode = nodeMap.get(edge.fromNode);
61
+ const toNode = nodeMap.get(edge.toNode);
62
+ edges.push({
63
+ fromNodeId: edge.fromNode,
64
+ toNodeId: edge.toNode,
65
+ fromSpanPattern: fromNode?.spanPattern,
66
+ toSpanPattern: toNode?.spanPattern,
67
+ });
68
+ }
69
+ return edges;
70
+ }
71
+ exports.extractCanvasEdges = extractCanvasEdges;
72
+ /**
73
+ * Match an exact span name to a span pattern
74
+ *
75
+ * @param spanName - Exact span name (e.g., "validate.canvas")
76
+ * @param pattern - Span pattern (e.g., "validate.*")
77
+ * @returns true if the span matches the pattern
78
+ */
79
+ function matchSpanToPattern(spanName, pattern) {
80
+ // Exact match
81
+ if (spanName === pattern) {
82
+ return true;
83
+ }
84
+ // Use minimatch for glob pattern matching
85
+ return (0, minimatch_1.minimatch)(spanName, pattern);
86
+ }
87
+ exports.matchSpanToPattern = matchSpanToPattern;
88
+ /**
89
+ * Find the canvas node that matches a span name
90
+ *
91
+ * @param spanName - Exact span name
92
+ * @param spanNodes - Available span nodes
93
+ * @returns Matching node info or undefined
94
+ */
95
+ function findMatchingNode(spanName, spanNodes) {
96
+ // First try exact match
97
+ for (const node of spanNodes) {
98
+ if (node.spanPattern === spanName) {
99
+ return node;
100
+ }
101
+ }
102
+ // Then try pattern match
103
+ for (const node of spanNodes) {
104
+ if (matchSpanToPattern(spanName, node.spanPattern)) {
105
+ return node;
106
+ }
107
+ }
108
+ return undefined;
109
+ }
110
+ exports.findMatchingNode = findMatchingNode;
111
+ /**
112
+ * Check if a derived edge has a corresponding canvas edge
113
+ *
114
+ * @param derivedEdge - Edge derived from workflow
115
+ * @param canvasEdges - Edges from spans.canvas
116
+ * @param spanNodes - Span nodes from spans.canvas
117
+ * @returns Matching canvas edge or undefined
118
+ */
119
+ function findMatchingCanvasEdge(derivedEdge, canvasEdges, spanNodes) {
120
+ const fromNode = findMatchingNode(derivedEdge.fromSpan, spanNodes);
121
+ const toNode = findMatchingNode(derivedEdge.toSpan, spanNodes);
122
+ if (!fromNode || !toNode) {
123
+ return undefined;
124
+ }
125
+ // Find canvas edge connecting these nodes
126
+ return canvasEdges.find((edge) => edge.fromNodeId === fromNode.nodeId && edge.toNodeId === toNode.nodeId);
127
+ }
128
+ exports.findMatchingCanvasEdge = findMatchingCanvasEdge;
129
+ /**
130
+ * Validate derived edges against spans.canvas
131
+ *
132
+ * @param derivedEdges - Edges derived from workflows
133
+ * @param canvas - Parsed spans.canvas content
134
+ * @param canvasFile - Optional file path for tracking
135
+ * @returns Validation result
136
+ */
137
+ function validateEdges(derivedEdges, canvas, canvasFile) {
138
+ const spanNodes = extractSpanNodes(canvas);
139
+ const canvasEdges = extractCanvasEdges(canvas, spanNodes);
140
+ const validEdges = [];
141
+ const missingEdges = [];
142
+ const unmatchedSpans = [];
143
+ const matchedCanvasEdges = new Set();
144
+ // Track all unique spans
145
+ const allSpans = new Set();
146
+ for (const edge of derivedEdges) {
147
+ allSpans.add(edge.fromSpan);
148
+ allSpans.add(edge.toSpan);
149
+ }
150
+ // Check each span for matching node
151
+ for (const spanName of allSpans) {
152
+ const matchingNode = findMatchingNode(spanName, spanNodes);
153
+ if (!matchingNode) {
154
+ // Find sources for this span
155
+ const sources = [];
156
+ for (const edge of derivedEdges) {
157
+ if (edge.fromSpan === spanName || edge.toSpan === spanName) {
158
+ sources.push({
159
+ workflowFile: edge.workflowFile,
160
+ scenarioId: edge.scenarioId,
161
+ });
162
+ }
163
+ }
164
+ unmatchedSpans.push({
165
+ spanName,
166
+ sources: deduplicateSources(sources),
167
+ });
168
+ }
169
+ }
170
+ // Validate each derived edge
171
+ for (const derivedEdge of derivedEdges) {
172
+ const fromNode = findMatchingNode(derivedEdge.fromSpan, spanNodes);
173
+ const toNode = findMatchingNode(derivedEdge.toSpan, spanNodes);
174
+ if (!fromNode || !toNode) {
175
+ // Skip if either span doesn't match - already reported as unmatched span
176
+ continue;
177
+ }
178
+ const matchingCanvasEdge = findMatchingCanvasEdge(derivedEdge, canvasEdges, spanNodes);
179
+ if (matchingCanvasEdge) {
180
+ // Valid edge - documented and observed
181
+ const edgeKey = `${matchingCanvasEdge.fromNodeId}->${matchingCanvasEdge.toNodeId}`;
182
+ matchedCanvasEdges.add(edgeKey);
183
+ // Check if we already have this edge in validEdges
184
+ const existingValid = validEdges.find((v) => v.fromSpan === derivedEdge.fromSpan && v.toSpan === derivedEdge.toSpan);
185
+ if (existingValid) {
186
+ existingValid.sources.push({
187
+ workflowFile: derivedEdge.workflowFile,
188
+ scenarioId: derivedEdge.scenarioId,
189
+ });
190
+ }
191
+ else {
192
+ validEdges.push({
193
+ fromSpan: derivedEdge.fromSpan,
194
+ toSpan: derivedEdge.toSpan,
195
+ canvasEdge: matchingCanvasEdge,
196
+ sources: [
197
+ {
198
+ workflowFile: derivedEdge.workflowFile,
199
+ scenarioId: derivedEdge.scenarioId,
200
+ },
201
+ ],
202
+ });
203
+ }
204
+ }
205
+ else {
206
+ // Missing edge - observed but not documented
207
+ const existingMissing = missingEdges.find((m) => m.fromSpan === derivedEdge.fromSpan && m.toSpan === derivedEdge.toSpan);
208
+ if (existingMissing) {
209
+ existingMissing.sources.push({
210
+ workflowFile: derivedEdge.workflowFile,
211
+ scenarioId: derivedEdge.scenarioId,
212
+ });
213
+ }
214
+ else {
215
+ missingEdges.push({
216
+ fromSpan: derivedEdge.fromSpan,
217
+ toSpan: derivedEdge.toSpan,
218
+ fromNodeId: fromNode.nodeId,
219
+ toNodeId: toNode.nodeId,
220
+ sources: [
221
+ {
222
+ workflowFile: derivedEdge.workflowFile,
223
+ scenarioId: derivedEdge.scenarioId,
224
+ },
225
+ ],
226
+ reason: 'no-edge-in-canvas',
227
+ });
228
+ }
229
+ }
230
+ }
231
+ // Find unused canvas edges
232
+ const unusedEdges = [];
233
+ for (const canvasEdge of canvasEdges) {
234
+ const edgeKey = `${canvasEdge.fromNodeId}->${canvasEdge.toNodeId}`;
235
+ if (!matchedCanvasEdges.has(edgeKey)) {
236
+ unusedEdges.push({
237
+ canvasEdge,
238
+ canvasFile,
239
+ });
240
+ }
241
+ }
242
+ return {
243
+ validEdges,
244
+ missingEdges,
245
+ unusedEdges,
246
+ unmatchedSpans,
247
+ summary: {
248
+ totalDerivedEdges: derivedEdges.length,
249
+ totalCanvasEdges: canvasEdges.length,
250
+ matchedEdges: validEdges.length,
251
+ missingEdges: missingEdges.length,
252
+ unusedEdges: unusedEdges.length,
253
+ unmatchedSpans: unmatchedSpans.length,
254
+ },
255
+ };
256
+ }
257
+ exports.validateEdges = validateEdges;
258
+ /**
259
+ * Deduplicate sources array
260
+ */
261
+ function deduplicateSources(sources) {
262
+ const seen = new Set();
263
+ return sources.filter((s) => {
264
+ const key = `${s.workflowFile || ''}:${s.scenarioId}`;
265
+ if (seen.has(key)) {
266
+ return false;
267
+ }
268
+ seen.add(key);
269
+ return true;
270
+ });
271
+ }
272
+ /**
273
+ * Format validation result as human-readable text
274
+ *
275
+ * @param result - Validation result
276
+ * @returns Formatted string
277
+ */
278
+ function formatValidationResult(result) {
279
+ const lines = [];
280
+ lines.push('Edge Validation Results');
281
+ lines.push('=======================');
282
+ lines.push('');
283
+ // Summary
284
+ lines.push(`Summary:`);
285
+ lines.push(` Derived edges from workflows: ${result.summary.totalDerivedEdges}`);
286
+ lines.push(` Edges in spans.canvas: ${result.summary.totalCanvasEdges}`);
287
+ lines.push(` Matched: ${result.summary.matchedEdges}`);
288
+ lines.push(` Missing from canvas: ${result.summary.missingEdges}`);
289
+ lines.push(` Unused in canvas: ${result.summary.unusedEdges}`);
290
+ lines.push(` Unmatched spans: ${result.summary.unmatchedSpans}`);
291
+ lines.push('');
292
+ // Valid edges
293
+ if (result.validEdges.length > 0) {
294
+ lines.push('Valid Edges (documented and observed):');
295
+ for (const edge of result.validEdges) {
296
+ lines.push(` ✓ ${edge.fromSpan} → ${edge.toSpan}`);
297
+ }
298
+ lines.push('');
299
+ }
300
+ // Missing edges
301
+ if (result.missingEdges.length > 0) {
302
+ lines.push('Missing Edges (observed but not documented):');
303
+ for (const edge of result.missingEdges) {
304
+ lines.push(` ✗ ${edge.fromSpan} → ${edge.toSpan}`);
305
+ if (edge.fromNodeId && edge.toNodeId) {
306
+ lines.push(` Suggested: Add edge from "${edge.fromNodeId}" to "${edge.toNodeId}"`);
307
+ }
308
+ }
309
+ lines.push('');
310
+ }
311
+ // Unused edges
312
+ if (result.unusedEdges.length > 0) {
313
+ lines.push('Unused Edges (documented but not observed):');
314
+ for (const edge of result.unusedEdges) {
315
+ const from = edge.canvasEdge.fromSpanPattern || edge.canvasEdge.fromNodeId;
316
+ const to = edge.canvasEdge.toSpanPattern || edge.canvasEdge.toNodeId;
317
+ lines.push(` ⚠ ${from} → ${to}`);
318
+ }
319
+ lines.push('');
320
+ }
321
+ // Unmatched spans
322
+ if (result.unmatchedSpans.length > 0) {
323
+ lines.push('Unmatched Spans (no matching node in spans.canvas):');
324
+ for (const span of result.unmatchedSpans) {
325
+ lines.push(` ✗ ${span.spanName}`);
326
+ }
327
+ lines.push('');
328
+ }
329
+ return lines.join('\n');
330
+ }
331
+ exports.formatValidationResult = formatValidationResult;
332
+ //# sourceMappingURL=edge-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-validation.js","sourceRoot":"","sources":["../../src/workflow/edge-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Example: Using the Workflow Template System
3
+ *
4
+ * This example demonstrates how to use the workflow renderer
5
+ * to transform OTEL events into human-readable workflows.
6
+ */
7
+ declare function exampleSuccess(): void;
8
+ declare function exampleWithViolations(): void;
9
+ declare function exampleSpanTree(): void;
10
+ export { exampleSuccess, exampleWithViolations, exampleSpanTree };
11
+ //# sourceMappingURL=example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../src/workflow/example.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,iBAAS,cAAc,SAqEtB;AAGD,iBAAS,qBAAqB,SA8I7B;AAGD,iBAAS,eAAe,SA2FvB;AAUD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC"}