@gitgov/core 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. package/README.md +31 -31
  2. package/dist/src/index.d.ts +5475 -21
  3. package/dist/src/index.js +7873 -22
  4. package/dist/src/index.js.map +1 -1
  5. package/package.json +17 -5
  6. package/dist/scripts/compile-json-to-types.d.ts +0 -11
  7. package/dist/scripts/compile-json-to-types.d.ts.map +0 -1
  8. package/dist/scripts/compile-json-to-types.js +0 -129
  9. package/dist/scripts/compile-json-to-types.js.map +0 -1
  10. package/dist/scripts/diagnose-duplicates.d.ts +0 -7
  11. package/dist/scripts/diagnose-duplicates.d.ts.map +0 -1
  12. package/dist/scripts/diagnose-duplicates.js +0 -72
  13. package/dist/scripts/diagnose-duplicates.js.map +0 -1
  14. package/dist/scripts/generate-indexes.d.ts +0 -22
  15. package/dist/scripts/generate-indexes.d.ts.map +0 -1
  16. package/dist/scripts/generate-indexes.js +0 -168
  17. package/dist/scripts/generate-indexes.js.map +0 -1
  18. package/dist/scripts/sync-schemas.d.ts +0 -10
  19. package/dist/scripts/sync-schemas.d.ts.map +0 -1
  20. package/dist/scripts/sync-schemas.js +0 -84
  21. package/dist/scripts/sync-schemas.js.map +0 -1
  22. package/dist/scripts/sync-workflow-configs.d.ts +0 -11
  23. package/dist/scripts/sync-workflow-configs.d.ts.map +0 -1
  24. package/dist/scripts/sync-workflow-configs.js +0 -61
  25. package/dist/scripts/sync-workflow-configs.js.map +0 -1
  26. package/dist/scripts/update-diagram.d.ts +0 -7
  27. package/dist/scripts/update-diagram.d.ts.map +0 -1
  28. package/dist/scripts/update-diagram.js +0 -47
  29. package/dist/scripts/update-diagram.js.map +0 -1
  30. package/dist/scripts/validate-schemas.d.ts +0 -18
  31. package/dist/scripts/validate-schemas.d.ts.map +0 -1
  32. package/dist/scripts/validate-schemas.js +0 -313
  33. package/dist/scripts/validate-schemas.js.map +0 -1
  34. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.d.ts +0 -2
  35. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.d.ts.map +0 -1
  36. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.js +0 -507
  37. package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.js.map +0 -1
  38. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.d.ts +0 -2
  39. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.d.ts.map +0 -1
  40. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.js +0 -1282
  41. package/dist/src/adapters/backlog_adapter/backlog_adapter.test.js.map +0 -1
  42. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.d.ts +0 -10
  43. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.d.ts.map +0 -1
  44. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.js +0 -144
  45. package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.js.map +0 -1
  46. package/dist/src/adapters/backlog_adapter/index.d.ts +0 -213
  47. package/dist/src/adapters/backlog_adapter/index.d.ts.map +0 -1
  48. package/dist/src/adapters/backlog_adapter/index.js +0 -924
  49. package/dist/src/adapters/backlog_adapter/index.js.map +0 -1
  50. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.d.ts +0 -2
  51. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.d.ts.map +0 -1
  52. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.js +0 -505
  53. package/dist/src/adapters/changelog_adapter/changelog_adapter.test.js.map +0 -1
  54. package/dist/src/adapters/changelog_adapter/index.d.ts +0 -101
  55. package/dist/src/adapters/changelog_adapter/index.d.ts.map +0 -1
  56. package/dist/src/adapters/changelog_adapter/index.js +0 -197
  57. package/dist/src/adapters/changelog_adapter/index.js.map +0 -1
  58. package/dist/src/adapters/execution_adapter/execution_adapter.test.d.ts +0 -2
  59. package/dist/src/adapters/execution_adapter/execution_adapter.test.d.ts.map +0 -1
  60. package/dist/src/adapters/execution_adapter/execution_adapter.test.js +0 -266
  61. package/dist/src/adapters/execution_adapter/execution_adapter.test.js.map +0 -1
  62. package/dist/src/adapters/execution_adapter/index.d.ts +0 -90
  63. package/dist/src/adapters/execution_adapter/index.d.ts.map +0 -1
  64. package/dist/src/adapters/execution_adapter/index.js +0 -150
  65. package/dist/src/adapters/execution_adapter/index.js.map +0 -1
  66. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.d.ts +0 -2
  67. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.d.ts.map +0 -1
  68. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.js +0 -256
  69. package/dist/src/adapters/feedback_adapter/feedback_adapter.test.js.map +0 -1
  70. package/dist/src/adapters/feedback_adapter/index.d.ts +0 -95
  71. package/dist/src/adapters/feedback_adapter/index.d.ts.map +0 -1
  72. package/dist/src/adapters/feedback_adapter/index.js +0 -192
  73. package/dist/src/adapters/feedback_adapter/index.js.map +0 -1
  74. package/dist/src/adapters/identity_adapter/identity_adapter.test.d.ts +0 -2
  75. package/dist/src/adapters/identity_adapter/identity_adapter.test.d.ts.map +0 -1
  76. package/dist/src/adapters/identity_adapter/identity_adapter.test.js +0 -624
  77. package/dist/src/adapters/identity_adapter/identity_adapter.test.js.map +0 -1
  78. package/dist/src/adapters/identity_adapter/index.d.ts +0 -82
  79. package/dist/src/adapters/identity_adapter/index.d.ts.map +0 -1
  80. package/dist/src/adapters/identity_adapter/index.js +0 -336
  81. package/dist/src/adapters/identity_adapter/index.js.map +0 -1
  82. package/dist/src/adapters/index.d.ts +0 -10
  83. package/dist/src/adapters/index.d.ts.map +0 -1
  84. package/dist/src/adapters/index.js +0 -10
  85. package/dist/src/adapters/index.js.map +0 -1
  86. package/dist/src/adapters/indexer_adapter/index.d.ts +0 -214
  87. package/dist/src/adapters/indexer_adapter/index.d.ts.map +0 -1
  88. package/dist/src/adapters/indexer_adapter/index.js +0 -643
  89. package/dist/src/adapters/indexer_adapter/index.js.map +0 -1
  90. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.d.ts +0 -2
  91. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.d.ts.map +0 -1
  92. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.js +0 -409
  93. package/dist/src/adapters/indexer_adapter/indexer_adapter.test.js.map +0 -1
  94. package/dist/src/adapters/metrics_adapter/index.d.ts +0 -189
  95. package/dist/src/adapters/metrics_adapter/index.d.ts.map +0 -1
  96. package/dist/src/adapters/metrics_adapter/index.js +0 -592
  97. package/dist/src/adapters/metrics_adapter/index.js.map +0 -1
  98. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.d.ts +0 -2
  99. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.d.ts.map +0 -1
  100. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.js +0 -558
  101. package/dist/src/adapters/metrics_adapter/metrics_adapter.test.js.map +0 -1
  102. package/dist/src/adapters/project_adapter/index.d.ts +0 -164
  103. package/dist/src/adapters/project_adapter/index.d.ts.map +0 -1
  104. package/dist/src/adapters/project_adapter/index.js +0 -445
  105. package/dist/src/adapters/project_adapter/index.js.map +0 -1
  106. package/dist/src/adapters/project_adapter/project_adapter.test.d.ts +0 -2
  107. package/dist/src/adapters/project_adapter/project_adapter.test.d.ts.map +0 -1
  108. package/dist/src/adapters/project_adapter/project_adapter.test.js +0 -627
  109. package/dist/src/adapters/project_adapter/project_adapter.test.js.map +0 -1
  110. package/dist/src/adapters/workflow_methodology_adapter/index.d.ts +0 -75
  111. package/dist/src/adapters/workflow_methodology_adapter/index.d.ts.map +0 -1
  112. package/dist/src/adapters/workflow_methodology_adapter/index.js +0 -205
  113. package/dist/src/adapters/workflow_methodology_adapter/index.js.map +0 -1
  114. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.d.ts +0 -2
  115. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.d.ts.map +0 -1
  116. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.js +0 -463
  117. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.js.map +0 -1
  118. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.d.ts +0 -2
  119. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.d.ts.map +0 -1
  120. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.js +0 -287
  121. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.js.map +0 -1
  122. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.d.ts +0 -2
  123. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.d.ts.map +0 -1
  124. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.js +0 -278
  125. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.js.map +0 -1
  126. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_default.json +0 -188
  127. package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_scrum.json +0 -284
  128. package/dist/src/config_manager/config_manager.test.d.ts +0 -2
  129. package/dist/src/config_manager/config_manager.test.d.ts.map +0 -1
  130. package/dist/src/config_manager/config_manager.test.js +0 -321
  131. package/dist/src/config_manager/config_manager.test.js.map +0 -1
  132. package/dist/src/config_manager/index.d.ts +0 -107
  133. package/dist/src/config_manager/index.d.ts.map +0 -1
  134. package/dist/src/config_manager/index.js +0 -192
  135. package/dist/src/config_manager/index.js.map +0 -1
  136. package/dist/src/crypto/checksum.d.ts +0 -6
  137. package/dist/src/crypto/checksum.d.ts.map +0 -1
  138. package/dist/src/crypto/checksum.js +0 -38
  139. package/dist/src/crypto/checksum.js.map +0 -1
  140. package/dist/src/crypto/checksum.test.d.ts +0 -2
  141. package/dist/src/crypto/checksum.test.d.ts.map +0 -1
  142. package/dist/src/crypto/checksum.test.js +0 -167
  143. package/dist/src/crypto/checksum.test.js.map +0 -1
  144. package/dist/src/crypto/index.d.ts +0 -3
  145. package/dist/src/crypto/index.d.ts.map +0 -1
  146. package/dist/src/crypto/index.js +0 -3
  147. package/dist/src/crypto/index.js.map +0 -1
  148. package/dist/src/crypto/signatures.d.ts +0 -24
  149. package/dist/src/crypto/signatures.d.ts.map +0 -1
  150. package/dist/src/crypto/signatures.js +0 -67
  151. package/dist/src/crypto/signatures.js.map +0 -1
  152. package/dist/src/crypto/signatures.test.d.ts +0 -2
  153. package/dist/src/crypto/signatures.test.d.ts.map +0 -1
  154. package/dist/src/crypto/signatures.test.js +0 -378
  155. package/dist/src/crypto/signatures.test.js.map +0 -1
  156. package/dist/src/diagram_generator/diagram_generator.d.ts +0 -76
  157. package/dist/src/diagram_generator/diagram_generator.d.ts.map +0 -1
  158. package/dist/src/diagram_generator/diagram_generator.js +0 -233
  159. package/dist/src/diagram_generator/diagram_generator.js.map +0 -1
  160. package/dist/src/diagram_generator/graph_validator.d.ts +0 -19
  161. package/dist/src/diagram_generator/graph_validator.d.ts.map +0 -1
  162. package/dist/src/diagram_generator/graph_validator.js +0 -98
  163. package/dist/src/diagram_generator/graph_validator.js.map +0 -1
  164. package/dist/src/diagram_generator/index.d.ts +0 -4
  165. package/dist/src/diagram_generator/index.d.ts.map +0 -1
  166. package/dist/src/diagram_generator/index.js +0 -4
  167. package/dist/src/diagram_generator/index.js.map +0 -1
  168. package/dist/src/diagram_generator/mermaid_renderer.d.ts +0 -82
  169. package/dist/src/diagram_generator/mermaid_renderer.d.ts.map +0 -1
  170. package/dist/src/diagram_generator/mermaid_renderer.js +0 -306
  171. package/dist/src/diagram_generator/mermaid_renderer.js.map +0 -1
  172. package/dist/src/diagram_generator/relationship_analyzer.d.ts +0 -116
  173. package/dist/src/diagram_generator/relationship_analyzer.d.ts.map +0 -1
  174. package/dist/src/diagram_generator/relationship_analyzer.js +0 -381
  175. package/dist/src/diagram_generator/relationship_analyzer.js.map +0 -1
  176. package/dist/src/event_bus/event_bus.d.ts +0 -110
  177. package/dist/src/event_bus/event_bus.d.ts.map +0 -1
  178. package/dist/src/event_bus/event_bus.js +0 -161
  179. package/dist/src/event_bus/event_bus.js.map +0 -1
  180. package/dist/src/event_bus/event_bus.test.d.ts +0 -2
  181. package/dist/src/event_bus/event_bus.test.d.ts.map +0 -1
  182. package/dist/src/event_bus/event_bus.test.js +0 -332
  183. package/dist/src/event_bus/event_bus.test.js.map +0 -1
  184. package/dist/src/event_bus/event_bus_integration.test.d.ts +0 -2
  185. package/dist/src/event_bus/event_bus_integration.test.d.ts.map +0 -1
  186. package/dist/src/event_bus/event_bus_integration.test.js +0 -474
  187. package/dist/src/event_bus/event_bus_integration.test.js.map +0 -1
  188. package/dist/src/event_bus/index.d.ts +0 -3
  189. package/dist/src/event_bus/index.d.ts.map +0 -1
  190. package/dist/src/event_bus/index.js +0 -3
  191. package/dist/src/event_bus/index.js.map +0 -1
  192. package/dist/src/event_bus/types.d.ts +0 -203
  193. package/dist/src/event_bus/types.d.ts.map +0 -1
  194. package/dist/src/event_bus/types.js +0 -5
  195. package/dist/src/event_bus/types.js.map +0 -1
  196. package/dist/src/factories/actor_factory.d.ts +0 -6
  197. package/dist/src/factories/actor_factory.d.ts.map +0 -1
  198. package/dist/src/factories/actor_factory.js +0 -25
  199. package/dist/src/factories/actor_factory.js.map +0 -1
  200. package/dist/src/factories/actor_factory.test.d.ts +0 -2
  201. package/dist/src/factories/actor_factory.test.d.ts.map +0 -1
  202. package/dist/src/factories/actor_factory.test.js +0 -169
  203. package/dist/src/factories/actor_factory.test.js.map +0 -1
  204. package/dist/src/factories/agent_factory.d.ts +0 -6
  205. package/dist/src/factories/agent_factory.d.ts.map +0 -1
  206. package/dist/src/factories/agent_factory.js +0 -25
  207. package/dist/src/factories/agent_factory.js.map +0 -1
  208. package/dist/src/factories/agent_factory.test.d.ts +0 -2
  209. package/dist/src/factories/agent_factory.test.d.ts.map +0 -1
  210. package/dist/src/factories/agent_factory.test.js +0 -199
  211. package/dist/src/factories/agent_factory.test.js.map +0 -1
  212. package/dist/src/factories/changelog_factory.d.ts +0 -9
  213. package/dist/src/factories/changelog_factory.d.ts.map +0 -1
  214. package/dist/src/factories/changelog_factory.js +0 -46
  215. package/dist/src/factories/changelog_factory.js.map +0 -1
  216. package/dist/src/factories/changelog_factory.test.d.ts +0 -2
  217. package/dist/src/factories/changelog_factory.test.d.ts.map +0 -1
  218. package/dist/src/factories/changelog_factory.test.js +0 -368
  219. package/dist/src/factories/changelog_factory.test.js.map +0 -1
  220. package/dist/src/factories/cycle_factory.d.ts +0 -6
  221. package/dist/src/factories/cycle_factory.d.ts.map +0 -1
  222. package/dist/src/factories/cycle_factory.js +0 -28
  223. package/dist/src/factories/cycle_factory.js.map +0 -1
  224. package/dist/src/factories/cycle_factory.test.d.ts +0 -2
  225. package/dist/src/factories/cycle_factory.test.d.ts.map +0 -1
  226. package/dist/src/factories/cycle_factory.test.js +0 -175
  227. package/dist/src/factories/cycle_factory.test.js.map +0 -1
  228. package/dist/src/factories/execution_factory.d.ts +0 -9
  229. package/dist/src/factories/execution_factory.d.ts.map +0 -1
  230. package/dist/src/factories/execution_factory.js +0 -29
  231. package/dist/src/factories/execution_factory.js.map +0 -1
  232. package/dist/src/factories/execution_factory.test.d.ts +0 -2
  233. package/dist/src/factories/execution_factory.test.d.ts.map +0 -1
  234. package/dist/src/factories/execution_factory.test.js +0 -207
  235. package/dist/src/factories/execution_factory.test.js.map +0 -1
  236. package/dist/src/factories/feedback_factory.d.ts +0 -9
  237. package/dist/src/factories/feedback_factory.d.ts.map +0 -1
  238. package/dist/src/factories/feedback_factory.js +0 -30
  239. package/dist/src/factories/feedback_factory.js.map +0 -1
  240. package/dist/src/factories/feedback_factory.test.d.ts +0 -2
  241. package/dist/src/factories/feedback_factory.test.d.ts.map +0 -1
  242. package/dist/src/factories/feedback_factory.test.js +0 -256
  243. package/dist/src/factories/feedback_factory.test.js.map +0 -1
  244. package/dist/src/factories/index.d.ts +0 -9
  245. package/dist/src/factories/index.d.ts.map +0 -1
  246. package/dist/src/factories/index.js +0 -9
  247. package/dist/src/factories/index.js.map +0 -1
  248. package/dist/src/factories/task_factory.d.ts +0 -6
  249. package/dist/src/factories/task_factory.d.ts.map +0 -1
  250. package/dist/src/factories/task_factory.js +0 -30
  251. package/dist/src/factories/task_factory.js.map +0 -1
  252. package/dist/src/factories/task_factory.test.d.ts +0 -2
  253. package/dist/src/factories/task_factory.test.d.ts.map +0 -1
  254. package/dist/src/factories/task_factory.test.js +0 -197
  255. package/dist/src/factories/task_factory.test.js.map +0 -1
  256. package/dist/src/factories/workflow_methodology_factory.d.ts +0 -11
  257. package/dist/src/factories/workflow_methodology_factory.d.ts.map +0 -1
  258. package/dist/src/factories/workflow_methodology_factory.js +0 -173
  259. package/dist/src/factories/workflow_methodology_factory.js.map +0 -1
  260. package/dist/src/factories/workflow_methodology_factory.test.d.ts +0 -2
  261. package/dist/src/factories/workflow_methodology_factory.test.d.ts.map +0 -1
  262. package/dist/src/factories/workflow_methodology_factory.test.js +0 -244
  263. package/dist/src/factories/workflow_methodology_factory.test.js.map +0 -1
  264. package/dist/src/index.d.ts.map +0 -1
  265. package/dist/src/integration/cycles_tasks_integration.test.d.ts +0 -2
  266. package/dist/src/integration/cycles_tasks_integration.test.d.ts.map +0 -1
  267. package/dist/src/integration/cycles_tasks_integration.test.js +0 -258
  268. package/dist/src/integration/cycles_tasks_integration.test.js.map +0 -1
  269. package/dist/src/integration/schema_integration.test.d.ts +0 -8
  270. package/dist/src/integration/schema_integration.test.d.ts.map +0 -1
  271. package/dist/src/integration/schema_integration.test.js +0 -279
  272. package/dist/src/integration/schema_integration.test.js.map +0 -1
  273. package/dist/src/logger/index.d.ts +0 -2
  274. package/dist/src/logger/index.d.ts.map +0 -1
  275. package/dist/src/logger/index.js +0 -2
  276. package/dist/src/logger/index.js.map +0 -1
  277. package/dist/src/logger/logger.d.ts +0 -10
  278. package/dist/src/logger/logger.d.ts.map +0 -1
  279. package/dist/src/logger/logger.js +0 -48
  280. package/dist/src/logger/logger.js.map +0 -1
  281. package/dist/src/schemas/errors.d.ts +0 -28
  282. package/dist/src/schemas/errors.d.ts.map +0 -1
  283. package/dist/src/schemas/errors.js +0 -31
  284. package/dist/src/schemas/errors.js.map +0 -1
  285. package/dist/src/schemas/generated/actor_record_schema.json +0 -91
  286. package/dist/src/schemas/generated/agent_record_schema.json +0 -142
  287. package/dist/src/schemas/generated/changelog_record_schema.json +0 -227
  288. package/dist/src/schemas/generated/cycle_record_schema.json +0 -80
  289. package/dist/src/schemas/generated/embedded_metadata_schema.json +0 -318
  290. package/dist/src/schemas/generated/execution_record_schema.json +0 -89
  291. package/dist/src/schemas/generated/feedback_record_schema.json +0 -83
  292. package/dist/src/schemas/generated/index.d.ts +0 -2221
  293. package/dist/src/schemas/generated/index.d.ts.map +0 -1
  294. package/dist/src/schemas/generated/index.js +0 -48
  295. package/dist/src/schemas/generated/index.js.map +0 -1
  296. package/dist/src/schemas/generated/task_record_schema.json +0 -103
  297. package/dist/src/schemas/generated/workflow_methodology_record_schema.json +0 -393
  298. package/dist/src/schemas/index.d.ts +0 -4
  299. package/dist/src/schemas/index.d.ts.map +0 -1
  300. package/dist/src/schemas/index.js +0 -4
  301. package/dist/src/schemas/index.js.map +0 -1
  302. package/dist/src/schemas/schema_cache.d.ts +0 -39
  303. package/dist/src/schemas/schema_cache.d.ts.map +0 -1
  304. package/dist/src/schemas/schema_cache.js +0 -109
  305. package/dist/src/schemas/schema_cache.js.map +0 -1
  306. package/dist/src/schemas/schema_cache.test.d.ts +0 -2
  307. package/dist/src/schemas/schema_cache.test.d.ts.map +0 -1
  308. package/dist/src/schemas/schema_cache.test.js +0 -163
  309. package/dist/src/schemas/schema_cache.test.js.map +0 -1
  310. package/dist/src/store/index.d.ts +0 -2
  311. package/dist/src/store/index.d.ts.map +0 -1
  312. package/dist/src/store/index.js +0 -2
  313. package/dist/src/store/index.js.map +0 -1
  314. package/dist/src/store/record_store.d.ts +0 -30
  315. package/dist/src/store/record_store.d.ts.map +0 -1
  316. package/dist/src/store/record_store.js +0 -83
  317. package/dist/src/store/record_store.js.map +0 -1
  318. package/dist/src/store/record_store.test.d.ts +0 -2
  319. package/dist/src/store/record_store.test.d.ts.map +0 -1
  320. package/dist/src/store/record_store.test.js +0 -646
  321. package/dist/src/store/record_store.test.js.map +0 -1
  322. package/dist/src/types/common.types.d.ts +0 -43
  323. package/dist/src/types/common.types.d.ts.map +0 -1
  324. package/dist/src/types/common.types.js +0 -13
  325. package/dist/src/types/common.types.js.map +0 -1
  326. package/dist/src/types/embedded.types.d.ts +0 -17
  327. package/dist/src/types/embedded.types.d.ts.map +0 -1
  328. package/dist/src/types/embedded.types.js +0 -2
  329. package/dist/src/types/embedded.types.js.map +0 -1
  330. package/dist/src/types/generated/actor_record.d.ts +0 -45
  331. package/dist/src/types/generated/actor_record.d.ts.map +0 -1
  332. package/dist/src/types/generated/actor_record.js +0 -7
  333. package/dist/src/types/generated/actor_record.js.map +0 -1
  334. package/dist/src/types/generated/agent_record.d.ts +0 -40
  335. package/dist/src/types/generated/agent_record.d.ts.map +0 -1
  336. package/dist/src/types/generated/agent_record.js +0 -7
  337. package/dist/src/types/generated/agent_record.js.map +0 -1
  338. package/dist/src/types/generated/changelog_record.d.ts +0 -100
  339. package/dist/src/types/generated/changelog_record.d.ts.map +0 -1
  340. package/dist/src/types/generated/changelog_record.js +0 -7
  341. package/dist/src/types/generated/changelog_record.js.map +0 -1
  342. package/dist/src/types/generated/cycle_record.d.ts +0 -36
  343. package/dist/src/types/generated/cycle_record.d.ts.map +0 -1
  344. package/dist/src/types/generated/cycle_record.js +0 -7
  345. package/dist/src/types/generated/cycle_record.js.map +0 -1
  346. package/dist/src/types/generated/embedded_metadata.d.ts +0 -94
  347. package/dist/src/types/generated/embedded_metadata.d.ts.map +0 -1
  348. package/dist/src/types/generated/embedded_metadata.js +0 -7
  349. package/dist/src/types/generated/embedded_metadata.js.map +0 -1
  350. package/dist/src/types/generated/execution_record.d.ts +0 -39
  351. package/dist/src/types/generated/execution_record.d.ts.map +0 -1
  352. package/dist/src/types/generated/execution_record.js +0 -7
  353. package/dist/src/types/generated/execution_record.js.map +0 -1
  354. package/dist/src/types/generated/feedback_record.d.ts +0 -43
  355. package/dist/src/types/generated/feedback_record.d.ts.map +0 -1
  356. package/dist/src/types/generated/feedback_record.js +0 -7
  357. package/dist/src/types/generated/feedback_record.js.map +0 -1
  358. package/dist/src/types/generated/index.d.ts +0 -15
  359. package/dist/src/types/generated/index.d.ts.map +0 -1
  360. package/dist/src/types/generated/index.js +0 -15
  361. package/dist/src/types/generated/index.js.map +0 -1
  362. package/dist/src/types/generated/task_record.d.ts +0 -47
  363. package/dist/src/types/generated/task_record.d.ts.map +0 -1
  364. package/dist/src/types/generated/task_record.js +0 -7
  365. package/dist/src/types/generated/task_record.js.map +0 -1
  366. package/dist/src/types/generated/workflow_methodology_record.d.ts +0 -211
  367. package/dist/src/types/generated/workflow_methodology_record.d.ts.map +0 -1
  368. package/dist/src/types/generated/workflow_methodology_record.js +0 -7
  369. package/dist/src/types/generated/workflow_methodology_record.js.map +0 -1
  370. package/dist/src/types/index.d.ts +0 -4
  371. package/dist/src/types/index.d.ts.map +0 -1
  372. package/dist/src/types/index.js +0 -4
  373. package/dist/src/types/index.js.map +0 -1
  374. package/dist/src/utils/id_generator.d.ts +0 -44
  375. package/dist/src/utils/id_generator.d.ts.map +0 -1
  376. package/dist/src/utils/id_generator.js +0 -107
  377. package/dist/src/utils/id_generator.js.map +0 -1
  378. package/dist/src/utils/id_generator.test.d.ts +0 -2
  379. package/dist/src/utils/id_generator.test.d.ts.map +0 -1
  380. package/dist/src/utils/id_generator.test.js +0 -100
  381. package/dist/src/utils/id_generator.test.js.map +0 -1
  382. package/dist/src/utils/index.d.ts +0 -2
  383. package/dist/src/utils/index.d.ts.map +0 -1
  384. package/dist/src/utils/index.js +0 -3
  385. package/dist/src/utils/index.js.map +0 -1
  386. package/dist/src/validation/actor_validator.d.ts +0 -21
  387. package/dist/src/validation/actor_validator.d.ts.map +0 -1
  388. package/dist/src/validation/actor_validator.js +0 -48
  389. package/dist/src/validation/actor_validator.js.map +0 -1
  390. package/dist/src/validation/actor_validator.test.d.ts +0 -2
  391. package/dist/src/validation/actor_validator.test.d.ts.map +0 -1
  392. package/dist/src/validation/actor_validator.test.js +0 -83
  393. package/dist/src/validation/actor_validator.test.js.map +0 -1
  394. package/dist/src/validation/agent_validator.d.ts +0 -30
  395. package/dist/src/validation/agent_validator.d.ts.map +0 -1
  396. package/dist/src/validation/agent_validator.js +0 -66
  397. package/dist/src/validation/agent_validator.js.map +0 -1
  398. package/dist/src/validation/agent_validator.test.d.ts +0 -2
  399. package/dist/src/validation/agent_validator.test.d.ts.map +0 -1
  400. package/dist/src/validation/agent_validator.test.js +0 -73
  401. package/dist/src/validation/agent_validator.test.js.map +0 -1
  402. package/dist/src/validation/changelog_validator.d.ts +0 -23
  403. package/dist/src/validation/changelog_validator.d.ts.map +0 -1
  404. package/dist/src/validation/changelog_validator.js +0 -58
  405. package/dist/src/validation/changelog_validator.js.map +0 -1
  406. package/dist/src/validation/changelog_validator.test.d.ts +0 -2
  407. package/dist/src/validation/changelog_validator.test.d.ts.map +0 -1
  408. package/dist/src/validation/changelog_validator.test.js +0 -401
  409. package/dist/src/validation/changelog_validator.test.js.map +0 -1
  410. package/dist/src/validation/common.d.ts +0 -10
  411. package/dist/src/validation/common.d.ts.map +0 -1
  412. package/dist/src/validation/common.js +0 -12
  413. package/dist/src/validation/common.js.map +0 -1
  414. package/dist/src/validation/cycle_validator.d.ts +0 -24
  415. package/dist/src/validation/cycle_validator.d.ts.map +0 -1
  416. package/dist/src/validation/cycle_validator.js +0 -51
  417. package/dist/src/validation/cycle_validator.js.map +0 -1
  418. package/dist/src/validation/cycle_validator.test.d.ts +0 -2
  419. package/dist/src/validation/cycle_validator.test.d.ts.map +0 -1
  420. package/dist/src/validation/cycle_validator.test.js +0 -182
  421. package/dist/src/validation/cycle_validator.test.js.map +0 -1
  422. package/dist/src/validation/embedded_metadata_validator.d.ts +0 -26
  423. package/dist/src/validation/embedded_metadata_validator.d.ts.map +0 -1
  424. package/dist/src/validation/embedded_metadata_validator.js +0 -122
  425. package/dist/src/validation/embedded_metadata_validator.js.map +0 -1
  426. package/dist/src/validation/embedded_metadata_validator.test.d.ts +0 -2
  427. package/dist/src/validation/embedded_metadata_validator.test.d.ts.map +0 -1
  428. package/dist/src/validation/embedded_metadata_validator.test.js +0 -316
  429. package/dist/src/validation/embedded_metadata_validator.test.js.map +0 -1
  430. package/dist/src/validation/errors.d.ts +0 -67
  431. package/dist/src/validation/errors.d.ts.map +0 -1
  432. package/dist/src/validation/errors.js +0 -83
  433. package/dist/src/validation/errors.js.map +0 -1
  434. package/dist/src/validation/execution_validator.d.ts +0 -23
  435. package/dist/src/validation/execution_validator.d.ts.map +0 -1
  436. package/dist/src/validation/execution_validator.js +0 -58
  437. package/dist/src/validation/execution_validator.js.map +0 -1
  438. package/dist/src/validation/execution_validator.test.d.ts +0 -2
  439. package/dist/src/validation/execution_validator.test.d.ts.map +0 -1
  440. package/dist/src/validation/execution_validator.test.js +0 -167
  441. package/dist/src/validation/execution_validator.test.js.map +0 -1
  442. package/dist/src/validation/feedback_validator.d.ts +0 -23
  443. package/dist/src/validation/feedback_validator.d.ts.map +0 -1
  444. package/dist/src/validation/feedback_validator.js +0 -58
  445. package/dist/src/validation/feedback_validator.js.map +0 -1
  446. package/dist/src/validation/feedback_validator.test.d.ts +0 -2
  447. package/dist/src/validation/feedback_validator.test.d.ts.map +0 -1
  448. package/dist/src/validation/feedback_validator.test.js +0 -131
  449. package/dist/src/validation/feedback_validator.test.js.map +0 -1
  450. package/dist/src/validation/index.d.ts +0 -11
  451. package/dist/src/validation/index.d.ts.map +0 -1
  452. package/dist/src/validation/index.js +0 -10
  453. package/dist/src/validation/index.js.map +0 -1
  454. package/dist/src/validation/task_validator.d.ts +0 -24
  455. package/dist/src/validation/task_validator.d.ts.map +0 -1
  456. package/dist/src/validation/task_validator.js +0 -50
  457. package/dist/src/validation/task_validator.js.map +0 -1
  458. package/dist/src/validation/task_validator.test.d.ts +0 -2
  459. package/dist/src/validation/task_validator.test.d.ts.map +0 -1
  460. package/dist/src/validation/task_validator.test.js +0 -185
  461. package/dist/src/validation/task_validator.test.js.map +0 -1
  462. package/dist/src/validation/workflow_methodology_validator.d.ts +0 -32
  463. package/dist/src/validation/workflow_methodology_validator.d.ts.map +0 -1
  464. package/dist/src/validation/workflow_methodology_validator.js +0 -91
  465. package/dist/src/validation/workflow_methodology_validator.js.map +0 -1
  466. package/dist/src/validation/workflow_methodology_validator.test.d.ts +0 -2
  467. package/dist/src/validation/workflow_methodology_validator.test.d.ts.map +0 -1
  468. package/dist/src/validation/workflow_methodology_validator.test.js +0 -229
  469. package/dist/src/validation/workflow_methodology_validator.test.js.map +0 -1
