@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,207 @@
1
+ /**
2
+ * Resource Matching Types
3
+ *
4
+ * Defines how logs are matched to canvas nodes based on OTEL resource attributes.
5
+ * Supports multiple matching strategies: exact, glob, regex, existence, and oneOf.
6
+ *
7
+ * @example
8
+ * ```yaml
9
+ * # In canvas configuration
10
+ * nodes:
11
+ * - id: "payment-service"
12
+ * resourceMatch:
13
+ * service.name: "payment-*" # Glob pattern
14
+ * deployment.environment: "production" # Exact match
15
+ * db.system: { exists: true } # Must have db.system attribute
16
+ * ```
17
+ */
18
+ /**
19
+ * Exact match operator
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const match: ExactMatch = { exact: 'checkout-api' };
24
+ * ```
25
+ */
26
+ export interface ExactMatch {
27
+ exact: string;
28
+ }
29
+ /**
30
+ * Glob pattern match operator
31
+ * Supports * (any characters) and ? (single character)
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * const match: GlobMatch = { glob: 'payment-*' }; // matches payment-service, payment-worker
36
+ * const match2: GlobMatch = { glob: 'api-?' }; // matches api-1, api-2
37
+ * ```
38
+ */
39
+ export interface GlobMatch {
40
+ glob: string;
41
+ }
42
+ /**
43
+ * Regex pattern match operator
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const match: RegexMatch = { regex: '^checkout-.+$' };
48
+ * ```
49
+ */
50
+ export interface RegexMatch {
51
+ regex: string;
52
+ }
53
+ /**
54
+ * Existence check operator
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * const mustExist: ExistsMatch = { exists: true }; // attribute must be present
59
+ * const mustNotExist: ExistsMatch = { exists: false }; // attribute must be absent
60
+ * ```
61
+ */
62
+ export interface ExistsMatch {
63
+ exists: boolean;
64
+ }
65
+ /**
66
+ * OneOf match operator - matches any of the specified values
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * const match: OneOfMatch = { oneOf: ['production', 'staging'] };
71
+ * ```
72
+ */
73
+ export interface OneOfMatch {
74
+ oneOf: string[];
75
+ }
76
+ /**
77
+ * Match operator union type
78
+ *
79
+ * Can be one of the structured operators or a plain string (shorthand for exact match).
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * // These are equivalent:
84
+ * const op1: MatchOperator = 'checkout-api';
85
+ * const op2: MatchOperator = { exact: 'checkout-api' };
86
+ *
87
+ * // Other operators:
88
+ * const glob: MatchOperator = { glob: 'payment-*' };
89
+ * const regex: MatchOperator = { regex: '^api-.+$' };
90
+ * const exists: MatchOperator = { exists: true };
91
+ * const oneOf: MatchOperator = { oneOf: ['prod', 'staging'] };
92
+ * ```
93
+ */
94
+ export type MatchOperator = ExactMatch | GlobMatch | RegexMatch | ExistsMatch | OneOfMatch | string;
95
+ /**
96
+ * Resource match criteria
97
+ *
98
+ * All specified conditions must match (AND logic).
99
+ * Use for defining which logs should route to a specific node.
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * const match: ResourceMatch = {
104
+ * 'service.name': 'checkout-api', // Exact match (shorthand)
105
+ * 'deployment.environment': 'production', // Exact match (shorthand)
106
+ * 'k8s.namespace.name': { glob: 'checkout-*' } // Glob pattern
107
+ * };
108
+ * ```
109
+ */
110
+ export interface ResourceMatch {
111
+ 'service.name'?: MatchOperator;
112
+ 'service.namespace'?: MatchOperator;
113
+ 'service.instance.id'?: MatchOperator;
114
+ 'service.version'?: MatchOperator;
115
+ 'deployment.environment'?: MatchOperator;
116
+ 'k8s.namespace.name'?: MatchOperator;
117
+ 'k8s.deployment.name'?: MatchOperator;
118
+ 'k8s.pod.name'?: MatchOperator;
119
+ 'k8s.container.name'?: MatchOperator;
120
+ 'k8s.node.name'?: MatchOperator;
121
+ 'db.system'?: MatchOperator;
122
+ 'db.name'?: MatchOperator;
123
+ 'host.name'?: MatchOperator;
124
+ 'host.id'?: MatchOperator;
125
+ 'cloud.provider'?: MatchOperator;
126
+ 'cloud.region'?: MatchOperator;
127
+ 'messaging.system'?: MatchOperator;
128
+ 'messaging.destination.name'?: MatchOperator;
129
+ [key: string]: MatchOperator | undefined;
130
+ }
131
+ /**
132
+ * Result of a match attempt
133
+ *
134
+ * Includes the match outcome, specificity score for priority resolution,
135
+ * and details about which criteria matched or failed.
136
+ */
137
+ export interface MatchResult {
138
+ /** Whether all criteria matched */
139
+ matched: boolean;
140
+ /**
141
+ * Match specificity score (higher = more specific match)
142
+ *
143
+ * Scoring rules:
144
+ * - Each exact match: +10 points
145
+ * - Each oneOf match: +8 points
146
+ * - Each regex match: +5 points
147
+ * - Each glob match: +3 points
148
+ * - Each exists match: +1 point
149
+ *
150
+ * Used to resolve conflicts when multiple nodes match the same log.
151
+ */
152
+ score: number;
153
+ /** List of criteria keys that matched */
154
+ matchedCriteria: string[];
155
+ /** List of criteria keys that failed (for debugging) */
156
+ failedCriteria?: string[];
157
+ }
158
+ /**
159
+ * Interface for nodes that support resource-based matching
160
+ *
161
+ * Nodes can have both resourceMatch (OTEL attributes) and sources (file paths).
162
+ * When routing logs, resourceMatch takes priority over sources.
163
+ */
164
+ export interface ResourceMatchableNode {
165
+ /** Node identifier */
166
+ id: string;
167
+ /**
168
+ * Resource-based matching criteria (OTEL attributes)
169
+ * Takes priority over sources when both are specified.
170
+ */
171
+ resourceMatch?: ResourceMatch;
172
+ /**
173
+ * Path-based matching (source file globs)
174
+ * Used as fallback when resourceMatch is not specified or doesn't match.
175
+ * Also used for code coverage analysis.
176
+ */
177
+ sources?: string[];
178
+ }
179
+ /**
180
+ * Check if operator is an exact match
181
+ */
182
+ export declare function isExactMatch(op: MatchOperator): op is ExactMatch;
183
+ /**
184
+ * Check if operator is a glob match
185
+ */
186
+ export declare function isGlobMatch(op: MatchOperator): op is GlobMatch;
187
+ /**
188
+ * Check if operator is a regex match
189
+ */
190
+ export declare function isRegexMatch(op: MatchOperator): op is RegexMatch;
191
+ /**
192
+ * Check if operator is an exists match
193
+ */
194
+ export declare function isExistsMatch(op: MatchOperator): op is ExistsMatch;
195
+ /**
196
+ * Check if operator is a oneOf match
197
+ */
198
+ export declare function isOneOfMatch(op: MatchOperator): op is OneOfMatch;
199
+ /**
200
+ * Check if operator is a string shorthand (exact match)
201
+ */
202
+ export declare function isStringShorthand(op: MatchOperator): op is string;
203
+ /**
204
+ * Normalize a match operator to its canonical form
205
+ */
206
+ export declare function normalizeOperator(op: MatchOperator): ExactMatch | GlobMatch | RegexMatch | ExistsMatch | OneOfMatch;
207
+ //# sourceMappingURL=resource-match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-match.d.ts","sourceRoot":"","sources":["../../src/types/resource-match.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * Resource Matching Types
4
+ *
5
+ * Defines how logs are matched to canvas nodes based on OTEL resource attributes.
6
+ * Supports multiple matching strategies: exact, glob, regex, existence, and oneOf.
7
+ *
8
+ * @example
9
+ * ```yaml
10
+ * # In canvas configuration
11
+ * nodes:
12
+ * - id: "payment-service"
13
+ * resourceMatch:
14
+ * service.name: "payment-*" # Glob pattern
15
+ * deployment.environment: "production" # Exact match
16
+ * db.system: { exists: true } # Must have db.system attribute
17
+ * ```
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.normalizeOperator = exports.isStringShorthand = exports.isOneOfMatch = exports.isExistsMatch = exports.isRegexMatch = exports.isGlobMatch = exports.isExactMatch = void 0;
21
+ // Type guards for match operators
22
+ /**
23
+ * Check if operator is an exact match
24
+ */
25
+ function isExactMatch(op) {
26
+ return typeof op === 'object' && 'exact' in op;
27
+ }
28
+ exports.isExactMatch = isExactMatch;
29
+ /**
30
+ * Check if operator is a glob match
31
+ */
32
+ function isGlobMatch(op) {
33
+ return typeof op === 'object' && 'glob' in op;
34
+ }
35
+ exports.isGlobMatch = isGlobMatch;
36
+ /**
37
+ * Check if operator is a regex match
38
+ */
39
+ function isRegexMatch(op) {
40
+ return typeof op === 'object' && 'regex' in op;
41
+ }
42
+ exports.isRegexMatch = isRegexMatch;
43
+ /**
44
+ * Check if operator is an exists match
45
+ */
46
+ function isExistsMatch(op) {
47
+ return typeof op === 'object' && 'exists' in op;
48
+ }
49
+ exports.isExistsMatch = isExistsMatch;
50
+ /**
51
+ * Check if operator is a oneOf match
52
+ */
53
+ function isOneOfMatch(op) {
54
+ return typeof op === 'object' && 'oneOf' in op;
55
+ }
56
+ exports.isOneOfMatch = isOneOfMatch;
57
+ /**
58
+ * Check if operator is a string shorthand (exact match)
59
+ */
60
+ function isStringShorthand(op) {
61
+ return typeof op === 'string';
62
+ }
63
+ exports.isStringShorthand = isStringShorthand;
64
+ /**
65
+ * Normalize a match operator to its canonical form
66
+ */
67
+ function normalizeOperator(op) {
68
+ if (typeof op === 'string') {
69
+ return { exact: op };
70
+ }
71
+ return op;
72
+ }
73
+ exports.normalizeOperator = normalizeOperator;
74
+ //# sourceMappingURL=resource-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-match.js","sourceRoot":"","sources":["../../src/types/resource-match.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAgMH,kCAAkC;AAElC;;GAEG;AACH,SAAgB,YAAY,CAAC,EAAiB;IAC5C,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,EAAE,CAAC;AACjD,CAAC;AAFD,oCAEC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,EAAiB;IAC3C,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,IAAI,EAAE,CAAC;AAChD,CAAC;AAFD,kCAEC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,EAAiB;IAC5C,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,EAAE,CAAC;AACjD,CAAC;AAFD,oCAEC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAiB;IAC7C,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,QAAQ,IAAI,EAAE,CAAC;AAClD,CAAC;AAFD,sCAEC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,EAAiB;IAC5C,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,EAAE,CAAC;AACjD,CAAC;AAFD,oCAEC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,EAAiB;IACjD,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC;AAChC,CAAC;AAFD,8CAEC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,EAAiB;IAEjB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;KACtB;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAPD,8CAOC"}
@@ -0,0 +1,265 @@
1
+ /**
2
+ * Subsystem Model Types
3
+ *
4
+ * Two layers — do not conflate them:
5
+ *
6
+ * 1. **Portable document** (`SubsystemModelDocument`) — the shareable standard.
7
+ * Schema: `schemas/subsystem-model.schema.json`
8
+ * (`https://principal-ai.dev/schemas/subsystem-model.schema.json`).
9
+ *
10
+ * 2. **Hydrated envelope** (`SubsystemModelHydrated`) — portable document plus
11
+ * host/machine binding (local roots, provenance, store ids, verification).
12
+ * Used by viewers and stores; not part of the portable standard.
13
+ *
14
+ * Ontology: construct = what a node is, framework + stereotype = which
15
+ * framework pattern it plays, role = where it sits, process = where it runs.
16
+ * `symbol` is the code identity; `name` is the display label.
17
+ */
18
+ /** What the node IS as a declaration. `module` is not an authored construct —
19
+ * a module is its own subsystem. */
20
+ export type SubsystemConstruct = 'class' | 'function' | 'method' | 'interface' | 'type_alias' | 'enum' | 'store' | 'external';
21
+ /** Where the node sits in the topology, orthogonal to construct. */
22
+ export type SubsystemComponentRole = 'entry' | 'service';
23
+ /**
24
+ * Framework that owns a stereotype vocabulary (open string).
25
+ * Examples: `react`, `vue`, `nestjs`, `django`, `spring`.
26
+ * Empty when the node is language-only / framework-agnostic.
27
+ */
28
+ export type SubsystemFramework = string;
29
+ /**
30
+ * Framework-level pattern stamped on a language construct (open string).
31
+ * Examples: `component`, `hook`, `middleware`, `controller`, `guard`.
32
+ * Empty when no framework pattern applies. Pair with `framework` when set.
33
+ */
34
+ export type SubsystemStereotype = string;
35
+ /** How `from` relates to `to` on an edge. */
36
+ export type SubsystemEdgeMechanism = 'imports' | 'imports_from' | 're_exports' | 'defines' | 'calls' | 'extends' | 'inherits' | 'implements' | 'mixes_in' | 'uses' | 'method' | 'references' | 'contains' | 'feeds' | 'produces' | 'writes' | 'reads' | 'watches' | 'registers-into';
37
+ export type SubsystemCapture = 'edited' | 'analyzed' | 'referenced';
38
+ export type SubsystemDeclarationProvenance = 'verified' | 'authored';
39
+ export type SubsystemDeclTokenKind = 'keyword' | 'name' | 'member' | 'type' | 'punctuation' | 'string' | 'newline';
40
+ export interface SubsystemDeclToken {
41
+ text: string;
42
+ kind: SubsystemDeclTokenKind;
43
+ /** Optional foreground when pre-tokenized for a theme. */
44
+ color?: string;
45
+ }
46
+ /** Anchored declaration location (usually from verify tooling). */
47
+ export interface SubsystemDeclarationRef {
48
+ file: string;
49
+ startLine: number;
50
+ lineHash: string;
51
+ graphifyNodeId?: string;
52
+ capturedAt: string;
53
+ revision?: {
54
+ headSha: string;
55
+ dirtyHash?: string | null;
56
+ };
57
+ }
58
+ export interface SubsystemParamInfo {
59
+ name?: string;
60
+ type: string;
61
+ ref?: SubsystemReferenceInfo;
62
+ }
63
+ export interface SubsystemPropertyInfo {
64
+ name: string;
65
+ type?: string;
66
+ typeRef?: SubsystemReferenceInfo;
67
+ nodeId?: string;
68
+ }
69
+ export interface SubsystemMethodInfo {
70
+ nodeId: string;
71
+ name: string;
72
+ parameters?: SubsystemParamInfo[];
73
+ returnType?: string;
74
+ returnTypeRef?: SubsystemReferenceInfo;
75
+ }
76
+ export interface SubsystemCallInfo {
77
+ nodeId: string;
78
+ name: string;
79
+ source_location?: string;
80
+ }
81
+ export interface SubsystemReferenceInfo {
82
+ nodeId: string;
83
+ name: string;
84
+ context?: string;
85
+ source_location?: string;
86
+ }
87
+ export interface SubsystemImportInfo {
88
+ nodeId: string;
89
+ name: string;
90
+ relation?: string;
91
+ source_location?: string;
92
+ }
93
+ export interface SubsystemClassDeclaration {
94
+ kind: 'class';
95
+ methods: SubsystemMethodInfo[];
96
+ properties: SubsystemPropertyInfo[];
97
+ extends: string[];
98
+ implements: string[];
99
+ instantiations: SubsystemCallInfo[];
100
+ references: SubsystemReferenceInfo[];
101
+ }
102
+ export interface SubsystemFunctionDeclaration {
103
+ kind: 'function';
104
+ parameters: SubsystemParamInfo[];
105
+ returnType?: string;
106
+ returnTypeRef?: SubsystemReferenceInfo;
107
+ callers: SubsystemCallInfo[];
108
+ callees: SubsystemCallInfo[];
109
+ }
110
+ export interface SubsystemMethodDeclaration {
111
+ kind: 'method';
112
+ hostClass: string;
113
+ parameters?: SubsystemParamInfo[];
114
+ returnType?: string;
115
+ }
116
+ export interface SubsystemTypeDeclaration {
117
+ kind: 'type';
118
+ properties: SubsystemPropertyInfo[];
119
+ usedBy: SubsystemReferenceInfo[];
120
+ implementors: string[];
121
+ }
122
+ export interface SubsystemModuleDeclaration {
123
+ kind: 'module';
124
+ exports: string[];
125
+ imports: SubsystemImportInfo[];
126
+ symbols: string[];
127
+ }
128
+ export interface SubsystemExternalDeclaration {
129
+ kind: 'external';
130
+ label: string;
131
+ }
132
+ export interface SubsystemStoreDeclaration {
133
+ kind: 'store';
134
+ properties: SubsystemPropertyInfo[];
135
+ }
136
+ /** Structured declaration shape of a construct. */
137
+ export type SubsystemConstructDeclaration = SubsystemClassDeclaration | SubsystemFunctionDeclaration | SubsystemMethodDeclaration | SubsystemTypeDeclaration | SubsystemModuleDeclaration | SubsystemExternalDeclaration | SubsystemStoreDeclaration;
138
+ /** A component node — the named unit, construct-tagged. */
139
+ export interface SubsystemComponent {
140
+ id: string;
141
+ /** Display label. Prefer aligning with `symbol` when present. */
142
+ name: string;
143
+ construct: SubsystemConstruct;
144
+ /** Repo-root-relative source path. */
145
+ file: string;
146
+ /** PURL for repo/package grouping. */
147
+ purl: string;
148
+ purpose?: string;
149
+ role?: SubsystemComponentRole;
150
+ /**
151
+ * Framework that owns the stereotype (e.g. `react`, `nestjs`).
152
+ * Orthogonal to `construct` — a React component is still `construct: function`.
153
+ */
154
+ framework?: SubsystemFramework;
155
+ /**
156
+ * Framework pattern this declaration plays (e.g. `component`, `hook`).
157
+ * Prefer this over inventing framework-specific constructs.
158
+ */
159
+ stereotype?: SubsystemStereotype;
160
+ process?: string;
161
+ /** Code identity — real declaration in `file` when set. */
162
+ symbol?: string;
163
+ layer?: number;
164
+ capture?: SubsystemCapture;
165
+ /** Structured declaration shape of the construct (params, members, …). */
166
+ declaration?: SubsystemConstructDeclaration;
167
+ declarationProvenance?: SubsystemDeclarationProvenance;
168
+ tokens?: SubsystemDeclToken[];
169
+ /** Location anchor (file/line/hash) — distinct from `declaration` (shape). */
170
+ declarationRef?: SubsystemDeclarationRef;
171
+ }
172
+ /** A cross-component edge. */
173
+ export interface SubsystemComponentEdge {
174
+ id: string;
175
+ /** Source component id. */
176
+ from: string;
177
+ /** Target component id (or external label). */
178
+ to: string;
179
+ mechanism: SubsystemEdgeMechanism;
180
+ /** Concrete file/symbol evidence (often purls). */
181
+ refs?: string[];
182
+ }
183
+ export interface SubsystemThroughlineStep {
184
+ edgeId: string;
185
+ file: string;
186
+ /** 1-based line within `file`. */
187
+ line: number;
188
+ /** Frame name for this hop (function/method/symbol). Optional. */
189
+ symbol?: string;
190
+ /**
191
+ * Free-text note anchored to this hop's site line. Optional — informative
192
+ * only, never verified against source; viewers surface it via the codeview's
193
+ * annotation column.
194
+ */
195
+ annotation?: string;
196
+ }
197
+ /** Ordered execution story over existing edges (one per flow). */
198
+ export interface SubsystemThroughline {
199
+ id: string;
200
+ title: string;
201
+ steps: SubsystemThroughlineStep[];
202
+ }
203
+ export interface SubsystemRepoRef {
204
+ owner: string;
205
+ name: string;
206
+ }
207
+ /**
208
+ * Portable subsystem model — the shareable standard.
209
+ * No host paths, provenance, document-level repo, store ids, or verification.
210
+ * Repo identity lives on each component's `purl`.
211
+ */
212
+ export interface SubsystemModelDocument {
213
+ /**
214
+ * Optional pointer to the JSON Schema that describes this file. Lets editors
215
+ * give autocomplete and validation when the field is set.
216
+ */
217
+ $schema?: string;
218
+ title: string;
219
+ description?: string;
220
+ components: SubsystemComponent[];
221
+ edges: SubsystemComponentEdge[];
222
+ throughlines?: SubsystemThroughline[];
223
+ }
224
+ /**
225
+ * Host/machine fields layered onto a portable document for local use.
226
+ * Not part of the portable standard — viewers and stores own this envelope.
227
+ */
228
+ export interface SubsystemModelHostBinding {
229
+ /** Provenance of the model (e.g. `agent:<name>`, `manual`). */
230
+ source?: string;
231
+ /**
232
+ * Optional document-level repo summary for host indexes/listings.
233
+ * Portable identity lives on each component's `purl`.
234
+ */
235
+ repo?: SubsystemRepoRef;
236
+ /**
237
+ * Local filesystem root component `file` paths resolve against.
238
+ * Opt-in; sandboxed reads for single-repo models.
239
+ */
240
+ repoRoot?: string;
241
+ /**
242
+ * Per-repo local roots for multi-repo models, keyed by purl repo key
243
+ * (`pkg:github/owner/name`, fragment stripped).
244
+ */
245
+ repoRoots?: Record<string, string>;
246
+ }
247
+ /**
248
+ * Hydrated model: portable document + host binding + optional store metadata.
249
+ * Shape used after a host accepts/persists a model for viewing on a machine.
250
+ */
251
+ export interface SubsystemModelHydrated extends SubsystemModelDocument, SubsystemModelHostBinding {
252
+ /** Store-assigned id when persisted. */
253
+ id?: string;
254
+ createdAt?: string;
255
+ updatedAt?: string;
256
+ /** Host verification result; shape is host-defined. */
257
+ verification?: unknown;
258
+ }
259
+ /**
260
+ * Type guard: true when the value plausibly conforms to a portable
261
+ * subsystem model. Shallow check — full validation belongs to the schema /
262
+ * host validator.
263
+ */
264
+ export declare function isSubsystemModelDocument(value: unknown): value is SubsystemModelDocument;
265
+ //# sourceMappingURL=subsystem-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subsystem-model.d.ts","sourceRoot":"","sources":["../../src/types/subsystem-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Subsystem Model Types
4
+ *
5
+ * Two layers — do not conflate them:
6
+ *
7
+ * 1. **Portable document** (`SubsystemModelDocument`) — the shareable standard.
8
+ * Schema: `schemas/subsystem-model.schema.json`
9
+ * (`https://principal-ai.dev/schemas/subsystem-model.schema.json`).
10
+ *
11
+ * 2. **Hydrated envelope** (`SubsystemModelHydrated`) — portable document plus
12
+ * host/machine binding (local roots, provenance, store ids, verification).
13
+ * Used by viewers and stores; not part of the portable standard.
14
+ *
15
+ * Ontology: construct = what a node is, framework + stereotype = which
16
+ * framework pattern it plays, role = where it sits, process = where it runs.
17
+ * `symbol` is the code identity; `name` is the display label.
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.isSubsystemModelDocument = void 0;
21
+ /**
22
+ * Type guard: true when the value plausibly conforms to a portable
23
+ * subsystem model. Shallow check — full validation belongs to the schema /
24
+ * host validator.
25
+ */
26
+ function isSubsystemModelDocument(value) {
27
+ if (!value || typeof value !== 'object')
28
+ return false;
29
+ const v = value;
30
+ return (typeof v.title === 'string' &&
31
+ Array.isArray(v.components) &&
32
+ Array.isArray(v.edges));
33
+ }
34
+ exports.isSubsystemModelDocument = isSubsystemModelDocument;
35
+ //# sourceMappingURL=subsystem-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subsystem-model.js","sourceRoot":"","sources":["../../src/types/subsystem-model.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AA8TH;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAIT,CAAC;IACF,OAAO,CACL,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CACvB,CAAC;AACJ,CAAC;AAZD,4DAYC"}