atabey 0.0.7 → 0.0.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.
Files changed (181) hide show
  1. package/README.md +1 -1
  2. package/dist/framework-mcp/src/resources/index.js +2 -2
  3. package/dist/framework-mcp/src/resources/index.js.map +1 -1
  4. package/dist/framework-mcp/src/utils/errors.d.ts +46 -0
  5. package/dist/framework-mcp/src/utils/errors.js +69 -0
  6. package/dist/framework-mcp/src/utils/errors.js.map +1 -0
  7. package/dist/framework-mcp/src/utils/memory.d.ts +3 -0
  8. package/dist/framework-mcp/src/utils/memory.js +75 -0
  9. package/dist/framework-mcp/src/utils/memory.js.map +1 -0
  10. package/dist/framework-mcp/src/utils/storage.d.ts +60 -0
  11. package/dist/framework-mcp/src/utils/storage.js +208 -0
  12. package/dist/framework-mcp/src/utils/storage.js.map +1 -0
  13. package/dist/framework-mcp/src/utils/types.d.ts +19 -0
  14. package/dist/framework-mcp/src/utils/types.js +13 -0
  15. package/dist/framework-mcp/src/utils/types.js.map +1 -0
  16. package/dist/src/cli/adapters/core.js +12 -19
  17. package/dist/src/cli/adapters/core.js.map +1 -1
  18. package/dist/src/shared/constants.d.ts +1 -0
  19. package/dist/src/shared/constants.js +1 -0
  20. package/dist/src/shared/constants.js.map +1 -1
  21. package/dist/tests/adapter.test.js +3 -2
  22. package/dist/tests/adapter.test.js.map +1 -1
  23. package/framework-mcp/dist/constants.js +64 -0
  24. package/framework-mcp/dist/framework-mcp/src/constants.js +64 -0
  25. package/framework-mcp/dist/framework-mcp/src/index.js +144 -0
  26. package/framework-mcp/dist/framework-mcp/src/resources/index.js +58 -0
  27. package/framework-mcp/dist/framework-mcp/src/tools/control_plane/locking.js +82 -0
  28. package/framework-mcp/dist/framework-mcp/src/tools/control_plane/registry.js +35 -0
  29. package/framework-mcp/dist/framework-mcp/src/tools/definitions.js +322 -0
  30. package/framework-mcp/dist/framework-mcp/src/tools/file_system/batch_surgical_edit.js +64 -0
  31. package/framework-mcp/dist/framework-mcp/src/tools/file_system/patch_file.js +34 -0
  32. package/framework-mcp/dist/framework-mcp/src/tools/file_system/read_file.js +51 -0
  33. package/framework-mcp/dist/framework-mcp/src/tools/file_system/replace_text.js +50 -0
  34. package/framework-mcp/dist/framework-mcp/src/tools/file_system/write_file.js +43 -0
  35. package/framework-mcp/dist/framework-mcp/src/tools/framework/audit_deps.js +41 -0
  36. package/framework-mcp/dist/framework-mcp/src/tools/framework/get_status.js +5 -0
  37. package/framework-mcp/dist/framework-mcp/src/tools/framework/orchestrate.js +5 -0
  38. package/framework-mcp/dist/framework-mcp/src/tools/framework/run_tests.js +27 -0
  39. package/framework-mcp/dist/framework-mcp/src/tools/framework/submit_plan.js +13 -0
  40. package/framework-mcp/dist/framework-mcp/src/tools/framework/update_contract_hash.js +5 -0
  41. package/framework-mcp/dist/framework-mcp/src/tools/framework/update_memory.js +8 -0
  42. package/framework-mcp/dist/framework-mcp/src/tools/index.js +62 -0
  43. package/framework-mcp/dist/framework-mcp/src/tools/memory/get_insights.js +34 -0
  44. package/framework-mcp/dist/framework-mcp/src/tools/memory/read_memory.js +28 -0
  45. package/framework-mcp/dist/framework-mcp/src/tools/messaging/log_action.js +22 -0
  46. package/framework-mcp/dist/framework-mcp/src/tools/messaging/send_message.js +94 -0
  47. package/framework-mcp/dist/framework-mcp/src/tools/observability/check_ports.js +26 -0
  48. package/framework-mcp/dist/framework-mcp/src/tools/observability/get_health.js +19 -0
  49. package/framework-mcp/dist/framework-mcp/src/tools/quality/check_lint.js +30 -0
  50. package/framework-mcp/dist/framework-mcp/src/tools/search/get_gaps.js +48 -0
  51. package/framework-mcp/dist/framework-mcp/src/tools/search/get_map.js +43 -0
  52. package/framework-mcp/dist/framework-mcp/src/tools/search/grep_search.js +75 -0
  53. package/framework-mcp/dist/framework-mcp/src/tools/search/list_dir.js +28 -0
  54. package/framework-mcp/dist/framework-mcp/src/tools/shell/run_command.js +56 -0
  55. package/framework-mcp/dist/framework-mcp/src/tools/types.js +1 -0
  56. package/framework-mcp/dist/framework-mcp/src/utils/cli.js +59 -0
  57. package/framework-mcp/dist/framework-mcp/src/utils/compliance.js +231 -0
  58. package/framework-mcp/dist/framework-mcp/src/utils/errors.js +68 -0
  59. package/framework-mcp/dist/framework-mcp/src/utils/fs.js +44 -0
  60. package/framework-mcp/dist/framework-mcp/src/utils/memory.js +74 -0
  61. package/framework-mcp/dist/framework-mcp/src/utils/metrics.js +56 -0
  62. package/framework-mcp/dist/framework-mcp/src/utils/permissions.js +71 -0
  63. package/framework-mcp/dist/framework-mcp/src/utils/security.js +60 -0
  64. package/framework-mcp/dist/framework-mcp/src/utils/storage.js +207 -0
  65. package/framework-mcp/dist/framework-mcp/src/utils/types.js +12 -0
  66. package/framework-mcp/dist/index.js +144 -0
  67. package/framework-mcp/dist/resources/index.js +58 -0
  68. package/framework-mcp/dist/src/cli/adapters/core.js +71 -0
  69. package/framework-mcp/dist/src/cli/adapters/index.js +5 -0
  70. package/framework-mcp/dist/src/cli/adapters/paths.js +101 -0
  71. package/framework-mcp/dist/src/cli/adapters/scaffold.js +71 -0
  72. package/framework-mcp/dist/src/cli/adapters/utils.js +75 -0
  73. package/framework-mcp/dist/src/cli/commands/approve.js +63 -0
  74. package/framework-mcp/dist/src/cli/commands/check.js +181 -0
  75. package/framework-mcp/dist/src/cli/commands/compliance.js +50 -0
  76. package/framework-mcp/dist/src/cli/commands/contract.js +50 -0
  77. package/framework-mcp/dist/src/cli/commands/dashboard.js +123 -0
  78. package/framework-mcp/dist/src/cli/commands/explorer.js +42 -0
  79. package/framework-mcp/dist/src/cli/commands/git.js +40 -0
  80. package/framework-mcp/dist/src/cli/commands/init/create-agent.js +58 -0
  81. package/framework-mcp/dist/src/cli/commands/init/scaffold-core.js +112 -0
  82. package/framework-mcp/dist/src/cli/commands/init/scaffold-docs.js +34 -0
  83. package/framework-mcp/dist/src/cli/commands/init/scaffold-ops.js +80 -0
  84. package/framework-mcp/dist/src/cli/commands/init/scaffold-standards.js +67 -0
  85. package/framework-mcp/dist/src/cli/commands/init.js +167 -0
  86. package/framework-mcp/dist/src/cli/commands/knowledge.js +42 -0
  87. package/framework-mcp/dist/src/cli/commands/lint.js +22 -0
  88. package/framework-mcp/dist/src/cli/commands/log.js +10 -0
  89. package/framework-mcp/dist/src/cli/commands/memory.js +4 -0
  90. package/framework-mcp/dist/src/cli/commands/orchestrate.js +159 -0
  91. package/framework-mcp/dist/src/cli/commands/plan.js +117 -0
  92. package/framework-mcp/dist/src/cli/commands/script.js +19 -0
  93. package/framework-mcp/dist/src/cli/commands/security.js +36 -0
  94. package/framework-mcp/dist/src/cli/commands/status.js +97 -0
  95. package/framework-mcp/dist/src/cli/commands/trace.js +109 -0
  96. package/framework-mcp/dist/src/cli/index.js +338 -0
  97. package/framework-mcp/dist/src/cli/shims.js +66 -0
  98. package/framework-mcp/dist/src/cli/utils/claude.js +56 -0
  99. package/framework-mcp/dist/src/cli/utils/compliance.js +173 -0
  100. package/framework-mcp/dist/src/cli/utils/config-schema.js +42 -0
  101. package/framework-mcp/dist/src/cli/utils/fs.js +137 -0
  102. package/framework-mcp/dist/src/cli/utils/i18n.js +30 -0
  103. package/framework-mcp/dist/src/cli/utils/memory.js +276 -0
  104. package/framework-mcp/dist/src/cli/utils/pkg.js +282 -0
  105. package/framework-mcp/dist/src/cli/utils/schemas.js +19 -0
  106. package/framework-mcp/dist/src/cli/utils/string.js +49 -0
  107. package/framework-mcp/dist/src/cli/utils/time.js +27 -0
  108. package/framework-mcp/dist/src/cli/utils/ui.js +58 -0
  109. package/framework-mcp/dist/src/contracts/index.js +1 -0
  110. package/framework-mcp/dist/src/contracts/tasks.js +20 -0
  111. package/framework-mcp/dist/src/dashboard/vite.config.js +15 -0
  112. package/framework-mcp/dist/src/modules/adapters/definitions.js +140 -0
  113. package/framework-mcp/dist/src/modules/adapters/registry.js +18 -0
  114. package/framework-mcp/dist/src/modules/adapters/shared.js +104 -0
  115. package/framework-mcp/dist/src/modules/adapters/types.js +1 -0
  116. package/framework-mcp/dist/src/modules/agents/definitions.js +457 -0
  117. package/framework-mcp/dist/src/modules/agents/registry/analyst.js +39 -0
  118. package/framework-mcp/dist/src/modules/agents/registry/architect.js +42 -0
  119. package/framework-mcp/dist/src/modules/agents/registry/backend.js +49 -0
  120. package/framework-mcp/dist/src/modules/agents/registry/database.js +45 -0
  121. package/framework-mcp/dist/src/modules/agents/registry/devops.js +45 -0
  122. package/framework-mcp/dist/src/modules/agents/registry/explorer.js +36 -0
  123. package/framework-mcp/dist/src/modules/agents/registry/frontend.js +51 -0
  124. package/framework-mcp/dist/src/modules/agents/registry/git.js +36 -0
  125. package/framework-mcp/dist/src/modules/agents/registry/manager.js +53 -0
  126. package/framework-mcp/dist/src/modules/agents/registry/mobile.js +39 -0
  127. package/framework-mcp/dist/src/modules/agents/registry/native.js +39 -0
  128. package/framework-mcp/dist/src/modules/agents/registry/quality.js +41 -0
  129. package/framework-mcp/dist/src/modules/agents/registry/security.js +43 -0
  130. package/framework-mcp/dist/src/modules/agents/types.js +1 -0
  131. package/framework-mcp/dist/src/modules/engines/evaluation-engine.js +102 -0
  132. package/framework-mcp/dist/src/modules/engines/health-engine.js +49 -0
  133. package/framework-mcp/dist/src/modules/engines/planning-engine.js +78 -0
  134. package/framework-mcp/dist/src/modules/engines/risk-engine.js +105 -0
  135. package/framework-mcp/dist/src/modules/engines/routing-engine.js +73 -0
  136. package/framework-mcp/dist/src/modules/engines/types.js +1 -0
  137. package/framework-mcp/dist/src/modules/skills/definitions.js +70 -0
  138. package/framework-mcp/dist/src/shared/constants.js +187 -0
  139. package/framework-mcp/dist/src/shared/errors.js +68 -0
  140. package/framework-mcp/dist/src/shared/fs.js +51 -0
  141. package/framework-mcp/dist/src/shared/logger.js +116 -0
  142. package/framework-mcp/dist/src/shared/storage.js +207 -0
  143. package/framework-mcp/dist/src/shared/types.js +12 -0
  144. package/framework-mcp/dist/tools/control_plane/locking.js +82 -0
  145. package/framework-mcp/dist/tools/control_plane/registry.js +35 -0
  146. package/framework-mcp/dist/tools/definitions.js +322 -0
  147. package/framework-mcp/dist/tools/file_system/batch_surgical_edit.js +64 -0
  148. package/framework-mcp/dist/tools/file_system/patch_file.js +34 -0
  149. package/framework-mcp/dist/tools/file_system/read_file.js +51 -0
  150. package/framework-mcp/dist/tools/file_system/replace_text.js +50 -0
  151. package/framework-mcp/dist/tools/file_system/write_file.js +43 -0
  152. package/framework-mcp/dist/tools/framework/audit_deps.js +41 -0
  153. package/framework-mcp/dist/tools/framework/get_status.js +5 -0
  154. package/framework-mcp/dist/tools/framework/orchestrate.js +5 -0
  155. package/framework-mcp/dist/tools/framework/run_tests.js +27 -0
  156. package/framework-mcp/dist/tools/framework/submit_plan.js +13 -0
  157. package/framework-mcp/dist/tools/framework/update_contract_hash.js +5 -0
  158. package/framework-mcp/dist/tools/framework/update_memory.js +8 -0
  159. package/framework-mcp/dist/tools/index.js +62 -0
  160. package/framework-mcp/dist/tools/memory/get_insights.js +34 -0
  161. package/framework-mcp/dist/tools/memory/read_memory.js +28 -0
  162. package/framework-mcp/dist/tools/messaging/log_action.js +22 -0
  163. package/framework-mcp/dist/tools/messaging/send_message.js +94 -0
  164. package/framework-mcp/dist/tools/observability/check_ports.js +26 -0
  165. package/framework-mcp/dist/tools/observability/get_health.js +19 -0
  166. package/framework-mcp/dist/tools/quality/check_lint.js +30 -0
  167. package/framework-mcp/dist/tools/search/get_gaps.js +48 -0
  168. package/framework-mcp/dist/tools/search/get_map.js +43 -0
  169. package/framework-mcp/dist/tools/search/grep_search.js +75 -0
  170. package/framework-mcp/dist/tools/search/list_dir.js +28 -0
  171. package/framework-mcp/dist/tools/shell/run_command.js +56 -0
  172. package/framework-mcp/dist/tools/types.js +1 -0
  173. package/framework-mcp/dist/utils/cli.js +59 -0
  174. package/framework-mcp/dist/utils/compliance.js +231 -0
  175. package/framework-mcp/dist/utils/fs.js +44 -0
  176. package/framework-mcp/dist/utils/metrics.js +56 -0
  177. package/framework-mcp/dist/utils/permissions.js +71 -0
  178. package/framework-mcp/dist/utils/security.js +60 -0
  179. package/framework-mcp/package.json +37 -0
  180. package/mcp.json +1 -1
  181. package/package.json +10 -5
