@cyanheads/congressgov-mcp-server 0.3.24 → 0.3.26

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 (31) hide show
  1. package/AGENTS.md +16 -6
  2. package/CLAUDE.md +16 -6
  3. package/README.md +7 -6
  4. package/dist/index.js +3 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/mcp-server/tools/definitions/roll-votes.tool.d.ts +7 -1
  7. package/dist/mcp-server/tools/definitions/roll-votes.tool.d.ts.map +1 -1
  8. package/dist/mcp-server/tools/definitions/roll-votes.tool.js +73 -22
  9. package/dist/mcp-server/tools/definitions/roll-votes.tool.js.map +1 -1
  10. package/dist/mcp-server/tools/format-helpers.d.ts +5 -1
  11. package/dist/mcp-server/tools/format-helpers.d.ts.map +1 -1
  12. package/dist/mcp-server/tools/format-helpers.js +237 -23
  13. package/dist/mcp-server/tools/format-helpers.js.map +1 -1
  14. package/dist/services/congress-api/congress-api-service.d.ts +3 -1
  15. package/dist/services/congress-api/congress-api-service.d.ts.map +1 -1
  16. package/dist/services/congress-api/congress-api-service.js +8 -3
  17. package/dist/services/congress-api/congress-api-service.js.map +1 -1
  18. package/dist/services/senate-lis/parse.d.ts +32 -0
  19. package/dist/services/senate-lis/parse.d.ts.map +1 -0
  20. package/dist/services/senate-lis/parse.js +229 -0
  21. package/dist/services/senate-lis/parse.js.map +1 -0
  22. package/dist/services/senate-lis/senate-vote-service.d.ts +73 -0
  23. package/dist/services/senate-lis/senate-vote-service.d.ts.map +1 -0
  24. package/dist/services/senate-lis/senate-vote-service.js +182 -0
  25. package/dist/services/senate-lis/senate-vote-service.js.map +1 -0
  26. package/dist/services/senate-lis/types.d.ts +122 -0
  27. package/dist/services/senate-lis/types.d.ts.map +1 -0
  28. package/dist/services/senate-lis/types.js +16 -0
  29. package/dist/services/senate-lis/types.js.map +1 -0
  30. package/package.json +2 -1
  31. package/server.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"senate-vote-service.js","sourceRoot":"","sources":["../../../src/services/senate-lis/senate-vote-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * @fileoverview Domain types for Senate LIS roll-call vote data.
3
+ *
4
+ * The Congress.gov API v3 exposes House votes only; Senate roll call votes are
5
+ * published solely through the Senate's official LIS XML feed
6
+ * (https://www.senate.gov/legislative/LIS/roll_call_votes/). These types describe
7
+ * the normalized, camelCased shapes the parser produces from that XML — distinct
8
+ * from the House JSON shapes the Congress.gov API returns.
9
+ *
10
+ * Every record carries `chamber: 'senate'` so the shared vote formatter can route
11
+ * Senate payloads to the Senate renderers without inspecting field shapes.
12
+ *
13
+ * @module services/senate-lis/types
14
+ */
15
+ /** A single row from the Senate vote menu (`vote_menu_{congress}_{session}.xml`). */
16
+ export type SenateVoteSummary = {
17
+ chamber: 'senate';
18
+ /** Roll call number within the session (1-based, not zero-padded). */
19
+ voteNumber: number;
20
+ /** Short date as published in the menu, e.g. "21-Dec" (no year — derive from session). */
21
+ voteDate?: string;
22
+ /** Associated measure label, e.g. "H.R. 10545", "PN373". */
23
+ issue?: string;
24
+ /** Vote question, e.g. "On Passage of the Bill", "On the Amendment". */
25
+ question?: string;
26
+ /** Amendment reference parsed from the menu question's nested `<measure>`, when present. */
27
+ measure?: string;
28
+ /** Outcome, e.g. "Passed", "Agreed to", "Rejected". */
29
+ result?: string;
30
+ yeas: number;
31
+ nays: number;
32
+ /** Full title / description of the matter voted on. */
33
+ title?: string;
34
+ };
35
+ /** Associated legislative document attached to a Senate vote (bill, nomination, amendment). */
36
+ export type SenateVoteDocument = {
37
+ congress?: number;
38
+ /** Document type, e.g. "PN" (nomination), "S.", "H.R.", "S.Amdt.". */
39
+ type?: string;
40
+ number?: string;
41
+ name?: string;
42
+ title?: string;
43
+ shortTitle?: string;
44
+ };
45
+ /** Amendment metadata, populated only on amendment votes. */
46
+ export type SenateVoteAmendment = {
47
+ number?: string;
48
+ toDocumentNumber?: string;
49
+ toDocumentShortTitle?: string;
50
+ purpose?: string;
51
+ };
52
+ /** Official tally block from the vote record. */
53
+ export type SenateVoteCount = {
54
+ yeas: number;
55
+ nays: number;
56
+ present: number;
57
+ absent: number;
58
+ };
59
+ /**
60
+ * Per-party tally derived from the member roster. The LIS feed does not publish a
61
+ * party breakdown, so this is computed from each member's party + cast — honest
62
+ * aggregation of real per-member data, not an upstream-provided figure.
63
+ */
64
+ export type SenatePartyTotal = {
65
+ /** Party code: "D", "R", "I". */
66
+ party: string;
67
+ yea: number;
68
+ nay: number;
69
+ present: number;
70
+ /** "Not Voting" casts (the Senate term for absent). */
71
+ notVoting: number;
72
+ };
73
+ /** A fully parsed Senate roll call vote record (`vote_{congress}_{session}_{nnnnn}.xml`). */
74
+ export type SenateVoteDetail = {
75
+ chamber: 'senate';
76
+ congress: number;
77
+ session: number;
78
+ voteNumber: number;
79
+ /** Full timestamp, e.g. "January 8, 2024, 05:27 PM". */
80
+ voteDate?: string;
81
+ modifyDate?: string;
82
+ /** Short question, e.g. "On the Cloture Motion". */
83
+ question?: string;
84
+ /** Full question text, e.g. "On the Cloture Motion PN1020". */
85
+ voteQuestionText?: string;
86
+ voteTitle?: string;
87
+ /** Outcome label, e.g. "Cloture Motion Agreed to". */
88
+ voteResult?: string;
89
+ /** Outcome with tally, e.g. "Cloture Motion Agreed to (73-15)". */
90
+ voteResultText?: string;
91
+ /** Narrative describing the matter (nominee bio, amendment purpose). */
92
+ voteDocumentText?: string;
93
+ /** Threshold required to prevail, e.g. "1/2", "3/5", "2/3". */
94
+ majorityRequirement?: string;
95
+ count: SenateVoteCount;
96
+ document?: SenateVoteDocument;
97
+ amendment?: SenateVoteAmendment;
98
+ /** Party breakdown derived from the roster (present on `get`, omitted on `members`). */
99
+ partyTotals?: SenatePartyTotal[];
100
+ };
101
+ /** One member's recorded position on a Senate roll call. */
102
+ export type SenateMemberVote = {
103
+ chamber: 'senate';
104
+ /** Display name as published, e.g. "Baldwin (D-WI)". */
105
+ memberFull?: string;
106
+ firstName?: string;
107
+ lastName?: string;
108
+ /** Party code: "D", "R", "I". */
109
+ party?: string;
110
+ /** Two-letter state code. */
111
+ state?: string;
112
+ /** Cast: "Yea", "Nay", "Present", or "Not Voting". */
113
+ voteCast?: string;
114
+ /** Senate LIS member identifier, e.g. "S354". */
115
+ lisMemberId?: string;
116
+ };
117
+ /** Parsed individual-vote payload: the vote record plus its full member roster. */
118
+ export type ParsedRollCallVote = {
119
+ vote: SenateVoteDetail;
120
+ members: SenateMemberVote[];
121
+ };
122
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/senate-lis/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview Domain types for Senate LIS roll-call vote data.
3
+ *
4
+ * The Congress.gov API v3 exposes House votes only; Senate roll call votes are
5
+ * published solely through the Senate's official LIS XML feed
6
+ * (https://www.senate.gov/legislative/LIS/roll_call_votes/). These types describe
7
+ * the normalized, camelCased shapes the parser produces from that XML — distinct
8
+ * from the House JSON shapes the Congress.gov API returns.
9
+ *
10
+ * Every record carries `chamber: 'senate'` so the shared vote formatter can route
11
+ * Senate payloads to the Senate renderers without inspecting field shapes.
12
+ *
13
+ * @module services/senate-lis/types
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/senate-lis/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/congressgov-mcp-server",
3
- "version": "0.3.24",
3
+ "version": "0.3.26",
4
4
  "description": "Access U.S. congressional data - bills, votes, members, committees - through MCP. STDIO & Streamable HTTP.",
5
5
  "mcpName": "io.github.cyanheads/congressgov-mcp-server",
6
6
  "type": "module",
@@ -77,6 +77,7 @@
77
77
  },
78
78
  "dependencies": {
79
79
  "@cyanheads/mcp-ts-core": "^0.9.16",
80
+ "fast-xml-parser": "^5.8.0",
80
81
  "pino-pretty": "^13.1.3",
81
82
  "zod": "^4.4.3"
82
83
  },
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/congressgov-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.3.24",
9
+ "version": "0.3.26",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -19,7 +19,7 @@
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/congressgov-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "0.3.24",
22
+ "version": "0.3.26",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -54,7 +54,7 @@
54
54
  "registryBaseUrl": "https://registry.npmjs.org",
55
55
  "identifier": "@cyanheads/congressgov-mcp-server",
56
56
  "runtimeHint": "bun",
57
- "version": "0.3.24",
57
+ "version": "0.3.26",
58
58
  "packageArguments": [
59
59
  {
60
60
  "type": "positional",