election-vibe 0.1.6 → 0.1.7

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 (2) hide show
  1. package/dist/cli.js +191 -136
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -216,7 +216,7 @@ var REHEARSAL_SENTENCE = {
216
216
 
217
217
  // src/http.ts
218
218
  import { gunzipSync } from "zlib";
219
- var USER_AGENT = `ElectionsCompanion/${"0.1.6"} (unofficial results reader; local, no telemetry)`;
219
+ var USER_AGENT = `ElectionsCompanion/${"0.1.7"} (unofficial results reader; local, no telemetry)`;
220
220
  function retryAfterMs(header, nowMs) {
221
221
  if (!header) return void 0;
222
222
  const t = header.trim();
@@ -2948,11 +2948,7 @@ var registry_default = {
2948
2948
  candidates: [
2949
2949
  "Yes",
2950
2950
  "No"
2951
- ],
2952
- presets: [
2953
- "hot"
2954
- ],
2955
- presetReason: "Statewide ballot measure (repeal ranked-choice voting and open primaries), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Alaska_elections)"
2951
+ ]
2956
2952
  },
2957
2953
  {
2958
2954
  id: "2026-11-03.ak.governor.regular",
@@ -3044,7 +3040,7 @@ var registry_default = {
3044
3040
  presets: [
3045
3041
  "hot"
3046
3042
  ],
3047
- presetReason: "US Senate race added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Alaska)"
3043
+ presetReason: "Margin of 0.2 points on first choices; ranked-choice general, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Alaska)"
3048
3044
  },
3049
3045
  {
3050
3046
  id: "2026-11-03.al.governor.regular",
@@ -3070,7 +3066,11 @@ var registry_default = {
3070
3066
  candidates: [
3071
3067
  "Tommy Tuberville",
3072
3068
  "Doug Jones"
3073
- ]
3069
+ ],
3070
+ presets: [
3071
+ "hot"
3072
+ ],
3073
+ presetReason: "Margin of 4.1 points; open seat, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Alabama_gubernatorial_election)"
3074
3074
  },
3075
3075
  {
3076
3076
  id: "2026-11-03.al.us-house-1.regular",
@@ -3481,7 +3481,7 @@ var registry_default = {
3481
3481
  presets: [
3482
3482
  "hot"
3483
3483
  ],
3484
- presetReason: "Incumbent governor in a presidential swing state (https://en.wikipedia.org/wiki/2026_Arizona_gubernatorial_election)"
3484
+ presetReason: "Margin of 16.4 points; incumbent governor in a presidential swing state; kept on the maintainer's word, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Arizona_gubernatorial_election)"
3485
3485
  },
3486
3486
  {
3487
3487
  id: "2026-11-03.az.phoenix-city-council-district-2.regular",
@@ -3627,11 +3627,7 @@ var registry_default = {
3627
3627
  candidates: [
3628
3628
  "Yes",
3629
3629
  "No"
3630
- ],
3631
- presets: [
3632
- "hot"
3633
- ],
3634
- presetReason: "Statewide ballot measure (citizenship and voter ID requirements), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Arizona_elections)"
3630
+ ]
3635
3631
  },
3636
3632
  {
3637
3633
  id: "2026-11-03.az.us-house-1.regular",
@@ -5030,11 +5026,7 @@ var registry_default = {
5030
5026
  "Brenda F. Grisham",
5031
5027
  "Mindy Ruth Pechenuk"
5032
5028
  ],
5033
- scopeEvidence: "A city contest; every city in Alameda County lies wholly in the county.",
5034
- presets: [
5035
- "hot"
5036
- ],
5037
- presetReason: "Oakland mayor, ranked-choice, added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Oakland_mayoral_election)"
5029
+ scopeEvidence: "A city contest; every city in Alameda County lies wholly in the county."
5038
5030
  },
5039
5031
  {
5040
5032
  id: "2026-11-03.ca.alameda.mayor-pleasanton.regular",
@@ -9164,9 +9156,6 @@ var registry_default = {
9164
9156
  candidates: [
9165
9157
  "Xavier Becerra",
9166
9158
  "Steve Hilton"
9167
- ],
9168
- presets: [
9169
- "hot"
9170
9159
  ]
9171
9160
  },
9172
9161
  {
@@ -20150,11 +20139,7 @@ var registry_default = {
20150
20139
  candidates: [
20151
20140
  "Yes",
20152
20141
  "No"
20153
- ],
20154
- presets: [
20155
- "hot"
20156
- ],
20157
- presetReason: "Statewide ballot measure (government-issued identification to vote), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_California_Proposition_39)"
20142
+ ]
20158
20143
  },
20159
20144
  {
20160
20145
  id: "2026-11-03.ca.proposition-4.regular",
@@ -20206,11 +20191,7 @@ var registry_default = {
20206
20191
  candidates: [
20207
20192
  "Yes",
20208
20193
  "No"
20209
- ],
20210
- presets: [
20211
- "hot"
20212
- ],
20213
- presetReason: "Statewide ballot measure (a one-time tax on certain taxpayers), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_California_Proposition_40)"
20194
+ ]
20214
20195
  },
20215
20196
  {
20216
20197
  id: "2026-11-03.ca.proposition-41.regular",
@@ -33263,11 +33244,7 @@ var registry_default = {
33263
33244
  candidates: [
33264
33245
  "Yes",
33265
33246
  "No"
33266
- ],
33267
- presets: [
33268
- "hot"
33269
- ],
33270
- presetReason: "Statewide ballot measure, added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Colorado_elections)"
33247
+ ]
33271
33248
  },
33272
33249
  {
33273
33250
  id: "2026-11-03.co.governor.regular",
@@ -33825,7 +33802,11 @@ var registry_default = {
33825
33802
  'Jeffrey Peter "Dr. Jeff" Datto',
33826
33803
  'Moliere "Moe" Dimanche',
33827
33804
  "Frank J. Russo"
33828
- ]
33805
+ ],
33806
+ presets: [
33807
+ "hot"
33808
+ ],
33809
+ presetReason: "Margin of 1.3 points; open seat, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Florida_gubernatorial_election)"
33829
33810
  },
33830
33811
  {
33831
33812
  id: "2026-11-03.fl.us-house-1.regular",
@@ -34626,7 +34607,11 @@ var registry_default = {
34626
34607
  "Ashley Moody",
34627
34608
  "Angie Nixon",
34628
34609
  "Neil J. Gillespie"
34629
- ]
34610
+ ],
34611
+ presets: [
34612
+ "hot"
34613
+ ],
34614
+ presetReason: "Margin of 2.9 points; special election, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_special_election_in_Florida)"
34630
34615
  },
34631
34616
  {
34632
34617
  id: "2026-11-03.ga.governor.regular",
@@ -34656,7 +34641,7 @@ var registry_default = {
34656
34641
  presets: [
34657
34642
  "hot"
34658
34643
  ],
34659
- presetReason: "Open seat (term-limited incumbent) in a presidential swing state (https://en.wikipedia.org/wiki/2026_Georgia_gubernatorial_election)"
34644
+ presetReason: "Margin of 8.5 points; R-held seat flipped; open seat (term-limited incumbent), on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Georgia_gubernatorial_election)"
34660
34645
  },
34661
34646
  {
34662
34647
  id: "2026-11-03.ga.us-house-1.regular",
@@ -35065,7 +35050,7 @@ var registry_default = {
35065
35050
  presets: [
35066
35051
  "hot"
35067
35052
  ],
35068
- presetReason: "Incumbent defending a seat in a state decided by under 1 point in the 2020 presidential race (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Georgia)"
35053
+ presetReason: "Margin of 17.9 points; incumbent defending a seat in a state decided by under 1 point in the 2020 presidential race; kept on the maintainer's word, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Georgia)"
35069
35054
  },
35070
35055
  {
35071
35056
  id: "2026-11-03.hi.governor.regular",
@@ -35173,7 +35158,11 @@ var registry_default = {
35173
35158
  candidates: [
35174
35159
  "Zach Lahn",
35175
35160
  "Rob Sand"
35176
- ]
35161
+ ],
35162
+ presets: [
35163
+ "hot"
35164
+ ],
35165
+ presetReason: "Margin of 10.9 points; R-held seat flipped, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Iowa_gubernatorial_election)"
35177
35166
  },
35178
35167
  {
35179
35168
  id: "2026-11-03.ia.us-house-1.regular",
@@ -35315,7 +35304,7 @@ var registry_default = {
35315
35304
  presets: [
35316
35305
  "hot"
35317
35306
  ],
35318
- presetReason: "Open seat (incumbent retiring) (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Iowa)"
35307
+ presetReason: "Margin of 4.0 points; R-held seat flipped; open seat (incumbent retiring), on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Iowa)"
35319
35308
  },
35320
35309
  {
35321
35310
  id: "2026-11-03.id.governor.regular",
@@ -35370,11 +35359,7 @@ var registry_default = {
35370
35359
  candidates: [
35371
35360
  "Yes",
35372
35361
  "No"
35373
- ],
35374
- presets: [
35375
- "hot"
35376
- ],
35377
- presetReason: "Statewide ballot measure (Reproductive Freedom and Privacy Act), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Idaho_elections)"
35362
+ ]
35378
35363
  },
35379
35364
  {
35380
35365
  id: "2026-11-03.id.us-house-1.regular",
@@ -36248,7 +36233,11 @@ var registry_default = {
36248
36233
  candidates: [
36249
36234
  "Cindy Holscher",
36250
36235
  "Ty Masterson"
36251
- ]
36236
+ ],
36237
+ presets: [
36238
+ "hot"
36239
+ ],
36240
+ presetReason: "Margin of 0.7 points, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Kansas_gubernatorial_election)"
36252
36241
  },
36253
36242
  {
36254
36243
  id: "2026-11-03.ks.us-house-1.regular",
@@ -36391,7 +36380,7 @@ var registry_default = {
36391
36380
  presets: [
36392
36381
  "hot"
36393
36382
  ],
36394
- presetReason: "US Senate race added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Kansas)"
36383
+ presetReason: "Margin of 5.0 points; R-held seat flipped, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Kansas)"
36395
36384
  },
36396
36385
  {
36397
36386
  id: "2026-11-03.ky.us-house-1.regular",
@@ -36804,7 +36793,11 @@ var registry_default = {
36804
36793
  candidates: [
36805
36794
  "Jamie Davis",
36806
36795
  "Julia Letlow"
36807
- ]
36796
+ ],
36797
+ presets: [
36798
+ "hot"
36799
+ ],
36800
+ presetReason: "Margin of 1.8 points, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Louisiana)"
36808
36801
  },
36809
36802
  {
36810
36803
  id: "2026-11-03.ma.governor.regular",
@@ -36857,11 +36850,7 @@ var registry_default = {
36857
36850
  candidates: [
36858
36851
  "Yes",
36859
36852
  "No"
36860
- ],
36861
- presets: [
36862
- "hot"
36863
- ],
36864
- presetReason: "Statewide ballot measure (top-two primary elections), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Massachusetts_ballot_measures)"
36853
+ ]
36865
36854
  },
36866
36855
  {
36867
36856
  id: "2026-11-03.ma.question-4.regular",
@@ -36887,11 +36876,7 @@ var registry_default = {
36887
36876
  candidates: [
36888
36877
  "Yes",
36889
36878
  "No"
36890
- ],
36891
- presets: [
36892
- "hot"
36893
- ],
36894
- presetReason: "Statewide ballot measure (same-day voter registration), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Massachusetts_ballot_measures)"
36879
+ ]
36895
36880
  },
36896
36881
  {
36897
36882
  id: "2026-11-03.ma.question-8.regular",
@@ -36917,11 +36902,7 @@ var registry_default = {
36917
36902
  candidates: [
36918
36903
  "Yes",
36919
36904
  "No"
36920
- ],
36921
- presets: [
36922
- "hot"
36923
- ],
36924
- presetReason: "Statewide ballot measure (eliminate recreational marijuana sales), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Massachusetts_ballot_measures)"
36905
+ ]
36925
36906
  },
36926
36907
  {
36927
36908
  id: "2026-11-03.ma.us-house-1.regular",
@@ -37245,11 +37226,7 @@ var registry_default = {
37245
37226
  candidates: [
37246
37227
  "Yes",
37247
37228
  "No"
37248
- ],
37249
- presets: [
37250
- "hot"
37251
- ],
37252
- presetReason: "Statewide ballot measure (electoral districts), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Maryland_elections)"
37229
+ ]
37253
37230
  },
37254
37231
  {
37255
37232
  id: "2026-11-03.md.us-house-1.regular",
@@ -37579,7 +37556,7 @@ var registry_default = {
37579
37556
  presets: [
37580
37557
  "hot"
37581
37558
  ],
37582
- presetReason: "Incumbent in a state that voted for the other party for president in 2024; ranked-choice general (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Maine)"
37559
+ presetReason: "Margin of 8.1 points; R-held seat flipped; ranked-choice general, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Maine)"
37583
37560
  },
37584
37561
  {
37585
37562
  id: "2026-11-03.mi.governor.regular",
@@ -37608,11 +37585,7 @@ var registry_default = {
37608
37585
  "Anthony Hudson",
37609
37586
  "Donna Brandenburg",
37610
37587
  "Douglas Campbell"
37611
- ],
37612
- presets: [
37613
- "hot"
37614
- ],
37615
- presetReason: "Open seat (term-limited incumbent) in a presidential swing state (https://en.wikipedia.org/wiki/2026_Michigan_gubernatorial_election)"
37588
+ ]
37616
37589
  },
37617
37590
  {
37618
37591
  id: "2026-11-03.mi.us-house-1.regular",
@@ -38033,7 +38006,7 @@ var registry_default = {
38033
38006
  presets: [
38034
38007
  "hot"
38035
38008
  ],
38036
- presetReason: "Open seat (incumbent retiring) in a presidential swing state (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Michigan)"
38009
+ presetReason: "Margin of 5.2 points; open seat (incumbent retiring) in a presidential swing state, held by the incumbent's party, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Michigan)"
38037
38010
  },
38038
38011
  {
38039
38012
  id: "2026-11-03.mn.governor.regular",
@@ -38341,11 +38314,7 @@ var registry_default = {
38341
38314
  candidates: [
38342
38315
  "Yes",
38343
38316
  "No"
38344
- ],
38345
- presets: [
38346
- "hot"
38347
- ],
38348
- presetReason: "Statewide ballot measure, added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Missouri_elections)"
38317
+ ]
38349
38318
  },
38350
38319
  {
38351
38320
  id: "2026-11-03.mo.proposition-a.regular",
@@ -38371,11 +38340,7 @@ var registry_default = {
38371
38340
  candidates: [
38372
38341
  "Yes",
38373
38342
  "No"
38374
- ],
38375
- presets: [
38376
- "hot"
38377
- ],
38378
- presetReason: "Statewide ballot measure, added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Missouri_elections)"
38343
+ ]
38379
38344
  },
38380
38345
  {
38381
38346
  id: "2026-11-03.mo.us-house-1.regular",
@@ -38738,7 +38703,11 @@ var registry_default = {
38738
38703
  "Scott Colom",
38739
38704
  "Cindy Hyde-Smith",
38740
38705
  "Ty Pinkins"
38741
- ]
38706
+ ],
38707
+ presets: [
38708
+ "hot"
38709
+ ],
38710
+ presetReason: "Margin of 1.2 points; no source call at 11:10 PM PST, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Mississippi)"
38742
38711
  },
38743
38712
  {
38744
38713
  id: "2026-11-03.mt.us-house-1.regular",
@@ -38823,7 +38792,11 @@ var registry_default = {
38823
38792
  "Alani Bankhead",
38824
38793
  "Kyle Austin",
38825
38794
  "Seth Bodnar"
38826
- ]
38795
+ ],
38796
+ presets: [
38797
+ "hot"
38798
+ ],
38799
+ presetReason: "Margin of 6.5 points; no source call at 11:10 PM PST, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Montana)"
38827
38800
  },
38828
38801
  {
38829
38802
  id: "2026-11-03.nc.us-house-1.regular",
@@ -39244,7 +39217,7 @@ var registry_default = {
39244
39217
  presets: [
39245
39218
  "hot"
39246
39219
  ],
39247
- presetReason: "Open seat (incumbent retiring) in a presidential swing state (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_North_Carolina)"
39220
+ presetReason: "Margin of 19.6 points; R-held seat flipped; open seat (incumbent retiring) in a presidential swing state, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_North_Carolina)"
39248
39221
  },
39249
39222
  {
39250
39223
  id: "2026-11-03.nd.us-house-al.regular",
@@ -39301,7 +39274,11 @@ var registry_default = {
39301
39274
  "Lynne Walz",
39302
39275
  "Rick Beard",
39303
39276
  "Brett Lindstrom"
39304
- ]
39277
+ ],
39278
+ presets: [
39279
+ "hot"
39280
+ ],
39281
+ presetReason: "Margin of 4.3 points; no source call at 11:10 PM PST, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Nebraska_gubernatorial_election)"
39305
39282
  },
39306
39283
  {
39307
39284
  id: "2026-11-03.ne.us-house-1.regular",
@@ -39417,7 +39394,11 @@ var registry_default = {
39417
39394
  "Robin Richards",
39418
39395
  "Chuck Conboy",
39419
39396
  "Dan Osborn"
39420
- ]
39397
+ ],
39398
+ presets: [
39399
+ "hot"
39400
+ ],
39401
+ presetReason: "Margin of 3.2 points; no source call at 11:10 PM PST, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Nebraska)"
39421
39402
  },
39422
39403
  {
39423
39404
  id: "2026-11-03.nh.governor.regular",
@@ -39444,7 +39425,11 @@ var registry_default = {
39444
39425
  "Cinde Warmington",
39445
39426
  "Kelly Ayotte",
39446
39427
  "Stephen Villee"
39447
- ]
39428
+ ],
39429
+ presets: [
39430
+ "hot"
39431
+ ],
39432
+ presetReason: "Margin of 9.1 points; no source call at 11:10 PM PST, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_New_Hampshire_gubernatorial_election)"
39448
39433
  },
39449
39434
  {
39450
39435
  id: "2026-11-03.nh.us-house-1.regular",
@@ -39526,11 +39511,7 @@ var registry_default = {
39526
39511
  "Chris Pappas",
39527
39512
  "Edmond Laplante",
39528
39513
  "John E. Sununu"
39529
- ],
39530
- presets: [
39531
- "hot"
39532
- ],
39533
- presetReason: "Open seat (incumbent retiring) (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_New_Hampshire)"
39514
+ ]
39534
39515
  },
39535
39516
  {
39536
39517
  id: "2026-11-03.nj.us-house-1.regular",
@@ -40051,7 +40032,11 @@ var registry_default = {
40051
40032
  "Aaron Ford",
40052
40033
  "Joe Lombardo",
40053
40034
  "Danielle Ford"
40054
- ]
40035
+ ],
40036
+ presets: [
40037
+ "hot"
40038
+ ],
40039
+ presetReason: "Margin under 0.1 points, the closest statewide margin of the night, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Nevada_gubernatorial_election)"
40055
40040
  },
40056
40041
  {
40057
40042
  id: "2026-11-03.nv.question-6.regular",
@@ -40077,11 +40062,7 @@ var registry_default = {
40077
40062
  candidates: [
40078
40063
  "Yes",
40079
40064
  "No"
40080
- ],
40081
- presets: [
40082
- "hot"
40083
- ],
40084
- presetReason: "Statewide ballot measure, added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Nevada_elections)"
40065
+ ]
40085
40066
  },
40086
40067
  {
40087
40068
  id: "2026-11-03.nv.question-7.regular",
@@ -40107,11 +40088,7 @@ var registry_default = {
40107
40088
  candidates: [
40108
40089
  "Yes",
40109
40090
  "No"
40110
- ],
40111
- presets: [
40112
- "hot"
40113
- ],
40114
- presetReason: "Statewide ballot measure, added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Nevada_elections)"
40091
+ ]
40115
40092
  },
40116
40093
  {
40117
40094
  id: "2026-11-03.nv.us-house-1.regular",
@@ -40990,7 +40967,11 @@ var registry_default = {
40990
40967
  "Don Kissick",
40991
40968
  "Vivek Ramaswamy",
40992
40969
  "Renea Turner"
40993
- ]
40970
+ ],
40971
+ presets: [
40972
+ "hot"
40973
+ ],
40974
+ presetReason: "Margin of 5.7 points; R-held seat flipped, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Ohio_gubernatorial_election)"
40994
40975
  },
