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:325

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:358

readonly ammoBank: FleetCargoAmountData;

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

readonly ap: number;

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

readonly apReloadExpiresAt: bigint;

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

readonly bump: number;

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

readonly cargoHold: FleetCargoPodData;

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

readonly components: FleetCargoPodData;

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

readonly crewCount: number;

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

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

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

readonly fleetShips: readonly FleetShipAmountData[];

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

readonly fuelTank: FleetCargoAmountData;

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

readonly game: Address;

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

readonly hp: number;

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

readonly lastCombatUpdate: bigint;

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

readonly lastUpdateAt: bigint;

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

readonly location: WorldCoordinates;

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

readonly name: string;

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

readonly npcFactionId: number;

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

readonly ownerProfile: Address;

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

readonly pendingHp: number;

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

readonly rentedCrew: number;

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

readonly respawningCargo: FleetCargoPodData;

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

readonly scanCooldownExpiresAt: bigint;

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

readonly shieldBreakDelayExpiresAt: bigint;

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

readonly shipCounts: FleetShipCountsData;

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

readonly shipDefinitionsSeqId: number;

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

readonly sp: number;

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

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

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

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

readonly state: FleetStateData;

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

readonly stats: FleetStatsData;

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

readonly subProfile: Address;

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

readonly subProfileInvalidator: Address;

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

readonly version: number;

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

readonly warpCooldownExpiresAt: bigint;

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


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

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:85

readonly cargoId: number;

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


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

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:98

readonly seqId: number;

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

readonly storageCost: bigint;

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


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

Translated Fleet cargo statistics.

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

readonly ammoCapacity: bigint;

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

readonly ammoConsumptionRate: FleetFixedValue;

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

readonly cargoCapacity: bigint;

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

readonly foodConsumptionRate: FleetFixedValue;

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

readonly fuelCapacity: bigint;

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

readonly loadRate: FleetFixedValue;

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

readonly miningRate: FleetFixedValue;

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


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

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:72

readonly value: number;

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


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

Translated miscellaneous Fleet statistics.

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

readonly lpValue: number;

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

readonly medallionValue: number;

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

readonly passengerCapacity: number;

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

readonly requiredCrew: number;

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

readonly respawnFeeAtlas: number;

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

readonly respawnFeeRaw: bigint;

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

readonly respawnTimeWithFeeSeconds: number;

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

readonly respawnTimeWithoutFeeSeconds: number;

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

readonly scanBonus: number;

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

readonly scanCoolDownSeconds: number;

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

readonly scanCost: number;

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

readonly scanPower: number;

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

readonly xpValue: number;

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


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

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:199

readonly planetExitFuelAmount: number;

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

readonly subwarpFuelConsumptionRate: FleetFixedValue;

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

readonly subwarpSpeed: FleetFixedValue;

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

readonly subwarpXpRate: FleetFixedValue;

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

readonly warpCoolDownSeconds: number;

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

readonly warpFuelConsumptionRate: FleetFixedValue;

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

readonly warpLaneSpeed: FleetFixedValue;

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

readonly warpSpeed: FleetFixedValue;

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

readonly warpXpRate: FleetFixedValue;

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


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

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:110

readonly shipId: number;

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


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

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:127

readonly commander: number;

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

readonly large: number;

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

readonly medium: number;

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

readonly small: number;

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

readonly titan: number;

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

readonly total: number;

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

readonly xSmall: number;

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

readonly xxSmall: number;

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


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

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:358

FleetAccountData.activeStimulants

readonly address: Address;

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

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:344

FleetAccountData.ap

readonly apReloadExpiresAt: bigint;

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

FleetAccountData.apReloadExpiresAt

readonly bump: number;

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

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:341

FleetAccountData.crewCount

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

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

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:328

FleetAccountData.game

readonly hp: number;

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

FleetAccountData.hp

readonly kind: "fleet";

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

readonly lastCombatUpdate: bigint;

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

FleetAccountData.lastCombatUpdate

readonly lastUpdateAt: bigint;

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

FleetAccountData.lastUpdateAt

