agent-enderun 1.10.2 → 1.10.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.
- package/README.md +2 -1
- package/dist/framework-mcp/src/constants.d.ts +47 -0
- package/dist/framework-mcp/src/constants.js +65 -0
- package/dist/framework-mcp/src/constants.js.map +1 -0
- package/dist/framework-mcp/src/index.js +26 -5
- package/dist/framework-mcp/src/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +3 -9
- package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -1
- package/dist/framework-mcp/src/tools/control_plane/registry.d.ts +2 -8
- package/dist/framework-mcp/src/tools/control_plane/registry.js.map +1 -1
- package/dist/framework-mcp/src/tools/dashboard/start_dashboard.d.ts +2 -2
- package/dist/framework-mcp/src/tools/dashboard/start_dashboard.js.map +1 -1
- package/dist/framework-mcp/src/tools/definitions.js +30 -0
- package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.d.ts +2 -2
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +12 -4
- package/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/patch_file.d.ts +2 -2
- package/dist/framework-mcp/src/tools/file_system/patch_file.js +6 -2
- package/dist/framework-mcp/src/tools/file_system/patch_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/read_file.d.ts +2 -2
- package/dist/framework-mcp/src/tools/file_system/read_file.js +43 -26
- package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/replace_text.d.ts +2 -2
- package/dist/framework-mcp/src/tools/file_system/replace_text.js +7 -3
- package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -1
- package/dist/framework-mcp/src/tools/file_system/write_file.d.ts +2 -2
- package/dist/framework-mcp/src/tools/file_system/write_file.js +27 -15
- package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/get_status.d.ts +2 -2
- package/dist/framework-mcp/src/tools/framework/get_status.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/orchestrate.d.ts +2 -2
- package/dist/framework-mcp/src/tools/framework/orchestrate.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/run_tests.d.ts +2 -2
- package/dist/framework-mcp/src/tools/framework/run_tests.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/update_contract_hash.d.ts +2 -2
- package/dist/framework-mcp/src/tools/framework/update_contract_hash.js.map +1 -1
- package/dist/framework-mcp/src/tools/framework/update_memory.d.ts +2 -2
- package/dist/framework-mcp/src/tools/framework/update_memory.js +1 -1
- package/dist/framework-mcp/src/tools/framework/update_memory.js.map +1 -1
- package/dist/framework-mcp/src/tools/index.d.ts +1 -2
- package/dist/framework-mcp/src/tools/index.js +33 -25
- package/dist/framework-mcp/src/tools/index.js.map +1 -1
- package/dist/framework-mcp/src/tools/messaging/log_action.d.ts +2 -2
- package/dist/framework-mcp/src/tools/messaging/log_action.js.map +1 -1
- package/dist/framework-mcp/src/tools/messaging/send_message.d.ts +2 -2
- package/dist/framework-mcp/src/tools/messaging/send_message.js +14 -1
- package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -1
- package/dist/framework-mcp/src/tools/observability/check_ports.d.ts +2 -2
- package/dist/framework-mcp/src/tools/observability/check_ports.js.map +1 -1
- package/dist/framework-mcp/src/tools/quality/check_lint.d.ts +5 -0
- package/dist/framework-mcp/src/tools/quality/check_lint.js +29 -0
- package/dist/framework-mcp/src/tools/quality/check_lint.js.map +1 -0
- package/dist/framework-mcp/src/tools/search/get_gaps.d.ts +2 -2
- package/dist/framework-mcp/src/tools/search/get_gaps.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/get_map.d.ts +2 -2
- package/dist/framework-mcp/src/tools/search/get_map.js +1 -1
- package/dist/framework-mcp/src/tools/search/get_map.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/grep_search.d.ts +2 -2
- package/dist/framework-mcp/src/tools/search/grep_search.js +45 -28
- package/dist/framework-mcp/src/tools/search/grep_search.js.map +1 -1
- package/dist/framework-mcp/src/tools/search/list_dir.d.ts +2 -2
- package/dist/framework-mcp/src/tools/search/list_dir.js.map +1 -1
- package/dist/framework-mcp/src/tools/shell/run_command.d.ts +2 -0
- package/dist/framework-mcp/src/tools/shell/run_command.js +47 -0
- package/dist/framework-mcp/src/tools/shell/run_command.js.map +1 -0
- package/dist/framework-mcp/src/tools/types.d.ts +95 -28
- package/dist/framework-mcp/src/utils/metrics.d.ts +20 -0
- package/dist/framework-mcp/src/utils/metrics.js +24 -6
- package/dist/framework-mcp/src/utils/metrics.js.map +1 -1
- package/dist/framework-mcp/src/utils/security.d.ts +1 -3
- package/dist/framework-mcp/src/utils/security.js +21 -18
- package/dist/framework-mcp/src/utils/security.js.map +1 -1
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js +19 -14
- package/dist/framework-mcp/tests/tools/file_system/file_system_tools.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js +1 -1
- package/dist/framework-mcp/tests/tools/messaging/send_message.test.js.map +1 -1
- package/dist/framework-mcp/tests/tools/quality/check_lint.test.d.ts +1 -0
- package/dist/framework-mcp/tests/tools/quality/check_lint.test.js +36 -0
- package/dist/framework-mcp/tests/tools/quality/check_lint.test.js.map +1 -0
- package/dist/framework-mcp/tests/tools/shell/run_command.test.d.ts +1 -0
- package/dist/framework-mcp/tests/tools/shell/run_command.test.js +43 -0
- package/dist/framework-mcp/tests/tools/shell/run_command.test.js.map +1 -0
- package/dist/src/cli/adapters/core.d.ts +1 -1
- package/dist/src/cli/adapters/core.js +5 -0
- package/dist/src/cli/adapters/core.js.map +1 -1
- package/dist/src/cli/adapters/paths.d.ts +15 -0
- package/dist/src/cli/adapters/paths.js +101 -0
- package/dist/src/cli/adapters/paths.js.map +1 -0
- package/dist/src/cli/adapters/scaffold.js +2 -1
- package/dist/src/cli/adapters/scaffold.js.map +1 -1
- package/dist/src/cli/commands/check.js +15 -36
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/dashboard/data-service.d.ts +8 -0
- package/dist/src/cli/commands/dashboard/data-service.js +37 -0
- package/dist/src/cli/commands/dashboard/data-service.js.map +1 -1
- package/dist/src/cli/commands/init/scaffold-standards.js +6 -1
- package/dist/src/cli/commands/init/scaffold-standards.js.map +1 -1
- package/dist/src/cli/commands/init.js +2 -5
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/orchestrate.d.ts +5 -0
- package/dist/src/cli/commands/orchestrate.js +148 -128
- package/dist/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/src/cli/utils/fs.js +1 -1
- package/dist/src/cli/utils/fs.js.map +1 -1
- package/dist/src/cli/utils/memory.d.ts +1 -1
- package/dist/src/cli/utils/memory.js +28 -8
- package/dist/src/cli/utils/memory.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 +2 -1
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/src/modules/agents/registry/architect.js +1 -0
- package/dist/src/modules/agents/registry/architect.js.map +1 -1
- package/dist/src/modules/agents/registry/backend.js +3 -3
- package/dist/src/modules/agents/registry/backend.js.map +1 -1
- package/dist/src/modules/agents/registry/database.js +3 -3
- package/dist/src/modules/agents/registry/database.js.map +1 -1
- package/dist/src/modules/agents/registry/devops.js +1 -1
- package/dist/src/modules/agents/registry/devops.js.map +1 -1
- package/dist/src/modules/agents/registry/quality.js +1 -0
- package/dist/src/modules/agents/registry/quality.js.map +1 -1
- package/dist/src/shared/constants.d.ts +113 -0
- package/dist/src/shared/constants.js +178 -0
- package/dist/src/shared/constants.js.map +1 -0
- package/dist/tests/adapters/paths.test.d.ts +1 -0
- package/dist/tests/adapters/paths.test.js +63 -0
- package/dist/tests/adapters/paths.test.js.map +1 -0
- package/dist/tests/approve.test.js +2 -1
- package/dist/tests/approve.test.js.map +1 -1
- package/dist/tests/cli/init/unified_init.test.d.ts +1 -0
- package/dist/tests/cli/init/unified_init.test.js +47 -0
- package/dist/tests/cli/init/unified_init.test.js.map +1 -0
- package/dist/tests/fs-utils.test.js +1 -1
- package/dist/tests/fs-utils.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/shared/constants.test.d.ts +1 -0
- package/dist/tests/shared/constants.test.js +17 -0
- package/dist/tests/shared/constants.test.js.map +1 -0
- package/dist/tests/trace.test.js +2 -2
- package/dist/tests/trace.test.js.map +1 -1
- package/package.json +6 -6
- package/src/cli/adapters/core.ts +7 -0
- package/src/cli/adapters/paths.ts +134 -0
- package/src/cli/adapters/scaffold.ts +2 -1
- package/src/cli/commands/check.ts +16 -38
- package/src/cli/commands/dashboard/data-service.ts +48 -0
- package/src/cli/commands/init/scaffold-standards.ts +6 -1
- package/src/cli/commands/init.ts +1 -4
- package/src/cli/commands/orchestrate.ts +151 -127
- package/src/cli/utils/fs.ts +1 -1
- package/src/cli/utils/memory.ts +32 -7
- package/src/modules/adapters/definitions.ts +4 -3
- package/src/modules/agents/definitions.ts +2 -1
- package/src/modules/agents/registry/architect.ts +1 -0
- package/src/modules/agents/registry/backend.ts +3 -3
- package/src/modules/agents/registry/database.ts +3 -3
- package/src/modules/agents/registry/devops.ts +1 -1
- package/src/modules/agents/registry/quality.ts +1 -0
- package/src/shared/constants.ts +212 -0
- package/bin/validate-agent-army.js +0 -148
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
5
5
|
import fs from "fs";
|
|
6
6
|
import path from "path";
|
|
7
|
+
import { getPackageRoot } from "../../cli/utils/pkg.js";
|
|
7
8
|
// Import individual agent definitions
|
|
8
9
|
import { manager } from "./registry/manager.js";
|
|
9
10
|
import { security } from "./registry/security.js";
|
|
@@ -112,7 +113,7 @@ function resolveModel(cap, platform) {
|
|
|
112
113
|
return cap === 10 ? "codex-1" : "o4-mini";
|
|
113
114
|
}
|
|
114
115
|
/** Build a flat system prompt string from structured instructions */
|
|
115
|
-
function buildSystemPrompt(ag, baseKnowledgeDir = path.join(
|
|
116
|
+
function buildSystemPrompt(ag, baseKnowledgeDir = path.join(getPackageRoot(), "templates/standards")) {
|
|
116
117
|
const lines = [
|
|
117
118
|
"# Identity",
|
|
118
119
|
ag.instructions.identity,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../src/modules/agents/definitions.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,iCAAiC;AACjC,wDAAwD;AACxD,gFAAgF;AAEhF,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../src/modules/agents/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,7 @@ export const architect = {
|
|
|
37
37
|
"CONTRACT STABILITY: Validate 'contract.version.json' consistency before and after every schema change.",
|
|
38
38
|
"GOVERNANCE READ: Always read architecture governance docs before making design decisions.",
|
|
39
39
|
],
|
|
40
|
+
knowledgeFiles: ["architecture-standards.md"],
|
|
40
41
|
},
|
|
41
42
|
};
|
|
42
43
|
//# sourceMappingURL=architect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architect.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/architect.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,SAAS,GAAoB;IACtC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,gBAAgB;IAC7B,IAAI,EAAE,eAAe;IACrB,WAAW,EACb,8DAA8D;QAC9D,yDAAyD;IACvD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,qBAAqB;QACrB,UAAU;QACV,aAAa;QACb,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,cAAc;QACd,cAAc;QACd,gBAAgB;KACnB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,4DAA4D;QACtE,OAAO,EACX,gEAAgE;YAChE,4CAA4C;QACxC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,uFAAuF;YACvF,qGAAqG;YACrG,wGAAwG;YACxG,2FAA2F;SAC9F;
|
|
1
|
+
{"version":3,"file":"architect.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/architect.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,SAAS,GAAoB;IACtC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,gBAAgB;IAC7B,IAAI,EAAE,eAAe;IACrB,WAAW,EACb,8DAA8D;QAC9D,yDAAyD;IACvD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,qBAAqB;QACrB,UAAU;QACV,aAAa;QACb,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,cAAc;QACd,cAAc;QACd,gBAAgB;KACnB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,4DAA4D;QACtE,OAAO,EACX,gEAAgE;YAChE,4CAA4C;QACxC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,uFAAuF;YACvF,qGAAqG;YACrG,wGAAwG;YACxG,2FAA2F;SAC9F;QACD,cAAc,EAAE,CAAC,2BAA2B,CAAC;KAChD;CACJ,CAAC"}
|
|
@@ -3,8 +3,8 @@ export const backend = {
|
|
|
3
3
|
name: "backend",
|
|
4
4
|
displayName: "Backend Specialist",
|
|
5
5
|
role: "Backend Development",
|
|
6
|
-
description: "Server logic
|
|
7
|
-
"Owns the
|
|
6
|
+
description: "Server logic and API implementation specialist. " +
|
|
7
|
+
"Owns the API contracts and business logic implementation.",
|
|
8
8
|
capability: 9,
|
|
9
9
|
tier: "core",
|
|
10
10
|
tags: ["core", "logic"],
|
|
@@ -37,7 +37,7 @@ export const backend = {
|
|
|
37
37
|
"HIGH-RISK OPS: Refuse User/Role management, bulk deletes, schema alterations, and billing changes autonomously. " +
|
|
38
38
|
"Return a standard refusal, send a managerApproval request to @manager, and shift to WAITING status.",
|
|
39
39
|
],
|
|
40
|
-
knowledgeFiles: ["
|
|
40
|
+
knowledgeFiles: ["crud-governance.md"],
|
|
41
41
|
},
|
|
42
42
|
};
|
|
43
43
|
//# sourceMappingURL=backend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/backend.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACb,
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/backend.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACb,kDAAkD;QAClD,2DAA2D;IACzD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,qBAAqB;QACrB,YAAY;QACZ,UAAU;QACV,aAAa;QACb,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;KACxB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,uDAAuD;QACjE,OAAO,EACX,oEAAoE;YACpE,uDAAuD;QACnD,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,mFAAmF;YACnF,8FAA8F;YAC9F,gHAAgH;YAChH,6FAA6F;YAC7F,kHAAkH;gBACxH,qGAAqG;SAClG;QACD,cAAc,EAAE,CAAC,oBAAoB,CAAC;KACzC;CACJ,CAAC"}
|
|
@@ -3,8 +3,8 @@ export const database = {
|
|
|
3
3
|
name: "database",
|
|
4
4
|
displayName: "Database Specialist",
|
|
5
5
|
role: "Data Management",
|
|
6
|
-
description: "SQL Schema design and
|
|
7
|
-
"
|
|
6
|
+
description: "SQL Schema design, migration, and query optimization specialist. " +
|
|
7
|
+
"Owns the database schema, migrations, and data integrity.",
|
|
8
8
|
capability: 9,
|
|
9
9
|
tier: "core",
|
|
10
10
|
tags: ["core", "data"],
|
|
@@ -32,7 +32,7 @@ export const database = {
|
|
|
32
32
|
"DETERMINISTIC MIGRATIONS: Every migration must be reversible and produce identical results across environments.",
|
|
33
33
|
"PERFORMANCE FIRST: Design indexes proactively — never retroactively after a performance incident.",
|
|
34
34
|
],
|
|
35
|
-
knowledgeFiles: ["
|
|
35
|
+
knowledgeFiles: ["performance-standards.md", "quality-standards.md"],
|
|
36
36
|
},
|
|
37
37
|
};
|
|
38
38
|
//# sourceMappingURL=database.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/database.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACb,
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/database.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACb,mEAAmE;QACnE,2DAA2D;IACzD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,WAAW;QACX,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,UAAU;QACV,aAAa;QACb,qBAAqB;KACxB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,kDAAkD;QAC5D,OAAO,EACX,iEAAiE;YACjE,kDAAkD;QAC9C,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,8FAA8F;YAC9F,mFAAmF;YACnF,iHAAiH;YACjH,mGAAmG;SACtG;QACD,cAAc,EAAE,CAAC,0BAA0B,EAAE,sBAAsB,CAAC;KACvE;CACJ,CAAC"}
|
|
@@ -32,7 +32,7 @@ export const devops = {
|
|
|
32
32
|
"ENVIRONMENT ISOLATION: All variables managed via '.env' — hardcoded secrets trigger immediate escalation.",
|
|
33
33
|
"NO UNTRACKED DEPLOYMENTS: Every deployment must be declared, versioned, and traceable.",
|
|
34
34
|
],
|
|
35
|
-
knowledgeFiles: ["
|
|
35
|
+
knowledgeFiles: ["deployment-standards.md"],
|
|
36
36
|
},
|
|
37
37
|
};
|
|
38
38
|
//# sourceMappingURL=devops.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devops.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/devops.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,MAAM,GAAoB;IACnC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,QAAQ;IACd,WAAW,EACb,oDAAoD;QACpD,oEAAoE;IAClE,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,mBAAmB;QACnB,WAAW;QACX,UAAU;QACV,mBAAmB;QACnB,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,4DAA4D;QACtE,OAAO,EACX,sEAAsE;YACtE,4CAA4C;QACxC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,mHAAmH;YACnH,8GAA8G;YAC9G,2GAA2G;YAC3G,wFAAwF;SAC3F;QACD,cAAc,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"devops.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/devops.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,MAAM,GAAoB;IACnC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,QAAQ;IACd,WAAW,EACb,oDAAoD;QACpD,oEAAoE;IAClE,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,mBAAmB;QACnB,WAAW;QACX,UAAU;QACV,mBAAmB;QACnB,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,4DAA4D;QACtE,OAAO,EACX,sEAAsE;YACtE,4CAA4C;QACxC,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,mHAAmH;YACnH,8GAA8G;YAC9G,2GAA2G;YAC3G,wFAAwF;SAC3F;QACD,cAAc,EAAE,CAAC,yBAAyB,CAAC;KAC9C;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/quality.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EACb,6CAA6C;QAC7C,oDAAoD;IAClD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;IACrC,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,UAAU;QACV,aAAa;QACb,WAAW;QACX,kBAAkB;QAClB,qBAAqB;QACrB,qBAAqB;QACrB,WAAW;QACX,kBAAkB;QAClB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,iDAAiD;QAC3D,OAAO,EACX,mEAAmE;YACnE,sDAAsD;QAClD,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,oHAAoH;YACpH,0GAA0G;YAC1G,sHAAsH;YACtH,uGAAuG;YACvG,qFAAqF;SACxF;QACD,cAAc,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;KACnE;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../../../../../src/modules/agents/registry/quality.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,uCAAgD,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAoB;IACpC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;IACjC,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EACb,6CAA6C;QAC7C,oDAAoD;IAClD,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;IACrC,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE;QACH,UAAU;QACV,aAAa;QACb,WAAW;QACX,kBAAkB;QAClB,qBAAqB;QACrB,qBAAqB;QACrB,WAAW;QACX,YAAY;QACZ,kBAAkB;QAClB,oBAAoB;KACvB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,iDAAiD;QAC3D,OAAO,EACX,mEAAmE;YACnE,sDAAsD;QAClD,cAAc,EAAE,0EAA0E;YAC1E,2FAA2F;YAC3F,0EAA0E;YAC1E,kGAAkG;QAClH,KAAK,EAAE;YACH,oHAAoH;YACpH,0GAA0G;YAC1G,sHAAsH;YACtH,uGAAuG;YACvG,qFAAqF;SACxF;QACD,cAAc,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;KACnE;CACJ,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Enderun — Single Source of Truth for framework constants.
|
|
3
|
+
* Import from here instead of hardcoding paths, phases, or directory names.
|
|
4
|
+
*/
|
|
5
|
+
export declare const FRAMEWORK: {
|
|
6
|
+
readonly NAME: "Agent Enderun";
|
|
7
|
+
readonly CORE_DIR: ".enderun";
|
|
8
|
+
readonly UNIFIED_HUB_DIR: ".agents";
|
|
9
|
+
readonly CONSTITUTION_FILE: "ENDERUN.md";
|
|
10
|
+
readonly DEFAULT_TRACE_ID: "T-000";
|
|
11
|
+
readonly DEFAULT_PHASE: "PHASE_0";
|
|
12
|
+
readonly DEFAULT_MANAGER_STATE: "ACTIVE";
|
|
13
|
+
};
|
|
14
|
+
export declare const PROJECT_PHASES: readonly ["PHASE_0", "PHASE_1", "PHASE_2", "PHASE_3", "PHASE_4"];
|
|
15
|
+
export declare const ADAPTER_DIRS: {
|
|
16
|
+
readonly GEMINI: ".gemini";
|
|
17
|
+
readonly CLAUDE: ".claude";
|
|
18
|
+
readonly GROK: ".grok";
|
|
19
|
+
readonly CURSOR: ".cursor";
|
|
20
|
+
readonly CODEX: ".agents";
|
|
21
|
+
readonly ANTIGRAVITY: ".antigravity";
|
|
22
|
+
readonly LEGACY_AGENT: ".agent";
|
|
23
|
+
};
|
|
24
|
+
/** Priority order for framework directory resolution (CLI + MCP). */
|
|
25
|
+
export declare const FRAMEWORK_DIR_CANDIDATES: readonly [".enderun", ".agents", ".claude", ".gemini", ".grok", ".cursor", ".antigravity"];
|
|
26
|
+
/** Slug under `.agents/{slug}/` for each adapter in unified mode. */
|
|
27
|
+
export declare const UNIFIED_ADAPTER_SLUG: {
|
|
28
|
+
readonly gemini: "gemini";
|
|
29
|
+
readonly claude: "claude";
|
|
30
|
+
readonly grok: "grok";
|
|
31
|
+
readonly cursor: "cursor";
|
|
32
|
+
readonly codex: "codex";
|
|
33
|
+
readonly "antigravity-cli": "antigravity";
|
|
34
|
+
};
|
|
35
|
+
export type UnifiedAdapterSlug = keyof typeof UNIFIED_ADAPTER_SLUG;
|
|
36
|
+
export declare const NATIVE_AGENT_PATHS: {
|
|
37
|
+
readonly gemini: string;
|
|
38
|
+
readonly claude: string;
|
|
39
|
+
readonly grok: string;
|
|
40
|
+
readonly cursor: string;
|
|
41
|
+
readonly codex: string;
|
|
42
|
+
readonly "antigravity-cli": string;
|
|
43
|
+
};
|
|
44
|
+
/** Legacy layout bases used by `check` and discovery (non-unified installs). */
|
|
45
|
+
export declare const LEGACY_AGENT_LAYOUT_BASES: readonly [string, string, string, string, string, string];
|
|
46
|
+
export declare const FRAMEWORK_SUBDIRS: {
|
|
47
|
+
readonly AGENTS: "agents";
|
|
48
|
+
readonly SKILLS: "skills";
|
|
49
|
+
readonly KNOWLEDGE: "knowledge";
|
|
50
|
+
readonly PROMPTS: "prompts";
|
|
51
|
+
readonly MEMORY: "memory";
|
|
52
|
+
readonly ROUTER: "router";
|
|
53
|
+
readonly REGISTRY: "registry";
|
|
54
|
+
readonly OBSERVABILITY: "observability";
|
|
55
|
+
readonly RULES: "rules";
|
|
56
|
+
readonly MESSAGES: "messages";
|
|
57
|
+
readonly LOGS: "logs";
|
|
58
|
+
readonly MEMORY_GRAPH: "memory-graph";
|
|
59
|
+
};
|
|
60
|
+
export declare const CORE_SCAFFOLD_SUBDIRS: readonly ["knowledge", "prompts", "memory", "router", "registry", "observability", "rules"];
|
|
61
|
+
export declare const RUNTIME_SUBDIRS: readonly ["messages", "logs", "memory-graph"];
|
|
62
|
+
export declare const MEMORY_SUBDIRS: {
|
|
63
|
+
readonly TASKS: "tasks";
|
|
64
|
+
readonly HISTORY: "history";
|
|
65
|
+
};
|
|
66
|
+
export declare const MEMORY_FILES: {
|
|
67
|
+
readonly STATE: "state.json";
|
|
68
|
+
readonly STATUS: "status.json";
|
|
69
|
+
readonly PROJECT_MEMORY: "PROJECT_MEMORY.md";
|
|
70
|
+
readonly SHARED_FACTS: "shared-facts.json";
|
|
71
|
+
};
|
|
72
|
+
export declare const DEFAULT_MONOREPO_PATHS: {
|
|
73
|
+
readonly backend: "apps/backend";
|
|
74
|
+
readonly frontend: "apps/web";
|
|
75
|
+
readonly mobile: "apps/mobile";
|
|
76
|
+
readonly docs: "docs";
|
|
77
|
+
readonly tests: "tests";
|
|
78
|
+
};
|
|
79
|
+
/** Cursor rule globs per agent role (monorepo layout). */
|
|
80
|
+
export declare const CURSOR_AGENT_GLOBS: Record<string, string>;
|
|
81
|
+
export declare const MCP: {
|
|
82
|
+
readonly SERVER_NAME: "agent-enderun";
|
|
83
|
+
readonly ROOT_CONFIG_FILE: "mcp.json";
|
|
84
|
+
readonly PROJECT_ROOT_ENV: "ENDERUN_PROJECT_ROOT";
|
|
85
|
+
readonly TEST_DIR_ENV: "ENDERUN_TEST_DIR";
|
|
86
|
+
};
|
|
87
|
+
export declare const ROOT_CONFIG_FILES: {
|
|
88
|
+
readonly MCP: "mcp.json";
|
|
89
|
+
readonly DOT_MCP: ".mcp.json";
|
|
90
|
+
readonly ENV_EXAMPLE: ".env.example";
|
|
91
|
+
readonly VSCODE_MCP: ".vscode/mcp.json";
|
|
92
|
+
};
|
|
93
|
+
export declare const TEMPLATE_PLACEHOLDERS: {
|
|
94
|
+
readonly FRAMEWORK_DIR: "{{FRAMEWORK_DIR}}";
|
|
95
|
+
readonly ADAPTER: "{{ADAPTER}}";
|
|
96
|
+
readonly BACKEND_DIR: "{{BACKEND_DIR}}";
|
|
97
|
+
readonly FRONTEND_DIR: "{{FRONTEND_DIR}}";
|
|
98
|
+
readonly DOCS_DIR: "{{DOCS_DIR}}";
|
|
99
|
+
readonly TESTS_DIR: "{{TESTS_DIR}}";
|
|
100
|
+
};
|
|
101
|
+
export declare const AGENT_FILE_EXT: {
|
|
102
|
+
readonly MARKDOWN: ".md";
|
|
103
|
+
readonly CURSOR_RULE: ".mdc";
|
|
104
|
+
};
|
|
105
|
+
export declare function pathJoin(...segments: string[]): string;
|
|
106
|
+
export declare function corePath(...segments: string[]): string;
|
|
107
|
+
export declare function unifiedHubPath(...segments: string[]): string;
|
|
108
|
+
export declare function unifiedAdapterPath(slug: string, ...segments: string[]): string;
|
|
109
|
+
export declare function knowledgePath(filename: string): string;
|
|
110
|
+
/** Backward-compatible aliases */
|
|
111
|
+
export declare const CORE_FRAMEWORK_DIR: ".enderun";
|
|
112
|
+
export declare const UNIFIED_HUB_DIR: ".agents";
|
|
113
|
+
export declare const SKILLS_HUB_PATH: string;
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Enderun — Single Source of Truth for framework constants.
|
|
3
|
+
* Import from here instead of hardcoding paths, phases, or directory names.
|
|
4
|
+
*/
|
|
5
|
+
// ─── Framework identity ───────────────────────────────────────────────────────
|
|
6
|
+
export const FRAMEWORK = {
|
|
7
|
+
NAME: "Agent Enderun",
|
|
8
|
+
CORE_DIR: ".enderun",
|
|
9
|
+
UNIFIED_HUB_DIR: ".agents",
|
|
10
|
+
CONSTITUTION_FILE: "ENDERUN.md",
|
|
11
|
+
DEFAULT_TRACE_ID: "T-000",
|
|
12
|
+
DEFAULT_PHASE: "PHASE_0",
|
|
13
|
+
DEFAULT_MANAGER_STATE: "ACTIVE",
|
|
14
|
+
};
|
|
15
|
+
export const PROJECT_PHASES = [
|
|
16
|
+
"PHASE_0",
|
|
17
|
+
"PHASE_1",
|
|
18
|
+
"PHASE_2",
|
|
19
|
+
"PHASE_3",
|
|
20
|
+
"PHASE_4",
|
|
21
|
+
];
|
|
22
|
+
// ─── Adapter platform directories (native / legacy) ───────────────────────────
|
|
23
|
+
export const ADAPTER_DIRS = {
|
|
24
|
+
GEMINI: ".gemini",
|
|
25
|
+
CLAUDE: ".claude",
|
|
26
|
+
GROK: ".grok",
|
|
27
|
+
CURSOR: ".cursor",
|
|
28
|
+
CODEX: ".agents",
|
|
29
|
+
ANTIGRAVITY: ".antigravity",
|
|
30
|
+
LEGACY_AGENT: ".agent",
|
|
31
|
+
};
|
|
32
|
+
/** Priority order for framework directory resolution (CLI + MCP). */
|
|
33
|
+
export const FRAMEWORK_DIR_CANDIDATES = [
|
|
34
|
+
FRAMEWORK.CORE_DIR,
|
|
35
|
+
ADAPTER_DIRS.CODEX,
|
|
36
|
+
ADAPTER_DIRS.CLAUDE,
|
|
37
|
+
ADAPTER_DIRS.GEMINI,
|
|
38
|
+
ADAPTER_DIRS.GROK,
|
|
39
|
+
ADAPTER_DIRS.CURSOR,
|
|
40
|
+
ADAPTER_DIRS.ANTIGRAVITY,
|
|
41
|
+
];
|
|
42
|
+
/** Slug under `.agents/{slug}/` for each adapter in unified mode. */
|
|
43
|
+
export const UNIFIED_ADAPTER_SLUG = {
|
|
44
|
+
gemini: "gemini",
|
|
45
|
+
claude: "claude",
|
|
46
|
+
grok: "grok",
|
|
47
|
+
cursor: "cursor",
|
|
48
|
+
codex: "codex",
|
|
49
|
+
"antigravity-cli": "antigravity",
|
|
50
|
+
};
|
|
51
|
+
// ─── Native agent instruction paths (legacy tool compatibility) ───────────────
|
|
52
|
+
export const NATIVE_AGENT_PATHS = {
|
|
53
|
+
gemini: pathJoin(ADAPTER_DIRS.GEMINI, "agents"),
|
|
54
|
+
claude: pathJoin(ADAPTER_DIRS.CLAUDE, "agents"),
|
|
55
|
+
grok: pathJoin(ADAPTER_DIRS.GROK, "agents"),
|
|
56
|
+
cursor: pathJoin(ADAPTER_DIRS.CURSOR, "rules"),
|
|
57
|
+
codex: pathJoin(ADAPTER_DIRS.CODEX, "instructions"),
|
|
58
|
+
"antigravity-cli": pathJoin(ADAPTER_DIRS.ANTIGRAVITY, "agents"),
|
|
59
|
+
};
|
|
60
|
+
/** Legacy layout bases used by `check` and discovery (non-unified installs). */
|
|
61
|
+
export const LEGACY_AGENT_LAYOUT_BASES = [
|
|
62
|
+
NATIVE_AGENT_PATHS.gemini,
|
|
63
|
+
NATIVE_AGENT_PATHS.claude,
|
|
64
|
+
NATIVE_AGENT_PATHS.cursor,
|
|
65
|
+
NATIVE_AGENT_PATHS.grok,
|
|
66
|
+
NATIVE_AGENT_PATHS.codex,
|
|
67
|
+
NATIVE_AGENT_PATHS["antigravity-cli"],
|
|
68
|
+
];
|
|
69
|
+
// ─── Framework internal subdirectories (under `.enderun/`) ──────────────────
|
|
70
|
+
export const FRAMEWORK_SUBDIRS = {
|
|
71
|
+
AGENTS: "agents",
|
|
72
|
+
SKILLS: "skills",
|
|
73
|
+
KNOWLEDGE: "knowledge",
|
|
74
|
+
PROMPTS: "prompts",
|
|
75
|
+
MEMORY: "memory",
|
|
76
|
+
ROUTER: "router",
|
|
77
|
+
REGISTRY: "registry",
|
|
78
|
+
OBSERVABILITY: "observability",
|
|
79
|
+
RULES: "rules",
|
|
80
|
+
MESSAGES: "messages",
|
|
81
|
+
LOGS: "logs",
|
|
82
|
+
MEMORY_GRAPH: "memory-graph",
|
|
83
|
+
};
|
|
84
|
+
export const CORE_SCAFFOLD_SUBDIRS = [
|
|
85
|
+
FRAMEWORK_SUBDIRS.KNOWLEDGE,
|
|
86
|
+
FRAMEWORK_SUBDIRS.PROMPTS,
|
|
87
|
+
FRAMEWORK_SUBDIRS.MEMORY,
|
|
88
|
+
FRAMEWORK_SUBDIRS.ROUTER,
|
|
89
|
+
FRAMEWORK_SUBDIRS.REGISTRY,
|
|
90
|
+
FRAMEWORK_SUBDIRS.OBSERVABILITY,
|
|
91
|
+
FRAMEWORK_SUBDIRS.RULES,
|
|
92
|
+
];
|
|
93
|
+
export const RUNTIME_SUBDIRS = [
|
|
94
|
+
FRAMEWORK_SUBDIRS.MESSAGES,
|
|
95
|
+
FRAMEWORK_SUBDIRS.LOGS,
|
|
96
|
+
FRAMEWORK_SUBDIRS.MEMORY_GRAPH,
|
|
97
|
+
];
|
|
98
|
+
export const MEMORY_SUBDIRS = {
|
|
99
|
+
TASKS: "tasks",
|
|
100
|
+
HISTORY: "history",
|
|
101
|
+
};
|
|
102
|
+
export const MEMORY_FILES = {
|
|
103
|
+
STATE: "state.json",
|
|
104
|
+
STATUS: "status.json",
|
|
105
|
+
PROJECT_MEMORY: "PROJECT_MEMORY.md",
|
|
106
|
+
SHARED_FACTS: "shared-facts.json",
|
|
107
|
+
};
|
|
108
|
+
// ─── Monorepo default paths ───────────────────────────────────────────────────
|
|
109
|
+
export const DEFAULT_MONOREPO_PATHS = {
|
|
110
|
+
backend: "apps/backend",
|
|
111
|
+
frontend: "apps/web",
|
|
112
|
+
mobile: "apps/mobile",
|
|
113
|
+
docs: "docs",
|
|
114
|
+
tests: "tests",
|
|
115
|
+
};
|
|
116
|
+
/** Cursor rule globs per agent role (monorepo layout). */
|
|
117
|
+
export const CURSOR_AGENT_GLOBS = {
|
|
118
|
+
backend: `${DEFAULT_MONOREPO_PATHS.backend}/**/*`,
|
|
119
|
+
frontend: `${DEFAULT_MONOREPO_PATHS.frontend}/**/*`,
|
|
120
|
+
database: `${DEFAULT_MONOREPO_PATHS.backend}/src/database/**/*`,
|
|
121
|
+
mobile: `${DEFAULT_MONOREPO_PATHS.mobile}/**/*`,
|
|
122
|
+
native: "apps/native/**/*",
|
|
123
|
+
quality: "*",
|
|
124
|
+
security: "*",
|
|
125
|
+
devops: "*",
|
|
126
|
+
explorer: "*",
|
|
127
|
+
git: "*",
|
|
128
|
+
analyst: "*",
|
|
129
|
+
manager: "*",
|
|
130
|
+
};
|
|
131
|
+
// ─── MCP & environment ──────────────────────────────────────────────────────
|
|
132
|
+
export const MCP = {
|
|
133
|
+
SERVER_NAME: "agent-enderun",
|
|
134
|
+
ROOT_CONFIG_FILE: "mcp.json",
|
|
135
|
+
PROJECT_ROOT_ENV: "ENDERUN_PROJECT_ROOT",
|
|
136
|
+
TEST_DIR_ENV: "ENDERUN_TEST_DIR",
|
|
137
|
+
};
|
|
138
|
+
export const ROOT_CONFIG_FILES = {
|
|
139
|
+
MCP: MCP.ROOT_CONFIG_FILE,
|
|
140
|
+
DOT_MCP: ".mcp.json",
|
|
141
|
+
ENV_EXAMPLE: ".env.example",
|
|
142
|
+
VSCODE_MCP: ".vscode/mcp.json",
|
|
143
|
+
};
|
|
144
|
+
// ─── Shim template placeholders ───────────────────────────────────────────────
|
|
145
|
+
export const TEMPLATE_PLACEHOLDERS = {
|
|
146
|
+
FRAMEWORK_DIR: "{{FRAMEWORK_DIR}}",
|
|
147
|
+
ADAPTER: "{{ADAPTER}}",
|
|
148
|
+
BACKEND_DIR: "{{BACKEND_DIR}}",
|
|
149
|
+
FRONTEND_DIR: "{{FRONTEND_DIR}}",
|
|
150
|
+
DOCS_DIR: "{{DOCS_DIR}}",
|
|
151
|
+
TESTS_DIR: "{{TESTS_DIR}}",
|
|
152
|
+
};
|
|
153
|
+
// ─── File extensions ─────────────────────────────────────────────────────────
|
|
154
|
+
export const AGENT_FILE_EXT = {
|
|
155
|
+
MARKDOWN: ".md",
|
|
156
|
+
CURSOR_RULE: ".mdc",
|
|
157
|
+
};
|
|
158
|
+
// ─── Path helpers ─────────────────────────────────────────────────────────────
|
|
159
|
+
export function pathJoin(...segments) {
|
|
160
|
+
return segments.filter(Boolean).join("/");
|
|
161
|
+
}
|
|
162
|
+
export function corePath(...segments) {
|
|
163
|
+
return pathJoin(FRAMEWORK.CORE_DIR, ...segments);
|
|
164
|
+
}
|
|
165
|
+
export function unifiedHubPath(...segments) {
|
|
166
|
+
return pathJoin(FRAMEWORK.UNIFIED_HUB_DIR, ...segments);
|
|
167
|
+
}
|
|
168
|
+
export function unifiedAdapterPath(slug, ...segments) {
|
|
169
|
+
return unifiedHubPath(slug, ...segments);
|
|
170
|
+
}
|
|
171
|
+
export function knowledgePath(filename) {
|
|
172
|
+
return corePath(FRAMEWORK_SUBDIRS.KNOWLEDGE, filename);
|
|
173
|
+
}
|
|
174
|
+
/** Backward-compatible aliases */
|
|
175
|
+
export const CORE_FRAMEWORK_DIR = FRAMEWORK.CORE_DIR;
|
|
176
|
+
export const UNIFIED_HUB_DIR = FRAMEWORK.UNIFIED_HUB_DIR;
|
|
177
|
+
export const SKILLS_HUB_PATH = pathJoin(UNIFIED_HUB_DIR, FRAMEWORK_SUBDIRS.SKILLS);
|
|
178
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import os from "os";
|
|
5
|
+
import { resolveAgentsDir, findAgentInstruction, detectActiveAgentLayouts, getUnifiedAgentLayoutBases, mirrorUnifiedAgentsToNative, UNIFIED_ADAPTER_SLUG, } from "../../src/cli/adapters/paths.js";
|
|
6
|
+
import { scaffoldAgents } from "../../src/cli/adapters/scaffold.js";
|
|
7
|
+
describe("Adapter Paths", () => {
|
|
8
|
+
let tempDir;
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "enderun-paths-test-"));
|
|
11
|
+
});
|
|
12
|
+
afterEach(() => {
|
|
13
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
14
|
+
});
|
|
15
|
+
describe("resolveAgentsDir", () => {
|
|
16
|
+
it("should use adapter-specific dir in legacy mode", () => {
|
|
17
|
+
expect(resolveAgentsDir("gemini", false).agentsDir).toBe(".gemini/agents");
|
|
18
|
+
expect(resolveAgentsDir("codex", false).agentsDir).toBe(".agents/instructions");
|
|
19
|
+
});
|
|
20
|
+
it("should use per-platform subtree under unified hub in unified mode", () => {
|
|
21
|
+
expect(resolveAgentsDir("gemini", true).agentsDir).toBe(".agents/gemini/agents");
|
|
22
|
+
expect(resolveAgentsDir("cursor", true).agentsDir).toBe(".agents/cursor/rules");
|
|
23
|
+
expect(resolveAgentsDir("codex", true).agentsDir).toBe(".agents/codex/instructions");
|
|
24
|
+
expect(resolveAgentsDir("antigravity-cli", true).agentsDir).toBe(".agents/antigravity/agents");
|
|
25
|
+
});
|
|
26
|
+
it("should expose a layout base for every adapter slug", () => {
|
|
27
|
+
const bases = getUnifiedAgentLayoutBases();
|
|
28
|
+
expect(bases).toHaveLength(6);
|
|
29
|
+
expect(bases.some((b) => b.includes(UNIFIED_ADAPTER_SLUG.gemini))).toBe(true);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
describe("findAgentInstruction", () => {
|
|
33
|
+
it("should find unified gemini agent", () => {
|
|
34
|
+
const dir = path.join(tempDir, ".agents/gemini/agents");
|
|
35
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
36
|
+
fs.writeFileSync(path.join(dir, "manager.md"), "# manager");
|
|
37
|
+
expect(findAgentInstruction(tempDir, "manager")).toBe(".agents/gemini/agents/manager.md");
|
|
38
|
+
});
|
|
39
|
+
it("should find nested antigravity agent.json", () => {
|
|
40
|
+
const agentDir = path.join(tempDir, ".agents/antigravity/agents/manager");
|
|
41
|
+
fs.mkdirSync(agentDir, { recursive: true });
|
|
42
|
+
fs.writeFileSync(path.join(agentDir, "agent.json"), "{}");
|
|
43
|
+
expect(findAgentInstruction(tempDir, "manager")).toBe(".agents/antigravity/agents/manager/agent.json");
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe("mirrorUnifiedAgentsToNative", () => {
|
|
47
|
+
it("should copy unified agents to native gemini path", () => {
|
|
48
|
+
scaffoldAgents(tempDir, "gemini", false, ["manager"]);
|
|
49
|
+
mirrorUnifiedAgentsToNative(tempDir, "gemini");
|
|
50
|
+
expect(fs.existsSync(path.join(tempDir, ".gemini/agents/manager.md"))).toBe(true);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
describe("detectActiveAgentLayouts", () => {
|
|
54
|
+
it("should list unified and legacy layouts", () => {
|
|
55
|
+
fs.mkdirSync(path.join(tempDir, ".agents/claude/agents"), { recursive: true });
|
|
56
|
+
fs.mkdirSync(path.join(tempDir, ".gemini/agents"), { recursive: true });
|
|
57
|
+
const layouts = detectActiveAgentLayouts(tempDir);
|
|
58
|
+
expect(layouts).toContain(".agents/claude/agents");
|
|
59
|
+
expect(layouts).toContain(".gemini/agents");
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=paths.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.test.js","sourceRoot":"","sources":["../../../tests/adapters/paths.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import os from "os";
|
|
|
5
5
|
import * as memoryUtils from "../src/cli/utils/memory.js";
|
|
6
6
|
import { approveCommand } from "../src/cli/commands/approve.js";
|
|
7
7
|
import { UI } from "../src/cli/utils/ui.js";
|
|
8
|
+
import { ValidationError } from "../src/shared/errors.js";
|
|
8
9
|
describe("Approve Command", () => {
|
|
9
10
|
let tempDir;
|
|
10
11
|
let messagesDir;
|
|
@@ -26,7 +27,7 @@ describe("Approve Command", () => {
|
|
|
26
27
|
const exitSpy = vi.spyOn(process, "exit").mockImplementation((code) => {
|
|
27
28
|
throw new Error(`process.exit: ${code}`);
|
|
28
29
|
});
|
|
29
|
-
expect(() => approveCommand("trace-123")).toThrow(
|
|
30
|
+
expect(() => approveCommand("trace-123")).toThrow(ValidationError);
|
|
30
31
|
expect(uiErrorSpy).toHaveBeenCalledWith("No messages directory found.");
|
|
31
32
|
exitSpy.mockRestore();
|
|
32
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve.test.js","sourceRoot":"","sources":["../../tests/approve.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"approve.test.js","sourceRoot":"","sources":["../../tests/approve.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { initCommand } from "../../../src/cli/commands/init.js";
|
|
5
|
+
import { ADAPTER_IDS, ADAPTERS } from "../../../src/cli/adapters/index.js";
|
|
6
|
+
import { ALL_AGENTS } from "../../../src/modules/agents/definitions.js";
|
|
7
|
+
import { UNIFIED_ADAPTER_SLUG } from "../../../src/shared/constants.js";
|
|
8
|
+
import { FRAMEWORK, FRAMEWORK_SUBDIRS, MEMORY_FILES, NATIVE_AGENT_PATHS, } from "../../../src/shared/constants.js";
|
|
9
|
+
describe("Unified Init (default all adapters)", () => {
|
|
10
|
+
let tempDir;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
const workspaceTemp = path.join(process.cwd(), "tests", ".temp-init");
|
|
13
|
+
fs.mkdirSync(workspaceTemp, { recursive: true });
|
|
14
|
+
tempDir = fs.mkdtempSync(path.join(workspaceTemp, "unified-init-"));
|
|
15
|
+
vi.spyOn(process, "cwd").mockReturnValue(tempDir);
|
|
16
|
+
});
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
19
|
+
vi.restoreAllMocks();
|
|
20
|
+
});
|
|
21
|
+
it("should scaffold all adapters under .agents with native mirrors", async () => {
|
|
22
|
+
await initCommand("gemini", { dryRun: false, yes: true, unified: true });
|
|
23
|
+
expect(fs.existsSync(path.join(tempDir, FRAMEWORK.CORE_DIR, FRAMEWORK_SUBDIRS.MEMORY, MEMORY_FILES.STATE))).toBe(true);
|
|
24
|
+
expect(fs.existsSync(path.join(tempDir, FRAMEWORK.CORE_DIR, FRAMEWORK_SUBDIRS.MESSAGES))).toBe(true);
|
|
25
|
+
expect(fs.existsSync(path.join(tempDir, FRAMEWORK.CORE_DIR, FRAMEWORK_SUBDIRS.MEMORY_GRAPH, MEMORY_FILES.SHARED_FACTS))).toBe(true);
|
|
26
|
+
for (const id of ADAPTER_IDS) {
|
|
27
|
+
const adapter = ADAPTERS[id];
|
|
28
|
+
if (adapter.agentsDir) {
|
|
29
|
+
const expectedAgentsDir = path.join(tempDir, adapter.agentsDir); // This is the actual directory where agents are scaffolded.
|
|
30
|
+
expect(fs.existsSync(expectedAgentsDir)).toBe(true);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
expect(fs.existsSync(path.join(tempDir, FRAMEWORK.UNIFIED_HUB_DIR, FRAMEWORK_SUBDIRS.SKILLS))).toBe(true);
|
|
34
|
+
expect(fs.existsSync(path.join(tempDir, "GEMINI.md"))).toBe(true);
|
|
35
|
+
expect(fs.existsSync(path.join(tempDir, "CLAUDE.md"))).toBe(true);
|
|
36
|
+
expect(fs.existsSync(path.join(tempDir, "mcp.json"))).toBe(true);
|
|
37
|
+
const config = JSON.parse(fs.readFileSync(path.join(tempDir, FRAMEWORK.CORE_DIR, "config.json"), "utf8"));
|
|
38
|
+
expect(config.unified).toBe(true);
|
|
39
|
+
expect(config.adapters).toEqual(expect.arrayContaining([...ADAPTER_IDS]));
|
|
40
|
+
expect(fs.existsSync(path.join(tempDir, NATIVE_AGENT_PATHS.gemini, "manager.md"))).toBe(true);
|
|
41
|
+
expect(fs.existsSync(path.join(tempDir, NATIVE_AGENT_PATHS.cursor, "manager.mdc"))).toBe(true);
|
|
42
|
+
const agentCount = ALL_AGENTS.length;
|
|
43
|
+
const geminiAgents = fs.readdirSync(path.join(tempDir, FRAMEWORK.UNIFIED_HUB_DIR, UNIFIED_ADAPTER_SLUG.gemini, "agents")).filter(f => f.endsWith(".md"));
|
|
44
|
+
expect(geminiAgents.length).toBe(agentCount);
|
|
45
|
+
}, 60000);
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=unified_init.test.js.map
|