@cyanheads/eurostat-mcp-server 0.10.1 → 0.11.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 (66) hide show
  1. package/AGENTS.md +15 -4
  2. package/CLAUDE.md +15 -4
  3. package/Dockerfile +4 -0
  4. package/README.md +41 -102
  5. package/changelog/0.11.x/0.11.0.md +33 -0
  6. package/changelog/0.11.x/0.11.1.md +23 -0
  7. package/dist/config/server-config.js +1 -1
  8. package/dist/config/server-config.js.map +1 -1
  9. package/dist/index.js +4 -9
  10. package/dist/index.js.map +1 -1
  11. package/dist/mcp-server/tools/clamp-read-limit.d.ts +1 -1
  12. package/dist/mcp-server/tools/clamp-read-limit.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/clamp-read-limit.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.d.ts.map +1 -1
  15. package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js +6 -5
  16. package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js.map +1 -1
  17. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.d.ts.map +1 -1
  18. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.js +9 -56
  19. package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.js.map +1 -1
  20. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts +6 -6
  21. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts.map +1 -1
  22. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js +39 -18
  23. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.d.ts +71 -2
  25. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.d.ts.map +1 -1
  26. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js +50 -57
  27. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js.map +1 -1
  28. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts +6 -4
  29. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts.map +1 -1
  30. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js +108 -37
  31. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js.map +1 -1
  32. package/dist/mcp-server/tools/hoist-dimensions.d.ts +18 -0
  33. package/dist/mcp-server/tools/hoist-dimensions.d.ts.map +1 -0
  34. package/dist/mcp-server/tools/hoist-dimensions.js +29 -0
  35. package/dist/mcp-server/tools/hoist-dimensions.js.map +1 -0
  36. package/dist/mcp-server/tools/narrowing-advice.d.ts +8 -7
  37. package/dist/mcp-server/tools/narrowing-advice.d.ts.map +1 -1
  38. package/dist/mcp-server/tools/narrowing-advice.js +16 -9
  39. package/dist/mcp-server/tools/narrowing-advice.js.map +1 -1
  40. package/dist/mcp-server/tools/value-list-paging.d.ts +1 -29
  41. package/dist/mcp-server/tools/value-list-paging.d.ts.map +1 -1
  42. package/dist/mcp-server/tools/value-list-paging.js +1 -47
  43. package/dist/mcp-server/tools/value-list-paging.js.map +1 -1
  44. package/dist/services/eurostat-bulk/eurostat-bulk-service.d.ts.map +1 -1
  45. package/dist/services/eurostat-bulk/eurostat-bulk-service.js +31 -5
  46. package/dist/services/eurostat-bulk/eurostat-bulk-service.js.map +1 -1
  47. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts +1 -0
  48. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts.map +1 -1
  49. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js +14 -3
  50. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js.map +1 -1
  51. package/dist/services/eurostat-data/eurostat-data-service.d.ts +5 -1
  52. package/dist/services/eurostat-data/eurostat-data-service.d.ts.map +1 -1
  53. package/dist/services/eurostat-data/eurostat-data-service.js +66 -26
  54. package/dist/services/eurostat-data/eurostat-data-service.js.map +1 -1
  55. package/dist/services/eurostat-data/types.d.ts +9 -10
  56. package/dist/services/eurostat-data/types.d.ts.map +1 -1
  57. package/dist/services/eurostat-data/types.js +2 -2
  58. package/dist/services/eurostat-data/types.js.map +1 -1
  59. package/dist/services/eurostat-periods.d.ts +107 -1
  60. package/dist/services/eurostat-periods.d.ts.map +1 -1
  61. package/dist/services/eurostat-periods.js +182 -7
  62. package/dist/services/eurostat-periods.js.map +1 -1
  63. package/package.json +8 -7
  64. package/server.json +9 -9
  65. package/skills/eurostat-guide/SKILL.md +60 -0
  66. package/skills/eurostat-guide/references/sql-analysis.md +40 -0
@@ -6,7 +6,8 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
6
6
  import { CanvasIdSchema } from '@cyanheads/mcp-ts-core/canvas';
7
7
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
8
8
  import { decodeCursor, encodeCursor } from '@cyanheads/mcp-ts-core/utils';
9
- import { filterTokens, fitPage, INLINE_BUDGET_BYTES, matchValues, utf8Bytes, } from '../value-list-paging.js';
9
+ import { clampReadLimit } from '../clamp-read-limit.js';
10
+ import { filterTokens, matchValues } from '../value-list-paging.js';
10
11
  import { acquireCanvas, getCanvas, isCanvasFailure, newTableName, } from '../../../services/canvas-accessor.js';
