@aephia/atlas-kit 0.6.0-next.141 → 0.6.0-next.143

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.
Files changed (38) hide show
  1. package/dist/fleets/actions/index.d.ts +3 -1
  2. package/dist/fleets/actions/index.d.ts.map +1 -1
  3. package/dist/fleets/actions/index.js +12 -2
  4. package/dist/fleets/actions/index.js.map +1 -1
  5. package/dist/fleets/composition-stats.d.ts +101 -0
  6. package/dist/fleets/composition-stats.d.ts.map +1 -0
  7. package/dist/fleets/composition-stats.js +354 -0
  8. package/dist/fleets/composition-stats.js.map +1 -0
  9. package/dist/fleets/index.d.ts +1 -0
  10. package/dist/fleets/index.d.ts.map +1 -1
  11. package/dist/fleets/index.js +1 -0
  12. package/dist/fleets/index.js.map +1 -1
  13. package/dist/internal/c4/fleet-points.d.ts +3 -0
  14. package/dist/internal/c4/fleet-points.d.ts.map +1 -0
  15. package/dist/internal/c4/fleet-points.js +8 -0
  16. package/dist/internal/c4/fleet-points.js.map +1 -0
  17. package/dist/internal/c4/fleet-ship-assembly.d.ts +1 -3
  18. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
  19. package/dist/internal/c4/fleet-ship-assembly.js +1 -7
  20. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
  21. package/dist/internal/planning/currency-cache-guard.d.ts +2 -1
  22. package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -1
  23. package/dist/internal/planning/currency-cache-guard.js +10 -1
  24. package/dist/internal/planning/currency-cache-guard.js.map +1 -1
  25. package/dist/internal/planning/plan-guards.d.ts.map +1 -1
  26. package/dist/internal/planning/plan-guards.js +1 -0
  27. package/dist/internal/planning/plan-guards.js.map +1 -1
  28. package/dist/internal/planning/region-access.d.ts +9 -0
  29. package/dist/internal/planning/region-access.d.ts.map +1 -0
  30. package/dist/internal/planning/region-access.js +33 -0
  31. package/dist/internal/planning/region-access.js.map +1 -0
  32. package/dist/planning/execution.d.ts.map +1 -1
  33. package/dist/planning/execution.js +9 -0
  34. package/dist/planning/execution.js.map +1 -1
  35. package/dist/planning/index.d.ts +10 -0
  36. package/dist/planning/index.d.ts.map +1 -1
  37. package/dist/planning/index.js.map +1 -1
  38. package/package.json +1 -1
