@aephia/atlas-kit 0.6.0-next.11 → 0.6.0-next.111

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 (686) hide show
  1. package/README.md +3 -1
  2. package/dist/cargo/actions/deposit.d.ts +1 -1
  3. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  4. package/dist/cargo/actions/deposit.js +26 -115
  5. package/dist/cargo/actions/deposit.js.map +1 -1
  6. package/dist/cargo/actions/index.d.ts.map +1 -1
  7. package/dist/cargo/actions/index.js +20 -61
  8. package/dist/cargo/actions/index.js.map +1 -1
  9. package/dist/cargo/actions/wallet-context.d.ts +51 -2
  10. package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
  11. package/dist/cargo/actions/wallet-context.js +125 -2
  12. package/dist/cargo/actions/wallet-context.js.map +1 -1
  13. package/dist/cargo/actions/wallet-token.d.ts +1 -6
  14. package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
  15. package/dist/cargo/actions/wallet-token.js +0 -53
  16. package/dist/cargo/actions/wallet-token.js.map +1 -1
  17. package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
  18. package/dist/cargo/actions/withdrawal.js +37 -162
  19. package/dist/cargo/actions/withdrawal.js.map +1 -1
  20. package/dist/claim-stakes/actions/index.d.ts +13 -0
  21. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  22. package/dist/claim-stakes/actions/index.js +373 -544
  23. package/dist/claim-stakes/actions/index.js.map +1 -1
  24. package/dist/claim-stakes/index.d.ts +14 -0
  25. package/dist/claim-stakes/index.d.ts.map +1 -1
  26. package/dist/claim-stakes/index.js +23 -2
  27. package/dist/claim-stakes/index.js.map +1 -1
  28. package/dist/client/context.d.ts.map +1 -1
  29. package/dist/client/context.js +1 -1
  30. package/dist/client/context.js.map +1 -1
  31. package/dist/client/contracts.d.ts +16 -6
  32. package/dist/client/contracts.d.ts.map +1 -1
  33. package/dist/client/errors.d.ts +6 -2
  34. package/dist/client/errors.d.ts.map +1 -1
  35. package/dist/client/errors.js +31 -1
  36. package/dist/client/errors.js.map +1 -1
  37. package/dist/client/index.d.ts +35 -0
  38. package/dist/client/index.d.ts.map +1 -1
  39. package/dist/client/index.js +35 -0
  40. package/dist/client/index.js.map +1 -1
  41. package/dist/client/rpc-subscription-provider.d.ts +35 -0
  42. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  43. package/dist/client/rpc-subscription-provider.js +190 -0
  44. package/dist/client/rpc-subscription-provider.js.map +1 -0
  45. package/dist/combat/actions/index.d.ts +2 -2
  46. package/dist/combat/actions/index.d.ts.map +1 -1
  47. package/dist/combat/actions/index.js +192 -224
  48. package/dist/combat/actions/index.js.map +1 -1
  49. package/dist/combat/index.d.ts +4 -3
  50. package/dist/combat/index.d.ts.map +1 -1
  51. package/dist/combat/index.js +3 -2
  52. package/dist/combat/index.js.map +1 -1
  53. package/dist/crafting/actions/index.d.ts +11 -0
  54. package/dist/crafting/actions/index.d.ts.map +1 -1
  55. package/dist/crafting/actions/index.js +175 -283
  56. package/dist/crafting/actions/index.js.map +1 -1
  57. package/dist/crafting/index.d.ts +33 -3
  58. package/dist/crafting/index.d.ts.map +1 -1
  59. package/dist/crafting/index.js +45 -16
  60. package/dist/crafting/index.js.map +1 -1
  61. package/dist/factions/actions/index.d.ts +1 -0
  62. package/dist/factions/actions/index.d.ts.map +1 -1
  63. package/dist/factions/actions/index.js +2 -1
  64. package/dist/factions/actions/index.js.map +1 -1
  65. package/dist/factions/index.d.ts +1 -1
  66. package/dist/factions/index.d.ts.map +1 -1
  67. package/dist/factions/index.js +14 -8
  68. package/dist/factions/index.js.map +1 -1
  69. package/dist/factions/profile-faction.d.ts +20 -8
  70. package/dist/factions/profile-faction.d.ts.map +1 -1
  71. package/dist/factions/profile-faction.js +20 -8
  72. package/dist/factions/profile-faction.js.map +1 -1
  73. package/dist/fleets/actions/add-ship.d.ts +35 -0
  74. package/dist/fleets/actions/add-ship.d.ts.map +1 -0
  75. package/dist/fleets/actions/add-ship.js +149 -0
  76. package/dist/fleets/actions/add-ship.js.map +1 -0
  77. package/dist/fleets/actions/create-fleet.d.ts +36 -0
  78. package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
  79. package/dist/fleets/actions/create-fleet.js +138 -0
  80. package/dist/fleets/actions/create-fleet.js.map +1 -0
  81. package/dist/fleets/actions/crew-transfer.d.ts +41 -0
  82. package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
  83. package/dist/fleets/actions/crew-transfer.js +114 -0
  84. package/dist/fleets/actions/crew-transfer.js.map +1 -0
  85. package/dist/fleets/actions/dock-bounds.d.ts +38 -0
  86. package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
  87. package/dist/fleets/actions/dock-bounds.js +46 -0
  88. package/dist/fleets/actions/dock-bounds.js.map +1 -0
  89. package/dist/fleets/actions/index.d.ts +63 -23
  90. package/dist/fleets/actions/index.d.ts.map +1 -1
  91. package/dist/fleets/actions/index.js +370 -304
  92. package/dist/fleets/actions/index.js.map +1 -1
  93. package/dist/fleets/actions/respawn.d.ts +38 -0
  94. package/dist/fleets/actions/respawn.d.ts.map +1 -0
  95. package/dist/fleets/actions/respawn.js +122 -0
  96. package/dist/fleets/actions/respawn.js.map +1 -0
  97. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  98. package/dist/fleets/actions/ship-import.js +59 -76
  99. package/dist/fleets/actions/ship-import.js.map +1 -1
  100. package/dist/fleets/cooldown.d.ts +44 -0
  101. package/dist/fleets/cooldown.d.ts.map +1 -0
  102. package/dist/fleets/cooldown.js +43 -0
  103. package/dist/fleets/cooldown.js.map +1 -0
  104. package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
  105. package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
  106. package/dist/fleets/coordinate-warp-estimate.js +46 -0
  107. package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
  108. package/dist/fleets/index.d.ts +35 -0
  109. package/dist/fleets/index.d.ts.map +1 -1
  110. package/dist/fleets/index.js +52 -2
  111. package/dist/fleets/index.js.map +1 -1
  112. package/dist/fleets/movement-arithmetic.d.ts +21 -0
  113. package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
  114. package/dist/fleets/movement-arithmetic.js +41 -0
  115. package/dist/fleets/movement-arithmetic.js.map +1 -0
  116. package/dist/fleets/subwarp-estimate.d.ts +70 -0
  117. package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
  118. package/dist/fleets/subwarp-estimate.js +38 -0
  119. package/dist/fleets/subwarp-estimate.js.map +1 -0
  120. package/dist/fleets/travel-profile.d.ts +102 -0
  121. package/dist/fleets/travel-profile.d.ts.map +1 -0
  122. package/dist/fleets/travel-profile.js +120 -0
  123. package/dist/fleets/travel-profile.js.map +1 -0
  124. package/dist/fleets/warp-lane-estimate.d.ts +59 -0
  125. package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
  126. package/dist/fleets/warp-lane-estimate.js +36 -0
  127. package/dist/fleets/warp-lane-estimate.js.map +1 -0
  128. package/dist/fleets/warp-lane-policy.d.ts +68 -0
  129. package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
  130. package/dist/fleets/warp-lane-policy.js +91 -0
  131. package/dist/fleets/warp-lane-policy.js.map +1 -0
  132. package/dist/fleets/warp-lane-toll.d.ts +55 -0
  133. package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
  134. package/dist/fleets/warp-lane-toll.js +79 -0
  135. package/dist/fleets/warp-lane-toll.js.map +1 -0
  136. package/dist/identity/actions/index.d.ts +3 -3
  137. package/dist/identity/actions/index.d.ts.map +1 -1
  138. package/dist/identity/actions/index.js +50 -28
  139. package/dist/identity/actions/index.js.map +1 -1
  140. package/dist/identity/index.d.ts +12 -2
  141. package/dist/identity/index.d.ts.map +1 -1
  142. package/dist/identity/index.js +10 -1
  143. package/dist/identity/index.js.map +1 -1
  144. package/dist/identity/permissions.d.ts +11 -2
  145. package/dist/identity/permissions.d.ts.map +1 -1
  146. package/dist/identity/permissions.js +13 -4
  147. package/dist/identity/permissions.js.map +1 -1
  148. package/dist/identity/research-state.d.ts +60 -0
  149. package/dist/identity/research-state.d.ts.map +1 -0
  150. package/dist/identity/research-state.js +68 -0
  151. package/dist/identity/research-state.js.map +1 -0
  152. package/dist/index.d.ts +24 -0
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +20 -3
  155. package/dist/index.js.map +1 -1
  156. package/dist/internal/c4/account-decoding.d.ts +12 -0
  157. package/dist/internal/c4/account-decoding.d.ts.map +1 -0
  158. package/dist/internal/c4/account-decoding.js +36 -0
  159. package/dist/internal/c4/account-decoding.js.map +1 -0
  160. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  161. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  162. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  163. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  164. package/dist/internal/c4/character-modifier.d.ts +1 -1
  165. package/dist/internal/c4/character-modifier.d.ts.map +1 -1
  166. package/dist/internal/c4/character-registration.d.ts +2 -0
  167. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  168. package/dist/internal/c4/character-registration.js +2 -0
  169. package/dist/internal/c4/character-registration.js.map +1 -1
  170. package/dist/internal/c4/character.d.ts +155 -0
  171. package/dist/internal/c4/character.d.ts.map +1 -0
  172. package/dist/internal/c4/character.js +79 -0
  173. package/dist/internal/c4/character.js.map +1 -0
  174. package/dist/internal/c4/claim-stake-configuration.js +4 -2
  175. package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
  176. package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
  177. package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
  178. package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
  179. package/dist/internal/c4/claim-stake.d.ts +4 -27
  180. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  181. package/dist/internal/c4/claim-stake.js +30 -41
  182. package/dist/internal/c4/claim-stake.js.map +1 -1
  183. package/dist/internal/c4/combat.d.ts +1 -82
  184. package/dist/internal/c4/combat.d.ts.map +1 -1
  185. package/dist/internal/c4/combat.js +10 -171
  186. package/dist/internal/c4/combat.js.map +1 -1
  187. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  188. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  189. package/dist/internal/c4/crafting-process-codec.js +34 -0
  190. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  191. package/dist/internal/c4/crafting.d.ts +25 -33
  192. package/dist/internal/c4/crafting.d.ts.map +1 -1
  193. package/dist/internal/c4/crafting.js +61 -49
  194. package/dist/internal/c4/crafting.js.map +1 -1
  195. package/dist/internal/c4/currency-cache.d.ts +6 -0
  196. package/dist/internal/c4/currency-cache.d.ts.map +1 -0
  197. package/dist/internal/c4/currency-cache.js +30 -0
  198. package/dist/internal/c4/currency-cache.js.map +1 -0
  199. package/dist/internal/c4/docking-funding.d.ts +4 -0
  200. package/dist/internal/c4/docking-funding.d.ts.map +1 -0
  201. package/dist/internal/c4/docking-funding.js +11 -0
  202. package/dist/internal/c4/docking-funding.js.map +1 -0
  203. package/dist/internal/c4/faction-adapter.d.ts +12 -0
  204. package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
  205. package/dist/internal/c4/faction-adapter.js +52 -0
  206. package/dist/internal/c4/faction-adapter.js.map +1 -0
  207. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  208. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  209. package/dist/internal/c4/faction-epoch-meter.js +31 -0
  210. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  211. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  212. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  213. package/dist/internal/c4/faction-treasury.js +48 -0
  214. package/dist/internal/c4/faction-treasury.js.map +1 -0
  215. package/dist/internal/c4/faction.d.ts +21 -0
  216. package/dist/internal/c4/faction.d.ts.map +1 -0
  217. package/dist/internal/c4/faction.js +23 -0
  218. package/dist/internal/c4/faction.js.map +1 -0
  219. package/dist/internal/c4/factions.d.ts +9 -57
  220. package/dist/internal/c4/factions.d.ts.map +1 -1
  221. package/dist/internal/c4/factions.js +29 -156
  222. package/dist/internal/c4/factions.js.map +1 -1
  223. package/dist/internal/c4/fleet-arrival.d.ts +28 -0
  224. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  225. package/dist/internal/c4/fleet-arrival.js +42 -0
  226. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  227. package/dist/internal/c4/fleet-creation.d.ts +7 -0
  228. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  229. package/dist/internal/c4/fleet-creation.js +180 -0
  230. package/dist/internal/c4/fleet-creation.js.map +1 -0
  231. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  232. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  233. package/dist/internal/c4/fleet-crew-binding.js +20 -3
  234. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  235. package/dist/internal/c4/fleet-respawn.d.ts +17 -0
  236. package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
  237. package/dist/internal/c4/fleet-respawn.js +62 -0
  238. package/dist/internal/c4/fleet-respawn.js.map +1 -0
  239. package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
  240. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  241. package/dist/internal/c4/fleet-ship-assembly.js +44 -0
  242. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  243. package/dist/internal/c4/fleet.d.ts +45 -19
  244. package/dist/internal/c4/fleet.d.ts.map +1 -1
  245. package/dist/internal/c4/fleet.js +37 -29
  246. package/dist/internal/c4/fleet.js.map +1 -1
  247. package/dist/internal/c4/game-definition-layout.d.ts +2 -0
  248. package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
  249. package/dist/internal/c4/game-definition-layout.js +4 -0
  250. package/dist/internal/c4/game-definition-layout.js.map +1 -1
  251. package/dist/internal/c4/game.d.ts +47 -12
  252. package/dist/internal/c4/game.d.ts.map +1 -1
  253. package/dist/internal/c4/game.js +110 -21
  254. package/dist/internal/c4/game.js.map +1 -1
  255. package/dist/internal/c4/identity.d.ts +2 -152
  256. package/dist/internal/c4/identity.d.ts.map +1 -1
  257. package/dist/internal/c4/identity.js +6 -110
  258. package/dist/internal/c4/identity.js.map +1 -1
  259. package/dist/internal/c4/local-market-order.d.ts +31 -0
  260. package/dist/internal/c4/local-market-order.d.ts.map +1 -0
  261. package/dist/internal/c4/local-market-order.js +47 -0
  262. package/dist/internal/c4/local-market-order.js.map +1 -0
  263. package/dist/internal/c4/loot-layout.js +1 -1
  264. package/dist/internal/c4/loot-layout.js.map +1 -1
  265. package/dist/internal/c4/loot.d.ts +58 -0
  266. package/dist/internal/c4/loot.d.ts.map +1 -0
  267. package/dist/internal/c4/loot.js +130 -0
  268. package/dist/internal/c4/loot.js.map +1 -0
  269. package/dist/internal/c4/loyalty.d.ts +0 -27
  270. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  271. package/dist/internal/c4/loyalty.js +14 -43
  272. package/dist/internal/c4/loyalty.js.map +1 -1
  273. package/dist/internal/c4/market.d.ts +2 -38
  274. package/dist/internal/c4/market.d.ts.map +1 -1
  275. package/dist/internal/c4/market.js +13 -51
  276. package/dist/internal/c4/market.js.map +1 -1
  277. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  278. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  279. package/dist/internal/c4/mining-instructions.js +3 -0
  280. package/dist/internal/c4/mining-instructions.js.map +1 -0
  281. package/dist/internal/c4/open-signal.d.ts +8 -0
  282. package/dist/internal/c4/open-signal.d.ts.map +1 -0
  283. package/dist/internal/c4/open-signal.js +37 -0
  284. package/dist/internal/c4/open-signal.js.map +1 -0
  285. package/dist/internal/c4/pda.js +1 -1
  286. package/dist/internal/c4/pda.js.map +1 -1
  287. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  288. package/dist/internal/c4/profile-faction.js +11 -21
  289. package/dist/internal/c4/profile-faction.js.map +1 -1
  290. package/dist/internal/c4/profile-permissions.d.ts +5 -3
  291. package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
  292. package/dist/internal/c4/profile-permissions.js +61 -8
  293. package/dist/internal/c4/profile-permissions.js.map +1 -1
  294. package/dist/internal/c4/region-geometry.d.ts +8 -0
  295. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  296. package/dist/internal/c4/region-geometry.js +43 -0
  297. package/dist/internal/c4/region-geometry.js.map +1 -0
  298. package/dist/internal/c4/rewards.d.ts +1 -61
  299. package/dist/internal/c4/rewards.d.ts.map +1 -1
  300. package/dist/internal/c4/rewards.js +14 -115
  301. package/dist/internal/c4/rewards.js.map +1 -1
  302. package/dist/internal/c4/runtime-bindings.d.ts +4 -0
  303. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  304. package/dist/internal/c4/runtime-bindings.js +4 -0
  305. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  306. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  307. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  308. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  309. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  310. package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
  311. package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
  312. package/dist/internal/c4/scan-lifecycle.js +261 -0
  313. package/dist/internal/c4/scan-lifecycle.js.map +1 -0
  314. package/dist/internal/c4/scanning.d.ts +1 -28
  315. package/dist/internal/c4/scanning.d.ts.map +1 -1
  316. package/dist/internal/c4/scanning.js +7 -36
  317. package/dist/internal/c4/scanning.js.map +1 -1
  318. package/dist/internal/c4/ship-import.d.ts +4 -0
  319. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  320. package/dist/internal/c4/ship-import.js +13 -0
  321. package/dist/internal/c4/ship-import.js.map +1 -0
  322. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  323. package/dist/internal/c4/ship-stats.js +25 -21
  324. package/dist/internal/c4/ship-stats.js.map +1 -1
  325. package/dist/internal/c4/starbase.d.ts +0 -32
  326. package/dist/internal/c4/starbase.d.ts.map +1 -1
  327. package/dist/internal/c4/starbase.js +12 -62
  328. package/dist/internal/c4/starbase.js.map +1 -1
  329. package/dist/internal/c4/world.d.ts +36 -7
  330. package/dist/internal/c4/world.d.ts.map +1 -1
  331. package/dist/internal/c4/world.js +67 -48
  332. package/dist/internal/c4/world.js.map +1 -1
  333. package/dist/internal/cargo.d.ts +2 -0
  334. package/dist/internal/cargo.d.ts.map +1 -1
  335. package/dist/internal/cargo.js +8 -0
  336. package/dist/internal/cargo.js.map +1 -1
  337. package/dist/internal/fleet.d.ts +1 -0
  338. package/dist/internal/fleet.d.ts.map +1 -1
  339. package/dist/internal/fleet.js +3 -1
  340. package/dist/internal/fleet.js.map +1 -1
  341. package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
  342. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  343. package/dist/internal/loyalty-atlas-bank-state.js +10 -0
  344. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  345. package/dist/internal/planning/action-runtime.d.ts +38 -0
  346. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  347. package/dist/internal/planning/action-runtime.js +63 -0
  348. package/dist/internal/planning/action-runtime.js.map +1 -0
  349. package/dist/internal/planning/arrival-guards.d.ts +19 -0
  350. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  351. package/dist/internal/planning/arrival-guards.js +171 -0
  352. package/dist/internal/planning/arrival-guards.js.map +1 -0
  353. package/dist/internal/planning/authorization-adapter.d.ts +45 -37
  354. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  355. package/dist/internal/planning/authorization-adapter.js +165 -76
  356. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  357. package/dist/internal/planning/character-registration-guard.d.ts +4 -0
  358. package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
  359. package/dist/internal/planning/character-registration-guard.js +58 -0
  360. package/dist/internal/planning/character-registration-guard.js.map +1 -0
  361. package/dist/internal/planning/character-registration.d.ts +23 -0
  362. package/dist/internal/planning/character-registration.d.ts.map +1 -0
  363. package/dist/internal/planning/character-registration.js +87 -0
  364. package/dist/internal/planning/character-registration.js.map +1 -0
  365. package/dist/internal/planning/currency-cache-guard.d.ts +4 -0
  366. package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
  367. package/dist/internal/planning/currency-cache-guard.js +32 -0
  368. package/dist/internal/planning/currency-cache-guard.js.map +1 -0
  369. package/dist/internal/planning/democracy-history.d.ts +50 -0
  370. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  371. package/dist/internal/planning/democracy-history.js +198 -0
  372. package/dist/internal/planning/democracy-history.js.map +1 -0
  373. package/dist/internal/planning/faction-enrollment.d.ts +0 -2
  374. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  375. package/dist/internal/planning/faction-enrollment.js +1 -22
  376. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  377. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  378. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  379. package/dist/internal/planning/faction-trade-guards.js +15 -0
  380. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  381. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  382. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  383. package/dist/internal/planning/faction-trade-state.js +43 -0
  384. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  385. package/dist/internal/planning/fleet-arrival.d.ts +40 -0
  386. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  387. package/dist/internal/planning/fleet-arrival.js +106 -0
  388. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  389. package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
  390. package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
  391. package/dist/internal/planning/fleet-attack-xp.js +110 -0
  392. package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
  393. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  394. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  395. package/dist/internal/planning/fleet-creation.js +109 -0
  396. package/dist/internal/planning/fleet-creation.js.map +1 -0
  397. package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
  398. package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
  399. package/dist/internal/planning/fleet-crew-guard.js +47 -0
  400. package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
  401. package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
  402. package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
  403. package/dist/internal/planning/fleet-crew-transfer.js +132 -0
  404. package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
  405. package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
  406. package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
  407. package/dist/internal/planning/fleet-dock-funding-guard.js +208 -0
  408. package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
  409. package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
  410. package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
  411. package/dist/internal/planning/fleet-dock-funding.js +154 -0
  412. package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
  413. package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
  414. package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
  415. package/dist/internal/planning/fleet-docking-guard.js +42 -0
  416. package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
  417. package/dist/internal/planning/fleet-docking.d.ts +10 -0
  418. package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
  419. package/dist/internal/planning/fleet-docking.js +85 -0
  420. package/dist/internal/planning/fleet-docking.js.map +1 -0
  421. package/dist/internal/planning/fleet-respawn.d.ts +28 -0
  422. package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
  423. package/dist/internal/planning/fleet-respawn.js +167 -0
  424. package/dist/internal/planning/fleet-respawn.js.map +1 -0
  425. package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
  426. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  427. package/dist/internal/planning/fleet-ship-assembly.js +138 -0
  428. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  429. package/dist/internal/planning/fleet-state.d.ts +25 -0
  430. package/dist/internal/planning/fleet-state.d.ts.map +1 -0
  431. package/dist/internal/planning/fleet-state.js +28 -0
  432. package/dist/internal/planning/fleet-state.js.map +1 -0
  433. package/dist/internal/planning/governance-fees.d.ts +64 -0
  434. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  435. package/dist/internal/planning/governance-fees.js +239 -0
  436. package/dist/internal/planning/governance-fees.js.map +1 -0
  437. package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
  438. package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
  439. package/dist/internal/planning/local-market-order-funding.js +127 -0
  440. package/dist/internal/planning/local-market-order-funding.js.map +1 -0
  441. package/dist/internal/planning/local-market-order.d.ts +40 -0
  442. package/dist/internal/planning/local-market-order.d.ts.map +1 -0
  443. package/dist/internal/planning/local-market-order.js +138 -0
  444. package/dist/internal/planning/local-market-order.js.map +1 -0
  445. package/dist/internal/planning/mining-stop.d.ts +14 -0
  446. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  447. package/dist/internal/planning/mining-stop.js +41 -0
  448. package/dist/internal/planning/mining-stop.js.map +1 -0
  449. package/dist/internal/planning/movement-character.d.ts +7 -0
  450. package/dist/internal/planning/movement-character.d.ts.map +1 -0
  451. package/dist/internal/planning/movement-character.js +41 -0
  452. package/dist/internal/planning/movement-character.js.map +1 -0
  453. package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
  454. package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
  455. package/dist/internal/planning/movement-xp-guard.js +103 -0
  456. package/dist/internal/planning/movement-xp-guard.js.map +1 -0
  457. package/dist/internal/planning/open-signal-guard.d.ts +3 -0
  458. package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
  459. package/dist/internal/planning/open-signal-guard.js +31 -0
  460. package/dist/internal/planning/open-signal-guard.js.map +1 -0
  461. package/dist/internal/planning/open-signal.d.ts +31 -0
  462. package/dist/internal/planning/open-signal.d.ts.map +1 -0
  463. package/dist/internal/planning/open-signal.js +86 -0
  464. package/dist/internal/planning/open-signal.js.map +1 -0
  465. package/dist/internal/planning/original-token.d.ts +34 -0
  466. package/dist/internal/planning/original-token.d.ts.map +1 -0
  467. package/dist/internal/planning/original-token.js +98 -0
  468. package/dist/internal/planning/original-token.js.map +1 -0
  469. package/dist/internal/planning/plan-fields.d.ts +59 -0
  470. package/dist/internal/planning/plan-fields.d.ts.map +1 -0
  471. package/dist/internal/planning/plan-fields.js +153 -0
  472. package/dist/internal/planning/plan-fields.js.map +1 -0
  473. package/dist/internal/planning/plan-guards.d.ts +4 -0
  474. package/dist/internal/planning/plan-guards.d.ts.map +1 -0
  475. package/dist/internal/planning/plan-guards.js +168 -0
  476. package/dist/internal/planning/plan-guards.js.map +1 -0
  477. package/dist/internal/planning/recipe-state.d.ts +6 -0
  478. package/dist/internal/planning/recipe-state.d.ts.map +1 -0
  479. package/dist/internal/planning/recipe-state.js +20 -0
  480. package/dist/internal/planning/recipe-state.js.map +1 -0
  481. package/dist/internal/planning/rent.d.ts +19 -0
  482. package/dist/internal/planning/rent.d.ts.map +1 -0
  483. package/dist/internal/planning/rent.js +35 -0
  484. package/dist/internal/planning/rent.js.map +1 -0
  485. package/dist/internal/planning/respawn-guards.d.ts +3 -0
  486. package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
  487. package/dist/internal/planning/respawn-guards.js +41 -0
  488. package/dist/internal/planning/respawn-guards.js.map +1 -0
  489. package/dist/internal/planning/runtime-guards.d.ts +41 -0
  490. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  491. package/dist/internal/planning/runtime-guards.js +635 -0
  492. package/dist/internal/planning/runtime-guards.js.map +1 -0
  493. package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
  494. package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
  495. package/dist/internal/planning/scan-completion-guard.js +94 -0
  496. package/dist/internal/planning/scan-completion-guard.js.map +1 -0
  497. package/dist/internal/planning/scan-completion.d.ts +20 -0
  498. package/dist/internal/planning/scan-completion.d.ts.map +1 -0
  499. package/dist/internal/planning/scan-completion.js +197 -0
  500. package/dist/internal/planning/scan-completion.js.map +1 -0
  501. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  502. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  503. package/dist/internal/planning/scan-detect-guard.js +77 -0
  504. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  505. package/dist/internal/planning/scan-detect.d.ts +24 -0
  506. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  507. package/dist/internal/planning/scan-detect.js +245 -0
  508. package/dist/internal/planning/scan-detect.js.map +1 -0
  509. package/dist/internal/planning/scan-input.d.ts +9 -0
  510. package/dist/internal/planning/scan-input.d.ts.map +1 -0
  511. package/dist/internal/planning/scan-input.js +58 -0
  512. package/dist/internal/planning/scan-input.js.map +1 -0
  513. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  514. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  515. package/dist/internal/planning/ship-import-funding.js +53 -0
  516. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  517. package/dist/internal/planning/ship-token.d.ts +1 -6
  518. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  519. package/dist/internal/planning/ship-token.js +2 -41
  520. package/dist/internal/planning/ship-token.js.map +1 -1
  521. package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
  522. package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
  523. package/dist/internal/planning/starbase-player-owner.js +17 -0
  524. package/dist/internal/planning/starbase-player-owner.js.map +1 -0
  525. package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
  526. package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
  527. package/dist/internal/planning/starbase-system-guard.js +93 -0
  528. package/dist/internal/planning/starbase-system-guard.js.map +1 -0
  529. package/dist/internal/planning/starbase-system.d.ts +15 -0
  530. package/dist/internal/planning/starbase-system.d.ts.map +1 -0
  531. package/dist/internal/planning/starbase-system.js +25 -0
  532. package/dist/internal/planning/starbase-system.js.map +1 -0
  533. package/dist/internal/planning/token-mint.d.ts +4 -0
  534. package/dist/internal/planning/token-mint.d.ts.map +1 -0
  535. package/dist/internal/planning/token-mint.js +15 -0
  536. package/dist/internal/planning/token-mint.js.map +1 -0
  537. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  538. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  539. package/dist/internal/planning/trade-faction-market.js +56 -0
  540. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  541. package/dist/internal/planning/wallet-starbase.d.ts +34 -0
  542. package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
  543. package/dist/internal/planning/wallet-starbase.js +39 -0
  544. package/dist/internal/planning/wallet-starbase.js.map +1 -0
  545. package/dist/internal/planning/xp-runtime.d.ts +36 -0
  546. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  547. package/dist/internal/planning/xp-runtime.js +126 -0
  548. package/dist/internal/planning/xp-runtime.js.map +1 -0
  549. package/dist/internal/system-program.d.ts +4 -0
  550. package/dist/internal/system-program.d.ts.map +1 -0
  551. package/dist/internal/system-program.js +3 -0
  552. package/dist/internal/system-program.js.map +1 -0
  553. package/dist/loyalty/actions/index.d.ts.map +1 -1
  554. package/dist/loyalty/actions/index.js +8 -21
  555. package/dist/loyalty/actions/index.js.map +1 -1
  556. package/dist/loyalty/index.d.ts.map +1 -1
  557. package/dist/loyalty/index.js +2 -6
  558. package/dist/loyalty/index.js.map +1 -1
  559. package/dist/markets/actions/index.d.ts +61 -3
  560. package/dist/markets/actions/index.d.ts.map +1 -1
  561. package/dist/markets/actions/index.js +227 -160
  562. package/dist/markets/actions/index.js.map +1 -1
  563. package/dist/markets/actions/trade-faction-market.d.ts +43 -0
  564. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  565. package/dist/markets/actions/trade-faction-market.js +282 -0
  566. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  567. package/dist/markets/index.d.ts +38 -7
  568. package/dist/markets/index.d.ts.map +1 -1
  569. package/dist/markets/index.js +57 -10
  570. package/dist/markets/index.js.map +1 -1
  571. package/dist/mining/actions/index.d.ts +87 -0
  572. package/dist/mining/actions/index.d.ts.map +1 -0
  573. package/dist/mining/actions/index.js +319 -0
  574. package/dist/mining/actions/index.js.map +1 -0
  575. package/dist/mining/estimate.d.ts +114 -0
  576. package/dist/mining/estimate.d.ts.map +1 -0
  577. package/dist/mining/estimate.js +127 -0
  578. package/dist/mining/estimate.js.map +1 -0
  579. package/dist/mining/index.d.ts +9 -2
  580. package/dist/mining/index.d.ts.map +1 -1
  581. package/dist/mining/index.js +7 -2
  582. package/dist/mining/index.js.map +1 -1
  583. package/dist/mining/profile.d.ts +82 -0
  584. package/dist/mining/profile.d.ts.map +1 -0
  585. package/dist/mining/profile.js +109 -0
  586. package/dist/mining/profile.js.map +1 -0
  587. package/dist/planning/assembly.d.ts +5 -0
  588. package/dist/planning/assembly.d.ts.map +1 -1
  589. package/dist/planning/assembly.js +8 -4
  590. package/dist/planning/assembly.js.map +1 -1
  591. package/dist/planning/execution.d.ts +18 -3
  592. package/dist/planning/execution.d.ts.map +1 -1
  593. package/dist/planning/execution.js +492 -40
  594. package/dist/planning/execution.js.map +1 -1
  595. package/dist/planning/index.d.ts +196 -149
  596. package/dist/planning/index.d.ts.map +1 -1
  597. package/dist/planning/index.js +44 -292
  598. package/dist/planning/index.js.map +1 -1
  599. package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
  600. package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
  601. package/dist/planning/plan-sequence-checkpoint.js +16 -7
  602. package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
  603. package/dist/planning/plan-sequence-execution.d.ts +5 -0
  604. package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
  605. package/dist/planning/plan-sequence-execution.js +74 -30
  606. package/dist/planning/plan-sequence-execution.js.map +1 -1
  607. package/dist/planning/plan-sequence.d.ts +2 -1
  608. package/dist/planning/plan-sequence.d.ts.map +1 -1
  609. package/dist/planning/plan-sequence.js +8 -1
  610. package/dist/planning/plan-sequence.js.map +1 -1
  611. package/dist/planning/plan-validation.d.ts +14 -0
  612. package/dist/planning/plan-validation.d.ts.map +1 -0
  613. package/dist/planning/plan-validation.js +124 -0
  614. package/dist/planning/plan-validation.js.map +1 -0
  615. package/dist/planning/simulation.d.ts +25 -1
  616. package/dist/planning/simulation.d.ts.map +1 -1
  617. package/dist/planning/simulation.js +111 -11
  618. package/dist/planning/simulation.js.map +1 -1
  619. package/dist/registry/cargo.d.ts +7 -12
  620. package/dist/registry/cargo.d.ts.map +1 -1
  621. package/dist/registry/cargo.js +19 -19
  622. package/dist/registry/cargo.js.map +1 -1
  623. package/dist/registry/docking.d.ts +10 -0
  624. package/dist/registry/docking.d.ts.map +1 -0
  625. package/dist/registry/docking.js +12 -0
  626. package/dist/registry/docking.js.map +1 -0
  627. package/dist/registry/index.d.ts +4 -0
  628. package/dist/registry/index.d.ts.map +1 -1
  629. package/dist/registry/index.js.map +1 -1
  630. package/dist/registry/onboarding.d.ts +10 -2
  631. package/dist/registry/onboarding.d.ts.map +1 -1
  632. package/dist/registry/onboarding.js +20 -7
  633. package/dist/registry/onboarding.js.map +1 -1
  634. package/dist/registry/scanning.d.ts +7 -0
  635. package/dist/registry/scanning.d.ts.map +1 -0
  636. package/dist/registry/scanning.js +13 -0
  637. package/dist/registry/scanning.js.map +1 -0
  638. package/dist/registry/ship-stats-snapshot.js +19 -19
  639. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  640. package/dist/registry/ships.d.ts +22 -2
  641. package/dist/registry/ships.d.ts.map +1 -1
  642. package/dist/registry/ships.js +31 -4
  643. package/dist/registry/ships.js.map +1 -1
  644. package/dist/registry/xp-runtime.d.ts +4 -0
  645. package/dist/registry/xp-runtime.d.ts.map +1 -0
  646. package/dist/registry/xp-runtime.js +14 -0
  647. package/dist/registry/xp-runtime.js.map +1 -0
  648. package/dist/rewards/index.d.ts.map +1 -1
  649. package/dist/rewards/index.js +5 -4
  650. package/dist/rewards/index.js.map +1 -1
  651. package/dist/scanning/actions/index.d.ts +116 -0
  652. package/dist/scanning/actions/index.d.ts.map +1 -0
  653. package/dist/scanning/actions/index.js +185 -0
  654. package/dist/scanning/actions/index.js.map +1 -0
  655. package/dist/scanning/index.d.ts +5 -2
  656. package/dist/scanning/index.d.ts.map +1 -1
  657. package/dist/scanning/index.js +13 -9
  658. package/dist/scanning/index.js.map +1 -1
  659. package/dist/scanning/lifecycle.d.ts +77 -0
  660. package/dist/scanning/lifecycle.d.ts.map +1 -0
  661. package/dist/scanning/lifecycle.js +93 -0
  662. package/dist/scanning/lifecycle.js.map +1 -0
  663. package/dist/scanning/odds.d.ts +111 -0
  664. package/dist/scanning/odds.d.ts.map +1 -0
  665. package/dist/scanning/odds.js +294 -0
  666. package/dist/scanning/odds.js.map +1 -0
  667. package/dist/scanning/signals.d.ts +121 -0
  668. package/dist/scanning/signals.d.ts.map +1 -0
  669. package/dist/scanning/signals.js +171 -0
  670. package/dist/scanning/signals.js.map +1 -0
  671. package/dist/starbases/actions/index.d.ts.map +1 -1
  672. package/dist/starbases/actions/index.js +5 -32
  673. package/dist/starbases/actions/index.js.map +1 -1
  674. package/dist/world/index.d.ts +110 -5
  675. package/dist/world/index.d.ts.map +1 -1
  676. package/dist/world/index.js +109 -4
  677. package/dist/world/index.js.map +1 -1
  678. package/dist/world/planet-claim-stake-plots.d.ts +130 -0
  679. package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
  680. package/dist/world/planet-claim-stake-plots.js +110 -0
  681. package/dist/world/planet-claim-stake-plots.js.map +1 -0
  682. package/dist/world/starbase-status.d.ts +176 -0
  683. package/dist/world/starbase-status.d.ts.map +1 -0
  684. package/dist/world/starbase-status.js +153 -0
  685. package/dist/world/starbase-status.js.map +1 -0
  686. package/package.json +10 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subwarp-estimate.js","sourceRoot":"","sources":["../../src/fleets/subwarp-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,IAAI,KAAK,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AA2C9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAgC;IAEhC,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAC3D,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,MAAM,CAClB,uBAAuB,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/C,WAAW;QACX,eAAe,EAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3D,kBAAkB;QAClB,eAAe,EAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3D,kBAAkB;QAClB,UAAU,EAAE,CAAC,kBAAkB,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,KAAK;KACtD,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,102 @@
