agent-enderun 1.1.7 → 1.1.9
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 +2 -2
- package/bin/run-multi-test.js +3 -3
- package/dist/framework-mcp/src/tools/observability/check_ports.js +1 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
- package/dist/framework-mcp/src/tools/observability/get_health.d.ts +1 -1
- package/dist/framework-mcp/src/tools/observability/get_health.js +1 -2
- package/dist/framework-mcp/src/tools/observability/get_health.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/get_map.js +0 -1
- package/dist/framework-mcp/src/tools/search/get_map.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -1
- package/dist/framework-mcp/src/tools/types.d.ts +2 -2
- package/dist/src/cli/adapters.d.ts +3 -3
- package/dist/src/cli/adapters.js +11 -5
- package/dist/src/cli/adapters.js.map +1 -1
- package/dist/src/cli/commands/init.js +7 -52
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/utils/app-backend.js +4 -4
- package/dist/src/cli/utils/app-backend.js.map +1 -1
- package/dist/src/cli/utils/app-frontend.js +4 -4
- package/dist/src/cli/utils/app-frontend.js.map +1 -1
- package/dist/src/cli/utils/app-types.js +1 -1
- package/dist/src/cli/utils/app-types.js.map +1 -1
- package/dist/src/modules/adapters/definitions.js +3 -3
- package/dist/src/modules/adapters/definitions.js.map +1 -1
- package/dist/src/modules/agents/definitions.js +3 -4
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/tests/adapter.test.js +5 -6
- package/dist/tests/adapter.test.js.map +1 -1
- package/dist/tests/agents-definitions.test.js +1 -5
- package/dist/tests/agents-definitions.test.js.map +1 -1
- package/dist/tests/memory-utils.test.js +1 -1
- package/dist/tests/memory-utils.test.js.map +1 -1
- package/dist/tests/orchestrate.test.js +2 -2
- package/dist/tests/orchestrate.test.js.map +1 -1
- package/dist/tests/skills-definitions.test.js +2 -2
- package/dist/tests/skills-definitions.test.js.map +1 -1
- package/eslint.config.js +25 -3
- package/framework-mcp/dist/tools/observability/check_ports.js +1 -1
- package/framework-mcp/dist/tools/observability/get_health.js +1 -2
- package/framework-mcp/dist/tools/search/get_map.js +0 -1
- package/framework-mcp/package.json +2 -2
- package/framework-mcp/src/tools/observability/check_ports.ts +4 -4
- package/framework-mcp/src/tools/observability/get_health.ts +1 -2
- package/framework-mcp/src/tools/search/get_map.ts +1 -3
- package/framework-mcp/src/tools/search/grep_search.ts +3 -4
- package/framework-mcp/src/tools/types.ts +2 -2
- package/package.json +2 -2
- package/src/cli/adapters.ts +14 -8
- package/src/cli/commands/init.ts +36 -82
- package/src/cli/utils/app-backend.ts +5 -5
- package/src/cli/utils/app-frontend.ts +5 -5
- package/src/cli/utils/app-types.ts +1 -1
- package/src/modules/adapters/definitions.ts +3 -3
- package/src/modules/agents/definitions.ts +3 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
1
|
import fs from "fs";
|
|
3
2
|
import path from "path";
|
|
4
|
-
import {
|
|
3
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
4
|
+
import { buildMcpServerEntry, isAdapterShimFile, remapFrameworkContent, resolveAdapter, scaffoldAgents } from "../src/cli/adapters.js";
|
|
5
5
|
import { UI } from "../src/cli/utils/ui.js";
|
|
6
6
|
describe("CLI Adapters", () => {
|
|
7
7
|
describe("resolveAdapter", () => {
|
|
@@ -109,19 +109,18 @@ describe("CLI Adapters", () => {
|
|
|
109
109
|
it("should respect dryRun and not create files", () => {
|
|
110
110
|
const consoleWarnSpy = vi.spyOn(console, "warn").mockImplementation(() => { });
|
|
111
111
|
scaffoldAgents(tempDir, "gemini", true);
|
|
112
|
-
const agentsDir = path.join(tempDir, ".
|
|
112
|
+
const agentsDir = path.join(tempDir, ".gemini/agents");
|
|
113
113
|
expect(fs.existsSync(agentsDir)).toBe(false);
|
|
114
114
|
consoleWarnSpy.mockRestore();
|
|
115
115
|
});
|
|
116
116
|
it("should scaffold agents successfully on normal mode", () => {
|
|
117
117
|
const consoleWarnSpy = vi.spyOn(console, "warn").mockImplementation(() => { });
|
|
118
|
-
// gemini uses .cursorrules folder
|
|
119
118
|
scaffoldAgents(tempDir, "gemini", false);
|
|
120
|
-
const agentsDir = path.join(tempDir, ".
|
|
119
|
+
const agentsDir = path.join(tempDir, ".gemini/agents");
|
|
121
120
|
expect(fs.existsSync(agentsDir)).toBe(true);
|
|
122
121
|
const files = fs.readdirSync(agentsDir);
|
|
123
122
|
expect(files.length).toBeGreaterThan(0);
|
|
124
|
-
expect(files).toContain("manager.
|
|
123
|
+
expect(files).toContain("manager.md");
|
|
125
124
|
consoleWarnSpy.mockRestore();
|
|
126
125
|
});
|
|
127
126
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.test.js","sourceRoot":"","sources":["../../tests/adapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adapter.test.js","sourceRoot":"","sources":["../../tests/adapter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe,
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
2
|
import { ALL_AGENTS, buildAgentJson } from "../src/modules/agents/definitions.js";
|
|
3
3
|
describe("Agents Definitions", () => {
|
|
4
4
|
it("should have exactly 13 agents defined", () => {
|
|
@@ -41,10 +41,6 @@ describe("Agents Definitions", () => {
|
|
|
41
41
|
expect(parsed.name).toBe("test-agent");
|
|
42
42
|
expect(parsed.displayName).toBe("Test Agent");
|
|
43
43
|
expect(parsed.description).toBe("Test agent description");
|
|
44
|
-
expect(parsed.role).toBe("Testing stuff");
|
|
45
|
-
expect(parsed.capability).toBe(5);
|
|
46
|
-
expect(parsed.tags).toEqual(["test"]);
|
|
47
|
-
expect(parsed.stateMachine).toBe("../schema/life.json");
|
|
48
44
|
expect(parsed.hidden).toBe(false);
|
|
49
45
|
expect(parsed.customAgentSpec.customAgent.toolNames).toEqual(["tool1", "tool2"]);
|
|
50
46
|
expect(parsed.customAgentSpec.customAgent.systemPromptSections[0].title).toBe("Instructions");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-definitions.test.js","sourceRoot":"","sources":["../../tests/agents-definitions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"agents-definitions.test.js","sourceRoot":"","sources":["../../tests/agents-definitions.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
1
|
import fs from "fs";
|
|
3
2
|
import path from "path";
|
|
3
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
4
4
|
describe("Memory Utilities", () => {
|
|
5
5
|
const tempDir = path.join(process.cwd(), "tests", "temp-memory-test");
|
|
6
6
|
let cwdSpy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-utils.test.js","sourceRoot":"","sources":["../../tests/memory-utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"memory-utils.test.js","sourceRoot":"","sources":["../../tests/memory-utils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
2
1
|
import fs from "fs";
|
|
3
2
|
import path from "path";
|
|
4
|
-
import {
|
|
3
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
4
|
+
import { HermesMessageSchema, orchestrateCommand, sendMessage } from "../src/cli/commands/orchestrate.js";
|
|
5
5
|
// Mock the getFrameworkDir utility to return our test sandbox folder
|
|
6
6
|
vi.mock("../utils/memory.js", () => {
|
|
7
7
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrate.test.js","sourceRoot":"","sources":["../../tests/orchestrate.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"orchestrate.test.js","sourceRoot":"","sources":["../../tests/orchestrate.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe,
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
2
|
import { CORE_SKILLS } from "../src/modules/skills/definitions.js";
|
|
3
3
|
describe("Skills Definitions", () => {
|
|
4
4
|
it("should define all core skills with proper keys", () => {
|
|
@@ -12,7 +12,7 @@ describe("Skills Definitions", () => {
|
|
|
12
12
|
expect(keys).toContain("DEVOPS_INFRASTRUCTURE");
|
|
13
13
|
});
|
|
14
14
|
it("should ensure all skills have valid properties, mandates and tools", () => {
|
|
15
|
-
for (const [
|
|
15
|
+
for (const [, skill] of Object.entries(CORE_SKILLS)) {
|
|
16
16
|
expect(skill.name).toBeTypeOf("string");
|
|
17
17
|
expect(skill.name.length).toBeGreaterThan(0);
|
|
18
18
|
expect(skill.description).toBeTypeOf("string");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-definitions.test.js","sourceRoot":"","sources":["../../tests/skills-definitions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"skills-definitions.test.js","sourceRoot":"","sources":["../../tests/skills-definitions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC1E,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAE7C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACjD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/eslint.config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import globals from "globals";
|
|
2
1
|
import js from "@eslint/js";
|
|
2
|
+
import globals from "globals";
|
|
3
3
|
import tseslint from "typescript-eslint";
|
|
4
4
|
|
|
5
5
|
const styleRules = {
|
|
@@ -30,7 +30,7 @@ export default tseslint.config(
|
|
|
30
30
|
js.configs.recommended,
|
|
31
31
|
...tseslint.configs.recommended,
|
|
32
32
|
{
|
|
33
|
-
files: ["
|
|
33
|
+
files: ["src/**/*.{ts,tsx}", "framework-mcp/src/**/*.{ts,tsx}"],
|
|
34
34
|
languageOptions: {
|
|
35
35
|
ecmaVersion: 2022,
|
|
36
36
|
sourceType: "module",
|
|
@@ -49,7 +49,29 @@ export default tseslint.config(
|
|
|
49
49
|
"no-unused-vars": "off",
|
|
50
50
|
"@typescript-eslint/no-explicit-any": "error",
|
|
51
51
|
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
52
|
-
"@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
|
|
52
|
+
"@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_" }],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
files: ["tests/**/*.{ts,tsx}", "framework-mcp/tests/**/*.{ts,tsx}", "vitest.config.ts"],
|
|
57
|
+
languageOptions: {
|
|
58
|
+
ecmaVersion: 2022,
|
|
59
|
+
sourceType: "module",
|
|
60
|
+
globals: {
|
|
61
|
+
...globals.node,
|
|
62
|
+
...globals.es2021,
|
|
63
|
+
},
|
|
64
|
+
parserOptions: {
|
|
65
|
+
project: ["./tsconfig.json", "./framework-mcp/tsconfig.json"],
|
|
66
|
+
tsconfigRootDir: import.meta.dirname,
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
rules: {
|
|
70
|
+
...styleRules,
|
|
71
|
+
"no-unused-vars": "off",
|
|
72
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
73
|
+
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
74
|
+
"@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_" }],
|
|
53
75
|
},
|
|
54
76
|
},
|
|
55
77
|
{
|
|
@@ -2,12 +2,11 @@ import os from "os";
|
|
|
2
2
|
/**
|
|
3
3
|
* Retrieves system health metrics including CPU load and memory usage.
|
|
4
4
|
*/
|
|
5
|
-
export function handleGetSystemHealth(
|
|
5
|
+
export function handleGetSystemHealth(_projectRoot, _args) {
|
|
6
6
|
const totalMem = os.totalmem();
|
|
7
7
|
const freeMem = os.freemem();
|
|
8
8
|
const usedMem = totalMem - freeMem;
|
|
9
9
|
const memUsagePercent = ((usedMem / totalMem) * 100).toFixed(2);
|
|
10
|
-
const cpus = os.cpus();
|
|
11
10
|
const loadAvg = os.loadavg(); // [1, 5, 15] minute averages
|
|
12
11
|
const healthReport = `🖥️ **System Health Report**
|
|
13
12
|
- **Memory:** ${memUsagePercent}% used (${(usedMem / 1024 / 1024 / 1024).toFixed(2)} GB / ${(totalMem / 1024 / 1024 / 1024).toFixed(2)} GB)
|
|
@@ -16,7 +16,6 @@ export function handleGetProjectMap(projectRoot, args) {
|
|
|
16
16
|
if (file === "node_modules" || file === ".git" || file === "dist" || file.startsWith("."))
|
|
17
17
|
return;
|
|
18
18
|
const fullPath = path.join(dir, file);
|
|
19
|
-
const relativePath = path.relative(projectRoot, fullPath);
|
|
20
19
|
const stat = fs.statSync(fullPath);
|
|
21
20
|
const indent = " ".repeat(depth);
|
|
22
21
|
if (stat.isDirectory()) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-enderun/mcp",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "Agent Enderun Model Context Protocol (MCP) Server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
"@types/node": "^25.9.1",
|
|
17
17
|
"typescript": "^6.0.3"
|
|
18
18
|
}
|
|
19
|
-
}
|
|
19
|
+
}
|
|
@@ -6,23 +6,23 @@ import { ToolArgs, ToolResult } from "../types.js";
|
|
|
6
6
|
*/
|
|
7
7
|
export function handleCheckPorts(projectRoot: string, args: ToolArgs): ToolResult {
|
|
8
8
|
const filter = args.filter as string || ""; // Optional filter (e.g., ":3000")
|
|
9
|
-
|
|
9
|
+
|
|
10
10
|
try {
|
|
11
11
|
// Using 'lsof -i -P -n' to list open files and network connections
|
|
12
12
|
// Note: may require permissions or behave differently on non-Unix systems
|
|
13
|
-
const command = process.platform === "win32"
|
|
13
|
+
const command = process.platform === "win32"
|
|
14
14
|
? `netstat -ano | findstr LISTENING ${filter ? `| findstr ${filter}` : ""}`
|
|
15
15
|
: `lsof -i -P -n | grep LISTEN ${filter ? `| grep ${filter}` : ""}`;
|
|
16
16
|
|
|
17
17
|
const output = execSync(command, { encoding: "utf8" });
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
return {
|
|
20
20
|
content: [{
|
|
21
21
|
type: "text",
|
|
22
22
|
text: `📡 **Active Listening Ports:**\n\n${output || "No active listening ports found matching filter."}`
|
|
23
23
|
}]
|
|
24
24
|
};
|
|
25
|
-
} catch (
|
|
25
|
+
} catch (_e) {
|
|
26
26
|
return {
|
|
27
27
|
content: [{ type: "text", text: "ℹ️ No active ports found or command failed (this is normal if nothing is listening)." }]
|
|
28
28
|
};
|
|
@@ -4,13 +4,12 @@ import { ToolArgs, ToolResult } from "../types.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* Retrieves system health metrics including CPU load and memory usage.
|
|
6
6
|
*/
|
|
7
|
-
export function handleGetSystemHealth(
|
|
7
|
+
export function handleGetSystemHealth(_projectRoot: string, _args: ToolArgs): ToolResult {
|
|
8
8
|
const totalMem = os.totalmem();
|
|
9
9
|
const freeMem = os.freemem();
|
|
10
10
|
const usedMem = totalMem - freeMem;
|
|
11
11
|
const memUsagePercent = ((usedMem / totalMem) * 100).toFixed(2);
|
|
12
12
|
|
|
13
|
-
const cpus = os.cpus();
|
|
14
13
|
const loadAvg = os.loadavg(); // [1, 5, 15] minute averages
|
|
15
14
|
|
|
16
15
|
const healthReport = `🖥️ **System Health Report**
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import { safePath } from "../../utils/security.js";
|
|
4
3
|
import { ToolArgs, ToolResult } from "../types.js";
|
|
5
4
|
|
|
6
5
|
/**
|
|
@@ -13,7 +12,7 @@ export function handleGetProjectMap(projectRoot: string, args: ToolArgs): ToolRe
|
|
|
13
12
|
|
|
14
13
|
const buildTree = (dir: string, depth: number): string[] => {
|
|
15
14
|
if (depth > maxDepth) return [];
|
|
16
|
-
|
|
15
|
+
|
|
17
16
|
const results: string[] = [];
|
|
18
17
|
const files = fs.readdirSync(dir);
|
|
19
18
|
|
|
@@ -21,7 +20,6 @@ export function handleGetProjectMap(projectRoot: string, args: ToolArgs): ToolRe
|
|
|
21
20
|
if (file === "node_modules" || file === ".git" || file === "dist" || file.startsWith(".")) return;
|
|
22
21
|
|
|
23
22
|
const fullPath = path.join(dir, file);
|
|
24
|
-
const relativePath = path.relative(projectRoot, fullPath);
|
|
25
23
|
const stat = fs.statSync(fullPath);
|
|
26
24
|
const indent = " ".repeat(depth);
|
|
27
25
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import { safePath } from "../../utils/security.js";
|
|
4
3
|
import { ToolArgs, ToolResult } from "../types.js";
|
|
5
4
|
|
|
6
5
|
/**
|
|
@@ -10,7 +9,7 @@ export function handleGrepSearch(projectRoot: string, args: ToolArgs): ToolResul
|
|
|
10
9
|
const pattern = args.pattern as string;
|
|
11
10
|
const includePattern = args.includePattern as string || ""; // e.g., ".ts"
|
|
12
11
|
const excludePattern = args.excludePattern as string || "node_modules";
|
|
13
|
-
|
|
12
|
+
|
|
14
13
|
if (!pattern) {
|
|
15
14
|
throw new Error("Search pattern is required.");
|
|
16
15
|
}
|
|
@@ -48,7 +47,7 @@ export function handleGrepSearch(projectRoot: string, args: ToolArgs): ToolResul
|
|
|
48
47
|
} catch {
|
|
49
48
|
// Ignore read errors
|
|
50
49
|
}
|
|
51
|
-
|
|
50
|
+
|
|
52
51
|
if (results.length > 100) break; // Limit results
|
|
53
52
|
}
|
|
54
53
|
};
|
|
@@ -58,7 +57,7 @@ export function handleGrepSearch(projectRoot: string, args: ToolArgs): ToolResul
|
|
|
58
57
|
return {
|
|
59
58
|
content: [{
|
|
60
59
|
type: "text",
|
|
61
|
-
text: results.length > 0
|
|
60
|
+
text: results.length > 0
|
|
62
61
|
? `Found ${results.length} matches:\n\n${results.join("\n")}`
|
|
63
62
|
: "No matches found."
|
|
64
63
|
}]
|
|
@@ -3,7 +3,7 @@ export interface ToolDefinition {
|
|
|
3
3
|
description: string;
|
|
4
4
|
inputSchema: {
|
|
5
5
|
type: "object";
|
|
6
|
-
properties: Record<string,
|
|
6
|
+
properties: Record<string, unknown>;
|
|
7
7
|
required?: string[];
|
|
8
8
|
};
|
|
9
9
|
}
|
|
@@ -43,7 +43,7 @@ export interface ToolArgs {
|
|
|
43
43
|
excludePattern?: string;
|
|
44
44
|
maxDepth?: number;
|
|
45
45
|
includeFiles?: boolean;
|
|
46
|
-
edits?:
|
|
46
|
+
edits?: unknown[];
|
|
47
47
|
command?: string;
|
|
48
48
|
filter?: string;
|
|
49
49
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-enderun",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "The Supreme AI Governance & Autonomous Orchestration Framework for Enterprise Development. Acts as a Corporate AL Management Assistant.",
|
|
5
5
|
"author": "Yusuf BEKAR",
|
|
6
6
|
"license": "MIT",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"vitest": "^4.1.7"
|
|
85
85
|
},
|
|
86
86
|
"enderun": {
|
|
87
|
-
"version": "1.1.
|
|
87
|
+
"version": "1.1.9",
|
|
88
88
|
"initializedAt": "2026-06-04T18:51:28.970Z",
|
|
89
89
|
"frameworkDir": ".gemini"
|
|
90
90
|
},
|
package/src/cli/adapters.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import path from "path";
|
|
2
1
|
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { ALL_AGENTS, buildAgentJson } from "../modules/agents/definitions.js";
|
|
4
|
+
import { logger } from "../shared/logger.js";
|
|
3
5
|
import { writeJsonFile } from "./utils/fs.js";
|
|
4
6
|
import { getPackageRoot } from "./utils/pkg.js";
|
|
5
7
|
import { UI } from "./utils/ui.js";
|
|
6
|
-
import { ALL_AGENTS, buildAgentJson } from "../modules/agents/definitions.js";
|
|
7
|
-
import { logger } from "../shared/logger.js";
|
|
8
8
|
|
|
9
|
-
import type {
|
|
10
|
-
export { ADAPTER_IDS, type
|
|
9
|
+
import type { AdapterConfig, AdapterId } from "./adapters/types.js";
|
|
10
|
+
export { ADAPTER_IDS, type AdapterConfig, type AdapterId, type AdapterRole } from "./adapters/types.js";
|
|
11
11
|
|
|
12
12
|
import { ADAPTER_CONFIGS, POST_INIT_HANDLERS } from "../modules/adapters/definitions.js";
|
|
13
13
|
|
|
@@ -112,19 +112,24 @@ export function remapFrameworkContent(
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
export function buildMcpServerEntry(projectRoot: string) {
|
|
115
|
+
const packageRoot = getPackageRoot();
|
|
116
|
+
const mcpServerPath = path.join(packageRoot, "framework-mcp/dist/index.js");
|
|
117
|
+
const relativePath = path.relative(projectRoot, mcpServerPath) || mcpServerPath;
|
|
118
|
+
|
|
115
119
|
return {
|
|
116
120
|
command: "node",
|
|
117
|
-
args: [
|
|
121
|
+
args: [relativePath],
|
|
118
122
|
env: {
|
|
119
123
|
ENDERUN_PROJECT_ROOT: projectRoot,
|
|
120
124
|
},
|
|
121
125
|
};
|
|
122
126
|
}
|
|
123
127
|
|
|
124
|
-
export function scaffoldAgents(projectRoot: string, adapterId: AdapterId, dryRun: boolean): void {
|
|
128
|
+
export function scaffoldAgents(projectRoot: string, adapterId: AdapterId, dryRun: boolean, agentsToScaffold?: string[]): void {
|
|
125
129
|
const adapter = ADAPTERS[adapterId];
|
|
126
130
|
if (!adapter || !adapter.agentsDir || !adapter.agentsExt) return;
|
|
127
131
|
|
|
132
|
+
const allowedAgents = agentsToScaffold ? new Set(agentsToScaffold) : undefined;
|
|
128
133
|
const destAgentsDir = path.join(projectRoot, adapter.agentsDir);
|
|
129
134
|
const fileExt = adapter.agentsExt;
|
|
130
135
|
|
|
@@ -147,6 +152,7 @@ export function scaffoldAgents(projectRoot: string, adapterId: AdapterId, dryRun
|
|
|
147
152
|
};
|
|
148
153
|
|
|
149
154
|
for (const agent of ALL_AGENTS) {
|
|
155
|
+
if (allowedAgents && !allowedAgents.has(agent.name)) continue;
|
|
150
156
|
const name = agent.name;
|
|
151
157
|
const displayName = agent.displayName || name;
|
|
152
158
|
const description = agent.description || "";
|
|
@@ -157,7 +163,7 @@ export function scaffoldAgents(projectRoot: string, adapterId: AdapterId, dryRun
|
|
|
157
163
|
const isAntigravity = adapterId === "antigravity-cli";
|
|
158
164
|
const agentDir = isAntigravity ? path.join(destAgentsDir, name) : destAgentsDir;
|
|
159
165
|
const agentFileName = isAntigravity ? "agent.md" : `${name}${fileExt}`;
|
|
160
|
-
|
|
166
|
+
|
|
161
167
|
if (isAntigravity && !dryRun) fs.mkdirSync(agentDir, { recursive: true });
|
|
162
168
|
|
|
163
169
|
let content: string;
|