@decaf-ts/mcp-server 0.4.1 → 0.4.6

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 (538) hide show
  1. package/LICENSE.md +31 -0
  2. package/dist/mcp-server.cjs +2 -2328
  3. package/dist/mcp-server.cjs.map +1 -0
  4. package/dist/mcp-server.js +2 -0
  5. package/dist/mcp-server.js.map +1 -0
  6. package/lib/bin/cli.cjs +7 -35
  7. package/lib/bin/cli.d.ts +0 -24
  8. package/lib/bin/cli.js.map +1 -0
  9. package/lib/builders/builder.cjs +91 -0
  10. package/lib/builders/builder.d.ts +25 -0
  11. package/lib/builders/builder.js.map +1 -0
  12. package/lib/{mcp/resources → builders}/index.cjs +5 -2
  13. package/lib/builders/index.d.ts +4 -0
  14. package/lib/builders/index.js.map +1 -0
  15. package/lib/builders/prompt-builder.cjs +76 -0
  16. package/lib/builders/prompt-builder.d.ts +12 -0
  17. package/lib/builders/prompt-builder.js.map +1 -0
  18. package/lib/builders/resource-builder.cjs +83 -0
  19. package/lib/builders/resource-builder.d.ts +14 -0
  20. package/lib/builders/resource-builder.js.map +1 -0
  21. package/lib/builders/tool-builder.cjs +104 -0
  22. package/lib/builders/tool-builder.d.ts +16 -0
  23. package/lib/builders/tool-builder.js.map +1 -0
  24. package/lib/constants.cjs +28 -30
  25. package/lib/constants.d.ts +19 -24
  26. package/lib/constants.js.map +1 -0
  27. package/lib/environment.cjs +32 -0
  28. package/lib/environment.d.ts +71 -0
  29. package/lib/environment.js.map +1 -0
  30. package/lib/esm/bin/cli.d.ts +0 -24
  31. package/lib/esm/bin/cli.js +7 -35
  32. package/lib/esm/bin/cli.js.map +1 -0
  33. package/lib/esm/builders/builder.d.ts +25 -0
  34. package/lib/esm/builders/builder.js +86 -0
  35. package/lib/esm/builders/builder.js.map +1 -0
  36. package/lib/esm/builders/index.d.ts +4 -0
  37. package/lib/esm/builders/index.js +5 -0
  38. package/lib/esm/builders/index.js.map +1 -0
  39. package/lib/esm/builders/prompt-builder.d.ts +12 -0
  40. package/lib/esm/builders/prompt-builder.js +72 -0
  41. package/lib/esm/builders/prompt-builder.js.map +1 -0
  42. package/lib/esm/builders/resource-builder.d.ts +14 -0
  43. package/lib/esm/builders/resource-builder.js +79 -0
  44. package/lib/esm/builders/resource-builder.js.map +1 -0
  45. package/lib/esm/builders/tool-builder.d.ts +16 -0
  46. package/lib/esm/builders/tool-builder.js +100 -0
  47. package/lib/esm/builders/tool-builder.js.map +1 -0
  48. package/lib/esm/constants.d.ts +19 -24
  49. package/lib/esm/constants.js +27 -29
  50. package/lib/esm/constants.js.map +1 -0
  51. package/lib/esm/environment.d.ts +71 -0
  52. package/lib/esm/environment.js +29 -0
  53. package/lib/esm/environment.js.map +1 -0
  54. package/lib/esm/index.d.ts +3 -10
  55. package/lib/esm/index.js +4 -11
  56. package/lib/esm/index.js.map +1 -0
  57. package/lib/esm/mcp-server.d.ts +10 -0
  58. package/lib/esm/mcp-server.js +189 -0
  59. package/lib/esm/mcp-server.js.map +1 -0
  60. package/lib/esm/modules/template-module/index.d.ts +6 -0
  61. package/lib/esm/modules/template-module/index.js +4 -0
  62. package/lib/esm/modules/template-module/index.js.map +1 -0
  63. package/lib/esm/prompts/code/constants.d.ts +1 -0
  64. package/lib/esm/prompts/code/constants.js +2 -0
  65. package/lib/esm/prompts/code/constants.js.map +1 -0
  66. package/lib/esm/prompts/code/design-patterns/builder.d.ts +2 -0
  67. package/lib/esm/prompts/code/design-patterns/builder.js +118 -0
  68. package/lib/esm/prompts/code/design-patterns/builder.js.map +1 -0
  69. package/lib/esm/prompts/code/design-patterns/constants.d.ts +1 -0
  70. package/lib/esm/prompts/code/design-patterns/constants.js +3 -0
  71. package/lib/esm/prompts/code/design-patterns/constants.js.map +1 -0
  72. package/lib/esm/prompts/example-prompt/index.d.ts +2 -0
  73. package/lib/esm/prompts/example-prompt/index.js +18 -0
  74. package/lib/esm/prompts/example-prompt/index.js.map +1 -0
  75. package/lib/esm/prompts/index.d.ts +2 -0
  76. package/lib/esm/prompts/index.js +26 -0
  77. package/lib/esm/prompts/index.js.map +1 -0
  78. package/lib/esm/prompts/interactive-jsdoc/index.d.ts +2 -0
  79. package/lib/esm/prompts/interactive-jsdoc/index.js +18 -0
  80. package/lib/esm/prompts/interactive-jsdoc/index.js.map +1 -0
  81. package/lib/esm/prompts/jsdocs/class-prompt.d.ts +2 -0
  82. package/lib/esm/prompts/jsdocs/class-prompt.js +52 -0
  83. package/lib/esm/prompts/jsdocs/class-prompt.js.map +1 -0
  84. package/lib/esm/prompts/jsdocs/const-prompt.d.ts +2 -0
  85. package/lib/esm/prompts/jsdocs/const-prompt.js +24 -0
  86. package/lib/esm/prompts/jsdocs/const-prompt.js.map +1 -0
  87. package/lib/esm/prompts/jsdocs/constants.d.ts +4 -0
  88. package/lib/esm/prompts/jsdocs/constants.js +46 -0
  89. package/lib/esm/prompts/jsdocs/constants.js.map +1 -0
  90. package/lib/esm/prompts/jsdocs/decorator-prompt.d.ts +2 -0
  91. package/lib/esm/prompts/jsdocs/decorator-prompt.js +42 -0
  92. package/lib/esm/prompts/jsdocs/decorator-prompt.js.map +1 -0
  93. package/lib/esm/prompts/jsdocs/enum-prompt.d.ts +2 -0
  94. package/lib/esm/prompts/jsdocs/enum-prompt.js +24 -0
  95. package/lib/esm/prompts/jsdocs/enum-prompt.js.map +1 -0
  96. package/lib/esm/prompts/jsdocs/function-prompt.d.ts +2 -0
  97. package/lib/esm/prompts/jsdocs/function-prompt.js +43 -0
  98. package/lib/esm/prompts/jsdocs/function-prompt.js.map +1 -0
  99. package/lib/esm/prompts/jsdocs/interface-prompt.d.ts +2 -0
  100. package/lib/esm/prompts/jsdocs/interface-prompt.js +24 -0
  101. package/lib/esm/prompts/jsdocs/interface-prompt.js.map +1 -0
  102. package/lib/esm/prompts/jsdocs/types-prompt.d.ts +2 -0
  103. package/lib/esm/prompts/jsdocs/types-prompt.js +24 -0
  104. package/lib/esm/prompts/jsdocs/types-prompt.js.map +1 -0
  105. package/lib/esm/resources/example-resource/index.d.ts +2 -0
  106. package/lib/esm/resources/example-resource/index.js +19 -0
  107. package/lib/esm/resources/example-resource/index.js.map +1 -0
  108. package/lib/esm/resources/index.d.ts +2 -0
  109. package/lib/esm/resources/index.js +4 -0
  110. package/lib/esm/resources/index.js.map +1 -0
  111. package/lib/esm/resources/repo-metadata/index.d.ts +2 -0
  112. package/lib/esm/resources/repo-metadata/index.js +25 -0
  113. package/lib/esm/resources/repo-metadata/index.js.map +1 -0
  114. package/lib/esm/tools/ast/ts-ast-tool.d.ts +2 -0
  115. package/lib/esm/tools/ast/ts-ast-tool.js +67 -0
  116. package/lib/esm/tools/ast/ts-ast-tool.js.map +1 -0
  117. package/lib/esm/tools/ast/types.d.ts +105 -0
  118. package/lib/esm/tools/ast/types.js +33 -0
  119. package/lib/esm/tools/ast/types.js.map +1 -0
  120. package/lib/esm/tools/ast/utils.d.ts +5 -0
  121. package/lib/esm/tools/ast/utils.js +58 -0
  122. package/lib/esm/tools/ast/utils.js.map +1 -0
  123. package/lib/esm/tools/ast-jsdoc-tools/apply.d.ts +6 -0
  124. package/lib/esm/tools/ast-jsdoc-tools/apply.js +29 -0
  125. package/lib/esm/tools/ast-jsdoc-tools/apply.js.map +1 -0
  126. package/lib/esm/tools/ast-jsdoc-tools/cli.js +33 -0
  127. package/lib/esm/tools/ast-jsdoc-tools/cli.js.map +1 -0
  128. package/lib/esm/tools/ast-jsdoc-tools/enumerator.d.ts +1 -0
  129. package/lib/esm/tools/ast-jsdoc-tools/enumerator.js +25 -0
  130. package/lib/esm/tools/ast-jsdoc-tools/enumerator.js.map +1 -0
  131. package/lib/esm/tools/ast-jsdoc-tools/fileRunner.d.ts +11 -0
  132. package/lib/esm/tools/ast-jsdoc-tools/fileRunner.js +29 -0
  133. package/lib/esm/tools/ast-jsdoc-tools/fileRunner.js.map +1 -0
  134. package/lib/esm/tools/ast-jsdoc-tools/formatter.d.ts +6 -0
  135. package/lib/esm/tools/ast-jsdoc-tools/formatter.js +18 -0
  136. package/lib/esm/tools/ast-jsdoc-tools/formatter.js.map +1 -0
  137. package/lib/esm/tools/ast-jsdoc-tools/generator.d.ts +12 -0
  138. package/lib/esm/tools/ast-jsdoc-tools/generator.js +55 -0
  139. package/lib/esm/tools/ast-jsdoc-tools/generator.js.map +1 -0
  140. package/lib/esm/tools/ast-jsdoc-tools/index.d.ts +7 -0
  141. package/lib/esm/tools/ast-jsdoc-tools/index.js +29 -0
  142. package/lib/esm/tools/ast-jsdoc-tools/index.js.map +1 -0
  143. package/lib/esm/tools/ast-jsdoc-tools/interactive.d.ts +1 -0
  144. package/lib/esm/tools/ast-jsdoc-tools/interactive.js +7 -0
  145. package/lib/esm/tools/ast-jsdoc-tools/interactive.js.map +1 -0
  146. package/lib/esm/tools/ast-jsdoc-tools/parser.d.ts +13 -0
  147. package/lib/esm/tools/ast-jsdoc-tools/parser.js +71 -0
  148. package/lib/esm/tools/ast-jsdoc-tools/parser.js.map +1 -0
  149. package/lib/esm/tools/ast-jsdoc-tools/patch.d.ts +2 -0
  150. package/lib/esm/tools/ast-jsdoc-tools/patch.js +23 -0
  151. package/lib/esm/tools/ast-jsdoc-tools/patch.js.map +1 -0
  152. package/lib/esm/tools/ast-jsdoc-tools/prompts/loader.d.ts +10 -0
  153. package/lib/esm/tools/ast-jsdoc-tools/prompts/loader.js +26 -0
  154. package/lib/esm/tools/ast-jsdoc-tools/prompts/loader.js.map +1 -0
  155. package/lib/esm/tools/ast-jsdoc-tools/repoRunner.d.ts +16 -0
  156. package/lib/esm/tools/ast-jsdoc-tools/repoRunner.js +61 -0
  157. package/lib/esm/tools/ast-jsdoc-tools/repoRunner.js.map +1 -0
  158. package/lib/esm/tools/ast-jsdoc-tools/tools/jsdoc-generator.d.ts +5 -0
  159. package/lib/esm/tools/ast-jsdoc-tools/tools/jsdoc-generator.js +78 -0
  160. package/lib/esm/tools/ast-jsdoc-tools/tools/jsdoc-generator.js.map +1 -0
  161. package/lib/esm/tools/ast-jsdoc-tools/utils/conflict-detector.d.ts +5 -0
  162. package/lib/esm/tools/ast-jsdoc-tools/utils/conflict-detector.js +30 -0
  163. package/lib/esm/tools/ast-jsdoc-tools/utils/conflict-detector.js.map +1 -0
  164. package/lib/esm/tools/ast-jsdoc-tools/utils/context-schema.d.ts +7 -0
  165. package/lib/esm/tools/ast-jsdoc-tools/utils/context-schema.js +29 -0
  166. package/lib/esm/tools/ast-jsdoc-tools/utils/context-schema.js.map +1 -0
  167. package/lib/esm/tools/ast-jsdoc-tools/utils/heuristics.d.ts +2 -0
  168. package/lib/esm/tools/ast-jsdoc-tools/utils/heuristics.js +31 -0
  169. package/lib/esm/tools/ast-jsdoc-tools/utils/heuristics.js.map +1 -0
  170. package/lib/esm/tools/ast-jsdoc-tools/utils/ts-project.d.ts +12 -0
  171. package/lib/esm/tools/ast-jsdoc-tools/utils/ts-project.js +21 -0
  172. package/lib/esm/tools/ast-jsdoc-tools/utils/ts-project.js.map +1 -0
  173. package/lib/esm/tools/example-tool/index.d.ts +2 -0
  174. package/lib/esm/tools/example-tool/index.js +29 -0
  175. package/lib/esm/tools/example-tool/index.js.map +1 -0
  176. package/lib/esm/tools/file-summarizer/index.d.ts +2 -0
  177. package/lib/esm/tools/file-summarizer/index.js +29 -0
  178. package/lib/esm/tools/file-summarizer/index.js.map +1 -0
  179. package/lib/esm/tools/index.d.ts +2 -0
  180. package/lib/esm/tools/index.js +6 -0
  181. package/lib/esm/tools/index.js.map +1 -0
  182. package/lib/esm/tools/jsdoc/ts-jsdoc-element-tool.d.ts +2 -0
  183. package/lib/esm/tools/jsdoc/ts-jsdoc-element-tool.js +84 -0
  184. package/lib/esm/tools/jsdoc/ts-jsdoc-element-tool.js.map +1 -0
  185. package/lib/esm/tools/jsdoc/utils.d.ts +5 -0
  186. package/lib/esm/tools/jsdoc/utils.js +53 -0
  187. package/lib/esm/tools/jsdoc/utils.js.map +1 -0
  188. package/lib/esm/tools/testing/ts-jest-list-tests.d.ts +2 -0
  189. package/lib/esm/tools/testing/ts-jest-list-tests.js +53 -0
  190. package/lib/esm/tools/testing/ts-jest-list-tests.js.map +1 -0
  191. package/lib/esm/types.d.ts +56 -47
  192. package/lib/esm/types.js +1 -1
  193. package/lib/esm/types.js.map +1 -0
  194. package/lib/esm/utils/banner.d.ts +3 -0
  195. package/lib/esm/utils/banner.js +107 -0
  196. package/lib/esm/utils/banner.js.map +1 -0
  197. package/lib/esm/version.d.ts +2 -0
  198. package/lib/esm/version.js +5 -0
  199. package/lib/esm/version.js.map +1 -0
  200. package/lib/index.cjs +4 -11
  201. package/lib/index.d.ts +3 -10
  202. package/lib/index.js.map +1 -0
  203. package/lib/mcp-server.cjs +226 -0
  204. package/lib/mcp-server.d.ts +10 -0
  205. package/lib/mcp-server.js.map +1 -0
  206. package/lib/modules/template-module/index.cjs +7 -0
  207. package/lib/modules/template-module/index.d.ts +6 -0
  208. package/lib/modules/template-module/index.js.map +1 -0
  209. package/lib/prompts/code/constants.cjs +5 -0
  210. package/lib/prompts/code/constants.d.ts +1 -0
  211. package/lib/prompts/code/constants.js.map +1 -0
  212. package/lib/prompts/code/design-patterns/builder.cjs +121 -0
  213. package/lib/prompts/code/design-patterns/builder.d.ts +2 -0
  214. package/lib/prompts/code/design-patterns/builder.js.map +1 -0
  215. package/lib/prompts/code/design-patterns/constants.cjs +6 -0
  216. package/lib/prompts/code/design-patterns/constants.d.ts +1 -0
  217. package/lib/prompts/code/design-patterns/constants.js.map +1 -0
  218. package/lib/prompts/example-prompt/index.cjs +21 -0
  219. package/lib/prompts/example-prompt/index.d.ts +2 -0
  220. package/lib/prompts/example-prompt/index.js.map +1 -0
  221. package/lib/prompts/index.cjs +29 -0
  222. package/lib/prompts/index.d.ts +2 -0
  223. package/lib/prompts/index.js.map +1 -0
  224. package/lib/prompts/interactive-jsdoc/index.cjs +21 -0
  225. package/lib/prompts/interactive-jsdoc/index.d.ts +2 -0
  226. package/lib/prompts/interactive-jsdoc/index.js.map +1 -0
  227. package/lib/prompts/jsdocs/class-prompt.cjs +55 -0
  228. package/lib/prompts/jsdocs/class-prompt.d.ts +2 -0
  229. package/lib/prompts/jsdocs/class-prompt.js.map +1 -0
  230. package/lib/prompts/jsdocs/const-prompt.cjs +27 -0
  231. package/lib/prompts/jsdocs/const-prompt.d.ts +2 -0
  232. package/lib/prompts/jsdocs/const-prompt.js.map +1 -0
  233. package/lib/prompts/jsdocs/constants.cjs +49 -0
  234. package/lib/prompts/jsdocs/constants.d.ts +4 -0
  235. package/lib/prompts/jsdocs/constants.js.map +1 -0
  236. package/lib/prompts/jsdocs/decorator-prompt.cjs +45 -0
  237. package/lib/prompts/jsdocs/decorator-prompt.d.ts +2 -0
  238. package/lib/prompts/jsdocs/decorator-prompt.js.map +1 -0
  239. package/lib/prompts/jsdocs/enum-prompt.cjs +27 -0
  240. package/lib/prompts/jsdocs/enum-prompt.d.ts +2 -0
  241. package/lib/prompts/jsdocs/enum-prompt.js.map +1 -0
  242. package/lib/prompts/jsdocs/function-prompt.cjs +46 -0
  243. package/lib/prompts/jsdocs/function-prompt.d.ts +2 -0
  244. package/lib/prompts/jsdocs/function-prompt.js.map +1 -0
  245. package/lib/prompts/jsdocs/interface-prompt.cjs +27 -0
  246. package/lib/prompts/jsdocs/interface-prompt.d.ts +2 -0
  247. package/lib/prompts/jsdocs/interface-prompt.js.map +1 -0
  248. package/lib/prompts/jsdocs/types-prompt.cjs +27 -0
  249. package/lib/prompts/jsdocs/types-prompt.d.ts +2 -0
  250. package/lib/prompts/jsdocs/types-prompt.js.map +1 -0
  251. package/lib/resources/example-resource/index.cjs +22 -0
  252. package/lib/resources/example-resource/index.d.ts +2 -0
  253. package/lib/resources/example-resource/index.js.map +1 -0
  254. package/lib/resources/index.cjs +7 -0
  255. package/lib/resources/index.d.ts +2 -0
  256. package/lib/resources/index.js.map +1 -0
  257. package/lib/resources/repo-metadata/index.cjs +28 -0
  258. package/lib/resources/repo-metadata/index.d.ts +2 -0
  259. package/lib/resources/repo-metadata/index.js.map +1 -0
  260. package/lib/tools/ast/ts-ast-tool.cjs +70 -0
  261. package/lib/tools/ast/ts-ast-tool.d.ts +2 -0
  262. package/lib/tools/ast/ts-ast-tool.js.map +1 -0
  263. package/lib/tools/ast/types.cjs +36 -0
  264. package/lib/tools/ast/types.d.ts +105 -0
  265. package/lib/tools/ast/types.js.map +1 -0
  266. package/lib/tools/ast/utils.cjs +65 -0
  267. package/lib/tools/ast/utils.d.ts +5 -0
  268. package/lib/tools/ast/utils.js.map +1 -0
  269. package/lib/tools/ast-jsdoc-tools/apply.cjs +36 -0
  270. package/lib/tools/ast-jsdoc-tools/apply.d.ts +6 -0
  271. package/lib/tools/ast-jsdoc-tools/apply.js.map +1 -0
  272. package/lib/tools/ast-jsdoc-tools/cli.cjs +38 -0
  273. package/lib/tools/ast-jsdoc-tools/cli.js.map +1 -0
  274. package/lib/tools/ast-jsdoc-tools/enumerator.cjs +31 -0
  275. package/lib/tools/ast-jsdoc-tools/enumerator.d.ts +1 -0
  276. package/lib/tools/ast-jsdoc-tools/enumerator.js.map +1 -0
  277. package/lib/tools/ast-jsdoc-tools/fileRunner.cjs +35 -0
  278. package/lib/tools/ast-jsdoc-tools/fileRunner.d.ts +11 -0
  279. package/lib/tools/ast-jsdoc-tools/fileRunner.js.map +1 -0
  280. package/lib/tools/ast-jsdoc-tools/formatter.cjs +21 -0
  281. package/lib/tools/ast-jsdoc-tools/formatter.d.ts +6 -0
  282. package/lib/tools/ast-jsdoc-tools/formatter.js.map +1 -0
  283. package/lib/tools/ast-jsdoc-tools/generator.cjs +58 -0
  284. package/lib/tools/ast-jsdoc-tools/generator.d.ts +12 -0
  285. package/lib/tools/ast-jsdoc-tools/generator.js.map +1 -0
  286. package/lib/tools/ast-jsdoc-tools/index.cjs +33 -0
  287. package/lib/tools/ast-jsdoc-tools/index.d.ts +7 -0
  288. package/lib/tools/ast-jsdoc-tools/index.js.map +1 -0
  289. package/lib/tools/ast-jsdoc-tools/interactive.cjs +10 -0
  290. package/lib/tools/ast-jsdoc-tools/interactive.d.ts +1 -0
  291. package/lib/tools/ast-jsdoc-tools/interactive.js.map +1 -0
  292. package/lib/tools/ast-jsdoc-tools/parser.cjs +77 -0
  293. package/lib/tools/ast-jsdoc-tools/parser.d.ts +13 -0
  294. package/lib/tools/ast-jsdoc-tools/parser.js.map +1 -0
  295. package/lib/tools/ast-jsdoc-tools/patch.cjs +29 -0
  296. package/lib/tools/ast-jsdoc-tools/patch.d.ts +2 -0
  297. package/lib/tools/ast-jsdoc-tools/patch.js.map +1 -0
  298. package/lib/tools/ast-jsdoc-tools/prompts/loader.cjs +32 -0
  299. package/lib/tools/ast-jsdoc-tools/prompts/loader.d.ts +10 -0
  300. package/lib/tools/ast-jsdoc-tools/prompts/loader.js.map +1 -0
  301. package/lib/tools/ast-jsdoc-tools/repoRunner.cjs +67 -0
  302. package/lib/tools/ast-jsdoc-tools/repoRunner.d.ts +16 -0
  303. package/lib/tools/ast-jsdoc-tools/repoRunner.js.map +1 -0
  304. package/lib/tools/ast-jsdoc-tools/tools/jsdoc-generator.cjs +81 -0
  305. package/lib/tools/ast-jsdoc-tools/tools/jsdoc-generator.d.ts +5 -0
  306. package/lib/tools/ast-jsdoc-tools/tools/jsdoc-generator.js.map +1 -0
  307. package/lib/tools/ast-jsdoc-tools/utils/conflict-detector.cjs +33 -0
  308. package/lib/tools/ast-jsdoc-tools/utils/conflict-detector.d.ts +5 -0
  309. package/lib/tools/ast-jsdoc-tools/utils/conflict-detector.js.map +1 -0
  310. package/lib/tools/ast-jsdoc-tools/utils/context-schema.cjs +32 -0
  311. package/lib/tools/ast-jsdoc-tools/utils/context-schema.d.ts +7 -0
  312. package/lib/tools/ast-jsdoc-tools/utils/context-schema.js.map +1 -0
  313. package/lib/tools/ast-jsdoc-tools/utils/heuristics.cjs +34 -0
  314. package/lib/tools/ast-jsdoc-tools/utils/heuristics.d.ts +2 -0
  315. package/lib/tools/ast-jsdoc-tools/utils/heuristics.js.map +1 -0
  316. package/lib/tools/ast-jsdoc-tools/utils/ts-project.cjs +57 -0
  317. package/lib/tools/ast-jsdoc-tools/utils/ts-project.d.ts +12 -0
  318. package/lib/tools/ast-jsdoc-tools/utils/ts-project.js.map +1 -0
  319. package/lib/tools/example-tool/index.cjs +32 -0
  320. package/lib/tools/example-tool/index.d.ts +2 -0
  321. package/lib/tools/example-tool/index.js.map +1 -0
  322. package/lib/tools/file-summarizer/index.cjs +32 -0
  323. package/lib/tools/file-summarizer/index.d.ts +2 -0
  324. package/lib/tools/file-summarizer/index.js.map +1 -0
  325. package/lib/tools/index.cjs +9 -0
  326. package/lib/tools/index.d.ts +2 -0
  327. package/lib/tools/index.js.map +1 -0
  328. package/lib/tools/jsdoc/ts-jsdoc-element-tool.cjs +87 -0
  329. package/lib/tools/jsdoc/ts-jsdoc-element-tool.d.ts +2 -0
  330. package/lib/tools/jsdoc/ts-jsdoc-element-tool.js.map +1 -0
  331. package/lib/tools/jsdoc/utils.cjs +60 -0
  332. package/lib/tools/jsdoc/utils.d.ts +5 -0
  333. package/lib/tools/jsdoc/utils.js.map +1 -0
  334. package/lib/tools/testing/ts-jest-list-tests.cjs +56 -0
  335. package/lib/tools/testing/ts-jest-list-tests.d.ts +2 -0
  336. package/lib/tools/testing/ts-jest-list-tests.js.map +1 -0
  337. package/lib/types.cjs +1 -1
  338. package/lib/types.d.ts +56 -47
  339. package/lib/types.js.map +1 -0
  340. package/lib/utils/banner.cjs +114 -0
  341. package/lib/utils/banner.d.ts +3 -0
  342. package/lib/utils/banner.js.map +1 -0
  343. package/lib/version.cjs +8 -0
  344. package/lib/version.d.ts +2 -0
  345. package/lib/version.js.map +1 -0
  346. package/package.json +14 -63
  347. package/dist/mcp-server.esm.cjs +0 -2300
  348. package/lib/McpWrapper.cjs +0 -189
  349. package/lib/McpWrapper.d.ts +0 -101
  350. package/lib/bin/validate-modules.cjs +0 -24
  351. package/lib/esm/McpWrapper.d.ts +0 -101
  352. package/lib/esm/McpWrapper.js +0 -182
  353. package/lib/esm/bin/validate-modules.js +0 -22
  354. package/lib/esm/mcp/aggregateModules.d.ts +0 -26
  355. package/lib/esm/mcp/aggregateModules.js +0 -185
  356. package/lib/esm/mcp/code.d.ts +0 -23
  357. package/lib/esm/mcp/code.js +0 -70
  358. package/lib/esm/mcp/decorator-tools.d.ts +0 -118
  359. package/lib/esm/mcp/decorator-tools.js +0 -237
  360. package/lib/esm/mcp/fastmcp-wiring.d.ts +0 -14
  361. package/lib/esm/mcp/fastmcp-wiring.js +0 -56
  362. package/lib/esm/mcp/index.d.ts +0 -9
  363. package/lib/esm/mcp/index.js +0 -29
  364. package/lib/esm/mcp/mcp-module.d.ts +0 -11
  365. package/lib/esm/mcp/mcp-module.js +0 -31
  366. package/lib/esm/mcp/moduleRegistry.d.ts +0 -14
  367. package/lib/esm/mcp/moduleRegistry.js +0 -47
  368. package/lib/esm/mcp/prompts/index.d.ts +0 -4
  369. package/lib/esm/mcp/prompts/index.js +0 -7
  370. package/lib/esm/mcp/prompts/prompts.d.ts +0 -22
  371. package/lib/esm/mcp/prompts/prompts.js +0 -203
  372. package/lib/esm/mcp/resources/index.d.ts +0 -1
  373. package/lib/esm/mcp/resources/index.js +0 -2
  374. package/lib/esm/mcp/resources/resources.d.ts +0 -2
  375. package/lib/esm/mcp/resources/resources.js +0 -69
  376. package/lib/esm/mcp/schemas.d.ts +0 -53
  377. package/lib/esm/mcp/schemas.js +0 -97
  378. package/lib/esm/mcp/templates/codex-templates.d.ts +0 -3
  379. package/lib/esm/mcp/templates/codex-templates.js +0 -33
  380. package/lib/esm/mcp/templates/index.d.ts +0 -71
  381. package/lib/esm/mcp/templates/index.js +0 -66
  382. package/lib/esm/mcp/templates/resource-templates.d.ts +0 -3
  383. package/lib/esm/mcp/templates/resource-templates.js +0 -60
  384. package/lib/esm/mcp/templates/workspace-templates.d.ts +0 -3
  385. package/lib/esm/mcp/templates/workspace-templates.js +0 -66
  386. package/lib/esm/mcp/tools/codex-tools.d.ts +0 -5
  387. package/lib/esm/mcp/tools/codex-tools.js +0 -244
  388. package/lib/esm/mcp/tools/generateMcpModule.d.ts +0 -9
  389. package/lib/esm/mcp/tools/generateMcpModule.js +0 -133
  390. package/lib/esm/mcp/tools/index.d.ts +0 -219
  391. package/lib/esm/mcp/tools/index.js +0 -27
  392. package/lib/esm/mcp/tools/tools.d.ts +0 -10
  393. package/lib/esm/mcp/tools/tools.js +0 -275
  394. package/lib/esm/mcp/types.d.ts +0 -66
  395. package/lib/esm/mcp/types.js +0 -2
  396. package/lib/esm/mcp/utils.d.ts +0 -3
  397. package/lib/esm/mcp/utils.js +0 -46
  398. package/lib/esm/mcp/validation/index.d.ts +0 -13
  399. package/lib/esm/mcp/validation/index.js +0 -116
  400. package/lib/esm/mcp/validation/scaffoldModule.d.ts +0 -9
  401. package/lib/esm/mcp/validation/scaffoldModule.js +0 -88
  402. package/lib/esm/mcp/workspace.d.ts +0 -9
  403. package/lib/esm/mcp/workspace.js +0 -73
  404. package/lib/esm/metadata.d.ts +0 -9
  405. package/lib/esm/metadata.js +0 -22
  406. package/lib/esm/modules/_template/index.d.ts +0 -32
  407. package/lib/esm/modules/_template/index.js +0 -16
  408. package/lib/esm/modules/_template/prompts/index.d.ts +0 -6
  409. package/lib/esm/modules/_template/prompts/index.js +0 -9
  410. package/lib/esm/modules/_template/resources/index.d.ts +0 -6
  411. package/lib/esm/modules/_template/resources/index.js +0 -9
  412. package/lib/esm/modules/_template/templates/index.d.ts +0 -7
  413. package/lib/esm/modules/_template/templates/index.js +0 -10
  414. package/lib/esm/modules/_template/tools/index.d.ts +0 -6
  415. package/lib/esm/modules/_template/tools/index.js +0 -15
  416. package/lib/esm/modules/decoration/index.d.ts +0 -46
  417. package/lib/esm/modules/decoration/index.js +0 -10
  418. package/lib/esm/modules/decoration/prompts/index.d.ts +0 -1
  419. package/lib/esm/modules/decoration/prompts/index.js +0 -2
  420. package/lib/esm/modules/decoration/resources/index.d.ts +0 -7
  421. package/lib/esm/modules/decoration/resources/index.js +0 -10
  422. package/lib/esm/modules/decoration/templates/index.d.ts +0 -6
  423. package/lib/esm/modules/decoration/templates/index.js +0 -9
  424. package/lib/esm/modules/decoration/tools/index.d.ts +0 -26
  425. package/lib/esm/modules/decoration/tools/index.js +0 -7
  426. package/lib/esm/modules/index.d.ts +0 -2
  427. package/lib/esm/modules/index.js +0 -17
  428. package/lib/esm/modules/mcp/decoration-assist.d.ts +0 -4
  429. package/lib/esm/modules/mcp/decoration-assist.js +0 -6
  430. package/lib/esm/modules/mcp/index.d.ts +0 -6
  431. package/lib/esm/modules/mcp/index.js +0 -16
  432. package/lib/esm/modules/mcp/prompts/index.d.ts +0 -2
  433. package/lib/esm/modules/mcp/prompts/index.js +0 -9
  434. package/lib/esm/modules/mcp/resources/index.d.ts +0 -2
  435. package/lib/esm/modules/mcp/resources/index.js +0 -24
  436. package/lib/esm/modules/mcp/templates/index.d.ts +0 -2
  437. package/lib/esm/modules/mcp/templates/index.js +0 -28
  438. package/lib/esm/modules/mcp/tools/index.d.ts +0 -6
  439. package/lib/esm/modules/mcp/tools/index.js +0 -15
  440. package/lib/esm/utils/modulePaths.d.ts +0 -6
  441. package/lib/esm/utils/modulePaths.js +0 -33
  442. package/lib/esm/utils/moduleValidator.d.ts +0 -14
  443. package/lib/esm/utils/moduleValidator.js +0 -176
  444. package/lib/esm/utils.d.ts +0 -61
  445. package/lib/esm/utils.js +0 -86
  446. package/lib/mcp/aggregateModules.cjs +0 -225
  447. package/lib/mcp/aggregateModules.d.ts +0 -26
  448. package/lib/mcp/code.cjs +0 -81
  449. package/lib/mcp/code.d.ts +0 -23
  450. package/lib/mcp/decorator-tools.cjs +0 -243
  451. package/lib/mcp/decorator-tools.d.ts +0 -118
  452. package/lib/mcp/fastmcp-wiring.cjs +0 -59
  453. package/lib/mcp/fastmcp-wiring.d.ts +0 -14
  454. package/lib/mcp/index.cjs +0 -57
  455. package/lib/mcp/index.d.ts +0 -9
  456. package/lib/mcp/mcp-module.cjs +0 -46
  457. package/lib/mcp/mcp-module.d.ts +0 -11
  458. package/lib/mcp/moduleRegistry.cjs +0 -52
  459. package/lib/mcp/moduleRegistry.d.ts +0 -14
  460. package/lib/mcp/prompts/index.cjs +0 -25
  461. package/lib/mcp/prompts/index.d.ts +0 -4
  462. package/lib/mcp/prompts/prompts.cjs +0 -217
  463. package/lib/mcp/prompts/prompts.d.ts +0 -22
  464. package/lib/mcp/resources/index.d.ts +0 -1
  465. package/lib/mcp/resources/resources.cjs +0 -72
  466. package/lib/mcp/resources/resources.d.ts +0 -2
  467. package/lib/mcp/schemas.cjs +0 -100
  468. package/lib/mcp/schemas.d.ts +0 -53
  469. package/lib/mcp/templates/codex-templates.cjs +0 -40
  470. package/lib/mcp/templates/codex-templates.d.ts +0 -3
  471. package/lib/mcp/templates/index.cjs +0 -76
  472. package/lib/mcp/templates/index.d.ts +0 -71
  473. package/lib/mcp/templates/resource-templates.cjs +0 -67
  474. package/lib/mcp/templates/resource-templates.d.ts +0 -3
  475. package/lib/mcp/templates/workspace-templates.cjs +0 -70
  476. package/lib/mcp/templates/workspace-templates.d.ts +0 -3
  477. package/lib/mcp/tools/codex-tools.cjs +0 -250
  478. package/lib/mcp/tools/codex-tools.d.ts +0 -5
  479. package/lib/mcp/tools/generateMcpModule.cjs +0 -139
  480. package/lib/mcp/tools/generateMcpModule.d.ts +0 -9
  481. package/lib/mcp/tools/index.cjs +0 -30
  482. package/lib/mcp/tools/index.d.ts +0 -219
  483. package/lib/mcp/tools/tools.cjs +0 -317
  484. package/lib/mcp/tools/tools.d.ts +0 -10
  485. package/lib/mcp/types.cjs +0 -3
  486. package/lib/mcp/types.d.ts +0 -66
  487. package/lib/mcp/utils.cjs +0 -54
  488. package/lib/mcp/utils.d.ts +0 -3
  489. package/lib/mcp/validation/index.cjs +0 -123
  490. package/lib/mcp/validation/index.d.ts +0 -13
  491. package/lib/mcp/validation/scaffoldModule.cjs +0 -94
  492. package/lib/mcp/validation/scaffoldModule.d.ts +0 -9
  493. package/lib/mcp/workspace.cjs +0 -119
  494. package/lib/mcp/workspace.d.ts +0 -9
  495. package/lib/metadata.cjs +0 -25
  496. package/lib/metadata.d.ts +0 -9
  497. package/lib/modules/_template/index.cjs +0 -23
  498. package/lib/modules/_template/index.d.ts +0 -32
  499. package/lib/modules/_template/prompts/index.cjs +0 -12
  500. package/lib/modules/_template/prompts/index.d.ts +0 -6
  501. package/lib/modules/_template/resources/index.cjs +0 -12
  502. package/lib/modules/_template/resources/index.d.ts +0 -6
  503. package/lib/modules/_template/templates/index.cjs +0 -13
  504. package/lib/modules/_template/templates/index.d.ts +0 -7
  505. package/lib/modules/_template/tools/index.cjs +0 -18
  506. package/lib/modules/_template/tools/index.d.ts +0 -6
  507. package/lib/modules/decoration/index.cjs +0 -17
  508. package/lib/modules/decoration/index.d.ts +0 -46
  509. package/lib/modules/decoration/prompts/index.cjs +0 -5
  510. package/lib/modules/decoration/prompts/index.d.ts +0 -1
  511. package/lib/modules/decoration/resources/index.cjs +0 -13
  512. package/lib/modules/decoration/resources/index.d.ts +0 -7
  513. package/lib/modules/decoration/templates/index.cjs +0 -12
  514. package/lib/modules/decoration/templates/index.d.ts +0 -6
  515. package/lib/modules/decoration/tools/index.cjs +0 -10
  516. package/lib/modules/decoration/tools/index.d.ts +0 -26
  517. package/lib/modules/index.cjs +0 -20
  518. package/lib/modules/index.d.ts +0 -2
  519. package/lib/modules/mcp/decoration-assist.cjs +0 -13
  520. package/lib/modules/mcp/decoration-assist.d.ts +0 -4
  521. package/lib/modules/mcp/index.cjs +0 -23
  522. package/lib/modules/mcp/index.d.ts +0 -6
  523. package/lib/modules/mcp/prompts/index.cjs +0 -12
  524. package/lib/modules/mcp/prompts/index.d.ts +0 -2
  525. package/lib/modules/mcp/resources/index.cjs +0 -27
  526. package/lib/modules/mcp/resources/index.d.ts +0 -2
  527. package/lib/modules/mcp/templates/index.cjs +0 -31
  528. package/lib/modules/mcp/templates/index.d.ts +0 -2
  529. package/lib/modules/mcp/tools/index.cjs +0 -18
  530. package/lib/modules/mcp/tools/index.d.ts +0 -6
  531. package/lib/utils/modulePaths.cjs +0 -43
  532. package/lib/utils/modulePaths.d.ts +0 -6
  533. package/lib/utils/moduleValidator.cjs +0 -184
  534. package/lib/utils/moduleValidator.d.ts +0 -14
  535. package/lib/utils.cjs +0 -129
  536. package/lib/utils.d.ts +0 -61
  537. /package/lib/{bin/validate-modules.d.ts → esm/tools/ast-jsdoc-tools/cli.d.ts} +0 -0
  538. /package/lib/{esm/bin/validate-modules.d.ts → tools/ast-jsdoc-tools/cli.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-builder.js","sourceRoot":"","sources":["../../src/builders/resource-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ToolBuilder = void 0;
13
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
14
+ const builder_1 = require("./builder.cjs");
15
+ const logging_1 = require("@decaf-ts/logging");
16
+ class ToolBuilder extends builder_1.UsableBuilder {
17
+ setAnnotations(annotations) {
18
+ this.annotations = Object.assign(this.annotations, annotations);
19
+ return this;
20
+ }
21
+ setCb(cb) {
22
+ this.cb = cb;
23
+ return this;
24
+ }
25
+ setInputSchema(inputSchema) {
26
+ this.inputSchema = inputSchema;
27
+ return this;
28
+ }
29
+ setOutputSchema(outputSchema) {
30
+ this.outputSchema = outputSchema;
31
+ return this;
32
+ }
33
+ constructor(arg) {
34
+ super(arg);
35
+ this.annotations = {
36
+ readOnlyHint: true,
37
+ destructiveHint: false,
38
+ idempotentHint: true,
39
+ openWorldHint: false,
40
+ };
41
+ }
42
+ static get builder() {
43
+ return new ToolBuilder();
44
+ }
45
+ build(server) {
46
+ const errs = this.hasErrors();
47
+ if (errs)
48
+ throw new Error(errs.toString());
49
+ try {
50
+ return server.registerTool(this.name, {
51
+ title: this.title,
52
+ description: this.description,
53
+ inputSchema: this.inputSchema,
54
+ outputSchema: this.outputSchema,
55
+ annotations: this.annotations,
56
+ _meta: {
57
+ usage: {
58
+ reasoning: this.reasoning,
59
+ effort: this.effort,
60
+ cost: this.cost,
61
+ },
62
+ },
63
+ }, async (args, extra) => {
64
+ const log = this.log(extra);
65
+ log.verbose(`Executing tool ${this.name} with args: ${JSON.stringify(args)}`);
66
+ extra._meta = Object.assign(extra._meta || {}, {
67
+ usage: {
68
+ reasoning: this.reasoning,
69
+ effort: this.effort,
70
+ cost: this.cost,
71
+ },
72
+ });
73
+ const result = await Promise.resolve(this.cb(args, extra));
74
+ log.verbose(`Tool ${this.name} executed successfully.`);
75
+ // result._meta = Object.assign(result._meta as any, this._meta) as any;
76
+ log.debug(`Tool execution meta: ${JSON.stringify(result._meta)}`);
77
+ return result;
78
+ });
79
+ }
80
+ catch (e) {
81
+ logging_1.Logging.for(this).error(`Error building tool`, e);
82
+ throw e;
83
+ }
84
+ }
85
+ }
86
+ exports.ToolBuilder = ToolBuilder;
87
+ __decorate([
88
+ (0, decorator_validation_1.required)(),
89
+ __metadata("design:type", Object)
90
+ ], ToolBuilder.prototype, "annotations", void 0);
91
+ __decorate([
92
+ (0, decorator_validation_1.required)(),
93
+ __metadata("design:type", Object)
94
+ ], ToolBuilder.prototype, "cb", void 0);
95
+ __decorate([
96
+ (0, decorator_validation_1.type)(Object.name),
97
+ (0, decorator_validation_1.required)(),
98
+ __metadata("design:type", Object)
99
+ ], ToolBuilder.prototype, "inputSchema", void 0);
100
+ __decorate([
101
+ (0, decorator_validation_1.type)(Object.name),
102
+ __metadata("design:type", Object)
103
+ ], ToolBuilder.prototype, "outputSchema", void 0);
104
+ //# sourceMappingURL=tool-builder.js.map
@@ -0,0 +1,16 @@
1
+ import { McpServer, RegisteredTool, type ToolCallback } from "@modelcontextprotocol/sdk/server/mcp";
2
+ import { type ToolAnnotations } from "@modelcontextprotocol/sdk/types";
3
+ import { UsableBuilder } from "./builder";
4
+ export declare class ToolBuilder extends UsableBuilder<RegisteredTool> {
5
+ protected annotations: Omit<ToolAnnotations, "title">;
6
+ protected cb: ToolCallback<any>;
7
+ protected inputSchema: Record<string, any>;
8
+ protected outputSchema: Record<string, any>;
9
+ setAnnotations(annotations: Partial<Omit<ToolAnnotations, "title">>): this;
10
+ setCb(cb: ToolCallback<any>): this;
11
+ setInputSchema(inputSchema: any): this;
12
+ setOutputSchema(outputSchema: any): this;
13
+ private constructor();
14
+ static get builder(): ToolBuilder;
15
+ build(server: McpServer): RegisteredTool;
16
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-builder.js","sourceRoot":"","sources":["../../src/builders/tool-builder.ts"],"names":[],"mappings":"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"}
package/lib/constants.cjs CHANGED
@@ -1,32 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CLIENT_INTEGRATIONS = exports.DEFAULT_PROMPT_NAME = exports.PROMPT_DIRECTORIES = exports.WORKSPACE_ROOT_ENV = exports.MCP_FILE_NAME = void 0;
4
- /**
5
- * @description The filename that identifies Decaf CLI modules
6
- * @summary The standard filename for CLI module files where each library must export a single CliModule function
7
- *
8
- * @const MCP_FILE_NAME
9
- * @memberOf module:MCP
10
- */
11
- exports.MCP_FILE_NAME = "mcp-module";
12
- exports.WORKSPACE_ROOT_ENV = "MCP_WORKSPACE_ROOT";
13
- exports.PROMPT_DIRECTORIES = [".code/prompts", ".codex/prompts"];
14
- exports.DEFAULT_PROMPT_NAME = "doc";
15
- exports.CLIENT_INTEGRATIONS = [
16
- {
17
- id: "vscode",
18
- display: "Visual Studio Code",
19
- instructions: "When interacting from Visual Studio Code, prefer the vscode://workspace/{path} resource template to fetch file contents and use the apply-code-change tool to commit edits with previewable diffs.",
20
- },
21
- {
22
- id: "cursor",
23
- display: "Cursor",
24
- instructions: "Cursor clients can retrieve and update files through the cursor://workspace/{path} resource template. Always validate patches in dryRun mode before applying permanent changes.",
25
- },
26
- {
27
- id: "copilot",
28
- display: "GitHub Copilot",
29
- instructions: "Use the copilot://workspace/{path} resource template to stream file content into Copilot chat sessions. Prefer returning unified diffs to maintain alignment with Copilot's diff visualization.",
30
- },
31
- ];
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7O0dBTUc7QUFDVSxRQUFBLGFBQWEsR0FBRyxZQUFZLENBQUM7QUFHN0IsUUFBQSxrQkFBa0IsR0FBRyxvQkFBb0IsQ0FBQztBQUMxQyxRQUFBLGtCQUFrQixHQUFHLENBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFDekQsUUFBQSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7QUFDNUIsUUFBQSxtQkFBbUIsR0FBRztJQUNqQztRQUNFLEVBQUUsRUFBRSxRQUFRO1FBQ1osT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixZQUFZLEVBQ1Ysb01BQW9NO0tBQ3ZNO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsUUFBUTtRQUNaLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFlBQVksRUFDVixpTEFBaUw7S0FDcEw7SUFDRDtRQUNFLEVBQUUsRUFBRSxTQUFTO1FBQ2IsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixZQUFZLEVBQ1YsaU1BQWlNO0tBQ3BNO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIFRoZSBmaWxlbmFtZSB0aGF0IGlkZW50aWZpZXMgRGVjYWYgQ0xJIG1vZHVsZXNcbiAqIEBzdW1tYXJ5IFRoZSBzdGFuZGFyZCBmaWxlbmFtZSBmb3IgQ0xJIG1vZHVsZSBmaWxlcyB3aGVyZSBlYWNoIGxpYnJhcnkgbXVzdCBleHBvcnQgYSBzaW5nbGUgQ2xpTW9kdWxlIGZ1bmN0aW9uXG4gKlxuICogQGNvbnN0IE1DUF9GSUxFX05BTUVcbiAqIEBtZW1iZXJPZiBtb2R1bGU6TUNQXG4gKi9cbmV4cG9ydCBjb25zdCBNQ1BfRklMRV9OQU1FID0gXCJtY3AtbW9kdWxlXCI7XG5cblxuZXhwb3J0IGNvbnN0IFdPUktTUEFDRV9ST09UX0VOViA9IFwiTUNQX1dPUktTUEFDRV9ST09UXCI7XG5leHBvcnQgY29uc3QgUFJPTVBUX0RJUkVDVE9SSUVTID0gW1wiLmNvZGUvcHJvbXB0c1wiLCBcIi5jb2RleC9wcm9tcHRzXCJdO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUFJPTVBUX05BTUUgPSBcImRvY1wiO1xuZXhwb3J0IGNvbnN0IENMSUVOVF9JTlRFR1JBVElPTlMgPSBbXG4gIHtcbiAgICBpZDogXCJ2c2NvZGVcIixcbiAgICBkaXNwbGF5OiBcIlZpc3VhbCBTdHVkaW8gQ29kZVwiLFxuICAgIGluc3RydWN0aW9uczpcbiAgICAgIFwiV2hlbiBpbnRlcmFjdGluZyBmcm9tIFZpc3VhbCBTdHVkaW8gQ29kZSwgcHJlZmVyIHRoZSB2c2NvZGU6Ly93b3Jrc3BhY2Uve3BhdGh9IHJlc291cmNlIHRlbXBsYXRlIHRvIGZldGNoIGZpbGUgY29udGVudHMgYW5kIHVzZSB0aGUgYXBwbHktY29kZS1jaGFuZ2UgdG9vbCB0byBjb21taXQgZWRpdHMgd2l0aCBwcmV2aWV3YWJsZSBkaWZmcy5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImN1cnNvclwiLFxuICAgIGRpc3BsYXk6IFwiQ3Vyc29yXCIsXG4gICAgaW5zdHJ1Y3Rpb25zOlxuICAgICAgXCJDdXJzb3IgY2xpZW50cyBjYW4gcmV0cmlldmUgYW5kIHVwZGF0ZSBmaWxlcyB0aHJvdWdoIHRoZSBjdXJzb3I6Ly93b3Jrc3BhY2Uve3BhdGh9IHJlc291cmNlIHRlbXBsYXRlLiBBbHdheXMgdmFsaWRhdGUgcGF0Y2hlcyBpbiBkcnlSdW4gbW9kZSBiZWZvcmUgYXBwbHlpbmcgcGVybWFuZW50IGNoYW5nZXMuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJjb3BpbG90XCIsXG4gICAgZGlzcGxheTogXCJHaXRIdWIgQ29waWxvdFwiLFxuICAgIGluc3RydWN0aW9uczpcbiAgICAgIFwiVXNlIHRoZSBjb3BpbG90Oi8vd29ya3NwYWNlL3twYXRofSByZXNvdXJjZSB0ZW1wbGF0ZSB0byBzdHJlYW0gZmlsZSBjb250ZW50IGludG8gQ29waWxvdCBjaGF0IHNlc3Npb25zLiBQcmVmZXIgcmV0dXJuaW5nIHVuaWZpZWQgZGlmZnMgdG8gbWFpbnRhaW4gYWxpZ25tZW50IHdpdGggQ29waWxvdCdzIGRpZmYgdmlzdWFsaXphdGlvbi5cIixcbiAgfSxcbl0gYXMgY29uc3Q7XG4iXX0=
3
+ exports.SystemPrompt = exports.Cost = exports.EffortLevel = exports.ReasoningLevel = void 0;
4
+ var ReasoningLevel;
5
+ (function (ReasoningLevel) {
6
+ ReasoningLevel[ReasoningLevel["NONE"] = 0] = "NONE";
7
+ ReasoningLevel[ReasoningLevel["BASIC"] = 1] = "BASIC";
8
+ ReasoningLevel[ReasoningLevel["ADVANCED"] = 2] = "ADVANCED";
9
+ ReasoningLevel[ReasoningLevel["HIGH"] = 3] = "HIGH";
10
+ })(ReasoningLevel || (exports.ReasoningLevel = ReasoningLevel = {}));
11
+ var EffortLevel;
12
+ (function (EffortLevel) {
13
+ EffortLevel[EffortLevel["NONE"] = 0] = "NONE";
14
+ EffortLevel[EffortLevel["LOW"] = 1] = "LOW";
15
+ EffortLevel[EffortLevel["MEDIUM"] = 2] = "MEDIUM";
16
+ EffortLevel[EffortLevel["HIGH"] = 3] = "HIGH";
17
+ })(EffortLevel || (exports.EffortLevel = EffortLevel = {}));
18
+ var Cost;
19
+ (function (Cost) {
20
+ Cost[Cost["FREE"] = 0] = "FREE";
21
+ Cost[Cost["LOW"] = 1] = "LOW";
22
+ Cost[Cost["MEDIUM"] = 2] = "MEDIUM";
23
+ Cost[Cost["HIGH"] = 3] = "HIGH";
24
+ })(Cost || (exports.Cost = Cost = {}));
25
+ exports.SystemPrompt = `You are an AI assistant designed to help users with programming tasks related to the Decaf-TS framework.
26
+ Provide clear, concise, and accurate information.
27
+ If you don't know the answer, admit it rather than making up information.
28
+ Always prioritize the user's intent and provide helpful suggestions when appropriate.
29
+ `;
30
+ //# sourceMappingURL=constants.js.map
@@ -1,24 +1,19 @@
1
- /**
2
- * @description The filename that identifies Decaf CLI modules
3
- * @summary The standard filename for CLI module files where each library must export a single CliModule function
4
- *
5
- * @const MCP_FILE_NAME
6
- * @memberOf module:MCP
7
- */
8
- export declare const MCP_FILE_NAME = "mcp-module";
9
- export declare const WORKSPACE_ROOT_ENV = "MCP_WORKSPACE_ROOT";
10
- export declare const PROMPT_DIRECTORIES: string[];
11
- export declare const DEFAULT_PROMPT_NAME = "doc";
12
- export declare const CLIENT_INTEGRATIONS: readonly [{
13
- readonly id: "vscode";
14
- readonly display: "Visual Studio Code";
15
- readonly instructions: "When interacting from Visual Studio Code, prefer the vscode://workspace/{path} resource template to fetch file contents and use the apply-code-change tool to commit edits with previewable diffs.";
16
- }, {
17
- readonly id: "cursor";
18
- readonly display: "Cursor";
19
- readonly instructions: "Cursor clients can retrieve and update files through the cursor://workspace/{path} resource template. Always validate patches in dryRun mode before applying permanent changes.";
20
- }, {
21
- readonly id: "copilot";
22
- readonly display: "GitHub Copilot";
23
- readonly instructions: "Use the copilot://workspace/{path} resource template to stream file content into Copilot chat sessions. Prefer returning unified diffs to maintain alignment with Copilot's diff visualization.";
24
- }];
1
+ export declare enum ReasoningLevel {
2
+ NONE = 0,
3
+ BASIC = 1,
4
+ ADVANCED = 2,
5
+ HIGH = 3
6
+ }
7
+ export declare enum EffortLevel {
8
+ NONE = 0,
9
+ LOW = 1,
10
+ MEDIUM = 2,
11
+ HIGH = 3
12
+ }
13
+ export declare enum Cost {
14
+ FREE = 0,
15
+ LOW = 1,
16
+ MEDIUM = 2,
17
+ HIGH = 3
18
+ }
19
+ export declare const SystemPrompt = "You are an AI assistant designed to help users with programming tasks related to the Decaf-TS framework. \nProvide clear, concise, and accurate information.\nIf you don't know the answer, admit it rather than making up information.\nAlways prioritize the user's intent and provide helpful suggestions when appropriate.\n";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mDAAQ,CAAA;IACR,qDAAS,CAAA;IACT,2DAAY,CAAA;IACZ,mDAAQ,CAAA;AACV,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,6CAAQ,CAAA;IACR,2CAAO,CAAA;IACP,iDAAU,CAAA;IACV,6CAAQ,CAAA;AACV,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,IAAY,IAKX;AALD,WAAY,IAAI;IACd,+BAAQ,CAAA;IACR,6BAAO,CAAA;IACP,mCAAU,CAAA;IACV,+BAAQ,CAAA;AACV,CAAC,EALW,IAAI,oBAAJ,IAAI,QAKf;AAEY,QAAA,YAAY,GAAG;;;;CAI3B,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Environment = exports.DefaultMcpEnvironment = void 0;
4
+ const logging_1 = require("@decaf-ts/logging");
5
+ const version_1 = require("./version.cjs");
6
+ exports.DefaultMcpEnvironment = {
7
+ mcpId: version_1.PACKAGE_NAME,
8
+ name: "Official Decaf-TS MCP Server",
9
+ title: "Official Decaf-TS MCP Server",
10
+ description: "Provides precise coding assistance for the decaf-ts framework",
11
+ version: version_1.VERSION,
12
+ websiteUrl: "https://decaf-ts.github.io",
13
+ repositoryUrl: "https://github.com/decaf-ts",
14
+ license: "AGPL-3.0",
15
+ contacts: [
16
+ {
17
+ name: "Decaf-TS",
18
+ url: "https://decaf-ts.github.io",
19
+ },
20
+ ],
21
+ tags: ["server", "official", "decaf-ts"].join(","),
22
+ metadata: {},
23
+ icons: [
24
+ {
25
+ src: "workdocs/assets/favicon.svg",
26
+ mimeType: "image/svg+xml",
27
+ sizes: ["any"].join(","),
28
+ },
29
+ ],
30
+ };
31
+ exports.Environment = logging_1.LoggedEnvironment.accumulate(exports.DefaultMcpEnvironment);
32
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1,71 @@
1
+ import { LoggingConfig } from "@decaf-ts/logging";
2
+ export type McpEnvironment = LoggingConfig & {
3
+ mcpId: string;
4
+ name: string;
5
+ title: string;
6
+ description: string;
7
+ version: string;
8
+ websiteUrl?: string;
9
+ repositoryUrl?: string;
10
+ license: string;
11
+ contacts?: {
12
+ name: string;
13
+ email?: string;
14
+ url?: string;
15
+ }[];
16
+ tags?: string;
17
+ metadata?: Record<any, any>;
18
+ icons: {
19
+ src: string;
20
+ mimeType: string;
21
+ sizes?: string;
22
+ }[];
23
+ };
24
+ export declare const DefaultMcpEnvironment: McpEnvironment;
25
+ export declare const Environment: object & LoggingConfig & {
26
+ env: any;
27
+ } & {
28
+ mcpId: string;
29
+ name: string;
30
+ title: string;
31
+ description: string;
32
+ version: string;
33
+ websiteUrl?: string;
34
+ repositoryUrl?: string;
35
+ license: string;
36
+ contacts?: {
37
+ name: string;
38
+ email?: string;
39
+ url?: string;
40
+ }[];
41
+ tags?: string;
42
+ metadata?: Record<any, any>;
43
+ icons: {
44
+ src: string;
45
+ mimeType: string;
46
+ sizes?: string;
47
+ }[];
48
+ } & import("typed-object-accumulator").ObjectAccumulator<object & LoggingConfig & {
49
+ env: any;
50
+ } & {
51
+ mcpId: string;
52
+ name: string;
53
+ title: string;
54
+ description: string;
55
+ version: string;
56
+ websiteUrl?: string;
57
+ repositoryUrl?: string;
58
+ license: string;
59
+ contacts?: {
60
+ name: string;
61
+ email?: string;
62
+ url?: string;
63
+ }[];
64
+ tags?: string;
65
+ metadata?: Record<any, any>;
66
+ icons: {
67
+ src: string;
68
+ mimeType: string;
69
+ sizes?: string;
70
+ }[];
71
+ }>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA,+CAAqE;AACrE,2CAAkD;AAyBrC,QAAA,qBAAqB,GAAmB;IACnD,KAAK,EAAE,sBAAY;IACnB,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,+DAA+D;IAC5E,OAAO,EAAE,iBAAO;IAChB,UAAU,EAAE,4BAA4B;IACxC,aAAa,EAAE,6BAA6B;IAC5C,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,4BAA4B;SAClC;KACF;IACD,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAClD,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE;QACL;YACE,GAAG,EAAE,6BAA6B;YAClC,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACzB;KACF;CACgB,CAAC;AAEP,QAAA,WAAW,GAAG,2BAAiB,CAAC,UAAU,CAAC,6BAAqB,CAAC,CAAC"}
@@ -1,25 +1 @@
1
- /**
2
- * BIN_CALL_PLACEHOLDER - DO NOT REMOVE
3
- */
4
- /**
5
- * @description Decaf-ts' CLI entry point
6
- * @summary This file serves as the main executable entry point for the Decaf CLI. It creates a CliWrapper instance
7
- * and runs it with the process arguments. The CLI will crawl the current working directory for files called
8
- * MCP_FILE_NAME within the @decaf-ts namespace and load them as subcommands.
9
- *
10
- * @example
11
- * // Run a module command
12
- * $ npx decaf <module name> <module command> ...<module command options>
13
- *
14
- * // Get help for a specific module
15
- * $ npx decaf help <module name>
16
- *
17
- * // List all imported modules
18
- * $ npx decaf list
19
- *
20
- * // Get general CLI help
21
- * $ npx decaf help
22
- *
23
- * @memberOf module:MCP
24
- */
25
1
  export {};
@@ -1,35 +1,7 @@
1
- /**
2
- * BIN_CALL_PLACEHOLDER - DO NOT REMOVE
3
- */
4
- /**
5
- * @description Decaf-ts' CLI entry point
6
- * @summary This file serves as the main executable entry point for the Decaf CLI. It creates a CliWrapper instance
7
- * and runs it with the process arguments. The CLI will crawl the current working directory for files called
8
- * MCP_FILE_NAME within the @decaf-ts namespace and load them as subcommands.
9
- *
10
- * @example
11
- * // Run a module command
12
- * $ npx decaf <module name> <module command> ...<module command options>
13
- *
14
- * // Get help for a specific module
15
- * $ npx decaf help <module name>
16
- *
17
- * // List all imported modules
18
- * $ npx decaf list
19
- *
20
- * // Get general CLI help
21
- * $ npx decaf help
22
- *
23
- * @memberOf module:MCP
24
- */
25
- import { McpWrapper } from "../McpWrapper";
26
- new McpWrapper()
27
- .run(process.argv)
28
- .then(() => {
29
- console.log("Thank you for using decaf-ts' mcp server");
30
- })
31
- .catch((e) => {
32
- console.error(`${e instanceof Error ? e.message : e}`);
33
- process.exit(1);
34
- });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jpbi9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLElBQUksVUFBVSxFQUFFO0tBQ2IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDakIsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUM7S0FDRCxLQUFLLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtJQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCSU5fQ0FMTF9QTEFDRUhPTERFUiAtIERPIE5PVCBSRU1PVkVcbiAqL1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjYWYtdHMnIENMSSBlbnRyeSBwb2ludFxuICogQHN1bW1hcnkgVGhpcyBmaWxlIHNlcnZlcyBhcyB0aGUgbWFpbiBleGVjdXRhYmxlIGVudHJ5IHBvaW50IGZvciB0aGUgRGVjYWYgQ0xJLiBJdCBjcmVhdGVzIGEgQ2xpV3JhcHBlciBpbnN0YW5jZVxuICogYW5kIHJ1bnMgaXQgd2l0aCB0aGUgcHJvY2VzcyBhcmd1bWVudHMuIFRoZSBDTEkgd2lsbCBjcmF3bCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBmb3IgZmlsZXMgY2FsbGVkXG4gKiBNQ1BfRklMRV9OQU1FIHdpdGhpbiB0aGUgQGRlY2FmLXRzIG5hbWVzcGFjZSBhbmQgbG9hZCB0aGVtIGFzIHN1YmNvbW1hbmRzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBSdW4gYSBtb2R1bGUgY29tbWFuZFxuICogJCBucHggZGVjYWYgPG1vZHVsZSBuYW1lPiA8bW9kdWxlIGNvbW1hbmQ+IC4uLjxtb2R1bGUgY29tbWFuZCBvcHRpb25zPlxuICpcbiAqIC8vIEdldCBoZWxwIGZvciBhIHNwZWNpZmljIG1vZHVsZVxuICogJCBucHggZGVjYWYgaGVscCA8bW9kdWxlIG5hbWU+XG4gKlxuICogLy8gTGlzdCBhbGwgaW1wb3J0ZWQgbW9kdWxlc1xuICogJCBucHggZGVjYWYgbGlzdFxuICpcbiAqIC8vIEdldCBnZW5lcmFsIENMSSBoZWxwXG4gKiAkIG5weCBkZWNhZiBoZWxwXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTpNQ1BcbiAqL1xuXG5pbXBvcnQgeyBNY3BXcmFwcGVyIH0gZnJvbSBcIi4uL01jcFdyYXBwZXJcIjtcbm5ldyBNY3BXcmFwcGVyKClcbiAgLnJ1bihwcm9jZXNzLmFyZ3YpXG4gIC50aGVuKCgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhcIlRoYW5rIHlvdSBmb3IgdXNpbmcgZGVjYWYtdHMnIG1jcCBzZXJ2ZXJcIik7XG4gIH0pXG4gIC5jYXRjaCgoZTogdW5rbm93bikgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoYCR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogZX1gKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH0pO1xuIl19
1
+ import { McpServer } from "./../mcp-server.js";
2
+ async function main() {
3
+ const server = new McpServer();
4
+ return server.boot("stdio");
5
+ }
6
+ main();
7
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/bin/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,2BAAsB;AAE1C,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Model, ModelArg } from "@decaf-ts/decorator-validation";
2
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+ import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol";
4
+ import { ServerNotification, ServerRequest } from "@modelcontextprotocol/sdk/types";
5
+ import { Cost, EffortLevel, ReasoningLevel } from "../constants";
6
+ export declare abstract class Builder<OBJ> extends Model {
7
+ protected description: string;
8
+ protected name: string;
9
+ protected title: string;
10
+ protected constructor(arg?: ModelArg<Builder<OBJ>>);
11
+ protected log(extra: RequestHandlerExtra<ServerRequest, ServerNotification>): import("@decaf-ts/logging").Logger;
12
+ abstract build(server: McpServer): OBJ;
13
+ setDescription(value: string): this;
14
+ setName(value: string): this;
15
+ setTitle(value: string): this;
16
+ }
17
+ export declare abstract class UsableBuilder<OBJ> extends Builder<OBJ> {
18
+ protected reasoning: ReasoningLevel;
19
+ protected effort: EffortLevel;
20
+ protected cost: Cost;
21
+ protected constructor(arg?: ModelArg<Builder<OBJ>>);
22
+ setReasoning(value: ReasoningLevel): this;
23
+ setEffort(value: EffortLevel): this;
24
+ setCost(value: Cost): this;
25
+ }
@@ -0,0 +1,86 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Model, required } from "@decaf-ts/decorator-validation";
11
+ import { Logging } from "@decaf-ts/logging";
12
+ import { Cost, EffortLevel, ReasoningLevel } from "./../constants.js";
13
+ export class Builder extends Model {
14
+ constructor(arg) {
15
+ super(arg);
16
+ Model.fromObject(this, arg);
17
+ }
18
+ log(extra) {
19
+ const { sessionId, requestId, authInfo } = extra || {};
20
+ // sessionId may be undefined for some transports or internal calls.
21
+ // Logging.for expects either a string or an object; avoid passing undefined.
22
+ let log = typeof sessionId === 'string' && sessionId.length > 0 ? Logging.for(sessionId).for(this) : Logging.for(this);
23
+ if (authInfo && authInfo.clientId)
24
+ log = log.for(authInfo.clientId);
25
+ if (requestId)
26
+ log = log.for(requestId.toString());
27
+ return log;
28
+ }
29
+ setDescription(value) {
30
+ this.description = value;
31
+ return this;
32
+ }
33
+ setName(value) {
34
+ this.name = value;
35
+ return this;
36
+ }
37
+ setTitle(value) {
38
+ this.title = value;
39
+ return this;
40
+ }
41
+ }
42
+ __decorate([
43
+ required(),
44
+ __metadata("design:type", String)
45
+ ], Builder.prototype, "description", void 0);
46
+ __decorate([
47
+ required(),
48
+ __metadata("design:type", String)
49
+ ], Builder.prototype, "name", void 0);
50
+ __decorate([
51
+ required(),
52
+ __metadata("design:type", String)
53
+ ], Builder.prototype, "title", void 0);
54
+ export class UsableBuilder extends Builder {
55
+ constructor(arg) {
56
+ super(arg);
57
+ this.reasoning = ReasoningLevel.NONE;
58
+ this.effort = EffortLevel.NONE;
59
+ this.cost = Cost.FREE;
60
+ }
61
+ setReasoning(value) {
62
+ this.reasoning = value;
63
+ return this;
64
+ }
65
+ setEffort(value) {
66
+ this.effort = value;
67
+ return this;
68
+ }
69
+ setCost(value) {
70
+ this.cost = value;
71
+ return this;
72
+ }
73
+ }
74
+ __decorate([
75
+ required(),
76
+ __metadata("design:type", Number)
77
+ ], UsableBuilder.prototype, "reasoning", void 0);
78
+ __decorate([
79
+ required(),
80
+ __metadata("design:type", Number)
81
+ ], UsableBuilder.prototype, "effort", void 0);
82
+ __decorate([
83
+ required(),
84
+ __metadata("design:type", Number)
85
+ ], UsableBuilder.prototype, "cost", void 0);
86
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/builders/builder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAY,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAO3E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,0BAAqB;AAEjE,MAAM,OAAgB,OAAa,SAAQ,KAAK;IAQ9C,YAAsB,GAA4B;QAChD,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAES,GAAG,CAAC,KAA6D;QACzE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QACvD,oEAAoE;QACpE,6EAA6E;QAC7E,IAAI,GAAG,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC;QACrI,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,SAAS;YAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC;IACb,CAAC;IAID,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AArCW;IADT,QAAQ,EAAE;;4CACoB;AAErB;IADT,QAAQ,EAAE;;qCACa;AAEd;IADT,QAAQ,EAAE;;sCACc;AAmC3B,MAAM,OAAgB,aAAmB,SAAQ,OAAY;IAU3D,YAAsB,GAA4B;QAChD,KAAK,CAAC,GAAG,CAAC,CAAC;QATH,cAAS,GAAmB,cAAc,CAAC,IAAI,CAAC;QAGhD,WAAM,GAAgB,WAAW,CAAC,IAAI,CAAC;QAGvC,SAAI,GAAS,IAAI,CAAC,IAAI,CAAC;IAIjC,CAAC;IAED,YAAY,CAAC,KAAqB;QAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAAkB;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAW;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA1BW;IADT,QAAQ,EAAE;;gDAC+C;AAGhD;IADT,QAAQ,EAAE;;6CACsC;AAGvC;IADT,QAAQ,EAAE;;2CACsB"}
@@ -0,0 +1,4 @@
1
+ export * from "./builder";
2
+ export * from "./prompt-builder";
3
+ export * from "./resource-builder";
4
+ export * from "./tool-builder";
@@ -0,0 +1,5 @@
1
+ export * from "./builder.js";
2
+ export * from "./prompt-builder.js";
3
+ export * from "./resource-builder.js";
4
+ export * from "./tool-builder.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/builders/index.ts"],"names":[],"mappings":"AAAA,6BAA0B;AAC1B,oCAAiC;AACjC,sCAAmC;AACnC,kCAA+B"}
@@ -0,0 +1,12 @@
1
+ import { McpServer, type PromptCallback, RegisteredPrompt } from "@modelcontextprotocol/sdk/server/mcp";
2
+ import type { ZodRawShape } from "zod";
3
+ import { UsableBuilder } from "./builder";
4
+ export declare class PromptBuilder extends UsableBuilder<RegisteredPrompt> {
5
+ protected cb: PromptCallback<any>;
6
+ protected argsSchema: ZodRawShape;
7
+ setCb(value: PromptCallback<any>): this;
8
+ setArgsSchema(value: ZodRawShape): this;
9
+ private constructor();
10
+ static get builder(): PromptBuilder;
11
+ build(server: McpServer): RegisteredPrompt;
12
+ }