11
12
  import { getEurostatDataService } from '../../../services/eurostat-data/eurostat-data-service.js';
12
13
  import { GEO_LEVEL_VALUES } from '../../../services/eurostat-data/types.js';
@@ -22,12 +23,12 @@ const VALUE_TABLE_SCHEMA = [
22
23
  ];
23
24
  /** Longest filter accepted: room for many words, while its echo and cursor stay small. */
24
25
  const FILTER_MAX_CHARS = 500;
25
- /** Page length when no limit was given: the byte budget alone ends the page. */
26
- const NO_LIMIT = Number.MAX_SAFE_INTEGER;
26
+ /** Count limit shared by first pages and legacy cursor continuations. */
27
+ const MAX_PAGE_SIZE = 1000;
27
28
  /** A blank or whitespace-only string from a form client is "unset", never a value to validate. */
28
29
  const blankAsUnset = (schema) => z.preprocess((value) => (typeof value === 'string' && value.trim() === '' ? undefined : value), schema);
29
30
  const formatCount = (n) => n.toLocaleString('en-US');
30
- /** The `content[]` text of the payload — `format()`'s body, shared with the byte measure. */
31
+ /** The `content[]` text of the payload. */
31
32
  function renderText(result) {
32
33
  const listed = result.values.length;
33
34
  const partial = (of) => (listed < of ? ` — ${listed} listed below` : '');
@@ -50,21 +51,6 @@ function renderText(result) {
50
51
  }
51
52
  return lines.join('\n');
52
53
  }
53
- /**
54
- * The framework's `content[]` trailer for one page's enrichment: generic
55
- * `**key:** value` lines, then the notice as a block quote, newline-joined. It
56
- * is mirrored here so a page is measured as the caller receives it; a paging
57
- * test pins the trailer the framework composes to this exact text, so the two
58
- * cannot drift apart unnoticed.
59
- */
60
- function renderTrailer(enrichment) {
61
- const fields = [
62
- ...(enrichment.truncated ? ['**truncated:** true'] : []),
63
- ...(enrichment.nextCursor ? [`**nextCursor:** ${enrichment.nextCursor}`] : []),
64
- ...(enrichment.notice ? [`> ${enrichment.notice}`] : []),
65
- ];
66
- return fields.length > 0 ? `\n\n${fields.join('\n')}` : '';
67
- }
68
54
  /**
69
55
  * Decode a cursor and confirm it belongs to this call in every binding the input
70
56
  * alone settles; `undefined` when it does not. Malformed and mismatched cursors
@@ -77,9 +63,13 @@ function readCursor(cursor, binding, ctx) {
77
63
  const state = decodeCursor(cursor, ctx);
78
64
  if (typeof state.after === 'string' &&
79
65
  state.dataset === binding.dataset &&
80
- state.dimension === binding.dimension &&
81
66
  state.filter === binding.filter) {
82
- return { after: state.after, geoLevel: state.geoLevel, limit: state.limit };
67
+ return {
68
+ after: state.after,
69
+ dimension: state.dimension,
70
+ geoLevel: state.geoLevel,
71
+ limit: state.limit,
72
+ };
83
73
  }
84
74
  }
85
75
  catch {
@@ -89,9 +79,23 @@ function readCursor(cursor, binding, ctx) {
89
79
  }
90
80
  /** The refusal of a cursor that is malformed or belongs to another call. */
91
81
  const UNUSABLE_CURSOR = 'Unusable cursor: it is malformed, or was issued for a different dataset_code, dimension, geo_level or filter.';
