atabey-mcp 0.0.19 → 0.0.21

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 (70) hide show
  1. package/README.md +2 -2
  2. package/dist/atabey/src/cli/platforms/core.d.ts +4 -0
  3. package/dist/atabey/src/cli/platforms/core.js +12 -8
  4. package/dist/atabey/src/cli/platforms/core.js.map +1 -1
  5. package/dist/atabey/src/cli/platforms/index.d.ts +1 -1
  6. package/dist/atabey/src/cli/platforms/index.js +1 -1
  7. package/dist/atabey/src/cli/platforms/index.js.map +1 -1
  8. package/dist/atabey/src/cli/utils/memory.d.ts +13 -7
  9. package/dist/atabey/src/cli/utils/memory.js +48 -16
  10. package/dist/atabey/src/cli/utils/memory.js.map +1 -1
  11. package/dist/atabey/src/modules/engines/agent-loop.d.ts +34 -0
  12. package/dist/atabey/src/modules/engines/agent-loop.js +102 -0
  13. package/dist/atabey/src/modules/engines/agent-loop.js.map +1 -0
  14. package/dist/atabey-mcp/src/mcp/constants.d.ts +3 -45
  15. package/dist/atabey-mcp/src/mcp/constants.js +3 -62
  16. package/dist/atabey-mcp/src/mcp/constants.js.map +1 -1
  17. package/dist/atabey-mcp/src/mcp/index.js +19 -35
  18. package/dist/atabey-mcp/src/mcp/index.js.map +1 -1
  19. package/dist/atabey-mcp/src/mcp/routes/api-agents.d.ts +3 -0
  20. package/dist/atabey-mcp/src/mcp/routes/api-agents.js +97 -0
  21. package/dist/atabey-mcp/src/mcp/routes/api-agents.js.map +1 -0
  22. package/dist/atabey-mcp/src/mcp/routes/api-common.d.ts +3 -0
  23. package/dist/atabey-mcp/src/mcp/routes/api-common.js +63 -0
  24. package/dist/atabey-mcp/src/mcp/routes/api-common.js.map +1 -0
  25. package/dist/atabey-mcp/src/mcp/routes/api-config.d.ts +3 -0
  26. package/dist/atabey-mcp/src/mcp/routes/api-config.js +639 -0
  27. package/dist/atabey-mcp/src/mcp/routes/api-config.js.map +1 -0
  28. package/dist/atabey-mcp/src/mcp/routes/api-governance.d.ts +3 -0
  29. package/dist/atabey-mcp/src/mcp/routes/api-governance.js +271 -0
  30. package/dist/atabey-mcp/src/mcp/routes/api-governance.js.map +1 -0
  31. package/dist/atabey-mcp/src/mcp/routes/api-orchestrator.d.ts +3 -0
  32. package/dist/atabey-mcp/src/mcp/routes/api-orchestrator.js +145 -0
  33. package/dist/atabey-mcp/src/mcp/routes/api-orchestrator.js.map +1 -0
  34. package/dist/atabey-mcp/src/mcp/routes/api-workspace.d.ts +3 -0
  35. package/dist/atabey-mcp/src/mcp/routes/api-workspace.js +274 -0
  36. package/dist/atabey-mcp/src/mcp/routes/api-workspace.js.map +1 -0
  37. package/dist/atabey-mcp/src/mcp/routes/index.d.ts +2 -0
  38. package/dist/atabey-mcp/src/mcp/routes/index.js +18 -1436
  39. package/dist/atabey-mcp/src/mcp/routes/index.js.map +1 -1
  40. package/dist/atabey-mcp/src/mcp/routes/types.d.ts +18 -0
  41. package/dist/atabey-mcp/src/mcp/routes/types.js +23 -0
  42. package/dist/atabey-mcp/src/mcp/routes/types.js.map +1 -0
  43. package/dist/atabey-mcp/src/mcp/tools/framework/orchestrate.d.ts +1 -1
  44. package/dist/atabey-mcp/src/mcp/tools/framework/orchestrate.js +11 -4
  45. package/dist/atabey-mcp/src/mcp/tools/framework/orchestrate.js.map +1 -1
  46. package/dist/atabey-mcp/src/mcp/utils/client-config.js +1 -1
  47. package/dist/atabey-mcp/src/mcp/utils/client-config.js.map +1 -1
  48. package/dist/atabey-mcp/src/mcp/utils/compliance-bootstrap.d.ts +8 -0
  49. package/dist/atabey-mcp/src/mcp/utils/compliance-bootstrap.js +46 -0
  50. package/dist/atabey-mcp/src/mcp/utils/compliance-bootstrap.js.map +1 -0
  51. package/dist/atabey-mcp/src/mcp/utils/consent.d.ts +25 -0
  52. package/dist/atabey-mcp/src/mcp/utils/consent.js +60 -0
  53. package/dist/atabey-mcp/src/mcp/utils/consent.js.map +1 -0
  54. package/dist/atabey-mcp/src/mcp/utils/finops.d.ts +7 -11
  55. package/dist/atabey-mcp/src/mcp/utils/finops.js +24 -26
  56. package/dist/atabey-mcp/src/mcp/utils/finops.js.map +1 -1
  57. package/dist/atabey-mcp/src/mcp/utils/framework-config.d.ts +27 -0
  58. package/dist/atabey-mcp/src/mcp/utils/framework-config.js +81 -0
  59. package/dist/atabey-mcp/src/mcp/utils/framework-config.js.map +1 -0
  60. package/dist/atabey-mcp/src/mcp/utils/orchestrator-bootstrap.d.ts +14 -0
  61. package/dist/atabey-mcp/src/mcp/utils/orchestrator-bootstrap.js +98 -0
  62. package/dist/atabey-mcp/src/mcp/utils/orchestrator-bootstrap.js.map +1 -0
  63. package/dist/atabey-mcp/src/mcp/utils/web-config.js +17 -35
  64. package/dist/atabey-mcp/src/mcp/utils/web-config.js.map +1 -1
  65. package/dist/dashboard/assets/{index-DHuA2rua.js → index-BUUxi_j8.js} +75 -75
  66. package/dist/dashboard/index.html +1 -1
  67. package/dist/shared/src/constants.d.ts +30 -1
  68. package/dist/shared/src/constants.js +25 -2
  69. package/dist/shared/src/constants.js.map +1 -1
  70. package/package.json +13 -2
