@spacemolt/lib 11.4.0 → 11.6.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.530.1`). **278 commands across 18 tools.**
4
+ Every command in `@spacemolt/lib`, generated from the live server spec (`v0.537.2`). **278 commands across 18 tools.**
5
5
 
6
6
  ## How to call a command
7
7
 
@@ -50,7 +50,7 @@ Call as `account.commands.spacemolt.<action>(...)`.
50
50
  - `cloak({ enable?: boolean; quantity?: number })` · *mutation* → delta.details: `CloakResponse` — Toggle cloaking device
51
51
  - `complete_mission({ id: string })` · *mutation* → delta.details: `CompleteMissionResponse` — Complete a mission and claim rewards
52
52
  - `completed_missions()` · *query* → `CompletedMissionsResponse` — List all missions you have completed
53
- - `craft({ count?: number; deliver_to?: string; dry_run?: boolean; facility_id?: string; id?: string; items?: { item_id: string; quantity: number }[]; job_id?: string; job_ids?: string[]; jobs?: { deliver_to?: string; facility_id?: string; items?: { item_id: string; quantity: number }[]; label?: string; package_id?: string; preset?: string; quantity?: number; recipe_id: string; source?: string; target?: string }[]; label?: string; package_id?: string; preset?: "fast" | "cheap" | "prefer_own" | "workshop"; quantity?: number; source?: string; target?: string })` · *mutation* → delta.details: `CraftCommandResponse` — Queue a crafting job (auto-routes to your own/faction facility, or hand-crafts at the Station Workshop)
53
+ - `craft({ count?: number; deliver_to?: string; dry_run?: boolean; facility_id?: string; id?: string; items?: { item_id: string; quantity: number }[]; job_id?: string; job_ids?: string[]; jobs?: { deliver_to?: string; facility_id?: string; items?: { item_id: string; quantity: number }[]; label?: string; package_id?: string; preset?: string; quantity?: number; recipe_id: string; source?: string; target?: string }[]; label?: string; output_package_label?: string; package_id?: string; package_ids?: string[]; preset?: "fast" | "cheap" | "prefer_own" | "workshop"; quantity?: number; source?: string; target?: string })` · *mutation* → delta.details: `CraftCommandResponse` — Queue a crafting job (auto-routes to your own/faction facility, or hand-crafts at the Station Workshop)
54
54
  - `decline_mission({ id?: string; mission_id?: string })` · *query* → `DeclineMissionResponse` — Decline a mission and hear the NPC's response
55
55
  - `distress_signal({ distress_type?: "fuel" | "repair" | "combat" })` · *mutation* → delta.details: `DistressSignalResponse` — Broadcast a distress signal to nearby players for emergency rescue
56
56
  - `dock()` · *mutation* → delta.details: `DockResponse` — Dock at a base
@@ -162,18 +162,18 @@ Call as `account.commands.spacemolt_facility.<action>(...)`.
162
162
  - `ban({ player: string })` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
163
163
  - `base_cost()` · *query* → `BaseCostResponse` — Preview the cost and requirements to found a faction station
164
164
  - `browse_for_sale({ facility_type?: string; max_price?: number })` · *query* → `FacilityBrowseForSaleResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
165
- - `build({ bucket?: string; facility_type: string })` · *mutation* → delta.details: `FacilityBuildResponse | FacilityFactionBuildResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
165
+ - `build({ bucket?: string; facility_type: string; package_ids?: string[] })` · *mutation* → delta.details: `FacilityBuildResponse | FacilityFactionBuildResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
166
166
  - `buy_listing({ listing_id: string })` · *mutation* → delta.details: `FacilityBuyListingResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
167
167
  - `buy_ship_license({ ship_class: string })` · *mutation* → delta.details: `ShipLicenseResponse` — License a specific ship design so your faction can build it at its own stations
168
168
  - `cancel_listing({ listing_id: string })` · *mutation* → delta.details: `FacilityCancelListingResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
169
169
  - `deploy_outpost({ name: string })` · *mutation* → delta.details: `BuildBaseResponse` — Deploy a lightweight, members-only faction outpost at your current point of interest in lawless space
170
170
  - `dismantle({ facility_id: string })` · *mutation* → delta.details: `FacilityDismantleResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
171
171
  - `facility_set_description({ description?: string; facility_id: string })` · *query* → `SetFacilityDescriptionResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
172
- - `faction_build({ bucket?: string; facility_type: string; species?: string })` · *mutation* → delta.details: `FacilityFactionBuildResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
172
+ - `faction_build({ bucket?: string; facility_type: string; package_ids?: string[]; species?: string })` · *mutation* → delta.details: `FacilityFactionBuildResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
173
173
  - `faction_dismantle({ facility_id: string })` · *mutation* → delta.details: `FacilityDismantleResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
174
174
  - `faction_list()` · *query* → `FacilityFactionListResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
175
175
  - `faction_owned()` · *query* → `FacilityFactionOwnedResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
176
- - `faction_upgrade({ bucket?: string; facility_id: string; facility_type: string })` · *mutation* → delta.details: `FacilityFactionUpgradeResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
176
+ - `faction_upgrade({ bucket?: string; facility_id: string; facility_type: string; package_ids?: string[] })` · *mutation* → delta.details: `FacilityFactionUpgradeResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
177
177
  - `found_station({ name: string; public_access?: boolean })` · *mutation* → delta.details: `BuildBaseResponse` — Found a faction-owned station at your current point of interest in lawless space
178
178
  - `job_add({ deliver_to?: string; direction?: "forward" | "reverse"; facility_id: string; items?: { item_id: string; quantity: number }[]; label?: string; package_id?: string; quantity?: number; recipe_id: string; source?: string; target?: string })` · *mutation* → delta.details: `CraftJobResponse | PackageJobResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
179
179
  - `job_cancel({ job_id?: string; job_ids?: string[] })` · *mutation* → delta.details: `JobCancelResponse | BulkJobCancelResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
@@ -206,7 +206,7 @@ Call as `account.commands.spacemolt_facility.<action>(...)`.
206
206
  - `transfer({ direction: "to_faction" | "to_player"; facility_id: string; player_id?: string })` · *mutation* → delta.details: `FacilityTransferResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