92
- export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values', {
82
+ /**
83
+ * Recovery for a `geo_level` that holds no value. `levels` are the ones the dataset
84
+ * lists, as the service's error reports them, so every level offered returns values;
85
+ * omitting `geo_level` is one of those offers only when `country` is among them.
86
+ */
87
+ function geoLevelHint(datasetCode, failed, levels) {
88
+ const missed = `Dataset "${datasetCode}" has no "geo" values at the "${failed}" level.`;
89
+ if (levels.length === 0) {
90
+ return `${missed} None of its "geo" codes carries a NUTS level, so no geo_level selects them. eurostat_get_dataset_info lists sample "geo" codes.`;
91
+ }
92
+ const omit = levels.includes('country') ? ' Omitting geo_level requests country values.' : '';
93
+ return `${missed} Choose geo_level from the levels it lists: ${levels.join(', ')}.${omit}`;
94
+ }
95
+ /** Select the count-limit schema before registering the tool. */
96
+ export const createEurostatGetDimensionValues = (clampLimits) => tool('eurostat_get_dimension_values', {
93
97
  title: 'Get Eurostat Dimension Values',
94
- description: `List the valid values for a specific dimension in a Eurostat dataset (e.g., all unit codes for nama_10_gdp, all geo codes for a regional dataset). Use this when eurostat_get_dataset_info returns more values than the 10-item sample, or to confirm exact codes before querying. For the "geo" dimension, use geo_level to filter by NUTS hierarchy (country, nuts1, nuts2, nuts3). An invalid code matches nothing: eurostat_query_dataset names it in unmatchedValues, or in its no_results error when the query matched nothing at all, and Eurostat rejects it as a fault on eurostat_download_dataset; use this tool to verify codes first. To find one code in a long list, such as the 37,069 CN8 product codes of DS-045409, pass filter: words its code or label contains. A long list comes back a page at a time, each response held to ${formatCount(INLINE_BUDGET_BYTES)} bytes; a page with more after it carries nextCursor — pass it back as cursor for the next page. Pass canvas_id to also stage the whole list, whatever its length, as a two-column code/label table on that dataframe canvas: search it with SQL, or join it to a eurostat_download_dataset table, whose columns carry dimension codes only.`,
98
+ description: 'List the valid values for a dimension in a Eurostat dataset, preserving value codes and labels exactly. Use this when eurostat_get_dataset_info returns more values than its sample, or to confirm exact filter codes before querying. Dimension identifiers match exactly first, then case-insensitively; TIME_PERIOD aliases time. For geo, use geo_level to select the NUTS hierarchy (country, nuts1, nuts2, nuts3). To find codes in a long list, pass filter: words its code or label contains. Pages default to 25 values, maximum 1,000; pass nextCursor back as cursor for the next page with the same dataset, dimension, geo level and filter. Canonical and alias dimension spellings resume the same list. Pass canvas_id on the first call to also stage every value as a two-column code/label table, regardless of filter or limit. Inspect that table with eurostat_dataframe_describe, then search or join it with eurostat_dataframe_query.',
95
99
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
96
100
  input: z.object({
97
101
  dataset_code: z
@@ -101,18 +105,17 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
101
105
  dimension: z
102
106
  .string()
103
107
  .min(1)
104
- .describe('Dimension code to retrieve values for (e.g., "unit", "na_item", "geo"). Use eurostat_get_dataset_info to see available dimensions.'),
108
+ .describe('Dimension code to retrieve values for (e.g., "unit", "na_item", "geo"). Exact match first, then case-insensitive; TIME_PERIOD aliases time. Use eurostat_get_dataset_info to see available dimensions.'),
105
109
  geo_level: z
106
110
  .enum(GEO_LEVEL_VALUES)
107
111
  .optional()
108
112
  .describe('NUTS hierarchy level filter — applies only when dimension is "geo"; passing it with any other dimension is rejected. Options: "aggregate" (EU/EA codes), "country" (2-letter codes, default), "nuts1" (3-char), "nuts2" (4-char), "nuts3" (5-char).'),
109
113
  filter: blankAsUnset(z.string().max(FILTER_MAX_CHARS).optional()).describe(`Words to find, up to ${FILTER_MAX_CHARS} characters: keeps only values whose code and label, joined by a space, contain every whitespace-separated word as a substring — in any order, ignoring case and accents ("palma frankfurt" finds DE_EDDF_ES_LEPA, "zurich" finds Zürich). Punctuation is part of a word, and spellings are not transliterated ("münchen" does not find MUENCHEN). Runs over the whole list at the effective geo_level before paging and keeps Eurostat's order, with no ranking; matchCount counts the matches.`),
110
- limit: z
111
- .number()
112
- .int()
113
- .min(1)
114
- .optional()
115
- .describe(`Most values per page. No default and no maximum: without it a page holds as many whole values as fit ${formatCount(INLINE_BUDGET_BYTES)} bytes, and with it the page ends at whichever comes first. Fixed by the first call: on a call with cursor, the cursor carries that first limit and this field is ignored.`),
114
+ limit: (clampLimits
115
+ ? z.number().multipleOf(1).min(1)
116
+ : z.number().int().min(1).max(MAX_PAGE_SIZE))
117
+ .default(25)
118
+ .describe('Most values per page, default 25, maximum 1,000. Larger positive integers clamp with a notice when EUROSTAT_CLAMP_LIMITS is enabled. Fixed by the first call: with cursor, the cursor carries that limit and this field is ignored.'),
116
119
  cursor: blankAsUnset(z.string().optional()).describe("Opaque nextCursor from the previous page; omit for the first page. It resumes after that page's last code and is bound to dataset_code, dimension, geo_level and filter, so send those unchanged. Cannot be combined with canvas_id on a deployment with a dataframe canvas."),
117
120
  canvas_id: CanvasIdSchema.optional().describe('Also stage the values on this dataframe canvas as a table with two columns, code and label, holding every value the dimension lists at the geo_level requested (country when it is omitted), whatever filter and limit are. Pass the canvasId a eurostat_download_dataset or eurostat_query_dataset response returned, then search the staged table with SQL or join it to a download on the dimension column (e.g., d.geo = g.code). Only on a call without cursor; omit to return the values inline only: this tool never starts a canvas. Ignored on deployments without a dataframe canvas.'),
118
121
  }),
@@ -132,7 +135,7 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
132
135
  label: z.string().describe('Human-readable label for this value.'),
133
136
  })
