@daniel.stefan/metalink 1.3.15 → 1.3.17
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/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/core/dist/config/defaults.d.ts.map +1 -1
- package/packages/core/dist/config/defaults.js +4 -0
- package/packages/core/dist/config/defaults.js.map +1 -1
- package/packages/core/dist/config/index.d.ts +4 -4
- package/packages/core/dist/config/index.d.ts.map +1 -1
- package/packages/core/dist/config/index.js +3 -3
- package/packages/core/dist/config/index.js.map +1 -1
- package/packages/core/dist/config/loader.d.ts +28 -0
- package/packages/core/dist/config/loader.d.ts.map +1 -1
- package/packages/core/dist/config/loader.js +1 -0
- package/packages/core/dist/config/loader.js.map +1 -1
- package/packages/core/dist/config/schema.d.ts +1771 -9
- package/packages/core/dist/config/schema.d.ts.map +1 -1
- package/packages/core/dist/config/schema.js +37 -0
- package/packages/core/dist/config/schema.js.map +1 -1
- package/packages/core/dist/index.d.ts +1 -1
- package/packages/core/dist/index.js +1 -1
- package/packages/core/dist/server/git-manager.d.ts +81 -0
- package/packages/core/dist/server/git-manager.d.ts.map +1 -0
- package/packages/core/dist/server/git-manager.js +221 -0
- package/packages/core/dist/server/git-manager.js.map +1 -0
- package/packages/core/dist/server/http.d.ts.map +1 -1
- package/packages/core/dist/server/http.js +0 -37
- package/packages/core/dist/server/http.js.map +1 -1
- package/packages/core/dist/server/manager.d.ts +5 -0
- package/packages/core/dist/server/manager.d.ts.map +1 -1
- package/packages/core/dist/server/manager.js +35 -0
- package/packages/core/dist/server/manager.js.map +1 -1
|
@@ -78,6 +78,7 @@ export declare class ServerManager extends EventEmitter {
|
|
|
78
78
|
private processManager;
|
|
79
79
|
private httpConnectionManager;
|
|
80
80
|
private schemaCacheManager;
|
|
81
|
+
private gitRepositoryManager;
|
|
81
82
|
private autoRestartConfig;
|
|
82
83
|
private restartAttempts;
|
|
83
84
|
private stdoutBuffers;
|
|
@@ -135,6 +136,10 @@ export declare class ServerManager extends EventEmitter {
|
|
|
135
136
|
* Start a stdio-based server (spawns process)
|
|
136
137
|
*/
|
|
137
138
|
private startStdioServer;
|
|
139
|
+
/**
|
|
140
|
+
* Start a git-based server (auto-clones and runs)
|
|
141
|
+
*/
|
|
142
|
+
private startGitServer;
|
|
138
143
|
/**
|
|
139
144
|
* Start an HTTP-based server (connects via HTTP client)
|
|
140
145
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/server/manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAS,YAAY,EAAuB,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/server/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import path from "path";
|
|
|
6
6
|
import { EventEmitter } from "events";
|
|
7
7
|
import { LRUCache } from "lru-cache";
|
|
8
8
|
import { version } from "../index.js";
|
|
9
|
+
import { GitRepositoryManager } from "./git-manager.js";
|
|
9
10
|
import { ProcessManager, HttpConnectionManager, SchemaCacheManager, } from "./managers/index.js";
|
|
10
11
|
import { SchemaStore } from "./schema-store.js";
|
|
11
12
|
import { SchemaValidator } from "./schema-validator.js";
|
|
@@ -99,6 +100,11 @@ export class ServerManager extends EventEmitter {
|
|
|
99
100
|
backgroundRefresh: config?.schemasBackgroundRefresh ?? true,
|
|
100
101
|
cacheDir: config?.schemasCachePath ?? "~/.config/metalink/schemas",
|
|
101
102
|
});
|
|
103
|
+
// Initialize git repository manager for git-based MCP servers
|
|
104
|
+
this.gitRepositoryManager = new GitRepositoryManager(config?.gitMcpDir ?? "/home/metalink/git-mcp");
|
|
105
|
+
this.gitRepositoryManager.initialize().catch((err) => {
|
|
106
|
+
console.error("[ServerManager] Failed to initialize git manager:", err);
|
|
107
|
+
});
|
|
102
108
|
// Forward events from managers
|
|
103
109
|
this.processManager.on("server:started", ({ name, pid }) => {
|
|
104
110
|
this.emit("server:started", { name, pid });
|
|
@@ -559,6 +565,9 @@ export class ServerManager extends EventEmitter {
|
|
|
559
565
|
if (config.transport === "stdio" || config.transport === undefined) {
|
|
560
566
|
return this.startStdioServer(config);
|
|
561
567
|
}
|
|
568
|
+
else if (config.transport === "git") {
|
|
569
|
+
return this.startGitServer(config);
|
|
570
|
+
}
|
|
562
571
|
else {
|
|
563
572
|
return this.startHttpServer(config);
|
|
564
573
|
}
|
|
@@ -798,6 +807,32 @@ export class ServerManager extends EventEmitter {
|
|
|
798
807
|
throw new Error(`Failed to start stdio server ${config.name}: ${error instanceof Error ? error.message : String(error)}`);
|
|
799
808
|
}
|
|
800
809
|
}
|
|
810
|
+
/**
|
|
811
|
+
* Start a git-based server (auto-clones and runs)
|
|
812
|
+
*/
|
|
813
|
+
async startGitServer(config) {
|
|
814
|
+
try {
|
|
815
|
+
console.log(`[GitServer] Starting ${config.name}...`);
|
|
816
|
+
// Clone or update the repository
|
|
817
|
+
const workDir = await this.gitRepositoryManager.cloneOrUpdate(config.name, config.git);
|
|
818
|
+
// Convert git config to stdio config
|
|
819
|
+
const stdioConfig = {
|
|
820
|
+
name: config.name,
|
|
821
|
+
transport: "stdio",
|
|
822
|
+
command: config.command,
|
|
823
|
+
args: config.args || [],
|
|
824
|
+
env: config.env || {},
|
|
825
|
+
cwd: config.cwd || workDir,
|
|
826
|
+
healthCheck: config.healthCheck,
|
|
827
|
+
safety: config.safety,
|
|
828
|
+
};
|
|
829
|
+
// Start as stdio server
|
|
830
|
+
return this.startStdioServer(stdioConfig);
|
|
831
|
+
}
|
|
832
|
+
catch (error) {
|
|
833
|
+
throw new Error(`Failed to start git server ${config.name}: ${error instanceof Error ? error.message : String(error)}`);
|
|
834
|
+
}
|
|
835
|
+
}
|
|
801
836
|
/**
|
|
802
837
|
* Start an HTTP-based server (connects via HTTP client)
|
|
803
838
|
*/
|