@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,456 @@
1
+ /**
2
+ * Zod validation schemas and TypeScript interfaces for the Substrate configuration system.
3
+ *
4
+ * Extracted from src/modules/config/config-schema.ts and src/modules/config/config-system.ts
5
+ * for use in @substrate-ai/core.
6
+ *
7
+ * NOTE: TokenCeilings / token_ceilings is intentionally excluded from SubstrateConfig here.
8
+ * That field is SDLC-specific. The SDLC package will extend this type with
9
+ * `SdlcConfig extends SubstrateConfig` (with token_ceilings added) in a future story.
10
+ */
11
+ import { z } from 'zod';
12
+ import type { ILogger } from '../dispatch/types.js';
13
+ /** Subscription routing modes */
14
+ export declare const SubscriptionRoutingSchema: z.ZodEnum<{
15
+ auto: "auto";
16
+ subscription: "subscription";
17
+ api: "api";
18
+ disabled: "disabled";
19
+ }>;
20
+ export type SubscriptionRouting = z.infer<typeof SubscriptionRoutingSchema>;
21
+ /** Rate limit configuration for a provider */
22
+ export declare const RateLimitSchema: z.ZodObject<{
23
+ tokens: z.ZodNumber;
24
+ window_seconds: z.ZodNumber;
25
+ }, z.core.$strict>;
26
+ export type RateLimitConfig = z.infer<typeof RateLimitSchema>;
27
+ /** Per-provider configuration */
28
+ export declare const ProviderConfigSchema: z.ZodObject<{
29
+ enabled: z.ZodBoolean;
30
+ cli_path: z.ZodOptional<z.ZodString>;
31
+ subscription_routing: z.ZodEnum<{
32
+ auto: "auto";
33
+ subscription: "subscription";
34
+ api: "api";
35
+ disabled: "disabled";
36
+ }>;
37
+ max_concurrent: z.ZodNumber;
38
+ rate_limit: z.ZodOptional<z.ZodObject<{
39
+ tokens: z.ZodNumber;
40
+ window_seconds: z.ZodNumber;
41
+ }, z.core.$strict>>;
42
+ api_key_env: z.ZodOptional<z.ZodString>;
43
+ api_billing: z.ZodBoolean;
44
+ }, z.core.$strict>;
45
+ export type ProviderConfig = z.infer<typeof ProviderConfigSchema>;
46
+ /** Map of all known providers */
47
+ export declare const ProvidersSchema: z.ZodObject<{
48
+ claude: z.ZodOptional<z.ZodObject<{
49
+ enabled: z.ZodBoolean;
50
+ cli_path: z.ZodOptional<z.ZodString>;
51
+ subscription_routing: z.ZodEnum<{
52
+ auto: "auto";
53
+ subscription: "subscription";
54
+ api: "api";
55
+ disabled: "disabled";
56
+ }>;
57
+ max_concurrent: z.ZodNumber;
58
+ rate_limit: z.ZodOptional<z.ZodObject<{
59
+ tokens: z.ZodNumber;
60
+ window_seconds: z.ZodNumber;
61
+ }, z.core.$strict>>;
62
+ api_key_env: z.ZodOptional<z.ZodString>;
63
+ api_billing: z.ZodBoolean;
64
+ }, z.core.$strict>>;
65
+ codex: z.ZodOptional<z.ZodObject<{
66
+ enabled: z.ZodBoolean;
67
+ cli_path: z.ZodOptional<z.ZodString>;
68
+ subscription_routing: z.ZodEnum<{
69
+ auto: "auto";
70
+ subscription: "subscription";
71
+ api: "api";
72
+ disabled: "disabled";
73
+ }>;
74
+ max_concurrent: z.ZodNumber;
75
+ rate_limit: z.ZodOptional<z.ZodObject<{
76
+ tokens: z.ZodNumber;
77
+ window_seconds: z.ZodNumber;
78
+ }, z.core.$strict>>;
79
+ api_key_env: z.ZodOptional<z.ZodString>;
80
+ api_billing: z.ZodBoolean;
81
+ }, z.core.$strict>>;
82
+ gemini: z.ZodOptional<z.ZodObject<{
83
+ enabled: z.ZodBoolean;
84
+ cli_path: z.ZodOptional<z.ZodString>;
85
+ subscription_routing: z.ZodEnum<{
86
+ auto: "auto";
87
+ subscription: "subscription";
88
+ api: "api";
89
+ disabled: "disabled";
90
+ }>;
91
+ max_concurrent: z.ZodNumber;
92
+ rate_limit: z.ZodOptional<z.ZodObject<{
93
+ tokens: z.ZodNumber;
94
+ window_seconds: z.ZodNumber;
95
+ }, z.core.$strict>>;
96
+ api_key_env: z.ZodOptional<z.ZodString>;
97
+ api_billing: z.ZodBoolean;
98
+ }, z.core.$strict>>;
99
+ }, z.core.$strict>;
100
+ export type ProvidersConfig = z.infer<typeof ProvidersSchema>;
101
+ export declare const LogLevelSchema: z.ZodEnum<{
102
+ error: "error";
103
+ trace: "trace";
104
+ debug: "debug";
105
+ info: "info";
106
+ warn: "warn";
107
+ fatal: "fatal";
108
+ }>;
109
+ export type LogLevelValue = z.infer<typeof LogLevelSchema>;
110
+ export declare const GlobalSettingsSchema: z.ZodObject<{
111
+ log_level: z.ZodEnum<{
112
+ error: "error";
113
+ trace: "trace";
114
+ debug: "debug";
115
+ info: "info";
116
+ warn: "warn";
117
+ fatal: "fatal";
118
+ }>;
119
+ max_concurrent_tasks: z.ZodNumber;
120
+ budget_cap_tokens: z.ZodNumber;
121
+ budget_cap_usd: z.ZodNumber;
122
+ workspace_dir: z.ZodOptional<z.ZodString>;
123
+ update_check: z.ZodOptional<z.ZodBoolean>;
124
+ }, z.core.$strict>;
125
+ export type GlobalSettings = z.infer<typeof GlobalSettingsSchema>;
126
+ export declare const CostTrackerConfigSchema: z.ZodObject<{
127
+ enabled: z.ZodBoolean;
128
+ token_rates_provider: z.ZodEnum<{
129
+ builtin: "builtin";
130
+ custom: "custom";
131
+ }>;
132
+ track_planning_costs: z.ZodBoolean;
133
+ savings_reporting: z.ZodBoolean;
134
+ }, z.core.$strict>;
135
+ export type CostTrackerConfig = z.infer<typeof CostTrackerConfigSchema>;
136
+ export declare const BudgetConfigSchema: z.ZodObject<{
137
+ default_task_budget_usd: z.ZodNumber;
138
+ default_session_budget_usd: z.ZodNumber;
139
+ planning_costs_count_against_budget: z.ZodBoolean;
140
+ warning_threshold_percent: z.ZodNumber;
141
+ }, z.core.$strict>;
142
+ export type BudgetConfig = z.infer<typeof BudgetConfigSchema>;
143
+ export declare const TelemetryConfigSchema: z.ZodObject<{
144
+ enabled: z.ZodDefault<z.ZodBoolean>;
145
+ port: z.ZodDefault<z.ZodNumber>;
146
+ meshUrl: z.ZodOptional<z.ZodString>;
147
+ projectId: z.ZodOptional<z.ZodString>;
148
+ }, z.core.$strict>;
149
+ export type TelemetryConfig = z.infer<typeof TelemetryConfigSchema>;
150
+ /** Current supported config format version */
151
+ export declare const CURRENT_CONFIG_FORMAT_VERSION = "1";
152
+ /** Current supported task graph version */
153
+ export declare const CURRENT_TASK_GRAPH_VERSION = "1";
154
+ /** All config format versions this toolkit can read and validate */
155
+ export declare const SUPPORTED_CONFIG_FORMAT_VERSIONS: readonly string[];
156
+ /** All task graph format versions this toolkit can read and validate */
157
+ export declare const SUPPORTED_TASK_GRAPH_VERSIONS: readonly string[];
158
+ export declare const SubstrateConfigSchema: z.ZodObject<{
159
+ config_format_version: z.ZodEnum<{
160
+ 1: "1";
161
+ }>;
162
+ task_graph_version: z.ZodOptional<z.ZodEnum<{
163
+ 1: "1";
164
+ }>>;
165
+ global: z.ZodObject<{
166
+ log_level: z.ZodEnum<{
167
+ error: "error";
168
+ trace: "trace";
169
+ debug: "debug";
170
+ info: "info";
171
+ warn: "warn";
172
+ fatal: "fatal";
173
+ }>;
174
+ max_concurrent_tasks: z.ZodNumber;
175
+ budget_cap_tokens: z.ZodNumber;
176
+ budget_cap_usd: z.ZodNumber;
177
+ workspace_dir: z.ZodOptional<z.ZodString>;
178
+ update_check: z.ZodOptional<z.ZodBoolean>;
179
+ }, z.core.$strict>;
180
+ providers: z.ZodObject<{
181
+ claude: z.ZodOptional<z.ZodObject<{
182
+ enabled: z.ZodBoolean;
183
+ cli_path: z.ZodOptional<z.ZodString>;
184
+ subscription_routing: z.ZodEnum<{
185
+ auto: "auto";
186
+ subscription: "subscription";
187
+ api: "api";
188
+ disabled: "disabled";
189
+ }>;
190
+ max_concurrent: z.ZodNumber;
191
+ rate_limit: z.ZodOptional<z.ZodObject<{
192
+ tokens: z.ZodNumber;
193
+ window_seconds: z.ZodNumber;
194
+ }, z.core.$strict>>;
195
+ api_key_env: z.ZodOptional<z.ZodString>;
196
+ api_billing: z.ZodBoolean;
197
+ }, z.core.$strict>>;
198
+ codex: z.ZodOptional<z.ZodObject<{
199
+ enabled: z.ZodBoolean;
200
+ cli_path: z.ZodOptional<z.ZodString>;
201
+ subscription_routing: z.ZodEnum<{
202
+ auto: "auto";
203
+ subscription: "subscription";
204
+ api: "api";
205
+ disabled: "disabled";
206
+ }>;
207
+ max_concurrent: z.ZodNumber;
208
+ rate_limit: z.ZodOptional<z.ZodObject<{
209
+ tokens: z.ZodNumber;
210
+ window_seconds: z.ZodNumber;
211
+ }, z.core.$strict>>;
212
+ api_key_env: z.ZodOptional<z.ZodString>;
213
+ api_billing: z.ZodBoolean;
214
+ }, z.core.$strict>>;
215
+ gemini: z.ZodOptional<z.ZodObject<{
216
+ enabled: z.ZodBoolean;
217
+ cli_path: z.ZodOptional<z.ZodString>;
218
+ subscription_routing: z.ZodEnum<{
219
+ auto: "auto";
220
+ subscription: "subscription";
221
+ api: "api";
222
+ disabled: "disabled";
223
+ }>;
224
+ max_concurrent: z.ZodNumber;
225
+ rate_limit: z.ZodOptional<z.ZodObject<{
226
+ tokens: z.ZodNumber;
227
+ window_seconds: z.ZodNumber;
228
+ }, z.core.$strict>>;
229
+ api_key_env: z.ZodOptional<z.ZodString>;
230
+ api_billing: z.ZodBoolean;
231
+ }, z.core.$strict>>;
232
+ }, z.core.$strict>;
233
+ cost_tracker: z.ZodOptional<z.ZodObject<{
234
+ enabled: z.ZodBoolean;
235
+ token_rates_provider: z.ZodEnum<{
236
+ builtin: "builtin";
237
+ custom: "custom";
238
+ }>;
239
+ track_planning_costs: z.ZodBoolean;
240
+ savings_reporting: z.ZodBoolean;
241
+ }, z.core.$strict>>;
242
+ budget: z.ZodOptional<z.ZodObject<{
243
+ default_task_budget_usd: z.ZodNumber;
244
+ default_session_budget_usd: z.ZodNumber;
245
+ planning_costs_count_against_budget: z.ZodBoolean;
246
+ warning_threshold_percent: z.ZodNumber;
247
+ }, z.core.$strict>>;
248
+ telemetry: z.ZodOptional<z.ZodObject<{
249
+ enabled: z.ZodDefault<z.ZodBoolean>;
250
+ port: z.ZodDefault<z.ZodNumber>;
251
+ meshUrl: z.ZodOptional<z.ZodString>;
252
+ projectId: z.ZodOptional<z.ZodString>;
253
+ }, z.core.$strict>>;
254
+ trivialOutputThreshold: z.ZodOptional<z.ZodNumber>;
255
+ }, z.core.$loose>;
256
+ export type SubstrateConfig = z.infer<typeof SubstrateConfigSchema>;
257
+ export declare const PartialProviderConfigSchema: z.ZodObject<{
258
+ enabled: z.ZodOptional<z.ZodBoolean>;
259
+ cli_path: z.ZodOptional<z.ZodOptional<z.ZodString>>;
260
+ subscription_routing: z.ZodOptional<z.ZodEnum<{
261
+ auto: "auto";
262
+ subscription: "subscription";
263
+ api: "api";
264
+ disabled: "disabled";
265
+ }>>;
266
+ max_concurrent: z.ZodOptional<z.ZodNumber>;
267
+ rate_limit: z.ZodOptional<z.ZodOptional<z.ZodObject<{
268
+ tokens: z.ZodNumber;
269
+ window_seconds: z.ZodNumber;
270
+ }, z.core.$strict>>>;
271
+ api_key_env: z.ZodOptional<z.ZodOptional<z.ZodString>>;
272
+ api_billing: z.ZodOptional<z.ZodBoolean>;
273
+ }, z.core.$strict>;
274
+ export type PartialProviderConfig = z.infer<typeof PartialProviderConfigSchema>;
275
+ export declare const PartialGlobalSettingsSchema: z.ZodObject<{
276
+ log_level: z.ZodOptional<z.ZodEnum<{
277
+ error: "error";
278
+ trace: "trace";
279
+ debug: "debug";
280
+ info: "info";
281
+ warn: "warn";
282
+ fatal: "fatal";
283
+ }>>;
284
+ max_concurrent_tasks: z.ZodOptional<z.ZodNumber>;
285
+ budget_cap_tokens: z.ZodOptional<z.ZodNumber>;
286
+ budget_cap_usd: z.ZodOptional<z.ZodNumber>;
287
+ workspace_dir: z.ZodOptional<z.ZodOptional<z.ZodString>>;
288
+ update_check: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
289
+ }, z.core.$strict>;
290
+ export type PartialGlobalSettings = z.infer<typeof PartialGlobalSettingsSchema>;
291
+ export declare const PartialSubstrateConfigSchema: z.ZodObject<{
292
+ config_format_version: z.ZodOptional<z.ZodEnum<{
293
+ 1: "1";
294
+ }>>;
295
+ task_graph_version: z.ZodOptional<z.ZodEnum<{
296
+ 1: "1";
297
+ }>>;
298
+ global: z.ZodOptional<z.ZodObject<{
299
+ log_level: z.ZodOptional<z.ZodEnum<{
300
+ error: "error";
301
+ trace: "trace";
302
+ debug: "debug";
303
+ info: "info";
304
+ warn: "warn";
305
+ fatal: "fatal";
306
+ }>>;
307
+ max_concurrent_tasks: z.ZodOptional<z.ZodNumber>;
308
+ budget_cap_tokens: z.ZodOptional<z.ZodNumber>;
309
+ budget_cap_usd: z.ZodOptional<z.ZodNumber>;
310
+ workspace_dir: z.ZodOptional<z.ZodOptional<z.ZodString>>;
311
+ update_check: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
312
+ }, z.core.$strict>>;
313
+ providers: z.ZodOptional<z.ZodObject<{
314
+ claude: z.ZodOptional<z.ZodOptional<z.ZodObject<{
315
+ enabled: z.ZodOptional<z.ZodBoolean>;
316
+ cli_path: z.ZodOptional<z.ZodOptional<z.ZodString>>;
317
+ subscription_routing: z.ZodOptional<z.ZodEnum<{
318
+ auto: "auto";
319
+ subscription: "subscription";
320
+ api: "api";
321
+ disabled: "disabled";
322
+ }>>;
323
+ max_concurrent: z.ZodOptional<z.ZodNumber>;
324
+ rate_limit: z.ZodOptional<z.ZodOptional<z.ZodObject<{
325
+ tokens: z.ZodNumber;
326
+ window_seconds: z.ZodNumber;
327
+ }, z.core.$strict>>>;
328
+ api_key_env: z.ZodOptional<z.ZodOptional<z.ZodString>>;
329
+ api_billing: z.ZodOptional<z.ZodBoolean>;
330
+ }, z.core.$strict>>>;
331
+ codex: z.ZodOptional<z.ZodOptional<z.ZodObject<{
332
+ enabled: z.ZodOptional<z.ZodBoolean>;
333
+ cli_path: z.ZodOptional<z.ZodOptional<z.ZodString>>;
334
+ subscription_routing: z.ZodOptional<z.ZodEnum<{
335
+ auto: "auto";
336
+ subscription: "subscription";
337
+ api: "api";
338
+ disabled: "disabled";
339
+ }>>;
340
+ max_concurrent: z.ZodOptional<z.ZodNumber>;
341
+ rate_limit: z.ZodOptional<z.ZodOptional<z.ZodObject<{
342
+ tokens: z.ZodNumber;
343
+ window_seconds: z.ZodNumber;
344
+ }, z.core.$strict>>>;
345
+ api_key_env: z.ZodOptional<z.ZodOptional<z.ZodString>>;
346
+ api_billing: z.ZodOptional<z.ZodBoolean>;
347
+ }, z.core.$strict>>>;
348
+ gemini: z.ZodOptional<z.ZodOptional<z.ZodObject<{
349
+ enabled: z.ZodOptional<z.ZodBoolean>;
350
+ cli_path: z.ZodOptional<z.ZodOptional<z.ZodString>>;
351
+ subscription_routing: z.ZodOptional<z.ZodEnum<{
352
+ auto: "auto";
353
+ subscription: "subscription";
354
+ api: "api";
355
+ disabled: "disabled";
356
+ }>>;
357
+ max_concurrent: z.ZodOptional<z.ZodNumber>;
358
+ rate_limit: z.ZodOptional<z.ZodOptional<z.ZodObject<{
359
+ tokens: z.ZodNumber;
360
+ window_seconds: z.ZodNumber;
361
+ }, z.core.$strict>>>;
362
+ api_key_env: z.ZodOptional<z.ZodOptional<z.ZodString>>;
363
+ api_billing: z.ZodOptional<z.ZodBoolean>;
364
+ }, z.core.$strict>>>;
365
+ }, z.core.$strip>>;
366
+ cost_tracker: z.ZodOptional<z.ZodObject<{
367
+ enabled: z.ZodOptional<z.ZodBoolean>;
368
+ token_rates_provider: z.ZodOptional<z.ZodEnum<{
369
+ builtin: "builtin";
370
+ custom: "custom";
371
+ }>>;
372
+ track_planning_costs: z.ZodOptional<z.ZodBoolean>;
373
+ savings_reporting: z.ZodOptional<z.ZodBoolean>;
374
+ }, z.core.$strict>>;
375
+ budget: z.ZodOptional<z.ZodObject<{
376
+ default_task_budget_usd: z.ZodOptional<z.ZodNumber>;
377
+ default_session_budget_usd: z.ZodOptional<z.ZodNumber>;
378
+ planning_costs_count_against_budget: z.ZodOptional<z.ZodBoolean>;
379
+ warning_threshold_percent: z.ZodOptional<z.ZodNumber>;
380
+ }, z.core.$strict>>;
381
+ telemetry: z.ZodOptional<z.ZodObject<{
382
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
383
+ port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
384
+ meshUrl: z.ZodOptional<z.ZodOptional<z.ZodString>>;
385
+ projectId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
386
+ }, z.core.$strict>>;
387
+ trivialOutputThreshold: z.ZodOptional<z.ZodNumber>;
388
+ }, z.core.$loose>;
389
+ export type PartialSubstrateConfig = z.infer<typeof PartialSubstrateConfigSchema>;
390
+ /**
391
+ * Options for initializing the config system.
392
+ */
393
+ export interface ConfigSystemOptions {
394
+ /** Path to the project-level .substrate/ directory (default: <cwd>/.substrate) */
395
+ projectConfigDir?: string;
396
+ /** Path to the global user-level .substrate/ directory (default: ~/.substrate) */
397
+ globalConfigDir?: string;
398
+ /**
399
+ * Additional values that override everything except env vars.
400
+ * Typically populated from CLI flags.
401
+ */
402
+ cliOverrides?: PartialSubstrateConfig;
403
+ /**
404
+ * Logger instance for config system messages.
405
+ * Defaults to console if not provided.
406
+ */
407
+ logger?: ILogger;
408
+ }
409
+ /**
410
+ * Provides access to fully-merged, validated Substrate configuration.
411
+ *
412
+ * Hierarchy (lowest → highest priority):
413
+ * built-in defaults < global config < project config < env vars < CLI flags
414
+ */
415
+ export interface ConfigSystem {
416
+ /**
417
+ * Load and validate configuration from all sources in hierarchy order.
418
+ * Must be called before `getConfig()`.
419
+ */
420
+ load(): Promise<void>;
421
+ /**
422
+ * Return the fully-merged, validated configuration.
423
+ * @throws {ConfigError} if `load()` has not been called or config is invalid.
424
+ */
425
+ getConfig(): SubstrateConfig;
426
+ /**
427
+ * Return a single value by dot-notation key (e.g. "global.log_level").
428
+ * @returns the value, or undefined if the key does not exist.
429
+ */
430
+ get(key: string): unknown;
431
+ /**
432
+ * Persist a single value to the project config file using dot-notation key.
433
+ * @throws {ConfigError} if key is invalid or the update fails.
434
+ */
435
+ set(key: string, value: unknown): Promise<void>;
436
+ /**
437
+ * Return the merged config with all credential values masked.
438
+ * Safe to display in CLI output or logs.
439
+ */
440
+ getMasked(): SubstrateConfig;
441
+ /**
442
+ * Whether load() has been called and succeeded.
443
+ */
444
+ readonly isLoaded: boolean;
445
+ /**
446
+ * Return the current config format version string.
447
+ */
448
+ getConfigFormatVersion(): string;
449
+ /**
450
+ * Check whether the given config format version is compatible with this toolkit.
451
+ * @param version - Version string to check
452
+ * @returns true if the version is in SUPPORTED_CONFIG_FORMAT_VERSIONS
453
+ */
454
+ isCompatible(version: string): boolean;
455
+ }
456
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAMnD,iCAAiC;AACjC,eAAO,MAAM,yBAAyB;;;;;EAAsD,CAAA;AAC5F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E,8CAA8C;AAC9C,eAAO,MAAM,eAAe;;;kBAKjB,CAAA;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D,iCAAiC;AACjC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;kBAatB,CAAA;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,iCAAiC;AACjC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMjB,CAAA;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAM7D,eAAO,MAAM,cAAc;;;;;;;EAA+D,CAAA;AAC1F,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE1D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;kBAatB,CAAA;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAMjE,eAAO,MAAM,uBAAuB;;;;;;;;kBAWzB,CAAA;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAMvE,eAAO,MAAM,kBAAkB;;;;;kBAWpB,CAAA;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAM7D,eAAO,MAAM,qBAAqB;;;;;kBAWvB,CAAA;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAWnE,8CAA8C;AAC9C,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAEhD,2CAA2C;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C,oEAAoE;AACpE,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAAU,CAAA;AAExE,wEAAwE;AACxE,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAAU,CAAA;AASrE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBlB,CAAA;AAEhB,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAMnE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;kBAAiC,CAAA;AACzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;kBAAiC,CAAA;AACzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBzB,CAAA;AAEhB,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAMjF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAErB;;;OAGG;IACH,SAAS,IAAI,eAAe,CAAA;IAE5B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IAEzB;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/C;;;OAGG;IACH,SAAS,IAAI,eAAe,CAAA;IAE5B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAE1B;;OAEG;IACH,sBAAsB,IAAI,MAAM,CAAA;IAEhC;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;CACvC"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Zod validation schemas and TypeScript interfaces for the Substrate configuration system.
3
+ *
4
+ * Extracted from src/modules/config/config-schema.ts and src/modules/config/config-system.ts
5
+ * for use in @substrate-ai/core.
6
+ *
7
+ * NOTE: TokenCeilings / token_ceilings is intentionally excluded from SubstrateConfig here.
8
+ * That field is SDLC-specific. The SDLC package will extend this type with
9
+ * `SdlcConfig extends SubstrateConfig` (with token_ceilings added) in a future story.
10
+ */
11
+ import { z } from 'zod';
12
+ // ---------------------------------------------------------------------------
13
+ // Provider-level schema
14
+ // ---------------------------------------------------------------------------
15
+ /** Subscription routing modes */
16
+ export const SubscriptionRoutingSchema = z.enum(['auto', 'subscription', 'api', 'disabled']);
17
+ /** Rate limit configuration for a provider */
18
+ export const RateLimitSchema = z
19
+ .object({
20
+ tokens: z.number().int().positive(),
21
+ window_seconds: z.number().int().positive(),
22
+ })
23
+ .strict();
24
+ /** Per-provider configuration */
25
+ export const ProviderConfigSchema = z
26
+ .object({
27
+ enabled: z.boolean(),
28
+ /** Path to the CLI binary — resolved at runtime; never used for api keys */
29
+ cli_path: z.string().optional(),
30
+ subscription_routing: SubscriptionRoutingSchema,
31
+ max_concurrent: z.number().int().min(1).max(32),
32
+ rate_limit: RateLimitSchema.optional(),
33
+ /** Name of the environment variable that holds the API key */
34
+ api_key_env: z.string().optional(),
35
+ /** Whether API billing is enabled for this provider */
36
+ api_billing: z.boolean(),
37
+ })
38
+ .strict();
39
+ /** Map of all known providers */
40
+ export const ProvidersSchema = z
41
+ .object({
42
+ claude: ProviderConfigSchema.optional(),
43
+ codex: ProviderConfigSchema.optional(),
44
+ gemini: ProviderConfigSchema.optional(),
45
+ })
46
+ .strict();
47
+ // ---------------------------------------------------------------------------
48
+ // Global / project settings
49
+ // ---------------------------------------------------------------------------
50
+ export const LogLevelSchema = z.enum(['trace', 'debug', 'info', 'warn', 'error', 'fatal']);
51
+ export const GlobalSettingsSchema = z
52
+ .object({
53
+ log_level: LogLevelSchema,
54
+ max_concurrent_tasks: z.number().int().min(1).max(64),
55
+ /** Max total tokens per orchestration session (0 = unlimited) */
56
+ budget_cap_tokens: z.number().int().min(0),
57
+ /** Max approximate USD cost per session (0 = unlimited) */
58
+ budget_cap_usd: z.number().min(0),
59
+ /** Working directory for temporary files */
60
+ workspace_dir: z.string().optional(),
61
+ /** Whether to perform automatic background update checks (default: true) */
62
+ update_check: z.boolean().optional(),
63
+ })
64
+ .strict();
65
+ // ---------------------------------------------------------------------------
66
+ // Cost tracker config schema
67
+ // ---------------------------------------------------------------------------
68
+ export const CostTrackerConfigSchema = z
69
+ .object({
70
+ /** Enable cost tracking (default: true) */
71
+ enabled: z.boolean(),
72
+ /** Source for token rates: 'builtin' uses built-in table, 'custom' uses injected custom rates */
73
+ token_rates_provider: z.enum(['builtin', 'custom']),
74
+ /** Whether to track planning/orchestration costs in addition to task costs */
75
+ track_planning_costs: z.boolean(),
76
+ /** Whether to include savings summary in cost reports (FR28) */
77
+ savings_reporting: z.boolean(),
78
+ })
79
+ .strict();
80
+ // ---------------------------------------------------------------------------
81
+ // Budget enforcer config schema
82
+ // ---------------------------------------------------------------------------
83
+ export const BudgetConfigSchema = z
84
+ .object({
85
+ /** Default per-task budget cap in USD if task has no explicit cap (0 = unlimited) */
86
+ default_task_budget_usd: z.number().min(0),
87
+ /** Default session budget cap in USD (0 = unlimited) */
88
+ default_session_budget_usd: z.number().min(0),
89
+ /** When true, planning/orchestration costs count toward session budget */
90
+ planning_costs_count_against_budget: z.boolean(),
91
+ /** Percentage threshold at which budget:warning is emitted (0-100) */
92
+ warning_threshold_percent: z.number().min(0).max(100),
93
+ })
94
+ .strict();
95
+ // ---------------------------------------------------------------------------
96
+ // Telemetry config schema
97
+ // ---------------------------------------------------------------------------
98
+ export const TelemetryConfigSchema = z
99
+ .object({
100
+ /** Whether OTLP telemetry ingestion is enabled */
101
+ enabled: z.boolean().default(false),
102
+ /** Port for the local OTLP HTTP ingestion server (1–65535) */
103
+ port: z.number().int().min(1).max(65535).default(4318),
104
+ /** Agent-mesh telemetry server URL (e.g., http://localhost:4100). When set, run reports are pushed after pipeline completion. */
105
+ meshUrl: z.string().url().optional(),
106
+ /** Project identifier sent with run reports (e.g., "nextgen-ticketing"). Defaults to the directory name. */
107
+ projectId: z.string().optional(),
108
+ })
109
+ .strict();
110
+ // ---------------------------------------------------------------------------
111
+ // Top-level configuration document
112
+ // (token_ceilings intentionally excluded — SDLC-specific, see file header)
113
+ // ---------------------------------------------------------------------------
114
+ // ---------------------------------------------------------------------------
115
+ // Config format version constants
116
+ // ---------------------------------------------------------------------------
117
+ /** Current supported config format version */
118
+ export const CURRENT_CONFIG_FORMAT_VERSION = '1';
119
+ /** Current supported task graph version */
120
+ export const CURRENT_TASK_GRAPH_VERSION = '1';
121
+ /** All config format versions this toolkit can read and validate */
122
+ export const SUPPORTED_CONFIG_FORMAT_VERSIONS = ['1'];
123
+ /** All task graph format versions this toolkit can read and validate */
124
+ export const SUPPORTED_TASK_GRAPH_VERSIONS = ['1'];
125
+ // ---------------------------------------------------------------------------
126
+ // Top-level configuration document
127
+ // (token_ceilings intentionally excluded — SDLC-specific, see file header)
128
+ // .passthrough() allows SDLC/factory packages to extend the config shape
129
+ // (e.g. with token_ceilings) without core validation stripping unknown keys.
130
+ // ---------------------------------------------------------------------------
131
+ export const SubstrateConfigSchema = z
132
+ .object({
133
+ /** Schema version for migration support */
134
+ config_format_version: z.enum(['1']),
135
+ /** Task graph version for migration support */
136
+ task_graph_version: z.enum(['1']).optional(),
137
+ global: GlobalSettingsSchema,
138
+ providers: ProvidersSchema,
139
+ /** Cost tracker settings */
140
+ cost_tracker: CostTrackerConfigSchema.optional(),
141
+ /** Budget enforcement settings */
142
+ budget: BudgetConfigSchema.optional(),
143
+ /** OTLP telemetry ingestion settings */
144
+ telemetry: TelemetryConfigSchema.optional(),
145
+ /** Minimum output token count for TrivialOutputCheck (Story 51-3). Default: 100. */
146
+ trivialOutputThreshold: z.number().int().nonnegative().optional(),
147
+ })
148
+ .passthrough();
149
+ // ---------------------------------------------------------------------------
150
+ // Partial / merged config (allows partial during load before merging)
151
+ // ---------------------------------------------------------------------------
152
+ export const PartialProviderConfigSchema = ProviderConfigSchema.partial();
153
+ export const PartialGlobalSettingsSchema = GlobalSettingsSchema.partial();
154
+ export const PartialSubstrateConfigSchema = z
155
+ .object({
156
+ config_format_version: z.enum(['1']).optional(),
157
+ task_graph_version: z.enum(['1']).optional(),
158
+ global: PartialGlobalSettingsSchema.optional(),
159
+ providers: z
160
+ .object({
161
+ claude: PartialProviderConfigSchema.optional(),
162
+ codex: PartialProviderConfigSchema.optional(),
163
+ gemini: PartialProviderConfigSchema.optional(),
164
+ })
165
+ .partial()
166
+ .optional(),
167
+ cost_tracker: CostTrackerConfigSchema.partial().optional(),
168
+ budget: BudgetConfigSchema.partial().optional(),
169
+ telemetry: TelemetryConfigSchema.partial().optional(),
170
+ /** Minimum output token count for TrivialOutputCheck (Story 51-3). Default: 100. */
171
+ trivialOutputThreshold: z.number().int().nonnegative().optional(),
172
+ })
173
+ .passthrough();
174
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}