134
137
  .describe('A dimension value code and label pair.'))
135
- .describe(`This page of the dataset-available values, in Eurostat's order — for geo, the subset at geoLevel; with filter, only the matches. A page ends between whole values, at limit or at ${formatCount(INLINE_BUDGET_BYTES)} bytes per response surface, whichever comes first, and holds at least one value; truncated and nextCursor are set when more follow.`),
138
+ .describe("This page of dataset-available values, in Eurostat's order — for geo, the subset at geoLevel; with filter, only the matches. A page holds the effective limit (default 25, maximum 1,000), fewer only at the end; truncated and nextCursor are set when more follow."),
136
139
  totalCount: z
137
140
  .number()
138
141
  .describe('Number of distinct values the dimension lists, after geoLevel filtering for geo — every one, whatever filter and paging apply.'),
@@ -165,7 +168,7 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
165
168
  notice: z
166
169
  .string()
167
170
  .optional()
168
- .describe('On a page with more after it: whether limit or the response budget ended it, and the routes to the rest — nextCursor, filter, and canvas_id. Also explains a filter that matched nothing.'),
171
+ .describe('Count-limit clamp disclosure, continuation routes (nextCursor, filter, canvas_id), or an explanation of a filter that matched nothing.'),
169
172
  },
170
173
  errors: [
171
174
  {
@@ -178,7 +181,7 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
178
181
  reason: 'no_results',
179
182
  code: JsonRpcErrorCode.NotFound,
180
183
  when: 'The dataset has no geo values at the effective geo_level.',
181
- recovery: 'Choose a different geo_level. Omitted geo_level means country.',
184
+ recovery: 'Choose a geo_level the error names, each holding at least one code of this dataset; when it names none, eurostat_get_dataset_info lists sample geo codes.',
182
185
  },
183
186
  {
184
187
  reason: 'conflicting_params',
@@ -240,6 +243,8 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
240
243
  catch (err) {
241
244
  const reason = err.data?.reason;
242
245
  if (reason === 'not_found') {
246
+ if (resume)
247
+ throw ctx.fail('invalid_cursor', UNUSABLE_CURSOR);
243
248
  throw ctx.fail('not_found', err.message, {
244
249
  recovery: {
245
250
  hint: `Verify the dataset code with eurostat_search_datasets and the dimension code for "${input.dataset_code}" with eurostat_get_dataset_info.`,
@@ -247,10 +252,9 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
247
252
  });
248
253
  }
249
254
  if (reason === 'no_results') {
250
- const effectiveGeoLevel = input.geo_level ?? 'country';
251
255
  throw ctx.fail('no_results', err.message, {
252
256
  recovery: {
253
- hint: `Dataset "${input.dataset_code}" has no "geo" values at the "${effectiveGeoLevel}" level. Choose another geo_level (aggregate, nuts1, nuts2, or nuts3); omitting geo_level requests country values.`,
257
+ hint: geoLevelHint(input.dataset_code, input.geo_level ?? 'country', err.data?.availableGeoLevels),
254
258
  },
255
259
  });
256
260
  }
@@ -278,6 +282,9 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
278
282
  }
279
283
  throw err;
280
284
  }
285
+ binding.dimension = result.dimensionCode;
286
+ if (resume && resume.dimension !== result.dimensionCode)
287
+ throw ctx.fail('invalid_cursor', UNUSABLE_CURSOR);
281
288
  /**
282
289
  * Staging needs a caller-supplied canvas: without canvas_id there is nothing
283
290
  * to acquire, so a plain lookup never takes a canvas slot. An empty list
@@ -312,7 +319,8 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
312
319
  * value. The codec's `offset` is recorded but never trusted for position.
313
320
  */
314
321
  let start = 0;
315
- let pageLimit = input.limit ?? NO_LIMIT;
322
+ const applied = clampReadLimit(resume?.limit ?? input.limit, MAX_PAGE_SIZE, 'limit', 'eurostat_get_dimension_values', ctx);
323
+ const pageLimit = applied.value;
316
324
  if (resume) {
317
325
  if (resume.geoLevel !== geoLevel)
318
326
  throw ctx.fail('invalid_cursor', UNUSABLE_CURSOR);
@@ -321,7 +329,6 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
321
329
  throw ctx.fail('invalid_cursor', `Unusable cursor: it resumes after "${resume.after}", which the "${input.dimension}" values of "${input.dataset_code}" no longer list${filtered ? ' under this filter' : ''}.`);
322
330
  }
323
331
  start = anchor + 1;
324
- pageLimit = resume.limit;
325
332
  }
326
333
  const filterEcho = input.filter?.trim().replace(/\s+/g, ' ');
327
334
  const pool = filtered
@@ -341,9 +348,7 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
341
348
  ...staged,
342
349
  };
