@aephia/atlas-kit 0.6.0-next.99 → 0.6.0
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/dist/cargo/actions/deposit.d.ts +4 -1
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +56 -133
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts +14 -7
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +101 -89
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +52 -3
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +118 -7
- package/dist/cargo/actions/wallet-context.js.map +1 -1
- package/dist/cargo/actions/wallet-token.d.ts +1 -6
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-token.js +0 -45
- package/dist/cargo/actions/wallet-token.js.map +1 -1
- package/dist/cargo/actions/withdrawal.d.ts +1 -1
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
- package/dist/cargo/actions/withdrawal.js +37 -163
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/cargo/index.d.ts.map +1 -1
- package/dist/cargo/index.js +2 -10
- package/dist/cargo/index.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts +80 -14
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +660 -709
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +8 -6
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +12 -18
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +353 -37
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +54 -1
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/deployments.d.ts +17 -0
- package/dist/client/deployments.d.ts.map +1 -1
- package/dist/client/deployments.js +17 -0
- package/dist/client/deployments.js.map +1 -1
- package/dist/client/index.d.ts +22 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +21 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +2 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -1
- package/dist/client/rpc-subscription-provider.js +135 -101
- package/dist/client/rpc-subscription-provider.js.map +1 -1
- package/dist/combat/actions/index.d.ts +30 -12
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +264 -252
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts +25 -8
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +21 -18
- package/dist/combat/index.js.map +1 -1
- package/dist/crafting/actions/fee-rate.d.ts +47 -0
- package/dist/crafting/actions/fee-rate.d.ts.map +1 -0
- package/dist/crafting/actions/fee-rate.js +58 -0
- package/dist/crafting/actions/fee-rate.js.map +1 -0
- package/dist/crafting/actions/index.d.ts +28 -28
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +243 -314
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/estimate.d.ts +101 -0
- package/dist/crafting/estimate.d.ts.map +1 -0
- package/dist/crafting/estimate.js +108 -0
- package/dist/crafting/estimate.js.map +1 -0
- package/dist/crafting/index.d.ts +6 -5
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +6 -13
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +1 -1
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +5 -4
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts +18 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +24 -18
- package/dist/factions/index.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts +18 -5
- package/dist/fleets/actions/add-ship.d.ts.map +1 -1
- package/dist/fleets/actions/add-ship.js +35 -48
- package/dist/fleets/actions/add-ship.js.map +1 -1
- package/dist/fleets/actions/create-fleet.d.ts +1 -1
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -1
- package/dist/fleets/actions/create-fleet.js +8 -38
- package/dist/fleets/actions/create-fleet.js.map +1 -1
- package/dist/fleets/actions/crew-transfer.d.ts +8 -4
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -1
- package/dist/fleets/actions/crew-transfer.js +27 -42
- package/dist/fleets/actions/crew-transfer.js.map +1 -1
- package/dist/fleets/actions/deployment-storage.d.ts +161 -0
- package/dist/fleets/actions/deployment-storage.d.ts.map +1 -0
- package/dist/fleets/actions/deployment-storage.js +297 -0
- package/dist/fleets/actions/deployment-storage.js.map +1 -0
- package/dist/fleets/actions/disband.d.ts +42 -0
- package/dist/fleets/actions/disband.d.ts.map +1 -0
- package/dist/fleets/actions/disband.js +107 -0
- package/dist/fleets/actions/disband.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +55 -11
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +282 -235
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.d.ts +1 -1
- package/dist/fleets/actions/respawn.d.ts.map +1 -1
- package/dist/fleets/actions/respawn.js +8 -37
- package/dist/fleets/actions/respawn.js.map +1 -1
- package/dist/fleets/actions/ship-import.d.ts +1 -1
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +39 -91
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/actions/sync.d.ts +24 -0
- package/dist/fleets/actions/sync.d.ts.map +1 -0
- package/dist/fleets/actions/sync.js +55 -0
- package/dist/fleets/actions/sync.js.map +1 -0
- package/dist/fleets/composition-stats.d.ts +101 -0
- package/dist/fleets/composition-stats.d.ts.map +1 -0
- package/dist/fleets/composition-stats.js +354 -0
- package/dist/fleets/composition-stats.js.map +1 -0
- package/dist/fleets/cooldown.d.ts +7 -4
- package/dist/fleets/cooldown.d.ts.map +1 -1
- package/dist/fleets/cooldown.js +11 -6
- package/dist/fleets/cooldown.js.map +1 -1
- package/dist/fleets/index.d.ts +1 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +3 -10
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/movement-arithmetic.d.ts.map +1 -1
- package/dist/fleets/movement-arithmetic.js +4 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -1
- package/dist/fleets/subwarp-estimate.d.ts +3 -1
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -1
- package/dist/fleets/subwarp-estimate.js +3 -1
- package/dist/fleets/subwarp-estimate.js.map +1 -1
- package/dist/fleets/warp-lane-policy.d.ts +13 -7
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -1
- package/dist/fleets/warp-lane-policy.js +19 -7
- package/dist/fleets/warp-lane-policy.js.map +1 -1
- package/dist/identity/actions/create-profile.d.ts +1 -1
- package/dist/identity/actions/create-profile.d.ts.map +1 -1
- package/dist/identity/actions/create-profile.js +2 -2
- package/dist/identity/actions/create-profile.js.map +1 -1
- package/dist/identity/actions/index.d.ts +2 -1
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +6 -4
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/actions/research-unlock.d.ts +61 -0
- package/dist/identity/actions/research-unlock.d.ts.map +1 -0
- package/dist/identity/actions/research-unlock.js +166 -0
- package/dist/identity/actions/research-unlock.js.map +1 -0
- package/dist/identity/index.d.ts +62 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +63 -12
- package/dist/identity/index.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/account-decoding.d.ts +49 -0
- package/dist/internal/c4/account-decoding.d.ts.map +1 -0
- package/dist/internal/c4/account-decoding.js +74 -0
- package/dist/internal/c4/account-decoding.js.map +1 -0
- package/dist/internal/c4/career-xp.d.ts +58 -0
- package/dist/internal/c4/career-xp.d.ts.map +1 -0
- package/dist/internal/c4/career-xp.js +80 -0
- package/dist/internal/c4/career-xp.js.map +1 -0
- package/dist/internal/c4/cargo-instructions.d.ts +24 -0
- package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
- package/dist/internal/c4/cargo-instructions.js +30 -0
- package/dist/internal/c4/cargo-instructions.js.map +1 -0
- package/dist/internal/c4/cargo-pod.d.ts +15 -0
- package/dist/internal/c4/cargo-pod.d.ts.map +1 -0
- package/dist/internal/c4/cargo-pod.js +13 -0
- package/dist/internal/c4/cargo-pod.js.map +1 -0
- package/dist/internal/c4/character-modifier.d.ts +1 -1
- package/dist/internal/c4/character-modifier.d.ts.map +1 -1
- package/dist/internal/c4/character.d.ts +157 -0
- package/dist/internal/c4/character.d.ts.map +1 -0
- package/dist/internal/c4/character.js +64 -0
- package/dist/internal/c4/character.js.map +1 -0
- package/dist/internal/c4/claim-stake-building-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-building-definitions.js +2 -1
- package/dist/internal/c4/claim-stake-building-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-configuration.js +5 -36
- package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.d.ts +4 -0
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js +6 -2
- package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake-plots.d.ts +17 -0
- package/dist/internal/c4/claim-stake-plots.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-plots.js +29 -0
- package/dist/internal/c4/claim-stake-plots.js.map +1 -0
- package/dist/internal/c4/claim-stake-standing.d.ts +80 -0
- package/dist/internal/c4/claim-stake-standing.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-standing.js +61 -0
- package/dist/internal/c4/claim-stake-standing.js.map +1 -0
- package/dist/internal/c4/claim-stake-storage.d.ts +45 -0
- package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-storage.js +207 -0
- package/dist/internal/c4/claim-stake-storage.js.map +1 -0
- package/dist/internal/c4/claim-stake.d.ts +9 -6
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +24 -56
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat-storage.d.ts +20 -0
- package/dist/internal/c4/combat-storage.d.ts.map +1 -0
- package/dist/internal/c4/combat-storage.js +43 -0
- package/dist/internal/c4/combat-storage.js.map +1 -0
- package/dist/internal/c4/combat.d.ts +1 -55
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +16 -180
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-storage.d.ts +20 -0
- package/dist/internal/c4/crafting-storage.d.ts.map +1 -0
- package/dist/internal/c4/crafting-storage.js +54 -0
- package/dist/internal/c4/crafting-storage.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +9 -1
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +38 -98
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +1 -1
- package/dist/internal/c4/currency-cache.d.ts.map +1 -1
- package/dist/internal/c4/currency-cache.js +6 -9
- package/dist/internal/c4/currency-cache.js.map +1 -1
- package/dist/internal/c4/discriminators.d.ts +93 -0
- package/dist/internal/c4/discriminators.d.ts.map +1 -0
- package/dist/internal/c4/discriminators.js +190 -0
- package/dist/internal/c4/discriminators.js.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -1
- package/dist/internal/c4/faction-epoch-meter.js +5 -10
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -1
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -1
- package/dist/internal/c4/faction-treasury.js +11 -18
- package/dist/internal/c4/faction-treasury.js.map +1 -1
- package/dist/internal/c4/faction.d.ts +21 -0
- package/dist/internal/c4/faction.d.ts.map +1 -0
- package/dist/internal/c4/faction.js +23 -0
- package/dist/internal/c4/faction.js.map +1 -0
- package/dist/internal/c4/factions.d.ts +31 -3
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +103 -104
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-creation.d.ts +9 -2
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -1
- package/dist/internal/c4/fleet-creation.js +15 -18
- package/dist/internal/c4/fleet-creation.js.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +21 -49
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-disband-layout.d.ts +7 -0
- package/dist/internal/c4/fleet-disband-layout.d.ts.map +1 -0
- package/dist/internal/c4/fleet-disband-layout.js +7 -0
- package/dist/internal/c4/fleet-disband-layout.js.map +1 -0
- package/dist/internal/c4/fleet-disband.d.ts +41 -0
- package/dist/internal/c4/fleet-disband.d.ts.map +1 -0
- package/dist/internal/c4/fleet-disband.js +86 -0
- package/dist/internal/c4/fleet-disband.js.map +1 -0
- package/dist/internal/c4/fleet-points.d.ts +3 -0
- package/dist/internal/c4/fleet-points.d.ts.map +1 -0
- package/dist/internal/c4/fleet-points.js +8 -0
- package/dist/internal/c4/fleet-points.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +20 -5
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.js +62 -10
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/c4/fleet-storage.d.ts +44 -0
- package/dist/internal/c4/fleet-storage.d.ts.map +1 -0
- package/dist/internal/c4/fleet-storage.js +108 -0
- package/dist/internal/c4/fleet-storage.js.map +1 -0
- package/dist/internal/c4/fleet-sync.d.ts +5 -0
- package/dist/internal/c4/fleet-sync.d.ts.map +1 -0
- package/dist/internal/c4/fleet-sync.js +15 -0
- package/dist/internal/c4/fleet-sync.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts +20 -5
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +24 -84
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +76 -21
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +127 -116
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -153
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +19 -126
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +4 -6
- package/dist/internal/c4/local-market-order.d.ts.map +1 -1
- package/dist/internal/c4/local-market-order.js +5 -6
- package/dist/internal/c4/local-market-order.js.map +1 -1
- package/dist/internal/c4/loot-layout.js +1 -1
- package/dist/internal/c4/loot-layout.js.map +1 -1
- package/dist/internal/c4/loot.d.ts +89 -0
- package/dist/internal/c4/loot.d.ts.map +1 -0
- package/dist/internal/c4/loot.js +109 -0
- package/dist/internal/c4/loot.js.map +1 -0
- package/dist/internal/c4/loyalty.d.ts +7 -3
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +41 -130
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market-storage.d.ts +25 -0
- package/dist/internal/c4/market-storage.d.ts.map +1 -0
- package/dist/internal/c4/market-storage.js +53 -0
- package/dist/internal/c4/market-storage.js.map +1 -0
- package/dist/internal/c4/market.d.ts +3 -0
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +20 -76
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +1 -1
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -1
- package/dist/internal/c4/mining-instructions.js +1 -1
- package/dist/internal/c4/mining-instructions.js.map +1 -1
- package/dist/internal/c4/open-signal.d.ts +1 -1
- package/dist/internal/c4/open-signal.d.ts.map +1 -1
- package/dist/internal/c4/open-signal.js +1 -1
- package/dist/internal/c4/open-signal.js.map +1 -1
- package/dist/internal/c4/pda.d.ts +49 -1
- package/dist/internal/c4/pda.d.ts.map +1 -1
- package/dist/internal/c4/pda.js +122 -17
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts +2 -1
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +36 -72
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +1 -1
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +16 -1
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- package/dist/internal/c4/rewards.d.ts +1 -34
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +23 -170
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -1
- package/dist/internal/c4/runtime-bindings.js +1 -1
- package/dist/internal/c4/runtime-bindings.js.map +1 -1
- package/dist/internal/c4/scan-lifecycle.d.ts +21 -3
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -1
- package/dist/internal/c4/scan-lifecycle.js +35 -44
- package/dist/internal/c4/scan-lifecycle.js.map +1 -1
- package/dist/internal/c4/scan-storage.d.ts +7 -0
- package/dist/internal/c4/scan-storage.d.ts.map +1 -0
- package/dist/internal/c4/scan-storage.js +10 -0
- package/dist/internal/c4/scan-storage.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +3 -13
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +25 -75
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/ship-stats.d.ts.map +1 -1
- package/dist/internal/c4/ship-stats.js +24 -26
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +24 -96
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/stimulant.d.ts +26 -0
- package/dist/internal/c4/stimulant.d.ts.map +1 -0
- package/dist/internal/c4/stimulant.js +36 -0
- package/dist/internal/c4/stimulant.js.map +1 -0
- package/dist/internal/c4/wallet-cargo-cache.js +2 -1
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
- package/dist/internal/c4/world.d.ts +6 -2
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +32 -107
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/fleet-route.d.ts +12 -0
- package/dist/internal/fleet-route.d.ts.map +1 -0
- package/dist/internal/fleet-route.js +11 -0
- package/dist/internal/fleet-route.js.map +1 -0
- package/dist/internal/fleet.d.ts +3 -3
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +1 -5
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +3 -2
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.js +4 -3
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -1
- package/dist/internal/planning/account-state.d.ts +6 -0
- package/dist/internal/planning/account-state.d.ts.map +1 -1
- package/dist/internal/planning/account-state.js +13 -0
- package/dist/internal/planning/account-state.js.map +1 -1
- package/dist/internal/planning/arrival-guards.d.ts +0 -1
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -1
- package/dist/internal/planning/arrival-guards.js +3 -18
- package/dist/internal/planning/arrival-guards.js.map +1 -1
- package/dist/internal/planning/authorization-adapter.d.ts +34 -11
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +116 -12
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/cargo-storage-actions.d.ts +8 -0
- package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/cargo-storage-actions.js +97 -0
- package/dist/internal/planning/cargo-storage-actions.js.map +1 -0
- package/dist/internal/planning/character-access.d.ts +28 -0
- package/dist/internal/planning/character-access.d.ts.map +1 -0
- package/dist/internal/planning/character-access.js +41 -0
- package/dist/internal/planning/character-access.js.map +1 -0
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -1
- package/dist/internal/planning/character-registration-guard.js +2 -1
- package/dist/internal/planning/character-registration-guard.js.map +1 -1
- package/dist/internal/planning/character-registration.d.ts.map +1 -1
- package/dist/internal/planning/character-registration.js +2 -1
- package/dist/internal/planning/character-registration.js.map +1 -1
- package/dist/internal/planning/claim-stake-storage-actions.d.ts +12 -0
- package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/claim-stake-storage-actions.js +63 -0
- package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -0
- package/dist/internal/planning/combat-storage-actions.d.ts +9 -0
- package/dist/internal/planning/combat-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/combat-storage-actions.js +55 -0
- package/dist/internal/planning/combat-storage-actions.js.map +1 -0
- package/dist/internal/planning/crafting-storage-actions.d.ts +7 -0
- package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/crafting-storage-actions.js +64 -0
- package/dist/internal/planning/crafting-storage-actions.js.map +1 -0
- package/dist/internal/planning/currency-cache-guard.d.ts +3 -1
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -1
- package/dist/internal/planning/currency-cache-guard.js +47 -2
- package/dist/internal/planning/currency-cache-guard.js.map +1 -1
- package/dist/internal/planning/democracy-history.d.ts.map +1 -1
- package/dist/internal/planning/democracy-history.js +6 -15
- package/dist/internal/planning/democracy-history.js.map +1 -1
- package/dist/internal/planning/direct-options.d.ts +17 -0
- package/dist/internal/planning/direct-options.d.ts.map +1 -0
- package/dist/internal/planning/direct-options.js +43 -0
- package/dist/internal/planning/direct-options.js.map +1 -0
- package/dist/internal/planning/disband-storage-actions.d.ts +9 -0
- package/dist/internal/planning/disband-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/disband-storage-actions.js +24 -0
- package/dist/internal/planning/disband-storage-actions.js.map +1 -0
- package/dist/internal/planning/faction-enrollment.d.ts +0 -2
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +0 -9
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -1
- package/dist/internal/planning/fleet-arrival.js +10 -8
- package/dist/internal/planning/fleet-arrival.js.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.js +5 -11
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -1
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -1
- package/dist/internal/planning/fleet-creation.js +17 -36
- package/dist/internal/planning/fleet-creation.js.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.js +2 -1
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.d.ts +1 -1
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.js +45 -24
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -1
- package/dist/internal/planning/fleet-disband-guard.d.ts +12 -0
- package/dist/internal/planning/fleet-disband-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-disband-guard.js +54 -0
- package/dist/internal/planning/fleet-disband-guard.js.map +1 -0
- package/dist/internal/planning/fleet-disband.d.ts +36 -0
- package/dist/internal/planning/fleet-disband.d.ts.map +1 -0
- package/dist/internal/planning/fleet-disband.js +82 -0
- package/dist/internal/planning/fleet-disband.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +3 -3
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.js +87 -96
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.js +10 -0
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.js +3 -1
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -1
- package/dist/internal/planning/fleet-docking.d.ts +17 -2
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking.js +83 -62
- package/dist/internal/planning/fleet-docking.js.map +1 -1
- package/dist/internal/planning/fleet-rental.d.ts +5 -0
- package/dist/internal/planning/fleet-rental.d.ts.map +1 -0
- package/dist/internal/planning/fleet-rental.js +9 -0
- package/dist/internal/planning/fleet-rental.js.map +1 -0
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -1
- package/dist/internal/planning/fleet-respawn.js +10 -12
- package/dist/internal/planning/fleet-respawn.js.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.d.ts +2 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.js +94 -64
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/planning/fleet-state.d.ts +25 -0
- package/dist/internal/planning/fleet-state.d.ts.map +1 -0
- package/dist/internal/planning/fleet-state.js +28 -0
- package/dist/internal/planning/fleet-state.js.map +1 -0
- package/dist/internal/planning/governance-fees.d.ts.map +1 -1
- package/dist/internal/planning/governance-fees.js +7 -15
- package/dist/internal/planning/governance-fees.js.map +1 -1
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order-funding.js +4 -2
- package/dist/internal/planning/local-market-order-funding.js.map +1 -1
- package/dist/internal/planning/local-market-order.d.ts +4 -4
- package/dist/internal/planning/local-market-order.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order.js +82 -109
- package/dist/internal/planning/local-market-order.js.map +1 -1
- package/dist/internal/planning/market-storage-actions.d.ts +7 -0
- package/dist/internal/planning/market-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/market-storage-actions.js +71 -0
- package/dist/internal/planning/market-storage-actions.js.map +1 -0
- package/dist/internal/planning/mining-stop.d.ts.map +1 -1
- package/dist/internal/planning/mining-stop.js +2 -1
- package/dist/internal/planning/mining-stop.js.map +1 -1
- package/dist/internal/planning/mining-storage-actions.d.ts +11 -0
- package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/mining-storage-actions.js +57 -0
- package/dist/internal/planning/mining-storage-actions.js.map +1 -0
- package/dist/internal/planning/movement-storage-actions.d.ts +7 -0
- package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/movement-storage-actions.js +38 -0
- package/dist/internal/planning/movement-storage-actions.js.map +1 -0
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -1
- package/dist/internal/planning/movement-xp-guard.js +3 -2
- package/dist/internal/planning/movement-xp-guard.js.map +1 -1
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -1
- package/dist/internal/planning/open-signal-guard.js +2 -1
- package/dist/internal/planning/open-signal-guard.js.map +1 -1
- package/dist/internal/planning/open-signal.d.ts.map +1 -1
- package/dist/internal/planning/open-signal.js +16 -7
- package/dist/internal/planning/open-signal.js.map +1 -1
- package/dist/internal/planning/original-token.d.ts +40 -0
- package/dist/internal/planning/original-token.d.ts.map +1 -0
- package/dist/internal/planning/original-token.js +112 -0
- package/dist/internal/planning/original-token.js.map +1 -0
- package/dist/internal/planning/own-starbase-facts.d.ts +37 -0
- package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -0
- package/dist/internal/planning/own-starbase-facts.js +52 -0
- package/dist/internal/planning/own-starbase-facts.js.map +1 -0
- package/dist/internal/planning/plan-fields.d.ts +60 -0
- package/dist/internal/planning/plan-fields.d.ts.map +1 -0
- package/dist/internal/planning/plan-fields.js +159 -0
- package/dist/internal/planning/plan-fields.js.map +1 -0
- package/dist/internal/planning/plan-guards.d.ts +4 -0
- package/dist/internal/planning/plan-guards.d.ts.map +1 -0
- package/dist/internal/planning/plan-guards.js +184 -0
- package/dist/internal/planning/plan-guards.js.map +1 -0
- package/dist/internal/planning/profile-key.d.ts +13 -0
- package/dist/internal/planning/profile-key.d.ts.map +1 -0
- package/dist/internal/planning/profile-key.js +20 -0
- package/dist/internal/planning/profile-key.js.map +1 -0
- package/dist/internal/planning/profile-storage-funding-guard.d.ts +29 -0
- package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
- package/dist/internal/planning/profile-storage-funding-guard.js +115 -0
- package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
- package/dist/internal/planning/profile-storage-funding.d.ts +46 -0
- package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
- package/dist/internal/planning/profile-storage-funding.js +58 -0
- package/dist/internal/planning/profile-storage-funding.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +4 -1
- package/dist/internal/planning/recipe-state.d.ts.map +1 -1
- package/dist/internal/planning/recipe-state.js +7 -4
- package/dist/internal/planning/recipe-state.js.map +1 -1
- package/dist/internal/planning/region-access.d.ts +30 -0
- package/dist/internal/planning/region-access.d.ts.map +1 -0
- package/dist/internal/planning/region-access.js +94 -0
- package/dist/internal/planning/region-access.js.map +1 -0
- package/dist/internal/planning/rent-catalog.d.ts +37 -0
- package/dist/internal/planning/rent-catalog.d.ts.map +1 -0
- package/dist/internal/planning/rent-catalog.js +165 -0
- package/dist/internal/planning/rent-catalog.js.map +1 -0
- package/dist/internal/planning/research-unlock.d.ts +69 -0
- package/dist/internal/planning/research-unlock.d.ts.map +1 -0
- package/dist/internal/planning/research-unlock.js +287 -0
- package/dist/internal/planning/research-unlock.js.map +1 -0
- package/dist/internal/planning/respawn-guards.js +2 -1
- package/dist/internal/planning/respawn-guards.js.map +1 -1
- package/dist/internal/planning/runtime-guards.d.ts +0 -2
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -1
- package/dist/internal/planning/runtime-guards.js +49 -29
- package/dist/internal/planning/runtime-guards.js.map +1 -1
- package/dist/internal/planning/scan-completion-guard.d.ts +6 -6
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion-guard.js +8 -7
- package/dist/internal/planning/scan-completion-guard.js.map +1 -1
- package/dist/internal/planning/scan-completion.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion.js +9 -7
- package/dist/internal/planning/scan-completion.js.map +1 -1
- package/dist/internal/planning/scan-detect-guard.d.ts +1 -1
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect-guard.js +2 -2
- package/dist/internal/planning/scan-detect-guard.js.map +1 -1
- package/dist/internal/planning/scan-detect.d.ts +1 -1
- package/dist/internal/planning/scan-detect.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect.js +10 -8
- package/dist/internal/planning/scan-detect.js.map +1 -1
- package/dist/internal/planning/scan-idle-scope.d.ts +5 -0
- package/dist/internal/planning/scan-idle-scope.d.ts.map +1 -0
- package/dist/internal/planning/scan-idle-scope.js +5 -0
- package/dist/internal/planning/scan-idle-scope.js.map +1 -0
- package/dist/internal/planning/scan-storage-actions.d.ts +9 -0
- package/dist/internal/planning/scan-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/scan-storage-actions.js +27 -0
- package/dist/internal/planning/scan-storage-actions.js.map +1 -0
- package/dist/internal/planning/ship-import-funding.js +3 -2
- package/dist/internal/planning/ship-import-funding.js.map +1 -1
- package/dist/internal/planning/ship-token.d.ts +1 -5
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +0 -36
- package/dist/internal/planning/ship-token.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
- package/dist/internal/planning/starbase-player-owner.js +17 -0
- package/dist/internal/planning/starbase-player-owner.js.map +1 -0
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts +7 -0
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-player-recovery-guard.js +39 -0
- package/dist/internal/planning/starbase-player-recovery-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system-guard.js +2 -1
- package/dist/internal/planning/starbase-system-guard.js.map +1 -1
- package/dist/internal/planning/starbase-system.d.ts +5 -2
- package/dist/internal/planning/starbase-system.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system.js +6 -3
- package/dist/internal/planning/starbase-system.js.map +1 -1
- package/dist/internal/planning/storage-action-readers.d.ts +10 -0
- package/dist/internal/planning/storage-action-readers.d.ts.map +1 -0
- package/dist/internal/planning/storage-action-readers.js +58 -0
- package/dist/internal/planning/storage-action-readers.js.map +1 -0
- package/dist/internal/planning/storage-actions.d.ts +89 -0
- package/dist/internal/planning/storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/storage-actions.js +183 -0
- package/dist/internal/planning/storage-actions.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -1
- package/dist/internal/planning/token-mint.js +2 -1
- package/dist/internal/planning/token-mint.js.map +1 -1
- package/dist/internal/planning/wallet-starbase.d.ts +34 -0
- package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
- package/dist/internal/planning/wallet-starbase.js +39 -0
- package/dist/internal/planning/wallet-starbase.js.map +1 -0
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -1
- package/dist/internal/planning/xp-runtime.js +16 -20
- package/dist/internal/planning/xp-runtime.js.map +1 -1
- package/dist/internal/read-meta.d.ts +12 -0
- package/dist/internal/read-meta.d.ts.map +1 -1
- package/dist/internal/read-meta.js +10 -0
- package/dist/internal/read-meta.js.map +1 -1
- package/dist/loyalty/actions/index.d.ts +1 -1
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +12 -43
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts +4 -0
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +19 -27
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +1 -1
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +138 -176
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +4 -2
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -1
- package/dist/markets/actions/trade-faction-market.js +59 -39
- package/dist/markets/actions/trade-faction-market.js.map +1 -1
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +3 -11
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +1 -1
- package/dist/mining/actions/index.d.ts.map +1 -1
- package/dist/mining/actions/index.js +81 -44
- package/dist/mining/actions/index.js.map +1 -1
- package/dist/mining/estimate-input.d.ts +103 -0
- package/dist/mining/estimate-input.d.ts.map +1 -0
- package/dist/mining/estimate-input.js +86 -0
- package/dist/mining/estimate-input.js.map +1 -0
- package/dist/mining/index.d.ts +1 -0
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +4 -11
- package/dist/mining/index.js.map +1 -1
- package/dist/planning/assembly.d.ts +1 -1
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +6 -30
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +1 -0
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +149 -45
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +70 -7
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +28 -1141
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-construction.d.ts +25 -0
- package/dist/planning/plan-construction.d.ts.map +1 -0
- package/dist/planning/plan-construction.js +143 -0
- package/dist/planning/plan-construction.js.map +1 -0
- package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
- package/dist/planning/plan-sequence-execution.js +1 -11
- package/dist/planning/plan-sequence-execution.js.map +1 -1
- package/dist/planning/plan-validation.d.ts +17 -0
- package/dist/planning/plan-validation.d.ts.map +1 -0
- package/dist/planning/plan-validation.js +147 -0
- package/dist/planning/plan-validation.js.map +1 -0
- package/dist/registry/cargo.d.ts +2 -2
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +3 -4
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/definition-section-snapshot.d.ts +1 -1
- package/dist/registry/definition-section-snapshot.d.ts.map +1 -1
- package/dist/registry/definition-section-snapshot.js +10 -3
- package/dist/registry/definition-section-snapshot.js.map +1 -1
- package/dist/registry/index.d.ts +31 -4
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +226 -227
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +4 -2
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/ship-stats-snapshot.d.ts.map +1 -1
- package/dist/registry/ship-stats-snapshot.js +19 -5
- package/dist/registry/ship-stats-snapshot.js.map +1 -1
- package/dist/registry/ships.js +1 -1
- package/dist/registry/ships.js.map +1 -1
- package/dist/rewards/index.d.ts +11 -5
- package/dist/rewards/index.d.ts.map +1 -1
- package/dist/rewards/index.js +10 -21
- package/dist/rewards/index.js.map +1 -1
- package/dist/scanning/actions/index.d.ts +1 -1
- package/dist/scanning/actions/index.d.ts.map +1 -1
- package/dist/scanning/actions/index.js +38 -8
- package/dist/scanning/actions/index.js.map +1 -1
- package/dist/scanning/index.d.ts +6 -11
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +7 -15
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/odds.d.ts +5 -1
- package/dist/scanning/odds.d.ts.map +1 -1
- package/dist/scanning/odds.js.map +1 -1
- package/dist/scanning/signals.d.ts +6 -1
- package/dist/scanning/signals.d.ts.map +1 -1
- package/dist/scanning/signals.js +3 -1
- package/dist/scanning/signals.js.map +1 -1
- package/dist/starbases/actions/index.d.ts +49 -4
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +120 -69
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/starbases/index.d.ts +18 -0
- package/dist/starbases/index.d.ts.map +1 -1
- package/dist/starbases/index.js +24 -11
- package/dist/starbases/index.js.map +1 -1
- package/dist/world/index.d.ts +87 -13
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +88 -22
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +49 -40
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -1
- package/dist/world/planet-claim-stake-plots.js +47 -40
- package/dist/world/planet-claim-stake-plots.js.map +1 -1
- package/dist/world/starbase-status.d.ts +54 -13
- package/dist/world/starbase-status.d.ts.map +1 -1
- package/dist/world/starbase-status.js +65 -0
- package/dist/world/starbase-status.js.map +1 -1
- package/package.json +2 -2
- package/dist/internal/c4/faction-adapter.d.ts +0 -12
- package/dist/internal/c4/faction-adapter.d.ts.map +0 -1
- package/dist/internal/c4/faction-adapter.js +0 -52
- package/dist/internal/c4/faction-adapter.js.map +0 -1
- package/dist/internal/planning/movement-character.d.ts +0 -7
- package/dist/internal/planning/movement-character.d.ts.map +0 -1
- package/dist/internal/planning/movement-character.js +0 -41
- package/dist/internal/planning/movement-character.js.map +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { SageSdkError } from '../../client/errors.js';
|
|
2
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
3
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
4
|
+
import { deriveFleetAddress, fleetAccountDefinition, } from '../../internal/c4/fleet.js';
|
|
5
|
+
import { syncFleetWithGameInstruction } from '../../internal/c4/fleet-sync.js';
|
|
6
|
+
import { buildPlannerPlan } from '../../planning/plan-construction.js';
|
|
7
|
+
import { readFreshGameShipDefinitionSequence } from '../../registry/ships.js';
|
|
8
|
+
/** Plans the permissionless Fleet sync with the configured Game. Verified
|
|
9
|
+
* against the program's behaviour: it rebuilds the Fleet's ship counts and
|
|
10
|
+
* stats from the current ship definitions and caps its AP, SP, HP and pending
|
|
11
|
+
* repair at the new maxima, in any Fleet state. Run it, confirm it, then
|
|
12
|
+
* replan an action that refuses a Fleet built under older ship definitions,
|
|
13
|
+
* such as ship assembly, crew transfer or signal detection.
|
|
14
|
+
* `deriveFleetCompositionStats` projects the rebuilt stats beforehand.
|
|
15
|
+
*
|
|
16
|
+
* Only the Game and the Fleet are involved: no Profile key signs it and no
|
|
17
|
+
* storage is funded, so any fee payer can submit it for any Fleet. A Fleet
|
|
18
|
+
* already on the current definitions only has its pools capped. Simulate
|
|
19
|
+
* before signing, then read the Fleet back after confirmation.
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
23
|
+
* const plan = await planSyncFleetWithGame(ctx, fleet);
|
|
24
|
+
* console.log(plan.describe());
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export async function planSyncFleetWithGame(ctx, fleet) {
|
|
28
|
+
const game = requireGameAddress(ctx);
|
|
29
|
+
const [[raw], current] = await Promise.all([
|
|
30
|
+
readContextRawAccounts(ctx, [fleet]),
|
|
31
|
+
readFreshGameShipDefinitionSequence(ctx),
|
|
32
|
+
]);
|
|
33
|
+
if (!raw || raw.executable)
|
|
34
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'The selected Fleet is missing or executable. Refresh a valid Fleet and replan the sync.', { address: fleet });
|
|
35
|
+
const data = fleetAccountDefinition.decode(raw);
|
|
36
|
+
if (data.game !== game || (await deriveFleetAddress(data)) !== fleet)
|
|
37
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Fleet ${fleet} is not a canonical Fleet of the configured Game ${game}. Select a Fleet of this Game and replan the sync.`, { address: fleet });
|
|
38
|
+
const sequence = data.shipDefinitionsSeqId === current
|
|
39
|
+
? `is already on ship definition sequence ${String(current)}, so only its AP, SP, HP and pending repair are capped at their maxima`
|
|
40
|
+
: `moves from ship definition sequence ${String(data.shipDefinitionsSeqId)} to ${String(current)}: its ship counts and stats are rebuilt from the current definitions, and its AP, SP, HP and pending repair are capped at the new maxima`;
|
|
41
|
+
const summary = `Sync Fleet ${data.name} (${fleet}) with Game ${game}. The Fleet ${sequence}. No Profile key signs it and no storage is funded; the fee payer is the only signer. Simulate before signing; the chain stays authoritative.`;
|
|
42
|
+
return buildPlannerPlan({
|
|
43
|
+
kind: 'fleets.sync-fleet-with-game',
|
|
44
|
+
summary,
|
|
45
|
+
preconditions: [],
|
|
46
|
+
steps: [
|
|
47
|
+
{
|
|
48
|
+
describes: summary,
|
|
49
|
+
instruction: syncFleetWithGameInstruction(game, fleet),
|
|
50
|
+
signers: [],
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/fleets/actions/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAgB,EAChB,KAAc;IAEd,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,sBAAsB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,mCAAmC,CAAC,GAAG,CAAC;KACzC,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU;QACxB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,yFAAyF,EACzF,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;IACJ,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK;QAClE,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,SAAS,KAAK,oDAAoD,IAAI,oDAAoD,EAC1H,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;IACJ,MAAM,QAAQ,GACZ,IAAI,CAAC,oBAAoB,KAAK,OAAO;QACnC,CAAC,CAAC,0CAA0C,MAAM,CAAC,OAAO,CAAC,wEAAwE;QACnI,CAAC,CAAC,uCAAuC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,0IAA0I,CAAC;IAC/O,MAAM,OAAO,GAAG,cAAc,IAAI,CAAC,IAAI,KAAK,KAAK,eAAe,IAAI,eAAe,QAAQ,+IAA+I,CAAC;IAC3O,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,6BAA6B;QACnC,OAAO;QACP,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,4BAA4B,CAAC,IAAI,EAAE,KAAK,CAAC;gBACtD,OAAO,EAAE,EAAE;aACZ;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { FleetShipCountsData, FleetStatsData } from '../internal/c4/fleet.js';
|
|
2
|
+
import type { ShipDefinitionSummary } from '../registry/index.js';
|
|
3
|
+
/** Inputs for projecting a Fleet's stored stats after ship assembly. Pass the
|
|
4
|
+
* whole loaded ships section (`listShipConfigurations`), the current Fleet
|
|
5
|
+
* snapshot (omit it for a newly created, empty Fleet) and the ships to add, one
|
|
6
|
+
* entry per add-ship instruction in submission order, as successive
|
|
7
|
+
* `planAddShipToFleet` Plans would submit them.
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* declare const ctx: SageContext, fleet: FleetSnapshot;
|
|
11
|
+
* const input: FleetCompositionStatsInput = {
|
|
12
|
+
* definitions: await listShipConfigurations(ctx),
|
|
13
|
+
* fleet,
|
|
14
|
+
* additions: [{ shipId: 12, amount: 1n }],
|
|
15
|
+
* };
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export interface FleetCompositionStatsInput {
|
|
19
|
+
readonly definitions: readonly Pick<ShipDefinitionSummary, 'id' | 'sizeClass' | 'stats' | 'definitionSequenceId'>[];
|
|
20
|
+
/** A Fleet snapshot, or the same fields from raw Fleet data with
|
|
21
|
+
* `fleetShips` mapped to `{ id: shipId, quantity }`. */
|
|
22
|
+
readonly fleet?: {
|
|
23
|
+
readonly ships: readonly {
|
|
24
|
+
readonly id: number;
|
|
25
|
+
readonly quantity: bigint;
|
|
26
|
+
}[];
|
|
27
|
+
readonly shipCounts: FleetShipCountsData;
|
|
28
|
+
readonly stats: FleetStatsData;
|
|
29
|
+
readonly shipDefinitionsSeqId: number;
|
|
30
|
+
};
|
|
31
|
+
readonly additions: readonly {
|
|
32
|
+
readonly shipId: number;
|
|
33
|
+
readonly amount: bigint;
|
|
34
|
+
}[];
|
|
35
|
+
}
|
|
36
|
+
/** Projected stored Fleet stats after the additions, in the same units as a
|
|
37
|
+
* Fleet's `stats`. `route` says which program path produced them: `new-fleet`
|
|
38
|
+
* starts from an empty Fleet, `stored` builds on the Fleet's stored stats, and
|
|
39
|
+
* `resynchronized` first rebuilds a Fleet on an older ship-definition sequence
|
|
40
|
+
* from the current definitions, as the program does before adding ships.
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* declare const projected: FleetCompositionStats;
|
|
44
|
+
* console.log(projected.route, projected.fleetPoints, projected.stats.cargo.miningRate.value);
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export interface FleetCompositionStats {
|
|
48
|
+
readonly route: 'new-fleet' | 'stored' | 'resynchronized';
|
|
49
|
+
readonly definitionSequenceId: number;
|
|
50
|
+
readonly ships: readonly {
|
|
51
|
+
readonly id: number;
|
|
52
|
+
readonly quantity: bigint;
|
|
53
|
+
}[];
|
|
54
|
+
readonly shipCounts: FleetShipCountsData;
|
|
55
|
+
/** XXS 1, XS 4, Small 9, Medium 16, Large 25, Capital 36, Commander 49, Titan 128. */
|
|
56
|
+
readonly fleetPoints: number;
|
|
57
|
+
readonly stats: FleetStatsData;
|
|
58
|
+
toJSON(): unknown;
|
|
59
|
+
}
|
|
60
|
+
/** Projects the stats a Fleet stores after ship assembly, exactly as the program
|
|
61
|
+
* aggregates them; verified against the program's behaviour. Capacities, Fuel
|
|
62
|
+
* and upkeep rates, mining and load rates, crew, AP/HP/SP and damage are added
|
|
63
|
+
* and capped. Subwarp, warp and lane speeds take the lowest value. Maximum warp
|
|
64
|
+
* distance, warp cooldown, warp spool, shield break delay, damage variance,
|
|
65
|
+
* respawn times and scan cooldown take the highest. Stealth, hit, aim and
|
|
66
|
+
* critical values are truncated per-ship averages, which the program rescales
|
|
67
|
+
* on every addition, so one addition of two ships can differ from two
|
|
68
|
+
* additions of one. Repair cost (weighted by hull points) and repair efficiency
|
|
69
|
+
* (weighted by repair ability) are recomputed over every ship aboard.
|
|
70
|
+
*
|
|
71
|
+
* A Fleet on the definitions' sequence builds on its stored stats and counts.
|
|
72
|
+
* One on an older sequence is first rebuilt from the current definitions of
|
|
73
|
+
* the ships aboard, as the program does before adding ships. A missing ship
|
|
74
|
+
* definition, mixed definition sequences, an amount outside 1n-255n or an
|
|
75
|
+
* overflow the program refuses throw `InvalidDerivationInputError`; other
|
|
76
|
+
* inputs are trusted as typed.
|
|
77
|
+
*
|
|
78
|
+
* Character research does not change stored stats: pass the Character's raw
|
|
79
|
+
* speed and cooldown modifiers to the travel helpers at use time. This is not
|
|
80
|
+
* an eligibility check (`planAddShipToFleet` applies ship size, research tags,
|
|
81
|
+
* Fleet size and formation limits), and checks no funding, entitlement or crew
|
|
82
|
+
* provisioning. Current AP, SP and HP are not projected. Read the Fleet back
|
|
83
|
+
* after confirmation; the chain stays authoritative. Requalify after program
|
|
84
|
+
* changes.
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* declare const ctx: SageContext, fleet: FleetSnapshot, character: CharacterSnapshot;
|
|
88
|
+
* const projected = deriveFleetCompositionStats({
|
|
89
|
+
* definitions: await listShipConfigurations(ctx),
|
|
90
|
+
* fleet,
|
|
91
|
+
* additions: [{ shipId: 12, amount: 1n }],
|
|
92
|
+
* });
|
|
93
|
+
* const travel = deriveFleetTravelProfile({
|
|
94
|
+
* stats: projected.stats,
|
|
95
|
+
* subwarpSpeedModifierRaw: character.modifiers.values.subwarpSpeedModifierRaw,
|
|
96
|
+
* });
|
|
97
|
+
* console.log(projected.stats.cargo.miningRate.value, travel.subwarp?.secondsPerAu);
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare function deriveFleetCompositionStats(input: FleetCompositionStatsInput): FleetCompositionStats;
|
|
101
|
+
//# sourceMappingURL=composition-stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition-stats.d.ts","sourceRoot":"","sources":["../../src/fleets/composition-stats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,IAAI,CACjC,qBAAqB,EACrB,IAAI,GAAG,WAAW,GAAG,OAAO,GAAG,sBAAsB,CACtD,EAAE,CAAC;IACJ;4DACwD;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,KAAK,EAAE,SAAS;YACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC3B,EAAE,CAAC;QACJ,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;QACzC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;QAC/B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;KACvC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;CACL;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IAC1D,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,EAAE,CAAC;IACJ,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,sFAAsF;IACtF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,MAAM,IAAI,OAAO,CAAC;CACnB;AA6OD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,GAChC,qBAAqB,CAwGvB"}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
import { InvalidDerivationInputError } from '../client/index.js';
|
|
2
|
+
import { fleetCapacityPoints } from '../internal/c4/fleet-points.js';
|
|
3
|
+
import { attachJsonSerialization } from '../internal/json.js';
|
|
4
|
+
import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
|
|
5
|
+
const U32 = (1n << 32n) - 1n;
|
|
6
|
+
const CONSUMPTION_U26F6 = 50000000n << 6n;
|
|
7
|
+
const sum = (cap) => ({ kind: 'sum', cap });
|
|
8
|
+
const max = { kind: 'max' };
|
|
9
|
+
const speed = { kind: 'speed' };
|
|
10
|
+
const average = { kind: 'average' };
|
|
11
|
+
const checked = (maximum, minimum = 0n) => ({
|
|
12
|
+
kind: 'checked',
|
|
13
|
+
min: minimum,
|
|
14
|
+
max: maximum,
|
|
15
|
+
});
|
|
16
|
+
const damage = (name) => [
|
|
17
|
+
[`damage${name}`, sum(1000000n), 'number'],
|
|
18
|
+
[`damage${name}Variance`, max, 6],
|
|
19
|
+
];
|
|
20
|
+
// Verified against the program's ship-assembly behaviour.
|
|
21
|
+
const FIELDS = {
|
|
22
|
+
movement: [
|
|
23
|
+
['subwarpSpeed', speed, 16],
|
|
24
|
+
['warpSpeed', speed, 16],
|
|
25
|
+
['warpLaneSpeed', speed, 16],
|
|
26
|
+
['maxWarpDistance', max, 8],
|
|
27
|
+
['warpCoolDownSeconds', max, 'number'],
|
|
28
|
+
['subwarpFuelConsumptionRate', sum(CONSUMPTION_U26F6), 6],
|
|
29
|
+
['warpFuelConsumptionRate', sum(CONSUMPTION_U26F6), 6],
|
|
30
|
+
['planetExitFuelAmount', sum(50000000n), 'number'],
|
|
31
|
+
['warpXpRate', sum(U32), 16],
|
|
32
|
+
['subwarpXpRate', sum(U32), 16],
|
|
33
|
+
],
|
|
34
|
+
cargo: [
|
|
35
|
+
['cargoCapacity', sum(100000000n), 'bigint'],
|
|
36
|
+
['fuelCapacity', sum(100000000n), 'bigint'],
|
|
37
|
+
['ammoCapacity', sum(1000000000n), 'bigint'],
|
|
38
|
+
['ammoConsumptionRate', sum(U32), 14],
|
|
39
|
+
['foodConsumptionRate', sum(U32), 14],
|
|
40
|
+
['miningRate', sum(U32), 14],
|
|
41
|
+
['loadRate', sum(CONSUMPTION_U26F6), 6],
|
|
42
|
+
],
|
|
43
|
+
combat: [
|
|
44
|
+
['ap', sum(1000000n), 'number'],
|
|
45
|
+
['hp', sum(1000000n), 'number'],
|
|
46
|
+
['sp', sum(1000000n), 'number'],
|
|
47
|
+
['ammoConsumptionRate', sum(CONSUMPTION_U26F6), 6],
|
|
48
|
+
['apRegenRate', sum(CONSUMPTION_U26F6), 6],
|
|
49
|
+
['shieldRechargeRate', sum(CONSUMPTION_U26F6), 6],
|
|
50
|
+
['repairRate', sum(CONSUMPTION_U26F6), 6],
|
|
51
|
+
['repairAbility', sum(CONSUMPTION_U26F6), 6],
|
|
52
|
+
['repairEfficiency', { kind: 'repairEfficiency' }, 6],
|
|
53
|
+
['repairCost', { kind: 'repairCost' }, 6],
|
|
54
|
+
['lootRate', sum(1000000n << 6n), 6],
|
|
55
|
+
['shieldBreakDelaySeconds', max, 'number'],
|
|
56
|
+
['warpSpoolTimeSeconds', max, 'number'],
|
|
57
|
+
...[
|
|
58
|
+
'Kinetic',
|
|
59
|
+
'Energy',
|
|
60
|
+
'Emp',
|
|
61
|
+
'Superchill',
|
|
62
|
+
'Shockwave',
|
|
63
|
+
'Graygoo',
|
|
64
|
+
'Heat',
|
|
65
|
+
'Bomb',
|
|
66
|
+
].flatMap(damage),
|
|
67
|
+
...[
|
|
68
|
+
'Decoy',
|
|
69
|
+
'EnergyCapacitor',
|
|
70
|
+
'FireSuppressor',
|
|
71
|
+
'Flare',
|
|
72
|
+
'HealingNanobots',
|
|
73
|
+
'Mine',
|
|
74
|
+
'NegativeRemPlating',
|
|
75
|
+
'WarmingPlates',
|
|
76
|
+
'FaradayShielding',
|
|
77
|
+
].map((name) => [`counter${name}`, sum(1000000n), 'number']),
|
|
78
|
+
['stealthPower', average, 6],
|
|
79
|
+
['hitChance', average, 6],
|
|
80
|
+
['aimAbility', average, 6],
|
|
81
|
+
['critChance', average, 6],
|
|
82
|
+
['critMultiplier', average, 6],
|
|
83
|
+
['fuelConsumptionRate', sum(CONSUMPTION_U26F6), 6],
|
|
84
|
+
['missileDamage', sum(CONSUMPTION_U26F6), 6],
|
|
85
|
+
['missileFireRate', sum(CONSUMPTION_U26F6), 6],
|
|
86
|
+
],
|
|
87
|
+
misc: [
|
|
88
|
+
['requiredCrew', checked(0xffffn), 'number'],
|
|
89
|
+
['passengerCapacity', checked(0xffffn), 'number'],
|
|
90
|
+
['respawnTimeWithoutFeeSeconds', max, 'number'],
|
|
91
|
+
['respawnTimeWithFeeSeconds', max, 'number'],
|
|
92
|
+
['recoveryFeeRaw', checked((1n << 64n) - 1n), 'bigint'],
|
|
93
|
+
['scanCoolDownSeconds', max, 16],
|
|
94
|
+
['scanPower', sum(U32), 6],
|
|
95
|
+
['scanCost', sum(50000000n), 'number'],
|
|
96
|
+
['scanBonus', checked((1n << 31n) - 1n, -(1n << 31n)), 16],
|
|
97
|
+
['lpValue', checked(U32), 'number'],
|
|
98
|
+
['medallionValue', checked(U32), 'number'],
|
|
99
|
+
['xpValue', sum(U32), 16],
|
|
100
|
+
],
|
|
101
|
+
};
|
|
102
|
+
const GROUPS = Object.keys(FIELDS);
|
|
103
|
+
const SIZE_KEYS = {
|
|
104
|
+
'xx-small': 'xxSmall',
|
|
105
|
+
'x-small': 'xSmall',
|
|
106
|
+
small: 'small',
|
|
107
|
+
medium: 'medium',
|
|
108
|
+
large: 'large',
|
|
109
|
+
capital: 'capital',
|
|
110
|
+
commander: 'commander',
|
|
111
|
+
titan: 'titan',
|
|
112
|
+
};
|
|
113
|
+
function invalid(field, value) {
|
|
114
|
+
throw new InvalidDerivationInputError(field, value, 'Pass one current ships section from listShipConfigurations and amounts of 1n-255n; the program refuses this addition.');
|
|
115
|
+
}
|
|
116
|
+
function readRaw(stats) {
|
|
117
|
+
const raw = {};
|
|
118
|
+
for (const group of GROUPS) {
|
|
119
|
+
const translated = stats[group];
|
|
120
|
+
raw[group] = Object.fromEntries(FIELDS[group].map(([name]) => {
|
|
121
|
+
const value = translated[name];
|
|
122
|
+
return [name, typeof value === 'object' ? value.raw : BigInt(value)];
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
return raw;
|
|
126
|
+
}
|
|
127
|
+
function emptyRaw() {
|
|
128
|
+
const raw = {};
|
|
129
|
+
for (const group of GROUPS)
|
|
130
|
+
raw[group] = Object.fromEntries(FIELDS[group].map(([name]) => [name, 0n]));
|
|
131
|
+
return raw;
|
|
132
|
+
}
|
|
133
|
+
function combine(target, ship, amount) {
|
|
134
|
+
for (const group of GROUPS)
|
|
135
|
+
for (const [name, rule] of FIELDS[group]) {
|
|
136
|
+
const current = target[group][name];
|
|
137
|
+
const incoming = ship[group][name];
|
|
138
|
+
let next;
|
|
139
|
+
switch (rule.kind) {
|
|
140
|
+
case 'sum':
|
|
141
|
+
next = minimum(current + minimum(incoming * amount, rule.cap), rule.cap);
|
|
142
|
+
break;
|
|
143
|
+
case 'average':
|
|
144
|
+
next = minimum(current + minimum(incoming * amount, CONSUMPTION_U26F6), CONSUMPTION_U26F6);
|
|
145
|
+
break;
|
|
146
|
+
case 'checked': {
|
|
147
|
+
const scaled = incoming * amount;
|
|
148
|
+
next = current + scaled;
|
|
149
|
+
for (const value of [scaled, next])
|
|
150
|
+
if (value < rule.min || value > rule.max)
|
|
151
|
+
invalid(`${group}.${name}`, value);
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case 'speed':
|
|
155
|
+
next = current === 0n ? incoming : minimum(current, incoming);
|
|
156
|
+
break;
|
|
157
|
+
default:
|
|
158
|
+
next = current > incoming ? current : incoming;
|
|
159
|
+
}
|
|
160
|
+
target[group][name] = next;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function scaleAverages(stats, factor, divide) {
|
|
164
|
+
if (factor <= 1n)
|
|
165
|
+
return;
|
|
166
|
+
for (const [name, rule] of FIELDS.combat)
|
|
167
|
+
if (rule.kind === 'average') {
|
|
168
|
+
const value = stats.combat[name];
|
|
169
|
+
stats.combat[name] = divide
|
|
170
|
+
? value / factor
|
|
171
|
+
: minimum(value * factor, CONSUMPTION_U26F6);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function minimum(left, right) {
|
|
175
|
+
return left < right ? left : right;
|
|
176
|
+
}
|
|
177
|
+
function writeStats(raw) {
|
|
178
|
+
const stats = {};
|
|
179
|
+
for (const group of GROUPS) {
|
|
180
|
+
const values = {};
|
|
181
|
+
for (const [name, , shape] of FIELDS[group]) {
|
|
182
|
+
const value = raw[group][name];
|
|
183
|
+
values[name] =
|
|
184
|
+
shape === 'bigint'
|
|
185
|
+
? value
|
|
186
|
+
: shape === 'number'
|
|
187
|
+
? Number(value)
|
|
188
|
+
: { raw: value, value: Number(value) / 2 ** shape };
|
|
189
|
+
}
|
|
190
|
+
stats[group] = values;
|
|
191
|
+
}
|
|
192
|
+
stats.misc.recoveryFeeAtlas = Number(raw.misc.recoveryFeeRaw) / 100_000_000;
|
|
193
|
+
return stats;
|
|
194
|
+
}
|
|
195
|
+
/** Projects the stats a Fleet stores after ship assembly, exactly as the program
|
|
196
|
+
* aggregates them; verified against the program's behaviour. Capacities, Fuel
|
|
197
|
+
* and upkeep rates, mining and load rates, crew, AP/HP/SP and damage are added
|
|
198
|
+
* and capped. Subwarp, warp and lane speeds take the lowest value. Maximum warp
|
|
199
|
+
* distance, warp cooldown, warp spool, shield break delay, damage variance,
|
|
200
|
+
* respawn times and scan cooldown take the highest. Stealth, hit, aim and
|
|
201
|
+
* critical values are truncated per-ship averages, which the program rescales
|
|
202
|
+
* on every addition, so one addition of two ships can differ from two
|
|
203
|
+
* additions of one. Repair cost (weighted by hull points) and repair efficiency
|
|
204
|
+
* (weighted by repair ability) are recomputed over every ship aboard.
|
|
205
|
+
*
|
|
206
|
+
* A Fleet on the definitions' sequence builds on its stored stats and counts.
|
|
207
|
+
* One on an older sequence is first rebuilt from the current definitions of
|
|
208
|
+
* the ships aboard, as the program does before adding ships. A missing ship
|
|
209
|
+
* definition, mixed definition sequences, an amount outside 1n-255n or an
|
|
210
|
+
* overflow the program refuses throw `InvalidDerivationInputError`; other
|
|
211
|
+
* inputs are trusted as typed.
|
|
212
|
+
*
|
|
213
|
+
* Character research does not change stored stats: pass the Character's raw
|
|
214
|
+
* speed and cooldown modifiers to the travel helpers at use time. This is not
|
|
215
|
+
* an eligibility check (`planAddShipToFleet` applies ship size, research tags,
|
|
216
|
+
* Fleet size and formation limits), and checks no funding, entitlement or crew
|
|
217
|
+
* provisioning. Current AP, SP and HP are not projected. Read the Fleet back
|
|
218
|
+
* after confirmation; the chain stays authoritative. Requalify after program
|
|
219
|
+
* changes.
|
|
220
|
+
* @example
|
|
221
|
+
* ```ts
|
|
222
|
+
* declare const ctx: SageContext, fleet: FleetSnapshot, character: CharacterSnapshot;
|
|
223
|
+
* const projected = deriveFleetCompositionStats({
|
|
224
|
+
* definitions: await listShipConfigurations(ctx),
|
|
225
|
+
* fleet,
|
|
226
|
+
* additions: [{ shipId: 12, amount: 1n }],
|
|
227
|
+
* });
|
|
228
|
+
* const travel = deriveFleetTravelProfile({
|
|
229
|
+
* stats: projected.stats,
|
|
230
|
+
* subwarpSpeedModifierRaw: character.modifiers.values.subwarpSpeedModifierRaw,
|
|
231
|
+
* });
|
|
232
|
+
* console.log(projected.stats.cargo.miningRate.value, travel.subwarp?.secondsPerAu);
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
export function deriveFleetCompositionStats(input) {
|
|
236
|
+
const definitions = new Map();
|
|
237
|
+
let sequence;
|
|
238
|
+
for (const definition of input.definitions) {
|
|
239
|
+
sequence ??= definition.definitionSequenceId;
|
|
240
|
+
if (definition.definitionSequenceId !== sequence)
|
|
241
|
+
invalid('Ship definition sequence', definition.definitionSequenceId);
|
|
242
|
+
definitions.set(definition.id, definition);
|
|
243
|
+
}
|
|
244
|
+
if (sequence === undefined)
|
|
245
|
+
invalid('Ship definitions', 0);
|
|
246
|
+
const rawDefinitions = new Map();
|
|
247
|
+
const lookup = (id) => {
|
|
248
|
+
const definition = definitions.get(id);
|
|
249
|
+
if (definition === undefined)
|
|
250
|
+
invalid('Ship definition id', id);
|
|
251
|
+
let raw = rawDefinitions.get(id);
|
|
252
|
+
if (raw === undefined) {
|
|
253
|
+
raw = readRaw(definition.stats);
|
|
254
|
+
rawDefinitions.set(id, raw);
|
|
255
|
+
}
|
|
256
|
+
return { definition, raw };
|
|
257
|
+
};
|
|
258
|
+
const fleet = input.fleet;
|
|
259
|
+
const ships = new Map(fleet?.ships.map(({ id, quantity }) => [id, quantity]));
|
|
260
|
+
const counts = {
|
|
261
|
+
total: 0n,
|
|
262
|
+
xxSmall: 0n,
|
|
263
|
+
xSmall: 0n,
|
|
264
|
+
small: 0n,
|
|
265
|
+
medium: 0n,
|
|
266
|
+
large: 0n,
|
|
267
|
+
capital: 0n,
|
|
268
|
+
commander: 0n,
|
|
269
|
+
titan: 0n,
|
|
270
|
+
};
|
|
271
|
+
const addCounts = (definition, amount) => {
|
|
272
|
+
const key = SIZE_KEYS[definition.sizeClass];
|
|
273
|
+
counts[key] += amount;
|
|
274
|
+
counts.total += amount;
|
|
275
|
+
if (counts[key] > 0xffffn)
|
|
276
|
+
invalid(`shipCounts.${key}`, counts[key]);
|
|
277
|
+
};
|
|
278
|
+
let route;
|
|
279
|
+
let stats;
|
|
280
|
+
if (fleet === undefined) {
|
|
281
|
+
route = 'new-fleet';
|
|
282
|
+
stats = emptyRaw();
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
stats = readRaw(fleet.stats);
|
|
286
|
+
for (const key of Object.keys(counts))
|
|
287
|
+
counts[key] = BigInt(fleet.shipCounts[key]);
|
|
288
|
+
if (fleet.shipDefinitionsSeqId === sequence)
|
|
289
|
+
route = 'stored';
|
|
290
|
+
else {
|
|
291
|
+
route = 'resynchronized';
|
|
292
|
+
if (ships.size > 0) {
|
|
293
|
+
stats = emptyRaw();
|
|
294
|
+
for (const key of Object.keys(counts))
|
|
295
|
+
counts[key] = 0n;
|
|
296
|
+
for (const [id, quantity] of ships) {
|
|
297
|
+
const { definition, raw } = lookup(id);
|
|
298
|
+
addCounts(definition, quantity);
|
|
299
|
+
combine(stats, raw, quantity);
|
|
300
|
+
}
|
|
301
|
+
scaleAverages(stats, counts.total, true);
|
|
302
|
+
setRepair(stats, ships, lookup);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
for (const { shipId, amount } of input.additions) {
|
|
307
|
+
if (amount < 1n || amount > 255n)
|
|
308
|
+
invalid('Addition amount', amount);
|
|
309
|
+
const { definition, raw } = lookup(shipId);
|
|
310
|
+
scaleAverages(stats, counts.total, false);
|
|
311
|
+
combine(stats, raw, amount);
|
|
312
|
+
addCounts(definition, amount);
|
|
313
|
+
ships.set(shipId, (ships.get(shipId) ?? 0n) + amount);
|
|
314
|
+
scaleAverages(stats, counts.total, true);
|
|
315
|
+
setRepair(stats, ships, lookup);
|
|
316
|
+
}
|
|
317
|
+
const shipCounts = Object.fromEntries(Object.entries(counts).map(([key, value]) => [key, Number(value)]));
|
|
318
|
+
return freezeResolvedSnapshot(attachJsonSerialization({
|
|
319
|
+
route,
|
|
320
|
+
definitionSequenceId: sequence,
|
|
321
|
+
ships: [...ships].map(([id, quantity]) => ({ id, quantity })),
|
|
322
|
+
shipCounts,
|
|
323
|
+
fleetPoints: fleetCapacityPoints([
|
|
324
|
+
shipCounts.xxSmall,
|
|
325
|
+
shipCounts.xSmall,
|
|
326
|
+
shipCounts.small,
|
|
327
|
+
shipCounts.medium,
|
|
328
|
+
shipCounts.large,
|
|
329
|
+
shipCounts.capital,
|
|
330
|
+
shipCounts.commander,
|
|
331
|
+
shipCounts.titan,
|
|
332
|
+
]),
|
|
333
|
+
stats: writeStats(stats),
|
|
334
|
+
}));
|
|
335
|
+
}
|
|
336
|
+
function setRepair(stats, ships, lookup) {
|
|
337
|
+
let costWeighted = 0n;
|
|
338
|
+
let hullWeight = 0n;
|
|
339
|
+
let efficiencyWeighted = 0n;
|
|
340
|
+
let abilityWeight = 0n;
|
|
341
|
+
for (const [id, quantity] of ships) {
|
|
342
|
+
const { combat } = lookup(id).raw;
|
|
343
|
+
const hull = combat.hp * quantity;
|
|
344
|
+
const ability = combat.repairAbility * quantity;
|
|
345
|
+
hullWeight += hull;
|
|
346
|
+
costWeighted += combat.repairCost * hull;
|
|
347
|
+
abilityWeight += ability;
|
|
348
|
+
efficiencyWeighted += combat.repairEfficiency * ability;
|
|
349
|
+
}
|
|
350
|
+
stats.combat.repairCost = hullWeight === 0n ? 0n : costWeighted / hullWeight;
|
|
351
|
+
stats.combat.repairEfficiency =
|
|
352
|
+
abilityWeight === 0n ? 0n : efficiencyWeighted / abilityWeight;
|
|
353
|
+
}
|
|
354
|
+
//# sourceMappingURL=composition-stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition-stats.js","sourceRoot":"","sources":["../../src/fleets/composition-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,19 +16,22 @@ export type FleetMovementCooldownInput = {
|
|
|
16
16
|
} | {
|
|
17
17
|
readonly kind: 'warpLane';
|
|
18
18
|
readonly departsAtUnixSeconds: bigint;
|
|
19
|
+
readonly existingCooldownExpiresAt: bigint;
|
|
19
20
|
} | {
|
|
20
21
|
readonly kind: 'subwarp';
|
|
21
22
|
readonly existingCooldownExpiresAt: bigint;
|
|
22
23
|
};
|
|
23
24
|
/** Predicts the assigned warp-cooldown expiry in Unix seconds for a movement.
|
|
24
25
|
* Coordinate warp anchors at arrival and rounds the modified base upward;
|
|
25
|
-
* a zero modifier uses the unmodified base. Lane warp
|
|
26
|
-
*
|
|
26
|
+
* a zero modifier uses the unmodified base. Lane warp adds no cooldown but
|
|
27
|
+
* never erases an active one: the expiry becomes the later of the existing
|
|
28
|
+
* expiry and the departure time. Subwarp preserves the existing expiry.
|
|
27
29
|
*
|
|
28
|
-
*
|
|
30
|
+
* Coordinate-warp arithmetic is qualified against PTR deployment slot
|
|
31
|
+
* 54356023; the lane rule follows the current program. Coordinate/lane timestamps
|
|
29
32
|
* must be nonnegative signed-i64 values, base seconds an integer in 0..65535,
|
|
30
33
|
* and modifier raw a nonnegative signed-i64 value. Overflow is rejected.
|
|
31
|
-
*
|
|
34
|
+
* An existing expiry may be any signed-i64 value, including sentinels.
|
|
32
35
|
* This pure helper does not calculate journey duration or check state, active
|
|
33
36
|
* cooldown, permissions, Fuel or lane eligibility. Use deriveFleetTimers for
|
|
34
37
|
* observed timer display and simulate the intended action before signing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cooldown.d.ts","sourceRoot":"","sources":["../../src/fleets/cooldown.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,MAAM,0BAA0B,GAClC;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC,GACD;
|
|
1
|
+
{"version":3,"file":"cooldown.d.ts","sourceRoot":"","sources":["../../src/fleets/cooldown.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,MAAM,0BAA0B,GAClC;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;CAC5C,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAA;CAAE,CAAC;AAY7E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,GAChC,MAAM,CAqCR"}
|
package/dist/fleets/cooldown.js
CHANGED
|
@@ -9,13 +9,15 @@ function bounded(field, value, minimum = 0n) {
|
|
|
9
9
|
}
|
|
10
10
|
/** Predicts the assigned warp-cooldown expiry in Unix seconds for a movement.
|
|
11
11
|
* Coordinate warp anchors at arrival and rounds the modified base upward;
|
|
12
|
-
* a zero modifier uses the unmodified base. Lane warp
|
|
13
|
-
*
|
|
12
|
+
* a zero modifier uses the unmodified base. Lane warp adds no cooldown but
|
|
13
|
+
* never erases an active one: the expiry becomes the later of the existing
|
|
14
|
+
* expiry and the departure time. Subwarp preserves the existing expiry.
|
|
14
15
|
*
|
|
15
|
-
*
|
|
16
|
+
* Coordinate-warp arithmetic is qualified against PTR deployment slot
|
|
17
|
+
* 54356023; the lane rule follows the current program. Coordinate/lane timestamps
|
|
16
18
|
* must be nonnegative signed-i64 values, base seconds an integer in 0..65535,
|
|
17
19
|
* and modifier raw a nonnegative signed-i64 value. Overflow is rejected.
|
|
18
|
-
*
|
|
20
|
+
* An existing expiry may be any signed-i64 value, including sentinels.
|
|
19
21
|
* This pure helper does not calculate journey duration or check state, active
|
|
20
22
|
* cooldown, permissions, Fuel or lane eligibility. Use deriveFleetTimers for
|
|
21
23
|
* observed timer display and simulate the intended action before signing.
|
|
@@ -30,8 +32,11 @@ function bounded(field, value, minimum = 0n) {
|
|
|
30
32
|
export function deriveFleetMovementCooldown(input) {
|
|
31
33
|
if (input.kind === 'subwarp')
|
|
32
34
|
return bounded('Existing warp cooldown expiry', input.existingCooldownExpiresAt, -(1n << 63n));
|
|
33
|
-
if (input.kind === 'warpLane')
|
|
34
|
-
|
|
35
|
+
if (input.kind === 'warpLane') {
|
|
36
|
+
const departure = bounded('Warp-lane departure timestamp', input.departsAtUnixSeconds);
|
|
37
|
+
const existing = bounded('Existing warp cooldown expiry', input.existingCooldownExpiresAt, -(1n << 63n));
|
|
38
|
+
return existing > departure ? existing : departure;
|
|
39
|
+
}
|
|
35
40
|
const arrival = bounded('Coordinate-warp arrival timestamp', input.arrivesAtUnixSeconds);
|
|
36
41
|
const base = input.baseCooldownSeconds;
|
|
37
42
|
if (!Number.isInteger(base) || base < 0 || base > 65535)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cooldown.js","sourceRoot":"","sources":["../../src/fleets/cooldown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cooldown.js","sourceRoot":"","sources":["../../src/fleets/cooldown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AA0BjE,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AACtC,MAAM,KAAK,GAAG,EAAE,IAAI,GAAG,CAAC;AACxB,MAAM,MAAM,GACV,yIAAyI,CAAC;AAC5I,SAAS,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,OAAO,GAAG,EAAE;IACzD,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,YAAY;QACzC,MAAM,IAAI,2BAA2B,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAiC;IAEjC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAC1B,OAAO,OAAO,CACZ,+BAA+B,EAC/B,KAAK,CAAC,yBAAyB,EAC/B,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CACb,CAAC;IACJ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CACvB,+BAA+B,EAC/B,KAAK,CAAC,oBAAoB,CAC3B,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO,CACtB,+BAA+B,EAC/B,KAAK,CAAC,yBAAyB,EAC/B,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CACb,CAAC;QACF,OAAO,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CACrB,mCAAmC,EACnC,KAAK,CAAC,oBAAoB,CAC3B,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;QACrD,MAAM,IAAI,2BAA2B,CACnC,4BAA4B,EAC5B,IAAI,EACJ,MAAM,CACP,CAAC;IACJ,MAAM,QAAQ,GAAG,OAAO,CACtB,sCAAsC,EACtC,KAAK,CAAC,mBAAmB,CAC1B,CAAC;IACF,MAAM,QAAQ,GACZ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;IAC7E,OAAO,OAAO,CAAC,gCAAgC,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC;AACvE,CAAC"}
|
package/dist/fleets/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { deriveFleetWarpLaneEstimate, type FleetWarpLaneEstimate, type FleetWarp
|
|
|
4
4
|
export { deriveFleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimateInput, } from './coordinate-warp-estimate.js';
|
|
5
5
|
export { deriveFleetSubwarpEstimate, type FleetSubwarpEstimate, type FleetSubwarpEstimateInput, } from './subwarp-estimate.js';
|
|
6
6
|
export { deriveFleetMovementCooldown, type FleetMovementCooldownInput, } from './cooldown.js';
|
|
7
|
+
export { deriveFleetCompositionStats, type FleetCompositionStats, type FleetCompositionStatsInput, } from './composition-stats.js';
|
|
7
8
|
export { deriveFleetTravelProfile, type FleetTravelProfile, type FleetTravelProfileInput, } from './travel-profile.js';
|
|
8
9
|
import { SageSdkError, type Address, type DiscoveryRequest, type EntityRef, type ReadOptions, type SageContext, type SageSubscription, type SubscriptionDiagnosticEvent, type SubscriptionOptions } from '../client/index.js';
|
|
9
10
|
import { deriveFleetTimers, interpolateSubwarpPosition, type ResolvedFleetAccountData } from '../internal/fleet.js';
|