@agiflowai/scaffold-mcp 1.0.12 → 1.0.14

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 (32) hide show
  1. package/dist/ListScaffoldingMethodsTool-B49G_iLj.mjs +350 -0
  2. package/dist/ListScaffoldingMethodsTool-DuYGFDwJ.cjs +376 -0
  3. package/dist/ScaffoldConfigLoader-8YI7v2GJ.mjs +142 -0
  4. package/dist/ScaffoldConfigLoader-BWpNpMx-.cjs +150 -0
  5. package/dist/ScaffoldConfigLoader-DKJtnrWT.mjs +3 -0
  6. package/dist/ScaffoldConfigLoader-HutEtfaH.cjs +3 -0
  7. package/dist/ScaffoldService-DSQBnAHm.cjs +308 -0
  8. package/dist/ScaffoldService-DcsGLMuD.mjs +295 -0
  9. package/dist/ScaffoldService-DfXjmrNT.cjs +3 -0
  10. package/dist/ScaffoldService-dL74anIv.mjs +3 -0
  11. package/dist/TemplateService-7QcWREot.cjs +85 -0
  12. package/dist/TemplateService-B1bd6iHw.mjs +3 -0
  13. package/dist/TemplateService-CVDL2uqt.mjs +79 -0
  14. package/dist/TemplateService-DUbdBOFs.cjs +3 -0
  15. package/dist/VariableReplacementService-B9RA8D0a.mjs +66 -0
  16. package/dist/VariableReplacementService-BO-UYgcf.mjs +3 -0
  17. package/dist/VariableReplacementService-DNYx0Dym.cjs +73 -0
  18. package/dist/VariableReplacementService-wuYKgeui.cjs +3 -0
  19. package/dist/chunk-CbDLau6x.cjs +34 -0
  20. package/dist/cli.cjs +16 -11
  21. package/dist/cli.mjs +9 -5
  22. package/dist/index.cjs +11 -7
  23. package/dist/index.mjs +6 -2
  24. package/dist/{stdio-DqZJsqKM.mjs → stdio-AbTm52SJ.mjs} +18 -15
  25. package/dist/{stdio-ohQyWnxq.cjs → stdio-baUp7xGL.cjs} +28 -24
  26. package/dist/{useScaffoldMethod-CC8ARsl9.mjs → useScaffoldMethod-BMWhFebp.mjs} +5 -7
  27. package/dist/{useScaffoldMethod-B-q_yBnX.mjs → useScaffoldMethod-CPgJIBHx.mjs} +2 -1
  28. package/dist/{useScaffoldMethod-DqF6pT1A.cjs → useScaffoldMethod-CcrpFEPv.cjs} +3 -1
  29. package/dist/{useScaffoldMethod-fzsnprJs.cjs → useScaffoldMethod-DOvwnNOJ.cjs} +9 -10
  30. package/package.json +3 -3
  31. package/dist/ListScaffoldingMethodsTool-D3ecmSLf.mjs +0 -994
  32. package/dist/ListScaffoldingMethodsTool-D7S3xpJE.cjs +0 -1082
@@ -1,21 +1,26 @@
1
- const require_ListScaffoldingMethodsTool = require('./ListScaffoldingMethodsTool-D7S3xpJE.cjs');
1
+ const require_chunk = require('./chunk-CbDLau6x.cjs');
2
+ const require_ListScaffoldingMethodsTool = require('./ListScaffoldingMethodsTool-DuYGFDwJ.cjs');
3
+ const require_ScaffoldConfigLoader = require('./ScaffoldConfigLoader-BWpNpMx-.cjs');
4
+ const require_ScaffoldService = require('./ScaffoldService-DSQBnAHm.cjs');
5
+ const require_TemplateService = require('./TemplateService-7QcWREot.cjs');
6
+ const require_VariableReplacementService = require('./VariableReplacementService-DNYx0Dym.cjs');
2
7
  let node_path = require("node:path");
3
- node_path = require_ListScaffoldingMethodsTool.__toESM(node_path);
8
+ node_path = require_chunk.__toESM(node_path);
4
9
  let __agiflowai_aicode_utils = require("@agiflowai/aicode-utils");
5
10
  let js_yaml = require("js-yaml");
6
- js_yaml = require_ListScaffoldingMethodsTool.__toESM(js_yaml);
11
+ js_yaml = require_chunk.__toESM(js_yaml);
7
12
  let node_fs = require("node:fs");
8
13
  let __composio_json_schema_to_zod = require("@composio/json-schema-to-zod");
