@tiangong-ai/cli 0.0.50 → 0.0.55
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 +22 -2
- package/README.md +200 -7
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/data/builtins.d.ts +1 -0
- package/dist/data/builtins.js +40 -0
- package/dist/data/builtins.js.map +1 -0
- package/dist/data/catalog.d.ts +25 -0
- package/dist/data/catalog.js +305 -0
- package/dist/data/catalog.js.map +1 -0
- package/dist/data/commands.d.ts +9 -0
- package/dist/data/commands.js +307 -0
- package/dist/data/commands.js.map +1 -0
- package/dist/data/connectors/airnow-hourly-observations.d.ts +2 -0
- package/dist/data/connectors/airnow-hourly-observations.js +522 -0
- package/dist/data/connectors/airnow-hourly-observations.js.map +1 -0
- package/dist/data/connectors/airnow-hourly-observations.schemas.d.ts +299 -0
- package/dist/data/connectors/airnow-hourly-observations.schemas.js +188 -0
- package/dist/data/connectors/airnow-hourly-observations.schemas.js.map +1 -0
- package/dist/data/connectors/bluesky-public-posts.d.ts +2 -0
- package/dist/data/connectors/bluesky-public-posts.js +705 -0
- package/dist/data/connectors/bluesky-public-posts.js.map +1 -0
- package/dist/data/connectors/bluesky-public-posts.schemas.d.ts +733 -0
- package/dist/data/connectors/bluesky-public-posts.schemas.js +422 -0
- package/dist/data/connectors/bluesky-public-posts.schemas.js.map +1 -0
- package/dist/data/connectors/epa-eis-records.d.ts +2 -0
- package/dist/data/connectors/epa-eis-records.js +566 -0
- package/dist/data/connectors/epa-eis-records.js.map +1 -0
- package/dist/data/connectors/epa-eis-records.schemas.d.ts +199 -0
- package/dist/data/connectors/epa-eis-records.schemas.js +146 -0
- package/dist/data/connectors/epa-eis-records.schemas.js.map +1 -0
- package/dist/data/connectors/federal-register-documents.d.ts +2 -0
- package/dist/data/connectors/federal-register-documents.js +517 -0
- package/dist/data/connectors/federal-register-documents.js.map +1 -0
- package/dist/data/connectors/federal-register-documents.schemas.d.ts +357 -0
- package/dist/data/connectors/federal-register-documents.schemas.js +243 -0
- package/dist/data/connectors/federal-register-documents.schemas.js.map +1 -0
- package/dist/data/connectors/gdelt-doc-search.d.ts +2 -0
- package/dist/data/connectors/gdelt-doc-search.js +658 -0
- package/dist/data/connectors/gdelt-doc-search.js.map +1 -0
- package/dist/data/connectors/gdelt-doc-search.schemas.d.ts +446 -0
- package/dist/data/connectors/gdelt-doc-search.schemas.js +330 -0
- package/dist/data/connectors/gdelt-doc-search.schemas.js.map +1 -0
- package/dist/data/connectors/gdelt-file-feeds.d.ts +4 -0
- package/dist/data/connectors/gdelt-file-feeds.js +591 -0
- package/dist/data/connectors/gdelt-file-feeds.js.map +1 -0
- package/dist/data/connectors/gdelt-file-feeds.schemas.d.ts +40 -0
- package/dist/data/connectors/gdelt-file-feeds.schemas.js +256 -0
- package/dist/data/connectors/gdelt-file-feeds.schemas.js.map +1 -0
- package/dist/data/connectors/nasa-firms-fire.d.ts +2 -0
- package/dist/data/connectors/nasa-firms-fire.js +578 -0
- package/dist/data/connectors/nasa-firms-fire.js.map +1 -0
- package/dist/data/connectors/nasa-firms-fire.schemas.d.ts +369 -0
- package/dist/data/connectors/nasa-firms-fire.schemas.js +238 -0
- package/dist/data/connectors/nasa-firms-fire.schemas.js.map +1 -0
- package/dist/data/connectors/open-meteo-air-quality.d.ts +2 -0
- package/dist/data/connectors/open-meteo-air-quality.js +401 -0
- package/dist/data/connectors/open-meteo-air-quality.js.map +1 -0
- package/dist/data/connectors/open-meteo-air-quality.schemas.d.ts +335 -0
- package/dist/data/connectors/open-meteo-air-quality.schemas.js +225 -0
- package/dist/data/connectors/open-meteo-air-quality.schemas.js.map +1 -0
- package/dist/data/connectors/open-meteo-flood.d.ts +2 -0
- package/dist/data/connectors/open-meteo-flood.js +446 -0
- package/dist/data/connectors/open-meteo-flood.js.map +1 -0
- package/dist/data/connectors/open-meteo-flood.schemas.d.ts +388 -0
- package/dist/data/connectors/open-meteo-flood.schemas.js +227 -0
- package/dist/data/connectors/open-meteo-flood.schemas.js.map +1 -0
- package/dist/data/connectors/open-meteo-historical-weather.d.ts +2 -0
- package/dist/data/connectors/open-meteo-historical-weather.js +468 -0
- package/dist/data/connectors/open-meteo-historical-weather.js.map +1 -0
- package/dist/data/connectors/open-meteo-historical-weather.schemas.d.ts +420 -0
- package/dist/data/connectors/open-meteo-historical-weather.schemas.js +282 -0
- package/dist/data/connectors/open-meteo-historical-weather.schemas.js.map +1 -0
- package/dist/data/connectors/openaq-air-quality.d.ts +2 -0
- package/dist/data/connectors/openaq-air-quality.js +734 -0
- package/dist/data/connectors/openaq-air-quality.js.map +1 -0
- package/dist/data/connectors/openaq-air-quality.schemas.d.ts +1067 -0
- package/dist/data/connectors/openaq-air-quality.schemas.js +512 -0
- package/dist/data/connectors/openaq-air-quality.schemas.js.map +1 -0
- package/dist/data/connectors/regulations-gov-attachments.d.ts +2 -0
- package/dist/data/connectors/regulations-gov-attachments.js +486 -0
- package/dist/data/connectors/regulations-gov-attachments.js.map +1 -0
- package/dist/data/connectors/regulations-gov-attachments.schemas.d.ts +270 -0
- package/dist/data/connectors/regulations-gov-attachments.schemas.js +181 -0
- package/dist/data/connectors/regulations-gov-attachments.schemas.js.map +1 -0
- package/dist/data/connectors/regulations-gov-comments.d.ts +2 -0
- package/dist/data/connectors/regulations-gov-comments.js +718 -0
- package/dist/data/connectors/regulations-gov-comments.js.map +1 -0
- package/dist/data/connectors/regulations-gov-comments.schemas.d.ts +717 -0
- package/dist/data/connectors/regulations-gov-comments.schemas.js +389 -0
- package/dist/data/connectors/regulations-gov-comments.schemas.js.map +1 -0
- package/dist/data/connectors/usbr-project-records.d.ts +2 -0
- package/dist/data/connectors/usbr-project-records.js +467 -0
- package/dist/data/connectors/usbr-project-records.js.map +1 -0
- package/dist/data/connectors/usbr-project-records.schemas.d.ts +194 -0
- package/dist/data/connectors/usbr-project-records.schemas.js +137 -0
- package/dist/data/connectors/usbr-project-records.schemas.js.map +1 -0
- package/dist/data/connectors/usbr-rise.d.ts +2 -0
- package/dist/data/connectors/usbr-rise.js +625 -0
- package/dist/data/connectors/usbr-rise.js.map +1 -0
- package/dist/data/connectors/usbr-rise.schemas.d.ts +623 -0
- package/dist/data/connectors/usbr-rise.schemas.js +407 -0
- package/dist/data/connectors/usbr-rise.schemas.js.map +1 -0
- package/dist/data/connectors/usgs-water-instantaneous-values.d.ts +2 -0
- package/dist/data/connectors/usgs-water-instantaneous-values.js +521 -0
- package/dist/data/connectors/usgs-water-instantaneous-values.js.map +1 -0
- package/dist/data/connectors/usgs-water-instantaneous-values.schemas.d.ts +496 -0
- package/dist/data/connectors/usgs-water-instantaneous-values.schemas.js +309 -0
- package/dist/data/connectors/usgs-water-instantaneous-values.schemas.js.map +1 -0
- package/dist/data/connectors/youtube-public-content.d.ts +2 -0
- package/dist/data/connectors/youtube-public-content.js +974 -0
- package/dist/data/connectors/youtube-public-content.js.map +1 -0
- package/dist/data/connectors/youtube-public-content.schemas.d.ts +773 -0
- package/dist/data/connectors/youtube-public-content.schemas.js +567 -0
- package/dist/data/connectors/youtube-public-content.schemas.js.map +1 -0
- package/dist/data/contracts.d.ts +374 -0
- package/dist/data/contracts.js +10 -0
- package/dist/data/contracts.js.map +1 -0
- package/dist/data/runtime/artifacts.d.ts +6 -0
- package/dist/data/runtime/artifacts.js +103 -0
- package/dist/data/runtime/artifacts.js.map +1 -0
- package/dist/data/runtime/bounded-http.d.ts +10 -0
- package/dist/data/runtime/bounded-http.js +403 -0
- package/dist/data/runtime/bounded-http.js.map +1 -0
- package/dist/data/runtime/canonical-json.d.ts +3 -0
- package/dist/data/runtime/canonical-json.js +59 -0
- package/dist/data/runtime/canonical-json.js.map +1 -0
- package/dist/data/runtime/credentials.d.ts +14 -0
- package/dist/data/runtime/credentials.js +67 -0
- package/dist/data/runtime/credentials.js.map +1 -0
- package/dist/data/runtime/csv.d.ts +4 -0
- package/dist/data/runtime/csv.js +51 -0
- package/dist/data/runtime/csv.js.map +1 -0
- package/dist/data/runtime/errors.d.ts +22 -0
- package/dist/data/runtime/errors.js +101 -0
- package/dist/data/runtime/errors.js.map +1 -0
- package/dist/data/runtime/execute.d.ts +11 -0
- package/dist/data/runtime/execute.js +358 -0
- package/dist/data/runtime/execute.js.map +1 -0
- package/dist/data/runtime/receipts.d.ts +13 -0
- package/dist/data/runtime/receipts.js +38 -0
- package/dist/data/runtime/receipts.js.map +1 -0
- package/dist/data/schemas/catalog.v1.json +73 -0
- package/dist/data/schemas/core-receipt.v1.json +117 -0
- package/dist/data/schemas/describe.v1.json +24 -0
- package/dist/data/schemas/discovery.v1.json +130 -0
- package/dist/data/schemas/doctor.v1.json +40 -0
- package/dist/data/schemas/error.v1.json +48 -0
- package/dist/data/schemas/manifest.v1.json +174 -0
- package/dist/data/schemas/run-request.v1.json +37 -0
- package/dist/data/schemas/run-result.v1.json +77 -0
- package/dist/data/schemas.d.ts +27 -0
- package/dist/data/schemas.js +69 -0
- package/dist/data/schemas.js.map +1 -0
- package/dist/env.js.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/http.js.map +1 -1
- package/dist/kb/config.js.map +1 -1
- package/dist/kb/pipeline-health.js.map +1 -1
- package/dist/research/orchestration.js +71 -11
- package/dist/research/orchestration.js.map +1 -1
- package/dist/research/workspace/acquisition.js +70 -5
- package/dist/research/workspace/acquisition.js.map +1 -1
- package/dist/research/workspace/audit-bundle.js +7 -2
- package/dist/research/workspace/audit-bundle.js.map +1 -1
- package/dist/research/workspace/broker.js.map +1 -1
- package/dist/research/workspace/constants.js.map +1 -1
- package/dist/research/workspace/credentials.d.ts +3 -0
- package/dist/research/workspace/credentials.js +20 -3
- package/dist/research/workspace/credentials.js.map +1 -1
- package/dist/research/workspace/data-evidence-adapter.d.ts +60 -0
- package/dist/research/workspace/data-evidence-adapter.js +314 -0
- package/dist/research/workspace/data-evidence-adapter.js.map +1 -0
- package/dist/research/workspace/discovery-status.js +10 -7
- package/dist/research/workspace/discovery-status.js.map +1 -1
- package/dist/research/workspace/discovery.js +12 -11
- package/dist/research/workspace/discovery.js.map +1 -1
- package/dist/research/workspace/evidence-ledger.d.ts +8 -1
- package/dist/research/workspace/evidence-ledger.js +46 -4
- package/dist/research/workspace/evidence-ledger.js.map +1 -1
- package/dist/research/workspace/evidence.d.ts +31 -0
- package/dist/research/workspace/evidence.js +77 -0
- package/dist/research/workspace/evidence.js.map +1 -1
- package/dist/research/workspace/executor.js.map +1 -1
- package/dist/research/workspace/external-skills.d.ts +49 -49
- package/dist/research/workspace/external-skills.js.map +1 -1
- package/dist/research/workspace/platform-capabilities.js.map +1 -1
- package/dist/research/workspace/preflight.d.ts +4 -4
- package/dist/research/workspace/preflight.js +33 -8
- package/dist/research/workspace/preflight.js.map +1 -1
- package/dist/research/workspace/projects.js +203 -76
- package/dist/research/workspace/projects.js.map +1 -1
- package/dist/research/workspace/publication.js.map +1 -1
- package/dist/research/workspace/research-policy-wizard.js.map +1 -1
- package/dist/research/workspace/research-policy.js.map +1 -1
- package/dist/research/workspace/runtime.d.ts +7 -0
- package/dist/research/workspace/runtime.js +82 -23
- package/dist/research/workspace/runtime.js.map +1 -1
- package/dist/research/workspace/sanitization.js.map +1 -1
- package/dist/research/workspace/schemas.js +1 -1
- package/dist/research/workspace/schemas.js.map +1 -1
- package/dist/research/workspace/scientific-design.js.map +1 -1
- package/dist/research/workspace/scientific-review.js.map +1 -1
- package/dist/research/workspace/setup-catalog.d.ts +9 -9
- package/dist/research/workspace/setup-catalog.js +2 -2
- package/dist/research/workspace/setup-catalog.js.map +1 -1
- package/dist/research/workspace/setup-declarative.js.map +1 -1
- package/dist/research/workspace/setup-instructions.d.ts +42 -0
- package/dist/research/workspace/setup-instructions.js +413 -0
- package/dist/research/workspace/setup-instructions.js.map +1 -0
- package/dist/research/workspace/setup-invocation.js.map +1 -1
- package/dist/research/workspace/setup-wizard.js +7 -0
- package/dist/research/workspace/setup-wizard.js.map +1 -1
- package/dist/research/workspace/setup.d.ts +18 -15
- package/dist/research/workspace/setup.js +68 -3
- package/dist/research/workspace/setup.js.map +1 -1
- package/dist/research/workspace/workspace.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
export declare const OPEN_METEO_AIR_QUALITY_VARIABLES: readonly ["aerosol_optical_depth", "alder_pollen", "ammonia", "birch_pollen", "carbon_dioxide", "carbon_monoxide", "dust", "european_aqi", "european_aqi_nitrogen_dioxide", "european_aqi_ozone", "european_aqi_pm10", "european_aqi_pm2_5", "european_aqi_sulphur_dioxide", "grass_pollen", "methane", "mugwort_pollen", "nitrogen_dioxide", "olive_pollen", "ozone", "pm10", "pm2_5", "ragweed_pollen", "sulphur_dioxide", "us_aqi", "us_aqi_carbon_monoxide", "us_aqi_nitrogen_dioxide", "us_aqi_ozone", "us_aqi_pm10", "us_aqi_pm2_5", "us_aqi_sulphur_dioxide", "uv_index", "uv_index_clear_sky"];
|
|
2
|
+
export declare const OPEN_METEO_AIR_QUALITY_INPUT_SCHEMA: {
|
|
3
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
4
|
+
readonly $id: "https://schemas.tiangong.ai/data/open-meteo/air-quality-input.v1.json";
|
|
5
|
+
readonly type: "object";
|
|
6
|
+
readonly additionalProperties: false;
|
|
7
|
+
readonly required: readonly ["locations", "startDate", "endDate", "hourlyVariables"];
|
|
8
|
+
readonly properties: {
|
|
9
|
+
readonly locations: {
|
|
10
|
+
readonly type: "array";
|
|
11
|
+
readonly minItems: 1;
|
|
12
|
+
readonly maxItems: 10;
|
|
13
|
+
readonly description: "One to ten coordinates. The result preserves this order even though variables are normalized separately.";
|
|
14
|
+
readonly examples: readonly [readonly [{
|
|
15
|
+
readonly latitude: 52.52;
|
|
16
|
+
readonly longitude: 13.41;
|
|
17
|
+
}]];
|
|
18
|
+
readonly items: {
|
|
19
|
+
readonly type: "object";
|
|
20
|
+
readonly additionalProperties: false;
|
|
21
|
+
readonly required: readonly ["latitude", "longitude"];
|
|
22
|
+
readonly description: "One WGS84 coordinate whose containing or selected model grid cell will be returned.";
|
|
23
|
+
readonly examples: readonly [{
|
|
24
|
+
readonly latitude: 52.52;
|
|
25
|
+
readonly longitude: 13.41;
|
|
26
|
+
}];
|
|
27
|
+
readonly properties: {
|
|
28
|
+
readonly latitude: {
|
|
29
|
+
readonly type: "number";
|
|
30
|
+
readonly minimum: -90;
|
|
31
|
+
readonly maximum: 90;
|
|
32
|
+
readonly description: "Requested WGS84 latitude in decimal degrees.";
|
|
33
|
+
readonly examples: readonly [52.52];
|
|
34
|
+
};
|
|
35
|
+
readonly longitude: {
|
|
36
|
+
readonly type: "number";
|
|
37
|
+
readonly minimum: -180;
|
|
38
|
+
readonly maximum: 180;
|
|
39
|
+
readonly description: "Requested WGS84 longitude in decimal degrees.";
|
|
40
|
+
readonly examples: readonly [13.41];
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
readonly startDate: {
|
|
46
|
+
readonly type: "string";
|
|
47
|
+
readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
|
|
48
|
+
readonly description: "Inclusive first model date in YYYY-MM-DD form. Together with endDate, the window may contain at most 92 dates.";
|
|
49
|
+
readonly examples: readonly ["2026-03-17"];
|
|
50
|
+
};
|
|
51
|
+
readonly endDate: {
|
|
52
|
+
readonly type: "string";
|
|
53
|
+
readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
|
|
54
|
+
readonly description: "Inclusive last model date in YYYY-MM-DD form. It must not precede startDate.";
|
|
55
|
+
readonly examples: readonly ["2026-03-18"];
|
|
56
|
+
};
|
|
57
|
+
readonly hourlyVariables: {
|
|
58
|
+
readonly type: "array";
|
|
59
|
+
readonly minItems: 1;
|
|
60
|
+
readonly maxItems: 16;
|
|
61
|
+
readonly uniqueItems: true;
|
|
62
|
+
readonly description: "Open-Meteo hourly air-quality, pollen, UV, or AQI variable codes. Returned variables are sorted for a stable request contract.";
|
|
63
|
+
readonly examples: readonly [readonly ["pm10", "pm2_5"]];
|
|
64
|
+
readonly items: {
|
|
65
|
+
readonly enum: readonly ["aerosol_optical_depth", "alder_pollen", "ammonia", "birch_pollen", "carbon_dioxide", "carbon_monoxide", "dust", "european_aqi", "european_aqi_nitrogen_dioxide", "european_aqi_ozone", "european_aqi_pm10", "european_aqi_pm2_5", "european_aqi_sulphur_dioxide", "grass_pollen", "methane", "mugwort_pollen", "nitrogen_dioxide", "olive_pollen", "ozone", "pm10", "pm2_5", "ragweed_pollen", "sulphur_dioxide", "us_aqi", "us_aqi_carbon_monoxide", "us_aqi_nitrogen_dioxide", "us_aqi_ozone", "us_aqi_pm10", "us_aqi_pm2_5", "us_aqi_sulphur_dioxide", "uv_index", "uv_index_clear_sky"];
|
|
66
|
+
readonly description: "One variable code documented by the Open-Meteo Air Quality API.";
|
|
67
|
+
readonly examples: readonly ["pm2_5"];
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
readonly domain: {
|
|
71
|
+
readonly enum: readonly ["auto", "cams_europe", "cams_global"];
|
|
72
|
+
readonly description: "Open-Meteo model-domain selection. auto is the provider-recommended default; Europe and global may differ in coverage and resolution.";
|
|
73
|
+
readonly examples: readonly ["auto"];
|
|
74
|
+
};
|
|
75
|
+
readonly cellSelection: {
|
|
76
|
+
readonly enum: readonly ["nearest", "land", "sea"];
|
|
77
|
+
readonly description: "Grid-cell preference around each coordinate. nearest is the provider default; land or sea can avoid an unsuitable adjacent cell.";
|
|
78
|
+
readonly examples: readonly ["nearest"];
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export declare const OPEN_METEO_AIR_QUALITY_OUTPUT_SCHEMA: {
|
|
83
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
84
|
+
readonly $id: "https://schemas.tiangong.ai/data/open-meteo/air-quality-output.v1.json";
|
|
85
|
+
readonly type: "object";
|
|
86
|
+
readonly additionalProperties: false;
|
|
87
|
+
readonly required: readonly ["source", "request", "validation", "locations", "stopReason"];
|
|
88
|
+
readonly properties: {
|
|
89
|
+
readonly source: {
|
|
90
|
+
readonly type: "object";
|
|
91
|
+
readonly additionalProperties: false;
|
|
92
|
+
readonly required: readonly ["providerId", "service", "endpoint", "modeled", "timezone"];
|
|
93
|
+
readonly properties: {
|
|
94
|
+
readonly providerId: {
|
|
95
|
+
readonly const: "open-meteo";
|
|
96
|
+
};
|
|
97
|
+
readonly service: {
|
|
98
|
+
readonly const: "Air Quality API";
|
|
99
|
+
};
|
|
100
|
+
readonly endpoint: {
|
|
101
|
+
readonly const: "/v1/air-quality";
|
|
102
|
+
};
|
|
103
|
+
readonly modeled: {
|
|
104
|
+
readonly const: true;
|
|
105
|
+
};
|
|
106
|
+
readonly timezone: {
|
|
107
|
+
readonly const: "GMT";
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
readonly request: {
|
|
112
|
+
readonly type: "object";
|
|
113
|
+
readonly additionalProperties: false;
|
|
114
|
+
readonly required: readonly ["locations", "startDate", "endDate", "hourlyVariables", "domain", "cellSelection", "timezone"];
|
|
115
|
+
readonly properties: {
|
|
116
|
+
readonly locations: {
|
|
117
|
+
readonly type: "array";
|
|
118
|
+
readonly minItems: 1;
|
|
119
|
+
readonly maxItems: 10;
|
|
120
|
+
readonly description: "One to ten coordinates. The result preserves this order even though variables are normalized separately.";
|
|
121
|
+
readonly examples: readonly [readonly [{
|
|
122
|
+
readonly latitude: 52.52;
|
|
123
|
+
readonly longitude: 13.41;
|
|
124
|
+
}]];
|
|
125
|
+
readonly items: {
|
|
126
|
+
readonly type: "object";
|
|
127
|
+
readonly additionalProperties: false;
|
|
128
|
+
readonly required: readonly ["latitude", "longitude"];
|
|
129
|
+
readonly description: "One WGS84 coordinate whose containing or selected model grid cell will be returned.";
|
|
130
|
+
readonly examples: readonly [{
|
|
131
|
+
readonly latitude: 52.52;
|
|
132
|
+
readonly longitude: 13.41;
|
|
133
|
+
}];
|
|
134
|
+
readonly properties: {
|
|
135
|
+
readonly latitude: {
|
|
136
|
+
readonly type: "number";
|
|
137
|
+
readonly minimum: -90;
|
|
138
|
+
readonly maximum: 90;
|
|
139
|
+
readonly description: "Requested WGS84 latitude in decimal degrees.";
|
|
140
|
+
readonly examples: readonly [52.52];
|
|
141
|
+
};
|
|
142
|
+
readonly longitude: {
|
|
143
|
+
readonly type: "number";
|
|
144
|
+
readonly minimum: -180;
|
|
145
|
+
readonly maximum: 180;
|
|
146
|
+
readonly description: "Requested WGS84 longitude in decimal degrees.";
|
|
147
|
+
readonly examples: readonly [13.41];
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
readonly startDate: {
|
|
153
|
+
readonly type: "string";
|
|
154
|
+
readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
|
|
155
|
+
readonly description: "Inclusive first model date in YYYY-MM-DD form. Together with endDate, the window may contain at most 92 dates.";
|
|
156
|
+
readonly examples: readonly ["2026-03-17"];
|
|
157
|
+
};
|
|
158
|
+
readonly endDate: {
|
|
159
|
+
readonly type: "string";
|
|
160
|
+
readonly pattern: "^\\d{4}-\\d{2}-\\d{2}$";
|
|
161
|
+
readonly description: "Inclusive last model date in YYYY-MM-DD form. It must not precede startDate.";
|
|
162
|
+
readonly examples: readonly ["2026-03-18"];
|
|
163
|
+
};
|
|
164
|
+
readonly hourlyVariables: {
|
|
165
|
+
readonly type: "array";
|
|
166
|
+
readonly minItems: 1;
|
|
167
|
+
readonly maxItems: 16;
|
|
168
|
+
readonly uniqueItems: true;
|
|
169
|
+
readonly description: "Open-Meteo hourly air-quality, pollen, UV, or AQI variable codes. Returned variables are sorted for a stable request contract.";
|
|
170
|
+
readonly examples: readonly [readonly ["pm10", "pm2_5"]];
|
|
171
|
+
readonly items: {
|
|
172
|
+
readonly enum: readonly ["aerosol_optical_depth", "alder_pollen", "ammonia", "birch_pollen", "carbon_dioxide", "carbon_monoxide", "dust", "european_aqi", "european_aqi_nitrogen_dioxide", "european_aqi_ozone", "european_aqi_pm10", "european_aqi_pm2_5", "european_aqi_sulphur_dioxide", "grass_pollen", "methane", "mugwort_pollen", "nitrogen_dioxide", "olive_pollen", "ozone", "pm10", "pm2_5", "ragweed_pollen", "sulphur_dioxide", "us_aqi", "us_aqi_carbon_monoxide", "us_aqi_nitrogen_dioxide", "us_aqi_ozone", "us_aqi_pm10", "us_aqi_pm2_5", "us_aqi_sulphur_dioxide", "uv_index", "uv_index_clear_sky"];
|
|
173
|
+
readonly description: "One variable code documented by the Open-Meteo Air Quality API.";
|
|
174
|
+
readonly examples: readonly ["pm2_5"];
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
readonly domain: {
|
|
178
|
+
readonly enum: readonly ["auto", "cams_europe", "cams_global"];
|
|
179
|
+
};
|
|
180
|
+
readonly cellSelection: {
|
|
181
|
+
readonly enum: readonly ["nearest", "land", "sea"];
|
|
182
|
+
};
|
|
183
|
+
readonly timezone: {
|
|
184
|
+
readonly const: "GMT";
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
readonly validation: {
|
|
189
|
+
readonly type: "object";
|
|
190
|
+
readonly additionalProperties: false;
|
|
191
|
+
readonly required: readonly ["issueCount", "issues"];
|
|
192
|
+
readonly properties: {
|
|
193
|
+
readonly issueCount: {
|
|
194
|
+
readonly type: "integer";
|
|
195
|
+
readonly minimum: 0;
|
|
196
|
+
};
|
|
197
|
+
readonly issues: {
|
|
198
|
+
readonly type: "array";
|
|
199
|
+
readonly maxItems: 50;
|
|
200
|
+
readonly items: {
|
|
201
|
+
readonly type: "object";
|
|
202
|
+
readonly additionalProperties: false;
|
|
203
|
+
readonly required: readonly ["path", "message"];
|
|
204
|
+
readonly properties: {
|
|
205
|
+
readonly path: {
|
|
206
|
+
readonly type: "string";
|
|
207
|
+
readonly minLength: 1;
|
|
208
|
+
};
|
|
209
|
+
readonly message: {
|
|
210
|
+
readonly type: "string";
|
|
211
|
+
readonly minLength: 1;
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
readonly locations: {
|
|
219
|
+
readonly type: "array";
|
|
220
|
+
readonly maxItems: 10;
|
|
221
|
+
readonly items: {
|
|
222
|
+
readonly type: "object";
|
|
223
|
+
readonly additionalProperties: false;
|
|
224
|
+
readonly required: readonly ["requestedLocationIndex", "requestedLocation", "gridLocation", "elevation", "timezone", "timezoneAbbreviation", "utcOffsetSeconds", "timesUtc", "variables"];
|
|
225
|
+
readonly properties: {
|
|
226
|
+
readonly requestedLocationIndex: {
|
|
227
|
+
readonly type: "integer";
|
|
228
|
+
readonly minimum: 0;
|
|
229
|
+
readonly maximum: 9;
|
|
230
|
+
};
|
|
231
|
+
readonly requestedLocation: {
|
|
232
|
+
readonly type: "object";
|
|
233
|
+
readonly additionalProperties: false;
|
|
234
|
+
readonly required: readonly ["latitude", "longitude"];
|
|
235
|
+
readonly description: "One WGS84 coordinate whose containing or selected model grid cell will be returned.";
|
|
236
|
+
readonly examples: readonly [{
|
|
237
|
+
readonly latitude: 52.52;
|
|
238
|
+
readonly longitude: 13.41;
|
|
239
|
+
}];
|
|
240
|
+
readonly properties: {
|
|
241
|
+
readonly latitude: {
|
|
242
|
+
readonly type: "number";
|
|
243
|
+
readonly minimum: -90;
|
|
244
|
+
readonly maximum: 90;
|
|
245
|
+
readonly description: "Requested WGS84 latitude in decimal degrees.";
|
|
246
|
+
readonly examples: readonly [52.52];
|
|
247
|
+
};
|
|
248
|
+
readonly longitude: {
|
|
249
|
+
readonly type: "number";
|
|
250
|
+
readonly minimum: -180;
|
|
251
|
+
readonly maximum: 180;
|
|
252
|
+
readonly description: "Requested WGS84 longitude in decimal degrees.";
|
|
253
|
+
readonly examples: readonly [13.41];
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
readonly gridLocation: {
|
|
258
|
+
readonly type: "object";
|
|
259
|
+
readonly additionalProperties: false;
|
|
260
|
+
readonly required: readonly ["latitude", "longitude"];
|
|
261
|
+
readonly description: "One WGS84 coordinate whose containing or selected model grid cell will be returned.";
|
|
262
|
+
readonly examples: readonly [{
|
|
263
|
+
readonly latitude: 52.52;
|
|
264
|
+
readonly longitude: 13.41;
|
|
265
|
+
}];
|
|
266
|
+
readonly properties: {
|
|
267
|
+
readonly latitude: {
|
|
268
|
+
readonly type: "number";
|
|
269
|
+
readonly minimum: -90;
|
|
270
|
+
readonly maximum: 90;
|
|
271
|
+
readonly description: "Requested WGS84 latitude in decimal degrees.";
|
|
272
|
+
readonly examples: readonly [52.52];
|
|
273
|
+
};
|
|
274
|
+
readonly longitude: {
|
|
275
|
+
readonly type: "number";
|
|
276
|
+
readonly minimum: -180;
|
|
277
|
+
readonly maximum: 180;
|
|
278
|
+
readonly description: "Requested WGS84 longitude in decimal degrees.";
|
|
279
|
+
readonly examples: readonly [13.41];
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
readonly elevation: {
|
|
284
|
+
readonly type: readonly ["number", "null"];
|
|
285
|
+
};
|
|
286
|
+
readonly timezone: {
|
|
287
|
+
readonly type: "string";
|
|
288
|
+
readonly minLength: 1;
|
|
289
|
+
};
|
|
290
|
+
readonly timezoneAbbreviation: {
|
|
291
|
+
readonly type: "string";
|
|
292
|
+
readonly minLength: 1;
|
|
293
|
+
};
|
|
294
|
+
readonly utcOffsetSeconds: {
|
|
295
|
+
readonly type: "integer";
|
|
296
|
+
};
|
|
297
|
+
readonly timesUtc: {
|
|
298
|
+
readonly type: "array";
|
|
299
|
+
readonly items: {
|
|
300
|
+
readonly type: "string";
|
|
301
|
+
readonly pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:00Z$";
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
readonly variables: {
|
|
305
|
+
readonly type: "array";
|
|
306
|
+
readonly maxItems: 16;
|
|
307
|
+
readonly items: {
|
|
308
|
+
readonly type: "object";
|
|
309
|
+
readonly additionalProperties: false;
|
|
310
|
+
readonly required: readonly ["variable", "unit", "values"];
|
|
311
|
+
readonly properties: {
|
|
312
|
+
readonly variable: {
|
|
313
|
+
readonly enum: readonly ["aerosol_optical_depth", "alder_pollen", "ammonia", "birch_pollen", "carbon_dioxide", "carbon_monoxide", "dust", "european_aqi", "european_aqi_nitrogen_dioxide", "european_aqi_ozone", "european_aqi_pm10", "european_aqi_pm2_5", "european_aqi_sulphur_dioxide", "grass_pollen", "methane", "mugwort_pollen", "nitrogen_dioxide", "olive_pollen", "ozone", "pm10", "pm2_5", "ragweed_pollen", "sulphur_dioxide", "us_aqi", "us_aqi_carbon_monoxide", "us_aqi_nitrogen_dioxide", "us_aqi_ozone", "us_aqi_pm10", "us_aqi_pm2_5", "us_aqi_sulphur_dioxide", "uv_index", "uv_index_clear_sky"];
|
|
314
|
+
};
|
|
315
|
+
readonly unit: {
|
|
316
|
+
readonly type: "string";
|
|
317
|
+
readonly minLength: 1;
|
|
318
|
+
};
|
|
319
|
+
readonly values: {
|
|
320
|
+
readonly type: "array";
|
|
321
|
+
readonly items: {
|
|
322
|
+
readonly type: readonly ["number", "null"];
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
};
|
|
326
|
+
};
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
};
|
|
330
|
+
};
|
|
331
|
+
readonly stopReason: {
|
|
332
|
+
readonly enum: readonly ["completed", "max-records", "partial"];
|
|
333
|
+
};
|
|
334
|
+
};
|
|
335
|
+
};
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
const DATE_PATTERN = "^\\d{4}-\\d{2}-\\d{2}$";
|
|
2
|
+
const UTC_MINUTE_PATTERN = "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:00Z$";
|
|
3
|
+
export const OPEN_METEO_AIR_QUALITY_VARIABLES = [
|
|
4
|
+
"aerosol_optical_depth",
|
|
5
|
+
"alder_pollen",
|
|
6
|
+
"ammonia",
|
|
7
|
+
"birch_pollen",
|
|
8
|
+
"carbon_dioxide",
|
|
9
|
+
"carbon_monoxide",
|
|
10
|
+
"dust",
|
|
11
|
+
"european_aqi",
|
|
12
|
+
"european_aqi_nitrogen_dioxide",
|
|
13
|
+
"european_aqi_ozone",
|
|
14
|
+
"european_aqi_pm10",
|
|
15
|
+
"european_aqi_pm2_5",
|
|
16
|
+
"european_aqi_sulphur_dioxide",
|
|
17
|
+
"grass_pollen",
|
|
18
|
+
"methane",
|
|
19
|
+
"mugwort_pollen",
|
|
20
|
+
"nitrogen_dioxide",
|
|
21
|
+
"olive_pollen",
|
|
22
|
+
"ozone",
|
|
23
|
+
"pm10",
|
|
24
|
+
"pm2_5",
|
|
25
|
+
"ragweed_pollen",
|
|
26
|
+
"sulphur_dioxide",
|
|
27
|
+
"us_aqi",
|
|
28
|
+
"us_aqi_carbon_monoxide",
|
|
29
|
+
"us_aqi_nitrogen_dioxide",
|
|
30
|
+
"us_aqi_ozone",
|
|
31
|
+
"us_aqi_pm10",
|
|
32
|
+
"us_aqi_pm2_5",
|
|
33
|
+
"us_aqi_sulphur_dioxide",
|
|
34
|
+
"uv_index",
|
|
35
|
+
"uv_index_clear_sky",
|
|
36
|
+
];
|
|
37
|
+
const LOCATION_SCHEMA = {
|
|
38
|
+
type: "object",
|
|
39
|
+
additionalProperties: false,
|
|
40
|
+
required: ["latitude", "longitude"],
|
|
41
|
+
description: "One WGS84 coordinate whose containing or selected model grid cell will be returned.",
|
|
42
|
+
examples: [{ latitude: 52.52, longitude: 13.41 }],
|
|
43
|
+
properties: {
|
|
44
|
+
latitude: {
|
|
45
|
+
type: "number",
|
|
46
|
+
minimum: -90,
|
|
47
|
+
maximum: 90,
|
|
48
|
+
description: "Requested WGS84 latitude in decimal degrees.",
|
|
49
|
+
examples: [52.52],
|
|
50
|
+
},
|
|
51
|
+
longitude: {
|
|
52
|
+
type: "number",
|
|
53
|
+
minimum: -180,
|
|
54
|
+
maximum: 180,
|
|
55
|
+
description: "Requested WGS84 longitude in decimal degrees.",
|
|
56
|
+
examples: [13.41],
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
const VARIABLES_SCHEMA = {
|
|
61
|
+
type: "array",
|
|
62
|
+
minItems: 1,
|
|
63
|
+
maxItems: 16,
|
|
64
|
+
uniqueItems: true,
|
|
65
|
+
description: "Open-Meteo hourly air-quality, pollen, UV, or AQI variable codes. Returned variables are sorted for a stable request contract.",
|
|
66
|
+
examples: [["pm10", "pm2_5"]],
|
|
67
|
+
items: {
|
|
68
|
+
enum: OPEN_METEO_AIR_QUALITY_VARIABLES,
|
|
69
|
+
description: "One variable code documented by the Open-Meteo Air Quality API.",
|
|
70
|
+
examples: ["pm2_5"],
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
export const OPEN_METEO_AIR_QUALITY_INPUT_SCHEMA = {
|
|
74
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
75
|
+
$id: "https://schemas.tiangong.ai/data/open-meteo/air-quality-input.v1.json",
|
|
76
|
+
type: "object",
|
|
77
|
+
additionalProperties: false,
|
|
78
|
+
required: ["locations", "startDate", "endDate", "hourlyVariables"],
|
|
79
|
+
properties: {
|
|
80
|
+
locations: {
|
|
81
|
+
type: "array",
|
|
82
|
+
minItems: 1,
|
|
83
|
+
maxItems: 10,
|
|
84
|
+
description: "One to ten coordinates. The result preserves this order even though variables are normalized separately.",
|
|
85
|
+
examples: [[{ latitude: 52.52, longitude: 13.41 }]],
|
|
86
|
+
items: LOCATION_SCHEMA,
|
|
87
|
+
},
|
|
88
|
+
startDate: {
|
|
89
|
+
type: "string",
|
|
90
|
+
pattern: DATE_PATTERN,
|
|
91
|
+
description: "Inclusive first model date in YYYY-MM-DD form. Together with endDate, the window may contain at most 92 dates.",
|
|
92
|
+
examples: ["2026-03-17"],
|
|
93
|
+
},
|
|
94
|
+
endDate: {
|
|
95
|
+
type: "string",
|
|
96
|
+
pattern: DATE_PATTERN,
|
|
97
|
+
description: "Inclusive last model date in YYYY-MM-DD form. It must not precede startDate.",
|
|
98
|
+
examples: ["2026-03-18"],
|
|
99
|
+
},
|
|
100
|
+
hourlyVariables: VARIABLES_SCHEMA,
|
|
101
|
+
domain: {
|
|
102
|
+
enum: ["auto", "cams_europe", "cams_global"],
|
|
103
|
+
description: "Open-Meteo model-domain selection. auto is the provider-recommended default; Europe and global may differ in coverage and resolution.",
|
|
104
|
+
examples: ["auto"],
|
|
105
|
+
},
|
|
106
|
+
cellSelection: {
|
|
107
|
+
enum: ["nearest", "land", "sea"],
|
|
108
|
+
description: "Grid-cell preference around each coordinate. nearest is the provider default; land or sea can avoid an unsuitable adjacent cell.",
|
|
109
|
+
examples: ["nearest"],
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
const NULLABLE_NUMBER = { type: ["number", "null"] };
|
|
114
|
+
export const OPEN_METEO_AIR_QUALITY_OUTPUT_SCHEMA = {
|
|
115
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
116
|
+
$id: "https://schemas.tiangong.ai/data/open-meteo/air-quality-output.v1.json",
|
|
117
|
+
type: "object",
|
|
118
|
+
additionalProperties: false,
|
|
119
|
+
required: ["source", "request", "validation", "locations", "stopReason"],
|
|
120
|
+
properties: {
|
|
121
|
+
source: {
|
|
122
|
+
type: "object",
|
|
123
|
+
additionalProperties: false,
|
|
124
|
+
required: ["providerId", "service", "endpoint", "modeled", "timezone"],
|
|
125
|
+
properties: {
|
|
126
|
+
providerId: { const: "open-meteo" },
|
|
127
|
+
service: { const: "Air Quality API" },
|
|
128
|
+
endpoint: { const: "/v1/air-quality" },
|
|
129
|
+
modeled: { const: true },
|
|
130
|
+
timezone: { const: "GMT" },
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
request: {
|
|
134
|
+
type: "object",
|
|
135
|
+
additionalProperties: false,
|
|
136
|
+
required: [
|
|
137
|
+
"locations",
|
|
138
|
+
"startDate",
|
|
139
|
+
"endDate",
|
|
140
|
+
"hourlyVariables",
|
|
141
|
+
"domain",
|
|
142
|
+
"cellSelection",
|
|
143
|
+
"timezone",
|
|
144
|
+
],
|
|
145
|
+
properties: {
|
|
146
|
+
locations: OPEN_METEO_AIR_QUALITY_INPUT_SCHEMA.properties.locations,
|
|
147
|
+
startDate: OPEN_METEO_AIR_QUALITY_INPUT_SCHEMA.properties.startDate,
|
|
148
|
+
endDate: OPEN_METEO_AIR_QUALITY_INPUT_SCHEMA.properties.endDate,
|
|
149
|
+
hourlyVariables: VARIABLES_SCHEMA,
|
|
150
|
+
domain: { enum: ["auto", "cams_europe", "cams_global"] },
|
|
151
|
+
cellSelection: { enum: ["nearest", "land", "sea"] },
|
|
152
|
+
timezone: { const: "GMT" },
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
validation: {
|
|
156
|
+
type: "object",
|
|
157
|
+
additionalProperties: false,
|
|
158
|
+
required: ["issueCount", "issues"],
|
|
159
|
+
properties: {
|
|
160
|
+
issueCount: { type: "integer", minimum: 0 },
|
|
161
|
+
issues: {
|
|
162
|
+
type: "array",
|
|
163
|
+
maxItems: 50,
|
|
164
|
+
items: {
|
|
165
|
+
type: "object",
|
|
166
|
+
additionalProperties: false,
|
|
167
|
+
required: ["path", "message"],
|
|
168
|
+
properties: {
|
|
169
|
+
path: { type: "string", minLength: 1 },
|
|
170
|
+
message: { type: "string", minLength: 1 },
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
locations: {
|
|
177
|
+
type: "array",
|
|
178
|
+
maxItems: 10,
|
|
179
|
+
items: {
|
|
180
|
+
type: "object",
|
|
181
|
+
additionalProperties: false,
|
|
182
|
+
required: [
|
|
183
|
+
"requestedLocationIndex",
|
|
184
|
+
"requestedLocation",
|
|
185
|
+
"gridLocation",
|
|
186
|
+
"elevation",
|
|
187
|
+
"timezone",
|
|
188
|
+
"timezoneAbbreviation",
|
|
189
|
+
"utcOffsetSeconds",
|
|
190
|
+
"timesUtc",
|
|
191
|
+
"variables",
|
|
192
|
+
],
|
|
193
|
+
properties: {
|
|
194
|
+
requestedLocationIndex: { type: "integer", minimum: 0, maximum: 9 },
|
|
195
|
+
requestedLocation: LOCATION_SCHEMA,
|
|
196
|
+
gridLocation: LOCATION_SCHEMA,
|
|
197
|
+
elevation: NULLABLE_NUMBER,
|
|
198
|
+
timezone: { type: "string", minLength: 1 },
|
|
199
|
+
timezoneAbbreviation: { type: "string", minLength: 1 },
|
|
200
|
+
utcOffsetSeconds: { type: "integer" },
|
|
201
|
+
timesUtc: {
|
|
202
|
+
type: "array",
|
|
203
|
+
items: { type: "string", pattern: UTC_MINUTE_PATTERN },
|
|
204
|
+
},
|
|
205
|
+
variables: {
|
|
206
|
+
type: "array",
|
|
207
|
+
maxItems: 16,
|
|
208
|
+
items: {
|
|
209
|
+
type: "object",
|
|
210
|
+
additionalProperties: false,
|
|
211
|
+
required: ["variable", "unit", "values"],
|
|
212
|
+
properties: {
|
|
213
|
+
variable: { enum: OPEN_METEO_AIR_QUALITY_VARIABLES },
|
|
214
|
+
unit: { type: "string", minLength: 1 },
|
|
215
|
+
values: { type: "array", items: NULLABLE_NUMBER },
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
stopReason: { enum: ["completed", "max-records", "partial"] },
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=open-meteo-air-quality.schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-meteo-air-quality.schemas.js","sourceRoot":"","sources":["../../../src/data/connectors/open-meteo-air-quality.schemas.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAC9C,MAAM,kBAAkB,GAAG,0CAA0C,CAAC;AAEtE,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,uBAAuB;IACvB,cAAc;IACd,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,MAAM;IACN,cAAc;IACd,+BAA+B;IAC/B,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,8BAA8B;IAC9B,cAAc;IACd,SAAS;IACT,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,OAAO;IACP,MAAM;IACN,OAAO;IACP,gBAAgB;IAChB,iBAAiB;IACjB,QAAQ;IACR,wBAAwB;IACxB,yBAAyB;IACzB,cAAc;IACd,aAAa;IACb,cAAc;IACd,wBAAwB;IACxB,UAAU;IACV,oBAAoB;CACZ,CAAC;AAEX,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;IACnC,WAAW,EACT,qFAAqF;IACvF,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACjD,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,GAAG;YACb,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB;KACF;CACO,CAAC;AAEX,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,IAAI;IACjB,WAAW,EACT,gIAAgI;IAClI,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE;QACL,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,iEAAiE;QAC9E,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,OAAO,EAAE,8CAA8C;IACvD,GAAG,EAAE,uEAAuE;IAC5E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,CAAC;IAClE,UAAU,EAAE;QACV,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,EAAE;YACZ,WAAW,EACT,0GAA0G;YAC5G,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACnD,KAAK,EAAE,eAAe;SACvB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;YACrB,WAAW,EACT,gHAAgH;YAClH,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,8EAA8E;YAC3F,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;QACD,eAAe,EAAE,gBAAgB;QACjC,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC;YAC5C,WAAW,EACT,uIAAuI;YACzI,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,aAAa,EAAE;YACb,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;YAChC,WAAW,EACT,kIAAkI;YACpI,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;CAC4B,CAAC;AAEhC,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAW,CAAC;AAE9D,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,OAAO,EAAE,8CAA8C;IACvD,GAAG,EAAE,wEAAwE;IAC7E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC;IACxE,UAAU,EAAE;QACV,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;YACtE,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;gBACnC,OAAO,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBACrC,QAAQ,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBACtC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;gBACxB,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;aAC3B;SACF;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE;gBACR,WAAW;gBACX,WAAW;gBACX,SAAS;gBACT,iBAAiB;gBACjB,QAAQ;gBACR,eAAe;gBACf,UAAU;aACX;YACD,UAAU,EAAE;gBACV,SAAS,EAAE,mCAAmC,CAAC,UAAU,CAAC,SAAS;gBACnE,SAAS,EAAE,mCAAmC,CAAC,UAAU,CAAC,SAAS;gBACnE,OAAO,EAAE,mCAAmC,CAAC,UAAU,CAAC,OAAO;gBAC/D,eAAe,EAAE,gBAAgB;gBACjC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE;gBACxD,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;gBACnD,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;aAC3B;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;YAClC,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;gBAC3C,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;wBAC7B,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;4BACtC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;yBAC1C;qBACF;iBACF;aACF;SACF;QACD,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE;oBACR,wBAAwB;oBACxB,mBAAmB;oBACnB,cAAc;oBACd,WAAW;oBACX,UAAU;oBACV,sBAAsB;oBACtB,kBAAkB;oBAClB,UAAU;oBACV,WAAW;iBACZ;gBACD,UAAU,EAAE;oBACV,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;oBACnE,iBAAiB,EAAE,eAAe;oBAClC,YAAY,EAAE,eAAe;oBAC7B,SAAS,EAAE,eAAe;oBAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;oBAC1C,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;oBACtD,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE;qBACvD;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,EAAE;wBACZ,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,oBAAoB,EAAE,KAAK;4BAC3B,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;4BACxC,UAAU,EAAE;gCACV,QAAQ,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE;gCACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gCACtC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;6BAClD;yBACF;qBACF;iBACF;aACF;SACF;QACD,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE;KAC9D;CAC4B,CAAC"}
|