@shipload/sdk 1.0.0-next.51 → 1.0.0-next.53

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.
Files changed (60) hide show
  1. package/lib/shipload.d.ts +471 -158
  2. package/lib/shipload.js +2320 -485
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +2290 -484
  5. package/lib/shipload.m.js.map +1 -1
  6. package/lib/testing.d.ts +123 -8
  7. package/lib/testing.js +450 -19
  8. package/lib/testing.js.map +1 -1
  9. package/lib/testing.m.js +451 -20
  10. package/lib/testing.m.js.map +1 -1
  11. package/package.json +1 -1
  12. package/src/capabilities/crafting.ts +10 -1
  13. package/src/capabilities/gathering.ts +1 -1
  14. package/src/capabilities/hauling.ts +0 -5
  15. package/src/capabilities/modules.ts +6 -0
  16. package/src/capabilities/movement.ts +1 -1
  17. package/src/contracts/server.ts +293 -13
  18. package/src/data/capabilities.ts +18 -2
  19. package/src/data/capability-formulas.ts +5 -0
  20. package/src/data/entities.json +235 -20
  21. package/src/data/item-ids.ts +10 -0
  22. package/src/data/items.json +61 -0
  23. package/src/data/kind-registry.json +53 -1
  24. package/src/data/kind-registry.ts +5 -0
  25. package/src/data/metadata.ts +74 -5
  26. package/src/data/recipes-runtime.ts +1 -0
  27. package/src/data/recipes.json +895 -119
  28. package/src/derivation/capabilities.test.ts +105 -4
  29. package/src/derivation/capabilities.ts +162 -57
  30. package/src/derivation/capability-mappings.ts +2 -0
  31. package/src/derivation/crafting.ts +2 -0
  32. package/src/derivation/recipe-usage.test.ts +10 -7
  33. package/src/derivation/rollups.ts +16 -0
  34. package/src/derivation/stat-scaling.ts +12 -0
  35. package/src/entities/makers.ts +10 -1
  36. package/src/index-module.ts +29 -3
  37. package/src/managers/actions.ts +77 -46
  38. package/src/managers/construction-types.ts +2 -2
  39. package/src/managers/construction.ts +15 -15
  40. package/src/managers/plot.ts +1 -1
  41. package/src/nft/buildImmutableData.ts +55 -9
  42. package/src/nft/description.ts +99 -36
  43. package/src/planner/planner.test.ts +50 -41
  44. package/src/resolution/resolve-item.test.ts +1 -1
  45. package/src/resolution/resolve-item.ts +26 -11
  46. package/src/scheduling/availability.ts +7 -6
  47. package/src/scheduling/cancel.test.ts +40 -6
  48. package/src/scheduling/cancel.ts +21 -29
  49. package/src/scheduling/jobs.ts +71 -0
  50. package/src/scheduling/lanes.ts +29 -0
  51. package/src/scheduling/projection.ts +42 -25
  52. package/src/scheduling/task-cargo.ts +1 -1
  53. package/src/testing/projection-parity.ts +2 -2
  54. package/src/travel/reach.ts +4 -6
  55. package/src/travel/route-planner.ts +60 -49
  56. package/src/travel/route-simulator.ts +3 -7
  57. package/src/travel/travel.ts +14 -5
  58. package/src/types/capabilities.ts +9 -3
  59. package/src/types.ts +5 -3
  60. package/src/managers/flatten-gather-plan.test.ts +0 -80
package/lib/shipload.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _wharfkit_antelope from '@wharfkit/antelope';
2
- import { Blob, ABI, Struct, Name, Asset, UInt64, Checksum256, UInt32, TimePointSec, ExtendedAsset, Checksum256Type, UInt32Type, NameType, UInt64Type, AssetType, ExtendedAssetType, Action, UInt16, UInt8, Int64, TimePoint, Int8, BlockTimestamp, Bytes, Int32, UInt16Type, UInt8Type, Int8Type, Int64Type, TimePointType, Int32Type, Checksum512, Transaction, APIClient } from '@wharfkit/antelope';
2
+ import { Blob, ABI, Struct, Name, Asset, UInt64, Checksum256, UInt32, TimePointSec, ExtendedAsset, Checksum256Type, UInt32Type, NameType, UInt64Type, AssetType, ExtendedAssetType, Action, UInt16, UInt8, Int64, TimePoint, Int8, Bytes, BlockTimestamp, Int32, UInt16Type, UInt8Type, Int8Type, Int64Type, TimePointType, BytesType, Int32Type, Checksum512, APIClient } from '@wharfkit/antelope';
3
3
  import * as _wharfkit_contract from '@wharfkit/contract';
4
4
  import { Contract as Contract$2, PartialBy, ContractArgs, ActionOptions, Table } from '@wharfkit/contract';
5
5
  import { ChainDefinition } from '@wharfkit/common';
@@ -354,6 +354,12 @@ declare namespace Types {
354
354
  id: UInt64;
355
355
  inputs: cargo_item[];
356
356
  }
