@awcp/mcp 0.0.12 → 0.0.13
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 +7 -34
- package/dist/auto-daemon.d.ts.map +1 -1
- package/dist/auto-daemon.js +17 -32
- 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 +53 -16
- 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 -6
package/dist/auto-daemon.d.ts
CHANGED
|
@@ -4,62 +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
|
-
/** Transport type (default: archive) */
|
|
20
13
|
transport?: 'archive' | 'sshfs' | 'storage' | 'git';
|
|
21
|
-
/** Maximum total bytes for workspace (default: 100MB) */
|
|
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;
|
|
47
|
-
/** Git remote URL (required for git transport) */
|
|
48
28
|
gitRemoteUrl?: string;
|
|
29
|
+
gitAuthType?: 'token' | 'ssh' | 'none';
|
|
30
|
+
gitToken?: string;
|
|
31
|
+
gitSshKeyPath?: string;
|
|
32
|
+
gitBranchPrefix?: string;
|
|
33
|
+
gitCleanupRemoteBranch?: boolean;
|
|
49
34
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Start daemon in-process
|
|
52
|
-
*
|
|
53
|
-
* This starts the daemon in the same process as the MCP server.
|
|
54
|
-
* Simpler but means the daemon dies when MCP server dies.
|
|
55
|
-
*/
|
|
56
35
|
export declare function startInProcessDaemon(options?: AutoDaemonOptions): Promise<DaemonInstance>;
|
|
57
|
-
/**
|
|
58
|
-
* Ensure daemon is running, starting it if necessary
|
|
59
|
-
*
|
|
60
|
-
* Returns the daemon URL. If daemon is already running, just returns the URL.
|
|
61
|
-
* If not running, starts it in-process and returns the URL.
|
|
62
|
-
*/
|
|
63
36
|
export declare function ensureDaemonRunning(options?: AutoDaemonOptions): Promise<{
|
|
64
37
|
url: string;
|
|
65
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');
|
|
@@ -88,8 +86,10 @@ async function createDefaultConfig(options) {
|
|
|
88
86
|
transport = new GitTransport({
|
|
89
87
|
delegator: {
|
|
90
88
|
remoteUrl: options.gitRemoteUrl,
|
|
91
|
-
auth:
|
|
89
|
+
auth: buildGitAuth(options),
|
|
92
90
|
tempDir,
|
|
91
|
+
branchPrefix: options.gitBranchPrefix,
|
|
92
|
+
cleanupRemoteBranch: options.gitCleanupRemoteBranch,
|
|
93
93
|
},
|
|
94
94
|
});
|
|
95
95
|
}
|
|
@@ -108,15 +108,15 @@ async function createDefaultConfig(options) {
|
|
|
108
108
|
maxFileCount: options.maxFileCount,
|
|
109
109
|
maxSingleFileBytes: options.maxSingleFileBytes,
|
|
110
110
|
},
|
|
111
|
+
snapshot: {
|
|
112
|
+
mode: options.snapshotMode,
|
|
113
|
+
},
|
|
111
114
|
defaults: {
|
|
112
115
|
ttlSeconds: options.defaultTtl,
|
|
113
116
|
accessMode: options.defaultAccessMode,
|
|
114
117
|
},
|
|
115
118
|
};
|
|
116
119
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Ensure AWCP directories exist
|
|
119
|
-
*/
|
|
120
120
|
async function ensureDirectories(options) {
|
|
121
121
|
const awcpDir = getAwcpDir();
|
|
122
122
|
const environmentDir = options.environmentDir || join(awcpDir, 'environments');
|
|
@@ -125,12 +125,6 @@ async function ensureDirectories(options) {
|
|
|
125
125
|
await mkdir(environmentDir, { recursive: true });
|
|
126
126
|
await mkdir(tempDir, { recursive: true });
|
|
127
127
|
}
|
|
128
|
-
/**
|
|
129
|
-
* Start daemon in-process
|
|
130
|
-
*
|
|
131
|
-
* This starts the daemon in the same process as the MCP server.
|
|
132
|
-
* Simpler but means the daemon dies when MCP server dies.
|
|
133
|
-
*/
|
|
134
128
|
export async function startInProcessDaemon(options = {}) {
|
|
135
129
|
const port = options.port ?? 3100;
|
|
136
130
|
await ensureDirectories(options);
|
|
@@ -141,26 +135,17 @@ export async function startInProcessDaemon(options = {}) {
|
|
|
141
135
|
});
|
|
142
136
|
return daemon;
|
|
143
137
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Ensure daemon is running, starting it if necessary
|
|
146
|
-
*
|
|
147
|
-
* Returns the daemon URL. If daemon is already running, just returns the URL.
|
|
148
|
-
* If not running, starts it in-process and returns the URL.
|
|
149
|
-
*/
|
|
150
138
|
export async function ensureDaemonRunning(options = {}) {
|
|
151
139
|
const port = options.port ?? 3100;
|
|
152
140
|
const url = `http://localhost:${port}`;
|
|
153
141
|
const startTimeout = options.startTimeout ?? 10000;
|
|
154
|
-
// Check if already running
|
|
155
142
|
if (await isDaemonRunning(url)) {
|
|
156
143
|
console.error(`[AWCP] Daemon already running at ${url}`);
|
|
157
144
|
return { url };
|
|
158
145
|
}
|
|
159
|
-
// Start daemon in-process
|
|
160
146
|
console.error(`[AWCP] Starting Delegator Daemon on port ${port}...`);
|
|
161
147
|
try {
|
|
162
148
|
const daemon = await startInProcessDaemon(options);
|
|
163
|
-
// Wait for it to be ready
|
|
164
149
|
if (await waitForDaemon(url, startTimeout)) {
|
|
165
150
|
console.error(`[AWCP] Daemon started successfully at ${url}`);
|
|
166
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,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
|
import { createAwcpMcpServer } from '../server.js';
|
|
14
9
|
import { ensureDaemonRunning } from '../auto-daemon.js';
|
|
@@ -25,7 +20,6 @@ function parseArgs(args) {
|
|
|
25
20
|
const arg = args[i];
|
|
26
21
|
const nextArg = args[i + 1] ?? '';
|
|
27
22
|
switch (arg) {
|
|
28
|
-
// Help
|
|
29
23
|
case '--help':
|
|
30
24
|
case '-h':
|
|
31
25
|
printHelp();
|
|
@@ -62,6 +56,11 @@ function parseArgs(args) {
|
|
|
62
56
|
result.maxSingleFileBytes = parseInt(nextArg, 10);
|
|
63
57
|
i++;
|
|
64
58
|
break;
|
|
59
|
+
// Snapshot
|
|
60
|
+
case '--snapshot-mode':
|
|
61
|
+
result.snapshotMode = nextArg;
|
|
62
|
+
i++;
|
|
63
|
+
break;
|
|
65
64
|
// Defaults
|
|
66
65
|
case '--default-ttl':
|
|
67
66
|
result.defaultTtl = parseInt(nextArg, 10);
|
|
@@ -111,6 +110,26 @@ function parseArgs(args) {
|
|
|
111
110
|
result.gitRemoteUrl = nextArg;
|
|
112
111
|
i++;
|
|
113
112
|
break;
|
|
113
|
+
case '--git-auth-type':
|
|
114
|
+
result.gitAuthType = nextArg;
|
|
115
|
+
i++;
|
|
116
|
+
break;
|
|
117
|
+
case '--git-token':
|
|
118
|
+
result.gitToken = nextArg;
|
|
119
|
+
i++;
|
|
120
|
+
break;
|
|
121
|
+
case '--git-ssh-key-path':
|
|
122
|
+
result.gitSshKeyPath = nextArg;
|
|
123
|
+
i++;
|
|
124
|
+
break;
|
|
125
|
+
case '--git-branch-prefix':
|
|
126
|
+
result.gitBranchPrefix = nextArg;
|
|
127
|
+
i++;
|
|
128
|
+
break;
|
|
129
|
+
case '--git-cleanup-remote-branch':
|
|
130
|
+
result.gitCleanupRemoteBranch = nextArg !== 'false';
|
|
131
|
+
i++;
|
|
132
|
+
break;
|
|
114
133
|
// Peers
|
|
115
134
|
case '--peers':
|
|
116
135
|
result.peerUrls = nextArg.split(',').map(u => u.trim()).filter(Boolean);
|
|
@@ -130,7 +149,6 @@ async function main() {
|
|
|
130
149
|
if (!parsed) {
|
|
131
150
|
process.exit(1);
|
|
132
151
|
}
|
|
133
|
-
// Setup log file if specified
|
|
134
152
|
let logStream;
|
|
135
153
|
if (parsed.logFile) {
|
|
136
154
|
logStream = createWriteStream(parsed.logFile, { flags: 'a' });
|
|
@@ -147,21 +165,17 @@ async function main() {
|
|
|
147
165
|
};
|
|
148
166
|
console.error(`[AWCP MCP] Logging to ${parsed.logFile}`);
|
|
149
167
|
}
|
|
150
|
-
// Discover peers (fetch Agent Cards)
|
|
151
168
|
let peersContext;
|
|
152
169
|
if (parsed.peerUrls.length > 0) {
|
|
153
170
|
console.error(`[AWCP MCP] Discovering ${parsed.peerUrls.length} peer(s)...`);
|
|
154
171
|
peersContext = await discoverPeers(parsed.peerUrls);
|
|
155
172
|
}
|
|
156
|
-
// Determine daemon URL
|
|
157
173
|
let finalDaemonUrl;
|
|
158
174
|
if (parsed.daemonUrl) {
|
|
159
|
-
// Use provided daemon URL (no auto-start)
|
|
160
175
|
finalDaemonUrl = parsed.daemonUrl;
|
|
161
176
|
console.error(`[AWCP MCP] Using existing daemon at ${parsed.daemonUrl}`);
|
|
162
177
|
}
|
|
163
178
|
else {
|
|
164
|
-
// Build auto-daemon options from parsed args
|
|
165
179
|
const options = {
|
|
166
180
|
port: parsed.port,
|
|
167
181
|
environmentDir: parsed.environmentDir,
|
|
@@ -169,6 +183,7 @@ async function main() {
|
|
|
169
183
|
maxTotalBytes: parsed.maxTotalBytes,
|
|
170
184
|
maxFileCount: parsed.maxFileCount,
|
|
171
185
|
maxSingleFileBytes: parsed.maxSingleFileBytes,
|
|
186
|
+
snapshotMode: parsed.snapshotMode,
|
|
172
187
|
defaultTtl: parsed.defaultTtl,
|
|
173
188
|
defaultAccessMode: parsed.defaultAccessMode,
|
|
174
189
|
tempDir: parsed.tempDir,
|
|
@@ -180,10 +195,14 @@ async function main() {
|
|
|
180
195
|
storageEndpoint: parsed.storageEndpoint,
|
|
181
196
|
storageLocalDir: parsed.storageLocalDir,
|
|
182
197
|
gitRemoteUrl: parsed.gitRemoteUrl,
|
|
198
|
+
gitAuthType: parsed.gitAuthType,
|
|
199
|
+
gitToken: parsed.gitToken,
|
|
200
|
+
gitSshKeyPath: parsed.gitSshKeyPath,
|
|
201
|
+
gitBranchPrefix: parsed.gitBranchPrefix,
|
|
202
|
+
gitCleanupRemoteBranch: parsed.gitCleanupRemoteBranch,
|
|
183
203
|
};
|
|
184
204
|
const result = await ensureDaemonRunning(options);
|
|
185
205
|
finalDaemonUrl = result.url;
|
|
186
|
-
// Handle shutdown to clean up daemon
|
|
187
206
|
if (result.daemon) {
|
|
188
207
|
const cleanup = async () => {
|
|
189
208
|
console.error('[AWCP MCP] Shutting down daemon...');
|
|
@@ -194,12 +213,11 @@ async function main() {
|
|
|
194
213
|
process.on('SIGTERM', cleanup);
|
|
195
214
|
}
|
|
196
215
|
}
|
|
197
|
-
// Create MCP server with peers context
|
|
198
216
|
const server = createAwcpMcpServer({
|
|
199
217
|
daemonUrl: finalDaemonUrl,
|
|
218
|
+
defaultSnapshotMode: parsed.snapshotMode,
|
|
200
219
|
peers: peersContext,
|
|
201
220
|
});
|
|
202
|
-
// Connect via stdio
|
|
203
221
|
const transport = new StdioServerTransport();
|
|
204
222
|
await server.connect(transport);
|
|
205
223
|
console.error(`[AWCP MCP] Server started, daemon at ${finalDaemonUrl}`);
|
|
@@ -215,6 +233,10 @@ Provides MCP tools for AI agents to delegate work to remote Executors:
|
|
|
215
233
|
- delegate: Delegate a workspace to a remote Executor
|
|
216
234
|
- delegate_output: Get delegation status/results
|
|
217
235
|
- delegate_cancel: Cancel active delegations
|
|
236
|
+
- delegate_snapshots: List snapshots for a delegation
|
|
237
|
+
- delegate_apply_snapshot: Apply a staged snapshot
|
|
238
|
+
- delegate_discard_snapshot: Discard a staged snapshot
|
|
239
|
+
- delegate_recover: Recover results after connection loss
|
|
218
240
|
|
|
219
241
|
The daemon is automatically started if not running.
|
|
220
242
|
|
|
@@ -236,6 +258,9 @@ Admission Control:
|
|
|
236
258
|
--max-file-count N Max number of files (default: 10000)
|
|
237
259
|
--max-single-file-bytes N Max single file size (default: 50MB)
|
|
238
260
|
|
|
261
|
+
Snapshot Options:
|
|
262
|
+
--snapshot-mode MODE Snapshot handling: auto, staged, discard (default: auto)
|
|
263
|
+
|
|
239
264
|
Delegation Defaults:
|
|
240
265
|
--default-ttl SECONDS Default lease duration (default: 3600)
|
|
241
266
|
--default-access-mode MODE Default access: ro, rw (default: rw)
|
|
@@ -256,6 +281,11 @@ Storage Transport Options:
|
|
|
256
281
|
|
|
257
282
|
Git Transport Options:
|
|
258
283
|
--git-remote-url URL Git remote URL (required for git transport)
|
|
284
|
+
--git-auth-type TYPE Authentication: token, ssh, none (default: none)
|
|
285
|
+
--git-token TOKEN Git token (for --git-auth-type token)
|
|
286
|
+
--git-ssh-key-path PATH SSH key path (for --git-auth-type ssh)
|
|
287
|
+
--git-branch-prefix PREFIX Branch prefix for task branches (default: awcp/)
|
|
288
|
+
--git-cleanup-remote-branch BOOL Delete remote branch after cleanup (default: true)
|
|
259
289
|
|
|
260
290
|
Peer Discovery:
|
|
261
291
|
--peers URL,... Comma-separated list of executor base URLs
|
|
@@ -270,6 +300,9 @@ Examples:
|
|
|
270
300
|
# Basic usage with one peer
|
|
271
301
|
awcp-mcp --peers http://localhost:4001
|
|
272
302
|
|
|
303
|
+
# Staged snapshot mode (requires manual approval)
|
|
304
|
+
awcp-mcp --peers http://localhost:4001 --snapshot-mode staged
|
|
305
|
+
|
|
273
306
|
# Multiple peers
|
|
274
307
|
awcp-mcp --peers http://agent1:4001,http://agent2:4002
|
|
275
308
|
|
|
@@ -279,8 +312,12 @@ Examples:
|
|
|
279
312
|
# Use SSHFS transport
|
|
280
313
|
awcp-mcp --peers http://localhost:4001 --transport sshfs --ssh-ca-key ~/.awcp/ca
|
|
281
314
|
|
|
282
|
-
# Use Git transport
|
|
283
|
-
awcp-mcp --peers http://localhost:4001
|
|
315
|
+
# Use Git transport with token auth
|
|
316
|
+
awcp-mcp --peers http://localhost:4001 \\
|
|
317
|
+
--transport git \\
|
|
318
|
+
--git-remote-url https://github.com/user/repo.git \\
|
|
319
|
+
--git-auth-type token \\
|
|
320
|
+
--git-token ghp_xxxxx
|
|
284
321
|
|
|
285
322
|
Claude Desktop config (claude_desktop_config.json):
|
|
286
323
|
{
|
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"}
|