@decibelsystems/tools 2.0.0

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 (478) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +342 -0
  3. package/dist/agentic/compiler.d.ts +21 -0
  4. package/dist/agentic/compiler.d.ts.map +1 -0
  5. package/dist/agentic/compiler.js +267 -0
  6. package/dist/agentic/compiler.js.map +1 -0
  7. package/dist/agentic/golden.d.ts +25 -0
  8. package/dist/agentic/golden.d.ts.map +1 -0
  9. package/dist/agentic/golden.js +255 -0
  10. package/dist/agentic/golden.js.map +1 -0
  11. package/dist/agentic/index.d.ts +17 -0
  12. package/dist/agentic/index.d.ts.map +1 -0
  13. package/dist/agentic/index.js +153 -0
  14. package/dist/agentic/index.js.map +1 -0
  15. package/dist/agentic/linter.d.ts +20 -0
  16. package/dist/agentic/linter.d.ts.map +1 -0
  17. package/dist/agentic/linter.js +340 -0
  18. package/dist/agentic/linter.js.map +1 -0
  19. package/dist/agentic/renderer.d.ts +17 -0
  20. package/dist/agentic/renderer.d.ts.map +1 -0
  21. package/dist/agentic/renderer.js +277 -0
  22. package/dist/agentic/renderer.js.map +1 -0
  23. package/dist/agentic/types.d.ts +199 -0
  24. package/dist/agentic/types.d.ts.map +1 -0
  25. package/dist/agentic/types.js +8 -0
  26. package/dist/agentic/types.js.map +1 -0
  27. package/dist/architectAdrs.d.ts +32 -0
  28. package/dist/architectAdrs.d.ts.map +1 -0
  29. package/dist/architectAdrs.js +162 -0
  30. package/dist/architectAdrs.js.map +1 -0
  31. package/dist/client/facade-client.d.ts +41 -0
  32. package/dist/client/facade-client.d.ts.map +1 -0
  33. package/dist/client/facade-client.js +243 -0
  34. package/dist/client/facade-client.js.map +1 -0
  35. package/dist/client/index.d.ts +4 -0
  36. package/dist/client/index.d.ts.map +1 -0
  37. package/dist/client/index.js +18 -0
  38. package/dist/client/index.js.map +1 -0
  39. package/dist/client/transports.d.ts +78 -0
  40. package/dist/client/transports.d.ts.map +1 -0
  41. package/dist/client/transports.js +258 -0
  42. package/dist/client/transports.js.map +1 -0
  43. package/dist/client/types.d.ts +49 -0
  44. package/dist/client/types.d.ts.map +1 -0
  45. package/dist/client/types.js +8 -0
  46. package/dist/client/types.js.map +1 -0
  47. package/dist/config.d.ts +8 -0
  48. package/dist/config.d.ts.map +1 -0
  49. package/dist/config.js +19 -0
  50. package/dist/config.js.map +1 -0
  51. package/dist/daemon.d.ts +77 -0
  52. package/dist/daemon.d.ts.map +1 -0
  53. package/dist/daemon.js +374 -0
  54. package/dist/daemon.js.map +1 -0
  55. package/dist/daemonConfig.d.ts +43 -0
  56. package/dist/daemonConfig.d.ts.map +1 -0
  57. package/dist/daemonConfig.js +113 -0
  58. package/dist/daemonConfig.js.map +1 -0
  59. package/dist/dataRoot.d.ts +5 -0
  60. package/dist/dataRoot.d.ts.map +1 -0
  61. package/dist/dataRoot.js +23 -0
  62. package/dist/dataRoot.js.map +1 -0
  63. package/dist/decibelPaths.d.ts +42 -0
  64. package/dist/decibelPaths.d.ts.map +1 -0
  65. package/dist/decibelPaths.js +150 -0
  66. package/dist/decibelPaths.js.map +1 -0
  67. package/dist/facades/definitions.d.ts +6 -0
  68. package/dist/facades/definitions.d.ts.map +1 -0
  69. package/dist/facades/definitions.js +450 -0
  70. package/dist/facades/definitions.js.map +1 -0
  71. package/dist/facades/index.d.ts +27 -0
  72. package/dist/facades/index.d.ts.map +1 -0
  73. package/dist/facades/index.js +124 -0
  74. package/dist/facades/index.js.map +1 -0
  75. package/dist/facades/types.d.ts +38 -0
  76. package/dist/facades/types.d.ts.map +1 -0
  77. package/dist/facades/types.js +8 -0
  78. package/dist/facades/types.js.map +1 -0
  79. package/dist/httpServer.d.ts +66 -0
  80. package/dist/httpServer.d.ts.map +1 -0
  81. package/dist/httpServer.js +1723 -0
  82. package/dist/httpServer.js.map +1 -0
  83. package/dist/kernel.d.ts +87 -0
  84. package/dist/kernel.d.ts.map +1 -0
  85. package/dist/kernel.js +256 -0
  86. package/dist/kernel.js.map +1 -0
  87. package/dist/lib/agent-services/assumptions.d.ts +16 -0
  88. package/dist/lib/agent-services/assumptions.d.ts.map +1 -0
  89. package/dist/lib/agent-services/assumptions.js +284 -0
  90. package/dist/lib/agent-services/assumptions.js.map +1 -0
  91. package/dist/lib/agent-services/context-pack.d.ts +6 -0
  92. package/dist/lib/agent-services/context-pack.d.ts.map +1 -0
  93. package/dist/lib/agent-services/context-pack.js +354 -0
  94. package/dist/lib/agent-services/context-pack.js.map +1 -0
  95. package/dist/lib/agent-services/drift-guard.d.ts +14 -0
  96. package/dist/lib/agent-services/drift-guard.d.ts.map +1 -0
  97. package/dist/lib/agent-services/drift-guard.js +355 -0
  98. package/dist/lib/agent-services/drift-guard.js.map +1 -0
  99. package/dist/lib/agent-services/index.d.ts +5 -0
  100. package/dist/lib/agent-services/index.d.ts.map +1 -0
  101. package/dist/lib/agent-services/index.js +10 -0
  102. package/dist/lib/agent-services/index.js.map +1 -0
  103. package/dist/lib/benchmark.d.ts +110 -0
  104. package/dist/lib/benchmark.d.ts.map +1 -0
  105. package/dist/lib/benchmark.js +338 -0
  106. package/dist/lib/benchmark.js.map +1 -0
  107. package/dist/lib/supabase.d.ts +123 -0
  108. package/dist/lib/supabase.d.ts.map +1 -0
  109. package/dist/lib/supabase.js +91 -0
  110. package/dist/lib/supabase.js.map +1 -0
  111. package/dist/license.d.ts +30 -0
  112. package/dist/license.d.ts.map +1 -0
  113. package/dist/license.js +131 -0
  114. package/dist/license.js.map +1 -0
  115. package/dist/projectPaths.d.ts +27 -0
  116. package/dist/projectPaths.d.ts.map +1 -0
  117. package/dist/projectPaths.js +86 -0
  118. package/dist/projectPaths.js.map +1 -0
  119. package/dist/projectRegistry.d.ts +97 -0
  120. package/dist/projectRegistry.d.ts.map +1 -0
  121. package/dist/projectRegistry.js +374 -0
  122. package/dist/projectRegistry.js.map +1 -0
  123. package/dist/sentinelIssues.d.ts +65 -0
  124. package/dist/sentinelIssues.d.ts.map +1 -0
  125. package/dist/sentinelIssues.js +297 -0
  126. package/dist/sentinelIssues.js.map +1 -0
  127. package/dist/server.d.ts +3 -0
  128. package/dist/server.d.ts.map +1 -0
  129. package/dist/server.js +195 -0
  130. package/dist/server.js.map +1 -0
  131. package/dist/test.d.ts +7 -0
  132. package/dist/test.d.ts.map +1 -0
  133. package/dist/test.js +77 -0
  134. package/dist/test.js.map +1 -0
  135. package/dist/tools/agentic/index.d.ts +7 -0
  136. package/dist/tools/agentic/index.d.ts.map +1 -0
  137. package/dist/tools/agentic/index.js +203 -0
  138. package/dist/tools/agentic/index.js.map +1 -0
  139. package/dist/tools/architect/index.d.ts +11 -0
  140. package/dist/tools/architect/index.d.ts.map +1 -0
  141. package/dist/tools/architect/index.js +506 -0
  142. package/dist/tools/architect/index.js.map +1 -0
  143. package/dist/tools/architect.d.ts +19 -0
  144. package/dist/tools/architect.d.ts.map +1 -0
  145. package/dist/tools/architect.js +88 -0
  146. package/dist/tools/architect.js.map +1 -0
  147. package/dist/tools/auditor/index.d.ts +10 -0
  148. package/dist/tools/auditor/index.d.ts.map +1 -0
  149. package/dist/tools/auditor/index.js +310 -0
  150. package/dist/tools/auditor/index.js.map +1 -0
  151. package/dist/tools/auditor.d.ts +149 -0
  152. package/dist/tools/auditor.d.ts.map +1 -0
  153. package/dist/tools/auditor.js +775 -0
  154. package/dist/tools/auditor.js.map +1 -0
  155. package/dist/tools/bench/index.d.ts +3 -0
  156. package/dist/tools/bench/index.d.ts.map +1 -0
  157. package/dist/tools/bench/index.js +220 -0
  158. package/dist/tools/bench/index.js.map +1 -0
  159. package/dist/tools/bench.d.ts +89 -0
  160. package/dist/tools/bench.d.ts.map +1 -0
  161. package/dist/tools/bench.js +826 -0
  162. package/dist/tools/bench.js.map +1 -0
  163. package/dist/tools/context/index.d.ts +11 -0
  164. package/dist/tools/context/index.d.ts.map +1 -0
  165. package/dist/tools/context/index.js +482 -0
  166. package/dist/tools/context/index.js.map +1 -0
  167. package/dist/tools/context.d.ts +146 -0
  168. package/dist/tools/context.d.ts.map +1 -0
  169. package/dist/tools/context.js +481 -0
  170. package/dist/tools/context.js.map +1 -0
  171. package/dist/tools/coordinator/coordinator.d.ts +168 -0
  172. package/dist/tools/coordinator/coordinator.d.ts.map +1 -0
  173. package/dist/tools/coordinator/coordinator.js +535 -0
  174. package/dist/tools/coordinator/coordinator.js.map +1 -0
  175. package/dist/tools/coordinator/index.d.ts +12 -0
  176. package/dist/tools/coordinator/index.d.ts.map +1 -0
  177. package/dist/tools/coordinator/index.js +381 -0
  178. package/dist/tools/coordinator/index.js.map +1 -0
  179. package/dist/tools/corpus/index.d.ts +5 -0
  180. package/dist/tools/corpus/index.d.ts.map +1 -0
  181. package/dist/tools/corpus/index.js +105 -0
  182. package/dist/tools/corpus/index.js.map +1 -0
  183. package/dist/tools/corpus.d.ts +33 -0
  184. package/dist/tools/corpus.d.ts.map +1 -0
  185. package/dist/tools/corpus.js +180 -0
  186. package/dist/tools/corpus.js.map +1 -0
  187. package/dist/tools/crit.d.ts +63 -0
  188. package/dist/tools/crit.d.ts.map +1 -0
  189. package/dist/tools/crit.js +159 -0
  190. package/dist/tools/crit.js.map +1 -0
  191. package/dist/tools/data-inspector.d.ts +189 -0
  192. package/dist/tools/data-inspector.d.ts.map +1 -0
  193. package/dist/tools/data-inspector.js +669 -0
  194. package/dist/tools/data-inspector.js.map +1 -0
  195. package/dist/tools/deck.d.ts +11 -0
  196. package/dist/tools/deck.d.ts.map +1 -0
  197. package/dist/tools/deck.js +188 -0
  198. package/dist/tools/deck.js.map +1 -0
  199. package/dist/tools/designer/index.d.ts +11 -0
  200. package/dist/tools/designer/index.d.ts.map +1 -0
  201. package/dist/tools/designer/index.js +442 -0
  202. package/dist/tools/designer/index.js.map +1 -0
  203. package/dist/tools/designer/lateral-tools.d.ts +6 -0
  204. package/dist/tools/designer/lateral-tools.d.ts.map +1 -0
  205. package/dist/tools/designer/lateral-tools.js +190 -0
  206. package/dist/tools/designer/lateral-tools.js.map +1 -0
  207. package/dist/tools/designer.d.ts +122 -0
  208. package/dist/tools/designer.d.ts.map +1 -0
  209. package/dist/tools/designer.js +495 -0
  210. package/dist/tools/designer.js.map +1 -0
  211. package/dist/tools/dojo/index.d.ts +13 -0
  212. package/dist/tools/dojo/index.d.ts.map +1 -0
  213. package/dist/tools/dojo/index.js +613 -0
  214. package/dist/tools/dojo/index.js.map +1 -0
  215. package/dist/tools/dojo.d.ts +254 -0
  216. package/dist/tools/dojo.d.ts.map +1 -0
  217. package/dist/tools/dojo.js +933 -0
  218. package/dist/tools/dojo.js.map +1 -0
  219. package/dist/tools/dojoBench.d.ts +49 -0
  220. package/dist/tools/dojoBench.d.ts.map +1 -0
  221. package/dist/tools/dojoBench.js +205 -0
  222. package/dist/tools/dojoBench.js.map +1 -0
  223. package/dist/tools/dojoGraduated.d.ts +50 -0
  224. package/dist/tools/dojoGraduated.d.ts.map +1 -0
  225. package/dist/tools/dojoGraduated.js +174 -0
  226. package/dist/tools/dojoGraduated.js.map +1 -0
  227. package/dist/tools/dojoPolicy.d.ts +65 -0
  228. package/dist/tools/dojoPolicy.d.ts.map +1 -0
  229. package/dist/tools/dojoPolicy.js +263 -0
  230. package/dist/tools/dojoPolicy.js.map +1 -0
  231. package/dist/tools/feedback/index.d.ts +5 -0
  232. package/dist/tools/feedback/index.d.ts.map +1 -0
  233. package/dist/tools/feedback/index.js +153 -0
  234. package/dist/tools/feedback/index.js.map +1 -0
  235. package/dist/tools/feedback.d.ts +61 -0
  236. package/dist/tools/feedback.d.ts.map +1 -0
  237. package/dist/tools/feedback.js +209 -0
  238. package/dist/tools/feedback.js.map +1 -0
  239. package/dist/tools/forecast/index.d.ts +8 -0
  240. package/dist/tools/forecast/index.d.ts.map +1 -0
  241. package/dist/tools/forecast/index.js +283 -0
  242. package/dist/tools/forecast/index.js.map +1 -0
  243. package/dist/tools/forecast.d.ts +147 -0
  244. package/dist/tools/forecast.d.ts.map +1 -0
  245. package/dist/tools/forecast.js +417 -0
  246. package/dist/tools/forecast.js.map +1 -0
  247. package/dist/tools/friction/index.d.ts +7 -0
  248. package/dist/tools/friction/index.d.ts.map +1 -0
  249. package/dist/tools/friction/index.js +265 -0
  250. package/dist/tools/friction/index.js.map +1 -0
  251. package/dist/tools/friction.d.ts +82 -0
  252. package/dist/tools/friction.d.ts.map +1 -0
  253. package/dist/tools/friction.js +331 -0
  254. package/dist/tools/friction.js.map +1 -0
  255. package/dist/tools/git/index.d.ts +9 -0
  256. package/dist/tools/git/index.d.ts.map +1 -0
  257. package/dist/tools/git/index.js +237 -0
  258. package/dist/tools/git/index.js.map +1 -0
  259. package/dist/tools/git-sentinel/index.d.ts +7 -0
  260. package/dist/tools/git-sentinel/index.d.ts.map +1 -0
  261. package/dist/tools/git-sentinel/index.js +178 -0
  262. package/dist/tools/git-sentinel/index.js.map +1 -0
  263. package/dist/tools/git-sentinel.d.ts +78 -0
  264. package/dist/tools/git-sentinel.d.ts.map +1 -0
  265. package/dist/tools/git-sentinel.js +391 -0
  266. package/dist/tools/git-sentinel.js.map +1 -0
  267. package/dist/tools/git.d.ts +134 -0
  268. package/dist/tools/git.d.ts.map +1 -0
  269. package/dist/tools/git.js +374 -0
  270. package/dist/tools/git.js.map +1 -0
  271. package/dist/tools/guardian/index.d.ts +8 -0
  272. package/dist/tools/guardian/index.d.ts.map +1 -0
  273. package/dist/tools/guardian/index.js +171 -0
  274. package/dist/tools/guardian/index.js.map +1 -0
  275. package/dist/tools/guardian.d.ts +62 -0
  276. package/dist/tools/guardian.d.ts.map +1 -0
  277. package/dist/tools/guardian.js +332 -0
  278. package/dist/tools/guardian.js.map +1 -0
  279. package/dist/tools/hygiene/codebase-scanner.d.ts +38 -0
  280. package/dist/tools/hygiene/codebase-scanner.d.ts.map +1 -0
  281. package/dist/tools/hygiene/codebase-scanner.js +411 -0
  282. package/dist/tools/hygiene/codebase-scanner.js.map +1 -0
  283. package/dist/tools/hygiene/config-scanner.d.ts +33 -0
  284. package/dist/tools/hygiene/config-scanner.d.ts.map +1 -0
  285. package/dist/tools/hygiene/config-scanner.js +482 -0
  286. package/dist/tools/hygiene/config-scanner.js.map +1 -0
  287. package/dist/tools/hygiene/coverage-scanner.d.ts +41 -0
  288. package/dist/tools/hygiene/coverage-scanner.d.ts.map +1 -0
  289. package/dist/tools/hygiene/coverage-scanner.js +331 -0
  290. package/dist/tools/hygiene/coverage-scanner.js.map +1 -0
  291. package/dist/tools/hygiene/index.d.ts +7 -0
  292. package/dist/tools/hygiene/index.d.ts.map +1 -0
  293. package/dist/tools/hygiene/index.js +291 -0
  294. package/dist/tools/hygiene/index.js.map +1 -0
  295. package/dist/tools/hygiene/oracle-hygiene.d.ts +68 -0
  296. package/dist/tools/hygiene/oracle-hygiene.d.ts.map +1 -0
  297. package/dist/tools/hygiene/oracle-hygiene.js +324 -0
  298. package/dist/tools/hygiene/oracle-hygiene.js.map +1 -0
  299. package/dist/tools/index.d.ts +6 -0
  300. package/dist/tools/index.d.ts.map +1 -0
  301. package/dist/tools/index.js +130 -0
  302. package/dist/tools/index.js.map +1 -0
  303. package/dist/tools/lateral.d.ts +114 -0
  304. package/dist/tools/lateral.d.ts.map +1 -0
  305. package/dist/tools/lateral.js +536 -0
  306. package/dist/tools/lateral.js.map +1 -0
  307. package/dist/tools/learnings/index.d.ts +5 -0
  308. package/dist/tools/learnings/index.d.ts.map +1 -0
  309. package/dist/tools/learnings/index.js +138 -0
  310. package/dist/tools/learnings/index.js.map +1 -0
  311. package/dist/tools/learnings.d.ts +41 -0
  312. package/dist/tools/learnings.d.ts.map +1 -0
  313. package/dist/tools/learnings.js +149 -0
  314. package/dist/tools/learnings.js.map +1 -0
  315. package/dist/tools/oracle/index.d.ts +6 -0
  316. package/dist/tools/oracle/index.d.ts.map +1 -0
  317. package/dist/tools/oracle/index.js +217 -0
  318. package/dist/tools/oracle/index.js.map +1 -0
  319. package/dist/tools/oracle.d.ts +90 -0
  320. package/dist/tools/oracle.d.ts.map +1 -0
  321. package/dist/tools/oracle.js +529 -0
  322. package/dist/tools/oracle.js.map +1 -0
  323. package/dist/tools/policy.d.ts +119 -0
  324. package/dist/tools/policy.d.ts.map +1 -0
  325. package/dist/tools/policy.js +406 -0
  326. package/dist/tools/policy.js.map +1 -0
  327. package/dist/tools/provenance/index.d.ts +4 -0
  328. package/dist/tools/provenance/index.d.ts.map +1 -0
  329. package/dist/tools/provenance/index.js +63 -0
  330. package/dist/tools/provenance/index.js.map +1 -0
  331. package/dist/tools/provenance.d.ts +75 -0
  332. package/dist/tools/provenance.d.ts.map +1 -0
  333. package/dist/tools/provenance.js +224 -0
  334. package/dist/tools/provenance.js.map +1 -0
  335. package/dist/tools/rateLimiter.d.ts +45 -0
  336. package/dist/tools/rateLimiter.d.ts.map +1 -0
  337. package/dist/tools/rateLimiter.js +91 -0
  338. package/dist/tools/rateLimiter.js.map +1 -0
  339. package/dist/tools/registry/index.d.ts +10 -0
  340. package/dist/tools/registry/index.d.ts.map +1 -0
  341. package/dist/tools/registry/index.js +506 -0
  342. package/dist/tools/registry/index.js.map +1 -0
  343. package/dist/tools/registry.d.ts +3 -0
  344. package/dist/tools/registry.d.ts.map +1 -0
  345. package/dist/tools/registry.js +189 -0
  346. package/dist/tools/registry.js.map +1 -0
  347. package/dist/tools/roadmap/index.d.ts +11 -0
  348. package/dist/tools/roadmap/index.d.ts.map +1 -0
  349. package/dist/tools/roadmap/index.js +364 -0
  350. package/dist/tools/roadmap/index.js.map +1 -0
  351. package/dist/tools/roadmap.d.ts +103 -0
  352. package/dist/tools/roadmap.d.ts.map +1 -0
  353. package/dist/tools/roadmap.js +407 -0
  354. package/dist/tools/roadmap.js.map +1 -0
  355. package/dist/tools/senken.d.ts +11 -0
  356. package/dist/tools/senken.d.ts.map +1 -0
  357. package/dist/tools/senken.js +482 -0
  358. package/dist/tools/senken.js.map +1 -0
  359. package/dist/tools/sentinel/index.d.ts +21 -0
  360. package/dist/tools/sentinel/index.d.ts.map +1 -0
  361. package/dist/tools/sentinel/index.js +1067 -0
  362. package/dist/tools/sentinel/index.js.map +1 -0
  363. package/dist/tools/sentinel-scan-data.d.ts +90 -0
  364. package/dist/tools/sentinel-scan-data.d.ts.map +1 -0
  365. package/dist/tools/sentinel-scan-data.js +122 -0
  366. package/dist/tools/sentinel-scan-data.js.map +1 -0
  367. package/dist/tools/sentinel.d.ts +156 -0
  368. package/dist/tools/sentinel.d.ts.map +1 -0
  369. package/dist/tools/sentinel.js +603 -0
  370. package/dist/tools/sentinel.js.map +1 -0
  371. package/dist/tools/shared/index.d.ts +5 -0
  372. package/dist/tools/shared/index.d.ts.map +1 -0
  373. package/dist/tools/shared/index.js +8 -0
  374. package/dist/tools/shared/index.js.map +1 -0
  375. package/dist/tools/shared/project.d.ts +17 -0
  376. package/dist/tools/shared/project.d.ts.map +1 -0
  377. package/dist/tools/shared/project.js +36 -0
  378. package/dist/tools/shared/project.js.map +1 -0
  379. package/dist/tools/shared/response.d.ts +15 -0
  380. package/dist/tools/shared/response.d.ts.map +1 -0
  381. package/dist/tools/shared/response.js +77 -0
  382. package/dist/tools/shared/response.js.map +1 -0
  383. package/dist/tools/shared/runTracker.d.ts +87 -0
  384. package/dist/tools/shared/runTracker.d.ts.map +1 -0
  385. package/dist/tools/shared/runTracker.js +225 -0
  386. package/dist/tools/shared/runTracker.js.map +1 -0
  387. package/dist/tools/shared/validation.d.ts +10 -0
  388. package/dist/tools/shared/validation.d.ts.map +1 -0
  389. package/dist/tools/shared/validation.js +26 -0
  390. package/dist/tools/shared/validation.js.map +1 -0
  391. package/dist/tools/studio/cloud-spine.d.ts +27 -0
  392. package/dist/tools/studio/cloud-spine.d.ts.map +1 -0
  393. package/dist/tools/studio/cloud-spine.js +845 -0
  394. package/dist/tools/studio/cloud-spine.js.map +1 -0
  395. package/dist/tools/studio/index.d.ts +154 -0
  396. package/dist/tools/studio/index.d.ts.map +1 -0
  397. package/dist/tools/studio/index.js +541 -0
  398. package/dist/tools/studio/index.js.map +1 -0
  399. package/dist/tools/testSpec.d.ts +122 -0
  400. package/dist/tools/testSpec.d.ts.map +1 -0
  401. package/dist/tools/testSpec.js +525 -0
  402. package/dist/tools/testSpec.js.map +1 -0
  403. package/dist/tools/toolsIndex.d.ts +5 -0
  404. package/dist/tools/toolsIndex.d.ts.map +1 -0
  405. package/dist/tools/toolsIndex.js +37 -0
  406. package/dist/tools/toolsIndex.js.map +1 -0
  407. package/dist/tools/types.d.ts +47 -0
  408. package/dist/tools/types.d.ts.map +1 -0
  409. package/dist/tools/types.js +7 -0
  410. package/dist/tools/types.js.map +1 -0
  411. package/dist/tools/vector/index.d.ts +13 -0
  412. package/dist/tools/vector/index.d.ts.map +1 -0
  413. package/dist/tools/vector/index.js +592 -0
  414. package/dist/tools/vector/index.js.map +1 -0
  415. package/dist/tools/vector.d.ts +189 -0
  416. package/dist/tools/vector.d.ts.map +1 -0
  417. package/dist/tools/vector.js +570 -0
  418. package/dist/tools/vector.js.map +1 -0
  419. package/dist/tools/velocity/index.d.ts +9 -0
  420. package/dist/tools/velocity/index.d.ts.map +1 -0
  421. package/dist/tools/velocity/index.js +306 -0
  422. package/dist/tools/velocity/index.js.map +1 -0
  423. package/dist/tools/velocity.d.ts +143 -0
  424. package/dist/tools/velocity.d.ts.map +1 -0
  425. package/dist/tools/velocity.js +628 -0
  426. package/dist/tools/velocity.js.map +1 -0
  427. package/dist/tools/voice/index.d.ts +8 -0
  428. package/dist/tools/voice/index.d.ts.map +1 -0
  429. package/dist/tools/voice/index.js +203 -0
  430. package/dist/tools/voice/index.js.map +1 -0
  431. package/dist/tools/voice.d.ts +291 -0
  432. package/dist/tools/voice.d.ts.map +1 -0
  433. package/dist/tools/voice.js +734 -0
  434. package/dist/tools/voice.js.map +1 -0
  435. package/dist/tools/workflow/index.d.ts +8 -0
  436. package/dist/tools/workflow/index.d.ts.map +1 -0
  437. package/dist/tools/workflow/index.js +199 -0
  438. package/dist/tools/workflow/index.js.map +1 -0
  439. package/dist/tools/workflow.d.ts +123 -0
  440. package/dist/tools/workflow.d.ts.map +1 -0
  441. package/dist/tools/workflow.js +647 -0
  442. package/dist/tools/workflow.js.map +1 -0
  443. package/dist/transports/bridge.d.ts +22 -0
  444. package/dist/transports/bridge.d.ts.map +1 -0
  445. package/dist/transports/bridge.js +177 -0
  446. package/dist/transports/bridge.js.map +1 -0
  447. package/dist/transports/http.d.ts +9 -0
  448. package/dist/transports/http.d.ts.map +1 -0
  449. package/dist/transports/http.js +35 -0
  450. package/dist/transports/http.js.map +1 -0
  451. package/dist/transports/index.d.ts +6 -0
  452. package/dist/transports/index.d.ts.map +1 -0
  453. package/dist/transports/index.js +8 -0
  454. package/dist/transports/index.js.map +1 -0
  455. package/dist/transports/mcp.d.ts +9 -0
  456. package/dist/transports/mcp.d.ts.map +1 -0
  457. package/dist/transports/mcp.js +51 -0
  458. package/dist/transports/mcp.js.map +1 -0
  459. package/dist/transports/stdio.d.ts +9 -0
  460. package/dist/transports/stdio.d.ts.map +1 -0
  461. package/dist/transports/stdio.js +26 -0
  462. package/dist/transports/stdio.js.map +1 -0
  463. package/dist/transports/types.d.ts +27 -0
  464. package/dist/transports/types.d.ts.map +1 -0
  465. package/dist/transports/types.js +8 -0
  466. package/dist/transports/types.js.map +1 -0
  467. package/dist/types/agent-services.d.ts +193 -0
  468. package/dist/types/agent-services.d.ts.map +1 -0
  469. package/dist/types/agent-services.js +8 -0
  470. package/dist/types/agent-services.js.map +1 -0
  471. package/dist/types/index.d.ts +2 -0
  472. package/dist/types/index.d.ts.map +1 -0
  473. package/dist/types/index.js +7 -0
  474. package/dist/types/index.js.map +1 -0
  475. package/package.json +72 -0
  476. package/templates/AGENT.md +87 -0
  477. package/templates/com.decibel.daemon.plist +47 -0
  478. package/templates/sentinel/ISSUE_TEMPLATE.md +20 -0