40995
40976
  {
40996
40977
  id: "2026-11-03.oh.issue-3.regular",
@@ -41016,11 +40997,7 @@ var registry_default = {
41016
40997
  candidates: [
41017
40998
  "Yes",
41018
40999
  "No"
41019
- ],
41020
- presets: [
41021
- "hot"
41022
- ],
41023
- presetReason: "Statewide ballot measure (photo identification to vote), added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_Ohio_elections)"
41000
+ ]
41024
41001
  },
41025
41002
  {
41026
41003
  id: "2026-11-03.oh.us-house-1.regular",
@@ -41471,7 +41448,7 @@ var registry_default = {
41471
41448
  presets: [
41472
41449
  "hot"
41473
41450
  ],
41474
- presetReason: "Special election for the seat vacated in 2025 (https://en.wikipedia.org/wiki/2026_United_States_Senate_special_election_in_Ohio)"
41451
+ presetReason: "Margin of 3.6 points; R-held seat flipped; special election for the seat vacated in 2025, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_special_election_in_Ohio)"
41475
41452
  },
41476
41453
  {
41477
41454
  id: "2026-11-03.ok.governor.regular",
@@ -41500,7 +41477,11 @@ var registry_default = {
41500
41477
  "Orlando Lynn Bush",
41501
41478
  "Robert E Brooks Sr",
41502
41479
  "Jerry Griffin"
41503
- ]
41480
+ ],
41481
+ presets: [
41482
+ "hot"
41483
+ ],
41484
+ presetReason: "Margin of 6.1 points; open seat, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Oklahoma_gubernatorial_election)"
41504
41485
  },
