@tiangong-ai/cli 0.0.51 → 0.0.56

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 (216) hide show
  1. package/AGENTS.md +22 -2
  2. package/README.md +171 -7
  3. package/dist/cli.js +10 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/data/builtins.d.ts +1 -0
  6. package/dist/data/builtins.js +40 -0
  7. package/dist/data/builtins.js.map +1 -0
  8. package/dist/data/catalog.d.ts +25 -0
  9. package/dist/data/catalog.js +305 -0
  10. package/dist/data/catalog.js.map +1 -0
  11. package/dist/data/commands.d.ts +9 -0
  12. package/dist/data/commands.js +307 -0
  13. package/dist/data/commands.js.map +1 -0
  14. package/dist/data/connectors/airnow-hourly-observations.d.ts +2 -0
  15. package/dist/data/connectors/airnow-hourly-observations.js +522 -0
  16. package/dist/data/connectors/airnow-hourly-observations.js.map +1 -0
  17. package/dist/data/connectors/airnow-hourly-observations.schemas.d.ts +299 -0
  18. package/dist/data/connectors/airnow-hourly-observations.schemas.js +188 -0
  19. package/dist/data/connectors/airnow-hourly-observations.schemas.js.map +1 -0
  20. package/dist/data/connectors/bluesky-public-posts.d.ts +2 -0
  21. package/dist/data/connectors/bluesky-public-posts.js +705 -0
  22. package/dist/data/connectors/bluesky-public-posts.js.map +1 -0
  23. package/dist/data/connectors/bluesky-public-posts.schemas.d.ts +733 -0
  24. package/dist/data/connectors/bluesky-public-posts.schemas.js +422 -0
  25. package/dist/data/connectors/bluesky-public-posts.schemas.js.map +1 -0
  26. package/dist/data/connectors/epa-eis-records.d.ts +2 -0
  27. package/dist/data/connectors/epa-eis-records.js +566 -0
  28. package/dist/data/connectors/epa-eis-records.js.map +1 -0
  29. package/dist/data/connectors/epa-eis-records.schemas.d.ts +199 -0
  30. package/dist/data/connectors/epa-eis-records.schemas.js +146 -0
  31. package/dist/data/connectors/epa-eis-records.schemas.js.map +1 -0
  32. package/dist/data/connectors/federal-register-documents.d.ts +2 -0
  33. package/dist/data/connectors/federal-register-documents.js +517 -0
  34. package/dist/data/connectors/federal-register-documents.js.map +1 -0
  35. package/dist/data/connectors/federal-register-documents.schemas.d.ts +357 -0
  36. package/dist/data/connectors/federal-register-documents.schemas.js +243 -0
  37. package/dist/data/connectors/federal-register-documents.schemas.js.map +1 -0
  38. package/dist/data/connectors/gdelt-doc-search.d.ts +2 -0
  39. package/dist/data/connectors/gdelt-doc-search.js +658 -0
  40. package/dist/data/connectors/gdelt-doc-search.js.map +1 -0
  41. package/dist/data/connectors/gdelt-doc-search.schemas.d.ts +446 -0
  42. package/dist/data/connectors/gdelt-doc-search.schemas.js +330 -0
  43. package/dist/data/connectors/gdelt-doc-search.schemas.js.map +1 -0
  44. package/dist/data/connectors/gdelt-file-feeds.d.ts +4 -0
  45. package/dist/data/connectors/gdelt-file-feeds.js +591 -0
  46. package/dist/data/connectors/gdelt-file-feeds.js.map +1 -0
  47. package/dist/data/connectors/gdelt-file-feeds.schemas.d.ts +40 -0
  48. package/dist/data/connectors/gdelt-file-feeds.schemas.js +256 -0
  49. package/dist/data/connectors/gdelt-file-feeds.schemas.js.map +1 -0
  50. package/dist/data/connectors/nasa-firms-fire.d.ts +2 -0
  51. package/dist/data/connectors/nasa-firms-fire.js +578 -0
  52. package/dist/data/connectors/nasa-firms-fire.js.map +1 -0
  53. package/dist/data/connectors/nasa-firms-fire.schemas.d.ts +369 -0
  54. package/dist/data/connectors/nasa-firms-fire.schemas.js +238 -0
  55. package/dist/data/connectors/nasa-firms-fire.schemas.js.map +1 -0
  56. package/dist/data/connectors/open-meteo-air-quality.d.ts +2 -0
  57. package/dist/data/connectors/open-meteo-air-quality.js +401 -0
  58. package/dist/data/connectors/open-meteo-air-quality.js.map +1 -0
  59. package/dist/data/connectors/open-meteo-air-quality.schemas.d.ts +335 -0
  60. package/dist/data/connectors/open-meteo-air-quality.schemas.js +225 -0
  61. package/dist/data/connectors/open-meteo-air-quality.schemas.js.map +1 -0
  62. package/dist/data/connectors/open-meteo-flood.d.ts +2 -0
  63. package/dist/data/connectors/open-meteo-flood.js +446 -0
  64. package/dist/data/connectors/open-meteo-flood.js.map +1 -0
  65. package/dist/data/connectors/open-meteo-flood.schemas.d.ts +388 -0
  66. package/dist/data/connectors/open-meteo-flood.schemas.js +227 -0
  67. package/dist/data/connectors/open-meteo-flood.schemas.js.map +1 -0
  68. package/dist/data/connectors/open-meteo-historical-weather.d.ts +2 -0
  69. package/dist/data/connectors/open-meteo-historical-weather.js +468 -0
  70. package/dist/data/connectors/open-meteo-historical-weather.js.map +1 -0
  71. package/dist/data/connectors/open-meteo-historical-weather.schemas.d.ts +420 -0
  72. package/dist/data/connectors/open-meteo-historical-weather.schemas.js +282 -0
  73. package/dist/data/connectors/open-meteo-historical-weather.schemas.js.map +1 -0
  74. package/dist/data/connectors/openaq-air-quality.d.ts +2 -0
  75. package/dist/data/connectors/openaq-air-quality.js +734 -0
  76. package/dist/data/connectors/openaq-air-quality.js.map +1 -0
  77. package/dist/data/connectors/openaq-air-quality.schemas.d.ts +1067 -0
  78. package/dist/data/connectors/openaq-air-quality.schemas.js +512 -0
  79. package/dist/data/connectors/openaq-air-quality.schemas.js.map +1 -0
  80. package/dist/data/connectors/regulations-gov-attachments.d.ts +2 -0
  81. package/dist/data/connectors/regulations-gov-attachments.js +486 -0
  82. package/dist/data/connectors/regulations-gov-attachments.js.map +1 -0
  83. package/dist/data/connectors/regulations-gov-attachments.schemas.d.ts +270 -0
  84. package/dist/data/connectors/regulations-gov-attachments.schemas.js +181 -0
  85. package/dist/data/connectors/regulations-gov-attachments.schemas.js.map +1 -0
  86. package/dist/data/connectors/regulations-gov-comments.d.ts +2 -0
  87. package/dist/data/connectors/regulations-gov-comments.js +718 -0
  88. package/dist/data/connectors/regulations-gov-comments.js.map +1 -0
  89. package/dist/data/connectors/regulations-gov-comments.schemas.d.ts +717 -0
  90. package/dist/data/connectors/regulations-gov-comments.schemas.js +389 -0
  91. package/dist/data/connectors/regulations-gov-comments.schemas.js.map +1 -0
  92. package/dist/data/connectors/usbr-project-records.d.ts +2 -0
  93. package/dist/data/connectors/usbr-project-records.js +467 -0
  94. package/dist/data/connectors/usbr-project-records.js.map +1 -0
  95. package/dist/data/connectors/usbr-project-records.schemas.d.ts +194 -0
  96. package/dist/data/connectors/usbr-project-records.schemas.js +137 -0
  97. package/dist/data/connectors/usbr-project-records.schemas.js.map +1 -0
  98. package/dist/data/connectors/usbr-rise.d.ts +2 -0
  99. package/dist/data/connectors/usbr-rise.js +625 -0
  100. package/dist/data/connectors/usbr-rise.js.map +1 -0
  101. package/dist/data/connectors/usbr-rise.schemas.d.ts +623 -0
  102. package/dist/data/connectors/usbr-rise.schemas.js +407 -0
  103. package/dist/data/connectors/usbr-rise.schemas.js.map +1 -0
  104. package/dist/data/connectors/usgs-water-instantaneous-values.d.ts +2 -0
  105. package/dist/data/connectors/usgs-water-instantaneous-values.js +521 -0
  106. package/dist/data/connectors/usgs-water-instantaneous-values.js.map +1 -0
  107. package/dist/data/connectors/usgs-water-instantaneous-values.schemas.d.ts +496 -0
  108. package/dist/data/connectors/usgs-water-instantaneous-values.schemas.js +309 -0
  109. package/dist/data/connectors/usgs-water-instantaneous-values.schemas.js.map +1 -0
  110. package/dist/data/connectors/youtube-public-content.d.ts +2 -0
  111. package/dist/data/connectors/youtube-public-content.js +974 -0
  112. package/dist/data/connectors/youtube-public-content.js.map +1 -0
  113. package/dist/data/connectors/youtube-public-content.schemas.d.ts +773 -0
  114. package/dist/data/connectors/youtube-public-content.schemas.js +567 -0
  115. package/dist/data/connectors/youtube-public-content.schemas.js.map +1 -0
  116. package/dist/data/contracts.d.ts +374 -0
  117. package/dist/data/contracts.js +10 -0
  118. package/dist/data/contracts.js.map +1 -0
  119. package/dist/data/runtime/artifacts.d.ts +6 -0
  120. package/dist/data/runtime/artifacts.js +103 -0
  121. package/dist/data/runtime/artifacts.js.map +1 -0
  122. package/dist/data/runtime/bounded-http.d.ts +10 -0
  123. package/dist/data/runtime/bounded-http.js +403 -0
  124. package/dist/data/runtime/bounded-http.js.map +1 -0
  125. package/dist/data/runtime/canonical-json.d.ts +3 -0
  126. package/dist/data/runtime/canonical-json.js +59 -0
  127. package/dist/data/runtime/canonical-json.js.map +1 -0
  128. package/dist/data/runtime/credentials.d.ts +14 -0
  129. package/dist/data/runtime/credentials.js +67 -0
  130. package/dist/data/runtime/credentials.js.map +1 -0
  131. package/dist/data/runtime/csv.d.ts +4 -0
  132. package/dist/data/runtime/csv.js +51 -0
  133. package/dist/data/runtime/csv.js.map +1 -0
  134. package/dist/data/runtime/errors.d.ts +22 -0
  135. package/dist/data/runtime/errors.js +101 -0
  136. package/dist/data/runtime/errors.js.map +1 -0
  137. package/dist/data/runtime/execute.d.ts +11 -0
  138. package/dist/data/runtime/execute.js +358 -0
  139. package/dist/data/runtime/execute.js.map +1 -0
  140. package/dist/data/runtime/receipts.d.ts +13 -0
  141. package/dist/data/runtime/receipts.js +38 -0
  142. package/dist/data/runtime/receipts.js.map +1 -0
  143. package/dist/data/schemas/catalog.v1.json +73 -0
  144. package/dist/data/schemas/core-receipt.v1.json +117 -0
  145. package/dist/data/schemas/describe.v1.json +24 -0
  146. package/dist/data/schemas/discovery.v1.json +130 -0
  147. package/dist/data/schemas/doctor.v1.json +40 -0
  148. package/dist/data/schemas/error.v1.json +48 -0
  149. package/dist/data/schemas/manifest.v1.json +174 -0
  150. package/dist/data/schemas/run-request.v1.json +37 -0
  151. package/dist/data/schemas/run-result.v1.json +77 -0
  152. package/dist/data/schemas.d.ts +27 -0
  153. package/dist/data/schemas.js +69 -0
  154. package/dist/data/schemas.js.map +1 -0
  155. package/dist/env.js.map +1 -1
  156. package/dist/errors.js.map +1 -1
  157. package/dist/http.js.map +1 -1
  158. package/dist/kb/config.js.map +1 -1
  159. package/dist/kb/pipeline-health.js.map +1 -1
  160. package/dist/research/orchestration.js +54 -7
  161. package/dist/research/orchestration.js.map +1 -1
  162. package/dist/research/workspace/acquisition.js.map +1 -1
  163. package/dist/research/workspace/audit-bundle.js +7 -2
  164. package/dist/research/workspace/audit-bundle.js.map +1 -1
  165. package/dist/research/workspace/broker.js.map +1 -1
  166. package/dist/research/workspace/constants.js.map +1 -1
  167. package/dist/research/workspace/credentials.d.ts +3 -0
  168. package/dist/research/workspace/credentials.js +20 -3
  169. package/dist/research/workspace/credentials.js.map +1 -1
  170. package/dist/research/workspace/data-evidence-adapter.d.ts +60 -0
  171. package/dist/research/workspace/data-evidence-adapter.js +314 -0
  172. package/dist/research/workspace/data-evidence-adapter.js.map +1 -0
  173. package/dist/research/workspace/discovery-status.js +10 -7
  174. package/dist/research/workspace/discovery-status.js.map +1 -1
  175. package/dist/research/workspace/discovery.js +12 -11
  176. package/dist/research/workspace/discovery.js.map +1 -1
  177. package/dist/research/workspace/evidence-ledger.d.ts +8 -1
  178. package/dist/research/workspace/evidence-ledger.js +46 -2
  179. package/dist/research/workspace/evidence-ledger.js.map +1 -1
  180. package/dist/research/workspace/evidence.d.ts +31 -0
  181. package/dist/research/workspace/evidence.js +77 -0
  182. package/dist/research/workspace/evidence.js.map +1 -1
  183. package/dist/research/workspace/executor.js.map +1 -1
  184. package/dist/research/workspace/external-skills.d.ts +49 -49
  185. package/dist/research/workspace/external-skills.js.map +1 -1
  186. package/dist/research/workspace/platform-capabilities.js.map +1 -1
  187. package/dist/research/workspace/preflight.d.ts +4 -4
  188. package/dist/research/workspace/preflight.js +33 -8
  189. package/dist/research/workspace/preflight.js.map +1 -1
  190. package/dist/research/workspace/projects.js.map +1 -1
  191. package/dist/research/workspace/publication.js.map +1 -1
  192. package/dist/research/workspace/research-policy-wizard.js.map +1 -1
  193. package/dist/research/workspace/research-policy.js.map +1 -1
  194. package/dist/research/workspace/runtime.d.ts +7 -0
  195. package/dist/research/workspace/runtime.js +77 -20
  196. package/dist/research/workspace/runtime.js.map +1 -1
  197. package/dist/research/workspace/sanitization.js.map +1 -1
  198. package/dist/research/workspace/schemas.js +1 -1
  199. package/dist/research/workspace/schemas.js.map +1 -1
  200. package/dist/research/workspace/scientific-design.js.map +1 -1
  201. package/dist/research/workspace/scientific-review.js.map +1 -1
  202. package/dist/research/workspace/setup-catalog.d.ts +9 -9
  203. package/dist/research/workspace/setup-catalog.js +2 -2
  204. package/dist/research/workspace/setup-catalog.js.map +1 -1
  205. package/dist/research/workspace/setup-declarative.js.map +1 -1
  206. package/dist/research/workspace/setup-instructions.d.ts +42 -0
  207. package/dist/research/workspace/setup-instructions.js +413 -0
  208. package/dist/research/workspace/setup-instructions.js.map +1 -0
  209. package/dist/research/workspace/setup-invocation.js.map +1 -1
  210. package/dist/research/workspace/setup-wizard.js +7 -0
  211. package/dist/research/workspace/setup-wizard.js.map +1 -1
  212. package/dist/research/workspace/setup.d.ts +18 -15
  213. package/dist/research/workspace/setup.js +71 -3
  214. package/dist/research/workspace/setup.js.map +1 -1
  215. package/dist/research/workspace/workspace.js.map +1 -1
  216. package/package.json +3 -3
