Skip to content

fleets

Defined in: packages/sage/src/internal/fleet.ts:23

Used/total Fleet capacity in the units of its on-chain capacity axis.

declare const capacity: CapacitySummary;
const remaining = capacity.remaining;

readonly overCapacity: bigint;

Defined in: packages/sage/src/internal/fleet.ts:27

readonly remaining: bigint;

Defined in: packages/sage/src/internal/fleet.ts:26

readonly total: bigint;

Defined in: packages/sage/src/internal/fleet.ts:25

readonly used: bigint;

Defined in: packages/sage/src/internal/fleet.ts:24


Defined in: packages/sage/src/internal/c4/fleet.ts:336

SDK-owned decoded Fleet data before registry definition resolution.

declare const fleet: FleetAccountData;
const owner = fleet.ownerProfile;

readonly activeStimulants: readonly {
chargesRemaining: number;
deltaBps: number;
stat: number;
}[];

Defined in: packages/sage/src/internal/c4/fleet.ts:369

readonly ammoBank: FleetCargoAmountData;

Defined in: packages/sage/src/internal/c4/fleet.ts:351

readonly ap: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:355

readonly apReloadExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:360

readonly bump: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:338

readonly cargoHold: FleetCargoPodData;

Defined in: packages/sage/src/internal/c4/fleet.ts:368

readonly components: FleetCargoPodData;

Defined in: packages/sage/src/internal/c4/fleet.ts:367

readonly crewCount: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:352

readonly faction: "unaligned" | "mud" | "oni" | "ustur";

Defined in: packages/sage/src/internal/c4/fleet.ts:343

readonly fleetShips: readonly FleetShipAmountData[];

Defined in: packages/sage/src/internal/c4/fleet.ts:365

readonly fuelTank: FleetCargoAmountData;

Defined in: packages/sage/src/internal/c4/fleet.ts:350

readonly game: Address;

Defined in: packages/sage/src/internal/c4/fleet.ts:339

readonly hp: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:357

readonly lastCombatUpdate: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:362

readonly lastUpdateAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:364

readonly location: SectorCoordinates;

Defined in: packages/sage/src/internal/c4/fleet.ts:363

readonly name: string;

Defined in: packages/sage/src/internal/c4/fleet.ts:345

readonly npcFactionId: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:344

readonly ownerProfile: Address;

Defined in: packages/sage/src/internal/c4/fleet.ts:340

readonly pendingHp: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:358

readonly rentedCrew: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:353

readonly respawningCargo: FleetCargoPodData;

Defined in: packages/sage/src/internal/c4/fleet.ts:366

readonly scanCooldownExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:348

readonly shieldBreakDelayExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:361

readonly shipCounts: FleetShipCountsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:346

readonly shipDefinitionsSeqId: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:354

readonly sp: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:356

readonly stance: {
ammoUsage: "none" | "light" | "heavy";
};

Defined in: packages/sage/src/internal/c4/fleet.ts:359

readonly ammoUsage: "none" | "light" | "heavy";

readonly state: FleetStateData;

Defined in: packages/sage/src/internal/c4/fleet.ts:374

readonly stats: FleetStatsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:349

readonly subProfile: Address;

Defined in: packages/sage/src/internal/c4/fleet.ts:341

readonly subProfileInvalidator: Address;

Defined in: packages/sage/src/internal/c4/fleet.ts:342

readonly version: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:337

readonly warpCooldownExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:347


Defined in: packages/sage/src/internal/c4/fleet.ts:94

One unresolved cargo amount decoded from Fleet account data.

declare const cargo: FleetCargoAmountData;
const cargoId = cargo.cargoId;

readonly amount: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:96

readonly cargoId: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:95


Defined in: packages/sage/src/internal/c4/fleet.ts:106

One immutable cargo pod decoded from Fleet account data.

declare const pod: FleetCargoPodData;
const amounts = pod.amounts;

readonly amounts: readonly FleetCargoAmountData[];

Defined in: packages/sage/src/internal/c4/fleet.ts:109

readonly seqId: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:107

readonly storageCost: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:108


Defined in: packages/sage/src/internal/c4/fleet.ts:226

Translated Fleet cargo statistics.

declare const stats: FleetCargoStatsData;
const capacity = stats.cargoCapacity;

readonly ammoCapacity: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:229

readonly ammoConsumptionRate: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:230

readonly cargoCapacity: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:227