41505
41486
  {
41506
41487
  id: "2026-11-03.ok.us-house-1.regular",
@@ -41695,7 +41676,11 @@ var registry_default = {
41695
41676
  "Christine Drazan",
41696
41677
  "Tina Kotek",
41697
41678
  "Brett Smith"
41698
- ]
41679
+ ],
41680
+ presets: [
41681
+ "hot"
41682
+ ],
41683
+ presetReason: "Margin of 6.7 points; no source call at 11:10 PM PST, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Oregon_gubernatorial_election)"
41699
41684
  },
41700
41685
  {
41701
41686
  id: "2026-11-03.or.us-house-1.regular",
@@ -41918,7 +41903,7 @@ var registry_default = {
41918
41903
  presets: [
41919
41904
  "hot"
41920
41905
  ],
41921
- presetReason: "Incumbent governor in the largest presidential swing state (https://en.wikipedia.org/wiki/2026_Pennsylvania_gubernatorial_election)"
41906
+ presetReason: "Incumbent governor in the largest presidential swing state; its civicAPI feed is marked test data on election night, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Pennsylvania_gubernatorial_election)"
41922
41907
  },
41923
41908
  {
41924
41909
  id: "2026-11-03.pa.us-house-1.regular",
@@ -42516,7 +42501,11 @@ var registry_default = {
42516
42501
  "Alan Wilson",
42517
42502
  "Michael Addison",
42518
42503
  "Walid Hakim"
42519
- ]
42504
+ ],
42505
+ presets: [
42506
+ "hot"
42507
+ ],
42508
+ presetReason: "Margin of 4.6 points, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_South_Carolina_gubernatorial_election)"
42520
42509
  },
