agent-enderun 1.1.10 ā 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +294 -19
- package/bin/cli.js +7 -0
- package/bin/enderun-dashboard.js +16 -857
- package/bin/validate-agent-army.js +12 -12
- package/dist/framework-mcp/src/index.js +14 -2
- package/dist/framework-mcp/src/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +2 -1
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/replace_text.js +2 -1
- package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/write_file.js +3 -3
- package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
- package/dist/framework-mcp/src/utils/fs.d.ts +16 -0
- package/dist/framework-mcp/src/utils/fs.js +45 -0
- package/dist/framework-mcp/src/utils/fs.js.map +1 -0
- package/dist/framework-mcp/src/utils/metrics.js.map +1 -1
- package/dist/src/cli/adapters/core.js.map +1 -1
- package/dist/src/cli/adapters/scaffold.js +4 -3
- package/dist/src/cli/adapters/scaffold.js.map +1 -1
- package/dist/src/cli/commands/app.js +20 -5
- package/dist/src/cli/commands/app.js.map +1 -1
- package/dist/src/cli/commands/approve.d.ts +1 -1
- package/dist/src/cli/commands/approve.js +7 -7
- package/dist/src/cli/commands/approve.js.map +1 -1
- package/dist/src/cli/commands/check.d.ts +1 -1
- package/dist/src/cli/commands/check.js +35 -4
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/compliance.d.ts +1 -1
- package/dist/src/cli/commands/compliance.js +1 -1
- package/dist/src/cli/commands/compliance.js.map +1 -1
- package/dist/src/cli/commands/contract.d.ts +2 -2
- package/dist/src/cli/commands/contract.js +8 -14
- package/dist/src/cli/commands/contract.js.map +1 -1
- package/dist/src/cli/commands/dashboard/data-service.d.ts +33 -0
- package/dist/src/cli/commands/dashboard/data-service.js +120 -0
- package/dist/src/cli/commands/dashboard/data-service.js.map +1 -0
- package/dist/src/cli/commands/dashboard/html-template.d.ts +4 -0
- package/dist/src/cli/commands/dashboard/html-template.js +697 -0
- package/dist/src/cli/commands/dashboard/html-template.js.map +1 -0
- package/dist/src/cli/commands/dashboard/server.d.ts +2 -0
- package/dist/src/cli/commands/dashboard/server.js +38 -0
- package/dist/src/cli/commands/dashboard/server.js.map +1 -0
- package/dist/src/cli/commands/dashboard.d.ts +4 -0
- package/dist/src/cli/commands/dashboard.js +10 -0
- package/dist/src/cli/commands/dashboard.js.map +1 -0
- package/dist/src/cli/commands/explorer.d.ts +2 -2
- package/dist/src/cli/commands/explorer.js +2 -2
- package/dist/src/cli/commands/explorer.js.map +1 -1
- package/dist/src/cli/commands/git.d.ts +2 -2
- package/dist/src/cli/commands/git.js +2 -2
- package/dist/src/cli/commands/git.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-core.d.ts +4 -0
- package/dist/src/cli/commands/init/scaffold-core.js +65 -0
- package/dist/src/cli/commands/init/scaffold-core.js.map +1 -0
- package/dist/src/cli/commands/init/scaffold-ops.d.ts +1 -0
- package/dist/src/cli/commands/init/scaffold-ops.js +83 -0
- package/dist/src/cli/commands/init/scaffold-ops.js.map +1 -0
- package/dist/src/cli/commands/init/scaffold-standards.d.ts +2 -0
- package/dist/src/cli/commands/init/scaffold-standards.js +58 -0
- package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -0
- package/dist/src/cli/commands/init.js +14 -275
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/knowledge.d.ts +2 -2
- package/dist/src/cli/commands/knowledge.js +4 -3
- package/dist/src/cli/commands/knowledge.js.map +1 -1
- package/dist/src/cli/commands/lint.d.ts +1 -1
- package/dist/src/cli/commands/lint.js +2 -3
- package/dist/src/cli/commands/lint.js.map +1 -1
- package/dist/src/cli/commands/log.d.ts +1 -1
- package/dist/src/cli/commands/log.js +3 -2
- package/dist/src/cli/commands/log.js.map +1 -1
- package/dist/src/cli/commands/memory.d.ts +1 -1
- package/dist/src/cli/commands/memory.js +1 -1
- package/dist/src/cli/commands/memory.js.map +1 -1
- package/dist/src/cli/commands/orchestrate.js +169 -140
- package/dist/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/src/cli/commands/plan.d.ts +1 -1
- package/dist/src/cli/commands/plan.js +1 -1
- package/dist/src/cli/commands/plan.js.map +1 -1
- package/dist/src/cli/commands/script.d.ts +1 -1
- package/dist/src/cli/commands/script.js +1 -1
- package/dist/src/cli/commands/script.js.map +1 -1
- package/dist/src/cli/commands/security.d.ts +1 -1
- package/dist/src/cli/commands/security.js +1 -1
- package/dist/src/cli/commands/security.js.map +1 -1
- package/dist/src/cli/commands/status.d.ts +1 -1
- package/dist/src/cli/commands/status.js +1 -1
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/commands/trace.d.ts +1 -1
- package/dist/src/cli/commands/trace.js +1 -1
- package/dist/src/cli/commands/trace.js.map +1 -1
- package/dist/src/cli/index.js +36 -21
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/shims.js +6 -6
- package/dist/src/cli/utils/app-backend.js +7 -0
- package/dist/src/cli/utils/app-backend.js.map +1 -1
- package/dist/src/cli/utils/app-docs.js +23 -5
- package/dist/src/cli/utils/app-docs.js.map +1 -1
- package/dist/src/cli/utils/app-frontend.js +5 -0
- package/dist/src/cli/utils/app-frontend.js.map +1 -1
- package/dist/src/cli/utils/app-inferrer.d.ts +1 -0
- package/dist/src/cli/utils/app-inferrer.js +12 -1
- package/dist/src/cli/utils/app-inferrer.js.map +1 -1
- package/dist/src/cli/utils/app-mobile.d.ts +2 -0
- package/dist/src/cli/utils/app-mobile.js +106 -0
- package/dist/src/cli/utils/app-mobile.js.map +1 -0
- package/dist/src/cli/utils/app-types.js +8 -4
- package/dist/src/cli/utils/app-types.js.map +1 -1
- package/dist/src/cli/utils/app.d.ts +1 -0
- package/dist/src/cli/utils/app.js +1 -0
- package/dist/src/cli/utils/app.js.map +1 -1
- package/dist/src/cli/utils/claude.js +2 -1
- package/dist/src/cli/utils/claude.js.map +1 -1
- package/dist/src/cli/utils/compliance.js +37 -6
- package/dist/src/cli/utils/compliance.js.map +1 -1
- package/dist/src/cli/utils/config-schema.d.ts +3 -3
- package/dist/src/cli/utils/config-schema.js +3 -3
- package/dist/src/cli/utils/config-schema.js.map +1 -1
- package/dist/src/cli/utils/fs.d.ts +2 -2
- package/dist/src/cli/utils/fs.js +9 -13
- package/dist/src/cli/utils/fs.js.map +1 -1
- package/dist/src/cli/utils/memory.d.ts +9 -2
- package/dist/src/cli/utils/memory.js +87 -16
- package/dist/src/cli/utils/memory.js.map +1 -1
- package/dist/src/cli/utils/pkg.js +14 -13
- package/dist/src/cli/utils/pkg.js.map +1 -1
- package/dist/src/cli/utils/string.js +1 -1
- package/dist/src/cli/utils/string.js.map +1 -1
- package/dist/src/cli/utils/ui.d.ts +1 -1
- package/dist/src/cli/utils/ui.js +1 -1
- package/dist/src/modules/adapters/shared.js +7 -7
- package/dist/src/modules/adapters/shared.js.map +1 -1
- package/dist/src/modules/agents/definitions.d.ts +3 -34
- package/dist/src/modules/agents/definitions.js +35 -511
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/src/modules/agents/registry/analyst.d.ts +2 -0
- package/dist/src/modules/agents/registry/analyst.js +36 -0
- package/dist/src/modules/agents/registry/analyst.js.map +1 -0
- package/dist/src/modules/agents/registry/architect.d.ts +2 -0
- package/dist/src/modules/agents/registry/architect.js +42 -0
- package/dist/src/modules/agents/registry/architect.js.map +1 -0
- package/dist/src/modules/agents/registry/backend.d.ts +2 -0
- package/dist/src/modules/agents/registry/backend.js +43 -0
- package/dist/src/modules/agents/registry/backend.js.map +1 -0
- package/dist/src/modules/agents/registry/database.d.ts +2 -0
- package/dist/src/modules/agents/registry/database.js +38 -0
- package/dist/src/modules/agents/registry/database.js.map +1 -0
- package/dist/src/modules/agents/registry/devops.d.ts +2 -0
- package/dist/src/modules/agents/registry/devops.js +38 -0
- package/dist/src/modules/agents/registry/devops.js.map +1 -0
- package/dist/src/modules/agents/registry/explorer.d.ts +2 -0
- package/dist/src/modules/agents/registry/explorer.js +36 -0
- package/dist/src/modules/agents/registry/explorer.js.map +1 -0
- package/dist/src/modules/agents/registry/frontend.d.ts +2 -0
- package/dist/src/modules/agents/registry/frontend.js +44 -0
- package/dist/src/modules/agents/registry/frontend.js.map +1 -0
- package/dist/src/modules/agents/registry/git.d.ts +2 -0
- package/dist/src/modules/agents/registry/git.js +35 -0
- package/dist/src/modules/agents/registry/git.js.map +1 -0
- package/dist/src/modules/agents/registry/manager.d.ts +2 -0
- package/dist/src/modules/agents/registry/manager.js +49 -0
- package/dist/src/modules/agents/registry/manager.js.map +1 -0
- package/dist/src/modules/agents/registry/mobile.d.ts +2 -0
- package/dist/src/modules/agents/registry/mobile.js +40 -0
- package/dist/src/modules/agents/registry/mobile.js.map +1 -0
- package/dist/src/modules/agents/registry/native.d.ts +2 -0
- package/dist/src/modules/agents/registry/native.js +36 -0
- package/dist/src/modules/agents/registry/native.js.map +1 -0
- package/dist/src/modules/agents/registry/quality.d.ts +2 -0
- package/dist/src/modules/agents/registry/quality.js +41 -0
- package/dist/src/modules/agents/registry/quality.js.map +1 -0
- package/dist/src/modules/agents/registry/security.d.ts +2 -0
- package/dist/src/modules/agents/registry/security.js +37 -0
- package/dist/src/modules/agents/registry/security.js.map +1 -0
- package/dist/src/modules/agents/types.d.ts +31 -0
- package/dist/src/modules/agents/types.js +2 -0
- package/dist/src/modules/agents/types.js.map +1 -0
- package/dist/src/modules/skills/definitions.d.ts +1 -1
- package/dist/src/modules/skills/definitions.js +1 -1
- package/dist/src/shared/errors.d.ts +8 -6
- package/dist/src/shared/errors.js +13 -10
- package/dist/src/shared/errors.js.map +1 -1
- package/dist/src/shared/fs.d.ts +4 -0
- package/dist/src/shared/fs.js +17 -2
- package/dist/src/shared/fs.js.map +1 -1
- package/dist/src/shared/types.d.ts +19 -0
- package/dist/src/shared/types.js +13 -0
- package/dist/src/shared/types.js.map +1 -0
- package/package.json +3 -5
- package/src/cli/adapters/core.ts +0 -1
- package/src/cli/adapters/scaffold.ts +4 -3
- package/src/cli/commands/app.ts +23 -5
- package/src/cli/commands/approve.ts +15 -7
- package/src/cli/commands/check.ts +38 -5
- package/src/cli/commands/compliance.ts +1 -1
- package/src/cli/commands/contract.ts +20 -14
- package/src/cli/commands/dashboard/data-service.ts +119 -0
- package/src/cli/commands/dashboard/html-template.ts +696 -0
- package/src/cli/commands/dashboard/server.ts +43 -0
- package/src/cli/commands/dashboard.ts +11 -0
- package/src/cli/commands/explorer.ts +2 -2
- package/src/cli/commands/git.ts +2 -2
- package/src/cli/commands/init/scaffold-core.ts +71 -0
- package/src/cli/commands/init/scaffold-ops.ts +86 -0
- package/src/cli/commands/init/scaffold-standards.ts +59 -0
- package/src/cli/commands/init.ts +21 -292
- package/src/cli/commands/knowledge.ts +5 -3
- package/src/cli/commands/lint.ts +2 -4
- package/src/cli/commands/log.ts +4 -2
- package/src/cli/commands/memory.ts +1 -1
- package/src/cli/commands/orchestrate.ts +177 -142
- package/src/cli/commands/plan.ts +1 -1
- package/src/cli/commands/script.ts +1 -1
- package/src/cli/commands/security.ts +1 -1
- package/src/cli/commands/status.ts +1 -1
- package/src/cli/commands/trace.ts +1 -1
- package/src/cli/index.ts +37 -21
- package/src/cli/shims.ts +6 -6
- package/src/cli/utils/app-backend.ts +8 -0
- package/src/cli/utils/app-docs.ts +23 -5
- package/src/cli/utils/app-frontend.ts +6 -0
- package/src/cli/utils/app-inferrer.ts +11 -1
- package/src/cli/utils/app-mobile.ts +113 -0
- package/src/cli/utils/app-types.ts +9 -4
- package/src/cli/utils/app.ts +1 -0
- package/src/cli/utils/claude.ts +2 -1
- package/src/cli/utils/compliance.ts +38 -7
- package/src/cli/utils/config-schema.ts +4 -4
- package/src/cli/utils/fs.ts +9 -14
- package/src/cli/utils/memory.ts +103 -20
- package/src/cli/utils/pkg.ts +14 -13
- package/src/cli/utils/string.ts +1 -1
- package/src/cli/utils/ui.ts +1 -1
- package/src/modules/adapters/shared.ts +7 -7
- package/src/modules/agents/definitions.ts +39 -598
- package/src/modules/agents/registry/analyst.ts +40 -0
- package/src/modules/agents/registry/architect.ts +46 -0
- package/src/modules/agents/registry/backend.ts +47 -0
- package/src/modules/agents/registry/database.ts +42 -0
- package/src/modules/agents/registry/devops.ts +42 -0
- package/src/modules/agents/registry/explorer.ts +40 -0
- package/src/modules/agents/registry/frontend.ts +48 -0
- package/src/modules/agents/registry/git.ts +39 -0
- package/src/modules/agents/registry/manager.ts +53 -0
- package/src/modules/agents/registry/mobile.ts +44 -0
- package/src/modules/agents/registry/native.ts +40 -0
- package/src/modules/agents/registry/quality.ts +45 -0
- package/src/modules/agents/registry/security.ts +41 -0
- package/src/modules/agents/types.ts +37 -0
- package/src/modules/skills/definitions.ts +1 -1
- package/src/shared/errors.ts +13 -10
- package/src/shared/fs.ts +17 -2
- package/src/shared/types.ts +20 -0
- package/bin/utils/docgen.ts +0 -24
|
@@ -77,7 +77,7 @@ function parseFrontmatter(content) {
|
|
|
77
77
|
|
|
78
78
|
const detected = detectFrameworkDir();
|
|
79
79
|
if (!detected) {
|
|
80
|
-
|
|
80
|
+
process.stderr.write("ā¹ļø No framework agents/ dir found for AL validation. Skipping.");
|
|
81
81
|
process.exit(0);
|
|
82
82
|
}
|
|
83
83
|
|
|
@@ -101,10 +101,10 @@ try {
|
|
|
101
101
|
|
|
102
102
|
let totalFailed = 0;
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
process.stderr.write(`š”ļø STARTING AGENT ARMY AL VALIDATION (${detected.frameworkDir})...`);
|
|
105
|
+
process.stderr.write("--------------------------------------------------");
|
|
106
|
+
process.stderr.write("| Agent ID | Format | Status | Category |");
|
|
107
|
+
process.stderr.write("--------------------------------------------------");
|
|
108
108
|
|
|
109
109
|
for (const file of files) {
|
|
110
110
|
const fileName = file.name;
|
|
@@ -119,7 +119,7 @@ try {
|
|
|
119
119
|
agent = isMd ? parseFrontmatter(content) : JSON.parse(content);
|
|
120
120
|
if (!agent && isMd) throw new Error("Missing Frontmatter");
|
|
121
121
|
} catch (e) {
|
|
122
|
-
|
|
122
|
+
process.stderr.write(`| ${fileName.padEnd(9)} | ${isMd ? "MD " : "JSON"} | ā INVALID | ${String(e.message).slice(0, 14)} |`);
|
|
123
123
|
totalFailed++;
|
|
124
124
|
continue;
|
|
125
125
|
}
|
|
@@ -131,22 +131,22 @@ try {
|
|
|
131
131
|
if (!agent.tags) missing.push("tags");
|
|
132
132
|
|
|
133
133
|
if (missing.length > 0) {
|
|
134
|
-
|
|
134
|
+
process.stderr.write(`| ${fileName.padEnd(9)} | ${isMd ? "MD " : "JSON"} | ā FAILED | ${missing.join(",").slice(0, 14)} |`);
|
|
135
135
|
totalFailed++;
|
|
136
136
|
} else {
|
|
137
137
|
const cat = Array.isArray(agent.tags) ? agent.tags[0] : "core";
|
|
138
|
-
|
|
138
|
+
process.stderr.write(`| ${agent.name.padEnd(9)} | ${isMd ? "MD " : "JSON"} | ā
PASSED | ${cat.padEnd(14)} |`);
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
process.stderr.write("--------------------------------------------------");
|
|
143
143
|
if (totalFailed > 0) {
|
|
144
|
-
|
|
144
|
+
process.stderr.write(`ā Validation failed! Detected ${totalFailed} invalid agent configurations.\n`);
|
|
145
145
|
process.exit(1);
|
|
146
146
|
} else {
|
|
147
|
-
|
|
147
|
+
process.stderr.write("š SUCCESS: All core agents are AL-Compliant!");
|
|
148
148
|
}
|
|
149
149
|
} catch (e) {
|
|
150
|
-
|
|
150
|
+
process.stderr.write(`ā Critical error during validation: ${e}\n`);
|
|
151
151
|
process.exit(1);
|
|
152
152
|
}
|
|
@@ -7,8 +7,20 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextpro
|
|
|
7
7
|
import { TOOLS, toolHandlers } from "./tools/index.js";
|
|
8
8
|
// āāā Server Setup āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
9
9
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
// Robustly find package.json by walking up from __dirname
|
|
11
|
+
function findPackageJson(startDir) {
|
|
12
|
+
let currentDir = startDir;
|
|
13
|
+
while (currentDir !== path.parse(currentDir).root) {
|
|
14
|
+
const pkgPath = path.join(currentDir, "package.json");
|
|
15
|
+
if (fs.existsSync(pkgPath))
|
|
16
|
+
return pkgPath;
|
|
17
|
+
currentDir = path.dirname(currentDir);
|
|
18
|
+
}
|
|
19
|
+
throw new Error("Could not find package.json for @agent-enderun/mcp");
|
|
20
|
+
}
|
|
21
|
+
const pkgPath = findPackageJson(__dirname);
|
|
22
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
23
|
+
const serverVersion = pkg.version;
|
|
12
24
|
const server = new Server({
|
|
13
25
|
name: "@agent-enderun/mcp",
|
|
14
26
|
version: serverVersion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../framework-mcp/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACH,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGvD,qEAAqE;AAErE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../framework-mcp/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import { safePath } from "../../utils/security.js";
|
|
3
|
+
import { writeTextFileAtomic } from "../../utils/fs.js";
|
|
3
4
|
import { Metrics } from "../../utils/metrics.js";
|
|
4
5
|
import { verifyCorporateCompliance } from "../../utils/compliance.js";
|
|
5
6
|
/**
|
|
@@ -35,7 +36,7 @@ export function handleBatchSurgicalEdit(projectRoot, args) {
|
|
|
35
36
|
: content.replace(oldText, newText);
|
|
36
37
|
// ENFORCE CORPORATE COMPLIANCE
|
|
37
38
|
verifyCorporateCompliance(newContent, edit.path);
|
|
38
|
-
|
|
39
|
+
writeTextFileAtomic(filePath, newContent);
|
|
39
40
|
const tokens = Metrics.estimateTokens(newText);
|
|
40
41
|
totalTokens += tokens;
|
|
41
42
|
results.push(`ā
Edited ${edit.path}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch_surgical_edit.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/batch_surgical_edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"batch_surgical_edit.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/batch_surgical_edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import { safePath } from "../../utils/security.js";
|
|
3
|
+
import { writeTextFileAtomic } from "../../utils/fs.js";
|
|
3
4
|
import { Metrics } from "../../utils/metrics.js";
|
|
4
5
|
import { verifyCorporateCompliance } from "../../utils/compliance.js";
|
|
5
6
|
export function handleReplaceText(projectRoot, args) {
|
|
@@ -31,7 +32,7 @@ export function handleReplaceText(projectRoot, args) {
|
|
|
31
32
|
}
|
|
32
33
|
// ENFORCE CORPORATE COMPLIANCE
|
|
33
34
|
verifyCorporateCompliance(newContent, args.path);
|
|
34
|
-
|
|
35
|
+
writeTextFileAtomic(filePath, newContent);
|
|
35
36
|
const tokens = Metrics.estimateTokens(newText);
|
|
36
37
|
Metrics.logUsage(projectRoot, "@mcp", `replace_text: ${args.path}`, tokens);
|
|
37
38
|
return { content: [{ type: "text", text: `ā
Surgical edit successful in ${args.path}` }] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace_text.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/replace_text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"replace_text.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/replace_text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,IAAc;IACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,mBAAmB;IAEtE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IAED,wFAAwF;IACxF,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC5G,MAAM,IAAI,KAAK,CACX,2BAA2B,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,KAAK,aAAa,IAAI,CAAC,IAAI,IAAI;gBAC5F,0EAA0E,CAC7E,CAAC;QACN,CAAC;IACL,CAAC;IAED,yBAAyB;IACzB,IAAI,UAAkB,CAAC;IACvB,IAAI,aAAa,EAAE,CAAC;QAChB,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3G,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,+BAA+B;IAC/B,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;IAE3D,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAE5E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AAC/F,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { safePath, resolveFrameworkDir } from "../../utils/security.js";
|
|
4
|
+
import { writeTextFileAtomic, appendFileSafe } from "../../utils/fs.js";
|
|
4
5
|
import { Metrics } from "../../utils/metrics.js";
|
|
5
6
|
import { verifyCorporateCompliance } from "../../utils/compliance.js";
|
|
6
7
|
export function handleWriteFile(projectRoot, args) {
|
|
@@ -8,8 +9,7 @@ export function handleWriteFile(projectRoot, args) {
|
|
|
8
9
|
const content = args.content;
|
|
9
10
|
// ENFORCE CORPORATE COMPLIANCE
|
|
10
11
|
verifyCorporateCompliance(content, args.path);
|
|
11
|
-
|
|
12
|
-
fs.writeFileSync(filePath, content);
|
|
12
|
+
writeTextFileAtomic(filePath, content);
|
|
13
13
|
// AUTO-LOGGING & METRICS
|
|
14
14
|
const tokens = Metrics.estimateTokens(content);
|
|
15
15
|
Metrics.logUsage(projectRoot, "@mcp", `write_file: ${args.path}`, tokens);
|
|
@@ -18,7 +18,7 @@ export function handleWriteFile(projectRoot, args) {
|
|
|
18
18
|
const memoryPath = path.join(projectRoot, frameworkDir, "memory/PROJECT_MEMORY.md");
|
|
19
19
|
if (fs.existsSync(memoryPath)) {
|
|
20
20
|
const entry = `\n### ${new Date().toISOString().split("T")[0]} ā Auto-Update\n- **Action:** wrote file \`${args.path}\` (${tokens} tokens estimated).\n`;
|
|
21
|
-
|
|
21
|
+
appendFileSafe(memoryPath, entry);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
catch { /* ignore memory logging errors */ }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write_file.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/write_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,IAAc;IAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAC;IAEvC,+BAA+B;IAC/B,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;IAExD,
|
|
1
|
+
{"version":3,"file":"write_file.js","sourceRoot":"","sources":["../../../../../framework-mcp/src/tools/file_system/write_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,IAAc;IAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAC;IAEvC,+BAA+B;IAC/B,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;IAExD,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvC,yBAAyB;IACzB,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAE1E,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,0BAA0B,CAAC,CAAC;QACpF,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,8CAA8C,IAAI,CAAC,IAAI,OAAO,MAAM,uBAAuB,CAAC;YACzJ,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAE9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AACjF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ensures directory existence.
|
|
3
|
+
*/
|
|
4
|
+
export declare function ensureDir(dirPath: string): void;
|
|
5
|
+
/**
|
|
6
|
+
* Atomically writes a text file.
|
|
7
|
+
*/
|
|
8
|
+
export declare function writeTextFileAtomic(filePath: string, content: string): void;
|
|
9
|
+
/**
|
|
10
|
+
* Atomically appends to a file (if supported by OS) or simulates it.
|
|
11
|
+
* Note: Real atomic append on POSIX is a single write() call with O_APPEND.
|
|
12
|
+
* For simplicity and robustness across platforms, we use a simple append here
|
|
13
|
+
* as the risk of corruption is lower than a full rewrite, but for logs
|
|
14
|
+
* it's acceptable.
|
|
15
|
+
*/
|
|
16
|
+
export declare function appendFileSafe(filePath: string, content: string): void;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
/**
|
|
4
|
+
* Ensures directory existence.
|
|
5
|
+
*/
|
|
6
|
+
export function ensureDir(dirPath) {
|
|
7
|
+
if (!fs.existsSync(dirPath)) {
|
|
8
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Atomically writes a text file.
|
|
13
|
+
*/
|
|
14
|
+
export function writeTextFileAtomic(filePath, content) {
|
|
15
|
+
const dir = path.dirname(filePath);
|
|
16
|
+
ensureDir(dir);
|
|
17
|
+
const tempPath = `${filePath}.${Math.random().toString(36).slice(2, 9)}.tmp`;
|
|
18
|
+
const finalContent = content.endsWith("\n") ? content : `${content}\n`;
|
|
19
|
+
try {
|
|
20
|
+
fs.writeFileSync(tempPath, finalContent, "utf8");
|
|
21
|
+
fs.renameSync(tempPath, filePath);
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
if (fs.existsSync(tempPath)) {
|
|
25
|
+
try {
|
|
26
|
+
fs.unlinkSync(tempPath);
|
|
27
|
+
}
|
|
28
|
+
catch { /* ignore */ }
|
|
29
|
+
}
|
|
30
|
+
throw err;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Atomically appends to a file (if supported by OS) or simulates it.
|
|
35
|
+
* Note: Real atomic append on POSIX is a single write() call with O_APPEND.
|
|
36
|
+
* For simplicity and robustness across platforms, we use a simple append here
|
|
37
|
+
* as the risk of corruption is lower than a full rewrite, but for logs
|
|
38
|
+
* it's acceptable.
|
|
39
|
+
*/
|
|
40
|
+
export function appendFileSafe(filePath, content) {
|
|
41
|
+
const dir = path.dirname(filePath);
|
|
42
|
+
ensureDir(dir);
|
|
43
|
+
fs.appendFileSync(filePath, content, "utf8");
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../../framework-mcp/src/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEf,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC;IAEvE,IAAI,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACjD,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,CAAC,CAAC;IACf,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../framework-mcp/src/utils/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../framework-mcp/src/utils/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAapD,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB;;OAEG;IACH,cAAc,EAAE,CAAC,IAAY,EAAU,EAAE;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,QAAQ,EAAE,CAAC,WAAmB,EAAE,KAAa,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;QAC7E,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,4BAA4B,CAAC,CAAC;QACvF,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9E,IAAI,cAAc,GAAkB,EAAE,CAAC;YACvC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7B,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;YACtE,CAAC;YAED,cAAc,CAAC,IAAI,CAAC;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK;gBACL,MAAM;gBACN,eAAe,EAAE,MAAM;aAC1B,CAAC,CAAC;YAEH,2CAA2C;YAC3C,IAAI,cAAc,CAAC,MAAM,GAAG,GAAG;gBAAE,cAAc,CAAC,KAAK,EAAE,CAAC;YAExD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/cli/adapters/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/cli/adapters/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE5F,MAAM,CAAC,MAAM,QAAQ,GAAqC,eAAe,CAAC;AAE1E,MAAM,CAAC,MAAM,UAAU,GAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEpG,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,cAAc;IACd,QAAQ;IACR,yBAAyB;IACzB,SAAS;IACT,SAAS;CACH,CAAC;AAEX,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACnD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,aAAa,CAAC;IAEhF,OAAO;QACH,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,CAAC,YAAY,CAAC;QACpB,GAAG,EAAE;YACD,oBAAoB,EAAE,WAAW;SACpC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAsB,EAAE,WAAmB;IAC1E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,CAAC;IAE/D,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,UAAU,EAAE,CAAC;QACb,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { writeTextFile } from "../utils/fs.js";
|
|
2
2
|
import path from "path";
|
|
3
|
+
import fs from "fs";
|
|
3
4
|
import { ALL_AGENTS, toClaudeCodeMd, toGeminiCliMd, toCodexMd, toAntigravityJson, toCursorMdc } from "../../modules/agents/definitions.js";
|
|
4
5
|
import { ADAPTERS } from "./core.js";
|
|
5
6
|
export function scaffoldAgents(projectRoot, adapterId, dryRun, agentsToScaffold) {
|
|
@@ -49,9 +50,9 @@ export function scaffoldAgents(projectRoot, adapterId, dryRun, agentsToScaffold)
|
|
|
49
50
|
break;
|
|
50
51
|
}
|
|
51
52
|
if (!dryRun) {
|
|
52
|
-
|
|
53
|
+
writeTextFile(path.join(destAgentsDir, fileName), content, dryRun);
|
|
53
54
|
if (secondaryContent && secondaryFileName) {
|
|
54
|
-
|
|
55
|
+
writeTextFile(path.join(destAgentsDir, secondaryFileName), secondaryContent, dryRun);
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../../src/cli/adapters/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../../src/cli/adapters/scaffold.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,31 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
|
-
import { updateMemoryForGeneratedApp, collectCreateAppDescription, inferAppSpec, createBackendFiles, createWebFiles, updateProjectDocs } from "../utils/app.js";
|
|
2
|
+
import { updateMemoryForGeneratedApp, collectCreateAppDescription, inferAppSpec, createBackendFiles, createWebFiles, createMobileFiles, updateProjectDocs } from "../utils/app.js";
|
|
3
3
|
import { traceNewCommand } from "./trace.js";
|
|
4
4
|
import { getMemoryPath } from "../utils/memory.js";
|
|
5
|
+
import { ValidationError } from "../../shared/errors.js";
|
|
5
6
|
/**
|
|
6
7
|
* Generate a new application based on natural language input.
|
|
7
8
|
*/
|
|
8
9
|
export async function createAppCommand(args) {
|
|
10
|
+
if (!fs.existsSync("apps")) {
|
|
11
|
+
throw new ValidationError("The 'apps/' directory is missing.", null, "Ensure you are in the project root and the 'apps/' folder exists. Run 'mkdir apps' if needed.");
|
|
12
|
+
}
|
|
9
13
|
const description = await collectCreateAppDescription(args);
|
|
10
14
|
const spec = inferAppSpec(description);
|
|
11
|
-
console.warn(`š Generating Enterprise App: ${spec.title}...`);
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
console.warn(`š Generating Enterprise App: ${spec.title} (Platform: ${spec.platform})...`);
|
|
16
|
+
if (spec.platform === "full-stack") {
|
|
17
|
+
createBackendFiles(spec);
|
|
18
|
+
createWebFiles(spec);
|
|
19
|
+
}
|
|
20
|
+
else if (spec.platform === "web") {
|
|
21
|
+
createWebFiles(spec);
|
|
22
|
+
}
|
|
23
|
+
else if (spec.platform === "mobile") {
|
|
24
|
+
createMobileFiles(spec);
|
|
25
|
+
}
|
|
26
|
+
else if (spec.platform === "backend") {
|
|
27
|
+
createBackendFiles(spec);
|
|
28
|
+
}
|
|
14
29
|
updateProjectDocs(spec);
|
|
15
30
|
const memoryPath = getMemoryPath();
|
|
16
31
|
let traceId = "01HGT8J5E2N0W0W0W0W0W0W0W0"; // default fallback
|
|
@@ -20,7 +35,7 @@ export async function createAppCommand(args) {
|
|
|
20
35
|
if (match)
|
|
21
36
|
traceId = match[1].trim();
|
|
22
37
|
}
|
|
23
|
-
const activeTraceId = traceNewCommand(`Generate ${spec.title} from natural language request`, "manager", "P1") || traceId;
|
|
38
|
+
const activeTraceId = (await traceNewCommand(`Generate ${spec.title} from natural language request`, "manager", "P1")) || traceId;
|
|
24
39
|
updateMemoryForGeneratedApp(spec, activeTraceId);
|
|
25
40
|
console.warn("\n⨠Application scaffolded successfully!");
|
|
26
41
|
console.warn("š Updated project docs and app-local types contract");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/cli/commands/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/cli/commands/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnL,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CACrB,mCAAmC,EACnC,IAAI,EACJ,+FAA+F,CAClG,CAAC;IACN,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAEvC,OAAO,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,KAAK,eAAe,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC;IAE5F,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACjC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjC,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACpC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,OAAO,GAAG,4BAA4B,CAAC,CAAC,mBAAmB;IAE/D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,MAAM,eAAe,CAAC,YAAY,IAAI,CAAC,KAAK,gCAAgC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC;IAClI,2BAA2B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEjD,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function approveCommand(traceId: string): void
|
|
1
|
+
export declare function approveCommand(traceId: string): Promise<void>;
|
|
@@ -2,13 +2,14 @@ import fs from "fs";
|
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { getFrameworkDir } from "../utils/memory.js";
|
|
4
4
|
import { UI } from "../utils/ui.js";
|
|
5
|
+
import { writeTextFile, appendFile } from "../utils/fs.js";
|
|
6
|
+
import { ValidationError } from "../../shared/errors.js";
|
|
5
7
|
import { HermesMessageSchema } from "./orchestrate.js";
|
|
6
|
-
export function approveCommand(traceId) {
|
|
8
|
+
export async function approveCommand(traceId) {
|
|
7
9
|
const frameworkDir = getFrameworkDir();
|
|
8
10
|
const messagesDir = path.join(frameworkDir, "messages");
|
|
9
11
|
if (!fs.existsSync(messagesDir)) {
|
|
10
|
-
|
|
11
|
-
process.exit(1);
|
|
12
|
+
throw new ValidationError("No messages directory found.", null, "Ensure the framework is initialized and the Hermes orchestrator has been run at least once.");
|
|
12
13
|
}
|
|
13
14
|
const files = fs.readdirSync(messagesDir).filter((f) => f.endsWith(".json"));
|
|
14
15
|
let found = false;
|
|
@@ -40,7 +41,7 @@ export function approveCommand(traceId) {
|
|
|
40
41
|
}
|
|
41
42
|
});
|
|
42
43
|
if (updated) {
|
|
43
|
-
|
|
44
|
+
writeTextFile(filePath, newLines.join("\n") + "\n");
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
catch (e) {
|
|
@@ -52,13 +53,12 @@ export function approveCommand(traceId) {
|
|
|
52
53
|
const auditPath = path.join(frameworkDir, "observability/audit_log.md");
|
|
53
54
|
if (fs.existsSync(auditPath)) {
|
|
54
55
|
const logEntry = "\n- **[" + new Date().toISOString() + "]** USER -> @manager | APPROVED | Trace: " + traceId;
|
|
55
|
-
|
|
56
|
+
appendFile(auditPath, logEntry);
|
|
56
57
|
}
|
|
57
58
|
UI.success("Successfully approved Trace: " + traceId);
|
|
58
59
|
}
|
|
59
60
|
else {
|
|
60
|
-
|
|
61
|
-
process.exit(1);
|
|
61
|
+
throw new ValidationError(`No pending approval request found for Trace ID: ${traceId}`, null, "Run 'npx agent-enderun status' to see active traces and ensure the ID is correct and pending approval.");
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
//# sourceMappingURL=approve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../../src/cli/commands/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../../src/cli/commands/approve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function checkCommand(): void
|
|
1
|
+
export declare function checkCommand(): Promise<void>;
|
|
@@ -6,9 +6,9 @@ import { getPackageVersion, getValidatorPath } from "../utils/pkg.js";
|
|
|
6
6
|
import { UI } from "../utils/ui.js";
|
|
7
7
|
import { logger } from "../../shared/logger.js";
|
|
8
8
|
import { scanProjectCompliance } from "../utils/compliance.js";
|
|
9
|
-
|
|
10
|
-
export function checkCommand() {
|
|
11
|
-
UI.intent("Enderun
|
|
9
|
+
import { ALL_AGENTS } from "../../modules/agents/definitions.js";
|
|
10
|
+
export async function checkCommand() {
|
|
11
|
+
UI.intent("Agent Enderun Health Check", `Checking system health and discipline rules (v${getPackageVersion()})...`);
|
|
12
12
|
let issues = 0;
|
|
13
13
|
const frameworkDir = getFrameworkDir();
|
|
14
14
|
const memoryPath = getMemoryPath();
|
|
@@ -90,6 +90,37 @@ export function checkCommand() {
|
|
|
90
90
|
console.error(err.stderr.toString());
|
|
91
91
|
issues++;
|
|
92
92
|
}
|
|
93
|
+
// Agent Documentation Check (Live Integrity)
|
|
94
|
+
console.warn("\nš Checking Agent Integrity (Instructions)...");
|
|
95
|
+
// We check both the main framework dir and common subdirs
|
|
96
|
+
const possibleAgentDirs = [
|
|
97
|
+
path.join(process.cwd(), ".agents"),
|
|
98
|
+
path.join(process.cwd(), ".gemini/agents"),
|
|
99
|
+
path.join(process.cwd(), ".claude/agents"),
|
|
100
|
+
path.join(process.cwd(), ".cursor/rules"),
|
|
101
|
+
path.join(process.cwd(), ".grok"),
|
|
102
|
+
path.join(process.cwd(), ".antigravity/agents"),
|
|
103
|
+
];
|
|
104
|
+
const activeAgentDir = possibleAgentDirs.find(d => fs.existsSync(d));
|
|
105
|
+
if (activeAgentDir) {
|
|
106
|
+
ALL_AGENTS.forEach(agent => {
|
|
107
|
+
const agentName = agent.name.replace("@", "");
|
|
108
|
+
// Support both .md and .mdc (Cursor)
|
|
109
|
+
const mdPath = path.join(activeAgentDir, `${agentName}.md`);
|
|
110
|
+
const mdcPath = path.join(activeAgentDir, `${agentName}.mdc`);
|
|
111
|
+
if (fs.existsSync(mdPath) || fs.existsSync(mdcPath)) {
|
|
112
|
+
UI.success(`Instructions for @${agentName} found in ${path.relative(process.cwd(), activeAgentDir)}`);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
UI.error(`Instructions for @${agentName} MISSING! Expected in ${path.relative(process.cwd(), activeAgentDir)}`);
|
|
116
|
+
issues++;
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
UI.warning("No active agent instruction directory detected (.gemini/agents, .claude/agents, etc.). Run 'init' first.");
|
|
122
|
+
issues++;
|
|
123
|
+
}
|
|
93
124
|
// Code Quality - Using the new Compliance Scanner
|
|
94
125
|
console.warn("\nāļø Checking Discipline (Code Quality)...");
|
|
95
126
|
const complianceIssues = scanProjectCompliance();
|
|
@@ -154,7 +185,7 @@ export function checkCommand() {
|
|
|
154
185
|
console.warn("\nš Token Consumption Report: No token usage logged yet.");
|
|
155
186
|
}
|
|
156
187
|
if (issues === 0) {
|
|
157
|
-
UI.success("\nš All systems green! Enderun
|
|
188
|
+
UI.success("\nš All systems green! Agent Enderun is ready.");
|
|
158
189
|
}
|
|
159
190
|
else {
|
|
160
191
|
UI.error(`\nā ļø Found ${issues} issues. Please fix them.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function complianceCheckCommand(targetPath: string): void
|
|
1
|
+
export declare function complianceCheckCommand(targetPath: string): Promise<void>;
|
|
@@ -2,7 +2,7 @@ import fs from "fs";
|
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { collectFiles } from "../utils/fs.js";
|
|
4
4
|
const targetDir = process.cwd(); // Assuming targetDir is process.cwd() in the CLI context
|
|
5
|
-
export function complianceCheckCommand(targetPath) {
|
|
5
|
+
export async function complianceCheckCommand(targetPath) {
|
|
6
6
|
console.warn(`š Checking Constitution Compliance: ${targetPath}...`);
|
|
7
7
|
const violations = [];
|
|
8
8
|
const forbidden = ["@shadcn", "mui", "@chakra-ui", "tailwindcss"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../../../src/cli/commands/compliance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,yDAAyD;AAE1F,MAAM,UAAU,sBAAsB,CAAC,UAAkB;
|
|
1
|
+
{"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../../../src/cli/commands/compliance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Verify type safety between backend and frontend contracts.
|
|
3
3
|
*/
|
|
4
|
-
export declare function verifyApiContractCommand(): void
|
|
4
|
+
export declare function verifyApiContractCommand(): Promise<void>;
|
|
5
5
|
/**
|
|
6
6
|
* Update and synchronize type safety between backend and frontend contracts.
|
|
7
7
|
*/
|
|
8
|
-
export declare function updateApiContractCommand(): void
|
|
8
|
+
export declare function updateApiContractCommand(): Promise<void>;
|