@aephia/atlas-kit 0.6.0-next.7 → 0.6.0-next.70
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 +87 -37
- package/dist/claim-stakes/actions/index.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 +4 -0
- 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.map +1 -1
- package/dist/crafting/actions/index.js +49 -29
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts +24 -2
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +31 -2
- 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 +1 -1
- 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 +34 -15
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +168 -109
- 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 +48 -0
- package/dist/fleets/actions/ship-import.d.ts.map +1 -0
- package/dist/fleets/actions/ship-import.js +330 -0
- package/dist/fleets/actions/ship-import.js.map +1 -0
- 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 +3 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +3 -0
- 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/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 +23 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -1
- 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 +0 -27
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +0 -33
- 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 +43 -19
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +1 -0
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +31 -8
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +88 -12
- 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 +1 -37
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +11 -49
- 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 +12 -2
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +28 -6
- 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 +19 -6
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +102 -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-enrollment.js +2 -2
- 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 +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 +220 -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/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 +10 -0
- package/dist/internal/planning/ship-token.d.ts.map +1 -0
- package/dist/internal/planning/ship-token.js +47 -0
- package/dist/internal/planning/ship-token.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 +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 +1 -0
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +40 -16
- 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/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 +378 -12
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +180 -132
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +845 -104
- package/dist/planning/index.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 +30 -0
- package/dist/registry/ships.d.ts.map +1 -0
- package/dist/registry/ships.js +59 -0
- package/dist/registry/ships.js.map +1 -0
- 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 +209 -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 +5 -2
- 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 +64 -5
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +53 -4
- package/dist/world/index.js.map +1 -1
- package/package.json +10 -2
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { isAddress } from '@solana/kit';
|
|
2
|
+
import { InvalidActionInputError } from '../../client/errors.js';
|
|
3
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
4
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
5
|
+
import { resolveOpenSignal, openSignalAddresses, validateOpenSignal, openSignalInstruction, } from '../../internal/planning/open-signal.js';
|
|
6
|
+
import { readFreshGameForCharacterRegistration } from '../../registry/onboarding.js';
|
|
7
|
+
import { createPlan } from '../../planning/index.js';
|
|
8
|
+
/** Plans one absent canonical signal for a directly owned Fleet, including Docked Fleets.
|
|
9
|
+
* Planning reads fresh state but never signs, submits, deposits funds or detects a signal.
|
|
10
|
+
* The Profile funds signal rent while retaining its own reserve; transaction fees are separate.
|
|
11
|
+
* Restricted-key least privilege is unqualified: instruction permission acceptance remains
|
|
12
|
+
* chain-authoritative, and legacy SCAN bit 38 is not established as sufficient. Simulate before signing.
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
16
|
+
* const plan = await planOpenScanSignal(ctx, fleet, { authorization });
|
|
17
|
+
* console.log(plan.describe());
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export async function planOpenScanSignal(ctx, fleet, options) {
|
|
21
|
+
const bad = () => {
|
|
22
|
+
throw new InvalidActionInputError('options', undefined, 'one Fleet address and direct address-only Profile authorization with a u16 key index', 'Pass { authorization: { profile, authority, keyIndex } }. Certificates, substitute PDAs and instruction metas are unsupported; refetch and recreate setup.');
|
|
23
|
+
};
|
|
24
|
+
if (typeof fleet !== 'string' ||
|
|
25
|
+
!isAddress(fleet) ||
|
|
26
|
+
!options ||
|
|
27
|
+
typeof options !== 'object' ||
|
|
28
|
+
Object.keys(options).length !== 1 ||
|
|
29
|
+
!Object.hasOwn(options, 'authorization'))
|
|
30
|
+
bad();
|
|
31
|
+
const a = options.authorization;
|
|
32
|
+
if (!a ||
|
|
33
|
+
typeof a !== 'object' ||
|
|
34
|
+
Object.keys(a).length !== 3 ||
|
|
35
|
+
!Object.hasOwn(a, 'profile') ||
|
|
36
|
+
!Object.hasOwn(a, 'authority') ||
|
|
37
|
+
!Object.hasOwn(a, 'keyIndex') ||
|
|
38
|
+
typeof a.profile !== 'string' ||
|
|
39
|
+
!isAddress(a.profile) ||
|
|
40
|
+
typeof a.authority !== 'string' ||
|
|
41
|
+
!isAddress(a.authority) ||
|
|
42
|
+
!Number.isInteger(a.keyIndex) ||
|
|
43
|
+
a.keyIndex < 0 ||
|
|
44
|
+
a.keyIndex > 65535)
|
|
45
|
+
bad();
|
|
46
|
+
const intent = {
|
|
47
|
+
game: requireGameAddress(ctx),
|
|
48
|
+
fleet,
|
|
49
|
+
profile: a.profile,
|
|
50
|
+
authority: a.authority,
|
|
51
|
+
keyIndex: a.keyIndex,
|
|
52
|
+
};
|
|
53
|
+
const guard = {
|
|
54
|
+
...intent,
|
|
55
|
+
...(await resolveOpenSignal(intent)),
|
|
56
|
+
kind: 'scan-signal-open',
|
|
57
|
+
authorityHash: '',
|
|
58
|
+
maximumProfileDebit: 0xffffffffffffffffn,
|
|
59
|
+
describes: 'Canonical absence, direct authority, owner/controller identity and Profile funding remain valid; refetch and recreate if changed.',
|
|
60
|
+
};
|
|
61
|
+
const addresses = openSignalAddresses(guard);
|
|
62
|
+
const [game, raw] = await Promise.all([
|
|
63
|
+
readFreshGameForCharacterRegistration(ctx),
|
|
64
|
+
readContextRawAccounts(ctx, addresses),
|
|
65
|
+
]);
|
|
66
|
+
const { profileDebit, authorityHash } = await validateOpenSignal(guard, new Map(addresses.map((a, n) => [a, raw[n]])));
|
|
67
|
+
const summary = `Create an Empty sequence-zero signal for Fleet ${fleet}. Profile ${intent.profile} funds ${profileDebit} lamports of signal rent while retaining its storage reserve; transaction fees are separate. No detection or funding transfer is implicit. Restricted-key least privilege is unqualified; legacy SCAN bit 38 is not established as sufficient. Permission acceptance remains chain-authoritative: simulate before signing. The observed debit ceiling is rechecked before signing, not an on-chain spending cap.`;
|
|
68
|
+
return createPlan({
|
|
69
|
+
kind: 'scanning.open-signal',
|
|
70
|
+
summary,
|
|
71
|
+
preconditions: [
|
|
72
|
+
{
|
|
73
|
+
kind: 'game-account',
|
|
74
|
+
address: game.address,
|
|
75
|
+
describes: 'The configured Game remains valid; unrelated definitions may change.',
|
|
76
|
+
},
|
|
77
|
+
{ ...guard, authorityHash, maximumProfileDebit: profileDebit },
|
|
78
|
+
],
|
|
79
|
+
steps: [
|
|
80
|
+
{
|
|
81
|
+
instruction: openSignalInstruction(guard),
|
|
82
|
+
signers: [intent.authority],
|
|
83
|
+
describes: summary,
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
import { resolveDetect, } from '../../internal/planning/scan-detect.js';
|
|
89
|
+
/** Plans one signal detection for an existing Empty signal and directly owned Idle Fleet.
|
|
90
|
+
* Reads fresh prerequisites without signing. Restricted-key sufficiency, cooldown
|
|
91
|
+
* rejection and final gameplay outcomes remain chain-authoritative; use simulatePlan.
|
|
92
|
+
* No automatic opening, deposits, loading, undocking or resolution occurs.
|
|
93
|
+
* @example
|
|
94
|
+
* ```ts
|
|
95
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanDetectSignalOptions;
|
|
96
|
+
* const plan = await planDetectSignal(ctx, fleet, options);
|
|
97
|
+
* console.log(plan.describe());
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export async function planDetectSignal(ctx, fleet, options) {
|
|
101
|
+
const resolved = await resolveDetect(ctx, fleet, options);
|
|
102
|
+
const guard = resolved.guard;
|
|
103
|
+
const description = `Detect a signal using pattern ${options.patternId}, focus ${options.focus}, consuming ${resolved.costDescription}. Restricted-key acceptance and final outcomes remain chain-authoritative; simulate before signing.`;
|
|
104
|
+
return createPlan({
|
|
105
|
+
kind: 'scan-detect',
|
|
106
|
+
summary: description,
|
|
107
|
+
steps: [
|
|
108
|
+
{
|
|
109
|
+
instruction: resolved.instruction,
|
|
110
|
+
describes: description,
|
|
111
|
+
signers: [guard.authority],
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
preconditions: [guard],
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
import { resolveScanCompletion, } from '../../internal/planning/scan-completion.js';
|
|
118
|
+
import { completionAuthorized, } from '../../internal/planning/scan-completion-guard.js';
|
|
119
|
+
async function completion(ctx, fleet, operation, options) {
|
|
120
|
+
const { guard, instruction } = await resolveScanCompletion(ctx, fleet, operation, options);
|
|
121
|
+
const effects = {
|
|
122
|
+
resolve: 'Reveal a PendingEntropy attempt as Contact or NoContact. Entropy availability, the revealed result and any XP remain chain-authoritative.',
|
|
123
|
+
recover: 'Recover this Contact and record its Recovered receipt. Nominal cargo may be clipped to available capacity; accepted cargo and actual XP remain chain-authoritative.',
|
|
124
|
+
acknowledge: 'Clear this terminal receipt to Empty without closing the funded signal. The current Fleet account is included for abandoned-receipt cooldown handling.',
|
|
125
|
+
abandon: 'Abandon this unexpired Contact without recovering its cargo. Clearing the Abandoned receipt requires a separate acknowledgement.',
|
|
126
|
+
expire: 'Expire this overdue Contact without recovering its cargo. Clearing the Expired receipt requires a separate acknowledgement.',
|
|
127
|
+
'forfeit-entropy': 'Forfeit this PendingEntropy attempt after its reveal deadline and record NoContact. Clearing the receipt requires a separate acknowledgement.',
|
|
128
|
+
};
|
|
129
|
+
const summary = `${effects[operation]} Signal ${guard.signal}, sequence ${guard.expectedSequence}. No movement, funding, automatic follow-up or retry is included. Permission acceptance remains chain-authoritative; simulate before signing.`;
|
|
130
|
+
return createPlan({
|
|
131
|
+
kind: `scanning.${operation}`,
|
|
132
|
+
summary,
|
|
133
|
+
steps: [
|
|
134
|
+
{
|
|
135
|
+
instruction,
|
|
136
|
+
signers: completionAuthorized(operation) ? [guard.authority] : [],
|
|
137
|
+
describes: summary,
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
preconditions: [guard],
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/** Resolve one PendingEntropy signal using its committed policy and regional loot configuration. Requires current Character XP accounts; no gameplay authority is needed.
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
147
|
+
* const plan = await planResolveSignal(ctx, fleet);
|
|
148
|
+
* console.log(plan.describe());
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
export function planResolveSignal(ctx, fleet) {
|
|
152
|
+
return completion(ctx, fleet, 'resolve');
|
|
153
|
+
}
|
|
154
|
+
/** Recover one unexpired Contact with an Idle Fleet inside its stored radius. Cargo acceptance, clipping and XP remain chain-authoritative.
|
|
155
|
+
* @example
|
|
156
|
+
* ```ts
|
|
157
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions;
|
|
158
|
+
* const plan = await planRecoverSignal(ctx, fleet, options);
|
|
159
|
+
* console.log(plan.describe());
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
export function planRecoverSignal(ctx, fleet, options) {
|
|
163
|
+
return completion(ctx, fleet, 'recover', options);
|
|
164
|
+
}
|
|
165
|
+
/** Clear one terminal receipt to Empty while retaining the funded signal. Explicitly includes the Fleet for current abandoned-receipt cooldown handling.
|
|
166
|
+
* @example
|
|
167
|
+
* ```ts
|
|
168
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions;
|
|
169
|
+
* const plan = await planAcknowledgeScanResult(ctx, fleet, options);
|
|
170
|
+
* console.log(plan.describe());
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
export function planAcknowledgeScanResult(ctx, fleet, options) {
|
|
174
|
+
return completion(ctx, fleet, 'acknowledge', options);
|
|
175
|
+
}
|
|
176
|
+
/** Abandon one unexpired Contact without attempting recovery. Acknowledgement remains a separate explicit action.
|
|
177
|
+
* @example
|
|
178
|
+
* ```ts
|
|
179
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions;
|
|
180
|
+
* const plan = await planAbandonSignal(ctx, fleet, options);
|
|
181
|
+
* console.log(plan.describe());
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
export function planAbandonSignal(ctx, fleet, options) {
|
|
185
|
+
return completion(ctx, fleet, 'abandon', options);
|
|
186
|
+
}
|
|
187
|
+
/** Expire one Contact after its deadline. No gameplay authority is needed; acknowledgement remains separate.
|
|
188
|
+
* @example
|
|
189
|
+
* ```ts
|
|
190
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
191
|
+
* const plan = await planExpireSignal(ctx, fleet);
|
|
192
|
+
* console.log(plan.describe());
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
export function planExpireSignal(ctx, fleet) {
|
|
196
|
+
return completion(ctx, fleet, 'expire');
|
|
197
|
+
}
|
|
198
|
+
/** Forfeit one PendingEntropy attempt after the supported reveal deadline. No gameplay authority is needed; acknowledgement remains separate.
|
|
199
|
+
* @example
|
|
200
|
+
* ```ts
|
|
201
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
202
|
+
* const plan = await planForfeitScanSignalEntropy(ctx, fleet);
|
|
203
|
+
* console.log(plan.describe());
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
export function planForfeitScanSignalEntropy(ctx, fleet) {
|
|
207
|
+
return completion(ctx, fleet, 'forfeit-entropy');
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scanning/actions/index.ts"],"names":[],"mappings":"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"}
|
package/dist/scanning/index.d.ts
CHANGED
|
@@ -68,7 +68,7 @@ export interface ScanPatternSnapshot {
|
|
|
68
68
|
readonly cooldownMultiplier: ScanFixedValue;
|
|
69
69
|
readonly blankWeight: ScanFixedValue;
|
|
70
70
|
readonly blankXpValue: ScanFixedValue;
|
|
71
|
-
readonly status: 'draft' | 'active';
|
|
71
|
+
readonly status: 'draft' | 'active' | 'removed';
|
|
72
72
|
readonly costs: readonly ScanPatternCost[];
|
|
73
73
|
readonly loot: readonly ScanPatternLootOutcome[];
|
|
74
74
|
readonly noiseMaps: readonly ScanNoiseMap[];
|
|
@@ -182,4 +182,7 @@ export declare function getCharacterScanningState(context: SageContext, profile:
|
|
|
182
182
|
* ```
|
|
183
183
|
*/
|
|
184
184
|
export declare function deriveScanCooldownState(fleet: FleetScanningStateSnapshot, atUnixSeconds: bigint): ScanCooldownState;
|
|
185
|
+
export { getScanSignalForFleet, maybeGetScanSignalForFleet, getScanPatternPolicy, maybeGetScanPatternPolicy, getScanLootProfile, maybeGetScanLootProfile, type ScanCoordinates, type ScanSignalStatus, type ScanSignalSnapshot, type ScanPatternPolicySnapshot, type ScanLootProfileSnapshot, } from './signals.js';
|
|
186
|
+
export { deriveScanSignalTiming, deriveScanRecoveryRange, type ScanSignalClock, type ScanSignalTiming, type ScanRecoveryRange, } from './lifecycle.js';
|
|
187
|
+
export { deriveScanLootOdds, deriveCommittedScanLootOdds, deriveScanExhaustion, type ScanLootOddsOptions, type ScanLootOdds, type ScanExhaustion, } from './odds.js';
|
|
185
188
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanning/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAEd,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAEtB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,gBAAgB,EAChB,SAAS,GAAG,UAAU,CACvB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;CACrC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,yBAAyB,EAAE,SAAS,MAAM,EAAE,CAAC;CACvD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanning/index.ts"],"names":[],"mappings":"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"}
|
package/dist/scanning/index.js
CHANGED
|
@@ -137,9 +137,9 @@ export async function getFleetScanningState(context, address, options) {
|
|
|
137
137
|
ownerProfile: entityRef('profile', envelope.data.ownerProfile),
|
|
138
138
|
stats: {
|
|
139
139
|
bonus: misc.scanBonus,
|
|
140
|
-
cooldownSeconds: misc.scanCoolDownSeconds,
|
|
140
|
+
cooldownSeconds: misc.scanCoolDownSeconds.value,
|
|
141
141
|
cost: misc.scanCost,
|
|
142
|
-
power: misc.scanPower,
|
|
142
|
+
power: misc.scanPower.value,
|
|
143
143
|
},
|
|
144
144
|
}), metadata(envelope)));
|
|
145
145
|
FLEET_SNAPSHOTS.set(envelope, snapshot);
|
|
@@ -204,4 +204,7 @@ export function deriveScanCooldownState(fleet, atUnixSeconds) {
|
|
|
204
204
|
remainingSeconds: fleet.cooldownEndsAtUnixSeconds - atUnixSeconds,
|
|
205
205
|
};
|
|
206
206
|
}
|
|
207
|
+
export { getScanSignalForFleet, maybeGetScanSignalForFleet, getScanPatternPolicy, maybeGetScanPatternPolicy, getScanLootProfile, maybeGetScanLootProfile, } from './signals.js';
|
|
208
|
+
export { deriveScanSignalTiming, deriveScanRecoveryRange, } from './lifecycle.js';
|
|
209
|
+
export { deriveScanLootOdds, deriveCommittedScanLootOdds, deriveScanExhaustion, } from './odds.js';
|
|
207
210
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanning/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,SAAS,GAQV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,GAI7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GAGjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EACL,YAAY,GAEb,MAAM,sBAAsB,CAAC;AAiJ9B,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAGlC,CAAC;AACJ,MAAM,eAAe,GAAG,IAAI,OAAO,EAGhC,CAAC;AACJ,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAGpC,CAAC;AAEJ,SAAS,QAAQ,CACf,QAAmC,EACnC,WAAiC,QAAQ;IAEzC,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAoB,EACpB,QAAkD,EAClD,QAAyB;IAEzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,kBAAkB,CAC1B,aAAa,EACb,QAAQ,CAAC,OAAO,EAChB,IAAI,UAAU,CAAC,8CAA8C,CAAC,EAC9D,eAAe,QAAQ,CAAC,OAAO,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,yBAAyB,IAAI,gEAAgE,CACnK,CAAC;IACJ,CAAC;IACD,OAAO,sBAAsB,CAC3B,cAAc,CACZ,uBAAuB,CAAC;QACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;QACtC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY;QACxC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;QACxB,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB;QACpD,KAAK,EAAE,MAAM,OAAO,CAAC,GAAG,CACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACvC,KAAK,EAAE,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC,CACJ;QACD,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;QACpB,IAAI,EAAE,aAAsB;QAC5B,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM,EAAE,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC;YAC1D,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,yBAAyB,EAAE,OAAO,CAAC,yBAAyB;YAC5D,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC,CACJ;QACD,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;QACxB,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;QAClC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;QAC5B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;KAC/B,CAAC,EACF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC7B,CACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,OAAoB,EACpB,QAAkD,EAClD,QAAyB;IAEzB,IAAI,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAClB,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7B,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAoB,EACpB,SAAiB,EACjB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CACtC,4BAA4B,EAC5B,OAAO,EACP,OAAO,CACR,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,kBAAkB,CAC1B,aAAa,EACb,OAAO,EACP,IAAI,UAAU,CAAC,oDAAoD,CAAC,EACpE,eAAe,OAAO,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,MAAM,CAAC,SAAS,CAAC,wEAAwE,CAC1K,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAoB,EACpB,SAAiB,EACjB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC5C,4BAA4B,EAC5B,CAAC,OAAO,CAAC,EACT,OAAO,CACR,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,kBAAkB,CAC1B,aAAa,EACb,OAAO,EACP,IAAI,UAAU,CAAC,oDAAoD,CAAC,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAoB,EACpB,OAAqC;IAErC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACzB,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,2BAA2B,CAAC,CAChE,CACF,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAoB,EACpB,OAAgB,EAChB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CACtC,sBAAsB,EACtB,OAAO,EACP,OAAO,CACR,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,kBAAkB,CAC1B,OAAO,EACP,OAAO,EACP,IAAI,UAAU,CAAC,wCAAwC,CAAC,EACxD,SAAS,OAAO,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,yBAAyB,IAAI,yDAAyD,CAC7I,CAAC;IACJ,CAAC;IACD,MAAM,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACtC,MAAM,QAAQ,GAAG,sBAAsB,CACrC,cAAc,CACZ,uBAAuB,CAAC;QACtB,yBAAyB,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB;QAC9D,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC3C,IAAI,EAAE,oBAA6B;QACnC,YAAY,EAAE,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;QAC9D,KAAK,EAAE;YACL,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,eAAe,EAAE,IAAI,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanning/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { ScanCoordinates, ScanSignalSnapshot, ScanSignalStatus } from './signals.js';
|
|
2
|
+
/** Explicit chain clock inputs; slots and Unix seconds are independent units.
|
|
3
|
+
* @example
|
|
4
|
+
* ```ts
|
|
5
|
+
* const clock: ScanSignalClock = { slot: 54_000_000n, unixSeconds: 1_790_000_000n };
|
|
6
|
+
* ```
|
|
7
|
+
*/
|
|
8
|
+
export interface ScanSignalClock {
|
|
9
|
+
readonly slot: bigint;
|
|
10
|
+
readonly unixSeconds: bigint;
|
|
11
|
+
}
|
|
12
|
+
/** Timing observations from the fingerprinted client, not permission to execute a scan action.
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* declare const result: ScanSignalTiming;
|
|
16
|
+
* console.log(result.entropy?.phase, result.cooldownRemainingSeconds);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export interface ScanSignalTiming {
|
|
20
|
+
readonly status: ScanSignalStatus | 'absent';
|
|
21
|
+
readonly cooldownRemainingSeconds: bigint;
|
|
22
|
+
readonly entropy: Readonly<{
|
|
23
|
+
phase: 'waiting' | 'ready' | 'expired';
|
|
24
|
+
readyAtSlot: bigint;
|
|
25
|
+
deadlineSlot: bigint;
|
|
26
|
+
slotsUntilReady: bigint;
|
|
27
|
+
}> | undefined;
|
|
28
|
+
readonly contactExpiry: Readonly<{
|
|
29
|
+
expired: boolean;
|
|
30
|
+
remainingSeconds: bigint;
|
|
31
|
+
}> | undefined;
|
|
32
|
+
toJSON(): unknown;
|
|
33
|
+
}
|
|
34
|
+
/** Exact geometric comparison; squared raw values use a 2^112 scale, not map units.
|
|
35
|
+
* No-contact means geometry is unavailable, not that an action is allowed.
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* declare const result: ScanRecoveryRange;
|
|
39
|
+
* if (result.kind === 'contact') console.log(result.withinRange);
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export type ScanRecoveryRange = (Readonly<{
|
|
43
|
+
kind: 'no-contact';
|
|
44
|
+
}> | Readonly<{
|
|
45
|
+
kind: 'contact';
|
|
46
|
+
withinRange: boolean;
|
|
47
|
+
distanceSquaredRaw: bigint;
|
|
48
|
+
radiusSquaredRaw: bigint;
|
|
49
|
+
}>) & {
|
|
50
|
+
toJSON(): unknown;
|
|
51
|
+
};
|
|
52
|
+
/** Projects signal cooldown, pending entropy and contact expiry using explicit clock values.
|
|
53
|
+
* Reveal starts at commitSlot + 10 and ends exclusively 256 slots later, matching
|
|
54
|
+
* the fingerprinted client. No network, polling, clock access or acknowledgement
|
|
55
|
+
* eligibility is implied; abandonment acknowledgement can shorten cooldown.
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* declare const signal: ScanSignalSnapshot | undefined;
|
|
59
|
+
* const timing = deriveScanSignalTiming(signal, { slot: 54_000_000n, unixSeconds: 1_790_000_000n });
|
|
60
|
+
* console.log(timing.entropy?.phase);
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function deriveScanSignalTiming(signal: ScanSignalSnapshot | undefined, clock: ScanSignalClock): ScanSignalTiming;
|
|
64
|
+
/** Compares a contact's recovery radius with exact raw I8F56 coordinates, boundary included.
|
|
65
|
+
* Supply current raw I8F56 coordinates, not Fleet display coordinates or the
|
|
66
|
+
* original scan-attempt position. Never reconstruct exact bits from rounded values.
|
|
67
|
+
* Uses raw components only. This is geometry, not expiry, authority, capacity or
|
|
68
|
+
* instruction eligibility; an expired Contact still has measurable geometry.
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* declare const signal: ScanSignalSnapshot | undefined, location: ScanCoordinates;
|
|
72
|
+
* const range = deriveScanRecoveryRange(signal, location);
|
|
73
|
+
* if (range.kind === 'contact') console.log(range.withinRange);
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function deriveScanRecoveryRange(signal: ScanSignalSnapshot | undefined, location: ScanCoordinates): ScanRecoveryRange;
|
|
77
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/scanning/lifecycle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AACD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,QAAQ,CAAC;IAC7C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,OAAO,EACZ,QAAQ,CAAC;QACP,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;QACvC,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,GACF,SAAS,CAAC;IACd,QAAQ,CAAC,aAAa,EACpB,QAAQ,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IACvE,MAAM,IAAI,OAAO,CAAC;CACnB;AACD;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC5B,QAAQ,CAAC;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,GAChC,QAAQ,CAAC;IACP,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC,CACL,GAAG;IAAE,MAAM,IAAI,OAAO,CAAA;CAAE,CAAC;AAwB1B;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EACtC,KAAK,EAAE,eAAe,GACrB,gBAAgB,CAqClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EACtC,QAAQ,EAAE,eAAe,GACxB,iBAAiB,CAenB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { SageSdkError, InvalidDerivationInputError } from '../client/errors.js';
|
|
2
|
+
import { attachJsonSerialization } from '../internal/json.js';
|
|
3
|
+
import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
|
|
4
|
+
function nonnegative(field, value) {
|
|
5
|
+
if (value < 0n)
|
|
6
|
+
throw new InvalidDerivationInputError(field, value, 'Supply a nonnegative slot or radius from a fresh scan snapshot before deriving scan timing or range.');
|
|
7
|
+
}
|
|
8
|
+
function required(value, field) {
|
|
9
|
+
if (value === undefined)
|
|
10
|
+
throw new SageSdkError('INVALID_DERIVATION_INPUT', `The scan signal is missing ${field} required by its state. Refetch the signal snapshot before deriving scan timing or range.`);
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
function remaining(end, now) {
|
|
14
|
+
return end > now ? end - now : 0n;
|
|
15
|
+
}
|
|
16
|
+
function finish(value) {
|
|
17
|
+
return freezeResolvedSnapshot(attachJsonSerialization(value));
|
|
18
|
+
}
|
|
19
|
+
/** Projects signal cooldown, pending entropy and contact expiry using explicit clock values.
|
|
20
|
+
* Reveal starts at commitSlot + 10 and ends exclusively 256 slots later, matching
|
|
21
|
+
* the fingerprinted client. No network, polling, clock access or acknowledgement
|
|
22
|
+
* eligibility is implied; abandonment acknowledgement can shorten cooldown.
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* declare const signal: ScanSignalSnapshot | undefined;
|
|
26
|
+
* const timing = deriveScanSignalTiming(signal, { slot: 54_000_000n, unixSeconds: 1_790_000_000n });
|
|
27
|
+
* console.log(timing.entropy?.phase);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export function deriveScanSignalTiming(signal, clock) {
|
|
31
|
+
nonnegative('clock.slot', clock.slot);
|
|
32
|
+
let entropy;
|
|
33
|
+
let contactExpiry;
|
|
34
|
+
if (signal?.status === 'pending-entropy') {
|
|
35
|
+
const { commitSlot } = required(signal.attempt, 'attempt');
|
|
36
|
+
nonnegative('attempt.commitSlot', commitSlot);
|
|
37
|
+
const readyAtSlot = commitSlot + 10n;
|
|
38
|
+
const deadlineSlot = readyAtSlot + 256n;
|
|
39
|
+
entropy = {
|
|
40
|
+
phase: clock.slot < readyAtSlot
|
|
41
|
+
? 'waiting'
|
|
42
|
+
: clock.slot < deadlineSlot
|
|
43
|
+
? 'ready'
|
|
44
|
+
: 'expired',
|
|
45
|
+
readyAtSlot,
|
|
46
|
+
deadlineSlot,
|
|
47
|
+
slotsUntilReady: remaining(readyAtSlot, clock.slot),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (signal?.status === 'contact') {
|
|
51
|
+
const { expiresAtUnixSeconds } = required(signal.contact, 'contact');
|
|
52
|
+
contactExpiry = {
|
|
53
|
+
expired: clock.unixSeconds >= expiresAtUnixSeconds,
|
|
54
|
+
remainingSeconds: remaining(expiresAtUnixSeconds, clock.unixSeconds),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return finish({
|
|
58
|
+
status: signal?.status ?? 'absent',
|
|
59
|
+
cooldownRemainingSeconds: signal === undefined
|
|
60
|
+
? 0n
|
|
61
|
+
: remaining(signal.cooldownEndsAtUnixSeconds, clock.unixSeconds),
|
|
62
|
+
entropy,
|
|
63
|
+
contactExpiry,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/** Compares a contact's recovery radius with exact raw I8F56 coordinates, boundary included.
|
|
67
|
+
* Supply current raw I8F56 coordinates, not Fleet display coordinates or the
|
|
68
|
+
* original scan-attempt position. Never reconstruct exact bits from rounded values.
|
|
69
|
+
* Uses raw components only. This is geometry, not expiry, authority, capacity or
|
|
70
|
+
* instruction eligibility; an expired Contact still has measurable geometry.
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* declare const signal: ScanSignalSnapshot | undefined, location: ScanCoordinates;
|
|
74
|
+
* const range = deriveScanRecoveryRange(signal, location);
|
|
75
|
+
* if (range.kind === 'contact') console.log(range.withinRange);
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export function deriveScanRecoveryRange(signal, location) {
|
|
79
|
+
if (signal?.status !== 'contact')
|
|
80
|
+
return finish({ kind: 'no-contact' });
|
|
81
|
+
const { target, targetRadius } = required(signal.contact, 'contact');
|
|
82
|
+
nonnegative('contact.targetRadius.raw', targetRadius.raw);
|
|
83
|
+
const dx = location.x.raw - target.x.raw, dy = location.y.raw - target.y.raw;
|
|
84
|
+
const distanceSquaredRaw = dx * dx + dy * dy;
|
|
85
|
+
const radiusSquaredRaw = targetRadius.raw * targetRadius.raw;
|
|
86
|
+
return finish({
|
|
87
|
+
kind: 'contact',
|
|
88
|
+
withinRange: distanceSquaredRaw <= radiusSquaredRaw,
|
|
89
|
+
distanceSquaredRaw,
|
|
90
|
+
radiusSquaredRaw,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/scanning/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { ScanPatternPolicySnapshot, ScanLootProfileSnapshot, ScanSignalSnapshot } from './signals.js';
|
|
2
|
+
type Policy = ScanPatternPolicySnapshot;
|
|
3
|
+
type Profile = ScanLootProfileSnapshot;
|
|
4
|
+
type Row = Profile['loot'][number];
|
|
5
|
+
type Focus = Row['category'];
|
|
6
|
+
type UnavailableReason = 'missing-policy' | 'missing-loot-profile' | 'unsupported-version' | 'unsupported-pattern' | 'unsupported-loot-layout' | 'game-mismatch' | 'inactive-policy' | 'inactive-loot-profile' | 'pattern-research-locked' | 'region-research-locked' | 'focus-not-allowed' | 'empty-weighted-pool' | 'signal-not-pending' | 'committed-configuration-mismatch';
|
|
7
|
+
type Exclusion = 'pattern' | 'rarity' | 'value-budget' | 'focus' | 'research' | 'not-committed';
|
|
8
|
+
type Provenance = Readonly<{
|
|
9
|
+
policy: Readonly<Pick<Policy, 'address' | 'game' | 'patternId' | 'revision' | 'contentFingerprint'>> | undefined;
|
|
10
|
+
lootProfile: Readonly<Pick<Profile, 'address' | 'game' | 'regionId' | 'revision' | 'contentFingerprint'>> | undefined;
|
|
11
|
+
signal: Readonly<Pick<ScanSignalSnapshot, 'address' | 'sequence'>> | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
type Share = Readonly<{
|
|
14
|
+
cargo: Row['cargo'];
|
|
15
|
+
weight: bigint;
|
|
16
|
+
conditionalProbability: number;
|
|
17
|
+
perScanProbability: number;
|
|
18
|
+
}>;
|
|
19
|
+
/** Explicit eligibility knowledge for prospective client estimates. Empty tag arrays mean known none.
|
|
20
|
+
* Regional requirements must describe the supplied loot profile's region. Focus defaults to any.
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const options: ScanLootOddsOptions = { unlockedResearchTagIds: [12], requiredRegionResearchTagIds: [], exhaustionBasisPoints: 0 };
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export interface ScanLootOddsOptions {
|
|
27
|
+
readonly unlockedResearchTagIds: readonly number[];
|
|
28
|
+
readonly requiredRegionResearchTagIds: readonly number[];
|
|
29
|
+
readonly exhaustionBasisPoints: number;
|
|
30
|
+
readonly focus?: Focus;
|
|
31
|
+
}
|
|
32
|
+
/** Client-derived selection estimates, never program-verified probabilities or recovery quantities.
|
|
33
|
+
* Unavailable results deliberately contain no probability fields. Conditional shares remain meaningful
|
|
34
|
+
* when contact probability is zero. Probabilities are numeric fractions from zero through one.
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* declare const odds: ScanLootOdds;
|
|
38
|
+
* if (odds.status === 'available') console.log(odds.resources[0]?.perScanProbability);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export type ScanLootOdds = Readonly<{
|
|
42
|
+
kind: 'client-derived-estimate';
|
|
43
|
+
basis: 'prospective' | 'committed';
|
|
44
|
+
provenance: Provenance;
|
|
45
|
+
toJSON(): unknown;
|
|
46
|
+
}> & (Readonly<{
|
|
47
|
+
status: 'unavailable';
|
|
48
|
+
reasons: readonly UnavailableReason[];
|
|
49
|
+
}> | Readonly<{
|
|
50
|
+
status: 'available';
|
|
51
|
+
contactChanceBasisPoints: number;
|
|
52
|
+
contactProbability: number;
|
|
53
|
+
noContactProbability: number;
|
|
54
|
+
totalWeight: bigint;
|
|
55
|
+
eligibleRows: readonly (Share & Readonly<{
|
|
56
|
+
rowIndex: number;
|
|
57
|
+
}>)[];
|
|
58
|
+
excludedRows: readonly Readonly<{
|
|
59
|
+
rowIndex: number;
|
|
60
|
+
reasons: readonly Exclusion[];
|
|
61
|
+
}>[];
|
|
62
|
+
resources: readonly Share[];
|
|
63
|
+
}>);
|
|
64
|
+
/** Client-derived exhaustion from an explicit clock and retained recovery history.
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* declare const exhaustion: ScanExhaustion;
|
|
68
|
+
* console.log(exhaustion.exhaustionBasisPoints, exhaustion.effectiveRecoveries);
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export interface ScanExhaustion {
|
|
72
|
+
readonly kind: 'client-derived-estimate';
|
|
73
|
+
readonly exhaustionBasisPoints: number;
|
|
74
|
+
readonly effectiveRecoveries: number;
|
|
75
|
+
toJSON(): unknown;
|
|
76
|
+
}
|
|
77
|
+
/** Estimates prospective contact and cargo-selection odds using the fingerprinted client's eligibility rules.
|
|
78
|
+
* Requires explicit research and exhaustion knowledge. This is not full scan-launch readiness:
|
|
79
|
+
* permissions, costs, Fleet state, cooldown, target and recovery capacity are outside this calculation.
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* declare const policy: ScanPatternPolicySnapshot, loot: ScanLootProfileSnapshot;
|
|
83
|
+
* const odds = deriveScanLootOdds(policy, loot, { unlockedResearchTagIds: [], requiredRegionResearchTagIds: [], exhaustionBasisPoints: 0 });
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function deriveScanLootOdds(policy: Policy | undefined, profile: Profile | undefined, options: ScanLootOddsOptions): ScanLootOdds;
|
|
87
|
+
/** Estimates a pending signal's recorded draw using its committed rows and contact chance.
|
|
88
|
+
* Revisions AND full fingerprints must match. Current activity, focus and research do not
|
|
89
|
+
* replace committed eligibility; terminal signals are not random forecasts.
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* declare const signal: ScanSignalSnapshot, policy: ScanPatternPolicySnapshot, loot: ScanLootProfileSnapshot;
|
|
93
|
+
* const odds = deriveCommittedScanLootOdds(signal, policy, loot);
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare function deriveCommittedScanLootOdds(signal: ScanSignalSnapshot | undefined, policy: Policy | undefined, profile: Profile | undefined): ScanLootOdds;
|
|
97
|
+
/** Applies the client exhaustion decay rule with explicit region and Unix seconds, without clock reads.
|
|
98
|
+
* An absent signal means known absence of recovery history, not an unknown/unread signal.
|
|
99
|
+
* Another region, disabled decay or a clock before the last recovery produce zero exhaustion.
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* declare const policy: ScanPatternPolicySnapshot, signal: ScanSignalSnapshot | undefined;
|
|
103
|
+
* const exhaustion = deriveScanExhaustion(policy, signal, { regionId: 3, unixSeconds: 1_790_000_000n });
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function deriveScanExhaustion(policy: Policy, signal: ScanSignalSnapshot | undefined, options: Readonly<{
|
|
107
|
+
regionId: number;
|
|
108
|
+
unixSeconds: bigint;
|
|
109
|
+
}>): ScanExhaustion;
|
|
110
|
+
export {};
|
|
111
|
+
//# sourceMappingURL=odds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odds.d.ts","sourceRoot":"","sources":["../../src/scanning/odds.ts"],"names":[],"mappings":"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"}
|