@tiangong-ai/cli 0.0.61 → 0.0.62

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 (210) hide show
  1. package/AGENTS.md +17 -6
  2. package/README.md +414 -33
  3. package/dist/data/builtins.js +33 -5
  4. package/dist/data/builtins.js.map +1 -1
  5. package/dist/data/catalog.js +46 -0
  6. package/dist/data/catalog.js.map +1 -1
  7. package/dist/data/commands.js +15 -1
  8. package/dist/data/commands.js.map +1 -1
  9. package/dist/data/connectors/airnow-hourly-observations.js +60 -10
  10. package/dist/data/connectors/airnow-hourly-observations.js.map +1 -1
  11. package/dist/data/connectors/epa-eis-records.js +16 -2
  12. package/dist/data/connectors/epa-eis-records.js.map +1 -1
  13. package/dist/data/connectors/gdelt-doc-search.js +54 -18
  14. package/dist/data/connectors/gdelt-doc-search.js.map +1 -1
  15. package/dist/data/connectors/gdelt-file-feeds.js +20 -11
  16. package/dist/data/connectors/gdelt-file-feeds.js.map +1 -1
  17. package/dist/data/connectors/gdelt-web-ngrams.d.ts +2 -0
  18. package/dist/data/connectors/gdelt-web-ngrams.js +350 -0
  19. package/dist/data/connectors/gdelt-web-ngrams.js.map +1 -0
  20. package/dist/data/connectors/gdelt-web-ngrams.schemas.d.ts +188 -0
  21. package/dist/data/connectors/gdelt-web-ngrams.schemas.js +138 -0
  22. package/dist/data/connectors/gdelt-web-ngrams.schemas.js.map +1 -0
  23. package/dist/data/connectors/nasa-firms-fire.js +4 -0
  24. package/dist/data/connectors/nasa-firms-fire.js.map +1 -1
  25. package/dist/data/connectors/open-meteo-air-quality.js +27 -22
  26. package/dist/data/connectors/open-meteo-air-quality.js.map +1 -1
  27. package/dist/data/connectors/open-meteo-air-quality.schemas.d.ts +4 -1
  28. package/dist/data/connectors/open-meteo-air-quality.schemas.js +21 -1
  29. package/dist/data/connectors/open-meteo-air-quality.schemas.js.map +1 -1
  30. package/dist/data/connectors/open-meteo-flood.js +28 -23
  31. package/dist/data/connectors/open-meteo-flood.js.map +1 -1
  32. package/dist/data/connectors/open-meteo-flood.schemas.d.ts +4 -1
  33. package/dist/data/connectors/open-meteo-flood.schemas.js +21 -1
  34. package/dist/data/connectors/open-meteo-flood.schemas.js.map +1 -1
  35. package/dist/data/connectors/open-meteo-historical-weather.js +26 -21
  36. package/dist/data/connectors/open-meteo-historical-weather.js.map +1 -1
  37. package/dist/data/connectors/open-meteo-historical-weather.schemas.d.ts +4 -1
  38. package/dist/data/connectors/open-meteo-historical-weather.schemas.js +21 -1
  39. package/dist/data/connectors/open-meteo-historical-weather.schemas.js.map +1 -1
  40. package/dist/data/connectors/openaq-air-quality.js +50 -12
  41. package/dist/data/connectors/openaq-air-quality.js.map +1 -1
  42. package/dist/data/connectors/openaq-air-quality.schemas.d.ts +0 -4
  43. package/dist/data/connectors/openaq-air-quality.schemas.js +2 -2
  44. package/dist/data/connectors/openaq-air-quality.schemas.js.map +1 -1
  45. package/dist/data/connectors/youtube-public-content.js +76 -6
  46. package/dist/data/connectors/youtube-public-content.js.map +1 -1
  47. package/dist/data/connectors/youtube-public-content.schemas.d.ts +63 -3
  48. package/dist/data/connectors/youtube-public-content.schemas.js +56 -2
  49. package/dist/data/connectors/youtube-public-content.schemas.js.map +1 -1
  50. package/dist/data/contracts.d.ts +22 -1
  51. package/dist/data/runtime/bounded-http.d.ts +2 -0
  52. package/dist/data/runtime/bounded-http.js +221 -59
  53. package/dist/data/runtime/bounded-http.js.map +1 -1
  54. package/dist/data/runtime/execute.d.ts +2 -0
  55. package/dist/data/runtime/execute.js +82 -60
  56. package/dist/data/runtime/execute.js.map +1 -1
  57. package/dist/data/runtime/http-timing.d.ts +15 -0
  58. package/dist/data/runtime/http-timing.js +59 -0
  59. package/dist/data/runtime/http-timing.js.map +1 -0
  60. package/dist/data/runtime/http-transport.d.ts +1 -0
  61. package/dist/data/runtime/http-transport.js +27 -0
  62. package/dist/data/runtime/http-transport.js.map +1 -0
  63. package/dist/data/schemas/catalog.v1.json +46 -0
  64. package/dist/data/schemas/discovery.v1.json +12 -0
  65. package/dist/data/schemas/error.v1.json +1 -0
  66. package/dist/data/schemas/manifest.v1.json +19 -1
  67. package/dist/research/orchestration.js +233 -10
  68. package/dist/research/orchestration.js.map +1 -1
  69. package/dist/research/setup-command.js +37 -6
  70. package/dist/research/setup-command.js.map +1 -1
  71. package/dist/research/workspace/audit-bundle.js +28 -8
  72. package/dist/research/workspace/audit-bundle.js.map +1 -1
  73. package/dist/research/workspace/broker.js +25 -4
  74. package/dist/research/workspace/broker.js.map +1 -1
  75. package/dist/research/workspace/constants.d.ts +1 -0
  76. package/dist/research/workspace/constants.js +1 -0
  77. package/dist/research/workspace/constants.js.map +1 -1
  78. package/dist/research/workspace/content-evidence.d.ts +1 -0
  79. package/dist/research/workspace/content-evidence.js +1 -1
  80. package/dist/research/workspace/content-evidence.js.map +1 -1
  81. package/dist/research/workspace/credentials.js +2 -1
  82. package/dist/research/workspace/credentials.js.map +1 -1
  83. package/dist/research/workspace/data-evidence-adapter.d.ts +71 -0
  84. package/dist/research/workspace/data-evidence-adapter.js +269 -59
  85. package/dist/research/workspace/data-evidence-adapter.js.map +1 -1
  86. package/dist/research/workspace/data-evidence-view.d.ts +58 -0
  87. package/dist/research/workspace/data-evidence-view.js +411 -0
  88. package/dist/research/workspace/data-evidence-view.js.map +1 -0
  89. package/dist/research/workspace/evidence-ledger.js +32 -29
  90. package/dist/research/workspace/evidence-ledger.js.map +1 -1
  91. package/dist/research/workspace/evidence.d.ts +28 -0
  92. package/dist/research/workspace/evidence.js +48 -0
  93. package/dist/research/workspace/evidence.js.map +1 -1
  94. package/dist/research/workspace/executor.d.ts +27 -1
  95. package/dist/research/workspace/executor.js +180 -20
  96. package/dist/research/workspace/executor.js.map +1 -1
  97. package/dist/research/workspace/investigation-attempt.d.ts +159 -0
  98. package/dist/research/workspace/investigation-attempt.js +619 -0
  99. package/dist/research/workspace/investigation-attempt.js.map +1 -0
  100. package/dist/research/workspace/investigation-audit.d.ts +20 -0
  101. package/dist/research/workspace/investigation-audit.js +306 -0
  102. package/dist/research/workspace/investigation-audit.js.map +1 -0
  103. package/dist/research/workspace/investigation-candidate.d.ts +84 -0
  104. package/dist/research/workspace/investigation-candidate.js +156 -0
  105. package/dist/research/workspace/investigation-candidate.js.map +1 -0
  106. package/dist/research/workspace/investigation-certification.d.ts +39 -0
  107. package/dist/research/workspace/investigation-certification.js +152 -0
  108. package/dist/research/workspace/investigation-certification.js.map +1 -0
  109. package/dist/research/workspace/investigation-close.d.ts +47 -0
  110. package/dist/research/workspace/investigation-close.js +153 -0
  111. package/dist/research/workspace/investigation-close.js.map +1 -0
  112. package/dist/research/workspace/investigation-lineage.d.ts +8 -0
  113. package/dist/research/workspace/investigation-lineage.js +10 -0
  114. package/dist/research/workspace/investigation-lineage.js.map +1 -0
  115. package/dist/research/workspace/investigation-observer.d.ts +22 -0
  116. package/dist/research/workspace/investigation-observer.js +122 -0
  117. package/dist/research/workspace/investigation-observer.js.map +1 -0
  118. package/dist/research/workspace/investigation-promotion.d.ts +129 -0
  119. package/dist/research/workspace/investigation-promotion.js +316 -0
  120. package/dist/research/workspace/investigation-promotion.js.map +1 -0
  121. package/dist/research/workspace/investigation-requirements.d.ts +5 -0
  122. package/dist/research/workspace/investigation-requirements.js +32 -0
  123. package/dist/research/workspace/investigation-requirements.js.map +1 -0
  124. package/dist/research/workspace/investigation-resources.d.ts +12 -0
  125. package/dist/research/workspace/investigation-resources.js +78 -0
  126. package/dist/research/workspace/investigation-resources.js.map +1 -0
  127. package/dist/research/workspace/investigation-source-export.d.ts +6 -0
  128. package/dist/research/workspace/investigation-source-export.js +68 -0
  129. package/dist/research/workspace/investigation-source-export.js.map +1 -0
  130. package/dist/research/workspace/investigation-store.d.ts +9 -0
  131. package/dist/research/workspace/investigation-store.js +55 -0
  132. package/dist/research/workspace/investigation-store.js.map +1 -0
  133. package/dist/research/workspace/investigation.d.ts +424 -0
  134. package/dist/research/workspace/investigation.js +716 -0
  135. package/dist/research/workspace/investigation.js.map +1 -0
  136. package/dist/research/workspace/native-process-supervisor.d.ts +1 -0
  137. package/dist/research/workspace/native-process-supervisor.js +97 -0
  138. package/dist/research/workspace/native-process-supervisor.js.map +1 -0
  139. package/dist/research/workspace/native-run.d.ts +79 -6
  140. package/dist/research/workspace/native-run.js +293 -51
  141. package/dist/research/workspace/native-run.js.map +1 -1
  142. package/dist/research/workspace/preflight.d.ts +3 -0
  143. package/dist/research/workspace/preflight.js +11 -6
  144. package/dist/research/workspace/preflight.js.map +1 -1
  145. package/dist/research/workspace/project-authority.js +2 -0
  146. package/dist/research/workspace/project-authority.js.map +1 -1
  147. package/dist/research/workspace/project-budget.d.ts +41 -0
  148. package/dist/research/workspace/project-budget.js +265 -0
  149. package/dist/research/workspace/project-budget.js.map +1 -0
  150. package/dist/research/workspace/project-mutations.d.ts +1 -1
  151. package/dist/research/workspace/project-mutations.js +27 -3
  152. package/dist/research/workspace/project-mutations.js.map +1 -1
  153. package/dist/research/workspace/projects.d.ts +66 -0
  154. package/dist/research/workspace/projects.js +181 -3
  155. package/dist/research/workspace/projects.js.map +1 -1
  156. package/dist/research/workspace/provider-budget.d.ts +3 -0
  157. package/dist/research/workspace/provider-budget.js +45 -0
  158. package/dist/research/workspace/provider-budget.js.map +1 -0
  159. package/dist/research/workspace/provider-state.d.ts +1 -0
  160. package/dist/research/workspace/provider-state.js +20 -0
  161. package/dist/research/workspace/provider-state.js.map +1 -0
  162. package/dist/research/workspace/publication-lineage.d.ts +34 -0
  163. package/dist/research/workspace/publication-lineage.js +165 -0
  164. package/dist/research/workspace/publication-lineage.js.map +1 -0
  165. package/dist/research/workspace/publication-workflow.d.ts +24 -0
  166. package/dist/research/workspace/publication-workflow.js +118 -14
  167. package/dist/research/workspace/publication-workflow.js.map +1 -1
  168. package/dist/research/workspace/review-executor.d.ts +6 -1
  169. package/dist/research/workspace/review-executor.js +17 -3
  170. package/dist/research/workspace/review-executor.js.map +1 -1
  171. package/dist/research/workspace/runtime.d.ts +12 -1
  172. package/dist/research/workspace/runtime.js +143 -19
  173. package/dist/research/workspace/runtime.js.map +1 -1
  174. package/dist/research/workspace/scientific-amendment.d.ts +103 -0
  175. package/dist/research/workspace/scientific-amendment.js +537 -0
  176. package/dist/research/workspace/scientific-amendment.js.map +1 -0
  177. package/dist/research/workspace/scientific-fulfillment-audit.d.ts +20 -2
  178. package/dist/research/workspace/scientific-fulfillment-audit.js +87 -7
  179. package/dist/research/workspace/scientific-fulfillment-audit.js.map +1 -1
  180. package/dist/research/workspace/scientific-fulfillment.d.ts +10 -1
  181. package/dist/research/workspace/scientific-fulfillment.js +20 -6
  182. package/dist/research/workspace/scientific-fulfillment.js.map +1 -1
  183. package/dist/research/workspace/scientific-review-execution.js +162 -22
  184. package/dist/research/workspace/scientific-review-execution.js.map +1 -1
  185. package/dist/research/workspace/scientific-review.d.ts +2 -1
  186. package/dist/research/workspace/scientific-review.js +33 -2
  187. package/dist/research/workspace/scientific-review.js.map +1 -1
  188. package/dist/research/workspace/setup-catalog.js +3 -3
  189. package/dist/research/workspace/setup-release.d.ts +22 -0
  190. package/dist/research/workspace/setup-release.js +426 -0
  191. package/dist/research/workspace/setup-release.js.map +1 -0
  192. package/dist/research/workspace/setup-runtime-integrity.d.ts +2 -0
  193. package/dist/research/workspace/setup-runtime-integrity.js +31 -0
  194. package/dist/research/workspace/setup-runtime-integrity.js.map +1 -0
  195. package/dist/research/workspace/setup-upgrade.d.ts +17 -0
  196. package/dist/research/workspace/setup-upgrade.js +784 -0
  197. package/dist/research/workspace/setup-upgrade.js.map +1 -0
  198. package/dist/research/workspace/setup.d.ts +31 -39
  199. package/dist/research/workspace/setup.js +220 -17
  200. package/dist/research/workspace/setup.js.map +1 -1
  201. package/dist/research/workspace/task-acceptance.d.ts +8 -1
  202. package/dist/research/workspace/task-acceptance.js +37 -5
  203. package/dist/research/workspace/task-acceptance.js.map +1 -1
  204. package/dist/research/workspace/task-audit.d.ts +5 -1
  205. package/dist/research/workspace/task-audit.js +33 -18
  206. package/dist/research/workspace/task-audit.js.map +1 -1
  207. package/dist/research/workspace/types.d.ts +44 -0
  208. package/dist/research/workspace/workspace.js +34 -4
  209. package/dist/research/workspace/workspace.js.map +1 -1
  210. package/package.json +2 -1
