@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,55 @@
1
+ /**
2
+ * TypedEventBus<E extends EventMap> — generic event bus interface and implementation.
3
+ *
4
+ * This interface is the stable contract for the event bus system.
5
+ * Packages parameterize it with their own event map types (e.g., TypedEventBus<SdlcEvents>).
6
+ */
7
+ import type { EventMap, EventHandler } from './types.js';
8
+ /**
9
+ * A type-safe event bus parameterized over an event map E.
10
+ *
11
+ * @example
12
+ * const bus: TypedEventBus<CoreEvents & SdlcEvents> = createEventBus()
13
+ * bus.on('orchestrator:story-complete', ({ storyKey }) => { ... })
14
+ */
15
+ export interface TypedEventBus<E extends EventMap> {
16
+ /**
17
+ * Emit an event with a typed payload.
18
+ * All registered handlers for this event key are called synchronously.
19
+ */
20
+ emit<K extends keyof E>(event: K, payload: E[K]): void;
21
+ /**
22
+ * Register a handler for an event.
23
+ */
24
+ on<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
25
+ /**
26
+ * Unregister a previously registered handler.
27
+ */
28
+ off<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
29
+ }
30
+ /**
31
+ * Concrete implementation of TypedEventBus backed by Node.js EventEmitter.
32
+ *
33
+ * Dispatch is SYNCHRONOUS — all handlers run before emit() returns (per ADR-004).
34
+ * maxListeners is set to 100 to avoid spurious warnings in large systems.
35
+ *
36
+ * @example
37
+ * const bus = new TypedEventBusImpl<CoreEvents & SdlcEvents>()
38
+ * bus.on('orchestrator:story-complete', ({ storyKey }) => { ... })
39
+ * bus.emit('orchestrator:story-complete', { storyKey: '1-1', reviewCycles: 1 })
40
+ */
41
+ export declare class TypedEventBusImpl<E extends EventMap> implements TypedEventBus<E> {
42
+ private readonly _emitter;
43
+ constructor();
44
+ emit<K extends keyof E>(event: K, payload: E[K]): void;
45
+ on<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
46
+ off<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
47
+ }
48
+ /**
49
+ * Create a new TypedEventBus instance parameterized over event map E.
50
+ *
51
+ * @example
52
+ * const bus = createEventBus<CoreEvents & SdlcEvents>()
53
+ */
54
+ export declare function createEventBus<E extends EventMap>(): TypedEventBus<E>;
55
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,QAAQ;IAC/C;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAEtD;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAElE;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;CACpE;AAMD;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;;IAQvC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAItD,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAKlE,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAGpE;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,CAErE"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * TypedEventBus<E extends EventMap> — generic event bus interface and implementation.
3
+ *
4
+ * This interface is the stable contract for the event bus system.
5
+ * Packages parameterize it with their own event map types (e.g., TypedEventBus<SdlcEvents>).
6
+ */
7
+ import { EventEmitter } from 'node:events';
8
+ // ---------------------------------------------------------------------------
9
+ // TypedEventBusImpl
10
+ // ---------------------------------------------------------------------------
11
+ /**
12
+ * Concrete implementation of TypedEventBus backed by Node.js EventEmitter.
13
+ *
14
+ * Dispatch is SYNCHRONOUS — all handlers run before emit() returns (per ADR-004).
15
+ * maxListeners is set to 100 to avoid spurious warnings in large systems.
16
+ *
17
+ * @example
18
+ * const bus = new TypedEventBusImpl<CoreEvents & SdlcEvents>()
19
+ * bus.on('orchestrator:story-complete', ({ storyKey }) => { ... })
20
+ * bus.emit('orchestrator:story-complete', { storyKey: '1-1', reviewCycles: 1 })
21
+ */
22
+ export class TypedEventBusImpl {
23
+ _emitter;
24
+ constructor() {
25
+ this._emitter = new EventEmitter();
26
+ // Raise limit to avoid spurious warnings in large systems with many subscribers
27
+ this._emitter.setMaxListeners(100);
28
+ }
29
+ emit(event, payload) {
30
+ this._emitter.emit(event, payload);
31
+ }
32
+ on(event, handler) {
33
+ // EventEmitter passes arguments as rest params; cast to satisfy TypeScript
34
+ this._emitter.on(event, handler);
35
+ }
36
+ off(event, handler) {
37
+ this._emitter.off(event, handler);
38
+ }
39
+ }
40
+ // ---------------------------------------------------------------------------
41
+ // Factory function
42
+ // ---------------------------------------------------------------------------
43
+ /**
44
+ * Create a new TypedEventBus instance parameterized over event map E.
45
+ *
46
+ * @example
47
+ * const bus = createEventBus<CoreEvents & SdlcEvents>()
48
+ */
49
+ export function createEventBus() {
50
+ return new TypedEventBusImpl();
51
+ }
52
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA4B1C,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,OAAO,iBAAiB;IACX,QAAQ,CAAc;IAEvC;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAA;QAClC,gFAAgF;QAChF,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,CAAoB,KAAQ,EAAE,OAAa;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAe,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,EAAE,CAAoB,KAAQ,EAAE,OAA2B;QACzD,2EAA2E;QAC3E,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAe,EAAE,OAAiC,CAAC,CAAA;IACtE,CAAC;IAED,GAAG,CAAoB,KAAQ,EAAE,OAA2B;QAC1D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,EAAE,OAAiC,CAAC,CAAA;IACvE,CAAC;CACF;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,iBAAiB,EAAK,CAAA;AACnC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @substrate-ai/core events barrel export.
3
+ * Re-exports all event-related types for package consumers.
4
+ */
5
+ export type { EventMap, EventHandler } from './types.js';
6
+ export type { TypedEventBus } from './event-bus.js';
7
+ export { TypedEventBusImpl, createEventBus } from './event-bus.js';
8
+ export type { CoreEvents, EventTaskResult, EventTaskError, } from './core-events.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAClE,YAAY,EACV,UAAU,EAGV,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @substrate-ai/core events barrel export.
3
+ * Re-exports all event-related types for package consumers.
4
+ */
5
+ export { TypedEventBusImpl, createEventBus } from './event-bus.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Base event type primitives for the TypedEventBus system.
3
+ *
4
+ * These types are the foundation of the event bus contract.
5
+ * All event maps must satisfy EventMap; all handlers must satisfy EventHandler<T>.
6
+ */
7
+ /**
8
+ * Base constraint for event maps.
9
+ * Each key is an event name (string), and the value is the payload type.
10
+ *
11
+ * Using `object` (not `Record<string, unknown>`) so that TypeScript interfaces
12
+ * with named properties (without index signatures) satisfy the constraint.
13
+ * TypeScript interfaces extend `object` but may not extend `Record<string, unknown>`
14
+ * unless they have an explicit index signature.
15
+ */
16
+ export type EventMap = object;
17
+ /**
18
+ * A typed event handler function for payload type T.
19
+ */
20
+ export type EventHandler<T> = (payload: T) => void;
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Base event type primitives for the TypedEventBus system.
3
+ *
4
+ * These types are the foundation of the event bus contract.
5
+ * All event maps must satisfy EventMap; all handlers must satisfy EventHandler<T>.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * GitManager — interface and stub for git worktree management.
3
+ *
4
+ * The full implementation will be provided by a later story.
5
+ * This stub subscribes to worktree events and satisfies the IBaseService
6
+ * lifecycle contract.
7
+ *
8
+ * Event subscriptions (Architecture Section 19):
9
+ * - Listens to worktree:created, worktree:merged, worktree:conflict, worktree:removed events
10
+ */
11
+ import type { IBaseService } from '../types.js';
12
+ import type { TypedEventBus } from '../events/index.js';
13
+ import type { CoreEvents } from '../events/index.js';
14
+ import type { ILogger } from '../dispatch/types.js';
15
+ export interface GitManager extends IBaseService {
16
+ }
17
+ export declare class GitManagerImpl implements GitManager {
18
+ private readonly _eventBus;
19
+ private readonly _logger;
20
+ readonly repoRoot: string | undefined;
21
+ constructor(eventBus: TypedEventBus<CoreEvents>, repoRoot?: string, logger?: ILogger);
22
+ initialize(): Promise<void>;
23
+ shutdown(): Promise<void>;
24
+ }
25
+ export interface GitManagerOptions {
26
+ eventBus: TypedEventBus<CoreEvents>;
27
+ repoRoot?: string;
28
+ logger?: ILogger;
29
+ }
30
+ export declare function createGitManager(options: GitManagerOptions): GitManager;
31
+ //# sourceMappingURL=git-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-manager.d.ts","sourceRoot":"","sources":["../../src/git/git-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAMnD,MAAM,WAAW,UAAW,SAAQ,YAAY;CAE/C;AAMD,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEzB,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAM9E,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC;AAMD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAEvE"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * GitManager — interface and stub for git worktree management.
3
+ *
4
+ * The full implementation will be provided by a later story.
5
+ * This stub subscribes to worktree events and satisfies the IBaseService
6
+ * lifecycle contract.
7
+ *
8
+ * Event subscriptions (Architecture Section 19):
9
+ * - Listens to worktree:created, worktree:merged, worktree:conflict, worktree:removed events
10
+ */
11
+ // ---------------------------------------------------------------------------
12
+ // GitManagerImpl (stub)
13
+ // ---------------------------------------------------------------------------
14
+ export class GitManagerImpl {
15
+ _eventBus;
16
+ _logger;
17
+ repoRoot;
18
+ constructor(eventBus, repoRoot, logger) {
19
+ this._eventBus = eventBus;
20
+ this.repoRoot = repoRoot;
21
+ this._logger = logger ?? console;
22
+ }
23
+ async initialize() {
24
+ this._logger.info({ repoRoot: this.repoRoot }, 'GitManager.initialize() — stub');
25
+ // Subscribe to worktree lifecycle events
26
+ this._eventBus.on('worktree:created', ({ taskId, worktreePath, branchName }) => {
27
+ this._logger.debug({ taskId, worktreePath, branchName }, 'worktree:created');
28
+ });
29
+ this._eventBus.on('worktree:merged', ({ taskId, branch }) => {
30
+ this._logger.debug({ taskId, branch }, 'worktree:merged');
31
+ });
32
+ this._eventBus.on('worktree:conflict', ({ taskId, conflictingFiles }) => {
33
+ this._logger.warn({ taskId, conflictingFiles }, 'worktree:conflict');
34
+ });
35
+ this._eventBus.on('worktree:removed', ({ taskId, branchName }) => {
36
+ this._logger.debug({ taskId, branchName }, 'worktree:removed');
37
+ });
38
+ }
39
+ async shutdown() {
40
+ this._logger.info('GitManager.shutdown() — stub');
41
+ }
42
+ }
43
+ export function createGitManager(options) {
44
+ return new GitManagerImpl(options.eventBus, options.repoRoot, options.logger);
45
+ }
46
+ //# sourceMappingURL=git-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-manager.js","sourceRoot":"","sources":["../../src/git/git-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,OAAO,cAAc;IACR,SAAS,CAA2B;IACpC,OAAO,CAAS;IACxB,QAAQ,CAAoB;IAErC,YAAY,QAAmC,EAAE,QAAiB,EAAE,MAAgB;QAClF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,OAAO,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,gCAAgC,CAAC,CAAA;QAEhF,yCAAyC;QACzC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE;YAC7E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,kBAAkB,CAAC,CAAA;QAC9E,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YAC1D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE;YACtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,mBAAmB,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,kBAAkB,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACnD,CAAC;CACF;AAYD,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AAC/E,CAAC"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * git-utils.ts — Low-level git command helpers.
3
+ *
4
+ * All git commands are executed via child_process.spawn (not simple-git),
5
+ * as specified in ADR-007 (Git Worktree Management).
6
+ *
7
+ * Functions:
8
+ * - spawnGit: Execute git with given args, returns stdout/stderr/code
9
+ * - getGitVersion: Returns version string like "2.42.0"
10
+ * - parseGitVersion: Parses version string into { major, minor, patch }
11
+ * - isGitVersionSupported: Checks if version >= 2.20.0
12
+ * - verifyGitVersion: Throws if git not installed or < 2.20
13
+ * - createWorktree: Creates a worktree + branch
14
+ * - removeWorktree: Removes a worktree directory
15
+ * - removeBranch: Deletes a branch with git branch -D
16
+ * - getOrphanedWorktrees: Scans .substrate-worktrees/ and returns paths
17
+ * - simulateMerge: Runs git merge --no-commit --no-ff to detect conflicts
18
+ * - abortMerge: Runs git merge --abort to clean up a simulated merge
19
+ * - getConflictingFiles: Returns list of files with conflicts using git diff --name-only --diff-filter=U
20
+ * - performMerge: Runs git merge --no-ff to execute actual merge
21
+ * - getMergedFiles: Returns list of files changed in a merge using git diff --name-only
22
+ */
23
+ export interface SpawnOptions {
24
+ cwd?: string;
25
+ env?: NodeJS.ProcessEnv;
26
+ }
27
+ export interface GitSpawnResult {
28
+ stdout: string;
29
+ stderr: string;
30
+ code: number;
31
+ }
32
+ export interface GitVersion {
33
+ major: number;
34
+ minor: number;
35
+ patch: number;
36
+ }
37
+ /**
38
+ * Spawn a git subprocess with the given args.
39
+ *
40
+ * @param args - Arguments to pass to git (e.g., ['worktree', 'add', ...])
41
+ * @param options - Optional spawn options (cwd, env)
42
+ * @returns - Object with stdout, stderr, and exit code
43
+ */
44
+ export declare function spawnGit(args: string[], options?: SpawnOptions): Promise<GitSpawnResult>;
45
+ /**
46
+ * Get the installed git version string.
47
+ *
48
+ * @returns Version string like "2.42.0"
49
+ * @throws Error if git is not installed or version cannot be parsed
50
+ */
51
+ export declare function getGitVersion(): Promise<string>;
52
+ /**
53
+ * Parse a git version string into major/minor/patch components.
54
+ *
55
+ * @param versionString - Version string like "2.42.0" or "2.20"
56
+ * @returns - Parsed version components
57
+ */
58
+ export declare function parseGitVersion(versionString: string): GitVersion;
59
+ /**
60
+ * Check if the given git version string is >= 2.20.0.
61
+ *
62
+ * @param version - Version string like "2.42.0"
63
+ * @returns - true if version >= 2.20.0
64
+ */
65
+ export declare function isGitVersionSupported(version: string): boolean;
66
+ /**
67
+ * Verify that git is installed and version >= 2.20.
68
+ *
69
+ * @throws Error with clear message if git is not installed or too old
70
+ */
71
+ export declare function verifyGitVersion(): Promise<void>;
72
+ /**
73
+ * Create a git worktree and its associated branch.
74
+ *
75
+ * Uses a single `git worktree add {worktreePath} -b {branchName} {baseBranch}`
76
+ * command to create the worktree with a new branch in one step.
77
+ *
78
+ * @param projectRoot - Absolute path to the git repository root
79
+ * @param taskId - Task identifier (used in path derivation)
80
+ * @param branchName - Branch name to create (e.g., "substrate/task-abc123")
81
+ * @param baseBranch - Branch to base the worktree on (e.g., "main")
82
+ * @returns - Object with the worktreePath
83
+ * @throws - Error if git command fails
84
+ */
85
+ export declare function createWorktree(projectRoot: string, taskId: string, branchName: string, baseBranch: string): Promise<{
86
+ worktreePath: string;
87
+ }>;
88
+ /**
89
+ * Remove a git worktree by path.
90
+ *
91
+ * Uses `git worktree remove --force` to handle unclean worktrees.
92
+ *
93
+ * @param worktreePath - Absolute path to the worktree directory
94
+ * @param projectRoot - Absolute path to the git repository root
95
+ * @throws - Error if git command fails
96
+ */
97
+ export declare function removeWorktree(worktreePath: string, projectRoot?: string): Promise<void>;
98
+ /**
99
+ * Delete a git branch using `git branch -D`.
100
+ *
101
+ * @param branchName - Branch name to delete (e.g., "substrate/task-abc123")
102
+ * @param projectRoot - Absolute path to the git repository root
103
+ * @returns - true if branch was successfully deleted, false otherwise
104
+ */
105
+ export declare function removeBranch(branchName: string, projectRoot?: string): Promise<boolean>;
106
+ /**
107
+ * Scan the worktrees base directory and return paths of all found worktree directories.
108
+ *
109
+ * @param projectRoot - Absolute path to the git repository root
110
+ * @param baseDirectory - Relative directory name for worktrees (default: '.substrate-worktrees')
111
+ * @returns - Array of absolute worktree directory paths
112
+ */
113
+ export declare function getOrphanedWorktrees(projectRoot: string, baseDirectory?: string): Promise<string[]>;
114
+ /**
115
+ * Simulate a merge using git merge --no-commit --no-ff without committing.
116
+ *
117
+ * This runs in the target branch's working directory (the project root or
118
+ * worktree path). The simulation must be aborted after checking conflicts
119
+ * via abortMerge().
120
+ *
121
+ * @param branchName - The source branch to simulate merging
122
+ * @param cwd - Working directory (must be on the target branch)
123
+ * @returns - true if merge would be clean, false if there are conflicts
124
+ */
125
+ export declare function simulateMerge(branchName: string, cwd: string): Promise<boolean>;
126
+ /**
127
+ * Abort a merge in progress using git merge --abort.
128
+ *
129
+ * Should be called after simulateMerge() to clean up the merge state,
130
+ * regardless of whether conflicts were found.
131
+ *
132
+ * @param cwd - Working directory (same as used for simulateMerge)
133
+ */
134
+ export declare function abortMerge(cwd: string): Promise<void>;
135
+ /**
136
+ * Get a list of files with conflicts during a merge.
137
+ *
138
+ * Must be called while a merge is in progress (after simulateMerge() and
139
+ * before abortMerge()).
140
+ *
141
+ * @param cwd - Working directory of the repository
142
+ * @returns - Array of conflicting file paths
143
+ */
144
+ export declare function getConflictingFiles(cwd: string): Promise<string[]>;
145
+ /**
146
+ * Perform an actual merge using git merge --no-ff.
147
+ *
148
+ * Should only be called after detectConflicts() confirms there are no conflicts.
149
+ * Creates a merge commit even if fast-forward is possible (--no-ff ensures history).
150
+ *
151
+ * @param branchName - The source branch to merge
152
+ * @param cwd - Working directory (must be on the target branch)
153
+ * @returns - true if merge succeeded, false otherwise
154
+ */
155
+ export declare function performMerge(branchName: string, cwd: string): Promise<boolean>;
156
+ /**
157
+ * Get a list of files changed in the most recent merge.
158
+ *
159
+ * Uses git diff --name-only HEAD~1..HEAD to find files in the merge commit.
160
+ * Falls back to empty array if commit history is insufficient.
161
+ *
162
+ * @param cwd - Working directory of the repository
163
+ * @returns - Array of file paths that were merged
164
+ */
165
+ export declare function getMergedFiles(cwd: string): Promise<string[]>;
166
+ //# sourceMappingURL=git-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-utils.d.ts","sourceRoot":"","sources":["../../src/git/git-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAUH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAUD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BxF;AAMD;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAcrD;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAOjE;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK9D;AAMD;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBtD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBnC;AAMD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9F;AAMD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY7F;AAMD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,SAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsBzH;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAarF;AAMD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAMD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAexE;AAMD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWpF;AAMD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnE"}