@shipload/sdk 1.0.0-next.50 → 1.0.0-next.52

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 (58) hide show
  1. package/lib/shipload.d.ts +544 -149
  2. package/lib/shipload.js +2424 -448
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +2390 -447
  5. package/lib/shipload.m.js.map +1 -1
  6. package/lib/testing.d.ts +131 -7
  7. package/lib/testing.js +469 -11
  8. package/lib/testing.js.map +1 -1
  9. package/lib/testing.m.js +470 -12
  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 +315 -8
  18. package/src/data/capabilities.ts +11 -2
  19. package/src/data/entities.json +235 -20
  20. package/src/data/item-ids.ts +10 -0
  21. package/src/data/items.json +61 -0
  22. package/src/data/kind-registry.json +53 -1
  23. package/src/data/kind-registry.ts +5 -0
  24. package/src/data/metadata.ts +74 -5
  25. package/src/data/recipes-runtime.ts +1 -0
  26. package/src/data/recipes.json +887 -118
  27. package/src/derivation/capabilities.test.ts +81 -4
  28. package/src/derivation/capabilities.ts +162 -57
  29. package/src/derivation/crafting.ts +2 -0
  30. package/src/derivation/recipe-usage.test.ts +10 -7
  31. package/src/derivation/rollups.ts +16 -0
  32. package/src/derivation/stat-scaling.ts +12 -0
  33. package/src/entities/makers.ts +10 -1
  34. package/src/index-module.ts +33 -3
  35. package/src/managers/actions.ts +89 -44
  36. package/src/managers/construction-types.ts +2 -2
  37. package/src/managers/construction.ts +15 -15
  38. package/src/managers/plot.ts +1 -1
  39. package/src/nft/buildImmutableData.ts +55 -9
  40. package/src/nft/description.ts +99 -36
  41. package/src/planner/planner.test.ts +50 -41
  42. package/src/resolution/resolve-item.test.ts +1 -1
  43. package/src/resolution/resolve-item.ts +26 -11
  44. package/src/scheduling/availability.ts +7 -6
  45. package/src/scheduling/cancel.test.ts +40 -6
  46. package/src/scheduling/cancel.ts +21 -29
  47. package/src/scheduling/jobs.ts +71 -0
  48. package/src/scheduling/lanes.ts +29 -0
  49. package/src/scheduling/projection.ts +42 -25
  50. package/src/scheduling/task-cargo.ts +1 -1
  51. package/src/testing/projection-parity.ts +2 -2
  52. package/src/travel/reach.ts +4 -6
  53. package/src/travel/route-planner.ts +60 -49
  54. package/src/travel/route-simulator.ts +170 -0
  55. package/src/travel/travel.ts +40 -5
  56. package/src/types/capabilities.ts +9 -3
  57. package/src/types.ts +8 -3
  58. 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;