@@ -1,6 +1,7 @@
1
1
  import packageMetadata from "../../../package.json" with { type: "json" };
2
2
  import { DATA_RUN_REQUEST_SCHEMA_VERSION, DATA_RUN_RESULT_SCHEMA_VERSION } from "../contracts.js";
3
3
  import { createBoundedHttpClient } from "./bounded-http.js";
4
+ import { withBoundedTransport } from "./http-transport.js";
4
5
  import { createDataArtifactSession } from "./artifacts.js";
5
6
  import { canonicalJson } from "./canonical-json.js";
6
7
  import { requiredCredentialsPresent, resolveDataCredentials } from "./credentials.js";
@@ -56,6 +57,22 @@ export async function executeDataRun(rawRequest, options) {
56
57
  generatedAt: clock().toISOString(),
57
58
  });
58
59
  }
60
+ if (connector.definition.availability?.status === "suspended") {
61
+ return blockedResult({
62
+ cliVersion,
63
+ request,
64
+ manifest: connector.manifest,
65
+ operation: operation.manifest,
66
+ error: new DataRuntimeError("capability-unavailable", "The requested data capability is temporarily suspended.", {
67
+ userActionRequired: true,
68
+ details: {
69
+ capabilityId: request.capabilityId,
70
+ reasonCode: connector.definition.availability.reasonCode,
71
+ },
72
+ }),
73
+ generatedAt: clock().toISOString(),
74
+ });
75
+ }
59
76
  const contractError = checkCompatibility(request, connector, operation.manifest, cliVersion);
