@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,465 @@
1
+ /**
2
+ * OpenTelemetry Types for Log Association and Trace Matching
3
+ *
4
+ * This module provides:
5
+ * 1. Re-exports of official OTLP types from @opentelemetry/otlp-transformer
6
+ * 2. Helper functions for working with OTLP data structures
7
+ * 3. Application-level types (TraceInfo, WorkflowMatchInfo)
8
+ * 4. Simplified types for logs and basic telemetry (backward compatible)
9
+ *
10
+ * @see https://opentelemetry.io/docs/specs/otel/protocol/otlp/
11
+ * @see https://opentelemetry.io/docs/specs/otel/logs/data-model/
12
+ * @see https://opentelemetry.io/docs/specs/otel/resource/semantic_conventions/
13
+ */
14
+ /**
15
+ * OTLP attribute value
16
+ *
17
+ * Based on OTLP/JSON specification. Represents a single value which can be
18
+ * a primitive type or a complex structure (array, key-value list).
19
+ */
20
+ export interface OtelAnyValue {
21
+ stringValue?: string;
22
+ intValue?: number;
23
+ doubleValue?: number;
24
+ boolValue?: boolean;
25
+ arrayValue?: {
26
+ values: OtelAnyValue[];
27
+ };
28
+ kvlistValue?: {
29
+ values: OtelKeyValue[];
30
+ };
31
+ bytesValue?: Uint8Array;
32
+ }
33
+ /**
34
+ * OTLP key-value pair (attribute)
35
+ */
36
+ export interface OtelKeyValue {
37
+ key: string;
38
+ value: OtelAnyValue;
39
+ }
40
+ /**
41
+ * OTLP resource
42
+ *
43
+ * Describes the entity producing telemetry (service, pod, host, etc.)
44
+ */
45
+ export interface OtelResourceData {
46
+ attributes: OtelKeyValue[];
47
+ droppedAttributesCount?: number;
48
+ }
49
+ /**
50
+ * OTLP span event
51
+ */
52
+ export interface OtelSpanEvent {
53
+ timeUnixNano: string;
54
+ name: string;
55
+ attributes: OtelKeyValue[];
56
+ droppedAttributesCount?: number;
57
+ }
58
+ /**
59
+ * OTLP span link
60
+ */
61
+ export interface OtelLink {
62
+ traceId: string | Uint8Array;
63
+ spanId: string | Uint8Array;
64
+ traceState?: string;
65
+ attributes: OtelKeyValue[];
66
+ droppedAttributesCount?: number;
67
+ }
68
+ /**
69
+ * OTLP span status
70
+ */
71
+ export interface OtelSpanStatus {
72
+ code: number;
73
+ message?: string;
74
+ }
75
+ /**
76
+ * OTLP span
77
+ *
78
+ * Represents a unit of work in a distributed trace.
79
+ */
80
+ export interface OtelSpanData {
81
+ traceId: string;
82
+ spanId: string;
83
+ parentSpanId?: string;
84
+ name: string;
85
+ kind: number;
86
+ startTimeUnixNano: string;
87
+ endTimeUnixNano: string;
88
+ attributes: OtelKeyValue[];
89
+ droppedAttributesCount?: number;
90
+ events: OtelSpanEvent[];
91
+ droppedEventsCount?: number;
92
+ links?: OtelLink[];
93
+ droppedLinksCount?: number;
94
+ status: OtelSpanStatus;
95
+ }
96
+ /**
97
+ * OTLP instrumentation scope
98
+ */
99
+ export interface OtelInstrumentationScope {
100
+ name: string;
101
+ version?: string;
102
+ attributes?: OtelKeyValue[];
103
+ droppedAttributesCount?: number;
104
+ }
105
+ /**
106
+ * OTLP scope spans
107
+ */
108
+ export interface OtelScopeSpans {
109
+ scope?: OtelInstrumentationScope;
110
+ spans: OtelSpanData[];
111
+ schemaUrl?: string;
112
+ }
113
+ /**
114
+ * OTLP resource spans
115
+ */
116
+ export interface OtelResourceSpansData {
117
+ resource: OtelResourceData;
118
+ scopeSpans: OtelScopeSpans[];
119
+ schemaUrl?: string;
120
+ }
121
+ /**
122
+ * OTLP export trace service request
123
+ */
124
+ export interface OtelExportTraceServiceRequest {
125
+ resourceSpans: OtelResourceSpansData[];
126
+ }
127
+ /**
128
+ * Extract string value from OTEL attribute value
129
+ *
130
+ * @param value - OTEL attribute value
131
+ * @returns String value if present, undefined otherwise
132
+ */
133
+ export declare function getAttributeStringValue(value: OtelAnyValue): string | undefined;
134
+ /**
135
+ * Find attribute by key in attribute array
136
+ *
137
+ * @param attributes - Array of OTEL attributes
138
+ * @param key - Attribute key to find
139
+ * @returns Attribute if found, undefined otherwise
140
+ */
141
+ export declare function findAttribute(attributes: OtelKeyValue[] | undefined, key: string): OtelKeyValue | undefined;
142
+ /**
143
+ * Get attribute value by key
144
+ *
145
+ * Supports string, number, and boolean values. For complex types
146
+ * (arrays, maps), returns undefined.
147
+ *
148
+ * @param attributes - Array of OTEL attributes
149
+ * @param key - Attribute key to get
150
+ * @returns Attribute value if found and is a primitive type
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * const attrs: OtelKeyValue[] = [
155
+ * { key: 'http.method', value: { stringValue: 'GET' } },
156
+ * { key: 'http.status_code', value: { intValue: 200 } }
157
+ * ];
158
+ *
159
+ * getAttributeValue(attrs, 'http.method'); // 'GET'
160
+ * getAttributeValue(attrs, 'http.status_code'); // 200
161
+ * ```
162
+ */
163
+ export declare function getAttributeValue(attributes: OtelKeyValue[] | undefined, key: string): string | number | boolean | undefined;
164
+ /**
165
+ * Convert resource attributes to flat string map
166
+ *
167
+ * Only includes string-valued attributes. Useful for matching
168
+ * and filtering operations.
169
+ *
170
+ * @param resource - OTEL resource
171
+ * @returns Flat object with string key-value pairs
172
+ *
173
+ * @example
174
+ * ```typescript
175
+ * const resource: OtelResourceData = {
176
+ * attributes: [
177
+ * { key: 'service.name', value: { stringValue: 'checkout-api' } },
178
+ * { key: 'deployment.environment', value: { stringValue: 'production' } }
179
+ * ]
180
+ * };
181
+ *
182
+ * flattenResourceAttributes(resource);
183
+ * // { 'service.name': 'checkout-api', 'deployment.environment': 'production' }
184
+ * ```
185
+ */
186
+ export declare function flattenResourceAttributes(resource: OtelResourceData): Record<string, string>;
187
+ /**
188
+ * Parse OTEL nanosecond timestamp to milliseconds
189
+ *
190
+ * OTLP uses string representation for nanosecond timestamps in JSON format.
191
+ * This converts them to JavaScript milliseconds (standard Date format).
192
+ *
193
+ * @param nanos - Nanosecond timestamp as string
194
+ * @returns Milliseconds since Unix epoch
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * parseNanoTime('1737835200000000000'); // 1737835200000
199
+ * ```
200
+ */
201
+ export declare function parseNanoTime(nanos: string | number): number;
202
+ /**
203
+ * Calculate span duration in milliseconds
204
+ *
205
+ * @param span - OTEL span
206
+ * @returns Duration in milliseconds
207
+ */
208
+ export declare function getSpanDuration(span: OtelSpanData): number;
209
+ /**
210
+ * Workflow matching metadata extracted from trace resource attributes
211
+ *
212
+ * Traces can be correlated to storyboards, workflows, and scenarios
213
+ * via resource attributes like pv.storyboard.id, pv.workflow.id, etc.
214
+ */
215
+ export interface WorkflowMatchInfo {
216
+ /** Storyboard ID */
217
+ storyboardId: string;
218
+ /** Storyboard name */
219
+ storyboardName: string;
220
+ /** Workflow ID (optional) */
221
+ workflowId?: string;
222
+ /** Workflow name (optional) */
223
+ workflowName?: string;
224
+ /** Scenario ID (optional) */
225
+ scenarioId?: string;
226
+ /** Scenario name (optional) */
227
+ scenarioName?: string;
228
+ /** Canvas node IDs that matched this trace */
229
+ matchedNodeIds?: string[];
230
+ }
231
+ /**
232
+ * Aggregated trace information
233
+ *
234
+ * Represents a complete trace with metadata extracted from all its spans.
235
+ * This is a higher-level view than individual spans, useful for trace lists,
236
+ * filtering, and visualization.
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * const trace: TraceInfo = {
241
+ * traceId: 'abc123',
242
+ * name: 'POST /api/checkout',
243
+ * startTime: 1737835200000,
244
+ * duration: 150,
245
+ * spanCount: 5,
246
+ * serviceNames: ['checkout-api', 'payment-service'],
247
+ * hasErrors: false,
248
+ * rootSpanId: 'span1'
249
+ * };
250
+ * ```
251
+ */
252
+ export interface TraceInfo {
253
+ /** Trace ID */
254
+ traceId: string;
255
+ /** Trace name (usually root span name) */
256
+ name: string;
257
+ /** Start timestamp in milliseconds */
258
+ startTime: number;
259
+ /** Duration in milliseconds */
260
+ duration: number;
261
+ /** Number of spans in trace */
262
+ spanCount: number;
263
+ /** Unique service names across all spans */
264
+ serviceNames: string[];
265
+ /** True if any span has error status */
266
+ hasErrors: boolean;
267
+ /** Root span ID (if identifiable) */
268
+ rootSpanId?: string;
269
+ /** Workflow matching metadata (if matched) */
270
+ matchedWorkflow?: WorkflowMatchInfo;
271
+ }
272
+ /**
273
+ * @deprecated Use IAnyValue and helper functions instead
274
+ */
275
+ /**
276
+ * OpenTelemetry attribute value type per OTEL spec
277
+ * @see https://opentelemetry.io/docs/specs/otel/common/attribute-naming/
278
+ */
279
+ export type OtelAttributeValue = string | number | boolean | string[] | number[] | boolean[];
280
+ /**
281
+ * OpenTelemetry attributes (key-value pairs)
282
+ */
283
+ export type OtelAttributes = Record<string, OtelAttributeValue>;
284
+ /**
285
+ * OTEL Resource - describes the entity producing telemetry
286
+ *
287
+ * Resources are immutable metadata about the source of telemetry.
288
+ * Common attributes follow semantic conventions.
289
+ *
290
+ * @example
291
+ * ```typescript
292
+ * const resource: OtelResource = {
293
+ * 'service.name': 'checkout-api',
294
+ * 'service.namespace': 'checkout',
295
+ * 'deployment.environment': 'production',
296
+ * 'k8s.pod.name': 'checkout-api-7d8f9c6b5d-x2j4k'
297
+ * };
298
+ * ```
299
+ */
300
+ export interface OtelResource {
301
+ 'service.name'?: string;
302
+ 'service.namespace'?: string;
303
+ 'service.instance.id'?: string;
304
+ 'service.version'?: string;
305
+ 'k8s.pod.name'?: string;
306
+ 'k8s.pod.uid'?: string;
307
+ 'k8s.deployment.name'?: string;
308
+ 'k8s.namespace.name'?: string;
309
+ 'k8s.node.name'?: string;
310
+ 'k8s.container.name'?: string;
311
+ 'k8s.replicaset.name'?: string;
312
+ 'cloud.provider'?: string;
313
+ 'cloud.region'?: string;
314
+ 'cloud.availability_zone'?: string;
315
+ 'cloud.account.id'?: string;
316
+ 'deployment.environment'?: string;
317
+ 'host.name'?: string;
318
+ 'host.id'?: string;
319
+ 'host.type'?: string;
320
+ 'process.pid'?: number;
321
+ 'process.executable.name'?: string;
322
+ 'process.runtime.name'?: string;
323
+ 'process.runtime.version'?: string;
324
+ 'db.system'?: string;
325
+ 'db.name'?: string;
326
+ 'db.user'?: string;
327
+ 'messaging.system'?: string;
328
+ 'messaging.destination.name'?: string;
329
+ [key: string]: string | number | boolean | undefined;
330
+ }
331
+ /**
332
+ * OTEL Severity levels
333
+ *
334
+ * Can be either text names or numeric values (1-24).
335
+ * @see https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-severitynumber
336
+ */
337
+ export type OtelSeverityText = 'TRACE' | 'DEBUG' | 'INFO' | 'WARN' | 'ERROR' | 'FATAL';
338
+ export type OtelSeverityNumber = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24;
339
+ export type OtelSeverity = OtelSeverityText | OtelSeverityNumber;
340
+ /**
341
+ * OTEL Log Record
342
+ *
343
+ * Represents a single log entry with resource context and optional trace correlation.
344
+ *
345
+ * @example
346
+ * ```typescript
347
+ * const log: OtelLog = {
348
+ * timestamp: Date.now(),
349
+ * severity: 'INFO',
350
+ * body: 'Payment processed successfully',
351
+ * resource: {
352
+ * 'service.name': 'payment-service',
353
+ * 'deployment.environment': 'production'
354
+ * },
355
+ * attributes: {
356
+ * 'payment.id': 'pay_123',
357
+ * 'payment.amount': 99.99
358
+ * },
359
+ * traceId: 'abc123',
360
+ * spanId: 'def456'
361
+ * };
362
+ * ```
363
+ */
364
+ export interface OtelLog {
365
+ /** Timestamp in milliseconds, nanoseconds, or ISO string */
366
+ timestamp: number | string;
367
+ /** Observed timestamp (when collector received it) */
368
+ observedTimestamp?: number | string;
369
+ /** Severity number (1-24) */
370
+ severity?: OtelSeverity;
371
+ /** Severity text (DEBUG, INFO, etc.) */
372
+ severityText?: string;
373
+ /** Log body - the actual message or structured content */
374
+ body: string | Record<string, unknown>;
375
+ /** Resource describing the source entity */
376
+ resource: OtelResource;
377
+ /** Log attributes (structured data specific to this log) */
378
+ attributes?: OtelAttributes;
379
+ /** Trace ID for correlation */
380
+ traceId?: string;
381
+ /** Span ID for correlation */
382
+ spanId?: string;
383
+ /** Trace flags */
384
+ traceFlags?: number;
385
+ /**
386
+ * Source location (for path-based matching)
387
+ * This extends OTEL with source file information for code coverage analysis.
388
+ */
389
+ source?: {
390
+ file?: string;
391
+ line?: number;
392
+ function?: string;
393
+ };
394
+ }
395
+ /**
396
+ * OTEL Span Kind
397
+ */
398
+ export type OtelSpanKind = 'INTERNAL' | 'SERVER' | 'CLIENT' | 'PRODUCER' | 'CONSUMER';
399
+ /**
400
+ * OTEL Span Status (simplified, for backward compatibility)
401
+ *
402
+ * @deprecated Use OtelSpanStatus from OTLP data structures instead
403
+ */
404
+ export interface OtelSimplifiedSpanStatus {
405
+ code: 'UNSET' | 'OK' | 'ERROR';
406
+ message?: string;
407
+ }
408
+ /**
409
+ * OTEL Span
410
+ *
411
+ * Represents a unit of work in a distributed trace.
412
+ * Used for trace-based edge derivation between canvas nodes.
413
+ *
414
+ * @example
415
+ * ```typescript
416
+ * const span: OtelSpan = {
417
+ * traceId: 'abc123',
418
+ * spanId: 'span1',
419
+ * parentSpanId: 'span0',
420
+ * name: 'POST /api/checkout',
421
+ * kind: 'SERVER',
422
+ * startTime: Date.now(),
423
+ * resource: {
424
+ * 'service.name': 'checkout-api'
425
+ * }
426
+ * };
427
+ * ```
428
+ */
429
+ export interface OtelSpan {
430
+ /** Trace ID this span belongs to */
431
+ traceId: string;
432
+ /** Unique span ID */
433
+ spanId: string;
434
+ /** Parent span ID (undefined for root spans) */
435
+ parentSpanId?: string;
436
+ /** Span name (usually operation name) */
437
+ name: string;
438
+ /** Span kind */
439
+ kind: OtelSpanKind;
440
+ /** Start time in milliseconds, nanoseconds, or ISO string */
441
+ startTime: number | string;
442
+ /** End time (undefined if span is still active) */
443
+ endTime?: number | string;
444
+ /** Resource describing the source entity */
445
+ resource: OtelResource;
446
+ /** Span attributes */
447
+ attributes?: OtelAttributes;
448
+ /** Span status */
449
+ status?: OtelSimplifiedSpanStatus;
450
+ /** Events (logs within the span) */
451
+ events?: Array<{
452
+ name: string;
453
+ timestamp: number | string;
454
+ attributes?: OtelAttributes;
455
+ }>;
456
+ }
457
+ /**
458
+ * Type guard: Check if severity indicates an error
459
+ */
460
+ export declare function isErrorSeverity(severity: OtelSeverity | undefined): boolean;
461
+ /**
462
+ * Type guard: Check if severity indicates a warning
463
+ */
464
+ export declare function isWarnSeverity(severity: OtelSeverity | undefined): boolean;
465
+ //# sourceMappingURL=otel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../src/types/otel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ /**
3
+ * OpenTelemetry Types for Log Association and Trace Matching
4
+ *
5
+ * This module provides:
6
+ * 1. Re-exports of official OTLP types from @opentelemetry/otlp-transformer
7
+ * 2. Helper functions for working with OTLP data structures
8
+ * 3. Application-level types (TraceInfo, WorkflowMatchInfo)
9
+ * 4. Simplified types for logs and basic telemetry (backward compatible)
10
+ *
11
+ * @see https://opentelemetry.io/docs/specs/otel/protocol/otlp/
12
+ * @see https://opentelemetry.io/docs/specs/otel/logs/data-model/
13
+ * @see https://opentelemetry.io/docs/specs/otel/resource/semantic_conventions/
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.isWarnSeverity = exports.isErrorSeverity = exports.getSpanDuration = exports.parseNanoTime = exports.flattenResourceAttributes = exports.getAttributeValue = exports.findAttribute = exports.getAttributeStringValue = void 0;
17
+ // =============================================================================
18
+ // Helper Functions for OTLP Data
19
+ // =============================================================================
20
+ /**
21
+ * Extract string value from OTEL attribute value
22
+ *
23
+ * @param value - OTEL attribute value
24
+ * @returns String value if present, undefined otherwise
25
+ */
26
+ function getAttributeStringValue(value) {
27
+ return value.stringValue ?? undefined;
28
+ }
29
+ exports.getAttributeStringValue = getAttributeStringValue;
30
+ /**
31
+ * Find attribute by key in attribute array
32
+ *
33
+ * @param attributes - Array of OTEL attributes
34
+ * @param key - Attribute key to find
35
+ * @returns Attribute if found, undefined otherwise
36
+ */
37
+ function findAttribute(attributes, key) {
38
+ return attributes?.find((attr) => attr.key === key);
39
+ }
40
+ exports.findAttribute = findAttribute;
41
+ /**
42
+ * Get attribute value by key
43
+ *
44
+ * Supports string, number, and boolean values. For complex types
45
+ * (arrays, maps), returns undefined.
46
+ *
47
+ * @param attributes - Array of OTEL attributes
48
+ * @param key - Attribute key to get
49
+ * @returns Attribute value if found and is a primitive type
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const attrs: OtelKeyValue[] = [
54
+ * { key: 'http.method', value: { stringValue: 'GET' } },
55
+ * { key: 'http.status_code', value: { intValue: 200 } }
56
+ * ];
57
+ *
58
+ * getAttributeValue(attrs, 'http.method'); // 'GET'
59
+ * getAttributeValue(attrs, 'http.status_code'); // 200
60
+ * ```
61
+ */
62
+ function getAttributeValue(attributes, key) {
63
+ const attr = findAttribute(attributes, key);
64
+ if (!attr)
65
+ return undefined;
66
+ return (attr.value.stringValue ??
67
+ attr.value.intValue ??
68
+ attr.value.doubleValue ??
69
+ attr.value.boolValue ??
70
+ undefined);
71
+ }
72
+ exports.getAttributeValue = getAttributeValue;
73
+ /**
74
+ * Convert resource attributes to flat string map
75
+ *
76
+ * Only includes string-valued attributes. Useful for matching
77
+ * and filtering operations.
78
+ *
79
+ * @param resource - OTEL resource
80
+ * @returns Flat object with string key-value pairs
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const resource: OtelResourceData = {
85
+ * attributes: [
86
+ * { key: 'service.name', value: { stringValue: 'checkout-api' } },
87
+ * { key: 'deployment.environment', value: { stringValue: 'production' } }
88
+ * ]
89
+ * };
90
+ *
91
+ * flattenResourceAttributes(resource);
92
+ * // { 'service.name': 'checkout-api', 'deployment.environment': 'production' }
93
+ * ```
94
+ */
95
+ function flattenResourceAttributes(resource) {
96
+ const result = {};
97
+ if (!resource.attributes)
98
+ return result;
99
+ for (const attr of resource.attributes) {
100
+ const value = getAttributeStringValue(attr.value);
101
+ if (value !== undefined) {
102
+ result[attr.key] = value;
103
+ }
104
+ }
105
+ return result;
106
+ }
107
+ exports.flattenResourceAttributes = flattenResourceAttributes;
108
+ /**
109
+ * Parse OTEL nanosecond timestamp to milliseconds
110
+ *
111
+ * OTLP uses string representation for nanosecond timestamps in JSON format.
112
+ * This converts them to JavaScript milliseconds (standard Date format).
113
+ *
114
+ * @param nanos - Nanosecond timestamp as string
115
+ * @returns Milliseconds since Unix epoch
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * parseNanoTime('1737835200000000000'); // 1737835200000
120
+ * ```
121
+ */
122
+ function parseNanoTime(nanos) {
123
+ const nanosNum = typeof nanos === 'string' ? parseInt(nanos, 10) : nanos;
124
+ return nanosNum / 1000000;
125
+ }
126
+ exports.parseNanoTime = parseNanoTime;
127
+ /**
128
+ * Calculate span duration in milliseconds
129
+ *
130
+ * @param span - OTEL span
131
+ * @returns Duration in milliseconds
132
+ */
133
+ function getSpanDuration(span) {
134
+ const start = parseInt(span.startTimeUnixNano, 10);
135
+ const end = parseInt(span.endTimeUnixNano, 10);
136
+ return (end - start) / 1000000;
137
+ }
138
+ exports.getSpanDuration = getSpanDuration;
139
+ /**
140
+ * Type guard: Check if severity indicates an error
141
+ */
142
+ function isErrorSeverity(severity) {
143
+ if (severity === undefined)
144
+ return false;
145
+ if (typeof severity === 'string') {
146
+ return severity === 'ERROR' || severity === 'FATAL';
147
+ }
148
+ return severity >= 17; // ERROR starts at 17 in OTEL spec
149
+ }
150
+ exports.isErrorSeverity = isErrorSeverity;
151
+ /**
152
+ * Type guard: Check if severity indicates a warning
153
+ */
154
+ function isWarnSeverity(severity) {
155
+ if (severity === undefined)
156
+ return false;
157
+ if (typeof severity === 'string') {
158
+ return severity === 'WARN';
159
+ }
160
+ return severity >= 13 && severity <= 16; // WARN is 13-16 in OTEL spec
161
+ }
162
+ exports.isWarnSeverity = isWarnSeverity;
163
+ //# sourceMappingURL=otel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../src/types/otel.ts"],"names":[],"mappings":"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"}