tn-elections-mcp 0.6.0 → 0.7.1
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/dist/api/gemini-pdf.js +36 -10
- package/dist/api/gemini-pdf.js.map +1 -1
- package/dist/api/sos-client.d.ts +0 -8
- package/dist/api/sos-client.js +31 -1
- package/dist/api/sos-client.js.map +1 -1
- package/dist/api/tncamp-client.d.ts +10 -1
- package/dist/api/tncamp-client.js +18 -4
- package/dist/api/tncamp-client.js.map +1 -1
- package/dist/parsers/tncamp-report.js +208 -115
- package/dist/parsers/tncamp-report.js.map +1 -1
- package/dist/parsers/tncamp-report.test.d.ts +1 -0
- package/dist/parsers/tncamp-report.test.js +856 -0
- package/dist/parsers/tncamp-report.test.js.map +1 -0
- package/dist/parsers/tncamp-results.js +1 -1
- package/dist/parsers/tncamp-results.js.map +1 -1
- package/dist/tools/sos.js +7 -3
- package/dist/tools/sos.js.map +1 -1
- package/dist/tools/tncamp.js +26 -9
- package/dist/tools/tncamp.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/package.json +3 -2
package/dist/api/gemini-pdf.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { execFile } from 'child_process';
|
|
11
11
|
import { promisify } from 'util';
|
|
12
|
-
import { writeFileSync, readFileSync, existsSync,
|
|
12
|
+
import { writeFileSync, readFileSync, existsSync, rmSync, mkdtempSync } from 'fs';
|
|
13
13
|
import { join } from 'path';
|
|
14
14
|
import { tmpdir } from 'os';
|
|
15
15
|
const GEMINI_MODEL = 'gemini-2.5-flash';
|
|
@@ -21,15 +21,37 @@ function getApiKey() {
|
|
|
21
21
|
}
|
|
22
22
|
const GEMINI_URL = `https://generativelanguage.googleapis.com/v1beta/models/${GEMINI_MODEL}:generateContent`;
|
|
23
23
|
async function fetchPdf(url) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
// ⚠️ Check Content-Length up front and stream with a running cap. Buffering the whole body
|
|
25
|
+
// first and checking afterwards means a 10GB response is fully resident before it is rejected.
|
|
26
|
+
// This fetch also had no timeout (the napkin's note about removing an AbortController applies
|
|
27
|
+
// to the Gemini call, not to this download).
|
|
28
|
+
const controller = new AbortController();
|
|
29
|
+
const timer = setTimeout(() => controller.abort(), 60_000);
|
|
30
|
+
try {
|
|
31
|
+
const response = await fetch(url, { signal: controller.signal });
|
|
32
|
+
if (!response.ok) {
|
|
33
|
+
throw new Error(`Failed to download PDF: ${response.status} ${response.statusText}`);
|
|
34
|
+
}
|
|
35
|
+
const declared = Number(response.headers.get('content-length') || 0);
|
|
36
|
+
if (declared > MAX_PDF_SIZE) {
|
|
37
|
+
throw new Error(`PDF too large: ${(declared / 1024 / 1024).toFixed(1)}MB (max ${MAX_PDF_SIZE / 1024 / 1024}MB)`);
|
|
38
|
+
}
|
|
39
|
+
if (!response.body)
|
|
40
|
+
return Buffer.from(await response.arrayBuffer());
|
|
41
|
+
const chunks = [];
|
|
42
|
+
let total = 0;
|
|
43
|
+
for await (const chunk of response.body) {
|
|
44
|
+
total += chunk.length;
|
|
45
|
+
if (total > MAX_PDF_SIZE) {
|
|
46
|
+
throw new Error(`PDF too large: exceeded ${MAX_PDF_SIZE / 1024 / 1024}MB while downloading`);
|
|
47
|
+
}
|
|
48
|
+
chunks.push(Buffer.from(chunk));
|
|
49
|
+
}
|
|
50
|
+
return Buffer.concat(chunks);
|
|
27
51
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
throw new Error(`PDF too large: ${(buffer.length / 1024 / 1024).toFixed(1)}MB (max ${MAX_PDF_SIZE / 1024 / 1024}MB)`);
|
|
52
|
+
finally {
|
|
53
|
+
clearTimeout(timer);
|
|
31
54
|
}
|
|
32
|
-
return buffer;
|
|
33
55
|
}
|
|
34
56
|
const EXTRACTION_PROMPT = `Extract ALL data from this Tennessee campaign finance disclosure PDF into valid JSON.
|
|
35
57
|
|
|
@@ -188,8 +210,12 @@ async function extractViaGemini(pdfBuffer, reportName) {
|
|
|
188
210
|
}
|
|
189
211
|
const execFileAsync = promisify(execFile);
|
|
190
212
|
async function convertPdfToImages(pdfBuffer, maxPages = 10) {
|
|
191
|
-
|
|
192
|
-
|
|
213
|
+
// ⚠️ mkdtempSync, NOT join(tmpdir(), predictable-name). `mkdirSync(..., {recursive:true})`
|
|
214
|
+
// succeeds on a pre-existing symlink and the subsequent write lands in the link target. On
|
|
215
|
+
// macOS os.tmpdir() is a private per-user dir so this is inert, but on Linux it is
|
|
216
|
+
// world-writable /tmp and Date.now() is guessable — an arbitrary-file-write primitive for
|
|
217
|
+
// anyone consuming this package there. mkdtempSync creates a fresh 0700 dir atomically.
|
|
218
|
+
const tmpDir = mkdtempSync(join(tmpdir(), 'tn-elections-pdf-'));
|
|
193
219
|
const pdfPath = join(tmpDir, 'report.pdf');
|
|
194
220
|
writeFileSync(pdfPath, pdfBuffer);
|
|
195
221
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-pdf.js","sourceRoot":"","sources":["../../src/api/gemini-pdf.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"gemini-pdf.js","sourceRoot":"","sources":["../../src/api/gemini-pdf.ts"],"names":[],"mappings":"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"}
|
package/dist/api/sos-client.d.ts
CHANGED
|
@@ -4,12 +4,4 @@
|
|
|
4
4
|
* No auth, no sessions — just static page scraping + xlsx download.
|
|
5
5
|
*/
|
|
6
6
|
import type { SosCandidateIndex } from '../types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Fetch and parse all SOS candidate filing data for a given election year.
|
|
9
|
-
*
|
|
10
|
-
* 1. Fetches the HTML page listing xlsx/pdf download links
|
|
11
|
-
* 2. Downloads all xlsx files in parallel
|
|
12
|
-
* 3. Parses each into typed candidate records
|
|
13
|
-
* 4. Caches the combined result for 15 minutes
|
|
14
|
-
*/
|
|
15
7
|
export declare function getFiledCandidates(year?: number): Promise<SosCandidateIndex>;
|
package/dist/api/sos-client.js
CHANGED
|
@@ -10,11 +10,22 @@ const cache = new Map();
|
|
|
10
10
|
function buildPageUrl(year) {
|
|
11
11
|
return `https://sos.tn.gov/elections/${year}-candidate-lists`;
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* ⚠️ sos.tn.gov 403s Node's DEFAULT User-Agent. Measured 2026-08-29 against
|
|
15
|
+
* https://sos.tn.gov/elections/2026-candidate-lists — default UA returns 403, a browser UA
|
|
16
|
+
* returns 200. Without this header all three SOS tools fail, and they fail with the misleading
|
|
17
|
+
* message "No candidate list files found", which reads like the page changed rather than like
|
|
18
|
+
* the request was refused.
|
|
19
|
+
*/
|
|
20
|
+
const BROWSER_UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0 Safari/537.36';
|
|
13
21
|
async function fetchWithTimeout(url) {
|
|
14
22
|
const controller = new AbortController();
|
|
15
23
|
const timeout = setTimeout(() => controller.abort(), TIMEOUT_MS);
|
|
16
24
|
try {
|
|
17
|
-
const response = await fetch(url, {
|
|
25
|
+
const response = await fetch(url, {
|
|
26
|
+
signal: controller.signal,
|
|
27
|
+
headers: { 'User-Agent': BROWSER_UA, Accept: 'text/html,application/xhtml+xml,*/*' },
|
|
28
|
+
});
|
|
18
29
|
if (!response.ok) {
|
|
19
30
|
throw new Error(`HTTP ${response.status} fetching ${url}`);
|
|
20
31
|
}
|
|
@@ -32,6 +43,20 @@ async function fetchWithTimeout(url) {
|
|
|
32
43
|
* 3. Parses each into typed candidate records
|
|
33
44
|
* 4. Caches the combined result for 15 minutes
|
|
34
45
|
*/
|
|
46
|
+
const SOS_ALLOWED_HOSTS = new Set(['sos.tn.gov', 'www.sos.tn.gov', 'sos-prod.tnsosgovfiles.com']);
|
|
47
|
+
/** Reject a scraped file URL that points anywhere but the SoS's own hosts, over https. */
|
|
48
|
+
function assertSosHost(rawUrl) {
|
|
49
|
+
let u;
|
|
50
|
+
try {
|
|
51
|
+
u = new URL(rawUrl);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
throw new Error(`Refusing to fetch malformed candidate-list URL: ${rawUrl}`);
|
|
55
|
+
}
|
|
56
|
+
if (u.protocol !== 'https:' || !SOS_ALLOWED_HOSTS.has(u.hostname)) {
|
|
57
|
+
throw new Error(`Refusing to fetch candidate list from unexpected host: ${u.hostname}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
35
60
|
export async function getFiledCandidates(year = 2026) {
|
|
36
61
|
// Check cache
|
|
37
62
|
const cached = cache.get(year);
|
|
@@ -49,6 +74,11 @@ export async function getFiledCandidates(year = 2026) {
|
|
|
49
74
|
}
|
|
50
75
|
// Download all xlsx files in parallel (small files, ~10-18KB each)
|
|
51
76
|
const xlsxResults = await Promise.all(offices.map(async (office) => {
|
|
77
|
+
// ⚠️ The xlsx URL is scraped from the page's own href, so it is remote-controlled and the
|
|
78
|
+
// bytes go straight into XLSX.read (a parser with known unfixed advisories). Pin the host.
|
|
79
|
+
// NOTE the real links live on a DIFFERENT host than the page — sos.tn.gov serves the index,
|
|
80
|
+
// sos-prod.tnsosgovfiles.com serves the files — so a naive one-host check breaks the tool.
|
|
81
|
+
assertSosHost(office.xlsxUrl);
|
|
52
82
|
const response = await fetchWithTimeout(office.xlsxUrl);
|
|
53
83
|
const buffer = await response.arrayBuffer();
|
|
54
84
|
return { office, buffer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sos-client.js","sourceRoot":"","sources":["../../src/api/sos-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAE1E,MAAM,UAAU,GAAG,MAAM,CAAA;AACzB,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAE,aAAa;AAElD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAA;AAElD,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,gCAAgC,IAAI,kBAAkB,CAAA;AAC/D,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACzC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAA;IAChE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"sos-client.js","sourceRoot":"","sources":["../../src/api/sos-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,16 @@ export declare function searchCandidates(params: CandidateSearchParams): Promise
|
|
|
27
27
|
export declare function getCandidateReports(candidateId: number, ownerName: string): Promise<TncampReport[]>;
|
|
28
28
|
export declare function getReportDetail(reportId: number): Promise<TncampReportDetail>;
|
|
29
29
|
export interface ContributionSearchParams {
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Filter by the candidate/PAC that RECEIVED the contribution.
|
|
32
|
+
*
|
|
33
|
+
* ⚠️ There is deliberately NO `candName` here. tncamp IGNORES `candName` on the contributions
|
|
34
|
+
* form — measured 2026-08-29, `candName=HANCOCK` and `candName=ZZQXNONEXISTENT` both returned
|
|
35
|
+
* the identical unfiltered 912-record set. Omitting it from the type turns a silently wrong
|
|
36
|
+
* result into a compile error. `candName` remains valid on ExpenditureSearchParams, where it
|
|
37
|
+
* genuinely filters.
|
|
38
|
+
*/
|
|
39
|
+
recipientName?: string;
|
|
31
40
|
contributorName?: string;
|
|
32
41
|
employer?: string;
|
|
33
42
|
occupation?: string;
|
|
@@ -65,8 +65,15 @@ async function submitForm(session, formPath, params) {
|
|
|
65
65
|
if (!location) {
|
|
66
66
|
return decodeBody(postResponse);
|
|
67
67
|
}
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
// ⚠️ Never follow a redirect off-host while re-attaching the session cookie. Manually
|
|
69
|
+
// re-adding Cookie also bypasses the cross-origin stripping an automatic redirect would do,
|
|
70
|
+
// so a hostile upstream could point this at a link-local or RFC1918 address and have the
|
|
71
|
+
// body parsed and returned to the model.
|
|
72
|
+
const resultsUrl = new URL(location, BASE);
|
|
73
|
+
if (resultsUrl.protocol !== 'https:' || resultsUrl.host !== 'apps.tn.gov') {
|
|
74
|
+
throw new Error(`Refusing to follow redirect off apps.tn.gov: ${resultsUrl.host}`);
|
|
75
|
+
}
|
|
76
|
+
const resultsResponse = await fetchWithTimeout(resultsUrl.toString(), {
|
|
70
77
|
headers: { 'Cookie': session.cookie },
|
|
71
78
|
});
|
|
72
79
|
return decodeBody(resultsResponse);
|
|
@@ -215,7 +222,9 @@ function buildCeFormData(searchType, params) {
|
|
|
215
222
|
const form = new URLSearchParams();
|
|
216
223
|
form.set('searchType', searchType);
|
|
217
224
|
form.set('toType', 'both');
|
|
218
|
-
|
|
225
|
+
// candName is expenditure-only; it is inert on the contributions form (see
|
|
226
|
+
// ContributionSearchParams). Set per-branch below rather than off the union.
|
|
227
|
+
form.set('candName', '');
|
|
219
228
|
form.set('yearSelection', params.year);
|
|
220
229
|
form.set('electionYearSelection', params.electionYearId || '');
|
|
221
230
|
form.set('typeOf', params.typeOf || 'all');
|
|
@@ -242,7 +251,11 @@ function buildCeFormData(searchType, params) {
|
|
|
242
251
|
if (searchType === 'contributions') {
|
|
243
252
|
const cp = params;
|
|
244
253
|
form.set('contributorName', cp.contributorName || '');
|
|
245
|
-
form
|
|
254
|
+
// The contributions form filters by recipient via `recipientName`, NOT `candName`.
|
|
255
|
+
// `candName` is inert here (see ContributionSearchParams). Verified 2026-08-29 against
|
|
256
|
+
// apps.tn.gov: recipientName=HANCOCK -> 148 records, recipientName=ZZQXNONEXISTENT -> none,
|
|
257
|
+
// while candName varied not at all from the 912-record unfiltered baseline.
|
|
258
|
+
form.set('recipientName', cp.recipientName || '');
|
|
246
259
|
form.set('employer', cp.employer || '');
|
|
247
260
|
form.set('occupation', cp.occupation || '');
|
|
248
261
|
form.set('zipCode', cp.zipCode || '');
|
|
@@ -261,6 +274,7 @@ function buildCeFormData(searchType, params) {
|
|
|
261
274
|
}
|
|
262
275
|
else {
|
|
263
276
|
const ep = params;
|
|
277
|
+
form.set('candName', ep.candName || '');
|
|
264
278
|
form.set('contributorName', '');
|
|
265
279
|
form.set('recipientName', '');
|
|
266
280
|
form.set('employer', '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tncamp-client.js","sourceRoot":"","sources":["../../src/api/tncamp-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tncamp-client.js","sourceRoot":"","sources":["../../src/api/tncamp-client.ts"],"names":[],"mappings":"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"}
|