@spacemolt/lib 10.0.0 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -44,7 +44,7 @@ var STATE_SECTIONS = [
44
44
  "skills"
45
45
  ];
46
46
  // src/generated/actions.gen.ts
47
- var GENERATED_SPEC_VERSION = "v0.516.0";
47
+ var GENERATED_SPEC_VERSION = "v0.522.0";
48
48
  var ACTIONS = {
49
49
  "spacemolt_auth/claim": {
50
50
  tool: "spacemolt_auth",
@@ -228,7 +228,7 @@ var ACTIONS = {
228
228
  action: "deploy",
229
229
  kind: "mutation",
230
230
  summary: "Deploy a drone from your bay into space",
231
- detailsType: "DeployDroneResponse",
231
+ detailsType: "DeployDroneCommandResponse",
232
232
  params: [
233
233
  { name: "all", type: "boolean", required: false, description: "Set to true to deploy every in-bay drone in a single tick. Drones that would exceed remaining bandwidth are skipped." },
234
234
  { name: "id", type: "string", required: false, description: "ID of a specific drone to deploy from your bay (see get_drones)", positional: 0 }
@@ -348,7 +348,7 @@ var ACTIONS = {
348
348
  action: "browse_for_sale",
349
349
  kind: "query",
350
350
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
351
- responseType: "FacilityResponse",
351
+ responseType: "FacilityBrowseForSaleResponse",
352
352
  params: [
353
353
  { name: "facility_type", type: "string", required: false, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 },
354
354
  { name: "max_price", type: "number", required: false, description: "For 'browse_for_sale': optional maximum price filter." }
@@ -359,7 +359,7 @@ var ACTIONS = {
359
359
  action: "build",
360
360
  kind: "mutation",
361
361
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
362
- detailsType: "FacilityResponse",
362
+ detailsType: "FacilityBuildResponse | FacilityFactionBuildResponse",
363
363
  params: [
364
364
  { name: "bucket", type: "string", required: false, description: "For 'faction_build'/'faction_upgrade': a Storage Extension bucket (name or id) to source build/upgrade MATERIALS from, instead of the faction main store. Ship cargo backfills either way." },
365
365
  { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 }
@@ -370,7 +370,7 @@ var ACTIONS = {
370
370
  action: "buy_listing",
371
371
  kind: "mutation",
372
372
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
373
- detailsType: "FacilityResponse",
373
+ detailsType: "FacilityBuyListingResponse",
374
374
  params: [
375
375
  { name: "listing_id", type: "string", required: true, description: "For 'buy_listing' and 'cancel_listing': the facility listing ID. Use action 'browse_for_sale' to see listings." }
376
376
  ]
@@ -390,7 +390,7 @@ var ACTIONS = {
390
390
  action: "cancel_listing",
391
391
  kind: "mutation",
392
392
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
393
- detailsType: "FacilityResponse",
393
+ detailsType: "FacilityCancelListingResponse",
394
394
  params: [
395
395
  { name: "listing_id", type: "string", required: true, description: "For 'buy_listing' and 'cancel_listing': the facility listing ID. Use action 'browse_for_sale' to see listings." }
396
396
  ]
@@ -420,7 +420,7 @@ var ACTIONS = {
420
420
  action: "facility_set_description",
421
421
  kind: "query",
422
422
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
423
- responseType: "FacilityResponse",
423
+ responseType: "SetFacilityDescriptionResponse",
424
424
  params: [
425
425
  { name: "description", type: "string", required: false, description: "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." },
426
426
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 }
@@ -431,7 +431,7 @@ var ACTIONS = {
431
431
  action: "faction_build",
432
432
  kind: "mutation",
433
433
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
434
- detailsType: "FacilityResponse",
434
+ detailsType: "FacilityFactionBuildResponse",
435
435
  params: [
436
436
  { name: "bucket", type: "string", required: false, description: "For 'faction_build'/'faction_upgrade': a Storage Extension bucket (name or id) to source build/upgrade MATERIALS from, instead of the faction main store. Ship cargo backfills either way." },
437
437
  { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 }
@@ -452,7 +452,7 @@ var ACTIONS = {
452
452
  action: "faction_list",
453
453
  kind: "query",
454
454
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
455
- responseType: "FacilityResponse",
455
+ responseType: "FacilityFactionListResponse",
456
456
  params: []
457
457
  },
458
458
  "spacemolt_facility/faction_owned": {
@@ -460,7 +460,7 @@ var ACTIONS = {
460
460
  action: "faction_owned",
461
461
  kind: "query",
462
462
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
463
- responseType: "FacilityResponse",
463
+ responseType: "FacilityFactionOwnedResponse",
464
464
  params: []
465
465
  },
466
466
  "spacemolt_facility/faction_upgrade": {
@@ -468,7 +468,7 @@ var ACTIONS = {
468
468
  action: "faction_upgrade",
469
469
  kind: "mutation",
470
470
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
471
- detailsType: "FacilityResponse",
471
+ detailsType: "FacilityFactionUpgradeResponse",
472
472
  params: [
473
473
  { name: "bucket", type: "string", required: false, description: "For 'faction_build'/'faction_upgrade': a Storage Extension bucket (name or id) to source build/upgrade MATERIALS from, instead of the faction main store. Ship cargo backfills either way." },
474
474
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 },
@@ -491,7 +491,7 @@ var ACTIONS = {
491
491
  action: "job_add",
492
492
  kind: "mutation",
493
493
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
494
- detailsType: "FacilityResponse",
494
+ detailsType: "CraftJobResponse | PackageJobResponse",
495
495
  params: [
496
496
  { name: "deliver_to", type: "string", required: false, description: "Output destination for 'job_add': 'storage' (default), 'faction' (faction main store), or 'faction:<bucket name or id>' for a Storage Extension bucket." },
497
497
  { name: "direction", type: '"forward" | "reverse"', required: false, description: "Job direction: 'forward' runs the recipe normally (craft); 'reverse' recycles existing items back to inputs.", enumValues: ["forward", "reverse"] },
@@ -510,7 +510,7 @@ var ACTIONS = {
510
510
  action: "job_cancel",
511
511
  kind: "mutation",
512
512
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
513
- detailsType: "FacilityResponse",
513
+ detailsType: "JobCancelResponse | BulkJobCancelResponse",
514
514
  params: [
515
515
  { name: "job_id", type: "string", required: false, description: "Job ID (for 'job_cancel', 'job_reorder'). Use action 'job_list' to see job IDs." },
516
516
  { name: "job_ids", type: "string[]", required: false, description: "For 'job_cancel': cancel multiple jobs in a single action. When provided, 'job_id' is ignored. Use action 'job_list' to see job IDs." }
@@ -521,7 +521,7 @@ var ACTIONS = {
521
521
  action: "job_list",
522
522
  kind: "query",
523
523
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
524
- responseType: "FacilityResponse",
524
+ responseType: "FacilityJobListResponse",
525
525
  params: [
526
526
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 }
527
527
  ]
@@ -531,7 +531,7 @@ var ACTIONS = {
531
531
  action: "job_reorder",
532
532
  kind: "mutation",
533
533
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
534
- detailsType: "FacilityResponse",
534
+ detailsType: "JobReorderResponse",
535
535
  params: [
536
536
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 },
537
537
  { name: "job_id", type: "string", required: true, description: "Job ID (for 'job_cancel', 'job_reorder'). Use action 'job_list' to see job IDs." },
@@ -543,7 +543,7 @@ var ACTIONS = {
543
543
  action: "list",
544
544
  kind: "query",
545
545
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
546
- responseType: "FacilityResponse",
546
+ responseType: "FacilityListResponse",
547
547
  params: []
548
548
  },
549
549
  "spacemolt_facility/list_for_sale": {
@@ -551,7 +551,7 @@ var ACTIONS = {
551
551
  action: "list_for_sale",
552
552
  kind: "mutation",
553
553
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
554
- detailsType: "FacilityResponse",
554
+ detailsType: "FacilityListForSaleResponse",
555
555
  params: [
556
556
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 },
557
557
  { name: "faction", type: "boolean", required: false, description: "For 'list_for_sale': set true to list a faction-owned facility (requires manage_facilities permission)." },
@@ -563,7 +563,7 @@ var ACTIONS = {
563
563
  action: "owned",
564
564
  kind: "query",
565
565
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
566
- responseType: "FacilityResponse",
566
+ responseType: "FacilityOwnedResponse",
567
567
  params: []
568
568
  },
569
569
  "spacemolt_facility/personal_build": {
@@ -571,7 +571,7 @@ var ACTIONS = {
571
571
  action: "personal_build",
572
572
  kind: "mutation",
573
573
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
574
- detailsType: "FacilityResponse",
574
+ detailsType: "FacilityPersonalBuildResponse",
575
575
  params: [
576
576
  { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 }
577
577
  ]
@@ -581,7 +581,7 @@ var ACTIONS = {
581
581
  action: "personal_decorate",
582
582
  kind: "mutation",
583
583
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
584
- detailsType: "FacilityResponse",
584
+ detailsType: "FacilityPersonalDecorateResponse",
585
585
  params: [
586
586
  { name: "access", type: '"private" | "public"', required: false, description: "For 'personal_decorate': who can visit your quarters. For 'set_access': 'public' opens your facility to renters, 'private' closes it.", enumValues: ["private", "public"] },
587
587
  { name: "description", type: "string", required: false, description: "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." }
@@ -592,7 +592,7 @@ var ACTIONS = {
592
592
  action: "personal_visit",
593
593
  kind: "query",
594
594
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
595
- responseType: "FacilityResponse",
595
+ responseType: "FacilityPersonalVisitResponse",
596
596
  params: [
597
597
  { name: "username", type: "string", required: false, description: "For 'personal_visit': username of the player whose quarters to visit. Omit to visit your own." }
598
598
  ]
@@ -622,7 +622,7 @@ var ACTIONS = {
622
622
  action: "repair",
623
623
  kind: "mutation",
624
624
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
625
- detailsType: "FacilityResponse",
625
+ detailsType: "FacilityRepairResponse",
626
626
  params: [
627
627
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 }
628
628
  ]
@@ -632,7 +632,7 @@ var ACTIONS = {
632
632
  action: "set_access",
633
633
  kind: "mutation",
634
634
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
635
- detailsType: "FacilityResponse",
635
+ detailsType: "SetAccessResponse",
636
636
  params: [
637
637
  { name: "access", type: '"private" | "public"', required: true, description: "For 'personal_decorate': who can visit your quarters. For 'set_access': 'public' opens your facility to renters, 'private' closes it.", enumValues: ["private", "public"] },
638
638
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 }
@@ -683,7 +683,7 @@ var ACTIONS = {
683
683
  action: "set_name",
684
684
  kind: "mutation",
685
685
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
686
- detailsType: "FacilityResponse",
686
+ detailsType: "SetFacilityNameResponse",
687
687
  params: [
688
688
  { name: "custom_name", type: "string", required: false, description: "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." },
689
689
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 }
@@ -694,7 +694,7 @@ var ACTIONS = {
694
694
  action: "set_output_price",
695
695
  kind: "mutation",
696
696
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
697
- detailsType: "FacilityResponse",
697
+ detailsType: "SetOutputPriceResponse",
698
698
  params: [
699
699
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 },
700
700
  { name: "price", type: "number", required: false, description: "For 'list_for_sale': asking price in whole credits. For 'set_output_price': per-produced-unit rental price on ordinary production, or a once-per-package-operation price on Logistics. May be fractional; used literally, so 0 rents for free and negative is rejected." }
@@ -738,7 +738,7 @@ var ACTIONS = {
738
738
  detailsType: "StationConfigResponse",
739
739
  params: [
740
740
  { name: "access", type: '"public" | "allies" | "faction"', required: true, description: "Access level for set_service_access", enumValues: ["public", "allies", "faction"] },
741
- { name: "service", type: "string", required: true, description: "Service type for set_service_access (market, refuel, repair, shipyard, crafting, salvage_yard)" }
741
+ { name: "service", type: "string", required: true, description: "Service type for set_service_access (market, refuel, repair, shipyard, crafting, salvage_yard, missions)" }
742
742
  ]
743
743
  },
744
744
  "spacemolt_facility/station_info": {
@@ -764,7 +764,7 @@ var ACTIONS = {
764
764
  action: "transfer",
765
765
  kind: "mutation",
766
766
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
767
- detailsType: "FacilityResponse",
767
+ detailsType: "FacilityTransferResponse",
768
768
  params: [
769
769
  { name: "direction", type: '"to_faction" | "to_player"', required: true, description: "Transfer direction: 'to_faction' moves the facility to faction ownership; 'to_player' transfers it to a specific player.", enumValues: ["to_faction", "to_player"] },
770
770
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 },
@@ -776,7 +776,7 @@ var ACTIONS = {
776
776
  action: "types",
777
777
  kind: "query",
778
778
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
779
- responseType: "FacilityResponse",
779
+ responseType: "FacilityTypeDiscoveryResponse | FacilityTypeListResponse | FacilityTypeDetailResponse",
780
780
  params: [
781
781
  { name: "category", type: '"infrastructure" | "service" | "production" | "faction" | "personal"', required: false, description: "Filter for 'types' action: show only this category.", enumValues: ["infrastructure", "service", "production", "faction", "personal"] },
782
782
  { name: "facility_type", type: "string", required: false, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 },
@@ -801,7 +801,7 @@ var ACTIONS = {
801
801
  action: "upgrade",
802
802
  kind: "mutation",
803
803
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
804
- detailsType: "FacilityResponse",
804
+ detailsType: "FacilityUpgradeResponse | FacilityFactionUpgradeResponse",
805
805
  params: [
806
806
  { name: "bucket", type: "string", required: false, description: "For 'faction_build'/'faction_upgrade': a Storage Extension bucket (name or id) to source build/upgrade MATERIALS from, instead of the faction main store. Ship cargo backfills either way." },
807
807
  { name: "facility_id", type: "string", required: true, description: "Facility instance ID (required for 'upgrade', 'dismantle', 'faction_dismantle', 'job_add', 'job_list', 'set_output_price', 'set_access', 'set_name', 'set_description' actions). Use action 'list' to see facility IDs.", positional: 1 },
@@ -813,7 +813,7 @@ var ACTIONS = {
813
813
  action: "upgrades",
814
814
  kind: "query",
815
815
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
816
- responseType: "FacilityResponse",
816
+ responseType: "FacilityUpgradesResponse",
817
817
  params: []
818
818
  },
819
819
  "spacemolt_faction_admin/create_role": {
@@ -1205,7 +1205,7 @@ var ACTIONS = {
1205
1205
  action: "accept",
1206
1206
  kind: "mutation",
1207
1207
  summary: "Create and manage player fleets for coordinated movement and combat",
1208
- detailsType: "FleetResponse",
1208
+ detailsType: "FleetAcceptResponse",
1209
1209
  params: []
1210
1210
  },
1211
1211
  "spacemolt_fleet/board": {
@@ -1213,7 +1213,7 @@ var ACTIONS = {
1213
1213
  action: "board",
1214
1214
  kind: "mutation",
1215
1215
  summary: "Create and manage player fleets for coordinated movement and combat",
1216
- detailsType: "FleetResponse",
1216
+ detailsType: "FleetBoardResponse",
1217
1217
  params: [
1218
1218
  { name: "garage", type: "boolean", required: false, description: "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)." },
1219
1219
  { name: "id", type: "string", required: true, description: "Player name or ID (for invite/kick/board)", positional: 0 }
@@ -1232,7 +1232,7 @@ var ACTIONS = {
1232
1232
  action: "decline",
1233
1233
  kind: "mutation",
1234
1234
  summary: "Create and manage player fleets for coordinated movement and combat",
1235
- detailsType: "FleetResponse",
1235
+ detailsType: "FleetDeclineResponse",
1236
1236
  params: []
1237
1237
  },
1238
1238
  "spacemolt_fleet/disband": {
@@ -1240,7 +1240,7 @@ var ACTIONS = {
1240
1240
  action: "disband",
1241
1241
  kind: "mutation",
1242
1242
  summary: "Create and manage player fleets for coordinated movement and combat",
1243
- detailsType: "FleetResponse",
1243
+ detailsType: "FleetActionResponse",
1244
1244
  params: []
1245
1245
  },
1246
1246
  "spacemolt_fleet/disembark": {
@@ -1248,7 +1248,7 @@ var ACTIONS = {
1248
1248
  action: "disembark",
1249
1249
  kind: "mutation",
1250
1250
  summary: "Create and manage player fleets for coordinated movement and combat",
1251
- detailsType: "FleetResponse",
1251
+ detailsType: "FleetActionResponse",
1252
1252
  params: []
1253
1253
  },
1254
1254
  "spacemolt_fleet/invite": {
@@ -1256,7 +1256,7 @@ var ACTIONS = {
1256
1256
  action: "invite",
1257
1257
  kind: "mutation",
1258
1258
  summary: "Create and manage player fleets for coordinated movement and combat",
1259
- detailsType: "FleetResponse",
1259
+ detailsType: "FleetActionResponse",
1260
1260
  params: [
1261
1261
  { name: "id", type: "string", required: true, description: "Player name or ID (for invite/kick/board)", positional: 0 }
1262
1262
  ]
@@ -1266,7 +1266,7 @@ var ACTIONS = {
1266
1266
  action: "kick",
1267
1267
  kind: "mutation",
1268
1268
  summary: "Create and manage player fleets for coordinated movement and combat",
1269
- detailsType: "FleetResponse",
1269
+ detailsType: "FleetActionResponse",
1270
1270
  params: [
1271
1271
  { name: "id", type: "string", required: true, description: "Player name or ID (for invite/kick/board)", positional: 0 }
1272
1272
  ]
@@ -1276,7 +1276,7 @@ var ACTIONS = {
1276
1276
  action: "leave",
1277
1277
  kind: "mutation",
1278
1278
  summary: "Create and manage player fleets for coordinated movement and combat",
1279
- detailsType: "FleetResponse",
1279
+ detailsType: "FleetActionResponse",
1280
1280
  params: []
1281
1281
  },
1282
1282
  "spacemolt_fleet/status": {
@@ -1385,7 +1385,7 @@ var ACTIONS = {
1385
1385
  action: "cancel_order",
1386
1386
  kind: "mutation",
1387
1387
  summary: "Cancel an active order and return escrow",
1388
- detailsType: "CancelOrderResponse",
1388
+ detailsType: "CancelOrderCommandResponse",
1389
1389
  params: [
1390
1390
  { name: "order_id", type: "string", required: false, description: "ID of the order to cancel, or 'all' to cancel all your orders at this station. Use view_orders to see your orders.", positional: 3 },
1391
1391
  { name: "order_ids", type: "string[]", required: false, description: "Bulk mode: array of order IDs to cancel (max 50). When provided, the top-level order_id is ignored." }
@@ -1396,7 +1396,7 @@ var ACTIONS = {
1396
1396
  action: "create_buy_order",
1397
1397
  kind: "mutation",
1398
1398
  summary: "Place a buy offer on the station exchange",
1399
- detailsType: "CreateBuyOrderResponse",
1399
+ detailsType: "CreateBuyOrderCommandResponse",
1400
1400
  params: [
1401
1401
  { name: "deliver_to", type: '"cargo" | "storage"', required: false, description: "Where to deliver filled items: 'cargo' (default) or 'storage' (station storage).", enumValues: ["cargo", "storage"] },
1402
1402
  { name: "item_id", type: "string", required: false, description: "ID of the item to buy (e.g., iron_ore, steel_plate). Required for single mode.", positional: 0 },
@@ -1410,7 +1410,7 @@ var ACTIONS = {
1410
1410
  action: "create_sell_order",
1411
1411
  kind: "mutation",
1412
1412
  summary: "List items for sale on the station exchange",
1413
- detailsType: "CreateSellOrderResponse",
1413
+ detailsType: "CreateSellOrderCommandResponse",
1414
1414
  params: [
1415
1415
  { name: "item_id", type: "string", required: false, description: "ID of the item to sell (e.g., iron_ore, steel_plate). Required for single mode.", positional: 0 },
1416
1416
  { name: "orders", type: "{ item_id: string; price_each: number; quantity: number }[]", required: false, description: "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." },
@@ -1434,7 +1434,7 @@ var ACTIONS = {
1434
1434
  action: "modify_order",
1435
1435
  kind: "mutation",
1436
1436
  summary: "Change the price on an existing order",
1437
- detailsType: "ModifyOrderResponse",
1437
+ detailsType: "ModifyOrderCommandResponse",
1438
1438
  params: [
1439
1439
  { name: "order_id", type: "string", required: false, description: "ID of the order to modify. Required for single mode.", positional: 3 },
1440
1440
  { name: "orders", type: "{ new_price: number; order_id: string }[]", required: false, description: "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." },
@@ -1500,7 +1500,7 @@ var ACTIONS = {
1500
1500
  action: "loot",
1501
1501
  kind: "mutation",
1502
1502
  summary: "Loot items and modules from a wreck",
1503
- detailsType: "LootWreckResponse",
1503
+ detailsType: "LootWreckCommandResponse",
1504
1504
  params: [
1505
1505
  { name: "id", type: "string", required: false, description: "UUID of the wreck to loot. Omit when towing a wreck to default to your towed wreck.", positional: 0 },
1506
1506
  { name: "item_id", type: "string", required: false, description: "Specific cargo item ID to loot. Omit to loot everything (all cargo and modules go to cargo hold)." },
@@ -1679,6 +1679,144 @@ var ACTIONS = {
1679
1679
  responseType: "ListShipsResponse",
1680
1680
  params: []
1681
1681
  },
1682
+ "spacemolt_shipping/accept": {
1683
+ tool: "spacemolt_shipping",
1684
+ action: "accept",
1685
+ kind: "mutation",
1686
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1687
+ detailsType: "ShippingContractResponse",
1688
+ params: [
1689
+ { name: "carrier", type: '"player" | "faction"', required: false, description: "Prime carrier accepting the contract: you personally (player, default) or your current faction. The selected actor permanently owns the consequences. Self-shipping bypasses standing and tier liability limits but earns no carrier reputation; unpaid freight debt still blocks acceptance.", enumValues: ["player", "faction"] },
1690
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1691
+ ]
1692
+ },
1693
+ "spacemolt_shipping/cancel": {
1694
+ tool: "spacemolt_shipping",
1695
+ action: "cancel",
1696
+ kind: "mutation",
1697
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1698
+ detailsType: "ShippingSettlementResponse",
1699
+ params: [
1700
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1701
+ ]
1702
+ },
1703
+ "spacemolt_shipping/deliver": {
1704
+ tool: "spacemolt_shipping",
1705
+ action: "deliver",
1706
+ kind: "mutation",
1707
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1708
+ detailsType: "ShippingSettlementResponse",
1709
+ params: [
1710
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1711
+ ]
1712
+ },
1713
+ "spacemolt_shipping/get": {
1714
+ tool: "spacemolt_shipping",
1715
+ action: "get",
1716
+ kind: "query",
1717
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1718
+ responseType: "ShippingContractResponse",
1719
+ params: [
1720
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1721
+ ]
1722
+ },
1723
+ "spacemolt_shipping/list": {
1724
+ tool: "spacemolt_shipping",
1725
+ action: "list",
1726
+ kind: "query",
1727
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1728
+ responseType: "ShippingListResponse",
1729
+ params: [
1730
+ { name: "eligible_as", type: '"player" | "faction"', required: false, description: "For list, show contracts you may accept personally (player, default) or for your current faction.", enumValues: ["player", "faction"] },
1731
+ { name: "page", type: "number", required: false, description: "List page (default 1)." },
1732
+ { name: "per_page", type: "number", required: false, description: "Contracts per page (default 20, max 50)." }
1733
+ ]
1734
+ },
1735
+ "spacemolt_shipping/pay_debt": {
1736
+ tool: "spacemolt_shipping",
1737
+ action: "pay_debt",
1738
+ kind: "mutation",
1739
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1740
+ detailsType: "ShippingDebtPaymentResponse",
1741
+ params: [
1742
+ { name: "amount", type: "number", required: false, description: "Debt payment amount for pay_debt. Omit to pay the full outstanding balance." },
1743
+ { name: "carrier", type: '"player" | "faction"', required: false, description: "Prime carrier accepting the contract: you personally (player, default) or your current faction. The selected actor permanently owns the consequences. Self-shipping bypasses standing and tier liability limits but earns no carrier reputation; unpaid freight debt still blocks acceptance.", enumValues: ["player", "faction"] }
1744
+ ]
1745
+ },
1746
+ "spacemolt_shipping/post": {
1747
+ tool: "spacemolt_shipping",
1748
+ action: "post",
1749
+ kind: "mutation",
1750
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1751
+ detailsType: "ShippingContractResponse",
1752
+ params: [
1753
+ { name: "destination_base_id", type: "string", required: true, description: "Destination station/base ID for quote or post. It must differ from the origin station; another station in the same system is valid." },
1754
+ { name: "insured", type: "boolean", required: false, description: "Request cargo insurance. Unpriceable packages may still be shipped uninsured." },
1755
+ { name: "invited_carrier_id", type: "string", required: false, description: "Invited player or faction ID when visibility=invited." },
1756
+ { name: "invited_carrier_type", type: '"player" | "faction"', required: false, description: "Invited prime carrier kind when visibility=invited.", enumValues: ["player", "faction"] },
1757
+ { name: "max_total_cost", type: "number", required: false, description: "Optional post guard. The contract is rejected if the recomputed fees, reward escrow, and premium exceed this amount." },
1758
+ { name: "package_id", type: "string", required: true, description: "Sealed package to quote or post. The package must be owned by the selected shipper at this station." },
1759
+ { name: "recipient_id", type: "string", required: false, description: "Player, faction, or station ID matching recipient_type." },
1760
+ { name: "recipient_type", type: '"player" | "faction" | "station"', required: false, description: "Delivery beneficiary kind. Omit both recipient fields to deliver back to the shipper.", enumValues: ["player", "faction", "station"] },
1761
+ { name: "service_level", type: '"standard" | "priority"', required: false, description: "standard, or priority for a speed bonus that decays toward the deadline.", enumValues: ["standard", "priority"] },
1762
+ { name: "shipper", type: '"player" | "faction"', required: false, description: "Who posts and funds the contract: you personally (player, default) or your current faction. Faction posting requires manage_treasury.", enumValues: ["player", "faction"] },
1763
+ { name: "source", type: '"cargo" | "storage" | "faction"', required: false, description: "Where the sealed package currently sits at the origin station (cargo by default).", enumValues: ["cargo", "storage", "faction"] },
1764
+ { name: "source_bucket_id", type: "string", required: false, description: "Faction Storage Extension bucket ID when source=faction; omit for the faction main store." },
1765
+ { name: "visibility", type: '"public" | "faction" | "allies" | "invited"', required: false, description: "Who may accept the listing. invited also requires invited_carrier_type and invited_carrier_id.", enumValues: ["public", "faction", "allies", "invited"] }
1766
+ ]
1767
+ },
1768
+ "spacemolt_shipping/profile": {
1769
+ tool: "spacemolt_shipping",
1770
+ action: "profile",
1771
+ kind: "query",
1772
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1773
+ responseType: "ShippingProfileResponse",
1774
+ params: [
1775
+ { name: "carrier", type: '"player" | "faction"', required: false, description: "Prime carrier accepting the contract: you personally (player, default) or your current faction. The selected actor permanently owns the consequences. Self-shipping bypasses standing and tier liability limits but earns no carrier reputation; unpaid freight debt still blocks acceptance.", enumValues: ["player", "faction"] }
1776
+ ]
1777
+ },
1778
+ "spacemolt_shipping/quote": {
1779
+ tool: "spacemolt_shipping",
1780
+ action: "quote",
1781
+ kind: "query",
1782
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1783
+ responseType: "ShippingQuoteResponse",
1784
+ params: [
1785
+ { name: "destination_base_id", type: "string", required: true, description: "Destination station/base ID for quote or post. It must differ from the origin station; another station in the same system is valid." },
1786
+ { name: "insured", type: "boolean", required: false, description: "Request cargo insurance. Unpriceable packages may still be shipped uninsured." },
1787
+ { name: "invited_carrier_id", type: "string", required: false, description: "Invited player or faction ID when visibility=invited." },
1788
+ { name: "invited_carrier_type", type: '"player" | "faction"', required: false, description: "Invited prime carrier kind when visibility=invited.", enumValues: ["player", "faction"] },
1789
+ { name: "package_id", type: "string", required: true, description: "Sealed package to quote or post. The package must be owned by the selected shipper at this station." },
1790
+ { name: "recipient_id", type: "string", required: false, description: "Player, faction, or station ID matching recipient_type." },
1791
+ { name: "recipient_type", type: '"player" | "faction" | "station"', required: false, description: "Delivery beneficiary kind. Omit both recipient fields to deliver back to the shipper.", enumValues: ["player", "faction", "station"] },
1792
+ { name: "service_level", type: '"standard" | "priority"', required: false, description: "standard, or priority for a speed bonus that decays toward the deadline.", enumValues: ["standard", "priority"] },
1793
+ { name: "shipper", type: '"player" | "faction"', required: false, description: "Who posts and funds the contract: you personally (player, default) or your current faction. Faction posting requires manage_treasury.", enumValues: ["player", "faction"] },
1794
+ { name: "source", type: '"cargo" | "storage" | "faction"', required: false, description: "Where the sealed package currently sits at the origin station (cargo by default).", enumValues: ["cargo", "storage", "faction"] },
1795
+ { name: "source_bucket_id", type: "string", required: false, description: "Faction Storage Extension bucket ID when source=faction; omit for the faction main store." },
1796
+ { name: "visibility", type: '"public" | "faction" | "allies" | "invited"', required: false, description: "Who may accept the listing. invited also requires invited_carrier_type and invited_carrier_id.", enumValues: ["public", "faction", "allies", "invited"] }
1797
+ ]
1798
+ },
1799
+ "spacemolt_shipping/return": {
1800
+ tool: "spacemolt_shipping",
1801
+ action: "return",
1802
+ kind: "mutation",
1803
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1804
+ detailsType: "ShippingSettlementResponse",
1805
+ params: [
1806
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1807
+ ]
1808
+ },
1809
+ "spacemolt_shipping/track": {
1810
+ tool: "spacemolt_shipping",
1811
+ action: "track",
1812
+ kind: "query",
1813
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1814
+ responseType: "ShippingTrackResponse",
1815
+ params: [
1816
+ { name: "limit", type: "number", required: false, description: "Maximum recent beacon events returned by track." },
1817
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1818
+ ]
1819
+ },
1682
1820
  "spacemolt_ship/place_ship_buy_order": {
1683
1821
  tool: "spacemolt_ship",
1684
1822
  action: "place_ship_buy_order",
@@ -2045,7 +2183,7 @@ var ACTIONS = {
2045
2183
  action: "deposit",
2046
2184
  kind: "mutation",
2047
2185
  summary: "Unified storage: view, deposit, withdraw items for self/faction; credit transfers for faction treasury; gift items/credits/ships to players",
2048
- detailsType: "DepositItemsResponse",
2186
+ detailsType: "DepositItemsResponse | FactionGarageStoreResponse | TransferItemsResponse | TransferCreditsResponse | SendGiftResponse | GiftShipResponse | FactionGiftResponse | EmpireGiftResponse | FactionDepositItemsResponse | FactionDepositCreditsResponse | FactionDepositFuelResponse | BulkStorageResponse",
2049
2187
  params: [
2050
2188
  { name: "bucket", type: "string", required: false, description: "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." },
2051
2189
  { name: "credits", type: "number", required: false, description: "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.)" },
@@ -2063,7 +2201,7 @@ var ACTIONS = {
2063
2201
  action: "jettison",
2064
2202
  kind: "mutation",
2065
2203
  summary: "Jettison items from cargo into space",
2066
- detailsType: "JettisonResponse",
2204
+ detailsType: "JettisonCommandResponse",
2067
2205
  params: [
2068
2206
  { name: "item_id", type: "string", required: false, description: "ID of the item to jettison (e.g., iron_ore, steel_plate). Required for single mode.", positional: 1 },
2069
2207
  { name: "items", type: "{ item_id: string; quantity: number }[]", required: false, description: "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." },
@@ -2075,7 +2213,7 @@ var ACTIONS = {
2075
2213
  action: "loot",
2076
2214
  kind: "mutation",
2077
2215
  summary: "Loot items and modules from a wreck",
2078
- detailsType: "LootWreckResponse",
2216
+ detailsType: "LootWreckCommandResponse",
2079
2217
  params: [
2080
2218
  { name: "item_id", type: "string", required: false, description: "Specific cargo item ID to loot. Omit to loot everything (all cargo and modules go to cargo hold).", positional: 1 },
2081
2219
  { name: "module_id", type: "string", required: false, description: "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)." },
@@ -2088,7 +2226,7 @@ var ACTIONS = {
2088
2226
  action: "view",
2089
2227
  kind: "query",
2090
2228
  summary: "Unified storage: view, deposit, withdraw items for self/faction; credit transfers for faction treasury; gift items/credits/ships to players",
2091
- responseType: "StorageResponse",
2229
+ responseType: "ViewStorageResponse | ViewFactionStorageResponse",
2092
2230
  params: [
2093
2231
  { name: "station_id", type: "string", required: false, description: 'Optional: station ID to view storage at without being docked. Only applies to action="view", target="self".' },
2094
2232
  { name: "target", type: "string", required: false, description: "Target: 'self' (personal storage), 'faction' (faction storage), or a player name/ID (gift)", positional: 0 }
@@ -2099,7 +2237,7 @@ var ACTIONS = {
2099
2237
  action: "withdraw",
2100
2238
  kind: "mutation",
2101
2239
  summary: "Unified storage: view, deposit, withdraw items for self/faction; credit transfers for faction treasury; gift items/credits/ships to players",
2102
- detailsType: "WithdrawItemsResponse",
2240
+ detailsType: "WithdrawItemsResponse | TransferItemsResponse | TransferCreditsResponse | FactionWithdrawItemsResponse | FactionWithdrawCreditsResponse | BulkStorageResponse",
2103
2241
  params: [
2104
2242
  { name: "bucket", type: "string", required: false, description: "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." },
2105
2243
  { name: "dest_bucket", type: "string", required: false, description: "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." },
@@ -2240,7 +2378,7 @@ var ACTIONS = {
2240
2378
  action: "craft",
2241
2379
  kind: "mutation",
2242
2380
  summary: "Queue a crafting job (auto-routes to your own/faction facility, or hand-crafts at the Station Workshop)",
2243
- detailsType: "CraftJobResponse",
2381
+ detailsType: "CraftCommandResponse",
2244
2382
  params: [
2245
2383
  { name: "count", type: "number", required: false, description: "Alias for quantity (used when quantity is not set)." },
2246
2384
  { name: "deliver_to", type: "string", required: false, description: "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." },
@@ -2379,7 +2517,7 @@ var ACTIONS = {
2379
2517
  action: "get_map",
2380
2518
  kind: "query",
2381
2519
  summary: "View all star systems in the galaxy",
2382
- responseType: "GetMapResponse",
2520
+ responseType: "GetMapCommandResponse",
2383
2521
  params: [
2384
2522
  { name: "system_id", type: "string", required: false, description: "Optional system ID to get details for a single system. Omit to get all systems." }
2385
2523
  ]
@@ -2425,7 +2563,7 @@ var ACTIONS = {
2425
2563
  action: "get_poi",
2426
2564
  kind: "query",
2427
2565
  summary: "Get your current POI details",
2428
- responseType: "GetPoiResponse",
2566
+ responseType: "GetPoiCommandResponse",
2429
2567
  params: []
2430
2568
  },
2431
2569
  "spacemolt/get_queue": {
@@ -2473,7 +2611,7 @@ var ACTIONS = {
2473
2611
  action: "get_system",
2474
2612
  kind: "query",
2475
2613
  summary: "Get your current system details",
2476
- responseType: "GetSystemResponse",
2614
+ responseType: "GetSystemCommandResponse",
2477
2615
  params: []
2478
2616
  },
2479
2617
  "spacemolt/get_system_agents": {
@@ -2540,7 +2678,7 @@ var ACTIONS = {
2540
2678
  action: "jettison",
2541
2679
  kind: "mutation",
2542
2680
  summary: "Jettison items from cargo into space",
2543
- detailsType: "JettisonResponse",
2681
+ detailsType: "JettisonCommandResponse",
2544
2682
  params: [
2545
2683
  { name: "id", type: "string", required: false, description: "ID of the item to jettison (e.g., iron_ore, steel_plate). Required for single mode.", positional: 0 },
2546
2684
  { name: "items", type: "{ item_id: string; quantity: number }[]", required: false, description: "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." },
@@ -2552,7 +2690,7 @@ var ACTIONS = {
2552
2690
  action: "jump",
2553
2691
  kind: "mutation",
2554
2692
  summary: "Jump to an adjacent star system, or plot a numeric bearing with a Pathfinder Drive",
2555
- detailsType: "JumpResponse",
2693
+ detailsType: "JumpCommandResponse",
2556
2694
  params: [
2557
2695
  { name: "id", type: "string", required: true, description: "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).", positional: 0 }
2558
2696
  ]
@@ -2745,7 +2883,7 @@ var ACTIONS = {
2745
2883
  action: "unload_passenger",
2746
2884
  kind: "mutation",
2747
2885
  summary: "Put a passenger (or everyone) off the ship here — or hand them off to another ship or your faction's transit lounge for a connecting flight",
2748
- detailsType: "UnloadPassengerResponse",
2886
+ detailsType: "UnloadPassengerCommandResponse",
2749
2887
  params: [
2750
2888
  { name: "id", type: "string", required: true, description: '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.', positional: 0 },
2751
2889
  { name: "target", type: "string", required: false, description: `Optional connecting-flight handoff: "lounge" checks the passenger(s) into your faction's Transit Lounge here, or a ship ID/name transfers them to that docked ship (yours or a faction mate's, needs free berths). Fares and deadlines continue unchanged. Omit for a normal delivery/strand.` }
@@ -3044,6 +3182,19 @@ function buildCommands(dispatch) {
3044
3182
  switch_ship: bind("spacemolt_ship", "switch_ship"),
3045
3183
  view_ship_buy_orders: bind("spacemolt_ship", "view_ship_buy_orders")
3046
3184
  },
3185
+ spacemolt_shipping: {
3186
+ accept: bind("spacemolt_shipping", "accept"),
3187
+ cancel: bind("spacemolt_shipping", "cancel"),
3188
+ deliver: bind("spacemolt_shipping", "deliver"),
3189
+ get: bind("spacemolt_shipping", "get"),
3190
+ list: bind("spacemolt_shipping", "list"),
3191
+ pay_debt: bind("spacemolt_shipping", "pay_debt"),
3192
+ post: bind("spacemolt_shipping", "post"),
3193
+ profile: bind("spacemolt_shipping", "profile"),
3194
+ quote: bind("spacemolt_shipping", "quote"),
3195
+ return: bind("spacemolt_shipping", "return"),
3196
+ track: bind("spacemolt_shipping", "track")
3197
+ },
3047
3198
  spacemolt_social: {
3048
3199
  captains_log_add: bind("spacemolt_social", "captains_log_add"),
3049
3200
  captains_log_delete: bind("spacemolt_social", "captains_log_delete"),