@barivia/barsom-mcp 0.6.4 → 0.7.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.
Files changed (38) hide show
  1. package/README.md +7 -5
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/shared.d.ts +85 -0
  5. package/dist/shared.d.ts.map +1 -1
  6. package/dist/shared.js +49 -1
  7. package/dist/shared.js.map +1 -1
  8. package/dist/tools/account.d.ts.map +1 -1
  9. package/dist/tools/account.js +14 -3
  10. package/dist/tools/account.js.map +1 -1
  11. package/dist/tools/explore_map.d.ts +2 -1
  12. package/dist/tools/explore_map.d.ts.map +1 -1
  13. package/dist/tools/explore_map.js +121 -31
  14. package/dist/tools/explore_map.js.map +1 -1
  15. package/dist/tools/inference.d.ts.map +1 -1
  16. package/dist/tools/inference.js +5 -3
  17. package/dist/tools/inference.js.map +1 -1
  18. package/dist/tools/jobs.d.ts +68 -1
  19. package/dist/tools/jobs.d.ts.map +1 -1
  20. package/dist/tools/jobs.js +231 -81
  21. package/dist/tools/jobs.js.map +1 -1
  22. package/dist/tools/results.d.ts.map +1 -1
  23. package/dist/tools/results.js +47 -7
  24. package/dist/tools/results.js.map +1 -1
  25. package/dist/tools/training_prep.d.ts +4 -0
  26. package/dist/tools/training_prep.d.ts.map +1 -0
  27. package/dist/tools/training_prep.js +342 -0
  28. package/dist/tools/training_prep.js.map +1 -0
  29. package/dist/tools/training_review_store.d.ts +17 -0
  30. package/dist/tools/training_review_store.d.ts.map +1 -0
  31. package/dist/tools/training_review_store.js +54 -0
  32. package/dist/tools/training_review_store.js.map +1 -0
  33. package/dist/views/src/views/results-explorer/index.html +357 -0
  34. package/dist/views/src/views/training-prep/index.html +359 -0
  35. package/dist/viz-server.d.ts.map +1 -1
  36. package/dist/viz-server.js +51 -1
  37. package/dist/viz-server.js.map +1 -1
  38. package/package.json +2 -2
@@ -1,39 +1,129 @@
1
1
  import { z } from "zod";
2
2
  import { registerAppTool } from "@modelcontextprotocol/ext-apps/server";