@@ -0,0 +1,354 @@
1
+ import { InvalidDerivationInputError } from '../client/index.js';
2
+ import { fleetCapacityPoints } from '../internal/c4/fleet-points.js';
3
+ import { attachJsonSerialization } from '../internal/json.js';
4
+ import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
5
+ const U32 = (1n << 32n) - 1n;
6
+ const CONSUMPTION_U26F6 = 50000000n << 6n;
7
+ const sum = (cap) => ({ kind: 'sum', cap });
8
+ const max = { kind: 'max' };
9
+ const speed = { kind: 'speed' };
10
+ const average = { kind: 'average' };
11
+ const checked = (maximum, minimum = 0n) => ({
12
+ kind: 'checked',
13
+ min: minimum,
14
+ max: maximum,
15
+ });
16
+ const damage = (name) => [
17
+ [`damage${name}`, sum(1000000n), 'number'],
18
+ [`damage${name}Variance`, max, 6],
19
+ ];
20
+ // Verified against the program's ship-assembly behaviour.
21
+ const FIELDS = {
22
+ movement: [
23
+ ['subwarpSpeed', speed, 16],
24
+ ['warpSpeed', speed, 16],
25
+ ['warpLaneSpeed', speed, 16],
26
+ ['maxWarpDistance', max, 8],
27
+ ['warpCoolDownSeconds', max, 'number'],
28
+ ['subwarpFuelConsumptionRate', sum(CONSUMPTION_U26F6), 6],
29
+ ['warpFuelConsumptionRate', sum(CONSUMPTION_U26F6), 6],
30
+ ['planetExitFuelAmount', sum(50000000n), 'number'],
31
+ ['warpXpRate', sum(U32), 16],
32
+ ['subwarpXpRate', sum(U32), 16],
33
+ ],
34
+ cargo: [
35
+ ['cargoCapacity', sum(100000000n), 'bigint'],
36
+ ['fuelCapacity', sum(100000000n), 'bigint'],
37
+ ['ammoCapacity', sum(1000000000n), 'bigint'],
38
+ ['ammoConsumptionRate', sum(U32), 14],
39
+ ['foodConsumptionRate', sum(U32), 14],
40
+ ['miningRate', sum(U32), 14],
41
+ ['loadRate', sum(CONSUMPTION_U26F6), 6],
42
+ ],
43
+ combat: [
44
+ ['ap', sum(1000000n), 'number'],
45
+ ['hp', sum(1000000n), 'number'],
46
+ ['sp', sum(1000000n), 'number'],
47
+ ['ammoConsumptionRate', sum(CONSUMPTION_U26F6), 6],
48
+ ['apRegenRate', sum(CONSUMPTION_U26F6), 6],
49
+ ['shieldRechargeRate', sum(CONSUMPTION_U26F6), 6],
50
+ ['repairRate', sum(CONSUMPTION_U26F6), 6],
51
+ ['repairAbility', sum(CONSUMPTION_U26F6), 6],
52
+ ['repairEfficiency', { kind: 'repairEfficiency' }, 6],
53
+ ['repairCost', { kind: 'repairCost' }, 6],
54
+ ['lootRate', sum(1000000n << 6n), 6],
55
+ ['shieldBreakDelaySeconds', max, 'number'],
56
+ ['warpSpoolTimeSeconds', max, 'number'],
57
+ ...[
58
+ 'Kinetic',
59
+ 'Energy',
60
+ 'Emp',
61
+ 'Superchill',
62
+ 'Shockwave',
63
+ 'Graygoo',
64
+ 'Heat',
65
+ 'Bomb',
66
+ ].flatMap(damage),
67
+ ...[
68
+ 'Decoy',
69
+ 'EnergyCapacitor',
70
+ 'FireSuppressor',
71
+ 'Flare',
72
+ 'HealingNanobots',
73
+ 'Mine',
74
+ 'NegativeRemPlating',
75
+ 'WarmingPlates',
76
+ 'FaradayShielding',
77
+ ].map((name) => [`counter${name}`, sum(1000000n), 'number']),
78
+ ['stealthPower', average, 6],
79
+ ['hitChance', average, 6],
80
+ ['aimAbility', average, 6],
81
+ ['critChance', average, 6],
82
+ ['critMultiplier', average, 6],
83
+ ['fuelConsumptionRate', sum(CONSUMPTION_U26F6), 6],
84
+ ['missileDamage', sum(CONSUMPTION_U26F6), 6],
85
+ ['missileFireRate', sum(CONSUMPTION_U26F6), 6],
86
+ ],
87
+ misc: [
88
+ ['requiredCrew', checked(0xffffn), 'number'],
89
+ ['passengerCapacity', checked(0xffffn), 'number'],
90
+ ['respawnTimeWithoutFeeSeconds', max, 'number'],
91
+ ['respawnTimeWithFeeSeconds', max, 'number'],
92
+ ['recoveryFeeRaw', checked((1n << 64n) - 1n), 'bigint'],
93
+ ['scanCoolDownSeconds', max, 16],
94
+ ['scanPower', sum(U32), 6],
95
+ ['scanCost', sum(50000000n), 'number'],
96
+ ['scanBonus', checked((1n << 31n) - 1n, -(1n << 31n)), 16],
97
+ ['lpValue', checked(U32), 'number'],
98
+ ['medallionValue', checked(U32), 'number'],
99
+ ['xpValue', sum(U32), 16],
100
+ ],
101
+ };
102
+ const GROUPS = Object.keys(FIELDS);
103
+ const SIZE_KEYS = {
104
+ 'xx-small': 'xxSmall',
105
+ 'x-small': 'xSmall',
106
+ small: 'small',
107
+ medium: 'medium',
108
+ large: 'large',
109
+ capital: 'capital',
110
+ commander: 'commander',
111
+ titan: 'titan',
112
+ };
113
+ function invalid(field, value) {
114
+ throw new InvalidDerivationInputError(field, value, 'Pass one current ships section from listShipConfigurations and amounts of 1n-255n; the program refuses this addition.');
115
+ }
116
+ function readRaw(stats) {
117
+ const raw = {};
118
+ for (const group of GROUPS) {
119
+ const translated = stats[group];
120
+ raw[group] = Object.fromEntries(FIELDS[group].map(([name]) => {
121
+ const value = translated[name];
122
+ return [name, typeof value === 'object' ? value.raw : BigInt(value)];
123
+ }));
124
+ }
125
+ return raw;
126
+ }
127
+ function emptyRaw() {
128
+ const raw = {};
129
+ for (const group of GROUPS)
130
+ raw[group] = Object.fromEntries(FIELDS[group].map(([name]) => [name, 0n]));
131
+ return raw;
132
+ }
133
+ function combine(target, ship, amount) {
134
+ for (const group of GROUPS)
135
+ for (const [name, rule] of FIELDS[group]) {
136
+ const current = target[group][name];
137
+ const incoming = ship[group][name];
138
+ let next;
139
+ switch (rule.kind) {
140
+ case 'sum':
141
+ next = minimum(current + minimum(incoming * amount, rule.cap), rule.cap);
142
+ break;
143
+ case 'average':
144
+ next = minimum(current + minimum(incoming * amount, CONSUMPTION_U26F6), CONSUMPTION_U26F6);
145
+ break;
146
+ case 'checked': {
147
+ const scaled = incoming * amount;
148
+ next = current + scaled;
149
+ for (const value of [scaled, next])
150
+ if (value < rule.min || value > rule.max)
151
+ invalid(`${group}.${name}`, value);
152
+ break;
153
+ }
154
+ case 'speed':
155
+ next = current === 0n ? incoming : minimum(current, incoming);
156
+ break;
157
+ default:
158
+ next = current > incoming ? current : incoming;
159
+ }
160
+ target[group][name] = next;
161
+ }
162
+ }
163
+ function scaleAverages(stats, factor, divide) {
164
+ if (factor <= 1n)
165
+ return;
166
+ for (const [name, rule] of FIELDS.combat)
167
+ if (rule.kind === 'average') {
168
+ const value = stats.combat[name];
169
+ stats.combat[name] = divide
170
+ ? value / factor
171
+ : minimum(value * factor, CONSUMPTION_U26F6);
172
+ }
173
+ }
174
+ function minimum(left, right) {
175
+ return left < right ? left : right;
176
+ }
177
+ function writeStats(raw) {
178
+ const stats = {};
179
+ for (const group of GROUPS) {
180
+ const values = {};
181
+ for (const [name, , shape] of FIELDS[group]) {
182
+ const value = raw[group][name];
183
+ values[name] =
184
+ shape === 'bigint'
185
+ ? value
186
+ : shape === 'number'
187
+ ? Number(value)
188
+ : { raw: value, value: Number(value) / 2 ** shape };
189
+ }
190
+ stats[group] = values;
191
+ }
192
+ stats.misc.recoveryFeeAtlas = Number(raw.misc.recoveryFeeRaw) / 100_000_000;
193
+ return stats;
194
+ }
195
+ /** Projects the stats a Fleet stores after ship assembly, exactly as the program
196
+ * aggregates them; verified against the program's behaviour. Capacities, Fuel
197
+ * and upkeep rates, mining and load rates, crew, AP/HP/SP and damage are added
198
+ * and capped. Subwarp, warp and lane speeds take the lowest value. Maximum warp
199
+ * distance, warp cooldown, warp spool, shield break delay, damage variance,
200
+ * respawn times and scan cooldown take the highest. Stealth, hit, aim and
201
+ * critical values are truncated per-ship averages, which the program rescales
202
+ * on every addition, so one addition of two ships can differ from two
203
+ * additions of one. Repair cost (weighted by hull points) and repair efficiency
204
+ * (weighted by repair ability) are recomputed over every ship aboard.
205
+ *
206
+ * A Fleet on the definitions' sequence builds on its stored stats and counts.
207
+ * One on an older sequence is first rebuilt from the current definitions of
208
+ * the ships aboard, as the program does before adding ships. A missing ship
209
+ * definition, mixed definition sequences, an amount outside 1n-255n or an
210
+ * overflow the program refuses throw `InvalidDerivationInputError`; other
211
+ * inputs are trusted as typed.
212
+ *
213
+ * Character research does not change stored stats: pass the Character's raw
214
+ * speed and cooldown modifiers to the travel helpers at use time. This is not
215
+ * an eligibility check (`planAddShipToFleet` applies ship size, research tags,
216
+ * Fleet size and formation limits), and checks no funding, entitlement or crew
217
+ * provisioning. Current AP, SP and HP are not projected. Read the Fleet back
218
+ * after confirmation; the chain stays authoritative. Requalify after program
219
+ * changes.
220
+ * @example
221
+ * ```ts
222
+ * declare const ctx: SageContext, fleet: FleetSnapshot, character: CharacterSnapshot;
223
+ * const projected = deriveFleetCompositionStats({
224
+ * definitions: await listShipConfigurations(ctx),
225
+ * fleet,
226
+ * additions: [{ shipId: 12, amount: 1n }],
227
+ * });
228
+ * const travel = deriveFleetTravelProfile({
229
+ * stats: projected.stats,
230
+ * subwarpSpeedModifierRaw: character.modifiers.values.subwarpSpeedModifierRaw,
231
+ * });
232
+ * console.log(projected.stats.cargo.miningRate.value, travel.subwarp?.secondsPerAu);
233
+ * ```
234
+ */
235
+ export function deriveFleetCompositionStats(input) {
236
+ const definitions = new Map();
237
+ let sequence;
238
+ for (const definition of input.definitions) {
239
+ sequence ??= definition.definitionSequenceId;
240
+ if (definition.definitionSequenceId !== sequence)
241
+ invalid('Ship definition sequence', definition.definitionSequenceId);
242
+ definitions.set(definition.id, definition);
243
+ }
244
+ if (sequence === undefined)
245
+ invalid('Ship definitions', 0);
246
+ const rawDefinitions = new Map();
247
+ const lookup = (id) => {
248
+ const definition = definitions.get(id);
249
+ if (definition === undefined)
250
+ invalid('Ship definition id', id);
251
+ let raw = rawDefinitions.get(id);
252
+ if (raw === undefined) {
253
+ raw = readRaw(definition.stats);
254
+ rawDefinitions.set(id, raw);
255
+ }
256
+ return { definition, raw };
257
+ };
258
+ const fleet = input.fleet;
259
+ const ships = new Map(fleet?.ships.map(({ id, quantity }) => [id, quantity]));
260
+ const counts = {
261
+ total: 0n,
262
+ xxSmall: 0n,
263
+ xSmall: 0n,
264
+ small: 0n,
265
+ medium: 0n,
266
+ large: 0n,
267
+ capital: 0n,
268
+ commander: 0n,
269
+ titan: 0n,
270
+ };
271
+ const addCounts = (definition, amount) => {
272
+ const key = SIZE_KEYS[definition.sizeClass];
273
+ counts[key] += amount;
274
+ counts.total += amount;
275
+ if (counts[key] > 0xffffn)
276
+ invalid(`shipCounts.${key}`, counts[key]);
277
+ };
278
+ let route;
279
+ let stats;
280
+ if (fleet === undefined) {
281
+ route = 'new-fleet';
282
+ stats = emptyRaw();
283
+ }
284
+ else {
285
+ stats = readRaw(fleet.stats);
286
+ for (const key of Object.keys(counts))
287
+ counts[key] = BigInt(fleet.shipCounts[key]);
288
+ if (fleet.shipDefinitionsSeqId === sequence)
289
+ route = 'stored';
290
+ else {
291
+ route = 'resynchronized';
292
+ if (ships.size > 0) {
293
+ stats = emptyRaw();
294
+ for (const key of Object.keys(counts))
295
+ counts[key] = 0n;
296
+ for (const [id, quantity] of ships) {
297
+ const { definition, raw } = lookup(id);
298
+ addCounts(definition, quantity);
299
+ combine(stats, raw, quantity);
300
+ }
301
+ scaleAverages(stats, counts.total, true);
302
+ setRepair(stats, ships, lookup);
303
+ }
304
+ }
305
+ }
306
+ for (const { shipId, amount } of input.additions) {
307
+ if (amount < 1n || amount > 255n)
308
+ invalid('Addition amount', amount);
309
+ const { definition, raw } = lookup(shipId);
310
+ scaleAverages(stats, counts.total, false);
311
+ combine(stats, raw, amount);
312
+ addCounts(definition, amount);
313
+ ships.set(shipId, (ships.get(shipId) ?? 0n) + amount);
314
+ scaleAverages(stats, counts.total, true);
315
+ setRepair(stats, ships, lookup);
316
+ }
317
+ const shipCounts = Object.fromEntries(Object.entries(counts).map(([key, value]) => [key, Number(value)]));
318
+ return freezeResolvedSnapshot(attachJsonSerialization({
319
+ route,
320
+ definitionSequenceId: sequence,
321
+ ships: [...ships].map(([id, quantity]) => ({ id, quantity })),
322
+ shipCounts,
323
+ fleetPoints: fleetCapacityPoints([
324
+ shipCounts.xxSmall,
325
+ shipCounts.xSmall,
326
+ shipCounts.small,
327
+ shipCounts.medium,
328
+ shipCounts.large,
329
+ shipCounts.capital,
330
+ shipCounts.commander,
331
+ shipCounts.titan,
332
+ ]),
333
+ stats: writeStats(stats),
334
+ }));
335
+ }
336
+ function setRepair(stats, ships, lookup) {
337
+ let costWeighted = 0n;
338
+ let hullWeight = 0n;
339
+ let efficiencyWeighted = 0n;
340
+ let abilityWeight = 0n;
341
+ for (const [id, quantity] of ships) {
342
+ const { combat } = lookup(id).raw;
343
+ const hull = combat.hp * quantity;
344
+ const ability = combat.repairAbility * quantity;
345
+ hullWeight += hull;
346
+ costWeighted += combat.repairCost * hull;
347
+ abilityWeight += ability;
348
+ efficiencyWeighted += combat.repairEfficiency * ability;
349
+ }
350
+ stats.combat.repairCost = hullWeight === 0n ? 0n : costWeighted / hullWeight;
351
+ stats.combat.repairEfficiency =
352
+ abilityWeight === 0n ? 0n : efficiencyWeighted / abilityWeight;
353
+ }
354
+ //# sourceMappingURL=composition-stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition-stats.js","sourceRoot":"","sources":["../../src/fleets/composition-stats.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { deriveFleetWarpLaneEstimate, type FleetWarpLaneEstimate, type FleetWarp
4
4
  export { deriveFleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimateInput, } from './coordinate-warp-estimate.js';
