@awcp/mcp 0.0.12 → 0.0.14
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 +59 -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,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);
|
|
@@ -111,6 +116,26 @@ function parseArgs(args) {
|
|
|
111
116
|
result.gitRemoteUrl = nextArg;
|
|
112
117
|
i++;
|
|
113
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;
|
|
114
139
|
// Peers
|
|
115
140
|
case '--peers':
|
|
116
141
|
result.peerUrls = nextArg.split(',').map(u => u.trim()).filter(Boolean);
|
|
@@ -130,7 +155,6 @@ async function main() {
|
|
|
130
155
|
if (!parsed) {
|
|
131
156
|
process.exit(1);
|
|
132
157
|
}
|
|
133
|
-
// Setup log file if specified
|
|
134
158
|
let logStream;
|
|
135
159
|
if (parsed.logFile) {
|
|
136
160
|
logStream = createWriteStream(parsed.logFile, { flags: 'a' });
|
|
@@ -147,21 +171,17 @@ async function main() {
|
|
|
147
171
|
};
|
|
148
172
|
console.error(`[AWCP MCP] Logging to ${parsed.logFile}`);
|
|
149
173
|
}
|
|
150
|
-
// Discover peers (fetch Agent Cards)
|
|
151
174
|
let peersContext;
|
|
152
175
|
if (parsed.peerUrls.length > 0) {
|
|
153
176
|
console.error(`[AWCP MCP] Discovering ${parsed.peerUrls.length} peer(s)...`);
|
|
154
177
|
peersContext = await discoverPeers(parsed.peerUrls);
|
|
155
178
|
}
|
|
156
|
-
// Determine daemon URL
|
|
157
179
|
let finalDaemonUrl;
|
|
158
180
|
if (parsed.daemonUrl) {
|
|
159
|
-
// Use provided daemon URL (no auto-start)
|
|
160
181
|
finalDaemonUrl = parsed.daemonUrl;
|
|
161
182
|
console.error(`[AWCP MCP] Using existing daemon at ${parsed.daemonUrl}`);
|
|
162
183
|
}
|
|
163
184
|
else {
|
|
164
|
-
// Build auto-daemon options from parsed args
|
|
165
185
|
const options = {
|
|
166
186
|
port: parsed.port,
|
|
167
187
|
environmentDir: parsed.environmentDir,
|
|
@@ -169,6 +189,7 @@ async function main() {
|
|
|
169
189
|
maxTotalBytes: parsed.maxTotalBytes,
|
|
170
190
|
maxFileCount: parsed.maxFileCount,
|
|
171
191
|
maxSingleFileBytes: parsed.maxSingleFileBytes,
|
|
192
|
+
snapshotMode: parsed.snapshotMode,
|
|
172
193
|
defaultTtl: parsed.defaultTtl,
|
|
173
194
|
defaultAccessMode: parsed.defaultAccessMode,
|
|
174
195
|
tempDir: parsed.tempDir,
|
|
@@ -180,10 +201,14 @@ async function main() {
|
|
|
180
201
|
storageEndpoint: parsed.storageEndpoint,
|
|
181
202
|
storageLocalDir: parsed.storageLocalDir,
|
|
182
203
|
gitRemoteUrl: parsed.gitRemoteUrl,
|
|
204
|
+
gitAuthType: parsed.gitAuthType,
|
|
205
|
+
gitToken: parsed.gitToken,
|
|
206
|
+
gitSshKeyPath: parsed.gitSshKeyPath,
|
|
207
|
+
gitBranchPrefix: parsed.gitBranchPrefix,
|
|
208
|
+
gitCleanupRemoteBranch: parsed.gitCleanupRemoteBranch,
|
|
183
209
|
};
|
|
184
210
|
const result = await ensureDaemonRunning(options);
|
|
185
211
|
finalDaemonUrl = result.url;
|
|
186
|
-
// Handle shutdown to clean up daemon
|
|
187
212
|
if (result.daemon) {
|
|
188
213
|
const cleanup = async () => {
|
|
189
214
|
console.error('[AWCP MCP] Shutting down daemon...');
|
|
@@ -194,12 +219,11 @@ async function main() {
|
|
|
194
219
|
process.on('SIGTERM', cleanup);
|
|
195
220
|
}
|
|
196
221
|
}
|
|
197
|
-
// Create MCP server with peers context
|
|
198
222
|
const server = createAwcpMcpServer({
|
|
199
223
|
daemonUrl: finalDaemonUrl,
|
|
224
|
+
defaultSnapshotMode: parsed.snapshotMode,
|
|
200
225
|
peers: peersContext,
|
|
201
226
|
});
|
|
202
|
-
// Connect via stdio
|
|
203
227
|
const transport = new StdioServerTransport();
|
|
204
228
|
await server.connect(transport);
|
|
205
229
|
console.error(`[AWCP MCP] Server started, daemon at ${finalDaemonUrl}`);
|
|
@@ -215,6 +239,10 @@ Provides MCP tools for AI agents to delegate work to remote Executors:
|
|
|
215
239
|
- delegate: Delegate a workspace to a remote Executor
|
|
216
240
|
- delegate_output: Get delegation status/results
|
|
217
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
|
|
218
246
|
|
|
219
247
|
The daemon is automatically started if not running.
|
|
220
248
|
|
|
@@ -236,6 +264,9 @@ Admission Control:
|
|
|
236
264
|
--max-file-count N Max number of files (default: 10000)
|
|
237
265
|
--max-single-file-bytes N Max single file size (default: 50MB)
|
|
238
266
|
|
|
267
|
+
Snapshot Options:
|
|
268
|
+
--snapshot-mode MODE Snapshot handling: auto, staged, discard (default: auto)
|
|
269
|
+
|
|
239
270
|
Delegation Defaults:
|
|
240
271
|
--default-ttl SECONDS Default lease duration (default: 3600)
|
|
241
272
|
--default-access-mode MODE Default access: ro, rw (default: rw)
|
|
@@ -256,6 +287,11 @@ Storage Transport Options:
|
|
|
256
287
|
|
|
257
288
|
Git Transport Options:
|
|
258
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)
|
|
259
295
|
|
|
260
296
|
Peer Discovery:
|
|
261
297
|
--peers URL,... Comma-separated list of executor base URLs
|
|
@@ -270,6 +306,9 @@ Examples:
|
|
|
270
306
|
# Basic usage with one peer
|
|
271
307
|
awcp-mcp --peers http://localhost:4001
|
|
272
308
|
|
|
309
|
+
# Staged snapshot mode (requires manual approval)
|
|
310
|
+
awcp-mcp --peers http://localhost:4001 --snapshot-mode staged
|
|
311
|
+
|
|
273
312
|
# Multiple peers
|
|
274
313
|
awcp-mcp --peers http://agent1:4001,http://agent2:4002
|
|
275
314
|
|
|
@@ -279,8 +318,12 @@ Examples:
|
|
|
279
318
|
# Use SSHFS transport
|
|
280
319
|
awcp-mcp --peers http://localhost:4001 --transport sshfs --ssh-ca-key ~/.awcp/ca
|
|
281
320
|
|
|
282
|
-
# Use Git transport
|
|
283
|
-
awcp-mcp --peers http://localhost:4001
|
|
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
|
|
284
327
|
|
|
285
328
|
Claude Desktop config (claude_desktop_config.json):
|
|
286
329
|
{
|
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":";AACA;;;;;GAKG;AAEH,wFAAwF;AACxF,uFAAuF;AACvF,kFAAkF;AAClF,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;AAC7B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAA0B,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAoB,MAAM,SAAS,CAAC;AAuD9D,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAElC,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAElB,SAAS;YACT,KAAK,cAAc;gBACjB,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;gBAC3B,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACpC,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,cAAc;YACd,KAAK,mBAAmB;gBACtB,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC;gBAChC,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,YAAY;YACZ,KAAK,aAAa;gBAChB,MAAM,CAAC,SAAS,GAAG,OAAkD,CAAC;gBACtE,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,YAAY;YACZ,KAAK,mBAAmB;gBACtB,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC7C,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,kBAAkB;gBACrB,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC5C,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,yBAAyB;gBAC5B,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClD,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,WAAW;YACX,KAAK,iBAAiB;gBACpB,MAAM,CAAC,YAAY,GAAG,OAAyB,CAAC;gBAChD,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,WAAW;YACX,KAAK,eAAe;gBAClB,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC1C,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,uBAAuB;gBAC1B,MAAM,CAAC,iBAAiB,GAAG,OAAqB,CAAC;gBACjD,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,oBAAoB;YACpB,KAAK,YAAY;gBACf,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;gBACzB,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,kBAAkB;YAClB,KAAK,cAAc;gBACjB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAC1B,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;gBACzB,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACvC,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;gBACzB,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;gBAC3B,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,oBAAoB;YACpB,KAAK,oBAAoB;gBACvB,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC;gBACjC,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,qBAAqB;gBACxB,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC;gBACjC,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,gBAAgB;YAChB,KAAK,kBAAkB;gBACrB,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC;gBAC9B,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,iBAAiB;gBACpB,MAAM,CAAC,WAAW,GAAG,OAAmC,CAAC;gBACzD,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,aAAa;gBAChB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAC1B,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,oBAAoB;gBACvB,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC;gBAC/B,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,qBAAqB;gBACxB,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC;gBACjC,CAAC,EAAE,CAAC;gBACJ,MAAM;YACR,KAAK,6BAA6B;gBAChC,MAAM,CAAC,sBAAsB,GAAG,OAAO,KAAK,OAAO,CAAC;gBACpD,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,QAAQ;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxE,CAAC,EAAE,CAAC;gBACJ,MAAM;YAER,UAAU;YACV,KAAK,YAAY;gBACf,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;gBACzB,CAAC,EAAE,CAAC;gBACJ,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,SAAkC,CAAC;IACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3C,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;QACvC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;YAC1B,SAAU,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzD,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE;YACxB,SAAU,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzD,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,YAAsC,CAAC;IAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;QAC7E,YAAY,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,cAAsB,CAAC;IAE3B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,uCAAuC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAsB;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;SACtD,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClD,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC;QAE5B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACpD,MAAM,MAAM,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACjC,SAAS,EAAE,cAAc;QACzB,mBAAmB,EAAE,MAAM,CAAC,YAAY;QACxC,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,wCAAwC,cAAc,EAAE,CAAC,CAAC;IACxE,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,cAAc,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGf,CAAC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
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"}
|