@spacemolt/lib 4.6.0 → 8.0.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;
@@ -703,9 +658,11 @@ export type CatalogResponse = {
703
658
  item_id: string;
704
659
  quantity: number;
705
660
  }>;
661
+ package_operation?: string;
706
662
  } | {
707
663
  allows_contraband?: boolean;
708
664
  always_on: boolean;
665
+ ammo_item?: string;
709
666
  battery_capacity?: number;
710
667
  build_cost: number;
711
668
  build_materials?: Array<{
@@ -734,6 +691,7 @@ export type CatalogResponse = {
734
691
  level: number;
735
692
  life_support_draw?: number;
736
693
  life_support_supply?: number;
694
+ logistics?: boolean;
737
695
  lore?: string;
738
696
  maintenance_inputs?: Array<{
739
697
  item_id: string;
@@ -748,15 +706,26 @@ export type CatalogResponse = {
748
706
  power_draw?: number;
749
707
  power_supply?: number;
750
708
  recipe_id?: string;
709
+ repair_hull_per_item?: number;
710
+ repair_item?: string;
751
711
  requires_service_type?: string;
752
712
  satisfied_description?: string;
753
713
  scan_falloff?: number;
754
714
  scan_power?: number;
715
+ self_repair_rate?: number;
755
716
  service_type?: string;
717
+ station_armor?: number;
718
+ station_hull_hp?: number;
756
719
  station_or_faction_only?: boolean;
720
+ station_shield_hp?: number;
757
721
  tourism_upkeep?: boolean;
722
+ transit_deadline_bonus?: number;
758
723
  unique?: boolean;
759
724
  upgrades_from?: string;
725
+ weapon_cooldown?: number;
726
+ weapon_damage?: number;
727
+ weapon_damage_type?: string;
728
+ weapon_reach?: number;
760
729
  }>;
761
730
  message: string;
762
731
  page: number;
@@ -779,6 +748,7 @@ export type CatalogResponse = {
779
748
  item_id: string;
780
749
  quantity: number;
781
750
  }>;
751
+ package_operation?: string;
782
752
  }>;
783
753
  produced_by_facilities?: Array<{
784
754
  definition_id: string;
@@ -803,6 +773,7 @@ export type CatalogResponse = {
803
773
  item_id: string;
804
774
  quantity: number;
805
775
  }>;
776
+ package_operation?: string;
806
777
  }>;
807
778
  total: number;
808
779
  total_pages: number;
@@ -966,6 +937,7 @@ export type CommissionQuoteResponse = {
966
937
  ship_name?: string;
967
938
  shipyard_tier_here?: number;
968
939
  shipyard_tier_required?: number;
940
+ yard_margin?: number;
969
941
  };
970
942
  export type CommissionShipResponse = {
971
943
  build_time?: number;
@@ -978,6 +950,7 @@ export type CommissionShipResponse = {
978
950
  ship_class: string;
979
951
  ship_name?: string;
980
952
  status: string;
953
+ yard_margin?: number;
981
954
  };
982
955
  export type CommissionStatusResponse = {
983
956
  commissions: Array<{
@@ -1073,8 +1046,10 @@ export type CraftJobResponse = {
1073
1046
  external?: boolean;
1074
1047
  facility_id: string;
1075
1048
  job_id: string;
1049
+ label?: string;
1076
1050
  mode: string;
1077
1051
  orderer: string;
1052
+ package_id?: string;
1078
1053
  position: number;
1079
1054
  produces?: Array<{
1080
1055
  item_id: string;
@@ -1089,6 +1064,8 @@ export type CraftJobResponse = {
1089
1064
  status: string;
1090
1065
  venue?: string;
1091
1066
  }>;
1067
+ message?: string;
1068
+ total_jobs: number;
1092
1069
  } | {
1093
1070
  action: string;
1094
1071
  mode: string;
@@ -1107,7 +1084,9 @@ export type CraftJobResponse = {
1107
1084
  external?: boolean;
1108
1085
  index: number;
1109
1086
  job_id?: string;
1087
+ label?: string;
1110
1088
  message?: string;
1089
+ package_id?: string;
1111
1090
  recipe?: string;
1112
1091
  runs?: number;
1113
1092
  success: boolean;
@@ -1135,6 +1114,7 @@ export type CraftJobResponse = {
1135
1114
  est_completion_tick: number;
1136
1115
  external?: boolean;
1137
1116
  facility_id: string;
1117
+ have_capacity?: boolean;
1138
1118
  have_credits: boolean;
1139
1119
  have_inputs: boolean;
1140
1120
  message: string;
@@ -1186,6 +1166,24 @@ export type CraftJobResponse = {
1186
1166
  succeeded: number;
1187
1167
  total: number;
1188
1168
  };
1169
+ } | {
1170
+ action: string;
1171
+ escrowed: {
1172
+ fee?: number;
1173
+ inputs?: Array<{
1174
+ item_id: string;
1175
+ name: string;
1176
+ quantity: number;
1177
+ }>;
1178
+ labor?: number;
1179
+ };
1180
+ eta_ticks: number;
1181
+ external?: boolean;
1182
+ job_id: string;
1183
+ label: string;
1184
+ message: string;
1185
+ package_id: string;
1186
+ venue: string;
1189
1187
  };
1190
1188
  export type CreateBuyOrderResponse = {
1191
1189
  action: string;
@@ -1547,6 +1545,7 @@ export type DockResponse = {
1547
1545
  bio: string;
1548
1546
  citizen_id: string;
1549
1547
  class: string;
1548
+ connecting?: boolean;
1550
1549
  destination: string;
1551
1550
  destination_name: string;
1552
1551
  destination_system?: string;
@@ -1564,6 +1563,7 @@ export type DockResponse = {
1564
1563
  bio: string;
1565
1564
  citizen_id: string;
1566
1565
  class: string;
1566
+ connecting?: boolean;
1567
1567
  destination: string;
1568
1568
  destination_name: string;
1569
1569
  destination_system?: string;
@@ -1642,6 +1642,74 @@ export type EstimatePurchaseResponse = {
1642
1642
  total_cost: number;
1643
1643
  unfilled: number;
1644
1644
  };
1645
+ export type FacilityDefinition = {
1646
+ allows_contraband?: boolean;
1647
+ always_on: boolean;
1648
+ ammo_item?: string;
1649
+ battery_capacity?: number;
1650
+ build_cost: number;
1651
+ build_materials?: Array<{
1652
+ item_id: string;
1653
+ quantity: number;
1654
+ }>;
1655
+ build_time: number;
1656
+ category: string;
1657
+ degraded_description?: string;
1658
+ deposit_to_empire_reserves?: boolean;
1659
+ description: string;
1660
+ dining_points?: number;
1661
+ disguised?: boolean;
1662
+ empire?: string;
1663
+ expansion_of?: string;
1664
+ expansion_scale?: number;
1665
+ faction_cap?: number;
1666
+ faction_service_type?: string;
1667
+ fleet_upkeep?: boolean;
1668
+ fuel_capacity?: number;
1669
+ fuel_output?: boolean;
1670
+ id: string;
1671
+ is_recycler?: boolean;
1672
+ labor_cost: number;
1673
+ leisure_points?: number;
1674
+ level: number;
1675
+ life_support_draw?: number;
1676
+ life_support_supply?: number;
1677
+ logistics?: boolean;
1678
+ lore?: string;
1679
+ maintenance_inputs?: Array<{
1680
+ item_id: string;
1681
+ quantity: number;
1682
+ }>;
1683
+ name: string;
1684
+ personal_bonus_type?: string;
1685
+ personal_bonus_value?: number;
1686
+ personal_service_type?: string;
1687
+ pirate_base_only?: boolean;
1688
+ player_station_buildable?: boolean;
1689
+ power_draw?: number;
1690
+ power_supply?: number;
1691
+ recipe_id?: string;
1692
+ repair_hull_per_item?: number;
1693
+ repair_item?: string;
1694
+ requires_service_type?: string;
1695
+ satisfied_description?: string;
1696
+ scan_falloff?: number;
1697
+ scan_power?: number;
1698
+ self_repair_rate?: number;
1699
+ service_type?: string;
1700
+ station_armor?: number;
1701
+ station_hull_hp?: number;
1702
+ station_or_faction_only?: boolean;
1703
+ station_shield_hp?: number;
1704
+ tourism_upkeep?: boolean;
1705
+ transit_deadline_bonus?: number;
1706
+ unique?: boolean;
1707
+ upgrades_from?: string;
1708
+ weapon_cooldown?: number;
1709
+ weapon_damage?: number;
1710
+ weapon_damage_type?: string;
1711
+ weapon_reach?: number;
1712
+ };
1645
1713
  export type FacilityResponse = {
1646
1714
  action: string;
1647
1715
  base_id: string;
@@ -1685,6 +1753,7 @@ export type FacilityResponse = {
1685
1753
  capacity?: number;
1686
1754
  category: string;
1687
1755
  custom_name?: string;
1756
+ damaged?: boolean;
1688
1757
  description: string;
1689
1758
  dining_points?: number;
1690
1759
  facility_id: string;
@@ -1710,17 +1779,21 @@ export type FacilityResponse = {
1710
1779
  backlog_ticks: number;
1711
1780
  items_per_hour?: number;
1712
1781
  output_per_run?: number;
1782
+ output_price_per_operation?: number;
1713
1783
  output_price_per_unit?: number;
1784
+ pack_operations_per_hour?: number;
1714
1785
  public?: boolean;
1715
1786
  queued_items: number;
1716
1787
  queued_runs: number;
1717
1788
  recipe?: string;
1718
1789
  rental_fee_per_run?: number;
1719
1790
  ticks_per_run?: number;
1791
+ unpack_operations_per_hour?: number;
1720
1792
  };
1721
1793
  recipe_id?: string;
1722
1794
  rent_paid_until_tick?: number;
1723
1795
  rent_per_cycle?: number;
1796
+ repair_complete_tick?: number;
1724
1797
  service?: string;
1725
1798
  tourism_upkeep?: boolean;
1726
1799
  type: string;
@@ -1734,12 +1807,30 @@ export type FacilityResponse = {
1734
1807
  note?: string;
1735
1808
  total_rent_per_cycle: number;
1736
1809
  };
1810
+ life_support?: {
1811
+ demand: number;
1812
+ maintenance?: Array<{
1813
+ item_id: string;
1814
+ name?: string;
1815
+ quantity_per_cycle: number;
1816
+ }>;
1817
+ maintenance_cycle_ticks: number;
1818
+ plants: number;
1819
+ remediation?: string;
1820
+ starved?: Array<{
1821
+ item_id: string;
1822
+ name?: string;
1823
+ quantity_per_cycle: number;
1824
+ }>;
1825
+ supply: number;
1826
+ };
1737
1827
  player_facilities: Array<{
1738
1828
  bonus_type?: string;
1739
1829
  bonus_value?: number;
1740
1830
  capacity?: number;
1741
1831
  category: string;
1742
1832
  custom_name?: string;
1833
+ damaged?: boolean;
1743
1834
  description: string;
1744
1835
  dining_points?: number;
1745
1836
  facility_id: string;
@@ -1765,17 +1856,21 @@ export type FacilityResponse = {
1765
1856
  backlog_ticks: number;
1766
1857
  items_per_hour?: number;
1767
1858
  output_per_run?: number;
1859
+ output_price_per_operation?: number;
1768
1860
  output_price_per_unit?: number;
1861
+ pack_operations_per_hour?: number;
1769
1862
  public?: boolean;
1770
1863
  queued_items: number;
1771
1864
  queued_runs: number;
1772
1865
  recipe?: string;
1773
1866
  rental_fee_per_run?: number;
1774
1867
  ticks_per_run?: number;
1868
+ unpack_operations_per_hour?: number;
1775
1869
  };
1776
1870
  recipe_id?: string;
1777
1871
  rent_paid_until_tick?: number;
1778
1872
  rent_per_cycle?: number;
1873
+ repair_complete_tick?: number;
1779
1874
  service?: string;
1780
1875
  tourism_upkeep?: boolean;
1781
1876
  type: string;
@@ -1808,6 +1903,7 @@ export type FacilityResponse = {
1808
1903
  capacity?: number;
1809
1904
  category: string;
1810
1905
  custom_name?: string;
1906
+ damaged?: boolean;
1811
1907
  description: string;
1812
1908
  dining_points?: number;
1813
1909
  facility_id: string;
@@ -1833,17 +1929,21 @@ export type FacilityResponse = {
1833
1929
  backlog_ticks: number;
1834
1930
  items_per_hour?: number;
1835
1931
  output_per_run?: number;
1932
+ output_price_per_operation?: number;
1836
1933
  output_price_per_unit?: number;
1934
+ pack_operations_per_hour?: number;
1837
1935
  public?: boolean;
1838
1936
  queued_items: number;
1839
1937
  queued_runs: number;
1840
1938
  recipe?: string;
1841
1939
  rental_fee_per_run?: number;
1842
1940
  ticks_per_run?: number;
1941
+ unpack_operations_per_hour?: number;
1843
1942
  };
1844
1943
  recipe_id?: string;
1845
1944
  rent_paid_until_tick?: number;
1846
1945
  rent_per_cycle?: number;
1946
+ repair_complete_tick?: number;
1847
1947
  service?: string;
1848
1948
  tourism_upkeep?: boolean;
1849
1949
  type: string;
@@ -1855,6 +1955,7 @@ export type FacilityResponse = {
1855
1955
  capacity?: number;
1856
1956
  category: string;
1857
1957
  custom_name?: string;
1958
+ damaged?: boolean;
1858
1959
  description: string;
1859
1960
  dining_points?: number;
1860
1961
  facility_id: string;
@@ -1880,17 +1981,21 @@ export type FacilityResponse = {
1880
1981
  backlog_ticks: number;
1881
1982
  items_per_hour?: number;
1882
1983
  output_per_run?: number;
1984
+ output_price_per_operation?: number;
1883
1985
  output_price_per_unit?: number;
1986
+ pack_operations_per_hour?: number;
1884
1987
  public?: boolean;
1885
1988
  queued_items: number;
1886
1989
  queued_runs: number;
1887
1990
  recipe?: string;
1888
1991
  rental_fee_per_run?: number;
1889
1992
  ticks_per_run?: number;
1993
+ unpack_operations_per_hour?: number;
1890
1994
  };
1891
1995
  recipe_id?: string;
1892
1996
  rent_paid_until_tick?: number;
1893
1997
  rent_per_cycle?: number;
1998
+ repair_complete_tick?: number;
1894
1999
  service?: string;
1895
2000
  tourism_upkeep?: boolean;
1896
2001
  type: string;
@@ -1903,6 +2008,7 @@ export type FacilityResponse = {
1903
2008
  base_id: string;
1904
2009
  base_name: string;
1905
2010
  custom_name?: string;
2011
+ damaged?: boolean;
1906
2012
  facility_id: string;
1907
2013
  labor_per_run?: number;
1908
2014
  missed_rent_cycles?: number;
@@ -1910,6 +2016,7 @@ export type FacilityResponse = {
1910
2016
  power_throttled?: boolean;
1911
2017
  rent_per_cycle: number;
1912
2018
  rental_fee_per_run?: number;
2019
+ repair_complete_tick?: number;
1913
2020
  system_id?: string;
1914
2021
  type: string;
1915
2022
  under_construction?: boolean;
@@ -1931,6 +2038,7 @@ export type FacilityResponse = {
1931
2038
  base_id: string;
1932
2039
  base_name: string;
1933
2040
  custom_name?: string;
2041
+ damaged?: boolean;
1934
2042
  facility_id: string;
1935
2043
  labor_per_run: number;
1936
2044
  missed_rent_cycles?: number;
@@ -1938,6 +2046,7 @@ export type FacilityResponse = {
1938
2046
  power_throttled?: boolean;
1939
2047
  rent_per_cycle: number;
1940
2048
  rental_fee_per_run?: number;
2049
+ repair_complete_tick?: number;
1941
2050
  system_id?: string;
1942
2051
  type: string;
1943
2052
  under_construction?: boolean;
@@ -2115,6 +2224,30 @@ export type FacilityResponse = {
2115
2224
  facility_type: string;
2116
2225
  hint: string;
2117
2226
  ticks_to_complete: number;
2227
+ } | {
2228
+ action: string;
2229
+ base_id: string;
2230
+ complete_tick: number;
2231
+ facility_id: string;
2232
+ facility_name: string;
2233
+ facility_type: string;
2234
+ hint: string;
2235
+ materials_to_recover: Array<{
2236
+ item_id: string;
2237
+ quantity: number;
2238
+ }>;
2239
+ ticks_to_complete: number;
2240
+ } | {
2241
+ action: string;
2242
+ complete_tick: number;
2243
+ facility_id: string;
2244
+ facility_name: string;
2245
+ hint: string;
2246
+ materials_used: Array<{
2247
+ item_id: string;
2248
+ quantity: number;
2249
+ }>;
2250
+ ticks_to_complete: number;
2118
2251
  } | {
2119
2252
  action: string;
2120
2253
  base_id: string;
@@ -2376,14 +2509,34 @@ export type FacilityResponse = {
2376
2509
  venue_type: string;
2377
2510
  } | {
2378
2511
  action: string;
2379
- facility_id: string;
2380
- jobs: Array<{
2381
- eta_ticks: number;
2382
- external?: boolean;
2383
- facility_id: string;
2512
+ escrowed: {
2513
+ fee?: number;
2514
+ inputs?: Array<{
2515
+ item_id: string;
2516
+ name: string;
2517
+ quantity: number;
2518
+ }>;
2519
+ labor?: number;
2520
+ };
2521
+ eta_ticks: number;
2522
+ external?: boolean;
2523
+ job_id: string;
2524
+ label: string;
2525
+ message: string;
2526
+ package_id: string;
2527
+ venue: string;
2528
+ } | {
2529
+ action: string;
2530
+ facility_id: string;
2531
+ jobs: Array<{
2532
+ eta_ticks: number;
2533
+ external?: boolean;
2534
+ facility_id: string;
2384
2535
  job_id: string;
2536
+ label?: string;
2385
2537
  mode: string;
2386
2538
  orderer: string;
2539
+ package_id?: string;
2387
2540
  position: number;
2388
2541
  produces?: Array<{
2389
2542
  item_id: string;
@@ -2398,6 +2551,8 @@ export type FacilityResponse = {
2398
2551
  status: string;
2399
2552
  venue?: string;
2400
2553
  }>;
2554
+ message?: string;
2555
+ total_jobs: number;
2401
2556
  venue: string;
2402
2557
  } | {
2403
2558
  action: string;
@@ -3286,16 +3441,18 @@ export type GetActionLogResponse = {
3286
3441
  export type GetBaseResponse = {
3287
3442
  base: {
3288
3443
  allow_outsider_facilities?: boolean;
3289
- defense_level: number;
3444
+ armor: number;
3290
3445
  description: string;
3291
3446
  empire?: string;
3292
3447
  facilities?: Array<string>;
3293
3448
  faction_id?: string;
3294
3449
  fuel: number;
3295
- has_drones: boolean;
3450
+ hull: number;
3296
3451
  id: string;
3297
3452
  market_fee_bps?: number;
3298
3453
  max_fuel: number;
3454
+ max_hull: number;
3455
+ max_shield: number;
3299
3456
  name: string;
3300
3457
  owner_id?: string;
3301
3458
  pirate_rep_required?: number;
@@ -3306,7 +3463,11 @@ export type GetBaseResponse = {
3306
3463
  service_access?: {
3307
3464
  [key: string]: string;
3308
3465
  };
3466
+ shield: number;
3309
3467
  type?: string;
3468
+ weapon_dps: number;
3469
+ weapon_reach: number;
3470
+ wrecked?: boolean;
3310
3471
  };
3311
3472
  condition: {
3312
3473
  condition: string;
@@ -3354,6 +3515,23 @@ export type GetBaseResponse = {
3354
3515
  fuel_price?: number;
3355
3516
  fuel_price_all_in?: number;
3356
3517
  fuel_tax_per_unit?: number;
3518
+ life_support?: {
3519
+ demand: number;
3520
+ maintenance?: Array<{
3521
+ item_id: string;
3522
+ name?: string;
3523
+ quantity_per_cycle: number;
3524
+ }>;
3525
+ maintenance_cycle_ticks: number;
3526
+ plants: number;
3527
+ remediation?: string;
3528
+ starved?: Array<{
3529
+ item_id: string;
3530
+ name?: string;
3531
+ quantity_per_cycle: number;
3532
+ }>;
3533
+ supply: number;
3534
+ };
3357
3535
  power?: {
3358
3536
  battery_capacity: number;
3359
3537
  battery_stored: number;
@@ -3369,6 +3547,179 @@ export type GetBaseResponse = {
3369
3547
  };
3370
3548
  services: Array<string>;
3371
3549
  };
3550
+ export type GetBattleLogResponse = {
3551
+ battle_id: string;
3552
+ entries: Array<{
3553
+ attacks?: Array<{
3554
+ after_def_buff?: number;
3555
+ after_stance?: number;
3556
+ attacker_id: string;
3557
+ capital_bonus_pct?: number;
3558
+ damage_type: string;
3559
+ def_buff_pct?: number;
3560
+ disrupted?: boolean;
3561
+ final_damage: number;
3562
+ flat_reduction_pct?: number;
3563
+ hit_chance: number;
3564
+ hit_roll: number;
3565
+ hit_success: boolean;
3566
+ hull_damage: number;
3567
+ off_buff_pct?: number;
3568
+ pre_hit_damage: number;
3569
+ raw_damage: number;
3570
+ shield_damage: number;
3571
+ shield_resist_pct?: number;
3572
+ splash?: boolean;
3573
+ stance_mult?: number;
3574
+ target_id: string;
3575
+ type_resist_pct?: number;
3576
+ weapon_skill_pct: number;
3577
+ weapons: Array<{
3578
+ after_disruption: number;
3579
+ ammo_mod?: number;
3580
+ ammo_used?: string;
3581
+ base_damage: number;
3582
+ crit_chance: number;
3583
+ crit_fired: boolean;
3584
+ crit_roll: number;
3585
+ damage: number;
3586
+ damage_type: string;
3587
+ instance_id: string;
3588
+ name: string;
3589
+ type_bonus_pct: number;
3590
+ }>;
3591
+ zone_distance: number;
3592
+ }>;
3593
+ autopilot?: Array<{
3594
+ chosen_target?: string;
3595
+ player_id: string;
3596
+ reason: string;
3597
+ }>;
3598
+ battle_ended?: {
3599
+ category: string;
3600
+ duration: number;
3601
+ outcome: string;
3602
+ participant_names?: Array<string>;
3603
+ participants: Array<{
3604
+ damage_dealt: number;
3605
+ damage_taken: number;
3606
+ kill_count: number;
3607
+ player_id: string;
3608
+ side_id: number;
3609
+ survived: boolean;
3610
+ username: string;
3611
+ }>;
3612
+ ships_destroyed: number;
3613
+ total_damage: number;
3614
+ winning_side: number;
3615
+ };
3616
+ battle_id: string;
3617
+ burns?: Array<{
3618
+ damage: number;
3619
+ destroyed?: boolean;
3620
+ target_id: string;
3621
+ ticks_remaining: number;
3622
+ }>;
3623
+ commands?: Array<{
3624
+ command: string;
3625
+ player_id: string;
3626
+ stance?: string;
3627
+ target_id?: string;
3628
+ }>;
3629
+ flee?: Array<{
3630
+ escaped: boolean;
3631
+ flee_counter: number;
3632
+ flee_required: number;
3633
+ player_id: string;
3634
+ }>;
3635
+ fuel?: Array<{
3636
+ forced_fire: boolean;
3637
+ fuel_after: number;
3638
+ fuel_before: number;
3639
+ fuel_burned: number;
3640
+ player_id: string;
3641
+ }>;
3642
+ joins?: Array<{
3643
+ player_id: string;
3644
+ side_id: number;
3645
+ username: string;
3646
+ }>;
3647
+ kills?: Array<{
3648
+ killer_id: string;
3649
+ killer_username: string;
3650
+ victim_id: string;
3651
+ victim_username: string;
3652
+ }>;
3653
+ regen?: Array<{
3654
+ armor_repair: number;
3655
+ hull_after: number;
3656
+ hull_before: number;
3657
+ player_id: string;
3658
+ remote_repair?: number;
3659
+ shield_after: number;
3660
+ shield_before: number;
3661
+ shield_regen: number;
3662
+ }>;
3663
+ snapshots: Array<{
3664
+ armor_melt_pct?: number;
3665
+ armor_melt_ticks?: number;
3666
+ auto_pilot: boolean;
3667
+ burn_damage_per_tick?: number;
3668
+ burn_ticks?: number;
3669
+ damage_dealt: number;
3670
+ damage_penalty_pct?: number;
3671
+ damage_taken: number;
3672
+ disruption_ticks?: number;
3673
+ faction_id?: string;
3674
+ flee_counter: number;
3675
+ fuel: number;
3676
+ hull: number;
3677
+ kill_count: number;
3678
+ kind?: string;
3679
+ max_fuel: number;
3680
+ max_hull: number;
3681
+ max_shield: number;
3682
+ modules?: Array<{
3683
+ category: string;
3684
+ current_ammo?: number;
3685
+ loaded_ammo?: string;
3686
+ magazine_size?: number;
3687
+ name: string;
3688
+ }>;
3689
+ player_id: string;
3690
+ shield: number;
3691
+ ship_class: string;
3692
+ side_id: number;
3693
+ speed_penalty_pct?: number;
3694
+ stance: string;
3695
+ target_id?: string;
3696
+ username: string;
3697
+ x: number;
3698
+ y: number;
3699
+ zone: string;
3700
+ }>;
3701
+ system_id: string;
3702
+ tick: number;
3703
+ zone_moves?: Array<{
3704
+ new_zone: string;
3705
+ old_zone: string;
3706
+ player_id: string;
3707
+ reason: string;
3708
+ }>;
3709
+ }>;
3710
+ /**
3711
+ * True if more entries exist past this page (tick_start/tick_end) — raise tick_start or limit to page through.
3712
+ */
3713
+ has_more: boolean;
3714
+ /**
3715
+ * active or completed
3716
+ */
3717
+ status: string;
3718
+ /**
3719
+ * Total number of logged ticks for this battle
3720
+ */
3721
+ total_ticks: number;
3722
+ };
3372
3723
  export type GetBattleStatusResponse = {
3373
3724
  battle_id: string;
3374
3725
  combat_state?: {
@@ -3564,7 +3915,6 @@ export type GetEmpireInfoResponse = {
3564
3915
  default_foreign_sales_tax_bps: number;
3565
3916
  empire_id: string;
3566
3917
  eviction_grace_cycles: number;
3567
- facility_rent_multiplier_bps: number;
3568
3918
  faction_income_tax_bps: number;
3569
3919
  foreign_income_tax_deduction?: {
3570
3920
  [key: string]: number;
@@ -3831,6 +4181,7 @@ export type GetPoiResponse = {
3831
4181
  participants: Array<{
3832
4182
  faction_id?: string;
3833
4183
  is_npc?: boolean;
4184
+ kind?: string;
3834
4185
  player_id: string;
3835
4186
  ship_class?: string;
3836
4187
  side_id: number;
@@ -3844,16 +4195,18 @@ export type GetPoiResponse = {
3844
4195
  };
3845
4196
  base?: {
3846
4197
  allow_outsider_facilities?: boolean;
3847
- defense_level: number;
4198
+ armor: number;
3848
4199
  description: string;
3849
4200
  empire?: string;
3850
4201
  facilities?: Array<string>;
3851
4202
  faction_id?: string;
3852
4203
  fuel: number;
3853
- has_drones: boolean;
4204
+ hull: number;
3854
4205
  id: string;
3855
4206
  market_fee_bps?: number;
3856
4207
  max_fuel: number;
4208
+ max_hull: number;
4209
+ max_shield: number;
3857
4210
  name: string;
3858
4211
  owner_id?: string;
3859
4212
  pirate_rep_required?: number;
@@ -3864,7 +4217,11 @@ export type GetPoiResponse = {
3864
4217
  service_access?: {
3865
4218
  [key: string]: string;
3866
4219
  };
4220
+ shield: number;
3867
4221
  type?: string;
4222
+ weapon_dps: number;
4223
+ weapon_reach: number;
4224
+ wrecked?: boolean;
3868
4225
  };
3869
4226
  faction_fuel_capacity?: number;
3870
4227
  faction_fuel_reserve?: number;
@@ -3946,6 +4303,7 @@ export type GetSystemResponse = {
3946
4303
  participants: Array<{
3947
4304
  faction_id?: string;
3948
4305
  is_npc?: boolean;
4306
+ kind?: string;
3949
4307
  player_id: string;
3950
4308
  ship_class?: string;
3951
4309
  side_id: number;
@@ -4025,12 +4383,14 @@ export type GetTradesResponse = {
4025
4383
  offer_credits?: number;
4026
4384
  offer_items: Array<{
4027
4385
  item_id: string;
4386
+ name?: string;
4028
4387
  quantity: number;
4029
4388
  }>;
4030
4389
  offerer_name?: string;
4031
4390
  request_credits?: number;
4032
4391
  request_items: Array<{
4033
4392
  item_id: string;
4393
+ name?: string;
4034
4394
  quantity: number;
4035
4395
  }>;
4036
4396
  target_name?: string;
@@ -4041,12 +4401,14 @@ export type GetTradesResponse = {
4041
4401
  offer_credits?: number;
4042
4402
  offer_items: Array<{
4043
4403
  item_id: string;
4404
+ name?: string;
4044
4405
  quantity: number;
4045
4406
  }>;
4046
4407
  offerer_name?: string;
4047
4408
  request_credits?: number;
4048
4409
  request_items: Array<{
4049
4410
  item_id: string;
4411
+ name?: string;
4050
4412
  quantity: number;
4051
4413
  }>;
4052
4414
  target_name?: string;
@@ -4074,39 +4436,720 @@ export type GetWrecksResponse = {
4074
4436
  wrecks: Array<{
4075
4437
  cargo: Array<{
4076
4438
  item_id: string;
4077
- name?: string;
4439
+ name?: string;
4440
+ quantity: number;
4441
+ size?: number;
4442
+ }>;
4443
+ created_at: string;
4444
+ expire_tick: number;
4445
+ expires_at: string;
4446
+ id: string;
4447
+ insurance_policy_id?: string;
4448
+ killer_id?: string;
4449
+ killer_name?: string;
4450
+ modules: Array<{
4451
+ id: string;
4452
+ name: string;
4453
+ type: string;
4454
+ type_id: string;
4455
+ wear: number;
4456
+ }>;
4457
+ poi_id: string;
4458
+ salvage_value: number;
4459
+ ship_class: string;
4460
+ ship_name?: string;
4461
+ system_id: string;
4462
+ towed_by_player_id?: string;
4463
+ type: string;
4464
+ victim_id: string;
4465
+ victim_name: string;
4466
+ }>;
4467
+ };
4468
+ export type HuntResponse = {
4469
+ command: string;
4470
+ message: string;
4471
+ pending: boolean;
4472
+ };
4473
+ export type InspectResponse = {
4474
+ base?: {
4475
+ base: {
4476
+ allow_outsider_facilities?: boolean;
4477
+ armor: number;
4478
+ description: string;
4479
+ empire?: string;
4480
+ facilities?: Array<string>;
4481
+ faction_id?: string;
4482
+ fuel: number;
4483
+ hull: number;
4484
+ id: string;
4485
+ market_fee_bps?: number;
4486
+ max_fuel: number;
4487
+ max_hull: number;
4488
+ max_shield: number;
4489
+ name: string;
4490
+ owner_id?: string;
4491
+ pirate_rep_required?: number;
4492
+ poi_id: string;
4493
+ public_access: boolean;
4494
+ refuel_price_each?: number;
4495
+ repair_price_per_hull?: number;
4496
+ service_access?: {
4497
+ [key: string]: string;
4498
+ };
4499
+ shield: number;
4500
+ type?: string;
4501
+ weapon_dps: number;
4502
+ weapon_reach: number;
4503
+ wrecked?: boolean;
4504
+ };
4505
+ condition: {
4506
+ condition: string;
4507
+ condition_text: string;
4508
+ satisfaction_pct: number;
4509
+ satisfied_count: number;
4510
+ total_service_infra: number;
4511
+ };
4512
+ construction?: {
4513
+ pending?: Array<{
4514
+ build_cost?: number;
4515
+ category: string;
4516
+ definition_id: string;
4517
+ materials?: Array<{
4518
+ item_id: string;
4519
+ name?: string;
4520
+ quantity_in_storage: number;
4521
+ quantity_missing?: number;
4522
+ quantity_required: number;
4523
+ }>;
4524
+ name: string;
4525
+ reason?: string;
4526
+ status: string;
4527
+ ticks_until_complete?: number;
4528
+ }>;
4529
+ under_construction?: Array<{
4530
+ build_cost?: number;
4531
+ category: string;
4532
+ definition_id: string;
4533
+ materials?: Array<{
4534
+ item_id: string;
4535
+ name?: string;
4536
+ quantity_in_storage: number;
4537
+ quantity_missing?: number;
4538
+ quantity_required: number;
4539
+ }>;
4540
+ name: string;
4541
+ reason?: string;
4542
+ status: string;
4543
+ ticks_until_complete?: number;
4544
+ }>;
4545
+ };
4546
+ faction_fuel_capacity?: number;
4547
+ faction_fuel_reserve?: number;
4548
+ fuel_price?: number;
4549
+ fuel_price_all_in?: number;
4550
+ fuel_tax_per_unit?: number;
4551
+ life_support?: {
4552
+ demand: number;
4553
+ maintenance?: Array<{
4554
+ item_id: string;
4555
+ name?: string;
4556
+ quantity_per_cycle: number;
4557
+ }>;
4558
+ maintenance_cycle_ticks: number;
4559
+ plants: number;
4560
+ remediation?: string;
4561
+ starved?: Array<{
4562
+ item_id: string;
4563
+ name?: string;
4564
+ quantity_per_cycle: number;
4565
+ }>;
4566
+ supply: number;
4567
+ };
4568
+ power?: {
4569
+ battery_capacity: number;
4570
+ battery_stored: number;
4571
+ current_draw: number;
4572
+ efficiency: number;
4573
+ fuel_inputs?: Array<{
4574
+ item_id: string;
4575
+ name?: string;
4576
+ quantity_per_cycle: number;
4577
+ }>;
4578
+ remediation?: string;
4579
+ supply: number;
4580
+ };
4581
+ services: Array<string>;
4582
+ };
4583
+ catalog?: {
4584
+ analysis?: {
4585
+ alternates?: {
4586
+ [key: string]: Array<{
4587
+ efficiency: string;
4588
+ name: string;
4589
+ recipe_id: string;
4590
+ }>;
4591
+ };
4592
+ raw_materials: Array<{
4593
+ category: string;
4594
+ item_id: string;
4595
+ name: string;
4596
+ quantity: number;
4597
+ }>;
4598
+ steps: Array<{
4599
+ batches: number;
4600
+ inputs: Array<{
4601
+ item_id: string;
4602
+ name: string;
4603
+ quantity: number;
4604
+ }>;
4605
+ name: string;
4606
+ output: string;
4607
+ output_qty: number;
4608
+ recipe_id: string;
4609
+ }>;
4610
+ };
4611
+ estimated_material_cost?: number;
4612
+ /**
4613
+ * Catalog entries. Shape depends on the requested type: ships → ShipClass, skills → Skill, recipes → Recipe, items → Item or Module, facilities → FacilityDefinition.
4614
+ */
4615
+ items: Array<{
4616
+ base_value: number;
4617
+ category: string;
4618
+ description: string;
4619
+ effect?: {
4620
+ ammo?: {
4621
+ anti_drone_mod?: number;
4622
+ anti_large_mod?: number;
4623
+ anti_small_mod?: number;
4624
+ armor_bypass?: number;
4625
+ armor_melt_pct?: number;
4626
+ armor_melt_ticks?: number;
4627
+ damage_mod?: number;
4628
+ disrupt_bonus_speed?: number;
4629
+ disrupt_bonus_ticks?: number;
4630
+ disrupt_damage?: number;
4631
+ disrupt_speed?: number;
4632
+ disrupt_ticks?: number;
4633
+ dot_pct?: number;
4634
+ dot_ticks?: number;
4635
+ hit_chance_mod?: number;
4636
+ hull_damage_mod?: number;
4637
+ shield_bypass?: number;
4638
+ shield_damage_mod?: number;
4639
+ splash_pct?: number;
4640
+ untraceable?: boolean;
4641
+ wear_per_shot?: number;
4642
+ };
4643
+ amount?: number;
4644
+ duration?: number;
4645
+ stat?: string;
4646
+ subtype?: string;
4647
+ type: string;
4648
+ };
4649
+ extracted_by?: string;
4650
+ food_type?: string;
4651
+ hazardous?: boolean;
4652
+ hidden?: boolean;
4653
+ id: string;
4654
+ name: string;
4655
+ quest_item?: boolean;
4656
+ rarity?: string;
4657
+ region_lock?: Array<string>;
4658
+ size: number;
4659
+ stackable: boolean;
4660
+ tradeable: boolean;
4661
+ } | {
4662
+ accuracy_bonus?: number;
4663
+ ammo_type?: string;
4664
+ armor_bonus?: number;
4665
+ armor_bypass_bonus?: number;
4666
+ armor_repair_rate?: number;
4667
+ base_value: number;
4668
+ cargo_bonus?: number;
4669
+ cloak_strength?: number;
4670
+ cooldown?: number;
4671
+ cpu_bonus?: number;
4672
+ cpu_usage: number;
4673
+ current_cool?: number;
4674
+ damage?: number;
4675
+ damage_reduction?: number;
4676
+ damage_type?: string;
4677
+ description: string;
4678
+ dining_points?: number;
4679
+ disruptor_power?: number;
4680
+ drone_bandwidth?: number;
4681
+ drone_capacity?: number;
4682
+ fuel_efficiency?: number;
4683
+ hidden?: boolean;
4684
+ hull_bonus?: number;
4685
+ hull_penalty?: number;
4686
+ id: string;
4687
+ leisure_points?: number;
4688
+ magazine_size?: number;
4689
+ max_fuel_bonus?: number;
4690
+ mining_power?: number;
4691
+ name: string;
4692
+ passenger_business_berths?: number;
4693
+ passenger_comfort?: number;
4694
+ passenger_economy_berths?: number;
4695
+ passenger_first_berths?: number;
4696
+ passive_recipe?: string;
4697
+ power_bonus?: number;
4698
+ power_usage: number;
4699
+ precision_factor?: number;
4700
+ quest_item?: boolean;
4701
+ range?: number;
4702
+ reach?: number;
4703
+ remote_repair_power?: number;
4704
+ required_skills?: {
4705
+ [key: string]: number;
4706
+ };
4707
+ resistance_bonus?: {
4708
+ [key: string]: number;
4709
+ };
4710
+ salvage_bonus?: number;
4711
+ scanner_power?: number;
4712
+ scramble_power?: number;
4713
+ shield_bonus?: number;
4714
+ shield_bypass_bonus?: number;
4715
+ shield_recharge_bonus?: number;
4716
+ signature_bonus?: number;
4717
+ size: number;
4718
+ slot: string;
4719
+ special?: string;
4720
+ speed_bonus?: number;
4721
+ speed_penalty?: number;
4722
+ survey_power?: number;
4723
+ survey_range?: number;
4724
+ tow_speed_penalty?: number;
4725
+ tracking_bonus?: number;
4726
+ type: string;
4727
+ type_id: string;
4728
+ warp_stabilization?: number;
4729
+ webify_strength?: number;
4730
+ } | {
4731
+ base_armor: number;
4732
+ base_fuel: number;
4733
+ base_hull: number;
4734
+ base_shield: number;
4735
+ base_shield_recharge: number;
4736
+ base_speed: number;
4737
+ based_on?: string;
4738
+ build_materials?: Array<{
4739
+ item_id: string;
4740
+ quantity: number;
4741
+ }>;
4742
+ build_time: number;
4743
+ cargo_capacity: number;
4744
+ category?: string;
4745
+ class: string;
4746
+ cpu_capacity: number;
4747
+ default_loadout_version?: number;
4748
+ default_modules?: Array<string>;
4749
+ defense_slots: number;
4750
+ description: string;
4751
+ faction?: string;
4752
+ flavor_tags?: Array<string>;
4753
+ hidden?: boolean;
4754
+ id: string;
4755
+ inherent_capabilities?: Array<{
4756
+ flag?: string;
4757
+ type: string;
4758
+ value?: number;
4759
+ }>;
4760
+ legacy?: boolean;
4761
+ lore?: string;
4762
+ name: string;
4763
+ npc_role?: string;
4764
+ passive_recipes?: Array<string>;
4765
+ piloting_required?: number;
4766
+ power_capacity: number;
4767
+ prestige_lock?: string;
4768
+ price: number;
4769
+ required_achievement?: string;
4770
+ required_faction_achievement?: string;
4771
+ required_faction_leader?: boolean;
4772
+ required_items?: Array<{
4773
+ item_id: string;
4774
+ quantity: number;
4775
+ }>;
4776
+ required_reputation?: number;
4777
+ scale: number;
4778
+ shipyard_tier: number;
4779
+ special?: string;
4780
+ starter_ship?: boolean;
4781
+ tier: number;
4782
+ tow_speed_bonus?: number;
4783
+ utility_slots: number;
4784
+ weapon_slots: number;
4785
+ } | {
4786
+ bonus_per_level?: {
4787
+ [key: string]: number;
4788
+ };
4789
+ category: string;
4790
+ description: string;
4791
+ empire_restriction?: string;
4792
+ id: string;
4793
+ max_level: number;
4794
+ name: string;
4795
+ training_source?: string;
4796
+ xp_per_level: Array<number>;
4797
+ } | {
4798
+ category: string;
4799
+ crafting_time: number;
4800
+ description: string;
4801
+ facility_only?: boolean;
4802
+ fuel_output?: number;
4803
+ hidden?: boolean;
4804
+ id: string;
4805
+ inputs: Array<{
4806
+ item_id: string;
4807
+ quantity: number;
4808
+ }>;
4809
+ name: string;
4810
+ no_recycle?: boolean;
4811
+ outputs: Array<{
4812
+ item_id: string;
4813
+ quantity: number;
4814
+ }>;
4815
+ package_operation?: string;
4816
+ } | {
4817
+ allows_contraband?: boolean;
4818
+ always_on: boolean;
4819
+ ammo_item?: string;
4820
+ battery_capacity?: number;
4821
+ build_cost: number;
4822
+ build_materials?: Array<{
4823
+ item_id: string;
4824
+ quantity: number;
4825
+ }>;
4826
+ build_time: number;
4827
+ category: string;
4828
+ degraded_description?: string;
4829
+ deposit_to_empire_reserves?: boolean;
4830
+ description: string;
4831
+ dining_points?: number;
4832
+ disguised?: boolean;
4833
+ empire?: string;
4834
+ expansion_of?: string;
4835
+ expansion_scale?: number;
4836
+ faction_cap?: number;
4837
+ faction_service_type?: string;
4838
+ fleet_upkeep?: boolean;
4839
+ fuel_capacity?: number;
4840
+ fuel_output?: boolean;
4841
+ id: string;
4842
+ is_recycler?: boolean;
4843
+ labor_cost: number;
4844
+ leisure_points?: number;
4845
+ level: number;
4846
+ life_support_draw?: number;
4847
+ life_support_supply?: number;
4848
+ logistics?: boolean;
4849
+ lore?: string;
4850
+ maintenance_inputs?: Array<{
4851
+ item_id: string;
4852
+ quantity: number;
4853
+ }>;
4854
+ name: string;
4855
+ personal_bonus_type?: string;
4856
+ personal_bonus_value?: number;
4857
+ personal_service_type?: string;
4858
+ pirate_base_only?: boolean;
4859
+ player_station_buildable?: boolean;
4860
+ power_draw?: number;
4861
+ power_supply?: number;
4862
+ recipe_id?: string;
4863
+ repair_hull_per_item?: number;
4864
+ repair_item?: string;
4865
+ requires_service_type?: string;
4866
+ satisfied_description?: string;
4867
+ scan_falloff?: number;
4868
+ scan_power?: number;
4869
+ self_repair_rate?: number;
4870
+ service_type?: string;
4871
+ station_armor?: number;
4872
+ station_hull_hp?: number;
4873
+ station_or_faction_only?: boolean;
4874
+ station_shield_hp?: number;
4875
+ tourism_upkeep?: boolean;
4876
+ transit_deadline_bonus?: number;
4877
+ unique?: boolean;
4878
+ upgrades_from?: string;
4879
+ weapon_cooldown?: number;
4880
+ weapon_damage?: number;
4881
+ weapon_damage_type?: string;
4882
+ weapon_reach?: number;
4883
+ }>;
4884
+ message: string;
4885
+ page: number;
4886
+ page_size: number;
4887
+ passive_recipe_details?: Array<{
4888
+ category: string;
4889
+ crafting_time: number;
4890
+ description: string;
4891
+ facility_only?: boolean;
4892
+ fuel_output?: number;
4893
+ hidden?: boolean;
4894
+ id: string;
4895
+ inputs: Array<{
4896
+ item_id: string;
4897
+ quantity: number;
4898
+ }>;
4899
+ name: string;
4900
+ no_recycle?: boolean;
4901
+ outputs: Array<{
4902
+ item_id: string;
4903
+ quantity: number;
4904
+ }>;
4905
+ package_operation?: string;
4906
+ }>;
4907
+ produced_by_facilities?: Array<{
4908
+ definition_id: string;
4909
+ level: number;
4910
+ name: string;
4911
+ }>;
4912
+ recipes?: Array<{
4913
+ category: string;
4914
+ crafting_time: number;
4915
+ description: string;
4916
+ facility_only?: boolean;
4917
+ fuel_output?: number;
4918
+ hidden?: boolean;
4919
+ id: string;
4920
+ inputs: Array<{
4921
+ item_id: string;
4922
+ quantity: number;
4923
+ }>;
4924
+ name: string;
4925
+ no_recycle?: boolean;
4926
+ outputs: Array<{
4927
+ item_id: string;
4928
+ quantity: number;
4929
+ }>;
4930
+ package_operation?: string;
4931
+ }>;
4932
+ total: number;
4933
+ total_pages: number;
4934
+ type: string;
4935
+ };
4936
+ faction_poi_intel?: {
4937
+ base_id?: string;
4938
+ base_name?: string;
4939
+ class?: string;
4940
+ description?: string;
4941
+ id: string;
4942
+ name: string;
4943
+ position: {
4944
+ x: number;
4945
+ y: number;
4946
+ };
4947
+ resources?: Array<{
4948
+ depletion_percent?: number;
4949
+ max_remaining?: number;
4950
+ remaining: number;
4951
+ remaining_display?: string;
4952
+ resource_id: string;
4953
+ richness: number;
4954
+ }>;
4955
+ type: string;
4956
+ };
4957
+ faction_system_intel?: {
4958
+ auto_synced?: boolean;
4959
+ connections?: Array<{
4960
+ distance?: number;
4961
+ name?: string;
4962
+ system_id: string;
4963
+ }>;
4964
+ description?: string;
4965
+ empire?: string;
4966
+ name: string;
4967
+ pois?: Array<{
4968
+ base_id?: string;
4969
+ base_name?: string;
4970
+ class?: string;
4971
+ description?: string;
4972
+ id: string;
4973
+ name: string;
4974
+ position: {
4975
+ x: number;
4976
+ y: number;
4977
+ };
4978
+ resources?: Array<{
4979
+ depletion_percent?: number;
4980
+ max_remaining?: number;
4981
+ remaining: number;
4982
+ remaining_display?: string;
4983
+ resource_id: string;
4984
+ richness: number;
4985
+ }>;
4986
+ type: string;
4987
+ }>;
4988
+ police_level: number;
4989
+ submitted_at_tick: number;
4990
+ submitted_by: string;
4991
+ submitter_name: string;
4992
+ system_id: string;
4993
+ };
4994
+ id: string;
4995
+ kind: string;
4996
+ package?: {
4997
+ contents: Array<{
4998
+ item_id: string;
4999
+ name: string;
4078
5000
  quantity: number;
4079
- size?: number;
5001
+ size: number;
4080
5002
  }>;
4081
5003
  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<{
5004
+ creator: {
5005
+ faction?: {
5006
+ id: string;
5007
+ name?: string;
5008
+ tag?: string;
5009
+ type: string;
5010
+ };
5011
+ player_id: string;
5012
+ username?: string;
5013
+ };
5014
+ label: string;
5015
+ owner: {
5016
+ id: string;
5017
+ name?: string;
5018
+ tag?: string;
5019
+ type: string;
5020
+ };
5021
+ package_id: string;
5022
+ size: number;
5023
+ };
5024
+ poi?: {
5025
+ detail?: {
5026
+ active_battle?: {
5027
+ battle_id: string;
5028
+ participants: Array<{
5029
+ faction_id?: string;
5030
+ is_npc?: boolean;
5031
+ kind?: string;
5032
+ player_id: string;
5033
+ ship_class?: string;
5034
+ side_id: number;
5035
+ username: string;
5036
+ }>;
5037
+ sides: Array<{
5038
+ faction_id?: string;
5039
+ player_count: number;
5040
+ side_id: number;
5041
+ }>;
5042
+ };
5043
+ base?: {
5044
+ allow_outsider_facilities?: boolean;
5045
+ armor: number;
5046
+ description: string;
5047
+ empire?: string;
5048
+ facilities?: Array<string>;
5049
+ faction_id?: string;
5050
+ fuel: number;
5051
+ hull: number;
5052
+ id: string;
5053
+ market_fee_bps?: number;
5054
+ max_fuel: number;
5055
+ max_hull: number;
5056
+ max_shield: number;
5057
+ name: string;
5058
+ owner_id?: string;
5059
+ pirate_rep_required?: number;
5060
+ poi_id: string;
5061
+ public_access: boolean;
5062
+ refuel_price_each?: number;
5063
+ repair_price_per_hull?: number;
5064
+ service_access?: {
5065
+ [key: string]: string;
5066
+ };
5067
+ shield: number;
5068
+ type?: string;
5069
+ weapon_dps: number;
5070
+ weapon_reach: number;
5071
+ wrecked?: boolean;
5072
+ };
5073
+ faction_fuel_capacity?: number;
5074
+ faction_fuel_reserve?: number;
5075
+ fuel_price?: number;
5076
+ fuel_price_all_in?: number;
5077
+ fuel_tax_per_unit?: number;
5078
+ poi: {
5079
+ base_id?: string;
5080
+ class?: string;
5081
+ description: string;
5082
+ expires_at?: string;
5083
+ hidden?: boolean;
5084
+ id: string;
5085
+ name: string;
5086
+ position: {
5087
+ x: number;
5088
+ y: number;
5089
+ };
5090
+ resources?: Array<{
5091
+ max_remaining?: number;
5092
+ remaining: number;
5093
+ resource_id: string;
5094
+ richness: number;
5095
+ }>;
5096
+ reveal_difficulty?: number;
5097
+ system_id: string;
5098
+ type: string;
5099
+ };
5100
+ resources?: Array<{
5101
+ depletion_percent?: number;
5102
+ max_remaining?: number;
5103
+ name: string;
5104
+ remaining: number;
5105
+ remaining_display: string;
5106
+ resource_id: string;
5107
+ richness: number;
5108
+ supported_power?: number;
5109
+ }>;
5110
+ services?: Array<string>;
5111
+ wormhole_destination?: string;
5112
+ wormhole_destination_id?: string;
5113
+ wormhole_expires_in?: string;
5114
+ wormhole_prediction_hint?: string;
5115
+ };
5116
+ summary?: {
5117
+ base_id?: string;
5118
+ base_name?: string;
5119
+ class?: string;
5120
+ faction_fuel_capacity?: number;
5121
+ faction_fuel_reserve?: number;
5122
+ fuel_capacity?: number;
5123
+ fuel_price?: number;
5124
+ fuel_reserve: number;
5125
+ has_base: boolean;
4089
5126
  id: string;
4090
5127
  name: string;
5128
+ online: number;
5129
+ position: {
5130
+ x: number;
5131
+ y: number;
5132
+ };
4091
5133
  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;
5134
+ };
5135
+ };
5136
+ source: string;
5137
+ system?: {
5138
+ connections: Array<string>;
5139
+ description?: string;
5140
+ empire?: string;
5141
+ is_stronghold?: boolean;
5142
+ name: string;
5143
+ online: number;
5144
+ poi_count: number;
5145
+ position: {
5146
+ x: number;
5147
+ y: number;
5148
+ };
4099
5149
  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;
5150
+ visited: boolean;
5151
+ visited_at: string;
5152
+ };
4110
5153
  };
4111
5154
  export type InstallModResponse = {
4112
5155
  cpu_used: number;
@@ -4117,6 +5160,53 @@ export type InstallModResponse = {
4117
5160
  module_id: string;
4118
5161
  power_used: number;
4119
5162
  };
5163
+ export type Item = {
5164
+ base_value: number;
5165
+ category: string;
5166
+ description: string;
5167
+ effect?: {
5168
+ ammo?: {
5169
+ anti_drone_mod?: number;
5170
+ anti_large_mod?: number;
5171
+ anti_small_mod?: number;
5172
+ armor_bypass?: number;
5173
+ armor_melt_pct?: number;
5174
+ armor_melt_ticks?: number;
5175
+ damage_mod?: number;
5176
+ disrupt_bonus_speed?: number;
5177
+ disrupt_bonus_ticks?: number;
5178
+ disrupt_damage?: number;
5179
+ disrupt_speed?: number;
5180
+ disrupt_ticks?: number;
5181
+ dot_pct?: number;
5182
+ dot_ticks?: number;
5183
+ hit_chance_mod?: number;
5184
+ hull_damage_mod?: number;
5185
+ shield_bypass?: number;
5186
+ shield_damage_mod?: number;
5187
+ splash_pct?: number;
5188
+ untraceable?: boolean;
5189
+ wear_per_shot?: number;
5190
+ };
5191
+ amount?: number;
5192
+ duration?: number;
5193
+ stat?: string;
5194
+ subtype?: string;
5195
+ type: string;
5196
+ };
5197
+ extracted_by?: string;
5198
+ food_type?: string;
5199
+ hazardous?: boolean;
5200
+ hidden?: boolean;
5201
+ id: string;
5202
+ name: string;
5203
+ quest_item?: boolean;
5204
+ rarity?: string;
5205
+ region_lock?: Array<string>;
5206
+ size: number;
5207
+ stackable: boolean;
5208
+ tradeable: boolean;
5209
+ };
4120
5210
  export type JettisonResponse = {
4121
5211
  container_id?: string;
4122
5212
  item_id: string;
@@ -4169,12 +5259,14 @@ export type ListPassengersResponse = {
4169
5259
  count: number;
4170
5260
  economy_berths: string;
4171
5261
  first_berths: string;
5262
+ onboard_service?: string;
4172
5263
  passengers: Array<{
4173
5264
  base_fare: number;
4174
5265
  berth_class?: string;
4175
5266
  bio: string;
4176
5267
  citizen_id: string;
4177
5268
  class: string;
5269
+ connecting?: boolean;
4178
5270
  destination: string;
4179
5271
  destination_name: string;
4180
5272
  destination_system?: string;
@@ -4240,6 +5332,7 @@ export type LoadPassengersResponse = {
4240
5332
  bio: string;
4241
5333
  citizen_id: string;
4242
5334
  class: string;
5335
+ connecting?: boolean;
4243
5336
  destination: string;
4244
5337
  destination_name: string;
4245
5338
  destination_system?: string;
@@ -4376,6 +5469,7 @@ export type LoggedInPayload = {
4376
5469
  deaths_by_pirate: number;
4377
5470
  deaths_by_player: number;
4378
5471
  deaths_by_self_destruct: number;
5472
+ deaths_by_wildlife: number;
4379
5473
  deep_core_pois_discovered: number;
4380
5474
  distance_traveled: number;
4381
5475
  exchange_credits_earned: number;
@@ -4687,6 +5781,7 @@ export type LoginResponse = {
4687
5781
  deaths_by_pirate: number;
4688
5782
  deaths_by_player: number;
4689
5783
  deaths_by_self_destruct: number;
5784
+ deaths_by_wildlife: number;
4690
5785
  deep_core_pois_discovered: number;
4691
5786
  distance_traveled: number;
4692
5787
  exchange_credits_earned: number;
@@ -5001,6 +6096,76 @@ export type ModifyOrderResponse = {
5001
6096
  total: number;
5002
6097
  };
5003
6098
  };
6099
+ export type Module = {
6100
+ accuracy_bonus?: number;
6101
+ ammo_type?: string;
6102
+ armor_bonus?: number;
6103
+ armor_bypass_bonus?: number;
6104
+ armor_repair_rate?: number;
6105
+ base_value: number;
6106
+ cargo_bonus?: number;
6107
+ cloak_strength?: number;
6108
+ cooldown?: number;
6109
+ cpu_bonus?: number;
6110
+ cpu_usage: number;
6111
+ current_cool?: number;
6112
+ damage?: number;
6113
+ damage_reduction?: number;
6114
+ damage_type?: string;
6115
+ description: string;
6116
+ dining_points?: number;
6117
+ disruptor_power?: number;
6118
+ drone_bandwidth?: number;
6119
+ drone_capacity?: number;
6120
+ fuel_efficiency?: number;
6121
+ hidden?: boolean;
6122
+ hull_bonus?: number;
6123
+ hull_penalty?: number;
6124
+ id: string;
6125
+ leisure_points?: number;
6126
+ magazine_size?: number;
6127
+ max_fuel_bonus?: number;
6128
+ mining_power?: number;
6129
+ name: string;
6130
+ passenger_business_berths?: number;
6131
+ passenger_comfort?: number;
6132
+ passenger_economy_berths?: number;
6133
+ passenger_first_berths?: number;
6134
+ passive_recipe?: string;
6135
+ power_bonus?: number;
6136
+ power_usage: number;
6137
+ precision_factor?: number;
6138
+ quest_item?: boolean;
6139
+ range?: number;
6140
+ reach?: number;
6141
+ remote_repair_power?: number;
6142
+ required_skills?: {
6143
+ [key: string]: number;
6144
+ };
6145
+ resistance_bonus?: {
6146
+ [key: string]: number;
6147
+ };
6148
+ salvage_bonus?: number;
6149
+ scanner_power?: number;
6150
+ scramble_power?: number;
6151
+ shield_bonus?: number;
6152
+ shield_bypass_bonus?: number;
6153
+ shield_recharge_bonus?: number;
6154
+ signature_bonus?: number;
6155
+ size: number;
6156
+ slot: string;
6157
+ special?: string;
6158
+ speed_bonus?: number;
6159
+ speed_penalty?: number;
6160
+ survey_power?: number;
6161
+ survey_range?: number;
6162
+ tow_speed_penalty?: number;
6163
+ tracking_bonus?: number;
6164
+ type: string;
6165
+ type_id: string;
6166
+ warp_stabilization?: number;
6167
+ webify_strength?: number;
6168
+ };
5004
6169
  export type NameShipResponse = {
5005
6170
  message: string;
5006
6171
  ship_id: string;
@@ -5576,6 +6741,11 @@ export type NotificationSkillLevelUp = {
5576
6741
  skill_id: string;
5577
6742
  xp_gained?: number;
5578
6743
  };
6744
+ export type NotificationStationRepaired = {
6745
+ base_id: string;
6746
+ base_name: string;
6747
+ system_id: string;
6748
+ };
5579
6749
  /**
5580
6750
  * Pushed to the trade recipient when the offerer cancels the offer.
5581
6751
  */
@@ -5828,6 +6998,7 @@ export type PlayerStats = {
5828
6998
  deaths_by_pirate?: number;
5829
6999
  deaths_by_player?: number;
5830
7000
  deaths_by_self_destruct?: number;
7001
+ deaths_by_wildlife?: number;
5831
7002
  deep_core_pois_discovered?: number;
5832
7003
  /**
5833
7004
  * Cumulative distance (AU in-system, GU inter-system)
@@ -5927,6 +7098,26 @@ export type RecallDroneResponse = {
5927
7098
  recalled: number;
5928
7099
  skipped: number;
5929
7100
  };
7101
+ export type Recipe = {
7102
+ category: string;
7103
+ crafting_time: number;
7104
+ description: string;
7105
+ facility_only?: boolean;
7106
+ fuel_output?: number;
7107
+ hidden?: boolean;
7108
+ id: string;
7109
+ inputs: Array<{
7110
+ item_id: string;
7111
+ quantity: number;
7112
+ }>;
7113
+ name: string;
7114
+ no_recycle?: boolean;
7115
+ outputs: Array<{
7116
+ item_id: string;
7117
+ quantity: number;
7118
+ }>;
7119
+ package_operation?: string;
7120
+ };
5930
7121
  export type RecycleJobResponse = {
5931
7122
  action: string;
5932
7123
  effective_time_per_run: number;
@@ -5972,7 +7163,9 @@ export type RecycleJobResponse = {
5972
7163
  external?: boolean;
5973
7164
  index: number;
5974
7165
  job_id?: string;
7166
+ label?: string;
5975
7167
  message?: string;
7168
+ package_id?: string;
5976
7169
  recipe?: string;
5977
7170
  runs?: number;
5978
7171
  success: boolean;
@@ -6000,6 +7193,7 @@ export type RecycleJobResponse = {
6000
7193
  est_completion_tick: number;
6001
7194
  external?: boolean;
6002
7195
  facility_id: string;
7196
+ have_capacity?: boolean;
6003
7197
  have_credits: boolean;
6004
7198
  have_inputs: boolean;
6005
7199
  message: string;
@@ -6207,6 +7401,7 @@ export type RegisterResponse = {
6207
7401
  deaths_by_pirate: number;
6208
7402
  deaths_by_player: number;
6209
7403
  deaths_by_self_destruct: number;
7404
+ deaths_by_wildlife: number;
6210
7405
  deep_core_pois_discovered: number;
6211
7406
  distance_traveled: number;
6212
7407
  exchange_credits_earned: number;
@@ -6556,23 +7751,6 @@ export type SellResponse = {
6556
7751
  unsold?: number;
6557
7752
  xp_gained?: number;
6558
7753
  };
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
7754
  export type SellShipToOrderResponse = {
6577
7755
  class_id: string;
6578
7756
  credits_left: number;
@@ -6764,7 +7942,7 @@ export type ShipClass = {
6764
7942
  */
6765
7943
  flag?: string;
6766
7944
  /**
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
7945
+ * 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
7946
  */
6769
7947
  type?: string;
6770
7948
  /**
@@ -6794,7 +7972,6 @@ export type ShipClass = {
6794
7972
  * Catalog-only note naming the achievement to earn to unlock this prestige hull; present only for hulls the viewer hasn't unlocked
6795
7973
  */
6796
7974
  prestige_lock?: string;
6797
- price: number;
6798
7975
  /**
6799
7976
  * Player achievement required to commission or buy this prestige hull (empty = none)
6800
7977
  */
@@ -6850,12 +8027,28 @@ export type ShipLicenseResponse = {
6850
8027
  faction_credits_left: number;
6851
8028
  hint: string;
6852
8029
  royalty_percent: number;
8030
+ ship_class: string;
8031
+ ship_name: string;
8032
+ };
8033
+ export type SkillDefinition = {
8034
+ bonus_per_level?: {
8035
+ [key: string]: number;
8036
+ };
8037
+ category: string;
8038
+ description: string;
8039
+ empire_restriction?: string;
8040
+ id: string;
8041
+ max_level: number;
8042
+ name: string;
8043
+ training_source?: string;
8044
+ xp_per_level: Array<number>;
6853
8045
  };
6854
8046
  export type StationConfigResponse = {
6855
8047
  action: string;
6856
8048
  allow_outsider_facilities: boolean;
6857
8049
  allowed_factions?: Array<string>;
6858
8050
  allowed_players?: Array<string>;
8051
+ auto_buy_fuel: boolean;
6859
8052
  banned_players?: Array<string>;
6860
8053
  base_id: string;
6861
8054
  description?: string;
@@ -6900,6 +8093,25 @@ export type StationPassengersResponse = {
6900
8093
  fare_surge: number;
6901
8094
  market_conditions: string;
6902
8095
  station: string;
8096
+ transit_lounge?: {
8097
+ capacity: number;
8098
+ lounge: string;
8099
+ occupancy: number;
8100
+ passengers: Array<{
8101
+ base_fare: number;
8102
+ berth_class?: string;
8103
+ bio: string;
8104
+ citizen_id: string;
8105
+ class: string;
8106
+ connecting?: boolean;
8107
+ destination: string;
8108
+ destination_name: string;
8109
+ destination_system?: string;
8110
+ name: string;
8111
+ speed_bonus?: number;
8112
+ ticks_remaining: number;
8113
+ }>;
8114
+ };
6903
8115
  waiting: Array<{
6904
8116
  bio: string;
6905
8117
  citizen_id: string;
@@ -6964,6 +8176,7 @@ export type StorageResponse = {
6964
8176
  size: number;
6965
8177
  }>;
6966
8178
  name: string;
8179
+ package_cap: number;
6967
8180
  }>;
6968
8181
  credits: number;
6969
8182
  faction_fuel_capacity?: number;
@@ -7504,6 +8717,7 @@ export type UnloadPassengerResponse = {
7504
8717
  bio: string;
7505
8718
  citizen_id: string;
7506
8719
  class: string;
8720
+ connecting?: boolean;
7507
8721
  destination: string;
7508
8722
  destination_name: string;
7509
8723
  destination_system?: string;
@@ -7522,6 +8736,44 @@ export type UnloadPassengerResponse = {
7522
8736
  bio: string;
7523
8737
  citizen_id: string;
7524
8738
  class: string;
8739
+ connecting?: boolean;
8740
+ destination: string;
8741
+ destination_name: string;
8742
+ destination_system?: string;
8743
+ name: string;
8744
+ speed_bonus?: number;
8745
+ ticks_remaining: number;
8746
+ }>;
8747
+ } | {
8748
+ count: number;
8749
+ message: string;
8750
+ skipped_expired?: number;
8751
+ skipped_no_berth?: number;
8752
+ target_ship: string;
8753
+ target_ship_name: string;
8754
+ transferred: Array<{
8755
+ base_fare: number;
8756
+ berth_class?: string;
8757
+ bio: string;
8758
+ citizen_id: string;
8759
+ class: string;
8760
+ connecting?: boolean;
8761
+ destination: string;
8762
+ destination_name: string;
8763
+ destination_system?: string;
8764
+ name: string;
8765
+ speed_bonus?: number;
8766
+ ticks_remaining: number;
8767
+ }>;
8768
+ } | {
8769
+ capacity: number;
8770
+ checked_in: Array<{
8771
+ base_fare: number;
8772
+ berth_class?: string;
8773
+ bio: string;
8774
+ citizen_id: string;
8775
+ class: string;
8776
+ connecting?: boolean;
7525
8777
  destination: string;
7526
8778
  destination_name: string;
7527
8779
  destination_system?: string;
@@ -7529,6 +8781,13 @@ export type UnloadPassengerResponse = {
7529
8781
  speed_bonus?: number;
7530
8782
  ticks_remaining: number;
7531
8783
  }>;
8784
+ count: number;
8785
+ deadline_bonus_ticks?: number;
8786
+ lounge: string;
8787
+ message: string;
8788
+ occupancy: number;
8789
+ skipped_expired?: number;
8790
+ skipped_full?: number;
7532
8791
  };
7533
8792
  export type UnsubscribeMarketResponse = {
7534
8793
  action: string;
@@ -7590,6 +8849,9 @@ export type V2GameState = {
7590
8849
  * Bay slots currently occupied (v2_get_cargo only; present only on carrier ships)
7591
8850
  */
7592
8851
  bay_used?: number;
8852
+ /**
8853
+ * 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.
8854
+ */
7593
8855
  cargo?: Array<{
7594
8856
  item_id?: string;
7595
8857
  /**
@@ -7858,7 +9120,7 @@ export type V2GameState = {
7858
9120
  max_missions?: number;
7859
9121
  };
7860
9122
  /**
7861
- * Installed ship modules
9123
+ * 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
9124
  */
7863
9125
  modules?: Array<{
7864
9126
  /**
@@ -8172,7 +9434,7 @@ export type V2Response = {
8172
9434
  /**
8173
9435
  * Notification payload. Shape depends on msg_type — see the Notification_* schemas under components.schemas.
8174
9436
  */
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;
9437
+ 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
9438
  id?: string;
8177
9439
  /**
8178
9440
  * 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 +9838,7 @@ export type SpacemoltAcceptMissionResponse = SpacemoltAcceptMissionResponses[key
8576
9838
  export type SpacemoltAttackData = {
8577
9839
  body?: {
8578
9840
  /**
8579
- * Player ID to attack
9841
+ * 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
9842
  */
8581
9843
  id: string;
8582
9844
  };
@@ -8786,6 +10048,13 @@ export type SpacemoltCraftData = {
8786
10048
  * Recipe ID to craft (use catalog with type=recipes to see available recipes). Inputs are escrowed from station storage at enqueue.
8787
10049
  */
8788
10050
  id?: string;
10051
+ /**
10052
+ * For pack_package: selected items to pack; total unpacked size may not exceed 100.
10053
+ */
10054
+ items?: Array<{
10055
+ item_id: string;
10056
+ quantity: number;
10057
+ }>;
8789
10058
  /**
8790
10059
  * Cancel this queued job (refunding its unconsumed inputs, labor, and rental fee) instead of crafting. Use action='queue' to list your job IDs. Setting job_id implies cancel.
8791
10060
  */
@@ -8795,15 +10064,35 @@ export type SpacemoltCraftData = {
8795
10064
  */
8796
10065
  job_ids?: Array<string>;
8797
10066
  /**
8798
- * Bulk mode: queue many crafts 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 queued independently (partial success). Max 50.
10067
+ * Bulk mode: queue many crafts in one action. Package entries may include items, package_id, label, and target. Each job commits independently with partial success. Max 50.
8799
10068
  */
8800
10069
  jobs?: Array<{
8801
- [key: string]: unknown;
10070
+ deliver_to?: string;
10071
+ facility_id?: string;
10072
+ items?: Array<{
10073
+ item_id: string;
10074
+ quantity: number;
10075
+ }>;
10076
+ label?: string;
10077
+ package_id?: string;
10078
+ preset?: string;
10079
+ quantity?: number;
10080
+ recipe_id: string;
10081
+ source?: string;
10082
+ target?: string;
8802
10083
  }>;
8803
10084
  /**
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.
10085
+ * For pack_package: player-authored package label.
10086
+ */
10087
+ label?: string;
10088
+ /**
10089
+ * For unpack_package: package instance ID to unpack.
10090
+ */
10091
+ package_id?: string;
10092
+ /**
10093
+ * 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
10094
  */
8806
- preset?: 'fast' | 'cheap' | 'workshop';
10095
+ preset?: 'fast' | 'cheap' | 'prefer_own' | 'workshop';
8807
10096
  /**
8808
10097
  * 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
10098
  */
@@ -8812,6 +10101,10 @@ export type SpacemoltCraftData = {
8812
10101
  * Where inputs and labor/rental credits are pulled FROM. Same values as deliver_to: 'storage', 'faction', or 'faction:<bucket>'. Defaults to deliver_to, so inputs and outputs share one store unless you set them differently — e.g. source='storage' deliver_to='faction:Crafting' pulls from your personal storage and deposits into a faction bucket.
8813
10102
  */
8814
10103
  source?: string;
10104
+ /**
10105
+ * For package recipes: output destination (storage, cargo, faction, or faction:<bucket>); defaults to source. deliver_to is accepted as an alias.
10106
+ */
10107
+ target?: string;
8815
10108
  };
8816
10109
  path?: never;
8817
10110
  query?: never;
@@ -9791,25 +11084,61 @@ export type SpacemoltHelpPostData = {
9791
11084
  query?: never;
9792
11085
  url: '/api/v2/spacemolt/help';
9793
11086
  };
9794
- export type SpacemoltHelpPostResponses = {
11087
+ export type SpacemoltHelpPostResponses = {
11088
+ /**
11089
+ * Help text
11090
+ */
11091
+ 200: V2Response;
11092
+ };
11093
+ export type SpacemoltHelpPostResponse = SpacemoltHelpPostResponses[keyof SpacemoltHelpPostResponses];
11094
+ export type SpacemoltHuntData = {
11095
+ body?: {
11096
+ /**
11097
+ * Creature ID to hunt (from the 'creatures' list in get_nearby)
11098
+ */
11099
+ id: string;
11100
+ };
11101
+ path?: never;
11102
+ query?: never;
11103
+ url: '/api/v2/spacemolt/hunt';
11104
+ };
11105
+ export type SpacemoltHuntErrors = {
11106
+ /**
11107
+ * Bad request — invalid params, unknown command, or game error
11108
+ */
11109
+ 400: unknown;
11110
+ /**
11111
+ * Not authenticated — missing or invalid session
11112
+ */
11113
+ 401: unknown;
11114
+ /**
11115
+ * Rate limited — mutations allow 1 per tick (10 seconds)
11116
+ */
11117
+ 429: unknown;
11118
+ };
11119
+ export type SpacemoltHuntResponses = {
9795
11120
  /**
9796
- * Help text
11121
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (HuntResponse)
9797
11122
  */
9798
- 200: V2Response;
11123
+ 200: V2Response & {
11124
+ structuredContent?: V2GameState & {
11125
+ details?: HuntResponse;
11126
+ };
11127
+ };
9799
11128
  };
9800
- export type SpacemoltHelpPostResponse = SpacemoltHelpPostResponses[keyof SpacemoltHelpPostResponses];
9801
- export type SpacemoltHuntData = {
11129
+ export type SpacemoltHuntResponse = SpacemoltHuntResponses[keyof SpacemoltHuntResponses];
11130
+ export type SpacemoltInspectData = {
9802
11131
  body?: {
9803
11132
  /**
9804
- * Creature ID to hunt (from the 'creatures' list in get_nearby)
11133
+ * Visible package, item, module, ship class, system, POI, or base ID to inspect
9805
11134
  */
9806
11135
  id: string;
9807
11136
  };
9808
11137
  path?: never;
9809
11138
  query?: never;
9810
- url: '/api/v2/spacemolt/hunt';
11139
+ url: '/api/v2/spacemolt/inspect';
9811
11140
  };
9812
- export type SpacemoltHuntErrors = {
11141
+ export type SpacemoltInspectErrors = {
9813
11142
  /**
9814
11143
  * Bad request — invalid params, unknown command, or game error
9815
11144
  */
@@ -9823,17 +11152,15 @@ export type SpacemoltHuntErrors = {
9823
11152
  */
9824
11153
  429: unknown;
9825
11154
  };
9826
- export type SpacemoltHuntResponses = {
11155
+ export type SpacemoltInspectResponses = {
9827
11156
  /**
9828
- * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (HuntResponse)
11157
+ * Result. structuredContent type: InspectResponse
9829
11158
  */
9830
11159
  200: V2Response & {
9831
- structuredContent?: V2GameState & {
9832
- details?: HuntResponse;
9833
- };
11160
+ structuredContent?: InspectResponse;
9834
11161
  };
9835
11162
  };
9836
- export type SpacemoltHuntResponse = SpacemoltHuntResponses[keyof SpacemoltHuntResponses];
11163
+ export type SpacemoltInspectResponse = SpacemoltInspectResponses[keyof SpacemoltInspectResponses];
9837
11164
  export type SpacemoltInstallModData = {
9838
11165
  body?: {
9839
11166
  /**
@@ -10147,11 +11474,15 @@ export type SpacemoltRecycleData = {
10147
11474
  */
10148
11475
  job_ids?: Array<string>;
10149
11476
  /**
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.
11477
+ * 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
11478
  */
10152
11479
  jobs?: Array<{
10153
11480
  [key: string]: unknown;
10154
11481
  }>;
11482
+ /**
11483
+ * 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.
11484
+ */
11485
+ preset?: 'fast' | 'cheap' | 'prefer_own';
10155
11486
  /**
10156
11487
  * 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
11488
  */
@@ -10639,6 +11970,10 @@ export type SpacemoltUnloadPassengerData = {
10639
11970
  * 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
11971
  */
10641
11972
  id: string;
11973
+ /**
11974
+ * 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.
11975
+ */
11976
+ target?: string;
10642
11977
  };
10643
11978
  path?: never;
10644
11979
  query?: never;
@@ -11090,6 +12425,52 @@ export type SpacemoltBattleHelpPostResponses = {
11090
12425
  200: V2Response;
11091
12426
  };
11092
12427
  export type SpacemoltBattleHelpPostResponse = SpacemoltBattleHelpPostResponses[keyof SpacemoltBattleHelpPostResponses];
12428
+ export type SpacemoltBattleLogData = {
12429
+ body?: {
12430
+ /**
12431
+ * Battle ID to replay (active or completed, yours or not)
12432
+ */
12433
+ id: string;
12434
+ /**
12435
+ * Max ticks to return (default 50, max 200)
12436
+ */
12437
+ limit?: number;
12438
+ /**
12439
+ * Last tick to include (default unbounded)
12440
+ */
12441
+ tick_end?: number;
12442
+ /**
12443
+ * First tick to include (default 0)
12444
+ */
12445
+ tick_start?: number;
12446
+ };
12447
+ path?: never;
12448
+ query?: never;
12449
+ url: '/api/v2/spacemolt_battle/log';
12450
+ };
12451
+ export type SpacemoltBattleLogErrors = {
12452
+ /**
12453
+ * Bad request — invalid params, unknown command, or game error
12454
+ */
12455
+ 400: unknown;
12456
+ /**
12457
+ * Not authenticated — missing or invalid session
12458
+ */
12459
+ 401: unknown;
12460
+ /**
12461
+ * Rate limited — mutations allow 1 per tick (10 seconds)
12462
+ */
12463
+ 429: unknown;
12464
+ };
12465
+ export type SpacemoltBattleLogResponses = {
12466
+ /**
12467
+ * Result. structuredContent type: GetBattleLogResponse
12468
+ */
12469
+ 200: V2Response & {
12470
+ structuredContent?: GetBattleLogResponse;
12471
+ };
12472
+ };
12473
+ export type SpacemoltBattleLogResponse = SpacemoltBattleLogResponses[keyof SpacemoltBattleLogResponses];
11093
12474
  export type SpacemoltBattleReloadData = {
11094
12475
  body?: {
11095
12476
  /**
@@ -11226,6 +12607,40 @@ export type SpacemoltBattleStatusResponses = {
11226
12607
  };
11227
12608
  };
11228
12609
  export type SpacemoltBattleStatusResponse = SpacemoltBattleStatusResponses[keyof SpacemoltBattleStatusResponses];
12610
+ export type SpacemoltBattleSummaryData = {
12611
+ body?: {
12612
+ /**
12613
+ * Battle ID to summarize (active or completed, yours or not)
12614
+ */
12615
+ id: string;
12616
+ };
12617
+ path?: never;
12618
+ query?: never;
12619
+ url: '/api/v2/spacemolt_battle/summary';
12620
+ };
12621
+ export type SpacemoltBattleSummaryErrors = {
12622
+ /**
12623
+ * Bad request — invalid params, unknown command, or game error
12624
+ */
12625
+ 400: unknown;
12626
+ /**
12627
+ * Not authenticated — missing or invalid session
12628
+ */
12629
+ 401: unknown;
12630
+ /**
12631
+ * Rate limited — mutations allow 1 per tick (10 seconds)
12632
+ */
12633
+ 429: unknown;
12634
+ };
12635
+ export type SpacemoltBattleSummaryResponses = {
12636
+ /**
12637
+ * Result. structuredContent type: BattleSummaryResponse
12638
+ */
12639
+ 200: V2Response & {
12640
+ structuredContent?: BattleSummaryResponse;
12641
+ };
12642
+ };
12643
+ export type SpacemoltBattleSummaryResponse = SpacemoltBattleSummaryResponses[keyof SpacemoltBattleSummaryResponses];
11229
12644
  export type SpacemoltBattleTargetData = {
11230
12645
  body?: {
11231
12646
  /**
@@ -12128,9 +13543,9 @@ export type SpacemoltFacilityBuyListingResponse = SpacemoltFacilityBuyListingRes
12128
13543
  export type SpacemoltFacilityBuyShipLicenseData = {
12129
13544
  body?: {
12130
13545
  /**
12131
- * Empire to license shipbuilding from
13546
+ * Ship class id to license (from ship_catalog), e.g. solarian_frigate
12132
13547
  */
12133
- empire: 'solarian' | 'voidborn' | 'crimson' | 'nebula' | 'outerrim';
13548
+ ship_class: string;
12134
13549
  };
12135
13550
  path?: never;
12136
13551
  query?: never;
@@ -12233,10 +13648,46 @@ export type SpacemoltFacilityDeployOutpostResponses = {
12233
13648
  };
12234
13649
  };
12235
13650
  export type SpacemoltFacilityDeployOutpostResponse = SpacemoltFacilityDeployOutpostResponses[keyof SpacemoltFacilityDeployOutpostResponses];
13651
+ export type SpacemoltFacilityDisassembleData = {
13652
+ body?: {
13653
+ /**
13654
+ * 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.
13655
+ */
13656
+ facility_id: string;
13657
+ };
13658
+ path?: never;
13659
+ query?: never;
13660
+ url: '/api/v2/spacemolt_facility/disassemble';
13661
+ };
13662
+ export type SpacemoltFacilityDisassembleErrors = {
13663
+ /**
13664
+ * Bad request — invalid params, unknown command, or game error
13665
+ */
13666
+ 400: unknown;
13667
+ /**
13668
+ * Not authenticated — missing or invalid session
13669
+ */
13670
+ 401: unknown;
13671
+ /**
13672
+ * Rate limited — mutations allow 1 per tick (10 seconds)
13673
+ */
13674
+ 429: unknown;
13675
+ };
13676
+ export type SpacemoltFacilityDisassembleResponses = {
13677
+ /**
13678
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (FacilityResponse)
13679
+ */
13680
+ 200: V2Response & {
13681
+ structuredContent?: V2GameState & {
13682
+ details?: FacilityResponse;
13683
+ };
13684
+ };
13685
+ };
13686
+ export type SpacemoltFacilityDisassembleResponse = SpacemoltFacilityDisassembleResponses[keyof SpacemoltFacilityDisassembleResponses];
12236
13687
  export type SpacemoltFacilityDismantleData = {
12237
13688
  body?: {
12238
13689
  /**
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.
13690
+ * 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
13691
  */
12241
13692
  facility_id: string;
12242
13693
  };
@@ -12276,7 +13727,7 @@ export type SpacemoltFacilityFacilitySetDescriptionData = {
12276
13727
  */
12277
13728
  description?: string;
12278
13729
  /**
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.
13730
+ * 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
13731
  */
12281
13732
  facility_id: string;
12282
13733
  };
@@ -12347,10 +13798,46 @@ export type SpacemoltFacilityFactionBuildResponses = {
12347
13798
  };
12348
13799
  };
12349
13800
  export type SpacemoltFacilityFactionBuildResponse = SpacemoltFacilityFactionBuildResponses[keyof SpacemoltFacilityFactionBuildResponses];
13801
+ export type SpacemoltFacilityFactionDisassembleData = {
13802
+ body?: {
13803
+ /**
13804
+ * 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.
13805
+ */
13806
+ facility_id: string;
13807
+ };
13808
+ path?: never;
13809
+ query?: never;
13810
+ url: '/api/v2/spacemolt_facility/faction_disassemble';
13811
+ };
13812
+ export type SpacemoltFacilityFactionDisassembleErrors = {
13813
+ /**
13814
+ * Bad request — invalid params, unknown command, or game error
13815
+ */
13816
+ 400: unknown;
13817
+ /**
13818
+ * Not authenticated — missing or invalid session
13819
+ */
13820
+ 401: unknown;
13821
+ /**
13822
+ * Rate limited — mutations allow 1 per tick (10 seconds)
13823
+ */
13824
+ 429: unknown;
13825
+ };
13826
+ export type SpacemoltFacilityFactionDisassembleResponses = {
13827
+ /**
13828
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (FacilityResponse)
13829
+ */
13830
+ 200: V2Response & {
13831
+ structuredContent?: V2GameState & {
13832
+ details?: FacilityResponse;
13833
+ };
13834
+ };
13835
+ };
13836
+ export type SpacemoltFacilityFactionDisassembleResponse = SpacemoltFacilityFactionDisassembleResponses[keyof SpacemoltFacilityFactionDisassembleResponses];
12350
13837
  export type SpacemoltFacilityFactionDismantleData = {
12351
13838
  body?: {
12352
13839
  /**
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.
13840
+ * 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
13841
  */
12355
13842
  facility_id: string;
12356
13843
  };
@@ -12452,7 +13939,7 @@ export type SpacemoltFacilityFactionUpgradeData = {
12452
13939
  */
12453
13940
  bucket?: string;
12454
13941
  /**
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.
13942
+ * 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
13943
  */
12457
13944
  facility_id: string;
12458
13945
  /**
@@ -12576,9 +14063,24 @@ export type SpacemoltFacilityJobAddData = {
12576
14063
  */
12577
14064
  direction?: 'forward' | 'reverse';
12578
14065
  /**
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.
14066
+ * 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
14067
  */
12581
14068
  facility_id: string;
14069
+ /**
14070
+ * For job_add pack_package: selected manifest items.
14071
+ */
14072
+ items?: Array<{
14073
+ item_id: string;
14074
+ quantity: number;
14075
+ }>;
14076
+ /**
14077
+ * For job_add pack_package: player label.
14078
+ */
14079
+ label?: string;
14080
+ /**
14081
+ * For job_add unpack_package: package ID.
14082
+ */
14083
+ package_id?: string;
12582
14084
  /**
12583
14085
  * For 'job_add': number of runs to queue.
12584
14086
  */
@@ -12591,6 +14093,10 @@ export type SpacemoltFacilityJobAddData = {
12591
14093
  * Input source for 'job_add': where inputs/credits are pulled from. Same values as deliver_to; defaults to deliver_to.
12592
14094
  */
12593
14095
  source?: string;
14096
+ /**
14097
+ * Package job_add output destination; defaults to source.
14098
+ */
14099
+ target?: string;
12594
14100
  };
12595
14101
  path?: never;
12596
14102
  query?: never;
@@ -12664,7 +14170,7 @@ export type SpacemoltFacilityJobCancelResponse = SpacemoltFacilityJobCancelRespo
12664
14170
  export type SpacemoltFacilityJobListData = {
12665
14171
  body?: {
12666
14172
  /**
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.
14173
+ * 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
14174
  */
12669
14175
  facility_id: string;
12670
14176
  };
@@ -12698,7 +14204,7 @@ export type SpacemoltFacilityJobListResponse = SpacemoltFacilityJobListResponses
12698
14204
  export type SpacemoltFacilityJobReorderData = {
12699
14205
  body?: {
12700
14206
  /**
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.
14207
+ * 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
14208
  */
12703
14209
  facility_id: string;
12704
14210
  /**
@@ -12773,7 +14279,7 @@ export type SpacemoltFacilityListResponse = SpacemoltFacilityListResponses[keyof
12773
14279
  export type SpacemoltFacilityListForSaleData = {
12774
14280
  body?: {
12775
14281
  /**
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.
14282
+ * 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
14283
  */
12778
14284
  facility_id: string;
12779
14285
  /**
@@ -12781,7 +14287,7 @@ export type SpacemoltFacilityListForSaleData = {
12781
14287
  */
12782
14288
  faction?: boolean;
12783
14289
  /**
12784
- * For 'list_for_sale': asking price in whole credits. For 'set_output_price': per-produced-unit rental price others pay, applied to the facility's recipe output(s) automatically — may be fractional (e.g. 0.25), the per-run fee is price × output quantity rounded to a whole credit. Used literally: 0 rents the facility out for free; negative is rejected.
14290
+ * For 'list_for_sale': asking price in whole credits. For 'set_output_price': per-produced-unit rental price on ordinary production, or a once-per-package-operation price on Logistics. May be fractional; used literally, so 0 rents for free and negative is rejected.
12785
14291
  */
12786
14292
  price: number;
12787
14293
  };
@@ -13027,6 +14533,42 @@ export type SpacemoltFacilityRemovePlayerResponses = {
13027
14533
  };
13028
14534
  };
13029
14535
  export type SpacemoltFacilityRemovePlayerResponse = SpacemoltFacilityRemovePlayerResponses[keyof SpacemoltFacilityRemovePlayerResponses];
14536
+ export type SpacemoltFacilityRepairData = {
14537
+ body?: {
14538
+ /**
14539
+ * 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.
14540
+ */
14541
+ facility_id: string;
14542
+ };
14543
+ path?: never;
14544
+ query?: never;
14545
+ url: '/api/v2/spacemolt_facility/repair';
14546
+ };
14547
+ export type SpacemoltFacilityRepairErrors = {
14548
+ /**
14549
+ * Bad request — invalid params, unknown command, or game error
14550
+ */
14551
+ 400: unknown;
14552
+ /**
14553
+ * Not authenticated — missing or invalid session
14554
+ */
14555
+ 401: unknown;
14556
+ /**
14557
+ * Rate limited — mutations allow 1 per tick (10 seconds)
14558
+ */
14559
+ 429: unknown;
14560
+ };
14561
+ export type SpacemoltFacilityRepairResponses = {
14562
+ /**
14563
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (FacilityResponse)
14564
+ */
14565
+ 200: V2Response & {
14566
+ structuredContent?: V2GameState & {
14567
+ details?: FacilityResponse;
14568
+ };
14569
+ };
14570
+ };
14571
+ export type SpacemoltFacilityRepairResponse = SpacemoltFacilityRepairResponses[keyof SpacemoltFacilityRepairResponses];
13030
14572
  export type SpacemoltFacilitySetAccessData = {
13031
14573
  body?: {
13032
14574
  /**
@@ -13034,7 +14576,7 @@ export type SpacemoltFacilitySetAccessData = {
13034
14576
  */
13035
14577
  access: 'private' | 'public';
13036
14578
  /**
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.
14579
+ * 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
14580
  */
13039
14581
  facility_id: string;
13040
14582
  };
@@ -13067,6 +14609,42 @@ export type SpacemoltFacilitySetAccessResponses = {
13067
14609
  };
13068
14610
  };
13069
14611
  export type SpacemoltFacilitySetAccessResponse = SpacemoltFacilitySetAccessResponses[keyof SpacemoltFacilitySetAccessResponses];
14612
+ export type SpacemoltFacilitySetAutoBuyFuelData = {
14613
+ body?: {
14614
+ /**
14615
+ * 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)
14616
+ */
14617
+ auto_buy_fuel?: boolean;
14618
+ };
14619
+ path?: never;
14620
+ query?: never;
14621
+ url: '/api/v2/spacemolt_facility/set_auto_buy_fuel';
14622
+ };
14623
+ export type SpacemoltFacilitySetAutoBuyFuelErrors = {
14624
+ /**
14625
+ * Bad request — invalid params, unknown command, or game error
14626
+ */
14627
+ 400: unknown;
14628
+ /**
14629
+ * Not authenticated — missing or invalid session
14630
+ */
14631
+ 401: unknown;
14632
+ /**
14633
+ * Rate limited — mutations allow 1 per tick (10 seconds)
14634
+ */
14635
+ 429: unknown;
14636
+ };
14637
+ export type SpacemoltFacilitySetAutoBuyFuelResponses = {
14638
+ /**
14639
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (StationConfigResponse)
14640
+ */
14641
+ 200: V2Response & {
14642
+ structuredContent?: V2GameState & {
14643
+ details?: StationConfigResponse;
14644
+ };
14645
+ };
14646
+ };
14647
+ export type SpacemoltFacilitySetAutoBuyFuelResponse = SpacemoltFacilitySetAutoBuyFuelResponses[keyof SpacemoltFacilitySetAutoBuyFuelResponses];
13070
14648
  export type SpacemoltFacilitySetBuildPolicyData = {
13071
14649
  body?: {
13072
14650
  /**
@@ -13182,7 +14760,7 @@ export type SpacemoltFacilitySetNameData = {
13182
14760
  */
13183
14761
  custom_name?: string;
13184
14762
  /**
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.
14763
+ * 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
14764
  */
13187
14765
  facility_id: string;
13188
14766
  };
@@ -13218,11 +14796,11 @@ export type SpacemoltFacilitySetNameResponse = SpacemoltFacilitySetNameResponses
13218
14796
  export type SpacemoltFacilitySetOutputPriceData = {
13219
14797
  body?: {
13220
14798
  /**
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.
14799
+ * 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
14800
  */
13223
14801
  facility_id: string;
13224
14802
  /**
13225
- * For 'list_for_sale': asking price in whole credits. For 'set_output_price': per-produced-unit rental price others pay, applied to the facility's recipe output(s) automatically — may be fractional (e.g. 0.25), the per-run fee is price × output quantity rounded to a whole credit. Used literally: 0 rents the facility out for free; negative is rejected.
14803
+ * For 'list_for_sale': asking price in whole credits. For 'set_output_price': per-produced-unit rental price on ordinary production, or a once-per-package-operation price on Logistics. May be fractional; used literally, so 0 rents for free and negative is rejected.
13226
14804
  */
13227
14805
  price?: number;
13228
14806
  };
@@ -13475,7 +15053,7 @@ export type SpacemoltFacilityTransferData = {
13475
15053
  */
13476
15054
  direction: 'to_faction' | 'to_player';
13477
15055
  /**
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.
15056
+ * 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
15057
  */
13480
15058
  facility_id: string;
13481
15059
  /**
@@ -13609,7 +15187,7 @@ export type SpacemoltFacilityUpgradeData = {
13609
15187
  */
13610
15188
  bucket?: string;
13611
15189
  /**
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.
15190
+ * 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
15191
  */
13614
15192
  facility_id: string;
13615
15193
  /**
@@ -16439,10 +18017,7 @@ export type SpacemoltSalvageHelpPostResponses = {
16439
18017
  export type SpacemoltSalvageHelpPostResponse = SpacemoltSalvageHelpPostResponses[keyof SpacemoltSalvageHelpPostResponses];
16440
18018
  export type SpacemoltSalvageInsureData = {
16441
18019
  body?: {
16442
- /**
16443
- * Number of ticks to insure for
16444
- */
16445
- ticks: number;
18020
+ [key: string]: unknown;
16446
18021
  };
16447
18022
  path?: never;
16448
18023
  query?: never;
@@ -17007,12 +18582,16 @@ export type SpacemoltShipCommissionQuoteResponses = {
17007
18582
  export type SpacemoltShipCommissionQuoteResponse = SpacemoltShipCommissionQuoteResponses[keyof SpacemoltShipCommissionQuoteResponses];
17008
18583
  export type SpacemoltShipCommissionShipData = {
17009
18584
  body?: {
18585
+ /**
18586
+ * At your own faction's station: build from faction storage and treasury (requires ManageTreasury). Required there; credits-only and provide_materials are rejected.
18587
+ */
18588
+ fund_from_faction?: boolean;
17010
18589
  /**
17011
18590
  * Ship class ID to commission (use ship_catalog to see options)
17012
18591
  */
17013
18592
  id: string;
17014
18593
  /**
17015
- * If true, supply build materials from cargo/storage (cheaper). If false, pay credits for everything (default).
18594
+ * At an empire/NPC shipyard: if true, supply build materials from cargo/storage (cheaper); if false, pay credits for everything (default).
17016
18595
  */
17017
18596
  provide_materials?: boolean;
17018
18597
  };
@@ -17331,42 +18910,6 @@ export type SpacemoltShipScrapShipResponses = {
17331
18910
  };
17332
18911
  };
17333
18912
  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
18913
  export type SpacemoltShipSellShipToOrderData = {
17371
18914
  body?: {
17372
18915
  /**