5
5
  export { deriveFleetSubwarpEstimate, type FleetSubwarpEstimate, type FleetSubwarpEstimateInput, } from './subwarp-estimate.js';
6
6
  export { deriveFleetMovementCooldown, type FleetMovementCooldownInput, } from './cooldown.js';
7
+ export { deriveFleetCompositionStats, type FleetCompositionStats, type FleetCompositionStatsInput, } from './composition-stats.js';
7
8
  export { deriveFleetTravelProfile, type FleetTravelProfile, type FleetTravelProfileInput, } from './travel-profile.js';
8
9
  import { SageSdkError, type Address, type DiscoveryRequest, type EntityRef, type ReadOptions, type SageContext, type SageSubscription, type SubscriptionDiagnosticEvent, type SubscriptionOptions } from '../client/index.js';
9
10
  import { deriveFleetTimers, interpolateSubwarpPosition, type ResolvedFleetAccountData } from '../internal/fleet.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { deriveFleetWarpLaneEstimate, } from './warp-lane-estimate.js';
4
4
  export { deriveFleetCoordinateWarpEstimate, } from './coordinate-warp-estimate.js';
5
5
  export { deriveFleetSubwarpEstimate, } from './subwarp-estimate.js';
6
6
  export { deriveFleetMovementCooldown, } from './cooldown.js';
