@aephia/atlas-kit 0.6.0-next.8 → 0.6.0-next.80

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 (528) 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 +25 -12
  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 +3 -2
  8. package/dist/cargo/actions/index.js.map +1 -1
  9. package/dist/cargo/actions/wallet-token.d.ts +1 -1
  10. package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
  11. package/dist/cargo/actions/wallet-token.js +1 -9
  12. package/dist/cargo/actions/wallet-token.js.map +1 -1
  13. package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
  14. package/dist/cargo/actions/withdrawal.js +22 -10
  15. package/dist/cargo/actions/withdrawal.js.map +1 -1
  16. package/dist/claim-stakes/actions/index.d.ts +13 -0
  17. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  18. package/dist/claim-stakes/actions/index.js +95 -44
  19. package/dist/claim-stakes/actions/index.js.map +1 -1
  20. package/dist/claim-stakes/index.d.ts +14 -0
  21. package/dist/claim-stakes/index.d.ts.map +1 -1
  22. package/dist/claim-stakes/index.js +23 -2
  23. package/dist/claim-stakes/index.js.map +1 -1
  24. package/dist/client/context.d.ts.map +1 -1
  25. package/dist/client/context.js +1 -1
  26. package/dist/client/context.js.map +1 -1
  27. package/dist/client/contracts.d.ts +16 -6
  28. package/dist/client/contracts.d.ts.map +1 -1
  29. package/dist/client/errors.d.ts +6 -2
  30. package/dist/client/errors.d.ts.map +1 -1
  31. package/dist/client/errors.js +31 -1
  32. package/dist/client/errors.js.map +1 -1
  33. package/dist/client/index.d.ts +1 -0
  34. package/dist/client/index.d.ts.map +1 -1
  35. package/dist/client/index.js +1 -0
  36. package/dist/client/index.js.map +1 -1
  37. package/dist/client/rpc-subscription-provider.d.ts +35 -0
  38. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  39. package/dist/client/rpc-subscription-provider.js +190 -0
  40. package/dist/client/rpc-subscription-provider.js.map +1 -0
  41. package/dist/combat/actions/index.d.ts.map +1 -1
  42. package/dist/combat/actions/index.js +98 -50
  43. package/dist/combat/actions/index.js.map +1 -1
  44. package/dist/crafting/actions/index.d.ts +11 -0
  45. package/dist/crafting/actions/index.d.ts.map +1 -1
  46. package/dist/crafting/actions/index.js +60 -29
  47. package/dist/crafting/actions/index.js.map +1 -1
  48. package/dist/crafting/index.d.ts +31 -2
  49. package/dist/crafting/index.d.ts.map +1 -1
  50. package/dist/crafting/index.js +41 -14
  51. package/dist/crafting/index.js.map +1 -1
  52. package/dist/factions/actions/index.d.ts +1 -0
  53. package/dist/factions/actions/index.d.ts.map +1 -1
  54. package/dist/factions/actions/index.js.map +1 -1
  55. package/dist/factions/index.d.ts +1 -1
  56. package/dist/factions/index.d.ts.map +1 -1
  57. package/dist/factions/index.js +14 -8
  58. package/dist/factions/index.js.map +1 -1
  59. package/dist/factions/profile-faction.d.ts +20 -8
  60. package/dist/factions/profile-faction.d.ts.map +1 -1
  61. package/dist/factions/profile-faction.js +20 -8
  62. package/dist/factions/profile-faction.js.map +1 -1
  63. package/dist/fleets/actions/add-ship.d.ts +35 -0
  64. package/dist/fleets/actions/add-ship.d.ts.map +1 -0
  65. package/dist/fleets/actions/add-ship.js +149 -0
  66. package/dist/fleets/actions/add-ship.js.map +1 -0
  67. package/dist/fleets/actions/create-fleet.d.ts +36 -0
  68. package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
  69. package/dist/fleets/actions/create-fleet.js +138 -0
  70. package/dist/fleets/actions/create-fleet.js.map +1 -0
  71. package/dist/fleets/actions/crew-transfer.d.ts +41 -0
  72. package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
  73. package/dist/fleets/actions/crew-transfer.js +114 -0
  74. package/dist/fleets/actions/crew-transfer.js.map +1 -0
  75. package/dist/fleets/actions/index.d.ts +33 -15
  76. package/dist/fleets/actions/index.d.ts.map +1 -1
  77. package/dist/fleets/actions/index.js +168 -110
  78. package/dist/fleets/actions/index.js.map +1 -1
  79. package/dist/fleets/actions/respawn.d.ts +38 -0
  80. package/dist/fleets/actions/respawn.d.ts.map +1 -0
  81. package/dist/fleets/actions/respawn.js +122 -0
  82. package/dist/fleets/actions/respawn.js.map +1 -0
  83. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  84. package/dist/fleets/actions/ship-import.js +37 -11
  85. package/dist/fleets/actions/ship-import.js.map +1 -1
  86. package/dist/fleets/cooldown.d.ts +44 -0
  87. package/dist/fleets/cooldown.d.ts.map +1 -0
  88. package/dist/fleets/cooldown.js +43 -0
  89. package/dist/fleets/cooldown.js.map +1 -0
  90. package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
  91. package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
  92. package/dist/fleets/coordinate-warp-estimate.js +46 -0
  93. package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
  94. package/dist/fleets/index.d.ts +34 -0
  95. package/dist/fleets/index.d.ts.map +1 -1
  96. package/dist/fleets/index.js +51 -2
  97. package/dist/fleets/index.js.map +1 -1
  98. package/dist/fleets/movement-arithmetic.d.ts +21 -0
  99. package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
  100. package/dist/fleets/movement-arithmetic.js +41 -0
  101. package/dist/fleets/movement-arithmetic.js.map +1 -0
  102. package/dist/fleets/subwarp-estimate.d.ts +70 -0
  103. package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
  104. package/dist/fleets/subwarp-estimate.js +38 -0
  105. package/dist/fleets/subwarp-estimate.js.map +1 -0
  106. package/dist/fleets/warp-lane-estimate.d.ts +59 -0
  107. package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
  108. package/dist/fleets/warp-lane-estimate.js +36 -0
  109. package/dist/fleets/warp-lane-estimate.js.map +1 -0
  110. package/dist/fleets/warp-lane-policy.d.ts +68 -0
  111. package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
  112. package/dist/fleets/warp-lane-policy.js +91 -0
  113. package/dist/fleets/warp-lane-policy.js.map +1 -0
  114. package/dist/fleets/warp-lane-toll.d.ts +55 -0
  115. package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
  116. package/dist/fleets/warp-lane-toll.js +79 -0
  117. package/dist/fleets/warp-lane-toll.js.map +1 -0
  118. package/dist/identity/actions/create-profile.d.ts +56 -0
  119. package/dist/identity/actions/create-profile.d.ts.map +1 -0
  120. package/dist/identity/actions/create-profile.js +139 -0
  121. package/dist/identity/actions/create-profile.js.map +1 -0
  122. package/dist/identity/actions/index.d.ts +4 -3
  123. package/dist/identity/actions/index.d.ts.map +1 -1
  124. package/dist/identity/actions/index.js +49 -27
  125. package/dist/identity/actions/index.js.map +1 -1
  126. package/dist/identity/index.d.ts +15 -0
  127. package/dist/identity/index.d.ts.map +1 -1
  128. package/dist/identity/index.js +15 -0
  129. package/dist/identity/index.js.map +1 -1
  130. package/dist/identity/permissions.d.ts +124 -0
  131. package/dist/identity/permissions.d.ts.map +1 -0
  132. package/dist/identity/permissions.js +171 -0
  133. package/dist/identity/permissions.js.map +1 -0
  134. package/dist/index.d.ts +24 -0
  135. package/dist/index.d.ts.map +1 -1
  136. package/dist/index.js +20 -3
  137. package/dist/index.js.map +1 -1
  138. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  139. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  140. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  141. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  142. package/dist/internal/c4/character-registration.d.ts +2 -0
  143. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  144. package/dist/internal/c4/character-registration.js +2 -0
  145. package/dist/internal/c4/character-registration.js.map +1 -1
  146. package/dist/internal/c4/claim-stake.d.ts +4 -27
  147. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  148. package/dist/internal/c4/claim-stake.js +25 -38
  149. package/dist/internal/c4/claim-stake.js.map +1 -1
  150. package/dist/internal/c4/combat.d.ts +0 -27
  151. package/dist/internal/c4/combat.d.ts.map +1 -1
  152. package/dist/internal/c4/combat.js +0 -33
  153. package/dist/internal/c4/combat.js.map +1 -1
  154. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  155. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  156. package/dist/internal/c4/crafting-process-codec.js +34 -0
  157. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  158. package/dist/internal/c4/crafting.d.ts +11 -31
  159. package/dist/internal/c4/crafting.d.ts.map +1 -1
  160. package/dist/internal/c4/crafting.js +26 -43
  161. package/dist/internal/c4/crafting.js.map +1 -1
  162. package/dist/internal/c4/faction-adapter.d.ts +12 -0
  163. package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
  164. package/dist/internal/c4/faction-adapter.js +52 -0
  165. package/dist/internal/c4/faction-adapter.js.map +1 -0
  166. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  167. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  168. package/dist/internal/c4/faction-epoch-meter.js +31 -0
  169. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  170. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  171. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  172. package/dist/internal/c4/faction-treasury.js +48 -0
  173. package/dist/internal/c4/faction-treasury.js.map +1 -0
  174. package/dist/internal/c4/factions.d.ts +9 -57
  175. package/dist/internal/c4/factions.d.ts.map +1 -1
  176. package/dist/internal/c4/factions.js +21 -139
  177. package/dist/internal/c4/factions.js.map +1 -1
  178. package/dist/internal/c4/fleet-arrival.d.ts +28 -0
  179. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  180. package/dist/internal/c4/fleet-arrival.js +42 -0
  181. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  182. package/dist/internal/c4/fleet-creation.d.ts +7 -0
  183. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  184. package/dist/internal/c4/fleet-creation.js +180 -0
  185. package/dist/internal/c4/fleet-creation.js.map +1 -0
  186. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  187. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  188. package/dist/internal/c4/fleet-crew-binding.js +15 -0
  189. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  190. package/dist/internal/c4/fleet-respawn.d.ts +19 -0
  191. package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
  192. package/dist/internal/c4/fleet-respawn.js +91 -0
  193. package/dist/internal/c4/fleet-respawn.js.map +1 -0
  194. package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
  195. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  196. package/dist/internal/c4/fleet-ship-assembly.js +44 -0
  197. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  198. package/dist/internal/c4/fleet.d.ts +45 -19
  199. package/dist/internal/c4/fleet.d.ts.map +1 -1
  200. package/dist/internal/c4/fleet.js +26 -7
  201. package/dist/internal/c4/fleet.js.map +1 -1
  202. package/dist/internal/c4/game.d.ts +27 -9
  203. package/dist/internal/c4/game.d.ts.map +1 -1
  204. package/dist/internal/c4/game.js +77 -14
  205. package/dist/internal/c4/game.js.map +1 -1
  206. package/dist/internal/c4/identity.d.ts +2 -7
  207. package/dist/internal/c4/identity.d.ts.map +1 -1
  208. package/dist/internal/c4/identity.js +2 -23
  209. package/dist/internal/c4/identity.js.map +1 -1
  210. package/dist/internal/c4/loyalty.d.ts +0 -27
  211. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  212. package/dist/internal/c4/loyalty.js +0 -33
  213. package/dist/internal/c4/loyalty.js.map +1 -1
  214. package/dist/internal/c4/market.d.ts +2 -38
  215. package/dist/internal/c4/market.d.ts.map +1 -1
  216. package/dist/internal/c4/market.js +13 -51
  217. package/dist/internal/c4/market.js.map +1 -1
  218. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  219. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  220. package/dist/internal/c4/mining-instructions.js +3 -0
  221. package/dist/internal/c4/mining-instructions.js.map +1 -0
  222. package/dist/internal/c4/open-signal.d.ts +8 -0
  223. package/dist/internal/c4/open-signal.d.ts.map +1 -0
  224. package/dist/internal/c4/open-signal.js +37 -0
  225. package/dist/internal/c4/open-signal.js.map +1 -0
  226. package/dist/internal/c4/profile-creation.d.ts +17 -0
  227. package/dist/internal/c4/profile-creation.d.ts.map +1 -0
  228. package/dist/internal/c4/profile-creation.js +36 -0
  229. package/dist/internal/c4/profile-creation.js.map +1 -0
  230. package/dist/internal/c4/profile-permissions.d.ts +14 -0
  231. package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
  232. package/dist/internal/c4/profile-permissions.js +81 -0
  233. package/dist/internal/c4/profile-permissions.js.map +1 -0
  234. package/dist/internal/c4/region-geometry.d.ts +8 -0
  235. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  236. package/dist/internal/c4/region-geometry.js +43 -0
  237. package/dist/internal/c4/region-geometry.js.map +1 -0
  238. package/dist/internal/c4/rewards.d.ts +0 -27
  239. package/dist/internal/c4/rewards.d.ts.map +1 -1
  240. package/dist/internal/c4/rewards.js +0 -33
  241. package/dist/internal/c4/rewards.js.map +1 -1
  242. package/dist/internal/c4/runtime-bindings.d.ts +3 -0
  243. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  244. package/dist/internal/c4/runtime-bindings.js +4 -0
  245. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  246. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  247. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  248. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  249. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  250. package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
  251. package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
  252. package/dist/internal/c4/scan-lifecycle.js +258 -0
  253. package/dist/internal/c4/scan-lifecycle.js.map +1 -0
  254. package/dist/internal/c4/scanning.d.ts +1 -28
  255. package/dist/internal/c4/scanning.d.ts.map +1 -1
  256. package/dist/internal/c4/scanning.js +2 -33
  257. package/dist/internal/c4/scanning.js.map +1 -1
  258. package/dist/internal/c4/ship-import.d.ts +4 -0
  259. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  260. package/dist/internal/c4/ship-import.js +13 -0
  261. package/dist/internal/c4/ship-import.js.map +1 -0
  262. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  263. package/dist/internal/c4/ship-stats.js +25 -21
  264. package/dist/internal/c4/ship-stats.js.map +1 -1
  265. package/dist/internal/c4/starbase.d.ts +0 -32
  266. package/dist/internal/c4/starbase.d.ts.map +1 -1
  267. package/dist/internal/c4/starbase.js +3 -41
  268. package/dist/internal/c4/starbase.js.map +1 -1
  269. package/dist/internal/c4/world.d.ts +36 -7
  270. package/dist/internal/c4/world.d.ts.map +1 -1
  271. package/dist/internal/c4/world.js +58 -25
  272. package/dist/internal/c4/world.js.map +1 -1
  273. package/dist/internal/cargo.d.ts +2 -0
  274. package/dist/internal/cargo.d.ts.map +1 -1
  275. package/dist/internal/cargo.js +8 -0
  276. package/dist/internal/cargo.js.map +1 -1
  277. package/dist/internal/fleet.d.ts +1 -0
  278. package/dist/internal/fleet.d.ts.map +1 -1
  279. package/dist/internal/fleet.js +3 -1
  280. package/dist/internal/fleet.js.map +1 -1
  281. package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
  282. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  283. package/dist/internal/loyalty-atlas-bank-state.js +10 -0
  284. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  285. package/dist/internal/planning/action-runtime.d.ts +38 -0
  286. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  287. package/dist/internal/planning/action-runtime.js +63 -0
  288. package/dist/internal/planning/action-runtime.js.map +1 -0
  289. package/dist/internal/planning/arrival-guards.d.ts +20 -0
  290. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  291. package/dist/internal/planning/arrival-guards.js +187 -0
  292. package/dist/internal/planning/arrival-guards.js.map +1 -0
  293. package/dist/internal/planning/authorization-adapter.d.ts +6 -6
  294. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  295. package/dist/internal/planning/authorization-adapter.js +81 -16
  296. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  297. package/dist/internal/planning/character-registration-guard.d.ts +4 -0
  298. package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
  299. package/dist/internal/planning/character-registration-guard.js +58 -0
  300. package/dist/internal/planning/character-registration-guard.js.map +1 -0
  301. package/dist/internal/planning/character-registration.d.ts +23 -0
  302. package/dist/internal/planning/character-registration.d.ts.map +1 -0
  303. package/dist/internal/planning/character-registration.js +86 -0
  304. package/dist/internal/planning/character-registration.js.map +1 -0
  305. package/dist/internal/planning/democracy-history.d.ts +50 -0
  306. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  307. package/dist/internal/planning/democracy-history.js +198 -0
  308. package/dist/internal/planning/democracy-history.js.map +1 -0
  309. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  310. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  311. package/dist/internal/planning/faction-trade-guards.js +15 -0
  312. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  313. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  314. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  315. package/dist/internal/planning/faction-trade-state.js +43 -0
  316. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  317. package/dist/internal/planning/fleet-arrival.d.ts +40 -0
  318. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  319. package/dist/internal/planning/fleet-arrival.js +105 -0
  320. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  321. package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
  322. package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
  323. package/dist/internal/planning/fleet-attack-xp.js +110 -0
  324. package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
  325. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  326. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  327. package/dist/internal/planning/fleet-creation.js +107 -0
  328. package/dist/internal/planning/fleet-creation.js.map +1 -0
  329. package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
  330. package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
  331. package/dist/internal/planning/fleet-crew-guard.js +47 -0
  332. package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
  333. package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
  334. package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
  335. package/dist/internal/planning/fleet-crew-transfer.js +131 -0
  336. package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
  337. package/dist/internal/planning/fleet-respawn.d.ts +28 -0
  338. package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
  339. package/dist/internal/planning/fleet-respawn.js +164 -0
  340. package/dist/internal/planning/fleet-respawn.js.map +1 -0
  341. package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
  342. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  343. package/dist/internal/planning/fleet-ship-assembly.js +136 -0
  344. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  345. package/dist/internal/planning/governance-fees.d.ts +64 -0
  346. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  347. package/dist/internal/planning/governance-fees.js +239 -0
  348. package/dist/internal/planning/governance-fees.js.map +1 -0
  349. package/dist/internal/planning/mining-stop.d.ts +14 -0
  350. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  351. package/dist/internal/planning/mining-stop.js +41 -0
  352. package/dist/internal/planning/mining-stop.js.map +1 -0
  353. package/dist/internal/planning/movement-character.d.ts +7 -0
  354. package/dist/internal/planning/movement-character.d.ts.map +1 -0
  355. package/dist/internal/planning/movement-character.js +41 -0
  356. package/dist/internal/planning/movement-character.js.map +1 -0
  357. package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
  358. package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
  359. package/dist/internal/planning/movement-xp-guard.js +103 -0
  360. package/dist/internal/planning/movement-xp-guard.js.map +1 -0
  361. package/dist/internal/planning/open-signal-guard.d.ts +3 -0
  362. package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
  363. package/dist/internal/planning/open-signal-guard.js +31 -0
  364. package/dist/internal/planning/open-signal-guard.js.map +1 -0
  365. package/dist/internal/planning/open-signal.d.ts +31 -0
  366. package/dist/internal/planning/open-signal.d.ts.map +1 -0
  367. package/dist/internal/planning/open-signal.js +84 -0
  368. package/dist/internal/planning/open-signal.js.map +1 -0
  369. package/dist/internal/planning/respawn-guards.d.ts +3 -0
  370. package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
  371. package/dist/internal/planning/respawn-guards.js +41 -0
  372. package/dist/internal/planning/respawn-guards.js.map +1 -0
  373. package/dist/internal/planning/runtime-guards.d.ts +43 -0
  374. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  375. package/dist/internal/planning/runtime-guards.js +636 -0
  376. package/dist/internal/planning/runtime-guards.js.map +1 -0
  377. package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
  378. package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
  379. package/dist/internal/planning/scan-completion-guard.js +94 -0
  380. package/dist/internal/planning/scan-completion-guard.js.map +1 -0
  381. package/dist/internal/planning/scan-completion.d.ts +20 -0
  382. package/dist/internal/planning/scan-completion.d.ts.map +1 -0
  383. package/dist/internal/planning/scan-completion.js +196 -0
  384. package/dist/internal/planning/scan-completion.js.map +1 -0
  385. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  386. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  387. package/dist/internal/planning/scan-detect-guard.js +77 -0
  388. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  389. package/dist/internal/planning/scan-detect.d.ts +24 -0
  390. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  391. package/dist/internal/planning/scan-detect.js +244 -0
  392. package/dist/internal/planning/scan-detect.js.map +1 -0
  393. package/dist/internal/planning/scan-input.d.ts +9 -0
  394. package/dist/internal/planning/scan-input.d.ts.map +1 -0
  395. package/dist/internal/planning/scan-input.js +58 -0
  396. package/dist/internal/planning/scan-input.js.map +1 -0
  397. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  398. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  399. package/dist/internal/planning/ship-import-funding.js +52 -0
  400. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  401. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  402. package/dist/internal/planning/ship-token.js +2 -4
  403. package/dist/internal/planning/ship-token.js.map +1 -1
  404. package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
  405. package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
  406. package/dist/internal/planning/starbase-system-guard.js +93 -0
  407. package/dist/internal/planning/starbase-system-guard.js.map +1 -0
  408. package/dist/internal/planning/starbase-system.d.ts +12 -0
  409. package/dist/internal/planning/starbase-system.d.ts.map +1 -0
  410. package/dist/internal/planning/starbase-system.js +22 -0
  411. package/dist/internal/planning/starbase-system.js.map +1 -0
  412. package/dist/internal/planning/token-mint.d.ts +4 -0
  413. package/dist/internal/planning/token-mint.d.ts.map +1 -0
  414. package/dist/internal/planning/token-mint.js +15 -0
  415. package/dist/internal/planning/token-mint.js.map +1 -0
  416. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  417. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  418. package/dist/internal/planning/trade-faction-market.js +56 -0
  419. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  420. package/dist/internal/planning/xp-runtime.d.ts +36 -0
  421. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  422. package/dist/internal/planning/xp-runtime.js +126 -0
  423. package/dist/internal/planning/xp-runtime.js.map +1 -0
  424. package/dist/loyalty/actions/index.d.ts.map +1 -1
  425. package/dist/loyalty/actions/index.js +4 -3
  426. package/dist/loyalty/actions/index.js.map +1 -1
  427. package/dist/loyalty/index.d.ts.map +1 -1
  428. package/dist/loyalty/index.js +2 -6
  429. package/dist/loyalty/index.js.map +1 -1
  430. package/dist/markets/actions/index.d.ts +4 -3
  431. package/dist/markets/actions/index.d.ts.map +1 -1
  432. package/dist/markets/actions/index.js +48 -24
  433. package/dist/markets/actions/index.js.map +1 -1
  434. package/dist/markets/actions/trade-faction-market.d.ts +43 -0
  435. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  436. package/dist/markets/actions/trade-faction-market.js +291 -0
  437. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  438. package/dist/markets/index.d.ts +7 -7
  439. package/dist/markets/index.d.ts.map +1 -1
  440. package/dist/markets/index.js +9 -9
  441. package/dist/markets/index.js.map +1 -1
  442. package/dist/mining/actions/index.d.ts +84 -0
  443. package/dist/mining/actions/index.d.ts.map +1 -0
  444. package/dist/mining/actions/index.js +328 -0
  445. package/dist/mining/actions/index.js.map +1 -0
  446. package/dist/mining/estimate.d.ts +114 -0
  447. package/dist/mining/estimate.d.ts.map +1 -0
  448. package/dist/mining/estimate.js +127 -0
  449. package/dist/mining/estimate.js.map +1 -0
  450. package/dist/mining/index.d.ts +8 -2
  451. package/dist/mining/index.d.ts.map +1 -1
  452. package/dist/mining/index.js +6 -2
  453. package/dist/mining/index.js.map +1 -1
  454. package/dist/planning/assembly.d.ts.map +1 -1
  455. package/dist/planning/assembly.js +18 -0
  456. package/dist/planning/assembly.js.map +1 -1
  457. package/dist/planning/execution.d.ts.map +1 -1
  458. package/dist/planning/execution.js +382 -16
  459. package/dist/planning/execution.js.map +1 -1
  460. package/dist/planning/index.d.ts +170 -149
  461. package/dist/planning/index.d.ts.map +1 -1
  462. package/dist/planning/index.js +828 -121
  463. package/dist/planning/index.js.map +1 -1
  464. package/dist/planning/plan-sequence.d.ts.map +1 -1
  465. package/dist/planning/plan-sequence.js +8 -1
  466. package/dist/planning/plan-sequence.js.map +1 -1
  467. package/dist/planning/simulation.d.ts +25 -1
  468. package/dist/planning/simulation.d.ts.map +1 -1
  469. package/dist/planning/simulation.js +111 -11
  470. package/dist/planning/simulation.js.map +1 -1
  471. package/dist/registry/cargo.d.ts +6 -11
  472. package/dist/registry/cargo.d.ts.map +1 -1
  473. package/dist/registry/cargo.js +19 -19
  474. package/dist/registry/cargo.js.map +1 -1
  475. package/dist/registry/index.d.ts +4 -0
  476. package/dist/registry/index.d.ts.map +1 -1
  477. package/dist/registry/index.js.map +1 -1
  478. package/dist/registry/onboarding.d.ts +8 -1
  479. package/dist/registry/onboarding.d.ts.map +1 -1
  480. package/dist/registry/onboarding.js +18 -5
  481. package/dist/registry/onboarding.js.map +1 -1
  482. package/dist/registry/scanning.d.ts +7 -0
  483. package/dist/registry/scanning.d.ts.map +1 -0
  484. package/dist/registry/scanning.js +13 -0
  485. package/dist/registry/scanning.js.map +1 -0
  486. package/dist/registry/ship-stats-snapshot.js +19 -19
  487. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  488. package/dist/registry/ships.d.ts +22 -2
  489. package/dist/registry/ships.d.ts.map +1 -1
  490. package/dist/registry/ships.js +28 -4
  491. package/dist/registry/ships.js.map +1 -1
  492. package/dist/registry/xp-runtime.d.ts +4 -0
  493. package/dist/registry/xp-runtime.d.ts.map +1 -0
  494. package/dist/registry/xp-runtime.js +14 -0
  495. package/dist/registry/xp-runtime.js.map +1 -0
  496. package/dist/scanning/actions/index.d.ts +116 -0
  497. package/dist/scanning/actions/index.d.ts.map +1 -0
  498. package/dist/scanning/actions/index.js +185 -0
  499. package/dist/scanning/actions/index.js.map +1 -0
  500. package/dist/scanning/index.d.ts +4 -1
  501. package/dist/scanning/index.d.ts.map +1 -1
  502. package/dist/scanning/index.js +12 -8
  503. package/dist/scanning/index.js.map +1 -1
  504. package/dist/scanning/lifecycle.d.ts +77 -0
  505. package/dist/scanning/lifecycle.d.ts.map +1 -0
  506. package/dist/scanning/lifecycle.js +93 -0
  507. package/dist/scanning/lifecycle.js.map +1 -0
  508. package/dist/scanning/odds.d.ts +111 -0
  509. package/dist/scanning/odds.d.ts.map +1 -0
  510. package/dist/scanning/odds.js +294 -0
  511. package/dist/scanning/odds.js.map +1 -0
  512. package/dist/scanning/signals.d.ts +121 -0
  513. package/dist/scanning/signals.d.ts.map +1 -0
  514. package/dist/scanning/signals.js +171 -0
  515. package/dist/scanning/signals.js.map +1 -0
  516. package/dist/world/index.d.ts +110 -5
  517. package/dist/world/index.d.ts.map +1 -1
  518. package/dist/world/index.js +109 -4
  519. package/dist/world/index.js.map +1 -1
  520. package/dist/world/planet-claim-stake-plots.d.ts +130 -0
  521. package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
  522. package/dist/world/planet-claim-stake-plots.js +110 -0
  523. package/dist/world/planet-claim-stake-plots.js.map +1 -0
  524. package/dist/world/starbase-status.d.ts +176 -0
  525. package/dist/world/starbase-status.d.ts.map +1 -0
  526. package/dist/world/starbase-status.js +153 -0
  527. package/dist/world/starbase-status.js.map +1 -0
  528. package/package.json +10 -2