343
350
  if (start + k < matched.length) {
344
- const endedBy = k === pageLimit
345
- ? `limit ${formatCount(pageLimit)}`
346
- : `the ${formatCount(INLINE_BUDGET_BYTES)}-byte response budget`;
351
+ const endedBy = `limit ${formatCount(pageLimit)}`;
347
352
  return {
348
353
  output,
349
354
  enrichment: {
@@ -373,25 +378,12 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
373
378
  },
374
379
  };
375
380
  };
376
- const measure = (k) => {
377
- const { output, enrichment } = page(k);
378
- return {
379
- structured: utf8Bytes(JSON.stringify({ ...output, ...enrichment })),
380
- text: utf8Bytes(renderText(output) + renderTrailer(enrichment)),
381
- };
382
- };
383
- const costOf = (index) => {
384
- const value = matched[start + index];
385
- return {
386
- structured: utf8Bytes(JSON.stringify(value)) + 1,
387
- text: utf8Bytes(`- \`${value.code}\` — ${value.label}`) + 1,
388
- };
389
- };
390
- const { output, enrichment } = page(fitPage(Math.min(pageLimit, matched.length - start), measure, costOf));
381
+ const { output, enrichment } = page(Math.min(pageLimit, matched.length - start));
391
382
  const { notice, ...fields } = enrichment;
392
383
  ctx.enrich(fields);
393
- if (notice)
394
- ctx.enrich.notice(notice);
384
+ const notices = [applied.notice, notice].filter(Boolean);
385
+ if (notices.length > 0)
386
+ ctx.enrich.notice(notices.join(' '));
395
387
  ctx.log.info('Dimension values fetched', {
396
388
  datasetCode: input.dataset_code,
397
389
  dimension: input.dimension,
@@ -405,4 +397,5 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
405
397
  },
406
398
  format: (result) => [{ type: 'text', text: renderText(result) }],
407
399
  });
400
+ export const eurostatGetDimensionValues = createEurostatGetDimensionValues(true);
408
401
  //# sourceMappingURL=eurostat-get-dimension-values.tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eurostat-get-dimension-values.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eurostat-get-dimension-values.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare const createEurostatQueryDataset: (clampLimits: boolean) => impor
19
19
  until_period: z.ZodOptional<z.ZodString>;
20
20
  last_n_periods: z.ZodOptional<z.ZodNumber>;
21
21
  preview_limit: z.ZodDefault<z.ZodNumber>;
