eve-online-mcp 1.0.0 → 2.0.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 CHANGED
@@ -21,7 +21,7 @@ The server is generated at runtime from a pinned copy of CCP's OpenAPI 3.1 docum
21
21
  - `get_skill_dependencies` returns a public prerequisite graph with skill-level nodes and prerequisite-to-dependent edges, without login.
22
22
  - `generate_skill_plan` computes a personalized, dependency-checked plan from cached requirements and scoped character skills/queue, removes completed levels, and returns training text and estimated remaining SP.
23
23
  - `plan_eve_route` computes a complete directed permanent-stargate route or pickup loop, using shortest paths and exact stop optimization. Submit all stops and constraints together; the MCP owns ordering and totals. It returns a private expiring `routeId`.
24
- - `render_eve_map` renders that `routeId` unchanged, with server-rendered itinerary pages for dense maps. Context maps use an explicit boundary and points of interest. Raw route arrays are rejected. Request `preview:"png"` for inline images; SVG originals are MCP resources. The assistant must never compute, merge or draw substitute routes or skill plans. See [cartography](docs/cartography.md).
24
+ - `render_eve_map` renders that `routeId` unchanged, with a larger padded canvas for crowded maps and plain route text if rendering fails. Context maps use an explicit boundary and points of interest. Raw route arrays are rejected. Request `preview:"png"` for inline images; SVG originals are MCP resources. The assistant must never compute, merge or draw substitute routes or skill plans. See [cartography](docs/cartography.md).
25
25
  - `eve-esi://catalog` describes pinned API coverage, excluded operation count, and guidance for the generic and focused workflows.
26
26
  - `plan_eve_adventure` is a prompt for evidence-based recommendations with costs, preparation, risk, travel, and a concrete first action. Its optional activity playbooks cover exploration, factional warfare, mining, industry, trading, hauling, agent missions, PvE, and PvP.
27
27
  - `plan_eve_skills` interprets activity/class goals, resolves material choices, and calls the deterministic planning tools. It explains practical support, optional upgrades and eligibility limits.
@@ -276,8 +276,9 @@ loop. The default `stopOrder:"optimize"` computes the exact minimum-jump order;
276
276
  visits, uses public cached permanent-stargate data, and fails explicitly if a
277
277
  complete route cannot be produced. It makes no live safety or cargo guarantee.
278
278
 
279
- Pass its returned `routeId` to `render_eve_map` with `preview:"png"`. Dense maps
280
- return server-rendered itinerary pages; follow `nextPage` with the same ID.
279
+ Pass its returned `routeId` to `render_eve_map` with `preview:"png"`. Crowded maps
280
+ retry on a larger padded canvas. If rendering fails, the complete stored route
281
+ remains available as text.
281
282
  Never concatenate pairwise ESI routes, merge plans, generate solving/drawing
282
283
  scripts, or trim route steps. Missing or failed tools mean the limitation must
283
284
  be reported. The MCP is the sole planning authority.
