@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,90 @@
1
+ import { RecordStore } from '../../store';
2
+ import { IdentityAdapter } from '../identity_adapter';
3
+ import type { ExecutionRecord } from '../../types';
4
+ import type { TaskRecord } from '../../types';
5
+ import type { IEventStream } from '../../event_bus';
6
+ /**
7
+ * ExecutionAdapter Dependencies - Facade + Dependency Injection Pattern
8
+ */
9
+ export interface ExecutionAdapterDependencies {
10
+ executionStore: RecordStore<ExecutionRecord>;
11
+ identity: IdentityAdapter;
12
+ eventBus: IEventStream;
13
+ taskStore?: RecordStore<TaskRecord>;
14
+ }
15
+ /**
16
+ * ExecutionAdapter Interface - The Chronicler of the System
17
+ */
18
+ export interface IExecutionAdapter {
19
+ /**
20
+ * Records a new execution event.
21
+ */
22
+ create(payload: Partial<ExecutionRecord>, actorId: string): Promise<ExecutionRecord>;
23
+ /**
24
+ * Gets a specific ExecutionRecord by its ID.
25
+ */
26
+ getExecution(executionId: string): Promise<ExecutionRecord | null>;
27
+ /**
28
+ * Gets all ExecutionRecords for a specific Task.
29
+ */
30
+ getExecutionsByTask(taskId: string): Promise<ExecutionRecord[]>;
31
+ /**
32
+ * Gets all ExecutionRecords in the system.
33
+ */
34
+ getAllExecutions(): Promise<ExecutionRecord[]>;
35
+ }
36
+ /**
37
+ * ExecutionAdapter - The Chronicler of the System
38
+ *
39
+ * Implements Facade + Dependency Injection Pattern for testeable and configurable orchestration.
40
+ * Acts as Mediator between execution logging and data stores.
41
+ */
42
+ export declare class ExecutionAdapter implements IExecutionAdapter {
43
+ private executionStore;
44
+ private identity;
45
+ private eventBus;
46
+ private taskStore;
47
+ constructor(dependencies: ExecutionAdapterDependencies);
48
+ /**
49
+ * [EARS-1] Records a new execution event to create an immutable audit log.
50
+ *
51
+ * Description: Records a new execution event to create an immutable audit log.
52
+ * Implementation: Builds record with factory, signs with actorId, persists and emits event.
53
+ * Usage: Invoked by `gitgov exec add` to register work done by actors/agents.
54
+ * Returns: Complete and signed ExecutionRecord.
55
+ */
56
+ create(payload: Partial<ExecutionRecord>, actorId: string): Promise<ExecutionRecord>;
57
+ /**
58
+ * [EARS-4] Gets a specific ExecutionRecord by its ID for query.
59
+ *
60
+ * Description: Gets a specific ExecutionRecord by its ID for query.
61
+ * Implementation: Direct read from record store without modifications.
62
+ * Usage: Invoked by `gitgov exec show` to display execution details.
63
+ * Returns: ExecutionRecord found or null if it doesn't exist.
64
+ */
65
+ getExecution(executionId: string): Promise<ExecutionRecord | null>;
66
+ /**
67
+ * [EARS-6] Gets all ExecutionRecords associated with a specific Task.
68
+ *
69
+ * Description: Gets all ExecutionRecords associated with a specific Task.
70
+ * Implementation: Reads all records and filters by matching taskId.
71
+ * Usage: Invoked by `gitgov exec list` and MetricsAdapter for staleness calculations.
72
+ * Returns: Array of ExecutionRecords filtered for the task.
73
+ */
74
+ getExecutionsByTask(taskId: string): Promise<ExecutionRecord[]>;
75
+ /**
76
+ * [EARS-7] Gets all ExecutionRecords in the system for indexation.
77
+ *
78
+ * Description: Gets all ExecutionRecords in the system for complete indexation.
79
+ * Implementation: Complete read from record store without filters.
80
+ * Usage: Invoked by `gitgov exec list --all` and MetricsAdapter for general calculations.
81
+ * Returns: Complete array of all ExecutionRecords.
82
+ */
83
+ getAllExecutions(): Promise<ExecutionRecord[]>;
84
+ /**
85
+ * Helper method to determine if this is the first execution for a task
86
+ * Used for BacklogAdapter.handleExecutionCreated logic
87
+ */
88
+ private isFirstExecutionForTask;
89
+ }
90
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/execution_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,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAG3E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAE3C,cAAc,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAG7C,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,YAAY,CAAC;IAGvB,SAAS,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;CACrC;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,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEhE;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAChD;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;gBAE3C,YAAY,EAAE,4BAA4B;IAOtD;;;;;;;OAOG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAuE1F;;;;;;;OAOG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAKxE;;;;;;;OAOG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAcrE;;;;;;;OAOG;IACG,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAcpD;;;OAGG;YACW,uBAAuB;CAItC"}
@@ -0,0 +1,150 @@
1
+ import { createExecutionRecord } from '../../factories/execution_factory';
2
+ import { RecordStore } from '../../store';
3
+ import { IdentityAdapter } from '../identity_adapter';
4
+ /**
5
+ * ExecutionAdapter - The Chronicler of the System
6
+ *
7
+ * Implements Facade + Dependency Injection Pattern for testeable and configurable orchestration.
8
+ * Acts as Mediator between execution logging and data stores.
9
+ */
10
+ export class ExecutionAdapter {
11
+ executionStore;
12
+ identity;
13
+ eventBus;
14
+ taskStore;
15
+ constructor(dependencies) {
16
+ this.executionStore = dependencies.executionStore;
17
+ this.identity = dependencies.identity;
18
+ this.eventBus = dependencies.eventBus;
19
+ this.taskStore = dependencies.taskStore; // Graceful degradation
20
+ }
21
+ /**
22
+ * [EARS-1] Records a new execution event to create an immutable audit log.
23
+ *
24
+ * Description: Records a new execution event to create an immutable audit log.
25
+ * Implementation: Builds record with factory, signs with actorId, persists and emits event.
26
+ * Usage: Invoked by `gitgov exec add` to register work done by actors/agents.
27
+ * Returns: Complete and signed ExecutionRecord.
28
+ */
29
+ async create(payload, actorId) {
30
+ // Input validation
31
+ if (!payload.taskId) {
32
+ throw new Error('DetailedValidationError: taskId is required');
33
+ }
34
+ if (!payload.result) {
35
+ throw new Error('DetailedValidationError: result is required');
36
+ }
37
+ if (payload.result && payload.result.length < 10) {
38
+ throw new Error('DetailedValidationError: result must be at least 10 characters');
39
+ }
40
+ // Optional: Validate taskId exists (graceful degradation)
41
+ if (this.taskStore) {
42
+ const taskExists = await this.taskStore.read(payload.taskId);
43
+ if (!taskExists) {
44
+ throw new Error(`RecordNotFoundError: Task not found: ${payload.taskId}`);
45
+ }
46
+ }
47
+ try {
48
+ // 1. Build the record with factory
49
+ const validatedPayload = await createExecutionRecord(payload);
50
+ // 2. Create unsigned record structure
51
+ const unsignedRecord = {
52
+ header: {
53
+ version: '1.0',
54
+ type: 'execution',
55
+ payloadChecksum: 'will-be-calculated-by-signRecord',
56
+ signatures: [{
57
+ keyId: actorId,
58
+ role: 'author',
59
+ signature: 'placeholder',
60
+ timestamp: Date.now(),
61
+ timestamp_iso: new Date().toISOString()
62
+ }]
63
+ },
64
+ payload: validatedPayload,
65
+ };
66
+ // 3. Sign the record
67
+ const signedRecord = await this.identity.signRecord(unsignedRecord, actorId, 'author');
68
+ // 4. Persist the record
69
+ await this.executionStore.write(signedRecord);
70
+ // 5. Emit event - responsibility ends here
71
+ this.eventBus.publish({
72
+ type: 'execution.created',
73
+ timestamp: Date.now(),
74
+ source: 'execution_adapter',
75
+ payload: {
76
+ executionId: validatedPayload.id,
77
+ taskId: validatedPayload.taskId,
78
+ actorId,
79
+ isFirstExecution: await this.isFirstExecutionForTask(validatedPayload.taskId)
80
+ },
81
+ });
82
+ return validatedPayload;
83
+ }
84
+ catch (error) {
85
+ if (error instanceof Error && error.message.includes('DetailedValidationError')) {
86
+ throw error;
87
+ }
88
+ throw error;
89
+ }
90
+ }
91
+ /**
92
+ * [EARS-4] Gets a specific ExecutionRecord by its ID for query.
93
+ *
94
+ * Description: Gets a specific ExecutionRecord by its ID for query.
95
+ * Implementation: Direct read from record store without modifications.
96
+ * Usage: Invoked by `gitgov exec show` to display execution details.
97
+ * Returns: ExecutionRecord found or null if it doesn't exist.
98
+ */
99
+ async getExecution(executionId) {
100
+ const record = await this.executionStore.read(executionId);
101
+ return record ? record.payload : null;
102
+ }
103
+ /**
104
+ * [EARS-6] Gets all ExecutionRecords associated with a specific Task.
105
+ *
106
+ * Description: Gets all ExecutionRecords associated with a specific Task.
107
+ * Implementation: Reads all records and filters by matching taskId.
108
+ * Usage: Invoked by `gitgov exec list` and MetricsAdapter for staleness calculations.
109
+ * Returns: Array of ExecutionRecords filtered for the task.
110
+ */
111
+ async getExecutionsByTask(taskId) {
112
+ const ids = await this.executionStore.list();
113
+ const executions = [];
114
+ for (const id of ids) {
115
+ const record = await this.executionStore.read(id);
116
+ if (record && record.payload.taskId === taskId) {
117
+ executions.push(record.payload);
118
+ }
119
+ }
120
+ return executions;
121
+ }
122
+ /**
123
+ * [EARS-7] Gets all ExecutionRecords in the system for indexation.
124
+ *
125
+ * Description: Gets all ExecutionRecords in the system for complete indexation.
126
+ * Implementation: Complete read from record store without filters.
127
+ * Usage: Invoked by `gitgov exec list --all` and MetricsAdapter for general calculations.
128
+ * Returns: Complete array of all ExecutionRecords.
129
+ */
130
+ async getAllExecutions() {
131
+ const ids = await this.executionStore.list();
132
+ const executions = [];
133
+ for (const id of ids) {
134
+ const record = await this.executionStore.read(id);
135
+ if (record) {
136
+ executions.push(record.payload);
137
+ }
138
+ }
139
+ return executions;
140
+ }
141
+ /**
142
+ * Helper method to determine if this is the first execution for a task
143
+ * Used for BacklogAdapter.handleExecutionCreated logic
144
+ */
145
+ async isFirstExecutionForTask(taskId) {
146
+ const executions = await this.getExecutionsByTask(taskId);
147
+ return executions.length === 1; // Including the one we just created
148
+ }
149
+ }
150
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/execution_adapter/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=feedback_adapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback_adapter.test.d.ts","sourceRoot":"","sources":["../../../../src/adapters/feedback_adapter/feedback_adapter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,256 @@
1
+ import { FeedbackAdapter } from './index';
2
+ import { createFeedbackRecord } from '../../factories/feedback_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/feedback_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 feedback records
16
+ function createMockFeedbackRecord(overrides = {}) {
17
+ return {
18
+ header: {
19
+ version: '1.0',
20
+ type: 'feedback',
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-feedback',
32
+ entityType: 'task',
33
+ entityId: 'task-123',
34
+ type: 'suggestion',
35
+ content: 'Mock feedback content',
36
+ status: 'open',
37
+ ...overrides
38
+ }
39
+ };
40
+ }
41
+ describe('FeedbackAdapter', () => {
42
+ let feedbackAdapter;
43
+ let mockFeedbackStore;
44
+ let mockIdentityAdapter;
45
+ let mockPublishEvent;
46
+ const mockPayload = {
47
+ entityType: 'task',
48
+ entityId: 'task-123',
49
+ type: 'suggestion',
50
+ content: 'This is a test feedback'
51
+ };
52
+ const mockActorId = 'human:developer';
53
+ const mockCreatedFeedbackPayload = {
54
+ id: '123-feedback-test',
55
+ entityType: 'task',
56
+ entityId: 'task-123',
57
+ type: 'suggestion',
58
+ content: 'This is a test feedback',
59
+ status: 'open'
60
+ };
61
+ const mockSignedRecord = createMockFeedbackRecord(mockCreatedFeedbackPayload);
62
+ beforeEach(() => {
63
+ jest.clearAllMocks();
64
+ // Mock store with proper typing
65
+ mockFeedbackStore = {
66
+ write: jest.fn().mockResolvedValue(undefined),
67
+ read: jest.fn().mockResolvedValue(null),
68
+ list: jest.fn().mockResolvedValue([]),
69
+ delete: jest.fn().mockResolvedValue(undefined),
70
+ exists: jest.fn().mockResolvedValue(false),
71
+ };
72
+ // Mock identity adapter
73
+ mockIdentityAdapter = {
74
+ signRecord: jest.fn(),
75
+ };
76
+ // Mock publish event
77
+ mockPublishEvent = publishEvent;
78
+ // Mock factory
79
+ createFeedbackRecord.mockResolvedValue(mockCreatedFeedbackPayload);
80
+ mockIdentityAdapter.signRecord.mockResolvedValue(mockSignedRecord);
81
+ // Create adapter with mocked dependencies
82
+ feedbackAdapter = new FeedbackAdapter({
83
+ feedbackStore: mockFeedbackStore,
84
+ identity: mockIdentityAdapter,
85
+ eventBus: {
86
+ publish: jest.fn(),
87
+ subscribe: jest.fn(),
88
+ unsubscribe: jest.fn(),
89
+ getSubscriptions: jest.fn(),
90
+ clearSubscriptions: jest.fn()
91
+ },
92
+ // No workflowMethodology for graceful degradation
93
+ });
94
+ });
95
+ describe('create', () => {
96
+ it('[EARS-1] should create, sign, write, and emit event for valid feedback', async () => {
97
+ const result = await feedbackAdapter.create(mockPayload, mockActorId);
98
+ expect(createFeedbackRecord).toHaveBeenCalledWith({
99
+ ...mockPayload,
100
+ status: 'open'
101
+ });
102
+ expect(mockIdentityAdapter.signRecord).toHaveBeenCalledWith(expect.objectContaining({
103
+ payload: mockCreatedFeedbackPayload
104
+ }), mockActorId, 'author');
105
+ expect(mockFeedbackStore.write).toHaveBeenCalledWith(mockSignedRecord);
106
+ // Note: Now using this.eventBus.publish instead of publishEvent
107
+ // The mock eventBus.publish should have been called
108
+ expect(result).toEqual(mockCreatedFeedbackPayload);
109
+ });
110
+ it('[EARS-2] should throw DetailedValidationError for invalid payload', async () => {
111
+ const validationError = new DetailedValidationError('Invalid payload', []);
112
+ createFeedbackRecord.mockRejectedValue(validationError);
113
+ await expect(feedbackAdapter.create({ entityId: 'invalid' }, mockActorId))
114
+ .rejects.toThrow('Invalid payload');
115
+ // Ensure no side effects occurred
116
+ expect(mockIdentityAdapter.signRecord).not.toHaveBeenCalled();
117
+ expect(mockFeedbackStore.write).not.toHaveBeenCalled();
118
+ expect(mockPublishEvent).not.toHaveBeenCalled();
119
+ });
120
+ it('[EARS-3] should throw RecordNotFoundError for missing entityId', async () => {
121
+ await expect(feedbackAdapter.create({}, mockActorId))
122
+ .rejects.toThrow('RecordNotFoundError: entityId is required');
123
+ });
124
+ it('[EARS-11] should throw InvalidEntityTypeError for invalid entityType', async () => {
125
+ const invalidPayload = { entityType: 'invalid', entityId: 'task-123', content: 'test' };
126
+ await expect(feedbackAdapter.create(invalidPayload, mockActorId))
127
+ .rejects.toThrow('InvalidEntityTypeError: entityType must be task, execution, changelog, or feedback');
128
+ });
129
+ });
130
+ describe('resolve', () => {
131
+ it('[EARS-4] should resolve feedback and emit status changed event', async () => {
132
+ const existingFeedback = createMockFeedbackRecord({
133
+ id: 'feedback-123',
134
+ status: 'open'
135
+ });
136
+ const resolvedFeedback = { ...existingFeedback.payload, status: 'resolved' };
137
+ mockFeedbackStore.read.mockResolvedValue(existingFeedback);
138
+ mockIdentityAdapter.signRecord.mockResolvedValue({
139
+ ...existingFeedback,
140
+ payload: resolvedFeedback
141
+ });
142
+ const result = await feedbackAdapter.resolve('feedback-123', mockActorId);
143
+ expect(mockFeedbackStore.read).toHaveBeenCalledWith('feedback-123');
144
+ expect(mockIdentityAdapter.signRecord).toHaveBeenCalledWith(expect.objectContaining({
145
+ payload: resolvedFeedback
146
+ }), mockActorId, 'resolver');
147
+ expect(mockFeedbackStore.write).toHaveBeenCalled();
148
+ // Note: Now using this.eventBus.publish instead of publishEvent
149
+ // The mock eventBus.publish should have been called
150
+ expect(result).toEqual(resolvedFeedback);
151
+ });
152
+ it('[EARS-5] should throw RecordNotFoundError for non-existent feedback', async () => {
153
+ mockFeedbackStore.read.mockResolvedValue(null);
154
+ await expect(feedbackAdapter.resolve('non-existent', mockActorId))
155
+ .rejects.toThrow('RecordNotFoundError: Feedback not found: non-existent');
156
+ });
157
+ it('[EARS-6] should throw error when resolving already resolved feedback', async () => {
158
+ const resolvedFeedback = createMockFeedbackRecord({
159
+ id: 'feedback-123',
160
+ status: 'resolved'
161
+ });
162
+ mockFeedbackStore.read.mockResolvedValue(resolvedFeedback);
163
+ await expect(feedbackAdapter.resolve('feedback-123', mockActorId))
164
+ .rejects.toThrow('ProtocolViolationError: Feedback feedback-123 is already resolved');
165
+ });
166
+ });
167
+ describe('getFeedback', () => {
168
+ it('[EARS-7] should return existing feedback record', async () => {
169
+ const mockRecord = createMockFeedbackRecord({ id: 'feedback-123' });
170
+ mockFeedbackStore.read.mockResolvedValue(mockRecord);
171
+ const result = await feedbackAdapter.getFeedback('feedback-123');
172
+ expect(mockFeedbackStore.read).toHaveBeenCalledWith('feedback-123');
173
+ expect(result).toEqual(mockRecord.payload);
174
+ });
175
+ it('[EARS-8] should return null for non-existent feedback', async () => {
176
+ mockFeedbackStore.read.mockResolvedValue(null);
177
+ const result = await feedbackAdapter.getFeedback('non-existent');
178
+ expect(result).toBeNull();
179
+ });
180
+ });
181
+ describe('getFeedbackByEntity', () => {
182
+ it('[EARS-9] should filter feedbacks by entity ID', async () => {
183
+ const feedback1 = createMockFeedbackRecord({ id: 'feedback-1', entityId: 'task-123' });
184
+ const feedback2 = createMockFeedbackRecord({ id: 'feedback-2', entityId: 'task-456' });
185
+ const feedback3 = createMockFeedbackRecord({ id: 'feedback-3', entityId: 'task-123' });
186
+ mockFeedbackStore.list.mockResolvedValue(['feedback-1', 'feedback-2', 'feedback-3']);
187
+ mockFeedbackStore.read
188
+ .mockResolvedValueOnce(feedback1)
189
+ .mockResolvedValueOnce(feedback2)
190
+ .mockResolvedValueOnce(feedback3);
191
+ const result = await feedbackAdapter.getFeedbackByEntity('task-123');
192
+ expect(result).toHaveLength(2);
193
+ expect(result[0]).toEqual(feedback1.payload);
194
+ expect(result[1]).toEqual(feedback3.payload);
195
+ });
196
+ it('should return empty array when no feedbacks found for entity', async () => {
197
+ mockFeedbackStore.list.mockResolvedValue([]);
198
+ const result = await feedbackAdapter.getFeedbackByEntity('task-nonexistent');
199
+ expect(result).toEqual([]);
200
+ });
201
+ });
202
+ describe('getAllFeedback', () => {
203
+ it('[EARS-10] should return all feedback records in the system', async () => {
204
+ const feedback1 = createMockFeedbackRecord({ id: 'feedback-1' });
205
+ const feedback2 = createMockFeedbackRecord({ id: 'feedback-2' });
206
+ mockFeedbackStore.list.mockResolvedValue(['feedback-1', 'feedback-2']);
207
+ mockFeedbackStore.read
208
+ .mockResolvedValueOnce(feedback1)
209
+ .mockResolvedValueOnce(feedback2);
210
+ const result = await feedbackAdapter.getAllFeedback();
211
+ expect(result).toHaveLength(2);
212
+ expect(result[0]).toEqual(feedback1.payload);
213
+ expect(result[1]).toEqual(feedback2.payload);
214
+ });
215
+ it('should return empty array when no feedbacks exist', async () => {
216
+ mockFeedbackStore.list.mockResolvedValue([]);
217
+ const result = await feedbackAdapter.getAllFeedback();
218
+ expect(result).toEqual([]);
219
+ });
220
+ });
221
+ describe('Performance Tests', () => {
222
+ it('[EARS-12] should execute in under 50ms for typical datasets', async () => {
223
+ // Create mock data for performance test
224
+ const feedbackIds = Array.from({ length: 100 }, (_, i) => `feedback-${i}`);
225
+ const mockFeedbacks = feedbackIds.map(id => createMockFeedbackRecord({ id, entityId: `task-${id}` }));
226
+ mockFeedbackStore.list.mockResolvedValue(feedbackIds);
227
+ mockFeedbacks.forEach(feedback => {
228
+ mockFeedbackStore.read.mockResolvedValueOnce(feedback);
229
+ });
230
+ const startTime = Date.now();
231
+ await feedbackAdapter.getAllFeedback();
232
+ const endTime = Date.now();
233
+ expect(endTime - startTime).toBeLessThan(50);
234
+ });
235
+ });
236
+ describe('Error Handling', () => {
237
+ it('should handle factory errors gracefully', async () => {
238
+ createFeedbackRecord.mockRejectedValue(new Error('Factory error'));
239
+ await expect(feedbackAdapter.create(mockPayload, mockActorId))
240
+ .rejects.toThrow('Factory error');
241
+ });
242
+ it('should handle identity errors gracefully', async () => {
243
+ mockIdentityAdapter.signRecord.mockRejectedValue(new Error('Signing failed'));
244
+ await expect(feedbackAdapter.create(mockPayload, mockActorId))
245
+ .rejects.toThrow('Signing failed');
246
+ });
247
+ it('should handle store errors gracefully in resolve', async () => {
248
+ const existingFeedback = createMockFeedbackRecord({ status: 'open' });
249
+ mockFeedbackStore.read.mockResolvedValue(existingFeedback);
250
+ mockFeedbackStore.write.mockRejectedValue(new Error('Store error'));
251
+ await expect(feedbackAdapter.resolve('feedback-123', mockActorId))
252
+ .rejects.toThrow('Store error');
253
+ });
254
+ });
255
+ });
256
+ //# sourceMappingURL=feedback_adapter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback_adapter.test.js","sourceRoot":"","sources":["../../../../src/adapters/feedback_adapter/feedback_adapter.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { RecordStore } from '../../store';
2
+ import { IdentityAdapter } from '../identity_adapter';
3
+ import type { FeedbackRecord } from '../../types';
4
+ import type { IEventStream } from '../../event_bus';
5
+ /**
6
+ * FeedbackAdapter Dependencies - Facade + Dependency Injection Pattern
7
+ */
8
+ export interface FeedbackAdapterDependencies {
9
+ feedbackStore: RecordStore<FeedbackRecord>;
10
+ identity: IdentityAdapter;
11
+ eventBus: IEventStream;
12
+ }
13
+ /**
14
+ * FeedbackAdapter Interface - The Communication Facilitator
15
+ */
16
+ export interface IFeedbackAdapter {
17
+ /**
18
+ * Creates a new FeedbackRecord.
19
+ */
20
+ create(payload: Partial<FeedbackRecord>, actorId: string): Promise<FeedbackRecord>;
21
+ /**
22
+ * Resolves an existing FeedbackRecord.
23
+ */
24
+ resolve(feedbackId: string, actorId: string): Promise<FeedbackRecord>;
25
+ /**
26
+ * Gets a specific FeedbackRecord by its ID.
27
+ */
28
+ getFeedback(feedbackId: string): Promise<FeedbackRecord | null>;
29
+ /**
30
+ * Gets all FeedbackRecords for a specific entity.
31
+ */
32
+ getFeedbackByEntity(entityId: string): Promise<FeedbackRecord[]>;
33
+ /**
34
+ * Gets all FeedbackRecords in the system.
35
+ */
36
+ getAllFeedback(): Promise<FeedbackRecord[]>;
37
+ }
38
+ /**
39
+ * FeedbackAdapter - The Communication Facilitator
40
+ *
41
+ * Implements Facade + Dependency Injection Pattern for testeable and configurable orchestration.
42
+ * Acts as Mediator between structured communication and data stores.
43
+ */
44
+ export declare class FeedbackAdapter implements IFeedbackAdapter {
45
+ private feedbackStore;
46
+ private identity;
47
+ private eventBus;
48
+ constructor(dependencies: FeedbackAdapterDependencies);
49
+ /**
50
+ * [EARS-1] Creates a new FeedbackRecord for structured communication between actors.
51
+ *
52
+ * Description: Creates a new FeedbackRecord for structured communication between actors.
53
+ * Implementation: Builds record with status: "open", signs with actorId, persists and emits event.
54
+ * Usage: Invoked by `gitgov feedback add` to create feedback, assignments, blocks.
55
+ * Returns: Complete and signed FeedbackRecord.
56
+ */
57
+ create(payload: Partial<FeedbackRecord>, actorId: string): Promise<FeedbackRecord>;
58
+ /**
59
+ * [EARS-4] Resolves an existing feedback changing its status to resolved.
60
+ *
61
+ * Description: Resolves an existing feedback changing its status to resolved.
62
+ * Implementation: Reads feedback, validates permissions (future), transitions state, signs and emits event.
63
+ * Usage: Invoked by `gitgov feedback resolve` to close conversations and blocks.
64
+ * Returns: Updated FeedbackRecord with new signature.
65
+ */
66
+ resolve(feedbackId: string, actorId: string): Promise<FeedbackRecord>;
67
+ /**
68
+ * [EARS-7] Gets a specific FeedbackRecord by its ID for query.
69
+ *
70
+ * Description: Gets a specific FeedbackRecord by its ID for query.
71
+ * Implementation: Direct read from record store without modifications.
72
+ * Usage: Invoked by `gitgov feedback show` to display feedback details.
73
+ * Returns: FeedbackRecord found or null if it doesn't exist.
74
+ */
75
+ getFeedback(feedbackId: string): Promise<FeedbackRecord | null>;
76
+ /**
77
+ * [EARS-9] Gets all FeedbackRecords associated with a specific entity.
78
+ *
79
+ * Description: Gets all FeedbackRecords associated with a specific entity.
80
+ * Implementation: Reads all records and filters by matching entityId.
81
+ * Usage: Invoked by `gitgov feedback list` to display feedback for a task/cycle.
82
+ * Returns: Array of FeedbackRecords filtered for the entity.
83
+ */
84
+ getFeedbackByEntity(entityId: string): Promise<FeedbackRecord[]>;
85
+ /**
86
+ * [EARS-10] Gets all FeedbackRecords in the system for indexation.
87
+ *
88
+ * Description: Gets all FeedbackRecords in the system for complete indexation.
89
+ * Implementation: Complete read from record store without filters.
90
+ * Usage: Invoked by `gitgov feedback list --all` and by MetricsAdapter for calculations.
91
+ * Returns: Complete array of all FeedbackRecords.
92
+ */
93
+ getAllFeedback(): Promise<FeedbackRecord[]>;
94
+ }
95
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/feedback_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,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAoD,MAAM,iBAAiB,CAAC;AAGtG;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAE1C,aAAa,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAG3C,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEnF;;OAEG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEtE;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAEhE;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEjE;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CAC7C;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAe;gBAEnB,YAAY,EAAE,2BAA2B;IAMrD;;;;;;;OAOG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAsExF;;;;;;;OAOG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAmD3E;;;;;;;OAOG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAKrE;;;;;;;OAOG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IActE;;;;;;;OAOG;IACG,cAAc,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAalD"}