7
+ export { deriveFleetCompositionStats, } from './composition-stats.js';
7
8
  export { deriveFleetTravelProfile, } from './travel-profile.js';
8
9
  import { AccountDecodeError, AccountNotFoundError, ProviderError, SageSdkError, entityRef, } from '../client/index.js';
9
10
  import { assertCanonicalFleetAddress, discoverFleetAccounts, discoverFleetAccountsForGame, fleetAccountDefinition, } from '../internal/c4/fleet.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Fleet points a set of per-class counts uses. */
2
+ export declare function fleetCapacityPoints(classes: readonly number[]): number;
3
+ //# sourceMappingURL=fleet-points.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-points.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-points.ts"],"names":[],"mappings":"AAIA,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAKtE"}
@@ -0,0 +1,8 @@
1
+ /** Fleet points each ship class uses, by size-class ordinal. Verified against
2
+ * the program's behaviour; a Titan uses 128, not its 81-point combat size. */
3
+ const FLEET_CAPACITY_POINTS = [1, 4, 9, 16, 25, 36, 49, 128];
4
+ /** Fleet points a set of per-class counts uses. */
5
+ export function fleetCapacityPoints(classes) {
6
+ return classes.reduce((total, count, index) => total + count * FLEET_CAPACITY_POINTS[index], 0);
7
+ }
8
+ //# sourceMappingURL=fleet-points.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-points.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-points.ts"],"names":[],"mappings":"AAAA;8EAC8E;AAC9E,MAAM,qBAAqB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAU,CAAC;AAEtE,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAAC,OAA0B;IAC5D,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAE,EACtE,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -3,6 +3,7 @@ import { type SizeClass } from '@staratlas/dev-sage';
3
3
  import type { RawAccount } from '../../client/contracts.js';
