@cyanheads/congressgov-mcp-server 0.3.14 → 0.3.16
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 +7 -3
- package/CLAUDE.md +7 -3
- package/Dockerfile +2 -2
- package/README.md +1 -1
- package/dist/mcp-server/prompts/definitions/bill-analysis.prompt.d.ts.map +1 -1
- package/dist/mcp-server/prompts/definitions/bill-analysis.prompt.js +3 -2
- package/dist/mcp-server/prompts/definitions/bill-analysis.prompt.js.map +1 -1
- package/dist/mcp-server/prompts/definitions/legislative-research.prompt.d.ts.map +1 -1
- package/dist/mcp-server/prompts/definitions/legislative-research.prompt.js +4 -3
- package/dist/mcp-server/prompts/definitions/legislative-research.prompt.js.map +1 -1
- package/dist/mcp-server/resources/definitions/bill-types.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/bill-types.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/bill.resource.d.ts +11 -2
- package/dist/mcp-server/resources/definitions/bill.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/bill.resource.js +12 -3
- package/dist/mcp-server/resources/definitions/bill.resource.js.map +1 -1
- package/dist/mcp-server/resources/definitions/committee.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/committee.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/committee.resource.js +7 -2
- package/dist/mcp-server/resources/definitions/committee.resource.js.map +1 -1
- package/dist/mcp-server/resources/definitions/current-congress.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/current-congress.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/current-congress.resource.js +1 -1
- package/dist/mcp-server/resources/definitions/current-congress.resource.js.map +1 -1
- package/dist/mcp-server/resources/definitions/member.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/member.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/member.resource.js +4 -1
- package/dist/mcp-server/resources/definitions/member.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/bill-lookup.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/bill-lookup.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/bill-lookup.tool.js +2 -1
- package/dist/mcp-server/tools/definitions/bill-lookup.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/bill-summaries.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/bill-summaries.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/bill-summaries.tool.js +3 -5
- package/dist/mcp-server/tools/definitions/bill-summaries.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/committee-lookup.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/committee-lookup.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/committee-reports.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/committee-reports.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/crs-reports.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/crs-reports.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/daily-record.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/daily-record.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/daily-record.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/daily-record.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/enacted-laws.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/enacted-laws.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/enacted-laws.tool.js +6 -3
- package/dist/mcp-server/tools/definitions/enacted-laws.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/member-lookup.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/member-lookup.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/roll-votes.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/roll-votes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/senate-nominations.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/senate-nominations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/senate-nominations.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/senate-nominations.tool.js.map +1 -1
- package/dist/mcp-server/tools/format-helpers.d.ts.map +1 -1
- package/dist/mcp-server/tools/format-helpers.js +33 -3
- package/dist/mcp-server/tools/format-helpers.js.map +1 -1
- package/dist/services/congress-api/congress-api-service.d.ts +6 -1
- package/dist/services/congress-api/congress-api-service.d.ts.map +1 -1
- package/dist/services/congress-api/congress-api-service.js +89 -30
- package/dist/services/congress-api/congress-api-service.js.map +1 -1
- package/dist/services/congress-api/types.d.ts +7 -4
- package/dist/services/congress-api/types.d.ts.map +1 -1
- package/dist/services/congress-api/types.js +11 -1
- package/dist/services/congress-api/types.js.map +1 -1
- package/package.json +8 -7
- package/server.json +3 -3
|
@@ -6,12 +6,15 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
|
6
6
|
import { formatLaws } from '../../../mcp-server/tools/format-helpers.js';
|
|
7
7
|
import { getCongressApi } from '../../../services/congress-api/congress-api-service.js';
|
|
8
8
|
export const enactedLawsTool = tool('congressgov_enacted_laws', {
|
|
9
|
-
description: `Browse enacted public and private laws from Congress.gov. Use 'list' to browse laws by congress, or 'get' for a specific law's full detail. Each law references its origin bill for the full legislative history
|
|
9
|
+
description: `Browse enacted public and private laws from Congress.gov. Use 'list' to browse laws by congress, or 'get' for a specific law's full detail. Each law references its origin bill for the full legislative history.`,
|
|
10
10
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
11
11
|
input: z.object({
|
|
12
12
|
operation: z.enum(['list', 'get']).describe('Which data to retrieve.'),
|
|
13
13
|
congress: z.number().int().positive().describe('Congress number.'),
|
|
14
|
-
lawType: z
|
|
14
|
+
lawType: z
|
|
15
|
+
.enum(['pub', 'priv'])
|
|
16
|
+
.optional()
|
|
17
|
+
.describe("Law type — 'pub' (public laws, general application, most common) or 'priv' (private laws, specific individuals or entities). Required for 'get'."),
|
|
15
18
|
lawNumber: z.number().int().positive().optional().describe("Law number. Required for 'get'."),
|
|
16
19
|
limit: z.number().int().min(1).max(250).default(20).describe('Results per page (1-250).'),
|
|
17
20
|
offset: z.number().int().min(0).default(0).describe('Pagination offset.'),
|
|
@@ -31,7 +34,7 @@ export const enactedLawsTool = tool('congressgov_enacted_laws', {
|
|
|
31
34
|
return result;
|
|
32
35
|
}
|
|
33
36
|
if (!input.lawType || !input.lawNumber) {
|
|
34
|
-
throw new Error("The 'get' operation requires lawType ('pub' or 'priv') and lawNumber.");
|
|
37
|
+
throw new Error("The 'get' operation requires lawType ('pub' or 'priv') and lawNumber. Use 'list' to browse laws by congress.");
|
|
35
38
|
}
|
|
36
39
|
const result = await api.getLaw({
|
|
37
40
|
congress: input.congress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enacted-laws.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/enacted-laws.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,EAAE;IAC9D,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"enacted-laws.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/enacted-laws.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,EAAE;IAC9D,WAAW,EAAE,mNAAmN;IAChO,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClE,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aACrB,QAAQ,EAAE;aACV,QAAQ,CACP,kJAAkJ,CACnJ;QACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC7F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACzF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC1E,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC9E,MAAM,EAAE,UAAU;IAElB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAE7B,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAC/B;gBACE,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,EACD,GAAG,CACJ,CAAC;YACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAC7B;YACE,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,EACD,GAAG,CACJ,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -17,5 +17,5 @@ export declare const memberLookupTool: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
17
17
|
currentMember: z.ZodOptional<z.ZodBoolean>;
|
|
18
18
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
19
19
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
20
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
20
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
21
21
|
//# sourceMappingURL=member-lookup.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-lookup.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/member-lookup.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"member-lookup.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/member-lookup.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;6DA+F3B,CAAC"}
|
|
@@ -14,5 +14,5 @@ export declare const rollVotesTool: import("@cyanheads/mcp-ts-core").ToolDefinit
|
|
|
14
14
|
voteNumber: z.ZodOptional<z.ZodNumber>;
|
|
15
15
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
16
16
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
17
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
17
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
18
18
|
//# sourceMappingURL=roll-votes.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roll-votes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/roll-votes.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,aAAa;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"roll-votes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/roll-votes.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,aAAa;;;;;;;;;;;6DA+DxB,CAAC"}
|
|
@@ -17,5 +17,5 @@ export declare const senateNominationsTool: import("@cyanheads/mcp-ts-core").Too
|
|
|
17
17
|
ordinal: z.ZodOptional<z.ZodNumber>;
|
|
18
18
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
19
19
|
offset: z.ZodDefault<z.ZodNumber>;
|
|
20
|
-
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose
|
|
20
|
+
}, z.core.$strip>, z.ZodObject<{}, z.core.$loose>, undefined>;
|
|
21
21
|
//# sourceMappingURL=senate-nominations.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"senate-nominations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/senate-nominations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"senate-nominations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/senate-nominations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;6DAqGhC,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
|
6
6
|
import { formatNominations } from '../../../mcp-server/tools/format-helpers.js';
|
|
7
7
|
import { getCongressApi } from '../../../services/congress-api/congress-api-service.js';
|
|
8
8
|
export const senateNominationsTool = tool('congressgov_senate_nominations', {
|
|
9
|
-
description: `Browse presidential nominations to federal positions and track the Senate confirmation process. Nominations use 'PN' (Presidential Nomination) numbering, and a single nomination may contain multiple nominees
|
|
9
|
+
description: `Browse presidential nominations to federal positions and track the Senate confirmation process. Use 'list' to browse, 'get' for nomination detail, 'actions'/'committees'/'hearings' for confirmation pipeline data, or 'nominees' to retrieve individual appointees in a multi-nominee batch. Nominations use 'PN' (Presidential Nomination) numbering, and a single nomination may contain multiple nominees. Partitioned nominations (e.g., PN230-1, PN230-2) occur when nominees within one nomination follow different confirmation paths.`,
|
|
10
10
|
annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
|
|
11
11
|
input: z.object({
|
|
12
12
|
operation: z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"senate-nominations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/senate-nominations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,gCAAgC,EAAE;IAC1E,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"senate-nominations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/senate-nominations.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-helpers.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/format-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"format-helpers.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/format-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA+iBhD,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,CAUxE;AAaD,2DAA2D;AAC3D,eAAO,MAAM,eAAe,WAnChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,EAmCkB,CAAC;AAEpE,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,CAY1E;AAWD,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,CAS7E;AAED,kDAAkD;AAClD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,CASnF;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,CAI7E;AAED,8DAA8D;AAC9D,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,CAY9E;AAED,uCAAuC;AACvC,eAAO,MAAM,UAAU,WA7GX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,EA6Ge,CAAC;AAEjE,yDAAyD;AACzD,eAAO,MAAM,WAAW,WAhHZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,EAgHqB,CAAC;AAEvE,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,WAnHlB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,EAmHa,CAAC"}
|
|
@@ -26,6 +26,34 @@ function stripHtml(html) {
|
|
|
26
26
|
.replace(/\s+/g, ' ')
|
|
27
27
|
.trim();
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Convert upstream HTML (Congress.gov bill summaries are returned with `<p>`,
|
|
31
|
+
* `<strong>`, `<em>`, anchor tags) into readable Markdown that preserves
|
|
32
|
+
* paragraph and emphasis structure.
|
|
33
|
+
*/
|
|
34
|
+
function htmlToMarkdown(html) {
|
|
35
|
+
return html
|
|
36
|
+
.replace(/<\s*br\s*\/?\s*>/gi, '\n')
|
|
37
|
+
.replace(/<\s*\/p\s*>/gi, '\n\n')
|
|
38
|
+
.replace(/<\s*p[^>]*>/gi, '')
|
|
39
|
+
.replace(/<\s*(strong|b)\s*>/gi, '**')
|
|
40
|
+
.replace(/<\s*\/\s*(strong|b)\s*>/gi, '**')
|
|
41
|
+
.replace(/<\s*(em|i)\s*>/gi, '*')
|
|
42
|
+
.replace(/<\s*\/\s*(em|i)\s*>/gi, '*')
|
|
43
|
+
.replace(/<\s*a[^>]*href=["']([^"']*)["'][^>]*>([\s\S]*?)<\s*\/\s*a\s*>/gi, '[$2]($1)')
|
|
44
|
+
.replace(/<[^>]*>/g, '')
|
|
45
|
+
.replace(/ /g, ' ')
|
|
46
|
+
.replace(/'/g, "'")
|
|
47
|
+
.replace(/&/g, '&')
|
|
48
|
+
.replace(/</g, '<')
|
|
49
|
+
.replace(/>/g, '>')
|
|
50
|
+
.replace(/"/g, '"')
|
|
51
|
+
.replace(/[ \t]+/g, ' ')
|
|
52
|
+
.replace(/\n[ \t]+/g, '\n')
|
|
53
|
+
.replace(/[ \t]+\n/g, '\n')
|
|
54
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
55
|
+
.trim();
|
|
56
|
+
}
|
|
29
57
|
/** Safe deep access with HTML stripping. Handles string and number values. */
|
|
30
58
|
function s(obj, ...path) {
|
|
31
59
|
let cur = obj;
|
|
@@ -60,8 +88,9 @@ function pagHeader(result) {
|
|
|
60
88
|
function renderList(result, renderItem) {
|
|
61
89
|
const items = (result.data ?? []);
|
|
62
90
|
const header = pagHeader(result);
|
|
63
|
-
if (items.length === 0)
|
|
64
|
-
return header
|
|
91
|
+
if (items.length === 0) {
|
|
92
|
+
return `${header}\n\nNo results matched the query. Try broadening the filters — widen the date range, drop the type/chamber/state constraint, or remove the date window entirely.`;
|
|
93
|
+
}
|
|
65
94
|
const renderer = renderItem ?? renderGenericItem;
|
|
66
95
|
const rendered = items.map((item, i) => typeof item === 'object' && item !== null
|
|
67
96
|
? renderer(item, i)
|
|
@@ -321,7 +350,8 @@ function renderSummaryItem(item, i) {
|
|
|
321
350
|
const version = s(item, 'actionDesc') ?? s(item, 'versionCode') ?? '';
|
|
322
351
|
const actionDate = s(item, 'actionDate') ?? '';
|
|
323
352
|
const summaryUpdate = s(item, 'lastSummaryUpdateDate') ?? s(item, 'updateDate') ?? '';
|
|
324
|
-
const
|
|
353
|
+
const rawText = typeof item.text === 'string' ? item.text : '';
|
|
354
|
+
const text = rawText ? htmlToMarkdown(rawText) : '';
|
|
325
355
|
const url = s(item, 'url') ?? s(item, 'bill', 'url');
|
|
326
356
|
const ref = billType && billNum ? `${billType} ${billNum}` : 'Bill reference not available';
|
|
327
357
|
const heading = congress ? `${ref}, Congress ${congress}` : ref;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-helpers.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/format-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format-helpers.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/format-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ export declare class CongressApiService {
|
|
|
35
35
|
}>;
|
|
36
36
|
listNominations(params: ListNominationsParams, ctx?: Context): Promise<FetchListResult>;
|
|
37
37
|
getNomination(congress: number, nominationNumber: string, ctx?: Context): Promise<EntityResult<'nomination'>>;
|
|
38
|
-
getNominee(congress: number, nominationNumber: string,
|
|
38
|
+
getNominee(congress: number, nominationNumber: string, ordinalNum: number, params?: PaginationParams, ctx?: Context): Promise<FetchListResult>;
|
|
39
39
|
getNominationSubResource(params: NominationSubResourceParams, ctx?: Context): Promise<FetchListResult>;
|
|
40
40
|
listSummaries(params: ListSummariesParams, ctx?: Context): Promise<FetchListResult>;
|
|
41
41
|
listCrsReports(params?: PaginationParams, ctx?: Context): Promise<FetchListResult>;
|
|
@@ -50,6 +50,11 @@ export declare class CongressApiService {
|
|
|
50
50
|
getDailyArticles(params: GetDailyArticlesParams, ctx?: Context): Promise<FetchListResult>;
|
|
51
51
|
getCurrentCongress(ctx?: Context): Promise<CongressDetail>;
|
|
52
52
|
getCongress(congress: number, ctx?: Context): Promise<CongressDetail>;
|
|
53
|
+
/**
|
|
54
|
+
* Run an API call and rewrap a generic upstream 404 into an identifier-rich
|
|
55
|
+
* notFound error. Other errors propagate unchanged.
|
|
56
|
+
*/
|
|
57
|
+
private tryNotFound;
|
|
53
58
|
private fetchList;
|
|
54
59
|
private extractPagination;
|
|
55
60
|
private get;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"congress-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/congress-api/congress-api-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAWtD,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,cAAc,EAEd,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,2BAA2B,EAC3B,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzC,KAAK,YAAY,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAEjE,UAAU,eAAe;IACvB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"congress-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/congress-api/congress-api-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,48 @@ import { getServerConfig } from '../../config/server-config.js';
|
|
|
8
8
|
function isApiRecord(value) {
|
|
9
9
|
return typeof value === 'object' && value !== null;
|
|
10
10
|
}
|
|
11
|
+
/** English ordinal for a congress number — "119" → "119th". */
|
|
12
|
+
function ordinal(n) {
|
|
13
|
+
const lastTwo = n % 100;
|
|
14
|
+
if (lastTwo >= 11 && lastTwo <= 13)
|
|
15
|
+
return `${n}th`;
|
|
16
|
+
switch (n % 10) {
|
|
17
|
+
case 1:
|
|
18
|
+
return `${n}st`;
|
|
19
|
+
case 2:
|
|
20
|
+
return `${n}nd`;
|
|
21
|
+
case 3:
|
|
22
|
+
return `${n}rd`;
|
|
23
|
+
default:
|
|
24
|
+
return `${n}th`;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Normalize upstream casing: bioguideID → bioguideId. */
|
|
28
|
+
function normalizeVoteResult(item) {
|
|
29
|
+
if (!isApiRecord(item) || !('bioguideID' in item))
|
|
30
|
+
return item;
|
|
31
|
+
const { bioguideID, ...rest } = item;
|
|
32
|
+
return { bioguideId: bioguideID, ...rest };
|
|
33
|
+
}
|
|
34
|
+
/** Normalize upstream casing: relatedMaterials[].URL → url. */
|
|
35
|
+
function normalizeCrsReport(item) {
|
|
36
|
+
if (!isApiRecord(item) || !Array.isArray(item.relatedMaterials))
|
|
37
|
+
return item;
|
|
38
|
+
const normalized = item.relatedMaterials.map((entry) => {
|
|
39
|
+
if (!isApiRecord(entry) || !('URL' in entry))
|
|
40
|
+
return entry;
|
|
41
|
+
const { URL: upper, ...rest } = entry;
|
|
42
|
+
return 'url' in rest ? entry : { url: upper, ...rest };
|
|
43
|
+
});
|
|
44
|
+
return { ...item, relatedMaterials: normalized };
|
|
45
|
+
}
|
|
46
|
+
/** Normalize upstream casing: cmte_rpt_id → cmteRptId. */
|
|
47
|
+
function normalizeCommitteeReport(item) {
|
|
48
|
+
if (!isApiRecord(item) || !('cmte_rpt_id' in item))
|
|
49
|
+
return item;
|
|
50
|
+
const { cmte_rpt_id: snake, ...rest } = item;
|
|
51
|
+
return { cmteRptId: snake, ...rest };
|
|
52
|
+
}
|
|
11
53
|
/**
|
|
12
54
|
* The `/daily-congressional-record/{v}/{i}/articles` endpoint wraps articles
|
|
13
55
|
* in section objects: `[{ name, sectionArticles: [...] }]`. Upstream pagination
|
|
@@ -74,13 +116,13 @@ export class CongressApiService {
|
|
|
74
116
|
return this.fetchList(path, 'bills', params, ctx);
|
|
75
117
|
}
|
|
76
118
|
async getBill(params, ctx) {
|
|
77
|
-
const data = await this.get(`/bill/${params.congress}/${params.billType}/${params.billNumber}`, ctx);
|
|
119
|
+
const data = await this.tryNotFound(() => this.get(`/bill/${params.congress}/${params.billType}/${params.billNumber}`, ctx), `Bill ${params.billType.toUpperCase()} ${params.billNumber} not found in the ${ordinal(params.congress)} Congress.`, { ...params });
|
|
78
120
|
return { bill: data.bill };
|
|
79
121
|
}
|
|
80
122
|
getBillSubResource(params, ctx) {
|
|
81
123
|
const path = `/bill/${params.congress}/${params.billType}/${params.billNumber}/${params.subResource}`;
|
|
82
124
|
const key = this.inferListKey(params.subResource);
|
|
83
|
-
return this.fetchList(path, key, params, ctx);
|
|
125
|
+
return this.tryNotFound(() => this.fetchList(path, key, params, ctx), `Bill ${params.billType.toUpperCase()} ${params.billNumber} (or its ${params.subResource}) not found in the ${ordinal(params.congress)} Congress.`, { ...params });
|
|
84
126
|
}
|
|
85
127
|
// --- Laws ---
|
|
86
128
|
listLaws(params, ctx) {
|
|
@@ -91,7 +133,7 @@ export class CongressApiService {
|
|
|
91
133
|
}
|
|
92
134
|
async getLaw(params, ctx) {
|
|
93
135
|
/** Congress.gov returns the law endpoint payload under `bill` — a law is a bill that became law. */
|
|
94
|
-
const data = await this.get(`/law/${params.congress}/${params.lawType}/${params.lawNumber}`, ctx);
|
|
136
|
+
const data = await this.tryNotFound(() => this.get(`/law/${params.congress}/${params.lawType}/${params.lawNumber}`, ctx), `${params.lawType === 'pub' ? 'Public' : 'Private'} Law ${params.congress}-${params.lawNumber} not found.`, { ...params });
|
|
95
137
|
return { law: data.bill };
|
|
96
138
|
}
|
|
97
139
|
// --- Members ---
|
|
@@ -118,13 +160,13 @@ export class CongressApiService {
|
|
|
118
160
|
return this.fetchList(path, 'members', params, ctx, extraQuery);
|
|
119
161
|
}
|
|
120
162
|
async getMember(bioguideId, ctx) {
|
|
121
|
-
const data = await this.get(`/member/${bioguideId}`, ctx);
|
|
163
|
+
const data = await this.tryNotFound(() => this.get(`/member/${bioguideId}`, ctx), `Member ${bioguideId} not found. Bioguide IDs are one letter followed by six digits (e.g., P000197).`, { bioguideId });
|
|
122
164
|
return { member: data.member };
|
|
123
165
|
}
|
|
124
166
|
getMemberLegislation(params, ctx) {
|
|
125
167
|
const path = `/member/${params.bioguideId}/${params.type}`;
|
|
126
168
|
const key = params.type.replace('-legislation', 'Legislation');
|
|
127
|
-
return this.fetchList(path, key, params, ctx);
|
|
169
|
+
return this.tryNotFound(() => this.fetchList(path, key, params, ctx), `Member ${params.bioguideId} or their ${params.type.replace('-', ' ')} not found.`, { ...params });
|
|
128
170
|
}
|
|
129
171
|
// --- Committees ---
|
|
130
172
|
listCommittees(params, ctx) {
|
|
@@ -138,27 +180,28 @@ export class CongressApiService {
|
|
|
138
180
|
return this.fetchList(path, 'committees', params, ctx);
|
|
139
181
|
}
|
|
140
182
|
async getCommittee(chamber, committeeCode, ctx) {
|
|
141
|
-
const data = await this.get(`/committee/${chamber}/${committeeCode}`, ctx);
|
|
183
|
+
const data = await this.tryNotFound(() => this.get(`/committee/${chamber}/${committeeCode}`, ctx), `Committee ${committeeCode} not found in the ${chamber} chamber.`, { chamber, committeeCode });
|
|
142
184
|
return { committee: data.committee };
|
|
143
185
|
}
|
|
144
186
|
getCommitteeSubResource(params, ctx) {
|
|
145
187
|
const path = `/committee/${params.chamber}/${params.committeeCode}/${params.subResource}`;
|
|
146
188
|
const key = this.inferListKey(params.subResource);
|
|
147
|
-
return this.fetchList(path, key, params, ctx);
|
|
189
|
+
return this.tryNotFound(() => this.fetchList(path, key, params, ctx), `Committee ${params.committeeCode} (${params.chamber}) or its ${params.subResource} not found.`, { ...params });
|
|
148
190
|
}
|
|
149
191
|
// --- Votes ---
|
|
150
192
|
listVotes(params, ctx) {
|
|
151
193
|
return this.fetchList(`/house-vote/${params.congress}/${params.session}`, 'houseRollCallVotes', params, ctx);
|
|
152
194
|
}
|
|
153
195
|
async getVote(params, ctx) {
|
|
154
|
-
const data = await this.get(`/house-vote/${params.congress}/${params.session}/${params.voteNumber}`, ctx);
|
|
196
|
+
const data = await this.tryNotFound(() => this.get(`/house-vote/${params.congress}/${params.session}/${params.voteNumber}`, ctx), `House roll call vote ${params.voteNumber} not found in the ${ordinal(params.congress)} Congress, session ${params.session}.`, { ...params });
|
|
155
197
|
return { vote: (data.houseRollCallVote ?? data) };
|
|
156
198
|
}
|
|
157
199
|
async getVoteMembers(params, ctx) {
|
|
158
200
|
/** Congress.gov returns the full member list in a single response — the `members` endpoint ignores limit/offset query params — so paginate client-side. */
|
|
159
|
-
const data = await this.get(`/house-vote/${params.congress}/${params.session}/${params.voteNumber}/members`, ctx);
|
|
201
|
+
const data = await this.tryNotFound(() => this.get(`/house-vote/${params.congress}/${params.session}/${params.voteNumber}/members`, ctx), `House roll call vote ${params.voteNumber} not found in the ${ordinal(params.congress)} Congress, session ${params.session}.`, { ...params });
|
|
160
202
|
const voteRaw = (data.houseRollCallVoteMemberVotes ?? data);
|
|
161
|
-
const
|
|
203
|
+
const rawResults = Array.isArray(voteRaw.results) ? voteRaw.results : [];
|
|
204
|
+
const allResults = rawResults.map(normalizeVoteResult);
|
|
162
205
|
const limit = params.limit ?? 20;
|
|
163
206
|
const offset = params.offset ?? 0;
|
|
164
207
|
const paged = allResults.slice(offset, offset + limit);
|
|
@@ -173,16 +216,16 @@ export class CongressApiService {
|
|
|
173
216
|
return this.fetchList(`/nomination/${params.congress}`, 'nominations', params, ctx);
|
|
174
217
|
}
|
|
175
218
|
async getNomination(congress, nominationNumber, ctx) {
|
|
176
|
-
const data = await this.get(`/nomination/${congress}/${nominationNumber}`, ctx);
|
|
219
|
+
const data = await this.tryNotFound(() => this.get(`/nomination/${congress}/${nominationNumber}`, ctx), `Nomination PN${nominationNumber} not found in the ${ordinal(congress)} Congress.`, { congress, nominationNumber });
|
|
177
220
|
return { nomination: data.nomination };
|
|
178
221
|
}
|
|
179
|
-
getNominee(congress, nominationNumber,
|
|
180
|
-
return this.fetchList(`/nomination/${congress}/${nominationNumber}/${
|
|
222
|
+
getNominee(congress, nominationNumber, ordinalNum, params, ctx) {
|
|
223
|
+
return this.tryNotFound(() => this.fetchList(`/nomination/${congress}/${nominationNumber}/${ordinalNum}`, 'nominees', params, ctx), `Nominee batch ${ordinalNum} not found on PN${nominationNumber} (${ordinal(congress)} Congress). Use 'get' to see available ordinals on the nomination's nominees array.`, { congress, nominationNumber, ordinal: ordinalNum });
|
|
181
224
|
}
|
|
182
225
|
getNominationSubResource(params, ctx) {
|
|
183
226
|
const path = `/nomination/${params.congress}/${params.nominationNumber}/${params.subResource}`;
|
|
184
227
|
const key = this.inferListKey(params.subResource);
|
|
185
|
-
return this.fetchList(path, key, params, ctx);
|
|
228
|
+
return this.tryNotFound(() => this.fetchList(path, key, params, ctx), `Nomination PN${params.nominationNumber} (or its ${params.subResource}) not found in the ${ordinal(params.congress)} Congress.`, { ...params });
|
|
186
229
|
}
|
|
187
230
|
// --- Summaries ---
|
|
188
231
|
listSummaries(params, ctx) {
|
|
@@ -194,13 +237,15 @@ export class CongressApiService {
|
|
|
194
237
|
return this.fetchList(path, 'summaries', params, ctx);
|
|
195
238
|
}
|
|
196
239
|
// --- CRS Reports ---
|
|
197
|
-
listCrsReports(params, ctx) {
|
|
198
|
-
|
|
240
|
+
async listCrsReports(params, ctx) {
|
|
241
|
+
const result = await this.fetchList('/crsreport', 'CRSReports', params, ctx);
|
|
242
|
+
return { ...result, data: result.data.map(normalizeCrsReport) };
|
|
199
243
|
}
|
|
200
244
|
async getCrsReport(params, ctx) {
|
|
201
245
|
try {
|
|
202
246
|
const data = await this.get(`/crsreport/${params.reportNumber}`, ctx);
|
|
203
|
-
|
|
247
|
+
const report = (data.CRSReport ?? data);
|
|
248
|
+
return { report: normalizeCrsReport(report) };
|
|
204
249
|
}
|
|
205
250
|
catch (error) {
|
|
206
251
|
const statusCode = error instanceof McpError && typeof error.data?.statusCode === 'number'
|
|
@@ -209,34 +254,33 @@ export class CongressApiService {
|
|
|
209
254
|
const responseBody = error instanceof McpError && typeof error.data?.responseBody === 'string'
|
|
210
255
|
? error.data.responseBody
|
|
211
256
|
: '';
|
|
212
|
-
if (
|
|
213
|
-
|
|
257
|
+
if (error instanceof McpError &&
|
|
258
|
+
(error.code === JsonRpcErrorCode.NotFound ||
|
|
259
|
+
(statusCode === 500 && this.isMissingEntityErrorBody(responseBody)))) {
|
|
260
|
+
throw notFound(`CRS report ${params.reportNumber} not found. Report IDs use letter-number codes (e.g., R40097, RL33612, IF12345).`, { reportNumber: params.reportNumber }, { cause: error });
|
|
214
261
|
}
|
|
215
262
|
throw error;
|
|
216
263
|
}
|
|
217
264
|
}
|
|
218
265
|
// --- Committee Reports ---
|
|
219
|
-
listCommitteeReports(params, ctx) {
|
|
266
|
+
async listCommitteeReports(params, ctx) {
|
|
220
267
|
const path = params.reportType
|
|
221
268
|
? `/committee-report/${params.congress}/${params.reportType}`
|
|
222
269
|
: `/committee-report/${params.congress}`;
|
|
223
|
-
|
|
270
|
+
const result = await this.fetchList(path, 'reports', params, ctx);
|
|
271
|
+
return { ...result, data: result.data.map(normalizeCommitteeReport) };
|
|
224
272
|
}
|
|
225
273
|
async getCommitteeReport(params, ctx) {
|
|
226
|
-
const data = await this.get(`/committee-report/${params.congress}/${params.reportType}/${params.reportNumber}`, ctx);
|
|
274
|
+
const data = await this.tryNotFound(() => this.get(`/committee-report/${params.congress}/${params.reportType}/${params.reportNumber}`, ctx), `Committee report ${params.reportType.toUpperCase()} ${params.congress}-${params.reportNumber} not found.`, { ...params });
|
|
227
275
|
const reports = data.committeeReports;
|
|
228
276
|
const report = Array.isArray(reports) ? reports[0] : (reports ?? data);
|
|
229
277
|
if (!report || (typeof report === 'object' && Object.keys(report).length === 0)) {
|
|
230
|
-
throw notFound(
|
|
231
|
-
congress: params.congress,
|
|
232
|
-
reportType: params.reportType,
|
|
233
|
-
reportNumber: params.reportNumber,
|
|
234
|
-
});
|
|
278
|
+
throw notFound(`Committee report ${params.reportType.toUpperCase()} ${params.congress}-${params.reportNumber} not found.`, { ...params });
|
|
235
279
|
}
|
|
236
280
|
return { report: report };
|
|
237
281
|
}
|
|
238
282
|
async getCommitteeReportText(params, ctx) {
|
|
239
|
-
const data = await this.get(`/committee-report/${params.congress}/${params.reportType}/${params.reportNumber}/text`, ctx);
|
|
283
|
+
const data = await this.tryNotFound(() => this.get(`/committee-report/${params.congress}/${params.reportType}/${params.reportNumber}/text`, ctx), `Committee report ${params.reportType.toUpperCase()} ${params.congress}-${params.reportNumber} text not found.`, { ...params });
|
|
240
284
|
return { text: data.text ?? data['text-versions'] ?? data };
|
|
241
285
|
}
|
|
242
286
|
// --- Daily Congressional Record ---
|
|
@@ -244,11 +288,11 @@ export class CongressApiService {
|
|
|
244
288
|
return this.fetchList('/daily-congressional-record', 'dailyCongressionalRecord', params, ctx);
|
|
245
289
|
}
|
|
246
290
|
getDailyIssues(params, ctx) {
|
|
247
|
-
return this.fetchList(`/daily-congressional-record/${params.volumeNumber}`, 'dailyCongressionalRecord', params, ctx);
|
|
291
|
+
return this.tryNotFound(() => this.fetchList(`/daily-congressional-record/${params.volumeNumber}`, 'dailyCongressionalRecord', params, ctx), `Volume ${params.volumeNumber} not found in the daily Congressional Record.`, { ...params });
|
|
248
292
|
}
|
|
249
293
|
async getDailyArticles(params, ctx) {
|
|
250
294
|
const path = `/daily-congressional-record/${params.volumeNumber}/${params.issueNumber}/articles`;
|
|
251
|
-
const result = await this.fetchList(path, 'articles', params, ctx);
|
|
295
|
+
const result = await this.tryNotFound(() => this.fetchList(path, 'articles', params, ctx), `Issue ${params.issueNumber} of volume ${params.volumeNumber} not found in the daily Congressional Record.`, { ...params });
|
|
252
296
|
return { data: flattenArticleSections(result.data), pagination: result.pagination };
|
|
253
297
|
}
|
|
254
298
|
// --- Congress metadata ---
|
|
@@ -261,6 +305,21 @@ export class CongressApiService {
|
|
|
261
305
|
return data.congress;
|
|
262
306
|
}
|
|
263
307
|
// --- Internal ---
|
|
308
|
+
/**
|
|
309
|
+
* Run an API call and rewrap a generic upstream 404 into an identifier-rich
|
|
310
|
+
* notFound error. Other errors propagate unchanged.
|
|
311
|
+
*/
|
|
312
|
+
async tryNotFound(fn, message, data) {
|
|
313
|
+
try {
|
|
314
|
+
return await fn();
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
if (error instanceof McpError && error.code === JsonRpcErrorCode.NotFound) {
|
|
318
|
+
throw notFound(message, data, { cause: error });
|
|
319
|
+
}
|
|
320
|
+
throw error;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
264
323
|
async fetchList(path, listKey, params, ctx, extraQuery) {
|
|
265
324
|
const data = await this.get(path, ctx, this.buildQuery(params, extraQuery));
|
|
266
325
|
const items = this.extractListItems(data[listKey]);
|