@cyanheads/eurostat-mcp-server 0.9.0 → 0.10.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.
- package/AGENTS.md +6 -5
- package/CLAUDE.md +6 -5
- package/Dockerfile +7 -6
- package/README.md +36 -34
- package/changelog/0.10.x/0.10.0.md +40 -0
- package/changelog/0.10.x/0.10.1.md +27 -0
- 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 +9 -4
- package/dist/config/server-config.js.map +1 -1
- package/dist/index.js +26 -8
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/clamp-read-limit.d.ts +11 -0
- package/dist/mcp-server/tools/clamp-read-limit.d.ts.map +1 -0
- package/dist/mcp-server/tools/clamp-read-limit.js +14 -0
- package/dist/mcp-server/tools/clamp-read-limit.js.map +1 -0
- package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.d.ts +10 -2
- package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js +63 -10
- package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.d.ts +0 -1
- package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.js +14 -4
- package/dist/mcp-server/tools/definitions/eurostat-dataframe-describe.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.js +113 -38
- package/dist/mcp-server/tools/definitions/eurostat-dataframe-query.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts +101 -2
- package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js +60 -24
- package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.js +10 -1
- package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.d.ts +13 -6
- 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 +235 -53
- 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 +110 -5
- 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 +56 -26
- 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 +55 -2
- 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 +90 -22
- package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.js.map +1 -1
- package/dist/mcp-server/tools/value-list-paging.d.ts +49 -0
- package/dist/mcp-server/tools/value-list-paging.d.ts.map +1 -0
- package/dist/mcp-server/tools/value-list-paging.js +73 -0
- package/dist/mcp-server/tools/value-list-paging.js.map +1 -0
- package/dist/services/canvas-accessor.d.ts +11 -1
- package/dist/services/canvas-accessor.d.ts.map +1 -1
- package/dist/services/canvas-accessor.js +13 -2
- package/dist/services/canvas-accessor.js.map +1 -1
- package/dist/services/eurostat-bulk/eurostat-bulk-service.d.ts +8 -4
- package/dist/services/eurostat-bulk/eurostat-bulk-service.d.ts.map +1 -1
- package/dist/services/eurostat-bulk/eurostat-bulk-service.js +131 -46
- package/dist/services/eurostat-bulk/eurostat-bulk-service.js.map +1 -1
- package/dist/services/eurostat-bulk/types.d.ts +1 -1
- package/dist/services/eurostat-bulk/types.d.ts.map +1 -1
- package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts +46 -4
- package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts.map +1 -1
- package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js +146 -36
- package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js.map +1 -1
- package/dist/services/eurostat-data/eurostat-data-service.d.ts +5 -0
- package/dist/services/eurostat-data/eurostat-data-service.d.ts.map +1 -1
- package/dist/services/eurostat-data/eurostat-data-service.js +144 -28
- package/dist/services/eurostat-data/eurostat-data-service.js.map +1 -1
- package/dist/services/eurostat-filters.d.ts +13 -0
- package/dist/services/eurostat-filters.d.ts.map +1 -0
- package/dist/services/eurostat-filters.js +21 -0
- package/dist/services/eurostat-filters.js.map +1 -0
- package/dist/services/eurostat-outage.d.ts +27 -0
- package/dist/services/eurostat-outage.d.ts.map +1 -0
- package/dist/services/eurostat-outage.js +44 -0
- package/dist/services/eurostat-outage.js.map +1 -0
- package/package.json +9 -9
- package/server.json +31 -17
|
@@ -13,7 +13,11 @@ export declare class EurostatCatalogueService {
|
|
|
13
13
|
private refresh;
|
|
14
14
|
/** Shared in-flight retry of a failed Comext merge. */
|
|
15
15
|
private remerge;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Epoch ms before which a stale cache is served without re-attempting a failed refresh.
|
|
18
|
+
* Non-zero exactly while the last refresh attempt failed, so the cache in service is one
|
|
19
|
+
* past its TTL that the refresh could not replace.
|
|
20
|
+
*/
|
|
17
21
|
private refreshRetryAt;
|
|
18
22
|
constructor(_config: AppConfig, _storage: StorageService);
|
|
19
23
|
/**
|
|
@@ -98,6 +102,11 @@ export declare class EurostatCatalogueService {
|
|
|
98
102
|
* theme reachable from a root-level browse.
|
|
99
103
|
*/
|
|
100
104
|
private findRootChildren;
|
|
105
|
+
/**
|
|
106
|
+
* `catalogueLoadedAt` while a failed refresh keeps an expired catalogue in service — on the
|
|
107
|
+
* call whose refresh failed and through the cooldown after it.
|
|
108
|
+
*/
|
|
109
|
+
private staleness;
|
|
101
110
|
/**
|
|
102
111
|
* Get immediate children of a folder code, or root theme folders if code is undefined.
|
|
103
112
|
*
|
|
@@ -105,11 +114,19 @@ export declare class EurostatCatalogueService {
|
|
|
105
114
|
* `buildCodeIndex`); the breadcrumbs of the branches not taken are returned as
|
|
106
115
|
* `otherPlacements` so the caller can see that the code was ambiguous and which
|
|
107
116
|
* alternatives exist.
|
|
117
|
+
*
|
|
118
|
+
* While the Comext list is not merged, a browse of a folder its collections file under
|
|
119
|
+
* reports `comextListMissing`, and a Comext folder or `DS-*` code fails `not_found` with
|
|
120
|
+
* `comextListMissing` in its data rather than as an unknown code. `catalogueLoadedAt`
|
|
121
|
+
* marks a catalogue a failed refresh could not replace, on the listing and in the data
|
|
122
|
+
* of a `not_found`.
|
|
108
123
|
*/
|
|
109
124
|
browse(themeCode: string | undefined, ctx: Context): Promise<{
|
|
125
|
+
catalogueLoadedAt?: string;
|
|
126
|
+
comextListMissing?: boolean;
|
|
110
127
|
items: BrowseItem[];
|
|
111
|
-
parentPath: string[];
|
|
112
128
|
otherPlacements?: string[][];
|
|
129
|
+
parentPath: string[];
|
|
113
130
|
}>;
|
|
114
131
|
private toBrowseItem;
|
|
115
132
|
/**
|
|
@@ -119,11 +136,28 @@ export declare class EurostatCatalogueService {
|
|
|
119
136
|
* opaque, so telling them apart would only describe its internal shape.
|
|
120
137
|
*/
|
|
121
138
|
private decodeSearchCursor;
|
|
139
|
+
/**
|
|
140
|
+
* Each dataset's search text — label, breadcrumb, and code, lowercased, with whitespace
|
|
141
|
+
* beside punctuation removed — indexed like `entries`. Folders, which search never
|
|
142
|
+
* returns, are undefined.
|
|
143
|
+
*/
|
|
144
|
+
private buildSearchText;
|
|
145
|
+
/**
|
|
146
|
+
* For a query that matched nothing, the words whose removal alone finds matches, with
|
|
147
|
+
* that count, in query order. `words` maps each distinct token to the word as typed.
|
|
148
|
+
* One pass: a placement missing exactly one word rescues its code for that word, and a
|
|
149
|
+
* code counts once per word whichever placement rescued it — so each count equals the
|
|
150
|
+
* `totalMatches` of the same search without that word.
|
|
151
|
+
*/
|
|
152
|
+
private countWithoutEachWord;
|
|
122
153
|
/**
|
|
123
154
|
* Search datasets by keyword. The query is tokenized on whitespace and every
|
|
124
155
|
* token must match (AND), case-insensitively, somewhere in a combined
|
|
125
156
|
* `label + themePath + code` haystack — so concept-order and theme-named
|
|
126
157
|
* queries resolve even when no single label contains the phrase verbatim.
|
|
158
|
+
* Whitespace beside punctuation is removed from the haystack, never from a token,
|
|
159
|
+
* so `Rev.2` finds `Rev. 2` while `R&D` and `DS-045409` keep their punctuation;
|
|
160
|
+
* no query matches less than it would against the unfolded text.
|
|
127
161
|
* A query with no non-whitespace token matches nothing rather than everything.
|
|
128
162
|
*
|
|
129
163
|
* Returns datasets only (not folders), one row per code: a dataset filed under
|
|
@@ -138,15 +172,23 @@ export declare class EurostatCatalogueService {
|
|
|
138
172
|
*
|
|
139
173
|
* An empty match reports the `DS-*` codes the query names that neither source lists
|
|
140
174
|
* (`undisseminatedCodes`), so the caller can be told the collection is not
|
|
141
|
-
* disseminated rather than to broaden the search
|
|
142
|
-
*
|
|
175
|
+
* disseminated rather than to broaden the search, and — for two or more distinct
|
|
176
|
+
* words — each word whose removal alone finds matches (`wordRemovalCounts`).
|
|
177
|
+
* `comextListMissing` flags that the Comext list is not merged right now, so the
|
|
178
|
+
* `DS-*` collections were not searched and absence from that list proves nothing;
|
|
179
|
+
* `catalogueLoadedAt` marks a catalogue a failed refresh could not replace.
|
|
143
180
|
*/
|
|
144
181
|
search(query: string, limit: number, cursor: string | undefined, ctx: Context): Promise<{
|
|
182
|
+
catalogueLoadedAt?: string;
|
|
145
183
|
comextListMissing?: boolean;
|
|
146
184
|
datasets: DatasetResult[];
|
|
147
185
|
nextCursor?: string;
|
|
148
186
|
totalMatches: number;
|
|
149
187
|
undisseminatedCodes?: string[];
|
|
188
|
+
wordRemovalCounts?: Array<{
|
|
189
|
+
totalMatches: number;
|
|
190
|
+
word: string;
|
|
191
|
+
}>;
|
|
150
192
|
}>;
|
|
151
193
|
}
|
|
152
194
|
export declare function initEurostatCatalogueService(config: AppConfig, storage: StorageService): void;
|
|
@@ -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;AAO/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;AAO/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAgBrE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAY,MAAM,YAAY,CAAC;AAoEtE,qBAAa,wBAAwB;IACnC,OAAO,CAAC,KAAK,CAAuB;IACpC,qFAAqF;IACrF,OAAO,CAAC,OAAO,CAAgC;IAC/C,uDAAuD;IACvD,OAAO,CAAC,OAAO,CAAgC;IAC/C;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAK;IAK3B,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAI;IAE5D;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,YAAY;YAIN,UAAU;IAyCxB;;;;;;OAMG;YACW,gBAAgB;IAY9B,0FAA0F;IAC1F,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,gBAAgB;IAUxB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAclB,uFAAuF;YACzE,gBAAgB;IA4B9B;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;YA0CV,eAAe;IAmC7B;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;IAQtB;;;;;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;;;OAGG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;;;;;;;;;;OAaG;IACG,MAAM,CACV,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;QAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAiED;IAED,OAAO,CAAC,YAAY;IAepB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAUvB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC;QACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,iBAAiB,CAAC,EAAE,KAAK,CAAC;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnE,CAAC,CAuED;CACF;AAgBD,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE7F;AAED,wBAAgB,2BAA2B,IAAI,wBAAwB,CAOtE"}
|
|
@@ -4,15 +4,16 @@
|
|
|
4
4
|
* @module services/eurostat-catalogue/eurostat-catalogue-service
|
|
5
5
|
*/
|
|
6
6
|
import { invalidParams, notFound, serviceUnavailable, validationError, } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
-
import { decodeCursor, encodeCursor, fetchWithTimeout, withRetry, } from '@cyanheads/mcp-ts-core/utils';
|
|
7
|
+
import { decodeCursor, encodeCursor, fetchWithTimeout, withExtra, withRetry, } from '@cyanheads/mcp-ts-core/utils';
|
|
8
8
|
import { getServerConfig } from '../../config/server-config.js';
|
|
9
9
|
import { parseSdmxDataflowList, } from '../eurostat-data/sdmx-metadata.js';
|
|
10
|
+
import { upstreamOutage } from '../eurostat-outage.js';
|
|
10
11
|
import { awaitShared } from '../shared-load.js';
|
|
11
12
|
/** Upper bound on datasets returned per search page, mirroring the tool's `limit` cap. */
|
|
12
13
|
const MAX_PAGE_SIZE = 100;
|
|
13
14
|
/**
|
|
14
15
|
* How long a failed refresh keeps the stale cache in service before upstream is
|
|
15
|
-
* tried again. `withRetry` bounds one
|
|
16
|
+
* tried again. `withRetry` bounds one load; this bounds the attempt rate, so
|
|
16
17
|
* an upstream outage costs one fetch per minute rather than one per call. A failed
|
|
17
18
|
* Comext merge is retried on the same schedule.
|
|
18
19
|
*/
|
|
@@ -39,15 +40,28 @@ const COMEXT_OTHER_FOLDER = {
|
|
|
39
40
|
code: 'comext',
|
|
40
41
|
label: 'Comext dissemination database - other collections',
|
|
41
42
|
};
|
|
43
|
+
/** The TOC folders the Comext collection folders are filed under. */
|
|
44
|
+
const COMEXT_PARENT_FOLDERS = new Set(Object.values(COMEXT_FOLDERS).map((f) => f.parent));
|
|
42
45
|
/** A dataset code on the Comext host's scheme, as a lowercased search token. */
|
|
43
46
|
const DS_CODE_TOKEN = /^ds-\d+$/;
|
|
47
|
+
/**
|
|
48
|
+
* Whitespace beside punctuation other than `_`, removed from search text so `Rev.2` finds
|
|
49
|
+
* `Rev. 2` and `2015=100` finds `2015 = 100`. A run is taken whole after a punctuation mark,
|
|
50
|
+
* or from its first blank when one follows it — never retried from inside a run, which keeps
|
|
51
|
+
* a long run of blanks linear.
|
|
52
|
+
*/
|
|
53
|
+
const SPACE_BESIDE_PUNCTUATION = /(?<=[^\p{L}\p{N}_\s])\s+|(?<!\s)\s+(?=[^\p{L}\p{N}_\s])/gu;
|
|
44
54
|
export class EurostatCatalogueService {
|
|
45
55
|
cache;
|
|
46
56
|
/** Shared in-flight refresh so concurrent callers past the TTL trigger one fetch. */
|
|
47
57
|
refresh;
|
|
48
58
|
/** Shared in-flight retry of a failed Comext merge. */
|
|
49
59
|
remerge;
|
|
50
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Epoch ms before which a stale cache is served without re-attempting a failed refresh.
|
|
62
|
+
* Non-zero exactly while the last refresh attempt failed, so the cache in service is one
|
|
63
|
+
* past its TTL that the refresh could not replace.
|
|
64
|
+
*/
|
|
51
65
|
refreshRetryAt = 0;
|
|
52
66
|
// config and storage accepted to match the standard service init pattern;
|
|
53
67
|
// this service uses only the Eurostat public API and per-request config.
|
|
@@ -166,14 +180,22 @@ export class EurostatCatalogueService {
|
|
|
166
180
|
/** The Comext host's dataflow list — the `DS-*` collections the TOC does not carry. */
|
|
167
181
|
async fetchComextFlows(ctx) {
|
|
168
182
|
const { comextBaseUrl, requestTimeoutMs } = getServerConfig();
|
|
169
|
-
const
|
|
170
|
-
const
|
|
171
|
-
|
|
183
|
+
const fetchCtx = withExtra(ctx, { endpoint: 'comext-dataflows' });
|
|
184
|
+
const text = await withRetry(async ({ signal }) => {
|
|
185
|
+
const response = await fetchWithTimeout(`${comextBaseUrl}/sdmx/2.1/dataflow/ESTAT`, requestTimeoutMs, fetchCtx, { signal });
|
|
186
|
+
return response.text();
|
|
187
|
+
}, {
|
|
188
|
+
operation: 'fetchComextFlows',
|
|
189
|
+
context: fetchCtx,
|
|
190
|
+
maxRetries: 0,
|
|
191
|
+
deadlineMs: requestTimeoutMs,
|
|
192
|
+
});
|
|
193
|
+
const flows = parseSdmxDataflowList(text);
|
|
172
194
|
// An empty list is a broken answer, not an empty host: merging it would report every
|
|
173
195
|
// DS-* code as undisseminated, so it is retried like any other failure.
|
|
174
196
|
if (flows.length === 0)
|
|
175
|
-
throw new Error(
|
|
176
|
-
ctx.log.info('Comext dataflow list loaded', {
|
|
197
|
+
throw new Error('The Comext dataflow list listed no dataflows');
|
|
198
|
+
ctx.log.info('Comext dataflow list loaded', { dataflowCount: flows.length });
|
|
177
199
|
return flows;
|
|
178
200
|
}
|
|
179
201
|
/**
|
|
@@ -225,16 +247,20 @@ export class EurostatCatalogueService {
|
|
|
225
247
|
}
|
|
226
248
|
async fetchTocEntries(ctx) {
|
|
227
249
|
const { baseUrl, requestTimeoutMs } = getServerConfig();
|
|
228
|
-
const
|
|
229
|
-
ctx.log.info('Fetching Eurostat TOC'
|
|
230
|
-
const text = await withRetry(async () => {
|
|
231
|
-
const response = await fetchWithTimeout(
|
|
250
|
+
const fetchCtx = withExtra(ctx, { endpoint: 'toc' });
|
|
251
|
+
ctx.log.info('Fetching Eurostat TOC');
|
|
252
|
+
const text = await withRetry(async ({ signal }) => {
|
|
253
|
+
const response = await fetchWithTimeout(`${baseUrl}/catalogue/toc/txt?lang=en`, requestTimeoutMs, fetchCtx, { signal });
|
|
232
254
|
const body = await response.text();
|
|
233
255
|
if (/^\s*<(!DOCTYPE\s+html|html[\s>])/i.test(body)) {
|
|
234
256
|
throw serviceUnavailable('Eurostat TOC returned HTML instead of TSV — likely rate-limited or temporarily unavailable.');
|
|
235
257
|
}
|
|
236
258
|
return body;
|
|
237
|
-
}, { operation: 'fetchToc', context:
|
|
259
|
+
}, { operation: 'fetchToc', context: fetchCtx, baseDelayMs: 1000, deadlineMs: requestTimeoutMs }).catch((error) => {
|
|
260
|
+
// The load is shared and runs without a caller's signal, so nothing here is a cancellation.
|
|
261
|
+
throw (upstreamOutage(error, "Eurostat's catalogue endpoint", 'the table-of-contents read', {}) ??
|
|
262
|
+
error);
|
|
263
|
+
});
|
|
238
264
|
const entries = this.parseToc(text);
|
|
239
265
|
ctx.log.info('TOC loaded', { entryCount: entries.length });
|
|
240
266
|
return entries;
|
|
@@ -392,6 +418,13 @@ export class EurostatCatalogueService {
|
|
|
392
418
|
}
|
|
393
419
|
return rootIdxs.flatMap((rootIdx) => this.indexesWhere(entries, (e) => e.parentIndex === rootIdx));
|
|
394
420
|
}
|
|
421
|
+
/**
|
|
422
|
+
* `catalogueLoadedAt` while a failed refresh keeps an expired catalogue in service — on the
|
|
423
|
+
* call whose refresh failed and through the cooldown after it.
|
|
424
|
+
*/
|
|
425
|
+
staleness(toc) {
|
|
426
|
+
return this.refreshRetryAt === 0 ? {} : { catalogueLoadedAt: toc.loadedAt.toISOString() };
|
|
427
|
+
}
|
|
395
428
|
/**
|
|
396
429
|
* Get immediate children of a folder code, or root theme folders if code is undefined.
|
|
397
430
|
*
|
|
@@ -399,21 +432,34 @@ export class EurostatCatalogueService {
|
|
|
399
432
|
* `buildCodeIndex`); the breadcrumbs of the branches not taken are returned as
|
|
400
433
|
* `otherPlacements` so the caller can see that the code was ambiguous and which
|
|
401
434
|
* alternatives exist.
|
|
435
|
+
*
|
|
436
|
+
* While the Comext list is not merged, a browse of a folder its collections file under
|
|
437
|
+
* reports `comextListMissing`, and a Comext folder or `DS-*` code fails `not_found` with
|
|
438
|
+
* `comextListMissing` in its data rather than as an unknown code. `catalogueLoadedAt`
|
|
439
|
+
* marks a catalogue a failed refresh could not replace, on the listing and in the data
|
|
440
|
+
* of a `not_found`.
|
|
402
441
|
*/
|
|
403
442
|
async browse(themeCode, ctx) {
|
|
404
443
|
const toc = await this.ensureLoaded(ctx);
|
|
444
|
+
const comextListMissing = toc.comextRetryAt !== undefined;
|
|
405
445
|
if (!themeCode) {
|
|
406
446
|
const childIndexes = this.findRootChildren(toc.entries);
|
|
407
447
|
const items = childIndexes.flatMap((i) => {
|
|
408
448
|
const item = this.toBrowseItem(toc.entries, i);
|
|
409
449
|
return item ? [item] : [];
|
|
410
450
|
});
|
|
411
|
-
return { items, parentPath: [] };
|
|
451
|
+
return { items, parentPath: [], ...this.staleness(toc) };
|
|
412
452
|
}
|
|
413
453
|
const folderIdxMaybe = toc.codeIndex.get(themeCode);
|
|
414
454
|
const folderEntry = folderIdxMaybe !== undefined ? toc.entries[folderIdxMaybe] : undefined;
|
|
415
455
|
if (folderIdxMaybe === undefined || folderEntry === undefined) {
|
|
416
|
-
|
|
456
|
+
if (comextListMissing &&
|
|
457
|
+
(Object.hasOwn(COMEXT_FOLDERS, themeCode) ||
|
|
458
|
+
themeCode === COMEXT_OTHER_FOLDER.code ||
|
|
459
|
+
DS_CODE_TOKEN.test(themeCode.toLowerCase()))) {
|
|
460
|
+
throw notFound(`Theme "${themeCode}" comes from the Comext dataflow list, which could not be loaded, so it is not in the catalogue right now.`, { reason: 'not_found', themeCode, comextListMissing: true, ...this.staleness(toc) });
|
|
461
|
+
}
|
|
462
|
+
throw notFound(`Theme "${themeCode}" not found in the Eurostat TOC. Use eurostat_browse_themes without theme_code to see top-level themes, then navigate from there.`, { reason: 'not_found', themeCode, ...this.staleness(toc) });
|
|
417
463
|
}
|
|
418
464
|
if (folderEntry.type !== 'folder') {
|
|
419
465
|
throw validationError(`Theme code "${themeCode}" identifies a ${folderEntry.type} entry, not a folder. Only folder codes can be expanded with eurostat_browse_themes.`, { reason: 'not_a_folder', themeCode, entryType: folderEntry.type });
|
|
@@ -432,7 +478,13 @@ export class EurostatCatalogueService {
|
|
|
432
478
|
path.push(toc.entries[i]?.label ?? themeCode);
|
|
433
479
|
return path;
|
|
434
480
|
});
|
|
435
|
-
return {
|
|
481
|
+
return {
|
|
482
|
+
items,
|
|
483
|
+
parentPath,
|
|
484
|
+
...(otherPlacements.length > 0 && { otherPlacements }),
|
|
485
|
+
...(comextListMissing && COMEXT_PARENT_FOLDERS.has(themeCode) && { comextListMissing }),
|
|
486
|
+
...this.staleness(toc),
|
|
487
|
+
};
|
|
436
488
|
}
|
|
437
489
|
toBrowseItem(entries, index) {
|
|
438
490
|
const e = entries[index];
|
|
@@ -466,11 +518,57 @@ export class EurostatCatalogueService {
|
|
|
466
518
|
}
|
|
467
519
|
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' });
|
|
468
520
|
}
|
|
521
|
+
/**
|
|
522
|
+
* Each dataset's search text — label, breadcrumb, and code, lowercased, with whitespace
|
|
523
|
+
* beside punctuation removed — indexed like `entries`. Folders, which search never
|
|
524
|
+
* returns, are undefined.
|
|
525
|
+
*/
|
|
526
|
+
buildSearchText(entries) {
|
|
527
|
+
return entries.map((e, i) => e.type === 'folder'
|
|
528
|
+
? undefined
|
|
529
|
+
: `${e.label} ${this.buildPath(entries, i).join(' ')} ${e.code}`
|
|
530
|
+
.toLowerCase()
|
|
531
|
+
.replace(SPACE_BESIDE_PUNCTUATION, ''));
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* For a query that matched nothing, the words whose removal alone finds matches, with
|
|
535
|
+
* that count, in query order. `words` maps each distinct token to the word as typed.
|
|
536
|
+
* One pass: a placement missing exactly one word rescues its code for that word, and a
|
|
537
|
+
* code counts once per word whichever placement rescued it — so each count equals the
|
|
538
|
+
* `totalMatches` of the same search without that word.
|
|
539
|
+
*/
|
|
540
|
+
countWithoutEachWord(toc, texts, words) {
|
|
541
|
+
const rescued = new Map();
|
|
542
|
+
toc.entries.forEach((e, i) => {
|
|
543
|
+
const text = texts[i];
|
|
544
|
+
if (text === undefined)
|
|
545
|
+
return;
|
|
546
|
+
let missing;
|
|
547
|
+
for (const token of words.keys()) {
|
|
548
|
+
if (text.includes(token))
|
|
549
|
+
continue;
|
|
550
|
+
if (missing !== undefined)
|
|
551
|
+
return;
|
|
552
|
+
missing = token;
|
|
553
|
+
}
|
|
554
|
+
if (missing === undefined)
|
|
555
|
+
return;
|
|
556
|
+
const codes = rescued.get(missing) ?? new Set();
|
|
557
|
+
rescued.set(missing, codes.add(e.code));
|
|
558
|
+
});
|
|
559
|
+
return [...words].flatMap(([token, word]) => {
|
|
560
|
+
const codes = rescued.get(token);
|
|
561
|
+
return codes ? [{ word, totalMatches: codes.size }] : [];
|
|
562
|
+
});
|
|
563
|
+
}
|
|
469
564
|
/**
|
|
470
565
|
* Search datasets by keyword. The query is tokenized on whitespace and every
|
|
471
566
|
* token must match (AND), case-insensitively, somewhere in a combined
|
|
472
567
|
* `label + themePath + code` haystack — so concept-order and theme-named
|
|
473
568
|
* queries resolve even when no single label contains the phrase verbatim.
|
|
569
|
+
* Whitespace beside punctuation is removed from the haystack, never from a token,
|
|
570
|
+
* so `Rev.2` finds `Rev. 2` while `R&D` and `DS-045409` keep their punctuation;
|
|
571
|
+
* no query matches less than it would against the unfolded text.
|
|
474
572
|
* A query with no non-whitespace token matches nothing rather than everything.
|
|
475
573
|
*
|
|
476
574
|
* Returns datasets only (not folders), one row per code: a dataset filed under
|
|
@@ -485,24 +583,27 @@ export class EurostatCatalogueService {
|
|
|
485
583
|
*
|
|
486
584
|
* An empty match reports the `DS-*` codes the query names that neither source lists
|
|
487
585
|
* (`undisseminatedCodes`), so the caller can be told the collection is not
|
|
488
|
-
* disseminated rather than to broaden the search
|
|
489
|
-
*
|
|
586
|
+
* disseminated rather than to broaden the search, and — for two or more distinct
|
|
587
|
+
* words — each word whose removal alone finds matches (`wordRemovalCounts`).
|
|
588
|
+
* `comextListMissing` flags that the Comext list is not merged right now, so the
|
|
589
|
+
* `DS-*` collections were not searched and absence from that list proves nothing;
|
|
590
|
+
* `catalogueLoadedAt` marks a catalogue a failed refresh could not replace.
|
|
490
591
|
*/
|
|
491
592
|
async search(query, limit, cursor, ctx) {
|
|
492
593
|
const toc = await this.ensureLoaded(ctx);
|
|
493
594
|
const tokens = query.toLowerCase().split(/\s+/).filter(Boolean);
|
|
494
595
|
if (tokens.length === 0)
|
|
495
596
|
return { datasets: [], totalMatches: 0 };
|
|
597
|
+
toc.searchText ??= this.buildSearchText(toc.entries);
|
|
598
|
+
const texts = toc.searchText;
|
|
496
599
|
const seen = new Set();
|
|
497
600
|
const matched = toc.entries.flatMap((e, i) => {
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
const themePath = this.buildPath(toc.entries, i);
|
|
501
|
-
const haystack = `${e.label} ${themePath.join(' ')} ${e.code}`.toLowerCase();
|
|
502
|
-
if (!tokens.every((t) => haystack.includes(t)))
|
|
601
|
+
const text = texts[i];
|
|
602
|
+
if (text === undefined || seen.has(e.code) || !tokens.every((t) => text.includes(t))) {
|
|
503
603
|
return [];
|
|
604
|
+
}
|
|
504
605
|
seen.add(e.code);
|
|
505
|
-
return [{ e,
|
|
606
|
+
return [{ e, i }];
|
|
506
607
|
});
|
|
507
608
|
/** Cursor identity: the normalized query plus the catalogue snapshot it was paged over. */
|
|
508
609
|
const queryKey = tokens.join(' ');
|
|
@@ -514,9 +615,7 @@ export class EurostatCatalogueService {
|
|
|
514
615
|
offset = state.offset;
|
|
515
616
|
pageSize = Math.min(state.limit, MAX_PAGE_SIZE);
|
|
516
617
|
}
|
|
517
|
-
const datasets = matched
|
|
518
|
-
.slice(offset, offset + pageSize)
|
|
519
|
-
.map(({ e, themePath }) => ({
|
|
618
|
+
const datasets = matched.slice(offset, offset + pageSize).map(({ e, i }) => ({
|
|
520
619
|
code: e.code,
|
|
521
620
|
label: e.label,
|
|
522
621
|
type: e.type,
|
|
@@ -524,21 +623,32 @@ export class EurostatCatalogueService {
|
|
|
524
623
|
...(e.dataEnd && { dataEnd: e.dataEnd }),
|
|
525
624
|
...(e.lastUpdated && { lastUpdated: e.lastUpdated }),
|
|
526
625
|
...(e.obsCount !== undefined && { obsCount: e.obsCount }),
|
|
527
|
-
themePath,
|
|
626
|
+
themePath: this.buildPath(toc.entries, i),
|
|
528
627
|
}));
|
|
529
|
-
|
|
530
|
-
|
|
628
|
+
let undisseminatedCodes = [];
|
|
629
|
+
let wordRemovalCounts = [];
|
|
630
|
+
if (matched.length === 0) {
|
|
631
|
+
undisseminatedCodes = tokens
|
|
531
632
|
.filter((t) => DS_CODE_TOKEN.test(t) && !toc.codeIndex.has(t.toUpperCase()))
|
|
532
|
-
.map((t) => t.toUpperCase())
|
|
533
|
-
:
|
|
633
|
+
.map((t) => t.toUpperCase());
|
|
634
|
+
// The typed words line up with the tokens: lowercasing neither adds nor removes whitespace.
|
|
635
|
+
const typed = query.split(/\s+/).filter(Boolean);
|
|
636
|
+
const words = new Map();
|
|
637
|
+
tokens.forEach((token, n) => {
|
|
638
|
+
if (!words.has(token))
|
|
639
|
+
words.set(token, typed[n] ?? token);
|
|
640
|
+
});
|
|
641
|
+
if (words.size > 1)
|
|
642
|
+
wordRemovalCounts = this.countWithoutEachWord(toc, texts, words);
|
|
643
|
+
}
|
|
534
644
|
const nextOffset = offset + pageSize;
|
|
535
645
|
return {
|
|
536
646
|
datasets,
|
|
537
647
|
totalMatches: matched.length,
|
|
538
|
-
...(undisseminatedCodes.length > 0 && {
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
648
|
+
...(undisseminatedCodes.length > 0 && { undisseminatedCodes }),
|
|
649
|
+
...(wordRemovalCounts.length > 0 && { wordRemovalCounts }),
|
|
650
|
+
...(toc.comextRetryAt !== undefined && { comextListMissing: true }),
|
|
651
|
+
...this.staleness(toc),
|
|
542
652
|
...(nextOffset < matched.length && {
|
|
543
653
|
nextCursor: encodeCursor({
|
|
544
654
|
offset: nextOffset,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-catalogue-service.js","sourceRoot":"","sources":["../../../src/services/eurostat-catalogue/eurostat-catalogue-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAEhB,SAAS,GACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,GAEtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,0FAA0F;AAC1F,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,cAAc,GAAgE;IAClF,aAAa,EAAE;QACb,KAAK,EAAE,uDAAuD;QAC9D,MAAM,EAAE,QAAQ;KACjB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,8DAA8D;QACrE,MAAM,EAAE,MAAM;KACf;CACF,CAAC;AAEF,sGAAsG;AACtG,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,mDAAmD;CAC3D,CAAC;AAEF,gFAAgF;AAChF,MAAM,aAAa,GAAG,UAAU,CAAC;AAiBjC,MAAM,OAAO,wBAAwB;IAC3B,KAAK,CAAuB;IACpC,qFAAqF;IAC7E,OAAO,CAAgC;IAC/C,uDAAuD;IAC/C,OAAO,CAAgC;IAC/C,4FAA4F;IACpF,cAAc,GAAG,CAAC,CAAC;IAE3B,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,YAAY,OAAkB,EAAE,QAAwB,IAAG,CAAC;IAE5D;;;;;;;;;;;;;;OAcG;IACK,YAAY,CAAC,GAAY;QAC/B,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAY;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IACE,MAAM;YACN,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC,aAAa;gBAChE,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,EAC5B,CAAC;YACD,OAAO,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,IAAI,MAAM,CAAC,aAAa;gBACtE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC;gBACpC,CAAC,CAAC,MAAM,CAAC;QACb,CAAC;QAED,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;aACxC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,CAAC;YAC7D,MAAM,KAAK,CAAC;QACd,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,iEAAiE,EAAE;gBACjF,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;gBACvC,YAAY,EAAE,yBAAyB;aACxC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAY;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EACtB,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAChC,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;QAC5B,IAAI,OAAO,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,0FAA0F;IAClF,gBAAgB,CAAC,MAAgB,EAAE,GAAY;QACrD,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;aACxC,IAAI,CACH,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;gBAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAClC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,CAAC;YAC9D,OAAO,MAAM,CAAC;QAChB,CAAC,CACF;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,gBAAgB,CAAC,KAAc,EAAE,GAAY;QACnD,GAAG,CAAC,GAAG,CAAC,OAAO,CACb,gFAAgF,EAChF;YACE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,YAAY,EAAE,yBAAyB;SACxC,CACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAChB,UAAsB,EACtB,KAAwC,EACxC,QAAc;QAEd,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC9E,OAAO;YACL,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACvC,QAAQ;YACR,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,EAAE,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,uFAAuF;IAC/E,KAAK,CAAC,gBAAgB,CAAC,GAAY;QACzC,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,eAAe,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,GAAG,aAAa,0BAA0B,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,qFAAqF;QACrF,wEAAwE;QACxE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,sBAAsB,CAAC,CAAC;QAC5E,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,UAAsB,EAAE,KAA4B;QAC3E,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE9C,MAAM,SAAS,GAAG,CAAC,IAAyB,EAAU,EAAE;YACtD,MAAM,IAAI,GAAG,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxF,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;YAE5C,MAAM,SAAS,GAAG,KAAK;gBACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC;YACP,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,mBAAmB,CAAC,KAAK;gBAChD,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;gBACzC,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YACH,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,EAAE;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;gBAC7C,WAAW;gBACX,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,GAAY;QACxC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,eAAe,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,GAAG,OAAO,4BAA4B,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAE/C,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,KAAK,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,kBAAkB,CACtB,6FAA6F,CAC9F,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EACD,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAC3D,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACK,cAAc,CAAC,OAAmB;QACxC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,kEAAkE;QAClE,MAAM,UAAU,GAA4C,EAAE,CAAC;QAE/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,SAAS;YAE3B,uEAAuE;YACvE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAE9B,4DAA4D;YAC5D,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,AAAD,EAAG,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE/C,kBAAkB;YAClB,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YAEnC,4CAA4C;YAC5C,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,GAAG,KAAK;oBAAE,MAAM;gBAClD,UAAU,CAAC,GAAG,EAAE,CAAC;YACnB,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YAE1C,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACvE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1E,uEAAuE;YACvE,IAAI,QAA4B,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wBAAE,QAAQ,GAAG,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAa;gBACtB,KAAK;gBACL,IAAI;gBACJ,IAAI;gBACJ,KAAK;gBACL,WAAW;gBACX,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;gBACnC,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC/B,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC3B,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC5C,CAAC;YAEF,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,OAAO,CAAC,CAAS;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,mEAAmE;YACnE,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACtD,OAAO,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG;gBAAE,MAAM,EAAE,CAAC;;gBACnB,MAAM;QACb,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,OAAmB,EAAE,UAAkB;QACvD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAyB,OAAO,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IAChD,YAAY,CAAC,OAAmB,EAAE,IAA8B;QACtE,OAAO,OAAO,CAAC,MAAM,CAAW,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CAAC,OAAmB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACzF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,SAA6B,EAC7B,GAAY;QAEZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,IAAI,cAAc,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,QAAQ,CACZ,UAAU,SAAS,mIAAmI,EACtJ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CACnC,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,eAAe,CACnB,eAAe,SAAS,kBAAkB,WAAW,CAAC,IAAI,sFAAsF,EAChJ,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,CACnE,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,cAAc,CAAC,CAAC;QAE7F,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/D,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CACvC,GAAG,CAAC,OAAO,EACX,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CACnD;aACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IACvF,CAAC;IAEO,YAAY,CAAC,OAAmB,EAAE,KAAa;QACrD,MAAM,CAAC,GAAyB,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC;QACxF,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW;YACX,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YAC9C,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACxC,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CACxB,MAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,GAAY;QAEZ,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;QAChF,CAAC;QAAC,MAAM,CAAC;YACP,8EAA8E;QAChF,CAAC;QACD,MAAM,aAAa,CACjB,mOAAmO,EACnO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,MAAM,CACV,KAAa,EACb,KAAa,EACb,MAA0B,EAC1B,GAAY;QAQZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAElE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC1D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAE1C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;YACzE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAoB,OAAO;aACtC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;aAChC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAA2B;YACnC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YAC9C,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACxC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACpD,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzD,SAAS;SACV,CAAC,CAAC,CAAC;QAEN,MAAM,mBAAmB,GACvB,OAAO,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAC,MAAM;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;iBAC3E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAChC,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;QACrC,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,GAAG,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI;gBACpC,mBAAmB;gBACnB,GAAG,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;aACpE,CAAC;YACF,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI;gBACjC,UAAU,EAAE,YAAY,CAAC;oBACvB,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,QAAQ;oBACf,UAAU;iBACX,CAAC;aACH,CAAC;SACH,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,SAAiB;IAClC,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED,gCAAgC;AAEhC,IAAI,QAA8C,CAAC;AAEnD,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,OAAuB;IACrF,QAAQ,GAAG,IAAI,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"eurostat-catalogue-service.js","sourceRoot":"","sources":["../../../src/services/eurostat-catalogue/eurostat-catalogue-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,11 @@ export declare class EurostatDataService {
|
|
|
97
97
|
* collection — and it alone gets `EUROSTAT_METADATA_TIMEOUT_MS`.
|
|
98
98
|
*/
|
|
99
99
|
private loadSdmxMetadata;
|
|
100
|
+
/**
|
|
101
|
+
* One Statistics API request, retried on transient failures. A 5xx or an unreachable
|
|
102
|
+
* host that outlasts the retries fails as a retryable `upstream_fault`; a call the
|
|
103
|
+
* caller cancelled keeps its cancellation.
|
|
104
|
+
*/
|
|
100
105
|
private fetchJson;
|
|
101
106
|
private checkResponseErrors;
|
|
102
107
|
/** Strides for a JSON-stat linear index: stride[i] = product of sizes[i+1..n-1]. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurostat-data-service.d.ts","sourceRoot":"","sources":["../../../src/services/eurostat-data/eurostat-data-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAO/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"eurostat-data-service.d.ts","sourceRoot":"","sources":["../../../src/services/eurostat-data/eurostat-data-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAO/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAuBrE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,KAAK,gBAAgB,EAGrB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AA2FpB;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC9B,IAAI,EAAE,gBAAgB,GACrB,eAAe,GAAG,SAAS,CAW7B;AAkCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B;IAAE,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAqB1F;AAcD,qBAAa,mBAAmB;IAC9B;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyC;IAKvE,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAI;IAE5D,OAAO,CAAC,QAAQ;IAehB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiDpB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAiCvB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAWrB;;;;;;OAMG;YACW,gBAAgB;IAiB9B;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAoFjB,OAAO,CAAC,mBAAmB;IA8E3B,oFAAoF;IACpF,OAAO,CAAC,cAAc;IAStB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,SAAS;IA8CjB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAE,mBAAmB;IAqE5B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,iBAAiB;IAQzB;;;;;OAKG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAI5E;IAED;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAU5E;IAED;;;;;;OAMG;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,CA4ChC;IAED;;;;;;;OAOG;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,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,cAAc,CAAC,CAkJzB;IAED,8EAA8E;IAC9E,OAAO,CAAE,WAAW;CASrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,cAAc,EAAE,MAAM,EAAE,EACxB,SAAS,UAAQ,GAChB,cAAc,CAchB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,SAAS,UAAQ,GAAG,YAAY,EAAE,CAehG;AAMD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAExF;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,CAO5D"}
|