@spacemolt/lib 4.6.0 → 7.1.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.
@@ -51,9 +51,34 @@ export type Base = {
51
51
  */
52
52
  allow_outsider_facilities?: boolean;
53
53
  /**
54
- * Defense rating 0-100
54
+ * Whether the station automatically buys fuel from docked pilots at live scarcity-based prices (player station); off by default
55
55
  */
56
- defense_level: number;
56
+ auto_buy_fuel?: boolean;
57
+ /**
58
+ * Station battle damage. A wrecked station still stands and can still be docked at, but keeps only its market and storage until it is repaired.
59
+ */
60
+ combat?: {
61
+ /**
62
+ * Accumulated hull damage; effective hull is maximum hull minus this
63
+ */
64
+ hull_damage?: number;
65
+ /**
66
+ * Tick the station last took damage
67
+ */
68
+ last_combat_tick?: number;
69
+ /**
70
+ * Accumulated shield damage; regenerates out of combat
71
+ */
72
+ shield_damage?: number;
73
+ /**
74
+ * Whether the station has been shot to pieces and awaits repair
75
+ */
76
+ wrecked?: boolean;
77
+ /**
78
+ * Tick the station was wrecked
79
+ */
80
+ wrecked_tick?: number;
81
+ };
57
82
  description?: string;
58
83
  empire?: string;
59
84
  facilities?: Array<string>;
@@ -62,7 +87,6 @@ export type Base = {
62
87
  * Current fuel reserves in the station's fuel tank
63
88
  */
64
89
  fuel?: number;
65
- has_drones?: boolean;
66
90
  id: string;
67
91
  /**
68
92
  * Owner-set market listing fee in basis points (player station); 0 = default
@@ -135,6 +159,34 @@ export type BattleResponse = {
135
159
  [key: string]: string;
136
160
  };
137
161
  };
162
+ export type BattleSummaryResponse = {
163
+ battle_id: string;
164
+ category?: string;
165
+ destroyed_names?: Array<string>;
166
+ duration_ticks: number;
167
+ ended_at?: string;
168
+ origin_poi?: string;
169
+ outcome: string;
170
+ participant_count: number;
171
+ player_names?: Array<string>;
172
+ ships_destroyed: number;
173
+ sides: Array<{
174
+ faction_id?: string;
175
+ faction_tag?: string;
176
+ participants: Array<string>;
177
+ side_id: number;
178
+ }>;
179
+ start_tick: number;
180
+ status: string;
181
+ system_id: string;
182
+ system_name: string;
183
+ top_damage?: {
184
+ damage: number;
185
+ username: string;
186
+ };
187
+ total_damage: number;
188
+ winning_side: number;
189
+ };
138
190
  export type BrowseShipsResponse = {
139
191
  base_id: string;
140
192
  base_name: string;
@@ -328,150 +380,50 @@ export type CargoItem = {
328
380
  size?: number;
329
381
  };
330
382
  export type CatalogDump = {
331
- facilities: Array<{
332
- allows_contraband?: boolean;
333
- always_on: boolean;
334
- battery_capacity?: number;
335
- build_cost: number;
336
- build_materials?: Array<{
337
- item_id: string;
338
- quantity: number;
339
- }>;
340
- build_time: number;
383
+ achievements: Array<{
384
+ after?: string;
341
385
  category: string;
342
- degraded_description?: string;
343
- deposit_to_empire_reserves?: boolean;
386
+ credits?: number;
387
+ criteria: string;
344
388
  description: string;
345
- dining_points?: number;
346
- disguised?: boolean;
347
- empire?: string;
348
- expansion_of?: string;
349
- expansion_scale?: number;
350
- faction_cap?: number;
351
- faction_service_type?: string;
352
- fleet_upkeep?: boolean;
353
- fuel_capacity?: number;
354
- fuel_output?: boolean;
389
+ emblem?: string;
390
+ faction?: boolean;
355
391
  id: string;
356
- is_recycler?: boolean;
357
- labor_cost: number;
358
- leisure_points?: number;
359
- level: number;
360
- life_support_draw?: number;
361
- life_support_supply?: number;
362
- lore?: string;
363
- maintenance_inputs?: Array<{
364
- item_id: string;
365
- quantity: number;
366
- }>;
367
392
  name: string;
368
- personal_bonus_type?: string;
369
- personal_bonus_value?: number;
370
- personal_service_type?: string;
371
- pirate_base_only?: boolean;
372
- player_station_buildable?: boolean;
373
- power_draw?: number;
374
- power_supply?: number;
375
- recipe_id?: string;
376
- requires_service_type?: string;
377
- satisfied_description?: string;
378
- scan_falloff?: number;
379
- scan_power?: number;
380
- service_type?: string;
381
- station_or_faction_only?: boolean;
382
- tourism_upkeep?: boolean;
383
- unique?: boolean;
384
- upgrades_from?: string;
393
+ points: number;
394
+ series?: string;
395
+ skill_xp?: {
396
+ [key: string]: number;
397
+ };
398
+ title?: string;
385
399
  }>;
386
- items: Array<unknown>;
387
- recipes: Array<{
400
+ facilities: Array<FacilityDefinition>;
401
+ faction_achievements: Array<{
402
+ after?: string;
388
403
  category: string;
389
- crafting_time: number;
390
- description: string;
391
- facility_only?: boolean;
392
- fuel_output?: number;
393
- hidden?: boolean;
394
- id: string;
395
- inputs: Array<{
396
- item_id: string;
397
- quantity: number;
398
- }>;
399
- name: string;
400
- no_recycle?: boolean;
401
- outputs: Array<{
402
- item_id: string;
403
- quantity: number;
404
- }>;
405
- }>;
406
- ships: Array<{
407
- base_armor: number;
408
- base_fuel: number;
409
- base_hull: number;
410
- base_shield: number;
411
- base_shield_recharge: number;
412
- base_speed: number;
413
- based_on?: string;
414
- build_materials?: Array<{
415
- item_id: string;
416
- quantity: number;
417
- }>;
418
- build_time: number;
419
- cargo_capacity: number;
420
- category?: string;
421
- class: string;
422
- cpu_capacity: number;
423
- default_loadout_version?: number;
424
- default_modules?: Array<string>;
425
- defense_slots: number;
404
+ credits?: number;
405
+ criteria: string;
426
406
  description: string;
427
- faction?: string;
428
- flavor_tags?: Array<string>;
429
- hidden?: boolean;
407
+ emblem?: string;
408
+ faction?: boolean;
430
409
  id: string;
431
- inherent_capabilities?: Array<{
432
- flag?: string;
433
- type: string;
434
- value?: number;
435
- }>;
436
- legacy?: boolean;
437
- lore?: string;
438
410
  name: string;
439
- npc_role?: string;
440
- passive_recipes?: Array<string>;
441
- piloting_required?: number;
442
- power_capacity: number;
443
- prestige_lock?: string;
444
- price: number;
445
- required_achievement?: string;
446
- required_faction_achievement?: string;
447
- required_faction_leader?: boolean;
448
- required_items?: Array<{
449
- item_id: string;
450
- quantity: number;
451
- }>;
452
- required_reputation?: number;
453
- scale: number;
454
- shipyard_tier: number;
455
- special?: string;
456
- starter_ship?: boolean;
457
- tier: number;
458
- tow_speed_bonus?: number;
459
- utility_slots: number;
460
- weapon_slots: number;
461
- }>;
462
- skills: Array<{
463
- bonus_per_level?: {
411
+ points: number;
412
+ series?: string;
413
+ skill_xp?: {
464
414
  [key: string]: number;
465
415
  };
466
- category: string;
467
- description: string;
468
- empire_restriction?: string;
469
- id: string;
470
- max_level: number;
471
- name: string;
472
- training_source?: string;
473
- xp_per_level: Array<number>;
416
+ title?: string;
474
417
  }>;
418
+ hidden_achievement_count: number;
419
+ hidden_faction_achievement_count: number;
420
+ /**
421
+ * Regular items and modules merged into one list, sorted by ID.
422
+ */
423
+ items: Array<Item | Module>;
424
+ recipes: Array<Recipe>;
425
+ ships: Array<ShipClass>;
426
+ skills: Array<SkillDefinition>;
475
427
  version: string;
476
428
  };
477
429
  export type CatalogResponse = {
@@ -569,6 +521,7 @@ export type CatalogResponse = {
569
521
  damage_reduction?: number;
570
522
  damage_type?: string;
571
523
  description: string;
524
+ dining_points?: number;
572
525
  disruptor_power?: number;
573
526
  drone_bandwidth?: number;
574
527
  drone_capacity?: number;
@@ -577,11 +530,13 @@ export type CatalogResponse = {
577
530
  hull_bonus?: number;
578
531
  hull_penalty?: number;
579
532
  id: string;
533
+ leisure_points?: number;
580
534
  magazine_size?: number;
581
535
  max_fuel_bonus?: number;
582
536
  mining_power?: number;
583
537
  name: string;
584
538
  passenger_business_berths?: number;
539
+ passenger_comfort?: number;
585
540
  passenger_economy_berths?: number;
586
541
  passenger_first_berths?: number;
587
542
  passive_recipe?: string;
@@ -706,6 +661,7 @@ export type CatalogResponse = {
706
661
  } | {
707
662
  allows_contraband?: boolean;
708
663
  always_on: boolean;
664
+ ammo_item?: string;
709
665
  battery_capacity?: number;
710
666
  build_cost: number;
711
667
  build_materials?: Array<{
@@ -748,15 +704,26 @@ export type CatalogResponse = {
748
704
  power_draw?: number;
749
705
  power_supply?: number;
750
706
  recipe_id?: string;
707
+ repair_hull_per_item?: number;
708
+ repair_item?: string;
751
709
  requires_service_type?: string;
752
710
  satisfied_description?: string;
753
711
  scan_falloff?: number;
754
712
  scan_power?: number;
713
+ self_repair_rate?: number;
755
714
  service_type?: string;
715
+ station_armor?: number;
716
+ station_hull_hp?: number;
756
717
  station_or_faction_only?: boolean;
718
+ station_shield_hp?: number;
757
719
  tourism_upkeep?: boolean;
720
+ transit_deadline_bonus?: number;
758
721
  unique?: boolean;
759
722
  upgrades_from?: string;
723
+ weapon_cooldown?: number;
724
+ weapon_damage?: number;
725
+ weapon_damage_type?: string;
726
+ weapon_reach?: number;
760
727
  }>;
761
728
  message: string;
762
729
  page: number;
@@ -966,6 +933,7 @@ export type CommissionQuoteResponse = {
966
933
  ship_name?: string;
967
934
  shipyard_tier_here?: number;
968
935
  shipyard_tier_required?: number;
936
+ yard_margin?: number;
969
937
  };
970
938
  export type CommissionShipResponse = {
971
939
  build_time?: number;
@@ -978,6 +946,7 @@ export type CommissionShipResponse = {
978
946
  ship_class: string;
979
947
  ship_name?: string;
980
948
  status: string;
949
+ yard_margin?: number;
981
950
  };
982
951
  export type CommissionStatusResponse = {
983
952
  commissions: Array<{
@@ -1089,6 +1058,8 @@ export type CraftJobResponse = {
1089
1058
  status: string;
1090
1059
  venue?: string;
1091
1060
  }>;
1061
+ message?: string;
1062
+ total_jobs: number;
1092
1063
  } | {
1093
1064
  action: string;
1094
1065
  mode: string;
@@ -1547,6 +1518,7 @@ export type DockResponse = {
1547
1518
  bio: string;
1548
1519
  citizen_id: string;
1549
1520
  class: string;
1521
+ connecting?: boolean;
1550
1522
  destination: string;
1551
1523
  destination_name: string;
1552
1524
  destination_system?: string;
@@ -1564,6 +1536,7 @@ export type DockResponse = {
1564
1536
  bio: string;
1565
1537
  citizen_id: string;
1566
1538
  class: string;
1539
+ connecting?: boolean;
1567
1540
  destination: string;
1568
1541
  destination_name: string;
1569
1542
  destination_system?: string;
@@ -1642,6 +1615,73 @@ export type EstimatePurchaseResponse = {
1642
1615
  total_cost: number;
1643
1616
  unfilled: number;
1644
1617
  };
1618
+ export type FacilityDefinition = {
1619
+ allows_contraband?: boolean;
1620
+ always_on: boolean;
1621
+ ammo_item?: string;
1622
+ battery_capacity?: number;
1623
+ build_cost: number;
1624
+ build_materials?: Array<{
1625
+ item_id: string;
1626
+ quantity: number;
1627
+ }>;
1628
+ build_time: number;
1629
+ category: string;
1630
+ degraded_description?: string;
1631
+ deposit_to_empire_reserves?: boolean;
1632
+ description: string;
1633
+ dining_points?: number;
1634
+ disguised?: boolean;
1635
+ empire?: string;
1636
+ expansion_of?: string;
1637
+ expansion_scale?: number;
1638
+ faction_cap?: number;
1639
+ faction_service_type?: string;
1640
+ fleet_upkeep?: boolean;
1641
+ fuel_capacity?: number;
1642
+ fuel_output?: boolean;
1643
+ id: string;
1644
+ is_recycler?: boolean;
1645
+ labor_cost: number;
1646
+ leisure_points?: number;
1647
+ level: number;
1648
+ life_support_draw?: number;
1649
+ life_support_supply?: number;
1650
+ lore?: string;
1651
+ maintenance_inputs?: Array<{
1652
+ item_id: string;
1653
+ quantity: number;
1654
+ }>;
1655
+ name: string;
1656
+ personal_bonus_type?: string;
1657
+ personal_bonus_value?: number;
1658
+ personal_service_type?: string;
1659
+ pirate_base_only?: boolean;
1660
+ player_station_buildable?: boolean;
1661
+ power_draw?: number;
1662
+ power_supply?: number;
1663
+ recipe_id?: string;
1664
+ repair_hull_per_item?: number;
1665
+ repair_item?: string;
1666
+ requires_service_type?: string;
1667
+ satisfied_description?: string;
1668
+ scan_falloff?: number;
1669
+ scan_power?: number;
1670
+ self_repair_rate?: number;
1671
+ service_type?: string;
1672
+ station_armor?: number;
1673
+ station_hull_hp?: number;
1674
+ station_or_faction_only?: boolean;
1675
+ station_shield_hp?: number;
1676
+ tourism_upkeep?: boolean;
1677
+ transit_deadline_bonus?: number;
1678
+ unique?: boolean;
1679
+ upgrades_from?: string;
1680
+ weapon_cooldown?: number;
1681
+ weapon_damage?: number;
1682
+ weapon_damage_type?: string;
1683
+ weapon_reach?: number;
1684
+ };
1645
1685
  export type FacilityResponse = {
1646
1686
  action: string;
1647
1687
  base_id: string;
@@ -1685,6 +1725,7 @@ export type FacilityResponse = {
1685
1725
  capacity?: number;
1686
1726
  category: string;
1687
1727
  custom_name?: string;
1728
+ damaged?: boolean;
1688
1729
  description: string;
1689
1730
  dining_points?: number;
1690
1731
  facility_id: string;
@@ -1721,6 +1762,7 @@ export type FacilityResponse = {
1721
1762
  recipe_id?: string;
1722
1763
  rent_paid_until_tick?: number;
1723
1764
  rent_per_cycle?: number;
1765
+ repair_complete_tick?: number;
1724
1766
  service?: string;
1725
1767
  tourism_upkeep?: boolean;
1726
1768
  type: string;
@@ -1734,12 +1776,30 @@ export type FacilityResponse = {
1734
1776
  note?: string;
1735
1777
  total_rent_per_cycle: number;
1736
1778
  };
1779
+ life_support?: {
1780
+ demand: number;
1781
+ maintenance?: Array<{
1782
+ item_id: string;
1783
+ name?: string;
1784
+ quantity_per_cycle: number;
1785
+ }>;
1786
+ maintenance_cycle_ticks: number;
1787
+ plants: number;
1788
+ remediation?: string;
1789
+ starved?: Array<{
1790
+ item_id: string;
1791
+ name?: string;
1792
+ quantity_per_cycle: number;
1793
+ }>;
1794
+ supply: number;
1795
+ };
1737
1796
  player_facilities: Array<{
1738
1797
  bonus_type?: string;
1739
1798
  bonus_value?: number;
1740
1799
  capacity?: number;
1741
1800
  category: string;
1742
1801
  custom_name?: string;
1802
+ damaged?: boolean;
1743
1803
  description: string;
1744
1804
  dining_points?: number;
1745
1805
  facility_id: string;
@@ -1776,6 +1836,7 @@ export type FacilityResponse = {
1776
1836
  recipe_id?: string;
1777
1837
  rent_paid_until_tick?: number;
1778
1838
  rent_per_cycle?: number;
1839
+ repair_complete_tick?: number;
1779
1840
  service?: string;
1780
1841
  tourism_upkeep?: boolean;
1781
1842
  type: string;
@@ -1808,6 +1869,7 @@ export type FacilityResponse = {
1808
1869
  capacity?: number;
1809
1870
  category: string;
1810
1871
  custom_name?: string;
1872
+ damaged?: boolean;
1811
1873
  description: string;
1812
1874
  dining_points?: number;
1813
1875
  facility_id: string;
@@ -1844,6 +1906,7 @@ export type FacilityResponse = {
1844
1906
  recipe_id?: string;
1845
1907
  rent_paid_until_tick?: number;
1846
1908
  rent_per_cycle?: number;
1909
+ repair_complete_tick?: number;
1847
1910
  service?: string;
1848
1911
  tourism_upkeep?: boolean;
1849
1912
  type: string;
@@ -1855,6 +1918,7 @@ export type FacilityResponse = {
1855
1918
  capacity?: number;
1856
1919
  category: string;
1857
1920
  custom_name?: string;
1921
+ damaged?: boolean;
1858
1922
  description: string;
1859
1923
  dining_points?: number;
1860
1924
  facility_id: string;
@@ -1891,6 +1955,7 @@ export type FacilityResponse = {
1891
1955
  recipe_id?: string;
1892
1956
  rent_paid_until_tick?: number;
1893
1957
  rent_per_cycle?: number;
1958
+ repair_complete_tick?: number;
1894
1959
  service?: string;
1895
1960
  tourism_upkeep?: boolean;
1896
1961
  type: string;
@@ -1903,6 +1968,7 @@ export type FacilityResponse = {
1903
1968
  base_id: string;
1904
1969
  base_name: string;
1905
1970
  custom_name?: string;
1971
+ damaged?: boolean;
1906
1972
  facility_id: string;
1907
1973
  labor_per_run?: number;
1908
1974
  missed_rent_cycles?: number;
@@ -1910,6 +1976,7 @@ export type FacilityResponse = {
1910
1976
  power_throttled?: boolean;
1911
1977
  rent_per_cycle: number;
1912
1978
  rental_fee_per_run?: number;
1979
+ repair_complete_tick?: number;
1913
1980
  system_id?: string;
1914
1981
  type: string;
1915
1982
  under_construction?: boolean;
@@ -1931,6 +1998,7 @@ export type FacilityResponse = {
1931
1998
  base_id: string;
1932
1999
  base_name: string;
1933
2000
  custom_name?: string;
2001
+ damaged?: boolean;
1934
2002
  facility_id: string;
1935
2003
  labor_per_run: number;
1936
2004
  missed_rent_cycles?: number;
@@ -1938,6 +2006,7 @@ export type FacilityResponse = {
1938
2006
  power_throttled?: boolean;
1939
2007
  rent_per_cycle: number;
1940
2008
  rental_fee_per_run?: number;
2009
+ repair_complete_tick?: number;
1941
2010
  system_id?: string;
1942
2011
  type: string;
1943
2012
  under_construction?: boolean;
@@ -2115,6 +2184,30 @@ export type FacilityResponse = {
2115
2184
  facility_type: string;
2116
2185
  hint: string;
2117
2186
  ticks_to_complete: number;
2187
+ } | {
2188
+ action: string;
2189
+ base_id: string;
2190
+ complete_tick: number;
2191
+ facility_id: string;
2192
+ facility_name: string;
2193
+ facility_type: string;
2194
+ hint: string;
2195
+ materials_to_recover: Array<{
2196
+ item_id: string;
2197
+ quantity: number;
2198
+ }>;
2199
+ ticks_to_complete: number;
2200
+ } | {
2201
+ action: string;
2202
+ complete_tick: number;
2203
+ facility_id: string;
2204
+ facility_name: string;
2205
+ hint: string;
2206
+ materials_used: Array<{
2207
+ item_id: string;
2208
+ quantity: number;
2209
+ }>;
2210
+ ticks_to_complete: number;
2118
2211
  } | {
2119
2212
  action: string;
2120
2213
  base_id: string;
@@ -2398,6 +2491,8 @@ export type FacilityResponse = {
2398
2491
  status: string;
2399
2492
  venue?: string;
2400
2493
  }>;
2494
+ message?: string;
2495
+ total_jobs: number;
2401
2496
  venue: string;
2402
2497
  } | {
2403
2498
  action: string;
@@ -3286,16 +3381,18 @@ export type GetActionLogResponse = {
3286
3381
  export type GetBaseResponse = {
3287
3382
  base: {
3288
3383
  allow_outsider_facilities?: boolean;
3289
- defense_level: number;
3384
+ armor: number;
3290
3385
  description: string;
3291
3386
  empire?: string;
3292
3387
  facilities?: Array<string>;
3293
3388
  faction_id?: string;
3294
3389
  fuel: number;
3295
- has_drones: boolean;
3390
+ hull: number;
3296
3391
  id: string;
3297
3392
  market_fee_bps?: number;
3298
3393
  max_fuel: number;
3394
+ max_hull: number;
3395
+ max_shield: number;
3299
3396
  name: string;
3300
3397
  owner_id?: string;
3301
3398
  pirate_rep_required?: number;
@@ -3306,7 +3403,11 @@ export type GetBaseResponse = {
3306
3403
  service_access?: {
3307
3404
  [key: string]: string;
3308
3405
  };
3406
+ shield: number;
3309
3407
  type?: string;
3408
+ weapon_dps: number;
3409
+ weapon_reach: number;
3410
+ wrecked?: boolean;
3310
3411
  };
3311
3412
  condition: {
3312
3413
  condition: string;
@@ -3354,6 +3455,23 @@ export type GetBaseResponse = {
3354
3455
  fuel_price?: number;
3355
3456
  fuel_price_all_in?: number;
3356
3457
  fuel_tax_per_unit?: number;
3458
+ life_support?: {
3459
+ demand: number;
3460
+ maintenance?: Array<{
3461
+ item_id: string;
3462
+ name?: string;
3463
+ quantity_per_cycle: number;
3464
+ }>;
3465
+ maintenance_cycle_ticks: number;
3466
+ plants: number;
3467
+ remediation?: string;
3468
+ starved?: Array<{
3469
+ item_id: string;
3470
+ name?: string;
3471
+ quantity_per_cycle: number;
3472
+ }>;
3473
+ supply: number;
3474
+ };
3357
3475
  power?: {
3358
3476
  battery_capacity: number;
3359
3477
  battery_stored: number;
@@ -3369,10 +3487,183 @@ export type GetBaseResponse = {
3369
3487
  };
3370
3488
  services: Array<string>;
3371
3489
  };
3372
- export type GetBattleStatusResponse = {
3490
+ export type GetBattleLogResponse = {
3373
3491
  battle_id: string;
3374
- combat_state?: {
3375
- /**
3492
+ entries: Array<{
3493
+ attacks?: Array<{
3494
+ after_def_buff?: number;
3495
+ after_stance?: number;
3496
+ attacker_id: string;
3497
+ capital_bonus_pct?: number;
3498
+ damage_type: string;
3499
+ def_buff_pct?: number;
3500
+ disrupted?: boolean;
3501
+ final_damage: number;
3502
+ flat_reduction_pct?: number;
3503
+ hit_chance: number;
3504
+ hit_roll: number;
3505
+ hit_success: boolean;
3506
+ hull_damage: number;
3507
+ off_buff_pct?: number;
3508
+ pre_hit_damage: number;
3509
+ raw_damage: number;
3510
+ shield_damage: number;
3511
+ shield_resist_pct?: number;
3512
+ splash?: boolean;
3513
+ stance_mult?: number;
3514
+ target_id: string;
3515
+ type_resist_pct?: number;
3516
+ weapon_skill_pct: number;
3517
+ weapons: Array<{
3518
+ after_disruption: number;
3519
+ ammo_mod?: number;
3520
+ ammo_used?: string;
3521
+ base_damage: number;
3522
+ crit_chance: number;
3523
+ crit_fired: boolean;
3524
+ crit_roll: number;
3525
+ damage: number;
3526
+ damage_type: string;
3527
+ instance_id: string;
3528
+ name: string;
3529
+ type_bonus_pct: number;
3530
+ }>;
3531
+ zone_distance: number;
3532
+ }>;
3533
+ autopilot?: Array<{
3534
+ chosen_target?: string;
3535
+ player_id: string;
3536
+ reason: string;
3537
+ }>;
3538
+ battle_ended?: {
3539
+ category: string;
3540
+ duration: number;
3541
+ outcome: string;
3542
+ participant_names?: Array<string>;
3543
+ participants: Array<{
3544
+ damage_dealt: number;
3545
+ damage_taken: number;
3546
+ kill_count: number;
3547
+ player_id: string;
3548
+ side_id: number;
3549
+ survived: boolean;
3550
+ username: string;
3551
+ }>;
3552
+ ships_destroyed: number;
3553
+ total_damage: number;
3554
+ winning_side: number;
3555
+ };
3556
+ battle_id: string;
3557
+ burns?: Array<{
3558
+ damage: number;
3559
+ destroyed?: boolean;
3560
+ target_id: string;
3561
+ ticks_remaining: number;
3562
+ }>;
3563
+ commands?: Array<{
3564
+ command: string;
3565
+ player_id: string;
3566
+ stance?: string;
3567
+ target_id?: string;
3568
+ }>;
3569
+ flee?: Array<{
3570
+ escaped: boolean;
3571
+ flee_counter: number;
3572
+ flee_required: number;
3573
+ player_id: string;
3574
+ }>;
3575
+ fuel?: Array<{
3576
+ forced_fire: boolean;
3577
+ fuel_after: number;
3578
+ fuel_before: number;
3579
+ fuel_burned: number;
3580
+ player_id: string;
3581
+ }>;
3582
+ joins?: Array<{
3583
+ player_id: string;
3584
+ side_id: number;
3585
+ username: string;
3586
+ }>;
3587
+ kills?: Array<{
3588
+ killer_id: string;
3589
+ killer_username: string;
3590
+ victim_id: string;
3591
+ victim_username: string;
3592
+ }>;
3593
+ regen?: Array<{
3594
+ armor_repair: number;
3595
+ hull_after: number;
3596
+ hull_before: number;
3597
+ player_id: string;
3598
+ remote_repair?: number;
3599
+ shield_after: number;
3600
+ shield_before: number;
3601
+ shield_regen: number;
3602
+ }>;
3603
+ snapshots: Array<{
3604
+ armor_melt_pct?: number;
3605
+ armor_melt_ticks?: number;
3606
+ auto_pilot: boolean;
3607
+ burn_damage_per_tick?: number;
3608
+ burn_ticks?: number;
3609
+ damage_dealt: number;
3610
+ damage_penalty_pct?: number;
3611
+ damage_taken: number;
3612
+ disruption_ticks?: number;
3613
+ faction_id?: string;
3614
+ flee_counter: number;
3615
+ fuel: number;
3616
+ hull: number;
3617
+ kill_count: number;
3618
+ kind?: string;
3619
+ max_fuel: number;
3620
+ max_hull: number;
3621
+ max_shield: number;
3622
+ modules?: Array<{
3623
+ category: string;
3624
+ current_ammo?: number;
3625
+ loaded_ammo?: string;
3626
+ magazine_size?: number;
3627
+ name: string;
3628
+ }>;
3629
+ player_id: string;
3630
+ shield: number;
3631
+ ship_class: string;
3632
+ side_id: number;
3633
+ speed_penalty_pct?: number;
3634
+ stance: string;
3635
+ target_id?: string;
3636
+ username: string;
3637
+ x: number;
3638
+ y: number;
3639
+ zone: string;
3640
+ }>;
3641
+ system_id: string;
3642
+ tick: number;
3643
+ zone_moves?: Array<{
3644
+ new_zone: string;
3645
+ old_zone: string;
3646
+ player_id: string;
3647
+ reason: string;
3648
+ }>;
3649
+ }>;
3650
+ /**
3651
+ * True if more entries exist past this page (tick_start/tick_end) — raise tick_start or limit to page through.
3652
+ */
3653
+ has_more: boolean;
3654
+ /**
3655
+ * active or completed
3656
+ */
3657
+ status: string;
3658
+ /**
3659
+ * Total number of logged ticks for this battle
3660
+ */
3661
+ total_ticks: number;
3662
+ };
3663
+ export type GetBattleStatusResponse = {
3664
+ battle_id: string;
3665
+ combat_state?: {
3666
+ /**
3376
3667
  * Whether you can flee at all. False only when warp disruption is holding you in place.
3377
3668
  */
3378
3669
  can_escape: boolean;
@@ -3564,7 +3855,6 @@ export type GetEmpireInfoResponse = {
3564
3855
  default_foreign_sales_tax_bps: number;
3565
3856
  empire_id: string;
3566
3857
  eviction_grace_cycles: number;
3567
- facility_rent_multiplier_bps: number;
3568
3858
  faction_income_tax_bps: number;
3569
3859
  foreign_income_tax_deduction?: {
3570
3860
  [key: string]: number;
@@ -3831,6 +4121,7 @@ export type GetPoiResponse = {
3831
4121
  participants: Array<{
3832
4122
  faction_id?: string;
3833
4123
  is_npc?: boolean;
4124
+ kind?: string;
3834
4125
  player_id: string;
3835
4126
  ship_class?: string;
3836
4127
  side_id: number;
@@ -3844,16 +4135,18 @@ export type GetPoiResponse = {
3844
4135
  };
3845
4136
  base?: {
3846
4137
  allow_outsider_facilities?: boolean;
3847
- defense_level: number;
4138
+ armor: number;
3848
4139
  description: string;
3849
4140
  empire?: string;
3850
4141
  facilities?: Array<string>;
3851
4142
  faction_id?: string;
3852
4143
  fuel: number;
3853
- has_drones: boolean;
4144
+ hull: number;
3854
4145
  id: string;
3855
4146
  market_fee_bps?: number;
3856
4147
  max_fuel: number;
4148
+ max_hull: number;
4149
+ max_shield: number;
3857
4150
  name: string;
3858
4151
  owner_id?: string;
3859
4152
  pirate_rep_required?: number;
@@ -3864,7 +4157,11 @@ export type GetPoiResponse = {
3864
4157
  service_access?: {
3865
4158
  [key: string]: string;
3866
4159
  };
4160
+ shield: number;
3867
4161
  type?: string;
4162
+ weapon_dps: number;
4163
+ weapon_reach: number;
4164
+ wrecked?: boolean;
3868
4165
  };
3869
4166
  faction_fuel_capacity?: number;
3870
4167
  faction_fuel_reserve?: number;
@@ -3946,6 +4243,7 @@ export type GetSystemResponse = {
3946
4243
  participants: Array<{
3947
4244
  faction_id?: string;
3948
4245
  is_npc?: boolean;
4246
+ kind?: string;
3949
4247
  player_id: string;
3950
4248
  ship_class?: string;
3951
4249
  side_id: number;
@@ -3974,21 +4272,752 @@ export type GetSystemResponse = {
3974
4272
  x: number;
3975
4273
  y: number;
3976
4274
  };
3977
- type: string;
3978
- };
3979
- security_status: string;
3980
- system: {
3981
- connections: Array<{
3982
- distance?: number;
3983
- name: string;
3984
- system_id: string;
3985
- }>;
3986
- description?: string;
3987
- empire?: string;
3988
- id: string;
3989
- is_stronghold: boolean;
3990
- name: string;
3991
- pois: Array<{
4275
+ type: string;
4276
+ };
4277
+ security_status: string;
4278
+ system: {
4279
+ connections: Array<{
4280
+ distance?: number;
4281
+ name: string;
4282
+ system_id: string;
4283
+ }>;
4284
+ description?: string;
4285
+ empire?: string;
4286
+ id: string;
4287
+ is_stronghold: boolean;
4288
+ name: string;
4289
+ pois: Array<{
4290
+ base_id?: string;
4291
+ base_name?: string;
4292
+ class?: string;
4293
+ faction_fuel_capacity?: number;
4294
+ faction_fuel_reserve?: number;
4295
+ fuel_capacity?: number;
4296
+ fuel_price?: number;
4297
+ fuel_reserve: number;
4298
+ has_base: boolean;
4299
+ id: string;
4300
+ name: string;
4301
+ online: number;
4302
+ position: {
4303
+ x: number;
4304
+ y: number;
4305
+ };
4306
+ type: string;
4307
+ }>;
4308
+ police_level: number;
4309
+ security_status?: string;
4310
+ };
4311
+ } | {
4312
+ action: string;
4313
+ from_system: string;
4314
+ in_transit: boolean;
4315
+ message: string;
4316
+ ticks_remaining: number;
4317
+ to_system: string;
4318
+ transit_type: string;
4319
+ };
4320
+ export type GetTradesResponse = {
4321
+ incoming: Array<{
4322
+ expires_at: string;
4323
+ offer_credits?: number;
4324
+ offer_items: Array<{
4325
+ item_id: string;
4326
+ quantity: number;
4327
+ }>;
4328
+ offerer_name?: string;
4329
+ request_credits?: number;
4330
+ request_items: Array<{
4331
+ item_id: string;
4332
+ quantity: number;
4333
+ }>;
4334
+ target_name?: string;
4335
+ trade_id: string;
4336
+ }>;
4337
+ outgoing: Array<{
4338
+ expires_at: string;
4339
+ offer_credits?: number;
4340
+ offer_items: Array<{
4341
+ item_id: string;
4342
+ quantity: number;
4343
+ }>;
4344
+ offerer_name?: string;
4345
+ request_credits?: number;
4346
+ request_items: Array<{
4347
+ item_id: string;
4348
+ quantity: number;
4349
+ }>;
4350
+ target_name?: string;
4351
+ trade_id: string;
4352
+ }>;
4353
+ };
4354
+ export type GetVersionResponse = {
4355
+ has_more: boolean;
4356
+ notes: Array<string>;
4357
+ page: number;
4358
+ per_page: number;
4359
+ release_date: string;
4360
+ search_term?: string;
4361
+ total: number;
4362
+ total_pages: number;
4363
+ version: string;
4364
+ versions: Array<{
4365
+ notes: Array<string>;
4366
+ release_date: string;
4367
+ version: string;
4368
+ }>;
4369
+ };
4370
+ export type GetWrecksResponse = {
4371
+ count: number;
4372
+ wrecks: Array<{
4373
+ cargo: Array<{
4374
+ item_id: string;
4375
+ name?: string;
4376
+ quantity: number;
4377
+ size?: number;
4378
+ }>;
4379
+ created_at: string;
4380
+ expire_tick: number;
4381
+ expires_at: string;
4382
+ id: string;
4383
+ insurance_policy_id?: string;
4384
+ killer_id?: string;
4385
+ killer_name?: string;
4386
+ modules: Array<{
4387
+ id: string;
4388
+ name: string;
4389
+ type: string;
4390
+ type_id: string;
4391
+ wear: number;
4392
+ }>;
4393
+ poi_id: string;
4394
+ salvage_value: number;
4395
+ ship_class: string;
4396
+ ship_name?: string;
4397
+ system_id: string;
4398
+ towed_by_player_id?: string;
4399
+ type: string;
4400
+ victim_id: string;
4401
+ victim_name: string;
4402
+ }>;
4403
+ };
4404
+ export type HuntResponse = {
4405
+ command: string;
4406
+ message: string;
4407
+ pending: boolean;
4408
+ };
4409
+ export type InspectResponse = {
4410
+ base?: {
4411
+ base: {
4412
+ allow_outsider_facilities?: boolean;
4413
+ armor: number;
4414
+ description: string;
4415
+ empire?: string;
4416
+ facilities?: Array<string>;
4417
+ faction_id?: string;
4418
+ fuel: number;
4419
+ hull: number;
4420
+ id: string;
4421
+ market_fee_bps?: number;
4422
+ max_fuel: number;
4423
+ max_hull: number;
4424
+ max_shield: number;
4425
+ name: string;
4426
+ owner_id?: string;
4427
+ pirate_rep_required?: number;
4428
+ poi_id: string;
4429
+ public_access: boolean;
4430
+ refuel_price_each?: number;
4431
+ repair_price_per_hull?: number;
4432
+ service_access?: {
4433
+ [key: string]: string;
4434
+ };
4435
+ shield: number;
4436
+ type?: string;
4437
+ weapon_dps: number;
4438
+ weapon_reach: number;
4439
+ wrecked?: boolean;
4440
+ };
4441
+ condition: {
4442
+ condition: string;
4443
+ condition_text: string;
4444
+ satisfaction_pct: number;
4445
+ satisfied_count: number;
4446
+ total_service_infra: number;
4447
+ };
4448
+ construction?: {
4449
+ pending?: Array<{
4450
+ build_cost?: number;
4451
+ category: string;
4452
+ definition_id: string;
4453
+ materials?: Array<{
4454
+ item_id: string;
4455
+ name?: string;
4456
+ quantity_in_storage: number;
4457
+ quantity_missing?: number;
4458
+ quantity_required: number;
4459
+ }>;
4460
+ name: string;
4461
+ reason?: string;
4462
+ status: string;
4463
+ ticks_until_complete?: number;
4464
+ }>;
4465
+ under_construction?: Array<{
4466
+ build_cost?: number;
4467
+ category: string;
4468
+ definition_id: string;
4469
+ materials?: Array<{
4470
+ item_id: string;
4471
+ name?: string;
4472
+ quantity_in_storage: number;
4473
+ quantity_missing?: number;
4474
+ quantity_required: number;
4475
+ }>;
4476
+ name: string;
4477
+ reason?: string;
4478
+ status: string;
4479
+ ticks_until_complete?: number;
4480
+ }>;
4481
+ };
4482
+ faction_fuel_capacity?: number;
4483
+ faction_fuel_reserve?: number;
4484
+ fuel_price?: number;
4485
+ fuel_price_all_in?: number;
4486
+ fuel_tax_per_unit?: number;
4487
+ life_support?: {
4488
+ demand: number;
4489
+ maintenance?: Array<{
4490
+ item_id: string;
4491
+ name?: string;
4492
+ quantity_per_cycle: number;
4493
+ }>;
4494
+ maintenance_cycle_ticks: number;
4495
+ plants: number;
4496
+ remediation?: string;
4497
+ starved?: Array<{
4498
+ item_id: string;
4499
+ name?: string;
4500
+ quantity_per_cycle: number;
4501
+ }>;
4502
+ supply: number;
4503
+ };
4504
+ power?: {
4505
+ battery_capacity: number;
4506
+ battery_stored: number;
4507
+ current_draw: number;
4508
+ efficiency: number;
4509
+ fuel_inputs?: Array<{
4510
+ item_id: string;
4511
+ name?: string;
4512
+ quantity_per_cycle: number;
4513
+ }>;
4514
+ remediation?: string;
4515
+ supply: number;
4516
+ };
4517
+ services: Array<string>;
4518
+ };
4519
+ catalog?: {
4520
+ analysis?: {
4521
+ alternates?: {
4522
+ [key: string]: Array<{
4523
+ efficiency: string;
4524
+ name: string;
4525
+ recipe_id: string;
4526
+ }>;
4527
+ };
4528
+ raw_materials: Array<{
4529
+ category: string;
4530
+ item_id: string;
4531
+ name: string;
4532
+ quantity: number;
4533
+ }>;
4534
+ steps: Array<{
4535
+ batches: number;
4536
+ inputs: Array<{
4537
+ item_id: string;
4538
+ name: string;
4539
+ quantity: number;
4540
+ }>;
4541
+ name: string;
4542
+ output: string;
4543
+ output_qty: number;
4544
+ recipe_id: string;
4545
+ }>;
4546
+ };
4547
+ estimated_material_cost?: number;
4548
+ /**
4549
+ * Catalog entries. Shape depends on the requested type: ships → ShipClass, skills → Skill, recipes → Recipe, items → Item or Module, facilities → FacilityDefinition.
4550
+ */
4551
+ items: Array<{
4552
+ base_value: number;
4553
+ category: string;
4554
+ description: string;
4555
+ effect?: {
4556
+ ammo?: {
4557
+ anti_drone_mod?: number;
4558
+ anti_large_mod?: number;
4559
+ anti_small_mod?: number;
4560
+ armor_bypass?: number;
4561
+ armor_melt_pct?: number;
4562
+ armor_melt_ticks?: number;
4563
+ damage_mod?: number;
4564
+ disrupt_bonus_speed?: number;
4565
+ disrupt_bonus_ticks?: number;
4566
+ disrupt_damage?: number;
4567
+ disrupt_speed?: number;
4568
+ disrupt_ticks?: number;
4569
+ dot_pct?: number;
4570
+ dot_ticks?: number;
4571
+ hit_chance_mod?: number;
4572
+ hull_damage_mod?: number;
4573
+ shield_bypass?: number;
4574
+ shield_damage_mod?: number;
4575
+ splash_pct?: number;
4576
+ untraceable?: boolean;
4577
+ wear_per_shot?: number;
4578
+ };
4579
+ amount?: number;
4580
+ duration?: number;
4581
+ stat?: string;
4582
+ subtype?: string;
4583
+ type: string;
4584
+ };
4585
+ extracted_by?: string;
4586
+ food_type?: string;
4587
+ hazardous?: boolean;
4588
+ hidden?: boolean;
4589
+ id: string;
4590
+ name: string;
4591
+ quest_item?: boolean;
4592
+ rarity?: string;
4593
+ region_lock?: Array<string>;
4594
+ size: number;
4595
+ stackable: boolean;
4596
+ tradeable: boolean;
4597
+ } | {
4598
+ accuracy_bonus?: number;
4599
+ ammo_type?: string;
4600
+ armor_bonus?: number;
4601
+ armor_bypass_bonus?: number;
4602
+ armor_repair_rate?: number;
4603
+ base_value: number;
4604
+ cargo_bonus?: number;
4605
+ cloak_strength?: number;
4606
+ cooldown?: number;
4607
+ cpu_bonus?: number;
4608
+ cpu_usage: number;
4609
+ current_cool?: number;
4610
+ damage?: number;
4611
+ damage_reduction?: number;
4612
+ damage_type?: string;
4613
+ description: string;
4614
+ dining_points?: number;
4615
+ disruptor_power?: number;
4616
+ drone_bandwidth?: number;
4617
+ drone_capacity?: number;
4618
+ fuel_efficiency?: number;
4619
+ hidden?: boolean;
4620
+ hull_bonus?: number;
4621
+ hull_penalty?: number;
4622
+ id: string;
4623
+ leisure_points?: number;
4624
+ magazine_size?: number;
4625
+ max_fuel_bonus?: number;
4626
+ mining_power?: number;
4627
+ name: string;
4628
+ passenger_business_berths?: number;
4629
+ passenger_comfort?: number;
4630
+ passenger_economy_berths?: number;
4631
+ passenger_first_berths?: number;
4632
+ passive_recipe?: string;
4633
+ power_bonus?: number;
4634
+ power_usage: number;
4635
+ precision_factor?: number;
4636
+ quest_item?: boolean;
4637
+ range?: number;
4638
+ reach?: number;
4639
+ remote_repair_power?: number;
4640
+ required_skills?: {
4641
+ [key: string]: number;
4642
+ };
4643
+ resistance_bonus?: {
4644
+ [key: string]: number;
4645
+ };
4646
+ salvage_bonus?: number;
4647
+ scanner_power?: number;
4648
+ scramble_power?: number;
4649
+ shield_bonus?: number;
4650
+ shield_bypass_bonus?: number;
4651
+ shield_recharge_bonus?: number;
4652
+ signature_bonus?: number;
4653
+ size: number;
4654
+ slot: string;
4655
+ special?: string;
4656
+ speed_bonus?: number;
4657
+ speed_penalty?: number;
4658
+ survey_power?: number;
4659
+ survey_range?: number;
4660
+ tow_speed_penalty?: number;
4661
+ tracking_bonus?: number;
4662
+ type: string;
4663
+ type_id: string;
4664
+ warp_stabilization?: number;
4665
+ webify_strength?: number;
4666
+ } | {
4667
+ base_armor: number;
4668
+ base_fuel: number;
4669
+ base_hull: number;
4670
+ base_shield: number;
4671
+ base_shield_recharge: number;
4672
+ base_speed: number;
4673
+ based_on?: string;
4674
+ build_materials?: Array<{
4675
+ item_id: string;
4676
+ quantity: number;
4677
+ }>;
4678
+ build_time: number;
4679
+ cargo_capacity: number;
4680
+ category?: string;
4681
+ class: string;
4682
+ cpu_capacity: number;
4683
+ default_loadout_version?: number;
4684
+ default_modules?: Array<string>;
4685
+ defense_slots: number;
4686
+ description: string;
4687
+ faction?: string;
4688
+ flavor_tags?: Array<string>;
4689
+ hidden?: boolean;
4690
+ id: string;
4691
+ inherent_capabilities?: Array<{
4692
+ flag?: string;
4693
+ type: string;
4694
+ value?: number;
4695
+ }>;
4696
+ legacy?: boolean;
4697
+ lore?: string;
4698
+ name: string;
4699
+ npc_role?: string;
4700
+ passive_recipes?: Array<string>;
4701
+ piloting_required?: number;
4702
+ power_capacity: number;
4703
+ prestige_lock?: string;
4704
+ price: number;
4705
+ required_achievement?: string;
4706
+ required_faction_achievement?: string;
4707
+ required_faction_leader?: boolean;
4708
+ required_items?: Array<{
4709
+ item_id: string;
4710
+ quantity: number;
4711
+ }>;
4712
+ required_reputation?: number;
4713
+ scale: number;
4714
+ shipyard_tier: number;
4715
+ special?: string;
4716
+ starter_ship?: boolean;
4717
+ tier: number;
4718
+ tow_speed_bonus?: number;
4719
+ utility_slots: number;
4720
+ weapon_slots: number;
4721
+ } | {
4722
+ bonus_per_level?: {
4723
+ [key: string]: number;
4724
+ };
4725
+ category: string;
4726
+ description: string;
4727
+ empire_restriction?: string;
4728
+ id: string;
4729
+ max_level: number;
4730
+ name: string;
4731
+ training_source?: string;
4732
+ xp_per_level: Array<number>;
4733
+ } | {
4734
+ category: string;
4735
+ crafting_time: number;
4736
+ description: string;
4737
+ facility_only?: boolean;
4738
+ fuel_output?: number;
4739
+ hidden?: boolean;
4740
+ id: string;
4741
+ inputs: Array<{
4742
+ item_id: string;
4743
+ quantity: number;
4744
+ }>;
4745
+ name: string;
4746
+ no_recycle?: boolean;
4747
+ outputs: Array<{
4748
+ item_id: string;
4749
+ quantity: number;
4750
+ }>;
4751
+ } | {
4752
+ allows_contraband?: boolean;
4753
+ always_on: boolean;
4754
+ ammo_item?: string;
4755
+ battery_capacity?: number;
4756
+ build_cost: number;
4757
+ build_materials?: Array<{
4758
+ item_id: string;
4759
+ quantity: number;
4760
+ }>;
4761
+ build_time: number;
4762
+ category: string;
4763
+ degraded_description?: string;
4764
+ deposit_to_empire_reserves?: boolean;
4765
+ description: string;
4766
+ dining_points?: number;
4767
+ disguised?: boolean;
4768
+ empire?: string;
4769
+ expansion_of?: string;
4770
+ expansion_scale?: number;
4771
+ faction_cap?: number;
4772
+ faction_service_type?: string;
4773
+ fleet_upkeep?: boolean;
4774
+ fuel_capacity?: number;
4775
+ fuel_output?: boolean;
4776
+ id: string;
4777
+ is_recycler?: boolean;
4778
+ labor_cost: number;
4779
+ leisure_points?: number;
4780
+ level: number;
4781
+ life_support_draw?: number;
4782
+ life_support_supply?: number;
4783
+ lore?: string;
4784
+ maintenance_inputs?: Array<{
4785
+ item_id: string;
4786
+ quantity: number;
4787
+ }>;
4788
+ name: string;
4789
+ personal_bonus_type?: string;
4790
+ personal_bonus_value?: number;
4791
+ personal_service_type?: string;
4792
+ pirate_base_only?: boolean;
4793
+ player_station_buildable?: boolean;
4794
+ power_draw?: number;
4795
+ power_supply?: number;
4796
+ recipe_id?: string;
4797
+ repair_hull_per_item?: number;
4798
+ repair_item?: string;
4799
+ requires_service_type?: string;
4800
+ satisfied_description?: string;
4801
+ scan_falloff?: number;
4802
+ scan_power?: number;
4803
+ self_repair_rate?: number;
4804
+ service_type?: string;
4805
+ station_armor?: number;
4806
+ station_hull_hp?: number;
4807
+ station_or_faction_only?: boolean;
4808
+ station_shield_hp?: number;
4809
+ tourism_upkeep?: boolean;
4810
+ transit_deadline_bonus?: number;
4811
+ unique?: boolean;
4812
+ upgrades_from?: string;
4813
+ weapon_cooldown?: number;
4814
+ weapon_damage?: number;
4815
+ weapon_damage_type?: string;
4816
+ weapon_reach?: number;
4817
+ }>;
4818
+ message: string;
4819
+ page: number;
4820
+ page_size: number;
4821
+ passive_recipe_details?: Array<{
4822
+ category: string;
4823
+ crafting_time: number;
4824
+ description: string;
4825
+ facility_only?: boolean;
4826
+ fuel_output?: number;
4827
+ hidden?: boolean;
4828
+ id: string;
4829
+ inputs: Array<{
4830
+ item_id: string;
4831
+ quantity: number;
4832
+ }>;
4833
+ name: string;
4834
+ no_recycle?: boolean;
4835
+ outputs: Array<{
4836
+ item_id: string;
4837
+ quantity: number;
4838
+ }>;
4839
+ }>;
4840
+ produced_by_facilities?: Array<{
4841
+ definition_id: string;
4842
+ level: number;
4843
+ name: string;
4844
+ }>;
4845
+ recipes?: Array<{
4846
+ category: string;
4847
+ crafting_time: number;
4848
+ description: string;
4849
+ facility_only?: boolean;
4850
+ fuel_output?: number;
4851
+ hidden?: boolean;
4852
+ id: string;
4853
+ inputs: Array<{
4854
+ item_id: string;
4855
+ quantity: number;
4856
+ }>;
4857
+ name: string;
4858
+ no_recycle?: boolean;
4859
+ outputs: Array<{
4860
+ item_id: string;
4861
+ quantity: number;
4862
+ }>;
4863
+ }>;
4864
+ total: number;
4865
+ total_pages: number;
4866
+ type: string;
4867
+ };
4868
+ faction_poi_intel?: {
4869
+ base_id?: string;
4870
+ base_name?: string;
4871
+ class?: string;
4872
+ description?: string;
4873
+ id: string;
4874
+ name: string;
4875
+ position: {
4876
+ x: number;
4877
+ y: number;
4878
+ };
4879
+ resources?: Array<{
4880
+ depletion_percent?: number;
4881
+ max_remaining?: number;
4882
+ remaining: number;
4883
+ remaining_display?: string;
4884
+ resource_id: string;
4885
+ richness: number;
4886
+ }>;
4887
+ type: string;
4888
+ };
4889
+ faction_system_intel?: {
4890
+ auto_synced?: boolean;
4891
+ connections?: Array<{
4892
+ distance?: number;
4893
+ name?: string;
4894
+ system_id: string;
4895
+ }>;
4896
+ description?: string;
4897
+ empire?: string;
4898
+ name: string;
4899
+ pois?: Array<{
4900
+ base_id?: string;
4901
+ base_name?: string;
4902
+ class?: string;
4903
+ description?: string;
4904
+ id: string;
4905
+ name: string;
4906
+ position: {
4907
+ x: number;
4908
+ y: number;
4909
+ };
4910
+ resources?: Array<{
4911
+ depletion_percent?: number;
4912
+ max_remaining?: number;
4913
+ remaining: number;
4914
+ remaining_display?: string;
4915
+ resource_id: string;
4916
+ richness: number;
4917
+ }>;
4918
+ type: string;
4919
+ }>;
4920
+ police_level: number;
4921
+ submitted_at_tick: number;
4922
+ submitted_by: string;
4923
+ submitter_name: string;
4924
+ system_id: string;
4925
+ };
4926
+ id: string;
4927
+ kind: string;
4928
+ poi?: {
4929
+ detail?: {
4930
+ active_battle?: {
4931
+ battle_id: string;
4932
+ participants: Array<{
4933
+ faction_id?: string;
4934
+ is_npc?: boolean;
4935
+ kind?: string;
4936
+ player_id: string;
4937
+ ship_class?: string;
4938
+ side_id: number;
4939
+ username: string;
4940
+ }>;
4941
+ sides: Array<{
4942
+ faction_id?: string;
4943
+ player_count: number;
4944
+ side_id: number;
4945
+ }>;
4946
+ };
4947
+ base?: {
4948
+ allow_outsider_facilities?: boolean;
4949
+ armor: number;
4950
+ description: string;
4951
+ empire?: string;
4952
+ facilities?: Array<string>;
4953
+ faction_id?: string;
4954
+ fuel: number;
4955
+ hull: number;
4956
+ id: string;
4957
+ market_fee_bps?: number;
4958
+ max_fuel: number;
4959
+ max_hull: number;
4960
+ max_shield: number;
4961
+ name: string;
4962
+ owner_id?: string;
4963
+ pirate_rep_required?: number;
4964
+ poi_id: string;
4965
+ public_access: boolean;
4966
+ refuel_price_each?: number;
4967
+ repair_price_per_hull?: number;
4968
+ service_access?: {
4969
+ [key: string]: string;
4970
+ };
4971
+ shield: number;
4972
+ type?: string;
4973
+ weapon_dps: number;
4974
+ weapon_reach: number;
4975
+ wrecked?: boolean;
4976
+ };
4977
+ faction_fuel_capacity?: number;
4978
+ faction_fuel_reserve?: number;
4979
+ fuel_price?: number;
4980
+ fuel_price_all_in?: number;
4981
+ fuel_tax_per_unit?: number;
4982
+ poi: {
4983
+ base_id?: string;
4984
+ class?: string;
4985
+ description: string;
4986
+ expires_at?: string;
4987
+ hidden?: boolean;
4988
+ id: string;
4989
+ name: string;
4990
+ position: {
4991
+ x: number;
4992
+ y: number;
4993
+ };
4994
+ resources?: Array<{
4995
+ max_remaining?: number;
4996
+ remaining: number;
4997
+ resource_id: string;
4998
+ richness: number;
4999
+ }>;
5000
+ reveal_difficulty?: number;
5001
+ system_id: string;
5002
+ type: string;
5003
+ };
5004
+ resources?: Array<{
5005
+ depletion_percent?: number;
5006
+ max_remaining?: number;
5007
+ name: string;
5008
+ remaining: number;
5009
+ remaining_display: string;
5010
+ resource_id: string;
5011
+ richness: number;
5012
+ supported_power?: number;
5013
+ }>;
5014
+ services?: Array<string>;
5015
+ wormhole_destination?: string;
5016
+ wormhole_destination_id?: string;
5017
+ wormhole_expires_in?: string;
5018
+ wormhole_prediction_hint?: string;
5019
+ };
5020
+ summary?: {
3992
5021
  base_id?: string;
3993
5022
  base_name?: string;
3994
5023
  class?: string;
@@ -4006,107 +5035,25 @@ export type GetSystemResponse = {
4006
5035
  y: number;
4007
5036
  };
4008
5037
  type: string;
4009
- }>;
4010
- police_level: number;
4011
- security_status?: string;
5038
+ };
4012
5039
  };
4013
- } | {
4014
- action: string;
4015
- from_system: string;
4016
- in_transit: boolean;
4017
- message: string;
4018
- ticks_remaining: number;
4019
- to_system: string;
4020
- transit_type: string;
4021
- };
4022
- export type GetTradesResponse = {
4023
- incoming: Array<{
4024
- expires_at: string;
4025
- offer_credits?: number;
4026
- offer_items: Array<{
4027
- item_id: string;
4028
- quantity: number;
4029
- }>;
4030
- offerer_name?: string;
4031
- request_credits?: number;
4032
- request_items: Array<{
4033
- item_id: string;
4034
- quantity: number;
4035
- }>;
4036
- target_name?: string;
4037
- trade_id: string;
4038
- }>;
4039
- outgoing: Array<{
4040
- expires_at: string;
4041
- offer_credits?: number;
4042
- offer_items: Array<{
4043
- item_id: string;
4044
- quantity: number;
4045
- }>;
4046
- offerer_name?: string;
4047
- request_credits?: number;
4048
- request_items: Array<{
4049
- item_id: string;
4050
- quantity: number;
4051
- }>;
4052
- target_name?: string;
4053
- trade_id: string;
4054
- }>;
4055
- };
4056
- export type GetVersionResponse = {
4057
- has_more: boolean;
4058
- notes: Array<string>;
4059
- page: number;
4060
- per_page: number;
4061
- release_date: string;
4062
- search_term?: string;
4063
- total: number;
4064
- total_pages: number;
4065
- version: string;
4066
- versions: Array<{
4067
- notes: Array<string>;
4068
- release_date: string;
4069
- version: string;
4070
- }>;
4071
- };
4072
- export type GetWrecksResponse = {
4073
- count: number;
4074
- wrecks: Array<{
4075
- cargo: Array<{
4076
- item_id: string;
4077
- name?: string;
4078
- quantity: number;
4079
- size?: number;
4080
- }>;
4081
- created_at: string;
4082
- expire_tick: number;
4083
- expires_at: string;
4084
- id: string;
4085
- insurance_policy_id?: string;
4086
- killer_id?: string;
4087
- killer_name?: string;
4088
- modules: Array<{
4089
- id: string;
4090
- name: string;
4091
- type: string;
4092
- type_id: string;
4093
- wear: number;
4094
- }>;
4095
- poi_id: string;
4096
- salvage_value: number;
4097
- ship_class: string;
4098
- ship_name?: string;
5040
+ source: string;
5041
+ system?: {
5042
+ connections: Array<string>;
5043
+ description?: string;
5044
+ empire?: string;
5045
+ is_stronghold?: boolean;
5046
+ name: string;
5047
+ online: number;
5048
+ poi_count: number;
5049
+ position: {
5050
+ x: number;
5051
+ y: number;
5052
+ };
4099
5053
  system_id: string;
4100
- towed_by_player_id?: string;
4101
- type: string;
4102
- victim_id: string;
4103
- victim_name: string;
4104
- }>;
4105
- };
4106
- export type HuntResponse = {
4107
- command: string;
4108
- message: string;
4109
- pending: boolean;
5054
+ visited: boolean;
5055
+ visited_at: string;
5056
+ };
4110
5057
  };
4111
5058
  export type InstallModResponse = {
4112
5059
  cpu_used: number;
@@ -4117,6 +5064,53 @@ export type InstallModResponse = {
4117
5064
  module_id: string;
4118
5065
  power_used: number;
4119
5066
  };
5067
+ export type Item = {
5068
+ base_value: number;
5069
+ category: string;
5070
+ description: string;
5071
+ effect?: {
5072
+ ammo?: {
5073
+ anti_drone_mod?: number;
5074
+ anti_large_mod?: number;
5075
+ anti_small_mod?: number;
5076
+ armor_bypass?: number;
5077
+ armor_melt_pct?: number;
5078
+ armor_melt_ticks?: number;
5079
+ damage_mod?: number;
5080
+ disrupt_bonus_speed?: number;
5081
+ disrupt_bonus_ticks?: number;
5082
+ disrupt_damage?: number;
5083
+ disrupt_speed?: number;
5084
+ disrupt_ticks?: number;
5085
+ dot_pct?: number;
5086
+ dot_ticks?: number;
5087
+ hit_chance_mod?: number;
5088
+ hull_damage_mod?: number;
5089
+ shield_bypass?: number;
5090
+ shield_damage_mod?: number;
5091
+ splash_pct?: number;
5092
+ untraceable?: boolean;
5093
+ wear_per_shot?: number;
5094
+ };
5095
+ amount?: number;
5096
+ duration?: number;
5097
+ stat?: string;
5098
+ subtype?: string;
5099
+ type: string;
5100
+ };
5101
+ extracted_by?: string;
5102
+ food_type?: string;
5103
+ hazardous?: boolean;
5104
+ hidden?: boolean;
5105
+ id: string;
5106
+ name: string;
5107
+ quest_item?: boolean;
5108
+ rarity?: string;
5109
+ region_lock?: Array<string>;
5110
+ size: number;
5111
+ stackable: boolean;
5112
+ tradeable: boolean;
5113
+ };
4120
5114
  export type JettisonResponse = {
4121
5115
  container_id?: string;
4122
5116
  item_id: string;
@@ -4169,12 +5163,14 @@ export type ListPassengersResponse = {
4169
5163
  count: number;
4170
5164
  economy_berths: string;
4171
5165
  first_berths: string;
5166
+ onboard_service?: string;
4172
5167
  passengers: Array<{
4173
5168
  base_fare: number;
4174
5169
  berth_class?: string;
4175
5170
  bio: string;
4176
5171
  citizen_id: string;
4177
5172
  class: string;
5173
+ connecting?: boolean;
4178
5174
  destination: string;
4179
5175
  destination_name: string;
4180
5176
  destination_system?: string;
@@ -4240,6 +5236,7 @@ export type LoadPassengersResponse = {
4240
5236
  bio: string;
4241
5237
  citizen_id: string;
4242
5238
  class: string;
5239
+ connecting?: boolean;
4243
5240
  destination: string;
4244
5241
  destination_name: string;
4245
5242
  destination_system?: string;
@@ -4376,6 +5373,7 @@ export type LoggedInPayload = {
4376
5373
  deaths_by_pirate: number;
4377
5374
  deaths_by_player: number;
4378
5375
  deaths_by_self_destruct: number;
5376
+ deaths_by_wildlife: number;
4379
5377
  deep_core_pois_discovered: number;
4380
5378
  distance_traveled: number;
4381
5379
  exchange_credits_earned: number;
@@ -4687,6 +5685,7 @@ export type LoginResponse = {
4687
5685
  deaths_by_pirate: number;
4688
5686
  deaths_by_player: number;
4689
5687
  deaths_by_self_destruct: number;
5688
+ deaths_by_wildlife: number;
4690
5689
  deep_core_pois_discovered: number;
4691
5690
  distance_traveled: number;
4692
5691
  exchange_credits_earned: number;
@@ -5001,6 +6000,76 @@ export type ModifyOrderResponse = {
5001
6000
  total: number;
5002
6001
  };
5003
6002
  };
6003
+ export type Module = {
6004
+ accuracy_bonus?: number;
6005
+ ammo_type?: string;
6006
+ armor_bonus?: number;
6007
+ armor_bypass_bonus?: number;
6008
+ armor_repair_rate?: number;
6009
+ base_value: number;
6010
+ cargo_bonus?: number;
6011
+ cloak_strength?: number;
6012
+ cooldown?: number;
6013
+ cpu_bonus?: number;
6014
+ cpu_usage: number;
6015
+ current_cool?: number;
6016
+ damage?: number;
6017
+ damage_reduction?: number;
6018
+ damage_type?: string;
6019
+ description: string;
6020
+ dining_points?: number;
6021
+ disruptor_power?: number;
6022
+ drone_bandwidth?: number;
6023
+ drone_capacity?: number;
6024
+ fuel_efficiency?: number;
6025
+ hidden?: boolean;
6026
+ hull_bonus?: number;
6027
+ hull_penalty?: number;
6028
+ id: string;
6029
+ leisure_points?: number;
6030
+ magazine_size?: number;
6031
+ max_fuel_bonus?: number;
6032
+ mining_power?: number;
6033
+ name: string;
6034
+ passenger_business_berths?: number;
6035
+ passenger_comfort?: number;
6036
+ passenger_economy_berths?: number;
6037
+ passenger_first_berths?: number;
6038
+ passive_recipe?: string;
6039
+ power_bonus?: number;
6040
+ power_usage: number;
6041
+ precision_factor?: number;
6042
+ quest_item?: boolean;
6043
+ range?: number;
6044
+ reach?: number;
6045
+ remote_repair_power?: number;
6046
+ required_skills?: {
6047
+ [key: string]: number;
6048
+ };
6049
+ resistance_bonus?: {
6050
+ [key: string]: number;
6051
+ };
6052
+ salvage_bonus?: number;
6053
+ scanner_power?: number;
6054
+ scramble_power?: number;
6055
+ shield_bonus?: number;
6056
+ shield_bypass_bonus?: number;
6057
+ shield_recharge_bonus?: number;
6058
+ signature_bonus?: number;
6059
+ size: number;
6060
+ slot: string;
6061
+ special?: string;
6062
+ speed_bonus?: number;
6063
+ speed_penalty?: number;
6064
+ survey_power?: number;
6065
+ survey_range?: number;
6066
+ tow_speed_penalty?: number;
6067
+ tracking_bonus?: number;
6068
+ type: string;
6069
+ type_id: string;
6070
+ warp_stabilization?: number;
6071
+ webify_strength?: number;
6072
+ };
5004
6073
  export type NameShipResponse = {
5005
6074
  message: string;
5006
6075
  ship_id: string;
@@ -5576,6 +6645,11 @@ export type NotificationSkillLevelUp = {
5576
6645
  skill_id: string;
5577
6646
  xp_gained?: number;
5578
6647
  };
6648
+ export type NotificationStationRepaired = {
6649
+ base_id: string;
6650
+ base_name: string;
6651
+ system_id: string;
6652
+ };
5579
6653
  /**
5580
6654
  * Pushed to the trade recipient when the offerer cancels the offer.
5581
6655
  */
@@ -5828,6 +6902,7 @@ export type PlayerStats = {
5828
6902
  deaths_by_pirate?: number;
5829
6903
  deaths_by_player?: number;
5830
6904
  deaths_by_self_destruct?: number;
6905
+ deaths_by_wildlife?: number;
5831
6906
  deep_core_pois_discovered?: number;
5832
6907
  /**
5833
6908
  * Cumulative distance (AU in-system, GU inter-system)
@@ -5927,6 +7002,25 @@ export type RecallDroneResponse = {
5927
7002
  recalled: number;
5928
7003
  skipped: number;
5929
7004
  };
7005
+ export type Recipe = {
7006
+ category: string;
7007
+ crafting_time: number;
7008
+ description: string;
7009
+ facility_only?: boolean;
7010
+ fuel_output?: number;
7011
+ hidden?: boolean;
7012
+ id: string;
7013
+ inputs: Array<{
7014
+ item_id: string;
7015
+ quantity: number;
7016
+ }>;
7017
+ name: string;
7018
+ no_recycle?: boolean;
7019
+ outputs: Array<{
7020
+ item_id: string;
7021
+ quantity: number;
7022
+ }>;
7023
+ };
5930
7024
  export type RecycleJobResponse = {
5931
7025
  action: string;
5932
7026
  effective_time_per_run: number;
@@ -6207,6 +7301,7 @@ export type RegisterResponse = {
6207
7301
  deaths_by_pirate: number;
6208
7302
  deaths_by_player: number;
6209
7303
  deaths_by_self_destruct: number;
7304
+ deaths_by_wildlife: number;
6210
7305
  deep_core_pois_discovered: number;
6211
7306
  distance_traveled: number;
6212
7307
  exchange_credits_earned: number;
@@ -6556,23 +7651,6 @@ export type SellResponse = {
6556
7651
  unsold?: number;
6557
7652
  xp_gained?: number;
6558
7653
  };
6559
- export type SellShipResponse = {
6560
- cargo_note?: string;
6561
- cargo_to_storage?: Array<{
6562
- item_id: string;
6563
- name: string;
6564
- quantity: number;
6565
- }>;
6566
- credits_earned: number;
6567
- credits_total: number;
6568
- days_owned: number;
6569
- message: string;
6570
- modules_note?: string;
6571
- modules_to_storage?: Array<{
6572
- module_type: string;
6573
- name: string;
6574
- }>;
6575
- };
6576
7654
  export type SellShipToOrderResponse = {
6577
7655
  class_id: string;
6578
7656
  credits_left: number;
@@ -6764,7 +7842,7 @@ export type ShipClass = {
6764
7842
  */
6765
7843
  flag?: string;
6766
7844
  /**
6767
- * Capability type: ore_yield_bonus, ice_yield_bonus, gas_yield_bonus, integrated_cloak, integrated_scanner, scan_resistance, integrated_survey_scanner, ship_bay_capacity, passenger_economy_berths, passenger_business_berths, passenger_first_berths, fleet_command_capacity, special_flag
7845
+ * Capability type: ore_yield_bonus, ice_yield_bonus, gas_yield_bonus, integrated_cloak, integrated_scanner, scan_resistance, integrated_survey_scanner, ship_bay_capacity, passenger_economy_berths, passenger_business_berths, passenger_first_berths, passenger_dining_points, passenger_leisure_points, passenger_comfort, fleet_command_capacity, special_flag
6768
7846
  */
6769
7847
  type?: string;
6770
7848
  /**
@@ -6794,7 +7872,6 @@ export type ShipClass = {
6794
7872
  * Catalog-only note naming the achievement to earn to unlock this prestige hull; present only for hulls the viewer hasn't unlocked
6795
7873
  */
6796
7874
  prestige_lock?: string;
6797
- price: number;
6798
7875
  /**
6799
7876
  * Player achievement required to commission or buy this prestige hull (empty = none)
6800
7877
  */
@@ -6850,12 +7927,28 @@ export type ShipLicenseResponse = {
6850
7927
  faction_credits_left: number;
6851
7928
  hint: string;
6852
7929
  royalty_percent: number;
7930
+ ship_class: string;
7931
+ ship_name: string;
7932
+ };
7933
+ export type SkillDefinition = {
7934
+ bonus_per_level?: {
7935
+ [key: string]: number;
7936
+ };
7937
+ category: string;
7938
+ description: string;
7939
+ empire_restriction?: string;
7940
+ id: string;
7941
+ max_level: number;
7942
+ name: string;
7943
+ training_source?: string;
7944
+ xp_per_level: Array<number>;
6853
7945
  };
6854
7946
  export type StationConfigResponse = {
6855
7947
  action: string;
6856
7948
  allow_outsider_facilities: boolean;
6857
7949
  allowed_factions?: Array<string>;
6858
7950
  allowed_players?: Array<string>;
7951
+ auto_buy_fuel: boolean;
6859
7952
  banned_players?: Array<string>;
6860
7953
  base_id: string;
6861
7954
  description?: string;
@@ -6900,6 +7993,25 @@ export type StationPassengersResponse = {
6900
7993
  fare_surge: number;
6901
7994
  market_conditions: string;
6902
7995
  station: string;
7996
+ transit_lounge?: {
7997
+ capacity: number;
7998
+ lounge: string;
7999
+ occupancy: number;
8000
+ passengers: Array<{
8001
+ base_fare: number;
8002
+ berth_class?: string;
8003
+ bio: string;
8004
+ citizen_id: string;
8005
+ class: string;
8006
+ connecting?: boolean;
8007
+ destination: string;
8008
+ destination_name: string;
8009
+ destination_system?: string;
8010
+ name: string;
8011
+ speed_bonus?: number;
8012
+ ticks_remaining: number;
8013
+ }>;
8014
+ };
6903
8015
  waiting: Array<{
6904
8016
  bio: string;
6905
8017
  citizen_id: string;
@@ -7504,6 +8616,47 @@ export type UnloadPassengerResponse = {
7504
8616
  bio: string;
7505
8617
  citizen_id: string;
7506
8618
  class: string;
8619
+ connecting?: boolean;
8620
+ destination: string;
8621
+ destination_name: string;
8622
+ destination_system?: string;
8623
+ name: string;
8624
+ speed_bonus?: number;
8625
+ ticks_remaining: number;
8626
+ }>;
8627
+ fare_collected: number;
8628
+ message: string;
8629
+ reputation_changes?: {
8630
+ [key: string]: number;
8631
+ };
8632
+ stranded: Array<{
8633
+ base_fare: number;
8634
+ berth_class?: string;
8635
+ bio: string;
8636
+ citizen_id: string;
8637
+ class: string;
8638
+ connecting?: boolean;
8639
+ destination: string;
8640
+ destination_name: string;
8641
+ destination_system?: string;
8642
+ name: string;
8643
+ speed_bonus?: number;
8644
+ ticks_remaining: number;
8645
+ }>;
8646
+ } | {
8647
+ count: number;
8648
+ message: string;
8649
+ skipped_expired?: number;
8650
+ skipped_no_berth?: number;
8651
+ target_ship: string;
8652
+ target_ship_name: string;
8653
+ transferred: Array<{
8654
+ base_fare: number;
8655
+ berth_class?: string;
8656
+ bio: string;
8657
+ citizen_id: string;
8658
+ class: string;
8659
+ connecting?: boolean;
7507
8660
  destination: string;
7508
8661
  destination_name: string;
7509
8662
  destination_system?: string;
@@ -7511,17 +8664,15 @@ export type UnloadPassengerResponse = {
7511
8664
  speed_bonus?: number;
7512
8665
  ticks_remaining: number;
7513
8666
  }>;
7514
- fare_collected: number;
7515
- message: string;
7516
- reputation_changes?: {
7517
- [key: string]: number;
7518
- };
7519
- stranded: Array<{
8667
+ } | {
8668
+ capacity: number;
8669
+ checked_in: Array<{
7520
8670
  base_fare: number;
7521
8671
  berth_class?: string;
7522
8672
  bio: string;
7523
8673
  citizen_id: string;
7524
8674
  class: string;
8675
+ connecting?: boolean;
7525
8676
  destination: string;
7526
8677
  destination_name: string;
7527
8678
  destination_system?: string;
@@ -7529,6 +8680,13 @@ export type UnloadPassengerResponse = {
7529
8680
  speed_bonus?: number;
7530
8681
  ticks_remaining: number;
7531
8682
  }>;
8683
+ count: number;
8684
+ deadline_bonus_ticks?: number;
8685
+ lounge: string;
8686
+ message: string;
8687
+ occupancy: number;
8688
+ skipped_expired?: number;
8689
+ skipped_full?: number;
7532
8690
  };
7533
8691
  export type UnsubscribeMarketResponse = {
7534
8692
  action: string;
@@ -7590,6 +8748,9 @@ export type V2GameState = {
7590
8748
  * Bay slots currently occupied (v2_get_cargo only; present only on carrier ships)
7591
8749
  */
7592
8750
  bay_used?: number;
8751
+ /**
8752
+ * Full cargo manifest. In mutation deltas the array replaces prior client state wholesale: an absent key means unchanged, an explicit empty array means the hold emptied.
8753
+ */
7593
8754
  cargo?: Array<{
7594
8755
  item_id?: string;
7595
8756
  /**
@@ -7858,7 +9019,7 @@ export type V2GameState = {
7858
9019
  max_missions?: number;
7859
9020
  };
7860
9021
  /**
7861
- * Installed ship modules
9022
+ * Installed ship modules. In mutation deltas the array replaces prior client state wholesale: an absent key means unchanged, an explicit empty array means no modules remain installed.
7862
9023
  */
7863
9024
  modules?: Array<{
7864
9025
  /**
@@ -8172,7 +9333,7 @@ export type V2Response = {
8172
9333
  /**
8173
9334
  * Notification payload. Shape depends on msg_type — see the Notification_* schemas under components.schemas.
8174
9335
  */
8175
- data?: NotificationAchievementUnlocked | NotificationBaseDestroyed | NotificationBaseRaidUpdate | NotificationBattleAlert | NotificationBattleDamage | NotificationBattleEnded | NotificationBattleJoined | NotificationBattleLeft | NotificationBattleStarted | NotificationBattleUpdate | NotificationChatMessage | NotificationCraftingUpdate | NotificationDroneDestroyed | NotificationDroneScan | NotificationDroneSurvey | NotificationDroneUpdate | NotificationFacilityReclaimed | NotificationFacilityRentWarning | NotificationMarketUpdate | NotificationObservationUpdate | NotificationMiningYield | NotificationPilotlessShip | NotificationPirateDestroyed | NotificationPirateRadio | NotificationPlayerDied | NotificationPlayerKill | NotificationReconnected | NotificationScanDetected | NotificationSkillLevelUp | NotificationTradeCancelled | NotificationTradeComplete | NotificationTradeDeclined | NotificationTradeOfferReceived;
9336
+ data?: NotificationAchievementUnlocked | NotificationBaseDestroyed | NotificationStationRepaired | NotificationBaseRaidUpdate | NotificationBattleAlert | NotificationBattleDamage | NotificationBattleEnded | NotificationBattleJoined | NotificationBattleLeft | NotificationBattleStarted | NotificationBattleUpdate | NotificationChatMessage | NotificationCraftingUpdate | NotificationDroneDestroyed | NotificationDroneScan | NotificationDroneSurvey | NotificationDroneUpdate | NotificationFacilityReclaimed | NotificationFacilityRentWarning | NotificationMarketUpdate | NotificationObservationUpdate | NotificationMiningYield | NotificationPilotlessShip | NotificationPirateDestroyed | NotificationPirateRadio | NotificationPlayerDied | NotificationPlayerKill | NotificationReconnected | NotificationScanDetected | NotificationSkillLevelUp | NotificationTradeCancelled | NotificationTradeComplete | NotificationTradeDeclined | NotificationTradeOfferReceived;
8176
9337
  id?: string;
8177
9338
  /**
8178
9339
  * Specific message subtype used for handler routing (e.g. chat_message, combat_update, action_result, mining_yield). Switch on this to pick the matching Notification_* payload schema.
@@ -8576,7 +9737,7 @@ export type SpacemoltAcceptMissionResponse = SpacemoltAcceptMissionResponses[key
8576
9737
  export type SpacemoltAttackData = {
8577
9738
  body?: {
8578
9739
  /**
8579
- * Player ID to attack
9740
+ * ID of the target: a player, pirate, empire NPC, wildlife creature, or station. Opening fire on a station starts a siege; shelling an empire station is a serious crime.
8580
9741
  */
8581
9742
  id: string;
8582
9743
  };
@@ -8801,9 +9962,9 @@ export type SpacemoltCraftData = {
8801
9962
  [key: string]: unknown;
8802
9963
  }>;
8803
9964
  /**
8804
- * Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee). Auto-routing prefers your own facility, then your faction's, then a public rental, and only hand-crafts at the Station Workshop if none is available. Use 'workshop' to force hand-crafting even when you have a facility.
9965
+ * Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee) — both pick the best facility globally, so a busy own facility may route to an idle public rental. Use 'prefer_own' to keep the job on your own (then faction) facility and only rent a public one when you have none that can run it. Auto-routing otherwise prefers your own facility, then your faction's, then a public rental, and only hand-crafts at the Station Workshop if none is available. Use 'workshop' to force hand-crafting even when you have a facility.
8805
9966
  */
8806
- preset?: 'fast' | 'cheap' | 'workshop';
9967
+ preset?: 'fast' | 'cheap' | 'prefer_own' | 'workshop';
8807
9968
  /**
8808
9969
  * Number of output items to make (default 1). Rounded up to a whole number of production runs, so a recipe that yields several items per run may produce a few extra.
8809
9970
  */
@@ -9834,6 +10995,40 @@ export type SpacemoltHuntResponses = {
9834
10995
  };
9835
10996
  };
9836
10997
  export type SpacemoltHuntResponse = SpacemoltHuntResponses[keyof SpacemoltHuntResponses];
10998
+ export type SpacemoltInspectData = {
10999
+ body?: {
11000
+ /**
11001
+ * Item, module, ship class, system, POI, or base ID to inspect
11002
+ */
11003
+ id: string;
11004
+ };
11005
+ path?: never;
11006
+ query?: never;
11007
+ url: '/api/v2/spacemolt/inspect';
11008
+ };
11009
+ export type SpacemoltInspectErrors = {
11010
+ /**
11011
+ * Bad request — invalid params, unknown command, or game error
11012
+ */
11013
+ 400: unknown;
11014
+ /**
11015
+ * Not authenticated — missing or invalid session
11016
+ */
11017
+ 401: unknown;
11018
+ /**
11019
+ * Rate limited — mutations allow 1 per tick (10 seconds)
11020
+ */
11021
+ 429: unknown;
11022
+ };
11023
+ export type SpacemoltInspectResponses = {
11024
+ /**
11025
+ * Result. structuredContent type: InspectResponse
11026
+ */
11027
+ 200: V2Response & {
11028
+ structuredContent?: InspectResponse;
11029
+ };
11030
+ };
11031
+ export type SpacemoltInspectResponse = SpacemoltInspectResponses[keyof SpacemoltInspectResponses];
9837
11032
  export type SpacemoltInstallModData = {
9838
11033
  body?: {
9839
11034
  /**
@@ -10147,11 +11342,15 @@ export type SpacemoltRecycleData = {
10147
11342
  */
10148
11343
  job_ids?: Array<string>;
10149
11344
  /**
10150
- * Bulk mode: recycle many recipes in one action. Each entry: {recipe_id, quantity, facility_id?, deliver_to?, source?}. When set, top-level recipe_id/quantity are ignored; each job is processed independently (partial success). Max 50.
11345
+ * Bulk mode: recycle many recipes in one action. Each entry: {recipe_id, quantity, facility_id?, preset?, deliver_to?, source?}. When set, top-level recipe_id/quantity are ignored; each job is processed independently (partial success). Max 50.
10151
11346
  */
10152
11347
  jobs?: Array<{
10153
11348
  [key: string]: unknown;
10154
11349
  }>;
11350
+ /**
11351
+ * Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee) — both pick the best eligible recycler globally. Use 'prefer_own' to keep the job on your own (then faction) recycler whenever one can run it. 'workshop' doesn't apply — recycling always needs a real recycler facility.
11352
+ */
11353
+ preset?: 'fast' | 'cheap' | 'prefer_own';
10155
11354
  /**
10156
11355
  * Number of the recipe's output items to feed in and break down (default 1). Rounded up to a whole number of recycling runs.
10157
11356
  */
@@ -10639,6 +11838,10 @@ export type SpacemoltUnloadPassengerData = {
10639
11838
  * Name (or citizen ID) of the passenger to put off the ship at the current station, or "all" to put every passenger off at once.
10640
11839
  */
10641
11840
  id: string;
11841
+ /**
11842
+ * Optional connecting-flight handoff: "lounge" checks the passenger(s) into your faction's Transit Lounge here, or a ship ID/name transfers them to that docked ship (yours or a faction mate's, needs free berths). Fares and deadlines continue unchanged. Omit for a normal delivery/strand.
11843
+ */
11844
+ target?: string;
10642
11845
  };
10643
11846
  path?: never;
10644
11847
  query?: never;
@@ -11090,6 +12293,52 @@ export type SpacemoltBattleHelpPostResponses = {
11090
12293
  200: V2Response;
11091
12294
  };
11092
12295
  export type SpacemoltBattleHelpPostResponse = SpacemoltBattleHelpPostResponses[keyof SpacemoltBattleHelpPostResponses];
12296
+ export type SpacemoltBattleLogData = {
12297
+ body?: {
12298
+ /**
12299
+ * Battle ID to replay (active or completed, yours or not)
12300
+ */
12301
+ id: string;
12302
+ /**
12303
+ * Max ticks to return (default 50, max 200)
12304
+ */
12305
+ limit?: number;
12306
+ /**
12307
+ * Last tick to include (default unbounded)
12308
+ */
12309
+ tick_end?: number;
12310
+ /**
12311
+ * First tick to include (default 0)
12312
+ */
12313
+ tick_start?: number;
12314
+ };
12315
+ path?: never;
12316
+ query?: never;
12317
+ url: '/api/v2/spacemolt_battle/log';
12318
+ };
12319
+ export type SpacemoltBattleLogErrors = {
12320
+ /**
12321
+ * Bad request — invalid params, unknown command, or game error
12322
+ */
12323
+ 400: unknown;
12324
+ /**
12325
+ * Not authenticated — missing or invalid session
12326
+ */
12327
+ 401: unknown;
12328
+ /**
12329
+ * Rate limited — mutations allow 1 per tick (10 seconds)
12330
+ */
12331
+ 429: unknown;
12332
+ };
12333
+ export type SpacemoltBattleLogResponses = {
12334
+ /**
12335
+ * Result. structuredContent type: GetBattleLogResponse
12336
+ */
12337
+ 200: V2Response & {
12338
+ structuredContent?: GetBattleLogResponse;
12339
+ };
12340
+ };
12341
+ export type SpacemoltBattleLogResponse = SpacemoltBattleLogResponses[keyof SpacemoltBattleLogResponses];
11093
12342
  export type SpacemoltBattleReloadData = {
11094
12343
  body?: {
11095
12344
  /**
@@ -11226,6 +12475,40 @@ export type SpacemoltBattleStatusResponses = {
11226
12475
  };
11227
12476
  };
11228
12477
  export type SpacemoltBattleStatusResponse = SpacemoltBattleStatusResponses[keyof SpacemoltBattleStatusResponses];
12478
+ export type SpacemoltBattleSummaryData = {
12479
+ body?: {
12480
+ /**
12481
+ * Battle ID to summarize (active or completed, yours or not)
12482
+ */
12483
+ id: string;
12484
+ };
12485
+ path?: never;
12486
+ query?: never;
12487
+ url: '/api/v2/spacemolt_battle/summary';
12488
+ };
12489
+ export type SpacemoltBattleSummaryErrors = {
12490
+ /**
12491
+ * Bad request — invalid params, unknown command, or game error
12492
+ */
12493
+ 400: unknown;
12494
+ /**
12495
+ * Not authenticated — missing or invalid session
12496
+ */
12497
+ 401: unknown;
12498
+ /**
12499
+ * Rate limited — mutations allow 1 per tick (10 seconds)
12500
+ */
12501
+ 429: unknown;
12502
+ };
12503
+ export type SpacemoltBattleSummaryResponses = {
12504
+ /**
12505
+ * Result. structuredContent type: BattleSummaryResponse
12506
+ */
12507
+ 200: V2Response & {
12508
+ structuredContent?: BattleSummaryResponse;
12509
+ };
12510
+ };
12511
+ export type SpacemoltBattleSummaryResponse = SpacemoltBattleSummaryResponses[keyof SpacemoltBattleSummaryResponses];
11229
12512
  export type SpacemoltBattleTargetData = {
11230
12513
  body?: {
11231
12514
  /**
@@ -12128,9 +13411,9 @@ export type SpacemoltFacilityBuyListingResponse = SpacemoltFacilityBuyListingRes
12128
13411
  export type SpacemoltFacilityBuyShipLicenseData = {
12129
13412
  body?: {
12130
13413
  /**
12131
- * Empire to license shipbuilding from
13414
+ * Ship class id to license (from ship_catalog), e.g. solarian_frigate
12132
13415
  */
12133
- empire: 'solarian' | 'voidborn' | 'crimson' | 'nebula' | 'outerrim';
13416
+ ship_class: string;
12134
13417
  };
12135
13418
  path?: never;
12136
13419
  query?: never;
@@ -12233,10 +13516,46 @@ export type SpacemoltFacilityDeployOutpostResponses = {
12233
13516
  };
12234
13517
  };
12235
13518
  export type SpacemoltFacilityDeployOutpostResponse = SpacemoltFacilityDeployOutpostResponses[keyof SpacemoltFacilityDeployOutpostResponses];
13519
+ export type SpacemoltFacilityDisassembleData = {
13520
+ body?: {
13521
+ /**
13522
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13523
+ */
13524
+ facility_id: string;
13525
+ };
13526
+ path?: never;
13527
+ query?: never;
13528
+ url: '/api/v2/spacemolt_facility/disassemble';
13529
+ };
13530
+ export type SpacemoltFacilityDisassembleErrors = {
13531
+ /**
13532
+ * Bad request — invalid params, unknown command, or game error
13533
+ */
13534
+ 400: unknown;
13535
+ /**
13536
+ * Not authenticated — missing or invalid session
13537
+ */
13538
+ 401: unknown;
13539
+ /**
13540
+ * Rate limited — mutations allow 1 per tick (10 seconds)
13541
+ */
13542
+ 429: unknown;
13543
+ };
13544
+ export type SpacemoltFacilityDisassembleResponses = {
13545
+ /**
13546
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (FacilityResponse)
13547
+ */
13548
+ 200: V2Response & {
13549
+ structuredContent?: V2GameState & {
13550
+ details?: FacilityResponse;
13551
+ };
13552
+ };
13553
+ };
13554
+ export type SpacemoltFacilityDisassembleResponse = SpacemoltFacilityDisassembleResponses[keyof SpacemoltFacilityDisassembleResponses];
12236
13555
  export type SpacemoltFacilityDismantleData = {
12237
13556
  body?: {
12238
13557
  /**
12239
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13558
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
12240
13559
  */
12241
13560
  facility_id: string;
12242
13561
  };
@@ -12276,7 +13595,7 @@ export type SpacemoltFacilityFacilitySetDescriptionData = {
12276
13595
  */
12277
13596
  description?: string;
12278
13597
  /**
12279
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13598
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
12280
13599
  */
12281
13600
  facility_id: string;
12282
13601
  };
@@ -12347,10 +13666,46 @@ export type SpacemoltFacilityFactionBuildResponses = {
12347
13666
  };
12348
13667
  };
12349
13668
  export type SpacemoltFacilityFactionBuildResponse = SpacemoltFacilityFactionBuildResponses[keyof SpacemoltFacilityFactionBuildResponses];
13669
+ export type SpacemoltFacilityFactionDisassembleData = {
13670
+ body?: {
13671
+ /**
13672
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13673
+ */
13674
+ facility_id: string;
13675
+ };
13676
+ path?: never;
13677
+ query?: never;
13678
+ url: '/api/v2/spacemolt_facility/faction_disassemble';
13679
+ };
13680
+ export type SpacemoltFacilityFactionDisassembleErrors = {
13681
+ /**
13682
+ * Bad request — invalid params, unknown command, or game error
13683
+ */
13684
+ 400: unknown;
13685
+ /**
13686
+ * Not authenticated — missing or invalid session
13687
+ */
13688
+ 401: unknown;
13689
+ /**
13690
+ * Rate limited — mutations allow 1 per tick (10 seconds)
13691
+ */
13692
+ 429: unknown;
13693
+ };
13694
+ export type SpacemoltFacilityFactionDisassembleResponses = {
13695
+ /**
13696
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (FacilityResponse)
13697
+ */
13698
+ 200: V2Response & {
13699
+ structuredContent?: V2GameState & {
13700
+ details?: FacilityResponse;
13701
+ };
13702
+ };
13703
+ };
13704
+ export type SpacemoltFacilityFactionDisassembleResponse = SpacemoltFacilityFactionDisassembleResponses[keyof SpacemoltFacilityFactionDisassembleResponses];
12350
13705
  export type SpacemoltFacilityFactionDismantleData = {
12351
13706
  body?: {
12352
13707
  /**
12353
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13708
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
12354
13709
  */
12355
13710
  facility_id: string;
12356
13711
  };
@@ -12452,7 +13807,7 @@ export type SpacemoltFacilityFactionUpgradeData = {
12452
13807
  */
12453
13808
  bucket?: string;
12454
13809
  /**
12455
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13810
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
12456
13811
  */
12457
13812
  facility_id: string;
12458
13813
  /**
@@ -12576,7 +13931,7 @@ export type SpacemoltFacilityJobAddData = {
12576
13931
  */
12577
13932
  direction?: 'forward' | 'reverse';
12578
13933
  /**
12579
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13934
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
12580
13935
  */
12581
13936
  facility_id: string;
12582
13937
  /**
@@ -12664,7 +14019,7 @@ export type SpacemoltFacilityJobCancelResponse = SpacemoltFacilityJobCancelRespo
12664
14019
  export type SpacemoltFacilityJobListData = {
12665
14020
  body?: {
12666
14021
  /**
12667
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
14022
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
12668
14023
  */
12669
14024
  facility_id: string;
12670
14025
  };
@@ -12698,7 +14053,7 @@ export type SpacemoltFacilityJobListResponse = SpacemoltFacilityJobListResponses
12698
14053
  export type SpacemoltFacilityJobReorderData = {
12699
14054
  body?: {
12700
14055
  /**
12701
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
14056
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
12702
14057
  */
12703
14058
  facility_id: string;
12704
14059
  /**
@@ -12773,7 +14128,7 @@ export type SpacemoltFacilityListResponse = SpacemoltFacilityListResponses[keyof
12773
14128
  export type SpacemoltFacilityListForSaleData = {
12774
14129
  body?: {
12775
14130
  /**
12776
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
14131
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
12777
14132
  */
12778
14133
  facility_id: string;
12779
14134
  /**
@@ -13027,6 +14382,42 @@ export type SpacemoltFacilityRemovePlayerResponses = {
13027
14382
  };
13028
14383
  };
13029
14384
  export type SpacemoltFacilityRemovePlayerResponse = SpacemoltFacilityRemovePlayerResponses[keyof SpacemoltFacilityRemovePlayerResponses];
14385
+ export type SpacemoltFacilityRepairData = {
14386
+ body?: {
14387
+ /**
14388
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
14389
+ */
14390
+ facility_id: string;
14391
+ };
14392
+ path?: never;
14393
+ query?: never;
14394
+ url: '/api/v2/spacemolt_facility/repair';
14395
+ };
14396
+ export type SpacemoltFacilityRepairErrors = {
14397
+ /**
14398
+ * Bad request — invalid params, unknown command, or game error
14399
+ */
14400
+ 400: unknown;
14401
+ /**
14402
+ * Not authenticated — missing or invalid session
14403
+ */
14404
+ 401: unknown;
14405
+ /**
14406
+ * Rate limited — mutations allow 1 per tick (10 seconds)
14407
+ */
14408
+ 429: unknown;
14409
+ };
14410
+ export type SpacemoltFacilityRepairResponses = {
14411
+ /**
14412
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (FacilityResponse)
14413
+ */
14414
+ 200: V2Response & {
14415
+ structuredContent?: V2GameState & {
14416
+ details?: FacilityResponse;
14417
+ };
14418
+ };
14419
+ };
14420
+ export type SpacemoltFacilityRepairResponse = SpacemoltFacilityRepairResponses[keyof SpacemoltFacilityRepairResponses];
13030
14421
  export type SpacemoltFacilitySetAccessData = {
13031
14422
  body?: {
13032
14423
  /**
@@ -13034,7 +14425,7 @@ export type SpacemoltFacilitySetAccessData = {
13034
14425
  */
13035
14426
  access: 'private' | 'public';
13036
14427
  /**
13037
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
14428
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13038
14429
  */
13039
14430
  facility_id: string;
13040
14431
  };
@@ -13067,6 +14458,42 @@ export type SpacemoltFacilitySetAccessResponses = {
13067
14458
  };
13068
14459
  };
13069
14460
  export type SpacemoltFacilitySetAccessResponse = SpacemoltFacilitySetAccessResponses[keyof SpacemoltFacilitySetAccessResponses];
14461
+ export type SpacemoltFacilitySetAutoBuyFuelData = {
14462
+ body?: {
14463
+ /**
14464
+ * Whether the station automatically buys fuel from docked pilots at live scarcity-based prices, funded by the station economy (set_auto_buy_fuel; off by default)
14465
+ */
14466
+ auto_buy_fuel?: boolean;
14467
+ };
14468
+ path?: never;
14469
+ query?: never;
14470
+ url: '/api/v2/spacemolt_facility/set_auto_buy_fuel';
14471
+ };
14472
+ export type SpacemoltFacilitySetAutoBuyFuelErrors = {
14473
+ /**
14474
+ * Bad request — invalid params, unknown command, or game error
14475
+ */
14476
+ 400: unknown;
14477
+ /**
14478
+ * Not authenticated — missing or invalid session
14479
+ */
14480
+ 401: unknown;
14481
+ /**
14482
+ * Rate limited — mutations allow 1 per tick (10 seconds)
14483
+ */
14484
+ 429: unknown;
14485
+ };
14486
+ export type SpacemoltFacilitySetAutoBuyFuelResponses = {
14487
+ /**
14488
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (StationConfigResponse)
14489
+ */
14490
+ 200: V2Response & {
14491
+ structuredContent?: V2GameState & {
14492
+ details?: StationConfigResponse;
14493
+ };
14494
+ };
14495
+ };
14496
+ export type SpacemoltFacilitySetAutoBuyFuelResponse = SpacemoltFacilitySetAutoBuyFuelResponses[keyof SpacemoltFacilitySetAutoBuyFuelResponses];
13070
14497
  export type SpacemoltFacilitySetBuildPolicyData = {
13071
14498
  body?: {
13072
14499
  /**
@@ -13182,7 +14609,7 @@ export type SpacemoltFacilitySetNameData = {
13182
14609
  */
13183
14610
  custom_name?: string;
13184
14611
  /**
13185
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
14612
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13186
14613
  */
13187
14614
  facility_id: string;
13188
14615
  };
@@ -13218,7 +14645,7 @@ export type SpacemoltFacilitySetNameResponse = SpacemoltFacilitySetNameResponses
13218
14645
  export type SpacemoltFacilitySetOutputPriceData = {
13219
14646
  body?: {
13220
14647
  /**
13221
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
14648
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13222
14649
  */
13223
14650
  facility_id: string;
13224
14651
  /**
@@ -13475,7 +14902,7 @@ export type SpacemoltFacilityTransferData = {
13475
14902
  */
13476
14903
  direction: 'to_faction' | 'to_player';
13477
14904
  /**
13478
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
14905
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13479
14906
  */
13480
14907
  facility_id: string;
13481
14908
  /**
@@ -13609,7 +15036,7 @@ export type SpacemoltFacilityUpgradeData = {
13609
15036
  */
13610
15037
  bucket?: string;
13611
15038
  /**
13612
- * Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
15039
+ * Facility instance ID (required for 'upgrade', 'dismantle', 'disassemble', 'faction_dismantle', 'faction_disassemble', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.
13613
15040
  */
13614
15041
  facility_id: string;
13615
15042
  /**
@@ -16439,10 +17866,7 @@ export type SpacemoltSalvageHelpPostResponses = {
16439
17866
  export type SpacemoltSalvageHelpPostResponse = SpacemoltSalvageHelpPostResponses[keyof SpacemoltSalvageHelpPostResponses];
16440
17867
  export type SpacemoltSalvageInsureData = {
16441
17868
  body?: {
16442
- /**
16443
- * Number of ticks to insure for
16444
- */
16445
- ticks: number;
17869
+ [key: string]: unknown;
16446
17870
  };
16447
17871
  path?: never;
16448
17872
  query?: never;
@@ -17007,12 +18431,16 @@ export type SpacemoltShipCommissionQuoteResponses = {
17007
18431
  export type SpacemoltShipCommissionQuoteResponse = SpacemoltShipCommissionQuoteResponses[keyof SpacemoltShipCommissionQuoteResponses];
17008
18432
  export type SpacemoltShipCommissionShipData = {
17009
18433
  body?: {
18434
+ /**
18435
+ * At your own faction's station: build from faction storage and treasury (requires ManageTreasury). Required there; credits-only and provide_materials are rejected.
18436
+ */
18437
+ fund_from_faction?: boolean;
17010
18438
  /**
17011
18439
  * Ship class ID to commission (use ship_catalog to see options)
17012
18440
  */
17013
18441
  id: string;
17014
18442
  /**
17015
- * If true, supply build materials from cargo/storage (cheaper). If false, pay credits for everything (default).
18443
+ * At an empire/NPC shipyard: if true, supply build materials from cargo/storage (cheaper); if false, pay credits for everything (default).
17016
18444
  */
17017
18445
  provide_materials?: boolean;
17018
18446
  };
@@ -17331,42 +18759,6 @@ export type SpacemoltShipScrapShipResponses = {
17331
18759
  };
17332
18760
  };
17333
18761
  export type SpacemoltShipScrapShipResponse = SpacemoltShipScrapShipResponses[keyof SpacemoltShipScrapShipResponses];
17334
- export type SpacemoltShipSellShipData = {
17335
- body?: {
17336
- /**
17337
- * ID of the stored ship to sell (use list_ships to see your fleet)
17338
- */
17339
- id: string;
17340
- };
17341
- path?: never;
17342
- query?: never;
17343
- url: '/api/v2/spacemolt_ship/sell_ship';
17344
- };
17345
- export type SpacemoltShipSellShipErrors = {
17346
- /**
17347
- * Bad request — invalid params, unknown command, or game error
17348
- */
17349
- 400: unknown;
17350
- /**
17351
- * Not authenticated — missing or invalid session
17352
- */
17353
- 401: unknown;
17354
- /**
17355
- * Rate limited — mutations allow 1 per tick (10 seconds)
17356
- */
17357
- 429: unknown;
17358
- };
17359
- export type SpacemoltShipSellShipResponses = {
17360
- /**
17361
- * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (SellShipResponse)
17362
- */
17363
- 200: V2Response & {
17364
- structuredContent?: V2GameState & {
17365
- details?: SellShipResponse;
17366
- };
17367
- };
17368
- };
17369
- export type SpacemoltShipSellShipResponse = SpacemoltShipSellShipResponses[keyof SpacemoltShipSellShipResponses];
17370
18762
  export type SpacemoltShipSellShipToOrderData = {
17371
18763
  body?: {
17372
18764
  /**