@tsed/cli 7.0.0-beta.1 → 7.0.0-beta.3

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 (91) hide show
  1. package/lib/esm/bin/tsed-mcp.js +42 -0
  2. package/lib/esm/commands/init/InitCmd.js +9 -9
  3. package/lib/esm/commands/init/config/InitSchema.js +27 -0
  4. package/lib/esm/index.js +3 -0
  5. package/lib/esm/mcp/resources/index.js +3 -0
  6. package/lib/esm/mcp/resources/projectInfoResource.js +43 -0
  7. package/lib/esm/mcp/resources/serverInfoResource.js +40 -0
  8. package/lib/esm/mcp/schema/ProjectPreferencesSchema.js +16 -0
  9. package/lib/esm/mcp/tools/generateTool.js +105 -0
  10. package/lib/esm/mcp/tools/getTemplateTool.js +47 -0
  11. package/lib/esm/mcp/tools/index.js +6 -0
  12. package/lib/esm/mcp/tools/listTemplatesTool.js +37 -0
  13. package/lib/esm/mcp/tools/setWorkspaceTool.js +64 -0
  14. package/lib/esm/services/CliProjectService.js +7 -3
  15. package/lib/esm/services/CliStats.js +45 -0
  16. package/lib/esm/services/CliTemplatesService.js +13 -4
  17. package/lib/esm/templates/asyncFactory.template.js +4 -3
  18. package/lib/esm/templates/barrels.template.js +0 -3
  19. package/lib/esm/templates/command.template.js +1 -0
  20. package/lib/esm/templates/controller.template.js +7 -0
  21. package/lib/esm/templates/decorator.template.js +22 -11
  22. package/lib/esm/templates/dockerfile.template.js +5 -0
  23. package/lib/esm/templates/exception-filter.template.js +1 -0
  24. package/lib/esm/templates/factory.template.js +4 -3
  25. package/lib/esm/templates/index.logger.template.js +0 -1
  26. package/lib/esm/templates/interceptor.template.js +1 -0
  27. package/lib/esm/templates/interface.template.js +1 -0
  28. package/lib/esm/templates/middleware.template.js +14 -4
  29. package/lib/esm/templates/model.template.js +1 -0
  30. package/lib/esm/templates/module.template.js +1 -0
  31. package/lib/esm/templates/pipe.template.js +1 -0
  32. package/lib/esm/templates/prisma.service.template.js +1 -0
  33. package/lib/esm/templates/repository.template.js +1 -0
  34. package/lib/esm/templates/response-filter.template.js +1 -0
  35. package/lib/esm/templates/service.template.js +1 -0
  36. package/lib/esm/templates/value.template.js +1 -0
  37. package/lib/esm/utils/resolveSchema.js +17 -0
  38. package/lib/esm/utils/summarizeSchema.js +24 -0
  39. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  40. package/lib/types/bin/tsed-mcp.d.ts +2 -0
  41. package/lib/types/commands/generate/GenerateCmd.d.ts +38 -1
  42. package/lib/types/commands/init/InitCmd.d.ts +1 -1
  43. package/lib/types/commands/init/config/InitSchema.d.ts +13 -0
  44. package/lib/types/index.d.ts +3 -0
  45. package/lib/types/mcp/resources/index.d.ts +2 -0
  46. package/lib/types/mcp/resources/projectInfoResource.d.ts +1 -0
  47. package/lib/types/mcp/resources/serverInfoResource.d.ts +1 -0
  48. package/lib/types/mcp/schema/ProjectPreferencesSchema.d.ts +9 -0
  49. package/lib/types/mcp/tools/generateTool.d.ts +88 -0
  50. package/lib/types/mcp/tools/getTemplateTool.d.ts +86 -0
  51. package/lib/types/mcp/tools/index.d.ts +2 -0
  52. package/lib/types/mcp/tools/listTemplatesTool.d.ts +86 -0
  53. package/lib/types/mcp/tools/setWorkspaceTool.d.ts +91 -0
  54. package/lib/types/pipes/SymbolNamePipe.d.ts +1 -1
  55. package/lib/types/services/CliProjectService.d.ts +1 -1
  56. package/lib/types/services/CliStats.d.ts +36 -0
  57. package/lib/types/services/CliTemplatesService.d.ts +6 -5
  58. package/lib/types/templates/asyncFactory.template.d.ts +1 -0
  59. package/lib/types/templates/barrels.template.d.ts +1 -0
  60. package/lib/types/templates/command.template.d.ts +1 -0
  61. package/lib/types/templates/config.template.d.ts +1 -0
  62. package/lib/types/templates/controller.template.d.ts +1 -0
  63. package/lib/types/templates/decorator.template.d.ts +1 -0
  64. package/lib/types/templates/docker-compose.template.d.ts +1 -0
  65. package/lib/types/templates/exception-filter.template.d.ts +1 -0
  66. package/lib/types/templates/factory.template.d.ts +1 -0
  67. package/lib/types/templates/index.command.template.d.ts +1 -0
  68. package/lib/types/templates/index.config.utils.template.d.ts +1 -0
  69. package/lib/types/templates/index.controller.template.d.ts +1 -0
  70. package/lib/types/templates/index.logger.template.d.ts +3 -2
  71. package/lib/types/templates/index.template.d.ts +1 -0
  72. package/lib/types/templates/interceptor.template.d.ts +1 -0
  73. package/lib/types/templates/interface.template.d.ts +1 -0
  74. package/lib/types/templates/middleware.template.d.ts +1 -0
  75. package/lib/types/templates/model.template.d.ts +1 -0
  76. package/lib/types/templates/module.template.d.ts +1 -0
  77. package/lib/types/templates/pipe.template.d.ts +1 -0
  78. package/lib/types/templates/prisma.service.template.d.ts +1 -0
  79. package/lib/types/templates/readme.template.d.ts +1 -0
  80. package/lib/types/templates/repository.template.d.ts +1 -0
  81. package/lib/types/templates/response-filter.template.d.ts +1 -0
  82. package/lib/types/templates/server.template.d.ts +1 -0
  83. package/lib/types/templates/service.template.d.ts +1 -0
  84. package/lib/types/templates/tsconfig.spec.template.d.ts +1 -0
  85. package/lib/types/templates/value.template.d.ts +1 -0
  86. package/lib/types/utils/defineTemplate.d.ts +11 -0
  87. package/lib/types/utils/resolveSchema.d.ts +2 -0
  88. package/lib/types/utils/summarizeSchema.d.ts +8 -0
  89. package/package.json +15 -10
  90. package/lib/esm/commands/init/config/InitFileSchema.js +0 -49
  91. package/lib/types/commands/init/config/InitFileSchema.d.ts +0 -49
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,8 +9,9 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
- render(symbolName: string, data: import("../interfaces/GenerateCmdContext.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
- prompts?(data: import("../interfaces/GenerateCmdContext.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../interfaces/GenerateCmdContext.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../interfaces/GenerateCmdContext.js").GenerateCmdContext>[]>;
12
+ schema?: import("@tsed/schema").JsonSchema;
13
+ render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
14
+ prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
15
16
  }>;
16
17
  export default _default;
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -10,6 +10,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
10
10
  hidden?: boolean;
11
11
  preserveCase?: boolean;
12
12
  preserveDirectory?: boolean;
13
+ schema?: import("@tsed/schema").JsonSchema;
13
14
  render(symbolName: string, data: GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
14
15
  prompts?(data: GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<GenerateCmdContext>[]>;
15
16
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/cli-core").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("@tsed/cli").GenerateCmdContext): Promise<string | undefined | import("@tsed/cli").TemplateRenderReturnType> | string | undefined | import("@tsed/cli").TemplateRenderReturnType;
13
14
  prompts?(data: import("@tsed/cli").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("@tsed/cli").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("@tsed/cli").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/cli-core").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -9,6 +9,7 @@ declare const _default: import("@tsed/di").FactoryTokenProvider<{
9
9
  hidden?: boolean;
10
10
  preserveCase?: boolean;
11
11
  preserveDirectory?: boolean;
12
+ schema?: import("@tsed/schema").JsonSchema;
12
13
  render(symbolName: string, data: import("../index.js").GenerateCmdContext): Promise<string | undefined | import("../index.js").TemplateRenderReturnType> | string | undefined | import("../index.js").TemplateRenderReturnType;
13
14
  prompts?(data: import("../index.js").GenerateCmdContext): import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[] | Promise<import("@tsed/cli-core").QuestionOptions<import("../index.js").GenerateCmdContext>[]>;
14
15
  hooks?: import("@tsed/di").ProviderOpts["hooks"];
@@ -1,4 +1,5 @@
1
1
  import { type ProviderOpts, type QuestionOptions } from "@tsed/cli-core";
2
+ import type { JsonSchema } from "@tsed/schema";
2
3
  import type { GenerateCmdContext } from "../interfaces/index.js";
3
4
  import type { TemplateRenderReturnType } from "../services/CliTemplatesService.js";
4
5
  export type DefineTemplateOptions = {
@@ -31,6 +32,11 @@ export type DefineTemplateOptions = {
31
32
  * If `true` the directory structure will be preserved when generating the file.
32
33
  */
33
34
  preserveDirectory?: boolean;
35
+ /**
36
+ * Optional Ts.ED Schema describing template-specific arguments (exclude global fields like `type` and `name`).
37
+ * Can be provided as a JsonSchema builder result (from @tsed/schema DSL) or any object exposing `toJSON()` to JSON Schema.
38
+ */
39
+ schema?: JsonSchema;
34
40
  render(symbolName: string, data: GenerateCmdContext): Promise<string | undefined | TemplateRenderReturnType> | string | undefined | TemplateRenderReturnType;
35
41
  prompts?(data: GenerateCmdContext): QuestionOptions<GenerateCmdContext>[] | Promise<QuestionOptions<GenerateCmdContext>[]>;
36
42
  hooks?: ProviderOpts["hooks"];
@@ -61,6 +67,11 @@ export declare function defineTemplate(opts: DefineTemplateOptions): import("@ts
61
67
  * If `true` the directory structure will be preserved when generating the file.
62
68
  */
63
69
  preserveDirectory?: boolean;
70
+ /**
71
+ * Optional Ts.ED Schema describing template-specific arguments (exclude global fields like `type` and `name`).
72
+ * Can be provided as a JsonSchema builder result (from @tsed/schema DSL) or any object exposing `toJSON()` to JSON Schema.
73
+ */
74
+ schema?: JsonSchema;
64
75
  render(symbolName: string, data: GenerateCmdContext): Promise<string | undefined | TemplateRenderReturnType> | string | undefined | TemplateRenderReturnType;
65
76
  prompts?(data: GenerateCmdContext): QuestionOptions<GenerateCmdContext>[] | Promise<QuestionOptions<GenerateCmdContext>[]>;
66
77
  hooks?: ProviderOpts["hooks"];
@@ -0,0 +1,2 @@
1
+ import { JsonSchema } from "@tsed/schema";
2
+ export declare function resolveSchema(schema?: JsonSchema): Promise<any>;
@@ -0,0 +1,8 @@
1
+ import type { DefineTemplateOptions } from "./defineTemplate.js";
2
+ export declare const summarizeSchema: (tpl: DefineTemplateOptions) => {
3
+ required?: undefined;
4
+ properties?: undefined;
5
+ } | {
6
+ required: any;
7
+ properties: Record<string, any> | undefined;
8
+ } | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tsed/cli",
3
3
  "description": "CLI to bootstrap your Ts.ED project",
4
- "version": "7.0.0-beta.1",
4
+ "version": "7.0.0-beta.3",
5
5
  "type": "module",
6
6
  "main": "./lib/esm/index.js",
7
7
  "source": "./src/index.ts",
@@ -22,10 +22,12 @@
22
22
  "test:ci": "vitest run --coverage.thresholds.autoUpdate=true"
23
23
  },
24
24
  "bin": {
25
- "tsed": "lib/esm/bin/tsed.js"
25
+ "tsed": "lib/esm/bin/tsed.js",
26
+ "tsed-mcp": "lib/esm/bin/tsed-mcp.js"
26
27
  },
27
28
  "files": [
28
29
  "lib/esm/bin/tsed.js",
30
+ "lib/esm/bin/tsed-mcp.js",
29
31
  "lib/esm/bin",
30
32
  "lib",
31
33
  "templates"
@@ -44,25 +46,28 @@
44
46
  "node": ">=14"
45
47
  },
46
48
  "dependencies": {
49
+ "@modelcontextprotocol/sdk": "^1.19.1",
47
50
  "@npmcli/run-script": "9.0.0",
48
51
  "@swc-node/register": "^1.10.9",
49
52
  "@swc/core": "1.7.26",
50
53
  "@swc/helpers": "^0.5.13",
51
- "@tsed/cli-core": "7.0.0-beta.1",
52
- "@tsed/core": ">=8.17.3",
53
- "@tsed/di": ">=8.17.3",
54
- "@tsed/hooks": ">=8.17.3",
54
+ "@tsed/cli-core": "7.0.0-beta.3",
55
+ "@tsed/cli-mcp": "7.0.0-beta.3",
56
+ "@tsed/core": ">=8.18.0",
57
+ "@tsed/di": ">=8.18.0",
58
+ "@tsed/hooks": ">=8.18.0",
55
59
  "@tsed/logger": ">=8.0.3",
56
60
  "@tsed/logger-std": ">=8.0.3",
57
- "@tsed/normalize-path": ">=8.17.3",
58
- "@tsed/openspec": ">=8.17.3",
59
- "@tsed/schema": ">=8.17.3",
61
+ "@tsed/normalize-path": ">=8.18.0",
62
+ "@tsed/openspec": ">=8.18.0",
63
+ "@tsed/schema": ">=8.18.0",
60
64
  "chalk": "^5.3.0",
61
65
  "change-case": "^5.4.4",
62
66
  "consolidate": "^1.0.4",
63
67
  "create-frame": "^1.0.0",
64
68
  "fs-extra": "^11.2.0",
65
69
  "globby": "^14.0.2",
70
+ "json-schema-to-zod": "2.6.1",
66
71
  "read-pkg-up": "^11.0.0",
67
72
  "rxjs": "^7.8.1",
68
73
  "semver": "^7.6.3",
@@ -70,7 +75,7 @@
70
75
  "tslib": "^2.7.0"
71
76
  },
72
77
  "devDependencies": {
73
- "@tsed/typescript": "7.0.0-beta.1",
78
+ "@tsed/typescript": "7.0.0-beta.3",
74
79
  "@types/change-case": "^2.3.1",
75
80
  "@types/consolidate": "0.14.4",
76
81
  "cross-env": "7.0.3",
@@ -1,49 +0,0 @@
1
- import { PackageManager } from "@tsed/cli-core";
2
- import { ArchitectureConvention, PlatformType, ProjectConvention } from "../../../interfaces/index.js";
3
- import { FeatureType } from "./FeaturesPrompt.js";
4
- export const InitFileSchema = {
5
- type: "object",
6
- properties: {
7
- tsedVersion: {
8
- type: "string"
9
- },
10
- projectName: {
11
- type: "string",
12
- maxLength: 100
13
- },
14
- platform: {
15
- type: "string",
16
- description: "The project name. By default, the project is the same as the name directory.",
17
- enum: Object.values(PlatformType),
18
- default: PlatformType.EXPRESS
19
- },
20
- architecture: {
21
- type: "string",
22
- enum: Object.values(ArchitectureConvention),
23
- default: ArchitectureConvention.DEFAULT
24
- },
25
- convention: {
26
- type: "string",
27
- enum: Object.values(ProjectConvention),
28
- default: ProjectConvention.DEFAULT
29
- },
30
- features: {
31
- type: "array",
32
- items: {
33
- type: "string",
34
- enum: Object.values(FeatureType)
35
- }
36
- },
37
- packageManager: {
38
- type: "string",
39
- enum: Object.values(PackageManager),
40
- default: PackageManager.YARN
41
- },
42
- skipPrompt: {
43
- type: "boolean",
44
- default: false
45
- }
46
- },
47
- required: ["features"],
48
- additionalProperties: true
49
- };
@@ -1,49 +0,0 @@
1
- import { PackageManager } from "@tsed/cli-core";
2
- import { ArchitectureConvention, PlatformType, ProjectConvention } from "../../../interfaces/index.js";
3
- import { FeatureType } from "./FeaturesPrompt.js";
4
- export declare const InitFileSchema: {
5
- type: string;
6
- properties: {
7
- tsedVersion: {
8
- type: string;
9
- };
10
- projectName: {
11
- type: string;
12
- maxLength: number;
13
- };
14
- platform: {
15
- type: string;
16
- description: string;
17
- enum: PlatformType[];
18
- default: PlatformType;
19
- };
20
- architecture: {
21
- type: string;
22
- enum: ArchitectureConvention[];
23
- default: ArchitectureConvention;
24
- };
25
- convention: {
26
- type: string;
27
- enum: ProjectConvention[];
28
- default: ProjectConvention;
29
- };
30
- features: {
31
- type: string;
32
- items: {
33
- type: string;
34
- enum: FeatureType[];
35
- };
36
- };
37
- packageManager: {
38
- type: string;
39
- enum: PackageManager[];
40
- default: PackageManager;
41
- };
42
- skipPrompt: {
43
- type: string;
44
- default: boolean;
45
- };
46
- };
47
- required: string[];
48
- additionalProperties: boolean;
49
- };