@barivia/barsom-mcp 0.6.5 → 0.7.1

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 (42) 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 +50 -2
  7. package/dist/shared.js.map +1 -1
  8. package/dist/tools/account.js +1 -1
  9. package/dist/tools/account.js.map +1 -1
  10. package/dist/tools/explore_map.d.ts +2 -1
  11. package/dist/tools/explore_map.d.ts.map +1 -1
  12. package/dist/tools/explore_map.js +121 -31
  13. package/dist/tools/explore_map.js.map +1 -1
  14. package/dist/tools/guide_barsom.d.ts.map +1 -1
  15. package/dist/tools/guide_barsom.js +2 -1
  16. package/dist/tools/guide_barsom.js.map +1 -1
  17. package/dist/tools/inference.d.ts.map +1 -1
  18. package/dist/tools/inference.js +29 -5
  19. package/dist/tools/inference.js.map +1 -1
  20. package/dist/tools/jobs.d.ts +58 -1
  21. package/dist/tools/jobs.d.ts.map +1 -1
  22. package/dist/tools/jobs.js +232 -92
  23. package/dist/tools/jobs.js.map +1 -1
  24. package/dist/tools/results.d.ts.map +1 -1
  25. package/dist/tools/results.js +56 -7
  26. package/dist/tools/results.js.map +1 -1
  27. package/dist/tools/training_guidance.js +1 -1
  28. package/dist/tools/training_guidance.js.map +1 -1
  29. package/dist/tools/training_prep.d.ts +4 -0
  30. package/dist/tools/training_prep.d.ts.map +1 -0
  31. package/dist/tools/training_prep.js +351 -0
  32. package/dist/tools/training_prep.js.map +1 -0
  33. package/dist/tools/training_review_store.d.ts +17 -0
  34. package/dist/tools/training_review_store.d.ts.map +1 -0
  35. package/dist/tools/training_review_store.js +54 -0
  36. package/dist/tools/training_review_store.js.map +1 -0
  37. package/dist/views/src/views/results-explorer/index.html +357 -0
  38. package/dist/views/src/views/training-prep/index.html +359 -0
  39. package/dist/viz-server.d.ts.map +1 -1
  40. package/dist/viz-server.js +51 -1
  41. package/dist/viz-server.js.map +1 -1
  42. 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":"guide_barsom.d.ts","sourceRoot":"","sources":["../../src/tools/guide_barsom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiD/D"}
