@cyanheads/eurostat-mcp-server 0.11.0 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/AGENTS.md +1 -1
  2. package/CLAUDE.md +1 -1
  3. package/README.md +11 -8
  4. package/changelog/0.11.x/0.11.1.md +23 -0
  5. package/changelog/0.11.x/0.11.2.md +27 -0
  6. package/dist/mcp-server/resources/definitions/eurostat-dataset.resource.d.ts +14 -1
  7. package/dist/mcp-server/resources/definitions/eurostat-dataset.resource.d.ts.map +1 -1
  8. package/dist/mcp-server/resources/definitions/eurostat-dataset.resource.js +17 -0
  9. package/dist/mcp-server/resources/definitions/eurostat-dataset.resource.js.map +1 -1
  10. package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.d.ts +1 -1
  11. package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js +1 -1
  12. package/dist/mcp-server/tools/definitions/eurostat-browse-themes.tool.js.map +1 -1
  13. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts +14 -12
  14. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.d.ts.map +1 -1
  15. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js +98 -41
  16. package/dist/mcp-server/tools/definitions/eurostat-download-dataset.tool.js.map +1 -1
  17. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.d.ts +1 -1
  18. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.d.ts.map +1 -1
  19. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.js +10 -1
  20. package/dist/mcp-server/tools/definitions/eurostat-get-dataset-info.tool.js.map +1 -1
  21. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.d.ts +4 -4
  22. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.d.ts.map +1 -1
  23. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js +25 -4
  24. package/dist/mcp-server/tools/definitions/eurostat-get-dimension-values.tool.js.map +1 -1
  25. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts +6 -4
  26. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.d.ts.map +1 -1
  27. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js +88 -24
  28. package/dist/mcp-server/tools/definitions/eurostat-query-dataset.tool.js.map +1 -1
  29. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.d.ts +4 -4
  30. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.d.ts.map +1 -1
  31. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.js +18 -6
  32. package/dist/mcp-server/tools/definitions/eurostat-search-datasets.tool.js.map +1 -1
  33. package/dist/mcp-server/tools/hoist-dimensions.d.ts +18 -0
  34. package/dist/mcp-server/tools/hoist-dimensions.d.ts.map +1 -0
  35. package/dist/mcp-server/tools/hoist-dimensions.js +29 -0
  36. package/dist/mcp-server/tools/hoist-dimensions.js.map +1 -0
  37. package/dist/mcp-server/tools/narrowing-advice.d.ts +8 -7
  38. package/dist/mcp-server/tools/narrowing-advice.d.ts.map +1 -1
  39. package/dist/mcp-server/tools/narrowing-advice.js +16 -9
  40. package/dist/mcp-server/tools/narrowing-advice.js.map +1 -1
  41. package/dist/services/eurostat-bulk/eurostat-bulk-service.d.ts +5 -4
  42. package/dist/services/eurostat-bulk/eurostat-bulk-service.d.ts.map +1 -1
  43. package/dist/services/eurostat-bulk/eurostat-bulk-service.js +96 -18
  44. package/dist/services/eurostat-bulk/eurostat-bulk-service.js.map +1 -1
  45. package/dist/services/eurostat-bulk/types.d.ts +21 -4
  46. package/dist/services/eurostat-bulk/types.d.ts.map +1 -1
  47. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts +14 -8
  48. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.d.ts.map +1 -1
  49. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js +34 -17
  50. package/dist/services/eurostat-catalogue/eurostat-catalogue-service.js.map +1 -1
  51. package/dist/services/eurostat-codelists.d.ts +2 -1
  52. package/dist/services/eurostat-codelists.d.ts.map +1 -1
  53. package/dist/services/eurostat-codelists.js +2 -1
  54. package/dist/services/eurostat-codelists.js.map +1 -1
  55. package/dist/services/eurostat-data/eurostat-data-service.d.ts +12 -1
  56. package/dist/services/eurostat-data/eurostat-data-service.d.ts.map +1 -1
  57. package/dist/services/eurostat-data/eurostat-data-service.js +129 -26
  58. package/dist/services/eurostat-data/eurostat-data-service.js.map +1 -1
  59. package/dist/services/eurostat-data/types.d.ts +22 -11
  60. package/dist/services/eurostat-data/types.d.ts.map +1 -1
  61. package/dist/services/eurostat-data/types.js.map +1 -1
  62. package/dist/services/eurostat-periods.d.ts +107 -1
  63. package/dist/services/eurostat-periods.d.ts.map +1 -1
  64. package/dist/services/eurostat-periods.js +182 -7
  65. package/dist/services/eurostat-periods.js.map +1 -1
  66. package/package.json +4 -4
  67. package/server.json +3 -3
  68. package/skills/eurostat-guide/SKILL.md +4 -3
  69. package/skills/eurostat-guide/references/sql-analysis.md +18 -2