42521
42510
  {
42522
42511
  id: "2026-11-03.sc.us-house-1.regular",
@@ -42737,7 +42726,11 @@ var registry_default = {
42737
42726
  "Darline Graham",
42738
42727
  "Mark Hackett",
42739
42728
  "Kasie Whitener"
42740
- ]
42729
+ ],
42730
+ presets: [
42731
+ "hot"
42732
+ ],
42733
+ presetReason: "Margin of 4.3 points; R-held seat flipped, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_South_Carolina)"
42741
42734
  },
42742
42735
  {
42743
42736
  id: "2026-11-03.sd.governor.regular",
@@ -42842,7 +42835,11 @@ var registry_default = {
42842
42835
  candidates: [
42843
42836
  "Marsha Blackburn",
42844
42837
  "Jerri Green"
42845
- ]
42838
+ ],
42839
+ presets: [
42840
+ "hot"
42841
+ ],
42842
+ presetReason: "Margin of 2.3 points; open seat, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Tennessee_gubernatorial_election)"
42846
42843
  },
42847
42844
  {
42848
42845
  id: "2026-11-03.tn.us-house-1.regular",
@@ -43138,7 +43135,11 @@ var registry_default = {
43138
43135
  "Gina Hinojosa",
43139
43136
  "Greg Abbott",
43140
43137
  "Pat Dixon"
43141
- ]
43138
+ ],
43139
+ presets: [
43140
+ "hot"
43141
+ ],
43142
+ presetReason: "Margin of 8.9 points; R-held seat flipped, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Texas_gubernatorial_election)"
43142
43143
  },