readonly foodConsumptionRate: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:231

readonly fuelCapacity: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:228

readonly loadRate: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:233

readonly miningRate: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:232


Defined in: packages/sage/src/internal/c4/fleet.ts:70

A translated fixed-point value retaining exact arithmetic source data.

declare const fixed: FleetFixedValue;
const exact = fixed.raw;

readonly raw: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:71

readonly value: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:72


Defined in: packages/sage/src/internal/c4/fleet.ts:299

Translated miscellaneous Fleet statistics.

declare const stats: FleetMiscStatsData;
const requiredCrew = stats.requiredCrew;

readonly lpValue: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:310

readonly medallionValue: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:311

readonly passengerCapacity: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:301

readonly requiredCrew: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:300

readonly respawnFeeAtlas: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:305

readonly respawnFeeRaw: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:304

readonly respawnTimeWithFeeSeconds: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:303

readonly respawnTimeWithoutFeeSeconds: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:302

readonly scanBonus: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:309

readonly scanCoolDownSeconds: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:306

readonly scanCost: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:308

readonly scanPower: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:307

readonly xpValue: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:312


Defined in: packages/sage/src/internal/c4/fleet.ts:206

Translated Fleet movement statistics.

declare const stats: FleetMovementStatsData;
const speed = stats.subwarpSpeed.value;

readonly maxWarpDistance: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:210

readonly planetExitFuelAmount: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:214

readonly subwarpFuelConsumptionRate: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:212

readonly subwarpSpeed: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:207

readonly subwarpXpRate: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:216

readonly warpCoolDownSeconds: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:211

readonly warpFuelConsumptionRate: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:213

readonly warpLaneSpeed: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:209

readonly warpSpeed: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:208

readonly warpXpRate: FleetFixedValue;

Defined in: packages/sage/src/internal/c4/fleet.ts:215


Defined in: packages/sage/src/internal/c4/fleet.ts:119

One unresolved ship quantity decoded from Fleet account data.

declare const ship: FleetShipAmountData;
const quantity = ship.quantity;

readonly quantity: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:121

readonly shipId: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:120


Defined in: packages/sage/src/internal/c4/fleet.ts:131

Fleet ship counts by SAGE size class.

declare const counts: FleetShipCountsData;
const total = counts.total;

readonly capital: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:138

readonly commander: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:139

readonly large: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:137

readonly medium: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:136

readonly small: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:135

readonly titan: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:140

readonly total: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:132

readonly xSmall: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:134

readonly xxSmall: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:133


Defined in: packages/sage/src/fleets/index.ts:85

Immutable, translated Fleet snapshot with registry-resolved definitions.

declare const ctx: SageContext;
declare const fleetAddress: Address;
const fleet: FleetSnapshot = await getFleet(ctx, fleetAddress);
console.log(fleet.name, fleet.ships);

readonly activeStimulants: readonly {
chargesRemaining: number;
deltaBps: number;
stat: number;
}[];

Defined in: packages/sage/src/internal/c4/fleet.ts:369

FleetAccountData.activeStimulants

readonly address: Address;

Defined in: packages/sage/src/fleets/index.ts:90

readonly ammo: ResolvedCargoAmount;

Defined in: packages/sage/src/internal/fleet.ts:102

ResolvedFleetAccountData.ammo

readonly ap: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:355

FleetAccountData.ap

readonly apReloadExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:360

FleetAccountData.apReloadExpiresAt

readonly bump: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:338

FleetAccountData.bump

readonly capacities: {
ammo: CapacitySummary;
cargo: CapacitySummary;
fuel: CapacitySummary;
};

Defined in: packages/sage/src/internal/fleet.ts:118

readonly ammo: CapacitySummary;
readonly cargo: CapacitySummary;
readonly fuel: CapacitySummary;
Omit.capacities

readonly cargoHold: {
items: readonly ResolvedCargoAmount[];
seqId: number;
storageCost: bigint;
};

Defined in: packages/sage/src/internal/fleet.ts:103

readonly items: readonly ResolvedCargoAmount[];
readonly seqId: number;
readonly storageCost: bigint;
Omit.cargoHold

readonly components: {
items: readonly ResolvedCargoAmount[];
seqId: number;
storageCost: bigint;
};

Defined in: packages/sage/src/internal/fleet.ts:108

readonly items: readonly ResolvedCargoAmount[];
readonly seqId: number;
readonly storageCost: bigint;
Omit.components