60
77
  if (contractError) {
61
78
  return blockedResult({
@@ -142,74 +159,79 @@ export async function executeDataRun(rawRequest, options) {
142
159
  });
143
160
  }
144
161
  }
145
- const http = createBoundedHttpClient({
146
- capabilityId: connector.manifest.capabilityId,
147
- endpoints: connector.definition.endpoints,
148
- credentials: connector.definition.credentials,
149
- environment: options.environment,
150
- limits: effectiveLimits,
151
- ...(options.fetchImpl === undefined ? {} : { fetchImpl: options.fetchImpl }),
152
- });
153
- try {
154
- const execution = await operation.definition.execute({
155
- input: request.input,
156
- request,
162
+ // Reuse connections across pages/chunks in one operation; avoid a new TLS
163
+ // handshake per page while still cleaning up every success/failure path.
164
+ return withBoundedTransport(effectiveLimits.timeoutMs, options.fetchImpl, async (fetchImpl) => {
165
+ const http = createBoundedHttpClient({
166
+ capabilityId: connector.manifest.capabilityId,
167
+ endpoints: connector.definition.endpoints,
168
+ credentials: connector.definition.credentials,
169
+ environment: options.environment,
157
170
  limits: effectiveLimits,
158
- http,
159
- artifacts: artifactSession,
171
+ fetchImpl,
160
172
  });
161
- assertExecutionInvariants(execution, effectiveLimits);
162
- if (!operation.validateOutput(execution.data)) {
163
- throw new DataRuntimeError("provider-response-invalid", "The normalized operation result does not satisfy its published output schema.", { details: { issues: formatValidationErrors(operation.validateOutput.errors) } });
164
- }
165
- const secrets = http.configuredSecrets();
166
- if (containsConfiguredSecret(canonicalJson(execution), secrets)) {
167
- throw new DataRuntimeError("provider-response-invalid", "The normalized operation result contained configured credential material and was blocked.");
173
+ try {
174
+ await options.beforeExecute?.();
175
+ const execution = await operation.definition.execute({
176
+ input: request.input,
177
+ request,
178
+ limits: effectiveLimits,
179
+ http,
180
+ artifacts: artifactSession,
181
+ });
182
+ assertExecutionInvariants(execution, effectiveLimits);
183
+ if (!operation.validateOutput(execution.data)) {
184
+ throw new DataRuntimeError("provider-response-invalid", "The normalized operation result does not satisfy its published output schema.", { details: { issues: formatValidationErrors(operation.validateOutput.errors) } });
185
+ }
186
+ const secrets = http.configuredSecrets();
187
+ if (containsConfiguredSecret(canonicalJson(execution), secrets)) {
188
+ throw new DataRuntimeError("provider-response-invalid", "The normalized operation result contained configured credential material and was blocked.");
189
+ }
190
+ const errors = execution.errors.map((error) => ({
191
+ ...error,
192
+ message: sanitizeDataText(error.message, secrets),
193
+ ...(error.details === undefined
194
+ ? {}
195
+ : { details: sanitizeDataValue(error.details, secrets) }),
196
+ }));
197
+ const result = {
198
+ schemaVersion: DATA_RUN_RESULT_SCHEMA_VERSION,
199
+ status: execution.status,
200
+ requestId: request.requestId ?? null,
201
+ contract: contractProjection(cliVersion, request, connector.manifest, operation.manifest),
202
+ data: execution.data,
203
+ summary: execution.summary,
204
+ warnings: execution.warnings.map((warning) => sanitizeDataText(warning, secrets)),
205
+ errors,
206
+ receipt: buildCoreDataReceipt({
207
+ cliVersion,
208
+ request,
209
+ manifest: connector.manifest,
210
+ operation: operation.manifest,
211
+ observations: execution.observations,
212
+ data: execution.data,
213
+ completionStatus: execution.status,
214
+ summary: execution.summary,
215
+ generatedAt: clock().toISOString(),
216
+ }),
217
+ };
218
+ validateDataPublicContract("runResult", result);
219
+ await artifactSession?.commit();
220
+ return result;
168
221
  }
169
- const errors = execution.errors.map((error) => ({
170
- ...error,
171
- message: sanitizeDataText(error.message, secrets),
172
- ...(error.details === undefined
173
- ? {}
174
- : { details: sanitizeDataValue(error.details, secrets) }),
175
- }));
176
- const result = {
177
- schemaVersion: DATA_RUN_RESULT_SCHEMA_VERSION,
178
- status: execution.status,
179
- requestId: request.requestId ?? null,
180
- contract: contractProjection(cliVersion, request, connector.manifest, operation.manifest),
181
- data: execution.data,
182
- summary: execution.summary,
183
- warnings: execution.warnings.map((warning) => sanitizeDataText(warning, secrets)),
184
- errors,
185
- receipt: buildCoreDataReceipt({
222
+ catch (error) {
223
+ await artifactSession?.rollback();
224
+ return blockedResult({
186
225
  cliVersion,
187
226
  request,
188
227
  manifest: connector.manifest,
189
228
  operation: operation.manifest,
190
- observations: execution.observations,
191
- data: execution.data,
192
- completionStatus: execution.status,
193
- summary: execution.summary,
229
+ error,
230
+ secrets: http.configuredSecrets(),
194
231
  generatedAt: clock().toISOString(),
195
- }),
196
- };
197
- validateDataPublicContract("runResult", result);
198
- await artifactSession?.commit();
199
- return result;
200
- }
201
- catch (error) {
202
- await artifactSession?.rollback();
203
- return blockedResult({
204
- cliVersion,
205
- request,
206
- manifest: connector.manifest,
207
- operation: operation.manifest,
208
- error,
209
- secrets: http.configuredSecrets(),
210
- generatedAt: clock().toISOString(),
211
- });
212
- }
232
+ });
233
+ }
234
+ });
213
235
  }
214
236
  function checkCompatibility(request, connector, operation, cliVersion) {
215
237
  if (request.capabilityVersion !== connector.manifest.capabilityVersion ||
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/data/runtime/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/data/runtime/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface DataHttpTiming {
2
+ now: () => number;
3
+ sleep: (milliseconds: number) => Promise<void>;
4
+ }
5
+ export declare const defaultHttpTiming: DataHttpTiming;
6
+ export declare function sharedRequestPacer(timing: DataHttpTiming): DataRequestPacer;
7
+ declare class DataRequestPacer {
8
+ private readonly timing;
9
+ private readonly origins;
10
+ constructor(timing: DataHttpTiming);
11
+ private state;
12
+ defer(origin: string, milliseconds: number): void;
13
+ wait(origin: string, intervalMs: number, maxWaitMs: number): Promise<void>;
14
+ }
15
+ export {};
@@ -0,0 +1,59 @@
1
+ import { setTimeout as delay } from "node:timers/promises";
2
+ import { DataRuntimeError } from "./errors.js";
3
+ export const defaultHttpTiming = {
4
+ now: () => performance.now(),
5
+ sleep: async (milliseconds) => {
6
+ await delay(milliseconds);
7
+ },
8
+ };
9
+ // Shared across clients/runs in this process, never persisted with credentials.
10
+ // Separate CLI processes sharing one egress must still be serialized by the caller.
11
+ const pacers = new WeakMap();
12
+ export function sharedRequestPacer(timing) {
13
+ let pacer = pacers.get(timing);
14
+ if (!pacer) {
15
+ pacer = new DataRequestPacer(timing);
16
+ pacers.set(timing, pacer);
17
+ }
18
+ return pacer;
19
+ }
20
+ class DataRequestPacer {
21
+ timing;
22
+ origins = new Map();
23
+ constructor(timing) {
24
+ this.timing = timing;
25
+ }
26
+ state(origin) {
27
+ let state = this.origins.get(origin);
28
+ if (!state) {
29
+ state = { nextStart: 0, tail: Promise.resolve() };
30
+ this.origins.set(origin, state);
31
+ }
32
+ return state;
33
+ }
34
+ defer(origin, milliseconds) {
35
+ const state = this.state(origin);
36
+ state.nextStart = Math.max(state.nextStart, this.timing.now() + milliseconds);
37
+ }
38
+ async wait(origin, intervalMs, maxWaitMs) {
39
+ const state = this.state(origin);
40
+ const entered = this.timing.now();
41
+ const pending = state.tail.then(async () => {
42
+ while (state.nextStart > this.timing.now()) {
43
+ const remaining = state.nextStart - this.timing.now();
44
+ if (state.nextStart - entered > maxWaitMs) {
45
+ throw new DataRuntimeError("rate-limited", "The provider cooldown exceeds the wait budget.", {
46
+ retryable: true,
47
+ userActionRequired: true,
48
+ details: { phase: "throttle", retryAfterMs: Math.ceil(remaining) },
49
+ });
50
+ }
51
+ await this.timing.sleep(remaining);
52
+ }
53
+ state.nextStart = this.timing.now() + intervalMs;
54
+ });
55
+ state.tail = pending.catch(() => { });
56
+ await pending;
57
+ }
58
+ }
59
+ //# sourceMappingURL=http-timing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-timing.js","sourceRoot":"","sources":["../../../src/data/runtime/http-timing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function withBoundedTransport<T>(timeoutMs: number, override: typeof fetch | undefined, operation: (fetchImpl: typeof fetch) => Promise<T>): Promise<T>;
@@ -0,0 +1,27 @@
1
+ import { Agent, EnvHttpProxyAgent } from "undici";
2
+ // One dispatcher per bounded operation; reused by pages/retries/redirects and
3
+ // destroyed after its body is consumed or on any failure. No global dispatcher mutation.
4
+ export async function withBoundedTransport(timeoutMs, override, operation) {
5
+ if (override)
6
+ return operation(override);
7
+ const dispatcherOptions = {
8
+ connect: { timeout: timeoutMs },
9
+ headersTimeout: timeoutMs,
10
+ bodyTimeout: timeoutMs,
11
+ allowH2: false,
12
+ };
13
+ const dispatcher = process.env.NODE_USE_ENV_PROXY === "1"
14
+ ? new EnvHttpProxyAgent(dispatcherOptions)
15
+ : new Agent(dispatcherOptions);
16
+ const fetchImpl = (target, init) => {
17
+ const boundedInit = { ...init, dispatcher };
18
+ return globalThis.fetch(target, boundedInit);
19
+ };
20
+ try {
21
+ return await operation(fetchImpl);
22
+ }
23
+ finally {
24
+ await dispatcher.destroy();
25
+ }
26
+ }
27
+ //# sourceMappingURL=http-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../../src/data/runtime/http-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAmB,MAAM,QAAQ,CAAC;AAEnE,8EAA8E;AAC9E,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,QAAkC,EAClC,SAAkD;IAElD,IAAI,QAAQ;QAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG;QACxB,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;QAC/B,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,KAAK;KACf,CAAC;IACF,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;QACpC,CAAC,CAAC,IAAI,iBAAiB,CAAC,iBAAiB,CAAC;QAC1C,CAAC,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnC,MAAM,SAAS,GAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QAC/C,MAAM,WAAW,GAA6C,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC;QACtF,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC"}
@@ -20,6 +20,7 @@
20
20
  "summary",
21
21
  "provides",
22
22
  "doesNotProvide",
23
+ "availability",
23
24
  "manifestDigest",
24
25
  "discoveryDigest",
25
26
  "operations"
@@ -33,6 +34,7 @@
33
34
  "summary": { "type": "string", "minLength": 1 },
34
35
  "provides": { "$ref": "#/$defs/nonEmptyStringArray" },
35
36
  "doesNotProvide": { "$ref": "#/$defs/nonEmptyStringArray" },
37
+ "availability": { "$ref": "#/$defs/availability" },
36
38
  "manifestDigest": { "$ref": "#/$defs/digest" },
37
39
  "discoveryDigest": { "$ref": "#/$defs/digest" },
38
40
  "operations": {
@@ -51,6 +53,12 @@
51
53
  "operationId": { "type": "string", "minLength": 1 },
52
54
  "operationVersion": { "type": "string", "minLength": 1 },
53
55
  "summary": { "type": "string", "minLength": 1 },
56
+ "features": {
57
+ "type": "array",
58
+ "minItems": 1,
59
+ "uniqueItems": true,
60
+ "items": { "$ref": "#/$defs/id" }
61
+ },
54
62
  "inputSchemaDigest": { "$ref": "#/$defs/digest" },
55
63
  "outputSchemaDigest": { "$ref": "#/$defs/digest" }
56
64
  }
@@ -62,7 +70,45 @@
62
70
  "catalogDigest": { "$ref": "#/$defs/digest" }
63
71
  },
64
72
  "$defs": {
73
+ "id": { "type": "string", "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$" },
65
74
  "digest": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
75
+ "availability": {
76
+ "type": "object",
77
+ "additionalProperties": false,
78
+ "required": ["status", "reasonCode", "description", "resumeCriteria"],
79
+ "properties": {
80
+ "status": { "enum": ["available", "suspended"] },
81
+ "reasonCode": { "type": ["string", "null"] },
82
+ "description": { "type": ["string", "null"] },
83
+ "resumeCriteria": {
84
+ "type": "array",
85
+ "uniqueItems": true,
86
+ "items": { "type": "string", "minLength": 1 }
87
+ }
88
+ },
89
+ "allOf": [
90
+ {
91
+ "if": { "properties": { "status": { "const": "available" } } },
92
+ "then": {
93
+ "properties": {
94
+ "reasonCode": { "type": "null" },
95
+ "description": { "type": "null" },
96
+ "resumeCriteria": { "type": "array", "maxItems": 0 }
97
+ }
98
+ }
99
+ },
100
+ {
101
+ "if": { "properties": { "status": { "const": "suspended" } } },
102
+ "then": {
103
+ "properties": {
104
+ "reasonCode": { "$ref": "#/$defs/id" },
105
+ "description": { "type": "string", "minLength": 1 },
106
+ "resumeCriteria": { "type": "array", "minItems": 1 }
107
+ }
108
+ }
109
+ }
110
+ ]
111
+ },
66
112
  "nonEmptyStringArray": {
67
113
  "type": "array",
68
114
  "minItems": 1,
@@ -96,6 +96,7 @@
96
96
  }
97
97
  },
98
98
  "limitations": { "$ref": "#/$defs/nonEmptyStringArray" },
99
+ "availability": { "$ref": "#/$defs/suspendedAvailability" },
99
100
  "operations": {
100
101
  "type": "array",
101
102
  "minItems": 1,
@@ -125,6 +126,17 @@
125
126
  "minItems": 1,
126
127
  "uniqueItems": true,
127
128
  "items": { "$ref": "#/$defs/nonEmptyString" }
129
+ },
130
+ "suspendedAvailability": {
131
+ "type": "object",
132
+ "additionalProperties": false,
133
+ "required": ["status", "reasonCode", "description", "resumeCriteria"],
134
+ "properties": {
135
+ "status": { "const": "suspended" },
136
+ "reasonCode": { "$ref": "#/$defs/id" },
137
+ "description": { "$ref": "#/$defs/nonEmptyString" },
138
+ "resumeCriteria": { "$ref": "#/$defs/nonEmptyStringArray" }
139
+ }
128
140
  }
129
141
  }
130
142
  }
@@ -24,6 +24,7 @@
24
24
  "invalid-request",
25
25
  "unsupported-operation",
26
26
  "incompatible-contract",
27
+ "capability-unavailable",
27
28
  "credential-missing",
28
29
  "credential-invalid",
29
30
  "provider-auth-blocked",
@@ -40,6 +40,7 @@
40
40
  "live": { "type": "boolean" }
41
41
  }
