@aephia/atlas-kit 0.6.0-next.17 → 0.6.0-next.170
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/README.md +2 -1
- package/dist/cargo/actions/deposit.d.ts +5 -2
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +60 -129
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts +12 -6
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +98 -94
- 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 +39 -168
- 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 +93 -14
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +739 -742
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +22 -6
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +34 -19
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +354 -38
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +69 -6
- 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/errors.d.ts +2 -2
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +57 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +56 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +37 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
- package/dist/client/rpc-subscription-provider.js +224 -0
- package/dist/client/rpc-subscription-provider.js.map +1 -0
- 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 +360 -302
- 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 +29 -18
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +298 -352
- 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 +34 -3
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +50 -28
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +2 -1
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +6 -4
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts +19 -2
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +38 -26
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.d.ts +20 -8
- package/dist/factions/profile-faction.d.ts.map +1 -1
- package/dist/factions/profile-faction.js +20 -8
- package/dist/factions/profile-faction.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts +48 -0
- package/dist/fleets/actions/add-ship.d.ts.map +1 -0
- package/dist/fleets/actions/add-ship.js +136 -0
- package/dist/fleets/actions/add-ship.js.map +1 -0
- package/dist/fleets/actions/create-fleet.d.ts +36 -0
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
- package/dist/fleets/actions/create-fleet.js +108 -0
- package/dist/fleets/actions/create-fleet.js.map +1 -0
- package/dist/fleets/actions/crew-transfer.d.ts +45 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +99 -0
- package/dist/fleets/actions/crew-transfer.js.map +1 -0
- 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/dock-bounds.d.ts +38 -0
- package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
- package/dist/fleets/actions/dock-bounds.js +46 -0
- package/dist/fleets/actions/dock-bounds.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +90 -25
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +492 -353
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.d.ts +38 -0
- package/dist/fleets/actions/respawn.d.ts.map +1 -0
- package/dist/fleets/actions/respawn.js +93 -0
- package/dist/fleets/actions/respawn.js.map +1 -0
- 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 +61 -90
- 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 +47 -0
- package/dist/fleets/cooldown.d.ts.map +1 -0
- package/dist/fleets/cooldown.js +48 -0
- package/dist/fleets/cooldown.js.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.js +46 -0
- package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
- package/dist/fleets/index.d.ts +36 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +55 -12
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/movement-arithmetic.d.ts +21 -0
- package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
- package/dist/fleets/movement-arithmetic.js +45 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -0
- package/dist/fleets/subwarp-estimate.d.ts +72 -0
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
- package/dist/fleets/subwarp-estimate.js +40 -0
- package/dist/fleets/subwarp-estimate.js.map +1 -0
- package/dist/fleets/travel-profile.d.ts +102 -0
- package/dist/fleets/travel-profile.d.ts.map +1 -0
- package/dist/fleets/travel-profile.js +120 -0
- package/dist/fleets/travel-profile.js.map +1 -0
- package/dist/fleets/warp-lane-estimate.d.ts +59 -0
- package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
- package/dist/fleets/warp-lane-estimate.js +36 -0
- package/dist/fleets/warp-lane-estimate.js.map +1 -0
- package/dist/fleets/warp-lane-policy.d.ts +74 -0
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
- package/dist/fleets/warp-lane-policy.js +103 -0
- package/dist/fleets/warp-lane-policy.js.map +1 -0
- package/dist/fleets/warp-lane-toll.d.ts +55 -0
- package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
- package/dist/fleets/warp-lane-toll.js +79 -0
- package/dist/fleets/warp-lane-toll.js.map +1 -0
- 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 +5 -4
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +52 -29
- 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 +63 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +64 -12
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/research-state.d.ts +60 -0
- package/dist/identity/research-state.d.ts.map +1 -0
- package/dist/identity/research-state.js +68 -0
- package/dist/identity/research-state.js.map +1 -0
- package/dist/index.d.ts +26 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -7
- 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-bytes-config.d.ts +7 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.js +19 -0
- package/dist/internal/c4/cargo-bytes-config.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-registration.d.ts +2 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.js +2 -0
- package/dist/internal/c4/character-registration.js.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 +8 -4
- 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 +13 -33
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +49 -94
- 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 -82
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +16 -213
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
- package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
- package/dist/internal/c4/crafting-process-codec.js +34 -0
- package/dist/internal/c4/crafting-process-codec.js.map +1 -0
- 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 +33 -33
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +76 -127
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +6 -0
- package/dist/internal/c4/currency-cache.d.ts.map +1 -0
- package/dist/internal/c4/currency-cache.js +27 -0
- package/dist/internal/c4/currency-cache.js.map +1 -0
- 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/docking-funding.d.ts +4 -0
- package/dist/internal/c4/docking-funding.d.ts.map +1 -0
- package/dist/internal/c4/docking-funding.js +11 -0
- package/dist/internal/c4/docking-funding.js.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.js +26 -0
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
- package/dist/internal/c4/faction-treasury.d.ts +23 -0
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
- package/dist/internal/c4/faction-treasury.js +41 -0
- package/dist/internal/c4/faction-treasury.js.map +1 -0
- 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 +40 -60
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +106 -225
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +28 -0
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/c4/fleet-arrival.js +42 -0
- package/dist/internal/c4/fleet-arrival.js.map +1 -0
- package/dist/internal/c4/fleet-creation.d.ts +14 -0
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
- package/dist/internal/c4/fleet-creation.js +177 -0
- package/dist/internal/c4/fleet-creation.js.map +1 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +31 -44
- 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-respawn.d.ts +17 -0
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/c4/fleet-respawn.js +62 -0
- package/dist/internal/c4/fleet-respawn.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +26 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.js +96 -0
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
- 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 +65 -24
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +50 -91
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game-definition-layout.d.ts +2 -0
- package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
- package/dist/internal/c4/game-definition-layout.js +4 -0
- package/dist/internal/c4/game-definition-layout.js.map +1 -1
- package/dist/internal/c4/game.d.ts +122 -32
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +229 -130
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +3 -152
- 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 +29 -0
- package/dist/internal/c4/local-market-order.d.ts.map +1 -0
- package/dist/internal/c4/local-market-order.js +46 -0
- package/dist/internal/c4/local-market-order.js.map +1 -0
- 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 -30
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +41 -163
- 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 +5 -38
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +26 -120
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +2 -0
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
- package/dist/internal/c4/mining-instructions.js +3 -0
- package/dist/internal/c4/mining-instructions.js.map +1 -0
- package/dist/internal/c4/open-signal.d.ts +8 -0
- package/dist/internal/c4/open-signal.d.ts.map +1 -0
- package/dist/internal/c4/open-signal.js +37 -0
- package/dist/internal/c4/open-signal.js.map +1 -0
- 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 +17 -1
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- package/dist/internal/c4/region-geometry.d.ts +8 -0
- package/dist/internal/c4/region-geometry.d.ts.map +1 -0
- package/dist/internal/c4/region-geometry.js +43 -0
- package/dist/internal/c4/region-geometry.js.map +1 -0
- package/dist/internal/c4/rewards.d.ts +1 -61
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +23 -203
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +4 -0
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
- package/dist/internal/c4/runtime-bindings.js +4 -0
- package/dist/internal/c4/runtime-bindings.js.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.js +3 -0
- package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
- package/dist/internal/c4/scan-lifecycle.d.ts +324 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +249 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -0
- 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 +4 -41
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +27 -108
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/ship-import.d.ts +4 -0
- package/dist/internal/c4/ship-import.d.ts.map +1 -0
- package/dist/internal/c4/ship-import.js +13 -0
- package/dist/internal/c4/ship-import.js.map +1 -0
- package/dist/internal/c4/ship-stats.d.ts.map +1 -1
- package/dist/internal/c4/ship-stats.js +46 -44
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +0 -32
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +26 -136
- 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 +40 -7
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +87 -129
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/cargo.d.ts +2 -0
- package/dist/internal/cargo.d.ts.map +1 -1
- package/dist/internal/cargo.js +8 -0
- package/dist/internal/cargo.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 -2
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +3 -5
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +17 -0
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
- package/dist/internal/loyalty-atlas-bank-state.js +11 -0
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
- 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/action-runtime.d.ts +38 -0
- package/dist/internal/planning/action-runtime.d.ts.map +1 -0
- package/dist/internal/planning/action-runtime.js +63 -0
- package/dist/internal/planning/action-runtime.js.map +1 -0
- package/dist/internal/planning/arrival-guards.d.ts +19 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +172 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +61 -39
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +219 -83
- 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 +4 -0
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
- package/dist/internal/planning/character-registration-guard.js +59 -0
- package/dist/internal/planning/character-registration-guard.js.map +1 -0
- package/dist/internal/planning/character-registration.d.ts +23 -0
- package/dist/internal/planning/character-registration.d.ts.map +1 -0
- package/dist/internal/planning/character-registration.js +87 -0
- package/dist/internal/planning/character-registration.js.map +1 -0
- 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 +6 -0
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
- package/dist/internal/planning/currency-cache-guard.js +77 -0
- package/dist/internal/planning/currency-cache-guard.js.map +1 -0
- package/dist/internal/planning/democracy-history.d.ts +50 -0
- package/dist/internal/planning/democracy-history.d.ts.map +1 -0
- package/dist/internal/planning/democracy-history.js +189 -0
- package/dist/internal/planning/democracy-history.js.map +1 -0
- 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 -4
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +1 -31
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
- package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-guards.js +15 -0
- package/dist/internal/planning/faction-trade-guards.js.map +1 -0
- package/dist/internal/planning/faction-trade-state.d.ts +16 -0
- package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-state.js +43 -0
- package/dist/internal/planning/faction-trade-state.js.map +1 -0
- package/dist/internal/planning/fleet-arrival.d.ts +40 -0
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/planning/fleet-arrival.js +107 -0
- package/dist/internal/planning/fleet-arrival.js.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.js +104 -0
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
- package/dist/internal/planning/fleet-creation.d.ts +30 -0
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
- package/dist/internal/planning/fleet-creation.js +89 -0
- package/dist/internal/planning/fleet-creation.js.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts +29 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.js +48 -0
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.js +152 -0
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
- 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 +42 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js +216 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.js +164 -0
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.js +44 -0
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
- package/dist/internal/planning/fleet-docking.d.ts +25 -0
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking.js +106 -0
- package/dist/internal/planning/fleet-docking.js.map +1 -0
- 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 +28 -0
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/planning/fleet-respawn.js +164 -0
- package/dist/internal/planning/fleet-respawn.js.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts +38 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.js +167 -0
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
- 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 +64 -0
- package/dist/internal/planning/governance-fees.d.ts.map +1 -0
- package/dist/internal/planning/governance-fees.js +231 -0
- package/dist/internal/planning/governance-fees.js.map +1 -0
- package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order-funding.js +128 -0
- package/dist/internal/planning/local-market-order-funding.js.map +1 -0
- package/dist/internal/planning/local-market-order.d.ts +40 -0
- package/dist/internal/planning/local-market-order.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order.js +139 -0
- package/dist/internal/planning/local-market-order.js.map +1 -0
- 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 +14 -0
- package/dist/internal/planning/mining-stop.d.ts.map +1 -0
- package/dist/internal/planning/mining-stop.js +42 -0
- package/dist/internal/planning/mining-stop.js.map +1 -0
- 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 +4 -0
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
- package/dist/internal/planning/movement-xp-guard.js +104 -0
- package/dist/internal/planning/movement-xp-guard.js.map +1 -0
- package/dist/internal/planning/open-signal-guard.d.ts +3 -0
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
- package/dist/internal/planning/open-signal-guard.js +32 -0
- package/dist/internal/planning/open-signal-guard.js.map +1 -0
- package/dist/internal/planning/open-signal.d.ts +31 -0
- package/dist/internal/planning/open-signal.d.ts.map +1 -0
- package/dist/internal/planning/open-signal.js +94 -0
- package/dist/internal/planning/open-signal.js.map +1 -0
- 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 +9 -0
- package/dist/internal/planning/recipe-state.d.ts.map +1 -0
- package/dist/internal/planning/recipe-state.js +23 -0
- package/dist/internal/planning/recipe-state.js.map +1 -0
- 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/rent.d.ts +19 -0
- package/dist/internal/planning/rent.d.ts.map +1 -0
- package/dist/internal/planning/rent.js +35 -0
- package/dist/internal/planning/rent.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.d.ts +3 -0
- package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
- package/dist/internal/planning/respawn-guards.js +42 -0
- package/dist/internal/planning/respawn-guards.js.map +1 -0
- package/dist/internal/planning/runtime-guards.d.ts +41 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +658 -0
- package/dist/internal/planning/runtime-guards.js.map +1 -0
- package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion-guard.js +95 -0
- package/dist/internal/planning/scan-completion-guard.js.map +1 -0
- package/dist/internal/planning/scan-completion.d.ts +20 -0
- package/dist/internal/planning/scan-completion.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion.js +198 -0
- package/dist/internal/planning/scan-completion.js.map +1 -0
- package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect-guard.js +77 -0
- package/dist/internal/planning/scan-detect-guard.js.map +1 -0
- package/dist/internal/planning/scan-detect.d.ts +24 -0
- package/dist/internal/planning/scan-detect.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect.js +246 -0
- package/dist/internal/planning/scan-detect.js.map +1 -0
- 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-input.d.ts +9 -0
- package/dist/internal/planning/scan-input.d.ts.map +1 -0
- package/dist/internal/planning/scan-input.js +58 -0
- package/dist/internal/planning/scan-input.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.d.ts +22 -0
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
- package/dist/internal/planning/ship-import-funding.js +53 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +1 -6
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +0 -37
- 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 +6 -0
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system-guard.js +94 -0
- package/dist/internal/planning/starbase-system-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system.d.ts +15 -0
- package/dist/internal/planning/starbase-system.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system.js +25 -0
- package/dist/internal/planning/starbase-system.js.map +1 -0
- 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/trade-faction-market.d.ts +20 -0
- package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
- package/dist/internal/planning/trade-faction-market.js +56 -0
- package/dist/internal/planning/trade-faction-market.js.map +1 -0
- 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 +36 -0
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
- package/dist/internal/planning/xp-runtime.js +122 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- 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/internal/system-program.d.ts +4 -0
- package/dist/internal/system-program.d.ts.map +1 -0
- package/dist/internal/system-program.js +3 -0
- package/dist/internal/system-program.js.map +1 -0
- 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 +16 -46
- 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 +21 -33
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +62 -4
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +261 -187
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +45 -0
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
- package/dist/markets/actions/trade-faction-market.js +311 -0
- package/dist/markets/actions/trade-faction-market.js.map +1 -0
- package/dist/markets/index.d.ts +38 -7
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +59 -20
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +18 -15
- package/dist/mining/actions/index.d.ts.map +1 -1
- package/dist/mining/actions/index.js +146 -69
- 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/estimate.d.ts +114 -0
- package/dist/mining/estimate.d.ts.map +1 -0
- package/dist/mining/estimate.js +127 -0
- package/dist/mining/estimate.js.map +1 -0
- package/dist/mining/index.d.ts +10 -2
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +11 -13
- package/dist/mining/index.js.map +1 -1
- package/dist/mining/profile.d.ts +82 -0
- package/dist/mining/profile.d.ts.map +1 -0
- package/dist/mining/profile.js +109 -0
- package/dist/mining/profile.js.map +1 -0
- package/dist/planning/assembly.d.ts +6 -1
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +12 -8
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +19 -3
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +623 -72
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +252 -165
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +31 -388
- 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-checkpoint.d.ts +9 -0
- package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.js +16 -7
- package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
- package/dist/planning/plan-sequence-execution.d.ts +5 -0
- package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
- package/dist/planning/plan-sequence-execution.js +74 -40
- package/dist/planning/plan-sequence-execution.js.map +1 -1
- package/dist/planning/plan-sequence.d.ts +2 -1
- package/dist/planning/plan-sequence.d.ts.map +1 -1
- package/dist/planning/plan-sequence.js +8 -1
- package/dist/planning/plan-sequence.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/planning/simulation.d.ts +25 -1
- package/dist/planning/simulation.d.ts.map +1 -1
- package/dist/planning/simulation.js +111 -11
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts +7 -12
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +19 -20
- 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/docking.d.ts +10 -0
- package/dist/registry/docking.d.ts.map +1 -0
- package/dist/registry/docking.js +12 -0
- package/dist/registry/docking.js.map +1 -0
- package/dist/registry/index.d.ts +35 -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 +10 -2
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +22 -7
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/scanning.d.ts +7 -0
- package/dist/registry/scanning.d.ts.map +1 -0
- package/dist/registry/scanning.js +13 -0
- package/dist/registry/scanning.js.map +1 -0
- package/dist/registry/ship-stats-snapshot.d.ts.map +1 -1
- package/dist/registry/ship-stats-snapshot.js +38 -24
- package/dist/registry/ship-stats-snapshot.js.map +1 -1
- package/dist/registry/ships.d.ts +22 -2
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +31 -4
- package/dist/registry/ships.js.map +1 -1
- package/dist/registry/xp-runtime.d.ts +4 -0
- package/dist/registry/xp-runtime.d.ts.map +1 -0
- package/dist/registry/xp-runtime.js +14 -0
- package/dist/registry/xp-runtime.js.map +1 -0
- 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 +116 -0
- package/dist/scanning/actions/index.d.ts.map +1 -0
- package/dist/scanning/actions/index.js +215 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +10 -12
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +19 -23
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/lifecycle.d.ts +77 -0
- package/dist/scanning/lifecycle.d.ts.map +1 -0
- package/dist/scanning/lifecycle.js +93 -0
- package/dist/scanning/lifecycle.js.map +1 -0
- package/dist/scanning/odds.d.ts +115 -0
- package/dist/scanning/odds.d.ts.map +1 -0
- package/dist/scanning/odds.js +294 -0
- package/dist/scanning/odds.js.map +1 -0
- package/dist/scanning/signals.d.ts +126 -0
- package/dist/scanning/signals.d.ts.map +1 -0
- package/dist/scanning/signals.js +173 -0
- package/dist/scanning/signals.js.map +1 -0
- 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 +185 -6
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +186 -15
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +139 -0
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
- package/dist/world/planet-claim-stake-plots.js +117 -0
- package/dist/world/planet-claim-stake-plots.js.map +1 -0
- package/dist/world/starbase-status.d.ts +217 -0
- package/dist/world/starbase-status.d.ts.map +1 -0
- package/dist/world/starbase-status.js +218 -0
- package/dist/world/starbase-status.js.map +1 -0
- package/package.json +6 -2
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { isAddress } from '@solana/kit';
|
|
2
|
+
import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
|
|
3
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
4
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
5
|
+
import { fleetAccountDefinition } from '../../internal/c4/fleet.js';
|
|
6
|
+
import { addShipToFleetInstruction } from '../../internal/c4/fleet-ship-assembly.js';
|
|
7
|
+
import { resolveFleetShipAssembly, validateFleetShipAssembly, } from '../../internal/planning/fleet-ship-assembly.js';
|
|
8
|
+
import { readFreshGameShipAssemblyCatalog } from '../../registry/ships.js';
|
|
9
|
+
import { buildPlannerPlan } from '../../planning/plan-construction.js';
|
|
10
|
+
import { readDirectOptions } from '../../internal/planning/direct-options.js';
|
|
11
|
+
function options(input) {
|
|
12
|
+
const bad = () => {
|
|
13
|
+
throw new InvalidActionInputError('options', input, 'authorization, shipId and amount only; direct authority, Profile, u16 keyIndex and shipId, and a bigint amount from 1n through 255n', 'Pass address-only ship assembly options. Certificates are unsupported; use a direct Profile key and the StarbasePlayer where the Fleet is Docked.');
|
|
14
|
+
};
|
|
15
|
+
const { authorization, value } = readDirectOptions(input, ['authorization', 'shipId', 'amount'], bad);
|
|
16
|
+
if (typeof value.shipId !== 'number' ||
|
|
17
|
+
!Number.isInteger(value.shipId) ||
|
|
18
|
+
value.shipId < 0 ||
|
|
19
|
+
value.shipId > 65535 ||
|
|
20
|
+
typeof value.amount !== 'bigint' ||
|
|
21
|
+
value.amount < 1n ||
|
|
22
|
+
value.amount > 255n)
|
|
23
|
+
bad();
|
|
24
|
+
return {
|
|
25
|
+
authorization,
|
|
26
|
+
shipId: value.shipId,
|
|
27
|
+
amount: value.amount,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** Plans one singleton transfer of an exact ship configuration from StarbasePlayer entitlement to an owned Docked Fleet.
|
|
31
|
+
* Follows the program's assembly rules for ships of any size: each ship must be
|
|
32
|
+
* within the Character's maximum ship size and its research tags must all be
|
|
33
|
+
* held; the resulting Fleet's points (XXS 1, XS 4, Small 9, Medium 16, Large 25,
|
|
34
|
+
* Capital 36, Commander 49, Titan 128) must fit both the Character's Fleet size
|
|
35
|
+
* and the Game limit, with at most one Titan and two Commanders and Titans
|
|
36
|
+
* together. Escrowed hulls of any configuration of the same ship count, as the
|
|
37
|
+
* program re-tags them. A configuration's components, times the amount, move
|
|
38
|
+
* from the StarbasePlayer's cargo into the Fleet's components, where they stay;
|
|
39
|
+
* the StarbasePlayer must hold them all. Any Starbase with a current
|
|
40
|
+
* StarbasePlayer of the Fleet's faction works. Fleets built under older ship
|
|
41
|
+
* definitions are not planned; sync those with `planSyncFleetWithGame` first.
|
|
42
|
+
* The explicit ship ID must be a u16 and the whole ship amount must be 1n through 255n. Uses a direct Profile
|
|
43
|
+
* AUTH key or a manageFleet key scoped to SAGE or the Fleet; a positive Profile
|
|
44
|
+
* rent shortfall additionally requires vault-funding permission. No token
|
|
45
|
+
* transfer or onboarding occurs.
|
|
46
|
+
* A rented Fleet is refused, as is a Fleet whose HP plus pending repair cannot
|
|
47
|
+
* reach its maximum; the program also needs full AP and SP, which recover on
|
|
48
|
+
* timers and stay chain-authoritative.
|
|
49
|
+
* Final stats, research, refresh and outcomes remain chain-authoritative.
|
|
50
|
+
* Simulate before signing. The observed debit ceiling is rechecked before
|
|
51
|
+
* signing and is not an atomic on-chain spending cap. Two assembly Plans for the same Profile
|
|
52
|
+
* cannot compose because they share funds and assembly state.
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* declare const ctx:SageContext, fleet:Address, profile:Address, authority:Address;
|
|
56
|
+
* const plan = await planAddShipToFleet(ctx,fleet,{authorization:{profile,authority,keyIndex:0},shipId:1,amount:1n});
|
|
57
|
+
* console.log(plan.describe());
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export async function planAddShipToFleet(ctx, fleet, input) {
|
|
61
|
+
const captured = options(input);
|
|
62
|
+
if (typeof fleet !== 'string' || !isAddress(fleet))
|
|
63
|
+
throw new InvalidActionInputError('fleet', fleet, 'a Fleet address', 'Select an owned Fleet and replan ship assembly.');
|
|
64
|
+
const game = requireGameAddress(ctx);
|
|
65
|
+
const [fleetRaw] = await readContextRawAccounts(ctx, [fleet]);
|
|
66
|
+
if (!fleetRaw || fleetRaw.executable)
|
|
67
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'The selected Fleet is missing or executable. Refresh a valid owned Fleet and replan.');
|
|
68
|
+
const decoded = fleetAccountDefinition.decode(fleetRaw);
|
|
69
|
+
if (decoded.state.kind !== 'docked')
|
|
70
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Ship assembly requires a Docked Fleet. Dock at a Starbase where the Character has a current StarbasePlayer and replan.');
|
|
71
|
+
const intent = {
|
|
72
|
+
address: fleet,
|
|
73
|
+
game,
|
|
74
|
+
profile: captured.authorization.profile,
|
|
75
|
+
authority: captured.authorization.authority,
|
|
76
|
+
system: decoded.state.system,
|
|
77
|
+
keyIndex: captured.authorization.keyIndex,
|
|
78
|
+
shipId: captured.shipId,
|
|
79
|
+
amount: captured.amount,
|
|
80
|
+
};
|
|
81
|
+
const resolved = await resolveFleetShipAssembly(intent);
|
|
82
|
+
const addresses = [
|
|
83
|
+
resolved.profile,
|
|
84
|
+
resolved.character,
|
|
85
|
+
resolved.profileFaction,
|
|
86
|
+
resolved.system,
|
|
87
|
+
resolved.starbasePlayer,
|
|
88
|
+
resolved.rent,
|
|
89
|
+
resolved.clock,
|
|
90
|
+
];
|
|
91
|
+
const [{ rawAccount, catalog }, raw] = await Promise.all([
|
|
92
|
+
readFreshGameShipAssemblyCatalog(ctx),
|
|
93
|
+
readContextRawAccounts(ctx, addresses),
|
|
94
|
+
]);
|
|
95
|
+
const accounts = new Map(addresses.map((address, index) => [address, raw[index]]));
|
|
96
|
+
accounts.set(fleet, fleetRaw);
|
|
97
|
+
accounts.set(game, rawAccount);
|
|
98
|
+
const { profileDebit, configHash, components } = await validateFleetShipAssembly(intent, resolved, accounts, undefined, catalog);
|
|
99
|
+
const moved = [...components]
|
|
100
|
+
.map(([cargoId, amount]) => `${String(amount)} of cargo ${String(cargoId)}`)
|
|
101
|
+
.join(', ');
|
|
102
|
+
const summary = `Add ${intent.amount} of ship configuration ${intent.shipId} from StarbasePlayer ${resolved.starbasePlayer} to Fleet ${fleet}; escrowed hulls of other configurations of the same ship are re-tagged to this one when needed. ${moved ? `Its components (${moved}) move from the StarbasePlayer's cargo into the Fleet's components, where they stay; they are not consumed. ` : ''}Observed Profile rent debit: ${profileDebit} lamports from Profile ${intent.profile}. Execution rejects a higher observed debit before signing; this is not an atomic on-chain spending cap. Transaction fees are separate. Final stats, research, refresh and outcomes remain chain-authoritative; simulate before signing.`;
|
|
103
|
+
return buildPlannerPlan({
|
|
104
|
+
kind: 'fleets.add-ship',
|
|
105
|
+
summary,
|
|
106
|
+
preconditions: [
|
|
107
|
+
{
|
|
108
|
+
kind: 'fleet-add-ship',
|
|
109
|
+
...intent,
|
|
110
|
+
maximumProfileDebit: profileDebit,
|
|
111
|
+
configHash,
|
|
112
|
+
describes: 'Ship assembly retains canonical relationships, supported configuration, exact entitlement, capacity, direct-key permission and affordable rent within the observed Profile debit.',
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
steps: [
|
|
116
|
+
{
|
|
117
|
+
describes: summary,
|
|
118
|
+
instruction: addShipToFleetInstruction(intent, resolved),
|
|
119
|
+
signers: [intent.authority],
|
|
120
|
+
semantics: [
|
|
121
|
+
{
|
|
122
|
+
kind: 'requires',
|
|
123
|
+
resource: `profile:${intent.profile}`,
|
|
124
|
+
fact: 'fleet-ship-assembly',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
kind: 'invalidates',
|
|
128
|
+
resource: `profile:${intent.profile}`,
|
|
129
|
+
fact: 'fleet-ship-assembly',
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=add-ship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-ship.js","sourceRoot":"","sources":["../../../src/fleets/actions/add-ship.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type Address } from '@solana/kit';
|
|
2
|
+
import type { SageContext } from '../../client/contracts.js';
|
|
3
|
+
import type { PlanAuthorization } from '../../internal/planning/authorization-adapter.js';
|
|
4
|
+
import type { Plan } from '../../planning/index.js';
|
|
5
|
+
/** Address-only options for creating an empty Fleet at an existing own-faction StarbasePlayer.
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* declare const profile:Address, authority:Address, system:Address;
|
|
9
|
+
* const options:PlanCreateFleetOptions={authorization:{profile,authority,keyIndex:0},system,label:'Scout'};
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface PlanCreateFleetOptions {
|
|
13
|
+
readonly authorization: PlanAuthorization;
|
|
14
|
+
readonly system: Address;
|
|
15
|
+
readonly label: string;
|
|
16
|
+
}
|
|
17
|
+
/** Plans a standalone empty Docked Fleet, without signing or submitting.
|
|
18
|
+
* Derives all account addresses from the configured Game, Profile, exact label
|
|
19
|
+
* and System. Accepted label bytes are preserved. Requires an existing own-faction
|
|
20
|
+
* StarbasePlayer, a direct Profile AUTH or SAGE manageFleet key, and available
|
|
21
|
+
* stored Character capacity. The Profile pays only the Fleet target's rent
|
|
22
|
+
* shortfall; a non-AUTH key needs drainSolVault only for a positive debit.
|
|
23
|
+
* The observed debit is checked again before signing; it is not an atomic
|
|
24
|
+
* on-chain spending cap. Final rent and funding remain chain-authoritative.
|
|
25
|
+
* No implicit key grants, registration or funding occurs. Final modifier refresh
|
|
26
|
+
* and deployed eligibility remain chain-authoritative: simulate before signing.
|
|
27
|
+
* Creation Plans for the same Character cannot be combined.
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* declare const ctx:SageContext, profile:Address, authority:Address, system:Address;
|
|
31
|
+
* const plan=await planCreateFleet(ctx,{authorization:{profile,authority,keyIndex:0},system,label:'Scout'});
|
|
32
|
+
* console.log(plan.describe());
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function planCreateFleet(ctx: SageContext, input: PlanCreateFleetOptions): Promise<Plan>;
|
|
36
|
+
//# sourceMappingURL=create-fleet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-fleet.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/create-fleet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAU7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIpD;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAuBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAuEf"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { isAddress } from '@solana/kit';
|
|
2
|
+
import { InvalidActionInputError } from '../../client/errors.js';
|
|
3
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
4
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
5
|
+
import { createFleetInstruction } from '../../internal/c4/fleet-creation.js';
|
|
6
|
+
import { resolveFleetCreation, validateFleetCreation, validateFleetCreationLabel, } from '../../internal/planning/fleet-creation.js';
|
|
7
|
+
import { buildPlannerPlan } from '../../planning/plan-construction.js';
|
|
8
|
+
import { readFreshGameForCharacterRegistration } from '../../registry/onboarding.js';
|
|
9
|
+
import { readDirectOptions } from '../../internal/planning/direct-options.js';
|
|
10
|
+
function options(input) {
|
|
11
|
+
const bad = () => {
|
|
12
|
+
throw new InvalidActionInputError('options', input, 'authorization, system and label only; direct authority, Profile and u16 keyIndex', 'Pass address-only Fleet creation options. Certificates and other access routes are unsupported; use a direct Profile key and an existing own-faction StarbasePlayer.');
|
|
13
|
+
};
|
|
14
|
+
const { authorization, value } = readDirectOptions(input, ['authorization', 'system', 'label'], bad);
|
|
15
|
+
if (typeof value.system !== 'string' || !isAddress(value.system))
|
|
16
|
+
bad();
|
|
17
|
+
validateFleetCreationLabel(value.label);
|
|
18
|
+
return {
|
|
19
|
+
authorization,
|
|
20
|
+
system: value.system,
|
|
21
|
+
label: value.label,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/** Plans a standalone empty Docked Fleet, without signing or submitting.
|
|
25
|
+
* Derives all account addresses from the configured Game, Profile, exact label
|
|
26
|
+
* and System. Accepted label bytes are preserved. Requires an existing own-faction
|
|
27
|
+
* StarbasePlayer, a direct Profile AUTH or SAGE manageFleet key, and available
|
|
28
|
+
* stored Character capacity. The Profile pays only the Fleet target's rent
|
|
29
|
+
* shortfall; a non-AUTH key needs drainSolVault only for a positive debit.
|
|
30
|
+
* The observed debit is checked again before signing; it is not an atomic
|
|
31
|
+
* on-chain spending cap. Final rent and funding remain chain-authoritative.
|
|
32
|
+
* No implicit key grants, registration or funding occurs. Final modifier refresh
|
|
33
|
+
* and deployed eligibility remain chain-authoritative: simulate before signing.
|
|
34
|
+
* Creation Plans for the same Character cannot be combined.
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* declare const ctx:SageContext, profile:Address, authority:Address, system:Address;
|
|
38
|
+
* const plan=await planCreateFleet(ctx,{authorization:{profile,authority,keyIndex:0},system,label:'Scout'});
|
|
39
|
+
* console.log(plan.describe());
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export async function planCreateFleet(ctx, input) {
|
|
43
|
+
const captured = options(input);
|
|
44
|
+
const game = requireGameAddress(ctx);
|
|
45
|
+
const intent = {
|
|
46
|
+
game,
|
|
47
|
+
profile: captured.authorization.profile,
|
|
48
|
+
authority: captured.authorization.authority,
|
|
49
|
+
system: captured.system,
|
|
50
|
+
keyIndex: captured.authorization.keyIndex,
|
|
51
|
+
label: captured.label,
|
|
52
|
+
};
|
|
53
|
+
const resolved = await resolveFleetCreation(intent);
|
|
54
|
+
const addresses = [
|
|
55
|
+
resolved.profile,
|
|
56
|
+
resolved.character,
|
|
57
|
+
resolved.profileFaction,
|
|
58
|
+
resolved.system,
|
|
59
|
+
resolved.starbasePlayer,
|
|
60
|
+
resolved.fleet,
|
|
61
|
+
resolved.rent,
|
|
62
|
+
resolved.clock,
|
|
63
|
+
];
|
|
64
|
+
const [gameAccount, raw] = await Promise.all([
|
|
65
|
+
readFreshGameForCharacterRegistration(ctx),
|
|
66
|
+
readContextRawAccounts(ctx, addresses),
|
|
67
|
+
]);
|
|
68
|
+
const { profileDebit } = await validateFleetCreation(intent, resolved, new Map(addresses.map((address, index) => [address, raw[index]])));
|
|
69
|
+
const summary = `Create empty Fleet ${intent.label} (${resolved.fleet}), Docked at Starbase ${intent.system}, consuming one Character Fleet slot. Observed Profile rent debit: ${profileDebit} lamports from Profile ${intent.profile}. Execution rejects a higher observed debit before signing; final rent and funding remain chain-authoritative. Transaction fees are separate. Final modifier refresh and deployed eligibility remain chain-authoritative: simulate before signing.`;
|
|
70
|
+
return buildPlannerPlan({
|
|
71
|
+
kind: 'fleets.create-fleet',
|
|
72
|
+
summary,
|
|
73
|
+
preconditions: [
|
|
74
|
+
{
|
|
75
|
+
kind: 'game-account',
|
|
76
|
+
address: gameAccount.address,
|
|
77
|
+
describes: 'The configured Game remains valid; unrelated definitions may change.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
kind: 'fleet-create',
|
|
81
|
+
address: resolved.fleet,
|
|
82
|
+
...intent,
|
|
83
|
+
maximumProfileDebit: profileDebit,
|
|
84
|
+
describes: 'Fleet creation retains canonical relationships, direct-key permission, available capacity and funding within the approved Profile debit.',
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
steps: [
|
|
88
|
+
{
|
|
89
|
+
describes: summary,
|
|
90
|
+
instruction: createFleetInstruction(intent, resolved),
|
|
91
|
+
signers: [intent.authority],
|
|
92
|
+
semantics: [
|
|
93
|
+
{
|
|
94
|
+
kind: 'requires',
|
|
95
|
+
resource: `character:${resolved.character}`,
|
|
96
|
+
fact: 'fleet-creation-capacity',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
kind: 'invalidates',
|
|
100
|
+
resource: `character:${resolved.character}`,
|
|
101
|
+
fact: 'fleet-creation-capacity',
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=create-fleet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-fleet.js","sourceRoot":"","sources":["../../../src/fleets/actions/create-fleet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type Address } from '@solana/kit';
|
|
2
|
+
import type { SageContext } from '../../client/contracts.js';
|
|
3
|
+
import type { PlanAuthorization } from '../../internal/planning/authorization-adapter.js';
|
|
4
|
+
import type { Plan } from '../../planning/index.js';
|
|
5
|
+
/** Direct player authorization and the positive count for ordinary Docked Fleet crew transfer.
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* declare const authorization: PlanAuthorization;
|
|
9
|
+
* const options: PlanFleetCrewTransferOptions = { authorization, count: 1 };
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface PlanFleetCrewTransferOptions {
|
|
13
|
+
readonly authorization: PlanAuthorization;
|
|
14
|
+
readonly count: number;
|
|
15
|
+
}
|
|
16
|
+
/** Loads an explicit positive u16 crew count from the canonical StarbasePlayer into a directly owned Docked Fleet.
|
|
17
|
+
* Requires a direct Profile key with AUTH, or with the SAGE manage-crew
|
|
18
|
+
* permission scoped to SAGE or this Fleet; current ship definitions; no
|
|
19
|
+
* Character roster; and an absent or exact-neutral Fleet binding. Rented crew are unsupported.
|
|
20
|
+
* Available Starbase crew exclude busy crew; capacity includes required crew and passengers.
|
|
21
|
+
* The transfer resizes nothing. Its `maximumProfileDebit` precondition is what the
|
|
22
|
+
* Fleet and StarbasePlayer lack of their rent minimums, usually zero, and refunds
|
|
23
|
+
* are not credited. Transaction fees are separate.
|
|
24
|
+
* Planning never signs or submits. This transfer must execute alone.
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
28
|
+
* const plan = await planLoadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
29
|
+
* console.log(plan.describe());
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function planLoadFleetCrew(ctx: SageContext, fleet: Address, options: PlanFleetCrewTransferOptions): Promise<Plan>;
|
|
33
|
+
/** Unloads an explicit positive u16 crew count from a directly owned Docked Fleet into its canonical StarbasePlayer.
|
|
34
|
+
* Unloading every crew member is allowed while Docked; departure requires reloading required crew.
|
|
35
|
+
* Supports the same ordinary-crew, direct-key and Profile debit boundary as loading. Execute separately
|
|
36
|
+
* and refresh after confirmation before preparing another transfer or movement.
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
40
|
+
* const plan = await planUnloadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
41
|
+
* console.log(plan.describe());
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function planUnloadFleetCrew(ctx: SageContext, fleet: Address, options: PlanFleetCrewTransferOptions): Promise<Plan>;
|
|
45
|
+
//# sourceMappingURL=crew-transfer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crew-transfer.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/crew-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAK7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAkFD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAEf;AACD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { isAddress } from '@solana/kit';
|
|
2
|
+
import { InvalidActionInputError } from '../../client/errors.js';
|
|
3
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
4
|
+
import { resolveFleetCrewTransfer } from '../../internal/planning/fleet-crew-transfer.js';
|
|
5
|
+
import { crewTransferInstruction } from '../../internal/planning/fleet-crew-guard.js';
|
|
6
|
+
import { buildPlannerPlan } from '../../planning/plan-construction.js';
|
|
7
|
+
import { readDirectOptions } from '../../internal/planning/direct-options.js';
|
|
8
|
+
function options(input) {
|
|
9
|
+
const bad = () => {
|
|
10
|
+
throw new InvalidActionInputError('options', input, 'authorization and count only; direct authority, Profile, u16 keyIndex and positive u16 count', 'Pass address-only Fleet crew transfer options. Certificates and other access routes are unsupported; use a direct Profile key and an existing canonical StarbasePlayer.');
|
|
11
|
+
};
|
|
12
|
+
const { authorization, value } = readDirectOptions(input, ['authorization', 'count'], bad);
|
|
13
|
+
if (typeof value.count !== 'number' ||
|
|
14
|
+
!Number.isInteger(value.count) ||
|
|
15
|
+
value.count < 1 ||
|
|
16
|
+
value.count > 65535)
|
|
17
|
+
bad();
|
|
18
|
+
return {
|
|
19
|
+
authorization,
|
|
20
|
+
count: value.count,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async function planTransfer(ctx, fleet, input, direction) {
|
|
24
|
+
const captured = options(input);
|
|
25
|
+
if (typeof fleet !== 'string' || !isAddress(fleet))
|
|
26
|
+
throw new InvalidActionInputError('fleet', fleet, 'a Fleet address', 'Select a directly owned Docked Fleet for crew transfer.');
|
|
27
|
+
const intent = {
|
|
28
|
+
address: fleet,
|
|
29
|
+
game: requireGameAddress(ctx),
|
|
30
|
+
...captured.authorization,
|
|
31
|
+
count: captured.count,
|
|
32
|
+
direction,
|
|
33
|
+
};
|
|
34
|
+
const resolved = await resolveFleetCrewTransfer(ctx, intent);
|
|
35
|
+
const summary = `${direction === 'load' ? 'Load' : 'Unload'} ${intent.count} ordinary crew ${direction === 'load' ? 'from' : 'to'} StarbasePlayer ${resolved.starbasePlayer} ${direction === 'load' ? 'aboard' : 'from'} Fleet ${fleet}. Crew may be unloaded to zero while Docked; reload the required departure crew before undocking. Individual rosters, rented crew and restricted keys are unsupported. Execute this transfer alone; refresh Fleet and Starbase crew after confirmation before planning another action. Observed Profile rent debit: ${resolved.maximumProfileDebit} lamports from Profile ${intent.profile}. The transfer resizes nothing, so this is only what the Fleet and StarbasePlayer lack of their rent minimums. Execution rejects a higher observed debit before signing; this is not an atomic on-chain spending cap. Transaction fees are separate. Simulate before signing.`;
|
|
36
|
+
return buildPlannerPlan({
|
|
37
|
+
kind: `fleets.${direction}-crew`,
|
|
38
|
+
summary,
|
|
39
|
+
preconditions: [
|
|
40
|
+
{
|
|
41
|
+
kind: 'fleet-crew-transfer',
|
|
42
|
+
direction,
|
|
43
|
+
address: intent.address,
|
|
44
|
+
game: intent.game,
|
|
45
|
+
profile: intent.profile,
|
|
46
|
+
authority: intent.authority,
|
|
47
|
+
system: resolved.system,
|
|
48
|
+
starbasePlayer: resolved.starbasePlayer,
|
|
49
|
+
count: intent.count,
|
|
50
|
+
keyIndex: intent.keyIndex,
|
|
51
|
+
systemSequenceId: resolved.systemSequenceId,
|
|
52
|
+
maximumProfileDebit: resolved.maximumProfileDebit,
|
|
53
|
+
describes: 'Direct authority, canonical docking generation, ordinary crew state, current capacity, available source crew and affordable rent within the observed Profile debit remain valid.',
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
steps: [
|
|
57
|
+
{
|
|
58
|
+
instruction: crewTransferInstruction({ ...intent, ...resolved }),
|
|
59
|
+
describes: summary,
|
|
60
|
+
signers: [intent.authority],
|
|
61
|
+
semantics: [{ kind: 'exclusive', scope: 'transaction' }],
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/** Loads an explicit positive u16 crew count from the canonical StarbasePlayer into a directly owned Docked Fleet.
|
|
67
|
+
* Requires a direct Profile key with AUTH, or with the SAGE manage-crew
|
|
68
|
+
* permission scoped to SAGE or this Fleet; current ship definitions; no
|
|
69
|
+
* Character roster; and an absent or exact-neutral Fleet binding. Rented crew are unsupported.
|
|
70
|
+
* Available Starbase crew exclude busy crew; capacity includes required crew and passengers.
|
|
71
|
+
* The transfer resizes nothing. Its `maximumProfileDebit` precondition is what the
|
|
72
|
+
* Fleet and StarbasePlayer lack of their rent minimums, usually zero, and refunds
|
|
73
|
+
* are not credited. Transaction fees are separate.
|
|
74
|
+
* Planning never signs or submits. This transfer must execute alone.
|
|
75
|
+
* @example
|
|
76
|
+
* ```ts
|
|
77
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
78
|
+
* const plan = await planLoadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
79
|
+
* console.log(plan.describe());
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export function planLoadFleetCrew(ctx, fleet, options) {
|
|
83
|
+
return planTransfer(ctx, fleet, options, 'load');
|
|
84
|
+
}
|
|
85
|
+
/** Unloads an explicit positive u16 crew count from a directly owned Docked Fleet into its canonical StarbasePlayer.
|
|
86
|
+
* Unloading every crew member is allowed while Docked; departure requires reloading required crew.
|
|
87
|
+
* Supports the same ordinary-crew, direct-key and Profile debit boundary as loading. Execute separately
|
|
88
|
+
* and refresh after confirmation before preparing another transfer or movement.
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
92
|
+
* const plan = await planUnloadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
93
|
+
* console.log(plan.describe());
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export function planUnloadFleetCrew(ctx, fleet, options) {
|
|
97
|
+
return planTransfer(ctx, fleet, options, 'unload');
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=crew-transfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crew-transfer.js","sourceRoot":"","sources":["../../../src/fleets/actions/crew-transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { type Address } from '@solana/kit';
|
|
2
|
+
import type { SageContext } from '../../client/contracts.js';
|
|
3
|
+
/** A proposed Fleet deployment, sized before any of it runs.
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* declare const starbasePlayer: Address;
|
|
7
|
+
* const input: FleetDeploymentStorageInput = {
|
|
8
|
+
* starbasePlayer,
|
|
9
|
+
* label: 'Miner 6',
|
|
10
|
+
* ships: [{ shipId: 1301, amount: 1n }],
|
|
11
|
+
* cargoIds: [7560],
|
|
12
|
+
* };
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export interface FleetDeploymentStorageInput {
|
|
16
|
+
/** The StarbasePlayer the Fleet is created at; it holds the hulls,
|
|
17
|
+
* components and cargo the deployment draws on. */
|
|
18
|
+
readonly starbasePlayer: Address;
|
|
19
|
+
/** An owned Fleet Docked at the same Starbase to disband first. */
|
|
20
|
+
readonly disband?: Address;
|
|
21
|
+
/** The new Fleet's label. With it, the estimate reads the Fleet's address
|
|
22
|
+
* and credits lamports already sent there; without it, the Fleet is assumed
|
|
23
|
+
* to hold none. */
|
|
24
|
+
readonly label?: string;
|
|
25
|
+
/** Ship configurations to add, one assembly per entry, in order. */
|
|
26
|
+
readonly ships: readonly {
|
|
27
|
+
readonly shipId: number;
|
|
28
|
+
readonly amount: bigint;
|
|
29
|
+
}[];
|
|
30
|
+
/** Cargo ids loaded into the new Fleet's cargo hold. Fuel and ammo use fixed
|
|
31
|
+
* slots, so leaving them out tightens the bound. */
|
|
32
|
+
readonly cargoIds?: readonly number[];
|
|
33
|
+
}
|
|
34
|
+
/** One account a deployment stage resizes or settles at an unchanged size.
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* declare const account: FleetDeploymentStorageAccount;
|
|
38
|
+
* console.log(account.sizeAfter - account.sizeBefore, account.rentMinimum);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export interface FleetDeploymentStorageAccount {
|
|
42
|
+
readonly account: 'fleet' | 'starbasePlayer';
|
|
43
|
+
/** Undefined for the new Fleet when no label was given. */
|
|
44
|
+
readonly address: Address | undefined;
|
|
45
|
+
readonly sizeBefore: number;
|
|
46
|
+
readonly sizeAfter: number;
|
|
47
|
+
/** Rent minimum of the account at `sizeAfter`, in lamports. */
|
|
48
|
+
readonly rentMinimum: bigint;
|
|
49
|
+
}
|
|
50
|
+
/** One stage of a Fleet deployment and its gross Profile storage debit.
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* declare const stage: FleetDeploymentStorageStage;
|
|
54
|
+
* if (stage.kind === 'add-ships') console.log(stage.shipId, stage.profileDebit);
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export type FleetDeploymentStorageStage = {
|
|
58
|
+
readonly accounts: readonly FleetDeploymentStorageAccount[];
|
|
59
|
+
/** Upper bound on the lamports this stage withdraws from the Profile. */
|
|
60
|
+
readonly profileDebit: bigint;
|
|
61
|
+
} & ({
|
|
62
|
+
readonly kind: 'disband';
|
|
63
|
+
readonly fleet: Address;
|
|
64
|
+
} | {
|
|
65
|
+
readonly kind: 'create';
|
|
66
|
+
} | {
|
|
67
|
+
readonly kind: 'add-ships';
|
|
68
|
+
readonly shipId: number;
|
|
69
|
+
readonly amount: bigint;
|
|
70
|
+
} | {
|
|
71
|
+
readonly kind: 'load-cargo';
|
|
72
|
+
readonly cargoIds: readonly number[];
|
|
73
|
+
});
|
|
74
|
+
/** A requirement the deployment needs that the Character or StarbasePlayer
|
|
75
|
+
* does not meet today. `stage` indexes `stages`.
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* declare const prerequisite: FleetDeploymentPrerequisite;
|
|
79
|
+
* console.log(prerequisite.kind, prerequisite.message);
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export interface FleetDeploymentPrerequisite {
|
|
83
|
+
readonly kind: 'fleet-slot' | 'ship-size' | 'research' | 'fleet-size' | 'components';
|
|
84
|
+
readonly stage: number;
|
|
85
|
+
readonly message: string;
|
|
86
|
+
}
|
|
87
|
+
/** Storage a proposed Fleet deployment needs, stage by stage.
|
|
88
|
+
* @example
|
|
89
|
+
* ```ts
|
|
90
|
+
* declare const estimate: FleetDeploymentStorageEstimate;
|
|
91
|
+
* console.log(estimate.totalProfileDebit, estimate.unmetPrerequisites.length);
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export interface FleetDeploymentStorageEstimate {
|
|
95
|
+
readonly stages: readonly FleetDeploymentStorageStage[];
|
|
96
|
+
/** Sum of the stage debits. No refund or freed storage is credited, so this
|
|
97
|
+
* is also the peak the Profile must hold above its own rent reserve. */
|
|
98
|
+
readonly totalProfileDebit: bigint;
|
|
99
|
+
readonly unmetPrerequisites: readonly FleetDeploymentPrerequisite[];
|
|
100
|
+
readonly profile: Address;
|
|
101
|
+
readonly character: Address;
|
|
102
|
+
/** Slot of the StarbasePlayer read the estimate is based on. */
|
|
103
|
+
readonly observedSlot: bigint;
|
|
104
|
+
readonly rent: {
|
|
105
|
+
readonly lamportsPerByteYear: bigint;
|
|
106
|
+
readonly exemptionThreshold: number;
|
|
107
|
+
};
|
|
108
|
+
readonly profileUnit: 'lamports';
|
|
109
|
+
readonly transactionFees: 'excluded';
|
|
110
|
+
readonly characterResync: 'excluded';
|
|
111
|
+
toJSON(): unknown;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Estimates the Profile storage funding a proposed Fleet deployment needs
|
|
115
|
+
* before any of it runs: optionally disbanding a Docked Fleet, creating an
|
|
116
|
+
* empty Fleet, adding ship configurations in order (with their components) and
|
|
117
|
+
* loading its initial cargo hold. Each stage reports the accounts it settles,
|
|
118
|
+
* their sizes and rent minimums, and an upper bound on its Profile debit.
|
|
119
|
+
*
|
|
120
|
+
* Verified against the program's behaviour: each stage sets every resized
|
|
121
|
+
* account to the rent minimum of its new size, withdrawing a shortfall from
|
|
122
|
+
* the Profile. A disband grows the StarbasePlayer by a hangar entry per ship id
|
|
123
|
+
* and a cargo line per cargo id it lacks. Creation funds the empty Fleet less
|
|
124
|
+
* any lamports already at its address. Each assembly adds a ship line and the
|
|
125
|
+
* configuration's component lines to the Fleet, and a hangar entry to the
|
|
126
|
+
* StarbasePlayer when it has none for that configuration; it settles the
|
|
127
|
+
* StarbasePlayer's rent even when its size is unchanged. Loading cargo adds a
|
|
128
|
+
* cargo hold line per new cargo id; loading crew resizes nothing, so it has no
|
|
129
|
+
* stage. Observed balances count for the first stage that touches an account;
|
|
130
|
+
* later stages assume it was left at its rent minimum. The disbanded Fleet's
|
|
131
|
+
* refund, lines that empty and any other freed storage are never credited.
|
|
132
|
+
*
|
|
133
|
+
* Unmet Character or StarbasePlayer requirements (a free Fleet slot, maximum
|
|
134
|
+
* ship size, research, Fleet size, components) are listed, not enforced, so a
|
|
135
|
+
* roster can be sized before it is eligible. A roster no Character can field
|
|
136
|
+
* (above the Game's Fleet size, or too many Commanders or Titans) is refused.
|
|
137
|
+
* Hull availability, transaction fees, the Profile's own rent reserve and a
|
|
138
|
+
* Character resynchronization are not included. Plan each real stage with its
|
|
139
|
+
* planner after the previous one confirms.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts
|
|
143
|
+
* import { estimateFleetDeploymentStorage } from '@aephia/atlas-kit/fleets/actions';
|
|
144
|
+
*
|
|
145
|
+
* declare const ctx: SageContext;
|
|
146
|
+
* declare const starbasePlayer: Address;
|
|
147
|
+
* declare const oldFleet: Address;
|
|
148
|
+
* const estimate = await estimateFleetDeploymentStorage(ctx, {
|
|
149
|
+
* starbasePlayer,
|
|
150
|
+
* disband: oldFleet,
|
|
151
|
+
* label: 'Miner 6',
|
|
152
|
+
* ships: [{ shipId: 1301, amount: 1n }],
|
|
153
|
+
* cargoIds: [7560],
|
|
154
|
+
* });
|
|
155
|
+
* for (const stage of estimate.stages) console.log(stage.kind, stage.profileDebit);
|
|
156
|
+
* for (const missing of estimate.unmetPrerequisites) console.log(missing.message);
|
|
157
|
+
* console.log(`Profile needs ${estimate.totalProfileDebit} lamports above its reserve`);
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
export declare function estimateFleetDeploymentStorage(ctx: SageContext, input: FleetDeploymentStorageInput): Promise<FleetDeploymentStorageEstimate>;
|
|
161
|
+
//# sourceMappingURL=deployment-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-storage.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/deployment-storage.ts"],"names":[],"mappings":"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"}
|