@@ -1,13 +1,26 @@
1
1
  import { type Address, type DiscoveryRequest, type EntityRef, type ReadOptions, type SageContext } from '../client/index.js';
2
- import { type CelestialBodyAccountData, type StarSystemAccountData, type WorldCoordinates } from '../internal/c4/world.js';
2
+ import { type CelestialBodyAccountData, type StarSystemAccountData, type WorldCoordinates, type WorldFixedValue } from '../internal/c4/world.js';
3
+ import { type CargoDefinitionSummary } from '../registry/index.js';
4
+ import { type PlanetClaimStakePlotsSnapshot } from './planet-claim-stake-plots.js';
5
+ import { type StarbaseStatusSnapshot } from './starbase-status.js';
6
+ export { claimStakeTierIndex } from './planet-claim-stake-plots.js';
7
+ export type { ClaimStakeTier, PlanetClaimStakePlotDefinition, PlanetClaimStakePlotStructure, PlanetClaimStakePlotTier, PlanetClaimStakePlotsSnapshot, } from './planet-claim-stake-plots.js';
8
+ export { deriveStarbaseStatus, starbaseLevelIndex } from './starbase-status.js';
9
+ export type { ResolvedStarbaseUpgradeMaterial, ResolvedStarbaseUpgradeProgress, StarbaseServiceAvailability, StarbaseStatus, StarbaseStatusSnapshot, StarbaseUpgradeMaterial, StarbaseUpgradeProgress, } from './starbase-status.js';
3
10
  export type { StarSystemAccountData, WorldAsteroidData, WorldAsteroidResourceData, WorldClaimStakeGroupData, WorldConnectionCosts, WorldConnectionData, WorldCoordinates, WorldCraftingHabData, WorldFaction, WorldFixedValue, WorldPlanetData, WorldPlanetSubtype, WorldPlanetResourceData, WorldStarbaseData, WorldStarbaseLevel, WorldStarbaseLevelData, WorldStarbaseLevelInfoData, WorldStarbaseMaxLevelData, WorldStarbaseUpgradeData, WorldStructureData, } from '../internal/c4/world.js';