readonly crewCount: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:352

FleetAccountData.crewCount

readonly faction: "unaligned" | "mud" | "oni" | "ustur";

Defined in: packages/sage/src/internal/c4/fleet.ts:343

FleetAccountData.faction

readonly fuel: ResolvedCargoAmount;

Defined in: packages/sage/src/internal/fleet.ts:101

ResolvedFleetAccountData.fuel

readonly game: Address;

Defined in: packages/sage/src/internal/c4/fleet.ts:339

FleetAccountData.game

readonly hp: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:357

FleetAccountData.hp

readonly kind: "fleet";

Defined in: packages/sage/src/fleets/index.ts:89

readonly lastCombatUpdate: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:362

FleetAccountData.lastCombatUpdate

readonly lastUpdateAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:364

FleetAccountData.lastUpdateAt

readonly location: SectorCoordinates;

Defined in: packages/sage/src/internal/c4/fleet.ts:363

FleetAccountData.location

readonly name: string;

Defined in: packages/sage/src/internal/c4/fleet.ts:345

FleetAccountData.name

readonly npcFactionId: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:344

FleetAccountData.npcFactionId

readonly ownerProfile: EntityRef<"profile">;

Defined in: packages/sage/src/fleets/index.ts:91

readonly pendingHp: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:358

FleetAccountData.pendingHp

readonly rentedCrew: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:353

FleetAccountData.rentedCrew

readonly respawningCargo: {
items: readonly ResolvedCargoAmount[];
seqId: number;
storageCost: bigint;
};

Defined in: packages/sage/src/internal/fleet.ts:113

readonly items: readonly ResolvedCargoAmount[];
readonly seqId: number;
readonly storageCost: bigint;
Omit.respawningCargo

readonly scanCooldownExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:348

FleetAccountData.scanCooldownExpiresAt

readonly shieldBreakDelayExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:361

FleetAccountData.shieldBreakDelayExpiresAt

readonly shipCounts: FleetShipCountsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:346

FleetAccountData.shipCounts

readonly shipDefinitionsSeqId: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:354

FleetAccountData.shipDefinitionsSeqId

readonly ships: readonly ResolvedShipAmount[];

Defined in: packages/sage/src/internal/fleet.ts:100

Omit.ships

readonly sp: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:356

FleetAccountData.sp

readonly stance: {
ammoUsage: "none" | "light" | "heavy";
};

Defined in: packages/sage/src/internal/c4/fleet.ts:359

readonly ammoUsage: "none" | "light" | "heavy";

FleetAccountData.stance

readonly state: ResolvedFleetState;

Defined in: packages/sage/src/internal/fleet.ts:123

ResolvedFleetAccountData.state

readonly stats: FleetStatsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:349

FleetAccountData.stats

readonly optional subProfile?: Address;

Defined in: packages/sage/src/internal/fleet.ts:98

Omit.subProfile

readonly optional subProfileInvalidator?: Address;

Defined in: packages/sage/src/internal/fleet.ts:99

Omit.subProfileInvalidator

readonly version: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:337

FleetAccountData.version

readonly warpCooldownExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:347

FleetAccountData.warpCooldownExpiresAt

toJSON(): unknown;

Defined in: packages/sage/src/fleets/index.ts:92

unknown


Defined in: packages/sage/src/internal/c4/fleet.ts:322

Grouped translated Fleet statistics.

declare const stats: FleetStatsData;
const movement = stats.movement;

readonly cargo: FleetCargoStatsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:324

readonly combat: FleetCombatStatsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:325

readonly misc: FleetMiscStatsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:326

readonly movement: FleetMovementStatsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:323


Defined in: packages/sage/src/fleets/index.ts:106

Observer for live, fully translated Fleet snapshots.

const observer: FleetSubscriptionObserver = {
onSnapshot: fleet => console.log(fleet.name),
onError: error => console.error(error.code),
onDiagnostic: event => console.debug(event.kind, event.coalescedCount),
};

readonly optional onDiagnostic?: (event) => void;

Defined in: packages/sage/src/fleets/index.ts:109

ParameterType
eventSubscriptionDiagnosticEvent

void

readonly onError: (error) => void | Promise<void>;

Defined in: packages/sage/src/fleets/index.ts:108

ParameterType
errorSageSdkError

void | Promise<void>

readonly onSnapshot: (fleet) => void | Promise<void>;

