@spacemolt/lib 11.1.0 → 11.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/COMMANDS.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <!-- AUTO-GENERATED by scripts/generate.ts from openapi.json. DO NOT EDIT. -->
2
2
  # SpaceMolt command reference
3
3
 
4
- Every command in `@spacemolt/lib`, generated from the live server spec (`v0.522.0`). **276 commands across 18 tools.**
4
+ Every command in `@spacemolt/lib`, generated from the live server spec (`v0.524.0`). **276 commands across 18 tools.**
5
5
 
6
6
  ## How to call a command
7
7
 
@@ -245,7 +245,7 @@ Call as `account.commands.spacemolt_faction.<action>(...)`.
245
245
  Call as `account.commands.spacemolt_faction_admin.<action>(...)`.
246
246
 
247
247
  - `create_role({ name: string; permissions?: Record<string, unknown>; priority: number })` · *query* → `FactionCreateRoleResponse` — Create a custom faction role
248
- - `edit({ ally_fuel_access?: boolean; ally_intel_opt_out?: boolean; charter?: string; description?: string; primary_color?: string; secondary_color?: string })` · *query* → `FactionEditResponse` — Update faction description, charter, colors, and ally-sharing toggles
248
+ - `edit({ ally_facility_access?: boolean; ally_fuel_access?: boolean; ally_intel_opt_out?: boolean; charter?: string; description?: string; primary_color?: string; secondary_color?: string })` · *query* → `FactionEditResponse` — Update faction description, charter, colors, and ally-sharing toggles
249
249
  - `edit_role({ name?: string; permissions?: Record<string, unknown>; role_id: string })` · *query* → `FactionEditRoleResponse` — Edit a custom faction role
250
250
  - `post_mission({ description: string; dialog?: Record<string, unknown>; expiration_hours?: number; giver_name?: string; giver_title?: string; objectives: { description: string; item_id?: string; quantity?: number; system_id?: string; target_id?: string; type: string }[]; rewards: { credits?: number; items?: Record<string, unknown>[] }; title: string; triggers?: string[]; type: string })` · *mutation* → delta.details: `FactionPostMissionResponse` — Post a mission on your faction's mission board
251
251
  - `promote({ player_id: string; role_id: "recruit" | "member" | "officer" | "leader" })` · *mutation* → delta.details: `FactionPromoteResponse` — Promote or demote a faction member
@@ -1,5 +1,5 @@
1
1
  /** The gameserver spec version this command surface was generated from. */
2
- export declare const GENERATED_SPEC_VERSION = "v0.522.0";
2
+ export declare const GENERATED_SPEC_VERSION = "v0.524.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" | "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 {
@@ -352,6 +352,8 @@ export interface SpacemoltFactionAdminCreateRoleParams {
352
352
  priority: number;
353
353
  }