43143
43144
  {
43144
43145
  id: "2026-11-03.tx.us-house-1.regular",
@@ -44203,7 +44204,7 @@ var registry_default = {
44203
44204
  presets: [
44204
44205
  "hot"
44205
44206
  ],
44206
- presetReason: "US Senate race added by the maintainer's review, Nov 1, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Texas)"
44207
+ presetReason: "Margin of 11.2 points; R-held seat flipped, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_United_States_Senate_election_in_Texas)"
44207
44208
  },
44208
44209
  {
44209
44210
  id: "2026-11-03.ut.us-house-1.regular",
@@ -44702,7 +44703,11 @@ var registry_default = {
44702
44703
  "Dean Roy",
44703
44704
  "Phil Scott",
44704
44705
  "Write-in"
44705
- ]
44706
+ ],
44707
+ presets: [
44708
+ "hot"
44709
+ ],
44710
+ presetReason: "Margin of 6.5 points; incumbent in a state that voted for the other party for president in 2024, on our election-night count, Nov 3, 2026 (https://en.wikipedia.org/wiki/2026_Vermont_gubernatorial_election)"
44706
44711
  },
44707
44712
  {
44708
44713
  id: "2026-11-03.vt.us-house-al.regular",
@@ -45030,11 +45035,7 @@ var registry_default = {
45030
45035
  candidates: [
45031
45036
  "David Crowley",
45032
45037
  "Tom Tiffany"
45033
- ],
45034
- presets: [
45035
- "hot"
45036
- ],
45037
- presetReason: "Open seat (incumbent not running) in a presidential swing state (https://en.wikipedia.org/wiki/2026_Wisconsin_gubernatorial_election)"
45038
+ ]
45038
45039
  },