4
4
  import type { FleetShipCountsData } from './fleet.js';
5
5
  import type { FleetShipAssemblyIntent, FleetShipAssemblyAccounts } from '../planning/fleet-ship-assembly.js';
6
+ export { fleetCapacityPoints } from './fleet-points.js';
6
7
  /** At most one Titan, and at most two Commanders and Titans together. */
7
8
  export declare const MAX_TITANS_PER_FLEET = 1;
8
9
  export declare const MAX_COMMANDERS_AND_TITANS_PER_FLEET = 2;
@@ -13,8 +14,6 @@ export declare function shipSizeRank(size: (typeof SIZE_ORDER)[number]): number;
13
14
  export declare function shipSizeName(sizeClass: SizeClass): string;
14
15
  /** Per-class ship counts with the selected ships added. */
15
16
  export declare function prospectiveShipCounts(counts: FleetShipCountsData, sizeClass: SizeClass, amount: number): readonly number[];
16
- /** Fleet points a set of per-class counts uses. */
17
- export declare function fleetCapacityPoints(classes: readonly number[]): number;
18
17
  /** Sizes the complete already-validated pinned Fleet encoding, preserving every variable field and zero-valued map entry. */
19
18
  export declare function fleetShipAssemblySize(raw: RawAccount, shipId: number, amount: bigint): number;