4
11
  /** Options supported by galaxy-scale StarSystem discovery.
5
12
  * @example
6
13
  * ```ts
7
- * const options: StarSystemDiscoveryOptions = { commitment: 'confirmed' };
14
+ * const options: StarSystemDiscoveryOptions = {
15
+ * commitment: 'confirmed',
16
+ * regionId: 3,
17
+ * };
8
18
  * ```
9
19
  */
10
- export type StarSystemDiscoveryOptions = Omit<DiscoveryRequest, 'filters' | 'strategy'>;
20
+ export type StarSystemDiscoveryOptions = Omit<DiscoveryRequest, 'filters' | 'strategy'> & {
21
+ /** Limits discovery to StarSystems whose fixed-width region field contains this unsigned 16-bit id. */
22
+ readonly regionId?: number;
23
+ };
11
24
  /** Options for discovering Celestial Bodies across the configured Game.
12
25
  * @example
13
26
  * ```ts
@@ -34,6 +47,13 @@ type AsteroidAccountData = Extract<CelestialBodyAccountData, {
34
47
  kind: 'asteroid';
35
48
  }>;
36
49
  /** Immutable Planet projection over a CelestialBody account.
50
+ *
51
+ * Planet richness gameplay use: unverified. Version-matched program evidence
52
+ * does not establish a consuming activity or formula for the decoded richness
53
+ * values in `details.resources`. They are distinct from Asteroid richness used
54
+ * by Fleet mining and from separately decoded Claim Stake building
55
+ * `resourceExtraction` rates.
56
+ *
37
57
  * @example
38
58
  * ```ts
39
59
  * declare const planet: PlanetSnapshot;
@@ -45,6 +65,36 @@ export interface PlanetSnapshot extends Omit<PlanetAccountData, 'system'> {
45
65
  readonly system: EntityRef<'starSystem'>;
46
66
  toJSON(): unknown;
47
67
  }
68
+ /** One registry-resolved resource row observed in a Planet account.
69
+ * @example
70
+ * ```ts
71
+ * declare const resource: PlanetResourceItem;
72
+ * console.log(resource.cargo.name, resource.richness.value);
73
+ * ```
74
+ */
75
+ export interface PlanetResourceItem {
76
+ readonly cargo: CargoDefinitionSummary;
77
+ readonly richness: WorldFixedValue;
78
+ }
79
+ /** Immutable Planet resource observation with registry-resolved cargo definitions.
80
+ * @example
81
+ * ```ts
82
+ * declare const resources: PlanetResourcesSnapshot;
83
+ * console.log(resources.name, resources.resources);
84
+ * ```
85
+ */
86
+ export interface PlanetResourcesSnapshot {
87
+ readonly kind: 'planetResources';
88
+ readonly address: Address;
89
+ readonly bodyId: number;
90
+ readonly name: string;
91
+ readonly game: Address;
92
+ readonly system: EntityRef<'starSystem'>;
93
+ readonly systemSequenceId: bigint;
94
+ readonly lastSyncedAtUnixSeconds: bigint;
95
+ readonly resources: readonly PlanetResourceItem[];
96
+ toJSON(): unknown;
97
+ }
48
98
  /** Immutable Asteroid projection over a CelestialBody account.
49
99
  * @example
50
100
  * ```ts
@@ -90,6 +140,22 @@ export declare function findCelestialBodyPda(game: Address, bodyId: number): Pro
90
140
  * ```
91
141
  */
92
142
  export declare function getStarSystem(ctx: SageContext, address: Address, options?: ReadOptions): Promise<StarSystemSnapshot>;
143
+ /** Reads one StarSystem and derives the status of its shared Starbase.
144
+ *
145
+ * Returns `undefined` when the System exists but has no Starbase; a missing
146
+ * System account still throws. The StarSystem stays on the shared account
147
+ * cache. Upgrade materials resolve lazily through the definitions registry,
148
+ * so a Starbase at its maximum level never loads the Game definitions.
149
+ *
150
+ * @example
151
+ * ```ts
152
+ * declare const ctx: SageContext;
153
+ * declare const system: Address;
154
+ * const status = await getStarbaseStatus(ctx, system);
155
+ * console.log(status?.level, status?.current.hullPoints);
156
+ * ```
157
+ */
158
+ export declare function getStarbaseStatus(ctx: SageContext, system: Address, options?: ReadOptions): Promise<StarbaseStatusSnapshot | undefined>;
93
159
  /** Reads an optional StarSystem by account address.
94
160
  * @example
95
161
  * ```ts
@@ -107,11 +173,11 @@ export declare function maybeGetStarSystem(ctx: SageContext, address: Address, o
107
173
  * ```
108
174
  */
109
175
  export declare function getStarSystemById(ctx: SageContext, systemId: number, options?: ReadOptions): Promise<StarSystemSnapshot>;