42
42
  },
43
+ "availability": { "$ref": "#/$defs/suspendedAvailability" },
43
44
  "operations": {
44
45
  "type": "array",
45
46
  "minItems": 1,
@@ -56,6 +57,15 @@
56
57
  "items": { "type": "string", "minLength": 1 },
57
58
  "uniqueItems": true
58
59
  },
60
+ "suspendedAvailability": {
61
+ "type": "object",
62
+ "additionalProperties": false,
63
+ "required": ["status", "reasonCode"],
64
+ "properties": {
65
+ "status": { "const": "suspended" },
66
+ "reasonCode": { "$ref": "#/$defs/id" }
67
+ }
68
+ },
59
69
  "limits": {
60
70
  "type": "object",
61
71
  "additionalProperties": false,
@@ -100,7 +110,9 @@
100
110
  "minItems": 1,
101
111
  "uniqueItems": true
102
112
  },
103
- "allowedContentTypes": { "$ref": "#/$defs/stringArray" }
113
+ "allowedContentTypes": { "$ref": "#/$defs/stringArray" },
114
+ "sessionCookies": { "enum": ["same-origin-memory"] },
115
+ "minRequestIntervalMs": { "type": "integer", "minimum": 1, "maximum": 120000 }
104
116
  }
105
117
  },
106
118
  "credential": {
@@ -159,6 +171,12 @@
159
171
  "inputSchema": { "$ref": "#/$defs/schemaRef" },
160
172
  "outputSchema": { "$ref": "#/$defs/schemaRef" },
161
173
  "limits": { "$ref": "#/$defs/limits" },
174
+ "features": {
175
+ "type": "array",
176
+ "minItems": 1,
177
+ "uniqueItems": true,
178
+ "items": { "$ref": "#/$defs/id" }
179
+ },
162
180
  "artifactOutput": {
163
181
  "type": "object",
164
182
  "additionalProperties": false,