@extenshi/mcp 0.23.0 → 0.25.0
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/README.md +3 -0
- package/dist/build-map-agent.d.ts +12 -1
- package/dist/build-map-agent.d.ts.map +1 -1
- package/dist/build-map-agent.js +32 -4
- package/dist/build-map-agent.js.map +1 -1
- package/dist/build-map-app.d.ts +135 -0
- package/dist/build-map-app.d.ts.map +1 -0
- package/dist/build-map-app.js +238 -0
- package/dist/build-map-app.js.map +1 -0
- package/dist/build-map-page.d.ts +58 -0
- package/dist/build-map-page.d.ts.map +1 -0
- package/dist/build-map-page.js +1327 -0
- package/dist/build-map-page.js.map +1 -0
- package/dist/build-map-store.d.ts +47 -5
- package/dist/build-map-store.d.ts.map +1 -1
- package/dist/build-map-store.js +75 -7
- package/dist/build-map-store.js.map +1 -1
- package/dist/build-map-summary.d.ts +3 -1
- package/dist/build-map-summary.d.ts.map +1 -1
- package/dist/build-map-summary.js +3 -2
- package/dist/build-map-summary.js.map +1 -1
- package/dist/build-map-tools.d.ts +18 -2
- package/dist/build-map-tools.d.ts.map +1 -1
- package/dist/build-map-tools.js +58 -5
- package/dist/build-map-tools.js.map +1 -1
- package/dist/build-map-ui.d.ts +16 -0
- package/dist/build-map-ui.d.ts.map +1 -0
- package/dist/build-map-ui.js +20 -0
- package/dist/build-map-ui.js.map +1 -0
- package/dist/development-guide.d.ts +21 -19
- package/dist/development-guide.d.ts.map +1 -1
- package/dist/development-guide.js +5 -2
- package/dist/development-guide.js.map +1 -1
- package/dist/feedback-form-tools.d.ts +4 -4
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/publish.d.ts +11 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +13 -0
- package/dist/publish.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +36 -3
- package/dist/tools.js.map +1 -1
- package/dist/uninstall-form-tools.d.ts +2 -2
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-map-page.js","sourceRoot":"","sources":["../src/build-map-page.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiQtC,CAAA;AAED,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CN,CAAA;AAEP,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA40Bd,CAAA"}
|
|
@@ -32,7 +32,38 @@ export declare const MAP_STATE_FILE = "build-map.json";
|
|
|
32
32
|
export declare const MAP_SERVER_FILE = "build-map.server.json";
|
|
33
33
|
export declare const MAP_LOG_FILE = "build-map.log";
|
|
34
34
|
/** Bumped when the page/server protocol changes: a newer CLI replaces an older server instead of reusing it. */
|
|
35
|
-
export declare const MAP_PROTOCOL =
|
|
35
|
+
export declare const MAP_PROTOCOL = 7;
|
|
36
|
+
/** The record token, from the owner-only record file: authorizes /api/shutdown and a client's hello. */
|
|
37
|
+
export declare const MAP_TOKEN_HEADER = "x-extenshi-map-token";
|
|
38
|
+
/** Who asks: `cli/<version> graph=<revision>` or `mcp/<version> graph=<revision>` (see mapClientHeader). */
|
|
39
|
+
export declare const MAP_CLIENT_HEADER = "x-extenshi-map-client";
|
|
40
|
+
/**
|
|
41
|
+
* A program that talks to the map server on an agent's behalf: the CLI or the
|
|
42
|
+
* stdio MCP server, its package version, and the graph revision it was built
|
|
43
|
+
* with (BUILD_GRAPH_REVISION of its @extenshi/contracts).
|
|
44
|
+
*/
|
|
45
|
+
export type MapClient = {
|
|
46
|
+
kind: 'cli' | 'mcp';
|
|
47
|
+
version: string;
|
|
48
|
+
graph: number;
|
|
49
|
+
};
|
|
50
|
+
/** This program as a map client: the graph revision is the one it was built with. */
|
|
51
|
+
export declare const mapClient: (kind: MapClient["kind"], version: string) => MapClient;
|
|
52
|
+
export declare const mapClientHeader: (client: MapClient) => string;
|
|
53
|
+
export declare function parseMapClient(value: unknown): MapClient | undefined;
|
|
54
|
+
/** Order of two `x.y.z` versions (a pre-release sorts before its release); undefined when either is not one. */
|
|
55
|
+
export declare function compareVersions(a: string, b: string): number | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* How the running map and a client differ. `map_older`: the map draws an older
|
|
58
|
+
* graph than the client knows, or — for the CLI, the program that serves the
|
|
59
|
+
* map — it runs an older CLI release; `client_older`: the client knows an older
|
|
60
|
+
* graph than the map draws. A server from before graph revisions counts as
|
|
61
|
+
* revision 0.
|
|
62
|
+
*/
|
|
63
|
+
export declare function mapSkew(server: {
|
|
64
|
+
version: string;
|
|
65
|
+
graph?: number;
|
|
66
|
+
}, client: MapClient): 'map_older' | 'client_older' | undefined;
|
|
36
67
|
export type MapHome = {
|
|
37
68
|
/** Where the map's files live: this project directory in the main checkout. */
|
|
38
69
|
home: string;
|
|
@@ -90,6 +121,8 @@ export type MapServerRecord = {
|
|
|
90
121
|
token: string;
|
|
91
122
|
protocol: number;
|
|
92
123
|
version: string;
|
|
124
|
+
/** The graph revision the server draws (absent before protocol 7). */
|
|
125
|
+
graph?: number;
|
|
93
126
|
home: string;
|
|
94
127
|
startedAt: string;
|
|
95
128
|
};
|
|
@@ -99,19 +132,28 @@ export type MapHealth = {
|
|
|
99
132
|
protocol: number;
|
|
100
133
|
version: string;
|
|
101
134
|
clients: number;
|
|
135
|
+
/** The graph revision the server draws (absent before protocol 7). */
|
|
136
|
+
graph?: number;
|
|
137
|
+
/** A newer @extenshi/cli on npm that the map can restart on. */
|
|
138
|
+
available?: string;
|
|
139
|
+
/** The version the map is restarting on right now. */
|
|
140
|
+
updating?: string;
|
|
102
141
|
};
|
|
103
142
|
export declare function readServerRecord(home: string): Promise<MapServerRecord | undefined>;
|
|
104
|
-
export declare function fetchHealth(port: number, timeoutMs?: number): Promise<MapHealth | undefined>;
|
|
105
|
-
export type RunningServer = MapServerRecord & {
|
|
143
|
+
export declare function fetchHealth(port: number, timeoutMs?: number, headers?: Record<string, string>): Promise<MapHealth | undefined>;
|
|
144
|
+
export type RunningServer = MapServerRecord & Pick<MapHealth, 'available' | 'updating'> & {
|
|
106
145
|
clients: number;
|
|
146
|
+
graph: number;
|
|
107
147
|
};
|
|
108
148
|
/**
|
|
109
149
|
* The server recorded for `home`, if it is really up: same machine, process
|
|
110
150
|
* alive, and its health answer carries the recorded instance id and home. A
|
|
111
151
|
* record left by a crash, by another machine (a synced folder) or a reused pid
|
|
112
|
-
* reads as no server.
|
|
152
|
+
* reads as no server. With `client`, the probe also tells the server which
|
|
153
|
+
* program asks and which graph it knows, so the map can offer an update when
|
|
154
|
+
* an agent works with newer steps than the map draws.
|
|
113
155
|
*/
|
|
114
|
-
export declare function probeServer(home: string): Promise<RunningServer | undefined>;
|
|
156
|
+
export declare function probeServer(home: string, client?: MapClient): Promise<RunningServer | undefined>;
|
|
115
157
|
export declare const serverLockPath: (home: string) => string;
|
|
116
158
|
/**
|
|
117
159
|
* Mark the server record stopped, but only if it still names `instance` —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-map-store.d.ts","sourceRoot":"","sources":["../src/build-map-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAOH,OAAO,
|
|
1
|
+
{"version":3,"file":"build-map-store.d.ts","sourceRoot":"","sources":["../src/build-map-store.ts"],"names":[],"mappings":"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"}
|
package/dist/build-map-store.js
CHANGED
|
@@ -31,7 +31,7 @@ import { randomUUID } from 'node:crypto';
|
|
|
31
31
|
import { mkdir, open, readFile, realpath, rename, rm, stat, writeFile } from 'node:fs/promises';
|
|
32
32
|
import os from 'node:os';
|
|
33
33
|
import path from 'node:path';
|
|
34
|
-
import { emptyBuildMapState, normalizeBuildMapState } from '@extenshi/contracts';
|
|
34
|
+
import { BUILD_GRAPH_REVISION, emptyBuildMapState, normalizeBuildMapState, } from '@extenshi/contracts';
|
|
35
35
|
export const MAP_DIR = '.extenshi';
|
|
36
36
|
export const MAP_STATE_FILE = 'build-map.json';
|
|
37
37
|
export const MAP_SERVER_FILE = 'build-map.server.json';
|
|
@@ -39,7 +39,63 @@ export const MAP_LOG_FILE = 'build-map.log';
|
|
|
39
39
|
const STATE_LOCK = 'build-map.lock';
|
|
40
40
|
const SERVER_LOCK = 'build-map.server.lock';
|
|
41
41
|
/** Bumped when the page/server protocol changes: a newer CLI replaces an older server instead of reusing it. */
|
|
42
|
-
export const MAP_PROTOCOL =
|
|
42
|
+
export const MAP_PROTOCOL = 7;
|
|
43
|
+
/** The record token, from the owner-only record file: authorizes /api/shutdown and a client's hello. */
|
|
44
|
+
export const MAP_TOKEN_HEADER = 'x-extenshi-map-token';
|
|
45
|
+
/** Who asks: `cli/<version> graph=<revision>` or `mcp/<version> graph=<revision>` (see mapClientHeader). */
|
|
46
|
+
export const MAP_CLIENT_HEADER = 'x-extenshi-map-client';
|
|
47
|
+
/** This program as a map client: the graph revision is the one it was built with. */
|
|
48
|
+
export const mapClient = (kind, version) => ({
|
|
49
|
+
kind,
|
|
50
|
+
version,
|
|
51
|
+
graph: BUILD_GRAPH_REVISION,
|
|
52
|
+
});
|
|
53
|
+
export const mapClientHeader = (client) => `${client.kind}/${client.version} graph=${client.graph}`;
|
|
54
|
+
export function parseMapClient(value) {
|
|
55
|
+
if (typeof value !== 'string' || value.length > 80)
|
|
56
|
+
return undefined;
|
|
57
|
+
const match = /^(cli|mcp)\/([0-9A-Za-z.+-]{1,40}) graph=(\d{1,6})$/.exec(value);
|
|
58
|
+
if (!match)
|
|
59
|
+
return undefined;
|
|
60
|
+
return { kind: match[1], version: match[2], graph: Number(match[3]) };
|
|
61
|
+
}
|
|
62
|
+
/** Order of two `x.y.z` versions (a pre-release sorts before its release); undefined when either is not one. */
|
|
63
|
+
export function compareVersions(a, b) {
|
|
64
|
+
const parse = (v) => /^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/.exec(v);
|
|
65
|
+
const x = parse(a);
|
|
66
|
+
const y = parse(b);
|
|
67
|
+
if (!x || !y)
|
|
68
|
+
return undefined;
|
|
69
|
+
for (let i = 1; i <= 3; i++) {
|
|
70
|
+
const d = Number(x[i]) - Number(y[i]);
|
|
71
|
+
if (d)
|
|
72
|
+
return Math.sign(d);
|
|
73
|
+
}
|
|
74
|
+
if (x[4] === y[4])
|
|
75
|
+
return 0;
|
|
76
|
+
if (!x[4])
|
|
77
|
+
return 1;
|
|
78
|
+
if (!y[4])
|
|
79
|
+
return -1;
|
|
80
|
+
return x[4] < y[4] ? -1 : 1;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* How the running map and a client differ. `map_older`: the map draws an older
|
|
84
|
+
* graph than the client knows, or — for the CLI, the program that serves the
|
|
85
|
+
* map — it runs an older CLI release; `client_older`: the client knows an older
|
|
86
|
+
* graph than the map draws. A server from before graph revisions counts as
|
|
87
|
+
* revision 0.
|
|
88
|
+
*/
|
|
89
|
+
export function mapSkew(server, client) {
|
|
90
|
+
const graph = server.graph ?? 0;
|
|
91
|
+
if (client.graph > graph)
|
|
92
|
+
return 'map_older';
|
|
93
|
+
if (client.graph < graph)
|
|
94
|
+
return 'client_older';
|
|
95
|
+
if (client.kind === 'cli' && (compareVersions(client.version, server.version) ?? 0) > 0)
|
|
96
|
+
return 'map_older';
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
43
99
|
export const mapPath = (home, file) => path.join(home, MAP_DIR, file);
|
|
44
100
|
function git(cwd, args) {
|
|
45
101
|
return new Promise((resolve) => {
|
|
@@ -303,10 +359,11 @@ export async function readServerRecord(home) {
|
|
|
303
359
|
return undefined;
|
|
304
360
|
}
|
|
305
361
|
}
|
|
306
|
-
export async function fetchHealth(port, timeoutMs = 1_500) {
|
|
362
|
+
export async function fetchHealth(port, timeoutMs = 1_500, headers) {
|
|
307
363
|
try {
|
|
308
364
|
const response = await fetch(`http://127.0.0.1:${port}/api/health`, {
|
|
309
365
|
signal: AbortSignal.timeout(timeoutMs),
|
|
366
|
+
...(headers ? { headers } : {}),
|
|
310
367
|
});
|
|
311
368
|
if (!response.ok)
|
|
312
369
|
return undefined;
|
|
@@ -320,16 +377,27 @@ export async function fetchHealth(port, timeoutMs = 1_500) {
|
|
|
320
377
|
* The server recorded for `home`, if it is really up: same machine, process
|
|
321
378
|
* alive, and its health answer carries the recorded instance id and home. A
|
|
322
379
|
* record left by a crash, by another machine (a synced folder) or a reused pid
|
|
323
|
-
* reads as no server.
|
|
380
|
+
* reads as no server. With `client`, the probe also tells the server which
|
|
381
|
+
* program asks and which graph it knows, so the map can offer an update when
|
|
382
|
+
* an agent works with newer steps than the map draws.
|
|
324
383
|
*/
|
|
325
|
-
export async function probeServer(home) {
|
|
384
|
+
export async function probeServer(home, client) {
|
|
326
385
|
const record = await readServerRecord(home);
|
|
327
386
|
if (!record || record.host !== os.hostname() || !pidAlive(record.pid))
|
|
328
387
|
return undefined;
|
|
329
|
-
const health = await fetchHealth(record.port
|
|
388
|
+
const health = await fetchHealth(record.port, 1_500, client && record.token
|
|
389
|
+
? { [MAP_TOKEN_HEADER]: record.token, [MAP_CLIENT_HEADER]: mapClientHeader(client) }
|
|
390
|
+
: undefined);
|
|
330
391
|
if (!health || health.instance !== record.instance || health.home !== home)
|
|
331
392
|
return undefined;
|
|
332
|
-
return {
|
|
393
|
+
return {
|
|
394
|
+
...record,
|
|
395
|
+
version: health.version ?? record.version,
|
|
396
|
+
clients: health.clients,
|
|
397
|
+
graph: health.graph ?? 0,
|
|
398
|
+
...(health.available ? { available: health.available } : {}),
|
|
399
|
+
...(health.updating ? { updating: health.updating } : {}),
|
|
400
|
+
};
|
|
333
401
|
}
|
|
334
402
|
export const serverLockPath = (home) => mapPath(home, SERVER_LOCK);
|
|
335
403
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-map-store.js","sourceRoot":"","sources":["../src/build-map-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-map-store.js","sourceRoot":"","sources":["../src/build-map-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* registers the tools without `readBuildMap`, so the field is absent there.
|
|
10
10
|
* Reading never starts a server and never writes the state file.
|
|
11
11
|
*/
|
|
12
|
+
import { type MapClient } from './build-map-store.js';
|
|
12
13
|
export type BuildMapSummary = {
|
|
13
14
|
/** A map server for this project answers on this machine. */
|
|
14
15
|
running: boolean;
|
|
@@ -25,5 +26,6 @@ export type BuildMapSummary = {
|
|
|
25
26
|
/** Why the state file could not be read, when it exists but could not. */
|
|
26
27
|
problem?: string;
|
|
27
28
|
};
|
|
28
|
-
|
|
29
|
+
/** `client` tells a running map which release and graph revision this MCP server knows. */
|
|
30
|
+
export declare function readBuildMapSummary(dir: string, client?: MapClient): Promise<BuildMapSummary>;
|
|
29
31
|
//# sourceMappingURL=build-map-summary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-map-summary.d.ts","sourceRoot":"","sources":["../src/build-map-summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"build-map-summary.d.ts","sourceRoot":"","sources":["../src/build-map-summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,SAAS,EAA6C,MAAM,sBAAsB,CAAA;AAEhG,MAAM,MAAM,eAAe,GAAG;IAC7B,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAA;IAChB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAA;IAChB,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAA;IACjB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAA;IACd,6HAA6H;IAC7H,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,2FAA2F;AAC3F,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAgBnG"}
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
* Reading never starts a server and never writes the state file.
|
|
11
11
|
*/
|
|
12
12
|
import { probeServer, readMapState, resolveMapHome } from './build-map-store.js';
|
|
13
|
-
|
|
13
|
+
/** `client` tells a running map which release and graph revision this MCP server knows. */
|
|
14
|
+
export async function readBuildMapSummary(dir, client) {
|
|
14
15
|
const where = await resolveMapHome(dir);
|
|
15
|
-
const [read, server] = await Promise.all([readMapState(where.home), probeServer(where.home)]);
|
|
16
|
+
const [read, server] = await Promise.all([readMapState(where.home), probeServer(where.home, client)]);
|
|
16
17
|
const { offer } = read.state;
|
|
17
18
|
const declinedAt = Date.parse(offer.declinedAt ?? '');
|
|
18
19
|
const acceptedAt = Date.parse(offer.acceptedAt ?? '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-map-summary.js","sourceRoot":"","sources":["../src/build-map-summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"build-map-summary.js","sourceRoot":"","sources":["../src/build-map-summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAkB,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAmBhG,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,MAAkB;IACxE,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACrG,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IACrD,OAAO;QACN,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;QAC5F,kGAAkG;QAClG,QAAQ,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9E,MAAM,EAAE,KAAK,CAAC,KAAK;QACnB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAA;AACF,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The agent side of the build map on the local (stdio) server (plan
|
|
3
3
|
* 2026-11-03-extension-build-map §6.4, phase 2): get_build_map,
|
|
4
|
-
* report_build_step and request_build_review
|
|
4
|
+
* report_build_step and request_build_review, and show_build_map, which draws
|
|
5
|
+
* the map in the conversation of a client that shows MCP Apps (build-map-app.ts
|
|
6
|
+
* serves the page and the tools it calls). Same writes as the CLI's
|
|
5
7
|
* `extenshi map step|review|choose` (build-map-agent.ts, a copy of the CLI's),
|
|
6
8
|
* to the same state file, so the author's open map shows them within a second.
|
|
7
9
|
*
|
|
@@ -11,10 +13,18 @@
|
|
|
11
13
|
* refused for a step whose inputs are not done, and get_build_map says that
|
|
12
14
|
* steps proven only by files look not done.
|
|
13
15
|
*
|
|
16
|
+
* Every call tells the running map which release and graph revision this MCP
|
|
17
|
+
* server knows (probeServer with `client`). When the two differ, the answer
|
|
18
|
+
* carries `update`: one sentence on what to do — switch the map to the newer
|
|
19
|
+
* steps, or restart this server on the latest @extenshi/mcp. get_build_map
|
|
20
|
+
* also says which release the map runs (`map`), and `update` names a newer
|
|
21
|
+
* @extenshi/cli on npm that the author can press Update for.
|
|
22
|
+
*
|
|
14
23
|
* Local only: the hosted connector has no access to the author's files and
|
|
15
24
|
* registers none of these tools.
|
|
16
25
|
*/
|
|
17
26
|
import { type VariantInput } from './build-map-agent.js';
|
|
27
|
+
import { type MapClient } from './build-map-store.js';
|
|
18
28
|
export type BuildStepInput = {
|
|
19
29
|
step: string;
|
|
20
30
|
agent: string;
|
|
@@ -36,8 +46,14 @@ export type BuildReviewInput = {
|
|
|
36
46
|
};
|
|
37
47
|
export type BuildMapAgent = {
|
|
38
48
|
getMap(projectDir?: string): Promise<unknown>;
|
|
49
|
+
/** What the model gets back when the map is drawn in the chat: where it stands, and the step it opens. */
|
|
50
|
+
showMap(projectDir?: string, step?: string): Promise<unknown>;
|
|
39
51
|
reportStep(projectDir: string | undefined, input: BuildStepInput): Promise<unknown>;
|
|
40
52
|
requestReview(projectDir: string | undefined, input: BuildReviewInput): Promise<unknown>;
|
|
41
53
|
};
|
|
42
|
-
|
|
54
|
+
/**
|
|
55
|
+
* `client`: this MCP server as the map sees it (mapClient('mcp', version));
|
|
56
|
+
* without it the tools do not tell the map who asks and say nothing about versions.
|
|
57
|
+
*/
|
|
58
|
+
export declare function buildMapAgent(cwd?: string, client?: MapClient): BuildMapAgent;
|
|
43
59
|
//# sourceMappingURL=build-map-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-map-tools.d.ts","sourceRoot":"","sources":["../src/build-map-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"build-map-tools.d.ts","sourceRoot":"","sources":["../src/build-map-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAWH,OAAO,EAQN,KAAK,YAAY,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACN,KAAK,SAAS,EAKd,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAAA;AAExF,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7C,0GAA0G;IAC1G,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7D,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnF,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACxF,CAAA;AAqDD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAsB,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,aAAa,CAwJ5F"}
|
package/dist/build-map-tools.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The agent side of the build map on the local (stdio) server (plan
|
|
3
3
|
* 2026-11-03-extension-build-map §6.4, phase 2): get_build_map,
|
|
4
|
-
* report_build_step and request_build_review
|
|
4
|
+
* report_build_step and request_build_review, and show_build_map, which draws
|
|
5
|
+
* the map in the conversation of a client that shows MCP Apps (build-map-app.ts
|
|
6
|
+
* serves the page and the tools it calls). Same writes as the CLI's
|
|
5
7
|
* `extenshi map step|review|choose` (build-map-agent.ts, a copy of the CLI's),
|
|
6
8
|
* to the same state file, so the author's open map shows them within a second.
|
|
7
9
|
*
|
|
@@ -11,13 +13,20 @@
|
|
|
11
13
|
* refused for a step whose inputs are not done, and get_build_map says that
|
|
12
14
|
* steps proven only by files look not done.
|
|
13
15
|
*
|
|
16
|
+
* Every call tells the running map which release and graph revision this MCP
|
|
17
|
+
* server knows (probeServer with `client`). When the two differ, the answer
|
|
18
|
+
* carries `update`: one sentence on what to do — switch the map to the newer
|
|
19
|
+
* steps, or restart this server on the latest @extenshi/mcp. get_build_map
|
|
20
|
+
* also says which release the map runs (`map`), and `update` names a newer
|
|
21
|
+
* @extenshi/cli on npm that the author can press Update for.
|
|
22
|
+
*
|
|
14
23
|
* Local only: the hosted connector has no access to the author's files and
|
|
15
24
|
* registers none of these tools.
|
|
16
25
|
*/
|
|
17
26
|
import path from 'node:path';
|
|
18
27
|
import { BuildStepError, buildNodeById, deriveBuildMap, } from '@extenshi/contracts';
|
|
19
|
-
import { answerReview, openReview, reportStep, reviewAnswer, serverSnapshot, stepUrl, } from './build-map-agent.js';
|
|
20
|
-
import { readMapState, resolveMapHome } from './build-map-store.js';
|
|
28
|
+
import { answerReview, mapUpdateNote, openReview, reportStep, reviewAnswer, serverSnapshot, stepUrl, } from './build-map-agent.js';
|
|
29
|
+
import { mapSkew, readMapState, resolveMapHome, } from './build-map-store.js';
|
|
21
30
|
const NOT_RUNNING = 'The author’s map is not running, so steps only the project files prove look not done here, and nothing was refused for inputs that are not done. `npx @extenshi/cli map status --json` reads the files.';
|
|
22
31
|
/** A refusal reads as one sentence with its reason code; anything else passes through. */
|
|
23
32
|
function refusal(error) {
|
|
@@ -60,21 +69,36 @@ function summary(view) {
|
|
|
60
69
|
byHand: view.byHand,
|
|
61
70
|
};
|
|
62
71
|
}
|
|
63
|
-
|
|
72
|
+
/**
|
|
73
|
+
* `client`: this MCP server as the map sees it (mapClient('mcp', version));
|
|
74
|
+
* without it the tools do not tell the map who asks and say nothing about versions.
|
|
75
|
+
*/
|
|
76
|
+
export function buildMapAgent(cwd = process.cwd(), client) {
|
|
64
77
|
const place = async (projectDir) => {
|
|
65
78
|
const dir = path.resolve(cwd, projectDir ?? '.');
|
|
66
79
|
const where = await resolveMapHome(dir);
|
|
67
|
-
const running = await serverSnapshot(where.home);
|
|
80
|
+
const running = await serverSnapshot(where.home, client);
|
|
68
81
|
return { dir, home: where.home, running };
|
|
69
82
|
};
|
|
83
|
+
/** On a write: only a difference in steps between the map and this server, which explains a refusal. */
|
|
84
|
+
const skewNote = (server) => server && client && mapSkew(server, client) ? mapUpdateNote(server, client) : undefined;
|
|
70
85
|
return {
|
|
71
86
|
async getMap(projectDir) {
|
|
72
87
|
const { home, running } = await place(projectDir);
|
|
73
88
|
if (running) {
|
|
74
89
|
const snapshot = running.snapshot;
|
|
90
|
+
const { server } = running;
|
|
91
|
+
const update = client ? mapUpdateNote(server, client) : undefined;
|
|
75
92
|
return {
|
|
76
93
|
home,
|
|
77
94
|
url: running.url,
|
|
95
|
+
/** The @extenshi/cli release the author's map runs and the graph revision it draws. */
|
|
96
|
+
map: {
|
|
97
|
+
version: server.version,
|
|
98
|
+
graph: server.graph,
|
|
99
|
+
...(server.available ? { available: server.available } : {}),
|
|
100
|
+
},
|
|
101
|
+
...(update ? { update } : {}),
|
|
78
102
|
facts: true,
|
|
79
103
|
...summary(snapshot.view),
|
|
80
104
|
reviews: reviewsOf(snapshot.reviews ?? {}),
|
|
@@ -93,6 +117,29 @@ export function buildMapAgent(cwd = process.cwd()) {
|
|
|
93
117
|
...(read.problem ? { problem: read.problem } : {}),
|
|
94
118
|
};
|
|
95
119
|
},
|
|
120
|
+
async showMap(projectDir, step) {
|
|
121
|
+
const map = (await this.getMap(projectDir));
|
|
122
|
+
if (step && !buildNodeById(step))
|
|
123
|
+
throw new Error(`There is no build step "${step}". (unknown_step)`);
|
|
124
|
+
return {
|
|
125
|
+
home: map.home,
|
|
126
|
+
facts: map.facts,
|
|
127
|
+
...(map.url ? { url: step ? stepUrl(map.url, step) : map.url } : {}),
|
|
128
|
+
progress: map.progress,
|
|
129
|
+
needsYou: map.needsYou,
|
|
130
|
+
...(step
|
|
131
|
+
? {
|
|
132
|
+
step: {
|
|
133
|
+
id: step,
|
|
134
|
+
...(map.steps[step] ?? { status: 'inactive' }),
|
|
135
|
+
...(map.reviews[step] ? { review: map.reviews[step] } : {}),
|
|
136
|
+
},
|
|
137
|
+
}
|
|
138
|
+
: {}),
|
|
139
|
+
shown: 'In a client that shows MCP Apps the author sees the map in the conversation and can answer there; read their answer with get_build_map. Elsewhere, give the author the url, or the command `npx @extenshi/cli map`.',
|
|
140
|
+
...(map.note ? { note: map.note } : {}),
|
|
141
|
+
};
|
|
142
|
+
},
|
|
96
143
|
async reportStep(projectDir, input) {
|
|
97
144
|
const { dir, home, running } = await place(projectDir);
|
|
98
145
|
const view = running?.snapshot.view;
|
|
@@ -104,9 +151,11 @@ export function buildMapAgent(cwd = process.cwd()) {
|
|
|
104
151
|
...(input.redo !== undefined ? { redo: input.redo } : {}),
|
|
105
152
|
...(input.round !== undefined ? { round: input.round } : {}),
|
|
106
153
|
}, view).catch(refusal);
|
|
154
|
+
const update = skewNote(running?.server);
|
|
107
155
|
return {
|
|
108
156
|
...reviewAnswer(input.step, review),
|
|
109
157
|
...(running ? { url: stepUrl(running.url, input.step) } : {}),
|
|
158
|
+
...(update ? { update } : {}),
|
|
110
159
|
};
|
|
111
160
|
}
|
|
112
161
|
const result = await reportStep(home, dir, {
|
|
@@ -121,6 +170,7 @@ export function buildMapAgent(cwd = process.cwd()) {
|
|
|
121
170
|
...(input.urls?.length ? { urls: input.urls } : {}),
|
|
122
171
|
}, view).catch(refusal);
|
|
123
172
|
const step = buildNodeById(input.step);
|
|
173
|
+
const update = skewNote(running?.server);
|
|
124
174
|
return {
|
|
125
175
|
step: input.step,
|
|
126
176
|
tasksDone: result.record?.ti ?? 0,
|
|
@@ -128,15 +178,18 @@ export function buildMapAgent(cwd = process.cwd()) {
|
|
|
128
178
|
checked: result.checked,
|
|
129
179
|
inputsChecked: Boolean(view),
|
|
130
180
|
...(view ? {} : { note: NOT_RUNNING }),
|
|
181
|
+
...(update ? { update } : {}),
|
|
131
182
|
};
|
|
132
183
|
},
|
|
133
184
|
async requestReview(projectDir, input) {
|
|
134
185
|
const { dir, home, running } = await place(projectDir);
|
|
135
186
|
const review = await openReview(home, dir, { node: input.step, agent: input.agent, variants: input.variants }, running?.snapshot.view).catch(refusal);
|
|
187
|
+
const update = skewNote(running?.server);
|
|
136
188
|
return {
|
|
137
189
|
step: input.step,
|
|
138
190
|
round: review.round,
|
|
139
191
|
variants: review.variants,
|
|
192
|
+
...(update ? { update } : {}),
|
|
140
193
|
...(running
|
|
141
194
|
? { url: stepUrl(running.url, input.step) }
|
|
142
195
|
: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-map-tools.js","sourceRoot":"","sources":["../src/build-map-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"build-map-tools.js","sourceRoot":"","sources":["../src/build-map-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Names of the build map in a chat (MCP Apps, plan 2026-11-03-extension-build-map
|
|
3
|
+
* phase 4), apart from build-map-app.ts so that tools.ts, which the hosted
|
|
4
|
+
* connector also loads, can link show_build_map to the page without loading it.
|
|
5
|
+
*/
|
|
6
|
+
/** The page the host draws for show_build_map. */
|
|
7
|
+
export declare const BUILD_MAP_UI = "ui://extenshi/build-map";
|
|
8
|
+
/** MCP Apps HTML resources (2026-01-26). */
|
|
9
|
+
export declare const MCP_APP_MIME = "text/html;profile=mcp-app";
|
|
10
|
+
/** The extension a client advertises in `capabilities.extensions` when it shows MCP Apps. */
|
|
11
|
+
export declare const MCP_APPS_EXTENSION = "io.modelcontextprotocol/ui";
|
|
12
|
+
/** Tools only the page calls: the host keeps them from the model. */
|
|
13
|
+
export declare const BUILD_MAP_APP_TOOLS: readonly ["build_map_view", "build_map_answer", "build_map_file"];
|
|
14
|
+
/** True when the client said it shows MCP Apps HTML. */
|
|
15
|
+
export declare function clientShowsApps(capabilities: unknown): boolean;
|
|
16
|
+
//# sourceMappingURL=build-map-ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-map-ui.d.ts","sourceRoot":"","sources":["../src/build-map-ui.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kDAAkD;AAClD,eAAO,MAAM,YAAY,4BAA4B,CAAA;AAErD,4CAA4C;AAC5C,eAAO,MAAM,YAAY,8BAA8B,CAAA;AAEvD,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,+BAA+B,CAAA;AAE9D,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,mEAAoE,CAAA;AAEpG,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAI9D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Names of the build map in a chat (MCP Apps, plan 2026-11-03-extension-build-map
|
|
3
|
+
* phase 4), apart from build-map-app.ts so that tools.ts, which the hosted
|
|
4
|
+
* connector also loads, can link show_build_map to the page without loading it.
|
|
5
|
+
*/
|
|
6
|
+
/** The page the host draws for show_build_map. */
|
|
7
|
+
export const BUILD_MAP_UI = 'ui://extenshi/build-map';
|
|
8
|
+
/** MCP Apps HTML resources (2026-01-26). */
|
|
9
|
+
export const MCP_APP_MIME = 'text/html;profile=mcp-app';
|
|
10
|
+
/** The extension a client advertises in `capabilities.extensions` when it shows MCP Apps. */
|
|
11
|
+
export const MCP_APPS_EXTENSION = 'io.modelcontextprotocol/ui';
|
|
12
|
+
/** Tools only the page calls: the host keeps them from the model. */
|
|
13
|
+
export const BUILD_MAP_APP_TOOLS = ['build_map_view', 'build_map_answer', 'build_map_file'];
|
|
14
|
+
/** True when the client said it shows MCP Apps HTML. */
|
|
15
|
+
export function clientShowsApps(capabilities) {
|
|
16
|
+
const extensions = capabilities?.extensions;
|
|
17
|
+
const ui = extensions?.[MCP_APPS_EXTENSION];
|
|
18
|
+
return Array.isArray(ui?.mimeTypes) && ui.mimeTypes.includes(MCP_APP_MIME);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=build-map-ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-map-ui.js","sourceRoot":"","sources":["../src/build-map-ui.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CAAA;AAErD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,2BAA2B,CAAA;AAEvD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,4BAA4B,CAAA;AAE9D,qEAAqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAU,CAAA;AAEpG,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,YAAqB;IACpD,MAAM,UAAU,GAAI,YAA4E,EAAE,UAAU,CAAA;IAC5G,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC,kBAAkB,CAAwC,CAAA;IAClF,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAC3E,CAAC"}
|