@shipload/sdk 1.0.0-next.48 → 1.0.0-next.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/shipload.d.ts CHANGED
@@ -3082,6 +3082,113 @@ declare class EpochsManager extends BaseManager {
3082
3082
  getRevealsFor(epoch: UInt64Type): Promise<Types.reveal_row[]>;
3083
3083
  }
3084
3084
 
3085
+ interface InstalledModule {
3086
+ slotIndex: number;
3087
+ itemId: number;
3088
+ stats: bigint;
3089
+ }
3090
+
3091
+ interface ProjectedEntity {
3092
+ location: Coordinates;
3093
+ energy: UInt16;
3094
+ cargo: CargoStack[];
3095
+ shipMass: UInt32;
3096
+ capacity?: UInt64;
3097
+ engines?: Types.movement_stats;
3098
+ loaderLanes: Types.loader_lane[];
3099
+ generator?: Types.energy_stats;
3100
+ hauler?: Types.hauler_stats;
3101
+ launcher?: Types.launcher_stats;
3102
+ readonly cargoMass: UInt64;
3103
+ readonly totalMass: UInt64;
3104
+ readonly gathererLanes: Types.gatherer_lane[];
3105
+ readonly crafterLanes: Types.crafter_lane[];
3106
+ hasMovement(): boolean;
3107
+ hasStorage(): boolean;
3108
+ hasLoaders(): boolean;
3109
+ hasLauncher(): boolean;
3110
+ capabilities(): EntityCapabilities;
3111
+ state(): EntityState;
3112
+ }
3113
+ interface Projectable extends ScheduleData {
3114
+ coordinates: Coordinates | Types.coordinates;
3115
+ energy?: UInt16;
3116
+ hullmass?: UInt32;
3117
+ generator?: Types.energy_stats;
3118
+ engines?: Types.movement_stats;
3119
+ loader_lanes?: Types.loader_lane[];
3120
+ gatherer_lanes?: Types.gatherer_lane[];
3121
+ crafter_lanes?: Types.crafter_lane[];
3122
+ hauler?: Types.hauler_stats;
3123
+ launcher?: Types.launcher_stats;
3124
+ capacity?: UInt32;
3125
+ cargo: Types.cargo_item[];
3126
+ cargomass: UInt32;
3127
+ owner?: Name;
3128
+ stats?: bigint;
3129
+ item_id?: number | UInt16;
3130
+ modules?: Types.module_entry[] | InstalledModule[];
3131
+ }
3132
+ declare function createProjectedEntity(entity: Projectable): ProjectedEntity;
3133
+ interface ProjectionOptions {
3134
+ upToTaskIndex?: number;
3135
+ }
3136
+ declare function projectEntity(entity: Projectable, options?: ProjectionOptions): ProjectedEntity;
3137
+ declare function projectRemainingAt(entity: Projectable, _now: Date): ProjectedEntity;
3138
+ declare function validateSchedule(entity: Projectable): void;
3139
+ declare function projectEntityAt(entity: Projectable, now: Date): ProjectedEntity;
3140
+
3141
+ interface LanePlanEntry {
3142
+ slot: number;
3143
+ quantity: number;
3144
+ }
3145
+ type PlanTarget = {
3146
+ quantity: number;
3147
+ } | 'max';
3148
+ interface GatherPlanEntity extends Projectable {
3149
+ gatherer_lanes: Types.gatherer_lane[];
3150
+ loader_lanes: Types.loader_lane[];
3151
+ }
3152
+ interface GatherLimpet {
3153
+ slot: number;
3154
+ quantity: number;
3155
+ durationSeconds: number;
3156
+ }
3157
+ interface GatherCycle {
3158
+ rechargeBefore: boolean;
3159
+ rechargeSeconds: number;
3160
+ limpets: GatherLimpet[];
3161
+ gatherSeconds: number;
3162
+ batchOre: number;
3163
+ }
3164
+ type FillCap = 'reserve' | 'hold' | 'requested';
3165
+ interface GatherPlan {
3166
+ cycles: GatherCycle[];
3167
+ cycleCount: number;
3168
+ totalOre: number;
3169
+ totalSeconds: number;
3170
+ cap: FillCap;
3171
+ reachingCount: number;
3172
+ totalLimpets: number;
3173
+ warnings: string[];
3174
+ }
3175
+ interface BuildGatherPlanOpts {
3176
+ richness: number;
3177
+ itemMass: number;
3178
+ holdRoom: number;
3179
+ reserveRemaining: number;
3180
+ now: Date;
3181
+ }
3182
+ declare function allocateProportional(lanes: {
3183
+ slot: number;
3184
+ weight: number;
3185
+ }[], total: number): LanePlanEntry[];
3186
+ declare function gatherEnergyCost(lane: Types.gatherer_lane, quantity: number, stratum: number, itemMass: number, richness: number): number;
3187
+ declare function splitCost(reaching: Types.gatherer_lane[], quantity: number, stratum: number, itemMass: number, richness: number): number;
3188
+ declare function maxQtyForCharge(reaching: Types.gatherer_lane[], hi: number, capacity: number, stratum: number, itemMass: number, richness: number): number;
3189
+ declare function buildGatherPlan(entity: GatherPlanEntity, stratum: number, target: PlanTarget, opts: BuildGatherPlanOpts): GatherPlan;
3190
+ declare function planParallelTransfer(entity: GatherPlanEntity, target: PlanTarget): LanePlanEntry[];
3191
+
3085
3192
  type LaunchNumericInput = number | bigint | string | {
3086
3193
  toNumber(): number;
3087
3194
  } | {
@@ -3142,6 +3249,11 @@ declare class ActionsManager extends BaseManager {
3142
3249
  quantity: UInt32Type;
3143
3250
  slot?: UInt8Type;
3144
3251
  }[]): Transaction;