@@ -143,6 +143,7 @@ export const MCP = {
143
143
  ROOT_CONFIG_FILE: "mcp.json",
144
144
  PROJECT_ROOT_ENV: "ATABEY_PROJECT_ROOT",
145
145
  TEST_DIR_ENV: "ATABEY_TEST_DIR",
146
+ SERVER_DIST_PATH: "framework-mcp/dist/index.js",
146
147
  };
147
148
  export const ROOT_CONFIG_FILES = {
148
149
  MCP: MCP.ROOT_CONFIG_FILE,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import path from "path";
3
3
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
4
  import { buildMcpServerEntry, isAdapterShimFile, remapFrameworkContent, resolveAdapter, scaffoldAgents } from "../src/cli/adapters/index.js";
5
5
  import { UI } from "../src/cli/utils/ui.js";
6
+ import { MCP } from "../src/shared/constants.js";
6
7
  describe("CLI Adapters", () => {
7
8
  describe("resolveAdapter", () => {
8
9
  let uiWarningSpy;
@@ -90,8 +91,8 @@ describe("CLI Adapters", () => {
90
91
  it("should build correct entry object", () => {
91
92
  const entry = buildMcpServerEntry("/path/to/project");
92
93
  expect(entry.command).toBe("node");
93
- expect(entry.args[0]).toContain("framework-mcp/dist/index.js");
94
- expect(entry.env.ATABEY_PROJECT_ROOT).toBe("/path/to/project");
94
+ expect(entry.args[0]).toContain(MCP.SERVER_DIST_PATH);
95
+ expect(entry.env[MCP.PROJECT_ROOT_ENV]).toBe("/path/to/project");
95
96
  });
96
97
  });
97
98
  describe("scaffoldAgents", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.test.js","sourceRoot":"","sources":["../../tests/adapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.test.js","sourceRoot":"","sources":["../../tests/adapter.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import path from "path";
2
+ /**
3
+ * Agent Atabey — Single Source of Truth for framework constants.
4
+ * Import from here instead of hardcoding paths, phases, or directory names.
5
+ */
6
+ // ─── Framework identity ───────────────────────────────────────────────────
7
+ export const FRAMEWORK = {
8
+ NAME: "Agent Atabey",
9
+ CORE_DIR: ".atabey",
10
+ // This is the hub for unified adapter layouts (e.g. .agents/gemini, .agents/claude)
11
+ UNIFIED_HUB_DIR: ".agents",
12
+ // This is the default directory to scaffold new apps into
13
+ APPS_DIR: "apps",
14
+ // This is where all skills are stored
15
+ SKILLS_DIR: "skills",
16
+ };
17
+ export const FRAMEWORK_SUBDIRS = {
18
+ AGENTS: "agents",
19
+ SKILLS: "skills",
20
+ KNOWLEDGE: "knowledge",
21
+ MESSAGES: "messages",
22
+ MEMORY: "memory",
23
+ MEMORY_GRAPH: "memory-graph",
24
+ LOGS: "logs",
25
+ CONFIG: "config",
26
+ };
27
+ export const ROOT_CONFIG_FILES = {
28
+ MCP: "mcp.json",
29
+ NATIVE_MODULES: "native-modules.json",
30
+ TSCONFIG: "tsconfig.json",
31
+ ESLINT: "eslint.config.js",
32
+ };
33
+ export const MCP = {
34
+ // Environment variable used by MCP to identify project root
35
+ PROJECT_ROOT_ENV: "ATABEY_PROJECT_ROOT",
36
+ // Environment variable for test mode
37
+ TEST_DIR_ENV: "ATABEY_TEST_DIR",
38
+ };
39
+ export const MEMORY_FILES = {
40
+ STATE: "state.json",
41
+ SHARED_FACTS: "shared_facts.json",
42
+ };
43
+ export const NATIVE_AGENT_PATHS = {
44
+ gemini: ".gemini/agents",
45
+ claude: ".claude/agents",
46
+ cursor: ".cursor/rules",
47
+ codex: ".agents/instructions",
48
+ grok: ".grok",
49
+ "antigravity-cli": ".agents/agents",
50
+ };
51
+ // ─── Backward-compatible aliases ──────────────────────────────────────────
52
+ export const CORE_FRAMEWORK_DIR = FRAMEWORK.CORE_DIR;
53
+ export const UNIFIED_HUB_DIR = FRAMEWORK.UNIFIED_HUB_DIR;
54
+ export const SKILLS_HUB_PATH = pathJoin(UNIFIED_HUB_DIR, FRAMEWORK_SUBDIRS.SKILLS);
55
+ // ─── Path Helpers ─────────────────────────────────────────────────────────
56
+ function pathJoin(...args) {
57
+ return path.join(...args);
58
+ }
59
+ function corePath(subdir, filename) {
60
+ return pathJoin(FRAMEWORK.CORE_DIR, subdir, filename);
61
+ }
62
+ export function knowledgePath(filename) {
63
+ return corePath(FRAMEWORK_SUBDIRS.KNOWLEDGE, filename);
64
+ }
@@ -0,0 +1,64 @@
1
+ import path from "path";
2
+ /**
3
+ * Agent Atabey — Single Source of Truth for framework constants.
4
+ * Import from here instead of hardcoding paths, phases, or directory names.
5
+ */
6
+ // ─── Framework identity ───────────────────────────────────────────────────
7
+ export const FRAMEWORK = {
8
+ NAME: "Agent Atabey",
9
+ CORE_DIR: ".atabey",
10
+ // This is the hub for unified adapter layouts (e.g. .agents/gemini, .agents/claude)
11
+ UNIFIED_HUB_DIR: ".agents",
12
+ // This is the default directory to scaffold new apps into
13
+ APPS_DIR: "apps",
14
+ // This is where all skills are stored
15
+ SKILLS_DIR: "skills",
16
+ };
17
+ export const FRAMEWORK_SUBDIRS = {
18
+ AGENTS: "agents",
19
+ SKILLS: "skills",
20
+ KNOWLEDGE: "knowledge",
21
+ MESSAGES: "messages",
22
+ MEMORY: "memory",
23
+ MEMORY_GRAPH: "memory-graph",
24
+ LOGS: "logs",
25
+ CONFIG: "config",
26
+ };
27
+ export const ROOT_CONFIG_FILES = {
28
+ MCP: "mcp.json",
29
+ NATIVE_MODULES: "native-modules.json",
30
+ TSCONFIG: "tsconfig.json",
31
+ ESLINT: "eslint.config.js",
32
+ };
33
+ export const MCP = {
34
+ // Environment variable used by MCP to identify project root
35
+ PROJECT_ROOT_ENV: "ATABEY_PROJECT_ROOT",
36
+ // Environment variable for test mode
37
+ TEST_DIR_ENV: "ATABEY_TEST_DIR",
38
+ };
39
+ export const MEMORY_FILES = {
40
+ STATE: "state.json",
41
+ SHARED_FACTS: "shared_facts.json",
42
+ };
43
+ export const NATIVE_AGENT_PATHS = {
44
+ gemini: ".gemini/agents",
45
+ claude: ".claude/agents",
46
+ cursor: ".cursor/rules",
47
+ codex: ".agents/instructions",
48
+ grok: ".grok",
49
+ "antigravity-cli": ".agents/agents",
50
+ };
51
+ // ─── Backward-compatible aliases ──────────────────────────────────────────
52
+ export const CORE_FRAMEWORK_DIR = FRAMEWORK.CORE_DIR;
53
+ export const UNIFIED_HUB_DIR = FRAMEWORK.UNIFIED_HUB_DIR;
54
+ export const SKILLS_HUB_PATH = pathJoin(UNIFIED_HUB_DIR, FRAMEWORK_SUBDIRS.SKILLS);
55
+ // ─── Path Helpers ─────────────────────────────────────────────────────────
56
+ function pathJoin(...args) {
57
+ return path.join(...args);
58
+ }
59
+ function corePath(subdir, filename) {
60
+ return pathJoin(FRAMEWORK.CORE_DIR, subdir, filename);
61
+ }
62
+ export function knowledgePath(filename) {
63
+ return corePath(FRAMEWORK_SUBDIRS.KNOWLEDGE, filename);
64
+ }
@@ -0,0 +1,144 @@
1
+ #!/usr/bin/env node
2
+ import fs from "fs";
3
+ import path from "path";
4
+ import { fileURLToPath } from "url";
5
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
6
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
7
+ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
8
+ import { TOOLS, toolHandlers } from "./tools/index.js";
9
+ import { RESOURCES, handleReadResource } from "./resources/index.js";
10
+ // ─── Server Setup ─────────────────────────────────────────────────
11
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
12
+ // Robustly find package.json by walking up from __dirname
13
+ function findPackageJson(startDir) {
14
+ let currentDir = startDir;
15
+ while (currentDir !== path.parse(currentDir).root) {
16
+ const pkgPath = path.join(currentDir, "package.json");
17
+ if (fs.existsSync(pkgPath))
18
+ return pkgPath;
19
+ currentDir = path.dirname(currentDir);
20
+ }
21
+ throw new Error("Could not find package.json for atabey-mcp");
22
+ }
23
+ const pkgPath = findPackageJson(__dirname);
24
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
25
+ const serverVersion = pkg.version;
26
+ const server = new Server({
27
+ name: "atabey-mcp",
28
+ version: serverVersion,
29
+ }, {
30
+ capabilities: {
31
+ tools: {},
32
+ resources: {},
33
+ },
34
+ });
35
+ // Basic Schema Validator for Required Fields
36
+ function validateArgs(toolName, args) {
37
+ const definition = TOOLS.find(t => t.name === toolName);
38
+ if (!definition)
39
+ return `Unknown tool: ${toolName}`;
40
+ const required = definition.inputSchema.required || [];
41
+ for (const field of required) {
42
+ if (args[field] === undefined || args[field] === null || args[field] === "") {
43
+ return `Missing required argument: '${field}' for tool '${toolName}'`;
44
+ }
45
+ }
46
+ return null;
47
+ }
48
+ server.setRequestHandler(ListToolsRequestSchema, async (request) => {
49
+ // 2026 Stateless Spec: Log client info from metadata if available
50
+ const meta = request._meta;
51
+ if (meta) {
52
+ process.stderr.write(`[MCP] Stateless ListTools from ${meta.client?.name || "unknown"} v${meta.client?.version || "?.?"}\n`);
53
+ }
54
+ return { tools: TOOLS };
55
+ });
56
+ server.setRequestHandler(ListResourcesRequestSchema, async () => {
57
+ return { resources: RESOURCES };
58
+ });
59
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
60
+ const uri = request.params.uri;
61
+ try {
62
+ const content = await handleReadResource(uri);
63
+ return {
64
+ contents: [
65
+ {
66
+ uri,
67
+ mimeType: "text/markdown",
68
+ text: content,
69
+ },
70
+ ],
71
+ };
72
+ }
73
+ catch (error) {
74
+ const message = error instanceof Error ? error.message : String(error);
75
+ throw new Error(`Failed to read resource: ${message}`, { cause: error });
76
+ }
77
+ });
78
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
79
+ const req = request;
80
+ const { name, arguments: args } = req.params;
81
+ const meta = request._meta;
82
+ // 2026 Stateless Spec: Prioritize metadata-driven context
83
+ if (meta) {
84
+ process.stderr.write(`[MCP] Stateless CallTool: ${name} (Client: ${meta.client?.name || "unknown"})\n`);
85
+ }
86
+ const projectRoot = process.env.ATABEY_PROJECT_ROOT || process.cwd();
87
+ try {
88
+ const handler = toolHandlers[name];
89
+ if (!handler) {
90
+ return {
91
+ isError: true,
92
+ content: [{ type: "text", text: `[ERROR] Unknown tool: ${name}` }],
93
+ };
94
+ }
95
+ // [SECURITY] Runtime Validation
96
+ const validationError = validateArgs(name, args || {});
97
+ if (validationError) {
98
+ return {
99
+ isError: true,
100
+ content: [{ type: "text", text: `[ERROR] Validation Error: ${validationError}` }],
101
+ };
102
+ }
103
+ return await handler(projectRoot, args || {});
104
+ }
105
+ catch (error) {
106
+ const message = error instanceof Error ? error.message : "Unknown error occurred";
107
+ return {
108
+ isError: true,
109
+ content: [{ type: "text", text: `[ERROR] Execution failed: ${message}` }],
110
+ };
111
+ }
112
+ });
113
+ // ─── Graceful Startup & Shutdown ──────────────────────────────────
114
+ async function run() {
115
+ const transport = new StdioServerTransport();
116
+ // Prevent unhandled errors from crashing the MCP stream
117
+ process.on("uncaughtException", (error) => {
118
+ process.stderr.write(`[atabey-mcp] Uncaught exception: ${error.message}
119
+ `);
120
+ });
121
+ process.on("unhandledRejection", (reason) => {
122
+ const message = reason instanceof Error ? reason.message : String(reason);
123
+ process.stderr.write(`[atabey-mcp] Unhandled rejection: ${message}
124
+ `);
125
+ });
126
+ // Graceful shutdown on SIGINT/SIGTERM
127
+ const shutdown = async () => {
128
+ try {
129
+ await server.close();
130
+ }
131
+ catch {
132
+ // Already closed or failed — safe to ignore
133
+ }
134
+ process.exit(0);
135
+ };
136
+ process.on("SIGINT", shutdown);
137
+ process.on("SIGTERM", shutdown);
138
+ await server.connect(transport);
139
+ }
140
+ run().catch((error) => {
141
+ process.stderr.write(`[atabey-mcp] Fatal startup error: ${error.message}
142
+ `);
143
+ process.exit(1);
144
+ });
@@ -0,0 +1,58 @@
1
+ import { Storage } from "../utils/storage.js";
2
+ /**
3
+ * [DATA] MCP Resource Definitions
4
+ */
5
+ export const RESOURCES = [
6
+ {
7
+ uri: "atabey://army/status",
8
+ name: "Agent Army Status",
9
+ description: "Real-time state and active tasks of all specialized agents.",
10
+ mimeType: "text/markdown"
11
+ },
12
+ {
13
+ uri: "atabey://plan/active",
14
+ name: "Active Execution Plan",
15
+ description: "The current DAG of tasks and their completion status.",
16
+ mimeType: "text/markdown"
17
+ },
18
+ {
19
+ uri: "atabey://memory/project",
20
+ name: "Project Memory",
21
+ description: "The central source of truth for project context (PROJECT_MEMORY.md).",
22
+ mimeType: "text/markdown"
23
+ }
24
+ ];
25
+ export async function handleReadResource(uri) {
26
+ if (uri === "atabey://army/status") {
27
+ const agents = Storage.getAllAgents();
28
+ let md = "# [AI] Agent Army Status\n\n| Agent | State | Active Task | Last Updated |\n| :--- | :--- | :--- | :--- |\n";
29
+ agents.forEach((a) => {
30
+ md += `| @${a.name} | ${a.state} | ${a.task} | ${a.last_updated} |\n`;
31
+ });
32
+ return md;
33
+ }
34
+ if (uri === "atabey://plan/active") {
35
+ const tasks = Storage.getTasks();
36
+ let md = "# 📋 Active Execution Plan\n\n| ID | Task | Agent | Status | Dependencies |\n| :--- | :--- | :--- | :--- | :--- |\n";
37
+ tasks.forEach((t) => {
38
+ const deps = t.dependencies.join(", ") || "-";
39
+ md += `| ${t.id} | ${t.description} | ${t.agent} | ${t.status} | ${deps} |\n`;
40
+ });
41
+ return md;
42
+ }
43
+ if (uri === "atabey://memory/project") {
44
+ const fs = await import("fs");
45
+ const path = await import("path");
46
+ const { getFrameworkDir } = await import("../utils/memory.js");
47
+ const projectRoot = process.env.ATABEY_PROJECT_ROOT || process.cwd();
48
+ const fwDir = getFrameworkDir();
49
+ const p = path.isAbsolute(fwDir)
50
+ ? path.join(fwDir, "memory", "PROJECT_MEMORY.md")
51
+ : path.join(projectRoot, fwDir, "memory", "PROJECT_MEMORY.md");
52
+ if (fs.existsSync(p)) {
53
+ return fs.readFileSync(p, "utf8");
54
+ }
55
+ return "Project memory not found. Run 'atabey init' first.";
56
+ }
57
+ throw new Error(`Unknown resource URI: ${uri}`);
58
+ }
@@ -0,0 +1,82 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { resolveFrameworkDir } from "../../utils/security.js";
4
+ /**
5
+ * Handles acquiring a stateful lock on a resource.
6
+ */
7
+ export async function handleAcquireLock(projectRoot, args) {
8
+ const { resource, agent, ttl = 60 } = args;
9
+ const frameworkDir = resolveFrameworkDir(projectRoot);
10
+ const lockDir = path.join(projectRoot, frameworkDir, "locks");
11
+ const lockPath = path.join(lockDir, `${resource}.lock`);
12
+ try {
13
+ if (!fs.existsSync(lockDir))
14
+ fs.mkdirSync(lockDir, { recursive: true });
15
+ // Check for stale lock first
16
+ if (fs.existsSync(lockPath)) {
17
+ const stat = fs.statSync(lockPath);
18
+ const now = new Date().getTime();
19
+ const age = (now - stat.mtimeMs) / 1000;
20
+ if (age < ttl) {
21
+ return {
22
+ isError: true,
23
+ content: [{ type: "text", text: `Resource '${resource}' is currently locked by another agent.` }]
24
+ };
25
+ }
26
+ // Lock expired, safe to override by renaming first (POSIX atomic operation)
27
+ const tempLockPath = `${lockPath}.${Math.random().toString(36).substring(2)}.old`;
28
+ try {
29
+ fs.renameSync(lockPath, tempLockPath);
30
+ fs.unlinkSync(tempLockPath);
31
+ }
32
+ catch {
33
+ // If rename failed, it means another agent already evicting/deleting it.
34
+ // Do not delete anything else; proceed and let writeFileSync (wx flag) fail if a new lock exists.
35
+ }
36
+ }
37
+ // Use 'wx' flag for atomic file creation
38
+ const lockData = JSON.stringify({ agent, timestamp: new Date().toISOString() });
39
+ fs.writeFileSync(lockPath, lockData, { flag: "wx" });
40
+ return {
41
+ content: [{ type: "text", text: `[OK] Lock acquired for resource '${resource}' by ${agent}.` }]
42
+ };
43
+ }
44
+ catch (e) {
45
+ const error = e;
46
+ if (error.code === "EEXIST") {
47
+ return {
48
+ isError: true,
49
+ content: [{ type: "text", text: `Resource '${resource}' was just acquired by another agent.` }]
50
+ };
51
+ }
52
+ return {
53
+ isError: true,
54
+ content: [{ type: "text", text: `Failed to acquire lock: ${String(e)}` }]
55
+ };
56
+ }
57
+ }
58
+ /**
59
+ * Handles releasing a lock.
60
+ */
61
+ export async function handleReleaseLock(projectRoot, args) {
62
+ const { resource, agent } = args;
63
+ const frameworkDir = resolveFrameworkDir(projectRoot);
64
+ const lockPath = path.join(projectRoot, frameworkDir, "locks", `${resource}.lock`);
65
+ try {
66
+ if (!fs.existsSync(lockPath)) {
67
+ return { content: [{ type: "text", text: `â„šī¸ No lock found for resource '${resource}'.` }] };
68
+ }
69
+ const lockData = JSON.parse(fs.readFileSync(lockPath, "utf8"));
70
+ if (lockData.agent !== agent) {
71
+ return {
72
+ isError: true,
73
+ content: [{ type: "text", text: `[ERROR] Denied: You do not own the lock for '${resource}'. Owned by ${lockData.agent}.` }]
74
+ };
75
+ }
76
+ fs.unlinkSync(lockPath);
77
+ return { content: [{ type: "text", text: `[OK] Lock released for resource '${resource}' by ${agent}.` }] };
78
+ }
79
+ catch (e) {
80
+ return { isError: true, content: [{ type: "text", text: `Failed to release lock: ${String(e)}` }] };
81
+ }
82
+ }
@@ -0,0 +1,35 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { resolveFrameworkDir } from "../../utils/security.js";
4
+ /**
5
+ * Handles agent registration with the Control Plane.
6
+ * This can be used to validate permissions and active status.
7
+ */
8
+ export async function handleRegisterAgent(projectRoot, args) {
9
+ const { agent, role, capability = 5, specialties } = args;
10
+ const frameworkDir = resolveFrameworkDir(projectRoot);
11
+ const registryDir = path.join(projectRoot, frameworkDir, "registry");
12
+ const agentFile = path.join(registryDir, `${agent.replace("@", "")}_active.json`);
13
+ try {
14
+ if (!fs.existsSync(registryDir))
15
+ fs.mkdirSync(registryDir, { recursive: true });
16
+ const agentData = {
17
+ agent,
18
+ role,
19
+ capability,
20
+ specialties,
21
+ last_seen: new Date().toISOString(),
22
+ status: "ACTIVE"
23
+ };
24
+ fs.writeFileSync(agentFile, JSON.stringify(agentData, null, 2));
25
+ return {
26
+ content: [{ type: "text", text: `[ATABEY] Agent ${agent} (${role}) registered successfully in the Atabey Control Plane.` }]
27
+ };
28
+ }
29
+ catch (e) {
30
+ return {
31
+ isError: true,
32
+ content: [{ type: "text", text: `Failed to register agent: ${String(e)}` }]
33
+ };
34
+ }
35
+ }