@aephia/atlas-kit 0.6.0-next.9 → 0.6.0-next.90
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 +28 -27
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts +13 -0
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +95 -44
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +14 -0
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +23 -2
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +1 -1
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +16 -6
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/errors.d.ts +6 -2
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +31 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +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.map +1 -1
- package/dist/combat/actions/index.js +98 -50
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/crafting/actions/index.d.ts +11 -0
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +63 -36
- 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 +44 -15
- 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 +34 -15
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +227 -118
- 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 +41 -13
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/cooldown.d.ts +44 -0
- package/dist/fleets/cooldown.d.ts.map +1 -0
- package/dist/fleets/cooldown.js +43 -0
- package/dist/fleets/cooldown.js.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.js +46 -0
- package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
- package/dist/fleets/index.d.ts +34 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +51 -2
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/movement-arithmetic.d.ts +21 -0
- package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
- package/dist/fleets/movement-arithmetic.js +41 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -0
- package/dist/fleets/subwarp-estimate.d.ts +70 -0
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
- package/dist/fleets/subwarp-estimate.js +38 -0
- package/dist/fleets/subwarp-estimate.js.map +1 -0
- package/dist/fleets/warp-lane-estimate.d.ts +59 -0
- package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
- package/dist/fleets/warp-lane-estimate.js +36 -0
- package/dist/fleets/warp-lane-estimate.js.map +1 -0
- package/dist/fleets/warp-lane-policy.d.ts +68 -0
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
- package/dist/fleets/warp-lane-policy.js +91 -0
- package/dist/fleets/warp-lane-policy.js.map +1 -0
- package/dist/fleets/warp-lane-toll.d.ts +55 -0
- package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
- package/dist/fleets/warp-lane-toll.js +79 -0
- package/dist/fleets/warp-lane-toll.js.map +1 -0
- package/dist/identity/actions/create-profile.d.ts +2 -0
- package/dist/identity/actions/create-profile.d.ts.map +1 -1
- package/dist/identity/actions/create-profile.js +14 -9
- package/dist/identity/actions/create-profile.js.map +1 -1
- 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 +48 -27
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/index.d.ts +15 -0
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +15 -0
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +124 -0
- package/dist/identity/permissions.d.ts.map +1 -0
- package/dist/identity/permissions.js +171 -0
- package/dist/identity/permissions.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.js +19 -0
- package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
- package/dist/internal/c4/character-registration.d.ts +2 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.js +2 -0
- package/dist/internal/c4/character-registration.js.map +1 -1
- package/dist/internal/c4/claim-stake.d.ts +4 -27
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +25 -38
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +0 -27
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +0 -33
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
- package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
- package/dist/internal/c4/crafting-process-codec.js +34 -0
- package/dist/internal/c4/crafting-process-codec.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +12 -32
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +31 -44
- package/dist/internal/c4/crafting.js.map +1 -1
- 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/factions.d.ts +9 -57
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +21 -139
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +28 -0
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/c4/fleet-arrival.js +42 -0
- package/dist/internal/c4/fleet-arrival.js.map +1 -0
- package/dist/internal/c4/fleet-creation.d.ts +7 -0
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
- package/dist/internal/c4/fleet-creation.js +180 -0
- package/dist/internal/c4/fleet-creation.js.map +1 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +15 -0
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +19 -0
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/c4/fleet-respawn.js +91 -0
- package/dist/internal/c4/fleet-respawn.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.js +44 -0
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts +45 -19
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +26 -7
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +36 -9
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +147 -14
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +4 -8
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +3 -24
- 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/loyalty.d.ts +0 -27
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +0 -33
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +2 -38
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +13 -51
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +2 -0
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
- package/dist/internal/c4/mining-instructions.js +3 -0
- package/dist/internal/c4/mining-instructions.js.map +1 -0
- package/dist/internal/c4/open-signal.d.ts +8 -0
- package/dist/internal/c4/open-signal.d.ts.map +1 -0
- package/dist/internal/c4/open-signal.js +37 -0
- package/dist/internal/c4/open-signal.js.map +1 -0
- package/dist/internal/c4/profile-permissions.d.ts +14 -0
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
- package/dist/internal/c4/profile-permissions.js +81 -0
- package/dist/internal/c4/profile-permissions.js.map +1 -0
- package/dist/internal/c4/region-geometry.d.ts +8 -0
- package/dist/internal/c4/region-geometry.d.ts.map +1 -0
- package/dist/internal/c4/region-geometry.js +43 -0
- package/dist/internal/c4/region-geometry.js.map +1 -0
- package/dist/internal/c4/rewards.d.ts +0 -27
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +0 -33
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +3 -0
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
- package/dist/internal/c4/runtime-bindings.js +4 -0
- package/dist/internal/c4/runtime-bindings.js.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.js +3 -0
- package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
- package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +258 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +1 -28
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +2 -33
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/ship-import.d.ts +4 -0
- package/dist/internal/c4/ship-import.d.ts.map +1 -0
- package/dist/internal/c4/ship-import.js +13 -0
- package/dist/internal/c4/ship-import.js.map +1 -0
- package/dist/internal/c4/ship-stats.d.ts.map +1 -1
- package/dist/internal/c4/ship-stats.js +25 -21
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +0 -32
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +3 -41
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/world.d.ts +36 -7
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +58 -25
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/cargo.d.ts +2 -0
- package/dist/internal/cargo.d.ts.map +1 -1
- package/dist/internal/cargo.js +8 -0
- package/dist/internal/cargo.js.map +1 -1
- package/dist/internal/fleet.d.ts +1 -0
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +3 -1
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
- package/dist/internal/loyalty-atlas-bank-state.js +10 -0
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
- package/dist/internal/planning/action-runtime.d.ts +38 -0
- package/dist/internal/planning/action-runtime.d.ts.map +1 -0
- package/dist/internal/planning/action-runtime.js +63 -0
- package/dist/internal/planning/action-runtime.js.map +1 -0
- package/dist/internal/planning/arrival-guards.d.ts +20 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +187 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +10 -7
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +87 -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.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 +105 -0
- package/dist/internal/planning/fleet-arrival.js.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.js +110 -0
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
- package/dist/internal/planning/fleet-creation.d.ts +30 -0
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
- package/dist/internal/planning/fleet-creation.js +108 -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-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 +225 -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 +153 -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 +165 -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 +137 -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/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 +126 -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 +166 -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 +85 -0
- package/dist/internal/planning/open-signal.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 +43 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +636 -0
- package/dist/internal/planning/runtime-guards.js.map +1 -0
- package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion-guard.js +94 -0
- package/dist/internal/planning/scan-completion-guard.js.map +1 -0
- package/dist/internal/planning/scan-completion.d.ts +20 -0
- package/dist/internal/planning/scan-completion.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion.js +196 -0
- package/dist/internal/planning/scan-completion.js.map +1 -0
- package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect-guard.js +77 -0
- package/dist/internal/planning/scan-detect-guard.js.map +1 -0
- package/dist/internal/planning/scan-detect.d.ts +24 -0
- package/dist/internal/planning/scan-detect.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect.js +244 -0
- package/dist/internal/planning/scan-detect.js.map +1 -0
- package/dist/internal/planning/scan-input.d.ts +9 -0
- package/dist/internal/planning/scan-input.d.ts.map +1 -0
- package/dist/internal/planning/scan-input.js +58 -0
- package/dist/internal/planning/scan-input.js.map +1 -0
- package/dist/internal/planning/ship-import-funding.d.ts +22 -0
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
- package/dist/internal/planning/ship-import-funding.js +52 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +0 -1
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +2 -5
- package/dist/internal/planning/ship-token.js.map +1 -1
- package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system-guard.js +93 -0
- package/dist/internal/planning/starbase-system-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system.d.ts +12 -0
- package/dist/internal/planning/starbase-system.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system.js +22 -0
- package/dist/internal/planning/starbase-system.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts +4 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -0
- package/dist/internal/planning/token-mint.js +15 -0
- package/dist/internal/planning/token-mint.js.map +1 -0
- package/dist/internal/planning/trade-faction-market.d.ts +20 -0
- package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
- package/dist/internal/planning/trade-faction-market.js +56 -0
- package/dist/internal/planning/trade-faction-market.js.map +1 -0
- package/dist/internal/planning/xp-runtime.d.ts +36 -0
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
- package/dist/internal/planning/xp-runtime.js +126 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- package/dist/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 +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 +61 -3
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +137 -25
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +43 -0
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
- package/dist/markets/actions/trade-faction-market.js +291 -0
- package/dist/markets/actions/trade-faction-market.js.map +1 -0
- package/dist/markets/index.d.ts +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 +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 +24 -0
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +459 -17
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +181 -149
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +869 -121
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-sequence.d.ts.map +1 -1
- package/dist/planning/plan-sequence.js +8 -1
- package/dist/planning/plan-sequence.js.map +1 -1
- package/dist/planning/simulation.d.ts +25 -1
- package/dist/planning/simulation.d.ts.map +1 -1
- package/dist/planning/simulation.js +111 -11
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts +6 -11
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +19 -19
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/docking.d.ts +13 -0
- package/dist/registry/docking.d.ts.map +1 -0
- package/dist/registry/docking.js +19 -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 +8 -1
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +18 -5
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/scanning.d.ts +7 -0
- package/dist/registry/scanning.d.ts.map +1 -0
- package/dist/registry/scanning.js +13 -0
- package/dist/registry/scanning.js.map +1 -0
- package/dist/registry/ship-stats-snapshot.js +19 -19
- package/dist/registry/ship-stats-snapshot.js.map +1 -1
- package/dist/registry/ships.d.ts +22 -2
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +28 -4
- package/dist/registry/ships.js.map +1 -1
- package/dist/registry/xp-runtime.d.ts +4 -0
- package/dist/registry/xp-runtime.d.ts.map +1 -0
- package/dist/registry/xp-runtime.js +14 -0
- package/dist/registry/xp-runtime.js.map +1 -0
- package/dist/scanning/actions/index.d.ts +116 -0
- package/dist/scanning/actions/index.d.ts.map +1 -0
- package/dist/scanning/actions/index.js +185 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +4 -1
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +12 -8
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/lifecycle.d.ts +77 -0
- package/dist/scanning/lifecycle.d.ts.map +1 -0
- package/dist/scanning/lifecycle.js +93 -0
- package/dist/scanning/lifecycle.js.map +1 -0
- package/dist/scanning/odds.d.ts +111 -0
- package/dist/scanning/odds.d.ts.map +1 -0
- package/dist/scanning/odds.js +294 -0
- package/dist/scanning/odds.js.map +1 -0
- package/dist/scanning/signals.d.ts +121 -0
- package/dist/scanning/signals.d.ts.map +1 -0
- package/dist/scanning/signals.js +171 -0
- package/dist/scanning/signals.js.map +1 -0
- package/dist/world/index.d.ts +110 -5
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +109 -4
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +130 -0
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
- package/dist/world/planet-claim-stake-plots.js +110 -0
- package/dist/world/planet-claim-stake-plots.js.map +1 -0
- package/dist/world/starbase-status.d.ts +176 -0
- package/dist/world/starbase-status.d.ts.map +1 -0
- package/dist/world/starbase-status.js +153 -0
- package/dist/world/starbase-status.js.map +1 -0
- package/package.json +10 -2
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { Address } from '@solana/kit';
|
|
2
|
+
import type { SageContext } from '../../client/contracts.js';
|
|
3
|
+
import type { PlanAuthorization } from '../../internal/planning/authorization-adapter.js';
|
|
4
|
+
import { type Plan } from '../../planning/index.js';
|
|
5
|
+
export type { PlanAuthorization };
|
|
6
|
+
/** Explicit address-only direct Profile authorization for signal setup. Certificates are unsupported.
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* declare const authorization: PlanAuthorization;
|
|
10
|
+
* const options: PlanOpenScanSignalOptions = { authorization };
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export interface PlanOpenScanSignalOptions {
|
|
14
|
+
readonly authorization: PlanAuthorization;
|
|
15
|
+
}
|
|
16
|
+
/** Plans one absent canonical signal for a directly owned Fleet, including Docked Fleets.
|
|
17
|
+
* Planning reads fresh state but never signs, submits, deposits funds or detects a signal.
|
|
18
|
+
* The Profile funds signal rent while retaining its own reserve; transaction fees are separate.
|
|
19
|
+
* Restricted-key least privilege is unqualified: instruction permission acceptance remains
|
|
20
|
+
* chain-authoritative, and legacy SCAN bit 38 is not established as sufficient. Simulate before signing.
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
24
|
+
* const plan = await planOpenScanSignal(ctx, fleet, { authorization });
|
|
25
|
+
* console.log(plan.describe());
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function planOpenScanSignal(ctx: SageContext, fleet: Address, options: PlanOpenScanSignalOptions): Promise<Plan>;
|
|
29
|
+
import { type DetectOptions } from '../../internal/planning/scan-detect.js';
|
|
30
|
+
/** Explicit choices for one Idle Fleet's detection; setup and funding are separate.
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* declare const profile: Address, authority: Address;
|
|
34
|
+
* const authorization = { profile, authority, keyIndex: 0 };
|
|
35
|
+
* const options: PlanDetectSignalOptions = { authorization, patternId: 0, focus: 'any' };
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export interface PlanDetectSignalOptions extends DetectOptions {
|
|
39
|
+
}
|
|
40
|
+
/** Plans one signal detection for an existing Empty signal and directly owned Idle Fleet.
|
|
41
|
+
* Reads fresh prerequisites without signing. Restricted-key sufficiency, cooldown
|
|
42
|
+
* rejection and final gameplay outcomes remain chain-authoritative; use simulatePlan.
|
|
43
|
+
* No automatic opening, deposits, loading, undocking or resolution occurs.
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanDetectSignalOptions;
|
|
47
|
+
* const plan = await planDetectSignal(ctx, fleet, options);
|
|
48
|
+
* console.log(plan.describe());
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function planDetectSignal(ctx: SageContext, fleet: Address, options: PlanDetectSignalOptions): Promise<Plan>;
|
|
52
|
+
import { type ScanCompletionOptions } from '../../internal/planning/scan-completion.js';
|
|
53
|
+
/** Direct address-only authority for recovery, abandonment and receipt acknowledgement.
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* declare const authorization: PlanAuthorization;
|
|
57
|
+
* const options: PlanScanCompletionOptions = { authorization };
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export interface PlanScanCompletionOptions extends ScanCompletionOptions {
|
|
61
|
+
}
|
|
62
|
+
/** Resolve one PendingEntropy signal using its committed policy and regional loot configuration. Requires current Character XP accounts; no gameplay authority is needed.
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
66
|
+
* const plan = await planResolveSignal(ctx, fleet);
|
|
67
|
+
* console.log(plan.describe());
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function planResolveSignal(ctx: SageContext, fleet: Address): Promise<Plan>;
|
|
71
|
+
/** Recover one unexpired Contact with an Idle Fleet inside its stored radius. Cargo acceptance, clipping and XP remain chain-authoritative.
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions;
|
|
75
|
+
* const plan = await planRecoverSignal(ctx, fleet, options);
|
|
76
|
+
* console.log(plan.describe());
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare function planRecoverSignal(ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions): Promise<Plan>;
|
|
80
|
+
/** Clear one terminal receipt to Empty while retaining the funded signal. Explicitly includes the Fleet for current abandoned-receipt cooldown handling.
|
|
81
|
+
* @example
|
|
82
|
+
* ```ts
|
|
83
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions;
|
|
84
|
+
* const plan = await planAcknowledgeScanResult(ctx, fleet, options);
|
|
85
|
+
* console.log(plan.describe());
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare function planAcknowledgeScanResult(ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions): Promise<Plan>;
|
|
89
|
+
/** Abandon one unexpired Contact without attempting recovery. Acknowledgement remains a separate explicit action.
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions;
|
|
93
|
+
* const plan = await planAbandonSignal(ctx, fleet, options);
|
|
94
|
+
* console.log(plan.describe());
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare function planAbandonSignal(ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions): Promise<Plan>;
|
|
98
|
+
/** Expire one Contact after its deadline. No gameplay authority is needed; acknowledgement remains separate.
|
|
99
|
+
* @example
|
|
100
|
+
* ```ts
|
|
101
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
102
|
+
* const plan = await planExpireSignal(ctx, fleet);
|
|
103
|
+
* console.log(plan.describe());
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function planExpireSignal(ctx: SageContext, fleet: Address): Promise<Plan>;
|
|
107
|
+
/** Forfeit one PendingEntropy attempt after the supported reveal deadline. No gameplay authority is needed; acknowledgement remains separate.
|
|
108
|
+
* @example
|
|
109
|
+
* ```ts
|
|
110
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
111
|
+
* const plan = await planForfeitScanSignalEntropy(ctx, fleet);
|
|
112
|
+
* console.log(plan.describe());
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export declare function planForfeitScanSignalEntropy(ctx: SageContext, fleet: Address): Promise<Plan>;
|
|
116
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scanning/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAa1F,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAClC;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;CAC3C;AACD;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAiDf;AAED,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,wCAAwC,CAAC;AAChD;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAwB,SAAQ,aAAa;CAAG;AACjE;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,4CAA4C,CAAC;AAKpD;;;;;;GAMG;AACH,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;CAAG;AAyC3E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AACD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAEf;AACD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAEf;AACD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAEf;AACD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AACD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
2
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
3
|
+
import { validateScanAuthorizationOptions, validateScanFleetAddress, } from '../../internal/planning/scan-input.js';
|
|
4
|
+
import { resolveOpenSignal, openSignalAddresses, validateOpenSignal, openSignalInstruction, } from '../../internal/planning/open-signal.js';
|
|
5
|
+
import { readFreshGameForCharacterRegistration } from '../../registry/onboarding.js';
|
|
6
|
+
import { createPlan } from '../../planning/index.js';
|
|
7
|
+
/** Plans one absent canonical signal for a directly owned Fleet, including Docked Fleets.
|
|
8
|
+
* Planning reads fresh state but never signs, submits, deposits funds or detects a signal.
|
|
9
|
+
* The Profile funds signal rent while retaining its own reserve; transaction fees are separate.
|
|
10
|
+
* Restricted-key least privilege is unqualified: instruction permission acceptance remains
|
|
11
|
+
* chain-authoritative, and legacy SCAN bit 38 is not established as sufficient. Simulate before signing.
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;
|
|
15
|
+
* const plan = await planOpenScanSignal(ctx, fleet, { authorization });
|
|
16
|
+
* console.log(plan.describe());
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export async function planOpenScanSignal(ctx, fleet, options) {
|
|
20
|
+
validateScanFleetAddress(fleet);
|
|
21
|
+
const a = validateScanAuthorizationOptions(options);
|
|
22
|
+
const intent = {
|
|
23
|
+
game: requireGameAddress(ctx),
|
|
24
|
+
fleet,
|
|
25
|
+
profile: a.profile,
|
|
26
|
+
authority: a.authority,
|
|
27
|
+
keyIndex: a.keyIndex,
|
|
28
|
+
};
|
|
29
|
+
const guard = {
|
|
30
|
+
...intent,
|
|
31
|
+
...(await resolveOpenSignal(intent)),
|
|
32
|
+
kind: 'scan-signal-open',
|
|
33
|
+
authorityHash: '',
|
|
34
|
+
maximumProfileDebit: 0xffffffffffffffffn,
|
|
35
|
+
describes: 'Canonical absence, direct authority, owner/controller identity and Profile funding remain valid; refetch and recreate if changed.',
|
|
36
|
+
};
|
|
37
|
+
const addresses = openSignalAddresses(guard);
|
|
38
|
+
const [game, raw] = await Promise.all([
|
|
39
|
+
readFreshGameForCharacterRegistration(ctx),
|
|
40
|
+
readContextRawAccounts(ctx, addresses),
|
|
41
|
+
]);
|
|
42
|
+
const { profileDebit, authorityHash } = await validateOpenSignal(guard, new Map(addresses.map((a, n) => [a, raw[n]])));
|
|
43
|
+
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.`;
|
|
44
|
+
return createPlan({
|
|
45
|
+
kind: 'scanning.open-signal',
|
|
46
|
+
summary,
|
|
47
|
+
preconditions: [
|
|
48
|
+
{
|
|
49
|
+
kind: 'game-account',
|
|
50
|
+
address: game.address,
|
|
51
|
+
describes: 'The configured Game remains valid; unrelated definitions may change.',
|
|
52
|
+
},
|
|
53
|
+
{ ...guard, authorityHash, maximumProfileDebit: profileDebit },
|
|
54
|
+
],
|
|
55
|
+
steps: [
|
|
56
|
+
{
|
|
57
|
+
instruction: openSignalInstruction(guard),
|
|
58
|
+
signers: [intent.authority],
|
|
59
|
+
describes: summary,
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
import { resolveDetect, } from '../../internal/planning/scan-detect.js';
|
|
65
|
+
/** Plans one signal detection for an existing Empty signal and directly owned Idle Fleet.
|
|
66
|
+
* Reads fresh prerequisites without signing. Restricted-key sufficiency, cooldown
|
|
67
|
+
* rejection and final gameplay outcomes remain chain-authoritative; use simulatePlan.
|
|
68
|
+
* No automatic opening, deposits, loading, undocking or resolution occurs.
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanDetectSignalOptions;
|
|
72
|
+
* const plan = await planDetectSignal(ctx, fleet, options);
|
|
73
|
+
* console.log(plan.describe());
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export async function planDetectSignal(ctx, fleet, options) {
|
|
77
|
+
const resolved = await resolveDetect(ctx, fleet, options);
|
|
78
|
+
const guard = resolved.guard;
|
|
79
|
+
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.`;
|
|
80
|
+
return createPlan({
|
|
81
|
+
kind: 'scan-detect',
|
|
82
|
+
summary: description,
|
|
83
|
+
steps: [
|
|
84
|
+
{
|
|
85
|
+
instruction: resolved.instruction,
|
|
86
|
+
describes: description,
|
|
87
|
+
signers: [guard.authority],
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
preconditions: [guard],
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
import { resolveScanCompletion, } from '../../internal/planning/scan-completion.js';
|
|
94
|
+
import { completionAuthorized, } from '../../internal/planning/scan-completion-guard.js';
|
|
95
|
+
async function completion(ctx, fleet, operation, options) {
|
|
96
|
+
const { guard, instruction } = await resolveScanCompletion(ctx, fleet, operation, options);
|
|
97
|
+
const effects = {
|
|
98
|
+
resolve: 'Reveal a PendingEntropy attempt as Contact or NoContact. Entropy availability, the revealed result and any XP remain chain-authoritative.',
|
|
99
|
+
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.',
|
|
100
|
+
acknowledge: 'Clear this terminal receipt to Empty without closing the funded signal. The current Fleet account is included for abandoned-receipt cooldown handling.',
|
|
101
|
+
abandon: 'Abandon this unexpired Contact without recovering its cargo. Clearing the Abandoned receipt requires a separate acknowledgement.',
|
|
102
|
+
expire: 'Expire this overdue Contact without recovering its cargo. Clearing the Expired receipt requires a separate acknowledgement.',
|
|
103
|
+
'forfeit-entropy': 'Forfeit this PendingEntropy attempt after its reveal deadline and record NoContact. Clearing the receipt requires a separate acknowledgement.',
|
|
104
|
+
};
|
|
105
|
+
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.`;
|
|
106
|
+
return createPlan({
|
|
107
|
+
kind: `scanning.${operation}`,
|
|
108
|
+
summary,
|
|
109
|
+
steps: [
|
|
110
|
+
{
|
|
111
|
+
instruction,
|
|
112
|
+
signers: completionAuthorized(operation) ? [guard.authority] : [],
|
|
113
|
+
describes: summary,
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
preconditions: [guard],
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/** Resolve one PendingEntropy signal using its committed policy and regional loot configuration. Requires current Character XP accounts; no gameplay authority is needed.
|
|
120
|
+
* @example
|
|
121
|
+
* ```ts
|
|
122
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
123
|
+
* const plan = await planResolveSignal(ctx, fleet);
|
|
124
|
+
* console.log(plan.describe());
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
export function planResolveSignal(ctx, fleet) {
|
|
128
|
+
return completion(ctx, fleet, 'resolve');
|
|
129
|
+
}
|
|
130
|
+
/** Recover one unexpired Contact with an Idle Fleet inside its stored radius. Cargo acceptance, clipping and XP remain chain-authoritative.
|
|
131
|
+
* @example
|
|
132
|
+
* ```ts
|
|
133
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions;
|
|
134
|
+
* const plan = await planRecoverSignal(ctx, fleet, options);
|
|
135
|
+
* console.log(plan.describe());
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
export function planRecoverSignal(ctx, fleet, options) {
|
|
139
|
+
return completion(ctx, fleet, 'recover', options);
|
|
140
|
+
}
|
|
141
|
+
/** Clear one terminal receipt to Empty while retaining the funded signal. Explicitly includes the Fleet for current abandoned-receipt cooldown handling.
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions;
|
|
145
|
+
* const plan = await planAcknowledgeScanResult(ctx, fleet, options);
|
|
146
|
+
* console.log(plan.describe());
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export function planAcknowledgeScanResult(ctx, fleet, options) {
|
|
150
|
+
return completion(ctx, fleet, 'acknowledge', options);
|
|
151
|
+
}
|
|
152
|
+
/** Abandon one unexpired Contact without attempting recovery. Acknowledgement remains a separate explicit action.
|
|
153
|
+
* @example
|
|
154
|
+
* ```ts
|
|
155
|
+
* declare const ctx: SageContext, fleet: Address, options: PlanScanCompletionOptions;
|
|
156
|
+
* const plan = await planAbandonSignal(ctx, fleet, options);
|
|
157
|
+
* console.log(plan.describe());
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
export function planAbandonSignal(ctx, fleet, options) {
|
|
161
|
+
return completion(ctx, fleet, 'abandon', options);
|
|
162
|
+
}
|
|
163
|
+
/** Expire one Contact after its deadline. No gameplay authority is needed; acknowledgement remains separate.
|
|
164
|
+
* @example
|
|
165
|
+
* ```ts
|
|
166
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
167
|
+
* const plan = await planExpireSignal(ctx, fleet);
|
|
168
|
+
* console.log(plan.describe());
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
export function planExpireSignal(ctx, fleet) {
|
|
172
|
+
return completion(ctx, fleet, 'expire');
|
|
173
|
+
}
|
|
174
|
+
/** Forfeit one PendingEntropy attempt after the supported reveal deadline. No gameplay authority is needed; acknowledgement remains separate.
|
|
175
|
+
* @example
|
|
176
|
+
* ```ts
|
|
177
|
+
* declare const ctx: SageContext, fleet: Address;
|
|
178
|
+
* const plan = await planForfeitScanSignalEntropy(ctx, fleet);
|
|
179
|
+
* console.log(plan.describe());
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
export function planForfeitScanSignalEntropy(ctx, fleet) {
|
|
183
|
+
return completion(ctx, fleet, 'forfeit-entropy');
|
|
184
|
+
}
|
|
185
|
+
//# 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
|
@@ -64,6 +64,11 @@ function patternSnapshot(context, envelope, strategy) {
|
|
|
64
64
|
void pending.catch(() => cache.delete(strategy));
|
|
65
65
|
return pending;
|
|
66
66
|
}
|
|
67
|
+
function assertDerivedPatternId(envelope, patternId) {
|
|
68
|
+
if (envelope.data.id !== patternId) {
|
|
69
|
+
throw new AccountDecodeError('scanPattern', envelope.address, new RangeError('The ScanPattern id contradicted its derived seeds.'), `ScanPattern ${envelope.address} stores id ${String(envelope.data.id)}, not derived id ${String(patternId)}. Verify the configured cluster and pinned PDA recipe before retrying.`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
67
72
|
/** Derives and reads one required ScanPattern for the configured Game.
|
|
68
73
|
* @example
|
|
69
74
|
* ```ts
|
|
@@ -75,9 +80,7 @@ export async function getScanPattern(context, patternId, options) {
|
|
|
75
80
|
const game = requireGameAddress(context);
|
|
76
81
|
const address = await deriveScanPatternAddress(game, patternId);
|
|
77
82
|
const envelope = await context.data.read(scanPatternAccountDefinition, address, options);
|
|
78
|
-
|
|
79
|
-
throw new AccountDecodeError('scanPattern', address, new RangeError('The ScanPattern id contradicted its derived seeds.'), `ScanPattern ${address} stores id ${String(envelope.data.id)}, not derived id ${String(patternId)}. Verify the configured cluster and pinned PDA recipe before retrying.`);
|
|
80
|
-
}
|
|
83
|
+
assertDerivedPatternId(envelope, patternId);
|
|
81
84
|
return patternSnapshot(context, envelope, 'derived');
|
|
82
85
|
}
|
|
83
86
|
/** Derives and reads one optional ScanPattern for the configured Game.
|
|
@@ -93,9 +96,7 @@ export async function maybeGetScanPattern(context, patternId, options) {
|
|
|
93
96
|
const [envelope] = await context.data.readMany(scanPatternAccountDefinition, [address], options);
|
|
94
97
|
if (envelope === undefined)
|
|
95
98
|
return undefined;
|
|
96
|
-
|
|
97
|
-
throw new AccountDecodeError('scanPattern', address, new RangeError('The ScanPattern id contradicted its derived seeds.'));
|
|
98
|
-
}
|
|
99
|
+
assertDerivedPatternId(envelope, patternId);
|
|
99
100
|
return patternSnapshot(context, envelope, 'derived');
|
|
100
101
|
}
|
|
101
102
|
/** Discovers the configured Game's ScanPattern catalog with targeted filters.
|
|
@@ -137,9 +138,9 @@ export async function getFleetScanningState(context, address, options) {
|
|
|
137
138
|
ownerProfile: entityRef('profile', envelope.data.ownerProfile),
|
|
138
139
|
stats: {
|
|
139
140
|
bonus: misc.scanBonus,
|
|
140
|
-
cooldownSeconds: misc.scanCoolDownSeconds,
|
|
141
|
+
cooldownSeconds: misc.scanCoolDownSeconds.value,
|
|
141
142
|
cost: misc.scanCost,
|
|
142
|
-
power: misc.scanPower,
|
|
143
|
+
power: misc.scanPower.value,
|
|
143
144
|
},
|
|
144
145
|
}), metadata(envelope)));
|
|
145
146
|
FLEET_SNAPSHOTS.set(envelope, snapshot);
|
|
@@ -204,4 +205,7 @@ export function deriveScanCooldownState(fleet, atUnixSeconds) {
|
|
|
204
205
|
remainingSeconds: fleet.cooldownEndsAtUnixSeconds - atUnixSeconds,
|
|
205
206
|
};
|
|
206
207
|
}
|
|
208
|
+
export { getScanSignalForFleet, maybeGetScanSignalForFleet, getScanPatternPolicy, maybeGetScanPatternPolicy, getScanLootProfile, maybeGetScanLootProfile, } from './signals.js';
|
|
209
|
+
export { deriveScanSignalTiming, deriveScanRecoveryRange, } from './lifecycle.js';
|
|
210
|
+
export { deriveScanLootOdds, deriveCommittedScanLootOdds, deriveScanExhaustion, } from './odds.js';
|
|
207
211
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanning/index.ts"],"names":[],"mappings":"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
|
|
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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"}
|