@awcp/mcp 0.0.11 → 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 +9 -34
- package/dist/auto-daemon.d.ts.map +1 -1
- package/dist/auto-daemon.js +30 -34
- 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 +64 -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 +224 -71
- 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: {
|
|
@@ -88,24 +101,22 @@ async function createDefaultConfig(options) {
|
|
|
88
101
|
});
|
|
89
102
|
}
|
|
90
103
|
return {
|
|
91
|
-
|
|
92
|
-
baseDir: environmentDir,
|
|
93
|
-
},
|
|
104
|
+
baseDir: environmentDir,
|
|
94
105
|
transport,
|
|
95
106
|
admission: {
|
|
96
107
|
maxTotalBytes: options.maxTotalBytes,
|
|
97
108
|
maxFileCount: options.maxFileCount,
|
|
98
109
|
maxSingleFileBytes: options.maxSingleFileBytes,
|
|
99
110
|
},
|
|
111
|
+
snapshot: {
|
|
112
|
+
mode: options.snapshotMode,
|
|
113
|
+
},
|
|
100
114
|
defaults: {
|
|
101
115
|
ttlSeconds: options.defaultTtl,
|
|
102
116
|
accessMode: options.defaultAccessMode,
|
|
103
117
|
},
|
|
104
118
|
};
|
|
105
119
|
}
|
|
106
|
-
/**
|
|
107
|
-
* Ensure AWCP directories exist
|
|
108
|
-
*/
|
|
109
120
|
async function ensureDirectories(options) {
|
|
110
121
|
const awcpDir = getAwcpDir();
|
|
111
122
|
const environmentDir = options.environmentDir || join(awcpDir, 'environments');
|
|
@@ -114,12 +125,6 @@ async function ensureDirectories(options) {
|
|
|
114
125
|
await mkdir(environmentDir, { recursive: true });
|
|
115
126
|
await mkdir(tempDir, { recursive: true });
|
|
116
127
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Start daemon in-process
|
|
119
|
-
*
|
|
120
|
-
* This starts the daemon in the same process as the MCP server.
|
|
121
|
-
* Simpler but means the daemon dies when MCP server dies.
|
|
122
|
-
*/
|
|
123
128
|
export async function startInProcessDaemon(options = {}) {
|
|
124
129
|
const port = options.port ?? 3100;
|
|
125
130
|
await ensureDirectories(options);
|
|
@@ -130,26 +135,17 @@ export async function startInProcessDaemon(options = {}) {
|
|
|
130
135
|
});
|
|
131
136
|
return daemon;
|
|
132
137
|
}
|
|
133
|
-
/**
|
|
134
|
-
* Ensure daemon is running, starting it if necessary
|
|
135
|
-
*
|
|
136
|
-
* Returns the daemon URL. If daemon is already running, just returns the URL.
|
|
137
|
-
* If not running, starts it in-process and returns the URL.
|
|
138
|
-
*/
|
|
139
138
|
export async function ensureDaemonRunning(options = {}) {
|
|
140
139
|
const port = options.port ?? 3100;
|
|
141
140
|
const url = `http://localhost:${port}`;
|
|
142
141
|
const startTimeout = options.startTimeout ?? 10000;
|
|
143
|
-
// Check if already running
|
|
144
142
|
if (await isDaemonRunning(url)) {
|
|
145
143
|
console.error(`[AWCP] Daemon already running at ${url}`);
|
|
146
144
|
return { url };
|
|
147
145
|
}
|
|
148
|
-
// Start daemon in-process
|
|
149
146
|
console.error(`[AWCP] Starting Delegator Daemon on port ${port}...`);
|
|
150
147
|
try {
|
|
151
148
|
const daemon = await startInProcessDaemon(options);
|
|
152
|
-
// Wait for it to be ready
|
|
153
149
|
if (await waitForDaemon(url, startTimeout)) {
|
|
154
150
|
console.error(`[AWCP] Daemon started successfully at ${url}`);
|
|
155
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":"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;AAgD3D,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,SAAiB;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;QACtC,IAAI,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,OAA0B;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;IAE/C,IAAI,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,4DAA4D;QAC5D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAA0B;IAC3D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEzD,IAAI,SAAS,CAAC;IACd,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,SAAS,GAAG,IAAI,cAAc,CAAC;YAC7B,SAAS,EAAE;gBACT,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,MAAM,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClD,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,WAAW;gBACpC,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;gBAC3B,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI;aAC1C;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,SAAS,GAAG,IAAI,gBAAgB,CAAC;YAC/B,SAAS,EAAE;gBACT,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;oBAC7D,QAAQ,EAAE,OAAO,CAAC,eAAe;iBAClC;gBACD,OAAO;aACR;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QACvC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAE7D,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,SAAS,GAAG,IAAI,YAAY,CAAC;YAC3B,SAAS,EAAE;gBACT,SAAS,EAAE,OAAO,CAAC,YAAY;gBAC/B,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC;gBAC3B,OAAO;gBACP,YAAY,EAAE,OAAO,CAAC,eAAe;gBACrC,mBAAmB,EAAE,OAAO,CAAC,sBAAsB;aACpD;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,IAAI,gBAAgB,CAAC;YAC/B,SAAS,EAAE;gBACT,OAAO;aACR;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,SAAS;QACT,SAAS,EAAE;YACT,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO,CAAC,YAAY;SAC3B;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,OAAO,CAAC,iBAAiB;SACtC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IACzD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEzD,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAElC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;QACxC,IAAI;QACJ,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAClC,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IAEnD,IAAI,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,4CAA4C,IAAI,KAAK,CAAC,CAAC;IAErE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,MAAM,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,yCAAyC,GAAG,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9F,CAAC;IACJ,CAAC;AACH,CAAC"}
|
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);
|
|
@@ -106,6 +105,31 @@ function parseArgs(args) {
|
|
|
106
105
|
result.storageLocalDir = nextArg;
|
|
107
106
|
i++;
|
|
108
107
|
break;
|
|
108
|
+
// Git transport
|
|
109
|
+
case '--git-remote-url':
|
|
110
|
+
result.gitRemoteUrl = nextArg;
|
|
111
|
+
i++;
|
|
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;
|
|
109
133
|
// Peers
|
|
110
134
|
case '--peers':
|
|
111
135
|
result.peerUrls = nextArg.split(',').map(u => u.trim()).filter(Boolean);
|
|
@@ -125,7 +149,6 @@ async function main() {
|
|
|
125
149
|
if (!parsed) {
|
|
126
150
|
process.exit(1);
|
|
127
151
|
}
|
|
128
|
-
// Setup log file if specified
|
|
129
152
|
let logStream;
|
|
130
153
|
if (parsed.logFile) {
|
|
131
154
|
logStream = createWriteStream(parsed.logFile, { flags: 'a' });
|
|
@@ -142,21 +165,17 @@ async function main() {
|
|
|
142
165
|
};
|
|
143
166
|
console.error(`[AWCP MCP] Logging to ${parsed.logFile}`);
|
|
144
167
|
}
|
|
145
|
-
// Discover peers (fetch Agent Cards)
|
|
146
168
|
let peersContext;
|
|
147
169
|
if (parsed.peerUrls.length > 0) {
|
|
148
170
|
console.error(`[AWCP MCP] Discovering ${parsed.peerUrls.length} peer(s)...`);
|
|
149
171
|
peersContext = await discoverPeers(parsed.peerUrls);
|
|
150
172
|
}
|
|
151
|
-
// Determine daemon URL
|
|
152
173
|
let finalDaemonUrl;
|
|
153
174
|
if (parsed.daemonUrl) {
|
|
154
|
-
// Use provided daemon URL (no auto-start)
|
|
155
175
|
finalDaemonUrl = parsed.daemonUrl;
|
|
156
176
|
console.error(`[AWCP MCP] Using existing daemon at ${parsed.daemonUrl}`);
|
|
157
177
|
}
|
|
158
178
|
else {
|
|
159
|
-
// Build auto-daemon options from parsed args
|
|
160
179
|
const options = {
|
|
161
180
|
port: parsed.port,
|
|
162
181
|
environmentDir: parsed.environmentDir,
|
|
@@ -164,6 +183,7 @@ async function main() {
|
|
|
164
183
|
maxTotalBytes: parsed.maxTotalBytes,
|
|
165
184
|
maxFileCount: parsed.maxFileCount,
|
|
166
185
|
maxSingleFileBytes: parsed.maxSingleFileBytes,
|
|
186
|
+
snapshotMode: parsed.snapshotMode,
|
|
167
187
|
defaultTtl: parsed.defaultTtl,
|
|
168
188
|
defaultAccessMode: parsed.defaultAccessMode,
|
|
169
189
|
tempDir: parsed.tempDir,
|
|
@@ -174,10 +194,15 @@ async function main() {
|
|
|
174
194
|
sshKeyDir: parsed.sshKeyDir,
|
|
175
195
|
storageEndpoint: parsed.storageEndpoint,
|
|
176
196
|
storageLocalDir: parsed.storageLocalDir,
|
|
197
|
+
gitRemoteUrl: parsed.gitRemoteUrl,
|
|
198
|
+
gitAuthType: parsed.gitAuthType,
|
|
199
|
+
gitToken: parsed.gitToken,
|
|
200
|
+
gitSshKeyPath: parsed.gitSshKeyPath,
|
|
201
|
+
gitBranchPrefix: parsed.gitBranchPrefix,
|
|
202
|
+
gitCleanupRemoteBranch: parsed.gitCleanupRemoteBranch,
|
|
177
203
|
};
|
|
178
204
|
const result = await ensureDaemonRunning(options);
|
|
179
205
|
finalDaemonUrl = result.url;
|
|
180
|
-
// Handle shutdown to clean up daemon
|
|
181
206
|
if (result.daemon) {
|
|
182
207
|
const cleanup = async () => {
|
|
183
208
|
console.error('[AWCP MCP] Shutting down daemon...');
|
|
@@ -188,12 +213,11 @@ async function main() {
|
|
|
188
213
|
process.on('SIGTERM', cleanup);
|
|
189
214
|
}
|
|
190
215
|
}
|
|
191
|
-
// Create MCP server with peers context
|
|
192
216
|
const server = createAwcpMcpServer({
|
|
193
217
|
daemonUrl: finalDaemonUrl,
|
|
218
|
+
defaultSnapshotMode: parsed.snapshotMode,
|
|
194
219
|
peers: peersContext,
|
|
195
220
|
});
|
|
196
|
-
// Connect via stdio
|
|
197
221
|
const transport = new StdioServerTransport();
|
|
198
222
|
await server.connect(transport);
|
|
199
223
|
console.error(`[AWCP MCP] Server started, daemon at ${finalDaemonUrl}`);
|
|
@@ -209,6 +233,10 @@ Provides MCP tools for AI agents to delegate work to remote Executors:
|
|
|
209
233
|
- delegate: Delegate a workspace to a remote Executor
|
|
210
234
|
- delegate_output: Get delegation status/results
|
|
211
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
|
|
212
240
|
|
|
213
241
|
The daemon is automatically started if not running.
|
|
214
242
|
|
|
@@ -223,13 +251,16 @@ Environment Options:
|
|
|
223
251
|
--environment-dir DIR Directory for environments (default: ~/.awcp/environments)
|
|
224
252
|
|
|
225
253
|
Transport Options:
|
|
226
|
-
--transport TYPE Transport: archive, sshfs, storage (default: archive)
|
|
254
|
+
--transport TYPE Transport: archive, sshfs, storage, git (default: archive)
|
|
227
255
|
|
|
228
256
|
Admission Control:
|
|
229
257
|
--max-total-bytes N Max workspace size in bytes (default: 100MB)
|
|
230
258
|
--max-file-count N Max number of files (default: 10000)
|
|
231
259
|
--max-single-file-bytes N Max single file size (default: 50MB)
|
|
232
260
|
|
|
261
|
+
Snapshot Options:
|
|
262
|
+
--snapshot-mode MODE Snapshot handling: auto, staged, discard (default: auto)
|
|
263
|
+
|
|
233
264
|
Delegation Defaults:
|
|
234
265
|
--default-ttl SECONDS Default lease duration (default: 3600)
|
|
235
266
|
--default-access-mode MODE Default access: ro, rw (default: rw)
|
|
@@ -248,6 +279,14 @@ Storage Transport Options:
|
|
|
248
279
|
--storage-endpoint URL Storage endpoint URL (required for storage)
|
|
249
280
|
--storage-local-dir DIR Local directory for storage files
|
|
250
281
|
|
|
282
|
+
Git Transport Options:
|
|
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)
|
|
289
|
+
|
|
251
290
|
Peer Discovery:
|
|
252
291
|
--peers URL,... Comma-separated list of executor base URLs
|
|
253
292
|
|
|
@@ -261,6 +300,9 @@ Examples:
|
|
|
261
300
|
# Basic usage with one peer
|
|
262
301
|
awcp-mcp --peers http://localhost:4001
|
|
263
302
|
|
|
303
|
+
# Staged snapshot mode (requires manual approval)
|
|
304
|
+
awcp-mcp --peers http://localhost:4001 --snapshot-mode staged
|
|
305
|
+
|
|
264
306
|
# Multiple peers
|
|
265
307
|
awcp-mcp --peers http://agent1:4001,http://agent2:4002
|
|
266
308
|
|
|
@@ -270,6 +312,13 @@ Examples:
|
|
|
270
312
|
# Use SSHFS transport
|
|
271
313
|
awcp-mcp --peers http://localhost:4001 --transport sshfs --ssh-ca-key ~/.awcp/ca
|
|
272
314
|
|
|
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
|
|
321
|
+
|
|
273
322
|
Claude Desktop config (claude_desktop_config.json):
|
|
274
323
|
{
|
|
275
324
|
"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"}
|