357
+ class builder_lane extends Struct {
358
+ slot_index: UInt8;
359
+ speed: UInt16;
360
+ drain: UInt32;
361
+ output_pct: UInt16;
362
+ }
357
363
  class buildplot extends Struct {
358
364
  builder_id: UInt64;
359
365
  plot_id: UInt64;
@@ -375,6 +381,10 @@ declare namespace Types {
375
381
  entitygroup?: UInt64;
376
382
  group_members?: entity_ref[];
377
383
  }
384
+ class canceljob extends Struct {
385
+ job_id: UInt64;
386
+ ship_id: UInt64;
387
+ }
378
388
  class cargo_row extends Struct {
379
389
  id: UInt64;
380
390
  entity_id: UInt64;
@@ -392,9 +402,16 @@ declare namespace Types {
392
402
  id: UInt64;
393
403
  entity_id?: UInt64;
394
404
  }
405
+ class civicconfig_row extends Struct {
406
+ civic_owner: Name;
407
+ }
395
408
  class claim_row extends Struct {
396
409
  owner: Name;
397
410
  }
411
+ class claimjob extends Struct {
412
+ job_id: UInt64;
413
+ ship_id: UInt64;
414
+ }
398
415
  class cluster_slot extends Struct {
399
416
  hub: UInt64;
400
417
  gx: Int8;
@@ -461,6 +478,11 @@ declare namespace Types {
461
478
  y: Int64;
462
479
  z?: UInt16;
463
480
  }
481
+ class coupling extends Struct {
482
+ counterpart: entity_ref;
483
+ hold: UInt64;
484
+ kind: UInt8;
485
+ }
464
486
  class craft extends Struct {
465
487
  id: UInt64;
466
488
  recipe_id: UInt16;
@@ -475,6 +497,17 @@ declare namespace Types {
475
497
  drain: UInt32;
476
498
  output_pct: UInt16;
477
499
  }
500
+ class craftjob extends Struct {
501
+ ship_id: UInt64;
502
+ workshop_id: UInt64;
503
+ slot: UInt8;
504
+ recipe_id: UInt16;
505
+ quantity: UInt32;
506
+ inputs: cargo_item[];
507
+ }
508
+ class delentity extends Struct {
509
+ entity_id: UInt64;
510
+ }
478
511
  class demolish extends Struct {
479
512
  entity_id: UInt64;
480
513
  }
@@ -541,10 +574,10 @@ declare namespace Types {
541
574
  cancelable: UInt8;
542
575
  coordinates?: coordinates;
543
576
  cargo: cargo_item[];
544
- entitytarget?: entity_ref;
577
+ couplings: coupling[];
578
+ subject?: entity_ref;
545
579
  entitygroup?: UInt64;
546
580
  energy_cost?: UInt32;
547
- hold?: UInt64;
548
581
  target_item_id?: UInt16;
549
582
  }
550
583
  class schedule extends Struct {
@@ -581,6 +614,7 @@ declare namespace Types {
581
614
  hauler?: hauler_stats;
582
615
  gatherer_lanes: gatherer_lane[];
583
616
  crafter_lanes: crafter_lane[];
617
+ builder_lanes: builder_lane[];
584
618
  loader_lanes: loader_lane[];
585
619
  launcher?: launcher_stats;
586
620
  lanes: lane[];
@@ -594,6 +628,7 @@ declare namespace Types {
594
628
  class entity_layout extends Struct {
595
629
  entity_item_id: UInt16;
596
630
  slots: slot_def[];
631
+ base_hullmass: UInt32;
597
632
  }
598
633
  class entity_layouts_result extends Struct {
599
634
  entities: entity_layout[];
@@ -628,7 +663,7 @@ declare namespace Types {
628
663
  class entity_task_info extends Struct {
629
664
  entity_id: UInt64;
630
665
  entity_type: Name;
631
- task_count: UInt8;
666
+ task_count: UInt32;
632
667
  schedule_started: TimePoint;
633
668
  }
634
669
  class entitygroup_row extends Struct {
@@ -668,6 +703,14 @@ declare namespace Types {
668
703
  quantity: UInt32;
669
704
  slot?: UInt8;
670
705
  }
706
+ class gatherplan extends Struct {
707
+ source_id: UInt64;
708
+ destination_id: UInt64;
709
+ stratum: UInt16;
710
+ quantity: UInt32;
711
+ recharge: boolean;
712
+ slots: Bytes;
713
+ }
671
714
  class genesisfleet extends Struct {
672
715
  entities: entity_row[];
673
716
  }
@@ -713,6 +756,9 @@ declare namespace Types {
713
756
  }
714
757
  class getitemtypes extends Struct {
715
758
  }
759
+ class getjobs extends Struct {
760
+ workshop_id: UInt64;
761
+ }
716
762
  class getkindmeta extends Struct {
717
763
  }
718
764
  class getlocation extends Struct {
@@ -757,6 +803,9 @@ declare namespace Types {
757
803
  }
758
804
  class getresources extends Struct {
759
805
  }
806
+ class getservice extends Struct {
807
+ workshop_id: UInt64;
808
+ }
760
809
  class getslots extends Struct {
761
810
  }
762
811
  class getstratum extends Struct {
@@ -794,6 +843,12 @@ declare namespace Types {
794
843
  class importcargo extends Struct {
795
844
  row: cargo_row;
796
845
  }
846
+ class importcell extends Struct {
847
+ root: UInt64;
848
+ gx: Int8;
849
+ gy: Int8;
850
+ entity_id: UInt64;
851
+ }
797
852
  class importentity extends Struct {
798
853
  row: entity_row;
799
854
  }
@@ -864,6 +919,28 @@ declare namespace Types {
864
919
  class items_info extends Struct {
865
920
  items: item_def[];
866
921
  }
922
+ class job_receipt extends Struct {
923
+ job_id: UInt64;
924
+ starts_at: TimePoint;
925
+ completes_at: TimePoint;
926
+ }
927
+ class job_row extends Struct {
928
+ id: UInt64;
929
+ workshop: UInt64;
930
+ socket: UInt8;
931
+ owner: Name;
932
+ ship_id: UInt64;
933
+ coords: coordinates;
934
+ starts_at: TimePoint;
935
+ completes_at: TimePoint;
936
+ recipe_id: UInt16;
937
+ quantity: UInt32;
938
+ energy_paid: UInt32;
939
+ cargo: cargo_item[];
940
+ }
941
+ class jobs_result extends Struct {
942
+ jobs: job_row[];
943
+ }
867
944
  class join extends Struct {
868
945
  account: Name;
869
946
  }
@@ -909,6 +986,12 @@ declare namespace Types {
909
986
  is_system: boolean;
910
987
  is_wormhole: boolean;
911
988
  }
989
+ class migratetasks extends Struct {
990
+ batch: UInt32;
991
+ }
992
+ class migswap extends Struct {
993
+ batch: UInt32;
994
+ }
912
995
  class module_info extends Struct {
913
996
  id: UInt16;
914
997
  mass: UInt32;
@@ -1027,6 +1110,7 @@ declare namespace Types {
1027
1110
  hauler?: hauler_stats;
1028
1111
  gatherer_lanes: gatherer_lane[];
1029
1112
  crafter_lanes: crafter_lane[];
1113
+ builder_lanes: builder_lane[];
1030
1114
  loader_lanes: loader_lane[];
1031
1115
  launcher?: launcher_stats;
1032
1116
  tier: UInt8;
@@ -1100,6 +1184,16 @@ declare namespace Types {
1100
1184
  x: Int64;
1101
1185
  y: Int64;
1102
1186
  }
1187
+ class service_socket extends Struct {
1188
+ open: boolean;
1189
+ }
1190
+ class service_row extends Struct {
1191
+ entity: UInt64;
1192
+ sockets: service_socket[];
1193
+ }
1194
+ class setcivic extends Struct {
1195
+ account: Name;
1196
+ }
1103
1197
  class setcoords extends Struct {
1104
1198
  entity_id: UInt64;
1105
1199
  x: Int64;
@@ -1110,6 +1204,11 @@ declare namespace Types {
1110
1204
  template_id: Int32;
1111
1205
  schema_name: Name;
1112
1206
  }
1207
+ class setsocket extends Struct {
1208
+ workshop_id: UInt64;
1209
+ slot: UInt8;
1210
+ open: boolean;
1211
+ }
1113
1212
  class setthreshold extends Struct {
1114
1213
  threshold: UInt8;
1115
1214
  }
@@ -1122,6 +1221,12 @@ declare namespace Types {
1122
1221
  fee_pct: UInt16;
1123
1222
  fee_account: Name;
1124
1223
  }
1224
+ class shuttle extends Struct {
1225
+ carrier: UInt64;
1226
+ from_id: UInt64;
1227
+ to_id: UInt64;
1228
+ items: cargo_item[];
1229
+ }
1125
1230
  class stowcargo extends Struct {
1126
1231
  owner: Name;
1127
1232
  entity_id: UInt64;
@@ -1178,7 +1283,7 @@ declare namespace Types {
1178
1283
  y: Int64;
1179
1284
  recharge: boolean;
1180
1285
  }
1181
- class travelroute extends Struct {
1286
+ class travelplan extends Struct {
1182
1287
  entities: entity_ref[];
1183
1288
  waypoints: route_waypoint[];
1184
1289
  recharge: boolean;
@@ -1230,19 +1335,23 @@ declare namespace Types {
1230
1335
  }
1231
1336
  declare const TableMap: {
1232
1337
  cargo: typeof Types.cargo_row;
1338
+ civicconfig: typeof Types.civicconfig_row;
1233
1339
  claims: typeof Types.claim_row;
1234
1340
  cluster: typeof Types.cluster_row;
1235
1341
  commit: typeof Types.commit_row;
1236
1342
  entity: typeof Types.entity_row;
1343
+ 'entity.mig': typeof Types.entity_row;
1237
1344
  entitygroup: typeof Types.entitygroup_row;
1238
1345
  entityseq: typeof Types.entity_seq_row;
1239
1346
  epoch: typeof Types.epoch_row;
1347
+ jobs: typeof Types.job_row;
1240
1348
  nftconfig: typeof Types.nftconfig_row;
1241
1349
  oraclecfg: typeof Types.oracle_config_row;
1242
1350
  oracles: typeof Types.oracle_row;
1243
1351
  player: typeof Types.player_row;
1244
1352
  reserve: typeof Types.reserve_row;
1245
1353
  reveal: typeof Types.reveal_row;
1354
+ service: typeof Types.service_row;
1246
1355
  state: typeof Types.state_row;
1247
1356
  types: typeof Types.types_row;
1248
1357
  wrapconfig: typeof Types.wrapconfig_row;
@@ -1250,19 +1359,23 @@ declare const TableMap: {
1250
1359
  };
1251
1360
  interface TableTypes {
1252
1361
  cargo: Types.cargo_row;
1362
+ civicconfig: Types.civicconfig_row;
1253
1363
  claims: Types.claim_row;
1254
1364
  cluster: Types.cluster_row;
1255
1365
  commit: Types.commit_row;
1256
1366
  entity: Types.entity_row;
1367
+ 'entity.mig': Types.entity_row;
1257
1368
  entitygroup: Types.entitygroup_row;
1258
1369
  entityseq: Types.entity_seq_row;
1259
1370
  epoch: Types.epoch_row;
1371
+ jobs: Types.job_row;
1260
1372
  nftconfig: Types.nftconfig_row;
1261
1373
  oraclecfg: Types.oracle_config_row;
1262
1374
  oracles: Types.oracle_row;
1263
1375
  player: Types.player_row;
1264
1376
  reserve: Types.reserve_row;
1265
1377
  reveal: Types.reveal_row;
1378
+ service: Types.service_row;
1266
1379
  state: Types.state_row;
1267
1380
  types: Types.types_row;
1268
1381
  wrapconfig: Types.wrapconfig_row;
@@ -1347,12 +1460,17 @@ declare namespace ActionParams {
1347
1460
  cancelable: UInt8Type;
1348
1461
  coordinates?: Type.coordinates;
1349
1462
  cargo: Type.cargo_item[];
1350
- entitytarget?: Type.entity_ref;
1463
+ couplings: Type.coupling[];
1464
+ subject?: Type.entity_ref;
1351
1465
  entitygroup?: UInt64Type;
1352
1466
  energy_cost?: UInt32Type;
1353
- hold?: UInt64Type;
1354
1467
  target_item_id?: UInt16Type;
1355
1468
  }
1469
+ interface coupling {
1470
+ counterpart: Type.entity_ref;
1471
+ hold: UInt64Type;
1472
+ kind: UInt8Type;
1473
+ }
1356
1474
  interface entity_ref {
1357
1475
  entity_type: NameType;
1358
1476
  entity_id: UInt64Type;
@@ -1433,6 +1551,14 @@ declare namespace ActionParams {
1433
1551
  lane_key: UInt8Type;
1434
1552
  count: UInt64Type;
1435
1553
  }
1554
+ interface canceljob {
1555
+ job_id: UInt64Type;
1556
+ ship_id: UInt64Type;
1557
+ }
1558
+ interface claimjob {
1559
+ job_id: UInt64Type;
1560
+ ship_id: UInt64Type;
1561
+ }
1436
1562
  interface claimplot {
1437
1563
  builder_id: UInt64Type;
1438
1564
  target_item_id: UInt16Type;
@@ -1466,6 +1592,17 @@ declare namespace ActionParams {
1466
1592
  target?: UInt64Type;
1467
1593
  slot?: UInt8Type;
1468
1594
  }
1595
+ interface craftjob {
1596
+ ship_id: UInt64Type;
1597
+ workshop_id: UInt64Type;
1598
+ slot: UInt8Type;
1599
+ recipe_id: UInt16Type;
1600
+ quantity: UInt32Type;
1601
+ inputs: Type.cargo_item[];
1602
+ }
1603
+ interface delentity {
1604
+ entity_id: UInt64Type;
1605
+ }
1469
1606
  interface demolish {
1470
1607
  entity_id: UInt64Type;
1471
1608
  }
@@ -1496,6 +1633,14 @@ declare namespace ActionParams {
1496
1633
  quantity: UInt32Type;
1497
1634
  slot?: UInt8Type;
1498
1635
  }
1636
+ interface gatherplan {
1637
+ source_id: UInt64Type;
1638
+ destination_id: UInt64Type;
1639
+ stratum: UInt16Type;
1640
+ quantity: UInt32Type;
1641
+ recharge: boolean;
1642
+ slots: BytesType;
1643
+ }
1499
1644
  interface genesisfleet {
1500
1645
  entities: Type.entity_row[];
1501
1646
  }
@@ -1541,6 +1686,9 @@ declare namespace ActionParams {
1541
1686
  }
1542
1687
  interface getitemtypes {
1543
1688
  }
1689
+ interface getjobs {
1690
+ workshop_id: UInt64Type;
1691
+ }
1544
1692
  interface getkindmeta {
1545
1693
  }
1546
1694
  interface getlocation {
@@ -1585,6 +1733,9 @@ declare namespace ActionParams {
1585
1733
  }
1586
1734
  interface getresources {
1587
1735
  }
1736
+ interface getservice {
1737
+ workshop_id: UInt64Type;
1738
+ }
1588
1739
  interface getslots {
1589
1740
  }
1590
1741
  interface getstratum {
@@ -1622,6 +1773,12 @@ declare namespace ActionParams {
1622
1773
  interface importcargo {
1623
1774
  row: Type.cargo_row;
1624
1775
  }
1776
+ interface importcell {
1777
+ root: UInt64Type;
1778
+ gx: Int8Type;
1779
+ gy: Int8Type;
1780
+ entity_id: UInt64Type;
1781
+ }
1625
1782
  interface importentity {
1626
1783
  row: Type.entity_row;
1627
1784
  }
@@ -1651,6 +1808,12 @@ declare namespace ActionParams {
1651
1808
  from_id: UInt64Type;
1652
1809
  items: Type.cargo_item[];
1653
1810
  }
1811
+ interface migratetasks {
1812
+ batch: UInt32Type;
1813
+ }
1814
+ interface migswap {
1815
+ batch: UInt32Type;
1816
+ }
1654
1817
  interface movetile {
1655
1818
  hub_id: UInt64Type;
1656
1819
  from_gx: Int8Type;
@@ -1708,6 +1871,9 @@ declare namespace ActionParams {
1708
1871
  interface rmnftcfg {
1709
1872
  item_id: UInt16Type;
1710
1873
  }
1874
+ interface setcivic {
1875
+ account: NameType;
1876
+ }
1711
1877
  interface setcoords {
1712
1878
  entity_id: UInt64Type;
1713
1879
  x: Int64Type;
@@ -1718,6 +1884,11 @@ declare namespace ActionParams {
1718
1884
  template_id: Int32Type;
1719
1885
  schema_name: NameType;
1720
1886
  }
1887
+ interface setsocket {
1888
+ workshop_id: UInt64Type;
1889
+ slot: UInt8Type;
1890
+ open: boolean;
1891
+ }
1721
1892
  interface setthreshold {
1722
1893
  threshold: UInt8Type;
1723
1894
  }
@@ -1730,6 +1901,12 @@ declare namespace ActionParams {
1730
1901
  fee_pct: UInt16Type;
1731
1902
  fee_account: NameType;
1732
1903
  }
1904
+ interface shuttle {
1905
+ carrier: UInt64Type;
1906
+ from_id: UInt64Type;
1907
+ to_id: UInt64Type;
1908
+ items: Type.cargo_item[];
1909
+ }
1733
1910
  interface stowcargo {
1734
1911
  owner: NameType;
1735
1912
  entity_id: UInt64Type;
@@ -1767,7 +1944,7 @@ declare namespace ActionParams {
1767
1944
  y: Int64Type;
1768
1945
  recharge: boolean;
1769
1946
  }
1770
- interface travelroute {
1947
+ interface travelplan {
1771
1948
  entities: Type.entity_ref[];
1772
1949
  waypoints: Type.route_waypoint[];
1773
1950
  recharge: boolean;
@@ -1803,6 +1980,8 @@ interface ActionNameParams {
1803
1980
  blend: ActionParams.blend;
1804
1981
  buildplot: ActionParams.buildplot;
1805
1982
  cancel: ActionParams.cancel;
1983
+ canceljob: ActionParams.canceljob;
1984
+ claimjob: ActionParams.claimjob;
1806
1985
  claimplot: ActionParams.claimplot;
1807
1986
  claimstarter: ActionParams.claimstarter;
1808
1987
  cleanrsvp: ActionParams.cleanrsvp;
@@ -1810,6 +1989,8 @@ interface ActionNameParams {
1810
1989
  commit: ActionParams.commit;
1811
1990
  configlog: ActionParams.configlog;
1812
1991
  craft: ActionParams.craft;
1992
+ craftjob: ActionParams.craftjob;
1993
+ delentity: ActionParams.delentity;
1813
1994
  demolish: ActionParams.demolish;
1814
1995
  deploy: ActionParams.deploy;
1815
1996
  descentity: ActionParams.descentity;
@@ -1817,6 +1998,7 @@ interface ActionNameParams {
1817
1998
  fixcargomass: ActionParams.fixcargomass;
1818
1999
  forcereveal: ActionParams.forcereveal;
1819
2000
  gather: ActionParams.gather;
2001
+ gatherplan: ActionParams.gatherplan;
1820
2002
  genesisfleet: ActionParams.genesisfleet;
1821
2003
  getcluster: ActionParams.getcluster;
1822
2004
  getconfig: ActionParams.getconfig;
@@ -1832,6 +2014,7 @@ interface ActionNameParams {
1832
2014
  getitems: ActionParams.getitems;
1833
2015
  getitemtype: ActionParams.getitemtype;
1834
2016
  getitemtypes: ActionParams.getitemtypes;
2017
+ getjobs: ActionParams.getjobs;
1835
2018
  getkindmeta: ActionParams.getkindmeta;
1836
2019
  getlocation: ActionParams.getlocation;
1837
2020
  getlocdata: ActionParams.getlocdata;
@@ -1847,6 +2030,7 @@ interface ActionNameParams {
1847
2030
  getrescats: ActionParams.getrescats;
1848
2031
  getreserves: ActionParams.getreserves;
1849
2032
  getresources: ActionParams.getresources;
2033
+ getservice: ActionParams.getservice;
1850
2034
  getslots: ActionParams.getslots;
1851
2035
  getstratum: ActionParams.getstratum;
1852
2036
  getsummaries: ActionParams.getsummaries;
@@ -1856,6 +2040,7 @@ interface ActionNameParams {
1856
2040
  hash: ActionParams.hash;
1857
2041
  hash512: ActionParams.hash512;
1858
2042
  importcargo: ActionParams.importcargo;
2043
+ importcell: ActionParams.importcell;
1859
2044
  importentity: ActionParams.importentity;
1860
2045
  importgroup: ActionParams.importgroup;
1861
2046
  importplayer: ActionParams.importplayer;
@@ -1864,6 +2049,8 @@ interface ActionNameParams {
1864
2049
  join: ActionParams.join;
1865
2050
  launch: ActionParams.launch;
1866
2051
  load: ActionParams.load;
2052
+ migratetasks: ActionParams.migratetasks;
2053
+ migswap: ActionParams.migswap;
1867
2054
  movetile: ActionParams.movetile;
1868
2055
  nftimgurl: ActionParams.nftimgurl;
1869
2056
  notify: ActionParams.notify;
@@ -1878,18 +2065,21 @@ interface ActionNameParams {
1878
2065
  reveal: ActionParams.reveal;
1879
2066
  rmmodule: ActionParams.rmmodule;
1880
2067
  rmnftcfg: ActionParams.rmnftcfg;
2068
+ setcivic: ActionParams.setcivic;
1881
2069
  setcoords: ActionParams.setcoords;
1882
2070
  setnftcfg: ActionParams.setnftcfg;
2071
+ setsocket: ActionParams.setsocket;
1883
2072
  setthreshold: ActionParams.setthreshold;
1884
2073
  setwrapcost: ActionParams.setwrapcost;
1885
2074
  setwrapfee: ActionParams.setwrapfee;
2075
+ shuttle: ActionParams.shuttle;
1886
2076
  stowcargo: ActionParams.stowcargo;
1887
2077
  stowentity: ActionParams.stowentity;
1888
2078
  swapmodule: ActionParams.swapmodule;
1889
2079
  swaptile: ActionParams.swaptile;
1890
2080
  transit: ActionParams.transit;
1891
2081
  travel: ActionParams.travel;
1892
- travelroute: ActionParams.travelroute;
2082
+ travelplan: ActionParams.travelplan;
1893
2083
  undeploy: ActionParams.undeploy;
1894
2084
  unload: ActionParams.unload;
1895
2085
  upgrade: ActionParams.upgrade;
@@ -1902,10 +2092,12 @@ interface ActionReturnValues {
1902
2092
  cancel: Types.cancel_results;
1903
2093
  claimplot: Types.task_results;
1904
2094
  craft: Types.task_results;
2095
+ craftjob: Types.job_receipt;
1905
2096
  demolish: Types.task_results;
1906
2097
  deploy: Types.task_results;
1907
2098
  descentity: string;
1908
2099
  gather: Types.task_results;
2100
+ gatherplan: Types.task_results;
1909
2101
  getcluster: Types.cluster_row;
1910
2102
  getconfig: Types.game_config;
1911
2103
  getdeposit: ExtendedAsset;
@@ -1920,6 +2112,7 @@ interface ActionReturnValues {
1920
2112
  getitems: Types.items_info;
1921
2113
  getitemtype: UInt8;
1922
2114
  getitemtypes: Types.enum_result;
2115
+ getjobs: Types.jobs_result;
1923
2116
  getkindmeta: Types.kind_meta_result;
1924
2117
  getlocation: Types.location_info;
1925
2118
  getlocdata: Types.location_derived;
@@ -1935,6 +2128,7 @@ interface ActionReturnValues {
1935
2128
  getrescats: Types.enum_result;
1936
2129
  getreserves: Types.stratum_remaining[];
1937
2130
  getresources: Types.resources_result;
2131
+ getservice: Types.service_row;
1938
2132
  getslots: Types.entity_layouts_result;
1939
2133
  getstratum: Types.stratum_data;
1940
2134
  getsummaries: Types.entity_summary[];
@@ -1952,12 +2146,13 @@ interface ActionReturnValues {
1952
2146
  recharge: Types.task_results;
1953
2147
  resolve: Types.resolve_results;
1954
2148
  resolveall: Types.resolveall_results;
2149
+ shuttle: Types.task_results;
1955
2150
  stowcargo: Types.task_results;
1956
2151
  stowentity: Types.task_results;
1957
2152
  swaptile: Types.task_results;
1958
2153
  transit: Types.task_results;
1959
2154
  travel: Types.task_results;
1960
- travelroute: Types.task_results;
2155
+ travelplan: Types.task_results;
1961
2156
  undeploy: Types.task_results;
1962
2157
  unload: Types.task_results;
1963
2158
  upgrade: Types.task_results;
@@ -2110,7 +2305,7 @@ interface ClusterSlotType {
2110
2305
  interface ShipLike {
2111
2306
  coordinates: Types.coordinates;
2112
2307
  hullmass?: UInt32;
2113
- energy?: UInt16;
2308
+ energy?: UInt32;
2114
2309
  engines?: Types.movement_stats;
2115
2310
  generator?: Types.energy_stats;
2116
2311
  loader_lanes?: Types.loader_lane[];
@@ -2130,21 +2325,22 @@ declare enum TaskType {
2130
2325
  GATHER = 5,
2131
2326
  WARP = 6,
2132
2327
  CRAFT = 7,
2133
- DEPLOY = 8,
2134
2328
  TRANSIT = 9,
2135
2329
  UNWRAP = 10,
2136
2330
  UNDEPLOY = 11,
2331
+ LAUNCH = 12,
2137
2332
  DEMOLISH = 13,
2138
- CLAIMPLOT = 14,
2139
2333
  BUILDPLOT = 15,
2140
2334
  CHARGE = 16,
2141
- UPGRADE = 17
2335
+ UPGRADE = 17,
2336
+ SHUTTLE = 18
2142
2337
  }
2143
2338
  declare enum HoldKind {
2144
2339
  PULL = 1,
2145
2340
  PUSH = 2,
2146
2341
  GATHER = 3,
2147
2342
  BUILD = 4,
2343
+ FLIGHT = 5,
2148
2344
  UPGRADE = 6
2149
2345
  }
2150
2346
  declare enum LocationType {
@@ -2176,7 +2372,7 @@ interface Distance {
2176
2372
  }
2177
2373
  type ItemType = 'resource' | 'component' | 'module' | 'entity';
2178
2374
  type ResourceCategory = 'ore' | 'crystal' | 'gas' | 'regolith' | 'biomass';
2179
- type ModuleType = 'any' | 'engine' | 'generator' | 'gatherer' | 'loader' | 'warp' | 'crafter' | 'launcher' | 'storage' | 'hauler' | 'battery' | 'catcher';
2375
+ type ModuleType = 'any' | 'engine' | 'generator' | 'gatherer' | 'loader' | 'warp' | 'crafter' | 'builder' | 'launcher' | 'storage' | 'hauler' | 'battery' | 'catcher';
2180
2376
  declare const RESOURCE_TIER_ADJECTIVES: Record<number, string>;
2181
2377
  declare const COMPONENT_TIER_PREFIXES: Record<number, string>;
2182
2378
  declare const MODULE_TIER_PREFIXES: Record<number, string>;
@@ -2265,6 +2461,7 @@ declare const ITEM_HAULER_T1 = 10106;
2265
2461
  declare const ITEM_WARP_T1 = 10107;
2266
2462
  declare const ITEM_BATTERY_T1 = 10108;
2267
2463
  declare const ITEM_LAUNCHER_T1 = 10109;
2464
+ declare const ITEM_BUILDER_T1 = 10110;
2268
2465
  declare const ITEM_CONTAINER_T1_PACKED = 10200;
2269
2466
  declare const ITEM_SHIP_T1_PACKED = 10201;
2270
2467
  declare const ITEM_WAREHOUSE_T1_PACKED = 10202;
@@ -2273,6 +2470,15 @@ declare const ITEM_FACTORY_T1_PACKED = 10204;
2273
2470
  declare const ITEM_MASS_DRIVER_T1_PACKED = 10205;
2274
2471
  declare const ITEM_MASS_CATCHER_T1_PACKED = 10206;
2275
2472
  declare const ITEM_HUB_T1_PACKED = 10207;
2473
+ declare const ITEM_WORKSHOP_T1_PACKED = 10208;
2474
+ declare const ITEM_ROUSTABOUT_T1_PACKED = 10210;
2475
+ declare const ITEM_PROSPECTOR_T1_PACKED = 10211;
2476
+ declare const ITEM_TENDER_T1_PACKED = 10212;
2477
+ declare const ITEM_WRIGHT_T1_PACKED = 10213;
2478
+ declare const ITEM_TUG_T1_PACKED = 10214;
2479
+ declare const ITEM_PORTER_T1_PACKED = 10215;
2480
+ declare const ITEM_WRANGLER_T1_PACKED = 10216;
2481
+ declare const ITEM_DREDGER_T1_PACKED = 10217;
2276
2482
  declare const ITEM_PLATE_T2 = 20001;
2277
2483
  declare const ITEM_FRAME_T2 = 20002;
2278
2484
  declare const ITEM_PLASMA_CELL_T2 = 20003;
@@ -2315,6 +2521,7 @@ interface EntitySlot {
2315
2521
  interface EntityLayout {
2316
2522
  entityItemId: number;
2317
2523
  slots: EntitySlot[];
2524
+ baseHullmass: number;
2318
2525
  }
2319
2526
  declare function getRecipe(outputItemId: number): Recipe | undefined;
2320
2527
  declare function getEntityLayout(entityItemId: number): EntityLayout | undefined;
@@ -2329,7 +2536,7 @@ declare enum EntityClass {
2329
2536
  Plot = 2,
2330
2537
  OrbitalStructure = 3
2331
2538
  }
2332
- type EntityTypeName = 'ship' | 'warehouse' | 'extractor' | 'factory' | 'container' | 'nexus' | 'plot' | 'mdriver' | 'mcatcher' | 'hub';
2539
+ type EntityTypeName = 'ship' | 'warehouse' | 'extractor' | 'factory' | 'workshop' | 'container' | 'nexus' | 'plot' | 'mdriver' | 'mcatcher' | 'hub';
2333
2540
  interface KindMeta {
2334
2541
  kind: Name;
2335
2542
  classification: EntityClass;
@@ -2352,6 +2559,7 @@ declare const ENTITY_SHIP: Name;
2352
2559
  declare const ENTITY_WAREHOUSE: Name;
2353
2560
  declare const ENTITY_EXTRACTOR: Name;
2354
2561
  declare const ENTITY_FACTORY: Name;
2562
+ declare const ENTITY_WORKSHOP: Name;
2355
2563
  declare const ENTITY_CONTAINER: Name;
2356
2564
  declare const ENTITY_NEXUS: Name;
2357
2565
  declare const ENTITY_HUB: Name;
@@ -2367,6 +2575,9 @@ declare function isExtractor(entity: {
2367
2575
  declare function isFactory(entity: {
2368
2576
  type?: Name;
2369
2577
  }): boolean;
2578
+ declare function isWorkshop(entity: {
2579
+ type?: Name;
2580
+ }): boolean;
2370
2581
  declare function isContainer(entity: {
2371
2582
  type?: Name;
2372
2583
  }): boolean;
@@ -2426,12 +2637,20 @@ interface CrafterStats {
2426
2637
  toNumber(): number;
2427
2638
  };
2428
2639
  }
2640
+ interface BuilderStats {
2641
+ speed: {
2642
+ toNumber(): number;
2643
+ };
2644
+ drain: {
2645
+ toNumber(): number;
2646
+ };
2647
+ }
2429
2648
  interface MovementCapability {
2430
2649
  engines: Types.movement_stats;
2431
2650
  generator: Types.energy_stats;
2432
2651
  }
2433
2652
  interface EnergyCapability {
2434
- energy: UInt16;
2653
+ energy: UInt32;
2435
2654
  }
2436
2655
  interface StorageCapability {
2437
2656
  capacity: UInt32;
@@ -2459,13 +2678,14 @@ interface EntityCapabilities {
2459
2678
  loaders?: LoaderStats;
2460
2679
  gatherer?: GathererStats;
2461
2680
  crafter?: CrafterStats;
2681
+ builder?: BuilderStats;
2462
2682
  hauler?: Types.hauler_stats;
2463
2683
  launcher?: Types.launcher_stats;
2464
2684
  }
2465
2685
  interface EntityState {
2466
2686
  owner: Name;
2467
2687
  location: Types.coordinates;
2468
- energy?: UInt16;
2688
+ energy?: UInt32;
2469
2689
  cargomass: UInt32;
2470
2690
  cargo: Types.cargo_item[];
2471
2691
  }
@@ -3104,113 +3324,6 @@ declare class EpochsManager extends BaseManager {
3104
3324
  getRevealsFor(epoch: UInt64Type): Promise<Types.reveal_row[]>;
3105
3325
  }
3106
3326
 
3107
- interface InstalledModule {
3108
- slotIndex: number;
3109
- itemId: number;
3110
- stats: bigint;
3111
- }
3112
-
3113
- interface ProjectedEntity {
3114
- location: Coordinates;
3115
- energy: UInt16;
3116
- cargo: CargoStack[];
3117
- shipMass: UInt32;
3118
- capacity?: UInt64;
3119
- engines?: Types.movement_stats;
3120
- loaderLanes: Types.loader_lane[];
3121
- generator?: Types.energy_stats;
3122
- hauler?: Types.hauler_stats;
3123
- launcher?: Types.launcher_stats;
3124
- readonly cargoMass: UInt64;
3125
- readonly totalMass: UInt64;
3126
- readonly gathererLanes: Types.gatherer_lane[];
3127
- readonly crafterLanes: Types.crafter_lane[];
3128
- hasMovement(): boolean;
3129
- hasStorage(): boolean;
3130
- hasLoaders(): boolean;
3131
- hasLauncher(): boolean;
3132
- capabilities(): EntityCapabilities;
3133
- state(): EntityState;
3134
- }
3135
- interface Projectable extends ScheduleData {
3136
- coordinates: Coordinates | Types.coordinates;
3137
- energy?: UInt16;
3138
- hullmass?: UInt32;
3139
- generator?: Types.energy_stats;
3140
- engines?: Types.movement_stats;
3141
- loader_lanes?: Types.loader_lane[];
3142
- gatherer_lanes?: Types.gatherer_lane[];
3143
- crafter_lanes?: Types.crafter_lane[];
3144
- hauler?: Types.hauler_stats;
3145
- launcher?: Types.launcher_stats;
3146
- capacity?: UInt32;
3147
- cargo: Types.cargo_item[];
3148
- cargomass: UInt32;
3149
- owner?: Name;
3150
- stats?: bigint;
3151
- item_id?: number | UInt16;
3152
- modules?: Types.module_entry[] | InstalledModule[];
3153
- }
3154
- declare function createProjectedEntity(entity: Projectable): ProjectedEntity;
3155
- interface ProjectionOptions {
3156
- upToTaskIndex?: number;
3157
- }
3158
- declare function projectEntity(entity: Projectable, options?: ProjectionOptions): ProjectedEntity;
3159
- declare function projectRemainingAt(entity: Projectable, _now: Date): ProjectedEntity;
3160
- declare function validateSchedule(entity: Projectable): void;
3161
- declare function projectEntityAt(entity: Projectable, now: Date): ProjectedEntity;
3162
-
3163
- interface LanePlanEntry {
3164
- slot: number;
3165
- quantity: number;
3166
- }
3167
- type PlanTarget = {
3168
- quantity: number;
3169
- } | 'max';
3170
- interface GatherPlanEntity extends Projectable {
3171
- gatherer_lanes: Types.gatherer_lane[];
3172
- loader_lanes: Types.loader_lane[];
3173
- }
3174
- interface GatherLimpet {
3175
- slot: number;
3176
- quantity: number;
3177
- durationSeconds: number;
3178
- }
3179
- interface GatherCycle {
3180
- rechargeBefore: boolean;
3181
- rechargeSeconds: number;
3182
- limpets: GatherLimpet[];
3183
- gatherSeconds: number;
3184
- batchOre: number;
3185
- }
3186
- type FillCap = 'reserve' | 'hold' | 'requested';
3187
- interface GatherPlan {
3188
- cycles: GatherCycle[];
3189
- cycleCount: number;
3190
- totalOre: number;
3191
- totalSeconds: number;
3192
- cap: FillCap;
3193
- reachingCount: number;
3194
- totalLimpets: number;
3195
- warnings: string[];
3196
- }
3197
- interface BuildGatherPlanOpts {
3198
- richness: number;
3199
- itemMass: number;
3200
- holdRoom: number;
3201
- reserveRemaining: number;
3202
- now: Date;
3203
- }
3204
- declare function allocateProportional(lanes: {
3205
- slot: number;
3206
- weight: number;
3207
- }[], total: number): LanePlanEntry[];
3208
- declare function gatherEnergyCost(lane: Types.gatherer_lane, quantity: number, stratum: number, itemMass: number, richness: number): number;
3209
- declare function splitCost(reaching: Types.gatherer_lane[], quantity: number, stratum: number, itemMass: number, richness: number): number;
3210
- declare function maxQtyForCharge(reaching: Types.gatherer_lane[], hi: number, capacity: number, stratum: number, itemMass: number, richness: number): number;
3211
- declare function buildGatherPlan(entity: GatherPlanEntity, stratum: number, target: PlanTarget, opts: BuildGatherPlanOpts): GatherPlan;
3212
- declare function planParallelTransfer(entity: GatherPlanEntity, target: PlanTarget): LanePlanEntry[];
3213
-
3214
3327
  type LaunchNumericInput = number | bigint | string | {
3215
3328
  toNumber(): number;
3216
3329
  } | {
@@ -3251,7 +3364,7 @@ declare class ActionsManager extends BaseManager {
3251
3364
  travel(shipId: UInt64Type, destination: CoordinatesType, recharge?: boolean): Action;
3252
3365
  private entityRefs;
3253
3366
  grouptravel(entities: EntityRefInput[], destination: CoordinatesType, recharge?: boolean): Action;
3254
- travelroute(entities: EntityRefInput[], waypoints: WaypointInput[], recharge?: boolean): Action;
3367
+ travelplan(entities: EntityRefInput[], waypoints: WaypointInput[], recharge?: boolean): Action;
3255
3368
  transit(shipId: UInt64Type, entrance: CoordinatesType, exit: CoordinatesType): Action;
3256
3369
  grouptransit(entities: EntityRefInput[], entrance: CoordinatesType, exit: CoordinatesType): Action;
3257
3370
  getwormhole(x: Int64Type, y: Int64Type): Action;
@@ -3264,25 +3377,19 @@ declare class ActionsManager extends BaseManager {
3264
3377
  refrshentity(entityId: UInt64Type): Action;
3265
3378
  load(id: UInt64Type, fromId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
3266
3379
  unload(id: UInt64Type, toId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
3380
+ shuttle(carrierId: UInt64Type, fromId: UInt64Type, toId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
3267
3381
  launch(launcherId: UInt64Type, catcherId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
3268
3382
  getLaunchQuote(launcher: LaunchQuoteLauncher, catcher: LaunchQuoteCatcher, items: ActionParams.Type.cargo_item[], start?: Date): LaunchQuote;
3269
3383
  foundCompany(account: NameType, name: string): Action;
3270
3384
  join(account: NameType): Action;
3271
3385
  gather(sourceId: UInt64Type, destinationId: UInt64Type, stratum: UInt16Type, quantity: UInt32Type, slot?: UInt8Type): Action;
3272
- bundleGather(gathers: {
3273
- sourceId: UInt64Type;
3274
- destinationId: UInt64Type;
3275
- stratum: UInt16Type;
3276
- quantity: UInt32Type;
3277
- slot?: UInt8Type;
3278
- }[]): Transaction;
3279
- flattenGatherPlan(plan: GatherPlan, ctx: {
3280
- sourceId: UInt64Type;
3281
- destinationId: UInt64Type;
3282
- stratum: UInt16Type;
3283
- }): Action[];
3386
+ gatherplan(sourceId: UInt64Type, destinationId: UInt64Type, stratum: UInt16Type, quantity: UInt32Type, recharge?: boolean, slots?: number[]): Action;
3284
3387
  warp(entityId: UInt64Type, destination: CoordinatesType): Action;
3285
3388
  craft(entityId: UInt64Type, recipeId: number, quantity: number, inputs: ActionParams.Type.cargo_item[], target?: UInt64Type, slot?: UInt8Type): Action;
3389
+ craftjob(shipId: UInt64Type, workshopId: UInt64Type, slot: UInt8Type, recipeId: UInt16Type, quantity: UInt32Type, inputs: ActionParams.Type.cargo_item[]): Action;
3390
+ claimjob(jobId: UInt64Type, shipId: UInt64Type): Action;
3391
+ canceljob(jobId: UInt64Type, shipId: UInt64Type): Action;
3392
+ setsocket(workshopId: UInt64Type, slot: UInt8Type, open: boolean): Action;
3286
3393
  blend(entityId: UInt64Type, inputs: ActionParams.Type.cargo_item[]): Action;
3287
3394
  deploy(entityId: UInt64Type, ref: ActionParams.Type.cargo_ref, slot?: ClusterSlotType): Action;
3288
3395
  upgrade(builderId: UInt64Type, targetId: UInt64Type, targetItemId: UInt16Type, inputs: ActionParams.Type.cargo_item[], slot?: UInt8Type): Action;
@@ -3688,8 +3795,14 @@ interface EntityStateInput {
3688
3795
  }
3689
3796
  declare function makeEntity(packedItemId: number, state: EntityStateInput): Entity$1;
3690
3797
 
3798
+ interface InstalledModule {
3799
+ slotIndex: number;
3800
+ itemId: number;
3801
+ stats: bigint;
3802
+ }
3803
+
3691
3804
  type BuildState = 'initializing' | 'accepting' | 'ready' | 'scheduled' | 'finalizing';
3692
- type FinalizerCapability = 'crafter';
3805
+ type FinalizerCapability = 'builder';
3693
3806
  interface BuildableTarget {
3694
3807
  entityId: UInt64;
3695
3808
  ownerName: Name;
@@ -3728,7 +3841,7 @@ interface FinalizerEntityRef {
3728
3841
  entityType: Name;
3729
3842
  name: string;
3730
3843
  capability: FinalizerCapability;
3731
- crafterSpeed: number;
3844
+ builderSpeed: number;
3732
3845
  estimatedDuration: UInt32;
3733
3846
  }
3734
3847
  interface InboundTransfer {
@@ -3788,7 +3901,7 @@ declare class ConstructionManager extends BaseManager {
3788
3901
  scheduledBuildFor(plot: Types.entity_info, entities: Types.entity_info[], now: Date): ScheduledBuild | null;
3789
3902
  scheduledBuildsByTarget(entities: Types.entity_info[], now: Date): Map<string, ScheduledBuild>;
3790
3903
  reservationsFrom(sourceEntityId: UInt64, entities: Types.entity_info[]): Reservation[];
3791
- estimateFinalizeDuration(target: BuildableTarget, crafterSpeed: number): UInt32;
3904
+ estimateFinalizeDuration(target: BuildableTarget, builderSpeed: number): UInt32;
3792
3905
  static isConstructionKind(kind: string): boolean;
3793
3906
  }
3794
3907
 
@@ -3876,6 +3989,7 @@ declare function findNearbyPlanets(seed: Checksum256, origin: ActionParams.Type.
3876
3989
  declare function calc_rechargetime(capacity: UInt32Type, energy: UInt32Type, recharge: UInt32Type): UInt32;
3877
3990
  declare function calc_ship_rechargetime(ship: ShipLike): UInt32;
3878
3991
  declare function calc_flighttime(distance: UInt64Type, acceleration: number): UInt32;
3992
+ declare function calc_travel_flighttime(distance: UInt64Type, acceleration: number): UInt32;
3879
3993
  declare function calc_transit_duration(ax: number, ay: number, bx: number, by: number): UInt32;
3880
3994
  declare function calc_loader_flighttime(ship: ShipLike, mass: UInt64, altitude?: number): UInt32;
3881
3995
  declare function calc_loader_acceleration(ship: ShipLike, mass: UInt64): number;
@@ -3959,6 +4073,17 @@ interface RoutePlan {
3959
4073
  legs: number;
3960
4074
  totalDistance: number;
3961
4075
  }
4076
+ interface RouteLegInput {
4077
+ from: Coord;
4078
+ to: Coord;
4079
+ distance: number;
4080
+ isDestination: boolean;
4081
+ }
4082
+ /**
4083
+ * Returns the elapsed-time search cost for a leg, or null when the leg is not contract-feasible.
4084
+ */
4085
+ type RouteLegCost = (leg: RouteLegInput) => number | null;
4086
+ type RouteHeuristicCost = (from: Coord, dest: Coord) => number;
3962
4087
  type RouteFailureReason = 'empty-destination' | 'no-path' | 'max-legs';
3963
4088
  interface RouteFailure {
3964
4089
  ok: false;
@@ -3976,6 +4101,8 @@ interface PlanRouteParams {
3976
4101
  corridorSlack?: number;
3977
4102
  nodeBudget?: number;
3978
4103
  maxLegs?: number;
4104
+ legCost?: RouteLegCost;
4105
+ heuristicCost?: RouteHeuristicCost;
3979
4106
  }
3980
4107
  declare const MAX_LEGS = 12;
3981
4108
  declare function planRoute(params: PlanRouteParams): RouteResult;
@@ -3987,8 +4114,7 @@ interface ScanProvider {
3987
4114
  locType: number;
3988
4115
  }[];
3989
4116
  }
3990
- declare function setScanProvider(provider: ScanProvider | null): void;
3991
- declare function sdkSystemGraph(seed: Checksum256Type): SystemGraph;
4117
+ declare function sdkSystemGraph(seed: Checksum256Type, scan: ScanProvider): SystemGraph;
3992
4118
 
3993
4119
  interface ReachStats {
3994
4120
  generator?: {
@@ -3997,12 +4123,9 @@ interface ReachStats {
3997
4123
  engines?: {
3998
4124
  drain: bigint;
3999
4125
  };
4000
- hauler?: {
4001
- drain: bigint;
4002
- };
4003
4126
  }
4004
- declare function computePerLegReach(s: ReachStats, haulCount?: number): number;
4005
- declare function computeGroupPerLegReach(participants: ReachStats[], haulCount: number): number;
4127
+ declare function computePerLegReach(s: ReachStats): number;
4128
+ declare function computeGroupPerLegReach(participants: ReachStats[]): number;
4006
4129
 
4007
4130
  interface RouteMoverInput {
4008
4131
  ref: {
@@ -4020,7 +4143,6 @@ interface RouteMoverInput {
4020
4143
  };
4021
4144
  hauler?: {
4022
4145
  capacity: number;
4023
- drain: number;
4024
4146
  efficiency: number;
4025
4147
  };
4026
4148
  mass: number;
@@ -4068,6 +4190,12 @@ interface ResolvedGathererLane {
4068
4190
  depth: number;
4069
4191
  outputPct: number;
4070
4192
  }
4193
+ interface ResolvedBuilderLane {
4194
+ slotIndex: number;
4195
+ speed: number;
4196
+ drain: number;
4197
+ outputPct: number;
4198
+ }
4071
4199
  interface ResolvedCrafterLane {
4072
4200
  slotIndex: number;
4073
4201
  speed: number;
@@ -4085,6 +4213,7 @@ declare function laneKeyForModule(slotIndex: number): number;
4085
4213
  declare function resolveLaneGatherer(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedGathererLane;
4086
4214
  declare function selectGatherLane(modules: ModuleEntry$2[], entityItemId: number, lanes: Lane[], stratum: number, explicitSlot?: number): number;
4087
4215
  declare function resolveLaneCrafter(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedCrafterLane;
4216
+ declare function resolveLaneBuilder(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedBuilderLane;
4088
4217
  declare function resolveLaneLoader(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedLoaderLane;
4089
4218
  declare function workerLaneKey(modules: ModuleEntry$2[], moduleSubtype: ModuleType, lanes: Lane[], stratum?: number): number;
4090
4219
  declare function rawScheduleEnd(schedule: Schedule): Date;
@@ -4137,6 +4266,58 @@ declare function cargoItem(src: {
4137
4266
  modules?: Types.module_entry[];
4138
4267
  }, quantity: bigint | number): ActionParams.Type.cargo_item;
4139
4268
 
4269
+ interface ProjectedEntity {
4270
+ location: Coordinates;
4271
+ energy: UInt32;
4272
+ cargo: CargoStack[];
4273
+ shipMass: UInt32;
4274
+ capacity?: UInt64;
4275
+ engines?: Types.movement_stats;
4276
+ loaderLanes: Types.loader_lane[];
4277
+ generator?: Types.energy_stats;
4278
+ hauler?: Types.hauler_stats;
4279
+ launcher?: Types.launcher_stats;
4280
+ readonly cargoMass: UInt64;
4281
+ readonly totalMass: UInt64;
4282
+ readonly gathererLanes: Types.gatherer_lane[];
4283
+ readonly crafterLanes: Types.crafter_lane[];
4284
+ readonly builderLanes: Types.builder_lane[];
4285
+ hasMovement(): boolean;
4286
+ hasStorage(): boolean;
4287
+ hasLoaders(): boolean;
4288
+ hasLauncher(): boolean;
4289
+ capabilities(): EntityCapabilities;
4290
+ state(): EntityState;
4291
+ }
4292
+ interface Projectable extends ScheduleData {
4293
+ coordinates: Coordinates | Types.coordinates;
4294
+ energy?: UInt32;
4295
+ hullmass?: UInt32;
4296
+ generator?: Types.energy_stats;
4297
+ engines?: Types.movement_stats;
4298
+ loader_lanes?: Types.loader_lane[];
4299
+ gatherer_lanes?: Types.gatherer_lane[];
4300
+ crafter_lanes?: Types.crafter_lane[];
4301
+ builder_lanes?: Types.builder_lane[];
4302
+ hauler?: Types.hauler_stats;
4303
+ launcher?: Types.launcher_stats;
4304
+ capacity?: UInt32;
4305
+ cargo: Types.cargo_item[];
4306
+ cargomass: UInt32;
4307
+ owner?: Name;
4308
+ stats?: bigint;
4309
+ item_id?: number | UInt16;
4310
+ modules?: Types.module_entry[] | InstalledModule[];
4311
+ }
4312
+ declare function createProjectedEntity(entity: Projectable): ProjectedEntity;
4313
+ interface ProjectionOptions {
4314
+ upToTaskIndex?: number;
4315
+ }
4316
+ declare function projectEntity(entity: Projectable, options?: ProjectionOptions): ProjectedEntity;
4317
+ declare function projectRemainingAt(entity: Projectable, _now: Date): ProjectedEntity;
4318
+ declare function validateSchedule(entity: Projectable): void;
4319
+ declare function projectEntityAt(entity: Projectable, now: Date): ProjectedEntity;
4320
+
4140
4321
  type TaskCargoDirection = 'in' | 'out';
4141
4322
  interface TaskCargoChange {
4142
4323
  direction: TaskCargoDirection;
@@ -4147,6 +4328,36 @@ interface TaskCargoChange {
4147
4328
  }
4148
4329
  declare function taskCargoChanges(task: Types.task): TaskCargoChange[];
4149
4330
 
4331
+ interface JobWindow {
4332
+ id: number;
4333
+ socket: number;
4334
+ owner: string;
4335
+ startsAt: Date;
4336
+ completesAt: Date;
4337
+ recipeId: number;
4338
+ quantity: number;
4339
+ }
4340
+ interface JobLaneEntry {
4341
+ kind: 'idle' | 'job';
4342
+ startsAt: Date;
4343
+ completesAt: Date;
4344
+ job?: JobWindow;
4345
+ }
4346
+ interface JobLane {
4347
+ socket: number;
4348
+ entries: JobLaneEntry[];
4349
+ }
4350
+ declare const JOB_QUEUE_CAP = 25;
4351
+ declare function jobsToLanes(jobs: JobWindow[], socketCount: number, now: Date): JobLane[];
4352
+ declare function socketTail(jobs: JobWindow[], socket: number, now: Date): Date;
4353
+ declare function pickFabricator(jobs: JobWindow[], sockets: Array<{
4354
+ open: boolean;
4355
+ }>, durationBySocketMinutes: number[], now: Date): {
4356
+ slot: number;
4357
+ startsAt: Date;
4358
+ completesAt: Date;
4359
+ } | null;
4360
+
4150
4361
  type EntityInfo$1 = Types.entity_info;
4151
4362
  type CounterpartLookup = (entityId: UInt64) => EntityInfo$1 | undefined;
4152
4363
  type IdleResolveTarget = ScheduleData & {
@@ -4328,6 +4539,8 @@ interface CrafterCapability {
4328
4539
  declare function capsHasCrafter(caps: EntityCapabilities): boolean;
4329
4540
  declare function calc_craft_duration(speed: number, totalInputMass: number): UInt32;
4330
4541
  declare function calc_craft_energy(drain: number, totalInputMass: number): UInt32;
4542
+ declare function calc_build_duration(speed: number, totalInputMass: number): UInt32;
4543
+ declare function calc_build_energy(drain: number, totalInputMass: number): UInt32;
4331
4544
 
4332
4545
  declare const MODULE_ANY = 0;
4333
4546
  declare const MODULE_ENGINE = 1;
@@ -4340,6 +4553,7 @@ declare const MODULE_LAUNCHER = 7;
4340
4553
  declare const MODULE_STORAGE = 8;
4341
4554
  declare const MODULE_HAULER = 9;
4342
4555
  declare const MODULE_BATTERY = 10;
4556
+ declare const MODULE_BUILDER = 12;
4343
4557
  interface PackedModule {
4344
4558
  itemId: number;
4345
4559
  stats: bigint;
@@ -4355,7 +4569,6 @@ declare function moduleSlotTypeToCode(slotType: string): number;
4355
4569
  declare function slotAcceptsModule(slot: EntitySlot, moduleItemId: number): boolean;
4356
4570
 
4357
4571
  declare function computeHaulPenalty(totalThrust: number, haulCount: number, avgEfficiency: number): number;
4358
- declare function computeHaulerDrain$1(distance: number, drain: number, haulCount: number): number;
4359
4572
 
4360
4573
  declare const categoryColors: Record<ResourceCategory, string>;
4361
4574
  declare const tierColors: Record<number, string>;
@@ -4420,7 +4633,7 @@ interface SlotConsumer {
4420
4633
  capability: string;
4421
4634
  attribute: string;
4422
4635
  }
4423
- type SlotConsumerKind = 'engine' | 'generator' | 'gatherer' | 'loader' | 'crafter' | 'storage' | 'hauler' | 'warp' | 'battery' | 'ship-t1' | 'container-t1' | 'warehouse-t1' | 'extractor-t1' | 'container-t2';
4636
+ type SlotConsumerKind = 'engine' | 'generator' | 'gatherer' | 'loader' | 'crafter' | 'builder' | 'storage' | 'hauler' | 'warp' | 'battery' | 'ship-t1' | 'container-t1' | 'warehouse-t1' | 'extractor-t1' | 'container-t2';
4424
4637
  declare const SLOT_FORMULAS: Record<SlotConsumerKind, Record<number, SlotConsumer>>;
4425
4638
 
4426
4639
  declare function sourceLabelForOutput(itemId: number): string;
@@ -4468,7 +4681,9 @@ declare function filterByBuildMethod<T extends {
4468
4681
  declare function allBuildableItems(): Item[];
4469
4682
  declare function allPlotBuildableItems(): Item[];
4470
4683
 
4471
- declare function computeShipHullCapabilities(stats: Record<string, number>): {
4684
+ declare const DEFAULT_BASE_HULLMASS = 100000;
4685
+ declare function getBaseHullmassFor(itemId: number): number;
4686
+ declare function computeShipHullCapabilities(stats: Record<string, number>, itemId?: number): {
4472
4687
  hullmass: number;
4473
4688
  capacity: number;
4474
4689
  };
@@ -4501,6 +4716,10 @@ declare function computeCrafterCapabilities(stats: Record<string, number>): {
4501
4716
  speed: number;
4502
4717
  drain: number;
4503
4718
  };
4719
+ declare function computeBuilderCapabilities(stats: Record<string, number>): {
4720
+ speed: number;
4721
+ drain: number;
4722
+ };
4504
4723
  declare function computeHaulerCapabilities(stats: Record<string, number>, tier: number): {
4505
4724
  capacity: number;
4506
4725
  efficiency: number;
@@ -4515,8 +4734,9 @@ declare function computeLauncherCapabilities(stats: {
4515
4734
  velocity: number;
4516
4735
  drain: number;
4517
4736
  };
4518
- declare function computeStorageCapabilities(stats: Record<string, number>): {
4737
+ declare function computeStorageCapabilities(stats: Record<string, number>, tier: number): {
4519
4738
  capacity: number;
4739
+ drain: number;
4520
4740
  };
4521
4741
  declare function computeBatteryCapabilities(stats: Record<string, number>): {
4522
4742
  capacity: number;
@@ -4546,12 +4766,24 @@ interface CrafterLaneEntry {
4546
4766
  drain: number;
4547
4767
  outputPct: number;
4548
4768
  }
4769
+ interface BuilderLaneEntry {
4770
+ slotIndex: number;
4771
+ speed: number;
4772
+ drain: number;
4773
+ outputPct: number;
4774
+ }
4549
4775
  interface LoaderLaneEntry {
4550
4776
  slotIndex: number;
4551
4777
  mass: number;
4552
4778
  thrust: number;
4553
4779
  outputPct: number;
4554
4780
  }
4781
+ interface TravelDrainBreakdown {
4782
+ engine: number;
4783
+ cargoHolds: number;
4784
+ tractorBeams: number;
4785
+ total: number;
4786
+ }
4555
4787
  interface ComputedCapabilities {
4556
4788
  hullmass: number;
4557
4789
  capacity: number;
@@ -4559,6 +4791,7 @@ interface ComputedCapabilities {
4559
4791
  thrust: number;
4560
4792
  drain: number;
4561
4793
  };
4794
+ travelDrain?: TravelDrainBreakdown;
4562
4795
  generator?: {
4563
4796
  capacity: number;
4564
4797
  recharge: number;
@@ -4580,6 +4813,11 @@ interface ComputedCapabilities {
4580
4813
  drain: number;
4581
4814
  };
4582
4815
  crafterLanes?: CrafterLaneEntry[];
4816
+ builder?: {
4817
+ speed: number;
4818
+ drain: number;
4819
+ };
4820
+ builderLanes?: BuilderLaneEntry[];
4583
4821
  hauler?: {
4584
4822
  capacity: number;
4585
4823
  efficiency: number;
@@ -4648,6 +4886,10 @@ declare function rollupCrafter(lanes: Types.crafter_lane[]): {
4648
4886
  speed: UInt16;
4649
4887
  drain: UInt32;
4650
4888
  } | undefined;
4889
+ declare function rollupBuilder(lanes: Types.builder_lane[]): {
4890
+ speed: UInt16;
4891
+ drain: UInt32;
4892
+ } | undefined;
4651
4893
  declare function rollupLoaders(lanes: Types.loader_lane[]): {
4652
4894
  mass: UInt32;
4653
4895
  thrust: UInt16;
@@ -4754,13 +4996,14 @@ declare const deserializeModule: typeof deserializeScalar;
4754
4996
  declare function deserializeEntity(data: Record<string, any>, itemId: number): NFTCargoItem;
4755
4997
  declare function deserializeAsset(data: Record<string, any>, itemId: number): NFTCargoItem;
4756
4998
 
4757
- declare function computeBaseHullmass(stats: bigint): number;
4999
+ declare function toWholeEnergy(milli: number): number;
5000
+ declare function computeBaseHullmass(itemId: number, stats: bigint): number;
4758
5001
  declare function computeBaseCapacityShip(stats: bigint): number;
4759
5002
  declare function computeBaseCapacityContainer(stats: bigint): number;
4760
5003
  declare function computeBaseCapacityWarehouse(stats: bigint): number;
4761
5004
  declare const computeEngineThrust: (vol: number) => number;
4762
5005
  declare const computeEngineDrain: (thm: number) => number;
4763
- declare const ENGINE_DRAIN_BASE = 118;
5006
+ declare const ENGINE_DRAIN_BASE = 156;
4764
5007
  declare const ENGINE_DRAIN_REF_THRUST = 775;
4765
5008
  declare const ENGINE_DRAIN_REF_THM = 500;
4766
5009
  declare const computeTravelDrain: (totalThrust: number, avgThm: number) => number;
@@ -4773,11 +5016,15 @@ declare const computeLoaderMass: (ins: number) => number;
4773
5016
  declare const computeLoaderThrust: (pla: number) => number;
4774
5017
  declare const computeCrafterSpeed: (rea: number) => number;
4775
5018
  declare const computeCrafterDrain: (fin: number) => number;
5019
+ declare const computeBuilderSpeed: (resonance: number) => number;
5020
+ declare const computeBuilderDrain: (fineness: number) => number;
4776
5021
  declare const computeHaulerCapacity: (fin: number, tier: number) => number;
4777
5022
  declare const computeHaulerEfficiency: (con: number) => number;
4778
- declare const computeHaulerDrain: (com: number) => number;
5023
+ declare const supportDrainTierPercent: (tier: number) => number;
5024
+ declare const computeHaulerDrain: (conductivity: number, tier: number) => number;
5025
+ declare const computeCargoBayDrain: (cohesion: number, tier: number) => number;
4779
5026
  declare const computeWarpRange: (stat: number) => number;
4780
- declare const computeCargoBayCapacity: (strength: number, density: number, hardness: number, cohesion: number) => number;
5027
+ declare const computeCargoBayCapacity: (strength: number, density: number, hardness: number) => number;
4781
5028
  declare const computeBatteryBankCapacity: (volatility: number, thermal: number, plasticity: number, insulation: number) => number;
4782
5029
  declare function entityDisplayName(itemId: number): string;
4783
5030
  declare function moduleDisplayName(itemId: number): string;
@@ -4875,6 +5122,7 @@ declare const index_deserializeComponent: typeof deserializeComponent;
4875
5122
  declare const index_deserializeModule: typeof deserializeModule;
4876
5123
  declare const index_deserializeEntity: typeof deserializeEntity;
4877
5124
  declare const index_deserializeAsset: typeof deserializeAsset;
5125
+ declare const index_toWholeEnergy: typeof toWholeEnergy;
4878
5126
  declare const index_computeBaseHullmass: typeof computeBaseHullmass;
4879
5127
  declare const index_computeBaseCapacityShip: typeof computeBaseCapacityShip;
4880
5128
  declare const index_computeBaseCapacityContainer: typeof computeBaseCapacityContainer;
@@ -4894,9 +5142,13 @@ declare const index_computeLoaderMass: typeof computeLoaderMass;
4894
5142
  declare const index_computeLoaderThrust: typeof computeLoaderThrust;
4895
5143
  declare const index_computeCrafterSpeed: typeof computeCrafterSpeed;
4896
5144
  declare const index_computeCrafterDrain: typeof computeCrafterDrain;
5145
+ declare const index_computeBuilderSpeed: typeof computeBuilderSpeed;
5146
+ declare const index_computeBuilderDrain: typeof computeBuilderDrain;
4897
5147
  declare const index_computeHaulerCapacity: typeof computeHaulerCapacity;
4898
5148
  declare const index_computeHaulerEfficiency: typeof computeHaulerEfficiency;
5149
+ declare const index_supportDrainTierPercent: typeof supportDrainTierPercent;
4899
5150
  declare const index_computeHaulerDrain: typeof computeHaulerDrain;
5151
+ declare const index_computeCargoBayDrain: typeof computeCargoBayDrain;
4900
5152
  declare const index_computeWarpRange: typeof computeWarpRange;
4901
5153
  declare const index_computeCargoBayCapacity: typeof computeCargoBayCapacity;
4902
5154
  declare const index_computeBatteryBankCapacity: typeof computeBatteryBankCapacity;
@@ -4942,6 +5194,7 @@ declare namespace index {
4942
5194
  index_deserializeModule as deserializeModule,
4943
5195
  index_deserializeEntity as deserializeEntity,
4944
5196
  index_deserializeAsset as deserializeAsset,
5197
+ index_toWholeEnergy as toWholeEnergy,
4945
5198
  index_computeBaseHullmass as computeBaseHullmass,
4946
5199
  index_computeBaseCapacityShip as computeBaseCapacityShip,
4947
5200
  index_computeBaseCapacityContainer as computeBaseCapacityContainer,
@@ -4961,9 +5214,13 @@ declare namespace index {
4961
5214
  index_computeLoaderThrust as computeLoaderThrust,
4962
5215
  index_computeCrafterSpeed as computeCrafterSpeed,
4963
5216
  index_computeCrafterDrain as computeCrafterDrain,
5217
+ index_computeBuilderSpeed as computeBuilderSpeed,
5218
+ index_computeBuilderDrain as computeBuilderDrain,
4964
5219
  index_computeHaulerCapacity as computeHaulerCapacity,
4965
5220
  index_computeHaulerEfficiency as computeHaulerEfficiency,
5221
+ index_supportDrainTierPercent as supportDrainTierPercent,
4966
5222
  index_computeHaulerDrain as computeHaulerDrain,
5223
+ index_computeCargoBayDrain as computeCargoBayDrain,
4967
5224
  index_computeWarpRange as computeWarpRange,
4968
5225
  index_computeCargoBayCapacity as computeCargoBayCapacity,
4969
5226
  index_computeBatteryBankCapacity as computeBatteryBankCapacity,
@@ -4999,6 +5256,10 @@ declare namespace index {
4999
5256
  };
5000
5257
  }
5001
5258
 
5259
+ declare const MODULE_STAT_SCALING_ANCHOR = 213;
5260
+ declare const MODULE_STAT_SCALING_POST_ANCHOR_PERCENT = 40;
5261
+ declare function computeEffectiveModuleStat(stat: number): number;
5262
+
5002
5263
  declare function formatMass(kg: number): string;
5003
5264
  declare function formatMassDelta(kg: number): string;
5004
5265
  declare function formatLocation(loc: {
@@ -5075,6 +5336,57 @@ declare function parseWireEntity(raw: WireEntity): Types.entity_info;
5075
5336
  declare function setSubscriptionsDebug(on: boolean): void;
5076
5337
  declare function isSubscriptionsDebugEnabled(): boolean;
5077
5338
 
5339
+ interface LanePlanEntry {
5340
+ slot: number;
5341
+ quantity: number;
5342
+ }
5343
+ type PlanTarget = {
5344
+ quantity: number;
5345
+ } | 'max';
5346
+ interface GatherPlanEntity extends Projectable {
5347
+ gatherer_lanes: Types.gatherer_lane[];
5348
+ loader_lanes: Types.loader_lane[];
5349
+ }
5350
+ interface GatherLimpet {
5351
+ slot: number;
5352
+ quantity: number;
5353
+ durationSeconds: number;
5354
+ }
5355
+ interface GatherCycle {
5356
+ rechargeBefore: boolean;
5357
+ rechargeSeconds: number;
5358
+ limpets: GatherLimpet[];
5359
+ gatherSeconds: number;
5360
+ batchOre: number;
5361
+ }
5362
+ type FillCap = 'reserve' | 'hold' | 'requested';
5363
+ interface GatherPlan {
5364
+ cycles: GatherCycle[];
5365
+ cycleCount: number;
5366
+ totalOre: number;
5367
+ totalSeconds: number;
5368
+ cap: FillCap;
5369
+ reachingCount: number;
5370
+ totalLimpets: number;
5371
+ warnings: string[];
5372
+ }
5373
+ interface BuildGatherPlanOpts {
5374
+ richness: number;
5375
+ itemMass: number;
5376
+ holdRoom: number;
5377
+ reserveRemaining: number;
5378
+ now: Date;
5379
+ }
5380
+ declare function allocateProportional(lanes: {
5381
+ slot: number;
5382
+ weight: number;
5383
+ }[], total: number): LanePlanEntry[];
5384
+ declare function gatherEnergyCost(lane: Types.gatherer_lane, quantity: number, stratum: number, itemMass: number, richness: number): number;
5385
+ declare function splitCost(reaching: Types.gatherer_lane[], quantity: number, stratum: number, itemMass: number, richness: number): number;
5386
+ declare function maxQtyForCharge(reaching: Types.gatherer_lane[], hi: number, capacity: number, stratum: number, itemMass: number, richness: number): number;
5387
+ declare function buildGatherPlan(entity: GatherPlanEntity, stratum: number, target: PlanTarget, opts: BuildGatherPlanOpts): GatherPlan;
5388
+ declare function planParallelTransfer(entity: GatherPlanEntity, target: PlanTarget): LanePlanEntry[];
5389
+
5078
5390
  type Ship = Entity$1;
5079
5391
  type Warehouse = Entity$1;
5080
5392
  type Container = Entity$1;
@@ -5086,9 +5398,10 @@ type movement_stats = Types.movement_stats;
5086
5398
  type energy_stats = Types.energy_stats;
5087
5399
  type lane = Types.lane;
5088
5400
  type task = Types.task;
5401
+ type coupling = Types.coupling;
5089
5402
  type cargo_item = Types.cargo_item;
5090
5403
  type entity_row = Types.entity_row;
5091
5404
  type location_static = Types.location_static;
5092
5405
  type location_derived = Types.location_derived;
5093
5406
 
5094
- export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_HAUL_PENALTY_MILLI, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BroadEntitySubscriptionFilter, BuildGatherPlanOpts, BuildMethod, BuildState, BuildableTarget, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, CancelEffects, CancelEligibilityInput, CancelPlan, CancelRefund, CancelReleasedHold, CapabilityAttribute, CapabilityAttributeRow, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, Cluster, ClusterCell, ClusterCellWire, ClusterDeltaMessage, ClusterManager, ClusterSlotType, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, Coord, CoordinateAddress, Coordinates, CoordinatesType, CounterpartLookup, CraftedItemCategory, CrafterCapability, CrafterStats, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DemandRow, DerivedLoaders, DerivedStratum, DescribeOptions, DisplayNameResult, Distance, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, EntitiesSubscriptionHandle, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityDeletedMessage, EntityInfo$2 as EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionFilter, EntitySubscriptionHandle, EntitySubscriptionHandlers, EntitySubscriptionMeta, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, ExactEntitySubscriptionFilter, Extractor, Factory, FetchAssetsOptions, FillCap, FinalizerCapability, FinalizerEntityRef, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, GatherCycle, GatherLimpet, GatherPlan, GatherPlanEntity, GathererCapability, GathererDepthParams, GathererStats, GridCell, HAULER_EFFICIENCY_DENOM, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GATHERER_T2, ITEM_GENERATOR_T1, ITEM_HAULER_SHIP_T2_PACKED, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T1_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PROSPECTOR_T2_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, IdleResolveTarget, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, InstalledModule, InventoryAccessor, Item, ItemType, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LanePlanEntry, LaneView, LaunchNumericInput, LaunchQuote, LaunchQuoteCatcher, LaunchQuoteLauncher, LaunchStatsInput, LoadTimeBreakdown, LoaderCapability, LoaderStats, Location, LocationStratum, LocationType, LocationsManager, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_BATTERY, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Neighbor, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, PackedModule, PackedModuleInput, PingMessage, PlanRouteParams, PlanTarget, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerRosterEntry, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RESOURCE_TIER_MULT_TENTHS, RawData, ReachStats, Recipe, RecipeConsumer, RecipeInput, RecipeSlotInput, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedCrafterLane, ResolvedEvent, ResolvedGathererLane, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedLoaderLane, ResolvedModuleSlot, ResourceCategory, ResourceDemand, ResourceStats, RouteFailure, RouteFailureReason, RouteLegSim, RouteMoverInput, RoutePlan, RouteResult, RouteSim, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScanProvider, ScheduleAccessor, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StarSortable, StatDefinition, StatFlow, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, SystemGraph, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UnwrapDestination, UnwrapItem, UpdateBoundsMessage, UpdateMessage, ValidateDisplayNameOptions, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, WrapDeposit, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, allocateProportional, applyCapacityTier, applyResourceTierMultiplier, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildGatherPlan, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_group_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, compareByStars, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeBatteryCapabilities, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain$1 as computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleUpgrades, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gatherEnergyCost, gathererDepthForTier, getAllRecipes, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, incomingHoldMass, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, lane, laneKeyForModule, lerp, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxQtyForCharge, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, nearbyWormholes, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setScanProvider, setSubscriptionsDebug, simulateRoute, slotAcceptsModule, sourceLabelForOutput, splitCost, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, unwrapLoadDuration, unwrapTransitDuration, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
5407
+ export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_HAUL_PENALTY_MILLI, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BroadEntitySubscriptionFilter, BuildGatherPlanOpts, BuildMethod, BuildState, BuildableTarget, BuilderStats, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, CancelEffects, CancelEligibilityInput, CancelPlan, CancelRefund, CancelReleasedHold, CapabilityAttribute, CapabilityAttributeRow, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, Cluster, ClusterCell, ClusterCellWire, ClusterDeltaMessage, ClusterManager, ClusterSlotType, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, Coord, CoordinateAddress, Coordinates, CoordinatesType, CounterpartLookup, CraftedItemCategory, CrafterCapability, CrafterStats, DEFAULT_BASE_HULLMASS, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DemandRow, DerivedLoaders, DerivedStratum, DescribeOptions, DisplayNameResult, Distance, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, ENTITY_WORKSHOP, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, EntitiesSubscriptionHandle, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityDeletedMessage, EntityInfo$2 as EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionFilter, EntitySubscriptionHandle, EntitySubscriptionHandlers, EntitySubscriptionMeta, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, ExactEntitySubscriptionFilter, Extractor, Factory, FetchAssetsOptions, FillCap, FinalizerCapability, FinalizerEntityRef, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, GatherCycle, GatherLimpet, GatherPlan, GatherPlanEntity, GathererCapability, GathererDepthParams, GathererStats, GridCell, HAULER_EFFICIENCY_DENOM, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_BUILDER_T1, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_DREDGER_T1_PACKED, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GATHERER_T2, ITEM_GENERATOR_T1, ITEM_HAULER_SHIP_T2_PACKED, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T1_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PORTER_T1_PACKED, ITEM_PROSPECTOR_T1_PACKED, ITEM_PROSPECTOR_T2_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_ROUSTABOUT_T1_PACKED, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TENDER_T1_PACKED, ITEM_TUG_T1_PACKED, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, ITEM_WORKSHOP_T1_PACKED, ITEM_WRANGLER_T1_PACKED, ITEM_WRIGHT_T1_PACKED, IdleResolveTarget, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, InstalledModule, InventoryAccessor, Item, ItemType, JOB_QUEUE_CAP, JobLane, JobLaneEntry, JobWindow, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LanePlanEntry, LaneView, LaunchNumericInput, LaunchQuote, LaunchQuoteCatcher, LaunchQuoteLauncher, LaunchStatsInput, LoadTimeBreakdown, LoaderCapability, LoaderStats, Location, LocationStratum, LocationType, LocationsManager, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_BATTERY, MODULE_BUILDER, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STAT_SCALING_ANCHOR, MODULE_STAT_SCALING_POST_ANCHOR_PERCENT, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Neighbor, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, PackedModule, PackedModuleInput, PingMessage, PlanRouteParams, PlanTarget, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerRosterEntry, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RESOURCE_TIER_MULT_TENTHS, RawData, ReachStats, Recipe, RecipeConsumer, RecipeInput, RecipeSlotInput, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedCrafterLane, ResolvedEvent, ResolvedGathererLane, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedLoaderLane, ResolvedModuleSlot, ResourceCategory, ResourceDemand, ResourceStats, RouteFailure, RouteFailureReason, RouteHeuristicCost, RouteLegCost, RouteLegInput, RouteLegSim, RouteMoverInput, RoutePlan, RouteResult, RouteSim, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScanProvider, ScheduleAccessor, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StarSortable, StatDefinition, StatFlow, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, SystemGraph, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, TravelDrainBreakdown, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UnwrapDestination, UnwrapItem, UpdateBoundsMessage, UpdateMessage, ValidateDisplayNameOptions, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, WrapDeposit, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, allocateProportional, applyCapacityTier, applyResourceTierMultiplier, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildGatherPlan, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_build_duration, calc_build_energy, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_group_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calc_travel_flighttime, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, compareByStars, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityContainer, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeBatteryCapabilities, computeBuilderCapabilities, computeBuilderDrain, computeBuilderSpeed, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEffectiveModuleStat, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, coupling, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleUpgrades, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gatherEnergyCost, gathererDepthForTier, getAllRecipes, getBaseHullmassFor, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, incomingHoldMass, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, isWorkshop, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, jobsToLanes, kindCan, lane, laneKeyForModule, lerp, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxQtyForCharge, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, nearbyWormholes, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, pickFabricator, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneBuilder, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupBuilder, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setSubscriptionsDebug, simulateRoute, slotAcceptsModule, socketTail, sourceLabelForOutput, splitCost, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, unwrapLoadDuration, unwrapTransitDuration, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };