@shipload/sdk 1.0.0-next.3 → 1.0.0-next.31

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 (99) hide show
  1. package/lib/shipload.d.ts +1849 -961
  2. package/lib/shipload.js +9089 -4854
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +8958 -4805
  5. package/lib/shipload.m.js.map +1 -1
  6. package/lib/testing.d.ts +856 -0
  7. package/lib/testing.js +3739 -0
  8. package/lib/testing.js.map +1 -0
  9. package/lib/testing.m.js +3733 -0
  10. package/lib/testing.m.js.map +1 -0
  11. package/package.json +15 -2
  12. package/src/capabilities/craftable.ts +51 -0
  13. package/src/capabilities/crafting.test.ts +7 -0
  14. package/src/capabilities/crafting.ts +3 -3
  15. package/src/capabilities/gathering.ts +17 -7
  16. package/src/capabilities/index.ts +0 -1
  17. package/src/capabilities/modules.ts +6 -0
  18. package/src/capabilities/storage.ts +16 -1
  19. package/src/contracts/platform.ts +231 -3
  20. package/src/contracts/server.ts +816 -471
  21. package/src/data/capabilities.ts +14 -329
  22. package/src/data/capability-formulas.ts +76 -0
  23. package/src/data/catalog.ts +0 -5
  24. package/src/data/colors.ts +14 -47
  25. package/src/data/entities.json +46 -10
  26. package/src/data/item-ids.ts +15 -12
  27. package/src/data/items.json +302 -38
  28. package/src/data/kind-registry.json +85 -0
  29. package/src/data/kind-registry.ts +150 -0
  30. package/src/data/metadata.ts +100 -31
  31. package/src/data/recipes-runtime.ts +3 -23
  32. package/src/data/recipes.json +250 -113
  33. package/src/derivation/build-methods.ts +45 -0
  34. package/src/derivation/capabilities.ts +415 -0
  35. package/src/derivation/capability-mappings.ts +117 -0
  36. package/src/derivation/crafting.ts +23 -24
  37. package/src/derivation/index.ts +17 -2
  38. package/src/derivation/reserve-regen.ts +34 -0
  39. package/src/derivation/resources.ts +125 -38
  40. package/src/derivation/stars.test.ts +51 -0
  41. package/src/derivation/stars.ts +15 -0
  42. package/src/derivation/stats.ts +6 -6
  43. package/src/derivation/stratum.ts +15 -19
  44. package/src/derivation/tiers.ts +28 -7
  45. package/src/entities/entity.ts +98 -0
  46. package/src/entities/gamestate.ts +3 -28
  47. package/src/entities/makers.ts +91 -136
  48. package/src/entities/slot-multiplier.ts +39 -0
  49. package/src/errors.ts +10 -15
  50. package/src/format.ts +26 -4
  51. package/src/index-module.ts +189 -47
  52. package/src/managers/actions.ts +252 -83
  53. package/src/managers/base.ts +6 -2
  54. package/src/managers/construction-types.ts +79 -0
  55. package/src/managers/construction.ts +396 -0
  56. package/src/managers/context.ts +11 -1
  57. package/src/managers/entities.ts +18 -66
  58. package/src/managers/epochs.ts +40 -0
  59. package/src/managers/index.ts +17 -1
  60. package/src/managers/locations.ts +25 -29
  61. package/src/managers/nft.ts +28 -0
  62. package/src/managers/plot.ts +127 -0
  63. package/src/nft/atomicassets.abi.json +1342 -0
  64. package/src/nft/atomicassets.ts +237 -0
  65. package/src/nft/atomicdata.ts +130 -0
  66. package/src/nft/buildImmutableData.ts +321 -0
  67. package/src/nft/description.ts +37 -15
  68. package/src/nft/index.ts +3 -0
  69. package/src/resolution/describe-module.ts +5 -8
  70. package/src/resolution/display-name.ts +38 -10
  71. package/src/resolution/resolve-item.ts +22 -20
  72. package/src/scheduling/accessor.ts +68 -22
  73. package/src/scheduling/availability.ts +108 -0
  74. package/src/scheduling/energy.ts +48 -0
  75. package/src/scheduling/lane-core.ts +130 -0
  76. package/src/scheduling/lanes.ts +60 -0
  77. package/src/scheduling/projection.ts +121 -94
  78. package/src/scheduling/schedule.ts +237 -103
  79. package/src/scheduling/task-cargo.ts +46 -0
  80. package/src/shipload.ts +16 -1
  81. package/src/subscriptions/manager.ts +40 -6
  82. package/src/subscriptions/mappers.ts +3 -8
  83. package/src/subscriptions/types.ts +3 -2
  84. package/src/testing/catalog-hash.ts +19 -0
  85. package/src/testing/index.ts +2 -0
  86. package/src/testing/projection-parity.ts +143 -0
  87. package/src/travel/travel.ts +90 -13
  88. package/src/types/capabilities.ts +1 -0
  89. package/src/types/index.ts +0 -1
  90. package/src/types.ts +19 -12
  91. package/src/utils/cargo.ts +27 -0
  92. package/src/utils/display-name.ts +70 -0
  93. package/src/utils/system.ts +25 -24
  94. package/src/capabilities/loading.ts +0 -8
  95. package/src/entities/container.ts +0 -108
  96. package/src/entities/ship-deploy.ts +0 -258
  97. package/src/entities/ship.ts +0 -204
  98. package/src/entities/warehouse.ts +0 -119
  99. package/src/types/entity-traits.ts +0 -69
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, Asset, UInt64, Checksum256, UInt32, TimePointSec, ExtendedAsset, Checksum256Type, UInt32Type, NameType, UInt64Type, AssetType, ExtendedAssetType, Action, UInt16, UInt8, Int64, TimePoint, BlockTimestamp, 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';
@@ -7,15 +7,35 @@ import { ChainDefinition } from '@wharfkit/common';
7
7
  declare const abiBlob$1: Blob;
8
8
  declare const abi$1: ABI;