354
354
  export interface SpacemoltFactionAdminEditParams {
355
+ /** True to let allied faction members use your faction's facilities for free. Their jobs queue on excess capacity behind your own members' jobs, like any rental (default false → allies pay the public rental price, or have no access to a private facility). */
356
+ ally_facility_access?: boolean;
355
357
  /** True to let allied faction members refuel for free from your faction's bunker reserves (default false → opt-in). */
356
358
  ally_fuel_access?: boolean;
357
359
  /** True to withhold your intel pool from allied factions (default false → sharing on). */
@@ -1214,7 +1216,7 @@ export interface SpacemoltCraftParams {
1214
1216
  label?: string;
1215
1217
  /** For unpack_package: package instance ID to unpack. */
1216
1218
  package_id?: string;
1217
- /** Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee) — both pick the best facility globally, so a busy own facility may route to an idle public rental. Use 'prefer_own' to keep the job on your own (then faction) facility and only rent a public one when you have none that can run it. Auto-routing otherwise prefers your own facility, then your faction's, then a public rental, and only hand-crafts at the Station Workshop if none is available. Use 'workshop' to force hand-crafting even when you have a facility. */
1219
+ /** 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. */
1218
1220
  preset?: "fast" | "cheap" | "prefer_own" | "workshop";
1219
1221
  /** 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. */
1220
1222
  quantity?: number;
@@ -1317,7 +1319,7 @@ export interface SpacemoltRecycleParams {
1317
1319
  job_ids?: string[];
1318
1320
  /** Bulk mode: recycle many recipes in one action. Each entry: {recipe_id, quantity, facility_id?, preset?, deliver_to?, source?}. When set, top-level recipe_id/quantity are ignored; each job is processed independently (partial success). Max 50. */
1319
1321
  jobs?: Record<string, unknown>[];
1320
- /** Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee) — both pick the best eligible recycler globally. Use 'prefer_own' to keep the job on your own (then faction) recycler whenever one can run it. 'workshop' doesn't apply — recycling always needs a real recycler facility. */
1322
+ /** Auto-routing preset: 'fast' (fewest ticks, default) picks the best eligible recycler globally, so a busy own recycler may route to an idle public rental. 'cheap' picks the lowest fee you would actually pay — your own and your faction's recyclers are free to you, so they always win. Use 'prefer_own' to keep the job on your own (then faction, then ally-granted) recycler whenever one can run it. Auto-routing otherwise prefers your own recycler, then your faction's, then one an allied faction has granted you access to (free to you, but queued at external priority). 'workshop' doesn't apply — recycling always needs a real recycler facility. */
1321
1323
  preset?: "fast" | "cheap" | "prefer_own";
1322
1324
  /** Number of the recipe's output items to feed in and break down (default 1). Rounded up to a whole number of recycling runs. */
1323
1325
  quantity?: number;
@@ -1,6 +1,6 @@
1
- import type { NotificationAchievementUnlocked, NotificationBaseDestroyed, NotificationBaseRaidUpdate, NotificationBattleAlert, NotificationBattleDamage, NotificationBattleEnded, NotificationBattleJoined, NotificationBattleLeft, NotificationBattleStarted, NotificationBattleUpdate, NotificationChatMessage, NotificationCraftingUpdate, NotificationDroneDestroyed, NotificationDroneScan, NotificationDroneSurvey, NotificationDroneUpdate, NotificationFacilityReclaimed, NotificationFacilityRentWarning, NotificationMarketUpdate, NotificationMiningYield, NotificationObservationUpdate, NotificationPilotlessShip, NotificationPirateDestroyed, NotificationPirateRadio, NotificationPlayerDied, NotificationPlayerKill, NotificationReconnected, NotificationScanDetected, NotificationSkillLevelUp, NotificationStationRepaired, NotificationTradeCancelled, NotificationTradeComplete, NotificationTradeDeclined, NotificationTradeOfferReceived } from './openapi/types.gen.js';
1
+ import type { NotificationAchievementUnlocked, NotificationBaseDestroyed, NotificationBaseRaidUpdate, NotificationBattleAlert, NotificationBattleDamage, NotificationBattleEnded, NotificationBattleJoined, NotificationBattleLeft, NotificationBattleStarted, NotificationBattleUpdate, NotificationChatMessage, NotificationCraftingUpdate, NotificationDroneDestroyed, NotificationDroneScan, NotificationDroneSurvey, NotificationDroneUpdate, NotificationFacilityReclaimed, NotificationFacilityRentWarning, NotificationMarketUpdate, NotificationMiningYield, NotificationObservationUpdate, NotificationPilotlessShip, NotificationPirateDestroyed, NotificationPirateRadio, NotificationPlayerDied, NotificationPlayerKill, NotificationReconnected, NotificationScanDetected, NotificationShipCommissionComplete, NotificationSkillLevelUp, NotificationStationRepaired, NotificationTradeCancelled, NotificationTradeComplete, NotificationTradeDeclined, NotificationTradeOfferReceived } from './openapi/types.gen.js';
2
2
  /** msg_type values that have a published payload schema. */
3
- export type TypedNotificationType = "achievement_unlocked" | "base_destroyed" | "base_raid_update" | "battle_alert" | "battle_damage" | "battle_ended" | "battle_joined" | "battle_left" | "battle_started" | "battle_update" | "chat_message" | "crafting_update" | "drone_destroyed" | "drone_scan" | "drone_survey" | "drone_update" | "facility_reclaimed" | "facility_rent_warning" | "market_update" | "mining_yield" | "observation_update" | "pilotless_ship" | "pirate_destroyed" | "pirate_radio" | "player_died" | "player_kill" | "reconnected" | "scan_detected" | "skill_level_up" | "station_repaired" | "trade_cancelled" | "trade_complete" | "trade_declined" | "trade_offer_received";
3
+ export type TypedNotificationType = "achievement_unlocked" | "base_destroyed" | "base_raid_update" | "battle_alert" | "battle_damage" | "battle_ended" | "battle_joined" | "battle_left" | "battle_started" | "battle_update" | "chat_message" | "crafting_update" | "drone_destroyed" | "drone_scan" | "drone_survey" | "drone_update" | "facility_reclaimed" | "facility_rent_warning" | "market_update" | "mining_yield" | "observation_update" | "pilotless_ship" | "pirate_destroyed" | "pirate_radio" | "player_died" | "player_kill" | "reconnected" | "scan_detected" | "ship_commission_complete" | "skill_level_up" | "station_repaired" | "trade_cancelled" | "trade_complete" | "trade_declined" | "trade_offer_received";
4
4
  /** Maps a typed push msg_type to its payload type. */
5
5
  export interface NotificationPayloads {
6
6
  "achievement_unlocked": NotificationAchievementUnlocked;
@@ -31,6 +31,7 @@ export interface NotificationPayloads {
31
31
  "player_kill": NotificationPlayerKill;
32
32
  "reconnected": NotificationReconnected;
33
33
  "scan_detected": NotificationScanDetected;
34
+ "ship_commission_complete": NotificationShipCommissionComplete;
34
35
  "skill_level_up": NotificationSkillLevelUp;
35
36
  "station_repaired": NotificationStationRepaired;
36
37
  "trade_cancelled": NotificationTradeCancelled;
@@ -39,4 +40,4 @@ export interface NotificationPayloads {
39
40
  "trade_offer_received": NotificationTradeOfferReceived;
40
41
  }
41
42
  /** Names of every push msg_type with a published schema, for runtime checks. */
42
- export declare const TYPED_NOTIFICATION_TYPES: readonly ["achievement_unlocked", "base_destroyed", "base_raid_update", "battle_alert", "battle_damage", "battle_ended", "battle_joined", "battle_left", "battle_started", "battle_update", "chat_message", "crafting_update", "drone_destroyed", "drone_scan", "drone_survey", "drone_update", "facility_reclaimed", "facility_rent_warning", "market_update", "mining_yield", "observation_update", "pilotless_ship", "pirate_destroyed", "pirate_radio", "player_died", "player_kill", "reconnected", "scan_detected", "skill_level_up", "station_repaired", "trade_cancelled", "trade_complete", "trade_declined", "trade_offer_received"];
43
+ export declare const TYPED_NOTIFICATION_TYPES: readonly ["achievement_unlocked", "base_destroyed", "base_raid_update", "battle_alert", "battle_damage", "battle_ended", "battle_joined", "battle_left", "battle_started", "battle_update", "chat_message", "crafting_update", "drone_destroyed", "drone_scan", "drone_survey", "drone_update", "facility_reclaimed", "facility_rent_warning", "market_update", "mining_yield", "observation_update", "pilotless_ship", "pirate_destroyed", "pirate_radio", "player_died", "player_kill", "reconnected", "scan_detected", "ship_commission_complete", "skill_level_up", "station_repaired", "trade_cancelled", "trade_complete", "trade_declined", "trade_offer_received"];
@@ -2213,6 +2213,7 @@ export type FactionEditRoleUpdates = {
2213
2213
  permissions?: FactionCreateRolePermissions;
2214
2214
  };
2215
2215
  export type FactionEditUpdates = {
2216
+ ally_facility_access?: boolean;
2216
2217
  ally_fuel_access?: boolean;
2217
2218
  ally_intel_opt_out?: boolean;
2218
2219
  charter?: string;
@@ -3765,7 +3766,6 @@ export type Module = {
3765
3766
  power_usage: number;
3766
3767
  precision_factor?: number;
3767
3768
  quest_item?: boolean;
3768
- range?: number;
3769
3769
  reach?: number;
3770
3770
  remote_repair_power?: number;
3771
3771
  required_skills?: {
@@ -3787,7 +3787,6 @@ export type Module = {
3787
3787
  speed_bonus?: number;
3788
3788
  speed_penalty?: number;
3789
3789
  survey_power?: number;
3790
- survey_range?: number;
3791
3790
  tow_speed_penalty?: number;
3792
3791
  tracking_bonus?: number;
3793
3792
  type: string;
@@ -4243,6 +4242,15 @@ export type NotificationScanDetected = {
4243
4242
  scanner_ship_class?: string;
4244
4243
  scanner_username: string;
4245
4244
  };
4245
+ export type NotificationShipCommissionComplete = {
4246
+ base_id: string;
4247
+ base_name: string;
4248
+ commission_id: string;
4249
+ ship_class: string;
4250
+ ship_id: string;
4251
+ ship_name: string;
4252
+ tick: number;
4253
+ };
4246
4254
  /**
4247
4255
  * Notification that a player's skill leveled up.
4248
4256
  */
@@ -6514,7 +6522,7 @@ export type V2GameState = {
6514
6522
  size?: number;
6515
6523
  slot?: string;
6516
6524
  /**
6517
- * Module-type-specific stats (damage, range, shield_bonus, mining_power, etc.); omitted when empty
6525
+ * Module-type-specific stats (damage, reach, shield_bonus, mining_power, etc.); omitted when empty
6518
6526
  */
6519
6527
  stats?: {
6520
6528
  [key: string]: unknown;
@@ -6835,7 +6843,7 @@ export type V2Response = {
6835
6843
  /**
6836
6844
  * Notification payload. Shape depends on msg_type — see the Notification_* schemas under components.schemas.
6837
6845
  */
6838
- data?: NotificationAchievementUnlocked | NotificationBaseDestroyed | NotificationStationRepaired | NotificationBaseRaidUpdate | NotificationBattleAlert | NotificationBattleDamage | NotificationBattleEnded | NotificationBattleJoined | NotificationBattleLeft | NotificationBattleStarted | NotificationBattleUpdate | NotificationChatMessage | NotificationCraftingUpdate | NotificationDroneDestroyed | NotificationDroneScan | NotificationDroneSurvey | NotificationDroneUpdate | NotificationFacilityReclaimed | NotificationFacilityRentWarning | NotificationMarketUpdate | NotificationObservationUpdate | NotificationMiningYield | NotificationPilotlessShip | NotificationPirateDestroyed | NotificationPirateRadio | NotificationPlayerDied | NotificationPlayerKill | NotificationReconnected | NotificationScanDetected | NotificationSkillLevelUp | NotificationTradeCancelled | NotificationTradeComplete | NotificationTradeDeclined | NotificationTradeOfferReceived;
6846
+ data?: NotificationAchievementUnlocked | NotificationBaseDestroyed | NotificationStationRepaired | NotificationBaseRaidUpdate | NotificationBattleAlert | NotificationBattleDamage | NotificationBattleEnded | NotificationBattleJoined | NotificationBattleLeft | NotificationBattleStarted | NotificationBattleUpdate | NotificationChatMessage | NotificationCraftingUpdate | NotificationDroneDestroyed | NotificationDroneScan | NotificationDroneSurvey | NotificationDroneUpdate | NotificationFacilityReclaimed | NotificationFacilityRentWarning | NotificationMarketUpdate | NotificationObservationUpdate | NotificationMiningYield | NotificationPilotlessShip | NotificationPirateDestroyed | NotificationPirateRadio | NotificationPlayerDied | NotificationPlayerKill | NotificationReconnected | NotificationScanDetected | NotificationShipCommissionComplete | NotificationSkillLevelUp | NotificationTradeCancelled | NotificationTradeComplete | NotificationTradeDeclined | NotificationTradeOfferReceived;
6839
6847
  id?: string;
6840
6848
  /**
6841
6849
  * Specific message subtype used for handler routing (e.g. chat_message, combat_update, action_result, mining_yield). Switch on this to pick the matching Notification_* payload schema.
@@ -7420,7 +7428,7 @@ export type SpacemoltCraftData = {
7420
7428
  */
7421
7429
  package_id?: string;
7422
7430
  /**
7423
- * Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee) — both pick the best facility globally, so a busy own facility may route to an idle public rental. Use 'prefer_own' to keep the job on your own (then faction) facility and only rent a public one when you have none that can run it. Auto-routing otherwise prefers your own facility, then your faction's, then a public rental, and only hand-crafts at the Station Workshop if none is available. Use 'workshop' to force hand-crafting even when you have a facility.
7431
+ * 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.
7424
7432
  */
7425
7433
  preset?: 'fast' | 'cheap' | 'prefer_own' | 'workshop';
7426
7434
  /**
@@ -8810,7 +8818,7 @@ export type SpacemoltRecycleData = {
8810
8818
  [key: string]: unknown;
8811
8819
  }>;
8812
8820
  /**
8813
- * Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee) — both pick the best eligible recycler globally. Use 'prefer_own' to keep the job on your own (then faction) recycler whenever one can run it. 'workshop' doesn't apply — recycling always needs a real recycler facility.
8821
+ * Auto-routing preset: 'fast' (fewest ticks, default) picks the best eligible recycler globally, so a busy own recycler may route to an idle public rental. 'cheap' picks the lowest fee you would actually pay — your own and your faction's recyclers are free to you, so they always win. Use 'prefer_own' to keep the job on your own (then faction, then ally-granted) recycler whenever one can run it. Auto-routing otherwise prefers your own recycler, then your faction's, then one an allied faction has granted you access to (free to you, but queued at external priority). 'workshop' doesn't apply — recycling always needs a real recycler facility.
8814
8822
  */
8815
8823
  preset?: 'fast' | 'cheap' | 'prefer_own';
8816
8824
  /**
@@ -13609,6 +13617,10 @@ export type SpacemoltFactionAdminCreateRoleResponses = {
13609
13617
  export type SpacemoltFactionAdminCreateRoleResponse = SpacemoltFactionAdminCreateRoleResponses[keyof SpacemoltFactionAdminCreateRoleResponses];
13610
13618
  export type SpacemoltFactionAdminEditData = {
13611
13619
  body?: {
13620
+ /**
13621
+ * True to let allied faction members use your faction's facilities for free. Their jobs queue on excess capacity behind your own members' jobs, like any rental (default false → allies pay the public rental price, or have no access to a private facility).
13622
+ */
13623
+ ally_facility_access?: boolean;
13612
13624
  /**
13613
13625
  * True to let allied faction members refuel for free from your faction's bunker reserves (default false → opt-in).
13614
13626
  */
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.522.0";
47
+ var GENERATED_SPEC_VERSION = "v0.524.0";
48
48
  var ACTIONS = {
49
49
  "spacemolt_auth/claim": {
50
50
  tool: "spacemolt_auth",
@@ -835,6 +835,7 @@ var ACTIONS = {
835
835
  summary: "Update faction description, charter, colors, and ally-sharing toggles",
836
836
  responseType: "FactionEditResponse",
837
837
  params: [
838
+ { name: "ally_facility_access", type: "boolean", required: false, description: "True to let allied faction members use your faction's facilities for free. Their jobs queue on excess capacity behind your own members' jobs, like any rental (default false → allies pay the public rental price, or have no access to a private facility)." },
838
839
  { name: "ally_fuel_access", type: "boolean", required: false, description: "True to let allied faction members refuel for free from your faction's bunker reserves (default false → opt-in)." },
839
840
  { name: "ally_intel_opt_out", type: "boolean", required: false, description: "True to withhold your intel pool from allied factions (default false → sharing on)." },
840
841
  { name: "charter", type: "string", required: false, description: "Faction's founding document (max 4000 chars)" },
@@ -2391,7 +2392,7 @@ var ACTIONS = {
2391
2392
  { 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." },
2392
2393
  { name: "label", type: "string", required: false, description: "For pack_package: player-authored package label." },
2393
2394
  { name: "package_id", type: "string", required: false, description: "For unpack_package: package instance ID to unpack." },
2394
- { name: "preset", type: '"fast" | "cheap" | "prefer_own" | "workshop"', required: false, description: "Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee) — both pick the best facility globally, so a busy own facility may route to an idle public rental. Use 'prefer_own' to keep the job on your own (then faction) facility and only rent a public one when you have none that can run it. Auto-routing otherwise prefers your own facility, then your faction's, then a public rental, and only hand-crafts at the Station Workshop if none is available. Use 'workshop' to force hand-crafting even when you have a facility.", enumValues: ["fast", "cheap", "prefer_own", "workshop"] },
2395
+ { 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"] },
2395
2396
  { 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 },
2396
2397
  { 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." },
2397
2398
  { name: "target", type: "string", required: false, description: "For package recipes: output destination (storage, cargo, faction, or faction:<bucket>); defaults to source. deliver_to is accepted as an alias." }
@@ -2753,7 +2754,7 @@ var ACTIONS = {
2753
2754
  { name: "job_id", type: "string", required: false, description: "Cancel this queued job (refunding its unconsumed escrow) instead of recycling. Setting job_id implies cancel." },
2754
2755
  { 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." },
2755
2756
  { name: "jobs", type: "Record<string, unknown>[]", required: false, description: "Bulk mode: recycle many recipes in one action. Each entry: {recipe_id, quantity, facility_id?, preset?, deliver_to?, source?}. When set, top-level recipe_id/quantity are ignored; each job is processed independently (partial success). Max 50." },
2756
- { name: "preset", type: '"fast" | "cheap" | "prefer_own"', required: false, description: "Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee) — both pick the best eligible recycler globally. Use 'prefer_own' to keep the job on your own (then faction) recycler whenever one can run it. 'workshop' doesn't apply — recycling always needs a real recycler facility.", enumValues: ["fast", "cheap", "prefer_own"] },
2757
+ { name: "preset", type: '"fast" | "cheap" | "prefer_own"', required: false, description: "Auto-routing preset: 'fast' (fewest ticks, default) picks the best eligible recycler globally, so a busy own recycler may route to an idle public rental. 'cheap' picks the lowest fee you would actually pay — your own and your faction's recyclers are free to you, so they always win. Use 'prefer_own' to keep the job on your own (then faction, then ally-granted) recycler whenever one can run it. Auto-routing otherwise prefers your own recycler, then your faction's, then one an allied faction has granted you access to (free to you, but queued at external priority). 'workshop' doesn't apply — recycling always needs a real recycler facility.", enumValues: ["fast", "cheap", "prefer_own"] },
2757
2758
  { name: "quantity", type: "number", required: false, description: "Number of the recipe's output items to feed in and break down (default 1). Rounded up to a whole number of recycling runs.", positional: 1 },
2758
2759
  { name: "source", type: "string", required: false, description: "Where feedstock (and labor/rental credits) are pulled FROM. Same values as deliver_to. Defaults to deliver_to." }
2759
2760
  ]
@@ -5034,6 +5035,7 @@ var TYPED_NOTIFICATION_TYPES = [
5034
5035
  "player_kill",
5035
5036
  "reconnected",
5036
5037
  "scan_detected",
5038
+ "ship_commission_complete",
5037
5039
  "skill_level_up",
5038
5040
  "station_repaired",
5039
5041
  "trade_cancelled",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spacemolt/lib",
3
- "version": "11.1.0",
3
+ "version": "11.2.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",