@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,197 @@
1
+ /**
2
+ * Category and key-schema constants for operational findings in the decision store.
3
+ *
4
+ * These constants avoid string literals scattered across supervisor, orchestrator,
5
+ * and experimenter code. Import them wherever you need to insert or query
6
+ * operational decisions.
7
+ */
8
+ // ---------------------------------------------------------------------------
9
+ // Category constants
10
+ // ---------------------------------------------------------------------------
11
+ /**
12
+ * Category for supervisor stall events and run-level summaries.
13
+ *
14
+ * Key schemas:
15
+ * - Stall finding: "stall:{storyKey}:{timestamp}"
16
+ * - Run summary: "run-summary:{runId}"
17
+ *
18
+ * Value shapes:
19
+ *
20
+ * Stall finding:
21
+ * ```json
22
+ * {
23
+ * "phase": "string", // story phase at stall time, e.g. "code-review"
24
+ * "staleness_secs": 700,
25
+ * "attempt": 1, // restart attempt number (1-based)
26
+ * "outcome": "recovered" // "recovered" | "failed" | "max-restarts-escalated"
27
+ * }
28
+ * ```
29
+ *
30
+ * Run summary:
31
+ * ```json
32
+ * {
33
+ * "succeeded": ["1-1", "1-2"],
34
+ * "failed": ["1-3"],
35
+ * "escalated": [],
36
+ * "total_restarts": 0,
37
+ * "elapsed_seconds": 1234,
38
+ * "total_input_tokens": 50000,
39
+ * "total_output_tokens": 10000
40
+ * }
41
+ * ```
42
+ */
43
+ export const OPERATIONAL_FINDING = 'operational-finding';
44
+ /**
45
+ * Category for supervisor experiment results.
46
+ *
47
+ * Key schema: "experiment:{runId}:{timestamp}"
48
+ *
49
+ * Value shape:
50
+ * ```json
51
+ * {
52
+ * "target_metric": "token_regression",
53
+ * "before": 12000,
54
+ * "after": 9500,
55
+ * "verdict": "IMPROVED", // "IMPROVED" | "MIXED" | "REGRESSED"
56
+ * "branch_name": "supervisor/experiment/abc12345-dev-story-token-regression"
57
+ * }
58
+ * ```
59
+ */
60
+ export const EXPERIMENT_RESULT = 'experiment-result';
61
+ /**
62
+ * Category for per-story wall-clock and efficiency metrics.
63
+ *
64
+ * Key schema: "{storyKey}:{runId}"
65
+ *
66
+ * Value shape:
67
+ * ```json
68
+ * {
69
+ * "wall_clock_seconds": 180,
70
+ * "input_tokens": 8000,
71
+ * "output_tokens": 2000,
72
+ * "review_cycles": 2,
73
+ * "stalled": false
74
+ * }
75
+ * ```
76
+ */
77
+ export const STORY_METRICS = 'story-metrics';
78
+ /**
79
+ * Category for structured escalation diagnoses.
80
+ *
81
+ * Key schema: "{storyKey}:{runId}"
82
+ *
83
+ * Value shape:
84
+ * ```json
85
+ * {
86
+ * "issueDistribution": "concentrated",
87
+ * "severityProfile": "major-only",
88
+ * "totalIssues": 3,
89
+ * "blockerCount": 0,
90
+ * "majorCount": 3,
91
+ * "minorCount": 0,
92
+ * "affectedFiles": ["src/foo.ts"],
93
+ * "reviewCycles": 3,
94
+ * "recommendedAction": "retry-targeted",
95
+ * "rationale": "3 major issues concentrated in few files."
96
+ * }
97
+ * ```
98
+ */
99
+ export const ESCALATION_DIAGNOSIS = 'escalation-diagnosis';
100
+ /**
101
+ * Category for per-story outcome findings (learning loop).
102
+ *
103
+ * Key schema: "{storyKey}:{runId}"
104
+ *
105
+ * Value shape:
106
+ * ```json
107
+ * {
108
+ * "storyKey": "22-1",
109
+ * "outcome": "complete",
110
+ * "reviewCycles": 2,
111
+ * "verdictHistory": ["NEEDS_MINOR_FIXES", "SHIP_IT"],
112
+ * "recurringPatterns": ["missing error handling"]
113
+ * }
114
+ * ```
115
+ */
116
+ export const STORY_OUTCOME = 'story-outcome';
117
+ /**
118
+ * Category for post-implementation test expansion findings generated per-story.
119
+ *
120
+ * Key schema: "{storyKey}:{runId}"
121
+ *
122
+ * Value shape:
123
+ * ```json
124
+ * {
125
+ * "expansion_priority": "medium", // "low" | "medium" | "high"
126
+ * "coverage_gaps": [
127
+ * {
128
+ * "ac_ref": "AC1",
129
+ * "description": "Happy path not exercised at module boundary",
130
+ * "gap_type": "missing-integration" // "missing-e2e" | "missing-integration" | "unit-only"
131
+ * }
132
+ * ],
133
+ * "suggested_tests": [
134
+ * {
135
+ * "test_name": "runFoo integration happy path",
136
+ * "test_type": "integration", // "e2e" | "integration" | "unit"
137
+ * "description": "Test runFoo with real DB instance",
138
+ * "target_ac": "AC1" // optional
139
+ * }
140
+ * ],
141
+ * "notes": "Optional free-text notes", // optional
142
+ * "error": "Error message if fallback" // optional — present only on graceful fallback
143
+ * }
144
+ * ```
145
+ */
146
+ export const TEST_EXPANSION_FINDING = 'test-expansion-finding';
147
+ /**
148
+ * Category for pre-implementation test plans generated per-story.
149
+ *
150
+ * Key schema: "{storyKey}"
151
+ *
152
+ * Value shape:
153
+ * ```json
154
+ * {
155
+ * "test_files": ["src/modules/foo/__tests__/foo.test.ts"],
156
+ * "test_categories": ["unit", "integration"],
157
+ * "coverage_notes": "AC1 covered by foo.test.ts"
158
+ * }
159
+ * ```
160
+ */
161
+ export const TEST_PLAN = 'test-plan';
162
+ /**
163
+ * Category for advisory notes persisted when a code review returns LGTM_WITH_NOTES.
164
+ *
165
+ * Key schema: "{storyKey}:{runId}"
166
+ *
167
+ * Value shape:
168
+ * ```json
169
+ * {
170
+ * "storyKey": "25-3",
171
+ * "notes": "Consider extracting the helper into a shared module for reuse."
172
+ * }
173
+ * ```
174
+ */
175
+ export const ADVISORY_NOTES = 'advisory-notes';
176
+ /**
177
+ * Category for root cause taxonomy findings persisted by the learning loop.
178
+ *
179
+ * Key schema: "{storyKey}:{runId}"
180
+ *
181
+ * Value shape: JSON-serialized `Finding` object from the learning loop, e.g.:
182
+ * ```json
183
+ * {
184
+ * "id": "uuid",
185
+ * "run_id": "run-abc",
186
+ * "story_key": "53-5",
187
+ * "root_cause": "build-failure",
188
+ * "affected_files": ["src/foo.ts"],
189
+ * "description": "Build failed after story dispatch",
190
+ * "confidence": "high",
191
+ * "created_at": "2026-04-06T00:00:00.000Z",
192
+ * "expires_after_runs": 5
193
+ * }
194
+ * ```
195
+ */
196
+ export const LEARNING_FINDING = 'finding';
197
+ //# sourceMappingURL=operational.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational.js","sourceRoot":"","sources":["../../../src/persistence/schemas/operational.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAA8B,CAAA;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAA4B,CAAA;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAwB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAA+B,CAAA;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAwB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAiC,CAAA;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,WAAoB,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAyB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAkB,CAAA"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Persistence interface definitions for @substrate-ai/core.
3
+ *
4
+ * This module contains interface definitions only — no implementations.
5
+ * Implementations live in the monolith `src/persistence/` and will be
6
+ * migrated to `packages/core/` in Epic 41.
7
+ *
8
+ * Exports:
9
+ * - DatabaseAdapter: unified async interface for all persistence backends
10
+ * - SyncAdapter: optional synchronous extension for in-memory backends
11
+ * - DatabaseAdapterConfig: configuration for the createDatabaseAdapter factory
12
+ * - isSyncAdapter: type guard for capability detection
13
+ * - InitSchemaFn: function type alias for the initSchema contract
14
+ */
15
+ /**
16
+ * Optional synchronous query extension for adapters backed by synchronous engines
17
+ * (e.g., InMemoryDatabaseAdapter). Consumers that require a synchronous
18
+ * interface (like MonitorDatabaseImpl) use this to avoid async cascades.
19
+ */
20
+ export interface SyncAdapter {
21
+ /** Execute a SQL query synchronously and return typed rows. */
22
+ querySync<T = unknown>(sql: string, params?: unknown[]): T[];
23
+ /** Execute a SQL statement synchronously (DDL/DML). */
24
+ execSync(sql: string): void;
25
+ }
26
+ /**
27
+ * Unified async database adapter interface.
28
+ * All persistence backends implement this interface.
29
+ */
30
+ export interface DatabaseAdapter {
31
+ /**
32
+ * The persistence backend powering this adapter.
33
+ * - 'dolt': backed by a Dolt SQL database (persists to disk)
34
+ * - 'memory': backed by in-memory Maps (no persistence, lost on process exit)
35
+ */
36
+ readonly backendType: 'dolt' | 'memory';
37
+ /**
38
+ * Execute a SQL query and return typed rows.
39
+ * @param sql - SQL query string (use ? for parameter placeholders)
40
+ * @param params - Optional array of parameter values
41
+ */
42
+ query<T = unknown>(sql: string, params?: unknown[]): Promise<T[]>;
43
+ /**
44
+ * Execute a SQL statement with no return value.
45
+ * Suitable for DDL statements (CREATE TABLE, DROP TABLE) and DML without results.
46
+ * @param sql - SQL statement string
47
+ */
48
+ exec(sql: string): Promise<void>;
49
+ /**
50
+ * Execute a function within a database transaction.
51
+ * Commits on successful return, rolls back on thrown error.
52
+ * @param fn - Async function that receives the adapter and performs operations
53
+ */
54
+ transaction<T>(fn: (adapter: DatabaseAdapter) => Promise<T>): Promise<T>;
55
+ /**
56
+ * Close the database connection and release all resources.
57
+ */
58
+ close(): Promise<void>;
59
+ /**
60
+ * Query story keys from the `ready_stories` SQL view.
61
+ *
62
+ * Returns an array of story key strings (e.g. ['31-1', '31-2']) for stories
63
+ * whose status is `planned` or `ready` and whose hard dependencies are all
64
+ * `complete` in the work graph.
65
+ *
66
+ * Returns `[]` when:
67
+ * - The `ready_stories` view does not exist (story 31-1 schema not applied)
68
+ * - The `stories` table is empty (story 31-2 ingestion has not run)
69
+ * - The adapter does not support the work graph (InMemory)
70
+ *
71
+ * Callers should treat `[]` as a signal to fall through to the legacy
72
+ * story discovery chain (decisions table → epic-shard → epics.md).
73
+ */
74
+ queryReadyStories(): Promise<string[]>;
75
+ }
76
+ /**
77
+ * Configuration for the `createDatabaseAdapter` factory.
78
+ */
79
+ export interface DatabaseAdapterConfig {
80
+ /**
81
+ * Which backend to use.
82
+ * - 'dolt': connect via DoltClient (mysql2 socket or CLI fallback)
83
+ * - 'memory': in-memory Maps, no persistence (ideal for CI / unit tests)
84
+ * - 'auto': detect Dolt availability; fall back to 'memory' if not available
85
+ */
86
+ backend: 'dolt' | 'memory' | 'auto';
87
+ /** Project root used for Dolt auto-detection and as the Dolt repo path. */
88
+ basePath?: string;
89
+ }
90
+ /** Type guard: check if a DatabaseAdapter also implements SyncAdapter. */
91
+ export declare function isSyncAdapter(adapter: DatabaseAdapter): adapter is DatabaseAdapter & SyncAdapter;
92
+ /**
93
+ * Function type alias describing the `initSchema` contract.
94
+ * Implementations accept a DatabaseAdapter and initialize all persistence
95
+ * tables. Must be idempotent — safe to call multiple times.
96
+ */
97
+ export type InitSchemaFn = (adapter: DatabaseAdapter) => Promise<void>;
98
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/persistence/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAA;IAC5D,uDAAuD;IACvD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAA;IAEvC;;;;OAIG;IACH,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAEjE;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhC;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAExE;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEtB;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACvC;AAMD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;IAEnC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,IAAI,eAAe,GAAG,WAAW,CAEhG;AAMD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Persistence interface definitions for @substrate-ai/core.
3
+ *
4
+ * This module contains interface definitions only — no implementations.
5
+ * Implementations live in the monolith `src/persistence/` and will be
6
+ * migrated to `packages/core/` in Epic 41.
7
+ *
8
+ * Exports:
9
+ * - DatabaseAdapter: unified async interface for all persistence backends
10
+ * - SyncAdapter: optional synchronous extension for in-memory backends
11
+ * - DatabaseAdapterConfig: configuration for the createDatabaseAdapter factory
12
+ * - isSyncAdapter: type guard for capability detection
13
+ * - InitSchemaFn: function type alias for the initSchema contract
14
+ */
15
+ // ---------------------------------------------------------------------------
16
+ // Type guard
17
+ // ---------------------------------------------------------------------------
18
+ /** Type guard: check if a DatabaseAdapter also implements SyncAdapter. */
19
+ export function isSyncAdapter(adapter) {
20
+ return typeof adapter.querySync === 'function';
21
+ }
22
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/persistence/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA8FH,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,0EAA0E;AAC1E,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,OAAO,OAAQ,OAAyC,CAAC,SAAS,KAAK,UAAU,CAAA;AACnF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/quality-gates/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quality-gates/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Shared types for the Quality Gates module.
3
+ */
4
+ import { type ZodSchema } from 'zod';
5
+ /**
6
+ * Result of running a gate evaluator function against some output.
7
+ */
8
+ export interface GateEvaluation {
9
+ pass: boolean;
10
+ issues: string[];
11
+ severity: 'info' | 'warning' | 'error';
12
+ }
13
+ /**
14
+ * Function that evaluates an output and returns a GateEvaluation.
15
+ */
16
+ export type EvaluatorFn = (output: unknown) => GateEvaluation;
17
+ /**
18
+ * Configuration for a QualityGate instance.
19
+ */
20
+ export interface GateConfig {
21
+ /** Human-readable name for this gate */
22
+ name: string;
23
+ /** Maximum number of retries before transitioning to 'warn' */
24
+ maxRetries: number;
25
+ /** Evaluator function that determines pass/fail */
26
+ evaluator: EvaluatorFn;
27
+ /** Optional Zod schema for schema-compliance gate */
28
+ schema?: ZodSchema<unknown>;
29
+ }
30
+ /**
31
+ * Result of running evaluate() on a QualityGate.
32
+ */
33
+ export interface GateResult {
34
+ /** Action to take based on evaluation outcome */
35
+ action: 'proceed' | 'retry' | 'warn' | 'escalate';
36
+ /** Issues reported by the evaluator */
37
+ issues: string[];
38
+ /** Number of retries remaining (0 means this is the last retry) */
39
+ retriesRemaining: number;
40
+ /** The evaluated output (pass-through on proceed/warn) */
41
+ result?: unknown;
42
+ }
43
+ /**
44
+ * Issue reported from a gate within a pipeline run.
45
+ */
46
+ export interface GateIssue {
47
+ /** Name of the gate that raised this issue */
48
+ gate: string;
49
+ /** Severity of the issue */
50
+ severity: string;
51
+ /** Human-readable issue description */
52
+ message: string;
53
+ }
54
+ /**
55
+ * Overall result of running a GatePipeline.
56
+ */
57
+ export interface GatePipelineResult {
58
+ /** Action to take: proceed if all gates pass, retry/escalate if any gate halts */
59
+ action: 'proceed' | 'retry' | 'warn' | 'escalate';
60
+ /** Number of gates that were executed */
61
+ gatesRun: number;
62
+ /** Number of gates that passed */
63
+ gatesPassed: number;
64
+ /** Accumulated issues from all gates */
65
+ issues: GateIssue[];
66
+ }
67
+ /**
68
+ * Options for creating a gate via `createGate()`.
69
+ */
70
+ export interface CreateGateOptions {
71
+ /** Human-readable gate name (defaults to the type name) */
72
+ name?: string;
73
+ /** Maximum retries before transitioning to 'warn' (defaults to 0) */
74
+ maxRetries?: number;
75
+ /** Zod schema for 'schema-compliance' gate type */
76
+ schema?: ZodSchema<unknown>;
77
+ }
78
+ /**
79
+ * A quality gate that evaluates output and manages retry logic.
80
+ */
81
+ export interface QualityGate {
82
+ /** Name of this gate (from config) */
83
+ readonly name: string;
84
+ /**
85
+ * Evaluate the given output.
86
+ * - pass → `{ action: 'proceed', result: output }`
87
+ * - fail, retries remain → `{ action: 'retry', issues, retriesRemaining }`
88
+ * - fail, no retries → `{ action: 'warn', issues, retriesRemaining: 0 }`
89
+ */
90
+ evaluate(output: unknown): GateResult;
91
+ /** Reset the retry counter to 0 */
92
+ reset(): void;
93
+ /** Access to gate configuration */
94
+ readonly config: GateConfig;
95
+ }
96
+ /**
97
+ * A pipeline that runs a sequence of QualityGates in order.
98
+ */
99
+ export interface GatePipeline {
100
+ /**
101
+ * Run all gates in order against the given output.
102
+ * Halts on first 'retry' or 'escalate' result.
103
+ */
104
+ run(output: unknown): GatePipelineResult;
105
+ }
106
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/quality-gates/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAA;AAMpC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,cAAc,CAAA;AAM7D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAA;IAClB,mDAAmD;IACnD,SAAS,EAAE,WAAW,CAAA;IACtB,qDAAqD;IACrD,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAA;IACjD,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,CAAA;IACxB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAMD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAA;IACjD,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,wCAAwC;IACxC,MAAM,EAAE,SAAS,EAAE,CAAA;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAA;IACrC,mCAAmC;IACnC,KAAK,IAAI,IAAI,CAAA;IACb,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAAA;CACzC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Shared types for the Quality Gates module.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/quality-gates/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Routing module barrel export.
3
+ * Re-exports all routing interfaces, schemas, types, and implementations
4
+ * from @substrate-ai/core.
5
+ */
6
+ export * from './types.js';
7
+ export * from './routing-decision.js';
8
+ export * from './provider-status.js';
9
+ export * from './model-routing-config.js';
10
+ export * from './routing-policy.js';
11
+ export * from './routing-engine.js';
12
+ export * from './routing-engine-impl.js';
13
+ export * from './model-routing-resolver.js';
14
+ export * from './model-tier.js';
15
+ export * from './routing-recommender.js';
16
+ export * from './routing-telemetry.js';
17
+ export * from './routing-token-accumulator.js';
18
+ export * from './routing-tuner.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,YAAY,CAAA;AAG1B,cAAc,uBAAuB,CAAA;AAGrC,cAAc,sBAAsB,CAAA;AAGpC,cAAc,2BAA2B,CAAA;AAGzC,cAAc,qBAAqB,CAAA;AAGnC,cAAc,qBAAqB,CAAA;AAGnC,cAAc,0BAA0B,CAAA;AAGxC,cAAc,6BAA6B,CAAA;AAG3C,cAAc,iBAAiB,CAAA;AAG/B,cAAc,0BAA0B,CAAA;AAGxC,cAAc,wBAAwB,CAAA;AAGtC,cAAc,gCAAgC,CAAA;AAG9C,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Routing module barrel export.
3
+ * Re-exports all routing interfaces, schemas, types, and implementations
4
+ * from @substrate-ai/core.
5
+ */
6
+ // Duck-typed interfaces and token-analysis types
7
+ export * from './types.js';
8
+ // RoutingDecision, MonitorRecommendation, RoutingDecisionBuilder, makeRoutingDecision
9
+ export * from './routing-decision.js';
10
+ // ProviderStatus, ProviderStatusTracker
11
+ export * from './provider-status.js';
12
+ // ModelRoutingConfig, ModelPhaseConfig, ModelRoutingConfigSchema, RoutingConfigError, loadModelRoutingConfig
13
+ export * from './model-routing-config.js';
14
+ // RoutingPolicy and related, RoutingPolicySchema, ProviderPolicySchema, loadRoutingPolicy, RoutingPolicyValidationError
15
+ export * from './routing-policy.js';
16
+ // RoutingTask, ModelResolution, IRoutingResolver, RoutingEngine, TASK_TYPE_PHASE_MAP
17
+ export * from './routing-engine.js';
18
+ // RoutingEngineImpl, RoutingEngineImplOptions, createRoutingEngineImpl, createRoutingEngine
19
+ export * from './routing-engine-impl.js';
20
+ // RoutingResolver, ROUTING_RESOLVER_LOGGER_NAME
21
+ export * from './model-routing-resolver.js';
22
+ // getModelTier
23
+ export * from './model-tier.js';
24
+ // RoutingRecommender
25
+ export * from './routing-recommender.js';
26
+ // RoutingTelemetry
27
+ export * from './routing-telemetry.js';
28
+ // RoutingTokenAccumulator
29
+ export * from './routing-token-accumulator.js';
30
+ // RoutingTuner
31
+ export * from './routing-tuner.js';
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iDAAiD;AACjD,cAAc,YAAY,CAAA;AAE1B,sFAAsF;AACtF,cAAc,uBAAuB,CAAA;AAErC,wCAAwC;AACxC,cAAc,sBAAsB,CAAA;AAEpC,6GAA6G;AAC7G,cAAc,2BAA2B,CAAA;AAEzC,wHAAwH;AACxH,cAAc,qBAAqB,CAAA;AAEnC,qFAAqF;AACrF,cAAc,qBAAqB,CAAA;AAEnC,4FAA4F;AAC5F,cAAc,0BAA0B,CAAA;AAExC,gDAAgD;AAChD,cAAc,6BAA6B,CAAA;AAE3C,eAAe;AACf,cAAc,iBAAiB,CAAA;AAE/B,qBAAqB;AACrB,cAAc,0BAA0B,CAAA;AAExC,mBAAmB;AACnB,cAAc,wBAAwB,CAAA;AAEtC,0BAA0B;AAC1B,cAAc,gCAAgC,CAAA;AAE9C,eAAe;AACf,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * ModelRoutingConfig — Zod schema, types, error, and loader for substrate.routing.yml.
3
+ *
4
+ * The routing config YAML controls which model is used for each pipeline phase
5
+ * (explore / generate / review) and supports per-task-type overrides.
6
+ *
7
+ * References:
8
+ * - Epic 28, Story 28-4: Model Routing Configuration Schema
9
+ */
10
+ import { z } from 'zod';
11
+ /**
12
+ * Per-phase model configuration.
13
+ */
14
+ export declare const ModelPhaseConfigSchema: z.ZodObject<{
15
+ model: z.ZodString;
16
+ max_tokens: z.ZodOptional<z.ZodNumber>;
17
+ }, z.core.$strip>;
18
+ export type ModelPhaseConfig = z.infer<typeof ModelPhaseConfigSchema>;
19
+ /**
20
+ * Complete model routing configuration document.
21
+ *
22
+ * All three phase keys (explore, generate, review) are optional — an absent
23
+ * phase causes resolveModel() to return null, signalling callers to use their
24
+ * own default model.
25
+ */
26
+ export declare const ModelRoutingConfigSchema: z.ZodObject<{
27
+ version: z.ZodLiteral<1>;
28
+ phases: z.ZodObject<{
29
+ explore: z.ZodOptional<z.ZodObject<{
30
+ model: z.ZodString;
31
+ max_tokens: z.ZodOptional<z.ZodNumber>;
32
+ }, z.core.$strip>>;
33
+ generate: z.ZodOptional<z.ZodObject<{
34
+ model: z.ZodString;
35
+ max_tokens: z.ZodOptional<z.ZodNumber>;
36
+ }, z.core.$strip>>;
37
+ review: z.ZodOptional<z.ZodObject<{
38
+ model: z.ZodString;
39
+ max_tokens: z.ZodOptional<z.ZodNumber>;
40
+ }, z.core.$strip>>;
41
+ }, z.core.$strip>;
42
+ baseline_model: z.ZodString;
43
+ overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
44
+ model: z.ZodString;
45
+ max_tokens: z.ZodOptional<z.ZodNumber>;
46
+ }, z.core.$strip>>>;
47
+ auto_tune: z.ZodOptional<z.ZodBoolean>;
48
+ }, z.core.$strip>;
49
+ export type ModelRoutingConfig = z.infer<typeof ModelRoutingConfigSchema>;
50
+ type RoutingConfigErrorCode = 'CONFIG_NOT_FOUND' | 'INVALID_YAML' | 'SCHEMA_INVALID';
51
+ /**
52
+ * Error thrown by loadModelRoutingConfig() for all failure modes.
53
+ *
54
+ * Extends plain Error (not SubstrateError) to keep core package free of monolith imports.
55
+ */
56
+ export declare class RoutingConfigError extends Error {
57
+ readonly context?: Record<string, unknown> | undefined;
58
+ readonly code: 'CONFIG_NOT_FOUND' | 'INVALID_YAML' | 'SCHEMA_INVALID';
59
+ constructor(message: string, code: RoutingConfigErrorCode, context?: Record<string, unknown> | undefined);
60
+ }
61
+ /**
62
+ * Load and validate a model routing config YAML file.
63
+ *
64
+ * @param filePath - Absolute or relative path to substrate.routing.yml
65
+ * @returns Parsed and validated ModelRoutingConfig object
66
+ * @throws {RoutingConfigError} with code CONFIG_NOT_FOUND if the file cannot be read
67
+ * @throws {RoutingConfigError} with code INVALID_YAML if the file contains invalid YAML
68
+ * @throws {RoutingConfigError} with code SCHEMA_INVALID if validation fails
69
+ *
70
+ * @example
71
+ * const config = loadModelRoutingConfig('.substrate/routing.yml')
72
+ */
73
+ export declare function loadModelRoutingConfig(filePath: string): ModelRoutingConfig;
74
+ export {};
75
+ //# sourceMappingURL=model-routing-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-routing-config.d.ts","sourceRoot":"","sources":["../../src/routing/model-routing-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;iBAMjC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;iBAiBnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAMzE,KAAK,sBAAsB,GAAG,kBAAkB,GAAG,cAAc,GAAG,gBAAgB,CAAA;AAEpF;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAMzC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAL5C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,GAAG,gBAAgB,CAAA;gBAGnE,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,sBAAsB,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAO7C;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CA0C3E"}