@baseplate-dev/project-builder-server 0.3.2 → 0.3.4

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 (240) hide show
  1. package/dist/actions/diff/diff-project.action.d.ts +73 -0
  2. package/dist/actions/diff/diff-project.action.d.ts.map +1 -0
  3. package/dist/actions/diff/diff-project.action.js +103 -0
  4. package/dist/actions/diff/diff-project.action.js.map +1 -0
  5. package/dist/actions/diff/index.d.ts +2 -0
  6. package/dist/actions/diff/index.d.ts.map +1 -0
  7. package/dist/actions/diff/index.js +2 -0
  8. package/dist/actions/diff/index.js.map +1 -0
  9. package/dist/actions/index.d.ts +7 -0
  10. package/dist/actions/index.d.ts.map +1 -0
  11. package/dist/actions/index.js +7 -0
  12. package/dist/actions/index.js.map +1 -0
  13. package/dist/actions/registry.d.ts +270 -0
  14. package/dist/actions/registry.d.ts.map +1 -0
  15. package/dist/actions/registry.js +23 -0
  16. package/dist/actions/registry.js.map +1 -0
  17. package/dist/actions/snapshot/index.d.ts +5 -0
  18. package/dist/actions/snapshot/index.d.ts.map +1 -0
  19. package/dist/actions/snapshot/index.js +5 -0
  20. package/dist/actions/snapshot/index.js.map +1 -0
  21. package/dist/actions/snapshot/snapshot-add.action.d.ts +16 -0
  22. package/dist/actions/snapshot/snapshot-add.action.d.ts.map +1 -0
  23. package/dist/actions/snapshot/snapshot-add.action.js +80 -0
  24. package/dist/actions/snapshot/snapshot-add.action.js.map +1 -0
  25. package/dist/actions/snapshot/snapshot-remove.action.d.ts +15 -0
  26. package/dist/actions/snapshot/snapshot-remove.action.d.ts.map +1 -0
  27. package/dist/actions/snapshot/snapshot-remove.action.js +75 -0
  28. package/dist/actions/snapshot/snapshot-remove.action.js.map +1 -0
  29. package/dist/actions/snapshot/snapshot-save.action.d.ts +15 -0
  30. package/dist/actions/snapshot/snapshot-save.action.d.ts.map +1 -0
  31. package/dist/actions/snapshot/snapshot-save.action.js +82 -0
  32. package/dist/actions/snapshot/snapshot-save.action.js.map +1 -0
  33. package/dist/actions/snapshot/snapshot-show.action.d.ts +43 -0
  34. package/dist/actions/snapshot/snapshot-show.action.d.ts.map +1 -0
  35. package/dist/actions/snapshot/snapshot-show.action.js +136 -0
  36. package/dist/actions/snapshot/snapshot-show.action.js.map +1 -0
  37. package/dist/actions/sync/index.d.ts +2 -0
  38. package/dist/actions/sync/index.d.ts.map +1 -0
  39. package/dist/actions/sync/index.js +2 -0
  40. package/dist/actions/sync/index.js.map +1 -0
  41. package/dist/actions/sync/sync-project.action.d.ts +14 -0
  42. package/dist/actions/sync/sync-project.action.d.ts.map +1 -0
  43. package/dist/actions/sync/sync-project.action.js +94 -0
  44. package/dist/actions/sync/sync-project.action.js.map +1 -0
  45. package/dist/actions/template-extractor/discover-generators.action.d.ts +49 -0
  46. package/dist/actions/template-extractor/discover-generators.action.d.ts.map +1 -0
  47. package/dist/actions/template-extractor/discover-generators.action.js +57 -0
  48. package/dist/actions/template-extractor/discover-generators.action.js.map +1 -0
  49. package/dist/actions/template-extractor/extract-templates.action.d.ts +14 -0
  50. package/dist/actions/template-extractor/extract-templates.action.d.ts.map +1 -0
  51. package/dist/actions/template-extractor/extract-templates.action.js +60 -0
  52. package/dist/actions/template-extractor/extract-templates.action.js.map +1 -0
  53. package/dist/actions/template-extractor/generate-templates.action.d.ts +12 -0
  54. package/dist/actions/template-extractor/generate-templates.action.d.ts.map +1 -0
  55. package/dist/actions/template-extractor/generate-templates.action.js +58 -0
  56. package/dist/actions/template-extractor/generate-templates.action.js.map +1 -0
  57. package/dist/actions/template-extractor/index.d.ts +4 -0
  58. package/dist/actions/template-extractor/index.d.ts.map +1 -0
  59. package/dist/actions/template-extractor/index.js +4 -0
  60. package/dist/actions/template-extractor/index.js.map +1 -0
  61. package/dist/actions/templates/configure-raw-template.action.d.ts +16 -0
  62. package/dist/actions/templates/configure-raw-template.action.d.ts.map +1 -0
  63. package/dist/actions/templates/configure-raw-template.action.js +50 -0
  64. package/dist/actions/templates/configure-raw-template.action.js.map +1 -0
  65. package/dist/actions/templates/configure-text-template.action.d.ts +27 -0
  66. package/dist/actions/templates/configure-text-template.action.d.ts.map +1 -0
  67. package/dist/actions/templates/configure-text-template.action.js +64 -0
  68. package/dist/actions/templates/configure-text-template.action.js.map +1 -0
  69. package/dist/actions/templates/configure-ts-template.action.d.ts +18 -0
  70. package/dist/actions/templates/configure-ts-template.action.d.ts.map +1 -0
  71. package/dist/actions/templates/configure-ts-template.action.js +58 -0
  72. package/dist/actions/templates/configure-ts-template.action.js.map +1 -0
  73. package/dist/actions/templates/delete-template.action.d.ts +15 -0
  74. package/dist/actions/templates/delete-template.action.d.ts.map +1 -0
  75. package/dist/actions/templates/delete-template.action.js +49 -0
  76. package/dist/actions/templates/delete-template.action.js.map +1 -0
  77. package/dist/actions/templates/index.d.ts +7 -0
  78. package/dist/actions/templates/index.d.ts.map +1 -0
  79. package/dist/actions/templates/index.js +7 -0
  80. package/dist/actions/templates/index.js.map +1 -0
  81. package/dist/actions/templates/list-templates.action.d.ts +35 -0
  82. package/dist/actions/templates/list-templates.action.d.ts.map +1 -0
  83. package/dist/actions/templates/list-templates.action.js +63 -0
  84. package/dist/actions/templates/list-templates.action.js.map +1 -0
  85. package/dist/actions/templates/show-template-metadata.action.d.ts +17 -0
  86. package/dist/actions/templates/show-template-metadata.action.d.ts.map +1 -0
  87. package/dist/actions/templates/show-template-metadata.action.js +57 -0
  88. package/dist/actions/templates/show-template-metadata.action.js.map +1 -0
  89. package/dist/actions/types.d.ts +60 -0
  90. package/dist/actions/types.d.ts.map +1 -0
  91. package/dist/actions/types.js +9 -0
  92. package/dist/actions/types.js.map +1 -0
  93. package/dist/actions/utils/cli.d.ts +12 -0
  94. package/dist/actions/utils/cli.d.ts.map +1 -0
  95. package/dist/actions/utils/cli.js +14 -0
  96. package/dist/actions/utils/cli.js.map +1 -0
  97. package/dist/actions/utils/index.d.ts +6 -0
  98. package/dist/actions/utils/index.d.ts.map +1 -0
  99. package/dist/actions/utils/index.js +6 -0
  100. package/dist/actions/utils/index.js.map +1 -0
  101. package/dist/actions/utils/project-discovery.d.ts +22 -0
  102. package/dist/actions/utils/project-discovery.d.ts.map +1 -0
  103. package/dist/actions/utils/project-discovery.js +78 -0
  104. package/dist/actions/utils/project-discovery.js.map +1 -0
  105. package/dist/actions/utils/project-id.d.ts +7 -0
  106. package/dist/actions/utils/project-id.d.ts.map +1 -0
  107. package/dist/actions/utils/project-id.js +15 -0
  108. package/dist/actions/utils/project-id.js.map +1 -0
  109. package/dist/actions/utils/projects.d.ts +9 -0
  110. package/dist/actions/utils/projects.d.ts.map +1 -0
  111. package/dist/actions/utils/projects.js +16 -0
  112. package/dist/actions/utils/projects.js.map +1 -0
  113. package/dist/actions/utils/run-in-worker.d.ts +13 -0
  114. package/dist/actions/utils/run-in-worker.d.ts.map +1 -0
  115. package/dist/actions/utils/run-in-worker.js +78 -0
  116. package/dist/actions/utils/run-in-worker.js.map +1 -0
  117. package/dist/actions/utils/trpc.d.ts +16 -0
  118. package/dist/actions/utils/trpc.d.ts.map +1 -0
  119. package/dist/actions/utils/trpc.js +19 -0
  120. package/dist/actions/utils/trpc.js.map +1 -0
  121. package/dist/actions/utils/worker-script.d.ts +28 -0
  122. package/dist/actions/utils/worker-script.d.ts.map +1 -0
  123. package/dist/actions/utils/worker-script.js +55 -0
  124. package/dist/actions/utils/worker-script.js.map +1 -0
  125. package/dist/api/context.d.ts.map +1 -1
  126. package/dist/api/trpc.d.ts.map +1 -1
  127. package/dist/constants/server.d.ts +1 -1
  128. package/dist/constants/server.js +1 -1
  129. package/dist/dev-server/api/router.d.ts +325 -0
  130. package/dist/dev-server/api/router.d.ts.map +1 -0
  131. package/dist/dev-server/api/router.js +40 -0
  132. package/dist/dev-server/api/router.js.map +1 -0
  133. package/dist/dev-server/api/trpc.d.ts +20 -0
  134. package/dist/dev-server/api/trpc.d.ts.map +1 -0
  135. package/dist/dev-server/api/trpc.js +18 -0
  136. package/dist/dev-server/api/trpc.js.map +1 -0
  137. package/dist/dev-server/auth-plugin.d.ts +6 -0
  138. package/dist/dev-server/auth-plugin.d.ts.map +1 -0
  139. package/dist/dev-server/auth-plugin.js +43 -0
  140. package/dist/dev-server/auth-plugin.js.map +1 -0
  141. package/dist/dev-server/get-or-create-config.d.ts +18 -0
  142. package/dist/dev-server/get-or-create-config.d.ts.map +1 -0
  143. package/dist/dev-server/get-or-create-config.js +76 -0
  144. package/dist/dev-server/get-or-create-config.js.map +1 -0
  145. package/dist/dev-server/index.d.ts +4 -0
  146. package/dist/dev-server/index.d.ts.map +1 -0
  147. package/dist/dev-server/index.js +3 -0
  148. package/dist/dev-server/index.js.map +1 -0
  149. package/dist/dev-server/mcp/fastify.d.ts +8 -0
  150. package/dist/dev-server/mcp/fastify.d.ts.map +1 -0
  151. package/dist/dev-server/mcp/fastify.js +80 -0
  152. package/dist/dev-server/mcp/fastify.js.map +1 -0
  153. package/dist/dev-server/mcp/server.d.ts +15 -0
  154. package/dist/dev-server/mcp/server.d.ts.map +1 -0
  155. package/dist/dev-server/mcp/server.js +120 -0
  156. package/dist/dev-server/mcp/server.js.map +1 -0
  157. package/dist/dev-server/mcp/stdio.d.ts +4 -0
  158. package/dist/dev-server/mcp/stdio.d.ts.map +1 -0
  159. package/dist/dev-server/mcp/stdio.js +15 -0
  160. package/dist/dev-server/mcp/stdio.js.map +1 -0
  161. package/dist/dev-server/server.d.ts +18 -0
  162. package/dist/dev-server/server.d.ts.map +1 -0
  163. package/dist/dev-server/server.js +91 -0
  164. package/dist/dev-server/server.js.map +1 -0
  165. package/dist/diff/diff-project.d.ts +37 -20
  166. package/dist/diff/diff-project.d.ts.map +1 -1
  167. package/dist/diff/diff-project.js +89 -79
  168. package/dist/diff/diff-project.js.map +1 -1
  169. package/dist/fastify-plugins/graceful-shutdown.d.ts.map +1 -0
  170. package/dist/fastify-plugins/graceful-shutdown.js.map +1 -0
  171. package/dist/server/builder-service-manager.d.ts +9 -8
  172. package/dist/server/builder-service-manager.d.ts.map +1 -1
  173. package/dist/server/builder-service-manager.js +4 -10
  174. package/dist/server/builder-service-manager.js.map +1 -1
  175. package/dist/server/server.js +1 -1
  176. package/dist/server/server.js.map +1 -1
  177. package/dist/service/builder-service.d.ts +3 -4
  178. package/dist/service/builder-service.d.ts.map +1 -1
  179. package/dist/service/builder-service.js +7 -3
  180. package/dist/service/builder-service.js.map +1 -1
  181. package/dist/template-extractor/discover-generators.d.ts.map +1 -1
  182. package/dist/template-extractor/discover-generators.js +1 -1
  183. package/dist/template-extractor/discover-generators.js.map +1 -1
  184. package/dist/templates/configure/configure-raw-template.d.ts +13 -0
  185. package/dist/templates/configure/configure-raw-template.d.ts.map +1 -0
  186. package/dist/templates/configure/configure-raw-template.js +26 -0
  187. package/dist/templates/configure/configure-raw-template.js.map +1 -0
  188. package/dist/templates/configure/configure-text-template.d.ts +18 -0
  189. package/dist/templates/configure/configure-text-template.d.ts.map +1 -0
  190. package/dist/templates/configure/configure-text-template.js +48 -0
  191. package/dist/templates/configure/configure-text-template.js.map +1 -0
  192. package/dist/templates/configure/configure-ts-template.d.ts +15 -0
  193. package/dist/templates/configure/configure-ts-template.d.ts.map +1 -0
  194. package/dist/templates/configure/configure-ts-template.js +44 -0
  195. package/dist/templates/configure/configure-ts-template.js.map +1 -0
  196. package/dist/templates/configure/index.d.ts +5 -0
  197. package/dist/templates/configure/index.d.ts.map +1 -0
  198. package/dist/templates/configure/index.js +4 -0
  199. package/dist/templates/configure/index.js.map +1 -0
  200. package/dist/templates/configure/types.d.ts +7 -0
  201. package/dist/templates/configure/types.d.ts.map +1 -0
  202. package/dist/templates/configure/types.js +2 -0
  203. package/dist/templates/configure/types.js.map +1 -0
  204. package/dist/templates/delete/delete-template.d.ts +16 -0
  205. package/dist/templates/delete/delete-template.d.ts.map +1 -0
  206. package/dist/templates/delete/delete-template.js +45 -0
  207. package/dist/templates/delete/delete-template.js.map +1 -0
  208. package/dist/templates/list/list-templates.d.ts +22 -0
  209. package/dist/templates/list/list-templates.d.ts.map +1 -0
  210. package/dist/templates/list/list-templates.js +29 -0
  211. package/dist/templates/list/list-templates.js.map +1 -0
  212. package/dist/templates/show/show-template-metadata.d.ts +19 -0
  213. package/dist/templates/show/show-template-metadata.d.ts.map +1 -0
  214. package/dist/templates/show/show-template-metadata.js +37 -0
  215. package/dist/templates/show/show-template-metadata.js.map +1 -0
  216. package/dist/templates/utils/extractor-config.d.ts +18 -0
  217. package/dist/templates/utils/extractor-config.d.ts.map +1 -0
  218. package/dist/templates/utils/extractor-config.js +55 -0
  219. package/dist/templates/utils/extractor-config.js.map +1 -0
  220. package/dist/templates/utils/infer-exports-from-ts-file.d.ts +10 -0
  221. package/dist/templates/utils/infer-exports-from-ts-file.d.ts.map +1 -0
  222. package/dist/templates/utils/infer-exports-from-ts-file.js +87 -0
  223. package/dist/templates/utils/infer-exports-from-ts-file.js.map +1 -0
  224. package/dist/templates/utils/resolve-file-path.d.ts +15 -0
  225. package/dist/templates/utils/resolve-file-path.d.ts.map +1 -0
  226. package/dist/templates/utils/resolve-file-path.js +48 -0
  227. package/dist/templates/utils/resolve-file-path.js.map +1 -0
  228. package/dist/templates/utils/resolve-generator.d.ts +8 -0
  229. package/dist/templates/utils/resolve-generator.d.ts.map +1 -0
  230. package/dist/templates/utils/resolve-generator.js +26 -0
  231. package/dist/templates/utils/resolve-generator.js.map +1 -0
  232. package/dist/templates/utils/template-metadata.d.ts +14 -0
  233. package/dist/templates/utils/template-metadata.d.ts.map +1 -0
  234. package/dist/templates/utils/template-metadata.js +54 -0
  235. package/dist/templates/utils/template-metadata.js.map +1 -0
  236. package/package.json +17 -12
  237. package/dist/server/graceful-shutdown.d.ts.map +0 -1
  238. package/dist/server/graceful-shutdown.js.map +0 -1
  239. /package/dist/{server → fastify-plugins}/graceful-shutdown.d.ts +0 -0
  240. /package/dist/{server → fastify-plugins}/graceful-shutdown.js +0 -0