20
19
  /** Bytes the Starbase Player grows when assembly re-tags hulls of other
@@ -23,5 +22,4 @@ export declare function fleetShipAssemblySize(raw: RawAccount, shipId: number, a
23
22
  export declare function starbasePlayerEscrowGrowth(raw: RawAccount, shipId: number): number;
24
23
  /** Audited singleton instruction with deployment-tested inert legacy indices. */
25
24
  export declare function addShipToFleetInstruction(input: FleetShipAssemblyIntent, accounts: FleetShipAssemblyAccounts): Instruction;
26
- export {};
27
25
  //# sourceMappingURL=fleet-ship-assembly.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-ship-assembly.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAEL,KAAK,SAAS,EAMf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAI5C,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD,QAAA,MAAM,UAAU,+FASN,CAAC;AAEX,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAEtE;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,SAAS,MAAM,EAAE,CAanB;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAKtE;AAED,6HAA6H;AAC7H,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAYR;AACD;;sDAEsD;AACtD,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,MAAM,CAkBR;AACD,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,yBAAyB,GAClC,WAAW,CAqBb"}
1
+ {"version":3,"file":"fleet-ship-assembly.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAEL,KAAK,SAAS,EAMf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD,QAAA,MAAM,UAAU,+FASN,CAAC;AAEX,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAEtE;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,SAAS,MAAM,EAAE,CAanB;AAED,6HAA6H;AAC7H,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAYR;AACD;;sDAEsD;AACtD,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,MAAM,CAkBR;AACD,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,yBAAyB,GAClC,WAAW,CAqBb"}
@@ -2,9 +2,7 @@ import { AccountRole } from '@solana/kit';
2
2
  import { SAGE_PROGRAM_ADDRESS, getAddShipToFleetInstructionDataEncoder, getFleetDecoder, getFleetEncoder, getStarbasePlayerDecoder, getStarbasePlayerEncoder, } from '@staratlas/dev-sage';