@@ -9,9 +9,10 @@ import { CONF_STATUS_COLUMN, CONF_STATUS_LABEL_COLUMN, CONF_STATUS_LABELS, decod
9
9
  import { dropUnsetFilters } from '../eurostat-filters.js';
10
10
  import { dataHostFor, isComextDataset } from '../eurostat-hosts.js';
11
11
  import { isUpstreamOutage, upstreamOutage } from '../eurostat-outage.js';
12
+ import { diagnoseEmptyRange, frequenciesOf, oneDayRange, periodCuts, } from '../eurostat-periods.js';
12
13
  import { awaitShared } from '../shared-load.js';
13
14
  import { parseSdmxDatasetMetadata, parseSdmxDimensionOrder, } from './sdmx-metadata.js';
14
- import { OBS_CAP, } from './types.js';
15
+ import { GEO_LEVEL_VALUES, OBS_CAP, } from './types.js';
15
16
  /** Separator between the observation flag and the confidentiality status inside a JSON-stat status. */
16
17
  const CONF_SEPARATOR = '|';
17
18
  /** A Statistics API error label that names one of the two period parameters. */
@@ -109,15 +110,21 @@ export function findUnmatchedValues(sent, data) {
109
110
  }
110
111
  return Object.keys(unmatched).length > 0 ? unmatched : undefined;
111
112
  }
113
+ /**
114
+ * The frequencies a reply carries. `freq`'s index lists every frequency in the slice,
115
+ * annual beside a `time` dimension that shows only months.
116
+ */
117
+ const replyFrequencies = (data) => Object.keys(data.dimension?.freq?.category?.index ?? {});
112
118
  /**
113
119
  * Read an empty match's envelope for why it is empty, without another request.
114
120
  *
115
121
  * Three signals, which can co-occur: filter values absent from their dimension's
116
122
  * index; a `time` dimension of size 0, meaning the requested range selected no
117
- * period of the dataset; and, when every dimension matched at least one value,
118
- * the periods the reply selected — none of which carries a value for the slice.
123
+ * period of the dataset, which {@link diagnoseEmptyRange} explains; and, when every
124
+ * dimension matched at least one value, the periods the reply selected — none of
125
+ * which carries a value for the slice.
119
126
  */