@@ -0,0 +1,309 @@
1
+ const RFC3339_PATTERN = "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$";
2
+ const UTC_SECOND_PATTERN = "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$";
3
+ const PERIOD_PATTERN = "^P(?=.*\\d)(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?=\\d)(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$";
4
+ const BOUNDING_BOX_SCHEMA = {
5
+ type: "object",
6
+ additionalProperties: false,
7
+ required: ["minLongitude", "minLatitude", "maxLongitude", "maxLatitude"],
8
+ description: "USGS bBox major filter in WGS84-style decimal degrees. The coordinate-span product must not exceed 25 square degrees.",
9
+ examples: [
10
+ {
11
+ minLongitude: -77.3,
12
+ minLatitude: 38.8,
13
+ maxLongitude: -77,
14
+ maxLatitude: 39.1,
15
+ },
16
+ ],
17
+ properties: {
18
+ minLongitude: {
19
+ type: "number",
20
+ minimum: -180,
21
+ maximum: 180,
22
+ description: "Western longitude boundary in decimal degrees.",
23
+ examples: [-77.3],
24
+ },
25
+ minLatitude: {
26
+ type: "number",
27
+ minimum: -90,
28
+ maximum: 90,
29
+ description: "Southern latitude boundary in decimal degrees.",
30
+ examples: [38.8],
31
+ },
32
+ maxLongitude: {
33
+ type: "number",
34
+ minimum: -180,
35
+ maximum: 180,
36
+ description: "Eastern longitude boundary in decimal degrees.",
37
+ examples: [-77],
38
+ },
39
+ maxLatitude: {
40
+ type: "number",
41
+ minimum: -90,
42
+ maximum: 90,
43
+ description: "Northern latitude boundary in decimal degrees.",
44
+ examples: [39.1],
45
+ },
46
+ },
47
+ };
48
+ const PARAMETER_CODES_SCHEMA = {
49
+ type: "array",
50
+ minItems: 1,
51
+ maxItems: 8,
52
+ uniqueItems: true,
53
+ description: "Five-digit USGS parameter codes to retrieve. Defaults to discharge 00060 and gage height 00065.",
54
+ examples: [["00060", "00065"]],
55
+ items: {
56
+ type: "string",
57
+ pattern: "^\\d{5}$",
58
+ description: "One five-digit USGS time-series parameter code.",
59
+ examples: ["00060"],
60
+ },
61
+ };
62
+ export const USGS_WATER_IV_INPUT_SCHEMA = {
63
+ $schema: "https://json-schema.org/draft/2020-12/schema",
64
+ $id: "https://schemas.tiangong.ai/data/usgs/water-instantaneous-values-input.v1.json",
65
+ type: "object",
66
+ additionalProperties: false,
67
+ properties: {
68
+ boundingBox: BOUNDING_BOX_SCHEMA,
69
+ siteNumbers: {
70
+ type: "array",
71
+ minItems: 1,
72
+ maxItems: 100,
73
+ uniqueItems: true,
74
+ description: "Explicit numeric USGS site identifiers. Use instead of boundingBox; at most 100 are accepted by WaterServices.",
75
+ examples: [["01646500", "01646000"]],
76
+ items: {
77
+ type: "string",
78
+ pattern: "^\\d+$",
79
+ description: "One numeric USGS site identifier, preserving any leading zeroes.",
80
+ examples: ["01646500"],
81
+ },
82
+ },
83
+ period: {
84
+ type: "string",
85
+ minLength: 2,
86
+ maxLength: 64,
87
+ pattern: PERIOD_PATTERN,
88
+ description: "Positive ISO-8601 duration ending at the provider's most recent value. Week notation cannot be mixed with other duration components. Use instead of an explicit start/end window.",
89
+ examples: ["P1D", "PT2H"],
90
+ },
91
+ startDateTimeUtc: {
92
+ type: "string",
93
+ pattern: RFC3339_PATTERN,
94
+ description: "Inclusive explicit start instant with timezone. It must be paired with endDateTimeUtc and must not follow it.",
95
+ examples: ["2026-03-21T00:00:00Z"],
96
+ },
97
+ endDateTimeUtc: {
98
+ type: "string",
99
+ pattern: RFC3339_PATTERN,
100
+ description: "Inclusive explicit end instant with timezone. It must be paired with startDateTimeUtc.",
101
+ examples: ["2026-03-22T23:59:59Z"],
102
+ },
103
+ parameterCodes: PARAMETER_CODES_SCHEMA,
104
+ siteType: {
105
+ type: "string",
106
+ minLength: 1,
107
+ maxLength: 128,
108
+ pattern: "^[A-Za-z0-9-]+(?:,[A-Za-z0-9-]+)*$",
109
+ description: "Comma-separated USGS site-type filter. Defaults to ST, which selects streams and its subtypes.",
110
+ examples: ["ST", "ST,LA-OU"],
111
+ },
112
+ siteStatus: {
113
+ enum: ["all", "active", "inactive"],
114
+ description: "USGS activity-status filter. Defaults to active to preserve this Skill's bounded monitoring behavior.",
115
+ examples: ["active"],
116
+ },
117
+ agencyCode: {
118
+ type: "string",
119
+ minLength: 1,
120
+ maxLength: 32,
121
+ pattern: "^[A-Za-z0-9-]+$",
122
+ description: "Optional organization code used by USGS to filter site maintainers.",
123
+ examples: ["USGS"],
124
+ },
125
+ },
126
+ allOf: [
127
+ {
128
+ oneOf: [
129
+ {
130
+ required: ["boundingBox"],
131
+ properties: { boundingBox: {}, siteNumbers: false },
132
+ },
133
+ {
134
+ required: ["siteNumbers"],
135
+ properties: { boundingBox: false, siteNumbers: {} },
136
+ },
137
+ ],
138
+ },
139
+ {
140
+ oneOf: [
141
+ {
142
+ required: ["period"],
143
+ properties: { period: {}, startDateTimeUtc: false, endDateTimeUtc: false },
144
+ },
145
+ {
146
+ required: ["startDateTimeUtc", "endDateTimeUtc"],
147
+ properties: { period: false, startDateTimeUtc: {}, endDateTimeUtc: {} },
148
+ },
149
+ ],
150
+ },
151
+ ],
152
+ };
153
+ const NULLABLE_TEXT = { type: ["string", "null"] };
154
+ const NULLABLE_COORDINATE = { type: ["number", "null"] };
155
+ const SERIES_IDENTITY_PROPERTIES = {
156
+ siteNumber: { type: "string", minLength: 1 },
157
+ siteName: { type: "string" },
158
+ agencyCode: NULLABLE_TEXT,
159
+ siteType: NULLABLE_TEXT,
160
+ stateCode: NULLABLE_TEXT,
161
+ countyCode: NULLABLE_TEXT,
162
+ hucCode: NULLABLE_TEXT,
163
+ latitude: { ...NULLABLE_COORDINATE, minimum: -90, maximum: 90 },
164
+ longitude: { ...NULLABLE_COORDINATE, minimum: -180, maximum: 180 },
165
+ parameterCode: { type: "string", pattern: "^\\d{5}$" },
166
+ variableName: { type: "string" },
167
+ variableDescription: { type: "string" },
168
+ statisticCode: NULLABLE_TEXT,
169
+ unit: NULLABLE_TEXT,
170
+ };
171
+ const SERIES_IDENTITY_REQUIRED = [
172
+ "siteNumber",
173
+ "siteName",
174
+ "agencyCode",
175
+ "siteType",
176
+ "stateCode",
177
+ "countyCode",
178
+ "hucCode",
179
+ "latitude",
180
+ "longitude",
181
+ "parameterCode",
182
+ "variableName",
183
+ "variableDescription",
184
+ "statisticCode",
185
+ "unit",
186
+ ];
187
+ const RECORD_SCHEMA = {
188
+ type: "object",
189
+ additionalProperties: false,
190
+ required: [...SERIES_IDENTITY_REQUIRED, "observedAtUtc", "value", "qualifiers", "provisional"],
191
+ properties: {
192
+ ...SERIES_IDENTITY_PROPERTIES,
193
+ observedAtUtc: { type: "string", pattern: UTC_SECOND_PATTERN },
194
+ value: { type: "number" },
195
+ qualifiers: { type: "array", items: { type: "string", minLength: 1 } },
196
+ provisional: { type: "boolean" },
197
+ },
198
+ };
199
+ export const USGS_WATER_IV_OUTPUT_SCHEMA = {
200
+ $schema: "https://json-schema.org/draft/2020-12/schema",
201
+ $id: "https://schemas.tiangong.ai/data/usgs/water-instantaneous-values-output.v1.json",
202
+ type: "object",
203
+ additionalProperties: false,
204
+ required: ["source", "request", "validation", "series", "records", "stopReason"],
205
+ properties: {
206
+ source: {
207
+ type: "object",
208
+ additionalProperties: false,
209
+ required: [
210
+ "providerId",
211
+ "service",
212
+ "endpoint",
213
+ "provisionalPossible",
214
+ "legacyService",
215
+ "decommissionExpected",
216
+ "officialReplacement",
217
+ ],
218
+ properties: {
219
+ providerId: { const: "usgs" },
220
+ service: { const: "WaterServices Instantaneous Values" },
221
+ endpoint: { const: "/nwis/iv/" },
222
+ provisionalPossible: { const: true },
223
+ legacyService: { const: true },
224
+ decommissionExpected: { const: "2027-Q1" },
225
+ officialReplacement: { const: "https://api.waterdata.usgs.gov/ogcapi/" },
226
+ },
227
+ },
228
+ request: {
229
+ type: "object",
230
+ additionalProperties: false,
231
+ required: ["selection", "time", "parameterCodes", "siteType", "siteStatus", "agencyCode"],
232
+ properties: {
233
+ selection: {
234
+ type: "object",
235
+ additionalProperties: false,
236
+ required: ["kind", "boundingBox", "siteNumbers"],
237
+ properties: {
238
+ kind: { enum: ["bounding-box", "sites"] },
239
+ boundingBox: { anyOf: [BOUNDING_BOX_SCHEMA, { type: "null" }] },
240
+ siteNumbers: {
241
+ anyOf: [USGS_WATER_IV_INPUT_SCHEMA.properties.siteNumbers, { type: "null" }],
242
+ },
243
+ },
244
+ },
245
+ time: {
246
+ type: "object",
247
+ additionalProperties: false,
248
+ required: ["kind", "period", "startDateTimeUtc", "endDateTimeUtc"],
249
+ properties: {
250
+ kind: { enum: ["period", "window"] },
251
+ period: { type: ["string", "null"] },
252
+ startDateTimeUtc: { type: ["string", "null"], pattern: UTC_SECOND_PATTERN },
253
+ endDateTimeUtc: { type: ["string", "null"], pattern: UTC_SECOND_PATTERN },
254
+ },
255
+ },
256
+ parameterCodes: PARAMETER_CODES_SCHEMA,
257
+ siteType: { type: "string", minLength: 1 },
258
+ siteStatus: { enum: ["all", "active", "inactive"] },
259
+ agencyCode: NULLABLE_TEXT,
260
+ },
261
+ },
262
+ validation: {
263
+ type: "object",
264
+ additionalProperties: false,
265
+ required: ["issueCount", "issues"],
266
+ properties: {
267
+ issueCount: { type: "integer", minimum: 0 },
268
+ issues: {
269
+ type: "array",
270
+ maxItems: 50,
271
+ items: {
272
+ type: "object",
273
+ additionalProperties: false,
274
+ required: ["path", "message"],
275
+ properties: {
276
+ path: { type: "string", minLength: 1 },
277
+ message: { type: "string", minLength: 1 },
278
+ },
279
+ },
280
+ },
281
+ },
282
+ },
283
+ series: {
284
+ type: "array",
285
+ maxItems: 500,
286
+ items: {
287
+ type: "object",
288
+ additionalProperties: false,
289
+ required: [
290
+ ...SERIES_IDENTITY_REQUIRED,
291
+ "recordCount",
292
+ "provisionalRecordCount",
293
+ "firstObservedAtUtc",
294
+ "lastObservedAtUtc",
295
+ ],
296
+ properties: {
297
+ ...SERIES_IDENTITY_PROPERTIES,
298
+ recordCount: { type: "integer", minimum: 0 },
299
+ provisionalRecordCount: { type: "integer", minimum: 0 },
300
+ firstObservedAtUtc: { type: ["string", "null"], pattern: UTC_SECOND_PATTERN },
301
+ lastObservedAtUtc: { type: ["string", "null"], pattern: UTC_SECOND_PATTERN },
302
+ },
303
+ },
304
+ },
305
+ records: { type: "array", items: RECORD_SCHEMA },
306
+ stopReason: { enum: ["completed", "max-records", "partial"] },
307
+ },
308
+ };
309
+ //# sourceMappingURL=usgs-water-instantaneous-values.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usgs-water-instantaneous-values.schemas.js","sourceRoot":"","sources":["../../../src/data/connectors/usgs-water-instantaneous-values.schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { DataConnectorDefinition } from "../contracts.js";
2
+ export declare const youtubePublicContentConnector: DataConnectorDefinition;