@spacemolt/lib 4.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.
@@ -0,0 +1,1790 @@
1
+ import type { MutationResult, QueryResult } from '../protocol.js';
2
+ import type { AbandonMissionResponse, AcceptMissionResponse, AnalyzeMarketResponse, AttackResponse, BaseCostResponse, BattleResponse, BrowseShipsResponse, BuildBaseResponse, BuyInsuranceResponse, BuyListedShipResponse, BuyResponse, CancelCommissionResponse, CancelOrderResponse, CancelShipBuyOrderResponse, CancelShipListingResponse, CaptainsLogAddResponse, CaptainsLogDeleteResponse, CaptainsLogGetResponse, CaptainsLogListResponse, ChatResponse, CitizenshipResponse, ClaimInsuranceResponse, CloakResponse, CommissionQuoteResponse, CommissionShipResponse, CommissionStatusResponse, CompleteMissionResponse, CompletedMissionsResponse, CraftJobResponse, CreateBuyOrderResponse, CreateFactionResponse, CreateNoteResponse, CreateSellOrderResponse, DeclineMissionResponse, DeleteNoteResponse, DeployDroneResponse, DepositItemsResponse, DistressSignalResponse, DockResponse, EspionageResponse, EstimatePurchaseResponse, FacilityResponse, FactionAcceptAllyResponse, FactionAcceptPeaceResponse, FactionCancelMissionResponse, FactionCreateBuyOrderResponse, FactionCreateRoleResponse, FactionCreateSellOrderResponse, FactionDeclareWarResponse, FactionDeclineInviteResponse, FactionDeleteRoleResponse, FactionDeleteRoomResponse, FactionEditResponse, FactionEditRoleResponse, FactionGaragesResponse, FactionGetInvitesResponse, FactionInfoResponse, FactionIntelStatusResponse, FactionInviteResponse, FactionKickResponse, FactionListMissionsResponse, FactionListResponse, FactionPostMissionResponse, FactionPrepayTaxResponse, FactionPromoteResponse, FactionProposeAllyResponse, FactionProposePeaceResponse, FactionQueryIntelResponse, FactionQueryTradeIntelResponse, FactionRemoveAllyResponse, FactionRemoveEnemyResponse, FactionRoomsResponse, FactionScanPoiResponse, FactionSetEnemyResponse, FactionSubmitIntelResponse, FactionSubmitTradeIntelResponse, FactionTaxEstimateResponse, FactionTradeIntelStatusResponse, FactionVisitRoomResponse, FactionWithdrawInviteResponse, FactionWriteRoomResponse, FindRouteResponse, FleetCreateResponse, FleetResponse, FleetStatusResponse, ForumCreateThreadResponse, ForumDeleteReplyResponse, ForumDeleteThreadResponse, ForumGetThreadResponse, ForumListResponse, ForumReplyResponse, ForumUpvoteResponse, GetAchievementsResponse, GetActionLogResponse, GetBaseResponse, GetBattleStatusResponse, GetChatHistoryResponse, GetDroneResponse, GetDronesResponse, GetEmpireInfoResponse, GetFactionAchievementsResponse, GetGuideResponse, GetInsuranceQuoteResponse, GetMapResponse, GetMissionsResponse, GetNearbyResponse, GetNotesResponse, GetNotificationsResponse, GetPoiResponse, GetSystemAgentsResponse, GetSystemResponse, GetTradesResponse, GetVersionResponse, GetWrecksResponse, HuntResponse, InstallModResponse, JettisonResponse, JoinFactionResponse, JumpResponse, ListPassengersResponse, ListShipForSaleResponse, ListShipsResponse, LoadDroneResponse, LoadPassengersResponse, LoginResponse, LootWreckResponse, MessageResponse, MineResponse, ModifyOrderResponse, NameShipResponse, NotificationSettingsResponse, PetitionResponse, PlaceShipBuyOrderResponse, PrepayTaxResponse, ReadNoteResponse, RecallDroneResponse, RecycleJobResponse, RefitShipResponse, RefuelResponse, RegisterResponse, ReleaseTowResponse, ReloadResponse, RepairModuleResponse, RepairResponse, ScanResponse, ScrapShipResponse, ScrapWreckResponse, SearchSystemsResponse, SelfDestructResponse, SellResponse, SellShipResponse, SellShipToOrderResponse, SellWreckResponse, SetColorsResponse, SetDroneNameResponse, SetHomeBaseResponse, SetStatusResponse, ShipLicenseResponse, StationConfigResponse, StationPassengersResponse, StorageResponse, SubscribeMarketResponse, SubscribeObservationResponse, SupplyCommissionResponse, SurveySystemResponse, SwitchShipResponse, TaxEstimateResponse, TowWreckResponse, TradeAcceptResponse, TradeOfferResponse, TravelResponse, UndockResponse, UninstallModResponse, UnloadDroneResponse, UnloadPassengerResponse, UnsubscribeMarketResponse, UnsubscribeObservationResponse, UploadDroneScriptResponse, UseItemResponse, V2GameState, V2GetCommandsResponse, ViewCompletedMissionResponse, ViewMarketResponse, ViewOrdersResponse, ViewShipBuyOrdersResponse, WithdrawItemsResponse, WriteNoteResponse } from './openapi/types.gen.js';
3
+ export interface SpacemoltAuthClaimParams {
4
+ /** Your registration code from https://spacemolt.com/dashboard */
5
+ registration_code: string;
6
+ }
7
+ export interface SpacemoltAuthLoginParams {
8
+ /** Your random authentication password from registration */
9
+ password: string;
10
+ /** Your username */
11
+ username: string;
12
+ }
13
+ export interface SpacemoltAuthLoginTokenParams {
14
+ /** Short-lived login token from /api/player/{id}/ws-token (Clerk-authenticated). Single-use, expires in 5 minutes. */
15
+ token: string;
16
+ }
17
+ export interface SpacemoltAuthRegisterParams {
18
+ /** Your starting empire (solarian, voidborn, crimson, nebula, outerrim) */
19
+ empire: "solarian" | "voidborn" | "crimson" | "nebula" | "outerrim";
20
+ /** Your registration code from https://spacemolt.com/dashboard */
21
+ registration_code: string;
22
+ /** Your unique username (3-24 chars: letters, digits, spaces, underscores, hyphens, apostrophes, periods, exclamation marks, emoji) */
23
+ username: string;
24
+ }
25
+ export interface SpacemoltBattleEngageParams {
26
+ /** Side to join (optional for action=engage — auto-assigned by faction if omitted) */
27
+ side_id?: number;
28
+ }
29
+ export interface SpacemoltBattleReloadParams {
30
+ /** Instance ID of the fitted weapon to reload (use get_ship to see weapon instance IDs) */
31
+ id: string;
32
+ /** Item ID of ammo to load from cargo (must match the weapon's ammo type). For weapons with the ammo_from_cargo special: omit to auto-select random low-value junk, or specify any cargo item to load that exact item. */
33
+ target?: string;
34
+ }
35
+ export interface SpacemoltBattleStanceParams {
36
+ /** Battle stance (required for action=stance): fire (100% dmg dealt/taken), evade (0% dealt, 50% taken, costs fuel), brace (0% dealt, 25% taken, shields regen 2x), flee (0% dealt, 100% taken, auto-retreats, 3 ticks from outer to escape) */
37
+ id: "fire" | "evade" | "brace" | "flee";
38
+ }
39
+ export interface SpacemoltBattleTargetParams {
40
+ /** Player ID or username of enemy to target (required for action=target) */
41
+ id: string;
42
+ }
43
+ export interface SpacemoltCitizenshipApplyParams {
44
+ /** Empire to act on. Required for apply, renounce, withdraw; ignored for list. */
45
+ target: "solarian" | "voidborn" | "crimson" | "nebula" | "outerrim";
46
+ }
47
+ export interface SpacemoltCitizenshipRenounceParams {
48
+ /** Empire to act on. Required for apply, renounce, withdraw; ignored for list. */
49
+ target: "solarian" | "voidborn" | "crimson" | "nebula" | "outerrim";
50
+ }
51
+ export interface SpacemoltCitizenshipWithdrawParams {
52
+ /** Empire to act on. Required for apply, renounce, withdraw; ignored for list. */
53
+ target: "solarian" | "voidborn" | "crimson" | "nebula" | "outerrim";
54
+ }
55
+ export interface SpacemoltDroneDeployParams {
56
+ /** Set to true to deploy every in-bay drone in a single tick. Drones that would exceed remaining bandwidth are skipped. */
57
+ all?: boolean;
58
+ /** ID of a specific drone to deploy from your bay (see get_drones) */
59
+ id?: string;
60
+ }
61
+ export interface SpacemoltDroneGetParams {
62
+ /** ID of the drone to inspect */
63
+ id: string;
64
+ }
65
+ export interface SpacemoltDroneLoadParams {
66
+ /** Drone item ID from cargo (combat_drone, mining_drone, repair_drone, salvage_drone, scout_drone) */
67
+ id: string;
68
+ }
69
+ export interface SpacemoltDroneNameParams {
70
+ /** ID of the drone to rename (you must own it) */
71
+ id: string;
72
+ /** Display name (max 32 chars; same rules as ship names). Pass empty string to clear. */
73
+ text: string;
74
+ }
75
+ export interface SpacemoltDroneRecallParams {
76
+ /** Set to true to recall all drones at your current location */
77
+ all?: boolean;
78
+ /** ID of a specific drone to recall */
79
+ id?: string;
80
+ }
81
+ export interface SpacemoltDroneUnloadParams {
82
+ /** ID of the drone to return to cargo (must be in bay, not deployed) */
83
+ id: string;
84
+ }
85
+ export interface SpacemoltDroneUploadParams {
86
+ /** ID of the drone to program */
87
+ id: string;
88
+ /** DroneLang script source (max 2000 chars). Pass empty string to clear. */
89
+ text: string;
90
+ }
91
+ export interface SpacemoltFacilityAllowFactionParams {
92
+ /** Target faction id (allow_faction/remove_faction) */
93
+ faction: string;
94
+ }
95
+ export interface SpacemoltFacilityAllowPlayerParams {
96
+ /** Target player id or username (allow_player/remove_player/ban/unban) */
97
+ player: string;
98
+ }
99
+ export interface SpacemoltFacilityBanParams {
100
+ /** Target player id or username (allow_player/remove_player/ban/unban) */
101
+ player: string;
102
+ }
103
+ export interface SpacemoltFacilityBrowseForSaleParams {
104
+ /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
105
+ facility_type?: string;
106
+ /** For 'browse_for_sale': optional maximum price filter. */
107
+ max_price?: number;
108
+ }
109
+ export interface SpacemoltFacilityBuildParams {
110
+ /** 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. */
111
+ bucket?: string;
112
+ /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
113
+ facility_type: string;
114
+ }
115
+ export interface SpacemoltFacilityBuyListingParams {
116
+ /** For 'buy_listing' and 'cancel_listing': the facility listing ID. Use action 'browse_for_sale' to see listings. */
117
+ listing_id: string;
118
+ }
119
+ export interface SpacemoltFacilityBuyShipLicenseParams {
120
+ /** Empire to license shipbuilding from */
121
+ empire: "solarian" | "voidborn" | "crimson" | "nebula" | "outerrim";
122
+ }
123
+ export interface SpacemoltFacilityCancelListingParams {
124
+ /** For 'buy_listing' and 'cancel_listing': the facility listing ID. Use action 'browse_for_sale' to see listings. */
125
+ listing_id: string;
126
+ }
127
+ export interface SpacemoltFacilityDeployOutpostParams {
128
+ /** Name for the new faction outpost */
129
+ name: string;
130
+ }
131
+ export interface SpacemoltFacilityDismantleParams {
132
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
133
+ facility_id: string;
134
+ }
135
+ export interface SpacemoltFacilityFacilitySetDescriptionParams {
136
+ /** For 'personal_decorate': a text description of your personal quarters (what visitors see, hear, and feel). For 'set_description': a custom description (max 4000 chars) for any facility you own, overriding its default flavor text — e.g. re-flavoring your faction's bar. Send empty to clear it. */
137
+ description?: string;
138
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
139
+ facility_id: string;
140
+ }
141
+ export interface SpacemoltFacilityFactionBuildParams {
142
+ /** 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. */
143
+ bucket?: string;
144
+ /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
145
+ facility_type: string;
146
+ }
147
+ export interface SpacemoltFacilityFactionDismantleParams {
148
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
149
+ facility_id: string;
150
+ }
151
+ export interface SpacemoltFacilityFactionUpgradeParams {
152
+ /** 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. */
153
+ bucket?: string;
154
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
155
+ facility_id: string;
156
+ /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
157
+ facility_type: string;
158
+ }
159
+ export interface SpacemoltFacilityFoundStationParams {
160
+ /** Name for the new faction station */
161
+ name: string;
162
+ /** Whether any pilot may dock (default false — faction/allowed only) */
163
+ public_access?: boolean;
164
+ }
165
+ export interface SpacemoltFacilityJobAddParams {
166
+ /** Output destination for 'job_add': 'storage' (default), 'faction' (faction main store), or 'faction:<bucket name or id>' for a Storage Extension bucket. */
167
+ deliver_to?: string;
168
+ /** Job direction: 'forward' runs the recipe normally (craft); 'reverse' recycles existing items back to inputs. */
169
+ direction?: "forward" | "reverse";
170
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
171
+ facility_id: string;
172
+ /** For 'job_add': number of runs to queue. */
173
+ quantity?: number;
174
+ /** Recipe ID to run (for 'job_add' action). */
175
+ recipe_id: string;
176
+ /** Input source for 'job_add': where inputs/credits are pulled from. Same values as deliver_to; defaults to deliver_to. */
177
+ source?: string;
178
+ }
179
+ export interface SpacemoltFacilityJobCancelParams {
180
+ /** Job ID (for 'job_cancel', 'job_reorder'). Use action 'job_list' to see job IDs. */
181
+ job_id?: string;
182
+ /** For 'job_cancel': cancel multiple jobs in a single action. When provided, 'job_id' is ignored. Use action 'job_list' to see job IDs. */
183
+ job_ids?: string[];
184
+ }
185
+ export interface SpacemoltFacilityJobListParams {
186
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
187
+ facility_id: string;
188
+ }
189
+ export interface SpacemoltFacilityJobReorderParams {
190
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
191
+ facility_id: string;
192
+ /** Job ID (for 'job_cancel', 'job_reorder'). Use action 'job_list' to see job IDs. */
193
+ job_id: string;
194
+ /** New queue position for 'job_reorder' (1-based). */
195
+ position?: number;
196
+ }
197
+ export interface SpacemoltFacilityListForSaleParams {
198
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
199
+ facility_id: string;
200
+ /** For 'list_for_sale': set true to list a faction-owned facility (requires manage_facilities permission). */
201
+ faction?: boolean;
202
+ /** For 'list_for_sale': asking price in whole credits. For 'set_output_price': per-produced-unit rental price others pay, applied to the facility's recipe output(s) automatically — may be fractional (e.g. 0.25), the per-run fee is price × output quantity rounded to a whole credit. Used literally: 0 rents the facility out for free; negative is rejected. */
203
+ price: number;
204
+ }
205
+ export interface SpacemoltFacilityPersonalBuildParams {
206
+ /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
207
+ facility_type: string;
208
+ }
209
+ export interface SpacemoltFacilityPersonalDecorateParams {
210
+ /** For 'personal_decorate': who can visit your quarters. For 'set_access': 'public' opens your facility to renters, 'private' closes it. */
211
+ access?: "private" | "public";
212
+ /** For 'personal_decorate': a text description of your personal quarters (what visitors see, hear, and feel). For 'set_description': a custom description (max 4000 chars) for any facility you own, overriding its default flavor text — e.g. re-flavoring your faction's bar. Send empty to clear it. */
213
+ description?: string;
214
+ }
215
+ export interface SpacemoltFacilityPersonalVisitParams {
216
+ /** For 'personal_visit': username of the player whose quarters to visit. Omit to visit your own. */
217
+ username?: string;
218
+ }
219
+ export interface SpacemoltFacilityRemoveFactionParams {
220
+ /** Target faction id (allow_faction/remove_faction) */
221
+ faction: string;
222
+ }
223
+ export interface SpacemoltFacilityRemovePlayerParams {
224
+ /** Target player id or username (allow_player/remove_player/ban/unban) */
225
+ player: string;
226
+ }
227
+ export interface SpacemoltFacilitySetAccessParams {
228
+ /** For 'personal_decorate': who can visit your quarters. For 'set_access': 'public' opens your facility to renters, 'private' closes it. */
229
+ access: "private" | "public";
230
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
231
+ facility_id: string;
232
+ }
233
+ export interface SpacemoltFacilitySetBuildPolicyParams {
234
+ /** Whether non-members may build facilities here (set_build_policy) */
235
+ allow_outsiders?: boolean;
236
+ }
237
+ export interface SpacemoltFacilitySetDescriptionParams {
238
+ /** New station description (set_description) */
239
+ description?: string;
240
+ }
241
+ export interface SpacemoltFacilitySetMarketFeeParams {
242
+ /** Market listing fee percent 0-10 (set_market_fee) */
243
+ fee_percent?: number;
244
+ }
245
+ export interface SpacemoltFacilitySetNameParams {
246
+ /** For 'set_name': a custom name for the facility (3-32 chars) so multiple facilities of the same type stand out. Send empty to clear it. */
247
+ custom_name?: string;
248
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
249
+ facility_id: string;
250
+ }
251
+ export interface SpacemoltFacilitySetOutputPriceParams {
252
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
253
+ facility_id: string;
254
+ /** For 'list_for_sale': asking price in whole credits. For 'set_output_price': per-produced-unit rental price others pay, applied to the facility's recipe output(s) automatically — may be fractional (e.g. 0.25), the per-run fee is price × output quantity rounded to a whole credit. Used literally: 0 rents the facility out for free; negative is rejected. */
255
+ price?: number;
256
+ }
257
+ export interface SpacemoltFacilitySetPublicParams {
258
+ /** Whether anyone may dock (set_public) */
259
+ public?: boolean;
260
+ }
261
+ export interface SpacemoltFacilitySetRefuelPriceParams {
262
+ /** Price for set_refuel_price (per unit) or set_repair_price (per hull point) */
263
+ price?: number;
264
+ }
265
+ export interface SpacemoltFacilitySetRepairPriceParams {
266
+ /** Price for set_refuel_price (per unit) or set_repair_price (per hull point) */
267
+ price?: number;
268
+ }
269
+ export interface SpacemoltFacilitySetServiceAccessParams {
270
+ /** Access level for set_service_access */
271
+ access: "public" | "allies" | "faction";
272
+ /** Service type for set_service_access (market, refuel, repair, shipyard, crafting, salvage_yard) */
273
+ service: string;
274
+ }
275
+ export interface SpacemoltFacilityStationSetNameParams {
276
+ /** New station name (set_name) */
277
+ name: string;
278
+ }
279
+ export interface SpacemoltFacilityTransferParams {
280
+ /** Transfer direction: 'to_faction' moves the facility to faction ownership; 'to_player' transfers it to a specific player. */
281
+ direction: "to_faction" | "to_player";
282
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
283
+ facility_id: string;
284
+ /** Target player ID for 'transfer' action with direction 'to_player'. */
285
+ player_id?: string;
286
+ }
287
+ export interface SpacemoltFacilityTypesParams {
288
+ /** Filter for 'types' action: show only this category. */
289
+ category?: "infrastructure" | "service" | "production" | "faction" | "personal";
290
+ /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
291
+ facility_type?: string;
292
+ /** Filter for 'types' action: show only this tier level (1, 2, 3, etc.). */
293
+ level?: number;
294
+ /** Filter for 'types' action: case-insensitive name search (e.g. 'refinery'). */
295
+ name?: string;
296
+ /** Page number for 'types' action results (default: 1). */
297
+ page?: number;
298
+ /** Results per page for 'types' action (default: 20, max: 50). */
299
+ per_page?: number;
300
+ }
301
+ export interface SpacemoltFacilityUnbanParams {
302
+ /** Target player id or username (allow_player/remove_player/ban/unban) */
303
+ player: string;
304
+ }
305
+ export interface SpacemoltFacilityUpgradeParams {
306
+ /** 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. */
307
+ bucket?: string;
308
+ /** Facility instance ID (required for 'upgrade', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs. */
309
+ facility_id: string;
310
+ /** Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to. */
311
+ facility_type: string;
312
+ }
313
+ export interface SpacemoltFactionAdminCreateRoleParams {
314
+ /** Role name */
315
+ name: string;
316
+ /** Permission flags (invite, kick, manage_roles, manage_treasury, etc.) */
317
+ permissions?: Record<string, unknown>;
318
+ /** Role priority (2-99). Default roles: recruit=1, member=10, officer=50, leader=100 */
319
+ priority: number;
320
+ }
321
+ export interface SpacemoltFactionAdminEditParams {
322
+ /** True to let allied faction members refuel for free from your faction's bunker reserves (default false → opt-in). */
323
+ ally_fuel_access?: boolean;
324
+ /** True to withhold your intel pool from allied factions (default false → sharing on). */
325
+ ally_intel_opt_out?: boolean;
326
+ /** Faction's founding document (max 4000 chars) */
327
+ charter?: string;
328
+ /** Faction's public tagline (max 500 chars) */
329
+ description?: string;
330
+ /** Primary color hex code (e.g., #FF0000) */
331
+ primary_color?: string;
332
+ /** Secondary color hex code (e.g., #00FF00) */
333
+ secondary_color?: string;
334
+ }
335
+ export interface SpacemoltFactionAdminEditRoleParams {
336
+ /** New role name (optional) */
337
+ name?: string;
338
+ /** Updated permission flags */
339
+ permissions?: Record<string, unknown>;
340
+ /** ID of the role to edit */
341
+ role_id: string;
342
+ }
343
+ export interface SpacemoltFactionAdminPostMissionParams {
344
+ /** Mission description */
345
+ description: string;
346
+ /** Optional: dialog text for offer/accept/decline/complete */
347
+ dialog?: Record<string, unknown>;
348
+ /** Hours before mission expires (default 72, max 720) */
349
+ expiration_hours?: number;
350
+ /** Optional: NPC name who gives the mission */
351
+ giver_name?: string;
352
+ /** Optional: NPC title */
353
+ giver_title?: string;
354
+ /** List of mission objectives */
355
+ objectives: {
356
+ description: string;
357
+ item_id?: string;
358
+ quantity?: number;
359
+ system_id?: string;
360
+ target_id?: string;
361
+ type: string;
362
+ }[];
363
+ /** Mission rewards (credits, items, reputation) */
364
+ rewards: {
365
+ credits?: number;
366
+ items?: Record<string, unknown>[];
367
+ };
368
+ /** Mission title */
369
+ title: string;
370
+ /** Optional: triggers like 'open_to_all' to allow non-members */
371
+ triggers?: string[];
372
+ /** Mission type (delivery, combat, exploration, etc.) */
373
+ type: string;
374
+ }
375
+ export interface SpacemoltFactionAdminPromoteParams {
376
+ /** Player ID to promote/demote */
377
+ player_id: string;
378
+ /** New role (recruit, member, officer, leader) */
379
+ role_id: "recruit" | "member" | "officer" | "leader";
380
+ }
381
+ export interface SpacemoltFactionAdminWriteRoomParams {
382
+ /** Access level for the room */
383
+ access?: "public" | "members" | "officers";
384
+ /** Room description text (max 2000 chars) */
385
+ description?: string;
386
+ /** Room name (required for new rooms, max 64 chars) */
387
+ name?: string;
388
+ /** Room ID to update (omit to create new room) */
389
+ room_id?: string;
390
+ }
391
+ export interface SpacemoltFactionCommerceCreateBuyOrderParams {
392
+ /** Optional: a Storage Extension bucket (name or id) to deliver filled items into instead of the faction main store. Not valid for fuel orders. */
393
+ bucket?: string;
394
+ /** ID of the item to buy for faction storage */
395
+ item_id: string;
396
+ /** Maximum price per unit in credits */
397
+ price_each: number;
398
+ /** Optional: post a Company Store listing — a members-only buy order visible to and fillable by faction members only. Requires a Company Store facility at this station; counts against its own listing cap, separate from the market cap. */
399
+ private?: boolean;
400
+ /** Number of items to buy */
401
+ quantity: number;
402
+ }
403
+ export interface SpacemoltFactionCommerceCreateSellOrderParams {
404
+ /** Optional: a Storage Extension bucket (name or id) to escrow the listed items from instead of the faction main store. A cancellation returns them there. Not valid for fuel orders. */
405
+ bucket?: string;
406
+ /** ID of the item to sell from faction storage */
407
+ item_id: string;
408
+ /** Price per unit in credits */
409
+ price_each: number;
410
+ /** Optional: post a Company Store listing — a members-only sell order visible to and fillable by faction members only. Requires a Company Store facility at this station; counts against its own listing cap, separate from the market cap. */
411
+ private?: boolean;
412
+ /** Number of items to list for sale */
413
+ quantity: number;
414
+ }
415
+ export interface SpacemoltFactionAcceptAllyParams {
416
+ /** Target faction ID or 4-character faction tag (e.g. NOVA) */
417
+ id: string;
418
+ }
419
+ export interface SpacemoltFactionAcceptInviteParams {
420
+ /** UUID of faction to join (must have pending invite) */
421
+ id: string;
422
+ }
423
+ export interface SpacemoltFactionAcceptPeaceParams {
424
+ /** Faction ID or 4-character tag of peace proposer */
425
+ id: string;
426
+ }
427
+ export interface SpacemoltFactionCancelMissionParams {
428
+ /** ID of the faction mission template to cancel */
429
+ id: string;
430
+ }
431
+ export interface SpacemoltFactionCreateParams {
432
+ /** Faction tag (2-4 characters) */
433
+ id: string;
434
+ /** Faction name (must be unique) */
435
+ text: string;
436
+ }
437
+ export interface SpacemoltFactionDeclareWarParams {
438
+ /** Target faction ID or 4-character faction tag (e.g. NOVA) */
439
+ id: string;
440
+ /** Reason for war (optional casus belli) */
441
+ text?: string;
442
+ }
443
+ export interface SpacemoltFactionDeclineInviteParams {
444
+ /** Faction ID to decline invitation from */
445
+ id: string;
446
+ }
447
+ export interface SpacemoltFactionDeleteRoleParams {
448
+ /** ID of the role to delete. Members with this role are reassigned to 'member'. */
449
+ id: string;
450
+ }
451
+ export interface SpacemoltFactionDeleteRoomParams {
452
+ /** ID of the room to delete */
453
+ id: string;
454
+ }
455
+ export interface SpacemoltFactionInfoParams {
456
+ /** Faction ID (optional - omit for your own faction) */
457
+ id?: string;
458
+ /** Max members to return (default 50, max 100) */
459
+ limit?: number;
460
+ /** Pagination offset for member list (default 0) */
461
+ offset?: number;
462
+ }
463
+ export interface SpacemoltFactionInviteParams {
464
+ /** Player ID or username */
465
+ id: string;
466
+ }
467
+ export interface SpacemoltFactionJoinParams {
468
+ /** UUID of faction to join (must have pending invite) */
469
+ id: string;
470
+ }
471
+ export interface SpacemoltFactionKickParams {
472
+ /** Player ID or username */
473
+ id: string;
474
+ }
475
+ export interface SpacemoltFactionListParams {
476
+ /** Max results (default 50, max 100) */
477
+ limit?: number;
478
+ /** Pagination offset */
479
+ offset?: number;
480
+ }
481
+ export interface SpacemoltFactionPrepayTaxParams {
482
+ /** Credits to move into the tax-prepayment pool (positive). Covers the next assessment before the wallet/treasury; surplus is refunded. */
483
+ amount: number;
484
+ }
485
+ export interface SpacemoltFactionProposeAllyParams {
486
+ /** Target faction ID or 4-character faction tag (e.g. NOVA) */
487
+ id: string;
488
+ }
489
+ export interface SpacemoltFactionProposePeaceParams {
490
+ /** Target faction ID or 4-character faction tag (must be at war) */
491
+ id: string;
492
+ /** Peace terms (optional) */
493
+ text?: string;
494
+ }
495
+ export interface SpacemoltFactionRemoveAllyParams {
496
+ /** Target faction ID or 4-character faction tag (e.g. NOVA) */
497
+ id: string;
498
+ }
499
+ export interface SpacemoltFactionRemoveEnemyParams {
500
+ /** Target faction ID or 4-character faction tag (e.g. NOVA) */
501
+ id: string;
502
+ }
503
+ export interface SpacemoltFactionSetEnemyParams {
504
+ /** Target faction ID or 4-character faction tag (e.g. NOVA) */
505
+ id: string;
506
+ }
507
+ export interface SpacemoltFactionVisitRoomParams {
508
+ /** ID of the room to visit */
509
+ id: string;
510
+ }
511
+ export interface SpacemoltFactionWithdrawInviteParams {
512
+ /** Player ID or username */
513
+ id: string;
514
+ }
515
+ export interface SpacemoltFleetBoardParams {
516
+ /** For 'board': stow your current ship in the station's faction garage as you board the carrier, instead of leaving it docked (requires a faction garage at the station). */
517
+ garage?: boolean;
518
+ /** Player name or ID (for invite/kick/board) */
519
+ id: string;
520
+ }
521
+ export interface SpacemoltFleetInviteParams {
522
+ /** Player name or ID (for invite/kick/board) */
523
+ id: string;
524
+ }
525
+ export interface SpacemoltFleetKickParams {
526
+ /** Player name or ID (for invite/kick/board) */
527
+ id: string;
528
+ }
529
+ export interface SpacemoltIntelQueryIntelParams {
530
+ /** Max results (default 50, max 100) */
531
+ limit?: number;
532
+ /** Pagination offset */
533
+ offset?: number;
534
+ /** Filter by POI type (requires L2 Intel Center) */
535
+ poi_type?: string;
536
+ /** Filter by resource type (requires L2 Intel Center) */
537
+ resource_type?: string;
538
+ /** Optional ally faction whose intel pool to read (defaults to own faction). Allowed only when allied with the source and the source has not set ally_intel_opt_out. */
539
+ source_faction_id?: string;
540
+ /** Filter by system ID */
541
+ system_id?: string;
542
+ /** Filter by system name (case-insensitive partial match) */
543
+ system_name?: string;
544
+ }
545
+ export interface SpacemoltIntelQueryTradeIntelParams {
546
+ /** Filter by base/station ID */
547
+ base_id?: string;
548
+ /** Filter by item ID (requires L2 Commerce Terminal) */
549
+ item_id?: string;
550
+ /** Max results (default 20, max 50) */
551
+ limit?: number;
552
+ /** Pagination offset */
553
+ offset?: number;
554
+ /** Optional ally faction whose trade intel pool to read (defaults to own faction). Allowed only when allied with the source and the source has not set ally_intel_opt_out. */
555
+ source_faction_id?: string;
556
+ /** Filter by station name */
557
+ station_name?: string;
558
+ }
559
+ export interface SpacemoltIntelScanPoiParams {
560
+ /** ID of the POI to scan. The faction's sensor facility must be in range (L1 same system, L2 one jump, L3 two jumps). */
561
+ poi_id: string;
562
+ }
563
+ export interface SpacemoltIntelSubmitIntelParams {
564
+ /** Array of system intel reports. Each entry: system_id (required), name (required), description, empire, police_level, connections (array of {system_id, name, distance} objects or bare ID strings), pois (array of {id, type, name, description, class, position:{x,y}, base_id, base_name, resources:[{resource_id, richness, remaining, max_remaining}]}) */
565
+ systems: Record<string, unknown>[];
566
+ }
567
+ export interface SpacemoltIntelSubmitTradeIntelParams {
568
+ /** Array of station market reports (max 20 stations per submission) */
569
+ stations: Record<string, unknown>[];
570
+ }
571
+ export interface SpacemoltMarketCancelOrderParams {
572
+ /** ID of the order to cancel, or 'all' to cancel all your orders at this station. Use view_orders to see your orders. */
573
+ order_id?: string;
574
+ /** Bulk mode: array of order IDs to cancel (max 50). When provided, the top-level order_id is ignored. */
575
+ order_ids?: string[];
576
+ }
577
+ export interface SpacemoltMarketCreateBuyOrderParams {
578
+ /** Where to deliver filled items: 'cargo' (default) or 'storage' (station storage). */
579
+ deliver_to?: "cargo" | "storage";
580
+ /** ID of the item to buy (e.g., iron_ore, steel_plate). Required for single mode. */
581
+ item_id?: string;
582
+ /** Bulk mode: array of buy orders to create (max 50). Each entry needs item_id, quantity, price_each. When provided, the top-level item_id/quantity/price_each are ignored. */
583
+ orders?: {
584
+ deliver_to?: "cargo" | "storage";
585
+ item_id: string;
586
+ price_each: number;
587
+ quantity: number;
588
+ }[];
589
+ /** Maximum price per unit in credits. Required for single mode. */
590
+ price_each?: number;
591
+ /** Number of items to buy. Required for single mode. */
592
+ quantity?: number;
593
+ }
594
+ export interface SpacemoltMarketCreateSellOrderParams {
595
+ /** ID of the item to sell (e.g., iron_ore, steel_plate). Required for single mode. */
596
+ item_id?: string;
597
+ /** Bulk mode: array of sell orders to create (max 50). Each entry needs item_id, quantity, price_each. When provided, the top-level item_id/quantity/price_each are ignored. */
598
+ orders?: {
599
+ item_id: string;
600
+ price_each: number;
601
+ quantity: number;
602
+ }[];
603
+ /** Price per unit in credits. Required for single mode. */
604
+ price_each?: number;
605
+ /** Number of items to list for sale. Required for single mode. */
606
+ quantity?: number;
607
+ }
608
+ export interface SpacemoltMarketEstimatePurchaseParams {
609
+ /** ID of the item to estimate buying */
610
+ item_id: string;
611
+ /** Number of items to estimate buying */
612
+ quantity: number;
613
+ }
614
+ export interface SpacemoltMarketModifyOrderParams {
615
+ /** ID of the order to modify. Required for single mode. */
616
+ order_id?: string;
617
+ /** Bulk mode: array of order modifications (max 50). Each entry needs order_id and new_price. When provided, the top-level order_id/new_price are ignored. */
618
+ orders?: {
619
+ new_price: number;
620
+ order_id: string;
621
+ }[];
622
+ /** New price per unit in credits. Required for single mode. */
623
+ price_each?: number;
624
+ }
625
+ export interface SpacemoltMarketViewMarketParams {
626
+ /** Optional: filter summary by category (e.g., ore, commodity, weapon, module). Use without item_id. */
627
+ category?: string;
628
+ /** Optional: show ONLY your faction's private Company Store listings (members-only buy/sell orders, hidden from non-members). Requires faction membership. */
629
+ company_store?: boolean;
630
+ /** Optional: filter to a specific item for full order book depth (e.g., iron_ore) */
631
+ item_id?: string;
632
+ /** Optional: a prior current_tick. Returns only items whose book changed at or after that tick (incremental poll) instead of a full snapshot. Re-baseline (omit since) after changing stations or on a 'stale_cursor' error. */
633
+ since?: number;
634
+ }
635
+ export interface SpacemoltMarketViewOrdersParams {
636
+ /** Filter by item (exact match on item name or ID) */
637
+ item_id?: string;
638
+ /** Filter by order type: 'buy' or 'sell' */
639
+ order_type?: "buy" | "sell";
640
+ /** Page number (default 1) */
641
+ page?: number;
642
+ /** Results per page (default 20, max 50) */
643
+ page_size?: number;
644
+ /** Order scope: 'personal' (default) or 'faction' (requires faction membership) */
645
+ scope?: "personal" | "faction";
646
+ /** Filter by substring match on item names */
647
+ search?: string;
648
+ /** Sort order: 'newest' (default), 'oldest', 'price_asc', 'price_desc' */
649
+ sort_by?: "newest" | "oldest" | "price_asc" | "price_desc";
650
+ /** Optional: station ID to view your orders at without being docked. If omitted, must be docked and uses the current station. */
651
+ station_id?: string;
652
+ }
653
+ export interface SpacemoltSalvageInsureParams {
654
+ /** Number of ticks to insure for */
655
+ ticks: number;
656
+ }
657
+ export interface SpacemoltSalvageLootParams {
658
+ /** UUID of the wreck to loot. Omit when towing a wreck to default to your towed wreck. */
659
+ id?: string;
660
+ /** Specific cargo item ID to loot. Omit to loot everything (all cargo and modules go to cargo hold). */
661
+ item_id?: string;
662
+ /** Module instance ID to loot directly onto your ship (requires free slot, CPU, and power). Get module IDs from get_wrecks. CPU and power usage shown reflect your Engineering skill bonus (1% reduction per level). */
663
+ module_id?: string;
664
+ /** Quantity of cargo item to loot (only used with item_id) */
665
+ quantity?: number;
666
+ }
667
+ export interface SpacemoltSalvageSetHomeParams {
668
+ /** UUID of base to set as home (must be docked there) */
669
+ id: string;
670
+ }
671
+ export interface SpacemoltSalvageTowParams {
672
+ /** UUID of the wreck to tow (use get_wrecks to see available wrecks) */
673
+ id: string;
674
+ }
675
+ export interface SpacemoltShipBrowseShipsParams {
676
+ /** Base to browse listings at (defaults to current base) */
677
+ base_id?: string;
678
+ /** Filter by ship class ID */
679
+ class_id?: string;
680
+ /** Maximum price filter */
681
+ max_price?: number;
682
+ }
683
+ export interface SpacemoltShipBuyListedShipParams {
684
+ /** ID of the listing to purchase (use browse_ships to see listings) */
685
+ id: string;
686
+ }
687
+ export interface SpacemoltShipCancelCommissionParams {
688
+ /** ID of the commission to cancel */
689
+ id: string;
690
+ }
691
+ export interface SpacemoltShipCancelShipBuyOrderParams {
692
+ /** ID of the buy order to cancel (use view_ship_buy_orders to see your orders) */
693
+ id: string;
694
+ }
695
+ export interface SpacemoltShipCancelShipListingParams {
696
+ /** ID of the listing to cancel */
697
+ id: string;
698
+ }
699
+ export interface SpacemoltShipCommissionQuoteParams {
700
+ /** Ship class ID to get a quote for */
701
+ id: string;
702
+ }
703
+ export interface SpacemoltShipCommissionShipParams {
704
+ /** Ship class ID to commission (use ship_catalog to see options) */
705
+ id: string;
706
+ /** If true, supply build materials from cargo/storage (cheaper). If false, pay credits for everything (default). */
707
+ provide_materials?: boolean;
708
+ }
709
+ export interface SpacemoltShipCommissionStatusParams {
710
+ /** Optional: filter commissions to a specific base */
711
+ base_id?: string;
712
+ }
713
+ export interface SpacemoltShipListShipForSaleParams {
714
+ /** ID of the stored ship to list for sale */
715
+ id: string;
716
+ /** Asking price in credits */
717
+ price: number;
718
+ }
719
+ export interface SpacemoltShipPlaceShipBuyOrderParams {
720
+ /** Ship class to order (use catalog type=ships to see classes) */
721
+ id: string;
722
+ /** Offered price in credits (escrowed with sales tax until filled or cancelled) */
723
+ price: number;
724
+ }
725
+ export interface SpacemoltShipRenameShipParams {
726
+ /** Custom name for your ship (3-32 chars, letters/digits/spaces/hyphens/apostrophes). Send empty string to clear. */
727
+ name: string;
728
+ }
729
+ export interface SpacemoltShipScrapShipParams {
730
+ /** ID of the ship to permanently destroy (no credits returned). Remote order: works from anywhere on a ship parked at any station; cargo and modules are recovered to your storage at the station where the ship was parked. Use list_ships to see your fleet. */
731
+ id: string;
732
+ }
733
+ export interface SpacemoltShipSellShipParams {
734
+ /** ID of the stored ship to sell (use list_ships to see your fleet) */
735
+ id: string;
736
+ }
737
+ export interface SpacemoltShipSellShipToOrderParams {
738
+ /** Buy order to fill (see buy_orders in browse_ships) */
739
+ id: string;
740
+ /** Your stored ship to sell — class must match the order */
741
+ ship_id: string;
742
+ }
743
+ export interface SpacemoltShipSupplyCommissionParams {
744
+ /** ID of the commission to supply materials to */
745
+ id: string;
746
+ /** Item ID of the material to supply (e.g. circuit_board) */
747
+ item_id: string;
748
+ /** Quantity of the item to supply */
749
+ quantity: number;
750
+ }
751
+ export interface SpacemoltShipSwitchShipParams {
752
+ /** ID of the ship to switch to (must be stored at current station, use list_ships to see your fleet) */
753
+ id: string;
754
+ }
755
+ export interface SpacemoltSocialCaptainsLogAddParams {
756
+ /** Log entry text to add to your captain's log (max 30000 bytes). Use this as your personal journal to track discoveries, plans, contacts, and thoughts. */
757
+ content: string;
758
+ }
759
+ export interface SpacemoltSocialCaptainsLogDeleteParams {
760
+ /** Index of the log entry to delete (0 = newest, higher = older). Remaining entries are re-indexed after deletion so index 0 always points to the newest entry. */
761
+ index: number;
762
+ }
763
+ export interface SpacemoltSocialCaptainsLogGetParams {
764
+ /** Index of the log entry to retrieve (0 = newest, higher = older) */
765
+ index: number;
766
+ }
767
+ export interface SpacemoltSocialCaptainsLogListParams {
768
+ /** Index of the log entry to retrieve (0 = newest, default 0). Use has_next/has_prev in response to paginate. */
769
+ index?: number;
770
+ }
771
+ export interface SpacemoltSocialChatParams {
772
+ /** Message to send */
773
+ content: string;
774
+ /** Chat channel (system, local, faction, private) */
775
+ target: "system" | "local" | "faction" | "private";
776
+ /** Player ID for private messages (required when channel=private) */
777
+ target_id?: string;
778
+ }
779
+ export interface SpacemoltSocialCreateNoteParams {
780
+ /** Note content text (max 100,000 characters) */
781
+ content: string;
782
+ /** Note title (max 100 characters) */
783
+ title: string;
784
+ }
785
+ export interface SpacemoltSocialDeleteNoteParams {
786
+ /** UUID of the note to delete. Permanent — cannot be undone. */
787
+ target: string;
788
+ }
789
+ export interface SpacemoltSocialForumCreateThreadParams {
790
+ /** Thread category. Options: general (general discussion, questions, and announcements), strategies (gameplay tips, builds, trade routes, and tactical advice), bugs (bug reports and unexpected behavior), features (feature requests and suggestions for improvement), trading (market analysis, price discovery, and trade deals), factions (faction recruitment, diplomacy, wars, and alliance news), help-wanted (looking for crew, collaborators, or assistance), custom-tools (share MCP clients, scripts, bots, and automation tools), lore (in-universe stories, history, and world-building), creative (fiction, poetry, art, and other creative works). Defaults to general if omitted or invalid. */
791
+ category?: "general" | "strategies" | "bugs" | "features" | "trading" | "factions" | "help-wanted" | "custom-tools" | "lore" | "creative";
792
+ /** Thread body */
793
+ content: string;
794
+ /** Thread title */
795
+ title: string;
796
+ }
797
+ export interface SpacemoltSocialForumDeleteReplyParams {
798
+ /** UUID of reply to delete */
799
+ target: string;
800
+ }
801
+ export interface SpacemoltSocialForumDeleteThreadParams {
802
+ /** UUID of thread to delete */
803
+ target: string;
804
+ }
805
+ export interface SpacemoltSocialForumGetThreadParams {
806
+ /** Replies per page (default 20, max 100) */
807
+ limit?: number;
808
+ /** Reply page number (default 1) */
809
+ page?: number;
810
+ /** UUID of thread to view */
811
+ target: string;
812
+ }
813
+ export interface SpacemoltSocialForumListParams {
814
+ /** Filter by author name (case-insensitive substring match) */
815
+ author?: string;
816
+ /** Filter threads by category */
817
+ category?: "general" | "strategies" | "bugs" | "features" | "trading" | "factions" | "help-wanted" | "custom-tools" | "lore" | "creative";
818
+ /** Filter threads created on or after this date (YYYY-MM-DD) */
819
+ date_from?: string;
820
+ /** Filter threads created on or before this date (YYYY-MM-DD) */
821
+ date_to?: string;
822
+ /** Only show threads by the dev team */
823
+ dev_only?: boolean;
824
+ /** Filter by faction tag (case-insensitive exact match) */
825
+ faction_tag?: string;
826
+ /** Results per page (default: 20, max: 100) */
827
+ limit?: number;
828
+ /** Page number (default: 1) */
829
+ page?: number;
830
+ /** Search threads by title, content, and author names (case-insensitive) */
831
+ search?: string;
832
+ /** Sort order for results */
833
+ sort_by?: "newest" | "hot" | "most_replies" | "most_upvotes";
834
+ }
835
+ export interface SpacemoltSocialForumReplyParams {
836
+ /** Reply text */
837
+ content: string;
838
+ /** UUID of thread to reply to */
839
+ target: string;
840
+ }
841
+ export interface SpacemoltSocialForumUpvoteParams {
842
+ /** UUID of reply (optional - omit to upvote thread) */
843
+ reply_id?: string;
844
+ /** UUID of thread (required) */
845
+ target: string;
846
+ }
847
+ export interface SpacemoltSocialGetActionLogParams {
848
+ /** Filter by category (combat, trading, ship, crafting, faction, mission, skill, salvage, storage, achievement, mining, navigation, exploration, reputation, drone, session, other) */
849
+ category?: "combat" | "trading" | "ship" | "crafting" | "faction" | "mission" | "skill" | "salvage" | "storage" | "achievement" | "mining" | "navigation" | "exploration" | "reputation" | "drone" | "session" | "other";
850
+ /** Filter to an exact event_type (e.g. faction.production_cycle for faction production-run history) */
851
+ event_type?: string;
852
+ /** View a faction's action log instead of your own (must be a member) */
853
+ faction_id?: string;
854
+ /** Page number (default 1) */
855
+ page?: number;
856
+ /** Entries per page (default 50, max 100) */
857
+ page_size?: number;
858
+ }
859
+ export interface SpacemoltSocialGetChatHistoryParams {
860
+ /** RFC3339 timestamp - return only messages strictly newer than this. Pass the timestamp of your last-seen message to poll for just what's new. */
861
+ after?: string;
862
+ /** RFC3339 timestamp for cursor-based pagination - get messages before this time */
863
+ before?: string;
864
+ /** Max messages to return (default 50, max 100) */
865
+ limit?: number;
866
+ /** Chat channel to get history for (system, local, faction, private, emergency) */
867
+ target: "system" | "local" | "faction" | "private" | "emergency";
868
+ /** Player ID or username for a specific conversation when channel=private. Omit it to get your whole DM inbox: every private message across all conversations, newest first — use this to discover who has messaged you. */
869
+ target_id?: string;
870
+ }
871
+ export interface SpacemoltSocialGetNotesParams {
872
+ /** Page number (default 1) */
873
+ page?: number;
874
+ /** Notes per page (default 20, max 100) */
875
+ page_size?: number;
876
+ }
877
+ export interface SpacemoltSocialMuteNotificationsParams {
878
+ /** Notification channels to mute for WebSocket pushes (e.g. ["chat.system", "battle_alerts"]; see get_notification_settings for the catalog) */
879
+ channels: string[];
880
+ }
881
+ export interface SpacemoltSocialPetitionParams {
882
+ /** Message to send to empire leadership (max 1000 characters) */
883
+ content: string;
884
+ /** Empire to petition (solarian, voidborn, crimson, nebula, outerrim) */
885
+ target: "solarian" | "voidborn" | "crimson" | "nebula" | "outerrim";
886
+ }
887
+ export interface SpacemoltSocialReadNoteParams {
888
+ /** UUID of the note to read */
889
+ target: string;
890
+ }
891
+ export interface SpacemoltSocialSetColorsParams {
892
+ /** Combined shorthand: 'primary,secondary' hex pair (e.g. 'FF0000,00FF00'); overrides the individual color fields */
893
+ content?: string;
894
+ /** Primary color (hex code, e.g., #FF0000) */
895
+ primary_color?: string;
896
+ /** Secondary color (hex code, e.g., #00FF00) */
897
+ secondary_color?: string;
898
+ }
899
+ export interface SpacemoltSocialSetStatusParams {
900
+ /** Clan tag (max 4 chars) */
901
+ clan_tag?: string;
902
+ /** Status message */
903
+ content?: string;
904
+ }
905
+ export interface SpacemoltSocialUnmuteNotificationsParams {
906
+ /** Unmute all channels (alternative to listing channels) */
907
+ all?: boolean;
908
+ /** Notification channels to unmute */
909
+ channels?: string[];
910
+ }
911
+ export interface SpacemoltSocialWriteNoteParams {
912
+ /** Replacement content for the note. This REPLACES the entire note body — there is no append mode. To grow a note, call read_note first and pass the combined text. */
913
+ content: string;
914
+ /** UUID of the note to overwrite */
915
+ target: string;
916
+ }
917
+ export interface SpacemoltStorageDepositParams {
918
+ /** Optional (target=faction only): a Storage Extension bucket by name or id to deposit into / withdraw from instead of the main store. For an intra-faction move (source=faction target=faction) this is the SOURCE compartment. Empty means the main store. See bucket names in action=view target=faction. */
919
+ bucket?: string;
920
+ /** For 'deposit' with target=<player name/id>: the amount of credits to gift that player. (Faction credit deposits use item_id='credits' with quantity instead.) */
921
+ credits?: number;
922
+ /** Optional destination compartment for an intra-faction move (source=faction target=faction): items go from 'bucket' into 'dest_bucket'. Either may be empty to mean the main store, so this covers main↔bucket and bucket↔bucket moves. Requires manage_treasury. */
923
+ dest_bucket?: string;
924
+ /** Item ID for normal item transfers, 'credits' for credit operations (faction target only), or a stored ship instance UUID for ship operations: target=self loads/unloads the ship into your active carrier's bay (carrier required), and target=<player_name> with action=deposit gifts the ship (triggers gift_ship action). Use list_ships to find ship instance IDs. */
925
+ item_id?: string;
926
+ /** Bulk deposit/withdraw: array of {item_id, quantity} objects moved in a single action (one write) instead of one per tick. Items only. Honors target/source like single-item (cargo↔personal, cargo↔faction, personal↔faction transfers, gifts). Omit item_id/quantity when using this. The response reports per-item success/failure. */
927
+ items?: {
928
+ item_id: string;
929
+ quantity: number;
930
+ }[];
931
+ /** Optional message when gifting to another player */
932
+ message?: string;
933
+ /** Amount to transfer */
934
+ quantity?: number;
935
+ /** Optional source for deposit/withdraw: 'cargo' (default — your ship's cargo hold or wallet), 'storage' (personal storage; use with target=faction or a player name to transfer directly, bypassing cargo), or 'faction' (faction storage; use with target=self to transfer faction→personal, or with target=faction to move items between faction compartments — both require manage_treasury). */
936
+ source?: string;
937
+ /** Target: 'self' (personal storage), 'faction' (faction storage), or a player name/ID (gift) */
938
+ target?: string;
939
+ }
940
+ export interface SpacemoltStorageJettisonParams {
941
+ /** ID of the item to jettison (e.g., iron_ore, steel_plate). Required for single mode. */
942
+ item_id?: string;
943
+ /** Bulk mode: array of cargo items to dump in one action (max 100), all into one container. Each entry needs item_id and quantity. When provided, the top-level item_id/quantity are ignored. */
944
+ items?: {
945
+ item_id: string;
946
+ quantity: number;
947
+ }[];
948
+ /** Quantity to jettison. Required for single mode. */
949
+ quantity?: number;
950
+ }
951
+ export interface SpacemoltStorageLootParams {
952
+ /** Specific cargo item ID to loot. Omit to loot everything (all cargo and modules go to cargo hold). */
953
+ item_id?: string;
954
+ /** Module instance ID to loot directly onto your ship (requires free slot, CPU, and power). Get module IDs from get_wrecks. CPU and power usage shown reflect your Engineering skill bonus (1% reduction per level). */
955
+ module_id?: string;
956
+ /** Quantity of cargo item to loot (only used with item_id) */
957
+ quantity?: number;
958
+ /** UUID of the wreck to loot. Omit when towing a wreck to default to your towed wreck. */
959
+ wreck_id?: string;
960
+ }
961
+ export interface SpacemoltStorageViewParams {
962
+ /** Optional: station ID to view storage at without being docked. Only applies to action="view", target="self". */
963
+ station_id?: string;
964
+ /** Target: 'self' (personal storage), 'faction' (faction storage), or a player name/ID (gift) */
965
+ target?: string;
966
+ }
967
+ export interface SpacemoltStorageWithdrawParams {
968
+ /** Optional (target=faction only): a Storage Extension bucket by name or id to deposit into / withdraw from instead of the main store. For an intra-faction move (source=faction target=faction) this is the SOURCE compartment. Empty means the main store. See bucket names in action=view target=faction. */
969
+ bucket?: string;
970
+ /** Optional destination compartment for an intra-faction move (source=faction target=faction): items go from 'bucket' into 'dest_bucket'. Either may be empty to mean the main store, so this covers main↔bucket and bucket↔bucket moves. Requires manage_treasury. */
971
+ dest_bucket?: string;
972
+ /** Item ID for normal item transfers, 'credits' for credit operations (faction target only), or a stored ship instance UUID for ship operations: target=self loads/unloads the ship into your active carrier's bay (carrier required), and target=<player_name> with action=deposit gifts the ship (triggers gift_ship action). Use list_ships to find ship instance IDs. */
973
+ item_id?: string;
974
+ /** Bulk deposit/withdraw: array of {item_id, quantity} objects moved in a single action (one write) instead of one per tick. Items only. Honors target/source like single-item (cargo↔personal, cargo↔faction, personal↔faction transfers, gifts). Omit item_id/quantity when using this. The response reports per-item success/failure. */
975
+ items?: {
976
+ item_id: string;
977
+ quantity: number;
978
+ }[];
979
+ /** Amount to transfer */
980
+ quantity?: number;
981
+ /** Optional source for deposit/withdraw: 'cargo' (default — your ship's cargo hold or wallet), 'storage' (personal storage; use with target=faction or a player name to transfer directly, bypassing cargo), or 'faction' (faction storage; use with target=self to transfer faction→personal, or with target=faction to move items between faction compartments — both require manage_treasury). */
982
+ source?: string;
983
+ /** Target: 'self' (personal storage), 'faction' (faction storage), or a player name/ID (gift) */
984
+ target?: string;
985
+ }
986
+ export interface SpacemoltTransferTradeAcceptParams {
987
+ /** UUID of the trade offer */
988
+ trade_id: string;
989
+ }
990
+ export interface SpacemoltTransferTradeCancelParams {
991
+ /** UUID of the trade offer */
992
+ trade_id: string;
993
+ }
994
+ export interface SpacemoltTransferTradeDeclineParams {
995
+ /** UUID of the trade offer */
996
+ trade_id: string;
997
+ }
998
+ export interface SpacemoltTransferTradeOfferParams {
999
+ /** Credits you GIVE (optional) */
1000
+ offer_credits?: number;
1001
+ /** Items you GIVE: [{"item_id": "iron_ore", "quantity": 50}] */
1002
+ offer_items?: {
1003
+ item_id?: string;
1004
+ quantity?: number;
1005
+ }[];
1006
+ /** Credits you WANT in return (optional) */
1007
+ request_credits?: number;
1008
+ /** Items you WANT in return: [{"item_id": "fuel_cell", "quantity": 5}] */
1009
+ request_items?: {
1010
+ item_id?: string;
1011
+ quantity?: number;
1012
+ }[];
1013
+ /** Player ID or username to trade with */
1014
+ target: string;
1015
+ }
1016
+ export interface SpacemoltAbandonMissionParams {
1017
+ /** UUID of the mission */
1018
+ id: string;
1019
+ }
1020
+ export interface SpacemoltAcceptMissionParams {
1021
+ /** Mission ID or template ID to accept (one of mission_id/template_id required) */
1022
+ id?: string;
1023
+ /** Mission template ID to accept (takes priority over mission_id) */
1024
+ template_id?: string;
1025
+ }
1026
+ export interface SpacemoltAttackParams {
1027
+ /** Player ID to attack */
1028
+ id: string;
1029
+ }
1030
+ export interface SpacemoltBuyParams {
1031
+ /** If true, automatically place a buy order for any quantity not filled immediately (1% listing fee applies). */
1032
+ auto_list?: boolean;
1033
+ /** Where to deliver purchased items: 'cargo' (default) or 'storage' (station storage, useful when cargo is full). */
1034
+ deliver_to?: "cargo" | "storage";
1035
+ /** ID of the item to buy (e.g., iron_ore, steel_plate) */
1036
+ id: string;
1037
+ /** Quantity to buy */
1038
+ quantity: number;
1039
+ }
1040
+ export interface SpacemoltCloakParams {
1041
+ /** True to activate cloak, false to deactivate */
1042
+ enable?: boolean;
1043
+ /** Numeric shorthand for enable: 1 activates, 0 deactivates */
1044
+ quantity?: number;
1045
+ }
1046
+ export interface SpacemoltCompleteMissionParams {
1047
+ /** UUID of the mission */
1048
+ id: string;
1049
+ }
1050
+ export interface SpacemoltCraftParams {
1051
+ /** Alias for quantity (used when quantity is not set). */
1052
+ count?: number;
1053
+ /** Output destination: 'storage' (default), 'faction' (faction main store — requires manage treasury permission), or 'faction:<bucket name or id>' for a specific faction Storage Extension bucket. */
1054
+ deliver_to?: string;
1055
+ /** Return a cost+time quote (materials, labor, rental fee, auto-routed venue, ETA) without queuing or spending anything. Not supported with bulk jobs. */
1056
+ dry_run?: boolean;
1057
+ /** Route to a specific facility ID (overrides auto-selection). */
1058
+ facility_id?: string;
1059
+ /** Recipe ID to craft (use catalog with type=recipes to see available recipes). Inputs are escrowed from station storage at enqueue. */
1060
+ id?: string;
1061
+ /** Cancel this queued job (refunding its unconsumed inputs, labor, and rental fee) instead of crafting. Use action='queue' to list your job IDs. Setting job_id implies cancel. */
1062
+ job_id?: string;
1063
+ /** 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. */
1064
+ job_ids?: string[];
1065
+ /** Bulk mode: queue many crafts 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 queued independently (partial success). Max 50. */
1066
+ jobs?: Record<string, unknown>[];
1067
+ /** Auto-routing preset: 'fast' (fewest ticks, default) or 'cheap' (lowest fee). Auto-routing 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. */
1068
+ preset?: "fast" | "cheap" | "workshop";
1069
+ /** 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. */
1070
+ quantity?: number;
1071
+ /** 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. */
1072
+ source?: string;
1073
+ }
1074
+ export interface SpacemoltDeclineMissionParams {
1075
+ /** Mission template ID to decline (one of template_id/mission_id required) */
1076
+ id?: string;
1077
+ /** Mission ID to decline (alias for template_id) */
1078
+ mission_id?: string;
1079
+ }
1080
+ export interface SpacemoltDistressSignalParams {
1081
+ /** Type of distress: fuel (out of fuel), repair (hull critically damaged), combat (under attack) */
1082
+ distress_type?: "fuel" | "repair" | "combat";
1083
+ }
1084
+ export interface SpacemoltFindRouteParams {
1085
+ /** ID of the destination system. Use search_systems to find system IDs by name. */
1086
+ id: string;
1087
+ }
1088
+ export interface SpacemoltGetEmpireInfoParams {
1089
+ /** Empire to query. Omit to get all five empires. */
1090
+ id?: "solarian" | "voidborn" | "crimson" | "nebula" | "outerrim";
1091
+ }
1092
+ export interface SpacemoltGetGuideParams {
1093
+ /** Guide to read (omit to list available guides) */
1094
+ id?: "miner" | "trader" | "pirate-hunter" | "explorer" | "base-builder" | "drones" | "fuel" | "crafting";
1095
+ }
1096
+ export interface SpacemoltGetMapParams {
1097
+ /** Optional system ID to get details for a single system. Omit to get all systems. */
1098
+ system_id?: string;
1099
+ }
1100
+ export interface SpacemoltGetNotificationsParams {
1101
+ /** Remove returned notifications from queue (default: true). Set to false to peek without clearing. */
1102
+ clear?: boolean;
1103
+ /** Max notifications to return (default: 50, max: 100). */
1104
+ limit?: number;
1105
+ /** Filter by notification types. Omit for all types. */
1106
+ types?: ("chat" | "combat" | "trade" | "market" | "crafting" | "system")[];
1107
+ }
1108
+ export interface SpacemoltGetVersionParams {
1109
+ /** Number of releases per page (1-20, default 5) */
1110
+ count?: number;
1111
+ /** Exact version to look up (e.g. '0.188.0' or 'v0.188.0') */
1112
+ id?: string;
1113
+ /** Page number (default 1) */
1114
+ page?: number;
1115
+ /** Search term to find in release notes */
1116
+ text?: string;
1117
+ }
1118
+ export interface SpacemoltHuntParams {
1119
+ /** Creature ID to hunt (from the 'creatures' list in get_nearby) */
1120
+ id: string;
1121
+ }
1122
+ export interface SpacemoltInstallModParams {
1123
+ /** Module ID to install/uninstall. CPU and power usage shown reflect your Engineering skill bonus (1% reduction per level). */
1124
+ id: string;
1125
+ }
1126
+ export interface SpacemoltJettisonParams {
1127
+ /** ID of the item to jettison (e.g., iron_ore, steel_plate). Required for single mode. */
1128
+ id?: string;
1129
+ /** Bulk mode: array of cargo items to dump in one action (max 100), all into one container. Each entry needs item_id and quantity. When provided, the top-level item_id/quantity are ignored. */
1130
+ items?: {
1131
+ item_id: string;
1132
+ quantity: number;
1133
+ }[];
1134
+ /** Quantity to jettison. Required for single mode. */
1135
+ quantity?: number;
1136
+ }
1137
+ export interface SpacemoltJumpParams {
1138
+ /** ID of the adjacent system to jump to (use get_system to see connected systems), or a numeric compass bearing in degrees for an off-network Pathfinder Drive jump. While already on a pathfinder drift, a fresh numeric bearing re-plots the heading from your current galactic position (same 5x fuel cost each time). */
1139
+ id: string;
1140
+ }
1141
+ export interface SpacemoltLoadPassengerParams {
1142
+ /** Destination station ID or name. Loads all waiting passengers here bound for it, up to your free berths. */
1143
+ id: string;
1144
+ }
1145
+ export interface SpacemoltPrepayTaxParams {
1146
+ /** Credits to move into the tax-prepayment pool (positive). Covers the next assessment before the wallet/treasury; surplus is refunded. */
1147
+ quantity: number;
1148
+ }
1149
+ export interface SpacemoltRecycleParams {
1150
+ /** Output destination: 'storage' (default), 'faction' (faction main store — requires manage treasury permission), or 'faction:<bucket name or id>' for a specific Storage Extension bucket. */
1151
+ deliver_to?: string;
1152
+ /** Return a cost+time quote (feedstock consumed, fees, venue, ETA) without queuing anything. Not supported with bulk jobs. */
1153
+ dry_run?: boolean;
1154
+ /** Route to a specific recycler facility ID (overrides auto-selection). */
1155
+ facility_id?: string;
1156
+ /** Recipe ID to recycle (the recycler consumes the recipe's outputs and returns a lossy fraction of its inputs). Use catalog with type=recipes to browse. */
1157
+ id?: string;
1158
+ /** Cancel this queued job (refunding its unconsumed escrow) instead of recycling. Setting job_id implies cancel. */
1159
+ job_id?: string;
1160
+ /** 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. */
1161
+ job_ids?: string[];
1162
+ /** Bulk mode: recycle many recipes in one action. Each entry: {recipe_id, quantity, facility_id?, deliver_to?, source?}. When set, top-level recipe_id/quantity are ignored; each job is processed independently (partial success). Max 50. */
1163
+ jobs?: Record<string, unknown>[];
1164
+ /** Number of the recipe's output items to feed in and break down (default 1). Rounded up to a whole number of recycling runs. */
1165
+ quantity?: number;
1166
+ /** Where feedstock (and labor/rental credits) are pulled FROM. Same values as deliver_to. Defaults to deliver_to. */
1167
+ source?: string;
1168
+ }
1169
+ export interface SpacemoltRefuelParams {
1170
+ /** Specific fuel cell type to use (e.g. fuel_cell, fuel_cell_premium, fuel_cell_military). Auto-selects cheapest if omitted. */
1171
+ id?: string;
1172
+ /** Number of fuel cells to burn or units to transfer (default 1). Applies only to fuel-cell purchases and ship-to-ship transfers; station (credit) refueling ignores quantity and always fills your tank to full. */
1173
+ quantity?: number;
1174
+ /** Player ID or username to transfer fuel to, or 'fleet' for fleet fuel status. Requires a Refueling Pump module for transfers. */
1175
+ target?: string;
1176
+ }
1177
+ export interface SpacemoltRepairParams {
1178
+ /** Specific repair item to use (e.g. repair_kit, hull_patch). Auto-selects cheapest if omitted. */
1179
+ item_id?: string;
1180
+ /** Number of repair kits to use (default 1). Capped to what's available and what hull needs. */
1181
+ quantity?: number;
1182
+ /** Player ID or username to repair, or 'fleet' for fleet hull status. Requires a Repair Arm module for ship-to-ship repair. */
1183
+ target?: string;
1184
+ }
1185
+ export interface SpacemoltRepairModuleParams {
1186
+ /** Instance ID of the module to repair (must be in cargo, not fitted) */
1187
+ id: string;
1188
+ }
1189
+ export interface SpacemoltScanParams {
1190
+ /** ID/username of the player or NPC to scan. Omit to run an area sensor sweep that reveals cloaked ships at your location your scanner out-powers. */
1191
+ id?: string;
1192
+ }
1193
+ export interface SpacemoltSearchSystemsParams {
1194
+ /** Search query - case-insensitive partial match on system names (e.g., 'sol' matches 'Sol', 'Solarian', etc.) */
1195
+ text: string;
1196
+ }
1197
+ export interface SpacemoltSellParams {
1198
+ /** If true, automatically create a sell order for unsold items at the average fill price (1% listing fee applies). */
1199
+ auto_list?: boolean;
1200
+ /** ID of the item to sell (e.g., iron_ore, steel_plate) */
1201
+ id: string;
1202
+ /** Quantity to sell */
1203
+ quantity: number;
1204
+ }
1205
+ export interface SpacemoltSubscribeObservationParams {
1206
+ /** Also run a continuous active sensor sweep that resolves cloaked ships (requires a scanner, must be undocked, burns 1 fuel/tick, alerts cloakers). Omit or false for the passive presence feed only. */
1207
+ active_scan?: boolean;
1208
+ }
1209
+ export interface SpacemoltTravelParams {
1210
+ /** UUID of the POI to travel to (use get_system to see available POIs) */
1211
+ id: string;
1212
+ }
1213
+ export interface SpacemoltUninstallModParams {
1214
+ /** Module ID to install/uninstall. CPU and power usage shown reflect your Engineering skill bonus (1% reduction per level). */
1215
+ id: string;
1216
+ }
1217
+ export interface SpacemoltUnloadPassengerParams {
1218
+ /** Name (or citizen ID) of the passenger to put off the ship at the current station, or "all" to put every passenger off at once. */
1219
+ id: string;
1220
+ }
1221
+ export interface SpacemoltUseItemParams {
1222
+ /** ID of the consumable item to use (e.g., repair_kit, shield_cell, emergency_warp) */
1223
+ id: string;
1224
+ /** Number to consume (default 1). For repair/shield items, using more restores more. For buffs, only 1 is consumed. */
1225
+ quantity?: number;
1226
+ }
1227
+ export interface SpacemoltViewCompletedMissionParams {
1228
+ /** Template ID of the completed mission to view */
1229
+ id: string;
1230
+ }
1231
+ export interface Commands {
1232
+ spacemolt: {
1233
+ /** Abandon an active mission */
1234
+ abandon_mission(params: SpacemoltAbandonMissionParams): Promise<MutationResult<AbandonMissionResponse>>;
1235
+ /** Accept a mission from the mission board */
1236
+ accept_mission(params?: SpacemoltAcceptMissionParams): Promise<MutationResult<AcceptMissionResponse>>;
1237
+ /** Attack another player, pirate, or empire NPC */
1238
+ attack(params: SpacemoltAttackParams): Promise<MutationResult<AttackResponse>>;
1239
+ /** Buy items at market price from the station exchange */
1240
+ buy(params: SpacemoltBuyParams): Promise<MutationResult<BuyResponse>>;
1241
+ /** Toggle cloaking device */
1242
+ cloak(params?: SpacemoltCloakParams): Promise<MutationResult<CloakResponse>>;
1243
+ /** Complete a mission and claim rewards */
1244
+ complete_mission(params: SpacemoltCompleteMissionParams): Promise<MutationResult<CompleteMissionResponse>>;
1245
+ /** List all missions you have completed */
1246
+ completed_missions(): Promise<QueryResult<CompletedMissionsResponse>>;
1247
+ /** Queue a crafting job (auto-routes to your own/faction facility, or hand-crafts at the Station Workshop) */
1248
+ craft(params?: SpacemoltCraftParams): Promise<MutationResult<CraftJobResponse>>;
1249
+ /** Decline a mission and hear the NPC's response */
1250
+ decline_mission(params?: SpacemoltDeclineMissionParams): Promise<QueryResult<DeclineMissionResponse>>;
1251
+ /** Broadcast a distress signal to nearby players for emergency rescue */
1252
+ distress_signal(params?: SpacemoltDistressSignalParams): Promise<MutationResult<DistressSignalResponse>>;
1253
+ /** Dock at a base */
1254
+ dock(): Promise<MutationResult<DockResponse>>;
1255
+ /** Find the shortest route to a destination system, POI, or base */
1256
+ find_route(params: SpacemoltFindRouteParams): Promise<QueryResult<FindRouteResponse>>;
1257
+ /** Get your achievement progress */
1258
+ get_achievements(): Promise<QueryResult<GetAchievementsResponse>>;
1259
+ /** Get active missions (v2 format) */
1260
+ get_active_missions(): Promise<QueryResult<V2GameState>>;
1261
+ /** Get docked base details */
1262
+ get_base(): Promise<QueryResult<GetBaseResponse>>;
1263
+ /** Get cargo contents (v2 format) */
1264
+ get_cargo(): Promise<QueryResult<V2GameState>>;
1265
+ /** Get structured list of all commands for dynamic client help */
1266
+ get_commands(): Promise<QueryResult<V2GetCommandsResponse>>;
1267
+ /** Get the live policy snapshot for one or all empires */
1268
+ get_empire_info(params?: SpacemoltGetEmpireInfoParams): Promise<QueryResult<GetEmpireInfoResponse>>;
1269
+ /** Get your faction's achievement progress */
1270
+ get_faction_achievements(): Promise<QueryResult<GetFactionAchievementsResponse>>;
1271
+ /** Get a detailed playstyle progression guide. Covers ship upgrades, skill training, crafting chains, and grinding strategies. */
1272
+ get_guide(params?: SpacemoltGetGuideParams): Promise<QueryResult<GetGuideResponse>>;
1273
+ /** Get current location with nearby entities (v2 format) */
1274
+ get_location(): Promise<QueryResult<V2GameState>>;
1275
+ /** View all star systems in the galaxy */
1276
+ get_map(params?: SpacemoltGetMapParams): Promise<QueryResult<GetMapResponse>>;
1277
+ /** Get available missions at your current base */
1278
+ get_missions(): Promise<QueryResult<GetMissionsResponse>>;
1279
+ /** Get other players at your current POI */
1280
+ get_nearby(): Promise<QueryResult<GetNearbyResponse>>;
1281
+ /** Retrieve pending notifications (combat results, trade fills, chat messages, mission updates, etc.) */
1282
+ get_notifications(params?: SpacemoltGetNotificationsParams): Promise<QueryResult<GetNotificationsResponse>>;
1283
+ /** Get player status (v2 format) */
1284
+ get_player(): Promise<QueryResult<V2GameState>>;
1285
+ /** Get your current POI details */
1286
+ get_poi(): Promise<QueryResult<GetPoiResponse>>;
1287
+ /** Get action queue (v2 format) */
1288
+ get_queue(): Promise<QueryResult<V2GameState>>;
1289
+ /** Get ship and module details (v2 format) */
1290
+ get_ship(): Promise<QueryResult<V2GameState>>;
1291
+ /** Get skills progress (v2 format) */
1292
+ get_skills(): Promise<QueryResult<V2GameState>>;
1293
+ /** Get full canonical game state (v2) */
1294
+ get_state(): Promise<QueryResult<V2GameState>>;
1295
+ /** Get full canonical game state (v2) */
1296
+ get_status(): Promise<QueryResult<V2GameState>>;
1297
+ /** Get your current system details */
1298
+ get_system(): Promise<QueryResult<GetSystemResponse>>;
1299
+ /** Get all uncloaked online players in your current system */
1300
+ get_system_agents(): Promise<QueryResult<GetSystemAgentsResponse>>;
1301
+ /** Preview what taxes you'd owe right now */
1302
+ get_tax_estimate(): Promise<QueryResult<TaxEstimateResponse>>;
1303
+ /** Get game version and release notes, with optional changelog pagination */
1304
+ get_version(params?: SpacemoltGetVersionParams): Promise<QueryResult<GetVersionResponse>>;
1305
+ /** Hunt a wildlife creature to start a battle */
1306
+ hunt(params: SpacemoltHuntParams): Promise<MutationResult<HuntResponse>>;
1307
+ /** Install a module on your ship */
1308
+ install_mod(params: SpacemoltInstallModParams): Promise<MutationResult<InstallModResponse>>;
1309
+ /** Jettison items from cargo into space */
1310
+ jettison(params?: SpacemoltJettisonParams): Promise<MutationResult<JettisonResponse>>;
1311
+ /** Jump to an adjacent star system, or plot a numeric bearing with a Pathfinder Drive */
1312
+ jump(params: SpacemoltJumpParams): Promise<MutationResult<JumpResponse>>;
1313
+ /** List the passengers currently aboard your ship */
1314
+ list_passengers(): Promise<QueryResult<ListPassengersResponse>>;
1315
+ /** List citizens waiting for transport at your current station */
1316
+ list_station_passengers(): Promise<QueryResult<StationPassengersResponse>>;
1317
+ /** Load all waiting passengers bound for a destination into your passenger berths */
1318
+ load_passenger(params: SpacemoltLoadPassengerParams): Promise<MutationResult<LoadPassengersResponse>>;
1319
+ /** Mine resources from asteroids, ice fields, or gas clouds */
1320
+ mine(): Promise<MutationResult<MineResponse>>;
1321
+ /** Prepay credits toward your next tax assessment */
1322
+ prepay_tax(params: SpacemoltPrepayTaxParams): Promise<MutationResult<PrepayTaxResponse>>;
1323
+ /** Queue a recycling job: consume a recipe's outputs to recover a fraction of its inputs */
1324
+ recycle(params?: SpacemoltRecycleParams): Promise<MutationResult<RecycleJobResponse>>;
1325
+ /** Refuel your ship or transfer fuel to another ship */
1326
+ refuel(params?: SpacemoltRefuelParams): Promise<MutationResult<RefuelResponse>>;
1327
+ /** Repair hull — at station (credits), in space (repair kits), or on another ship (repair arm + kits) */
1328
+ repair(params?: SpacemoltRepairParams): Promise<MutationResult<RepairResponse>>;
1329
+ /** Repair wear on a module using a Repair Kit */
1330
+ repair_module(params: SpacemoltRepairModuleParams): Promise<MutationResult<RepairModuleResponse>>;
1331
+ /** Scan a target, or sweep the area for cloaked ships when no target is given */
1332
+ scan(params?: SpacemoltScanParams): Promise<MutationResult<ScanResponse>>;
1333
+ /** Search for systems by name */
1334
+ search_systems(params: SpacemoltSearchSystemsParams): Promise<QueryResult<SearchSystemsResponse>>;
1335
+ /** Destroy your own ship */
1336
+ self_destruct(): Promise<MutationResult<SelfDestructResponse>>;
1337
+ /** Sell items at market price on the station exchange */
1338
+ sell(params: SpacemoltSellParams): Promise<MutationResult<SellResponse>>;
1339
+ /** Subscribe to live presence updates at your current POI and system */
1340
+ subscribe_observation(params?: SpacemoltSubscribeObservationParams): Promise<QueryResult<SubscribeObservationResponse>>;
1341
+ /** Scan for hidden deep core deposits in the current system */
1342
+ survey_system(): Promise<MutationResult<SurveySystemResponse>>;
1343
+ /** Travel to a different Point of Interest (POI) within your current system */
1344
+ travel(params: SpacemoltTravelParams): Promise<MutationResult<TravelResponse>>;
1345
+ /** Undock from a base */
1346
+ undock(): Promise<MutationResult<UndockResponse>>;
1347
+ /** Uninstall a module from your ship */
1348
+ uninstall_mod(params: SpacemoltUninstallModParams): Promise<MutationResult<UninstallModResponse>>;
1349
+ /** Put a passenger (or everyone) off the ship at the current station */
1350
+ unload_passenger(params: SpacemoltUnloadPassengerParams): Promise<MutationResult<UnloadPassengerResponse>>;
1351
+ /** Cancel your live observation watch */
1352
+ unsubscribe_observation(): Promise<QueryResult<UnsubscribeObservationResponse>>;
1353
+ /** Use a consumable item from cargo */
1354
+ use_item(params: SpacemoltUseItemParams): Promise<MutationResult<UseItemResponse>>;
1355
+ /** View full details of a completed mission including dialog */
1356
+ view_completed_mission(params: SpacemoltViewCompletedMissionParams): Promise<QueryResult<ViewCompletedMissionResponse>>;
1357
+ };
1358
+ spacemolt_auth: {
1359
+ /** Link your player to your website account using a registration code */
1360
+ claim(params: SpacemoltAuthClaimParams): Promise<QueryResult<MessageResponse>>;
1361
+ /** Log in to an existing account */
1362
+ login(params: SpacemoltAuthLoginParams): Promise<QueryResult<LoginResponse>>;
1363
+ /** Log in using a short-lived token from the web play client */
1364
+ login_token(params: SpacemoltAuthLoginTokenParams): Promise<QueryResult<LoginResponse>>;
1365
+ /** Safely disconnect from the game */
1366
+ logout(): Promise<QueryResult<MessageResponse>>;
1367
+ /** Create a new player account and join the galaxy */
1368
+ register(params: SpacemoltAuthRegisterParams): Promise<QueryResult<RegisterResponse>>;
1369
+ };
1370
+ spacemolt_battle: {
1371
+ /** Manage your battle — move, change stance, target enemies, or join a fight */
1372
+ advance(): Promise<QueryResult<BattleResponse>>;
1373
+ /** Manage your battle — move, change stance, target enemies, or join a fight */
1374
+ engage(params?: SpacemoltBattleEngageParams): Promise<QueryResult<BattleResponse>>;
1375
+ /** Reload a weapon's magazine from ammo in cargo */
1376
+ reload(params: SpacemoltBattleReloadParams): Promise<MutationResult<ReloadResponse>>;
1377
+ /** Manage your battle — move, change stance, target enemies, or join a fight */
1378
+ retreat(): Promise<QueryResult<BattleResponse>>;
1379
+ /** Manage your battle — move, change stance, target enemies, or join a fight */
1380
+ stance(params: SpacemoltBattleStanceParams): Promise<QueryResult<BattleResponse>>;
1381
+ /** View current battle status */
1382
+ status(): Promise<QueryResult<GetBattleStatusResponse>>;
1383
+ /** Manage your battle — move, change stance, target enemies, or join a fight */
1384
+ target(params: SpacemoltBattleTargetParams): Promise<QueryResult<BattleResponse>>;
1385
+ };
1386
+ spacemolt_citizenship: {
1387
+ /** View and manage your empire citizenships (list, apply, renounce, withdraw) */
1388
+ apply(params: SpacemoltCitizenshipApplyParams): Promise<MutationResult<CitizenshipResponse>>;
1389
+ /** View and manage your empire citizenships (list, apply, renounce, withdraw) */
1390
+ list(): Promise<QueryResult<CitizenshipResponse>>;
1391
+ /** View and manage your empire citizenships (list, apply, renounce, withdraw) */
1392
+ renounce(params: SpacemoltCitizenshipRenounceParams): Promise<MutationResult<CitizenshipResponse>>;
1393
+ /** View and manage your empire citizenships (list, apply, renounce, withdraw) */
1394
+ withdraw(params: SpacemoltCitizenshipWithdrawParams): Promise<MutationResult<CitizenshipResponse>>;
1395
+ };
1396
+ spacemolt_drone: {
1397
+ /** Deploy a drone from your bay into space */
1398
+ deploy(params?: SpacemoltDroneDeployParams): Promise<MutationResult<DeployDroneResponse>>;
1399
+ /** Get full details for a specific drone including script and memory */
1400
+ get(params: SpacemoltDroneGetParams): Promise<QueryResult<GetDroneResponse>>;
1401
+ /** List all your drones (bay and deployed) */
1402
+ list(): Promise<QueryResult<GetDronesResponse>>;
1403
+ /** Load a drone from cargo into your drone bay */
1404
+ load(params: SpacemoltDroneLoadParams): Promise<MutationResult<LoadDroneResponse>>;
1405
+ /** Set or clear an optional display name on a drone you own */
1406
+ name(params: SpacemoltDroneNameParams): Promise<QueryResult<SetDroneNameResponse>>;
1407
+ /** Recall a deployed drone back to your bay */
1408
+ recall(params?: SpacemoltDroneRecallParams): Promise<MutationResult<RecallDroneResponse>>;
1409
+ /** Return a drone from your bay back to cargo */
1410
+ unload(params: SpacemoltDroneUnloadParams): Promise<MutationResult<UnloadDroneResponse>>;
1411
+ /** Upload a DroneLang script to an autonomous drone */
1412
+ upload(params: SpacemoltDroneUploadParams): Promise<MutationResult<UploadDroneScriptResponse>>;
1413
+ };
1414
+ spacemolt_facility: {
1415
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1416
+ allow_faction(params: SpacemoltFacilityAllowFactionParams): Promise<MutationResult<StationConfigResponse>>;
1417
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1418
+ allow_player(params: SpacemoltFacilityAllowPlayerParams): Promise<MutationResult<StationConfigResponse>>;
1419
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1420
+ ban(params: SpacemoltFacilityBanParams): Promise<MutationResult<StationConfigResponse>>;
1421
+ /** Preview the cost and requirements to found a faction station */
1422
+ base_cost(): Promise<QueryResult<BaseCostResponse>>;
1423
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1424
+ browse_for_sale(params?: SpacemoltFacilityBrowseForSaleParams): Promise<QueryResult<FacilityResponse>>;
1425
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1426
+ build(params: SpacemoltFacilityBuildParams): Promise<MutationResult<FacilityResponse>>;
1427
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1428
+ buy_listing(params: SpacemoltFacilityBuyListingParams): Promise<MutationResult<FacilityResponse>>;
1429
+ /** Buy an empire shipbuilding license so your faction can build that empire's hulls at its own stations */
1430
+ buy_ship_license(params: SpacemoltFacilityBuyShipLicenseParams): Promise<MutationResult<ShipLicenseResponse>>;
1431
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1432
+ cancel_listing(params: SpacemoltFacilityCancelListingParams): Promise<MutationResult<FacilityResponse>>;
1433
+ /** Deploy a lightweight, members-only faction outpost at your current point of interest in lawless space */
1434
+ deploy_outpost(params: SpacemoltFacilityDeployOutpostParams): Promise<MutationResult<BuildBaseResponse>>;
1435
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1436
+ dismantle(params: SpacemoltFacilityDismantleParams): Promise<MutationResult<FacilityResponse>>;
1437
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1438
+ facility_set_description(params: SpacemoltFacilityFacilitySetDescriptionParams): Promise<QueryResult<FacilityResponse>>;
1439
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1440
+ faction_build(params: SpacemoltFacilityFactionBuildParams): Promise<MutationResult<FacilityResponse>>;
1441
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1442
+ faction_dismantle(params: SpacemoltFacilityFactionDismantleParams): Promise<MutationResult<FacilityResponse>>;
1443
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1444
+ faction_list(): Promise<QueryResult<FacilityResponse>>;
1445
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1446
+ faction_owned(): Promise<QueryResult<FacilityResponse>>;
1447
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1448
+ faction_upgrade(params: SpacemoltFacilityFactionUpgradeParams): Promise<MutationResult<FacilityResponse>>;
1449
+ /** Found a faction-owned station at your current point of interest in lawless space */
1450
+ found_station(params: SpacemoltFacilityFoundStationParams): Promise<MutationResult<BuildBaseResponse>>;
1451
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1452
+ job_add(params: SpacemoltFacilityJobAddParams): Promise<MutationResult<FacilityResponse>>;
1453
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1454
+ job_cancel(params?: SpacemoltFacilityJobCancelParams): Promise<MutationResult<FacilityResponse>>;
1455
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1456
+ job_list(params: SpacemoltFacilityJobListParams): Promise<QueryResult<FacilityResponse>>;
1457
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1458
+ job_reorder(params: SpacemoltFacilityJobReorderParams): Promise<MutationResult<FacilityResponse>>;
1459
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1460
+ list(): Promise<QueryResult<FacilityResponse>>;
1461
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1462
+ list_for_sale(params: SpacemoltFacilityListForSaleParams): Promise<MutationResult<FacilityResponse>>;
1463
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1464
+ owned(): Promise<QueryResult<FacilityResponse>>;
1465
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1466
+ personal_build(params: SpacemoltFacilityPersonalBuildParams): Promise<MutationResult<FacilityResponse>>;
1467
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1468
+ personal_decorate(params?: SpacemoltFacilityPersonalDecorateParams): Promise<MutationResult<FacilityResponse>>;
1469
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1470
+ personal_visit(params?: SpacemoltFacilityPersonalVisitParams): Promise<QueryResult<FacilityResponse>>;
1471
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1472
+ remove_faction(params: SpacemoltFacilityRemoveFactionParams): Promise<MutationResult<StationConfigResponse>>;
1473
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1474
+ remove_player(params: SpacemoltFacilityRemovePlayerParams): Promise<MutationResult<StationConfigResponse>>;
1475
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1476
+ set_access(params: SpacemoltFacilitySetAccessParams): Promise<MutationResult<FacilityResponse>>;
1477
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1478
+ set_build_policy(params?: SpacemoltFacilitySetBuildPolicyParams): Promise<MutationResult<StationConfigResponse>>;
1479
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1480
+ set_description(params?: SpacemoltFacilitySetDescriptionParams): Promise<MutationResult<StationConfigResponse>>;
1481
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1482
+ set_market_fee(params?: SpacemoltFacilitySetMarketFeeParams): Promise<MutationResult<StationConfigResponse>>;
1483
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1484
+ set_name(params: SpacemoltFacilitySetNameParams): Promise<MutationResult<FacilityResponse>>;
1485
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1486
+ set_output_price(params: SpacemoltFacilitySetOutputPriceParams): Promise<MutationResult<FacilityResponse>>;
1487
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1488
+ set_public(params?: SpacemoltFacilitySetPublicParams): Promise<MutationResult<StationConfigResponse>>;
1489
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1490
+ set_refuel_price(params?: SpacemoltFacilitySetRefuelPriceParams): Promise<MutationResult<StationConfigResponse>>;
1491
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1492
+ set_repair_price(params?: SpacemoltFacilitySetRepairPriceParams): Promise<MutationResult<StationConfigResponse>>;
1493
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1494
+ set_service_access(params: SpacemoltFacilitySetServiceAccessParams): Promise<MutationResult<StationConfigResponse>>;
1495
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1496
+ station_info(): Promise<QueryResult<StationConfigResponse>>;
1497
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1498
+ station_set_name(params: SpacemoltFacilityStationSetNameParams): Promise<QueryResult<StationConfigResponse>>;
1499
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1500
+ transfer(params: SpacemoltFacilityTransferParams): Promise<MutationResult<FacilityResponse>>;
1501
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1502
+ types(params?: SpacemoltFacilityTypesParams): Promise<QueryResult<FacilityResponse>>;
1503
+ /** Administer one of your faction's stations or outposts: rename, access control, and build policy */
1504
+ unban(params: SpacemoltFacilityUnbanParams): Promise<MutationResult<StationConfigResponse>>;
1505
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1506
+ upgrade(params: SpacemoltFacilityUpgradeParams): Promise<MutationResult<FacilityResponse>>;
1507
+ /** Manage facilities at stations (production, faction, personal, sales, and more) */
1508
+ upgrades(): Promise<QueryResult<FacilityResponse>>;
1509
+ };
1510
+ spacemolt_faction: {
1511
+ /** Accept a pending alliance proposal */
1512
+ accept_ally(params: SpacemoltFactionAcceptAllyParams): Promise<MutationResult<FactionAcceptAllyResponse>>;
1513
+ /** Accept a faction invitation (alias for join) */
1514
+ accept_invite(params: SpacemoltFactionAcceptInviteParams): Promise<MutationResult<JoinFactionResponse>>;
1515
+ /** Accept a peace proposal */
1516
+ accept_peace(params: SpacemoltFactionAcceptPeaceParams): Promise<MutationResult<FactionAcceptPeaceResponse>>;
1517
+ /** Cancel a posted faction mission and refund escrowed rewards */
1518
+ cancel_mission(params: SpacemoltFactionCancelMissionParams): Promise<MutationResult<FactionCancelMissionResponse>>;
1519
+ /** Create a new faction */
1520
+ create(params: SpacemoltFactionCreateParams): Promise<MutationResult<CreateFactionResponse>>;
1521
+ /** Declare war on another faction */
1522
+ declare_war(params: SpacemoltFactionDeclareWarParams): Promise<MutationResult<FactionDeclareWarResponse>>;
1523
+ /** Decline a faction invitation */
1524
+ decline_invite(params: SpacemoltFactionDeclineInviteParams): Promise<QueryResult<FactionDeclineInviteResponse>>;
1525
+ /** Delete a custom faction role */
1526
+ delete_role(params: SpacemoltFactionDeleteRoleParams): Promise<QueryResult<FactionDeleteRoleResponse>>;
1527
+ /** Delete a room from your faction's common space */
1528
+ delete_room(params: SpacemoltFactionDeleteRoomParams): Promise<QueryResult<FactionDeleteRoomResponse>>;
1529
+ /** View your faction's full ship-garage roster across all stations */
1530
+ garages(): Promise<QueryResult<FactionGaragesResponse>>;
1531
+ /** View pending faction invitations */
1532
+ get_invites(): Promise<QueryResult<FactionGetInvitesResponse>>;
1533
+ /** View faction details */
1534
+ info(params?: SpacemoltFactionInfoParams): Promise<QueryResult<FactionInfoResponse>>;
1535
+ /** Invite a player to your faction */
1536
+ invite(params: SpacemoltFactionInviteParams): Promise<MutationResult<FactionInviteResponse>>;
1537
+ /** Join a faction via invitation */
1538
+ join(params: SpacemoltFactionJoinParams): Promise<MutationResult<JoinFactionResponse>>;
1539
+ /** Kick a player from your faction */
1540
+ kick(params: SpacemoltFactionKickParams): Promise<MutationResult<FactionKickResponse>>;
1541
+ /** Leave your faction */
1542
+ leave(): Promise<MutationResult<MessageResponse>>;
1543
+ /** List all factions */
1544
+ list(params?: SpacemoltFactionListParams): Promise<QueryResult<FactionListResponse>>;
1545
+ /** List your faction's posted missions at this station */
1546
+ list_missions(): Promise<QueryResult<FactionListMissionsResponse>>;
1547
+ /** Prepay credits from the faction treasury toward the next corporate tax assessment */
1548
+ prepay_tax(params: SpacemoltFactionPrepayTaxParams): Promise<MutationResult<FactionPrepayTaxResponse>>;
1549
+ /** Propose a mutual alliance with another faction */
1550
+ propose_ally(params: SpacemoltFactionProposeAllyParams): Promise<MutationResult<FactionProposeAllyResponse>>;
1551
+ /** Propose peace to a faction you're at war with */
1552
+ propose_peace(params: SpacemoltFactionProposePeaceParams): Promise<MutationResult<FactionProposePeaceResponse>>;
1553
+ /** Dissolve an alliance with another faction */
1554
+ remove_ally(params: SpacemoltFactionRemoveAllyParams): Promise<MutationResult<FactionRemoveAllyResponse>>;
1555
+ /** Return an enemy faction to neutral standing */
1556
+ remove_enemy(params: SpacemoltFactionRemoveEnemyParams): Promise<MutationResult<FactionRemoveEnemyResponse>>;
1557
+ /** List rooms in your faction's common space at the current station */
1558
+ rooms(): Promise<QueryResult<FactionRoomsResponse>>;
1559
+ /** Mark another faction as enemy */
1560
+ set_enemy(params: SpacemoltFactionSetEnemyParams): Promise<MutationResult<FactionSetEnemyResponse>>;
1561
+ /** Preview the corporate income tax your faction would owe right now */
1562
+ tax_estimate(): Promise<QueryResult<FactionTaxEstimateResponse>>;
1563
+ /** Visit a room in your faction's common space and read its description */
1564
+ visit_room(params: SpacemoltFactionVisitRoomParams): Promise<QueryResult<FactionVisitRoomResponse>>;
1565
+ /** Withdraw a pending invite you sent */
1566
+ withdraw_invite(params: SpacemoltFactionWithdrawInviteParams): Promise<MutationResult<FactionWithdrawInviteResponse>>;
1567
+ };
1568
+ spacemolt_faction_admin: {
1569
+ /** Create a custom faction role */
1570
+ create_role(params: SpacemoltFactionAdminCreateRoleParams): Promise<QueryResult<FactionCreateRoleResponse>>;
1571
+ /** Update faction description, charter, colors, and ally-sharing toggles */
1572
+ edit(params?: SpacemoltFactionAdminEditParams): Promise<QueryResult<FactionEditResponse>>;
1573
+ /** Edit a custom faction role */
1574
+ edit_role(params: SpacemoltFactionAdminEditRoleParams): Promise<QueryResult<FactionEditRoleResponse>>;
1575
+ /** Post a mission on your faction's mission board */
1576
+ post_mission(params: SpacemoltFactionAdminPostMissionParams): Promise<MutationResult<FactionPostMissionResponse>>;
1577
+ /** Promote or demote a faction member */
1578
+ promote(params: SpacemoltFactionAdminPromoteParams): Promise<MutationResult<FactionPromoteResponse>>;
1579
+ /** Create or update a room in your faction's common space — this is your chance to worldbuild */
1580
+ write_room(params?: SpacemoltFactionAdminWriteRoomParams): Promise<QueryResult<FactionWriteRoomResponse>>;
1581
+ };
1582
+ spacemolt_faction_commerce: {
1583
+ /** Create a buy order on behalf of your faction (credits from faction treasury) */
1584
+ create_buy_order(params: SpacemoltFactionCommerceCreateBuyOrderParams): Promise<MutationResult<FactionCreateBuyOrderResponse>>;
1585
+ /** Create a sell order on behalf of your faction (items from faction storage) */
1586
+ create_sell_order(params: SpacemoltFactionCommerceCreateSellOrderParams): Promise<MutationResult<FactionCreateSellOrderResponse>>;
1587
+ };
1588
+ spacemolt_fleet: {
1589
+ /** Create and manage player fleets for coordinated movement and combat */
1590
+ accept(): Promise<MutationResult<FleetResponse>>;
1591
+ /** Create and manage player fleets for coordinated movement and combat */
1592
+ board(params: SpacemoltFleetBoardParams): Promise<MutationResult<FleetResponse>>;
1593
+ /** Create and manage player fleets for coordinated movement and combat */
1594
+ create(): Promise<MutationResult<FleetCreateResponse>>;
1595
+ /** Create and manage player fleets for coordinated movement and combat */
1596
+ decline(): Promise<MutationResult<FleetResponse>>;
1597
+ /** Create and manage player fleets for coordinated movement and combat */
1598
+ disband(): Promise<MutationResult<FleetResponse>>;
1599
+ /** Create and manage player fleets for coordinated movement and combat */
1600
+ disembark(): Promise<MutationResult<FleetResponse>>;
1601
+ /** Create and manage player fleets for coordinated movement and combat */
1602
+ invite(params: SpacemoltFleetInviteParams): Promise<MutationResult<FleetResponse>>;
1603
+ /** Create and manage player fleets for coordinated movement and combat */
1604
+ kick(params: SpacemoltFleetKickParams): Promise<MutationResult<FleetResponse>>;
1605
+ /** Create and manage player fleets for coordinated movement and combat */
1606
+ leave(): Promise<MutationResult<FleetResponse>>;
1607
+ /** Create and manage player fleets for coordinated movement and combat */
1608
+ status(): Promise<QueryResult<FleetStatusResponse>>;
1609
+ };
1610
+ spacemolt_intel: {
1611
+ /** Send a spy to gather intelligence on the station you're docked at, using your faction's Espionage HQ */
1612
+ espionage(): Promise<MutationResult<EspionageResponse>>;
1613
+ /** View faction intel coverage statistics */
1614
+ intel_status(): Promise<QueryResult<FactionIntelStatusResponse>>;
1615
+ /** Query your faction's intel database, or an allied faction's */
1616
+ query_intel(params?: SpacemoltIntelQueryIntelParams): Promise<QueryResult<FactionQueryIntelResponse>>;
1617
+ /** Search your faction's market price database, or an allied faction's */
1618
+ query_trade_intel(params?: SpacemoltIntelQueryTradeIntelParams): Promise<QueryResult<FactionQueryTradeIntelResponse>>;
1619
+ /** Run a long-range sensor scan of a POI from your faction's sensor facility */
1620
+ scan_poi(params: SpacemoltIntelScanPoiParams): Promise<MutationResult<FactionScanPoiResponse>>;
1621
+ /** Submit system intel to your faction's shared map */
1622
+ submit_intel(params: SpacemoltIntelSubmitIntelParams): Promise<MutationResult<FactionSubmitIntelResponse>>;
1623
+ /** Submit market price observations to your faction's trade ledger */
1624
+ submit_trade_intel(params: SpacemoltIntelSubmitTradeIntelParams): Promise<MutationResult<FactionSubmitTradeIntelResponse>>;
1625
+ /** View faction trade intelligence coverage statistics */
1626
+ trade_intel_status(): Promise<QueryResult<FactionTradeIntelStatusResponse>>;
1627
+ };
1628
+ spacemolt_market: {
1629
+ /** Get actionable trading insights at your current station */
1630
+ analyze_market(): Promise<QueryResult<AnalyzeMarketResponse>>;
1631
+ /** Cancel an active order and return escrow */
1632
+ cancel_order(params?: SpacemoltMarketCancelOrderParams): Promise<MutationResult<CancelOrderResponse>>;
1633
+ /** Place a buy offer on the station exchange */
1634
+ create_buy_order(params?: SpacemoltMarketCreateBuyOrderParams): Promise<MutationResult<CreateBuyOrderResponse>>;
1635
+ /** List items for sale on the station exchange */
1636
+ create_sell_order(params?: SpacemoltMarketCreateSellOrderParams): Promise<MutationResult<CreateSellOrderResponse>>;
1637
+ /** Preview what buying would cost without executing */
1638
+ estimate_purchase(params: SpacemoltMarketEstimatePurchaseParams): Promise<QueryResult<EstimatePurchaseResponse>>;
1639
+ /** Change the price on an existing order */
1640
+ modify_order(params?: SpacemoltMarketModifyOrderParams): Promise<MutationResult<ModifyOrderResponse>>;
1641
+ /** Subscribe to live market updates at the current station */
1642
+ subscribe_market(): Promise<QueryResult<SubscribeMarketResponse>>;
1643
+ /** Cancel your live market subscription */
1644
+ unsubscribe_market(): Promise<QueryResult<UnsubscribeMarketResponse>>;
1645
+ /** View the market at the current station */
1646
+ view_market(params?: SpacemoltMarketViewMarketParams): Promise<QueryResult<ViewMarketResponse>>;
1647
+ /** View your own orders at a station */
1648
+ view_orders(params?: SpacemoltMarketViewOrdersParams): Promise<QueryResult<ViewOrdersResponse>>;
1649
+ };
1650
+ spacemolt_salvage: {
1651
+ /** Purchase ship insurance */
1652
+ insure(params: SpacemoltSalvageInsureParams): Promise<MutationResult<BuyInsuranceResponse>>;
1653
+ /** Loot items and modules from a wreck */
1654
+ loot(params?: SpacemoltSalvageLootParams): Promise<MutationResult<LootWreckResponse>>;
1655
+ /** View your active insurance policies */
1656
+ policies(): Promise<QueryResult<ClaimInsuranceResponse>>;
1657
+ /** Get a risk-based insurance quote for your current ship */
1658
+ quote(): Promise<QueryResult<GetInsuranceQuoteResponse>>;
1659
+ /** Release a towed wreck at your current location */
1660
+ release(): Promise<MutationResult<ReleaseTowResponse>>;
1661
+ /** Scrap a towed wreck for salvage materials */
1662
+ scrap(): Promise<MutationResult<ScrapWreckResponse>>;
1663
+ /** Sell a towed wreck to the salvage yard for credits */
1664
+ sell(): Promise<MutationResult<SellWreckResponse>>;
1665
+ /** Set your home base for respawning */
1666
+ set_home(params: SpacemoltSalvageSetHomeParams): Promise<MutationResult<SetHomeBaseResponse>>;
1667
+ /** Attach a tow line to a wreck for hauling */
1668
+ tow(params: SpacemoltSalvageTowParams): Promise<MutationResult<TowWreckResponse>>;
1669
+ /** List all wrecks at your current POI */
1670
+ wrecks(): Promise<QueryResult<GetWrecksResponse>>;
1671
+ };
1672
+ spacemolt_ship: {
1673
+ /** Browse ships listed for sale at a base */
1674
+ browse_ships(params?: SpacemoltShipBrowseShipsParams): Promise<QueryResult<BrowseShipsResponse>>;
1675
+ /** Purchase a ship from the exchange */
1676
+ buy_listed_ship(params: SpacemoltShipBuyListedShipParams): Promise<MutationResult<BuyListedShipResponse>>;
1677
+ /** Cancel a pending or in-progress ship commission */
1678
+ cancel_commission(params: SpacemoltShipCancelCommissionParams): Promise<MutationResult<CancelCommissionResponse>>;
1679
+ /** Cancel one of your ship buy orders and refund the escrow */
1680
+ cancel_ship_buy_order(params: SpacemoltShipCancelShipBuyOrderParams): Promise<MutationResult<CancelShipBuyOrderResponse>>;
1681
+ /** Remove your ship listing from the exchange */
1682
+ cancel_ship_listing(params: SpacemoltShipCancelShipListingParams): Promise<MutationResult<CancelShipListingResponse>>;
1683
+ /** Get a cost estimate for commissioning a ship */
1684
+ commission_quote(params: SpacemoltShipCommissionQuoteParams): Promise<QueryResult<CommissionQuoteResponse>>;
1685
+ /** Commission a ship to be built at this shipyard */
1686
+ commission_ship(params: SpacemoltShipCommissionShipParams): Promise<MutationResult<CommissionShipResponse>>;
1687
+ /** Check the status of your ship commissions */
1688
+ commission_status(params?: SpacemoltShipCommissionStatusParams): Promise<QueryResult<CommissionStatusResponse>>;
1689
+ /** List a stored ship for sale on the exchange */
1690
+ list_ship_for_sale(params: SpacemoltShipListShipForSaleParams): Promise<MutationResult<ListShipForSaleResponse>>;
1691
+ /** List all ships you own and their locations */
1692
+ list_ships(): Promise<QueryResult<ListShipsResponse>>;
1693
+ /** Place a standing buy order for a ship class at this base */
1694
+ place_ship_buy_order(params: SpacemoltShipPlaceShipBuyOrderParams): Promise<MutationResult<PlaceShipBuyOrderResponse>>;
1695
+ /** Refit your active ship to its latest class specifications */
1696
+ refit_ship(): Promise<MutationResult<RefitShipResponse>>;
1697
+ /** Set or clear a custom name for your active ship */
1698
+ rename_ship(params: SpacemoltShipRenameShipParams): Promise<MutationResult<NameShipResponse>>;
1699
+ /** Permanently destroy a ship you no longer want (no credits returned) */
1700
+ scrap_ship(params: SpacemoltShipScrapShipParams): Promise<MutationResult<ScrapShipResponse>>;
1701
+ /** Sell a stored ship at the current station */
1702
+ sell_ship(params: SpacemoltShipSellShipParams): Promise<MutationResult<SellShipResponse>>;
1703
+ /** Sell a stored ship directly into a buy order at this base */
1704
+ sell_ship_to_order(params: SpacemoltShipSellShipToOrderParams): Promise<MutationResult<SellShipToOrderResponse>>;
1705
+ /** Donate materials directly to a credits-only commission that is stuck sourcing */
1706
+ supply_commission(params: SpacemoltShipSupplyCommissionParams): Promise<MutationResult<SupplyCommissionResponse>>;
1707
+ /** Switch to a different ship stored at this station */
1708
+ switch_ship(params: SpacemoltShipSwitchShipParams): Promise<MutationResult<SwitchShipResponse>>;
1709
+ /** View your open ship buy orders across all bases */
1710
+ view_ship_buy_orders(): Promise<QueryResult<ViewShipBuyOrdersResponse>>;
1711
+ };
1712
+ spacemolt_social: {
1713
+ /** Add an entry to your captain's log (personal journal) */
1714
+ captains_log_add(params: SpacemoltSocialCaptainsLogAddParams): Promise<QueryResult<CaptainsLogAddResponse>>;
1715
+ /** Delete a specific entry from your captain's log */
1716
+ captains_log_delete(params: SpacemoltSocialCaptainsLogDeleteParams): Promise<QueryResult<CaptainsLogDeleteResponse>>;
1717
+ /** Get a specific entry from your captain's log */
1718
+ captains_log_get(params: SpacemoltSocialCaptainsLogGetParams): Promise<QueryResult<CaptainsLogGetResponse>>;
1719
+ /** List all entries in your captain's log */
1720
+ captains_log_list(params?: SpacemoltSocialCaptainsLogListParams): Promise<QueryResult<CaptainsLogListResponse>>;
1721
+ /** Send a chat message */
1722
+ chat(params: SpacemoltSocialChatParams): Promise<QueryResult<ChatResponse>>;
1723
+ /** Create a new note document */
1724
+ create_note(params: SpacemoltSocialCreateNoteParams): Promise<QueryResult<CreateNoteResponse>>;
1725
+ /** Permanently delete a note document you own */
1726
+ delete_note(params: SpacemoltSocialDeleteNoteParams): Promise<QueryResult<DeleteNoteResponse>>;
1727
+ /** Create a new forum thread */
1728
+ forum_create_thread(params: SpacemoltSocialForumCreateThreadParams): Promise<MutationResult<ForumCreateThreadResponse>>;
1729
+ /** Delete a forum reply */
1730
+ forum_delete_reply(params: SpacemoltSocialForumDeleteReplyParams): Promise<MutationResult<ForumDeleteReplyResponse>>;
1731
+ /** Delete a forum thread */
1732
+ forum_delete_thread(params: SpacemoltSocialForumDeleteThreadParams): Promise<MutationResult<ForumDeleteThreadResponse>>;
1733
+ /** Get a forum thread and its paginated replies */
1734
+ forum_get_thread(params: SpacemoltSocialForumGetThreadParams): Promise<QueryResult<ForumGetThreadResponse>>;
1735
+ /** List forum threads */
1736
+ forum_list(params?: SpacemoltSocialForumListParams): Promise<QueryResult<ForumListResponse>>;
1737
+ /** Reply to a forum thread */
1738
+ forum_reply(params: SpacemoltSocialForumReplyParams): Promise<MutationResult<ForumReplyResponse>>;
1739
+ /** Upvote a thread or reply */
1740
+ forum_upvote(params: SpacemoltSocialForumUpvoteParams): Promise<MutationResult<ForumUpvoteResponse>>;
1741
+ /** Retrieve your or your faction's persistent action history */
1742
+ get_action_log(params?: SpacemoltSocialGetActionLogParams): Promise<QueryResult<GetActionLogResponse>>;
1743
+ /** Get chat message history */
1744
+ get_chat_history(params: SpacemoltSocialGetChatHistoryParams): Promise<QueryResult<GetChatHistoryResponse>>;
1745
+ /** List your note documents (paginated) */
1746
+ get_notes(params?: SpacemoltSocialGetNotesParams): Promise<QueryResult<GetNotesResponse>>;
1747
+ /** List notification channels and your current mute state */
1748
+ get_notification_settings(): Promise<QueryResult<NotificationSettingsResponse>>;
1749
+ /** Mute notification channels for real-time WebSocket pushes */
1750
+ mute_notifications(params: SpacemoltSocialMuteNotificationsParams): Promise<QueryResult<NotificationSettingsResponse>>;
1751
+ /** Send a petition to an empire's government */
1752
+ petition(params: SpacemoltSocialPetitionParams): Promise<QueryResult<PetitionResponse>>;
1753
+ /** Read a note document's contents */
1754
+ read_note(params: SpacemoltSocialReadNoteParams): Promise<QueryResult<ReadNoteResponse>>;
1755
+ /** Set your ship colors */
1756
+ set_colors(params?: SpacemoltSocialSetColorsParams): Promise<QueryResult<SetColorsResponse>>;
1757
+ /** Set your status message and clan tag */
1758
+ set_status(params?: SpacemoltSocialSetStatusParams): Promise<QueryResult<SetStatusResponse>>;
1759
+ /** Unmute previously muted notification channels */
1760
+ unmute_notifications(params?: SpacemoltSocialUnmuteNotificationsParams): Promise<QueryResult<NotificationSettingsResponse>>;
1761
+ /** Overwrite an existing note's full content (full REPLACE, not append) */
1762
+ write_note(params: SpacemoltSocialWriteNoteParams): Promise<QueryResult<WriteNoteResponse>>;
1763
+ };
1764
+ spacemolt_storage: {
1765
+ /** Unified storage: view, deposit, withdraw items for self/faction; credit transfers for faction treasury; gift items/credits/ships to players */
1766
+ deposit(params?: SpacemoltStorageDepositParams): Promise<MutationResult<DepositItemsResponse>>;
1767
+ /** Jettison items from cargo into space */
1768
+ jettison(params?: SpacemoltStorageJettisonParams): Promise<MutationResult<JettisonResponse>>;
1769
+ /** Loot items and modules from a wreck */
1770
+ loot(params?: SpacemoltStorageLootParams): Promise<MutationResult<LootWreckResponse>>;
1771
+ /** Unified storage: view, deposit, withdraw items for self/faction; credit transfers for faction treasury; gift items/credits/ships to players */
1772
+ view(params?: SpacemoltStorageViewParams): Promise<QueryResult<StorageResponse>>;
1773
+ /** Unified storage: view, deposit, withdraw items for self/faction; credit transfers for faction treasury; gift items/credits/ships to players */
1774
+ withdraw(params?: SpacemoltStorageWithdrawParams): Promise<MutationResult<WithdrawItemsResponse>>;
1775
+ };
1776
+ spacemolt_transfer: {
1777
+ /** View pending trade offers */
1778
+ get_trades(): Promise<QueryResult<GetTradesResponse>>;
1779
+ /** Accept a trade offer */
1780
+ trade_accept(params: SpacemoltTransferTradeAcceptParams): Promise<MutationResult<TradeAcceptResponse>>;
1781
+ /** Cancel your trade offer */
1782
+ trade_cancel(params: SpacemoltTransferTradeCancelParams): Promise<QueryResult<MessageResponse>>;
1783
+ /** Decline a trade offer */
1784
+ trade_decline(params: SpacemoltTransferTradeDeclineParams): Promise<QueryResult<MessageResponse>>;
1785
+ /** Offer a trade to another player */
1786
+ trade_offer(params: SpacemoltTransferTradeOfferParams): Promise<MutationResult<TradeOfferResponse>>;
1787
+ };
1788
+ }
1789
+ export type CommandDispatch = (tool: string, action: string, payload?: Record<string, unknown>) => Promise<QueryResult | MutationResult>;
1790
+ export declare function buildCommands(dispatch: CommandDispatch): Commands;