@decaf-ts/mcp-server 0.0.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +18 -2
  2. package/dist/mcp-server.cjs +1989 -341
  3. package/dist/mcp-server.esm.cjs +1963 -338
  4. package/lib/McpWrapper.cjs +12 -10
  5. package/lib/McpWrapper.d.ts +1 -1
  6. package/lib/bin/validate-modules.cjs +24 -0
  7. package/lib/bin/validate-modules.d.ts +2 -0
  8. package/lib/constants.cjs +22 -2
  9. package/lib/constants.d.ts +16 -0
  10. package/lib/esm/McpWrapper.d.ts +1 -1
  11. package/lib/esm/McpWrapper.js +12 -10
  12. package/lib/esm/bin/validate-modules.d.ts +2 -0
  13. package/lib/esm/bin/validate-modules.js +22 -0
  14. package/lib/esm/constants.d.ts +16 -0
  15. package/lib/esm/constants.js +21 -1
  16. package/lib/esm/mcp/aggregateModules.d.ts +26 -0
  17. package/lib/esm/mcp/aggregateModules.js +185 -0
  18. package/lib/esm/mcp/code.d.ts +23 -0
  19. package/lib/esm/mcp/code.js +70 -0
  20. package/lib/esm/mcp/decorator-tools.js +237 -0
  21. package/lib/esm/mcp/fastmcp-wiring.d.ts +14 -0
  22. package/lib/esm/mcp/fastmcp-wiring.js +56 -0
  23. package/lib/esm/mcp/index.d.ts +7 -1
  24. package/lib/esm/mcp/index.js +26 -2
  25. package/lib/esm/mcp/mcp-module.d.ts +11 -0
  26. package/lib/esm/mcp/mcp-module.js +31 -0
  27. package/lib/esm/mcp/moduleRegistry.d.ts +12 -0
  28. package/lib/esm/mcp/moduleRegistry.js +46 -0
  29. package/lib/esm/mcp/prompts/index.d.ts +4 -0
  30. package/lib/esm/mcp/prompts/index.js +7 -0
  31. package/lib/esm/mcp/prompts/prompts.d.ts +22 -0
  32. package/lib/esm/mcp/prompts/prompts.js +197 -0
  33. package/lib/esm/mcp/resources/index.d.ts +1 -0
  34. package/lib/esm/mcp/resources/index.js +2 -0
  35. package/lib/esm/mcp/resources/resources.d.ts +2 -0
  36. package/lib/esm/mcp/resources/resources.js +69 -0
  37. package/lib/esm/mcp/schemas.d.ts +53 -0
  38. package/lib/esm/mcp/schemas.js +97 -0
  39. package/lib/esm/mcp/templates/codex-templates.d.ts +3 -0
  40. package/lib/esm/mcp/templates/codex-templates.js +33 -0
  41. package/lib/esm/mcp/templates/index.d.ts +71 -0
  42. package/lib/esm/mcp/templates/index.js +66 -0
  43. package/lib/esm/mcp/templates/resource-templates.d.ts +3 -0
  44. package/lib/esm/mcp/templates/resource-templates.js +60 -0
  45. package/lib/esm/mcp/templates/workspace-templates.d.ts +3 -0
  46. package/lib/esm/mcp/templates/workspace-templates.js +66 -0
  47. package/lib/esm/mcp/tools/codex-tools.d.ts +5 -0
  48. package/lib/esm/mcp/tools/codex-tools.js +244 -0
  49. package/lib/esm/mcp/tools/generateMcpModule.d.ts +9 -0
  50. package/lib/esm/mcp/tools/generateMcpModule.js +133 -0
  51. package/lib/esm/mcp/tools/index.d.ts +321 -0
  52. package/lib/esm/mcp/tools/index.js +29 -0
  53. package/lib/esm/mcp/tools/tools.d.ts +10 -0
  54. package/lib/esm/mcp/tools/tools.js +273 -0
  55. package/lib/esm/mcp/types.d.ts +66 -0
  56. package/lib/esm/mcp/types.js +2 -0
  57. package/lib/esm/mcp/utils.d.ts +4 -0
  58. package/lib/esm/mcp/utils.js +46 -0
  59. package/lib/esm/mcp/validation/index.d.ts +13 -0
  60. package/lib/esm/mcp/validation/index.js +116 -0
  61. package/lib/esm/mcp/validation/scaffoldModule.d.ts +9 -0
  62. package/lib/esm/mcp/validation/scaffoldModule.js +88 -0
  63. package/lib/esm/mcp/workspace.d.ts +9 -0
  64. package/lib/esm/mcp/workspace.js +73 -0
  65. package/lib/esm/metadata.d.ts +1 -1
  66. package/lib/esm/metadata.js +1 -1
  67. package/lib/esm/modules/_template/index.d.ts +32 -0
  68. package/lib/esm/modules/_template/index.js +16 -0
  69. package/lib/esm/modules/_template/prompts/index.d.ts +6 -0
  70. package/lib/esm/modules/_template/prompts/index.js +9 -0
  71. package/lib/esm/modules/_template/resources/index.d.ts +6 -0
  72. package/lib/esm/modules/_template/resources/index.js +9 -0
  73. package/lib/esm/modules/_template/templates/index.d.ts +7 -0
  74. package/lib/esm/modules/_template/templates/index.js +10 -0
  75. package/lib/esm/modules/_template/tools/index.d.ts +6 -0
  76. package/lib/esm/modules/_template/tools/index.js +15 -0
  77. package/lib/esm/modules/decoration/index.d.ts +46 -0
  78. package/lib/esm/modules/decoration/index.js +10 -2
  79. package/lib/esm/modules/decoration/prompts/index.d.ts +1 -0
  80. package/lib/esm/modules/decoration/prompts/index.js +2 -0
  81. package/lib/esm/modules/decoration/resources/index.d.ts +7 -0
  82. package/lib/esm/modules/decoration/resources/index.js +10 -0
  83. package/lib/esm/modules/decoration/templates/index.d.ts +6 -0
  84. package/lib/esm/modules/decoration/templates/index.js +9 -0
  85. package/lib/esm/modules/decoration/tools/index.d.ts +26 -0
  86. package/lib/esm/modules/decoration/tools/index.js +7 -0
  87. package/lib/esm/modules/index.d.ts +2 -0
  88. package/lib/esm/modules/index.js +10 -0
  89. package/lib/esm/modules/mcp/decoration-assist.d.ts +4 -0
  90. package/lib/esm/modules/mcp/decoration-assist.js +6 -0
  91. package/lib/esm/modules/mcp/index.d.ts +6 -2
  92. package/lib/esm/modules/mcp/index.js +16 -3
  93. package/lib/esm/modules/mcp/prompts/index.d.ts +2 -0
  94. package/lib/esm/modules/mcp/prompts/index.js +9 -0
  95. package/lib/esm/modules/mcp/resources/index.d.ts +2 -0
  96. package/lib/esm/modules/mcp/resources/index.js +24 -0
  97. package/lib/esm/modules/mcp/templates/index.d.ts +2 -0
  98. package/lib/esm/modules/mcp/templates/index.js +28 -0
  99. package/lib/esm/modules/mcp/tools/index.d.ts +6 -0
  100. package/lib/esm/modules/mcp/tools/index.js +15 -0
  101. package/lib/esm/types.d.ts +41 -1
  102. package/lib/esm/types.js +1 -1
  103. package/lib/esm/utils/modulePaths.d.ts +6 -0
  104. package/lib/esm/utils/modulePaths.js +33 -0
  105. package/lib/esm/utils/moduleValidator.d.ts +14 -0
  106. package/lib/esm/utils/moduleValidator.js +176 -0
  107. package/lib/esm/utils.d.ts +1 -0
  108. package/lib/esm/utils.js +2 -1
  109. package/lib/mcp/aggregateModules.cjs +225 -0
  110. package/lib/mcp/aggregateModules.d.ts +26 -0
  111. package/lib/mcp/code.cjs +81 -0
  112. package/lib/mcp/code.d.ts +23 -0
  113. package/lib/mcp/decorator-tools.cjs +243 -0
  114. package/lib/mcp/fastmcp-wiring.cjs +59 -0
  115. package/lib/mcp/fastmcp-wiring.d.ts +14 -0
  116. package/lib/mcp/index.cjs +47 -12
  117. package/lib/mcp/index.d.ts +7 -1
  118. package/lib/mcp/mcp-module.cjs +53 -0
  119. package/lib/mcp/mcp-module.d.ts +11 -0
  120. package/lib/mcp/moduleRegistry.cjs +50 -0
  121. package/lib/mcp/moduleRegistry.d.ts +12 -0
  122. package/lib/mcp/prompts/index.cjs +25 -0
  123. package/lib/mcp/prompts/index.d.ts +4 -0
  124. package/lib/mcp/prompts/prompts.cjs +211 -0
  125. package/lib/mcp/prompts/prompts.d.ts +22 -0
  126. package/lib/mcp/resources/index.cjs +18 -0
  127. package/lib/mcp/resources/index.d.ts +1 -0
  128. package/lib/mcp/resources/resources.cjs +72 -0
  129. package/lib/mcp/resources/resources.d.ts +2 -0
  130. package/lib/mcp/schemas.cjs +100 -0
  131. package/lib/mcp/schemas.d.ts +53 -0
  132. package/lib/mcp/templates/codex-templates.cjs +40 -0
  133. package/lib/mcp/templates/codex-templates.d.ts +3 -0
  134. package/lib/mcp/templates/index.cjs +76 -0
  135. package/lib/mcp/templates/index.d.ts +71 -0
  136. package/lib/mcp/templates/resource-templates.cjs +67 -0
  137. package/lib/mcp/templates/resource-templates.d.ts +3 -0
  138. package/lib/mcp/templates/workspace-templates.cjs +70 -0
  139. package/lib/mcp/templates/workspace-templates.d.ts +3 -0
  140. package/lib/mcp/tools/codex-tools.cjs +250 -0
  141. package/lib/mcp/tools/codex-tools.d.ts +5 -0
  142. package/lib/mcp/tools/generateMcpModule.cjs +139 -0
  143. package/lib/mcp/tools/generateMcpModule.d.ts +9 -0
  144. package/lib/mcp/tools/index.cjs +46 -0
  145. package/lib/mcp/tools/index.d.ts +321 -0
  146. package/lib/mcp/tools/tools.cjs +282 -0
  147. package/lib/mcp/tools/tools.d.ts +10 -0
  148. package/lib/mcp/types.cjs +3 -0
  149. package/lib/mcp/types.d.ts +66 -0
  150. package/lib/mcp/utils.cjs +54 -0
  151. package/lib/mcp/utils.d.ts +4 -0
  152. package/lib/mcp/validation/index.cjs +123 -0
  153. package/lib/mcp/validation/index.d.ts +13 -0
  154. package/lib/mcp/validation/scaffoldModule.cjs +94 -0
  155. package/lib/mcp/validation/scaffoldModule.d.ts +9 -0
  156. package/lib/mcp/workspace.cjs +119 -0
  157. package/lib/mcp/workspace.d.ts +9 -0
  158. package/lib/metadata.cjs +1 -1
  159. package/lib/metadata.d.ts +1 -1
  160. package/lib/modules/_template/index.cjs +23 -0
  161. package/lib/modules/_template/index.d.ts +32 -0
  162. package/lib/modules/_template/prompts/index.cjs +12 -0
  163. package/lib/modules/_template/prompts/index.d.ts +6 -0
  164. package/lib/modules/_template/resources/index.cjs +12 -0
  165. package/lib/modules/_template/resources/index.d.ts +6 -0
  166. package/lib/modules/_template/templates/index.cjs +13 -0
  167. package/lib/modules/_template/templates/index.d.ts +7 -0
  168. package/lib/modules/_template/tools/index.cjs +18 -0
  169. package/lib/modules/_template/tools/index.d.ts +6 -0
  170. package/lib/modules/decoration/index.cjs +16 -1
  171. package/lib/modules/decoration/index.d.ts +46 -0
  172. package/lib/modules/decoration/prompts/index.cjs +5 -0
  173. package/lib/modules/decoration/prompts/index.d.ts +1 -0
  174. package/lib/modules/decoration/resources/index.cjs +13 -0
  175. package/lib/modules/decoration/resources/index.d.ts +7 -0
  176. package/lib/modules/decoration/templates/index.cjs +12 -0
  177. package/lib/modules/decoration/templates/index.d.ts +6 -0
  178. package/lib/modules/decoration/tools/index.cjs +10 -0
  179. package/lib/modules/decoration/tools/index.d.ts +26 -0
  180. package/lib/modules/index.cjs +13 -0
  181. package/lib/modules/index.d.ts +2 -0
  182. package/lib/modules/mcp/decoration-assist.cjs +13 -0
  183. package/lib/modules/mcp/decoration-assist.d.ts +4 -0
  184. package/lib/modules/mcp/index.cjs +21 -22
  185. package/lib/modules/mcp/index.d.ts +6 -2
  186. package/lib/modules/mcp/prompts/index.cjs +12 -0
  187. package/lib/modules/mcp/prompts/index.d.ts +2 -0
  188. package/lib/modules/mcp/resources/index.cjs +27 -0
  189. package/lib/modules/mcp/resources/index.d.ts +2 -0
  190. package/lib/modules/mcp/templates/index.cjs +31 -0
  191. package/lib/modules/mcp/templates/index.d.ts +2 -0
  192. package/lib/modules/mcp/tools/index.cjs +18 -0
  193. package/lib/modules/mcp/tools/index.d.ts +6 -0
  194. package/lib/types.cjs +1 -1
  195. package/lib/types.d.ts +41 -1
  196. package/lib/utils/modulePaths.cjs +43 -0
  197. package/lib/utils/modulePaths.d.ts +6 -0
  198. package/lib/utils/moduleValidator.cjs +184 -0
  199. package/lib/utils/moduleValidator.d.ts +14 -0
  200. package/lib/utils.cjs +5 -1
  201. package/lib/utils.d.ts +1 -0
  202. package/package.json +18 -12
  203. package/lib/esm/modules/decoration-assist/index.d.ts +0 -39
  204. package/lib/esm/modules/decoration-assist/index.js +0 -353
  205. package/lib/esm/modules/mcp/decorator-tools.js +0 -237
  206. package/lib/esm/modules/mcp/mcp-module.d.ts +0 -230
  207. package/lib/esm/modules/mcp/mcp-module.js +0 -406
  208. package/lib/modules/decoration-assist/index.cjs +0 -360
  209. package/lib/modules/decoration-assist/index.d.ts +0 -39
  210. package/lib/modules/mcp/decorator-tools.cjs +0 -243
  211. package/lib/modules/mcp/mcp-module.cjs +0 -452
  212. package/lib/modules/mcp/mcp-module.d.ts +0 -230
  213. /package/lib/esm/{modules/mcp → mcp}/decorator-tools.d.ts +0 -0
  214. /package/lib/{modules/mcp → mcp}/decorator-tools.d.ts +0 -0