110
- /** Discovers all StarSystems for the configured Game with stable targeted filters.
176
+ /** Discovers StarSystems for the configured Game with stable targeted filters.
111
177
  * @example
112
178
  * ```ts
113
179
  * declare const ctx: SageContext;
114
- * const systems = await getStarSystems(ctx);
180
+ * const systems = await getStarSystems(ctx, { regionId: 3 });
115
181
  * ```
116
182
  */
117
183
  export declare function getStarSystems(ctx: SageContext, options?: StarSystemDiscoveryOptions): Promise<readonly StarSystemSnapshot[]>;
@@ -124,6 +190,45 @@ export declare function getStarSystems(ctx: SageContext, options?: StarSystemDis
124
190
  * ```
125
191
  */
126
192
  export declare function getCelestialBody(ctx: SageContext, address: Address, options?: ReadOptions): Promise<CelestialBodySnapshot>;
193
+ /** Reads one Planet resource observation and resolves every cargo definition.
194
+ *
195
+ * The Planet stays on the shared CelestialBody account cache. Cargo definitions
196
+ * load lazily through the registry and do not imply that the body and catalog
197
+ * were observed atomically. Unknown cargo ids reject the whole read.
198
+ *
199
+ * @example
200
+ * ```ts
201
+ * declare const ctx: SageContext;
202
+ * declare const planet: Address;
203
+ * const snapshot = await getPlanetResources(ctx, planet);
204
+ * console.log(snapshot.resources[0]?.cargo.name);
205
+ * ```
206
+ */
207
+ export declare function getPlanetResources(context: SageContext, planet: Address, options?: ReadOptions): Promise<PlanetResourcesSnapshot>;
208
+ /** Reads one Planet and its StarSystem, then summarizes Claim Stake plot
209
+ * availability for every tier.
210
+ *
211
+ * The Planet and System stay on the shared account cache; Claim Stake
212
+ * definitions load lazily through the registry so each occupying structure can
213
+ * be grouped under its definition and tier. Availability is per definition,
214
+ * matching the placement planner's check. A Planet whose System has no
215
+ * Starbase still lists plot limits by level and occupied plots, but no current
216
+ * limit or availability. An Asteroid address is rejected: only Planets carry
217
+ * Claim Stake plots.
218
+ *
219
+ * @example
220
+ * ```ts
221
+ * declare const ctx: SageContext;
222
+ * declare const planet: Address;
223
+ * const plots = await getPlanetClaimStakePlots(ctx, planet);
224
+ * for (const tier of plots.tiers) {
225
+ * for (const entry of tier.definitions) {
226
+ * console.log(entry.definition.name, tier.plotLimit, entry.available);
227
+ * }
228
+ * }
229
+ * ```
230
+ */
231
+ export declare function getPlanetClaimStakePlots(ctx: SageContext, planet: Address, options?: ReadOptions): Promise<PlanetClaimStakePlotsSnapshot>;
127
232
  /** Reads an optional CelestialBody by account address.
128
233
  * @example
129
234
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/world/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAEd,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAOL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAMjC,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,gBAAgB,EAChB,SAAS,GAAG,UAAU,CACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,gBAAgB,EAChB,SAAS,GAAG,UAAU,CACvB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,MAAM,IAAI,OAAO,CAAC;CACnB;AAED,KAAK,iBAAiB,GAAG,OAAO,CAAC,wBAAwB,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAC/E,KAAK,mBAAmB,GAAG,OAAO,CAChC,wBAAwB,EACxB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CACrB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC;IAC3E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG,gBAAgB,CAAC;AA+HtE;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAM7B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAUzC;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAa7B;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAYxC;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAMhC;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAU5C;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAehC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAW3C;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAwB3C;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CASpC;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAStC;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gBAAgB,EACtB,EAAE,EAAE,gBAAgB,GACnB,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAK3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/world/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,11 @@ import { attachJsonSerialization } from '../internal/json.js';
4
4
  import { requireGameAddress } from '../internal/game-context.js';
5
5
  import { attachReadMeta, readMeta } from '../internal/read-meta.js';
6
6
  import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
7
+ import { resolveCargo, } from '../registry/index.js';
8
+ import { createPlanetClaimStakePlotsSnapshot, } from './planet-claim-stake-plots.js';
9
+ import { createStarbaseStatusSnapshot, } from './starbase-status.js';
10
+ export { claimStakeTierIndex } from './planet-claim-stake-plots.js';
11
+ export { deriveStarbaseStatus, starbaseLevelIndex } from './starbase-status.js';
7
12
  const STAR_SYSTEM_SNAPSHOTS = new WeakMap();
8
13
  const CELESTIAL_BODY_SNAPSHOTS = new WeakMap();
9
14
  function directMetadata(envelope) {
@@ -63,6 +68,35 @@ function toCelestialBodySnapshot(context, envelope) {
63
68
  CELESTIAL_BODY_SNAPSHOTS.set(envelope, snapshot);
64
69
  return snapshot;
65
70
  }
71
+ async function createPlanetResourcesSnapshot(context, envelope) {
72
+ const game = requireGameAddress(context);
73
+ if (envelope.data.game !== game) {
74
+ throw new AccountDecodeError('celestialBody', envelope.address, new RangeError('The decoded CelestialBody references a different Game.'), `The CelestialBody at ${envelope.address} belongs to Game ${envelope.data.game}, not configured Game ${game}. Verify the Planet address, configured cluster, and pinned binding version before retrying.`);
75
+ }
76
+ if (envelope.data.kind !== 'planet') {
77
+ throw new AccountDecodeError('celestialBody', envelope.address, new RangeError('The decoded CelestialBody is not a Planet.'), `CelestialBody ${envelope.address} is not a Planet and has no Planet resource snapshot. Supply a Planet address before retrying.`);
78
+ }
79
+ const planet = envelope.data;
80
+ const canonicalAddress = await deriveCelestialBodyAddress(planet.game, planet.id);
81
+ if (envelope.address !== canonicalAddress) {
82
+ throw new AccountDecodeError('celestialBody', envelope.address, new RangeError('The decoded Planet is stored at a noncanonical CelestialBody address.'), `CelestialBody ${envelope.address} decoded id ${planet.id}, whose canonical CelestialBody address is ${canonicalAddress}. Refresh the Planet pointer and verify the configured cluster and pinned binding version before retrying.`);
83
+ }
84
+ const resources = await Promise.all(planet.details.resources.map(async (resource) => ({
85
+ cargo: await resolveCargo(context, resource.cargoId),
86
+ richness: resource.richness,
87
+ })));
88
+ return freezeResolvedSnapshot(attachReadMeta(attachJsonSerialization({
89
+ address: envelope.address,
90
+ bodyId: planet.id,
91
+ game: planet.game,
92
+ kind: 'planetResources',
93
+ lastSyncedAtUnixSeconds: planet.lastSyncAtUnixSeconds,
94
+ name: planet.name,
95
+ resources,
96
+ system: entityRef('starSystem', planet.system),
97
+ systemSequenceId: planet.systemSequenceId,
98
+ }), directMetadata(envelope)));
99
+ }
66
100
  function assertCelestialBodyMembership(body, system) {
67
101
  if (body.system.address !== system.address) {
68
102
  throw new AccountDecodeError('celestialBody', body.address, new RangeError('The decoded CelestialBody contradicted its StarSystem relationship.'), `CelestialBody ${body.address} references StarSystem ${body.system.address}, not requested StarSystem ${system.address}. Refresh both accounts and verify the configured cluster before retrying.`);
@@ -103,6 +137,27 @@ export async function getStarSystem(ctx, address, options) {
103
137
  requireGameAddress(ctx);
104
138
  return toStarSystemSnapshot(ctx, await ctx.data.read(starSystemAccountDefinition, address, options));
105
139
  }
140
+ /** Reads one StarSystem and derives the status of its shared Starbase.
141
+ *
142
+ * Returns `undefined` when the System exists but has no Starbase; a missing
143
+ * System account still throws. The StarSystem stays on the shared account
144
+ * cache. Upgrade materials resolve lazily through the definitions registry,
145
+ * so a Starbase at its maximum level never loads the Game definitions.
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * declare const ctx: SageContext;
150
+ * declare const system: Address;
151
+ * const status = await getStarbaseStatus(ctx, system);
152
+ * console.log(status?.level, status?.current.hullPoints);
153
+ * ```
154
+ */
155
+ export async function getStarbaseStatus(ctx, system, options) {
156
+ const snapshot = await getStarSystem(ctx, system, options);
157
+ return snapshot.starbase === undefined
158
+ ? undefined
159
+ : createStarbaseStatusSnapshot(ctx, snapshot, snapshot.starbase);
160
+ }
106
161
  /** Reads an optional StarSystem by account address.
107
162
  * @example
108
163
  * ```ts
@@ -131,18 +186,19 @@ export async function getStarSystemById(ctx, systemId, options) {
131
186
  return system;
132
187
  throw new AccountDecodeError('starSystem', system.address, new RangeError('The decoded StarSystem id contradicted the requested id.'), `StarSystem ${system.address} requested id ${systemId} but decoded id ${system.systemId}. Refresh the account and verify the configured cluster and pinned binding version before retrying.`);
133
188
  }
134
- /** Discovers all StarSystems for the configured Game with stable targeted filters.
189
+ /** Discovers StarSystems for the configured Game with stable targeted filters.
135
190
  * @example
136
191
  * ```ts
137
192
  * declare const ctx: SageContext;
138
- * const systems = await getStarSystems(ctx);
193
+ * const systems = await getStarSystems(ctx, { regionId: 3 });
139
194
  * ```
140
195
  */
141
196
  export async function getStarSystems(ctx, options = {}) {
142
197
  const game = requireGameAddress(ctx);
198
+ const { regionId, ...discoveryOptions } = options;
143
199
  const envelopes = await ctx.data.discover(starSystemAccountDefinition, {
144
- ...options,
145
- filters: buildStarSystemDiscoveryFilters(game),
200
+ ...discoveryOptions,
201
+ filters: buildStarSystemDiscoveryFilters(game, regionId),
146
202
  strategy: 'targeted-program-accounts',
147
203
  });
148
204
  const metadata = readMeta(envelopes);
@@ -161,6 +217,55 @@ export async function getCelestialBody(ctx, address, options) {
161
217
  requireGameAddress(ctx);
162
218
  return toCelestialBodySnapshot(ctx, await ctx.data.read(celestialBodyAccountDefinition, address, options));
163
219
  }
220
+ /** Reads one Planet resource observation and resolves every cargo definition.
221
+ *
222
+ * The Planet stays on the shared CelestialBody account cache. Cargo definitions
223
+ * load lazily through the registry and do not imply that the body and catalog
224
+ * were observed atomically. Unknown cargo ids reject the whole read.
225
+ *
226
+ * @example
227
+ * ```ts
228
+ * declare const ctx: SageContext;
229
+ * declare const planet: Address;
230
+ * const snapshot = await getPlanetResources(ctx, planet);
231
+ * console.log(snapshot.resources[0]?.cargo.name);
232
+ * ```
233
+ */
234
+ export async function getPlanetResources(context, planet, options) {
235
+ requireGameAddress(context);
236
+ return createPlanetResourcesSnapshot(context, await context.data.read(celestialBodyAccountDefinition, planet, options));
237
+ }
238
+ /** Reads one Planet and its StarSystem, then summarizes Claim Stake plot
239
+ * availability for every tier.
240
+ *
241
+ * The Planet and System stay on the shared account cache; Claim Stake
242
+ * definitions load lazily through the registry so each occupying structure can
243
+ * be grouped under its definition and tier. Availability is per definition,
244
+ * matching the placement planner's check. A Planet whose System has no
245
+ * Starbase still lists plot limits by level and occupied plots, but no current
246
+ * limit or availability. An Asteroid address is rejected: only Planets carry
247
+ * Claim Stake plots.
248
+ *
249
+ * @example
250
+ * ```ts
251
+ * declare const ctx: SageContext;
252
+ * declare const planet: Address;
253
+ * const plots = await getPlanetClaimStakePlots(ctx, planet);
254
+ * for (const tier of plots.tiers) {
255
+ * for (const entry of tier.definitions) {
256
+ * console.log(entry.definition.name, tier.plotLimit, entry.available);
257
+ * }
258
+ * }
259
+ * ```
260
+ */
261
+ export async function getPlanetClaimStakePlots(ctx, planet, options) {
262
+ const body = await getCelestialBody(ctx, planet, options);
263
+ if (body.kind !== 'planet') {
264
+ throw new AccountDecodeError('celestialBody', body.address, new RangeError('The decoded CelestialBody is not a Planet.'), `CelestialBody ${body.address} is an Asteroid and has no Claim Stake plots. Supply a Planet address before retrying.`);
265
+ }
266
+ const system = await getStarSystem(ctx, body.system.address, options);
267
+ return createPlanetClaimStakePlotsSnapshot(ctx, body, system);
268
+ }
164
269
  /** Reads an optional CelestialBody by account address.
165
270
  * @example
166
271
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/world/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/world/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import { type Address, type EntityRef, type SageContext } from '../client/index.js';
2
+ import type { ClaimStakeTier as C4ClaimStakeTier, GameClaimStakeDefinitionData } from '../internal/c4/claim-stake-definitions.js';
3
+ import type { WorldFixedValue, WorldStarbaseLevel } from '../internal/c4/world.js';
4
+ import type { PlanetSnapshot, StarSystemSnapshot } from './index.js';
5
+ /** Claim Stake tier label, the column axis of Planet plot tables.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const tier: ClaimStakeTier = 'two';
10
+ * ```
11
+ */
12
+ export type ClaimStakeTier = C4ClaimStakeTier;
13
+ /** Returns the zero-based column index of a Claim Stake tier.
14
+ *
15
+ * Planet plot, base rent and base placement-fee tables are indexed
16
+ * `[starbaseLevelIndex][claimStakeTierIndex]`: seven Starbase level rows and
17
+ * five tier columns.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * declare const planet: PlanetSnapshot;
22
+ * const level1TierTwo = planet.details.claimStakePlots[1]![claimStakeTierIndex('two')];
23
+ * ```
24
+ */
25
+ export declare function claimStakeTierIndex(tier: ClaimStakeTier): number;
26
+ /** One Claim Stake structure recorded on a Planet plot.
27
+ *
28
+ * `active` is true while the stored deactivation time is zero. A deactivated
29
+ * structure still occupies its plot until the program removes it from the
30
+ * Planet.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * declare const structure: PlanetClaimStakePlotStructure;
35
+ * console.log(structure.address, structure.active);
36
+ * ```
37
+ */
38
+ export interface PlanetClaimStakePlotStructure {
39
+ readonly address: Address;
40
+ readonly deactivationTimeUnixSeconds: bigint;
41
+ readonly active: boolean;
42
+ }
43
+ /** One Claim Stake definition and the plots it occupies on a Planet.
44
+ *
45
+ * `occupied` counts every structure still recorded for this definition.
46
+ * `available` is the tier's `plotLimit` minus `occupied`, clamped at zero; it
47
+ * is the per-definition check the placement planner runs
48
+ * (`claimedCount(details, definition.id)` against the tier cell) and is absent
49
+ * when the System has no Starbase. `requiredTagsProvided` is true when the
50
+ * Planet provides every tag the definition requires. Neither value is a
51
+ * complete eligibility verdict: permissions, rent, faction rules and
52
+ * concurrent placements remain chain-authoritative. `chronology` is the stored
53
+ * placement order the program uses to index structures.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * declare const entry: PlanetClaimStakePlotDefinition;
58
+ * console.log(entry.definition.name, entry.occupied, entry.available);
59
+ * ```
60
+ */
61
+ export interface PlanetClaimStakePlotDefinition {
62
+ readonly definition: GameClaimStakeDefinitionData;
63
+ readonly requiredTagsProvided: boolean;
64
+ readonly occupied: number;
65
+ readonly available?: number;
66
+ readonly structures: readonly PlanetClaimStakePlotStructure[];
67
+ readonly chronology: readonly Address[];
68
+ }
69
+ /** Plot limits for one Claim Stake tier on a Planet.
70
+ *
71
+ * `plotLimitByLevel` lists the stored plot cell for every Starbase level in
72
+ * {@link starbaseLevelIndex} order. `plotLimit`, `baseRentRate` and
73
+ * `basePlacementFee` select the row for the System's current Starbase level
74
+ * and are absent when the System has no Starbase. The limit applies per
75
+ * definition: the placement planner compares one definition's recorded
76
+ * structures against this cell, so each entry in `definitions` carries its own
77
+ * `occupied` and `available`. Whether the program also caps the tier as a
78
+ * whole is not established by the pinned contract, so no tier-wide remainder is
79
+ * reported. Base rent and placement fee are the stored Planet values;
80
+ * definition multipliers and the exact settlement remain program-authoritative.
81
+ *
82
+ * @example
83
+ * ```ts
84
+ * declare const tier: PlanetClaimStakePlotTier;
85
+ * for (const entry of tier.definitions) {
86
+ * console.log(entry.definition.name, tier.plotLimit, entry.available);
87
+ * }
88
+ * ```
89
+ */
90
+ export interface PlanetClaimStakePlotTier {
91
+ readonly tier: ClaimStakeTier;
92
+ readonly tierIndex: number;
93
+ readonly plotLimitByLevel: readonly number[];
94
+ readonly plotLimit?: number;
95
+ readonly baseRentRate?: WorldFixedValue;
96
+ readonly basePlacementFee?: WorldFixedValue;
97
+ readonly definitions: readonly PlanetClaimStakePlotDefinition[];
98
+ }
99
+ /** Immutable Claim Stake plot availability of one Planet.
100
+ *
101
+ * `tiers` always holds the five Claim Stake tiers in order. `starbaseLevel`
102
+ * and `starbaseLevelIndex` come from the Planet's StarSystem and are absent
103
+ * when that System has no Starbase. Read metadata reports the older of the
104
+ * Planet and StarSystem observations.
105
+ *
106
+ * @example
107
+ * ```ts
108
+ * declare const plots: PlanetClaimStakePlotsSnapshot;
109
+ * const open = plots.tiers.flatMap((tier) =>
110
+ * tier.definitions.filter((entry) => (entry.available ?? 0) > 0),
111
+ * );
112
+ * console.log(plots.name, open.map((entry) => entry.definition.name));
113
+ * ```
114
+ */
115
+ export interface PlanetClaimStakePlotsSnapshot {
116
+ readonly kind: 'planetClaimStakePlots';
117
+ readonly address: Address;
118
+ readonly bodyId: number;
119
+ readonly name: string;
120
+ readonly game: Address;
121
+ readonly system: EntityRef<'starSystem'>;
122
+ readonly starbaseLevel?: WorldStarbaseLevel;
123
+ readonly starbaseLevelIndex?: number;
124
+ readonly providedTags: readonly number[];
125
+ readonly tiers: readonly PlanetClaimStakePlotTier[];
126
+ toJSON(): unknown;
127
+ }
128
+ /** Builds the plot availability snapshot for a loaded Planet and its System. */
129
+ export declare function createPlanetClaimStakePlotsSnapshot(context: SageContext, planet: PlanetSnapshot, system: StarSystemSnapshot): Promise<PlanetClaimStakePlotsSnapshot>;
130
+ //# sourceMappingURL=planet-claim-stake-plots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planet-claim-stake-plots.d.ts","sourceRoot":"","sources":["../../src/world/planet-claim-stake-plots.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,cAAc,IAAI,gBAAgB,EAClC,4BAA4B,EAC7B,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAEV,eAAe,EACf,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AASjC,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAU9C;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC9D,QAAQ,CAAC,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;IACxC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,SAAS,8BAA8B,EAAE,CAAC;CACjE;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACpD,MAAM,IAAI,OAAO,CAAC;CACnB;AAwBD,gFAAgF;AAChF,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,6BAA6B,CAAC,CAiFxC"}
@@ -0,0 +1,110 @@
1
+ import { entityRef, } from '../client/index.js';
2
+ import { attachJsonSerialization } from '../internal/json.js';
3
+ import { attachReadMeta, readMeta } from '../internal/read-meta.js';
4
+ import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
5
+ import { listClaimStakeDefinitions, resolveClaimStakeDefinition, } from '../registry/index.js';
6
+ import { starbaseLevelIndex } from './starbase-status.js';
7
+ const CLAIM_STAKE_TIERS = Object.freeze([
8
+ 'one',
9
+ 'two',
10
+ 'three',
11
+ 'four',
12
+ 'five',
13
+ ]);
14
+ /** Returns the zero-based column index of a Claim Stake tier.
15
+ *
16
+ * Planet plot, base rent and base placement-fee tables are indexed
17
+ * `[starbaseLevelIndex][claimStakeTierIndex]`: seven Starbase level rows and
18
+ * five tier columns.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * declare const planet: PlanetSnapshot;
23
+ * const level1TierTwo = planet.details.claimStakePlots[1]![claimStakeTierIndex('two')];
24
+ * ```
25
+ */
26
+ export function claimStakeTierIndex(tier) {
27
+ return CLAIM_STAKE_TIERS.indexOf(tier);
28
+ }
29
+ function structuresOf(group) {
30
+ return (group?.structures ?? []).map((structure) => ({
31
+ active: structure.deactivationTimeUnixSeconds === 0n,
32
+ address: structure.address,
33
+ deactivationTimeUnixSeconds: structure.deactivationTimeUnixSeconds,
34
+ }));
35
+ }
36
+ function olderMetadata(planet, system) {
37
+ return {
38
+ commitment: planet.commitment,
39
+ slot: planet.slot < system.slot ? planet.slot : system.slot,
40
+ source: planet.source,
41
+ strategy: 'direct',
42
+ };
43
+ }
44
+ /** Builds the plot availability snapshot for a loaded Planet and its System. */
45
+ export async function createPlanetClaimStakePlotsSnapshot(context, planet, system) {
46
+ const details = planet.details;
47
+ const catalog = await listClaimStakeDefinitions(context);
48
+ const groups = new Map(details.claimedPlots.map((group) => [group.key, group]));
49
+ const known = new Set(catalog.map((definition) => definition.id));
50
+ // A group keyed outside the loaded catalog forces the registry refresh and
51
+ // out-of-sync rejection that every definition lookup applies.
52
+ const refreshed = await Promise.all([...groups.keys()]
53
+ .filter((key) => !known.has(key))
54
+ .map((key) => resolveClaimStakeDefinition(context, key)));
55
+ const definitions = [...catalog, ...refreshed];
56
+ const starbase = system.starbase;
57
+ const levelIndex = starbase === undefined ? undefined : starbaseLevelIndex(starbase.level);
58
+ const tiers = CLAIM_STAKE_TIERS.map((tier, tierIndex) => {
59
+ // The pinned Planet codec fixes seven level rows and five tier columns.
60
+ const plotLimitByLevel = details.claimStakePlots.map((row) => row[tierIndex]);
61
+ const plotLimit = levelIndex === undefined ? undefined : plotLimitByLevel[levelIndex];
62
+ const entries = definitions
63
+ .filter((definition) => definition.tier === tier)
64
+ .map((definition) => {
65
+ const group = groups.get(definition.id);
66
+ const structures = structuresOf(group);
67
+ const occupied = structures.length;
68
+ return {
69
+ chronology: [...(group?.chronoAddresses ?? [])],
70
+ definition,
71
+ occupied,
72
+ ...(plotLimit === undefined
73
+ ? {}
74
+ : { available: Math.max(0, plotLimit - occupied) }),
75
+ requiredTagsProvided: definition.requiredTagIds.every((tag) => details.providedTags.includes(tag)),
76
+ structures,
77
+ };
78
+ });
79
+ if (levelIndex === undefined || plotLimit === undefined) {
80
+ return { definitions: entries, plotLimitByLevel, tier, tierIndex };
81
+ }
82
+ return {
83
+ basePlacementFee: {
84
+ ...details.baseClaimStakePlacementFee[levelIndex][tierIndex],
85
+ },
86
+ baseRentRate: {
87
+ ...details.baseClaimStakeRentRate[levelIndex][tierIndex],
88
+ },
89
+ definitions: entries,
90
+ plotLimit,
91
+ plotLimitByLevel,
92
+ tier,
93
+ tierIndex,
94
+ };
95
+ });
96
+ return freezeResolvedSnapshot(attachReadMeta(attachJsonSerialization({
97
+ address: planet.address,
98
+ bodyId: planet.id,
99
+ game: planet.game,
100
+ kind: 'planetClaimStakePlots',
101
+ name: planet.name,
102
+ providedTags: [...details.providedTags],
103
+ ...(starbase === undefined || levelIndex === undefined
104
+ ? {}
105
+ : { starbaseLevel: starbase.level, starbaseLevelIndex: levelIndex }),
106
+ system: entityRef('starSystem', system.address),
107
+ tiers,
108
+ }), olderMetadata(readMeta(planet), readMeta(system))));
109
+ }
110
+ //# sourceMappingURL=planet-claim-stake-plots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planet-claim-stake-plots.js","sourceRoot":"","sources":["../../src/world/planet-claim-stake-plots.ts"],"names":[],"mappings":"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"}