22
+ stage: z.ZodDefault<z.ZodBoolean>;
22
23
  lang: z.ZodDefault<z.ZodEnum<{
23
24
  DE: "DE";
24
25
  EN: "EN";
@@ -61,8 +62,8 @@ export declare const createEurostatQueryDataset: (clampLimits: boolean) => impor
61
62
  }, {
62
63
  readonly reason: "no_results";
63
64
  readonly code: JsonRpcErrorCode.NotFound;
64
- readonly when: "The query matched no observation cells — including Eurostat HTTP-200 error id 100. The dataset is valid, but no cell carries a value or a status flag for that filter combination and period range. When Eurostat returns the empty table, the error names the filter values that matched nothing (data.unmatchedValues) and the selected periods that carry no value (data.matchedPeriods, the newest 24, with data.matchedPeriodCount counting all of them).";
65
- readonly recovery: "Verify dimension values with eurostat_get_dimension_values and keep the period range inside the dataset coverage; both an unmatched value and an out-of-coverage range return no data rather than an error.";
65
+ readonly when: "The query matched no observation cells — including Eurostat HTTP-200 error id 100. The dataset is valid, but no cell carries a value or a status flag for that filter combination and period range. When Eurostat returns the empty table, the error names the filter values that matched nothing (data.unmatchedValues), the selected periods that carry no value (data.matchedPeriods, the newest 24, with data.matchedPeriodCount counting all of them), and, for a range that selected no period, whether it misses the coverage, holds no whole period, or holds no published one. When error id 100 answers a query that set geo_level, the error names geo_level as the likely cause, and lists the dataset's dimensions when it has no \"geo\" dimension.";
66
+ readonly recovery: "Verify dimension values with eurostat_get_dimension_values and keep the period range inside the dataset coverage, holding a whole period; an unmatched value, an out-of-coverage range and a range inside one period all return no data rather than an error. When the error names geo_level, drop it instead, and filter the \"geo\" codes the query then returns, or the dimension that holds geography.";
66
67
  }, {
67
68
  readonly reason: "invalid_period";
68
69
  readonly code: JsonRpcErrorCode.ValidationError;
@@ -119,6 +120,7 @@ export declare const eurostatQueryDataset: import("@cyanheads/mcp-ts-core").Tool
119
120
  until_period: z.ZodOptional<z.ZodString>;
120
121
  last_n_periods: z.ZodOptional<z.ZodNumber>;
121
122
  preview_limit: z.ZodDefault<z.ZodNumber>;
123
+ stage: z.ZodDefault<z.ZodBoolean>;
122
124
  lang: z.ZodDefault<z.ZodEnum<{
123
125
  DE: "DE";
124
126
  EN: "EN";
@@ -161,8 +163,8 @@ export declare const eurostatQueryDataset: import("@cyanheads/mcp-ts-core").Tool
161
163
  }, {
162
164
  readonly reason: "no_results";
163
165
  readonly code: JsonRpcErrorCode.NotFound;
164
- readonly when: "The query matched no observation cells — including Eurostat HTTP-200 error id 100. The dataset is valid, but no cell carries a value or a status flag for that filter combination and period range. When Eurostat returns the empty table, the error names the filter values that matched nothing (data.unmatchedValues) and the selected periods that carry no value (data.matchedPeriods, the newest 24, with data.matchedPeriodCount counting all of them).";
165
- readonly recovery: "Verify dimension values with eurostat_get_dimension_values and keep the period range inside the dataset coverage; both an unmatched value and an out-of-coverage range return no data rather than an error.";
166
+ readonly when: "The query matched no observation cells — including Eurostat HTTP-200 error id 100. The dataset is valid, but no cell carries a value or a status flag for that filter combination and period range. When Eurostat returns the empty table, the error names the filter values that matched nothing (data.unmatchedValues), the selected periods that carry no value (data.matchedPeriods, the newest 24, with data.matchedPeriodCount counting all of them), and, for a range that selected no period, whether it misses the coverage, holds no whole period, or holds no published one. When error id 100 answers a query that set geo_level, the error names geo_level as the likely cause, and lists the dataset's dimensions when it has no \"geo\" dimension.";
167
+ readonly recovery: "Verify dimension values with eurostat_get_dimension_values and keep the period range inside the dataset coverage, holding a whole period; an unmatched value, an out-of-coverage range and a range inside one period all return no data rather than an error. When the error names geo_level, drop it instead, and filter the \"geo\" codes the query then returns, or the dimension that holds geography.";
166
168
  }, {
167
169
  readonly reason: "invalid_period";
168
170
  readonly code: JsonRpcErrorCode.ValidationError;
@@ -1 +1 @@
1
- {"version":3,"file":"eurostat-query-dataset.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-query-dataset.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAkChF,+DAA+D;AAC/D,eAAO,MAAM,0BAA0B,gBAAiB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAohB3D,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAmC,CAAC"}
1
+ {"version":3,"file":"eurostat-query-dataset.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-query-dataset.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAuChF,+DAA+D;AAC/D,eAAO,MAAM,0BAA0B,gBAAiB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAujB3D,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAmC,CAAC"}