@@ -0,0 +1,274 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { serveJson } from "./types.js";
4
+ import { Storage } from "../../shared/storage.js";
5
+ export async function handleWorkspaceRoutes(pathname, params, method, req, res, context) {
6
+ const { sessions, PROJECT_ROOT, HOST, PORT } = context;
7
+ // Workspace list
8
+ if (pathname === "/api/workspace" && method === "GET") {
9
+ try {
10
+ const { WorkspaceManager } = await import("../utils/workspace.js");
11
+ WorkspaceManager.initialize(PROJECT_ROOT);
12
+ const workspaces = WorkspaceManager.listWorkspaces();
13
+ const stats = WorkspaceManager.getStats();
14
+ serveJson(res, 200, { success: true, data: { workspaces, stats } });
15
+ }
16
+ catch (e) {
17
+ serveJson(res, 500, { success: false, error: e.message });
18
+ }
19
+ return true;
20
+ }
21
+ // Workspace Setup
22
+ if (pathname === "/api/workspace/setup" && method === "POST") {
23
+ try {
24
+ let body = "";
25
+ req.on("data", chunk => { body += chunk.toString(); });
26
+ req.on("end", async () => {
27
+ try {
28
+ const parsed = JSON.parse(body);
29
+ const { userName } = parsed;
30
+ if (!userName) {
31
+ serveJson(res, 400, { success: false, error: "userName required" });
32
+ return;
33
+ }
34
+ const { WorkspaceManager } = await import("../utils/workspace.js");
35
+ const { ClientConfigGenerator } = await import("../utils/client-config.js");
36
+ WorkspaceManager.initialize(PROJECT_ROOT);
37
+ const workspace = await WorkspaceManager.getOrCreateWorkspace(userName);
38
+ const userToken = process.env[`MCP_TOKEN_${workspace.developerId.toUpperCase()}`] ||
39
+ `atabey_${workspace.developerId}_${Date.now().toString(36)}`;
40
+ const guide = ClientConfigGenerator.generateSetupGuide(PROJECT_ROOT, userName, userToken, HOST, PORT);
41
+ serveJson(res, 200, {
42
+ success: true,
43
+ data: {
44
+ workspace,
45
+ userToken,
46
+ setupGuide: guide,
47
+ configs: ClientConfigGenerator.generateAll(PROJECT_ROOT, userName, userToken, HOST, PORT)
48
+ .map(c => ({ clientType: c.clientType, configPath: c.configPath }))
49
+ }
50
+ });
51
+ }
52
+ catch (err) {
53
+ serveJson(res, 400, { success: false, error: err.message });
54
+ }
55
+ });
56
+ }
57
+ catch (e) {
58
+ serveJson(res, 500, { success: false, error: e.message });
59
+ }
60
+ return true;
61
+ }
62
+ // MCP Sessions
63
+ if (pathname === "/api/mcp/sessions") {
64
+ const sessionList = Array.from(sessions.entries()).map(([id, session]) => ({
65
+ id,
66
+ user: session.user,
67
+ clientName: session.clientName,
68
+ connectedAt: session.connectedAt,
69
+ lastActivity: session.lastActivity,
70
+ toolCalls: session.toolCalls,
71
+ }));
72
+ serveJson(res, 200, { success: true, data: { total: sessions.size, sessions: sessionList } });
73
+ return true;
74
+ }
75
+ // Dispatch Task
76
+ if (pathname === "/api/chat/dispatch" && method === "POST") {
77
+ try {
78
+ let body = "";
79
+ req.on("data", chunk => { body += chunk.toString(); });
80
+ req.on("end", async () => {
81
+ try {
82
+ const parsed = JSON.parse(body);
83
+ const { projectPath, agent, message } = parsed;
84
+ if (!projectPath || !agent || !message) {
85
+ serveJson(res, 400, { success: false, error: "projectPath, agent, and message are required." });
86
+ return;
87
+ }
88
+ const { saveWebConfig } = await import("../utils/web-config.js");
89
+ saveWebConfig({ projectPath });
90
+ const { asAgentID, asTraceID } = await import("../../shared/types.js");
91
+ const traceId = "T-" + Date.now().toString().slice(-6);
92
+ Storage.setMetadata("traceId", traceId);
93
+ Storage.setMetadata("phase", "PHASE_0");
94
+ const hermesMsg = {
95
+ timestamp: new Date().toISOString(),
96
+ from: asAgentID("web-user"),
97
+ to: asAgentID(agent),
98
+ category: "DELEGATION",
99
+ content: message,
100
+ traceId: asTraceID(traceId),
101
+ status: "PENDING",
102
+ priority: "HIGH",
103
+ requiresApproval: false
104
+ };
105
+ Storage.saveMessage(hermesMsg);
106
+ context.broadcastWS("message", hermesMsg);
107
+ context.broadcastWS("log", {
108
+ timestamp: new Date().toISOString(),
109
+ agent: "web-user",
110
+ action: "DISPATCH",
111
+ trace_id: traceId,
112
+ status: "SUCCESS",
113
+ summary: `Dispatched task to ${agent}: ${message.substring(0, 50)}...`
114
+ });
115
+ const { startOrchestratorLoop } = await import("../utils/web-config.js");
116
+ const runResult = startOrchestratorLoop();
117
+ serveJson(res, 200, {
118
+ success: true,
119
+ traceId,
120
+ message: `Task dispatched to ${agent}. ${runResult.message}`
121
+ });
122
+ }
123
+ catch (err) {
124
+ serveJson(res, 400, { success: false, error: err.message });
125
+ }
126
+ });
127
+ }
128
+ catch (e) {
129
+ serveJson(res, 500, { success: false, error: e.message });
130
+ }
131
+ return true;
132
+ }
133
+ // Browse directories
134
+ if (pathname === "/api/project/browse-dirs" && method === "GET") {
135
+ try {
136
+ const os = await import("os");
137
+ let target = params.path ? String(params.path) : "";
138
+ if (!target) {
139
+ const { loadWebConfig } = await import("../utils/web-config.js");
140
+ target = loadWebConfig().projectPath || os.homedir();
141
+ }
142
+ target = path.resolve(target);
143
+ if (!fs.existsSync(target)) {
144
+ serveJson(res, 404, { success: false, error: "Path not found" });
145
+ return true;
146
+ }
147
+ const stats = fs.statSync(target);
148
+ if (!stats.isDirectory()) {
149
+ serveJson(res, 400, { success: false, error: "Not a directory" });
150
+ return true;
151
+ }
152
+ const files = fs.readdirSync(target);
153
+ const dirs = [];
154
+ for (const file of files) {
155
+ if (file.startsWith("."))
156
+ continue;
157
+ try {
158
+ const fullPath = path.join(target, file);
159
+ const isDir = fs.statSync(fullPath).isDirectory();
160
+ if (isDir) {
161
+ dirs.push({ name: file, path: fullPath });
162
+ }
163
+ }
164
+ catch {
165
+ // ignore
166
+ }
167
+ }
168
+ serveJson(res, 200, {
169
+ success: true,
170
+ currentPath: target,
171
+ parentPath: path.dirname(target) !== target ? path.dirname(target) : null,
172
+ dirs: dirs.sort((a, b) => a.name.localeCompare(b.name))
173
+ });
174
+ }
175
+ catch (e) {
176
+ serveJson(res, 500, { success: false, error: e.message });
177
+ }
178
+ return true;
179
+ }
180
+ // Project files list
181
+ if (pathname === "/api/project/files" && method === "GET") {
182
+ try {
183
+ const { loadWebConfig } = await import("../utils/web-config.js");
184
+ const config = loadWebConfig();
185
+ const projectDir = config.projectPath;
186
+ const subDir = params.path ? String(params.path) : "";
187
+ let targetDir = projectDir;
188
+ if (subDir) {
189
+ targetDir = path.resolve(projectDir, subDir);
190
+ if (!targetDir.startsWith(projectDir)) {
191
+ serveJson(res, 403, { success: false, error: "Access denied" });
192
+ return true;
193
+ }
194
+ }
195
+ if (!fs.existsSync(targetDir)) {
196
+ serveJson(res, 404, { success: false, error: "Project path not found" });
197
+ return true;
198
+ }
199
+ const files = fs.readdirSync(targetDir);
200
+ const items = [];
201
+ for (const file of files) {
202
+ if (file === "node_modules" || file === ".git" || file === ".DS_Store")
203
+ continue;
204
+ try {
205
+ const fullPath = path.join(targetDir, file);
206
+ const stat = fs.statSync(fullPath);
207
+ items.push({
208
+ name: file,
209
+ isDir: stat.isDirectory(),
210
+ relativePath: path.relative(projectDir, fullPath)
211
+ });
212
+ }
213
+ catch {
214
+ // ignore
215
+ }
216
+ }
217
+ serveJson(res, 200, {
218
+ success: true,
219
+ currentPath: projectDir,
220
+ relativePath: path.relative(projectDir, targetDir),
221
+ items: items.sort((a, b) => {
222
+ if (a.isDir && !b.isDir)
223
+ return -1;
224
+ if (!a.isDir && b.isDir)
225
+ return 1;
226
+ return a.name.localeCompare(b.name);
227
+ })
228
+ });
229
+ }
230
+ catch (e) {
231
+ serveJson(res, 500, { success: false, error: e.message });
232
+ }
233
+ return true;
234
+ }
235
+ // Project file content
236
+ if (pathname === "/api/project/file-content" && method === "GET") {
237
+ try {
238
+ const { loadWebConfig } = await import("../utils/web-config.js");
239
+ const config = loadWebConfig();
240
+ const projectDir = config.projectPath;
241
+ const filePath = params.path ? String(params.path) : "";
242
+ if (!filePath) {
243
+ serveJson(res, 400, { success: false, error: "path parameter is required" });
244
+ return true;
245
+ }
246
+ const absoluteFilePath = path.resolve(projectDir, filePath);
247
+ if (!absoluteFilePath.startsWith(projectDir)) {
248
+ serveJson(res, 403, { success: false, error: "Access denied" });
249
+ return true;
250
+ }
251
+ if (!fs.existsSync(absoluteFilePath) || fs.statSync(absoluteFilePath).isDirectory()) {
252
+ serveJson(res, 404, { success: false, error: "File not found" });
253
+ return true;
254
+ }
255
+ const size = fs.statSync(absoluteFilePath).size;
256
+ if (size > 2 * 1024 * 1024) {
257
+ serveJson(res, 400, { success: false, error: "File is too large (max 2MB)" });
258
+ return true;
259
+ }
260
+ const content = fs.readFileSync(absoluteFilePath, "utf8");
261
+ serveJson(res, 200, {
262
+ success: true,
263
+ path: filePath,
264
+ content
265
+ });
266
+ }
267
+ catch (e) {
268
+ serveJson(res, 500, { success: false, error: e.message });
269
+ }
270
+ return true;
271
+ }
272
+ return false;
273
+ }
274
+ //# sourceMappingURL=api-workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-workspace.js","sourceRoot":"","sources":["../../../../../src/mcp/routes/api-workspace.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface McpSession {
10
10
  lastActivity: string;
11
11
  toolCalls: number;
12
12
  }
13
+ export declare function serveJson(res: http.ServerResponse, statusCode: number, data: unknown): void;
14
+ export declare function serveFile(res: http.ServerResponse, filePath: string, contentType: string): void;
13
15
  export declare function handleRequest(req: http.IncomingMessage, res: http.ServerResponse, context: {
14
16
  serverVersion: string;
15
17
  sessions: Map<string, McpSession>;