@cyanheads/eurostat-mcp-server 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +4 -3
- package/Dockerfile +1 -1
- package/LICENSE +1 -1
- package/README.md +7 -5
- package/dist/config/server-config.d.ts +1 -0
- package/dist/config/server-config.d.ts.map +1 -1
- package/dist/config/server-config.js +7 -0
- package/dist/config/server-config.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js +4 -4
- package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.d.ts +6 -0
- package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js +16 -1
- package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js +3 -6
- package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.d.ts +5 -0
- package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.js +28 -7
- package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.js.map +1 -1
- package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts +30 -4
- package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts.map +1 -1
- package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js +115 -16
- package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js.map +1 -1
- package/dist/services/eurostat-data/eurostat-data-service.d.ts +16 -2
- package/dist/services/eurostat-data/eurostat-data-service.d.ts.map +1 -1
- package/dist/services/eurostat-data/eurostat-data-service.js +73 -15
- package/dist/services/eurostat-data/eurostat-data-service.js.map +1 -1
- package/package.json +11 -11
- package/server.json +17 -3
package/CLAUDE.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** @cyanheads/eurostat-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.
|
|
6
|
-
**Engines:** Bun ≥1.3.
|
|
4
|
+
**Version:** 0.1.16
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.11.1`
|
|
6
|
+
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
|
+
**Zod:** `^4.4.3`
|
|
7
8
|
|
|
8
9
|
> **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
|
|
9
10
|
|
package/Dockerfile
CHANGED
|
@@ -57,7 +57,7 @@ RUN --mount=type=cache,target=/root/.bun/install/cache \
|
|
|
57
57
|
ARG OTEL_ENABLED=true
|
|
58
58
|
RUN --mount=type=cache,target=/root/.bun/install/cache \
|
|
59
59
|
if [ "$OTEL_ENABLED" = "true" ]; then \
|
|
60
|
-
bun add @hono/otel \
|
|
60
|
+
bun add --omit=dev --ignore-scripts @hono/otel \
|
|
61
61
|
@opentelemetry/instrumentation-http \
|
|
62
62
|
@opentelemetry/exporter-metrics-otlp-http \
|
|
63
63
|
@opentelemetry/exporter-trace-otlp-http \
|
package/LICENSE
CHANGED
|
@@ -186,7 +186,7 @@ Apache License
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright
|
|
189
|
+
Copyright 2026 Casey Hand @cyanheads
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/eurostat-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/eurostat-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
13
13
|
|
|
14
14
|
</div>
|
|
15
15
|
|
|
@@ -47,9 +47,10 @@ Search the Eurostat dataset catalogue by keyword.
|
|
|
47
47
|
|
|
48
48
|
- Tokenized keyword match — whitespace-separated tokens are ANDed case-insensitively across each dataset's label, theme breadcrumb, and code, so word order and theme-named queries resolve without a verbatim label
|
|
49
49
|
- Returns code, label, type (dataset/table), period coverage, observation count, and theme breadcrumb
|
|
50
|
-
-
|
|
50
|
+
- One row per dataset code — Eurostat files some datasets under several theme branches; matches are deduplicated so `totalMatches` and page slots count unique query targets
|
|
51
|
+
- Cursor pagination: `limit` (1–100, default 20) sets the page size, `totalMatches` reports the full count, and passing the returned `nextCursor` back as `cursor` pages through every match over a stable order. Cursors are bound to their originating query and catalogue snapshot — reusing one with a different query, or after the catalogue refreshes, returns `invalid_cursor` instead of a silently shifted page
|
|
51
52
|
- `nextStep` hint on each result points at the next tool to call
|
|
52
|
-
- Catalogue
|
|
53
|
+
- Catalogue TOC cached in memory for 12 hours (`EUROSTAT_TOC_CACHE_TTL_MS`), then refreshed on the next call
|
|
53
54
|
- Pair with `eurostat_browse_themes` for structured domain exploration when keywords are unclear
|
|
54
55
|
|
|
55
56
|
---
|
|
@@ -118,7 +119,7 @@ Built on [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core):
|
|
|
118
119
|
|
|
119
120
|
Eurostat-specific:
|
|
120
121
|
|
|
121
|
-
-
|
|
122
|
+
- TTL-bounded in-memory cache for the TOC file — reused across all search and browse calls, refreshed on the first call past its 12-hour lifetime, with the last loaded copy served if a refresh fails
|
|
122
123
|
- JSON-stat 2.0 stride-based decoder for the Statistics API response format
|
|
123
124
|
- Async-response detection — Eurostat returns a warning object rather than an error for over-limit queries; the server intercepts it and returns an actionable error with filter guidance
|
|
124
125
|
- NUTS hierarchy geo-level filtering across query and dimension-value tools
|
|
@@ -247,6 +248,7 @@ All configuration is validated at startup via Zod schemas in `src/config/server-
|
|
|
247
248
|
| `STORAGE_PROVIDER_TYPE` | Storage backend: `in-memory`, `filesystem`, `supabase`, `cloudflare-kv/r2/d1` | `in-memory` |
|
|
248
249
|
| `EUROSTAT_BASE_URL` | Eurostat API base URL | `https://ec.europa.eu/eurostat/api/dissemination` |
|
|
249
250
|
| `EUROSTAT_REQUEST_TIMEOUT_MS` | HTTP request timeout in ms | `30000` |
|
|
251
|
+
| `EUROSTAT_TOC_CACHE_TTL_MS` | Catalogue TOC cache lifetime in ms — the first search or browse call past this age refreshes it | `43200000` (12 hours) |
|
|
250
252
|
| `OTEL_ENABLED` | Enable OpenTelemetry | `false` |
|
|
251
253
|
|
|
252
254
|
## Running the server
|
|
@@ -277,7 +279,7 @@ All configuration is validated at startup via Zod schemas in `src/config/server-
|
|
|
277
279
|
|:---|:---|
|
|
278
280
|
| `src/mcp-server/tools` | Tool definitions (`*.tool.ts`). Five tools for discovery and data access. |
|
|
279
281
|
| `src/mcp-server/resources` | Resource definitions. Dataset metadata resource. |
|
|
280
|
-
| `src/services/eurostat-catalogue` | Catalogue service — fetches and parses the Eurostat TOC TXT file;
|
|
282
|
+
| `src/services/eurostat-catalogue` | Catalogue service — fetches and parses the Eurostat TOC TXT file; TTL-bounded in-memory cache. |
|
|
281
283
|
| `src/services/eurostat-data` | Data service — Statistics API HTTP client, JSON-stat 2.0 decoder, async-response detection. |
|
|
282
284
|
| `src/config` | Server-specific environment variable parsing and validation with Zod. |
|
|
283
285
|
| `tests/` | Unit and integration tests, mirroring the `src/` structure. |
|
|
@@ -6,6 +6,7 @@ import { z } from '@cyanheads/mcp-ts-core';
|
|
|
6
6
|
declare const ServerConfigSchema: z.ZodObject<{
|
|
7
7
|
baseUrl: z.ZodDefault<z.ZodString>;
|
|
8
8
|
requestTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
9
|
+
tocCacheTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
9
10
|
}, z.core.$strip>;
|
|
10
11
|
export declare function getServerConfig(): z.infer<typeof ServerConfigSchema>;
|
|
11
12
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C,QAAA,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C,QAAA,MAAM,kBAAkB;;;;iBAoBtB,CAAC;AAIH,wBAAgB,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAOpE"}
|
|
@@ -16,12 +16,19 @@ const ServerConfigSchema = z.object({
|
|
|
16
16
|
.positive()
|
|
17
17
|
.default(30_000)
|
|
18
18
|
.describe('HTTP request timeout in milliseconds'),
|
|
19
|
+
tocCacheTtlMs: z.coerce
|
|
20
|
+
.number()
|
|
21
|
+
.int()
|
|
22
|
+
.positive()
|
|
23
|
+
.default(43_200_000)
|
|
24
|
+
.describe('How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours, matching the upstream twice-daily update cadence.'),
|
|
19
25
|
});
|
|
20
26
|
let _config;
|
|
21
27
|
export function getServerConfig() {
|
|
22
28
|
_config ??= parseEnvConfig(ServerConfigSchema, {
|
|
23
29
|
baseUrl: 'EUROSTAT_BASE_URL',
|
|
24
30
|
requestTimeoutMs: 'EUROSTAT_REQUEST_TIMEOUT_MS',
|
|
31
|
+
tocCacheTtlMs: 'EUROSTAT_TOC_CACHE_TTL_MS',
|
|
25
32
|
});
|
|
26
33
|
return _config;
|
|
27
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,OAAO,CAAC,iDAAiD,CAAC;SAC1D,QAAQ,CAAC,uBAAuB,CAAC;IACpC,gBAAgB,EAAE,CAAC,CAAC,MAAM;SACvB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/config/server-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,OAAO,CAAC,iDAAiD,CAAC;SAC1D,QAAQ,CAAC,uBAAuB,CAAC;IACpC,gBAAgB,EAAE,CAAC,CAAC,MAAM;SACvB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,sCAAsC,CAAC;IACnD,aAAa,EAAE,CAAC,CAAC,MAAM;SACpB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CACP,qLAAqL,CACtL;CACJ,CAAC,CAAC;AAEH,IAAI,OAAuD,CAAC;AAE5D,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,cAAc,CAAC,kBAAkB,EAAE;QAC7C,OAAO,EAAE,mBAAmB;QAC5B,gBAAgB,EAAE,6BAA6B;QAC/C,aAAa,EAAE,2BAA2B;KAC3C,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -12,8 +12,8 @@ export declare const eurostatBrowseThemes: import("@cyanheads/mcp-ts-core").Tool
|
|
|
12
12
|
label: z.ZodString;
|
|
13
13
|
type: z.ZodEnum<{
|
|
14
14
|
dataset: "dataset";
|
|
15
|
-
table: "table";
|
|
16
15
|
folder: "folder";
|
|
16
|
+
table: "table";
|
|
17
17
|
}>;
|
|
18
18
|
hasChildren: z.ZodBoolean;
|
|
19
19
|
dataStart: z.ZodOptional<z.ZodString>;
|
|
@@ -8,12 +8,12 @@ import { getEurostatCatalogueService } from '../../../services/eurostat-catalogu
|
|
|
8
8
|
export const eurostatBrowseThemes = tool('eurostat_browse_themes', {
|
|
9
9
|
title: 'Browse Eurostat Theme Hierarchy',
|
|
10
10
|
description: 'Navigate the Eurostat theme tree. Without theme_code returns the top-level theme folders (Economy, Population, Transport, etc.) — the practical starting points. With a theme_code returns its immediate children: subtheme folders and datasets in that branch. Use this for structured discovery when you know the domain but not the dataset code, or to drill down from a broad topic to a specific dataset. Pair with eurostat_search_datasets for keyword-based discovery.',
|
|
11
|
-
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint:
|
|
11
|
+
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
12
12
|
input: z.object({
|
|
13
13
|
theme_code: z
|
|
14
14
|
.string()
|
|
15
15
|
.optional()
|
|
16
|
-
.describe('Folder code to expand (e.g., "
|
|
16
|
+
.describe('Folder code to expand (e.g., "economy", "reg"). Omit to list the top-level theme folders.'),
|
|
17
17
|
}),
|
|
18
18
|
output: z.object({
|
|
19
19
|
items: z
|
|
@@ -46,7 +46,7 @@ export const eurostatBrowseThemes = tool('eurostat_browse_themes', {
|
|
|
46
46
|
.describe('Immediate children of the requested theme, or the root themes if theme_code was omitted.'),
|
|
47
47
|
parentPath: z
|
|
48
48
|
.array(z.string())
|
|
49
|
-
.describe('Breadcrumb from root to the requested theme (e.g., ["
|
|
49
|
+
.describe('Breadcrumb from root to the requested theme (e.g., ["Database by themes", "Economy and finance"]). Empty when browsing root.'),
|
|
50
50
|
nextStep: z
|
|
51
51
|
.string()
|
|
52
52
|
.optional()
|
|
@@ -99,7 +99,7 @@ export const eurostatBrowseThemes = tool('eurostat_browse_themes', {
|
|
|
99
99
|
for (const item of result.items) {
|
|
100
100
|
const icon = item.type === 'folder' ? '📁' : '📊';
|
|
101
101
|
lines.push(`${icon} **${item.label}**`);
|
|
102
|
-
lines.push(` **Code:** ${item.code} | **Type:** ${item.type}${item.hasChildren ? ' (has children)' : ''}`);
|
|
102
|
+
lines.push(` **Code:** ${item.code} | **Type:** ${item.type}${item.hasChildren ? ' (has children)' : ' (no children)'}`);
|
|
103
103
|
if (item.dataStart || item.dataEnd) {
|
|
104
104
|
lines.push(` **Period:** ${item.dataStart ?? '?'} – ${item.dataEnd ?? '?'}`);
|
|
105
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-browse-themes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-browse-themes.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6DAA6D,CAAC;AAE1G,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,EAAE;IACjE,KAAK,EAAE,iCAAiC;IACxC,WAAW,EACT,kdAAkd;IACpd,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"eurostat-browse-themes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-browse-themes.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,5 +27,11 @@ export declare const eurostatGetDimensionValues: import("@cyanheads/mcp-ts-core"
|
|
|
27
27
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
28
28
|
readonly when: "The dataset code or dimension code does not exist.";
|
|
29
29
|
readonly recovery: "Verify the dataset code with eurostat_search_datasets and the dimension code with eurostat_get_dataset_info.";
|
|
30
|
+
}, {
|
|
31
|
+
readonly reason: "async_response";
|
|
32
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
33
|
+
readonly when: "Eurostat returned an async warning — the dimension query matched too many observations.";
|
|
34
|
+
readonly retryable: false;
|
|
35
|
+
readonly recovery: "Use eurostat_get_dataset_info for a sampled value set, or narrow the request with geo_level for the geo dimension.";
|
|
30
36
|
}], undefined>;
|
|
31
37
|
//# sourceMappingURL=eurostat-get-dimension-values.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-get-dimension-values.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAIhF,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"eurostat-get-dimension-values.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAIhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuGrC,CAAC"}
|
|
@@ -43,6 +43,13 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
|
|
|
43
43
|
when: 'The dataset code or dimension code does not exist.',
|
|
44
44
|
recovery: 'Verify the dataset code with eurostat_search_datasets and the dimension code with eurostat_get_dataset_info.',
|
|
45
45
|
},
|
|
46
|
+
{
|
|
47
|
+
reason: 'async_response',
|
|
48
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
49
|
+
when: 'Eurostat returned an async warning — the dimension query matched too many observations.',
|
|
50
|
+
retryable: false,
|
|
51
|
+
recovery: 'Use eurostat_get_dataset_info for a sampled value set, or narrow the request with geo_level for the geo dimension.',
|
|
52
|
+
},
|
|
46
53
|
],
|
|
47
54
|
async handler(input, ctx) {
|
|
48
55
|
const svc = getEurostatDataService();
|
|
@@ -51,13 +58,21 @@ export const eurostatGetDimensionValues = tool('eurostat_get_dimension_values',
|
|
|
51
58
|
result = await svc.getDimensionValues(input.dataset_code, input.dimension, input.geo_level, ctx);
|
|
52
59
|
}
|
|
53
60
|
catch (err) {
|
|
54
|
-
|
|
61
|
+
const reason = err.data?.reason;
|
|
62
|
+
if (reason === 'not_found') {
|
|
55
63
|
throw ctx.fail('not_found', err.message, {
|
|
56
64
|
recovery: {
|
|
57
65
|
hint: `Verify the dataset code with eurostat_search_datasets and the dimension code for "${input.dataset_code}" with eurostat_get_dataset_info.`,
|
|
58
66
|
},
|
|
59
67
|
});
|
|
60
68
|
}
|
|
69
|
+
if (reason === 'async_response') {
|
|
70
|
+
throw ctx.fail('async_response', err.message, {
|
|
71
|
+
recovery: {
|
|
72
|
+
hint: `The "${input.dimension}" dimension query for "${input.dataset_code}" matched too many observations. Use eurostat_get_dataset_info for a sampled value set, or narrow with geo_level for the geo dimension.`,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
61
76
|
throw err;
|
|
62
77
|
}
|
|
63
78
|
ctx.log.info('Dimension values fetched', {
|
|
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,+BAA+B,EAAE;IAC9E,KAAK,EAAE,+BAA+B;IACtC,WAAW,EACT,ofAAof;IACtf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAC/E,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,oIAAoI,CACrI;QACH,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,gBAAgB,CAAC;aACtB,QAAQ,EAAE;aACV,QAAQ,CACP,qMAAqM,CACtM;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACrE,MAAM,EAAE,CAAC;aACN,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,6EAA6E,CAC9E;YACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SACnE,CAAC;aACD,QAAQ,CAAC,wCAAwC,CAAC,CACtD;aACA,QAAQ,CAAC,qDAAqD,CAAC;QAClE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KAC7E,CAAC;IACF,MAAM,EAAE;QACN;YACE,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,oDAAoD;YAC1D,QAAQ,EACN,8GAA8G;SACjH;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAC;QACrC,IAAI,MAA0D,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,GAAG,CAAC,kBAAkB,CACnC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,EACf,GAAG,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,
|
|
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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"}
|
|
@@ -18,9 +18,9 @@ export declare const eurostatQueryDataset: import("@cyanheads/mcp-ts-core").Tool
|
|
|
18
18
|
until_period: z.ZodOptional<z.ZodString>;
|
|
19
19
|
last_n_periods: z.ZodOptional<z.ZodNumber>;
|
|
20
20
|
lang: z.ZodDefault<z.ZodEnum<{
|
|
21
|
+
DE: "DE";
|
|
21
22
|
EN: "EN";
|
|
22
23
|
FR: "FR";
|
|
23
|
-
DE: "DE";
|
|
24
24
|
}>>;
|
|
25
25
|
}, z.core.$strip>, z.ZodObject<{
|
|
26
26
|
datasetCode: z.ZodString;
|
|
@@ -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;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAIhF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAIhF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiS/B,CAAC"}
|
|
@@ -227,9 +227,9 @@ export const eurostatQueryDataset = tool('eurostat_query_dataset', {
|
|
|
227
227
|
`**Truncated:** ${result.truncated}${result.truncated ? ' — result capped at 5,000 rows. Add dimension filters to get the full result.' : ''}`,
|
|
228
228
|
`**Dimensions:** ${result.dimensionsUsed.join(', ')}\n`,
|
|
229
229
|
];
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
for (const obs of
|
|
230
|
+
// Render every observation so content[] carries the same rows as structuredContent —
|
|
231
|
+
// both surfaces are already bounded by the 5,000-row cap the handler applies.
|
|
232
|
+
for (const obs of result.observations) {
|
|
233
233
|
// dimensions is typed as {} from passthrough() — cast to the runtime shape for rendering
|
|
234
234
|
const dims = obs.dimensions;
|
|
235
235
|
const dimParts = result.dimensionsUsed.map((dim) => `${dim}=${dims[dim]?.code ?? '?'} (${dims[dim]?.label ?? '?'})`);
|
|
@@ -237,9 +237,6 @@ export const eurostatQueryDataset = tool('eurostat_query_dataset', {
|
|
|
237
237
|
const statusPart = obs.status ? ` [${obs.status.code}: ${obs.status.label}]` : '';
|
|
238
238
|
lines.push(`${dimParts.join(' | ')} → ${val}${statusPart}`);
|
|
239
239
|
}
|
|
240
|
-
if (result.observations.length > maxRows) {
|
|
241
|
-
lines.push(`\n_(${result.observations.length - maxRows} more observations not shown in text)_`);
|
|
242
|
-
}
|
|
243
240
|
return [{ type: 'text', text: lines.join('\n') }];
|
|
244
241
|
},
|
|
245
242
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-query-dataset.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-query-dataset.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eurostat-query-dataset.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-query-dataset.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,11 @@ export declare const eurostatSearchDatasets: import("@cyanheads/mcp-ts-core").To
|
|
|
28
28
|
readonly code: JsonRpcErrorCode.NotFound;
|
|
29
29
|
readonly when: "No datasets matched the query string.";
|
|
30
30
|
readonly recovery: "Try a broader or different search term. Use eurostat_browse_themes to explore themes without text search.";
|
|
31
|
+
}, {
|
|
32
|
+
readonly reason: "invalid_cursor";
|
|
33
|
+
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
34
|
+
readonly when: "The cursor is malformed, came from a different query, or came from a catalogue snapshot that has since refreshed.";
|
|
35
|
+
readonly recovery: "Repeat the search without a cursor, then page using the nextCursor that call returns.";
|
|
31
36
|
}], {
|
|
32
37
|
readonly query: z.ZodString;
|
|
33
38
|
readonly totalMatches: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-search-datasets.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-search-datasets.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"eurostat-search-datasets.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-search-datasets.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAGhF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuLjC,CAAC"}
|
|
@@ -8,12 +8,13 @@ import { getEurostatCatalogueService } from '../../../services/eurostat-catalogu
|
|
|
8
8
|
export const eurostatSearchDatasets = tool('eurostat_search_datasets', {
|
|
9
9
|
title: 'Search Eurostat Datasets',
|
|
10
10
|
description: 'Search the Eurostat catalogue by keyword. Returns matching datasets with codes, descriptions, period coverage, and theme breadcrumbs. Use this to discover dataset codes before calling eurostat_get_dataset_info or eurostat_query_dataset. Results are limited to datasets and predefined tables — folders are excluded.',
|
|
11
|
-
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint:
|
|
11
|
+
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
12
12
|
input: z.object({
|
|
13
13
|
query: z
|
|
14
14
|
.string()
|
|
15
15
|
.min(1)
|
|
16
|
-
.
|
|
16
|
+
.regex(/\S/, 'Query must contain at least one non-whitespace search term.')
|
|
17
|
+
.describe('Search terms — at least one non-whitespace token is required. Split on whitespace into tokens; every token must match (AND), case-insensitively, somewhere across the dataset label, theme breadcrumb, or code. Word order does not matter, so "business demography NUTS 3" or "regional economic accounts" resolve without naming a label verbatim.'),
|
|
17
18
|
limit: z
|
|
18
19
|
.number()
|
|
19
20
|
.int()
|
|
@@ -24,7 +25,7 @@ export const eurostatSearchDatasets = tool('eurostat_search_datasets', {
|
|
|
24
25
|
cursor: z
|
|
25
26
|
.string()
|
|
26
27
|
.optional()
|
|
27
|
-
.describe("Opaque pagination cursor from a previous call's nextCursor. Omit for the first page; pass it back to fetch the next page of matches over a stable order."),
|
|
28
|
+
.describe("Opaque pagination cursor from a previous call's nextCursor. Omit for the first page; pass it back — with the same query — to fetch the next page of matches over a stable order. A cursor is bound to the query that produced it and to the catalogue snapshot in effect at that time, so reusing one with a different query, or after the catalogue refreshes, is rejected rather than silently paging a different result set."),
|
|
28
29
|
}),
|
|
29
30
|
output: z.object({
|
|
30
31
|
datasets: z
|
|
@@ -55,7 +56,7 @@ export const eurostatSearchDatasets = tool('eurostat_search_datasets', {
|
|
|
55
56
|
.describe('Approximate number of observations. Omitted when not reported by Eurostat.'),
|
|
56
57
|
themePath: z
|
|
57
58
|
.array(z.string())
|
|
58
|
-
.describe('Breadcrumb path from root theme to this dataset (e.g., ["
|
|
59
|
+
.describe('Breadcrumb path from root theme to this dataset (e.g., ["Database by themes", "Economy and finance"]). Eurostat files some datasets under several branches; this is the first branch that matched the query. Empty for top-level entries.'),
|
|
59
60
|
})
|
|
60
61
|
.describe('A matched dataset entry.'))
|
|
61
62
|
.describe('Matching datasets for the current page, up to the requested limit.'),
|
|
@@ -68,14 +69,14 @@ export const eurostatSearchDatasets = tool('eurostat_search_datasets', {
|
|
|
68
69
|
query: z.string().describe('Search terms as submitted.'),
|
|
69
70
|
totalMatches: z
|
|
70
71
|
.number()
|
|
71
|
-
.describe('Total
|
|
72
|
+
.describe('Total distinct dataset codes matching the query across all pages, before the page limit.'),
|
|
72
73
|
truncated: z
|
|
73
74
|
.boolean()
|
|
74
75
|
.describe('True when more matches remain beyond this page — pass nextCursor as cursor to fetch them.'),
|
|
75
76
|
nextCursor: z
|
|
76
77
|
.string()
|
|
77
78
|
.optional()
|
|
78
|
-
.describe('Opaque cursor for the next page of matches. Pass it back as cursor. Omitted on the last page.'),
|
|
79
|
+
.describe('Opaque cursor for the next page of matches. Pass it back as cursor with the same query; it stops working once the catalogue refreshes. Omitted on the last page.'),
|
|
79
80
|
},
|
|
80
81
|
errors: [
|
|
81
82
|
{
|
|
@@ -84,10 +85,30 @@ export const eurostatSearchDatasets = tool('eurostat_search_datasets', {
|
|
|
84
85
|
when: 'No datasets matched the query string.',
|
|
85
86
|
recovery: 'Try a broader or different search term. Use eurostat_browse_themes to explore themes without text search.',
|
|
86
87
|
},
|
|
88
|
+
{
|
|
89
|
+
reason: 'invalid_cursor',
|
|
90
|
+
code: JsonRpcErrorCode.InvalidParams,
|
|
91
|
+
when: 'The cursor is malformed, came from a different query, or came from a catalogue snapshot that has since refreshed.',
|
|
92
|
+
recovery: 'Repeat the search without a cursor, then page using the nextCursor that call returns.',
|
|
93
|
+
},
|
|
87
94
|
],
|
|
88
95
|
async handler(input, ctx) {
|
|
89
96
|
const svc = getEurostatCatalogueService();
|
|
90
|
-
|
|
97
|
+
let found;
|
|
98
|
+
try {
|
|
99
|
+
found = await svc.search(input.query, input.limit, input.cursor, ctx);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
if (err.data?.reason === 'invalid_cursor') {
|
|
103
|
+
throw ctx.fail('invalid_cursor', err.message, {
|
|
104
|
+
recovery: {
|
|
105
|
+
hint: `Repeat the search for "${input.query}" without a cursor, then page using the nextCursor it returns.`,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
throw err;
|
|
110
|
+
}
|
|
111
|
+
const { datasets, totalMatches, nextCursor } = found;
|
|
91
112
|
if (datasets.length === 0) {
|
|
92
113
|
throw ctx.fail('no_match', `No datasets matched "${input.query}".`, {
|
|
93
114
|
recovery: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-search-datasets.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-search-datasets.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"eurostat-search-datasets.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurostat-search-datasets.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,19 @@ import type { StorageService } from '@cyanheads/mcp-ts-core/storage';
|
|
|
9
9
|
import type { BrowseItem, DatasetResult } from './types.js';
|
|
10
10
|
export declare class EurostatCatalogueService {
|
|
11
11
|
private cache;
|
|
12
|
+
/** Shared in-flight refresh so concurrent callers past the TTL trigger one fetch. */
|
|
13
|
+
private refresh;
|
|
14
|
+
/** Epoch ms before which a stale cache is served without re-attempting a failed refresh. */
|
|
15
|
+
private refreshRetryAt;
|
|
12
16
|
constructor(_config: AppConfig, _storage: StorageService);
|
|
13
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Ensure a usable TOC is loaded. A cache younger than the configured TTL is
|
|
19
|
+
* reused as-is; past the TTL one refresh runs and concurrent callers share it.
|
|
20
|
+
* A failed refresh keeps serving the last known-good cache and holds off the
|
|
21
|
+
* next attempt for `REFRESH_RETRY_COOLDOWN_MS`, so an outage does not make
|
|
22
|
+
* every catalogue call pay a full retry-and-backoff cycle. Only a cold-start
|
|
23
|
+
* failure surfaces to the caller, and that path retries on the next call.
|
|
24
|
+
*/
|
|
14
25
|
private ensureLoaded;
|
|
15
26
|
private fetchAndParseToc;
|
|
16
27
|
/**
|
|
@@ -43,14 +54,29 @@ export declare class EurostatCatalogueService {
|
|
|
43
54
|
parentPath: string[];
|
|
44
55
|
}>;
|
|
45
56
|
private toBrowseItem;
|
|
57
|
+
/**
|
|
58
|
+
* Decode a search cursor and confirm it belongs to this search. Malformed,
|
|
59
|
+
* cross-query and superseded-snapshot cursors are rejected identically —
|
|
60
|
+
* the caller's recovery is the same in all three cases, and the cursor is
|
|
61
|
+
* opaque, so telling them apart would only describe its internal shape.
|
|
62
|
+
*/
|
|
63
|
+
private decodeSearchCursor;
|
|
46
64
|
/**
|
|
47
65
|
* Search datasets by keyword. The query is tokenized on whitespace and every
|
|
48
66
|
* token must match (AND), case-insensitively, somewhere in a combined
|
|
49
67
|
* `label + themePath + code` haystack — so concept-order and theme-named
|
|
50
68
|
* queries resolve even when no single label contains the phrase verbatim.
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
69
|
+
* A query with no non-whitespace token matches nothing rather than everything.
|
|
70
|
+
*
|
|
71
|
+
* Returns datasets only (not folders), one row per code: a dataset filed under
|
|
72
|
+
* several TOC branches keeps its first matching placement as the canonical
|
|
73
|
+
* `themePath`, so totals and page slots count unique query targets.
|
|
74
|
+
*
|
|
75
|
+
* Results are paginated with an opaque cursor (`limit` = page size, capped at
|
|
76
|
+
* 100) bound to the normalized query and the catalogue snapshot that produced
|
|
77
|
+
* it. An unusable cursor — malformed, from another query, or from a catalogue
|
|
78
|
+
* since refreshed — is rejected as `invalid_cursor` instead of silently paging
|
|
79
|
+
* a different result set.
|
|
54
80
|
*/
|
|
55
81
|
search(query: string, limit: number, cursor: string | undefined, ctx: Context): Promise<{
|
|
56
82
|
datasets: DatasetResult[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-catalogue-service.d.ts","sourceRoot":"","sources":["../../../src/services/eurostat-catalogue/eurostat-catalogue-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"eurostat-catalogue-service.d.ts","sourceRoot":"","sources":["../../../src/services/eurostat-catalogue/eurostat-catalogue-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AASrE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAY,MAAM,YAAY,CAAC;AAwBtE,qBAAa,wBAAwB;IACnC,OAAO,CAAC,KAAK,CAAuB;IACpC,qFAAqF;IACrF,OAAO,CAAC,OAAO,CAAgC;IAC/C,4FAA4F;IAC5F,OAAO,CAAC,cAAc,CAAK;IAK3B,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAI;IAE5D;;;;;;;OAOG;YACW,YAAY;YAoCZ,gBAAgB;IA2B9B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAwEhB,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,SAAS;IAMjB;;OAEG;IACH,OAAO,CAAC,SAAS;IAYjB,wDAAwD;IACxD,OAAO,CAAC,YAAY;IAOpB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAUxB,2FAA2F;IACrF,MAAM,CACV,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAkCxD;IAED,OAAO,CAAC,YAAY;IAepB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAqDnF;CACF;AAMD,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE7F;AAED,wBAAgB,2BAA2B,IAAI,wBAAwB,CAOtE"}
|
|
@@ -3,24 +3,73 @@
|
|
|
3
3
|
* provides dataset search and theme tree navigation.
|
|
4
4
|
* @module services/eurostat-catalogue/eurostat-catalogue-service
|
|
5
5
|
*/
|
|
6
|
-
import { notFound, serviceUnavailable } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
-
import {
|
|
6
|
+
import { invalidParams, notFound, serviceUnavailable } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { decodeCursor, encodeCursor, fetchWithTimeout, withRetry, } from '@cyanheads/mcp-ts-core/utils';
|
|
8
8
|
import { getServerConfig } from '../../config/server-config.js';
|
|
9
9
|
// Context satisfies the runtime contract of RequestContext (requestId, tenantId, etc.)
|
|
10
10
|
// but lacks the [key: string]: unknown index signature required by fetchWithTimeout/withRetry.
|
|
11
11
|
const asReqCtx = (ctx) => ctx;
|
|
12
|
+
/** Upper bound on datasets returned per search page, mirroring the tool's `limit` cap. */
|
|
13
|
+
const MAX_PAGE_SIZE = 100;
|
|
14
|
+
/**
|
|
15
|
+
* How long a failed refresh keeps the stale cache in service before upstream is
|
|
16
|
+
* tried again. `withRetry` bounds one attempt; this bounds the attempt rate, so
|
|
17
|
+
* an upstream outage costs one fetch per minute rather than one per call.
|
|
18
|
+
*/
|
|
19
|
+
const REFRESH_RETRY_COOLDOWN_MS = 60_000;
|
|
12
20
|
export class EurostatCatalogueService {
|
|
13
21
|
cache;
|
|
22
|
+
/** Shared in-flight refresh so concurrent callers past the TTL trigger one fetch. */
|
|
23
|
+
refresh;
|
|
24
|
+
/** Epoch ms before which a stale cache is served without re-attempting a failed refresh. */
|
|
25
|
+
refreshRetryAt = 0;
|
|
14
26
|
// config and storage accepted to match the standard service init pattern;
|
|
15
27
|
// this service uses only the Eurostat public API and per-request config.
|
|
16
28
|
// biome-ignore lint/complexity/noUselessConstructor: standard init pattern
|
|
17
29
|
constructor(_config, _storage) { }
|
|
18
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Ensure a usable TOC is loaded. A cache younger than the configured TTL is
|
|
32
|
+
* reused as-is; past the TTL one refresh runs and concurrent callers share it.
|
|
33
|
+
* A failed refresh keeps serving the last known-good cache and holds off the
|
|
34
|
+
* next attempt for `REFRESH_RETRY_COOLDOWN_MS`, so an outage does not make
|
|
35
|
+
* every catalogue call pay a full retry-and-backoff cycle. Only a cold-start
|
|
36
|
+
* failure surfaces to the caller, and that path retries on the next call.
|
|
37
|
+
*/
|
|
19
38
|
async ensureLoaded(ctx) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
39
|
+
const cached = this.cache;
|
|
40
|
+
const now = Date.now();
|
|
41
|
+
if (cached) {
|
|
42
|
+
if (now - cached.loadedAt.getTime() < getServerConfig().tocCacheTtlMs)
|
|
43
|
+
return cached;
|
|
44
|
+
if (now < this.refreshRetryAt)
|
|
45
|
+
return cached;
|
|
46
|
+
}
|
|
47
|
+
this.refresh ??= this.fetchAndParseToc(ctx)
|
|
48
|
+
.then((fresh) => {
|
|
49
|
+
this.cache = fresh;
|
|
50
|
+
this.refreshRetryAt = 0;
|
|
51
|
+
return fresh;
|
|
52
|
+
})
|
|
53
|
+
.catch((error) => {
|
|
54
|
+
this.refreshRetryAt = Date.now() + REFRESH_RETRY_COOLDOWN_MS;
|
|
55
|
+
throw error;
|
|
56
|
+
})
|
|
57
|
+
.finally(() => {
|
|
58
|
+
this.refresh = undefined;
|
|
59
|
+
});
|
|
60
|
+
if (!cached)
|
|
61
|
+
return this.refresh;
|
|
62
|
+
try {
|
|
63
|
+
return await this.refresh;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
ctx.log.warning('Eurostat TOC refresh failed — serving the last loaded catalogue', {
|
|
67
|
+
error: error instanceof Error ? error.message : String(error),
|
|
68
|
+
loadedAt: cached.loadedAt.toISOString(),
|
|
69
|
+
retryAfterMs: REFRESH_RETRY_COOLDOWN_MS,
|
|
70
|
+
});
|
|
71
|
+
return cached;
|
|
72
|
+
}
|
|
24
73
|
}
|
|
25
74
|
async fetchAndParseToc(ctx) {
|
|
26
75
|
const { baseUrl, requestTimeoutMs } = getServerConfig();
|
|
@@ -218,27 +267,69 @@ export class EurostatCatalogueService {
|
|
|
218
267
|
...(e.obsCount !== undefined && { obsCount: e.obsCount }),
|
|
219
268
|
};
|
|
220
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* Decode a search cursor and confirm it belongs to this search. Malformed,
|
|
272
|
+
* cross-query and superseded-snapshot cursors are rejected identically —
|
|
273
|
+
* the caller's recovery is the same in all three cases, and the cursor is
|
|
274
|
+
* opaque, so telling them apart would only describe its internal shape.
|
|
275
|
+
*/
|
|
276
|
+
decodeSearchCursor(cursor, queryKey, generation, ctx) {
|
|
277
|
+
try {
|
|
278
|
+
const state = decodeCursor(cursor, asReqCtx(ctx));
|
|
279
|
+
if (state.query === queryKey && state.generation === generation)
|
|
280
|
+
return state;
|
|
281
|
+
}
|
|
282
|
+
catch {
|
|
283
|
+
// Undecodable cursor — same rejection as one that decodes but does not match.
|
|
284
|
+
}
|
|
285
|
+
throw invalidParams('Unusable pagination cursor: it is malformed, was issued for a different query, or was issued against a catalogue snapshot that has since refreshed. Repeat the search without a cursor, then page with the nextCursor it returns.', { reason: 'invalid_cursor' });
|
|
286
|
+
}
|
|
221
287
|
/**
|
|
222
288
|
* Search datasets by keyword. The query is tokenized on whitespace and every
|
|
223
289
|
* token must match (AND), case-insensitively, somewhere in a combined
|
|
224
290
|
* `label + themePath + code` haystack — so concept-order and theme-named
|
|
225
291
|
* queries resolve even when no single label contains the phrase verbatim.
|
|
226
|
-
*
|
|
227
|
-
*
|
|
228
|
-
*
|
|
292
|
+
* A query with no non-whitespace token matches nothing rather than everything.
|
|
293
|
+
*
|
|
294
|
+
* Returns datasets only (not folders), one row per code: a dataset filed under
|
|
295
|
+
* several TOC branches keeps its first matching placement as the canonical
|
|
296
|
+
* `themePath`, so totals and page slots count unique query targets.
|
|
297
|
+
*
|
|
298
|
+
* Results are paginated with an opaque cursor (`limit` = page size, capped at
|
|
299
|
+
* 100) bound to the normalized query and the catalogue snapshot that produced
|
|
300
|
+
* it. An unusable cursor — malformed, from another query, or from a catalogue
|
|
301
|
+
* since refreshed — is rejected as `invalid_cursor` instead of silently paging
|
|
302
|
+
* a different result set.
|
|
229
303
|
*/
|
|
230
304
|
async search(query, limit, cursor, ctx) {
|
|
231
305
|
const toc = await this.ensureLoaded(ctx);
|
|
232
306
|
const tokens = query.toLowerCase().split(/\s+/).filter(Boolean);
|
|
307
|
+
if (tokens.length === 0)
|
|
308
|
+
return { datasets: [], totalMatches: 0 };
|
|
309
|
+
const seen = new Set();
|
|
233
310
|
const matched = toc.entries.flatMap((e, i) => {
|
|
234
|
-
if (e.type === 'folder')
|
|
311
|
+
if (e.type === 'folder' || seen.has(e.code))
|
|
235
312
|
return [];
|
|
236
313
|
const themePath = this.buildPath(toc.entries, i);
|
|
237
314
|
const haystack = `${e.label} ${themePath.join(' ')} ${e.code}`.toLowerCase();
|
|
238
|
-
|
|
315
|
+
if (!tokens.every((t) => haystack.includes(t)))
|
|
316
|
+
return [];
|
|
317
|
+
seen.add(e.code);
|
|
318
|
+
return [{ e, themePath }];
|
|
239
319
|
});
|
|
240
|
-
|
|
241
|
-
const
|
|
320
|
+
/** Cursor identity: the normalized query plus the catalogue snapshot it was paged over. */
|
|
321
|
+
const queryKey = tokens.join(' ');
|
|
322
|
+
const generation = toc.loadedAt.getTime();
|
|
323
|
+
let offset = 0;
|
|
324
|
+
let pageSize = limit;
|
|
325
|
+
if (cursor) {
|
|
326
|
+
const state = this.decodeSearchCursor(cursor, queryKey, generation, ctx);
|
|
327
|
+
offset = state.offset;
|
|
328
|
+
pageSize = Math.min(state.limit, MAX_PAGE_SIZE);
|
|
329
|
+
}
|
|
330
|
+
const datasets = matched
|
|
331
|
+
.slice(offset, offset + pageSize)
|
|
332
|
+
.map(({ e, themePath }) => ({
|
|
242
333
|
code: e.code,
|
|
243
334
|
label: e.label,
|
|
244
335
|
type: e.type,
|
|
@@ -248,10 +339,18 @@ export class EurostatCatalogueService {
|
|
|
248
339
|
...(e.obsCount !== undefined && { obsCount: e.obsCount }),
|
|
249
340
|
themePath,
|
|
250
341
|
}));
|
|
342
|
+
const nextOffset = offset + pageSize;
|
|
251
343
|
return {
|
|
252
344
|
datasets,
|
|
253
|
-
totalMatches:
|
|
254
|
-
...(
|
|
345
|
+
totalMatches: matched.length,
|
|
346
|
+
...(nextOffset < matched.length && {
|
|
347
|
+
nextCursor: encodeCursor({
|
|
348
|
+
offset: nextOffset,
|
|
349
|
+
limit: pageSize,
|
|
350
|
+
query: queryKey,
|
|
351
|
+
generation,
|
|
352
|
+
}),
|
|
353
|
+
}),
|
|
255
354
|
};
|
|
256
355
|
}
|
|
257
356
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-catalogue-service.js","sourceRoot":"","sources":["../../../src/services/eurostat-catalogue/eurostat-catalogue-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eurostat-catalogue-service.js","sourceRoot":"","sources":["../../../src/services/eurostat-catalogue/eurostat-catalogue-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,22 @@ export declare class EurostatDataService {
|
|
|
21
21
|
/** Fetch dataset metadata using a minimal lastTimePeriod=1 query. */
|
|
22
22
|
getDatasetInfo(datasetCode: string, ctx: Context): Promise<DatasetMeta>;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
24
|
+
* Build a filter that pins every dimension except `exceptDim` to its first (index 0)
|
|
25
|
+
* value, drawn from a probe response. Eurostat orders the primary/aggregate value first
|
|
26
|
+
* (e.g. an EU aggregate for `geo`), which typically carries the dataset's full time
|
|
27
|
+
* coverage — so pinning to it and leaving `exceptDim` unfiltered enumerates that
|
|
28
|
+
* dimension's complete value set with a minimal observation count.
|
|
29
|
+
*/
|
|
30
|
+
private pinDimensions;
|
|
31
|
+
/**
|
|
32
|
+
* Get all valid values for a specific dimension in a dataset.
|
|
33
|
+
*
|
|
34
|
+
* `time` is the only dimension truncated by a `lastTimePeriod=1` slice, so it is enumerated
|
|
35
|
+
* by pinning the other dimensions to a single value each (from a cheap probe) and leaving
|
|
36
|
+
* `time` unfiltered — returning the full period range while keeping the query bounded to
|
|
37
|
+
* |time| observations (avoiding the async 413 an unfiltered query risks on large datasets).
|
|
38
|
+
* Every other dimension's full codelist is present in any single period, so `lastTimePeriod=1`
|
|
39
|
+
* is both complete and cheap; for `geo` the NUTS level is applied, defaulting to `country`.
|
|
26
40
|
*/
|
|
27
41
|
getDimensionValues(datasetCode: string, dimension: string, geoLevel: GeoLevel | undefined, ctx: Context): Promise<DimensionValuesResult>;
|
|
28
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-data-service.d.ts","sourceRoot":"","sources":["../../../src/services/eurostat-data/eurostat-data-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAO/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EACV,WAAW,EAEX,qBAAqB,EACrB,QAAQ,EAGR,WAAW,EACZ,MAAM,YAAY,CAAC;AAMpB,qBAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"eurostat-data-service.d.ts","sourceRoot":"","sources":["../../../src/services/eurostat-data/eurostat-data-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAO/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EACV,WAAW,EAEX,qBAAqB,EACrB,QAAQ,EAGR,WAAW,EACZ,MAAM,YAAY,CAAC;AAMpB,qBAAa,mBAAmB;IAI9B,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAI;IAE5D,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,SAAS;IA0DjB,OAAO,CAAC,mBAAmB;IAwC3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiE1B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,eAAe;IAqCvB,qEAAqE;IAC/D,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAK5E;IAED;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;;;;;;;OASG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,qBAAqB,CAAC,CAqChC;IAED;;;OAGG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACjC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,WAAW,CAAC,CAgEtB;CACF;AAMD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAExF;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,CAO5D"}
|
|
@@ -36,15 +36,34 @@ export class EurostatDataService {
|
|
|
36
36
|
try {
|
|
37
37
|
response = await fetchWithTimeout(url.toString(), requestTimeoutMs, asReqCtx(ctx), {
|
|
38
38
|
signal: ctx.signal,
|
|
39
|
+
// 400 (invalid dimension / conflicting params) and 404 (unknown dataset) are
|
|
40
|
+
// modeled outcomes reclassified below into the declared error contract, not
|
|
41
|
+
// service failures — log them at debug. The thrown McpError is unchanged.
|
|
42
|
+
expectedStatuses: [400, 404],
|
|
39
43
|
});
|
|
40
44
|
}
|
|
41
45
|
catch (err) {
|
|
42
|
-
// fetchWithTimeout throws McpError for non-2xx
|
|
43
|
-
//
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
// fetchWithTimeout throws an McpError for ANY non-2xx response BEFORE the JSON
|
|
47
|
+
// error body is parsed, so checkResponseErrors() never sees a live error response —
|
|
48
|
+
// it only runs on HTTP 200 (e.g. the async 413 warning). Re-parse the captured error
|
|
49
|
+
// body (already on err.data, truncated to 500 bytes) and route it through the same
|
|
50
|
+
// classifier so Eurostat's error array maps to the declared contract on the live
|
|
51
|
+
// path too: id 100 → not_found, id 150 → invalid_dimension, other 400 →
|
|
52
|
+
// conflicting_params. Both channels then carry the reason + recovery hint.
|
|
53
|
+
const errData = err instanceof McpError
|
|
54
|
+
? err.data
|
|
55
|
+
: undefined;
|
|
56
|
+
if (errData?.errorSource === 'FetchHttpError' && typeof errData.body === 'string') {
|
|
57
|
+
let parsed;
|
|
58
|
+
try {
|
|
59
|
+
parsed = JSON.parse(errData.body);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// Body was truncated past the 500-byte cap or is non-JSON (e.g. an HTML
|
|
63
|
+
// error page) — fall through and rethrow the raw HTTP error unchanged.
|
|
64
|
+
}
|
|
65
|
+
if (parsed)
|
|
66
|
+
this.checkResponseErrors(parsed, url.toString());
|
|
48
67
|
}
|
|
49
68
|
throw err;
|
|
50
69
|
}
|
|
@@ -66,7 +85,10 @@ export class EurostatDataService {
|
|
|
66
85
|
checkResponseErrors(data, url) {
|
|
67
86
|
// Async response: query too large
|
|
68
87
|
if (data.warning?.status === 413) {
|
|
69
|
-
|
|
88
|
+
// Non-retryable: the same query re-run immediately just re-triggers the async warning.
|
|
89
|
+
// Fail fast so callers narrow the query instead of hammering the endpoint (matches the
|
|
90
|
+
// async_response contract's retryable: false).
|
|
91
|
+
throw serviceUnavailable('Eurostat returned an asynchronous response — the query matched too many observations. Add dimension filters (geo, unit, na_item, etc.) to reduce the result size and retry.', { reason: 'async_response', url, retryable: false });
|
|
70
92
|
}
|
|
71
93
|
// Error responses
|
|
72
94
|
if (Array.isArray(data.error) && data.error.length > 0) {
|
|
@@ -194,20 +216,56 @@ export class EurostatDataService {
|
|
|
194
216
|
return this.extractMetadata(data, datasetCode);
|
|
195
217
|
}
|
|
196
218
|
/**
|
|
197
|
-
*
|
|
198
|
-
*
|
|
219
|
+
* Build a filter that pins every dimension except `exceptDim` to its first (index 0)
|
|
220
|
+
* value, drawn from a probe response. Eurostat orders the primary/aggregate value first
|
|
221
|
+
* (e.g. an EU aggregate for `geo`), which typically carries the dataset's full time
|
|
222
|
+
* coverage — so pinning to it and leaving `exceptDim` unfiltered enumerates that
|
|
223
|
+
* dimension's complete value set with a minimal observation count.
|
|
224
|
+
*/
|
|
225
|
+
pinDimensions(data, exceptDim) {
|
|
226
|
+
const pins = {};
|
|
227
|
+
for (const dim of data.id ?? []) {
|
|
228
|
+
if (dim === exceptDim)
|
|
229
|
+
continue;
|
|
230
|
+
const index = data.dimension?.[dim]?.category?.index;
|
|
231
|
+
if (!index)
|
|
232
|
+
continue;
|
|
233
|
+
let firstCode;
|
|
234
|
+
let firstPos = Number.POSITIVE_INFINITY;
|
|
235
|
+
for (const [code, pos] of Object.entries(index)) {
|
|
236
|
+
if (pos < firstPos) {
|
|
237
|
+
firstPos = pos;
|
|
238
|
+
firstCode = code;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
if (firstCode !== undefined)
|
|
242
|
+
pins[dim] = firstCode;
|
|
243
|
+
}
|
|
244
|
+
return pins;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Get all valid values for a specific dimension in a dataset.
|
|
248
|
+
*
|
|
249
|
+
* `time` is the only dimension truncated by a `lastTimePeriod=1` slice, so it is enumerated
|
|
250
|
+
* by pinning the other dimensions to a single value each (from a cheap probe) and leaving
|
|
251
|
+
* `time` unfiltered — returning the full period range while keeping the query bounded to
|
|
252
|
+
* |time| observations (avoiding the async 413 an unfiltered query risks on large datasets).
|
|
253
|
+
* Every other dimension's full codelist is present in any single period, so `lastTimePeriod=1`
|
|
254
|
+
* is both complete and cheap; for `geo` the NUTS level is applied, defaulting to `country`.
|
|
199
255
|
*/
|
|
200
256
|
async getDimensionValues(datasetCode, dimension, geoLevel, ctx) {
|
|
201
257
|
ctx.log.info('Fetching dimension values', { datasetCode, dimension, geoLevel });
|
|
202
|
-
|
|
203
|
-
if (dimension === '
|
|
204
|
-
|
|
258
|
+
let data;
|
|
259
|
+
if (dimension === 'time') {
|
|
260
|
+
const probe = await this.fetchJson(this.buildUrl(datasetCode, { lastTimePeriod: '1' }), ctx);
|
|
261
|
+
data = await this.fetchJson(this.buildUrl(datasetCode, this.pinDimensions(probe, 'time')), ctx);
|
|
205
262
|
}
|
|
206
263
|
else {
|
|
207
|
-
params
|
|
264
|
+
const params = { lastTimePeriod: '1' };
|
|
265
|
+
if (dimension === 'geo')
|
|
266
|
+
params.geoLevel = geoLevel ?? 'country';
|
|
267
|
+
data = await this.fetchJson(this.buildUrl(datasetCode, params), ctx);
|
|
208
268
|
}
|
|
209
|
-
const url = this.buildUrl(datasetCode, params);
|
|
210
|
-
const data = await this.fetchJson(url, ctx);
|
|
211
269
|
const dimDef = data.dimension?.[dimension];
|
|
212
270
|
if (!dimDef) {
|
|
213
271
|
throw notFound(`Dimension "${dimension}" not found in dataset "${datasetCode}". Use eurostat_get_dataset_info to see valid dimensions.`, { reason: 'not_found', datasetCode, dimension });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-data-service.js","sourceRoot":"","sources":["../../../src/services/eurostat-data/eurostat-data-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAW5D,yFAAyF;AACzF,0CAA0C;AAC1C,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,GAAsD,CAAC;AAE1F,MAAM,OAAO,mBAAmB;IAC9B,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,YAAY,OAAkB,EAAE,QAAwB,IAAG,CAAC;IAEpD,QAAQ,CAAC,WAAmB,EAAE,MAAyC;QAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,wBAAwB,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzF,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,KAAK;oBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,SAAS,CAAC,GAAQ,EAAE,GAAY;QACtC,MAAM,EAAE,gBAAgB,EAAE,GAAG,eAAe,EAAE,CAAC;QAC/C,OAAO,SAAS,CACd,KAAK,IAAI,EAAE;YACT,IAAI,QAAsD,CAAC;YAC3D,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACjF,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,oFAAoF;gBACpF,8EAA8E;gBAC9E,MAAM,OAAO,GACX,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,IAA4C,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1F,IAAI,OAAO,EAAE,WAAW,KAAK,gBAAgB,IAAI,OAAO,EAAE,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC7E,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;oBACnE,MAAM,QAAQ,CACZ,YAAY,kBAAkB,CAAC,WAAW,CAAC,mGAAmG,EAC9I,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,CACtE,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,kBAAkB,CACtB,yGAAyG,CAC1G,CAAC;YACJ,CAAC;YACD,IAAI,MAAwB,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,kBAAkB,CACtB,4EAA4E,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACjG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAC9F,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,IAAsB,EAAE,GAAW;QAC7D,kCAAkC;QAClC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YACjC,MAAM,kBAAkB,CACtB,6KAA6K,EAC7K,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAClC,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,GAAG;gBAAE,OAAO,CAAC,yEAAyE;YAC3F,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;gBACzC,MAAM,QAAQ,CACZ,sCAAsC,GAAG,CAAC,KAAK,oFAAoF,EACnI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,CAC5C,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;oBACnB,MAAM,eAAe,CACnB,2CAA2C,GAAG,CAAC,KAAK,2EAA2E,EAC/H,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,EAAE,CACpD,CAAC;gBACJ,CAAC;gBACD,MAAM,eAAe,CAAC,gCAAgC,GAAG,CAAC,KAAK,GAAG,EAAE;oBAClE,MAAM,EAAE,oBAAoB;oBAC5B,aAAa,EAAE,GAAG;iBACnB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,kBAAkB,CAAC,sBAAsB,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE;gBAC1E,aAAa,EAAE,GAAG;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAsB;QAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;QAEzD,0DAA0D;QAC1D,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;QACrE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,0FAA0F;YAC1F,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,+DAA+D;QAC/D,MAAM,SAAS,GAAkD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAChF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;YAC5C,IAAI,CAAC,GAAG,EAAE,KAAK;gBAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;iBAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChB,IAAI;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;aACjC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC;gBAAE,SAAS;YAExD,MAAM,UAAU,GAAoD,EAAE,CAAC;YACvE,IAAI,SAAS,GAAG,SAAS,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;gBAC3C,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;gBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,OAAO,EAAE,CAAC;oBACZ,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5E,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;YACvC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAElC,MAAM,GAAG,GAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACzD,IAAI,UAAU,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,GAAG;oBACX,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,UAAU;iBAC9C,CAAC;YACJ,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,iBAAiB,CACvB,IAAsB,EACtB,IAAY,EACZ,KAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IAEO,eAAe,CAAC,IAAsB,EAAE,WAAmB;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QAEvC,MAAM,UAAU,GAAoB,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACvD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;YACzC,MAAM,SAAS,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,OAAO;gBAC3C,WAAW,EAAE,SAAS,CAAC,MAAM;gBAC7B,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpD,IAAI;oBACJ,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;iBAClC,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACxF,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAEtE,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,WAAW;YAChC,UAAU;YACV,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;YACzC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;YAC/C,WAAW;YACX,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,GAAY;QACpD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,WAAmB,EACnB,SAAiB,EACjB,QAA8B,EAC9B,GAAY;QAEZ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEhF,MAAM,MAAM,GAAsC,EAAE,CAAC;QACrD,IAAI,SAAS,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC;QAC9B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,QAAQ,CACZ,cAAc,SAAS,2BAA2B,WAAW,2DAA2D,EACxH,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAChD,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC5B,MAAM,SAAS,GAAG,GAAG,EAAE,KAAK;YAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;iBACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,aAAa,EAAE,SAAS;YACxB,cAAc,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS;YACzC,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,WAAmB,EACnB,OAAiC,EACjC,QAA8B,EAC9B,MAA0B,EAC1B,MAA0B,EAC1B,KAAyB,EACzB,IAAY,EACZ,GAAY;QAEZ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5F,qCAAqC;QACrC,IAAI,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,eAAe,CACnB,yKAAyK,EACzK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CACjC,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,eAAe,CACnB,mGAAmG,EACnG,EAAE,MAAM,EAAE,oBAAoB,EAAE,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAsC,EAAE,IAAI,EAAE,CAAC;QAE3D,0BAA0B;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzC,IAAI,MAAM,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC;QACtD,IAAI,MAAM,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC;QACtD,IAAI,KAAK;YAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE5C,wDAAwD;QACxD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,MAAM,QAAQ,CACZ,+CAA+C,WAAW,kIAAkI,EAC5L,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAC/C,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;QAE5E,2EAA2E;QAC3E,gFAAgF;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACxF,MAAM,SAAS,GAAG,YAAY;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,UAA2D,CAAC,IAAI,EAAE,IAAI,CAAC;aACrF,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;aAC3C,IAAI,EAAE,CAAC;QACV,MAAM,SAAS,GAAG;YAChB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM;YAC7B,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM;SAC/C,CAAC;QAEF,OAAO;YACL,WAAW;YACX,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,WAAW;YACvC,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;YAC7B,YAAY;YACZ,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,SAAS;YACT,eAAe;SAChB,CAAC;IACJ,CAAC;CACF;AAED,gCAAgC;AAEhC,IAAI,QAAyC,CAAC;AAE9C,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,OAAuB;IAChF,QAAQ,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"eurostat-data-service.js","sourceRoot":"","sources":["../../../src/services/eurostat-data/eurostat-data-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/eurostat-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"mcpName": "io.github.cyanheads/eurostat-mcp-server",
|
|
5
5
|
"description": "Search and query the Eurostat catalogue — EU economy, demography, trade, health, and NUTS regional data via MCP. STDIO or Streamable HTTP.",
|
|
6
6
|
"type": "module",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"url": "https://github.com/cyanheads/eurostat-mcp-server/issues"
|
|
58
58
|
},
|
|
59
59
|
"homepage": "https://github.com/cyanheads/eurostat-mcp-server#readme",
|
|
60
|
-
"author": "
|
|
60
|
+
"author": "Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)",
|
|
61
61
|
"funding": [
|
|
62
62
|
{
|
|
63
63
|
"type": "github",
|
|
@@ -69,28 +69,28 @@
|
|
|
69
69
|
}
|
|
70
70
|
],
|
|
71
71
|
"license": "Apache-2.0",
|
|
72
|
-
"packageManager": "bun@1.3.
|
|
72
|
+
"packageManager": "bun@1.3.14",
|
|
73
73
|
"engines": {
|
|
74
|
-
"bun": ">=1.3.
|
|
74
|
+
"bun": ">=1.3.0",
|
|
75
75
|
"node": ">=24.0.0"
|
|
76
76
|
},
|
|
77
77
|
"publishConfig": {
|
|
78
78
|
"access": "public"
|
|
79
79
|
},
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"@cyanheads/mcp-ts-core": "^0.
|
|
81
|
+
"@cyanheads/mcp-ts-core": "^0.11.1",
|
|
82
82
|
"pino-pretty": "^13.1.3",
|
|
83
83
|
"zod": "^4.4.3"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
|
-
"@biomejs/biome": "2.5.
|
|
86
|
+
"@biomejs/biome": "2.5.6",
|
|
87
87
|
"@socketsecurity/bun-security-scanner": "^1.1.2",
|
|
88
|
-
"@types/node": "26.1.
|
|
88
|
+
"@types/node": "26.1.2",
|
|
89
89
|
"depcheck": "^1.4.7",
|
|
90
|
-
"ignore": "^7.0.
|
|
91
|
-
"tsc-alias": "^1.9.
|
|
92
|
-
"tsx": "^4.23.
|
|
93
|
-
"typescript": "^
|
|
90
|
+
"ignore": "^7.0.6",
|
|
91
|
+
"tsc-alias": "^1.9.1",
|
|
92
|
+
"tsx": "^4.23.1",
|
|
93
|
+
"typescript": "^7.0.2",
|
|
94
94
|
"vitest": "^4.1.10"
|
|
95
95
|
}
|
|
96
96
|
}
|
package/server.json
CHANGED
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
"url": "https://eurostat.caseyjhand.com/mcp"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
|
-
"version": "0.1.
|
|
15
|
+
"version": "0.1.16",
|
|
16
16
|
"packages": [
|
|
17
17
|
{
|
|
18
18
|
"registryType": "npm",
|
|
19
19
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
20
20
|
"identifier": "@cyanheads/eurostat-mcp-server",
|
|
21
21
|
"runtimeHint": "bun",
|
|
22
|
-
"version": "0.1.
|
|
22
|
+
"version": "0.1.16",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{
|
|
25
25
|
"type": "positional",
|
|
@@ -51,6 +51,13 @@
|
|
|
51
51
|
"format": "string",
|
|
52
52
|
"isRequired": false,
|
|
53
53
|
"default": "30000"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "EUROSTAT_TOC_CACHE_TTL_MS",
|
|
57
|
+
"description": "How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours.",
|
|
58
|
+
"format": "string",
|
|
59
|
+
"isRequired": false,
|
|
60
|
+
"default": "43200000"
|
|
54
61
|
}
|
|
55
62
|
],
|
|
56
63
|
"transport": {
|
|
@@ -62,7 +69,7 @@
|
|
|
62
69
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
63
70
|
"identifier": "@cyanheads/eurostat-mcp-server",
|
|
64
71
|
"runtimeHint": "bun",
|
|
65
|
-
"version": "0.1.
|
|
72
|
+
"version": "0.1.16",
|
|
66
73
|
"packageArguments": [
|
|
67
74
|
{
|
|
68
75
|
"type": "positional",
|
|
@@ -128,6 +135,13 @@
|
|
|
128
135
|
"format": "string",
|
|
129
136
|
"isRequired": false,
|
|
130
137
|
"default": "30000"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "EUROSTAT_TOC_CACHE_TTL_MS",
|
|
141
|
+
"description": "How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours.",
|
|
142
|
+
"format": "string",
|
|
143
|
+
"isRequired": false,
|
|
144
|
+
"default": "43200000"
|
|
131
145
|
}
|
|
132
146
|
],
|
|
133
147
|
"transport": {
|