@@ -0,0 +1,506 @@
1
+ // ============================================================================
2
+ // Architect Domain Tools
3
+ // ============================================================================
4
+ // Tools for architecture decision records (ADRs) and policy management.
5
+ // ============================================================================
6
+ import { toolSuccess, toolError, requireFields, withRunTracking, summaryGenerators } from '../shared/index.js';
7
+ import { recordArchDecision, } from '../architect.js';
8
+ import { createProjectAdr, readProjectAdr, listProjectAdrs, } from '../../architectAdrs.js';
9
+ import { createPolicy, listPolicies, getPolicy, compileOversight, isPolicyError, } from '../policy.js';
10
+ // ============================================================================
11
+ // Helper: Normalize parameter keys
12
+ // ============================================================================
13
+ function normalizeParams(args, expectedKeys) {
14
+ const result = {};
15
+ const keyMap = new Map();
16
+ // Common snake_case -> camelCase mappings
17
+ const snakeToCamel = {
18
+ 'project_id': 'projectId',
19
+ 'epic_id': 'epicId',
20
+ 'issue_id': 'issueId',
21
+ };
22
+ // Build a lowercase -> expected key map
23
+ for (const key of expectedKeys) {
24
+ keyMap.set(key.toLowerCase(), key);
25
+ }
26
+ // Process each input key
27
+ for (const [inputKey, value] of Object.entries(args)) {
28
+ // Clean the key: remove suffixes like "(summary)", trim whitespace
29
+ let cleanKey = inputKey
30
+ .replace(/\s*\([^)]*\)\s*/g, '') // Remove (summary), (optional), etc.
31
+ .trim();
32
+ // Apply snake_case -> camelCase transformation if applicable
33
+ if (snakeToCamel[cleanKey]) {
34
+ cleanKey = snakeToCamel[cleanKey];
35
+ }
36
+ // Try exact match first
37
+ if (expectedKeys.includes(cleanKey)) {
38
+ result[cleanKey] = value;
39
+ continue;
40
+ }
41
+ // Try case-insensitive match
42
+ const lowerKey = cleanKey.toLowerCase();
43
+ if (keyMap.has(lowerKey)) {
44
+ result[keyMap.get(lowerKey)] = value;
45
+ continue;
46
+ }
47
+ // Keep unrecognized keys as-is (might be optional params)
48
+ result[inputKey] = value;
49
+ }
50
+ return result;
51
+ }
52
+ // ============================================================================
53
+ // Record Arch Decision Tool
54
+ // ============================================================================
55
+ export const architectRecordArchDecisionTool = {
56
+ definition: {
57
+ name: 'architect_record_arch_decision',
58
+ description: 'Record an architectural decision (ADR) for a project. Automatically saves a markdown file to .decibel/architect/adrs/ with Change, Rationale, and Impact sections. No separate file writing needed.',
59
+ annotations: {
60
+ title: 'Record Arch Decision',
61
+ readOnlyHint: false,
62
+ destructiveHint: false,
63
+ idempotentHint: false,
64
+ },
65
+ inputSchema: {
66
+ type: 'object',
67
+ properties: {
68
+ projectId: {
69
+ type: 'string',
70
+ description: 'Optional project identifier. Uses default project if not specified.',
71
+ },
72
+ change: {
73
+ type: 'string',
74
+ description: 'Description of the architectural change',
75
+ },
76
+ rationale: {
77
+ type: 'string',
78
+ description: 'The reasoning behind this architectural decision',
79
+ },
80
+ impact: {
81
+ type: 'string',
82
+ description: 'Optional description of the expected impact',
83
+ },
84
+ },
85
+ required: ['change', 'rationale'],
86
+ },
87
+ },
88
+ handler: withRunTracking(async (args) => {
89
+ try {
90
+ const rawInput = args;
91
+ const input = normalizeParams(rawInput, ['projectId', 'project_id', 'change', 'rationale', 'impact']);
92
+ // Support project_id as alias for projectId
93
+ if (!input.projectId && rawInput.project_id) {
94
+ input.projectId = rawInput.project_id;
95
+ }
96
+ requireFields(input, 'change', 'rationale');
97
+ const result = await recordArchDecision(input);
98
+ if ('error' in result) {
99
+ return toolError(JSON.stringify(result, null, 2));
100
+ }
101
+ return toolSuccess(result);
102
+ }
103
+ catch (err) {
104
+ return toolError(err instanceof Error ? err.message : String(err));
105
+ }
106
+ }, {
107
+ toolName: 'architect_record_arch_decision',
108
+ getProjectId: (args) => args.projectId || args.project_id,
109
+ getSummary: summaryGenerators.adr,
110
+ }),
111
+ };
112
+ // ============================================================================
113
+ // Create ADR Tool
114
+ // ============================================================================
115
+ export const architectCreateAdrTool = {
116
+ definition: {
117
+ name: 'architect_createAdr',
118
+ description: 'Create a new Architecture Decision Record (ADR) for a project. Writes a YAML file to .decibel/architect/adrs/ with auto-generated ID (ADR-NNNN).',
119
+ annotations: {
120
+ title: 'Create ADR',
121
+ readOnlyHint: false,
122
+ destructiveHint: false,
123
+ idempotentHint: false,
124
+ },
125
+ inputSchema: {
126
+ type: 'object',
127
+ properties: {
128
+ projectId: {
129
+ type: 'string',
130
+ description: 'The project identifier (e.g., "my-project")',
131
+ },
132
+ title: {
133
+ type: 'string',
134
+ description: 'ADR title (e.g., "Use PostgreSQL for persistence")',
135
+ },
136
+ context: {
137
+ type: 'string',
138
+ description: 'The context and background for this decision',
139
+ },
140
+ decision: {
141
+ type: 'string',
142
+ description: 'The decision that was made',
143
+ },
144
+ consequences: {
145
+ type: 'string',
146
+ description: 'The consequences of this decision (positive and negative)',
147
+ },
148
+ relatedIssues: {
149
+ type: 'array',
150
+ items: { type: 'string' },
151
+ description: 'Related issue IDs (e.g., ["ISS-0001", "ISS-0003"])',
152
+ },
153
+ relatedEpics: {
154
+ type: 'array',
155
+ items: { type: 'string' },
156
+ description: 'Related epic IDs (e.g., ["EPIC-0002"])',
157
+ },
158
+ },
159
+ required: ['projectId', 'title', 'context', 'decision', 'consequences'],
160
+ },
161
+ },
162
+ handler: withRunTracking(async (args) => {
163
+ try {
164
+ // Normalize parameter keys to handle case variations
165
+ const input = normalizeParams(args, ['projectId', 'title', 'context', 'decision', 'consequences', 'relatedIssues', 'relatedEpics']);
166
+ requireFields(input, 'projectId', 'title', 'context', 'decision', 'consequences');
167
+ const result = await createProjectAdr(input);
168
+ return toolSuccess(result);
169
+ }
170
+ catch (err) {
171
+ return toolError(err instanceof Error ? err.message : String(err));
172
+ }
173
+ }, {
174
+ toolName: 'architect_createAdr',
175
+ getSummary: summaryGenerators.adr,
176
+ }),
177
+ };
178
+ // ============================================================================
179
+ // Create Policy Tool
180
+ // ============================================================================
181
+ export const architectCreatePolicyTool = {
182
+ definition: {
183
+ name: 'architect_createPolicy',
184
+ description: 'Create a new policy atom. Policies define rules and constraints for code, architecture, and processes.',
185
+ annotations: {
186
+ title: 'Create Policy',
187
+ readOnlyHint: false,
188
+ destructiveHint: false,
189
+ idempotentHint: false,
190
+ },
191
+ inputSchema: {
192
+ type: 'object',
193
+ properties: {
194
+ projectId: {
195
+ type: 'string',
196
+ description: 'Optional project identifier. Uses default project if not specified.',
197
+ },
198
+ title: {
199
+ type: 'string',
200
+ description: 'Policy title (e.g., "No Direct Database Access")',
201
+ },
202
+ rationale: {
203
+ type: 'string',
204
+ description: 'Why this policy exists',
205
+ },
206
+ scope: {
207
+ type: 'string',
208
+ description: 'Where this policy applies (e.g., "api/*", "global")',
209
+ },
210
+ rules: {
211
+ type: 'array',
212
+ items: {
213
+ type: 'object',
214
+ properties: {
215
+ key: { type: 'string', description: 'Unique rule identifier' },
216
+ description: { type: 'string', description: 'What this rule enforces' },
217
+ check: { type: 'string', description: 'Optional automated check command' },
218
+ },
219
+ required: ['key', 'description'],
220
+ },
221
+ description: 'List of rules this policy enforces',
222
+ },
223
+ severity: {
224
+ type: 'string',
225
+ enum: ['critical', 'high', 'medium', 'low'],
226
+ description: 'How severe violations are',
227
+ },
228
+ enforcement_hooks: {
229
+ type: 'array',
230
+ items: { type: 'string' },
231
+ description: 'Hooks that enforce this policy (e.g., "pre-commit", "ci")',
232
+ },
233
+ exceptions: {
234
+ type: 'array',
235
+ items: {
236
+ type: 'object',
237
+ properties: {
238
+ reason: { type: 'string' },
239
+ scope: { type: 'string' },
240
+ expires: { type: 'string' },
241
+ approved_by: { type: 'string' },
242
+ },
243
+ required: ['reason'],
244
+ },
245
+ description: 'Known exceptions to this policy',
246
+ },
247
+ examples: {
248
+ type: 'object',
249
+ properties: {
250
+ compliant: { type: 'array', items: { type: 'string' } },
251
+ violation: { type: 'array', items: { type: 'string' } },
252
+ },
253
+ description: 'Examples of compliant and violating code/behavior',
254
+ },
255
+ tags: {
256
+ type: 'array',
257
+ items: { type: 'string' },
258
+ description: 'Tags for categorization',
259
+ },
260
+ },
261
+ required: ['title', 'rationale', 'scope', 'rules', 'severity'],
262
+ },
263
+ },
264
+ handler: async (args) => {
265
+ try {
266
+ const input = args;
267
+ requireFields(input, 'title', 'rationale', 'scope', 'rules', 'severity');
268
+ const result = await createPolicy(input);
269
+ if (isPolicyError(result)) {
270
+ return toolError(JSON.stringify(result, null, 2));
271
+ }
272
+ return toolSuccess(result);
273
+ }
274
+ catch (err) {
275
+ return toolError(err instanceof Error ? err.message : String(err));
276
+ }
277
+ },
278
+ };
279
+ // ============================================================================
280
+ // List Policies Tool
281
+ // ============================================================================
282
+ export const architectListPoliciesTool = {
283
+ definition: {
284
+ name: 'architect_listPolicies',
285
+ description: 'List all policies for a project, optionally filtered by severity or tags.',
286
+ annotations: {
287
+ title: 'List Policies',
288
+ readOnlyHint: true,
289
+ destructiveHint: false,
290
+ },
291
+ inputSchema: {
292
+ type: 'object',
293
+ properties: {
294
+ projectId: {
295
+ type: 'string',
296
+ description: 'Optional project identifier. Uses default project if not specified.',
297
+ },
298
+ severity: {
299
+ type: 'string',
300
+ enum: ['critical', 'high', 'medium', 'low'],
301
+ description: 'Filter by severity',
302
+ },
303
+ tags: {
304
+ type: 'array',
305
+ items: { type: 'string' },
306
+ description: 'Filter by tags (matches any)',
307
+ },
308
+ },
309
+ },
310
+ },
311
+ handler: async (args) => {
312
+ try {
313
+ const input = args;
314
+ const result = await listPolicies(input);
315
+ if (isPolicyError(result)) {
316
+ return toolError(JSON.stringify(result, null, 2));
317
+ }
318
+ return toolSuccess(result);
319
+ }
320
+ catch (err) {
321
+ return toolError(err instanceof Error ? err.message : String(err));
322
+ }
323
+ },
324
+ };
325
+ // ============================================================================
326
+ // Get Policy Tool
327
+ // ============================================================================
328
+ export const architectReadPolicyTool = {
329
+ definition: {
330
+ name: 'architect_read_policy',
331
+ description: 'Read details of a specific policy by ID.',
332
+ annotations: {
333
+ title: 'Read Policy',
334
+ readOnlyHint: true,
335
+ destructiveHint: false,
336
+ },
337
+ inputSchema: {
338
+ type: 'object',
339
+ properties: {
340
+ projectId: {
341
+ type: 'string',
342
+ description: 'Optional project identifier. Uses default project if not specified.',
343
+ },
344
+ policy_id: {
345
+ type: 'string',
346
+ description: 'Policy ID (e.g., "POL-0001")',
347
+ },
348
+ },
349
+ required: ['policy_id'],
350
+ },
351
+ },
352
+ handler: async (args) => {
353
+ try {
354
+ const input = args;
355
+ requireFields(input, 'policy_id');
356
+ const result = await getPolicy(input);
357
+ if (isPolicyError(result)) {
358
+ return toolError(JSON.stringify(result, null, 2));
359
+ }
360
+ return toolSuccess(result);
361
+ }
362
+ catch (err) {
363
+ return toolError(err instanceof Error ? err.message : String(err));
364
+ }
365
+ },
366
+ };
367
+ // ============================================================================
368
+ // Compile Oversight Tool
369
+ // ============================================================================
370
+ export const architectCompileOversightTool = {
371
+ definition: {
372
+ name: 'architect_compileOversight',
373
+ description: 'Compile all policies into documentation (policies.md and/or compiled.json).',
374
+ annotations: {
375
+ title: 'Compile Oversight',
376
+ readOnlyHint: false,
377
+ destructiveHint: false,
378
+ idempotentHint: true,
379
+ },
380
+ inputSchema: {
381
+ type: 'object',
382
+ properties: {
383
+ projectId: {
384
+ type: 'string',
385
+ description: 'Optional project identifier. Uses default project if not specified.',
386
+ },
387
+ output_format: {
388
+ type: 'string',
389
+ enum: ['markdown', 'json', 'both'],
390
+ description: 'Output format (default: markdown)',
391
+ },
392
+ include_inherited: {
393
+ type: 'boolean',
394
+ description: 'Include policies from extended profiles',
395
+ },
396
+ },
397
+ },
398
+ },
399
+ handler: async (args) => {
400
+ try {
401
+ const input = args;
402
+ const result = await compileOversight(input);
403
+ if (isPolicyError(result)) {
404
+ return toolError(JSON.stringify(result, null, 2));
405
+ }
406
+ return toolSuccess(result);
407
+ }
408
+ catch (err) {
409
+ return toolError(err instanceof Error ? err.message : String(err));
410
+ }
411
+ },
412
+ };
413
+ // ============================================================================
414
+ // Get ADR Tool
415
+ // ============================================================================
416
+ export const architectReadAdrTool = {
417
+ definition: {
418
+ name: 'architect_readAdr',
419
+ description: 'Read an existing Architecture Decision Record (ADR) by ID. Returns the full YAML content including context, decision, consequences, and review notes.',
420
+ annotations: {
421
+ title: 'Get ADR',
422
+ readOnlyHint: true,
423
+ destructiveHint: false,
424
+ },
425
+ inputSchema: {
426
+ type: 'object',
427
+ properties: {
428
+ projectId: {
429
+ type: 'string',
430
+ description: 'The project identifier (e.g., "decibel-agent")',
431
+ },
432
+ adr_id: {
433
+ type: 'string',
434
+ description: 'ADR ID (e.g., "ADR-0005")',
435
+ },
436
+ },
437
+ required: ['projectId', 'adr_id'],
438
+ },
439
+ },
440
+ handler: async (args) => {
441
+ try {
442
+ const rawInput = args;
443
+ const projectId = (rawInput.projectId ?? rawInput.project_id);
444
+ const adrId = (rawInput.adr_id ?? rawInput.adrId);
445
+ requireFields({ projectId, adr_id: adrId }, 'projectId', 'adr_id');
446
+ const result = await readProjectAdr(projectId, adrId);
447
+ if (!result) {
448
+ return toolError(`ADR ${adrId} not found in project ${projectId}`);
449
+ }
450
+ return toolSuccess(result);
451
+ }
452
+ catch (err) {
453
+ return toolError(err instanceof Error ? err.message : String(err));
454
+ }
455
+ },
456
+ };
457
+ // ============================================================================
458
+ // List ADRs Tool
459
+ // ============================================================================
460
+ export const architectListAdrsTool = {
461
+ definition: {
462
+ name: 'architect_listAdrs',
463
+ description: 'List all Architecture Decision Records (ADRs) for a project. Returns ID, title, and status for each ADR.',
464
+ annotations: {
465
+ title: 'List ADRs',
466
+ readOnlyHint: true,
467
+ destructiveHint: false,
468
+ },
469
+ inputSchema: {
470
+ type: 'object',
471
+ properties: {
472
+ projectId: {
473
+ type: 'string',
474
+ description: 'The project identifier (e.g., "decibel-agent")',
475
+ },
476
+ },
477
+ required: ['projectId'],
478
+ },
479
+ },
480
+ handler: async (args) => {
481
+ try {
482
+ const rawInput = args;
483
+ const projectId = (rawInput.projectId ?? rawInput.project_id);
484
+ requireFields({ projectId }, 'projectId');
485
+ const result = await listProjectAdrs(projectId);
486
+ return toolSuccess({ adrs: result, count: result.length });
487
+ }
488
+ catch (err) {
489
+ return toolError(err instanceof Error ? err.message : String(err));
490
+ }
491
+ },
492
+ };
493
+ // ============================================================================
494
+ // Export All Tools
495
+ // ============================================================================
496
+ export const architectTools = [
497
+ architectRecordArchDecisionTool,
498
+ architectCreateAdrTool,
499
+ architectReadAdrTool,
500
+ architectListAdrsTool,
501
+ architectCreatePolicyTool,
502
+ architectListPoliciesTool,
503
+ architectReadPolicyTool,
504
+ architectCompileOversightTool,
505
+ ];
506
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/architect/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export interface ProjectResolutionError {
2
+ error: 'project_resolution_failed';
3
+ message: string;
4
+ hint: string;
5
+ }
6
+ export interface RecordArchDecisionInput {
7
+ projectId?: string;
8
+ change: string;
9
+ rationale: string;
10
+ impact?: string;
11
+ }
12
+ export interface RecordArchDecisionOutput {
13
+ id: string;
14
+ timestamp: string;
15
+ path: string;
16
+ location: 'project';
17
+ }
18
+ export declare function recordArchDecision(input: RecordArchDecisionInput): Promise<RecordArchDecisionOutput | ProjectResolutionError>;
19
+ //# sourceMappingURL=architect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/tools/architect.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,2BAA2B,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAeD,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;CACrB;AA0BD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,CAkE5D"}
@@ -0,0 +1,88 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ import { log } from '../config.js';
4
+ import { ensureDir } from '../dataRoot.js';
5
+ import { resolveProjectPaths, validateWritePath } from '../projectRegistry.js';
6
+ import { emitCreateProvenance } from './provenance.js';
7
+ function makeProjectResolutionError(operation) {
8
+ return {
9
+ error: 'project_resolution_failed',
10
+ message: `Cannot ${operation}: No project context available.`,
11
+ hint: 'Either specify projectId parameter, set DECIBEL_PROJECT_ROOT env var, or run from a directory containing .decibel/',
12
+ };
13
+ }
14
+ // ============================================================================
15
+ // Helpers
16
+ // ============================================================================
17
+ function slugify(text) {
18
+ return text
19
+ .toLowerCase()
20
+ .replace(/[^a-z0-9]+/g, '-')
21
+ .replace(/^-|-$/g, '')
22
+ .substring(0, 50);
23
+ }
24
+ function formatTimestampForFilename(date) {
25
+ // Format: YYYY-MM-DDTHH-mm-ssZ
26
+ const iso = date.toISOString();
27
+ return iso
28
+ .replace(/:/g, '-')
29
+ .replace(/\.\d{3}Z$/, 'Z');
30
+ }
31
+ // ============================================================================
32
+ // Functions
33
+ // ============================================================================
34
+ export async function recordArchDecision(input) {
35
+ let resolved;
36
+ try {
37
+ resolved = resolveProjectPaths(input.projectId);
38
+ }
39
+ catch (err) {
40
+ return makeProjectResolutionError('record architecture decision');
41
+ }
42
+ const now = new Date();
43
+ const timestamp = now.toISOString();
44
+ const fileTimestamp = formatTimestampForFilename(now);
45
+ const slug = slugify(input.change);
46
+ const filename = `${fileTimestamp}-${slug}.md`;
47
+ // Always use project-local storage under .decibel/architect/adrs/
48
+ const dirPath = resolved.subPath('architect', 'adrs');
49
+ const filePath = path.join(dirPath, filename);
50
+ ensureDir(dirPath);
51
+ // Build ADR-style markdown content
52
+ const frontmatter = [
53
+ '---',
54
+ `projectId: ${resolved.id}`,
55
+ `change: ${input.change}`,
56
+ `timestamp: ${timestamp}`,
57
+ `location: project`,
58
+ '---',
59
+ ].join('\n');
60
+ const sections = [
61
+ `# ADR: ${input.change}`,
62
+ '',
63
+ '## Change',
64
+ '',
65
+ input.change,
66
+ '',
67
+ '## Rationale',
68
+ '',
69
+ input.rationale,
70
+ '',
71
+ '## Impact',
72
+ '',
73
+ input.impact || 'No specific impact documented.',
74
+ ].join('\n');
75
+ const content = `${frontmatter}\n\n${sections}\n`;
76
+ validateWritePath(filePath, resolved);
77
+ await fs.writeFile(filePath, content, 'utf-8');
78
+ log(`Architect: Recorded architecture decision to ${filePath} (project: ${resolved.id})`);
79
+ // Emit provenance event for this creation
80
+ await emitCreateProvenance(`architect:adr:${filename}`, content, `Created ADR: ${input.change}`, input.projectId);
81
+ return {
82
+ id: filename,
83
+ timestamp,
84
+ path: filePath,
85
+ location: 'project',
86
+ };
87
+ }
88
+ //# sourceMappingURL=architect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/tools/architect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ToolSpec } from '../types.js';
2
+ export declare const auditorTriageTool: ToolSpec;
3
+ export declare const auditorHealthTool: ToolSpec;
4
+ export declare const auditorRefactorTool: ToolSpec;
5
+ export declare const auditorNamingTool: ToolSpec;
6
+ export declare const auditorInitTool: ToolSpec;
7
+ export declare const auditorLogHealthTool: ToolSpec;
8
+ export declare const auditorHealthHistoryTool: ToolSpec;
9
+ export declare const auditorTools: ToolSpec[];
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/auditor/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA0CvC,eAAO,MAAM,iBAAiB,EAAE,QAsD/B,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,QA+B/B,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,QAmCjC,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,QAmC/B,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,QA0B7B,CAAC;AAMF,eAAO,MAAM,oBAAoB,EAAE,QA8BlC,CAAC;AAMF,eAAO,MAAM,wBAAwB,EAAE,QA8BtC,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,QAAQ,EAQlC,CAAC"}