@aephia/atlas-kit 0.6.0-next.14 → 0.6.0-next.140

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 (817) hide show
  1. package/README.md +3 -1
  2. package/dist/cargo/actions/deposit.d.ts +5 -2
  3. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  4. package/dist/cargo/actions/deposit.js +60 -129
  5. package/dist/cargo/actions/deposit.js.map +1 -1
  6. package/dist/cargo/actions/index.d.ts +12 -6
  7. package/dist/cargo/actions/index.d.ts.map +1 -1
  8. package/dist/cargo/actions/index.js +97 -94
  9. package/dist/cargo/actions/index.js.map +1 -1
  10. package/dist/cargo/actions/wallet-context.d.ts +52 -3
  11. package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
  12. package/dist/cargo/actions/wallet-context.js +118 -7
  13. package/dist/cargo/actions/wallet-context.js.map +1 -1
  14. package/dist/cargo/actions/wallet-token.d.ts +1 -6
  15. package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
  16. package/dist/cargo/actions/wallet-token.js +0 -45
  17. package/dist/cargo/actions/wallet-token.js.map +1 -1
  18. package/dist/cargo/actions/withdrawal.d.ts +1 -1
  19. package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
  20. package/dist/cargo/actions/withdrawal.js +39 -168
  21. package/dist/cargo/actions/withdrawal.js.map +1 -1
  22. package/dist/cargo/index.d.ts.map +1 -1
  23. package/dist/cargo/index.js +2 -10
  24. package/dist/cargo/index.js.map +1 -1
  25. package/dist/claim-stakes/actions/index.d.ts +69 -14
  26. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  27. package/dist/claim-stakes/actions/index.js +613 -697
  28. package/dist/claim-stakes/actions/index.js.map +1 -1
  29. package/dist/claim-stakes/index.d.ts +21 -6
  30. package/dist/claim-stakes/index.d.ts.map +1 -1
  31. package/dist/claim-stakes/index.js +33 -19
  32. package/dist/claim-stakes/index.js.map +1 -1
  33. package/dist/client/context.d.ts.map +1 -1
  34. package/dist/client/context.js +1 -1
  35. package/dist/client/context.js.map +1 -1
  36. package/dist/client/contracts.d.ts +16 -6
  37. package/dist/client/contracts.d.ts.map +1 -1
  38. package/dist/client/errors.d.ts +2 -2
  39. package/dist/client/errors.d.ts.map +1 -1
  40. package/dist/client/errors.js.map +1 -1
  41. package/dist/client/index.d.ts +35 -0
  42. package/dist/client/index.d.ts.map +1 -1
  43. package/dist/client/index.js +35 -0
  44. package/dist/client/index.js.map +1 -1
  45. package/dist/client/rpc-subscription-provider.d.ts +35 -0
  46. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  47. package/dist/client/rpc-subscription-provider.js +190 -0
  48. package/dist/client/rpc-subscription-provider.js.map +1 -0
  49. package/dist/combat/actions/index.d.ts +24 -12
  50. package/dist/combat/actions/index.d.ts.map +1 -1
  51. package/dist/combat/actions/index.js +286 -280
  52. package/dist/combat/actions/index.js.map +1 -1
  53. package/dist/combat/index.d.ts +25 -8
  54. package/dist/combat/index.d.ts.map +1 -1
  55. package/dist/combat/index.js +21 -18
  56. package/dist/combat/index.js.map +1 -1
  57. package/dist/crafting/actions/index.d.ts +28 -18
  58. package/dist/crafting/actions/index.d.ts.map +1 -1
  59. package/dist/crafting/actions/index.js +297 -352
  60. package/dist/crafting/actions/index.js.map +1 -1
  61. package/dist/crafting/index.d.ts +33 -3
  62. package/dist/crafting/index.d.ts.map +1 -1
  63. package/dist/crafting/index.js +49 -28
  64. package/dist/crafting/index.js.map +1 -1
  65. package/dist/factions/actions/index.d.ts +2 -1
  66. package/dist/factions/actions/index.d.ts.map +1 -1
  67. package/dist/factions/actions/index.js +6 -4
  68. package/dist/factions/actions/index.js.map +1 -1
  69. package/dist/factions/index.d.ts +6 -1
  70. package/dist/factions/index.d.ts.map +1 -1
  71. package/dist/factions/index.js +16 -18
  72. package/dist/factions/index.js.map +1 -1
  73. package/dist/factions/profile-faction.d.ts +20 -8
  74. package/dist/factions/profile-faction.d.ts.map +1 -1
  75. package/dist/factions/profile-faction.js +20 -8
  76. package/dist/factions/profile-faction.js.map +1 -1
  77. package/dist/fleets/actions/add-ship.d.ts +46 -0
  78. package/dist/fleets/actions/add-ship.d.ts.map +1 -0
  79. package/dist/fleets/actions/add-ship.js +131 -0
  80. package/dist/fleets/actions/add-ship.js.map +1 -0
  81. package/dist/fleets/actions/create-fleet.d.ts +36 -0
  82. package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
  83. package/dist/fleets/actions/create-fleet.js +108 -0
  84. package/dist/fleets/actions/create-fleet.js.map +1 -0
  85. package/dist/fleets/actions/crew-transfer.d.ts +42 -0
  86. package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
  87. package/dist/fleets/actions/crew-transfer.js +95 -0
  88. package/dist/fleets/actions/crew-transfer.js.map +1 -0
  89. package/dist/fleets/actions/dock-bounds.d.ts +38 -0
  90. package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
  91. package/dist/fleets/actions/dock-bounds.js +46 -0
  92. package/dist/fleets/actions/dock-bounds.js.map +1 -0
  93. package/dist/fleets/actions/index.d.ts +81 -25
  94. package/dist/fleets/actions/index.d.ts.map +1 -1
  95. package/dist/fleets/actions/index.js +483 -353
  96. package/dist/fleets/actions/index.js.map +1 -1
  97. package/dist/fleets/actions/respawn.d.ts +38 -0
  98. package/dist/fleets/actions/respawn.d.ts.map +1 -0
  99. package/dist/fleets/actions/respawn.js +93 -0
  100. package/dist/fleets/actions/respawn.js.map +1 -0
  101. package/dist/fleets/actions/ship-import.d.ts +1 -1
  102. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  103. package/dist/fleets/actions/ship-import.js +61 -90
  104. package/dist/fleets/actions/ship-import.js.map +1 -1
  105. package/dist/fleets/cooldown.d.ts +47 -0
  106. package/dist/fleets/cooldown.d.ts.map +1 -0
  107. package/dist/fleets/cooldown.js +48 -0
  108. package/dist/fleets/cooldown.js.map +1 -0
  109. package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
  110. package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
  111. package/dist/fleets/coordinate-warp-estimate.js +46 -0
  112. package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
  113. package/dist/fleets/index.d.ts +35 -0
  114. package/dist/fleets/index.d.ts.map +1 -1
  115. package/dist/fleets/index.js +54 -12
  116. package/dist/fleets/index.js.map +1 -1
  117. package/dist/fleets/movement-arithmetic.d.ts +21 -0
  118. package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
  119. package/dist/fleets/movement-arithmetic.js +45 -0
  120. package/dist/fleets/movement-arithmetic.js.map +1 -0
  121. package/dist/fleets/subwarp-estimate.d.ts +72 -0
  122. package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
  123. package/dist/fleets/subwarp-estimate.js +40 -0
  124. package/dist/fleets/subwarp-estimate.js.map +1 -0
  125. package/dist/fleets/travel-profile.d.ts +102 -0
  126. package/dist/fleets/travel-profile.d.ts.map +1 -0
  127. package/dist/fleets/travel-profile.js +120 -0
  128. package/dist/fleets/travel-profile.js.map +1 -0
  129. package/dist/fleets/warp-lane-estimate.d.ts +59 -0
  130. package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
  131. package/dist/fleets/warp-lane-estimate.js +36 -0
  132. package/dist/fleets/warp-lane-estimate.js.map +1 -0
  133. package/dist/fleets/warp-lane-policy.d.ts +74 -0
  134. package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
  135. package/dist/fleets/warp-lane-policy.js +103 -0
  136. package/dist/fleets/warp-lane-policy.js.map +1 -0
  137. package/dist/fleets/warp-lane-toll.d.ts +55 -0
  138. package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
  139. package/dist/fleets/warp-lane-toll.js +79 -0
  140. package/dist/fleets/warp-lane-toll.js.map +1 -0
  141. package/dist/identity/actions/create-profile.d.ts +1 -1
  142. package/dist/identity/actions/create-profile.d.ts.map +1 -1
  143. package/dist/identity/actions/create-profile.js +2 -2
  144. package/dist/identity/actions/create-profile.js.map +1 -1
  145. package/dist/identity/actions/index.d.ts +5 -4
  146. package/dist/identity/actions/index.d.ts.map +1 -1
  147. package/dist/identity/actions/index.js +52 -29
  148. package/dist/identity/actions/index.js.map +1 -1
  149. package/dist/identity/actions/research-unlock.d.ts +61 -0
  150. package/dist/identity/actions/research-unlock.d.ts.map +1 -0
  151. package/dist/identity/actions/research-unlock.js +166 -0
  152. package/dist/identity/actions/research-unlock.js.map +1 -0
  153. package/dist/identity/index.d.ts +5 -2
  154. package/dist/identity/index.d.ts.map +1 -1
  155. package/dist/identity/index.js +6 -12
  156. package/dist/identity/index.js.map +1 -1
  157. package/dist/identity/research-state.d.ts +60 -0
  158. package/dist/identity/research-state.d.ts.map +1 -0
  159. package/dist/identity/research-state.js +68 -0
  160. package/dist/identity/research-state.js.map +1 -0
  161. package/dist/index.d.ts +26 -1
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +24 -7
  164. package/dist/index.js.map +1 -1
  165. package/dist/internal/c4/account-decoding.d.ts +49 -0
  166. package/dist/internal/c4/account-decoding.d.ts.map +1 -0
  167. package/dist/internal/c4/account-decoding.js +74 -0
  168. package/dist/internal/c4/account-decoding.js.map +1 -0
  169. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  170. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  171. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  172. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  173. package/dist/internal/c4/cargo-instructions.d.ts +24 -0
  174. package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
  175. package/dist/internal/c4/cargo-instructions.js +30 -0
  176. package/dist/internal/c4/cargo-instructions.js.map +1 -0
  177. package/dist/internal/c4/cargo-pod.d.ts +15 -0
  178. package/dist/internal/c4/cargo-pod.d.ts.map +1 -0
  179. package/dist/internal/c4/cargo-pod.js +13 -0
  180. package/dist/internal/c4/cargo-pod.js.map +1 -0
  181. package/dist/internal/c4/character-modifier.d.ts +1 -1
  182. package/dist/internal/c4/character-modifier.d.ts.map +1 -1
  183. package/dist/internal/c4/character-registration.d.ts +2 -0
  184. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  185. package/dist/internal/c4/character-registration.js +2 -0
  186. package/dist/internal/c4/character-registration.js.map +1 -1
  187. package/dist/internal/c4/character.d.ts +157 -0
  188. package/dist/internal/c4/character.d.ts.map +1 -0
  189. package/dist/internal/c4/character.js +64 -0
  190. package/dist/internal/c4/character.js.map +1 -0
  191. package/dist/internal/c4/claim-stake-building-definitions.d.ts.map +1 -1
  192. package/dist/internal/c4/claim-stake-building-definitions.js +2 -1
  193. package/dist/internal/c4/claim-stake-building-definitions.js.map +1 -1
  194. package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -1
  195. package/dist/internal/c4/claim-stake-configuration.js +5 -36
  196. package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
  197. package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
  198. package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
  199. package/dist/internal/c4/claim-stake-definitions.js +2 -1
  200. package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
  201. package/dist/internal/c4/claim-stake-plots.d.ts +17 -0
  202. package/dist/internal/c4/claim-stake-plots.d.ts.map +1 -0
  203. package/dist/internal/c4/claim-stake-plots.js +29 -0
  204. package/dist/internal/c4/claim-stake-plots.js.map +1 -0
  205. package/dist/internal/c4/claim-stake.d.ts +13 -33
  206. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  207. package/dist/internal/c4/claim-stake.js +49 -94
  208. package/dist/internal/c4/claim-stake.js.map +1 -1
  209. package/dist/internal/c4/combat.d.ts +1 -82
  210. package/dist/internal/c4/combat.d.ts.map +1 -1
  211. package/dist/internal/c4/combat.js +16 -213
  212. package/dist/internal/c4/combat.js.map +1 -1
  213. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  214. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  215. package/dist/internal/c4/crafting-process-codec.js +34 -0
  216. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  217. package/dist/internal/c4/crafting-storage.d.ts +20 -0
  218. package/dist/internal/c4/crafting-storage.d.ts.map +1 -0
  219. package/dist/internal/c4/crafting-storage.js +54 -0
  220. package/dist/internal/c4/crafting-storage.js.map +1 -0
  221. package/dist/internal/c4/crafting.d.ts +30 -33
  222. package/dist/internal/c4/crafting.d.ts.map +1 -1
  223. package/dist/internal/c4/crafting.js +76 -127
  224. package/dist/internal/c4/crafting.js.map +1 -1
  225. package/dist/internal/c4/currency-cache.d.ts +6 -0
  226. package/dist/internal/c4/currency-cache.d.ts.map +1 -0
  227. package/dist/internal/c4/currency-cache.js +27 -0
  228. package/dist/internal/c4/currency-cache.js.map +1 -0
  229. package/dist/internal/c4/discriminators.d.ts +89 -0
  230. package/dist/internal/c4/discriminators.d.ts.map +1 -0
  231. package/dist/internal/c4/discriminators.js +182 -0
  232. package/dist/internal/c4/discriminators.js.map +1 -0
  233. package/dist/internal/c4/docking-funding.d.ts +4 -0
  234. package/dist/internal/c4/docking-funding.d.ts.map +1 -0
  235. package/dist/internal/c4/docking-funding.js +11 -0
  236. package/dist/internal/c4/docking-funding.js.map +1 -0
  237. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  238. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  239. package/dist/internal/c4/faction-epoch-meter.js +26 -0
  240. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  241. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  242. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  243. package/dist/internal/c4/faction-treasury.js +41 -0
  244. package/dist/internal/c4/faction-treasury.js.map +1 -0
  245. package/dist/internal/c4/faction.d.ts +21 -0
  246. package/dist/internal/c4/faction.d.ts.map +1 -0
  247. package/dist/internal/c4/faction.js +23 -0
  248. package/dist/internal/c4/faction.js.map +1 -0
  249. package/dist/internal/c4/factions.d.ts +15 -57
  250. package/dist/internal/c4/factions.d.ts.map +1 -1
  251. package/dist/internal/c4/factions.js +80 -223
  252. package/dist/internal/c4/factions.js.map +1 -1
  253. package/dist/internal/c4/fleet-arrival.d.ts +28 -0
  254. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  255. package/dist/internal/c4/fleet-arrival.js +42 -0
  256. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  257. package/dist/internal/c4/fleet-creation.d.ts +7 -0
  258. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  259. package/dist/internal/c4/fleet-creation.js +171 -0
  260. package/dist/internal/c4/fleet-creation.js.map +1 -0
  261. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  262. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  263. package/dist/internal/c4/fleet-crew-binding.js +31 -44
  264. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  265. package/dist/internal/c4/fleet-respawn.d.ts +17 -0
  266. package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
  267. package/dist/internal/c4/fleet-respawn.js +62 -0
  268. package/dist/internal/c4/fleet-respawn.js.map +1 -0
  269. package/dist/internal/c4/fleet-ship-assembly.d.ts +27 -0
  270. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  271. package/dist/internal/c4/fleet-ship-assembly.js +94 -0
  272. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  273. package/dist/internal/c4/fleet-storage.d.ts +42 -0
  274. package/dist/internal/c4/fleet-storage.d.ts.map +1 -0
  275. package/dist/internal/c4/fleet-storage.js +108 -0
  276. package/dist/internal/c4/fleet-storage.js.map +1 -0
  277. package/dist/internal/c4/fleet.d.ts +59 -22
  278. package/dist/internal/c4/fleet.d.ts.map +1 -1
  279. package/dist/internal/c4/fleet.js +50 -87
  280. package/dist/internal/c4/fleet.js.map +1 -1
  281. package/dist/internal/c4/game-definition-layout.d.ts +2 -0
  282. package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
  283. package/dist/internal/c4/game-definition-layout.js +4 -0
  284. package/dist/internal/c4/game-definition-layout.js.map +1 -1
  285. package/dist/internal/c4/game.d.ts +117 -32
  286. package/dist/internal/c4/game.d.ts.map +1 -1
  287. package/dist/internal/c4/game.js +227 -130
  288. package/dist/internal/c4/game.js.map +1 -1
  289. package/dist/internal/c4/identity.d.ts +3 -152
  290. package/dist/internal/c4/identity.d.ts.map +1 -1
  291. package/dist/internal/c4/identity.js +19 -126
  292. package/dist/internal/c4/identity.js.map +1 -1
  293. package/dist/internal/c4/local-market-order.d.ts +29 -0
  294. package/dist/internal/c4/local-market-order.d.ts.map +1 -0
  295. package/dist/internal/c4/local-market-order.js +46 -0
  296. package/dist/internal/c4/local-market-order.js.map +1 -0
  297. package/dist/internal/c4/loot-layout.js +1 -1
  298. package/dist/internal/c4/loot-layout.js.map +1 -1
  299. package/dist/internal/c4/loot.d.ts +89 -0
  300. package/dist/internal/c4/loot.d.ts.map +1 -0
  301. package/dist/internal/c4/loot.js +109 -0
  302. package/dist/internal/c4/loot.js.map +1 -0
  303. package/dist/internal/c4/loyalty.d.ts +2 -28
  304. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  305. package/dist/internal/c4/loyalty.js +36 -161
  306. package/dist/internal/c4/loyalty.js.map +1 -1
  307. package/dist/internal/c4/market-storage.d.ts +25 -0
  308. package/dist/internal/c4/market-storage.d.ts.map +1 -0
  309. package/dist/internal/c4/market-storage.js +53 -0
  310. package/dist/internal/c4/market-storage.js.map +1 -0
  311. package/dist/internal/c4/market.d.ts +2 -38
  312. package/dist/internal/c4/market.d.ts.map +1 -1
  313. package/dist/internal/c4/market.js +26 -120
  314. package/dist/internal/c4/market.js.map +1 -1
  315. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  316. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  317. package/dist/internal/c4/mining-instructions.js +3 -0
  318. package/dist/internal/c4/mining-instructions.js.map +1 -0
  319. package/dist/internal/c4/open-signal.d.ts +8 -0
  320. package/dist/internal/c4/open-signal.d.ts.map +1 -0
  321. package/dist/internal/c4/open-signal.js +37 -0
  322. package/dist/internal/c4/open-signal.js.map +1 -0
  323. package/dist/internal/c4/pda.d.ts +43 -0
  324. package/dist/internal/c4/pda.d.ts.map +1 -1
  325. package/dist/internal/c4/pda.js +83 -17
  326. package/dist/internal/c4/pda.js.map +1 -1
  327. package/dist/internal/c4/profile-faction.d.ts +2 -1
  328. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  329. package/dist/internal/c4/profile-faction.js +36 -72
  330. package/dist/internal/c4/profile-faction.js.map +1 -1
  331. package/dist/internal/c4/profile-permissions.d.ts +1 -1
  332. package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
  333. package/dist/internal/c4/profile-permissions.js +4 -1
  334. package/dist/internal/c4/profile-permissions.js.map +1 -1
  335. package/dist/internal/c4/region-geometry.d.ts +8 -0
  336. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  337. package/dist/internal/c4/region-geometry.js +43 -0
  338. package/dist/internal/c4/region-geometry.js.map +1 -0
  339. package/dist/internal/c4/rewards.d.ts +1 -61
  340. package/dist/internal/c4/rewards.d.ts.map +1 -1
  341. package/dist/internal/c4/rewards.js +23 -203
  342. package/dist/internal/c4/rewards.js.map +1 -1
  343. package/dist/internal/c4/runtime-bindings.d.ts +4 -0
  344. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  345. package/dist/internal/c4/runtime-bindings.js +4 -0
  346. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  347. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  348. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  349. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  350. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  351. package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
  352. package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
  353. package/dist/internal/c4/scan-lifecycle.js +235 -0
  354. package/dist/internal/c4/scan-lifecycle.js.map +1 -0
  355. package/dist/internal/c4/scanning.d.ts +4 -41
  356. package/dist/internal/c4/scanning.d.ts.map +1 -1
  357. package/dist/internal/c4/scanning.js +27 -108
  358. package/dist/internal/c4/scanning.js.map +1 -1
  359. package/dist/internal/c4/ship-import.d.ts +4 -0
  360. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  361. package/dist/internal/c4/ship-import.js +13 -0
  362. package/dist/internal/c4/ship-import.js.map +1 -0
  363. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  364. package/dist/internal/c4/ship-stats.js +46 -44
  365. package/dist/internal/c4/ship-stats.js.map +1 -1
  366. package/dist/internal/c4/starbase.d.ts +0 -32
  367. package/dist/internal/c4/starbase.d.ts.map +1 -1
  368. package/dist/internal/c4/starbase.js +26 -136
  369. package/dist/internal/c4/starbase.js.map +1 -1
  370. package/dist/internal/c4/stimulant.d.ts +24 -0
  371. package/dist/internal/c4/stimulant.d.ts.map +1 -0
  372. package/dist/internal/c4/stimulant.js +32 -0
  373. package/dist/internal/c4/stimulant.js.map +1 -0
  374. package/dist/internal/c4/wallet-cargo-cache.js +2 -1
  375. package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
  376. package/dist/internal/c4/world.d.ts +37 -7
  377. package/dist/internal/c4/world.d.ts.map +1 -1
  378. package/dist/internal/c4/world.js +87 -129
  379. package/dist/internal/c4/world.js.map +1 -1
  380. package/dist/internal/cargo.d.ts +2 -0
  381. package/dist/internal/cargo.d.ts.map +1 -1
  382. package/dist/internal/cargo.js +8 -0
  383. package/dist/internal/cargo.js.map +1 -1
  384. package/dist/internal/fleet-route.d.ts +12 -0
  385. package/dist/internal/fleet-route.d.ts.map +1 -0
  386. package/dist/internal/fleet-route.js +11 -0
  387. package/dist/internal/fleet-route.js.map +1 -0
  388. package/dist/internal/fleet.d.ts +1 -0
  389. package/dist/internal/fleet.d.ts.map +1 -1
  390. package/dist/internal/fleet.js +3 -1
  391. package/dist/internal/fleet.js.map +1 -1
  392. package/dist/internal/loyalty-atlas-bank-state.d.ts +17 -0
  393. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  394. package/dist/internal/loyalty-atlas-bank-state.js +11 -0
  395. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  396. package/dist/internal/planning/account-state.d.ts +6 -0
  397. package/dist/internal/planning/account-state.d.ts.map +1 -1
  398. package/dist/internal/planning/account-state.js +13 -0
  399. package/dist/internal/planning/account-state.js.map +1 -1
  400. package/dist/internal/planning/action-runtime.d.ts +38 -0
  401. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  402. package/dist/internal/planning/action-runtime.js +63 -0
  403. package/dist/internal/planning/action-runtime.js.map +1 -0
  404. package/dist/internal/planning/arrival-guards.d.ts +19 -0
  405. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  406. package/dist/internal/planning/arrival-guards.js +172 -0
  407. package/dist/internal/planning/arrival-guards.js.map +1 -0
  408. package/dist/internal/planning/authorization-adapter.d.ts +55 -37
  409. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  410. package/dist/internal/planning/authorization-adapter.js +231 -81
  411. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  412. package/dist/internal/planning/cargo-storage-actions.d.ts +8 -0
  413. package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -0
  414. package/dist/internal/planning/cargo-storage-actions.js +97 -0
  415. package/dist/internal/planning/cargo-storage-actions.js.map +1 -0
  416. package/dist/internal/planning/character-registration-guard.d.ts +4 -0
  417. package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
  418. package/dist/internal/planning/character-registration-guard.js +59 -0
  419. package/dist/internal/planning/character-registration-guard.js.map +1 -0
  420. package/dist/internal/planning/character-registration.d.ts +23 -0
  421. package/dist/internal/planning/character-registration.d.ts.map +1 -0
  422. package/dist/internal/planning/character-registration.js +87 -0
  423. package/dist/internal/planning/character-registration.js.map +1 -0
  424. package/dist/internal/planning/crafting-storage-actions.d.ts +7 -0
  425. package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -0
  426. package/dist/internal/planning/crafting-storage-actions.js +64 -0
  427. package/dist/internal/planning/crafting-storage-actions.js.map +1 -0
  428. package/dist/internal/planning/currency-cache-guard.d.ts +4 -0
  429. package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
  430. package/dist/internal/planning/currency-cache-guard.js +34 -0
  431. package/dist/internal/planning/currency-cache-guard.js.map +1 -0
  432. package/dist/internal/planning/democracy-history.d.ts +50 -0
  433. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  434. package/dist/internal/planning/democracy-history.js +189 -0
  435. package/dist/internal/planning/democracy-history.js.map +1 -0
  436. package/dist/internal/planning/direct-options.d.ts +17 -0
  437. package/dist/internal/planning/direct-options.d.ts.map +1 -0
  438. package/dist/internal/planning/direct-options.js +43 -0
  439. package/dist/internal/planning/direct-options.js.map +1 -0
  440. package/dist/internal/planning/faction-enrollment.d.ts +0 -4
  441. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  442. package/dist/internal/planning/faction-enrollment.js +1 -31
  443. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  444. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  445. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  446. package/dist/internal/planning/faction-trade-guards.js +15 -0
  447. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  448. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  449. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  450. package/dist/internal/planning/faction-trade-state.js +43 -0
  451. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  452. package/dist/internal/planning/fleet-arrival.d.ts +40 -0
  453. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  454. package/dist/internal/planning/fleet-arrival.js +107 -0
  455. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  456. package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
  457. package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
  458. package/dist/internal/planning/fleet-attack-xp.js +104 -0
  459. package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
  460. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  461. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  462. package/dist/internal/planning/fleet-creation.js +89 -0
  463. package/dist/internal/planning/fleet-creation.js.map +1 -0
  464. package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
  465. package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
  466. package/dist/internal/planning/fleet-crew-guard.js +48 -0
  467. package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
  468. package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
  469. package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
  470. package/dist/internal/planning/fleet-crew-transfer.js +129 -0
  471. package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
  472. package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
  473. package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
  474. package/dist/internal/planning/fleet-dock-funding-guard.js +209 -0
  475. package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
  476. package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
  477. package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
  478. package/dist/internal/planning/fleet-dock-funding.js +164 -0
  479. package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
  480. package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
  481. package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
  482. package/dist/internal/planning/fleet-docking-guard.js +44 -0
  483. package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
  484. package/dist/internal/planning/fleet-docking.d.ts +25 -0
  485. package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
  486. package/dist/internal/planning/fleet-docking.js +106 -0
  487. package/dist/internal/planning/fleet-docking.js.map +1 -0
  488. package/dist/internal/planning/fleet-respawn.d.ts +28 -0
  489. package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
  490. package/dist/internal/planning/fleet-respawn.js +164 -0
  491. package/dist/internal/planning/fleet-respawn.js.map +1 -0
  492. package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
  493. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  494. package/dist/internal/planning/fleet-ship-assembly.js +158 -0
  495. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  496. package/dist/internal/planning/fleet-state.d.ts +25 -0
  497. package/dist/internal/planning/fleet-state.d.ts.map +1 -0
  498. package/dist/internal/planning/fleet-state.js +28 -0
  499. package/dist/internal/planning/fleet-state.js.map +1 -0
  500. package/dist/internal/planning/governance-fees.d.ts +64 -0
  501. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  502. package/dist/internal/planning/governance-fees.js +231 -0
  503. package/dist/internal/planning/governance-fees.js.map +1 -0
  504. package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
  505. package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
  506. package/dist/internal/planning/local-market-order-funding.js +128 -0
  507. package/dist/internal/planning/local-market-order-funding.js.map +1 -0
  508. package/dist/internal/planning/local-market-order.d.ts +40 -0
  509. package/dist/internal/planning/local-market-order.d.ts.map +1 -0
  510. package/dist/internal/planning/local-market-order.js +139 -0
  511. package/dist/internal/planning/local-market-order.js.map +1 -0
  512. package/dist/internal/planning/market-storage-actions.d.ts +7 -0
  513. package/dist/internal/planning/market-storage-actions.d.ts.map +1 -0
  514. package/dist/internal/planning/market-storage-actions.js +71 -0
  515. package/dist/internal/planning/market-storage-actions.js.map +1 -0
  516. package/dist/internal/planning/mining-stop.d.ts +14 -0
  517. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  518. package/dist/internal/planning/mining-stop.js +42 -0
  519. package/dist/internal/planning/mining-stop.js.map +1 -0
  520. package/dist/internal/planning/mining-storage-actions.d.ts +11 -0
  521. package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -0
  522. package/dist/internal/planning/mining-storage-actions.js +57 -0
  523. package/dist/internal/planning/mining-storage-actions.js.map +1 -0
  524. package/dist/internal/planning/movement-character.d.ts +7 -0
  525. package/dist/internal/planning/movement-character.d.ts.map +1 -0
  526. package/dist/internal/planning/movement-character.js +41 -0
  527. package/dist/internal/planning/movement-character.js.map +1 -0
  528. package/dist/internal/planning/movement-storage-actions.d.ts +7 -0
  529. package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -0
  530. package/dist/internal/planning/movement-storage-actions.js +38 -0
  531. package/dist/internal/planning/movement-storage-actions.js.map +1 -0
  532. package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
  533. package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
  534. package/dist/internal/planning/movement-xp-guard.js +104 -0
  535. package/dist/internal/planning/movement-xp-guard.js.map +1 -0
  536. package/dist/internal/planning/open-signal-guard.d.ts +3 -0
  537. package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
  538. package/dist/internal/planning/open-signal-guard.js +32 -0
  539. package/dist/internal/planning/open-signal-guard.js.map +1 -0
  540. package/dist/internal/planning/open-signal.d.ts +31 -0
  541. package/dist/internal/planning/open-signal.d.ts.map +1 -0
  542. package/dist/internal/planning/open-signal.js +94 -0
  543. package/dist/internal/planning/open-signal.js.map +1 -0
  544. package/dist/internal/planning/original-token.d.ts +40 -0
  545. package/dist/internal/planning/original-token.d.ts.map +1 -0
  546. package/dist/internal/planning/original-token.js +112 -0
  547. package/dist/internal/planning/original-token.js.map +1 -0
  548. package/dist/internal/planning/own-starbase-facts.d.ts +37 -0
  549. package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -0
  550. package/dist/internal/planning/own-starbase-facts.js +52 -0
  551. package/dist/internal/planning/own-starbase-facts.js.map +1 -0
  552. package/dist/internal/planning/plan-fields.d.ts +60 -0
  553. package/dist/internal/planning/plan-fields.d.ts.map +1 -0
  554. package/dist/internal/planning/plan-fields.js +159 -0
  555. package/dist/internal/planning/plan-fields.js.map +1 -0
  556. package/dist/internal/planning/plan-guards.d.ts +4 -0
  557. package/dist/internal/planning/plan-guards.d.ts.map +1 -0
  558. package/dist/internal/planning/plan-guards.js +177 -0
  559. package/dist/internal/planning/plan-guards.js.map +1 -0
  560. package/dist/internal/planning/profile-key.d.ts +13 -0
  561. package/dist/internal/planning/profile-key.d.ts.map +1 -0
  562. package/dist/internal/planning/profile-key.js +20 -0
  563. package/dist/internal/planning/profile-key.js.map +1 -0
  564. package/dist/internal/planning/profile-storage-funding-guard.d.ts +28 -0
  565. package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
  566. package/dist/internal/planning/profile-storage-funding-guard.js +73 -0
  567. package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
  568. package/dist/internal/planning/profile-storage-funding.d.ts +46 -0
  569. package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
  570. package/dist/internal/planning/profile-storage-funding.js +58 -0
  571. package/dist/internal/planning/profile-storage-funding.js.map +1 -0
  572. package/dist/internal/planning/recipe-state.d.ts +9 -0
  573. package/dist/internal/planning/recipe-state.d.ts.map +1 -0
  574. package/dist/internal/planning/recipe-state.js +23 -0
  575. package/dist/internal/planning/recipe-state.js.map +1 -0
  576. package/dist/internal/planning/rent-catalog.d.ts +37 -0
  577. package/dist/internal/planning/rent-catalog.d.ts.map +1 -0
  578. package/dist/internal/planning/rent-catalog.js +165 -0
  579. package/dist/internal/planning/rent-catalog.js.map +1 -0
  580. package/dist/internal/planning/rent.d.ts +19 -0
  581. package/dist/internal/planning/rent.d.ts.map +1 -0
  582. package/dist/internal/planning/rent.js +35 -0
  583. package/dist/internal/planning/rent.js.map +1 -0
  584. package/dist/internal/planning/research-unlock.d.ts +69 -0
  585. package/dist/internal/planning/research-unlock.d.ts.map +1 -0
  586. package/dist/internal/planning/research-unlock.js +287 -0
  587. package/dist/internal/planning/research-unlock.js.map +1 -0
  588. package/dist/internal/planning/respawn-guards.d.ts +3 -0
  589. package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
  590. package/dist/internal/planning/respawn-guards.js +42 -0
  591. package/dist/internal/planning/respawn-guards.js.map +1 -0
  592. package/dist/internal/planning/runtime-guards.d.ts +41 -0
  593. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  594. package/dist/internal/planning/runtime-guards.js +658 -0
  595. package/dist/internal/planning/runtime-guards.js.map +1 -0
  596. package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
  597. package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
  598. package/dist/internal/planning/scan-completion-guard.js +95 -0
  599. package/dist/internal/planning/scan-completion-guard.js.map +1 -0
  600. package/dist/internal/planning/scan-completion.d.ts +20 -0
  601. package/dist/internal/planning/scan-completion.d.ts.map +1 -0
  602. package/dist/internal/planning/scan-completion.js +198 -0
  603. package/dist/internal/planning/scan-completion.js.map +1 -0
  604. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  605. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  606. package/dist/internal/planning/scan-detect-guard.js +77 -0
  607. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  608. package/dist/internal/planning/scan-detect.d.ts +24 -0
  609. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  610. package/dist/internal/planning/scan-detect.js +246 -0
  611. package/dist/internal/planning/scan-detect.js.map +1 -0
  612. package/dist/internal/planning/scan-idle-scope.d.ts +5 -0
  613. package/dist/internal/planning/scan-idle-scope.d.ts.map +1 -0
  614. package/dist/internal/planning/scan-idle-scope.js +5 -0
  615. package/dist/internal/planning/scan-idle-scope.js.map +1 -0
  616. package/dist/internal/planning/scan-input.d.ts +9 -0
  617. package/dist/internal/planning/scan-input.d.ts.map +1 -0
  618. package/dist/internal/planning/scan-input.js +58 -0
  619. package/dist/internal/planning/scan-input.js.map +1 -0
  620. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  621. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  622. package/dist/internal/planning/ship-import-funding.js +53 -0
  623. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  624. package/dist/internal/planning/ship-token.d.ts +1 -6
  625. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  626. package/dist/internal/planning/ship-token.js +0 -37
  627. package/dist/internal/planning/ship-token.js.map +1 -1
  628. package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
  629. package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
  630. package/dist/internal/planning/starbase-player-owner.js +17 -0
  631. package/dist/internal/planning/starbase-player-owner.js.map +1 -0
  632. package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
  633. package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
  634. package/dist/internal/planning/starbase-system-guard.js +94 -0
  635. package/dist/internal/planning/starbase-system-guard.js.map +1 -0
  636. package/dist/internal/planning/starbase-system.d.ts +15 -0
  637. package/dist/internal/planning/starbase-system.d.ts.map +1 -0
  638. package/dist/internal/planning/starbase-system.js +25 -0
  639. package/dist/internal/planning/starbase-system.js.map +1 -0
  640. package/dist/internal/planning/storage-action-readers.d.ts +10 -0
  641. package/dist/internal/planning/storage-action-readers.d.ts.map +1 -0
  642. package/dist/internal/planning/storage-action-readers.js +36 -0
  643. package/dist/internal/planning/storage-action-readers.js.map +1 -0
  644. package/dist/internal/planning/storage-actions.d.ts +85 -0
  645. package/dist/internal/planning/storage-actions.d.ts.map +1 -0
  646. package/dist/internal/planning/storage-actions.js +183 -0
  647. package/dist/internal/planning/storage-actions.js.map +1 -0
  648. package/dist/internal/planning/token-mint.d.ts.map +1 -1
  649. package/dist/internal/planning/token-mint.js +2 -1
  650. package/dist/internal/planning/token-mint.js.map +1 -1
  651. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  652. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  653. package/dist/internal/planning/trade-faction-market.js +56 -0
  654. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  655. package/dist/internal/planning/wallet-starbase.d.ts +34 -0
  656. package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
  657. package/dist/internal/planning/wallet-starbase.js +39 -0
  658. package/dist/internal/planning/wallet-starbase.js.map +1 -0
  659. package/dist/internal/planning/xp-runtime.d.ts +36 -0
  660. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  661. package/dist/internal/planning/xp-runtime.js +122 -0
  662. package/dist/internal/planning/xp-runtime.js.map +1 -0
  663. package/dist/internal/read-meta.d.ts +12 -0
  664. package/dist/internal/read-meta.d.ts.map +1 -1
  665. package/dist/internal/read-meta.js +10 -0
  666. package/dist/internal/read-meta.js.map +1 -1
  667. package/dist/internal/system-program.d.ts +4 -0
  668. package/dist/internal/system-program.d.ts.map +1 -0
  669. package/dist/internal/system-program.js +3 -0
  670. package/dist/internal/system-program.js.map +1 -0
  671. package/dist/loyalty/actions/index.d.ts +1 -1
  672. package/dist/loyalty/actions/index.d.ts.map +1 -1
  673. package/dist/loyalty/actions/index.js +16 -46
  674. package/dist/loyalty/actions/index.js.map +1 -1
  675. package/dist/loyalty/index.d.ts +4 -0
  676. package/dist/loyalty/index.d.ts.map +1 -1
  677. package/dist/loyalty/index.js +21 -33
  678. package/dist/loyalty/index.js.map +1 -1
  679. package/dist/markets/actions/index.d.ts +62 -4
  680. package/dist/markets/actions/index.d.ts.map +1 -1
  681. package/dist/markets/actions/index.js +261 -187
  682. package/dist/markets/actions/index.js.map +1 -1
  683. package/dist/markets/actions/trade-faction-market.d.ts +45 -0
  684. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  685. package/dist/markets/actions/trade-faction-market.js +311 -0
  686. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  687. package/dist/markets/index.d.ts +38 -7
  688. package/dist/markets/index.d.ts.map +1 -1
  689. package/dist/markets/index.js +59 -20
  690. package/dist/markets/index.js.map +1 -1
  691. package/dist/mining/actions/index.d.ts +87 -0
  692. package/dist/mining/actions/index.d.ts.map +1 -0
  693. package/dist/mining/actions/index.js +369 -0
  694. package/dist/mining/actions/index.js.map +1 -0
  695. package/dist/mining/estimate.d.ts +114 -0
  696. package/dist/mining/estimate.d.ts.map +1 -0
  697. package/dist/mining/estimate.js +127 -0
  698. package/dist/mining/estimate.js.map +1 -0
  699. package/dist/mining/index.d.ts +9 -2
  700. package/dist/mining/index.d.ts.map +1 -1
  701. package/dist/mining/index.js +10 -13
  702. package/dist/mining/index.js.map +1 -1
  703. package/dist/mining/profile.d.ts +82 -0
  704. package/dist/mining/profile.d.ts.map +1 -0
  705. package/dist/mining/profile.js +109 -0
  706. package/dist/mining/profile.js.map +1 -0
  707. package/dist/planning/assembly.d.ts +6 -1
  708. package/dist/planning/assembly.d.ts.map +1 -1
  709. package/dist/planning/assembly.js +12 -8
  710. package/dist/planning/assembly.js.map +1 -1
  711. package/dist/planning/execution.d.ts +19 -3
  712. package/dist/planning/execution.d.ts.map +1 -1
  713. package/dist/planning/execution.js +603 -72
  714. package/dist/planning/execution.js.map +1 -1
  715. package/dist/planning/index.d.ts +226 -165
  716. package/dist/planning/index.d.ts.map +1 -1
  717. package/dist/planning/index.js +31 -388
  718. package/dist/planning/index.js.map +1 -1
  719. package/dist/planning/plan-construction.d.ts +25 -0
  720. package/dist/planning/plan-construction.d.ts.map +1 -0
  721. package/dist/planning/plan-construction.js +143 -0
  722. package/dist/planning/plan-construction.js.map +1 -0
  723. package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
  724. package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
  725. package/dist/planning/plan-sequence-checkpoint.js +16 -7
  726. package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
  727. package/dist/planning/plan-sequence-execution.d.ts +5 -0
  728. package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
  729. package/dist/planning/plan-sequence-execution.js +74 -40
  730. package/dist/planning/plan-sequence-execution.js.map +1 -1
  731. package/dist/planning/plan-sequence.d.ts +2 -1
  732. package/dist/planning/plan-sequence.d.ts.map +1 -1
  733. package/dist/planning/plan-sequence.js +8 -1
  734. package/dist/planning/plan-sequence.js.map +1 -1
  735. package/dist/planning/plan-validation.d.ts +17 -0
  736. package/dist/planning/plan-validation.d.ts.map +1 -0
  737. package/dist/planning/plan-validation.js +139 -0
  738. package/dist/planning/plan-validation.js.map +1 -0
  739. package/dist/planning/simulation.d.ts +25 -1
  740. package/dist/planning/simulation.d.ts.map +1 -1
  741. package/dist/planning/simulation.js +111 -11
  742. package/dist/planning/simulation.js.map +1 -1
  743. package/dist/registry/cargo.d.ts +7 -12
  744. package/dist/registry/cargo.d.ts.map +1 -1
  745. package/dist/registry/cargo.js +19 -20
  746. package/dist/registry/cargo.js.map +1 -1
  747. package/dist/registry/docking.d.ts +10 -0
  748. package/dist/registry/docking.d.ts.map +1 -0
  749. package/dist/registry/docking.js +12 -0
  750. package/dist/registry/docking.js.map +1 -0
  751. package/dist/registry/index.d.ts +4 -0
  752. package/dist/registry/index.d.ts.map +1 -1
  753. package/dist/registry/index.js +190 -224
  754. package/dist/registry/index.js.map +1 -1
  755. package/dist/registry/onboarding.d.ts +10 -2
  756. package/dist/registry/onboarding.d.ts.map +1 -1
  757. package/dist/registry/onboarding.js +22 -7
  758. package/dist/registry/onboarding.js.map +1 -1
  759. package/dist/registry/scanning.d.ts +7 -0
  760. package/dist/registry/scanning.d.ts.map +1 -0
  761. package/dist/registry/scanning.js +13 -0
  762. package/dist/registry/scanning.js.map +1 -0
  763. package/dist/registry/ship-stats-snapshot.d.ts.map +1 -1
  764. package/dist/registry/ship-stats-snapshot.js +38 -24
  765. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  766. package/dist/registry/ships.d.ts +22 -2
  767. package/dist/registry/ships.d.ts.map +1 -1
  768. package/dist/registry/ships.js +31 -4
  769. package/dist/registry/ships.js.map +1 -1
  770. package/dist/registry/xp-runtime.d.ts +4 -0
  771. package/dist/registry/xp-runtime.d.ts.map +1 -0
  772. package/dist/registry/xp-runtime.js +14 -0
  773. package/dist/registry/xp-runtime.js.map +1 -0
  774. package/dist/rewards/index.d.ts +11 -5
  775. package/dist/rewards/index.d.ts.map +1 -1
  776. package/dist/rewards/index.js +10 -21
  777. package/dist/rewards/index.js.map +1 -1
  778. package/dist/scanning/actions/index.d.ts +116 -0
  779. package/dist/scanning/actions/index.d.ts.map +1 -0
  780. package/dist/scanning/actions/index.js +191 -0
  781. package/dist/scanning/actions/index.js.map +1 -0
  782. package/dist/scanning/index.d.ts +10 -12
  783. package/dist/scanning/index.d.ts.map +1 -1
  784. package/dist/scanning/index.js +19 -23
  785. package/dist/scanning/index.js.map +1 -1
  786. package/dist/scanning/lifecycle.d.ts +77 -0
  787. package/dist/scanning/lifecycle.d.ts.map +1 -0
  788. package/dist/scanning/lifecycle.js +93 -0
  789. package/dist/scanning/lifecycle.js.map +1 -0
  790. package/dist/scanning/odds.d.ts +115 -0
  791. package/dist/scanning/odds.d.ts.map +1 -0
  792. package/dist/scanning/odds.js +294 -0
  793. package/dist/scanning/odds.js.map +1 -0
  794. package/dist/scanning/signals.d.ts +121 -0
  795. package/dist/scanning/signals.d.ts.map +1 -0
  796. package/dist/scanning/signals.js +171 -0
  797. package/dist/scanning/signals.js.map +1 -0
  798. package/dist/starbases/actions/index.d.ts +6 -4
  799. package/dist/starbases/actions/index.d.ts.map +1 -1
  800. package/dist/starbases/actions/index.js +34 -67
  801. package/dist/starbases/actions/index.js.map +1 -1
  802. package/dist/starbases/index.d.ts.map +1 -1
  803. package/dist/starbases/index.js +3 -11
  804. package/dist/starbases/index.js.map +1 -1
  805. package/dist/world/index.d.ts +108 -5
  806. package/dist/world/index.d.ts.map +1 -1
  807. package/dist/world/index.js +110 -15
  808. package/dist/world/index.js.map +1 -1
  809. package/dist/world/planet-claim-stake-plots.d.ts +139 -0
  810. package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
  811. package/dist/world/planet-claim-stake-plots.js +117 -0
  812. package/dist/world/planet-claim-stake-plots.js.map +1 -0
  813. package/dist/world/starbase-status.d.ts +176 -0
  814. package/dist/world/starbase-status.d.ts.map +1 -0
  815. package/dist/world/starbase-status.js +153 -0
  816. package/dist/world/starbase-status.js.map +1 -0
  817. package/package.json +10 -2