45039
45040
  {
45040
45041
  id: "2026-11-03.wi.us-house-1.regular",
@@ -45695,6 +45696,53 @@ function resolveContest(registry, query) {
45695
45696
  return { kind: "none" };
45696
45697
  }
45697
45698
 
45699
+ // src/registry/presets.ts
45700
+ var wiki = (s) => `https://en.wikipedia.org/wiki/${s}`;
45701
+ var NIGHT = "on our election-night count, Nov 3, 2026";
45702
+ var entry = (id, fact, page) => ({ id, reason: `${fact}, ${NIGHT}`, link: wiki(page) });
45703
+ var HOT_PRESET = [
45704
+ entry("2026-11-03.nv.governor.regular", "Margin under 0.1 points, the closest statewide margin of the night", "2026_Nevada_gubernatorial_election"),
45705
+ entry("2026-11-03.ak.us-senate.regular", "Margin of 0.2 points on first choices; ranked-choice general", "2026_United_States_Senate_election_in_Alaska"),
45706
+ entry("2026-11-03.ks.governor.regular", "Margin of 0.7 points", "2026_Kansas_gubernatorial_election"),
45707
+ entry("2026-11-03.ms.us-senate.regular", "Margin of 1.2 points; no source call at 11:10 PM PST", "2026_United_States_Senate_election_in_Mississippi"),
45708
+ entry("2026-11-03.fl.governor.regular", "Margin of 1.3 points; open seat", "2026_Florida_gubernatorial_election"),
45709
+ entry("2026-11-03.la.us-senate.regular", "Margin of 1.8 points", "2026_United_States_Senate_election_in_Louisiana"),
45710
+ entry("2026-11-03.tn.governor.regular", "Margin of 2.3 points; open seat", "2026_Tennessee_gubernatorial_election"),
45711
+ entry("2026-11-03.fl.us-senate.special", "Margin of 2.9 points; special election", "2026_United_States_Senate_special_election_in_Florida"),
45712
+ entry("2026-11-03.ne.us-senate.regular", "Margin of 3.2 points; no source call at 11:10 PM PST", "2026_United_States_Senate_election_in_Nebraska"),
45713
+ entry("2026-11-03.oh.us-senate.special", "Margin of 3.6 points; R-held seat flipped; special election for the seat vacated in 2025", "2026_United_States_Senate_special_election_in_Ohio"),
45714
+ entry("2026-11-03.ia.us-senate.regular", "Margin of 4.0 points; R-held seat flipped; open seat (incumbent retiring)", "2026_United_States_Senate_election_in_Iowa"),
45715
+ entry("2026-11-03.al.governor.regular", "Margin of 4.1 points; open seat", "2026_Alabama_gubernatorial_election"),
45716
+ entry("2026-11-03.sc.us-senate.regular", "Margin of 4.3 points; R-held seat flipped", "2026_United_States_Senate_election_in_South_Carolina"),
45717
+ entry("2026-11-03.ne.governor.regular", "Margin of 4.3 points; no source call at 11:10 PM PST", "2026_Nebraska_gubernatorial_election"),
45718
+ entry("2026-11-03.sc.governor.regular", "Margin of 4.6 points", "2026_South_Carolina_gubernatorial_election"),
45719
+ entry("2026-11-03.ks.us-senate.regular", "Margin of 5.0 points; R-held seat flipped", "2026_United_States_Senate_election_in_Kansas"),
45720
+ entry("2026-11-03.mi.us-senate.regular", "Margin of 5.2 points; open seat (incumbent retiring) in a presidential swing state, held by the incumbent's party", "2026_United_States_Senate_election_in_Michigan"),
45721
+ entry("2026-11-03.oh.governor.regular", "Margin of 5.7 points; R-held seat flipped", "2026_Ohio_gubernatorial_election"),
45722
+ entry("2026-11-03.ok.governor.regular", "Margin of 6.1 points; open seat", "2026_Oklahoma_gubernatorial_election"),
45723
+ entry("2026-11-03.mt.us-senate.regular", "Margin of 6.5 points; no source call at 11:10 PM PST", "2026_United_States_Senate_election_in_Montana"),
45724
+ entry("2026-11-03.vt.governor.regular", "Margin of 6.5 points; incumbent in a state that voted for the other party for president in 2024", "2026_Vermont_gubernatorial_election"),
45725
+ entry("2026-11-03.or.governor.regular", "Margin of 6.7 points; no source call at 11:10 PM PST", "2026_Oregon_gubernatorial_election"),
45726
+ entry("2026-11-03.me.us-senate.regular", "Margin of 8.1 points; R-held seat flipped; ranked-choice general", "2026_United_States_Senate_election_in_Maine"),
45727
+ entry("2026-11-03.ga.governor.regular", "Margin of 8.5 points; R-held seat flipped; open seat (term-limited incumbent)", "2026_Georgia_gubernatorial_election"),
45728
+ entry("2026-11-03.tx.governor.regular", "Margin of 8.9 points; R-held seat flipped", "2026_Texas_gubernatorial_election"),
45729
+ entry("2026-11-03.nh.governor.regular", "Margin of 9.1 points; no source call at 11:10 PM PST", "2026_New_Hampshire_gubernatorial_election"),
45730
+ entry("2026-11-03.ia.governor.regular", "Margin of 10.9 points; R-held seat flipped", "2026_Iowa_gubernatorial_election"),
45731
+ entry("2026-11-03.tx.us-senate.regular", "Margin of 11.2 points; R-held seat flipped", "2026_United_States_Senate_election_in_Texas"),
45732
+ entry("2026-11-03.az.governor.regular", "Margin of 16.4 points; incumbent governor in a presidential swing state; kept on the maintainer's word", "2026_Arizona_gubernatorial_election"),
45733
+ entry("2026-11-03.ga.us-senate.regular", "Margin of 17.9 points; incumbent defending a seat in a state decided by under 1 point in the 2020 presidential race; kept on the maintainer's word", "2026_United_States_Senate_election_in_Georgia"),
45734
+ entry("2026-11-03.nc.us-senate.regular", "Margin of 19.6 points; R-held seat flipped; open seat (incumbent retiring) in a presidential swing state", "2026_United_States_Senate_election_in_North_Carolina"),
45735
+ {
45736
+ id: "2026-11-03.pa.governor.regular",
45737
+ reason: "Incumbent governor in the largest presidential swing state; its civicAPI feed is marked test data on election night, Nov 3, 2026",
45738
+ link: wiki("2026_Pennsylvania_gubernatorial_election")
45739
+ }
45740
+ ];
45741
+ var RANK = new Map(HOT_PRESET.map((e, i) => [e.id, i]));
45742
+ function inHotOrder(items) {
45743
+ return [...items].sort((a, b) => (RANK.get(a.id) ?? HOT_PRESET.length) - (RANK.get(b.id) ?? HOT_PRESET.length));
45744
+ }
45745
+
45698
45746
  // src/bounded.ts
45699
45747
  function boundList(items, max) {
45700
45748
  const shown = Math.min(items.length, max);
@@ -45937,6 +45985,13 @@ function partyMark(party, st) {
45937
45985
  const letter = party.trim().split(/\s+/).map((x) => x[0].toUpperCase()).join("").slice(0, 3);
45938
45986
  return { letter, paint: same };
45939
45987
  }
45988
+ function calledNames(v, st, partisan) {
45989
+ const called = (v.candidates ?? []).filter((c) => c.calledBySource);
45990
+ return (v.call?.names ?? []).map((n) => {
45991
+ const c = partisan ? called.find((x) => x.name === n) : void 0;
45992
+ return c ? partyMark(c.party, st).paint(n) : n;
45993
+ }).join(", ");
45994
+ }
45940
45995
  var methodLabel = (v) => v.leaders && !/^leading( for \d+ seats)?$/.test(v.leaders.label) ? v.leaders.label : "";
45941
45996
  var capital = (s) => s.charAt(0).toUpperCase() + s.slice(1);
45942
45997
  var isYes = (v, name) => v.method === "measure" && /^(bonds? - )?yes$/i.test(name.trim());
@@ -46061,7 +46116,7 @@ function rowBody(v, o = {}) {
46061
46116
  else if (v.call) {
46062
46117
  const called = (v.candidates ?? []).filter((c) => c.calledBySource);
46063
46118
  const one = called.length === 1 ? who(called[0]) : void 0;
46064
- const text2 = one ? `${st.bold(one.paint(`\u2713 ${one.text}`))}${one.pct}` : st.bold(`\u2713 ${v.call.names.join(", ")}`);
46119
+ const text2 = one ? `${st.bold(one.paint(`\u2713 ${one.text}`))}${one.pct}` : st.bold(`\u2713 ${calledNames(v, st, o.partisan)}`);
46065
46120
  body = `${text2} ${st.dim(`called by ${v.call.authority}`)}`;
46066
46121
  } else if (v.lifecycle === "certified" || v.lifecycle === "cancelled-no-election") body = st.dim(statusWords(v));
46067
46122
  else if (v.zeroReport || !v.candidates?.length) body = st.dim(v.leaders && !v.candidates?.length ? `${v.leaders.label}: ${v.leaders.names.join(", ") || "tied"}` : "no votes counted yet");
@@ -46079,7 +46134,7 @@ function rowBody(v, o = {}) {
46079
46134
  function cutResult(v, body, room, o = {}) {
46080
46135
  if (cols(body) <= room || !v.call) return cut(body, room);
46081
46136
  const st = styleOf(o);
46082
- const short = `${st.bold(`\u2713 ${v.call.names.join(", ")}`)} ${st.dim(`called by ${v.call.authority}`)}`;
46137
+ const short = `${st.bold(`\u2713 ${calledNames(v, st, o.partisan)}`)} ${st.dim(`called by ${v.call.authority}`)}`;
46083
46138
  if (cols(short) <= room) return short;
46084
46139
  return cut(rowBody({ ...v, call: null }, { ...o, reporting: false }), room);
46085
46140
  }
@@ -46147,7 +46202,7 @@ function watchedContests(registry, follow) {
46147
46202
  const byId2 = new Map(registry.map((d) => [d.id, d]));
46148
46203
  const followed = follow.map((id) => byId2.get(id)).filter((d) => !!d);
46149
46204
  const seen = new Set(followed.map((d) => d.id));
46150
- return [...followed, ...registry.filter((d) => d.presets?.includes("hot") && !seen.has(d.id))];
46205
+ return [...followed, ...inHotOrder(registry.filter((d) => d.presets?.includes("hot") && !seen.has(d.id)))];
46151
46206
  }
46152
46207
  function signature(v) {
46153
46208
  return JSON.stringify([
@@ -46336,7 +46391,7 @@ function storeOf(p) {
46336
46391
  }
46337
46392
  async function main(argv, io) {
46338
46393
  if (argv[0] === "--version" || argv[0] === "version") {
46339
- io.out("0.1.6");
46394
+ io.out("0.1.7");
46340
46395
  return 0;
46341
46396
  }
46342
46397
  const p = parseArgs(argv);
@@ -46390,7 +46445,7 @@ ${renderRace(v, { nowMs, zone, width, color, partisan, pollsClose })}`);
46390
46445
  const defs = registry.filter(
46391
46446
  (c) => (!state || c.state === state) && (!county || c.county === county) && (!level || c.level === level) && (!preset || (c.presets ?? []).includes(preset)) && (!followed || ctx.config.follow.includes(c.id))
46392
46447
  );
46393
- const views = defs.map((d) => viewContest(d, ctx));
46448
+ const views = (preset === "hot" ? inHotOrder(defs) : defs).map((d) => viewContest(d, ctx));
46394
46449
  const limit = Number(str(p.flags, "limit") ?? 200) || 200;
46395
46450
  io.out(json ? JSON.stringify(listJson(views, { nowMs, zone, limit }, store), null, 2) : renderList(views, { nowMs, zone, width, limit, header, color, partisan }));
46396
46451
  return 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "election-vibe",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "US election night, Nov 3, 2026, in your terminal and in Claude Code: unofficial results from official free sources and civicAPI, kept on your machine. Never calls a race. Unofficial results. Not an election authority. Not affiliated with any government, campaign, or party.",
5
5
  "keywords": [
6
6
  "election",