Defined in: packages/sage/src/fleets/index.ts:107

ParameterType
fleetFleetSnapshot

void | Promise<void>


Defined in: packages/sage/src/internal/fleet.ts:288

Date-valued timers derived from Fleet account sentinels and lifecycle state.

Fleet snapshots retain their exact bigint unix-second fields; these values are an ergonomic projection for UI scheduling and display.

declare const timers: FleetTimers;
console.log(
timers.arrivesAt?.toISOString(),
timers.transferEndsAt?.toISOString(),
);

readonly optional abilityPowerReloadsAt?: Date;

Defined in: packages/sage/src/internal/fleet.ts:291

readonly optional arrivesAt?: Date;

Defined in: packages/sage/src/internal/fleet.ts:293

readonly optional recoversAt?: Date;

Defined in: packages/sage/src/internal/fleet.ts:294

readonly optional scanCooldownEndsAt?: Date;

Defined in: packages/sage/src/internal/fleet.ts:290

readonly optional shieldRegenerationResumesAt?: Date;

Defined in: packages/sage/src/internal/fleet.ts:292

readonly optional transferEndsAt?: Date;

Defined in: packages/sage/src/internal/fleet.ts:295

readonly optional warpCooldownEndsAt?: Date;

Defined in: packages/sage/src/internal/fleet.ts:289


Defined in: packages/sage/src/internal/fleet.ts:86

Fleet data after joining account ids against the lazy definitions registry.

declare const fleet: ResolvedFleetAccountData;
const shipName = fleet.ships[0]?.name;
  • Omit<FleetAccountData, | "fleetShips" | "fuelTank" | "ammoBank" | "cargoHold" | "components" | "respawningCargo" | "state" | "subProfile" | "subProfileInvalidator">

readonly activeStimulants: readonly {
chargesRemaining: number;
deltaBps: number;
stat: number;
}[];

Defined in: packages/sage/src/internal/c4/fleet.ts:369

FleetAccountData.activeStimulants

readonly ammo: ResolvedCargoAmount;

Defined in: packages/sage/src/internal/fleet.ts:102

readonly ap: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:355

FleetAccountData.ap

readonly apReloadExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:360

FleetAccountData.apReloadExpiresAt

readonly bump: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:338

FleetAccountData.bump

readonly capacities: {
ammo: CapacitySummary;
cargo: CapacitySummary;
fuel: CapacitySummary;
};

Defined in: packages/sage/src/internal/fleet.ts:118

readonly ammo: CapacitySummary;
readonly cargo: CapacitySummary;
readonly fuel: CapacitySummary;

readonly cargoHold: {
items: readonly ResolvedCargoAmount[];
seqId: number;
storageCost: bigint;
};

Defined in: packages/sage/src/internal/fleet.ts:103

readonly items: readonly ResolvedCargoAmount[];
readonly seqId: number;
readonly storageCost: bigint;

readonly components: {
items: readonly ResolvedCargoAmount[];
seqId: number;
storageCost: bigint;
};

Defined in: packages/sage/src/internal/fleet.ts:108

readonly items: readonly ResolvedCargoAmount[];
readonly seqId: number;
readonly storageCost: bigint;

readonly crewCount: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:352

FleetAccountData.crewCount

readonly faction: "unaligned" | "mud" | "oni" | "ustur";

Defined in: packages/sage/src/internal/c4/fleet.ts:343

FleetAccountData.faction

readonly fuel: ResolvedCargoAmount;

Defined in: packages/sage/src/internal/fleet.ts:101

readonly game: Address;

Defined in: packages/sage/src/internal/c4/fleet.ts:339

FleetAccountData.game

readonly hp: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:357

FleetAccountData.hp

readonly lastCombatUpdate: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:362

FleetAccountData.lastCombatUpdate

readonly lastUpdateAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:364

FleetAccountData.lastUpdateAt

readonly location: SectorCoordinates;

Defined in: packages/sage/src/internal/c4/fleet.ts:363

FleetAccountData.location

readonly name: string;

Defined in: packages/sage/src/internal/c4/fleet.ts:345

FleetAccountData.name

readonly npcFactionId: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:344

FleetAccountData.npcFactionId

readonly ownerProfile: Address;

Defined in: packages/sage/src/internal/c4/fleet.ts:340

FleetAccountData.ownerProfile

readonly pendingHp: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:358

FleetAccountData.pendingHp