@@ -0,0 +1,58 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { profileAccountDefinition } from '../c4/identity.js';
3
+ import { PROFILE_SCOPE } from '../c4/profile-permissions.js';
4
+ import { directProfileKey, grantsPermission, hasPermissionBit, } from './profile-key.js';
5
+ import { readRent } from './rent.js';
6
+ // Profile drainSolVault permission bit, any scope.
7
+ const DRAIN_SOL_VAULT = 63n;
8
+ function fail(address, message) {
9
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
10
+ }
11
+ /** Refuses a direct Profile key that can fund none of an action's positive
12
+ * storage debit: the program withdraws it from the Profile vault with the
13
+ * signing key, which must be Profile AUTH or also hold `drainSolVault` (any
14
+ * scope). A delegated or certificate key is left to the program. Returns
15
+ * whether the key is a direct Profile key. */
16
+ export function requireStorageFundingKey(input) {
17
+ const key = directProfileKey(profileAccountDefinition.decode(input.profileRaw).keys, input.keyIndex, input.authority);
18
+ if (input.profileDebit > 0n &&
19
+ key &&
20
+ !grantsPermission(key, PROFILE_SCOPE, 0n) &&
21
+ !hasPermissionBit(key, DRAIN_SOL_VAULT))
22
+ fail(input.profileRaw.address, `The ${input.action} needs ${input.profileDebit} Profile lamports for account storage, which the program withdraws from the Profile vault with the signing key; this key lacks drainSolVault. Use a direct Profile AUTH key or a key that also holds drainSolVault, then replan.`);
23
+ return key !== undefined;
24
+ }
25
+ /** Checks that the signing key and the Profile can fund one action's storage
26
+ * debit. A zero debit withdraws nothing, so it needs neither `drainSolVault`
27
+ * nor Profile excess lamports. */
28
+ export function checkProfileStorageFunding(input) {
29
+ const { profileRaw, action, profileDebit } = input;
30
+ const rent = readRent(input.rentRaw);
31
+ if (input.maximumProfileDebit !== undefined &&
32
+ profileDebit > input.maximumProfileDebit)
33
+ fail(profileRaw.address, `The ${action} now needs ${profileDebit} Profile lamports for account storage, above the ${input.maximumProfileDebit} this Plan approved. An earlier action in the same Plan may use storage it was planned against: execute the actions as separate Plans, or refresh the accounts and replan, then review the storage funding before signing.`);
34
+ const profileReserve = rent(profileRaw.data.length);
35
+ const direct = requireStorageFundingKey(input);
36
+ if (profileDebit > 0n && profileRaw.lamports < profileReserve + profileDebit)
37
+ fail(profileRaw.address, `The ${action} needs ${profileDebit} Profile lamports for account storage above the Profile's own ${profileReserve}-lamport rent reserve; the Profile holds ${profileRaw.lamports}. Add ${profileReserve + profileDebit - profileRaw.lamports} lamports to the Profile, then replan.`);
38
+ return { profileDebit, profileReserve, direct };
39
+ }
40
+ /** Builds the guard and the summary sentence for one action's storage funding. */
41
+ export function profileStorageFundingGuard(input) {
42
+ const { profileDebit } = input.funding;
43
+ const disclosure = profileDebit > 0n
44
+ ? `The program funds ${profileDebit} lamports of account storage from Profile ${input.profile}'s vault with the signing key (a locked rent deposit, separate from transaction fees).${input.funding.direct ? '' : ' The selected key is not a direct Profile key, so its drainSolVault permission is checked by the program, not locally.'}`
45
+ : `This action needs no Profile storage funding at the observed account sizes and balances.`;
46
+ return {
47
+ disclosure,
48
+ guard: {
49
+ kind: 'profile-storage-funding',
50
+ address: input.address,
51
+ profile: input.profile,
52
+ authority: input.authority,
53
+ maximumProfileDebit: profileDebit,
54
+ describes: `Account storage funding from the Profile vault stays at most ${profileDebit} lamports, and the signing key and Profile balance can fund it.`,
55
+ },
56
+ };
57
+ }
58
+ //# sourceMappingURL=profile-storage-funding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-storage-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,mDAAmD;AACnD,MAAM,eAAe,GAAG,GAAG,CAAC;AAO5B,SAAS,IAAI,CAAC,OAAgB,EAAE,OAAe;IAC7C,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;;8CAI8C;AAC9C,MAAM,UAAU,wBAAwB,CAAC,KAMxC;IACC,MAAM,GAAG,GAAG,gBAAgB,CAC1B,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,EACtD,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,IACE,KAAK,CAAC,YAAY,GAAG,EAAE;QACvB,GAAG;QACH,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC;QACzC,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC;QAEvC,IAAI,CACF,KAAK,CAAC,UAAU,CAAC,OAAO,EACxB,OAAO,KAAK,CAAC,MAAM,UAAU,KAAK,CAAC,YAAY,kOAAkO,CAClR,CAAC;IACJ,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC;AAED;;kCAEkC;AAClC,MAAM,UAAU,0BAA0B,CAAC,KAQ1C;IACC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,IACE,KAAK,CAAC,mBAAmB,KAAK,SAAS;QACvC,YAAY,GAAG,KAAK,CAAC,mBAAmB;QAExC,IAAI,CACF,UAAU,CAAC,OAAO,EAClB,OAAO,MAAM,cAAc,YAAY,oDAAoD,KAAK,CAAC,mBAAmB,4NAA4N,CACjV,CAAC;IACJ,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,YAAY,GAAG,EAAE,IAAI,UAAU,CAAC,QAAQ,GAAG,cAAc,GAAG,YAAY;QAC1E,IAAI,CACF,UAAU,CAAC,OAAO,EAClB,OAAO,MAAM,UAAU,YAAY,iEAAiE,cAAc,4CAA4C,UAAU,CAAC,QAAQ,SAAS,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC,QAAQ,wCAAwC,CACtR,CAAC;IACJ,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;AAClD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,0BAA0B,CAAC,KAK1C;IAIC,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IACvC,MAAM,UAAU,GACd,YAAY,GAAG,EAAE;QACf,CAAC,CAAC,qBAAqB,YAAY,6CAA6C,KAAK,CAAC,OAAO,yFAAyF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wHAAwH,EAAE;QAC5U,CAAC,CAAC,0FAA0F,CAAC;IACjG,OAAO;QACL,UAAU;QACV,KAAK,EAAE;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,mBAAmB,EAAE,YAAY;YACjC,SAAS,EAAE,gEAAgE,YAAY,iEAAiE;SACzJ;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { RawAccount } from '../../client/contracts.js';
2
+ /** Preserve the complete pinned Recipe encoding except its shared usage counter. */
3
+ export declare function hashRecipeConfiguration(account: RawAccount): Promise<string>;
4
+ /** Each Crafting Process start consumes exactly one Recipe use, whatever its
5
+ * quantity; completing or cancelling an existing job reserves none. A Recipe is
6
+ * usable only while its usage count is below its limit, so a stored limit of
7
+ * `0` is never usable. */
8
+ export declare function validateRecipeUsage(account: RawAccount, requiredUses: bigint): void;
9
+ //# sourceMappingURL=recipe-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipe-state.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/recipe-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,oFAAoF;AACpF,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;;0BAG0B;AAC1B,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAWN"}
@@ -0,0 +1,23 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { readRecipeName, readRecipeUsage, RECIPE_USAGE_COUNT_OFFSET, } from '../c4/crafting.js';
3
+ import { hashAccountState } from './account-state.js';
4
+ /** Preserve the complete pinned Recipe encoding except its shared usage counter. */
5
+ export async function hashRecipeConfiguration(account) {
6
+ readRecipeUsage(account);
7
+ const data = new Uint8Array(account.data);
8
+ data.fill(0, RECIPE_USAGE_COUNT_OFFSET, RECIPE_USAGE_COUNT_OFFSET + 8);
9
+ return hashAccountState(account.owner, data);
10
+ }
11
+ /** Each Crafting Process start consumes exactly one Recipe use, whatever its
12
+ * quantity; completing or cancelling an existing job reserves none. A Recipe is
13
+ * usable only while its usage count is below its limit, so a stored limit of
14
+ * `0` is never usable. */
15
+ export function validateRecipeUsage(account, requiredUses) {
16
+ if (requiredUses === 0n)
17
+ return;
18
+ const recipe = readRecipeUsage(account);
19
+ const remaining = recipe.limit > recipe.count ? recipe.limit - recipe.count : 0n;
20
+ if (requiredUses > remaining)
21
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Recipe ${readRecipeName(account) || account.address} usage limit has remaining ${remaining}, but a Crafting Process start requested ${requiredUses}. The Recipe's uses are exhausted; choose another active Recipe, then recreate the Plan before retrying.`, { address: account.address });
22
+ }
23
+ //# sourceMappingURL=recipe-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipe-state.js","sourceRoot":"","sources":["../../../src/internal/planning/recipe-state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,cAAc,EACd,eAAe,EACf,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAmB;IAEnB,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,yBAAyB,EAAE,yBAAyB,GAAG,CAAC,CAAC,CAAC;IACvE,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;;0BAG0B;AAC1B,MAAM,UAAU,mBAAmB,CACjC,OAAmB,EACnB,YAAoB;IAEpB,IAAI,YAAY,KAAK,EAAE;QAAE,OAAO;IAChC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,SAAS,GACb,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,IAAI,YAAY,GAAG,SAAS;QAC1B,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,UAAU,cAAc,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,8BAA8B,SAAS,4CAA4C,YAAY,0GAA0G,EAC7P,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAC7B,CAAC;AACN,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type Address } from '@solana/kit';
2
+ import type { SageContext } from '../../client/contracts.js';
3
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
4
+ /** Baseline-record hints; the program reads them only under an Active catalog. */
5
+ export declare const DISABLED_RENT_HINTS: readonly number[];
6
+ export interface DisabledStakeRent {
7
+ readonly rentCatalog: Address;
8
+ readonly rentAuthority: Address;
9
+ }
10
+ export interface DisabledLevelRent {
11
+ readonly rentCatalog: Address;
12
+ readonly rentHead: Address;
13
+ }
14
+ /** Requires Disabled rent for an existing Claim Stake: neither the Game's rent
15
+ * catalog nor the stake's settlement authority exists. */
16
+ export declare function requireDisabledStakeRent(ctx: SageContext, game: Address, stake: Address, action: string): Promise<{
17
+ readonly accounts: DisabledStakeRent;
18
+ readonly guards: readonly PlanPrecondition[];
19
+ }>;
20
+ /** Requires that a new Claim Stake address has no rent settlement authority. */
21
+ export declare function requireNewStakeRent(ctx: SageContext, stake: Address): Promise<{
22
+ readonly rentAuthority: Address;
23
+ readonly guards: readonly PlanPrecondition[];
24
+ }>;
25
+ /** Requires Disabled rent for a Starbase-level change in `system`: neither the
26
+ * Game's rent catalog nor the System's level history head exists. */
27
+ export declare function requireDisabledLevelRent(ctx: SageContext, game: Address, system: {
28
+ readonly address: Address;
29
+ readonly systemId: number;
30
+ }, action: string): Promise<{
31
+ readonly accounts: DisabledLevelRent;
32
+ readonly guards: readonly PlanPrecondition[];
33
+ }>;
34
+ /** Binds every rent account of a recognized instruction to an absence guard
35
+ * and rejects rent pages, supplied optional rent accounts and nonzero hints. */
36
+ export declare function validateRentInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
37
+ //# sourceMappingURL=rent-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rent-catalog.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/rent-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAmB1E,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAA6B,CAAC;AAI/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAuCD;0DAC0D;AAC1D,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C,CAAC,CAcD;AAED,gFAAgF;AAChF,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC;IACT,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C,CAAC,CAUD;AAED;qEACqE;AACrE,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAChE,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C,CAAC,CAcD;AA+ED;gFACgF;AAChF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAoCN"}
@@ -0,0 +1,165 @@
1
+ import { AccountRole } from '@solana/kit';
2
+ import { SageSdkError } from '../../client/errors.js';
3
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
4
+ import { ATTACK_STARBASE_DISCRIMINATOR, CANCEL_CLAIM_STAKE_BUILDING_DESIGN_DISCRIMINATOR, CLAIM_STAKES_RENT_TOP_UP_DISCRIMINATOR, DECONSTRUCT_CLAIM_STAKE_INSTANCE_DISCRIMINATOR, FINALIZE_BUILDING_CHANGES_DISCRIMINATOR, PLACE_CLAIM_STAKE_BUILDINGS_DISCRIMINATOR, PLACE_CLAIM_STAKE_INSTANCE_WITH_HUB_DISCRIMINATOR, START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, } from '../c4/discriminators.js';
5
+ import { deriveRentCatalogAddress, deriveRentLevelHeadAddress, deriveRentSettlementAuthorityAddress, } from '../c4/pda.js';
6
+ import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
7
+ import { accountAbsentPrecondition } from './account-state.js';
8
+ /** Baseline-record hints; the program reads them only under an Active catalog. */
9
+ export const DISABLED_RENT_HINTS = Object.freeze([0, 0, 0]);
10
+ const RENT_HINTS_BYTES = 12;
11
+ async function requireAbsent(ctx, accounts) {
12
+ const raw = await readContextRawAccounts(ctx, accounts.map(({ address }) => address));
13
+ accounts.forEach(({ address, present }, index) => {
14
+ if (raw[index] !== undefined)
15
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', present, {
16
+ address,
17
+ });
18
+ });
19
+ return accounts.map(({ address, describes }) => accountAbsentPrecondition(address, describes));
20
+ }
21
+ function catalogAccount(rentCatalog, game, action) {
22
+ return {
23
+ address: rentCatalog,
24
+ present: `Game ${game} has rent catalog ${rentCatalog}, so its rent is no longer Disabled and ${action} needs rent history accounts this SDK does not plan yet. Use the game client for ${action}.`,
25
+ describes: `Rent catalog ${rentCatalog} remains absent, so rent stays Disabled.`,
26
+ };
27
+ }
28
+ /** Requires Disabled rent for an existing Claim Stake: neither the Game's rent
29
+ * catalog nor the stake's settlement authority exists. */
30
+ export async function requireDisabledStakeRent(ctx, game, stake, action) {
31
+ const [[rentCatalog], [rentAuthority]] = await Promise.all([
32
+ deriveRentCatalogAddress(game),
33
+ deriveRentSettlementAuthorityAddress(stake),
34
+ ]);
35
+ const guards = await requireAbsent(ctx, [
36
+ catalogAccount(rentCatalog, game, action),
37
+ {
38
+ address: rentAuthority,
39
+ present: `Claim Stake ${stake} has rent settlement authority ${rentAuthority}, so it may hold a rent evaluation this SDK does not plan yet. Use the game client for ${action}.`,
40
+ describes: `Claim Stake ${stake} rent settlement authority ${rentAuthority} remains absent.`,
41
+ },
42
+ ]);
43
+ return { accounts: { rentAuthority, rentCatalog }, guards };
44
+ }
45
+ /** Requires that a new Claim Stake address has no rent settlement authority. */
46
+ export async function requireNewStakeRent(ctx, stake) {
47
+ const [rentAuthority] = await deriveRentSettlementAuthorityAddress(stake);
48
+ const guards = await requireAbsent(ctx, [
49
+ {
50
+ address: rentAuthority,
51
+ present: `Rent settlement authority ${rentAuthority} already exists for new Claim Stake address ${stake}. Generate a fresh address-only Claim Stake signer and retry placement.`,
52
+ describes: `New Claim Stake ${stake} rent settlement authority ${rentAuthority} remains absent.`,
53
+ },
54
+ ]);
55
+ return { rentAuthority, guards };
56
+ }
57
+ /** Requires Disabled rent for a Starbase-level change in `system`: neither the
58
+ * Game's rent catalog nor the System's level history head exists. */
59
+ export async function requireDisabledLevelRent(ctx, game, system, action) {
60
+ const [[rentCatalog], [rentHead]] = await Promise.all([
61
+ deriveRentCatalogAddress(game),
62
+ deriveRentLevelHeadAddress(game, system.systemId),
63
+ ]);
64
+ const guards = await requireAbsent(ctx, [
65
+ catalogAccount(rentCatalog, game, action),
66
+ {
67
+ address: rentHead,
68
+ present: `Star System ${system.address} has Starbase-level rent history ${rentHead}, which ${action} must extend with history pages this SDK does not plan yet. Use the game client for ${action}.`,
69
+ describes: `Star System ${system.address} Starbase-level rent history ${rentHead} remains absent.`,
70
+ },
71
+ ]);
72
+ return { accounts: { rentCatalog, rentHead }, guards };
73
+ }
74
+ // Disabled-rent layouts of the pinned generated builders, without rent pages.
75
+ // The adapter suites pin each layout to its builder, and rent-catalog tests
76
+ // build every layout through those adapters.
77
+ function rentLayouts() {
78
+ return [
79
+ [CLAIM_STAKES_RENT_TOP_UP_DISCRIMINATOR, 13, 10, 11, [12], false, 18],
80
+ [
81
+ PLACE_CLAIM_STAKE_INSTANCE_WITH_HUB_DISCRIMINATOR,
82
+ 14,
83
+ -1,
84
+ 13,
85
+ [],
86
+ false,
87
+ 0,
88
+ ],
89
+ [
90
+ PLACE_CLAIM_STAKE_BUILDINGS_DISCRIMINATOR,
91
+ 19,
92
+ 14,
93
+ 15,
94
+ [16, 17, 18],
95
+ true,
96
+ 0,
97
+ ],
98
+ [
99
+ CANCEL_CLAIM_STAKE_BUILDING_DESIGN_DISCRIMINATOR,
100
+ 17,
101
+ 12,
102
+ 13,
103
+ [14, 15, 16],
104
+ true,
105
+ 22,
106
+ ],
107
+ [
108
+ FINALIZE_BUILDING_CHANGES_DISCRIMINATOR,
109
+ 20,
110
+ 15,
111
+ 16,
112
+ [17, 18, 19],
113
+ true,
114
+ 22,
115
+ ],
116
+ [
117
+ START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR,
118
+ 19,
119
+ 14,
120
+ 15,
121
+ [16, 17, 18],
122
+ true,
123
+ 0,
124
+ ],
125
+ [
126
+ DECONSTRUCT_CLAIM_STAKE_INSTANCE_DISCRIMINATOR,
127
+ 22,
128
+ 11,
129
+ 12,
130
+ [13, 14, 16, 17, 18],
131
+ true,
132
+ 27,
133
+ ],
134
+ [ATTACK_STARBASE_DISCRIMINATOR, 32, 25, 26, [27, 28], false, 11],
135
+ ];
136
+ }
137
+ /** Binds every rent account of a recognized instruction to an absence guard
138
+ * and rejects rent pages, supplied optional rent accounts and nonzero hints. */
139
+ export function validateRentInstructions(steps, guards) {
140
+ for (const [index, { instruction }] of steps.entries()) {
141
+ if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS)
142
+ continue;
143
+ const data = instruction.data;
144
+ const layout = rentLayouts().find(([discriminator]) => discriminator.every((byte, offset) => data?.[offset] === byte));
145
+ if (!layout)
146
+ continue;
147
+ const [, count, catalog, writable, omitted, hints, dataLength] = layout;
148
+ const metas = instruction.accounts;
149
+ const guarded = (at, role) => metas[at].role === role &&
150
+ guards.some((g) => g.kind === 'account-absent' && g.address === metas[at].address);
151
+ if (!data ||
152
+ !metas ||
153
+ metas.length !== count ||
154
+ (dataLength !== 0 && data.length !== dataLength) ||
155
+ (hints &&
156
+ (data.length < 8 + RENT_HINTS_BYTES ||
157
+ data.subarray(data.length - RENT_HINTS_BYTES).some(Boolean))) ||
158
+ omitted.some((at) => metas[at].address !== SAGE_PROGRAM_ADDRESS ||
159
+ metas[at].role !== AccountRole.READONLY) ||
160
+ (catalog >= 0 && !guarded(catalog, AccountRole.READONLY)) ||
161
+ !guarded(writable, AccountRole.WRITABLE))
162
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Step ${index}: this instruction needs the current Disabled-rent layout with an absence safeguard for each rent account. Refresh the accounts and recreate the Plan with its planner before signing.`);
163
+ }
164
+ }
165
+ //# sourceMappingURL=rent-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rent-catalog.js","sourceRoot":"","sources":["../../../src/internal/planning/rent-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import { SageSdkError } from '../../client/errors.js';
4
+ /** Shared exact-range Rent calculation, including the account overhead. */
5
+ export declare function rentMinimumBalance(rate: bigint, threshold: number, length: number, address?: Address): bigint;
6
+ export declare const SYSVAR_OWNER: Address;
7
+ export declare const RENT_ADDRESS: Address;
8
+ /** Validated Rent inputs and the existing minimum-balance callable. */
9
+ export interface RentCalculation {
10
+ (length: number): bigint;
11
+ readonly rentLamportsPerByteYear: bigint;
12
+ readonly rentExemptionThreshold: number;
13
+ }
14
+ export declare function readRent(account: RawAccount): RentCalculation;
15
+ /** Internal estimate-data failure; never used for transport or lifecycle errors. */
16
+ export declare class RentCalculationError extends SageSdkError {
17
+ constructor(message: string, address: Address);
18
+ }
19
+ //# sourceMappingURL=rent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rent.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/rent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAsB,GAC9B,MAAM,CAcR;AAED,eAAO,MAAM,YAAY,EAC0B,OAAO,CAAC;AAE3D,eAAO,MAAM,YAAY,EAC0B,OAAO,CAAC;AAE3D,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe,CA6B7D;AAMD,oFAAoF;AACpF,qBAAa,oBAAqB,SAAQ,YAAY;gBACxC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAG9C"}
@@ -0,0 +1,35 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ /** Shared exact-range Rent calculation, including the account overhead. */
3
+ export function rentMinimumBalance(rate, threshold, length, address = RENT_ADDRESS) {
4
+ const base = (BigInt(length) + 128n) * rate;
5
+ const result = Number(base) * threshold;
6
+ if (base > BigInt(Number.MAX_SAFE_INTEGER) ||
7
+ !Number.isFinite(result) ||
8
+ result < 0 ||
9
+ result > Number.MAX_SAFE_INTEGER)
10
+ throw new RentCalculationError('Account storage funding exceeds the supported exact calculation range. Use a supported Rent configuration before planning this action.', address);
11
+ return BigInt(Math.trunc(result));
12
+ }
13
+ export const SYSVAR_OWNER = 'Sysvar1111111111111111111111111111111111111';
14
+ export const RENT_ADDRESS = 'SysvarRent111111111111111111111111111111111';
15
+ export function readRent(account) {
16
+ if (account.owner !== SYSVAR_OWNER ||
17
+ account.executable ||
18
+ account.data.length !== 17)
19
+ rentFailure('The Rent sysvar has an unexpected owner or layout. Refresh the configured deployment before calculating storage funding.', account.address);
20
+ const view = new DataView(account.data.buffer, account.data.byteOffset, account.data.byteLength);
21
+ const rate = view.getBigUint64(0, true), threshold = view.getFloat64(8, true);
22
+ if (!Number.isFinite(threshold) || threshold < 0 || view.getUint8(16) > 100)
23
+ rentFailure('The Rent sysvar contains unsupported values. Refresh the deployment or use a supported configuration before planning this action.', account.address);
24
+ return Object.freeze(Object.assign((length) => rentMinimumBalance(rate, threshold, length, account.address), { rentLamportsPerByteYear: rate, rentExemptionThreshold: threshold }));
25
+ }
26
+ function rentFailure(message, address) {
27
+ throw new RentCalculationError(message, address);
28
+ }
29
+ /** Internal estimate-data failure; never used for transport or lifecycle errors. */
30
+ export class RentCalculationError extends SageSdkError {
31
+ constructor(message, address) {
32
+ super('ACTION_PRECONDITION_FAILED', message, { address });
33
+ }
34
+ }
35
+ //# sourceMappingURL=rent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rent.js","sourceRoot":"","sources":["../../../src/internal/planning/rent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,SAAiB,EACjB,MAAc,EACd,UAAmB,YAAY;IAE/B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACxC,IACE,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACtC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxB,MAAM,GAAG,CAAC;QACV,MAAM,GAAG,MAAM,CAAC,gBAAgB;QAEhC,MAAM,IAAI,oBAAoB,CAC5B,wIAAwI,EACxI,OAAO,CACR,CAAC;IACJ,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GACvB,6CAAwD,CAAC;AAE3D,MAAM,CAAC,MAAM,YAAY,GACvB,6CAAwD,CAAC;AAS3D,MAAM,UAAU,QAAQ,CAAC,OAAmB;IAC1C,IACE,OAAO,CAAC,KAAK,KAAK,YAAY;QAC9B,OAAO,CAAC,UAAU;QAClB,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE;QAE1B,WAAW,CACT,0HAA0H,EAC1H,OAAO,CAAC,OAAO,CAChB,CAAC;IACJ,MAAM,IAAI,GAAG,IAAI,QAAQ,CACvB,OAAO,CAAC,IAAI,CAAC,MAAM,EACnB,OAAO,CAAC,IAAI,CAAC,UAAU,EACvB,OAAO,CAAC,IAAI,CAAC,UAAU,CACxB,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,EACrC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;QACzE,WAAW,CACT,mIAAmI,EACnI,OAAO,CAAC,OAAO,CAChB,CAAC;IACJ,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,MAAM,CACX,CAAC,MAAc,EAAE,EAAE,CACjB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EAC9D,EAAE,uBAAuB,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,CACrE,CACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,OAAgB;IACpD,MAAM,IAAI,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,oFAAoF;AACpF,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IACpD,YAAY,OAAe,EAAE,OAAgB;QAC3C,KAAK,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -0,0 +1,69 @@
1
+ import { type Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
4
+ import type { GameResearchUnlockRule, GameXpCategory } from '../c4/game.js';
5
+ /** Persisted research unlock guard: one exact next level of one node. */
6
+ export type ResearchUnlockGuard = Extract<PlanPrecondition, {
7
+ readonly kind: 'research-unlock';
8
+ }>;
9
+ /** Caller intent before planning fills the observed sequences and debit. */
10
+ export interface ResearchUnlockIntent {
11
+ readonly game: Address;
12
+ readonly profile: Address;
13
+ readonly authority: Address;
14
+ readonly keyIndex: number;
15
+ readonly system: Address;
16
+ readonly nodeId: number;
17
+ readonly level: number;
18
+ readonly researchSequenceId?: number;
19
+ readonly xpSequenceId?: number;
20
+ readonly maximumAtlasDebit?: bigint;
21
+ readonly maximumProfileDebit?: bigint;
22
+ }
23
+ /** Canonical accounts the unlock reads and writes. */
24
+ export interface ResearchUnlockAccounts {
25
+ readonly character: Address;
26
+ readonly starbasePlayer: Address;
27
+ readonly currencyCache: Address;
28
+ readonly clock: Address;
29
+ readonly rent: Address;
30
+ }
31
+ /** Validated rule, resulting level and exact costs of one unlock. */
32
+ export interface ResearchUnlockSpend {
33
+ readonly rule: GameResearchUnlockRule;
34
+ readonly level: number;
35
+ readonly atlasDebit: bigint;
36
+ readonly cargo: readonly {
37
+ readonly cargoId: number;
38
+ readonly quantityRaw: bigint;
39
+ }[];
40
+ readonly points: readonly {
41
+ readonly category: GameXpCategory;
42
+ readonly costRaw: bigint;
43
+ }[];
44
+ /** Bytes the unlock adds to the Character. */
45
+ readonly characterGrowthBytes: number;
46
+ /** Conservative Profile lamport debit for Character and Starbase Player
47
+ * storage; surplus refunds to the Profile are not credited. */
48
+ readonly profileDebit: bigint;
49
+ /** The Profile's own rent minimum, which the vault withdrawal preserves. */
50
+ readonly profileReserve: bigint;
51
+ }
52
+ /** Derives the canonical Character, Starbase Player and Currency Cache. */
53
+ export declare function resolveResearchUnlock(intent: {
54
+ readonly game: Address;
55
+ readonly profile: Address;
56
+ readonly system: Address;
57
+ }): Promise<ResearchUnlockAccounts>;
58
+ /** Validates one next-level unlock against fresh accounts and Game rules and
59
+ * returns its exact costs. Planning and execution share every check; an
60
+ * intent carrying observed sequences and a debit also requires them to hold. */
61
+ export declare function validateResearchUnlock(intent: ResearchUnlockIntent, resolved: ResearchUnlockAccounts, accounts: ReadonlyMap<Address, RawAccount | undefined>, rules: {
62
+ readonly sequenceId: number;
63
+ readonly xpSequenceId: number;
64
+ readonly rules: readonly GameResearchUnlockRule[];
65
+ }): Promise<ResearchUnlockSpend>;
66
+ /** Binds every research unlock instruction to exactly one persisted guard:
67
+ * direct key, accounts, roles, key index and node must all match. */
68
+ export declare function validateResearchUnlockInstructions(steps: readonly PlanStep[], preconditions: readonly PlanPrecondition[]): void;
69
+ //# sourceMappingURL=research-unlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research-unlock.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/research-unlock.ts"],"names":[],"mappings":"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"}