9
9
  declare namespace Types$1 {
10
+ class balance_row extends Struct {
11
+ token_contract: Name;
12
+ balance: Asset;
13
+ }
10
14
  class cleartable extends Struct {
11
15
  table_name: Name;
12
16
  scope?: Name;
13
17
  max_rows?: UInt64;
14
18
  }
19
+ class close extends Struct {
20
+ owner: Name;
21
+ token_contract: Name;
22
+ token_symbol: Asset.Symbol;
23
+ }
15
24
  class company_row extends Struct {
16
25
  account: Name;
17
26
  name: string;
18
27
  }
28
+ class debitdeposit extends Struct {
29
+ owner: Name;
30
+ token: Name;
31
+ locked: Asset;
32
+ fee_account: Name;
33
+ fee: Asset;
34
+ }
35
+ class depositcfg_row extends Struct {
36
+ token_contract: Name;
37
+ token_symbol: Asset.Symbol;
38
+ }
19
39
  class enable extends Struct {
20
40
  enabled: boolean;
21
41
  }
@@ -48,6 +68,25 @@ declare namespace Types$1 {
48
68
  meta: game_meta;
49
69
  state: game_state;
50
70
  }
71
+ class open extends Struct {
72
+ owner: Name;
73
+ token_contract: Name;
74
+ token_symbol: Asset.Symbol;
75
+ }
76
+ class relgateasset extends Struct {
77
+ asset_id: UInt64;
78
+ }
79
+ class relgateowner extends Struct {
80
+ owner: Name;
81
+ }
82
+ class setepochtime extends Struct {
83
+ contract: Name;
84
+ epochtime: UInt32;
85
+ }
86
+ class settoken extends Struct {
87
+ token_contract: Name;
88
+ token_symbol: Asset.Symbol;
89
+ }
51
90
  class startgame extends Struct {
52
91
  contract: Name;
53
92
  config: game_config;
@@ -57,22 +96,68 @@ declare namespace Types$1 {
57
96
  class state_row extends Struct {
58
97
  enabled: boolean;
59
98
  }
99
+ class unwrapcargo extends Struct {
100
+ game: Name;
101
+ owner: Name;
102
+ asset_id: UInt64;
103
+ }
104
+ class unwrapcust_row extends Struct {
105
+ asset_id: UInt64;
106
+ owner: Name;
107
+ }
108
+ class unwrapentity extends Struct {
109
+ game: Name;
110
+ owner: Name;
111
+ asset_id: UInt64;
112
+ }
60
113
  class updategame extends Struct {
61
114
  contract: Name;
62
115
  meta: game_meta;
63
116
  }
64
117
  class wipe extends Struct {
65
118
  }
119
+ class withdraw extends Struct {
120
+ owner: Name;
121
+ quantity: ExtendedAsset;
122
+ memo: string;
123
+ }
124
+ class wrapcargo extends Struct {
125
+ game: Name;
126
+ owner: Name;
127
+ entity_id: UInt64;
128
+ nexus_id: UInt64;
129
+ cargo_id: UInt64;
130
+ quantity: UInt64;
131
+ }
132
+ class wrapentity extends Struct {
133
+ game: Name;
134
+ owner: Name;
135
+ entity_id: UInt64;
136
+ nexus_id: UInt64;
137
+ }
138
+ class wrapgate_row extends Struct {
139
+ owner: Name;
140
+ game: Name;
141
+ last_asset_id: UInt64;
142
+ }
66
143
  }
67
144
  declare const TableMap$1: {
145
+ balance: typeof Types$1.balance_row;
68
146
  company: typeof Types$1.company_row;
147
+ depositcfg: typeof Types$1.depositcfg_row;
69
148
  games: typeof Types$1.game_row;
70
149
  state: typeof Types$1.state_row;
150
+ unwrapcust: typeof Types$1.unwrapcust_row;
151
+ wrapgate: typeof Types$1.wrapgate_row;
71
152
  };
72
153
  interface TableTypes$1 {
154
+ balance: Types$1.balance_row;
73
155
  company: Types$1.company_row;
156
+ depositcfg: Types$1.depositcfg_row;
74
157
  games: Types$1.game_row;
75
158
  state: Types$1.state_row;
159
+ unwrapcust: Types$1.unwrapcust_row;
160
+ wrapgate: Types$1.wrapgate_row;
76
161
  }
77
162
  type RowType$1<T> = T extends keyof TableTypes$1 ? TableTypes$1[T] : any;
78
163
  type TableNames$1 = keyof TableTypes$1;
@@ -99,6 +184,18 @@ declare namespace ActionParams$1 {
99
184
  scope?: NameType;
100
185
  max_rows?: UInt64Type;
101
186
  }
187
+ interface close {
188
+ owner: NameType;
189
+ token_contract: NameType;
190
+ token_symbol: Asset.SymbolType;
191
+ }
192
+ interface debitdeposit {
193
+ owner: NameType;
194
+ token: NameType;
195
+ locked: AssetType;
196
+ fee_account: NameType;
197
+ fee: AssetType;
198
+ }
102
199
  interface enable {
103
200
  enabled: boolean;
104
201
  }
@@ -110,27 +207,87 @@ declare namespace ActionParams$1 {
110
207
  account: NameType;
111
208
  name: string;
112
209
  }
210
+ interface open {
211
+ owner: NameType;
212
+ token_contract: NameType;
213
+ token_symbol: Asset.SymbolType;
214
+ }
215
+ interface relgateasset {
216
+ asset_id: UInt64Type;
217
+ }
218
+ interface relgateowner {
219
+ owner: NameType;
220
+ }
221
+ interface setepochtime {
222
+ contract: NameType;
223
+ epochtime: UInt32Type;
224
+ }
225
+ interface settoken {
226
+ token_contract: NameType;
227
+ token_symbol: Asset.SymbolType;
228
+ }
113
229
  interface startgame {
114
230
  contract: NameType;
115
231
  config: Type.game_config;
116
232
  meta: Type.game_meta;
117
233
  state: Type.game_state;
118
234
  }
235
+ interface unwrapcargo {
236
+ game: NameType;
237
+ owner: NameType;
238
+ asset_id: UInt64Type;
239
+ }
240
+ interface unwrapentity {
241
+ game: NameType;
242
+ owner: NameType;
243
+ asset_id: UInt64Type;
244
+ }
119
245
  interface updategame {
120
246
  contract: NameType;
121
247
  meta: Type.game_meta;
122
248
  }
123
249
  interface wipe {
124
250
  }
251
+ interface withdraw {
252
+ owner: NameType;
253
+ quantity: ExtendedAssetType;
254
+ memo: string;
255
+ }
256
+ interface wrapcargo {
257
+ game: NameType;
258
+ owner: NameType;
259
+ entity_id: UInt64Type;
260
+ nexus_id: UInt64Type;
261
+ cargo_id: UInt64Type;
262
+ quantity: UInt64Type;
263
+ }
264
+ interface wrapentity {
265
+ game: NameType;
266
+ owner: NameType;
267
+ entity_id: UInt64Type;
268
+ nexus_id: UInt64Type;
269
+ }
125
270
  }
126
271
  interface ActionNameParams$1 {
127
272
  cleartable: ActionParams$1.cleartable;
273
+ close: ActionParams$1.close;
274
+ debitdeposit: ActionParams$1.debitdeposit;
128
275
  enable: ActionParams$1.enable;
129
276
  enablegame: ActionParams$1.enablegame;
130
277
  foundcompany: ActionParams$1.foundcompany;
278
+ open: ActionParams$1.open;
279
+ relgateasset: ActionParams$1.relgateasset;
280
+ relgateowner: ActionParams$1.relgateowner;
281
+ setepochtime: ActionParams$1.setepochtime;
282
+ settoken: ActionParams$1.settoken;
131
283
  startgame: ActionParams$1.startgame;
284
+ unwrapcargo: ActionParams$1.unwrapcargo;
285
+ unwrapentity: ActionParams$1.unwrapentity;
132
286
  updategame: ActionParams$1.updategame;
133
287
  wipe: ActionParams$1.wipe;
288
+ withdraw: ActionParams$1.withdraw;
289
+ wrapcargo: ActionParams$1.wrapcargo;
290
+ wrapentity: ActionParams$1.wrapentity;
134
291
  }
135
292
  type ActionNames$1 = keyof ActionNameParams$1;
136
293
  declare class Contract$1 extends Contract$2 {
@@ -158,44 +315,52 @@ declare namespace platform {
158
315
  declare const abiBlob: Blob;
159
316
  declare const abi: ABI;
160
317
  declare namespace Types {
318
+ class packed_module extends Struct {
319
+ item_id: UInt16;
320
+ stats: UInt64;
321
+ }
322
+ class module_entry extends Struct {
323
+ type: UInt8;
324
+ installed?: packed_module;
325
+ }
326
+ class cargo_ref extends Struct {
327
+ item_id: UInt16;
328
+ stats: UInt64;
329
+ modules: module_entry[];
330
+ entity_id?: UInt64;
331
+ }
161
332
  class addmodule extends Struct {
162
- entity_type: Name;
163
333
  entity_id: UInt64;
164
334
  module_index: UInt8;
165
- module_cargo_id: UInt64;
166
- target_cargo_id: UInt64;
335
+ module_ref: cargo_ref;
336
+ target_ref?: cargo_ref;
167
337
  }
168
338
  class addnexus extends Struct {
169
339
  nexus_name: string;
170
340
  x: Int64;
171
341
  y: Int64;
172
342
  }
173
- class advance extends Struct {
174
- reveal: string;
175
- commit: Checksum256;
176
- }
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;
343
+ class addoracle extends Struct {
344
+ oracle_id: Name;
184
345
  }
185
346
  class cargo_item extends Struct {
186
347
  item_id: UInt16;
187
- quantity: UInt32;
188
348
  stats: UInt64;
189
349
  modules: module_entry[];
350
+ quantity: UInt32;
351
+ entity_id?: UInt64;
190
352
  }
191
353
  class blend extends Struct {
192
- entity_type: Name;
193
354
  id: UInt64;
194
355
  inputs: cargo_item[];
195
356
  }
357
+ class buildplot extends Struct {
358
+ builder_id: UInt64;
359
+ plot_id: UInt64;
360
+ }
196
361
  class cancel extends Struct {
197
- entity_type: Name;
198
362
  id: UInt64;
363
+ lane_key: UInt8;
199
364
  count: UInt64;
200
365
  }
201
366
  class entity_ref extends Struct {
@@ -217,18 +382,31 @@ declare namespace Types {
217
382
  quantity: UInt64;
218
383
  stats: UInt64;
219
384
  modules: module_entry[];
385
+ sequence_id?: UInt64;
220
386
  }
221
387
  class cargo_view extends Struct {
222
388
  item_id: UInt16;
223
- quantity: UInt32;
224
389
  stats: UInt64;
225
390
  modules: module_entry[];
391
+ quantity: UInt32;
226
392
  id: UInt64;
393
+ entity_id?: UInt64;
227
394
  }
228
- class claimstarter extends Struct {
229
- account: Name;
395
+ class claim_row extends Struct {
396
+ owner: Name;
397
+ }
398
+ class coordinates extends Struct {
230
399
  x: Int64;
231
400
  y: Int64;
401
+ z?: UInt16;
402
+ }
403
+ class claimplot extends Struct {
404
+ builder_id: UInt64;
405
+ target_item_id: UInt16;
406
+ coords: coordinates;
407
+ }
408
+ class claimstarter extends Struct {
409
+ owner: Name;
232
410
  }
233
411
  class cleanrsvp extends Struct {
234
412
  epoch: UInt64;
@@ -240,6 +418,14 @@ declare namespace Types {
240
418
  max_rows?: UInt64;
241
419
  }
242
420
  class commit extends Struct {
421
+ oracle_id: Name;
422
+ epoch: UInt64;
423
+ commit: Checksum256;
424
+ }
425
+ class commit_row extends Struct {
426
+ id: UInt64;
427
+ epoch: UInt64;
428
+ oracle_id: Name;
243
429
  commit: Checksum256;
244
430
  }
245
431
  class entity_defaults extends Struct {
@@ -261,37 +447,7 @@ declare namespace Types {
261
447
  class configlog extends Struct {
262
448
  config: game_config;
263
449
  }
264
- class coordinates extends Struct {
265
- x: Int64;
266
- y: Int64;
267
- z?: UInt16;
268
- }
269
- class task extends Struct {
270
- type: UInt8;
271
- duration: UInt32;
272
- cancelable: UInt8;
273
- coordinates?: coordinates;
274
- cargo: cargo_item[];
275
- entitytarget?: entity_ref;
276
- entitygroup?: UInt64;
277
- energy_cost?: UInt16;
278
- }
279
- class schedule extends Struct {
280
- started: TimePoint;
281
- tasks: task[];
282
- }
283
- class container_row extends Struct {
284
- id: UInt64;
285
- owner: Name;
286
- name: string;
287
- coordinates: coordinates;
288
- hullmass: UInt32;
289
- capacity: UInt32;
290
- cargomass: UInt32;
291
- schedule?: schedule;
292
- }
293
450
  class craft extends Struct {
294
- entity_type: Name;
295
451
  id: UInt64;
296
452
  recipe_id: UInt16;
297
453
  quantity: UInt32;
@@ -299,20 +455,14 @@ declare namespace Types {
299
455
  }
300
456
  class crafter_stats extends Struct {
301
457
  speed: UInt16;
302
- drain: UInt16;
458
+ drain: UInt32;
303
459
  }
304
- class createentity extends Struct {
305
- owner: Name;
306
- entity_type: Name;
307
- entity_name: string;
308
- x: Int64;
309
- y: Int64;
460
+ class demolish extends Struct {
461
+ entity_id: UInt64;
310
462
  }
311
463
  class deploy extends Struct {
312
- entity_type: Name;
313
464
  id: UInt64;
314
- packed_item_id: UInt16;
315
- stats: UInt64;
465
+ ref: cargo_ref;
316
466
  }
317
467
  class descentity extends Struct {
318
468
  item_id: UInt16;
@@ -324,35 +474,52 @@ declare namespace Types {
324
474
  enabled: boolean;
325
475
  }
326
476
  class energy_stats extends Struct {
327
- capacity: UInt16;
328
- recharge: UInt16;
477
+ capacity: UInt32;
478
+ recharge: UInt32;
329
479
  }
330
480
  class entity_current_state extends Struct {
331
481
  coordinates: coordinates;
332
- energy: UInt16;
333
- }
334
- class loader_stats extends Struct {
335
- mass: UInt32;
336
- thrust: UInt16;
337
- quantity: UInt8;
482
+ energy: UInt32;
338
483
  }
339
484
  class movement_stats extends Struct {
340
485
  thrust: UInt32;
341
- drain: UInt16;
486
+ drain: UInt32;
487
+ }
488
+ class warp_stats extends Struct {
489
+ range: UInt32;
342
490
  }
343
491
  class gatherer_stats extends Struct {
344
492
  yield: UInt16;
345
- drain: UInt16;
493
+ drain: UInt32;
346
494
  depth: UInt16;
347
- speed: UInt16;
495
+ }
496
+ class loader_stats extends Struct {
497
+ mass: UInt32;
498
+ thrust: UInt16;
499
+ quantity: UInt8;
348
500
  }
349
501
  class hauler_stats extends Struct {
350
502
  capacity: UInt8;
351
503
  efficiency: UInt16;
352
- drain: UInt16;
504
+ drain: UInt32;
353
505
  }
354
- class warp_stats extends Struct {
355
- range: UInt32;
506
+ class task extends Struct {
507
+ type: UInt8;
508
+ duration: UInt32;
509
+ cancelable: UInt8;
510
+ coordinates?: coordinates;
511
+ cargo: cargo_item[];
512
+ entitytarget?: entity_ref;
513
+ entitygroup?: UInt64;
514
+ energy_cost?: UInt32;
515
+ }
516
+ class schedule extends Struct {
517
+ started: TimePoint;
518
+ tasks: task[];
519
+ }
520
+ class lane extends Struct {
521
+ lane_key: UInt8;
522
+ schedule: schedule;
356
523
  }
357
524
  class entity_info extends Struct {
358
525
  type: Name;
@@ -360,29 +527,25 @@ declare namespace Types {
360
527
  owner: Name;
361
528
  entity_name: string;
362
529
  coordinates: coordinates;
530
+ item_id: UInt16;
363
531
  cargomass: UInt32;
364
532
  cargo: cargo_view[];
365
- loaders?: loader_stats;
366
533
  modules: module_entry[];
367
- energy?: UInt16;
534
+ energy?: UInt32;
368
535
  hullmass?: UInt32;
536
+ capacity?: UInt32;
369
537
  engines?: movement_stats;
538
+ warp?: warp_stats;
370
539
  generator?: energy_stats;
371
- capacity?: UInt32;
372
540
  gatherer?: gatherer_stats;
541
+ loaders?: loader_stats;
373
542
  hauler?: hauler_stats;
374
- warp?: warp_stats;
375
543
  crafter?: crafter_stats;
376
- is_idle: boolean;
377
- current_task?: task;
378
- current_task_elapsed: UInt32;
379
- current_task_remaining: UInt32;
380
- pending_tasks: task[];
381
- idle_at?: TimePoint;
382
- schedule?: schedule;
544
+ lanes: lane[];
383
545
  }
384
546
  class slot_def extends Struct {
385
547
  type: UInt8;
548
+ output_pct: UInt16;
386
549
  }
387
550
  class entity_layout extends Struct {
388
551
  entity_item_id: UInt16;
@@ -391,6 +554,22 @@ declare namespace Types {
391
554
  class entity_layouts_result extends Struct {
392
555
  entities: entity_layout[];
393
556
  }
557
+ class entity_row extends Struct {
558
+ id: UInt64;
559
+ owner: Name;
560
+ kind: Name;
561
+ item_id: UInt16;
562
+ name: string;
563
+ stats: UInt64;
564
+ coordinates: coordinates;
565
+ energy?: UInt32;
566
+ cargomass: UInt32;
567
+ modules: module_entry[];
568
+ lanes: lane[];
569
+ }
570
+ class entity_seq_row extends Struct {
571
+ next_id: UInt64;
572
+ }
394
573
  class entity_summary extends Struct {
395
574
  type: Name;
396
575
  id: UInt64;
@@ -418,20 +597,44 @@ declare namespace Types {
418
597
  class enum_result extends Struct {
419
598
  members: enum_member[];
420
599
  }
600
+ class epoch_row extends Struct {
601
+ epoch: UInt64;
602
+ oracle_ids: Name[];
603
+ threshold: UInt8;
604
+ seed: Checksum256;
605
+ }
606
+ class fixcargomass extends Struct {
607
+ entity_id: UInt64;
608
+ }
609
+ class forcereveal extends Struct {
610
+ epoch: UInt64;
611
+ }
421
612
  class gather extends Struct {
422
- source: entity_ref;
423
- destination: entity_ref;
613
+ source_id: UInt64;
614
+ destination_id: UInt64;
424
615
  stratum: UInt16;
425
616
  quantity: UInt32;
426
617
  }
618
+ class genesisfleet extends Struct {
619
+ entities: entity_row[];
620
+ }
427
621
  class getconfig extends Struct {
428
622
  }
623
+ class getdeposit extends Struct {
624
+ owner: Name;
625
+ asset_id: UInt64;
626
+ }
627
+ class geteligible extends Struct {
628
+ coords: coordinates;
629
+ stratum: UInt16;
630
+ }
631
+ class getentcls extends Struct {
632
+ }
429
633
  class getentities extends Struct {
430
634
  owner: Name;
431
635
  entity_type?: Name;
432
636
  }
433
637
  class getentity extends Struct {
434
- entity_type: Name;
435
638
  entity_id: UInt64;
436
639
  }
437
640
  class getitemdata extends Struct {
@@ -440,8 +643,13 @@ declare namespace Types {
440
643
  }
441
644
  class getitems extends Struct {
442
645
  }
646
+ class getitemtype extends Struct {
647
+ item_id: UInt16;
648
+ }
443
649
  class getitemtypes extends Struct {
444
650
  }
651
+ class getkindmeta extends Struct {
652
+ }
445
653
  class getlocation extends Struct {
446
654
  x: Int64;
447
655
  y: Int64;
@@ -455,15 +663,20 @@ declare namespace Types {
455
663
  class getmodules extends Struct {
456
664
  }
457
665
  class getnearby extends Struct {
458
- entity_type: Name;
459
666
  entity_id: UInt64;
460
667
  recharge: boolean;
461
668
  }
669
+ class getnftbase extends Struct {
670
+ }
462
671
  class getnftinfo extends Struct {
463
672
  }
464
673
  class getplayer extends Struct {
465
674
  account: Name;
466
675
  }
676
+ class getprojstate extends Struct {
677
+ entity_id: UInt64;
678
+ task_count?: UInt8;
679
+ }
467
680
  class getrecipe extends Struct {
468
681
  output_item_id: UInt16;
469
682
  }
@@ -502,9 +715,37 @@ declare namespace Types {
502
715
  class hash512 extends Struct {
503
716
  value: string;
504
717
  }
505
- class init extends Struct {
718
+ class importcargo extends Struct {
719
+ row: cargo_row;
720
+ }
721
+ class importentity extends Struct {
722
+ row: entity_row;
723
+ }
724
+ class importgroup extends Struct {
725
+ row: entitygroup_row;
726
+ }
727
+ class importplayer extends Struct {
728
+ owner: Name;
729
+ }
730
+ class reserve_row extends Struct {
731
+ id: UInt64;
732
+ coord_id: UInt64;
733
+ stratum: UInt16;
734
+ remaining: UInt32;
735
+ last_block: BlockTimestamp;
736
+ }
737
+ class importreserve extends Struct {
738
+ epoch_scope: UInt32;
739
+ row: reserve_row;
740
+ }
741
+ class state_row extends Struct {
742
+ enabled: boolean;
743
+ epoch: UInt32;
506
744
  seed: Checksum256;
507
745
  }
746
+ class importstate extends Struct {
747
+ row: state_row;
748
+ }
508
749
  class item_id_pair extends Struct {
509
750
  id: UInt16;
510
751
  name: string;
@@ -514,8 +755,6 @@ declare namespace Types {
514
755
  }
515
756
  class recipe_input extends Struct {
516
757
  item_id: UInt16;
517
- category: UInt8;
518
- tier: UInt8;
519
758
  quantity: UInt32;
520
759
  }
521
760
  class stat_source extends Struct {
@@ -551,6 +790,22 @@ declare namespace Types {
551
790
  class join extends Struct {
552
791
  account: Name;
553
792
  }
793
+ class kind_meta_row extends Struct {
794
+ kind: Name;
795
+ classification: UInt8;
796
+ capability_flags: UInt8;
797
+ z_coord: UInt32;
798
+ default_label: string;
799
+ }
800
+ class template_meta_row extends Struct {
801
+ item_id: UInt16;
802
+ kind: Name;
803
+ display_label: string;
804
+ }
805
+ class kind_meta_result extends Struct {
806
+ kinds: kind_meta_row[];
807
+ templates: template_meta_row[];
808
+ }
554
809
  class location_static extends Struct {
555
810
  coords: coordinates;
556
811
  type: UInt8;
@@ -558,28 +813,14 @@ declare namespace Types {
558
813
  seed0: UInt8;
559
814
  seed1: UInt8;
560
815
  }
561
- class location_epoch extends Struct {
562
- active: boolean;
563
- seed0: UInt8;
564
- seed1: UInt8;
565
- }
566
816
  class location_derived extends Struct {
567
817
  static_props: location_static;
568
- epoch_props: location_epoch;
569
818
  size: UInt16;
570
819
  }
571
820
  class location_info extends Struct {
572
821
  coords: coordinates;
573
822
  is_system: boolean;
574
823
  }
575
- class location_row extends Struct {
576
- id: UInt64;
577
- owner: Name;
578
- coordinates: coordinates;
579
- cargomass: UInt32;
580
- cargo: cargo_item[];
581
- schedule?: schedule;
582
- }
583
824
  class module_info extends Struct {
584
825
  id: UInt16;
585
826
  mass: UInt32;
@@ -599,14 +840,18 @@ declare namespace Types {
599
840
  can_travel: boolean;
600
841
  current: entity_current_state;
601
842
  projected: entity_current_state;
602
- max_energy: UInt16;
843
+ max_energy: UInt32;
603
844
  systems: nearby_system[];
604
845
  }
605
- class nexus_row extends Struct {
606
- id: UInt64;
607
- owner: Name;
608
- name: string;
609
- coordinates: coordinates;
846
+ class nft_cargo_item extends Struct {
847
+ item_id: UInt16;
848
+ stats: UInt64;
849
+ modules: module_entry[];
850
+ quantity: UInt32;
851
+ }
852
+ class nft_item_payload extends Struct {
853
+ item: nft_cargo_item;
854
+ location?: coordinates;
610
855
  }
611
856
  class schema_field extends Struct {
612
857
  name: string;
@@ -619,12 +864,17 @@ declare namespace Types {
619
864
  class nft_template_def extends Struct {
620
865
  item_id: UInt16;
621
866
  schema_name: Name;
867
+ template_id: Int32;
622
868
  }
623
869
  class nftconfig_row extends Struct {
624
870
  item_id: UInt16;
625
871
  template_id: Int32;
626
872
  schema_name: Name;
627
873
  }
874
+ class nftimgurl extends Struct {
875
+ item: cargo_item;
876
+ location?: coordinates;
877
+ }
628
878
  class nftinfo_result extends Struct {
629
879
  schemas: nft_schema_def[];
630
880
  templates: nft_template_def[];
@@ -638,34 +888,66 @@ declare namespace Types {
638
888
  task: task;
639
889
  starts_at: TimePoint;
640
890
  completes_at: TimePoint;
641
- new_energy?: UInt16;
891
+ new_energy?: UInt32;
892
+ lane_key: UInt8;
642
893
  }
643
894
  class notify extends Struct {
644
895
  event: task_event;
645
896
  }
646
- class player_info extends Struct {
897
+ class oracle_config_row extends Struct {
898
+ threshold: UInt8;
899
+ }
900
+ class oracle_row extends Struct {
901
+ id: Name;
902
+ }
903
+ class placecargo extends Struct {
647
904
  owner: Name;
648
- is_player: boolean;
649
- company_name: string;
650
- ship_count: UInt64;
651
- warehouse_count: UInt64;
652
- container_count: UInt64;
905
+ host_id: UInt64;
906
+ asset_id: UInt64;
907
+ }
908
+ class placeentity extends Struct {
909
+ owner: Name;
910
+ asset_id: UInt64;
911
+ target_nexus_id: UInt64;
912
+ }
913
+ class player_info extends Struct {
914
+ owner: Name;
915
+ is_player: boolean;
916
+ company_name: string;
653
917
  }
654
918
  class player_row extends Struct {
655
919
  owner: Name;
656
920
  }
921
+ class projected_state extends Struct {
922
+ owner: Name;
923
+ coordinates: coordinates;
924
+ energy?: UInt32;
925
+ cargomass: UInt32;
926
+ cargo: cargo_view[];
927
+ hullmass?: UInt32;
928
+ capacity?: UInt32;
929
+ engines?: movement_stats;
930
+ warp?: warp_stats;
931
+ generator?: energy_stats;
932
+ gatherer?: gatherer_stats;
933
+ loaders?: loader_stats;
934
+ hauler?: hauler_stats;
935
+ crafter?: crafter_stats;
936
+ }
657
937
  class recharge extends Struct {
658
- entity_type: Name;
659
938
  id: UInt64;
660
939
  }
661
- class reserve_row extends Struct {
940
+ class refrshentity extends Struct {
941
+ entity_id: UInt64;
942
+ }
943
+ class removeoracle extends Struct {
944
+ oracle_id: Name;
945
+ }
946
+ class rename extends Struct {
662
947
  id: UInt64;
663
- coord_id: UInt64;
664
- stratum: UInt16;
665
- remaining: UInt32;
948
+ name: string;
666
949
  }
667
950
  class resolve extends Struct {
668
- entity_type: Name;
669
951
  id: UInt64;
670
952
  count?: UInt64;
671
953
  }
@@ -691,71 +973,58 @@ declare namespace Types {
691
973
  class resources_result extends Struct {
692
974
  resources: resource_info[];
693
975
  }
976
+ class retarget extends Struct {
977
+ source_id: UInt64;
978
+ task_index: UInt64;
979
+ new_dest_id: UInt64;
980
+ }
981
+ class reveal extends Struct {
982
+ oracle_id: Name;
983
+ epoch: UInt64;
984
+ reveal: Checksum256;
985
+ }
986
+ class reveal_row extends Struct {
987
+ id: UInt64;
988
+ epoch: UInt64;
989
+ oracle_id: Name;
990
+ reveal: Checksum256;
991
+ }
694
992
  class rmmodule extends Struct {
695
- entity_type: Name;
696
993
  entity_id: UInt64;
697
994
  module_index: UInt8;
698
- target_cargo_id: UInt64;
995
+ target_ref?: cargo_ref;
699
996
  }
700
997
  class rmnftcfg extends Struct {
701
998
  item_id: UInt16;
702
999
  }
703
- class salt extends Struct {
704
- salt: UInt64;
705
- }
706
- class sequence_row extends Struct {
707
- key: Name;
708
- value: UInt64;
709
- }
710
1000
  class setnftcfg extends Struct {
711
1001
  item_id: UInt16;
712
1002
  template_id: Int32;
713
1003
  schema_name: Name;
714
1004
  }
715
- class ship_row extends Struct {
716
- id: UInt64;
717
- owner: Name;
718
- name: string;
719
- stats: UInt64;
720
- coordinates: coordinates;
721
- hullmass?: UInt32;
722
- capacity?: UInt32;
723
- energy?: UInt16;
724
- cargomass: UInt32;
725
- engines?: movement_stats;
726
- generator?: energy_stats;
727
- loaders?: loader_stats;
728
- gatherer?: gatherer_stats;
729
- warp?: warp_stats;
730
- crafter?: crafter_stats;
731
- hauler?: hauler_stats;
732
- modules: module_entry[];
733
- schedule?: schedule;
1005
+ class setthreshold extends Struct {
1006
+ threshold: UInt8;
734
1007
  }
735
- class spawncargo extends Struct {
736
- entity_id: UInt64;
737
- item_id: UInt64;
738
- quantity: UInt64;
1008
+ class setwrapcost extends Struct {
1009
+ item_type: UInt8;
1010
+ tier: UInt8;
1011
+ amount: UInt64;
739
1012
  }
740
- class spawnpacked extends Struct {
741
- entity_id: UInt64;
742
- item_id: UInt16;
743
- hull_stats: UInt64;
744
- installed: packed_module[];
1013
+ class setwrapfee extends Struct {
1014
+ fee_pct: UInt16;
1015
+ fee_account: Name;
745
1016
  }
746
- class spawnseeded extends Struct {
1017
+ class stowcargo extends Struct {
1018
+ owner: Name;
747
1019
  entity_id: UInt64;
748
- item_id: UInt64;
1020
+ nexus_id: UInt64;
1021
+ cargo_id: UInt64;
749
1022
  quantity: UInt64;
750
- stats: UInt64;
751
1023
  }
752
- class state_row extends Struct {
753
- enabled: boolean;
754
- epoch: UInt32;
755
- salt: UInt64;
756
- ships: UInt32;
757
- seed: Checksum256;
758
- commit: Checksum256;
1024
+ class stowentity extends Struct {
1025
+ owner: Name;
1026
+ entity_id: UInt64;
1027
+ nexus_id: UInt64;
759
1028
  }
760
1029
  class stratum_info extends Struct {
761
1030
  item_id: UInt16;
@@ -771,21 +1040,22 @@ declare namespace Types {
771
1040
  class stratum_remaining extends Struct {
772
1041
  stratum: UInt16;
773
1042
  remaining: UInt32;
1043
+ last_block: BlockTimestamp;
1044
+ }
1045
+ class swapmodule extends Struct {
1046
+ entity_id: UInt64;
1047
+ module_index: UInt8;
1048
+ module_ref: cargo_ref;
774
1049
  }
775
1050
  class task_results extends Struct {
776
1051
  entities: entity_task_info[];
777
1052
  }
778
1053
  class transfer extends Struct {
779
- source_type: Name;
780
1054
  source_id: UInt64;
781
- dest_type: Name;
782
1055
  dest_id: UInt64;
783
- item_id: UInt16;
784
- stats: UInt64;
785
- quantity: UInt32;
1056
+ items: cargo_item[];
786
1057
  }
787
1058
  class travel extends Struct {
788
- entity_type: Name;
789
1059
  id: UInt64;
790
1060
  x: Int64;
791
1061
  y: Int64;
@@ -796,77 +1066,76 @@ declare namespace Types {
796
1066
  entity_summary_type: entity_summary;
797
1067
  game_config_type: game_config;
798
1068
  stratum_remaining_type: stratum_remaining;
1069
+ nft_item_payload_type: nft_item_payload;
799
1070
  }
800
- class warehouse_row extends Struct {
801
- id: UInt64;
802
- owner: Name;
803
- name: string;
804
- stats: UInt64;
805
- coordinates: coordinates;
806
- hullmass?: UInt32;
807
- capacity?: UInt32;
808
- cargomass: UInt32;
809
- loaders?: loader_stats;
810
- modules: module_entry[];
811
- schedule?: schedule;
1071
+ class undeploy extends Struct {
1072
+ host_id: UInt64;
1073
+ target_id: UInt64;
812
1074
  }
813
1075
  class warp extends Struct {
814
- entity_type: Name;
815
1076
  id: UInt64;
816
1077
  x: Int64;
817
1078
  y: Int64;
818
1079
  }
819
1080
  class wipe extends Struct {
820
1081
  }
821
- class wipesequence extends Struct {
1082
+ class wrapconfig_row extends Struct {
1083
+ fee_pct: UInt16;
1084
+ fee_account: Name;
822
1085
  }
823
- class wrap extends Struct {
824
- owner: Name;
825
- entity_type: Name;
826
- entity_id: UInt64;
827
- cargo_id: UInt64;
828
- quantity: UInt64;
1086
+ class wrapcost_row extends Struct {
1087
+ item_type: UInt8;
1088
+ tier: UInt8;
1089
+ amount: UInt64;
829
1090
  }
830
1091
  }
831
1092
  declare const TableMap: {
832
1093
  cargo: typeof Types.cargo_row;
833
- container: typeof Types.container_row;
1094
+ claims: typeof Types.claim_row;
1095
+ commit: typeof Types.commit_row;
1096
+ entity: typeof Types.entity_row;
834
1097
  entitygroup: typeof Types.entitygroup_row;
835
- location: typeof Types.location_row;
836
- nexus: typeof Types.nexus_row;
1098
+ entityseq: typeof Types.entity_seq_row;
1099
+ epoch: typeof Types.epoch_row;
837
1100
  nftconfig: typeof Types.nftconfig_row;
1101
+ oraclecfg: typeof Types.oracle_config_row;
1102
+ oracles: typeof Types.oracle_row;
838
1103
  player: typeof Types.player_row;
839
1104
  reserve: typeof Types.reserve_row;
840
- sequence: typeof Types.sequence_row;
841
- ship: typeof Types.ship_row;
1105
+ reveal: typeof Types.reveal_row;
842
1106
  state: typeof Types.state_row;
843
1107
  types: typeof Types.types_row;
844
- warehouse: typeof Types.warehouse_row;
1108
+ wrapconfig: typeof Types.wrapconfig_row;
1109
+ wrapcost: typeof Types.wrapcost_row;
845
1110
  };
846
1111
  interface TableTypes {
847
1112
  cargo: Types.cargo_row;
848
- container: Types.container_row;
1113
+ claims: Types.claim_row;
1114
+ commit: Types.commit_row;
1115
+ entity: Types.entity_row;
849
1116
  entitygroup: Types.entitygroup_row;
850
- location: Types.location_row;
851
- nexus: Types.nexus_row;
1117
+ entityseq: Types.entity_seq_row;
1118
+ epoch: Types.epoch_row;
852
1119
  nftconfig: Types.nftconfig_row;
1120
+ oraclecfg: Types.oracle_config_row;
1121
+ oracles: Types.oracle_row;
853
1122
  player: Types.player_row;
854
1123
  reserve: Types.reserve_row;
855
- sequence: Types.sequence_row;
856
- ship: Types.ship_row;
1124
+ reveal: Types.reveal_row;
857
1125
  state: Types.state_row;
858
1126
  types: Types.types_row;
859
- warehouse: Types.warehouse_row;
1127
+ wrapconfig: Types.wrapconfig_row;
1128
+ wrapcost: Types.wrapcost_row;
860
1129
  }
861
1130
  type RowType<T> = T extends keyof TableTypes ? TableTypes[T] : any;
862
1131
  type TableNames = keyof TableTypes;
863
1132
  declare namespace ActionParams {
864
1133
  namespace Type {
865
- interface cargo_item {
1134
+ interface cargo_ref {
866
1135
  item_id: UInt16Type;
867
- quantity: UInt32Type;
868
1136
  stats: UInt64Type;
869
1137
  modules: Type.module_entry[];
1138
+ entity_id?: UInt64Type;
870
1139
  }
871
1140
  interface module_entry {
872
1141
  type: UInt8Type;
@@ -876,6 +1145,18 @@ declare namespace ActionParams {
876
1145
  item_id: UInt16Type;
877
1146
  stats: UInt64Type;
878
1147
  }
1148
+ interface cargo_item {
1149
+ item_id: UInt16Type;
1150
+ stats: UInt64Type;
1151
+ modules: Type.module_entry[];
1152
+ quantity: UInt32Type;
1153
+ entity_id?: UInt64Type;
1154
+ }
1155
+ interface coordinates {
1156
+ x: Int64Type;
1157
+ y: Int64Type;
1158
+ z?: UInt16Type;
1159
+ }
879
1160
  interface game_config {
880
1161
  version: UInt32Type;
881
1162
  defaults: Type.entity_defaults;
@@ -892,10 +1173,66 @@ declare namespace ActionParams {
892
1173
  subtype: UInt8Type;
893
1174
  tier: UInt8Type;
894
1175
  }
1176
+ interface entity_row {
1177
+ id: UInt64Type;
1178
+ owner: NameType;
1179
+ kind: NameType;
1180
+ item_id: UInt16Type;
1181
+ name: string;
1182
+ stats: UInt64Type;
1183
+ coordinates: Type.coordinates;
1184
+ energy?: UInt32Type;
1185
+ cargomass: UInt32Type;
1186
+ modules: Type.module_entry[];
1187
+ lanes: Type.lane[];
1188
+ }
1189
+ interface lane {
1190
+ lane_key: UInt8Type;
1191
+ schedule: Type.schedule;
1192
+ }
1193
+ interface schedule {
1194
+ started: TimePointType;
1195
+ tasks: Type.task[];
1196
+ }
1197
+ interface task {
1198
+ type: UInt8Type;
1199
+ duration: UInt32Type;
1200
+ cancelable: UInt8Type;
1201
+ coordinates?: Type.coordinates;
1202
+ cargo: Type.cargo_item[];
1203
+ entitytarget?: Type.entity_ref;
1204
+ entitygroup?: UInt64Type;
1205
+ energy_cost?: UInt32Type;
1206
+ }
895
1207
  interface entity_ref {
896
1208
  entity_type: NameType;
897
1209
  entity_id: UInt64Type;
898
1210
  }
1211
+ interface cargo_row {
1212
+ id: UInt64Type;
1213
+ entity_id: UInt64Type;
1214
+ item_id: UInt64Type;
1215
+ quantity: UInt64Type;
1216
+ stats: UInt64Type;
1217
+ modules: Type.module_entry[];
1218
+ sequence_id?: UInt64Type;
1219
+ }
1220
+ interface entitygroup_row {
1221
+ id: UInt64Type;
1222
+ participants: Type.entity_ref[];
1223
+ }
1224
+ interface reserve_row {
1225
+ id: UInt64Type;
1226
+ coord_id: UInt64Type;
1227
+ stratum: UInt16Type;
1228
+ remaining: UInt32Type;
1229
+ last_block: BlockTimestamp;
1230
+ }
1231
+ interface state_row {
1232
+ enabled: boolean;
1233
+ epoch: UInt32Type;
1234
+ seed: Checksum256Type;
1235
+ }
899
1236
  interface task_event {
900
1237
  event_type: UInt8Type;
901
1238
  owner: NameType;
@@ -905,54 +1242,44 @@ declare namespace ActionParams {
905
1242
  task: Type.task;
906
1243
  starts_at: TimePointType;
907
1244
  completes_at: TimePointType;
908
- new_energy?: UInt16Type;
909
- }
910
- interface task {
911
- type: UInt8Type;
912
- duration: UInt32Type;
913
- cancelable: UInt8Type;
914
- coordinates?: Type.coordinates;
915
- cargo: Type.cargo_item[];
916
- entitytarget?: Type.entity_ref;
917
- entitygroup?: UInt64Type;
918
- energy_cost?: UInt16Type;
919
- }
920
- interface coordinates {
921
- x: Int64Type;
922
- y: Int64Type;
923
- z?: UInt16Type;
1245
+ new_energy?: UInt32Type;
1246
+ lane_key: UInt8Type;
924
1247
  }
925
1248
  }
926
1249
  interface addmodule {
927
- entity_type: NameType;
928
1250
  entity_id: UInt64Type;
929
1251
  module_index: UInt8Type;
930
- module_cargo_id: UInt64Type;
931
- target_cargo_id: UInt64Type;
1252
+ module_ref: Type.cargo_ref;
1253
+ target_ref?: Type.cargo_ref;
932
1254
  }
933
1255
  interface addnexus {
934
1256
  nexus_name: string;
935
1257
  x: Int64Type;
936
1258
  y: Int64Type;
937
1259
  }
938
- interface advance {
939
- reveal: string;
940
- commit: Checksum256Type;
1260
+ interface addoracle {
1261
+ oracle_id: NameType;
941
1262
  }
942
1263
  interface blend {
943
- entity_type: NameType;
944
1264
  id: UInt64Type;
945
1265
  inputs: Type.cargo_item[];
946
1266
  }
1267
+ interface buildplot {
1268
+ builder_id: UInt64Type;
1269
+ plot_id: UInt64Type;
1270
+ }
947
1271
  interface cancel {
948
- entity_type: NameType;
949
1272
  id: UInt64Type;
1273
+ lane_key: UInt8Type;
950
1274
  count: UInt64Type;
951
1275
  }
1276
+ interface claimplot {
1277
+ builder_id: UInt64Type;
1278
+ target_item_id: UInt16Type;
1279
+ coords: Type.coordinates;
1280
+ }
952
1281
  interface claimstarter {
953
- account: NameType;
954
- x: Int64Type;
955
- y: Int64Type;
1282
+ owner: NameType;
956
1283
  }
957
1284
  interface cleanrsvp {
958
1285
  epoch: UInt64Type;
@@ -964,30 +1291,25 @@ declare namespace ActionParams {
964
1291
  max_rows?: UInt64Type;
965
1292
  }
966
1293
  interface commit {
1294
+ oracle_id: NameType;
1295
+ epoch: UInt64Type;
967
1296
  commit: Checksum256Type;
968
1297
  }
969
1298
  interface configlog {
970
1299
  config: Type.game_config;
971
1300
  }
972
1301
  interface craft {
973
- entity_type: NameType;
974
1302
  id: UInt64Type;
975
1303
  recipe_id: UInt16Type;
976
1304
  quantity: UInt32Type;
977
1305
  inputs: Type.cargo_item[];
978
1306
  }
979
- interface createentity {
980
- owner: NameType;
981
- entity_type: NameType;
982
- entity_name: string;
983
- x: Int64Type;
984
- y: Int64Type;
1307
+ interface demolish {
1308
+ entity_id: UInt64Type;
985
1309
  }
986
1310
  interface deploy {
987
- entity_type: NameType;
988
1311
  id: UInt64Type;
989
- packed_item_id: UInt16Type;
990
- stats: UInt64Type;
1312
+ ref: Type.cargo_ref;
991
1313
  }
992
1314
  interface descentity {
993
1315
  item_id: UInt16Type;
@@ -998,20 +1320,38 @@ declare namespace ActionParams {
998
1320
  interface enable {
999
1321
  enabled: boolean;
1000
1322
  }
1323
+ interface fixcargomass {
1324
+ entity_id: UInt64Type;
1325
+ }
1326
+ interface forcereveal {
1327
+ epoch: UInt64Type;
1328
+ }
1001
1329
  interface gather {
1002
- source: Type.entity_ref;
1003
- destination: Type.entity_ref;
1330
+ source_id: UInt64Type;
1331
+ destination_id: UInt64Type;
1004
1332
  stratum: UInt16Type;
1005
1333
  quantity: UInt32Type;
1006
1334
  }
1335
+ interface genesisfleet {
1336
+ entities: Type.entity_row[];
1337
+ }
1007
1338
  interface getconfig {
1008
1339
  }
1340
+ interface getdeposit {
1341
+ owner: NameType;
1342
+ asset_id: UInt64Type;
1343
+ }
1344
+ interface geteligible {
1345
+ coords: Type.coordinates;
1346
+ stratum: UInt16Type;
1347
+ }
1348
+ interface getentcls {
1349
+ }
1009
1350
  interface getentities {
1010
1351
  owner: NameType;
1011
1352
  entity_type?: NameType;
1012
1353
  }
1013
1354
  interface getentity {
1014
- entity_type: NameType;
1015
1355
  entity_id: UInt64Type;
1016
1356
  }
1017
1357
  interface getitemdata {
@@ -1020,8 +1360,13 @@ declare namespace ActionParams {
1020
1360
  }
1021
1361
  interface getitems {
1022
1362
  }
1363
+ interface getitemtype {
1364
+ item_id: UInt16Type;
1365
+ }
1023
1366
  interface getitemtypes {
1024
1367
  }
1368
+ interface getkindmeta {
1369
+ }
1025
1370
  interface getlocation {
1026
1371
  x: Int64Type;
1027
1372
  y: Int64Type;
@@ -1035,15 +1380,20 @@ declare namespace ActionParams {
1035
1380
  interface getmodules {
1036
1381
  }
1037
1382
  interface getnearby {
1038
- entity_type: NameType;
1039
1383
  entity_id: UInt64Type;
1040
1384
  recharge: boolean;
1041
1385
  }
1386
+ interface getnftbase {
1387
+ }
1042
1388
  interface getnftinfo {
1043
1389
  }
1044
1390
  interface getplayer {
1045
1391
  account: NameType;
1046
1392
  }
1393
+ interface getprojstate {
1394
+ entity_id: UInt64Type;
1395
+ task_count?: UInt8Type;
1396
+ }
1047
1397
  interface getrecipe {
1048
1398
  output_item_id: UInt16Type;
1049
1399
  }
@@ -1082,123 +1432,180 @@ declare namespace ActionParams {
1082
1432
  interface hash512 {
1083
1433
  value: string;
1084
1434
  }
1085
- interface init {
1086
- seed: Checksum256Type;
1435
+ interface importcargo {
1436
+ row: Type.cargo_row;
1437
+ }
1438
+ interface importentity {
1439
+ row: Type.entity_row;
1440
+ }
1441
+ interface importgroup {
1442
+ row: Type.entitygroup_row;
1443
+ }
1444
+ interface importplayer {
1445
+ owner: NameType;
1446
+ }
1447
+ interface importreserve {
1448
+ epoch_scope: UInt32Type;
1449
+ row: Type.reserve_row;
1450
+ }
1451
+ interface importstate {
1452
+ row: Type.state_row;
1087
1453
  }
1088
1454
  interface join {
1089
1455
  account: NameType;
1090
1456
  }
1457
+ interface nftimgurl {
1458
+ item: Type.cargo_item;
1459
+ location?: Type.coordinates;
1460
+ }
1091
1461
  interface notify {
1092
1462
  event: Type.task_event;
1093
1463
  }
1464
+ interface placecargo {
1465
+ owner: NameType;
1466
+ host_id: UInt64Type;
1467
+ asset_id: UInt64Type;
1468
+ }
1469
+ interface placeentity {
1470
+ owner: NameType;
1471
+ asset_id: UInt64Type;
1472
+ target_nexus_id: UInt64Type;
1473
+ }
1094
1474
  interface recharge {
1095
- entity_type: NameType;
1096
1475
  id: UInt64Type;
1097
1476
  }
1477
+ interface refrshentity {
1478
+ entity_id: UInt64Type;
1479
+ }
1480
+ interface removeoracle {
1481
+ oracle_id: NameType;
1482
+ }
1483
+ interface rename {
1484
+ id: UInt64Type;
1485
+ name: string;
1486
+ }
1098
1487
  interface resolve {
1099
- entity_type: NameType;
1100
1488
  id: UInt64Type;
1101
1489
  count?: UInt64Type;
1102
1490
  }
1491
+ interface retarget {
1492
+ source_id: UInt64Type;
1493
+ task_index: UInt64Type;
1494
+ new_dest_id: UInt64Type;
1495
+ }
1496
+ interface reveal {
1497
+ oracle_id: NameType;
1498
+ epoch: UInt64Type;
1499
+ reveal: Checksum256Type;
1500
+ }
1103
1501
  interface rmmodule {
1104
- entity_type: NameType;
1105
1502
  entity_id: UInt64Type;
1106
1503
  module_index: UInt8Type;
1107
- target_cargo_id: UInt64Type;
1504
+ target_ref?: Type.cargo_ref;
1108
1505
  }
1109
1506
  interface rmnftcfg {
1110
1507
  item_id: UInt16Type;
1111
1508
  }
1112
- interface salt {
1113
- salt: UInt64Type;
1114
- }
1115
1509
  interface setnftcfg {
1116
1510
  item_id: UInt16Type;
1117
1511
  template_id: Int32Type;
1118
1512
  schema_name: NameType;
1119
1513
  }
1120
- interface spawncargo {
1514
+ interface setthreshold {
1515
+ threshold: UInt8Type;
1516
+ }
1517
+ interface setwrapcost {
1518
+ item_type: UInt8Type;
1519
+ tier: UInt8Type;
1520
+ amount: UInt64Type;
1521
+ }
1522
+ interface setwrapfee {
1523
+ fee_pct: UInt16Type;
1524
+ fee_account: NameType;
1525
+ }
1526
+ interface stowcargo {
1527
+ owner: NameType;
1121
1528
  entity_id: UInt64Type;
1122
- item_id: UInt64Type;
1529
+ nexus_id: UInt64Type;
1530
+ cargo_id: UInt64Type;
1123
1531
  quantity: UInt64Type;
1124
1532
  }
1125
- interface spawnpacked {
1533
+ interface stowentity {
1534
+ owner: NameType;
1126
1535
  entity_id: UInt64Type;
1127
- item_id: UInt16Type;
1128
- hull_stats: UInt64Type;
1129
- installed: Type.packed_module[];
1536
+ nexus_id: UInt64Type;
1130
1537
  }
1131
- interface spawnseeded {
1538
+ interface swapmodule {
1132
1539
  entity_id: UInt64Type;
1133
- item_id: UInt64Type;
1134
- quantity: UInt64Type;
1135
- stats: UInt64Type;
1540
+ module_index: UInt8Type;
1541
+ module_ref: Type.cargo_ref;
1136
1542
  }
1137
1543
  interface transfer {
1138
- source_type: NameType;
1139
1544
  source_id: UInt64Type;
1140
- dest_type: NameType;
1141
1545
  dest_id: UInt64Type;
1142
- item_id: UInt16Type;
1143
- stats: UInt64Type;
1144
- quantity: UInt32Type;
1546
+ items: Type.cargo_item[];
1145
1547
  }
1146
1548
  interface travel {
1147
- entity_type: NameType;
1148
1549
  id: UInt64Type;
1149
1550
  x: Int64Type;
1150
1551
  y: Int64Type;
1151
1552
  recharge: boolean;
1152
1553
  }
1554
+ interface undeploy {
1555
+ host_id: UInt64Type;
1556
+ target_id: UInt64Type;
1557
+ }
1153
1558
  interface warp {
1154
- entity_type: NameType;
1155
1559
  id: UInt64Type;
1156
1560
  x: Int64Type;
1157
1561
  y: Int64Type;
1158
1562
  }
1159
1563
  interface wipe {
1160
1564
  }
1161
- interface wipesequence {
1162
- }
1163
- interface wrap {
1164
- owner: NameType;
1165
- entity_type: NameType;
1166
- entity_id: UInt64Type;
1167
- cargo_id: UInt64Type;
1168
- quantity: UInt64Type;
1169
- }
1170
1565
  }
1171
1566
  interface ActionNameParams {
1172
1567
  addmodule: ActionParams.addmodule;
1173
1568
  addnexus: ActionParams.addnexus;
1174
- advance: ActionParams.advance;
1569
+ addoracle: ActionParams.addoracle;
1175
1570
  blend: ActionParams.blend;
1571
+ buildplot: ActionParams.buildplot;
1176
1572
  cancel: ActionParams.cancel;
1573
+ claimplot: ActionParams.claimplot;
1177
1574
  claimstarter: ActionParams.claimstarter;
1178
1575
  cleanrsvp: ActionParams.cleanrsvp;
1179
1576
  cleartable: ActionParams.cleartable;
1180
1577
  commit: ActionParams.commit;
1181
1578
  configlog: ActionParams.configlog;
1182
1579
  craft: ActionParams.craft;
1183
- createentity: ActionParams.createentity;
1580
+ demolish: ActionParams.demolish;
1184
1581
  deploy: ActionParams.deploy;
1185
1582
  descentity: ActionParams.descentity;
1186
1583
  enable: ActionParams.enable;
1584
+ fixcargomass: ActionParams.fixcargomass;
1585
+ forcereveal: ActionParams.forcereveal;
1187
1586
  gather: ActionParams.gather;
1587
+ genesisfleet: ActionParams.genesisfleet;
1188
1588
  getconfig: ActionParams.getconfig;
1589
+ getdeposit: ActionParams.getdeposit;
1590
+ geteligible: ActionParams.geteligible;
1591
+ getentcls: ActionParams.getentcls;
1189
1592
  getentities: ActionParams.getentities;
1190
1593
  getentity: ActionParams.getentity;
1191
1594
  getitemdata: ActionParams.getitemdata;
1192
1595
  getitemids: ActionParams.getitemids;
1193
1596
  getitems: ActionParams.getitems;
1597
+ getitemtype: ActionParams.getitemtype;
1194
1598
  getitemtypes: ActionParams.getitemtypes;
1599
+ getkindmeta: ActionParams.getkindmeta;
1195
1600
  getlocation: ActionParams.getlocation;
1196
1601
  getlocdata: ActionParams.getlocdata;
1197
1602
  getmodtypes: ActionParams.getmodtypes;
1198
1603
  getmodules: ActionParams.getmodules;
1199
1604
  getnearby: ActionParams.getnearby;
1605
+ getnftbase: ActionParams.getnftbase;
1200
1606
  getnftinfo: ActionParams.getnftinfo;
1201
1607
  getplayer: ActionParams.getplayer;
1608
+ getprojstate: ActionParams.getprojstate;
1202
1609
  getrecipe: ActionParams.getrecipe;
1203
1610
  getrecipes: ActionParams.getrecipes;
1204
1611
  getrescats: ActionParams.getrescats;
@@ -1210,46 +1617,70 @@ interface ActionNameParams {
1210
1617
  grouptravel: ActionParams.grouptravel;
1211
1618
  hash: ActionParams.hash;
1212
1619
  hash512: ActionParams.hash512;
1213
- init: ActionParams.init;
1620
+ importcargo: ActionParams.importcargo;
1621
+ importentity: ActionParams.importentity;
1622
+ importgroup: ActionParams.importgroup;
1623
+ importplayer: ActionParams.importplayer;
1624
+ importreserve: ActionParams.importreserve;
1625
+ importstate: ActionParams.importstate;
1214
1626
  join: ActionParams.join;
1627
+ nftimgurl: ActionParams.nftimgurl;
1215
1628
  notify: ActionParams.notify;
1629
+ placecargo: ActionParams.placecargo;
1630
+ placeentity: ActionParams.placeentity;
1216
1631
  recharge: ActionParams.recharge;
1632
+ refrshentity: ActionParams.refrshentity;
1633
+ removeoracle: ActionParams.removeoracle;
1634
+ rename: ActionParams.rename;
1217
1635
  resolve: ActionParams.resolve;
1636
+ retarget: ActionParams.retarget;
1637
+ reveal: ActionParams.reveal;
1218
1638
  rmmodule: ActionParams.rmmodule;
1219
1639
  rmnftcfg: ActionParams.rmnftcfg;
1220
- salt: ActionParams.salt;
1221
1640
  setnftcfg: ActionParams.setnftcfg;
1222
- spawncargo: ActionParams.spawncargo;
1223
- spawnpacked: ActionParams.spawnpacked;
1224
- spawnseeded: ActionParams.spawnseeded;
1641
+ setthreshold: ActionParams.setthreshold;
1642
+ setwrapcost: ActionParams.setwrapcost;
1643
+ setwrapfee: ActionParams.setwrapfee;
1644
+ stowcargo: ActionParams.stowcargo;
1645
+ stowentity: ActionParams.stowentity;
1646
+ swapmodule: ActionParams.swapmodule;
1225
1647
  transfer: ActionParams.transfer;
1226
1648
  travel: ActionParams.travel;
1649
+ undeploy: ActionParams.undeploy;
1227
1650
  warp: ActionParams.warp;
1228
1651
  wipe: ActionParams.wipe;
1229
- wipesequence: ActionParams.wipesequence;
1230
- wrap: ActionParams.wrap;
1231
1652
  }
1232
1653
  type ActionNames = keyof ActionNameParams;
1233
1654
  interface ActionReturnValues {
1655
+ buildplot: Types.task_results;
1234
1656
  cancel: Types.cancel_results;
1657
+ claimplot: Types.task_results;
1235
1658
  craft: Types.task_results;
1659
+ demolish: Types.task_results;
1236
1660
  deploy: Types.task_results;
1237
1661
  descentity: string;
1238
1662
  gather: Types.task_results;
1239
1663
  getconfig: Types.game_config;
1664
+ getdeposit: ExtendedAsset;
1665
+ geteligible: UInt16[];
1666
+ getentcls: Types.enum_result;
1240
1667
  getentities: Types.entity_info[];
1241
1668
  getentity: Types.entity_info;
1242
1669
  getitemdata: Types.itemdata_result;
1243
1670
  getitemids: Types.item_ids_result;
1244
1671
  getitems: Types.items_info;
1672
+ getitemtype: UInt8;
1245
1673
  getitemtypes: Types.enum_result;
1674
+ getkindmeta: Types.kind_meta_result;
1246
1675
  getlocation: Types.location_info;
1247
1676
  getlocdata: Types.location_derived;
1248
1677
  getmodtypes: Types.enum_result;
1249
1678
  getmodules: Types.modules_result;
1250
1679
  getnearby: Types.nearby_info;
1680
+ getnftbase: string[];
1251
1681
  getnftinfo: Types.nftinfo_result;
1252
1682
  getplayer: Types.player_info;
1683
+ getprojstate: Types.projected_state;
1253
1684
  getrecipe: Types.recipes_result;
1254
1685
  getrecipes: Types.recipes_result;
1255
1686
  getrescats: Types.enum_result;
@@ -1261,12 +1692,18 @@ interface ActionReturnValues {
1261
1692
  grouptravel: Types.task_results;
1262
1693
  hash: Checksum256;
1263
1694
  hash512: Checksum512;
1695
+ nftimgurl: string;
1696
+ placecargo: Types.task_results;
1697
+ placeentity: Types.task_results;
1264
1698
  recharge: Types.task_results;
1265
1699
  resolve: Types.resolve_results;
1700
+ retarget: Types.task_results;
1701
+ stowcargo: Types.task_results;
1702
+ stowentity: Types.task_results;
1266
1703
  transfer: Types.task_results;
1267
1704
  travel: Types.task_results;
1705
+ undeploy: Types.task_results;
1268
1706
  warp: Types.task_results;
1269
- wrap: Types.task_results;
1270
1707
  }
1271
1708
  type ActionReturnNames = keyof ActionReturnValues;
1272
1709
  declare class Contract extends Contract$2 {
@@ -1326,16 +1763,15 @@ declare const REQUIRES_POSITIVE_VALUE = "Value must be greater than zero.";
1326
1763
  declare const PLAYER_ALREADY_JOINED = "Player has already joined the game.";
1327
1764
  declare const PLAYER_NOT_JOINED = "Player has not joined the game.";
1328
1765
  declare const PLAYER_NOT_FOUND = "Cannot find player for given account name.";
1329
- declare const STARTER_ALREADY_CLAIMED = "Starter ship already claimed; destroy existing ships to re-claim.";
1330
- declare const SHIP_ALREADY_THERE = "Ship cannot travel to the location its already at.";
1766
+ declare const ENTITY_ALREADY_THERE = "Entity cannot travel to the location it is already at.";
1331
1767
  declare const SHIP_ALREADY_TRAVELING = "Ship is already traveling.";
1332
1768
  declare const SHIP_CANNOT_BUY_TRAVELING = "Ship cannot buy goods while traveling.";
1333
1769
  declare const SHIP_CANNOT_UPDATE_TRAVELING = "Ship cannot be updated while traveling.";
1334
- declare const SHIP_INVALID_DESTINATION = "Ship cannot travel, no system at specified destination.";
1335
- declare const SHIP_INVALID_TRAVEL_DURATION = "This trip cannot be made as it would exceed the maximum travel duration.";
1770
+ declare const ENTITY_INVALID_DESTINATION = "Cannot travel: no system at specified destination.";
1771
+ declare const ENTITY_INVALID_TRAVEL_DURATION = "This trip cannot be made as it would exceed the maximum travel duration.";
1336
1772
  declare const SHIP_NOT_ARRIVED = "Ship has not yet arrived at its destination.";
1337
- declare const SHIP_NOT_ENOUGH_ENERGY = "Ship does not have enough energy to travel to the destination.";
1338
- declare const SHIP_NOT_ENOUGH_ENERGY_CAPACITY = "Ship does not have enough energy capacity to travel.";
1773
+ declare const ENTITY_NOT_ENOUGH_ENERGY = "Entity does not have enough energy to travel to the destination.";
1774
+ declare const ENTITY_NOT_ENOUGH_ENERGY_CAPACITY = "Entity does not have enough energy capacity to travel.";
1339
1775
  declare const SHIP_NOT_FOUND = "Cannot find ship for given account.";
1340
1776
  declare const SHIP_NOT_OWNED = "Ship is not owned by this account.";
1341
1777
  declare const NO_SCHEDULE = "No scheduled tasks.";
@@ -1344,16 +1780,13 @@ declare const SHIP_NO_COMPLETED_TASKS = "No completed tasks to resolve.";
1344
1780
  declare const RESOLVE_COUNT_EXCEEDS_COMPLETED = "Requested resolve count exceeds completed tasks.";
1345
1781
  declare const SHIP_CANNOT_CANCEL_TASK = "Cannot cancel task that is immutable or in progress.";
1346
1782
  declare const SHIP_NO_TASKS_TO_CANCEL = "No tasks to cancel.";
1347
- declare const SHIP_INVALID_CARGO = "Invalid cargo specified for load/unload.";
1348
- declare const SHIP_CARGO_NOT_OWNED = "Cannot load cargo that is not owned.";
1349
- declare const SHIP_CARGO_NOT_LOADED = "Cannot unload cargo that is not loaded.";
1350
- declare const SHIP_CAPACITY_EXCEEDED = "Ship cargo capacity would be exceeded.";
1783
+ declare const ENTITY_INVALID_CARGO = "Invalid cargo specified for load/unload.";
1784
+ declare const ENTITY_CARGO_NOT_OWNED = "Cannot load cargo that is not owned.";
1785
+ declare const ENTITY_CARGO_NOT_LOADED = "Cannot unload cargo that is not loaded.";
1351
1786
  declare const ENTITY_CAPACITY_EXCEEDED = "Entity cargo capacity would be exceeded.";
1352
1787
  declare const WAREHOUSE_NOT_FOUND = "Cannot find warehouse for given id.";
1353
1788
  declare const WAREHOUSE_ALREADY_AT_LOCATION = "Warehouse already exists at this location.";
1354
- declare const WAREHOUSE_CAPACITY_EXCEEDED = "Warehouse capacity would be exceeded.";
1355
1789
  declare const CONTAINER_NOT_FOUND = "Cannot find container for given id.";
1356
- declare const CONTAINER_CAPACITY_EXCEEDED = "Container capacity would be exceeded.";
1357
1790
  declare const DESTINATION_CAPACITY_EXCEEDED = "Destination entity does not have enough capacity for the gather.";
1358
1791
  declare const CANCEL_PAIRED_HAS_PENDING = "Cannot cancel transfer, paired entity has pending tasks.";
1359
1792
  declare const GROUP_EMPTY = "Group travel requires at least one entity.";
@@ -1400,12 +1833,14 @@ declare const INSUFFICIENT_ITEM_SUPPLY = "Insufficient supply of item at locatio
1400
1833
 
1401
1834
  declare const PRECISION = 10000;
1402
1835
  declare const CRAFT_ENERGY_DIVISOR = 150000;
1403
- declare const WAREHOUSE_Z = 500;
1836
+ declare const PLANETARY_STRUCTURE_Z = 0;
1404
1837
  declare const CONTAINER_Z = 300;
1405
1838
  declare const TRAVEL_MAX_DURATION = 86400;
1406
1839
  declare const MIN_ORBITAL_ALTITUDE = 800;
1407
1840
  declare const MAX_ORBITAL_ALTITUDE = 3000;
1408
1841
  declare const BASE_ORBITAL_MASS = 100000;
1842
+ declare const MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE = 100;
1843
+ declare const MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL = 300;
1409
1844
  interface ShipLike {
1410
1845
  coordinates: Types.coordinates;
1411
1846
  hullmass?: UInt32;
@@ -1430,26 +1865,25 @@ declare enum TaskType {
1430
1865
  WARP = 6,
1431
1866
  CRAFT = 7,
1432
1867
  DEPLOY = 8,
1433
- WRAP = 9,
1434
- UNWRAP = 10
1868
+ UNWRAP = 10,
1869
+ UNDEPLOY = 11,
1870
+ DEMOLISH = 13,
1871
+ CLAIMPLOT = 14,
1872
+ BUILDPLOT = 15,
1873
+ RESERVED = 16
1435
1874
  }
1436
1875
  declare enum LocationType {
1437
1876
  EMPTY = 0,
1438
1877
  PLANET = 1,
1439
1878
  ASTEROID = 2,
1440
- NEBULA = 3
1879
+ NEBULA = 3,
1880
+ ICE_FIELD = 4
1441
1881
  }
1442
1882
  declare enum TaskCancelable {
1443
1883
  NEVER = 0,
1444
1884
  BEFORE_START = 1,
1445
1885
  ALWAYS = 2
1446
1886
  }
1447
- declare const EntityType$1: {
1448
- readonly SHIP: Name;
1449
- readonly WAREHOUSE: Name;
1450
- readonly CONTAINER: Name;
1451
- };
1452
- type EntityTypeName = (typeof EntityType$1)[keyof typeof EntityType$1];
1453
1887
  type CoordinatesType = Coordinates | Types.coordinates | {
1454
1888
  x: Int64Type;
1455
1889
  y: Int64Type;
@@ -1467,8 +1901,10 @@ interface Distance {
1467
1901
  }
1468
1902
  type ItemType = 'resource' | 'component' | 'module' | 'entity';
1469
1903
  type ResourceCategory = 'ore' | 'crystal' | 'gas' | 'regolith' | 'biomass';
1470
- type ModuleType = 'any' | 'engine' | 'generator' | 'gatherer' | 'loader' | 'warp' | 'crafter' | 'launcher' | 'storage' | 'hauler';
1471
- declare const TIER_ADJECTIVES: Record<number, string>;
1904
+ type ModuleType = 'any' | 'engine' | 'generator' | 'gatherer' | 'loader' | 'warp' | 'crafter' | 'launcher' | 'storage' | 'hauler' | 'battery';
1905
+ declare const RESOURCE_TIER_ADJECTIVES: Record<number, string>;
1906
+ declare const COMPONENT_TIER_PREFIXES: Record<number, string>;
1907
+ declare const MODULE_TIER_PREFIXES: Record<number, string>;
1472
1908
  declare const CATEGORY_LABELS: Record<ResourceCategory, string>;
1473
1909
  interface Item {
1474
1910
  id: number;
@@ -1482,6 +1918,7 @@ interface Item {
1482
1918
  moduleType?: ModuleType;
1483
1919
  }
1484
1920
  declare function formatTier(tier: number): string;
1921
+ declare function tierAdjective(tier: number): string;
1485
1922
 
1486
1923
  declare const ITEM_ORE_T1 = 101;
1487
1924
  declare const ITEM_ORE_T2 = 102;
@@ -1533,16 +1970,16 @@ declare const ITEM_BIOMASS_T7 = 507;
1533
1970
  declare const ITEM_BIOMASS_T8 = 508;
1534
1971
  declare const ITEM_BIOMASS_T9 = 509;
1535
1972
  declare const ITEM_BIOMASS_T10 = 510;
1536
- declare const ITEM_HULL_PLATES = 10001;
1537
- declare const ITEM_CARGO_LINING = 10002;
1538
- declare const ITEM_THRUSTER_CORE = 10003;
1539
- declare const ITEM_POWER_CELL = 10004;
1540
- declare const ITEM_MATTER_CONDUIT = 10005;
1541
- declare const ITEM_SURVEY_PROBE = 10006;
1542
- declare const ITEM_CARGO_ARM = 10007;
1543
- declare const ITEM_TOOL_BIT = 10008;
1544
- declare const ITEM_REACTION_CHAMBER = 10009;
1545
- declare const ITEM_FOCUSING_ARRAY = 10010;
1973
+ declare const ITEM_PLATE = 10001;
1974
+ declare const ITEM_FRAME = 10002;
1975
+ declare const ITEM_PLASMA_CELL = 10003;
1976
+ declare const ITEM_RESONATOR = 10004;
1977
+ declare const ITEM_BEAM = 10005;
1978
+ declare const ITEM_SENSOR = 10006;
1979
+ declare const ITEM_POLYMER = 10007;
1980
+ declare const ITEM_CERAMIC = 10008;
1981
+ declare const ITEM_REACTOR = 10009;
1982
+ declare const ITEM_RESIN = 10010;
1546
1983
  declare const ITEM_ENGINE_T1 = 10100;
1547
1984
  declare const ITEM_GENERATOR_T1 = 10101;
1548
1985
  declare const ITEM_GATHERER_T1 = 10102;
@@ -1551,23 +1988,20 @@ declare const ITEM_CRAFTER_T1 = 10104;
1551
1988
  declare const ITEM_STORAGE_T1 = 10105;
1552
1989
  declare const ITEM_HAULER_T1 = 10106;
1553
1990
  declare const ITEM_WARP_T1 = 10107;
1991
+ declare const ITEM_BATTERY_T1 = 10108;
1554
1992
  declare const ITEM_CONTAINER_T1_PACKED = 10200;
1555
1993
  declare const ITEM_SHIP_T1_PACKED = 10201;
1556
1994
  declare const ITEM_WAREHOUSE_T1_PACKED = 10202;
1557
- declare const ITEM_HULL_PLATES_T2 = 20001;
1558
- declare const ITEM_CARGO_LINING_T2 = 20002;
1995
+ declare const ITEM_EXTRACTOR_T1_PACKED = 10203;
1996
+ declare const ITEM_FACTORY_T1_PACKED = 10204;
1997
+ declare const ITEM_PLATE_T2 = 20001;
1998
+ declare const ITEM_FRAME_T2 = 20002;
1559
1999
  declare const ITEM_CONTAINER_T2_PACKED = 20200;
1560
2000
 
1561
- interface RecipeInputItemId {
2001
+ interface RecipeInput {
1562
2002
  itemId: number;
1563
2003
  quantity: number;
1564
2004
  }
1565
- interface RecipeInputCategory {
1566
- category: ResourceCategory;
1567
- tier: number;
1568
- quantity: number;
1569
- }
1570
- type RecipeInput = RecipeInputItemId | RecipeInputCategory;
1571
2005
  interface StatSlot {
1572
2006
  sources: {
1573
2007
  inputIndex: number;
@@ -1583,6 +2017,7 @@ interface Recipe {
1583
2017
  }
1584
2018
  interface EntitySlot {
1585
2019
  type: ModuleType;
2020
+ outputPct: number;
1586
2021
  }
1587
2022
  interface EntityLayout {
1588
2023
  entityItemId: number;
@@ -1590,27 +2025,424 @@ interface EntityLayout {
1590
2025
  }
1591
2026
  declare function getRecipe(outputItemId: number): Recipe | undefined;
1592
2027
  declare function getEntityLayout(entityItemId: number): EntityLayout | undefined;
1593
- declare function findItemByCategoryAndTier(category: ResourceCategory, tier: number): Item;
1594
2028
 
1595
- interface EpochInfo {
1596
- epoch: UInt64;
1597
- start: Date;
1598
- end: Date;
2029
+ declare const CAP_WRAP = 1;
2030
+ declare const CAP_UNDEPLOY = 2;
2031
+ declare const CAP_DEMOLISH = 4;
2032
+ declare const CAP_MODULES = 16;
2033
+ declare enum EntityClass {
2034
+ OrbitalVessel = 0,
2035
+ PlanetaryStructure = 1,
2036
+ Plot = 2
2037
+ }
2038
+ type EntityTypeName = 'ship' | 'warehouse' | 'extractor' | 'factory' | 'container' | 'nexus' | 'plot';
2039
+ interface KindMeta {
2040
+ kind: Name;
2041
+ classification: EntityClass;
2042
+ capabilityFlags: number;
2043
+ zCoord: number;
2044
+ defaultLabel: string;
2045
+ }
2046
+ interface TemplateMeta {
2047
+ itemId: number;
2048
+ kind: Name;
2049
+ displayLabel: string;
2050
+ }
2051
+ declare const ALL_ENTITY_TYPES: readonly EntityTypeName[];
2052
+ declare function getKindMeta(kind: NameType | EntityTypeName): KindMeta | undefined;
2053
+ declare function getTemplateMeta(itemId: number): TemplateMeta | undefined;
2054
+ declare function getPackedEntityType(itemId: number): Name | null;
2055
+ declare function kindCan(kind: NameType | EntityTypeName, cap: number): boolean;
2056
+ declare function getEntityClass(kind: NameType | EntityTypeName): EntityClass;
2057
+ declare const ENTITY_SHIP: Name;
2058
+ declare const ENTITY_WAREHOUSE: Name;
2059
+ declare const ENTITY_EXTRACTOR: Name;
2060
+ declare const ENTITY_FACTORY: Name;
2061
+ declare const ENTITY_CONTAINER: Name;
2062
+ declare const ENTITY_NEXUS: Name;
2063
+ declare function isShip(entity: {
2064
+ type?: Name;
2065
+ }): boolean;
2066
+ declare function isWarehouse(entity: {
2067
+ type?: Name;
2068
+ }): boolean;
2069
+ declare function isExtractor(entity: {
2070
+ type?: Name;
2071
+ }): boolean;
2072
+ declare function isFactory(entity: {
2073
+ type?: Name;
2074
+ }): boolean;
2075
+ declare function isContainer(entity: {
2076
+ type?: Name;
2077
+ }): boolean;
2078
+ declare function isNexus(entity: {
2079
+ type?: Name;
2080
+ }): boolean;
2081
+ declare function isPlot(entity: {
2082
+ type?: Name;
2083
+ }): boolean;
2084
+
2085
+ declare class EntityInventory extends Types.cargo_item {
2086
+ private _item?;
2087
+ get item(): Item;
2088
+ get good(): Item;
2089
+ get name(): string;
2090
+ get unitMass(): UInt32;
2091
+ get totalMass(): UInt64;
2092
+ get hasCargo(): boolean;
2093
+ get isEmpty(): boolean;
1599
2094
  }
1600
- declare function getCurrentEpoch(game: Types$1.game_row): UInt64;
1601
- declare function getEpochInfo(game: Types$1.game_row, epoch: UInt64): EpochInfo;
1602
2095
 
1603
- /**
1604
- * GameState class extends the state_row from the server contract
1605
- * with helper methods for epoch management and system generation
1606
- */
1607
- declare class GameState extends Types.state_row {
1608
- private _game?;
1609
- /**
1610
- * Create a GameState instance from a state_row
1611
- */
1612
- static from(state: Types.state_row, game?: Types$1.game_row): GameState;
1613
- /**
2096
+ interface MovementCapability {
2097
+ engines: Types.movement_stats;
2098
+ generator: Types.energy_stats;
2099
+ }
2100
+ interface EnergyCapability {
2101
+ energy: UInt16;
2102
+ }
2103
+ interface StorageCapability {
2104
+ capacity: UInt32;
2105
+ cargomass: UInt32;
2106
+ cargo: Types.cargo_item[];
2107
+ }
2108
+ interface LoaderCapability {
2109
+ loaders: Types.loader_stats;
2110
+ }
2111
+ interface GathererCapability {
2112
+ gatherer: Types.gatherer_stats;
2113
+ }
2114
+ interface MassCapability {
2115
+ hullmass: UInt32;
2116
+ }
2117
+ interface ScheduleCapability {
2118
+ lanes?: Types.lane[];
2119
+ schedule?: Types.schedule;
2120
+ }
2121
+ interface EntityCapabilities {
2122
+ hullmass?: UInt32;
2123
+ capacity?: UInt32;
2124
+ engines?: Types.movement_stats;
2125
+ generator?: Types.energy_stats;
2126
+ loaders?: Types.loader_stats;
2127
+ gatherer?: Types.gatherer_stats;
2128
+ crafter?: Types.crafter_stats;
2129
+ hauler?: Types.hauler_stats;
2130
+ }
2131
+ interface EntityState {
2132
+ owner: Name;
2133
+ location: Types.coordinates;
2134
+ energy?: UInt16;
2135
+ cargomass: UInt32;
2136
+ cargo: Types.cargo_item[];
2137
+ }
2138
+ declare function capsHasMovement(caps: EntityCapabilities): boolean;
2139
+ declare function capsHasStorage(caps: EntityCapabilities): boolean;
2140
+ declare function capsHasLoaders(caps: EntityCapabilities): boolean;
2141
+ declare function capsHasGatherer(caps: EntityCapabilities): boolean;
2142
+ declare function capsHasMass(caps: EntityCapabilities): boolean;
2143
+ declare function capsHasHauler(caps: EntityCapabilities): boolean;
2144
+
2145
+ interface HasCargo {
2146
+ cargo: Types.cargo_item[];
2147
+ }
2148
+ interface HasCapacity {
2149
+ capacity: UInt32;
2150
+ }
2151
+ interface HasCargomass {
2152
+ cargomass: UInt32;
2153
+ }
2154
+ interface MassInput {
2155
+ item_id: UInt16;
2156
+ quantity: UInt32;
2157
+ modules: Types.module_entry[];
2158
+ }
2159
+ declare function calcCargoItemMass(item: MassInput): UInt64;
2160
+ declare function calcCargoMass(entity: HasCargo): UInt64;
2161
+ declare function calcStacksMass(stacks: CargoStack[]): UInt64;
2162
+ declare function availableCapacity$1(entity: StorageCapability): UInt64;
2163
+ declare function availableCapacityFromMass(capacity: UInt64Type, cargoMass: UInt64Type): UInt64;
2164
+ declare function hasSpace$1(entity: StorageCapability, goodMass: UInt64, quantity: number): boolean;
2165
+ declare function hasSpaceForMass(capacity: UInt64Type, currentMass: UInt64Type, additionalMass: UInt64Type): boolean;
2166
+ declare function isFull$1(entity: HasCapacity & HasCargomass): boolean;
2167
+ declare function isFullFromMass(capacity: UInt64Type, cargoMass: UInt64Type): boolean;
2168
+ interface CargoStack {
2169
+ item_id: UInt16;
2170
+ quantity: UInt32;
2171
+ stats: UInt64;
2172
+ modules: Types.module_entry[];
2173
+ }
2174
+ declare function cargoItemToStack(item: Types.cargo_item): CargoStack;
2175
+ declare function stackToCargoItem(stack: CargoStack): Types.cargo_item;
2176
+ declare function stackKey(s: CargoStack): string;
2177
+ declare function stacksEqual(a: CargoStack, b: CargoStack): boolean;
2178
+ declare function mergeStacks(stacks: CargoStack[], add: CargoStack): CargoStack[];
2179
+ declare function removeFromStacks(stacks: CargoStack[], remove: CargoStack): CargoStack[];
2180
+ declare function subtractFromStacks(stacks: CargoStack[], remove: CargoStack): CargoStack[];
2181
+
2182
+ declare class InventoryAccessor {
2183
+ private readonly entity;
2184
+ private _items?;
2185
+ constructor(entity: HasCargo);
2186
+ get items(): EntityInventory[];
2187
+ get totalMass(): UInt64;
2188
+ forItem(goodId: UInt64Type): EntityInventory | undefined;
2189
+ get sellable(): EntityInventory[];
2190
+ get hasSellable(): boolean;
2191
+ get sellableCount(): number;
2192
+ }
2193
+ declare function createInventoryAccessor(entity: HasCargo): InventoryAccessor;
2194
+
2195
+ declare class Location {
2196
+ readonly coordinates: Coordinates;
2197
+ private _gameSeed?;
2198
+ private _hasSystem?;
2199
+ private _epoch?;
2200
+ constructor(coordinates: CoordinatesType);
2201
+ static from(coordinates: CoordinatesType): Location;
2202
+ hasSystemAt(gameSeed: Checksum256Type): boolean;
2203
+ getLocationTypeAt(gameSeed: Checksum256Type): LocationType;
2204
+ isGatherableAt(gameSeed: Checksum256Type): boolean;
2205
+ findNearby(gameSeed: Checksum256Type, maxDistance?: UInt16Type): Distance[];
2206
+ equals(other: CoordinatesType | Location): boolean;
2207
+ get epoch(): UInt64 | undefined;
2208
+ clearCache(): void;
2209
+ }
2210
+ declare function toLocation(coords: CoordinatesType | Location): Location;
2211
+
2212
+ type Schedule$2 = Types.schedule;
2213
+ declare function laneStartsIn(schedule: Schedule$2, now: Date): number;
2214
+ declare function currentTaskIndexForLane(schedule: Schedule$2, now: Date): number;
2215
+ declare function laneTaskComplete(schedule: Schedule$2, index: number, now: Date): boolean;
2216
+ declare function laneTaskInProgress(schedule: Schedule$2, index: number, now: Date): boolean;
2217
+ declare function laneCompletesAt(schedule: Schedule$2, index: number): Date;
2218
+ declare function currentTaskProgressFloatForLane(schedule: Schedule$2, now: Date): number;
2219
+
2220
+ type Schedule$1 = Types.schedule;
2221
+ type Task$2 = Types.task;
2222
+ type Lane$1 = Types.lane;
2223
+ declare const LANE_MOBILITY = 0;
2224
+ declare const LANE_BARRIER = 255;
2225
+ interface ScheduleData {
2226
+ lanes?: Lane$1[];
2227
+ }
2228
+ interface LaneView {
2229
+ laneKey: number;
2230
+ schedule: Schedule$1;
2231
+ }
2232
+
2233
+ declare function getLanes(entity: ScheduleData): LaneView[];
2234
+ declare function getLane(entity: ScheduleData, laneKey: number): LaneView | undefined;
2235
+ declare function mobilityLane(entity: ScheduleData): LaneView | undefined;
2236
+ declare function hasSchedule$1(entity: ScheduleData): boolean;
2237
+ declare function isIdle(entity: ScheduleData): boolean;
2238
+ declare function isEntityIdle(entity: ScheduleData, now: Date): boolean;
2239
+ declare function entityIdleAt(entity: ScheduleData, _now: Date): Date | undefined;
2240
+ declare function getTasks(entity: ScheduleData): Task$2[];
2241
+ declare function scheduleDuration(entity: ScheduleData): number;
2242
+ declare function scheduleElapsed(entity: ScheduleData, now: Date): number;
2243
+ declare function scheduleRemaining(entity: ScheduleData, now: Date): number;
2244
+ declare function scheduleComplete(entity: ScheduleData, now: Date): boolean;
2245
+ declare function hasResolvable(entity: ScheduleData, now: Date): boolean;
2246
+ declare function currentTaskForLane(entity: ScheduleData, laneKey: number, now: Date): Task$2 | undefined;
2247
+ declare function currentTaskTypeForLane(entity: ScheduleData, laneKey: number, now: Date): TaskType | undefined;
2248
+ declare function activeTasks(entity: ScheduleData, now: Date): Task$2[];
2249
+ interface ResolvedEvent {
2250
+ laneKey: number;
2251
+ taskIndex: number;
2252
+ task: Task$2;
2253
+ completesAt: Date;
2254
+ }
2255
+ declare function resolveOrder(entity: ScheduleData, now: Date): ResolvedEvent[];
2256
+ interface OrderedTask {
2257
+ laneKey: number;
2258
+ taskIndex: number;
2259
+ task: Task$2;
2260
+ startsAt: Date;
2261
+ completesAt: Date;
2262
+ }
2263
+ declare function orderedTasks(entity: ScheduleData): OrderedTask[];
2264
+ declare function laneRemainingOf(entity: ScheduleData, laneKey: number, now: Date): number;
2265
+ declare function laneStartsInOf(entity: ScheduleData, laneKey: number, now: Date): number;
2266
+ declare function laneCompleteOf(entity: ScheduleData, laneKey: number, now: Date): boolean;
2267
+ declare function laneProgressOf(entity: ScheduleData, laneKey: number, now: Date): number;
2268
+ declare function laneTaskElapsedOf(entity: ScheduleData, laneKey: number, index: number, now: Date): number;
2269
+ declare function laneTaskRemainingOf(entity: ScheduleData, laneKey: number, index: number, now: Date): number;
2270
+ declare function laneTaskCompleteOf(entity: ScheduleData, laneKey: number, index: number, now: Date): boolean;
2271
+ declare function laneTaskInProgressOf(entity: ScheduleData, laneKey: number, index: number, now: Date): boolean;
2272
+ declare function currentTaskIndexOf(entity: ScheduleData, laneKey: number, now: Date): number;
2273
+ declare function isInFlight(entity: ScheduleData, now: Date): boolean;
2274
+ declare function isRecharging(entity: ScheduleData, now: Date): boolean;
2275
+ declare function isLoading(entity: ScheduleData, now: Date): boolean;
2276
+ declare function isUnloading(entity: ScheduleData, now: Date): boolean;
2277
+ declare function isGathering(entity: ScheduleData, now: Date): boolean;
2278
+
2279
+ declare const schedule_LANE_MOBILITY: typeof LANE_MOBILITY;
2280
+ declare const schedule_LANE_BARRIER: typeof LANE_BARRIER;
2281
+ type schedule_ScheduleData = ScheduleData;
2282
+ type schedule_LaneView = LaneView;
2283
+ declare const schedule_getLanes: typeof getLanes;
2284
+ declare const schedule_getLane: typeof getLane;
2285
+ declare const schedule_mobilityLane: typeof mobilityLane;
2286
+ declare const schedule_isIdle: typeof isIdle;
2287
+ declare const schedule_isEntityIdle: typeof isEntityIdle;
2288
+ declare const schedule_entityIdleAt: typeof entityIdleAt;
2289
+ declare const schedule_getTasks: typeof getTasks;
2290
+ declare const schedule_scheduleDuration: typeof scheduleDuration;
2291
+ declare const schedule_scheduleElapsed: typeof scheduleElapsed;
2292
+ declare const schedule_scheduleRemaining: typeof scheduleRemaining;
2293
+ declare const schedule_scheduleComplete: typeof scheduleComplete;
2294
+ declare const schedule_hasResolvable: typeof hasResolvable;
2295
+ declare const schedule_currentTaskForLane: typeof currentTaskForLane;
2296
+ declare const schedule_currentTaskTypeForLane: typeof currentTaskTypeForLane;
2297
+ declare const schedule_activeTasks: typeof activeTasks;
2298
+ type schedule_ResolvedEvent = ResolvedEvent;
2299
+ declare const schedule_resolveOrder: typeof resolveOrder;
2300
+ type schedule_OrderedTask = OrderedTask;
2301
+ declare const schedule_orderedTasks: typeof orderedTasks;
2302
+ declare const schedule_laneRemainingOf: typeof laneRemainingOf;
2303
+ declare const schedule_laneStartsInOf: typeof laneStartsInOf;
2304
+ declare const schedule_laneCompleteOf: typeof laneCompleteOf;
2305
+ declare const schedule_laneProgressOf: typeof laneProgressOf;
2306
+ declare const schedule_laneTaskElapsedOf: typeof laneTaskElapsedOf;
2307
+ declare const schedule_laneTaskRemainingOf: typeof laneTaskRemainingOf;
2308
+ declare const schedule_laneTaskCompleteOf: typeof laneTaskCompleteOf;
2309
+ declare const schedule_laneTaskInProgressOf: typeof laneTaskInProgressOf;
2310
+ declare const schedule_currentTaskIndexOf: typeof currentTaskIndexOf;
2311
+ declare const schedule_isInFlight: typeof isInFlight;
2312
+ declare const schedule_isRecharging: typeof isRecharging;
2313
+ declare const schedule_isLoading: typeof isLoading;
2314
+ declare const schedule_isUnloading: typeof isUnloading;
2315
+ declare const schedule_isGathering: typeof isGathering;
2316
+ declare const schedule_laneStartsIn: typeof laneStartsIn;
2317
+ declare const schedule_currentTaskIndexForLane: typeof currentTaskIndexForLane;
2318
+ declare const schedule_laneTaskComplete: typeof laneTaskComplete;
2319
+ declare const schedule_laneTaskInProgress: typeof laneTaskInProgress;
2320
+ declare const schedule_laneCompletesAt: typeof laneCompletesAt;
2321
+ declare const schedule_currentTaskProgressFloatForLane: typeof currentTaskProgressFloatForLane;
2322
+ declare namespace schedule {
2323
+ export {
2324
+ schedule_LANE_MOBILITY as LANE_MOBILITY,
2325
+ schedule_LANE_BARRIER as LANE_BARRIER,
2326
+ schedule_ScheduleData as ScheduleData,
2327
+ schedule_LaneView as LaneView,
2328
+ schedule_getLanes as getLanes,
2329
+ schedule_getLane as getLane,
2330
+ schedule_mobilityLane as mobilityLane,
2331
+ hasSchedule$1 as hasSchedule,
2332
+ schedule_isIdle as isIdle,
2333
+ schedule_isEntityIdle as isEntityIdle,
2334
+ schedule_entityIdleAt as entityIdleAt,
2335
+ schedule_getTasks as getTasks,
2336
+ schedule_scheduleDuration as scheduleDuration,
2337
+ schedule_scheduleElapsed as scheduleElapsed,
2338
+ schedule_scheduleRemaining as scheduleRemaining,
2339
+ schedule_scheduleComplete as scheduleComplete,
2340
+ schedule_hasResolvable as hasResolvable,
2341
+ schedule_currentTaskForLane as currentTaskForLane,
2342
+ schedule_currentTaskTypeForLane as currentTaskTypeForLane,
2343
+ schedule_activeTasks as activeTasks,
2344
+ schedule_ResolvedEvent as ResolvedEvent,
2345
+ schedule_resolveOrder as resolveOrder,
2346
+ schedule_OrderedTask as OrderedTask,
2347
+ schedule_orderedTasks as orderedTasks,
2348
+ schedule_laneRemainingOf as laneRemainingOf,
2349
+ schedule_laneStartsInOf as laneStartsInOf,
2350
+ schedule_laneCompleteOf as laneCompleteOf,
2351
+ schedule_laneProgressOf as laneProgressOf,
2352
+ schedule_laneTaskElapsedOf as laneTaskElapsedOf,
2353
+ schedule_laneTaskRemainingOf as laneTaskRemainingOf,
2354
+ schedule_laneTaskCompleteOf as laneTaskCompleteOf,
2355
+ schedule_laneTaskInProgressOf as laneTaskInProgressOf,
2356
+ schedule_currentTaskIndexOf as currentTaskIndexOf,
2357
+ schedule_isInFlight as isInFlight,
2358
+ schedule_isRecharging as isRecharging,
2359
+ schedule_isLoading as isLoading,
2360
+ schedule_isUnloading as isUnloading,
2361
+ schedule_isGathering as isGathering,
2362
+ schedule_laneStartsIn as laneStartsIn,
2363
+ schedule_currentTaskIndexForLane as currentTaskIndexForLane,
2364
+ schedule_laneTaskComplete as laneTaskComplete,
2365
+ schedule_laneTaskInProgress as laneTaskInProgress,
2366
+ schedule_laneCompletesAt as laneCompletesAt,
2367
+ schedule_currentTaskProgressFloatForLane as currentTaskProgressFloatForLane,
2368
+ };
2369
+ }
2370
+
2371
+ type Task$1 = Types.task;
2372
+ declare class ScheduleAccessor {
2373
+ private entity;
2374
+ private laneKey;
2375
+ private _laneResolved;
2376
+ private _lane;
2377
+ constructor(entity: ScheduleData, laneKey?: number);
2378
+ private get lane();
2379
+ forLane(laneKey: number): ScheduleAccessor;
2380
+ get lanes(): LaneView[];
2381
+ get hasSchedule(): boolean;
2382
+ get isIdle(): boolean;
2383
+ get tasks(): Task$1[];
2384
+ activeTasks(now: Date): Task$1[];
2385
+ duration(): number;
2386
+ elapsed(now: Date): number;
2387
+ remaining(now: Date): number;
2388
+ startsIn(now: Date): number;
2389
+ complete(now: Date): boolean;
2390
+ currentTaskIndex(now: Date): number;
2391
+ currentTask(now: Date): Task$1 | undefined;
2392
+ currentTaskType(now: Date): TaskType | undefined;
2393
+ taskStartTime(index: number): number;
2394
+ taskElapsed(index: number, now: Date): number;
2395
+ taskRemaining(index: number, now: Date): number;
2396
+ taskComplete(index: number, now: Date): boolean;
2397
+ taskInProgress(index: number, now: Date): boolean;
2398
+ currentTaskProgress(now: Date): number;
2399
+ currentTaskProgressFloat(now: Date): number;
2400
+ progress(now: Date): number;
2401
+ }
2402
+ declare function createScheduleAccessor(entity: ScheduleData, laneKey?: number): ScheduleAccessor;
2403
+
2404
+ declare class Entity$1 extends Types.entity_info {
2405
+ private _sched?;
2406
+ private _inv?;
2407
+ get name(): string;
2408
+ get location(): Location;
2409
+ get isIdle(): boolean;
2410
+ get sched(): ScheduleAccessor;
2411
+ get inv(): InventoryAccessor;
2412
+ get inventory(): EntityInventory[];
2413
+ get totalCargoMass(): UInt64;
2414
+ get maxCapacity(): UInt64;
2415
+ get availableCapacity(): UInt64;
2416
+ get isFull(): boolean;
2417
+ get totalMass(): UInt64;
2418
+ get entityClass(): EntityClass;
2419
+ get canWrap(): boolean;
2420
+ get canUndeploy(): boolean;
2421
+ get canDemolish(): boolean;
2422
+ get canUseModules(): boolean;
2423
+ isLoading(now: Date): boolean;
2424
+ isUnloading(now: Date): boolean;
2425
+ }
2426
+
2427
+ interface EpochInfo {
2428
+ epoch: UInt64;
2429
+ start: Date;
2430
+ end: Date;
2431
+ }
2432
+ declare function getCurrentEpoch(game: Types$1.game_row): UInt64;
2433
+ declare function getEpochInfo(game: Types$1.game_row, epoch: UInt64): EpochInfo;
2434
+
2435
+ /**
2436
+ * GameState class extends the state_row from the server contract
2437
+ * with helper methods for epoch management and system generation
2438
+ */
2439
+ declare class GameState extends Types.state_row {
2440
+ private _game?;
2441
+ /**
2442
+ * Create a GameState instance from a state_row
2443
+ */
2444
+ static from(state: Types.state_row, game?: Types$1.game_row): GameState;
2445
+ /**
1614
2446
  * Set the game configuration (needed for epoch calculations)
1615
2447
  */
1616
2448
  setGame(game: Types$1.game_row): void;
@@ -1630,18 +2462,6 @@ declare class GameState extends Types.state_row {
1630
2462
  * Check if the game is currently enabled
1631
2463
  */
1632
2464
  get isEnabled(): boolean;
1633
- /**
1634
- * Get the total number of ships in the game
1635
- */
1636
- get shipCount(): number;
1637
- /**
1638
- * Get the current salt value (used for random number generation)
1639
- */
1640
- get currentSalt(): UInt64;
1641
- /**
1642
- * Get the commit hash for the next epoch
1643
- */
1644
- get nextEpochCommit(): Checksum256;
1645
2465
  /**
1646
2466
  * Calculate the current epoch from game config (if game is set)
1647
2467
  * This might differ from state.epoch if the blockchain hasn't advanced yet
@@ -1670,9 +2490,7 @@ declare class GameState extends Types.state_row {
1670
2490
  get summary(): {
1671
2491
  enabled: boolean;
1672
2492
  epoch: string;
1673
- ships: number;
1674
2493
  hasSeed: boolean;
1675
- hasCommit: boolean;
1676
2494
  };
1677
2495
  }
1678
2496
 
@@ -1726,12 +2544,15 @@ declare function deriveStrata(coords: CoordinatesType, gameSeed: Checksum256Type
1726
2544
  declare function deriveLocationSize(loc: Types.location_static): number;
1727
2545
 
1728
2546
  declare const DEPTH_THRESHOLD_T1 = 0;
1729
- declare const DEPTH_THRESHOLD_T2 = 2000;
1730
- declare const DEPTH_THRESHOLD_T3 = 10000;
1731
- declare const DEPTH_THRESHOLD_T4 = 30000;
1732
- declare const DEPTH_THRESHOLD_T5 = 55000;
2547
+ declare const DEPTH_THRESHOLD_T2 = 1500;
2548
+ declare const DEPTH_THRESHOLD_T3 = 5000;
2549
+ declare const DEPTH_THRESHOLD_T4 = 12000;
2550
+ declare const DEPTH_THRESHOLD_T5 = 22000;
1733
2551
  declare const LOCATION_MIN_DEPTH = 500;
1734
2552
  declare const LOCATION_MAX_DEPTH = 65535;
2553
+ declare const YIELD_FRACTION_SHALLOW = 0.0025;
2554
+ declare const YIELD_FRACTION_DEEP = 0.0005;
2555
+ declare function yieldThresholdAt(stratum: number): number;
1735
2556
  declare const PLANET_SUBTYPE_GAS_GIANT = 0;
1736
2557
  declare const PLANET_SUBTYPE_ROCKY = 1;
1737
2558
  declare const PLANET_SUBTYPE_TERRESTRIAL = 2;
@@ -1741,6 +2562,11 @@ declare const PLANET_SUBTYPE_INDUSTRIAL = 5;
1741
2562
  declare function getDepthThreshold(tier: number): number;
1742
2563
  declare function getResourceTier(itemId: number): number;
1743
2564
  declare function getResourceWeight(itemId: number, stratum: number): number;
2565
+ interface LocationProfileEntry {
2566
+ category: number;
2567
+ maxTier: number;
2568
+ }
2569
+ declare function getLocationProfile(locationType: number, subtype: number): LocationProfileEntry[];
1744
2570
  declare function getLocationCandidates(locationType: number, subtype: number): number[];
1745
2571
  declare function getEligibleResources(locationType: number, subtype: number, stratum: number): number[];
1746
2572
 
@@ -1752,7 +2578,15 @@ interface TierRange {
1752
2578
  declare const RESERVE_TIERS: Record<ReserveTier, TierRange>;
1753
2579
  declare const TIER_ROLL_MAX = 65536;
1754
2580
  declare function rollTier(tierRoll: number, stratum: number): ReserveTier;
1755
- declare function rollWithinTier(withinRoll: number, range: TierRange): number;
2581
+ declare function rollWithinTier(withinRoll: number, range: TierRange, resourceUnitMass: number): number;
2582
+ declare function tierOfReserve(reserve: number, itemId: number): ReserveTier | null;
2583
+
2584
+ interface EffectiveReserveInput {
2585
+ remaining: UInt32 | number;
2586
+ max_reserve: UInt32 | number;
2587
+ last_block: BlockTimestamp;
2588
+ }
2589
+ declare function getEffectiveReserve(row: EffectiveReserveInput, now: BlockTimestamp, epochSeconds: number): number;
1756
2590
 
1757
2591
  interface StatDefinition {
1758
2592
  key: string;
@@ -1825,55 +2659,102 @@ declare function computeCraftedOutputStats(outputItemId: number, slotInputs: Rec
1825
2659
  * returns a UInt64 whose bit-packed form matches what the contract writes
1826
2660
  * to cargo_item.stats on gather.
1827
2661
  *
1828
- * Use this whenever off-chain code simulates a gather (testmap, player
2662
+ * Use this whenever off-chain code simulates a gather (webapp, player
1829
2663
  * scanners that project cargo outcomes) and needs a value that matches
1830
2664
  * what on-chain cargo would carry.
1831
2665
  */
1832
2666
  declare function encodeGatheredCargoStats(depositSeed: bigint): UInt64;
1833
2667
 
2668
+ declare const STAR_STEP = 250;
2669
+ declare const MAX_STARS_PER_STAT = 3;
2670
+ declare const MAX_STAR_RATING: number;
2671
+ declare function starsForStat(value: number): number;
2672
+ declare function starRating(stat1: number, stat2: number, stat3: number): number;
2673
+ declare function statMagnitude(stat1: number, stat2: number, stat3: number): number;
2674
+
1834
2675
  interface LocationStratum extends DerivedStratum {
1835
2676
  reserveMax: number;
1836
2677
  }
1837
2678
  declare class LocationsManager extends BaseManager {
1838
2679
  hasSystem(location: CoordinatesType): Promise<boolean>;
1839
2680
  findNearbyPlanets(origin: CoordinatesType, maxDistance?: UInt16Type): Promise<Distance[]>;
1840
- getStrata(coords: CoordinatesType): Promise<LocationStratum[]>;
1841
- getLocationEntity(id: UInt64Type): Promise<Types.location_row | undefined>;
1842
- getLocationEntityAt(coords: CoordinatesType): Promise<Types.location_row | undefined>;
1843
- getAllLocationEntities(): Promise<Types.location_row[]>;
2681
+ getStrata(coords: CoordinatesType, now?: BlockTimestamp): Promise<LocationStratum[]>;
1844
2682
  }
1845
2683
 
1846
2684
  declare class EpochsManager extends BaseManager {
1847
2685
  getCurrentHeight(): Promise<UInt64>;
2686
+ getFinalizedEpoch(reload?: boolean): Promise<UInt64>;
1848
2687
  getCurrent(): Promise<EpochInfo>;
1849
2688
  getByHeight(height: UInt64Type): Promise<EpochInfo>;
1850
2689
  getTimeRemaining(): Promise<number>;
1851
2690
  getProgress(): Promise<number>;
1852
2691
  fitsInCurrentEpoch(durationMs: number): Promise<boolean>;
2692
+ getEpochRow(epoch: UInt64Type): Promise<Types.epoch_row | undefined>;
2693
+ getActiveEpochInfo(): Promise<Types.epoch_row | undefined>;
2694
+ getOracles(): Promise<Types.oracle_row[]>;
2695
+ getThreshold(): Promise<number>;
2696
+ getCommitsFor(epoch: UInt64Type): Promise<Types.commit_row[]>;
2697
+ getRevealsFor(epoch: UInt64Type): Promise<Types.reveal_row[]>;
1853
2698
  }
1854
2699
 
1855
2700
  type EntityRefInput = {
1856
- entityType: EntityTypeName;
2701
+ entityType: NameType;
1857
2702
  entityId: UInt64Type;
1858
2703
  };
1859
2704
  declare class ActionsManager extends BaseManager {
1860
2705
  travel(shipId: UInt64Type, destination: CoordinatesType, recharge?: boolean): Action;
1861
2706
  grouptravel(entities: EntityRefInput[], destination: CoordinatesType, recharge?: boolean): Action;
1862
- resolve(entityId: UInt64Type, entityType?: EntityTypeName, count?: UInt64Type): Action;
1863
- cancel(entityId: UInt64Type, count: UInt64Type, entityType?: EntityTypeName): Action;
1864
- recharge(entityId: UInt64Type, entityType?: EntityTypeName): Action;
1865
- transfer(sourceType: EntityTypeName, sourceId: UInt64Type, destType: EntityTypeName, destId: UInt64Type, itemId: UInt64Type, stats: UInt64Type, quantity: UInt64Type): Action;
2707
+ resolve(entityId: UInt64Type, count?: UInt64Type): Action;
2708
+ cancel(entityId: UInt64Type, laneKey: number, count: UInt64Type): Action;
2709
+ retarget(sourceId: UInt64Type, taskIndex: UInt64Type, newDestId: UInt64Type): Action;
2710
+ recharge(entityId: UInt64Type): Action;
2711
+ rename(entityId: UInt64Type, name: string): Action;
2712
+ refrshentity(entityId: UInt64Type): Action;
2713
+ transfer(sourceId: UInt64Type, destId: UInt64Type, items: ActionParams.Type.cargo_item[]): Action;
1866
2714
  foundCompany(account: NameType, name: string): Action;
1867
2715
  join(account: NameType): Action;
1868
- gather(source: EntityRefInput, destination: EntityRefInput, stratum: UInt16Type, quantity: UInt32Type): Action;
1869
- warp(entityId: UInt64Type, destination: CoordinatesType, entityType?: EntityTypeName): Action;
1870
- craft(entityType: EntityTypeName, entityId: UInt64Type, recipeId: number, quantity: number, inputs: ActionParams.Type.cargo_item[]): Action;
1871
- blend(entityType: EntityTypeName, entityId: UInt64Type, inputs: ActionParams.Type.cargo_item[]): Action;
1872
- deploy(entityType: EntityTypeName, entityId: UInt64Type, packedItemId: number, stats: bigint): Action;
1873
- addmodule(entityType: EntityTypeName, entityId: UInt64Type, moduleIndex: number, moduleCargoId: UInt64Type, targetCargoId?: UInt64Type): Action;
1874
- rmmodule(entityType: EntityTypeName, entityId: UInt64Type, moduleIndex: number, targetCargoId?: UInt64Type): Action;
1875
- wrap(owner: NameType, entityType: EntityTypeName, entityId: UInt64Type, cargoId: UInt64Type, quantity: UInt64Type): Action;
2716
+ gather(sourceId: UInt64Type, destinationId: UInt64Type, stratum: UInt16Type, quantity: UInt32Type): Action;
2717
+ warp(entityId: UInt64Type, destination: CoordinatesType): Action;
2718
+ craft(entityId: UInt64Type, recipeId: number, quantity: number, inputs: ActionParams.Type.cargo_item[]): Action;
2719
+ blend(entityId: UInt64Type, inputs: ActionParams.Type.cargo_item[]): Action;
2720
+ deploy(entityId: UInt64Type, ref: ActionParams.Type.cargo_ref): Action;
2721
+ claimplot(entityId: UInt64Type, targetItemId: UInt16Type, coords: ActionParams.Type.coordinates): Action;
2722
+ buildplot(entityId: UInt64Type, plotId: UInt64Type): Action;
2723
+ addmodule(entityId: UInt64Type, moduleIndex: number, moduleRef: ActionParams.Type.cargo_ref, targetRef?: ActionParams.Type.cargo_ref | null): Action;
2724
+ rmmodule(entityId: UInt64Type, moduleIndex: number, targetRef?: ActionParams.Type.cargo_ref | null): Action;
2725
+ swapmodule(entityId: UInt64Type, moduleIndex: number, moduleRef: ActionParams.Type.cargo_ref): Action;
2726
+ wrap(owner: NameType, entityId: UInt64Type, nexusId: UInt64Type, cargoId: UInt64Type, quantity: UInt64Type, opts?: {
2727
+ claimRam?: boolean;
2728
+ }): Promise<Action[]>;
2729
+ undeploy(hostId: UInt64Type, targetId: UInt64Type): Action;
2730
+ claimStarter(owner: NameType): Action;
2731
+ wrapEntity(owner: NameType, entityId: UInt64Type, nexusId: UInt64Type, opts?: {
2732
+ claimRam?: boolean;
2733
+ }): Promise<Action[]>;
2734
+ placecargo(owner: NameType, hostId: UInt64Type, assetId: UInt64Type): Action;
2735
+ placeentity(owner: NameType, assetId: UInt64Type, targetNexusId: UInt64Type): Action;
2736
+ transferForUnwrap(owner: NameType, assetId: UInt64Type): Action;
2737
+ unwrapCargoTx(owner: NameType, assetId: UInt64Type, hostId: UInt64Type): Action[];
2738
+ unwrapEntityTx(owner: NameType, assetId: UInt64Type, targetNexusId: UInt64Type): Action[];
2739
+ setRamPayer(newPayer: NameType, assetId: UInt64Type): Action;
2740
+ setLastPayer(owner: NameType, collectionName: NameType): Action;
2741
+ demolish(entityId: UInt64Type): Action;
1876
2742
  joinGame(account: NameType, companyName: string): Action[];
2743
+ commit(oracleId: NameType, epoch: UInt64Type, commit: Checksum256Type): Action;
2744
+ reveal(oracleId: NameType, epoch: UInt64Type, reveal: Checksum256Type): Action;
2745
+ addoracle(oracleId: NameType): Action;
2746
+ removeoracle(oracleId: NameType): Action;
2747
+ setthreshold(threshold: UInt8Type): Action;
2748
+ cleanrsvp(epoch: UInt64Type, maxRows: UInt64Type): Action;
2749
+ }
2750
+
2751
+ interface NftConfigForItem {
2752
+ templateId: number;
2753
+ schemaName: string;
2754
+ }
2755
+ declare class NftManager extends BaseManager {
2756
+ private cache;
2757
+ getNftConfigForItem(itemId: UInt64Type): Promise<NftConfigForItem | undefined>;
1877
2758
  }
1878
2759
 
1879
2760
  type EntityInfo = Types.entity_info;
@@ -1907,7 +2788,7 @@ type UnsubscribeMessage = {
1907
2788
  type SubscribeEntityMessage = {
1908
2789
  type: 'subscribe_entity';
1909
2790
  sub_id: string;
1910
- entity_type: 'ship' | 'warehouse' | 'container';
2791
+ entity_type: 'ship' | 'warehouse' | 'container' | 'nexus';
1911
2792
  entity_id: string;
1912
2793
  };
1913
2794
  type UnsubscribeEntityMessage = {
@@ -1919,510 +2800,71 @@ type SubscribeEventsMessage = {
1919
2800
  sub_id: string;
1920
2801
  event_filter?: Record<string, unknown>;
1921
2802
  };
1922
- type UnsubscribeEventsMessage = {
1923
- type: 'unsubscribe_events';
1924
- sub_id: string;
1925
- };
1926
- type PingMessage = {
1927
- type: 'ping';
1928
- };
1929
- type ClientMessage = SubscribeMessage | UpdateBoundsMessage | UnsubscribeMessage | SubscribeEntityMessage | UnsubscribeEntityMessage | SubscribeEventsMessage | UnsubscribeEventsMessage | PingMessage;
1930
- type AckMessage = {
1931
- type: 'subscribed' | 'unsubscribed' | 'bounds_updated';
1932
- sub_id: string;
1933
- };
1934
- type WireEntity = Record<string, unknown> & {
1935
- type: number;
1936
- type_name: 'ship' | 'warehouse' | 'container';
1937
- id: string | number;
1938
- owner: string;
1939
- coordinates: WireCoordinates;
1940
- };
1941
- type SnapshotMessage = {
1942
- type: 'snapshot';
1943
- sub_id: string;
1944
- seq: number;
1945
- entities: WireEntity[];
1946
- truncated?: boolean;
1947
- };
1948
- type UpdateMessage = {
1949
- type: 'update';
1950
- sub_ids: string[];
1951
- entity_id: number;
1952
- entity: WireEntity;
1953
- seq: number;
1954
- };
1955
- type BoundsDeltaMessage = {
1956
- type: 'bounds_delta';
1957
- sub_id: string;
1958
- entered: WireEntity[];
1959
- exited: number[];
1960
- seq: number;
1961
- truncated?: boolean;
1962
- };
1963
- type EventMessage = {
1964
- type: 'event';
1965
- sub_id: string;
1966
- catchup: boolean;
1967
- events: Array<Record<string, unknown>>;
1968
- seq?: number;
1969
- };
1970
- type EventCatchupCompleteMessage = {
1971
- type: 'event_catchup_complete';
1972
- sub_id: string;
1973
- };
1974
- type PongMessage = {
1975
- type: 'pong';
1976
- };
1977
- type ErrorMessage = {
1978
- type: 'error';
1979
- error: string;
1980
- sub_id?: string;
1981
- };
1982
- type ServerMessage = AckMessage | SnapshotMessage | UpdateMessage | BoundsDeltaMessage | EventMessage | EventCatchupCompleteMessage | PongMessage | ErrorMessage;
1983
-
1984
- interface MovementCapability {
1985
- engines: Types.movement_stats;
1986
- generator: Types.energy_stats;
1987
- }
1988
- interface EnergyCapability {
1989
- energy: UInt16;
1990
- }
1991
- interface StorageCapability {
1992
- capacity: UInt32;
1993
- cargomass: UInt32;
1994
- cargo: Types.cargo_item[];
1995
- }
1996
- interface LoaderCapability {
1997
- loaders: Types.loader_stats;
1998
- }
1999
- interface GathererCapability {
2000
- gatherer: Types.gatherer_stats;
2001
- }
2002
- interface MassCapability {
2003
- hullmass: UInt32;
2004
- }
2005
- interface ScheduleCapability {
2006
- schedule?: Types.schedule;
2007
- }
2008
- interface EntityCapabilities {
2009
- hullmass?: UInt32;
2010
- capacity?: UInt32;
2011
- engines?: Types.movement_stats;
2012
- generator?: Types.energy_stats;
2013
- loaders?: Types.loader_stats;
2014
- gatherer?: Types.gatherer_stats;
2015
- crafter?: Types.crafter_stats;
2016
- hauler?: Types.hauler_stats;
2017
- }
2018
- interface EntityState {
2019
- owner: Name;
2020
- location: Types.coordinates;
2021
- energy?: UInt16;
2022
- cargomass: UInt32;
2023
- cargo: Types.cargo_item[];
2024
- }
2025
- declare function capsHasMovement(caps: EntityCapabilities): boolean;
2026
- declare function capsHasStorage(caps: EntityCapabilities): boolean;
2027
- declare function capsHasLoaders(caps: EntityCapabilities): boolean;
2028
- declare function capsHasGatherer(caps: EntityCapabilities): boolean;
2029
- declare function capsHasMass(caps: EntityCapabilities): boolean;
2030
- declare function capsHasHauler(caps: EntityCapabilities): boolean;
2031
-
2032
- interface HasCargo {
2033
- cargo: Types.cargo_item[];
2034
- }
2035
- interface HasCapacity {
2036
- capacity: UInt32;
2037
- }
2038
- interface HasCargomass {
2039
- cargomass: UInt32;
2040
- }
2041
- interface MassInput {
2042
- item_id: UInt16;
2043
- quantity: UInt32;
2044
- modules: Types.module_entry[];
2045
- }
2046
- declare function calcCargoItemMass(item: MassInput): UInt64;
2047
- declare function calcCargoMass(entity: HasCargo): UInt64;
2048
- declare function calcStacksMass(stacks: CargoStack[]): UInt64;
2049
- declare function availableCapacity$1(entity: StorageCapability): UInt64;
2050
- declare function availableCapacityFromMass(capacity: UInt64Type, cargoMass: UInt64Type): UInt64;
2051
- declare function hasSpace$1(entity: StorageCapability, goodMass: UInt64, quantity: number): boolean;
2052
- declare function hasSpaceForMass(capacity: UInt64Type, currentMass: UInt64Type, additionalMass: UInt64Type): boolean;
2053
- declare function isFull$1(entity: HasCapacity & HasCargomass): boolean;
2054
- declare function isFullFromMass(capacity: UInt64Type, cargoMass: UInt64Type): boolean;
2055
- interface CargoStack {
2056
- item_id: UInt16;
2057
- quantity: UInt32;
2058
- stats: UInt64;
2059
- modules: Types.module_entry[];
2060
- }
2061
- declare function cargoItemToStack(item: Types.cargo_item): CargoStack;
2062
- declare function stackToCargoItem(stack: CargoStack): Types.cargo_item;
2063
- declare function stackKey(s: CargoStack): string;
2064
- declare function stacksEqual(a: CargoStack, b: CargoStack): boolean;
2065
- declare function mergeStacks(stacks: CargoStack[], add: CargoStack): CargoStack[];
2066
- declare function removeFromStacks(stacks: CargoStack[], remove: CargoStack): CargoStack[];
2067
-
2068
- type Schedule = Types.schedule;
2069
- type Task$1 = Types.task;
2070
- interface ScheduleData {
2071
- schedule?: Schedule;
2072
- }
2073
- interface Scheduleable extends ScheduleData {
2074
- hasSchedule: boolean;
2075
- isIdle: boolean;
2076
- tasks: Task$1[];
2077
- scheduleDuration(): number;
2078
- scheduleElapsed(now: Date): number;
2079
- scheduleRemaining(now: Date): number;
2080
- scheduleComplete(now: Date): boolean;
2081
- currentTaskIndex(now: Date): number;
2082
- currentTask(now: Date): Task$1 | undefined;
2083
- currentTaskType(now: Date): TaskType | undefined;
2084
- getTaskStartTime(index: number): number;
2085
- getTaskElapsed(index: number, now: Date): number;
2086
- getTaskRemaining(index: number, now: Date): number;
2087
- isTaskComplete(index: number, now: Date): boolean;
2088
- isTaskInProgress(index: number, now: Date): boolean;
2089
- currentTaskProgress(now: Date): number;
2090
- scheduleProgress(now: Date): number;
2091
- }
2092
- declare function hasSchedule$1(entity: ScheduleData): boolean;
2093
- declare function isIdle(entity: ScheduleData): boolean;
2094
- declare function getTasks(entity: ScheduleData): Task$1[];
2095
- declare function scheduleDuration(entity: ScheduleData): number;
2096
- declare function scheduleElapsed(entity: ScheduleData, now: Date): number;
2097
- declare function scheduleRemaining(entity: ScheduleData, now: Date): number;
2098
- declare function scheduleComplete(entity: ScheduleData, now: Date): boolean;
2099
- declare function currentTaskIndex(entity: ScheduleData, now: Date): number;
2100
- declare function currentTask(entity: ScheduleData, now: Date): Task$1 | undefined;
2101
- declare function currentTaskType(entity: ScheduleData, now: Date): TaskType | undefined;
2102
- declare function getTaskStartTime(entity: ScheduleData, index: number): number;
2103
- declare function getTaskElapsed(entity: ScheduleData, index: number, now: Date): number;
2104
- declare function getTaskRemaining(entity: ScheduleData, index: number, now: Date): number;
2105
- declare function isTaskComplete(entity: ScheduleData, index: number, now: Date): boolean;
2106
- declare function isTaskInProgress(entity: ScheduleData, index: number, now: Date): boolean;
2107
- declare function currentTaskProgress(entity: ScheduleData, now: Date): number;
2108
- declare function scheduleProgress(entity: ScheduleData, now: Date): number;
2109
- declare function isTaskType(entity: ScheduleData, taskType: TaskType, now: Date): boolean;
2110
- declare function isInFlight(entity: ScheduleData, now: Date): boolean;
2111
- declare function isRecharging(entity: ScheduleData, now: Date): boolean;
2112
- declare function isLoading(entity: ScheduleData, now: Date): boolean;
2113
- declare function isUnloading(entity: ScheduleData, now: Date): boolean;
2114
- declare function isGathering(entity: ScheduleData, now: Date): boolean;
2115
-
2116
- type schedule_ScheduleData = ScheduleData;
2117
- type schedule_Scheduleable = Scheduleable;
2118
- declare const schedule_isIdle: typeof isIdle;
2119
- declare const schedule_getTasks: typeof getTasks;
2120
- declare const schedule_scheduleDuration: typeof scheduleDuration;
2121
- declare const schedule_scheduleElapsed: typeof scheduleElapsed;
2122
- declare const schedule_scheduleRemaining: typeof scheduleRemaining;
2123
- declare const schedule_scheduleComplete: typeof scheduleComplete;
2124
- declare const schedule_currentTaskIndex: typeof currentTaskIndex;
2125
- declare const schedule_currentTask: typeof currentTask;
2126
- declare const schedule_currentTaskType: typeof currentTaskType;
2127
- declare const schedule_getTaskStartTime: typeof getTaskStartTime;
2128
- declare const schedule_getTaskElapsed: typeof getTaskElapsed;
2129
- declare const schedule_getTaskRemaining: typeof getTaskRemaining;
2130
- declare const schedule_isTaskComplete: typeof isTaskComplete;
2131
- declare const schedule_isTaskInProgress: typeof isTaskInProgress;
2132
- declare const schedule_currentTaskProgress: typeof currentTaskProgress;
2133
- declare const schedule_scheduleProgress: typeof scheduleProgress;
2134
- declare const schedule_isTaskType: typeof isTaskType;
2135
- declare const schedule_isInFlight: typeof isInFlight;
2136
- declare const schedule_isRecharging: typeof isRecharging;
2137
- declare const schedule_isLoading: typeof isLoading;
2138
- declare const schedule_isUnloading: typeof isUnloading;
2139
- declare const schedule_isGathering: typeof isGathering;
2140
- declare namespace schedule {
2141
- export {
2142
- schedule_ScheduleData as ScheduleData,
2143
- schedule_Scheduleable as Scheduleable,
2144
- hasSchedule$1 as hasSchedule,
2145
- schedule_isIdle as isIdle,
2146
- schedule_getTasks as getTasks,
2147
- schedule_scheduleDuration as scheduleDuration,
2148
- schedule_scheduleElapsed as scheduleElapsed,
2149
- schedule_scheduleRemaining as scheduleRemaining,
2150
- schedule_scheduleComplete as scheduleComplete,
2151
- schedule_currentTaskIndex as currentTaskIndex,
2152
- schedule_currentTask as currentTask,
2153
- schedule_currentTaskType as currentTaskType,
2154
- schedule_getTaskStartTime as getTaskStartTime,
2155
- schedule_getTaskElapsed as getTaskElapsed,
2156
- schedule_getTaskRemaining as getTaskRemaining,
2157
- schedule_isTaskComplete as isTaskComplete,
2158
- schedule_isTaskInProgress as isTaskInProgress,
2159
- schedule_currentTaskProgress as currentTaskProgress,
2160
- schedule_scheduleProgress as scheduleProgress,
2161
- schedule_isTaskType as isTaskType,
2162
- schedule_isInFlight as isInFlight,
2163
- schedule_isRecharging as isRecharging,
2164
- schedule_isLoading as isLoading,
2165
- schedule_isUnloading as isUnloading,
2166
- schedule_isGathering as isGathering,
2167
- };
2168
- }
2169
-
2170
- interface ProjectedEntity {
2171
- location: Coordinates;
2172
- energy: UInt16;
2173
- cargo: CargoStack[];
2174
- shipMass: UInt32;
2175
- capacity?: UInt64;
2176
- engines?: Types.movement_stats;
2177
- loaders?: Types.loader_stats;
2178
- generator?: Types.energy_stats;
2179
- hauler?: Types.hauler_stats;
2180
- readonly cargoMass: UInt64;
2181
- readonly totalMass: UInt64;
2182
- hasMovement(): boolean;
2183
- hasStorage(): boolean;
2184
- hasLoaders(): boolean;
2185
- capabilities(): EntityCapabilities;
2186
- state(): EntityState;
2187
- }
2188
- interface Projectable extends ScheduleData {
2189
- coordinates: Coordinates | Types.coordinates;
2190
- energy?: UInt16;
2191
- hullmass?: UInt32;
2192
- generator?: Types.energy_stats;
2193
- engines?: Types.movement_stats;
2194
- loaders?: Types.loader_stats;
2195
- hauler?: Types.hauler_stats;
2196
- capacity?: UInt32;
2197
- cargo: Types.cargo_item[];
2198
- cargomass: UInt32;
2199
- owner?: Name;
2200
- }
2201
- declare function createProjectedEntity(entity: Projectable): ProjectedEntity;
2202
- interface ProjectionOptions {
2203
- upToTaskIndex?: number;
2204
- }
2205
- declare function projectEntity(entity: Projectable, options?: ProjectionOptions): ProjectedEntity;
2206
- interface ProjectableSnapshot extends Projectable {
2207
- current_task?: Types.task;
2208
- pending_tasks?: Types.task[];
2209
- }
2210
- declare function projectFromCurrentState(snapshot: ProjectableSnapshot): ProjectedEntity;
2211
- declare function validateSchedule(entity: Projectable): void;
2212
- declare function projectEntityAt(entity: Projectable, now: Date): ProjectedEntity;
2213
- declare function projectFromCurrentStateAt(snapshot: ProjectableSnapshot, now: Date): ProjectedEntity;
2214
-
2215
- declare class Location {
2216
- readonly coordinates: Coordinates;
2217
- private _gameSeed?;
2218
- private _hasSystem?;
2219
- private _epoch?;
2220
- constructor(coordinates: CoordinatesType);
2221
- static from(coordinates: CoordinatesType): Location;
2222
- hasSystemAt(gameSeed: Checksum256Type): boolean;
2223
- getLocationTypeAt(gameSeed: Checksum256Type): LocationType;
2224
- isGatherableAt(gameSeed: Checksum256Type): boolean;
2225
- findNearby(gameSeed: Checksum256Type, maxDistance?: UInt16Type): Distance[];
2226
- equals(other: CoordinatesType | Location): boolean;
2227
- get epoch(): UInt64 | undefined;
2228
- clearCache(): void;
2229
- }
2230
- declare function toLocation(coords: CoordinatesType | Location): Location;
2231
-
2232
- type Task = Types.task;
2233
- declare class ScheduleAccessor {
2234
- private entity;
2235
- constructor(entity: ScheduleData);
2236
- get hasSchedule(): boolean;
2237
- get isIdle(): boolean;
2238
- get tasks(): Task[];
2239
- duration(): number;
2240
- elapsed(now: Date): number;
2241
- remaining(now: Date): number;
2242
- complete(now: Date): boolean;
2243
- currentTaskIndex(now: Date): number;
2244
- currentTask(now: Date): Task | undefined;
2245
- currentTaskType(now: Date): TaskType | undefined;
2246
- taskStartTime(index: number): number;
2247
- taskElapsed(index: number, now: Date): number;
2248
- taskRemaining(index: number, now: Date): number;
2249
- taskComplete(index: number, now: Date): boolean;
2250
- taskInProgress(index: number, now: Date): boolean;
2251
- currentTaskProgress(now: Date): number;
2252
- progress(now: Date): number;
2253
- }
2254
- declare function createScheduleAccessor(entity: ScheduleData): ScheduleAccessor;
2255
-
2256
- declare class EntityInventory extends Types.cargo_item {
2257
- private _item?;
2258
- get item(): Item;
2259
- get good(): Item;
2260
- get name(): string;
2261
- get unitMass(): UInt32;
2262
- get totalMass(): UInt64;
2263
- get hasCargo(): boolean;
2264
- get isEmpty(): boolean;
2265
- }
2266
-
2267
- declare class InventoryAccessor {
2268
- private readonly entity;
2269
- private _items?;
2270
- constructor(entity: HasCargo);
2271
- get items(): EntityInventory[];
2272
- get totalMass(): UInt64;
2273
- forItem(goodId: UInt64Type): EntityInventory | undefined;
2274
- get sellable(): EntityInventory[];
2275
- get hasSellable(): boolean;
2276
- get sellableCount(): number;
2277
- }
2278
- declare function createInventoryAccessor(entity: HasCargo): InventoryAccessor;
2279
-
2280
- interface PackedModuleInput {
2281
- itemId: UInt16Type;
2282
- stats: UInt64Type;
2283
- }
2284
- interface ShipStateInput {
2285
- id: UInt64Type;
2286
- owner: string;
2287
- name: string;
2288
- coordinates: CoordinatesType | {
2289
- x: number;
2290
- y: number;
2291
- z?: number;
2292
- };
2293
- hullmass?: number;
2294
- capacity?: number;
2295
- energy?: number;
2296
- modules?: PackedModuleInput[];
2297
- schedule?: Types.schedule;
2298
- cargo?: Types.cargo_item[];
2299
- }
2300
- declare class Ship extends Types.entity_info {
2301
- private _sched?;
2302
- private _inv?;
2303
- get name(): string;
2304
- get inv(): InventoryAccessor;
2305
- get inventory(): EntityInventory[];
2306
- get sched(): ScheduleAccessor;
2307
- get maxDistance(): UInt32;
2308
- get isIdle(): boolean;
2309
- getFlightOrigin(flightTaskIndex: number): Coordinates;
2310
- destinationLocation(): Coordinates | undefined;
2311
- positionAt(now: Date): Coordinates;
2312
- isInFlight(now: Date): boolean;
2313
- isRecharging(now: Date): boolean;
2314
- isLoading(now: Date): boolean;
2315
- isUnloading(now: Date): boolean;
2316
- isGathering(now: Date): boolean;
2317
- get hasEngines(): boolean;
2318
- get hasGenerator(): boolean;
2319
- get hasGatherer(): boolean;
2320
- get hasWarp(): boolean;
2321
- project(): ProjectedEntity;
2322
- projectAt(now: Date): ProjectedEntity;
2323
- get location(): Location;
2324
- get totalCargoMass(): UInt64;
2325
- get totalMass(): UInt64;
2326
- get maxCapacity(): UInt64;
2327
- hasSpace(goodMass: UInt64, quantity: number): boolean;
2328
- get availableCapacity(): UInt64;
2329
- getCargoForItem(goodId: UInt64Type): EntityInventory | undefined;
2330
- get sellableCargo(): EntityInventory[];
2331
- get hasSellableCargo(): boolean;
2332
- get sellableGoodsCount(): number;
2333
- get isFull(): boolean;
2334
- get energyPercent(): number;
2335
- get needsRecharge(): boolean;
2336
- hasEnergyFor(distance: UInt64): boolean;
2337
- }
2338
-
2339
- interface WarehouseStateInput {
2340
- id: UInt64Type;
2341
- owner: string;
2342
- name: string;
2343
- coordinates: CoordinatesType | {
2344
- x: number;
2345
- y: number;
2346
- z?: number;
2347
- };
2348
- hullmass?: number;
2349
- capacity: number;
2350
- modules?: PackedModuleInput[];
2351
- schedule?: Types.schedule;
2352
- cargo?: Types.cargo_item[];
2353
- }
2354
- declare class Warehouse extends Types.entity_info {
2355
- private _sched?;
2356
- private _inv?;
2357
- get name(): string;
2358
- get inv(): InventoryAccessor;
2359
- get inventory(): EntityInventory[];
2360
- get sched(): ScheduleAccessor;
2361
- get isIdle(): boolean;
2362
- isLoading(now: Date): boolean;
2363
- isUnloading(now: Date): boolean;
2364
- get location(): Location;
2365
- get totalCargoMass(): UInt64;
2366
- get maxCapacity(): UInt64;
2367
- get availableCapacity(): UInt64;
2368
- hasSpace(goodMass: UInt64, quantity: number): boolean;
2369
- get isFull(): boolean;
2370
- getCargoForItem(goodId: UInt64Type): EntityInventory | undefined;
2371
- get orbitalAltitude(): number;
2372
- get totalMass(): UInt64;
2373
- }
2374
- declare function computeWarehouseCapabilities(modules: {
2375
- itemId: number;
2376
- stats: bigint;
2377
- }[]): {
2378
- loaders?: {
2379
- mass: number;
2380
- thrust: number;
2381
- quantity: number;
2382
- };
2803
+ type UnsubscribeEventsMessage = {
2804
+ type: 'unsubscribe_events';
2805
+ sub_id: string;
2383
2806
  };
2384
-
2385
- interface ContainerStateInput {
2386
- id: UInt64Type;
2807
+ type PingMessage = {
2808
+ type: 'ping';
2809
+ };
2810
+ type ClientMessage = SubscribeMessage | UpdateBoundsMessage | UnsubscribeMessage | SubscribeEntityMessage | UnsubscribeEntityMessage | SubscribeEventsMessage | UnsubscribeEventsMessage | PingMessage;
2811
+ type AckMessage = {
2812
+ type: 'subscribed' | 'unsubscribed' | 'bounds_updated';
2813
+ sub_id: string;
2814
+ };
2815
+ type WireEntity = Record<string, unknown> & {
2816
+ type: number;
2817
+ type_name: 'ship' | 'warehouse' | 'container' | 'nexus';
2818
+ id: string | number;
2387
2819
  owner: string;
2388
- name: string;
2389
- coordinates: CoordinatesType | {
2390
- x: number;
2391
- y: number;
2392
- z?: number;
2393
- };
2394
- hullmass: number;
2395
- capacity: number;
2396
- cargomass?: number;
2397
- cargo?: Types.cargo_item[];
2398
- schedule?: Types.schedule;
2399
- }
2400
- declare class Container extends Types.entity_info {
2401
- private _sched?;
2402
- get name(): string;
2403
- get sched(): ScheduleAccessor;
2404
- get isIdle(): boolean;
2405
- isLoading(now: Date): boolean;
2406
- isUnloading(now: Date): boolean;
2407
- get location(): Location;
2408
- get totalMass(): UInt64;
2409
- get maxCapacity(): UInt64;
2410
- get availableCapacity(): UInt64;
2411
- hasSpace(additionalMass: UInt64): boolean;
2412
- get isFull(): boolean;
2413
- get orbitalAltitude(): number;
2414
- }
2415
- declare function computeContainerCapabilities(stats: Record<string, number>): {
2416
- hullmass: number;
2417
- capacity: number;
2820
+ coordinates: WireCoordinates;
2821
+ item_id: number;
2418
2822
  };
2419
- declare function computeContainerT2Capabilities(stats: Record<string, number>): {
2420
- hullmass: number;
2421
- capacity: number;
2823
+ type SnapshotMessage = {
2824
+ type: 'snapshot';
2825
+ sub_id: string;
2826
+ seq: number;
2827
+ entities: WireEntity[];
2828
+ truncated?: boolean;
2829
+ };
2830
+ type UpdateMessage = {
2831
+ type: 'update';
2832
+ sub_ids: string[];
2833
+ entity_id: number;
2834
+ entity: WireEntity;
2835
+ seq: number;
2836
+ };
2837
+ type BoundsDeltaMessage = {
2838
+ type: 'bounds_delta';
2839
+ sub_id: string;
2840
+ entered: WireEntity[];
2841
+ exited: number[];
2842
+ seq: number;
2843
+ truncated?: boolean;
2844
+ };
2845
+ type EventMessage = {
2846
+ type: 'event';
2847
+ sub_id: string;
2848
+ catchup: boolean;
2849
+ events: Array<Record<string, unknown>>;
2850
+ seq?: number;
2851
+ };
2852
+ type EventCatchupCompleteMessage = {
2853
+ type: 'event_catchup_complete';
2854
+ sub_id: string;
2855
+ };
2856
+ type PongMessage = {
2857
+ type: 'pong';
2858
+ };
2859
+ type ErrorMessage = {
2860
+ type: 'error';
2861
+ error: string;
2862
+ sub_id?: string;
2422
2863
  };
2864
+ type ServerMessage = AckMessage | SnapshotMessage | UpdateMessage | BoundsDeltaMessage | EventMessage | EventCatchupCompleteMessage | PongMessage | ErrorMessage;
2423
2865
 
2424
- type SubscriptionEntityType = 'ship' | 'warehouse' | 'container';
2425
- type EntityInstance = Ship | Warehouse | Container;
2866
+ type SubscriptionEntityType = 'ship' | 'warehouse' | 'container' | 'nexus';
2867
+ type EntityInstance = Entity$1;
2426
2868
  interface SubscriptionsOptions {
2427
2869
  url: string;
2428
2870
  minReconnectDelay?: number;
@@ -2435,6 +2877,11 @@ interface BoundsSubscriptionHandle {
2435
2877
  updateBounds(bounds: BoundingBox): void;
2436
2878
  current: Map<number, EntityInstance>;
2437
2879
  }
2880
+ interface OwnerSubscriptionHandle {
2881
+ readonly subId: string;
2882
+ unsubscribe(): void;
2883
+ current: Map<number, EntityInstance>;
2884
+ }
2438
2885
  interface EntitySubscriptionHandle {
2439
2886
  readonly subId: string;
2440
2887
  readonly entityType: SubscriptionEntityType;
@@ -2461,6 +2908,10 @@ declare class SubscriptionsManager {
2461
2908
  owner?: string;
2462
2909
  prioritizeOwner?: string;
2463
2910
  }): BoundsSubscriptionHandle;
2911
+ subscribeOwner(owner: string, handlers?: {
2912
+ onSnapshot?: (entities: EntityInstance[]) => void;
2913
+ onUpdate?: (entity: EntityInstance) => void;
2914
+ }): OwnerSubscriptionHandle;
2464
2915
  private unsubscribeBounds;
2465
2916
  private updateBounds;
2466
2917
  private onStateChange;
@@ -2476,21 +2927,24 @@ declare class GameContext {
2476
2927
  readonly client: APIClient;
2477
2928
  readonly server: Contract$2;
2478
2929
  readonly platform: Contract$2;
2930
+ readonly atomicAssetsAccount: string;
2479
2931
  private _entities?;
2480
2932
  private _players?;
2481
2933
  private _locations?;
2482
2934
  private _epochs?;
2483
2935
  private _actions?;
2936
+ private _nft?;
2484
2937
  private _subscriptions?;
2485
2938
  private _subscriptionsUrl?;
2486
2939
  private _gameCache?;
2487
2940
  private _stateCache?;
2488
- constructor(client: APIClient, server: Contract$2, platform: Contract$2);
2941
+ constructor(client: APIClient, server: Contract$2, platform: Contract$2, atomicAssetsAccount?: string);
2489
2942
  get entities(): EntitiesManager;
2490
2943
  get players(): PlayersManager;
2491
2944
  get locations(): LocationsManager;
2492
2945
  get epochs(): EpochsManager;
2493
2946
  get actions(): ActionsManager;
2947
+ get nft(): NftManager;
2494
2948
  setSubscriptionsUrl(url: string): void;
2495
2949
  get subscriptions(): SubscriptionsManager;
2496
2950
  getGame(reload?: boolean): Promise<Types$1.game_row>;
@@ -2505,25 +2959,16 @@ declare abstract class BaseManager {
2505
2959
  protected get client(): _wharfkit_antelope.APIClient;
2506
2960
  protected get server(): _wharfkit_contract.Contract;
2507
2961
  protected get platform(): _wharfkit_contract.Contract;
2962
+ protected get atomicAssetsAccount(): string;
2508
2963
  protected getGame(): Promise<Types$1.game_row>;
2509
- protected getState(): Promise<GameState>;
2964
+ protected getState(reload?: boolean): Promise<GameState>;
2510
2965
  }
2511
2966
 
2512
- type EntityType = 'ship' | 'warehouse' | 'container' | 'location';
2513
2967
  declare class EntitiesManager extends BaseManager {
2514
- getEntity(type: EntityType, id: UInt64Type): Promise<Ship | Warehouse | Container>;
2515
- getEntities(owner: NameType | Types.player_row, type?: EntityType): Promise<(Ship | Warehouse | Container)[]>;
2516
- getSummaries(owner: NameType | Types.player_row, type?: EntityType): Promise<Types.entity_summary[]>;
2517
- getShip(id: UInt64Type): Promise<Ship>;
2518
- getWarehouse(id: UInt64Type): Promise<Warehouse>;
2519
- getContainer(id: UInt64Type): Promise<Container>;
2520
- getShips(owner: NameType | Types.player_row): Promise<Ship[]>;
2521
- getWarehouses(owner: NameType | Types.player_row): Promise<Warehouse[]>;
2522
- getContainers(owner: NameType | Types.player_row): Promise<Container[]>;
2523
- getShipSummaries(owner: NameType | Types.player_row): Promise<Types.entity_summary[]>;
2524
- getWarehouseSummaries(owner: NameType | Types.player_row): Promise<Types.entity_summary[]>;
2525
- getContainerSummaries(owner: NameType | Types.player_row): Promise<Types.entity_summary[]>;
2526
- private wrapEntity;
2968
+ getEntity(id: UInt64Type): Promise<Entity$1>;
2969
+ getProjection(id: UInt64Type, taskCount?: number): Promise<unknown>;
2970
+ getEntities(owner: NameType | Types.player_row, kind?: EntityTypeName): Promise<Entity$1[]>;
2971
+ getSummaries(owner: NameType | Types.player_row, kind?: EntityTypeName): Promise<Types.entity_summary[]>;
2527
2972
  private resolveOwner;
2528
2973
  }
2529
2974
 
@@ -2532,6 +2977,7 @@ interface ShiploadOptions {
2532
2977
  serverContractName?: string;
2533
2978
  client?: APIClient;
2534
2979
  subscriptionsUrl?: string;
2980
+ atomicAssetsAccount?: string;
2535
2981
  }
2536
2982
  interface ShiploadConstructorOptions extends ShiploadOptions {
2537
2983
  platformContract?: Contract$2;
@@ -2542,6 +2988,7 @@ declare class Shipload {
2542
2988
  constructor(chain: ChainDefinition, constructorOptions?: ShiploadConstructorOptions);
2543
2989
  static load(chain: ChainDefinition, shiploadOptions?: ShiploadOptions): Promise<Shipload>;
2544
2990
  get client(): APIClient;
2991
+ get atomicAssetsAccount(): string;
2545
2992
  get server(): Contract$2;
2546
2993
  get platform(): Contract$2;
2547
2994
  get entities(): EntitiesManager;
@@ -2549,14 +2996,144 @@ declare class Shipload {
2549
2996
  get locations(): LocationsManager;
2550
2997
  get epochs(): EpochsManager;
2551
2998
  get actions(): ActionsManager;
2999
+ get nft(): NftManager;
2552
3000
  get subscriptions(): SubscriptionsManager;
2553
3001
  getGame(reload?: boolean): Promise<Types$1.game_row>;
2554
3002
  getState(reload?: boolean): Promise<GameState>;
2555
3003
  }
2556
3004
 
2557
- declare function makeShip(state: ShipStateInput): Ship;
2558
- declare function makeWarehouse(state: WarehouseStateInput): Warehouse;
2559
- declare function makeContainer(state: ContainerStateInput): Container;
3005
+ interface PackedModuleInput {
3006
+ itemId: number;
3007
+ stats: bigint;
3008
+ }
3009
+ interface EntityStateInput {
3010
+ id: UInt64Type;
3011
+ owner: NameType;
3012
+ name: string;
3013
+ coordinates: {
3014
+ x: number;
3015
+ y: number;
3016
+ z?: number;
3017
+ };
3018
+ itemId?: number;
3019
+ hullmass?: number;
3020
+ capacity?: number;
3021
+ cargomass?: number;
3022
+ energy?: number;
3023
+ modules?: PackedModuleInput[];
3024
+ schedule?: Types.schedule;
3025
+ lanes?: Types.lane[];
3026
+ cargo?: Types.cargo_item[];
3027
+ }
3028
+ declare function makeEntity(packedItemId: number, state: EntityStateInput): Entity$1;
3029
+
3030
+ interface InstalledModule {
3031
+ slotIndex: number;
3032
+ itemId: number;
3033
+ stats: bigint;
3034
+ }
3035
+
3036
+ type BuildState = 'initializing' | 'accepting' | 'ready' | 'scheduled' | 'finalizing';
3037
+ type FinalizerCapability = 'crafter';
3038
+ interface BuildableTarget {
3039
+ entityId: UInt64;
3040
+ ownerName: Name;
3041
+ coordinates: Types.coordinates;
3042
+ targetItemId: number;
3043
+ targetItem: Item;
3044
+ state: BuildState;
3045
+ recipe: Recipe;
3046
+ progress: PlotProgress;
3047
+ finalizeAction: Name;
3048
+ finalizerCapability: FinalizerCapability;
3049
+ activeTask?: Types.task;
3050
+ scheduledBuild?: ScheduledBuild;
3051
+ }
3052
+ interface SourceEntityRef {
3053
+ entityId: UInt64;
3054
+ name: string;
3055
+ hasLoaders: boolean;
3056
+ loaderCount: number;
3057
+ loaderTotalMass: number;
3058
+ relevantCargo: SourceCargoStack[];
3059
+ }
3060
+ interface SourceCargoStack {
3061
+ key: string;
3062
+ rowId: UInt64;
3063
+ itemId: number;
3064
+ item: Item;
3065
+ stats: UInt64;
3066
+ modules: Types.module_entry[];
3067
+ available: number;
3068
+ plotNeeds: number;
3069
+ reserved: number;
3070
+ }
3071
+ interface FinalizerEntityRef {
3072
+ entityId: UInt64;
3073
+ name: string;
3074
+ capability: FinalizerCapability;
3075
+ crafterSpeed: number;
3076
+ estimatedDuration: UInt32;
3077
+ }
3078
+ interface InboundTransfer {
3079
+ sourceEntityId: UInt64;
3080
+ sourceEntityType: Name;
3081
+ sourceName: string;
3082
+ itemId: number;
3083
+ quantity: number;
3084
+ etaSeconds: number;
3085
+ }
3086
+ interface ScheduledBuild {
3087
+ shipId: UInt64;
3088
+ shipName: string;
3089
+ hasStarted: boolean;
3090
+ startsAt: number;
3091
+ completesAt: number;
3092
+ cancelable: boolean;
3093
+ blockingTaskCount: number;
3094
+ }
3095
+ interface Reservation {
3096
+ targetEntityId: UInt64;
3097
+ targetEntityType: Name;
3098
+ itemId: number;
3099
+ quantity: number;
3100
+ }
3101
+
3102
+ interface PlotProgressInputRow {
3103
+ itemId: number;
3104
+ required: number;
3105
+ provided: number;
3106
+ missing: number;
3107
+ }
3108
+ interface PlotProgress {
3109
+ targetItemId: number;
3110
+ rows: PlotProgressInputRow[];
3111
+ massProvided: number;
3112
+ massRequired: number;
3113
+ isComplete: boolean;
3114
+ }
3115
+
3116
+ declare class ConstructionManager extends BaseManager {
3117
+ private readonly plot;
3118
+ getTarget(entity: Types.entity_row, cargo: Types.cargo_row[], activeTask?: Types.task, scheduledBuild?: ScheduledBuild): BuildableTarget | null;
3119
+ eligibleSources(target: BuildableTarget, entities: Types.entity_info[], cargo: Types.cargo_row[]): SourceEntityRef[];
3120
+ unreachableSources(target: BuildableTarget, entities: Types.entity_info[], cargo: Types.cargo_row[]): SourceEntityRef[];
3121
+ partitionSources(target: BuildableTarget, entities: Types.entity_info[], cargo: Types.cargo_row[]): {
3122
+ eligible: SourceEntityRef[];
3123
+ unreachable: SourceEntityRef[];
3124
+ };
3125
+ eligibleFinalizers(target: BuildableTarget, entities: Types.entity_info[]): FinalizerEntityRef[];
3126
+ inboundTransfersTo(plotId: UInt64, entities: Types.entity_info[], now: Date): InboundTransfer[];
3127
+ inboundTransfersByTarget(entities: Types.entity_info[], now: Date): Map<string, InboundTransfer[]>;
3128
+ private plotReservation;
3129
+ private builderCancelability;
3130
+ private buildFromReservation;
3131
+ scheduledBuildFor(plot: Types.entity_info, entities: Types.entity_info[], now: Date): ScheduledBuild | null;
3132
+ scheduledBuildsByTarget(entities: Types.entity_info[], now: Date): Map<string, ScheduledBuild>;
3133
+ reservationsFrom(sourceEntityId: UInt64, entities: Types.entity_info[]): Reservation[];
3134
+ estimateFinalizeDuration(target: BuildableTarget, crafterSpeed: number): UInt32;
3135
+ static isConstructionKind(kind: string): boolean;
3136
+ }
2560
3137
 
2561
3138
  declare const itemIds: number[];
2562
3139
  declare function getItem(itemId: UInt16Type): Item;
@@ -2578,7 +3155,6 @@ declare function getEntityItems(opts?: {
2578
3155
  declare function resolveItemCategory(id: number): ResourceCategory | undefined;
2579
3156
  declare function typeLabel(type: ItemType | number): string;
2580
3157
  declare function categoryLabel(cat: ResourceCategory): string;
2581
- declare function tierLabel(tier: number): string;
2582
3158
  declare function categoryFromIndex(i: number): ResourceCategory | undefined;
2583
3159
  declare function categoryLabelFromIndex(i: number): string;
2584
3160
 
@@ -2588,12 +3164,23 @@ declare function getLocationTypeName(type: LocationType): string;
2588
3164
  declare function getSystemName(gameSeed: Checksum256Type, location: CoordinatesType): string;
2589
3165
  declare function hasSystem(gameSeed: Checksum256Type, coordinates: CoordinatesType): boolean;
2590
3166
  declare function deriveLocationStatic(gameSeed: Checksum256Type, coordinates: CoordinatesType): Types.location_static;
2591
- declare function deriveLocationEpoch(epochSeed: Checksum256Type, coordinates: CoordinatesType): Types.location_epoch;
2592
- declare function deriveLocation(gameSeed: Checksum256Type, epochSeed: Checksum256Type, coordinates: CoordinatesType): Types.location_derived;
3167
+ declare function isLocationBuildable(gameSeed: Checksum256Type, coordinates: CoordinatesType): boolean;
3168
+ declare function deriveLocation(gameSeed: Checksum256Type, coordinates: CoordinatesType): Types.location_derived;
2593
3169
 
2594
3170
  declare function hash(seed: Checksum256Type, string: string): Checksum256;
2595
3171
  declare function hash512(seed: Checksum256Type, string: string): Checksum512;
2596
3172
 
3173
+ interface DisplayNameResult {
3174
+ valid: boolean;
3175
+ reason?: string;
3176
+ name: string;
3177
+ }
3178
+ declare function normalizeDisplayName(input: string): string;
3179
+ interface ValidateDisplayNameOptions {
3180
+ allowEmpty?: boolean;
3181
+ }
3182
+ declare function validateDisplayName(input: string, opts?: ValidateDisplayNameOptions): DisplayNameResult;
3183
+
2597
3184
  /**
2598
3185
  * Travel calculations for ship movement, energy usage, and flight times.
2599
3186
  *
@@ -2610,6 +3197,22 @@ declare function calc_orbital_altitude(mass: number): number;
2610
3197
  declare function distanceBetweenCoordinates(origin: ActionParams.Type.coordinates, destination: ActionParams.Type.coordinates): UInt64;
2611
3198
  declare function distanceBetweenPoints(x1: Int64Type, y1: Int64Type, x2: Int64Type, y2: Int64Type): UInt64;
2612
3199
  declare function lerp(origin: ActionParams.Type.coordinates, destination: ActionParams.Type.coordinates, time: number): ActionParams.Type.coordinates;
3200
+ interface FloatPosition {
3201
+ x: number;
3202
+ y: number;
3203
+ }
3204
+ declare function easeFlightProgress(t: number): number;
3205
+ declare function flightSpeedFactor(t: number): number;
3206
+ declare function interpolateFlightPosition(origin: {
3207
+ x: Int64Type | number;
3208
+ y: Int64Type | number;
3209
+ }, destination: {
3210
+ x: Int64Type | number;
3211
+ y: Int64Type | number;
3212
+ }, taskProgress: number, options?: {
3213
+ easing?: 'physics' | 'linear';
3214
+ }): FloatPosition;
3215
+ declare function getInterpolatedPosition(entity: HasScheduleAndLocation, taskIndex: number, taskProgress: number): FloatPosition;
2613
3216
  declare function rotation(origin: ActionParams.Type.coordinates, destination: ActionParams.Type.coordinates): number;
2614
3217
  declare function findNearbyPlanets(seed: Checksum256, origin: ActionParams.Type.coordinates, maxDistance?: UInt64Type): Distance[];
2615
3218
  declare function calc_rechargetime(capacity: UInt32Type, energy: UInt32Type, recharge: UInt32Type): UInt32;
@@ -2654,6 +3257,7 @@ interface TransferEntity {
2654
3257
  toNumber(): number;
2655
3258
  } | number;
2656
3259
  };
3260
+ entityClass: EntityClass;
2657
3261
  loaders?: {
2658
3262
  thrust: {
2659
3263
  toNumber(): number;
@@ -2666,15 +3270,23 @@ interface TransferEntity {
2666
3270
  } | number;
2667
3271
  };
2668
3272
  }
2669
- interface HasScheduleAndLocation {
3273
+ interface HasScheduleAndLocation extends ScheduleData {
2670
3274
  coordinates: ActionParams.Type.coordinates;
2671
- schedule?: Types.schedule;
2672
3275
  }
2673
3276
  declare function getFlightOrigin(entity: HasScheduleAndLocation, flightTaskIndex: number): ActionParams.Type.coordinates;
2674
3277
  declare function getDestinationLocation(entity: HasScheduleAndLocation): ActionParams.Type.coordinates | undefined;
3278
+ /** Returns chain-tile coordinates (rounded). For visual position use getInterpolatedPosition. */
2675
3279
  declare function getPositionAt(entity: HasScheduleAndLocation, taskIndex: number, taskProgress: number): ActionParams.Type.coordinates;
2676
3280
  declare function calc_transfer_duration(source: TransferEntity, dest: TransferEntity, cargoMass: number): number;
2677
3281
 
3282
+ type ModuleEntry$2 = Types.module_entry;
3283
+ type Lane = Types.lane;
3284
+ type Schedule = Types.schedule;
3285
+ declare function laneKeyForModule(slotIndex: number): number;
3286
+ declare function workerLaneKey(modules: ModuleEntry$2[], moduleSubtype: ModuleType, lanes: Lane[]): number;
3287
+ declare function rawScheduleEnd(schedule: Schedule): Date;
3288
+ declare function candidateLaneCompletesAt(entity: ScheduleData, laneKey: number, durationSec: number, now: Date): Date;
3289
+
2678
3290
  interface CargoData {
2679
3291
  cargo: EntityInventory[];
2680
3292
  }
@@ -2710,6 +3322,94 @@ declare namespace cargoUtils {
2710
3322
  };
2711
3323
  }
2712
3324
 
3325
+ declare function cargoRef(src: {
3326
+ item_id: number;
3327
+ stats: bigint | number;
3328
+ modules?: Types.module_entry[];
3329
+ }): ActionParams.Type.cargo_ref;
3330
+ declare function cargoItem(src: {
3331
+ item_id: number;
3332
+ stats: bigint | number;
3333
+ modules?: Types.module_entry[];
3334
+ }, quantity: bigint | number): ActionParams.Type.cargo_item;
3335
+
3336
+ interface ProjectedEntity {
3337
+ location: Coordinates;
3338
+ energy: UInt16;
3339
+ cargo: CargoStack[];
3340
+ shipMass: UInt32;
3341
+ capacity?: UInt64;
3342
+ engines?: Types.movement_stats;
3343
+ loaders?: Types.loader_stats;
3344
+ generator?: Types.energy_stats;
3345
+ hauler?: Types.hauler_stats;
3346
+ readonly cargoMass: UInt64;
3347
+ readonly totalMass: UInt64;
3348
+ hasMovement(): boolean;
3349
+ hasStorage(): boolean;
3350
+ hasLoaders(): boolean;
3351
+ capabilities(): EntityCapabilities;
3352
+ state(): EntityState;
3353
+ }
3354
+ interface Projectable extends ScheduleData {
3355
+ coordinates: Coordinates | Types.coordinates;
3356
+ energy?: UInt16;
3357
+ hullmass?: UInt32;
3358
+ generator?: Types.energy_stats;
3359
+ engines?: Types.movement_stats;
3360
+ loaders?: Types.loader_stats;
3361
+ hauler?: Types.hauler_stats;
3362
+ capacity?: UInt32;
3363
+ cargo: Types.cargo_item[];
3364
+ cargomass: UInt32;
3365
+ owner?: Name;
3366
+ stats?: bigint;
3367
+ item_id?: number | UInt16;
3368
+ modules?: Types.module_entry[] | InstalledModule[];
3369
+ }
3370
+ declare function createProjectedEntity(entity: Projectable): ProjectedEntity;
3371
+ interface ProjectionOptions {
3372
+ upToTaskIndex?: number;
3373
+ }
3374
+ declare function projectEntity(entity: Projectable, options?: ProjectionOptions): ProjectedEntity;
3375
+ declare function projectRemainingAt(entity: Projectable, _now: Date): ProjectedEntity;
3376
+ declare function validateSchedule(entity: Projectable): void;
3377
+ declare function projectEntityAt(entity: Projectable, now: Date): ProjectedEntity;
3378
+
3379
+ type TaskCargoDirection = 'in' | 'out';
3380
+ interface TaskCargoChange {
3381
+ direction: TaskCargoDirection;
3382
+ item_id: number;
3383
+ stats: bigint;
3384
+ modules: Types.module_entry[];
3385
+ quantity: number;
3386
+ }
3387
+ declare function taskCargoChanges(task: Types.task): TaskCargoChange[];
3388
+
3389
+ type Task = Types.task;
3390
+ type CargoItem$1 = Types.cargo_item;
3391
+ interface CargoEffect {
3392
+ added: CargoItem$1[];
3393
+ removed: CargoItem$1[];
3394
+ }
3395
+ interface AvailabilityInput extends ScheduleData {
3396
+ cargo: CargoItem$1[];
3397
+ }
3398
+ declare function taskCargoEffect(task: Task): CargoEffect;
3399
+ declare function projectedCargoAvailableAt(entity: AvailabilityInput, at: Date): Map<string, bigint>;
3400
+ declare function cargoReadyAt(entity: AvailabilityInput, inputItemIds: readonly number[]): Date;
3401
+ declare function availableForItem(avail: Map<string, bigint>, itemId: number): bigint;
3402
+
3403
+ type CargoItem = Types.cargo_item;
3404
+ type ModuleEntry$1 = Types.module_entry;
3405
+ interface CraftableEntity extends ScheduleData {
3406
+ cargo: CargoItem[];
3407
+ modules: ModuleEntry$1[];
3408
+ }
3409
+ declare function maxCraftable(entity: CraftableEntity, recipe: Recipe, crafterSpeed: number, now: Date): number;
3410
+
3411
+ declare function energyAtTime(entity: Projectable, now: Date): number;
3412
+
2713
3413
  interface Entity {
2714
3414
  id: UInt64;
2715
3415
  type: Name;
@@ -2737,9 +3437,12 @@ declare function calcEnergyUsage(entity: MovementCapability, distance: UInt64):
2737
3437
  declare function energyPercent(entity: MovementCapability & EnergyCapability): number;
2738
3438
  declare function needsRecharge(entity: MovementCapability & EnergyCapability): boolean;
2739
3439
 
2740
- declare function calcLoadDuration(entity: LoaderCapability, cargoMass: UInt64): UInt32;
2741
-
2742
3440
  declare function calc_gather_duration(gatherer: Types.gatherer_stats, itemMass: number, quantity: number, stratum: number, richness: number): UInt32;
3441
+ declare function calc_gather_rate(gatherer: Types.gatherer_stats, itemMass: number, stratum: number, richness: number): {
3442
+ unitsPerSec: number;
3443
+ unitsPerMin: number;
3444
+ secPerUnit: number;
3445
+ };
2743
3446
  declare function calc_gather_energy(gatherer: Types.gatherer_stats, duration: number): UInt16;
2744
3447
 
2745
3448
  interface CrafterCapability {
@@ -2747,7 +3450,7 @@ interface CrafterCapability {
2747
3450
  }
2748
3451
  declare function capsHasCrafter(caps: EntityCapabilities): boolean;
2749
3452
  declare function calc_craft_duration(speed: number, totalInputMass: number): UInt32;
2750
- declare function calc_craft_energy(drain: number, totalInputMass: number): UInt16;
3453
+ declare function calc_craft_energy(drain: number, totalInputMass: number): UInt32;
2751
3454
 
2752
3455
  declare const MODULE_ANY = 0;
2753
3456
  declare const MODULE_ENGINE = 1;
@@ -2759,6 +3462,7 @@ declare const MODULE_CRAFTER = 6;
2759
3462
  declare const MODULE_LAUNCHER = 7;
2760
3463
  declare const MODULE_STORAGE = 8;
2761
3464
  declare const MODULE_HAULER = 9;
3465
+ declare const MODULE_BATTERY = 10;
2762
3466
  interface PackedModule {
2763
3467
  itemId: number;
2764
3468
  stats: bigint;
@@ -2773,14 +3477,10 @@ declare function isModuleItem(itemId: number): boolean;
2773
3477
  declare function moduleSlotTypeToCode(slotType: string): number;
2774
3478
 
2775
3479
  declare function computeHaulPenalty(totalThrust: number, haulCount: number, avgEfficiency: number): number;
2776
- declare function computeHaulerDrain(distance: number, drain: number, haulCount: number): number;
3480
+ declare function computeHaulerDrain$1(distance: number, drain: number, haulCount: number): number;
2777
3481
 
2778
3482
  declare const categoryColors: Record<ResourceCategory, string>;
2779
3483
  declare const tierColors: Record<number, string>;
2780
- declare const tierLabels: Record<number, string>;
2781
- declare const categoryIcons: Record<ResourceCategory, string>;
2782
- type CategoryIconShape = 'hex' | 'diamond' | 'star' | 'circle' | 'square';
2783
- declare const categoryIconShapes: Record<ResourceCategory, CategoryIconShape>;
2784
3484
  declare const componentIcon = "\u25A3";
2785
3485
  declare const moduleIcon = "\u2B22";
2786
3486
  declare const itemAbbreviations: Record<number, string>;
@@ -2825,17 +3525,34 @@ interface StatMapping {
2825
3525
  stat: string;
2826
3526
  capability: string;
2827
3527
  attribute: string;
2828
- rationale: string;
2829
3528
  }
2830
3529
  declare const capabilityNames: string[];
2831
3530
  declare const capabilityAttributes: CapabilityAttribute[];
2832
- declare const statMappings: StatMapping[];
2833
3531
  declare function isInvertedAttribute(attribute: string): boolean;
2834
3532
  declare function getCapabilityAttributes(capability?: string): CapabilityAttribute[];
3533
+
3534
+ interface SlotConsumer {
3535
+ capability: string;
3536
+ attribute: string;
3537
+ }
3538
+ type SlotConsumerKind = 'engine' | 'generator' | 'gatherer' | 'loader' | 'crafter' | 'storage' | 'hauler' | 'warp' | 'battery' | 'ship-t1' | 'container-t1' | 'warehouse-t1' | 'extractor-t1' | 'container-t2';
3539
+ declare const SLOT_FORMULAS: Record<SlotConsumerKind, Record<number, SlotConsumer>>;
3540
+
3541
+ declare function deriveStatMappings(): StatMapping[];
2835
3542
  declare function getStatMappings(): StatMapping[];
2836
3543
  declare function getStatMappingsForStat(stat: string): StatMapping[];
2837
3544
  declare function getStatMappingsForCapability(capability: string): StatMapping[];
2838
3545
 
3546
+ type BuildMethod = 'craft+deploy' | 'plot';
3547
+ declare function availableBuildMethods(itemId: number): BuildMethod[];
3548
+ declare function isBuildable(itemId: number): boolean;
3549
+ declare function isPlotBuildable(itemId: number): boolean;
3550
+ declare function filterByBuildMethod<T extends {
3551
+ itemId: number;
3552
+ }>(items: T[], method: BuildMethod): T[];
3553
+ declare function allBuildableItems(): Item[];
3554
+ declare function allPlotBuildableItems(): Item[];
3555
+
2839
3556
  declare function computeShipHullCapabilities(stats: Record<string, number>): {
2840
3557
  hullmass: number;
2841
3558
  capacity: number;
@@ -2848,11 +3565,17 @@ declare function computeGeneratorCapabilities(stats: Record<string, number>): {
2848
3565
  capacity: number;
2849
3566
  recharge: number;
2850
3567
  };
2851
- declare function computeGathererCapabilities(stats: Record<string, number>): {
3568
+ interface GathererDepthParams {
3569
+ readonly floor: number;
3570
+ readonly slope: number;
3571
+ }
3572
+ declare const GATHERER_DEPTH_TABLE: readonly GathererDepthParams[];
3573
+ declare const GATHERER_DEPTH_MAX_TIER = 10;
3574
+ declare function gathererDepthForTier(tol: number, tier: number): number;
3575
+ declare function computeGathererCapabilities(stats: Record<string, number>, tier: number): {
2852
3576
  yield: number;
2853
3577
  drain: number;
2854
3578
  depth: number;
2855
- speed: number;
2856
3579
  };
2857
3580
  declare function computeLoaderCapabilities(stats: Record<string, number>): {
2858
3581
  mass: number;
@@ -2871,11 +3594,18 @@ declare function computeHaulerCapabilities(stats: Record<string, number>): {
2871
3594
  declare function computeStorageCapabilities(stats: Record<string, number>, baseCapacity: number): {
2872
3595
  capacityBonus: number;
2873
3596
  };
3597
+
3598
+ declare function computeBaseCapacity(itemId: number, stats: Record<string, number>): number;
3599
+ declare function computeWarpCapabilities(stats: Record<string, number>): {
3600
+ range: number;
3601
+ };
2874
3602
  declare function computeWarehouseHullCapabilities(stats: Record<string, number>): {
2875
3603
  hullmass: number;
2876
3604
  capacity: number;
2877
3605
  };
2878
- interface ShipCapabilities {
3606
+ interface ComputedCapabilities {
3607
+ hullmass: number;
3608
+ capacity: number;
2879
3609
  engines?: {
2880
3610
  thrust: number;
2881
3611
  drain: number;
@@ -2888,12 +3618,6 @@ interface ShipCapabilities {
2888
3618
  yield: number;
2889
3619
  drain: number;
2890
3620
  depth: number;
2891
- speed: number;
2892
- };
2893
- hauler?: {
2894
- capacity: number;
2895
- efficiency: number;
2896
- drain: number;
2897
3621
  };
2898
3622
  loaders?: {
2899
3623
  mass: number;
@@ -2904,11 +3628,24 @@ interface ShipCapabilities {
2904
3628
  speed: number;
2905
3629
  drain: number;
2906
3630
  };
3631
+ hauler?: {
3632
+ capacity: number;
3633
+ efficiency: number;
3634
+ drain: number;
3635
+ };
3636
+ warp?: {
3637
+ range: number;
3638
+ };
2907
3639
  }
2908
- declare function computeShipCapabilities(modules: {
2909
- itemId: number;
2910
- stats: bigint;
2911
- }[]): ShipCapabilities;
3640
+ declare function computeEntityCapabilities(stats: Record<string, number>, itemId: number, modules: InstalledModule[], layout: EntitySlot[]): ComputedCapabilities;
3641
+ declare function computeContainerCapabilities(stats: Record<string, number>): {
3642
+ hullmass: number;
3643
+ capacity: number;
3644
+ };
3645
+ declare function computeContainerT2Capabilities(stats: Record<string, number>): {
3646
+ hullmass: number;
3647
+ capacity: number;
3648
+ };
2912
3649
 
2913
3650
  interface ResolvedItemStat {
2914
3651
  key: string;
@@ -3009,22 +3746,104 @@ declare function computeBaseCapacityShip(stats: bigint): number;
3009
3746
  declare function computeBaseCapacityWarehouse(stats: bigint): number;
3010
3747
  declare const computeEngineThrust: (vol: number) => number;
3011
3748
  declare const computeEngineDrain: (thm: number) => number;
3012
- declare const computeGeneratorCap: (res: number) => number;
3013
- declare const computeGeneratorRech: (ref: number) => number;
3749
+ declare const computeGeneratorCap: (com: number) => number;
3750
+ declare const computeGeneratorRech: (fin: number) => number;
3014
3751
  declare const computeGathererYield: (str: number) => number;
3015
3752
  declare const computeGathererDrain: (con: number) => number;
3016
- declare const computeGathererDepth: (tol: number) => number;
3017
- declare const computeGathererSpeed: (ref: number) => number;
3018
- declare const computeLoaderMass: (fin: number) => number;
3753
+ declare const computeGathererDepth: (tol: number, tier: number) => number;
3754
+ declare const computeLoaderMass: (ins: number) => number;
3019
3755
  declare const computeLoaderThrust: (pla: number) => number;
3020
3756
  declare const computeCrafterSpeed: (rea: number) => number;
3021
- declare const computeCrafterDrain: (com: number) => number;
3757
+ declare const computeCrafterDrain: (fin: number) => number;
3758
+ declare const computeHaulerCapacity: (fin: number) => number;
3759
+ declare const computeHaulerEfficiency: (con: number) => number;
3760
+ declare const computeHaulerDrain: (com: number) => number;
3022
3761
  declare const computeWarpRange: (stat: number) => number;
3023
3762
  declare function entityDisplayName(itemId: number): string;
3024
3763
  declare function moduleDisplayName(itemId: number): string;
3025
3764
  declare function formatModuleLine(slot: number, itemId: number, stats: bigint): string;
3026
3765
  declare function buildEntityDescription(itemId: number, hullStats: bigint, moduleItems: number[], moduleStats: bigint[]): string;
3027
3766
 
3767
+ interface SchemaField {
3768
+ name: string;
3769
+ type: string;
3770
+ }
3771
+ type RawData = Uint8Array | string | number[] | {
3772
+ immutable_serialized_data: Uint8Array | string | number[];
3773
+ };
3774
+ declare function deserializeAtomicData(data: RawData, schema: SchemaField[]): Record<string, unknown>;
3775
+
3776
+ type AtomicAttributeType = 'string' | 'uint8' | 'uint16' | 'uint32' | 'uint64' | 'int32' | 'image' | 'ipfs' | 'UINT16_VEC' | 'UINT64_VEC';
3777
+ interface ImmutableEntry {
3778
+ first: string;
3779
+ second: [AtomicAttributeType, unknown];
3780
+ }
3781
+ interface ImmutableModuleSlot {
3782
+ type?: number | string | bigint;
3783
+ installed?: {
3784
+ item_id: number | string | bigint;
3785
+ stats: number | string | bigint;
3786
+ };
3787
+ }
3788
+ declare function moduleSlotsForImmutable(modules: Types.module_entry[]): ImmutableModuleSlot[];
3789
+ declare function computeNftImageUrl(item: {
3790
+ item_id: number;
3791
+ stats: bigint;
3792
+ modules: ImmutableModuleSlot[];
3793
+ quantity: number;
3794
+ }, originX: number, originY: number): string;
3795
+ declare function buildResourceImmutable(itemId: number, quantity: number, stats: bigint, originX: number, originY: number): ImmutableEntry[];
3796
+ declare function buildComponentImmutable(itemId: number, quantity: number, stats: bigint, originX: number, originY: number): ImmutableEntry[];
3797
+ declare function buildModuleImmutable(itemId: number, quantity: number, stats: bigint, originX: number, originY: number): ImmutableEntry[];
3798
+ declare function buildEntityImmutable(itemId: number, quantity: number, stats: bigint, originX: number, originY: number, modules: ImmutableModuleSlot[]): ImmutableEntry[];
3799
+ declare function buildImmutableData(itemId: number, quantity: number, stats: bigint, originX: number, originY: number, modules?: ImmutableModuleSlot[]): ImmutableEntry[];
3800
+
3801
+ declare const ATOMICASSETS_ACCOUNT = "atomicassets";
3802
+ declare const SHIPLOAD_COLLECTION = "shipload";
3803
+ declare const ATOMICASSETS_ABI: ABI;
3804
+ interface MintAssetParams {
3805
+ authorizedMinter: NameType;
3806
+ collectionName: NameType;
3807
+ schemaName: NameType;
3808
+ templateId: number;
3809
+ newAssetOwner: NameType;
3810
+ immutableData: ImmutableEntry[];
3811
+ }
3812
+ declare function buildMintAssetAction(params: MintAssetParams): Action;
3813
+ interface AtomicAssetRow {
3814
+ asset_id: string;
3815
+ collection_name: string;
3816
+ schema_name: string;
3817
+ template_id: number;
3818
+ ram_payer?: string;
3819
+ backed_tokens?: string[];
3820
+ immutable_serialized_data: string | number[];
3821
+ mutable_serialized_data?: string | number[];
3822
+ }
3823
+ interface AtomicSchemaRow {
3824
+ schema_name: string;
3825
+ format: SchemaField[];
3826
+ }
3827
+ interface FetchAssetsOptions {
3828
+ collection?: NameType;
3829
+ pageSize?: number;
3830
+ account?: NameType;
3831
+ }
3832
+ declare function fetchAtomicAssetsForOwner(client: APIClient, owner: NameType, opts?: FetchAssetsOptions): Promise<AtomicAssetRow[]>;
3833
+ declare function fetchAtomicSchemas(client: APIClient, collection: NameType, account?: NameType): Promise<AtomicSchemaRow[]>;
3834
+ interface DecodedAtomicAsset {
3835
+ asset_id: bigint;
3836
+ schema_name: string;
3837
+ template_id: number;
3838
+ item_id: number;
3839
+ quantity: number;
3840
+ stats: string;
3841
+ origin_x: bigint;
3842
+ origin_y: bigint;
3843
+ modules?: NFTModuleSlot[];
3844
+ }
3845
+ declare function decodeAtomicAsset(asset: AtomicAssetRow, schemaFormat: SchemaField[], itemId: number): DecodedAtomicAsset;
3846
+
3028
3847
  type index_NFTInstalledModule = NFTInstalledModule;
3029
3848
  type index_NFTModuleSlot = NFTModuleSlot;
3030
3849
  type index_NFTCargoItem = NFTCargoItem;
@@ -3046,16 +3865,43 @@ declare const index_computeGeneratorRech: typeof computeGeneratorRech;
3046
3865
  declare const index_computeGathererYield: typeof computeGathererYield;
3047
3866
  declare const index_computeGathererDrain: typeof computeGathererDrain;
3048
3867
  declare const index_computeGathererDepth: typeof computeGathererDepth;
3049
- declare const index_computeGathererSpeed: typeof computeGathererSpeed;
3050
3868
  declare const index_computeLoaderMass: typeof computeLoaderMass;
3051
3869
  declare const index_computeLoaderThrust: typeof computeLoaderThrust;
3052
3870
  declare const index_computeCrafterSpeed: typeof computeCrafterSpeed;
3053
3871
  declare const index_computeCrafterDrain: typeof computeCrafterDrain;
3872
+ declare const index_computeHaulerCapacity: typeof computeHaulerCapacity;
3873
+ declare const index_computeHaulerEfficiency: typeof computeHaulerEfficiency;
3874
+ declare const index_computeHaulerDrain: typeof computeHaulerDrain;
3054
3875
  declare const index_computeWarpRange: typeof computeWarpRange;
3055
3876
  declare const index_entityDisplayName: typeof entityDisplayName;
3056
3877
  declare const index_moduleDisplayName: typeof moduleDisplayName;
3057
3878
  declare const index_formatModuleLine: typeof formatModuleLine;
3058
3879
  declare const index_buildEntityDescription: typeof buildEntityDescription;
3880
+ type index_SchemaField = SchemaField;
3881
+ type index_RawData = RawData;
3882
+ declare const index_deserializeAtomicData: typeof deserializeAtomicData;
3883
+ declare const index_ATOMICASSETS_ACCOUNT: typeof ATOMICASSETS_ACCOUNT;
3884
+ declare const index_SHIPLOAD_COLLECTION: typeof SHIPLOAD_COLLECTION;
3885
+ declare const index_ATOMICASSETS_ABI: typeof ATOMICASSETS_ABI;
3886
+ type index_MintAssetParams = MintAssetParams;
3887
+ declare const index_buildMintAssetAction: typeof buildMintAssetAction;
3888
+ type index_AtomicAssetRow = AtomicAssetRow;
3889
+ type index_AtomicSchemaRow = AtomicSchemaRow;
3890
+ type index_FetchAssetsOptions = FetchAssetsOptions;
3891
+ declare const index_fetchAtomicAssetsForOwner: typeof fetchAtomicAssetsForOwner;
3892
+ declare const index_fetchAtomicSchemas: typeof fetchAtomicSchemas;
3893
+ type index_DecodedAtomicAsset = DecodedAtomicAsset;
3894
+ declare const index_decodeAtomicAsset: typeof decodeAtomicAsset;
3895
+ type index_AtomicAttributeType = AtomicAttributeType;
3896
+ type index_ImmutableEntry = ImmutableEntry;
3897
+ type index_ImmutableModuleSlot = ImmutableModuleSlot;
3898
+ declare const index_moduleSlotsForImmutable: typeof moduleSlotsForImmutable;
3899
+ declare const index_computeNftImageUrl: typeof computeNftImageUrl;
3900
+ declare const index_buildResourceImmutable: typeof buildResourceImmutable;
3901
+ declare const index_buildComponentImmutable: typeof buildComponentImmutable;
3902
+ declare const index_buildModuleImmutable: typeof buildModuleImmutable;
3903
+ declare const index_buildEntityImmutable: typeof buildEntityImmutable;
3904
+ declare const index_buildImmutableData: typeof buildImmutableData;
3059
3905
  declare namespace index {
3060
3906
  export {
3061
3907
  index_NFTInstalledModule as NFTInstalledModule,
@@ -3079,29 +3925,66 @@ declare namespace index {
3079
3925
  index_computeGathererYield as computeGathererYield,
3080
3926
  index_computeGathererDrain as computeGathererDrain,
3081
3927
  index_computeGathererDepth as computeGathererDepth,
3082
- index_computeGathererSpeed as computeGathererSpeed,
3083
3928
  index_computeLoaderMass as computeLoaderMass,
3084
3929
  index_computeLoaderThrust as computeLoaderThrust,
3085
3930
  index_computeCrafterSpeed as computeCrafterSpeed,
3086
3931
  index_computeCrafterDrain as computeCrafterDrain,
3932
+ index_computeHaulerCapacity as computeHaulerCapacity,
3933
+ index_computeHaulerEfficiency as computeHaulerEfficiency,
3934
+ index_computeHaulerDrain as computeHaulerDrain,
3087
3935
  index_computeWarpRange as computeWarpRange,
3088
3936
  index_entityDisplayName as entityDisplayName,
3089
3937
  index_moduleDisplayName as moduleDisplayName,
3090
3938
  index_formatModuleLine as formatModuleLine,
3091
3939
  index_buildEntityDescription as buildEntityDescription,
3940
+ index_SchemaField as SchemaField,
3941
+ index_RawData as RawData,
3942
+ index_deserializeAtomicData as deserializeAtomicData,
3943
+ index_ATOMICASSETS_ACCOUNT as ATOMICASSETS_ACCOUNT,
3944
+ index_SHIPLOAD_COLLECTION as SHIPLOAD_COLLECTION,
3945
+ index_ATOMICASSETS_ABI as ATOMICASSETS_ABI,
3946
+ index_MintAssetParams as MintAssetParams,
3947
+ index_buildMintAssetAction as buildMintAssetAction,
3948
+ index_AtomicAssetRow as AtomicAssetRow,
3949
+ index_AtomicSchemaRow as AtomicSchemaRow,
3950
+ index_FetchAssetsOptions as FetchAssetsOptions,
3951
+ index_fetchAtomicAssetsForOwner as fetchAtomicAssetsForOwner,
3952
+ index_fetchAtomicSchemas as fetchAtomicSchemas,
3953
+ index_DecodedAtomicAsset as DecodedAtomicAsset,
3954
+ index_decodeAtomicAsset as decodeAtomicAsset,
3955
+ index_AtomicAttributeType as AtomicAttributeType,
3956
+ index_ImmutableEntry as ImmutableEntry,
3957
+ index_ImmutableModuleSlot as ImmutableModuleSlot,
3958
+ index_moduleSlotsForImmutable as moduleSlotsForImmutable,
3959
+ index_computeNftImageUrl as computeNftImageUrl,
3960
+ index_buildResourceImmutable as buildResourceImmutable,
3961
+ index_buildComponentImmutable as buildComponentImmutable,
3962
+ index_buildModuleImmutable as buildModuleImmutable,
3963
+ index_buildEntityImmutable as buildEntityImmutable,
3964
+ index_buildImmutableData as buildImmutableData,
3092
3965
  };
3093
3966
  }
3094
3967
 
3095
3968
  declare function formatMass(kg: number): string;
3096
3969
  declare function formatMassDelta(kg: number): string;
3970
+ declare function formatLocation(loc: {
3971
+ x: number;
3972
+ y: number;
3973
+ }): string;
3974
+ declare function formatMassScaled(kg: number): string;
3097
3975
 
3098
- interface DisplayNameInput {
3099
- itemType: 'resource' | 'component' | 'module' | 'entity' | string;
3976
+ interface DisplayNameInputCommon {
3100
3977
  tier: number;
3101
3978
  category?: ResourceCategory;
3102
3979
  name: string;
3103
3980
  }
3104
- declare function displayName(resolved: DisplayNameInput): string;
3981
+ type DisplayNameInput = (DisplayNameInputCommon & {
3982
+ itemType: 'resource' | 'component' | 'module' | 'entity' | string;
3983
+ }) | (DisplayNameInputCommon & {
3984
+ type: string;
3985
+ });
3986
+ declare function baseName(item: DisplayNameInput): string;
3987
+ declare function displayName(item: DisplayNameInput): string;
3105
3988
  interface DescribeOptions {
3106
3989
  translate?: (key: string) => string;
3107
3990
  formatNumber?: (n: number) => string;
@@ -3152,23 +4035,28 @@ declare class WebSocketConnection {
3152
4035
  get isConnected(): boolean;
3153
4036
  }
3154
4037
 
3155
- declare function mapEntity(ei: Types.entity_info): Ship | Warehouse | Container;
4038
+ declare function mapEntity(ei: Types.entity_info): Entity$1;
3156
4039
  declare function parseWireEntity(raw: WireEntity): Types.entity_info;
3157
4040
 
3158
4041
  declare function setSubscriptionsDebug(on: boolean): void;
3159
4042
  declare function isSubscriptionsDebugEnabled(): boolean;
3160
4043
 
4044
+ type Ship = Entity$1;
4045
+ type Warehouse = Entity$1;
4046
+ type Container = Entity$1;
4047
+ type Extractor = Entity$1;
4048
+ type Factory = Entity$1;
4049
+ type Nexus = Entity$1;
4050
+
3161
4051
  type movement_stats = Types.movement_stats;
3162
4052
  type energy_stats = Types.energy_stats;
3163
4053
  type loader_stats = Types.loader_stats;
4054
+ type lane = Types.lane;
3164
4055
  type task = Types.task;
3165
4056
  type cargo_item = Types.cargo_item;
3166
- type warehouse_row = Types.warehouse_row;
3167
- type container_row = Types.container_row;
4057
+ type entity_row = Types.entity_row;
3168
4058
  type gatherer_stats = Types.gatherer_stats;
3169
4059
  type location_static = Types.location_static;
3170
- type location_epoch = Types.location_epoch;
3171
4060
  type location_derived = Types.location_derived;
3172
- type location_row = Types.location_row;
3173
4061
 
3174
- 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, ITEM_WARP_T1, 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 };
4062
+ export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BuildMethod, BuildState, BuildableTarget, CANCEL_CONTAINS_GROUPED_TASK, CANCEL_PAIRED_HAS_PENDING, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CapabilityAttribute, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, 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, DecodedAtomicAsset, DerivedStratum, DescribeOptions, DisplayNameResult, 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_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionHandle, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, Extractor, Factory, FetchAssetsOptions, FinalizerCapability, FinalizerEntityRef, 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_BATTERY_T1, ITEM_BEAM, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_CERAMIC, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GENERATOR_T1, ITEM_HAULER_T1, ITEM_LOADER_T1, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_REACTOR, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESONATOR, ITEM_SENSOR, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, InstalledModule, InventoryAccessor, Item, ItemType, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LaneView, LoadTimeBreakdown, LoaderCapability, Location, LocationStratum, LocationType, LocationsManager, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_BATTERY, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, PackedModule, PackedModuleInput, PingMessage, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerStateInput, PlayersManager, PongMessage, Projectable, 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, RESOURCE_TIER_ADJECTIVES, RawData, Recipe, RecipeInput, RecipeSlotInput, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedEvent, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedModuleSlot, ResourceCategory, ResourceStats, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScheduleAccessor, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StatDefinition, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UpdateBoundsMessage, UpdateMessage, ValidateDisplayNameOptions, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, allBuildableItems, allPlotBuildableItems, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_loader_acceleration, calc_loader_flighttime, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, componentIcon, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeComponentStats, computeContainerCapabilities, computeContainerT2Capabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain$1 as computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computeShipHullCapabilities, computeStorageCapabilities, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAtomicAsset, 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, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gathererDepthForTier, gatherer_stats, getCapabilityAttributes, getCategoryInfo, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getRecipe, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, lane, laneKeyForModule, lerp, loader_stats, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, needsRecharge, normalizeDisplayName, parseWireEntity, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, rawScheduleEnd, readCommonBase, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveStats, rollTier, rollWithinTier, rotation, schedule, setSubscriptionsDebug, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, validateDisplayName, validateSchedule, workerLaneKey, yieldThresholdAt };