3
- import { apiCall, tryAttachImage, getClientSupportsMcpApps, getVizPort } from "../shared.js";
4
- export const MAP_EXPLORER_URI = "ui://barsom/map-explorer";
5
- export function registerExploreMapTool(server) {
6
- registerAppTool(server, "explore_map", {
7
- title: "Explore Map",
8
- description: "Interactive map explorer dashboard. Opens an inline visualization " +
9
- "where you can toggle features, click nodes, and export figures. " +
10
- "Use this after results(action=get) for a richer, interactive exploration experience. " +
11
- "Falls back to text+image on hosts that don't support MCP Apps.",
12
- inputSchema: {
13
- job_id: z.string().describe("Job ID of a completed map training job"),
3
+ import { apiCall, getClientSupportsMcpApps, getVizPort, getCaptionForImage, getResultsImagesToFetch, structuredTextResult, tryAttachImage, } from "../shared.js";
4
+ export const RESULTS_EXPLORER_URI = "ui://barsom/results-explorer";
5
+ export const MAP_EXPLORER_URI = RESULTS_EXPLORER_URI;
6
+ function labelForFigure(filename) {
7
+ const base = filename.replace(/\.(png|pdf|svg)$/i, "");
8
+ if (base === "combined")
9
+ return "Combined view";
10
+ if (base === "umatrix")
11
+ return "U-matrix";
12
+ if (base === "hit_histogram")
13
+ return "Hit histogram";
14
+ if (base === "learning_curve")
15
+ return "Learning curve";
16
+ if (base === "correlation")
17
+ return "Correlation";
18
+ if (base.startsWith("component_")) {
19
+ const feature = base.replace(/^component_\d+_/, "").replace(/_/g, " ");
20
+ return feature ? `Component: ${feature}` : "Component plane";
21
+ }
22
+ return base.replace(/_/g, " ");
23
+ }
24
+ function buildAvailableFigures(jobId, summary) {
25
+ const jobType = summary.job_type ?? "train_som";
26
+ const files = (summary.files ?? []).filter((file) => /\.(png|pdf|svg)$/i.test(file));
27
+ const fallback = getResultsImagesToFetch(jobType, summary, "default", false);
28
+ const figureFiles = files.length > 0 ? files : fallback;
29
+ const port = getVizPort();
30
+ return figureFiles.map((filename) => {
31
+ const base = filename.replace(/\.(png|pdf|svg)$/i, "");
32
+ const featureName = base.startsWith("component_")
33
+ ? base.replace(/^component_\d+_/, "").replace(/_/g, " ")
34
+ : undefined;
35
+ const isRaster = /\.(png|jpe?g|gif|webp)$/i.test(filename);
36
+ return {
37
+ key: base,
38
+ label: labelForFigure(filename),
39
+ filename,
40
+ kind: base.startsWith("component_") ? "component" : base === "combined" ? "summary" : "diagnostic",
41
+ featureName,
42
+ caption: getCaptionForImage(filename) || (!isRaster ? "This figure is available for download, but it is not inline-displayable in this first iteration." : undefined),
43
+ url: port && isRaster ? `http://localhost:${port}/api/results/${jobId}/image/${filename}` : undefined,
44
+ };
45
+ });
46
+ }
47
+ function buildPayload(jobId, data) {
48
+ const summary = (data.summary ?? {});
49
+ const figures = buildAvailableFigures(jobId, summary);
50
+ const grid = summary.grid ?? [];
51
+ const metrics = [
52
+ { label: "Grid", value: grid.length >= 2 ? `${grid[0]}×${grid[1]}` : "N/A" },
53
+ { label: "Model", value: String(summary.model ?? "SOM") },
54
+ { label: "QE", value: summary.quantization_error != null ? Number(summary.quantization_error).toFixed(4) : "N/A" },
55
+ { label: "TE", value: summary.topographic_error != null ? Number(summary.topographic_error).toFixed(4) : "N/A" },
56
+ { label: "Samples", value: String(summary.n_samples ?? "N/A") },
57
+ { label: "Features", value: String(summary.n_features ?? "N/A") },
58
+ ];
59
+ const highlights = [
60
+ summary.training_duration_seconds != null ? `Training duration: ${summary.training_duration_seconds}s` : "",
61
+ summary.transforms ? `Transforms: ${Object.entries(summary.transforms).map(([feature, transform]) => `${feature}=${transform}`).join(", ")}` : "",
62
+ summary.selected_columns ? `Variables: ${summary.selected_columns.join(", ")}` : "",
63
+ ].filter(Boolean);
64
+ const port = getVizPort();
65
+ return {
66
+ type: "results-explorer",
67
+ jobId,
68
+ title: "Results Explorer",
69
+ subtitle: String(data.label ?? ""),
70
+ model: String(summary.model ?? "SOM"),
71
+ gridLabel: grid.length >= 2 ? `${grid[0]}×${grid[1]}` : undefined,
72
+ metrics,
73
+ highlights,
74
+ availableFigures: figures,
75
+ defaultFigureKey: figures.find((figure) => figure.key === "combined" && figure.url)?.key
76
+ ?? figures.find((figure) => Boolean(figure.url))?.key
77
+ ?? figures.find((figure) => figure.key === "combined")?.key
78
+ ?? figures[0]?.key,
79
+ standaloneUrl: port ? `http://localhost:${port}/viz/results-explorer?mode=standalone&job_id=${jobId}` : undefined,
80
+ };
81
+ }
82
+ async function handleResultsExplorer(job_id) {
83
+ const data = (await apiCall("GET", `/v1/results/${job_id}`));
84
+ const payload = buildPayload(job_id, data);
85
+ const summary = (data.summary ?? {});
86
+ const content = [
87
+ {
88
+ type: "text",
89
+ text: [
90
+ `Results Explorer ready for job ${job_id}.`,
91
+ payload.gridLabel ? `Grid: ${payload.gridLabel}` : "",
92
+ payload.subtitle ? `Label: ${payload.subtitle}` : "",
93
+ payload.highlights[0] ?? "",
94
+ ].filter(Boolean).join("\n"),
14
95
  },
15
- _meta: { ui: { resourceUri: MAP_EXPLORER_URI } },
16
- }, async ({ job_id }) => {
17
- const data = (await apiCall("GET", `/v1/results/${job_id}`));
18
- const summary = (data.summary ?? {});
19
- const content = [];
96
+ ];
97
+ const defaultFigure = payload.availableFigures.find((figure) => figure.key === payload.defaultFigureKey);
98
+ if (defaultFigure) {
99
+ await tryAttachImage(content, job_id, defaultFigure.filename);
100
+ }
101
+ else {
102
+ const ext = summary.output_format ?? "png";
103
+ await tryAttachImage(content, job_id, `combined.${ext}`);
104
+ }
105
+ if (!getClientSupportsMcpApps() && payload.standaloneUrl) {
20
106
  content.push({
21
107
  type: "text",
22
- text: JSON.stringify({
23
- job_id,
24
- summary,
25
- download_urls: data.download_urls,
26
- }),
108
+ text: `Interactive visualization: ${payload.standaloneUrl}\nOpen this URL in your browser for a richer results exploration experience.`,
27
109
  });
28
- const imgExt = summary.output_format ?? "pdf";
29
- await tryAttachImage(content, job_id, `combined.${imgExt}`);
30
- if (!getClientSupportsMcpApps() && getVizPort()) {
31
- content.push({
32
- type: "text",
33
- text: `Interactive visualization: http://localhost:${getVizPort()}/viz/map-explorer?mode=standalone&job_id=${job_id}\nOpen this URL in your browser for an interactive exploration experience.`,
34
- });
35
- }
36
- return { content };
37
- });
110
+ }
111
+ return structuredTextResult(payload, undefined, content);
112
+ }
113
+ export function registerExploreMapTool(server) {
114
+ const toolConfig = {
115
+ title: "Results Explorer",
116
+ description: "Interactive results explorer for a completed map job. Opens a simple responsive view for browsing key metrics and available figures. Falls back to a standalone localhost page when needed.",
117
+ inputSchema: {
118
+ job_id: z.string().describe("Job ID of a completed map training job"),
119
+ },
120
+ _meta: { ui: { resourceUri: RESULTS_EXPLORER_URI } },
121
+ };
122
+ registerAppTool(server, "results_explorer", toolConfig, async ({ job_id }) => handleResultsExplorer(job_id));
123
+ registerAppTool(server, "explore_map", {
124
+ ...toolConfig,
125
+ title: "Results Explorer",
126
+ description: `${toolConfig.description} This legacy alias remains for compatibility.`,
127
+ }, async ({ job_id }) => handleResultsExplorer(job_id));
38
128
  }
39
129
  //# sourceMappingURL=explore_map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"explore_map.js","sourceRoot":"","sources":["../../src/tools/explore_map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAC;AAE/G,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,eAAe,CACb,MAAM,EACN,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,oEAAoE;YACpE,kEAAkE;YAClE,uFAAuF;YACvF,gEAAgE;QAClE,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACtE;QACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE;KACjD,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,EAAE,CAAC,CAA4B,CAAC;QACxF,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;QAChE,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM;gBACN,OAAO;gBACP,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,MAAM,GAAI,OAAO,CAAC,aAAwB,IAAI,KAAK,CAAC;QAC1D,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,MAAM,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,wBAAwB,EAAE,IAAI,UAAU,EAAE,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,+CAA+C,UAAU,EAAE,4CAA4C,MAAM,4EAA4E;aAChM,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"explore_map.js","sourceRoot":"","sources":["../../src/tools/explore_map.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../src/tools/inference.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqL7D"}
1
+ {"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../src/tools/inference.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuL7D"}
@@ -32,9 +32,11 @@ action=report: Returns a report manifest for the given job_id (job must be compl
32
32
  rows: z.array(z.record(z.string(), z.number())).optional().describe("action=predict: inline rows to score (max 500). Each object maps feature name → value."),
33
33
  colormap: z.string().optional().describe("action=compare: colormap for diff heatmap (default: balance). action=report: n/a."),
34
34
  output_format: z.enum(["png", "pdf", "svg"]).optional().default("png").describe("action=compare: output format for heatmap (default: png)"),
35
- output_dpi: z.number().int().min(1).max(4).optional().default(2).describe("action=compare: DPI scale (default: 2)"),
35
+ output_dpi: z.enum(["standard", "retina", "print"]).optional().default("retina").describe("Resolution: standard (1x), retina (2x, default), print (4x)"),
36
36
  top_n: z.number().int().min(1).max(50).optional().default(10).describe("action=compare: number of top gained/lost nodes to report (default: 10)"),
37
37
  }, async ({ action, job_id, dataset_id, columns, rows, colormap, output_format, output_dpi, top_n }) => {
38
+ const dpiMap = { standard: 1, retina: 2, print: 4 };
39
+ const numericDpi = dpiMap[output_dpi ?? "retina"] ?? 2;
38
40
  if (action === "predict") {
39
41
  if (!dataset_id && !rows)
40
42
  throw new Error("inference(predict) requires dataset_id or rows");
@@ -85,7 +87,7 @@ action=report: Returns a report manifest for the given job_id (job must be compl
85
87
  if (action === "compare") {
86
88
  if (!dataset_id)
87
89
  throw new Error("inference(compare) requires dataset_id (dataset B)");
88
- const body = { dataset_id, output_format, output_dpi, top_n };
90
+ const body = { dataset_id, output_format, output_dpi: numericDpi, top_n };
89
91
  if (colormap)
90
92
  body.colormap = colormap;
91
93
  const data = (await apiCall("POST", `/v1/results/${job_id}/compare_datasets`, body));
@@ -117,7 +119,7 @@ action=report: Returns a report manifest for the given job_id (job must be compl
117
119
  throw new Error("inference(project_columns) requires dataset_id");
118
120
  if (!columns || columns.length === 0)
119
121
  throw new Error("inference(project_columns) requires columns (non-empty array of column names)");
120
- const body = { dataset_id, columns, output_format, output_dpi };
122
+ const body = { dataset_id, columns, output_format, output_dpi: numericDpi };
121
123
  if (colormap)
122
124
  body.colormap = colormap;
123
125
  const data = (await apiCall("POST", `/v1/results/${job_id}/project_columns`, body));
@@ -1 +1 @@
1
- {"version":3,"file":"inference.js","sourceRoot":"","sources":["../../src/tools/inference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inference.js","sourceRoot":"","sources":["../../src/tools/inference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAE5F,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,IAAI,CACT,WAAW,EACX;;;;;;;;;;;;;;;;;;;;;4fAqBwf,EACxf;QACE,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;aACnE,QAAQ,CAAC,iNAAiN,CAAC;QAC9N,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sJAAsJ,CAAC;QAClM,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2FAA2F,CAAC;QAC7I,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wFAAwF,CAAC;QAC7J,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;QAC7H,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QAC3I,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC;QACxJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,yEAAyE,CAAC;KAClJ,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;QAClG,MAAM,MAAM,GAA2B,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC5F,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,IAAI,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7C,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC3B,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,eAAe,MAAM,UAAU,EAAE,IAAI,CAAC,CAA4B,CAAC;YACvG,MAAM,YAAY,GAAG,IAAI,CAAC,EAAY,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,YAAY,EAAE,CAAC,CAA4B,CAAC;gBACjG,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;gBACnE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAA2B,CAAC;gBACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE;gCAChD,+BAA+B,YAAY,EAAE;gCAC7C,gBAAgB,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE;gCACvC,YAAY,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gCAC9K,aAAa,MAAM,CAAC,IAAI,CAAE,OAAO,CAAC,cAAyB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gCAC3E,8JAA8J;gCAC9J,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;6BACtE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,YAAY,YAAY,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC;YACvK,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,YAAY,qDAAqD,YAAY,KAAK,EAAE,CAAC,EAAE,CAAC;QACtK,CAAC;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,eAAe,MAAM,iBAAiB,EAAE,EAAE,CAAC,CAA4B,CAAC;YAC5G,MAAM,WAAW,GAAG,IAAI,CAAC,EAAY,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,WAAW,EAAE,CAAC,CAA4B,CAAC;gBAChG,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;gBACnE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAA2B,CAAC;gBACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE;gCAChD,iCAAiC,WAAW,EAAE;gCAC9C,SAAS,OAAO,CAAC,MAAM,IAAI,GAAG,gBAAgB,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE;gCACzE,oDAAoD;gCACpD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;6BAChE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,WAAW,YAAY,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC;YACrK,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,WAAW,qDAAqD,WAAW,KAAK,EAAE,CAAC,EAAE,CAAC;QACnK,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACvF,MAAM,IAAI,GAA4B,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YACnG,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,eAAe,MAAM,mBAAmB,EAAE,IAAI,CAAC,CAA4B,CAAC;YAChH,MAAM,YAAY,GAAG,IAAI,CAAC,EAAY,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,YAAY,EAAE,CAAC,CAA4B,CAAC;gBACjG,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;gBACnE,MAAM,MAAM,GAAI,OAAO,CAAC,gBAAmD,IAAI,EAAE,CAAC;gBAClF,MAAM,IAAI,GAAI,OAAO,CAAC,cAAiD,IAAI,EAAE,CAAC;gBAC9E,MAAM,OAAO,GAAG,CAAC,CAA0B,EAAE,EAAE,CAC7C,UAAU,CAAC,CAAC,UAAU,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAkB,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5J,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;4BACpD,6BAA6B,YAAY,EAAE;4BAC3C,mBAAmB,OAAO,CAAC,QAAQ,IAAI,GAAG,sBAAsB,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE;4BACzF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;4BACvF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;yBAClF,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+GAA+G,EAAE,CAAC,CAAC;gBACtJ,MAAM,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAiB,OAAO,CAAC,aAAwB,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC,CAAC;gBAC3H,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,YAAY,YAAY,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC;YACvK,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,YAAY,qDAAqD,YAAY,KAAK,EAAE,CAAC,EAAE,CAAC;QACtK,CAAC;QAED,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACnF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;YACvI,MAAM,IAAI,GAA4B,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;YACrG,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,eAAe,MAAM,kBAAkB,EAAE,IAAI,CAAC,CAA4B,CAAC;YAC/G,MAAM,SAAS,GAAG,IAAI,CAAC,EAAY,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,SAAS,EAAE,CAAC,CAA4B,CAAC;gBAC9F,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;gBACnE,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAA4C,CAAC;gBAC5F,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAa,CAAC;gBAChD,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC3F,MAAM,KAAK,GAAG;oBACZ,mCAAmC,SAAS,EAAE;oBAC9C,YAAa,OAAO,CAAC,OAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE;oBACpH,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;wBAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,iBAAiB,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC9D,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS;4BAAE,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC7D,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS;4BAAE,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC7D,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;4BAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAChE,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS;4BAAE,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC7D,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,CAAC,CAAC;oBACF,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;iBACpK,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1F,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kCAAkC,SAAS,YAAY,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC;YAC5K,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kCAAkC,SAAS,qDAAqD,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC;QACxK,CAAC;QAED,sBAAsB;QACtB,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,EAAE,CAAC,CAA4B,CAAC;QAC3F,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAA2B,CAAC;QAC9E,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAsD,CAAC;QAC7G,MAAM,eAAe,GAAG,OAAO,CAAC,eAA6D,CAAC;QAC9F,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;QAE7C,MAAM,KAAK,GAAa;YACtB,0BAA0B,MAAM,EAAE;YAClC,0FAA0F,UAAU,IAAI;YACxG,EAAE;YACF,4CAA4C;YAC5C,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjF,eAAe,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,eAAe,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;YAClF,EAAE;YACF,qFAAqF;YACrF,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;iBAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,sBAAsB,CAAC;iBACnE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAM,aAAwC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;YACzF,EAAE;YACF,eAAe,EAAE,MAAM;gBACrB,CAAC,CAAC,oBAAoB,eAAe,CAAC,MAAM,qDAAqD;gBACjG,CAAC,CAAC,oFAAoF;YACxF,EAAE;YACF,8HAA8H;SAC/H,CAAC;QACF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,YAAY,EAAE;gBAC7C,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wCAAwC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC,CAAC,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;aACvN;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,71 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare const JOBS_DESCRIPTION_BASE = "Manage and inspect jobs.\n\n| Action | Use when |\n|--------|----------|\n| status | Polling after any async job submission \u2014 call every 10\u201315s |\n| list | Finding job IDs, checking what is pending/completed, reviewing hyperparameters. Response includes job_type (train_map, enrich, report, recolor, project, transition_flow, compare, predict) to filter or display. |\n| compare | Picking the best training run from a set of completed jobs |\n| train_map | Submitting a new map training job \u2014 returns job_id for polling |\n| cancel | Stopping a running or pending job to free the worker |\n| delete | Permanently removing a job and all its S3 result files |\n\nFor parameter hints (grid, epochs, batch, model, periodic), call the **training_guidance** tool or use the **prepare_training** prompt before train_map.\n\nASYNC POLLING PROTOCOL (action=status):\n- Poll every 10-15 seconds. Do NOT poll faster \u2014 it wastes context.\n- Progress increases through phases (ordering then convergence for map training). Other job types may use different phase logic.\n- For large grids (40\u00D740+), do not assume failure before 3 minutes on CPU.\n- Wait for status \"completed\" before calling results(action=get).\n- Map training typical times: 10\u00D710 ~30s | 20\u00D720 ~3\u20135 min | 40\u00D740 ~15\u201330 min.\n\nESCALATION (action=status):\n- completed \u2192 call results(action=get) to retrieve the map and metrics\n- failed \u2192 error message and optional failure_stage (e.g. preprocessing, training, metrics, visualization, upload) indicate which phase broke:\n - memory/allocation error: reduce batch_size or grid size and retrain\n - column missing: verify with datasets(action=preview)\n - NaN error: user must clean the dataset\n\naction=train_map: Submits a training job. Returns job_id \u2014 poll with jobs(action=status, job_id=...).\n Presets: quick | standard | refined | high_res \u2014 use preset=... for grid/epochs/batch defaults; call training_guidance for details.\n Presets refined/high_res may use GPU. On CPU-only hosts pass backend=cpu. API expects strings \"cpu\" | \"gpu\" | \"gpu_graphs\" (no colon). Future backends (e.g. non-CUDA) may be added under the same contract.\n normalize: \"auto\" (default) = scale only non-cyclic features; \"all\" = scale every feature. Use \"auto\" when using cyclic_features.\naction=compare: Returns a metrics table (QE, TE, explained variance, silhouette) for 2+ jobs.\naction=cancel: Not instant \u2014 worker checks between phases. Expect up to 30s delay.\naction=delete: WARNING \u2014 job ID will no longer work with results or any other tool.";
2
+ export declare const JOBS_DESCRIPTION_BASE = "Manage and inspect jobs.\n\n| Action | Use when |\n|--------|----------|\n| status | Polling after any async job submission \u2014 call every 10\u201315s |\n| list | Finding job IDs, checking what is pending/completed, reviewing hyperparameters. Response includes job_type (train_map, enrich, report, recolor, project, transition_flow, compare, predict) to filter or display. |\n| compare | Picking the best training run from a set of completed jobs |\n| train_map | Submitting a new map training job \u2014 returns job_id for polling |\n| train_siom_map | Submitting a self-interacting map training job \u2014 same map flow with SIOM coverage control |\n| train_floop_chain | Submitting a FLooP-SIOM principal-curve training job |\n| cancel | Stopping a running or pending job to free the worker |\n| delete | Permanently removing a job and all its S3 result files |\n\nFor parameter hints (grid, epochs, batch, model, periodic), call the **training_guidance** tool or use the **prepare_training** prompt before train_map.\n\nASYNC POLLING PROTOCOL (action=status):\n- Poll every 10-15 seconds. Do NOT poll faster \u2014 it wastes context.\n- Progress increases through phases (ordering then convergence for map training). Other job types may use different phase logic.\n- For large grids (40\u00D740+), do not assume failure before 3 minutes on CPU.\n- Wait for status \"completed\" before calling results(action=get).\n- Map training typical times: 10\u00D710 ~30s | 20\u00D720 ~3\u20135 min | 40\u00D740 ~15\u201330 min.\n\nESCALATION (action=status):\n- completed \u2192 call results(action=get) to retrieve the map and metrics\n- failed \u2192 error message and optional failure_stage (e.g. preprocessing, training, metrics, visualization, upload) indicate which phase broke:\n - memory/allocation error: reduce batch_size or grid size and retrain\n - column missing: verify with datasets(action=preview)\n - NaN error: user must clean the dataset\n\naction=train_map / train_siom_map: Submits a grid-map training job. Returns job_id \u2014 poll with jobs(action=status, job_id=...).\n Presets: quick | standard | refined | high_res \u2014 use preset=... for grid/epochs/batch defaults; call training_guidance for details.\n Presets refined/high_res may use GPU. On CPU-only hosts pass backend=cpu. API expects strings \"cpu\" | \"gpu\" | \"gpu_graphs\" (no colon). Future backends (e.g. non-CUDA) may be added under the same contract.\n normalize: \"auto\" (default) = scale only non-cyclic features; \"all\" = scale every feature. Use \"auto\" when using cyclic_features.\naction=train_floop_chain: Submits a FLooP-SIOM job. Use when you want a growing chain/free-topology manifold instead of a fixed hex grid. Key params: topology=free|chain, max_nodes, effort, gamma, siom_decay.\naction=compare: Returns a metrics table (QE, TE, explained variance, silhouette) for 2+ jobs.\naction=cancel: Not instant \u2014 worker checks between phases. Expect up to 30s delay.\naction=delete: WARNING \u2014 job ID will no longer work with results or any other tool.";
3
+ export type TrainingPreset = {
4
+ grid: number[];
5
+ epochs: number[];
6
+ batch_size: number;
7
+ backend?: string;
8
+ };
9
+ export type TrainMapLikeArgs = {
10
+ preset?: "quick" | "standard" | "refined" | "high_res";
11
+ grid_x?: number;
12
+ grid_y?: number;
13
+ epochs?: number | number[];
14
+ model?: "SOM" | "RSOM" | "SOM-SOFT" | "RSOM-SOFT";
15
+ periodic?: boolean;
16
+ columns?: string[];
17
+ cyclic_features?: Array<{
18
+ feature: string;
19
+ period: number;
20
+ }>;
21
+ temporal_features?: Array<{
22
+ columns: string[];
23
+ format: string;
24
+ extract: Array<"hour_of_day" | "day_of_year" | "month" | "day_of_week" | "minute_of_hour">;
25
+ cyclic?: boolean;
26
+ separator?: string;
27
+ }>;
28
+ feature_weights?: Record<string, number>;
29
+ transforms?: Record<string, "log" | "log1p" | "log10" | "sqrt" | "square" | "abs" | "invert" | "rank" | "none">;
30
+ auto_log_transforms?: boolean;
31
+ time_delay_embeddings?: Array<{
32
+ feature: string;
33
+ lags: number[];
34
+ }>;
35
+ categorical_features?: Array<{
36
+ feature: string;
37
+ categories: string[];
38
+ weight: number;
39
+ }>;
40
+ mca_features?: Array<{
41
+ target_features: string[];
42
+ n_components: number;
43
+ }>;
44
+ hierarchical_features?: Array<{
45
+ feature: string;
46
+ categories: string[];
47
+ distance_matrix: number[][];
48
+ n_components: number;
49
+ }>;
50
+ normalize?: "all" | "auto" | "mad" | "sigmoidal" | string[];
51
+ sigma_f?: number;
52
+ learning_rate?: number | {
53
+ ordering: [number, number];
54
+ convergence: [number, number];
55
+ };
56
+ batch_size?: number;
57
+ quality_metrics?: "fast" | "standard" | "full" | string[];
58
+ backend?: "auto" | "cpu" | "gpu" | "gpu_graphs";
59
+ output_format?: "png" | "pdf" | "svg";
60
+ output_dpi?: "standard" | "retina" | "print";
61
+ colormap?: string;
62
+ row_range?: [number, number];
63
+ };
64
+ export declare function fetchTrainingPresets(): Promise<Record<string, TrainingPreset>>;
65
+ export declare function buildTrainMapParams(args: TrainMapLikeArgs, presets: Record<string, TrainingPreset>): {
66
+ params: Record<string, unknown>;
67
+ paramSummary: string;
68
+ effectiveGrid?: number[];
69
+ };
3
70
  export declare function registerJobsTool(server: McpServer, description: string): void;
4
71
  //# sourceMappingURL=jobs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,eAAO,MAAM,qBAAqB,mlFAiCkD,CAAC;AAErF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAsS7E"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,eAAO,MAAM,qBAAqB,kgGAoCkD,CAAC;AAErF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,KAAK,CAAC,aAAa,GAAG,aAAa,GAAG,OAAO,GAAG,aAAa,GAAG,gBAAgB,CAAC,CAAC;QAC3F,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;IAChH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnE,oBAAoB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxF,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,eAAe,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,qBAAqB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5H,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,EAAE,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,CAAC;IAChD,aAAa,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACtC,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAGpF;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACtC;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CA4EA;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAyW7E"}