fleets/actions
Interfaces
Section titled “Interfaces”PlanAddShipToFleetOptions
Section titled “PlanAddShipToFleetOptions”Defined in: packages/sage/src/fleets/actions/add-ship.ts:24
Explicit address-only selection of escrowed ships for an owned Docked Fleet.
Example
Section titled “Example”declare const profile: Address, authority: Address;const options: PlanAddShipToFleetOptions = {authorization:{profile,authority,keyIndex:0},shipId:1,amount:1n};Properties
Section titled “Properties”amount
Section titled “amount”readonly amount: bigint;Defined in: packages/sage/src/fleets/actions/add-ship.ts:27
authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/add-ship.ts:25
shipId
Section titled “shipId”readonly shipId: number;Defined in: packages/sage/src/fleets/actions/add-ship.ts:26
PlanCreateFleetOptions
Section titled “PlanCreateFleetOptions”Defined in: packages/sage/src/fleets/actions/create-fleet.ts:24
Address-only options for creating an empty Fleet at an existing own-faction StarbasePlayer.
Example
Section titled “Example”declare const profile:Address, authority:Address, system:Address;const options:PlanCreateFleetOptions={authorization:{profile,authority,keyIndex:0},system,label:'Scout'};Properties
Section titled “Properties”authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/create-fleet.ts:25
readonly label: string;Defined in: packages/sage/src/fleets/actions/create-fleet.ts:27
system
Section titled “system”readonly system: Address;Defined in: packages/sage/src/fleets/actions/create-fleet.ts:26
PlanDepositShipsToGameOptions
Section titled “PlanDepositShipsToGameOptions”Defined in: packages/sage/src/fleets/actions/ship-import.ts:61
Exact whole ships to import under one explicit configuration ID. Optional escrow creation requires an explicit payer; it never registers onboarding accounts.
Example
Section titled “Example”declare const owner: Address;declare const authorization: PlanAuthorization;const options: PlanDepositShipsToGameOptions = { shipId: 1, amount: 2n, owner, authorization };Properties
Section titled “Properties”amount
Section titled “amount”readonly amount: bigint;Defined in: packages/sage/src/fleets/actions/ship-import.ts:63
authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/ship-import.ts:65
escrowAccount?
Section titled “escrowAccount?”readonly optional escrowAccount?: { mode: "create-if-missing"; payer: Address;};Defined in: packages/sage/src/fleets/actions/ship-import.ts:67
readonly mode: "create-if-missing";readonly payer: Address;readonly owner: Address;Defined in: packages/sage/src/fleets/actions/ship-import.ts:64
shipId
Section titled “shipId”readonly shipId: number;Defined in: packages/sage/src/fleets/actions/ship-import.ts:62
source?
Section titled “source?”readonly optional source?: Address;Defined in: packages/sage/src/fleets/actions/ship-import.ts:66
PlanFleetCrewTransferOptions
Section titled “PlanFleetCrewTransferOptions”Defined in: packages/sage/src/fleets/actions/crew-transfer.ts:18
Direct player authorization and the positive count for ordinary Docked Fleet crew transfer.
Example
Section titled “Example”declare const authorization: PlanAuthorization;const options: PlanFleetCrewTransferOptions = { authorization, count: 1 };Properties
Section titled “Properties”authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/crew-transfer.ts:19
readonly count: number;Defined in: packages/sage/src/fleets/actions/crew-transfer.ts:20
PlanFleetDisbandOptions
Section titled “PlanFleetDisbandOptions”Defined in: packages/sage/src/fleets/actions/disband.ts:28
Explicit address-only authorization for disbanding an owned Docked Fleet.
Example
Section titled “Example”declare const profile: Address, authority: Address;const options: PlanFleetDisbandOptions = { authorization: { profile, authority, keyIndex: 0 } };Properties
Section titled “Properties”authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/disband.ts:29
PlanFleetDockOptions
Section titled “PlanFleetDockOptions”Defined in: packages/sage/src/fleets/actions/index.ts:130
Inputs for planning one idle-to-docked Fleet transition.
Example
Section titled “Example”declare const authorization: PlanAuthorization;const options: PlanFleetDockOptions = { authorization };Properties
Section titled “Properties”authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/index.ts:131
PlanFleetRespawnOptions
Section titled “PlanFleetRespawnOptions”Defined in: packages/sage/src/fleets/actions/respawn.ts:17
Direct player authorization and the faction CSS System for explicit timed recovery.
Example
Section titled “Example”declare const authorization: PlanAuthorization, system: Address;const options: PlanFleetRespawnOptions = { authorization, system };Properties
Section titled “Properties”authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/respawn.ts:18
system
Section titled “system”readonly system: Address;Defined in: packages/sage/src/fleets/actions/respawn.ts:19
PlanFleetSettleArrivalOptions
Section titled “PlanFleetSettleArrivalOptions”Defined in: packages/sage/src/fleets/actions/index.ts:199
Explicit authority for a completed Fleet journey, separate from the fee payer.
Requires direct Profile authorization for current Game subwarp. Certificates are not supported for arrival.
Example
Section titled “Example”declare const authorization: PlanAuthorization;const options: PlanFleetSettleArrivalOptions = { authorization };Properties
Section titled “Properties”authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/index.ts:200
PlanFleetStopSubwarpOptions
Section titled “PlanFleetStopSubwarpOptions”Defined in: packages/sage/src/fleets/actions/index.ts:211
Inputs for stopping one Fleet subwarp early.
Example
Section titled “Example”declare const authorization: PlanAuthorization;const options: PlanFleetStopSubwarpOptions = { authorization };Properties
Section titled “Properties”authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/index.ts:212
PlanFleetUndockOptions
Section titled “PlanFleetUndockOptions”Defined in: packages/sage/src/fleets/actions/index.ts:118
Inputs for planning one docked-to-idle Fleet transition.
Example
Section titled “Example”declare const authorization: PlanAuthorization;const options: PlanFleetUndockOptions = { authorization };Properties
Section titled “Properties”authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/index.ts:119
PlanFleetWarpLaneOptions
Section titled “PlanFleetWarpLaneOptions”Defined in: packages/sage/src/fleets/actions/index.ts:183
Inputs for planning one explicit connected-system Fleet warp.
Example
Section titled “Example”declare const authorization: PlanAuthorization;declare const destinationSystem: Address;const options: PlanFleetWarpLaneOptions = { authorization, destinationSystem,};Properties
Section titled “Properties”authorization
Section titled “authorization”readonly authorization: PlanAuthorization;Defined in: packages/sage/src/fleets/actions/index.ts:184
destinationSystem
Section titled “destinationSystem”readonly destinationSystem: Address;Defined in: packages/sage/src/fleets/actions/index.ts:185
Type Aliases
Section titled “Type Aliases”FleetDockDebitBounds
Section titled “FleetDockDebitBounds”type FleetDockDebitBounds = | { reason: | DockBoundsUnavailableReason | "not-fleet-dock" | "multiple-fleet-docks" | "combined-plan"; status: "unavailable"; toJSON: unknown;} | { fleet: Address; maximumFleetGrowthBytes: 40; maximumProfileDebit: bigint; profile: Address; profileUnit: "lamports"; starbasePlayer: Address; status: "available"; transactionFees: "excluded"; toJSON: unknown;};Defined in: packages/sage/src/fleets/actions/dock-bounds.ts:19
Conservative gross Profile storage debit for qualified ordinary docking. Surplus and refunds are not credited; unavailable never implies zero cost.
Example
Section titled “Example”declare const bounds: FleetDockDebitBounds;if (bounds.status === 'available') console.log(bounds.maximumProfileDebit);PlanFleetCoordinateMovementOptions
Section titled “PlanFleetCoordinateMovementOptions”type PlanFleetCoordinateMovementOptions = | { authorization: PlanAuthorization; destination: FleetSnapshot["location"]; destinationRaw?: never;} | { authorization: PlanAuthorization; destination?: never; destinationRaw: { x: bigint; y: bigint; };};Defined in: packages/sage/src/fleets/actions/index.ts:156
Inputs for planning one explicit coordinate-destination Fleet movement.
Choose exactly one representation. destination accepts display numbers and
applies the generated I8F56 codec’s rounding. destinationRaw preserves an
exact signed-I8F56 value, such as a Star System’s coordinatesRaw.
Example
Section titled “Example”declare const authorization: PlanAuthorization;declare const destinationSystem: { readonly coordinatesRaw: { readonly x: bigint; readonly y: bigint };};const displayOptions: PlanFleetCoordinateMovementOptions = { authorization, destination: { x: 12, y: -7 },};const exactOptions: PlanFleetCoordinateMovementOptions = { authorization, destinationRaw: destinationSystem.coordinatesRaw,};Functions
Section titled “Functions”getFleetDockDebitBounds()
Section titled “getFleetDockDebitBounds()”function getFleetDockDebitBounds(plan): FleetDockDebitBounds;Defined in: packages/sage/src/fleets/actions/dock-bounds.ts:51
Inspects the persisted docking ceiling without network I/O. Inspect individual Plans before combining distinct Fleets. Fresh pre-sign checks are not an atomic on-chain spending cap; state can change before landing.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
plan | Plan |
Returns
Section titled “Returns”Example
Section titled “Example”declare const plan: Plan;const bounds = getFleetDockDebitBounds(plan);if (bounds.status === 'available') console.log(bounds.maximumProfileDebit);planAddShipToFleet()
Section titled “planAddShipToFleet()”function planAddShipToFleet( ctx, fleet,input): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/add-ship.ts:90
Plans one singleton transfer of an exact ship configuration from StarbasePlayer entitlement to an owned Docked Fleet.
Follows the program’s assembly rules for ships of any size: each ship must be
within the Character’s maximum ship size and its research tags must all be
held; the resulting Fleet’s points (XXS 1, XS 4, Small 9, Medium 16, Large 25,
Capital 36, Commander 49, Titan 128) must fit both the Character’s Fleet size
and the Game limit, with at most one Titan and two Commanders and Titans
together. Escrowed hulls of any configuration of the same ship count, as the
program re-tags them. A configuration’s components, times the amount, move
from the StarbasePlayer’s cargo into the Fleet’s components, where they stay;
the StarbasePlayer must hold them all. Any Starbase with a current
StarbasePlayer of the Fleet’s faction works. Fleets built under older ship
definitions are not planned; sync those with planSyncFleetWithGame first.
The explicit ship ID must be a u16 and the whole ship amount must be 1n through 255n. Uses a direct Profile
AUTH key or a manageFleet key scoped to SAGE or the Fleet; a positive Profile
rent shortfall additionally requires vault-funding permission. No token
transfer or onboarding occurs.
A rented Fleet is refused, as is a Fleet whose HP plus pending repair cannot
reach its maximum; the program also needs full AP and SP, which recover on
timers and stay chain-authoritative.
Final stats, research, refresh and outcomes remain chain-authoritative.
Simulate before signing. The observed debit ceiling is rechecked before
signing and is not an atomic on-chain spending cap. Two assembly Plans for the same Profile
cannot compose because they share funds and assembly state.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | Address |
input | PlanAddShipToFleetOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx:SageContext, fleet:Address, profile:Address, authority:Address;const plan = await planAddShipToFleet(ctx,fleet,{authorization:{profile,authority,keyIndex:0},shipId:1,amount:1n});console.log(plan.describe());planCreateFleet()
Section titled “planCreateFleet()”function planCreateFleet(ctx, input): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/create-fleet.ts:69
Plans a standalone empty Docked Fleet, without signing or submitting. Derives all account addresses from the configured Game, Profile, exact label and System. Accepted label bytes are preserved. Requires an existing own-faction StarbasePlayer, a direct Profile AUTH or SAGE manageFleet key, and available stored Character capacity. The Profile pays only the Fleet target’s rent shortfall; a non-AUTH key needs drainSolVault only for a positive debit. The observed debit is checked again before signing; it is not an atomic on-chain spending cap. Final rent and funding remain chain-authoritative. No implicit key grants, registration or funding occurs. Final modifier refresh and deployed eligibility remain chain-authoritative: simulate before signing. Creation Plans for the same Character cannot be combined.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
input | PlanCreateFleetOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx:SageContext, profile:Address, authority:Address, system:Address;const plan=await planCreateFleet(ctx,{authorization:{profile,authority,keyIndex:0},system,label:'Scout'});console.log(plan.describe());planDepositShipsToGame()
Section titled “planDepositShipsToGame()”function planDepositShipsToGame( ctx, starbase,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/ship-import.ts:189
Plans importing whole ship tokens into a registered player’s CSS ship escrow. Requires direct Profile AUTH and token-owner authorization. The Profile vault funds any StarbasePlayer storage shortfall; an explicit ATA payer funds optional escrow creation. Fees are separate. No Fleet is created and no signer is retained.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
starbase | ShipImportStarbaseIntent |
options | PlanDepositShipsToGameOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext;declare const starbase: import('@aephia/atlas-kit/starbases').StarbasePlayerSnapshot;declare const options: PlanDepositShipsToGameOptions;const plan = await planDepositShipsToGame(ctx, starbase, options);console.log(plan.describe());planFleetCompleteRespawn()
Section titled “planFleetCompleteRespawn()”function planFleetCompleteRespawn( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/respawn.ts:130
Prepares timed completion only after the stored Respawn end time according to chain Clock. Uses the explicit Respawn-to-Docked route; never pays to bypass the timer. Refresh confirmed state to establish arrival at the faction CSS; simulation is not confirmation.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | Address |
options | PlanFleetRespawnOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext, fleet: Address, options: PlanFleetRespawnOptions;const plan = await planFleetCompleteRespawn(ctx, fleet, options);console.log(plan.describe());planFleetDisband()
Section titled “planFleetDisband()”function planFleetDisband( ctx, fleet,input): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/disband.ts:70
Plans disbanding an owned Docked Fleet, the game’s only way to take a Fleet
apart. Verified against the program’s behaviour: the Fleet’s ships return to
the StarbasePlayer’s hangar where it is Docked, its crew to that
StarbasePlayer, and its fuel, ammo, cargo hold and components merge into the
StarbasePlayer’s cargo. The Character’s Fleet slot is freed and the Fleet
closes, refunding its rent to the Profile. To replace a composition, disband,
confirm, then plan planCreateFleet and planAddShipToFleet from fresh
state; disband and creation for the same Character cannot be combined.
The Fleet must be a canonical owned player Fleet, not rented, Docked at a Starbase where the Character has a current StarbasePlayer of its faction, fully repaired, with no warp or scan cooldown running. The program also needs full AP and SP, which recover on timers and stay chain-authoritative. Uses a direct Profile AUTH key or a manageFleet key scoped to SAGE or the Fleet. New hangar entries and cargo lines grow the StarbasePlayer, and the program funds that growth from the Profile vault; that debit is bounded and rechecked before signing, but it is not an atomic on-chain spending cap. Any change to the Fleet after planning refuses the Plan. Simulate before signing, then read the StarbasePlayer back after confirmation.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | Address |
input | PlanFleetDisbandOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext, fleet: Address, profile: Address, authority: Address;const plan = await planFleetDisband(ctx, fleet, { authorization: { profile, authority, keyIndex: 0 } });console.log(plan.describe());planFleetDock()
Section titled “planFleetDock()”function planFleetDock( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/index.ts:1713
Plans one explicit Fleet dock without signing, simulation, or write RPC.
The planner accepts a loaded idle or refreshable warp Fleet snapshot, resolves the only canonical Character, Star System at its action coordinate, and Starbase Player internally, and returns one inspectable idle-to-docked Plan. A subwarp snapshot is refused: the dock step refreshes the Fleet without its Character and cannot settle a subwarp journey, so settle the arrival or stop the subwarp first.
Docking is admitted when the Starbase Player belongs to the Starbase’s controlling faction, whatever the territory and economics settings. A foreign Starbase Player is refused while territory access is off; foreign docking under territory access and dynamic-faction Starbases are refused as unsupported.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | FleetSnapshot |
options | PlanFleetDockOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext;declare const fleet: FleetSnapshot;declare const authorization: PlanAuthorization;const plan = await planFleetDock(ctx, fleet, { authorization });console.log(plan.describe());planFleetSettleArrival()
Section titled “planFleetSettleArrival()”function planFleetSettleArrival( ctx, fleet,input): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/index.ts:1427
Plans settlement after chain time confirms the scheduled Fleet journey duration has elapsed.
Game version 2 subwarp requires explicit direct Profile authorization and existing reconciled Career XP accounts. Warp settlement is unsupported. Journeys whose scheduled duration has not elapsed and Idle Fleets fail locally. Planning and execution read fresh accounts; no host clock is used.
Settlement does not guarantee reaching the destination: insufficient Fuel can leave the Fleet Idle short of it. Low Fuel produces a planning-time warning, not a rejection. Inspect refreshed state and location after confirmation. Subwarp settles fuel and XP and may refund released storage rent to the Profile. Warp cooldown remains independent. Fresh checks cannot prevent a concurrent transaction from starting another journey before execution; the authorized instruction could stop that new journey. Intentional early stopping remains the separate planFleetStopSubwarp operation.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | FleetSnapshot |
input | PlanFleetSettleArrivalOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext;declare const fleet: FleetSnapshot;declare const authorization: PlanAuthorization;const plan = await planFleetSettleArrival(ctx, fleet, { authorization });console.log(plan.describe());planFleetStartRespawn()
Section titled “planFleetStartRespawn()”function planFleetStartRespawn( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/respawn.ts:113
Prepares explicit timed recovery for an owned Idle Fleet, including a zero-Fuel Fleet. Requires Character ATLAS for the current hull recovery fees. Never deposits funds, signs, submits, waits or automatically falls back from movement. Recovery may lose assets.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | Address |
options | PlanFleetRespawnOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext, fleet: Address, options: PlanFleetRespawnOptions;const plan = await planFleetStartRespawn(ctx, fleet, options);console.log(plan.describe());planFleetStopSubwarp()
Section titled “planFleetStopSubwarp()”function planFleetStopSubwarp( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/index.ts:1496
Plans an early Fleet subwarp stop without signing, simulation, or write RPC.
This operation stops an in-progress subwarp before arrival. Use planFleetSettleArrival for a trip already known to have completed; callers should not deliberately stop a completed trip. An idle Fleet is still accepted so the program’s benign no-op handles the normal race where subwarp completes between planning and execution.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | FleetSnapshot |
options | PlanFleetStopSubwarpOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext;declare const fleet: FleetSnapshot;declare const authorization: PlanAuthorization;const plan = await planFleetStopSubwarp(ctx, fleet, { authorization });console.log(plan.describe());planFleetSubwarp()
Section titled “planFleetSubwarp()”function planFleetSubwarp( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/index.ts:1367
Plans one explicit Fleet subwarp to a display or exact raw coordinate without movement estimates.
A coordinate outside every Region is deep space and carries no Region hint. A player Fleet may cross deep space, but stopping there needs the Character’s High Risk zone access; NPC Fleets need none. The Plan guards only the Regions whose bounding boxes overlap the straight path’s, plus the Region count, so a Starbase capture or upgrade elsewhere leaves it valid.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | FleetSnapshot |
options | PlanFleetCoordinateMovementOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext;declare const fleet: FleetSnapshot;declare const authorization: PlanAuthorization;const plan = await planFleetSubwarp(ctx, fleet, { authorization, destinationRaw: { x: 12n << 56n, y: -(7n << 56n) },});planFleetUndock()
Section titled “planFleetUndock()”function planFleetUndock( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/index.ts:1577
Plans one explicit Fleet undock without signing, simulation, or write RPC.
The planner accepts a loaded Fleet snapshot, resolves its canonical Character, docked Star System, and Starbase Player internally, and returns one inspectable docked-to-idle Plan.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | FleetSnapshot |
options | PlanFleetUndockOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext;declare const fleet: FleetSnapshot;declare const authorization: PlanAuthorization;const plan = await planFleetUndock(ctx, fleet, { authorization });console.log(plan.describe());planFleetWarpLane()
Section titled “planFleetWarpLane()”function planFleetWarpLane( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/index.ts:1242
Plans one explicit connected-system Fleet warp without local economics estimates.
The planner resolves the source Star System from the Fleet’s action coordinate, proves connectivity from that System’s decoded connections, and resolves all generated instruction accounts internally. CurrencyCache shared accounting may change; canonical identity/layout and the existing toll-input guards remain checked before signing. The Regions containing the destination keep their owner, safety status and risk zone, which decide destination access; other Regions may change. Refresh and recreate older Plans to use these guards.
Connectivity does not guarantee eligibility. The program remains authoritative for faction-relationship and destination-risk checks and any ATLAS toll. Tested current PTR routes succeed with empty Fuel tanks. This planner does not estimate lane costs or treat enabled cross-faction economics as blanket permission.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | FleetSnapshot |
options | PlanFleetWarpLaneOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext;declare const fleet: FleetSnapshot;declare const destinationSystem: Address;declare const authorization: PlanAuthorization;const plan = await planFleetWarpLane(ctx, fleet, { authorization, destinationSystem,});planFleetWarpToCoordinate()
Section titled “planFleetWarpToCoordinate()”function planFleetWarpToCoordinate( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/index.ts:1394
Plans one explicit Fleet coordinate warp to a display or exact raw coordinate without movement estimates.
A coordinate outside every Region is deep space and carries no Region hint. A player Fleet may cross deep space, but stopping there needs the Character’s High Risk zone access; NPC Fleets need none. The Plan guards only the Regions whose bounding boxes overlap the straight path’s, plus the Region count, so a Starbase capture or upgrade elsewhere leaves it valid.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | FleetSnapshot |
options | PlanFleetCoordinateMovementOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext;declare const fleet: FleetSnapshot;declare const authorization: PlanAuthorization;const plan = await planFleetWarpToCoordinate(ctx, fleet, { authorization, destinationRaw: { x: 12n << 56n, y: -(7n << 56n) },});planLoadFleetCrew()
Section titled “planLoadFleetCrew()”function planLoadFleetCrew( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/crew-transfer.ts:115
Loads an explicit positive u16 crew count from the canonical StarbasePlayer into a directly owned Docked Fleet. Requires a direct Profile key with AUTH, or with the SAGE manage-crew permission scoped to SAGE or this Fleet; current ship definitions; no Character roster; and an absent or exact-neutral Fleet binding. Rented crew are unsupported. Available Starbase crew exclude busy crew; capacity includes required crew and passengers. Planning never signs or submits. This transfer must execute alone.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | Address |
options | PlanFleetCrewTransferOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;const plan = await planLoadFleetCrew(ctx, fleet, { authorization, count: 1 });console.log(plan.describe());planSyncFleetWithGame()
Section titled “planSyncFleetWithGame()”function planSyncFleetWithGame(ctx, fleet): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/sync.ts:34
Plans the permissionless Fleet sync with the configured Game. Verified
against the program’s behaviour: it rebuilds the Fleet’s ship counts and
stats from the current ship definitions and caps its AP, SP, HP and pending
repair at the new maxima, in any Fleet state. Run it, confirm it, then
replan an action that refuses a Fleet built under older ship definitions,
such as ship assembly, crew transfer or signal detection.
deriveFleetCompositionStats projects the rebuilt stats beforehand.
Only the Game and the Fleet are involved: no Profile key signs it and no storage is funded, so any fee payer can submit it for any Fleet. A Fleet already on the current definitions only has its pools capped. Simulate before signing, then read the Fleet back after confirmation.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | Address |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext, fleet: Address;const plan = await planSyncFleetWithGame(ctx, fleet);console.log(plan.describe());planUnloadFleetCrew()
Section titled “planUnloadFleetCrew()”function planUnloadFleetCrew( ctx, fleet,options): Promise<Plan>;Defined in: packages/sage/src/fleets/actions/crew-transfer.ts:133
Unloads an explicit positive u16 crew count from a directly owned Docked Fleet into its canonical StarbasePlayer. Unloading every crew member is allowed while Docked; departure requires reloading required crew. Supports the same ordinary-crew and direct-key boundary as loading. Execute separately and refresh after confirmation before preparing another transfer or movement.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
ctx | SageContext |
fleet | Address |
options | PlanFleetCrewTransferOptions |
Returns
Section titled “Returns”Promise<Plan>
Example
Section titled “Example”declare const ctx: SageContext, fleet: Address, authorization: PlanAuthorization;const plan = await planUnloadFleetCrew(ctx, fleet, { authorization, count: 1 });console.log(plan.describe());References
Section titled “References”PlanAuthorization
Section titled “PlanAuthorization”Re-exports PlanAuthorization