@gitgov/core 1.0.1 → 1.0.2

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 (469) hide show
  1. package/README.md +31 -31
  2. package/dist/src/index.d.ts +5475 -21
  3. package/dist/src/index.js +7873 -22
  4. package/dist/src/index.js.map +1 -1
  5. package/package.json +17 -5
  6. package/dist/scripts/compile-json-to-types.d.ts +0 -11
  7. package/dist/scripts/compile-json-to-types.d.ts.map +0 -1
  8. package/dist/scripts/compile-json-to-types.js +0 -129
  9. package/dist/scripts/compile-json-to-types.js.map +0 -1
  10. package/dist/scripts/diagnose-duplicates.d.ts +0 -7
  11. package/dist/scripts/diagnose-duplicates.d.ts.map +0 -1
  12. package/dist/scripts/diagnose-duplicates.js +0 -72
  13. package/dist/scripts/diagnose-duplicates.js.map +0 -1
  14. package/dist/scripts/generate-indexes.d.ts +0 -22
  15. package/dist/scripts/generate-indexes.d.ts.map +0 -1
  16. package/dist/scripts/generate-indexes.js +0 -168
  17. package/dist/scripts/generate-indexes.js.map +0 -1
  18. package/dist/scripts/sync-schemas.d.ts +0 -10
  19. package/dist/scripts/sync-schemas.d.ts.map +0 -1
  20. package/dist/scripts/sync-schemas.js +0 -84
  21. package/dist/scripts/sync-schemas.js.map +0 -1
  22. package/dist/scripts/sync-workflow-configs.d.ts +0 -11
  23. package/dist/scripts/sync-workflow-configs.d.ts.map +0 -1
  24. package/dist/scripts/sync-workflow-configs.js +0 -61
  25. package/dist/scripts/sync-workflow-configs.js.map +0 -1
  26. package/dist/scripts/update-diagram.d.ts +0 -7
  27. package/dist/scripts/update-diagram.d.ts.map +0 -1
  28. package/dist/scripts/update-diagram.js +0 -47
  29. package/dist/scripts/update-diagram.js.map +0 -1
  30. package/dist/scripts/validate-schemas.d.ts +0 -18
  31. package/dist/scripts/validate-schemas.d.ts.map +0 -1
  32. package/dist/scripts/validate-schemas.js +0 -313
  33. package/dist/scripts/validate-schemas.js.map +0 -1
  34. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.d.ts +0 -2
  35. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.d.ts.map +0 -1
  36. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.js +0 -507
  37. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.js.map +0 -1
  38. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.d.ts +0 -2
  39. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.d.ts.map +0 -1
  40. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.js +0 -1282
  41. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.js.map +0 -1
  42. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.d.ts +0 -10
  43. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.d.ts.map +0 -1
  44. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.js +0 -144
  45. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.js.map +0 -1
  46. package/dist/src/adapters/backlog_adapter/index.d.ts +0 -213
  47. package/dist/src/adapters/backlog_adapter/index.d.ts.map +0 -1
  48. package/dist/src/adapters/backlog_adapter/index.js +0 -924
  49. package/dist/src/adapters/backlog_adapter/index.js.map +0 -1
  50. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.d.ts +0 -2
  51. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.d.ts.map +0 -1
  52. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.js +0 -505
  53. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.js.map +0 -1
  54. package/dist/src/adapters/changelog_adapter/index.d.ts +0 -101
  55. package/dist/src/adapters/changelog_adapter/index.d.ts.map +0 -1
  56. package/dist/src/adapters/changelog_adapter/index.js +0 -197
  57. package/dist/src/adapters/changelog_adapter/index.js.map +0 -1
  58. package/dist/src/adapters/execution_adapter/execution_adapter.test.d.ts +0 -2
  59. package/dist/src/adapters/execution_adapter/execution_adapter.test.d.ts.map +0 -1
  60. package/dist/src/adapters/execution_adapter/execution_adapter.test.js +0 -266
  61. package/dist/src/adapters/execution_adapter/execution_adapter.test.js.map +0 -1
  62. package/dist/src/adapters/execution_adapter/index.d.ts +0 -90
  63. package/dist/src/adapters/execution_adapter/index.d.ts.map +0 -1
  64. package/dist/src/adapters/execution_adapter/index.js +0 -150
  65. package/dist/src/adapters/execution_adapter/index.js.map +0 -1
  66. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.d.ts +0 -2
  67. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.d.ts.map +0 -1
  68. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.js +0 -256
  69. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.js.map +0 -1
  70. package/dist/src/adapters/feedback_adapter/index.d.ts +0 -95
  71. package/dist/src/adapters/feedback_adapter/index.d.ts.map +0 -1
  72. package/dist/src/adapters/feedback_adapter/index.js +0 -192
  73. package/dist/src/adapters/feedback_adapter/index.js.map +0 -1
  74. package/dist/src/adapters/identity_adapter/identity_adapter.test.d.ts +0 -2
  75. package/dist/src/adapters/identity_adapter/identity_adapter.test.d.ts.map +0 -1
  76. package/dist/src/adapters/identity_adapter/identity_adapter.test.js +0 -624
  77. package/dist/src/adapters/identity_adapter/identity_adapter.test.js.map +0 -1
  78. package/dist/src/adapters/identity_adapter/index.d.ts +0 -82
  79. package/dist/src/adapters/identity_adapter/index.d.ts.map +0 -1
  80. package/dist/src/adapters/identity_adapter/index.js +0 -336
  81. package/dist/src/adapters/identity_adapter/index.js.map +0 -1
  82. package/dist/src/adapters/index.d.ts +0 -10
  83. package/dist/src/adapters/index.d.ts.map +0 -1
  84. package/dist/src/adapters/index.js +0 -10
  85. package/dist/src/adapters/index.js.map +0 -1
  86. package/dist/src/adapters/indexer_adapter/index.d.ts +0 -214
  87. package/dist/src/adapters/indexer_adapter/index.d.ts.map +0 -1
  88. package/dist/src/adapters/indexer_adapter/index.js +0 -643
  89. package/dist/src/adapters/indexer_adapter/index.js.map +0 -1
  90. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.d.ts +0 -2
  91. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.d.ts.map +0 -1
  92. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.js +0 -409
  93. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.js.map +0 -1
  94. package/dist/src/adapters/metrics_adapter/index.d.ts +0 -189
  95. package/dist/src/adapters/metrics_adapter/index.d.ts.map +0 -1
  96. package/dist/src/adapters/metrics_adapter/index.js +0 -592
  97. package/dist/src/adapters/metrics_adapter/index.js.map +0 -1
  98. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.d.ts +0 -2
  99. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.d.ts.map +0 -1
  100. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.js +0 -558
  101. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.js.map +0 -1
  102. package/dist/src/adapters/project_adapter/index.d.ts +0 -164
  103. package/dist/src/adapters/project_adapter/index.d.ts.map +0 -1
  104. package/dist/src/adapters/project_adapter/index.js +0 -445
  105. package/dist/src/adapters/project_adapter/index.js.map +0 -1
  106. package/dist/src/adapters/project_adapter/project_adapter.test.d.ts +0 -2
  107. package/dist/src/adapters/project_adapter/project_adapter.test.d.ts.map +0 -1
  108. package/dist/src/adapters/project_adapter/project_adapter.test.js +0 -627
  109. package/dist/src/adapters/project_adapter/project_adapter.test.js.map +0 -1
  110. package/dist/src/adapters/workflow_methodology_adapter/index.d.ts +0 -75
  111. package/dist/src/adapters/workflow_methodology_adapter/index.d.ts.map +0 -1
  112. package/dist/src/adapters/workflow_methodology_adapter/index.js +0 -205
  113. package/dist/src/adapters/workflow_methodology_adapter/index.js.map +0 -1
  114. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.d.ts +0 -2
  115. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.d.ts.map +0 -1
  116. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.js +0 -463
  117. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.js.map +0 -1
  118. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.d.ts +0 -2
  119. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.d.ts.map +0 -1
  120. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.js +0 -287
  121. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.js.map +0 -1
  122. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.d.ts +0 -2
  123. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.d.ts.map +0 -1
  124. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.js +0 -278
  125. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.js.map +0 -1
  126. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_default.json +0 -188
  127. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_scrum.json +0 -284
  128. package/dist/src/config_manager/config_manager.test.d.ts +0 -2
  129. package/dist/src/config_manager/config_manager.test.d.ts.map +0 -1
  130. package/dist/src/config_manager/config_manager.test.js +0 -321
  131. package/dist/src/config_manager/config_manager.test.js.map +0 -1
  132. package/dist/src/config_manager/index.d.ts +0 -107
  133. package/dist/src/config_manager/index.d.ts.map +0 -1
  134. package/dist/src/config_manager/index.js +0 -192
  135. package/dist/src/config_manager/index.js.map +0 -1
  136. package/dist/src/crypto/checksum.d.ts +0 -6
  137. package/dist/src/crypto/checksum.d.ts.map +0 -1
  138. package/dist/src/crypto/checksum.js +0 -38
  139. package/dist/src/crypto/checksum.js.map +0 -1
  140. package/dist/src/crypto/checksum.test.d.ts +0 -2
  141. package/dist/src/crypto/checksum.test.d.ts.map +0 -1
  142. package/dist/src/crypto/checksum.test.js +0 -167
  143. package/dist/src/crypto/checksum.test.js.map +0 -1
  144. package/dist/src/crypto/index.d.ts +0 -3
  145. package/dist/src/crypto/index.d.ts.map +0 -1
  146. package/dist/src/crypto/index.js +0 -3
  147. package/dist/src/crypto/index.js.map +0 -1
  148. package/dist/src/crypto/signatures.d.ts +0 -24
  149. package/dist/src/crypto/signatures.d.ts.map +0 -1
  150. package/dist/src/crypto/signatures.js +0 -67
  151. package/dist/src/crypto/signatures.js.map +0 -1
  152. package/dist/src/crypto/signatures.test.d.ts +0 -2
  153. package/dist/src/crypto/signatures.test.d.ts.map +0 -1
  154. package/dist/src/crypto/signatures.test.js +0 -378
  155. package/dist/src/crypto/signatures.test.js.map +0 -1
  156. package/dist/src/diagram_generator/diagram_generator.d.ts +0 -76
  157. package/dist/src/diagram_generator/diagram_generator.d.ts.map +0 -1
  158. package/dist/src/diagram_generator/diagram_generator.js +0 -233
  159. package/dist/src/diagram_generator/diagram_generator.js.map +0 -1
  160. package/dist/src/diagram_generator/graph_validator.d.ts +0 -19
  161. package/dist/src/diagram_generator/graph_validator.d.ts.map +0 -1
  162. package/dist/src/diagram_generator/graph_validator.js +0 -98
  163. package/dist/src/diagram_generator/graph_validator.js.map +0 -1
  164. package/dist/src/diagram_generator/index.d.ts +0 -4
  165. package/dist/src/diagram_generator/index.d.ts.map +0 -1
  166. package/dist/src/diagram_generator/index.js +0 -4
  167. package/dist/src/diagram_generator/index.js.map +0 -1
  168. package/dist/src/diagram_generator/mermaid_renderer.d.ts +0 -82
  169. package/dist/src/diagram_generator/mermaid_renderer.d.ts.map +0 -1
  170. package/dist/src/diagram_generator/mermaid_renderer.js +0 -306
  171. package/dist/src/diagram_generator/mermaid_renderer.js.map +0 -1
  172. package/dist/src/diagram_generator/relationship_analyzer.d.ts +0 -116
  173. package/dist/src/diagram_generator/relationship_analyzer.d.ts.map +0 -1
  174. package/dist/src/diagram_generator/relationship_analyzer.js +0 -381
  175. package/dist/src/diagram_generator/relationship_analyzer.js.map +0 -1
  176. package/dist/src/event_bus/event_bus.d.ts +0 -110
  177. package/dist/src/event_bus/event_bus.d.ts.map +0 -1
  178. package/dist/src/event_bus/event_bus.js +0 -161
  179. package/dist/src/event_bus/event_bus.js.map +0 -1
  180. package/dist/src/event_bus/event_bus.test.d.ts +0 -2
  181. package/dist/src/event_bus/event_bus.test.d.ts.map +0 -1
  182. package/dist/src/event_bus/event_bus.test.js +0 -332
  183. package/dist/src/event_bus/event_bus.test.js.map +0 -1
  184. package/dist/src/event_bus/event_bus_integration.test.d.ts +0 -2
  185. package/dist/src/event_bus/event_bus_integration.test.d.ts.map +0 -1
  186. package/dist/src/event_bus/event_bus_integration.test.js +0 -474
  187. package/dist/src/event_bus/event_bus_integration.test.js.map +0 -1
  188. package/dist/src/event_bus/index.d.ts +0 -3
  189. package/dist/src/event_bus/index.d.ts.map +0 -1
  190. package/dist/src/event_bus/index.js +0 -3
  191. package/dist/src/event_bus/index.js.map +0 -1
  192. package/dist/src/event_bus/types.d.ts +0 -203
  193. package/dist/src/event_bus/types.d.ts.map +0 -1
  194. package/dist/src/event_bus/types.js +0 -5
  195. package/dist/src/event_bus/types.js.map +0 -1
  196. package/dist/src/factories/actor_factory.d.ts +0 -6
  197. package/dist/src/factories/actor_factory.d.ts.map +0 -1
  198. package/dist/src/factories/actor_factory.js +0 -25
  199. package/dist/src/factories/actor_factory.js.map +0 -1
  200. package/dist/src/factories/actor_factory.test.d.ts +0 -2
  201. package/dist/src/factories/actor_factory.test.d.ts.map +0 -1
  202. package/dist/src/factories/actor_factory.test.js +0 -169
  203. package/dist/src/factories/actor_factory.test.js.map +0 -1
  204. package/dist/src/factories/agent_factory.d.ts +0 -6
  205. package/dist/src/factories/agent_factory.d.ts.map +0 -1
  206. package/dist/src/factories/agent_factory.js +0 -25
  207. package/dist/src/factories/agent_factory.js.map +0 -1
  208. package/dist/src/factories/agent_factory.test.d.ts +0 -2
  209. package/dist/src/factories/agent_factory.test.d.ts.map +0 -1
  210. package/dist/src/factories/agent_factory.test.js +0 -199
  211. package/dist/src/factories/agent_factory.test.js.map +0 -1
  212. package/dist/src/factories/changelog_factory.d.ts +0 -9
  213. package/dist/src/factories/changelog_factory.d.ts.map +0 -1
  214. package/dist/src/factories/changelog_factory.js +0 -46
  215. package/dist/src/factories/changelog_factory.js.map +0 -1
  216. package/dist/src/factories/changelog_factory.test.d.ts +0 -2
  217. package/dist/src/factories/changelog_factory.test.d.ts.map +0 -1
  218. package/dist/src/factories/changelog_factory.test.js +0 -368
  219. package/dist/src/factories/changelog_factory.test.js.map +0 -1
  220. package/dist/src/factories/cycle_factory.d.ts +0 -6
  221. package/dist/src/factories/cycle_factory.d.ts.map +0 -1
  222. package/dist/src/factories/cycle_factory.js +0 -28
  223. package/dist/src/factories/cycle_factory.js.map +0 -1
  224. package/dist/src/factories/cycle_factory.test.d.ts +0 -2
  225. package/dist/src/factories/cycle_factory.test.d.ts.map +0 -1
  226. package/dist/src/factories/cycle_factory.test.js +0 -175
  227. package/dist/src/factories/cycle_factory.test.js.map +0 -1
  228. package/dist/src/factories/execution_factory.d.ts +0 -9
  229. package/dist/src/factories/execution_factory.d.ts.map +0 -1
  230. package/dist/src/factories/execution_factory.js +0 -29
  231. package/dist/src/factories/execution_factory.js.map +0 -1
  232. package/dist/src/factories/execution_factory.test.d.ts +0 -2
  233. package/dist/src/factories/execution_factory.test.d.ts.map +0 -1
  234. package/dist/src/factories/execution_factory.test.js +0 -207
  235. package/dist/src/factories/execution_factory.test.js.map +0 -1
  236. package/dist/src/factories/feedback_factory.d.ts +0 -9
  237. package/dist/src/factories/feedback_factory.d.ts.map +0 -1
  238. package/dist/src/factories/feedback_factory.js +0 -30
  239. package/dist/src/factories/feedback_factory.js.map +0 -1
  240. package/dist/src/factories/feedback_factory.test.d.ts +0 -2
  241. package/dist/src/factories/feedback_factory.test.d.ts.map +0 -1
  242. package/dist/src/factories/feedback_factory.test.js +0 -256
  243. package/dist/src/factories/feedback_factory.test.js.map +0 -1
  244. package/dist/src/factories/index.d.ts +0 -9
  245. package/dist/src/factories/index.d.ts.map +0 -1
  246. package/dist/src/factories/index.js +0 -9
  247. package/dist/src/factories/index.js.map +0 -1
  248. package/dist/src/factories/task_factory.d.ts +0 -6
  249. package/dist/src/factories/task_factory.d.ts.map +0 -1
  250. package/dist/src/factories/task_factory.js +0 -30
  251. package/dist/src/factories/task_factory.js.map +0 -1
  252. package/dist/src/factories/task_factory.test.d.ts +0 -2
  253. package/dist/src/factories/task_factory.test.d.ts.map +0 -1
  254. package/dist/src/factories/task_factory.test.js +0 -197
  255. package/dist/src/factories/task_factory.test.js.map +0 -1
  256. package/dist/src/factories/workflow_methodology_factory.d.ts +0 -11
  257. package/dist/src/factories/workflow_methodology_factory.d.ts.map +0 -1
  258. package/dist/src/factories/workflow_methodology_factory.js +0 -173
  259. package/dist/src/factories/workflow_methodology_factory.js.map +0 -1
  260. package/dist/src/factories/workflow_methodology_factory.test.d.ts +0 -2
  261. package/dist/src/factories/workflow_methodology_factory.test.d.ts.map +0 -1
  262. package/dist/src/factories/workflow_methodology_factory.test.js +0 -244
  263. package/dist/src/factories/workflow_methodology_factory.test.js.map +0 -1
  264. package/dist/src/index.d.ts.map +0 -1
  265. package/dist/src/integration/cycles_tasks_integration.test.d.ts +0 -2
  266. package/dist/src/integration/cycles_tasks_integration.test.d.ts.map +0 -1
  267. package/dist/src/integration/cycles_tasks_integration.test.js +0 -258
  268. package/dist/src/integration/cycles_tasks_integration.test.js.map +0 -1
  269. package/dist/src/integration/schema_integration.test.d.ts +0 -8
  270. package/dist/src/integration/schema_integration.test.d.ts.map +0 -1
  271. package/dist/src/integration/schema_integration.test.js +0 -279
  272. package/dist/src/integration/schema_integration.test.js.map +0 -1
  273. package/dist/src/logger/index.d.ts +0 -2
  274. package/dist/src/logger/index.d.ts.map +0 -1
  275. package/dist/src/logger/index.js +0 -2
  276. package/dist/src/logger/index.js.map +0 -1
  277. package/dist/src/logger/logger.d.ts +0 -10
  278. package/dist/src/logger/logger.d.ts.map +0 -1
  279. package/dist/src/logger/logger.js +0 -48
  280. package/dist/src/logger/logger.js.map +0 -1
  281. package/dist/src/schemas/errors.d.ts +0 -28
  282. package/dist/src/schemas/errors.d.ts.map +0 -1
  283. package/dist/src/schemas/errors.js +0 -31
  284. package/dist/src/schemas/errors.js.map +0 -1
  285. package/dist/src/schemas/generated/actor_record_schema.json +0 -91
  286. package/dist/src/schemas/generated/agent_record_schema.json +0 -142
  287. package/dist/src/schemas/generated/changelog_record_schema.json +0 -227
  288. package/dist/src/schemas/generated/cycle_record_schema.json +0 -80
  289. package/dist/src/schemas/generated/embedded_metadata_schema.json +0 -318
  290. package/dist/src/schemas/generated/execution_record_schema.json +0 -89
  291. package/dist/src/schemas/generated/feedback_record_schema.json +0 -83
  292. package/dist/src/schemas/generated/index.d.ts +0 -2221
  293. package/dist/src/schemas/generated/index.d.ts.map +0 -1
  294. package/dist/src/schemas/generated/index.js +0 -48
  295. package/dist/src/schemas/generated/index.js.map +0 -1
  296. package/dist/src/schemas/generated/task_record_schema.json +0 -103
  297. package/dist/src/schemas/generated/workflow_methodology_record_schema.json +0 -393
  298. package/dist/src/schemas/index.d.ts +0 -4
  299. package/dist/src/schemas/index.d.ts.map +0 -1
  300. package/dist/src/schemas/index.js +0 -4
  301. package/dist/src/schemas/index.js.map +0 -1
  302. package/dist/src/schemas/schema_cache.d.ts +0 -39
  303. package/dist/src/schemas/schema_cache.d.ts.map +0 -1
  304. package/dist/src/schemas/schema_cache.js +0 -109
  305. package/dist/src/schemas/schema_cache.js.map +0 -1
  306. package/dist/src/schemas/schema_cache.test.d.ts +0 -2
  307. package/dist/src/schemas/schema_cache.test.d.ts.map +0 -1
  308. package/dist/src/schemas/schema_cache.test.js +0 -163
  309. package/dist/src/schemas/schema_cache.test.js.map +0 -1
  310. package/dist/src/store/index.d.ts +0 -2
  311. package/dist/src/store/index.d.ts.map +0 -1
  312. package/dist/src/store/index.js +0 -2
  313. package/dist/src/store/index.js.map +0 -1
  314. package/dist/src/store/record_store.d.ts +0 -30
  315. package/dist/src/store/record_store.d.ts.map +0 -1
  316. package/dist/src/store/record_store.js +0 -83
  317. package/dist/src/store/record_store.js.map +0 -1
  318. package/dist/src/store/record_store.test.d.ts +0 -2
  319. package/dist/src/store/record_store.test.d.ts.map +0 -1
  320. package/dist/src/store/record_store.test.js +0 -646
  321. package/dist/src/store/record_store.test.js.map +0 -1
  322. package/dist/src/types/common.types.d.ts +0 -43
  323. package/dist/src/types/common.types.d.ts.map +0 -1
  324. package/dist/src/types/common.types.js +0 -13
  325. package/dist/src/types/common.types.js.map +0 -1
  326. package/dist/src/types/embedded.types.d.ts +0 -17
  327. package/dist/src/types/embedded.types.d.ts.map +0 -1
  328. package/dist/src/types/embedded.types.js +0 -2
  329. package/dist/src/types/embedded.types.js.map +0 -1
  330. package/dist/src/types/generated/actor_record.d.ts +0 -45
  331. package/dist/src/types/generated/actor_record.d.ts.map +0 -1
  332. package/dist/src/types/generated/actor_record.js +0 -7
  333. package/dist/src/types/generated/actor_record.js.map +0 -1
  334. package/dist/src/types/generated/agent_record.d.ts +0 -40
  335. package/dist/src/types/generated/agent_record.d.ts.map +0 -1
  336. package/dist/src/types/generated/agent_record.js +0 -7
  337. package/dist/src/types/generated/agent_record.js.map +0 -1
  338. package/dist/src/types/generated/changelog_record.d.ts +0 -100
  339. package/dist/src/types/generated/changelog_record.d.ts.map +0 -1
  340. package/dist/src/types/generated/changelog_record.js +0 -7
  341. package/dist/src/types/generated/changelog_record.js.map +0 -1
  342. package/dist/src/types/generated/cycle_record.d.ts +0 -36
  343. package/dist/src/types/generated/cycle_record.d.ts.map +0 -1
  344. package/dist/src/types/generated/cycle_record.js +0 -7
  345. package/dist/src/types/generated/cycle_record.js.map +0 -1
  346. package/dist/src/types/generated/embedded_metadata.d.ts +0 -94
  347. package/dist/src/types/generated/embedded_metadata.d.ts.map +0 -1
  348. package/dist/src/types/generated/embedded_metadata.js +0 -7
  349. package/dist/src/types/generated/embedded_metadata.js.map +0 -1
  350. package/dist/src/types/generated/execution_record.d.ts +0 -39
  351. package/dist/src/types/generated/execution_record.d.ts.map +0 -1
  352. package/dist/src/types/generated/execution_record.js +0 -7
  353. package/dist/src/types/generated/execution_record.js.map +0 -1
  354. package/dist/src/types/generated/feedback_record.d.ts +0 -43
  355. package/dist/src/types/generated/feedback_record.d.ts.map +0 -1
  356. package/dist/src/types/generated/feedback_record.js +0 -7
  357. package/dist/src/types/generated/feedback_record.js.map +0 -1
  358. package/dist/src/types/generated/index.d.ts +0 -15
  359. package/dist/src/types/generated/index.d.ts.map +0 -1
  360. package/dist/src/types/generated/index.js +0 -15
  361. package/dist/src/types/generated/index.js.map +0 -1
  362. package/dist/src/types/generated/task_record.d.ts +0 -47
  363. package/dist/src/types/generated/task_record.d.ts.map +0 -1
  364. package/dist/src/types/generated/task_record.js +0 -7
  365. package/dist/src/types/generated/task_record.js.map +0 -1
  366. package/dist/src/types/generated/workflow_methodology_record.d.ts +0 -211
  367. package/dist/src/types/generated/workflow_methodology_record.d.ts.map +0 -1
  368. package/dist/src/types/generated/workflow_methodology_record.js +0 -7
  369. package/dist/src/types/generated/workflow_methodology_record.js.map +0 -1
  370. package/dist/src/types/index.d.ts +0 -4
  371. package/dist/src/types/index.d.ts.map +0 -1
  372. package/dist/src/types/index.js +0 -4
  373. package/dist/src/types/index.js.map +0 -1
  374. package/dist/src/utils/id_generator.d.ts +0 -44
  375. package/dist/src/utils/id_generator.d.ts.map +0 -1
  376. package/dist/src/utils/id_generator.js +0 -107
  377. package/dist/src/utils/id_generator.js.map +0 -1
  378. package/dist/src/utils/id_generator.test.d.ts +0 -2
  379. package/dist/src/utils/id_generator.test.d.ts.map +0 -1
  380. package/dist/src/utils/id_generator.test.js +0 -100
  381. package/dist/src/utils/id_generator.test.js.map +0 -1
  382. package/dist/src/utils/index.d.ts +0 -2
  383. package/dist/src/utils/index.d.ts.map +0 -1
  384. package/dist/src/utils/index.js +0 -3
  385. package/dist/src/utils/index.js.map +0 -1
  386. package/dist/src/validation/actor_validator.d.ts +0 -21
  387. package/dist/src/validation/actor_validator.d.ts.map +0 -1
  388. package/dist/src/validation/actor_validator.js +0 -48
  389. package/dist/src/validation/actor_validator.js.map +0 -1
  390. package/dist/src/validation/actor_validator.test.d.ts +0 -2
  391. package/dist/src/validation/actor_validator.test.d.ts.map +0 -1
  392. package/dist/src/validation/actor_validator.test.js +0 -83
  393. package/dist/src/validation/actor_validator.test.js.map +0 -1
  394. package/dist/src/validation/agent_validator.d.ts +0 -30
  395. package/dist/src/validation/agent_validator.d.ts.map +0 -1
  396. package/dist/src/validation/agent_validator.js +0 -66
  397. package/dist/src/validation/agent_validator.js.map +0 -1
  398. package/dist/src/validation/agent_validator.test.d.ts +0 -2
  399. package/dist/src/validation/agent_validator.test.d.ts.map +0 -1
  400. package/dist/src/validation/agent_validator.test.js +0 -73
  401. package/dist/src/validation/agent_validator.test.js.map +0 -1
  402. package/dist/src/validation/changelog_validator.d.ts +0 -23
  403. package/dist/src/validation/changelog_validator.d.ts.map +0 -1
  404. package/dist/src/validation/changelog_validator.js +0 -58
  405. package/dist/src/validation/changelog_validator.js.map +0 -1
  406. package/dist/src/validation/changelog_validator.test.d.ts +0 -2
  407. package/dist/src/validation/changelog_validator.test.d.ts.map +0 -1
  408. package/dist/src/validation/changelog_validator.test.js +0 -401
  409. package/dist/src/validation/changelog_validator.test.js.map +0 -1
  410. package/dist/src/validation/common.d.ts +0 -10
  411. package/dist/src/validation/common.d.ts.map +0 -1
  412. package/dist/src/validation/common.js +0 -12
  413. package/dist/src/validation/common.js.map +0 -1
  414. package/dist/src/validation/cycle_validator.d.ts +0 -24
  415. package/dist/src/validation/cycle_validator.d.ts.map +0 -1
  416. package/dist/src/validation/cycle_validator.js +0 -51
  417. package/dist/src/validation/cycle_validator.js.map +0 -1
  418. package/dist/src/validation/cycle_validator.test.d.ts +0 -2
  419. package/dist/src/validation/cycle_validator.test.d.ts.map +0 -1
  420. package/dist/src/validation/cycle_validator.test.js +0 -182
  421. package/dist/src/validation/cycle_validator.test.js.map +0 -1
  422. package/dist/src/validation/embedded_metadata_validator.d.ts +0 -26
  423. package/dist/src/validation/embedded_metadata_validator.d.ts.map +0 -1
  424. package/dist/src/validation/embedded_metadata_validator.js +0 -122
  425. package/dist/src/validation/embedded_metadata_validator.js.map +0 -1
  426. package/dist/src/validation/embedded_metadata_validator.test.d.ts +0 -2
  427. package/dist/src/validation/embedded_metadata_validator.test.d.ts.map +0 -1
  428. package/dist/src/validation/embedded_metadata_validator.test.js +0 -316
  429. package/dist/src/validation/embedded_metadata_validator.test.js.map +0 -1
  430. package/dist/src/validation/errors.d.ts +0 -67
  431. package/dist/src/validation/errors.d.ts.map +0 -1
  432. package/dist/src/validation/errors.js +0 -83
  433. package/dist/src/validation/errors.js.map +0 -1
  434. package/dist/src/validation/execution_validator.d.ts +0 -23
  435. package/dist/src/validation/execution_validator.d.ts.map +0 -1
  436. package/dist/src/validation/execution_validator.js +0 -58
  437. package/dist/src/validation/execution_validator.js.map +0 -1
  438. package/dist/src/validation/execution_validator.test.d.ts +0 -2
  439. package/dist/src/validation/execution_validator.test.d.ts.map +0 -1
  440. package/dist/src/validation/execution_validator.test.js +0 -167
  441. package/dist/src/validation/execution_validator.test.js.map +0 -1
  442. package/dist/src/validation/feedback_validator.d.ts +0 -23
  443. package/dist/src/validation/feedback_validator.d.ts.map +0 -1
  444. package/dist/src/validation/feedback_validator.js +0 -58
  445. package/dist/src/validation/feedback_validator.js.map +0 -1
  446. package/dist/src/validation/feedback_validator.test.d.ts +0 -2
  447. package/dist/src/validation/feedback_validator.test.d.ts.map +0 -1
  448. package/dist/src/validation/feedback_validator.test.js +0 -131
  449. package/dist/src/validation/feedback_validator.test.js.map +0 -1
  450. package/dist/src/validation/index.d.ts +0 -11
  451. package/dist/src/validation/index.d.ts.map +0 -1
  452. package/dist/src/validation/index.js +0 -10
  453. package/dist/src/validation/index.js.map +0 -1
  454. package/dist/src/validation/task_validator.d.ts +0 -24
  455. package/dist/src/validation/task_validator.d.ts.map +0 -1
  456. package/dist/src/validation/task_validator.js +0 -50
  457. package/dist/src/validation/task_validator.js.map +0 -1
  458. package/dist/src/validation/task_validator.test.d.ts +0 -2
  459. package/dist/src/validation/task_validator.test.d.ts.map +0 -1
  460. package/dist/src/validation/task_validator.test.js +0 -185
  461. package/dist/src/validation/task_validator.test.js.map +0 -1
  462. package/dist/src/validation/workflow_methodology_validator.d.ts +0 -32
  463. package/dist/src/validation/workflow_methodology_validator.d.ts.map +0 -1
  464. package/dist/src/validation/workflow_methodology_validator.js +0 -91
  465. package/dist/src/validation/workflow_methodology_validator.js.map +0 -1
  466. package/dist/src/validation/workflow_methodology_validator.test.d.ts +0 -2
  467. package/dist/src/validation/workflow_methodology_validator.test.d.ts.map +0 -1
  468. package/dist/src/validation/workflow_methodology_validator.test.js +0 -229
  469. package/dist/src/validation/workflow_methodology_validator.test.js.map +0 -1