207
207
  - `types({ category?: "infrastructure" | "service" | "production" | "faction" | "personal"; facility_type?: string; level?: number; name?: string; page?: number; per_page?: number })` · *query* → `FacilityTypeDiscoveryResponse | FacilityTypeListResponse | FacilityTypeDetailResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
208
208
  - `unban({ player: string })` · *mutation* → delta.details: `StationConfigResponse` — Administer one of your faction's stations or outposts: rename, access control, and build policy
209
- - `upgrade({ bucket?: string; facility_id: string; facility_type: string })` · *mutation* → delta.details: `FacilityUpgradeResponse | FacilityFactionUpgradeResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
209
+ - `upgrade({ bucket?: string; facility_id: string; facility_type: string; package_ids?: string[] })` · *mutation* → delta.details: `FacilityUpgradeResponse | FacilityFactionUpgradeResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
210
210
  - `upgrades()` · *query* → `FacilityUpgradesResponse` — Manage facilities at stations (production, faction, personal, sales, and more)
211
211
 
212
212
  ## spacemolt_faction
@@ -1,5 +1,5 @@
1
1
  /** The gameserver spec version this command surface was generated from. */
2
- export declare const GENERATED_SPEC_VERSION = "v0.530.1";
2
+ export declare const GENERATED_SPEC_VERSION = "v0.537.2";
3
3
  export type ToolName = "spacemolt" | "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
4
  export type ActionName = "abandon_mission" | "accept" | "accept_ally" | "accept_invite" | "accept_mission" | "accept_peace" | "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_order" | "cancel_ship_buy_order" | "cancel_ship_listing" | "captains_log_add" | "captains_log_delete" | "captains_log_get" | "captains_log_list" | "chat" | "claim" | "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" | "delete_note" | "delete_role" | "delete_room" | "deliver" | "deploy" | "deploy_outpost" | "deposit" | "disband" | "disembark" | "dismantle" | "distress_signal" | "dock" | "edit" | "edit_role" | "engage" | "espionage" | "estimate_purchase" | "facility_set_description" | "faction_build" | "faction_dismantle" | "faction_list" | "faction_owned" | "faction_upgrade" | "find_route" | "forum_create_thread" | "forum_delete_reply" | "forum_delete_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_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" | "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_token" | "logout" | "loot" | "mine" | "modify_order" | "mute_notifications" | "name" | "owned" | "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" | "recycle" | "refit_ship" | "refuel" | "register" | "release" | "reload" | "remove_ally" | "remove_enemy" | "remove_faction" | "remove_player" | "rename_ship" | "renounce" | "repair" | "repair_module" | "retreat" | "return" | "rooms" | "scan" | "scan_poi" | "scrap" | "scrap_ship" | "search_systems" | "self_destruct" | "sell" | "sell_ship_to_order" | "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" | "travel" | "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 {
@@ -125,6 +125,8 @@ export interface SpacemoltFacilityBuildParams {
125
125
  bucket?: string;
126
126
  /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
127
127
  facility_type: string;
128
+ /** For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall. */
129
+ package_ids?: string[];
128
130
  }
129
131
  export interface SpacemoltFacilityBuyListingParams {
130
132
  /** For 'buy_listing' and 'cancel_listing': the facility listing ID. Use action 'browse_for_sale' to see listings. */
@@ -157,6 +159,8 @@ export interface SpacemoltFacilityFactionBuildParams {
157
159
  bucket?: string;
158
160
  /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
159
161
  facility_type: string;
162
+ /** For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall. */
163
+ package_ids?: string[];
160
164
  /** For 'faction_build' of a ranch facility: the grazer species to ranch (fixed for the facility's life). survey_system shows what lives in the system. */
161
165
  species?: string;
162
166
  }
@@ -171,6 +175,8 @@ export interface SpacemoltFacilityFactionUpgradeParams {
171
175
  facility_id: string;
172
176
  /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
173
177
  facility_type: string;
178
+ /** For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall. */
179
+ package_ids?: string[];
174
180
  }
175
181
  export interface SpacemoltFacilityFoundStationParams {
176
182
  /** Name for the new faction station */
@@ -354,6 +360,8 @@ export interface SpacemoltFacilityUpgradeParams {
354
360
  facility_id: string;
355
361
  /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
356
362
  facility_type: string;
363
+ /** For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall. */
364
+ package_ids?: string[];
357
365
  }
358
366
  export interface SpacemoltFactionAdminCreateRoleParams {
359
367
  /** Role name */
@@ -1260,8 +1268,12 @@ export interface SpacemoltCraftParams {
1260
1268
  }[];
1261
1269
  /** For pack_package: player-authored package label. */
1262
1270
  label?: string;
1271
+ /** Bundle the outputs into one package: instead of depositing outputs loose per run, the job holds them and seals them into a single new package with this label in the destination on completion, consuming one cargo_container. Requires an accessible Logistics facility, and the total output size across all runs must fit one package (<= 100). Cancelling refunds the inputs and produces no package. */
1272
+ output_package_label?: string;
1263
1273
  /** For unpack_package: package instance ID to unpack. */
1264
1274
  package_id?: string;
1275
+ /** Source this craft's inputs from these packages (raw id or 'package:<id>' form) instead of loose storage items. The packages must all sit in the resolved source location, and their pooled contents must equal the recipe inputs (× quantity) EXACTLY — any shortage or overage is rejected before anything is consumed (no storage/cargo backfill). Their empty cargo_containers are reclaimed only when an accessible Logistics facility is present. */
1276
+ package_ids?: string[];
1265
1277
  /** Auto-routing preset: 'fast' (fewest ticks, default) picks the best facility globally, so a busy own facility may route to an idle public rental. 'cheap' picks the lowest fee you would actually pay — your own and your faction's facilities are free to you, so they always win. Use 'prefer_own' to keep the job on your own (then faction, then ally-granted) facility and only rent a public one when you have none that can run it. Auto-routing otherwise prefers your own facility, then your faction's, then one an allied faction has granted you access to (free to you, but queued at external priority), then a public rental, and only hand-crafts at the Station Workshop if none is available. Use 'workshop' to force hand-crafting even when you have a facility. */
1266
1278
  preset?: "fast" | "cheap" | "prefer_own" | "workshop";
1267
1279
  /** Number of output items to make (default 1). Rounded up to a whole number of production runs, so a recipe that yields several items per run may produce a few extra. */
@@ -4,6 +4,8 @@ export type AbandonMissionResponse = {
4
4
  title: string;
5
5
  };
6
6
  export type AcceptMissionResponse = {
7
+ auto_docked?: boolean;
8
+ auto_undocked?: boolean;
7
9
  expires_at: string;
8
10
  message: string;
9
11
  mission_id: string;
@@ -113,6 +115,8 @@ export type AnalysisStep = {
113
115
  recipe_id: string;
114
116
  };
115
117
  export type AnalyzeMarketResponse = {
118
+ auto_docked?: boolean;
119
+ auto_undocked?: boolean;
116
120
  insights: Array<MarketInsight>;
117
121
  message: string;
118
122
  skill_level: number;
@@ -481,6 +485,8 @@ export type BrowseShipsResponse = {
481
485
  listings: Array<ShipListing>;
482
486
  };
483
487
  export type BuildBaseResponse = {
488
+ auto_docked?: boolean;
489
+ auto_undocked?: boolean;
484
490
  base_id: string;
485
491
  fee_paid: number;
486
492
  hint: string;
@@ -526,6 +532,8 @@ export type BulkCancelOrderResult = {
526
532
  };
527
533
  export type BulkCancelOrdersResponse = {
528
534
  action: 'cancel_order';
535
+ auto_docked?: boolean;
536
+ auto_undocked?: boolean;
529
537
  kind: 'bulk';
530
538
  mode: 'bulk';
531
539
  results: Array<BulkCancelOrderResult>;
@@ -538,6 +546,8 @@ export type BulkCancelReturns = {
538
546
  };
539
547
  export type BulkCraftResponse = {
540
548
  action: 'craft' | 'recycle';
549
+ auto_docked?: boolean;
550
+ auto_undocked?: boolean;
541
551
  kind: 'bulk_craft';
542
552
  mode: 'bulk';
543
553
  results: Array<BulkCraftResult>;
@@ -560,6 +570,8 @@ export type BulkCraftResult = {
560
570
  };
561
571
  export type BulkCreateBuyOrdersResponse = {
562
572
  action: 'create_buy_order';
573
+ auto_docked?: boolean;
574
+ auto_undocked?: boolean;
563
575
  kind: 'bulk';
564
576
  mode: 'bulk';
565
577
  results: Array<BulkBuyOrderResult>;
@@ -567,6 +579,8 @@ export type BulkCreateBuyOrdersResponse = {
567
579
  };
568
580
  export type BulkCreateSellOrdersResponse = {
569
581
  action: 'create_sell_order';
582
+ auto_docked?: boolean;
583
+ auto_undocked?: boolean;
570
584
  kind: 'bulk';
571
585
  mode: 'bulk';
572
586
  results: Array<BulkSellOrderResult>;
@@ -594,6 +608,8 @@ export type BulkFactionBuyOrderResult = {
594
608
  };
595
609
  export type BulkFactionCreateBuyOrdersResponse = {
596
610
  action: 'faction_create_buy_order';
611
+ auto_docked?: boolean;
612
+ auto_undocked?: boolean;
597
613
  kind: 'bulk';
598
614
  mode: 'bulk';
599
615
  results: Array<BulkFactionBuyOrderResult>;
@@ -601,6 +617,8 @@ export type BulkFactionCreateBuyOrdersResponse = {
601
617
  };
602
618
  export type BulkFactionCreateSellOrdersResponse = {
603
619
  action: 'faction_create_sell_order';
620
+ auto_docked?: boolean;
621
+ auto_undocked?: boolean;
604
622
  kind: 'bulk';
605
623
  mode: 'bulk';
606
624
  results: Array<BulkFactionSellOrderResult>;
@@ -626,6 +644,8 @@ export type BulkFactionSellOrderResult = {
626
644
  };
627
645
  export type BulkJobCancelResponse = {
628
646
  action: 'job_cancel';
647
+ auto_docked?: boolean;
648
+ auto_undocked?: boolean;
629
649
  kind: 'bulk_cancel';
630
650
  message: string;
631
651
  mode: 'bulk';
@@ -645,6 +665,8 @@ export type BulkModifyOrderResult = {
645
665
  };
646
666
  export type BulkModifyOrdersResponse = {
647
667
  action: 'modify_order';
668
+ auto_docked?: boolean;
669
+ auto_undocked?: boolean;
648
670
  kind: 'bulk';
649
671
  mode: 'bulk';
650
672
  results: Array<BulkModifyOrderResult>;
@@ -689,6 +711,8 @@ export type BulkStorageItemResult = {
689
711
  };
690
712
  export type BulkStorageResponse = {
691
713
  action: 'bulk_deposit' | 'bulk_withdraw' | 'bulk_transfer';
714
+ auto_docked?: boolean;
715
+ auto_undocked?: boolean;
692
716
  bucket?: string;
693
717
  bucket_id?: string;
694
718
  dest_bucket?: string;
@@ -711,6 +735,8 @@ export type BurnLogEntry = {
711
735
  ticks_remaining: number;
712
736
  };
713
737
  export type BuyInsuranceResponse = {
738
+ auto_docked?: boolean;
739
+ auto_undocked?: boolean;
714
740
  coverage: number;
715
741
  expires_at: string;
716
742
  factors?: Array<RiskFactor>;
@@ -721,6 +747,8 @@ export type BuyInsuranceResponse = {
721
747
  risk_score?: number;
722
748
  };
723
749
  export type BuyListedShipResponse = {
750
+ auto_docked?: boolean;
751
+ auto_undocked?: boolean;
724
752
  class_id: string;
725
753
  credits_left: number;
726
754
  message: string;
@@ -730,7 +758,9 @@ export type BuyListedShipResponse = {
730
758
  };
731
759
  export type BuyResponse = {
732
760
  action: string;
761
+ auto_docked?: boolean;
733
762
  auto_listed?: AutoListedOrder;
763
+ auto_undocked?: boolean;
734
764
  delivered_to_cargo?: number;
735
765
  delivered_to_storage?: number;
736
766
  fills: Array<Fill>;
@@ -757,6 +787,8 @@ export type CancelOrderCommandResponse = ({
757
787
  } & BulkCancelOrdersResponse);
758
788
  export type CancelOrderResponse = {
759
789
  action: 'cancel_order';
790
+ auto_docked?: boolean;
791
+ auto_undocked?: boolean;
760
792
  delivered_to?: string;
761
793
  faction_order?: boolean;
762
794
  kind: 'single';
@@ -1066,6 +1098,8 @@ export type ClientSystemInfo = {
1066
1098
  security_status?: string;
1067
1099
  };
1068
1100
  export type CloakResponse = {
1101
+ auto_docked?: boolean;
1102
+ auto_undocked?: boolean;
1069
1103
  cloak_strength: number;
1070
1104
  enabled: boolean;
1071
1105
  message: string;
@@ -1161,6 +1195,8 @@ export type CommissionMaterialStatus = {
1161
1195
  needed: number;
1162
1196
  };
1163
1197
  export type CommissionQuoteResponse = {
1198
+ auto_docked?: boolean;
1199
+ auto_undocked?: boolean;
1164
1200
  blockers?: Array<string>;
1165
1201
  build_materials?: Array<CargoItem>;
1166
1202
  build_time?: number;
@@ -1181,6 +1217,8 @@ export type CommissionQuoteResponse = {
1181
1217
  yard_margin?: number;
1182
1218
  };
1183
1219
  export type CommissionShipResponse = {
1220
+ auto_docked?: boolean;
1221
+ auto_undocked?: boolean;
1184
1222
  build_time?: number;
1185
1223
  commission_id: string;
1186
1224
  credits_left: number;
@@ -1198,6 +1236,8 @@ export type CommissionStatusResponse = {
1198
1236
  count: number;
1199
1237
  };
1200
1238
  export type CompleteMissionResponse = {
1239
+ auto_docked?: boolean;
1240
+ auto_undocked?: boolean;
1201
1241
  chain_next?: string;
1202
1242
  community_contributed?: {
1203
1243
  [key: string]: number;
@@ -1246,6 +1286,8 @@ export type CraftCommandResponse = ({
1246
1286
  } & PackageJobResponse);
1247
1287
  export type CraftJobResponse = {
1248
1288
  action: 'craft' | 'recycle' | 'job_add';
1289
+ auto_docked?: boolean;
1290
+ auto_undocked?: boolean;
1249
1291
  effective_time_per_run: number;
1250
1292
  escrowed: EscrowSummary;
1251
1293
  est_completion_tick: number;
@@ -1263,6 +1305,8 @@ export type CraftJobResponse = {
1263
1305
  };
1264
1306
  export type CraftQueueResponse = {
1265
1307
  action: 'queue';
1308
+ auto_docked?: boolean;
1309
+ auto_undocked?: boolean;
1266
1310
  jobs: Array<JobView>;
1267
1311
  kind: 'queue';
1268
1312
  message?: string;
@@ -1270,6 +1314,8 @@ export type CraftQueueResponse = {
1270
1314
  };
1271
1315
  export type CraftQuoteResponse = {
1272
1316
  action: 'craft' | 'recycle';
1317
+ auto_docked?: boolean;
1318
+ auto_undocked?: boolean;
1273
1319
  cost: EscrowSummary;
1274
1320
  credits_total: number;
1275
1321
  dry_run: boolean;
@@ -1315,6 +1361,8 @@ export type CreateBuyOrderCommandResponse = ({
1315
1361
  } & BulkCreateBuyOrdersResponse);
1316
1362
  export type CreateBuyOrderResponse = {
1317
1363
  action: 'create_buy_order';
1364
+ auto_docked?: boolean;
1365
+ auto_undocked?: boolean;
1318
1366
  consolidated?: boolean;
1319
1367
  delivered_to_cargo?: number;
1320
1368
  delivered_to_storage?: number;
@@ -1356,6 +1404,8 @@ export type CreateSellOrderCommandResponse = ({
1356
1404
  } & BulkCreateSellOrdersResponse);
1357
1405
  export type CreateSellOrderResponse = {
1358
1406
  action: 'create_sell_order';
1407
+ auto_docked?: boolean;
1408
+ auto_undocked?: boolean;
1359
1409
  consolidated?: boolean;
1360
1410
  fills?: Array<Fill>;
1361
1411
  from_cargo?: number;
@@ -1390,6 +1440,8 @@ export type CreatureInfo = {
1390
1440
  species: string;
1391
1441
  };
1392
1442
  export type DeclineMissionResponse = {
1443
+ auto_docked?: boolean;
1444
+ auto_undocked?: boolean;
1393
1445
  giver?: MissionGiverInfo;
1394
1446
  message: string;
1395
1447
  template_id: string;
@@ -1402,6 +1454,8 @@ export type DeleteNoteResponse = {
1402
1454
  };
1403
1455
  export type DeployAllDronesResponse = {
1404
1456
  action: 'deploy_all_drones';
1457
+ auto_docked?: boolean;
1458
+ auto_undocked?: boolean;
1405
1459
  bandwidth_total: number;
1406
1460
  bandwidth_used: number;
1407
1461
  deployed: number;
@@ -1415,6 +1469,8 @@ export type DeployDroneCommandResponse = ({
1415
1469
  } & DeployAllDronesResponse);
1416
1470
  export type DeployDroneResponse = {
1417
1471
  action: 'deploy_drone';
1472
+ auto_docked?: boolean;
1473
+ auto_undocked?: boolean;
1418
1474
  bandwidth_total: number;
1419
1475
  bandwidth_used: number;
1420
1476
  drone_id: string;
@@ -1426,14 +1482,19 @@ export type DeployDroneResponse = {
1426
1482
  };
1427
1483
  export type DepositItemsResponse = {
1428
1484
  action: 'deposit_items';
1485
+ auto_docked?: boolean;
1486
+ auto_undocked?: boolean;
1429
1487
  cargo_remaining: number;
1430
1488
  cargo_space: number;
1431
1489
  item_id: string;
1490
+ message?: string;
1432
1491
  quantity: number;
1433
1492
  storage_total: number;
1434
1493
  };
1435
1494
  export type DistressSignalResponse = {
1436
1495
  action: string;
1496
+ auto_docked?: boolean;
1497
+ auto_undocked?: boolean;
1437
1498
  distress_type: string;
1438
1499
  expires_seconds: number;
1439
1500
  message: string;
@@ -1491,6 +1552,8 @@ export type DroneInfo = {
1491
1552
  };
1492
1553
  export type EmpireGiftResponse = {
1493
1554
  action: 'empire_gift_credits' | 'empire_gift_items' | 'empire_gift_ship';
1555
+ auto_docked?: boolean;
1556
+ auto_undocked?: boolean;
1494
1557
  base_id: string;
1495
1558
  base_name: string;
1496
1559
  cargo_remaining?: number;
@@ -1598,6 +1661,8 @@ export type EscrowedRewards = {
1598
1661
  };
1599
1662
  export type EspionageResponse = {
1600
1663
  action: string;
1664
+ auto_docked?: boolean;
1665
+ auto_undocked?: boolean;
1601
1666
  intel_type?: string;
1602
1667
  outcome: string;
1603
1668
  story: string;
@@ -1716,6 +1781,7 @@ export type FacilityDefinition = {
1716
1781
  life_support_supply?: number;
1717
1782
  logistics?: boolean;
1718
1783
  lore?: string;
1784
+ maintenance_fuel?: number;
1719
1785
  maintenance_inputs?: Array<RecipeInput>;
1720
1786
  max_cull_per_cycle?: number;
1721
1787
  max_species_tier?: number;
@@ -2172,6 +2238,8 @@ export type FactionCreateBuyOrderCommandResponse = ({
2172
2238
  } & BulkFactionCreateBuyOrdersResponse);
2173
2239
  export type FactionCreateBuyOrderResponse = {
2174
2240
  action: string;
2241
+ auto_docked?: boolean;
2242
+ auto_undocked?: boolean;
2175
2243
  bucket?: string;
2176
2244
  consolidated?: boolean;
2177
2245
  escrow_refunded?: number;
@@ -2215,6 +2283,8 @@ export type FactionCreateSellOrderCommandResponse = ({
2215
2283
  } & BulkFactionCreateSellOrdersResponse);
2216
2284
  export type FactionCreateSellOrderResponse = {
2217
2285
  action: string;
2286
+ auto_docked?: boolean;
2287
+ auto_undocked?: boolean;
2218
2288
  bucket?: string;
2219
2289
  consolidated?: boolean;
2220
2290
  faction_id: string;
@@ -2254,11 +2324,15 @@ export type FactionDeleteRoomResponse = {
2254
2324
  export type FactionDepositCreditsResponse = {
2255
2325
  action: 'faction_deposit_credits';
2256
2326
  amount: number;
2327
+ auto_docked?: boolean;
2328
+ auto_undocked?: boolean;
2257
2329
  faction_credits: number;
2258
2330
  player_credits: number;
2259
2331
  };
2260
2332
  export type FactionDepositFuelResponse = {
2261
2333
  action: 'faction_deposit_fuel';
2334
+ auto_docked?: boolean;
2335
+ auto_undocked?: boolean;
2262
2336
  fuel: number;
2263
2337
  fuel_capacity: number;
2264
2338
  ship_fuel: number;
@@ -2266,6 +2340,8 @@ export type FactionDepositFuelResponse = {
2266
2340
  };
2267
2341
  export type FactionDepositItemsResponse = {
2268
2342
  action: 'faction_deposit_items';
2343
+ auto_docked?: boolean;
2344
+ auto_undocked?: boolean;
2269
2345
  bucket?: string;
2270
2346
  bucket_id?: string;
2271
2347
  cargo_remaining: number;
@@ -2322,6 +2398,8 @@ export type FactionGarageStationEntry = {
2322
2398
  };
2323
2399
  export type FactionGarageStoreResponse = {
2324
2400
  action: 'faction_garage_store';
2401
+ auto_docked?: boolean;
2402
+ auto_undocked?: boolean;
2325
2403
  base_id: string;
2326
2404
  capacity: number;
2327
2405
  hint: string;
@@ -2339,6 +2417,8 @@ export type FactionGetInvitesResponse = {
2339
2417
  };
2340
2418
  export type FactionGiftResponse = {
2341
2419
  action: 'faction_gift';
2420
+ auto_docked?: boolean;
2421
+ auto_undocked?: boolean;
2342
2422
  credits_sent: number;
2343
2423
  faction_id: string;
2344
2424
  faction_name: string;
@@ -2469,6 +2549,8 @@ export type FactionPeaceProposal = {
2469
2549
  terms?: string;
2470
2550
  };
2471
2551
  export type FactionPostMissionResponse = {
2552
+ auto_docked?: boolean;
2553
+ auto_undocked?: boolean;
2472
2554
  escrowed: EscrowedRewards;
2473
2555
  message: string;
2474
2556
  status: string;
@@ -2666,6 +2748,8 @@ export type FactionWarInfo = {
2666
2748
  export type FactionWithdrawCreditsResponse = {
2667
2749
  action: 'faction_withdraw_credits';
2668
2750
  amount: number;
2751
+ auto_docked?: boolean;
2752
+ auto_undocked?: boolean;
2669
2753
  faction_credits: number;
2670
2754
  player_credits: number;
2671
2755
  };
@@ -2675,6 +2759,8 @@ export type FactionWithdrawInviteResponse = {
2675
2759
  };
2676
2760
  export type FactionWithdrawItemsResponse = {
2677
2761
  action: 'faction_withdraw_items';
2762
+ auto_docked?: boolean;
2763
+ auto_undocked?: boolean;
2678
2764
  bucket?: string;
2679
2765
  bucket_id?: string;
2680
2766
  cargo_space: number;
@@ -3223,6 +3309,8 @@ export type GiftNotification = {
3223
3309
  };
3224
3310
  export type GiftShipResponse = {
3225
3311
  action: 'gift_ship';
3312
+ auto_docked?: boolean;
3313
+ auto_undocked?: boolean;
3226
3314
  base_id: string;
3227
3315
  class_id: string;
3228
3316
  class_name?: string;
@@ -3236,6 +3324,8 @@ export type GuideEntry = {
3236
3324
  title: string;
3237
3325
  };
3238
3326
  export type HuntResponse = {
3327
+ auto_docked?: boolean;
3328
+ auto_undocked?: boolean;
3239
3329
  command: string;
3240
3330
  message: string;
3241
3331
  pending: boolean;
@@ -3298,6 +3388,8 @@ export type InspectResponse = {
3298
3388
  system?: MapSystemInfo;
3299
3389
  };
3300
3390
  export type InstallModResponse = {
3391
+ auto_docked?: boolean;
3392
+ auto_undocked?: boolean;
3301
3393
  cpu_used: number;
3302
3394
  current_ammo?: number;
3303
3395
  loaded_ammo?: string;
@@ -3406,6 +3498,8 @@ export type JailRecord = {
3406
3498
  };
3407
3499
  export type JettisonBulkResponse = {
3408
3500
  action: 'bulk_jettison';
3501
+ auto_docked?: boolean;
3502
+ auto_undocked?: boolean;
3409
3503
  container_id?: string;
3410
3504
  failed: number;
3411
3505
  message: string;
@@ -3428,6 +3522,8 @@ export type JettisonItemResult = {
3428
3522
  };
3429
3523
  export type JettisonResponse = {
3430
3524
  action: 'jettison';
3525
+ auto_docked?: boolean;
3526
+ auto_undocked?: boolean;
3431
3527
  container_id?: string;
3432
3528
  item_id: string;
3433
3529
  item_name: string;
@@ -3436,6 +3532,8 @@ export type JettisonResponse = {
3436
3532
  };
3437
3533
  export type JobCancelResponse = {
3438
3534
  action: 'job_cancel';
3535
+ auto_docked?: boolean;
3536
+ auto_undocked?: boolean;
3439
3537
  job_id: string;
3440
3538
  kind: 'cancel';
3441
3539
  message: string;
@@ -3516,6 +3614,8 @@ export type ListPassengersResponse = {
3516
3614
  passengers: Array<PassengerView>;
3517
3615
  };
3518
3616
  export type ListShipForSaleResponse = {
3617
+ auto_docked?: boolean;
3618
+ auto_undocked?: boolean;
3519
3619
  credits_left: number;
3520
3620
  fee: number;
3521
3621
  listing_id: string;
@@ -3542,6 +3642,8 @@ export type LoadDroneResponse = {
3542
3642
  status: string;
3543
3643
  };
3544
3644
  export type LoadPassengersResponse = {
3645
+ auto_docked?: boolean;
3646
+ auto_undocked?: boolean;
3545
3647
  count: number;
3546
3648
  loaded: Array<PassengerView>;
3547
3649
  message: string;
@@ -3575,6 +3677,8 @@ export type LoginResponse = {
3575
3677
  };
3576
3678
  export type LootWreckAllResponse = {
3577
3679
  action: 'loot_wreck_all';
3680
+ auto_docked?: boolean;
3681
+ auto_undocked?: boolean;
3578
3682
  looted: Array<LootedItem>;
3579
3683
  looted_modules?: Array<LootedModule>;
3580
3684
  message: string;
@@ -3591,6 +3695,8 @@ export type LootWreckCommandResponse = ({
3591
3695
  } & LootWreckAllResponse);
3592
3696
  export type LootWreckResponse = {
3593
3697
  action: 'loot_wreck';
3698
+ auto_docked?: boolean;
3699
+ auto_undocked?: boolean;
3594
3700
  item_id?: string;
3595
3701
  module_id?: string;
3596
3702
  module_type_id?: string;
@@ -3613,6 +3719,8 @@ export type LootedModule = {
3613
3719
  wear: number;
3614
3720
  };
3615
3721
  export type LoungeCheckInResponse = {
3722
+ auto_docked?: boolean;
3723
+ auto_undocked?: boolean;
3616
3724
  capacity: number;
3617
3725
  checked_in: Array<PassengerView>;
3618
3726
  count: number;
@@ -3798,6 +3906,8 @@ export type ModifyOrderCommandResponse = ({
3798
3906
  } & BulkModifyOrdersResponse);
3799
3907
  export type ModifyOrderResponse = {
3800
3908
  action: 'modify_order';
3909
+ auto_docked?: boolean;
3910
+ auto_undocked?: boolean;
3801
3911
  kind: 'single';
3802
3912
  listing_fee?: number;
3803
3913
  message: string;
@@ -4497,6 +4607,8 @@ export type Poi = {
4497
4607
  };
4498
4608
  export type PackageJobResponse = {
4499
4609
  action: 'pack' | 'unpack';
4610
+ auto_docked?: boolean;
4611
+ auto_undocked?: boolean;
4500
4612
  escrowed: EscrowSummary;
4501
4613
  eta_ticks: number;
4502
4614
  external?: boolean;
@@ -4580,6 +4692,8 @@ export type PathfinderJumpResponse = {
4580
4692
  origin_y?: number;
4581
4693
  };
4582
4694
  export type PendingActionResponse = {
4695
+ auto_docked?: boolean;
4696
+ auto_undocked?: boolean;
4583
4697
  command: string;
4584
4698
  message: string;
4585
4699
  pending: boolean;
@@ -4606,6 +4720,8 @@ export type PirateInfo = {
4606
4720
  tier: string;
4607
4721
  };
4608
4722
  export type PlaceShipBuyOrderResponse = {
4723
+ auto_docked?: boolean;
4724
+ auto_undocked?: boolean;
4609
4725
  class_id: string;
4610
4726
  credits_left: number;
4611
4727
  message: string;
@@ -4718,6 +4834,10 @@ export type Player = {
4718
4834
  };
4719
4835
  stats?: PlayerStats;
4720
4836
  status_message?: string;
4837
+ /**
4838
+ * ID of own ship currently being towed via a tow rig, empty if not towing a ship
4839
+ */
4840
+ towing_ship_id?: string;
4721
4841
  /**
4722
4842
  * ID of wreck currently being towed, empty if not towing
4723
4843
  */
@@ -4962,6 +5082,8 @@ export type RecycleJobResponse = ({
4962
5082
  kind: 'bulk_cancel';
4963
5083
  } & BulkJobCancelResponse);
4964
5084
  export type RefitShipResponse = {
5085
+ auto_docked?: boolean;
5086
+ auto_undocked?: boolean;
4965
5087
  cargo_returned: number;
4966
5088
  class_id: string;
4967
5089
  default_modules: number;
@@ -5044,6 +5166,8 @@ export type ReloadResponse = {
5044
5166
  weapon_name: string;
5045
5167
  };
5046
5168
  export type RepairModuleResponse = {
5169
+ auto_docked?: boolean;
5170
+ auto_undocked?: boolean;
5047
5171
  message: string;
5048
5172
  module_id: string;
5049
5173
  repair_amount: number;
@@ -5149,6 +5273,8 @@ export type ScrapShipResponse = {
5149
5273
  };
5150
5274
  export type ScrapWreckResponse = {
5151
5275
  action: string;
5276
+ auto_docked?: boolean;
5277
+ auto_undocked?: boolean;
5152
5278
  materials: Array<SalvageMaterial>;
5153
5279
  message: string;
5154
5280
  ship_class?: string;
@@ -5173,7 +5299,9 @@ export type SelfDestructResponse = {
5173
5299
  };
5174
5300
  export type SellResponse = {
5175
5301
  action: string;
5302
+ auto_docked?: boolean;
5176
5303
  auto_listed?: AutoListedOrder;
5304
+ auto_undocked?: boolean;
5177
5305
  fills: Array<Fill>;
5178
5306
  item: string;
5179
5307
  item_id: string;
@@ -5188,6 +5316,8 @@ export type SellResponse = {
5188
5316
  xp_gained?: number;
5189
5317
  };
5190
5318
  export type SellShipToOrderResponse = {
5319
+ auto_docked?: boolean;
5320
+ auto_undocked?: boolean;
5191
5321
  class_id: string;
5192
5322
  credits_left: number;
5193
5323
  message: string;
@@ -5196,6 +5326,8 @@ export type SellShipToOrderResponse = {
5196
5326
  };
5197
5327
  export type SellWreckResponse = {
5198
5328
  action: string;
5329
+ auto_docked?: boolean;
5330
+ auto_undocked?: boolean;
5199
5331
  cargo_value?: number;
5200
5332
  message: string;
5201
5333
  new_balance: number;
@@ -5206,6 +5338,8 @@ export type SellWreckResponse = {
5206
5338
  };
5207
5339
  export type SendGiftResponse = {
5208
5340
  action: 'send_gift';
5341
+ auto_docked?: boolean;
5342
+ auto_undocked?: boolean;
5209
5343
  base_id: string;
5210
5344
  cargo_remaining?: number;
5211
5345
  credits_sent?: number;
@@ -5244,6 +5378,8 @@ export type SetFacilityNameResponse = {
5244
5378
  message: string;
5245
5379
  };
5246
5380
  export type SetHomeBaseResponse = {
5381
+ auto_docked?: boolean;
5382
+ auto_undocked?: boolean;
5247
5383
  home_base: string;
5248
5384
  message: string;
5249
5385
  old_home_base?: string;
@@ -5914,6 +6050,8 @@ export type SubscribeObservationResponse = {
5914
6050
  };
5915
6051
  export type SupplyCommissionResponse = {
5916
6052
  all_sourced: boolean;
6053
+ auto_docked?: boolean;
6054
+ auto_undocked?: boolean;
5917
6055
  commission_id: string;
5918
6056
  commission_status: string;
5919
6057
  credits?: number;
@@ -5950,6 +6088,8 @@ export type SurveyedPoi = {
5950
6088
  export type SwitchShipResponse = {
5951
6089
  active_ship_class: string;
5952
6090
  active_ship_id: string;
6091
+ auto_docked?: boolean;
6092
+ auto_undocked?: boolean;
5953
6093
  cargo_note?: string;
5954
6094
  cargo_to_storage?: Array<SoldCargoItem>;
5955
6095
  claimed_from_faction_garage?: boolean;
@@ -6091,6 +6231,8 @@ export type TaxableIncomeByCategoryEntry = {
6091
6231
  };
6092
6232
  export type TowWreckResponse = {
6093
6233
  action: string;
6234
+ auto_docked?: boolean;
6235
+ auto_undocked?: boolean;
6094
6236
  cargo_count?: number;
6095
6237
  insured: boolean;
6096
6238
  message: string;
@@ -6156,6 +6298,8 @@ export type TradeOfferResponse = {
6156
6298
  export type TransferCreditsResponse = {
6157
6299
  action: 'transfer';
6158
6300
  amount: number;
6301
+ auto_docked?: boolean;
6302
+ auto_undocked?: boolean;
6159
6303
  dest_credits: number;
6160
6304
  destination: string;
6161
6305
  source: string;
@@ -6163,6 +6307,8 @@ export type TransferCreditsResponse = {
6163
6307
  };
6164
6308
  export type TransferItemsResponse = {
6165
6309
  action: 'transfer';
6310
+ auto_docked?: boolean;
6311
+ auto_undocked?: boolean;
6166
6312
  bucket?: string;
6167
6313
  bucket_id?: string;
6168
6314
  dest_bucket?: string;
@@ -6175,6 +6321,8 @@ export type TransferItemsResponse = {
6175
6321
  source_remaining: number;
6176
6322
  };
6177
6323
  export type TransferPassengersResponse = {
6324
+ auto_docked?: boolean;
6325
+ auto_undocked?: boolean;
6178
6326
  count: number;
6179
6327
  kind: 'transfer';
6180
6328
  message: string;
@@ -6247,6 +6395,8 @@ export type UndockResponse = {
6247
6395
  action: string;
6248
6396
  };
6249
6397
  export type UninstallModResponse = {
6398
+ auto_docked?: boolean;
6399
+ auto_undocked?: boolean;
6250
6400
  cpu_used: number;
6251
6401
  damaged: boolean;
6252
6402
  destroyed?: boolean;
@@ -6258,6 +6408,8 @@ export type UninstallModResponse = {
6258
6408
  wear_status?: string;
6259
6409
  };
6260
6410
  export type UnloadAllPassengersResponse = {
6411
+ auto_docked?: boolean;
6412
+ auto_undocked?: boolean;
6261
6413
  delivered: Array<PassengerView>;
6262
6414
  fare_collected: number;
6263
6415
  kind: 'all';
@@ -6282,6 +6434,8 @@ export type UnloadPassengerCommandResponse = ({
6282
6434
  kind: 'lounge_checkin';
6283
6435
  } & LoungeCheckInResponse);
6284
6436
  export type UnloadPassengerResponse = {
6437
+ auto_docked?: boolean;
6438
+ auto_undocked?: boolean;
6285
6439
  base_fare?: number;
6286
6440
  delivered: boolean;
6287
6441
  fare_collected: number;
@@ -6729,6 +6883,10 @@ export type V2GameState = {
6729
6883
  [key: string]: unknown;
6730
6884
  };
6731
6885
  status_message?: string;
6886
+ /**
6887
+ * ID of this player's own ship currently under tow via a tow rig (omitted when not towing a ship)
6888
+ */
6889
+ towing_ship_id?: string;
6732
6890
  /**
6733
6891
  * ID of the wreck this player is currently towing (omitted when not towing)
6734
6892
  */
@@ -7131,9 +7289,12 @@ export type WildlifeSurvey = {
7131
7289
  };
7132
7290
  export type WithdrawItemsResponse = {
7133
7291
  action: 'withdraw_items';
7292
+ auto_docked?: boolean;
7293
+ auto_undocked?: boolean;
7134
7294
  cargo_space: number;
7135
7295
  cargo_total: number;
7136
7296
  item_id: string;
7297
+ message?: string;
7137
7298
  quantity: number;
7138
7299
  storage_remaining: number;
7139
7300
  };
@@ -7584,10 +7745,18 @@ export type SpacemoltCraftData = {
7584
7745
  * For pack_package: player-authored package label.
7585
7746
  */
7586
7747
  label?: string;
7748
+ /**
7749
+ * Bundle the outputs into one package: instead of depositing outputs loose per run, the job holds them and seals them into a single new package with this label in the destination on completion, consuming one cargo_container. Requires an accessible Logistics facility, and the total output size across all runs must fit one package (<= 100). Cancelling refunds the inputs and produces no package.
7750
+ */
7751
+ output_package_label?: string;
7587
7752
  /**
7588
7753
  * For unpack_package: package instance ID to unpack.
7589
7754
  */
7590
7755
  package_id?: string;
7756
+ /**
7757
+ * Source this craft's inputs from these packages (raw id or 'package:<id>' form) instead of loose storage items. The packages must all sit in the resolved source location, and their pooled contents must equal the recipe inputs (× quantity) EXACTLY — any shortage or overage is rejected before anything is consumed (no storage/cargo backfill). Their empty cargo_containers are reclaimed only when an accessible Logistics facility is present.
7758
+ */
7759
+ package_ids?: Array<string>;
7591
7760
  /**
7592
7761
  * Auto-routing preset: 'fast' (fewest ticks, default) picks the best facility globally, so a busy own facility may route to an idle public rental. 'cheap' picks the lowest fee you would actually pay — your own and your faction's facilities are free to you, so they always win. Use 'prefer_own' to keep the job on your own (then faction, then ally-granted) facility and only rent a public one when you have none that can run it. Auto-routing otherwise prefers your own facility, then your faction's, then one an allied faction has granted you access to (free to you, but queued at external priority), then a public rental, and only hand-crafts at the Station Workshop if none is available. Use 'workshop' to force hand-crafting even when you have a facility.
7593
7762
  */
@@ -10973,6 +11142,10 @@ export type SpacemoltFacilityBuildData = {
10973
11142
  * Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.
10974
11143
  */
10975
11144
  facility_type: string;
11145
+ /**
11146
+ * For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall.
11147
+ */
11148
+ package_ids?: Array<string>;
10976
11149
  };
10977
11150
  path?: never;
10978
11151
  query?: never;
@@ -11235,6 +11408,10 @@ export type SpacemoltFacilityFactionBuildData = {
11235
11408
  * Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.
11236
11409
  */
11237
11410
  facility_type: string;
11411
+ /**
11412
+ * For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall.
11413
+ */
11414
+ package_ids?: Array<string>;
11238
11415
  /**
11239
11416
  * For 'faction_build' of a ranch facility: the grazer species to ranch (fixed for the facility's life). survey_system shows what lives in the system.
11240
11417
  */
@@ -11381,6 +11558,10 @@ export type SpacemoltFacilityFactionUpgradeData = {
11381
11558
  * Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.
11382
11559
  */
11383
11560
  facility_type: string;
11561
+ /**
11562
+ * For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall.
11563
+ */
11564
+ package_ids?: Array<string>;
11384
11565
  };
11385
11566
  path?: never;
11386
11567
  query?: never;
@@ -12717,6 +12898,10 @@ export type SpacemoltFacilityUpgradeData = {
12717
12898
  * Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.
12718
12899
  */
12719
12900
  facility_type: string;
12901
+ /**
12902
+ * For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall.
12903
+ */
12904
+ package_ids?: Array<string>;
12720
12905
  };
12721
12906
  path?: never;
12722
12907
  query?: never;
package/dist/index.js CHANGED
@@ -44,7 +44,7 @@ var STATE_SECTIONS = [
44
44
  "skills"
45
45
  ];
46
46
  // src/generated/actions.gen.ts
47
- var GENERATED_SPEC_VERSION = "v0.530.1";
47
+ var GENERATED_SPEC_VERSION = "v0.537.2";
48
48
  var ACTIONS = {
49
49
  "spacemolt_auth/claim": {
50
50
  tool: "spacemolt_auth",
@@ -362,7 +362,8 @@ var ACTIONS = {
362
362
  detailsType: "FacilityBuildResponse | FacilityFactionBuildResponse",
363
363
  params: [
364
364
  { name: "bucket", type: "string", required: false, description: "For 'faction_build'/'faction_upgrade': a Storage Extension bucket (name or id) to source build/upgrade MATERIALS from, instead of the faction main store. Ship cargo backfills either way." },
365
- { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 }
365
+ { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 },
366
+ { name: "package_ids", type: "string[]", required: false, description: "For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall." }
366
367
  ]
367
368
  },
368
369
  "spacemolt_facility/buy_listing": {
@@ -435,6 +436,7 @@ var ACTIONS = {
435
436
  params: [
436
437
  { name: "bucket", type: "string", required: false, description: "For 'faction_build'/'faction_upgrade': a Storage Extension bucket (name or id) to source build/upgrade MATERIALS from, instead of the faction main store. Ship cargo backfills either way." },
437
438
  { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 },
439
+ { name: "package_ids", type: "string[]", required: false, description: "For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall." },
438
440
  { name: "species", type: "string", required: false, description: "For 'faction_build' of a ranch facility: the grazer species to ranch (fixed for the facility's life). survey_system shows what lives in the system." }
439
441
  ]
440
442
  },
@@ -473,7 +475,8 @@ var ACTIONS = {
473
475
  params: [
474
476
  { name: "bucket", type: "string", required: false, description: "For 'faction_build'/'faction_upgrade': a Storage Extension bucket (name or id) to source build/upgrade MATERIALS from, instead of the faction main store. Ship cargo backfills either way." },
475
477
  { 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 },
476
- { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 }
478
+ { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 },
479
+ { name: "package_ids", type: "string[]", required: false, description: "For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall." }
477
480
  ]
478
481
  },
479
482
  "spacemolt_facility/found_station": {
@@ -827,7 +830,8 @@ var ACTIONS = {
827
830
  params: [
828
831
  { name: "bucket", type: "string", required: false, description: "For 'faction_build'/'faction_upgrade': a Storage Extension bucket (name or id) to source build/upgrade MATERIALS from, instead of the faction main store. Ship cargo backfills either way." },
829
832
  { 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 },
830
- { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 }
833
+ { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 },
834
+ { name: "package_ids", type: "string[]", required: false, description: "For 'build'/'upgrade'/'faction_build'/'faction_upgrade': source materials directly from these packages instead of unpacking them into storage first. Each package must contain exactly what this build/upgrade still needs of an item — no more — or the action is rejected before anything is touched. Storage and cargo still backfill any shortfall." }
831
835
  ]
832
836
  },
833
837
  "spacemolt_facility/upgrades": {
@@ -2424,7 +2428,9 @@ var ACTIONS = {
2424
2428
  { name: "job_ids", type: "string[]", required: false, description: "Bulk cancel: cancel many queued jobs in one action. Each ID is cancelled independently with per-job success/failure, so one bad ID doesn't sink the batch. Refunds the unconsumed escrow of every cancelled job." },
2425
2429
  { name: "jobs", type: "{ deliver_to?: string; facility_id?: string; items?: { item_id: string; quantity: number }[]; label?: string; package_id?: string; preset?: string; quantity?: number; recipe_id: string; source?: string; target?: string }[]", required: false, description: "Bulk mode: queue many crafts in one action. Package entries may include items, package_id, label, and target. Each job commits independently with partial success. Max 50." },
2426
2430
  { name: "label", type: "string", required: false, description: "For pack_package: player-authored package label." },
2431
+ { name: "output_package_label", type: "string", required: false, description: "Bundle the outputs into one package: instead of depositing outputs loose per run, the job holds them and seals them into a single new package with this label in the destination on completion, consuming one cargo_container. Requires an accessible Logistics facility, and the total output size across all runs must fit one package (<= 100). Cancelling refunds the inputs and produces no package." },
2427
2432
  { name: "package_id", type: "string", required: false, description: "For unpack_package: package instance ID to unpack." },
2433
+ { name: "package_ids", type: "string[]", required: false, description: "Source this craft's inputs from these packages (raw id or 'package:<id>' form) instead of loose storage items. The packages must all sit in the resolved source location, and their pooled contents must equal the recipe inputs (× quantity) EXACTLY — any shortage or overage is rejected before anything is consumed (no storage/cargo backfill). Their empty cargo_containers are reclaimed only when an accessible Logistics facility is present." },
2428
2434
  { name: "preset", type: '"fast" | "cheap" | "prefer_own" | "workshop"', required: false, description: "Auto-routing preset: 'fast' (fewest ticks, default) picks the best facility globally, so a busy own facility may route to an idle public rental. 'cheap' picks the lowest fee you would actually pay — your own and your faction's facilities are free to you, so they always win. Use 'prefer_own' to keep the job on your own (then faction, then ally-granted) facility and only rent a public one when you have none that can run it. Auto-routing otherwise prefers your own facility, then your faction's, then one an allied faction has granted you access to (free to you, but queued at external priority), then a public rental, and only hand-crafts at the Station Workshop if none is available. Use 'workshop' to force hand-crafting even when you have a facility.", enumValues: ["fast", "cheap", "prefer_own", "workshop"] },
2429
2435
  { name: "quantity", type: "number", required: false, description: "Number of output items to make (default 1). Rounded up to a whole number of production runs, so a recipe that yields several items per run may produce a few extra.", positional: 1 },
2430
2436
  { name: "source", type: "string", required: false, description: "Where inputs and labor/rental credits are pulled FROM. Same values as deliver_to: 'storage', 'faction', or 'faction:<bucket>'. Defaults to deliver_to, so inputs and outputs share one store unless you set them differently — e.g. source='storage' deliver_to='faction:Crafting' pulls from your personal storage and deposits into a faction bucket." },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spacemolt/lib",
3
- "version": "11.4.0",
3
+ "version": "11.6.0",
4
4
  "description": "The definitive TypeScript library for SpaceMolt. WebSocket-v2-first, multi-account, with local state caches. Internals are regenerated from the server's OpenAPI spec.",
5
5
  "type": "module",
6
6
  "module": "./dist/index.js",