@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,297 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ import { parse as parseYaml, parseAllDocuments, stringify as stringifyYaml } from 'yaml';
4
+ import { log } from './config.js';
5
+ import { getWritePath, readFilesFromBothPaths } from './decibelPaths.js';
6
+ // ============================================================================
7
+ // Constants
8
+ // ============================================================================
9
+ const ISSUES_SUBPATH = 'sentinel/issues';
10
+ // ============================================================================
11
+ // Helpers
12
+ // ============================================================================
13
+ /**
14
+ * Slugify a title for use in filename
15
+ */
16
+ function slugify(text) {
17
+ return text
18
+ .toLowerCase()
19
+ .replace(/[^a-z0-9]+/g, '-')
20
+ .replace(/^-|-$/g, '')
21
+ .substring(0, 50);
22
+ }
23
+ /**
24
+ * Extract numeric suffix from issue ID (e.g., "ISS-0007" -> 7)
25
+ */
26
+ function extractIssueNumber(id) {
27
+ const match = id.match(/^ISS-(\d+)$/i);
28
+ return match ? parseInt(match[1], 10) : 0;
29
+ }
30
+ /**
31
+ * Format issue ID with zero-padding
32
+ */
33
+ function formatIssueId(num) {
34
+ return `ISS-${num.toString().padStart(4, '0')}`;
35
+ }
36
+ /**
37
+ * Ensure directory exists
38
+ */
39
+ async function ensureDir(dirPath) {
40
+ try {
41
+ await fs.mkdir(dirPath, { recursive: true });
42
+ }
43
+ catch {
44
+ // Directory already exists or other error
45
+ }
46
+ }
47
+ /**
48
+ * Safely parse YAML content that might contain multiple documents (frontmatter format).
49
+ * Returns the first document's contents, or throws if no valid document found.
50
+ */
51
+ function safeParseYaml(content) {
52
+ // First, try simple parse (most common case)
53
+ try {
54
+ return parseYaml(content);
55
+ }
56
+ catch (err) {
57
+ // Check if error is about multiple documents
58
+ const message = err instanceof Error ? err.message : String(err);
59
+ if (!message.includes('multiple documents')) {
60
+ throw err;
61
+ }
62
+ }
63
+ // Handle multi-document YAML (frontmatter format with --- delimiters)
64
+ const docs = parseAllDocuments(content);
65
+ if (docs.length === 0) {
66
+ throw new Error('No YAML documents found');
67
+ }
68
+ // Return the first document (usually the frontmatter)
69
+ const firstDoc = docs[0].toJSON();
70
+ if (typeof firstDoc !== 'object' || firstDoc === null) {
71
+ throw new Error('First YAML document is not an object');
72
+ }
73
+ return firstDoc;
74
+ }
75
+ // ============================================================================
76
+ // Public API
77
+ // ============================================================================
78
+ /**
79
+ * List all issues for a project
80
+ * Reads from both .decibel/ and decibel/ paths, deduping by filename
81
+ */
82
+ export async function listIssuesForProject(projectId) {
83
+ const issues = [];
84
+ const seenIds = new Set();
85
+ // Read from both .decibel/ and decibel/ paths
86
+ const files = await readFilesFromBothPaths(projectId, ISSUES_SUBPATH);
87
+ if (files.length === 0) {
88
+ log(`sentinelIssues: No issues found for project: ${projectId}`);
89
+ return [];
90
+ }
91
+ for (const { filePath, source } of files) {
92
+ try {
93
+ const content = await fs.readFile(filePath, 'utf-8');
94
+ const parsed = safeParseYaml(content);
95
+ // Validate required fields
96
+ const id = parsed.id;
97
+ const title = parsed.title;
98
+ if (!id || !title) {
99
+ log(`sentinelIssues: Skipping ${filePath} - missing id or title`);
100
+ continue;
101
+ }
102
+ // Skip duplicates (primary takes precedence)
103
+ if (seenIds.has(id)) {
104
+ log(`sentinelIssues: Skipping duplicate ${id} from ${source} path`);
105
+ continue;
106
+ }
107
+ seenIds.add(id);
108
+ const issue = {
109
+ id,
110
+ title,
111
+ project: parsed.project || projectId,
112
+ status: parsed.status || 'open',
113
+ priority: parsed.priority,
114
+ epicId: parsed.epic_id || parsed.epicId,
115
+ tags: parsed.tags,
116
+ created_at: parsed.created_at,
117
+ updated_at: parsed.updated_at,
118
+ description: parsed.description,
119
+ };
120
+ // Copy any extra fields
121
+ for (const key of Object.keys(parsed)) {
122
+ if (!(key in issue)) {
123
+ issue[key] = parsed[key];
124
+ }
125
+ }
126
+ issues.push(issue);
127
+ }
128
+ catch (err) {
129
+ const message = err instanceof Error ? err.message : String(err);
130
+ log(`sentinelIssues: Failed to parse ${filePath}: ${message}`);
131
+ }
132
+ }
133
+ // Sort by ID (newest first)
134
+ issues.sort((a, b) => extractIssueNumber(b.id) - extractIssueNumber(a.id));
135
+ return issues;
136
+ }
137
+ /**
138
+ * Create a new issue for a project
139
+ */
140
+ export async function createIssue(input) {
141
+ const { projectId, title, description, epicId, priority, tags } = input;
142
+ // Always write to .decibel/ (primary path)
143
+ const issuesDir = await getWritePath(projectId, ISSUES_SUBPATH);
144
+ await ensureDir(issuesDir);
145
+ // Find next issue number
146
+ const existingIssues = await listIssuesForProject(projectId);
147
+ const maxNum = existingIssues.reduce((max, issue) => Math.max(max, extractIssueNumber(issue.id)), 0);
148
+ const newNum = maxNum + 1;
149
+ const newId = formatIssueId(newNum);
150
+ // Build filename
151
+ const slug = slugify(title);
152
+ const filename = `${newId}-${slug}.yml`;
153
+ const filePath = path.join(issuesDir, filename);
154
+ // Build issue object
155
+ const now = new Date().toISOString();
156
+ const issue = {
157
+ id: newId,
158
+ title,
159
+ project: projectId,
160
+ status: 'open',
161
+ priority: priority || 'medium',
162
+ tags: tags || [],
163
+ created_at: now,
164
+ updated_at: now,
165
+ };
166
+ if (epicId) {
167
+ issue.epicId = epicId;
168
+ }
169
+ if (description) {
170
+ issue.description = description;
171
+ }
172
+ // Build YAML content
173
+ // Use a specific field order for cleaner output
174
+ const yamlObj = {
175
+ id: issue.id,
176
+ title: issue.title,
177
+ project: issue.project,
178
+ status: issue.status,
179
+ priority: issue.priority,
180
+ };
181
+ if (epicId) {
182
+ yamlObj.epic_id = epicId;
183
+ }
184
+ yamlObj.tags = issue.tags;
185
+ yamlObj.created_at = issue.created_at;
186
+ yamlObj.updated_at = issue.updated_at;
187
+ if (description) {
188
+ yamlObj.description = description;
189
+ }
190
+ const yamlContent = stringifyYaml(yamlObj, {
191
+ lineWidth: 0, // Don't wrap lines
192
+ });
193
+ // Write file
194
+ await fs.writeFile(filePath, yamlContent, 'utf-8');
195
+ log(`sentinelIssues: Created issue at ${filePath}`);
196
+ return {
197
+ ...issue,
198
+ filePath,
199
+ };
200
+ }
201
+ /**
202
+ * Get a single issue by ID (e.g., "ISS-0005") with full content
203
+ */
204
+ export async function getIssueById(projectId, issueId) {
205
+ const issues = await listIssuesForProject(projectId);
206
+ const normalizedId = issueId.toUpperCase();
207
+ return issues.find((i) => i.id.toUpperCase() === normalizedId) ?? null;
208
+ }
209
+ /**
210
+ * Update an existing issue — status, priority, tags, and/or append a note.
211
+ * Reads the YAML file, applies changes, writes back.
212
+ */
213
+ export async function updateIssue(input) {
214
+ const { projectId, issueId, status, priority, tags, note } = input;
215
+ // Find the issue file
216
+ const files = await readFilesFromBothPaths(projectId, ISSUES_SUBPATH);
217
+ const normalizedId = issueId.toUpperCase();
218
+ let matchedFile;
219
+ for (const f of files) {
220
+ const basename = path.basename(f.filePath).toUpperCase();
221
+ if (basename.startsWith(normalizedId)) {
222
+ matchedFile = f;
223
+ break;
224
+ }
225
+ }
226
+ if (!matchedFile) {
227
+ throw new Error(`Issue ${issueId} not found in project ${projectId}`);
228
+ }
229
+ // Read and parse
230
+ const content = await fs.readFile(matchedFile.filePath, 'utf-8');
231
+ const parsed = safeParseYaml(content);
232
+ const changes = [];
233
+ // Apply changes
234
+ if (status && status !== parsed.status) {
235
+ changes.push(`status: ${parsed.status} → ${status}`);
236
+ parsed.status = status;
237
+ }
238
+ if (priority && priority !== parsed.priority) {
239
+ changes.push(`priority: ${parsed.priority ?? 'unset'} → ${priority}`);
240
+ parsed.priority = priority;
241
+ }
242
+ if (tags) {
243
+ const oldTags = parsed.tags || [];
244
+ const merged = [...new Set([...oldTags, ...tags])];
245
+ if (merged.length !== oldTags.length) {
246
+ changes.push(`tags: added ${tags.filter(t => !oldTags.includes(t)).join(', ')}`);
247
+ parsed.tags = merged;
248
+ }
249
+ }
250
+ if (note) {
251
+ const existing = parsed.description || '';
252
+ const timestamp = new Date().toISOString().slice(0, 10);
253
+ const appendedNote = `\n\n[${timestamp}] ${note}`;
254
+ parsed.description = existing + appendedNote;
255
+ changes.push(`note appended`);
256
+ }
257
+ if (changes.length === 0) {
258
+ throw new Error(`No changes to apply to ${issueId}`);
259
+ }
260
+ // Update timestamp
261
+ parsed.updated_at = new Date().toISOString();
262
+ // Write back
263
+ const yamlContent = stringifyYaml(parsed, { lineWidth: 0 });
264
+ // Write to the primary (.decibel) path
265
+ const writeDir = await getWritePath(projectId, ISSUES_SUBPATH);
266
+ await ensureDir(writeDir);
267
+ const writePath = path.join(writeDir, path.basename(matchedFile.filePath));
268
+ await fs.writeFile(writePath, yamlContent, 'utf-8');
269
+ log(`sentinelIssues: Updated issue ${issueId} at ${writePath} — ${changes.join(', ')}`);
270
+ // Build return object
271
+ const issue = {
272
+ id: parsed.id,
273
+ title: parsed.title,
274
+ project: parsed.project || projectId,
275
+ status: parsed.status,
276
+ priority: parsed.priority,
277
+ epicId: parsed.epic_id || parsed.epicId,
278
+ tags: parsed.tags,
279
+ created_at: parsed.created_at,
280
+ updated_at: parsed.updated_at,
281
+ description: parsed.description,
282
+ };
283
+ return { ...issue, filePath: writePath, changes };
284
+ }
285
+ /**
286
+ * Filter issues by status
287
+ */
288
+ export function filterByStatus(issues, status) {
289
+ return issues.filter((issue) => issue.status === status);
290
+ }
291
+ /**
292
+ * Filter issues by epic ID
293
+ */
294
+ export function filterByEpicId(issues, epicId) {
295
+ return issues.filter((issue) => issue.epicId === epicId);
296
+ }
297
+ //# sourceMappingURL=sentinelIssues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentinelIssues.js","sourceRoot":"","sources":["../src/sentinelIssues.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":""}
package/dist/server.js ADDED
@@ -0,0 +1,195 @@
1
+ #!/usr/bin/env node
2
+ // ============================================================================
3
+ // Decibel MCP Server — Entry Point
4
+ // ============================================================================
5
+ // Modes:
6
+ // node dist/server.js → stdio (Claude Code, Cursor)
7
+ // node dist/server.js --bridge → stdio with daemon proxy (auto-detect)
8
+ // node dist/server.js --bridge http://... → stdio with explicit daemon
9
+ // node dist/server.js --http → HTTP only (ChatGPT, Mother)
10
+ // node dist/server.js --daemon → daemon mode (HTTP + PID + graceful shutdown)
11
+ // node dist/server.js --daemon --stdio → daemon + stdio from one process
12
+ // node dist/server.js --daemon install → install macOS launchd plist
13
+ // node dist/server.js --daemon uninstall
14
+ // node dist/server.js --daemon status
15
+ // ============================================================================
16
+ import fs from 'fs';
17
+ import path from 'path';
18
+ import { getConfig, log } from './config.js';
19
+ import { createKernel } from './kernel.js';
20
+ import { StdioAdapter, HttpAdapter, BridgeAdapter } from './transports/index.js';
21
+ import { parseHttpArgs } from './httpServer.js';
22
+ import { checkRunning, writePid, removePid, installShutdownHandlers, handleDaemonSubcommand, getLogPath, rotateLog, checkCrashLoop, scheduleHealthReset, resetCrashes, } from './daemon.js';
23
+ import { loadConfig } from './daemonConfig.js';
24
+ import { getLicenseValidator } from './license.js';
25
+ const config = getConfig();
26
+ log(`Starting Decibel MCP Server`);
27
+ log(`Environment: ${config.env}`);
28
+ log(`Organization: ${config.org}`);
29
+ log(`Root Directory: ${config.rootDir}`);
30
+ if (process.env.DECIBEL_PRO === '1')
31
+ log('Pro features: ENABLED');
32
+ if (process.env.DECIBEL_APPS === '1')
33
+ log('Apps: ENABLED');
34
+ async function main() {
35
+ const args = process.argv;
36
+ const daemonMode = args.includes('--daemon');
37
+ // Handle daemon subcommands (install, uninstall, status) — exits process
38
+ if (daemonMode && handleDaemonSubcommand(args))
39
+ return;
40
+ // Handle --reset-crashes flag
41
+ if (args.includes('--reset-crashes')) {
42
+ resetCrashes();
43
+ process.exit(0);
44
+ }
45
+ // Parse transport config
46
+ const { httpMode, port, authToken, host, sseKeepaliveMs, timeoutMs, retryIntervalMs } = parseHttpArgs(args);
47
+ // Load daemon config file (CLI flags override config)
48
+ const daemonConfig = loadConfig();
49
+ const transportConfig = {
50
+ port: daemonMode ? (port || daemonConfig.daemon.port || 4888) : port,
51
+ host: host || (daemonMode ? daemonConfig.daemon.host : undefined),
52
+ authToken: authToken || daemonConfig.daemon.auth_token,
53
+ sseKeepaliveMs,
54
+ timeoutMs,
55
+ retryIntervalMs,
56
+ isDaemon: daemonMode,
57
+ rateLimitRpm: daemonConfig.daemon.rate_limit_rpm,
58
+ configLicenseKey: daemonConfig.license?.key,
59
+ };
60
+ // Daemon lifecycle: check lock, crash loop, write PID, setup shutdown
61
+ if (daemonMode) {
62
+ // Crash loop protection: exit cleanly if restarting too fast
63
+ if (!checkCrashLoop()) {
64
+ process.exit(0); // Exit 0 tells launchd to stop retrying
65
+ }
66
+ const existingPid = checkRunning();
67
+ if (existingPid) {
68
+ console.error(`Daemon already running (PID ${existingPid}).`);
69
+ console.error(`Kill it with: kill ${existingPid}`);
70
+ console.error(`Or remove stale PID: rm ~/.decibel/daemon.pid`);
71
+ process.exit(1);
72
+ }
73
+ writePid();
74
+ scheduleHealthReset(); // Reset crash counter after 5 minutes of healthy running
75
+ log(`Daemon: mode active, PID ${process.pid}, port ${transportConfig.port}`);
76
+ log(`Daemon: log file at ${getLogPath()}`);
77
+ // Pre-validate license key from config (fire and forget)
78
+ if (daemonConfig.license?.key) {
79
+ getLicenseValidator().prevalidate(daemonConfig.license.key);
80
+ }
81
+ }
82
+ // Create kernel
83
+ const kernel = await createKernel();
84
+ const adapters = [];
85
+ // In daemon mode, log all dispatches to dispatch.jsonl (async buffered writes + rotation)
86
+ if (daemonMode) {
87
+ const logsDir = path.join(process.env.HOME || '~', '.decibel', 'logs');
88
+ fs.mkdirSync(logsDir, { recursive: true });
89
+ const dispatchLogPath = path.join(logsDir, 'dispatch.jsonl');
90
+ const daemonLogPath = path.join(logsDir, 'daemon.log');
91
+ // Parse log rotation CLI flags
92
+ const maxSizeIdx = args.indexOf('--log-max-size');
93
+ const maxFilesIdx = args.indexOf('--log-max-files');
94
+ const logMaxSizeBytes = maxSizeIdx !== -1
95
+ ? parseInt(args[maxSizeIdx + 1], 10) * 1024 * 1024
96
+ : 10 * 1024 * 1024; // 10MB default
97
+ const logMaxFiles = maxFilesIdx !== -1
98
+ ? parseInt(args[maxFilesIdx + 1], 10)
99
+ : 3;
100
+ let writesSinceRotationCheck = 0;
101
+ // Buffered async writer — batches writes to reduce I/O
102
+ let writeBuffer = [];
103
+ let writeTimer = null;
104
+ const flushBuffer = async () => {
105
+ if (writeBuffer.length === 0)
106
+ return;
107
+ const batch = writeBuffer.join('');
108
+ writeBuffer = [];
109
+ try {
110
+ // Check rotation every 100 writes
111
+ writesSinceRotationCheck += batch.split('\n').length;
112
+ if (writesSinceRotationCheck >= 100) {
113
+ writesSinceRotationCheck = 0;
114
+ rotateLog(dispatchLogPath, logMaxSizeBytes, logMaxFiles);
115
+ }
116
+ await fs.promises.appendFile(dispatchLogPath, batch);
117
+ }
118
+ catch (err) {
119
+ log(`Daemon: dispatch log write error: ${err}`);
120
+ }
121
+ };
122
+ const writeEvent = (evt) => {
123
+ writeBuffer.push(JSON.stringify(evt) + '\n');
124
+ // Flush every 500ms or when buffer reaches 50 entries
125
+ if (writeBuffer.length >= 50) {
126
+ if (writeTimer)
127
+ clearTimeout(writeTimer);
128
+ writeTimer = null;
129
+ flushBuffer();
130
+ }
131
+ else if (!writeTimer) {
132
+ writeTimer = setTimeout(() => {
133
+ writeTimer = null;
134
+ flushBuffer();
135
+ }, 500);
136
+ }
137
+ };
138
+ kernel.on('dispatch', writeEvent);
139
+ kernel.on('result', writeEvent);
140
+ kernel.on('error', writeEvent);
141
+ // SIGHUP: rotate daemon.log (launchd sends this for log rotation)
142
+ process.on('SIGHUP', () => {
143
+ log('Daemon: SIGHUP received, rotating logs');
144
+ rotateLog(dispatchLogPath, logMaxSizeBytes, logMaxFiles);
145
+ rotateLog(daemonLogPath, logMaxSizeBytes, logMaxFiles);
146
+ });
147
+ log(`Daemon: dispatch log at ${dispatchLogPath}`);
148
+ log(`Daemon: log rotation: max ${logMaxSizeBytes / 1024 / 1024}MB, keep ${logMaxFiles} files`);
149
+ }
150
+ // Start transport(s)
151
+ if (daemonMode) {
152
+ // Daemon always starts HTTP
153
+ const http = new HttpAdapter();
154
+ await http.start(kernel, transportConfig);
155
+ adapters.push(http);
156
+ // Optionally also start stdio (for dual-mode)
157
+ if (args.includes('--stdio')) {
158
+ const stdio = new StdioAdapter();
159
+ await stdio.start(kernel, transportConfig);
160
+ adapters.push(stdio);
161
+ }
162
+ // Install graceful shutdown handlers
163
+ installShutdownHandlers(async () => {
164
+ log('Daemon: stopping all transports...');
165
+ await Promise.all(adapters.map(a => a.stop()));
166
+ });
167
+ }
168
+ else if (httpMode) {
169
+ const http = new HttpAdapter();
170
+ await http.start(kernel, transportConfig);
171
+ adapters.push(http);
172
+ }
173
+ else if (args.includes('--bridge')) {
174
+ // Bridge mode: stdio with daemon proxy
175
+ const bridgeIdx = args.indexOf('--bridge');
176
+ const nextArg = args[bridgeIdx + 1];
177
+ // If next arg looks like a URL, use it; otherwise auto-detect
178
+ const explicitUrl = nextArg && nextArg.startsWith('http') ? nextArg : null;
179
+ const daemonUrl = explicitUrl || `http://127.0.0.1:${transportConfig.port || 4888}`;
180
+ const bridge = new BridgeAdapter(daemonUrl);
181
+ await bridge.start(kernel, transportConfig);
182
+ adapters.push(bridge);
183
+ }
184
+ else {
185
+ const stdio = new StdioAdapter();
186
+ await stdio.start(kernel, transportConfig);
187
+ adapters.push(stdio);
188
+ }
189
+ }
190
+ main().catch((error) => {
191
+ console.error('Fatal error:', error);
192
+ removePid(); // Clean up PID on crash
193
+ process.exit(1);
194
+ });
195
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/test.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Test script to verify all Decibel tools work correctly.
4
+ * Run with: npm test
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
package/dist/test.js ADDED
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Test script to verify all Decibel tools work correctly.
4
+ * Run with: npm test
5
+ */
6
+ import { recordDesignDecision } from './tools/designer.js';
7
+ import { recordArchDecision } from './tools/architect.js';
8
+ import { createIssue } from './tools/sentinel.js';
9
+ import { nextActions } from './tools/oracle.js';
10
+ const PROJECT_ID = 'test-project';
11
+ async function testDesigner() {
12
+ console.log('\n=== Testing Designer ===');
13
+ const result = await recordDesignDecision({
14
+ projectId: PROJECT_ID,
15
+ area: 'API',
16
+ summary: 'Use REST for public API endpoints',
17
+ details: 'We decided to use REST instead of GraphQL for the public API because:\n1. Simpler learning curve for API consumers\n2. Better caching support\n3. More predictable rate limiting',
18
+ });
19
+ console.log('Designer result:', JSON.stringify(result, null, 2));
20
+ return result;
21
+ }
22
+ async function testArchitect() {
23
+ console.log('\n=== Testing Architect ===');
24
+ const result = await recordArchDecision({
25
+ projectId: PROJECT_ID,
26
+ change: 'Migrate from monolith to microservices',
27
+ rationale: 'The current monolithic architecture is becoming hard to scale and deploy independently. Microservices will allow teams to deploy features independently and scale specific services based on demand.',
28
+ impact: 'This will require significant refactoring over the next few sprints. Team will need to set up container orchestration (K8s) and service mesh (Istio).',
29
+ });
30
+ console.log('Architect result:', JSON.stringify(result, null, 2));
31
+ return result;
32
+ }
33
+ async function testSentinel() {
34
+ console.log('\n=== Testing Sentinel ===');
35
+ const result = await createIssue({
36
+ projectId: PROJECT_ID,
37
+ severity: 'high',
38
+ title: 'Memory leak in auth service',
39
+ details: 'The auth service shows increasing memory usage over time. After ~24 hours of uptime, memory usage grows from 256MB to 2GB. Suspected cause is unclosed database connections in the session handler.',
40
+ });
41
+ console.log('Sentinel result:', JSON.stringify(result, null, 2));
42
+ return result;
43
+ }
44
+ async function testOracle() {
45
+ console.log('\n=== Testing Oracle ===');
46
+ // First without focus
47
+ const result1 = await nextActions({
48
+ projectId: PROJECT_ID,
49
+ });
50
+ console.log('Oracle result (no focus):', JSON.stringify(result1, null, 2));
51
+ // Then with focus
52
+ const result2 = await nextActions({
53
+ projectId: PROJECT_ID,
54
+ focus: 'sentinel',
55
+ });
56
+ console.log('Oracle result (focus: sentinel):', JSON.stringify(result2, null, 2));
57
+ return result1;
58
+ }
59
+ async function runAllTests() {
60
+ console.log('Starting Decibel Tools tests...');
61
+ console.log('================================');
62
+ try {
63
+ await testDesigner();
64
+ await testArchitect();
65
+ await testSentinel();
66
+ await testOracle();
67
+ console.log('\n================================');
68
+ console.log('All tests completed successfully!');
69
+ console.log('================================\n');
70
+ }
71
+ catch (error) {
72
+ console.error('\nTest failed:', error);
73
+ process.exit(1);
74
+ }
75
+ }
76
+ runAllTests();
77
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ToolSpec } from '../types.js';
2
+ export declare const agenticCompilePackTool: ToolSpec;
3
+ export declare const agenticRenderTool: ToolSpec;
4
+ export declare const agenticLintTool: ToolSpec;
5
+ export declare const agenticGoldenEvalTool: ToolSpec;
6
+ export declare const agenticTools: ToolSpec[];
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/agentic/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiBvC,eAAO,MAAM,sBAAsB,EAAE,QAiCpC,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,QA+C/B,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,QA8C7B,CAAC;AAMF,eAAO,MAAM,qBAAqB,EAAE,QAwCnC,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,QAAQ,EAKlC,CAAC"}