1
+ import type { FleetCargoStatsData, FleetCombatStatsData, FleetMovementStatsData } from '../internal/c4/fleet.js';
2
+ /** Stats read by the travel profile: a Fleet's `stats` or a ship configuration's
3
+ * `stats`, which equal a one-ship Fleet's. Character modifiers are raw I32F32
4
+ * values; omitted or zero modifiers are neutral, as in the movement estimates.
5
+ * @example
6
+ * ```ts
7
+ * declare const ship: { readonly stats: FleetTravelProfileInput['stats'] };
8
+ * const input: FleetTravelProfileInput = { stats: ship.stats };
9
+ * ```
10
+ */
11
+ export interface FleetTravelProfileInput {
12
+ readonly stats: {
13
+ readonly movement: Pick<FleetMovementStatsData, 'subwarpSpeed' | 'subwarpFuelConsumptionRate' | 'warpSpeed' | 'warpFuelConsumptionRate' | 'maxWarpDistance' | 'warpCoolDownSeconds' | 'warpLaneSpeed'>;
14
+ readonly cargo: Pick<FleetCargoStatsData, 'fuelCapacity'>;
15
+ readonly combat: Pick<FleetCombatStatsData, 'warpSpoolTimeSeconds'>;
16
+ };
17
+ readonly subwarpSpeedModifierRaw?: bigint;
18
+ readonly warpSpeedModifierRaw?: bigint;
19
+ readonly warpCooldownModifierRaw?: bigint;
20
+ }
21
+ /** Reference travel values per AU, per maximum-range warp and per full tank.
22
+ * Each section is null when its speed (or warp range) is zero. Whole seconds
23
+ * and whole Fuel are bigint, as in the movement estimates; ratios are numbers.
24
+ * A null full-tank value means that movement mode burns no Fuel.
25
+ * @example
26
+ * ```ts
27
+ * declare const profile: FleetTravelProfile;
28
+ * console.log(profile.subwarp?.fullTankRangeAu, JSON.stringify(profile));
29
+ * ```
30
+ */
31
+ export interface FleetTravelProfile {
32
+ readonly subwarp: {
33
+ /** Seconds to subwarp exactly one AU. */
34
+ readonly secondsPerAu: number;
35
+ /** Fractional Fuel expenditure recorded for one AU. */
36
+ readonly fuelPerAu: number;
37
+ /** Subwarp distance whose Fuel expenditure equals a full tank. */
38
+ readonly fullTankRangeAu: number | null;
39
+ /** Seconds to subwarp the full-tank range. */
40
+ readonly fullTankSeconds: number | null;
41
+ } | null;
42
+ readonly coordinateWarp: {
43
+ /** Maximum coordinate-warp distance, in AU. */
44
+ readonly maxJumpAu: number;
45
+ /** Whole seconds for one maximum-range warp, including spool. */
46
+ readonly maxJumpSeconds: bigint;
47
+ /** Whole Fuel debited for one maximum-range warp. */
48
+ readonly maxJumpFuel: bigint;
49
+ /** Whole seconds of warp cooldown assigned at arrival. */
50
+ readonly cooldownSeconds: bigint;
51
+ /** Seconds from one maximum-range departure to the next: jump plus cooldown. */
52
+ readonly cycleSeconds: bigint;
53
+ /** AU per hour when chaining maximum-range warps as cooldown allows. */
54
+ readonly sustainedAuPerHour: number;
55
+ /** Maximum-range warp debits that fit in a full tank. */
56
+ readonly maxJumpsPerFullTank: bigint | null;
57
+ /** Distance covered by those warps. */
58
+ readonly fullTankRangeAu: number | null;
59
+ } | null;
60
+ readonly warpLane: {
61
+ /** Seconds per AU of lane; each hop rounds up to whole seconds. */
62
+ readonly secondsPerAu: number;
63
+ } | null;
64
+ toJSON(): unknown;
65
+ }
66
+ /** Derives reference travel values from Fleet or ship configuration stats,
67
+ * using the qualified subwarp, coordinate-warp, warp-lane and cooldown
68
+ * arithmetic (PTR deployment slot 54356023) on one-AU and maximum-range trips
69
+ * from Idle. Full-tank range inverts the qualified Fuel rate; sustained warp
70
+ * speed chains maximum-range warps, each waiting out the cooldown assigned at
71
+ * arrival.
72
+ *
73
+ * These are reference values, not a route or permission check: no planet
74
+ * departure, region policy, lane connectivity or toll, crew, XP, active timers
75
+ * or current tank are considered, and whether a warp may depart with less Fuel
76
+ * than its debit is not established. A configuration's stats describe one ship;
77
+ * stats of Fleets mixing configurations are not qualified here.
78
+ * @throws InvalidDerivationInputError for a maximum warp distance of 128 AU or
79
+ * more, or modifiers and stats outside the movement estimates' bounds.
80
+ * @example
81
+ * ```ts
82
+ * const profile = deriveFleetTravelProfile({
83
+ * stats: {
84
+ * movement: {
85
+ * subwarpSpeed: { raw: 65536n, value: 1 },
86
+ * subwarpFuelConsumptionRate: { raw: 64n, value: 1 },
87
+ * warpSpeed: { raw: 65536n, value: 1 },
88
+ * warpFuelConsumptionRate: { raw: 128n, value: 2 },
89
+ * maxWarpDistance: { raw: 512n, value: 2 },
90
+ * warpCoolDownSeconds: 6,
91
+ * warpLaneSpeed: { raw: 131072n, value: 2 },
92
+ * },
93
+ * cargo: { fuelCapacity: 100n },
94
+ * combat: { warpSpoolTimeSeconds: 2 },
95
+ * },
96
+ * });
97
+ * console.log(profile.subwarp?.fullTankRangeAu); // 100
98
+ * console.log(profile.coordinateWarp?.cycleSeconds); // 10n: 2 spool + 2 travel + 6 cooldown
99
+ * ```
100
+ */
101
+ export declare function deriveFleetTravelProfile(input: FleetTravelProfileInput): FleetTravelProfile;
102
+ //# sourceMappingURL=travel-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"travel-profile.d.ts","sourceRoot":"","sources":["../../src/fleets/travel-profile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAOjC;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,IAAI,CACrB,sBAAsB,EACpB,cAAc,GACd,4BAA4B,GAC5B,WAAW,GACX,yBAAyB,GACzB,iBAAiB,GACjB,qBAAqB,GACrB,eAAe,CAClB,CAAC;QACF,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QAC1D,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;KACrE,CAAC;IACF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE;QAChB,yCAAyC;QACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,uDAAuD;QACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,kEAAkE;QAClE,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QACxC,8CAA8C;QAC9C,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KACzC,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,cAAc,EAAE;QACvB,+CAA+C;QAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,iEAAiE;QACjE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,qDAAqD;QACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,0DAA0D;QAC1D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,gFAAgF;QAChF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,wEAAwE;QACxE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,yDAAyD;QACzD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5C,uCAAuC;QACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KACzC,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,QAAQ,EAAE;QACjB,mEAAmE;QACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,GAAG,IAAI,CAAC;IACT,MAAM,IAAI,OAAO,CAAC;CACnB;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,kBAAkB,CA6FpB"}
@@ -0,0 +1,120 @@
1
+ import { InvalidDerivationInputError } from '../client/index.js';
2
+ import { attachJsonSerialization } from '../internal/json.js';
3
+ import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
4
+ import { deriveFleetCoordinateWarpEstimate } from './coordinate-warp-estimate.js';
5
+ import { deriveFleetMovementCooldown } from './cooldown.js';
6
+ import { calculateMovement, movementScale } from './movement-arithmetic.js';
7
+ const neutral = 1n << 32n;
8
+ const origin = { x: 0n, y: 0n };
9
+ const oneAu = { x: movementScale, y: 0n };
10
+ // A maximum range of 128 AU or more cannot be placed inside the signed I8F56
11
+ // coordinate span the movement arithmetic is qualified for.
12
+ const maxProfiledRangeRaw = (1n << 15n) - 1n;
13
+ /** Derives reference travel values from Fleet or ship configuration stats,
14
+ * using the qualified subwarp, coordinate-warp, warp-lane and cooldown
15
+ * arithmetic (PTR deployment slot 54356023) on one-AU and maximum-range trips
16
+ * from Idle. Full-tank range inverts the qualified Fuel rate; sustained warp
17
+ * speed chains maximum-range warps, each waiting out the cooldown assigned at
18
+ * arrival.
19
+ *
20
+ * These are reference values, not a route or permission check: no planet
21
+ * departure, region policy, lane connectivity or toll, crew, XP, active timers
22
+ * or current tank are considered, and whether a warp may depart with less Fuel
23
+ * than its debit is not established. A configuration's stats describe one ship;
24
+ * stats of Fleets mixing configurations are not qualified here.
25
+ * @throws InvalidDerivationInputError for a maximum warp distance of 128 AU or
26
+ * more, or modifiers and stats outside the movement estimates' bounds.
27
+ * @example
28
+ * ```ts
29
+ * const profile = deriveFleetTravelProfile({
30
+ * stats: {
31
+ * movement: {
32
+ * subwarpSpeed: { raw: 65536n, value: 1 },
33
+ * subwarpFuelConsumptionRate: { raw: 64n, value: 1 },
34
+ * warpSpeed: { raw: 65536n, value: 1 },
35
+ * warpFuelConsumptionRate: { raw: 128n, value: 2 },
36
+ * maxWarpDistance: { raw: 512n, value: 2 },
37
+ * warpCoolDownSeconds: 6,
38
+ * warpLaneSpeed: { raw: 131072n, value: 2 },
39
+ * },
40
+ * cargo: { fuelCapacity: 100n },
41
+ * combat: { warpSpoolTimeSeconds: 2 },
42
+ * },
43
+ * });
44
+ * console.log(profile.subwarp?.fullTankRangeAu); // 100
45
+ * console.log(profile.coordinateWarp?.cycleSeconds); // 10n: 2 spool + 2 travel + 6 cooldown
46
+ * ```
47
+ */
48
+ export function deriveFleetTravelProfile(input) {
49
+ const { movement, cargo, combat } = input.stats;
50
+ const fuelCapacity = cargo.fuelCapacity;
51
+ if (fuelCapacity < 0n)
52
+ throw new InvalidDerivationInputError('Fuel capacity', fuelCapacity, 'Use the Fleet or ship configuration fuelCapacity, a nonnegative whole number of Fuel.');
53
+ let subwarp = null;
54
+ if (movement.subwarpSpeed.raw !== 0n) {
55
+ const rateRaw = movement.subwarpFuelConsumptionRate.raw;
56
+ const { durationSecondsRaw, fuelExpenditureRaw } = calculateMovement({
57
+ fromRaw: origin,
58
+ toRaw: oneAu,
59
+ speedRaw: movement.subwarpSpeed.raw,
60
+ fuelRateRaw: rateRaw,
61
+ speedModifierRaw: input.subwarpSpeedModifierRaw ?? neutral,
62
+ }, 'Subwarp');
63
+ const secondsPerAu = Number(durationSecondsRaw) / Number(movementScale);
64
+ const fullTankRangeAu = rateRaw === 0n ? null : (Number(fuelCapacity) * 64) / Number(rateRaw);
65
+ subwarp = {
66
+ secondsPerAu,
67
+ fuelPerAu: Number(fuelExpenditureRaw) / Number(movementScale),
68
+ fullTankRangeAu,
69
+ fullTankSeconds: fullTankRangeAu === null ? null : fullTankRangeAu * secondsPerAu,
70
+ };
71
+ }
72
+ let coordinateWarp = null;
73
+ const rangeRaw = movement.maxWarpDistance.raw;
74
+ if (movement.warpSpeed.raw !== 0n && rangeRaw !== 0n) {
75
+ if (rangeRaw > maxProfiledRangeRaw)
76
+ throw new InvalidDerivationInputError('Maximum warp distance raw', rangeRaw, 'Travel profiles support maximum warp distances below 128 AU, the coordinate span the movement arithmetic is qualified for. Estimate a specific coordinate warp instead.');
77
+ const jump = deriveFleetCoordinateWarpEstimate({
78
+ fromRaw: origin,
79
+ toRaw: { x: rangeRaw << 48n, y: 0n },
80
+ speedRaw: movement.warpSpeed.raw,
81
+ fuelRateRaw: movement.warpFuelConsumptionRate.raw,
82
+ speedModifierRaw: input.warpSpeedModifierRaw ?? neutral,
83
+ spoolSeconds: combat.warpSpoolTimeSeconds,
84
+ maxWarpDistanceRaw: rangeRaw,
85
+ });
86
+ const cooldownSeconds = deriveFleetMovementCooldown({
87
+ kind: 'coordinateWarp',
88
+ arrivesAtUnixSeconds: 0n,
89
+ baseCooldownSeconds: movement.warpCoolDownSeconds,
90
+ cooldownModifierRaw: input.warpCooldownModifierRaw ?? neutral,
91
+ });
92
+ const cycleSeconds = jump.durationSeconds + cooldownSeconds;
93
+ const jumps = jump.fuelDebit === 0n ? null : fuelCapacity / jump.fuelDebit;
94
+ coordinateWarp = {
95
+ maxJumpAu: jump.distanceAu,
96
+ maxJumpSeconds: jump.durationSeconds,
97
+ maxJumpFuel: jump.fuelDebit,
98
+ cooldownSeconds,
99
+ cycleSeconds,
100
+ sustainedAuPerHour: (jump.distanceAu * 3600) / Number(cycleSeconds),
101
+ maxJumpsPerFullTank: jumps,
102
+ fullTankRangeAu: jumps === null ? null : Number(jumps) * jump.distanceAu,
103
+ };
104
+ }
105
+ let warpLane = null;
106
+ if (movement.warpLaneSpeed.raw !== 0n) {
107
+ const { durationSecondsRaw } = calculateMovement({
108
+ fromRaw: origin,
109
+ toRaw: oneAu,
110
+ speedRaw: movement.warpLaneSpeed.raw,
111
+ fuelRateRaw: 0n,
112
+ speedModifierRaw: neutral,
113
+ }, 'Warp lane');
114
+ warpLane = {
115
+ secondsPerAu: Number(durationSecondsRaw) / Number(movementScale),
116
+ };
117
+ }
118
+ return freezeResolvedSnapshot(attachJsonSerialization({ subwarp, coordinateWarp, warpLane }));
119
+ }
120
+ //# sourceMappingURL=travel-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"travel-profile.js","sourceRoot":"","sources":["../../src/fleets/travel-profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /** Exact System coordinates (I8F56) and Fleet lane speed (U16F16).
2
+ * No Character warp-speed modifier or spool time applies to lane travel.
3
+ * @example
4
+ * ```ts
5
+ * const input: FleetWarpLaneEstimateInput = {
6
+ * fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
7
+ * speedRaw: 65536n,
8
+ * };
9
+ * ```
10
+ */
11
+ export interface FleetWarpLaneEstimateInput {
12
+ readonly fromRaw: {
13
+ readonly x: bigint;
14
+ readonly y: bigint;
15
+ };
16
+ readonly toRaw: {
17
+ readonly x: bigint;
18
+ readonly y: bigint;
19
+ };
20
+ readonly speedRaw: bigint;
21
+ }
22
+ /** Whole-second lane duration and zero Fuel debit on the qualified deployment.
23
+ * Raw distance has 56 fractional bits; AU is approximate.
24
+ * @example
25
+ * ```ts
26
+ * declare const estimate: FleetWarpLaneEstimate;
27
+ * console.log(estimate.durationSeconds, estimate.fuelDebit);
28
+ * ```
29
+ */
30
+ export interface FleetWarpLaneEstimate {
31
+ readonly distanceAu: number;
32
+ readonly distanceRaw: bigint;
33
+ readonly durationSeconds: bigint;
34
+ readonly fuelDebit: 0n;
35
+ toJSON(): unknown;
36
+ }
37
+ /** Estimates lane travel using empirically qualified deployment-54356023 arithmetic.
38
+ * Truncates each squared axis, computes distance, truncates fixed-point speed
39
+ * division and rounds duration upward to whole seconds. No Fuel is debited.
40
+ *
41
+ * Coordinates, axis differences and distance must fit signed I8F56. Speed is
42
+ * positive u32 raw. Identical and zero-quantized paths are rejected rather than
43
+ * predicting a successful zero-time lane. Unsupported overflow is rejected.
44
+ *
45
+ * Supply exact System coordinates and Fleet lane speed, not coordinate-warp
46
+ * stats. This checks no lane connection, policy, toll, affordability, cooldown,
47
+ * Fleet state, crew, XP or permissions. Use deriveFleetMovementCooldown for
48
+ * cooldown separately. Refresh and simulate the Plan before signing; requalify
49
+ * the arithmetic after relevant program changes.
50
+ * @example
51
+ * ```ts
52
+ * const estimate = deriveFleetWarpLaneEstimate({
53
+ * fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
54
+ * speedRaw: 65536n,
55
+ * }); // durationSeconds: 1n, fuelDebit: 0n
56
+ * ```
57
+ */
58
+ export declare function deriveFleetWarpLaneEstimate(input: FleetWarpLaneEstimateInput): FleetWarpLaneEstimate;
59
+ //# sourceMappingURL=warp-lane-estimate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-lane-estimate.d.ts","sourceRoot":"","sources":["../../src/fleets/warp-lane-estimate.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,GAChC,qBAAqB,CAoBvB"}
@@ -0,0 +1,36 @@
1
+ import { InvalidDerivationInputError } from '../client/index.js';
2
+ import { attachJsonSerialization } from '../internal/json.js';
3
+ import { calculateMovement, movementScale } from './movement-arithmetic.js';
4
+ /** Estimates lane travel using empirically qualified deployment-54356023 arithmetic.
5
+ * Truncates each squared axis, computes distance, truncates fixed-point speed
6
+ * division and rounds duration upward to whole seconds. No Fuel is debited.
7
+ *
8
+ * Coordinates, axis differences and distance must fit signed I8F56. Speed is
9
+ * positive u32 raw. Identical and zero-quantized paths are rejected rather than
10
+ * predicting a successful zero-time lane. Unsupported overflow is rejected.
11
+ *
12
+ * Supply exact System coordinates and Fleet lane speed, not coordinate-warp
13
+ * stats. This checks no lane connection, policy, toll, affordability, cooldown,
14
+ * Fleet state, crew, XP or permissions. Use deriveFleetMovementCooldown for
15
+ * cooldown separately. Refresh and simulate the Plan before signing; requalify
16
+ * the arithmetic after relevant program changes.
17
+ * @example
18
+ * ```ts
19
+ * const estimate = deriveFleetWarpLaneEstimate({
20
+ * fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
21
+ * speedRaw: 65536n,
22
+ * }); // durationSeconds: 1n, fuelDebit: 0n
23
+ * ```
24
+ */
25
+ export function deriveFleetWarpLaneEstimate(input) {
26
+ const { distanceRaw, durationSecondsRaw } = calculateMovement({ ...input, fuelRateRaw: 0n, speedModifierRaw: 1n << 32n }, 'Warp lane');
27
+ if (durationSecondsRaw === 0n)
28
+ throw new InvalidDerivationInputError('Warp lane duration raw', durationSecondsRaw, 'Choose distinct connected Systems with a positive fixed-point travel duration; the program rejects a zero-time lane transition. Refresh the Systems and Fleet lane speed, then simulate before signing.');
29
+ return Object.freeze(attachJsonSerialization({
30
+ distanceAu: Number(distanceRaw) / Number(movementScale),
31
+ distanceRaw,
32
+ durationSeconds: (durationSecondsRaw + movementScale - 1n) / movementScale,
33
+ fuelDebit: 0n,
34
+ }));
35
+ }
36
+ //# sourceMappingURL=warp-lane-estimate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-lane-estimate.js","sourceRoot":"","sources":["../../src/fleets/warp-lane-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAkC5E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAiC;IAEjC,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,CAC3D,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,IAAI,GAAG,EAAE,EAC1D,WAAW,CACZ,CAAC;IACF,IAAI,kBAAkB,KAAK,EAAE;QAC3B,MAAM,IAAI,2BAA2B,CACnC,wBAAwB,EACxB,kBAAkB,EAClB,yMAAyM,CAC1M,CAAC;IACJ,OAAO,MAAM,CAAC,MAAM,CAClB,uBAAuB,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACvD,WAAW;QACX,eAAe,EACb,CAAC,kBAAkB,GAAG,aAAa,GAAG,EAAE,CAAC,GAAG,aAAa;QAC3D,SAAS,EAAE,EAAW;KACvB,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,68 @@
1
+ import type { FactionRegionData } from '../internal/c4/factions.js';
2
+ import type { RiskZoneAccess } from '../internal/c4/character.js';
3
+ import type { WorldFaction, WorldStarbaseLevel } from '../internal/c4/world.js';
4
+ /** Explicit lane policy inputs; destinationRegion must contain the destination coordinates.
5
+ * A System's stored region id alone does not establish this spatial relationship.
6
+ * @example
7
+ * ```ts
8
+ * declare const input: FleetWarpLanePolicyInput;
9
+ * console.log(input.destinationRegion.risk, input.securityZoneAccess);
10
+ * ```
11
+ */
12
+ export interface FleetWarpLanePolicyInput {
13
+ readonly fleetFaction: WorldFaction;
14
+ readonly sourceOwner: WorldFaction;
15
+ readonly destinationOwner: WorldFaction;
16
+ readonly sourceLevel: WorldStarbaseLevel;
17
+ readonly destinationLevel: WorldStarbaseLevel;
18
+ readonly crossFactionEconomicsEnabled: boolean;
19
+ readonly destinationRegion: Pick<FactionRegionData, 'owner' | 'safety' | 'risk'>;
20
+ readonly securityZoneAccess: RiskZoneAccess;
21
+ }
22
+ /** A bounded policy failure, not a simulation or transaction error.
23
+ * @example
24
+ * ```ts
25
+ * const reason: FleetWarpLanePolicyFailure = 'foreign-low-risk';
26
+ * ```
27
+ */
28
+ export type FleetWarpLanePolicyFailure = 'source-level-zero' | 'destination-level-zero' | 'cross-faction-disabled' | 'foreign-low-risk' | 'security-zone-access';
29
+ /** Policy result only: passing never proves travel eligibility or affordability.
30
+ * @example
31
+ * ```ts
32
+ * declare const assessment: FleetWarpLanePolicy;
33
+ * console.log(assessment.passesPolicy, assessment.failures);
34
+ * ```
35
+ */
36
+ export interface FleetWarpLanePolicy {
37
+ readonly passesPolicy: boolean;
38
+ readonly failures: readonly FleetWarpLanePolicyFailure[];
39
+ readonly effectiveRisk: FactionRegionData['risk'];
40
+ toJSON(): unknown;
41
+ }
42
+ /** Assesses qualified lane policy independently of Plan validation or execution.
43
+ * Both endpoint owners must equal Fleet faction when cross-faction economics is
44
+ * disabled. Both endpoint Starbases need nonzero levels. Stored low risk keeps
45
+ * its embedded faction; Safe medium/high becomes low risk of the region owner,
46
+ * while Border retains its tier. Foreign low risk rejects; higher tiers require
47
+ * sufficient Character access. Relationships and combat/territory gates do not
48
+ * block the tested lane policy.
49
+ *
50
+ * Only playable factions and known levels/tiers are supported. Resolve the
51
+ * region containing the destination coordinates before calling: this pure
52
+ * helper does not perform spatial lookup and does not trust a System region id
53
+ * on your behalf. It checks no connection, Fleet state, cooldown, crew, XP,
54
+ * permission, toll or available balance. Deployment 54356023 is the empirical
55
+ * scope; requalify on relevant game changes and simulate before signing.
56
+ * @example
57
+ * ```ts
58
+ * const result = deriveFleetWarpLanePolicy({
59
+ * fleetFaction: 'oni', sourceOwner: 'oni', destinationOwner: 'oni',
60
+ * sourceLevel: 'css', destinationLevel: 'level-1',
61
+ * crossFactionEconomicsEnabled: false, securityZoneAccess: 'low',
62
+ * destinationRegion: { owner: 'oni', safety: 'safe',
63
+ * risk: { kind: 'low', faction: 'oni' } },
64
+ * }); // passesPolicy: true; still simulate the actual Plan
65
+ * ```
66
+ */
67
+ export declare function deriveFleetWarpLanePolicy(input: FleetWarpLanePolicyInput): FleetWarpLanePolicy;
68
+ //# sourceMappingURL=warp-lane-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-lane-policy.d.ts","sourceRoot":"","sources":["../../src/fleets/warp-lane-policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGhF;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IAC9C,QAAQ,CAAC,4BAA4B,EAAE,OAAO,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAC9B,iBAAiB,EACjB,OAAO,GAAG,QAAQ,GAAG,MAAM,CAC5B,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAClC,mBAAmB,GACnB,wBAAwB,GACxB,wBAAwB,GACxB,kBAAkB,GAClB,sBAAsB,CAAC;AAE3B;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACzD,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,wBAAwB,GAC9B,mBAAmB,CA2ErB"}
@@ -0,0 +1,91 @@
1
+ import { InvalidDerivationInputError } from '../client/index.js';
2
+ import { attachJsonSerialization } from '../internal/json.js';
3
+ /** Assesses qualified lane policy independently of Plan validation or execution.
4
+ * Both endpoint owners must equal Fleet faction when cross-faction economics is
5
+ * disabled. Both endpoint Starbases need nonzero levels. Stored low risk keeps
6
+ * its embedded faction; Safe medium/high becomes low risk of the region owner,
7
+ * while Border retains its tier. Foreign low risk rejects; higher tiers require
8
+ * sufficient Character access. Relationships and combat/territory gates do not
9
+ * block the tested lane policy.
10
+ *
11
+ * Only playable factions and known levels/tiers are supported. Resolve the
12
+ * region containing the destination coordinates before calling: this pure
13
+ * helper does not perform spatial lookup and does not trust a System region id
14
+ * on your behalf. It checks no connection, Fleet state, cooldown, crew, XP,
15
+ * permission, toll or available balance. Deployment 54356023 is the empirical
16
+ * scope; requalify on relevant game changes and simulate before signing.
17
+ * @example
18
+ * ```ts
19
+ * const result = deriveFleetWarpLanePolicy({
20
+ * fleetFaction: 'oni', sourceOwner: 'oni', destinationOwner: 'oni',
21
+ * sourceLevel: 'css', destinationLevel: 'level-1',
22
+ * crossFactionEconomicsEnabled: false, securityZoneAccess: 'low',
23
+ * destinationRegion: { owner: 'oni', safety: 'safe',
24
+ * risk: { kind: 'low', faction: 'oni' } },
25
+ * }); // passesPolicy: true; still simulate the actual Plan
26
+ * ```
27
+ */
28
+ export function deriveFleetWarpLanePolicy(input) {
29
+ const invalid = (field, value) => {
30
+ throw new InvalidDerivationInputError(field, value, 'Use current playable-faction ownership, known Starbase levels and the region containing the destination coordinates, with current Character access. Unknown or NPC policy is not qualified; refresh and simulate the lane Plan.');
31
+ };
32
+ const playable = (field, faction) => {
33
+ if (faction !== 'mud' && faction !== 'oni' && faction !== 'ustur')
34
+ invalid(field, faction);
35
+ };
36
+ playable('Fleet faction', input.fleetFaction);
37
+ playable('Source owner', input.sourceOwner);
38
+ playable('Destination owner', input.destinationOwner);
39
+ playable('Destination region owner', input.destinationRegion.owner);
40
+ const levels = [
41
+ 'level-0',
42
+ 'level-1',
43
+ 'level-2',
44
+ 'level-3',
45
+ 'level-4',
46
+ 'level-5',
47
+ 'css',
48
+ ];
49
+ if (!levels.includes(input.sourceLevel))
50
+ invalid('Source Starbase level', input.sourceLevel);
51
+ if (!levels.includes(input.destinationLevel))
52
+ invalid('Destination Starbase level', input.destinationLevel);
53
+ if (typeof input.crossFactionEconomicsEnabled !== 'boolean')
54
+ invalid('Cross-faction flag type', typeof input.crossFactionEconomicsEnabled);
55
+ const { risk, safety, owner } = input.destinationRegion;
56
+ if (safety !== 'safe' && safety !== 'border')
57
+ invalid('Region safety', safety);
58
+ const kind = risk.kind;
59
+ if (kind !== 'low' && kind !== 'medium' && kind !== 'high')
60
+ invalid('Region risk', kind);
61
+ if (risk.kind === 'low')
62
+ playable('Low-risk faction', risk.faction);
63
+ const tiers = { low: 0, medium: 1, high: 2 };
64
+ if (!Object.hasOwn(tiers, input.securityZoneAccess))
65
+ invalid('Character security-zone access', input.securityZoneAccess);
66
+ const effectiveRisk = Object.freeze(risk.kind === 'low'
67
+ ? { ...risk }
68
+ : safety === 'safe'
69
+ ? { kind: 'low', faction: owner }
70
+ : { ...risk });
71
+ const failures = [];
72
+ if (input.sourceLevel === 'level-0')
73
+ failures.push('source-level-zero');
74
+ if (input.destinationLevel === 'level-0')
75
+ failures.push('destination-level-zero');
76
+ if (!input.crossFactionEconomicsEnabled &&
77
+ (input.sourceOwner !== input.fleetFaction ||
78
+ input.destinationOwner !== input.fleetFaction))
79
+ failures.push('cross-faction-disabled');
80
+ if (effectiveRisk.kind === 'low' &&
81
+ effectiveRisk.faction !== input.fleetFaction)
82
+ failures.push('foreign-low-risk');
83
+ if (tiers[effectiveRisk.kind] > tiers[input.securityZoneAccess])
84
+ failures.push('security-zone-access');
85
+ return Object.freeze(attachJsonSerialization({
86
+ passesPolicy: failures.length === 0,
87
+ failures: Object.freeze(failures),
88
+ effectiveRisk,
89
+ }));
90
+ }
91
+ //# sourceMappingURL=warp-lane-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-lane-policy.js","sourceRoot":"","sources":["../../src/fleets/warp-lane-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { FactionRelationship } from '../internal/c4/factions.js';
2
+ import type { WorldConnectionCosts, WorldFaction, WorldStarbaseLevel } from '../internal/c4/world.js';
3
+ /** Current source connection costs, ownership and Character fee modifier.
4
+ * destinationRelationship is Fleet-to-destination-owner, not endpoint-to-endpoint.
5
+ * @example
6
+ * ```ts
7
+ * declare const input: FleetWarpLaneTollInput;
8
+ * console.log(input.sourceLevel, input.feeModifierRaw);
9
+ * ```
10
+ */
11
+ export interface FleetWarpLaneTollInput {
12
+ readonly costs: Pick<WorldConnectionCosts, 'level1Raw' | 'level2Raw' | 'level3Raw' | 'level4Raw' | 'level5Raw' | 'cssRaw'>;
13
+ readonly sourceLevel: WorldStarbaseLevel;
14
+ readonly fleetFaction: WorldFaction;
15
+ readonly sourceOwner: WorldFaction;
16
+ readonly destinationOwner: WorldFaction;
17
+ readonly destinationRelationship: FactionRelationship;
18
+ readonly feeModifierRaw: bigint;
19
+ readonly alliedTollBps: number;
20
+ readonly neutralTollBps: number;
21
+ }
22
+ /** Character's prospective ATLAS debit, entirely in raw ATLAS units (Floyds).
23
+ * @example
24
+ * ```ts
25
+ * declare const toll: FleetWarpLaneToll;
26
+ * console.log(toll.modifiedBaseRaw, toll.surchargeRaw, toll.totalRaw);
27
+ * ```
28
+ */
29
+ export interface FleetWarpLaneToll {
30
+ readonly baseRaw: bigint;
31
+ readonly modifiedBaseRaw: bigint;
32
+ readonly surchargeRaw: bigint;
33
+ readonly totalRaw: bigint;
34
+ toJSON(): unknown;
35
+ }
36
+ /** Estimates the Character ATLAS toll using deployment-54356023 lane rules.
37
+ * Selects cost by departure level. Ceils the Character-modified base, then adds
38
+ * a separately floored surcharge on the unmodified base if either endpoint is
39
+ * foreign. Allied uses allied bps; neutral/hostile/ceasefire use neutral bps.
40
+ * A foreign source with own destination uses neutral bps. Modifier zero waives
41
+ * only the modified base. Relationship expiry does not alter the measured toll.
42
+ *
43
+ * Accepts playable factions only, usable source levels, u64 raw base cost,
44
+ * nonnegative i64 raw I32F32 modifier, and u16 bps. Rejects a result beyond u64.
45
+ * No RPC, balance, connection, region, permission or execution checks occur.
46
+ * ATLAS is paid from Character, not wallet. Requalify after program changes.
47
+ * @example
48
+ * ```ts
49
+ * declare const input: FleetWarpLaneTollInput;
50
+ * const toll = deriveFleetWarpLaneToll(input);
51
+ * console.log(toll.totalRaw);
52
+ * ```
53
+ */
54
+ export declare function deriveFleetWarpLaneToll(input: FleetWarpLaneTollInput): FleetWarpLaneToll;
55
+ //# sourceMappingURL=warp-lane-toll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-lane-toll.d.ts","sourceRoot":"","sources":["../../src/fleets/warp-lane-toll.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAClB,oBAAoB,EAClB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,QAAQ,CACX,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC;IACxC,QAAQ,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,MAAM,IAAI,OAAO,CAAC;CACnB;AAUD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,iBAAiB,CAyDnB"}