readonly rentedCrew: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:353

FleetAccountData.rentedCrew

readonly respawningCargo: {
items: readonly ResolvedCargoAmount[];
seqId: number;
storageCost: bigint;
};

Defined in: packages/sage/src/internal/fleet.ts:113

readonly items: readonly ResolvedCargoAmount[];
readonly seqId: number;
readonly storageCost: bigint;

readonly scanCooldownExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:348

FleetAccountData.scanCooldownExpiresAt

readonly shieldBreakDelayExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:361

FleetAccountData.shieldBreakDelayExpiresAt

readonly shipCounts: FleetShipCountsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:346

FleetAccountData.shipCounts

readonly shipDefinitionsSeqId: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:354

FleetAccountData.shipDefinitionsSeqId

readonly ships: readonly ResolvedShipAmount[];

Defined in: packages/sage/src/internal/fleet.ts:100

readonly sp: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:356

FleetAccountData.sp

readonly stance: {
ammoUsage: "none" | "light" | "heavy";
};

Defined in: packages/sage/src/internal/c4/fleet.ts:359

readonly ammoUsage: "none" | "light" | "heavy";

FleetAccountData.stance

readonly state: ResolvedFleetState;

Defined in: packages/sage/src/internal/fleet.ts:123

readonly stats: FleetStatsData;

Defined in: packages/sage/src/internal/c4/fleet.ts:349

FleetAccountData.stats

readonly optional subProfile?: Address;

Defined in: packages/sage/src/internal/fleet.ts:98

readonly optional subProfileInvalidator?: Address;

Defined in: packages/sage/src/internal/fleet.ts:99

readonly version: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:337

FleetAccountData.version

readonly warpCooldownExpiresAt: bigint;

Defined in: packages/sage/src/internal/c4/fleet.ts:347

FleetAccountData.warpCooldownExpiresAt


Defined in: packages/sage/src/internal/c4/fleet.ts:82

Sector coordinates in SAGE gameplay units.

declare const sector: SectorCoordinates;
const x = sector.x;

readonly x: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:83

readonly y: number;

Defined in: packages/sage/src/internal/c4/fleet.ts:84


Defined in: packages/sage/src/internal/fleet.ts:381

Display-only interpolation matching incremental on-chain subwarp settlement.

declare const subwarp: SubwarpPosition;
if (subwarp.displayOnly) console.log(subwarp.position, subwarp.progress);

readonly displayOnly: true;

Defined in: packages/sage/src/internal/fleet.ts:382

readonly position: SectorCoordinates;

Defined in: packages/sage/src/internal/fleet.ts:383

readonly progress: number;

Defined in: packages/sage/src/internal/fleet.ts:384

type FleetDiscoveryOptions = Omit<DiscoveryRequest, "filters" | "strategy">;

Defined in: packages/sage/src/fleets/index.ts:70

Options supported by targeted Fleet discovery.

declare const ctx: SageContext;
declare const profileAddress: Address;
const options: FleetDiscoveryOptions = {
commitment: 'confirmed',
policy: 'no-store',
};
const fleets = await getFleetsByOwner(ctx, profileAddress, options);

type FleetStateData =
| {
kind: "idle";
}
| {
claimStake: Address;
endAtUnixSeconds: bigint;
kind: "claimStakeTransfer";
load: readonly FleetCargoAmountData[];
planet: Address;
unload: readonly FleetCargoAmountData[];
}
| {
kind: "destroyed";
}
| {
kind: "docked";
system: Address;
systemSeqId: bigint;
}
| {
asteroid: Address;
kind: "mining";
regionXpModifier: number;
regionXpModifierRaw: bigint;
resourceIds: readonly number[];
}
| {
arrivesAtUnixSeconds: bigint;
departsAtUnixSeconds: bigint;
kind: "warp";
to: SectorCoordinates;
}
| {
arrivesAtUnixSeconds: bigint;
departsAtUnixSeconds: bigint;
durationSeconds: number;
durationSecondsRaw: bigint;
from: SectorCoordinates;
kind: "subwarp";
to: SectorCoordinates;
totalFuelExpenditure: number;
totalFuelExpenditureRaw: bigint;
totalXp: number;
totalXpRaw: bigint;
}
| {
kind: "respawn";
recoversAtUnixSeconds: bigint;
startedAtUnixSeconds: bigint;
wasInLowRiskZone: boolean;
};

