@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,450 @@
1
+ // ============================================================================
2
+ // Facade Definitions — the complete registry of public-facing tool facades
3
+ // ============================================================================
4
+ // Each facade maps a module name + action enum to internal tool handlers.
5
+ // Action names are snake_case. Internal tool names match the kernel's toolMap.
6
+ //
7
+ // To add a new action: add the entry to the relevant facade's `actions` map
8
+ // and ensure the internal tool is registered in src/tools/index.ts.
9
+ // ============================================================================
10
+ // ============================================================================
11
+ // Core Facades (always available)
12
+ // ============================================================================
13
+ export const coreFacades = [
14
+ {
15
+ name: 'sentinel',
16
+ description: 'Work tracking: epics, issues, test specs, code scanning. Actions: create_issue, read_issue, update_issue, close_issue, list_issues, log_epic, list_epics, read_epic, resolve_epic, list_epic_issues, create_test_spec, list_test_specs, compile_tests, audit_policies, scan, scan_data, scan_codebase, scan_config, scan_coverage, auto_link, link_commit, list_linked_commits',
17
+ compactDescription: 'Track epics, issues, test specs, and scan code',
18
+ microEligible: true,
19
+ tier: 'core',
20
+ actions: {
21
+ create_issue: 'sentinel_create_issue',
22
+ read_issue: 'sentinel_read_issue',
23
+ update_issue: 'sentinel_updateIssue',
24
+ close_issue: 'sentinel_close_issue',
25
+ list_issues: 'sentinel_list_repo_issues',
26
+ log_epic: 'sentinel_log_epic',
27
+ list_epics: 'sentinel_list_epics',
28
+ read_epic: 'sentinel_read_epic',
29
+ resolve_epic: 'sentinel_resolve_epic',
30
+ list_epic_issues: 'sentinel_list_epic_issues',
31
+ create_test_spec: 'sentinel_createTestSpec',
32
+ list_test_specs: 'sentinel_listTestSpecs',
33
+ compile_tests: 'sentinel_compileTests',
34
+ audit_policies: 'sentinel_auditPolicies',
35
+ scan: 'sentinel_scan',
36
+ scan_data: 'sentinel_scanData',
37
+ scan_codebase: 'sentinel_scan_codebase',
38
+ scan_config: 'sentinel_scan_config',
39
+ scan_coverage: 'sentinel_scan_coverage',
40
+ auto_link: 'sentinel_auto_link',
41
+ link_commit: 'sentinel_link_commit',
42
+ list_linked_commits: 'sentinel_list_linked_commits',
43
+ },
44
+ },
45
+ {
46
+ name: 'architect',
47
+ description: 'Architecture decisions & policies. Actions: create_adr, read_adr, list_adrs, create_policy, read_policy, list_policies, compile_oversight, record_arch_decision',
48
+ compactDescription: 'Record ADRs, policies, and architecture decisions',
49
+ microEligible: false,
50
+ tier: 'core',
51
+ actions: {
52
+ create_adr: 'architect_createAdr',
53
+ read_adr: 'architect_readAdr',
54
+ list_adrs: 'architect_listAdrs',
55
+ create_policy: 'architect_createPolicy',
56
+ read_policy: 'architect_read_policy',
57
+ list_policies: 'architect_listPolicies',
58
+ compile_oversight: 'architect_compileOversight',
59
+ record_arch_decision: 'architect_record_arch_decision',
60
+ },
61
+ },
62
+ {
63
+ name: 'dojo',
64
+ description: 'Feature incubation: wishes, proposals, experiments, benchmarks. Actions: add_wish, list_wishes, create_proposal, scaffold_experiment, run_experiment, read_artifact, read_results, can_graduate, list, projects, bench',
65
+ compactDescription: 'Incubate ideas with wishes, proposals, experiments',
66
+ microEligible: false,
67
+ tier: 'core',
68
+ actions: {
69
+ add_wish: 'dojo_add_wish',
70
+ list_wishes: 'dojo_list_wishes',
71
+ create_proposal: 'dojo_create_proposal',
72
+ scaffold_experiment: 'dojo_scaffold_experiment',
73
+ run_experiment: 'dojo_run_experiment',
74
+ read_artifact: 'dojo_read_artifact',
75
+ read_results: 'dojo_read_results',
76
+ can_graduate: 'dojo_can_graduate',
77
+ list: 'dojo_list',
78
+ projects: 'dojo_projects',
79
+ bench: 'dojo_bench',
80
+ },
81
+ },
82
+ {
83
+ name: 'designer',
84
+ description: 'Design decisions, critiques, tokens, lateral thinking. Actions: record_decision, list_principles, upsert_principle, crit, review_figma, sync_tokens, check_parity, lateral_session, lateral_apply, lateral_close, list_crits',
85
+ compactDescription: 'Design decisions, crits, and design tokens',
86
+ microEligible: false,
87
+ tier: 'core',
88
+ actions: {
89
+ record_decision: 'designer_record_design_decision',
90
+ list_principles: 'designer_list_principles',
91
+ upsert_principle: 'designer_upsert_principle',
92
+ crit: 'designer_crit',
93
+ review_figma: 'designer_review_figma',
94
+ sync_tokens: 'designer_sync_tokens',
95
+ check_parity: 'designer_check_parity',
96
+ lateral_session: 'designer_lateral_session',
97
+ lateral_apply: 'designer_lateral_apply',
98
+ lateral_close: 'designer_lateral_close',
99
+ list_crits: 'designer_list_crits',
100
+ },
101
+ },
102
+ {
103
+ name: 'git',
104
+ description: 'Git history, changes, and issue linking. Actions: log_recent, changed_files, find_removal, blame_context, tags, status, find_linked_issues',
105
+ compactDescription: 'Git history, diffs, and forensics',
106
+ microEligible: true,
107
+ tier: 'core',
108
+ actions: {
109
+ log_recent: 'git_log_recent',
110
+ changed_files: 'git_changed_files',
111
+ find_removal: 'git_find_removal',
112
+ blame_context: 'git_blame_context',
113
+ tags: 'git_tags',
114
+ status: 'git_status',
115
+ find_linked_issues: 'git_find_linked_issues',
116
+ },
117
+ },
118
+ {
119
+ name: 'workflow',
120
+ description: 'High-level composite operations. Actions: status, preflight, ship, investigate',
121
+ compactDescription: 'Status, preflight, ship, investigate',
122
+ microEligible: true,
123
+ tier: 'core',
124
+ actions: {
125
+ status: 'workflow_status',
126
+ preflight: 'workflow_preflight',
127
+ ship: 'workflow_ship',
128
+ investigate: 'workflow_investigate',
129
+ },
130
+ },
131
+ {
132
+ name: 'oracle',
133
+ description: 'Strategic planning, health scores, and recommendations. Actions: next_actions, portfolio_summary, hygiene_report, roadmap',
134
+ compactDescription: 'AI-powered priorities and project health',
135
+ microEligible: false,
136
+ tier: 'core',
137
+ actions: {
138
+ next_actions: 'oracle_next_actions',
139
+ portfolio_summary: 'oracle_portfolio_summary',
140
+ hygiene_report: 'oracle_hygiene_report',
141
+ roadmap: 'oracle_roadmap',
142
+ },
143
+ },
144
+ {
145
+ name: 'roadmap',
146
+ description: 'Objectives, milestones, and epic tracking. Actions: init, list, read, list_objectives, read_objective, link_epic, get_epic_context, get_health',
147
+ compactDescription: 'Manage roadmap objectives and milestones',
148
+ microEligible: false,
149
+ tier: 'core',
150
+ actions: {
151
+ init: 'roadmap_init',
152
+ list: 'roadmap_list',
153
+ read: 'roadmap_read',
154
+ list_objectives: 'roadmap_listObjectives',
155
+ read_objective: 'roadmap_read_objective',
156
+ link_epic: 'roadmap_linkEpic',
157
+ get_epic_context: 'roadmap_getEpicContext',
158
+ get_health: 'roadmap_getHealth',
159
+ },
160
+ },
161
+ {
162
+ name: 'vector',
163
+ description: 'Agent run tracking, drift detection, and prompt scoring. Actions: create_run, read_run, list_runs, log_event, complete_run, checkpoint, context_pack, assumptions, score_prompt, trace',
164
+ compactDescription: 'Track agent runs, events, and drift',
165
+ microEligible: false,
166
+ tier: 'core',
167
+ actions: {
168
+ create_run: 'vector_create_run',
169
+ read_run: 'vector_read_run',
170
+ list_runs: 'vector_list_runs',
171
+ log_event: 'vector_log_event',
172
+ complete_run: 'vector_complete_run',
173
+ checkpoint: 'vector_agent_checkpoint',
174
+ context_pack: 'vector_agent_context_pack',
175
+ assumptions: 'vector_agent_assumptions',
176
+ score_prompt: 'vector_score_prompt',
177
+ trace: 'vector_trace',
178
+ },
179
+ },
180
+ {
181
+ name: 'context',
182
+ description: 'Persistent memory: pinned facts, events, artifacts. Actions: list, pin, unpin, refresh, event_append, event_search, artifact_list, artifact_read',
183
+ compactDescription: 'Pin facts, log events, manage artifacts',
184
+ microEligible: true,
185
+ tier: 'core',
186
+ actions: {
187
+ list: 'decibel_context_list',
188
+ pin: 'decibel_context_pin',
189
+ unpin: 'decibel_context_unpin',
190
+ refresh: 'decibel_context_refresh',
191
+ event_append: 'decibel_event_append',
192
+ event_search: 'decibel_event_search',
193
+ artifact_list: 'decibel_artifact_list',
194
+ artifact_read: 'decibel_artifact_read',
195
+ },
196
+ },
197
+ {
198
+ name: 'auditor',
199
+ description: 'Code quality, health metrics, and refactor scoring. Actions: init, triage, refactor_score, naming_audit, log_health, health_dashboard, health_history',
200
+ compactDescription: 'Code quality audits and health metrics',
201
+ microEligible: false,
202
+ tier: 'core',
203
+ actions: {
204
+ init: 'auditor_init',
205
+ triage: 'auditor_triage',
206
+ refactor_score: 'auditor_refactor_score',
207
+ naming_audit: 'auditor_naming_audit',
208
+ log_health: 'auditor_log_health',
209
+ health_dashboard: 'auditor_health_dashboard',
210
+ health_history: 'auditor_health_history',
211
+ },
212
+ },
213
+ {
214
+ name: 'forecast',
215
+ description: 'Task estimation, decomposition, and capacity planning. Actions: parse, decompose, plan, record, calibration',
216
+ compactDescription: 'Estimate tasks and plan capacity',
217
+ microEligible: false,
218
+ tier: 'core',
219
+ actions: {
220
+ parse: 'forecast_parse',
221
+ decompose: 'forecast_decompose',
222
+ plan: 'forecast_plan',
223
+ record: 'forecast_record',
224
+ calibration: 'forecast_calibration',
225
+ },
226
+ },
227
+ {
228
+ name: 'velocity',
229
+ description: 'Productivity metrics, trends, and contributor stats. Actions: snapshot, list, trends, contributor, install_hook, uninstall_hook',
230
+ compactDescription: 'Track productivity and commit velocity',
231
+ microEligible: false,
232
+ tier: 'core',
233
+ actions: {
234
+ snapshot: 'velocity_snapshot',
235
+ list: 'velocity_list',
236
+ trends: 'velocity_trends',
237
+ contributor: 'velocity_contributor',
238
+ install_hook: 'velocity_install_hook',
239
+ uninstall_hook: 'velocity_uninstall_hook',
240
+ },
241
+ },
242
+ {
243
+ name: 'coordinator',
244
+ description: 'Multi-agent coordination: locking, heartbeat, logging, messaging. Actions: register, lock, unlock, status, heartbeat, log, send, inbox, ack',
245
+ compactDescription: 'Agent coordination, locking, and messaging',
246
+ microEligible: true,
247
+ tier: 'core',
248
+ actions: {
249
+ register: 'coord_register',
250
+ lock: 'coord_lock',
251
+ unlock: 'coord_unlock',
252
+ status: 'coord_status',
253
+ heartbeat: 'coord_heartbeat',
254
+ log: 'coord_log',
255
+ send: 'coord_send',
256
+ inbox: 'coord_inbox',
257
+ ack: 'coord_ack',
258
+ },
259
+ },
260
+ {
261
+ name: 'friction',
262
+ description: 'Track recurring pain points and workarounds. Actions: log, list, bump, resolve',
263
+ compactDescription: 'Log and track recurring pain points',
264
+ microEligible: false,
265
+ tier: 'core',
266
+ actions: {
267
+ log: 'friction_log',
268
+ list: 'friction_list',
269
+ bump: 'friction_bump',
270
+ resolve: 'friction_resolve',
271
+ },
272
+ },
273
+ {
274
+ name: 'registry',
275
+ description: 'Project discovery and management. Actions: add, remove, list, alias, resolve, init, snapshot, status',
276
+ compactDescription: 'Manage project registry and discovery',
277
+ microEligible: false,
278
+ tier: 'core',
279
+ actions: {
280
+ add: 'registry_add',
281
+ remove: 'registry_remove',
282
+ list: 'registry_list',
283
+ alias: 'registry_alias',
284
+ resolve: 'registry_resolve',
285
+ init: 'project_init',
286
+ snapshot: 'project_snapshot',
287
+ status: 'project_status',
288
+ },
289
+ },
290
+ {
291
+ name: 'feedback',
292
+ description: 'Submit and view tool feedback. Actions: submit, list',
293
+ compactDescription: 'Tool feedback',
294
+ microEligible: false,
295
+ tier: 'core',
296
+ actions: {
297
+ submit: 'feedback_submit',
298
+ list: 'feedback_list',
299
+ },
300
+ },
301
+ {
302
+ name: 'learnings',
303
+ description: 'Technical knowledge and lessons learned. Actions: append, list',
304
+ compactDescription: 'Record and recall learnings',
305
+ microEligible: false,
306
+ tier: 'core',
307
+ actions: {
308
+ append: 'learnings_append',
309
+ list: 'learnings_list',
310
+ },
311
+ },
312
+ {
313
+ name: 'provenance',
314
+ description: 'Audit trail for tool operations. Actions: list',
315
+ compactDescription: 'View audit trail',
316
+ microEligible: false,
317
+ tier: 'core',
318
+ actions: {
319
+ list: 'provenance_list',
320
+ },
321
+ },
322
+ {
323
+ name: 'bench',
324
+ description: 'Benchmark suites and comparison. Actions: run, compare',
325
+ compactDescription: 'Run and compare benchmarks',
326
+ microEligible: false,
327
+ tier: 'core',
328
+ actions: {
329
+ run: 'decibel_bench',
330
+ compare: 'decibel_bench_compare',
331
+ },
332
+ },
333
+ {
334
+ name: 'guardian',
335
+ description: 'Security scanning: dependency audits, secret detection, HTTP surface checks, config review. Actions: scan_deps, scan_secrets, scan_http, scan_config, report',
336
+ compactDescription: 'Security scanning and vulnerability detection',
337
+ microEligible: false,
338
+ tier: 'core',
339
+ actions: {
340
+ scan_deps: 'guardian_scan_deps',
341
+ scan_secrets: 'guardian_scan_secrets',
342
+ scan_http: 'guardian_scan_http',
343
+ scan_config: 'guardian_scan_config',
344
+ report: 'guardian_report',
345
+ },
346
+ },
347
+ ];
348
+ // ============================================================================
349
+ // Pro Facades (gated by DECIBEL_PRO)
350
+ // ============================================================================
351
+ export const proFacades = [
352
+ {
353
+ name: 'voice',
354
+ description: 'Voice inbox and command processing. Actions: inbox_add, inbox_list, inbox_process, inbox_sync, command',
355
+ compactDescription: 'Voice inbox and commands',
356
+ microEligible: false,
357
+ tier: 'pro',
358
+ actions: {
359
+ inbox_add: 'voice_inbox_add',
360
+ inbox_list: 'voice_inbox_list',
361
+ inbox_process: 'voice_inbox_process',
362
+ inbox_sync: 'voice_inbox_sync',
363
+ command: 'voice_command',
364
+ },
365
+ },
366
+ {
367
+ name: 'studio',
368
+ description: 'Creative asset generation: images, video, 3D. Actions: generate_image, get_image_status, create_artifact, update_artifact, list_artifacts, create_project, read_project, list_projects, list_tasks, list_jobs, claim_job, update_job, register_device, heartbeat, sync_events',
369
+ compactDescription: 'Generate images, video, and 3D assets',
370
+ microEligible: false,
371
+ tier: 'pro',
372
+ actions: {
373
+ generate_image: 'studio_generate_image',
374
+ get_image_status: 'studio_get_image_status',
375
+ create_artifact: 'studio_create_artifact',
376
+ update_artifact: 'studio_update_artifact',
377
+ list_artifacts: 'studio_list_artifacts',
378
+ create_project: 'studio_create_project',
379
+ read_project: 'studio_read_project',
380
+ list_projects: 'studio_list_projects',
381
+ list_tasks: 'studio_list_tasks',
382
+ list_jobs: 'studio_list_jobs',
383
+ claim_job: 'studio_claim_job',
384
+ update_job: 'studio_update_job',
385
+ register_device: 'studio_register_device',
386
+ heartbeat: 'studio_heartbeat',
387
+ sync_events: 'studio_sync_events',
388
+ },
389
+ },
390
+ {
391
+ name: 'corpus',
392
+ description: 'Pattern and playbook search across codebase. Actions: search, status',
393
+ compactDescription: 'Search patterns and playbooks',
394
+ microEligible: false,
395
+ tier: 'pro',
396
+ actions: {
397
+ search: 'corpus_search',
398
+ status: 'corpus_status',
399
+ },
400
+ },
401
+ {
402
+ name: 'agentic',
403
+ description: 'Agentic operations: render, lint, compile, evaluation. Actions: render, lint, compile_pack, golden_eval',
404
+ compactDescription: 'Render, lint, compile, evaluate',
405
+ microEligible: false,
406
+ tier: 'pro',
407
+ actions: {
408
+ render: 'agentic_render',
409
+ lint: 'agentic_lint',
410
+ compile_pack: 'agentic_compile_pack',
411
+ golden_eval: 'agentic_golden_eval',
412
+ },
413
+ },
414
+ ];
415
+ // ============================================================================
416
+ // App Facades (Decibel internal — gated by DECIBEL_APPS)
417
+ // ============================================================================
418
+ export const appFacades = [
419
+ {
420
+ name: 'senken',
421
+ description: 'Trade analysis: strategy summaries, giveback reports, grading. Actions: trade_summary, giveback_report, trade_review, list_overrides, apply_override',
422
+ compactDescription: 'Trading strategy analysis (Postgres)',
423
+ microEligible: false,
424
+ tier: 'apps',
425
+ actions: {
426
+ trade_summary: 'senken_trade_summary',
427
+ giveback_report: 'senken_giveback_report',
428
+ trade_review: 'senken_trade_review',
429
+ list_overrides: 'senken_list_overrides',
430
+ apply_override: 'senken_apply_override',
431
+ },
432
+ },
433
+ {
434
+ name: 'deck',
435
+ description: 'Trading card buylist search and price comparison. Actions: list, search, stores',
436
+ compactDescription: 'Card buylist search',
437
+ microEligible: false,
438
+ tier: 'apps',
439
+ actions: {
440
+ list: 'deck_buylist_list',
441
+ search: 'deck_buylist_search',
442
+ stores: 'deck_buylist_stores',
443
+ },
444
+ },
445
+ ];
446
+ // ============================================================================
447
+ // All Facades
448
+ // ============================================================================
449
+ export const allFacadeDefinitions = [...coreFacades, ...proFacades, ...appFacades];
450
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/facades/definitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export type { FacadeSpec, DetailTier, McpToolDefinition } from './types.js';
2
+ export { coreFacades, proFacades, appFacades, allFacadeDefinitions } from './definitions.js';
3
+ import type { FacadeSpec, DetailTier, McpToolDefinition } from './types.js';
4
+ import type { ToolSpec } from '../tools/types.js';
5
+ /**
6
+ * Build MCP tool definitions from facade specs.
7
+ * Each facade becomes one MCP tool with an `action` enum + flat params.
8
+ *
9
+ * When toolMap is provided, descriptions include per-action parameter signatures
10
+ * so LLMs know exactly what fields each action accepts.
11
+ */
12
+ export declare function buildMcpDefinitions(facades: FacadeSpec[], tier?: DetailTier, toolMap?: Map<string, ToolSpec>): McpToolDefinition[];
13
+ /**
14
+ * Build a reverse map: internal tool name → { facade, action }
15
+ * Used for backward compatibility — when someone calls "sentinel_create_issue"
16
+ * directly, the kernel can still route it.
17
+ */
18
+ export declare function buildReverseMap(facades: FacadeSpec[]): Map<string, {
19
+ facade: string;
20
+ action: string;
21
+ }>;
22
+ /**
23
+ * Validate that all facade action mappings point to tools that exist
24
+ * in the kernel's tool map. Returns array of missing tool names.
25
+ */
26
+ export declare function validateFacades(facades: FacadeSpec[], toolMap: Map<string, unknown>): string[];
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/facades/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7F,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AA4DlD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,UAAU,EAAE,EACrB,IAAI,GAAE,UAAmB,EACzB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAC9B,iBAAiB,EAAE,CA+BrB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,UAAU,EAAE,GACpB,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAQjD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,EAAE,CAUV"}
@@ -0,0 +1,124 @@
1
+ // ============================================================================
2
+ // Facade Registry — public API for the facade system
3
+ // ============================================================================
4
+ export { coreFacades, proFacades, appFacades, allFacadeDefinitions } from './definitions.js';
5
+ /**
6
+ * Build a compact signature string for one action from its internal tool schema.
7
+ * Example: "create_issue(severity: low|med|high|critical, title, details, epic_id?)"
8
+ */
9
+ function buildActionSignature(actionName, tool) {
10
+ const schema = tool.definition.inputSchema;
11
+ const required = new Set(schema.required || []);
12
+ const parts = [];
13
+ for (const [name, prop] of Object.entries(schema.properties)) {
14
+ // Skip common implicit params — they're always optional and obvious
15
+ if (name === 'projectId' || name === 'project_id')
16
+ continue;
17
+ const p = prop;
18
+ const isRequired = required.has(name);
19
+ const isArray = p.type === 'array';
20
+ const hasEnum = Array.isArray(p.enum);
21
+ let sig = name;
22
+ if (isArray)
23
+ sig += '[]';
24
+ if (hasEnum)
25
+ sig += ': ' + p.enum.join('|');
26
+ if (!isRequired)
27
+ sig += '?';
28
+ parts.push(sig);
29
+ }
30
+ return `${actionName}(${parts.join(', ')})`;
31
+ }
32
+ /**
33
+ * Build a description with per-action parameter signatures.
34
+ * Looks up each action's internal tool to extract its inputSchema.
35
+ */
36
+ function buildSignatureDescription(facade, toolMap) {
37
+ const lines = [];
38
+ // Keep the first sentence from the original description (the domain summary)
39
+ const dotIdx = facade.description.indexOf('.');
40
+ const summary = dotIdx > 0 ? facade.description.slice(0, dotIdx + 1) : facade.description;
41
+ lines.push(summary);
42
+ lines.push('Actions:');
43
+ for (const [actionName, internalName] of Object.entries(facade.actions)) {
44
+ const tool = toolMap.get(internalName);
45
+ if (tool) {
46
+ lines.push(`- ${buildActionSignature(actionName, tool)}`);
47
+ }
48
+ else {
49
+ // Fallback: just list the action name if tool not found
50
+ lines.push(`- ${actionName}()`);
51
+ }
52
+ }
53
+ return lines.join('\n');
54
+ }
55
+ /**
56
+ * Build MCP tool definitions from facade specs.
57
+ * Each facade becomes one MCP tool with an `action` enum + flat params.
58
+ *
59
+ * When toolMap is provided, descriptions include per-action parameter signatures
60
+ * so LLMs know exactly what fields each action accepts.
61
+ */
62
+ export function buildMcpDefinitions(facades, tier = 'full', toolMap) {
63
+ return facades
64
+ .filter(f => tier !== 'micro' || f.microEligible)
65
+ .map(f => {
66
+ // Build description: use signatures when toolMap available and tier is full
67
+ let description;
68
+ if (tier === 'compact') {
69
+ description = f.compactDescription;
70
+ }
71
+ else if (toolMap) {
72
+ description = buildSignatureDescription(f, toolMap);
73
+ }
74
+ else {
75
+ description = f.description;
76
+ }
77
+ return {
78
+ name: f.name,
79
+ description,
80
+ inputSchema: {
81
+ type: 'object',
82
+ properties: {
83
+ action: {
84
+ type: 'string',
85
+ enum: Object.keys(f.actions),
86
+ description: 'The operation to perform',
87
+ },
88
+ },
89
+ required: ['action'],
90
+ additionalProperties: true,
91
+ },
92
+ };
93
+ });
94
+ }
95
+ /**
96
+ * Build a reverse map: internal tool name → { facade, action }
97
+ * Used for backward compatibility — when someone calls "sentinel_create_issue"
98
+ * directly, the kernel can still route it.
99
+ */
100
+ export function buildReverseMap(facades) {
101
+ const map = new Map();
102
+ for (const f of facades) {
103
+ for (const [action, internalName] of Object.entries(f.actions)) {
104
+ map.set(internalName, { facade: f.name, action });
105
+ }
106
+ }
107
+ return map;
108
+ }
109
+ /**
110
+ * Validate that all facade action mappings point to tools that exist
111
+ * in the kernel's tool map. Returns array of missing tool names.
112
+ */
113
+ export function validateFacades(facades, toolMap) {
114
+ const missing = [];
115
+ for (const f of facades) {
116
+ for (const [action, internalName] of Object.entries(f.actions)) {
117
+ if (!toolMap.has(internalName)) {
118
+ missing.push(`${f.name}.${action} → ${internalName}`);
119
+ }
120
+ }
121
+ }
122
+ return missing;
123
+ }
124
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/facades/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Facade specification — defines one MCP-visible tool that dispatches
3
+ * to multiple internal handlers based on the `action` parameter.
4
+ */
5
+ export interface FacadeSpec {
6
+ /** MCP tool name (e.g. "sentinel", "architect") */
7
+ name: string;
8
+ /** Full description for capable models (Claude, GPT-4) */
9
+ description: string;
10
+ /** One-line description for mid-range SLMs (7-13B) */
11
+ compactDescription: string;
12
+ /** Whether to include in micro tier (tiny SLMs, edge, mobile) */
13
+ microEligible: boolean;
14
+ /** Availability tier: core (public), pro (DECIBEL_PRO), apps (DECIBEL_APPS — internal only) */
15
+ tier: 'core' | 'pro' | 'apps';
16
+ /**
17
+ * Action name → internal tool name mapping.
18
+ * Keys are the enum values the LLM sends (snake_case).
19
+ * Values are the internal tool names in the kernel's toolMap.
20
+ *
21
+ * Example: { "create_issue": "sentinel_create_issue", "list_epics": "sentinel_list_epics" }
22
+ */
23
+ actions: Record<string, string>;
24
+ }
25
+ /** Detail tier for tool descriptions */
26
+ export type DetailTier = 'full' | 'compact' | 'micro';
27
+ /** MCP tool definition shape (matches ToolSpec['definition']) */
28
+ export interface McpToolDefinition {
29
+ name: string;
30
+ description: string;
31
+ inputSchema: {
32
+ type: 'object';
33
+ properties: Record<string, unknown>;
34
+ required?: string[];
35
+ additionalProperties?: boolean;
36
+ };
37
+ }
38
+ //# sourceMappingURL=types.d.ts.map