@awcp/mcp 0.0.0-dev-202602041357 → 0.0.0-dev-202602091317
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/dist/auto-daemon.d.ts +9 -34
- package/dist/auto-daemon.d.ts.map +1 -1
- package/dist/auto-daemon.js +29 -31
- package/dist/auto-daemon.js.map +1 -1
- package/dist/bin/awcp-mcp.d.ts +0 -5
- package/dist/bin/awcp-mcp.d.ts.map +1 -1
- package/dist/bin/awcp-mcp.js +70 -15
- package/dist/bin/awcp-mcp.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +6 -20
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +216 -69
- package/dist/server.js.map +1 -1
- package/dist/tools/delegate-apply-snapshot.d.ts +17 -0
- package/dist/tools/delegate-apply-snapshot.d.ts.map +1 -0
- package/dist/tools/delegate-apply-snapshot.js +34 -0
- package/dist/tools/delegate-apply-snapshot.js.map +1 -0
- package/dist/tools/delegate-discard-snapshot.d.ts +17 -0
- package/dist/tools/delegate-discard-snapshot.d.ts.map +1 -0
- package/dist/tools/delegate-discard-snapshot.js +30 -0
- package/dist/tools/delegate-discard-snapshot.js.map +1 -0
- package/dist/tools/delegate-recover.d.ts +17 -0
- package/dist/tools/delegate-recover.d.ts.map +1 -0
- package/dist/tools/delegate-recover.js +35 -0
- package/dist/tools/delegate-recover.js.map +1 -0
- package/dist/tools/delegate-snapshots.d.ts +14 -0
- package/dist/tools/delegate-snapshots.d.ts.map +1 -0
- package/dist/tools/delegate-snapshots.js +36 -0
- package/dist/tools/delegate-snapshots.js.map +1 -0
- package/dist/tools/delegate.d.ts +35 -10
- package/dist/tools/delegate.d.ts.map +1 -1
- package/dist/tools/delegate.js +25 -13
- package/dist/tools/delegate.js.map +1 -1
- package/dist/tools/delegate.txt +40 -0
- package/package.json +6 -5
package/dist/auto-daemon.d.ts
CHANGED
|
@@ -4,60 +4,35 @@
|
|
|
4
4
|
* Automatically starts the Delegator Daemon if not running.
|
|
5
5
|
* Used by MCP server to provide zero-config experience.
|
|
6
6
|
*/
|
|
7
|
-
import type { AccessMode } from '@awcp/core';
|
|
7
|
+
import type { AccessMode, SnapshotPolicy } from '@awcp/core';
|
|
8
8
|
import { type DaemonInstance } from '@awcp/sdk/delegator/daemon';
|
|
9
|
-
/**
|
|
10
|
-
* Options for auto-starting the daemon
|
|
11
|
-
*/
|
|
12
9
|
export interface AutoDaemonOptions {
|
|
13
|
-
/** Port for the daemon (default: 3100) */
|
|
14
10
|
port?: number;
|
|
15
|
-
/** Timeout in ms to wait for daemon to start (default: 10000) */
|
|
16
11
|
startTimeout?: number;
|
|
17
|
-
/** Directory for environment builds (default: ~/.awcp/environments) */
|
|
18
12
|
environmentDir?: string;
|
|
19
|
-
|
|
20
|
-
transport?: 'archive' | 'sshfs' | 'storage';
|
|
21
|
-
/** Maximum total bytes for workspace (default: 100MB) */
|
|
13
|
+
transport?: 'archive' | 'sshfs' | 'storage' | 'git';
|
|
22
14
|
maxTotalBytes?: number;
|
|
23
|
-
/** Maximum file count (default: 10000) */
|
|
24
15
|
maxFileCount?: number;
|
|
25
|
-
/** Maximum single file size in bytes (default: 50MB) */
|
|
26
16
|
maxSingleFileBytes?: number;
|
|
27
|
-
|
|
17
|
+
snapshotMode?: SnapshotPolicy;
|
|
28
18
|
defaultTtl?: number;
|
|
29
|
-
/** Default access mode: ro or rw (default: rw) */
|
|
30
19
|
defaultAccessMode?: AccessMode;
|
|
31
|
-
/** Directory for temp files (default: ~/.awcp/temp) */
|
|
32
20
|
tempDir?: string;
|
|
33
|
-
/** Path to CA private key (required for SSHFS) */
|
|
34
21
|
sshCaKey?: string;
|
|
35
|
-
/** SSH server host (default: localhost) */
|
|
36
22
|
sshHost?: string;
|
|
37
|
-
/** SSH server port (default: 22) */
|
|
38
23
|
sshPort?: number;
|
|
39
|
-
/** SSH username (default: current user) */
|
|
40
24
|
sshUser?: string;
|
|
41
|
-
/** Directory for SSH keys (default: ~/.awcp/keys) */
|
|
42
25
|
sshKeyDir?: string;
|
|
43
|
-
/** Storage base URL for download/upload */
|
|
44
26
|
storageEndpoint?: string;
|
|
45
|
-
/** Local directory for storage files (for local provider) */
|
|
46
27
|
storageLocalDir?: string;
|
|
28
|
+
gitRemoteUrl?: string;
|
|
29
|
+
gitAuthType?: 'token' | 'ssh' | 'none';
|
|
30
|
+
gitToken?: string;
|
|
31
|
+
gitSshKeyPath?: string;
|
|
32
|
+
gitBranchPrefix?: string;
|
|
33
|
+
gitCleanupRemoteBranch?: boolean;
|
|
47
34
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Start daemon in-process
|
|
50
|
-
*
|
|
51
|
-
* This starts the daemon in the same process as the MCP server.
|
|
52
|
-
* Simpler but means the daemon dies when MCP server dies.
|
|
53
|
-
*/
|
|
54
35
|
export declare function startInProcessDaemon(options?: AutoDaemonOptions): Promise<DaemonInstance>;
|
|
55
|
-
/**
|
|
56
|
-
* Ensure daemon is running, starting it if necessary
|
|
57
|
-
*
|
|
58
|
-
* Returns the daemon URL. If daemon is already running, just returns the URL.
|
|
59
|
-
* If not running, starts it in-process and returns the URL.
|
|
60
|
-
*/
|
|
61
36
|
export declare function ensureDaemonRunning(options?: AutoDaemonOptions): Promise<{
|
|
62
37
|
url: string;
|
|
63
38
|
daemon?: DaemonInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-daemon.d.ts","sourceRoot":"","sources":["../src/auto-daemon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-daemon.d.ts","sourceRoot":"","sources":["../src/auto-daemon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGvF,MAAM,WAAW,iBAAiB;IAEhC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;IAGpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,YAAY,CAAC,EAAE,cAAc,CAAC;IAG9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAG/B,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAoID,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAazB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,CA0BnD"}
|
package/dist/auto-daemon.js
CHANGED
|
@@ -9,15 +9,9 @@ import { join } from 'node:path';
|
|
|
9
9
|
import { homedir } from 'node:os';
|
|
10
10
|
import { startDelegatorDaemon } from '@awcp/sdk/delegator/daemon';
|
|
11
11
|
import { ArchiveTransport } from '@awcp/transport-archive';
|
|
12
|
-
/**
|
|
13
|
-
* Default AWCP directory
|
|
14
|
-
*/
|
|
15
12
|
function getAwcpDir() {
|
|
16
13
|
return process.env.AWCP_HOME || join(homedir(), '.awcp');
|
|
17
14
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Check if daemon is running by hitting health endpoint
|
|
20
|
-
*/
|
|
21
15
|
async function isDaemonRunning(url) {
|
|
22
16
|
try {
|
|
23
17
|
const res = await fetch(`${url}/health`, { signal: AbortSignal.timeout(2000) });
|
|
@@ -27,9 +21,6 @@ async function isDaemonRunning(url) {
|
|
|
27
21
|
return false;
|
|
28
22
|
}
|
|
29
23
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Wait for daemon to become healthy
|
|
32
|
-
*/
|
|
33
24
|
async function waitForDaemon(url, timeoutMs) {
|
|
34
25
|
const start = Date.now();
|
|
35
26
|
while (Date.now() - start < timeoutMs) {
|
|
@@ -40,14 +31,21 @@ async function waitForDaemon(url, timeoutMs) {
|
|
|
40
31
|
}
|
|
41
32
|
return false;
|
|
42
33
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
34
|
+
function buildGitAuth(options) {
|
|
35
|
+
const authType = options.gitAuthType ?? 'none';
|
|
36
|
+
if (authType === 'token' && options.gitToken) {
|
|
37
|
+
return { type: 'token', token: options.gitToken };
|
|
38
|
+
}
|
|
39
|
+
if (authType === 'ssh') {
|
|
40
|
+
// TODO: Load SSH private key from gitSshKeyPath if provided
|
|
41
|
+
return { type: 'ssh' };
|
|
42
|
+
}
|
|
43
|
+
return { type: 'none' };
|
|
44
|
+
}
|
|
46
45
|
async function createDefaultConfig(options) {
|
|
47
46
|
const awcpDir = getAwcpDir();
|
|
48
47
|
const environmentDir = options.environmentDir || join(awcpDir, 'environments');
|
|
49
48
|
const tempDir = options.tempDir || join(awcpDir, 'temp');
|
|
50
|
-
// Create transport based on type
|
|
51
49
|
let transport;
|
|
52
50
|
if (options.transport === 'sshfs') {
|
|
53
51
|
const { SshfsTransport } = await import('@awcp/transport-sshfs');
|
|
@@ -80,6 +78,21 @@ async function createDefaultConfig(options) {
|
|
|
80
78
|
},
|
|
81
79
|
});
|
|
82
80
|
}
|
|
81
|
+
else if (options.transport === 'git') {
|
|
82
|
+
const { GitTransport } = await import('@awcp/transport-git');
|
|
83
|
+
if (!options.gitRemoteUrl) {
|
|
84
|
+
throw new Error('Git transport requires --git-remote-url option');
|
|
85
|
+
}
|
|
86
|
+
transport = new GitTransport({
|
|
87
|
+
delegator: {
|
|
88
|
+
remoteUrl: options.gitRemoteUrl,
|
|
89
|
+
auth: buildGitAuth(options),
|
|
90
|
+
tempDir,
|
|
91
|
+
branchPrefix: options.gitBranchPrefix,
|
|
92
|
+
cleanupRemoteBranch: options.gitCleanupRemoteBranch,
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
}
|
|
83
96
|
else {
|
|
84
97
|
transport = new ArchiveTransport({
|
|
85
98
|
delegator: {
|
|
@@ -95,15 +108,15 @@ async function createDefaultConfig(options) {
|
|
|
95
108
|
maxFileCount: options.maxFileCount,
|
|
96
109
|
maxSingleFileBytes: options.maxSingleFileBytes,
|
|
97
110
|
},
|
|
111
|
+
snapshot: {
|
|
112
|
+
mode: options.snapshotMode,
|
|
113
|
+
},
|
|
98
114
|
defaults: {
|
|
99
115
|
ttlSeconds: options.defaultTtl,
|
|
100
116
|
accessMode: options.defaultAccessMode,
|
|
101
117
|
},
|
|
102
118
|
};
|
|
103
119
|
}
|
|
104
|
-
/**
|
|
105
|
-
* Ensure AWCP directories exist
|
|
106
|
-
*/
|
|
107
120
|
async function ensureDirectories(options) {
|
|
108
121
|
const awcpDir = getAwcpDir();
|
|
109
122
|
const environmentDir = options.environmentDir || join(awcpDir, 'environments');
|
|
@@ -112,12 +125,6 @@ async function ensureDirectories(options) {
|
|
|
112
125
|
await mkdir(environmentDir, { recursive: true });
|
|
113
126
|
await mkdir(tempDir, { recursive: true });
|
|
114
127
|
}
|
|
115
|
-
/**
|
|
116
|
-
* Start daemon in-process
|
|
117
|
-
*
|
|
118
|
-
* This starts the daemon in the same process as the MCP server.
|
|
119
|
-
* Simpler but means the daemon dies when MCP server dies.
|
|
120
|
-
*/
|
|
121
128
|
export async function startInProcessDaemon(options = {}) {
|
|
122
129
|
const port = options.port ?? 3100;
|
|
123
130
|
await ensureDirectories(options);
|
|
@@ -128,26 +135,17 @@ export async function startInProcessDaemon(options = {}) {
|
|
|
128
135
|
});
|
|
129
136
|
return daemon;
|
|
130
137
|
}
|
|
131
|
-
/**
|
|
132
|
-
* Ensure daemon is running, starting it if necessary
|
|
133
|
-
*
|
|
134
|
-
* Returns the daemon URL. If daemon is already running, just returns the URL.
|
|
135
|
-
* If not running, starts it in-process and returns the URL.
|
|
136
|
-
*/
|
|
137
138
|
export async function ensureDaemonRunning(options = {}) {
|
|
138
139
|
const port = options.port ?? 3100;
|
|
139
140
|
const url = `http://localhost:${port}`;
|
|
140
141
|
const startTimeout = options.startTimeout ?? 10000;
|
|
141
|
-
// Check if already running
|
|
142
142
|
if (await isDaemonRunning(url)) {
|
|
143
143
|
console.error(`[AWCP] Daemon already running at ${url}`);
|
|
144
144
|
return { url };
|
|
145
145
|
}
|
|
146
|
-
// Start daemon in-process
|
|
147
146
|
console.error(`[AWCP] Starting Delegator Daemon on port ${port}...`);
|
|
148
147
|
try {
|
|
149
148
|
const daemon = await startInProcessDaemon(options);
|
|
150
|
-
// Wait for it to be ready
|
|
151
149
|
if (await waitForDaemon(url, startTimeout)) {
|
|
152
150
|
console.error(`[AWCP] Daemon started successfully at ${url}`);
|
|
153
151
|
return { url, daemon };
|
package/dist/auto-daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-daemon.js","sourceRoot":"","sources":["../src/auto-daemon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,EAAE,oBAAoB,EAAuB,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-daemon.js","sourceRoot":"","sources":["../src/auto-daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/awcp-mcp.d.ts
CHANGED
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Starts an MCP server that provides AWCP delegation tools.
|
|
6
6
|
* Automatically starts the Delegator Daemon if not already running.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* awcp-mcp [options]
|
|
10
|
-
*
|
|
11
|
-
* See --help for all options.
|
|
12
7
|
*/
|
|
13
8
|
export {};
|
|
14
9
|
//# sourceMappingURL=awcp-mcp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awcp-mcp.d.ts","sourceRoot":"","sources":["../../src/bin/awcp-mcp.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"awcp-mcp.d.ts","sourceRoot":"","sources":["../../src/bin/awcp-mcp.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}
|
package/dist/bin/awcp-mcp.js
CHANGED
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Starts an MCP server that provides AWCP delegation tools.
|
|
6
6
|
* Automatically starts the Delegator Daemon if not already running.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* awcp-mcp [options]
|
|
10
|
-
*
|
|
11
|
-
* See --help for all options.
|
|
12
7
|
*/
|
|
8
|
+
// TODO: Replace with Logger injection in @awcp/sdk for structured, configurable logging
|
|
9
|
+
// MCP uses stdio for JSON-RPC — any console.log (stdout) corrupts the protocol stream.
|
|
10
|
+
// Redirect all console output to stderr before importing anything that might log.
|
|
11
|
+
console.log = console.error;
|
|
12
|
+
console.info = console.error;
|
|
13
|
+
console.warn = console.error;
|
|
13
14
|
import { createAwcpMcpServer } from '../server.js';
|
|
14
15
|
import { ensureDaemonRunning } from '../auto-daemon.js';
|
|
15
16
|
import { discoverPeers } from '../peer-discovery.js';
|
|
@@ -25,7 +26,6 @@ function parseArgs(args) {
|
|
|
25
26
|
const arg = args[i];
|
|
26
27
|
const nextArg = args[i + 1] ?? '';
|
|
27
28
|
switch (arg) {
|
|
28
|
-
// Help
|
|
29
29
|
case '--help':
|
|
30
30
|
case '-h':
|
|
31
31
|
printHelp();
|
|
@@ -62,6 +62,11 @@ function parseArgs(args) {
|
|
|
62
62
|
result.maxSingleFileBytes = parseInt(nextArg, 10);
|
|
63
63
|
i++;
|
|
64
64
|
break;
|
|
65
|
+
// Snapshot
|
|
66
|
+
case '--snapshot-mode':
|
|
67
|
+
result.snapshotMode = nextArg;
|
|
68
|
+
i++;
|
|
69
|
+
break;
|
|
65
70
|
// Defaults
|
|
66
71
|
case '--default-ttl':
|
|
67
72
|
result.defaultTtl = parseInt(nextArg, 10);
|
|
@@ -106,6 +111,31 @@ function parseArgs(args) {
|
|
|
106
111
|
result.storageLocalDir = nextArg;
|
|
107
112
|
i++;
|
|
108
113
|
break;
|
|
114
|
+
// Git transport
|
|
115
|
+
case '--git-remote-url':
|
|
116
|
+
result.gitRemoteUrl = nextArg;
|
|
117
|
+
i++;
|
|
118
|
+
break;
|
|
119
|
+
case '--git-auth-type':
|
|
120
|
+
result.gitAuthType = nextArg;
|
|
121
|
+
i++;
|
|
122
|
+
break;
|
|
123
|
+
case '--git-token':
|
|
124
|
+
result.gitToken = nextArg;
|
|
125
|
+
i++;
|
|
126
|
+
break;
|
|
127
|
+
case '--git-ssh-key-path':
|
|
128
|
+
result.gitSshKeyPath = nextArg;
|
|
129
|
+
i++;
|
|
130
|
+
break;
|
|
131
|
+
case '--git-branch-prefix':
|
|
132
|
+
result.gitBranchPrefix = nextArg;
|
|
133
|
+
i++;
|
|
134
|
+
break;
|
|
135
|
+
case '--git-cleanup-remote-branch':
|
|
136
|
+
result.gitCleanupRemoteBranch = nextArg !== 'false';
|
|
137
|
+
i++;
|
|
138
|
+
break;
|
|
109
139
|
// Peers
|
|
110
140
|
case '--peers':
|
|
111
141
|
result.peerUrls = nextArg.split(',').map(u => u.trim()).filter(Boolean);
|
|
@@ -125,7 +155,6 @@ async function main() {
|
|
|
125
155
|
if (!parsed) {
|
|
126
156
|
process.exit(1);
|
|
127
157
|
}
|
|
128
|
-
// Setup log file if specified
|
|
129
158
|
let logStream;
|
|
130
159
|
if (parsed.logFile) {
|
|
131
160
|
logStream = createWriteStream(parsed.logFile, { flags: 'a' });
|
|
@@ -142,21 +171,17 @@ async function main() {
|
|
|
142
171
|
};
|
|
143
172
|
console.error(`[AWCP MCP] Logging to ${parsed.logFile}`);
|
|
144
173
|
}
|
|
145
|
-
// Discover peers (fetch Agent Cards)
|
|
146
174
|
let peersContext;
|
|
147
175
|
if (parsed.peerUrls.length > 0) {
|
|
148
176
|
console.error(`[AWCP MCP] Discovering ${parsed.peerUrls.length} peer(s)...`);
|
|
149
177
|
peersContext = await discoverPeers(parsed.peerUrls);
|
|
150
178
|
}
|
|
151
|
-
// Determine daemon URL
|
|
152
179
|
let finalDaemonUrl;
|
|
153
180
|
if (parsed.daemonUrl) {
|
|
154
|
-
// Use provided daemon URL (no auto-start)
|
|
155
181
|
finalDaemonUrl = parsed.daemonUrl;
|
|
156
182
|
console.error(`[AWCP MCP] Using existing daemon at ${parsed.daemonUrl}`);
|
|
157
183
|
}
|
|
158
184
|
else {
|
|
159
|
-
// Build auto-daemon options from parsed args
|
|
160
185
|
const options = {
|
|
161
186
|
port: parsed.port,
|
|
162
187
|
environmentDir: parsed.environmentDir,
|
|
@@ -164,6 +189,7 @@ async function main() {
|
|
|
164
189
|
maxTotalBytes: parsed.maxTotalBytes,
|
|
165
190
|
maxFileCount: parsed.maxFileCount,
|
|
166
191
|
maxSingleFileBytes: parsed.maxSingleFileBytes,
|
|
192
|
+
snapshotMode: parsed.snapshotMode,
|
|
167
193
|
defaultTtl: parsed.defaultTtl,
|
|
168
194
|
defaultAccessMode: parsed.defaultAccessMode,
|
|
169
195
|
tempDir: parsed.tempDir,
|
|
@@ -174,10 +200,15 @@ async function main() {
|
|
|
174
200
|
sshKeyDir: parsed.sshKeyDir,
|
|
175
201
|
storageEndpoint: parsed.storageEndpoint,
|
|
176
202
|
storageLocalDir: parsed.storageLocalDir,
|
|
203
|
+
gitRemoteUrl: parsed.gitRemoteUrl,
|
|
204
|
+
gitAuthType: parsed.gitAuthType,
|
|
205
|
+
gitToken: parsed.gitToken,
|
|
206
|
+
gitSshKeyPath: parsed.gitSshKeyPath,
|
|
207
|
+
gitBranchPrefix: parsed.gitBranchPrefix,
|
|
208
|
+
gitCleanupRemoteBranch: parsed.gitCleanupRemoteBranch,
|
|
177
209
|
};
|
|
178
210
|
const result = await ensureDaemonRunning(options);
|
|
179
211
|
finalDaemonUrl = result.url;
|
|
180
|
-
// Handle shutdown to clean up daemon
|
|
181
212
|
if (result.daemon) {
|
|
182
213
|
const cleanup = async () => {
|
|
183
214
|
console.error('[AWCP MCP] Shutting down daemon...');
|
|
@@ -188,12 +219,11 @@ async function main() {
|
|
|
188
219
|
process.on('SIGTERM', cleanup);
|
|
189
220
|
}
|
|
190
221
|
}
|
|
191
|
-
// Create MCP server with peers context
|
|
192
222
|
const server = createAwcpMcpServer({
|
|
193
223
|
daemonUrl: finalDaemonUrl,
|
|
224
|
+
defaultSnapshotMode: parsed.snapshotMode,
|
|
194
225
|
peers: peersContext,
|
|
195
226
|
});
|
|
196
|
-
// Connect via stdio
|
|
197
227
|
const transport = new StdioServerTransport();
|
|
198
228
|
await server.connect(transport);
|
|
199
229
|
console.error(`[AWCP MCP] Server started, daemon at ${finalDaemonUrl}`);
|
|
@@ -209,6 +239,10 @@ Provides MCP tools for AI agents to delegate work to remote Executors:
|
|
|
209
239
|
- delegate: Delegate a workspace to a remote Executor
|
|
210
240
|
- delegate_output: Get delegation status/results
|
|
211
241
|
- delegate_cancel: Cancel active delegations
|
|
242
|
+
- delegate_snapshots: List snapshots for a delegation
|
|
243
|
+
- delegate_apply_snapshot: Apply a staged snapshot
|
|
244
|
+
- delegate_discard_snapshot: Discard a staged snapshot
|
|
245
|
+
- delegate_recover: Recover results after connection loss
|
|
212
246
|
|
|
213
247
|
The daemon is automatically started if not running.
|
|
214
248
|
|
|
@@ -223,13 +257,16 @@ Environment Options:
|
|
|
223
257
|
--environment-dir DIR Directory for environments (default: ~/.awcp/environments)
|
|
224
258
|
|
|
225
259
|
Transport Options:
|
|
226
|
-
--transport TYPE Transport: archive, sshfs, storage (default: archive)
|
|
260
|
+
--transport TYPE Transport: archive, sshfs, storage, git (default: archive)
|
|
227
261
|
|
|
228
262
|
Admission Control:
|
|
229
263
|
--max-total-bytes N Max workspace size in bytes (default: 100MB)
|
|
230
264
|
--max-file-count N Max number of files (default: 10000)
|
|
231
265
|
--max-single-file-bytes N Max single file size (default: 50MB)
|
|
232
266
|
|
|
267
|
+
Snapshot Options:
|
|
268
|
+
--snapshot-mode MODE Snapshot handling: auto, staged, discard (default: auto)
|
|
269
|
+
|
|
233
270
|
Delegation Defaults:
|
|
234
271
|
--default-ttl SECONDS Default lease duration (default: 3600)
|
|
235
272
|
--default-access-mode MODE Default access: ro, rw (default: rw)
|
|
@@ -248,6 +285,14 @@ Storage Transport Options:
|
|
|
248
285
|
--storage-endpoint URL Storage endpoint URL (required for storage)
|
|
249
286
|
--storage-local-dir DIR Local directory for storage files
|
|
250
287
|
|
|
288
|
+
Git Transport Options:
|
|
289
|
+
--git-remote-url URL Git remote URL (required for git transport)
|
|
290
|
+
--git-auth-type TYPE Authentication: token, ssh, none (default: none)
|
|
291
|
+
--git-token TOKEN Git token (for --git-auth-type token)
|
|
292
|
+
--git-ssh-key-path PATH SSH key path (for --git-auth-type ssh)
|
|
293
|
+
--git-branch-prefix PREFIX Branch prefix for task branches (default: awcp/)
|
|
294
|
+
--git-cleanup-remote-branch BOOL Delete remote branch after cleanup (default: true)
|
|
295
|
+
|
|
251
296
|
Peer Discovery:
|
|
252
297
|
--peers URL,... Comma-separated list of executor base URLs
|
|
253
298
|
|
|
@@ -261,6 +306,9 @@ Examples:
|
|
|
261
306
|
# Basic usage with one peer
|
|
262
307
|
awcp-mcp --peers http://localhost:4001
|
|
263
308
|
|
|
309
|
+
# Staged snapshot mode (requires manual approval)
|
|
310
|
+
awcp-mcp --peers http://localhost:4001 --snapshot-mode staged
|
|
311
|
+
|
|
264
312
|
# Multiple peers
|
|
265
313
|
awcp-mcp --peers http://agent1:4001,http://agent2:4002
|
|
266
314
|
|
|
@@ -270,6 +318,13 @@ Examples:
|
|
|
270
318
|
# Use SSHFS transport
|
|
271
319
|
awcp-mcp --peers http://localhost:4001 --transport sshfs --ssh-ca-key ~/.awcp/ca
|
|
272
320
|
|
|
321
|
+
# Use Git transport with token auth
|
|
322
|
+
awcp-mcp --peers http://localhost:4001 \\
|
|
323
|
+
--transport git \\
|
|
324
|
+
--git-remote-url https://github.com/user/repo.git \\
|
|
325
|
+
--git-auth-type token \\
|
|
326
|
+
--git-token ghp_xxxxx
|
|
327
|
+
|
|
273
328
|
Claude Desktop config (claude_desktop_config.json):
|
|
274
329
|
{
|
|
275
330
|
"mcpServers": {
|
package/dist/bin/awcp-mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awcp-mcp.js","sourceRoot":"","sources":["../../src/bin/awcp-mcp.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"awcp-mcp.js","sourceRoot":"","sources":["../../src/bin/awcp-mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
export { createAwcpMcpServer, type AwcpMcpServerOptions } from './server.js';
|
|
18
18
|
export { DelegatorDaemonClient } from '@awcp/sdk/delegator/client';
|
|
19
19
|
export { delegateSchema, type DelegateParams } from './tools/delegate.js';
|
|
20
|
-
export { delegateOutputSchema, type DelegateOutputParams
|
|
21
|
-
export { delegateCancelSchema, type DelegateCancelParams
|
|
20
|
+
export { delegateOutputSchema, type DelegateOutputParams } from './tools/delegate-output.js';
|
|
21
|
+
export { delegateCancelSchema, type DelegateCancelParams } from './tools/delegate-cancel.js';
|
|
22
|
+
export { delegateSnapshotsSchema, type DelegateSnapshotsParams } from './tools/delegate-snapshots.js';
|
|
23
|
+
export { delegateApplySnapshotSchema, type DelegateApplySnapshotParams } from './tools/delegate-apply-snapshot.js';
|
|
24
|
+
export { delegateDiscardSnapshotSchema, type DelegateDiscardSnapshotParams } from './tools/delegate-discard-snapshot.js';
|
|
25
|
+
export { delegateRecoverSchema, type DelegateRecoverParams } from './tools/delegate-recover.js';
|
|
22
26
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,2BAA2B,EAAE,KAAK,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACnH,OAAO,EAAE,6BAA6B,EAAE,KAAK,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACzH,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,8 +16,12 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export { createAwcpMcpServer } from './server.js';
|
|
18
18
|
export { DelegatorDaemonClient } from '@awcp/sdk/delegator/client';
|
|
19
|
-
// Tool schemas
|
|
19
|
+
// Tool schemas
|
|
20
20
|
export { delegateSchema } from './tools/delegate.js';
|
|
21
|
-
export { delegateOutputSchema
|
|
22
|
-
export { delegateCancelSchema
|
|
21
|
+
export { delegateOutputSchema } from './tools/delegate-output.js';
|
|
22
|
+
export { delegateCancelSchema } from './tools/delegate-cancel.js';
|
|
23
|
+
export { delegateSnapshotsSchema } from './tools/delegate-snapshots.js';
|
|
24
|
+
export { delegateApplySnapshotSchema } from './tools/delegate-apply-snapshot.js';
|
|
25
|
+
export { delegateDiscardSnapshotSchema } from './tools/delegate-discard-snapshot.js';
|
|
26
|
+
export { delegateRecoverSchema } from './tools/delegate-recover.js';
|
|
23
27
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,eAAe;AACf,OAAO,EAAE,cAAc,EAAuB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAA6B,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAA6B,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAgC,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,2BAA2B,EAAoC,MAAM,oCAAoC,CAAC;AACnH,OAAO,EAAE,6BAA6B,EAAsC,MAAM,sCAAsC,CAAC;AACzH,OAAO,EAAE,qBAAqB,EAA8B,MAAM,6BAA6B,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -7,35 +7,21 @@
|
|
|
7
7
|
* - delegate: Initiate a workspace delegation
|
|
8
8
|
* - delegate_output: Get delegation status/results
|
|
9
9
|
* - delegate_cancel: Cancel active delegations
|
|
10
|
+
* - delegate_snapshots: List snapshots for a delegation
|
|
11
|
+
* - delegate_apply_snapshot: Apply a staged snapshot
|
|
12
|
+
* - delegate_discard_snapshot: Discard a staged snapshot
|
|
13
|
+
* - delegate_recover: Recover results after connection loss
|
|
10
14
|
*/
|
|
11
15
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
16
|
+
import type { SnapshotPolicy } from '@awcp/core';
|
|
12
17
|
import { type PeersContext } from './peer-discovery.js';
|
|
13
18
|
export interface AwcpMcpServerOptions {
|
|
14
|
-
/** URL of the Delegator Daemon (default: http://localhost:3100) */
|
|
15
19
|
daemonUrl?: string;
|
|
16
|
-
/** Timeout for daemon requests in ms (default: 30000) */
|
|
17
20
|
timeout?: number;
|
|
18
|
-
/** Default TTL for delegations in seconds (default: 3600) */
|
|
19
21
|
defaultTtl?: number;
|
|
20
|
-
|
|
22
|
+
defaultSnapshotMode?: SnapshotPolicy;
|
|
21
23
|
peers?: PeersContext;
|
|
22
24
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Create an AWCP MCP Server instance
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```typescript
|
|
28
|
-
* import { createAwcpMcpServer } from '@awcp/mcp';
|
|
29
|
-
* import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
30
|
-
*
|
|
31
|
-
* const server = createAwcpMcpServer({
|
|
32
|
-
* daemonUrl: 'http://localhost:3100',
|
|
33
|
-
* });
|
|
34
|
-
*
|
|
35
|
-
* const transport = new StdioServerTransport();
|
|
36
|
-
* await server.connect(transport);
|
|
37
|
-
* ```
|
|
38
|
-
*/
|
|
39
25
|
export declare function createAwcpMcpServer(options?: AwcpMcpServerOptions): McpServer;
|
|
40
26
|
export { DelegatorDaemonClient } from '@awcp/sdk/delegator/client';
|
|
41
27
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAc,cAAc,EAAkB,MAAM,YAAY,CAAC;AAsC7E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,aA6UrE;AAiID,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|