@aephia/atlas-kit 0.6.0-next.8 → 0.6.0-next.80
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 +3 -1
- package/dist/cargo/actions/deposit.d.ts +1 -1
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +25 -12
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +3 -2
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-token.d.ts +1 -1
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-token.js +1 -9
- package/dist/cargo/actions/wallet-token.js.map +1 -1
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
- package/dist/cargo/actions/withdrawal.js +22 -10
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts +13 -0
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +95 -44
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +14 -0
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +23 -2
- 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/errors.d.ts +6 -2
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +31 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -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.map +1 -1
- package/dist/combat/actions/index.js +98 -50
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/crafting/actions/index.d.ts +11 -0
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +60 -29
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts +31 -2
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +41 -14
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +1 -0
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts +1 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +14 -8
- 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 +35 -0
- package/dist/fleets/actions/add-ship.d.ts.map +1 -0
- package/dist/fleets/actions/add-ship.js +149 -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 +138 -0
- package/dist/fleets/actions/create-fleet.js.map +1 -0
- package/dist/fleets/actions/crew-transfer.d.ts +41 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +114 -0
- package/dist/fleets/actions/crew-transfer.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +33 -15
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +168 -110
- 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 +122 -0
- package/dist/fleets/actions/respawn.js.map +1 -0
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +37 -11
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/cooldown.d.ts +44 -0
- package/dist/fleets/cooldown.d.ts.map +1 -0
- package/dist/fleets/cooldown.js +43 -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 +34 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +51 -2
- 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 +41 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -0
- package/dist/fleets/subwarp-estimate.d.ts +70 -0
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
- package/dist/fleets/subwarp-estimate.js +38 -0
- package/dist/fleets/subwarp-estimate.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 +68 -0
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
- package/dist/fleets/warp-lane-policy.js +91 -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 +56 -0
- package/dist/identity/actions/create-profile.d.ts.map +1 -0
- package/dist/identity/actions/create-profile.js +139 -0
- package/dist/identity/actions/create-profile.js.map +1 -0
- package/dist/identity/actions/index.d.ts +4 -3
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +49 -27
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/index.d.ts +15 -0
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +15 -0
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +124 -0
- package/dist/identity/permissions.d.ts.map +1 -0
- package/dist/identity/permissions.js +171 -0
- package/dist/identity/permissions.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- 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/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/claim-stake.d.ts +4 -27
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +25 -38
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +0 -27
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +0 -33
- 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.d.ts +11 -31
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +26 -43
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/faction-adapter.d.ts +12 -0
- package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
- package/dist/internal/c4/faction-adapter.js +52 -0
- package/dist/internal/c4/faction-adapter.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 +31 -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 +48 -0
- package/dist/internal/c4/faction-treasury.js.map +1 -0
- package/dist/internal/c4/factions.d.ts +9 -57
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +21 -139
- 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 +180 -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 +15 -0
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +19 -0
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/c4/fleet-respawn.js +91 -0
- package/dist/internal/c4/fleet-respawn.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.js +44 -0
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts +45 -19
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +26 -7
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +27 -9
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +77 -14
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -7
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +2 -23
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/loyalty.d.ts +0 -27
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +0 -33
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +2 -38
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +13 -51
- 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/profile-creation.d.ts +17 -0
- package/dist/internal/c4/profile-creation.d.ts.map +1 -0
- package/dist/internal/c4/profile-creation.js +36 -0
- package/dist/internal/c4/profile-creation.js.map +1 -0
- package/dist/internal/c4/profile-permissions.d.ts +14 -0
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
- package/dist/internal/c4/profile-permissions.js +81 -0
- package/dist/internal/c4/profile-permissions.js.map +1 -0
- 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 +0 -27
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +0 -33
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +3 -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 +306 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +258 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +1 -28
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +2 -33
- 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 +25 -21
- 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 +3 -41
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/world.d.ts +36 -7
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +58 -25
- 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.d.ts +1 -0
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +3 -1
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
- package/dist/internal/loyalty-atlas-bank-state.js +10 -0
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
- 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 +20 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +187 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +6 -6
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +81 -16
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- 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 +58 -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 +86 -0
- package/dist/internal/planning/character-registration.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 +198 -0
- package/dist/internal/planning/democracy-history.js.map +1 -0
- 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 +105 -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 +110 -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 +107 -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 +47 -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 +131 -0
- package/dist/internal/planning/fleet-crew-transfer.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 +36 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.js +136 -0
- package/dist/internal/planning/fleet-ship-assembly.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 +239 -0
- package/dist/internal/planning/governance-fees.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 +41 -0
- package/dist/internal/planning/mining-stop.js.map +1 -0
- package/dist/internal/planning/movement-character.d.ts +7 -0
- package/dist/internal/planning/movement-character.d.ts.map +1 -0
- package/dist/internal/planning/movement-character.js +41 -0
- package/dist/internal/planning/movement-character.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 +103 -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 +31 -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 +84 -0
- package/dist/internal/planning/open-signal.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 +41 -0
- package/dist/internal/planning/respawn-guards.js.map +1 -0
- package/dist/internal/planning/runtime-guards.d.ts +43 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +636 -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 +94 -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 +196 -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 +244 -0
- package/dist/internal/planning/scan-detect.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/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 +52 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +2 -4
- package/dist/internal/planning/ship-token.js.map +1 -1
- 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 +93 -0
- package/dist/internal/planning/starbase-system-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system.d.ts +12 -0
- package/dist/internal/planning/starbase-system.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system.js +22 -0
- package/dist/internal/planning/starbase-system.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts +4 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -0
- package/dist/internal/planning/token-mint.js +15 -0
- package/dist/internal/planning/token-mint.js.map +1 -0
- 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/xp-runtime.d.ts +36 -0
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
- package/dist/internal/planning/xp-runtime.js +126 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +4 -3
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +2 -6
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +4 -3
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +48 -24
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +43 -0
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
- package/dist/markets/actions/trade-faction-market.js +291 -0
- package/dist/markets/actions/trade-faction-market.js.map +1 -0
- package/dist/markets/index.d.ts +7 -7
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +9 -9
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +84 -0
- package/dist/mining/actions/index.d.ts.map +1 -0
- package/dist/mining/actions/index.js +328 -0
- package/dist/mining/actions/index.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 +8 -2
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +6 -2
- package/dist/mining/index.js.map +1 -1
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +18 -0
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +382 -16
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +170 -149
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +828 -121
- package/dist/planning/index.js.map +1 -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/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 +6 -11
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +19 -19
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/index.d.ts +4 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +8 -1
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +18 -5
- 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.js +19 -19
- 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 +28 -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/scanning/actions/index.d.ts +116 -0
- package/dist/scanning/actions/index.d.ts.map +1 -0
- package/dist/scanning/actions/index.js +185 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +4 -1
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +12 -8
- 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 +111 -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 +121 -0
- package/dist/scanning/signals.d.ts.map +1 -0
- package/dist/scanning/signals.js +171 -0
- package/dist/scanning/signals.js.map +1 -0
- package/dist/world/index.d.ts +110 -5
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +109 -4
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +130 -0
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
- package/dist/world/planet-claim-stake-plots.js +110 -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 +10 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-ship.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/add-ship.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAS1F,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAChE;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AA8DD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA4Ff"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { isAddress, isOffCurveAddress } 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 { createPlan } from '../../planning/index.js';
|
|
10
|
+
function options(input) {
|
|
11
|
+
const bad = () => {
|
|
12
|
+
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 and other access routes are unsupported; use a direct Profile key and an existing own-faction StarbasePlayer.');
|
|
13
|
+
};
|
|
14
|
+
if (input === null || typeof input !== 'object' || Array.isArray(input))
|
|
15
|
+
bad();
|
|
16
|
+
const value = input;
|
|
17
|
+
if (Object.keys(value).length !== 3 ||
|
|
18
|
+
!Object.hasOwn(value, 'authorization') ||
|
|
19
|
+
!Object.hasOwn(value, 'shipId') ||
|
|
20
|
+
!Object.hasOwn(value, 'amount'))
|
|
21
|
+
bad();
|
|
22
|
+
const authorization = value.authorization;
|
|
23
|
+
if (authorization === null ||
|
|
24
|
+
typeof authorization !== 'object' ||
|
|
25
|
+
Array.isArray(authorization))
|
|
26
|
+
bad();
|
|
27
|
+
const a = authorization;
|
|
28
|
+
if (Object.keys(a).length !== 3 ||
|
|
29
|
+
!Object.hasOwn(a, 'profile') ||
|
|
30
|
+
!Object.hasOwn(a, 'authority') ||
|
|
31
|
+
!Object.hasOwn(a, 'keyIndex') ||
|
|
32
|
+
typeof a.profile !== 'string' ||
|
|
33
|
+
!isAddress(a.profile) ||
|
|
34
|
+
typeof a.authority !== 'string' ||
|
|
35
|
+
!isAddress(a.authority) ||
|
|
36
|
+
isOffCurveAddress(a.authority) ||
|
|
37
|
+
!Number.isInteger(a.keyIndex) ||
|
|
38
|
+
typeof a.keyIndex !== 'number' ||
|
|
39
|
+
a.keyIndex < 0 ||
|
|
40
|
+
a.keyIndex > 65535 ||
|
|
41
|
+
typeof value.shipId !== 'number' ||
|
|
42
|
+
!Number.isInteger(value.shipId) ||
|
|
43
|
+
value.shipId < 0 ||
|
|
44
|
+
value.shipId > 65535 ||
|
|
45
|
+
typeof value.amount !== 'bigint' ||
|
|
46
|
+
value.amount < 1n ||
|
|
47
|
+
value.amount > 255n)
|
|
48
|
+
bad();
|
|
49
|
+
return {
|
|
50
|
+
authorization: {
|
|
51
|
+
profile: a.profile,
|
|
52
|
+
authority: a.authority,
|
|
53
|
+
keyIndex: a.keyIndex,
|
|
54
|
+
},
|
|
55
|
+
shipId: value.shipId,
|
|
56
|
+
amount: value.amount,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/** Plans one singleton transfer of an exact ship configuration from StarbasePlayer entitlement to an owned Docked Fleet.
|
|
60
|
+
* Supports requirements-free XXS ships at own-faction CSS Starbases, current Fleet
|
|
61
|
+
* definition sequences and both Character and Game ship-assembly capacity limits.
|
|
62
|
+
* The explicit ship ID must be a u16 and the whole ship amount must be 1n through 255n. Uses a direct Profile
|
|
63
|
+
* AUTH or SAGE manageFleet key; a positive Profile rent shortfall additionally
|
|
64
|
+
* requires vault-funding permission. No token transfer or onboarding occurs.
|
|
65
|
+
* Final stats, research, refresh and outcomes remain chain-authoritative.
|
|
66
|
+
* Simulate before signing. The observed debit ceiling is rechecked before
|
|
67
|
+
* signing and is not an atomic on-chain spending cap. Two assembly Plans for the same Profile
|
|
68
|
+
* cannot compose because they share funds and assembly state.
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* declare const ctx:SageContext, fleet:Address, profile:Address, authority:Address;
|
|
72
|
+
* const plan = await planAddShipToFleet(ctx,fleet,{authorization:{profile,authority,keyIndex:0},shipId:1,amount:1n});
|
|
73
|
+
* console.log(plan.describe());
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export async function planAddShipToFleet(ctx, fleet, input) {
|
|
77
|
+
const captured = options(input);
|
|
78
|
+
if (typeof fleet !== 'string' || !isAddress(fleet))
|
|
79
|
+
throw new InvalidActionInputError('fleet', fleet, 'a Fleet address', 'Select an owned Fleet and replan ship assembly.');
|
|
80
|
+
const game = requireGameAddress(ctx);
|
|
81
|
+
const [fleetRaw] = await readContextRawAccounts(ctx, [fleet]);
|
|
82
|
+
if (!fleetRaw || fleetRaw.address !== fleet || fleetRaw.executable)
|
|
83
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'The selected Fleet is missing, executable or has a contradictory address. Refresh a valid owned Fleet and replan.');
|
|
84
|
+
const decoded = fleetAccountDefinition.decode(fleetRaw);
|
|
85
|
+
if (decoded.state.kind !== 'docked')
|
|
86
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Ship assembly currently requires a Docked Fleet. Dock at an own-faction CSS Starbase and replan.');
|
|
87
|
+
const intent = {
|
|
88
|
+
address: fleet,
|
|
89
|
+
game,
|
|
90
|
+
profile: captured.authorization.profile,
|
|
91
|
+
authority: captured.authorization.authority,
|
|
92
|
+
keyIndex: captured.authorization.keyIndex,
|
|
93
|
+
system: decoded.state.system,
|
|
94
|
+
shipId: captured.shipId,
|
|
95
|
+
amount: captured.amount,
|
|
96
|
+
};
|
|
97
|
+
const resolved = await resolveFleetShipAssembly(intent);
|
|
98
|
+
const addresses = [
|
|
99
|
+
resolved.profile,
|
|
100
|
+
resolved.character,
|
|
101
|
+
resolved.profileFaction,
|
|
102
|
+
resolved.system,
|
|
103
|
+
resolved.starbasePlayer,
|
|
104
|
+
resolved.rent,
|
|
105
|
+
resolved.clock,
|
|
106
|
+
];
|
|
107
|
+
const [{ rawAccount, catalog }, raw] = await Promise.all([
|
|
108
|
+
readFreshGameShipAssemblyCatalog(ctx),
|
|
109
|
+
readContextRawAccounts(ctx, addresses),
|
|
110
|
+
]);
|
|
111
|
+
const accounts = new Map(addresses.map((address, index) => [address, raw[index]]));
|
|
112
|
+
accounts.set(fleet, fleetRaw);
|
|
113
|
+
accounts.set(game, rawAccount);
|
|
114
|
+
const { profileDebit, configHash } = await validateFleetShipAssembly(intent, resolved, accounts, undefined, catalog);
|
|
115
|
+
const summary = `Add ${intent.amount} of ship configuration ${intent.shipId} from StarbasePlayer ${resolved.starbasePlayer} to Fleet ${fleet}. 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.`;
|
|
116
|
+
return createPlan({
|
|
117
|
+
kind: 'fleets.add-ship',
|
|
118
|
+
summary,
|
|
119
|
+
preconditions: [
|
|
120
|
+
{
|
|
121
|
+
kind: 'fleet-add-ship',
|
|
122
|
+
...intent,
|
|
123
|
+
configHash,
|
|
124
|
+
maximumProfileDebit: profileDebit,
|
|
125
|
+
describes: 'Ship assembly retains canonical relationships, supported configuration, exact entitlement, capacity, direct-key permission and affordable rent within the observed Profile debit.',
|
|
126
|
+
},
|
|
127
|
+
],
|
|
128
|
+
steps: [
|
|
129
|
+
{
|
|
130
|
+
describes: summary,
|
|
131
|
+
instruction: addShipToFleetInstruction(intent, resolved),
|
|
132
|
+
signers: [intent.authority],
|
|
133
|
+
semantics: [
|
|
134
|
+
{
|
|
135
|
+
kind: 'requires',
|
|
136
|
+
resource: `profile:${intent.profile}`,
|
|
137
|
+
fact: 'fleet-ship-assembly',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
kind: 'invalidates',
|
|
141
|
+
resource: `profile:${intent.profile}`,
|
|
142
|
+
fact: 'fleet-ship-assembly',
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
//# 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,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAU7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;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;AAyDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAuEf"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { isAddress, isOffCurveAddress } 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 { createPlan } from '../../planning/index.js';
|
|
8
|
+
import { readFreshGameForCharacterRegistration } from '../../registry/onboarding.js';
|
|
9
|
+
function options(input) {
|
|
10
|
+
const bad = () => {
|
|
11
|
+
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.');
|
|
12
|
+
};
|
|
13
|
+
if (input === null || typeof input !== 'object' || Array.isArray(input))
|
|
14
|
+
bad();
|
|
15
|
+
const value = input;
|
|
16
|
+
if (Object.keys(value).length !== 3 ||
|
|
17
|
+
!Object.hasOwn(value, 'authorization') ||
|
|
18
|
+
!Object.hasOwn(value, 'system') ||
|
|
19
|
+
!Object.hasOwn(value, 'label'))
|
|
20
|
+
bad();
|
|
21
|
+
const authorization = value.authorization;
|
|
22
|
+
if (authorization === null ||
|
|
23
|
+
typeof authorization !== 'object' ||
|
|
24
|
+
Array.isArray(authorization))
|
|
25
|
+
bad();
|
|
26
|
+
const a = authorization;
|
|
27
|
+
if (Object.keys(a).length !== 3 ||
|
|
28
|
+
!Object.hasOwn(a, 'profile') ||
|
|
29
|
+
!Object.hasOwn(a, 'authority') ||
|
|
30
|
+
!Object.hasOwn(a, 'keyIndex') ||
|
|
31
|
+
typeof a.profile !== 'string' ||
|
|
32
|
+
!isAddress(a.profile) ||
|
|
33
|
+
typeof a.authority !== 'string' ||
|
|
34
|
+
!isAddress(a.authority) ||
|
|
35
|
+
isOffCurveAddress(a.authority) ||
|
|
36
|
+
!Number.isInteger(a.keyIndex) ||
|
|
37
|
+
typeof a.keyIndex !== 'number' ||
|
|
38
|
+
a.keyIndex < 0 ||
|
|
39
|
+
a.keyIndex > 65535 ||
|
|
40
|
+
typeof value.system !== 'string' ||
|
|
41
|
+
!isAddress(value.system))
|
|
42
|
+
bad();
|
|
43
|
+
validateFleetCreationLabel(value.label);
|
|
44
|
+
return {
|
|
45
|
+
authorization: {
|
|
46
|
+
profile: a.profile,
|
|
47
|
+
authority: a.authority,
|
|
48
|
+
keyIndex: a.keyIndex,
|
|
49
|
+
},
|
|
50
|
+
system: value.system,
|
|
51
|
+
label: value.label,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** Plans a standalone empty Docked Fleet, without signing or submitting.
|
|
55
|
+
* Derives all account addresses from the configured Game, Profile, exact label
|
|
56
|
+
* and System. Accepted label bytes are preserved. Requires an existing own-faction
|
|
57
|
+
* StarbasePlayer, a direct Profile AUTH or SAGE manageFleet key, and available
|
|
58
|
+
* stored Character capacity. The Profile pays only the Fleet target's rent
|
|
59
|
+
* shortfall; a non-AUTH key needs drainSolVault only for a positive debit.
|
|
60
|
+
* The observed debit is checked again before signing; it is not an atomic
|
|
61
|
+
* on-chain spending cap. Final rent and funding remain chain-authoritative.
|
|
62
|
+
* No implicit key grants, registration or funding occurs. Final modifier refresh
|
|
63
|
+
* and deployed eligibility remain chain-authoritative: simulate before signing.
|
|
64
|
+
* Creation Plans for the same Character cannot be combined.
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* declare const ctx:SageContext, profile:Address, authority:Address, system:Address;
|
|
68
|
+
* const plan=await planCreateFleet(ctx,{authorization:{profile,authority,keyIndex:0},system,label:'Scout'});
|
|
69
|
+
* console.log(plan.describe());
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export async function planCreateFleet(ctx, input) {
|
|
73
|
+
const captured = options(input);
|
|
74
|
+
const game = requireGameAddress(ctx);
|
|
75
|
+
const intent = {
|
|
76
|
+
game,
|
|
77
|
+
profile: captured.authorization.profile,
|
|
78
|
+
authority: captured.authorization.authority,
|
|
79
|
+
keyIndex: captured.authorization.keyIndex,
|
|
80
|
+
system: captured.system,
|
|
81
|
+
label: captured.label,
|
|
82
|
+
};
|
|
83
|
+
const resolved = await resolveFleetCreation(intent);
|
|
84
|
+
const addresses = [
|
|
85
|
+
resolved.profile,
|
|
86
|
+
resolved.character,
|
|
87
|
+
resolved.profileFaction,
|
|
88
|
+
resolved.system,
|
|
89
|
+
resolved.starbasePlayer,
|
|
90
|
+
resolved.fleet,
|
|
91
|
+
resolved.rent,
|
|
92
|
+
resolved.clock,
|
|
93
|
+
];
|
|
94
|
+
const [gameAccount, raw] = await Promise.all([
|
|
95
|
+
readFreshGameForCharacterRegistration(ctx),
|
|
96
|
+
readContextRawAccounts(ctx, addresses),
|
|
97
|
+
]);
|
|
98
|
+
const { profileDebit } = await validateFleetCreation(intent, resolved, new Map(addresses.map((address, index) => [address, raw[index]])));
|
|
99
|
+
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.`;
|
|
100
|
+
return createPlan({
|
|
101
|
+
kind: 'fleets.create-fleet',
|
|
102
|
+
summary,
|
|
103
|
+
preconditions: [
|
|
104
|
+
{
|
|
105
|
+
kind: 'game-account',
|
|
106
|
+
address: gameAccount.address,
|
|
107
|
+
describes: 'The configured Game remains valid; unrelated definitions may change.',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
kind: 'fleet-create',
|
|
111
|
+
address: resolved.fleet,
|
|
112
|
+
...intent,
|
|
113
|
+
maximumProfileDebit: profileDebit,
|
|
114
|
+
describes: 'Fleet creation retains canonical relationships, direct-key permission, available capacity and funding within the approved Profile debit.',
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
steps: [
|
|
118
|
+
{
|
|
119
|
+
describes: summary,
|
|
120
|
+
instruction: createFleetInstruction(intent, resolved),
|
|
121
|
+
signers: [intent.authority],
|
|
122
|
+
semantics: [
|
|
123
|
+
{
|
|
124
|
+
kind: 'requires',
|
|
125
|
+
resource: `character:${resolved.character}`,
|
|
126
|
+
fact: 'fleet-creation-capacity',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
kind: 'invalidates',
|
|
130
|
+
resource: `character:${resolved.character}`,
|
|
131
|
+
fact: 'fleet-creation-capacity',
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
//# 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,41 @@
|
|
|
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 AUTH key, current ship definitions, no Character roster,
|
|
18
|
+
* and an absent or exact-neutral Fleet binding. Rented crew are unsupported.
|
|
19
|
+
* Available Starbase crew exclude busy crew; capacity includes required crew and passengers.
|
|
20
|
+
* Planning never signs or submits. This transfer must execute alone.
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
24
|
+
* const plan = await planLoadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
25
|
+
* console.log(plan.describe());
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function planLoadFleetCrew(ctx: SageContext, fleet: Address, options: PlanFleetCrewTransferOptions): Promise<Plan>;
|
|
29
|
+
/** Unloads an explicit positive u16 crew count from a directly owned Docked Fleet into its canonical StarbasePlayer.
|
|
30
|
+
* Unloading every crew member is allowed while Docked; departure requires reloading required crew.
|
|
31
|
+
* Supports the same ordinary-crew and direct AUTH boundary as loading. Execute separately
|
|
32
|
+
* and refresh after confirmation before preparing another transfer or movement.
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
36
|
+
* const plan = await planUnloadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
37
|
+
* console.log(plan.describe());
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function planUnloadFleetCrew(ctx: SageContext, fleet: Address, options: PlanFleetCrewTransferOptions): Promise<Plan>;
|
|
41
|
+
//# 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,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAK7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAChE;;;;;;GAMG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAsGD;;;;;;;;;;;GAWG;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,114 @@
|
|
|
1
|
+
import { isAddress, isOffCurveAddress } 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 { createPlan } from '../../planning/index.js';
|
|
7
|
+
function options(input) {
|
|
8
|
+
const bad = () => {
|
|
9
|
+
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.');
|
|
10
|
+
};
|
|
11
|
+
if (input === null || typeof input !== 'object' || Array.isArray(input))
|
|
12
|
+
bad();
|
|
13
|
+
const value = input;
|
|
14
|
+
if (Object.keys(value).length !== 2 ||
|
|
15
|
+
!Object.hasOwn(value, 'authorization') ||
|
|
16
|
+
!Object.hasOwn(value, 'count'))
|
|
17
|
+
bad();
|
|
18
|
+
const authorization = value.authorization;
|
|
19
|
+
if (authorization === null ||
|
|
20
|
+
typeof authorization !== 'object' ||
|
|
21
|
+
Array.isArray(authorization))
|
|
22
|
+
bad();
|
|
23
|
+
const a = authorization;
|
|
24
|
+
if (Object.keys(a).length !== 3 ||
|
|
25
|
+
!Object.hasOwn(a, 'profile') ||
|
|
26
|
+
!Object.hasOwn(a, 'authority') ||
|
|
27
|
+
!Object.hasOwn(a, 'keyIndex') ||
|
|
28
|
+
typeof a.profile !== 'string' ||
|
|
29
|
+
!isAddress(a.profile) ||
|
|
30
|
+
typeof a.authority !== 'string' ||
|
|
31
|
+
!isAddress(a.authority) ||
|
|
32
|
+
isOffCurveAddress(a.authority) ||
|
|
33
|
+
!Number.isInteger(a.keyIndex) ||
|
|
34
|
+
typeof a.keyIndex !== 'number' ||
|
|
35
|
+
a.keyIndex < 0 ||
|
|
36
|
+
a.keyIndex > 65535 ||
|
|
37
|
+
typeof value.count !== 'number' ||
|
|
38
|
+
!Number.isInteger(value.count) ||
|
|
39
|
+
value.count < 1 ||
|
|
40
|
+
value.count > 65535)
|
|
41
|
+
bad();
|
|
42
|
+
return {
|
|
43
|
+
authorization: {
|
|
44
|
+
profile: a.profile,
|
|
45
|
+
authority: a.authority,
|
|
46
|
+
keyIndex: a.keyIndex,
|
|
47
|
+
},
|
|
48
|
+
count: value.count,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async function planTransfer(ctx, fleet, input, direction) {
|
|
52
|
+
const captured = options(input);
|
|
53
|
+
if (typeof fleet !== 'string' || !isAddress(fleet))
|
|
54
|
+
throw new InvalidActionInputError('fleet', fleet, 'a Fleet address', 'Select a directly owned Docked Fleet for crew transfer.');
|
|
55
|
+
const intent = {
|
|
56
|
+
address: fleet,
|
|
57
|
+
game: requireGameAddress(ctx),
|
|
58
|
+
...captured.authorization,
|
|
59
|
+
count: captured.count,
|
|
60
|
+
direction,
|
|
61
|
+
};
|
|
62
|
+
const resolved = await resolveFleetCrewTransfer(ctx, intent);
|
|
63
|
+
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.`;
|
|
64
|
+
return createPlan({
|
|
65
|
+
kind: `fleets.${direction}-crew`,
|
|
66
|
+
summary,
|
|
67
|
+
preconditions: [
|
|
68
|
+
{
|
|
69
|
+
kind: 'fleet-crew-transfer',
|
|
70
|
+
...intent,
|
|
71
|
+
...resolved,
|
|
72
|
+
describes: 'Direct authority, canonical docking generation, ordinary crew state, current capacity and available source crew remain valid.',
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
steps: [
|
|
76
|
+
{
|
|
77
|
+
instruction: crewTransferInstruction({ ...intent, ...resolved }),
|
|
78
|
+
describes: summary,
|
|
79
|
+
signers: [intent.authority],
|
|
80
|
+
semantics: [{ kind: 'exclusive', scope: 'transaction' }],
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/** Loads an explicit positive u16 crew count from the canonical StarbasePlayer into a directly owned Docked Fleet.
|
|
86
|
+
* Requires a direct Profile AUTH key, current ship definitions, no Character roster,
|
|
87
|
+
* and an absent or exact-neutral Fleet binding. Rented crew are unsupported.
|
|
88
|
+
* Available Starbase crew exclude busy crew; capacity includes required crew and passengers.
|
|
89
|
+
* Planning never signs or submits. This transfer must execute alone.
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
93
|
+
* const plan = await planLoadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
94
|
+
* console.log(plan.describe());
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export function planLoadFleetCrew(ctx, fleet, options) {
|
|
98
|
+
return planTransfer(ctx, fleet, options, 'load');
|
|
99
|
+
}
|
|
100
|
+
/** Unloads an explicit positive u16 crew count from a directly owned Docked Fleet into its canonical StarbasePlayer.
|
|
101
|
+
* Unloading every crew member is allowed while Docked; departure requires reloading required crew.
|
|
102
|
+
* Supports the same ordinary-crew and direct AUTH boundary as loading. Execute separately
|
|
103
|
+
* and refresh after confirmation before preparing another transfer or movement.
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
107
|
+
* const plan = await planUnloadFleetCrew(ctx, fleet, { authorization, count: 1 });
|
|
108
|
+
* console.log(plan.describe());
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
export function planUnloadFleetCrew(ctx, fleet, options) {
|
|
112
|
+
return planTransfer(ctx, fleet, options, 'unload');
|
|
113
|
+
}
|
|
114
|
+
//# 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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"}
|
|
@@ -57,19 +57,19 @@ export interface PlanFleetWarpLaneOptions {
|
|
|
57
57
|
readonly authorization: PlanAuthorization;
|
|
58
58
|
readonly destinationSystem: Address;
|
|
59
59
|
}
|
|
60
|
-
/**
|
|
60
|
+
/** Explicit authority for a completed Fleet journey, separate from the fee payer.
|
|
61
61
|
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
62
|
+
* Requires direct Profile authorization for current Game subwarp.
|
|
63
|
+
* Certificates are not supported for arrival.
|
|
64
64
|
*
|
|
65
65
|
* @example
|
|
66
66
|
* ```ts
|
|
67
|
-
* declare const
|
|
68
|
-
* const options: PlanFleetSettleArrivalOptions = {
|
|
67
|
+
* declare const authorization: PlanAuthorization;
|
|
68
|
+
* const options: PlanFleetSettleArrivalOptions = { authorization };
|
|
69
69
|
* ```
|
|
70
70
|
*/
|
|
71
71
|
export interface PlanFleetSettleArrivalOptions {
|
|
72
|
-
readonly
|
|
72
|
+
readonly authorization: PlanAuthorization;
|
|
73
73
|
}
|
|
74
74
|
/** Inputs for stopping one Fleet subwarp early.
|
|
75
75
|
*
|
|
@@ -88,6 +88,12 @@ export interface PlanFleetStopSubwarpOptions {
|
|
|
88
88
|
* proves connectivity from that System's decoded connections, and resolves all
|
|
89
89
|
* generated instruction accounts internally.
|
|
90
90
|
*
|
|
91
|
+
* Connectivity does not guarantee eligibility. The program remains authoritative
|
|
92
|
+
* for faction-relationship and destination-risk checks and any ATLAS toll.
|
|
93
|
+
* Tested current PTR routes succeed with empty Fuel tanks. This planner does
|
|
94
|
+
* not estimate lane costs or treat enabled cross-faction economics as blanket
|
|
95
|
+
* permission.
|
|
96
|
+
*
|
|
91
97
|
* @example
|
|
92
98
|
* ```ts
|
|
93
99
|
* declare const ctx: SageContext;
|
|
@@ -129,20 +135,28 @@ export declare function planFleetSubwarp(ctx: SageContext, fleet: FleetSnapshot,
|
|
|
129
135
|
* ```
|
|
130
136
|
*/
|
|
131
137
|
export declare function planFleetWarpToCoordinate(ctx: SageContext, fleet: FleetSnapshot, options: PlanFleetCoordinateMovementOptions): Promise<Plan>;
|
|
132
|
-
/** Plans settlement
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
138
|
+
/** Plans settlement after chain time confirms the scheduled Fleet journey duration has elapsed.
|
|
139
|
+
*
|
|
140
|
+
* Game version 2 subwarp requires explicit direct Profile authorization and
|
|
141
|
+
* existing reconciled Career XP accounts. Warp settlement is unsupported.
|
|
142
|
+
* Journeys whose scheduled duration has not elapsed and Idle Fleets fail locally.
|
|
143
|
+
* Planning and execution read fresh accounts; no host clock is used.
|
|
144
|
+
*
|
|
145
|
+
* Settlement does not guarantee reaching the destination: insufficient Fuel can
|
|
146
|
+
* leave the Fleet Idle short of it. Low Fuel produces a planning-time warning,
|
|
147
|
+
* not a rejection. Inspect refreshed state and location after confirmation.
|
|
148
|
+
* Subwarp settles fuel and XP and may refund released storage rent to the
|
|
149
|
+
* Profile. Warp cooldown remains independent. Fresh checks cannot prevent a
|
|
150
|
+
* concurrent transaction from starting another journey before execution; the
|
|
151
|
+
* authorized instruction could stop that new journey. Intentional early
|
|
152
|
+
* stopping remains the separate {@link planFleetStopSubwarp} operation.
|
|
139
153
|
*
|
|
140
154
|
* @example
|
|
141
155
|
* ```ts
|
|
142
156
|
* declare const ctx: SageContext;
|
|
143
157
|
* declare const fleet: FleetSnapshot;
|
|
144
|
-
* declare const
|
|
145
|
-
* const plan = await planFleetSettleArrival(ctx, fleet, {
|
|
158
|
+
* declare const authorization: PlanAuthorization;
|
|
159
|
+
* const plan = await planFleetSettleArrival(ctx, fleet, { authorization });
|
|
146
160
|
* console.log(plan.describe());
|
|
147
161
|
* ```
|
|
148
162
|
*/
|
|
@@ -199,4 +213,8 @@ export declare function planFleetUndock(ctx: SageContext, fleet: FleetSnapshot,
|
|
|
199
213
|
*/
|
|
200
214
|
export declare function planFleetDock(ctx: SageContext, fleet: FleetSnapshot, options: PlanFleetDockOptions): Promise<Plan>;
|
|
201
215
|
export { planDepositShipsToGame, type PlanDepositShipsToGameOptions, } from './ship-import.js';
|
|
216
|
+
export { planCreateFleet, type PlanCreateFleetOptions, } from './create-fleet.js';
|
|
217
|
+
export { planAddShipToFleet, type PlanAddShipToFleetOptions, } from './add-ship.js';
|
|
218
|
+
export { planFleetStartRespawn, planFleetCompleteRespawn, type PlanFleetRespawnOptions, } from './respawn.js';
|
|
219
|
+
export { planLoadFleetCrew, planUnloadFleetCrew, type PlanFleetCrewTransferOptions, } from './crew-transfer.js';
|
|
202
220
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/index.ts"],"names":[],"mappings":"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"}
|