@@ -0,0 +1,57 @@
1
+ import { z } from 'zod';
2
+ import { createServiceAction } from '#src/actions/types.js';
3
+ import { getProjectByNameOrId } from '../utils/projects.js';
4
+ const discoverGeneratorsInputSchema = {
5
+ project: z
6
+ .string()
7
+ .optional()
8
+ .describe('Optionally, specify the project to discover generators from. If not provided, uses current directory.'),
9
+ };
10
+ const generatorInfoSchema = z.object({
11
+ name: z.string().describe('The generator name'),
12
+ packageName: z.string().describe('The generator package name'),
13
+ packagePath: z.string().describe('The file system path to the package'),
14
+ generatorDirectory: z.string().describe('The generator directory path'),
15
+ templateCount: z.number().describe('Number of templates in the generator'),
16
+ });
17
+ const discoverGeneratorsOutputSchema = {
18
+ generators: z
19
+ .array(generatorInfoSchema)
20
+ .describe('List of discovered generators with their template information'),
21
+ };
22
+ /**
23
+ * Service action to discover all available generators with extractor.json files.
24
+ */
25
+ export const discoverGeneratorsAction = createServiceAction({
26
+ name: 'discover-generators',
27
+ title: 'Discover Generators',
28
+ description: 'Discover all available generators with extractor.json files',
29
+ inputSchema: discoverGeneratorsInputSchema,
30
+ outputSchema: discoverGeneratorsOutputSchema,
31
+ handler: async (input, context) => {
32
+ const { project: projectId } = input;
33
+ const { projects, logger, plugins } = context;
34
+ // Determine the directory to discover generators from
35
+ let directory = process.cwd();
36
+ if (projectId) {
37
+ const project = getProjectByNameOrId(projects, projectId);
38
+ directory = project.directory;
39
+ }
40
+ logger.info('Discovering available generators');
41
+ const { discoverGenerators } = await import('../../template-extractor/discover-generators.js');
42
+ const generators = await discoverGenerators(directory, plugins, logger);
43
+ return {
44
+ generators,
45
+ };
46
+ },
47
+ writeCliOutput: (output) => {
48
+ const { generators } = output;
49
+ console.info(`✓ Found ${generators.length} generator(s):`);
50
+ for (const generator of generators) {
51
+ console.info(` • ${generator.name} (${generator.packageName})`);
52
+ console.info(` Templates: ${generator.templateCount}`);
53
+ console.info(` Path: ${generator.generatorDirectory}`);
54
+ }
55
+ },
56
+ });
57
+ //# sourceMappingURL=discover-generators.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover-generators.action.js","sourceRoot":"","sources":["../../../src/actions/template-extractor/discover-generators.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,6BAA6B,GAAG;IACpC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uGAAuG,CACxG;CACJ,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACvE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACvE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC3E,CAAC,CAAC;AAIH,MAAM,8BAA8B,GAAG;IACrC,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,mBAAmB,CAAC;SAC1B,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;IAC1D,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,6DAA6D;IAC1E,WAAW,EAAE,6BAA6B;IAC1C,YAAY,EAAE,8BAA8B;IAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE9C,sDAAsD;QACtD,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC1D,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAChC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAEhD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CACzC,iDAAiD,CAClD,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAExE,OAAO;YACL,UAAU;SACX,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;QAE3D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Service action to extract templates from a project.
4
+ */
5
+ export declare const extractTemplatesAction: import("#src/actions/types.js").ServiceAction<{
6
+ project: z.ZodString;
7
+ app: z.ZodString;
8
+ autoGenerateExtractor: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
9
+ skipClean: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
10
+ }, {
11
+ success: z.ZodBoolean;
12
+ message: z.ZodString;
13
+ }>;
14
+ //# sourceMappingURL=extract-templates.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-templates.action.d.ts","sourceRoot":"","sources":["../../../src/actions/template-extractor/extract-templates.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgCxB;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;EA4CjC,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { z } from 'zod';
2
+ import { createServiceAction } from '#src/actions/types.js';
3
+ import { getProjectByNameOrId } from '../utils/projects.js';
4
+ const extractTemplatesInputSchema = {
5
+ project: z
6
+ .string()
7
+ .describe('The name or ID of the project to extract templates from.'),
8
+ app: z.string().describe('The app name to extract templates from.'),
9
+ autoGenerateExtractor: z
10
+ .boolean()
11
+ .optional()
12
+ .default(true)
13
+ .describe('Auto-generate extractor.json files.'),
14
+ skipClean: z
15
+ .boolean()
16
+ .optional()
17
+ .default(false)
18
+ .describe('Skip cleaning the output directories (templates and generated).'),
19
+ };
20
+ const extractTemplatesOutputSchema = {
21
+ success: z
22
+ .boolean()
23
+ .describe('Whether the template extraction was successful.'),
24
+ message: z.string().describe('Success message.'),
25
+ };
26
+ /**
27
+ * Service action to extract templates from a project.
28
+ */
29
+ export const extractTemplatesAction = createServiceAction({
30
+ name: 'extract-templates',
31
+ title: 'Extract Templates',
32
+ description: 'Extract templates from the specified project and app',
33
+ inputSchema: extractTemplatesInputSchema,
34
+ outputSchema: extractTemplatesOutputSchema,
35
+ handler: async (input, context) => {
36
+ const { project: projectId, app, autoGenerateExtractor, skipClean } = input;
37
+ const { projects, logger, plugins } = context;
38
+ // Find the project by name or ID
39
+ const project = getProjectByNameOrId(projects, projectId);
40
+ logger.info(`Extracting templates from project: ${project.name}, app: ${app}`);
41
+ const { runTemplateExtractorsForProject } = await import('../../template-extractor/run-template-extractor.js');
42
+ await runTemplateExtractorsForProject(project.directory, app, plugins, logger, {
43
+ autoGenerateExtractor,
44
+ skipClean,
45
+ });
46
+ return {
47
+ success: true,
48
+ message: `Templates extracted successfully from ${project.name}/${app}`,
49
+ };
50
+ },
51
+ writeCliOutput: (output) => {
52
+ if (output.success) {
53
+ console.info(`✓ ${output.message}`);
54
+ }
55
+ else {
56
+ console.error(`✗ Template extraction failed`);
57
+ }
58
+ },
59
+ });
60
+ //# sourceMappingURL=extract-templates.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-templates.action.js","sourceRoot":"","sources":["../../../src/actions/template-extractor/extract-templates.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,2BAA2B,GAAG;IAClC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,0DAA0D,CAAC;IACvE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACnE,qBAAqB,EAAE,CAAC;SACrB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,qCAAqC,CAAC;IAClD,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,iEAAiE,CAClE;CACJ,CAAC;AAEF,MAAM,4BAA4B,GAAG;IACnC,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;IACxD,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,sDAAsD;IACnE,WAAW,EAAE,2BAA2B;IACxC,YAAY,EAAE,4BAA4B;IAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5E,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE9C,iCAAiC;QACjC,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE1D,MAAM,CAAC,IAAI,CACT,sCAAsC,OAAO,CAAC,IAAI,UAAU,GAAG,EAAE,CAClE,CAAC;QAEF,MAAM,EAAE,+BAA+B,EAAE,GAAG,MAAM,MAAM,CACtD,oDAAoD,CACrD,CAAC;QAEF,MAAM,+BAA+B,CACnC,OAAO,CAAC,SAAS,EACjB,GAAG,EACH,OAAO,EACP,MAAM,EACN;YACE,qBAAqB;YACrB,SAAS;SACV,CACF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,yCAAyC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE;SACxE,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Service action to generate typed template files from existing extractor.json configurations.
4
+ */
5
+ export declare const generateTemplatesAction: import("#src/actions/types.js").ServiceAction<{
6
+ project: z.ZodOptional<z.ZodString>;
7
+ skipClean: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8
+ }, {
9
+ success: z.ZodBoolean;
10
+ message: z.ZodString;
11
+ }>;
12
+ //# sourceMappingURL=generate-templates.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-templates.action.d.ts","sourceRoot":"","sources":["../../../src/actions/template-extractor/generate-templates.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6BxB;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;EAuClC,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod';
2
+ import { createServiceAction } from '#src/actions/types.js';
3
+ import { getProjectByNameOrId } from '../utils/projects.js';
4
+ const generateTemplatesInputSchema = {
5
+ project: z
6
+ .string()
7
+ .optional()
8
+ .describe('Optionally, specify the project to source the generators from. If not, it will use the default set of plugins.'),
9
+ skipClean: z
10
+ .boolean()
11
+ .optional()
12
+ .default(false)
13
+ .describe('Skip cleaning the output directories (templates and generated).'),
14
+ };
15
+ const generateTemplatesOutputSchema = {
16
+ success: z
17
+ .boolean()
18
+ .describe('Whether the template generation was successful.'),
19
+ message: z.string().describe('Success message.'),
20
+ };
21
+ /**
22
+ * Service action to generate typed template files from existing extractor.json configurations.
23
+ */
24
+ export const generateTemplatesAction = createServiceAction({
25
+ name: 'generate-templates',
26
+ title: 'Generate Templates',
27
+ description: 'Generate typed template files from existing extractor.json configurations',
28
+ inputSchema: generateTemplatesInputSchema,
29
+ outputSchema: generateTemplatesOutputSchema,
30
+ handler: async (input, context) => {
31
+ const { project: projectId, skipClean } = input;
32
+ const { projects, logger, plugins } = context;
33
+ // Determine the directory to generate for
34
+ let directory;
35
+ if (projectId) {
36
+ const project = getProjectByNameOrId(projects, projectId);
37
+ directory = project.directory;
38
+ }
39
+ logger.info('Generating typed template files');
40
+ const { generateTypedTemplateFiles } = await import('../../template-extractor/run-template-extractor.js');
41
+ await generateTypedTemplateFiles(directory, plugins, logger, {
42
+ skipClean,
43
+ });
44
+ return {
45
+ success: true,
46
+ message: `Typed template files generated successfully`,
47
+ };
48
+ },
49
+ writeCliOutput: (output) => {
50
+ if (output.success) {
51
+ console.info(`✓ ${output.message}`);
52
+ }
53
+ else {
54
+ console.error(`✗ Template generation failed`);
55
+ }
56
+ },
57
+ });
58
+ //# sourceMappingURL=generate-templates.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-templates.action.js","sourceRoot":"","sources":["../../../src/actions/template-extractor/generate-templates.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,4BAA4B,GAAG;IACnC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,gHAAgH,CACjH;IACH,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,iEAAiE,CAClE;CACJ,CAAC;AAEF,MAAM,6BAA6B,GAAG;IACpC,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;IACzD,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EACT,2EAA2E;IAC7E,WAAW,EAAE,4BAA4B;IACzC,YAAY,EAAE,6BAA6B;IAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAChD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE9C,0CAA0C;QAC1C,IAAI,SAA6B,CAAC;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC1D,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAE/C,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CACjD,oDAAoD,CACrD,CAAC;QAEF,MAAM,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;YAC3D,SAAS;SACV,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,6CAA6C;SACvD,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './discover-generators.action.js';
2
+ export * from './extract-templates.action.js';
3
+ export * from './generate-templates.action.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/template-extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './discover-generators.action.js';
2
+ export * from './extract-templates.action.js';
3
+ export * from './generate-templates.action.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/template-extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Service action to configure a raw/binary template
4
+ */
5
+ export declare const configureRawTemplateAction: import("#src/actions/types.js").ServiceAction<{
6
+ filePath: z.ZodString;
7
+ project: z.ZodOptional<z.ZodString>;
8
+ generator: z.ZodString;
9
+ templateName: z.ZodString;
10
+ }, {
11
+ message: z.ZodString;
12
+ templateName: z.ZodString;
13
+ absolutePath: z.ZodString;
14
+ generatorDirectory: z.ZodString;
15
+ }>;
16
+ //# sourceMappingURL=configure-raw-template.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-raw-template.action.d.ts","sourceRoot":"","sources":["../../../src/actions/templates/configure-raw-template.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;EA8BrC,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { z } from 'zod';
2
+ import { createServiceAction } from '#src/actions/types.js';
3
+ const configureRawTemplateInputSchema = {
4
+ filePath: z.string().describe('File path (absolute or relative)'),
5
+ project: z
6
+ .string()
7
+ .optional()
8
+ .describe('Project name or ID (required for relative paths)'),
9
+ generator: z
10
+ .string()
11
+ .describe('The generator name (e.g., @baseplate-dev/react-generators)'),
12
+ templateName: z.string().describe('Template name in kebab-case format'),
13
+ };
14
+ const configureRawTemplateOutputSchema = {
15
+ message: z.string().describe('Success message'),
16
+ templateName: z.string().describe('The configured template name'),
17
+ absolutePath: z
18
+ .string()
19
+ .describe('The absolute file path that was configured'),
20
+ generatorDirectory: z
21
+ .string()
22
+ .describe('The generator directory that was configured'),
23
+ };
24
+ /**
25
+ * Service action to configure a raw/binary template
26
+ */
27
+ export const configureRawTemplateAction = createServiceAction({
28
+ name: 'configure-raw-template',
29
+ title: 'Configure Raw Template',
30
+ description: 'Configure a raw/binary template for copying files as-is',
31
+ inputSchema: configureRawTemplateInputSchema,
32
+ outputSchema: configureRawTemplateOutputSchema,
33
+ handler: async (input, context) => {
34
+ const { filePath, project, generator, templateName } = input;
35
+ const { configureRawTemplate } = await import('#src/templates/configure/configure-raw-template.js');
36
+ // Configure the template using the dedicated function
37
+ const result = await configureRawTemplate({
38
+ filePath,
39
+ project,
40
+ generator,
41
+ templateName,
42
+ }, context);
43
+ context.logger.info(result.message);
44
+ return result;
45
+ },
46
+ writeCliOutput: (output) => {
47
+ console.info(`✅ ${output.message}`);
48
+ },
49
+ });
50
+ //# sourceMappingURL=configure-raw-template.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-raw-template.action.js","sourceRoot":"","sources":["../../../src/actions/templates/configure-raw-template.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,+BAA+B,GAAG;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACjE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CAAC,4DAA4D,CAAC;IACzE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACxE,CAAC;AAEF,MAAM,gCAAgC,GAAG;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC/C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,CAAC,4CAA4C,CAAC;IACzD,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,mBAAmB,CAAC;IAC5D,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EAAE,yDAAyD;IACtE,WAAW,EAAE,+BAA+B;IAC5C,YAAY,EAAE,gCAAgC;IAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QAE7D,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAC3C,oDAAoD,CACrD,CAAC;QAEF,sDAAsD;QACtD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC;YACE,QAAQ;YACR,OAAO;YACP,SAAS;YACT,YAAY;SACb,EACD,OAAO,CACR,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Service action to configure a text template
4
+ */
5
+ export declare const configureTextTemplateAction: import("#src/actions/types.js").ServiceAction<{
6
+ filePath: z.ZodString;
7
+ project: z.ZodOptional<z.ZodString>;
8
+ generator: z.ZodString;
9
+ templateName: z.ZodString;
10
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
11
+ description: z.ZodOptional<z.ZodString>;
12
+ value: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ value: string;
15
+ description?: string | undefined;
16
+ }, {
17
+ value: string;
18
+ description?: string | undefined;
19
+ }>>>;
20
+ group: z.ZodOptional<z.ZodString>;
21
+ }, {
22
+ message: z.ZodString;
23
+ templateName: z.ZodString;
24
+ absolutePath: z.ZodString;
25
+ generatorDirectory: z.ZodString;
26
+ }>;
27
+ //# sourceMappingURL=configure-text-template.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-text-template.action.d.ts","sourceRoot":"","sources":["../../../src/actions/templates/configure-text-template.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwCxB;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;EAiCtC,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+ import { createServiceAction } from '#src/actions/types.js';
3
+ const variableSchema = z.object({
4
+ description: z
5
+ .string()
6
+ .optional()
7
+ .describe('Optional description for the variable'),
8
+ value: z.string().min(1).describe('The value of the variable'),
9
+ });
10
+ const configureTextTemplateInputSchema = {
11
+ filePath: z.string().describe('File path (absolute or relative)'),
12
+ project: z
13
+ .string()
14
+ .optional()
15
+ .describe('Project name or ID (required for relative paths)'),
16
+ generator: z
17
+ .string()
18
+ .describe('The generator name (e.g., @baseplate-dev/react-generators)'),
19
+ templateName: z.string().describe('Template name in kebab-case format'),
20
+ variables: z
21
+ .record(variableSchema)
22
+ .optional()
23
+ .describe('Object mapping variable names to their metadata'),
24
+ group: z.string().optional().describe('Optional template group'),
25
+ };
26
+ const configureTextTemplateOutputSchema = {
27
+ message: z.string().describe('Success message'),
28
+ templateName: z.string().describe('The configured template name'),
29
+ absolutePath: z
30
+ .string()
31
+ .describe('The absolute file path that was configured'),
32
+ generatorDirectory: z
33
+ .string()
34
+ .describe('The generator directory that was configured'),
35
+ };
36
+ /**
37
+ * Service action to configure a text template
38
+ */
39
+ export const configureTextTemplateAction = createServiceAction({
40
+ name: 'configure-text-template',
41
+ title: 'Configure Text Template',
42
+ description: 'Configure a text template with variables for substitution',
43
+ inputSchema: configureTextTemplateInputSchema,
44
+ outputSchema: configureTextTemplateOutputSchema,
45
+ handler: async (input, context) => {
46
+ const { filePath, project, generator, templateName, variables, group } = input;
47
+ const { configureTextTemplate } = await import('#src/templates/configure/configure-text-template.js');
48
+ // Configure the template using the dedicated function
49
+ const result = await configureTextTemplate({
50
+ filePath,
51
+ project,
52
+ generator,
53
+ templateName,
54
+ variables,
55
+ group,
56
+ }, context);
57
+ context.logger.info(result.message);
58
+ return result;
59
+ },
60
+ writeCliOutput: (output) => {
61
+ console.info(`✅ ${output.message}`);
62
+ },
63
+ });
64
+ //# sourceMappingURL=configure-text-template.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-text-template.action.js","sourceRoot":"","sources":["../../../src/actions/templates/configure-text-template.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACjE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CAAC,4DAA4D,CAAC;IACzE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACvE,SAAS,EAAE,CAAC;SACT,MAAM,CAAC,cAAc,CAAC;SACtB,QAAQ,EAAE;SACV,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACjE,CAAC;AAEF,MAAM,iCAAiC,GAAG;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC/C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,CAAC,4CAA4C,CAAC;IACzD,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;IAC7D,IAAI,EAAE,yBAAyB;IAC/B,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,2DAA2D;IACxE,WAAW,EAAE,gCAAgC;IAC7C,YAAY,EAAE,iCAAiC;IAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,GACpE,KAAK,CAAC;QAER,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAC5C,qDAAqD,CACtD,CAAC;QAEF,sDAAsD;QACtD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC;YACE,QAAQ;YACR,OAAO;YACP,SAAS;YACT,YAAY;YACZ,SAAS;YACT,KAAK;SACN,EACD,OAAO,CACR,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Service action to configure a TypeScript template
4
+ */
5
+ export declare const configureTsTemplateAction: import("#src/actions/types.js").ServiceAction<{
6
+ filePath: z.ZodString;
7
+ project: z.ZodOptional<z.ZodString>;
8
+ generator: z.ZodString;
9
+ templateName: z.ZodString;
10
+ group: z.ZodOptional<z.ZodString>;
11
+ projectExports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ }, {
13
+ message: z.ZodString;
14
+ templateName: z.ZodString;
15
+ absolutePath: z.ZodString;
16
+ generatorDirectory: z.ZodString;
17
+ }>;
18
+ //# sourceMappingURL=configure-ts-template.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-ts-template.action.d.ts","sourceRoot":"","sources":["../../../src/actions/templates/configure-ts-template.action.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoCxB;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAwCpC,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { CASE_VALIDATORS } from '@baseplate-dev/utils';
2
+ import { z } from 'zod';
3
+ import { createServiceAction } from '#src/actions/types.js';
4
+ const configureTsTemplateInputSchema = {
5
+ filePath: z.string().describe('File path (absolute or relative)'),
6
+ project: z
7
+ .string()
8
+ .optional()
9
+ .describe('Project name or ID (required for relative paths)'),
10
+ generator: z
11
+ .string()
12
+ .describe('The generator name (e.g., @baseplate-dev/react-generators)'),
13
+ templateName: CASE_VALIDATORS.KEBAB_CASE.describe('Template name in kebab-case format'),
14
+ group: CASE_VALIDATORS.KEBAB_CASE.optional().describe('The group the template belongs to (optional)'),
15
+ projectExports: z
16
+ .array(z.string())
17
+ .optional()
18
+ .describe('Array of identifiers to expose as exports for other generators'),
19
+ };
20
+ const configureTsTemplateOutputSchema = {
21
+ message: z.string().describe('Success message'),
22
+ templateName: z.string().describe('The configured template name'),
23
+ absolutePath: z
24
+ .string()
25
+ .describe('The absolute file path that was configured'),
26
+ generatorDirectory: z
27
+ .string()
28
+ .describe('The generator directory that was configured'),
29
+ };
30
+ /**
31
+ * Service action to configure a TypeScript template
32
+ */
33
+ export const configureTsTemplateAction = createServiceAction({
34
+ name: 'configure-ts-template',
35
+ title: 'Configure TypeScript Template',
36
+ description: 'Configure a TypeScript template with project exports and validation',
37
+ inputSchema: configureTsTemplateInputSchema,
38
+ outputSchema: configureTsTemplateOutputSchema,
39
+ handler: async (input, context) => {
40
+ const { filePath, project, generator, templateName, projectExports = [], group, } = input;
41
+ const { configureTsTemplate } = await import('#src/templates/configure/configure-ts-template.js');
42
+ // Configure the template using the dedicated function
43
+ const result = await configureTsTemplate({
44
+ filePath,
45
+ project,
46
+ generator,
47
+ templateName,
48
+ projectExports,
49
+ group,
50
+ }, context);
51
+ context.logger.info(result.message);
52
+ return result;
53
+ },
54
+ writeCliOutput: (output) => {
55
+ console.info(`✅ ${output.message}`);
56
+ },
57
+ });
58
+ //# sourceMappingURL=configure-ts-template.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-ts-template.action.js","sourceRoot":"","sources":["../../../src/actions/templates/configure-ts-template.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,8BAA8B,GAAG;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACjE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CAAC,4DAA4D,CAAC;IACzE,YAAY,EAAE,eAAe,CAAC,UAAU,CAAC,QAAQ,CAC/C,oCAAoC,CACrC;IACD,KAAK,EAAE,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnD,8CAA8C,CAC/C;IACD,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,gEAAgE,CAAC;CAC9E,CAAC;AAEF,MAAM,+BAA+B,GAAG;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC/C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,CAAC,4CAA4C,CAAC;IACzD,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;IAC3D,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,+BAA+B;IACtC,WAAW,EACT,qEAAqE;IACvE,WAAW,EAAE,8BAA8B;IAC3C,YAAY,EAAE,+BAA+B;IAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EACJ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,YAAY,EACZ,cAAc,GAAG,EAAE,EACnB,KAAK,GACN,GAAG,KAAK,CAAC;QAEV,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAC1C,mDAAmD,CACpD,CAAC;QAEF,sDAAsD;QACtD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC;YACE,QAAQ;YACR,OAAO;YACP,SAAS;YACT,YAAY;YACZ,cAAc;YACd,KAAK;SACN,EACD,OAAO,CACR,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Service action to delete a template by file path
4
+ */
5
+ export declare const deleteTemplateAction: import("#src/actions/types.js").ServiceAction<{
6
+ filePath: z.ZodString;
7
+ project: z.ZodOptional<z.ZodString>;
8
+ }, {
9
+ success: z.ZodBoolean;
10
+ message: z.ZodString;
11
+ templateName: z.ZodString;
12
+ absolutePath: z.ZodString;
13
+ generatorDirectory: z.ZodString;
14
+ }>;
15
+ //# sourceMappingURL=delete-template.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-template.action.d.ts","sourceRoot":"","sources":["../../../src/actions/templates/delete-template.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;EAoC/B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { z } from 'zod';
2
+ import { createServiceAction } from '#src/actions/types.js';
3
+ const deleteTemplateInputSchema = {
4
+ filePath: z
5
+ .string()
6
+ .describe('Path to file to delete (absolute or relative)'),
7
+ project: z
8
+ .string()
9
+ .optional()
10
+ .describe('Project name or ID (required for relative paths, optional for absolute)'),
11
+ };
12
+ const deleteTemplateOutputSchema = {
13
+ success: z.boolean().describe('Whether the operation was successful'),
14
+ message: z.string().describe('Success message'),
15
+ templateName: z.string().describe('The template name that was deleted'),
16
+ absolutePath: z.string().describe('The absolute path of the deleted file'),
17
+ generatorDirectory: z.string().describe('The generator directory used'),
18
+ };
19
+ /**
20
+ * Service action to delete a template by file path
21
+ */
22
+ export const deleteTemplateAction = createServiceAction({
23
+ name: 'delete-template',
24
+ title: 'Delete Template',
25
+ description: 'Delete a template by looking up its metadata from the file path and removing all associated files',
26
+ inputSchema: deleteTemplateInputSchema,
27
+ outputSchema: deleteTemplateOutputSchema,
28
+ handler: async (input, context) => {
29
+ const { filePath, project } = input;
30
+ const { logger } = context;
31
+ const { deleteTemplate } = await import('../../templates/delete/delete-template.js');
32
+ const result = await deleteTemplate({
33
+ filePath,
34
+ project,
35
+ }, context);
36
+ logger.info(result.message);
37
+ return {
38
+ success: true,
39
+ message: result.message,
40
+ templateName: result.templateName,
41
+ absolutePath: result.absolutePath,
42
+ generatorDirectory: result.generatorDirectory,
43
+ };
44
+ },
45
+ writeCliOutput: (output) => {
46
+ console.info(`✅ ${output.message}`);
47
+ },
48
+ });
49
+ //# sourceMappingURL=delete-template.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-template.action.js","sourceRoot":"","sources":["../../../src/actions/templates/delete-template.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,yBAAyB,GAAG;IAChC,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yEAAyE,CAC1E;CACJ,CAAC;AAEF,MAAM,0BAA0B,GAAG;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACrE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC/C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACvE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC1E,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACxE,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;IACtD,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EACT,mGAAmG;IACrG,WAAW,EAAE,yBAAyB;IACtC,YAAY,EAAE,0BAA0B;IACxC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CACrC,2CAA2C,CAC5C,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC;YACE,QAAQ;YACR,OAAO;SACR,EACD,OAAO,CACR,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC;IACJ,CAAC;IACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './configure-raw-template.action.js';
2
+ export * from './configure-text-template.action.js';
3
+ export * from './configure-ts-template.action.js';
4
+ export * from './delete-template.action.js';
5
+ export * from './list-templates.action.js';
6
+ export * from './show-template-metadata.action.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './configure-raw-template.action.js';
2
+ export * from './configure-text-template.action.js';
3
+ export * from './configure-ts-template.action.js';
4
+ export * from './delete-template.action.js';
5
+ export * from './list-templates.action.js';
6
+ export * from './show-template-metadata.action.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/templates/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC"}