3
3
  import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '@staratlas/dev-player-profile';
4
4
  import { AccountDecodeError } from '../../client/errors.js';
5
- /** Fleet points each ship class uses, by size-class ordinal. Verified against
6
- * the program's behaviour; a Titan uses 128, not its 81-point combat size. */
7
- const FLEET_CAPACITY_POINTS = [1, 4, 9, 16, 25, 36, 49, 128];
5
+ export { fleetCapacityPoints } from './fleet-points.js';
8
6
  /** At most one Titan, and at most two Commanders and Titans together. */
9
7
  export const MAX_TITANS_PER_FLEET = 1;
10
8
  export const MAX_COMMANDERS_AND_TITANS_PER_FLEET = 2;
@@ -41,10 +39,6 @@ export function prospectiveShipCounts(counts, sizeClass, amount) {
41
39
  classes[sizeClass] = classes[sizeClass] + amount;
42
40
  return classes;
43
41
  }
44
- /** Fleet points a set of per-class counts uses. */
45
- export function fleetCapacityPoints(classes) {
46
- return classes.reduce((total, count, index) => total + count * FLEET_CAPACITY_POINTS[index], 0);
47
- }
48
42
  /** Sizes the complete already-validated pinned Fleet encoding, preserving every variable field and zero-valued map entry. */
