@gitgov/core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. package/README.md +303 -0
  2. package/dist/scripts/compile-json-to-types.d.ts +11 -0
  3. package/dist/scripts/compile-json-to-types.d.ts.map +1 -0
  4. package/dist/scripts/compile-json-to-types.js +129 -0
  5. package/dist/scripts/compile-json-to-types.js.map +1 -0
  6. package/dist/scripts/diagnose-duplicates.d.ts +7 -0
  7. package/dist/scripts/diagnose-duplicates.d.ts.map +1 -0
  8. package/dist/scripts/diagnose-duplicates.js +72 -0
  9. package/dist/scripts/diagnose-duplicates.js.map +1 -0
  10. package/dist/scripts/generate-indexes.d.ts +22 -0
  11. package/dist/scripts/generate-indexes.d.ts.map +1 -0
  12. package/dist/scripts/generate-indexes.js +168 -0
  13. package/dist/scripts/generate-indexes.js.map +1 -0
  14. package/dist/scripts/sync-schemas.d.ts +10 -0
  15. package/dist/scripts/sync-schemas.d.ts.map +1 -0
  16. package/dist/scripts/sync-schemas.js +84 -0
  17. package/dist/scripts/sync-schemas.js.map +1 -0
  18. package/dist/scripts/sync-workflow-configs.d.ts +11 -0
  19. package/dist/scripts/sync-workflow-configs.d.ts.map +1 -0
  20. package/dist/scripts/sync-workflow-configs.js +61 -0
  21. package/dist/scripts/sync-workflow-configs.js.map +1 -0
  22. package/dist/scripts/update-diagram.d.ts +7 -0
  23. package/dist/scripts/update-diagram.d.ts.map +1 -0
  24. package/dist/scripts/update-diagram.js +47 -0
  25. package/dist/scripts/update-diagram.js.map +1 -0
  26. package/dist/scripts/validate-schemas.d.ts +18 -0
  27. package/dist/scripts/validate-schemas.d.ts.map +1 -0
  28. package/dist/scripts/validate-schemas.js +313 -0
  29. package/dist/scripts/validate-schemas.js.map +1 -0
  30. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.d.ts +2 -0
  31. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.d.ts.map +1 -0
  32. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.js +507 -0
  33. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.js.map +1 -0
  34. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.d.ts +2 -0
  35. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.d.ts.map +1 -0
  36. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.js +1282 -0
  37. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.js.map +1 -0
  38. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.d.ts +10 -0
  39. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.d.ts.map +1 -0
  40. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.js +144 -0
  41. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.js.map +1 -0
  42. package/dist/src/adapters/backlog_adapter/index.d.ts +213 -0
  43. package/dist/src/adapters/backlog_adapter/index.d.ts.map +1 -0
  44. package/dist/src/adapters/backlog_adapter/index.js +924 -0
  45. package/dist/src/adapters/backlog_adapter/index.js.map +1 -0
  46. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.d.ts +2 -0
  47. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.d.ts.map +1 -0
  48. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.js +505 -0
  49. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.js.map +1 -0
  50. package/dist/src/adapters/changelog_adapter/index.d.ts +101 -0
  51. package/dist/src/adapters/changelog_adapter/index.d.ts.map +1 -0
  52. package/dist/src/adapters/changelog_adapter/index.js +197 -0
  53. package/dist/src/adapters/changelog_adapter/index.js.map +1 -0
  54. package/dist/src/adapters/execution_adapter/execution_adapter.test.d.ts +2 -0
  55. package/dist/src/adapters/execution_adapter/execution_adapter.test.d.ts.map +1 -0
  56. package/dist/src/adapters/execution_adapter/execution_adapter.test.js +266 -0
  57. package/dist/src/adapters/execution_adapter/execution_adapter.test.js.map +1 -0
  58. package/dist/src/adapters/execution_adapter/index.d.ts +90 -0
  59. package/dist/src/adapters/execution_adapter/index.d.ts.map +1 -0
  60. package/dist/src/adapters/execution_adapter/index.js +150 -0
  61. package/dist/src/adapters/execution_adapter/index.js.map +1 -0
  62. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.d.ts +2 -0
  63. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.d.ts.map +1 -0
  64. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.js +256 -0
  65. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.js.map +1 -0
  66. package/dist/src/adapters/feedback_adapter/index.d.ts +95 -0
  67. package/dist/src/adapters/feedback_adapter/index.d.ts.map +1 -0
  68. package/dist/src/adapters/feedback_adapter/index.js +192 -0
  69. package/dist/src/adapters/feedback_adapter/index.js.map +1 -0
  70. package/dist/src/adapters/identity_adapter/identity_adapter.test.d.ts +2 -0
  71. package/dist/src/adapters/identity_adapter/identity_adapter.test.d.ts.map +1 -0
  72. package/dist/src/adapters/identity_adapter/identity_adapter.test.js +624 -0
  73. package/dist/src/adapters/identity_adapter/identity_adapter.test.js.map +1 -0
  74. package/dist/src/adapters/identity_adapter/index.d.ts +82 -0
  75. package/dist/src/adapters/identity_adapter/index.d.ts.map +1 -0
  76. package/dist/src/adapters/identity_adapter/index.js +336 -0
  77. package/dist/src/adapters/identity_adapter/index.js.map +1 -0
  78. package/dist/src/adapters/index.d.ts +10 -0
  79. package/dist/src/adapters/index.d.ts.map +1 -0
  80. package/dist/src/adapters/index.js +10 -0
  81. package/dist/src/adapters/index.js.map +1 -0
  82. package/dist/src/adapters/indexer_adapter/index.d.ts +214 -0
  83. package/dist/src/adapters/indexer_adapter/index.d.ts.map +1 -0
  84. package/dist/src/adapters/indexer_adapter/index.js +643 -0
  85. package/dist/src/adapters/indexer_adapter/index.js.map +1 -0
  86. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.d.ts +2 -0
  87. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.d.ts.map +1 -0
  88. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.js +409 -0
  89. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.js.map +1 -0
  90. package/dist/src/adapters/metrics_adapter/index.d.ts +189 -0
  91. package/dist/src/adapters/metrics_adapter/index.d.ts.map +1 -0
  92. package/dist/src/adapters/metrics_adapter/index.js +592 -0
  93. package/dist/src/adapters/metrics_adapter/index.js.map +1 -0
  94. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.d.ts +2 -0
  95. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.d.ts.map +1 -0
  96. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.js +558 -0
  97. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.js.map +1 -0
  98. package/dist/src/adapters/project_adapter/index.d.ts +164 -0
  99. package/dist/src/adapters/project_adapter/index.d.ts.map +1 -0
  100. package/dist/src/adapters/project_adapter/index.js +445 -0
  101. package/dist/src/adapters/project_adapter/index.js.map +1 -0
  102. package/dist/src/adapters/project_adapter/project_adapter.test.d.ts +2 -0
  103. package/dist/src/adapters/project_adapter/project_adapter.test.d.ts.map +1 -0
  104. package/dist/src/adapters/project_adapter/project_adapter.test.js +627 -0
  105. package/dist/src/adapters/project_adapter/project_adapter.test.js.map +1 -0
  106. package/dist/src/adapters/workflow_methodology_adapter/index.d.ts +75 -0
  107. package/dist/src/adapters/workflow_methodology_adapter/index.d.ts.map +1 -0
  108. package/dist/src/adapters/workflow_methodology_adapter/index.js +205 -0
  109. package/dist/src/adapters/workflow_methodology_adapter/index.js.map +1 -0
  110. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.d.ts +2 -0
  111. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.d.ts.map +1 -0
  112. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.js +463 -0
  113. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.js.map +1 -0
  114. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.d.ts +2 -0
  115. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.d.ts.map +1 -0
  116. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.js +287 -0
  117. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.js.map +1 -0
  118. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.d.ts +2 -0
  119. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.d.ts.map +1 -0
  120. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.js +278 -0
  121. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.js.map +1 -0
  122. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_default.json +188 -0
  123. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_scrum.json +284 -0
  124. package/dist/src/config_manager/config_manager.test.d.ts +2 -0
  125. package/dist/src/config_manager/config_manager.test.d.ts.map +1 -0
  126. package/dist/src/config_manager/config_manager.test.js +321 -0
  127. package/dist/src/config_manager/config_manager.test.js.map +1 -0
  128. package/dist/src/config_manager/index.d.ts +107 -0
  129. package/dist/src/config_manager/index.d.ts.map +1 -0
  130. package/dist/src/config_manager/index.js +192 -0
  131. package/dist/src/config_manager/index.js.map +1 -0
  132. package/dist/src/crypto/checksum.d.ts +6 -0
  133. package/dist/src/crypto/checksum.d.ts.map +1 -0
  134. package/dist/src/crypto/checksum.js +38 -0
  135. package/dist/src/crypto/checksum.js.map +1 -0
  136. package/dist/src/crypto/checksum.test.d.ts +2 -0
  137. package/dist/src/crypto/checksum.test.d.ts.map +1 -0
  138. package/dist/src/crypto/checksum.test.js +167 -0
  139. package/dist/src/crypto/checksum.test.js.map +1 -0
  140. package/dist/src/crypto/index.d.ts +3 -0
  141. package/dist/src/crypto/index.d.ts.map +1 -0
  142. package/dist/src/crypto/index.js +3 -0
  143. package/dist/src/crypto/index.js.map +1 -0
  144. package/dist/src/crypto/signatures.d.ts +24 -0
  145. package/dist/src/crypto/signatures.d.ts.map +1 -0
  146. package/dist/src/crypto/signatures.js +67 -0
  147. package/dist/src/crypto/signatures.js.map +1 -0
  148. package/dist/src/crypto/signatures.test.d.ts +2 -0
  149. package/dist/src/crypto/signatures.test.d.ts.map +1 -0
  150. package/dist/src/crypto/signatures.test.js +378 -0
  151. package/dist/src/crypto/signatures.test.js.map +1 -0
  152. package/dist/src/diagram_generator/diagram_generator.d.ts +76 -0
  153. package/dist/src/diagram_generator/diagram_generator.d.ts.map +1 -0
  154. package/dist/src/diagram_generator/diagram_generator.js +233 -0
  155. package/dist/src/diagram_generator/diagram_generator.js.map +1 -0
  156. package/dist/src/diagram_generator/graph_validator.d.ts +19 -0
  157. package/dist/src/diagram_generator/graph_validator.d.ts.map +1 -0
  158. package/dist/src/diagram_generator/graph_validator.js +98 -0
  159. package/dist/src/diagram_generator/graph_validator.js.map +1 -0
  160. package/dist/src/diagram_generator/index.d.ts +4 -0
  161. package/dist/src/diagram_generator/index.d.ts.map +1 -0
  162. package/dist/src/diagram_generator/index.js +4 -0
  163. package/dist/src/diagram_generator/index.js.map +1 -0
  164. package/dist/src/diagram_generator/mermaid_renderer.d.ts +82 -0
  165. package/dist/src/diagram_generator/mermaid_renderer.d.ts.map +1 -0
  166. package/dist/src/diagram_generator/mermaid_renderer.js +306 -0
  167. package/dist/src/diagram_generator/mermaid_renderer.js.map +1 -0
  168. package/dist/src/diagram_generator/relationship_analyzer.d.ts +116 -0
  169. package/dist/src/diagram_generator/relationship_analyzer.d.ts.map +1 -0
  170. package/dist/src/diagram_generator/relationship_analyzer.js +381 -0
  171. package/dist/src/diagram_generator/relationship_analyzer.js.map +1 -0
  172. package/dist/src/event_bus/event_bus.d.ts +110 -0
  173. package/dist/src/event_bus/event_bus.d.ts.map +1 -0
  174. package/dist/src/event_bus/event_bus.js +161 -0
  175. package/dist/src/event_bus/event_bus.js.map +1 -0
  176. package/dist/src/event_bus/event_bus.test.d.ts +2 -0
  177. package/dist/src/event_bus/event_bus.test.d.ts.map +1 -0
  178. package/dist/src/event_bus/event_bus.test.js +332 -0
  179. package/dist/src/event_bus/event_bus.test.js.map +1 -0
  180. package/dist/src/event_bus/event_bus_integration.test.d.ts +2 -0
  181. package/dist/src/event_bus/event_bus_integration.test.d.ts.map +1 -0
  182. package/dist/src/event_bus/event_bus_integration.test.js +474 -0
  183. package/dist/src/event_bus/event_bus_integration.test.js.map +1 -0
  184. package/dist/src/event_bus/index.d.ts +3 -0
  185. package/dist/src/event_bus/index.d.ts.map +1 -0
  186. package/dist/src/event_bus/index.js +3 -0
  187. package/dist/src/event_bus/index.js.map +1 -0
  188. package/dist/src/event_bus/types.d.ts +203 -0
  189. package/dist/src/event_bus/types.d.ts.map +1 -0
  190. package/dist/src/event_bus/types.js +5 -0
  191. package/dist/src/event_bus/types.js.map +1 -0
  192. package/dist/src/factories/actor_factory.d.ts +6 -0
  193. package/dist/src/factories/actor_factory.d.ts.map +1 -0
  194. package/dist/src/factories/actor_factory.js +25 -0
  195. package/dist/src/factories/actor_factory.js.map +1 -0
  196. package/dist/src/factories/actor_factory.test.d.ts +2 -0
  197. package/dist/src/factories/actor_factory.test.d.ts.map +1 -0
  198. package/dist/src/factories/actor_factory.test.js +169 -0
  199. package/dist/src/factories/actor_factory.test.js.map +1 -0
  200. package/dist/src/factories/agent_factory.d.ts +6 -0
  201. package/dist/src/factories/agent_factory.d.ts.map +1 -0
  202. package/dist/src/factories/agent_factory.js +25 -0
  203. package/dist/src/factories/agent_factory.js.map +1 -0
  204. package/dist/src/factories/agent_factory.test.d.ts +2 -0
  205. package/dist/src/factories/agent_factory.test.d.ts.map +1 -0
  206. package/dist/src/factories/agent_factory.test.js +199 -0
  207. package/dist/src/factories/agent_factory.test.js.map +1 -0
  208. package/dist/src/factories/changelog_factory.d.ts +9 -0
  209. package/dist/src/factories/changelog_factory.d.ts.map +1 -0
  210. package/dist/src/factories/changelog_factory.js +46 -0
  211. package/dist/src/factories/changelog_factory.js.map +1 -0
  212. package/dist/src/factories/changelog_factory.test.d.ts +2 -0
  213. package/dist/src/factories/changelog_factory.test.d.ts.map +1 -0
  214. package/dist/src/factories/changelog_factory.test.js +368 -0
  215. package/dist/src/factories/changelog_factory.test.js.map +1 -0
  216. package/dist/src/factories/cycle_factory.d.ts +6 -0
  217. package/dist/src/factories/cycle_factory.d.ts.map +1 -0
  218. package/dist/src/factories/cycle_factory.js +28 -0
  219. package/dist/src/factories/cycle_factory.js.map +1 -0
  220. package/dist/src/factories/cycle_factory.test.d.ts +2 -0
  221. package/dist/src/factories/cycle_factory.test.d.ts.map +1 -0
  222. package/dist/src/factories/cycle_factory.test.js +175 -0
  223. package/dist/src/factories/cycle_factory.test.js.map +1 -0
  224. package/dist/src/factories/execution_factory.d.ts +9 -0
  225. package/dist/src/factories/execution_factory.d.ts.map +1 -0
  226. package/dist/src/factories/execution_factory.js +29 -0
  227. package/dist/src/factories/execution_factory.js.map +1 -0
  228. package/dist/src/factories/execution_factory.test.d.ts +2 -0
  229. package/dist/src/factories/execution_factory.test.d.ts.map +1 -0
  230. package/dist/src/factories/execution_factory.test.js +207 -0
  231. package/dist/src/factories/execution_factory.test.js.map +1 -0
  232. package/dist/src/factories/feedback_factory.d.ts +9 -0
  233. package/dist/src/factories/feedback_factory.d.ts.map +1 -0
  234. package/dist/src/factories/feedback_factory.js +30 -0
  235. package/dist/src/factories/feedback_factory.js.map +1 -0
  236. package/dist/src/factories/feedback_factory.test.d.ts +2 -0
  237. package/dist/src/factories/feedback_factory.test.d.ts.map +1 -0
  238. package/dist/src/factories/feedback_factory.test.js +256 -0
  239. package/dist/src/factories/feedback_factory.test.js.map +1 -0
  240. package/dist/src/factories/index.d.ts +9 -0
  241. package/dist/src/factories/index.d.ts.map +1 -0
  242. package/dist/src/factories/index.js +9 -0
  243. package/dist/src/factories/index.js.map +1 -0
  244. package/dist/src/factories/task_factory.d.ts +6 -0
  245. package/dist/src/factories/task_factory.d.ts.map +1 -0
  246. package/dist/src/factories/task_factory.js +30 -0
  247. package/dist/src/factories/task_factory.js.map +1 -0
  248. package/dist/src/factories/task_factory.test.d.ts +2 -0
  249. package/dist/src/factories/task_factory.test.d.ts.map +1 -0
  250. package/dist/src/factories/task_factory.test.js +197 -0
  251. package/dist/src/factories/task_factory.test.js.map +1 -0
  252. package/dist/src/factories/workflow_methodology_factory.d.ts +11 -0
  253. package/dist/src/factories/workflow_methodology_factory.d.ts.map +1 -0
  254. package/dist/src/factories/workflow_methodology_factory.js +173 -0
  255. package/dist/src/factories/workflow_methodology_factory.js.map +1 -0
  256. package/dist/src/factories/workflow_methodology_factory.test.d.ts +2 -0
  257. package/dist/src/factories/workflow_methodology_factory.test.d.ts.map +1 -0
  258. package/dist/src/factories/workflow_methodology_factory.test.js +244 -0
  259. package/dist/src/factories/workflow_methodology_factory.test.js.map +1 -0
  260. package/dist/src/index.d.ts +21 -0
  261. package/dist/src/index.d.ts.map +1 -0
  262. package/dist/src/index.js +23 -0
  263. package/dist/src/index.js.map +1 -0
  264. package/dist/src/integration/cycles_tasks_integration.test.d.ts +2 -0
  265. package/dist/src/integration/cycles_tasks_integration.test.d.ts.map +1 -0
  266. package/dist/src/integration/cycles_tasks_integration.test.js +258 -0
  267. package/dist/src/integration/cycles_tasks_integration.test.js.map +1 -0
  268. package/dist/src/integration/schema_integration.test.d.ts +8 -0
  269. package/dist/src/integration/schema_integration.test.d.ts.map +1 -0
  270. package/dist/src/integration/schema_integration.test.js +279 -0
  271. package/dist/src/integration/schema_integration.test.js.map +1 -0
  272. package/dist/src/logger/index.d.ts +2 -0
  273. package/dist/src/logger/index.d.ts.map +1 -0
  274. package/dist/src/logger/index.js +2 -0
  275. package/dist/src/logger/index.js.map +1 -0
  276. package/dist/src/logger/logger.d.ts +10 -0
  277. package/dist/src/logger/logger.d.ts.map +1 -0
  278. package/dist/src/logger/logger.js +48 -0
  279. package/dist/src/logger/logger.js.map +1 -0
  280. package/dist/src/schemas/errors.d.ts +28 -0
  281. package/dist/src/schemas/errors.d.ts.map +1 -0
  282. package/dist/src/schemas/errors.js +31 -0
  283. package/dist/src/schemas/errors.js.map +1 -0
  284. package/dist/src/schemas/generated/actor_record_schema.json +91 -0
  285. package/dist/src/schemas/generated/agent_record_schema.json +142 -0
  286. package/dist/src/schemas/generated/changelog_record_schema.json +227 -0
  287. package/dist/src/schemas/generated/cycle_record_schema.json +80 -0
  288. package/dist/src/schemas/generated/embedded_metadata_schema.json +318 -0
  289. package/dist/src/schemas/generated/execution_record_schema.json +89 -0
  290. package/dist/src/schemas/generated/feedback_record_schema.json +83 -0
  291. package/dist/src/schemas/generated/index.d.ts +2221 -0
  292. package/dist/src/schemas/generated/index.d.ts.map +1 -0
  293. package/dist/src/schemas/generated/index.js +48 -0
  294. package/dist/src/schemas/generated/index.js.map +1 -0
  295. package/dist/src/schemas/generated/task_record_schema.json +103 -0
  296. package/dist/src/schemas/generated/workflow_methodology_record_schema.json +393 -0
  297. package/dist/src/schemas/index.d.ts +4 -0
  298. package/dist/src/schemas/index.d.ts.map +1 -0
  299. package/dist/src/schemas/index.js +4 -0
  300. package/dist/src/schemas/index.js.map +1 -0
  301. package/dist/src/schemas/schema_cache.d.ts +39 -0
  302. package/dist/src/schemas/schema_cache.d.ts.map +1 -0
  303. package/dist/src/schemas/schema_cache.js +109 -0
  304. package/dist/src/schemas/schema_cache.js.map +1 -0
  305. package/dist/src/schemas/schema_cache.test.d.ts +2 -0
  306. package/dist/src/schemas/schema_cache.test.d.ts.map +1 -0
  307. package/dist/src/schemas/schema_cache.test.js +163 -0
  308. package/dist/src/schemas/schema_cache.test.js.map +1 -0
  309. package/dist/src/store/index.d.ts +2 -0
  310. package/dist/src/store/index.d.ts.map +1 -0
  311. package/dist/src/store/index.js +2 -0
  312. package/dist/src/store/index.js.map +1 -0
  313. package/dist/src/store/record_store.d.ts +30 -0
  314. package/dist/src/store/record_store.d.ts.map +1 -0
  315. package/dist/src/store/record_store.js +83 -0
  316. package/dist/src/store/record_store.js.map +1 -0
  317. package/dist/src/store/record_store.test.d.ts +2 -0
  318. package/dist/src/store/record_store.test.d.ts.map +1 -0
  319. package/dist/src/store/record_store.test.js +646 -0
  320. package/dist/src/store/record_store.test.js.map +1 -0
  321. package/dist/src/types/common.types.d.ts +43 -0
  322. package/dist/src/types/common.types.d.ts.map +1 -0
  323. package/dist/src/types/common.types.js +13 -0
  324. package/dist/src/types/common.types.js.map +1 -0
  325. package/dist/src/types/embedded.types.d.ts +17 -0
  326. package/dist/src/types/embedded.types.d.ts.map +1 -0
  327. package/dist/src/types/embedded.types.js +2 -0
  328. package/dist/src/types/embedded.types.js.map +1 -0
  329. package/dist/src/types/generated/actor_record.d.ts +45 -0
  330. package/dist/src/types/generated/actor_record.d.ts.map +1 -0
  331. package/dist/src/types/generated/actor_record.js +7 -0
  332. package/dist/src/types/generated/actor_record.js.map +1 -0
  333. package/dist/src/types/generated/agent_record.d.ts +40 -0
  334. package/dist/src/types/generated/agent_record.d.ts.map +1 -0
  335. package/dist/src/types/generated/agent_record.js +7 -0
  336. package/dist/src/types/generated/agent_record.js.map +1 -0
  337. package/dist/src/types/generated/changelog_record.d.ts +100 -0
  338. package/dist/src/types/generated/changelog_record.d.ts.map +1 -0
  339. package/dist/src/types/generated/changelog_record.js +7 -0
  340. package/dist/src/types/generated/changelog_record.js.map +1 -0
  341. package/dist/src/types/generated/cycle_record.d.ts +36 -0
  342. package/dist/src/types/generated/cycle_record.d.ts.map +1 -0
  343. package/dist/src/types/generated/cycle_record.js +7 -0
  344. package/dist/src/types/generated/cycle_record.js.map +1 -0
  345. package/dist/src/types/generated/embedded_metadata.d.ts +94 -0
  346. package/dist/src/types/generated/embedded_metadata.d.ts.map +1 -0
  347. package/dist/src/types/generated/embedded_metadata.js +7 -0
  348. package/dist/src/types/generated/embedded_metadata.js.map +1 -0
  349. package/dist/src/types/generated/execution_record.d.ts +39 -0
  350. package/dist/src/types/generated/execution_record.d.ts.map +1 -0
  351. package/dist/src/types/generated/execution_record.js +7 -0
  352. package/dist/src/types/generated/execution_record.js.map +1 -0
  353. package/dist/src/types/generated/feedback_record.d.ts +43 -0
  354. package/dist/src/types/generated/feedback_record.d.ts.map +1 -0
  355. package/dist/src/types/generated/feedback_record.js +7 -0
  356. package/dist/src/types/generated/feedback_record.js.map +1 -0
  357. package/dist/src/types/generated/index.d.ts +15 -0
  358. package/dist/src/types/generated/index.d.ts.map +1 -0
  359. package/dist/src/types/generated/index.js +15 -0
  360. package/dist/src/types/generated/index.js.map +1 -0
  361. package/dist/src/types/generated/task_record.d.ts +47 -0
  362. package/dist/src/types/generated/task_record.d.ts.map +1 -0
  363. package/dist/src/types/generated/task_record.js +7 -0
  364. package/dist/src/types/generated/task_record.js.map +1 -0
  365. package/dist/src/types/generated/workflow_methodology_record.d.ts +211 -0
  366. package/dist/src/types/generated/workflow_methodology_record.d.ts.map +1 -0
  367. package/dist/src/types/generated/workflow_methodology_record.js +7 -0
  368. package/dist/src/types/generated/workflow_methodology_record.js.map +1 -0
  369. package/dist/src/types/index.d.ts +4 -0
  370. package/dist/src/types/index.d.ts.map +1 -0
  371. package/dist/src/types/index.js +4 -0
  372. package/dist/src/types/index.js.map +1 -0
  373. package/dist/src/utils/id_generator.d.ts +44 -0
  374. package/dist/src/utils/id_generator.d.ts.map +1 -0
  375. package/dist/src/utils/id_generator.js +107 -0
  376. package/dist/src/utils/id_generator.js.map +1 -0
  377. package/dist/src/utils/id_generator.test.d.ts +2 -0
  378. package/dist/src/utils/id_generator.test.d.ts.map +1 -0
  379. package/dist/src/utils/id_generator.test.js +100 -0
  380. package/dist/src/utils/id_generator.test.js.map +1 -0
  381. package/dist/src/utils/index.d.ts +2 -0
  382. package/dist/src/utils/index.d.ts.map +1 -0
  383. package/dist/src/utils/index.js +3 -0
  384. package/dist/src/utils/index.js.map +1 -0
  385. package/dist/src/validation/actor_validator.d.ts +21 -0
  386. package/dist/src/validation/actor_validator.d.ts.map +1 -0
  387. package/dist/src/validation/actor_validator.js +48 -0
  388. package/dist/src/validation/actor_validator.js.map +1 -0
  389. package/dist/src/validation/actor_validator.test.d.ts +2 -0
  390. package/dist/src/validation/actor_validator.test.d.ts.map +1 -0
  391. package/dist/src/validation/actor_validator.test.js +83 -0
  392. package/dist/src/validation/actor_validator.test.js.map +1 -0
  393. package/dist/src/validation/agent_validator.d.ts +30 -0
  394. package/dist/src/validation/agent_validator.d.ts.map +1 -0
  395. package/dist/src/validation/agent_validator.js +66 -0
  396. package/dist/src/validation/agent_validator.js.map +1 -0
  397. package/dist/src/validation/agent_validator.test.d.ts +2 -0
  398. package/dist/src/validation/agent_validator.test.d.ts.map +1 -0
  399. package/dist/src/validation/agent_validator.test.js +73 -0
  400. package/dist/src/validation/agent_validator.test.js.map +1 -0
  401. package/dist/src/validation/changelog_validator.d.ts +23 -0
  402. package/dist/src/validation/changelog_validator.d.ts.map +1 -0
  403. package/dist/src/validation/changelog_validator.js +58 -0
  404. package/dist/src/validation/changelog_validator.js.map +1 -0
  405. package/dist/src/validation/changelog_validator.test.d.ts +2 -0
  406. package/dist/src/validation/changelog_validator.test.d.ts.map +1 -0
  407. package/dist/src/validation/changelog_validator.test.js +401 -0
  408. package/dist/src/validation/changelog_validator.test.js.map +1 -0
  409. package/dist/src/validation/common.d.ts +10 -0
  410. package/dist/src/validation/common.d.ts.map +1 -0
  411. package/dist/src/validation/common.js +12 -0
  412. package/dist/src/validation/common.js.map +1 -0
  413. package/dist/src/validation/cycle_validator.d.ts +24 -0
  414. package/dist/src/validation/cycle_validator.d.ts.map +1 -0
  415. package/dist/src/validation/cycle_validator.js +51 -0
  416. package/dist/src/validation/cycle_validator.js.map +1 -0
  417. package/dist/src/validation/cycle_validator.test.d.ts +2 -0
  418. package/dist/src/validation/cycle_validator.test.d.ts.map +1 -0
  419. package/dist/src/validation/cycle_validator.test.js +182 -0
  420. package/dist/src/validation/cycle_validator.test.js.map +1 -0
  421. package/dist/src/validation/embedded_metadata_validator.d.ts +26 -0
  422. package/dist/src/validation/embedded_metadata_validator.d.ts.map +1 -0
  423. package/dist/src/validation/embedded_metadata_validator.js +122 -0
  424. package/dist/src/validation/embedded_metadata_validator.js.map +1 -0
  425. package/dist/src/validation/embedded_metadata_validator.test.d.ts +2 -0
  426. package/dist/src/validation/embedded_metadata_validator.test.d.ts.map +1 -0
  427. package/dist/src/validation/embedded_metadata_validator.test.js +316 -0
  428. package/dist/src/validation/embedded_metadata_validator.test.js.map +1 -0
  429. package/dist/src/validation/errors.d.ts +67 -0
  430. package/dist/src/validation/errors.d.ts.map +1 -0
  431. package/dist/src/validation/errors.js +83 -0
  432. package/dist/src/validation/errors.js.map +1 -0
  433. package/dist/src/validation/execution_validator.d.ts +23 -0
  434. package/dist/src/validation/execution_validator.d.ts.map +1 -0
  435. package/dist/src/validation/execution_validator.js +58 -0
  436. package/dist/src/validation/execution_validator.js.map +1 -0
  437. package/dist/src/validation/execution_validator.test.d.ts +2 -0
  438. package/dist/src/validation/execution_validator.test.d.ts.map +1 -0
  439. package/dist/src/validation/execution_validator.test.js +167 -0
  440. package/dist/src/validation/execution_validator.test.js.map +1 -0
  441. package/dist/src/validation/feedback_validator.d.ts +23 -0
  442. package/dist/src/validation/feedback_validator.d.ts.map +1 -0
  443. package/dist/src/validation/feedback_validator.js +58 -0
  444. package/dist/src/validation/feedback_validator.js.map +1 -0
  445. package/dist/src/validation/feedback_validator.test.d.ts +2 -0
  446. package/dist/src/validation/feedback_validator.test.d.ts.map +1 -0
  447. package/dist/src/validation/feedback_validator.test.js +131 -0
  448. package/dist/src/validation/feedback_validator.test.js.map +1 -0
  449. package/dist/src/validation/index.d.ts +11 -0
  450. package/dist/src/validation/index.d.ts.map +1 -0
  451. package/dist/src/validation/index.js +10 -0
  452. package/dist/src/validation/index.js.map +1 -0
  453. package/dist/src/validation/task_validator.d.ts +24 -0
  454. package/dist/src/validation/task_validator.d.ts.map +1 -0
  455. package/dist/src/validation/task_validator.js +50 -0
  456. package/dist/src/validation/task_validator.js.map +1 -0
  457. package/dist/src/validation/task_validator.test.d.ts +2 -0
  458. package/dist/src/validation/task_validator.test.d.ts.map +1 -0
  459. package/dist/src/validation/task_validator.test.js +185 -0
  460. package/dist/src/validation/task_validator.test.js.map +1 -0
  461. package/dist/src/validation/workflow_methodology_validator.d.ts +32 -0
  462. package/dist/src/validation/workflow_methodology_validator.d.ts.map +1 -0
  463. package/dist/src/validation/workflow_methodology_validator.js +91 -0
  464. package/dist/src/validation/workflow_methodology_validator.js.map +1 -0
  465. package/dist/src/validation/workflow_methodology_validator.test.d.ts +2 -0
  466. package/dist/src/validation/workflow_methodology_validator.test.d.ts.map +1 -0
  467. package/dist/src/validation/workflow_methodology_validator.test.js +229 -0
  468. package/dist/src/validation/workflow_methodology_validator.test.js.map +1 -0
  469. package/package.json +63 -0