3252
+ flattenGatherPlan(plan: GatherPlan, ctx: {
3253
+ sourceId: UInt64Type;
3254
+ destinationId: UInt64Type;
3255
+ stratum: UInt16Type;
3256
+ }): Action[];
3145
3257
  warp(entityId: UInt64Type, destination: CoordinatesType): Action;
3146
3258
  craft(entityId: UInt64Type, recipeId: number, quantity: number, inputs: ActionParams.Type.cargo_item[], target?: UInt64Type, slot?: UInt8Type): Action;
3147
3259
  blend(entityId: UInt64Type, inputs: ActionParams.Type.cargo_item[]): Action;
@@ -3549,12 +3661,6 @@ interface EntityStateInput {
3549
3661
  }
3550
3662
  declare function makeEntity(packedItemId: number, state: EntityStateInput): Entity$1;
3551
3663
 
3552
- interface InstalledModule {
3553
- slotIndex: number;
3554
- itemId: number;
3555
- stats: bigint;
3556
- }
3557
-
3558
3664
  type BuildState = 'initializing' | 'accepting' | 'ready' | 'scheduled' | 'finalizing';
3559
3665
  type FinalizerCapability = 'crafter';
3560
3666
  interface BuildableTarget {
@@ -3949,56 +4055,6 @@ declare function cargoItem(src: {
3949
4055
  modules?: Types.module_entry[];
3950
4056
  }, quantity: bigint | number): ActionParams.Type.cargo_item;
3951
4057
 
3952
- interface ProjectedEntity {
3953
- location: Coordinates;
3954
- energy: UInt16;
3955
- cargo: CargoStack[];
3956
- shipMass: UInt32;
3957
- capacity?: UInt64;
3958
- engines?: Types.movement_stats;
3959
- loaderLanes: Types.loader_lane[];
3960
- generator?: Types.energy_stats;
3961
- hauler?: Types.hauler_stats;
3962
- launcher?: Types.launcher_stats;
3963
- readonly cargoMass: UInt64;
3964
- readonly totalMass: UInt64;
3965
- readonly gathererLanes: Types.gatherer_lane[];
3966
- readonly crafterLanes: Types.crafter_lane[];
3967
- hasMovement(): boolean;
3968
- hasStorage(): boolean;
3969
- hasLoaders(): boolean;
3970
- hasLauncher(): boolean;
3971
- capabilities(): EntityCapabilities;
3972
- state(): EntityState;
3973
- }
3974
- interface Projectable extends ScheduleData {
3975
- coordinates: Coordinates | Types.coordinates;
3976
- energy?: UInt16;
3977
- hullmass?: UInt32;
3978
- generator?: Types.energy_stats;
3979
- engines?: Types.movement_stats;
3980
- loader_lanes?: Types.loader_lane[];
3981
- gatherer_lanes?: Types.gatherer_lane[];
3982
- crafter_lanes?: Types.crafter_lane[];
3983
- hauler?: Types.hauler_stats;
3984
- launcher?: Types.launcher_stats;
3985
- capacity?: UInt32;
3986
- cargo: Types.cargo_item[];
3987
- cargomass: UInt32;
3988
- owner?: Name;
3989
- stats?: bigint;
3990
- item_id?: number | UInt16;
3991
- modules?: Types.module_entry[] | InstalledModule[];
3992
- }
3993
- declare function createProjectedEntity(entity: Projectable): ProjectedEntity;
3994
- interface ProjectionOptions {
3995
- upToTaskIndex?: number;
3996
- }
3997
- declare function projectEntity(entity: Projectable, options?: ProjectionOptions): ProjectedEntity;
3998
- declare function projectRemainingAt(entity: Projectable, _now: Date): ProjectedEntity;
3999
- declare function validateSchedule(entity: Projectable): void;
4000
- declare function projectEntityAt(entity: Projectable, now: Date): ProjectedEntity;
4001
-
4002
4058
  type TaskCargoDirection = 'in' | 'out';
4003
4059
  interface TaskCargoChange {
4004
4060
  direction: TaskCargoDirection;
@@ -4937,20 +4993,6 @@ declare function parseWireEntity(raw: WireEntity): Types.entity_info;
4937
4993
  declare function setSubscriptionsDebug(on: boolean): void;
4938
4994
  declare function isSubscriptionsDebugEnabled(): boolean;
4939
4995
 
4940
- interface LanePlanEntry {
4941
- slot: number;
4942
- quantity: number;
4943
- }
4944
- type PlanTarget = {
4945
- quantity: number;
4946
- } | 'max';
4947
- interface GatherPlanEntity extends Projectable {
4948
- gatherer_lanes: Types.gatherer_lane[];
4949
- loader_lanes: Types.loader_lane[];
4950
- }
4951
- declare function planParallelGather(entity: GatherPlanEntity, target: PlanTarget, stratum: number, now: Date): LanePlanEntry[];
4952
- declare function planParallelTransfer(entity: GatherPlanEntity, target: PlanTarget): LanePlanEntry[];
4953
-
4954
4996
  type Ship = Entity$1;
4955
4997
  type Warehouse = Entity$1;
4956
4998
  type Container = Entity$1;
@@ -4967,4 +5009,4 @@ type entity_row = Types.entity_row;
4967
5009
  type location_static = Types.location_static;
4968
5010
  type location_derived = Types.location_derived;
4969
5011
 
4970
- export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BroadEntitySubscriptionFilter, BuildMethod, BuildState, BuildableTarget, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, CancelEffects, CancelEligibilityInput, CancelPlan, CancelRefund, CancelReleasedHold, CapabilityAttribute, CapabilityAttributeRow, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, Cluster, ClusterCell, ClusterCellWire, ClusterDeltaMessage, ClusterManager, ClusterSlotType, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, Coord, CoordinateAddress, Coordinates, CoordinatesType, CounterpartLookup, CraftedItemCategory, CrafterCapability, CrafterStats, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DemandRow, DerivedLoaders, DerivedStratum, DescribeOptions, DisplayNameResult, Distance, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, EntitiesSubscriptionHandle, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityDeletedMessage, EntityInfo$2 as EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionFilter, EntitySubscriptionHandle, EntitySubscriptionHandlers, EntitySubscriptionMeta, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, ExactEntitySubscriptionFilter, Extractor, Factory, FetchAssetsOptions, FinalizerCapability, FinalizerEntityRef, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, GatherPlanEntity, GathererCapability, GathererDepthParams, GathererStats, GridCell, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GATHERER_T2, ITEM_GENERATOR_T1, ITEM_HAULER_SHIP_T2_PACKED, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T1_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PROSPECTOR_T2_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, IdleResolveTarget, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, InstalledModule, InventoryAccessor, Item, ItemType, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LanePlanEntry, LaneView, LaunchNumericInput, LaunchQuote, LaunchQuoteCatcher, LaunchQuoteLauncher, LaunchStatsInput, LoadTimeBreakdown, LoaderCapability, LoaderStats, Location, LocationStratum, LocationType, LocationsManager, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_BATTERY, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Neighbor, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, PackedModule, PackedModuleInput, PingMessage, PlanRouteParams, PlanTarget, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerRosterEntry, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RESOURCE_TIER_MULT_TENTHS, RawData, ReachStats, Recipe, RecipeConsumer, RecipeInput, RecipeSlotInput, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedCrafterLane, ResolvedEvent, ResolvedGathererLane, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedLoaderLane, ResolvedModuleSlot, ResourceCategory, ResourceDemand, ResourceStats, RouteFailure, RouteFailureReason, RoutePlan, RouteResult, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScanProvider, ScheduleAccessor, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StarSortable, StatDefinition, StatFlow, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, SystemGraph, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UnwrapDestination, UnwrapItem, UpdateBoundsMessage, UpdateMessage, ValidateDisplayNameOptions, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, WrapDeposit, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, applyCapacityTier, applyResourceTierMultiplier, 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_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, compareByStars, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeBatteryCapabilities, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain$1 as computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleUpgrades, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gathererDepthForTier, getAllRecipes, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, incomingHoldMass, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, lane, laneKeyForModule, lerp, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, nearbyWormholes, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, planParallelGather, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setScanProvider, setSubscriptionsDebug, slotAcceptsModule, sourceLabelForOutput, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, unwrapLoadDuration, unwrapTransitDuration, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
5012
+ export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BroadEntitySubscriptionFilter, BuildGatherPlanOpts, BuildMethod, BuildState, BuildableTarget, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, CancelEffects, CancelEligibilityInput, CancelPlan, CancelRefund, CancelReleasedHold, CapabilityAttribute, CapabilityAttributeRow, CapabilityInput, CargoData, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, Cluster, ClusterCell, ClusterCellWire, ClusterDeltaMessage, ClusterManager, ClusterSlotType, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, Coord, CoordinateAddress, Coordinates, CoordinatesType, CounterpartLookup, CraftedItemCategory, CrafterCapability, CrafterStats, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DemandRow, DerivedLoaders, DerivedStratum, DescribeOptions, DisplayNameResult, Distance, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, EntitiesSubscriptionHandle, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityDeletedMessage, EntityInfo$2 as EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionFilter, EntitySubscriptionHandle, EntitySubscriptionHandlers, EntitySubscriptionMeta, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, ExactEntitySubscriptionFilter, Extractor, Factory, FetchAssetsOptions, FillCap, FinalizerCapability, FinalizerEntityRef, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, GatherCycle, GatherLimpet, GatherPlan, GatherPlanEntity, GathererCapability, GathererDepthParams, GathererStats, GridCell, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GATHERER_T2, ITEM_GENERATOR_T1, ITEM_HAULER_SHIP_T2_PACKED, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T1_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PROSPECTOR_T2_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, IdleResolveTarget, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, InstalledModule, InventoryAccessor, Item, ItemType, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LanePlanEntry, LaneView, LaunchNumericInput, LaunchQuote, LaunchQuoteCatcher, LaunchQuoteLauncher, LaunchStatsInput, LoadTimeBreakdown, LoaderCapability, LoaderStats, Location, LocationStratum, LocationType, LocationsManager, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_BATTERY, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Neighbor, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, PackedModule, PackedModuleInput, PingMessage, PlanRouteParams, PlanTarget, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerRosterEntry, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RESOURCE_TIER_MULT_TENTHS, RawData, ReachStats, Recipe, RecipeConsumer, RecipeInput, RecipeSlotInput, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedCrafterLane, ResolvedEvent, ResolvedGathererLane, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedLoaderLane, ResolvedModuleSlot, ResourceCategory, ResourceDemand, ResourceStats, RouteFailure, RouteFailureReason, RoutePlan, RouteResult, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScanProvider, ScheduleAccessor, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StarSortable, StatDefinition, StatFlow, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, SystemGraph, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UnwrapDestination, UnwrapItem, UpdateBoundsMessage, UpdateMessage, ValidateDisplayNameOptions, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, WrapDeposit, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, allocateProportional, applyCapacityTier, applyResourceTierMultiplier, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildGatherPlan, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, compareByStars, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeBatteryCapabilities, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain$1 as computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleUpgrades, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gatherEnergyCost, gathererDepthForTier, getAllRecipes, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, incomingHoldMass, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, lane, laneKeyForModule, lerp, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxQtyForCharge, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, nearbyWormholes, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setScanProvider, setSubscriptionsDebug, slotAcceptsModule, sourceLabelForOutput, splitCost, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, unwrapLoadDuration, unwrapTransitDuration, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
package/lib/shipload.js CHANGED
@@ -13681,6 +13681,17 @@ class ActionsManager extends BaseManager {
13681
13681
  actions,
13682
13682
  });
13683
13683
  }
