@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,270 @@
1
+ export declare const REGULATIONS_GOV_ATTACHMENTS_INPUT_SCHEMA: {
2
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
3
+ readonly $id: "https://schemas.tiangong.ai/data/regulations-gov/attachment-download-input.v1.json";
4
+ readonly type: "object";
5
+ readonly additionalProperties: false;
6
+ readonly required: readonly ["commentIds", "maxFiles", "maxTotalBytes"];
7
+ readonly properties: {
8
+ readonly commentIds: {
9
+ readonly type: "array";
10
+ readonly minItems: 1;
11
+ readonly maxItems: 20;
12
+ readonly uniqueItems: true;
13
+ readonly items: {
14
+ readonly type: "string";
15
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
16
+ };
17
+ readonly description: "One to 20 exact Regulations.gov public comment IDs whose attachment metadata and files should be retrieved in caller order.";
18
+ readonly examples: readonly [readonly ["EPA-HQ-OAR-2026-0001-0002"]];
19
+ };
20
+ readonly attachmentIds: {
21
+ readonly type: "array";
22
+ readonly minItems: 1;
23
+ readonly maxItems: 20;
24
+ readonly uniqueItems: true;
25
+ readonly items: {
26
+ readonly type: "string";
27
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
28
+ };
29
+ readonly description: "Optional exact attachment-ID allowlist applied across the selected comments; omitted means all returned attachments are eligible.";
30
+ readonly examples: readonly [readonly ["EPA-HQ-OAR-2026-0001-0002-ATTACHMENT-1"]];
31
+ };
32
+ readonly maxFiles: {
33
+ readonly type: "integer";
34
+ readonly minimum: 1;
35
+ readonly maximum: 20;
36
+ readonly description: "Maximum number of attachment file formats to download after metadata filtering, in provider relationship and format order.";
37
+ readonly examples: readonly [10];
38
+ };
39
+ readonly maxTotalBytes: {
40
+ readonly type: "integer";
41
+ readonly minimum: 1;
42
+ readonly maximum: 500000000;
43
+ readonly description: "Maximum cumulative bytes committed for downloaded attachment files, excluding the generated manifest.";
44
+ readonly examples: readonly [10000000];
45
+ };
46
+ };
47
+ };
48
+ export declare const REGULATIONS_GOV_ATTACHMENTS_OUTPUT_SCHEMA: {
49
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
50
+ readonly $id: "https://schemas.tiangong.ai/data/regulations-gov/attachment-download-output.v1.json";
51
+ readonly type: "object";
52
+ readonly additionalProperties: false;
53
+ readonly required: readonly ["source", "query", "comments", "attachments", "files", "manifest", "stopReason"];
54
+ readonly properties: {
55
+ readonly source: {
56
+ readonly type: "object";
57
+ readonly additionalProperties: false;
58
+ readonly required: readonly ["providerId", "service", "apiVersion", "downloadsOrigin", "interpretationBoundary"];
59
+ readonly properties: {
60
+ readonly providerId: {
61
+ readonly const: "regulations-gov";
62
+ };
63
+ readonly service: {
64
+ readonly const: "Regulations.gov API";
65
+ };
66
+ readonly apiVersion: {
67
+ readonly const: "v4";
68
+ };
69
+ readonly downloadsOrigin: {
70
+ readonly const: "https://downloads.regulations.gov";
71
+ };
72
+ readonly interpretationBoundary: {
73
+ readonly type: "string";
74
+ readonly minLength: 1;
75
+ };
76
+ };
77
+ };
78
+ readonly query: {
79
+ readonly type: "object";
80
+ readonly additionalProperties: false;
81
+ readonly required: readonly ["commentIds", "attachmentIds", "maxFiles", "maxTotalBytes"];
82
+ readonly properties: {
83
+ readonly commentIds: {
84
+ readonly type: "array";
85
+ readonly items: {
86
+ readonly type: "string";
87
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
88
+ };
89
+ };
90
+ readonly attachmentIds: {
91
+ readonly anyOf: readonly [{
92
+ readonly type: "array";
93
+ readonly items: {
94
+ readonly type: "string";
95
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
96
+ };
97
+ }, {
98
+ readonly type: "null";
99
+ }];
100
+ };
101
+ readonly maxFiles: {
102
+ readonly type: "integer";
103
+ readonly minimum: 1;
104
+ readonly maximum: 20;
105
+ };
106
+ readonly maxTotalBytes: {
107
+ readonly type: "integer";
108
+ readonly minimum: 1;
109
+ readonly maximum: 500000000;
110
+ };
111
+ };
112
+ };
113
+ readonly comments: {
114
+ readonly type: "array";
115
+ readonly items: {
116
+ readonly type: "object";
117
+ readonly additionalProperties: false;
118
+ readonly required: readonly ["commentId", "attachmentIds"];
119
+ readonly properties: {
120
+ readonly commentId: {
121
+ readonly type: "string";
122
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
123
+ };
124
+ readonly attachmentIds: {
125
+ readonly type: "array";
126
+ readonly items: {
127
+ readonly type: "string";
128
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
129
+ };
130
+ };
131
+ };
132
+ };
133
+ };
134
+ readonly attachments: {
135
+ readonly type: "array";
136
+ readonly items: {
137
+ readonly type: "object";
138
+ readonly additionalProperties: false;
139
+ readonly required: readonly ["commentId", "attachmentId", "title", "abstract", "order", "modifiedDateTime", "restrictionType", "restrictionReason", "fileFormats"];
140
+ readonly properties: {
141
+ readonly commentId: {
142
+ readonly type: "string";
143
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
144
+ };
145
+ readonly attachmentId: {
146
+ readonly type: "string";
147
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
148
+ };
149
+ readonly title: {
150
+ readonly type: readonly ["string", "null"];
151
+ };
152
+ readonly abstract: {
153
+ readonly type: readonly ["string", "null"];
154
+ };
155
+ readonly order: {
156
+ readonly type: readonly ["integer", "null"];
157
+ readonly minimum: 0;
158
+ };
159
+ readonly modifiedDateTime: {
160
+ readonly type: readonly ["string", "null"];
161
+ };
162
+ readonly restrictionType: {
163
+ readonly type: readonly ["string", "null"];
164
+ };
165
+ readonly restrictionReason: {
166
+ readonly type: readonly ["string", "null"];
167
+ };
168
+ readonly fileFormats: {
169
+ readonly type: "array";
170
+ readonly items: {
171
+ readonly type: "object";
172
+ readonly additionalProperties: false;
173
+ readonly required: readonly ["url", "format", "sizeBytes"];
174
+ readonly properties: {
175
+ readonly url: {
176
+ readonly type: "string";
177
+ readonly minLength: 1;
178
+ };
179
+ readonly format: {
180
+ readonly type: "string";
181
+ readonly minLength: 1;
182
+ };
183
+ readonly sizeBytes: {
184
+ readonly type: "integer";
185
+ readonly minimum: 0;
186
+ };
187
+ };
188
+ };
189
+ };
190
+ };
191
+ };
192
+ };
193
+ readonly files: {
194
+ readonly type: "array";
195
+ readonly maxItems: 20;
196
+ readonly items: {
197
+ readonly type: "object";
198
+ readonly additionalProperties: false;
199
+ readonly required: readonly ["commentId", "attachmentId", "formatIndex", "format", "sourceUrl", "contentType", "providerSizeBytes", "sizeMatchesProvider", "relativePath", "sha256", "byteSize"];
200
+ readonly properties: {
201
+ readonly relativePath: {
202
+ readonly type: "string";
203
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,239}$";
204
+ };
205
+ readonly sha256: {
206
+ readonly type: "string";
207
+ readonly pattern: "^[0-9a-f]{64}$";
208
+ };
209
+ readonly byteSize: {
210
+ readonly type: "integer";
211
+ readonly minimum: 0;
212
+ };
213
+ readonly commentId: {
214
+ readonly type: "string";
215
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
216
+ };
217
+ readonly attachmentId: {
218
+ readonly type: "string";
219
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
220
+ };
221
+ readonly formatIndex: {
222
+ readonly type: "integer";
223
+ readonly minimum: 1;
224
+ };
225
+ readonly format: {
226
+ readonly type: "string";
227
+ readonly minLength: 1;
228
+ };
229
+ readonly sourceUrl: {
230
+ readonly type: "string";
231
+ readonly minLength: 1;
232
+ };
233
+ readonly contentType: {
234
+ readonly type: "string";
235
+ readonly minLength: 1;
236
+ };
237
+ readonly providerSizeBytes: {
238
+ readonly type: "integer";
239
+ readonly minimum: 0;
240
+ };
241
+ readonly sizeMatchesProvider: {
242
+ readonly type: "boolean";
243
+ };
244
+ };
245
+ };
246
+ };
247
+ readonly manifest: {
248
+ readonly type: "object";
249
+ readonly additionalProperties: false;
250
+ readonly required: readonly ["relativePath", "sha256", "byteSize"];
251
+ readonly properties: {
252
+ readonly relativePath: {
253
+ readonly type: "string";
254
+ readonly pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,239}$";
255
+ };
256
+ readonly sha256: {
257
+ readonly type: "string";
258
+ readonly pattern: "^[0-9a-f]{64}$";
259
+ };
260
+ readonly byteSize: {
261
+ readonly type: "integer";
262
+ readonly minimum: 0;
263
+ };
264
+ };
265
+ };
266
+ readonly stopReason: {
267
+ readonly enum: readonly ["completed", "max-comments", "max-files", "max-total-bytes", "partial"];
268
+ };
269
+ };
270
+ };
@@ -0,0 +1,181 @@
1
+ const ID_PATTERN = "^[A-Za-z0-9][A-Za-z0-9._-]{0,199}$";
2
+ const DIGEST_PATTERN = "^[0-9a-f]{64}$";
3
+ const NULLABLE_STRING = { type: ["string", "null"] };
4
+ const NULLABLE_INTEGER = { type: ["integer", "null"], minimum: 0 };
5
+ export const REGULATIONS_GOV_ATTACHMENTS_INPUT_SCHEMA = {
6
+ $schema: "https://json-schema.org/draft/2020-12/schema",
7
+ $id: "https://schemas.tiangong.ai/data/regulations-gov/attachment-download-input.v1.json",
8
+ type: "object",
9
+ additionalProperties: false,
10
+ required: ["commentIds", "maxFiles", "maxTotalBytes"],
11
+ properties: {
12
+ commentIds: {
13
+ type: "array",
14
+ minItems: 1,
15
+ maxItems: 20,
16
+ uniqueItems: true,
17
+ items: { type: "string", pattern: ID_PATTERN },
18
+ description: "One to 20 exact Regulations.gov public comment IDs whose attachment metadata and files should be retrieved in caller order.",
19
+ examples: [["EPA-HQ-OAR-2026-0001-0002"]],
20
+ },
21
+ attachmentIds: {
22
+ type: "array",
23
+ minItems: 1,
24
+ maxItems: 20,
25
+ uniqueItems: true,
26
+ items: { type: "string", pattern: ID_PATTERN },
27
+ description: "Optional exact attachment-ID allowlist applied across the selected comments; omitted means all returned attachments are eligible.",
28
+ examples: [["EPA-HQ-OAR-2026-0001-0002-ATTACHMENT-1"]],
29
+ },
30
+ maxFiles: {
31
+ type: "integer",
32
+ minimum: 1,
33
+ maximum: 20,
34
+ description: "Maximum number of attachment file formats to download after metadata filtering, in provider relationship and format order.",
35
+ examples: [10],
36
+ },
37
+ maxTotalBytes: {
38
+ type: "integer",
39
+ minimum: 1,
40
+ maximum: 500000000,
41
+ description: "Maximum cumulative bytes committed for downloaded attachment files, excluding the generated manifest.",
42
+ examples: [10000000],
43
+ },
44
+ },
45
+ };
46
+ const ARTIFACT_RECORD_SCHEMA = {
47
+ type: "object",
48
+ additionalProperties: false,
49
+ required: ["relativePath", "sha256", "byteSize"],
50
+ properties: {
51
+ relativePath: { type: "string", pattern: "^[A-Za-z0-9][A-Za-z0-9._-]{0,239}$" },
52
+ sha256: { type: "string", pattern: DIGEST_PATTERN },
53
+ byteSize: { type: "integer", minimum: 0 },
54
+ },
55
+ };
56
+ const FILE_FORMAT_SCHEMA = {
57
+ type: "object",
58
+ additionalProperties: false,
59
+ required: ["url", "format", "sizeBytes"],
60
+ properties: {
61
+ url: { type: "string", minLength: 1 },
62
+ format: { type: "string", minLength: 1 },
63
+ sizeBytes: { type: "integer", minimum: 0 },
64
+ },
65
+ };
66
+ const ATTACHMENT_SCHEMA = {
67
+ type: "object",
68
+ additionalProperties: false,
69
+ required: [
70
+ "commentId",
71
+ "attachmentId",
72
+ "title",
73
+ "abstract",
74
+ "order",
75
+ "modifiedDateTime",
76
+ "restrictionType",
77
+ "restrictionReason",
78
+ "fileFormats",
79
+ ],
80
+ properties: {
81
+ commentId: { type: "string", pattern: ID_PATTERN },
82
+ attachmentId: { type: "string", pattern: ID_PATTERN },
83
+ title: NULLABLE_STRING,
84
+ abstract: NULLABLE_STRING,
85
+ order: NULLABLE_INTEGER,
86
+ modifiedDateTime: NULLABLE_STRING,
87
+ restrictionType: NULLABLE_STRING,
88
+ restrictionReason: NULLABLE_STRING,
89
+ fileFormats: { type: "array", items: FILE_FORMAT_SCHEMA },
90
+ },
91
+ };
92
+ const FILE_SCHEMA = {
93
+ type: "object",
94
+ additionalProperties: false,
95
+ required: [
96
+ "commentId",
97
+ "attachmentId",
98
+ "formatIndex",
99
+ "format",
100
+ "sourceUrl",
101
+ "contentType",
102
+ "providerSizeBytes",
103
+ "sizeMatchesProvider",
104
+ "relativePath",
105
+ "sha256",
106
+ "byteSize",
107
+ ],
108
+ properties: {
109
+ commentId: { type: "string", pattern: ID_PATTERN },
110
+ attachmentId: { type: "string", pattern: ID_PATTERN },
111
+ formatIndex: { type: "integer", minimum: 1 },
112
+ format: { type: "string", minLength: 1 },
113
+ sourceUrl: { type: "string", minLength: 1 },
114
+ contentType: { type: "string", minLength: 1 },
115
+ providerSizeBytes: { type: "integer", minimum: 0 },
116
+ sizeMatchesProvider: { type: "boolean" },
117
+ ...ARTIFACT_RECORD_SCHEMA.properties,
118
+ },
119
+ };
120
+ export const REGULATIONS_GOV_ATTACHMENTS_OUTPUT_SCHEMA = {
121
+ $schema: "https://json-schema.org/draft/2020-12/schema",
122
+ $id: "https://schemas.tiangong.ai/data/regulations-gov/attachment-download-output.v1.json",
123
+ type: "object",
124
+ additionalProperties: false,
125
+ required: ["source", "query", "comments", "attachments", "files", "manifest", "stopReason"],
126
+ properties: {
127
+ source: {
128
+ type: "object",
129
+ additionalProperties: false,
130
+ required: [
131
+ "providerId",
132
+ "service",
133
+ "apiVersion",
134
+ "downloadsOrigin",
135
+ "interpretationBoundary",
136
+ ],
137
+ properties: {
138
+ providerId: { const: "regulations-gov" },
139
+ service: { const: "Regulations.gov API" },
140
+ apiVersion: { const: "v4" },
141
+ downloadsOrigin: { const: "https://downloads.regulations.gov" },
142
+ interpretationBoundary: { type: "string", minLength: 1 },
143
+ },
144
+ },
145
+ query: {
146
+ type: "object",
147
+ additionalProperties: false,
148
+ required: ["commentIds", "attachmentIds", "maxFiles", "maxTotalBytes"],
149
+ properties: {
150
+ commentIds: { type: "array", items: { type: "string", pattern: ID_PATTERN } },
151
+ attachmentIds: {
152
+ anyOf: [
153
+ { type: "array", items: { type: "string", pattern: ID_PATTERN } },
154
+ { type: "null" },
155
+ ],
156
+ },
157
+ maxFiles: { type: "integer", minimum: 1, maximum: 20 },
158
+ maxTotalBytes: { type: "integer", minimum: 1, maximum: 500000000 },
159
+ },
160
+ },
161
+ comments: {
162
+ type: "array",
163
+ items: {
164
+ type: "object",
165
+ additionalProperties: false,
166
+ required: ["commentId", "attachmentIds"],
167
+ properties: {
168
+ commentId: { type: "string", pattern: ID_PATTERN },
169
+ attachmentIds: { type: "array", items: { type: "string", pattern: ID_PATTERN } },
170
+ },
171
+ },
172
+ },
173
+ attachments: { type: "array", items: ATTACHMENT_SCHEMA },
174
+ files: { type: "array", maxItems: 20, items: FILE_SCHEMA },
175
+ manifest: ARTIFACT_RECORD_SCHEMA,
176
+ stopReason: {
177
+ enum: ["completed", "max-comments", "max-files", "max-total-bytes", "partial"],
178
+ },
179
+ },
180
+ };
181
+ //# sourceMappingURL=regulations-gov-attachments.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regulations-gov-attachments.schemas.js","sourceRoot":"","sources":["../../../src/data/connectors/regulations-gov-attachments.schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { DataConnectorDefinition } from "../contracts.js";
2
+ export declare const regulationsGovCommentsConnector: DataConnectorDefinition;