@@ -1,230 +0,0 @@
1
- import type { FastMCP, InputPrompt, Tool } from "fastmcp";
2
- import { z } from "zod";
3
- declare const documentCodeSchema: z.ZodObject<{
4
- filePath: z.ZodString;
5
- promptName: z.ZodOptional<z.ZodString>;
6
- includePrompt: z.ZodDefault<z.ZodBoolean>;
7
- includeCode: z.ZodDefault<z.ZodBoolean>;
8
- includeMetadata: z.ZodDefault<z.ZodBoolean>;
9
- additionalContext: z.ZodOptional<z.ZodString>;
10
- encoding: z.ZodDefault<z.ZodString>;
11
- }, "strict", z.ZodTypeAny, {
12
- filePath: string;
13
- includePrompt: boolean;
14
- includeCode: boolean;
15
- includeMetadata: boolean;
16
- encoding: string;
17
- promptName?: string | undefined;
18
- additionalContext?: string | undefined;
19
- }, {
20
- filePath: string;
21
- promptName?: string | undefined;
22
- includePrompt?: boolean | undefined;
23
- includeCode?: boolean | undefined;
24
- includeMetadata?: boolean | undefined;
25
- additionalContext?: string | undefined;
26
- encoding?: string | undefined;
27
- }>;
28
- declare const codeChangeSchema: z.ZodObject<{
29
- filePath: z.ZodString;
30
- patch: z.ZodString;
31
- dryRun: z.ZodDefault<z.ZodBoolean>;
32
- showDiff: z.ZodDefault<z.ZodBoolean>;
33
- diffContext: z.ZodDefault<z.ZodNumber>;
34
- encoding: z.ZodDefault<z.ZodString>;
35
- }, "strict", z.ZodTypeAny, {
36
- filePath: string;
37
- encoding: string;
38
- patch: string;
39
- dryRun: boolean;
40
- showDiff: boolean;
41
- diffContext: number;
42
- }, {
43
- filePath: string;
44
- patch: string;
45
- encoding?: string | undefined;
46
- dryRun?: boolean | undefined;
47
- showDiff?: boolean | undefined;
48
- diffContext?: number | undefined;
49
- }>;
50
- type WorkspaceResourceTemplate = {
51
- name: string;
52
- description: string;
53
- uriTemplate: string;
54
- mimeType: string;
55
- arguments: ReadonlyArray<{
56
- name: string;
57
- description: string;
58
- required: boolean;
59
- }>;
60
- load: (args: {
61
- path: string;
62
- }) => Promise<{
63
- text: string;
64
- }>;
65
- };
66
- export declare const tools: {
67
- readonly documentCodeTool: Tool<undefined, z.ZodObject<{
68
- filePath: z.ZodString;
69
- promptName: z.ZodOptional<z.ZodString>;
70
- includePrompt: z.ZodDefault<z.ZodBoolean>;
71
- includeCode: z.ZodDefault<z.ZodBoolean>;
72
- includeMetadata: z.ZodDefault<z.ZodBoolean>;
73
- additionalContext: z.ZodOptional<z.ZodString>;
74
- encoding: z.ZodDefault<z.ZodString>;
75
- }, "strict", z.ZodTypeAny, {
76
- filePath: string;
77
- includePrompt: boolean;
78
- includeCode: boolean;
79
- includeMetadata: boolean;
80
- encoding: string;
81
- promptName?: string | undefined;
82
- additionalContext?: string | undefined;
83
- }, {
84
- filePath: string;
85
- promptName?: string | undefined;
86
- includePrompt?: boolean | undefined;
87
- includeCode?: boolean | undefined;
88
- includeMetadata?: boolean | undefined;
89
- additionalContext?: string | undefined;
90
- encoding?: string | undefined;
91
- }>>;
92
- readonly applyCodeChangeTool: Tool<undefined, z.ZodObject<{
93
- filePath: z.ZodString;
94
- patch: z.ZodString;
95
- dryRun: z.ZodDefault<z.ZodBoolean>;
96
- showDiff: z.ZodDefault<z.ZodBoolean>;
97
- diffContext: z.ZodDefault<z.ZodNumber>;
98
- encoding: z.ZodDefault<z.ZodString>;
99
- }, "strict", z.ZodTypeAny, {
100
- filePath: string;
101
- encoding: string;
102
- patch: string;
103
- dryRun: boolean;
104
- showDiff: boolean;
105
- diffContext: number;
106
- }, {
107
- filePath: string;
108
- patch: string;
109
- encoding?: string | undefined;
110
- dryRun?: boolean | undefined;
111
- showDiff?: boolean | undefined;
112
- diffContext?: number | undefined;
113
- }>>;
114
- readonly createOrUpdateModelTool: {
115
- readonly name: "create-or-update-model";
116
- readonly description: "Create or update a validation-ready model class";
117
- readonly execute: (args: {
118
- filePath: string;
119
- className: string;
120
- classDecorators?: import("./decorator-tools").DecoratorSpec[];
121
- properties: import("./decorator-tools").AttributeSpec[];
122
- importsFrom: string;
123
- overwrite?: boolean;
124
- }) => Promise<{
125
- filePath: string;
126
- }>;
127
- };
128
- readonly addAttributeTool: {
129
- readonly name: "add-attribute";
130
- readonly description: "Add a decorated attribute to an existing model";
131
- readonly execute: (args: {
132
- filePath: string;
133
- className: string;
134
- attribute: import("./decorator-tools").AttributeSpec;
135
- importsFrom: string;
136
- }) => Promise<{
137
- filePath: string;
138
- }>;
139
- };
140
- readonly removeAttributeTool: {
141
- readonly name: "remove-attribute";
142
- readonly description: "Remove an attribute from a model class";
143
- readonly execute: (args: {
144
- filePath: string;
145
- className: string;
146
- attributeName: string;
147
- }) => Promise<{
148
- filePath: string;
149
- }>;
150
- };
151
- readonly applyDecoratorTool: {
152
- readonly name: "apply-decorator";
153
- readonly description: "Apply a decorator to a class or property";
154
- readonly execute: (args: {
155
- filePath: string;
156
- className: string;
157
- target: {
158
- kind: "class" | "property";
159
- name?: string;
160
- };
161
- decorator: import("./decorator-tools").DecoratorSpec;
162
- importsFrom: string;
163
- }) => Promise<{
164
- filePath: string;
165
- }>;
166
- };
167
- readonly removeDecoratorTool: {
168
- readonly name: "remove-decorator";
169
- readonly description: "Remove a decorator from a class or property";
170
- readonly execute: (args: {
171
- filePath: string;
172
- className: string;
173
- target: {
174
- kind: "class" | "property";
175
- name?: string;
176
- };
177
- decoratorName: string;
178
- }) => Promise<{
179
- filePath: string;
180
- }>;
181
- };
182
- readonly scaffoldValidatorTool: {
183
- readonly name: "scaffold-validator";
184
- readonly description: "Scaffold a validator class and optional decorator";
185
- readonly execute: (args: {
186
- validatorsDir: string;
187
- decoratorDir?: string;
188
- name: string;
189
- }) => Promise<{
190
- classFile: string;
191
- decoratorFile: string | undefined;
192
- }>;
193
- };
194
- readonly scaffoldSerializerTool: {
195
- readonly name: "scaffold-serializer";
196
- readonly description: "Scaffold a serializer class and optional registry";
197
- readonly execute: (args: {
198
- dir: string;
199
- name: string;
200
- registerDir?: string;
201
- setDefault?: boolean;
202
- }) => Promise<{
203
- classFile: string;
204
- registerFile: string | undefined;
205
- }>;
206
- };
207
- readonly scaffoldHashingTool: {
208
- readonly name: "scaffold-hashing";
209
- readonly description: "Scaffold a hashing function and optional registry";
210
- readonly execute: (args: {
211
- dir: string;
212
- name: string;
213
- registerDir?: string;
214
- setDefault?: boolean;
215
- }) => Promise<{
216
- functionFile: string;
217
- registerFile: string | undefined;
218
- }>;
219
- };
220
- };
221
- export declare function enrich(mcp: FastMCP): FastMCP;
222
- export default enrich;
223
- export declare const PACKAGE_NAME = "##PACKAGE_NAME##";
224
- export declare const VERSION = "0.0.2";
225
- export declare function setWorkspaceRoot(root: string): void;
226
- export declare function getWorkspaceRoot(): string;
227
- export declare function buildResourceTemplates(): WorkspaceResourceTemplate[];
228
- export declare function buildDocPrompts(): InputPrompt<undefined>[];
229
- export declare function __resetWorkspaceRoot(root: string): void;
230
- export { documentCodeSchema, codeChangeSchema };
File without changes