@gitgov/core 1.0.0 → 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 +139 -135
  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 +19 -7
  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,306 +0,0 @@
1
- export class RenderingError extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.name = 'RenderingError';
5
- }
6
- }
7
- export class ContentSanitizer {
8
- sanitizeNodeTitle(title) {
9
- // Remove potentially dangerous characters for Mermaid, but preserve <br/> tags
10
- return title
11
- .replace(/<(?!br\/?>)[^>]*>/g, '') // Remove HTML tags except <br/> and <br>
12
- .replace(/["']/g, '') // Remove quotes that could break syntax
13
- .substring(0, 150); // Increased limit to accommodate line breaks
14
- }
15
- sanitizeNodeId(id) {
16
- // Ensure valid Mermaid node ID
17
- return id.replace(/[^a-zA-Z0-9_-]/g, '_');
18
- }
19
- sanitizeStatus(status) {
20
- const allowedStatuses = [
21
- 'pending', 'in-progress', 'done', 'blocked',
22
- 'cancelled', 'draft', 'planning', 'active',
23
- 'completed', 'archived', 'paused', 'discarded',
24
- 'validated', 'audit_oracle_create', 'audit_oracle_close',
25
- 'ready', 'review', 'in_progress'
26
- ];
27
- return allowedStatuses.includes(status) ? status : 'unknown';
28
- }
29
- sanitizeGraph(graph) {
30
- return {
31
- nodes: graph.nodes.map(node => {
32
- const sanitizedNode = {
33
- id: this.sanitizeNodeId(node.id),
34
- type: node.type,
35
- title: this.sanitizeNodeTitle(node.title),
36
- originalId: node.originalId,
37
- };
38
- if (node.status) {
39
- sanitizedNode.status = this.sanitizeStatus(node.status);
40
- }
41
- if (node.tags) {
42
- sanitizedNode.tags = node.tags;
43
- }
44
- return sanitizedNode;
45
- }),
46
- edges: graph.edges.filter(edge => edge.from && edge.to),
47
- metadata: graph.metadata,
48
- };
49
- }
50
- }
51
- export class MermaidValidator {
52
- isValidMermaidSyntax(content) {
53
- // Basic Mermaid syntax validation
54
- const lines = content.split('\n');
55
- // Must start with flowchart declaration
56
- const flowchartLine = lines.find(line => line.trim().startsWith('flowchart'));
57
- if (!flowchartLine) {
58
- return false;
59
- }
60
- // Check for balanced brackets in node definitions
61
- const nodeLines = lines.filter(line => line.includes('["') && line.includes('"]'));
62
- for (const line of nodeLines) {
63
- const openBrackets = (line.match(/\["/g) || []).length;
64
- const closeBrackets = (line.match(/"\]/g) || []).length;
65
- if (openBrackets !== closeBrackets) {
66
- return false;
67
- }
68
- }
69
- return true;
70
- }
71
- }
72
- export class MermaidRenderer {
73
- sanitizer;
74
- validator;
75
- constructor() {
76
- this.sanitizer = new ContentSanitizer();
77
- this.validator = new MermaidValidator();
78
- }
79
- /**
80
- * Main rendering method with input sanitization and output validation
81
- */
82
- renderGraph(graph, options) {
83
- if (!graph || !graph.nodes || !graph.edges) {
84
- throw new RenderingError('Invalid graph structure');
85
- }
86
- const sanitizedGraph = this.sanitizer.sanitizeGraph(graph);
87
- const content = this.generateMermaidContent(sanitizedGraph, options);
88
- // Validate generated Mermaid syntax
89
- if (!this.validator.isValidMermaidSyntax(content)) {
90
- throw new RenderingError('Generated invalid Mermaid syntax');
91
- }
92
- return content;
93
- }
94
- /**
95
- * Generates the complete Mermaid diagram content
96
- */
97
- generateMermaidContent(graph, options) {
98
- const header = this.generateHeader(options);
99
- const nodes = this.generateNodes(graph.nodes);
100
- const edges = this.generateEdges(graph.edges);
101
- const styling = this.generateStyling();
102
- const statusClasses = this.generateStatusClasses(graph.nodes);
103
- return [
104
- '```mermaid',
105
- header,
106
- '',
107
- nodes,
108
- '',
109
- edges,
110
- '',
111
- styling,
112
- '',
113
- statusClasses,
114
- '```'
115
- ].join('\n');
116
- }
117
- /**
118
- * Generates the diagram header with metadata
119
- */
120
- generateHeader(options) {
121
- const timestamp = new Date().toISOString();
122
- return [
123
- `flowchart ${options.layout}`,
124
- ` %% Auto-generated on ${timestamp}`,
125
- ` %% Source: .gitgov/ entities`,
126
- ].join('\n');
127
- }
128
- /**
129
- * Generates node syntax for all nodes
130
- */
131
- generateNodes(nodes) {
132
- const nodeLines = nodes.map(node => this.generateNodeSyntax(node));
133
- return nodeLines.join('\n');
134
- }
135
- /**
136
- * Generates edge syntax for all relationships
137
- */
138
- generateEdges(edges) {
139
- if (edges.length === 0) {
140
- return ' %% No relationships found';
141
- }
142
- const edgeLines = [
143
- ' %% ONLY hierarchical relationships from protocol',
144
- ' %% Source: CycleRecord.childCycleIds and CycleRecord.taskIds',
145
- ...edges.map(edge => this.generateEdgeSyntax(edge))
146
- ];
147
- return edgeLines.join('\n');
148
- }
149
- /**
150
- * Wraps a title string to a specified max width, using <br/> for line breaks.
151
- * Also sanitizes the title.
152
- * @param title The title to wrap.
153
- * @param maxWidth The maximum width of a line.
154
- * @returns The wrapped and sanitized title string.
155
- */
156
- wrapTitle(title, maxWidth = 30) {
157
- // The sanitizer already limits total length, so this is for readability.
158
- const sanitizedTitle = this.sanitizer.sanitizeNodeTitle(title);
159
- if (sanitizedTitle.length <= maxWidth) {
160
- return sanitizedTitle;
161
- }
162
- const words = sanitizedTitle.split(' ');
163
- const lines = [];
164
- let currentLine = words.shift() || '';
165
- for (const word of words) {
166
- if ((currentLine + ' ' + word).length > maxWidth) {
167
- lines.push(currentLine);
168
- currentLine = word;
169
- }
170
- else {
171
- currentLine += ` ${word}`;
172
- }
173
- }
174
- lines.push(currentLine);
175
- return lines.join('<br/>');
176
- }
177
- /**
178
- * Node generation with word wrapping for better readability.
179
- * Uses different shapes for different node types:
180
- * - Cycles: Hexagonal shape {{text}} for strategic importance
181
- * - Tasks: Rectangular shape [text] for implementation details
182
- */
183
- generateNodeSyntax(node) {
184
- const wrappedTitle = this.wrapTitle(node.title);
185
- const sanitizedId = this.sanitizer.sanitizeNodeId(node.id);
186
- const icon = this.getNodeIcon(node.type);
187
- // Use hexagonal shape for cycles (strategic level)
188
- if (node.type === 'cycle') {
189
- return ` ${sanitizedId}{{"${icon}<br/>${wrappedTitle}"}}`;
190
- }
191
- // Use rectangular shape for tasks (implementation level)
192
- if (node.type === 'epic-task' && node.status === 'paused') {
193
- return ` ${sanitizedId}["${icon}<br/>${wrappedTitle}<br/>(PAUSED)"]`;
194
- }
195
- return ` ${sanitizedId}["${icon}<br/>${wrappedTitle}"]`;
196
- }
197
- /**
198
- * Edge generation with relationship validation
199
- */
200
- generateEdgeSyntax(edge) {
201
- if (!edge.from || !edge.to) {
202
- throw new RenderingError('Edge must have valid from and to nodes');
203
- }
204
- const sanitizedFrom = this.sanitizer.sanitizeNodeId(edge.from);
205
- const sanitizedTo = this.sanitizer.sanitizeNodeId(edge.to);
206
- return ` ${sanitizedFrom} --> ${sanitizedTo}`;
207
- }
208
- /**
209
- * Gets the appropriate icon for each node type
210
- */
211
- getNodeIcon(type) {
212
- const icons = {
213
- 'cycle': '🎯',
214
- 'epic-task': '📦',
215
- 'task': '📋',
216
- };
217
- return icons[type] || '📋';
218
- }
219
- /**
220
- * Generates the mandatory color scheme CSS
221
- */
222
- generateStyling() {
223
- return [
224
- ' %% Status styling (mandatory color scheme)',
225
- ' classDef statusDraft fill:#ffffff,stroke:#cccccc,stroke-width:2px,color:#666666',
226
- ' classDef statusReady fill:#ffffeb,stroke:#cccc00,stroke-width:2px,color:#666600',
227
- ' classDef statusInProgress fill:#ebf5ff,stroke:#0066cc,stroke-width:2px,color:#003366',
228
- ' classDef statusDone fill:#ebffeb,stroke:#00cc00,stroke-width:2px,color:#006600',
229
- ' classDef statusBlocked fill:#ffebeb,stroke:#cc0000,stroke-width:2px,color:#660000',
230
- ' classDef statusEpicPaused fill:#f3e5f5,stroke:#9c27b0,stroke-width:2px,color:#4a148c',
231
- ' classDef statusArchived fill:#f5f5f5,stroke:#666666,stroke-width:2px,color:#333333',
232
- ].join('\n');
233
- }
234
- /**
235
- * Applies status-based CSS classes to nodes
236
- */
237
- generateStatusClasses(nodes) {
238
- const statusGroups = new Map();
239
- // Group nodes by status
240
- for (const node of nodes) {
241
- const statusClass = this.getStatusClass(node.status || 'draft', node);
242
- if (!statusGroups.has(statusClass)) {
243
- statusGroups.set(statusClass, []);
244
- }
245
- statusGroups.get(statusClass).push(node.id);
246
- }
247
- // Generate class applications
248
- const classLines = [];
249
- for (const [statusClass, nodeIds] of statusGroups.entries()) {
250
- if (nodeIds.length > 0) {
251
- const sanitizedIds = nodeIds.map(id => this.sanitizer.sanitizeNodeId(id));
252
- classLines.push(` class ${sanitizedIds.join(',')} ${statusClass}`);
253
- }
254
- }
255
- return [
256
- ' %% Apply styles based on entity status',
257
- ...classLines
258
- ].join('\n');
259
- }
260
- /**
261
- * Maps entity status to CSS class name with cycle and epic task special handling
262
- */
263
- getStatusClass(status, node) {
264
- // Special case: Epic task paused (waiting for parent cycle)
265
- if (status === 'paused' && node?.type === 'epic-task') {
266
- return 'statusEpicPaused'; // Purple - not a real blockage
267
- }
268
- // Handle cycle statuses
269
- if (node?.type === 'cycle') {
270
- const cycleStatusMap = {
271
- 'planning': 'statusDraft', // White - being planned
272
- 'active': 'statusInProgress', // Blue - sprint/milestone running
273
- 'completed': 'statusDone', // Green - all tasks finished
274
- 'archived': 'statusArchived', // Gray - historical record
275
- };
276
- return cycleStatusMap[status] || 'statusDraft';
277
- }
278
- // Handle task statuses
279
- const taskStatusMap = {
280
- // Completed states - Green
281
- 'done': 'statusDone',
282
- 'validated': 'statusDone',
283
- // Active states - Blue
284
- 'active': 'statusInProgress',
285
- 'in_progress': 'statusInProgress',
286
- // Ready states - Yellow (only for tasks)
287
- 'ready': 'statusReady',
288
- 'pending': 'statusReady',
289
- // Preparation states - White
290
- 'draft': 'statusDraft',
291
- 'review': 'statusDraft',
292
- // Real blockages - Red (only for NON-epic tasks)
293
- 'blocked': 'statusBlocked',
294
- 'paused': 'statusBlocked',
295
- 'cancelled': 'statusBlocked',
296
- 'discarded': 'statusBlocked',
297
- // Archived states - Gray
298
- 'archived': 'statusArchived',
299
- // Legacy oracle states - White (preparation)
300
- 'audit_oracle_create': 'statusDraft',
301
- 'audit_oracle_close': 'statusDraft',
302
- };
303
- return taskStatusMap[status] || 'statusDraft';
304
- }
305
- }
306
- //# sourceMappingURL=mermaid_renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mermaid_renderer.js","sourceRoot":"","sources":["../../../src/diagram_generator/mermaid_renderer.ts"],"names":[],"mappings":"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"}
@@ -1,116 +0,0 @@
1
- import type { TaskRecord } from '../types';
2
- import type { CycleRecord } from '../types';
3
- export interface DiagramNode {
4
- id: string;
5
- type: 'cycle' | 'epic-task' | 'task';
6
- title: string;
7
- status?: string;
8
- tags?: string[];
9
- originalId: string;
10
- }
11
- export interface DiagramEdge {
12
- from: string;
13
- to: string;
14
- type: 'hierarchy';
15
- }
16
- export interface RelationshipGraph {
17
- nodes: DiagramNode[];
18
- edges: DiagramEdge[];
19
- metadata: {
20
- nodeCount: number;
21
- edgeCount: number;
22
- generatedAt: string;
23
- duplicatesRemoved?: {
24
- nodes: number;
25
- edges: number;
26
- };
27
- };
28
- }
29
- export declare class CircularDependencyError extends Error {
30
- constructor(message: string);
31
- }
32
- export declare class RelationshipAnalyzer {
33
- /**
34
- * Analyzes relationships between cycles and tasks to build a complete graph
35
- */
36
- analyzeRelationships(cycles: CycleRecord[], tasks: TaskRecord[]): RelationshipGraph;
37
- /**
38
- * Builds the initial graph with potential duplicates
39
- */
40
- private buildRawGraph;
41
- /**
42
- * Processes raw graph to remove duplicates and validate structure
43
- */
44
- private processAndValidateGraph;
45
- /**
46
- * Creates the final RelationshipGraph with metadata
47
- */
48
- private createRelationshipGraph;
49
- /**
50
- * Generates clean node ID for Mermaid syntax (removes timestamp, converts hyphens)
51
- */
52
- generateNodeId(record: CycleRecord | TaskRecord): string;
53
- /**
54
- * Builds all nodes from cycles and tasks
55
- */
56
- private buildNodes;
57
- /**
58
- * Builds all hierarchical edges from protocol relationships
59
- */
60
- private buildEdges;
61
- /**
62
- * Checks if a task is an epic based on tags
63
- */
64
- private isEpicTask;
65
- /**
66
- * Detects circular dependencies in the graph
67
- */
68
- private detectCircularDependencies;
69
- /**
70
- * DFS helper for circular dependency detection with path tracking
71
- */
72
- private findCycleDFS;
73
- /**
74
- * Formats a circular dependency error with helpful context
75
- */
76
- private formatCycleError;
77
- /**
78
- * Reports duplicate nodes and edges as console warnings
79
- */
80
- private reportDuplicateWarnings;
81
- /**
82
- * Removes duplicate nodes based on their ID (O(n) performance)
83
- */
84
- private deduplicateNodes;
85
- /**
86
- * Removes duplicate edges based on from-to combination (O(n) performance)
87
- */
88
- private deduplicateEdges;
89
- /**
90
- * Detects and reports duplicate nodes/edges for diagnostic purposes
91
- * Useful for testing and debugging data quality issues
92
- */
93
- detectDuplicates(cycles: CycleRecord[], tasks: TaskRecord[]): {
94
- duplicateNodes: Array<{
95
- id: string;
96
- count: number;
97
- sources: string[];
98
- }>;
99
- duplicateEdges: Array<{
100
- edge: string;
101
- count: number;
102
- }>;
103
- };
104
- /**
105
- * Filters cycles and tasks based on specified criteria
106
- */
107
- filterEntities(cycles: CycleRecord[], tasks: TaskRecord[], filters: {
108
- cycleId?: string;
109
- taskId?: string;
110
- packageName?: string;
111
- }): {
112
- filteredCycles: CycleRecord[];
113
- filteredTasks: TaskRecord[];
114
- };
115
- }
116
- //# sourceMappingURL=relationship_analyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relationship_analyzer.d.ts","sourceRoot":"","sources":["../../../src/diagram_generator/relationship_analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACH;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,oBAAoB;IAE/B;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,iBAAiB;IAUnF;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM;IAQxD;;OAEG;IACH,OAAO,CAAC,UAAU;IAmClB;;OAEG;IACH,OAAO,CAAC,UAAU;IAyClB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA2BlC;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6BxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuD/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG;QAC5D,cAAc,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;QACxE,cAAc,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACxD;IA+BD;;OAEG;IACH,cAAc,CACZ,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GACA;QAAE,cAAc,EAAE,WAAW,EAAE,CAAC;QAAC,aAAa,EAAE,UAAU,EAAE,CAAA;KAAE;CAoElE"}