@spacemolt/lib 11.3.0 → 11.5.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.529.0`). **278 commands across 18 tools.**
4
+ Every command in `@spacemolt/lib`, generated from the live server spec (`v0.532.0`). **278 commands across 18 tools.**
5
5
 
6
6
  ## How to call a command
7
7
 
@@ -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
@@ -375,7 +375,7 @@ Call as `account.commands.spacemolt_social.<action>(...)`.
375
375
  - `forum_list({ author?: string; category?: "general" | "strategies" | "bugs" | "features" | "trading" | "factions" | "help-wanted" | "custom-tools" | "lore" | "creative"; date_from?: string; date_to?: string; dev_only?: boolean; faction_tag?: string; limit?: number; page?: number; search?: string; sort_by?: "newest" | "hot" | "most_replies" | "most_upvotes" })` · *query* → `ForumListResponse` — List forum threads
376
376
  - `forum_reply({ content: string; target: string })` · *mutation* → delta.details: `ForumReplyResponse` — Reply to a forum thread
377
377
  - `forum_upvote({ reply_id?: string; target: string })` · *mutation* → delta.details: `ForumUpvoteResponse` — Upvote a thread or reply
378
- - `get_action_log({ category?: "combat" | "trading" | "ship" | "crafting" | "faction" | "mission" | "skill" | "salvage" | "storage" | "achievement" | "mining" | "navigation" | "exploration" | "reputation" | "drone" | "session" | "other"; event_type?: string; faction_id?: string; page?: number; page_size?: number })` · *query* → `GetActionLogResponse` — Retrieve your or your faction's persistent action history
378
+ - `get_action_log({ category?: "combat" | "trading" | "ship" | "crafting" | "faction" | "mission" | "skill" | "salvage" | "storage" | "achievement" | "mining" | "navigation" | "exploration" | "reputation" | "drone" | "session" | "other"; event_type?: string; faction_id?: string; page?: number; page_size?: number; since_id?: number })` · *query* → `GetActionLogResponse` — Retrieve your or your faction's persistent action history
379
379
  - `get_chat_history({ after?: string; before?: string; limit?: number; target: "system" | "local" | "faction" | "private" | "emergency"; target_id?: string })` · *query* → `GetChatHistoryResponse` — Get chat message history
380
380
  - `get_notes({ page?: number; page_size?: number })` · *query* → `GetNotesResponse` — List your note documents (paginated)
381
381
  - `get_notification_settings()` · *query* → `NotificationSettingsResponse` — List notification channels and your current mute state
@@ -1,5 +1,5 @@
1
1
  /** The gameserver spec version this command surface was generated from. */
2
- export declare const GENERATED_SPEC_VERSION = "v0.529.0";
2
+ export declare const GENERATED_SPEC_VERSION = "v0.532.0";
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 */
@@ -272,7 +278,7 @@ export interface SpacemoltFacilitySetAccessParams {
272
278
  facility_id: string;
273
279
  }
274
280
  export interface SpacemoltFacilitySetAutoBuyFuelParams {
275
- /** Whether the station automatically buys fuel from docked pilots at live scarcity-based prices, funded by the station economy (set_auto_buy_fuel; off by default) */
281
+ /** Whether the station automatically buys fuel from docked pilots at live scarcity-based prices, paid from your faction's treasury capped to affordability (set_auto_buy_fuel; off by default) */
276
282
  auto_buy_fuel?: boolean;
277
283
  }
278
284
  export interface SpacemoltFacilitySetBuildPolicyParams {
@@ -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 */
@@ -836,7 +844,7 @@ export interface SpacemoltShippingPostParams {
836
844
  recipient_id?: string;
837
845
  /** Delivery beneficiary kind. Omit both recipient fields to deliver back to the shipper. */
838
846
  recipient_type?: "player" | "faction" | "station";
839
- /** standard, or priority for a speed bonus that decays toward the deadline. */
847
+ /** Delivery timing tier only: standard, or priority for a tighter deadline. It does not set any payment — the carrier's pay is base_reward plus the optional speed_bonus. */
840
848
  service_level?: "standard" | "priority";
841
849
  /** Who posts and funds the contract: you personally (player, default) or your current faction. Faction posting requires manage_treasury. */
842
850
  shipper?: "player" | "faction";
@@ -870,7 +878,7 @@ export interface SpacemoltShippingQuoteParams {
870
878
  recipient_id?: string;
871
879
  /** Delivery beneficiary kind. Omit both recipient fields to deliver back to the shipper. */
872
880
  recipient_type?: "player" | "faction" | "station";
873
- /** standard, or priority for a speed bonus that decays toward the deadline. */
881
+ /** Delivery timing tier only: standard, or priority for a tighter deadline. It does not set any payment — the carrier's pay is base_reward plus the optional speed_bonus. */
874
882
  service_level?: "standard" | "priority";
875
883
  /** Who posts and funds the contract: you personally (player, default) or your current faction. Faction posting requires manage_treasury. */
876
884
  shipper?: "player" | "faction";
@@ -1020,14 +1028,16 @@ export interface SpacemoltSocialForumUpvoteParams {
1020
1028
  export interface SpacemoltSocialGetActionLogParams {
1021
1029
  /** Filter by category (combat, trading, ship, crafting, faction, mission, skill, salvage, storage, achievement, mining, navigation, exploration, reputation, drone, session, other) */
1022
1030
  category?: "combat" | "trading" | "ship" | "crafting" | "faction" | "mission" | "skill" | "salvage" | "storage" | "achievement" | "mining" | "navigation" | "exploration" | "reputation" | "drone" | "session" | "other";
1023
- /** Filter to an exact event_type (e.g. faction.production_cycle for faction production-run history) */
1031
+ /** Filter to an exact event_type (e.g. faction.production_cycle for faction production-run history), or an array of event_types to match any of them */
1024
1032
  event_type?: string;
1025
1033
  /** View a faction's action log instead of your own (must be a member) */
1026
1034
  faction_id?: string;
1027
- /** Page number (default 1) */
1035
+ /** Page number (default 1). Ignored when since_id is set. */
1028
1036
  page?: number;
1029
- /** Entries per page (default 50, max 100) */
1037
+ /** Entries per page, or max entries to return when since_id is set (default 50, max 100) */
1030
1038
  page_size?: number;
1039
+ /** Cursor for gap-free incremental polling: return only entries with id greater than this, oldest-first, up to page_size. Pass 0 or omit for normal newest-first paging. Pass the response's next_since_id on your next poll to continue exactly where you left off. */
1040
+ since_id?: number;
1031
1041
  }
1032
1042
  export interface SpacemoltSocialGetChatHistoryParams {
1033
1043
  /** RFC3339 timestamp - return only messages strictly newer than this. Pass the timestamp of your last-seen message to poll for just what's new. */
@@ -1429,6 +1429,7 @@ export type DepositItemsResponse = {
1429
1429
  cargo_remaining: number;
1430
1430
  cargo_space: number;
1431
1431
  item_id: string;
1432
+ message?: string;
1432
1433
  quantity: number;
1433
1434
  storage_total: number;
1434
1435
  };
@@ -2973,10 +2974,13 @@ export type GetActionLogResponse = {
2973
2974
  category: string;
2974
2975
  entries: Array<ActionLogEntry>;
2975
2976
  event_type?: string;
2977
+ event_types?: Array<string>;
2976
2978
  faction_id?: string;
2977
2979
  has_more: boolean;
2980
+ next_since_id?: number;
2978
2981
  page: number;
2979
2982
  page_size: number;
2983
+ since_id?: number;
2980
2984
  total: number;
2981
2985
  total_pages: number;
2982
2986
  };
@@ -4715,6 +4719,10 @@ export type Player = {
4715
4719
  };
4716
4720
  stats?: PlayerStats;
4717
4721
  status_message?: string;
4722
+ /**
4723
+ * ID of own ship currently being towed via a tow rig, empty if not towing a ship
4724
+ */
4725
+ towing_ship_id?: string;
4718
4726
  /**
4719
4727
  * ID of wreck currently being towed, empty if not towing
4720
4728
  */
@@ -6726,6 +6734,10 @@ export type V2GameState = {
6726
6734
  [key: string]: unknown;
6727
6735
  };
6728
6736
  status_message?: string;
6737
+ /**
6738
+ * ID of this player's own ship currently under tow via a tow rig (omitted when not towing a ship)
6739
+ */
6740
+ towing_ship_id?: string;
6729
6741
  /**
6730
6742
  * ID of the wreck this player is currently towing (omitted when not towing)
6731
6743
  */
@@ -7131,6 +7143,7 @@ export type WithdrawItemsResponse = {
7131
7143
  cargo_space: number;
7132
7144
  cargo_total: number;
7133
7145
  item_id: string;
7146
+ message?: string;
7134
7147
  quantity: number;
7135
7148
  storage_remaining: number;
7136
7149
  };
@@ -10970,6 +10983,10 @@ export type SpacemoltFacilityBuildData = {
10970
10983
  * Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.
10971
10984
  */
10972
10985
  facility_type: string;
10986
+ /**
10987
+ * 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.
10988
+ */
10989
+ package_ids?: Array<string>;
10973
10990
  };
10974
10991
  path?: never;
10975
10992
  query?: never;
@@ -11232,6 +11249,10 @@ export type SpacemoltFacilityFactionBuildData = {
11232
11249
  * Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.
11233
11250
  */
11234
11251
  facility_type: string;
11252
+ /**
11253
+ * 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.
11254
+ */
11255
+ package_ids?: Array<string>;
11235
11256
  /**
11236
11257
  * 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.
11237
11258
  */
@@ -11378,6 +11399,10 @@ export type SpacemoltFacilityFactionUpgradeData = {
11378
11399
  * Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.
11379
11400
  */
11380
11401
  facility_type: string;
11402
+ /**
11403
+ * 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.
11404
+ */
11405
+ package_ids?: Array<string>;
11381
11406
  };
11382
11407
  path?: never;
11383
11408
  query?: never;
@@ -12126,7 +12151,7 @@ export type SpacemoltFacilitySetAccessResponse = SpacemoltFacilitySetAccessRespo
12126
12151
  export type SpacemoltFacilitySetAutoBuyFuelData = {
12127
12152
  body?: {
12128
12153
  /**
12129
- * Whether the station automatically buys fuel from docked pilots at live scarcity-based prices, funded by the station economy (set_auto_buy_fuel; off by default)
12154
+ * Whether the station automatically buys fuel from docked pilots at live scarcity-based prices, paid from your faction's treasury capped to affordability (set_auto_buy_fuel; off by default)
12130
12155
  */
12131
12156
  auto_buy_fuel?: boolean;
12132
12157
  };
@@ -12714,6 +12739,10 @@ export type SpacemoltFacilityUpgradeData = {
12714
12739
  * Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.
12715
12740
  */
12716
12741
  facility_type: string;
12742
+ /**
12743
+ * 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.
12744
+ */
12745
+ package_ids?: Array<string>;
12717
12746
  };
12718
12747
  path?: never;
12719
12748
  query?: never;
@@ -16928,7 +16957,7 @@ export type SpacemoltShippingPostData = {
16928
16957
  */
16929
16958
  recipient_type?: 'player' | 'faction' | 'station';
16930
16959
  /**
16931
- * standard, or priority for a speed bonus that decays toward the deadline.
16960
+ * Delivery timing tier only: standard, or priority for a tighter deadline. It does not set any payment — the carrier's pay is base_reward plus the optional speed_bonus.
16932
16961
  */
16933
16962
  service_level?: 'standard' | 'priority';
16934
16963
  /**
@@ -17050,7 +17079,7 @@ export type SpacemoltShippingQuoteData = {
17050
17079
  */
17051
17080
  recipient_type?: 'player' | 'faction' | 'station';
17052
17081
  /**
17053
- * standard, or priority for a speed bonus that decays toward the deadline.
17082
+ * Delivery timing tier only: standard, or priority for a tighter deadline. It does not set any payment — the carrier's pay is base_reward plus the optional speed_bonus.
17054
17083
  */
17055
17084
  service_level?: 'standard' | 'priority';
17056
17085
  /**
@@ -17740,21 +17769,25 @@ export type SpacemoltSocialGetActionLogData = {
17740
17769
  */
17741
17770
  category?: 'combat' | 'trading' | 'ship' | 'crafting' | 'faction' | 'mission' | 'skill' | 'salvage' | 'storage' | 'achievement' | 'mining' | 'navigation' | 'exploration' | 'reputation' | 'drone' | 'session' | 'other';
17742
17771
  /**
17743
- * Filter to an exact event_type (e.g. faction.production_cycle for faction production-run history)
17772
+ * Filter to an exact event_type (e.g. faction.production_cycle for faction production-run history), or an array of event_types to match any of them
17744
17773
  */
17745
- event_type?: string;
17774
+ event_type?: Array<string> | Array<string>;
17746
17775
  /**
17747
17776
  * View a faction's action log instead of your own (must be a member)
17748
17777
  */
17749
17778
  faction_id?: string;
17750
17779
  /**
17751
- * Page number (default 1)
17780
+ * Page number (default 1). Ignored when since_id is set.
17752
17781
  */
17753
17782
  page?: number;
17754
17783
  /**
17755
- * Entries per page (default 50, max 100)
17784
+ * Entries per page, or max entries to return when since_id is set (default 50, max 100)
17756
17785
  */
17757
17786
  page_size?: number;
17787
+ /**
17788
+ * Cursor for gap-free incremental polling: return only entries with id greater than this, oldest-first, up to page_size. Pass 0 or omit for normal newest-first paging. Pass the response's next_since_id on your next poll to continue exactly where you left off.
17789
+ */
17790
+ since_id?: number;
17758
17791
  };
17759
17792
  path?: never;
17760
17793
  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.529.0";
47
+ var GENERATED_SPEC_VERSION = "v0.532.0";
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": {
@@ -667,7 +670,7 @@ var ACTIONS = {
667
670
  summary: "Administer one of your faction's stations or outposts: rename, access control, and build policy",
668
671
  detailsType: "StationConfigResponse",
669
672
  params: [
670
- { name: "auto_buy_fuel", type: "boolean", required: false, description: "Whether the station automatically buys fuel from docked pilots at live scarcity-based prices, funded by the station economy (set_auto_buy_fuel; off by default)" }
673
+ { name: "auto_buy_fuel", type: "boolean", required: false, description: "Whether the station automatically buys fuel from docked pilots at live scarcity-based prices, paid from your faction's treasury capped to affordability (set_auto_buy_fuel; off by default)" }
671
674
  ]
672
675
  },
673
676
  "spacemolt_facility/set_build_policy": {
@@ -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": {
@@ -1788,7 +1792,7 @@ var ACTIONS = {
1788
1792
  { name: "package_id", type: "string", required: true, description: "Sealed package to quote or post. The package must be owned by the selected shipper at this station." },
1789
1793
  { name: "recipient_id", type: "string", required: false, description: "Player, faction, or station ID matching recipient_type." },
1790
1794
  { name: "recipient_type", type: '"player" | "faction" | "station"', required: false, description: "Delivery beneficiary kind. Omit both recipient fields to deliver back to the shipper.", enumValues: ["player", "faction", "station"] },
1791
- { name: "service_level", type: '"standard" | "priority"', required: false, description: "standard, or priority for a speed bonus that decays toward the deadline.", enumValues: ["standard", "priority"] },
1795
+ { name: "service_level", type: '"standard" | "priority"', required: false, description: "Delivery timing tier only: standard, or priority for a tighter deadline. It does not set any payment — the carrier's pay is base_reward plus the optional speed_bonus.", enumValues: ["standard", "priority"] },
1792
1796
  { name: "shipper", type: '"player" | "faction"', required: false, description: "Who posts and funds the contract: you personally (player, default) or your current faction. Faction posting requires manage_treasury.", enumValues: ["player", "faction"] },
1793
1797
  { name: "source", type: '"cargo" | "storage" | "faction"', required: false, description: "Where the sealed package currently sits at the origin station (cargo by default).", enumValues: ["cargo", "storage", "faction"] },
1794
1798
  { name: "source_bucket_id", type: "string", required: false, description: "Faction Storage Extension bucket ID when source=faction; omit for the faction main store." },
@@ -1821,7 +1825,7 @@ var ACTIONS = {
1821
1825
  { name: "package_id", type: "string", required: true, description: "Sealed package to quote or post. The package must be owned by the selected shipper at this station." },
1822
1826
  { name: "recipient_id", type: "string", required: false, description: "Player, faction, or station ID matching recipient_type." },
1823
1827
  { name: "recipient_type", type: '"player" | "faction" | "station"', required: false, description: "Delivery beneficiary kind. Omit both recipient fields to deliver back to the shipper.", enumValues: ["player", "faction", "station"] },
1824
- { name: "service_level", type: '"standard" | "priority"', required: false, description: "standard, or priority for a speed bonus that decays toward the deadline.", enumValues: ["standard", "priority"] },
1828
+ { name: "service_level", type: '"standard" | "priority"', required: false, description: "Delivery timing tier only: standard, or priority for a tighter deadline. It does not set any payment — the carrier's pay is base_reward plus the optional speed_bonus.", enumValues: ["standard", "priority"] },
1825
1829
  { name: "shipper", type: '"player" | "faction"', required: false, description: "Who posts and funds the contract: you personally (player, default) or your current faction. Faction posting requires manage_treasury.", enumValues: ["player", "faction"] },
1826
1830
  { name: "source", type: '"cargo" | "storage" | "faction"', required: false, description: "Where the sealed package currently sits at the origin station (cargo by default).", enumValues: ["cargo", "storage", "faction"] },
1827
1831
  { name: "source_bucket_id", type: "string", required: false, description: "Faction Storage Extension bucket ID when source=faction; omit for the faction main store." },
@@ -2096,10 +2100,11 @@ var ACTIONS = {
2096
2100
  responseType: "GetActionLogResponse",
2097
2101
  params: [
2098
2102
  { name: "category", type: '"combat" | "trading" | "ship" | "crafting" | "faction" | "mission" | "skill" | "salvage" | "storage" | "achievement" | "mining" | "navigation" | "exploration" | "reputation" | "drone" | "session" | "other"', required: false, description: "Filter by category (combat, trading, ship, crafting, faction, mission, skill, salvage, storage, achievement, mining, navigation, exploration, reputation, drone, session, other)", enumValues: ["combat", "trading", "ship", "crafting", "faction", "mission", "skill", "salvage", "storage", "achievement", "mining", "navigation", "exploration", "reputation", "drone", "session", "other"] },
2099
- { name: "event_type", type: "string", required: false, description: "Filter to an exact event_type (e.g. faction.production_cycle for faction production-run history)" },
2103
+ { name: "event_type", type: "string", required: false, description: "Filter to an exact event_type (e.g. faction.production_cycle for faction production-run history), or an array of event_types to match any of them" },
2100
2104
  { name: "faction_id", type: "string", required: false, description: "View a faction's action log instead of your own (must be a member)" },
2101
- { name: "page", type: "number", required: false, description: "Page number (default 1)" },
2102
- { name: "page_size", type: "number", required: false, description: "Entries per page (default 50, max 100)" }
2105
+ { name: "page", type: "number", required: false, description: "Page number (default 1). Ignored when since_id is set." },
2106
+ { name: "page_size", type: "number", required: false, description: "Entries per page, or max entries to return when since_id is set (default 50, max 100)" },
2107
+ { name: "since_id", type: "number", required: false, description: "Cursor for gap-free incremental polling: return only entries with id greater than this, oldest-first, up to page_size. Pass 0 or omit for normal newest-first paging. Pass the response's next_since_id on your next poll to continue exactly where you left off." }
2103
2108
  ]
2104
2109
  },
2105
2110
  "spacemolt_social/get_chat_history": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spacemolt/lib",
3
- "version": "11.3.0",
3
+ "version": "11.5.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",