1
+ {"version":3,"file":"guide_barsom.d.ts","sourceRoot":"","sources":["../../src/tools/guide_barsom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkD/D"}
@@ -18,11 +18,12 @@ Step 2: Preview & Preprocess
18
18
  - Use \`datasets(action=preview)\` to inspect columns, ranges, and types.
19
19
  - Check for skewed columns requiring 'log' or 'sqrt' transforms.
20
20
  - Check for cyclical or temporal features (hours, days) requiring \`cyclic_features\` or \`temporal_features\` during training.
21
+ - Raw categorical/text columns usually stay out of the first map. If one really matters, use explicit baseline \`categorical_features\` encoding rather than assuming advanced categorical embeddings.
21
22
 
22
23
  Step 3: Train the map
23
24
  - Call \`jobs(action=train_map, dataset_id=...)\` with the \`dataset_id\`.
24
25
  - Carefully select columns to include (start with 5-10).
25
- - Assign \`feature_weights\` (especially for categorical data with natural hierarchies).
26
+ - Assign \`feature_weights\` when some numeric or encoded features should matter more than others.
26
27
  - Wait for the returned \`job_id\`.
27
28
  - For projection and inference, use the same job_id from train_som (or the new job_id returned by recolor/project when applicable).
28
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"guide_barsom.js","sourceRoot":"","sources":["../../src/tools/guide_barsom.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB;;;sIAGkI,EAClI,EAAE,EACF,KAAK,IAAI,EAAE;QACT,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+KA8B6J;iBACpK;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"guide_barsom.js","sourceRoot":"","sources":["../../src/tools/guide_barsom.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB;;;sIAGkI,EAClI,EAAE,EACF,KAAK,IAAI,EAAE;QACT,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+KA+B6J;iBACpK;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -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,CA6M7D"}
@@ -18,7 +18,7 @@ NOT FOR: Retraining or changing the map — all actions treat the trained map as
18
18
  ESCALATION: If any action returns "missing column", verify column names with datasets(action=preview). Column names are case-sensitive and must match the training feature set exactly.
19
19
 
20
20
  action=predict: Returns predictions.csv with row_id, bmu_x, bmu_y, bmu_node_index, cluster_id, quantization_error, potential_anomaly (true when QE > 95th percentile; summary includes qe_p95 for the threshold). Use potential_anomaly for downstream anomaly filtering.
21
- Rows must use the same schema as training (including cyclic-expanded columns, e.g. key_cos, key_sin not raw key). High QE = row is far from its nearest prototype = potential anomaly. Accepts dataset_id OR inline rows (≤500).
21
+ Dataset/batch rows must use the same schema as training (including cyclic-expanded columns, e.g. key_cos, key_sin not raw key). For a single inline row only, the proxy can use the stateless model endpoint instead: raw categorical strings are allowed for baseline categorical_features models, and raw cyclic inputs are expanded from training config. High QE = row is far from its nearest prototype = potential anomaly. Accepts dataset_id OR inline rows (≤500).
22
22
  action=enrich: Uses the job's training dataset; do not pass dataset_id. Returns enriched.csv — original training CSV + bmu_x, bmu_y, bmu_node_index, cluster_id. When complete, get enriched.csv via results(action=download, job_id=<returned_enrich_job_id>). Filename: enriched.csv.
23
23
  action=compare: dataset_id must refer to a dataset with the same feature set as the training data (same column names and preprocessing, including cyclic expansion). A = training dataset (the map was trained on it). B = cohort to compare (the dataset_id you pass). Density-diff: positive = B gained vs A; negative = A had more. Using the same dataset as A and B yields a flat diff. Returns density-diff heatmap (e.g. density_diff.png).
24
24
  action=project_columns: Project one or more columns from a dataset onto the trained map. Pass dataset_id (the dataset containing the columns) and columns (array of column names). Uses cached BMUs when dataset is the training set; supports partial-feature mapping when dataset has only a subset of training features. Returns one component plane image per column. Get files via results(action=download, job_id=<returned_job_id>).
@@ -29,15 +29,39 @@ action=report: Returns a report manifest for the given job_id (job must be compl
29
29
  job_id: z.string().describe("Job ID of a completed map training job"),
30
30
  dataset_id: z.string().optional().describe("action=predict/compare/project_columns: Dataset ID. predict=input data to score; compare=dataset B; project_columns=dataset with columns to project."),
31
31
  columns: z.array(z.string()).optional().describe("action=project_columns: column names to project onto the map (must exist in the dataset)."),
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."),
32
+ rows: z.array(z.record(z.string(), z.union([z.number(), z.string()]))).optional().describe("action=predict: inline rows to score (max 500). For a single inline row, raw categorical strings are allowed for baseline categorical_features models. Batch rows should remain numeric and match the training schema."),
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");
43
+ if (!dataset_id && rows && rows.length === 1) {
44
+ const row = rows[0];
45
+ const data = (await apiCall("POST", `/v1/models/${job_id}/project`, { features: row }));
46
+ return {
47
+ content: [{
48
+ type: "text",
49
+ text: [
50
+ `Stateless inference complete — model: ${job_id}`,
51
+ `BMU: ${data.bmu?.join(", ") ?? "N/A"}`,
52
+ `Quantization error: ${data.quantization_error !== undefined ? Number(data.quantization_error).toFixed(4) : "N/A"}`,
53
+ `Anomaly score: ${data.anomaly_score !== undefined ? Number(data.anomaly_score).toFixed(4) : "N/A"}`,
54
+ data.regime ? `Regime: ${String(data.regime)}` : "",
55
+ ].filter(Boolean).join("\n"),
56
+ }],
57
+ };
58
+ }
59
+ if (rows && rows.length > 1) {
60
+ const hasStringValues = rows.some((row) => Object.values(row).some((value) => typeof value === "string"));
61
+ if (hasStringValues) {
62
+ throw new Error("Batch inline predict rows must remain numeric. For baseline categorical inference, submit a single inline row so the proxy can use the stateless model endpoint.");
63
+ }
64
+ }
41
65
  const body = {};
42
66
  if (dataset_id)
43
67
  body.dataset_id = dataset_id;
@@ -85,7 +109,7 @@ action=report: Returns a report manifest for the given job_id (job must be compl
85
109
  if (action === "compare") {
86
110
  if (!dataset_id)
87
111
  throw new Error("inference(compare) requires dataset_id (dataset B)");
88
- const body = { dataset_id, output_format, output_dpi, top_n };
112
+ const body = { dataset_id, output_format, output_dpi: numericDpi, top_n };
89
113
  if (colormap)
90
114
  body.colormap = colormap;
91
115
  const data = (await apiCall("POST", `/v1/results/${job_id}/compare_datasets`, body));
@@ -117,7 +141,7 @@ action=report: Returns a report manifest for the given job_id (job must be compl
117
141
  throw new Error("inference(project_columns) requires dataset_id");
118
142
  if (!columns || columns.length === 0)
119
143
  throw new Error("inference(project_columns) requires columns (non-empty array of column names)");
120
- const body = { dataset_id, columns, output_format, output_dpi };
144
+ const body = { dataset_id, columns, output_format, output_dpi: numericDpi };
121
145
  if (colormap)
122
146
  body.colormap = colormap;
123
147
  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":"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,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACnH,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,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,KAAK,EAAE,CAAC;YACvF,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,CAAC;YACzF,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
+ {"version":3,"file":"inference.js","sourceRoot":"","sources":["../../src/tools/inference.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,61 @@
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, FLooP max_nodes/effort), call the **training_guidance** tool or use the **prepare_training** prompt before training.\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.\n categorical_features: optional baseline categorical support using explicit weighted one-hot encoding. Provide the raw column name, allowed categories, and a weight. Advanced categorical embeddings are intentionally outside this default tool surface.\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.\n max_nodes is a total node budget, not a grid width or area. If omitted, the backend uses a dataset-size heuristic (roughly 2*sqrt(n_samples), capped for stability).\n effort controls passes only: quick\u224815, standard\u224830, thorough\u224860. If coverage collapses, reduce max_nodes before increasing effort.\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
+ normalize?: "all" | "auto" | "mad" | "sigmoidal" | string[];
41
+ sigma_f?: number;
42
+ learning_rate?: number | {
43
+ ordering: [number, number];
44
+ convergence: [number, number];
45
+ };
46
+ batch_size?: number;
47
+ quality_metrics?: "fast" | "standard" | "full" | string[];
48
+ backend?: "auto" | "cpu" | "gpu" | "gpu_graphs";
49
+ output_format?: "png" | "pdf" | "svg";
50
+ output_dpi?: "standard" | "retina" | "print";
51
+ colormap?: string;
52
+ row_range?: [number, number];
53
+ };
54
+ export declare function fetchTrainingPresets(): Promise<Record<string, TrainingPreset>>;
55
+ export declare function buildTrainMapParams(args: TrainMapLikeArgs, presets: Record<string, TrainingPreset>): {
56
+ params: Record<string, unknown>;
57
+ paramSummary: string;
58
+ effectiveGrid?: number[];
59
+ };
3
60
  export declare function registerJobsTool(server: McpServer, description: string): void;
4
61
  //# 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":"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"}