readonly location: WorldCoordinates;

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

FleetAccountData.location

readonly name: string;

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

FleetAccountData.name

readonly npcFactionId: number;

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

FleetAccountData.npcFactionId

readonly ownerProfile: EntityRef<"profile">;

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

readonly pendingHp: number;

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

FleetAccountData.pendingHp

readonly rentedCrew: number;

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

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:337

FleetAccountData.scanCooldownExpiresAt

readonly shieldBreakDelayExpiresAt: bigint;

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

FleetAccountData.shieldBreakDelayExpiresAt

readonly shipCounts: FleetShipCountsData;

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

FleetAccountData.shipCounts

readonly shipDefinitionsSeqId: number;

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

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:345

FleetAccountData.sp

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

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

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:338

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:326

FleetAccountData.version

readonly warpCooldownExpiresAt: bigint;

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

FleetAccountData.warpCooldownExpiresAt

toJSON(): unknown;

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

unknown


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

Grouped translated Fleet statistics.

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

readonly cargo: FleetCargoStatsData;

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

readonly combat: FleetCombatStatsData;

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

readonly misc: FleetMiscStatsData;

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

readonly movement: FleetMovementStatsData;

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


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

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:111

ParameterType
eventSubscriptionDiagnosticEvent

void

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

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

ParameterType
errorSageSdkError

void | Promise<void>

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

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

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:358

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:344

FleetAccountData.ap

readonly apReloadExpiresAt: bigint;

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

FleetAccountData.apReloadExpiresAt

readonly bump: number;

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

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:341

FleetAccountData.crewCount

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

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

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:328

FleetAccountData.game

readonly hp: number;

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

FleetAccountData.hp

readonly lastCombatUpdate: bigint;

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

FleetAccountData.lastCombatUpdate

readonly lastUpdateAt: bigint;

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

FleetAccountData.lastUpdateAt

readonly location: WorldCoordinates;

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

FleetAccountData.location

readonly name: string;

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

FleetAccountData.name

readonly npcFactionId: number;

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

FleetAccountData.npcFactionId

readonly ownerProfile: Address;

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

FleetAccountData.ownerProfile

readonly pendingHp: number;

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

FleetAccountData.pendingHp

readonly rentedCrew: number;

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

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:337

FleetAccountData.scanCooldownExpiresAt

readonly shieldBreakDelayExpiresAt: bigint;

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

FleetAccountData.shieldBreakDelayExpiresAt

readonly shipCounts: FleetShipCountsData;

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

FleetAccountData.shipCounts

readonly shipDefinitionsSeqId: number;

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

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:345

FleetAccountData.sp

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

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

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:338

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:326

FleetAccountData.version

readonly warpCooldownExpiresAt: bigint;

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

FleetAccountData.warpCooldownExpiresAt


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: WorldCoordinates;

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

readonly progress: number;

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


Defined in: packages/sage/src/internal/c4/world.ts:128

A position in the shared SAGE coordinate space, in gameplay units.

const coordinates: WorldCoordinates = { x: 1, y: 2 };

readonly x: number;

Defined in: packages/sage/src/internal/c4/world.ts:129

readonly y: number;

Defined in: packages/sage/src/internal/c4/world.ts:130

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

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

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: WorldCoordinates;
}
| {
arrivesAtUnixSeconds: bigint;
departsAtUnixSeconds: bigint;
durationSeconds: number;
durationSecondsRaw: bigint;
from: WorldCoordinates;
kind: "subwarp";
to: WorldCoordinates;
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:139

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:191

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:286

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: WorldCoordinates; kind: "subwarp"; to: WorldCoordinates; totalFuelExpenditure: number; totalFuelExpenditureRaw: bigint; totalXp: number; totalXpRaw: bigint; }
state.arrivesAtUnixSecondsbigint
state.departsAtUnixSecondsbigint
state.durationSecondsnumber
state.durationSecondsRawbigint
state.fromWorldCoordinates
state.kind"subwarp"
state.toWorldCoordinates
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:214

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:244

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