@@ -0,0 +1,244 @@
1
+ import { createWorkflowMethodologyConfig, createDefaultWorkflowMethodologyConfig } from './workflow_methodology_factory';
2
+ import { DetailedValidationError } from '../validation/common';
3
+ // Manual mock for validateWorkflowMethodologyConfigDetailed
4
+ jest.mock('../validation/workflow_methodology_validator', () => ({
5
+ validateWorkflowMethodologyConfigDetailed: jest.fn()
6
+ .mockReturnValue({ isValid: true, errors: [] }),
7
+ validateWorkflowMethodologyConfigBusinessRules: jest.fn()
8
+ .mockReturnValue({ isValid: true, errors: [] }),
9
+ }));
10
+ describe('createWorkflowMethodologyConfig', () => {
11
+ beforeEach(() => {
12
+ // Reset mocks to default success state before each test
13
+ const { validateWorkflowMethodologyConfigDetailed, validateWorkflowMethodologyConfigBusinessRules } = require('../validation/workflow_methodology_validator');
14
+ validateWorkflowMethodologyConfigDetailed.mockReturnValue({ isValid: true, errors: [] });
15
+ validateWorkflowMethodologyConfigBusinessRules.mockReturnValue({ isValid: true, errors: [] });
16
+ });
17
+ it('[EARS-1] should create a valid workflow methodology config with defaults', async () => {
18
+ const payload = {
19
+ name: 'Custom Test Methodology',
20
+ state_transitions: {
21
+ review: {
22
+ from: ['draft'],
23
+ requires: {
24
+ command: 'gitgov task submit'
25
+ }
26
+ }
27
+ }
28
+ };
29
+ const config = await createWorkflowMethodologyConfig(payload);
30
+ expect(config.version).toBe('1.0.0'); // Default version
31
+ expect(config.name).toBe('Custom Test Methodology');
32
+ expect(config.state_transitions).toBeDefined();
33
+ expect(config.view_configs).toBeDefined(); // Default view configs
34
+ });
35
+ it('[EARS-2] should throw DetailedValidationError for invalid schema', async () => {
36
+ const { validateWorkflowMethodologyConfigDetailed } = require('../validation/workflow_methodology_validator');
37
+ validateWorkflowMethodologyConfigDetailed.mockReturnValue({
38
+ isValid: false,
39
+ errors: [
40
+ { field: 'name', message: 'must be a non-empty string', value: '' },
41
+ { field: 'state_transitions', message: 'is required', value: undefined }
42
+ ]
43
+ });
44
+ const payload = {
45
+ name: '',
46
+ // Missing state_transitions
47
+ };
48
+ await expect(createWorkflowMethodologyConfig(payload))
49
+ .rejects.toThrow(DetailedValidationError);
50
+ });
51
+ it('[EARS-3] should throw DetailedValidationError for business rule violations', async () => {
52
+ const { validateWorkflowMethodologyConfigBusinessRules } = require('../validation/workflow_methodology_validator');
53
+ validateWorkflowMethodologyConfigBusinessRules.mockReturnValue({
54
+ isValid: false,
55
+ errors: [
56
+ { field: 'state_transitions.invalid_state', message: 'Invalid target state: invalid_state', value: 'invalid_state' }
57
+ ]
58
+ });
59
+ const payload = {
60
+ name: 'Test Methodology',
61
+ state_transitions: {
62
+ invalid_state: {
63
+ from: ['draft'],
64
+ requires: {}
65
+ }
66
+ }
67
+ };
68
+ await expect(createWorkflowMethodologyConfig(payload))
69
+ .rejects.toThrow(DetailedValidationError);
70
+ });
71
+ it('[EARS-4] should preserve all provided fields', async () => {
72
+ const payload = {
73
+ version: '2.0.0',
74
+ name: 'Advanced Methodology',
75
+ description: 'Advanced workflow with custom rules',
76
+ state_transitions: {
77
+ review: {
78
+ from: ['draft'],
79
+ requires: {
80
+ command: 'gitgov task submit',
81
+ signatures: {
82
+ '__default__': {
83
+ role: 'submitter',
84
+ capability_roles: ['author'],
85
+ min_approvals: 1
86
+ }
87
+ }
88
+ }
89
+ }
90
+ },
91
+ custom_rules: {
92
+ 'custom_rule': {
93
+ description: 'Custom validation rule',
94
+ validation: 'custom'
95
+ }
96
+ }
97
+ };
98
+ const config = await createWorkflowMethodologyConfig(payload);
99
+ expect(config.version).toBe('2.0.0');
100
+ expect(config.name).toBe('Advanced Methodology');
101
+ expect(config.description).toBe('Advanced workflow with custom rules');
102
+ expect(config.custom_rules).toEqual(payload.custom_rules);
103
+ });
104
+ it('[EARS-5] should create config with minimal required fields', async () => {
105
+ const payload = {
106
+ name: 'Minimal Methodology',
107
+ state_transitions: {
108
+ review: {
109
+ from: ['draft'],
110
+ requires: {
111
+ command: 'gitgov task submit'
112
+ }
113
+ }
114
+ }
115
+ };
116
+ const config = await createWorkflowMethodologyConfig(payload);
117
+ expect(config.name).toBe('Minimal Methodology');
118
+ expect(config.version).toBe('1.0.0'); // Default
119
+ expect(config.state_transitions).toEqual(payload.state_transitions);
120
+ expect(config.view_configs).toBeDefined(); // Default view configs added
121
+ });
122
+ it('[EARS-6] should handle empty payload with all defaults', async () => {
123
+ const config = await createWorkflowMethodologyConfig({});
124
+ expect(config.version).toBe('1.0.0');
125
+ expect(config.name).toBe('Custom Methodology');
126
+ expect(config.state_transitions).toBeDefined();
127
+ expect(config.view_configs).toBeDefined();
128
+ });
129
+ it('[EARS-7] should preserve view_configs when provided', async () => {
130
+ const customViewConfigs = {
131
+ 'custom-view': {
132
+ columns: {
133
+ 'Todo': ['draft', 'review'],
134
+ 'Done': ['done', 'archived']
135
+ },
136
+ theme: 'dark',
137
+ layout: 'grid'
138
+ }
139
+ };
140
+ const payload = {
141
+ name: 'Custom View Methodology',
142
+ state_transitions: {
143
+ review: {
144
+ from: ['draft'],
145
+ requires: { command: 'gitgov task submit' }
146
+ }
147
+ },
148
+ view_configs: customViewConfigs
149
+ };
150
+ const config = await createWorkflowMethodologyConfig(payload);
151
+ expect(config.view_configs).toEqual(customViewConfigs);
152
+ });
153
+ it('[EARS-8] should validate and create complex methodology config', async () => {
154
+ const complexPayload = {
155
+ version: '1.5.0',
156
+ name: 'Enterprise Methodology',
157
+ description: 'Complex enterprise workflow with multiple approval gates',
158
+ state_transitions: {
159
+ review: {
160
+ from: ['draft'],
161
+ requires: {
162
+ command: 'gitgov task submit',
163
+ signatures: {
164
+ '__default__': {
165
+ role: 'submitter',
166
+ capability_roles: ['author'],
167
+ min_approvals: 1
168
+ }
169
+ }
170
+ }
171
+ },
172
+ ready: {
173
+ from: ['review'],
174
+ requires: {
175
+ signatures: {
176
+ 'design': {
177
+ role: 'approver',
178
+ capability_roles: ['approver:design'],
179
+ min_approvals: 1
180
+ },
181
+ 'quality': {
182
+ role: 'approver',
183
+ capability_roles: ['approver:quality'],
184
+ min_approvals: 2
185
+ }
186
+ },
187
+ custom_rules: ['security_scan_required']
188
+ }
189
+ }
190
+ },
191
+ custom_rules: {
192
+ 'security_scan_required': {
193
+ description: 'Security scan must pass before approval',
194
+ validation: 'custom'
195
+ }
196
+ }
197
+ };
198
+ const config = await createWorkflowMethodologyConfig(complexPayload);
199
+ expect(config.version).toBe('1.5.0');
200
+ expect(config.name).toBe('Enterprise Methodology');
201
+ expect(config.description).toBe('Complex enterprise workflow with multiple approval gates');
202
+ expect(config.state_transitions['ready']?.requires.signatures?.['quality']?.min_approvals).toBe(2);
203
+ expect(config.custom_rules?.['security_scan_required']?.validation).toBe('custom');
204
+ });
205
+ });
206
+ describe('createDefaultWorkflowMethodologyConfig', () => {
207
+ beforeEach(() => {
208
+ // Reset mocks to default success state before each test
209
+ const { validateWorkflowMethodologyConfigDetailed, validateWorkflowMethodologyConfigBusinessRules } = require('../validation/workflow_methodology_validator');
210
+ validateWorkflowMethodologyConfigDetailed.mockReturnValue({ isValid: true, errors: [] });
211
+ validateWorkflowMethodologyConfigBusinessRules.mockReturnValue({ isValid: true, errors: [] });
212
+ });
213
+ it('[EARS-9] should create default GitGovernance methodology config', async () => {
214
+ const config = await createDefaultWorkflowMethodologyConfig();
215
+ expect(config.version).toBe('1.0.0');
216
+ expect(config.name).toBe('GitGovernance Default Methodology');
217
+ expect(config.description).toBe('Standard GitGovernance workflow with quality gates and agent collaboration');
218
+ // Verify key transitions exist
219
+ expect(config.state_transitions['review']).toBeDefined();
220
+ expect(config.state_transitions['ready']).toBeDefined();
221
+ expect(config.state_transitions['active']).toBeDefined();
222
+ expect(config.state_transitions['done']).toBeDefined();
223
+ expect(config.state_transitions['archived']).toBeDefined();
224
+ expect(config.state_transitions['paused']).toBeDefined();
225
+ // Verify custom rules exist
226
+ expect(config.custom_rules?.['task_must_have_valid_assignment_for_executor']).toBeDefined();
227
+ expect(config.custom_rules?.['task_must_be_in_active_sprint']).toBeDefined();
228
+ expect(config.custom_rules?.['epic_promotion_required']).toBeDefined();
229
+ // Verify view configs exist
230
+ expect(config.view_configs?.['kanban-4col']).toBeDefined();
231
+ expect(config.view_configs?.['kanban-7col']).toBeDefined();
232
+ });
233
+ it('[EARS-10] should create config that matches workflow_methodology_default.json structure', async () => {
234
+ const config = await createDefaultWorkflowMethodologyConfig();
235
+ // Verify structure matches what's expected by BacklogAdapter
236
+ expect(config.state_transitions['review']?.from).toEqual(['draft']);
237
+ expect(config.state_transitions['review']?.requires.command).toBe('gitgov task submit');
238
+ expect(config.state_transitions['ready']?.requires.signatures?.['design']?.capability_roles).toEqual(['approver:design']);
239
+ expect(config.state_transitions['active']?.requires.custom_rules).toContain('task_must_have_valid_assignment_for_executor');
240
+ expect(config.view_configs?.['kanban-7col']?.columns?.['Active']).toEqual(['active']);
241
+ expect(config.view_configs?.['kanban-7col']?.theme).toBe('corporate');
242
+ });
243
+ });
244
+ //# sourceMappingURL=workflow_methodology_factory.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow_methodology_factory.test.js","sourceRoot":"","sources":["../../../src/factories/workflow_methodology_factory.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export * as Adapters from "./adapters";
2
+ export * as Config from "./config_manager";
3
+ export * as Crypto from "./crypto";
4
+ export * as Factories from "./factories";
5
+ export * as Logger from "./logger";
6
+ export * as Schemas from "./schemas";
7
+ export * as Store from "./store";
8
+ export * as Validation from "./validation";
9
+ export * as Records from "./types";
10
+ export * as EventBus from "./event_bus";
11
+ export * as DiagramGenerator from "./diagram_generator";
12
+ export * as BacklogAdapter from "./adapters/backlog_adapter";
13
+ export * as ChangelogAdapter from "./adapters/changelog_adapter";
14
+ export * as ExecutionAdapter from "./adapters/execution_adapter";
15
+ export * as FeedbackAdapter from "./adapters/feedback_adapter";
16
+ export * as IdentityAdapter from "./adapters/identity_adapter";
17
+ export * as IndexerAdapter from "./adapters/indexer_adapter";
18
+ export * as MetricsAdapter from "./adapters/metrics_adapter";
19
+ export * as ProjectAdapter from "./adapters/project_adapter";
20
+ export * as WorkflowMethodologyAdapter from "./adapters/workflow_methodology_adapter";
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,0BAA0B,MAAM,yCAAyC,CAAC"}
@@ -0,0 +1,23 @@
1
+ export * as Adapters from "./adapters";
2
+ export * as Config from "./config_manager";
3
+ export * as Crypto from "./crypto";
4
+ export * as Factories from "./factories";
5
+ export * as Logger from "./logger";
6
+ export * as Schemas from "./schemas";
7
+ export * as Store from "./store";
8
+ // Utils removed - no longer needed
9
+ export * as Validation from "./validation";
10
+ export * as Records from "./types";
11
+ export * as EventBus from "./event_bus";
12
+ export * as DiagramGenerator from "./diagram_generator";
13
+ // adapters
14
+ export * as BacklogAdapter from "./adapters/backlog_adapter";
15
+ export * as ChangelogAdapter from "./adapters/changelog_adapter";
16
+ export * as ExecutionAdapter from "./adapters/execution_adapter";
17
+ export * as FeedbackAdapter from "./adapters/feedback_adapter";
18
+ export * as IdentityAdapter from "./adapters/identity_adapter";
19
+ export * as IndexerAdapter from "./adapters/indexer_adapter";
20
+ export * as MetricsAdapter from "./adapters/metrics_adapter";
21
+ export * as ProjectAdapter from "./adapters/project_adapter";
22
+ export * as WorkflowMethodologyAdapter from "./adapters/workflow_methodology_adapter";
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,mCAAmC;AACnC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AAExD,WAAW;AACX,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,0BAA0B,MAAM,yCAAyC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cycles_tasks_integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cycles_tasks_integration.test.d.ts","sourceRoot":"","sources":["../../../src/integration/cycles_tasks_integration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,258 @@
1
+ import { createTaskRecord } from '../factories/task_factory';
2
+ import { createCycleRecord } from '../factories/cycle_factory';
3
+ import { validateTaskRecordDetailed } from '../validation/task_validator';
4
+ import { validateCycleRecordDetailed } from '../validation/cycle_validator';
5
+ describe('Cycles ↔ Tasks Integration', () => {
6
+ describe('Bidirectional Relationship Validation', () => {
7
+ it('[EARS-1] should create valid cycle with taskIds referencing existing tasks', async () => {
8
+ // Create tasks first
9
+ const task1 = await createTaskRecord({
10
+ title: 'Implement Authentication',
11
+ description: 'Create user authentication system with JWT tokens',
12
+ priority: 'high',
13
+ tags: ['skill:typescript', 'area:backend']
14
+ });
15
+ const task2 = await createTaskRecord({
16
+ title: 'Create Login UI',
17
+ description: 'Build login form with React components',
18
+ priority: 'medium',
19
+ tags: ['skill:react', 'area:frontend']
20
+ });
21
+ // Create cycle referencing the tasks
22
+ const cycle = await createCycleRecord({
23
+ title: 'Authentication Sprint',
24
+ status: 'planning',
25
+ taskIds: [task1.id, task2.id],
26
+ tags: ['sprint:q4', 'epic:auth']
27
+ });
28
+ // Verify cycle structure
29
+ expect(cycle.taskIds).toContain(task1.id);
30
+ expect(cycle.taskIds).toContain(task2.id);
31
+ expect(cycle.taskIds).toHaveLength(2);
32
+ expect(cycle.status).toBe('planning');
33
+ });
34
+ it('[EARS-2] should create valid tasks with cycleIds referencing existing cycles', async () => {
35
+ // Create cycle first
36
+ const cycle = await createCycleRecord({
37
+ title: 'API Performance Sprint',
38
+ status: 'active',
39
+ tags: ['sprint:q4', 'team:backend']
40
+ });
41
+ // Create tasks referencing the cycle
42
+ const task1 = await createTaskRecord({
43
+ title: 'Optimize Database Queries',
44
+ description: 'Improve query performance for user endpoints',
45
+ priority: 'high',
46
+ cycleIds: [cycle.id],
47
+ tags: ['skill:sql', 'area:database']
48
+ });
49
+ const task2 = await createTaskRecord({
50
+ title: 'Add Redis Caching',
51
+ description: 'Implement caching layer for frequently accessed data',
52
+ priority: 'medium',
53
+ cycleIds: [cycle.id],
54
+ tags: ['skill:redis', 'area:backend']
55
+ });
56
+ // Verify task structure
57
+ expect(task1.cycleIds).toContain(cycle.id);
58
+ expect(task2.cycleIds).toContain(cycle.id);
59
+ expect(task1.cycleIds).toHaveLength(1);
60
+ expect(task2.cycleIds).toHaveLength(1);
61
+ });
62
+ it('[EARS-3] should support tasks belonging to multiple cycles', async () => {
63
+ // Create multiple cycles
64
+ const sprintCycle = await createCycleRecord({
65
+ title: 'Sprint Q4 2024',
66
+ status: 'active',
67
+ tags: ['sprint:q4-2024']
68
+ });
69
+ const epicCycle = await createCycleRecord({
70
+ title: 'User Management Epic',
71
+ status: 'planning',
72
+ tags: ['epic:user-mgmt']
73
+ });
74
+ // Create task that belongs to both cycles
75
+ const sharedTask = await createTaskRecord({
76
+ title: 'Implement User Roles',
77
+ description: 'Create role-based access control system',
78
+ priority: 'critical',
79
+ cycleIds: [sprintCycle.id, epicCycle.id],
80
+ tags: ['skill:typescript', 'area:auth']
81
+ });
82
+ // Verify multi-cycle relationship
83
+ expect(sharedTask.cycleIds).toContain(sprintCycle.id);
84
+ expect(sharedTask.cycleIds).toContain(epicCycle.id);
85
+ expect(sharedTask.cycleIds).toHaveLength(2);
86
+ });
87
+ it('[EARS-4] should support cycles with child cycles (hierarchy)', async () => {
88
+ // Create parent cycle (epic)
89
+ const parentCycle = await createCycleRecord({
90
+ title: 'Q4 Platform Overhaul',
91
+ status: 'planning',
92
+ tags: ['epic:platform', 'quarter:q4']
93
+ });
94
+ // Create child cycles (phases)
95
+ const phase1Cycle = await createCycleRecord({
96
+ title: 'Phase 1: Core Infrastructure',
97
+ status: 'active',
98
+ tags: ['phase:1', 'area:infrastructure']
99
+ });
100
+ const phase2Cycle = await createCycleRecord({
101
+ title: 'Phase 2: User Experience',
102
+ status: 'planning',
103
+ tags: ['phase:2', 'area:frontend']
104
+ });
105
+ // Update parent cycle with child cycles
106
+ const parentWithChildren = await createCycleRecord({
107
+ ...parentCycle,
108
+ childCycleIds: [phase1Cycle.id, phase2Cycle.id]
109
+ });
110
+ // Verify hierarchical structure
111
+ expect(parentWithChildren.childCycleIds).toContain(phase1Cycle.id);
112
+ expect(parentWithChildren.childCycleIds).toContain(phase2Cycle.id);
113
+ expect(parentWithChildren.childCycleIds).toHaveLength(2);
114
+ });
115
+ });
116
+ describe('Protocol Compliance Validation', () => {
117
+ it('[EARS-5] should validate TaskRecord ID format according to task_protocol', async () => {
118
+ const task = await createTaskRecord({
119
+ title: 'Test Task for ID Validation',
120
+ description: 'Testing that task IDs follow the protocol format',
121
+ priority: 'low',
122
+ tags: ['test']
123
+ });
124
+ // Verify ID follows timestamp-task-slug pattern
125
+ expect(task.id).toMatch(/^\d{10}-task-[a-z0-9-]+$/);
126
+ // Verify validation passes
127
+ const validation = validateTaskRecordDetailed(task);
128
+ expect(validation.isValid).toBe(true);
129
+ expect(validation.errors).toHaveLength(0);
130
+ });
131
+ it('[EARS-6] should validate CycleRecord ID format according to cycle_protocol', async () => {
132
+ const cycle = await createCycleRecord({
133
+ title: 'Test Cycle for ID Validation',
134
+ status: 'planning',
135
+ tags: ['test']
136
+ });
137
+ // Verify ID follows timestamp-cycle-slug pattern
138
+ expect(cycle.id).toMatch(/^\d{10}-cycle-[a-z0-9-]+$/);
139
+ // Verify validation passes
140
+ const validation = validateCycleRecordDetailed(cycle);
141
+ expect(validation.isValid).toBe(true);
142
+ expect(validation.errors).toHaveLength(0);
143
+ });
144
+ it('[EARS-7] should validate task status follows canonical states from task_protocol', async () => {
145
+ const validStatuses = ['draft', 'review', 'ready', 'active', 'done', 'archived', 'paused', 'discarded'];
146
+ for (const status of validStatuses) {
147
+ const task = await createTaskRecord({
148
+ title: `Task with ${status} status`,
149
+ description: `Testing task with ${status} status according to protocol`,
150
+ status,
151
+ priority: 'medium',
152
+ tags: ['test']
153
+ });
154
+ expect(task.status).toBe(status);
155
+ const validation = validateTaskRecordDetailed(task);
156
+ expect(validation.isValid).toBe(true);
157
+ }
158
+ });
159
+ it('[EARS-8] should validate cycle status follows canonical states from cycle_protocol', async () => {
160
+ const validStatuses = ['planning', 'active', 'completed', 'archived'];
161
+ for (const status of validStatuses) {
162
+ const cycle = await createCycleRecord({
163
+ title: `Cycle with ${status} status`,
164
+ status,
165
+ tags: ['test']
166
+ });
167
+ expect(cycle.status).toBe(status);
168
+ const validation = validateCycleRecordDetailed(cycle);
169
+ expect(validation.isValid).toBe(true);
170
+ }
171
+ });
172
+ });
173
+ describe('Epic Promotion Workflow Validation', () => {
174
+ it('[EARS-9] should support epic task promotion pattern from task_protocol_appendix', async () => {
175
+ // Create original epic task
176
+ const epicTask = await createTaskRecord({
177
+ title: 'Implement Complete User Management System',
178
+ description: 'Build comprehensive user management with authentication, authorization, and profile management',
179
+ priority: 'critical',
180
+ tags: ['epic:user-management', 'complexity:high']
181
+ });
182
+ // Verify epic task structure
183
+ expect(epicTask.tags).toContain('epic:user-management');
184
+ expect(epicTask.priority).toBe('critical');
185
+ // Create cycle to contain the epic breakdown
186
+ const epicCycle = await createCycleRecord({
187
+ title: 'User Management Epic Implementation',
188
+ status: 'planning',
189
+ taskIds: [epicTask.id], // Epic task is referenced in cycle
190
+ tags: ['epic:user-management', 'derived-from:' + epicTask.id]
191
+ });
192
+ // Create atomic tasks derived from the epic
193
+ const atomicTask1 = await createTaskRecord({
194
+ title: 'Implement User Authentication',
195
+ description: 'Create JWT-based authentication system',
196
+ priority: 'high',
197
+ cycleIds: [epicCycle.id],
198
+ tags: ['derived-from:' + epicTask.id, 'skill:auth']
199
+ });
200
+ const atomicTask2 = await createTaskRecord({
201
+ title: 'Implement User Authorization',
202
+ description: 'Create role-based permission system',
203
+ priority: 'high',
204
+ cycleIds: [epicCycle.id], // Reference the cycle, not another task
205
+ tags: ['derived-from:' + epicTask.id, 'skill:auth']
206
+ });
207
+ // Verify epic promotion structure
208
+ expect(epicCycle.taskIds).toContain(epicTask.id);
209
+ expect(atomicTask1.cycleIds).toContain(epicCycle.id);
210
+ expect(atomicTask1.tags.some(tag => tag.startsWith('derived-from:'))).toBe(true);
211
+ expect(atomicTask2.tags.some(tag => tag.startsWith('derived-from:'))).toBe(true);
212
+ });
213
+ });
214
+ describe('Cross-Module Foundation Validation', () => {
215
+ it('[EARS-10] should create complete task workflow using all modules', async () => {
216
+ // Test the complete pipeline: factory → validator → crypto → store
217
+ // 1. Factory creates valid task
218
+ const task = await createTaskRecord({
219
+ title: 'End-to-End Integration Test Task',
220
+ description: 'This task tests the complete workflow across all modules',
221
+ priority: 'medium',
222
+ tags: ['integration', 'test', 'cross-module']
223
+ });
224
+ // 2. Validator confirms it's valid
225
+ const validation = validateTaskRecordDetailed(task);
226
+ expect(validation.isValid).toBe(true);
227
+ // 3. Crypto can calculate checksum
228
+ const { calculatePayloadChecksum } = require('../crypto/checksum');
229
+ const checksum = calculatePayloadChecksum(task);
230
+ expect(checksum).toMatch(/^[a-f0-9]{64}$/); // SHA-256 hex format
231
+ // 4. Store can persist and retrieve (simulated)
232
+ // Note: This would require actual RecordStore instance,
233
+ // but we're validating the data structure compatibility
234
+ expect(task.id).toMatch(/^\d{10}-task-[a-z0-9-]+$/);
235
+ expect(typeof task.id).toBe('string');
236
+ });
237
+ it('[EARS-11] should create complete cycle workflow using all modules', async () => {
238
+ // Test the complete pipeline: factory → validator → crypto → store
239
+ // 1. Factory creates valid cycle
240
+ const cycle = await createCycleRecord({
241
+ title: 'End-to-End Integration Test Cycle',
242
+ status: 'planning',
243
+ tags: ['integration', 'test', 'cross-module']
244
+ });
245
+ // 2. Validator confirms it's valid
246
+ const validation = validateCycleRecordDetailed(cycle);
247
+ expect(validation.isValid).toBe(true);
248
+ // 3. Crypto can calculate checksum
249
+ const { calculatePayloadChecksum } = require('../crypto/checksum');
250
+ const checksum = calculatePayloadChecksum(cycle);
251
+ expect(checksum).toMatch(/^[a-f0-9]{64}$/); // SHA-256 hex format
252
+ // 4. Store compatibility validation
253
+ expect(cycle.id).toMatch(/^\d{10}-cycle-[a-z0-9-]+$/);
254
+ expect(typeof cycle.id).toBe('string');
255
+ });
256
+ });
257
+ });
258
+ //# sourceMappingURL=cycles_tasks_integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cycles_tasks_integration.test.js","sourceRoot":"","sources":["../../../src/integration/cycles_tasks_integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Schema Integration Tests
3
+ *
4
+ * Tests that verify our JSON schemas work correctly with our validation modules.
5
+ * This ensures consistency between schema definitions and runtime validation.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=schema_integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema_integration.test.d.ts","sourceRoot":"","sources":["../../../src/integration/schema_integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}