@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,72 @@
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 { required } from "@decaf-ts/decorator-validation";
11
+ import { UsableBuilder } from "./builder.js";
12
+ import { Logging } from "@decaf-ts/logging";
13
+ export class PromptBuilder extends UsableBuilder {
14
+ setCb(value) {
15
+ this.cb = value;
16
+ return this;
17
+ }
18
+ setArgsSchema(value) {
19
+ this.argsSchema = value;
20
+ return this;
21
+ }
22
+ constructor(arg) {
23
+ super(arg);
24
+ }
25
+ static get builder() {
26
+ return new PromptBuilder();
27
+ }
28
+ build(server) {
29
+ const errs = this.hasErrors();
30
+ if (errs)
31
+ throw new Error(errs.toString());
32
+ try {
33
+ return server.registerPrompt(this.name, {
34
+ title: this.title,
35
+ description: this.description,
36
+ argsSchema: this.argsSchema,
37
+ }, async (args, extra) => {
38
+ const log = this.log(extra);
39
+ // ensure args is an object and has a _meta container so we can safely
40
+ // attach usage metadata without throwing when callers pass `{}` or
41
+ // omit the field entirely.
42
+ args = args || {};
43
+ log.verbose(`Executing prompt ${this.name} with args: ${JSON.stringify(args)}`);
44
+ args._meta = Object.assign(args._meta || {}, {
45
+ usage: {
46
+ reasoning: this.reasoning,
47
+ effort: this.effort,
48
+ cost: this.cost,
49
+ },
50
+ });
51
+ const result = await Promise.resolve(this.cb(args, extra));
52
+ log.verbose(`Prompt ${this.name} executed successfully.`);
53
+ // result._meta = Object.assign(result._meta as any, this._meta) as any;
54
+ log.debug(`Prompt execution meta: ${JSON.stringify(result._meta)}`);
55
+ return result;
56
+ });
57
+ }
58
+ catch (e) {
59
+ Logging.for(this).error(`Failed to register prompt ${this.name}`, e);
60
+ throw e;
61
+ }
62
+ }
63
+ }
64
+ __decorate([
65
+ required(),
66
+ __metadata("design:type", Object)
67
+ ], PromptBuilder.prototype, "cb", void 0);
68
+ __decorate([
69
+ required(),
70
+ __metadata("design:type", Object)
71
+ ], PromptBuilder.prototype, "argsSchema", void 0);
72
+ //# sourceMappingURL=prompt-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/builders/prompt-builder.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EAAY,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,qBAAkB;AAO1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,OAAO,aAAc,SAAQ,aAA+B;IAMhE,KAAK,CAAC,KAA0B;QAC9B,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,KAAkB;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAoB,GAA6B;QAC/C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IAED,MAAM,KAAK,OAAO;QAChB,OAAO,IAAI,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAiB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,cAAc,CAC1B,IAAI,CAAC,IAAI,EACT;gBACE,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,EACD,KAAK,EACH,IAAS,EACT,KAA6D,EACnC,EAAE;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC5B,sEAAsE;gBACtE,mEAAmE;gBACnE,2BAA2B;gBAC3B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAClB,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE;oBAC3C,KAAK,EAAE;wBACL,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB;iBACF,CAAC,CAAC;gBACH,MAAM,MAAM,GAAoB,MAAM,OAAO,CAAC,OAAO,CACnD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CACrB,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;gBAC1D,wEAAwE;gBACxE,GAAG,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpE,OAAO,MAAM,CAAC;YAChB,CAAC,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC,KAAK,CAC5B,6BAA6B,IAAI,CAAC,IAAI,EAAE,EACxC,CAAQ,CACT,CAAC;YACF,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;CACF;AAnEW;IADT,QAAQ,EAAE;;yCACwB;AAEzB;IADT,QAAQ,EAAE;;iDACwB"}
@@ -0,0 +1,14 @@
1
+ import { McpServer, type ReadResourceCallback, RegisteredResource, RegisteredResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp";
2
+ import { Builder } from "./builder";
3
+ import { Resource } from "@modelcontextprotocol/sdk/types";
4
+ export declare class ResourceBuilder extends Builder<RegisteredResource | RegisteredResourceTemplate> {
5
+ protected uriOrTemplate: string;
6
+ cb: ReadResourceCallback;
7
+ protected config: Omit<Resource, "uri" | "name">;
8
+ setCb(value: ReadResourceCallback): this;
9
+ setConfig(value: Omit<Resource, "uri" | "name">): this;
10
+ setUriOtTemplate(value: string): this;
11
+ private constructor();
12
+ static get builder(): ResourceBuilder;
13
+ build(server: McpServer): RegisteredResource | RegisteredResourceTemplate;
14
+ }
@@ -0,0 +1,79 @@
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 { UriTemplate } from "@modelcontextprotocol/sdk/shared/uriTemplate";
11
+ import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp";
12
+ import { required } from "@decaf-ts/decorator-validation";
13
+ import { Builder } from "./builder.js";
14
+ import { Logging } from "@decaf-ts/logging";
15
+ export class ResourceBuilder extends Builder {
16
+ setCb(value) {
17
+ this.cb = value;
18
+ return this;
19
+ }
20
+ setConfig(value) {
21
+ this.config = value;
22
+ return this;
23
+ }
24
+ setUriOtTemplate(value) {
25
+ this.uriOrTemplate = value;
26
+ return this;
27
+ }
28
+ constructor(arg) {
29
+ super(arg);
30
+ }
31
+ static get builder() {
32
+ return new ResourceBuilder();
33
+ }
34
+ build(server) {
35
+ const errs = this.hasErrors();
36
+ if (errs)
37
+ throw new Error(errs.toString());
38
+ try {
39
+ // if the configured URI contains template placeholders, register it as
40
+ // a ResourceTemplate (wrapping a UriTemplate) so the server will match
41
+ // concrete URIs against it.
42
+ const uriOrTemplateArg = typeof this.uriOrTemplate === "string" && this.uriOrTemplate.includes("{")
43
+ ? new ResourceTemplate(new UriTemplate(this.uriOrTemplate), { list: undefined })
44
+ : this.uriOrTemplate;
45
+ // Use metadata object for registration
46
+ const metadata = Object.assign(this.config, { _meta: {} });
47
+ // Create a single read callback to be reused for both overloads.
48
+ const readCb = async (uri, extra) => {
49
+ const log = this.log(extra);
50
+ log.verbose(`Requesting resource ${this.name} from ${uri.toString()}`);
51
+ const result = await Promise.resolve(this.cb(uri, extra));
52
+ log.verbose(`Resource ${this.name} retrieved successfully.`);
53
+ log.debug(`Resource retrieval meta: ${JSON.stringify(result._meta)}`);
54
+ return result;
55
+ };
56
+ if (typeof uriOrTemplateArg === "string") {
57
+ return server.resource(this.name, uriOrTemplateArg, metadata, readCb);
58
+ }
59
+ return server.resource(this.name, uriOrTemplateArg, metadata, readCb);
60
+ }
61
+ catch (e) {
62
+ Logging.for(this).error(`Error registering resource ${this.name}`, e);
63
+ throw e;
64
+ }
65
+ }
66
+ }
67
+ __decorate([
68
+ required(),
69
+ __metadata("design:type", String)
70
+ ], ResourceBuilder.prototype, "uriOrTemplate", void 0);
71
+ __decorate([
72
+ required(),
73
+ __metadata("design:type", Function)
74
+ ], ResourceBuilder.prototype, "cb", void 0);
75
+ __decorate([
76
+ required(),
77
+ __metadata("design:type", Object)
78
+ ], ResourceBuilder.prototype, "config", void 0);
79
+ //# sourceMappingURL=resource-builder.js.map
@@ -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,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,100 @@
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 { required, type } from "@decaf-ts/decorator-validation";
11
+ import { UsableBuilder } from "./builder.js";
12
+ import { Logging } from "@decaf-ts/logging";
13
+ export class ToolBuilder extends UsableBuilder {
14
+ setAnnotations(annotations) {
15
+ this.annotations = Object.assign(this.annotations, annotations);
16
+ return this;
17
+ }
18
+ setCb(cb) {
19
+ this.cb = cb;
20
+ return this;
21
+ }
22
+ setInputSchema(inputSchema) {
23
+ this.inputSchema = inputSchema;
24
+ return this;
25
+ }
26
+ setOutputSchema(outputSchema) {
27
+ this.outputSchema = outputSchema;
28
+ return this;
29
+ }
30
+ constructor(arg) {
31
+ super(arg);
32
+ this.annotations = {
33
+ readOnlyHint: true,
34
+ destructiveHint: false,
35
+ idempotentHint: true,
36
+ openWorldHint: false,
37
+ };
38
+ }
39
+ static get builder() {
40
+ return new ToolBuilder();
41
+ }
42
+ build(server) {
43
+ const errs = this.hasErrors();
44
+ if (errs)
45
+ throw new Error(errs.toString());
46
+ try {
47
+ return server.registerTool(this.name, {
48
+ title: this.title,
49
+ description: this.description,
50
+ inputSchema: this.inputSchema,
51
+ outputSchema: this.outputSchema,
52
+ annotations: this.annotations,
53
+ _meta: {
54
+ usage: {
55
+ reasoning: this.reasoning,
56
+ effort: this.effort,
57
+ cost: this.cost,
58
+ },
59
+ },
60
+ }, async (args, extra) => {
61
+ const log = this.log(extra);
62
+ log.verbose(`Executing tool ${this.name} with args: ${JSON.stringify(args)}`);
63
+ extra._meta = Object.assign(extra._meta || {}, {
64
+ usage: {
65
+ reasoning: this.reasoning,
66
+ effort: this.effort,
67
+ cost: this.cost,
68
+ },
69
+ });
70
+ const result = await Promise.resolve(this.cb(args, extra));
71
+ log.verbose(`Tool ${this.name} executed successfully.`);
72
+ // result._meta = Object.assign(result._meta as any, this._meta) as any;
73
+ log.debug(`Tool execution meta: ${JSON.stringify(result._meta)}`);
74
+ return result;
75
+ });
76
+ }
77
+ catch (e) {
78
+ Logging.for(this).error(`Error building tool`, e);
79
+ throw e;
80
+ }
81
+ }
82
+ }
83
+ __decorate([
84
+ required(),
85
+ __metadata("design:type", Object)
86
+ ], ToolBuilder.prototype, "annotations", void 0);
87
+ __decorate([
88
+ required(),
89
+ __metadata("design:type", Object)
90
+ ], ToolBuilder.prototype, "cb", void 0);
91
+ __decorate([
92
+ type(Object.name),
93
+ required(),
94
+ __metadata("design:type", Object)
95
+ ], ToolBuilder.prototype, "inputSchema", void 0);
96
+ __decorate([
97
+ type(Object.name),
98
+ __metadata("design:type", Object)
99
+ ], ToolBuilder.prototype, "outputSchema", void 0);
100
+ //# sourceMappingURL=tool-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-builder.js","sourceRoot":"","sources":["../../../src/builders/tool-builder.ts"],"names":[],"mappings":"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"}
@@ -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";
@@ -1,29 +1,27 @@
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 const MCP_FILE_NAME = "mcp-module";
9
- export const WORKSPACE_ROOT_ENV = "MCP_WORKSPACE_ROOT";
10
- export const PROMPT_DIRECTORIES = [".code/prompts", ".codex/prompts"];
11
- export const DEFAULT_PROMPT_NAME = "doc";
12
- export const CLIENT_INTEGRATIONS = [
13
- {
14
- id: "vscode",
15
- display: "Visual Studio Code",
16
- 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.",
17
- },
18
- {
19
- id: "cursor",
20
- display: "Cursor",
21
- 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.",
22
- },
23
- {
24
- id: "copilot",
25
- display: "GitHub Copilot",
26
- 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.",
27
- },
28
- ];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0FBRzFDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFDdEUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDO1FBQ0UsRUFBRSxFQUFFLFFBQVE7UUFDWixPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLFlBQVksRUFDVixvTUFBb007S0FDdk07SUFDRDtRQUNFLEVBQUUsRUFBRSxRQUFRO1FBQ1osT0FBTyxFQUFFLFFBQVE7UUFDakIsWUFBWSxFQUNWLGlMQUFpTDtLQUNwTDtJQUNEO1FBQ0UsRUFBRSxFQUFFLFNBQVM7UUFDYixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLFlBQVksRUFDVixpTUFBaU07S0FDcE07Q0FDTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gVGhlIGZpbGVuYW1lIHRoYXQgaWRlbnRpZmllcyBEZWNhZiBDTEkgbW9kdWxlc1xuICogQHN1bW1hcnkgVGhlIHN0YW5kYXJkIGZpbGVuYW1lIGZvciBDTEkgbW9kdWxlIGZpbGVzIHdoZXJlIGVhY2ggbGlicmFyeSBtdXN0IGV4cG9ydCBhIHNpbmdsZSBDbGlNb2R1bGUgZnVuY3Rpb25cbiAqXG4gKiBAY29uc3QgTUNQX0ZJTEVfTkFNRVxuICogQG1lbWJlck9mIG1vZHVsZTpNQ1BcbiAqL1xuZXhwb3J0IGNvbnN0IE1DUF9GSUxFX05BTUUgPSBcIm1jcC1tb2R1bGVcIjtcblxuXG5leHBvcnQgY29uc3QgV09SS1NQQUNFX1JPT1RfRU5WID0gXCJNQ1BfV09SS1NQQUNFX1JPT1RcIjtcbmV4cG9ydCBjb25zdCBQUk9NUFRfRElSRUNUT1JJRVMgPSBbXCIuY29kZS9wcm9tcHRzXCIsIFwiLmNvZGV4L3Byb21wdHNcIl07XG5leHBvcnQgY29uc3QgREVGQVVMVF9QUk9NUFRfTkFNRSA9IFwiZG9jXCI7XG5leHBvcnQgY29uc3QgQ0xJRU5UX0lOVEVHUkFUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBcInZzY29kZVwiLFxuICAgIGRpc3BsYXk6IFwiVmlzdWFsIFN0dWRpbyBDb2RlXCIsXG4gICAgaW5zdHJ1Y3Rpb25zOlxuICAgICAgXCJXaGVuIGludGVyYWN0aW5nIGZyb20gVmlzdWFsIFN0dWRpbyBDb2RlLCBwcmVmZXIgdGhlIHZzY29kZTovL3dvcmtzcGFjZS97cGF0aH0gcmVzb3VyY2UgdGVtcGxhdGUgdG8gZmV0Y2ggZmlsZSBjb250ZW50cyBhbmQgdXNlIHRoZSBhcHBseS1jb2RlLWNoYW5nZSB0b29sIHRvIGNvbW1pdCBlZGl0cyB3aXRoIHByZXZpZXdhYmxlIGRpZmZzLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwiY3Vyc29yXCIsXG4gICAgZGlzcGxheTogXCJDdXJzb3JcIixcbiAgICBpbnN0cnVjdGlvbnM6XG4gICAgICBcIkN1cnNvciBjbGllbnRzIGNhbiByZXRyaWV2ZSBhbmQgdXBkYXRlIGZpbGVzIHRocm91Z2ggdGhlIGN1cnNvcjovL3dvcmtzcGFjZS97cGF0aH0gcmVzb3VyY2UgdGVtcGxhdGUuIEFsd2F5cyB2YWxpZGF0ZSBwYXRjaGVzIGluIGRyeVJ1biBtb2RlIGJlZm9yZSBhcHBseWluZyBwZXJtYW5lbnQgY2hhbmdlcy5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImNvcGlsb3RcIixcbiAgICBkaXNwbGF5OiBcIkdpdEh1YiBDb3BpbG90XCIsXG4gICAgaW5zdHJ1Y3Rpb25zOlxuICAgICAgXCJVc2UgdGhlIGNvcGlsb3Q6Ly93b3Jrc3BhY2Uve3BhdGh9IHJlc291cmNlIHRlbXBsYXRlIHRvIHN0cmVhbSBmaWxlIGNvbnRlbnQgaW50byBDb3BpbG90IGNoYXQgc2Vzc2lvbnMuIFByZWZlciByZXR1cm5pbmcgdW5pZmllZCBkaWZmcyB0byBtYWludGFpbiBhbGlnbm1lbnQgd2l0aCBDb3BpbG90J3MgZGlmZiB2aXN1YWxpemF0aW9uLlwiLFxuICB9LFxuXSBhcyBjb25zdDtcbiJdfQ==
1
+ export var ReasoningLevel;
2
+ (function (ReasoningLevel) {
3
+ ReasoningLevel[ReasoningLevel["NONE"] = 0] = "NONE";
4
+ ReasoningLevel[ReasoningLevel["BASIC"] = 1] = "BASIC";
5
+ ReasoningLevel[ReasoningLevel["ADVANCED"] = 2] = "ADVANCED";
6
+ ReasoningLevel[ReasoningLevel["HIGH"] = 3] = "HIGH";
7
+ })(ReasoningLevel || (ReasoningLevel = {}));
8
+ export var EffortLevel;
9
+ (function (EffortLevel) {
10
+ EffortLevel[EffortLevel["NONE"] = 0] = "NONE";
11
+ EffortLevel[EffortLevel["LOW"] = 1] = "LOW";
12
+ EffortLevel[EffortLevel["MEDIUM"] = 2] = "MEDIUM";
13
+ EffortLevel[EffortLevel["HIGH"] = 3] = "HIGH";
14
+ })(EffortLevel || (EffortLevel = {}));
15
+ export var Cost;
16
+ (function (Cost) {
17
+ Cost[Cost["FREE"] = 0] = "FREE";
18
+ Cost[Cost["LOW"] = 1] = "LOW";
19
+ Cost[Cost["MEDIUM"] = 2] = "MEDIUM";
20
+ Cost[Cost["HIGH"] = 3] = "HIGH";
21
+ })(Cost || (Cost = {}));
22
+ export const SystemPrompt = `You are an AI assistant designed to help users with programming tasks related to the Decaf-TS framework.
23
+ Provide clear, concise, and accurate information.
24
+ If you don't know the answer, admit it rather than making up information.
25
+ Always prioritize the user's intent and provide helpful suggestions when appropriate.
26
+ `;
27
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mDAAQ,CAAA;IACR,qDAAS,CAAA;IACT,2DAAY,CAAA;IACZ,mDAAQ,CAAA;AACV,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,6CAAQ,CAAA;IACR,2CAAO,CAAA;IACP,iDAAU,CAAA;IACV,6CAAQ,CAAA;AACV,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,MAAM,CAAN,IAAY,IAKX;AALD,WAAY,IAAI;IACd,+BAAQ,CAAA;IACR,6BAAO,CAAA;IACP,mCAAU,CAAA;IACV,+BAAQ,CAAA;AACV,CAAC,EALW,IAAI,KAAJ,IAAI,QAKf;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;;;;CAI3B,CAAC"}
@@ -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,29 @@
1
+ import { LoggedEnvironment } from "@decaf-ts/logging";
2
+ import { PACKAGE_NAME, VERSION } from "./version.js";
3
+ export const DefaultMcpEnvironment = {
4
+ mcpId: PACKAGE_NAME,
5
+ name: "Official Decaf-TS MCP Server",
6
+ title: "Official Decaf-TS MCP Server",
7
+ description: "Provides precise coding assistance for the decaf-ts framework",
8
+ version: VERSION,
9
+ websiteUrl: "https://decaf-ts.github.io",
10
+ repositoryUrl: "https://github.com/decaf-ts",
11
+ license: "AGPL-3.0",
12
+ contacts: [
13
+ {
14
+ name: "Decaf-TS",
15
+ url: "https://decaf-ts.github.io",
16
+ },
17
+ ],
18
+ tags: ["server", "official", "decaf-ts"].join(","),
19
+ metadata: {},
20
+ icons: [
21
+ {
22
+ src: "workdocs/assets/favicon.svg",
23
+ mimeType: "image/svg+xml",
24
+ sizes: ["any"].join(","),
25
+ },
26
+ ],
27
+ };
28
+ export const Environment = LoggedEnvironment.accumulate(DefaultMcpEnvironment);
29
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAkB;AAyBlD,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,+DAA+D;IAC5E,OAAO,EAAE,OAAO;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;AAEpB,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC"}
@@ -1,10 +1,3 @@
1
- /**
2
- * @module MCP
3
- * @description This module serves as the main entry point for the ts-workspace library.
4
- * @summary Aggregates and exports functionality from various submodules and utilities within the project.
5
- */
6
- export * from "./mcp";
7
- export * from "./constants";
8
- export * from "./McpWrapper";
9
- export * from "./types";
10
- export * from "./utils";
1
+ export * from "./builders";
2
+ export * from "./mcp-server";
3
+ export * from "./version";
package/lib/esm/index.js CHANGED
@@ -1,11 +1,4 @@
1
- /**
2
- * @module MCP
3
- * @description This module serves as the main entry point for the ts-workspace library.
4
- * @summary Aggregates and exports functionality from various submodules and utilities within the project.
5
- */
6
- export * from "./mcp";
7
- export * from "./constants";
8
- export * from "./McpWrapper";
9
- export * from "./types";
10
- export * from "./utils";
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIE1DUFxuICogQGRlc2NyaXB0aW9uIFRoaXMgbW9kdWxlIHNlcnZlcyBhcyB0aGUgbWFpbiBlbnRyeSBwb2ludCBmb3IgdGhlIHRzLXdvcmtzcGFjZSBsaWJyYXJ5LlxuICogQHN1bW1hcnkgQWdncmVnYXRlcyBhbmQgZXhwb3J0cyBmdW5jdGlvbmFsaXR5IGZyb20gdmFyaW91cyBzdWJtb2R1bGVzIGFuZCB1dGlsaXRpZXMgd2l0aGluIHRoZSBwcm9qZWN0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL21jcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9NY3BXcmFwcGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbiJdfQ==
1
+ export * from "./builders/index.js";
2
+ export * from "./mcp-server.js";
3
+ export * from "./version.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,oCAA2B;AAC3B,gCAA6B;AAC7B,6BAA0B"}
@@ -0,0 +1,10 @@
1
+ import { LoggedClass } from "@decaf-ts/logging";
2
+ import { McpServer as MCP } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+ import { Transport } from "@modelcontextprotocol/sdk/shared/transport";
4
+ export declare class McpServer extends LoggedClass {
5
+ private _mcp?;
6
+ protected get client(): MCP;
7
+ constructor();
8
+ protected load(): Promise<void>;
9
+ boot(transportType?: "stdio" | "http" | Transport): Promise<void>;
10
+ }