120
- function diagnoseEmptyMatch(data, sent, annotation) {
127
+ function diagnoseEmptyMatch(data, sent, range, coverage) {
121
128
  const unmatchedValues = findUnmatchedValues(sent, data);
122
129
  const dims = data.id ?? [];
123
130
  const sizes = data.size ?? [];
@@ -126,9 +133,7 @@ function diagnoseEmptyMatch(data, sent, annotation) {
126
133
  if (timeDim < 0)
127
134
  return diagnosis;
128
135
  if (sizes[timeDim] === 0) {
129
- const oldest = annotation('OBS_PERIOD_OVERALL_OLDEST');
130
- const latest = annotation('OBS_PERIOD_OVERALL_LATEST');
131
- diagnosis.outsideCoverage = { ...(oldest && { oldest }), ...(latest && { latest }) };
136
+ diagnosis.emptyRange = diagnoseEmptyRange(range, replyFrequencies(data), coverage);
132
137
  }
133
138
  else if (sizes.length === dims.length && sizes.every((size) => size >= 1)) {
134
139
  diagnosis.matchedPeriods = Object.entries(data.dimension?.time?.category?.index ?? {})
@@ -503,6 +508,13 @@ export class EurostatDataService {
503
508
  * accompanies it. `queryDataset` also reads `obsCount` reaching zero as the no-results
504
509
  * condition, so one count decides both what the response reports and whether there is a
505
510
  * response at all.
511
+ *
512
+ * The same pass counts the cells the match lacks. A series is one combination of the
513
+ * non-time coordinates — a cell's linear index with its time coordinate removed — and a
514
+ * series with at least one cell lacks each period of a frequency it carries in which it
515
+ * has no cell in either map. Frequency is the period code's shape ({@link frequenciesOf}),
516
+ * so a monthly series beside an annual one lacks none of the annual periods, and a code of
517
+ * no known shape is a period no series lacks.
506
518
  */
507
519
  scanCells(data) {
508
520
  const dims = data.id ?? [];
@@ -514,6 +526,38 @@ export class EurostatDataService {
514
526
  const timeStride = timeDim >= 0 ? (this.computeStrides(sizes)[timeDim] ?? 1) : 1;
515
527
  const timeSize = timeDim >= 0 ? (sizes[timeDim] ?? 0) : 0;
516
528
  const timeSeen = new Uint8Array(timeSize);
529
+ const timeIndex = data.dimension?.time?.category?.index ?? {};
530
+ const timeCodeAt = new Array(timeSize);
531
+ for (const [code, pos] of Object.entries(timeIndex)) {
532
+ if (pos >= 0 && pos < timeSize)
533
+ timeCodeAt[pos] = code;
534
+ }
535
+ // Each time position's frequency, as a slot whose positions `periodsInSlot` counts.
536
+ // Codes of no known shape share the slot keyed ''.
537
+ const slotOf = new Map();
538
+ const slotAt = new Uint8Array(timeSize);
539
+ const periodsInSlot = [];
540
+ for (let pos = 0; pos < timeSize; pos++) {
541
+ const code = timeCodeAt[pos];
542
+ const [frequency = ''] = code === undefined ? [] : frequenciesOf([code]);
543
+ let slot = slotOf.get(frequency);
544
+ if (slot === undefined) {
545
+ slot = periodsInSlot.push(0) - 1;
546
+ slotOf.set(frequency, slot);
547
+ }
548
+ slotAt[pos] = slot;
549
+ periodsInSlot[slot] = (periodsInSlot[slot] ?? 0) + 1;
550
+ }
551
+ const slots = periodsInSlot.length;
552
+ const unknownSlot = slotOf.get('');
553
+ /**
554
+ * Cells per series and slot, at `series * slots + slot`: series × slots never exceeds
555
+ * the cube, which the decode walk already spans. Left out when no frequency spans two
556
+ * positions, since a series then fills every period of each frequency it carries.
557
+ */
558
+ const cellsBySeriesSlot = periodsInSlot.some((n, slot) => n > 1 && slot !== unknownSlot)
559
+ ? new Uint32Array((totalCells / timeSize) * slots)
560
+ : undefined;
517
561
  let obsCount = 0;
518
562
  let missingObsCount = 0;
519
563
  const count = (key, missing) => {
@@ -523,8 +567,15 @@ export class EurostatDataService {
523
567
  obsCount++;
524
568
  if (missing)
525
569
  missingObsCount++;
526
- if (timeSize > 0)
527
- timeSeen[Math.floor(idx / timeStride) % timeSize] = 1;
570
+ if (timeSize === 0)
571
+ return;
572
+ const pos = Math.floor(idx / timeStride) % timeSize;
573
+ timeSeen[pos] = 1;
574
+ if (!cellsBySeriesSlot)
575
+ return;
576
+ const series = Math.floor(idx / (timeStride * timeSize)) * timeStride + (idx % timeStride);
577
+ const at = series * slots + (slotAt[pos] ?? 0);
578
+ cellsBySeriesSlot[at] = (cellsBySeriesSlot[at] ?? 0) + 1;
528
579
  };
529
580
  // A text value (PRODCOM's `:C`, `KG`) carries no number, so it counts as missing.
530
581
  for (const key in value)
@@ -534,11 +585,28 @@ export class EurostatDataService {
534
585
  if (!(key in value))
535
586
  count(key, true);
536
587
  }
537
- const timeIndex = data.dimension?.time?.category?.index ?? {};
538
- const timeCodeAt = new Array(timeSize);
539
- for (const [code, pos] of Object.entries(timeIndex)) {
540
- if (pos >= 0 && pos < timeSize)
541
- timeCodeAt[pos] = code;
588
+ let absentCellCount = 0;
589
+ let seriesWithCells = 0;
590
+ let affectedSeries = 0;
591
+ if (cellsBySeriesSlot) {
592
+ for (let first = 0; first < cellsBySeriesSlot.length; first += slots) {
593
+ let carried = false;
594
+ let absent = 0;
595
+ for (let slot = 0; slot < slots; slot++) {
596
+ const cells = cellsBySeriesSlot[first + slot] ?? 0;
597
+ if (cells === 0)
598
+ continue;
599
+ carried = true;
600
+ if (slot !== unknownSlot)
601
+ absent += (periodsInSlot[slot] ?? 0) - cells;
602
+ }
603
+ if (carried)
604
+ seriesWithCells++;
605
+ if (absent > 0) {
606
+ affectedSeries++;
607
+ absentCellCount += absent;
608
+ }
609
+ }
542
610
  }
543
611
  const timeCodes = [];
544
612
  const unpopulatedPeriods = [];
@@ -549,7 +617,16 @@ export class EurostatDataService {
549
617
  else if (code !== undefined)
550
618
  unpopulatedPeriods.push(code);
551
619
  }
552
- return { obsCount, missingObsCount, timeCodes: timeCodes.sort(), unpopulatedPeriods };
620
+ return {
621
+ obsCount,
622
+ missingObsCount,
623
+ absentCellCount,
624
+ ...(absentCellCount > 0 && {
625
+ absentSeries: { affected: affectedSeries, total: seriesWithCells },
626
+ }),
627
+ timeCodes: timeCodes.sort(),
628
+ unpopulatedPeriods,
629
+ };
553
630
  }
554
631
  /**
555
632
  * Walk a JSON-stat 2.0 response's populated cells, yielding one labeled
@@ -672,9 +749,13 @@ export class EurostatDataService {
672
749
  * extraction limit (`earn_ses_annual`). Verified against live SDMX TSV headers
673
750
  * and JSON-stat `id` arrays: the header's comma-joined key field is exactly this
674
751
  * order.
752
+ *
753
+ * `deadlineMs` bounds the read across every attempt and backoff, in place of
754
+ * `EUROSTAT_REQUEST_TIMEOUT_MS`, for a caller that only wants the order if it comes
755
+ * quickly.
675
756
  */
676
- async getDimensionOrder(datasetCode, ctx) {
677
- const xml = await this.fetchSdmxXml('datastructure', datasetCode, ctx, ctx.signal);
757
+ async getDimensionOrder(datasetCode, ctx, deadlineMs) {
758
+ const xml = await this.fetchSdmxXml('datastructure', datasetCode, ctx, ctx.signal, deadlineMs);
678
759
  const order = parseSdmx(datasetCode, () => parseSdmxDimensionOrder(xml));
679
760
  if (order.length === 0) {
680
761
  throw serviceUnavailable(`Eurostat reported no dimensions for dataset "${datasetCode}", so a positional filter key cannot be built. Retry without filters to download the whole dataset.`, { reason: 'upstream_fault', datasetCode });
@@ -711,11 +792,17 @@ export class EurostatDataService {
711
792
  ? values.filter(({ code }) => metadata.geoLevelsByCode[code] === effectiveGeoLevel)
712
793
  : [...values];
713
794
  if (effectiveGeoLevel && filteredValues.length === 0) {
714
- throw notFound(`Dataset "${datasetCode}" has no "geo" values at the "${effectiveGeoLevel}" level. Choose a different geo_level or omit geo_level only when country values are wanted.`, {
795
+ // Read from the constrained `values`: the dataset's codelist can hold codes it has no data for.
796
+ const listed = new Set(values.map(({ code }) => metadata.geoLevelsByCode[code]));
797
+ const availableGeoLevels = GEO_LEVEL_VALUES.filter((level) => listed.has(level));
798
+ throw notFound(`Dataset "${datasetCode}" has no "geo" values at the "${effectiveGeoLevel}" level. ${availableGeoLevels.length > 0
799
+ ? `It lists "geo" values at: ${availableGeoLevels.join(', ')}.`
800
+ : 'None of its "geo" codes carries a NUTS level.'}`, {
715
801
  reason: 'no_results',
716
802
  datasetCode,
717
803
  dimension,
718
804
  geoLevel: effectiveGeoLevel,
805
+ availableGeoLevels,
719
806
  });
720
807
  }
721
808
  return {
@@ -799,17 +886,29 @@ export class EurostatDataService {
799
886
  }
800
887
  if (geoLevel)
801
888
  params.geoLevel = geoLevel;
802
- if (sinceP && !lastN)
803
- params.sinceTimePeriod = sinceP;
804
- if (untilP && !lastN)
805
- params.untilTimePeriod = untilP;
889
+ const range = { since_period: sinceP, until_period: untilP };
890
+ const oneDay = oneDayRange(range);
891
+ // Eurostat ignores a range of one day and answers with the whole series. `time` selects
892
+ // that day or nothing, and takes a calendar date only: `2022-D166` selects nothing.
893
+ if (oneDay) {
894
+ params.time = oneDay.date;
895
+ }
896
+ else {
897
+ if (sinceP && !lastN)
898
+ params.sinceTimePeriod = sinceP;
899
+ if (untilP && !lastN)
900
+ params.untilTimePeriod = untilP;
901
+ }
806
902
  if (lastN)
807
903
  params.lastTimePeriod = String(lastN);
808
904
  const url = this.buildUrl(datasetCode, params);
809
905
  const data = await this.fetchJson(url, datasetCode, ctx);
810
906
  // Totals describe the whole match and are counted from the response's cell keys, so the
811
907
  // decode cap below cannot shrink them.
812
- const { obsCount, missingObsCount, timeCodes, unpopulatedPeriods } = this.scanCells(data);
908
+ const { obsCount, missingObsCount, absentCellCount, absentSeries, timeCodes, unpopulatedPeriods, } = this.scanCells(data);
909
+ const oldest = this.extractAnnotation(data, 'OBS_PERIOD_OVERALL_OLDEST', 'title');
910
+ const latest = this.extractAnnotation(data, 'OBS_PERIOD_OVERALL_LATEST', 'title');
911
+ const coverage = { ...(oldest && { oldest }), ...(latest && { latest }) };
813
912
  // Emptiness is the cell count reaching zero — the same count reported below and the same
814
913
  // membership the decoder walks. Reading `value` alone instead would reject a slice whose
815
914
  // every cell is confidential: JSON-stat carries such a cell in `status` with no `value`
@@ -824,7 +923,7 @@ export class EurostatDataService {
824
923
  reason: 'no_results',
825
924
  datasetCode,
826
925
  filters: appliedFilters,
827
- ...diagnoseEmptyMatch(data, appliedFilters, (type) => this.extractAnnotation(data, type, 'title')),
926
+ ...diagnoseEmptyMatch(data, appliedFilters, range, coverage),
828
927
  });
829
928
  }
830
929
  const unmatchedValues = findUnmatchedValues(appliedFilters, data);
@@ -832,10 +931,11 @@ export class EurostatDataService {
832
931
  // Compute timeRange from the actual time dimension values in the response.
833
932
  // Fall back to dataset-wide annotations only when no time dimension is present, and omit
834
933
  // a bound neither source reports — an unknown period is not an empty one.
835
- const start = timeCodes[0] ?? this.extractAnnotation(data, 'OBS_PERIOD_OVERALL_OLDEST', 'title');
836
- const end = timeCodes.at(-1) ?? this.extractAnnotation(data, 'OBS_PERIOD_OVERALL_LATEST', 'title');
934
+ const start = timeCodes[0] ?? oldest;
935
+ const end = timeCodes.at(-1) ?? latest;
837
936
  const timeRange = { ...(start && { start }), ...(end && { end }) };
838
937
  const dimensionsUsed = data.id ?? [];
938
+ const cuts = periodCuts(range, replyFrequencies(data), coverage);
839
939
  return {
840
940
  datasetCode,
841
941
  datasetLabel: data.label ?? datasetCode,
@@ -844,9 +944,12 @@ export class EurostatDataService {
844
944
  obsCount,
845
945
  timeRange,
846
946
  missingObsCount,
947
+ absentCellCount,
948
+ ...(absentSeries && { absentSeries }),
847
949
  appliedFilters,
848
950
  ...(unmatchedValues && { unmatchedValues }),
849
951
  ...(lastN && unpopulatedPeriods.length > 0 && { unpopulatedPeriods }),
952
+ ...(cuts.length > 0 && { periodCuts: cuts }),
850
953
  rows: () => this.iterateRows(data, dimensionsUsed, isComextDataset(datasetCode)),
851
954
  };
852
955
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eurostat-data-service.js","sourceRoot":"","sources":["../../../src/services/eurostat-data/eurostat-data-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eurostat-data-service.js","sourceRoot":"","sources":["../../../src/services/eurostat-data/eurostat-data-service.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * @fileoverview Domain types for the Eurostat Statistics API (JSON-stat 2.0) service.
3
3
  * @module services/eurostat-data/types
4
4
  */
5
+ import type { EmptyRange, PeriodCut } from '../eurostat-periods.js';
5
6
  /** Raw JSON-stat 2.0 response from the Statistics API. */
6
7
  export interface JsonStatResponse {
7
8
  dimension?: Record<string, JsonStatDimension>;
@@ -146,14 +147,20 @@ export interface DimensionValuesResult {
146
147
  * A decoded query result.
147
148
  *
148
149
  * `observations` is the caller-bounded deterministic prefix; `obsCount`,
149
- * `missingObsCount` and `timeRange` describe the whole match. They are counted from the
150
- * response's cell keys rather than from the decoded array, so previewing never changes
151
- * what they report.
150
+ * `missingObsCount`, `absentCellCount` and `timeRange` describe the whole match. They are
151
+ * counted from the response's cell keys rather than from the decoded array, so previewing
152
+ * never changes what they report.
152
153
  *
153
154
  * `timeRange` bounds are absent when neither the returned observations nor the dataset-wide
154
155
  * annotations report them — an unknown bound is not an empty period.
155
156
  */
156
157
  export interface QueryResult {
158
+ /**
159
+ * Periods the matched series lack: for each series (one combination of the non-time
160
+ * dimensions) with at least one cell, the periods of a frequency it carries in which it
161
+ * has neither a value nor a status. Not observations, so no count or row includes them.
162
+ */
163
+ absentCellCount: number;
157
164
  /** Filters actually sent upstream — the requested filters minus any zero-length arrays. */
158
165
  appliedFilters: Record<string, string[]>;
159
166
  datasetCode: string;
@@ -184,16 +191,10 @@ export type UnmatchedValues = Record<string, string[]>;
184
191
  * nothing more than "empty".
185
192
  */
186
193
  export interface NoResultsDiagnosis {
194
+ /** Set when the reply's `time` dimension is empty: why the range selected no period. */
195
+ emptyRange?: EmptyRange;
187
196
  /** Periods the reply selected, none carrying a value. Set only when every dimension matched. */
188
197
  matchedPeriods?: string[];
189
- /**
190
- * Set when the requested range selected no period at all: the dataset's overall
191
- * coverage from its annotations, each bound absent when Eurostat does not report it.
192
- */
193
- outsideCoverage?: {
194
- oldest?: string;
195
- latest?: string;
196
- };
197
198
  unmatchedValues?: UnmatchedValues;
198
199
  }
199
200
  /**
@@ -204,6 +205,16 @@ export interface NoResultsDiagnosis {
204
205
  * source rather than a separately-derived set that can drift from it.
205
206
  */
206
207
  export interface QueryExecution extends QueryResult {
208
+ /**
209
+ * The series `absentCellCount` falls in, of the series with at least one cell. Set only
210
+ * when `absentCellCount` is above zero.
211
+ */
212
+ absentSeries?: {
213
+ affected: number;
214
+ total: number;
215
+ };
216
+ /** Periods a bound excludes, read from the reply's own frequencies and coverage. */
217
+ periodCuts?: PeriodCut[];
207
218
  /**
208
219
  * Fresh generator over every matched cell, in the same order `observations`
209
220
  * uses. Nothing is materialized until a consumer pulls, so staging a
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/eurostat-data/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,uCAAuC;IACvC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/C,uCAAuC;IACvC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC;CACH;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,oEAAoE;IACpE,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,wEAAwE;IACxE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,2FAA2F;IAC3F,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oFAAoF;IACpF,eAAe,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,oFAAoF;AACpF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD;;;;;OAKG;IACH,IAAI,EAAE,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;IACtC,6FAA6F;IAC7F,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,OAAQ,CAAC;AAE7B,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7E,4FAA4F;AAC5F,eAAO,MAAM,gBAAgB,8DAMW,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/eurostat-data/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/eurostat-data/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmMH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC;AAI7B,4FAA4F;AAC5F,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;CAC+B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/eurostat-data/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+MH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC;AAI7B,4FAA4F;AAC5F,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;CAC+B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @fileoverview Local check of the period literals `since_period`/`until_period`
3
- * carry, run by both data tools before any request reaches Eurostat.
3
+ * carry, run by both data tools before any request reaches Eurostat, and the calendar
4
+ * reasoning over those bounds: which periods they exclude, and when they name one day.
4
5
  * @module services/eurostat-periods
5
6
  */
6
7
  /**
@@ -8,6 +9,35 @@
8
9
  * `YYYY-A1`, the SDMX annual form, is read as well and sent as `YYYY`.
9
10
  */
10
11
  export declare const PERIOD_FORMS = "YYYY, YYYY-MM, YYYY-MM-DD, YYYY-Qn (1\u20134), YYYY-Sn (1\u20132), YYYY-Tn (1\u20133), YYYY-Mnn (01\u201312), YYYY-Wnn (a week the year has, up to 53) or YYYY-Dnnn (a day the year has, up to 366)";
12
+ /**
13
+ * The frequencies a bound can fall inside a period of, finest first, with the months
14
+ * each period of a month-based frequency spans. A day has no inside.
15
+ */
16
+ declare const DIVISIBLE_FREQUENCIES: readonly [{
17
+ readonly code: 'W';
18
+ readonly label: 'weekly';
19
+ }, {
20
+ readonly code: 'M';
21
+ readonly label: 'monthly';
22
+ readonly months: 1;
23
+ }, {
24
+ readonly code: 'Q';
25
+ readonly label: 'quarterly';
26
+ readonly months: 3;
27
+ }, {
28
+ readonly code: 'T';
29
+ readonly label: 'trimester';
30
+ readonly months: 4;
31
+ }, {
32
+ readonly code: 'S';
33
+ readonly label: 'semester';
34
+ readonly months: 6;
35
+ }, {
36
+ readonly code: 'A';
37
+ readonly label: 'annual';
38
+ readonly months: 12;
39
+ }];
40
+ type DivisibleFrequency = (typeof DIVISIBLE_FREQUENCIES)[number];
11
41
  /**
12
42
  * A checked period: the literal to send, and the first and last day it covers as
13
43
  * {@link dayNumber}s. The span is what lets two bounds of different frequencies be
@@ -65,4 +95,80 @@ export declare function resolvePeriods(bounds: {
65
95
  ok: false;
66
96
  message: string;
67
97
  };
98
+ /** The two period bounds, by the input that sets each. */
99
+ export type PeriodBound = 'since_period' | 'until_period';
100
+ /** A range as the bounds that set it, unset or `undefined` when a side is open. */
101
+ export type PeriodRange = Partial<Record<PeriodBound, string | undefined>>;
102
+ /** A dataset's overall coverage, each side absent when Eurostat does not report it. */
103
+ export interface PeriodCoverage {
104
+ latest?: string;
105
+ oldest?: string;
106
+ }
107
+ /** A period a range excludes because a bound falls inside it. */
108
+ export interface PeriodCut {
109
+ /**
110
+ * The bounds that fall inside it. Each one alone selects the period, except when
111
+ * both are listed: the range then sits inside the period, and only moving both does.
112
+ */
113
+ bounds: PeriodBound[];
114
+ frequency: DivisibleFrequency['label'];
115
+ /** Its code, which is also the literal that selects it. */
116
+ period: string;
117
+ }
118
+ /** Why a range selected no period of a dataset, for a reply whose `time` dimension is empty. */
119
+ export type EmptyRange = {
120
+ coverage: PeriodCoverage;
121
+ } & ({
122
+ kind: 'no_published_period' | 'outside_coverage';
123
+ } | {
124
+ cuts: PeriodCut[];
125
+ kind: 'no_whole_period';
126
+ });
127
+ /**
128
+ * The range a pair of bounds selects when it names exactly one calendar day, whatever
129
+ * forms the bounds take (`2022-06-15` twice, `2022-D166` beside `2022-06-15`, `2022`
130
+ * beside `2022-01-01`), with the day after it.
131
+ *
132
+ * Eurostat ignores such a range on both endpoints, at every frequency, and answers
133
+ * with the whole series as a success, so neither tool can send it as it stands.
134
+ */
135
+ export declare function oneDayRange(range: PeriodRange): {
136
+ date: string;
137
+ next: string;
138
+ } | undefined;
139
+ /** The frequency codes a list of period codes is written in; a code of no known shape adds none. */
140
+ export declare function frequenciesOf(periods: readonly string[]): Set<string>;
141
+ /**
142
+ * The periods a range excludes because a bound falls inside them, finest frequency
143
+ * first, for each of `frequencies` this module has a calendar span for.
144
+ *
145
+ * Both endpoints keep a period only when it lies wholly inside the range: its first
146
+ * day on or after `since_period`'s, its last day on or before `until_period`'s. So a
147
+ * `since_period` starting after a period does, or an `until_period` ending before it
148
+ * does, cuts that period out, a coarser bound included: 2022-01-01 falls inside
149
+ * `2021-W52`. A period known to lie outside `coverage` is not named.
150
+ *
151
+ * Reads only the bounds and the list it is handed, and skips what it cannot parse.
152
+ */
153
+ export declare function periodCuts(range: PeriodRange, frequencies: Iterable<string>, coverage?: PeriodCoverage): PeriodCut[];
154
+ /**
155
+ * Why a range selected no period, read from the reply in hand.
156
+ *
157
+ * Coverage comes first, then {@link periodCuts} at the finest frequency a bound falls
158
+ * inside and the range holds no whole period of. A whole period inside the range rules
159
+ * the cut out as the cause: `2019-06` to `2021-06` holds 2020, which a survey can skip.
160
+ * What is left overlaps the data with nothing to cut: a weekend, a survey gap, or, on a
161
+ * host that reports no coverage, a range past the data.
162
+ *
163
+ * A selection made with no bound at all (a `filters.time` value) has nothing to cut.
164
+ */
165
+ export declare function diagnoseEmptyRange(range: PeriodRange, frequencies: Iterable<string>, coverage: PeriodCoverage): EmptyRange;
166
+ /** The bound or bounds to set to select a cut period: `since_period "2022"`. */
167
+ export declare const cutSelector: ({ bounds, period }: PeriodCut) => string;
168
+ /**
169
+ * The success notice for `cuts`, quoting each bound as the caller wrote it. It says
170
+ * nothing about the period's data: the slice may hold none.
171
+ */
172
+ export declare function cutNotice(cuts: PeriodCut[], sent: PeriodRange): string;
173
+ export {};
68
174
  //# sourceMappingURL=eurostat-periods.d.ts.map