@substrate-ai/core 0.19.54

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 (486) hide show
  1. package/README.md +55 -0
  2. package/dist/__tests__/adapter.test.d.ts +12 -0
  3. package/dist/__tests__/adapter.test.d.ts.map +1 -0
  4. package/dist/__tests__/adapter.test.js +259 -0
  5. package/dist/__tests__/adapter.test.js.map +1 -0
  6. package/dist/__tests__/event-bus.test.d.ts +14 -0
  7. package/dist/__tests__/event-bus.test.d.ts.map +1 -0
  8. package/dist/__tests__/event-bus.test.js +199 -0
  9. package/dist/__tests__/event-bus.test.js.map +1 -0
  10. package/dist/__tests__/output-quality.test.d.ts +8 -0
  11. package/dist/__tests__/output-quality.test.d.ts.map +1 -0
  12. package/dist/__tests__/output-quality.test.js +166 -0
  13. package/dist/__tests__/output-quality.test.js.map +1 -0
  14. package/dist/__tests__/schema-suffix.test.d.ts +9 -0
  15. package/dist/__tests__/schema-suffix.test.d.ts.map +1 -0
  16. package/dist/__tests__/schema-suffix.test.js +126 -0
  17. package/dist/__tests__/schema-suffix.test.js.map +1 -0
  18. package/dist/__tests__/yaml-parser.test.d.ts +18 -0
  19. package/dist/__tests__/yaml-parser.test.d.ts.map +1 -0
  20. package/dist/__tests__/yaml-parser.test.js +475 -0
  21. package/dist/__tests__/yaml-parser.test.js.map +1 -0
  22. package/dist/__type-checks__.d.ts +11 -0
  23. package/dist/__type-checks__.d.ts.map +1 -0
  24. package/dist/__type-checks__.js +19 -0
  25. package/dist/__type-checks__.js.map +1 -0
  26. package/dist/adapters/__tests__/adapter-output-normalizer.test.d.ts +12 -0
  27. package/dist/adapters/__tests__/adapter-output-normalizer.test.d.ts.map +1 -0
  28. package/dist/adapters/__tests__/adapter-output-normalizer.test.js +193 -0
  29. package/dist/adapters/__tests__/adapter-output-normalizer.test.js.map +1 -0
  30. package/dist/adapters/adapter-format-error.d.ts +35 -0
  31. package/dist/adapters/adapter-format-error.d.ts.map +1 -0
  32. package/dist/adapters/adapter-format-error.js +38 -0
  33. package/dist/adapters/adapter-format-error.js.map +1 -0
  34. package/dist/adapters/adapter-output-normalizer.d.ts +50 -0
  35. package/dist/adapters/adapter-output-normalizer.d.ts.map +1 -0
  36. package/dist/adapters/adapter-output-normalizer.js +233 -0
  37. package/dist/adapters/adapter-output-normalizer.js.map +1 -0
  38. package/dist/adapters/adapter-registry.d.ts +50 -0
  39. package/dist/adapters/adapter-registry.d.ts.map +1 -0
  40. package/dist/adapters/adapter-registry.js +101 -0
  41. package/dist/adapters/adapter-registry.js.map +1 -0
  42. package/dist/adapters/claude-adapter.d.ts +59 -0
  43. package/dist/adapters/claude-adapter.d.ts.map +1 -0
  44. package/dist/adapters/claude-adapter.js +367 -0
  45. package/dist/adapters/claude-adapter.js.map +1 -0
  46. package/dist/adapters/codex-adapter.d.ts +64 -0
  47. package/dist/adapters/codex-adapter.d.ts.map +1 -0
  48. package/dist/adapters/codex-adapter.js +263 -0
  49. package/dist/adapters/codex-adapter.js.map +1 -0
  50. package/dist/adapters/gemini-adapter.d.ts +57 -0
  51. package/dist/adapters/gemini-adapter.d.ts.map +1 -0
  52. package/dist/adapters/gemini-adapter.js +311 -0
  53. package/dist/adapters/gemini-adapter.js.map +1 -0
  54. package/dist/adapters/index.d.ts +10 -0
  55. package/dist/adapters/index.d.ts.map +1 -0
  56. package/dist/adapters/index.js +14 -0
  57. package/dist/adapters/index.js.map +1 -0
  58. package/dist/adapters/schemas.d.ts +137 -0
  59. package/dist/adapters/schemas.d.ts.map +1 -0
  60. package/dist/adapters/schemas.js +140 -0
  61. package/dist/adapters/schemas.js.map +1 -0
  62. package/dist/adapters/types.d.ts +245 -0
  63. package/dist/adapters/types.d.ts.map +1 -0
  64. package/dist/adapters/types.js +6 -0
  65. package/dist/adapters/types.js.map +1 -0
  66. package/dist/adapters/worker-adapter.d.ts +188 -0
  67. package/dist/adapters/worker-adapter.d.ts.map +1 -0
  68. package/dist/adapters/worker-adapter.js +19 -0
  69. package/dist/adapters/worker-adapter.js.map +1 -0
  70. package/dist/budget/budget-tracker.d.ts +22 -0
  71. package/dist/budget/budget-tracker.d.ts.map +1 -0
  72. package/dist/budget/budget-tracker.js +39 -0
  73. package/dist/budget/budget-tracker.js.map +1 -0
  74. package/dist/budget/index.d.ts +6 -0
  75. package/dist/budget/index.d.ts.map +1 -0
  76. package/dist/budget/index.js +5 -0
  77. package/dist/budget/index.js.map +1 -0
  78. package/dist/config/config-migrator.d.ts +58 -0
  79. package/dist/config/config-migrator.d.ts.map +1 -0
  80. package/dist/config/config-migrator.js +158 -0
  81. package/dist/config/config-migrator.js.map +1 -0
  82. package/dist/config/config-system-impl.d.ts +63 -0
  83. package/dist/config/config-system-impl.d.ts.map +1 -0
  84. package/dist/config/config-system-impl.js +364 -0
  85. package/dist/config/config-system-impl.js.map +1 -0
  86. package/dist/config/config-watcher.d.ts +59 -0
  87. package/dist/config/config-watcher.d.ts.map +1 -0
  88. package/dist/config/config-watcher.js +137 -0
  89. package/dist/config/config-watcher.js.map +1 -0
  90. package/dist/config/defaults.d.ts +13 -0
  91. package/dist/config/defaults.d.ts.map +1 -0
  92. package/dist/config/defaults.js +62 -0
  93. package/dist/config/defaults.js.map +1 -0
  94. package/dist/config/errors.d.ts +25 -0
  95. package/dist/config/errors.d.ts.map +1 -0
  96. package/dist/config/errors.js +49 -0
  97. package/dist/config/errors.js.map +1 -0
  98. package/dist/config/index.d.ts +19 -0
  99. package/dist/config/index.d.ts.map +1 -0
  100. package/dist/config/index.js +39 -0
  101. package/dist/config/index.js.map +1 -0
  102. package/dist/config/types.d.ts +456 -0
  103. package/dist/config/types.d.ts.map +1 -0
  104. package/dist/config/types.js +174 -0
  105. package/dist/config/types.js.map +1 -0
  106. package/dist/config/version-utils.d.ts +39 -0
  107. package/dist/config/version-utils.d.ts.map +1 -0
  108. package/dist/config/version-utils.js +66 -0
  109. package/dist/config/version-utils.js.map +1 -0
  110. package/dist/context/index.d.ts +2 -0
  111. package/dist/context/index.d.ts.map +1 -0
  112. package/dist/context/index.js +2 -0
  113. package/dist/context/index.js.map +1 -0
  114. package/dist/context/types.d.ts +113 -0
  115. package/dist/context/types.d.ts.map +1 -0
  116. package/dist/context/types.js +59 -0
  117. package/dist/context/types.js.map +1 -0
  118. package/dist/cost-tracker/cost-tracker-impl.d.ts +51 -0
  119. package/dist/cost-tracker/cost-tracker-impl.d.ts.map +1 -0
  120. package/dist/cost-tracker/cost-tracker-impl.js +85 -0
  121. package/dist/cost-tracker/cost-tracker-impl.js.map +1 -0
  122. package/dist/cost-tracker/cost-tracker-subscriber.d.ts +31 -0
  123. package/dist/cost-tracker/cost-tracker-subscriber.d.ts.map +1 -0
  124. package/dist/cost-tracker/cost-tracker-subscriber.js +116 -0
  125. package/dist/cost-tracker/cost-tracker-subscriber.js.map +1 -0
  126. package/dist/cost-tracker/index.d.ts +11 -0
  127. package/dist/cost-tracker/index.d.ts.map +1 -0
  128. package/dist/cost-tracker/index.js +7 -0
  129. package/dist/cost-tracker/index.js.map +1 -0
  130. package/dist/cost-tracker/token-rates.d.ts +25 -0
  131. package/dist/cost-tracker/token-rates.d.ts.map +1 -0
  132. package/dist/cost-tracker/token-rates.js +99 -0
  133. package/dist/cost-tracker/token-rates.js.map +1 -0
  134. package/dist/cost-tracker/types.d.ts +6 -0
  135. package/dist/cost-tracker/types.d.ts.map +1 -0
  136. package/dist/cost-tracker/types.js +2 -0
  137. package/dist/cost-tracker/types.js.map +1 -0
  138. package/dist/dispatch/dispatcher-impl.d.ts +92 -0
  139. package/dist/dispatch/dispatcher-impl.d.ts.map +1 -0
  140. package/dist/dispatch/dispatcher-impl.js +847 -0
  141. package/dist/dispatch/dispatcher-impl.js.map +1 -0
  142. package/dist/dispatch/index.d.ts +15 -0
  143. package/dist/dispatch/index.d.ts.map +1 -0
  144. package/dist/dispatch/index.js +14 -0
  145. package/dist/dispatch/index.js.map +1 -0
  146. package/dist/dispatch/interface-change-detector.d.ts +46 -0
  147. package/dist/dispatch/interface-change-detector.d.ts.map +1 -0
  148. package/dist/dispatch/interface-change-detector.js +135 -0
  149. package/dist/dispatch/interface-change-detector.js.map +1 -0
  150. package/dist/dispatch/output-quality.d.ts +43 -0
  151. package/dist/dispatch/output-quality.d.ts.map +1 -0
  152. package/dist/dispatch/output-quality.js +148 -0
  153. package/dist/dispatch/output-quality.js.map +1 -0
  154. package/dist/dispatch/types.d.ts +271 -0
  155. package/dist/dispatch/types.d.ts.map +1 -0
  156. package/dist/dispatch/types.js +76 -0
  157. package/dist/dispatch/types.js.map +1 -0
  158. package/dist/dispatch/yaml-parser.d.ts +40 -0
  159. package/dist/dispatch/yaml-parser.d.ts.map +1 -0
  160. package/dist/dispatch/yaml-parser.js +323 -0
  161. package/dist/dispatch/yaml-parser.js.map +1 -0
  162. package/dist/events/core-events.d.ts +288 -0
  163. package/dist/events/core-events.d.ts.map +1 -0
  164. package/dist/events/core-events.js +10 -0
  165. package/dist/events/core-events.js.map +1 -0
  166. package/dist/events/event-bus.d.ts +55 -0
  167. package/dist/events/event-bus.d.ts.map +1 -0
  168. package/dist/events/event-bus.js +52 -0
  169. package/dist/events/event-bus.js.map +1 -0
  170. package/dist/events/index.d.ts +9 -0
  171. package/dist/events/index.d.ts.map +1 -0
  172. package/dist/events/index.js +6 -0
  173. package/dist/events/index.js.map +1 -0
  174. package/dist/events/types.d.ts +21 -0
  175. package/dist/events/types.d.ts.map +1 -0
  176. package/dist/events/types.js +8 -0
  177. package/dist/events/types.js.map +1 -0
  178. package/dist/git/git-manager.d.ts +31 -0
  179. package/dist/git/git-manager.d.ts.map +1 -0
  180. package/dist/git/git-manager.js +46 -0
  181. package/dist/git/git-manager.js.map +1 -0
  182. package/dist/git/git-utils.d.ts +166 -0
  183. package/dist/git/git-utils.d.ts.map +1 -0
  184. package/dist/git/git-utils.js +347 -0
  185. package/dist/git/git-utils.js.map +1 -0
  186. package/dist/git/git-worktree-manager-impl.d.ts +58 -0
  187. package/dist/git/git-worktree-manager-impl.d.ts.map +1 -0
  188. package/dist/git/git-worktree-manager-impl.js +336 -0
  189. package/dist/git/git-worktree-manager-impl.js.map +1 -0
  190. package/dist/git/git-worktree-manager.d.ts +122 -0
  191. package/dist/git/git-worktree-manager.d.ts.map +1 -0
  192. package/dist/git/git-worktree-manager.js +14 -0
  193. package/dist/git/git-worktree-manager.js.map +1 -0
  194. package/dist/git/index.d.ts +11 -0
  195. package/dist/git/index.d.ts.map +1 -0
  196. package/dist/git/index.js +8 -0
  197. package/dist/git/index.js.map +1 -0
  198. package/dist/index.d.ts +33 -0
  199. package/dist/index.d.ts.map +1 -0
  200. package/dist/index.js +47 -0
  201. package/dist/index.js.map +1 -0
  202. package/dist/llm/client.d.ts +42 -0
  203. package/dist/llm/client.d.ts.map +1 -0
  204. package/dist/llm/client.js +27 -0
  205. package/dist/llm/client.js.map +1 -0
  206. package/dist/monitor/index.d.ts +15 -0
  207. package/dist/monitor/index.d.ts.map +1 -0
  208. package/dist/monitor/index.js +9 -0
  209. package/dist/monitor/index.js.map +1 -0
  210. package/dist/monitor/monitor-agent-impl.d.ts +56 -0
  211. package/dist/monitor/monitor-agent-impl.d.ts.map +1 -0
  212. package/dist/monitor/monitor-agent-impl.js +178 -0
  213. package/dist/monitor/monitor-agent-impl.js.map +1 -0
  214. package/dist/monitor/monitor-agent.d.ts +36 -0
  215. package/dist/monitor/monitor-agent.d.ts.map +1 -0
  216. package/dist/monitor/monitor-agent.js +6 -0
  217. package/dist/monitor/monitor-agent.js.map +1 -0
  218. package/dist/monitor/performance-aggregates.d.ts +41 -0
  219. package/dist/monitor/performance-aggregates.d.ts.map +1 -0
  220. package/dist/monitor/performance-aggregates.js +6 -0
  221. package/dist/monitor/performance-aggregates.js.map +1 -0
  222. package/dist/monitor/recommendation-engine.d.ts +27 -0
  223. package/dist/monitor/recommendation-engine.d.ts.map +1 -0
  224. package/dist/monitor/recommendation-engine.js +140 -0
  225. package/dist/monitor/recommendation-engine.js.map +1 -0
  226. package/dist/monitor/recommendation-types.d.ts +30 -0
  227. package/dist/monitor/recommendation-types.d.ts.map +1 -0
  228. package/dist/monitor/recommendation-types.js +43 -0
  229. package/dist/monitor/recommendation-types.js.map +1 -0
  230. package/dist/monitor/report-generator.d.ts +48 -0
  231. package/dist/monitor/report-generator.d.ts.map +1 -0
  232. package/dist/monitor/report-generator.js +123 -0
  233. package/dist/monitor/report-generator.js.map +1 -0
  234. package/dist/monitor/task-type-classifier.d.ts +19 -0
  235. package/dist/monitor/task-type-classifier.d.ts.map +1 -0
  236. package/dist/monitor/task-type-classifier.js +68 -0
  237. package/dist/monitor/task-type-classifier.js.map +1 -0
  238. package/dist/persistence/adapter.d.ts +4 -0
  239. package/dist/persistence/adapter.d.ts.map +1 -0
  240. package/dist/persistence/adapter.js +56 -0
  241. package/dist/persistence/adapter.js.map +1 -0
  242. package/dist/persistence/cost-types.d.ts +87 -0
  243. package/dist/persistence/cost-types.d.ts.map +1 -0
  244. package/dist/persistence/cost-types.js +14 -0
  245. package/dist/persistence/cost-types.js.map +1 -0
  246. package/dist/persistence/dolt-adapter-transaction.test.d.ts +10 -0
  247. package/dist/persistence/dolt-adapter-transaction.test.d.ts.map +1 -0
  248. package/dist/persistence/dolt-adapter-transaction.test.js +359 -0
  249. package/dist/persistence/dolt-adapter-transaction.test.js.map +1 -0
  250. package/dist/persistence/dolt-adapter.d.ts +77 -0
  251. package/dist/persistence/dolt-adapter.d.ts.map +1 -0
  252. package/dist/persistence/dolt-adapter.js +98 -0
  253. package/dist/persistence/dolt-adapter.js.map +1 -0
  254. package/dist/persistence/dolt-client.d.ts +69 -0
  255. package/dist/persistence/dolt-client.d.ts.map +1 -0
  256. package/dist/persistence/dolt-client.js +278 -0
  257. package/dist/persistence/dolt-client.js.map +1 -0
  258. package/dist/persistence/dolt-errors.d.ts +10 -0
  259. package/dist/persistence/dolt-errors.d.ts.map +1 -0
  260. package/dist/persistence/dolt-errors.js +15 -0
  261. package/dist/persistence/dolt-errors.js.map +1 -0
  262. package/dist/persistence/dolt-init.d.ts +64 -0
  263. package/dist/persistence/dolt-init.d.ts.map +1 -0
  264. package/dist/persistence/dolt-init.js +233 -0
  265. package/dist/persistence/dolt-init.js.map +1 -0
  266. package/dist/persistence/index.d.ts +23 -0
  267. package/dist/persistence/index.d.ts.map +1 -0
  268. package/dist/persistence/index.js +23 -0
  269. package/dist/persistence/index.js.map +1 -0
  270. package/dist/persistence/memory-adapter.d.ts +156 -0
  271. package/dist/persistence/memory-adapter.d.ts.map +1 -0
  272. package/dist/persistence/memory-adapter.js +1167 -0
  273. package/dist/persistence/memory-adapter.js.map +1 -0
  274. package/dist/persistence/monitor-database.d.ts +113 -0
  275. package/dist/persistence/monitor-database.d.ts.map +1 -0
  276. package/dist/persistence/monitor-database.js +345 -0
  277. package/dist/persistence/monitor-database.js.map +1 -0
  278. package/dist/persistence/queries/amendments.d.ts +91 -0
  279. package/dist/persistence/queries/amendments.d.ts.map +1 -0
  280. package/dist/persistence/queries/amendments.js +185 -0
  281. package/dist/persistence/queries/amendments.js.map +1 -0
  282. package/dist/persistence/queries/cost.d.ts +130 -0
  283. package/dist/persistence/queries/cost.d.ts.map +1 -0
  284. package/dist/persistence/queries/cost.js +384 -0
  285. package/dist/persistence/queries/cost.js.map +1 -0
  286. package/dist/persistence/queries/decisions.d.ts +131 -0
  287. package/dist/persistence/queries/decisions.d.ts.map +1 -0
  288. package/dist/persistence/queries/decisions.js +339 -0
  289. package/dist/persistence/queries/decisions.js.map +1 -0
  290. package/dist/persistence/queries/metrics.d.ts +155 -0
  291. package/dist/persistence/queries/metrics.d.ts.map +1 -0
  292. package/dist/persistence/queries/metrics.js +237 -0
  293. package/dist/persistence/queries/metrics.js.map +1 -0
  294. package/dist/persistence/queries/retry-escalated.d.ts +35 -0
  295. package/dist/persistence/queries/retry-escalated.d.ts.map +1 -0
  296. package/dist/persistence/queries/retry-escalated.js +83 -0
  297. package/dist/persistence/queries/retry-escalated.js.map +1 -0
  298. package/dist/persistence/schema-version.d.ts +89 -0
  299. package/dist/persistence/schema-version.d.ts.map +1 -0
  300. package/dist/persistence/schema-version.js +67 -0
  301. package/dist/persistence/schema-version.js.map +1 -0
  302. package/dist/persistence/schema.d.ts +26 -0
  303. package/dist/persistence/schema.d.ts.map +1 -0
  304. package/dist/persistence/schema.js +509 -0
  305. package/dist/persistence/schema.js.map +1 -0
  306. package/dist/persistence/schemas/decisions.d.ts +176 -0
  307. package/dist/persistence/schemas/decisions.d.ts.map +1 -0
  308. package/dist/persistence/schemas/decisions.js +139 -0
  309. package/dist/persistence/schemas/decisions.js.map +1 -0
  310. package/dist/persistence/schemas/operational.d.ts +194 -0
  311. package/dist/persistence/schemas/operational.d.ts.map +1 -0
  312. package/dist/persistence/schemas/operational.js +197 -0
  313. package/dist/persistence/schemas/operational.js.map +1 -0
  314. package/dist/persistence/types.d.ts +98 -0
  315. package/dist/persistence/types.d.ts.map +1 -0
  316. package/dist/persistence/types.js +22 -0
  317. package/dist/persistence/types.js.map +1 -0
  318. package/dist/quality-gates/index.d.ts +2 -0
  319. package/dist/quality-gates/index.d.ts.map +1 -0
  320. package/dist/quality-gates/index.js +2 -0
  321. package/dist/quality-gates/index.js.map +1 -0
  322. package/dist/quality-gates/types.d.ts +106 -0
  323. package/dist/quality-gates/types.d.ts.map +1 -0
  324. package/dist/quality-gates/types.js +5 -0
  325. package/dist/quality-gates/types.js.map +1 -0
  326. package/dist/routing/index.d.ts +19 -0
  327. package/dist/routing/index.d.ts.map +1 -0
  328. package/dist/routing/index.js +32 -0
  329. package/dist/routing/index.js.map +1 -0
  330. package/dist/routing/model-routing-config.d.ts +75 -0
  331. package/dist/routing/model-routing-config.d.ts.map +1 -0
  332. package/dist/routing/model-routing-config.js +110 -0
  333. package/dist/routing/model-routing-config.js.map +1 -0
  334. package/dist/routing/model-routing-resolver.d.ts +48 -0
  335. package/dist/routing/model-routing-resolver.d.ts.map +1 -0
  336. package/dist/routing/model-routing-resolver.js +105 -0
  337. package/dist/routing/model-routing-resolver.js.map +1 -0
  338. package/dist/routing/model-tier.d.ts +21 -0
  339. package/dist/routing/model-tier.d.ts.map +1 -0
  340. package/dist/routing/model-tier.js +34 -0
  341. package/dist/routing/model-tier.js.map +1 -0
  342. package/dist/routing/provider-status.d.ts +99 -0
  343. package/dist/routing/provider-status.d.ts.map +1 -0
  344. package/dist/routing/provider-status.js +163 -0
  345. package/dist/routing/provider-status.js.map +1 -0
  346. package/dist/routing/routing-decision.d.ts +127 -0
  347. package/dist/routing/routing-decision.d.ts.map +1 -0
  348. package/dist/routing/routing-decision.js +111 -0
  349. package/dist/routing/routing-decision.js.map +1 -0
  350. package/dist/routing/routing-engine-impl.d.ts +132 -0
  351. package/dist/routing/routing-engine-impl.d.ts.map +1 -0
  352. package/dist/routing/routing-engine-impl.js +450 -0
  353. package/dist/routing/routing-engine-impl.js.map +1 -0
  354. package/dist/routing/routing-engine.d.ts +83 -0
  355. package/dist/routing/routing-engine.d.ts.map +1 -0
  356. package/dist/routing/routing-engine.js +24 -0
  357. package/dist/routing/routing-engine.js.map +1 -0
  358. package/dist/routing/routing-policy.d.ts +138 -0
  359. package/dist/routing/routing-policy.d.ts.map +1 -0
  360. package/dist/routing/routing-policy.js +159 -0
  361. package/dist/routing/routing-policy.js.map +1 -0
  362. package/dist/routing/routing-recommender.d.ts +60 -0
  363. package/dist/routing/routing-recommender.d.ts.map +1 -0
  364. package/dist/routing/routing-recommender.js +209 -0
  365. package/dist/routing/routing-recommender.js.map +1 -0
  366. package/dist/routing/routing-telemetry.d.ts +36 -0
  367. package/dist/routing/routing-telemetry.d.ts.map +1 -0
  368. package/dist/routing/routing-telemetry.js +39 -0
  369. package/dist/routing/routing-telemetry.js.map +1 -0
  370. package/dist/routing/routing-token-accumulator.d.ts +68 -0
  371. package/dist/routing/routing-token-accumulator.d.ts.map +1 -0
  372. package/dist/routing/routing-token-accumulator.js +111 -0
  373. package/dist/routing/routing-token-accumulator.js.map +1 -0
  374. package/dist/routing/routing-tuner.d.ts +69 -0
  375. package/dist/routing/routing-tuner.d.ts.map +1 -0
  376. package/dist/routing/routing-tuner.js +217 -0
  377. package/dist/routing/routing-tuner.js.map +1 -0
  378. package/dist/routing/types.d.ts +152 -0
  379. package/dist/routing/types.d.ts.map +1 -0
  380. package/dist/routing/types.js +13 -0
  381. package/dist/routing/types.js.map +1 -0
  382. package/dist/supervisor/analysis.d.ts +178 -0
  383. package/dist/supervisor/analysis.d.ts.map +1 -0
  384. package/dist/supervisor/analysis.js +420 -0
  385. package/dist/supervisor/analysis.js.map +1 -0
  386. package/dist/supervisor/experimenter.d.ts +118 -0
  387. package/dist/supervisor/experimenter.d.ts.map +1 -0
  388. package/dist/supervisor/experimenter.js +493 -0
  389. package/dist/supervisor/experimenter.js.map +1 -0
  390. package/dist/supervisor/index.d.ts +13 -0
  391. package/dist/supervisor/index.d.ts.map +1 -0
  392. package/dist/supervisor/index.js +11 -0
  393. package/dist/supervisor/index.js.map +1 -0
  394. package/dist/telemetry/batch-buffer.d.ts +53 -0
  395. package/dist/telemetry/batch-buffer.d.ts.map +1 -0
  396. package/dist/telemetry/batch-buffer.js +83 -0
  397. package/dist/telemetry/batch-buffer.js.map +1 -0
  398. package/dist/telemetry/categorizer.d.ts +65 -0
  399. package/dist/telemetry/categorizer.d.ts.map +1 -0
  400. package/dist/telemetry/categorizer.js +338 -0
  401. package/dist/telemetry/categorizer.js.map +1 -0
  402. package/dist/telemetry/consumer-analyzer.d.ts +53 -0
  403. package/dist/telemetry/consumer-analyzer.d.ts.map +1 -0
  404. package/dist/telemetry/consumer-analyzer.js +182 -0
  405. package/dist/telemetry/consumer-analyzer.js.map +1 -0
  406. package/dist/telemetry/cost-table.d.ts +36 -0
  407. package/dist/telemetry/cost-table.d.ts.map +1 -0
  408. package/dist/telemetry/cost-table.js +127 -0
  409. package/dist/telemetry/cost-table.js.map +1 -0
  410. package/dist/telemetry/efficiency-scorer.d.ts +103 -0
  411. package/dist/telemetry/efficiency-scorer.d.ts.map +1 -0
  412. package/dist/telemetry/efficiency-scorer.js +311 -0
  413. package/dist/telemetry/efficiency-scorer.js.map +1 -0
  414. package/dist/telemetry/index.d.ts +28 -0
  415. package/dist/telemetry/index.d.ts.map +1 -0
  416. package/dist/telemetry/index.js +37 -0
  417. package/dist/telemetry/index.js.map +1 -0
  418. package/dist/telemetry/ingestion-server.d.ts +99 -0
  419. package/dist/telemetry/ingestion-server.d.ts.map +1 -0
  420. package/dist/telemetry/ingestion-server.js +315 -0
  421. package/dist/telemetry/ingestion-server.js.map +1 -0
  422. package/dist/telemetry/log-turn-analyzer.d.ts +35 -0
  423. package/dist/telemetry/log-turn-analyzer.d.ts.map +1 -0
  424. package/dist/telemetry/log-turn-analyzer.js +132 -0
  425. package/dist/telemetry/log-turn-analyzer.js.map +1 -0
  426. package/dist/telemetry/normalizer.d.ts +43 -0
  427. package/dist/telemetry/normalizer.d.ts.map +1 -0
  428. package/dist/telemetry/normalizer.js +320 -0
  429. package/dist/telemetry/normalizer.js.map +1 -0
  430. package/dist/telemetry/recommender.d.ts +116 -0
  431. package/dist/telemetry/recommender.d.ts.map +1 -0
  432. package/dist/telemetry/recommender.js +532 -0
  433. package/dist/telemetry/recommender.js.map +1 -0
  434. package/dist/telemetry/source-detector.d.ts +19 -0
  435. package/dist/telemetry/source-detector.d.ts.map +1 -0
  436. package/dist/telemetry/source-detector.js +73 -0
  437. package/dist/telemetry/source-detector.js.map +1 -0
  438. package/dist/telemetry/task-baselines.d.ts +30 -0
  439. package/dist/telemetry/task-baselines.d.ts.map +1 -0
  440. package/dist/telemetry/task-baselines.js +44 -0
  441. package/dist/telemetry/task-baselines.js.map +1 -0
  442. package/dist/telemetry/telemetry-pipeline.d.ts +122 -0
  443. package/dist/telemetry/telemetry-pipeline.d.ts.map +1 -0
  444. package/dist/telemetry/telemetry-pipeline.js +349 -0
  445. package/dist/telemetry/telemetry-pipeline.js.map +1 -0
  446. package/dist/telemetry/timestamp-normalizer.d.ts +32 -0
  447. package/dist/telemetry/timestamp-normalizer.d.ts.map +1 -0
  448. package/dist/telemetry/timestamp-normalizer.js +133 -0
  449. package/dist/telemetry/timestamp-normalizer.js.map +1 -0
  450. package/dist/telemetry/token-extractor.d.ts +57 -0
  451. package/dist/telemetry/token-extractor.d.ts.map +1 -0
  452. package/dist/telemetry/token-extractor.js +200 -0
  453. package/dist/telemetry/token-extractor.js.map +1 -0
  454. package/dist/telemetry/turn-analyzer.d.ts +34 -0
  455. package/dist/telemetry/turn-analyzer.d.ts.map +1 -0
  456. package/dist/telemetry/turn-analyzer.js +101 -0
  457. package/dist/telemetry/turn-analyzer.js.map +1 -0
  458. package/dist/telemetry/types.d.ts +456 -0
  459. package/dist/telemetry/types.d.ts.map +1 -0
  460. package/dist/telemetry/types.js +186 -0
  461. package/dist/telemetry/types.js.map +1 -0
  462. package/dist/types.d.ts +80 -0
  463. package/dist/types.d.ts.map +1 -0
  464. package/dist/types.js +6 -0
  465. package/dist/types.js.map +1 -0
  466. package/dist/version-manager/index.d.ts +11 -0
  467. package/dist/version-manager/index.d.ts.map +1 -0
  468. package/dist/version-manager/index.js +8 -0
  469. package/dist/version-manager/index.js.map +1 -0
  470. package/dist/version-manager/update-checker.d.ts +44 -0
  471. package/dist/version-manager/update-checker.d.ts.map +1 -0
  472. package/dist/version-manager/update-checker.js +171 -0
  473. package/dist/version-manager/update-checker.js.map +1 -0
  474. package/dist/version-manager/version-cache.d.ts +42 -0
  475. package/dist/version-manager/version-cache.d.ts.map +1 -0
  476. package/dist/version-manager/version-cache.js +69 -0
  477. package/dist/version-manager/version-cache.js.map +1 -0
  478. package/dist/version-manager/version-manager-impl.d.ts +81 -0
  479. package/dist/version-manager/version-manager-impl.d.ts.map +1 -0
  480. package/dist/version-manager/version-manager-impl.js +223 -0
  481. package/dist/version-manager/version-manager-impl.js.map +1 -0
  482. package/dist/version-manager/version-manager.d.ts +70 -0
  483. package/dist/version-manager/version-manager.d.ts.map +1 -0
  484. package/dist/version-manager/version-manager.js +8 -0
  485. package/dist/version-manager/version-manager.js.map +1 -0
  486. package/package.json +27 -0
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Routing token analysis and telemetry types — interface definitions, no implementations.
3
+ *
4
+ * Also contains duck-typed interfaces for external dependencies used by routing
5
+ * implementations in packages/core. These interfaces decouple the core package
6
+ * from monolith modules (config, monitor, telemetry, state).
7
+ *
8
+ * References:
9
+ * - Epic 28, Story 28-6: Routing Telemetry — Per-Phase Token Tracking and OTEL Spans
10
+ * - Story 41-4: Routing Engine Migration
11
+ */
12
+ /**
13
+ * Token usage attributed to a single (phase, model) combination during a pipeline run.
14
+ */
15
+ export interface PhaseTokenEntry {
16
+ /** Pipeline phase that consumed the tokens */
17
+ phase: 'explore' | 'generate' | 'review' | 'default';
18
+ /** Model identifier that handled the dispatches */
19
+ model: string;
20
+ /** Cumulative input tokens across all dispatches in this bucket */
21
+ inputTokens: number;
22
+ /** Cumulative output tokens across all dispatches in this bucket */
23
+ outputTokens: number;
24
+ /** Number of agent dispatches attributed to this bucket */
25
+ dispatchCount: number;
26
+ }
27
+ /**
28
+ * Aggregate phase-level token breakdown for a completed pipeline run.
29
+ * Stored via StateStore at run completion and exposed in `substrate metrics`.
30
+ */
31
+ export interface PhaseTokenBreakdown {
32
+ /** One entry per distinct (phase, model) combination observed during the run */
33
+ entries: PhaseTokenEntry[];
34
+ /** Baseline model from the routing config (used for savings comparison in story 28-8) */
35
+ baselineModel: string;
36
+ /** Pipeline run ID this breakdown belongs to */
37
+ runId: string;
38
+ }
39
+ /**
40
+ * A single routing recommendation suggesting a model change for a pipeline phase.
41
+ * Generated by RoutingRecommender based on phase token breakdown history.
42
+ */
43
+ export interface RoutingRecommendation {
44
+ /** Pipeline phase this recommendation applies to (e.g. 'explore', 'generate', 'review') */
45
+ phase: string;
46
+ /** Currently configured model for this phase */
47
+ currentModel: string;
48
+ /** Suggested replacement model */
49
+ suggestedModel: string;
50
+ /** Estimated percentage token cost savings (positive = cheaper) */
51
+ estimatedSavingsPct: number;
52
+ /** Confidence level [0, 1] based on number of historical data points */
53
+ confidence: number;
54
+ /** Number of pipeline runs used to compute this recommendation */
55
+ dataPoints: number;
56
+ /** Direction of the suggested change */
57
+ direction: 'upgrade' | 'downgrade';
58
+ }
59
+ /**
60
+ * Output of RoutingRecommender.analyze() — aggregate analysis of phase token
61
+ * data across multiple pipeline runs.
62
+ */
63
+ export interface RoutingAnalysis {
64
+ /** All generated recommendations (may be empty if data is insufficient or ratios are neutral) */
65
+ recommendations: RoutingRecommendation[];
66
+ /** Number of pipeline runs analyzed */
67
+ analysisRuns: number;
68
+ /** True when fewer than 3 historical breakdowns are available */
69
+ insufficientData: boolean;
70
+ /** Per-phase output ratio (output / (input + output)) */
71
+ phaseOutputRatios: Record<string, number>;
72
+ }
73
+ /**
74
+ * Audit log entry written by RoutingTuner when it auto-applies a model downgrade.
75
+ */
76
+ export interface TuneLogEntry {
77
+ /** Unique identifier for this log entry */
78
+ id: string;
79
+ /** Pipeline run ID that triggered the auto-tune */
80
+ runId: string;
81
+ /** Phase whose model was changed */
82
+ phase: string;
83
+ /** Model that was in use before the change */
84
+ oldModel: string;
85
+ /** Model that replaced it */
86
+ newModel: string;
87
+ /** Estimated percentage savings from the change */
88
+ estimatedSavingsPct: number;
89
+ /** ISO 8601 timestamp when the change was applied */
90
+ appliedAt: string;
91
+ }
92
+ /**
93
+ * Minimal configuration system interface.
94
+ * Only captures the methods that RoutingEngineImpl actually calls.
95
+ * The concrete ConfigSystem from src/modules/config satisfies this structurally.
96
+ */
97
+ export interface IConfigSystem {
98
+ /**
99
+ * Return a single value by dot-notation key.
100
+ * @returns the value, or undefined if the key does not exist.
101
+ */
102
+ get(key: string): unknown;
103
+ }
104
+ /**
105
+ * Minimal monitor agent interface.
106
+ * Only captures the methods that RoutingEngineImpl actually calls.
107
+ * The concrete MonitorAgent from src/modules/monitor satisfies this structurally.
108
+ */
109
+ export interface IMonitorAgent {
110
+ /**
111
+ * Get a routing recommendation for a specific task type.
112
+ * Returns null if no meaningful recommendation is available.
113
+ */
114
+ getRecommendation(taskType: string): import('./routing-decision.js').MonitorRecommendation | null;
115
+ }
116
+ /**
117
+ * Minimal telemetry persistence interface.
118
+ * Only captures the methods that RoutingTelemetry actually calls.
119
+ * The concrete IRoutingTelemetryPersistence from src/modules/telemetry satisfies this structurally.
120
+ */
121
+ export interface IRoutingTelemetryPersistence {
122
+ /**
123
+ * Record a named span with arbitrary attributes.
124
+ * Used by RoutingTelemetry to emit routing spans.
125
+ */
126
+ recordSpan(span: {
127
+ name: string;
128
+ attributes: Record<string, unknown>;
129
+ }): void;
130
+ }
131
+ /**
132
+ * Alias for IRoutingTelemetryPersistence.
133
+ * AC2 (Story 41-4) specifies this name; IRoutingTelemetryPersistence is the canonical name.
134
+ * Both names are exported so external code referencing either name resolves correctly.
135
+ */
136
+ export type ITelemetryPersistence = IRoutingTelemetryPersistence;
137
+ /**
138
+ * Minimal state store interface.
139
+ * Only captures the methods that RoutingTokenAccumulator and RoutingTuner actually call.
140
+ * The concrete StateStore from src/modules/state satisfies this structurally.
141
+ */
142
+ export interface IStateStore {
143
+ /**
144
+ * Retrieve a metric value by scope and key.
145
+ */
146
+ getMetric(scopeKey: string, metricKey: string): Promise<unknown>;
147
+ /**
148
+ * Persist a metric value by scope and key.
149
+ */
150
+ setMetric(scopeKey: string, metricKey: string, value: unknown): Promise<void>;
151
+ }
152
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;IACpD,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAA;IACnB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAA;IACpB,2DAA2D;IAC3D,aAAa,EAAE,MAAM,CAAA;CACtB;AAMD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,yFAAyF;IACzF,aAAa,EAAE,MAAM,CAAA;IACrB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;CACd;AAMD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,2FAA2F;IAC3F,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAA;IACpB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,mEAAmE;IACnE,mBAAmB,EAAE,MAAM,CAAA;IAC3B,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAA;IAClB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAA;IAClB,wCAAwC;IACxC,SAAS,EAAE,SAAS,GAAG,WAAW,CAAA;CACnC;AAMD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,iGAAiG;IACjG,eAAe,EAAE,qBAAqB,EAAE,CAAA;IACxC,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,gBAAgB,EAAE,OAAO,CAAA;IACzB,yDAAyD;IACzD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAA;IAChB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAA;CAClB;AAMD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,uBAAuB,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAClG;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAA;CAC9E;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,4BAA4B,CAAA;AAEhE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEhE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9E"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Routing token analysis and telemetry types — interface definitions, no implementations.
3
+ *
4
+ * Also contains duck-typed interfaces for external dependencies used by routing
5
+ * implementations in packages/core. These interfaces decouple the core package
6
+ * from monolith modules (config, monitor, telemetry, state).
7
+ *
8
+ * References:
9
+ * - Epic 28, Story 28-6: Routing Telemetry — Per-Phase Token Tracking and OTEL Spans
10
+ * - Story 41-4: Routing Engine Migration
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Supervisor Analysis Engine — migrated to @substrate-ai/core (Story 41-7)
3
+ *
4
+ * Pure analysis functions that compare completed pipeline runs against baselines
5
+ * and produce actionable optimization recommendations.
6
+ *
7
+ * Architecture:
8
+ * - All functions are pure: no DB access, no file I/O, no side effects
9
+ * - Callers inject pre-fetched RunMetricsRow / StoryMetricsRow data
10
+ * - generateAnalysisReport() produces both markdown and JSON output
11
+ * - writeAnalysisReport() handles file I/O (separate from pure functions)
12
+ *
13
+ * Note: analyzeReviewCycles, ReviewCycleFinding, and ReviewCycleAnalysis are
14
+ * SDLC-specific (story-phase semantics) and remain in the monolith at
15
+ * src/modules/supervisor/review-cycle-analysis.ts.
16
+ */
17
+ import type { RunMetricsRow, StoryMetricsRow } from '../persistence/queries/metrics.js';
18
+ /**
19
+ * Per-phase wall-clock duration map stored in story_metrics.phase_durations_json.
20
+ * Keys are phase names; values are duration in seconds.
21
+ */
22
+ export interface PhaseDurations {
23
+ 'create-story'?: number;
24
+ 'dev-story'?: number;
25
+ 'code-review'?: number;
26
+ fix?: number;
27
+ [key: string]: number | undefined;
28
+ }
29
+ /**
30
+ * A single token-efficiency finding for a story.
31
+ */
32
+ export interface TokenEfficiencyFinding {
33
+ story_key: string;
34
+ /** Phase / aggregate level. 'total' when no per-phase breakdown is available. */
35
+ phase: string;
36
+ tokens_actual: number;
37
+ tokens_baseline: number;
38
+ /** Positive = current run used more tokens than baseline. */
39
+ delta_pct: number;
40
+ }
41
+ /**
42
+ * A per-story timing finding: story where one phase dominated wall clock.
43
+ */
44
+ export interface TimingFinding {
45
+ story_key: string;
46
+ dominant_phase: string;
47
+ dominant_phase_seconds: number;
48
+ total_seconds: number;
49
+ /** Percentage of total story time used by the dominant phase. */
50
+ dominant_phase_pct: number;
51
+ }
52
+ /**
53
+ * Aggregate timing analysis across all stories in a run.
54
+ */
55
+ export interface TimingAnalysis {
56
+ /** Phase with the highest total wall-clock contribution across all stories. */
57
+ bottleneck_phase: string | null;
58
+ bottleneck_phase_seconds: number;
59
+ /** Fraction (0–100) of total wall-clock accounted for by the bottleneck phase. */
60
+ bottleneck_phase_pct: number;
61
+ /** Stories where one phase consumed >50% of their total wall-clock time. */
62
+ high_phase_concentration_stories: TimingFinding[];
63
+ /**
64
+ * Computed effective concurrency = stories / (total_wall_clock / max_story_wall_clock).
65
+ * null when data is insufficient.
66
+ */
67
+ effective_concurrency: number | null;
68
+ /** Configured concurrency from run_metrics (null when not provided). */
69
+ configured_concurrency: number | null;
70
+ /**
71
+ * Ratio of effective to configured concurrency (effective / configured).
72
+ * Values < 1 mean under-utilization; > 1 means more parallelism than configured.
73
+ * null when either value is unavailable.
74
+ */
75
+ concurrency_ratio: number | null;
76
+ }
77
+ export type RecommendationType = 'token_regression' | 'review_cycles' | 'timing_bottleneck';
78
+ /**
79
+ * A machine-readable recommendation produced from analysis findings.
80
+ */
81
+ export interface AnalysisRecommendation {
82
+ type: RecommendationType;
83
+ story_key?: string;
84
+ phase?: string;
85
+ metric?: string;
86
+ actual?: number;
87
+ baseline?: number;
88
+ delta_pct?: number;
89
+ recommendation: string;
90
+ }
91
+ export interface AnalysisSummary {
92
+ total_tokens: number;
93
+ total_tokens_baseline: number | null;
94
+ token_delta_pct: number | null;
95
+ wall_clock_seconds: number;
96
+ wall_clock_baseline: number | null;
97
+ wall_clock_delta_pct: number | null;
98
+ stories_succeeded: number;
99
+ stories_failed: number;
100
+ stories_escalated: number;
101
+ avg_review_cycles: number;
102
+ avg_review_cycles_baseline: number | null;
103
+ review_cycles_delta_pct: number | null;
104
+ }
105
+ export interface AnalysisFindings {
106
+ token_efficiency: TokenEfficiencyFinding[];
107
+ /** Review-cycle aggregate data. Populated inline; SDLC-typed variant lives in monolith. */
108
+ review_cycles: {
109
+ high_cycle_stories: Array<{
110
+ story_key: string;
111
+ phase: string;
112
+ review_cycles: number;
113
+ issue_patterns: string[];
114
+ }>;
115
+ avg_cycles: number;
116
+ avg_cycles_baseline: number | null;
117
+ delta_pct: number | null;
118
+ };
119
+ timing: TimingAnalysis;
120
+ recommendations: AnalysisRecommendation[];
121
+ }
122
+ export interface AnalysisReport {
123
+ run_id: string;
124
+ generated_at: string;
125
+ baseline_run_id: string | undefined;
126
+ summary: AnalysisSummary;
127
+ findings: AnalysisFindings;
128
+ /** Markdown-formatted report text. */
129
+ markdown: string;
130
+ }
131
+ /**
132
+ * Analyse token usage for each story in the current run, comparing against
133
+ * the corresponding story in the baseline run.
134
+ *
135
+ * Returns findings only for stories where total tokens exceeded the baseline
136
+ * by more than 20%.
137
+ */
138
+ export declare function analyzeTokenEfficiency(stories: StoryMetricsRow[], baselineStories: StoryMetricsRow[]): TokenEfficiencyFinding[];
139
+ /**
140
+ * Analyse phase timing across all stories to identify:
141
+ * 1. The bottleneck phase (highest total wall-clock contribution).
142
+ * 2. Stories where a single phase used >50% of their total wall-clock.
143
+ * 3. Effective concurrency estimate.
144
+ */
145
+ export declare function analyzeTimings(stories: StoryMetricsRow[], concurrencySetting?: number): TimingAnalysis;
146
+ /**
147
+ * Generate machine-readable recommendations from analysis findings.
148
+ */
149
+ export declare function generateRecommendations(tokenFindings: TokenEfficiencyFinding[], reviewCycles: {
150
+ high_cycle_stories: Array<{
151
+ story_key: string;
152
+ phase: string;
153
+ review_cycles: number;
154
+ }>;
155
+ avg_cycles: number;
156
+ avg_cycles_baseline: number | null;
157
+ delta_pct: number | null;
158
+ }, timing: TimingAnalysis): AnalysisRecommendation[];
159
+ /**
160
+ * Run a full analysis on a completed pipeline run and produce a structured report.
161
+ *
162
+ * Note: review_cycles.high_cycle_stories will be empty because analyzeReviewCycles
163
+ * is SDLC-specific and is not in core. Use analyzeReviewCycles from the monolith
164
+ * (src/modules/supervisor/review-cycle-analysis.ts) for the full review cycle analysis.
165
+ */
166
+ export declare function generateAnalysisReport(run: RunMetricsRow, stories: StoryMetricsRow[], baseline: RunMetricsRow | undefined, baselineStories: StoryMetricsRow[]): AnalysisReport;
167
+ /**
168
+ * Write the analysis report to the filesystem.
169
+ *
170
+ * Writes:
171
+ * - `<projectRoot>/_bmad-output/supervisor-reports/<run-id>-analysis.md`
172
+ * - `<projectRoot>/_bmad-output/supervisor-reports/<run-id>-analysis.json`
173
+ */
174
+ export declare function writeAnalysisReport(report: AnalysisReport, projectRoot: string): {
175
+ mdPath: string;
176
+ jsonPath: string;
177
+ };
178
+ //# sourceMappingURL=analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/supervisor/analysis.ts"],"names":[],"mappings":"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"}