@@ -1096,6 +1180,20 @@ declare namespace Types {
1096
1180
  class rmnftcfg extends Struct {
1097
1181
  item_id: UInt16;
1098
1182
  }
1183
+ class route_waypoint extends Struct {
1184
+ x: Int64;
1185
+ y: Int64;
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
+ }
1099
1197
  class setcoords extends Struct {
1100
1198
  entity_id: UInt64;
1101
1199
  x: Int64;
@@ -1106,6 +1204,11 @@ declare namespace Types {
1106
1204
  template_id: Int32;
1107
1205
  schema_name: Name;
1108
1206
  }
1207
+ class setsocket extends Struct {
1208
+ workshop_id: UInt64;
1209
+ slot: UInt8;
1210
+ open: boolean;
1211
+ }
1109
1212
  class setthreshold extends Struct {
1110
1213
  threshold: UInt8;
1111
1214
  }
@@ -1118,6 +1221,12 @@ declare namespace Types {
1118
1221
  fee_pct: UInt16;
1119
1222
  fee_account: Name;
1120
1223
  }
1224
+ class shuttle extends Struct {
1225
+ carrier: UInt64;
1226
+ from_id: UInt64;
1227
+ to_id: UInt64;
1228
+ items: cargo_item[];
1229
+ }
1121
1230
  class stowcargo extends Struct {
1122
1231
  owner: Name;
1123
1232
  entity_id: UInt64;
@@ -1174,6 +1283,11 @@ declare namespace Types {
1174
1283
  y: Int64;
1175
1284
  recharge: boolean;
1176
1285
  }
1286
+ class travelplan extends Struct {
1287
+ entities: entity_ref[];
1288
+ waypoints: route_waypoint[];
1289
+ recharge: boolean;
1290
+ }
1177
1291
  class types_row extends Struct {
1178
1292
  id: UInt64;
1179
1293
  entity_summary_type: entity_summary;
@@ -1221,19 +1335,23 @@ declare namespace Types {
1221
1335
  }
1222
1336
  declare const TableMap: {
1223
1337
  cargo: typeof Types.cargo_row;
1338
+ civicconfig: typeof Types.civicconfig_row;
1224
1339
  claims: typeof Types.claim_row;
1225
1340
  cluster: typeof Types.cluster_row;
1226
1341
  commit: typeof Types.commit_row;
1227
1342
  entity: typeof Types.entity_row;
1343
+ 'entity.mig': typeof Types.entity_row;
1228
1344
  entitygroup: typeof Types.entitygroup_row;
1229
1345
  entityseq: typeof Types.entity_seq_row;
1230
1346
  epoch: typeof Types.epoch_row;
1347
+ jobs: typeof Types.job_row;
1231
1348
  nftconfig: typeof Types.nftconfig_row;
1232
1349
  oraclecfg: typeof Types.oracle_config_row;
1233
1350
  oracles: typeof Types.oracle_row;
1234
1351
  player: typeof Types.player_row;
1235
1352
  reserve: typeof Types.reserve_row;
1236
1353
  reveal: typeof Types.reveal_row;
1354
+ service: typeof Types.service_row;
1237
1355
  state: typeof Types.state_row;
1238
1356
  types: typeof Types.types_row;
1239
1357
  wrapconfig: typeof Types.wrapconfig_row;
@@ -1241,19 +1359,23 @@ declare const TableMap: {
1241
1359
  };
1242
1360
  interface TableTypes {
1243
1361
  cargo: Types.cargo_row;
1362
+ civicconfig: Types.civicconfig_row;
1244
1363
  claims: Types.claim_row;
1245
1364
  cluster: Types.cluster_row;
1246
1365
  commit: Types.commit_row;
1247
1366
  entity: Types.entity_row;
1367
+ 'entity.mig': Types.entity_row;
1248
1368
  entitygroup: Types.entitygroup_row;
1249
1369
  entityseq: Types.entity_seq_row;
1250
1370
  epoch: Types.epoch_row;
1371
+ jobs: Types.job_row;
1251
1372
  nftconfig: Types.nftconfig_row;
1252
1373
  oraclecfg: Types.oracle_config_row;
1253
1374
  oracles: Types.oracle_row;
1254
1375
  player: Types.player_row;
1255
1376
  reserve: Types.reserve_row;
1256
1377
  reveal: Types.reveal_row;
1378
+ service: Types.service_row;
1257
1379
  state: Types.state_row;
1258
1380
  types: Types.types_row;
1259
1381
  wrapconfig: Types.wrapconfig_row;
@@ -1338,12 +1460,17 @@ declare namespace ActionParams {
1338
1460
  cancelable: UInt8Type;
1339
1461
  coordinates?: Type.coordinates;
1340
1462
  cargo: Type.cargo_item[];
1341
- entitytarget?: Type.entity_ref;
1463
+ couplings: Type.coupling[];
1464
+ subject?: Type.entity_ref;
1342
1465
  entitygroup?: UInt64Type;
1343
1466
  energy_cost?: UInt32Type;
1344
- hold?: UInt64Type;
1345
1467
  target_item_id?: UInt16Type;
1346
1468
  }
1469
+ interface coupling {
1470
+ counterpart: Type.entity_ref;
1471
+ hold: UInt64Type;
1472
+ kind: UInt8Type;
1473
+ }
1347
1474
  interface entity_ref {
1348
1475
  entity_type: NameType;
1349
1476
  entity_id: UInt64Type;
@@ -1392,6 +1519,10 @@ declare namespace ActionParams {
1392
1519
  new_energy?: UInt32Type;
1393
1520
  lane_key: UInt8Type;
1394
1521
  }
1522
+ interface route_waypoint {
1523
+ x: Int64Type;
1524
+ y: Int64Type;
1525
+ }
1395
1526
  }
1396
1527
  interface addmodule {
1397
1528
  entity_id: UInt64Type;
@@ -1420,6 +1551,14 @@ declare namespace ActionParams {
1420
1551
  lane_key: UInt8Type;
1421
1552
  count: UInt64Type;
1422
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
+ }
1423
1562
  interface claimplot {
1424
1563
  builder_id: UInt64Type;
1425
1564
  target_item_id: UInt16Type;
@@ -1453,6 +1592,17 @@ declare namespace ActionParams {
1453
1592
  target?: UInt64Type;
1454
1593
  slot?: UInt8Type;
1455
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
+ }
1456
1606
  interface demolish {
1457
1607
  entity_id: UInt64Type;
1458
1608
  }
@@ -1483,6 +1633,14 @@ declare namespace ActionParams {
1483
1633
  quantity: UInt32Type;
1484
1634
  slot?: UInt8Type;
1485
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
+ }
1486
1644
  interface genesisfleet {
1487
1645
  entities: Type.entity_row[];
1488
1646
  }
@@ -1528,6 +1686,9 @@ declare namespace ActionParams {
1528
1686
  }
1529
1687
  interface getitemtypes {
1530
1688
  }
1689
+ interface getjobs {
1690
+ workshop_id: UInt64Type;
1691
+ }
1531
1692
  interface getkindmeta {
1532
1693
  }
1533
1694
  interface getlocation {
@@ -1572,6 +1733,9 @@ declare namespace ActionParams {
1572
1733
  }
1573
1734
  interface getresources {
1574
1735
  }
1736
+ interface getservice {
1737
+ workshop_id: UInt64Type;
1738
+ }
1575
1739
  interface getslots {
1576
1740
  }
1577
1741
  interface getstratum {
@@ -1609,6 +1773,12 @@ declare namespace ActionParams {
1609
1773
  interface importcargo {
1610
1774
  row: Type.cargo_row;
1611
1775
  }
1776
+ interface importcell {
1777
+ root: UInt64Type;
1778
+ gx: Int8Type;
1779
+ gy: Int8Type;
1780
+ entity_id: UInt64Type;
1781
+ }
1612
1782
  interface importentity {
1613
1783
  row: Type.entity_row;
1614
1784
  }
@@ -1638,6 +1808,12 @@ declare namespace ActionParams {
1638
1808
  from_id: UInt64Type;
1639
1809
  items: Type.cargo_item[];
1640
1810
  }
1811
+ interface migratetasks {
1812
+ batch: UInt32Type;
1813
+ }
1814
+ interface migswap {
1815
+ batch: UInt32Type;
1816
+ }
1641
1817
  interface movetile {
1642
1818
  hub_id: UInt64Type;
1643
1819
  from_gx: Int8Type;
@@ -1695,6 +1871,9 @@ declare namespace ActionParams {
1695
1871
  interface rmnftcfg {
1696
1872
  item_id: UInt16Type;
1697
1873
  }
1874
+ interface setcivic {
1875
+ account: NameType;
1876
+ }
1698
1877
  interface setcoords {
1699
1878
  entity_id: UInt64Type;
1700
1879
  x: Int64Type;
@@ -1705,6 +1884,11 @@ declare namespace ActionParams {
1705
1884
  template_id: Int32Type;
1706
1885
  schema_name: NameType;
1707
1886
  }
1887
+ interface setsocket {
1888
+ workshop_id: UInt64Type;
1889
+ slot: UInt8Type;
1890
+ open: boolean;
1891
+ }
1708
1892
  interface setthreshold {
1709
1893
  threshold: UInt8Type;
1710
1894
  }
@@ -1717,6 +1901,12 @@ declare namespace ActionParams {
1717
1901
  fee_pct: UInt16Type;
1718
1902
  fee_account: NameType;
1719
1903
  }
1904
+ interface shuttle {
1905
+ carrier: UInt64Type;
1906
+ from_id: UInt64Type;
1907
+ to_id: UInt64Type;
1908
+ items: Type.cargo_item[];
1909
+ }
1720
1910
  interface stowcargo {
1721
1911
  owner: NameType;
1722
1912
  entity_id: UInt64Type;
@@ -1754,6 +1944,11 @@ declare namespace ActionParams {
1754
1944
  y: Int64Type;
1755
1945
  recharge: boolean;
1756
1946
  }
1947
+ interface travelplan {
1948
+ entities: Type.entity_ref[];
1949
+ waypoints: Type.route_waypoint[];
1950
+ recharge: boolean;
1951
+ }
1757
1952
  interface undeploy {
1758
1953
  host_id: UInt64Type;
1759
1954
  target_id: UInt64Type;
@@ -1785,6 +1980,8 @@ interface ActionNameParams {
1785
1980
  blend: ActionParams.blend;
1786
1981
  buildplot: ActionParams.buildplot;
1787
1982
  cancel: ActionParams.cancel;
1983
+ canceljob: ActionParams.canceljob;
1984
+ claimjob: ActionParams.claimjob;
1788
1985
  claimplot: ActionParams.claimplot;
1789
1986
  claimstarter: ActionParams.claimstarter;
1790
1987
  cleanrsvp: ActionParams.cleanrsvp;
@@ -1792,6 +1989,8 @@ interface ActionNameParams {
1792
1989
  commit: ActionParams.commit;
1793
1990
  configlog: ActionParams.configlog;
1794
1991
  craft: ActionParams.craft;
1992
+ craftjob: ActionParams.craftjob;
1993
+ delentity: ActionParams.delentity;
1795
1994
  demolish: ActionParams.demolish;
1796
1995
  deploy: ActionParams.deploy;
1797
1996
  descentity: ActionParams.descentity;
@@ -1799,6 +1998,7 @@ interface ActionNameParams {
1799
1998
  fixcargomass: ActionParams.fixcargomass;
1800
1999
  forcereveal: ActionParams.forcereveal;
1801
2000
  gather: ActionParams.gather;
2001
+ gatherplan: ActionParams.gatherplan;
1802
2002
  genesisfleet: ActionParams.genesisfleet;
1803
2003
  getcluster: ActionParams.getcluster;
1804
2004
  getconfig: ActionParams.getconfig;
@@ -1814,6 +2014,7 @@ interface ActionNameParams {
1814
2014
  getitems: ActionParams.getitems;
1815
2015
  getitemtype: ActionParams.getitemtype;
1816
2016
  getitemtypes: ActionParams.getitemtypes;
2017
+ getjobs: ActionParams.getjobs;
1817
2018
  getkindmeta: ActionParams.getkindmeta;
1818
2019
  getlocation: ActionParams.getlocation;
1819
2020
  getlocdata: ActionParams.getlocdata;
@@ -1829,6 +2030,7 @@ interface ActionNameParams {
1829
2030
  getrescats: ActionParams.getrescats;
1830
2031
  getreserves: ActionParams.getreserves;
1831
2032
  getresources: ActionParams.getresources;
2033
+ getservice: ActionParams.getservice;
1832
2034
  getslots: ActionParams.getslots;
1833
2035
  getstratum: ActionParams.getstratum;
1834
2036
  getsummaries: ActionParams.getsummaries;
@@ -1838,6 +2040,7 @@ interface ActionNameParams {
1838
2040
  hash: ActionParams.hash;
1839
2041
  hash512: ActionParams.hash512;
1840
2042
  importcargo: ActionParams.importcargo;
2043
+ importcell: ActionParams.importcell;
1841
2044
  importentity: ActionParams.importentity;
1842
2045
  importgroup: ActionParams.importgroup;
1843
2046
  importplayer: ActionParams.importplayer;
@@ -1846,6 +2049,8 @@ interface ActionNameParams {
1846
2049
  join: ActionParams.join;
1847
2050
  launch: ActionParams.launch;
1848
2051
  load: ActionParams.load;
2052
+ migratetasks: ActionParams.migratetasks;
2053
+ migswap: ActionParams.migswap;
1849
2054
  movetile: ActionParams.movetile;
1850
2055
  nftimgurl: ActionParams.nftimgurl;
1851
2056
  notify: ActionParams.notify;
@@ -1860,17 +2065,21 @@ interface ActionNameParams {
1860
2065
  reveal: ActionParams.reveal;
1861
2066
  rmmodule: ActionParams.rmmodule;
1862
2067
  rmnftcfg: ActionParams.rmnftcfg;
2068
+ setcivic: ActionParams.setcivic;
1863
2069
  setcoords: ActionParams.setcoords;
1864
2070
  setnftcfg: ActionParams.setnftcfg;
2071
+ setsocket: ActionParams.setsocket;
1865
2072
  setthreshold: ActionParams.setthreshold;
1866
2073
  setwrapcost: ActionParams.setwrapcost;
1867
2074
  setwrapfee: ActionParams.setwrapfee;
2075
+ shuttle: ActionParams.shuttle;
1868
2076
  stowcargo: ActionParams.stowcargo;
1869
2077
  stowentity: ActionParams.stowentity;
1870
2078
  swapmodule: ActionParams.swapmodule;
1871
2079
  swaptile: ActionParams.swaptile;
1872
2080
  transit: ActionParams.transit;
1873
2081
  travel: ActionParams.travel;
2082
+ travelplan: ActionParams.travelplan;
1874
2083
  undeploy: ActionParams.undeploy;
1875
2084
  unload: ActionParams.unload;
1876
2085
  upgrade: ActionParams.upgrade;
@@ -1883,10 +2092,12 @@ interface ActionReturnValues {
1883
2092
  cancel: Types.cancel_results;
1884
2093
  claimplot: Types.task_results;
1885
2094
  craft: Types.task_results;
2095
+ craftjob: Types.job_receipt;
1886
2096
  demolish: Types.task_results;
1887
2097
  deploy: Types.task_results;
1888
2098
  descentity: string;
1889
2099
  gather: Types.task_results;
2100
+ gatherplan: Types.task_results;
1890
2101
  getcluster: Types.cluster_row;
1891
2102
  getconfig: Types.game_config;
1892
2103
  getdeposit: ExtendedAsset;
@@ -1901,6 +2112,7 @@ interface ActionReturnValues {
1901
2112
  getitems: Types.items_info;
1902
2113
  getitemtype: UInt8;
1903
2114
  getitemtypes: Types.enum_result;
2115
+ getjobs: Types.jobs_result;
1904
2116
  getkindmeta: Types.kind_meta_result;
1905
2117
  getlocation: Types.location_info;
1906
2118
  getlocdata: Types.location_derived;
@@ -1916,6 +2128,7 @@ interface ActionReturnValues {
1916
2128
  getrescats: Types.enum_result;
1917
2129
  getreserves: Types.stratum_remaining[];
1918
2130
  getresources: Types.resources_result;
2131
+ getservice: Types.service_row;
1919
2132
  getslots: Types.entity_layouts_result;
1920
2133
  getstratum: Types.stratum_data;
1921
2134
  getsummaries: Types.entity_summary[];
@@ -1933,11 +2146,13 @@ interface ActionReturnValues {
1933
2146
  recharge: Types.task_results;
1934
2147
  resolve: Types.resolve_results;
1935
2148
  resolveall: Types.resolveall_results;
2149
+ shuttle: Types.task_results;
1936
2150
  stowcargo: Types.task_results;
1937
2151
  stowentity: Types.task_results;
1938
2152
  swaptile: Types.task_results;
1939
2153
  transit: Types.task_results;
1940
2154
  travel: Types.task_results;
2155
+ travelplan: Types.task_results;
1941
2156
  undeploy: Types.task_results;
1942
2157
  unload: Types.task_results;
1943
2158
  upgrade: Types.task_results;
@@ -2075,6 +2290,8 @@ declare const CRAFT_ENERGY_DIVISOR = 150000;
2075
2290
  declare const PLANETARY_STRUCTURE_Z = 0;
2076
2291
  declare const CONTAINER_Z = 300;
2077
2292
  declare const TRAVEL_MAX_DURATION = 86400;
2293
+ declare const BASE_HAUL_PENALTY_MILLI = 300;
2294
+ declare const HAULER_EFFICIENCY_DENOM = 10000;
2078
2295
  declare const MIN_ORBITAL_ALTITUDE = 800;
2079
2296
  declare const MAX_ORBITAL_ALTITUDE = 3000;
2080
2297
  declare const BASE_ORBITAL_MASS = 100000;
@@ -2088,7 +2305,7 @@ interface ClusterSlotType {
2088
2305
  interface ShipLike {
2089
2306
  coordinates: Types.coordinates;
2090
2307
  hullmass?: UInt32;
2091
- energy?: UInt16;
2308
+ energy?: UInt32;
2092
2309
  engines?: Types.movement_stats;
2093
2310
  generator?: Types.energy_stats;
2094
2311
  loader_lanes?: Types.loader_lane[];
@@ -2108,21 +2325,22 @@ declare enum TaskType {
2108
2325
  GATHER = 5,
2109
2326
  WARP = 6,
2110
2327
  CRAFT = 7,
2111
- DEPLOY = 8,
2112
2328
  TRANSIT = 9,
2113
2329
  UNWRAP = 10,
2114
2330
  UNDEPLOY = 11,
2331
+ LAUNCH = 12,
2115
2332
  DEMOLISH = 13,
2116
- CLAIMPLOT = 14,
2117
2333
  BUILDPLOT = 15,
2118
2334
  CHARGE = 16,
2119
- UPGRADE = 17
2335
+ UPGRADE = 17,
2336
+ SHUTTLE = 18
2120
2337
  }
2121
2338
  declare enum HoldKind {
2122
2339
  PULL = 1,
2123
2340
  PUSH = 2,
2124
2341
  GATHER = 3,
2125
2342
  BUILD = 4,
2343
+ FLIGHT = 5,
2126
2344
  UPGRADE = 6
2127
2345
  }
2128
2346
  declare enum LocationType {
@@ -2154,7 +2372,7 @@ interface Distance {
2154
2372
  }
2155
2373
  type ItemType = 'resource' | 'component' | 'module' | 'entity';
2156
2374
  type ResourceCategory = 'ore' | 'crystal' | 'gas' | 'regolith' | 'biomass';
2157
- 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';
2158
2376
  declare const RESOURCE_TIER_ADJECTIVES: Record<number, string>;
2159
2377
  declare const COMPONENT_TIER_PREFIXES: Record<number, string>;
2160
2378
  declare const MODULE_TIER_PREFIXES: Record<number, string>;
@@ -2243,6 +2461,7 @@ declare const ITEM_HAULER_T1 = 10106;
2243
2461
  declare const ITEM_WARP_T1 = 10107;
2244
2462
  declare const ITEM_BATTERY_T1 = 10108;
2245
2463
  declare const ITEM_LAUNCHER_T1 = 10109;
2464
+ declare const ITEM_BUILDER_T1 = 10110;
2246
2465
  declare const ITEM_CONTAINER_T1_PACKED = 10200;
2247
2466
  declare const ITEM_SHIP_T1_PACKED = 10201;
2248
2467
  declare const ITEM_WAREHOUSE_T1_PACKED = 10202;
@@ -2251,6 +2470,15 @@ declare const ITEM_FACTORY_T1_PACKED = 10204;
2251
2470
  declare const ITEM_MASS_DRIVER_T1_PACKED = 10205;
2252
2471
  declare const ITEM_MASS_CATCHER_T1_PACKED = 10206;
2253
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;
2254
2482
  declare const ITEM_PLATE_T2 = 20001;
2255
2483
  declare const ITEM_FRAME_T2 = 20002;
2256
2484
  declare const ITEM_PLASMA_CELL_T2 = 20003;
@@ -2293,6 +2521,7 @@ interface EntitySlot {
2293
2521
  interface EntityLayout {
2294
2522
  entityItemId: number;
2295
2523
  slots: EntitySlot[];
2524
+ baseHullmass: number;
2296
2525
  }
2297
2526
  declare function getRecipe(outputItemId: number): Recipe | undefined;
2298
2527
  declare function getEntityLayout(entityItemId: number): EntityLayout | undefined;
@@ -2307,7 +2536,7 @@ declare enum EntityClass {
2307
2536
  Plot = 2,
2308
2537
  OrbitalStructure = 3
2309
2538
  }
2310
- 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';
2311
2540
  interface KindMeta {
2312
2541
  kind: Name;
2313
2542
  classification: EntityClass;
@@ -2330,6 +2559,7 @@ declare const ENTITY_SHIP: Name;
2330
2559
  declare const ENTITY_WAREHOUSE: Name;
2331
2560
  declare const ENTITY_EXTRACTOR: Name;
2332
2561
  declare const ENTITY_FACTORY: Name;
2562
+ declare const ENTITY_WORKSHOP: Name;
2333
2563
  declare const ENTITY_CONTAINER: Name;
2334
2564
  declare const ENTITY_NEXUS: Name;
2335
2565
  declare const ENTITY_HUB: Name;
@@ -2345,6 +2575,9 @@ declare function isExtractor(entity: {
2345
2575
  declare function isFactory(entity: {
2346
2576
  type?: Name;
2347
2577
  }): boolean;
2578
+ declare function isWorkshop(entity: {
2579
+ type?: Name;
2580
+ }): boolean;
2348
2581
  declare function isContainer(entity: {
2349
2582
  type?: Name;
2350
2583
  }): boolean;
@@ -2404,12 +2637,20 @@ interface CrafterStats {
2404
2637
  toNumber(): number;
2405
2638
  };
2406
2639
  }
2640
+ interface BuilderStats {
2641
+ speed: {
2642
+ toNumber(): number;
2643
+ };
2644
+ drain: {
2645
+ toNumber(): number;
2646
+ };
2647
+ }
2407
2648
  interface MovementCapability {
2408
2649
  engines: Types.movement_stats;
2409
2650
  generator: Types.energy_stats;
2410
2651
  }
2411
2652
  interface EnergyCapability {
2412
- energy: UInt16;
2653
+ energy: UInt32;
2413
2654
  }
2414
2655
  interface StorageCapability {
2415
2656
  capacity: UInt32;
@@ -2437,13 +2678,14 @@ interface EntityCapabilities {
2437
2678
  loaders?: LoaderStats;
2438
2679
  gatherer?: GathererStats;
2439
2680
  crafter?: CrafterStats;
2681
+ builder?: BuilderStats;
2440
2682
  hauler?: Types.hauler_stats;
2441
2683
  launcher?: Types.launcher_stats;
2442
2684
  }
2443
2685
  interface EntityState {
2444
2686
  owner: Name;
2445
2687
  location: Types.coordinates;
2446
- energy?: UInt16;
2688
+ energy?: UInt32;
2447
2689
  cargomass: UInt32;
2448
2690
  cargo: Types.cargo_item[];
2449
2691
  }
@@ -3082,113 +3324,6 @@ declare class EpochsManager extends BaseManager {
3082
3324
  getRevealsFor(epoch: UInt64Type): Promise<Types.reveal_row[]>;
3083
3325
  }
3084
3326
 
3085
- interface InstalledModule {
3086
- slotIndex: number;
3087
- itemId: number;
3088
- stats: bigint;
3089
- }
3090
-
3091
- interface ProjectedEntity {
3092
- location: Coordinates;
3093
- energy: UInt16;
3094
- cargo: CargoStack[];
3095
- shipMass: UInt32;
3096
- capacity?: UInt64;
3097
- engines?: Types.movement_stats;
3098
- loaderLanes: Types.loader_lane[];
3099
- generator?: Types.energy_stats;
3100
- hauler?: Types.hauler_stats;
3101
- launcher?: Types.launcher_stats;
3102
- readonly cargoMass: UInt64;
3103
- readonly totalMass: UInt64;
3104
- readonly gathererLanes: Types.gatherer_lane[];
3105
- readonly crafterLanes: Types.crafter_lane[];
3106
- hasMovement(): boolean;
3107
- hasStorage(): boolean;
3108
- hasLoaders(): boolean;
3109
- hasLauncher(): boolean;
3110
- capabilities(): EntityCapabilities;
3111
- state(): EntityState;
3112
- }
3113
- interface Projectable extends ScheduleData {
3114
- coordinates: Coordinates | Types.coordinates;
3115
- energy?: UInt16;
3116
- hullmass?: UInt32;
3117
- generator?: Types.energy_stats;
3118
- engines?: Types.movement_stats;
3119
- loader_lanes?: Types.loader_lane[];
3120
- gatherer_lanes?: Types.gatherer_lane[];
3121
- crafter_lanes?: Types.crafter_lane[];
3122
- hauler?: Types.hauler_stats;
3123
- launcher?: Types.launcher_stats;
3124
- capacity?: UInt32;
3125
- cargo: Types.cargo_item[];
3126
- cargomass: UInt32;
3127
- owner?: Name;
3128
- stats?: bigint;
3129
- item_id?: number | UInt16;
3130
- modules?: Types.module_entry[] | InstalledModule[];
3131
- }
3132
- declare function createProjectedEntity(entity: Projectable): ProjectedEntity;
3133
- interface ProjectionOptions {
3134
- upToTaskIndex?: number;
3135
- }
3136
- declare function projectEntity(entity: Projectable, options?: ProjectionOptions): ProjectedEntity;
3137
- declare function projectRemainingAt(entity: Projectable, _now: Date): ProjectedEntity;
3138
- declare function validateSchedule(entity: Projectable): void;
3139
- declare function projectEntityAt(entity: Projectable, now: Date): ProjectedEntity;
3140
-
3141
- interface LanePlanEntry {
3142
- slot: number;
3143
- quantity: number;
3144
- }
3145
- type PlanTarget = {
3146
- quantity: number;
3147
- } | 'max';
3148
- interface GatherPlanEntity extends Projectable {
3149
- gatherer_lanes: Types.gatherer_lane[];
3150
- loader_lanes: Types.loader_lane[];
3151
- }
3152
- interface GatherLimpet {
3153
- slot: number;
3154
- quantity: number;
3155
- durationSeconds: number;
3156
- }
3157
- interface GatherCycle {
3158
- rechargeBefore: boolean;
3159
- rechargeSeconds: number;
3160
- limpets: GatherLimpet[];
3161
- gatherSeconds: number;
3162
- batchOre: number;
3163
- }
3164
- type FillCap = 'reserve' | 'hold' | 'requested';
3165
- interface GatherPlan {
3166
- cycles: GatherCycle[];
3167
- cycleCount: number;
3168
- totalOre: number;
3169
- totalSeconds: number;
3170
- cap: FillCap;
3171
- reachingCount: number;
3172
- totalLimpets: number;
3173
- warnings: string[];
3174
- }
3175
- interface BuildGatherPlanOpts {
3176
- richness: number;
3177
- itemMass: number;
3178
- holdRoom: number;
3179
- reserveRemaining: number;
3180
- now: Date;
3181
- }
3182
- declare function allocateProportional(lanes: {
3183
- slot: number;
3184
- weight: number;
3185
- }[], total: number): LanePlanEntry[];
3186
- declare function gatherEnergyCost(lane: Types.gatherer_lane, quantity: number, stratum: number, itemMass: number, richness: number): number;
3187
- declare function splitCost(reaching: Types.gatherer_lane[], quantity: number, stratum: number, itemMass: number, richness: number): number;
3188
- declare function maxQtyForCharge(reaching: Types.gatherer_lane[], hi: number, capacity: number, stratum: number, itemMass: number, richness: number): number;
3189
- declare function buildGatherPlan(entity: GatherPlanEntity, stratum: number, target: PlanTarget, opts: BuildGatherPlanOpts): GatherPlan;
3190
- declare function planParallelTransfer(entity: GatherPlanEntity, target: PlanTarget): LanePlanEntry[];
3191
-
3192
3327
  type LaunchNumericInput = number | bigint | string | {
3193
3328
  toNumber(): number;
3194
3329
  } | {
@@ -3221,10 +3356,15 @@ type EntityRefInput = {
3221
3356
  entityType: NameType;
3222
3357
  entityId: UInt64Type;
3223
3358
  };
3359
+ type WaypointInput = {
3360
+ x: Int64Type;
3361
+ y: Int64Type;
3362
+ };
3224
3363
  declare class ActionsManager extends BaseManager {
3225
3364
  travel(shipId: UInt64Type, destination: CoordinatesType, recharge?: boolean): Action;
3226
3365
  private entityRefs;
3227
3366
  grouptravel(entities: EntityRefInput[], destination: CoordinatesType, recharge?: boolean): Action;
3367
+ travelplan(entities: EntityRefInput[], waypoints: WaypointInput[], recharge?: boolean): Action;
3228
3368
  transit(shipId: UInt64Type, entrance: CoordinatesType, exit: CoordinatesType): Action;
3229
3369
  grouptransit(entities: EntityRefInput[], entrance: CoordinatesType, exit: CoordinatesType): Action;
3230
3370
  getwormhole(x: Int64Type, y: Int64Type): Action;
@@ -3237,25 +3377,19 @@ declare class ActionsManager extends BaseManager {
3237
3377
  refrshentity(entityId: UInt64Type): Action;
3238
3378
  load(id: UInt64Type, fromId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
3239
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;
3240
3381
  launch(launcherId: UInt64Type, catcherId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
3241
3382
  getLaunchQuote(launcher: LaunchQuoteLauncher, catcher: LaunchQuoteCatcher, items: ActionParams.Type.cargo_item[], start?: Date): LaunchQuote;
3242
3383
  foundCompany(account: NameType, name: string): Action;
3243
3384
  join(account: NameType): Action;
3244
3385
  gather(sourceId: UInt64Type, destinationId: UInt64Type, stratum: UInt16Type, quantity: UInt32Type, slot?: UInt8Type): Action;
3245
- bundleGather(gathers: {
3246
- sourceId: UInt64Type;
3247
- destinationId: UInt64Type;
3248
- stratum: UInt16Type;
3249
- quantity: UInt32Type;
3250
- slot?: UInt8Type;
3251
- }[]): Transaction;
3252
- flattenGatherPlan(plan: GatherPlan, ctx: {
3253
- sourceId: UInt64Type;
3254
- destinationId: UInt64Type;
3255
- stratum: UInt16Type;
3256
- }): Action[];
3386
+ gatherplan(sourceId: UInt64Type, destinationId: UInt64Type, stratum: UInt16Type, quantity: UInt32Type, recharge?: boolean, slots?: number[]): Action;
3257
3387
  warp(entityId: UInt64Type, destination: CoordinatesType): Action;
3258
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;
3259
3393
  blend(entityId: UInt64Type, inputs: ActionParams.Type.cargo_item[]): Action;
3260
3394
  deploy(entityId: UInt64Type, ref: ActionParams.Type.cargo_ref, slot?: ClusterSlotType): Action;
3261
3395
  upgrade(builderId: UInt64Type, targetId: UInt64Type, targetItemId: UInt16Type, inputs: ActionParams.Type.cargo_item[], slot?: UInt8Type): Action;
@@ -3661,8 +3795,14 @@ interface EntityStateInput {
3661
3795
  }
3662
3796
  declare function makeEntity(packedItemId: number, state: EntityStateInput): Entity$1;
3663
3797
 
3798
+ interface InstalledModule {
3799
+ slotIndex: number;
3800
+ itemId: number;
3801
+ stats: bigint;
3802
+ }
3803
+
3664
3804
  type BuildState = 'initializing' | 'accepting' | 'ready' | 'scheduled' | 'finalizing';
3665
- type FinalizerCapability = 'crafter';
3805
+ type FinalizerCapability = 'builder';
3666
3806
  interface BuildableTarget {
3667
3807
  entityId: UInt64;
3668
3808
  ownerName: Name;
@@ -3701,7 +3841,7 @@ interface FinalizerEntityRef {
3701
3841
  entityType: Name;
3702
3842
  name: string;
3703
3843
  capability: FinalizerCapability;
3704
- crafterSpeed: number;
3844
+ builderSpeed: number;
3705
3845
  estimatedDuration: UInt32;
3706
3846
  }
3707
3847
  interface InboundTransfer {
@@ -3761,7 +3901,7 @@ declare class ConstructionManager extends BaseManager {
3761
3901
  scheduledBuildFor(plot: Types.entity_info, entities: Types.entity_info[], now: Date): ScheduledBuild | null;
3762
3902
  scheduledBuildsByTarget(entities: Types.entity_info[], now: Date): Map<string, ScheduledBuild>;
3763
3903
  reservationsFrom(sourceEntityId: UInt64, entities: Types.entity_info[]): Reservation[];
3764
- estimateFinalizeDuration(target: BuildableTarget, crafterSpeed: number): UInt32;
3904
+ estimateFinalizeDuration(target: BuildableTarget, builderSpeed: number): UInt32;
3765
3905
  static isConstructionKind(kind: string): boolean;
3766
3906
  }
3767
3907
 
@@ -3849,6 +3989,7 @@ declare function findNearbyPlanets(seed: Checksum256, origin: ActionParams.Type.
3849
3989
  declare function calc_rechargetime(capacity: UInt32Type, energy: UInt32Type, recharge: UInt32Type): UInt32;
3850
3990
  declare function calc_ship_rechargetime(ship: ShipLike): UInt32;
3851
3991
  declare function calc_flighttime(distance: UInt64Type, acceleration: number): UInt32;
3992
+ declare function calc_travel_flighttime(distance: UInt64Type, acceleration: number): UInt32;
3852
3993
  declare function calc_transit_duration(ax: number, ay: number, bx: number, by: number): UInt32;
3853
3994
  declare function calc_loader_flighttime(ship: ShipLike, mass: UInt64, altitude?: number): UInt32;
3854
3995
  declare function calc_loader_acceleration(ship: ShipLike, mass: UInt64): number;
@@ -3856,6 +3997,7 @@ declare function calc_ship_flighttime(ship: ShipLike, mass: UInt64, distance: UI
3856
3997
  declare function calc_ship_acceleration(ship: ShipLike, mass: UInt64): number;
3857
3998
  declare function calc_acceleration(thrust: number, mass: number): number;
3858
3999
  declare function calc_ship_mass(ship: ShipLike, cargos: CargoMassInfo[]): UInt64;
4000
+ declare function calc_group_flighttime(totalThrust: number, haulCount: number, pooledHaulCap: number, weightedHaulEffNum: number, totalMass: number, distance: UInt64Type): UInt32;
3859
4001
  declare function calc_energyusage(distance: UInt64Type, drain: UInt32Type): UInt32;
3860
4002
  declare function calculateTransferTime(ship: ShipLike, cargos: CargoMassInfo[], quantities?: Map<number, number>): UInt32;
3861
4003
  declare function calculateRefuelingTime(ship: ShipLike): UInt32;
@@ -3931,6 +4073,17 @@ interface RoutePlan {
3931
4073
  legs: number;
3932
4074
  totalDistance: number;
3933
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;
3934
4087
  type RouteFailureReason = 'empty-destination' | 'no-path' | 'max-legs';
3935
4088
  interface RouteFailure {
3936
4089
  ok: false;
@@ -3948,6 +4101,8 @@ interface PlanRouteParams {
3948
4101
  corridorSlack?: number;
3949
4102
  nodeBudget?: number;
3950
4103
  maxLegs?: number;
4104
+ legCost?: RouteLegCost;
4105
+ heuristicCost?: RouteHeuristicCost;
3951
4106
  }
3952
4107
  declare const MAX_LEGS = 12;
3953
4108
  declare function planRoute(params: PlanRouteParams): RouteResult;
@@ -3959,8 +4114,7 @@ interface ScanProvider {
3959
4114
  locType: number;
3960
4115
  }[];
3961
4116
  }
3962
- declare function setScanProvider(provider: ScanProvider | null): void;
3963
- declare function sdkSystemGraph(seed: Checksum256Type): SystemGraph;
4117
+ declare function sdkSystemGraph(seed: Checksum256Type, scan: ScanProvider): SystemGraph;
3964
4118
 
3965
4119
  interface ReachStats {
3966
4120
  generator?: {
@@ -3969,12 +4123,62 @@ interface ReachStats {
3969
4123
  engines?: {
3970
4124
  drain: bigint;
3971
4125
  };
4126
+ }
4127
+ declare function computePerLegReach(s: ReachStats): number;
4128
+ declare function computeGroupPerLegReach(participants: ReachStats[]): number;
4129
+
4130
+ interface RouteMoverInput {
4131
+ ref: {
4132
+ entityType: string;
4133
+ entityId: UInt64Type;
4134
+ };
4135
+ hasMovement: boolean;
4136
+ engines?: {
4137
+ thrust: number;
4138
+ drain: number;
4139
+ };
4140
+ generator?: {
4141
+ capacity: number;
4142
+ recharge: number;
4143
+ };
3972
4144
  hauler?: {
3973
- drain: bigint;
4145
+ capacity: number;
4146
+ efficiency: number;
4147
+ };
4148
+ mass: number;
4149
+ energy: number;
4150
+ priorMobilityEnd: number;
4151
+ narrowBarrierEnd: number;
4152
+ /** Max end (seconds-from-now) over all this entity's lanes incl. worker/craft; gates recharges like the contract's all_lanes_end. Default 0. */
4153
+ allLanesEnd?: number;
4154
+ }
4155
+ interface RouteLegSim {
4156
+ from: {
4157
+ x: number;
4158
+ y: number;
3974
4159
  };
4160
+ to: {
4161
+ x: number;
4162
+ y: number;
4163
+ };
4164
+ distanceCells: number;
4165
+ energyCostByMover: Record<string, number>;
4166
+ rechargeBefore: boolean;
4167
+ rechargeSeconds: number;
4168
+ flightSeconds: number;
3975
4169
  }
3976
- declare function computePerLegReach(s: ReachStats, haulCount?: number): number;
3977
- declare function computeGroupPerLegReach(participants: ReachStats[], haulCount: number): number;
4170
+ interface RouteSim {
4171
+ legs: RouteLegSim[];
4172
+ totalSeconds: number;
4173
+ reachable: boolean;
4174
+ }
4175
+ declare function simulateRoute(movers: RouteMoverInput[], waypoints: {
4176
+ x: number;
4177
+ y: number;
4178
+ }[], origin: {
4179
+ x: number;
4180
+ y: number;
4181
+ }, recharge: boolean): RouteSim;
3978
4182
 
3979
4183
  type ModuleEntry$2 = Types.module_entry;
3980
4184
  type Lane = Types.lane;
@@ -3986,6 +4190,12 @@ interface ResolvedGathererLane {
3986
4190
  depth: number;
3987
4191
  outputPct: number;
3988
4192
  }
4193
+ interface ResolvedBuilderLane {
4194
+ slotIndex: number;
4195
+ speed: number;
4196
+ drain: number;
4197
+ outputPct: number;
4198
+ }
3989
4199
  interface ResolvedCrafterLane {
3990
4200
  slotIndex: number;
3991
4201
  speed: number;
@@ -4003,6 +4213,7 @@ declare function laneKeyForModule(slotIndex: number): number;
4003
4213
  declare function resolveLaneGatherer(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedGathererLane;
4004
4214
  declare function selectGatherLane(modules: ModuleEntry$2[], entityItemId: number, lanes: Lane[], stratum: number, explicitSlot?: number): number;
4005
4215
  declare function resolveLaneCrafter(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedCrafterLane;
4216
+ declare function resolveLaneBuilder(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedBuilderLane;
4006
4217
  declare function resolveLaneLoader(modules: ModuleEntry$2[], entityItemId: number, laneKey: number): ResolvedLoaderLane;
4007
4218
  declare function workerLaneKey(modules: ModuleEntry$2[], moduleSubtype: ModuleType, lanes: Lane[], stratum?: number): number;
4008
4219
  declare function rawScheduleEnd(schedule: Schedule): Date;
@@ -4055,6 +4266,58 @@ declare function cargoItem(src: {
4055
4266
  modules?: Types.module_entry[];
4056
4267
  }, quantity: bigint | number): ActionParams.Type.cargo_item;
4057
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
+
4058
4321
  type TaskCargoDirection = 'in' | 'out';
4059
4322
  interface TaskCargoChange {
4060
4323
  direction: TaskCargoDirection;
@@ -4065,6 +4328,36 @@ interface TaskCargoChange {
4065
4328
  }
4066
4329
  declare function taskCargoChanges(task: Types.task): TaskCargoChange[];
4067
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
+
4068
4361
  type EntityInfo$1 = Types.entity_info;
4069
4362
  type CounterpartLookup = (entityId: UInt64) => EntityInfo$1 | undefined;
4070
4363
  type IdleResolveTarget = ScheduleData & {
@@ -4246,6 +4539,8 @@ interface CrafterCapability {
4246
4539
  declare function capsHasCrafter(caps: EntityCapabilities): boolean;
4247
4540
  declare function calc_craft_duration(speed: number, totalInputMass: number): UInt32;
4248
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;
4249
4544
 
4250
4545
  declare const MODULE_ANY = 0;
4251
4546
  declare const MODULE_ENGINE = 1;
@@ -4258,6 +4553,7 @@ declare const MODULE_LAUNCHER = 7;
4258
4553
  declare const MODULE_STORAGE = 8;
4259
4554
  declare const MODULE_HAULER = 9;
4260
4555
  declare const MODULE_BATTERY = 10;
4556
+ declare const MODULE_BUILDER = 12;
4261
4557
  interface PackedModule {
4262
4558
  itemId: number;
4263
4559
  stats: bigint;
@@ -4273,7 +4569,6 @@ declare function moduleSlotTypeToCode(slotType: string): number;
4273
4569
  declare function slotAcceptsModule(slot: EntitySlot, moduleItemId: number): boolean;
4274
4570
 
4275
4571
  declare function computeHaulPenalty(totalThrust: number, haulCount: number, avgEfficiency: number): number;
4276
- declare function computeHaulerDrain$1(distance: number, drain: number, haulCount: number): number;
4277
4572
 
4278
4573
  declare const categoryColors: Record<ResourceCategory, string>;
4279
4574
  declare const tierColors: Record<number, string>;
@@ -4386,7 +4681,9 @@ declare function filterByBuildMethod<T extends {
4386
4681
  declare function allBuildableItems(): Item[];
4387
4682
  declare function allPlotBuildableItems(): Item[];
4388
4683
 
4389
- 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): {
4390
4687
  hullmass: number;
4391
4688
  capacity: number;
4392
4689
  };
@@ -4419,6 +4716,10 @@ declare function computeCrafterCapabilities(stats: Record<string, number>): {
4419
4716
  speed: number;
4420
4717
  drain: number;
4421
4718
  };
4719
+ declare function computeBuilderCapabilities(stats: Record<string, number>): {
4720
+ speed: number;
4721
+ drain: number;
4722
+ };
4422
4723
  declare function computeHaulerCapabilities(stats: Record<string, number>, tier: number): {
4423
4724
  capacity: number;
4424
4725
  efficiency: number;
@@ -4433,8 +4734,9 @@ declare function computeLauncherCapabilities(stats: {
4433
4734
  velocity: number;
4434
4735
  drain: number;
4435
4736
  };
4436
- declare function computeStorageCapabilities(stats: Record<string, number>): {
4737
+ declare function computeStorageCapabilities(stats: Record<string, number>, tier: number): {
4437
4738
  capacity: number;
4739
+ drain: number;
4438
4740
  };
4439
4741
  declare function computeBatteryCapabilities(stats: Record<string, number>): {
4440
4742
  capacity: number;
@@ -4464,12 +4766,24 @@ interface CrafterLaneEntry {
4464
4766
  drain: number;
4465
4767
  outputPct: number;
4466
4768
  }
4769
+ interface BuilderLaneEntry {
4770
+ slotIndex: number;
4771
+ speed: number;
4772
+ drain: number;
4773
+ outputPct: number;
4774
+ }
4467
4775
  interface LoaderLaneEntry {
4468
4776
  slotIndex: number;
4469
4777
  mass: number;
4470
4778
  thrust: number;
4471
4779
  outputPct: number;
4472
4780
  }
4781
+ interface TravelDrainBreakdown {
4782
+ engine: number;
4783
+ cargoHolds: number;
4784
+ tractorBeams: number;
4785
+ total: number;
4786
+ }
4473
4787
  interface ComputedCapabilities {
4474
4788
  hullmass: number;
4475
4789
  capacity: number;
@@ -4477,6 +4791,7 @@ interface ComputedCapabilities {
4477
4791
  thrust: number;
4478
4792
  drain: number;
4479
4793
  };
4794
+ travelDrain?: TravelDrainBreakdown;
4480
4795
  generator?: {
4481
4796
  capacity: number;
4482
4797
  recharge: number;
@@ -4498,6 +4813,11 @@ interface ComputedCapabilities {
4498
4813
  drain: number;
4499
4814
  };
4500
4815
  crafterLanes?: CrafterLaneEntry[];
4816
+ builder?: {
4817
+ speed: number;
4818
+ drain: number;
4819
+ };
4820
+ builderLanes?: BuilderLaneEntry[];
4501
4821
  hauler?: {
4502
4822
  capacity: number;
4503
4823
  efficiency: number;
@@ -4566,6 +4886,10 @@ declare function rollupCrafter(lanes: Types.crafter_lane[]): {
4566
4886
  speed: UInt16;
4567
4887
  drain: UInt32;
4568
4888
  } | undefined;
4889
+ declare function rollupBuilder(lanes: Types.builder_lane[]): {
4890
+ speed: UInt16;
4891
+ drain: UInt32;
4892
+ } | undefined;
4569
4893
  declare function rollupLoaders(lanes: Types.loader_lane[]): {
4570
4894
  mass: UInt32;
4571
4895
  thrust: UInt16;
@@ -4672,13 +4996,14 @@ declare const deserializeModule: typeof deserializeScalar;
4672
4996
  declare function deserializeEntity(data: Record<string, any>, itemId: number): NFTCargoItem;
4673
4997
  declare function deserializeAsset(data: Record<string, any>, itemId: number): NFTCargoItem;
4674
4998
 
4675
- declare function computeBaseHullmass(stats: bigint): number;
4999
+ declare function toWholeEnergy(milli: number): number;
5000
+ declare function computeBaseHullmass(itemId: number, stats: bigint): number;
4676
5001
  declare function computeBaseCapacityShip(stats: bigint): number;
4677
5002
  declare function computeBaseCapacityContainer(stats: bigint): number;
4678
5003
  declare function computeBaseCapacityWarehouse(stats: bigint): number;
4679
5004
  declare const computeEngineThrust: (vol: number) => number;
4680
5005
  declare const computeEngineDrain: (thm: number) => number;
4681
- declare const ENGINE_DRAIN_BASE = 118;
5006
+ declare const ENGINE_DRAIN_BASE = 156;
4682
5007
  declare const ENGINE_DRAIN_REF_THRUST = 775;
4683
5008
  declare const ENGINE_DRAIN_REF_THM = 500;
4684
5009
  declare const computeTravelDrain: (totalThrust: number, avgThm: number) => number;
@@ -4691,11 +5016,15 @@ declare const computeLoaderMass: (ins: number) => number;
4691
5016
  declare const computeLoaderThrust: (pla: number) => number;
4692
5017
  declare const computeCrafterSpeed: (rea: number) => number;
4693
5018
  declare const computeCrafterDrain: (fin: number) => number;
5019
+ declare const computeBuilderSpeed: (coh: number) => number;
5020
+ declare const computeBuilderDrain: (tol: number) => number;
4694
5021
  declare const computeHaulerCapacity: (fin: number, tier: number) => number;
4695
5022
  declare const computeHaulerEfficiency: (con: number) => number;
4696
- 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;
4697
5026
  declare const computeWarpRange: (stat: number) => number;
4698
- declare const computeCargoBayCapacity: (strength: number, density: number, hardness: number, cohesion: number) => number;
5027
+ declare const computeCargoBayCapacity: (strength: number, density: number, hardness: number) => number;
4699
5028
  declare const computeBatteryBankCapacity: (volatility: number, thermal: number, plasticity: number, insulation: number) => number;
4700
5029
  declare function entityDisplayName(itemId: number): string;
4701
5030
  declare function moduleDisplayName(itemId: number): string;
@@ -4793,6 +5122,7 @@ declare const index_deserializeComponent: typeof deserializeComponent;
4793
5122
  declare const index_deserializeModule: typeof deserializeModule;
4794
5123
  declare const index_deserializeEntity: typeof deserializeEntity;
4795
5124
  declare const index_deserializeAsset: typeof deserializeAsset;
5125
+ declare const index_toWholeEnergy: typeof toWholeEnergy;
4796
5126
  declare const index_computeBaseHullmass: typeof computeBaseHullmass;
4797
5127
  declare const index_computeBaseCapacityShip: typeof computeBaseCapacityShip;
4798
5128
  declare const index_computeBaseCapacityContainer: typeof computeBaseCapacityContainer;
@@ -4812,9 +5142,13 @@ declare const index_computeLoaderMass: typeof computeLoaderMass;
4812
5142
  declare const index_computeLoaderThrust: typeof computeLoaderThrust;
4813
5143
  declare const index_computeCrafterSpeed: typeof computeCrafterSpeed;
4814
5144
  declare const index_computeCrafterDrain: typeof computeCrafterDrain;
5145
+ declare const index_computeBuilderSpeed: typeof computeBuilderSpeed;
5146
+ declare const index_computeBuilderDrain: typeof computeBuilderDrain;
4815
5147
  declare const index_computeHaulerCapacity: typeof computeHaulerCapacity;
4816
5148
  declare const index_computeHaulerEfficiency: typeof computeHaulerEfficiency;
5149
+ declare const index_supportDrainTierPercent: typeof supportDrainTierPercent;
4817
5150
  declare const index_computeHaulerDrain: typeof computeHaulerDrain;
5151
+ declare const index_computeCargoBayDrain: typeof computeCargoBayDrain;
4818
5152
  declare const index_computeWarpRange: typeof computeWarpRange;
4819
5153
  declare const index_computeCargoBayCapacity: typeof computeCargoBayCapacity;
4820
5154
  declare const index_computeBatteryBankCapacity: typeof computeBatteryBankCapacity;
@@ -4860,6 +5194,7 @@ declare namespace index {
4860
5194
  index_deserializeModule as deserializeModule,
4861
5195
  index_deserializeEntity as deserializeEntity,
4862
5196
  index_deserializeAsset as deserializeAsset,
5197
+ index_toWholeEnergy as toWholeEnergy,
4863
5198
  index_computeBaseHullmass as computeBaseHullmass,
4864
5199
  index_computeBaseCapacityShip as computeBaseCapacityShip,
4865
5200
  index_computeBaseCapacityContainer as computeBaseCapacityContainer,
@@ -4879,9 +5214,13 @@ declare namespace index {
4879
5214
  index_computeLoaderThrust as computeLoaderThrust,
4880
5215
  index_computeCrafterSpeed as computeCrafterSpeed,
4881
5216
  index_computeCrafterDrain as computeCrafterDrain,
5217
+ index_computeBuilderSpeed as computeBuilderSpeed,
5218
+ index_computeBuilderDrain as computeBuilderDrain,
4882
5219
  index_computeHaulerCapacity as computeHaulerCapacity,
4883
5220
  index_computeHaulerEfficiency as computeHaulerEfficiency,
5221
+ index_supportDrainTierPercent as supportDrainTierPercent,
4884
5222
  index_computeHaulerDrain as computeHaulerDrain,
5223
+ index_computeCargoBayDrain as computeCargoBayDrain,
4885
5224
  index_computeWarpRange as computeWarpRange,
4886
5225
  index_computeCargoBayCapacity as computeCargoBayCapacity,
4887
5226
  index_computeBatteryBankCapacity as computeBatteryBankCapacity,
@@ -4917,6 +5256,10 @@ declare namespace index {
4917
5256
  };
4918
5257
  }
4919
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
+
4920
5263
  declare function formatMass(kg: number): string;
4921
5264
  declare function formatMassDelta(kg: number): string;
4922
5265
  declare function formatLocation(loc: {
@@ -4993,6 +5336,57 @@ declare function parseWireEntity(raw: WireEntity): Types.entity_info;
4993
5336
  declare function setSubscriptionsDebug(on: boolean): void;
4994
5337
  declare function isSubscriptionsDebugEnabled(): boolean;
4995
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
+
4996
5390
  type Ship = Entity$1;
4997
5391
  type Warehouse = Entity$1;
4998
5392
  type Container = Entity$1;
@@ -5004,9 +5398,10 @@ type movement_stats = Types.movement_stats;
5004
5398
  type energy_stats = Types.energy_stats;
5005
5399
  type lane = Types.lane;
5006
5400
  type task = Types.task;
5401
+ type coupling = Types.coupling;
5007
5402
  type cargo_item = Types.cargo_item;
5008
5403
  type entity_row = Types.entity_row;
5009
5404
  type location_static = Types.location_static;
5010
5405
  type location_derived = Types.location_derived;
5011
5406
 
5012
- export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, 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, 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, RoutePlan, RouteResult, 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_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, 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 };