49
43
  export function fleetShipAssemblySize(raw, shipId, amount) {
50
44
  const fleet = getFleetDecoder().decode(raw.data);
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-ship-assembly.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet-ship-assembly.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
2
- /** Bind the cache guard to generated instruction metas, independently of Plan kind. */
2
+ /** Bind the cache guard, and a warp lane's destination region-access guard,
3
+ * to generated instruction metas, independently of Plan kind. */
3
4
  export declare function validateCurrencyInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
4
5
  //# sourceMappingURL=currency-cache-guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency-cache-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAU1E,uFAAuF;AACvF,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAmCN"}
1
+ {"version":3,"file":"currency-cache-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAU1E;iEACiE;AACjE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAmDN"}
@@ -2,7 +2,8 @@ import { AccountRole } from '@solana/kit';
2
2
  import { SageSdkError } from '../../client/errors.js';
3
3
  import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
4
4
  import { CANCEL_CLAIM_STAKE_BUILDING_DESIGN_DISCRIMINATOR, DECONSTRUCT_CLAIM_STAKE_INSTANCE_DISCRIMINATOR, FINALIZE_BUILDING_CHANGES_DISCRIMINATOR, START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, } from '../c4/discriminators.js';
5
- /** Bind the cache guard to generated instruction metas, independently of Plan kind. */
5
+ /** Bind the cache guard, and a warp lane's destination region-access guard,
6
+ * to generated instruction metas, independently of Plan kind. */
6
7
  export function validateCurrencyInstructions(steps, guards) {
7
8
  // Discriminator, Game index, cache index. Full layout validation stays in
8
9
  // the existing runtime validators. Keep generated
@@ -29,6 +30,14 @@ export function validateCurrencyInstructions(steps, guards) {
29
30
  ((g.kind === 'currency-cache' && g.game === game.address) ||
30
31
  g.kind === 'account-state')))
31
32
  throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Step ${index}: CurrencyCache ${cache?.address} needs a matching guard and roles. Recreate via its planner.`);
33
+ const [system, tracker] = [8, 11].map((i) => instruction.accounts?.[i]);
34
+ if (layout[0] === WARP_LANE_DISCRIMINATOR &&
35
+ !guards.some((g) => g.address === tracker?.address &&
36
+ ((g.kind === 'region-access' &&
37
+ g.game === game.address &&
38
+ g.system === system?.address) ||
39
+ g.kind === 'account-state')))
40
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Step ${index}: RegionTracker ${tracker?.address} needs a region-access guard for destination ${system?.address}. Recreate via its planner.`);
32
41
  }
33
42
  }
34
43
  //# sourceMappingURL=currency-cache-guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency-cache-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,gDAAgD,EAChD,8CAA8C,EAC9C,uCAAuC,EACvC,+CAA+C,EAC/C,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,uFAAuF;AACvF,MAAM,UAAU,4BAA4B,CAC1C,KAA0B,EAC1B,MAAmC;IAEnC,0EAA0E;IAC1E,kDAAkD;IAClD,oEAAoE;IACpE,MAAM,OAAO,GAAG;QACd,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,gDAAgD,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC,uCAAuC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,CAAC,+CAA+C,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC,8CAA8C,EAAE,CAAC,EAAE,EAAE,CAAC;KAC/C,CAAC;IACX,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,WAAW,CAAC,cAAc,KAAK,oBAAoB;YAAE,SAAS;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAC9C,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CACzE,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,IACE,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC,QAAQ;YACpC,IAAI,EAAE,IAAI,KAAK,WAAW,CAAC,QAAQ;YACnC,CAAC,MAAM,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAC3B,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC;oBACvD,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAChC;YAED,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,QAAQ,KAAK,mBAAmB,KAAK,EAAE,OAAO,8DAA8D,CAC7G,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"currency-cache-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan-guards.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAqVhE,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,gBAAgB,CAkBlB"}
1
+ {"version":3,"file":"plan-guards.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA4VhE,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,gBAAgB,CAkBlB"}
@@ -81,6 +81,7 @@ const GUARD_SCHEMAS = {
81
81
  'ship-import-funding': schema(address('address'), address('game'), address('profile'), address('system'), ['shipId', SHIP_ID], ['maximumProfileDebit', CEILING], DESCRIBES),
82
82
  'fleet-attack': schema(address('address'), address('defender'), address('game'), address('profile'), address('defenderProfile'), ['instructionKey', 'string'], DESCRIBES),
83
83
  'currency-cache': schema(address('address'), address('game'), DESCRIBES),
84
+ 'region-access': schema(address('address'), address('game'), address('system'), ['accessHash', 'hash'], DESCRIBES),
84
85
  'movement-character': schema(address('address'), address('game'), address('profile'), ['stateHash', 'hash'], DESCRIBES),
85
86
  'fleet-docking-policy': schema(address('address'), address('game'), address('system'), address('ownership'), address('starbasePlayer'), DESCRIBES),
86
87
  'starbase-system': schema(address('address'), address('game'), ['starbaseSequenceId', STARBASE_SEQUENCE], [