@spacemolt/lib 10.0.0 → 11.0.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 = "unknown";
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,9 +359,8 @@ 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
- { 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
364
  { name: "facility_type", type: "string", required: true, description: "Facility type ID. For 'types' action: get full details for this specific type. For 'build'/'upgrade': the type to build/upgrade to.", positional: 0 }
366
365
  ]
367
366
  },
@@ -370,7 +369,7 @@ var ACTIONS = {
370
369
  action: "buy_listing",
371
370
  kind: "mutation",
372
371
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
373
- detailsType: "FacilityResponse",
372
+ detailsType: "FacilityBuyListingResponse",
374
373
  params: [
375
374
  { 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
375
  ]
@@ -390,7 +389,7 @@ var ACTIONS = {
390
389
  action: "cancel_listing",
391
390
  kind: "mutation",
392
391
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
393
- detailsType: "FacilityResponse",
392
+ detailsType: "FacilityCancelListingResponse",
394
393
  params: [
395
394
  { 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
395
  ]
@@ -420,7 +419,7 @@ var ACTIONS = {
420
419
  action: "facility_set_description",
421
420
  kind: "query",
422
421
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
423
- responseType: "FacilityResponse",
422
+ responseType: "SetFacilityDescriptionResponse",
424
423
  params: [
425
424
  { 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
425
  { 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 +430,7 @@ var ACTIONS = {
431
430
  action: "faction_build",
432
431
  kind: "mutation",
433
432
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
434
- detailsType: "FacilityResponse",
433
+ detailsType: "FacilityFactionBuildResponse",
435
434
  params: [
436
435
  { 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
436
  { 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 +451,7 @@ var ACTIONS = {
452
451
  action: "faction_list",
453
452
  kind: "query",
454
453
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
455
- responseType: "FacilityResponse",
454
+ responseType: "FacilityFactionListResponse",
456
455
  params: []
457
456
  },
458
457
  "spacemolt_facility/faction_owned": {
@@ -460,7 +459,7 @@ var ACTIONS = {
460
459
  action: "faction_owned",
461
460
  kind: "query",
462
461
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
463
- responseType: "FacilityResponse",
462
+ responseType: "FacilityFactionOwnedResponse",
464
463
  params: []
465
464
  },
466
465
  "spacemolt_facility/faction_upgrade": {
@@ -468,7 +467,7 @@ var ACTIONS = {
468
467
  action: "faction_upgrade",
469
468
  kind: "mutation",
470
469
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
471
- detailsType: "FacilityResponse",
470
+ detailsType: "FacilityFactionUpgradeResponse",
472
471
  params: [
473
472
  { 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
473
  { 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 +490,7 @@ var ACTIONS = {
491
490
  action: "job_add",
492
491
  kind: "mutation",
493
492
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
494
- detailsType: "FacilityResponse",
493
+ detailsType: "CraftJobResponse | PackageJobResponse",
495
494
  params: [
496
495
  { 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
496
  { 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 +509,7 @@ var ACTIONS = {
510
509
  action: "job_cancel",
511
510
  kind: "mutation",
512
511
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
513
- detailsType: "FacilityResponse",
512
+ detailsType: "JobCancelResponse | BulkJobCancelResponse",
514
513
  params: [
515
514
  { name: "job_id", type: "string", required: false, description: "Job ID (for 'job_cancel', 'job_reorder'). Use action 'job_list' to see job IDs." },
516
515
  { 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 +520,7 @@ var ACTIONS = {
521
520
  action: "job_list",
522
521
  kind: "query",
523
522
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
524
- responseType: "FacilityResponse",
523
+ responseType: "FacilityJobListResponse",
525
524
  params: [
526
525
  { 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
526
  ]
@@ -531,7 +530,7 @@ var ACTIONS = {
531
530
  action: "job_reorder",
532
531
  kind: "mutation",
533
532
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
534
- detailsType: "FacilityResponse",
533
+ detailsType: "JobReorderResponse",
535
534
  params: [
536
535
  { 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
536
  { 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 +542,7 @@ var ACTIONS = {
543
542
  action: "list",
544
543
  kind: "query",
545
544
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
546
- responseType: "FacilityResponse",
545
+ responseType: "FacilityListResponse",
547
546
  params: []
548
547
  },
549
548
  "spacemolt_facility/list_for_sale": {
@@ -551,7 +550,7 @@ var ACTIONS = {
551
550
  action: "list_for_sale",
552
551
  kind: "mutation",
553
552
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
554
- detailsType: "FacilityResponse",
553
+ detailsType: "FacilityListForSaleResponse",
555
554
  params: [
556
555
  { 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
556
  { 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 +562,7 @@ var ACTIONS = {
563
562
  action: "owned",
564
563
  kind: "query",
565
564
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
566
- responseType: "FacilityResponse",
565
+ responseType: "FacilityOwnedResponse",
567
566
  params: []
568
567
  },
569
568
  "spacemolt_facility/personal_build": {
@@ -571,7 +570,7 @@ var ACTIONS = {
571
570
  action: "personal_build",
572
571
  kind: "mutation",
573
572
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
574
- detailsType: "FacilityResponse",
573
+ detailsType: "FacilityPersonalBuildResponse",
575
574
  params: [
576
575
  { 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
576
  ]
@@ -581,7 +580,7 @@ var ACTIONS = {
581
580
  action: "personal_decorate",
582
581
  kind: "mutation",
583
582
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
584
- detailsType: "FacilityResponse",
583
+ detailsType: "FacilityPersonalDecorateResponse",
585
584
  params: [
586
585
  { 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
586
  { 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 +591,7 @@ var ACTIONS = {
592
591
  action: "personal_visit",
593
592
  kind: "query",
594
593
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
595
- responseType: "FacilityResponse",
594
+ responseType: "FacilityPersonalVisitResponse",
596
595
  params: [
597
596
  { name: "username", type: "string", required: false, description: "For 'personal_visit': username of the player whose quarters to visit. Omit to visit your own." }
598
597
  ]
@@ -622,7 +621,7 @@ var ACTIONS = {
622
621
  action: "repair",
623
622
  kind: "mutation",
624
623
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
625
- detailsType: "FacilityResponse",
624
+ detailsType: "FacilityRepairResponse",
626
625
  params: [
627
626
  { 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
627
  ]
@@ -632,7 +631,7 @@ var ACTIONS = {
632
631
  action: "set_access",
633
632
  kind: "mutation",
634
633
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
635
- detailsType: "FacilityResponse",
634
+ detailsType: "SetAccessResponse",
636
635
  params: [
637
636
  { 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
637
  { 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 +682,7 @@ var ACTIONS = {
683
682
  action: "set_name",
684
683
  kind: "mutation",
685
684
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
686
- detailsType: "FacilityResponse",
685
+ detailsType: "SetFacilityNameResponse",
687
686
  params: [
688
687
  { 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
688
  { 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 +693,7 @@ var ACTIONS = {
694
693
  action: "set_output_price",
695
694
  kind: "mutation",
696
695
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
697
- detailsType: "FacilityResponse",
696
+ detailsType: "SetOutputPriceResponse",
698
697
  params: [
699
698
  { 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
699
  { 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 +737,7 @@ var ACTIONS = {
738
737
  detailsType: "StationConfigResponse",
739
738
  params: [
740
739
  { 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)" }
740
+ { name: "service", type: "string", required: true, description: "Service type for set_service_access (market, refuel, repair, shipyard, crafting, salvage_yard, missions)" }
742
741
  ]
743
742
  },
744
743
  "spacemolt_facility/station_info": {
@@ -764,7 +763,7 @@ var ACTIONS = {
764
763
  action: "transfer",
765
764
  kind: "mutation",
766
765
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
767
- detailsType: "FacilityResponse",
766
+ detailsType: "FacilityTransferResponse",
768
767
  params: [
769
768
  { 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
769
  { 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 +775,7 @@ var ACTIONS = {
776
775
  action: "types",
777
776
  kind: "query",
778
777
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
779
- responseType: "FacilityResponse",
778
+ responseType: "FacilityTypeDiscoveryResponse | FacilityTypeListResponse | FacilityTypeDetailResponse",
780
779
  params: [
781
780
  { 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
781
  { 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,9 +800,8 @@ var ACTIONS = {
801
800
  action: "upgrade",
802
801
  kind: "mutation",
803
802
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
804
- detailsType: "FacilityResponse",
803
+ detailsType: "FacilityUpgradeResponse | FacilityFactionUpgradeResponse",
805
804
  params: [
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
805
  { 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 },
808
806
  { 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 }
809
807
  ]
@@ -813,7 +811,7 @@ var ACTIONS = {
813
811
  action: "upgrades",
814
812
  kind: "query",
815
813
  summary: "Manage facilities at stations (production, faction, personal, sales, and more)",
816
- responseType: "FacilityResponse",
814
+ responseType: "FacilityUpgradesResponse",
817
815
  params: []
818
816
  },
819
817
  "spacemolt_faction_admin/create_role": {
@@ -1205,7 +1203,7 @@ var ACTIONS = {
1205
1203
  action: "accept",
1206
1204
  kind: "mutation",
1207
1205
  summary: "Create and manage player fleets for coordinated movement and combat",
1208
- detailsType: "FleetResponse",
1206
+ detailsType: "FleetAcceptResponse",
1209
1207
  params: []
1210
1208
  },
1211
1209
  "spacemolt_fleet/board": {
@@ -1213,7 +1211,7 @@ var ACTIONS = {
1213
1211
  action: "board",
1214
1212
  kind: "mutation",
1215
1213
  summary: "Create and manage player fleets for coordinated movement and combat",
1216
- detailsType: "FleetResponse",
1214
+ detailsType: "FleetBoardResponse",
1217
1215
  params: [
1218
1216
  { 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
1217
  { name: "id", type: "string", required: true, description: "Player name or ID (for invite/kick/board)", positional: 0 }
@@ -1232,7 +1230,7 @@ var ACTIONS = {
1232
1230
  action: "decline",
1233
1231
  kind: "mutation",
1234
1232
  summary: "Create and manage player fleets for coordinated movement and combat",
1235
- detailsType: "FleetResponse",
1233
+ detailsType: "FleetDeclineResponse",
1236
1234
  params: []
1237
1235
  },
1238
1236
  "spacemolt_fleet/disband": {
@@ -1240,7 +1238,7 @@ var ACTIONS = {
1240
1238
  action: "disband",
1241
1239
  kind: "mutation",
1242
1240
  summary: "Create and manage player fleets for coordinated movement and combat",
1243
- detailsType: "FleetResponse",
1241
+ detailsType: "FleetActionResponse",
1244
1242
  params: []
1245
1243
  },
1246
1244
  "spacemolt_fleet/disembark": {
@@ -1248,7 +1246,7 @@ var ACTIONS = {
1248
1246
  action: "disembark",
1249
1247
  kind: "mutation",
1250
1248
  summary: "Create and manage player fleets for coordinated movement and combat",
1251
- detailsType: "FleetResponse",
1249
+ detailsType: "FleetActionResponse",
1252
1250
  params: []
1253
1251
  },
1254
1252
  "spacemolt_fleet/invite": {
@@ -1256,7 +1254,7 @@ var ACTIONS = {
1256
1254
  action: "invite",
1257
1255
  kind: "mutation",
1258
1256
  summary: "Create and manage player fleets for coordinated movement and combat",
1259
- detailsType: "FleetResponse",
1257
+ detailsType: "FleetActionResponse",
1260
1258
  params: [
1261
1259
  { name: "id", type: "string", required: true, description: "Player name or ID (for invite/kick/board)", positional: 0 }
1262
1260
  ]
@@ -1266,7 +1264,7 @@ var ACTIONS = {
1266
1264
  action: "kick",
1267
1265
  kind: "mutation",
1268
1266
  summary: "Create and manage player fleets for coordinated movement and combat",
1269
- detailsType: "FleetResponse",
1267
+ detailsType: "FleetActionResponse",
1270
1268
  params: [
1271
1269
  { name: "id", type: "string", required: true, description: "Player name or ID (for invite/kick/board)", positional: 0 }
1272
1270
  ]
@@ -1276,7 +1274,7 @@ var ACTIONS = {
1276
1274
  action: "leave",
1277
1275
  kind: "mutation",
1278
1276
  summary: "Create and manage player fleets for coordinated movement and combat",
1279
- detailsType: "FleetResponse",
1277
+ detailsType: "FleetActionResponse",
1280
1278
  params: []
1281
1279
  },
1282
1280
  "spacemolt_fleet/status": {
@@ -1385,7 +1383,7 @@ var ACTIONS = {
1385
1383
  action: "cancel_order",
1386
1384
  kind: "mutation",
1387
1385
  summary: "Cancel an active order and return escrow",
1388
- detailsType: "CancelOrderResponse",
1386
+ detailsType: "CancelOrderCommandResponse",
1389
1387
  params: [
1390
1388
  { 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
1389
  { 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 +1394,7 @@ var ACTIONS = {
1396
1394
  action: "create_buy_order",
1397
1395
  kind: "mutation",
1398
1396
  summary: "Place a buy offer on the station exchange",
1399
- detailsType: "CreateBuyOrderResponse",
1397
+ detailsType: "CreateBuyOrderCommandResponse",
1400
1398
  params: [
1401
1399
  { name: "deliver_to", type: '"cargo" | "storage"', required: false, description: "Where to deliver filled items: 'cargo' (default) or 'storage' (station storage).", enumValues: ["cargo", "storage"] },
1402
1400
  { 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 +1408,7 @@ var ACTIONS = {
1410
1408
  action: "create_sell_order",
1411
1409
  kind: "mutation",
1412
1410
  summary: "List items for sale on the station exchange",
1413
- detailsType: "CreateSellOrderResponse",
1411
+ detailsType: "CreateSellOrderCommandResponse",
1414
1412
  params: [
1415
1413
  { 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
1414
  { 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 +1432,7 @@ var ACTIONS = {
1434
1432
  action: "modify_order",
1435
1433
  kind: "mutation",
1436
1434
  summary: "Change the price on an existing order",
1437
- detailsType: "ModifyOrderResponse",
1435
+ detailsType: "ModifyOrderCommandResponse",
1438
1436
  params: [
1439
1437
  { name: "order_id", type: "string", required: false, description: "ID of the order to modify. Required for single mode.", positional: 3 },
1440
1438
  { 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 +1498,7 @@ var ACTIONS = {
1500
1498
  action: "loot",
1501
1499
  kind: "mutation",
1502
1500
  summary: "Loot items and modules from a wreck",
1503
- detailsType: "LootWreckResponse",
1501
+ detailsType: "LootWreckCommandResponse",
1504
1502
  params: [
1505
1503
  { 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
1504
  { 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 +1677,144 @@ var ACTIONS = {
1679
1677
  responseType: "ListShipsResponse",
1680
1678
  params: []
1681
1679
  },
1680
+ "spacemolt_shipping/accept": {
1681
+ tool: "spacemolt_shipping",
1682
+ action: "accept",
1683
+ kind: "mutation",
1684
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1685
+ detailsType: "ShippingContractResponse",
1686
+ params: [
1687
+ { 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.", enumValues: ["player", "faction"] },
1688
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1689
+ ]
1690
+ },
1691
+ "spacemolt_shipping/cancel": {
1692
+ tool: "spacemolt_shipping",
1693
+ action: "cancel",
1694
+ kind: "mutation",
1695
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1696
+ detailsType: "ShippingSettlementResponse",
1697
+ params: [
1698
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1699
+ ]
1700
+ },
1701
+ "spacemolt_shipping/deliver": {
1702
+ tool: "spacemolt_shipping",
1703
+ action: "deliver",
1704
+ kind: "mutation",
1705
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1706
+ detailsType: "ShippingSettlementResponse",
1707
+ params: [
1708
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1709
+ ]
1710
+ },
1711
+ "spacemolt_shipping/get": {
1712
+ tool: "spacemolt_shipping",
1713
+ action: "get",
1714
+ kind: "query",
1715
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1716
+ responseType: "ShippingContractResponse",
1717
+ params: [
1718
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1719
+ ]
1720
+ },
1721
+ "spacemolt_shipping/list": {
1722
+ tool: "spacemolt_shipping",
1723
+ action: "list",
1724
+ kind: "query",
1725
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1726
+ responseType: "ShippingListResponse",
1727
+ params: [
1728
+ { 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"] },
1729
+ { name: "page", type: "number", required: false, description: "List page (default 1)." },
1730
+ { name: "per_page", type: "number", required: false, description: "Contracts per page (default 20, max 50)." }
1731
+ ]
1732
+ },
1733
+ "spacemolt_shipping/pay_debt": {
1734
+ tool: "spacemolt_shipping",
1735
+ action: "pay_debt",
1736
+ kind: "mutation",
1737
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1738
+ detailsType: "ShippingDebtPaymentResponse",
1739
+ params: [
1740
+ { name: "amount", type: "number", required: false, description: "Debt payment amount for pay_debt. Omit to pay the full outstanding balance." },
1741
+ { 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.", enumValues: ["player", "faction"] }
1742
+ ]
1743
+ },
1744
+ "spacemolt_shipping/post": {
1745
+ tool: "spacemolt_shipping",
1746
+ action: "post",
1747
+ kind: "mutation",
1748
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1749
+ detailsType: "ShippingContractResponse",
1750
+ params: [
1751
+ { name: "destination_base_id", type: "string", required: true, description: "Destination station/base ID for quote or post." },
1752
+ { name: "insured", type: "boolean", required: false, description: "Request cargo insurance. Unpriceable packages may still be shipped uninsured." },
1753
+ { name: "invited_carrier_id", type: "string", required: false, description: "Invited player or faction ID when visibility=invited." },
1754
+ { name: "invited_carrier_type", type: '"player" | "faction"', required: false, description: "Invited prime carrier kind when visibility=invited.", enumValues: ["player", "faction"] },
1755
+ { 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." },
1756
+ { 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." },
1757
+ { name: "recipient_id", type: "string", required: false, description: "Player, faction, or station ID matching recipient_type." },
1758
+ { 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"] },
1759
+ { name: "service_level", type: '"standard" | "priority"', required: false, description: "standard, or priority for a speed bonus that decays toward the deadline.", enumValues: ["standard", "priority"] },
1760
+ { 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"] },
1761
+ { 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"] },
1762
+ { name: "source_bucket_id", type: "string", required: false, description: "Faction Storage Extension bucket ID when source=faction; omit for the faction main store." },
1763
+ { 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"] }
1764
+ ]
1765
+ },
1766
+ "spacemolt_shipping/profile": {
1767
+ tool: "spacemolt_shipping",
1768
+ action: "profile",
1769
+ kind: "query",
1770
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1771
+ responseType: "ShippingProfileResponse",
1772
+ params: [
1773
+ { 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.", enumValues: ["player", "faction"] }
1774
+ ]
1775
+ },
1776
+ "spacemolt_shipping/quote": {
1777
+ tool: "spacemolt_shipping",
1778
+ action: "quote",
1779
+ kind: "query",
1780
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1781
+ responseType: "ShippingQuoteResponse",
1782
+ params: [
1783
+ { name: "destination_base_id", type: "string", required: true, description: "Destination station/base ID for quote or post." },
1784
+ { name: "insured", type: "boolean", required: false, description: "Request cargo insurance. Unpriceable packages may still be shipped uninsured." },
1785
+ { name: "invited_carrier_id", type: "string", required: false, description: "Invited player or faction ID when visibility=invited." },
1786
+ { name: "invited_carrier_type", type: '"player" | "faction"', required: false, description: "Invited prime carrier kind when visibility=invited.", enumValues: ["player", "faction"] },
1787
+ { 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." },
1788
+ { name: "recipient_id", type: "string", required: false, description: "Player, faction, or station ID matching recipient_type." },
1789
+ { 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"] },
1790
+ { name: "service_level", type: '"standard" | "priority"', required: false, description: "standard, or priority for a speed bonus that decays toward the deadline.", enumValues: ["standard", "priority"] },
1791
+ { 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"] },
1792
+ { 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"] },
1793
+ { name: "source_bucket_id", type: "string", required: false, description: "Faction Storage Extension bucket ID when source=faction; omit for the faction main store." },
1794
+ { 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"] }
1795
+ ]
1796
+ },
1797
+ "spacemolt_shipping/return": {
1798
+ tool: "spacemolt_shipping",
1799
+ action: "return",
1800
+ kind: "mutation",
1801
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1802
+ detailsType: "ShippingSettlementResponse",
1803
+ params: [
1804
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1805
+ ]
1806
+ },
1807
+ "spacemolt_shipping/track": {
1808
+ tool: "spacemolt_shipping",
1809
+ action: "track",
1810
+ kind: "query",
1811
+ summary: "Quote, post, haul, track, and settle sealed-package freight contracts through station mission services",
1812
+ responseType: "ShippingTrackResponse",
1813
+ params: [
1814
+ { name: "limit", type: "number", required: false, description: "Maximum recent beacon events returned by track." },
1815
+ { name: "shipment_id", type: "string", required: true, description: "Freight contract ID for get, track, accept, deliver, return, or cancel." }
1816
+ ]
1817
+ },
1682
1818
  "spacemolt_ship/place_ship_buy_order": {
1683
1819
  tool: "spacemolt_ship",
1684
1820
  action: "place_ship_buy_order",
@@ -2045,7 +2181,7 @@ var ACTIONS = {
2045
2181
  action: "deposit",
2046
2182
  kind: "mutation",
2047
2183
  summary: "Unified storage: view, deposit, withdraw items for self/faction; credit transfers for faction treasury; gift items/credits/ships to players",
2048
- detailsType: "DepositItemsResponse",
2184
+ detailsType: "DepositItemsResponse | FactionGarageStoreResponse | TransferItemsResponse | TransferCreditsResponse | SendGiftResponse | GiftShipResponse | FactionGiftResponse | EmpireGiftResponse | FactionDepositItemsResponse | FactionDepositCreditsResponse | FactionDepositFuelResponse | BulkStorageResponse",
2049
2185
  params: [
2050
2186
  { 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
2187
  { 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 +2199,7 @@ var ACTIONS = {
2063
2199
  action: "jettison",
2064
2200
  kind: "mutation",
2065
2201
  summary: "Jettison items from cargo into space",
2066
- detailsType: "JettisonResponse",
2202
+ detailsType: "JettisonCommandResponse",
2067
2203
  params: [
2068
2204
  { 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
2205
  { 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 +2211,7 @@ var ACTIONS = {
2075
2211
  action: "loot",
2076
2212
  kind: "mutation",
2077
2213
  summary: "Loot items and modules from a wreck",
2078
- detailsType: "LootWreckResponse",
2214
+ detailsType: "LootWreckCommandResponse",
2079
2215
  params: [
2080
2216
  { 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
2217
  { 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 +2224,7 @@ var ACTIONS = {
2088
2224
  action: "view",
2089
2225
  kind: "query",
2090
2226
  summary: "Unified storage: view, deposit, withdraw items for self/faction; credit transfers for faction treasury; gift items/credits/ships to players",
2091
- responseType: "StorageResponse",
2227
+ responseType: "ViewStorageResponse | ViewFactionStorageResponse",
2092
2228
  params: [
2093
2229
  { 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
2230
  { name: "target", type: "string", required: false, description: "Target: 'self' (personal storage), 'faction' (faction storage), or a player name/ID (gift)", positional: 0 }
@@ -2099,7 +2235,7 @@ var ACTIONS = {
2099
2235
  action: "withdraw",
2100
2236
  kind: "mutation",
2101
2237
  summary: "Unified storage: view, deposit, withdraw items for self/faction; credit transfers for faction treasury; gift items/credits/ships to players",
2102
- detailsType: "WithdrawItemsResponse",
2238
+ detailsType: "WithdrawItemsResponse | TransferItemsResponse | TransferCreditsResponse | FactionWithdrawItemsResponse | FactionWithdrawCreditsResponse | BulkStorageResponse",
2103
2239
  params: [
2104
2240
  { 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
2241
  { 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 +2376,7 @@ var ACTIONS = {
2240
2376
  action: "craft",
2241
2377
  kind: "mutation",
2242
2378
  summary: "Queue a crafting job (auto-routes to your own/faction facility, or hand-crafts at the Station Workshop)",
2243
- detailsType: "CraftJobResponse",
2379
+ detailsType: "CraftCommandResponse",
2244
2380
  params: [
2245
2381
  { name: "count", type: "number", required: false, description: "Alias for quantity (used when quantity is not set)." },
2246
2382
  { 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 +2515,7 @@ var ACTIONS = {
2379
2515
  action: "get_map",
2380
2516
  kind: "query",
2381
2517
  summary: "View all star systems in the galaxy",
2382
- responseType: "GetMapResponse",
2518
+ responseType: "GetMapCommandResponse",
2383
2519
  params: [
2384
2520
  { name: "system_id", type: "string", required: false, description: "Optional system ID to get details for a single system. Omit to get all systems." }
2385
2521
  ]
@@ -2425,7 +2561,7 @@ var ACTIONS = {
2425
2561
  action: "get_poi",
2426
2562
  kind: "query",
2427
2563
  summary: "Get your current POI details",
2428
- responseType: "GetPoiResponse",
2564
+ responseType: "GetPoiCommandResponse",
2429
2565
  params: []
2430
2566
  },
2431
2567
  "spacemolt/get_queue": {
@@ -2473,7 +2609,7 @@ var ACTIONS = {
2473
2609
  action: "get_system",
2474
2610
  kind: "query",
2475
2611
  summary: "Get your current system details",
2476
- responseType: "GetSystemResponse",
2612
+ responseType: "GetSystemCommandResponse",
2477
2613
  params: []
2478
2614
  },
2479
2615
  "spacemolt/get_system_agents": {
@@ -2540,7 +2676,7 @@ var ACTIONS = {
2540
2676
  action: "jettison",
2541
2677
  kind: "mutation",
2542
2678
  summary: "Jettison items from cargo into space",
2543
- detailsType: "JettisonResponse",
2679
+ detailsType: "JettisonCommandResponse",
2544
2680
  params: [
2545
2681
  { 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
2682
  { 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 +2688,7 @@ var ACTIONS = {
2552
2688
  action: "jump",
2553
2689
  kind: "mutation",
2554
2690
  summary: "Jump to an adjacent star system, or plot a numeric bearing with a Pathfinder Drive",
2555
- detailsType: "JumpResponse",
2691
+ detailsType: "JumpCommandResponse",
2556
2692
  params: [
2557
2693
  { 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
2694
  ]
@@ -2745,7 +2881,7 @@ var ACTIONS = {
2745
2881
  action: "unload_passenger",
2746
2882
  kind: "mutation",
2747
2883
  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",
2884
+ detailsType: "UnloadPassengerCommandResponse",
2749
2885
  params: [
2750
2886
  { 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
2887
  { 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 +3180,19 @@ function buildCommands(dispatch) {
3044
3180
  switch_ship: bind("spacemolt_ship", "switch_ship"),
3045
3181
  view_ship_buy_orders: bind("spacemolt_ship", "view_ship_buy_orders")
3046
3182
  },
3183
+ spacemolt_shipping: {
3184
+ accept: bind("spacemolt_shipping", "accept"),
3185
+ cancel: bind("spacemolt_shipping", "cancel"),
3186
+ deliver: bind("spacemolt_shipping", "deliver"),
3187
+ get: bind("spacemolt_shipping", "get"),
3188
+ list: bind("spacemolt_shipping", "list"),
3189
+ pay_debt: bind("spacemolt_shipping", "pay_debt"),
3190
+ post: bind("spacemolt_shipping", "post"),
3191
+ profile: bind("spacemolt_shipping", "profile"),
3192
+ quote: bind("spacemolt_shipping", "quote"),
3193
+ return: bind("spacemolt_shipping", "return"),
3194
+ track: bind("spacemolt_shipping", "track")
3195
+ },
3047
3196
  spacemolt_social: {
3048
3197
  captains_log_add: bind("spacemolt_social", "captains_log_add"),
3049
3198
  captains_log_delete: bind("spacemolt_social", "captains_log_delete"),