@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,592 @@
1
+ import { RecordStore } from '../../store';
2
+ /**
3
+ * MetricsAdapter - The System Analyst
4
+ *
5
+ * Implements Facade + Dependency Injection Pattern for testeable and configurable orchestration.
6
+ * Acts as Mediator between analytics system and multi-store data sources.
7
+ */
8
+ export class MetricsAdapter {
9
+ taskStore;
10
+ cycleStore;
11
+ feedbackStore;
12
+ executionStore;
13
+ actorStore;
14
+ platformApi;
15
+ constructor(dependencies) {
16
+ this.taskStore = dependencies.taskStore;
17
+ this.cycleStore = dependencies.cycleStore;
18
+ this.feedbackStore = dependencies.feedbackStore; // Graceful degradation
19
+ this.executionStore = dependencies.executionStore; // Graceful degradation
20
+ this.actorStore = dependencies.actorStore; // Graceful degradation
21
+ this.platformApi = dependencies.platformApi; // Graceful degradation
22
+ }
23
+ // ===== PUBLIC API METHODS =====
24
+ /**
25
+ * [EARS-1] Gets aggregated system status using Tier 1 metrics.
26
+ */
27
+ async getSystemStatus() {
28
+ // Read all tasks and cycles
29
+ const taskIds = await this.taskStore.list();
30
+ const tasks = [];
31
+ for (const id of taskIds) {
32
+ const record = await this.taskStore.read(id);
33
+ if (record)
34
+ tasks.push(record.payload);
35
+ }
36
+ const cycleIds = await this.cycleStore.list();
37
+ const cycles = [];
38
+ for (const id of cycleIds) {
39
+ const record = await this.cycleStore.read(id);
40
+ if (record)
41
+ cycles.push(record.payload);
42
+ }
43
+ // Calculate Tier 1 metrics
44
+ const health = this.calculateHealth(tasks);
45
+ // Count blocked and stale tasks
46
+ const blockedTasks = tasks.filter(task => task.status === 'paused').length;
47
+ const staleTasks = tasks.filter(task => {
48
+ const staleness = this.calculateTimeInCurrentStage(task);
49
+ return staleness > 7; // More than 7 days in current stage
50
+ }).length;
51
+ return {
52
+ tasks: {
53
+ total: tasks.length,
54
+ byStatus: this.countTasksByStatus(tasks),
55
+ byPriority: this.countTasksByPriority(tasks)
56
+ },
57
+ cycles: {
58
+ total: cycles.length,
59
+ active: cycles.filter(c => c.status === 'active').length,
60
+ completed: cycles.filter(c => c.status === 'completed').length
61
+ },
62
+ health: {
63
+ overallScore: health,
64
+ blockedTasks,
65
+ staleTasks
66
+ }
67
+ };
68
+ }
69
+ /**
70
+ * [EARS-2] Gets task health analysis using Tier 1 metrics.
71
+ */
72
+ async getTaskHealth(taskId) {
73
+ // EARS-3: Validate task exists
74
+ const taskRecord = await this.taskStore.read(taskId);
75
+ if (!taskRecord) {
76
+ throw new Error(`RecordNotFoundError: Task not found: ${taskId}`);
77
+ }
78
+ const task = taskRecord.payload;
79
+ // Read related data for analysis
80
+ let feedbacks = [];
81
+ let executions = [];
82
+ if (this.feedbackStore) {
83
+ const feedbackIds = await this.feedbackStore.list();
84
+ for (const id of feedbackIds) {
85
+ const record = await this.feedbackStore.read(id);
86
+ if (record && record.payload.entityId === taskId) {
87
+ feedbacks.push(record.payload);
88
+ }
89
+ }
90
+ }
91
+ if (this.executionStore) {
92
+ const executionIds = await this.executionStore.list();
93
+ for (const id of executionIds) {
94
+ const record = await this.executionStore.read(id);
95
+ if (record && record.payload.taskId === taskId) {
96
+ executions.push(record.payload);
97
+ }
98
+ }
99
+ }
100
+ // Calculate Tier 1 metrics
101
+ const timeInCurrentStage = this.calculateTimeInCurrentStage(task);
102
+ const stalenessIndex = this.calculateStalenessIndex([task]);
103
+ const blockingFeedbacks = feedbacks.filter(f => f.type === 'blocking' && f.status === 'open').length;
104
+ const lastActivity = executions.length > 0 ? Math.max(...executions.map(e => this.getTimestampFromId(e.id))) : this.getTimestampFromId(task.id);
105
+ // Generate recommendations
106
+ const recommendations = [];
107
+ if (timeInCurrentStage > 7)
108
+ recommendations.push('Task has been stagnant for over 7 days');
109
+ if (blockingFeedbacks > 0)
110
+ recommendations.push(`${blockingFeedbacks} blocking feedback(s) need attention`);
111
+ if (stalenessIndex > 5)
112
+ recommendations.push('No recent execution activity detected');
113
+ // Calculate health score (0-100)
114
+ let healthScore = 100;
115
+ if (timeInCurrentStage > 7)
116
+ healthScore -= 30;
117
+ if (blockingFeedbacks > 0)
118
+ healthScore -= 40;
119
+ if (stalenessIndex > 5)
120
+ healthScore -= 20;
121
+ healthScore = Math.max(0, healthScore);
122
+ return {
123
+ taskId,
124
+ healthScore,
125
+ timeInCurrentStage,
126
+ stalenessIndex,
127
+ blockingFeedbacks,
128
+ lastActivity,
129
+ recommendations
130
+ };
131
+ }
132
+ /**
133
+ * [EARS-21] Gets productivity metrics using Tier 2 calculations.
134
+ */
135
+ async getProductivityMetrics() {
136
+ // Read all tasks
137
+ const taskIds = await this.taskStore.list();
138
+ const tasks = [];
139
+ for (const id of taskIds) {
140
+ const record = await this.taskStore.read(id);
141
+ if (record)
142
+ tasks.push(record.payload);
143
+ }
144
+ // Calculate Tier 2 metrics
145
+ const throughput = this.calculateThroughput(tasks);
146
+ const leadTime = this.calculateLeadTime(tasks);
147
+ const cycleTime = this.calculateCycleTime(tasks);
148
+ const tasksCompleted7d = tasks.filter(task => {
149
+ if (task.status !== 'done')
150
+ return false;
151
+ const completedTime = this.getTimestampFromId(task.id);
152
+ const sevenDaysAgo = Math.floor(Date.now() / 1000) - (7 * 24 * 60 * 60);
153
+ return completedTime >= sevenDaysAgo;
154
+ }).length;
155
+ return {
156
+ throughput,
157
+ leadTime,
158
+ cycleTime,
159
+ tasksCompleted7d,
160
+ averageCompletionTime: leadTime // Alias for leadTime
161
+ };
162
+ }
163
+ /**
164
+ * [EARS-22] Gets collaboration metrics with agent activity analysis.
165
+ */
166
+ async getCollaborationMetrics() {
167
+ // EARS-24: Graceful degradation if stores not available
168
+ if (!this.actorStore || !this.executionStore) {
169
+ return {
170
+ activeAgents: 0,
171
+ totalAgents: 0,
172
+ agentUtilization: 0,
173
+ humanAgentRatio: 0,
174
+ collaborationIndex: 0
175
+ };
176
+ }
177
+ // Read actors and executions
178
+ const actorIds = await this.actorStore.list();
179
+ const actors = [];
180
+ for (const id of actorIds) {
181
+ const record = await this.actorStore.read(id);
182
+ if (record)
183
+ actors.push(record.payload);
184
+ }
185
+ const executionIds = await this.executionStore.list();
186
+ const executions = [];
187
+ for (const id of executionIds) {
188
+ const record = await this.executionStore.read(id);
189
+ if (record)
190
+ executions.push(record.payload);
191
+ }
192
+ // Calculate Tier 2 metrics
193
+ const activeAgents = this.calculateActiveAgents(actors, executions);
194
+ const totalAgents = actors.filter(actor => actor.type === 'agent').length;
195
+ const totalHumans = actors.filter(actor => actor.type === 'human').length;
196
+ const agentUtilization = totalAgents > 0 ? (activeAgents / totalAgents) * 100 : 0;
197
+ const humanAgentRatio = totalHumans > 0 ? totalAgents / totalHumans : 0;
198
+ const collaborationIndex = Math.min(100, (activeAgents * 10) + (agentUtilization / 2));
199
+ return {
200
+ activeAgents,
201
+ totalAgents,
202
+ agentUtilization,
203
+ humanAgentRatio,
204
+ collaborationIndex
205
+ };
206
+ }
207
+ // ===== TIER 1: PURE CALCULATION FUNCTIONS (MVP CRITICAL) =====
208
+ /**
209
+ * [EARS-5] Calculates exact days since last state change.
210
+ */
211
+ calculateTimeInCurrentStage(task) {
212
+ try {
213
+ // EARS-25: Use creation timestamp as fallback if no signatures
214
+ const currentTime = Math.floor(Date.now() / 1000);
215
+ const taskCreationTime = this.getTimestampFromId(task.id);
216
+ // TODO: In a complete implementation, we would look at signatures to find last state change
217
+ // For MVP, we use creation time as approximation
218
+ const lastStateChange = taskCreationTime;
219
+ const diffSeconds = currentTime - lastStateChange;
220
+ const diffDays = diffSeconds / (24 * 60 * 60);
221
+ return Math.max(0, diffDays);
222
+ }
223
+ catch (error) {
224
+ // EARS-28: Validate timestamps
225
+ throw new Error(`InvalidDataError: Invalid timestamp data for task ${task.id}`);
226
+ }
227
+ }
228
+ /**
229
+ * [EARS-6] Calculates days since last ExecutionRecord.
230
+ */
231
+ calculateStalenessIndex(tasks) {
232
+ // EARS-13: Graceful degradation without executionStore
233
+ if (!this.executionStore) {
234
+ return 0;
235
+ }
236
+ // EARS-11: Validate input
237
+ if (!Array.isArray(tasks)) {
238
+ throw new Error('InvalidDataError: tasks must be an array');
239
+ }
240
+ // EARS-12: Handle empty datasets
241
+ if (tasks.length === 0) {
242
+ return 0;
243
+ }
244
+ try {
245
+ // For MVP, calculate based on task creation time
246
+ // In complete implementation, would check actual ExecutionRecords
247
+ const currentTime = Math.floor(Date.now() / 1000);
248
+ const staleDays = tasks.map(task => {
249
+ const taskTime = this.getTimestampFromId(task.id);
250
+ return (currentTime - taskTime) / (24 * 60 * 60);
251
+ });
252
+ return Math.max(0, Math.max(...staleDays));
253
+ }
254
+ catch (error) {
255
+ throw new Error('InvalidDataError: Invalid data in staleness calculation');
256
+ }
257
+ }
258
+ /**
259
+ * [EARS-7] Calculates days of oldest active blocking feedback.
260
+ */
261
+ calculateBlockingFeedbackAge(feedback) {
262
+ // EARS-14: Graceful degradation without feedbackStore
263
+ if (!this.feedbackStore) {
264
+ return 0;
265
+ }
266
+ // EARS-11: Validate input
267
+ if (!Array.isArray(feedback)) {
268
+ throw new Error('InvalidDataError: feedback must be an array');
269
+ }
270
+ // Filter blocking and open feedbacks
271
+ const blockingFeedbacks = feedback.filter(f => f.type === 'blocking' && f.status === 'open');
272
+ // EARS-12: Handle empty datasets
273
+ if (blockingFeedbacks.length === 0) {
274
+ return 0;
275
+ }
276
+ try {
277
+ const currentTime = Math.floor(Date.now() / 1000);
278
+ const ages = blockingFeedbacks.map(f => {
279
+ const feedbackTime = this.getTimestampFromId(f.id);
280
+ return (currentTime - feedbackTime) / (24 * 60 * 60);
281
+ });
282
+ return Math.max(...ages);
283
+ }
284
+ catch (error) {
285
+ throw new Error('InvalidDataError: Invalid timestamp in blocking feedback calculation');
286
+ }
287
+ }
288
+ /**
289
+ * [EARS-8] Calculates health percentage using improved protocol formula.
290
+ */
291
+ calculateHealth(tasks) {
292
+ // EARS-11: Validate input
293
+ if (!Array.isArray(tasks)) {
294
+ throw new Error('InvalidDataError: tasks must be an array');
295
+ }
296
+ // EARS-12: Handle empty datasets
297
+ if (tasks.length === 0) {
298
+ return 0;
299
+ }
300
+ try {
301
+ // Count tasks by status
302
+ const activeTasks = tasks.filter(task => task.status === 'active').length;
303
+ const doneTasks = tasks.filter(task => task.status === 'done').length;
304
+ const archivedTasks = tasks.filter(task => task.status === 'archived').length;
305
+ const readyTasks = tasks.filter(task => task.status === 'ready').length;
306
+ const reviewTasks = tasks.filter(task => task.status === 'review').length;
307
+ const pausedTasks = tasks.filter(task => task.status === 'paused').length;
308
+ const draftTasks = tasks.filter(task => task.status === 'draft').length;
309
+ // Calculate health based on workflow progress and blockers
310
+ // Healthy tasks: done (100%), archived (100%), active (80%), ready (60%), review (40%)
311
+ // Neutral tasks: draft (20%)
312
+ // Problematic tasks: paused (0%)
313
+ const healthyScore = (doneTasks * 100) + (archivedTasks * 100) + (activeTasks * 80) + (readyTasks * 60) + (reviewTasks * 40) + (draftTasks * 20) + (pausedTasks * 0);
314
+ const maxPossibleScore = tasks.length * 100;
315
+ if (maxPossibleScore === 0) {
316
+ return 0;
317
+ }
318
+ return Math.round((healthyScore / maxPossibleScore) * 100);
319
+ }
320
+ catch (error) {
321
+ throw new Error('InvalidDataError: Invalid data in health calculation');
322
+ }
323
+ }
324
+ /**
325
+ * [EARS-9] Returns status distribution with percentages.
326
+ */
327
+ calculateBacklogDistribution(tasks) {
328
+ // EARS-11: Validate input
329
+ if (!Array.isArray(tasks)) {
330
+ throw new Error('InvalidDataError: tasks must be an array');
331
+ }
332
+ // EARS-12: Handle empty datasets
333
+ if (tasks.length === 0) {
334
+ return {};
335
+ }
336
+ const validStatuses = ['draft', 'review', 'ready', 'active', 'done', 'archived', 'paused'];
337
+ const distribution = {};
338
+ // EARS-29: Ignore tasks with invalid status
339
+ const validTasks = tasks.filter(task => validStatuses.includes(task.status));
340
+ // EARS-30: Handle division by zero
341
+ if (validTasks.length === 0) {
342
+ return {};
343
+ }
344
+ for (const status of validStatuses) {
345
+ const count = validTasks.filter(task => task.status === status).length;
346
+ distribution[status] = (count / validTasks.length) * 100;
347
+ }
348
+ return distribution;
349
+ }
350
+ /**
351
+ * [EARS-10] Counts tasks created in last 24 hours.
352
+ */
353
+ calculateTasksCreatedToday(tasks) {
354
+ // EARS-11: Validate input
355
+ if (!Array.isArray(tasks)) {
356
+ throw new Error('InvalidDataError: tasks must be an array');
357
+ }
358
+ try {
359
+ const currentTime = Math.floor(Date.now() / 1000);
360
+ const twentyFourHoursAgo = currentTime - (24 * 60 * 60);
361
+ return tasks.filter(task => {
362
+ const creationTime = this.getTimestampFromId(task.id);
363
+ return creationTime >= twentyFourHoursAgo;
364
+ }).length;
365
+ }
366
+ catch (error) {
367
+ throw new Error('InvalidDataError: Invalid timestamp in tasks created today calculation');
368
+ }
369
+ }
370
+ // ===== TIER 2: PURE CALCULATION FUNCTIONS (IMPORTANT) =====
371
+ /**
372
+ * [EARS-17] Counts tasks moved to 'done' in last 7 days.
373
+ */
374
+ calculateThroughput(tasks) {
375
+ // EARS-11: Validate input
376
+ if (!Array.isArray(tasks)) {
377
+ throw new Error('InvalidDataError: tasks must be an array');
378
+ }
379
+ try {
380
+ const currentTime = Math.floor(Date.now() / 1000);
381
+ const sevenDaysAgo = currentTime - (7 * 24 * 60 * 60);
382
+ return tasks.filter(task => {
383
+ if (task.status !== 'done')
384
+ return false;
385
+ // For MVP, use creation time as approximation of completion time
386
+ const completionTime = this.getTimestampFromId(task.id);
387
+ return completionTime >= sevenDaysAgo;
388
+ }).length;
389
+ }
390
+ catch (error) {
391
+ throw new Error('InvalidDataError: Invalid data in throughput calculation');
392
+ }
393
+ }
394
+ /**
395
+ * [EARS-18] Calculates average done-draft time for lead time.
396
+ */
397
+ calculateLeadTime(tasks) {
398
+ // EARS-11: Validate input
399
+ if (!Array.isArray(tasks)) {
400
+ throw new Error('InvalidDataError: tasks must be an array');
401
+ }
402
+ // EARS-26: Filter only completed tasks
403
+ const completedTasks = tasks.filter(task => task.status === 'done');
404
+ // EARS-30: Handle division by zero
405
+ if (completedTasks.length === 0) {
406
+ return 0;
407
+ }
408
+ try {
409
+ // For MVP, calculate based on creation time
410
+ // In complete implementation, would use actual state change timestamps
411
+ const currentTime = Math.floor(Date.now() / 1000);
412
+ const leadTimes = completedTasks.map(task => {
413
+ const creationTime = this.getTimestampFromId(task.id);
414
+ return (currentTime - creationTime) / (24 * 60 * 60); // Convert to days
415
+ });
416
+ return leadTimes.reduce((sum, time) => sum + time, 0) / leadTimes.length;
417
+ }
418
+ catch (error) {
419
+ throw new Error('InvalidDataError: Invalid timestamp in lead time calculation');
420
+ }
421
+ }
422
+ /**
423
+ * [EARS-19] Calculates average done-active time for cycle time.
424
+ */
425
+ calculateCycleTime(tasks) {
426
+ // EARS-11: Validate input
427
+ if (!Array.isArray(tasks)) {
428
+ throw new Error('InvalidDataError: tasks must be an array');
429
+ }
430
+ // Filter completed tasks that were active
431
+ const activeTasks = tasks.filter(task => task.status === 'done');
432
+ // EARS-27: Return 0 for tasks that were never active
433
+ if (activeTasks.length === 0) {
434
+ return 0;
435
+ }
436
+ try {
437
+ // For MVP, use approximation based on creation time
438
+ // In complete implementation, would track actual active → done transitions
439
+ const cycleTimes = activeTasks.map(task => {
440
+ // Approximate cycle time as 30% of total time (active phase)
441
+ const creationTime = this.getTimestampFromId(task.id);
442
+ const currentTime = Math.floor(Date.now() / 1000);
443
+ const totalTime = (currentTime - creationTime) / (24 * 60 * 60);
444
+ return totalTime * 0.3; // Approximate active time
445
+ });
446
+ return cycleTimes.reduce((sum, time) => sum + time, 0) / cycleTimes.length;
447
+ }
448
+ catch (error) {
449
+ throw new Error('InvalidDataError: Invalid data in cycle time calculation');
450
+ }
451
+ }
452
+ /**
453
+ * [EARS-20] Counts unique agents with executions in 24h.
454
+ */
455
+ calculateActiveAgents(actors, executions) {
456
+ // EARS-11: Validate input
457
+ if (!Array.isArray(actors) || !Array.isArray(executions)) {
458
+ throw new Error('InvalidDataError: actors and executions must be arrays');
459
+ }
460
+ try {
461
+ const currentTime = Math.floor(Date.now() / 1000);
462
+ const twentyFourHoursAgo = currentTime - (24 * 60 * 60);
463
+ // Get recent executions
464
+ const recentExecutions = executions.filter(execution => {
465
+ const executionTime = this.getTimestampFromId(execution.id);
466
+ return executionTime >= twentyFourHoursAgo;
467
+ });
468
+ // Get unique agent IDs from recent executions
469
+ const activeAgentIds = new Set();
470
+ if (recentExecutions.length > 0) {
471
+ // Cross-reference executions with agent actors to find active agents
472
+ const agentActors = actors.filter(actor => actor.type === 'agent');
473
+ for (const agent of agentActors) {
474
+ // In a complete implementation, we would track execution authorship
475
+ // For now, if there are recent executions and agent actors, count them as active
476
+ activeAgentIds.add(agent.id);
477
+ }
478
+ }
479
+ return activeAgentIds.size;
480
+ }
481
+ catch (error) {
482
+ throw new Error('InvalidDataError: Invalid data in active agents calculation');
483
+ }
484
+ }
485
+ // ===== HELPER METHODS =====
486
+ /**
487
+ * Extracts timestamp from ID (format: {timestamp}-{type}-{slug})
488
+ */
489
+ getTimestampFromId(id) {
490
+ try {
491
+ const parts = id.split('-');
492
+ const timestamp = parseInt(parts[0] || '0', 10);
493
+ // EARS-28: Validate timestamps
494
+ if (isNaN(timestamp) || timestamp <= 0) {
495
+ throw new Error(`Invalid timestamp in ID: ${id}`);
496
+ }
497
+ return timestamp;
498
+ }
499
+ catch (error) {
500
+ throw new Error(`InvalidDataError: Cannot extract timestamp from ID: ${id}`);
501
+ }
502
+ }
503
+ /**
504
+ * Counts tasks by status
505
+ */
506
+ countTasksByStatus(tasks) {
507
+ const counts = {};
508
+ for (const task of tasks) {
509
+ const status = task.status;
510
+ counts[status] = (counts[status] || 0) + 1;
511
+ }
512
+ return counts;
513
+ }
514
+ /**
515
+ * Counts tasks by priority
516
+ */
517
+ countTasksByPriority(tasks) {
518
+ const counts = {};
519
+ for (const task of tasks) {
520
+ const priority = task.priority;
521
+ counts[priority] = (counts[priority] || 0) + 1;
522
+ }
523
+ return counts;
524
+ }
525
+ // ===== TIER 3-4: NOT IMPLEMENTED (FUTURE) =====
526
+ /**
527
+ * [EARS-15] Throws NotImplementedError for Tier 3 functions.
528
+ */
529
+ calculateQuality(_tasks) {
530
+ throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
531
+ }
532
+ calculateReworkRate(_tasks) {
533
+ throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
534
+ }
535
+ calculateCompletionRate(_tasks) {
536
+ throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
537
+ }
538
+ calculateAuditScoreDistribution(_tasks) {
539
+ throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
540
+ }
541
+ calculateEpicPromotionRate(_tasks) {
542
+ throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
543
+ }
544
+ calculateTaskRefinementRate(_tasks) {
545
+ throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
546
+ }
547
+ calculatePlanningAccuracy(_tasks) {
548
+ throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
549
+ }
550
+ calculateDependencyDiscoveryRate(_tasks) {
551
+ throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
552
+ }
553
+ /**
554
+ * [EARS-16] Returns null for Premium metrics without Platform API.
555
+ */
556
+ calculateCostBurnRate(_consumption) {
557
+ if (!this.platformApi) {
558
+ console.warn('Platform API not available for premium metrics');
559
+ return 0;
560
+ }
561
+ throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
562
+ }
563
+ calculateTokenConsumption(_consumption) {
564
+ if (!this.platformApi) {
565
+ console.warn('Platform API not available for premium metrics');
566
+ return 0;
567
+ }
568
+ throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
569
+ }
570
+ calculateTokenConsumptionByAgent(_consumption) {
571
+ if (!this.platformApi) {
572
+ console.warn('Platform API not available for premium metrics');
573
+ return {};
574
+ }
575
+ throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
576
+ }
577
+ calculateAiAccuracyRate(_tasks, _feedback) {
578
+ if (!this.platformApi) {
579
+ console.warn('Platform API not available for premium metrics');
580
+ return 0;
581
+ }
582
+ throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
583
+ }
584
+ calculateAgentExecutionTime(_executions) {
585
+ if (!this.platformApi) {
586
+ console.warn('Platform API not available for premium metrics');
587
+ return 0;
588
+ }
589
+ throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
590
+ }
591
+ }
592
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/metrics_adapter/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=metrics_adapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics_adapter.test.d.ts","sourceRoot":"","sources":["../../../../src/adapters/metrics_adapter/metrics_adapter.test.ts"],"names":[],"mappings":""}