Defined in: packages/sage/src/internal/c4/fleet.ts:150

Stable translated Fleet movement state, exhaustive for the pinned bindings.

declare const state: FleetStateData;
if (state.kind === 'docked') console.log(state.system);

function deriveFleetTimers<TState>(fleet): FleetTimers;

Defined in: packages/sage/src/internal/fleet.ts:331

Derives only active Fleet timers; non-positive sentinels and values outside JavaScript’s supported Date range stay absent.

Type Parameter
TState extends FleetTimerState
ParameterType
fleetPick<FleetAccountData, | "warpCooldownExpiresAt" | "scanCooldownExpiresAt" | "apReloadExpiresAt" | "shieldBreakDelayExpiresAt"> & { state: TState; }

FleetTimers

declare const fleet: FleetSnapshot;
const timers = deriveFleetTimers(fleet);
console.log(
timers.warpCooldownEndsAt?.toISOString(),
timers.transferEndsAt?.toISOString(),
);

function getFleet(
ctx,
address,
options?): Promise<FleetSnapshot>;

Defined in: packages/sage/src/fleets/index.ts:189

Reads a required Fleet by account address.

ParameterType
ctxSageContext
addressAddress
options?ReadOptions

Promise<FleetSnapshot>

declare const ctx: SageContext;
declare const fleetAddress: Address;
const fleet = await getFleet(ctx, fleetAddress);

function getFleetsByOwner(
ctx,
profileAddress,
options?): Promise<readonly FleetSnapshot[]>;

Defined in: packages/sage/src/fleets/index.ts:284

Discovers Fleets owned by a known Player Profile using targeted stable filters.

ParameterType
ctxSageContext
profileAddressAddress
options?FleetDiscoveryOptions

Promise<readonly FleetSnapshot[]>

declare const ctx: SageContext;
declare const profileAddress: Address;
const fleets = await getFleetsByOwner(ctx, profileAddress);

function interpolateSubwarpPosition(state, atUnixSeconds): SubwarpPosition;

Defined in: packages/sage/src/internal/fleet.ts:398

Interpolates a display-only subwarp position, clamped to both endpoints.

The result must not be used as authoritative on-chain position state.

ParameterType
state{ arrivesAtUnixSeconds: bigint; departsAtUnixSeconds: bigint; durationSeconds: number; durationSecondsRaw: bigint; from: SectorCoordinates; kind: "subwarp"; to: SectorCoordinates; totalFuelExpenditure: number; totalFuelExpenditureRaw: bigint; totalXp: number; totalXpRaw: bigint; }
state.arrivesAtUnixSecondsbigint
state.departsAtUnixSecondsbigint
state.durationSecondsnumber
state.durationSecondsRawbigint
state.fromSectorCoordinates
state.kind"subwarp"
state.toSectorCoordinates
state.totalFuelExpenditurenumber
state.totalFuelExpenditureRawbigint
state.totalXpnumber
state.totalXpRawbigint
atUnixSecondsbigint

SubwarpPosition

declare const state: Extract<FleetStateData, { readonly kind: 'subwarp' }>;
const position = interpolateSubwarpPosition(state, 1_700_000_000n);
console.log(position.position, position.progress);

function maybeGetFleet(
ctx,
address,
options?): Promise<FleetSnapshot | undefined>;

Defined in: packages/sage/src/fleets/index.ts:212

Reads an optional Fleet by account address.

ParameterType
ctxSageContext
addressAddress
options?ReadOptions

Promise<FleetSnapshot | undefined>

declare const ctx: SageContext;
declare const fleetAddress: Address;
const fleet = await maybeGetFleet(ctx, fleetAddress);

function watchFleet(
ctx,
address,
observer,
options?): Promise<SageSubscription>;

Defined in: packages/sage/src/fleets/index.ts:242

Watches one Fleet through its context-owned WebSocket subscription.

Registration emits the current validated Fleet first, then only selected slot/commitment advances. Unsubscribe explicitly or dispose the context.

ParameterType
ctxSageContext
addressAddress
observerFleetSubscriptionObserver
options?ReadAccountOptions

Promise<SageSubscription>

declare const ctx: SageContext;
declare const fleetAddress: Address;
const subscription = await watchFleet(ctx, fleetAddress, {
onSnapshot: fleet => console.log(fleet.name),
onError: error => console.error(error.code),
});
await subscription.unsubscribe();

Re-exports FleetCombatStatsData