@aephia/atlas-kit 0.6.0-next.11 → 0.6.0-next.110
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 +26 -115
- 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 +15 -37
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +51 -2
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +125 -2
- 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 -53
- 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 +37 -162
- 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 +373 -544
- 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 +35 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +35 -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 +2 -2
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +192 -224
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts +4 -3
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +3 -2
- package/dist/combat/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 +175 -283
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts +33 -3
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +45 -16
- 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 +2 -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/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 +37 -16
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +303 -284
- 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 +59 -76
- 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 +35 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +52 -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/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 +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/index.d.ts +3 -3
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +50 -28
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/index.d.ts +12 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +10 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +11 -2
- package/dist/identity/permissions.d.ts.map +1 -1
- package/dist/identity/permissions.js +13 -4
- package/dist/identity/permissions.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 +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/account-decoding.d.ts +12 -0
- package/dist/internal/c4/account-decoding.d.ts.map +1 -0
- package/dist/internal/c4/account-decoding.js +36 -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/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 +155 -0
- package/dist/internal/c4/character.d.ts.map +1 -0
- package/dist/internal/c4/character.js +79 -0
- package/dist/internal/c4/character.js.map +1 -0
- package/dist/internal/c4/claim-stake-configuration.js +4 -2
- 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.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 +30 -41
- package/dist/internal/c4/claim-stake.js.map +1 -1
- 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 +10 -171
- 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 +25 -33
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +61 -49
- 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 +30 -0
- package/dist/internal/c4/currency-cache.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-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/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 +9 -57
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +29 -156
- 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 +20 -3
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- 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 +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 +37 -29
- 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 +47 -12
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +110 -21
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -152
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +6 -110
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +31 -0
- package/dist/internal/c4/local-market-order.d.ts.map +1 -0
- package/dist/internal/c4/local-market-order.js +47 -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 +58 -0
- package/dist/internal/c4/loot.d.ts.map +1 -0
- package/dist/internal/c4/loot.js +130 -0
- package/dist/internal/c4/loot.js.map +1 -0
- 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 +14 -43
- 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/pda.js +1 -1
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +11 -21
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +5 -3
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +61 -8
- 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 +14 -115
- 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 +306 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +261 -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 +7 -36
- 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 +12 -62
- 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 +67 -48
- 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 +19 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +171 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +45 -37
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +165 -76
- 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 +87 -0
- package/dist/internal/planning/character-registration.js.map +1 -0
- package/dist/internal/planning/currency-cache-guard.d.ts +4 -0
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
- package/dist/internal/planning/currency-cache-guard.js +32 -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 +198 -0
- package/dist/internal/planning/democracy-history.js.map +1 -0
- package/dist/internal/planning/faction-enrollment.d.ts +0 -2
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +1 -22
- 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 +106 -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 +109 -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 +132 -0
- package/dist/internal/planning/fleet-crew-transfer.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 +208 -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 +154 -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 +42 -0
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
- package/dist/internal/planning/fleet-docking.d.ts +10 -0
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking.js +85 -0
- package/dist/internal/planning/fleet-docking.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 +167 -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 +138 -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 +239 -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 +127 -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 +138 -0
- package/dist/internal/planning/local-market-order.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 +86 -0
- package/dist/internal/planning/open-signal.js.map +1 -0
- package/dist/internal/planning/original-token.d.ts +34 -0
- package/dist/internal/planning/original-token.d.ts.map +1 -0
- package/dist/internal/planning/original-token.js +98 -0
- package/dist/internal/planning/original-token.js.map +1 -0
- package/dist/internal/planning/plan-fields.d.ts +59 -0
- package/dist/internal/planning/plan-fields.d.ts.map +1 -0
- package/dist/internal/planning/plan-fields.js +153 -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 +168 -0
- package/dist/internal/planning/plan-guards.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +6 -0
- package/dist/internal/planning/recipe-state.d.ts.map +1 -0
- package/dist/internal/planning/recipe-state.js +20 -0
- package/dist/internal/planning/recipe-state.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/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 +41 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +635 -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 +197 -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 +245 -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 +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 +2 -41
- 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 +93 -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/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/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 +126 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- 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.map +1 -1
- package/dist/loyalty/actions/index.js +8 -21
- 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 +61 -3
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +227 -160
- 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 +282 -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 +57 -10
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +87 -0
- package/dist/mining/actions/index.d.ts.map +1 -0
- package/dist/mining/actions/index.js +319 -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 +9 -2
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +7 -2
- 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 +5 -0
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +8 -4
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +18 -3
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +492 -40
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +196 -149
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +44 -292
- package/dist/planning/index.js.map +1 -1
- 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 -30
- 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 +14 -0
- package/dist/planning/plan-validation.d.ts.map +1 -0
- package/dist/planning/plan-validation.js +124 -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 -19
- 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.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 +20 -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.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 +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.map +1 -1
- package/dist/rewards/index.js +5 -4
- 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 +185 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +5 -2
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +13 -9
- 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/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +3 -14
- package/dist/starbases/actions/index.js.map +1 -1
- 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,87 @@
|
|
|
1
|
+
import type { Address, SageContext } from '../../client/contracts.js';
|
|
2
|
+
import type { EntityRef } from '../../client/refs.js';
|
|
3
|
+
import type { ResolvedFleetAccountData } from '../../internal/fleet.js';
|
|
4
|
+
import { type PlanAuthorization } from '../../internal/planning/authorization-adapter.js';
|
|
5
|
+
import { type Plan } from '../../planning/index.js';
|
|
6
|
+
import type { ResourceDepositSnapshot } from '../index.js';
|
|
7
|
+
export type { PlanAuthorization };
|
|
8
|
+
interface FleetSnapshot extends Omit<ResolvedFleetAccountData, 'ownerProfile'> {
|
|
9
|
+
readonly kind: 'fleet';
|
|
10
|
+
readonly address: Address;
|
|
11
|
+
readonly ownerProfile: EntityRef<'profile'>;
|
|
12
|
+
toJSON(): unknown;
|
|
13
|
+
}
|
|
14
|
+
/** Select resources from one Asteroid deposit for an owned Fleet.
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* declare const authorization: PlanAuthorization;
|
|
18
|
+
* declare const asteroid: ResourceDepositSnapshot;
|
|
19
|
+
* const options: PlanFleetStartMiningOptions = { authorization, asteroid, resourceIds: [8] };
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export interface PlanFleetStartMiningOptions {
|
|
23
|
+
readonly authorization: PlanAuthorization;
|
|
24
|
+
readonly asteroid: ResourceDepositSnapshot;
|
|
25
|
+
/** Dense, non-empty, unique cargo ids in ascending order, selected from the deposit. */
|
|
26
|
+
readonly resourceIds: readonly number[];
|
|
27
|
+
}
|
|
28
|
+
/** Plans one inert Fleet mining start at an Asteroid, without signing or simulation.
|
|
29
|
+
*
|
|
30
|
+
* Idle Fleets use their current coordinate; warp/subwarp Fleets use their arrival
|
|
31
|
+
* coordinate, never a local clock. This planner emits only the mining instruction.
|
|
32
|
+
* Completed warp can refresh directly into mining; unfinished warp rejects.
|
|
33
|
+
* Completed subwarp needs explicit settlement first: use planFleetSettleArrival
|
|
34
|
+
* with Profile authorization, then combinePlans(settlement, mining), or settle
|
|
35
|
+
* and reload Idle. Unsigned PTR simulations on 2026-10-12 at SAGE deployment
|
|
36
|
+
* slot 58713616 qualified both routes for adequately fueled, canonical Fleets
|
|
37
|
+
* with supported XP accounts, not every future deployment. Settlement
|
|
38
|
+
* can stop short when Fuel is insufficient; confirm the destination and simulate
|
|
39
|
+
* the complete Plan. No settlement or authority is inserted automatically.
|
|
40
|
+
* Simulate the complete Plan before execution; arrival, permissions, range, fuel,
|
|
41
|
+
* and mining eligibility remain program-authoritative. This planner neither
|
|
42
|
+
* estimates mining output nor stops mining. No FleetCrewBinding account exists
|
|
43
|
+
* in the pinned ten-account instruction.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* declare const ctx: SageContext;
|
|
48
|
+
* declare const fleet: FleetSnapshot;
|
|
49
|
+
* declare const authorization: PlanAuthorization;
|
|
50
|
+
* declare const asteroid: ResourceDepositSnapshot;
|
|
51
|
+
* const plan = await planFleetStartMining(ctx, fleet, { authorization, asteroid, resourceIds: [8] });
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function planFleetStartMining(ctx: SageContext, fleet: FleetSnapshot, options: PlanFleetStartMiningOptions): Promise<Plan>;
|
|
55
|
+
/** Address-only authorization to stop an owned Fleet's current mining operation.
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* declare const authorization: PlanAuthorization;
|
|
59
|
+
* const options: PlanFleetStopMiningOptions = { authorization };
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export interface PlanFleetStopMiningOptions {
|
|
63
|
+
readonly authorization: PlanAuthorization;
|
|
64
|
+
}
|
|
65
|
+
/** Plans one inert stop-mining instruction using the Asteroid in Fleet state.
|
|
66
|
+
*
|
|
67
|
+
* The snapshot and a fresh canonical Fleet must be mining the same Asteroid.
|
|
68
|
+
* A finite persisted guard rechecks this state before signing; old unguarded
|
|
69
|
+
* stop Plans must be recreated. Exit fuel was observed on PTR even for Idle,
|
|
70
|
+
* so Idle is not a free no-op. The read-to-chain race remains: simulate before
|
|
71
|
+
* execution; a later state change can still consume fuel or fail upkeep checks.
|
|
72
|
+
* No yield, cargo amount, or execution success is promised. DO_MINING
|
|
73
|
+
* permission remains chain-authoritative. Only validated canonical optional
|
|
74
|
+
* accounts are included, including the chain-created neutral CrewBinding at
|
|
75
|
+
* its canonical PDA; proven absence uses the generated omitted-account sentinel.
|
|
76
|
+
* Planning does not sign, simulate, or submit a transaction.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* declare const ctx: SageContext;
|
|
81
|
+
* declare const fleet: FleetSnapshot;
|
|
82
|
+
* declare const authorization: PlanAuthorization;
|
|
83
|
+
* const plan = await planFleetStopMining(ctx, fleet, { authorization });
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function planFleetStopMining(ctx: SageContext, fleet: FleetSnapshot, options: PlanFleetStopMiningOptions): Promise<Plan>;
|
|
87
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mining/actions/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAEP,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAuBtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAOxE,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,UAAU,aAAc,SAAQ,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,wFAAwF;IACxF,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AA+DD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAuLf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CA2Hf"}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
import { resolveXpRuntime } from '../../internal/planning/xp-runtime.js';
|
|
2
|
+
import { matchesFleetMiningState } from '../../internal/planning/mining-stop.js';
|
|
3
|
+
import { requireActionCoordinate } from '../../internal/planning/fleet-state.js';
|
|
4
|
+
import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
|
|
5
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
6
|
+
import { getFleetDecoder, getStarSystemDecoder, } from '../../internal/c4/runtime-bindings.js';
|
|
7
|
+
import { deriveFleetAddress, fleetAccountDefinition, } from '../../internal/c4/fleet.js';
|
|
8
|
+
import { characterAccountDefinition, findCharacterPda, } from '../../internal/c4/character.js';
|
|
9
|
+
import { deriveRegionTrackerAddress, regionTrackerAccountDefinition, } from '../../internal/c4/factions.js';
|
|
10
|
+
import { celestialBodyAccountDefinition, deriveCelestialBodyAddress, deriveStarSystemAddress, starSystemAccountDefinition, } from '../../internal/c4/world.js';
|
|
11
|
+
import { deriveFleetCrewBindingAddress, fleetCrewBindingAccountDefinition, matchesFleetCrewBindingIdentity, } from '../../internal/c4/fleet-crew-binding.js';
|
|
12
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
13
|
+
import { adaptStartMiningAsteroidInstruction, adaptStopMiningAsteroidInstruction, validatePlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
|
|
14
|
+
import { createPlan } from '../../planning/index.js';
|
|
15
|
+
function fail(address, message) {
|
|
16
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
|
|
17
|
+
}
|
|
18
|
+
function validateOptionsObject(value, field) {
|
|
19
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
20
|
+
throw new InvalidActionInputError(field, value, 'an object containing the mining action options or Profile authorization', `Supply ${field} with the documented mining action fields before retrying.`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function validateResources(ids, available) {
|
|
24
|
+
if (!Array.isArray(ids) || ids.length === 0) {
|
|
25
|
+
throw new InvalidActionInputError('resourceIds', ids, 'a dense non-empty ascending list of deposit cargo ids', 'Supply at least one resource cargo id from the Asteroid deposit before retrying.');
|
|
26
|
+
}
|
|
27
|
+
for (let i = 0; i < ids.length; i += 1) {
|
|
28
|
+
const id = ids[i];
|
|
29
|
+
if (!Object.hasOwn(ids, i) ||
|
|
30
|
+
!Number.isInteger(id) ||
|
|
31
|
+
id < 0 ||
|
|
32
|
+
id > 65535 ||
|
|
33
|
+
(i > 0 && ids[i - 1] >= id) ||
|
|
34
|
+
!available.includes(id)) {
|
|
35
|
+
throw new InvalidActionInputError('resourceIds', ids, 'unique ascending u16 cargo ids selected from the deposit', 'Select resource cargo ids present in the Asteroid deposit, remove holes and duplicates, and sort them in ascending order before retrying.');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function required(account, address, label) {
|
|
40
|
+
if (account === undefined) {
|
|
41
|
+
return fail(address, `${label} is missing or returned at a different address. Refresh the Fleet and Asteroid dependencies in the configured Game and retry.`);
|
|
42
|
+
}
|
|
43
|
+
return account;
|
|
44
|
+
}
|
|
45
|
+
/** Plans one inert Fleet mining start at an Asteroid, without signing or simulation.
|
|
46
|
+
*
|
|
47
|
+
* Idle Fleets use their current coordinate; warp/subwarp Fleets use their arrival
|
|
48
|
+
* coordinate, never a local clock. This planner emits only the mining instruction.
|
|
49
|
+
* Completed warp can refresh directly into mining; unfinished warp rejects.
|
|
50
|
+
* Completed subwarp needs explicit settlement first: use planFleetSettleArrival
|
|
51
|
+
* with Profile authorization, then combinePlans(settlement, mining), or settle
|
|
52
|
+
* and reload Idle. Unsigned PTR simulations on 2026-10-12 at SAGE deployment
|
|
53
|
+
* slot 58713616 qualified both routes for adequately fueled, canonical Fleets
|
|
54
|
+
* with supported XP accounts, not every future deployment. Settlement
|
|
55
|
+
* can stop short when Fuel is insufficient; confirm the destination and simulate
|
|
56
|
+
* the complete Plan. No settlement or authority is inserted automatically.
|
|
57
|
+
* Simulate the complete Plan before execution; arrival, permissions, range, fuel,
|
|
58
|
+
* and mining eligibility remain program-authoritative. This planner neither
|
|
59
|
+
* estimates mining output nor stops mining. No FleetCrewBinding account exists
|
|
60
|
+
* in the pinned ten-account instruction.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* declare const ctx: SageContext;
|
|
65
|
+
* declare const fleet: FleetSnapshot;
|
|
66
|
+
* declare const authorization: PlanAuthorization;
|
|
67
|
+
* declare const asteroid: ResourceDepositSnapshot;
|
|
68
|
+
* const plan = await planFleetStartMining(ctx, fleet, { authorization, asteroid, resourceIds: [8] });
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export async function planFleetStartMining(ctx, fleet, options) {
|
|
72
|
+
const game = requireGameAddress(ctx);
|
|
73
|
+
validateOptionsObject(options, 'options');
|
|
74
|
+
validateOptionsObject(options.authorization, 'authorization');
|
|
75
|
+
const { asteroid } = options;
|
|
76
|
+
const authorization = {
|
|
77
|
+
profile: options.authorization.profile,
|
|
78
|
+
authority: options.authorization.authority,
|
|
79
|
+
keyIndex: options.authorization.keyIndex,
|
|
80
|
+
...(options.authorization.certificate === undefined
|
|
81
|
+
? {}
|
|
82
|
+
: { certificate: options.authorization.certificate }),
|
|
83
|
+
};
|
|
84
|
+
validatePlanAuthorization(authorization);
|
|
85
|
+
const coordinate = requireActionCoordinate(fleet, 'start mining', "it must be idle or arriving by warp or subwarp at the Asteroid's Star System");
|
|
86
|
+
if (fleet.game !== game ||
|
|
87
|
+
asteroid.game !== game ||
|
|
88
|
+
fleet.ownerProfile.address !== authorization.profile) {
|
|
89
|
+
fail(fleet.address, `Fleet ${fleet.name} and Asteroid ${asteroid.name} must belong to configured Game ${game}, and the Fleet must belong to authorized Profile ${authorization.profile}. Choose the owning Profile and matching Game, refresh both snapshots, and retry.`);
|
|
90
|
+
}
|
|
91
|
+
validateResources(options.resourceIds, asteroid.resources.map((r) => r.cargo.id));
|
|
92
|
+
// Copy before any asynchronous reads so caller mutation cannot change selection.
|
|
93
|
+
const resourceIds = [...options.resourceIds];
|
|
94
|
+
const character = await findCharacterPda(authorization.profile, game);
|
|
95
|
+
const regionTracker = await deriveRegionTrackerAddress(game);
|
|
96
|
+
const addresses = [
|
|
97
|
+
fleet.address,
|
|
98
|
+
asteroid.address,
|
|
99
|
+
asteroid.system.address,
|
|
100
|
+
character,
|
|
101
|
+
regionTracker,
|
|
102
|
+
];
|
|
103
|
+
const values = await readContextRawAccounts(ctx, addresses);
|
|
104
|
+
const labels = [
|
|
105
|
+
'Fleet',
|
|
106
|
+
'Asteroid',
|
|
107
|
+
'Star System',
|
|
108
|
+
'Character',
|
|
109
|
+
'RegionTracker',
|
|
110
|
+
];
|
|
111
|
+
const accounts = addresses.map((address, index) => required(values[index], address, labels[index]));
|
|
112
|
+
const [fleetAccount, asteroidAccount, systemAccount, characterAccount, trackerAccount,] = accounts;
|
|
113
|
+
const current = fleetAccountDefinition.decode(fleetAccount);
|
|
114
|
+
const currentCoordinate = current.state.kind === 'idle'
|
|
115
|
+
? current.location
|
|
116
|
+
: current.state.kind === 'warp' || current.state.kind === 'subwarp'
|
|
117
|
+
? current.state.to
|
|
118
|
+
: undefined;
|
|
119
|
+
if (current.game !== game ||
|
|
120
|
+
current.ownerProfile !== authorization.profile ||
|
|
121
|
+
(await deriveFleetAddress(current)) !== fleet.address ||
|
|
122
|
+
(current.state.kind !== fleet.state.kind &&
|
|
123
|
+
!(current.state.kind === 'idle' &&
|
|
124
|
+
(fleet.state.kind === 'warp' || fleet.state.kind === 'subwarp'))) ||
|
|
125
|
+
currentCoordinate?.x !== coordinate.x ||
|
|
126
|
+
currentCoordinate?.y !== coordinate.y) {
|
|
127
|
+
fail(fleet.address, `Fleet ${fleet.name} no longer matches its Game, Profile, canonical address, state, or mining coordinate. Refresh the Fleet and create a new mining Plan before retrying.`);
|
|
128
|
+
}
|
|
129
|
+
const deposit = celestialBodyAccountDefinition.decode(asteroidAccount);
|
|
130
|
+
if (deposit.kind !== 'asteroid' ||
|
|
131
|
+
deposit.game !== game ||
|
|
132
|
+
deposit.id !== asteroid.bodyId ||
|
|
133
|
+
(await deriveCelestialBodyAddress(game, deposit.id)) !== asteroid.address ||
|
|
134
|
+
deposit.system !== asteroid.system.address) {
|
|
135
|
+
fail(asteroid.address, `Asteroid ${asteroid.name} no longer matches its Game, canonical address, or Star System. Refresh the resource deposit and choose an Asteroid in the Fleet's current or arrival Star System before retrying.`);
|
|
136
|
+
}
|
|
137
|
+
validateResources(resourceIds, deposit.details.resources.map((r) => r.cargoId));
|
|
138
|
+
const system = starSystemAccountDefinition.decode(systemAccount);
|
|
139
|
+
if (system.game !== game ||
|
|
140
|
+
(await deriveStarSystemAddress(game, system.systemId)) !==
|
|
141
|
+
systemAccount.address) {
|
|
142
|
+
fail(systemAccount.address, 'Star System does not match its Game or canonical address. Refresh the Asteroid and Star System in the configured Game before retrying.');
|
|
143
|
+
}
|
|
144
|
+
// Compare stored fixed-point coordinates, not rounded display numbers.
|
|
145
|
+
const exactFleet = getFleetDecoder().decode(fleetAccount.data);
|
|
146
|
+
const exactCoordinate = exactFleet.state.__kind === 'MoveWarp'
|
|
147
|
+
? exactFleet.state.fields[0].to
|
|
148
|
+
: exactFleet.state.__kind === 'MoveSubwarp'
|
|
149
|
+
? exactFleet.state.fields[0].journey.to
|
|
150
|
+
: exactFleet.location;
|
|
151
|
+
const exactSystem = getStarSystemDecoder().decode(systemAccount.data);
|
|
152
|
+
if (exactCoordinate[0].raw !== exactSystem.coordinates[0].raw ||
|
|
153
|
+
exactCoordinate[1].raw !== exactSystem.coordinates[1].raw) {
|
|
154
|
+
fail(asteroid.address, `Asteroid ${asteroid.name} is not in Fleet ${fleet.name}'s current or arrival Star System. Choose a deposit at the Fleet's mining coordinate or move the Fleet there, refresh, and retry.`);
|
|
155
|
+
}
|
|
156
|
+
const characterData = characterAccountDefinition.decode(characterAccount);
|
|
157
|
+
if (characterData.game !== game ||
|
|
158
|
+
characterData.playerProfile !== authorization.profile) {
|
|
159
|
+
fail(character, 'Character does not match the owning Profile and configured Game. Refresh or repair the canonical Character registration before retrying.');
|
|
160
|
+
}
|
|
161
|
+
const tracker = regionTrackerAccountDefinition.decode(trackerAccount);
|
|
162
|
+
if (tracker.game !== game) {
|
|
163
|
+
fail(regionTracker, 'RegionTracker does not match the configured Game. Refresh world region data for this Game before retrying.');
|
|
164
|
+
}
|
|
165
|
+
const resources = resourceIds
|
|
166
|
+
.map((id) => {
|
|
167
|
+
const resource = asteroid.resources.find((r) => r.cargo.id === id);
|
|
168
|
+
return `${resource.cargo.name} (cargo ${id})`;
|
|
169
|
+
})
|
|
170
|
+
.join(', ');
|
|
171
|
+
const describes = `Start mining with Fleet ${fleet.name} at Asteroid ${asteroid.name}: ${resources}.`;
|
|
172
|
+
const settlementWarning = fleet.state.kind === 'subwarp'
|
|
173
|
+
? ' Completed subwarp needs explicit settlement before mining. Use planFleetSettleArrival with Profile authorization and combinePlans(settlement, mining), or settle and reload Idle. Ensure enough Fuel to reach the Asteroid System; settlement may stop short.'
|
|
174
|
+
: fleet.state.kind === 'warp'
|
|
175
|
+
? ' Completed warp can refresh directly into mining; an unfinished warp still rejects.'
|
|
176
|
+
: '';
|
|
177
|
+
return createPlan({
|
|
178
|
+
kind: 'fleet.start-mining',
|
|
179
|
+
summary: describes,
|
|
180
|
+
steps: [
|
|
181
|
+
{
|
|
182
|
+
describes: `${describes}${settlementWarning} Simulate before execution; arrival, permissions, range, fuel, and mining eligibility remain chain-authoritative.`,
|
|
183
|
+
signers: [authorization.authority],
|
|
184
|
+
instruction: adaptStartMiningAsteroidInstruction({
|
|
185
|
+
authorization,
|
|
186
|
+
fleet: fleet.address,
|
|
187
|
+
character,
|
|
188
|
+
starSystem: systemAccount.address,
|
|
189
|
+
regionTracker,
|
|
190
|
+
asteroid: asteroid.address,
|
|
191
|
+
game,
|
|
192
|
+
resources: resourceIds,
|
|
193
|
+
}),
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
preconditions: [],
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
/** Plans one inert stop-mining instruction using the Asteroid in Fleet state.
|
|
200
|
+
*
|
|
201
|
+
* The snapshot and a fresh canonical Fleet must be mining the same Asteroid.
|
|
202
|
+
* A finite persisted guard rechecks this state before signing; old unguarded
|
|
203
|
+
* stop Plans must be recreated. Exit fuel was observed on PTR even for Idle,
|
|
204
|
+
* so Idle is not a free no-op. The read-to-chain race remains: simulate before
|
|
205
|
+
* execution; a later state change can still consume fuel or fail upkeep checks.
|
|
206
|
+
* No yield, cargo amount, or execution success is promised. DO_MINING
|
|
207
|
+
* permission remains chain-authoritative. Only validated canonical optional
|
|
208
|
+
* accounts are included, including the chain-created neutral CrewBinding at
|
|
209
|
+
* its canonical PDA; proven absence uses the generated omitted-account sentinel.
|
|
210
|
+
* Planning does not sign, simulate, or submit a transaction.
|
|
211
|
+
*
|
|
212
|
+
* @example
|
|
213
|
+
* ```ts
|
|
214
|
+
* declare const ctx: SageContext;
|
|
215
|
+
* declare const fleet: FleetSnapshot;
|
|
216
|
+
* declare const authorization: PlanAuthorization;
|
|
217
|
+
* const plan = await planFleetStopMining(ctx, fleet, { authorization });
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
export async function planFleetStopMining(ctx, fleet, options) {
|
|
221
|
+
const game = requireGameAddress(ctx);
|
|
222
|
+
validateOptionsObject(options, 'options');
|
|
223
|
+
validateOptionsObject(options.authorization, 'authorization');
|
|
224
|
+
const authorization = {
|
|
225
|
+
profile: options.authorization.profile,
|
|
226
|
+
authority: options.authorization.authority,
|
|
227
|
+
keyIndex: options.authorization.keyIndex,
|
|
228
|
+
...(options.authorization.certificate === undefined
|
|
229
|
+
? {}
|
|
230
|
+
: { certificate: options.authorization.certificate }),
|
|
231
|
+
};
|
|
232
|
+
validatePlanAuthorization(authorization);
|
|
233
|
+
if (fleet.state.kind !== 'mining') {
|
|
234
|
+
fail(fleet.address, `Fleet ${fleet.name} is ${fleet.state.kind} and cannot stop mining. Refresh the Fleet and retry only with a mining snapshot; an idle Fleet has already stopped.`);
|
|
235
|
+
}
|
|
236
|
+
if (fleet.game !== game ||
|
|
237
|
+
fleet.ownerProfile.address !== authorization.profile) {
|
|
238
|
+
fail(fleet.address, `Fleet ${fleet.name} must belong to configured Game ${game} and authorized Profile ${authorization.profile}. Choose the owning Profile and matching Game, refresh the Fleet, and retry.`);
|
|
239
|
+
}
|
|
240
|
+
const asteroid = fleet.state.asteroid.address;
|
|
241
|
+
const intent = {
|
|
242
|
+
address: fleet.address,
|
|
243
|
+
game,
|
|
244
|
+
profile: authorization.profile,
|
|
245
|
+
asteroid,
|
|
246
|
+
};
|
|
247
|
+
const [character, crewBinding, regionTracker] = await Promise.all([
|
|
248
|
+
findCharacterPda(authorization.profile, game),
|
|
249
|
+
deriveFleetCrewBindingAddress(fleet.address),
|
|
250
|
+
deriveRegionTrackerAddress(game),
|
|
251
|
+
]);
|
|
252
|
+
const [currentFleet, crewAccount, regionAccount] = await readContextRawAccounts(ctx, [
|
|
253
|
+
intent.address,
|
|
254
|
+
crewBinding,
|
|
255
|
+
regionTracker,
|
|
256
|
+
]);
|
|
257
|
+
let matches = false;
|
|
258
|
+
try {
|
|
259
|
+
matches = await matchesFleetMiningState(currentFleet, intent);
|
|
260
|
+
}
|
|
261
|
+
catch {
|
|
262
|
+
// Adapter errors must not hide the action-level remedy for a saved snapshot.
|
|
263
|
+
}
|
|
264
|
+
if (!matches)
|
|
265
|
+
fail(intent.address, 'The fresh Fleet is unavailable, invalid, or no longer owned by this Profile and mining the selected Asteroid in this Game. Refresh the Fleet and recreate the stop Plan only while it is mining; an idle stop can still consume exit fuel.');
|
|
266
|
+
if (crewAccount !== undefined) {
|
|
267
|
+
const crew = fleetCrewBindingAccountDefinition.decode(crewAccount);
|
|
268
|
+
if (crewAccount.address !== crewBinding ||
|
|
269
|
+
!matchesFleetCrewBindingIdentity(crew, fleet.address, authorization.profile)) {
|
|
270
|
+
fail(crewBinding, 'FleetCrewBinding does not match its canonical address, Fleet, or owning Profile. Refresh the Fleet crew registration and retry.');
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
if (regionAccount !== undefined) {
|
|
274
|
+
const region = regionTrackerAccountDefinition.decode(regionAccount);
|
|
275
|
+
if (regionAccount.address !== regionTracker || region.game !== game) {
|
|
276
|
+
fail(regionTracker, 'RegionTracker does not match its canonical address or configured Game. Refresh world region data for this Game and retry.');
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
const xp = await resolveXpRuntime(ctx, {
|
|
280
|
+
game,
|
|
281
|
+
character,
|
|
282
|
+
profile: options.authorization.profile,
|
|
283
|
+
});
|
|
284
|
+
return createPlan({
|
|
285
|
+
kind: 'fleet.stop-mining',
|
|
286
|
+
summary: `Stop mining for Fleet ${fleet.name}.`,
|
|
287
|
+
steps: [
|
|
288
|
+
{
|
|
289
|
+
describes: `Stop mining for Fleet ${fleet.name} at Asteroid ${asteroid}, returning it to idle. Fresh mining state is checked before signing; exit fuel can still be consumed, including if the Fleet becomes idle in the read-to-chain race. Simulate before execution; permission and mining results remain chain-authoritative.`,
|
|
290
|
+
signers: [authorization.authority],
|
|
291
|
+
instruction: adaptStopMiningAsteroidInstruction({
|
|
292
|
+
...xp.accounts,
|
|
293
|
+
authorization,
|
|
294
|
+
character,
|
|
295
|
+
fleet: intent.address,
|
|
296
|
+
game,
|
|
297
|
+
asteroid,
|
|
298
|
+
...(crewAccount === undefined ? {} : { crewBinding }),
|
|
299
|
+
...(regionAccount === undefined ? {} : { regionTracker }),
|
|
300
|
+
}),
|
|
301
|
+
},
|
|
302
|
+
],
|
|
303
|
+
preconditions: [
|
|
304
|
+
{
|
|
305
|
+
kind: 'xp-runtime',
|
|
306
|
+
address: game,
|
|
307
|
+
intent: xp.intent,
|
|
308
|
+
accounts: xp.accounts,
|
|
309
|
+
describes: 'The configured Game and canonical Character XP accounts remain eligible for mining settlement.',
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
kind: 'fleet-mining',
|
|
313
|
+
...intent,
|
|
314
|
+
describes: 'The canonical Fleet remains owned by the authorized Profile and mining the planned Asteroid in the configured Game.',
|
|
315
|
+
},
|
|
316
|
+
],
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mining/actions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/** One selected Asteroid resource, using translated storage units rather than encoded fixed point.
|
|
2
|
+
* `runtimeMultiplier` is the caller's effective multiplier, including any applicable
|
|
3
|
+
* crew/research effects. No modifier composition or eligibility is inferred.
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* const resource: MiningEstimateResourceInput = {
|
|
7
|
+
* cargoId: 300, richness: 2, storageCost: 2, runtimeMultiplier: 1.5,
|
|
8
|
+
* };
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export interface MiningEstimateResourceInput {
|
|
12
|
+
readonly cargoId: number;
|
|
13
|
+
readonly richness: number;
|
|
14
|
+
readonly storageCost: number;
|
|
15
|
+
readonly runtimeMultiplier: number;
|
|
16
|
+
}
|
|
17
|
+
/** Explicit constant-rate Asteroid scenario. Balances and rates use cargo units;
|
|
18
|
+
* capacity, occupancy and storage costs use translated storage units. Occupancy
|
|
19
|
+
* includes all available Food; Ammo is held separately and frees no cargo space.
|
|
20
|
+
* Supply all 1–8 selected resources, including zero-yield rows. Fleet rate already
|
|
21
|
+
* includes ship/component effects: do not apply those again in the multipliers.
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const input: MiningEstimateInput = {
|
|
25
|
+
* fleetUnitsPerSecond: 2, durationSeconds: 60,
|
|
26
|
+
* resources: [{ cargoId: 300, richness: 1, storageCost: 1, runtimeMultiplier: 1 }],
|
|
27
|
+
* cargo: { occupiedSpace: 10, capacity: 100 },
|
|
28
|
+
* food: { availableUnits: 10, burnUnitsPerSecond: 0.1, storageCost: 1 },
|
|
29
|
+
* ammo: { availableUnits: 10, burnUnitsPerSecond: 0.1 },
|
|
30
|
+
* };
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export interface MiningEstimateInput {
|
|
34
|
+
readonly fleetUnitsPerSecond: number;
|
|
35
|
+
/** Requested duration; the result reports the clipped duration. */
|
|
36
|
+
readonly durationSeconds: number;
|
|
37
|
+
readonly resources: readonly MiningEstimateResourceInput[];
|
|
38
|
+
readonly cargo: {
|
|
39
|
+
readonly occupiedSpace: number;
|
|
40
|
+
readonly capacity: number;
|
|
41
|
+
};
|
|
42
|
+
readonly food: {
|
|
43
|
+
readonly availableUnits: number;
|
|
44
|
+
readonly burnUnitsPerSecond: number;
|
|
45
|
+
readonly storageCost: number;
|
|
46
|
+
};
|
|
47
|
+
readonly ammo: {
|
|
48
|
+
readonly availableUnits: number;
|
|
49
|
+
readonly burnUnitsPerSecond: number;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** Constraints reached at the end of an estimate; simultaneous limits are retained.
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* const reason: MiningEstimateLimit = 'food';
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export type MiningEstimateLimit = 'duration' | 'food' | 'ammo' | 'cargo' | 'no-output';
|
|
59
|
+
/** Immutable, JSON-safe constant-rate estimate, not a settlement guarantee.
|
|
60
|
+
* Projected quantities are fractional numbers; chain rounding, changing state,
|
|
61
|
+
* eligibility and tick ordering are excluded. A null limit means unbounded by
|
|
62
|
+
* that constraint, never an unknown balance. No-output scenarios run for zero time
|
|
63
|
+
* and project no upkeep. An initially full hold conservatively permits no mining,
|
|
64
|
+
* even when Food outflow could offset output: tick ordering is not established.
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* declare const estimate: MiningEstimate;
|
|
68
|
+
* console.log(estimate.durationSeconds, estimate.limitingFactors);
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export interface MiningEstimate {
|
|
72
|
+
readonly basis: 'official-model-estimate';
|
|
73
|
+
/** Requested duration clipped to the modeled limits, in seconds. */
|
|
74
|
+
readonly durationSeconds: number;
|
|
75
|
+
readonly outputs: readonly {
|
|
76
|
+
readonly cargoId: number;
|
|
77
|
+
readonly unitsPerSecond: number;
|
|
78
|
+
readonly projectedUnits: number;
|
|
79
|
+
}[];
|
|
80
|
+
readonly resourceVolumeInflowPerSecond: number;
|
|
81
|
+
readonly foodVolumeOutflowPerSecond: number;
|
|
82
|
+
/** May be negative when Food consumption frees more space than mining uses. */
|
|
83
|
+
readonly netCargoGrowthPerSecond: number;
|
|
84
|
+
readonly limitsSeconds: {
|
|
85
|
+
readonly food: number | null;
|
|
86
|
+
readonly ammo: number | null;
|
|
87
|
+
readonly cargo: number | null;
|
|
88
|
+
};
|
|
89
|
+
readonly limitingFactors: readonly MiningEstimateLimit[];
|
|
90
|
+
readonly consumedFoodUnits: number;
|
|
91
|
+
readonly consumedAmmoUnits: number;
|
|
92
|
+
readonly finalOccupiedSpace: number;
|
|
93
|
+
}
|
|
94
|
+
/** Estimates constant-rate Asteroid output, clipping duration to Food, Ammo and
|
|
95
|
+
* cargo capacity. Each rate is Fleet rate / selected count × richness × explicit
|
|
96
|
+
* effective runtime multiplier. Food consumption offsets volume growth while
|
|
97
|
+
* mining; Ammo does not. Hardness is absent from the official current C4 model.
|
|
98
|
+
* This is pure: it neither reads accounts nor validates resource eligibility.
|
|
99
|
+
* @throws InvalidDerivationInputError for invalid selections, inconsistent cargo
|
|
100
|
+
* occupancy, negative/nonfinite values or arithmetic overflow.
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* const estimate = deriveMiningEstimate({
|
|
104
|
+
* fleetUnitsPerSecond: 2, durationSeconds: 60,
|
|
105
|
+
* resources: [{ cargoId: 300, richness: 1, storageCost: 1, runtimeMultiplier: 1 }],
|
|
106
|
+
* cargo: { occupiedSpace: 10, capacity: 100 },
|
|
107
|
+
* food: { availableUnits: 10, burnUnitsPerSecond: 0.1, storageCost: 1 },
|
|
108
|
+
* ammo: { availableUnits: 10, burnUnitsPerSecond: 0.1 },
|
|
109
|
+
* });
|
|
110
|
+
* console.log(estimate.outputs, estimate.limitingFactors);
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export declare function deriveMiningEstimate(input: MiningEstimateInput): MiningEstimate;
|
|
114
|
+
//# sourceMappingURL=estimate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"estimate.d.ts","sourceRoot":"","sources":["../../src/mining/estimate.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,mEAAmE;IACnE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9E,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;KACrC,CAAC;CACH;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAC7B,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,oEAAoE;IACpE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,EAAE,CAAC;IACJ,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACzD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAiBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,GACzB,cAAc,CAmLhB"}
|