@shipload/sdk 1.0.0-next.61 → 1.0.0-next.62

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
@@ -3545,6 +3545,74 @@ declare class NftManager extends BaseManager {
3545
3545
  getWrapDeposit(itemType: number, tier: number): Promise<WrapDeposit | null>;
3546
3546
  }
3547
3547
 
3548
+ type CargoItem$3 = Types.cargo_item;
3549
+ interface JobWindow {
3550
+ id: number;
3551
+ socket: number;
3552
+ owner: string;
3553
+ startsAt: Date;
3554
+ completesAt: Date;
3555
+ recipeId: number;
3556
+ quantity: number;
3557
+ /** Packed stat roll of the job's output, when the source carried the job's cargo. */
3558
+ outputStats?: bigint;
3559
+ }
3560
+ interface JobLaneEntry {
3561
+ kind: 'idle' | 'job';
3562
+ startsAt: Date;
3563
+ completesAt: Date;
3564
+ job?: JobWindow;
3565
+ }
3566
+ interface JobLane {
3567
+ socket: number;
3568
+ entries: JobLaneEntry[];
3569
+ }
3570
+ declare const JOB_QUEUE_CAP = 25;
3571
+ declare function jobsToLanes(jobs: JobWindow[], socketCount: number, now: Date): JobLane[];
3572
+ declare function socketTail(jobs: JobWindow[], socket: number, now: Date): Date;
3573
+ declare function pickFabricator(jobs: JobWindow[], sockets: Array<{
3574
+ open: boolean;
3575
+ }>, durationBySocketMinutes: number[], now: Date): {
3576
+ slot: number;
3577
+ startsAt: Date;
3578
+ completesAt: Date;
3579
+ } | null;
3580
+ type JobStatus = 'waiting' | 'crafting' | 'ready';
3581
+ declare function jobStatus(job: {
3582
+ startsAt: Date;
3583
+ completesAt: Date;
3584
+ }, now: Date): JobStatus;
3585
+ declare function splitJobCargo<T>(cargo: readonly T[]): {
3586
+ output: T | null;
3587
+ inputs: T[];
3588
+ };
3589
+ interface OwnedJob {
3590
+ id: number;
3591
+ workshop: number;
3592
+ socket: number;
3593
+ shipId: number;
3594
+ coords: {
3595
+ x: number;
3596
+ y: number;
3597
+ };
3598
+ startsAt: Date;
3599
+ completesAt: Date;
3600
+ recipeId: number;
3601
+ quantity: number;
3602
+ status: JobStatus;
3603
+ output: CargoItem$3 | null;
3604
+ inputs: CargoItem$3[];
3605
+ /** Packed stat roll of `output`, so every job shape answers this the same way. */
3606
+ outputStats?: bigint;
3607
+ }
3608
+
3609
+ declare class JobsManager extends BaseManager {
3610
+ getOwnedJobs(owner: NameType, opts?: {
3611
+ now?: Date;
3612
+ }): Promise<OwnedJob[]>;
3613
+ private parseOwnedJob;
3614
+ }
3615
+
3548
3616
  type EntityInfo$2 = Types.entity_info;
