sc-elections-mcp 0.6.0 → 0.7.0
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/ethics-client.d.ts +9 -0
- package/dist/api/ethics-client.js +57 -1
- package/dist/api/ethics-client.js.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/parsers/candidate-search.js +2 -1
- package/dist/parsers/candidate-search.js.map +1 -1
- package/dist/tools/cross-reference.d.ts +45 -0
- package/dist/tools/cross-reference.js +185 -0
- package/dist/tools/cross-reference.js.map +1 -0
- package/dist/tools/search.js +61 -68
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/vrems.js +16 -8
- package/dist/tools/vrems.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/package.json +1 -1
|
@@ -33,6 +33,15 @@ export declare function getContributions(campaignId: number, candidateFilerId: n
|
|
|
33
33
|
export declare function getExpenditures(campaignId: number, candidateFilerId: number): Promise<CampaignExpenditure[]>;
|
|
34
34
|
export declare function cachedGetCampaignSummary(candidateFilerId: number): Promise<CampaignSummary>;
|
|
35
35
|
export declare function normalizeOfficeName(raw: string): NormalizedOffice;
|
|
36
|
+
/**
|
|
37
|
+
* Enrich an array of GroupedFiler objects with campaign data (balance, status, campaignId).
|
|
38
|
+
* Mutates in-place — callers must pass the same reference they later read from.
|
|
39
|
+
* Batches 6 at a time, capped at 50 total enrichments.
|
|
40
|
+
* @param officeMatcher — if provided, tokenMatch-filters campaign offices before picking best match (list_filers_by_office behavior). When omitted, picks any open campaign or the first one.
|
|
41
|
+
* @returns true if enrichment was capped (grouped.length > 50)
|
|
42
|
+
* @internal — exported for testing
|
|
43
|
+
*/
|
|
44
|
+
export declare function enrichGroupedFilersWithCampaignData(grouped: GroupedFiler[], officeMatcher?: string): Promise<boolean>;
|
|
36
45
|
export declare function resolveCampaignContext(summary: CampaignSummary, candidateFilerId: number, campaignId?: number, officeHint?: string, candidateNameOverride?: string): {
|
|
37
46
|
context: CampaignContext;
|
|
38
47
|
resolvedCampaignId: number;
|
|
@@ -379,6 +379,13 @@ export async function cachedGetCampaignSummary(candidateFilerId) {
|
|
|
379
379
|
campaignSummaryCache.set(candidateFilerId, { data, timestamp: Date.now() });
|
|
380
380
|
return data;
|
|
381
381
|
}
|
|
382
|
+
// Used by normalizeOfficeName (and enrichGroupedFilersWithCampaignData via normalizeOfficeName)
|
|
383
|
+
const STATE_BODIES = new Set(['Governor', 'Lt Governor', 'Attorney General', 'Secretary of State',
|
|
384
|
+
'Comptroller General', 'State Treasurer', 'Superintendent of Education', 'State House',
|
|
385
|
+
'State Senate', 'Solicitor']);
|
|
386
|
+
const COUNTY_BODIES = new Set(['County Council', 'Sheriff', 'Probate Judge', 'Auditor',
|
|
387
|
+
'Coroner', 'Clerk of Court', 'School Board']);
|
|
388
|
+
const CITY_BODIES = new Set(['City Council', 'Mayor']);
|
|
382
389
|
export function normalizeOfficeName(raw) {
|
|
383
390
|
if (!raw)
|
|
384
391
|
return { raw, normalized: raw };
|
|
@@ -419,6 +426,16 @@ export function normalizeOfficeName(raw) {
|
|
|
419
426
|
break;
|
|
420
427
|
}
|
|
421
428
|
}
|
|
429
|
+
// Compute jurisdiction tier from body
|
|
430
|
+
let jurisdictionTier;
|
|
431
|
+
if (body) {
|
|
432
|
+
if (STATE_BODIES.has(body))
|
|
433
|
+
jurisdictionTier = 'state';
|
|
434
|
+
else if (COUNTY_BODIES.has(body))
|
|
435
|
+
jurisdictionTier = 'county';
|
|
436
|
+
else if (CITY_BODIES.has(body))
|
|
437
|
+
jurisdictionTier = 'city';
|
|
438
|
+
}
|
|
422
439
|
// Build normalized name
|
|
423
440
|
let normalized = raw
|
|
424
441
|
.replace(/^Other\s+Office,?\s*/i, '')
|
|
@@ -437,7 +454,7 @@ export function normalizeOfficeName(raw) {
|
|
|
437
454
|
else if (!body) {
|
|
438
455
|
normalized = raw;
|
|
439
456
|
}
|
|
440
|
-
return { raw, normalized, district, body };
|
|
457
|
+
return { raw, normalized, district, body, jurisdictionTier };
|
|
441
458
|
}
|
|
442
459
|
function extractDistrictNumber(text) {
|
|
443
460
|
const m = text.match(/District\s+(\d+)/i) ||
|
|
@@ -445,6 +462,45 @@ function extractDistrictNumber(text) {
|
|
|
445
462
|
text.match(/Seat\s+(\d+)/i);
|
|
446
463
|
return m?.[1];
|
|
447
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* Enrich an array of GroupedFiler objects with campaign data (balance, status, campaignId).
|
|
467
|
+
* Mutates in-place — callers must pass the same reference they later read from.
|
|
468
|
+
* Batches 6 at a time, capped at 50 total enrichments.
|
|
469
|
+
* @param officeMatcher — if provided, tokenMatch-filters campaign offices before picking best match (list_filers_by_office behavior). When omitted, picks any open campaign or the first one.
|
|
470
|
+
* @returns true if enrichment was capped (grouped.length > 50)
|
|
471
|
+
* @internal — exported for testing
|
|
472
|
+
*/
|
|
473
|
+
export async function enrichGroupedFilersWithCampaignData(grouped, officeMatcher) {
|
|
474
|
+
const ENRICH_CAP = 50;
|
|
475
|
+
const BATCH_SIZE = 6;
|
|
476
|
+
const toEnrich = grouped.slice(0, ENRICH_CAP);
|
|
477
|
+
for (let i = 0; i < toEnrich.length; i += BATCH_SIZE) {
|
|
478
|
+
const batch = toEnrich.slice(i, i + BATCH_SIZE);
|
|
479
|
+
await Promise.allSettled(batch.map(async (gf) => {
|
|
480
|
+
const summary = await cachedGetCampaignSummary(gf.candidateFilerId);
|
|
481
|
+
const allOffices = [
|
|
482
|
+
...summary.openReports.map(r => ({ ...r, status: 'open' })),
|
|
483
|
+
...summary.closedReports.map(r => ({ ...r, status: 'closed' })),
|
|
484
|
+
];
|
|
485
|
+
gf.normalizedOffice = normalizeOfficeName(gf.offices[0]?.officeName || '');
|
|
486
|
+
let match;
|
|
487
|
+
if (officeMatcher) {
|
|
488
|
+
const matches = allOffices.filter(o => tokenMatch(officeMatcher, o.officeName));
|
|
489
|
+
match = matches.find(o => o.status === 'open') || matches[0];
|
|
490
|
+
}
|
|
491
|
+
else {
|
|
492
|
+
match = allOffices.find(o => o.status === 'open') || allOffices[0];
|
|
493
|
+
}
|
|
494
|
+
if (match) {
|
|
495
|
+
gf.primaryOfficeName = match.officeName;
|
|
496
|
+
gf.campaignStatus = match.status;
|
|
497
|
+
gf.balance = match.balance;
|
|
498
|
+
gf.campaignId = match.officeId;
|
|
499
|
+
}
|
|
500
|
+
}));
|
|
501
|
+
}
|
|
502
|
+
return grouped.length > ENRICH_CAP;
|
|
503
|
+
}
|
|
448
504
|
export function resolveCampaignContext(summary, candidateFilerId, campaignId, officeHint, candidateNameOverride) {
|
|
449
505
|
const allOffices = [
|
|
450
506
|
...summary.openReports.map(r => ({ ...r, status: 'open' })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethics-client.js","sourceRoot":"","sources":["../../src/api/ethics-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ethics-client.js","sourceRoot":"","sources":["../../src/api/ethics-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,9 +7,10 @@ import { registerCrossSearchTools } from './tools/cross-search.js';
|
|
|
7
7
|
import { registerSeiTools } from './tools/sei.js';
|
|
8
8
|
import { registerVremsTools } from './tools/vrems.js';
|
|
9
9
|
import { registerOverlapTools } from './tools/overlap.js';
|
|
10
|
+
import { registerCrossReferenceTools } from './tools/cross-reference.js';
|
|
10
11
|
const server = new McpServer({
|
|
11
12
|
name: 'sc-elections-mcp',
|
|
12
|
-
version: '0.
|
|
13
|
+
version: '0.7.0',
|
|
13
14
|
});
|
|
14
15
|
// Ethics Commission tools (ethicsfiling.sc.gov)
|
|
15
16
|
registerSearchTools(server);
|
|
@@ -19,6 +20,8 @@ registerOverlapTools(server);
|
|
|
19
20
|
registerSeiTools(server);
|
|
20
21
|
// SC Votes / VREMS tools (vrems.scvotes.sc.gov)
|
|
21
22
|
registerVremsTools(server);
|
|
23
|
+
// Cross-system tools (Ethics + VREMS)
|
|
24
|
+
registerCrossReferenceTools(server);
|
|
22
25
|
async function main() {
|
|
23
26
|
const transport = new StdioServerTransport();
|
|
24
27
|
await server.connect(transport);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAExE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA;AAEF,gDAAgD;AAChD,mBAAmB,CAAC,MAAM,CAAC,CAAA;AAC3B,qBAAqB,CAAC,MAAM,CAAC,CAAA;AAC7B,wBAAwB,CAAC,MAAM,CAAC,CAAA;AAChC,oBAAoB,CAAC,MAAM,CAAC,CAAA;AAC5B,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAExB,gDAAgD;AAChD,kBAAkB,CAAC,MAAM,CAAC,CAAA;AAE1B,sCAAsC;AACtC,2BAA2B,CAAC,MAAM,CAAC,CAAA;AAEnC,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;AACjC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
@@ -24,13 +24,14 @@ function parseRow(row) {
|
|
|
24
24
|
const href = link?.getAttribute('href') || '';
|
|
25
25
|
// href = "CandidateDetail/?candidateId=12345&electionId=22121&searchType=Default"
|
|
26
26
|
const params = new URLSearchParams(href.split('?')[1] || '');
|
|
27
|
+
const rawRunningMate = cells[3]?.text?.trim() || '';
|
|
27
28
|
return {
|
|
28
29
|
candidateId: params.get('candidateId') || row.getAttribute('data-key') || '',
|
|
29
30
|
electionId: params.get('electionId') || '',
|
|
30
31
|
office: cells[0]?.text?.trim() || '',
|
|
31
32
|
counties: cells[1]?.text?.trim() || '',
|
|
32
33
|
name: cells[2]?.text?.trim() || '',
|
|
33
|
-
runningMate:
|
|
34
|
+
runningMate: rawRunningMate === 'Not Designated' ? '' : rawRunningMate,
|
|
34
35
|
party: cells[4]?.text?.trim() || '',
|
|
35
36
|
filingLocation: cells[5]?.text?.trim() || '',
|
|
36
37
|
status: cells[6]?.text?.trim() || '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-search.js","sourceRoot":"","sources":["../../src/parsers/candidate-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAGxC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,CAAA;IAExE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;QACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAA2B,CAAA;QACxE,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAA2B,CAAA;AACrE,CAAC;AAED,SAAS,QAAQ,CAAC,GAA6B;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAE7C,kFAAkF;IAClF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE;QAC5E,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE;QAC1C,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QACpC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QACtC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAClC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"candidate-search.js","sourceRoot":"","sources":["../../src/parsers/candidate-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAGxC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,CAAA;IAExE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;QACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAA2B,CAAA;QACxE,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAA2B,CAAA;AACrE,CAAC;AAED,SAAS,QAAQ,CAAC,GAA6B;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAE7C,kFAAkF;IAClF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAE5D,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACnD,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE;QAC5E,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE;QAC1C,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QACpC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QACtC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAClC,WAAW,EAAE,cAAc,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;QACtE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QACnC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAC5C,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;KACrC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import type { GroupedFiler, VremsCandidate } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Normalize an Ethics "Last, First [Middle]" candidate string to a "last|first" match key.
|
|
5
|
+
* Drops middle name, strips common suffixes from the last name token.
|
|
6
|
+
* Uses pipe-delimited "last|first" (not "first last") to avoid partial substring collisions.
|
|
7
|
+
* Distinct from normalizeDonorName (which produces "first last") — this is for identity
|
|
8
|
+
* keying across two systems, not donor deduplication within one system.
|
|
9
|
+
* @internal — exported for testing
|
|
10
|
+
*/
|
|
11
|
+
export declare function normalizeEthicsName(candidate: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Normalize a VREMS firstName + lastName to a "last|first" match key.
|
|
14
|
+
* Strips common suffixes from lastName (may be embedded if VREMS omits the separate suffix field).
|
|
15
|
+
* @internal — exported for testing
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeVremsName(firstName: string, lastName: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Diff Ethics open campaigns against VREMS active candidates by normalized name key.
|
|
20
|
+
* Returns three buckets plus the Maps so callers can build matched-pair output.
|
|
21
|
+
* @internal — exported for testing
|
|
22
|
+
*/
|
|
23
|
+
export declare function diffEthicsVrems(ethicsOpen: GroupedFiler[], vremsActive: VremsCandidate[]): {
|
|
24
|
+
expectedNotFiled: Array<{
|
|
25
|
+
candidate: string;
|
|
26
|
+
officeName: string;
|
|
27
|
+
campaignId: number | undefined;
|
|
28
|
+
balance: number | undefined;
|
|
29
|
+
candidateFilerId: number;
|
|
30
|
+
}>;
|
|
31
|
+
filedNotInEthics: Array<{
|
|
32
|
+
firstName: string;
|
|
33
|
+
lastName: string;
|
|
34
|
+
office: string;
|
|
35
|
+
party: string;
|
|
36
|
+
dateFiled: string;
|
|
37
|
+
filingLocation: string;
|
|
38
|
+
matchNote: string;
|
|
39
|
+
}>;
|
|
40
|
+
matchedCount: number;
|
|
41
|
+
matchedKeys: Set<string>;
|
|
42
|
+
ethicsMap: Map<string, GroupedFiler>;
|
|
43
|
+
vremsMap: Map<string, VremsCandidate>;
|
|
44
|
+
};
|
|
45
|
+
export declare function registerCrossReferenceTools(server: McpServer): void;
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { searchFilersByCounty, groupFilersByPerson, tokenMatch, enrichGroupedFilersWithCampaignData, } from '../api/ethics-client.js';
|
|
3
|
+
import { searchCandidates } from '../api/vrems-client.js';
|
|
4
|
+
import { resolveCountyCode, resolveCountyName } from '../data/sc-counties.js';
|
|
5
|
+
const SUFFIX_PATTERN = /\s*(jr\.?|sr\.?|ii|iii|iv)$/i;
|
|
6
|
+
/**
|
|
7
|
+
* Normalize an Ethics "Last, First [Middle]" candidate string to a "last|first" match key.
|
|
8
|
+
* Drops middle name, strips common suffixes from the last name token.
|
|
9
|
+
* Uses pipe-delimited "last|first" (not "first last") to avoid partial substring collisions.
|
|
10
|
+
* Distinct from normalizeDonorName (which produces "first last") — this is for identity
|
|
11
|
+
* keying across two systems, not donor deduplication within one system.
|
|
12
|
+
* @internal — exported for testing
|
|
13
|
+
*/
|
|
14
|
+
export function normalizeEthicsName(candidate) {
|
|
15
|
+
const parts = candidate.split(',').map(p => p.trim().toLowerCase());
|
|
16
|
+
if (parts.length >= 2) {
|
|
17
|
+
const last = parts[0].replace(SUFFIX_PATTERN, '').trim();
|
|
18
|
+
const first = parts[1].split(/\s+/)[0]; // first word only, drops middle name
|
|
19
|
+
return `${last}|${first}`;
|
|
20
|
+
}
|
|
21
|
+
return candidate.toLowerCase();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Normalize a VREMS firstName + lastName to a "last|first" match key.
|
|
25
|
+
* Strips common suffixes from lastName (may be embedded if VREMS omits the separate suffix field).
|
|
26
|
+
* @internal — exported for testing
|
|
27
|
+
*/
|
|
28
|
+
export function normalizeVremsName(firstName, lastName) {
|
|
29
|
+
const last = lastName.toLowerCase().replace(SUFFIX_PATTERN, '').trim();
|
|
30
|
+
const first = firstName.toLowerCase().split(/\s+/)[0];
|
|
31
|
+
return `${last}|${first}`;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Diff Ethics open campaigns against VREMS active candidates by normalized name key.
|
|
35
|
+
* Returns three buckets plus the Maps so callers can build matched-pair output.
|
|
36
|
+
* @internal — exported for testing
|
|
37
|
+
*/
|
|
38
|
+
export function diffEthicsVrems(ethicsOpen, vremsActive) {
|
|
39
|
+
const ethicsMap = new Map();
|
|
40
|
+
for (const gf of ethicsOpen) {
|
|
41
|
+
const key = normalizeEthicsName(gf.candidate);
|
|
42
|
+
if (key)
|
|
43
|
+
ethicsMap.set(key, gf);
|
|
44
|
+
}
|
|
45
|
+
const vremsMap = new Map();
|
|
46
|
+
for (const c of vremsActive) {
|
|
47
|
+
const key = normalizeVremsName(c.firstName, c.lastName);
|
|
48
|
+
if (key)
|
|
49
|
+
vremsMap.set(key, c);
|
|
50
|
+
}
|
|
51
|
+
const matchedKeys = new Set([...ethicsMap.keys()].filter(k => vremsMap.has(k)));
|
|
52
|
+
const expectedNotFiled = [...ethicsMap.entries()]
|
|
53
|
+
.filter(([k]) => !matchedKeys.has(k))
|
|
54
|
+
.map(([, gf]) => ({
|
|
55
|
+
candidate: gf.candidate,
|
|
56
|
+
officeName: gf.primaryOfficeName || gf.offices[0]?.officeName || '',
|
|
57
|
+
campaignId: gf.campaignId,
|
|
58
|
+
balance: gf.balance,
|
|
59
|
+
candidateFilerId: gf.candidateFilerId,
|
|
60
|
+
}));
|
|
61
|
+
const filedNotInEthics = [...vremsMap.entries()]
|
|
62
|
+
.filter(([k]) => !matchedKeys.has(k))
|
|
63
|
+
.map(([, c]) => ({
|
|
64
|
+
firstName: c.firstName,
|
|
65
|
+
lastName: c.lastName,
|
|
66
|
+
office: c.office,
|
|
67
|
+
party: c.party,
|
|
68
|
+
dateFiled: c.dateFiled,
|
|
69
|
+
filingLocation: c.filingLocation,
|
|
70
|
+
matchNote: 'No matching Ethics open campaign — may be new candidate or name variant',
|
|
71
|
+
}));
|
|
72
|
+
return { expectedNotFiled, filedNotInEthics, matchedCount: matchedKeys.size, matchedKeys, ethicsMap, vremsMap };
|
|
73
|
+
}
|
|
74
|
+
export function registerCrossReferenceTools(server) {
|
|
75
|
+
server.tool('find_expected_filers', 'Cross-reference SC Ethics Commission open campaign accounts with VREMS ballot filings for a county. Answers "who has an Ethics account but hasn\'t filed on the ballot yet?" during a filing period. Returns three buckets: expectedNotFiled (Ethics open campaign, no VREMS match), filedNotInEthics (VREMS active, no Ethics open match), matched count (use show_matched=true to see pairs). Name matching is best-effort last+first token — false negatives possible for nicknames (Bob/Robert), hyphenated surnames, and data-entry differences between systems. Ethics sweep cached 30 min; VREMS query is live on each call. Takes 15-25 seconds on first call.', {
|
|
76
|
+
county: z.string().describe('County name (e.g. "Greenville") or code (e.g. "23")'),
|
|
77
|
+
election_id: z.string().regex(/^\d+$/, 'Election ID must be numeric').describe('VREMS election ID from list_elections'),
|
|
78
|
+
office_type: z.string().optional().describe('Token filter applied to both Ethics and VREMS sides (e.g. "County Council", "Sheriff"). Order-independent. Omit for all offices.'),
|
|
79
|
+
status: z.string().optional().describe('VREMS status filter (default: "Active"). Pass "All" to include withdrew candidates.'),
|
|
80
|
+
show_matched: z.boolean().optional().describe('If true, include matched pairs in output (capped at 20). Default false — keeps output concise.'),
|
|
81
|
+
}, async ({ county, election_id, office_type, status, show_matched }) => {
|
|
82
|
+
try {
|
|
83
|
+
const countyName = resolveCountyName(county);
|
|
84
|
+
if (!countyName) {
|
|
85
|
+
return {
|
|
86
|
+
content: [{ type: 'text', text: `Unknown county: "${county}". Use a SC county name like "Greenville" or a numeric code like "23".` }],
|
|
87
|
+
isError: true,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const countyCode = resolveCountyCode(county); // safe: resolveCountyCode and resolveCountyName both index SC_COUNTY_NAMES
|
|
91
|
+
// ── Step 1: Ethics open campaigns for this county ───────────────────
|
|
92
|
+
const ethicsResult = await searchFilersByCounty(countyName);
|
|
93
|
+
let { filers } = ethicsResult;
|
|
94
|
+
// Filter to last 2 years
|
|
95
|
+
const cutoff = Date.now() - (2 * 365.25 * 24 * 60 * 60 * 1000);
|
|
96
|
+
filers = filers.filter(f => {
|
|
97
|
+
if (!f.lastSubmission)
|
|
98
|
+
return false;
|
|
99
|
+
const [month, day, year] = f.lastSubmission.split('/');
|
|
100
|
+
return new Date(+year, +month - 1, +day).getTime() >= cutoff;
|
|
101
|
+
});
|
|
102
|
+
const grouped = groupFilersByPerson(filers);
|
|
103
|
+
// Enrich with campaign data (batches of 6, cap 50) — mutates grouped in-place
|
|
104
|
+
const wasCapped = await enrichGroupedFilersWithCampaignData(grouped);
|
|
105
|
+
// Filter to open campaigns only
|
|
106
|
+
let ethicsOpen = grouped.filter(gf => gf.campaignStatus === 'open');
|
|
107
|
+
// Apply office_type filter if provided
|
|
108
|
+
if (office_type) {
|
|
109
|
+
ethicsOpen = ethicsOpen.filter(gf => gf.offices.some(o => tokenMatch(office_type, o.officeName)) ||
|
|
110
|
+
tokenMatch(office_type, gf.primaryOfficeName || ''));
|
|
111
|
+
}
|
|
112
|
+
// ── Step 2: VREMS active candidates for this election + county ───────
|
|
113
|
+
const vremsResult = await searchCandidates({
|
|
114
|
+
electionId: election_id,
|
|
115
|
+
county: countyCode,
|
|
116
|
+
status: status || 'Active',
|
|
117
|
+
});
|
|
118
|
+
// Require CSV path — fallback HTML lacks firstName/lastName fields needed for name matching
|
|
119
|
+
if (vremsResult.candidates.length === 0 && vremsResult.fallback?.length) {
|
|
120
|
+
return {
|
|
121
|
+
content: [{ type: 'text', text: 'VREMS CSV export unavailable (session fallback triggered). Name-matching cross-reference requires structured CSV data with separate firstName/lastName fields. Try again in a few seconds.' }],
|
|
122
|
+
isError: true,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
let vremsActive = vremsResult.candidates;
|
|
126
|
+
if (office_type) {
|
|
127
|
+
vremsActive = vremsActive.filter(c => tokenMatch(office_type, c.office || ''));
|
|
128
|
+
}
|
|
129
|
+
// ── Step 3: Diff by normalized name key ──────────────────────────────
|
|
130
|
+
const { expectedNotFiled, filedNotInEthics, matchedCount, matchedKeys, ethicsMap, vremsMap } = diffEthicsVrems(ethicsOpen, vremsActive);
|
|
131
|
+
const matchedPairs = show_matched
|
|
132
|
+
? [...matchedKeys].slice(0, 20).map(k => {
|
|
133
|
+
const gf = ethicsMap.get(k);
|
|
134
|
+
const c = vremsMap.get(k);
|
|
135
|
+
return {
|
|
136
|
+
ethics: {
|
|
137
|
+
candidate: gf.candidate,
|
|
138
|
+
officeName: gf.primaryOfficeName || gf.offices[0]?.officeName || '',
|
|
139
|
+
campaignId: gf.campaignId,
|
|
140
|
+
balance: gf.balance,
|
|
141
|
+
},
|
|
142
|
+
vrems: {
|
|
143
|
+
firstName: c.firstName,
|
|
144
|
+
lastName: c.lastName,
|
|
145
|
+
office: c.office,
|
|
146
|
+
dateFiled: c.dateFiled,
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
})
|
|
150
|
+
: [];
|
|
151
|
+
const output = {
|
|
152
|
+
summary: {
|
|
153
|
+
county: countyName,
|
|
154
|
+
electionId: election_id,
|
|
155
|
+
officeTypeFilter: office_type || null,
|
|
156
|
+
ethicsOpenCount: ethicsOpen.length,
|
|
157
|
+
vremsActiveCount: vremsActive.length,
|
|
158
|
+
matchedCount,
|
|
159
|
+
expectedNotFiledCount: expectedNotFiled.length,
|
|
160
|
+
filedNotInEthicsCount: filedNotInEthics.length,
|
|
161
|
+
...(wasCapped
|
|
162
|
+
? { enrichmentNote: 'Ethics enrichment capped at 50 filers; results may be incomplete' }
|
|
163
|
+
: {}),
|
|
164
|
+
...(ethicsResult.totalFailed > 0
|
|
165
|
+
? { ethicsSweepNote: `${ethicsResult.totalFailed} of 26 Ethics searches failed; results may be incomplete` }
|
|
166
|
+
: {}),
|
|
167
|
+
},
|
|
168
|
+
expectedNotFiled,
|
|
169
|
+
filedNotInEthics,
|
|
170
|
+
matched: matchedPairs,
|
|
171
|
+
matchingCaveats: 'Name matching uses last+first token only. Common names (multiple people with identical first+last) will silently collide — only one will appear in results. False negatives also expected for nickname variants (Bob/Robert), hyphenated surnames, and data-entry differences.',
|
|
172
|
+
};
|
|
173
|
+
return {
|
|
174
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
return {
|
|
179
|
+
content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }],
|
|
180
|
+
isError: true,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=cross-reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-reference.js","sourceRoot":"","sources":["../../src/tools/cross-reference.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/search.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { searchFilers, getFilerProfile, searchFilersByOffice, searchFilersByCounty, groupFilersByPerson,
|
|
2
|
+
import { searchFilers, getFilerProfile, searchFilersByOffice, searchFilersByCounty, groupFilersByPerson, normalizeOfficeName, listOfficeNames, tokenMatch, enrichGroupedFilersWithCampaignData } from '../api/ethics-client.js';
|
|
3
3
|
import { resolveCountyName } from '../data/sc-counties.js';
|
|
4
4
|
export function registerSearchTools(server) {
|
|
5
5
|
server.tool('search_filers', 'Search SC Ethics Commission for candidates and officials by name. Returns candidateFilerId and seiFilerId needed for other tools. Default limit 50 results (0 for all). WARNING: The API searches the combined "Last, First" field — multi-word queries like "John Smith" may fail. Search by last name only for best results. To find all filers for a specific office, use list_filers_by_office. To discover valid office name formats, use list_office_names.', {
|
|
6
6
|
name: z.string().describe('Name to search for (e.g. "mcmaster", "haley"). Use last name only for best results.'),
|
|
7
|
+
office: z.string().optional().describe('Filter results by office name using token matching (e.g. "City Council", "Water", "House"). Applied client-side after search.'),
|
|
7
8
|
limit: z.number().optional().describe('Max results to return (default 50, 0 for all). Common names can return 200+ results.'),
|
|
8
|
-
}, async ({ name, limit }) => {
|
|
9
|
+
}, async ({ name, office, limit }) => {
|
|
9
10
|
try {
|
|
10
|
-
|
|
11
|
+
let results = await searchFilers(name);
|
|
12
|
+
if (office) {
|
|
13
|
+
results = results.filter(r => tokenMatch(office, r.officeName || ''));
|
|
14
|
+
}
|
|
11
15
|
const effectiveLimit = limit === undefined ? 50 : limit;
|
|
12
16
|
const totalCount = results.length;
|
|
13
17
|
const limited = effectiveLimit > 0 ? results.slice(0, effectiveLimit) : results;
|
|
@@ -30,15 +34,19 @@ export function registerSearchTools(server) {
|
|
|
30
34
|
};
|
|
31
35
|
}
|
|
32
36
|
});
|
|
33
|
-
server.tool('list_filers_by_office', 'Find all candidates/officials who have filed with the SC Ethics Commission for a specific office. Searches the entire filer database by sweeping all 26 letters and filtering by office name. Returns grouped results — one entry per person with an offices[] sub-array showing all their filings. May take 10-15 seconds on first call (cached 30 min after). With recent_only=true, enriches results with campaignId, balance, status, and initialReportFiledDate — no need to call get_campaign_summary separately.
|
|
37
|
+
server.tool('list_filers_by_office', 'Find all candidates/officials who have filed with the SC Ethics Commission for a specific office. Searches the entire filer database by sweeping all 26 letters and filtering by office name. Returns grouped results — one entry per person with an offices[] sub-array showing all their filings. May take 10-15 seconds on first call (cached 30 min after). With recent_only=true, enriches results with campaignId, balance, status, and initialReportFiledDate — no need to call get_campaign_summary separately. With active_only=true, returns only filers with an open campaign account (implies recent_only). Use jurisdiction filter to distinguish city vs county offices (e.g. jurisdiction="county" for Greenville County Council, jurisdiction="city" for Greenville City Council).', {
|
|
34
38
|
office: z.string().describe('Office name to search for (partial match, e.g. "Greenville County Council", "Governor", "Sheriff")'),
|
|
35
39
|
recent_only: z.boolean().optional().describe('If true, only return filers with submissions in the last 2 years and enrich with campaign data. Default: false.'),
|
|
36
40
|
active_since: z.number().optional().describe('Only include filers with submissions on or after this year (e.g. 2022). More precise than recent_only.'),
|
|
37
|
-
|
|
41
|
+
active_only: z.boolean().optional().describe('If true, return only filers with an open campaign account. Implies recent_only=true. Cuts noise from closed/historical campaigns.'),
|
|
42
|
+
jurisdiction: z.enum(['city', 'county', 'state']).optional().describe('Filter by jurisdiction tier derived from office type. city=City Council/Mayor, county=County Council/Sheriff/Auditor/etc, state=State House/Senate/Governor/etc. Useful when a query like "Greenville" returns both city and county offices.'),
|
|
43
|
+
}, async ({ office, recent_only, active_since, active_only, jurisdiction }) => {
|
|
38
44
|
try {
|
|
39
45
|
const result = await searchFilersByOffice(office, active_since);
|
|
40
46
|
let { filers } = result;
|
|
41
|
-
|
|
47
|
+
// active_only implies recent_only (needs enrichment to get campaignStatus)
|
|
48
|
+
const needsEnrichment = recent_only || active_only;
|
|
49
|
+
if (needsEnrichment) {
|
|
42
50
|
const cutoff = Date.now() - (2 * 365.25 * 24 * 60 * 60 * 1000);
|
|
43
51
|
filers = filers.filter(f => {
|
|
44
52
|
if (!f.lastSubmission)
|
|
@@ -48,49 +56,39 @@ export function registerSearchTools(server) {
|
|
|
48
56
|
});
|
|
49
57
|
}
|
|
50
58
|
// Group filers by person (dedup + merge offices)
|
|
51
|
-
|
|
52
|
-
// Enrich with campaign data when recent_only
|
|
59
|
+
let grouped = groupFilersByPerson(filers);
|
|
60
|
+
// Enrich with campaign data when recent_only or active_only
|
|
53
61
|
let enrichmentNote = '';
|
|
54
|
-
if (
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const matches = allOffices.filter(o => tokenMatch(office, o.officeName));
|
|
68
|
-
const match = matches.find(o => o.status === 'open') || matches[0];
|
|
62
|
+
if (needsEnrichment && grouped.length > 0) {
|
|
63
|
+
const wasCapped = await enrichGroupedFilersWithCampaignData(grouped, office);
|
|
64
|
+
if (wasCapped)
|
|
65
|
+
enrichmentNote = `\nNote: Enriched 50 of ${grouped.length} filers with campaign data. Use a more specific query for remaining.`;
|
|
66
|
+
}
|
|
67
|
+
// Apply active_only filter (needs enrichment data)
|
|
68
|
+
if (active_only) {
|
|
69
|
+
grouped = grouped.filter(gf => gf.campaignStatus === 'open');
|
|
70
|
+
}
|
|
71
|
+
// Apply jurisdiction filter — compute normalizedOffice if not already set
|
|
72
|
+
if (jurisdiction) {
|
|
73
|
+
for (const gf of grouped) {
|
|
74
|
+
if (!gf.normalizedOffice) {
|
|
69
75
|
gf.normalizedOffice = normalizeOfficeName(gf.offices[0]?.officeName || '');
|
|
70
|
-
|
|
71
|
-
gf.primaryOfficeName = match.officeName;
|
|
72
|
-
gf.campaignStatus = match.status;
|
|
73
|
-
gf.balance = match.balance;
|
|
74
|
-
gf.campaignId = match.officeId;
|
|
75
|
-
}
|
|
76
|
-
}));
|
|
77
|
-
}
|
|
78
|
-
if (grouped.length > ENRICH_CAP) {
|
|
79
|
-
enrichmentNote = `\nNote: Enriched ${ENRICH_CAP} of ${grouped.length} filers with campaign data. Use a more specific query for remaining.`;
|
|
76
|
+
}
|
|
80
77
|
}
|
|
78
|
+
grouped = grouped.filter(gf => gf.normalizedOffice?.jurisdictionTier === jurisdiction);
|
|
81
79
|
}
|
|
82
80
|
const parts = [];
|
|
83
81
|
if (result.totalFailed > 0) {
|
|
84
82
|
parts.push(`Note: ${result.totalFailed} of 26 searches failed; results may be incomplete.`);
|
|
85
83
|
}
|
|
86
84
|
if (grouped.length === 0) {
|
|
87
|
-
parts.push(`No filers found for office matching "${office}"${
|
|
85
|
+
parts.push(`No filers found for office matching "${office}"${needsEnrichment ? ' (with recent_only filter)' : ''}${active_only ? ' with open campaign' : ''}${jurisdiction ? ` with jurisdiction="${jurisdiction}"` : ''}`);
|
|
88
86
|
}
|
|
89
87
|
else {
|
|
90
|
-
if (
|
|
88
|
+
if (needsEnrichment) {
|
|
91
89
|
parts.push('=== ENRICHED RESULTS ===\nThese results include campaignId, balance, and campaign status for each filer.\nDo NOT call get_campaign_summary for these filers — the data is already included below.\n===');
|
|
92
90
|
}
|
|
93
|
-
parts.push(`${grouped.length} filer(s) found for "${office}"${
|
|
91
|
+
parts.push(`${grouped.length} filer(s) found for "${office}"${needsEnrichment ? ' (last 2 years)' : ''}${active_only ? ' (active campaigns only)' : ''}${jurisdiction ? ` (${jurisdiction} offices only)` : ''}:${enrichmentNote}`);
|
|
94
92
|
parts.push(JSON.stringify(grouped, null, 2));
|
|
95
93
|
}
|
|
96
94
|
return {
|
|
@@ -121,12 +119,14 @@ export function registerSearchTools(server) {
|
|
|
121
119
|
};
|
|
122
120
|
}
|
|
123
121
|
});
|
|
124
|
-
server.tool('list_filers_by_county', 'Find all candidates/officials who have filed with the SC Ethics Commission in a specific county. Matches by county name in office name (e.g. "Greenville County Council", "Greenville Sheriff") OR by city-to-county mapping from filer address. Returns grouped results like list_filers_by_office. First call may take 10-15 seconds (alphabet sweep). Results cached 30 minutes. City-to-county mapping covers incorporated municipalities; some rural addresses may not match.', {
|
|
122
|
+
server.tool('list_filers_by_county', 'Find all candidates/officials who have filed with the SC Ethics Commission in a specific county. Matches by county name in office name (e.g. "Greenville County Council", "Greenville Sheriff") OR by city-to-county mapping from filer address. Returns grouped results like list_filers_by_office. First call may take 10-15 seconds (alphabet sweep). Results cached 30 minutes. City-to-county mapping covers incorporated municipalities; some rural addresses may not match. NOTE: Results mix city-level and county-level offices (e.g. Greenville City Council and Greenville County Council both appear). Use jurisdiction="county" to see only county offices, or jurisdiction="city" for city offices.', {
|
|
125
123
|
county: z.string().describe('County name (e.g. "Greenville", "Richland", "Charleston")'),
|
|
126
124
|
recent_only: z.boolean().optional().describe('If true, only return filers with submissions in the last 2 years and enrich with campaign data. Default: false.'),
|
|
127
125
|
active_since: z.number().optional().describe('Only include filers with submissions on or after this year (e.g. 2022).'),
|
|
128
126
|
office_type: z.string().optional().describe('Filter by office type using token matching (e.g. "County Council", "Sheriff", "House"). Order-independent.'),
|
|
129
|
-
|
|
127
|
+
active_only: z.boolean().optional().describe('If true, return only filers with an open campaign account. Implies recent_only=true. Cuts results from ~46 to ~12 for a typical county by removing closed/historical campaigns.'),
|
|
128
|
+
jurisdiction: z.enum(['city', 'county', 'state']).optional().describe('Filter by jurisdiction tier. city=City Council/Mayor, county=County Council/Sheriff/Auditor/etc, state=State House/Senate. Solves the city vs county conflation: Greenville has both a City Council and a County Council.'),
|
|
129
|
+
}, async ({ county, recent_only, active_since, office_type, active_only, jurisdiction }) => {
|
|
130
130
|
try {
|
|
131
131
|
const countyName = resolveCountyName(county);
|
|
132
132
|
if (!countyName) {
|
|
@@ -137,7 +137,9 @@ export function registerSearchTools(server) {
|
|
|
137
137
|
}
|
|
138
138
|
const result = await searchFilersByCounty(countyName, active_since);
|
|
139
139
|
let { filers } = result;
|
|
140
|
-
|
|
140
|
+
// active_only implies recent_only (needs enrichment to get campaignStatus)
|
|
141
|
+
const needsEnrichment = recent_only || active_only;
|
|
142
|
+
if (needsEnrichment) {
|
|
141
143
|
const cutoff = Date.now() - (2 * 365.25 * 24 * 60 * 60 * 1000);
|
|
142
144
|
filers = filers.filter(f => {
|
|
143
145
|
if (!f.lastSubmission)
|
|
@@ -148,50 +150,41 @@ export function registerSearchTools(server) {
|
|
|
148
150
|
}
|
|
149
151
|
const grouped = groupFilersByPerson(filers);
|
|
150
152
|
// Filter by office type if specified
|
|
151
|
-
|
|
153
|
+
let filtered = office_type
|
|
152
154
|
? grouped.filter(gf => gf.offices.some(o => tokenMatch(office_type, o.officeName)))
|
|
153
155
|
: grouped;
|
|
154
|
-
// Enrich with campaign data when
|
|
156
|
+
// Enrich with campaign data when needed
|
|
155
157
|
let enrichmentNote = '';
|
|
156
|
-
if (
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
158
|
+
if (needsEnrichment && filtered.length > 0) {
|
|
159
|
+
const wasCapped = await enrichGroupedFilersWithCampaignData(filtered);
|
|
160
|
+
if (wasCapped)
|
|
161
|
+
enrichmentNote = `\nNote: Enriched 50 of ${filtered.length} filers with campaign data. Use a more specific query for remaining.`;
|
|
162
|
+
}
|
|
163
|
+
// Apply active_only filter (needs enrichment data)
|
|
164
|
+
if (active_only) {
|
|
165
|
+
filtered = filtered.filter(gf => gf.campaignStatus === 'open');
|
|
166
|
+
}
|
|
167
|
+
// Apply jurisdiction filter — compute normalizedOffice if not already set
|
|
168
|
+
if (jurisdiction) {
|
|
169
|
+
for (const gf of filtered) {
|
|
170
|
+
if (!gf.normalizedOffice) {
|
|
168
171
|
gf.normalizedOffice = normalizeOfficeName(gf.offices[0]?.officeName || '');
|
|
169
|
-
|
|
170
|
-
const match = allOffices.find(o => o.status === 'open') || allOffices[0];
|
|
171
|
-
if (match) {
|
|
172
|
-
gf.primaryOfficeName = match.officeName;
|
|
173
|
-
gf.campaignStatus = match.status;
|
|
174
|
-
gf.balance = match.balance;
|
|
175
|
-
gf.campaignId = match.officeId;
|
|
176
|
-
}
|
|
177
|
-
}));
|
|
178
|
-
}
|
|
179
|
-
if (filtered.length > ENRICH_CAP) {
|
|
180
|
-
enrichmentNote = `\nNote: Enriched ${ENRICH_CAP} of ${filtered.length} filers with campaign data.`;
|
|
172
|
+
}
|
|
181
173
|
}
|
|
174
|
+
filtered = filtered.filter(gf => gf.normalizedOffice?.jurisdictionTier === jurisdiction);
|
|
182
175
|
}
|
|
183
176
|
const parts = [];
|
|
184
177
|
if (result.totalFailed > 0) {
|
|
185
178
|
parts.push(`Note: ${result.totalFailed} of 26 searches failed; results may be incomplete.`);
|
|
186
179
|
}
|
|
187
180
|
if (filtered.length === 0) {
|
|
188
|
-
parts.push(`No filers found in ${countyName} County${office_type ? ` matching office type "${office_type}"` : ''}${
|
|
181
|
+
parts.push(`No filers found in ${countyName} County${office_type ? ` matching office type "${office_type}"` : ''}${needsEnrichment ? ' (last 2 years)' : ''}${active_only ? ' with open campaign' : ''}${jurisdiction ? ` with jurisdiction="${jurisdiction}"` : ''}`);
|
|
189
182
|
}
|
|
190
183
|
else {
|
|
191
|
-
if (
|
|
184
|
+
if (needsEnrichment) {
|
|
192
185
|
parts.push('=== ENRICHED RESULTS ===\nThese results include campaignId, balance, and campaign status for each filer.\nDo NOT call get_campaign_summary for these filers — the data is already included below.\n===');
|
|
193
186
|
}
|
|
194
|
-
parts.push(`${filtered.length} filer(s) found in ${countyName} County${office_type ? ` matching "${office_type}"` : ''}${
|
|
187
|
+
parts.push(`${filtered.length} filer(s) found in ${countyName} County${office_type ? ` matching "${office_type}"` : ''}${needsEnrichment ? ' (last 2 years)' : ''}${active_only ? ' (active campaigns only)' : ''}${jurisdiction ? ` (${jurisdiction} offices only)` : ''}:${enrichmentNote}`);
|
|
195
188
|
parts.push(JSON.stringify(filtered, null, 2));
|
|
196
189
|
}
|
|
197
190
|
return {
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/vrems.js
CHANGED
|
@@ -53,16 +53,17 @@ export function registerVremsTools(server) {
|
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
|
-
server.tool('search_candidates', 'Search for candidates in a specific SC election. Returns contact info, filing fee, address, status. Default limit 50 results (0 for all) — statewide elections can return 500+. Get election_id from list_elections. To bridge to campaign finance, use search_filers with candidate names — the two systems don\'t share IDs. Try last name only if no match.', {
|
|
56
|
+
server.tool('search_candidates', 'Search for candidates in a specific SC election. Returns contact info, filing fee, address, status, dateFiled. Default limit 50 results (0 for all) — statewide elections can return 500+. Get election_id from list_elections. To bridge to campaign finance, use search_filers with candidate names — the two systems don\'t share IDs. Try last name only if no match. ELECTION ID NOTE: County council candidates (nonpartisan) file under the General election ID, not the Primary. State House candidates also use the General election ID even though they have primaries. Use list_elections to confirm IDs for each cycle.', {
|
|
57
57
|
election_id: z.string().describe('Election ID from list_elections results'),
|
|
58
|
-
office: z.string().optional().describe('Office filter
|
|
58
|
+
office: z.string().optional().describe('Office filter. IMPORTANT: Text matching is unreliable — use numeric codes for reliable filtering. Known codes: 380=State House, 379=State Senate, 469=County Council District, 405=County Council Chair, 399=Probate Judge, 403=County Treasurer, 398=Sheriff, 400=Clerk of Court, 401=Coroner, 402=Auditor, 473=County Council At Large. Statewide office codes are not fully documented — for Governor, AG, and other statewide offices, omit this filter and search by last_name instead. Omit for ALL offices (recommended for county-level queries). Use -1 explicitly for all.'),
|
|
59
59
|
county: z.string().optional().describe('County name (e.g. "Greenville") or code (e.g. "23"). Names are auto-resolved to codes. Omit for all counties.'),
|
|
60
|
-
party: z.string().optional().describe('Party filter: Republican, Democratic, Libertarian, Nonpartisan, or All'),
|
|
61
|
-
status: z.string().optional().describe('Status filter:
|
|
60
|
+
party: z.string().optional().describe('Party filter: Republican, Democratic, Libertarian, Nonpartisan, or All. Note: "United Citizens" party candidates exist but are not listed here — omit party filter to see all.'),
|
|
61
|
+
status: z.string().optional().describe('Status filter. Known values: Active (filed, not withdrawn), Elected (won the race), DefeatedInPrimary, DefeatedInGeneral, Withdrew (filed then withdrew — use this to exclude dropped candidates). Omit or pass All for everyone.'),
|
|
62
62
|
first_name: z.string().optional().describe('Candidate first name search'),
|
|
63
63
|
last_name: z.string().optional().describe('Candidate last name search'),
|
|
64
|
+
date_filed: z.string().optional().describe('Filter by filing date to get only candidates who filed on that day. Format must match what VREMS returns (typically M/D/YYYY without leading zeros, e.g. "3/18/2026"). Use this during filing periods to pull only today\'s new filers without fetching the full candidate list. Note: only applies to CSV results — ignored in HTML fallback mode.'),
|
|
64
65
|
limit: z.number().optional().describe('Max candidates to return (default 50, 0 for all). Statewide elections can return hundreds.'),
|
|
65
|
-
}, async ({ election_id, office, county, party, status, first_name, last_name, limit }) => {
|
|
66
|
+
}, async ({ election_id, office, county, party, status, first_name, last_name, date_filed, limit }) => {
|
|
66
67
|
try {
|
|
67
68
|
// Resolve county name to code if not already numeric
|
|
68
69
|
let resolvedCounty = county;
|
|
@@ -86,15 +87,22 @@ export function registerVremsTools(server) {
|
|
|
86
87
|
});
|
|
87
88
|
const effectiveLimit = limit === undefined ? 50 : limit;
|
|
88
89
|
if (result.candidates.length > 0) {
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
let candidates = result.candidates;
|
|
91
|
+
// Apply date_filed filter (client-side — CSV always returns all dates)
|
|
92
|
+
if (date_filed) {
|
|
93
|
+
candidates = candidates.filter(c => (c.dateFiled || '') === date_filed);
|
|
94
|
+
}
|
|
95
|
+
const totalCount = candidates.length;
|
|
96
|
+
const limited = effectiveLimit > 0 ? candidates.slice(0, effectiveLimit) : candidates;
|
|
91
97
|
const limitNote = effectiveLimit > 0 && totalCount > effectiveLimit
|
|
92
98
|
? `\nShowing ${effectiveLimit} of ${totalCount}. Use limit=0 for all.`
|
|
93
99
|
: '';
|
|
94
100
|
return {
|
|
95
101
|
content: [{
|
|
96
102
|
type: 'text',
|
|
97
|
-
text:
|
|
103
|
+
text: totalCount === 0
|
|
104
|
+
? `No candidates found matching filters${date_filed ? ` (no filings on ${date_filed})` : ''}`
|
|
105
|
+
: `${totalCount} candidate(s) found (rich data from CSV export):${limitNote}\n${JSON.stringify(limited, null, 2)}`,
|
|
98
106
|
}],
|
|
99
107
|
};
|
|
100
108
|
}
|
package/dist/tools/vrems.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vrems.js","sourceRoot":"","sources":["../../src/tools/vrems.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vrems.js","sourceRoot":"","sources":["../../src/tools/vrems.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -133,6 +133,8 @@ export interface NormalizedOffice {
|
|
|
133
133
|
normalized: string;
|
|
134
134
|
district?: string;
|
|
135
135
|
body?: string;
|
|
136
|
+
/** Jurisdiction tier derived from office body type */
|
|
137
|
+
jurisdictionTier?: 'city' | 'county' | 'state';
|
|
136
138
|
}
|
|
137
139
|
/** Grouped filer result — one entry per person, with all their office filings */
|
|
138
140
|
export interface GroupedFiler {
|
package/package.json
CHANGED