@@ -1,101 +0,0 @@
1
- import { RecordStore } from '../../store';
2
- import { IdentityAdapter } from '../identity_adapter';
3
- import type { ChangelogRecord } from '../../types';
4
- import type { TaskRecord } from '../../types';
5
- import type { CycleRecord } from '../../types';
6
- import type { IEventStream } from '../../event_bus';
7
- /**
8
- * ChangelogAdapter Dependencies - Facade + Dependency Injection Pattern
9
- */
10
- export interface ChangelogAdapterDependencies {
11
- changelogStore: RecordStore<ChangelogRecord>;
12
- identity: IdentityAdapter;
13
- eventBus: IEventStream;
14
- taskStore?: RecordStore<TaskRecord>;
15
- cycleStore?: RecordStore<CycleRecord>;
16
- }
17
- /**
18
- * ChangelogAdapter Interface - The Enterprise Historian
19
- */
20
- export interface IChangelogAdapter {
21
- /**
22
- * Records a significant change in any system entity.
23
- */
24
- create(payload: Partial<ChangelogRecord>, actorId: string): Promise<ChangelogRecord>;
25
- /**
26
- * Gets a specific ChangelogRecord by its ID.
27
- */
28
- getChangelog(changelogId: string): Promise<ChangelogRecord | null>;
29
- /**
30
- * Gets all ChangelogRecords for a specific entity.
31
- */
32
- getChangelogsByEntity(entityId: string, entityType?: string): Promise<ChangelogRecord[]>;
33
- /**
34
- * Gets all ChangelogRecords in the system.
35
- */
36
- getAllChangelogs(): Promise<ChangelogRecord[]>;
37
- /**
38
- * Gets recent ChangelogRecords ordered by timestamp.
39
- */
40
- getRecentChangelogs(limit: number): Promise<ChangelogRecord[]>;
41
- }
42
- /**
43
- * ChangelogAdapter - The Enterprise Historian
44
- *
45
- * Implements Facade + Dependency Injection Pattern for testeable and configurable orchestration.
46
- * Acts as Mediator between enterprise changelog system and multi-entity data stores.
47
- */
48
- export declare class ChangelogAdapter implements IChangelogAdapter {
49
- private changelogStore;
50
- private identity;
51
- private eventBus;
52
- private taskStore;
53
- private cycleStore;
54
- constructor(dependencies: ChangelogAdapterDependencies);
55
- /**
56
- * [EARS-1] Records a significant change in any entity with complete context and conditional validation.
57
- *
58
- * Description: Records a significant change in any entity of the ecosystem with complete context and conditional validation.
59
- * Implementation: Validates entity existence (optional), builds record with factory, validates conditional fields, signs with actorId, persists and emits event.
60
- * Usage: Invoked by `gitgov changelog add` to document changes in tasks, cycles, agents, systems, configurations.
61
- * Returns: Complete and signed ChangelogRecord with 19 fields.
62
- */
63
- create(payload: Partial<ChangelogRecord>, actorId: string): Promise<ChangelogRecord>;
64
- /**
65
- * [EARS-9] Gets a specific ChangelogRecord by its ID for historical query.
66
- *
67
- * Description: Gets a specific ChangelogRecord by its ID for historical query.
68
- * Implementation: Direct read from record store without modifications.
69
- * Usage: Invoked by `gitgov changelog show` to display change details.
70
- * Returns: ChangelogRecord found or null if it doesn't exist.
71
- */
72
- getChangelog(changelogId: string): Promise<ChangelogRecord | null>;
73
- /**
74
- * [EARS-11] Gets all ChangelogRecords associated with a specific entity.
75
- *
76
- * Description: Gets all ChangelogRecords associated with a specific entity with optional type filtering.
77
- * Implementation: Reads all records and filters by matching entityId, optionally by entityType.
78
- * Usage: Invoked by `gitgov changelog list` to display history for any system entity.
79
- * Returns: Array of ChangelogRecords filtered for the entity.
80
- */
81
- getChangelogsByEntity(entityId: string, entityType?: string): Promise<ChangelogRecord[]>;
82
- /**
83
- * [EARS-12] Gets all ChangelogRecords in the system for complete indexation.
84
- *
85
- * Description: Gets all ChangelogRecords in the system for complete indexation.
86
- * Implementation: Complete read from record store without filters.
87
- * Usage: Invoked by `gitgov changelog list --all` and MetricsAdapter for activity analysis.
88
- * Returns: Complete array of all ChangelogRecords.
89
- */
90
- getAllChangelogs(): Promise<ChangelogRecord[]>;
91
- /**
92
- * [EARS-13] Gets recent ChangelogRecords ordered by timestamp for dashboard and monitoring.
93
- *
94
- * Description: Gets recent ChangelogRecords ordered by timestamp for dashboard and monitoring.
95
- * Implementation: Reads all records, sorts by timestamp descending and applies limit.
96
- * Usage: Invoked by `gitgov changelog list --recent` and dashboard for activity monitoring.
97
- * Returns: Array of ChangelogRecords limited and ordered by timestamp.
98
- */
99
- getRecentChangelogs(limit: number): Promise<ChangelogRecord[]>;
100
- }
101
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/changelog_adapter/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAG3E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7C,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,YAAY,CAAC;IAEvB,SAAS,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CAEvC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAErF;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEnE;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEzF;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE/C;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAChE;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,UAAU,CAAuC;gBAE7C,YAAY,EAAE,4BAA4B;IAQtD;;;;;;;OAOG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiH1F;;;;;;;OAOG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAKxE;;;;;;;OAOG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAiB9F;;;;;;;OAOG;IACG,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAcpD;;;;;;;OAOG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CASrE"}
@@ -1,197 +0,0 @@
1
- import { createChangelogRecord } from '../../factories/changelog_factory';
2
- import { RecordStore } from '../../store';
3
- import { IdentityAdapter } from '../identity_adapter';
4
- /**
5
- * ChangelogAdapter - The Enterprise Historian
6
- *
7
- * Implements Facade + Dependency Injection Pattern for testeable and configurable orchestration.
8
- * Acts as Mediator between enterprise changelog system and multi-entity data stores.
9
- */
10
- export class ChangelogAdapter {
11
- changelogStore;
12
- identity;
13
- eventBus;
14
- taskStore;
15
- cycleStore;
16
- constructor(dependencies) {
17
- this.changelogStore = dependencies.changelogStore;
18
- this.identity = dependencies.identity;
19
- this.eventBus = dependencies.eventBus;
20
- this.taskStore = dependencies.taskStore; // Graceful degradation
21
- this.cycleStore = dependencies.cycleStore; // Graceful degradation
22
- }
23
- /**
24
- * [EARS-1] Records a significant change in any entity with complete context and conditional validation.
25
- *
26
- * Description: Records a significant change in any entity of the ecosystem with complete context and conditional validation.
27
- * Implementation: Validates entity existence (optional), builds record with factory, validates conditional fields, signs with actorId, persists and emits event.
28
- * Usage: Invoked by `gitgov changelog add` to document changes in tasks, cycles, agents, systems, configurations.
29
- * Returns: Complete and signed ChangelogRecord with 19 fields.
30
- */
31
- async create(payload, actorId) {
32
- // Input validation
33
- if (!payload.entityType) {
34
- throw new Error('DetailedValidationError: entityType is required');
35
- }
36
- if (!payload.entityId) {
37
- throw new Error('DetailedValidationError: entityId is required');
38
- }
39
- // EARS-4: Validate entityType
40
- if (!['task', 'cycle', 'agent', 'system', 'configuration'].includes(payload.entityType)) {
41
- throw new Error('DetailedValidationError: entityType must be task, cycle, agent, system, or configuration');
42
- }
43
- // EARS-5: Validate changeType
44
- if (payload.changeType && !['creation', 'completion', 'update', 'deletion', 'hotfix'].includes(payload.changeType)) {
45
- throw new Error('DetailedValidationError: changeType must be creation, completion, update, deletion, or hotfix');
46
- }
47
- // EARS-14: Validate title length
48
- if (payload.title && payload.title.length < 10) {
49
- throw new Error('DetailedValidationError: title must be at least 10 characters');
50
- }
51
- // EARS-15: Validate description length
52
- if (payload.description && payload.description.length < 20) {
53
- throw new Error('DetailedValidationError: description must be at least 20 characters');
54
- }
55
- // EARS-6: Validate rollbackInstructions for high risk
56
- if (payload.riskLevel === 'high' && !payload.rollbackInstructions) {
57
- throw new Error('DetailedValidationError: rollbackInstructions is required when riskLevel is high');
58
- }
59
- // EARS-7: Validate rollbackInstructions for critical risk
60
- if (payload.riskLevel === 'critical' && !payload.rollbackInstructions) {
61
- throw new Error('DetailedValidationError: rollbackInstructions is required when riskLevel is critical');
62
- }
63
- // EARS-8: Validate references.tasks for completion
64
- if (payload.changeType === 'completion' && (!payload.references?.tasks || payload.references.tasks.length === 0)) {
65
- throw new Error('DetailedValidationError: references.tasks is required when changeType is completion');
66
- }
67
- // Optional: Validate entityId exists (graceful degradation) - EARS-3
68
- if (payload.entityType === 'task' && this.taskStore) {
69
- const taskExists = await this.taskStore.read(payload.entityId);
70
- if (!taskExists) {
71
- throw new Error(`RecordNotFoundError: Task not found: ${payload.entityId}`);
72
- }
73
- }
74
- if (payload.entityType === 'cycle' && this.cycleStore) {
75
- const cycleExists = await this.cycleStore.read(payload.entityId);
76
- if (!cycleExists) {
77
- throw new Error(`RecordNotFoundError: Cycle not found: ${payload.entityId}`);
78
- }
79
- }
80
- try {
81
- // 1. Build the record with factory (handles all conditional validation)
82
- const validatedPayload = await createChangelogRecord(payload);
83
- // 2. Create unsigned record structure
84
- const unsignedRecord = {
85
- header: {
86
- version: '1.0',
87
- type: 'changelog',
88
- payloadChecksum: 'will-be-calculated-by-signRecord',
89
- signatures: [{
90
- keyId: actorId,
91
- role: 'author',
92
- signature: 'placeholder',
93
- timestamp: Date.now(),
94
- timestamp_iso: new Date().toISOString()
95
- }]
96
- },
97
- payload: validatedPayload,
98
- };
99
- // 3. Sign the record
100
- const signedRecord = await this.identity.signRecord(unsignedRecord, actorId, 'author');
101
- // 4. Persist the record
102
- await this.changelogStore.write(signedRecord);
103
- // 5. Emit event - responsibility ends here
104
- this.eventBus.publish({
105
- type: 'changelog.created',
106
- timestamp: Date.now(),
107
- source: 'changelog_adapter',
108
- payload: {
109
- changelogId: validatedPayload.id,
110
- entityId: validatedPayload.entityId,
111
- entityType: validatedPayload.entityType,
112
- changeType: validatedPayload.changeType,
113
- triggeredBy: actorId,
114
- riskLevel: validatedPayload.riskLevel,
115
- title: validatedPayload.title,
116
- trigger: validatedPayload.trigger
117
- },
118
- });
119
- return validatedPayload;
120
- }
121
- catch (error) {
122
- if (error instanceof Error && error.message.includes('DetailedValidationError')) {
123
- throw error;
124
- }
125
- throw error;
126
- }
127
- }
128
- /**
129
- * [EARS-9] Gets a specific ChangelogRecord by its ID for historical query.
130
- *
131
- * Description: Gets a specific ChangelogRecord by its ID for historical query.
132
- * Implementation: Direct read from record store without modifications.
133
- * Usage: Invoked by `gitgov changelog show` to display change details.
134
- * Returns: ChangelogRecord found or null if it doesn't exist.
135
- */
136
- async getChangelog(changelogId) {
137
- const record = await this.changelogStore.read(changelogId);
138
- return record ? record.payload : null;
139
- }
140
- /**
141
- * [EARS-11] Gets all ChangelogRecords associated with a specific entity.
142
- *
143
- * Description: Gets all ChangelogRecords associated with a specific entity with optional type filtering.
144
- * Implementation: Reads all records and filters by matching entityId, optionally by entityType.
145
- * Usage: Invoked by `gitgov changelog list` to display history for any system entity.
146
- * Returns: Array of ChangelogRecords filtered for the entity.
147
- */
148
- async getChangelogsByEntity(entityId, entityType) {
149
- const ids = await this.changelogStore.list();
150
- const changelogs = [];
151
- for (const id of ids) {
152
- const record = await this.changelogStore.read(id);
153
- if (record && record.payload.entityId === entityId) {
154
- // Optional entityType filter
155
- if (!entityType || record.payload.entityType === entityType) {
156
- changelogs.push(record.payload);
157
- }
158
- }
159
- }
160
- return changelogs;
161
- }
162
- /**
163
- * [EARS-12] Gets all ChangelogRecords in the system for complete indexation.
164
- *
165
- * Description: Gets all ChangelogRecords in the system for complete indexation.
166
- * Implementation: Complete read from record store without filters.
167
- * Usage: Invoked by `gitgov changelog list --all` and MetricsAdapter for activity analysis.
168
- * Returns: Complete array of all ChangelogRecords.
169
- */
170
- async getAllChangelogs() {
171
- const ids = await this.changelogStore.list();
172
- const changelogs = [];
173
- for (const id of ids) {
174
- const record = await this.changelogStore.read(id);
175
- if (record) {
176
- changelogs.push(record.payload);
177
- }
178
- }
179
- return changelogs;
180
- }
181
- /**
182
- * [EARS-13] Gets recent ChangelogRecords ordered by timestamp for dashboard and monitoring.
183
- *
184
- * Description: Gets recent ChangelogRecords ordered by timestamp for dashboard and monitoring.
185
- * Implementation: Reads all records, sorts by timestamp descending and applies limit.
186
- * Usage: Invoked by `gitgov changelog list --recent` and dashboard for activity monitoring.
187
- * Returns: Array of ChangelogRecords limited and ordered by timestamp.
188
- */
189
- async getRecentChangelogs(limit) {
190
- const allChangelogs = await this.getAllChangelogs();
191
- // Sort by timestamp descending (most recent first)
192
- const sortedChangelogs = allChangelogs.sort((a, b) => b.timestamp - a.timestamp);
193
- // Apply limit
194
- return sortedChangelogs.slice(0, limit);
195
- }
196
- }
197
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/changelog_adapter/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=execution_adapter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execution_adapter.test.d.ts","sourceRoot":"","sources":["../../../../src/adapters/execution_adapter/execution_adapter.test.ts"],"names":[],"mappings":""}
@@ -1,266 +0,0 @@
1
- import { ExecutionAdapter } from './index';
2
- import { createExecutionRecord } from '../../factories/execution_factory';
3
- import { RecordStore } from '../../store';
4
- import { IdentityAdapter } from '../identity_adapter';
5
- import { publishEvent } from '../../event_bus';
6
- import { DetailedValidationError } from '../../validation/common';
7
- // Mock dependencies
8
- jest.mock('../../factories/execution_factory');
9
- jest.mock('../../store');
10
- jest.mock('../identity_adapter');
11
- jest.mock('../../event_bus', () => ({
12
- ...jest.requireActual('../../event_bus'),
13
- publishEvent: jest.fn(),
14
- }));
15
- // Helper function to create properly typed mock execution records
16
- function createMockExecutionRecord(overrides = {}) {
17
- return {
18
- header: {
19
- version: '1.0',
20
- type: 'execution',
21
- payloadChecksum: 'mock-checksum',
22
- signatures: [{
23
- keyId: 'mock-author',
24
- role: 'author',
25
- signature: 'mock-sig',
26
- timestamp: 123,
27
- timestamp_iso: '2025-01-01T00:00:00Z'
28
- }]
29
- },
30
- payload: {
31
- id: 'mock-execution',
32
- taskId: 'task-123',
33
- result: 'Mock execution output with sufficient length for validation',
34
- type: 'progress',
35
- title: 'Mock Execution Title',
36
- notes: 'Mock execution notes',
37
- references: ['commit:abc123', 'file:test.ts'],
38
- ...overrides
39
- }
40
- };
41
- }
42
- describe('ExecutionAdapter', () => {
43
- let executionAdapter;
44
- let mockExecutionStore;
45
- let mockTaskStore;
46
- let mockIdentityAdapter;
47
- let mockPublishEvent;
48
- const mockPayload = {
49
- taskId: 'task-123',
50
- result: 'Task completed successfully with all requirements met',
51
- type: 'progress',
52
- title: 'Task Completion',
53
- notes: 'All acceptance criteria met'
54
- };
55
- const mockActorId = 'human:developer';
56
- const mockCreatedExecutionPayload = {
57
- id: '123-exec-test',
58
- taskId: 'task-123',
59
- result: 'Task completed successfully with all requirements met',
60
- type: 'progress',
61
- title: 'Task Completion'
62
- };
63
- const mockSignedRecord = createMockExecutionRecord(mockCreatedExecutionPayload);
64
- beforeEach(() => {
65
- jest.clearAllMocks();
66
- // Mock store with proper typing
67
- mockExecutionStore = {
68
- write: jest.fn().mockResolvedValue(undefined),
69
- read: jest.fn().mockResolvedValue(null),
70
- list: jest.fn().mockResolvedValue([]),
71
- delete: jest.fn().mockResolvedValue(undefined),
72
- exists: jest.fn().mockResolvedValue(false),
73
- recordType: 'executions',
74
- recordsDir: '/mock/path',
75
- fs: {},
76
- getRecordPath: jest.fn(),
77
- ensureDirExists: jest.fn()
78
- };
79
- mockTaskStore = {
80
- read: jest.fn().mockResolvedValue({ payload: { id: 'task-123' } }), // Default: task exists
81
- write: jest.fn().mockResolvedValue(undefined),
82
- list: jest.fn().mockResolvedValue([]),
83
- delete: jest.fn().mockResolvedValue(undefined),
84
- exists: jest.fn().mockResolvedValue(false),
85
- recordType: 'tasks',
86
- recordsDir: '/mock/path',
87
- fs: {},
88
- getRecordPath: jest.fn(),
89
- ensureDirExists: jest.fn()
90
- };
91
- // Mock identity adapter
92
- mockIdentityAdapter = {
93
- signRecord: jest.fn(),
94
- createActor: jest.fn(),
95
- getActor: jest.fn(),
96
- getAllActors: jest.fn(),
97
- createAgent: jest.fn(),
98
- getAgent: jest.fn(),
99
- getAllAgents: jest.fn()
100
- };
101
- // Mock publish event
102
- mockPublishEvent = publishEvent;
103
- // Mock factory
104
- createExecutionRecord.mockResolvedValue(mockCreatedExecutionPayload);
105
- mockIdentityAdapter.signRecord.mockResolvedValue(mockSignedRecord);
106
- // Create adapter with mocked dependencies
107
- executionAdapter = new ExecutionAdapter({
108
- executionStore: mockExecutionStore,
109
- identity: mockIdentityAdapter,
110
- eventBus: {
111
- publish: jest.fn(),
112
- subscribe: jest.fn(),
113
- unsubscribe: jest.fn(),
114
- getSubscriptions: jest.fn(),
115
- clearSubscriptions: jest.fn()
116
- },
117
- taskStore: mockTaskStore
118
- });
119
- });
120
- describe('create', () => {
121
- it('[EARS-1] should create, sign, write, and emit event for valid execution', async () => {
122
- const result = await executionAdapter.create(mockPayload, mockActorId);
123
- expect(createExecutionRecord).toHaveBeenCalledWith(mockPayload);
124
- expect(mockIdentityAdapter.signRecord).toHaveBeenCalledWith(expect.objectContaining({
125
- payload: mockCreatedExecutionPayload
126
- }), mockActorId, 'author');
127
- expect(mockExecutionStore.write).toHaveBeenCalledWith(mockSignedRecord);
128
- // Note: Now using this.eventBus.publish instead of publishEvent
129
- // The mock eventBus.publish should have been called
130
- expect(result).toEqual(mockCreatedExecutionPayload);
131
- });
132
- it('[EARS-2] should throw DetailedValidationError for invalid payload', async () => {
133
- const validationError = new DetailedValidationError('Invalid payload', []);
134
- createExecutionRecord.mockRejectedValue(validationError);
135
- await expect(executionAdapter.create({ taskId: 'invalid' }, mockActorId))
136
- .rejects.toThrow('DetailedValidationError: result is required');
137
- // Ensure no side effects occurred
138
- expect(mockIdentityAdapter.signRecord).not.toHaveBeenCalled();
139
- expect(mockExecutionStore.write).not.toHaveBeenCalled();
140
- expect(mockPublishEvent).not.toHaveBeenCalled();
141
- });
142
- it('[EARS-3] should throw RecordNotFoundError for non-existent taskId', async () => {
143
- mockTaskStore.read.mockResolvedValue(null);
144
- await expect(executionAdapter.create({ taskId: 'non-existent', result: 'Valid result with sufficient length' }, mockActorId))
145
- .rejects.toThrow('RecordNotFoundError: Task not found: non-existent');
146
- });
147
- it('[EARS-8] should throw DetailedValidationError for missing result', async () => {
148
- const invalidPayload = { taskId: 'task-123' }; // Missing result
149
- await expect(executionAdapter.create(invalidPayload, mockActorId))
150
- .rejects.toThrow('DetailedValidationError: result is required');
151
- });
152
- it('[EARS-9] should throw DetailedValidationError for short result', async () => {
153
- const invalidPayload = { taskId: 'task-123', result: 'short' }; // Too short
154
- await expect(executionAdapter.create(invalidPayload, mockActorId))
155
- .rejects.toThrow('DetailedValidationError: result must be at least 10 characters');
156
- });
157
- it('[EARS-1] should create execution record successfully', async () => {
158
- const result = await executionAdapter.create(mockPayload, mockActorId);
159
- expect(createExecutionRecord).toHaveBeenCalledWith(mockPayload);
160
- expect(result).toEqual(mockCreatedExecutionPayload);
161
- });
162
- it('should work with graceful degradation when taskStore is not provided', async () => {
163
- const executionAdapterNoTaskStore = new ExecutionAdapter({
164
- executionStore: mockExecutionStore,
165
- identity: mockIdentityAdapter,
166
- eventBus: {
167
- publish: jest.fn(),
168
- subscribe: jest.fn(),
169
- unsubscribe: jest.fn(),
170
- getSubscriptions: jest.fn(),
171
- clearSubscriptions: jest.fn()
172
- },
173
- // No taskStore provided
174
- });
175
- const result = await executionAdapterNoTaskStore.create(mockPayload, mockActorId);
176
- expect(result).toEqual(mockCreatedExecutionPayload);
177
- expect(mockTaskStore.read).not.toHaveBeenCalled();
178
- });
179
- });
180
- describe('getExecution', () => {
181
- it('[EARS-4] should return existing execution record', async () => {
182
- const mockRecord = createMockExecutionRecord({ id: 'execution-123' });
183
- mockExecutionStore.read.mockResolvedValue(mockRecord);
184
- const result = await executionAdapter.getExecution('execution-123');
185
- expect(mockExecutionStore.read).toHaveBeenCalledWith('execution-123');
186
- expect(result).toEqual(mockRecord.payload);
187
- });
188
- it('[EARS-5] should return null for non-existent execution', async () => {
189
- mockExecutionStore.read.mockResolvedValue(null);
190
- const result = await executionAdapter.getExecution('non-existent');
191
- expect(result).toBeNull();
192
- });
193
- });
194
- describe('getExecutionsByTask', () => {
195
- it('[EARS-6] should filter executions by task ID', async () => {
196
- const execution1 = createMockExecutionRecord({ id: 'execution-1', taskId: 'task-123' });
197
- const execution2 = createMockExecutionRecord({ id: 'execution-2', taskId: 'task-456' });
198
- const execution3 = createMockExecutionRecord({ id: 'execution-3', taskId: 'task-123' });
199
- mockExecutionStore.list.mockResolvedValue(['execution-1', 'execution-2', 'execution-3']);
200
- mockExecutionStore.read
201
- .mockResolvedValueOnce(execution1)
202
- .mockResolvedValueOnce(execution2)
203
- .mockResolvedValueOnce(execution3);
204
- const result = await executionAdapter.getExecutionsByTask('task-123');
205
- expect(result).toHaveLength(2);
206
- expect(result[0]).toEqual(execution1.payload);
207
- expect(result[1]).toEqual(execution3.payload);
208
- });
209
- it('should return empty array when no executions found for task', async () => {
210
- mockExecutionStore.list.mockResolvedValue([]);
211
- const result = await executionAdapter.getExecutionsByTask('task-nonexistent');
212
- expect(result).toEqual([]);
213
- });
214
- });
215
- describe('getAllExecutions', () => {
216
- it('[EARS-7] should return all execution records in the system', async () => {
217
- const execution1 = createMockExecutionRecord({ id: 'execution-1' });
218
- const execution2 = createMockExecutionRecord({ id: 'execution-2' });
219
- mockExecutionStore.list.mockResolvedValue(['execution-1', 'execution-2']);
220
- mockExecutionStore.read
221
- .mockResolvedValueOnce(execution1)
222
- .mockResolvedValueOnce(execution2);
223
- const result = await executionAdapter.getAllExecutions();
224
- expect(result).toHaveLength(2);
225
- expect(result[0]).toEqual(execution1.payload);
226
- expect(result[1]).toEqual(execution2.payload);
227
- });
228
- it('should return empty array when no executions exist', async () => {
229
- mockExecutionStore.list.mockResolvedValue([]);
230
- const result = await executionAdapter.getAllExecutions();
231
- expect(result).toEqual([]);
232
- });
233
- });
234
- describe('Performance Tests', () => {
235
- it('[EARS-10] should execute in under 30ms for typical datasets', async () => {
236
- // Create mock data for performance test
237
- const executionIds = Array.from({ length: 100 }, (_, i) => `execution-${i}`);
238
- const mockExecutions = executionIds.map(id => createMockExecutionRecord({ id, taskId: `task-${id}` }));
239
- mockExecutionStore.list.mockResolvedValue(executionIds);
240
- mockExecutions.forEach(execution => {
241
- mockExecutionStore.read.mockResolvedValueOnce(execution);
242
- });
243
- const startTime = Date.now();
244
- await executionAdapter.getAllExecutions();
245
- const endTime = Date.now();
246
- expect(endTime - startTime).toBeLessThan(50); // Relaxed from 30ms to 50ms for CI stability
247
- });
248
- });
249
- describe('Error Handling', () => {
250
- it('should throw error when taskId is missing', async () => {
251
- await expect(executionAdapter.create({}, mockActorId))
252
- .rejects.toThrow('DetailedValidationError: taskId is required');
253
- });
254
- it('should handle factory errors gracefully', async () => {
255
- createExecutionRecord.mockRejectedValue(new Error('Factory error'));
256
- await expect(executionAdapter.create(mockPayload, mockActorId))
257
- .rejects.toThrow('Factory error');
258
- });
259
- it('should handle identity errors gracefully', async () => {
260
- mockIdentityAdapter.signRecord.mockRejectedValue(new Error('Signing failed'));
261
- await expect(executionAdapter.create(mockPayload, mockActorId))
262
- .rejects.toThrow('Signing failed');
263
- });
264
- });
265
- });
266
- //# sourceMappingURL=execution_adapter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execution_adapter.test.js","sourceRoot":"","sources":["../../../../src/adapters/execution_adapter/execution_adapter.test.ts"],"names":[],"mappings":"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"}