@spacemolt/lib 16.1.0 → 16.3.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.
@@ -1,4 +1,8 @@
1
1
  export type AbandonMissionResponse = {
2
+ /**
3
+ * Shared fixer-network account in credits after abandonment. Omission means this response has no account snapshot.
4
+ */
5
+ fixer?: FixerAccountInfo;
2
6
  message: string;
3
7
  mission_id: string;
4
8
  title: string;
@@ -7,6 +11,10 @@ export type AcceptMissionResponse = {
7
11
  auto_docked?: boolean;
8
12
  auto_undocked?: boolean;
9
13
  expires_at: string;
14
+ /**
15
+ * Shared fixer-network account in credits after acceptance. Omission means this response has no account snapshot.
16
+ */
17
+ fixer?: FixerAccountInfo;
10
18
  message: string;
11
19
  mission_id: string;
12
20
  replacement_cost?: number;
@@ -103,7 +111,15 @@ export type ActiveMissionInfo = {
103
111
  mission_id: string;
104
112
  objectives?: Array<ObjectiveProgressInfo>;
105
113
  percent_complete: number;
114
+ /**
115
+ * Maximum debt reduction in credits on successful restitution completion. Actual relief is capped at outstanding debt then. Omitted for non-restitution missions.
116
+ */
117
+ restitution_relief?: number;
106
118
  rewards: MissionRewardsInfo;
119
+ /**
120
+ * True requires objectives in listed order; only the first incomplete objective advances. False or omission uses normal independent objectives.
121
+ */
122
+ sequential_objectives?: boolean;
107
123
  template_id?: string;
108
124
  title: string;
109
125
  type: string;
@@ -921,6 +937,10 @@ export type Base = {
921
937
  */
922
938
  wrecked_tick?: number;
923
939
  };
940
+ /**
941
+ * Custom banned item IDs for player-owned stations and mobile bases. Null uses default rules; an empty array allows all items. Empire customs remain unchanged.
942
+ */
943
+ contraband_items?: Array<string> | null;
924
944
  description?: string;
925
945
  empire?: string;
926
946
  facilities?: Array<string>;
@@ -2521,6 +2541,14 @@ export type CompleteMissionResponse = {
2521
2541
  credits_earned: number;
2522
2542
  credits_promised?: number;
2523
2543
  credits_shortfall?: number;
2544
+ /**
2545
+ * Actual fixer debt reduction in credits from this completion. Capped at outstanding debt before completion. Omitted when zero. This is not a cash reward.
2546
+ */
2547
+ debt_repaid?: number;
2548
+ /**
2549
+ * Shared fixer-network account in credits after completion. Omission means this response has no account snapshot.
2550
+ */
2551
+ fixer?: FixerAccountInfo;
2524
2552
  items_received?: {
2525
2553
  [key: string]: number;
2526
2554
  };
@@ -3362,55 +3390,157 @@ export type FacilityDismantleResponse = {
3362
3390
  ticks_to_complete: number;
3363
3391
  };
3364
3392
  export type FacilityEntry = {
3393
+ /**
3394
+ * Personal bonus the owner gets while docked at this station: workshop_speed, drone_bandwidth or market_fee_discount. Omitted when the facility gives no personal bonus. See bonus_value for the size.
3395
+ */
3365
3396
  bonus_type?: string;
3397
+ /**
3398
+ * Size of bonus_type: workshop_speed is a percent added to Station Workshop crafting speed, drone_bandwidth is extra drone bandwidth units and market_fee_discount is a percent taken off market listing fees. Only one facility per bonus type counts per station. Omitted when bonus_type is omitted.
3399
+ */
3366
3400
  bonus_value?: number;
3401
+ /**
3402
+ * Service limit of this faction facility tier. Its meaning depends on faction_service: max quantity per item type for faction_storage and faction_storage_extension, member cap for faction_recruitment, max active listings for faction_market and faction_company_store, max active postings for faction_missions, max rooms for faction_commons, max ships for faction_ship_garage and max held passengers for faction_transit. Present only on faction_facilities entries; omitted (0) when the type sets no limit.
3403
+ */
3367
3404
  capacity?: number;
3405
+ /**
3406
+ * Facility category: service, infrastructure, production, faction, personal, defense or ranch. Always present. For a disguised facility viewed by an outsider, this is the disguise's category, not the facility's real category.
3407
+ */
3368
3408
  category: string;
3409
+ /**
3410
+ * Name the owner gave this facility, to tell apart several of the same type. Omitted when no name is set, and always withheld for a disguised facility seen from outside the owning faction.
3411
+ */
3369
3412
  custom_name?: string;
3413
+ /**
3414
+ * True when the facility was knocked out when the station was wrecked in battle. A damaged facility does nothing and bills no rent until repaired (facility action repair). The station rebuilds the facilities it owns itself. Omitted means false.
3415
+ */
3370
3416
  damaged?: boolean;
3417
+ /**
3418
+ * Flavor text. For a facility with upkeep it adds a satisfied or degraded line that matches maintenance_satisfied. An owner-written description replaces the text, and a disguised facility seen from outside shows its cover description. Can be an empty string.
3419
+ */
3371
3420
  description: string;
3421
+ /**
3422
+ * Dining appeal this facility adds to the station's tourism score, scaled down by how well its upkeep is supplied. Citizens who weigh dining pick stations with more of it. Omitted (0) for facilities that are not dining venues.
3423
+ */
3372
3424
  dining_points?: number;
3373
3425
  /**
3374
3426
  * True while dismantling is in progress; omitted means false. No rent is billed while dismantling and the facility is removed when dismantling completes.
3375
3427
  */
3376
3428
  dismantling?: boolean;
3429
+ /**
3430
+ * ID of this facility instance (32 hex characters). Pass it as facility_id to facility actions such as repair and dismantle. Unique per built facility, not per facility type.
3431
+ */
3377
3432
  facility_id: string;
3433
+ /**
3434
+ * Crew this personnel reserve tier can hold for the owning faction at this station. Only the highest operational tier at the station counts; capacities do not add up. Omitted (0) for facilities that are not a faction personnel reserve, and withheld for a disguised facility seen from outside.
3435
+ */
3378
3436
  faction_crew_capacity?: number;
3437
+ /**
3438
+ * ID of the faction that owns this facility. Present on faction_facilities, ally_facilities and faction-owned public_facilities entries; withheld for a disguised facility seen from outside. Omitted on station_facilities, player_facilities and player-owned public entries.
3439
+ */
3379
3440
  faction_id?: string;
3441
+ /**
3442
+ * Marines this personnel reserve tier can hold for the owning faction at this station. Only the highest operational tier at the station counts; capacities do not add up. Omitted (0) for facilities that are not a faction personnel reserve, and withheld for a disguised facility seen from outside.
3443
+ */
3380
3444
  faction_marine_capacity?: number;
3445
+ /**
3446
+ * Treatment units this tier's private medical pool holds for the owning faction at this station. Only the highest operational medical tier at the station counts. Omitted (0) for facilities that are not a faction medical facility, and withheld for a disguised facility seen from outside.
3447
+ */
3381
3448
  faction_medical_capacity?: number;
3449
+ /**
3450
+ * Treatment units this medical tier restores to the faction pool each facility cycle (100 ticks), up to faction_medical_capacity, by consuming faction_medical_supply_item from the faction's storage at this station. A partial supply gives a partial refill. Omitted (0) together with faction_medical_capacity.
3451
+ */
3382
3452
  faction_medical_refill_per_cycle?: number;
3453
+ /**
3454
+ * Item ID the medical pool consumes from the faction's storage at this station to refill (for example medical_supplies). Omitted together with faction_medical_capacity.
3455
+ */
3383
3456
  faction_medical_supply_item?: string;
3457
+ /**
3458
+ * Faction service this facility provides to members of the owning faction, for example faction_storage, faction_recruitment, faction_market, faction_missions, faction_commons, faction_ship_garage, faction_transit, faction_personnel_reserve or faction_medical. Omitted for non-faction facilities and withheld for a disguised facility seen from outside.
3459
+ */
3384
3460
  faction_service?: string;
3461
+ /**
3462
+ * True for a recycler, which runs reverse jobs that break a recipe's outputs back into some of its inputs; you choose the recipe per job. Omitted means false.
3463
+ */
3385
3464
  is_recycler?: boolean;
3386
3465
  /**
3387
3466
  * Credits of labor this facility pays per facility cycle (100 ticks). Present only alongside maintenance_per_cycle; omitted when zero. A tourism venue's labor scales with its recent paying footfall but never drops below 15 percent of its declared labor.
3388
3467
  */
3389
3468
  labor_per_cycle?: number;
3469
+ /**
3470
+ * Leisure appeal this facility adds to the station's tourism score, scaled down by how well its upkeep is supplied. Citizens who weigh leisure pick stations with more of it. Omitted (0) for facilities that are not leisure venues.
3471
+ */
3390
3472
  leisure_points?: number;
3473
+ /**
3474
+ * Tier of this facility definition, from 1 upward. Each tier is a separate type; a higher tier replaces a lower one when you upgrade. Production throughput triples with each level.
3475
+ */
3391
3476
  level: number;
3477
+ /**
3478
+ * Value-weighted fraction of this cycle's upkeep that storage covered, from 0 to 1 (1 means fully supplied). Present exactly when maintenance_satisfied is present. Dining and leisure venues earn this fraction of their tourism income; other facilities need full supply for their benefit.
3479
+ */
3392
3480
  maintenance_level?: number;
3393
3481
  /**
3394
3482
  * Item stock this station-run facility must hold each facility cycle (100 ticks) to count as fully supplied. Present only for fleet depots and dining/leisure venues (tourism_upkeep); omitted otherwise. A tourism venue's figure scales with recent paying footfall and never drops below 15 percent of its declared menu (at least one of each item); it burns its paying guests' share of its declared menu — about the whole listed stock in a busy cycle and nothing in a cycle no guest paid for.
3395
3483
  */
3396
3484
  maintenance_per_cycle?: Array<ItemQuantity>;
3485
+ /**
3486
+ * Whether the facility's upkeep was fully supplied in its last facility cycle (100 ticks). Present only for facilities with upkeep: service, infrastructure, defense and ranch categories, not recyclers. Omitted for production, faction-category and personal facilities.
3487
+ */
3397
3488
  maintenance_satisfied?: boolean;
3489
+ /**
3490
+ * Facility cycles of rent currently unpaid. Arrears owed for this facility equal rent_per_cycle times missed_rent_cycles. The station repossesses the facility when this reaches the grace_cycles in player_rent or faction_rent. Present only on player_facilities and faction_facilities entries; omitted means 0.
3491
+ */
3398
3492
  missed_rent_cycles?: number;
3493
+ /**
3494
+ * Display name of the facility type. For a disguised facility seen from outside the owning faction, this is the cover name instead.
3495
+ */
3399
3496
  name: string;
3497
+ /**
3498
+ * Player ID of the owner of a player-owned facility: you on player_facilities, another player on public_facilities. Omitted for station-owned and faction-owned facilities.
3499
+ */
3400
3500
  owner_id?: string;
3501
+ /**
3502
+ * Personal service this facility provides to its owner: quarters, workshop, drone_control or trader_office. Omitted for non-personal facilities.
3503
+ */
3401
3504
  personal_service?: string;
3505
+ /**
3506
+ * True when this production facility or recycler sits at a station whose power efficiency is below 1, which stretches its crafting time. Keep the station's power plants fueled to clear it. Omitted means false.
3507
+ */
3402
3508
  power_throttled?: boolean;
3509
+ /**
3510
+ * Throughput, queue backlog and rental price, to decide whether to queue or rent here. Present only for production facilities (including Logistics) and recyclers; omitted for every other facility.
3511
+ */
3403
3512
  production?: FacilityProduction;
3513
+ /**
3514
+ * Recipe ID this production facility runs on every job. Omitted for non-production facilities, recyclers (which choose a recipe per job) and Logistics facilities (which run package operations).
3515
+ */
3404
3516
  recipe_id?: string;
3517
+ /**
3518
+ * Game tick through which this facility's rent is settled. It starts when construction completes or the facility changes hands and moves to the billing tick each facility cycle that clears all owed rent, so it stops moving while missed_rent_cycles is above 0. Present only on player_facilities and faction_facilities entries; omitted (0) elsewhere.
3519
+ */
3405
3520
  rent_paid_until_tick?: number;
3406
3521
  /**
3407
3522
  * Stored rent rate in credits per facility cycle (100 ticks). Visible only for your or your faction's facilities; omitted means zero or not disclosed. No rent is billed while damaged or under_construction or dismantling. The stored rate applies after repair or construction subject to repricing. Legacy inactive facilities remain billable.
3408
3523
  */
3409
3524
  rent_per_cycle?: number;
3525
+ /**
3526
+ * Game tick when the repair or the station's own rebuild of this damaged facility finishes, rounded up to a facility cycle boundary. Omitted (0) when no repair is under way.
3527
+ */
3410
3528
  repair_complete_tick?: number;
3529
+ /**
3530
+ * Station service this facility provides to everyone docked here, for example market, repair, refuel, shipyard, storage, crafting, missions, salvage_yard, personnel, marine_training, medical or police. Omitted when the facility provides no station service.
3531
+ */
3411
3532
  service?: string;
3533
+ /**
3534
+ * True for a dining or leisure venue whose upkeep stock and labor scale with recent paying guests instead of a fixed bill; see maintenance_per_cycle and labor_per_cycle. Omitted means false.
3535
+ */
3412
3536
  tourism_upkeep?: boolean;
3537
+ /**
3538
+ * Facility definition ID (for example crew_bunk or algae_cultivation_tank); look it up with facility action types. Empty string for a disguised facility listed to someone outside the owning faction, because the real type would reveal it.
3539
+ */
3413
3540
  type: string;
3541
+ /**
3542
+ * True while the facility is still being built; it does nothing and bills no rent until done. Omitted means false. A built facility has no on/off state.
3543
+ */
3414
3544
  under_construction?: boolean;
3415
3545
  };
3416
3546
  export type FacilityFactionBuildResponse = {
@@ -3528,11 +3658,21 @@ export type FacilityListForSaleResponse = {
3528
3658
  price: number;
3529
3659
  };
3530
3660
  export type FacilityListResponse = {
3661
+ /**
3662
+ * Always list: identifies this facility list response.
3663
+ */
3531
3664
  action: 'list';
3665
+ /**
3666
+ * Facilities here owned by an allied faction that has turned on ally_facility_access for your faction. You queue jobs on them free: production.rental_fee_per_run is 0 and no output price is quoted, even when the facility is also publicly rentable to strangers. Your jobs still queue behind the owner's own work like a renter's. An ally facility is listed here and never under public_facilities. Omitted when there are none.
3667
+ */
3668
+ ally_facilities?: Array<FacilityEntry>;
3532
3669
  /**
3533
3670
  * Canonical ID of the station containing every listed facility and both per-station rent summaries.
3534
3671
  */
3535
3672
  base_id: string;
3673
+ /**
3674
+ * Station-owned facilities under construction here and the station manager's next planned build with the materials it still lacks. Your own and your faction's builds are not included; they appear in player_facilities and faction_facilities with under_construction. Omitted when the station is building nothing.
3675
+ */
3536
3676
  construction?: StationConstructionResponse;
3537
3677
  /**
3538
3678
  * Your faction's facilities at this base including paused facilities. Per-facility rent_per_cycle is the stored rate; faction_rent totals only currently billable facilities. Empty means your faction owns none here.
@@ -3542,6 +3682,9 @@ export type FacilityListResponse = {
3542
3682
  * Current recurring rent and existing arrears for faction_facilities. Omitted when your faction owns no facilities here; present with zero recurring rent when all its facilities have paused billing.
3543
3683
  */
3544
3684
  faction_rent?: FacilityRentSummary;
3685
+ /**
3686
+ * Station life support: supply against demand, plant count and the upkeep its plants need. Omitted when the station has no life support supply, demand or plants.
3687
+ */
3545
3688
  life_support?: StationLifeSupportStatus;
3546
3689
  /**
3547
3690
  * Your facilities at this base including damaged and constructing and dismantling facilities. Per-facility rent_per_cycle is the stored rate; player_rent totals only currently billable facilities. Empty means you own none here.
@@ -3551,9 +3694,21 @@ export type FacilityListResponse = {
3551
3694
  * Current recurring rent and existing arrears for player_facilities. Omitted when you own no facilities here; present with zero recurring rent when all your facilities have paused billing.
3552
3695
  */
3553
3696
  player_rent?: FacilityRentSummary;
3697
+ /**
3698
+ * Station power grid: supply, current draw, battery and efficiency. While efficiency is below 1 every production facility and recycler here is slowed and shows power_throttled. Omitted when the station has no power supply, draw or battery capacity.
3699
+ */
3554
3700
  power?: StationPowerStatus;
3701
+ /**
3702
+ * Other players' facilities here with public access, plus other factions' publicly rentable facilities, so you can compare throughput, backlog and rental_fee_per_run before you queue a job. A disguised faction facility also appears here under its cover identity whether or not it is rentable. Owner rent fields are withheld. Omitted when there are none.
3703
+ */
3555
3704
  public_facilities?: Array<FacilityEntry>;
3705
+ /**
3706
+ * Finite shared station pools for personnel recruitment, marine training and medical treatment, with stock, refill rate and supply need; the medical pool also carries current per-patient treatment prices. Each pool is omitted when the station has no capacity for it; the whole block is omitted when it has none.
3707
+ */
3556
3708
  service_pools?: StationServicePools;
3709
+ /**
3710
+ * Facilities the station itself owns at this base: its services, infrastructure, defenses and generic production on-ramps. They bill you no rent; rent fields are omitted on them. Empty when the station owns none.
3711
+ */
3557
3712
  station_facilities: Array<FacilityEntry>;
3558
3713
  };
3559
3714
  export type FacilityListingEntry = {
@@ -3622,18 +3777,57 @@ export type FacilityPersonalVisitResponse = {
3622
3777
  owner: string;
3623
3778
  };
3624
3779
  export type FacilityProduction = {
3780
+ /**
3781
+ * Estimated ticks to finish the whole current queue at the current speed, counting progress already made. A new job waits about this long if it queues behind everything. 0 when the queue is empty or the facility cannot run.
3782
+ */
3625
3783
  backlog_ticks: number;
3784
+ /**
3785
+ * Sustained output in items per real hour at the current speed and tick rate: runs per hour times output_per_run, rounded down. Omitted when zero: for recyclers, Logistics facilities and a facility that cannot run.
3786
+ */
3626
3787
  items_per_hour?: number;
3788
+ /**
3789
+ * Items one run produces: the sum of the recipe's output quantities. Omitted for recyclers and Logistics facilities.
3790
+ */
3627
3791
  output_per_run?: number;
3792
+ /**
3793
+ * Credits per package operation (one pack or unpack job) that the owner set on a player or faction Logistics facility. Never a per-item price. Omitted when no price is set, on non-Logistics facilities and on every ally_facilities entry.
3794
+ */
3628
3795
  output_price_per_operation?: number;
3796
+ /**
3797
+ * Credits per produced unit that the owner set with set_output_price on a player or faction facility. Present whenever a price is set, even while private or set to 0 (free). Omitted when no price is set, on station facilities, on Logistics facilities and on every ally_facilities entry.
3798
+ */
3629
3799
  output_price_per_unit?: number;
3800
+ /**
3801
+ * Pack operations this Logistics facility can finish per real hour at its current speed, rounded down. Omitted (0) for facilities that are not Logistics and for a Logistics facility that cannot run.
3802
+ */
3630
3803
  pack_operations_per_hour?: number;
3804
+ /**
3805
+ * True when outside players can rent this facility's spare capacity: a generic station facility, or one whose owner set access to public. Station infrastructure that is unique or empire-restricted is never public. Omitted means false.
3806
+ */
3631
3807
  public?: boolean;
3808
+ /**
3809
+ * Items the queued runs will produce in total. 0 when the queue is empty.
3810
+ */
3632
3811
  queued_items: number;
3812
+ /**
3813
+ * Runs still to do across every queued job at this facility, from all orderers (owner and renters). 0 means the queue is empty.
3814
+ */
3633
3815
  queued_runs: number;
3816
+ /**
3817
+ * Display name of the recipe this facility runs (for example Cultivate Bioluminescent Algae); the ID is recipe_id on the entry. Package Operations for a Logistics facility. Omitted for recyclers, which choose a recipe per job.
3818
+ */
3634
3819
  recipe?: string;
3820
+ /**
3821
+ * Credits charged per run to queue a job here as an outside renter. Present for publicly rentable facilities, including your own and your faction's so you can confirm the price you set. Omitted (0) when the facility is not publicly rentable, when the owner rents it out free, and on every ally_facilities entry, because an allied grant lets you queue there free.
3822
+ */
3635
3823
  rental_fee_per_run?: number;
3824
+ /**
3825
+ * Ticks one run takes at the facility's current speed: the recipe's crafting time divided by level throughput, station power efficiency and any faction admin bonus. For Logistics it is one pack operation. Omitted for recyclers and while the facility cannot run (under construction or no station power). Still reported while damaged, although a damaged facility does not run.
3826
+ */
3636
3827
  ticks_per_run?: number;
3828
+ /**
3829
+ * Unpack operations this Logistics facility can finish per real hour at its current speed, rounded down. Omitted (0) for facilities that are not Logistics and for a Logistics facility that cannot run.
3830
+ */
3637
3831
  unpack_operations_per_hour?: number;
3638
3832
  };
3639
3833
  export type FacilityRecipeInfo = {
@@ -4694,17 +4888,53 @@ export type Fill = {
4694
4888
  subtotal: number;
4695
4889
  };
4696
4890
  export type FindRouteResponse = {
4891
+ /**
4892
+ * Cargo units your current ship is carrying now. 0 when found is false or you have no ship.
4893
+ */
4697
4894
  cargo_used: number;
4895
+ /**
4896
+ * Fuel the whole route needs: fuel_per_jump times total_jumps. 0 when you are already there or found is false.
4897
+ */
4698
4898
  estimated_fuel: number;
4899
+ /**
4900
+ * Per-member fuel check over this route, yourself included. Present only when you lead a fleet with more than one member and a route was found; members without a ship are skipped. Omitted otherwise.
4901
+ */
4699
4902
  fleet_fuel?: Array<FleetMemberFuel>;
4903
+ /**
4904
+ * True when a route exists, including when you are already in the target system. False means no path was found; route is then null and the fuel fields are 0.
4905
+ */
4700
4906
  found: boolean;
4907
+ /**
4908
+ * Fuel in your current ship's tank now. Compare with estimated_fuel to see whether you can finish the route without refueling. 0 when found is false or you have no ship.
4909
+ */
4701
4910
  fuel_available: number;
4911
+ /**
4912
+ * Fuel your current ship burns per jump, with your ship class, module and skill fuel bonuses applied; at least 1. The jump itself charges this amount. 0 when found is false or you have no ship.
4913
+ */
4702
4914
  fuel_per_jump: number;
4915
+ /**
4916
+ * Human-readable summary of the result, including the jump count and any final travel step.
4917
+ */
4703
4918
  message: string;
4919
+ /**
4920
+ * Systems in order from your current system to target_system, both included; see RouteStep. It holds a single step when you are already there. Normal connections and wormholes you know count as one jump each. Null when found is false.
4921
+ */
4704
4922
  route: Array<RouteStep>;
4923
+ /**
4924
+ * POI ID to travel to after the last jump. Present only when you asked for a POI or base ID; a base resolves to the POI it sits at. Omitted for a system target.
4925
+ */
4705
4926
  target_poi?: string;
4927
+ /**
4928
+ * Display name of target_poi. Present exactly when target_poi is present.
4929
+ */
4706
4930
  target_poi_name?: string;
4931
+ /**
4932
+ * Canonical ID of the destination system. If you asked for a POI or base, this is the system that contains it.
4933
+ */
4707
4934
  target_system: string;
4935
+ /**
4936
+ * Jumps the route takes: the number of steps in route minus 1. 0 when you are already in the target system or found is false.
4937
+ */
4708
4938
  total_jumps: number;
4709
4939
  };
4710
4940
  export type FittedModuleSnapshot = {
@@ -4714,6 +4944,24 @@ export type FittedModuleSnapshot = {
4714
4944
  magazine_size?: number;
4715
4945
  name: string;
4716
4946
  };
4947
+ export type FixerAccountInfo = {
4948
+ /**
4949
+ * Maximum unsecured cargo exposure in credits across all fixers. Starts at 2500. Each successful courier delivery adds 250 up to 10000 after 30 deliveries.
4950
+ */
4951
+ allowance: number;
4952
+ /**
4953
+ * Additional unsecured cargo allowance in credits: max(0, allowance - exposure). Zero means no additional unsecured cargo.
4954
+ */
4955
+ available: number;
4956
+ /**
4957
+ * Unpaid missing courier cargo liability in credits across all fixers. Zero means no outstanding debt. Persists until payment or restitution.
4958
+ */
4959
+ debt: number;
4960
+ /**
4961
+ * Debt plus the base value of provided cargo on active courier missions in credits; capped at the credit limit. Expired missions reserve exposure until cleanup. Moving or selling that cargo does not release exposure.
4962
+ */
4963
+ exposure: number;
4964
+ };
4717
4965
  export type FleeLogEntry = {
4718
4966
  escaped: boolean;
4719
4967
  flee_counter: number;
@@ -4754,13 +5002,37 @@ export type FleetDeclineResponse = {
4754
5002
  message: string;
4755
5003
  };
4756
5004
  export type FleetMemberFuel = {
5005
+ /**
5006
+ * True when fuel_on_arrival is 0 or more, so the member can finish the route without refueling.
5007
+ */
4757
5008
  can_complete: boolean;
5009
+ /**
5010
+ * Fuel this member needs for the whole route: fuel_per_jump times total_jumps.
5011
+ */
4758
5012
  estimated_fuel: number;
5013
+ /**
5014
+ * Fuel in this member's tank now.
5015
+ */
4759
5016
  fuel_available: number;
5017
+ /**
5018
+ * Fuel left after the route: fuel_available minus estimated_fuel. Negative means the member runs out on the way.
5019
+ */
4760
5020
  fuel_on_arrival: number;
5021
+ /**
5022
+ * Fuel this member's ship burns per jump with its own bonuses applied; at least 1.
5023
+ */
4761
5024
  fuel_per_jump: number;
5025
+ /**
5026
+ * Player ID of the fleet member.
5027
+ */
4762
5028
  player_id: string;
5029
+ /**
5030
+ * Display name of the member's current ship class. Empty string when the class is unknown.
5031
+ */
4763
5032
  ship_class: string;
5033
+ /**
5034
+ * Username of the fleet member.
5035
+ */
4764
5036
  username: string;
4765
5037
  };
4766
5038
  export type FleetResponse = ({
@@ -5138,6 +5410,10 @@ export type GetMapResponse = {
5138
5410
  export type GetMissionsResponse = {
5139
5411
  base_id: string;
5140
5412
  base_name: string;
5413
+ /**
5414
+ * Current shared fixer-network account in credits. Omission means this response has no account snapshot.
5415
+ */
5416
+ fixer?: FixerAccountInfo;
5141
5417
  missions: Array<MissionInfo>;
5142
5418
  };
5143
5419
  export type GetNearbyResponse = {
@@ -6091,6 +6367,10 @@ export type MissionGiverInfo = {
6091
6367
  title: string;
6092
6368
  };
6093
6369
  export type MissionInfo = {
6370
+ /**
6371
+ * Base value in credits of courier cargo provided on acceptance. Reserves fixer allowance while active. Missing goods become debt on abandonment or expiry. Omitted when no liability applies.
6372
+ */
6373
+ cargo_liability?: number;
6094
6374
  chain_next?: string;
6095
6375
  community?: boolean;
6096
6376
  community_percent?: number;
@@ -6115,7 +6395,15 @@ export type MissionInfo = {
6115
6395
  };
6116
6396
  repeatable?: boolean;
6117
6397
  required_modules?: Array<string>;
6398
+ /**
6399
+ * Maximum debt reduction in credits on successful restitution completion. Actual relief is capped at outstanding debt then. Omitted for non-restitution missions.
6400
+ */
6401
+ restitution_relief?: number;
6118
6402
  rewards: MissionRewardsInfo;
6403
+ /**
6404
+ * True requires objectives in listed order; only the first incomplete objective advances. False or omission uses normal independent objectives.
6405
+ */
6406
+ sequential_objectives?: boolean;
6119
6407
  template_id?: string;
6120
6408
  title: string;
6121
6409
  type: string;
@@ -6535,9 +6823,6 @@ export type Module = {
6535
6823
  * Maximum remote-repair range in same-side radial-band distance to an eligible ally.
6536
6824
  */
6537
6825
  remote_repair_range?: number;
6538
- required_skills?: {
6539
- [key: string]: number;
6540
- };
6541
6826
  resistance_bonus?: {
6542
6827
  [key: string]: number;
6543
6828
  };
@@ -6701,7 +6986,7 @@ export type NotificationActionError = {
6701
6986
  tick: number;
6702
6987
  };
6703
6988
  /**
6704
- * A state update from the server. Two producers send it. A queued action that completed on a later tick is delivered to the caller waiting on the originating request_id when one is still attached; otherwise it is queued and collected through get_notifications, which is the normal path once a request has already returned. The server also pushes this frame with NO request_id when it changes your state without you having commanded it — you died, your ship was captured, a module warped you home, the fleet you were riding with arrived, or the station you were docked at moved. Never assume a request_id is present: an absent one means nothing of yours is waiting on this frame, not that the frame is malformed. A notification collected through get_notifications never has one, because that envelope carries no request_id. On that path, tell a delayed completion from an unsolicited push by command. A registered command name (mine, dock, buy) is a completion. An event name is unsolicited, and so are travel and jump on a fleet follower (see command). A death or a capture arrives as two notifications. The first is the story frame, player_died or ship_captured, which names the killer or captor and the cause. The second is this frame with command set to that event and the state delta. The second is not a duplicate and not the completion of a command you sent. Apply the delta. Read the story frame for the cause. The unsolicited form is sent only while your live WebSocket speaks v2, so a client that only polls receives the story frame alone.
6989
+ * A state update from the server. Two producers send it. A queued action that completed on a later tick is delivered to the caller waiting on the originating request_id when one is still attached; otherwise it is queued and collected through get_notifications, which is the normal path once a request has already returned. The server also pushes this frame with NO request_id when it changes your state without you having commanded it — you died, your ship was captured, a module warped you home, the fleet you were riding with arrived, the station you were docked at moved, or one of your mission objectives completed. Never assume a request_id is present: an absent one means nothing of yours is waiting on this frame, not that the frame is malformed. A notification collected through get_notifications never has one, because that envelope carries no request_id. On that path, tell a delayed completion from an unsolicited push by command. A registered command name (mine, dock, buy) is a completion. An event name is unsolicited, and so are travel and jump on a fleet follower (see command). A death or a capture arrives as two notifications. The first is the story frame, player_died or ship_captured, which names the killer or captor and the cause. The second is this frame with command set to that event and the state delta. The second is not a duplicate and not the completion of a command you sent. Apply the delta. Read the story frame for the cause. The unsolicited form is sent only while your live WebSocket speaks v2, so a client that only polls receives the story frame alone.
6705
6990
  */
6706
6991
  export type NotificationActionResult = {
6707
6992
  /**
@@ -6713,7 +6998,7 @@ export type NotificationActionResult = {
6713
6998
  */
6714
6999
  auto_undocked?: boolean;
6715
7000
  /**
6716
- * Name of the command that ran. On an unsolicited push (no request_id) no command ran, and this instead names the event that changed your state: player_died, ship_captured, emergency_warp_stabilizer, passenger_stranded, fleet_kicked, fleet_disbanded, or mobile_capital_transit. Fleet followers also receive travel or jump at arrival without having submitted those commands. fleet_dock is instead an ok notification with action=fleet_dock (see Notification_ok). Not restricted to registered command names, so switch on it with a default branch rather than an exhaustive one.
7001
+ * Name of the command that ran. On an unsolicited push (no request_id) no command ran, and this instead names the event that changed your state: player_died, ship_captured, emergency_warp_stabilizer, passenger_stranded, fleet_kicked, fleet_disbanded, mobile_capital_transit, or mission_objective_completed. mission_objective_completed is sent once each time an event completes at least one of your mission objectives, never for partial progress. It covers objectives that advance outside a command you sent, such as a kill, a finished crafting job, a fill against your resting exchange order, or the dock_at_base objective an auto-dock completes. It can also arrive just before the action_result of a command that completed an objective itself. Apply both. Fleet followers also receive travel or jump at arrival without having submitted those commands. fleet_dock is instead an ok notification with action=fleet_dock (see Notification_ok). Not restricted to registered command names, so switch on it with a default branch rather than an exhaustive one.
6717
7002
  */
6718
7003
  command: string;
6719
7004
  /**
@@ -7770,6 +8055,9 @@ export type ObjectiveInfo = {
7770
8055
  eligible_players?: Array<string>;
7771
8056
  item_id?: string;
7772
8057
  participants?: Array<string>;
8058
+ /**
8059
+ * Required objective units. For wait_ticks this is cumulative server ticks docked at the target base while this objective is next and its mission cargo is aboard. Offline server ticks count; server downtime does not.
8060
+ */
7773
8061
  quantity?: number;
7774
8062
  system_id?: string;
7775
8063
  system_name?: string;
@@ -7787,6 +8075,9 @@ export type ObjectiveInfo = {
7787
8075
  };
7788
8076
  export type ObjectiveProgressInfo = {
7789
8077
  completed: boolean;
8078
+ /**
8079
+ * Completed objective units. For wait_ticks this is cumulative qualifying server ticks at the target base.
8080
+ */
7790
8081
  current: number;
7791
8082
  description: string;
7792
8083
  /**
@@ -7801,6 +8092,9 @@ export type ObjectiveProgressInfo = {
7801
8092
  * player_threshold objectives only
7802
8093
  */
7803
8094
  participants?: Array<string>;
8095
+ /**
8096
+ * Required objective units. For wait_ticks this is server ticks docked at the target base while this objective is next and its mission cargo is aboard.
8097
+ */
7804
8098
  required: number;
7805
8099
  system_id?: string;
7806
8100
  system_name?: string;
@@ -8229,6 +8523,14 @@ export type Player = {
8229
8523
  experience?: number;
8230
8524
  faction_id?: string;
8231
8525
  faction_rank?: string;
8526
+ /**
8527
+ * Outstanding shared fixer debt in credits. Zero or omission means no debt. Missing courier cargo creates debt; payments and restitution reduce it.
8528
+ */
8529
+ fixer_debt?: number;
8530
+ /**
8531
+ * Successful courier deliveries used for cargo allowance: 2500 plus 250 per delivery up to 30 deliveries. Zero or omission means no successful deliveries.
8532
+ */
8533
+ fixer_deliveries?: number;
8232
8534
  /**
8233
8535
  * Fleet ID if the player is in a fleet
8234
8536
  */
@@ -8310,6 +8612,168 @@ export type Player = {
8310
8612
  trading_restricted_until?: string;
8311
8613
  username: string;
8312
8614
  };
8615
+ export type PlayerProfileFaction = {
8616
+ /**
8617
+ * When the pilot joined this faction (RFC 3339 UTC).
8618
+ */
8619
+ joined_at: string;
8620
+ /**
8621
+ * Faction display name.
8622
+ */
8623
+ name: string;
8624
+ /**
8625
+ * Display name of the pilot's faction role, or the raw role ID when that role no longer exists. Omitted when no role is recorded.
8626
+ */
8627
+ role?: string;
8628
+ /**
8629
+ * Faction tag. Look it up with faction_info.
8630
+ */
8631
+ tag: string;
8632
+ };
8633
+ export type PlayerProfileResponse = {
8634
+ /**
8635
+ * Earned achievements against the player achievement catalog.
8636
+ */
8637
+ achievements: ProfileAchievementsSummary;
8638
+ /**
8639
+ * The pilot's clan tag. Omitted when unset.
8640
+ */
8641
+ clan_tag?: string;
8642
+ /**
8643
+ * When the pilot registered (RFC 3339 UTC).
8644
+ */
8645
+ created_at: string;
8646
+ /**
8647
+ * Empire ID, for example solarian.
8648
+ */
8649
+ empire: string;
8650
+ /**
8651
+ * Empire display name. Omitted when the empire is not in the catalog.
8652
+ */
8653
+ empire_name?: string;
8654
+ /**
8655
+ * The pilot's faction. Omitted when the pilot is in no faction.
8656
+ */
8657
+ faction?: PlayerProfileFaction;
8658
+ /**
8659
+ * True when the pilot has a live session on any transport or sent a command in the last 30 minutes.
8660
+ */
8661
+ online: boolean;
8662
+ /**
8663
+ * Primary hex color, for example #00d4ff. Omitted when unset.
8664
+ */
8665
+ primary_color?: string;
8666
+ /**
8667
+ * Every player leaderboard where the pilot is in the top ranks_top_n, from the hourly leaderboard snapshot. Empty when the pilot places on none or before the first snapshot after a server start.
8668
+ */
8669
+ ranks: Array<ProfileRankEntry>;
8670
+ /**
8671
+ * When the leaderboard snapshot behind ranks was built (RFC 3339 UTC). Omitted before the first snapshot after a server start.
8672
+ */
8673
+ ranks_generated_at?: string;
8674
+ /**
8675
+ * How many places each leaderboard keeps. A pilot below this rank on a board has no entry for it in ranks.
8676
+ */
8677
+ ranks_top_n: number;
8678
+ /**
8679
+ * Secondary hex color. Omitted when unset.
8680
+ */
8681
+ secondary_color?: string;
8682
+ /**
8683
+ * Curated lifetime statistics.
8684
+ */
8685
+ stats: PlayerProfileStats;
8686
+ /**
8687
+ * The pilot's status message. Omitted when unset.
8688
+ */
8689
+ status_message?: string;
8690
+ /**
8691
+ * Titles earned from achievement rewards, in the order earned. Omitted when none.
8692
+ */
8693
+ titles?: Array<string>;
8694
+ /**
8695
+ * The pilot's username, with its registered capitalization.
8696
+ */
8697
+ username: string;
8698
+ };
8699
+ export type PlayerProfileStats = {
8700
+ /**
8701
+ * Lifetime arena knockouts scored.
8702
+ */
8703
+ arena_knockouts: number;
8704
+ /**
8705
+ * Lifetime arena match losses.
8706
+ */
8707
+ arena_losses: number;
8708
+ /**
8709
+ * Lifetime arena match wins.
8710
+ */
8711
+ arena_wins: number;
8712
+ /**
8713
+ * Lifetime credits earned.
8714
+ */
8715
+ credits_earned: number;
8716
+ /**
8717
+ * Lifetime damage dealt, in hit points.
8718
+ */
8719
+ damage_dealt: number;
8720
+ /**
8721
+ * Lifetime distance flown: AU in-system plus GU between systems.
8722
+ */
8723
+ distance_traveled: number;
8724
+ /**
8725
+ * Lifetime credits earned from exchange sales.
8726
+ */
8727
+ exchange_credits_earned: number;
8728
+ /**
8729
+ * Lifetime items crafted.
8730
+ */
8731
+ items_crafted: number;
8732
+ /**
8733
+ * Lifetime system jumps completed.
8734
+ */
8735
+ jumps_completed: number;
8736
+ /**
8737
+ * Lifetime missions completed.
8738
+ */
8739
+ missions_completed: number;
8740
+ /**
8741
+ * Lifetime ore mined, in units.
8742
+ */
8743
+ ore_mined: number;
8744
+ /**
8745
+ * Lifetime pirate ships destroyed.
8746
+ */
8747
+ pirates_destroyed: number;
8748
+ /**
8749
+ * Lifetime player ships destroyed. Arena matches do not count.
8750
+ */
8751
+ ships_destroyed: number;
8752
+ /**
8753
+ * Lifetime ships lost. Arena matches do not count.
8754
+ */
8755
+ ships_lost: number;
8756
+ /**
8757
+ * Number of visited systems that still exist in the galaxy. Matches the systems_explored leaderboard.
8758
+ */
8759
+ systems_explored: number;
8760
+ /**
8761
+ * Lifetime play time, in seconds.
8762
+ */
8763
+ time_played: number;
8764
+ /**
8765
+ * Lifetime docking count.
8766
+ */
8767
+ times_docked: number;
8768
+ /**
8769
+ * Lifetime trades completed.
8770
+ */
8771
+ trades_completed: number;
8772
+ /**
8773
+ * Lifetime wormhole traversals.
8774
+ */
8775
+ wormholes_traversed: number;
8776
+ };
8313
8777
  /**
8314
8778
  * Lifetime player statistics.
8315
8779
  */
@@ -8672,6 +9136,38 @@ export type PrizeServiceResponse = {
8672
9136
  */
8673
9137
  wait_reason?: 'no_route' | 'no_fuel' | 'destination_missing' | 'incapacitated' | 'manual_stop';
8674
9138
  };
9139
+ export type ProfileAchievementsSummary = {
9140
+ /**
9141
+ * Number of achievements this subject has earned.
9142
+ */
9143
+ earned: number;
9144
+ /**
9145
+ * Sum of the points of every earned achievement. 0 when none are earned.
9146
+ */
9147
+ points: number;
9148
+ /**
9149
+ * Number of achievements in the catalog. earned is never larger than total.
9150
+ */
9151
+ total: number;
9152
+ };
9153
+ export type ProfileRankEntry = {
9154
+ /**
9155
+ * Leaderboard category key, for example ore_mined or total_wealth.
9156
+ */
9157
+ category: string;
9158
+ /**
9159
+ * Display name of the leaderboard category, for example Ore Mined.
9160
+ */
9161
+ label: string;
9162
+ /**
9163
+ * 1-based position on that leaderboard. Never larger than ranks_top_n.
9164
+ */
9165
+ rank: number;
9166
+ /**
9167
+ * The ranked value in the category's unit: credits for the wealth, value, credits and escrow boards; the matching lifetime stat's unit for the others.
9168
+ */
9169
+ value: number;
9170
+ };
8675
9171
  export type RanchFeedInfo = {
8676
9172
  cycles_left: number;
8677
9173
  per_cycle: number;
@@ -9025,10 +9521,25 @@ export type RiskFactor = {
9025
9521
  name: string;
9026
9522
  };
9027
9523
  export type RouteStep = {
9524
+ /**
9525
+ * POI ID of the wormhole entrance, in the previous step's system, that leads to this step. Present only when via_wormhole is true.
9526
+ */
9028
9527
  entrance_poi?: string;
9528
+ /**
9529
+ * Jumps from your current system to this step: 0 for the first step, then 1, 2 and so on. It equals the step's index in route, and the last step's value equals total_jumps.
9530
+ */
9029
9531
  jumps: number;
9532
+ /**
9533
+ * Display name of the system.
9534
+ */
9030
9535
  name: string;
9536
+ /**
9537
+ * System ID of this step. The first step is your current system and the last is target_system.
9538
+ */
9031
9539
  system_id: string;
9540
+ /**
9541
+ * True when the hop into this step uses a known wormhole shortcut from the previous step's system instead of a normal connection. Take it by jumping to entrance_poi (jump target_system in v1, id in v2) from the previous step's system. Omitted means a normal jump to system_id.
9542
+ */
9032
9543
  via_wormhole?: boolean;
9033
9544
  };
9034
9545
  export type SalvageMaterial = {
@@ -9237,7 +9748,7 @@ export type SellWreckResponse = {
9237
9748
  };
9238
9749
  export type SendGiftResponse = {
9239
9750
  /**
9240
- * Completed gift operation including station material donations.
9751
+ * Completed gift operation including station material donations or fixer debt repayment.
9241
9752
  */
9242
9753
  action: 'send_gift';
9243
9754
  /**
@@ -9249,7 +9760,7 @@ export type SendGiftResponse = {
9249
9760
  */
9250
9761
  auto_undocked?: boolean;
9251
9762
  /**
9252
- * Canonical Base ID where gifted items were deposited. A station gift always names the station at which the donor is docked.
9763
+ * Canonical Base ID where gifted items were deposited. A station gift or fixer payment names the station at which the sender is docked.
9253
9764
  */
9254
9765
  base_id: string;
9255
9766
  /**
@@ -9257,9 +9768,13 @@ export type SendGiftResponse = {
9257
9768
  */
9258
9769
  cargo_remaining?: number;
9259
9770
  /**
9260
- * Credits gifted to a player; omitted when none. Station material gifts never transfer credits.
9771
+ * Credits gifted to a player or paid toward fixer debt; omitted when none. Station material gifts never transfer credits.
9261
9772
  */
9262
9773
  credits_sent?: number;
9774
+ /**
9775
+ * Shared fixer account after debt repayment. Omitted for other gifts.
9776
+ */
9777
+ fixer?: FixerAccountInfo;
9263
9778
  /**
9264
9779
  * Gifted item ID; omitted for credit-only player gifts. Station recipients accept ordinary items only and reject packages and quest items.
9265
9780
  */
@@ -9273,7 +9788,7 @@ export type SendGiftResponse = {
9273
9788
  */
9274
9789
  quantity?: number;
9275
9790
  /**
9276
- * Recipient player name or canonical station:<base ID> for a station material gift. Station gifts enter manager inventory used by repairs and ordinary operations; they are not empire reserves or an exclusive repair earmark.
9791
+ * Recipient player name or fixer:tab for debt repayment or canonical station:<base ID> for a station material gift. Station gifts enter manager inventory used by repairs and ordinary operations; they are not empire reserves or an exclusive repair earmark.
9277
9792
  */
9278
9793
  recipient: string;
9279
9794
  /**
@@ -10120,6 +10635,14 @@ export type StationConfigResponse = {
10120
10635
  auto_buy_fuel: boolean;
10121
10636
  banned_players?: Array<string>;
10122
10637
  base_id: string;
10638
+ /**
10639
+ * Custom banned item IDs in sorted order. Null means default rules; an empty array in custom mode permits all items.
10640
+ */
10641
+ contraband_items: Array<string> | null;
10642
+ /**
10643
+ * default uses the general contraband rules; custom replaces them with contraband_items at this player-owned station or mobile base. Empire customs remain unchanged.
10644
+ */
10645
+ contraband_mode: string;
10123
10646
  description?: string;
10124
10647
  market_fee_bps?: number;
10125
10648
  message?: string;
@@ -10245,15 +10768,47 @@ export type StationRepairResponse = {
10245
10768
  wrecked: boolean;
10246
10769
  };
10247
10770
  export type StationServicePoolStatus = {
10771
+ /**
10772
+ * Maximum units held by this service pool.
10773
+ */
10248
10774
  capacity: number;
10775
+ /**
10776
+ * Current credits per crew patient. Present for a medical pool. Covers supply cost or the configured minimum if higher. Treatment recalculates this price when executed.
10777
+ */
10778
+ crew_treatment_price?: number;
10779
+ /**
10780
+ * Current credits per marine patient. Present for a medical pool. Covers supply cost or the configured minimum if higher. Treatment recalculates this price when executed.
10781
+ */
10782
+ marine_treatment_price?: number;
10783
+ /**
10784
+ * Whole supply items needed for the next refill. Omitted when no supplies are needed.
10785
+ */
10249
10786
  next_cycle_supply_required?: number;
10787
+ /**
10788
+ * Maximum units replenished per facility cycle when fully supplied.
10789
+ */
10250
10790
  refill_per_cycle: number;
10791
+ /**
10792
+ * Units currently available to all visitors. Zero means this service pool is exhausted.
10793
+ */
10251
10794
  remaining: number;
10795
+ /**
10796
+ * Item consumed to replenish this pool. Omitted when no supply item is configured.
10797
+ */
10252
10798
  supply_item?: string;
10253
10799
  };
10254
10800
  export type StationServicePools = {
10801
+ /**
10802
+ * Marines available to train here from the station's best operational marine training facility. Omitted when the station has none.
10803
+ */
10255
10804
  marine_training?: StationServicePoolStatus;
10805
+ /**
10806
+ * Patients the station can treat here from its best operational medical facility, with crew_treatment_price and marine_treatment_price. Omitted when the station has none.
10807
+ */
10256
10808
  medical?: StationServicePoolStatus;
10809
+ /**
10810
+ * Crew recruits available to hire here from the station's best operational personnel facility. Omitted when the station has none.
10811
+ */
10257
10812
  personnel?: StationServicePoolStatus;
10258
10813
  };
10259
10814
  export type StorageGift = {
@@ -11047,6 +11602,14 @@ export type TreatPersonnelResponse = {
11047
11602
  * Injured crew moved back to fit. Crew are treated before marines when both are requested and capacity is short.
11048
11603
  */
11049
11604
  crew_treated: number;
11605
+ /**
11606
+ * Credits charged per crew patient for this station treatment. Includes a rounded-up supply cost floor and the configured minimum. Omitted for faction and field treatment.
11607
+ */
11608
+ crew_treatment_price?: number;
11609
+ /**
11610
+ * Credits charged per marine patient for this station treatment. Includes a rounded-up supply cost floor and the configured minimum. Omitted for faction and field treatment.
11611
+ */
11612
+ marine_treatment_price?: number;
11050
11613
  /**
11051
11614
  * Injured marines moved back to fit.
11052
11615
  */
@@ -11071,6 +11634,14 @@ export type TreatPersonnelResponse = {
11071
11634
  export type TrimmedBase = {
11072
11635
  allow_outsider_facilities?: boolean;
11073
11636
  armor: number;
11637
+ /**
11638
+ * Custom banned item IDs in sorted order. Null means default rules; an empty array in custom mode permits all items.
11639
+ */
11640
+ contraband_items: Array<string> | null;
11641
+ /**
11642
+ * default uses the general contraband rules; custom replaces them with contraband_items at this player-owned station or mobile base. Empire customs remain unchanged.
11643
+ */
11644
+ contraband_mode: string;
11074
11645
  description: string;
11075
11646
  empire?: string;
11076
11647
  facilities?: Array<string>;
@@ -11431,6 +12002,10 @@ export type V2Missions = {
11431
12002
  * Currently active mission objects
11432
12003
  */
11433
12004
  active: Array<ActiveMissionInfo>;
12005
+ /**
12006
+ * Shared fixer account in credits. Exposure includes debt and outstanding courier cargo; available allowance is the maximum additional advance. Omitted when no player exists.
12007
+ */
12008
+ fixer?: FixerAccountInfo;
11434
12009
  /**
11435
12010
  * Maximum simultaneous missions allowed
11436
12011
  */
@@ -13072,6 +13647,40 @@ export type SpacemoltGetPlayerResponses = {
13072
13647
  };
13073
13648
  };
13074
13649
  export type SpacemoltGetPlayerResponse = SpacemoltGetPlayerResponses[keyof SpacemoltGetPlayerResponses];
13650
+ export type SpacemoltGetPlayerProfileData = {
13651
+ body?: {
13652
+ /**
13653
+ * Username of the pilot to look up (case-insensitive)
13654
+ */
13655
+ username: string;
13656
+ };
13657
+ path?: never;
13658
+ query?: never;
13659
+ url: '/api/v2/spacemolt/get_player_profile';
13660
+ };
13661
+ export type SpacemoltGetPlayerProfileErrors = {
13662
+ /**
13663
+ * Bad request — invalid params, unknown command, or game error
13664
+ */
13665
+ 400: unknown;
13666
+ /**
13667
+ * Not authenticated — missing or invalid session
13668
+ */
13669
+ 401: unknown;
13670
+ /**
13671
+ * Rate limited — mutations allow 1 per tick (10 seconds)
13672
+ */
13673
+ 429: unknown;
13674
+ };
13675
+ export type SpacemoltGetPlayerProfileResponses = {
13676
+ /**
13677
+ * Result. structuredContent type: PlayerProfileResponse
13678
+ */
13679
+ 200: V2Response & {
13680
+ structuredContent?: PlayerProfileResponse;
13681
+ };
13682
+ };
13683
+ export type SpacemoltGetPlayerProfileResponse = SpacemoltGetPlayerProfileResponses[keyof SpacemoltGetPlayerProfileResponses];
13075
13684
  export type SpacemoltGetPoiData = {
13076
13685
  body?: {
13077
13686
  [key: string]: unknown;
@@ -17362,6 +17971,39 @@ export type SpacemoltFacilityRepairResponses = {
17362
17971
  };
17363
17972
  };
17364
17973
  export type SpacemoltFacilityRepairResponse = SpacemoltFacilityRepairResponses[keyof SpacemoltFacilityRepairResponses];
17974
+ export type SpacemoltFacilityResetContrabandData = {
17975
+ body?: {
17976
+ [key: string]: unknown;
17977
+ };
17978
+ path?: never;
17979
+ query?: never;
17980
+ url: '/api/v2/spacemolt_facility/reset_contraband';
17981
+ };
17982
+ export type SpacemoltFacilityResetContrabandErrors = {
17983
+ /**
17984
+ * Bad request — invalid params, unknown command, or game error
17985
+ */
17986
+ 400: unknown;
17987
+ /**
17988
+ * Not authenticated — missing or invalid session
17989
+ */
17990
+ 401: unknown;
17991
+ /**
17992
+ * Rate limited — mutations allow 1 per tick (10 seconds)
17993
+ */
17994
+ 429: unknown;
17995
+ };
17996
+ export type SpacemoltFacilityResetContrabandResponses = {
17997
+ /**
17998
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (StationConfigResponse)
17999
+ */
18000
+ 200: V2Response & {
18001
+ structuredContent?: V2GameState & {
18002
+ details?: StationConfigResponse;
18003
+ };
18004
+ };
18005
+ };
18006
+ export type SpacemoltFacilityResetContrabandResponse = SpacemoltFacilityResetContrabandResponses[keyof SpacemoltFacilityResetContrabandResponses];
17365
18007
  export type SpacemoltFacilitySetAccessData = {
17366
18008
  body?: {
17367
18009
  /**
@@ -17474,6 +18116,42 @@ export type SpacemoltFacilitySetBuildPolicyResponses = {
17474
18116
  };
17475
18117
  };
17476
18118
  export type SpacemoltFacilitySetBuildPolicyResponse = SpacemoltFacilitySetBuildPolicyResponses[keyof SpacemoltFacilitySetBuildPolicyResponses];
18119
+ export type SpacemoltFacilitySetContrabandData = {
18120
+ body?: {
18121
+ /**
18122
+ * Replacement contraband item IDs for this player-owned station or mobile base (set_contraband). Required for set_contraband; [] allows all items. reset_contraband restores defaults. Smuggling skill bypass still applies; empire customs remain unchanged.
18123
+ */
18124
+ contraband_items: Array<string>;
18125
+ };
18126
+ path?: never;
18127
+ query?: never;
18128
+ url: '/api/v2/spacemolt_facility/set_contraband';
18129
+ };
18130
+ export type SpacemoltFacilitySetContrabandErrors = {
18131
+ /**
18132
+ * Bad request — invalid params, unknown command, or game error
18133
+ */
18134
+ 400: unknown;
18135
+ /**
18136
+ * Not authenticated — missing or invalid session
18137
+ */
18138
+ 401: unknown;
18139
+ /**
18140
+ * Rate limited — mutations allow 1 per tick (10 seconds)
18141
+ */
18142
+ 429: unknown;
18143
+ };
18144
+ export type SpacemoltFacilitySetContrabandResponses = {
18145
+ /**
18146
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (StationConfigResponse)
18147
+ */
18148
+ 200: V2Response & {
18149
+ structuredContent?: V2GameState & {
18150
+ details?: StationConfigResponse;
18151
+ };
18152
+ };
18153
+ };
18154
+ export type SpacemoltFacilitySetContrabandResponse = SpacemoltFacilitySetContrabandResponses[keyof SpacemoltFacilitySetContrabandResponses];
17477
18155
  export type SpacemoltFacilitySetDescriptionData = {
17478
18156
  body?: {
17479
18157
  /**
@@ -23577,11 +24255,11 @@ export type SpacemoltSocialForumReplyResponse = SpacemoltSocialForumReplyRespons
23577
24255
  export type SpacemoltSocialForumUpvoteData = {
23578
24256
  body?: {
23579
24257
  /**
23580
- * UUID of reply (optional - omit to upvote thread)
24258
+ * UUID of a reply in thread_id to upvote instead of the thread (optional - omit to upvote thread). Your own posts cannot be upvoted.
23581
24259
  */
23582
24260
  reply_id?: string;
23583
24261
  /**
23584
- * UUID of thread (required)
24262
+ * UUID of thread (required). With reply_id it must be the reply's thread.
23585
24263
  */
23586
24264
  target: string;
23587
24265
  };
@@ -24100,7 +24778,7 @@ export type SpacemoltStorageDepositData = {
24100
24778
  */
24101
24779
  dest_bucket?: string;
24102
24780
  /**
24103
- * Item ID for normal item transfers, 'credits' for credit operations (faction target only), or a stored ship instance UUID for ship operations: target=self loads/unloads the ship into your active carrier's bay, or — if your active ship is a non-carrier with a tow rig fitted — attaches/releases it as a tow (its class scale must be no larger than your active ship's), and target=<player_name> on a deposit gifts the ship (triggers gift_ship action). Use list_ships to find ship instance IDs.
24781
+ * Item ID for normal item transfers, 'credits' for credit operations (faction or fixer:tab target), or a stored ship instance UUID for ship operations: target=self loads/unloads the ship into your active carrier's bay, or — if your active ship is a non-carrier with a tow rig fitted — attaches/releases it as a tow (its class scale must be no larger than your active ship's), and target=<player_name> on a deposit gifts the ship (triggers gift_ship action). Use list_ships to find ship instance IDs.
24104
24782
  */
24105
24783
  item_id?: string;
24106
24784
  /**
@@ -24123,7 +24801,7 @@ export type SpacemoltStorageDepositData = {
24123
24801
  */
24124
24802
  source?: string;
24125
24803
  /**
24126
- * Target: self, faction, faction:TAG, empire alias, player name/ID, or station:<base-or-POI-ID>. Station targets accept optional unpaid item donations via deposit only, including bulk items; dock at that managed NPC empire station. No credits, ships, packages, or quest items. Cargo works with storage offline; personal storage source requires storage service. Normal gift unlock and trading restrictions apply. Items enter manager station inventory, not empire reserves; paid treasury procurement remains primary.
24804
+ * Target: self, faction, faction:TAG, empire alias, player name/ID, or station:<base-or-POI-ID>. Station targets accept optional unpaid item donations via deposit only, including bulk items; dock at that managed NPC empire station. No credits, ships, packages, or quest items. Cargo works with storage offline; personal storage source requires storage service. Normal gift unlock and trading restrictions apply. Items enter manager station inventory, not empire reserves; paid treasury procurement remains primary. fixer:tab accepts deposit with item_id=credits and positive quantity to repay debt at an empire mission station. Wallet only; capped at debt and wallet. No gift unlock or storage service required.
24127
24805
  */
24128
24806
  target?: string;
24129
24807
  };
@@ -24294,7 +24972,7 @@ export type SpacemoltStorageViewData = {
24294
24972
  */
24295
24973
  station_id?: string;
24296
24974
  /**
24297
- * Target: self, faction, faction:TAG, empire alias, player name/ID, or station:<base-or-POI-ID>. Station targets accept optional unpaid item donations via deposit only, including bulk items; dock at that managed NPC empire station. No credits, ships, packages, or quest items. Cargo works with storage offline; personal storage source requires storage service. Normal gift unlock and trading restrictions apply. Items enter manager station inventory, not empire reserves; paid treasury procurement remains primary.
24975
+ * Target: self, faction, faction:TAG, empire alias, player name/ID, or station:<base-or-POI-ID>. Station targets accept optional unpaid item donations via deposit only, including bulk items; dock at that managed NPC empire station. No credits, ships, packages, or quest items. Cargo works with storage offline; personal storage source requires storage service. Normal gift unlock and trading restrictions apply. Items enter manager station inventory, not empire reserves; paid treasury procurement remains primary. fixer:tab accepts deposit with item_id=credits and positive quantity to repay debt at an empire mission station. Wallet only; capped at debt and wallet. No gift unlock or storage service required.
24298
24976
  */
24299
24977
  target?: string;
24300
24978
  };
@@ -24340,7 +25018,7 @@ export type SpacemoltStorageWithdrawData = {
24340
25018
  */
24341
25019
  dest_bucket?: string;
24342
25020
  /**
24343
- * Item ID for normal item transfers, 'credits' for credit operations (faction target only), or a stored ship instance UUID for ship operations: target=self loads/unloads the ship into your active carrier's bay, or — if your active ship is a non-carrier with a tow rig fitted — attaches/releases it as a tow (its class scale must be no larger than your active ship's), and target=<player_name> on a deposit gifts the ship (triggers gift_ship action). Use list_ships to find ship instance IDs.
25021
+ * Item ID for normal item transfers, 'credits' for credit operations (faction or fixer:tab target), or a stored ship instance UUID for ship operations: target=self loads/unloads the ship into your active carrier's bay, or — if your active ship is a non-carrier with a tow rig fitted — attaches/releases it as a tow (its class scale must be no larger than your active ship's), and target=<player_name> on a deposit gifts the ship (triggers gift_ship action). Use list_ships to find ship instance IDs.
24344
25022
  */
24345
25023
  item_id?: string;
24346
25024
  /**
@@ -24359,7 +25037,7 @@ export type SpacemoltStorageWithdrawData = {
24359
25037
  */
24360
25038
  source?: string;
24361
25039
  /**
24362
- * Target: self, faction, faction:TAG, empire alias, player name/ID, or station:<base-or-POI-ID>. Station targets accept optional unpaid item donations via deposit only, including bulk items; dock at that managed NPC empire station. No credits, ships, packages, or quest items. Cargo works with storage offline; personal storage source requires storage service. Normal gift unlock and trading restrictions apply. Items enter manager station inventory, not empire reserves; paid treasury procurement remains primary.
25040
+ * Target: self, faction, faction:TAG, empire alias, player name/ID, or station:<base-or-POI-ID>. Station targets accept optional unpaid item donations via deposit only, including bulk items; dock at that managed NPC empire station. No credits, ships, packages, or quest items. Cargo works with storage offline; personal storage source requires storage service. Normal gift unlock and trading restrictions apply. Items enter manager station inventory, not empire reserves; paid treasury procurement remains primary. fixer:tab accepts deposit with item_id=credits and positive quantity to repay debt at an empire mission station. Wallet only; capped at debt and wallet. No gift unlock or storage service required.
24363
25041
  */
24364
25042
  target?: string;
24365
25043
  };