@aephia/atlas-kit 0.6.0-next.16 → 0.6.0-next.160
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 +713 -742
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +21 -6
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +33 -19
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +1 -1
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +16 -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 +56 -0
- 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 +35 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
- package/dist/client/rpc-subscription-provider.js +190 -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 +42 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +95 -0
- package/dist/fleets/actions/crew-transfer.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 +89 -25
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +491 -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 +5 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +6 -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/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 +4 -4
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js +2 -1
- 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-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 +92 -0
- package/dist/internal/c4/discriminators.d.ts.map +1 -0
- package/dist/internal/c4/discriminators.js +188 -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 +7 -0
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
- package/dist/internal/c4/fleet-creation.js +171 -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 +27 -0
- package/dist/internal/c4/fleet-disband.d.ts.map +1 -0
- package/dist/internal/c4/fleet-disband.js +63 -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 +117 -32
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +227 -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 +2 -28
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +36 -161
- 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 +53 -39
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +204 -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 +28 -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 +129 -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-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 +19 -15
- package/dist/mining/actions/index.d.ts.map +1 -1
- package/dist/mining/actions/index.js +147 -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 +143 -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/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 +4 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +190 -224
- 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 +6 -4
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +34 -67
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/starbases/index.d.ts.map +1 -1
- package/dist/starbases/index.js +3 -11
- package/dist/starbases/index.js.map +1 -1
- package/dist/world/index.d.ts +108 -5
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +110 -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 +176 -0
- package/dist/world/starbase-status.d.ts.map +1 -0
- package/dist/world/starbase-status.js +153 -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,42 @@
|
|
|
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
|
+
* Planning never signs or submits. This transfer must execute alone.
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
25
|
+
* const plan = await planLoadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
26
|
+
* console.log(plan.describe());
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function planLoadFleetCrew(ctx: SageContext, fleet: Address, options: PlanFleetCrewTransferOptions): Promise<Plan>;
|
|
30
|
+
/** Unloads an explicit positive u16 crew count from a directly owned Docked Fleet into its canonical StarbasePlayer.
|
|
31
|
+
* Unloading every crew member is allowed while Docked; departure requires reloading required crew.
|
|
32
|
+
* Supports the same ordinary-crew and direct-key boundary as loading. Execute separately
|
|
33
|
+
* and refresh after confirmation before preparing another transfer or movement.
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
37
|
+
* const plan = await planUnloadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
38
|
+
* console.log(plan.describe());
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function planUnloadFleetCrew(ctx: SageContext, fleet: Address, options: PlanFleetCrewTransferOptions): Promise<Plan>;
|
|
42
|
+
//# 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;AAiFD;;;;;;;;;;;;GAYG;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,95 @@
|
|
|
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. 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
|
+
describes: 'Direct authority, canonical docking generation, ordinary crew state, current capacity and available source crew remain valid.',
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
steps: [
|
|
56
|
+
{
|
|
57
|
+
instruction: crewTransferInstruction({ ...intent, ...resolved }),
|
|
58
|
+
describes: summary,
|
|
59
|
+
signers: [intent.authority],
|
|
60
|
+
semantics: [{ kind: 'exclusive', scope: 'transaction' }],
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/** Loads an explicit positive u16 crew count from the canonical StarbasePlayer into a directly owned Docked Fleet.
|
|
66
|
+
* Requires a direct Profile key with AUTH, or with the SAGE manage-crew
|
|
67
|
+
* permission scoped to SAGE or this Fleet; current ship definitions; no
|
|
68
|
+
* Character roster; and an absent or exact-neutral Fleet binding. Rented crew are unsupported.
|
|
69
|
+
* Available Starbase crew exclude busy crew; capacity includes required crew and passengers.
|
|
70
|
+
* Planning never signs or submits. This transfer must execute alone.
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
74
|
+
* const plan = await planLoadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
75
|
+
* console.log(plan.describe());
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export function planLoadFleetCrew(ctx, fleet, options) {
|
|
79
|
+
return planTransfer(ctx, fleet, options, 'load');
|
|
80
|
+
}
|
|
81
|
+
/** Unloads an explicit positive u16 crew count from a directly owned Docked Fleet into its canonical StarbasePlayer.
|
|
82
|
+
* Unloading every crew member is allowed while Docked; departure requires reloading required crew.
|
|
83
|
+
* Supports the same ordinary-crew and direct-key boundary as loading. Execute separately
|
|
84
|
+
* and refresh after confirmation before preparing another transfer or movement.
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
88
|
+
* const plan = await planUnloadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
89
|
+
* console.log(plan.describe());
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export function planUnloadFleetCrew(ctx, fleet, options) {
|
|
93
|
+
return planTransfer(ctx, fleet, options, 'unload');
|
|
94
|
+
}
|
|
95
|
+
//# 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,42 @@
|
|
|
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
|
+
/** Explicit address-only authorization for disbanding an owned Docked Fleet.
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* declare const profile: Address, authority: Address;
|
|
9
|
+
* const options: PlanFleetDisbandOptions = { authorization: { profile, authority, keyIndex: 0 } };
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface PlanFleetDisbandOptions {
|
|
13
|
+
readonly authorization: PlanAuthorization;
|
|
14
|
+
}
|
|
15
|
+
/** Plans disbanding an owned Docked Fleet, the game's only way to take a Fleet
|
|
16
|
+
* apart. Verified against the program's behaviour: the Fleet's ships return to
|
|
17
|
+
* the StarbasePlayer's hangar where it is Docked, its crew to that
|
|
18
|
+
* StarbasePlayer, and its fuel, ammo, cargo hold and components merge into the
|
|
19
|
+
* StarbasePlayer's cargo. The Character's Fleet slot is freed and the Fleet
|
|
20
|
+
* closes, refunding its rent to the Profile. To replace a composition, disband,
|
|
21
|
+
* confirm, then plan `planCreateFleet` and `planAddShipToFleet` from fresh
|
|
22
|
+
* state; disband and creation for the same Character cannot be combined.
|
|
23
|
+
*
|
|
24
|
+
* The Fleet must be a canonical owned player Fleet, not rented, Docked at a
|
|
25
|
+
* Starbase where the Character has a current StarbasePlayer of its faction,
|
|
26
|
+
* fully repaired, with no warp or scan cooldown running. The program also
|
|
27
|
+
* needs full AP and SP, which recover on timers and stay chain-authoritative.
|
|
28
|
+
* Uses a direct Profile AUTH key or a manageFleet key scoped to SAGE or the
|
|
29
|
+
* Fleet. New hangar entries and cargo lines grow the StarbasePlayer, and the
|
|
30
|
+
* program funds that growth from the Profile vault; that debit is bounded and
|
|
31
|
+
* rechecked before signing, but it is not an atomic on-chain spending cap.
|
|
32
|
+
* Any change to the Fleet after planning refuses the Plan. Simulate before
|
|
33
|
+
* signing, then read the StarbasePlayer back after confirmation.
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* declare const ctx: SageContext, fleet: Address, profile: Address, authority: Address;
|
|
37
|
+
* const plan = await planFleetDisband(ctx, fleet, { authorization: { profile, authority, keyIndex: 0 } });
|
|
38
|
+
* console.log(plan.describe());
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function planFleetDisband(ctx: SageContext, fleet: Address, input: PlanFleetDisbandOptions): Promise<Plan>;
|
|
42
|
+
//# sourceMappingURL=disband.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disband.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/disband.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAS1F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;CAC3C;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAiFf"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
|
|
2
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
3
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
4
|
+
import { fleetAccountDefinition } from '../../internal/c4/fleet.js';
|
|
5
|
+
import { disbandFleetInstruction } from '../../internal/c4/fleet-disband.js';
|
|
6
|
+
import { accountStatePrecondition } from '../../internal/planning/account-state.js';
|
|
7
|
+
import { readDirectOptions } from '../../internal/planning/direct-options.js';
|
|
8
|
+
import { readDisbandStorageAction } from '../../internal/planning/disband-storage-actions.js';
|
|
9
|
+
import { disbandSemantics } from '../../internal/planning/fleet-disband-guard.js';
|
|
10
|
+
import { resolveFleetDisband, validateFleetDisband, } from '../../internal/planning/fleet-disband.js';
|
|
11
|
+
import { planStorageFunding } from '../../internal/planning/storage-actions.js';
|
|
12
|
+
import { buildPlannerPlan } from '../../planning/plan-construction.js';
|
|
13
|
+
function options(input) {
|
|
14
|
+
const { authorization } = readDirectOptions(input, ['authorization'], () => {
|
|
15
|
+
throw new InvalidActionInputError('options', input, 'authorization only; direct authority, Profile and u16 keyIndex', 'Pass address-only disband options. Certificates are unsupported; use a direct Profile key.');
|
|
16
|
+
});
|
|
17
|
+
return { authorization };
|
|
18
|
+
}
|
|
19
|
+
/** Plans disbanding an owned Docked Fleet, the game's only way to take a Fleet
|
|
20
|
+
* apart. Verified against the program's behaviour: the Fleet's ships return to
|
|
21
|
+
* the StarbasePlayer's hangar where it is Docked, its crew to that
|
|
22
|
+
* StarbasePlayer, and its fuel, ammo, cargo hold and components merge into the
|
|
23
|
+
* StarbasePlayer's cargo. The Character's Fleet slot is freed and the Fleet
|
|
24
|
+
* closes, refunding its rent to the Profile. To replace a composition, disband,
|
|
25
|
+
* confirm, then plan `planCreateFleet` and `planAddShipToFleet` from fresh
|
|
26
|
+
* state; disband and creation for the same Character cannot be combined.
|
|
27
|
+
*
|
|
28
|
+
* The Fleet must be a canonical owned player Fleet, not rented, Docked at a
|
|
29
|
+
* Starbase where the Character has a current StarbasePlayer of its faction,
|
|
30
|
+
* fully repaired, with no warp or scan cooldown running. The program also
|
|
31
|
+
* needs full AP and SP, which recover on timers and stay chain-authoritative.
|
|
32
|
+
* Uses a direct Profile AUTH key or a manageFleet key scoped to SAGE or the
|
|
33
|
+
* Fleet. New hangar entries and cargo lines grow the StarbasePlayer, and the
|
|
34
|
+
* program funds that growth from the Profile vault; that debit is bounded and
|
|
35
|
+
* rechecked before signing, but it is not an atomic on-chain spending cap.
|
|
36
|
+
* Any change to the Fleet after planning refuses the Plan. Simulate before
|
|
37
|
+
* signing, then read the StarbasePlayer back after confirmation.
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* declare const ctx: SageContext, fleet: Address, profile: Address, authority: Address;
|
|
41
|
+
* const plan = await planFleetDisband(ctx, fleet, { authorization: { profile, authority, keyIndex: 0 } });
|
|
42
|
+
* console.log(plan.describe());
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export async function planFleetDisband(ctx, fleet, input) {
|
|
46
|
+
const { authorization } = options(input);
|
|
47
|
+
const game = requireGameAddress(ctx);
|
|
48
|
+
const [fleetRaw] = await readContextRawAccounts(ctx, [fleet]);
|
|
49
|
+
if (!fleetRaw || fleetRaw.executable)
|
|
50
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'The selected Fleet is missing or executable. Refresh a valid owned Fleet and replan the disband.', { address: fleet });
|
|
51
|
+
const docked = fleetAccountDefinition.decode(fleetRaw).state;
|
|
52
|
+
if (docked.kind !== 'docked')
|
|
53
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Only a Docked Fleet can disband. Dock it at a Starbase where the Character has a current StarbasePlayer and replan.', { address: fleet });
|
|
54
|
+
const intent = {
|
|
55
|
+
game,
|
|
56
|
+
profile: authorization.profile,
|
|
57
|
+
authority: authorization.authority,
|
|
58
|
+
keyIndex: authorization.keyIndex,
|
|
59
|
+
fleet,
|
|
60
|
+
system: docked.system,
|
|
61
|
+
};
|
|
62
|
+
const resolved = await resolveFleetDisband(intent);
|
|
63
|
+
const addresses = [
|
|
64
|
+
resolved.profile,
|
|
65
|
+
resolved.character,
|
|
66
|
+
resolved.profileFaction,
|
|
67
|
+
resolved.system,
|
|
68
|
+
resolved.starbasePlayer,
|
|
69
|
+
resolved.rent,
|
|
70
|
+
resolved.clock,
|
|
71
|
+
];
|
|
72
|
+
const raw = await readContextRawAccounts(ctx, addresses);
|
|
73
|
+
const accounts = new Map(addresses.map((address, index) => [address, raw[index]]));
|
|
74
|
+
accounts.set(fleet, fleetRaw);
|
|
75
|
+
const { fleet: data } = await validateFleetDisband(intent, resolved, accounts);
|
|
76
|
+
const instruction = disbandFleetInstruction({
|
|
77
|
+
...intent,
|
|
78
|
+
character: resolved.character,
|
|
79
|
+
starbasePlayer: resolved.starbasePlayer,
|
|
80
|
+
});
|
|
81
|
+
const storage = planStorageFunding({
|
|
82
|
+
action: readDisbandStorageAction(instruction, accounts),
|
|
83
|
+
accounts,
|
|
84
|
+
label: 'Fleet disband',
|
|
85
|
+
});
|
|
86
|
+
const ships = data.fleetShips
|
|
87
|
+
.map(({ shipId, quantity }) => `${String(quantity)} of configuration ${String(shipId)}`)
|
|
88
|
+
.join(', ');
|
|
89
|
+
const summary = `Disband Fleet ${data.name} (${fleet}) at StarbasePlayer ${resolved.starbasePlayer}: ${ships || 'no ships'} return to its hangar, ${String(data.crewCount)} crew return to it, and the Fleet's fuel, ammo, cargo hold and components merge into its cargo. The Character's Fleet slot is freed, and the Fleet closes, refunding its ${String(fleetRaw.lamports)}-lamport balance to Profile ${intent.profile}. ${storage.disclosure} The program also needs full AP and SP when the instruction runs. Transaction fees are separate. Simulate before signing; the chain stays authoritative.`;
|
|
90
|
+
return buildPlannerPlan({
|
|
91
|
+
kind: 'fleets.disband',
|
|
92
|
+
summary,
|
|
93
|
+
preconditions: [
|
|
94
|
+
await accountStatePrecondition(fleetRaw, `Fleet ${data.name} keeps its ships, crew, cargo, Docked state, repair and cooldowns as planned.`),
|
|
95
|
+
storage.guard,
|
|
96
|
+
],
|
|
97
|
+
steps: [
|
|
98
|
+
{
|
|
99
|
+
describes: summary,
|
|
100
|
+
instruction,
|
|
101
|
+
signers: [intent.authority],
|
|
102
|
+
semantics: disbandSemantics(instruction),
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=disband.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disband.js","sourceRoot":"","sources":["../../../src/fleets/actions/disband.ts"],"names":[],"mappings":"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"}
|