@honua/mcp-server 0.1.8-beta.0 → 0.1.10-beta.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/dist/src/certification/admin-parity.d.ts +7 -1
- package/dist/src/certification/admin-parity.d.ts.map +1 -1
- package/dist/src/certification/admin-parity.js +11 -4
- package/dist/src/entrypoint.d.ts +20 -0
- package/dist/src/entrypoint.d.ts.map +1 -0
- package/dist/src/entrypoint.js +38 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/proxy.d.ts.map +1 -1
- package/dist/src/proxy.js +2 -2
- package/dist/src/release/zero-to-map-checkpoint.d.ts.map +1 -1
- package/dist/src/release/zero-to-map-checkpoint.js +9 -1
- package/dist/src/release/zero-to-map-cli.d.ts +11 -1
- package/dist/src/release/zero-to-map-cli.d.ts.map +1 -1
- package/dist/src/release/zero-to-map-cli.js +48 -4
- package/dist/src/release/zero-to-map.d.ts +109 -3
- package/dist/src/release/zero-to-map.d.ts.map +1 -1
- package/dist/src/release/zero-to-map.js +373 -5
- package/package.json +5 -4
- package/release/zero-to-map/README.md +19 -0
- package/release/zero-to-map/configs/claude-code.mcp.json +1 -1
- package/release/zero-to-map/configs/claude-desktop.json +1 -1
- package/release/zero-to-map/configs/cursor.json +1 -1
- package/release/zero-to-map/journey.v1.json +1249 -198
|
@@ -91,6 +91,12 @@ export declare function listAllTools(client: {
|
|
|
91
91
|
tools: Tool[];
|
|
92
92
|
nextCursor?: string;
|
|
93
93
|
}>;
|
|
94
|
-
}
|
|
94
|
+
},
|
|
95
|
+
/**
|
|
96
|
+
* Extra `tools/list` params carried on every page, e.g. the workflow-view
|
|
97
|
+
* selector (honua-server#3428). Kept out of the cursor loop's own state so a
|
|
98
|
+
* selector applies uniformly across pages rather than only to the first.
|
|
99
|
+
*/
|
|
100
|
+
params?: Readonly<Record<string, unknown>>): Promise<Tool[]>;
|
|
95
101
|
export declare function runAdminParityCertification(env?: NodeJS.ProcessEnv, outputPath?: string): Promise<AdminParityReceipt>;
|
|
96
102
|
//# sourceMappingURL=admin-parity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-parity.d.ts","sourceRoot":"","sources":["../../../src/certification/admin-parity.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"admin-parity.d.ts","sourceRoot":"","sources":["../../../src/certification/admin-parity.ts"],"names":[],"mappings":";AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI/D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AASD,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,SAAS,IAAI,EAAE,EAC9B,cAAc,EAAE,SAAS,IAAI,EAAE,EAC/B,WAAW,GAAE,sBAA4C,GACxD,kBAAkB,CAqFpB;AAgCD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYzD;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C,+EAA+E;AAC/E,eAAO,MAAM,gCAAgC,OAAQ,CAAC;AAEtD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE;IACN,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3F;AACD;;;;GAIG;AACH,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACzC,OAAO,CAAC,IAAI,EAAE,CAAC,CAiCjB;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,SAA0B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAwB7B"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { writeFile } from "node:fs/promises";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
3
|
import { ADMIN_MCP_CONTRACT_SERVER_SHA, ADMIN_MCP_COVERAGE_SHA256, ADMIN_MCP_EXCLUDED_OPERATIONS, ADMIN_MCP_EXCLUSION_ROSTER_SHA256, ADMIN_MCP_PUBLISHED_TOOL_NAMES, ADMIN_PUBLISHED_OPERATION_COUNT, MCP_DEFAULT_STATIC_TOOL_COUNT, MCP_DEFAULT_TOTAL_TOOL_COUNT, } from "@honua/sdk-js/control-plane";
|
|
5
4
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
6
5
|
import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
|
|
6
|
+
import { isMainEntrypoint } from "../entrypoint.js";
|
|
7
7
|
import { connectUpstream, createProxyServer, resolveProxyOptions } from "../proxy.js";
|
|
8
8
|
const DEFAULT_EXPECTATION = {
|
|
9
9
|
publishedToolNames: ADMIN_MCP_PUBLISHED_TOOL_NAMES,
|
|
@@ -161,7 +161,13 @@ export const MCP_TOOLS_LIST_MAX_CURSOR_LENGTH = 1_024;
|
|
|
161
161
|
* the 432-tool default roster or a profile-enabled superset belongs to the
|
|
162
162
|
* certification and preflight callers.
|
|
163
163
|
*/
|
|
164
|
-
export async function listAllTools(client
|
|
164
|
+
export async function listAllTools(client,
|
|
165
|
+
/**
|
|
166
|
+
* Extra `tools/list` params carried on every page, e.g. the workflow-view
|
|
167
|
+
* selector (honua-server#3428). Kept out of the cursor loop's own state so a
|
|
168
|
+
* selector applies uniformly across pages rather than only to the first.
|
|
169
|
+
*/
|
|
170
|
+
params) {
|
|
165
171
|
const tools = [];
|
|
166
172
|
let cursor;
|
|
167
173
|
const seenCursors = new Set();
|
|
@@ -171,7 +177,8 @@ export async function listAllTools(client) {
|
|
|
171
177
|
if (pageCount > MCP_TOOLS_LIST_MAX_PAGES) {
|
|
172
178
|
throw new Error(`MCP tools/list exceeded the ${MCP_TOOLS_LIST_MAX_PAGES}-page pagination safety ceiling after ${tools.length} tools; the server did not terminate its cursor chain. This is a pagination fault, not a roster assertion.`);
|
|
173
179
|
}
|
|
174
|
-
const
|
|
180
|
+
const request = { ...params, ...(cursor ? { cursor } : {}) };
|
|
181
|
+
const page = await client.listTools(Object.keys(request).length > 0 ? request : undefined);
|
|
175
182
|
if (tools.length + page.tools.length > MCP_TOOLS_LIST_MAX_TOOLS) {
|
|
176
183
|
throw new Error(`MCP tools/list exceeded the ${MCP_TOOLS_LIST_MAX_TOOLS}-tool pagination safety ceiling on page ${pageCount}; the server returned an implausible catalog. This is a pagination fault, not a roster assertion.`);
|
|
177
184
|
}
|
|
@@ -227,7 +234,7 @@ function stableJson(value) {
|
|
|
227
234
|
}
|
|
228
235
|
return JSON.stringify(value) ?? "undefined";
|
|
229
236
|
}
|
|
230
|
-
if (
|
|
237
|
+
if (isMainEntrypoint(import.meta.url)) {
|
|
231
238
|
runAdminParityCertification(process.env, process.argv[2]).catch((error) => {
|
|
232
239
|
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
|
|
233
240
|
process.exitCode = 1;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* True when the module identified by `moduleUrl` is the process entrypoint.
|
|
3
|
+
*
|
|
4
|
+
* The obvious spelling of this check — `process.argv[1] === fileURLToPath(import.meta.url)`
|
|
5
|
+
* — is correct only when the module file is invoked by its own path. npm installs a
|
|
6
|
+
* package's `bin` entries as symlinks under `node_modules/.bin`, so a user (or an agent)
|
|
7
|
+
* running the documented command gets `process.argv[1]` pointing at the shim, never at the
|
|
8
|
+
* module file. The strings differ, the guard does not match, and the binary exits 0 having
|
|
9
|
+
* done nothing at all (#1528).
|
|
10
|
+
*
|
|
11
|
+
* That is the worst available failure shape: no output, no diagnostic, no non-zero status —
|
|
12
|
+
* nothing for a caller to react to. It is how the honua-release#123 terminal driver recorded
|
|
13
|
+
* the pinned `honua-mcp-proxy` stage as blocked.
|
|
14
|
+
*
|
|
15
|
+
* Resolving both sides through `realpath` makes the shim and the module compare equal. The
|
|
16
|
+
* guard is kept rather than dropped because these modules are also imported by tests, which
|
|
17
|
+
* must not start a server as a side effect of importing.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isMainEntrypoint(moduleUrl: string): boolean;
|
|
20
|
+
//# sourceMappingURL=entrypoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/entrypoint.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAkB3D"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { realpathSync } from "node:fs";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
/**
|
|
4
|
+
* True when the module identified by `moduleUrl` is the process entrypoint.
|
|
5
|
+
*
|
|
6
|
+
* The obvious spelling of this check — `process.argv[1] === fileURLToPath(import.meta.url)`
|
|
7
|
+
* — is correct only when the module file is invoked by its own path. npm installs a
|
|
8
|
+
* package's `bin` entries as symlinks under `node_modules/.bin`, so a user (or an agent)
|
|
9
|
+
* running the documented command gets `process.argv[1]` pointing at the shim, never at the
|
|
10
|
+
* module file. The strings differ, the guard does not match, and the binary exits 0 having
|
|
11
|
+
* done nothing at all (#1528).
|
|
12
|
+
*
|
|
13
|
+
* That is the worst available failure shape: no output, no diagnostic, no non-zero status —
|
|
14
|
+
* nothing for a caller to react to. It is how the honua-release#123 terminal driver recorded
|
|
15
|
+
* the pinned `honua-mcp-proxy` stage as blocked.
|
|
16
|
+
*
|
|
17
|
+
* Resolving both sides through `realpath` makes the shim and the module compare equal. The
|
|
18
|
+
* guard is kept rather than dropped because these modules are also imported by tests, which
|
|
19
|
+
* must not start a server as a side effect of importing.
|
|
20
|
+
*/
|
|
21
|
+
export function isMainEntrypoint(moduleUrl) {
|
|
22
|
+
const invoked = process.argv[1];
|
|
23
|
+
if (!invoked) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const modulePath = fileURLToPath(moduleUrl);
|
|
27
|
+
if (invoked === modulePath) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
// realpathSync throws for a path that does not exist, which is not an error here:
|
|
31
|
+
// it just means this module is not what was invoked.
|
|
32
|
+
try {
|
|
33
|
+
return realpathSync(invoked) === realpathSync(modulePath);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
}
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAItF,OAAO,EAAE,KAAK,mBAAmB,EAAgC,MAAM,qBAAqB,CAAC;AAM7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAanF,OAAO,EACL,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,2BAA2B,EAC3B,6BAA6B,EAC7B,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACnF,YAAY,EACV,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CAC5D;AAMD,eAAO,MAAM,cAAc,QAAyB,CAAC;AA2DrD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,cAAc,CAgD5E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CASrF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,mBAAwB,aAoHlF;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,IAAI,SAAS,CAIjD;AAgBD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvF"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
3
|
import { HonuaClient } from "@honua/sdk-js";
|
|
5
4
|
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
5
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
6
|
+
import { isMainEntrypoint } from "./entrypoint.js";
|
|
7
7
|
import { registerNlMapControlMcpTools } from "./nl-map-control.js";
|
|
8
8
|
import * as layerSchemaResource from "./resources/layer-schema.js";
|
|
9
9
|
import * as servicesResource from "./resources/services.js";
|
|
@@ -224,7 +224,7 @@ export async function runStandalone(env = process.env) {
|
|
|
224
224
|
async function main() {
|
|
225
225
|
await runStandalone();
|
|
226
226
|
}
|
|
227
|
-
if (
|
|
227
|
+
if (isMainEntrypoint(import.meta.url)) {
|
|
228
228
|
main().catch((err) => {
|
|
229
229
|
process.stderr.write(`Fatal: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
230
230
|
process.exit(1);
|
package/dist/src/proxy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAmBnE;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,YAAY;IAC3B,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAsBD,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,CAqBtF;AAED,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUlF;AAED,oFAAoF;AACpF,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAS5E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+C1D;AAOD;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlF"}
|
package/dist/src/proxy.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { fileURLToPath } from "node:url";
|
|
3
2
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
4
3
|
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
|
|
5
4
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
6
5
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
7
6
|
import { CallToolRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourceTemplatesRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, PromptListChangedNotificationSchema, ReadResourceRequestSchema, ResourceListChangedNotificationSchema, ToolListChangedNotificationSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
8
7
|
import { requireSecureCredentialEndpoint } from "./credential-endpoint.js";
|
|
8
|
+
import { isMainEntrypoint } from "./entrypoint.js";
|
|
9
9
|
import { SERVER_VERSION } from "./index.js";
|
|
10
10
|
function isConfigured(value) {
|
|
11
11
|
return value !== undefined && value.length > 0;
|
|
@@ -130,7 +130,7 @@ export async function runProxy(env = process.env) {
|
|
|
130
130
|
const transport = new StdioServerTransport();
|
|
131
131
|
await server.connect(transport);
|
|
132
132
|
}
|
|
133
|
-
if (
|
|
133
|
+
if (isMainEntrypoint(import.meta.url)) {
|
|
134
134
|
runProxy().catch((err) => {
|
|
135
135
|
process.stderr.write(`Fatal: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
136
136
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-to-map-checkpoint.d.ts","sourceRoot":"","sources":["../../../src/release/zero-to-map-checkpoint.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAE1B,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"zero-to-map-checkpoint.d.ts","sourceRoot":"","sources":["../../../src/release/zero-to-map-checkpoint.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAE1B,KAAK,kBAAkB,EAOxB,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,6BAA6B,EAAG,iCAA0C,CAAC;AACxF,eAAO,MAAM,iCAAiC,QAAuB,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAoB,SAAQ,2BAA2B;IACtE,QAAQ,CAAC,aAAa,EAAE,OAAO,6BAA6B,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAID,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,SAA2B,GACnC,mBAAmB,CAqBrB;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,mBAAmB,EAC/B,kBAAkB,EAAE,MAAM,EAC1B,UAAU,SAA2B,GACpC,mBAAmB,CAIrB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAkF5E;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG,OAAa,GAAG,IAAI,CAKtG;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAI7G;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,2BAA2B,GACpC,IAAI,CAIN"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import { ZERO_TO_MAP_CATALOG_RECEIPT_SCHEMA, ZERO_TO_MAP_CONSOLE_RECEIPT_REQUEST_SCHEMA, } from "./zero-to-map.js";
|
|
2
|
+
import { ZERO_TO_MAP_CATALOG_RECEIPT_SCHEMA, ZERO_TO_MAP_CONSOLE_RECEIPT_REQUEST_SCHEMA, ZERO_TO_MAP_FULL_CATALOG_VIEW, } from "./zero-to-map.js";
|
|
3
3
|
export const ZERO_TO_MAP_CHECKPOINT_SCHEMA = "honua.zero-to-map.checkpoint/v1";
|
|
4
4
|
export const ZERO_TO_MAP_CHECKPOINT_MAX_AGE_MS = 24 * 60 * 60 * 1_000;
|
|
5
5
|
export function createZeroToMapCheckpoint(bindings, snapshot, createdAt = new Date().toISOString()) {
|
|
@@ -199,6 +199,7 @@ function parseCatalogReceipt(value) {
|
|
|
199
199
|
exactKeys(catalog, [
|
|
200
200
|
"schemaVersion",
|
|
201
201
|
"activeProfiles",
|
|
202
|
+
"requestedView",
|
|
202
203
|
"expectedTotalTools",
|
|
203
204
|
"advertisedTotalTools",
|
|
204
205
|
"baseStaticTools",
|
|
@@ -215,9 +216,16 @@ function parseCatalogReceipt(value) {
|
|
|
215
216
|
}
|
|
216
217
|
if (!Array.isArray(catalog.profiles))
|
|
217
218
|
throw new Error(`${path}.profiles must be an array`);
|
|
219
|
+
// The roster carried across the Console pause must have been read from the
|
|
220
|
+
// complete catalog. A checkpoint claiming a narrowed workflow view would be
|
|
221
|
+
// re-emitted onto the final receipt as if it were full-catalog evidence.
|
|
222
|
+
if (catalog.requestedView !== ZERO_TO_MAP_FULL_CATALOG_VIEW) {
|
|
223
|
+
throw new Error(`${path}.requestedView must be ${ZERO_TO_MAP_FULL_CATALOG_VIEW}`);
|
|
224
|
+
}
|
|
218
225
|
return {
|
|
219
226
|
schemaVersion: ZERO_TO_MAP_CATALOG_RECEIPT_SCHEMA,
|
|
220
227
|
activeProfiles: stringList(catalog.activeProfiles, `${path}.activeProfiles`),
|
|
228
|
+
requestedView: ZERO_TO_MAP_FULL_CATALOG_VIEW,
|
|
221
229
|
expectedTotalTools: count(catalog.expectedTotalTools, `${path}.expectedTotalTools`),
|
|
222
230
|
advertisedTotalTools: count(catalog.advertisedTotalTools, `${path}.advertisedTotalTools`),
|
|
223
231
|
baseStaticTools: count(catalog.baseStaticTools, `${path}.baseStaticTools`),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { type AwsEcsProvisionBinding } from "./zero-to-map-provision.js";
|
|
3
|
-
import { type JourneyExecutionResult, type JourneyMcpResourceAction } from "./zero-to-map.js";
|
|
3
|
+
import { type JourneyExecutionResult, type JourneyMcpImageAction, type JourneyMcpResourceAction, type RenderedImageExpectation } from "./zero-to-map.js";
|
|
4
4
|
type JourneyTarget = "local-docker" | "aws-ecs";
|
|
5
5
|
export interface CliOptions {
|
|
6
6
|
readonly execute: boolean;
|
|
@@ -39,6 +39,16 @@ export declare function parseInstallAccessCredential(stdout: string): {
|
|
|
39
39
|
};
|
|
40
40
|
/** Poll one MCP job resource to its declared successful terminal state. */
|
|
41
41
|
export declare function readJourneyMcpResource(action: JourneyMcpResourceAction, read: (uri: string) => Promise<unknown>): Promise<JourneyExecutionResult>;
|
|
42
|
+
/**
|
|
43
|
+
* Fetch a rendered image artifact by reference and prove it is real pixels.
|
|
44
|
+
*
|
|
45
|
+
* `resources/read` returns binary contents as a base64 `blob`, so the bytes are
|
|
46
|
+
* decoded here and handed to the shared PNG validator rather than being trusted
|
|
47
|
+
* from the tool's own self-reported `byteLength`. The renderer reporting
|
|
48
|
+
* 512x512 and the artifact actually being 512x512 are two different claims, and
|
|
49
|
+
* only the second one survives a style/render no-op.
|
|
50
|
+
*/
|
|
51
|
+
export declare function readJourneyRenderedImage(action: JourneyMcpImageAction, expected: RenderedImageExpectation, read: (uri: string) => Promise<unknown>): Promise<JourneyExecutionResult>;
|
|
42
52
|
export declare function requireCompletedPublishedOperation(tool: string, value: unknown): {
|
|
43
53
|
operationId: string;
|
|
44
54
|
status: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-to-map-cli.d.ts","sourceRoot":"","sources":["../../../src/release/zero-to-map-cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"zero-to-map-cli.d.ts","sourceRoot":"","sources":["../../../src/release/zero-to-map-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,11 @@ import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js"
|
|
|
11
11
|
import { listAllTools } from "../certification/admin-parity.js";
|
|
12
12
|
import { validateAgainstSchema } from "../certification/json-schema.js";
|
|
13
13
|
import { requireSecureCredentialEndpoint } from "../credential-endpoint.js";
|
|
14
|
+
import { isMainEntrypoint } from "../entrypoint.js";
|
|
14
15
|
import { resolveProxyOptions } from "../proxy.js";
|
|
15
16
|
import { assertZeroToMapCheckpointBindings, assertZeroToMapCheckpointDigest, assertZeroToMapCheckpointFresh, consumeZeroToMapCheckpoint, createZeroToMapCheckpoint, parseZeroToMapCheckpoint, } from "./zero-to-map-checkpoint.js";
|
|
16
17
|
import { ZERO_TO_MAP_ACCESS_GRANTS, assertAwsEcsProvisionBindings, parseAwsEcsProvisionBinding, } from "./zero-to-map-provision.js";
|
|
17
|
-
import { JourneyBlockedError, parseZeroToMapPlan, runZeroToMapJourney, } from "./zero-to-map.js";
|
|
18
|
+
import { JourneyBlockedError, assertRenderedPng, parseZeroToMapPlan, runZeroToMapJourney, } from "./zero-to-map.js";
|
|
18
19
|
class ContractAdapter {
|
|
19
20
|
runCli() {
|
|
20
21
|
return Promise.reject(new Error("contract adapter must not execute CLI work"));
|
|
@@ -28,6 +29,9 @@ class ContractAdapter {
|
|
|
28
29
|
readResource() {
|
|
29
30
|
return Promise.reject(new Error("contract adapter must not read MCP resources"));
|
|
30
31
|
}
|
|
32
|
+
readImageResource() {
|
|
33
|
+
return Promise.reject(new Error("contract adapter must not fetch rendered image artifacts"));
|
|
34
|
+
}
|
|
31
35
|
runGpServer() {
|
|
32
36
|
return Promise.reject(new Error("contract adapter must not execute GPServer jobs"));
|
|
33
37
|
}
|
|
@@ -105,9 +109,9 @@ class LiveAdapter {
|
|
|
105
109
|
}
|
|
106
110
|
throw new Error("AWS ECS target encountered an unknown Stage 1 install action");
|
|
107
111
|
}
|
|
108
|
-
async listTools() {
|
|
112
|
+
async listTools(options) {
|
|
109
113
|
const client = await this.client();
|
|
110
|
-
const tools = await listAllTools(client);
|
|
114
|
+
const tools = await listAllTools(client, options?.view ? { view: options.view } : undefined);
|
|
111
115
|
return tools.map((tool) => ({ name: tool.name, inputSchema: tool.inputSchema }));
|
|
112
116
|
}
|
|
113
117
|
async callTool(tool, args) {
|
|
@@ -136,6 +140,10 @@ class LiveAdapter {
|
|
|
136
140
|
const client = await this.client();
|
|
137
141
|
return readJourneyMcpResource(action, (uri) => client.readResource({ uri }));
|
|
138
142
|
}
|
|
143
|
+
async readImageResource(action, expected) {
|
|
144
|
+
const client = await this.client();
|
|
145
|
+
return readJourneyRenderedImage(action, expected, (uri) => client.readResource({ uri }));
|
|
146
|
+
}
|
|
139
147
|
async runGpServer(action) {
|
|
140
148
|
const mcpUrl = this.options.mcpUrl;
|
|
141
149
|
if (!mcpUrl) {
|
|
@@ -756,6 +764,42 @@ export async function readJourneyMcpResource(action, read) {
|
|
|
756
764
|
await new Promise((resolve) => setTimeout(resolve, wait.pollIntervalMs));
|
|
757
765
|
}
|
|
758
766
|
}
|
|
767
|
+
/**
|
|
768
|
+
* Fetch a rendered image artifact by reference and prove it is real pixels.
|
|
769
|
+
*
|
|
770
|
+
* `resources/read` returns binary contents as a base64 `blob`, so the bytes are
|
|
771
|
+
* decoded here and handed to the shared PNG validator rather than being trusted
|
|
772
|
+
* from the tool's own self-reported `byteLength`. The renderer reporting
|
|
773
|
+
* 512x512 and the artifact actually being 512x512 are two different claims, and
|
|
774
|
+
* only the second one survives a style/render no-op.
|
|
775
|
+
*/
|
|
776
|
+
export async function readJourneyRenderedImage(action, expected, read) {
|
|
777
|
+
const result = await read(action.uri);
|
|
778
|
+
const { bytes, mimeType } = readBlobResource(result, action.uri);
|
|
779
|
+
const evidence = assertRenderedPng(bytes, mimeType, expected);
|
|
780
|
+
return { value: result, evidence: { ...evidence } };
|
|
781
|
+
}
|
|
782
|
+
function readBlobResource(value, uri) {
|
|
783
|
+
if (!value || typeof value !== "object")
|
|
784
|
+
throw new Error(`${uri} returned an invalid resources/read response`);
|
|
785
|
+
const contents = value.contents;
|
|
786
|
+
if (!Array.isArray(contents))
|
|
787
|
+
throw new Error(`${uri} returned no resource contents`);
|
|
788
|
+
const content = contents.find((candidate) => Boolean(candidate) && typeof candidate === "object" && typeof candidate.blob === "string");
|
|
789
|
+
if (!content) {
|
|
790
|
+
throw new Error(`${uri} returned no binary blob content. A rendered map artifact must come back as base64 resource bytes, not as a text description of one.`);
|
|
791
|
+
}
|
|
792
|
+
let bytes;
|
|
793
|
+
try {
|
|
794
|
+
bytes = new Uint8Array(Buffer.from(content.blob, "base64"));
|
|
795
|
+
}
|
|
796
|
+
catch {
|
|
797
|
+
throw new Error(`${uri} returned a blob that is not valid base64`);
|
|
798
|
+
}
|
|
799
|
+
if (bytes.length === 0)
|
|
800
|
+
throw new Error(`${uri} returned an empty blob`);
|
|
801
|
+
return { bytes, ...(typeof content.mimeType === "string" ? { mimeType: content.mimeType } : {}) };
|
|
802
|
+
}
|
|
759
803
|
function readJsonResource(value, uri) {
|
|
760
804
|
if (!value || typeof value !== "object")
|
|
761
805
|
throw new Error(`${uri} returned an invalid resources/read response`);
|
|
@@ -866,7 +910,7 @@ function printHelp() {
|
|
|
866
910
|
}
|
|
867
911
|
class HelpRequested extends Error {
|
|
868
912
|
}
|
|
869
|
-
if (
|
|
913
|
+
if (isMainEntrypoint(import.meta.url)) {
|
|
870
914
|
runZeroToMapCli().then((code) => {
|
|
871
915
|
process.exitCode = code;
|
|
872
916
|
}, (error) => {
|
|
@@ -3,6 +3,13 @@ export declare const ZERO_TO_MAP_RECEIPT_SCHEMA: "honua.zero-to-map.receipt/v1";
|
|
|
3
3
|
export declare const ZERO_TO_MAP_CONSOLE_RECEIPT_SCHEMA: "honua.zero-to-map.console-receipt/v1";
|
|
4
4
|
export declare const ZERO_TO_MAP_CONSOLE_RECEIPT_REQUEST_SCHEMA: "honua.zero-to-map.console-receipt-request/v1";
|
|
5
5
|
export declare const ZERO_TO_MAP_CATALOG_RECEIPT_SCHEMA: "honua.zero-to-map.catalog/v1";
|
|
6
|
+
/**
|
|
7
|
+
* Stages in the release journey: install, admin, style, geoprocessing, studio,
|
|
8
|
+
* proposal, console, artifact. `style` proves a canonical style applied to a
|
|
9
|
+
* *published* layer reaches rendered pixels - the Studio-draft styling in the
|
|
10
|
+
* `studio` stage never leaves a draft and so never proved that.
|
|
11
|
+
*/
|
|
12
|
+
export declare const ZERO_TO_MAP_STAGE_COUNT = 8;
|
|
6
13
|
/**
|
|
7
14
|
* A server MCP profile whose members are additive to the default 432-tool base
|
|
8
15
|
* roster (47 static plus 385 `honua_admin_*` tools).
|
|
@@ -43,6 +50,25 @@ export declare const ZERO_TO_MAP_BASE_PROFILE_ID = "base";
|
|
|
43
50
|
* by `release/zero-to-map/contracts/esri-gp-mcp.v1.json`.
|
|
44
51
|
*/
|
|
45
52
|
export declare const ZERO_TO_MAP_ADDITIVE_PROFILES: readonly ZeroToMapProfileRoster[];
|
|
53
|
+
/**
|
|
54
|
+
* The reserved `tools/list` view name that opts a request back out of any
|
|
55
|
+
* server-configured or session-negotiated workflow view and returns the
|
|
56
|
+
* complete paginated catalog (honua-server#3428).
|
|
57
|
+
*
|
|
58
|
+
* The candidate server may publish a bounded workflow view - today `setup` - and
|
|
59
|
+
* may make one the profile default through the configuration key named by
|
|
60
|
+
* {@link ZERO_TO_MAP_WORKFLOW_VIEW_CONFIG_KEY}. Selecting a view can only
|
|
61
|
+
* *narrow* discovery, so a host that configures a default view would serve the
|
|
62
|
+
* roster preflight a short catalog and the preflight would blame a missing
|
|
63
|
+
* server profile for what is actually a discovery setting. The preflight
|
|
64
|
+
* therefore always selects this escape hatch explicitly rather than relying on
|
|
65
|
+
* the candidate having no default configured.
|
|
66
|
+
*/
|
|
67
|
+
export declare const ZERO_TO_MAP_FULL_CATALOG_VIEW = "full";
|
|
68
|
+
/** Configuration key whose value would narrow the candidate's default `tools/list`. */
|
|
69
|
+
export declare const ZERO_TO_MAP_WORKFLOW_VIEW_CONFIG_KEY = "Mcp:WorkflowViews:DefaultView";
|
|
70
|
+
/** Environment-variable spelling of {@link ZERO_TO_MAP_WORKFLOW_VIEW_CONFIG_KEY}. */
|
|
71
|
+
export declare const ZERO_TO_MAP_WORKFLOW_VIEW_ENV_KEY = "Mcp__WorkflowViews__DefaultView";
|
|
46
72
|
/** Profiles the candidate must advertise before the journey is executable. */
|
|
47
73
|
export declare const ZERO_TO_MAP_REQUIRED_PROFILES: readonly string[];
|
|
48
74
|
/** Tools the base roster contributes: 47 static + 385 published Admin projections. */
|
|
@@ -67,6 +93,13 @@ export interface ZeroToMapProfileReceipt {
|
|
|
67
93
|
export interface ZeroToMapCatalogReceipt {
|
|
68
94
|
readonly schemaVersion: typeof ZERO_TO_MAP_CATALOG_RECEIPT_SCHEMA;
|
|
69
95
|
readonly activeProfiles: readonly string[];
|
|
96
|
+
/**
|
|
97
|
+
* The `tools/list` view the preflight selected. Always the reserved
|
|
98
|
+
* full-catalog escape hatch, recorded so the receipt states that the roster
|
|
99
|
+
* was judged against the complete catalog rather than a narrowed workflow
|
|
100
|
+
* view the candidate happened to have configured.
|
|
101
|
+
*/
|
|
102
|
+
readonly requestedView: typeof ZERO_TO_MAP_FULL_CATALOG_VIEW;
|
|
70
103
|
/** Derived: base roster plus every enabled additive profile roster. */
|
|
71
104
|
readonly expectedTotalTools: number;
|
|
72
105
|
readonly advertisedTotalTools: number;
|
|
@@ -87,7 +120,7 @@ export interface ZeroToMapCatalogReceipt {
|
|
|
87
120
|
/** Generated exclusion-roster digest the base roster was audited against. */
|
|
88
121
|
readonly exclusionRosterSha256: string;
|
|
89
122
|
}
|
|
90
|
-
export type JourneyActionKind = "cli" | "mcp" | "mcp-resource" | "gpserver" | "receipt" | "http";
|
|
123
|
+
export type JourneyActionKind = "cli" | "mcp" | "mcp-resource" | "mcp-image" | "gpserver" | "receipt" | "http";
|
|
91
124
|
export type JourneyActionStatus = "passed" | "blocked" | "failed" | "skipped";
|
|
92
125
|
export type JourneyStatus = "passed" | "blocked" | "failed";
|
|
93
126
|
export type JourneyTarget = "local-docker" | "aws-ecs";
|
|
@@ -138,6 +171,69 @@ export interface JourneyMcpResourceAction extends JourneyActionBase {
|
|
|
138
171
|
* runner. Parameters stay schema-driven: the Buffer alias keeps Honua's
|
|
139
172
|
* advertised geometry.buffer parameter contract.
|
|
140
173
|
*/
|
|
174
|
+
/**
|
|
175
|
+
* Read a rendered image artifact the server returned by reference and prove it
|
|
176
|
+
* is real pixels rather than an empty or non-image placeholder.
|
|
177
|
+
*
|
|
178
|
+
* `honua_render_map` returns the PNG as a fetchable `resource_link` by default
|
|
179
|
+
* (`image.uri`), inlining base64 only under an explicit `maxInlineBytes`
|
|
180
|
+
* ceiling. Reading that reference and validating the bytes is the difference
|
|
181
|
+
* between "the tool returned 200" and "a styled map was actually drawn", which
|
|
182
|
+
* is the whole point of the published-style render proof.
|
|
183
|
+
*/
|
|
184
|
+
export interface JourneyMcpImageAction extends JourneyActionBase {
|
|
185
|
+
readonly kind: "mcp-image";
|
|
186
|
+
readonly uri: string;
|
|
187
|
+
/** Media type the resource contents must declare, e.g. `image/png`. */
|
|
188
|
+
readonly expectedMediaType: string;
|
|
189
|
+
/** Template resolving to the pixel width the renderer reported. */
|
|
190
|
+
readonly expectedWidth: string | number;
|
|
191
|
+
/** Template resolving to the pixel height the renderer reported. */
|
|
192
|
+
readonly expectedHeight: string | number;
|
|
193
|
+
/**
|
|
194
|
+
* Smallest byte length that can still be a drawn map. A PNG header plus an
|
|
195
|
+
* empty IDAT is a few dozen bytes, so a floor here refuses the degenerate
|
|
196
|
+
* "valid PNG, nothing rendered" result a style/render no-op would produce.
|
|
197
|
+
*/
|
|
198
|
+
readonly minByteLength: number;
|
|
199
|
+
}
|
|
200
|
+
/** Resolved expectations a fetched render artifact is judged against. */
|
|
201
|
+
export interface RenderedImageExpectation {
|
|
202
|
+
readonly uri: string;
|
|
203
|
+
readonly mediaType: string;
|
|
204
|
+
readonly width: number;
|
|
205
|
+
readonly height: number;
|
|
206
|
+
readonly minByteLength: number;
|
|
207
|
+
}
|
|
208
|
+
/** Proven properties of a fetched render artifact, retained as receipt evidence. */
|
|
209
|
+
export interface RenderedImageEvidence {
|
|
210
|
+
readonly uri: string;
|
|
211
|
+
readonly mediaType: string;
|
|
212
|
+
readonly width: number;
|
|
213
|
+
readonly height: number;
|
|
214
|
+
readonly byteLength: number;
|
|
215
|
+
readonly imageSha256: string;
|
|
216
|
+
/** Number of decoded pixels with nonzero alpha, across every Adam7 pass. */
|
|
217
|
+
readonly visiblePixelCount: number;
|
|
218
|
+
/** SHA-256 of row-major RGBA unsigned 16-bit big-endian decoded samples. */
|
|
219
|
+
readonly decodedPixelSha256: string;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Validate that fetched bytes are a PNG of the declared size that actually
|
|
223
|
+
* decodes to a drawn map.
|
|
224
|
+
*
|
|
225
|
+
* A style/render no-op is not a transport failure: the tool answers, the
|
|
226
|
+
* resource resolves, and the bytes may even be a syntactically plausible PNG.
|
|
227
|
+
* Structural checks alone are not enough to tell those apart - a blob whose
|
|
228
|
+
* chunks are merely *labelled* IDAT passes any counter that only sums chunk
|
|
229
|
+
* lengths, and a correctly-sized PNG of uniform background is a valid image
|
|
230
|
+
* that proves nothing about the style under test. So this decodes: every chunk
|
|
231
|
+
* CRC is verified, the stream must terminate in IEND, the concatenated IDAT
|
|
232
|
+
* payload must inflate, the inflated raster must be exactly the size the IHDR
|
|
233
|
+
* geometry implies, and the unfiltered pixels must not be a single flat colour.
|
|
234
|
+
* Each failure names the artifact and the property that was not met.
|
|
235
|
+
*/
|
|
236
|
+
export declare function assertRenderedPng(bytes: Uint8Array, mediaType: string | undefined, expected: RenderedImageExpectation): RenderedImageEvidence;
|
|
141
237
|
export interface JourneyGpServerAction extends JourneyActionBase {
|
|
142
238
|
readonly kind: "gpserver";
|
|
143
239
|
readonly serviceId: string;
|
|
@@ -161,7 +257,7 @@ export interface JourneyHttpAction extends JourneyActionBase {
|
|
|
161
257
|
readonly url: string;
|
|
162
258
|
readonly expectedStatus: number;
|
|
163
259
|
}
|
|
164
|
-
export type JourneyAction = JourneyCliAction | JourneyMcpAction | JourneyMcpResourceAction | JourneyGpServerAction | JourneyReceiptAction | JourneyHttpAction;
|
|
260
|
+
export type JourneyAction = JourneyCliAction | JourneyMcpAction | JourneyMcpResourceAction | JourneyMcpImageAction | JourneyGpServerAction | JourneyReceiptAction | JourneyHttpAction;
|
|
165
261
|
export interface JourneyStage {
|
|
166
262
|
readonly number: number;
|
|
167
263
|
readonly id: string;
|
|
@@ -187,11 +283,21 @@ export interface JourneyMcpToolDescriptor {
|
|
|
187
283
|
readonly name: string;
|
|
188
284
|
readonly inputSchema: Readonly<Record<string, unknown>>;
|
|
189
285
|
}
|
|
286
|
+
/** How the roster preflight asks the candidate for its catalog. */
|
|
287
|
+
export interface JourneyCatalogListOptions {
|
|
288
|
+
/**
|
|
289
|
+
* Workflow view to select on `tools/list`. The preflight always passes
|
|
290
|
+
* {@link ZERO_TO_MAP_FULL_CATALOG_VIEW} so a candidate configured with a
|
|
291
|
+
* default workflow view cannot narrow the roster the preflight judges.
|
|
292
|
+
*/
|
|
293
|
+
readonly view?: string;
|
|
294
|
+
}
|
|
190
295
|
export interface JourneyAdapter {
|
|
191
296
|
runCli(args: readonly string[]): Promise<JourneyExecutionResult>;
|
|
192
|
-
listTools(): Promise<readonly JourneyMcpToolDescriptor[]>;
|
|
297
|
+
listTools(options?: JourneyCatalogListOptions): Promise<readonly JourneyMcpToolDescriptor[]>;
|
|
193
298
|
callTool(tool: string, args: Readonly<Record<string, unknown>>): Promise<JourneyExecutionResult>;
|
|
194
299
|
readResource(action: JourneyMcpResourceAction): Promise<JourneyExecutionResult>;
|
|
300
|
+
readImageResource(action: JourneyMcpImageAction, expected: RenderedImageExpectation): Promise<JourneyExecutionResult>;
|
|
195
301
|
runGpServer(action: JourneyGpServerAction): Promise<JourneyExecutionResult>;
|
|
196
302
|
readReceipt(actionId: string): Promise<JourneyExecutionResult | undefined>;
|
|
197
303
|
checkHttp(url: string, expectedStatus: number): Promise<JourneyExecutionResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-to-map.d.ts","sourceRoot":"","sources":["../../../src/release/zero-to-map.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zero-to-map.d.ts","sourceRoot":"","sources":["../../../src/release/zero-to-map.ts"],"names":[],"mappings":"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"}
|