9
14
  let zod = require("zod");
10
15
  let node_fs_promises = require("node:fs/promises");
11
- node_fs_promises = require_ListScaffoldingMethodsTool.__toESM(node_fs_promises);
16
+ node_fs_promises = require_chunk.__toESM(node_fs_promises);
12
17
  let node_os = require("node:os");
13
- node_os = require_ListScaffoldingMethodsTool.__toESM(node_os);
18
+ node_os = require_chunk.__toESM(node_os);
14
19
  let node_crypto = require("node:crypto");
15
20
  let __modelcontextprotocol_sdk_server_streamableHttp_js = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
16
21
  let __modelcontextprotocol_sdk_types_js = require("@modelcontextprotocol/sdk/types.js");
17
22
  let express = require("express");
18
- express = require_ListScaffoldingMethodsTool.__toESM(express);
23
+ express = require_chunk.__toESM(express);
19
24
  let __modelcontextprotocol_sdk_server_sse_js = require("@modelcontextprotocol/sdk/server/sse.js");
20
25
  let __modelcontextprotocol_sdk_server_stdio_js = require("@modelcontextprotocol/sdk/server/stdio.js");
21
26
 
@@ -185,9 +190,9 @@ var BoilerplateService = class {
185
190
  scaffoldService;
186
191
  constructor(templatesPath) {
187
192
  this.templatesPath = templatesPath;
188
- this.templateService = new require_ListScaffoldingMethodsTool.TemplateService();
193
+ this.templateService = new require_TemplateService.TemplateService();
189
194
  const fileSystemService = new require_ListScaffoldingMethodsTool.FileSystemService();
190
- this.scaffoldService = new require_ListScaffoldingMethodsTool.ScaffoldService(fileSystemService, new require_ListScaffoldingMethodsTool.ScaffoldConfigLoader(fileSystemService, this.templateService), new require_ListScaffoldingMethodsTool.VariableReplacementService(fileSystemService, this.templateService), templatesPath);
195
+ this.scaffoldService = new require_ScaffoldService.ScaffoldService(fileSystemService, new require_ScaffoldConfigLoader.ScaffoldConfigLoader(fileSystemService, this.templateService), new require_VariableReplacementService.VariableReplacementService(fileSystemService, this.templateService), templatesPath);
191
196
  }
192
197
  /**
193
198
  * Scans all scaffold.yaml files and returns available boilerplates with pagination
@@ -253,24 +258,23 @@ var BoilerplateService = class {
253
258
  */
254
259
  async useBoilerplate(request) {
255
260
  let { boilerplateName, variables, monolith, targetFolderOverride } = request;
256
- let projectConfig = null;
257
- if (monolith === void 0 || monolith && !boilerplateName) try {
258
- projectConfig = await __agiflowai_aicode_utils.ProjectConfigResolver.resolveProjectConfig(process.cwd());
259
- } catch (_error) {}
260
- if (monolith === void 0) if (projectConfig) {
261
- monolith = projectConfig.type === "monolith";
262
- __agiflowai_aicode_utils.log.info(`Auto-detected project type: ${projectConfig.type}`);
263
- } else {
261
+ if (monolith === void 0) try {
262
+ const config = await __agiflowai_aicode_utils.ProjectConfigResolver.resolveProjectConfig(process.cwd());
263
+ monolith = config.type === "monolith";
264
+ __agiflowai_aicode_utils.log.info(`Auto-detected project type: ${config.type}`);
265
+ } catch (_error) {
264
266
  monolith = false;
265
267
  __agiflowai_aicode_utils.log.info("No project configuration found, defaulting to monorepo mode");
266
268
  }
267
- if (monolith && !boilerplateName) if (projectConfig) {
268
- boilerplateName = projectConfig.sourceTemplate;
269
+ if (monolith && !boilerplateName) try {
270
+ boilerplateName = (await __agiflowai_aicode_utils.ProjectConfigResolver.resolveProjectConfig(process.cwd())).sourceTemplate;
269
271
  __agiflowai_aicode_utils.log.info(`Using boilerplate from toolkit.yaml: ${boilerplateName}`);
270
- } else return {
271
- success: false,
272
- message: "Failed to read boilerplate name from toolkit.yaml: No project configuration found"
273
- };
272
+ } catch (error) {
273
+ return {
274
+ success: false,
275
+ message: `Failed to read boilerplate name from toolkit.yaml: ${error instanceof Error ? error.message : String(error)}`
276
+ };
277
+ }
274
278
  if (!boilerplateName) return {
275
279
  success: false,
276
280
  message: "Missing required parameter: boilerplateName"
@@ -1189,7 +1193,7 @@ var ListBoilerplatesTool = class ListBoilerplatesTool {
1189
1193
  isMonolith;
1190
1194
  constructor(templatesPath, isMonolith = false) {
1191
1195
  this.boilerplateService = new BoilerplateService(templatesPath);
1192
- this.templateService = new require_ListScaffoldingMethodsTool.TemplateService();
1196
+ this.templateService = new require_TemplateService.TemplateService();
1193
1197
  this.isMonolith = isMonolith;
1194
1198
  }
1195
1199
  /**
@@ -1246,7 +1250,7 @@ var UseBoilerplateTool = class UseBoilerplateTool {
1246
1250
  isMonolith;
1247
1251
  constructor(templatesPath, isMonolith = false) {
1248
1252
  this.boilerplateService = new BoilerplateService(templatesPath);
1249
- this.templateService = new require_ListScaffoldingMethodsTool.TemplateService();
1253
+ this.templateService = new require_TemplateService.TemplateService();
1250
1254
  this.isMonolith = isMonolith;
1251
1255
  }
1252
1256
  /**
@@ -1,4 +1,5 @@
1
- import { t as ListScaffoldingMethodsTool } from "./ListScaffoldingMethodsTool-D3ecmSLf.mjs";
1
+ import { t as ListScaffoldingMethodsTool } from "./ListScaffoldingMethodsTool-B49G_iLj.mjs";
2
+ import "./TemplateService-CVDL2uqt.mjs";
2
3
  import path from "node:path";
3
4
  import { ProjectFinderService, TemplatesManagerService } from "@agiflowai/aicode-utils";
4
5
  import fs from "node:fs/promises";
@@ -28,11 +29,6 @@ var UseScaffoldMethodHook = class {
28
29
  decision: DECISION_SKIP,
29
30
  message: "Not a file write operation"
30
31
  };
31
- const absoluteFilePath = path.isAbsolute(filePath) ? filePath : path.join(context.cwd, filePath);
32
- if (!absoluteFilePath.startsWith(context.cwd + path.sep) && absoluteFilePath !== context.cwd) return {
33
- decision: DECISION_SKIP,
34
- message: "File is outside working directory - skipping scaffold method check"
35
- };
36
32
  const executionLog = new ExecutionLogService(context.session_id);
37
33
  if (await executionLog.hasExecuted({
38
34
  filePath,
@@ -47,7 +43,9 @@ var UseScaffoldMethodHook = class {
47
43
  message: "Templates folder not found - skipping scaffold method check"
48
44
  };
49
45
  const tool = new ListScaffoldingMethodsTool(templatesPath, false);
50
- const projectPath = (await new ProjectFinderService(await TemplatesManagerService.getWorkspaceRoot(context.cwd)).findProjectForFile(absoluteFilePath))?.root || context.cwd;
46
+ const projectFinder = new ProjectFinderService(await TemplatesManagerService.getWorkspaceRoot(context.cwd));
47
+ const absoluteFilePath = path.isAbsolute(filePath) ? filePath : path.join(context.cwd, filePath);
48
+ const projectPath = (await projectFinder.findProjectForFile(absoluteFilePath))?.root || context.cwd;
51
49
  const result = await tool.execute({ projectPath });
52
50
  const firstContent = result.content[0];
53
51
  if (firstContent?.type !== "text") return {
@@ -1,4 +1,5 @@
1
- import { t as ListScaffoldingMethodsTool } from "./ListScaffoldingMethodsTool-D3ecmSLf.mjs";
1
+ import { t as ListScaffoldingMethodsTool } from "./ListScaffoldingMethodsTool-B49G_iLj.mjs";
2
+ import "./TemplateService-CVDL2uqt.mjs";
2
3
  import { TemplatesManagerService } from "@agiflowai/aicode-utils";
3
4
  import { DECISION_ALLOW, DECISION_DENY, DECISION_SKIP, ExecutionLogService } from "@agiflowai/hooks-adapter";
4
5
 
@@ -1,4 +1,6 @@
1
- const require_ListScaffoldingMethodsTool = require('./ListScaffoldingMethodsTool-D7S3xpJE.cjs');
1
+ const require_chunk = require('./chunk-CbDLau6x.cjs');
2
+ const require_ListScaffoldingMethodsTool = require('./ListScaffoldingMethodsTool-DuYGFDwJ.cjs');
3
+ require('./TemplateService-7QcWREot.cjs');
2
4
  let __agiflowai_aicode_utils = require("@agiflowai/aicode-utils");
3
5
  let __agiflowai_hooks_adapter = require("@agiflowai/hooks-adapter");
4
6
 
@@ -1,11 +1,13 @@
1
- const require_ListScaffoldingMethodsTool = require('./ListScaffoldingMethodsTool-D7S3xpJE.cjs');
1
+ const require_chunk = require('./chunk-CbDLau6x.cjs');
2
+ const require_ListScaffoldingMethodsTool = require('./ListScaffoldingMethodsTool-DuYGFDwJ.cjs');
3
+ require('./TemplateService-7QcWREot.cjs');
2
4
  let node_path = require("node:path");
3
- node_path = require_ListScaffoldingMethodsTool.__toESM(node_path);
5
+ node_path = require_chunk.__toESM(node_path);
4
6
  let __agiflowai_aicode_utils = require("@agiflowai/aicode-utils");
5
7
  let node_fs_promises = require("node:fs/promises");
6
- node_fs_promises = require_ListScaffoldingMethodsTool.__toESM(node_fs_promises);
8
+ node_fs_promises = require_chunk.__toESM(node_fs_promises);
7
9
  let node_os = require("node:os");
8
- node_os = require_ListScaffoldingMethodsTool.__toESM(node_os);
10
+ node_os = require_chunk.__toESM(node_os);
9
11
  let __agiflowai_hooks_adapter = require("@agiflowai/hooks-adapter");
10
12
 
11
13
  //#region src/hooks/claudeCode/useScaffoldMethod.ts
@@ -31,11 +33,6 @@ var UseScaffoldMethodHook = class {
31
33
  decision: __agiflowai_hooks_adapter.DECISION_SKIP,
32
34
  message: "Not a file write operation"
33
35
  };
34
- const absoluteFilePath = node_path.default.isAbsolute(filePath) ? filePath : node_path.default.join(context.cwd, filePath);
35
- if (!absoluteFilePath.startsWith(context.cwd + node_path.default.sep) && absoluteFilePath !== context.cwd) return {
36
- decision: __agiflowai_hooks_adapter.DECISION_SKIP,
37
- message: "File is outside working directory - skipping scaffold method check"
38
- };
39
36
  const executionLog = new __agiflowai_hooks_adapter.ExecutionLogService(context.session_id);
40
37
  if (await executionLog.hasExecuted({
41
38
  filePath,
@@ -50,7 +47,9 @@ var UseScaffoldMethodHook = class {
50
47
  message: "Templates folder not found - skipping scaffold method check"
51
48
  };
52
49
  const tool = new require_ListScaffoldingMethodsTool.ListScaffoldingMethodsTool(templatesPath, false);
53
- const projectPath = (await new __agiflowai_aicode_utils.ProjectFinderService(await __agiflowai_aicode_utils.TemplatesManagerService.getWorkspaceRoot(context.cwd)).findProjectForFile(absoluteFilePath))?.root || context.cwd;
50
+ const projectFinder = new __agiflowai_aicode_utils.ProjectFinderService(await __agiflowai_aicode_utils.TemplatesManagerService.getWorkspaceRoot(context.cwd));
51
+ const absoluteFilePath = node_path.default.isAbsolute(filePath) ? filePath : node_path.default.join(context.cwd, filePath);
52
+ const projectPath = (await projectFinder.findProjectForFile(absoluteFilePath))?.root || context.cwd;
54
53
  const result = await tool.execute({ projectPath });
55
54
  const firstContent = result.content[0];
56
55
  if (firstContent?.type !== "text") return {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agiflowai/scaffold-mcp",
3
3
  "description": "MCP server for scaffolding applications with boilerplate templates",
4
- "version": "1.0.12",
4
+ "version": "1.0.14",
5
5
  "license": "AGPL-3.0",
6
6
  "author": "AgiflowIO",
7
7
  "repository": {
@@ -50,8 +50,8 @@
50
50
  "zod": "3.25.76",
51
51
  "@agiflowai/aicode-utils": "1.0.10",
52
52
  "@agiflowai/architect-mcp": "1.0.12",
53
- "@agiflowai/coding-agent-bridge": "1.0.11",
54
- "@agiflowai/hooks-adapter": "0.0.9"
53
+ "@agiflowai/hooks-adapter": "0.0.8",
54
+ "@agiflowai/coding-agent-bridge": "1.0.11"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/express": "^5.0.0",