@@ -1 +1 @@
1
- {"server":"a118d71eaa0344bba794a2b41986faac6139e3e5","library":"0b30d9bea67a5ed58604d02243b584b568a7d526","openapi":"1f0f164aedd1f1d4c6c4089e1c659c3ba40432b584521242a25a3ed1f382ba5b"}
1
+ {"server":"fd10fbff5d721050d36598bda8b9e1026dfe9cad","library":"25a38c5b1f1477b3a8e76f228d07ab3bb7e5eb0c","openapi":"1f0f164aedd1f1d4c6c4089e1c659c3ba40432b584521242a25a3ed1f382ba5b"}
@@ -73,13 +73,8 @@ export declare const mapResultSchema: z.ZodUnion<readonly [z.ZodObject<{
73
73
  }, z.core.$strip>>;
74
74
  route: z.ZodOptional<z.ZodObject<{
75
75
  routeId: z.ZodString;
76
- page: z.ZodNumber;
77
- pageCount: z.ZodNumber;
78
76
  totalJumps: z.ZodNumber;
79
- visitStart: z.ZodNumber;
80
- visitEnd: z.ZodNumber;
81
77
  visitCount: z.ZodNumber;
82
- nextPage: z.ZodOptional<z.ZodNumber>;
83
78
  }, z.core.$strip>>;
84
79
  }, z.core.$strip>, z.ZodObject<{
85
80
  status: z.ZodEnum<{
@@ -90,6 +85,6 @@ export declare const mapResultSchema: z.ZodUnion<readonly [z.ZodObject<{
90
85
  message: z.ZodString;
91
86
  details: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
92
87
  }, z.core.$strip>]>;
93
- export declare const MAP_INSTRUCTIONS = "For any route, travel path or pickup loop, call plan_eve_route with origin, destination and every required stop together. Exact names are resolved by the planner; no ESI discovery, pairwise route calls or per-system lookups are needed. Use the origin again as destination for a return loop. stopOrder=optimize finds the exact minimum-jump stop order within the stated limits; as_given preserves the supplied order. Exclusions and minimumSecurity are hard constraints, never silently relaxed. minimumSecurity is raw SDE security, not a rounded in-game category. Only permanent stargates are supported. Pass the returned routeId directly to render_eve_map, requesting preview=png for images; never build route arrays or redraw a failed map. Follow returned itinerary page indices with the same routeId. Missing or expired handles require replanning. Static paths and security do not establish live safety, wormhole/cyno access, docking rights or sufficient cargo capacity. Context maps use an explicit boundary and pointsOfInterest (or []). For one system and its immediate permanent-stargate neighbors request boundary:{kind:'neighborhood',center:<exact name or ID>,jumps:1} directly, without ESI discovery or per-neighbor calls. Only jumps:1 is supported. Route maps require routeId from plan_eve_route; raw route arrays are forbidden. SVG is the primary artifact; request preview:png for inline images. Resources use private MCP URIs, not public web URLs. MCP tools exclusively compute skill prerequisites, missing training, dependency order, route paths, stop order, merged plans, totals and maps. The assistant only clarifies goals, submits all targets/stops and constraints, and explains returned results. Never reconstruct, concatenate, merge, reorder, repair, optimize or replace plans using reasoning, generated scripts, shell commands, external solvers or custom drawings. If a tool is unavailable, fails or cannot support the request, report the limitation; do not invent a fallback. Revise inputs and call the tool again.";
88
+ export declare const MAP_INSTRUCTIONS = "For any route, travel path or pickup loop, call plan_eve_route with origin, destination and every required stop together. Exact names are resolved by the planner; no ESI discovery, pairwise route calls or per-system lookups are needed. Use the origin again as destination for a return loop. stopOrder=optimize finds the exact minimum-jump stop order within the stated limits; as_given preserves the supplied order. Exclusions and minimumSecurity are hard constraints, never silently relaxed. minimumSecurity is raw SDE security, not a rounded in-game category. Only permanent stargates are supported. Pass the returned routeId directly to render_eve_map, requesting preview=png for images; never build route arrays or redraw a failed map. Crowded maps retry on a larger padded canvas. If rendering fails, use the returned route text and explain the limitation. Missing or expired handles require replanning. Static paths and security do not establish live safety, wormhole/cyno access, docking rights or sufficient cargo capacity. Context maps use an explicit boundary and pointsOfInterest (or []). For one system and its immediate permanent-stargate neighbors request boundary:{kind:'neighborhood',center:<exact name or ID>,jumps:1} directly, without ESI discovery or per-neighbor calls. Only jumps:1 is supported. Route maps require routeId from plan_eve_route; raw route arrays are forbidden. SVG is the primary artifact; request preview:png for inline images. Resources use private MCP URIs, not public web URLs. MCP tools exclusively compute skill prerequisites, missing training, dependency order, route paths, stop order, merged plans, totals and maps. The assistant only clarifies goals, submits all targets/stops and constraints, and explains returned results. Never reconstruct, concatenate, merge, reorder, repair, optimize or replace plans using reasoning, generated scripts, shell commands, external solvers or custom drawings. If a tool is unavailable, fails or cannot support the request, report the limitation; do not invent a fallback. Revise inputs and call the tool again.";
94
89
  /** Host-independent renderer registration. No EsiClient/planner/auth dependency. */
95
90
  export declare function registerCartography(server: McpServer, services: CartographyServices, protocolVersionHint?: string): void;
@@ -79,7 +79,7 @@ export function registerCartography(server, services, protocolVersionHint) {
79
79
  registerRoutePlanning(server, services);
80
80
  server.registerTool("render_eve_map", {
81
81
  title: "Render an EVE Online map of an existing plan",
82
- description: `Render an EVE Online server-computed route by routeId, or a context map from an explicit boundary and pointsOfInterest. Nonempty raw routes are rejected. Never creates plans, chooses destinations, calculates routes or recommends activities; call plan_eve_route first. Dense route maps automatically become consecutive numbered itinerary pages; follow route.nextPage with the same routeId. Never redraw, trim or reconstruct a failed map. Request boundary:{kind:'neighborhood',center:<exact name or ID>,jumps:1} directly for immediate permanent-stargate neighbors, without ESI discovery or per-neighbor calls. Only jumps:1 is supported; context boundaries are limited to 250 systems. Writes private expiring SVG artifacts and optionally a PNG preview. No EVE login or game-state changes. ${PLANNING_AUTHORITY}`,
82
+ description: `Render an EVE Online server-computed route by routeId, or a context map from an explicit boundary and pointsOfInterest. Nonempty raw routes are rejected. Never creates plans, chooses destinations, calculates routes or recommends activities; call plan_eve_route first. Crowded route maps retry on a larger padded canvas. If no readable map fits, return a clear error and the stored route as text; no itinerary images are generated. Never redraw, trim or reconstruct a failed map. Request boundary:{kind:'neighborhood',center:<exact name or ID>,jumps:1} directly for immediate permanent-stargate neighbors, without ESI discovery or per-neighbor calls. Only jumps:1 is supported; context boundaries are limited to 250 systems. Writes private expiring SVG artifacts and optionally a PNG preview. No EVE login or game-state changes. ${PLANNING_AUTHORITY}`,
83
83
  inputSchema: renderRequestSchema,
84
84
  outputSchema: compactOutputSchema(mapResultSchema),
85
85
  annotations: {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../../lib/src/cartography/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../../lib/src/cartography/mcp.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ATLAS_MAX_DISPLACEMENT, curvePoint, layoutMap, present, textWidth, tooDense, wrapText, } from "./layout.js";
2
2
  import { prepareMapScene, readPreparedMapScene, } from "./prepared.js";
3
3
  import { MAP_FONT, MAP_THEMES, ROUTE_DASHES } from "./themes.js";
4
- import { MAP_LIMITS, MapError } from "./types.js";
4
+ import { MAP_CANVASES, MAP_LIMITS, MapError } from "./types.js";
5
5
  function escapeXml(value) {
6
6
  return value
7
7
  .replace(
@@ -26,7 +26,26 @@ export function renderMap(catalog, input) {
26
26
  }
27
27
  /** Renders only validated selected facts. Optional input binds a provider result to its request. */
28
28
  export function renderPreparedMap(scene, input) {
29
- const { request, source, systems, internalPairs: edges, boundaryConnections, boundaryLabel, pointsOfInterest, routes, legs, } = readPreparedMapScene(scene, input);
29
+ const facts = readPreparedMapScene(scene, input);
30
+ try {
31
+ return renderScene(facts, facts.request.size);
32
+ }
33
+ catch (error) {
34
+ if (!(error instanceof MapError) ||
35
+ error.code !== "MAP_TOO_DENSE" ||
36
+ !facts.routes.length ||
37
+ facts.request.size === "large")
38
+ throw error;
39
+ const map = renderScene(facts, "large");
40
+ map.warnings.push({
41
+ code: "MAP_CANVAS_EXPANDED",
42
+ message: "The route map uses a larger 3200×2000 canvas with extra padding to keep every system and label readable.",
43
+ });
44
+ return map;
45
+ }
46
+ }
47
+ function renderScene(facts, size) {
48
+ const { request, source, systems, internalPairs: edges, boundaryConnections, boundaryLabel, pointsOfInterest, routes, legs, } = facts;
30
49
  const boundary = request.boundary;
31
50
  const important = new Set([
32
51
  ...pointsOfInterest.map((poi) => poi.systemId),
@@ -79,26 +98,26 @@ export function renderPreparedMap(scene, input) {
79
98
  }
80
99
  labelText.set(system.id, lines);
81
100
  }
82
- const width = request.size === "wide" ? 1600 : 1440;
83
- const height = 900;
101
+ const { width, height, paddingX, paddingY } = MAP_CANVASES[size];
102
+ const extraHeight = height - 900;
84
103
  const hasRail = pointsOfInterest.length > 0;
85
104
  const panel = {
86
105
  x: 40,
87
106
  y: 170,
88
107
  width: hasRail ? width - 478 : width - 80,
89
- height: 558,
108
+ height: 558 + extraHeight,
90
109
  };
91
110
  const plot = {
92
- x: panel.x + 42,
93
- y: panel.y + 46,
94
- width: panel.width - 84,
95
- height: 450,
111
+ x: panel.x + paddingX,
112
+ y: panel.y + paddingY,
113
+ width: panel.width - 2 * paddingX,
114
+ height: panel.height - 2 * paddingY - 16,
96
115
  };
97
116
  const labelArea = {
98
117
  x: panel.x + 14,
99
118
  y: panel.y + 18,
100
119
  width: panel.width - 28,
101
- height: 502,
120
+ height: 502 + extraHeight,
102
121
  };
103
122
  const layout = layoutMap(systems, request, plot, labelArea, important, labelText, legs);
104
123
  const warnings = [
@@ -170,7 +189,7 @@ export function renderPreparedMap(scene, input) {
170
189
  svg.push(`<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}" preserveAspectRatio="xMidYMid meet" role="img" aria-labelledby="map-title map-desc" font-family="${MAP_FONT}">`);
171
190
  svg.push(`<title id="map-title">${escapeXml(title)}</title><desc id="map-desc">${escapeXml(`${boundaryLabel}. ${systems.length} systems. ${layout.coordinateBasis}. ${layout.used === "atlas" ? "Atlas not to scale. " : "Geographic coordinates are not moved. "}Caller-supplied plans. Not live intel. P numbers link nodes to the points of interest list; R numbers identify ordered routes. Visible security is approximate (~), rounded to two decimals; tooltips retain raw SDE values and all route visits. No safety classification. Gate counts are outgoing SDE gates, including connections outside the boundary. Background gates are masked only beneath label text. ${layout.omittedLabels} context labels omitted.`)}</desc>`);
172
191
  svg.push(`<metadata>${escapeXml(JSON.stringify({ schemaVersion: 1, source, summary, layout: layoutSummary, projectionBounds: layout.bounds, completeness, warnings }))}</metadata>`);
173
- svg.push(`<rect width="${width}" height="${height}" rx="28" fill="${theme.background}"/><rect x="20" y="20" width="${width - 40}" height="860" rx="24" fill="none" stroke="${theme.frame}" stroke-width="1.5" data-frame="outer"/>`);
192
+ svg.push(`<rect width="${width}" height="${height}" rx="28" fill="${theme.background}"/><rect x="20" y="20" width="${width - 40}" height="${height - 40}" rx="24" fill="none" stroke="${theme.frame}" stroke-width="1.5" data-frame="outer"/>`);
174
193
  wrapped(title, 48, 70, 32, width - 100, 1, theme.text);
175
194
  wrapped(boundaryLabel, 48, 106, 20, width - 100, 1, theme.muted);
176
195
  // U+2022 is a fixed visual separator, never caller-provided markup.
@@ -241,12 +260,12 @@ export function renderPreparedMap(scene, input) {
241
260
  }
242
261
  svg.push("</g>");
243
262
  }
244
- text(60, 712, `${layout.used === "atlas" ? "Atlas / not to scale" : "X/Z projection"} | ${systems.length} systems | ${boundaryConnections} external links | ${layout.omittedLabels} hidden labels`, 18, theme.muted);
245
- text(48, 760, "Gate counts: outbound | Routes: arrows + R numbers | Rings: endpoints", 18, theme.muted);
263
+ text(60, 712 + extraHeight, `${layout.used === "atlas" ? "Atlas / not to scale" : "X/Z projection"} | ${systems.length} systems | ${boundaryConnections} external links | ${layout.omittedLabels} hidden labels`, 18, theme.muted);
264
+ text(48, 760 + extraHeight, "Gate counts: outbound | Routes: arrows + R numbers | Rings: endpoints", 18, theme.muted);
246
265
  if (!routes.length)
247
- text(48, 800, "No routes supplied. No destinations selected by this renderer.", 18, theme.muted);
266
+ text(48, 800 + extraHeight, "No routes supplied. No destinations selected by this renderer.", 18, theme.muted);
248
267
  routes.forEach((route, index) => {
249
- const y = 793 + index * 25;
268
+ const y = 793 + extraHeight + index * 25;
250
269
  const color = present(theme.routes[index]);
251
270
  const dash = present(ROUTE_DASHES[index]);
252
271
  text(50, y, `R${index + 1}`, 18, color);
@@ -256,7 +275,7 @@ export function renderPreparedMap(scene, input) {
256
275
  if (hasRail) {
257
276
  const railX = width - 414;
258
277
  const railWidth = 374;
259
- svg.push(`<g data-poi-list="true"><rect x="${railX}" y="170" width="${railWidth}" height="674" rx="22" fill="${theme.rail}" stroke="${theme.frame}"/>`);
278
+ svg.push(`<g data-poi-list="true"><rect x="${railX}" y="170" width="${railWidth}" height="${674 + extraHeight}" rx="22" fill="${theme.rail}" stroke="${theme.frame}"/>`);
260
279
  text(railX + 22, 207, "POINTS OF INTEREST", 20, theme.text);
261
280
  text(railX + 22, 235, "Caller annotations / P numbers", 18, theme.muted);
262
281
  let y = 267;
@@ -267,7 +286,7 @@ export function renderPreparedMap(scene, input) {
267
286
  const required = labelLines.length * 28 +
268
287
  (contextLines.length + noteLines.length) * 24 +
269
288
  18;
270
- if (y + required > 834)
289
+ if (y + required > 834 + extraHeight)
271
290
  tooDense("The complete points-of-interest list does not fit at readable size. Shorten notes or supply fewer points; no annotations were truncated.");
272
291
  svg.push(`<g data-poi="${index + 1}" data-system-id="${poi.systemId}"><circle cx="${railX + 29}" cy="${y + 9}" r="17" fill="${theme.background}" stroke="${theme.accent}"/>`);
273
292
  text(railX + 29, y + 15, String(index + 1), 18, theme.text, ' text-anchor="middle"');
@@ -288,7 +307,7 @@ export function renderPreparedMap(scene, input) {
288
307
  });
289
308
  svg.push("</g>");
290
309
  }
291
- wrapped(`SDE build ${source.buildNumber} / ${source.releaseDate} | Sec ~2dp; raw in tooltips; no safety classification`, 48, 873, 18, width - 100, 1, theme.muted);
310
+ wrapped(`SDE build ${source.buildNumber} / ${source.releaseDate} | Sec ~2dp; raw in tooltips; no safety classification`, 48, 873 + extraHeight, 18, width - 100, 1, theme.muted);
292
311
  svg.push("</svg>");
293
312
  const result = svg.join("");
294
313
  if (new TextEncoder().encode(result).byteLength > MAP_LIMITS.svgBytes)
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../lib/src/cartography/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../lib/src/cartography/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type RoutePlan } from "../route-plan.js";
2
+ import type { RenderedMap } from "./types.js";
3
+ /** Persist a plan in the existing artifact envelope without drawing an itinerary.
4
+ * The inert SVG is storage compatibility only; it is never returned as a map or
5
+ * submitted to a preview renderer. The route itself lives in the JSON manifest.
6
+ */
7
+ export declare function createRouteArtifact(value: RoutePlan): RenderedMap;
@@ -0,0 +1,30 @@
1
+ import { routePlanSchema } from "../route-plan.js";
2
+ /** Persist a plan in the existing artifact envelope without drawing an itinerary.
3
+ * The inert SVG is storage compatibility only; it is never returned as a map or
4
+ * submitted to a preview renderer. The route itself lives in the JSON manifest.
5
+ */
6
+ export function createRouteArtifact(value) {
7
+ const plan = routePlanSchema.parse(value);
8
+ return {
9
+ svg: '<svg xmlns="http://www.w3.org/2000/svg" width="1" height="1"><title>Stored route plan; use render_eve_map for a map.</title></svg>',
10
+ width: 1,
11
+ height: 1,
12
+ title: "Stored route plan",
13
+ summary: {
14
+ systemCount: plan.systems.length,
15
+ edgeCount: plan.totalJumps,
16
+ boundaryLabel: "Stored route plan",
17
+ routes: [],
18
+ pointsOfInterest: [],
19
+ },
20
+ layout: {
21
+ requested: "plan",
22
+ used: "plan",
23
+ coordinateBasis: "not rendered",
24
+ },
25
+ completeness: { omittedLabels: 0, boundaryConnections: 0 },
26
+ warnings: [],
27
+ routePlan: plan,
28
+ };
29
+ }
30
+ //# sourceMappingURL=route-artifact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-artifact.js","sourceRoot":"","sources":["../../../../lib/src/cartography/route-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkB,MAAM,kBAAkB,CAAC;AAGnE;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAgB;IAClD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO;QACL,GAAG,EAAE,oIAAoI;QACzI,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE;YACP,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAChC,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,aAAa,EAAE,mBAAmB;YAClC,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE,EAAE;SACrB;QACD,MAAM,EAAE;YACN,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,cAAc;SAChC;QACD,YAAY,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE;QAC1D,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
@@ -3,7 +3,6 @@ import * as z from "zod/v4";
3
3
  import type { CartographyServices } from "./service.js";
4
4
  export declare const renderRequestSchema: z.ZodObject<{
5
5
  routeId: z.ZodOptional<z.ZodString>;
6
- page: z.ZodOptional<z.ZodNumber>;
7
6
  boundary: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
8
7
  kind: z.ZodLiteral<"systems">;
9
8
  systems: z.ZodArray<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
@@ -39,7 +38,6 @@ export declare const renderRequestSchema: z.ZodObject<{
39
38
  layout: z.ZodDefault<z.ZodEnum<{
40
39
  atlas: "atlas";
41
40
  geographic: "geographic";
42
- itinerary: "itinerary";
43
41
  }>>;
44
42
  theme: z.ZodDefault<z.ZodEnum<{
45
43
  light: "light";
@@ -48,6 +46,7 @@ export declare const renderRequestSchema: z.ZodObject<{
48
46
  size: z.ZodDefault<z.ZodEnum<{
49
47
  standard: "standard";
50
48
  wide: "wide";
49
+ large: "large";
51
50
  }>>;
52
51
  title: z.ZodOptional<z.ZodString>;
53
52
  preview: z.ZodDefault<z.ZodEnum<{
@@ -57,13 +56,8 @@ export declare const renderRequestSchema: z.ZodObject<{
57
56
  }, z.core.$strict>;
58
57
  export declare const routePageSchema: z.ZodObject<{
59
58
  routeId: z.ZodString;
60
- page: z.ZodNumber;
61
- pageCount: z.ZodNumber;
62
59
  totalJumps: z.ZodNumber;
63
- visitStart: z.ZodNumber;
64
- visitEnd: z.ZodNumber;
65
60
  visitCount: z.ZodNumber;
66
- nextPage: z.ZodOptional<z.ZodNumber>;
67
61
  }, z.core.$strip>;
68
62
  export declare const routeResultSchema: z.ZodUnion<readonly [z.ZodObject<{
69
63
  status: z.ZodLiteral<"complete">;
@@ -151,13 +145,88 @@ export declare function prepareMapRender(services: CartographyServices, input: z
151
145
  }[];
152
146
  theme: "light" | "dark";
153
147
  layout: "atlas" | "geographic";
154
- size: "standard" | "wide";
148
+ size: "standard" | "wide" | "large";
155
149
  preview: "none" | "png";
156
150
  title?: string | undefined;
157
151
  };
158
152
  route?: never;
159
153
  } | {
160
- map: import("./types.js").RenderedMap;
154
+ map: {
155
+ routePlan: {
156
+ version: 1;
157
+ algorithm: "BFS + Held-Karp";
158
+ objective: "minimum_jumps";
159
+ optimality: "exact";
160
+ snapshotId: string;
161
+ source: {
162
+ warning?: string;
163
+ buildNumber: number;
164
+ releaseDate: string;
165
+ sourceUrl: string;
166
+ fetchedAt: string;
167
+ checkedAt: string;
168
+ stale: boolean;
169
+ };
170
+ stopOrder: "optimize" | "as_given";
171
+ origin: number;
172
+ destination: number;
173
+ requestedStops: number[];
174
+ avoid: number[];
175
+ systems: {
176
+ id: number;
177
+ name: string;
178
+ securityStatus: number;
179
+ }[];
180
+ path: number[];
181
+ stopSequence: number[];
182
+ legs: {
183
+ from: number;
184
+ to: number;
185
+ start: number;
186
+ end: number;
187
+ jumps: number;
188
+ }[];
189
+ totalJumps: number;
190
+ minimumSecurity?: number | undefined;
191
+ };
192
+ svg: string;
193
+ width: number;
194
+ height: number;
195
+ title: string;
196
+ summary: {
197
+ systemCount: number;
198
+ edgeCount: number;
199
+ boundaryLabel: string;
200
+ routes: {
201
+ label: string;
202
+ systems: {
203
+ id: number;
204
+ name: string;
205
+ }[];
206
+ jumps: number;
207
+ }[];
208
+ pointsOfInterest: {
209
+ systemId: number;
210
+ systemName: string;
211
+ label: string;
212
+ kind: string;
213
+ note?: string;
214
+ }[];
215
+ };
216
+ layout: {
217
+ requested: string;
218
+ used: string;
219
+ coordinateBasis: string;
220
+ };
221
+ completeness: {
222
+ omittedLabels: number;
223
+ boundaryConnections: number;
224
+ };
225
+ warnings: {
226
+ code: string;
227
+ message: string;
228
+ }[];
229
+ };
161
230
  status: {
162
231
  warning?: string;
163
232
  buildNumber: number;
@@ -200,18 +269,13 @@ export declare function prepareMapRender(services: CartographyServices, input: z
200
269
  }[];
201
270
  theme: "light" | "dark";
202
271
  layout: "atlas" | "geographic";
203
- size: "standard" | "wide";
272
+ size: "standard" | "wide" | "large";
204
273
  preview: "none" | "png";
205
274
  title?: string | undefined;
206
275
  };
207
276
  route: {
208
- nextPage?: number;
209
277
  routeId: string;
210
- page: number;
211
- pageCount: number;
212
278
  totalJumps: number;
213
- visitStart: number;
214
- visitEnd: number;
215
279
  visitCount: number;
216
280
  };
217
281
  }>;
@@ -4,7 +4,7 @@ import { diagnosticMetadata, withSpan } from "../telemetry.js";
4
4
  import { planRoute, routePlanSchema, routeRequestSchema, } from "../route-plan.js";
5
5
  import { PLANNING_AUTHORITY, ROUTE_INSTRUCTIONS, renderRouteGuidance, } from "../route-guidance.js";
6
6
  import { compactOutputSchema } from "../output-schema.js";
7
- import { renderItinerary, itineraryPage } from "./itinerary.js";
7
+ import { createRouteArtifact } from "./route-artifact.js";
8
8
  import { renderMap, renderPreparedMap } from "./render.js";
9
9
  import { mapRequestSchema, MapError } from "./types.js";
10
10
  import { mapSourceSchema } from "./catalog.js";
@@ -14,13 +14,6 @@ export const renderRequestSchema = z
14
14
  routeId: routeIdSchema
15
15
  .optional()
16
16
  .describe("Opaque routeId returned by plan_eve_route. Routes are loaded server-side; never supply or reconstruct system arrays."),
17
- page: z
18
- .number()
19
- .int()
20
- .min(0)
21
- .max(10)
22
- .optional()
23
- .describe("Zero-based itinerary page returned by the server; same routeId for every page."),
24
17
  boundary: mapRequestSchema.shape.boundary.optional(),
25
18
  pointsOfInterest: mapRequestSchema.shape.pointsOfInterest.optional(),
26
19
  routes: z
@@ -28,7 +21,7 @@ export const renderRequestSchema = z
28
21
  .max(0)
29
22
  .optional()
30
23
  .describe("Nonempty raw routes are forbidden. Use plan_eve_route and routeId."),
31
- layout: z.enum(["atlas", "geographic", "itinerary"]).default("atlas"),
24
+ layout: mapRequestSchema.shape.layout,
32
25
  theme: mapRequestSchema.shape.theme,
33
26
  size: mapRequestSchema.shape.size,
34
27
  title: mapRequestSchema.shape.title,
@@ -41,9 +34,7 @@ export const renderRequestSchema = z
41
34
  request.pointsOfInterest !== undefined ||
42
35
  request.routes !== undefined
43
36
  : request.boundary === undefined ||
44
- request.pointsOfInterest === undefined ||
45
- request.page !== undefined ||
46
- request.layout === "itinerary")
37
+ request.pointsOfInterest === undefined)
47
38
  ctx.addIssue({
48
39
  code: "custom",
49
40
  message: "Supply either routeId with presentation options, or an explicit boundary and pointsOfInterest without routes.",
@@ -51,13 +42,8 @@ export const renderRequestSchema = z
51
42
  });
52
43
  export const routePageSchema = z.object({
53
44
  routeId: routeIdSchema,
54
- page: z.number().int(),
55
- pageCount: z.number().int(),
56
45
  totalJumps: z.number().int(),
57
- visitStart: z.number().int(),
58
- visitEnd: z.number().int(),
59
46
  visitCount: z.number().int(),
60
- nextPage: z.number().int().optional(),
61
47
  });
62
48
  export const routeResultSchema = z.union([
63
49
  z.object({
@@ -142,7 +128,7 @@ export function registerRoutePlanning(server, services) {
142
128
  finish = services.beginRender?.(signal);
143
129
  const graph = await routeValue(services.routing).loadRouteGraph(signal);
144
130
  signal.throwIfAborted();
145
- const plan = planRoute(graph, request, signal), map = renderItinerary(plan);
131
+ const plan = planRoute(graph, request, signal), map = createRouteArtifact(plan);
146
132
  signal.throwIfAborted();
147
133
  const artifact = await services.artifacts.put(map, plan.source);
148
134
  signal.throwIfAborted();
@@ -175,7 +161,7 @@ export function registerRoutePlanning(server, services) {
175
161
  caveats: [
176
162
  "Exact only for this complete static permanent-stargate snapshot and the requested constraints.",
177
163
  "No live safety, wormhole/cyno routing, docking access or cargo-capacity guarantee.",
178
- "Use this routeId unchanged. Rendering may return consecutive itinerary pages; never merge or redraw them.",
164
+ "Use this routeId unchanged. Crowded maps retry on a larger canvas; rendering failures preserve the route as text.",
179
165
  ],
180
166
  manifestUri: artifact.manifestUri,
181
167
  };
@@ -249,82 +235,63 @@ export async function prepareMapRender(services, input, signal) {
249
235
  throw new MapError("ROUTE_PLAN_UNAVAILABLE", "This artifact is not a valid server-computed route. Call plan_eve_route.");
250
236
  const plan = planResult.data;
251
237
  signal.throwIfAborted();
252
- const page = input.page ?? 0, pagination = itineraryPage(plan, page);
253
- let map = renderItinerary(plan, page, input.theme, {
254
- size: input.size,
255
- ...(input.title === undefined ? {} : { title: input.title }),
256
- });
238
+ const names = new Map(plan.systems.map((system) => [system.id, system.name]));
239
+ const details = {
240
+ routeId: input.routeId,
241
+ totalJumps: plan.totalJumps,
242
+ visitCount: plan.path.length,
243
+ waypointText: plan.stopSequence
244
+ .map((id) => routeValue(names.get(id)))
245
+ .join("\n"),
246
+ routeText: plan.path.map((id) => routeValue(names.get(id))).join("\n"),
247
+ source: plan.source,
248
+ };
249
+ if (plan.path.length > 100)
250
+ throw new MapError("ROUTE_MAP_LIMIT", "This route exceeds the 100-visit map limit. The complete stored route is available as text.", details);
257
251
  const request = mapRequestSchema.parse({
258
252
  boundary: { kind: "systems", systems: plan.systems.map((s) => s.id) },
259
253
  pointsOfInterest: [],
260
- routes: [],
254
+ routes: [{ systems: plan.path, label: "Verified route" }],
261
255
  theme: input.theme,
262
256
  size: input.size,
263
257
  preview: input.preview,
264
- layout: input.layout === "itinerary" ? "atlas" : input.layout,
258
+ layout: input.layout,
265
259
  ...(input.title ? { title: input.title } : {}),
266
260
  });
267
- let fallback = "";
268
- if (input.layout !== "itinerary" && input.page === undefined) {
269
- if (plan.path.length > 100)
270
- fallback = "The full route exceeds the atlas route bound.";
271
- else
272
- try {
273
- const geoRequest = mapRequestSchema.parse({
274
- ...request,
275
- routes: [{ systems: plan.path, label: "Verified route" }],
276
- });
277
- const prepared = "prepare" in services.data
278
- ? await services.data.prepare(geoRequest, signal)
279
- : await services.data.initialize();
280
- signal.throwIfAborted();
281
- if (["buildNumber", "sourceUrl", "releaseDate", "fetchedAt"].some((key) => prepared.status[key] !==
282
- plan.source[key]))
283
- fallback =
284
- "The available geometry belongs to a different snapshot; the stored plan is unchanged.";
285
- else
286
- map = {
287
- ...("scene" in prepared
288
- ? renderPreparedMap(prepared.scene, geoRequest)
289
- : renderMap(prepared.catalog, geoRequest)),
290
- routePlan: plan,
291
- };
292
- }
293
- catch (error) {
294
- signal.throwIfAborted();
295
- if (!(error instanceof MapError) || error.code === "MAP_CANCELLED")
296
- throw error;
297
- fallback =
298
- error.code === "MAP_TOO_DENSE"
299
- ? "The geographic/atlas layout is too dense for readable labels."
300
- : "Current atlas geometry is unavailable for this stored plan.";
301
- }
261
+ try {
262
+ const prepared = "prepare" in services.data
263
+ ? await services.data.prepare(request, signal)
264
+ : await services.data.initialize();
265
+ signal.throwIfAborted();
266
+ if (["buildNumber", "sourceUrl", "releaseDate", "fetchedAt"].some((key) => prepared.status[key] !==
267
+ plan.source[key]))
268
+ throw new MapError("ROUTE_GEOMETRY_CHANGED", "The available geometry belongs to a different snapshot. Replan to render a current map; the stored route remains available as text.", details);
269
+ const map = {
270
+ ...("scene" in prepared
271
+ ? renderPreparedMap(prepared.scene, request)
272
+ : renderMap(prepared.catalog, request)),
273
+ routePlan: plan,
274
+ };
275
+ return {
276
+ map,
277
+ status: plan.source,
278
+ request,
279
+ route: {
280
+ routeId: input.routeId,
281
+ totalJumps: plan.totalJumps,
282
+ visitCount: plan.path.length,
283
+ },
284
+ };
285
+ }
286
+ catch (error) {
287
+ signal.throwIfAborted();
288
+ if (!(error instanceof MapError) || error.code === "MAP_CANCELLED")
289
+ throw error;
290
+ if (error.code === "ROUTE_GEOMETRY_CHANGED")
291
+ throw error;
292
+ throw new MapError(error.code, error.code === "MAP_TOO_DENSE"
293
+ ? "This route cannot be drawn readably even on the larger padded canvas. The complete stored route remains available as text."
294
+ : "Map geometry is unavailable for this stored route. The complete route remains available as text.", details);
302
295
  }
303
- map.layout.requested = input.layout;
304
- if (fallback)
305
- map.warnings.push({
306
- code: "ROUTE_ITINERARY_FALLBACK",
307
- message: `${fallback} The server rendered consecutive itinerary pages without altering any route steps.`,
308
- });
309
- const isItinerary = map.layout.used === "itinerary";
310
- return {
311
- map,
312
- status: plan.source,
313
- request,
314
- route: {
315
- routeId: input.routeId,
316
- page: isItinerary ? page : 0,
317
- pageCount: isItinerary ? pagination.pageCount : 1,
318
- totalJumps: plan.totalJumps,
319
- visitStart: isItinerary ? pagination.start + 1 : 1,
320
- visitEnd: isItinerary
321
- ? pagination.start + pagination.path.length
322
- : plan.path.length,
323
- visitCount: plan.path.length,
324
- ...(isItinerary && pagination.nextPage !== undefined
325
- ? { nextPage: pagination.nextPage }
326
- : {}),
327
- },
328
- };
329
296
  }
330
297
  //# sourceMappingURL=routing-mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing-mcp.js","sourceRoot":"","sources":["../../../../lib/src/cartography/routing-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing-mcp.js","sourceRoot":"","sources":["../../../../lib/src/cartography/routing-mcp.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,26 @@ export declare const MAP_LIMITS: {
10
10
  readonly responseBytes: 5000000;
11
11
  };
12
12
  export declare const LIGHT_YEAR_METRES = 9460730472580800;
13
+ export declare const MAP_CANVASES: {
14
+ readonly standard: {
15
+ readonly width: 1440;
16
+ readonly height: 900;
17
+ readonly paddingX: 42;
18
+ readonly paddingY: 46;
19
+ };
20
+ readonly wide: {
21
+ readonly width: 1600;
22
+ readonly height: 900;
23
+ readonly paddingX: 42;
24
+ readonly paddingY: 46;
25
+ };
26
+ readonly large: {
27
+ readonly width: 3200;
28
+ readonly height: 2000;
29
+ readonly paddingX: 96;
30
+ readonly paddingY: 90;
31
+ };
32
+ };
13
33
  export declare const mapIdSchema: z.ZodNumber;
14
34
  export declare function mapText(max: number): z.ZodString;
15
35
  export declare const mapReferenceSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
@@ -82,6 +102,7 @@ export declare const mapRequestSchema: z.ZodObject<{
82
102
  size: z.ZodDefault<z.ZodEnum<{
83
103
  standard: "standard";
84
104
  wide: "wide";
105
+ large: "large";
85
106
  }>>;
86
107
  preview: z.ZodDefault<z.ZodEnum<{
87
108
  none: "none";
@@ -9,6 +9,11 @@ export const MAP_LIMITS = {
9
9
  responseBytes: 5_000_000,
10
10
  };
11
11
  export const LIGHT_YEAR_METRES = 9_460_730_472_580_800;
12
+ export const MAP_CANVASES = {
13
+ standard: { width: 1440, height: 900, paddingX: 42, paddingY: 46 },
14
+ wide: { width: 1600, height: 900, paddingX: 42, paddingY: 46 },
15
+ large: { width: 3200, height: 2000, paddingX: 96, paddingY: 90 },
16
+ };
12
17
  export const mapIdSchema = z
13
18
  .number()
14
19
  .int()
@@ -90,7 +95,10 @@ export const mapRequestSchema = z
90
95
  title: mapText(100).optional(),
91
96
  theme: z.enum(["dark", "light"]).default("dark"),
92
97
  layout: z.enum(["atlas", "geographic"]).default("atlas"),
93
- size: z.enum(["standard", "wide"]).default("standard"),
98
+ size: z
99
+ .enum(["standard", "wide", "large"])
100
+ .default("standard")
101
+ .describe("Canvas size. Large uses 3200×2000 with extra padding. Crowded route maps automatically retry at large size."),
94
102
  preview: z.enum(["png", "none"]).default("none"),
95
103
  })
96
104
  .strict()
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/src/cartography/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/src/cartography/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare const PLANNING_AUTHORITY = "MCP tools exclusively compute skill prerequisites, missing training, dependency order, route paths, stop order, merged plans, totals and maps. The assistant only clarifies goals, submits all targets/stops and constraints, and explains returned results. Never reconstruct, concatenate, merge, reorder, repair, optimize or replace plans using reasoning, generated scripts, shell commands, external solvers or custom drawings. If a tool is unavailable, fails or cannot support the request, report the limitation; do not invent a fallback. Revise inputs and call the tool again.";
2
- export declare const ROUTE_INSTRUCTIONS = "For any route, travel path or pickup loop, call plan_eve_route with origin, destination and every required stop together. Exact names are resolved by the planner; no ESI discovery, pairwise route calls or per-system lookups are needed. Use the origin again as destination for a return loop. stopOrder=optimize finds the exact minimum-jump stop order within the stated limits; as_given preserves the supplied order. Exclusions and minimumSecurity are hard constraints, never silently relaxed. minimumSecurity is raw SDE security, not a rounded in-game category. Only permanent stargates are supported. Pass the returned routeId directly to render_eve_map, requesting preview=png for images; never build route arrays or redraw a failed map. Follow returned itinerary page indices with the same routeId. Missing or expired handles require replanning. Static paths and security do not establish live safety, wormhole/cyno access, docking rights or sufficient cargo capacity.";
2
+ export declare const ROUTE_INSTRUCTIONS = "For any route, travel path or pickup loop, call plan_eve_route with origin, destination and every required stop together. Exact names are resolved by the planner; no ESI discovery, pairwise route calls or per-system lookups are needed. Use the origin again as destination for a return loop. stopOrder=optimize finds the exact minimum-jump stop order within the stated limits; as_given preserves the supplied order. Exclusions and minimumSecurity are hard constraints, never silently relaxed. minimumSecurity is raw SDE security, not a rounded in-game category. Only permanent stargates are supported. Pass the returned routeId directly to render_eve_map, requesting preview=png for images; never build route arrays or redraw a failed map. Crowded maps retry on a larger padded canvas. If rendering fails, use the returned route text and explain the limitation. Missing or expired handles require replanning. Static paths and security do not establish live safety, wormhole/cyno access, docking rights or sufficient cargo capacity.";
3
3
  export declare function renderRouteGuidance(goal: string, constraints?: string): string;
@@ -1,5 +1,5 @@
1
1
  export const PLANNING_AUTHORITY = "MCP tools exclusively compute skill prerequisites, missing training, dependency order, route paths, stop order, merged plans, totals and maps. The assistant only clarifies goals, submits all targets/stops and constraints, and explains returned results. Never reconstruct, concatenate, merge, reorder, repair, optimize or replace plans using reasoning, generated scripts, shell commands, external solvers or custom drawings. If a tool is unavailable, fails or cannot support the request, report the limitation; do not invent a fallback. Revise inputs and call the tool again.";
2
- export const ROUTE_INSTRUCTIONS = "For any route, travel path or pickup loop, call plan_eve_route with origin, destination and every required stop together. Exact names are resolved by the planner; no ESI discovery, pairwise route calls or per-system lookups are needed. Use the origin again as destination for a return loop. stopOrder=optimize finds the exact minimum-jump stop order within the stated limits; as_given preserves the supplied order. Exclusions and minimumSecurity are hard constraints, never silently relaxed. minimumSecurity is raw SDE security, not a rounded in-game category. Only permanent stargates are supported. Pass the returned routeId directly to render_eve_map, requesting preview=png for images; never build route arrays or redraw a failed map. Follow returned itinerary page indices with the same routeId. Missing or expired handles require replanning. Static paths and security do not establish live safety, wormhole/cyno access, docking rights or sufficient cargo capacity.";
2
+ export const ROUTE_INSTRUCTIONS = "For any route, travel path or pickup loop, call plan_eve_route with origin, destination and every required stop together. Exact names are resolved by the planner; no ESI discovery, pairwise route calls or per-system lookups are needed. Use the origin again as destination for a return loop. stopOrder=optimize finds the exact minimum-jump stop order within the stated limits; as_given preserves the supplied order. Exclusions and minimumSecurity are hard constraints, never silently relaxed. minimumSecurity is raw SDE security, not a rounded in-game category. Only permanent stargates are supported. Pass the returned routeId directly to render_eve_map, requesting preview=png for images; never build route arrays or redraw a failed map. Crowded maps retry on a larger padded canvas. If rendering fails, use the returned route text and explain the limitation. Missing or expired handles require replanning. Static paths and security do not establish live safety, wormhole/cyno access, docking rights or sufficient cargo capacity.";
3
3
  export function renderRouteGuidance(goal, constraints) {
4
4
  return [
5
5
  PLANNING_AUTHORITY,
@@ -7,7 +7,7 @@ export function renderRouteGuidance(goal, constraints) {
7
7
  JSON.stringify({ goal, constraints }),
8
8
  ROUTE_INSTRUCTIONS,
9
9
  "Clarify only missing origin, final destination/return requirement, pickup systems and material constraints. Treat screenshot-extracted names as candidate inputs; the tool resolves them. Do not infer arbitrary IDs or silently drop ambiguous/unreachable stops. A requested asset collection does not authorize assuming that every item fits in one load.",
10
- "Return the tool's stop sequence, waypointText and totalJumps unchanged, with snapshot freshness and limits. Describe optimality only for its objective and constraints. Render through the opaque routeId. If atlas layout is too dense, the server returns itinerary pages; do not trim systems, split/reassemble routes or generate a replacement script. Tool errors are actionable limitations, not instructions to bypass the tools.",
10
+ "Return the tool's stop sequence, waypointText and totalJumps unchanged, with snapshot freshness and limits. Describe optimality only for its objective and constraints. Render through the opaque routeId. Crowded maps retry on a larger padded canvas. If no readable map fits, report the limitation and return the stored route text; do not trim systems, split/reassemble routes or generate a replacement script. Tool errors are actionable limitations, not instructions to bypass the tools.",
11
11
  ].join("\n\n");
12
12
  }
13
13
  //# sourceMappingURL=route-guidance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"route-guidance.js","sourceRoot":"","sources":["../../../lib/src/route-guidance.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAC7B,gkBAAgkB,CAAC;AAEnkB,MAAM,CAAC,MAAM,kBAAkB,GAC7B,48BAA48B,CAAC;AAE/8B,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,WAAoB;IAEpB,OAAO;QACL,kBAAkB;QAClB,gDAAgD;QAChD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACrC,kBAAkB;QAClB,+VAA+V;QAC/V,2aAA2a;KAC5a,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"route-guidance.js","sourceRoot":"","sources":["../../../lib/src/route-guidance.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAC7B,gkBAAgkB,CAAC;AAEnkB,MAAM,CAAC,MAAM,kBAAkB,GAC7B,wgCAAwgC,CAAC;AAE3gC,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,WAAoB;IAEpB,OAAO;QACL,kBAAkB;QAClB,gDAAgD;QAChD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACrC,kBAAkB;QAClB,+VAA+V;QAC/V,weAAwe;KACze,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eve-online-mcp",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "Read-only MCP access to the complete EVE Online ESI OpenAPI surface",
5
5
  "keywords": [
6
6
  "eve-online",
@@ -1,5 +1,5 @@
1
1
  import { fileURLToPath } from "node:url";
2
- import { MapError, MAP_LIMITS } from "../lib/src/cartography/types.js";
2
+ import { MapError, MAP_CANVASES, MAP_LIMITS, } from "../lib/src/cartography/types.js";
3
3
  /** Rasterization is a local adapter, never a shared-core or discovery dependency. */
4
4
  export class LocalMapPreview {
5
5
  active = 0;
@@ -8,7 +8,7 @@ export class LocalMapPreview {
8
8
  if (this.active >= 2)
9
9
  throw new MapError("MAP_PREVIEW_BUSY", "Preview capacity reached; the SVG remains available.");
10
10
  if (Buffer.byteLength(svg) > MAP_LIMITS.svgBytes ||
11
- ![1440, 1600].includes(width))
11
+ !Object.values(MAP_CANVASES).some((canvas) => canvas.width === width))
12
12
  throw new MapError("MAP_PREVIEW_LIMIT", "Invalid preview dimensions or byte size.");
13
13
  this.active++;
14
14
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"map-preview.js","sourceRoot":"","sources":["../../src/map-preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAEvE,qFAAqF;AACrF,MAAM,OAAO,eAAe;IAClB,MAAM,GAAG,CAAC,CAAC;IACnB,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,KAAa,EAAE,MAAmB;QAC1D,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAClB,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,sDAAsD,CACvD,CAAC;QACJ,IACE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ;YAC5C,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAE7B,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,0CAA0C,CAC3C,CAAC;QACJ,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,aAAa,CACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAC3D,CAAC;YACF,MAAM,IAAI,GAAG,aAAa,CACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAChE,CAAC;YACF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvE,KAAK,MAAM,WAAW,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,GAAG,EACH;oBACE,IAAI,EAAE;wBACJ,eAAe,EAAE,KAAK;wBACtB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;wBACvB,iBAAiB,EAAE,aAAa;wBAChC,eAAe,EAAE,aAAa;qBAC/B;oBACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;oBAC5C,QAAQ,EAAE,KAAK;iBAChB,EACD,OAAO,CACR,CAAC;gBACF,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,YAAY;oBAC3C,OAAO;wBACL,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC5B,KAAK,EAAE,GAAG,CAAC,UAAU;wBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;qBACxB,CAAC;YACN,CAAC;YACD,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,kCAAkC,CACnC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"map-preview.js","sourceRoot":"","sources":["../../src/map-preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,UAAU,GACX,MAAM,iCAAiC,CAAC;AAEzC,qFAAqF;AACrF,MAAM,OAAO,eAAe;IAClB,MAAM,GAAG,CAAC,CAAC;IACnB,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,KAAa,EAAE,MAAmB;QAC1D,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAClB,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,sDAAsD,CACvD,CAAC;QACJ,IACE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ;YAC5C,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;YAErE,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,0CAA0C,CAC3C,CAAC;QACJ,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,aAAa,CACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAC3D,CAAC;YACF,MAAM,IAAI,GAAG,aAAa,CACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAChE,CAAC;YACF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvE,KAAK,MAAM,WAAW,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,GAAG,EACH;oBACE,IAAI,EAAE;wBACJ,eAAe,EAAE,KAAK;wBACtB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;wBACvB,iBAAiB,EAAE,aAAa;wBAChC,eAAe,EAAE,aAAa;qBAC/B;oBACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;oBAC5C,QAAQ,EAAE,KAAK;iBAChB,EACD,OAAO,CACR,CAAC;gBACF,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,YAAY;oBAC3C,OAAO;wBACL,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC5B,KAAK,EAAE,GAAG,CAAC,UAAU;wBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;qBACxB,CAAC;YACN,CAAC;YACD,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,kCAAkC,CACnC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eve-online-mcp",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "Read-only MCP access to the complete EVE Online ESI OpenAPI surface",
5
5
  "keywords": [
6
6
  "eve-online",
@@ -1,15 +0,0 @@
1
- import { type RoutePlan } from "../route-plan.js";
2
- import { type RenderedMap } from "./types.js";
3
- export declare const ROUTE_PAGE_JUMPS = 24;
4
- export declare function itineraryPage(plan: RoutePlan, page?: number): {
5
- nextPage?: number;
6
- page: number;
7
- pageCount: number;
8
- start: number;
9
- path: number[];
10
- };
11
- /** Deterministic, bounded route display. Every page-boundary jump remains visible. */
12
- export declare function renderItinerary(value: RoutePlan, page?: number, themeName?: "dark" | "light", presentation?: {
13
- title?: string;
14
- size?: "standard" | "wide";
15
- }): RenderedMap;
@@ -1,121 +0,0 @@
1
- import { routeValue } from "../route-plan.js";
2
- import { routePlanSchema } from "../route-plan.js";
3
- import { wrapText } from "./layout.js";
4
- import { MapError, mapRequestSchema } from "./types.js";
5
- import { MAP_FONT, MAP_THEMES } from "./themes.js";
6
- export const ROUTE_PAGE_JUMPS = 24;
7
- export function itineraryPage(plan, page = 0) {
8
- const pageCount = Math.max(1, Math.ceil(plan.totalJumps / ROUTE_PAGE_JUMPS));
9
- if (!Number.isInteger(page) || page < 0 || page >= pageCount)
10
- throw new MapError("ROUTE_PAGE_INVALID", "Requested route page is outside the complete plan.", { pageCount });
11
- const start = page * ROUTE_PAGE_JUMPS;
12
- const path = plan.path.slice(start, start + ROUTE_PAGE_JUMPS + 1);
13
- return {
14
- page,
15
- pageCount,
16
- start,
17
- path,
18
- ...(page + 1 < pageCount ? { nextPage: page + 1 } : {}),
19
- };
20
- }
21
- const xml = (text) => text.replace(/[&<>"']/g, (char) => routeValue({
22
- "&": "&amp;",
23
- "<": "&lt;",
24
- ">": "&gt;",
25
- '"': "&quot;",
26
- "'": "&apos;",
27
- }[char]));
28
- /** Deterministic, bounded route display. Every page-boundary jump remains visible. */
29
- export function renderItinerary(value, page = 0, themeName = "dark", presentation = {}) {
30
- const plan = routePlanSchema.parse(value), pagination = itineraryPage(plan, page);
31
- const theme = MAP_THEMES[themeName], systems = new Map(plan.systems.map((s) => [s.id, s]));
32
- const options = {
33
- title: mapRequestSchema.shape.title.parse(presentation.title),
34
- size: mapRequestSchema.shape.size.parse(presentation.size),
35
- };
36
- const width = options.size === "wide" ? 1600 : 1440;
37
- const cardWidth = (width - 88 - 4 * 16) / 5;
38
- const title = `${options.title ?? "Route itinerary"} / page ${page + 1} of ${pagination.pageCount}`;
39
- const svg = [
40
- `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="900" viewBox="0 0 ${width} 900" preserveAspectRatio="xMidYMid meet" role="img" aria-labelledby="map-title map-desc" font-family="${MAP_FONT}">`,
41
- `<title id="map-title">${xml(title)}</title><desc id="map-desc">Server-computed permanent-stargate route. Ordered visits, not geographic coordinates. No live safety assessment. Repeated transit systems are intentional.</desc>`,
42
- `<rect width="${width}" height="900" fill="${theme.background}"/>`,
43
- ];
44
- const text = (x, y, value, size = 18, color = theme.text) => svg.push(`<text x="${x}" y="${y}" font-size="${size}" fill="${color}">${xml(value)}</text>`);
45
- let titleSize = 28;
46
- while (titleSize > 12 && wrapText(title, titleSize, width - 88).length > 1)
47
- titleSize--;
48
- text(44, 48, title, titleSize);
49
- text(44, 82, `${plan.totalJumps} total jumps • ${plan.path.length} visits • ${plan.stopOrder === "optimize" ? "Exact minimum-jump stop order" : "Requested stop order"}`, 20);
50
- text(44, 113, `SDE build ${plan.source.buildNumber} • ${plan.source.stale ? "Stale snapshot; see source warning" : "Captured static snapshot"} • Not live intel`, 16);
51
- text(44, 143, `Visits ${pagination.start + 1}–${pagination.start + pagination.path.length} of ${plan.path.length}. Follow the numbered visits and arrows.`, 16);
52
- const positions = pagination.path.map((_id, index) => {
53
- const row = Math.floor(index / 5), column = row % 2 ? 4 - (index % 5) : index % 5;
54
- return { x: 44 + column * (cardWidth + 16), y: 170 + row * 132 };
55
- });
56
- positions.forEach((position, index) => {
57
- const next = positions[index + 1];
58
- if (!next)
59
- return;
60
- const down = next.y !== position.y, right = next.x > position.x;
61
- const a = {
62
- x: position.x + (down ? cardWidth / 2 : right ? cardWidth : 0),
63
- y: position.y + (down ? 120 : 60),
64
- }, b = {
65
- x: next.x + (down ? cardWidth / 2 : right ? 0 : cardWidth),
66
- y: next.y + (down ? 0 : 60),
67
- };
68
- const head = down
69
- ? `${b.x - 4},${b.y - 6} ${b.x},${b.y} ${b.x + 4},${b.y - 6}`
70
- : right
71
- ? `${b.x - 6},${b.y - 4} ${b.x},${b.y} ${b.x - 6},${b.y + 4}`
72
- : `${b.x + 6},${b.y - 4} ${b.x},${b.y} ${b.x + 6},${b.y + 4}`;
73
- svg.push(`<path d="M ${a.x} ${a.y} L ${b.x} ${b.y}" stroke="${theme.accent}" stroke-width="2" fill="none"/><path d="M ${head.replaceAll(" ", " L ")}" stroke="${theme.accent}" stroke-width="2" fill="none"/>`);
74
- });
75
- pagination.path.forEach((id, index) => {
76
- const s = routeValue(systems.get(id)), p = routeValue(positions[index]), visit = pagination.start + index;
77
- const stops = plan.stopSequence.flatMap((stop, i) => stop === id ? [i] : []);
78
- svg.push(`<g><title>${xml(`${visit + 1}: ${s.name}; system ${id}; raw security ${s.securityStatus}`)}</title><rect x="${p.x}" y="${p.y}" width="${cardWidth}" height="120" rx="8" fill="${theme.panel}" stroke="${theme.accent}"/>`);
79
- text(p.x + 12, p.y + 20, `Visit ${visit + 1}${visit === 0 ? " / START" : visit === plan.path.length - 1 ? " / FINISH" : stops.length ? " / STOP" : ""}`, 15);
80
- let fontSize = 14;
81
- while (fontSize > 10 &&
82
- wrapText(s.name, fontSize, cardWidth - 24).length > 5)
83
- fontSize--;
84
- wrapText(s.name, fontSize, cardWidth - 24).forEach((line, lineIndex) => text(p.x + 12, p.y + 39 + lineIndex * 13, line, fontSize));
85
- text(p.x + 12, p.y + 108, `Raw security: ${s.securityStatus.toFixed(3)}`, 13);
86
- svg.push("</g>");
87
- });
88
- text(44, 853, pagination.nextPage === undefined
89
- ? "End of route. No systems or jumps omitted."
90
- : `Continue with page ${pagination.nextPage + 1}. Its first visit repeats this page's final visit.`, 16);
91
- text(44, 880, "Schematic sequence only. No wormholes, cynos, temporary connections, cargo-capacity or safe-passage guarantee.", 14);
92
- svg.push("</svg>");
93
- const path = pagination.path.map((id) => ({
94
- id,
95
- name: routeValue(systems.get(id)).name,
96
- }));
97
- return {
98
- svg: svg.join(""),
99
- width,
100
- height: 900,
101
- title,
102
- summary: {
103
- systemCount: new Set(pagination.path).size,
104
- edgeCount: Math.max(0, path.length - 1),
105
- boundaryLabel: title,
106
- routes: [
107
- { label: "Verified route", systems: path, jumps: path.length - 1 },
108
- ],
109
- pointsOfInterest: [],
110
- },
111
- layout: {
112
- requested: "itinerary",
113
- used: "itinerary",
114
- coordinateBasis: "ordered route visits; schematic, not geographic",
115
- },
116
- completeness: { omittedLabels: 0, boundaryConnections: 0 },
117
- warnings: [],
118
- routePlan: plan,
119
- };
120
- }
121
- //# sourceMappingURL=itinerary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"itinerary.js","sourceRoot":"","sources":["../../../../lib/src/cartography/itinerary.ts"],"names":[],"mappings":"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"}