@@ -1,381 +0,0 @@
1
- import { GraphValidator } from './graph_validator';
2
- export class CircularDependencyError extends Error {
3
- constructor(message) {
4
- super(message);
5
- this.name = 'CircularDependencyError';
6
- }
7
- }
8
- export class RelationshipAnalyzer {
9
- /**
10
- * Analyzes relationships between cycles and tasks to build a complete graph
11
- */
12
- analyzeRelationships(cycles, tasks) {
13
- // Validate record integrity using specialized validator
14
- GraphValidator.validateRecordIntegrity(cycles, tasks);
15
- const rawGraph = this.buildRawGraph(cycles, tasks);
16
- const cleanGraph = this.processAndValidateGraph(rawGraph);
17
- return this.createRelationshipGraph(rawGraph, cleanGraph);
18
- }
19
- /**
20
- * Builds the initial graph with potential duplicates
21
- */
22
- buildRawGraph(cycles, tasks) {
23
- const rawNodes = this.buildNodes(cycles, tasks);
24
- const rawEdges = this.buildEdges(cycles, tasks, rawNodes);
25
- return { nodes: rawNodes, edges: rawEdges };
26
- }
27
- /**
28
- * Processes raw graph to remove duplicates and validate structure
29
- */
30
- processAndValidateGraph(rawGraph) {
31
- // Detect and report duplicates as warnings
32
- this.reportDuplicateWarnings(rawGraph.nodes, rawGraph.edges);
33
- // Deduplicate nodes and edges
34
- const nodes = this.deduplicateNodes(rawGraph.nodes);
35
- const edges = this.deduplicateEdges(rawGraph.edges);
36
- // Detect circular dependencies
37
- this.detectCircularDependencies(edges);
38
- return { nodes, edges };
39
- }
40
- /**
41
- * Creates the final RelationshipGraph with metadata
42
- */
43
- createRelationshipGraph(rawGraph, cleanGraph) {
44
- return {
45
- nodes: cleanGraph.nodes,
46
- edges: cleanGraph.edges,
47
- metadata: {
48
- nodeCount: cleanGraph.nodes.length,
49
- edgeCount: cleanGraph.edges.length,
50
- generatedAt: new Date().toISOString(),
51
- duplicatesRemoved: {
52
- nodes: rawGraph.nodes.length - cleanGraph.nodes.length,
53
- edges: rawGraph.edges.length - cleanGraph.edges.length,
54
- },
55
- },
56
- };
57
- }
58
- /**
59
- * Generates clean node ID for Mermaid syntax (removes timestamp, converts hyphens)
60
- */
61
- generateNodeId(record) {
62
- return record.id
63
- .replace(/^\d+-/, '') // Remove timestamp prefix
64
- .replace(/-/g, '_'); // Convert hyphens to underscores
65
- }
66
- /**
67
- * Builds all nodes from cycles and tasks
68
- */
69
- buildNodes(cycles, tasks) {
70
- const nodes = [];
71
- // Add cycle nodes
72
- for (const cycle of cycles) {
73
- nodes.push({
74
- id: this.generateNodeId(cycle),
75
- type: 'cycle',
76
- title: cycle.title,
77
- status: cycle.status,
78
- tags: cycle.tags || [],
79
- originalId: cycle.id,
80
- });
81
- }
82
- // Add task nodes (both epic and regular)
83
- for (const task of tasks) {
84
- const isEpic = this.isEpicTask(task);
85
- // Use title field for task display
86
- const title = task.title || 'Untitled Task';
87
- nodes.push({
88
- id: this.generateNodeId(task),
89
- type: isEpic ? 'epic-task' : 'task',
90
- title,
91
- status: task.status,
92
- tags: task.tags,
93
- originalId: task.id,
94
- });
95
- }
96
- return nodes;
97
- }
98
- /**
99
- * Builds all hierarchical edges from protocol relationships
100
- */
101
- buildEdges(cycles, _tasks, nodes) {
102
- const edges = [];
103
- const nodeMap = new Map(nodes.map(n => [n.originalId, n.id]));
104
- // Build cycle -> child cycle relationships
105
- for (const cycle of cycles) {
106
- if (cycle.childCycleIds) {
107
- for (const childId of cycle.childCycleIds) {
108
- const fromId = nodeMap.get(cycle.id);
109
- const toId = nodeMap.get(childId);
110
- if (fromId && toId) {
111
- edges.push({
112
- from: fromId,
113
- to: toId,
114
- type: 'hierarchy',
115
- });
116
- }
117
- }
118
- }
119
- // Build cycle -> task relationships
120
- if (cycle.taskIds) {
121
- for (const taskId of cycle.taskIds) {
122
- const fromId = nodeMap.get(cycle.id);
123
- const toId = nodeMap.get(taskId);
124
- if (fromId && toId) {
125
- edges.push({
126
- from: fromId,
127
- to: toId,
128
- type: 'hierarchy',
129
- });
130
- }
131
- }
132
- }
133
- }
134
- return edges;
135
- }
136
- /**
137
- * Checks if a task is an epic based on tags
138
- */
139
- isEpicTask(task) {
140
- return task.tags?.some(tag => tag.startsWith('epic:')) ?? false;
141
- }
142
- /**
143
- * Detects circular dependencies in the graph
144
- */
145
- detectCircularDependencies(edges) {
146
- const graph = new Map();
147
- // Build adjacency list
148
- for (const edge of edges) {
149
- if (!graph.has(edge.from)) {
150
- graph.set(edge.from, []);
151
- }
152
- graph.get(edge.from).push(edge.to);
153
- }
154
- // DFS to detect cycles with path tracking
155
- const visited = new Set();
156
- const recursionStack = new Set();
157
- const path = [];
158
- for (const node of graph.keys()) {
159
- if (!visited.has(node)) {
160
- const cyclePath = this.findCycleDFS(node, graph, visited, recursionStack, path);
161
- if (cyclePath.length > 0) {
162
- const cycleDescription = this.formatCycleError(cyclePath);
163
- throw new CircularDependencyError(cycleDescription);
164
- }
165
- }
166
- }
167
- }
168
- /**
169
- * DFS helper for circular dependency detection with path tracking
170
- */
171
- findCycleDFS(node, graph, visited, recursionStack, path) {
172
- visited.add(node);
173
- recursionStack.add(node);
174
- path.push(node);
175
- const neighbors = graph.get(node) || [];
176
- for (const neighbor of neighbors) {
177
- if (!visited.has(neighbor)) {
178
- const cyclePath = this.findCycleDFS(neighbor, graph, visited, recursionStack, path);
179
- if (cyclePath.length > 0) {
180
- return cyclePath;
181
- }
182
- }
183
- else if (recursionStack.has(neighbor)) {
184
- // Found a cycle - extract the cycle path
185
- const cycleStartIndex = path.indexOf(neighbor);
186
- return path.slice(cycleStartIndex).concat([neighbor]);
187
- }
188
- }
189
- recursionStack.delete(node);
190
- path.pop();
191
- return [];
192
- }
193
- /**
194
- * Formats a circular dependency error with helpful context
195
- */
196
- formatCycleError(cyclePath) {
197
- const cycleNodes = cyclePath.slice(0, -1); // Remove duplicate at end
198
- const nodeNames = cycleNodes.map(nodeId => {
199
- // Try to extract readable name from node ID
200
- const cleanId = nodeId.replace(/^(cycle_|task_)/, '').replace(/_/g, '-');
201
- return cleanId;
202
- });
203
- let message = `Circular dependency detected in GitGovernance entities:\n\n`;
204
- message += `🔄 Dependency Cycle:\n`;
205
- for (let i = 0; i < cycleNodes.length; i++) {
206
- const current = nodeNames[i];
207
- const next = nodeNames[(i + 1) % nodeNames.length];
208
- message += ` ${current} → ${next}\n`;
209
- }
210
- message += `\n💡 To fix this issue:\n`;
211
- message += ` 1. Review the childCycleIds in these cycle files:\n`;
212
- cycleNodes.forEach(nodeId => {
213
- const cleanId = nodeId.replace(/^cycle_/, '').replace(/_/g, '-');
214
- message += ` - .gitgov/cycles/${cleanId}.json\n`;
215
- });
216
- message += ` 2. Remove one of the circular references to break the cycle\n`;
217
- message += ` 3. Consider if the dependency relationship is actually needed\n`;
218
- return message;
219
- }
220
- /**
221
- * Reports duplicate nodes and edges as console warnings
222
- */
223
- reportDuplicateWarnings(nodes, edges) {
224
- // Analyze node duplicates
225
- const nodeCount = new Map();
226
- for (const node of nodes) {
227
- const current = nodeCount.get(node.id) || { count: 0, sources: [] };
228
- current.count++;
229
- current.sources.push(node.originalId);
230
- nodeCount.set(node.id, current);
231
- }
232
- const duplicateNodes = Array.from(nodeCount.entries())
233
- .filter(([_, data]) => data.count > 1);
234
- // Analyze edge duplicates
235
- const edgeCount = new Map();
236
- for (const edge of edges) {
237
- const edgeKey = `${edge.from}->${edge.to}`;
238
- edgeCount.set(edgeKey, (edgeCount.get(edgeKey) || 0) + 1);
239
- }
240
- const duplicateEdges = Array.from(edgeCount.entries())
241
- .filter(([_, count]) => count > 1);
242
- // Report warnings if duplicates found
243
- if (duplicateNodes.length > 0 || duplicateEdges.length > 0) {
244
- console.warn('\n⚠️ GitGovernance Data Quality Warnings:');
245
- if (duplicateNodes.length > 0) {
246
- console.warn('\n📦 Duplicate Nodes Detected:');
247
- duplicateNodes.forEach(([id, data]) => {
248
- const cleanSources = [...new Set(data.sources)]; // Remove duplicate sources
249
- console.warn(` • ${id} (appears ${data.count} times)`);
250
- if (cleanSources.length > 1) {
251
- console.warn(` Sources: ${cleanSources.join(', ')}`);
252
- console.warn(` 💡 Fix: Check for duplicate cycle/task IDs in .gitgov/ files`);
253
- }
254
- else {
255
- console.warn(` Source: ${cleanSources[0]} (same ID referenced multiple times)`);
256
- console.warn(` 💡 Fix: Check for duplicate childCycleIds/taskIds references`);
257
- }
258
- });
259
- }
260
- if (duplicateEdges.length > 0) {
261
- console.warn('\n🔗 Duplicate Edges Detected:');
262
- duplicateEdges.forEach(([edge, count]) => {
263
- console.warn(` • ${edge} (appears ${count} times)`);
264
- });
265
- console.warn(' 💡 Fix: Check for duplicate references in childCycleIds/taskIds arrays');
266
- }
267
- console.warn('\n✂️ Auto-deduplication: Duplicates will be removed from the generated diagram');
268
- console.warn('📋 Recommendation: Run `gitgov lint` to identify and fix data quality issues\n');
269
- }
270
- }
271
- /**
272
- * Removes duplicate nodes based on their ID (O(n) performance)
273
- */
274
- deduplicateNodes(nodes) {
275
- const nodeMap = new Map();
276
- // Use Map to automatically handle deduplication while preserving first occurrence
277
- for (const node of nodes) {
278
- if (!nodeMap.has(node.id)) {
279
- nodeMap.set(node.id, node);
280
- }
281
- }
282
- return Array.from(nodeMap.values());
283
- }
284
- /**
285
- * Removes duplicate edges based on from-to combination (O(n) performance)
286
- */
287
- deduplicateEdges(edges) {
288
- const edgeMap = new Map();
289
- for (const edge of edges) {
290
- const edgeKey = `${edge.from}->${edge.to}`;
291
- if (!edgeMap.has(edgeKey)) {
292
- edgeMap.set(edgeKey, edge);
293
- }
294
- }
295
- return Array.from(edgeMap.values());
296
- }
297
- /**
298
- * Detects and reports duplicate nodes/edges for diagnostic purposes
299
- * Useful for testing and debugging data quality issues
300
- */
301
- detectDuplicates(cycles, tasks) {
302
- const rawNodes = this.buildNodes(cycles, tasks);
303
- const rawEdges = this.buildEdges(cycles, tasks, rawNodes);
304
- // Analyze node duplicates
305
- const nodeCount = new Map();
306
- for (const node of rawNodes) {
307
- const current = nodeCount.get(node.id) || { count: 0, sources: [] };
308
- current.count++;
309
- current.sources.push(node.originalId);
310
- nodeCount.set(node.id, current);
311
- }
312
- const duplicateNodes = Array.from(nodeCount.entries())
313
- .filter(([_, data]) => data.count > 1)
314
- .map(([id, data]) => ({ id, count: data.count, sources: data.sources }));
315
- // Analyze edge duplicates
316
- const edgeCount = new Map();
317
- for (const edge of rawEdges) {
318
- const edgeKey = `${edge.from}->${edge.to}`;
319
- edgeCount.set(edgeKey, (edgeCount.get(edgeKey) || 0) + 1);
320
- }
321
- const duplicateEdges = Array.from(edgeCount.entries())
322
- .filter(([_, count]) => count > 1)
323
- .map(([edge, count]) => ({ edge, count }));
324
- return { duplicateNodes, duplicateEdges };
325
- }
326
- /**
327
- * Filters cycles and tasks based on specified criteria
328
- */
329
- filterEntities(cycles, tasks, filters) {
330
- let filteredCycles = [...cycles];
331
- let filteredTasks = [...tasks];
332
- // Filter by specific cycle ID
333
- if (filters.cycleId) {
334
- const targetCycle = cycles.find(c => c.id === filters.cycleId);
335
- if (targetCycle) {
336
- // Include the target cycle and its related entities
337
- const relatedCycleIds = new Set([filters.cycleId]);
338
- const relatedTaskIds = new Set();
339
- // Recursively add all descendant cycles
340
- const addDescendantCycles = (cycleId) => {
341
- const cycle = cycles.find(c => c.id === cycleId);
342
- if (cycle?.childCycleIds) {
343
- cycle.childCycleIds.forEach(childId => {
344
- if (!relatedCycleIds.has(childId)) {
345
- relatedCycleIds.add(childId);
346
- addDescendantCycles(childId); // Recursive call
347
- }
348
- });
349
- }
350
- };
351
- // Start recursive traversal from target cycle
352
- addDescendantCycles(filters.cycleId);
353
- // Add tasks from all related cycles
354
- cycles.forEach(cycle => {
355
- if (relatedCycleIds.has(cycle.id) && cycle.taskIds) {
356
- cycle.taskIds.forEach(taskId => relatedTaskIds.add(taskId));
357
- }
358
- });
359
- filteredCycles = cycles.filter(c => relatedCycleIds.has(c.id));
360
- filteredTasks = tasks.filter(t => relatedTaskIds.has(t.id));
361
- }
362
- }
363
- // Filter by specific task ID
364
- if (filters.taskId) {
365
- const targetTask = tasks.find(t => t.id === filters.taskId);
366
- if (targetTask) {
367
- filteredTasks = [targetTask];
368
- // Find cycles that contain this task
369
- filteredCycles = cycles.filter(c => c.taskIds && c.taskIds.includes(filters.taskId));
370
- }
371
- }
372
- // Filter by package name (using tags)
373
- if (filters.packageName) {
374
- const packageTag = `package:${filters.packageName}`;
375
- filteredCycles = filteredCycles.filter(c => c.tags && c.tags.includes(packageTag));
376
- filteredTasks = filteredTasks.filter(t => t.tags && t.tags.includes(packageTag));
377
- }
378
- return { filteredCycles, filteredTasks };
379
- }
380
- }
381
- //# sourceMappingURL=relationship_analyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relationship_analyzer.js","sourceRoot":"","sources":["../../../src/diagram_generator/relationship_analyzer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA+BnD,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IAE/B;;OAEG;IACH,oBAAoB,CAAC,MAAqB,EAAE,KAAmB;QAC7D,wDAAwD;QACxD,cAAc,CAAC,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAqB,EAAE,KAAmB;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,QAAwD;QACtF,2CAA2C;QAC3C,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE7D,8BAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEpD,+BAA+B;QAC/B,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAEvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC7B,QAAwD,EACxD,UAA0D;QAE1D,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,QAAQ,EAAE;gBACR,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;gBAClC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;gBAClC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,iBAAiB,EAAE;oBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM;oBACtD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM;iBACvD;aACF;SACF,CAAC;IACJ,CAAC;IAID;;OAEG;IACH,cAAc,CAAC,MAAgC;QAC7C,OAAO,MAAM,CAAC,EAAE;aACb,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,0BAA0B;aAC/C,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAG,iCAAiC;IAC5D,CAAC;IAID;;OAEG;IACK,UAAU,CAAC,MAAqB,EAAE,KAAmB;QAC3D,MAAM,KAAK,GAAkB,EAAE,CAAC;QAEhC,kBAAkB;QAClB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC9B,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,UAAU,EAAE,KAAK,CAAC,EAAE;aACrB,CAAC,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAErC,mCAAmC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC;YAE5C,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;gBACnC,KAAK;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,IAAI,CAAC,EAAE;aACpB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAqB,EAAE,MAAoB,EAAE,KAAoB;QAClF,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9D,2CAA2C;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACrC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAElC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,KAAK,CAAC,IAAI,CAAC;4BACT,IAAI,EAAE,MAAM;4BACZ,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,WAAW;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACrC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAEjC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,KAAK,CAAC,IAAI,CAAC;4BACT,IAAI,EAAE,MAAM;4BACZ,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,WAAW;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,IAAgB;QACjC,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,KAAoB;QACrD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;QAE1C,uBAAuB;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3B,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAC1D,MAAM,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAClB,IAAY,EACZ,KAA4B,EAC5B,OAAoB,EACpB,cAA2B,EAC3B,IAAc;QAEd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBACpF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,yCAAyC;gBACzC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,SAAmB;QAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QACrE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACxC,4CAA4C;YAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACzE,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,6DAA6D,CAAC;QAC5E,OAAO,IAAI,wBAAwB,CAAC;QAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACnD,OAAO,IAAI,MAAM,OAAO,MAAM,IAAI,IAAI,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,2BAA2B,CAAC;QACvC,OAAO,IAAI,wDAAwD,CAAC;QACpE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjE,OAAO,IAAI,0BAA0B,OAAO,SAAS,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,kEAAkE,CAAC;QAC9E,OAAO,IAAI,oEAAoE,CAAC;QAEhF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,KAAoB,EAAE,KAAoB;QACxE,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAgD,CAAC;QAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACpE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEzC,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3C,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAErC,sCAAsC;QACtC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAE3D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC/C,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;oBACpC,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,2BAA2B;oBAC5E,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;oBACzD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,OAAO,CAAC,IAAI,CAAC,iBAAiB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACzD,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;oBACpF,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,gBAAgB,YAAY,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;wBACpF,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;oBACpF,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC/C,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;oBACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,aAAa,KAAK,SAAS,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YAC9F,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAoB;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE/C,kFAAkF;QAClF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAoB;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,MAAqB,EAAE,KAAmB;QAIzD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE1D,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAgD,CAAC;QAC1E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACpE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE3E,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3C,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAE7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,MAAqB,EACrB,KAAmB,EACnB,OAIC;QAED,IAAI,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QACjC,IAAI,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAE/B,8BAA8B;QAC9B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,WAAW,EAAE,CAAC;gBAChB,oDAAoD;gBACpD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;gBAEzC,wCAAwC;gBACxC,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,EAAE;oBAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;oBACjD,IAAI,KAAK,EAAE,aAAa,EAAE,CAAC;wBACzB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;4BACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gCAClC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gCAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB;4BACjD,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC;gBAEF,8CAA8C;gBAC9C,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAErC,oCAAoC;gBACpC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACrB,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBACnD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,GAAG,CAAC,UAAU,CAAC,CAAC;gBAE7B,qCAAqC;gBACrC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAO,CAAC,CACjD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,WAAW,OAAO,CAAC,WAAW,EAAE,CAAC;YAEpD,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CACtC,CAAC;YAEF,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CACtC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;IAC3C,CAAC;CACF"}
@@ -1,110 +0,0 @@
1
- import type { BaseEvent, GitGovEvent, EventHandler, EventSubscription } from './types';
2
- /**
3
- * Event Stream interface - Contract for both Local and Global bus implementations
4
- */
5
- export interface IEventStream {
6
- /**
7
- * Publish an event to the bus
8
- */
9
- publish(event: BaseEvent): void;
10
- /**
11
- * Subscribe to events of a specific type
12
- */
13
- subscribe<T extends BaseEvent = BaseEvent>(eventType: string, handler: EventHandler<T>): EventSubscription;
14
- /**
15
- * Unsubscribe from events
16
- */
17
- unsubscribe(subscriptionId: string): boolean;
18
- /**
19
- * Get all active subscriptions
20
- */
21
- getSubscriptions(): EventSubscription[];
22
- /**
23
- * Clear all subscriptions (for testing/cleanup)
24
- */
25
- clearSubscriptions(): void;
26
- }
27
- /**
28
- * Local EventBus implementation using Node.js EventEmitter
29
- *
30
- * This is the "Free Tier" implementation that operates in-memory
31
- * and provides synchronous event delivery for local-first usage.
32
- *
33
- * Design Principles:
34
- * - Decoupled Producers: Adapters emit events without knowing consumers
35
- * - Pluggable Consumers: Event handlers can be added/removed dynamically
36
- * - Type Safety: Full TypeScript support for all event types
37
- * - Performance: In-memory delivery with minimal overhead
38
- */
39
- export declare class EventBus implements IEventStream {
40
- private emitter;
41
- private subscriptions;
42
- constructor();
43
- /**
44
- * Publish an event to all subscribers
45
- *
46
- * @param event - The event to publish
47
- */
48
- publish(event: BaseEvent): void;
49
- /**
50
- * Subscribe to events of a specific type
51
- *
52
- * @param eventType - The event type to subscribe to
53
- * @param handler - The handler function to call when event is received
54
- * @returns EventSubscription object with subscription details
55
- */
56
- subscribe<T extends BaseEvent = BaseEvent>(eventType: string, handler: EventHandler<T>): EventSubscription;
57
- /**
58
- * Unsubscribe from events
59
- *
60
- * @param subscriptionId - The subscription ID to remove
61
- * @returns true if subscription was found and removed, false otherwise
62
- */
63
- unsubscribe(subscriptionId: string): boolean;
64
- /**
65
- * Get all active subscriptions
66
- *
67
- * @returns Array of all active subscriptions
68
- */
69
- getSubscriptions(): EventSubscription[];
70
- /**
71
- * Clear all subscriptions (for testing/cleanup)
72
- */
73
- clearSubscriptions(): void;
74
- /**
75
- * Get subscription count for a specific event type
76
- *
77
- * @param eventType - The event type to count subscribers for
78
- * @returns Number of active subscriptions for the event type
79
- */
80
- getSubscriptionCount(eventType: string): number;
81
- /**
82
- * Get all event types that have active subscriptions
83
- *
84
- * @returns Array of event types with active subscriptions
85
- */
86
- getActiveEventTypes(): string[];
87
- /**
88
- * Subscribe to all events (wildcard subscription)
89
- * Useful for debugging, monitoring, or logging
90
- *
91
- * @param handler - Handler that will receive all events
92
- * @returns EventSubscription object
93
- */
94
- subscribeToAll(handler: EventHandler<BaseEvent>): EventSubscription;
95
- }
96
- /**
97
- * Singleton instance for application-wide event bus usage
98
- */
99
- export declare const eventBus: EventBus;
100
- /**
101
- * Type-safe event publisher helper
102
- * Ensures events conform to GitGovEvent union type
103
- */
104
- export declare function publishEvent(event: GitGovEvent): void;
105
- /**
106
- * Type-safe event subscriber helper
107
- * Provides better TypeScript inference for specific event types
108
- */
109
- export declare function subscribeToEvent<T extends GitGovEvent>(eventType: T['type'], handler: EventHandler<T>): EventSubscription;
110
- //# sourceMappingURL=event_bus.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event_bus.d.ts","sourceRoot":"","sources":["../../../src/event_bus/event_bus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAOjB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,iBAAiB,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7C;;OAEG;IACH,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;IAExC;;OAEG;IACH,kBAAkB,IAAI,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,QAAS,YAAW,YAAY;IAC3C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAiC;;IAUtD;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAqB/B;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,iBAAiB;IAiCpB;;;;;OAKG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAe5C;;;;OAIG;IACH,gBAAgB,IAAI,iBAAiB,EAAE;IAIvC;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAK1B;;;;;OAKG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;OAIG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAI/B;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,iBAAiB;CAGpE;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,UAAiB,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAErD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,EACpD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,iBAAiB,CAEnB"}
@@ -1,161 +0,0 @@
1
- import { EventEmitter } from 'events';
2
- // Generate unique subscription IDs
3
- function generateSubscriptionId() {
4
- return `subscription:${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
5
- }
6
- /**
7
- * Local EventBus implementation using Node.js EventEmitter
8
- *
9
- * This is the "Free Tier" implementation that operates in-memory
10
- * and provides synchronous event delivery for local-first usage.
11
- *
12
- * Design Principles:
13
- * - Decoupled Producers: Adapters emit events without knowing consumers
14
- * - Pluggable Consumers: Event handlers can be added/removed dynamically
15
- * - Type Safety: Full TypeScript support for all event types
16
- * - Performance: In-memory delivery with minimal overhead
17
- */
18
- export class EventBus {
19
- emitter;
20
- subscriptions;
21
- constructor() {
22
- this.emitter = new EventEmitter();
23
- this.subscriptions = new Map();
24
- // Increase max listeners for high-throughput scenarios
25
- this.emitter.setMaxListeners(100);
26
- }
27
- /**
28
- * Publish an event to all subscribers
29
- *
30
- * @param event - The event to publish
31
- */
32
- publish(event) {
33
- // Validate event structure
34
- if (!event.type || typeof event.type !== 'string') {
35
- throw new Error('Event must have a valid type string');
36
- }
37
- if (!event.timestamp || typeof event.timestamp !== 'number') {
38
- throw new Error('Event must have a valid timestamp number');
39
- }
40
- if (!event.source || typeof event.source !== 'string') {
41
- throw new Error('Event must have a valid source string');
42
- }
43
- // Emit the event
44
- this.emitter.emit(event.type, event);
45
- // Also emit on wildcard for debugging/monitoring
46
- this.emitter.emit('*', event);
47
- }
48
- /**
49
- * Subscribe to events of a specific type
50
- *
51
- * @param eventType - The event type to subscribe to
52
- * @param handler - The handler function to call when event is received
53
- * @returns EventSubscription object with subscription details
54
- */
55
- subscribe(eventType, handler) {
56
- // Generate unique subscription ID
57
- const subscriptionId = generateSubscriptionId();
58
- // Wrap handler to catch errors and provide context
59
- const wrappedHandler = async (event) => {
60
- try {
61
- await handler(event);
62
- }
63
- catch (error) {
64
- console.error(`Error in event handler for ${eventType}:`, error);
65
- // In production, this could emit an error event or log to monitoring
66
- }
67
- };
68
- // Create subscription object (store wrapped handler for unsubscribing)
69
- const subscription = {
70
- id: subscriptionId,
71
- eventType,
72
- handler: wrappedHandler, // Store wrapped handler
73
- metadata: {
74
- createdAt: Date.now()
75
- }
76
- };
77
- // Register with EventEmitter
78
- this.emitter.on(eventType, wrappedHandler);
79
- // Store subscription for management
80
- this.subscriptions.set(subscriptionId, subscription);
81
- return subscription;
82
- }
83
- /**
84
- * Unsubscribe from events
85
- *
86
- * @param subscriptionId - The subscription ID to remove
87
- * @returns true if subscription was found and removed, false otherwise
88
- */
89
- unsubscribe(subscriptionId) {
90
- const subscription = this.subscriptions.get(subscriptionId);
91
- if (!subscription) {
92
- return false;
93
- }
94
- // Remove from EventEmitter
95
- this.emitter.removeListener(subscription.eventType, subscription.handler);
96
- // Remove from our tracking
97
- this.subscriptions.delete(subscriptionId);
98
- return true;
99
- }
100
- /**
101
- * Get all active subscriptions
102
- *
103
- * @returns Array of all active subscriptions
104
- */
105
- getSubscriptions() {
106
- return Array.from(this.subscriptions.values());
107
- }
108
- /**
109
- * Clear all subscriptions (for testing/cleanup)
110
- */
111
- clearSubscriptions() {
112
- this.emitter.removeAllListeners();
113
- this.subscriptions.clear();
114
- }
115
- /**
116
- * Get subscription count for a specific event type
117
- *
118
- * @param eventType - The event type to count subscribers for
119
- * @returns Number of active subscriptions for the event type
120
- */
121
- getSubscriptionCount(eventType) {
122
- return this.emitter.listenerCount(eventType);
123
- }
124
- /**
125
- * Get all event types that have active subscriptions
126
- *
127
- * @returns Array of event types with active subscriptions
128
- */
129
- getActiveEventTypes() {
130
- return this.emitter.eventNames();
131
- }
132
- /**
133
- * Subscribe to all events (wildcard subscription)
134
- * Useful for debugging, monitoring, or logging
135
- *
136
- * @param handler - Handler that will receive all events
137
- * @returns EventSubscription object
138
- */
139
- subscribeToAll(handler) {
140
- return this.subscribe('*', handler);
141
- }
142
- }
143
- /**
144
- * Singleton instance for application-wide event bus usage
145
- */
146
- export const eventBus = new EventBus();
147
- /**
148
- * Type-safe event publisher helper
149
- * Ensures events conform to GitGovEvent union type
150
- */
151
- export function publishEvent(event) {
152
- eventBus.publish(event);
153
- }
154
- /**
155
- * Type-safe event subscriber helper
156
- * Provides better TypeScript inference for specific event types
157
- */
158
- export function subscribeToEvent(eventType, handler) {
159
- return eventBus.subscribe(eventType, handler);
160
- }
161
- //# sourceMappingURL=event_bus.js.map