13684
+ flattenGatherPlan(plan, ctx) {
13685
+ const actions = [];
13686
+ for (const cycle of plan.cycles) {
13687
+ if (cycle.rechargeBefore)
13688
+ actions.push(this.recharge(ctx.sourceId));
13689
+ for (const limpet of cycle.limpets) {
13690
+ actions.push(this.gather(ctx.sourceId, ctx.destinationId, ctx.stratum, limpet.quantity, limpet.slot));
13691
+ }
13692
+ }
13693
+ return actions;
13694
+ }
13684
13695
  warp(entityId, destination) {
13685
13696
  const x = antelope.Int64.from(destination.x);
13686
13697
  const y = antelope.Int64.from(destination.y);
@@ -15342,11 +15353,11 @@ function capsHasCrafter(caps) {
15342
15353
  }
15343
15354
  function calc_craft_duration(speed, totalInputMass) {
15344
15355
  const duration = Math.floor(totalInputMass / speed);
15345
- return antelope.UInt32.from(Math.max(duration, 1));
15356
+ return antelope.UInt32.from(duration + 1);
15346
15357
  }
15347
15358
  function calc_craft_energy(drain, totalInputMass) {
15348
15359
  const raw = Math.floor((totalInputMass * drain) / CRAFT_ENERGY_DIVISOR);
15349
- return antelope.UInt32.from(Math.min(Math.max(raw, 1), 4294967295));
15360
+ return antelope.UInt32.from(Math.min(Math.max(raw + 1, 1), 4294967295));
15350
15361
  }
15351
15362
 
15352
15363
  class PlotManager extends BaseManager {
@@ -17048,6 +17059,8 @@ function cancelEligibility(entity, laneKey, fromTaskIndex, input) {
17048
17059
  }
17049
17060
 
17050
17061
  const NFT_TRANSIT_THRUST = 400;
17062
+ const BASELINE_LOADER = { mass: 2000, thrust: 1, quantity: 1 };
17063
+ const MIN_LOAD_Z = 800;
17051
17064
  function derivedLoaders(lanes) {
17052
17065
  if (!lanes || lanes.length === 0)
17053
17066
  return null;
@@ -17088,7 +17101,7 @@ function unwrapLoadDuration(loaders, itemMass, destZ) {
17088
17101
  if (!loaders || itemMass <= 0)
17089
17102
  return 0;
17090
17103
  const total = itemMass + loaders.mass;
17091
- const flight = flightTime(destZ, acceleration(loaders.thrust, total));
17104
+ const flight = flightTime(Math.max(destZ, MIN_LOAD_Z), acceleration(loaders.thrust, total));
17092
17105
  return Math.floor(flight / loaders.quantity);
17093
17106
  }
17094
17107
  function estimateUnwrapDuration(dest, item) {
@@ -17097,7 +17110,7 @@ function estimateUnwrapDuration(dest, item) {
17097
17110
  quantity: item.quantity,
17098
17111
  modules: item.modules,
17099
17112
  }));
17100
- const loaders = derivedLoaders(dest.loader_lanes);
17113
+ const loaders = derivedLoaders(dest.loader_lanes) ?? BASELINE_LOADER;
17101
17114
  const dz = Number(dest.coordinates.z ?? 0);
17102
17115
  const load = unwrapLoadDuration(loaders, itemMass, dz);
17103
17116
  const transit = unwrapTransitDuration(itemMass, { x: item.originX, y: item.originY }, {
@@ -18659,14 +18672,8 @@ function describeItem(resolved, opts) {
18659
18672
  return `${tier} ${resolved.name} · ${mass}`;
18660
18673
  }
18661
18674
 
18662
- const PLAN_ITEM_MASS = GATHER_MASS_DIVISOR;
18663
- const PLAN_RICHNESS = 1000;
18664
- const MAX_PLAN_QTY = 10000;
18665
- function gatherEnergyCost(lane, quantity, stratum) {
18666
- const stats = lane;
18667
- const dur = Number(calc_gather_duration(stats, PLAN_ITEM_MASS, quantity, stratum, PLAN_RICHNESS));
18668
- return Number(calc_gather_energy(stats, dur));
18669
- }
18675
+ const MAX_CYCLES = 10000;
18676
+ const MAX_TRANSFER_QTY = 10000;
18670
18677
  function allocateProportional(lanes, total) {
18671
18678
  if (lanes.length === 0)
18672
18679
  return [];
@@ -18684,45 +18691,124 @@ function allocateProportional(lanes, total) {
18684
18691
  }
18685
18692
  return entries;
18686
18693
  }
18687
- function planParallelGather(entity, target, stratum, now) {
18694
+ function laneStats(lane) {
18695
+ return lane;
18696
+ }
18697
+ function gatherEnergyCost(lane, quantity, stratum, itemMass, richness) {
18698
+ if (quantity <= 0)
18699
+ return 0;
18700
+ const dur = Number(calc_gather_duration(laneStats(lane), itemMass, quantity, stratum, richness));
18701
+ return Number(calc_gather_energy(laneStats(lane), dur));
18702
+ }
18703
+ function splitCost(reaching, quantity, stratum, itemMass, richness) {
18704
+ if (quantity <= 0)
18705
+ return 0;
18706
+ const weights = reaching.map((l) => ({
18707
+ slot: l.slot_index.toNumber(),
18708
+ weight: l.yield.toNumber(),
18709
+ }));
18710
+ const split = allocateProportional(weights, quantity);
18711
+ return split.reduce((sum, e) => {
18712
+ const lane = reaching.find((l) => l.slot_index.toNumber() === e.slot);
18713
+ return sum + gatherEnergyCost(lane, e.quantity, stratum, itemMass, richness);
18714
+ }, 0);
18715
+ }
18716
+ function maxQtyForCharge(reaching, hi, capacity, stratum, itemMass, richness) {
18717
+ if (hi <= 0)
18718
+ return 0;
18719
+ if (splitCost(reaching, hi, stratum, itemMass, richness) <= capacity)
18720
+ return hi;
18721
+ let lo = 0;
18722
+ let high = hi;
18723
+ while (lo < high) {
18724
+ const mid = Math.ceil((lo + high) / 2);
18725
+ if (splitCost(reaching, mid, stratum, itemMass, richness) <= capacity)
18726
+ lo = mid;
18727
+ else
18728
+ high = mid - 1;
18729
+ }
18730
+ return lo;
18731
+ }
18732
+ function buildGatherPlan(entity, stratum, target, opts) {
18733
+ const { richness, itemMass, holdRoom, reserveRemaining, now } = opts;
18734
+ const warnings = [];
18688
18735
  const reaching = entity.gatherer_lanes.filter((l) => l.depth.toNumber() >= stratum);
18689
18736
  if (reaching.length === 0)
18690
18737
  throw new Error('no gatherer reaches this stratum');
18691
- const energy = entity.generator ? Number(projectRemainingAt(entity).energy) : Infinity;
18692
- const requestedQty = target === 'max' ? MAX_PLAN_QTY : target.quantity;
18693
- let activeLanes = reaching.slice().sort((a, b) => a.yield.toNumber() - b.yield.toNumber());
18694
- while (activeLanes.length > 0) {
18695
- const laneWeights = activeLanes.map((l) => ({
18738
+ if (!entity.generator)
18739
+ throw new Error('entity has no generator');
18740
+ const blocked = entity.gatherer_lanes.length - reaching.length;
18741
+ if (blocked > 0) {
18742
+ warnings.push(`${blocked} of ${entity.gatherer_lanes.length} limpets can't reach this depth`);
18743
+ }
18744
+ const capacity = entity.generator.capacity.toNumber();
18745
+ const rechargeRate = entity.generator.recharge.toNumber();
18746
+ let energy = Number(projectRemainingAt(entity).energy);
18747
+ const requested = target === 'max' ? Infinity : target.quantity;
18748
+ let fillTarget = requested;
18749
+ let cap = 'requested';
18750
+ if (holdRoom < fillTarget) {
18751
+ fillTarget = holdRoom;
18752
+ cap = 'hold';
18753
+ }
18754
+ if (reserveRemaining < fillTarget) {
18755
+ fillTarget = reserveRemaining;
18756
+ cap = 'reserve';
18757
+ }
18758
+ fillTarget = Math.max(0, Math.floor(fillTarget));
18759
+ const cycles = [];
18760
+ let remaining = fillTarget;
18761
+ let guard = 0;
18762
+ while (remaining > 0 && guard++ < MAX_CYCLES) {
18763
+ const batch = maxQtyForCharge(reaching, remaining, capacity, stratum, itemMass, richness);
18764
+ if (batch <= 0) {
18765
+ warnings.push('a single gather cannot fit within one full charge');
18766
+ break;
18767
+ }
18768
+ const costFull = splitCost(reaching, batch, stratum, itemMass, richness);
18769
+ const rechargeBefore = energy < costFull;
18770
+ const rechargeSeconds = rechargeBefore
18771
+ ? Number(calc_rechargetime(capacity, energy, rechargeRate))
18772
+ : 0;
18773
+ if (rechargeBefore)
18774
+ energy = capacity;
18775
+ const weights = reaching.map((l) => ({
18696
18776
  slot: l.slot_index.toNumber(),
18697
18777
  weight: l.yield.toNumber(),
18698
18778
  }));
18699
- const proposed = allocateProportional(laneWeights, requestedQty);
18700
- const totalEnergyCost = proposed.reduce((sum, entry) => {
18701
- const lane = activeLanes.find((l) => l.slot_index.toNumber() === entry.slot);
18702
- return sum + gatherEnergyCost(lane, entry.quantity, stratum);
18779
+ const split = allocateProportional(weights, batch).filter((e) => e.quantity > 0);
18780
+ const limpets = split.map((e) => {
18781
+ const lane = reaching.find((l) => l.slot_index.toNumber() === e.slot);
18782
+ const dur = Number(calc_gather_duration(laneStats(lane), itemMass, e.quantity, stratum, richness));
18783
+ return { slot: e.slot, quantity: e.quantity, durationSeconds: dur };
18784
+ });
18785
+ const actualCost = limpets.reduce((sum, l) => {
18786
+ const lane = reaching.find((r) => r.slot_index.toNumber() === l.slot);
18787
+ return sum + Number(calc_gather_energy(laneStats(lane), l.durationSeconds));
18703
18788
  }, 0);
18704
- if (totalEnergyCost <= energy) {
18705
- return proposed.filter((e) => e.quantity > 0);
18706
- }
18707
- if (activeLanes.length === 1) {
18708
- const lane = activeLanes[0];
18709
- const energyPerUnit = gatherEnergyCost(lane, 1, stratum);
18710
- if (energyPerUnit === 0)
18711
- return proposed.filter((e) => e.quantity > 0);
18712
- const maxQty = Math.min(requestedQty, Math.floor(energy / energyPerUnit));
18713
- if (maxQty <= 0)
18714
- return [];
18715
- return [{ slot: lane.slot_index.toNumber(), quantity: maxQty }];
18716
- }
18717
- activeLanes = activeLanes.slice(1);
18789
+ energy = Math.max(0, energy - actualCost);
18790
+ const gatherSeconds = limpets.reduce((m, l) => Math.max(m, l.durationSeconds), 0);
18791
+ cycles.push({ rechargeBefore, rechargeSeconds, limpets, gatherSeconds, batchOre: batch });
18792
+ remaining -= batch;
18718
18793
  }
18719
- return [];
18794
+ const totalOre = cycles.reduce((s, c) => s + c.batchOre, 0);
18795
+ const totalSeconds = cycles.reduce((s, c) => s + c.rechargeSeconds + c.gatherSeconds, 0);
18796
+ return {
18797
+ cycles,
18798
+ cycleCount: cycles.length,
18799
+ totalOre,
18800
+ totalSeconds,
18801
+ cap,
18802
+ reachingCount: reaching.length,
18803
+ totalLimpets: entity.gatherer_lanes.length,
18804
+ warnings,
18805
+ };
18720
18806
  }
18721
18807
  function planParallelTransfer(entity, target) {
18722
18808
  const lanes = entity.loader_lanes.filter((l) => l.thrust.toNumber() > 0);
18723
18809
  if (lanes.length === 0)
18724
18810
  return [];
18725
- const requestedQty = target === 'max' ? MAX_PLAN_QTY : target.quantity;
18811
+ const requestedQty = target === 'max' ? MAX_TRANSFER_QTY : target.quantity;
18726
18812
  const laneWeights = lanes.map((l) => ({
18727
18813
  slot: l.slot_index.toNumber(),
18728
18814
  weight: l.thrust.toNumber(),
@@ -19018,6 +19104,7 @@ exports.YIELD_FRACTION_SHALLOW = YIELD_FRACTION_SHALLOW;
19018
19104
  exports.addressFromCoordinates = addressFromCoordinates;
19019
19105
  exports.allBuildableItems = allBuildableItems;
19020
19106
  exports.allPlotBuildableItems = allPlotBuildableItems;
19107
+ exports.allocateProportional = allocateProportional;
19021
19108
  exports.applyCapacityTier = applyCapacityTier;
19022
19109
  exports.applyResourceTierMultiplier = applyResourceTierMultiplier;
19023
19110
  exports.availableBuildMethods = availableBuildMethods;
@@ -19032,6 +19119,7 @@ exports.blendStacks = blendStacks;
19032
19119
  exports.buildComponentImmutable = buildComponentImmutable;
19033
19120
  exports.buildEntityDescription = buildEntityDescription;
19034
19121
  exports.buildEntityImmutable = buildEntityImmutable;
19122
+ exports.buildGatherPlan = buildGatherPlan;
19035
19123
  exports.buildImmutableData = buildImmutableData;
19036
19124
  exports.buildMintAssetAction = buildMintAssetAction;
19037
19125
  exports.buildModuleImmutable = buildModuleImmutable;
@@ -19192,6 +19280,7 @@ exports.formatMassDelta = formatMassDelta;
19192
19280
  exports.formatMassScaled = formatMassScaled;
19193
19281
  exports.formatModuleLine = formatModuleLine;
19194
19282
  exports.formatTier = formatTier;
19283
+ exports.gatherEnergyCost = gatherEnergyCost;
19195
19284
  exports.gathererDepthForTier = gathererDepthForTier;
19196
19285
  exports.getAllRecipes = getAllRecipes;
19197
19286
  exports.getCapabilityAttributeRows = getCapabilityAttributeRows;
@@ -19284,6 +19373,7 @@ exports.lerp = lerp$1;
19284
19373
  exports.makeEntity = makeEntity;
19285
19374
  exports.mapEntity = mapEntity;
19286
19375
  exports.maxCraftable = maxCraftable;
19376
+ exports.maxQtyForCharge = maxQtyForCharge;
19287
19377
  exports.maxTravelDistance = maxTravelDistance;
19288
19378
  exports.mergeStacks = mergeStacks;
19289
19379
  exports.moduleAccepts = moduleAccepts;
@@ -19295,7 +19385,6 @@ exports.needsRecharge = needsRecharge;
19295
19385
  exports.normalizeDisplayName = normalizeDisplayName;
19296
19386
  exports.parseWireEntity = parseWireEntity;
19297
19387
  exports.partnerRegion = partnerRegion;
19298
- exports.planParallelGather = planParallelGather;
19299
19388
  exports.planParallelTransfer = planParallelTransfer;
19300
19389
  exports.planRoute = planRoute;
19301
19390
  exports.projectEntity = projectEntity;
@@ -19329,6 +19418,7 @@ exports.setScanProvider = setScanProvider;
19329
19418
  exports.setSubscriptionsDebug = setSubscriptionsDebug;
19330
19419
  exports.slotAcceptsModule = slotAcceptsModule;
19331
19420
  exports.sourceLabelForOutput = sourceLabelForOutput;
19421
+ exports.splitCost = splitCost;
19332
19422
  exports.stackKey = stackKey;
19333
19423
  exports.stackToCargoItem = stackToCargoItem;
19334
19424
  exports.stacksEqual = stacksEqual;