@shipload/sdk 1.0.0-next.1 → 1.0.0-next.11

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 (56) hide show
  1. package/lib/shipload.d.ts +618 -353
  2. package/lib/shipload.js +2250 -1059
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +2193 -1044
  5. package/lib/shipload.m.js.map +1 -1
  6. package/package.json +2 -2
  7. package/src/capabilities/modules.ts +3 -0
  8. package/src/capabilities/storage.ts +1 -1
  9. package/src/contracts/platform.ts +13 -1
  10. package/src/contracts/server.ts +227 -282
  11. package/src/data/capabilities.ts +5 -330
  12. package/src/data/capability-formulas.ts +70 -0
  13. package/src/data/catalog.ts +0 -5
  14. package/src/data/colors.ts +2 -16
  15. package/src/data/entities.json +46 -10
  16. package/src/data/item-ids.ts +4 -1
  17. package/src/data/items.json +264 -0
  18. package/src/data/metadata.ts +63 -1
  19. package/src/data/recipes-runtime.ts +1 -0
  20. package/src/data/recipes.json +139 -11
  21. package/src/derivation/capability-mappings.ts +122 -0
  22. package/src/derivation/index.ts +1 -0
  23. package/src/derivation/resources.ts +116 -37
  24. package/src/derivation/stats.ts +1 -2
  25. package/src/entities/container.ts +25 -10
  26. package/src/entities/extractor.ts +144 -0
  27. package/src/entities/factory.ts +135 -0
  28. package/src/entities/gamestate.ts +0 -9
  29. package/src/entities/makers.ts +130 -20
  30. package/src/entities/nexus.ts +29 -0
  31. package/src/entities/ship-deploy.ts +114 -56
  32. package/src/entities/ship.ts +17 -0
  33. package/src/entities/slot-multiplier.ts +21 -0
  34. package/src/entities/warehouse.ts +20 -3
  35. package/src/errors.ts +10 -13
  36. package/src/index-module.ts +81 -26
  37. package/src/managers/actions.ts +53 -80
  38. package/src/managers/entities.ts +65 -17
  39. package/src/managers/locations.ts +2 -20
  40. package/src/nft/atomicdata.ts +128 -0
  41. package/src/nft/description.ts +41 -7
  42. package/src/nft/index.ts +1 -0
  43. package/src/resolution/resolve-item.ts +17 -9
  44. package/src/scheduling/accessor.ts +4 -0
  45. package/src/scheduling/projection.ts +10 -2
  46. package/src/scheduling/schedule.ts +15 -1
  47. package/src/scheduling/task-cargo.ts +47 -0
  48. package/src/subscriptions/connection.ts +50 -2
  49. package/src/subscriptions/manager.ts +84 -4
  50. package/src/subscriptions/mappers.ts +5 -1
  51. package/src/subscriptions/types.ts +2 -2
  52. package/src/travel/travel.ts +61 -2
  53. package/src/types/entity-traits.ts +103 -1
  54. package/src/types.ts +11 -1
  55. package/src/utils/cargo.ts +27 -0
  56. package/src/utils/system.ts +25 -24
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, UInt64, Checksum256, UInt32, TimePointSec, Checksum256Type, UInt32Type, NameType, UInt64Type, Action, UInt8, Int64, UInt16, TimePoint, Bytes, Int32, UInt16Type, UInt8Type, TimePointType, Int64Type, Int32Type, Checksum512, APIClient } from '@wharfkit/antelope';
2
+ import { Blob, ABI, Struct, Name, UInt64, Checksum256, UInt32, TimePointSec, Checksum256Type, UInt32Type, NameType, UInt64Type, Action, UInt16, UInt8, Int64, TimePoint, Bytes, Int32, UInt16Type, UInt8Type, Int64Type, TimePointType, 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';
@@ -48,6 +48,10 @@ declare namespace Types$1 {
48
48
  meta: game_meta;
49
49
  state: game_state;
50
50
  }
51
+ class setepochtime extends Struct {
52
+ contract: Name;
53
+ epochtime: UInt32;
54
+ }
51
55
  class startgame extends Struct {
52
56
  contract: Name;
53
57
  config: game_config;
@@ -110,6 +114,10 @@ declare namespace ActionParams$1 {
110
114
  account: NameType;
111
115
  name: string;
112
116
  }
117
+ interface setepochtime {
118
+ contract: NameType;
119
+ epochtime: UInt32Type;
120
+ }
113
121
  interface startgame {
114
122
  contract: NameType;
115
123
  config: Type.game_config;
@@ -128,6 +136,7 @@ interface ActionNameParams$1 {
128
136
  enable: ActionParams$1.enable;
129
137
  enablegame: ActionParams$1.enablegame;
130
138
  foundcompany: ActionParams$1.foundcompany;
139
+ setepochtime: ActionParams$1.setepochtime;
131
140
  startgame: ActionParams$1.startgame;
132
141
  updategame: ActionParams$1.updategame;
133
142
  wipe: ActionParams$1.wipe;
@@ -158,12 +167,24 @@ declare namespace platform {
158
167
  declare const abiBlob: Blob;
159
168
  declare const abi: ABI;
160
169
  declare namespace Types {
170
+ class packed_module extends Struct {
171
+ item_id: UInt16;
172
+ stats: UInt64;
173
+ }
174
+ class module_entry extends Struct {
175
+ type: UInt8;
176
+ installed?: packed_module;
177
+ }
178
+ class cargo_ref extends Struct {
179
+ item_id: UInt16;
180
+ stats: UInt64;
181
+ modules: module_entry[];
182
+ }
161
183
  class addmodule extends Struct {
162
- entity_type: Name;
163
184
  entity_id: UInt64;
164
185
  module_index: UInt8;
165
- module_cargo_id: UInt64;
166
- target_cargo_id: UInt64;
186
+ module_ref: cargo_ref;
187
+ target_ref?: cargo_ref;
167
188
  }
168
189
  class addnexus extends Struct {
169
190
  nexus_name: string;
@@ -174,27 +195,17 @@ declare namespace Types {
174
195
  reveal: string;
175
196
  commit: Checksum256;
176
197
  }
177
- class packed_module extends Struct {
178
- item_id: UInt16;
179
- stats: UInt64;
180
- }
181
- class module_entry extends Struct {
182
- type: UInt8;
183
- installed?: packed_module;
184
- }
185
198
  class cargo_item extends Struct {
186
199
  item_id: UInt16;
187
- quantity: UInt32;
188
200
  stats: UInt64;
189
201
  modules: module_entry[];
202
+ quantity: UInt32;
190
203
  }
191
204
  class blend extends Struct {
192
- entity_type: Name;
193
205
  id: UInt64;
194
206
  inputs: cargo_item[];
195
207
  }
196
208
  class cancel extends Struct {
197
- entity_type: Name;
198
209
  id: UInt64;
199
210
  count: UInt64;
200
211
  }
@@ -218,6 +229,13 @@ declare namespace Types {
218
229
  stats: UInt64;
219
230
  modules: module_entry[];
220
231
  }
232
+ class cargo_view extends Struct {
233
+ item_id: UInt16;
234
+ stats: UInt64;
235
+ modules: module_entry[];
236
+ quantity: UInt32;
237
+ id: UInt64;
238
+ }
221
239
  class claimstarter extends Struct {
222
240
  account: Name;
223
241
  x: Int64;
@@ -259,32 +277,7 @@ declare namespace Types {
259
277
  y: Int64;
260
278
  z?: UInt16;
261
279
  }
262
- class task extends Struct {
263
- type: UInt8;
264
- duration: UInt32;
265
- cancelable: UInt8;
266
- coordinates?: coordinates;
267
- cargo: cargo_item[];
268
- entitytarget?: entity_ref;
269
- entitygroup?: UInt64;
270
- energy_cost?: UInt16;
271
- }
272
- class schedule extends Struct {
273
- started: TimePoint;
274
- tasks: task[];
275
- }
276
- class container_row extends Struct {
277
- id: UInt64;
278
- owner: Name;
279
- name: string;
280
- coordinates: coordinates;
281
- hullmass: UInt32;
282
- capacity: UInt32;
283
- cargomass: UInt32;
284
- schedule?: schedule;
285
- }
286
280
  class craft extends Struct {
287
- entity_type: Name;
288
281
  id: UInt64;
289
282
  recipe_id: UInt16;
290
283
  quantity: UInt32;
@@ -301,11 +294,12 @@ declare namespace Types {
301
294
  x: Int64;
302
295
  y: Int64;
303
296
  }
297
+ class demolish extends Struct {
298
+ entity_id: UInt64;
299
+ }
304
300
  class deploy extends Struct {
305
- entity_type: Name;
306
301
  id: UInt64;
307
- packed_item_id: UInt16;
308
- stats: UInt64;
302
+ ref: cargo_ref;
309
303
  }
310
304
  class descentity extends Struct {
311
305
  item_id: UInt16;
@@ -347,6 +341,20 @@ declare namespace Types {
347
341
  class warp_stats extends Struct {
348
342
  range: UInt32;
349
343
  }
344
+ class task extends Struct {
345
+ type: UInt8;
346
+ duration: UInt32;
347
+ cancelable: UInt8;
348
+ coordinates?: coordinates;
349
+ cargo: cargo_item[];
350
+ entitytarget?: entity_ref;
351
+ entitygroup?: UInt64;
352
+ energy_cost?: UInt16;
353
+ }
354
+ class schedule extends Struct {
355
+ started: TimePoint;
356
+ tasks: task[];
357
+ }
350
358
  class entity_info extends Struct {
351
359
  type: Name;
352
360
  id: UInt64;
@@ -354,7 +362,7 @@ declare namespace Types {
354
362
  entity_name: string;
355
363
  coordinates: coordinates;
356
364
  cargomass: UInt32;
357
- cargo: cargo_item[];
365
+ cargo: cargo_view[];
358
366
  loaders?: loader_stats;
359
367
  modules: module_entry[];
360
368
  energy?: UInt16;
@@ -376,6 +384,7 @@ declare namespace Types {
376
384
  }
377
385
  class slot_def extends Struct {
378
386
  type: UInt8;
387
+ output_pct: UInt16;
379
388
  }
380
389
  class entity_layout extends Struct {
381
390
  entity_item_id: UInt16;
@@ -384,6 +393,28 @@ declare namespace Types {
384
393
  class entity_layouts_result extends Struct {
385
394
  entities: entity_layout[];
386
395
  }
396
+ class entity_row extends Struct {
397
+ id: UInt64;
398
+ owner: Name;
399
+ kind: Name;
400
+ name: string;
401
+ stats: UInt64;
402
+ coordinates: coordinates;
403
+ hullmass?: UInt32;
404
+ capacity?: UInt32;
405
+ energy?: UInt16;
406
+ cargomass: UInt32;
407
+ engines?: movement_stats;
408
+ generator?: energy_stats;
409
+ loaders?: loader_stats;
410
+ gatherer?: gatherer_stats;
411
+ warp?: warp_stats;
412
+ crafter?: crafter_stats;
413
+ hauler?: hauler_stats;
414
+ modules: module_entry[];
415
+ schedule?: schedule;
416
+ item_id: UInt16;
417
+ }
387
418
  class entity_summary extends Struct {
388
419
  type: Name;
389
420
  id: UInt64;
@@ -411,20 +442,26 @@ declare namespace Types {
411
442
  class enum_result extends Struct {
412
443
  members: enum_member[];
413
444
  }
445
+ class fixcargomass extends Struct {
446
+ entity_id: UInt64;
447
+ }
414
448
  class gather extends Struct {
415
- source: entity_ref;
416
- destination: entity_ref;
449
+ source_id: UInt64;
450
+ destination_id: UInt64;
417
451
  stratum: UInt16;
418
452
  quantity: UInt32;
419
453
  }
420
454
  class getconfig extends Struct {
421
455
  }
456
+ class geteligible extends Struct {
457
+ coords: coordinates;
458
+ stratum: UInt16;
459
+ }
422
460
  class getentities extends Struct {
423
461
  owner: Name;
424
462
  entity_type?: Name;
425
463
  }
426
464
  class getentity extends Struct {
427
- entity_type: Name;
428
465
  entity_id: UInt64;
429
466
  }
430
467
  class getitemdata extends Struct {
@@ -448,7 +485,6 @@ declare namespace Types {
448
485
  class getmodules extends Struct {
449
486
  }
450
487
  class getnearby extends Struct {
451
- entity_type: Name;
452
488
  entity_id: UInt64;
453
489
  recharge: boolean;
454
490
  }
@@ -495,7 +531,7 @@ declare namespace Types {
495
531
  class hash512 extends Struct {
496
532
  value: string;
497
533
  }
498
- class init extends Struct {
534
+ class initialize extends Struct {
499
535
  seed: Checksum256;
500
536
  }
501
537
  class item_id_pair extends Struct {
@@ -551,28 +587,14 @@ declare namespace Types {
551
587
  seed0: UInt8;
552
588
  seed1: UInt8;
553
589
  }
554
- class location_epoch extends Struct {
555
- active: boolean;
556
- seed0: UInt8;
557
- seed1: UInt8;
558
- }
559
590
  class location_derived extends Struct {
560
591
  static_props: location_static;
561
- epoch_props: location_epoch;
562
592
  size: UInt16;
563
593
  }
564
594
  class location_info extends Struct {
565
595
  coords: coordinates;
566
596
  is_system: boolean;
567
597
  }
568
- class location_row extends Struct {
569
- id: UInt64;
570
- owner: Name;
571
- coordinates: coordinates;
572
- cargomass: UInt32;
573
- cargo: cargo_item[];
574
- schedule?: schedule;
575
- }
576
598
  class module_info extends Struct {
577
599
  id: UInt16;
578
600
  mass: UInt32;
@@ -595,12 +617,6 @@ declare namespace Types {
595
617
  max_energy: UInt16;
596
618
  systems: nearby_system[];
597
619
  }
598
- class nexus_row extends Struct {
599
- id: UInt64;
600
- owner: Name;
601
- name: string;
602
- coordinates: coordinates;
603
- }
604
620
  class schema_field extends Struct {
605
621
  name: string;
606
622
  field_type: string;
@@ -640,17 +656,16 @@ declare namespace Types {
640
656
  owner: Name;
641
657
  is_player: boolean;
642
658
  company_name: string;
643
- ship_count: UInt64;
644
- warehouse_count: UInt64;
645
- container_count: UInt64;
646
659
  }
647
660
  class player_row extends Struct {
648
661
  owner: Name;
649
662
  }
650
663
  class recharge extends Struct {
651
- entity_type: Name;
652
664
  id: UInt64;
653
665
  }
666
+ class refrshentity extends Struct {
667
+ entity_id: UInt64;
668
+ }
654
669
  class reserve_row extends Struct {
655
670
  id: UInt64;
656
671
  coord_id: UInt64;
@@ -658,7 +673,6 @@ declare namespace Types {
658
673
  remaining: UInt32;
659
674
  }
660
675
  class resolve extends Struct {
661
- entity_type: Name;
662
676
  id: UInt64;
663
677
  count?: UInt64;
664
678
  }
@@ -685,10 +699,9 @@ declare namespace Types {
685
699
  resources: resource_info[];
686
700
  }
687
701
  class rmmodule extends Struct {
688
- entity_type: Name;
689
702
  entity_id: UInt64;
690
703
  module_index: UInt8;
691
- target_cargo_id: UInt64;
704
+ target_ref?: cargo_ref;
692
705
  }
693
706
  class rmnftcfg extends Struct {
694
707
  item_id: UInt16;
@@ -696,34 +709,13 @@ declare namespace Types {
696
709
  class salt extends Struct {
697
710
  salt: UInt64;
698
711
  }
699
- class sequence_row extends Struct {
700
- key: Name;
701
- value: UInt64;
702
- }
703
712
  class setnftcfg extends Struct {
704
713
  item_id: UInt16;
705
714
  template_id: Int32;
706
715
  schema_name: Name;
707
716
  }
708
- class ship_row extends Struct {
709
- id: UInt64;
710
- owner: Name;
711
- name: string;
712
- stats: UInt64;
713
- coordinates: coordinates;
714
- hullmass?: UInt32;
715
- capacity?: UInt32;
716
- energy?: UInt16;
717
- cargomass: UInt32;
718
- engines?: movement_stats;
719
- generator?: energy_stats;
720
- loaders?: loader_stats;
721
- gatherer?: gatherer_stats;
722
- warp?: warp_stats;
723
- crafter?: crafter_stats;
724
- hauler?: hauler_stats;
725
- modules: module_entry[];
726
- schedule?: schedule;
717
+ class skipreveal extends Struct {
718
+ commit: Checksum256;
727
719
  }
728
720
  class spawncargo extends Struct {
729
721
  entity_id: UInt64;
@@ -746,7 +738,6 @@ declare namespace Types {
746
738
  enabled: boolean;
747
739
  epoch: UInt32;
748
740
  salt: UInt64;
749
- ships: UInt32;
750
741
  seed: Checksum256;
751
742
  commit: Checksum256;
752
743
  }
@@ -769,16 +760,11 @@ declare namespace Types {
769
760
  entities: entity_task_info[];
770
761
  }
771
762
  class transfer extends Struct {
772
- source_type: Name;
773
763
  source_id: UInt64;
774
- dest_type: Name;
775
764
  dest_id: UInt64;
776
- item_id: UInt16;
777
- stats: UInt64;
778
- quantity: UInt32;
765
+ items: cargo_item[];
779
766
  }
780
767
  class travel extends Struct {
781
- entity_type: Name;
782
768
  id: UInt64;
783
769
  x: Int64;
784
770
  y: Int64;
@@ -790,74 +776,54 @@ declare namespace Types {
790
776
  game_config_type: game_config;
791
777
  stratum_remaining_type: stratum_remaining;
792
778
  }
793
- class warehouse_row extends Struct {
794
- id: UInt64;
795
- owner: Name;
796
- name: string;
797
- stats: UInt64;
798
- coordinates: coordinates;
799
- hullmass?: UInt32;
800
- capacity?: UInt32;
801
- cargomass: UInt32;
802
- loaders?: loader_stats;
803
- modules: module_entry[];
804
- schedule?: schedule;
779
+ class undeploy extends Struct {
780
+ host_id: UInt64;
781
+ target_id: UInt64;
805
782
  }
806
783
  class warp extends Struct {
807
- entity_type: Name;
808
784
  id: UInt64;
809
785
  x: Int64;
810
786
  y: Int64;
811
787
  }
812
788
  class wipe extends Struct {
813
789
  }
814
- class wipesequence extends Struct {
815
- }
816
790
  class wrap extends Struct {
817
791
  owner: Name;
818
- entity_type: Name;
819
792
  entity_id: UInt64;
820
- cargo_id: UInt64;
821
- quantity: UInt64;
793
+ nexus_id: UInt64;
794
+ items: cargo_item[];
795
+ }
796
+ class wrapentity extends Struct {
797
+ entity_id: UInt64;
798
+ nexus_id: UInt64;
822
799
  }
823
800
  }
824
801
  declare const TableMap: {
825
802
  cargo: typeof Types.cargo_row;
826
- container: typeof Types.container_row;
803
+ entity: typeof Types.entity_row;
827
804
  entitygroup: typeof Types.entitygroup_row;
828
- location: typeof Types.location_row;
829
- nexus: typeof Types.nexus_row;
830
805
  nftconfig: typeof Types.nftconfig_row;
831
806
  player: typeof Types.player_row;
832
807
  reserve: typeof Types.reserve_row;
833
- sequence: typeof Types.sequence_row;
834
- ship: typeof Types.ship_row;
835
808
  state: typeof Types.state_row;
836
809
  types: typeof Types.types_row;
837
- warehouse: typeof Types.warehouse_row;
838
810
  };
839
811
  interface TableTypes {
840
812
  cargo: Types.cargo_row;
841
- container: Types.container_row;
813
+ entity: Types.entity_row;
842
814
  entitygroup: Types.entitygroup_row;
843
- location: Types.location_row;
844
- nexus: Types.nexus_row;
845
815
  nftconfig: Types.nftconfig_row;
846
816
  player: Types.player_row;
847
817
  reserve: Types.reserve_row;
848
- sequence: Types.sequence_row;
849
- ship: Types.ship_row;
850
818
  state: Types.state_row;
851
819
  types: Types.types_row;
852
- warehouse: Types.warehouse_row;
853
820
  }
854
821
  type RowType<T> = T extends keyof TableTypes ? TableTypes[T] : any;
855
822
  type TableNames = keyof TableTypes;
856
823
  declare namespace ActionParams {
857
824
  namespace Type {
858
- interface cargo_item {
825
+ interface cargo_ref {
859
826
  item_id: UInt16Type;
860
- quantity: UInt32Type;
861
827
  stats: UInt64Type;
862
828
  modules: Type.module_entry[];
863
829
  }
@@ -869,6 +835,12 @@ declare namespace ActionParams {
869
835
  item_id: UInt16Type;
870
836
  stats: UInt64Type;
871
837
  }
838
+ interface cargo_item {
839
+ item_id: UInt16Type;
840
+ stats: UInt64Type;
841
+ modules: Type.module_entry[];
842
+ quantity: UInt32Type;
843
+ }
872
844
  interface game_config {
873
845
  version: UInt32Type;
874
846
  defaults: Type.entity_defaults;
@@ -885,6 +857,11 @@ declare namespace ActionParams {
885
857
  subtype: UInt8Type;
886
858
  tier: UInt8Type;
887
859
  }
860
+ interface coordinates {
861
+ x: Int64Type;
862
+ y: Int64Type;
863
+ z?: UInt16Type;
864
+ }
888
865
  interface entity_ref {
889
866
  entity_type: NameType;
890
867
  entity_id: UInt64Type;
@@ -910,18 +887,12 @@ declare namespace ActionParams {
910
887
  entitygroup?: UInt64Type;
911
888
  energy_cost?: UInt16Type;
912
889
  }
913
- interface coordinates {
914
- x: Int64Type;
915
- y: Int64Type;
916
- z?: UInt16Type;
917
- }
918
890
  }
919
891
  interface addmodule {
920
- entity_type: NameType;
921
892
  entity_id: UInt64Type;
922
893
  module_index: UInt8Type;
923
- module_cargo_id: UInt64Type;
924
- target_cargo_id: UInt64Type;
894
+ module_ref: Type.cargo_ref;
895
+ target_ref?: Type.cargo_ref;
925
896
  }
926
897
  interface addnexus {
927
898
  nexus_name: string;
@@ -933,12 +904,10 @@ declare namespace ActionParams {
933
904
  commit: Checksum256Type;
934
905
  }
935
906
  interface blend {
936
- entity_type: NameType;
937
907
  id: UInt64Type;
938
908
  inputs: Type.cargo_item[];
939
909
  }
940
910
  interface cancel {
941
- entity_type: NameType;
942
911
  id: UInt64Type;
943
912
  count: UInt64Type;
944
913
  }
@@ -963,7 +932,6 @@ declare namespace ActionParams {
963
932
  config: Type.game_config;
964
933
  }
965
934
  interface craft {
966
- entity_type: NameType;
967
935
  id: UInt64Type;
968
936
  recipe_id: UInt16Type;
969
937
  quantity: UInt32Type;
@@ -976,11 +944,12 @@ declare namespace ActionParams {
976
944
  x: Int64Type;
977
945
  y: Int64Type;
978
946
  }
947
+ interface demolish {
948
+ entity_id: UInt64Type;
949
+ }
979
950
  interface deploy {
980
- entity_type: NameType;
981
951
  id: UInt64Type;
982
- packed_item_id: UInt16Type;
983
- stats: UInt64Type;
952
+ ref: Type.cargo_ref;
984
953
  }
985
954
  interface descentity {
986
955
  item_id: UInt16Type;
@@ -991,20 +960,26 @@ declare namespace ActionParams {
991
960
  interface enable {
992
961
  enabled: boolean;
993
962
  }
963
+ interface fixcargomass {
964
+ entity_id: UInt64Type;
965
+ }
994
966
  interface gather {
995
- source: Type.entity_ref;
996
- destination: Type.entity_ref;
967
+ source_id: UInt64Type;
968
+ destination_id: UInt64Type;
997
969
  stratum: UInt16Type;
998
970
  quantity: UInt32Type;
999
971
  }
1000
972
  interface getconfig {
1001
973
  }
974
+ interface geteligible {
975
+ coords: Type.coordinates;
976
+ stratum: UInt16Type;
977
+ }
1002
978
  interface getentities {
1003
979
  owner: NameType;
1004
980
  entity_type?: NameType;
1005
981
  }
1006
982
  interface getentity {
1007
- entity_type: NameType;
1008
983
  entity_id: UInt64Type;
1009
984
  }
1010
985
  interface getitemdata {
@@ -1028,7 +1003,6 @@ declare namespace ActionParams {
1028
1003
  interface getmodules {
1029
1004
  }
1030
1005
  interface getnearby {
1031
- entity_type: NameType;
1032
1006
  entity_id: UInt64Type;
1033
1007
  recharge: boolean;
1034
1008
  }
@@ -1075,7 +1049,7 @@ declare namespace ActionParams {
1075
1049
  interface hash512 {
1076
1050
  value: string;
1077
1051
  }
1078
- interface init {
1052
+ interface initialize {
1079
1053
  seed: Checksum256Type;
1080
1054
  }
1081
1055
  interface join {
@@ -1085,19 +1059,19 @@ declare namespace ActionParams {
1085
1059
  event: Type.task_event;
1086
1060
  }
1087
1061
  interface recharge {
1088
- entity_type: NameType;
1089
1062
  id: UInt64Type;
1090
1063
  }
1064
+ interface refrshentity {
1065
+ entity_id: UInt64Type;
1066
+ }
1091
1067
  interface resolve {
1092
- entity_type: NameType;
1093
1068
  id: UInt64Type;
1094
1069
  count?: UInt64Type;
1095
1070
  }
1096
1071
  interface rmmodule {
1097
- entity_type: NameType;
1098
1072
  entity_id: UInt64Type;
1099
1073
  module_index: UInt8Type;
1100
- target_cargo_id: UInt64Type;
1074
+ target_ref?: Type.cargo_ref;
1101
1075
  }
1102
1076
  interface rmnftcfg {
1103
1077
  item_id: UInt16Type;
@@ -1110,6 +1084,9 @@ declare namespace ActionParams {
1110
1084
  template_id: Int32Type;
1111
1085
  schema_name: NameType;
1112
1086
  }
1087
+ interface skipreveal {
1088
+ commit: Checksum256Type;
1089
+ }
1113
1090
  interface spawncargo {
1114
1091
  entity_id: UInt64Type;
1115
1092
  item_id: UInt64Type;
@@ -1128,37 +1105,36 @@ declare namespace ActionParams {
1128
1105
  stats: UInt64Type;
1129
1106
  }
1130
1107
  interface transfer {
1131
- source_type: NameType;
1132
1108
  source_id: UInt64Type;
1133
- dest_type: NameType;
1134
1109
  dest_id: UInt64Type;
1135
- item_id: UInt16Type;
1136
- stats: UInt64Type;
1137
- quantity: UInt32Type;
1110
+ items: Type.cargo_item[];
1138
1111
  }
1139
1112
  interface travel {
1140
- entity_type: NameType;
1141
1113
  id: UInt64Type;
1142
1114
  x: Int64Type;
1143
1115
  y: Int64Type;
1144
1116
  recharge: boolean;
1145
1117
  }
1118
+ interface undeploy {
1119
+ host_id: UInt64Type;
1120
+ target_id: UInt64Type;
1121
+ }
1146
1122
  interface warp {
1147
- entity_type: NameType;
1148
1123
  id: UInt64Type;
1149
1124
  x: Int64Type;
1150
1125
  y: Int64Type;
1151
1126
  }
1152
1127
  interface wipe {
1153
1128
  }
1154
- interface wipesequence {
1155
- }
1156
1129
  interface wrap {
1157
1130
  owner: NameType;
1158
- entity_type: NameType;
1159
1131
  entity_id: UInt64Type;
1160
- cargo_id: UInt64Type;
1161
- quantity: UInt64Type;
1132
+ nexus_id: UInt64Type;
1133
+ items: Type.cargo_item[];
1134
+ }
1135
+ interface wrapentity {
1136
+ entity_id: UInt64Type;
1137
+ nexus_id: UInt64Type;
1162
1138
  }
1163
1139
  }
1164
1140
  interface ActionNameParams {
@@ -1174,11 +1150,14 @@ interface ActionNameParams {
1174
1150
  configlog: ActionParams.configlog;
1175
1151
  craft: ActionParams.craft;
1176
1152
  createentity: ActionParams.createentity;
1153
+ demolish: ActionParams.demolish;
1177
1154
  deploy: ActionParams.deploy;
1178
1155
  descentity: ActionParams.descentity;
1179
1156
  enable: ActionParams.enable;
1157
+ fixcargomass: ActionParams.fixcargomass;
1180
1158
  gather: ActionParams.gather;
1181
1159
  getconfig: ActionParams.getconfig;
1160
+ geteligible: ActionParams.geteligible;
1182
1161
  getentities: ActionParams.getentities;
1183
1162
  getentity: ActionParams.getentity;
1184
1163
  getitemdata: ActionParams.getitemdata;
@@ -1203,33 +1182,38 @@ interface ActionNameParams {
1203
1182
  grouptravel: ActionParams.grouptravel;
1204
1183
  hash: ActionParams.hash;
1205
1184
  hash512: ActionParams.hash512;
1206
- init: ActionParams.init;
1185
+ initialize: ActionParams.initialize;
1207
1186
  join: ActionParams.join;
1208
1187
  notify: ActionParams.notify;
1209
1188
  recharge: ActionParams.recharge;
1189
+ refrshentity: ActionParams.refrshentity;
1210
1190
  resolve: ActionParams.resolve;
1211
1191
  rmmodule: ActionParams.rmmodule;
1212
1192
  rmnftcfg: ActionParams.rmnftcfg;
1213
1193
  salt: ActionParams.salt;
1214
1194
  setnftcfg: ActionParams.setnftcfg;
1195
+ skipreveal: ActionParams.skipreveal;
1215
1196
  spawncargo: ActionParams.spawncargo;
1216
1197
  spawnpacked: ActionParams.spawnpacked;
1217
1198
  spawnseeded: ActionParams.spawnseeded;
1218
1199
  transfer: ActionParams.transfer;
1219
1200
  travel: ActionParams.travel;
1201
+ undeploy: ActionParams.undeploy;
1220
1202
  warp: ActionParams.warp;
1221
1203
  wipe: ActionParams.wipe;
1222
- wipesequence: ActionParams.wipesequence;
1223
1204
  wrap: ActionParams.wrap;
1205
+ wrapentity: ActionParams.wrapentity;
1224
1206
  }
1225
1207
  type ActionNames = keyof ActionNameParams;
1226
1208
  interface ActionReturnValues {
1227
1209
  cancel: Types.cancel_results;
1228
1210
  craft: Types.task_results;
1211
+ demolish: Types.task_results;
1229
1212
  deploy: Types.task_results;
1230
1213
  descentity: string;
1231
1214
  gather: Types.task_results;
1232
1215
  getconfig: Types.game_config;
1216
+ geteligible: UInt16[];
1233
1217
  getentities: Types.entity_info[];
1234
1218
  getentity: Types.entity_info;
1235
1219
  getitemdata: Types.itemdata_result;
@@ -1258,8 +1242,10 @@ interface ActionReturnValues {
1258
1242
  resolve: Types.resolve_results;
1259
1243
  transfer: Types.task_results;
1260
1244
  travel: Types.task_results;
1245
+ undeploy: Types.task_results;
1261
1246
  warp: Types.task_results;
1262
1247
  wrap: Types.task_results;
1248
+ wrapentity: Types.task_results;
1263
1249
  }
1264
1250
  type ActionReturnNames = keyof ActionReturnValues;
1265
1251
  declare class Contract extends Contract$2 {
@@ -1320,15 +1306,15 @@ declare const PLAYER_ALREADY_JOINED = "Player has already joined the game.";
1320
1306
  declare const PLAYER_NOT_JOINED = "Player has not joined the game.";
1321
1307
  declare const PLAYER_NOT_FOUND = "Cannot find player for given account name.";
1322
1308
  declare const STARTER_ALREADY_CLAIMED = "Starter ship already claimed; destroy existing ships to re-claim.";
1323
- declare const SHIP_ALREADY_THERE = "Ship cannot travel to the location its already at.";
1309
+ declare const ENTITY_ALREADY_THERE = "Entity cannot travel to the location it is already at.";
1324
1310
  declare const SHIP_ALREADY_TRAVELING = "Ship is already traveling.";
1325
1311
  declare const SHIP_CANNOT_BUY_TRAVELING = "Ship cannot buy goods while traveling.";
1326
1312
  declare const SHIP_CANNOT_UPDATE_TRAVELING = "Ship cannot be updated while traveling.";
1327
- declare const SHIP_INVALID_DESTINATION = "Ship cannot travel, no system at specified destination.";
1328
- declare const SHIP_INVALID_TRAVEL_DURATION = "This trip cannot be made as it would exceed the maximum travel duration.";
1313
+ declare const ENTITY_INVALID_DESTINATION = "Cannot travel: no system at specified destination.";
1314
+ declare const ENTITY_INVALID_TRAVEL_DURATION = "This trip cannot be made as it would exceed the maximum travel duration.";
1329
1315
  declare const SHIP_NOT_ARRIVED = "Ship has not yet arrived at its destination.";
1330
- declare const SHIP_NOT_ENOUGH_ENERGY = "Ship does not have enough energy to travel to the destination.";
1331
- declare const SHIP_NOT_ENOUGH_ENERGY_CAPACITY = "Ship does not have enough energy capacity to travel.";
1316
+ declare const ENTITY_NOT_ENOUGH_ENERGY = "Entity does not have enough energy to travel to the destination.";
1317
+ declare const ENTITY_NOT_ENOUGH_ENERGY_CAPACITY = "Entity does not have enough energy capacity to travel.";
1332
1318
  declare const SHIP_NOT_FOUND = "Cannot find ship for given account.";
1333
1319
  declare const SHIP_NOT_OWNED = "Ship is not owned by this account.";
1334
1320
  declare const NO_SCHEDULE = "No scheduled tasks.";
@@ -1337,16 +1323,13 @@ declare const SHIP_NO_COMPLETED_TASKS = "No completed tasks to resolve.";
1337
1323
  declare const RESOLVE_COUNT_EXCEEDS_COMPLETED = "Requested resolve count exceeds completed tasks.";
1338
1324
  declare const SHIP_CANNOT_CANCEL_TASK = "Cannot cancel task that is immutable or in progress.";
1339
1325
  declare const SHIP_NO_TASKS_TO_CANCEL = "No tasks to cancel.";
1340
- declare const SHIP_INVALID_CARGO = "Invalid cargo specified for load/unload.";
1341
- declare const SHIP_CARGO_NOT_OWNED = "Cannot load cargo that is not owned.";
1342
- declare const SHIP_CARGO_NOT_LOADED = "Cannot unload cargo that is not loaded.";
1343
- declare const SHIP_CAPACITY_EXCEEDED = "Ship cargo capacity would be exceeded.";
1326
+ declare const ENTITY_INVALID_CARGO = "Invalid cargo specified for load/unload.";
1327
+ declare const ENTITY_CARGO_NOT_OWNED = "Cannot load cargo that is not owned.";
1328
+ declare const ENTITY_CARGO_NOT_LOADED = "Cannot unload cargo that is not loaded.";
1344
1329
  declare const ENTITY_CAPACITY_EXCEEDED = "Entity cargo capacity would be exceeded.";
1345
1330
  declare const WAREHOUSE_NOT_FOUND = "Cannot find warehouse for given id.";
1346
1331
  declare const WAREHOUSE_ALREADY_AT_LOCATION = "Warehouse already exists at this location.";
1347
- declare const WAREHOUSE_CAPACITY_EXCEEDED = "Warehouse capacity would be exceeded.";
1348
1332
  declare const CONTAINER_NOT_FOUND = "Cannot find container for given id.";
1349
- declare const CONTAINER_CAPACITY_EXCEEDED = "Container capacity would be exceeded.";
1350
1333
  declare const DESTINATION_CAPACITY_EXCEEDED = "Destination entity does not have enough capacity for the gather.";
1351
1334
  declare const CANCEL_PAIRED_HAS_PENDING = "Cannot cancel transfer, paired entity has pending tasks.";
1352
1335
  declare const GROUP_EMPTY = "Group travel requires at least one entity.";
@@ -1393,12 +1376,13 @@ declare const INSUFFICIENT_ITEM_SUPPLY = "Insufficient supply of item at locatio
1393
1376
 
1394
1377
  declare const PRECISION = 10000;
1395
1378
  declare const CRAFT_ENERGY_DIVISOR = 150000;
1396
- declare const WAREHOUSE_Z = 500;
1379
+ declare const PLANETARY_STRUCTURE_Z = 0;
1397
1380
  declare const CONTAINER_Z = 300;
1398
1381
  declare const TRAVEL_MAX_DURATION = 86400;
1399
1382
  declare const MIN_ORBITAL_ALTITUDE = 800;
1400
1383
  declare const MAX_ORBITAL_ALTITUDE = 3000;
1401
1384
  declare const BASE_ORBITAL_MASS = 100000;
1385
+ declare const MIN_TRANSFER_DISTANCE = 100;
1402
1386
  interface ShipLike {
1403
1387
  coordinates: Types.coordinates;
1404
1388
  hullmass?: UInt32;
@@ -1424,25 +1408,23 @@ declare enum TaskType {
1424
1408
  CRAFT = 7,
1425
1409
  DEPLOY = 8,
1426
1410
  WRAP = 9,
1427
- UNWRAP = 10
1411
+ UNWRAP = 10,
1412
+ UNDEPLOY = 11,
1413
+ WRAP_ENTITY = 12,
1414
+ DEMOLISH = 13
1428
1415
  }
1429
1416
  declare enum LocationType {
1430
1417
  EMPTY = 0,
1431
1418
  PLANET = 1,
1432
1419
  ASTEROID = 2,
1433
- NEBULA = 3
1420
+ NEBULA = 3,
1421
+ ICE_FIELD = 4
1434
1422
  }
1435
1423
  declare enum TaskCancelable {
1436
1424
  NEVER = 0,
1437
1425
  BEFORE_START = 1,
1438
1426
  ALWAYS = 2
1439
1427
  }
1440
- declare const EntityType$1: {
1441
- readonly SHIP: Name;
1442
- readonly WAREHOUSE: Name;
1443
- readonly CONTAINER: Name;
1444
- };
1445
- type EntityTypeName = (typeof EntityType$1)[keyof typeof EntityType$1];
1446
1428
  type CoordinatesType = Coordinates | Types.coordinates | {
1447
1429
  x: Int64Type;
1448
1430
  y: Int64Type;
@@ -1475,6 +1457,7 @@ interface Item {
1475
1457
  moduleType?: ModuleType;
1476
1458
  }
1477
1459
  declare function formatTier(tier: number): string;
1460
+ declare function tierAdjective(tier: number): string;
1478
1461
 
1479
1462
  declare const ITEM_ORE_T1 = 101;
1480
1463
  declare const ITEM_ORE_T2 = 102;
@@ -1543,9 +1526,12 @@ declare const ITEM_LOADER_T1 = 10103;
1543
1526
  declare const ITEM_CRAFTER_T1 = 10104;
1544
1527
  declare const ITEM_STORAGE_T1 = 10105;
1545
1528
  declare const ITEM_HAULER_T1 = 10106;
1529
+ declare const ITEM_WARP_T1 = 10107;
1546
1530
  declare const ITEM_CONTAINER_T1_PACKED = 10200;
1547
1531
  declare const ITEM_SHIP_T1_PACKED = 10201;
1548
1532
  declare const ITEM_WAREHOUSE_T1_PACKED = 10202;
1533
+ declare const ITEM_EXTRACTOR_T1_PACKED = 10203;
1534
+ declare const ITEM_FACTORY_T1_PACKED = 10204;
1549
1535
  declare const ITEM_HULL_PLATES_T2 = 20001;
1550
1536
  declare const ITEM_CARGO_LINING_T2 = 20002;
1551
1537
  declare const ITEM_CONTAINER_T2_PACKED = 20200;
@@ -1575,6 +1561,7 @@ interface Recipe {
1575
1561
  }
1576
1562
  interface EntitySlot {
1577
1563
  type: ModuleType;
1564
+ outputPct: number;
1578
1565
  }
1579
1566
  interface EntityLayout {
1580
1567
  entityItemId: number;
@@ -1622,10 +1609,6 @@ declare class GameState extends Types.state_row {
1622
1609
  * Check if the game is currently enabled
1623
1610
  */
1624
1611
  get isEnabled(): boolean;
1625
- /**
1626
- * Get the total number of ships in the game
1627
- */
1628
- get shipCount(): number;
1629
1612
  /**
1630
1613
  * Get the current salt value (used for random number generation)
1631
1614
  */
@@ -1662,7 +1645,6 @@ declare class GameState extends Types.state_row {
1662
1645
  get summary(): {
1663
1646
  enabled: boolean;
1664
1647
  epoch: string;
1665
- ships: number;
1666
1648
  hasSeed: boolean;
1667
1649
  hasCommit: boolean;
1668
1650
  };
@@ -1718,10 +1700,10 @@ declare function deriveStrata(coords: CoordinatesType, gameSeed: Checksum256Type
1718
1700
  declare function deriveLocationSize(loc: Types.location_static): number;
1719
1701
 
1720
1702
  declare const DEPTH_THRESHOLD_T1 = 0;
1721
- declare const DEPTH_THRESHOLD_T2 = 2000;
1722
- declare const DEPTH_THRESHOLD_T3 = 10000;
1723
- declare const DEPTH_THRESHOLD_T4 = 30000;
1724
- declare const DEPTH_THRESHOLD_T5 = 55000;
1703
+ declare const DEPTH_THRESHOLD_T2 = 1500;
1704
+ declare const DEPTH_THRESHOLD_T3 = 5000;
1705
+ declare const DEPTH_THRESHOLD_T4 = 12000;
1706
+ declare const DEPTH_THRESHOLD_T5 = 22000;
1725
1707
  declare const LOCATION_MIN_DEPTH = 500;
1726
1708
  declare const LOCATION_MAX_DEPTH = 65535;
1727
1709
  declare const PLANET_SUBTYPE_GAS_GIANT = 0;
@@ -1733,6 +1715,11 @@ declare const PLANET_SUBTYPE_INDUSTRIAL = 5;
1733
1715
  declare function getDepthThreshold(tier: number): number;
1734
1716
  declare function getResourceTier(itemId: number): number;
1735
1717
  declare function getResourceWeight(itemId: number, stratum: number): number;
1718
+ interface LocationProfileEntry {
1719
+ category: number;
1720
+ maxTier: number;
1721
+ }
1722
+ declare function getLocationProfile(locationType: number, subtype: number): LocationProfileEntry[];
1736
1723
  declare function getLocationCandidates(locationType: number, subtype: number): number[];
1737
1724
  declare function getEligibleResources(locationType: number, subtype: number, stratum: number): number[];
1738
1725
 
@@ -1830,9 +1817,6 @@ declare class LocationsManager extends BaseManager {
1830
1817
  hasSystem(location: CoordinatesType): Promise<boolean>;
1831
1818
  findNearbyPlanets(origin: CoordinatesType, maxDistance?: UInt16Type): Promise<Distance[]>;
1832
1819
  getStrata(coords: CoordinatesType): Promise<LocationStratum[]>;
1833
- getLocationEntity(id: UInt64Type): Promise<Types.location_row | undefined>;
1834
- getLocationEntityAt(coords: CoordinatesType): Promise<Types.location_row | undefined>;
1835
- getAllLocationEntities(): Promise<Types.location_row[]>;
1836
1820
  }
1837
1821
 
1838
1822
  declare class EpochsManager extends BaseManager {
@@ -1845,26 +1829,30 @@ declare class EpochsManager extends BaseManager {
1845
1829
  }
1846
1830
 
1847
1831
  type EntityRefInput = {
1848
- entityType: EntityTypeName;
1832
+ entityType: NameType;
1849
1833
  entityId: UInt64Type;
1850
1834
  };
1851
1835
  declare class ActionsManager extends BaseManager {
1852
1836
  travel(shipId: UInt64Type, destination: CoordinatesType, recharge?: boolean): Action;
1853
1837
  grouptravel(entities: EntityRefInput[], destination: CoordinatesType, recharge?: boolean): Action;
1854
- resolve(entityId: UInt64Type, entityType?: EntityTypeName, count?: UInt64Type): Action;
1855
- cancel(entityId: UInt64Type, count: UInt64Type, entityType?: EntityTypeName): Action;
1856
- recharge(entityId: UInt64Type, entityType?: EntityTypeName): Action;
1857
- transfer(sourceType: EntityTypeName, sourceId: UInt64Type, destType: EntityTypeName, destId: UInt64Type, itemId: UInt64Type, stats: UInt64Type, quantity: UInt64Type): Action;
1838
+ resolve(entityId: UInt64Type, count?: UInt64Type): Action;
1839
+ cancel(entityId: UInt64Type, count: UInt64Type): Action;
1840
+ recharge(entityId: UInt64Type): Action;
1841
+ refrshentity(entityId: UInt64Type): Action;
1842
+ transfer(sourceId: UInt64Type, destId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
1858
1843
  foundCompany(account: NameType, name: string): Action;
1859
1844
  join(account: NameType): Action;
1860
- gather(source: EntityRefInput, destination: EntityRefInput, stratum: UInt16Type, quantity: UInt32Type): Action;
1861
- warp(entityId: UInt64Type, destination: CoordinatesType, entityType?: EntityTypeName): Action;
1862
- craft(entityType: EntityTypeName, entityId: UInt64Type, recipeId: number, quantity: number, inputs: ActionParams.Type.cargo_item[]): Action;
1863
- blend(entityType: EntityTypeName, entityId: UInt64Type, inputs: ActionParams.Type.cargo_item[]): Action;
1864
- deploy(entityType: EntityTypeName, entityId: UInt64Type, packedItemId: number, stats: bigint): Action;
1865
- addmodule(entityType: EntityTypeName, entityId: UInt64Type, moduleIndex: number, moduleCargoId: UInt64Type, targetCargoId?: UInt64Type): Action;
1866
- rmmodule(entityType: EntityTypeName, entityId: UInt64Type, moduleIndex: number, targetCargoId?: UInt64Type): Action;
1867
- wrap(owner: NameType, entityType: EntityTypeName, entityId: UInt64Type, cargoId: UInt64Type, quantity: UInt64Type): Action;
1845
+ gather(sourceId: UInt64Type, destinationId: UInt64Type, stratum: UInt16Type, quantity: UInt32Type): Action;
1846
+ warp(entityId: UInt64Type, destination: CoordinatesType): Action;
1847
+ craft(entityId: UInt64Type, recipeId: number, quantity: number, inputs: ActionParams.Type.cargo_item[]): Action;
1848
+ blend(entityId: UInt64Type, inputs: ActionParams.Type.cargo_item[]): Action;
1849
+ deploy(entityId: UInt64Type, ref: ActionParams.Type.cargo_ref): Action;
1850
+ addmodule(entityId: UInt64Type, moduleIndex: number, moduleRef: ActionParams.Type.cargo_ref, targetRef?: ActionParams.Type.cargo_ref | null): Action;
1851
+ rmmodule(entityId: UInt64Type, moduleIndex: number, targetRef?: ActionParams.Type.cargo_ref | null): Action;
1852
+ wrap(owner: NameType, entityId: UInt64Type, nexusId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
1853
+ undeploy(hostId: UInt64Type, targetId: UInt64Type): Action;
1854
+ wrapEntity(entityId: UInt64Type, nexusId: UInt64Type): Action;
1855
+ demolish(entityId: UInt64Type): Action;
1868
1856
  joinGame(account: NameType, companyName: string): Action[];
1869
1857
  }
1870
1858
 
@@ -1899,7 +1887,7 @@ type UnsubscribeMessage = {
1899
1887
  type SubscribeEntityMessage = {
1900
1888
  type: 'subscribe_entity';
1901
1889
  sub_id: string;
1902
- entity_type: 'ship' | 'warehouse' | 'container';
1890
+ entity_type: 'ship' | 'warehouse' | 'container' | 'nexus';
1903
1891
  entity_id: string;
1904
1892
  };
1905
1893
  type UnsubscribeEntityMessage = {
@@ -1925,7 +1913,7 @@ type AckMessage = {
1925
1913
  };
1926
1914
  type WireEntity = Record<string, unknown> & {
1927
1915
  type: number;
1928
- type_name: 'ship' | 'warehouse' | 'container';
1916
+ type_name: 'ship' | 'warehouse' | 'container' | 'nexus';
1929
1917
  id: string | number;
1930
1918
  owner: string;
1931
1919
  coordinates: WireCoordinates;
@@ -1973,23 +1961,121 @@ type ErrorMessage = {
1973
1961
  };
1974
1962
  type ServerMessage = AckMessage | SnapshotMessage | UpdateMessage | BoundsDeltaMessage | EventMessage | EventCatchupCompleteMessage | PongMessage | ErrorMessage;
1975
1963
 
1976
- interface MovementCapability {
1977
- engines: Types.movement_stats;
1978
- generator: Types.energy_stats;
1979
- }
1980
- interface EnergyCapability {
1981
- energy: UInt16;
1982
- }
1983
- interface StorageCapability {
1984
- capacity: UInt32;
1985
- cargomass: UInt32;
1986
- cargo: Types.cargo_item[];
1987
- }
1988
- interface LoaderCapability {
1989
- loaders: Types.loader_stats;
1990
- }
1991
- interface GathererCapability {
1992
- gatherer: Types.gatherer_stats;
1964
+ /**
1965
+ * Travel calculations for ship movement, energy usage, and flight times.
1966
+ *
1967
+ * Functions prefixed with `calc_` are contract-parity functions that mirror
1968
+ * the C++ implementation in the server contract (schedule.cpp, ship.cpp).
1969
+ * These use snake_case intentionally to match the contract naming convention
1970
+ * and signal that they must produce identical results to the on-chain code.
1971
+ *
1972
+ * Functions prefixed with `calculate` are higher-level SDK helpers that may
1973
+ * combine multiple contract calculations for convenience.
1974
+ */
1975
+
1976
+ declare function calc_orbital_altitude(mass: number): number;
1977
+ declare function distanceBetweenCoordinates(origin: ActionParams.Type.coordinates, destination: ActionParams.Type.coordinates): UInt64;
1978
+ declare function distanceBetweenPoints(x1: Int64Type, y1: Int64Type, x2: Int64Type, y2: Int64Type): UInt64;
1979
+ declare function lerp(origin: ActionParams.Type.coordinates, destination: ActionParams.Type.coordinates, time: number): ActionParams.Type.coordinates;
1980
+ interface FloatPosition {
1981
+ x: number;
1982
+ y: number;
1983
+ }
1984
+ declare function easeFlightProgress(t: number): number;
1985
+ declare function flightSpeedFactor(t: number): number;
1986
+ declare function interpolateFlightPosition(origin: {
1987
+ x: Int64Type | number;
1988
+ y: Int64Type | number;
1989
+ }, destination: {
1990
+ x: Int64Type | number;
1991
+ y: Int64Type | number;
1992
+ }, taskProgress: number, options?: {
1993
+ easing?: 'physics' | 'linear';
1994
+ }): FloatPosition;
1995
+ declare function getInterpolatedPosition(entity: HasScheduleAndLocation, taskIndex: number, taskProgress: number): FloatPosition;
1996
+ declare function rotation(origin: ActionParams.Type.coordinates, destination: ActionParams.Type.coordinates): number;
1997
+ declare function findNearbyPlanets(seed: Checksum256, origin: ActionParams.Type.coordinates, maxDistance?: UInt64Type): Distance[];
1998
+ declare function calc_rechargetime(capacity: UInt32Type, energy: UInt32Type, recharge: UInt32Type): UInt32;
1999
+ declare function calc_ship_rechargetime(ship: ShipLike): UInt32;
2000
+ declare function calc_flighttime(distance: UInt64Type, acceleration: number): UInt32;
2001
+ declare function calc_loader_flighttime(ship: ShipLike, mass: UInt64, altitude?: number): UInt32;
2002
+ declare function calc_loader_acceleration(ship: ShipLike, mass: UInt64): number;
2003
+ declare function calc_ship_flighttime(ship: ShipLike, mass: UInt64, distance: UInt64): UInt32;
2004
+ declare function calc_ship_acceleration(ship: ShipLike, mass: UInt64): number;
2005
+ declare function calc_acceleration(thrust: number, mass: number): number;
2006
+ declare function calc_ship_mass(ship: ShipLike, cargos: CargoMassInfo[]): UInt64;
2007
+ declare function calc_energyusage(distance: UInt64Type, drain: UInt32Type): UInt32;
2008
+ declare function calculateTransferTime(ship: ShipLike, cargos: CargoMassInfo[], quantities?: Map<number, number>): UInt32;
2009
+ declare function calculateRefuelingTime(ship: ShipLike): UInt32;
2010
+ declare function calculateFlightTime(ship: ShipLike, cargos: CargoMassInfo[], distance: UInt64Type): UInt32;
2011
+ interface LoadTimeBreakdown {
2012
+ unloadTime: number;
2013
+ loadTime: number;
2014
+ totalTime: number;
2015
+ unloadMass: number;
2016
+ loadMass: number;
2017
+ }
2018
+ declare function calculateLoadTimeBreakdown(ship: ShipLike, cargos: CargoMassInfo[], loadQuantities?: Map<number, number>, unloadQuantities?: Map<number, number>): LoadTimeBreakdown;
2019
+ interface EstimatedTravelTime {
2020
+ flightTime: UInt32;
2021
+ rechargeTime: UInt32;
2022
+ loadTime: UInt32;
2023
+ unloadTime: UInt32;
2024
+ total: UInt32;
2025
+ }
2026
+ interface EstimateTravelTimeOptions {
2027
+ needsRecharge?: boolean;
2028
+ loadMass?: UInt32Type;
2029
+ unloadMass?: UInt32Type;
2030
+ }
2031
+ declare function estimateTravelTime(ship: ShipLike, travelMass: UInt64Type, distance: UInt64Type, options?: EstimateTravelTimeOptions): EstimatedTravelTime;
2032
+ declare function estimateDealTravelTime(ship: ShipLike, shipMass: UInt64Type, distance: UInt64Type, loadMass: UInt32Type): UInt32;
2033
+ declare function hasEnergyForDistance(ship: ShipLike, distance: UInt64Type): boolean;
2034
+ interface TransferEntity {
2035
+ location: {
2036
+ z?: {
2037
+ toNumber(): number;
2038
+ } | number;
2039
+ };
2040
+ loaders?: {
2041
+ thrust: {
2042
+ toNumber(): number;
2043
+ } | number;
2044
+ mass: {
2045
+ toNumber(): number;
2046
+ } | number;
2047
+ quantity: {
2048
+ toNumber(): number;
2049
+ } | number;
2050
+ };
2051
+ }
2052
+ interface HasScheduleAndLocation {
2053
+ coordinates: ActionParams.Type.coordinates;
2054
+ schedule?: Types.schedule;
2055
+ }
2056
+ declare function getFlightOrigin(entity: HasScheduleAndLocation, flightTaskIndex: number): ActionParams.Type.coordinates;
2057
+ declare function getDestinationLocation(entity: HasScheduleAndLocation): ActionParams.Type.coordinates | undefined;
2058
+ /** Returns chain-tile coordinates (rounded). For visual position use getInterpolatedPosition. */
2059
+ declare function getPositionAt(entity: HasScheduleAndLocation, taskIndex: number, taskProgress: number): ActionParams.Type.coordinates;
2060
+ declare function calc_transfer_duration(source: TransferEntity, dest: TransferEntity, cargoMass: number): number;
2061
+
2062
+ interface MovementCapability {
2063
+ engines: Types.movement_stats;
2064
+ generator: Types.energy_stats;
2065
+ }
2066
+ interface EnergyCapability {
2067
+ energy: UInt16;
2068
+ }
2069
+ interface StorageCapability {
2070
+ capacity: UInt32;
2071
+ cargomass: UInt32;
2072
+ cargo: Types.cargo_item[];
2073
+ }
2074
+ interface LoaderCapability {
2075
+ loaders: Types.loader_stats;
2076
+ }
2077
+ interface GathererCapability {
2078
+ gatherer: Types.gatherer_stats;
1993
2079
  }
1994
2080
  interface MassCapability {
1995
2081
  hullmass: UInt32;
@@ -2097,6 +2183,7 @@ declare function getTaskRemaining(entity: ScheduleData, index: number, now: Date
2097
2183
  declare function isTaskComplete(entity: ScheduleData, index: number, now: Date): boolean;
2098
2184
  declare function isTaskInProgress(entity: ScheduleData, index: number, now: Date): boolean;
2099
2185
  declare function currentTaskProgress(entity: ScheduleData, now: Date): number;
2186
+ declare function currentTaskProgressFloat(entity: ScheduleData, now: Date): number;
2100
2187
  declare function scheduleProgress(entity: ScheduleData, now: Date): number;
2101
2188
  declare function isTaskType(entity: ScheduleData, taskType: TaskType, now: Date): boolean;
2102
2189
  declare function isInFlight(entity: ScheduleData, now: Date): boolean;
@@ -2122,6 +2209,7 @@ declare const schedule_getTaskRemaining: typeof getTaskRemaining;
2122
2209
  declare const schedule_isTaskComplete: typeof isTaskComplete;
2123
2210
  declare const schedule_isTaskInProgress: typeof isTaskInProgress;
2124
2211
  declare const schedule_currentTaskProgress: typeof currentTaskProgress;
2212
+ declare const schedule_currentTaskProgressFloat: typeof currentTaskProgressFloat;
2125
2213
  declare const schedule_scheduleProgress: typeof scheduleProgress;
2126
2214
  declare const schedule_isTaskType: typeof isTaskType;
2127
2215
  declare const schedule_isInFlight: typeof isInFlight;
@@ -2149,6 +2237,7 @@ declare namespace schedule {
2149
2237
  schedule_isTaskComplete as isTaskComplete,
2150
2238
  schedule_isTaskInProgress as isTaskInProgress,
2151
2239
  schedule_currentTaskProgress as currentTaskProgress,
2240
+ schedule_currentTaskProgressFloat as currentTaskProgressFloat,
2152
2241
  schedule_scheduleProgress as scheduleProgress,
2153
2242
  schedule_isTaskType as isTaskType,
2154
2243
  schedule_isInFlight as isInFlight,
@@ -2241,6 +2330,7 @@ declare class ScheduleAccessor {
2241
2330
  taskComplete(index: number, now: Date): boolean;
2242
2331
  taskInProgress(index: number, now: Date): boolean;
2243
2332
  currentTaskProgress(now: Date): number;
2333
+ currentTaskProgressFloat(now: Date): number;
2244
2334
  progress(now: Date): number;
2245
2335
  }
2246
2336
  declare function createScheduleAccessor(entity: ScheduleData): ScheduleAccessor;
@@ -2293,6 +2383,8 @@ declare class Ship extends Types.entity_info {
2293
2383
  private _sched?;
2294
2384
  private _inv?;
2295
2385
  get name(): string;
2386
+ get entityClass(): 'orbital';
2387
+ get canUndeploy(): boolean;
2296
2388
  get inv(): InventoryAccessor;
2297
2389
  get inventory(): EntityInventory[];
2298
2390
  get sched(): ScheduleAccessor;
@@ -2300,7 +2392,9 @@ declare class Ship extends Types.entity_info {
2300
2392
  get isIdle(): boolean;
2301
2393
  getFlightOrigin(flightTaskIndex: number): Coordinates;
2302
2394
  destinationLocation(): Coordinates | undefined;
2395
+ /** Chain-tile coordinates at `now`. For smooth visual position use interpolatedPositionAt. */
2303
2396
  positionAt(now: Date): Coordinates;
2397
+ interpolatedPositionAt(now: Date): FloatPosition;
2304
2398
  isInFlight(now: Date): boolean;
2305
2399
  isRecharging(now: Date): boolean;
2306
2400
  isLoading(now: Date): boolean;
@@ -2328,6 +2422,12 @@ declare class Ship extends Types.entity_info {
2328
2422
  hasEnergyFor(distance: UInt64): boolean;
2329
2423
  }
2330
2424
 
2425
+ interface InstalledModule {
2426
+ slotIndex: number;
2427
+ itemId: number;
2428
+ stats: bigint;
2429
+ }
2430
+
2331
2431
  interface WarehouseStateInput {
2332
2432
  id: UInt64Type;
2333
2433
  owner: string;
@@ -2347,6 +2447,8 @@ declare class Warehouse extends Types.entity_info {
2347
2447
  private _sched?;
2348
2448
  private _inv?;
2349
2449
  get name(): string;
2450
+ get entityClass(): 'planetary';
2451
+ get canDemolish(): boolean;
2350
2452
  get inv(): InventoryAccessor;
2351
2453
  get inventory(): EntityInventory[];
2352
2454
  get sched(): ScheduleAccessor;
@@ -2363,10 +2465,7 @@ declare class Warehouse extends Types.entity_info {
2363
2465
  get orbitalAltitude(): number;
2364
2466
  get totalMass(): UInt64;
2365
2467
  }
2366
- declare function computeWarehouseCapabilities(modules: {
2367
- itemId: number;
2368
- stats: bigint;
2369
- }[]): {
2468
+ declare function computeWarehouseCapabilities(modules: InstalledModule[], layout: EntitySlot[]): {
2370
2469
  loaders?: {
2371
2470
  mass: number;
2372
2471
  thrust: number;
@@ -2392,8 +2491,11 @@ interface ContainerStateInput {
2392
2491
  declare class Container extends Types.entity_info {
2393
2492
  private _sched?;
2394
2493
  get name(): string;
2494
+ get entityClass(): 'orbital';
2495
+ get canUndeploy(): boolean;
2395
2496
  get sched(): ScheduleAccessor;
2396
2497
  get isIdle(): boolean;
2498
+ interpolatedPositionAt(now: Date): FloatPosition;
2397
2499
  isLoading(now: Date): boolean;
2398
2500
  isUnloading(now: Date): boolean;
2399
2501
  get location(): Location;
@@ -2413,10 +2515,30 @@ declare function computeContainerT2Capabilities(stats: Record<string, number>):
2413
2515
  capacity: number;
2414
2516
  };
2415
2517
 
2416
- type SubscriptionEntityType = 'ship' | 'warehouse' | 'container';
2417
- type EntityInstance = Ship | Warehouse | Container;
2518
+ interface NexusStateInput {
2519
+ id: UInt64Type;
2520
+ owner: string;
2521
+ name: string;
2522
+ coordinates: CoordinatesType | {
2523
+ x: number;
2524
+ y: number;
2525
+ z?: number;
2526
+ };
2527
+ }
2528
+ declare class Nexus extends Types.entity_info {
2529
+ get name(): string;
2530
+ get entityClass(): 'orbital';
2531
+ get location(): Location;
2532
+ get orbitalAltitude(): number;
2533
+ }
2534
+
2535
+ type SubscriptionEntityType = 'ship' | 'warehouse' | 'container' | 'nexus';
2536
+ type EntityInstance = Ship | Warehouse | Container | Nexus;
2418
2537
  interface SubscriptionsOptions {
2419
2538
  url: string;
2539
+ minReconnectDelay?: number;
2540
+ pingIntervalMs?: number;
2541
+ pongTimeoutMs?: number;
2420
2542
  }
2421
2543
  interface BoundsSubscriptionHandle {
2422
2544
  readonly subId: string;
@@ -2424,6 +2546,11 @@ interface BoundsSubscriptionHandle {
2424
2546
  updateBounds(bounds: BoundingBox): void;
2425
2547
  current: Map<number, EntityInstance>;
2426
2548
  }
2549
+ interface OwnerSubscriptionHandle {
2550
+ readonly subId: string;
2551
+ unsubscribe(): void;
2552
+ current: Map<number, EntityInstance>;
2553
+ }
2427
2554
  interface EntitySubscriptionHandle {
2428
2555
  readonly subId: string;
2429
2556
  readonly entityType: SubscriptionEntityType;
@@ -2436,6 +2563,7 @@ declare class SubscriptionsManager {
2436
2563
  private readonly entitySubs;
2437
2564
  private readonly boundsSubs;
2438
2565
  private subCounter;
2566
+ private hasConnected;
2439
2567
  constructor(opts: SubscriptionsOptions);
2440
2568
  close(): void;
2441
2569
  private generateSubID;
@@ -2449,8 +2577,13 @@ declare class SubscriptionsManager {
2449
2577
  owner?: string;
2450
2578
  prioritizeOwner?: string;
2451
2579
  }): BoundsSubscriptionHandle;
2580
+ subscribeOwner(owner: string, handlers?: {
2581
+ onSnapshot?: (entities: EntityInstance[]) => void;
2582
+ onUpdate?: (entity: EntityInstance) => void;
2583
+ }): OwnerSubscriptionHandle;
2452
2584
  private unsubscribeBounds;
2453
2585
  private updateBounds;
2586
+ private onStateChange;
2454
2587
  private onMessage;
2455
2588
  private parseEntity;
2456
2589
  private handleSnapshot;
@@ -2496,20 +2629,121 @@ declare abstract class BaseManager {
2496
2629
  protected getState(): Promise<GameState>;
2497
2630
  }
2498
2631
 
2499
- type EntityType = 'ship' | 'warehouse' | 'container' | 'location';
2632
+ interface ExtractorStateInput {
2633
+ id: UInt64Type;
2634
+ owner: string;
2635
+ name: string;
2636
+ coordinates: CoordinatesType | {
2637
+ x: number;
2638
+ y: number;
2639
+ z?: number;
2640
+ };
2641
+ hullmass?: number;
2642
+ capacity?: number;
2643
+ energy?: number;
2644
+ modules?: PackedModuleInput[];
2645
+ schedule?: Types.schedule;
2646
+ cargo?: Types.cargo_item[];
2647
+ }
2648
+ declare class Extractor extends Types.entity_info {
2649
+ private _sched?;
2650
+ private _inv?;
2651
+ get name(): string;
2652
+ get entityClass(): 'planetary';
2653
+ get canDemolish(): boolean;
2654
+ get inv(): InventoryAccessor;
2655
+ get inventory(): EntityInventory[];
2656
+ get sched(): ScheduleAccessor;
2657
+ get isIdle(): boolean;
2658
+ get location(): Location;
2659
+ get totalCargoMass(): UInt64;
2660
+ get maxCapacity(): UInt64;
2661
+ get availableCapacity(): UInt64;
2662
+ get isFull(): boolean;
2663
+ get totalMass(): UInt64;
2664
+ }
2665
+ interface ExtractorCapabilities {
2666
+ generator?: {
2667
+ capacity: number;
2668
+ recharge: number;
2669
+ };
2670
+ gatherer?: {
2671
+ yield: number;
2672
+ drain: number;
2673
+ depth: number;
2674
+ speed: number;
2675
+ };
2676
+ }
2677
+ declare function computeExtractorCapabilities(modules: InstalledModule[], layout: EntitySlot[]): ExtractorCapabilities;
2678
+
2679
+ interface FactoryStateInput {
2680
+ id: UInt64Type;
2681
+ owner: string;
2682
+ name: string;
2683
+ coordinates: CoordinatesType | {
2684
+ x: number;
2685
+ y: number;
2686
+ z?: number;
2687
+ };
2688
+ hullmass?: number;
2689
+ capacity?: number;
2690
+ energy?: number;
2691
+ modules?: PackedModuleInput[];
2692
+ schedule?: Types.schedule;
2693
+ cargo?: Types.cargo_item[];
2694
+ }
2695
+ declare class Factory extends Types.entity_info {
2696
+ private _sched?;
2697
+ private _inv?;
2698
+ get name(): string;
2699
+ get entityClass(): 'planetary';
2700
+ get canDemolish(): boolean;
2701
+ get inv(): InventoryAccessor;
2702
+ get inventory(): EntityInventory[];
2703
+ get sched(): ScheduleAccessor;
2704
+ get isIdle(): boolean;
2705
+ get location(): Location;
2706
+ get totalCargoMass(): UInt64;
2707
+ get maxCapacity(): UInt64;
2708
+ get availableCapacity(): UInt64;
2709
+ get isFull(): boolean;
2710
+ get totalMass(): UInt64;
2711
+ }
2712
+ interface FactoryCapabilities {
2713
+ generator?: {
2714
+ capacity: number;
2715
+ recharge: number;
2716
+ };
2717
+ crafter?: {
2718
+ speed: number;
2719
+ drain: number;
2720
+ };
2721
+ }
2722
+ declare function computeFactoryCapabilities(modules: InstalledModule[], layout: EntitySlot[]): FactoryCapabilities;
2723
+
2724
+ type EntityType = 'ship' | 'warehouse' | 'extractor' | 'factory' | 'container' | 'nexus';
2500
2725
  declare class EntitiesManager extends BaseManager {
2501
- getEntity(type: EntityType, id: UInt64Type): Promise<Ship | Warehouse | Container>;
2502
- getEntities(owner: NameType | Types.player_row, type?: EntityType): Promise<(Ship | Warehouse | Container)[]>;
2726
+ getEntity(id: UInt64Type): Promise<Ship | Warehouse | Extractor | Factory | Container | Nexus>;
2727
+ getEntities(owner: NameType | Types.player_row, type?: EntityType): Promise<(Ship | Warehouse | Extractor | Factory | Container | Nexus)[]>;
2503
2728
  getSummaries(owner: NameType | Types.player_row, type?: EntityType): Promise<Types.entity_summary[]>;
2504
2729
  getShip(id: UInt64Type): Promise<Ship>;
2505
2730
  getWarehouse(id: UInt64Type): Promise<Warehouse>;
2506
2731
  getContainer(id: UInt64Type): Promise<Container>;
2732
+ getExtractor(id: UInt64Type): Promise<Extractor>;
2733
+ getFactory(id: UInt64Type): Promise<Factory>;
2507
2734
  getShips(owner: NameType | Types.player_row): Promise<Ship[]>;
2508
2735
  getWarehouses(owner: NameType | Types.player_row): Promise<Warehouse[]>;
2509
2736
  getContainers(owner: NameType | Types.player_row): Promise<Container[]>;
2737
+ getExtractors(owner: NameType | Types.player_row): Promise<Extractor[]>;
2738
+ getFactories(owner: NameType | Types.player_row): Promise<Factory[]>;
2510
2739
  getShipSummaries(owner: NameType | Types.player_row): Promise<Types.entity_summary[]>;
2511
2740
  getWarehouseSummaries(owner: NameType | Types.player_row): Promise<Types.entity_summary[]>;
2512
2741
  getContainerSummaries(owner: NameType | Types.player_row): Promise<Types.entity_summary[]>;
2742
+ getExtractorSummaries(owner: NameType | Types.player_row): Promise<Types.entity_summary[]>;
2743
+ getFactorySummaries(owner: NameType | Types.player_row): Promise<Types.entity_summary[]>;
2744
+ getNexus(id: UInt64Type): Promise<Nexus>;
2745
+ getNexuses(owner: NameType | Types.player_row): Promise<Nexus[]>;
2746
+ getNexusSummaries(owner: NameType | Types.player_row): Promise<Types.entity_summary[]>;
2513
2747
  private wrapEntity;
2514
2748
  private resolveOwner;
2515
2749
  }
@@ -2543,7 +2777,10 @@ declare class Shipload {
2543
2777
 
2544
2778
  declare function makeShip(state: ShipStateInput): Ship;
2545
2779
  declare function makeWarehouse(state: WarehouseStateInput): Warehouse;
2780
+ declare function makeExtractor(state: ExtractorStateInput): Extractor;
2781
+ declare function makeFactory(state: FactoryStateInput): Factory;
2546
2782
  declare function makeContainer(state: ContainerStateInput): Container;
2783
+ declare function makeNexus(state: NexusStateInput): Nexus;
2547
2784
 
2548
2785
  declare const itemIds: number[];
2549
2786
  declare function getItem(itemId: UInt16Type): Item;
@@ -2565,7 +2802,6 @@ declare function getEntityItems(opts?: {
2565
2802
  declare function resolveItemCategory(id: number): ResourceCategory | undefined;
2566
2803
  declare function typeLabel(type: ItemType | number): string;
2567
2804
  declare function categoryLabel(cat: ResourceCategory): string;
2568
- declare function tierLabel(tier: number): string;
2569
2805
  declare function categoryFromIndex(i: number): ResourceCategory | undefined;
2570
2806
  declare function categoryLabelFromIndex(i: number): string;
2571
2807
 
@@ -2575,93 +2811,12 @@ declare function getLocationTypeName(type: LocationType): string;
2575
2811
  declare function getSystemName(gameSeed: Checksum256Type, location: CoordinatesType): string;
2576
2812
  declare function hasSystem(gameSeed: Checksum256Type, coordinates: CoordinatesType): boolean;
2577
2813
  declare function deriveLocationStatic(gameSeed: Checksum256Type, coordinates: CoordinatesType): Types.location_static;
2578
- declare function deriveLocationEpoch(epochSeed: Checksum256Type, coordinates: CoordinatesType): Types.location_epoch;
2579
- declare function deriveLocation(gameSeed: Checksum256Type, epochSeed: Checksum256Type, coordinates: CoordinatesType): Types.location_derived;
2814
+ declare function isLocationBuildable(gameSeed: Checksum256Type, coordinates: CoordinatesType): boolean;
2815
+ declare function deriveLocation(gameSeed: Checksum256Type, coordinates: CoordinatesType): Types.location_derived;
2580
2816
 
2581
2817
  declare function hash(seed: Checksum256Type, string: string): Checksum256;
2582
2818
  declare function hash512(seed: Checksum256Type, string: string): Checksum512;
2583
2819
 
2584
- /**
2585
- * Travel calculations for ship movement, energy usage, and flight times.
2586
- *
2587
- * Functions prefixed with `calc_` are contract-parity functions that mirror
2588
- * the C++ implementation in the server contract (schedule.cpp, ship.cpp).
2589
- * These use snake_case intentionally to match the contract naming convention
2590
- * and signal that they must produce identical results to the on-chain code.
2591
- *
2592
- * Functions prefixed with `calculate` are higher-level SDK helpers that may
2593
- * combine multiple contract calculations for convenience.
2594
- */
2595
-
2596
- declare function calc_orbital_altitude(mass: number): number;
2597
- declare function distanceBetweenCoordinates(origin: ActionParams.Type.coordinates, destination: ActionParams.Type.coordinates): UInt64;
2598
- declare function distanceBetweenPoints(x1: Int64Type, y1: Int64Type, x2: Int64Type, y2: Int64Type): UInt64;
2599
- declare function lerp(origin: ActionParams.Type.coordinates, destination: ActionParams.Type.coordinates, time: number): ActionParams.Type.coordinates;
2600
- declare function rotation(origin: ActionParams.Type.coordinates, destination: ActionParams.Type.coordinates): number;
2601
- declare function findNearbyPlanets(seed: Checksum256, origin: ActionParams.Type.coordinates, maxDistance?: UInt64Type): Distance[];
2602
- declare function calc_rechargetime(capacity: UInt32Type, energy: UInt32Type, recharge: UInt32Type): UInt32;
2603
- declare function calc_ship_rechargetime(ship: ShipLike): UInt32;
2604
- declare function calc_flighttime(distance: UInt64Type, acceleration: number): UInt32;
2605
- declare function calc_loader_flighttime(ship: ShipLike, mass: UInt64, altitude?: number): UInt32;
2606
- declare function calc_loader_acceleration(ship: ShipLike, mass: UInt64): number;
2607
- declare function calc_ship_flighttime(ship: ShipLike, mass: UInt64, distance: UInt64): UInt32;
2608
- declare function calc_ship_acceleration(ship: ShipLike, mass: UInt64): number;
2609
- declare function calc_acceleration(thrust: number, mass: number): number;
2610
- declare function calc_ship_mass(ship: ShipLike, cargos: CargoMassInfo[]): UInt64;
2611
- declare function calc_energyusage(distance: UInt64Type, drain: UInt32Type): UInt32;
2612
- declare function calculateTransferTime(ship: ShipLike, cargos: CargoMassInfo[], quantities?: Map<number, number>): UInt32;
2613
- declare function calculateRefuelingTime(ship: ShipLike): UInt32;
2614
- declare function calculateFlightTime(ship: ShipLike, cargos: CargoMassInfo[], distance: UInt64Type): UInt32;
2615
- interface LoadTimeBreakdown {
2616
- unloadTime: number;
2617
- loadTime: number;
2618
- totalTime: number;
2619
- unloadMass: number;
2620
- loadMass: number;
2621
- }
2622
- declare function calculateLoadTimeBreakdown(ship: ShipLike, cargos: CargoMassInfo[], loadQuantities?: Map<number, number>, unloadQuantities?: Map<number, number>): LoadTimeBreakdown;
2623
- interface EstimatedTravelTime {
2624
- flightTime: UInt32;
2625
- rechargeTime: UInt32;
2626
- loadTime: UInt32;
2627
- unloadTime: UInt32;
2628
- total: UInt32;
2629
- }
2630
- interface EstimateTravelTimeOptions {
2631
- needsRecharge?: boolean;
2632
- loadMass?: UInt32Type;
2633
- unloadMass?: UInt32Type;
2634
- }
2635
- declare function estimateTravelTime(ship: ShipLike, travelMass: UInt64Type, distance: UInt64Type, options?: EstimateTravelTimeOptions): EstimatedTravelTime;
2636
- declare function estimateDealTravelTime(ship: ShipLike, shipMass: UInt64Type, distance: UInt64Type, loadMass: UInt32Type): UInt32;
2637
- declare function hasEnergyForDistance(ship: ShipLike, distance: UInt64Type): boolean;
2638
- interface TransferEntity {
2639
- location: {
2640
- z?: {
2641
- toNumber(): number;
2642
- } | number;
2643
- };
2644
- loaders?: {
2645
- thrust: {
2646
- toNumber(): number;
2647
- } | number;
2648
- mass: {
2649
- toNumber(): number;
2650
- } | number;
2651
- quantity: {
2652
- toNumber(): number;
2653
- } | number;
2654
- };
2655
- }
2656
- interface HasScheduleAndLocation {
2657
- coordinates: ActionParams.Type.coordinates;
2658
- schedule?: Types.schedule;
2659
- }
2660
- declare function getFlightOrigin(entity: HasScheduleAndLocation, flightTaskIndex: number): ActionParams.Type.coordinates;
2661
- declare function getDestinationLocation(entity: HasScheduleAndLocation): ActionParams.Type.coordinates | undefined;
2662
- declare function getPositionAt(entity: HasScheduleAndLocation, taskIndex: number, taskProgress: number): ActionParams.Type.coordinates;
2663
- declare function calc_transfer_duration(source: TransferEntity, dest: TransferEntity, cargoMass: number): number;
2664
-
2665
2820
  interface CargoData {
2666
2821
  cargo: EntityInventory[];
2667
2822
  }
@@ -2697,6 +2852,27 @@ declare namespace cargoUtils {
2697
2852
  };
2698
2853
  }
2699
2854
 
2855
+ declare function cargoRef(src: {
2856
+ item_id: number;
2857
+ stats: bigint | number;
2858
+ modules?: Types.module_entry[];
2859
+ }): ActionParams.Type.cargo_ref;
2860
+ declare function cargoItem(src: {
2861
+ item_id: number;
2862
+ stats: bigint | number;
2863
+ modules?: Types.module_entry[];
2864
+ }, quantity: bigint | number): ActionParams.Type.cargo_item;
2865
+
2866
+ type TaskCargoDirection = 'in' | 'out';
2867
+ interface TaskCargoChange {
2868
+ direction: TaskCargoDirection;
2869
+ item_id: number;
2870
+ stats: bigint;
2871
+ modules: Types.module_entry[];
2872
+ quantity: number;
2873
+ }
2874
+ declare function taskCargoChanges(task: Types.task): TaskCargoChange[];
2875
+
2700
2876
  interface Entity {
2701
2877
  id: UInt64;
2702
2878
  type: Name;
@@ -2711,6 +2887,48 @@ type WarehouseEntity = Entity & StorageCapability & Partial<LoaderCapability> &
2711
2887
  type ContainerEntity = Entity & StorageCapability & MassCapability & ScheduleCapability;
2712
2888
  type AnyEntity = ShipEntity | WarehouseEntity | ContainerEntity;
2713
2889
 
2890
+ declare const ENTITY_SHIP: Name;
2891
+ declare const ENTITY_WAREHOUSE: Name;
2892
+ declare const ENTITY_EXTRACTOR: Name;
2893
+ declare const ENTITY_FACTORY: Name;
2894
+ declare const ENTITY_CONTAINER: Name;
2895
+ declare enum EntityClass {
2896
+ OrbitalVessel = 0,
2897
+ PlanetaryStructure = 1
2898
+ }
2899
+ declare function getEntityClass(entityType: Name | EntityTypeName): EntityClass;
2900
+ declare function getPackedEntityType(itemId: number): Name | null;
2901
+ type EntityTypeName = 'ship' | 'warehouse' | 'extractor' | 'factory' | 'container' | 'nexus';
2902
+ interface EntityTraits {
2903
+ typeName: Name;
2904
+ isMovable: boolean;
2905
+ hasEnergy: boolean;
2906
+ hasLoaders: boolean;
2907
+ hasModules: boolean;
2908
+ notFoundError: string;
2909
+ }
2910
+ declare const shipTraits: EntityTraits;
2911
+ declare const warehouseTraits: EntityTraits;
2912
+ declare const extractorTraits: EntityTraits;
2913
+ declare const factoryTraits: EntityTraits;
2914
+ declare const containerTraits: EntityTraits;
2915
+ declare function getEntityTraits(entityType: Name | EntityTypeName): EntityTraits;
2916
+ declare function isShip(entity: {
2917
+ type?: Name;
2918
+ }): boolean;
2919
+ declare function isWarehouse(entity: {
2920
+ type?: Name;
2921
+ }): boolean;
2922
+ declare function isExtractor(entity: {
2923
+ type?: Name;
2924
+ }): boolean;
2925
+ declare function isFactory(entity: {
2926
+ type?: Name;
2927
+ }): boolean;
2928
+ declare function isContainer(entity: {
2929
+ type?: Name;
2930
+ }): boolean;
2931
+
2714
2932
  declare function canMove(e: Entity): e is Entity & MovementCapability & EnergyCapability;
2715
2933
  declare function hasEnergy(e: Entity): e is Entity & EnergyCapability;
2716
2934
  declare function hasStorage(e: Entity): e is Entity & StorageCapability;
@@ -2760,11 +2978,10 @@ declare function isModuleItem(itemId: number): boolean;
2760
2978
  declare function moduleSlotTypeToCode(slotType: string): number;
2761
2979
 
2762
2980
  declare function computeHaulPenalty(totalThrust: number, haulCount: number, avgEfficiency: number): number;
2763
- declare function computeHaulerDrain(distance: number, drain: number, haulCount: number): number;
2981
+ declare function computeHaulerDrain$1(distance: number, drain: number, haulCount: number): number;
2764
2982
 
2765
2983
  declare const categoryColors: Record<ResourceCategory, string>;
2766
2984
  declare const tierColors: Record<number, string>;
2767
- declare const tierLabels: Record<number, string>;
2768
2985
  declare const categoryIcons: Record<ResourceCategory, string>;
2769
2986
  type CategoryIconShape = 'hex' | 'diamond' | 'star' | 'circle' | 'square';
2770
2987
  declare const categoryIconShapes: Record<ResourceCategory, CategoryIconShape>;
@@ -2812,13 +3029,20 @@ interface StatMapping {
2812
3029
  stat: string;
2813
3030
  capability: string;
2814
3031
  attribute: string;
2815
- rationale: string;
2816
3032
  }
2817
3033
  declare const capabilityNames: string[];
2818
3034
  declare const capabilityAttributes: CapabilityAttribute[];
2819
- declare const statMappings: StatMapping[];
2820
3035
  declare function isInvertedAttribute(attribute: string): boolean;
2821
3036
  declare function getCapabilityAttributes(capability?: string): CapabilityAttribute[];
3037
+
3038
+ interface SlotConsumer {
3039
+ capability: string;
3040
+ attribute: string;
3041
+ }
3042
+ type SlotConsumerKind = 'engine' | 'generator' | 'gatherer' | 'loader' | 'crafter' | 'storage' | 'hauler' | 'warp' | 'ship-t1' | 'container-t1' | 'warehouse-t1' | 'extractor-t1' | 'container-t2';
3043
+ declare const SLOT_FORMULAS: Record<SlotConsumerKind, Record<number, SlotConsumer>>;
3044
+
3045
+ declare function deriveStatMappings(): StatMapping[];
2822
3046
  declare function getStatMappings(): StatMapping[];
2823
3047
  declare function getStatMappingsForStat(stat: string): StatMapping[];
2824
3048
  declare function getStatMappingsForCapability(capability: string): StatMapping[];
@@ -2835,7 +3059,14 @@ declare function computeGeneratorCapabilities(stats: Record<string, number>): {
2835
3059
  capacity: number;
2836
3060
  recharge: number;
2837
3061
  };
2838
- declare function computeGathererCapabilities(stats: Record<string, number>): {
3062
+ interface GathererDepthParams {
3063
+ readonly floor: number;
3064
+ readonly slope: number;
3065
+ }
3066
+ declare const GATHERER_DEPTH_TABLE: readonly GathererDepthParams[];
3067
+ declare const GATHERER_DEPTH_MAX_TIER = 10;
3068
+ declare function gathererDepthForTier(tol: number, tier: number): number;
3069
+ declare function computeGathererCapabilities(stats: Record<string, number>, tier: number): {
2839
3070
  yield: number;
2840
3071
  drain: number;
2841
3072
  depth: number;
@@ -2892,10 +3123,7 @@ interface ShipCapabilities {
2892
3123
  drain: number;
2893
3124
  };
2894
3125
  }
2895
- declare function computeShipCapabilities(modules: {
2896
- itemId: number;
2897
- stats: bigint;
2898
- }[]): ShipCapabilities;
3126
+ declare function computeShipCapabilities(modules: InstalledModule[], layout: EntitySlot[]): ShipCapabilities;
2899
3127
 
2900
3128
  interface ResolvedItemStat {
2901
3129
  key: string;
@@ -2996,21 +3224,34 @@ declare function computeBaseCapacityShip(stats: bigint): number;
2996
3224
  declare function computeBaseCapacityWarehouse(stats: bigint): number;
2997
3225
  declare const computeEngineThrust: (vol: number) => number;
2998
3226
  declare const computeEngineDrain: (thm: number) => number;
2999
- declare const computeGeneratorCap: (res: number) => number;
3000
- declare const computeGeneratorRech: (ref: number) => number;
3227
+ declare const computeGeneratorCap: (com: number) => number;
3228
+ declare const computeGeneratorRech: (fin: number) => number;
3001
3229
  declare const computeGathererYield: (str: number) => number;
3002
3230
  declare const computeGathererDrain: (con: number) => number;
3003
- declare const computeGathererDepth: (tol: number) => number;
3231
+ declare const computeGathererDepth: (tol: number, tier: number) => number;
3004
3232
  declare const computeGathererSpeed: (ref: number) => number;
3005
- declare const computeLoaderMass: (fin: number) => number;
3233
+ declare const computeLoaderMass: (ins: number) => number;
3006
3234
  declare const computeLoaderThrust: (pla: number) => number;
3007
3235
  declare const computeCrafterSpeed: (rea: number) => number;
3008
- declare const computeCrafterDrain: (com: number) => number;
3236
+ declare const computeCrafterDrain: (fin: number) => number;
3237
+ declare const computeHaulerCapacity: (fin: number) => number;
3238
+ declare const computeHaulerEfficiency: (con: number) => number;
3239
+ declare const computeHaulerDrain: (com: number) => number;
3240
+ declare const computeWarpRange: (stat: number) => number;
3009
3241
  declare function entityDisplayName(itemId: number): string;
3010
3242
  declare function moduleDisplayName(itemId: number): string;
3011
3243
  declare function formatModuleLine(slot: number, itemId: number, stats: bigint): string;
3012
3244
  declare function buildEntityDescription(itemId: number, hullStats: bigint, moduleItems: number[], moduleStats: bigint[]): string;
3013
3245
 
3246
+ interface SchemaField {
3247
+ name: string;
3248
+ type: string;
3249
+ }
3250
+ type RawData = Uint8Array | string | number[] | {
3251
+ immutable_serialized_data: Uint8Array | string | number[];
3252
+ };
3253
+ declare function deserializeAtomicData(data: RawData, schema: SchemaField[]): Record<string, unknown>;
3254
+
3014
3255
  type index_NFTInstalledModule = NFTInstalledModule;
3015
3256
  type index_NFTModuleSlot = NFTModuleSlot;
3016
3257
  type index_NFTCargoItem = NFTCargoItem;
@@ -3037,10 +3278,17 @@ declare const index_computeLoaderMass: typeof computeLoaderMass;
3037
3278
  declare const index_computeLoaderThrust: typeof computeLoaderThrust;
3038
3279
  declare const index_computeCrafterSpeed: typeof computeCrafterSpeed;
3039
3280
  declare const index_computeCrafterDrain: typeof computeCrafterDrain;
3281
+ declare const index_computeHaulerCapacity: typeof computeHaulerCapacity;
3282
+ declare const index_computeHaulerEfficiency: typeof computeHaulerEfficiency;
3283
+ declare const index_computeHaulerDrain: typeof computeHaulerDrain;
3284
+ declare const index_computeWarpRange: typeof computeWarpRange;
3040
3285
  declare const index_entityDisplayName: typeof entityDisplayName;
3041
3286
  declare const index_moduleDisplayName: typeof moduleDisplayName;
3042
3287
  declare const index_formatModuleLine: typeof formatModuleLine;
3043
3288
  declare const index_buildEntityDescription: typeof buildEntityDescription;
3289
+ type index_SchemaField = SchemaField;
3290
+ type index_RawData = RawData;
3291
+ declare const index_deserializeAtomicData: typeof deserializeAtomicData;
3044
3292
  declare namespace index {
3045
3293
  export {
3046
3294
  index_NFTInstalledModule as NFTInstalledModule,
@@ -3069,10 +3317,17 @@ declare namespace index {
3069
3317
  index_computeLoaderThrust as computeLoaderThrust,
3070
3318
  index_computeCrafterSpeed as computeCrafterSpeed,
3071
3319
  index_computeCrafterDrain as computeCrafterDrain,
3320
+ index_computeHaulerCapacity as computeHaulerCapacity,
3321
+ index_computeHaulerEfficiency as computeHaulerEfficiency,
3322
+ index_computeHaulerDrain as computeHaulerDrain,
3323
+ index_computeWarpRange as computeWarpRange,
3072
3324
  index_entityDisplayName as entityDisplayName,
3073
3325
  index_moduleDisplayName as moduleDisplayName,
3074
3326
  index_formatModuleLine as formatModuleLine,
3075
3327
  index_buildEntityDescription as buildEntityDescription,
3328
+ index_SchemaField as SchemaField,
3329
+ index_RawData as RawData,
3330
+ index_deserializeAtomicData as deserializeAtomicData,
3076
3331
  };
3077
3332
  }
3078
3333
 
@@ -3098,6 +3353,9 @@ interface WebSocketConnectionOptions {
3098
3353
  url: string;
3099
3354
  onMessage: (message: ServerMessage) => void;
3100
3355
  onStateChange?: (state: ConnectionState) => void;
3356
+ minReconnectDelay?: number;
3357
+ pingIntervalMs?: number;
3358
+ pongTimeoutMs?: number;
3101
3359
  }
3102
3360
  declare class WebSocketConnection {
3103
3361
  private ws;
@@ -3109,21 +3367,31 @@ declare class WebSocketConnection {
3109
3367
  private _state;
3110
3368
  private shouldReconnect;
3111
3369
  private sendQueue;
3112
- private static readonly MIN_RECONNECT_DELAY;
3370
+ private minReconnectDelay;
3371
+ private pingIntervalMs;
3372
+ private pongTimeoutMs;
3373
+ private pingTimer;
3374
+ private staleTimer;
3375
+ private static readonly DEFAULT_MIN_RECONNECT_DELAY;
3113
3376
  private static readonly MAX_RECONNECT_DELAY;
3114
3377
  private static readonly RECONNECT_MULTIPLIER;
3378
+ private static readonly DEFAULT_PING_INTERVAL_MS;
3379
+ private static readonly DEFAULT_PONG_TIMEOUT_MS;
3115
3380
  constructor(options: WebSocketConnectionOptions);
3116
3381
  get state(): ConnectionState;
3117
3382
  private setState;
3118
3383
  connect(): void;
3119
3384
  private scheduleReconnect;
3120
3385
  disconnect(): void;
3386
+ private startHeartbeat;
3387
+ private stopHeartbeat;
3388
+ private resetStaleTimer;
3121
3389
  close(): void;
3122
3390
  send(message: ClientMessage): void;
3123
3391
  get isConnected(): boolean;
3124
3392
  }
3125
3393
 
3126
- declare function mapEntity(ei: Types.entity_info): Ship | Warehouse | Container;
3394
+ declare function mapEntity(ei: Types.entity_info): Ship | Warehouse | Container | Nexus;
3127
3395
  declare function parseWireEntity(raw: WireEntity): Types.entity_info;
3128
3396
 
3129
3397
  declare function setSubscriptionsDebug(on: boolean): void;
@@ -3134,12 +3402,9 @@ type energy_stats = Types.energy_stats;
3134
3402
  type loader_stats = Types.loader_stats;
3135
3403
  type task = Types.task;
3136
3404
  type cargo_item = Types.cargo_item;
3137
- type warehouse_row = Types.warehouse_row;
3138
- type container_row = Types.container_row;
3405
+ type entity_row = Types.entity_row;
3139
3406
  type gatherer_stats = Types.gatherer_stats;
3140
3407
  type location_static = Types.location_static;
3141
- type location_epoch = Types.location_epoch;
3142
3408
  type location_derived = Types.location_derived;
3143
- type location_row = Types.location_row;
3144
3409
 
3145
- export { AckMessage, ActionsManager, AnyEntity, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, CANCEL_CONTAINS_GROUPED_TASK, CANCEL_PAIRED_HAS_PENDING, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, CONTAINER_CAPACITY_EXCEEDED, CONTAINER_NOT_FOUND, CONTAINER_Z, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CapabilityAttribute, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryIconShape, CategoryInfo, CategoryStacks, ClientMessage, ConnectionState, Container, ContainerEntity, ContainerStateInput, Coordinates, CoordinatesType, CraftedItemCategory, CrafterCapability, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DerivedStratum, DescribeOptions, Distance, ENTITY_CAPACITY_EXCEEDED, ENTITY_NO_CRAFTER, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EnergyCapability, EntitiesManager, Entity, EntityCapabilities, EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntitySubscriptionHandle, EntityType, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHER_EXCEEDS_ENERGY_CAPACITY, 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, GathererCapability, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, 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_CARGO_ARM, ITEM_CARGO_LINING, ITEM_CARGO_LINING_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_FOCUSING_ARRAY, 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_GENERATOR_T1, ITEM_HAULER_T1, ITEM_HULL_PLATES, ITEM_HULL_PLATES_T2, ITEM_LOADER_T1, ITEM_MATTER_CONDUIT, 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_POWER_CELL, ITEM_REACTION_CHAMBER, 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_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_SURVEY_PROBE, ITEM_THRUSTER_CORE, ITEM_TOOL_BIT, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, InventoryAccessor, Item, ItemType, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LoadTimeBreakdown, LoaderCapability, Location, LocationStratum, LocationType, LocationsManager, MAX_ORBITAL_ALTITUDE, MIN_ORBITAL_ALTITUDE, MODULE_ANY, 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_TYPE_MISMATCH, MODULE_WARP, MassCapability, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, 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, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectableSnapshot, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, Recipe, RecipeInput, RecipeInputCategory, RecipeInputItemId, RecipeSlotInput, RenderDescriptionOptions, ReserveTier, ResolvedAttributeGroup, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedModuleSlot, ResourceCategory, ResourceStats, SHIP_ALREADY_THERE, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_CAPACITY_EXCEEDED, SHIP_CARGO_NOT_LOADED, SHIP_CARGO_NOT_OWNED, SHIP_INVALID_CARGO, SHIP_INVALID_DESTINATION, SHIP_INVALID_TRAVEL_DURATION, SHIP_NOT_ARRIVED, SHIP_NOT_ENOUGH_ENERGY, SHIP_NOT_ENOUGH_ENERGY_CAPACITY, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, STARTER_ALREADY_CLAIMED, ScheduleAccessor, ScheduleCapability, ScheduleData, Scheduleable, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipCapabilities, ShipEntity, ShipLike, ShipStateInput, Shipload, SnapshotMessage, StackInput, StatDefinition, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, TIER_ADJECTIVES, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskType, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UpdateBoundsMessage, UpdateMessage, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_CAPACITY_EXCEEDED, WAREHOUSE_NOT_FOUND, WAREHOUSE_Z, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, Warehouse, WarehouseEntity, WarehouseStateInput, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, availableCapacity$1 as availableCapacity, availableCapacityFromMass, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildEntityDescription, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcLoadDuration, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_loader_acceleration, calc_loader_flighttime, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, capabilityAttributes, capabilityNames, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItemToStack, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryIconShapes, categoryIcons, categoryLabel, categoryLabelFromIndex, componentIcon, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeComponentStats, computeContainerCapabilities, computeContainerT2Capabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityStats, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererSpeed, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeHaulPenalty, computeHaulerCapabilities, computeHaulerDrain, computeInputMass, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeShipCapabilities, computeShipHullCapabilities, computeStorageCapabilities, computeWarehouseCapabilities, computeWarehouseHullCapabilities, container_row, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeCraftedItemStats, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationEpoch, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStrata, deriveStratum, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, encodeGatheredCargoStats, encodeStats, energyPercent, energy_stats, entityDisplayName, estimateDealTravelTime, estimateTravelTime, findItemByCategoryAndTier, findNearbyPlanets, formatMass, formatMassDelta, formatModuleLine, formatTier, gatherer_stats, getCapabilityAttributes, getCategoryInfo, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEligibleResources, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getItem, getItems, getLocationCandidates, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getRecipe, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, isCraftedItem, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isInvertedAttribute, isModuleItem, isRelatedItem, isSubscriptionsDebugEnabled, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, lerp, loader_stats, location_derived, location_epoch, location_row, location_static, makeContainer, makeShip, makeWarehouse, mapEntity, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, needsRecharge, parseWireEntity, projectEntity, projectEntityAt, projectFromCurrentState, projectFromCurrentStateAt, readCommonBase, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveStats, rollTier, rollWithinTier, rotation, schedule, setSubscriptionsDebug, stackKey, stackToCargoItem, stacksEqual, statMappings, task, tierColors, tierLabel, tierLabels, toLocation, typeLabel, validateSchedule, warehouse_row };
3410
+ export { AckMessage, ActionsManager, AnyEntity, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, CANCEL_CONTAINS_GROUPED_TASK, CANCEL_PAIRED_HAS_PENDING, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, CONTAINER_NOT_FOUND, CONTAINER_Z, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CapabilityAttribute, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryIconShape, CategoryInfo, CategoryStacks, ClientMessage, ConnectionState, Container, ContainerEntity, ContainerStateInput, Coordinates, CoordinatesType, CraftedItemCategory, CrafterCapability, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DerivedStratum, DescribeOptions, Distance, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, 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, EnergyCapability, EntitiesManager, Entity, EntityCapabilities, EntityClass, EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntitySubscriptionHandle, EntityTraits, EntityType, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, Extractor, ExtractorCapabilities, ExtractorStateInput, Factory, FactoryCapabilities, FactoryStateInput, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, 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, GathererCapability, GathererDepthParams, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, 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_CARGO_ARM, ITEM_CARGO_LINING, ITEM_CARGO_LINING_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_FOCUSING_ARRAY, 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_GENERATOR_T1, ITEM_HAULER_T1, ITEM_HULL_PLATES, ITEM_HULL_PLATES_T2, ITEM_LOADER_T1, ITEM_MATTER_CONDUIT, 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_POWER_CELL, ITEM_REACTION_CHAMBER, 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_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_SURVEY_PROBE, ITEM_THRUSTER_CORE, ITEM_TOOL_BIT, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, InventoryAccessor, Item, ItemType, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LoadTimeBreakdown, LoaderCapability, Location, LocationStratum, LocationType, LocationsManager, MAX_ORBITAL_ALTITUDE, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE, MODULE_ANY, 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_TYPE_MISMATCH, MODULE_WARP, MassCapability, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Nexus, NexusStateInput, 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, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectableSnapshot, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RawData, Recipe, RecipeInput, RecipeInputCategory, RecipeInputItemId, RecipeSlotInput, RenderDescriptionOptions, ReserveTier, ResolvedAttributeGroup, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedModuleSlot, ResourceCategory, ResourceStats, 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, STARTER_ALREADY_CLAIMED, ScheduleAccessor, ScheduleCapability, ScheduleData, Scheduleable, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipCapabilities, ShipEntity, ShipLike, ShipStateInput, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, StackInput, StatDefinition, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, TIER_ADJECTIVES, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UpdateBoundsMessage, UpdateMessage, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, Warehouse, WarehouseEntity, WarehouseStateInput, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, availableCapacity$1 as availableCapacity, availableCapacityFromMass, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildEntityDescription, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcLoadDuration, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_loader_acceleration, calc_loader_flighttime, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, capabilityAttributes, capabilityNames, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryIconShapes, categoryIcons, categoryLabel, categoryLabelFromIndex, componentIcon, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeComponentStats, computeContainerCapabilities, computeContainerT2Capabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityStats, computeExtractorCapabilities, computeFactoryCapabilities, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererSpeed, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain$1 as computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeShipCapabilities, computeShipHullCapabilities, computeStorageCapabilities, computeWarehouseCapabilities, computeWarehouseHullCapabilities, computeWarpRange, containerTraits, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeCraftedItemStats, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, encodeGatheredCargoStats, encodeStats, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, extractorTraits, factoryTraits, findItemByCategoryAndTier, findNearbyPlanets, flightSpeedFactor, formatMass, formatMassDelta, formatModuleLine, formatTier, gathererDepthForTier, gatherer_stats, getCapabilityAttributes, getCategoryInfo, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEntityTraits, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getLocationCandidates, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getRecipe, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, interpolateFlightPosition, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isInvertedAttribute, isLocationBuildable, isModuleItem, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, lerp, loader_stats, location_derived, location_static, makeContainer, makeExtractor, makeFactory, makeNexus, makeShip, makeWarehouse, mapEntity, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, needsRecharge, parseWireEntity, projectEntity, projectEntityAt, projectFromCurrentState, projectFromCurrentStateAt, readCommonBase, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveStats, rollTier, rollWithinTier, rotation, schedule, setSubscriptionsDebug, shipTraits, stackKey, stackToCargoItem, stacksEqual, task, taskCargoChanges, tierAdjective, tierColors, toLocation, typeLabel, validateSchedule, warehouseTraits };