@spacemolt/lib 16.1.0 → 16.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/COMMANDS.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <!-- AUTO-GENERATED by scripts/generate.ts from openapi.json. DO NOT EDIT. -->
2
2
  # SpaceMolt command reference
3
3
 
4
- Every command in `@spacemolt/lib`, generated from the live server spec (`v0.630.0`). **303 commands across 19 tools.**
4
+ Every command in `@spacemolt/lib`, generated from the live server spec (`v0.632.0`). **305 commands across 19 tools.**
5
5
 
6
6
  ## How to call a command
7
7
 
@@ -26,7 +26,7 @@ const status = await account.commands.spacemolt.get_status(); // query
26
26
  - [`spacemolt_battle`](#spacemolt_battle) — 10 commands
27
27
  - [`spacemolt_citizenship`](#spacemolt_citizenship) — 4 commands
28
28
  - [`spacemolt_drone`](#spacemolt_drone) — 8 commands
29
- - [`spacemolt_facility`](#spacemolt_facility) — 52 commands
29
+ - [`spacemolt_facility`](#spacemolt_facility) — 54 commands
30
30
  - [`spacemolt_faction`](#spacemolt_faction) — 33 commands
31
31
  - [`spacemolt_faction_admin`](#spacemolt_faction_admin) — 6 commands
32
32
  - [`spacemolt_faction_commerce`](#spacemolt_faction_commerce) — 2 commands
@@ -207,9 +207,11 @@ Call as `account.commands.spacemolt_facility.<action>(...)`.
207
207
  - `remove_faction({ faction: string })` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
208
208
  - `remove_player({ player: string })` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
209
209
  - `repair({ facility_id: string })` · *mutation* → delta.details: `FacilityRepairResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
210
+ - `reset_contraband()` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
210
211
  - `set_access({ access: "private" | "public"; facility_id: string })` · *mutation* → delta.details: `SetAccessResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
211
212
  - `set_auto_buy_fuel({ auto_buy_fuel?: boolean })` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
212
213
  - `set_build_policy({ allow_outsiders?: boolean })` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
214
+ - `set_contraband({ contraband_items: string[] })` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
213
215
  - `set_description({ description?: string })` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
214
216
  - `set_market_fee({ fee_percent?: number })` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
215
217
  - `set_name({ custom_name?: string; facility_id: string })` · *mutation* → delta.details: `SetFacilityNameResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
@@ -1,7 +1,7 @@
1
1
  /** The gameserver spec version this command surface was generated from. */
2
- export declare const GENERATED_SPEC_VERSION = "v0.630.0";
2
+ export declare const GENERATED_SPEC_VERSION = "v0.632.0";
3
3
  export type ToolName = "spacemolt" | "spacemolt_arena" | "spacemolt_auth" | "spacemolt_battle" | "spacemolt_citizenship" | "spacemolt_drone" | "spacemolt_facility" | "spacemolt_faction" | "spacemolt_faction_admin" | "spacemolt_faction_commerce" | "spacemolt_fleet" | "spacemolt_intel" | "spacemolt_market" | "spacemolt_salvage" | "spacemolt_ship" | "spacemolt_shipping" | "spacemolt_social" | "spacemolt_storage" | "spacemolt_transfer";
4
- export type ActionName = "abandon_mission" | "accept" | "accept_ally" | "accept_invite" | "accept_mission" | "accept_peace" | "active" | "advance" | "allow_faction" | "allow_player" | "analyze_market" | "apply" | "attack" | "ban" | "base_cost" | "board" | "browse_for_sale" | "browse_ships" | "build" | "buy" | "buy_listed_ship" | "buy_listing" | "buy_ship_license" | "cancel" | "cancel_commission" | "cancel_listing" | "cancel_mission" | "cancel_mobile_base_jump" | "cancel_order" | "cancel_ship_buy_order" | "cancel_ship_listing" | "captains_log_add" | "captains_log_delete" | "captains_log_get" | "captains_log_list" | "challenge" | "challenges" | "chat" | "claim" | "claim_prize" | "cloak" | "commission_quote" | "commission_ship" | "commission_status" | "complete_mission" | "completed_missions" | "craft" | "create" | "create_buy_order" | "create_note" | "create_role" | "create_sell_order" | "declare_war" | "decline" | "decline_invite" | "decline_mission" | "decommission_mobile_base" | "delete_note" | "delete_role" | "delete_room" | "deliver" | "deploy" | "deploy_outpost" | "deposit" | "disband" | "disembark" | "dismantle" | "dismantle_outpost" | "distress_signal" | "dock" | "edit" | "edit_role" | "engage" | "espionage" | "estimate_purchase" | "facility_set_description" | "faction_build" | "faction_dismantle" | "faction_list" | "faction_owned" | "faction_personnel" | "faction_upgrade" | "fight" | "find_route" | "forum_create_thread" | "forum_delete_reply" | "forum_delete_thread" | "forum_edit_reply" | "forum_edit_thread" | "forum_get_thread" | "forum_list" | "forum_reply" | "forum_upvote" | "found_station" | "garages" | "get" | "get_achievements" | "get_action_log" | "get_active_missions" | "get_base" | "get_cargo" | "get_chat_history" | "get_commands" | "get_empire_info" | "get_faction_achievements" | "get_guide" | "get_invites" | "get_location" | "get_map" | "get_missions" | "get_mobile_base" | "get_nearby" | "get_notes" | "get_notification_settings" | "get_notifications" | "get_player" | "get_poi" | "get_queue" | "get_ship" | "get_skills" | "get_state" | "get_status" | "get_system" | "get_system_agents" | "get_tax_estimate" | "get_trades" | "get_version" | "hunt" | "info" | "inspect" | "install_mod" | "insure" | "intel_status" | "invite" | "jettison" | "job_add" | "job_cancel" | "job_list" | "job_reorder" | "join" | "jump" | "jump_mobile_base" | "kick" | "leave" | "list" | "list_for_sale" | "list_missions" | "list_passengers" | "list_ship_for_sale" | "list_ships" | "list_station_passengers" | "load" | "load_passenger" | "log" | "login" | "login_link" | "login_link_poll" | "login_token" | "logout" | "loot" | "mine" | "modify_order" | "move_mobile_base" | "mute_notifications" | "name" | "owned" | "pay_bounty" | "pay_debt" | "personal_build" | "personal_decorate" | "personal_visit" | "petition" | "place_ship_buy_order" | "policies" | "post" | "post_mission" | "prepay_tax" | "profile" | "promote" | "propose_ally" | "propose_peace" | "query_intel" | "query_trade_intel" | "quote" | "ranch_set_cull" | "ranch_status" | "read_note" | "recall" | "recruit_personnel" | "recycle" | "refit_ship" | "refuel" | "register" | "release" | "reload" | "remove_ally" | "remove_enemy" | "remove_faction" | "remove_player" | "rename_ship" | "renounce" | "repair" | "retreat" | "return" | "rooms" | "scan" | "scan_poi" | "scrap" | "scrap_ship" | "search_systems" | "self_destruct" | "sell" | "sell_ship_to_order" | "service_prize" | "set_access" | "set_auto_buy_fuel" | "set_build_policy" | "set_colors" | "set_description" | "set_enemy" | "set_home" | "set_market_fee" | "set_name" | "set_output_price" | "set_public" | "set_refuel_price" | "set_repair_price" | "set_service_access" | "set_status" | "stance" | "station_info" | "station_set_name" | "status" | "submit_intel" | "submit_trade_intel" | "subscribe_market" | "subscribe_observation" | "summary" | "supply_commission" | "survey_system" | "switch_ship" | "target" | "tax_estimate" | "tow" | "track" | "trade_accept" | "trade_cancel" | "trade_decline" | "trade_intel_status" | "trade_offer" | "transfer" | "transfer_personnel" | "travel" | "treat_personnel" | "types" | "unban" | "undock" | "uninstall_mod" | "unload" | "unload_passenger" | "unmute_notifications" | "unsubscribe_market" | "unsubscribe_observation" | "upgrade" | "upgrades" | "upload" | "use_item" | "view" | "view_completed_mission" | "view_market" | "view_orders" | "view_ship_buy_orders" | "visit_room" | "withdraw" | "withdraw_invite" | "wrecks" | "write_note" | "write_room";
4
+ export type ActionName = "abandon_mission" | "accept" | "accept_ally" | "accept_invite" | "accept_mission" | "accept_peace" | "active" | "advance" | "allow_faction" | "allow_player" | "analyze_market" | "apply" | "attack" | "ban" | "base_cost" | "board" | "browse_for_sale" | "browse_ships" | "build" | "buy" | "buy_listed_ship" | "buy_listing" | "buy_ship_license" | "cancel" | "cancel_commission" | "cancel_listing" | "cancel_mission" | "cancel_mobile_base_jump" | "cancel_order" | "cancel_ship_buy_order" | "cancel_ship_listing" | "captains_log_add" | "captains_log_delete" | "captains_log_get" | "captains_log_list" | "challenge" | "challenges" | "chat" | "claim" | "claim_prize" | "cloak" | "commission_quote" | "commission_ship" | "commission_status" | "complete_mission" | "completed_missions" | "craft" | "create" | "create_buy_order" | "create_note" | "create_role" | "create_sell_order" | "declare_war" | "decline" | "decline_invite" | "decline_mission" | "decommission_mobile_base" | "delete_note" | "delete_role" | "delete_room" | "deliver" | "deploy" | "deploy_outpost" | "deposit" | "disband" | "disembark" | "dismantle" | "dismantle_outpost" | "distress_signal" | "dock" | "edit" | "edit_role" | "engage" | "espionage" | "estimate_purchase" | "facility_set_description" | "faction_build" | "faction_dismantle" | "faction_list" | "faction_owned" | "faction_personnel" | "faction_upgrade" | "fight" | "find_route" | "forum_create_thread" | "forum_delete_reply" | "forum_delete_thread" | "forum_edit_reply" | "forum_edit_thread" | "forum_get_thread" | "forum_list" | "forum_reply" | "forum_upvote" | "found_station" | "garages" | "get" | "get_achievements" | "get_action_log" | "get_active_missions" | "get_base" | "get_cargo" | "get_chat_history" | "get_commands" | "get_empire_info" | "get_faction_achievements" | "get_guide" | "get_invites" | "get_location" | "get_map" | "get_missions" | "get_mobile_base" | "get_nearby" | "get_notes" | "get_notification_settings" | "get_notifications" | "get_player" | "get_poi" | "get_queue" | "get_ship" | "get_skills" | "get_state" | "get_status" | "get_system" | "get_system_agents" | "get_tax_estimate" | "get_trades" | "get_version" | "hunt" | "info" | "inspect" | "install_mod" | "insure" | "intel_status" | "invite" | "jettison" | "job_add" | "job_cancel" | "job_list" | "job_reorder" | "join" | "jump" | "jump_mobile_base" | "kick" | "leave" | "list" | "list_for_sale" | "list_missions" | "list_passengers" | "list_ship_for_sale" | "list_ships" | "list_station_passengers" | "load" | "load_passenger" | "log" | "login" | "login_link" | "login_link_poll" | "login_token" | "logout" | "loot" | "mine" | "modify_order" | "move_mobile_base" | "mute_notifications" | "name" | "owned" | "pay_bounty" | "pay_debt" | "personal_build" | "personal_decorate" | "personal_visit" | "petition" | "place_ship_buy_order" | "policies" | "post" | "post_mission" | "prepay_tax" | "profile" | "promote" | "propose_ally" | "propose_peace" | "query_intel" | "query_trade_intel" | "quote" | "ranch_set_cull" | "ranch_status" | "read_note" | "recall" | "recruit_personnel" | "recycle" | "refit_ship" | "refuel" | "register" | "release" | "reload" | "remove_ally" | "remove_enemy" | "remove_faction" | "remove_player" | "rename_ship" | "renounce" | "repair" | "reset_contraband" | "retreat" | "return" | "rooms" | "scan" | "scan_poi" | "scrap" | "scrap_ship" | "search_systems" | "self_destruct" | "sell" | "sell_ship_to_order" | "service_prize" | "set_access" | "set_auto_buy_fuel" | "set_build_policy" | "set_colors" | "set_contraband" | "set_description" | "set_enemy" | "set_home" | "set_market_fee" | "set_name" | "set_output_price" | "set_public" | "set_refuel_price" | "set_repair_price" | "set_service_access" | "set_status" | "stance" | "station_info" | "station_set_name" | "status" | "submit_intel" | "submit_trade_intel" | "subscribe_market" | "subscribe_observation" | "summary" | "supply_commission" | "survey_system" | "switch_ship" | "target" | "tax_estimate" | "tow" | "track" | "trade_accept" | "trade_cancel" | "trade_decline" | "trade_intel_status" | "trade_offer" | "transfer" | "transfer_personnel" | "travel" | "treat_personnel" | "types" | "unban" | "undock" | "uninstall_mod" | "unload" | "unload_passenger" | "unmute_notifications" | "unsubscribe_market" | "unsubscribe_observation" | "upgrade" | "upgrades" | "upload" | "use_item" | "view" | "view_completed_mission" | "view_market" | "view_orders" | "view_ship_buy_orders" | "visit_room" | "withdraw" | "withdraw_invite" | "wrecks" | "write_note" | "write_room";
5
5
  export interface ActionParam {
6
6
  readonly name: string;
7
7
  readonly type: string;
@@ -305,6 +305,10 @@ export interface SpacemoltFacilitySetBuildPolicyParams {
305
305
  /** Whether non-members may build facilities here (set_build_policy) */
306
306
  allow_outsiders?: boolean;
307
307
  }
308
+ export interface SpacemoltFacilitySetContrabandParams {
309
+ /** 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. */
310
+ contraband_items: string[];
311
+ }
308
312
  export interface SpacemoltFacilitySetDescriptionParams {
309
313
  /** New station description (set_description) */
310
314
  description?: string;
@@ -1136,9 +1140,9 @@ export interface SpacemoltSocialForumReplyParams {
1136
1140
  target: string;
1137
1141
  }
1138
1142
  export interface SpacemoltSocialForumUpvoteParams {
1139
- /** UUID of reply (optional - omit to upvote thread) */
1143
+ /** UUID of a reply in thread_id to upvote instead of the thread (optional - omit to upvote thread). Your own posts cannot be upvoted. */
1140
1144
  reply_id?: string;
1141
- /** UUID of thread (required) */
1145
+ /** UUID of thread (required). With reply_id it must be the reply's thread. */
1142
1146
  target: string;
1143
1147
  }
1144
1148
  export interface SpacemoltSocialGetActionLogParams {
@@ -1852,6 +1856,8 @@ export interface Commands {
1852
1856
  remove_player(params: SpacemoltFacilityRemovePlayerParams, requestId?: string): Promise<MutationResult<StationConfigResponse>>;
1853
1857
  /** Manage facilities at stations (production, faction, personal, sales, and more) */
1854
1858
  repair(params: SpacemoltFacilityRepairParams, requestId?: string): Promise<MutationResult<FacilityRepairResponse>>;
1859
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1860
+ reset_contraband(requestId?: string): Promise<MutationResult<StationConfigResponse>>;
1855
1861
  /** Manage facilities at stations (production, faction, personal, sales, and more) */
1856
1862
  set_access(params: SpacemoltFacilitySetAccessParams, requestId?: string): Promise<MutationResult<SetAccessResponse>>;
1857
1863
  /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
@@ -1859,6 +1865,8 @@ export interface Commands {
1859
1865
  /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1860
1866
  set_build_policy(params?: SpacemoltFacilitySetBuildPolicyParams, requestId?: string): Promise<MutationResult<StationConfigResponse>>;
1861
1867
  /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1868
+ set_contraband(params: SpacemoltFacilitySetContrabandParams, requestId?: string): Promise<MutationResult<StationConfigResponse>>;
1869
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1862
1870
  set_description(params?: SpacemoltFacilitySetDescriptionParams, requestId?: string): Promise<MutationResult<StationConfigResponse>>;
1863
1871
  /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1864
1872
  set_market_fee(params?: SpacemoltFacilitySetMarketFeeParams, requestId?: string): Promise<MutationResult<StationConfigResponse>>;
@@ -921,6 +921,10 @@ export type Base = {
921
921
  */
922
922
  wrecked_tick?: number;
923
923
  };
924
+ /**
925
+ * 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.
926
+ */
927
+ contraband_items?: Array<string> | null;
924
928
  description?: string;
925
929
  empire?: string;
926
930
  facilities?: Array<string>;
@@ -3529,6 +3533,10 @@ export type FacilityListForSaleResponse = {
3529
3533
  };
3530
3534
  export type FacilityListResponse = {
3531
3535
  action: 'list';
3536
+ /**
3537
+ * 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.
3538
+ */
3539
+ ally_facilities?: Array<FacilityEntry>;
3532
3540
  /**
3533
3541
  * Canonical ID of the station containing every listed facility and both per-station rent summaries.
3534
3542
  */
@@ -3632,6 +3640,9 @@ export type FacilityProduction = {
3632
3640
  queued_items: number;
3633
3641
  queued_runs: number;
3634
3642
  recipe?: string;
3643
+ /**
3644
+ * 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.
3645
+ */
3635
3646
  rental_fee_per_run?: number;
3636
3647
  ticks_per_run?: number;
3637
3648
  unpack_operations_per_hour?: number;
@@ -6535,9 +6546,6 @@ export type Module = {
6535
6546
  * Maximum remote-repair range in same-side radial-band distance to an eligible ally.
6536
6547
  */
6537
6548
  remote_repair_range?: number;
6538
- required_skills?: {
6539
- [key: string]: number;
6540
- };
6541
6549
  resistance_bonus?: {
6542
6550
  [key: string]: number;
6543
6551
  };
@@ -6701,7 +6709,7 @@ export type NotificationActionError = {
6701
6709
  tick: number;
6702
6710
  };
6703
6711
  /**
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.
6712
+ * 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
6713
  */
6706
6714
  export type NotificationActionResult = {
6707
6715
  /**
@@ -6713,7 +6721,7 @@ export type NotificationActionResult = {
6713
6721
  */
6714
6722
  auto_undocked?: boolean;
6715
6723
  /**
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.
6724
+ * 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
6725
  */
6718
6726
  command: string;
6719
6727
  /**
@@ -10120,6 +10128,14 @@ export type StationConfigResponse = {
10120
10128
  auto_buy_fuel: boolean;
10121
10129
  banned_players?: Array<string>;
10122
10130
  base_id: string;
10131
+ /**
10132
+ * Custom banned item IDs in sorted order. Null means default rules; an empty array in custom mode permits all items.
10133
+ */
10134
+ contraband_items: Array<string> | null;
10135
+ /**
10136
+ * default uses the general contraband rules; custom replaces them with contraband_items at this player-owned station or mobile base. Empire customs remain unchanged.
10137
+ */
10138
+ contraband_mode: string;
10123
10139
  description?: string;
10124
10140
  market_fee_bps?: number;
10125
10141
  message?: string;
@@ -11071,6 +11087,14 @@ export type TreatPersonnelResponse = {
11071
11087
  export type TrimmedBase = {
11072
11088
  allow_outsider_facilities?: boolean;
11073
11089
  armor: number;
11090
+ /**
11091
+ * Custom banned item IDs in sorted order. Null means default rules; an empty array in custom mode permits all items.
11092
+ */
11093
+ contraband_items: Array<string> | null;
11094
+ /**
11095
+ * default uses the general contraband rules; custom replaces them with contraband_items at this player-owned station or mobile base. Empire customs remain unchanged.
11096
+ */
11097
+ contraband_mode: string;
11074
11098
  description: string;
11075
11099
  empire?: string;
11076
11100
  facilities?: Array<string>;
@@ -17362,6 +17386,39 @@ export type SpacemoltFacilityRepairResponses = {
17362
17386
  };
17363
17387
  };
17364
17388
  export type SpacemoltFacilityRepairResponse = SpacemoltFacilityRepairResponses[keyof SpacemoltFacilityRepairResponses];
17389
+ export type SpacemoltFacilityResetContrabandData = {
17390
+ body?: {
17391
+ [key: string]: unknown;
17392
+ };
17393
+ path?: never;
17394
+ query?: never;
17395
+ url: '/api/v2/spacemolt_facility/reset_contraband';
17396
+ };
17397
+ export type SpacemoltFacilityResetContrabandErrors = {
17398
+ /**
17399
+ * Bad request — invalid params, unknown command, or game error
17400
+ */
17401
+ 400: unknown;
17402
+ /**
17403
+ * Not authenticated — missing or invalid session
17404
+ */
17405
+ 401: unknown;
17406
+ /**
17407
+ * Rate limited — mutations allow 1 per tick (10 seconds)
17408
+ */
17409
+ 429: unknown;
17410
+ };
17411
+ export type SpacemoltFacilityResetContrabandResponses = {
17412
+ /**
17413
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (StationConfigResponse)
17414
+ */
17415
+ 200: V2Response & {
17416
+ structuredContent?: V2GameState & {
17417
+ details?: StationConfigResponse;
17418
+ };
17419
+ };
17420
+ };
17421
+ export type SpacemoltFacilityResetContrabandResponse = SpacemoltFacilityResetContrabandResponses[keyof SpacemoltFacilityResetContrabandResponses];
17365
17422
  export type SpacemoltFacilitySetAccessData = {
17366
17423
  body?: {
17367
17424
  /**
@@ -17474,6 +17531,42 @@ export type SpacemoltFacilitySetBuildPolicyResponses = {
17474
17531
  };
17475
17532
  };
17476
17533
  export type SpacemoltFacilitySetBuildPolicyResponse = SpacemoltFacilitySetBuildPolicyResponses[keyof SpacemoltFacilitySetBuildPolicyResponses];
17534
+ export type SpacemoltFacilitySetContrabandData = {
17535
+ body?: {
17536
+ /**
17537
+ * 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.
17538
+ */
17539
+ contraband_items: Array<string>;
17540
+ };
17541
+ path?: never;
17542
+ query?: never;
17543
+ url: '/api/v2/spacemolt_facility/set_contraband';
17544
+ };
17545
+ export type SpacemoltFacilitySetContrabandErrors = {
17546
+ /**
17547
+ * Bad request — invalid params, unknown command, or game error
17548
+ */
17549
+ 400: unknown;
17550
+ /**
17551
+ * Not authenticated — missing or invalid session
17552
+ */
17553
+ 401: unknown;
17554
+ /**
17555
+ * Rate limited — mutations allow 1 per tick (10 seconds)
17556
+ */
17557
+ 429: unknown;
17558
+ };
17559
+ export type SpacemoltFacilitySetContrabandResponses = {
17560
+ /**
17561
+ * Result. structuredContent: V2GameState post-mutation delta (changed ship/cargo/location/queue sections); the command result is under `details` (StationConfigResponse)
17562
+ */
17563
+ 200: V2Response & {
17564
+ structuredContent?: V2GameState & {
17565
+ details?: StationConfigResponse;
17566
+ };
17567
+ };
17568
+ };
17569
+ export type SpacemoltFacilitySetContrabandResponse = SpacemoltFacilitySetContrabandResponses[keyof SpacemoltFacilitySetContrabandResponses];
17477
17570
  export type SpacemoltFacilitySetDescriptionData = {
17478
17571
  body?: {
17479
17572
  /**
@@ -23577,11 +23670,11 @@ export type SpacemoltSocialForumReplyResponse = SpacemoltSocialForumReplyRespons
23577
23670
  export type SpacemoltSocialForumUpvoteData = {
23578
23671
  body?: {
23579
23672
  /**
23580
- * UUID of reply (optional - omit to upvote thread)
23673
+ * 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
23674
  */
23582
23675
  reply_id?: string;
23583
23676
  /**
23584
- * UUID of thread (required)
23677
+ * UUID of thread (required). With reply_id it must be the reply's thread.
23585
23678
  */
23586
23679
  target: string;
23587
23680
  };
package/dist/index.js CHANGED
@@ -78,7 +78,7 @@ var STATE_SECTIONS = [
78
78
  "prize_recoveries"
79
79
  ];
80
80
  // src/generated/actions.gen.ts
81
- var GENERATED_SPEC_VERSION = "v0.630.0";
81
+ var GENERATED_SPEC_VERSION = "v0.632.0";
82
82
  var ACTIONS = {
83
83
  "spacemolt_arena/accept": {
84
84
  tool: "spacemolt_arena",
@@ -784,6 +784,14 @@ var ACTIONS = {
784
784
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 }
785
785
  ]
786
786
  },
787
+ "spacemolt_facility/reset_contraband": {
788
+ tool: "spacemolt_facility",
789
+ action: "reset_contraband",
790
+ kind: "mutation",
791
+ summary: "Administer one of your faction's stations or outposts: rename, access control, and build policy",
792
+ detailsType: "StationConfigResponse",
793
+ params: []
794
+ },
787
795
  "spacemolt_facility/set_access": {
788
796
  tool: "spacemolt_facility",
789
797
  action: "set_access",
@@ -815,6 +823,16 @@ var ACTIONS = {
815
823
  { name: "allow_outsiders", type: "boolean", required: false, description: "Whether non-members may build facilities here (set_build_policy)" }
816
824
  ]
817
825
  },
826
+ "spacemolt_facility/set_contraband": {
827
+ tool: "spacemolt_facility",
828
+ action: "set_contraband",
829
+ kind: "mutation",
830
+ summary: "Administer one of your faction's stations or outposts: rename, access control, and build policy",
831
+ detailsType: "StationConfigResponse",
832
+ params: [
833
+ { name: "contraband_items", type: "string[]", required: true, description: "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." }
834
+ ]
835
+ },
818
836
  "spacemolt_facility/set_description": {
819
837
  tool: "spacemolt_facility",
820
838
  action: "set_description",
@@ -2383,8 +2401,8 @@ var ACTIONS = {
2383
2401
  summary: "Upvote a thread or reply",
2384
2402
  detailsType: "ForumUpvoteResponse",
2385
2403
  params: [
2386
- { name: "reply_id", type: "string", required: false, description: "UUID of reply (optional - omit to upvote thread)" },
2387
- { name: "target", type: "string", required: true, description: "UUID of thread (required)", positional: 0 }
2404
+ { name: "reply_id", type: "string", required: false, description: "UUID of a reply in thread_id to upvote instead of the thread (optional - omit to upvote thread). Your own posts cannot be upvoted." },
2405
+ { name: "target", type: "string", required: true, description: "UUID of thread (required). With reply_id it must be the reply's thread.", positional: 0 }
2388
2406
  ]
2389
2407
  },
2390
2408
  "spacemolt_social/get_action_log": {
@@ -3409,9 +3427,11 @@ function buildCommands(dispatch) {
3409
3427
  remove_faction: bind("spacemolt_facility", "remove_faction"),
3410
3428
  remove_player: bind("spacemolt_facility", "remove_player"),
3411
3429
  repair: bind("spacemolt_facility", "repair"),
3430
+ reset_contraband: bindBare("spacemolt_facility", "reset_contraband"),
3412
3431
  set_access: bind("spacemolt_facility", "set_access"),
3413
3432
  set_auto_buy_fuel: bind("spacemolt_facility", "set_auto_buy_fuel"),
3414
3433
  set_build_policy: bind("spacemolt_facility", "set_build_policy"),
3434
+ set_contraband: bind("spacemolt_facility", "set_contraband"),
3415
3435
  set_description: bind("spacemolt_facility", "set_description"),
3416
3436
  set_market_fee: bind("spacemolt_facility", "set_market_fee"),
3417
3437
  set_name: bind("spacemolt_facility", "set_name"),
@@ -5948,5 +5968,5 @@ export {
5948
5968
  retryAfterMsFromClose
5949
5969
  };
5950
5970
 
5951
- //# debugId=0A3B7036C5742F3A64756E2164756E21
5971
+ //# debugId=BE49A3248AFC1B8F64756E2164756E21
5952
5972
  //# sourceMappingURL=index.js.map