@cyanheads/federal-regulations-mcp-server 0.2.1 → 0.2.3
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 +9 -9
- package/CLAUDE.md +9 -9
- package/Dockerfile +12 -5
- package/README.md +2 -1
- package/changelog/0.2.x/0.2.2.md +15 -0
- package/changelog/0.2.x/0.2.3.md +24 -0
- package/changelog/template.md +55 -16
- package/dist/mcp-server/tools/definitions/browse-cfr.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/browse-cfr.tool.js +3 -3
- package/dist/mcp-server/tools/definitions/browse-cfr.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/find-comments.tool.d.ts +5 -5
- package/dist/mcp-server/tools/definitions/find-comments.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-comments.tool.js +10 -6
- package/dist/mcp-server/tools/definitions/find-comments.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-cfr-section.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/get-cfr-section.tool.js +3 -3
- package/dist/mcp-server/tools/definitions/get-cfr-section.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-docket.tool.d.ts +5 -4
- package/dist/mcp-server/tools/definitions/get-docket.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-docket.tool.js +10 -5
- package/dist/mcp-server/tools/definitions/get-docket.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-document.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/get-document.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/get-document.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +15 -15
- package/dist/mcp-server/tools/definitions/list-open-comments.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-open-comments.tool.js +2 -2
- package/dist/mcp-server/tools/definitions/list-open-comments.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-rules.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-rules.tool.js +2 -2
- package/dist/mcp-server/tools/definitions/search-rules.tool.js.map +1 -1
- package/dist/services/ecfr/ecfr-service.d.ts +30 -6
- package/dist/services/ecfr/ecfr-service.d.ts.map +1 -1
- package/dist/services/ecfr/ecfr-service.js +64 -29
- package/dist/services/ecfr/ecfr-service.js.map +1 -1
- package/dist/services/ecfr-mirror/ecfr-mirror.d.ts.map +1 -1
- package/dist/services/ecfr-mirror/ecfr-mirror.js +38 -5
- package/dist/services/ecfr-mirror/ecfr-mirror.js.map +1 -1
- package/dist/services/federal-register/federal-register-service.d.ts +17 -6
- package/dist/services/federal-register/federal-register-service.d.ts.map +1 -1
- package/dist/services/federal-register/federal-register-service.js +47 -19
- package/dist/services/federal-register/federal-register-service.js.map +1 -1
- package/dist/services/regulations-gov/regulations-gov-service.d.ts +37 -8
- package/dist/services/regulations-gov/regulations-gov-service.d.ts.map +1 -1
- package/dist/services/regulations-gov/regulations-gov-service.js +103 -24
- package/dist/services/regulations-gov/regulations-gov-service.js.map +1 -1
- package/dist/services/request-budget.d.ts +63 -0
- package/dist/services/request-budget.d.ts.map +1 -0
- package/dist/services/request-budget.js +95 -0
- package/dist/services/request-budget.js.map +1 -0
- package/dist/services/upstream-failure.d.ts +122 -18
- package/dist/services/upstream-failure.d.ts.map +1 -1
- package/dist/services/upstream-failure.js +177 -10
- package/dist/services/upstream-failure.js.map +1 -1
- package/package.json +8 -8
- package/scripts/_mirror-context.ts +1 -1
- package/server.json +3 -3
- package/dist/services/request-context.d.ts +0 -13
- package/dist/services/request-context.d.ts.map +0 -1
- package/dist/services/request-context.js +0 -23
- package/dist/services/request-context.js.map +0 -1
|
@@ -2,18 +2,22 @@
|
|
|
2
2
|
* @fileoverview EcfrService — keyless client for the eCFR API (ecfr.gov/api):
|
|
3
3
|
* the versioner (titles, structure, ancestry, full-text XML) and the search API.
|
|
4
4
|
* Backs `browse_cfr` and `get_cfr_section`, and supplies the title list + XML the
|
|
5
|
-
* eCFR mirror ingester walks. Section XML is parsed by `./xml.ts`.
|
|
6
|
-
* full fetch + parse pipeline
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* eCFR mirror ingester walks. Section XML is parsed by `./xml.ts`. `runUpstream`
|
|
6
|
+
* wraps the full fetch + parse pipeline in a retry loop bounded by the request's
|
|
7
|
+
* shared budget; HTML error pages become transient errors, the 5xx statuses the
|
|
8
|
+
* status→code map calls `InternalError` are re-coded, and a transport failure
|
|
9
|
+
* that survives retry leaves as `upstream_unavailable`. The one leg that keeps
|
|
10
|
+
* its own long deadline is the bulk whole-title read, which the mirror ingest
|
|
11
|
+
* runs out of band with no client waiting on it. Search scopes through
|
|
12
|
+
* `hierarchy[title]` / `hierarchy[part]`, and a hit's path names the part it
|
|
13
|
+
* sits in.
|
|
10
14
|
* @module services/ecfr/ecfr-service
|
|
11
15
|
*/
|
|
12
|
-
import {
|
|
13
|
-
import { fetchWithTimeout,
|
|
16
|
+
import { JsonRpcErrorCode, McpError, notFound, serviceUnavailable, validationError, } from '@cyanheads/mcp-ts-core/errors';
|
|
17
|
+
import { fetchWithTimeout, withExtra } from '@cyanheads/mcp-ts-core/utils';
|
|
14
18
|
import { getServerConfig } from '../../config/server-config.js';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
19
|
+
import { requestBudget } from '../../services/request-budget.js';
|
|
20
|
+
import { rethrowTransportFailure, runUpstream } from '../../services/upstream-failure.js';
|
|
17
21
|
import { appendixCite, sectionCite } from './cite.js';
|
|
18
22
|
import { parseCfrXml } from './xml.js';
|
|
19
23
|
const TIMEOUT_MS = 20_000;
|
|
@@ -71,6 +75,10 @@ export class EcfrService {
|
|
|
71
75
|
* The date eCFR currently serves as "now" (`meta.date` on the titles document).
|
|
72
76
|
* The search API rejects any date past it, so a "current" search must pin to
|
|
73
77
|
* this value rather than to the caller's clock. Cached for a few minutes.
|
|
78
|
+
*
|
|
79
|
+
* A titles document that answers 200 without one is an upstream failure like
|
|
80
|
+
* any other, but it is raised here rather than inside the fetch, past the reach
|
|
81
|
+
* of `withUpstreamReason` — so it stamps its own reason and hint.
|
|
74
82
|
*/
|
|
75
83
|
async currentDate(ctx) {
|
|
76
84
|
if (this.currentDateCache && Date.now() < this.currentDateCache.expiresAt) {
|
|
@@ -80,7 +88,11 @@ export class EcfrService {
|
|
|
80
88
|
const raw = await this.fetchJson(url, ctx, 'EcfrService.currentDate');
|
|
81
89
|
const date = raw.meta?.date;
|
|
82
90
|
if (!date) {
|
|
83
|
-
throw serviceUnavailable('eCFR did not report a current index date.', {
|
|
91
|
+
throw serviceUnavailable('eCFR did not report a current index date.', {
|
|
92
|
+
url,
|
|
93
|
+
reason: 'upstream_unavailable',
|
|
94
|
+
...ctx.recoveryFor('upstream_unavailable'),
|
|
95
|
+
});
|
|
84
96
|
}
|
|
85
97
|
this.currentDateCache = { date, expiresAt: Date.now() + CURRENT_DATE_TTL_MS };
|
|
86
98
|
return date;
|
|
@@ -152,7 +164,9 @@ export class EcfrService {
|
|
|
152
164
|
const url = `${this.baseUrl}/versioner/v1/full/${date}/title-${title}.xml?${search.toString()}`;
|
|
153
165
|
let xml;
|
|
154
166
|
try {
|
|
155
|
-
xml = await this.fetchXml(url, ctx, 'EcfrService.getSectionText',
|
|
167
|
+
xml = await this.fetchXml(url, ctx, 'EcfrService.getSectionText', {
|
|
168
|
+
expectedStatuses: [404],
|
|
169
|
+
});
|
|
156
170
|
}
|
|
157
171
|
catch (err) {
|
|
158
172
|
// The versioner 404s for a nonexistent part/section (or a date past the
|
|
@@ -220,7 +234,9 @@ export class EcfrService {
|
|
|
220
234
|
const url = `${this.baseUrl}/versioner/v1/full/${date}/title-${title}.xml?${search.toString()}`;
|
|
221
235
|
let xml;
|
|
222
236
|
try {
|
|
223
|
-
xml = await this.fetchXml(url, ctx, 'EcfrService.getAppendixText',
|
|
237
|
+
xml = await this.fetchXml(url, ctx, 'EcfrService.getAppendixText', {
|
|
238
|
+
expectedStatuses: [404],
|
|
239
|
+
});
|
|
224
240
|
}
|
|
225
241
|
catch (err) {
|
|
226
242
|
if (err instanceof McpError && err.code === JsonRpcErrorCode.NotFound)
|
|
@@ -241,11 +257,20 @@ export class EcfrService {
|
|
|
241
257
|
}
|
|
242
258
|
/**
|
|
243
259
|
* Fetch a whole title's full XML (no part/section filter) — the bulk payload
|
|
244
|
-
* the mirror ingester walks. Long
|
|
260
|
+
* the mirror ingester walks. Long deadline: Title 40 alone is ~150 MB.
|
|
261
|
+
*
|
|
262
|
+
* Ingest is not a request, and the exemption that says so belongs to the
|
|
263
|
+
* ingest context rather than to this method: the mirror claims its context for
|
|
264
|
+
* `ingestBudget` where it builds it, so the 10-minute deadline below is what
|
|
265
|
+
* every attempt actually gets. Claiming it here as well would put a second
|
|
266
|
+
* unbounded-budget switch on a public method, where a caller that did have a
|
|
267
|
+
* client waiting would silently take a request out from under its own clock.
|
|
245
268
|
*/
|
|
246
269
|
fetchFullTitleXml(title, date, ctx) {
|
|
247
270
|
const url = `${this.baseUrl}/versioner/v1/full/${date}/title-${title}.xml`;
|
|
248
|
-
return this.fetchXml(url, ctx, 'EcfrService.fetchFullTitleXml',
|
|
271
|
+
return this.fetchXml(url, ctx, 'EcfrService.fetchFullTitleXml', {
|
|
272
|
+
attemptMs: FULL_TITLE_TIMEOUT_MS,
|
|
273
|
+
});
|
|
249
274
|
}
|
|
250
275
|
/**
|
|
251
276
|
* Resolve a cite's full hierarchy path via the ancestry endpoint. `target`
|
|
@@ -317,13 +342,13 @@ export class EcfrService {
|
|
|
317
342
|
// spelled out here, with both ends, rather than left to the caller to guess.
|
|
318
343
|
if (rejection.fields.includes('date')) {
|
|
319
344
|
const latest = await this.currentDate(ctx).catch(() => null);
|
|
320
|
-
throw
|
|
345
|
+
throw validationError(`${rejection.detail} The search index covers ${ECFR_SEARCH_EARLIEST_DATE} through ${latest ?? "eCFR's current index date"}.`, {
|
|
321
346
|
reason: 'date_out_of_range',
|
|
322
347
|
date,
|
|
323
348
|
...ctx.recoveryFor('date_out_of_range'),
|
|
324
349
|
});
|
|
325
350
|
}
|
|
326
|
-
throw
|
|
351
|
+
throw validationError(rejection.detail, { date, title: title ?? null, part: part ?? null });
|
|
327
352
|
}
|
|
328
353
|
return {
|
|
329
354
|
totalCount: raw.meta?.total_count ?? (raw.results ?? []).length,
|
|
@@ -331,32 +356,42 @@ export class EcfrService {
|
|
|
331
356
|
};
|
|
332
357
|
}
|
|
333
358
|
fetchJson(url, ctx, operation, expectedStatuses) {
|
|
334
|
-
const reqCtx =
|
|
335
|
-
return
|
|
336
|
-
const response = await fetchWithTimeout(url,
|
|
337
|
-
signal
|
|
359
|
+
const reqCtx = withExtra(ctx, { operation });
|
|
360
|
+
return runUpstream(ctx, requestBudget(ctx), { operation, context: reqCtx, attemptMs: TIMEOUT_MS, baseDelayMs: BASE_DELAY_MS }, async (deadlineMs, signal) => {
|
|
361
|
+
const response = await fetchWithTimeout(url, deadlineMs, reqCtx, {
|
|
362
|
+
signal,
|
|
338
363
|
...(expectedStatuses && { expectedStatuses }),
|
|
339
|
-
});
|
|
364
|
+
}).catch(rethrowTransportFailure);
|
|
340
365
|
const text = await response.text();
|
|
341
366
|
if (looksLikeHtml(text)) {
|
|
342
367
|
throw serviceUnavailable('eCFR returned an HTML error page instead of JSON — likely momentarily unavailable.');
|
|
343
368
|
}
|
|
344
369
|
return JSON.parse(text);
|
|
345
|
-
}
|
|
370
|
+
});
|
|
346
371
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
372
|
+
/**
|
|
373
|
+
* The budget is always the one the context already carries — a request's 45
|
|
374
|
+
* seconds, or the ingest's unbounded clock on a context the mirror claimed.
|
|
375
|
+
* `attemptMs` is the only thing a caller varies, and it is a ceiling: the
|
|
376
|
+
* budget still clamps it to whatever the request has left.
|
|
377
|
+
*
|
|
378
|
+
* Reading the body counts against the deadline like the fetch does — a title's
|
|
379
|
+
* XML runs to ~157 MB, so the stream is where the time actually goes.
|
|
380
|
+
*/
|
|
381
|
+
fetchXml(url, ctx, operation, options = {}) {
|
|
382
|
+
const reqCtx = withExtra(ctx, { operation });
|
|
383
|
+
const { attemptMs = XML_TIMEOUT_MS, expectedStatuses } = options;
|
|
384
|
+
return runUpstream(ctx, requestBudget(ctx), { operation, context: reqCtx, attemptMs, baseDelayMs: BASE_DELAY_MS }, async (deadlineMs, signal) => {
|
|
385
|
+
const response = await fetchWithTimeout(url, deadlineMs, reqCtx, {
|
|
386
|
+
signal,
|
|
352
387
|
...(expectedStatuses && { expectedStatuses }),
|
|
353
|
-
});
|
|
388
|
+
}).catch(rethrowTransportFailure);
|
|
354
389
|
const text = await response.text();
|
|
355
390
|
if (looksLikeHtml(text)) {
|
|
356
391
|
throw serviceUnavailable('eCFR returned an HTML error page instead of XML — likely momentarily unavailable.');
|
|
357
392
|
}
|
|
358
393
|
return text;
|
|
359
|
-
}
|
|
394
|
+
});
|
|
360
395
|
}
|
|
361
396
|
}
|
|
362
397
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecfr-service.js","sourceRoot":"","sources":["../../../src/services/ecfr/ecfr-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ecfr-service.js","sourceRoot":"","sources":["../../../src/services/ecfr/ecfr-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecfr-mirror.d.ts","sourceRoot":"","sources":["../../../src/services/ecfr-mirror/ecfr-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAEL,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"ecfr-mirror.d.ts","sourceRoot":"","sources":["../../../src/services/ecfr-mirror/ecfr-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAEL,KAAK,MAAM,EAKZ,MAAM,+BAA+B,CAAC;AAKvC,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AA4IjF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,MA2IvB,CAAC;AA0BH;;;;;;GAMG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAMpD;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG1D;AAED,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAexD;AAeD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAYnC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CA+B3D"}
|
|
@@ -29,6 +29,7 @@ import { getServerConfig } from '../../config/server-config.js';
|
|
|
29
29
|
import { sectionCite } from '../../services/ecfr/cite.js';
|
|
30
30
|
import { getEcfrService } from '../../services/ecfr/ecfr-service.js';
|
|
31
31
|
import { isCompleteXmlDocument, parseCfrXml } from '../../services/ecfr/xml.js';
|
|
32
|
+
import { ingestBudget } from '../../services/request-budget.js';
|
|
32
33
|
/** Primary table name for the mirror. */
|
|
33
34
|
const TABLE = 'cfr_sections';
|
|
34
35
|
/** Auxiliary table for fast title/part browse. */
|
|
@@ -39,6 +40,21 @@ const META_TABLE = 'cfr_mirror_meta';
|
|
|
39
40
|
const CORPUS_TITLES_KEY = 'corpus_titles';
|
|
40
41
|
/** Meta key holding the {@link INGEST_VERSION} that produced the current rows. */
|
|
41
42
|
const INGEST_VERSION_KEY = 'ingest_version';
|
|
43
|
+
/** Adapt the framework logger's correlated context parameter to MirrorService metadata. */
|
|
44
|
+
const mirrorLogger = {
|
|
45
|
+
debug: (message, meta) => logger.debug(message, mirrorLoggerContext(meta)),
|
|
46
|
+
error: (message, meta) => logger.error(message, mirrorLoggerContext(meta)),
|
|
47
|
+
info: (message, meta) => logger.info(message, mirrorLoggerContext(meta)),
|
|
48
|
+
notice: (message, meta) => logger.notice(message, mirrorLoggerContext(meta)),
|
|
49
|
+
warning: (message, meta) => logger.warning(message, mirrorLoggerContext(meta)),
|
|
50
|
+
};
|
|
51
|
+
/** Correlate one MirrorService log line while keeping its metadata in the canonical bag. */
|
|
52
|
+
function mirrorLoggerContext(meta) {
|
|
53
|
+
return requestContextService.createRequestContext({
|
|
54
|
+
operation: 'ecfr-mirror:runner',
|
|
55
|
+
...(meta && { additionalContext: meta }),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
42
58
|
/**
|
|
43
59
|
* Version of the row-producing logic, bumped whenever an ingest change makes
|
|
44
60
|
* previously written rows wrong rather than merely stale. It is not a schema
|
|
@@ -139,7 +155,7 @@ function upsertPartIndex(handle, title, part, count, issueDate) {
|
|
|
139
155
|
*/
|
|
140
156
|
export const ecfrMirror = defineMirror({
|
|
141
157
|
name: 'ecfr-cfr-sections',
|
|
142
|
-
logger,
|
|
158
|
+
logger: mirrorLogger,
|
|
143
159
|
store: sqliteMirrorStore({
|
|
144
160
|
path: getServerConfig().ecfrMirrorPath,
|
|
145
161
|
table: TABLE,
|
|
@@ -458,16 +474,33 @@ async function fetchTitleXml(ecfr, title, date, ctx) {
|
|
|
458
474
|
}
|
|
459
475
|
/**
|
|
460
476
|
* A minimal `Context` shim for the sync ingester, which runs outside the MCP
|
|
461
|
-
* request pipeline (CLI / cron)
|
|
462
|
-
*
|
|
463
|
-
*
|
|
477
|
+
* request pipeline (CLI / cron), where there is no definition and so no declared
|
|
478
|
+
* error contract. The remaining Context surface is stubbed off a real
|
|
479
|
+
* RequestContext base.
|
|
480
|
+
*
|
|
481
|
+
* `recoveryFor` has to be one of the stubs: every eCFR fetch runs through
|
|
482
|
+
* `withUpstreamReason`, which calls it on any transport failure. Left off, an
|
|
483
|
+
* eCFR 5xx mid-sync raised `TypeError: ctx.recoveryFor is not a function` in
|
|
484
|
+
* place of the classified error — swallowed into a misleading "failed to fetch
|
|
485
|
+
* title N" on the per-title path, and fatal to the run on `listTitles`. `{}` is
|
|
486
|
+
* what the real resolver returns for a caller that declares nothing.
|
|
487
|
+
*
|
|
488
|
+
* The context is claimed for {@link ingestBudget} the moment it exists, because
|
|
489
|
+
* it is the one thing a whole run shares. A sync is hours of work against
|
|
490
|
+
* ~150 MB titles with nobody waiting on the answer, so the 45-second wall clock
|
|
491
|
+
* an MCP request gets is the wrong bound for every call it makes — not only the
|
|
492
|
+
* bulk read that asks for a long deadline outright, but the titles list the
|
|
493
|
+
* whole title loop is built from.
|
|
464
494
|
*/
|
|
465
495
|
function mirrorContext(signal) {
|
|
466
496
|
const base = requestContextService.createRequestContext({ operation: 'ecfr-mirror:sync' });
|
|
467
|
-
|
|
497
|
+
const ctx = {
|
|
468
498
|
...base,
|
|
469
499
|
signal,
|
|
470
500
|
log: logger,
|
|
501
|
+
recoveryFor: () => ({}),
|
|
471
502
|
};
|
|
503
|
+
ingestBudget(ctx);
|
|
504
|
+
return ctx;
|
|
472
505
|
}
|
|
473
506
|
//# sourceMappingURL=ecfr-mirror.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecfr-mirror.js","sourceRoot":"","sources":["../../../src/services/ecfr-mirror/ecfr-mirror.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ecfr-mirror.js","sourceRoot":"","sources":["../../../src/services/ecfr-mirror/ecfr-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EACL,YAAY,EAKZ,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,yCAAyC;AACzC,MAAM,KAAK,GAAG,cAAc,CAAC;AAC7B,kDAAkD;AAClD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAC1C,mEAAmE;AACnE,MAAM,UAAU,GAAG,iBAAiB,CAAC;AACrC,oFAAoF;AACpF,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAC1C,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAE5C,2FAA2F;AAC3F,MAAM,YAAY,GAAiB;IACjC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1E,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1E,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;CAC/E,CAAC;AAEF,4FAA4F;AAC5F,SAAS,mBAAmB,CAAC,IAAmD;IAC9E,OAAO,qBAAqB,CAAC,oBAAoB,CAAC;QAChD,SAAS,EAAE,oBAAoB;QAC/B,GAAG,CAAC,IAAI,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;KACzC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,2EAA2E;AAC3E,SAAS,KAAK,CAAC,KAAa,EAAE,IAAY,EAAE,OAAe;IACzD,OAAO,GAAG,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAoB;IAC3C,MAAM,CAAC,IAAI,CAAC;iCACmB,gBAAgB;;;;;;;iCAOhB,UAAU;;;;GAIxC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,MAAoB,EAAE,MAAgB;IAChE,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,0CAA0C;AAC1C,SAAS,SAAS,CAAC,MAAoB,EAAE,GAAW,EAAE,KAAa;IACjE,MAAM;SACH,OAAO,CACN,eAAe,UAAU;8DAC+B,CACzD;SACA,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC;AAED,6EAA6E;AAC7E,SAAS,QAAQ,CAAC,MAAoB,EAAE,GAAW;IACjD,IAAI,CAAC;QACH,OAAO,MAAM;aACV,OAAO,CAAoB,qBAAqB,UAAU,iBAAiB,CAAC;aAC5E,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;QAC/D,OAAO;IACT,CAAC;AACH,CAAC;AAED,wDAAwD;AACxD,SAAS,eAAe,CACtB,MAAoB,EACpB,KAAa,EACb,IAAY,EACZ,KAAa,EACb,SAAiB;IAEjB,MAAM;SACH,OAAO,CACN,eAAe,gBAAgB;;;;2CAIM,CACtC;SACA,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAW,YAAY,CAAC;IAC7C,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,iBAAiB,CAAC;QACvB,IAAI,EAAE,eAAe,EAAE,CAAC,cAAc;QACtC,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE;YACP,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,MAAM;SACnB;QACD,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QAC7B,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;KACvE,CAAC;IACF,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE;QACpB,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAElC,8DAA8D;QAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;QACtC,eAAe,CAAC,MAAM,CAAC,CAAC;QAExB,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1C,kBAAkB,CAChB,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACvD,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAC3B,IAAI,KAAK,CAAC,QAAQ;gBAAE,SAAS;YAC7B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,SAAS;YAEhD,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,YAAY,CAAC;YAC9D,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACpE,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,0EAA0E;YAC1E,uEAAuE;YACvE,wEAAwE;YACxE,0EAA0E;YAC1E,2EAA2E;YAC3E,kEAAkE;YAClE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,OAAO,CACZ,sBAAsB,KAAK,CAAC,MAAM,KAAK,SAAS,0FAA0F,EAC1I,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAC9E,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,OAAO,GAAgB,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC7C,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,wEAAwE;gBACxE,uEAAuE;gBACvE,wEAAwE;gBACxE,mEAAmE;gBACnE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1B,QAAQ,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;oBAC1C,KAAK,EAAE,KAAK,CAAC,MAAM;oBACnB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,SAAS,EAAE,CAAC,CAAC,QAAQ;oBACrB,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;gBACH,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,CAAC,OAAO,CACZ,wBAAwB,QAAQ,wBAAwB,KAAK,CAAC,MAAM,yBAAyB,EAC7F,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAC9E,CAAC;YACJ,CAAC;YAED,2EAA2E;YAC3E,0EAA0E;YAC1E,4EAA4E;YAC5E,wEAAwE;YACxE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,CACZ,sBAAsB,KAAK,CAAC,MAAM,KAAK,SAAS,gEAAgE,EAChH,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAC9E,CAAC;gBACF,SAAS;YACX,CAAC;YAED,uFAAuF;YACvF,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;gBACtB,MAAM,CAAC,OAAO,CAAC,eAAe,gBAAgB,mBAAmB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;oBACvC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM;gBACJ,OAAO;gBACP,UAAU;gBACV,UAAU,EAAE,SAAS;aACtB,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,yEAAyE;QACzE,2EAA2E;QAC3E,6EAA6E;QAC7E,yEAAyE;QACzE,yBAAyB;QACzB,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO;QAC3B,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,CACZ,yBAAyB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,qKAAqK,EACpN,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAC9E,CAAC;YACF,OAAO;QACT,CAAC;QACD,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IAChE,CAAC;CACF,CAAC,CAAC;AAEH,qDAAqD;AACrD,SAAS,UAAU,CAAC,MAAoB;IACtC,OAAO,MAAM;SACV,OAAO,CAAoB,8BAA8B,KAAK,GAAG,CAAC;SAClE,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,MAAoB,EAAE,KAAa,EAAE,OAAoB;IAC5E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,MAAM;SACV,OAAO,CAAiB,kBAAkB,KAAK,mBAAmB,CAAC;SACnE,GAAG,CAAC,KAAK,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACxB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,cAAc,CAAC;AAC9D,CAAC;AAcD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM;SAClB,OAAO,CACN,8BAA8B,gBAAgB,sBAAsB,CACrE;SACA,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO;QACL,QAAQ,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,MAAoB;IAC5C,OAAO,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;QACxC,EAAE,KAAK,CAAC,GAAG,CAAC;SACX,GAAG,CAAC,MAAM,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,IAAY,EACZ,OAAe;IAEf,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO;QACL,KAAK;QACL,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9C,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa,EACb,KAAyB,EACzB,IAAwB,EACxB,KAAa;IAEb,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;QACpC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;QACxB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,IAAI,EAAE,WAAW;QACjB,KAAK;QACL,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,MAAM,OAAO,GAAoB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC;QACpD,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,OAAO;YACb,OAAO;YACP,QAAQ,EAAE,IAAI;YACd,OAAO;YACP,aAAa,EAAE,SAAS,QAAQ,WAAW,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACvF,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC;YACpD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,QAAQ,OAAO,EAAE;SAC1F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC,gBAAgB,CAAC;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,MAAM,GAAG,KAAK;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,qEAAqE;AACrE,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK;SACrB,WAAW,EAAE;SACb,KAAK,CAAC,KAAK,CAAC;SACZ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACrC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;AACrE,CAAC;AAED,gFAAgF;AAChF,KAAK,UAAU,aAAa,CAC1B,IAAuC,EACvC,KAAa,EACb,IAAY,EACZ,GAAY;IAEZ,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,CAAC,OAAO,CACZ,sCAAsC,KAAK,KAAK,IAAI,MAAM,OAAO,EAAE,EACnE,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC,CACrF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,aAAa,CAAC,MAAmB;IACxC,MAAM,IAAI,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3F,MAAM,GAAG,GAAG;QACV,GAAG,IAAI;QACP,MAAM;QACN,GAAG,EAAE,MAAM;QACX,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;KACF,CAAC;IACxB,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
* @fileoverview FederalRegisterService — keyless client for the Federal Register
|
|
3
3
|
* API v1 (federalregister.gov/api/v1). Backs the document search, single-document
|
|
4
4
|
* fetch (with the cross-source docket/CFR handles), and the open-comment-window
|
|
5
|
-
* tools. Each method
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* tools. Each method runs the full fetch + parse pipeline through `runUpstream`,
|
|
6
|
+
* which bounds every attempt by the request's shared budget and retries inside
|
|
7
|
+
* it; `fetchWithTimeout` throws a classified `McpError` on a non-OK response, the
|
|
8
|
+
* response parser detects HTML error pages and re-throws them as transient, and
|
|
9
|
+
* `rethrowTransportFailure` re-codes the 5xx statuses the status→code map calls
|
|
10
|
+
* `InternalError`. A transport failure that survives retry leaves as
|
|
11
|
+
* `upstream_unavailable`; a 404 on a document lookup leaves as `not_found`.
|
|
10
12
|
* @module services/federal-register/federal-register-service
|
|
11
13
|
*/
|
|
12
14
|
import type { Context } from '@cyanheads/mcp-ts-core';
|
|
@@ -24,7 +26,16 @@ export declare class FederalRegisterService {
|
|
|
24
26
|
listOpenComments(params: OpenCommentsParams, asOf: string, ctx: Context): Promise<OpenCommentsResponse>;
|
|
25
27
|
/** Fetch + parse JSON with retry; HTML error pages become transient errors. */
|
|
26
28
|
private fetchJson;
|
|
27
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Fetch plain text (the document body) with retry.
|
|
31
|
+
*
|
|
32
|
+
* Every status this leg answers with is a transport failure. The URL is one the
|
|
33
|
+
* Federal Register just published in the document's own metadata, so no status
|
|
34
|
+
* it returns names a caller mistake — the document number was resolved by the
|
|
35
|
+
* fetch before it. A 404 here is the upstream contradicting itself, and the
|
|
36
|
+
* `NotFound` it maps to reads as "no such document" on a tool whose only
|
|
37
|
+
* declared `not_found` means exactly that.
|
|
38
|
+
*/
|
|
28
39
|
private fetchText;
|
|
29
40
|
}
|
|
30
41
|
export declare function initFederalRegisterService(config: AppConfig, storage: StorageService): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federal-register-service.d.ts","sourceRoot":"","sources":["../../../src/services/federal-register/federal-register-service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"federal-register-service.d.ts","sourceRoot":"","sources":["../../../src/services/federal-register/federal-register-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAO/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAGhB,kBAAkB,EAClB,oBAAoB,EAGrB,MAAM,YAAY,CAAC;AA+CpB,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,YAAY,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAEvD;IAED,iFAAiF;IAC3E,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6B5E;IAED,gFAAgF;IAC1E,WAAW,CACf,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,OAAO,EACxB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,gBAAgB,CAAC,CA6C3B;IAED,kFAAkF;IAC5E,gBAAgB,CACpB,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,oBAAoB,CAAC,CA4B/B;IAED,+EAA+E;IAC/E,OAAO,CAAC,SAAS;IA+BjB;;;;;;;;;OASG;IACH,OAAO,CAAC,SAAS;CAclB;AAiGD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE3F;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAOlE"}
|
|
@@ -2,18 +2,20 @@
|
|
|
2
2
|
* @fileoverview FederalRegisterService — keyless client for the Federal Register
|
|
3
3
|
* API v1 (federalregister.gov/api/v1). Backs the document search, single-document
|
|
4
4
|
* fetch (with the cross-source docket/CFR handles), and the open-comment-window
|
|
5
|
-
* tools. Each method
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* tools. Each method runs the full fetch + parse pipeline through `runUpstream`,
|
|
6
|
+
* which bounds every attempt by the request's shared budget and retries inside
|
|
7
|
+
* it; `fetchWithTimeout` throws a classified `McpError` on a non-OK response, the
|
|
8
|
+
* response parser detects HTML error pages and re-throws them as transient, and
|
|
9
|
+
* `rethrowTransportFailure` re-codes the 5xx statuses the status→code map calls
|
|
10
|
+
* `InternalError`. A transport failure that survives retry leaves as
|
|
11
|
+
* `upstream_unavailable`; a 404 on a document lookup leaves as `not_found`.
|
|
10
12
|
* @module services/federal-register/federal-register-service
|
|
11
13
|
*/
|
|
12
14
|
import { JsonRpcErrorCode, McpError, notFound, serviceUnavailable, } from '@cyanheads/mcp-ts-core/errors';
|
|
13
|
-
import { fetchWithTimeout,
|
|
15
|
+
import { fetchWithTimeout, withExtra } from '@cyanheads/mcp-ts-core/utils';
|
|
14
16
|
import { getServerConfig } from '../../config/server-config.js';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
+
import { requestBudget } from '../../services/request-budget.js';
|
|
18
|
+
import { rethrowTransportFailure, runUpstream } from '../../services/upstream-failure.js';
|
|
17
19
|
const TIMEOUT_MS = 15_000;
|
|
18
20
|
const BASE_DELAY_MS = 300;
|
|
19
21
|
/** Fields requested from the list/search endpoint. */
|
|
@@ -149,28 +151,54 @@ export class FederalRegisterService {
|
|
|
149
151
|
}
|
|
150
152
|
/** Fetch + parse JSON with retry; HTML error pages become transient errors. */
|
|
151
153
|
fetchJson(url, ctx, operation, expectedStatuses) {
|
|
152
|
-
const reqCtx =
|
|
153
|
-
return
|
|
154
|
-
const response = await fetchWithTimeout(url,
|
|
155
|
-
signal
|
|
154
|
+
const reqCtx = withExtra(ctx, { operation });
|
|
155
|
+
return runUpstream(ctx, requestBudget(ctx), { operation, context: reqCtx, attemptMs: TIMEOUT_MS, baseDelayMs: BASE_DELAY_MS }, async (deadlineMs, signal) => {
|
|
156
|
+
const response = await fetchWithTimeout(url, deadlineMs, reqCtx, {
|
|
157
|
+
signal,
|
|
156
158
|
...(expectedStatuses && { expectedStatuses }),
|
|
157
|
-
});
|
|
159
|
+
}).catch(rethrowTransportFailure);
|
|
160
|
+
// Reading the body is part of the attempt, so it runs under the same
|
|
161
|
+
// signal: a peer that sends headers and then stalls the stream is the
|
|
162
|
+
// same failure as one that never answers, and the deadline has to reach
|
|
163
|
+
// both.
|
|
158
164
|
const text = await response.text();
|
|
159
165
|
if (looksLikeHtml(text)) {
|
|
160
166
|
throw serviceUnavailable('Federal Register returned an HTML error page instead of JSON — likely momentarily unavailable.');
|
|
161
167
|
}
|
|
162
168
|
return JSON.parse(text);
|
|
163
|
-
}
|
|
169
|
+
});
|
|
164
170
|
}
|
|
165
|
-
/**
|
|
171
|
+
/**
|
|
172
|
+
* Fetch plain text (the document body) with retry.
|
|
173
|
+
*
|
|
174
|
+
* Every status this leg answers with is a transport failure. The URL is one the
|
|
175
|
+
* Federal Register just published in the document's own metadata, so no status
|
|
176
|
+
* it returns names a caller mistake — the document number was resolved by the
|
|
177
|
+
* fetch before it. A 404 here is the upstream contradicting itself, and the
|
|
178
|
+
* `NotFound` it maps to reads as "no such document" on a tool whose only
|
|
179
|
+
* declared `not_found` means exactly that.
|
|
180
|
+
*/
|
|
166
181
|
fetchText(url, ctx, operation) {
|
|
167
|
-
const reqCtx =
|
|
168
|
-
return
|
|
169
|
-
const response = await fetchWithTimeout(url,
|
|
182
|
+
const reqCtx = withExtra(ctx, { operation });
|
|
183
|
+
return runUpstream(ctx, requestBudget(ctx), { operation, context: reqCtx, attemptMs: TIMEOUT_MS, baseDelayMs: BASE_DELAY_MS }, async (deadlineMs, signal) => {
|
|
184
|
+
const response = await fetchWithTimeout(url, deadlineMs, reqCtx, { signal }).catch(rethrowBodyFailure);
|
|
170
185
|
return response.text();
|
|
171
|
-
}
|
|
186
|
+
});
|
|
172
187
|
}
|
|
173
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Re-raise a document-body fetch failure as a transport failure, so
|
|
191
|
+
* {@link withUpstreamReason} stamps it `upstream_unavailable` instead of letting
|
|
192
|
+
* the status→code map answer for a lookup this leg never performed. Keyed on
|
|
193
|
+
* `data.status`, which only a real HTTP response sets — a caller abort and a
|
|
194
|
+
* timeout keep their own classification.
|
|
195
|
+
*/
|
|
196
|
+
function rethrowBodyFailure(error) {
|
|
197
|
+
if (error instanceof McpError && typeof error.data?.status === 'number') {
|
|
198
|
+
throw serviceUnavailable(`Federal Register served HTTP ${error.data.status} for the document body URL it published.`, { ...error.data }, { cause: error });
|
|
199
|
+
}
|
|
200
|
+
throw error;
|
|
201
|
+
}
|
|
174
202
|
/** Map raw FR `cfr_references` (sparse) → domain `CfrReference[]`. */
|
|
175
203
|
function normalizeCfrReferences(raw) {
|
|
176
204
|
return (raw ?? [])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federal-register-service.js","sourceRoot":"","sources":["../../../src/services/federal-register/federal-register-service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"federal-register-service.js","sourceRoot":"","sources":["../../../src/services/federal-register/federal-register-service.ts"],"names":[],"mappings":"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"}
|