3549
3617
  interface BoundingBox {
3550
3618
  min_x: number;
@@ -3779,6 +3847,7 @@ declare class GameContext {
3779
3847
  private _actions?;
3780
3848
  private _clusters?;
3781
3849
  private _nft?;
3850
+ private _jobs?;
3782
3851
  private _subscriptions?;
3783
3852
  private _subscriptionsUrl?;
3784
3853
  private _gameCache?;
@@ -3792,6 +3861,7 @@ declare class GameContext {
3792
3861
  get actions(): ActionsManager;
3793
3862
  get clusters(): ClusterManager;
3794
3863
  get nft(): NftManager;
3864
+ get jobs(): JobsManager;
3795
3865
  setSubscriptionsUrl(url: string): void;
3796
3866
  get subscriptions(): SubscriptionsManager;
3797
3867
  getGame(reload?: boolean): Promise<Types$1.game_row>;
@@ -3847,6 +3917,7 @@ declare class Shipload {
3847
3917
  get actions(): ActionsManager;
3848
3918
  get clusters(): ClusterManager;
3849
3919
  get nft(): NftManager;
3920
+ get jobs(): JobsManager;
3850
3921
  get subscriptions(): SubscriptionsManager;
3851
3922
  getGame(reload?: boolean): Promise<Types$1.game_row>;
3852
3923
  getState(reload?: boolean): Promise<GameState>;
@@ -4410,36 +4481,6 @@ interface TaskCargoChange {
4410
4481
  }
4411
4482
  declare function taskCargoChanges(task: Types.task): TaskCargoChange[];
4412
4483
 
4413
- interface JobWindow {
4414
- id: number;
4415
- socket: number;
4416
- owner: string;
4417
- startsAt: Date;
4418
- completesAt: Date;
4419
- recipeId: number;
4420
- quantity: number;
4421
- }
4422
- interface JobLaneEntry {
4423
- kind: 'idle' | 'job';
4424
- startsAt: Date;
4425
- completesAt: Date;
4426
- job?: JobWindow;
4427
- }
4428
- interface JobLane {
4429
- socket: number;
4430
- entries: JobLaneEntry[];
4431
- }
4432
- declare const JOB_QUEUE_CAP = 25;
4433
- declare function jobsToLanes(jobs: JobWindow[], socketCount: number, now: Date): JobLane[];
4434
- declare function socketTail(jobs: JobWindow[], socket: number, now: Date): Date;
4435
- declare function pickFabricator(jobs: JobWindow[], sockets: Array<{
4436
- open: boolean;
4437
- }>, durationBySocketMinutes: number[], now: Date): {
4438
- slot: number;
4439
- startsAt: Date;
4440
- completesAt: Date;
4441
- } | null;
4442
-
4443
4484
  type EntityInfo$1 = Types.entity_info;
4444
4485
  type CounterpartLookup = (entityId: UInt64) => EntityInfo$1 | undefined;
4445
4486
  type IdleResolveTarget = ScheduleData & {
@@ -5520,4 +5561,4 @@ type entity_row = Types.entity_row;
5520
5561
  type location_static = Types.location_static;
5521
5562
  type location_derived = Types.location_derived;
5522
5563
 
5523
- export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_HAUL_PENALTY_MILLI, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BroadEntitySubscriptionFilter, BuildGatherPlanOpts, BuildMethod, BuildState, BuildableTarget, BuilderStats, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, CancelEffects, CancelEligibilityInput, CancelPlan, CancelRefund, CancelReleasedHold, CapabilityAttribute, CapabilityAttributeRow, CapabilityInput, CargoData, CargoInput, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, Cluster, ClusterCell, ClusterCellWire, ClusterDeltaMessage, ClusterManager, ClusterSlotType, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, Coord, CoordinateAddress, Coordinates, CoordinatesType, CounterpartLookup, CraftedItemCategory, CrafterCapability, CrafterStats, DEFAULT_BASE_HULLMASS, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DemandRow, DerivedLoaders, DerivedStratum, DescribeOptions, DisplayNameResult, Distance, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONSTRUCTION_DOCK, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, ENTITY_WORKSHOP, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, EntitiesSubscriptionHandle, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityDeletedMessage, EntityInfo$2 as EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionFilter, EntitySubscriptionHandle, EntitySubscriptionHandlers, EntitySubscriptionMeta, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, ExactEntitySubscriptionFilter, Extractor, Factory, FetchAssetsOptions, FillCap, FinalizerCapability, FinalizerEntityRef, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, GatherCycle, GatherLimpet, GatherPlan, GatherPlanEntity, GathererCapability, GathererDepthParams, GathererStats, GridCell, HAULER_EFFICIENCY_DENOM, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INTAKE_RATE, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BATTERY_T2, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_BUILDER_T1, ITEM_BUILDER_T2, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONSTRUCTION_DOCK_T1_PACKED, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRAFTER_T2, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_DREDGER_T2A_PACKED, ITEM_ENGINE_T1, ITEM_ENGINE_T2, 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_GENERATOR_T2, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T1_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_LOADER_T2, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PORTER_T1A_PACKED, ITEM_PROSPECTOR_T1A_PACKED, ITEM_PROSPECTOR_T2A_PACKED, ITEM_PROSPECTOR_T2B_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_ROUSTABOUT_T1A_PACKED, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_SMITH_T1A_PACKED, ITEM_STORAGE_T1, ITEM_STORAGE_T2, ITEM_TENDER_T1A_PACKED, ITEM_TUG_T1A_PACKED, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, ITEM_WARP_T2, ITEM_WORKSHOP_T1_PACKED, ITEM_WRIGHT_T1A_PACKED, IdleResolveTarget, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, IncomingSource, InstalledModule, InventoryAccessor, Item, ItemType, JOB_QUEUE_CAP, JobLane, JobLaneEntry, JobWindow, KindMeta, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, LanePlanEntry, LaneView, LaunchNumericInput, LaunchQuote, LaunchQuoteCatcher, LaunchQuoteLauncher, LaunchStatsInput, LoadTimeBreakdown, LoaderCapability, LoaderStats, Location, LocationStratum, LocationType, LocationsManager, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_AUX, MODULE_BATTERY, MODULE_BUILDER, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STAT_SCALING_ANCHOR, MODULE_STAT_SCALING_POST_ANCHOR_PERCENT, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Neighbor, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnerSubscriptionHandle, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, PackedModule, PackedModuleInput, PingMessage, PlanRouteParams, PlanTarget, PlanetSubtypeInfo, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayerRosterEntry, PlayerStateInput, PlayersManager, PongMessage, Projectable, ProjectedEntity, ProjectionOptions, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, RESOURCE_TIER_MULT_TENTHS, RawData, ReachStats, Recipe, RecipeConsumer, RecipeInput, RecipeSlotInput, RefitOp, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedCrafterLane, ResolvedEvent, ResolvedGathererLane, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedLoaderLane, ResolvedModuleSlot, ResourceCategory, ResourceDemand, ResourceStats, RouteFailure, RouteFailureReason, RouteHeuristicCost, RouteLegCost, RouteLegInput, RouteLegSim, RouteMoverInput, RoutePlan, RouteResult, RouteSim, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScanProvider, ScheduleAccessor, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StarSortable, StatDefinition, StatFlow, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, SystemGraph, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, TravelDrainBreakdown, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UnwrapDestination, UnwrapItem, UpdateBoundsMessage, UpdateMessage, ValidateDisplayNameOptions, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, WrapDeposit, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, allocateProportional, applyCapacityTier, applyResourceTierMultiplier, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildGatherPlan, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcClusterIntake, calcClustercraftDuration, calcCounterpartDelivery, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_build_duration, calc_build_energy, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_group_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calc_travel_flighttime, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoInputKey, cargoItem, cargoItemToStack, cargoKey, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, clusterStockAvailable, compareByStars, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityContainer, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeBatteryCapabilities, computeBuilderCapabilities, computeBuilderDrain, computeBuilderSpeed, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEffectiveModuleStat, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, coupling, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleUpgrades, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gatherEnergyCost, gathererDepthForTier, getAllRecipes, getBaseHullmassFor, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasIncomingCoupling, hasLoaders, hasMass, hasSchedule, hasSourceCoupling, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, incomingHoldMass, interpolateFlightPosition, isBuildable, isConstructionDock, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, isWorkshop, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, jobsToLanes, kindCan, lane, laneKeyForModule, lerp, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxQtyForCharge, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, nearbyWormholes, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, pickFabricator, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneBuilder, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupBuilder, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setSubscriptionsDebug, simulateRoute, slotAcceptsModule, socketTail, sourceLabelForOutput, splitCost, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, unwrapLoadDuration, unwrapTransitDuration, usedInputStatKeys, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
5564
+ export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, AckMessage, ActionsManager, AnyEntity, AtomicAssetRow, AtomicAttributeType, AtomicSchemaRow, BASE_HAUL_PENALTY_MILLI, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BoundingBox, BoundsDeltaMessage, BoundsSubscriptionHandle, BroadEntitySubscriptionFilter, BuildGatherPlanOpts, BuildMethod, BuildState, BuildableTarget, BuilderStats, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, CancelEffects, CancelEligibilityInput, CancelPlan, CancelRefund, CancelReleasedHold, CapabilityAttribute, CapabilityAttributeRow, CapabilityInput, CargoData, CargoInput, CargoMassInfo, CargoStack, CategoryInfo, CategoryStacks, ClientMessage, Cluster, ClusterCell, ClusterCellWire, ClusterDeltaMessage, ClusterManager, ClusterSlotType, ComputedCapabilities, ConnectionState, ConstructionManager, Container, ContainerEntity, Coord, CoordinateAddress, Coordinates, CoordinatesType, CounterpartLookup, CraftedItemCategory, CrafterCapability, CrafterStats, DEFAULT_BASE_HULLMASS, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, DecodedAtomicAsset, DemandRow, DerivedLoaders, DerivedStratum, DescribeOptions, DisplayNameResult, Distance, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONSTRUCTION_DOCK, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, ENTITY_WORKSHOP, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EffectiveReserveInput, EnergyCapability, EntitiesManager, EntitiesSubscriptionHandle, Entity$1 as Entity, EntityCapabilities, EntityClass, EntityDeletedMessage, EntityInfo$2 as EntityInfo, EntityInstance, EntityInventory, EntityLayout, EntityRefInput, EntitySlot, EntityState, EntityStateInput, EntitySubscriptionFilter, EntitySubscriptionHandle, EntitySubscriptionHandlers, EntitySubscriptionMeta, EntityTypeName, EpochInfo, EpochsManager, ErrorMessage, EstimateTravelTimeOptions, EstimatedTravelTime, EventCatchupCompleteMessage, EventMessage, ExactEntitySubscriptionFilter, Extractor, Factory, FetchAssetsOptions, FillCap, FinalizerCapability, FinalizerEntityRef, FloatPosition, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, GatherCycle, GatherLimpet, GatherPlan, GatherPlanEntity, GathererCapability, GathererDepthParams, GathererStats, GridCell, HAULER_EFFICIENCY_DENOM, HasCapacity, HasCargo, HasCargomass, HasScheduleAndLocation, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INTAKE_RATE, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BATTERY_T2, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_BUILDER_T1, ITEM_BUILDER_T2, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONSTRUCTION_DOCK_T1_PACKED, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRAFTER_T2, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_DREDGER_T2A_PACKED, ITEM_ENGINE_T1, ITEM_ENGINE_T2, 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_GENERATOR_T2, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T1_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_LOADER_T2, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PORTER_T1A_PACKED, ITEM_PROSPECTOR_T1A_PACKED, ITEM_PROSPECTOR_T2A_PACKED, ITEM_PROSPECTOR_T2B_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_ROUSTABOUT_T1A_PACKED, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_SMITH_T1A_PACKED, ITEM_STORAGE_T1, ITEM_STORAGE_T2, ITEM_TENDER_T1A_PACKED, ITEM_TUG_T1A_PACKED, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, ITEM_WARP_T2, ITEM_WORKSHOP_T1_PACKED, ITEM_WRIGHT_T1A_PACKED, IdleResolveTarget, ImmutableEntry, ImmutableModuleSlot, InboundTransfer, IncomingSource, InstalledModule, InventoryAccessor, Item, ItemType, JOB_QUEUE_CAP, JobLane, JobLaneEntry, JobStatus, JobWindow, JobsManager, 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_AUX, MODULE_BATTERY, MODULE_BUILDER, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STAT_SCALING_ANCHOR, MODULE_STAT_SCALING_POST_ANCHOR_PERCENT, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, MassCapability, MintAssetParams, ModuleDescription, ModuleEntry, ModuleType, MovementCapability, index as NFT, NFTCargoItem, NFTCommonBase, NFTInstalledModule, NFTModuleSlot, NO_SCHEDULE, NamedStats, Neighbor, Nexus, NftConfigForItem, NftManager, OrderedTask, OwnedJob, 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, RefitOp, RenderDescriptionOptions, Reservation, ReserveTier, ResolvedAttributeGroup, ResolvedCrafterLane, ResolvedEvent, ResolvedGathererLane, ResolvedItem, ResolvedItemStat, ResolvedItemType, ResolvedLoaderLane, ResolvedModuleSlot, ResourceCategory, ResourceDemand, ResourceStats, RouteFailure, RouteFailureReason, RouteHeuristicCost, RouteLegCost, RouteLegInput, RouteLegSim, RouteMoverInput, RoutePlan, RouteResult, RouteSim, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScanProvider, ScheduleAccessor, ScheduleCapability, ScheduleData, ScheduledBuild, SchemaField, server as ServerContract, ServerMessage, Types as ServerTypes, Ship, ShipEntity, ShipLike, Shipload, SlotConsumer, SlotConsumerKind, SnapshotMessage, SourceCargoStack, SourceEntityRef, StackInput, StarSortable, StatDefinition, StatFlow, StatMapping, StatSlot, StorageCapability, StratumInfo, SubscribeEntityMessage, SubscribeEventsMessage, SubscribeMessage, SubscriptionEntityType, SubscriptionsManager, SubscriptionsOptions, SystemGraph, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskCargoChange, TaskCargoDirection, TaskType, TemplateMeta, TextSpan, TierRange, TransferEntity, TravelDrainBreakdown, UnsubscribeEntityMessage, UnsubscribeEventsMessage, UnsubscribeMessage, UnwrapDestination, UnwrapItem, UpdateBoundsMessage, UpdateMessage, ValidateDisplayNameOptions, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, Warehouse, WarehouseEntity, WebSocketConnection, WebSocketConnectionOptions, WireCoordinates, WireEntity, WrapDeposit, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, allocateProportional, applyCapacityTier, applyResourceTierMultiplier, availableBuildMethods, availableCapacity$1 as availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildGatherPlan, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcClusterIntake, calcClustercraftDuration, calcCounterpartDelivery, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_build_duration, calc_build_energy, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_group_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calc_travel_flighttime, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoInputKey, cargoItem, cargoItemToStack, cargoKey, cargoReadyAt, cargoRef, cargoUtils, cargo_item, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, clusterStockAvailable, compareByStars, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityContainer, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeBatteryCapabilities, computeBuilderCapabilities, computeBuilderDrain, computeBuilderSpeed, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEffectiveModuleStat, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, coupling, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleUpgrades, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, energy_stats, entityDisplayName, entity_row, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gatherEnergyCost, gathererDepthForTier, getAllRecipes, getBaseHullmassFor, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasIncomingCoupling, hasLoaders, hasMass, hasSchedule, hasSourceCoupling, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, incomingHoldMass, interpolateFlightPosition, isBuildable, isConstructionDock, isContainer, isCraftedItem, isExtractor, isFactory, isFull$1 as isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, isWorkshop, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, jobStatus, jobsToLanes, kindCan, lane, laneKeyForModule, lerp, location_derived, location_static, makeEntity, mapEntity, maxCraftable, maxQtyForCharge, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, movement_stats, nearbyWormholes, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, pickFabricator, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneBuilder, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupBuilder, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setSubscriptionsDebug, simulateRoute, slotAcceptsModule, socketTail, sourceLabelForOutput, splitCost, splitJobCargo, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, task, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, unwrapLoadDuration, unwrapTransitDuration, usedInputStatKeys, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
package/lib/shipload.js CHANGED
@@ -16368,6 +16368,104 @@ class NftManager extends BaseManager {
16368
16368
  }
16369
16369
  }
16370
16370
 
16371
+ const JOB_QUEUE_CAP = 25;
16372
+ function activeOn(jobs, socket, now) {
16373
+ return jobs
16374
+ .filter((j) => j.socket === socket && j.completesAt > now)
16375
+ .sort((a, b) => a.startsAt.getTime() - b.startsAt.getTime());
16376
+ }
16377
+ function jobsToLanes(jobs, socketCount, now) {
16378
+ const lanes = [];
16379
+ for (let socket = 0; socket < socketCount; socket++) {
16380
+ const entries = [];
16381
+ let cursor = null;
16382
+ for (const j of activeOn(jobs, socket, now)) {
16383
+ if (cursor && j.startsAt > cursor) {
16384
+ entries.push({ kind: 'idle', startsAt: cursor, completesAt: j.startsAt });
16385
+ }
16386
+ entries.push({ kind: 'job', startsAt: j.startsAt, completesAt: j.completesAt, job: j });
16387
+ cursor = j.completesAt;
16388
+ }
16389
+ lanes.push({ socket, entries });
16390
+ }
16391
+ return lanes;
16392
+ }
16393
+ function socketTail(jobs, socket, now) {
16394
+ const active = activeOn(jobs, socket, now);
16395
+ const last = active[active.length - 1];
16396
+ return last && last.completesAt > now ? last.completesAt : now;
16397
+ }
16398
+ function pickFabricator(jobs, sockets, durationBySocketMinutes, now) {
16399
+ let best = null;
16400
+ for (let slot = 0; slot < sockets.length; slot++) {
16401
+ if (!sockets[slot].open)
16402
+ continue;
16403
+ if (activeOn(jobs, slot, now).length >= JOB_QUEUE_CAP)
16404
+ continue;
16405
+ const startsAt = socketTail(jobs, slot, now);
16406
+ const completesAt = new Date(startsAt.getTime() + durationBySocketMinutes[slot] * 60000);
16407
+ if (!best || completesAt < best.completesAt) {
16408
+ best = { slot, startsAt, completesAt };
16409
+ }
16410
+ }
16411
+ return best;
16412
+ }
16413
+ function jobStatus(job, now) {
16414
+ if (now < job.startsAt)
16415
+ return 'waiting';
16416
+ if (now < job.completesAt)
16417
+ return 'crafting';
16418
+ return 'ready';
16419
+ }
16420
+ function splitJobCargo(cargo) {
16421
+ if (cargo.length === 0)
16422
+ return { output: null, inputs: [] };
16423
+ return { output: cargo[cargo.length - 1], inputs: cargo.slice(0, -1) };
16424
+ }
16425
+
16426
+ class JobsManager extends BaseManager {
16427
+ async getOwnedJobs(owner, opts) {
16428
+ const ownerName = antelope.Name.from(owner);
16429
+ const now = opts?.now ?? new Date();
16430
+ let rows;
16431
+ try {
16432
+ rows = (await this.server
16433
+ .table('jobs')
16434
+ .query({
16435
+ index_position: 'tertiary',
16436
+ key_type: 'i64',
16437
+ from: ownerName.value,
16438
+ to: ownerName.value,
16439
+ })
16440
+ .all());
16441
+ }
16442
+ catch {
16443
+ rows = (await this.server.table('jobs').all());
16444
+ }
16445
+ return rows.filter((r) => ownerName.equals(r.owner)).map((r) => this.parseOwnedJob(r, now));
16446
+ }
16447
+ parseOwnedJob(r, now) {
16448
+ const startsAt = r.starts_at.toDate();
16449
+ const completesAt = r.completes_at.toDate();
16450
+ const { output, inputs } = splitJobCargo(r.cargo);
16451
+ return {
16452
+ id: r.id.toNumber(),
16453
+ workshop: r.workshop.toNumber(),
16454
+ socket: r.socket.toNumber(),
16455
+ shipId: r.ship_id.toNumber(),
16456
+ coords: { x: r.coords.x.toNumber(), y: r.coords.y.toNumber() },
16457
+ startsAt,
16458
+ completesAt,
16459
+ recipeId: r.recipe_id.toNumber(),
16460
+ quantity: r.quantity.toNumber(),
16461
+ status: jobStatus({ startsAt, completesAt }, now),
16462
+ output,
16463
+ inputs,
16464
+ outputStats: output?.stats === undefined ? undefined : BigInt(output.stats.toString()),
16465
+ };
16466
+ }
16467
+ }
16468
+
16371
16469
  let enabled = false;
16372
16470
  function setSubscriptionsDebug(on) {
16373
16471
  enabled = on;
@@ -16846,6 +16944,12 @@ class GameContext {
16846
16944
  }
16847
16945
  return this._nft;
16848
16946
  }
16947
+ get jobs() {
16948
+ if (!this._jobs) {
16949
+ this._jobs = new JobsManager(this);
16950
+ }
16951
+ return this._jobs;
16952
+ }
16849
16953
  setSubscriptionsUrl(url) {
16850
16954
  this._subscriptionsUrl = url;
16851
16955
  }
@@ -16963,6 +17067,9 @@ class Shipload {
16963
17067
  get nft() {
16964
17068
  return this._context.nft;
16965
17069
  }
17070
+ get jobs() {
17071
+ return this._context.jobs;
17072
+ }
16966
17073
  get subscriptions() {
16967
17074
  return this._context.subscriptions;
16968
17075
  }
@@ -19585,49 +19692,6 @@ function taskCargoChanges(task) {
19585
19692
  }
19586
19693
  }
19587
19694
 
19588
- const JOB_QUEUE_CAP = 25;
19589
- function activeOn(jobs, socket, now) {
19590
- return jobs
19591
- .filter((j) => j.socket === socket && j.completesAt > now)
19592
- .sort((a, b) => a.startsAt.getTime() - b.startsAt.getTime());
19593
- }
19594
- function jobsToLanes(jobs, socketCount, now) {
19595
- const lanes = [];
19596
- for (let socket = 0; socket < socketCount; socket++) {
19597
- const entries = [];
19598
- let cursor = null;
19599
- for (const j of activeOn(jobs, socket, now)) {
19600
- if (cursor && j.startsAt > cursor) {
19601
- entries.push({ kind: 'idle', startsAt: cursor, completesAt: j.startsAt });
19602
- }
19603
- entries.push({ kind: 'job', startsAt: j.startsAt, completesAt: j.completesAt, job: j });
19604
- cursor = j.completesAt;
19605
- }
19606
- lanes.push({ socket, entries });
19607
- }
19608
- return lanes;
19609
- }
19610
- function socketTail(jobs, socket, now) {
19611
- const active = activeOn(jobs, socket, now);
19612
- const last = active[active.length - 1];
19613
- return last && last.completesAt > now ? last.completesAt : now;
19614
- }
19615
- function pickFabricator(jobs, sockets, durationBySocketMinutes, now) {
19616
- let best = null;
19617
- for (let slot = 0; slot < sockets.length; slot++) {
19618
- if (!sockets[slot].open)
19619
- continue;
19620
- if (activeOn(jobs, slot, now).length >= JOB_QUEUE_CAP)
19621
- continue;
19622
- const startsAt = socketTail(jobs, slot, now);
19623
- const completesAt = new Date(startsAt.getTime() + durationBySocketMinutes[slot] * 60000);
19624
- if (!best || completesAt < best.completesAt) {
19625
- best = { slot, startsAt, completesAt };
19626
- }
19627
- }
19628
- return best;
19629
- }
19630
-
19631
19695
  function composeIdleResolve(blocker, action, actions, now, lookupCounterpart) {
19632
19696
  const ids = [];
19633
19697
  const seen = new Set();
@@ -21942,6 +22006,7 @@ exports.ITEM_WORKSHOP_T1_PACKED = ITEM_WORKSHOP_T1_PACKED;
21942
22006
  exports.ITEM_WRIGHT_T1A_PACKED = ITEM_WRIGHT_T1A_PACKED;
21943
22007
  exports.InventoryAccessor = InventoryAccessor;
21944
22008
  exports.JOB_QUEUE_CAP = JOB_QUEUE_CAP;
22009
+ exports.JobsManager = JobsManager;
21945
22010
  exports.LANE_BARRIER = LANE_BARRIER;
21946
22011
  exports.LANE_MOBILITY = LANE_MOBILITY;
21947
22012
  exports.LOCAL_HALF = LOCAL_HALF;
@@ -22328,6 +22393,7 @@ exports.itemIds = itemIds;
22328
22393
  exports.itemOffset = itemOffset;
22329
22394
  exports.itemTier = itemTier;
22330
22395
  exports.itemTypeCode = itemTypeCode;
22396
+ exports.jobStatus = jobStatus;
22331
22397
  exports.jobsToLanes = jobsToLanes;
22332
22398
  exports.kindCan = kindCan;
22333
22399
  exports.laneKeyForModule = laneKeyForModule;
@@ -22385,6 +22451,7 @@ exports.slotAcceptsModule = slotAcceptsModule;
22385
22451
  exports.socketTail = socketTail;
22386
22452
  exports.sourceLabelForOutput = sourceLabelForOutput;
22387
22453
  exports.splitCost = splitCost;
22454
+ exports.splitJobCargo = splitJobCargo;
22388
22455
  exports.stackKey = stackKey;
22389
22456
  exports.stackToCargoItem = stackToCargoItem;
22390
22457
  exports.stacksEqual = stacksEqual;