@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,233 @@
1
+ /**
2
+ * Dolt initialization logic for the Substrate state layer.
3
+ *
4
+ * Provides `initializeDolt()` which creates and seeds a Dolt repository
5
+ * using only the Dolt CLI — no mysql2 dependency is required at this stage.
6
+ * Extracted to @substrate-ai/core so downstream packages can import it.
7
+ */
8
+ import { spawn } from 'node:child_process';
9
+ import { mkdir, access } from 'node:fs/promises';
10
+ import { join } from 'node:path';
11
+ // ---------------------------------------------------------------------------
12
+ // Error classes
13
+ // ---------------------------------------------------------------------------
14
+ /**
15
+ * Thrown when the `dolt` binary cannot be found in PATH.
16
+ */
17
+ export class DoltNotInstalled extends Error {
18
+ constructor() {
19
+ super('Dolt CLI not found in PATH. Install Dolt from https://docs.dolthub.com/introduction/installation');
20
+ this.name = 'DoltNotInstalled';
21
+ }
22
+ }
23
+ /**
24
+ * Thrown when a Dolt CLI command exits with a non-zero status code.
25
+ */
26
+ export class DoltInitError extends Error {
27
+ constructor(args, exitCode, stderr) {
28
+ super(`Dolt command "dolt ${args.join(' ')}" failed with exit code ${exitCode}${stderr ? `: ${stderr}` : ''}`);
29
+ this.name = 'DoltInitError';
30
+ }
31
+ }
32
+ // ---------------------------------------------------------------------------
33
+ // Internal helpers
34
+ // ---------------------------------------------------------------------------
35
+ /**
36
+ * Verify that the `dolt` binary is installed and accessible.
37
+ *
38
+ * @throws {DoltNotInstalled} If the binary is not found in PATH.
39
+ */
40
+ export async function checkDoltInstalled() {
41
+ return new Promise((resolve, reject) => {
42
+ let child;
43
+ try {
44
+ child = spawn('dolt', ['version'], { stdio: 'ignore' });
45
+ }
46
+ catch (err) {
47
+ const nodeErr = err;
48
+ if (nodeErr.code === 'ENOENT') {
49
+ reject(new DoltNotInstalled());
50
+ }
51
+ else {
52
+ reject(err);
53
+ }
54
+ return;
55
+ }
56
+ child.on('error', (err) => {
57
+ if (err.code === 'ENOENT') {
58
+ reject(new DoltNotInstalled());
59
+ }
60
+ else {
61
+ reject(err);
62
+ }
63
+ });
64
+ child.on('close', (code) => {
65
+ if (code === 0) {
66
+ resolve();
67
+ }
68
+ else {
69
+ // dolt exited non-zero but was found — treat as installed but broken
70
+ resolve();
71
+ }
72
+ });
73
+ });
74
+ }
75
+ /**
76
+ * Run a Dolt CLI command in the given working directory.
77
+ *
78
+ * @param args - Arguments to pass to `dolt` (e.g. `['init']`).
79
+ * @param cwd - Working directory for the command.
80
+ * @throws {DoltInitError} If the command exits with a non-zero code.
81
+ */
82
+ export async function runDoltCommand(args, cwd) {
83
+ return new Promise((resolve, reject) => {
84
+ const stderrChunks = [];
85
+ const child = spawn('dolt', args, { cwd, stdio: ['ignore', 'ignore', 'pipe'] });
86
+ child.stderr?.on('data', (chunk) => {
87
+ stderrChunks.push(chunk);
88
+ });
89
+ child.on('error', (err) => {
90
+ reject(err);
91
+ });
92
+ child.on('close', (code) => {
93
+ if (code === 0) {
94
+ resolve();
95
+ }
96
+ else {
97
+ const stderr = Buffer.concat(stderrChunks).toString('utf8').trim();
98
+ reject(new DoltInitError(args, code ?? -1, stderr));
99
+ }
100
+ });
101
+ });
102
+ }
103
+ /**
104
+ * Ensure that Dolt has a global user identity configured.
105
+ * `dolt init` and `dolt commit` fail with "empty ident name not allowed"
106
+ * when no identity exists. This function checks for an existing identity
107
+ * and configures a default one if absent.
108
+ */
109
+ async function ensureDoltIdentity() {
110
+ const hasIdentity = await doltConfigGet('user.name');
111
+ if (hasIdentity)
112
+ return;
113
+ // Configure a default identity for substrate state commits
114
+ await runDoltConfigSet('user.name', 'substrate');
115
+ await runDoltConfigSet('user.email', 'substrate@localhost');
116
+ }
117
+ /**
118
+ * Check if a Dolt global config key has a value set.
119
+ */
120
+ async function doltConfigGet(key) {
121
+ return new Promise((resolve) => {
122
+ const child = spawn('dolt', ['config', '--global', '--get', key], {
123
+ stdio: ['ignore', 'ignore', 'ignore'],
124
+ });
125
+ child.on('error', () => resolve(false));
126
+ child.on('close', (code) => resolve(code === 0));
127
+ });
128
+ }
129
+ /**
130
+ * Set a Dolt global config value.
131
+ */
132
+ async function runDoltConfigSet(key, value) {
133
+ return new Promise((resolve, reject) => {
134
+ const child = spawn('dolt', ['config', '--global', '--add', key, value], {
135
+ stdio: ['ignore', 'ignore', 'pipe'],
136
+ });
137
+ const stderrChunks = [];
138
+ child.stderr?.on('data', (chunk) => stderrChunks.push(chunk));
139
+ child.on('error', reject);
140
+ child.on('close', (code) => {
141
+ if (code === 0) {
142
+ resolve();
143
+ }
144
+ else {
145
+ const stderr = Buffer.concat(stderrChunks).toString('utf8').trim();
146
+ reject(new DoltInitError(['config', '--global', '--add', key, value], code ?? -1, stderr));
147
+ }
148
+ });
149
+ });
150
+ }
151
+ // ---------------------------------------------------------------------------
152
+ // Public API
153
+ // ---------------------------------------------------------------------------
154
+ /**
155
+ * Initialize a Dolt repository for Substrate state storage.
156
+ *
157
+ * This function is idempotent: running it a second time on an already-
158
+ * initialized repository is safe — `dolt init` is skipped, existing tables
159
+ * are not re-created (IF NOT EXISTS guards), and the schema version row is
160
+ * not duplicated (INSERT IGNORE).
161
+ *
162
+ * @param config - Initialization configuration. `schemaPath` is required.
163
+ * @throws {DoltNotInstalled} If the `dolt` binary is not in PATH.
164
+ * @throws {DoltInitError} If any Dolt CLI command fails.
165
+ */
166
+ export async function initializeDolt(config) {
167
+ // Resolve paths
168
+ const statePath = config.statePath ?? join(config.projectRoot, '.substrate', 'state');
169
+ const schemaPath = config.schemaPath;
170
+ // 1. Verify Dolt is installed
171
+ await checkDoltInstalled();
172
+ // 2. Create the state directory (recursive — idempotent)
173
+ await mkdir(statePath, { recursive: true });
174
+ // 3. Ensure Dolt has a user identity configured (required for `dolt init`
175
+ // and `dolt commit`). If no global identity exists, configure one
176
+ // automatically so init doesn't fail with "empty ident name not allowed".
177
+ await ensureDoltIdentity();
178
+ // 4. Initialize Dolt repo only if .dolt/ does not already exist
179
+ const doltDir = join(statePath, '.dolt');
180
+ let doltDirExists = false;
181
+ try {
182
+ await access(doltDir);
183
+ doltDirExists = true;
184
+ }
185
+ catch {
186
+ doltDirExists = false;
187
+ }
188
+ if (!doltDirExists) {
189
+ await runDoltCommand(['init'], statePath);
190
+ }
191
+ // 5. Apply the DDL (idempotent via IF NOT EXISTS / INSERT IGNORE)
192
+ await runDoltCommand(['sql', '-f', schemaPath], statePath);
193
+ // 6. Create the initial commit only if no commits exist yet
194
+ let hasCommits = false;
195
+ try {
196
+ await runDoltCommand(['log', '--oneline'], statePath);
197
+ // If this succeeds, check whether there is any output.
198
+ // We use a separate helper that captures stdout to detect empty log.
199
+ hasCommits = await doltLogHasCommits(statePath);
200
+ }
201
+ catch {
202
+ hasCommits = false;
203
+ }
204
+ if (!hasCommits) {
205
+ await runDoltCommand(['add', '-A'], statePath);
206
+ await runDoltCommand(['commit', '-m', 'Initialize substrate state schema v1'], statePath);
207
+ }
208
+ }
209
+ /**
210
+ * Returns `true` if there is at least one commit in the Dolt repo.
211
+ */
212
+ async function doltLogHasCommits(cwd) {
213
+ return new Promise((resolve) => {
214
+ const stdoutChunks = [];
215
+ const child = spawn('dolt', ['log', '--oneline'], {
216
+ cwd,
217
+ stdio: ['ignore', 'pipe', 'ignore'],
218
+ });
219
+ child.stdout?.on('data', (chunk) => {
220
+ stdoutChunks.push(chunk);
221
+ });
222
+ child.on('error', () => resolve(false));
223
+ child.on('close', (code) => {
224
+ if (code !== 0) {
225
+ resolve(false);
226
+ return;
227
+ }
228
+ const output = Buffer.concat(stdoutChunks).toString('utf8').trim();
229
+ resolve(output.length > 0);
230
+ });
231
+ });
232
+ }
233
+ //# sourceMappingURL=dolt-init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dolt-init.js","sourceRoot":"","sources":["../../src/persistence/dolt-init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export * from './types.js';
2
+ export * from './schema-version.js';
3
+ export * from './adapter.js';
4
+ export * from './dolt-adapter.js';
5
+ export * from './memory-adapter.js';
6
+ export { initSchema } from './schema.js';
7
+ export * from './cost-types.js';
8
+ export * from './schemas/decisions.js';
9
+ export * from './schemas/operational.js';
10
+ export * from './queries/amendments.js';
11
+ export { createDecision, upsertDecision, getDecisionsByPhase, getDecisionsByPhaseForRun, getDecisionsByCategory, getDecisionByKey, updateDecision, createRequirement, listRequirements, updateRequirementStatus, createConstraint, listConstraints, registerArtifact, getArtifactsByPhase, getArtifactByType, getArtifactByTypeForRun, getArtifactsByRun, getPipelineRunById, updatePipelineRunConfig, createPipelineRun, updatePipelineRun, getRunningPipelineRuns, getLatestRun, addTokenUsage, getTokenUsageSummary, } from './queries/decisions.js';
12
+ export type { TokenUsageSummary } from './queries/decisions.js';
13
+ export * from './queries/cost.js';
14
+ export * from './queries/metrics.js';
15
+ export * from './queries/retry-escalated.js';
16
+ export * from './monitor-database.js';
17
+ export { DoltClient, createDoltClient } from './dolt-client.js';
18
+ export type { DoltClientOptions } from './dolt-client.js';
19
+ export { initializeDolt, checkDoltInstalled, runDoltCommand } from './dolt-init.js';
20
+ export type { DoltInitConfig } from './dolt-init.js';
21
+ export { DoltNotInstalled, DoltInitError } from './dolt-init.js';
22
+ export { DoltQueryError } from './dolt-errors.js';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACnF,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,23 @@
1
+ // @substrate-ai/core — persistence public API
2
+ export * from './types.js';
3
+ export * from './schema-version.js';
4
+ export * from './adapter.js';
5
+ export * from './dolt-adapter.js';
6
+ export * from './memory-adapter.js';
7
+ export { initSchema } from './schema.js';
8
+ // Canonical cost types — single source of truth (avoids dual-definition with src/modules/cost-tracker/types.ts)
9
+ export * from './cost-types.js';
10
+ export * from './schemas/decisions.js';
11
+ export * from './schemas/operational.js';
12
+ export * from './queries/amendments.js';
13
+ // Export decisions query functions explicitly; Decision/Requirement/etc. types come from schemas/decisions.js above
14
+ export { createDecision, upsertDecision, getDecisionsByPhase, getDecisionsByPhaseForRun, getDecisionsByCategory, getDecisionByKey, updateDecision, createRequirement, listRequirements, updateRequirementStatus, createConstraint, listConstraints, registerArtifact, getArtifactsByPhase, getArtifactByType, getArtifactByTypeForRun, getArtifactsByRun, getPipelineRunById, updatePipelineRunConfig, createPipelineRun, updatePipelineRun, getRunningPipelineRuns, getLatestRun, addTokenUsage, getTokenUsageSummary, } from './queries/decisions.js';
15
+ export * from './queries/cost.js';
16
+ export * from './queries/metrics.js';
17
+ export * from './queries/retry-escalated.js';
18
+ export * from './monitor-database.js';
19
+ export { DoltClient, createDoltClient } from './dolt-client.js';
20
+ export { initializeDolt, checkDoltInstalled, runDoltCommand } from './dolt-init.js';
21
+ export { DoltNotInstalled, DoltInitError } from './dolt-init.js';
22
+ export { DoltQueryError } from './dolt-errors.js';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,gHAAgH;AAChH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,oHAAoH;AACpH,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAE/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEnF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * InMemoryDatabaseAdapter — satisfies the DatabaseAdapter interface using
3
+ * plain in-memory Maps and arrays. Designed for CI environments and unit
4
+ * tests where no external database is available.
5
+ *
6
+ * SQL support is intentionally limited to the patterns used by
7
+ * `src/persistence/queries/`:
8
+ * - CREATE TABLE [IF NOT EXISTS] name (col type, ...)
9
+ * - DROP TABLE [IF EXISTS] name
10
+ * - INSERT INTO name (cols) VALUES (vals)
11
+ * - SELECT * / cols FROM name [WHERE simple-conditions]
12
+ * - SELECT literal-expressions (no FROM clause)
13
+ * - UPDATE name SET col = val [WHERE simple-conditions]
14
+ * - DELETE FROM name [WHERE simple-conditions]
15
+ *
16
+ * WHERE clauses support simple equality conditions joined by AND.
17
+ * Transactions use a snapshot-and-restore pattern.
18
+ */
19
+ import type { DatabaseAdapter, SyncAdapter } from './types.js';
20
+ export declare class InMemoryDatabaseAdapter implements DatabaseAdapter, SyncAdapter {
21
+ readonly backendType: "memory";
22
+ private _tables;
23
+ private _indexes;
24
+ /** Maps table name → auto-increment column name */
25
+ private _autoIncrementCols;
26
+ /** Maps table name → last assigned auto-increment value */
27
+ private _autoIncrementCounters;
28
+ /** Maps "tableName.colName" → default value expression ('CURRENT_TIMESTAMP' → ISO string, else literal) */
29
+ private _columnDefaults;
30
+ /** Maps table name → array of primary key column names */
31
+ private _primaryKeys;
32
+ /** Maps table name → ordered list of column names (from CREATE TABLE) */
33
+ private _tableColumns;
34
+ query<T = unknown>(sql: string, params?: unknown[]): Promise<T[]>;
35
+ exec(sql: string): Promise<void>;
36
+ querySync<T = unknown>(sql: string, params?: unknown[]): T[];
37
+ execSync(sql: string): void;
38
+ transaction<T>(fn: (adapter: DatabaseAdapter) => Promise<T>): Promise<T>;
39
+ close(): Promise<void>;
40
+ /**
41
+ * Work graph not supported in InMemoryDatabaseAdapter.
42
+ * Returns `[]` to signal the caller to use the legacy discovery path.
43
+ */
44
+ queryReadyStories(): Promise<string[]>;
45
+ private _execute;
46
+ /**
47
+ * Replace each `?` placeholder with an escaped literal value.
48
+ */
49
+ private _substituteParams;
50
+ private _createTable;
51
+ private _dropTable;
52
+ private _createIndex;
53
+ private _dropIndex;
54
+ /**
55
+ * Emulate PRAGMA table_info(tableName) — returns one row per column with
56
+ * {cid, name, type, notnull, dflt_value, pk} shape.
57
+ * Column names are derived from the CREATE TABLE definition order.
58
+ * This is sufficient for schema compatibility checks.
59
+ */
60
+ private _pragmaTableInfo;
61
+ private _selectFromSqliteMaster;
62
+ private _insert;
63
+ private _select;
64
+ /**
65
+ * Apply GROUP BY: bucket rows by the group-by columns, then evaluate
66
+ * aggregate expressions for each bucket. Plain column references in the
67
+ * SELECT list that are also GROUP BY columns return the group value from
68
+ * the first row in the bucket (all rows in a group share the same value).
69
+ */
70
+ private _applyGroupBy;
71
+ /**
72
+ * Parse ORDER BY expression list into sort keys.
73
+ * Handles: simple columns, COALESCE(col, default) DESC, CASE...END expressions.
74
+ */
75
+ private _parseOrderBy;
76
+ /**
77
+ * Sort rows according to ORDER BY expression list.
78
+ */
79
+ private _applyOrderBy;
80
+ /**
81
+ * Evaluate an ORDER BY expression for a single row.
82
+ */
83
+ private _evalOrderByExpr;
84
+ /**
85
+ * Compare two values for sorting (handles null, numbers, strings).
86
+ * Returns negative if a < b, 0 if equal, positive if a > b.
87
+ */
88
+ private _compareValues;
89
+ /**
90
+ * Evaluate SELECT expressions against a single GROUP BY bucket.
91
+ * Handles both aggregate expressions (SUM, COUNT, COALESCE) and plain
92
+ * column references (for GROUP BY projected columns).
93
+ */
94
+ private _evalAggregateGroup;
95
+ /**
96
+ * Evaluate a single aggregate expression against a GROUP BY bucket.
97
+ * Extends _evalAggregateExpr with:
98
+ * - SUM(expr) where expr may be CASE WHEN ... END
99
+ * - Plain column references (returns first-row value, for GROUP BY cols)
100
+ */
101
+ private _evalAggregateExprGrouped;
102
+ /**
103
+ * Evaluate an expression for a single row.
104
+ * Supports CASE WHEN conditions, COALESCE, column references, and literals.
105
+ * Used by _evalAggregateExprGrouped to evaluate the argument of SUM().
106
+ */
107
+ private _evalRowExpr;
108
+ /**
109
+ * Evaluate a simple condition (col = 'str', col = num) for a single row.
110
+ * Returns true if the condition holds.
111
+ */
112
+ private _evalRowCondition;
113
+ private _update;
114
+ private _delete;
115
+ /**
116
+ * Evaluate a simple WHERE clause against a row.
117
+ * Supports: `col = val` conditions joined by AND.
118
+ */
119
+ private _matchWhere;
120
+ private _projectCols;
121
+ private _evalSelectExprs;
122
+ private _evalLiteral;
123
+ private _evalExprAgainstRow;
124
+ /**
125
+ * Split a string by commas that are NOT inside parentheses.
126
+ * E.g. "COALESCE(SUM(x), 0) as a, y" → ["COALESCE(SUM(x), 0) as a", "y"]
127
+ */
128
+ private _splitTopLevelCommas;
129
+ /**
130
+ * Evaluate aggregate SELECT expressions (SUM, COALESCE, COUNT) across
131
+ * a set of filtered rows, returning a single result row.
132
+ */
133
+ private _evalAggregate;
134
+ /**
135
+ * Evaluate a single aggregate expression against a set of rows.
136
+ * Supports: SUM(expr), COALESCE(expr, default), COUNT(*), MAX(col), MIN(col).
137
+ */
138
+ private _evalAggregateExpr;
139
+ /**
140
+ * Parse a comma-separated list of SQL literal values.
141
+ * Handles: NULL, numbers, single-quoted strings.
142
+ * Simple split by comma (assumes no commas inside string values).
143
+ */
144
+ private _parseValueList;
145
+ /**
146
+ * Parse `col1 = val1, col2 = val2` assignments into an array of [col, val] pairs.
147
+ * Evaluates each RHS expression against the provided row for arithmetic support.
148
+ */
149
+ private _parseAssignmentsForRow;
150
+ /**
151
+ * Evaluate a SET assignment RHS expression against the current row.
152
+ * Handles: simple literals, column arithmetic (col +/- val), COALESCE, CURRENT_TIMESTAMP.
153
+ */
154
+ private _evalAssignmentExpr;
155
+ }
156
+ //# sourceMappingURL=memory-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-adapter.d.ts","sourceRoot":"","sources":["../../src/persistence/memory-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQ9D,qBAAa,uBAAwB,YAAW,eAAe,EAAE,WAAW;IAC1E,QAAQ,CAAC,WAAW,EAAG,QAAQ,CAAS;IACxC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAA8D;IAC9E,mDAAmD;IACnD,OAAO,CAAC,kBAAkB,CAA4B;IACtD,2DAA2D;IAC3D,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,2GAA2G;IAC3G,OAAO,CAAC,eAAe,CAA4B;IACnD,0DAA0D;IAC1D,OAAO,CAAC,YAAY,CAA8B;IAClD,yEAAyE;IACzE,OAAO,CAAC,aAAa,CAA8B;IAM7C,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAKjE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;IAK5D,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIrB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmBxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ5C,OAAO,CAAC,QAAQ;IA8ChB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,YAAY;IAiFpB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,UAAU;IAalB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,OAAO;IA6Df,OAAO,CAAC,OAAO;IAwFf;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAgEjC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAgCpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,OAAO;IA4Bf,OAAO,CAAC,OAAO;IA0Bf;;;OAGG;IACH,OAAO,CAAC,WAAW;IA4HnB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,mBAAmB;IAa3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAwC5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IActB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuE1B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAuC/B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAsC5B"}