@aephia/atlas-kit 0.6.0-next.17 → 0.6.0-next.171

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 (926) hide show
  1. package/README.md +2 -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 +14 -7
  7. package/dist/cargo/actions/index.d.ts.map +1 -1
  8. package/dist/cargo/actions/index.js +108 -95
  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 +93 -14
  26. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  27. package/dist/claim-stakes/actions/index.js +739 -742
  28. package/dist/claim-stakes/actions/index.js.map +1 -1
  29. package/dist/claim-stakes/index.d.ts +22 -6
  30. package/dist/claim-stakes/index.d.ts.map +1 -1
  31. package/dist/claim-stakes/index.js +34 -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 +354 -38
  35. package/dist/client/context.js.map +1 -1
  36. package/dist/client/contracts.d.ts +69 -6
  37. package/dist/client/contracts.d.ts.map +1 -1
  38. package/dist/client/deployments.d.ts +17 -0
  39. package/dist/client/deployments.d.ts.map +1 -1
  40. package/dist/client/deployments.js +17 -0
  41. package/dist/client/deployments.js.map +1 -1
  42. package/dist/client/errors.d.ts +2 -2
  43. package/dist/client/errors.d.ts.map +1 -1
  44. package/dist/client/errors.js.map +1 -1
  45. package/dist/client/index.d.ts +57 -1
  46. package/dist/client/index.d.ts.map +1 -1
  47. package/dist/client/index.js +56 -0
  48. package/dist/client/index.js.map +1 -1
  49. package/dist/client/rpc-subscription-provider.d.ts +37 -0
  50. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  51. package/dist/client/rpc-subscription-provider.js +224 -0
  52. package/dist/client/rpc-subscription-provider.js.map +1 -0
  53. package/dist/combat/actions/index.d.ts +30 -12
  54. package/dist/combat/actions/index.d.ts.map +1 -1
  55. package/dist/combat/actions/index.js +360 -302
  56. package/dist/combat/actions/index.js.map +1 -1
  57. package/dist/combat/index.d.ts +25 -8
  58. package/dist/combat/index.d.ts.map +1 -1
  59. package/dist/combat/index.js +21 -18
  60. package/dist/combat/index.js.map +1 -1
  61. package/dist/crafting/actions/fee-rate.d.ts +47 -0
  62. package/dist/crafting/actions/fee-rate.d.ts.map +1 -0
  63. package/dist/crafting/actions/fee-rate.js +58 -0
  64. package/dist/crafting/actions/fee-rate.js.map +1 -0
  65. package/dist/crafting/actions/index.d.ts +29 -18
  66. package/dist/crafting/actions/index.d.ts.map +1 -1
  67. package/dist/crafting/actions/index.js +298 -352
  68. package/dist/crafting/actions/index.js.map +1 -1
  69. package/dist/crafting/estimate.d.ts +101 -0
  70. package/dist/crafting/estimate.d.ts.map +1 -0
  71. package/dist/crafting/estimate.js +108 -0
  72. package/dist/crafting/estimate.js.map +1 -0
  73. package/dist/crafting/index.d.ts +34 -3
  74. package/dist/crafting/index.d.ts.map +1 -1
  75. package/dist/crafting/index.js +50 -28
  76. package/dist/crafting/index.js.map +1 -1
  77. package/dist/factions/actions/index.d.ts +2 -1
  78. package/dist/factions/actions/index.d.ts.map +1 -1
  79. package/dist/factions/actions/index.js +6 -4
  80. package/dist/factions/actions/index.js.map +1 -1
  81. package/dist/factions/index.d.ts +19 -2
  82. package/dist/factions/index.d.ts.map +1 -1
  83. package/dist/factions/index.js +38 -26
  84. package/dist/factions/index.js.map +1 -1
  85. package/dist/factions/profile-faction.d.ts +20 -8
  86. package/dist/factions/profile-faction.d.ts.map +1 -1
  87. package/dist/factions/profile-faction.js +20 -8
  88. package/dist/factions/profile-faction.js.map +1 -1
  89. package/dist/fleets/actions/add-ship.d.ts +48 -0
  90. package/dist/fleets/actions/add-ship.d.ts.map +1 -0
  91. package/dist/fleets/actions/add-ship.js +136 -0
  92. package/dist/fleets/actions/add-ship.js.map +1 -0
  93. package/dist/fleets/actions/create-fleet.d.ts +36 -0
  94. package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
  95. package/dist/fleets/actions/create-fleet.js +108 -0
  96. package/dist/fleets/actions/create-fleet.js.map +1 -0
  97. package/dist/fleets/actions/crew-transfer.d.ts +45 -0
  98. package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
  99. package/dist/fleets/actions/crew-transfer.js +99 -0
  100. package/dist/fleets/actions/crew-transfer.js.map +1 -0
  101. package/dist/fleets/actions/deployment-storage.d.ts +161 -0
  102. package/dist/fleets/actions/deployment-storage.d.ts.map +1 -0
  103. package/dist/fleets/actions/deployment-storage.js +297 -0
  104. package/dist/fleets/actions/deployment-storage.js.map +1 -0
  105. package/dist/fleets/actions/disband.d.ts +42 -0
  106. package/dist/fleets/actions/disband.d.ts.map +1 -0
  107. package/dist/fleets/actions/disband.js +107 -0
  108. package/dist/fleets/actions/disband.js.map +1 -0
  109. package/dist/fleets/actions/dock-bounds.d.ts +38 -0
  110. package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
  111. package/dist/fleets/actions/dock-bounds.js +46 -0
  112. package/dist/fleets/actions/dock-bounds.js.map +1 -0
  113. package/dist/fleets/actions/index.d.ts +90 -25
  114. package/dist/fleets/actions/index.d.ts.map +1 -1
  115. package/dist/fleets/actions/index.js +492 -353
  116. package/dist/fleets/actions/index.js.map +1 -1
  117. package/dist/fleets/actions/respawn.d.ts +38 -0
  118. package/dist/fleets/actions/respawn.d.ts.map +1 -0
  119. package/dist/fleets/actions/respawn.js +93 -0
  120. package/dist/fleets/actions/respawn.js.map +1 -0
  121. package/dist/fleets/actions/ship-import.d.ts +1 -1
  122. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  123. package/dist/fleets/actions/ship-import.js +61 -90
  124. package/dist/fleets/actions/ship-import.js.map +1 -1
  125. package/dist/fleets/actions/sync.d.ts +24 -0
  126. package/dist/fleets/actions/sync.d.ts.map +1 -0
  127. package/dist/fleets/actions/sync.js +55 -0
  128. package/dist/fleets/actions/sync.js.map +1 -0
  129. package/dist/fleets/composition-stats.d.ts +101 -0
  130. package/dist/fleets/composition-stats.d.ts.map +1 -0
  131. package/dist/fleets/composition-stats.js +354 -0
  132. package/dist/fleets/composition-stats.js.map +1 -0
  133. package/dist/fleets/cooldown.d.ts +47 -0
  134. package/dist/fleets/cooldown.d.ts.map +1 -0
  135. package/dist/fleets/cooldown.js +48 -0
  136. package/dist/fleets/cooldown.js.map +1 -0
  137. package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
  138. package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
  139. package/dist/fleets/coordinate-warp-estimate.js +46 -0
  140. package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
  141. package/dist/fleets/index.d.ts +36 -0
  142. package/dist/fleets/index.d.ts.map +1 -1
  143. package/dist/fleets/index.js +55 -12
  144. package/dist/fleets/index.js.map +1 -1
  145. package/dist/fleets/movement-arithmetic.d.ts +21 -0
  146. package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
  147. package/dist/fleets/movement-arithmetic.js +45 -0
  148. package/dist/fleets/movement-arithmetic.js.map +1 -0
  149. package/dist/fleets/subwarp-estimate.d.ts +72 -0
  150. package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
  151. package/dist/fleets/subwarp-estimate.js +40 -0
  152. package/dist/fleets/subwarp-estimate.js.map +1 -0
  153. package/dist/fleets/travel-profile.d.ts +102 -0
  154. package/dist/fleets/travel-profile.d.ts.map +1 -0
  155. package/dist/fleets/travel-profile.js +120 -0
  156. package/dist/fleets/travel-profile.js.map +1 -0
  157. package/dist/fleets/warp-lane-estimate.d.ts +59 -0
  158. package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
  159. package/dist/fleets/warp-lane-estimate.js +36 -0
  160. package/dist/fleets/warp-lane-estimate.js.map +1 -0
  161. package/dist/fleets/warp-lane-policy.d.ts +74 -0
  162. package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
  163. package/dist/fleets/warp-lane-policy.js +103 -0
  164. package/dist/fleets/warp-lane-policy.js.map +1 -0
  165. package/dist/fleets/warp-lane-toll.d.ts +55 -0
  166. package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
  167. package/dist/fleets/warp-lane-toll.js +79 -0
  168. package/dist/fleets/warp-lane-toll.js.map +1 -0
  169. package/dist/identity/actions/create-profile.d.ts +1 -1
  170. package/dist/identity/actions/create-profile.d.ts.map +1 -1
  171. package/dist/identity/actions/create-profile.js +2 -2
  172. package/dist/identity/actions/create-profile.js.map +1 -1
  173. package/dist/identity/actions/index.d.ts +5 -4
  174. package/dist/identity/actions/index.d.ts.map +1 -1
  175. package/dist/identity/actions/index.js +52 -29
  176. package/dist/identity/actions/index.js.map +1 -1
  177. package/dist/identity/actions/research-unlock.d.ts +61 -0
  178. package/dist/identity/actions/research-unlock.d.ts.map +1 -0
  179. package/dist/identity/actions/research-unlock.js +166 -0
  180. package/dist/identity/actions/research-unlock.js.map +1 -0
  181. package/dist/identity/index.d.ts +63 -2
  182. package/dist/identity/index.d.ts.map +1 -1
  183. package/dist/identity/index.js +64 -12
  184. package/dist/identity/index.js.map +1 -1
  185. package/dist/identity/research-state.d.ts +60 -0
  186. package/dist/identity/research-state.d.ts.map +1 -0
  187. package/dist/identity/research-state.js +68 -0
  188. package/dist/identity/research-state.js.map +1 -0
  189. package/dist/index.d.ts +26 -1
  190. package/dist/index.d.ts.map +1 -1
  191. package/dist/index.js +24 -7
  192. package/dist/index.js.map +1 -1
  193. package/dist/internal/c4/account-decoding.d.ts +49 -0
  194. package/dist/internal/c4/account-decoding.d.ts.map +1 -0
  195. package/dist/internal/c4/account-decoding.js +74 -0
  196. package/dist/internal/c4/account-decoding.js.map +1 -0
  197. package/dist/internal/c4/career-xp.d.ts +58 -0
  198. package/dist/internal/c4/career-xp.d.ts.map +1 -0
  199. package/dist/internal/c4/career-xp.js +80 -0
  200. package/dist/internal/c4/career-xp.js.map +1 -0
  201. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  202. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  203. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  204. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  205. package/dist/internal/c4/cargo-instructions.d.ts +24 -0
  206. package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
  207. package/dist/internal/c4/cargo-instructions.js +30 -0
  208. package/dist/internal/c4/cargo-instructions.js.map +1 -0
  209. package/dist/internal/c4/cargo-pod.d.ts +15 -0
  210. package/dist/internal/c4/cargo-pod.d.ts.map +1 -0
  211. package/dist/internal/c4/cargo-pod.js +13 -0
  212. package/dist/internal/c4/cargo-pod.js.map +1 -0
  213. package/dist/internal/c4/character-modifier.d.ts +1 -1
  214. package/dist/internal/c4/character-modifier.d.ts.map +1 -1
  215. package/dist/internal/c4/character-registration.d.ts +2 -0
  216. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  217. package/dist/internal/c4/character-registration.js +2 -0
  218. package/dist/internal/c4/character-registration.js.map +1 -1
  219. package/dist/internal/c4/character.d.ts +157 -0
  220. package/dist/internal/c4/character.d.ts.map +1 -0
  221. package/dist/internal/c4/character.js +64 -0
  222. package/dist/internal/c4/character.js.map +1 -0
  223. package/dist/internal/c4/claim-stake-building-definitions.d.ts.map +1 -1
  224. package/dist/internal/c4/claim-stake-building-definitions.js +2 -1
  225. package/dist/internal/c4/claim-stake-building-definitions.js.map +1 -1
  226. package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -1
  227. package/dist/internal/c4/claim-stake-configuration.js +5 -36
  228. package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
  229. package/dist/internal/c4/claim-stake-definitions.d.ts +8 -4
  230. package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
  231. package/dist/internal/c4/claim-stake-definitions.js +6 -2
  232. package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
  233. package/dist/internal/c4/claim-stake-plots.d.ts +17 -0
  234. package/dist/internal/c4/claim-stake-plots.d.ts.map +1 -0
  235. package/dist/internal/c4/claim-stake-plots.js +29 -0
  236. package/dist/internal/c4/claim-stake-plots.js.map +1 -0
  237. package/dist/internal/c4/claim-stake-standing.d.ts +80 -0
  238. package/dist/internal/c4/claim-stake-standing.d.ts.map +1 -0
  239. package/dist/internal/c4/claim-stake-standing.js +61 -0
  240. package/dist/internal/c4/claim-stake-standing.js.map +1 -0
  241. package/dist/internal/c4/claim-stake-storage.d.ts +45 -0
  242. package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -0
  243. package/dist/internal/c4/claim-stake-storage.js +207 -0
  244. package/dist/internal/c4/claim-stake-storage.js.map +1 -0
  245. package/dist/internal/c4/claim-stake.d.ts +13 -33
  246. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  247. package/dist/internal/c4/claim-stake.js +49 -94
  248. package/dist/internal/c4/claim-stake.js.map +1 -1
  249. package/dist/internal/c4/combat-storage.d.ts +20 -0
  250. package/dist/internal/c4/combat-storage.d.ts.map +1 -0
  251. package/dist/internal/c4/combat-storage.js +43 -0
  252. package/dist/internal/c4/combat-storage.js.map +1 -0
  253. package/dist/internal/c4/combat.d.ts +1 -82
  254. package/dist/internal/c4/combat.d.ts.map +1 -1
  255. package/dist/internal/c4/combat.js +16 -213
  256. package/dist/internal/c4/combat.js.map +1 -1
  257. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  258. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  259. package/dist/internal/c4/crafting-process-codec.js +34 -0
  260. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  261. package/dist/internal/c4/crafting-storage.d.ts +20 -0
  262. package/dist/internal/c4/crafting-storage.d.ts.map +1 -0
  263. package/dist/internal/c4/crafting-storage.js +54 -0
  264. package/dist/internal/c4/crafting-storage.js.map +1 -0
  265. package/dist/internal/c4/crafting.d.ts +33 -33
  266. package/dist/internal/c4/crafting.d.ts.map +1 -1
  267. package/dist/internal/c4/crafting.js +76 -127
  268. package/dist/internal/c4/crafting.js.map +1 -1
  269. package/dist/internal/c4/currency-cache.d.ts +6 -0
  270. package/dist/internal/c4/currency-cache.d.ts.map +1 -0
  271. package/dist/internal/c4/currency-cache.js +27 -0
  272. package/dist/internal/c4/currency-cache.js.map +1 -0
  273. package/dist/internal/c4/discriminators.d.ts +93 -0
  274. package/dist/internal/c4/discriminators.d.ts.map +1 -0
  275. package/dist/internal/c4/discriminators.js +190 -0
  276. package/dist/internal/c4/discriminators.js.map +1 -0
  277. package/dist/internal/c4/docking-funding.d.ts +4 -0
  278. package/dist/internal/c4/docking-funding.d.ts.map +1 -0
  279. package/dist/internal/c4/docking-funding.js +11 -0
  280. package/dist/internal/c4/docking-funding.js.map +1 -0
  281. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  282. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  283. package/dist/internal/c4/faction-epoch-meter.js +26 -0
  284. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  285. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  286. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  287. package/dist/internal/c4/faction-treasury.js +41 -0
  288. package/dist/internal/c4/faction-treasury.js.map +1 -0
  289. package/dist/internal/c4/faction.d.ts +21 -0
  290. package/dist/internal/c4/faction.d.ts.map +1 -0
  291. package/dist/internal/c4/faction.js +23 -0
  292. package/dist/internal/c4/faction.js.map +1 -0
  293. package/dist/internal/c4/factions.d.ts +40 -60
  294. package/dist/internal/c4/factions.d.ts.map +1 -1
  295. package/dist/internal/c4/factions.js +106 -225
  296. package/dist/internal/c4/factions.js.map +1 -1
  297. package/dist/internal/c4/fleet-arrival.d.ts +28 -0
  298. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  299. package/dist/internal/c4/fleet-arrival.js +42 -0
  300. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  301. package/dist/internal/c4/fleet-creation.d.ts +14 -0
  302. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  303. package/dist/internal/c4/fleet-creation.js +177 -0
  304. package/dist/internal/c4/fleet-creation.js.map +1 -0
  305. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  306. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  307. package/dist/internal/c4/fleet-crew-binding.js +31 -44
  308. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  309. package/dist/internal/c4/fleet-disband-layout.d.ts +7 -0
  310. package/dist/internal/c4/fleet-disband-layout.d.ts.map +1 -0
  311. package/dist/internal/c4/fleet-disband-layout.js +7 -0
  312. package/dist/internal/c4/fleet-disband-layout.js.map +1 -0
  313. package/dist/internal/c4/fleet-disband.d.ts +41 -0
  314. package/dist/internal/c4/fleet-disband.d.ts.map +1 -0
  315. package/dist/internal/c4/fleet-disband.js +86 -0
  316. package/dist/internal/c4/fleet-disband.js.map +1 -0
  317. package/dist/internal/c4/fleet-points.d.ts +3 -0
  318. package/dist/internal/c4/fleet-points.d.ts.map +1 -0
  319. package/dist/internal/c4/fleet-points.js +8 -0
  320. package/dist/internal/c4/fleet-points.js.map +1 -0
  321. package/dist/internal/c4/fleet-respawn.d.ts +17 -0
  322. package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
  323. package/dist/internal/c4/fleet-respawn.js +62 -0
  324. package/dist/internal/c4/fleet-respawn.js.map +1 -0
  325. package/dist/internal/c4/fleet-ship-assembly.d.ts +26 -0
  326. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  327. package/dist/internal/c4/fleet-ship-assembly.js +96 -0
  328. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  329. package/dist/internal/c4/fleet-storage.d.ts +44 -0
  330. package/dist/internal/c4/fleet-storage.d.ts.map +1 -0
  331. package/dist/internal/c4/fleet-storage.js +108 -0
  332. package/dist/internal/c4/fleet-storage.js.map +1 -0
  333. package/dist/internal/c4/fleet-sync.d.ts +5 -0
  334. package/dist/internal/c4/fleet-sync.d.ts.map +1 -0
  335. package/dist/internal/c4/fleet-sync.js +15 -0
  336. package/dist/internal/c4/fleet-sync.js.map +1 -0
  337. package/dist/internal/c4/fleet.d.ts +65 -24
  338. package/dist/internal/c4/fleet.d.ts.map +1 -1
  339. package/dist/internal/c4/fleet.js +50 -91
  340. package/dist/internal/c4/fleet.js.map +1 -1
  341. package/dist/internal/c4/game-definition-layout.d.ts +2 -0
  342. package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
  343. package/dist/internal/c4/game-definition-layout.js +4 -0
  344. package/dist/internal/c4/game-definition-layout.js.map +1 -1
  345. package/dist/internal/c4/game.d.ts +122 -32
  346. package/dist/internal/c4/game.d.ts.map +1 -1
  347. package/dist/internal/c4/game.js +229 -130
  348. package/dist/internal/c4/game.js.map +1 -1
  349. package/dist/internal/c4/identity.d.ts +3 -152
  350. package/dist/internal/c4/identity.d.ts.map +1 -1
  351. package/dist/internal/c4/identity.js +19 -126
  352. package/dist/internal/c4/identity.js.map +1 -1
  353. package/dist/internal/c4/local-market-order.d.ts +29 -0
  354. package/dist/internal/c4/local-market-order.d.ts.map +1 -0
  355. package/dist/internal/c4/local-market-order.js +46 -0
  356. package/dist/internal/c4/local-market-order.js.map +1 -0
  357. package/dist/internal/c4/loot-layout.js +1 -1
  358. package/dist/internal/c4/loot-layout.js.map +1 -1
  359. package/dist/internal/c4/loot.d.ts +89 -0
  360. package/dist/internal/c4/loot.d.ts.map +1 -0
  361. package/dist/internal/c4/loot.js +109 -0
  362. package/dist/internal/c4/loot.js.map +1 -0
  363. package/dist/internal/c4/loyalty.d.ts +7 -30
  364. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  365. package/dist/internal/c4/loyalty.js +41 -163
  366. package/dist/internal/c4/loyalty.js.map +1 -1
  367. package/dist/internal/c4/market-storage.d.ts +25 -0
  368. package/dist/internal/c4/market-storage.d.ts.map +1 -0
  369. package/dist/internal/c4/market-storage.js +53 -0
  370. package/dist/internal/c4/market-storage.js.map +1 -0
  371. package/dist/internal/c4/market.d.ts +5 -38
  372. package/dist/internal/c4/market.d.ts.map +1 -1
  373. package/dist/internal/c4/market.js +26 -120
  374. package/dist/internal/c4/market.js.map +1 -1
  375. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  376. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  377. package/dist/internal/c4/mining-instructions.js +3 -0
  378. package/dist/internal/c4/mining-instructions.js.map +1 -0
  379. package/dist/internal/c4/open-signal.d.ts +8 -0
  380. package/dist/internal/c4/open-signal.d.ts.map +1 -0
  381. package/dist/internal/c4/open-signal.js +37 -0
  382. package/dist/internal/c4/open-signal.js.map +1 -0
  383. package/dist/internal/c4/pda.d.ts +49 -1
  384. package/dist/internal/c4/pda.d.ts.map +1 -1
  385. package/dist/internal/c4/pda.js +122 -17
  386. package/dist/internal/c4/pda.js.map +1 -1
  387. package/dist/internal/c4/profile-faction.d.ts +2 -1
  388. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  389. package/dist/internal/c4/profile-faction.js +36 -72
  390. package/dist/internal/c4/profile-faction.js.map +1 -1
  391. package/dist/internal/c4/profile-permissions.d.ts +1 -1
  392. package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
  393. package/dist/internal/c4/profile-permissions.js +17 -1
  394. package/dist/internal/c4/profile-permissions.js.map +1 -1
  395. package/dist/internal/c4/region-geometry.d.ts +8 -0
  396. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  397. package/dist/internal/c4/region-geometry.js +43 -0
  398. package/dist/internal/c4/region-geometry.js.map +1 -0
  399. package/dist/internal/c4/rewards.d.ts +1 -61
  400. package/dist/internal/c4/rewards.d.ts.map +1 -1
  401. package/dist/internal/c4/rewards.js +23 -203
  402. package/dist/internal/c4/rewards.js.map +1 -1
  403. package/dist/internal/c4/runtime-bindings.d.ts +4 -0
  404. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  405. package/dist/internal/c4/runtime-bindings.js +4 -0
  406. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  407. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  408. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  409. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  410. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  411. package/dist/internal/c4/scan-lifecycle.d.ts +324 -0
  412. package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
  413. package/dist/internal/c4/scan-lifecycle.js +249 -0
  414. package/dist/internal/c4/scan-lifecycle.js.map +1 -0
  415. package/dist/internal/c4/scan-storage.d.ts +7 -0
  416. package/dist/internal/c4/scan-storage.d.ts.map +1 -0
  417. package/dist/internal/c4/scan-storage.js +10 -0
  418. package/dist/internal/c4/scan-storage.js.map +1 -0
  419. package/dist/internal/c4/scanning.d.ts +4 -41
  420. package/dist/internal/c4/scanning.d.ts.map +1 -1
  421. package/dist/internal/c4/scanning.js +27 -108
  422. package/dist/internal/c4/scanning.js.map +1 -1
  423. package/dist/internal/c4/ship-import.d.ts +4 -0
  424. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  425. package/dist/internal/c4/ship-import.js +13 -0
  426. package/dist/internal/c4/ship-import.js.map +1 -0
  427. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  428. package/dist/internal/c4/ship-stats.js +46 -44
  429. package/dist/internal/c4/ship-stats.js.map +1 -1
  430. package/dist/internal/c4/starbase.d.ts +0 -32
  431. package/dist/internal/c4/starbase.d.ts.map +1 -1
  432. package/dist/internal/c4/starbase.js +26 -136
  433. package/dist/internal/c4/starbase.js.map +1 -1
  434. package/dist/internal/c4/stimulant.d.ts +26 -0
  435. package/dist/internal/c4/stimulant.d.ts.map +1 -0
  436. package/dist/internal/c4/stimulant.js +36 -0
  437. package/dist/internal/c4/stimulant.js.map +1 -0
  438. package/dist/internal/c4/wallet-cargo-cache.js +2 -1
  439. package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
  440. package/dist/internal/c4/world.d.ts +40 -7
  441. package/dist/internal/c4/world.d.ts.map +1 -1
  442. package/dist/internal/c4/world.js +87 -129
  443. package/dist/internal/c4/world.js.map +1 -1
  444. package/dist/internal/cargo.d.ts +2 -0
  445. package/dist/internal/cargo.d.ts.map +1 -1
  446. package/dist/internal/cargo.js +8 -0
  447. package/dist/internal/cargo.js.map +1 -1
  448. package/dist/internal/fleet-route.d.ts +12 -0
  449. package/dist/internal/fleet-route.d.ts.map +1 -0
  450. package/dist/internal/fleet-route.js +11 -0
  451. package/dist/internal/fleet-route.js.map +1 -0
  452. package/dist/internal/fleet.d.ts +3 -2
  453. package/dist/internal/fleet.d.ts.map +1 -1
  454. package/dist/internal/fleet.js +3 -5
  455. package/dist/internal/fleet.js.map +1 -1
  456. package/dist/internal/loyalty-atlas-bank-state.d.ts +17 -0
  457. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  458. package/dist/internal/loyalty-atlas-bank-state.js +11 -0
  459. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  460. package/dist/internal/planning/account-state.d.ts +6 -0
  461. package/dist/internal/planning/account-state.d.ts.map +1 -1
  462. package/dist/internal/planning/account-state.js +13 -0
  463. package/dist/internal/planning/account-state.js.map +1 -1
  464. package/dist/internal/planning/action-runtime.d.ts +38 -0
  465. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  466. package/dist/internal/planning/action-runtime.js +63 -0
  467. package/dist/internal/planning/action-runtime.js.map +1 -0
  468. package/dist/internal/planning/arrival-guards.d.ts +19 -0
  469. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  470. package/dist/internal/planning/arrival-guards.js +172 -0
  471. package/dist/internal/planning/arrival-guards.js.map +1 -0
  472. package/dist/internal/planning/authorization-adapter.d.ts +61 -39
  473. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  474. package/dist/internal/planning/authorization-adapter.js +219 -83
  475. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  476. package/dist/internal/planning/cargo-storage-actions.d.ts +8 -0
  477. package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -0
  478. package/dist/internal/planning/cargo-storage-actions.js +97 -0
  479. package/dist/internal/planning/cargo-storage-actions.js.map +1 -0
  480. package/dist/internal/planning/character-access.d.ts +28 -0
  481. package/dist/internal/planning/character-access.d.ts.map +1 -0
  482. package/dist/internal/planning/character-access.js +41 -0
  483. package/dist/internal/planning/character-access.js.map +1 -0
  484. package/dist/internal/planning/character-registration-guard.d.ts +4 -0
  485. package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
  486. package/dist/internal/planning/character-registration-guard.js +59 -0
  487. package/dist/internal/planning/character-registration-guard.js.map +1 -0
  488. package/dist/internal/planning/character-registration.d.ts +23 -0
  489. package/dist/internal/planning/character-registration.d.ts.map +1 -0
  490. package/dist/internal/planning/character-registration.js +87 -0
  491. package/dist/internal/planning/character-registration.js.map +1 -0
  492. package/dist/internal/planning/claim-stake-storage-actions.d.ts +12 -0
  493. package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -0
  494. package/dist/internal/planning/claim-stake-storage-actions.js +63 -0
  495. package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -0
  496. package/dist/internal/planning/combat-storage-actions.d.ts +9 -0
  497. package/dist/internal/planning/combat-storage-actions.d.ts.map +1 -0
  498. package/dist/internal/planning/combat-storage-actions.js +55 -0
  499. package/dist/internal/planning/combat-storage-actions.js.map +1 -0
  500. package/dist/internal/planning/crafting-storage-actions.d.ts +7 -0
  501. package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -0
  502. package/dist/internal/planning/crafting-storage-actions.js +64 -0
  503. package/dist/internal/planning/crafting-storage-actions.js.map +1 -0
  504. package/dist/internal/planning/currency-cache-guard.d.ts +6 -0
  505. package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
  506. package/dist/internal/planning/currency-cache-guard.js +77 -0
  507. package/dist/internal/planning/currency-cache-guard.js.map +1 -0
  508. package/dist/internal/planning/democracy-history.d.ts +50 -0
  509. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  510. package/dist/internal/planning/democracy-history.js +189 -0
  511. package/dist/internal/planning/democracy-history.js.map +1 -0
  512. package/dist/internal/planning/direct-options.d.ts +17 -0
  513. package/dist/internal/planning/direct-options.d.ts.map +1 -0
  514. package/dist/internal/planning/direct-options.js +43 -0
  515. package/dist/internal/planning/direct-options.js.map +1 -0
  516. package/dist/internal/planning/disband-storage-actions.d.ts +9 -0
  517. package/dist/internal/planning/disband-storage-actions.d.ts.map +1 -0
  518. package/dist/internal/planning/disband-storage-actions.js +24 -0
  519. package/dist/internal/planning/disband-storage-actions.js.map +1 -0
  520. package/dist/internal/planning/faction-enrollment.d.ts +0 -4
  521. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  522. package/dist/internal/planning/faction-enrollment.js +1 -31
  523. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  524. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  525. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  526. package/dist/internal/planning/faction-trade-guards.js +15 -0
  527. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  528. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  529. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  530. package/dist/internal/planning/faction-trade-state.js +43 -0
  531. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  532. package/dist/internal/planning/fleet-arrival.d.ts +40 -0
  533. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  534. package/dist/internal/planning/fleet-arrival.js +107 -0
  535. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  536. package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
  537. package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
  538. package/dist/internal/planning/fleet-attack-xp.js +104 -0
  539. package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
  540. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  541. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  542. package/dist/internal/planning/fleet-creation.js +89 -0
  543. package/dist/internal/planning/fleet-creation.js.map +1 -0
  544. package/dist/internal/planning/fleet-crew-guard.d.ts +29 -0
  545. package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
  546. package/dist/internal/planning/fleet-crew-guard.js +48 -0
  547. package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
  548. package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
  549. package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
  550. package/dist/internal/planning/fleet-crew-transfer.js +152 -0
  551. package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
  552. package/dist/internal/planning/fleet-disband-guard.d.ts +12 -0
  553. package/dist/internal/planning/fleet-disband-guard.d.ts.map +1 -0
  554. package/dist/internal/planning/fleet-disband-guard.js +54 -0
  555. package/dist/internal/planning/fleet-disband-guard.js.map +1 -0
  556. package/dist/internal/planning/fleet-disband.d.ts +36 -0
  557. package/dist/internal/planning/fleet-disband.d.ts.map +1 -0
  558. package/dist/internal/planning/fleet-disband.js +82 -0
  559. package/dist/internal/planning/fleet-disband.js.map +1 -0
  560. package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
  561. package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
  562. package/dist/internal/planning/fleet-dock-funding-guard.js +216 -0
  563. package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
  564. package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
  565. package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
  566. package/dist/internal/planning/fleet-dock-funding.js +164 -0
  567. package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
  568. package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
  569. package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
  570. package/dist/internal/planning/fleet-docking-guard.js +44 -0
  571. package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
  572. package/dist/internal/planning/fleet-docking.d.ts +25 -0
  573. package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
  574. package/dist/internal/planning/fleet-docking.js +106 -0
  575. package/dist/internal/planning/fleet-docking.js.map +1 -0
  576. package/dist/internal/planning/fleet-rental.d.ts +5 -0
  577. package/dist/internal/planning/fleet-rental.d.ts.map +1 -0
  578. package/dist/internal/planning/fleet-rental.js +9 -0
  579. package/dist/internal/planning/fleet-rental.js.map +1 -0
  580. package/dist/internal/planning/fleet-respawn.d.ts +28 -0
  581. package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
  582. package/dist/internal/planning/fleet-respawn.js +164 -0
  583. package/dist/internal/planning/fleet-respawn.js.map +1 -0
  584. package/dist/internal/planning/fleet-ship-assembly.d.ts +38 -0
  585. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  586. package/dist/internal/planning/fleet-ship-assembly.js +167 -0
  587. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  588. package/dist/internal/planning/fleet-state.d.ts +25 -0
  589. package/dist/internal/planning/fleet-state.d.ts.map +1 -0
  590. package/dist/internal/planning/fleet-state.js +28 -0
  591. package/dist/internal/planning/fleet-state.js.map +1 -0
  592. package/dist/internal/planning/governance-fees.d.ts +64 -0
  593. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  594. package/dist/internal/planning/governance-fees.js +231 -0
  595. package/dist/internal/planning/governance-fees.js.map +1 -0
  596. package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
  597. package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
  598. package/dist/internal/planning/local-market-order-funding.js +128 -0
  599. package/dist/internal/planning/local-market-order-funding.js.map +1 -0
  600. package/dist/internal/planning/local-market-order.d.ts +40 -0
  601. package/dist/internal/planning/local-market-order.d.ts.map +1 -0
  602. package/dist/internal/planning/local-market-order.js +139 -0
  603. package/dist/internal/planning/local-market-order.js.map +1 -0
  604. package/dist/internal/planning/market-storage-actions.d.ts +7 -0
  605. package/dist/internal/planning/market-storage-actions.d.ts.map +1 -0
  606. package/dist/internal/planning/market-storage-actions.js +71 -0
  607. package/dist/internal/planning/market-storage-actions.js.map +1 -0
  608. package/dist/internal/planning/mining-stop.d.ts +14 -0
  609. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  610. package/dist/internal/planning/mining-stop.js +42 -0
  611. package/dist/internal/planning/mining-stop.js.map +1 -0
  612. package/dist/internal/planning/mining-storage-actions.d.ts +11 -0
  613. package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -0
  614. package/dist/internal/planning/mining-storage-actions.js +57 -0
  615. package/dist/internal/planning/mining-storage-actions.js.map +1 -0
  616. package/dist/internal/planning/movement-storage-actions.d.ts +7 -0
  617. package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -0
  618. package/dist/internal/planning/movement-storage-actions.js +38 -0
  619. package/dist/internal/planning/movement-storage-actions.js.map +1 -0
  620. package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
  621. package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
  622. package/dist/internal/planning/movement-xp-guard.js +104 -0
  623. package/dist/internal/planning/movement-xp-guard.js.map +1 -0
  624. package/dist/internal/planning/open-signal-guard.d.ts +3 -0
  625. package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
  626. package/dist/internal/planning/open-signal-guard.js +32 -0
  627. package/dist/internal/planning/open-signal-guard.js.map +1 -0
  628. package/dist/internal/planning/open-signal.d.ts +31 -0
  629. package/dist/internal/planning/open-signal.d.ts.map +1 -0
  630. package/dist/internal/planning/open-signal.js +94 -0
  631. package/dist/internal/planning/open-signal.js.map +1 -0
  632. package/dist/internal/planning/original-token.d.ts +40 -0
  633. package/dist/internal/planning/original-token.d.ts.map +1 -0
  634. package/dist/internal/planning/original-token.js +112 -0
  635. package/dist/internal/planning/original-token.js.map +1 -0
  636. package/dist/internal/planning/own-starbase-facts.d.ts +37 -0
  637. package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -0
  638. package/dist/internal/planning/own-starbase-facts.js +52 -0
  639. package/dist/internal/planning/own-starbase-facts.js.map +1 -0
  640. package/dist/internal/planning/plan-fields.d.ts +60 -0
  641. package/dist/internal/planning/plan-fields.d.ts.map +1 -0
  642. package/dist/internal/planning/plan-fields.js +159 -0
  643. package/dist/internal/planning/plan-fields.js.map +1 -0
  644. package/dist/internal/planning/plan-guards.d.ts +4 -0
  645. package/dist/internal/planning/plan-guards.d.ts.map +1 -0
  646. package/dist/internal/planning/plan-guards.js +184 -0
  647. package/dist/internal/planning/plan-guards.js.map +1 -0
  648. package/dist/internal/planning/profile-key.d.ts +13 -0
  649. package/dist/internal/planning/profile-key.d.ts.map +1 -0
  650. package/dist/internal/planning/profile-key.js +20 -0
  651. package/dist/internal/planning/profile-key.js.map +1 -0
  652. package/dist/internal/planning/profile-storage-funding-guard.d.ts +29 -0
  653. package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
  654. package/dist/internal/planning/profile-storage-funding-guard.js +115 -0
  655. package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
  656. package/dist/internal/planning/profile-storage-funding.d.ts +46 -0
  657. package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
  658. package/dist/internal/planning/profile-storage-funding.js +58 -0
  659. package/dist/internal/planning/profile-storage-funding.js.map +1 -0
  660. package/dist/internal/planning/recipe-state.d.ts +9 -0
  661. package/dist/internal/planning/recipe-state.d.ts.map +1 -0
  662. package/dist/internal/planning/recipe-state.js +23 -0
  663. package/dist/internal/planning/recipe-state.js.map +1 -0
  664. package/dist/internal/planning/region-access.d.ts +30 -0
  665. package/dist/internal/planning/region-access.d.ts.map +1 -0
  666. package/dist/internal/planning/region-access.js +94 -0
  667. package/dist/internal/planning/region-access.js.map +1 -0
  668. package/dist/internal/planning/rent-catalog.d.ts +37 -0
  669. package/dist/internal/planning/rent-catalog.d.ts.map +1 -0
  670. package/dist/internal/planning/rent-catalog.js +165 -0
  671. package/dist/internal/planning/rent-catalog.js.map +1 -0
  672. package/dist/internal/planning/rent.d.ts +19 -0
  673. package/dist/internal/planning/rent.d.ts.map +1 -0
  674. package/dist/internal/planning/rent.js +35 -0
  675. package/dist/internal/planning/rent.js.map +1 -0
  676. package/dist/internal/planning/research-unlock.d.ts +69 -0
  677. package/dist/internal/planning/research-unlock.d.ts.map +1 -0
  678. package/dist/internal/planning/research-unlock.js +287 -0
  679. package/dist/internal/planning/research-unlock.js.map +1 -0
  680. package/dist/internal/planning/respawn-guards.d.ts +3 -0
  681. package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
  682. package/dist/internal/planning/respawn-guards.js +42 -0
  683. package/dist/internal/planning/respawn-guards.js.map +1 -0
  684. package/dist/internal/planning/runtime-guards.d.ts +41 -0
  685. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  686. package/dist/internal/planning/runtime-guards.js +658 -0
  687. package/dist/internal/planning/runtime-guards.js.map +1 -0
  688. package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
  689. package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
  690. package/dist/internal/planning/scan-completion-guard.js +95 -0
  691. package/dist/internal/planning/scan-completion-guard.js.map +1 -0
  692. package/dist/internal/planning/scan-completion.d.ts +20 -0
  693. package/dist/internal/planning/scan-completion.d.ts.map +1 -0
  694. package/dist/internal/planning/scan-completion.js +198 -0
  695. package/dist/internal/planning/scan-completion.js.map +1 -0
  696. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  697. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  698. package/dist/internal/planning/scan-detect-guard.js +77 -0
  699. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  700. package/dist/internal/planning/scan-detect.d.ts +24 -0
  701. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  702. package/dist/internal/planning/scan-detect.js +246 -0
  703. package/dist/internal/planning/scan-detect.js.map +1 -0
  704. package/dist/internal/planning/scan-idle-scope.d.ts +5 -0
  705. package/dist/internal/planning/scan-idle-scope.d.ts.map +1 -0
  706. package/dist/internal/planning/scan-idle-scope.js +5 -0
  707. package/dist/internal/planning/scan-idle-scope.js.map +1 -0
  708. package/dist/internal/planning/scan-input.d.ts +9 -0
  709. package/dist/internal/planning/scan-input.d.ts.map +1 -0
  710. package/dist/internal/planning/scan-input.js +58 -0
  711. package/dist/internal/planning/scan-input.js.map +1 -0
  712. package/dist/internal/planning/scan-storage-actions.d.ts +9 -0
  713. package/dist/internal/planning/scan-storage-actions.d.ts.map +1 -0
  714. package/dist/internal/planning/scan-storage-actions.js +27 -0
  715. package/dist/internal/planning/scan-storage-actions.js.map +1 -0
  716. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  717. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  718. package/dist/internal/planning/ship-import-funding.js +53 -0
  719. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  720. package/dist/internal/planning/ship-token.d.ts +1 -6
  721. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  722. package/dist/internal/planning/ship-token.js +0 -37
  723. package/dist/internal/planning/ship-token.js.map +1 -1
  724. package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
  725. package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
  726. package/dist/internal/planning/starbase-player-owner.js +17 -0
  727. package/dist/internal/planning/starbase-player-owner.js.map +1 -0
  728. package/dist/internal/planning/starbase-player-recovery-guard.d.ts +7 -0
  729. package/dist/internal/planning/starbase-player-recovery-guard.d.ts.map +1 -0
  730. package/dist/internal/planning/starbase-player-recovery-guard.js +39 -0
  731. package/dist/internal/planning/starbase-player-recovery-guard.js.map +1 -0
  732. package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
  733. package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
  734. package/dist/internal/planning/starbase-system-guard.js +94 -0
  735. package/dist/internal/planning/starbase-system-guard.js.map +1 -0
  736. package/dist/internal/planning/starbase-system.d.ts +15 -0
  737. package/dist/internal/planning/starbase-system.d.ts.map +1 -0
  738. package/dist/internal/planning/starbase-system.js +25 -0
  739. package/dist/internal/planning/starbase-system.js.map +1 -0
  740. package/dist/internal/planning/storage-action-readers.d.ts +10 -0
  741. package/dist/internal/planning/storage-action-readers.d.ts.map +1 -0
  742. package/dist/internal/planning/storage-action-readers.js +58 -0
  743. package/dist/internal/planning/storage-action-readers.js.map +1 -0
  744. package/dist/internal/planning/storage-actions.d.ts +89 -0
  745. package/dist/internal/planning/storage-actions.d.ts.map +1 -0
  746. package/dist/internal/planning/storage-actions.js +183 -0
  747. package/dist/internal/planning/storage-actions.js.map +1 -0
  748. package/dist/internal/planning/token-mint.d.ts.map +1 -1
  749. package/dist/internal/planning/token-mint.js +2 -1
  750. package/dist/internal/planning/token-mint.js.map +1 -1
  751. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  752. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  753. package/dist/internal/planning/trade-faction-market.js +56 -0
  754. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  755. package/dist/internal/planning/wallet-starbase.d.ts +34 -0
  756. package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
  757. package/dist/internal/planning/wallet-starbase.js +39 -0
  758. package/dist/internal/planning/wallet-starbase.js.map +1 -0
  759. package/dist/internal/planning/xp-runtime.d.ts +36 -0
  760. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  761. package/dist/internal/planning/xp-runtime.js +122 -0
  762. package/dist/internal/planning/xp-runtime.js.map +1 -0
  763. package/dist/internal/read-meta.d.ts +12 -0
  764. package/dist/internal/read-meta.d.ts.map +1 -1
  765. package/dist/internal/read-meta.js +10 -0
  766. package/dist/internal/read-meta.js.map +1 -1
  767. package/dist/internal/system-program.d.ts +4 -0
  768. package/dist/internal/system-program.d.ts.map +1 -0
  769. package/dist/internal/system-program.js +3 -0
  770. package/dist/internal/system-program.js.map +1 -0
  771. package/dist/loyalty/actions/index.d.ts +1 -1
  772. package/dist/loyalty/actions/index.d.ts.map +1 -1
  773. package/dist/loyalty/actions/index.js +16 -46
  774. package/dist/loyalty/actions/index.js.map +1 -1
  775. package/dist/loyalty/index.d.ts +4 -0
  776. package/dist/loyalty/index.d.ts.map +1 -1
  777. package/dist/loyalty/index.js +21 -33
  778. package/dist/loyalty/index.js.map +1 -1
  779. package/dist/markets/actions/index.d.ts +62 -4
  780. package/dist/markets/actions/index.d.ts.map +1 -1
  781. package/dist/markets/actions/index.js +261 -187
  782. package/dist/markets/actions/index.js.map +1 -1
  783. package/dist/markets/actions/trade-faction-market.d.ts +45 -0
  784. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  785. package/dist/markets/actions/trade-faction-market.js +311 -0
  786. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  787. package/dist/markets/index.d.ts +38 -7
  788. package/dist/markets/index.d.ts.map +1 -1
  789. package/dist/markets/index.js +59 -20
  790. package/dist/markets/index.js.map +1 -1
  791. package/dist/mining/actions/index.d.ts +18 -15
  792. package/dist/mining/actions/index.d.ts.map +1 -1
  793. package/dist/mining/actions/index.js +146 -69
  794. package/dist/mining/actions/index.js.map +1 -1
  795. package/dist/mining/estimate-input.d.ts +103 -0
  796. package/dist/mining/estimate-input.d.ts.map +1 -0
  797. package/dist/mining/estimate-input.js +86 -0
  798. package/dist/mining/estimate-input.js.map +1 -0
  799. package/dist/mining/estimate.d.ts +114 -0
  800. package/dist/mining/estimate.d.ts.map +1 -0
  801. package/dist/mining/estimate.js +127 -0
  802. package/dist/mining/estimate.js.map +1 -0
  803. package/dist/mining/index.d.ts +10 -2
  804. package/dist/mining/index.d.ts.map +1 -1
  805. package/dist/mining/index.js +11 -13
  806. package/dist/mining/index.js.map +1 -1
  807. package/dist/mining/profile.d.ts +82 -0
  808. package/dist/mining/profile.d.ts.map +1 -0
  809. package/dist/mining/profile.js +109 -0
  810. package/dist/mining/profile.js.map +1 -0
  811. package/dist/planning/assembly.d.ts +6 -1
  812. package/dist/planning/assembly.d.ts.map +1 -1
  813. package/dist/planning/assembly.js +12 -8
  814. package/dist/planning/assembly.js.map +1 -1
  815. package/dist/planning/execution.d.ts +19 -3
  816. package/dist/planning/execution.d.ts.map +1 -1
  817. package/dist/planning/execution.js +623 -72
  818. package/dist/planning/execution.js.map +1 -1
  819. package/dist/planning/index.d.ts +252 -165
  820. package/dist/planning/index.d.ts.map +1 -1
  821. package/dist/planning/index.js +31 -388
  822. package/dist/planning/index.js.map +1 -1
  823. package/dist/planning/plan-construction.d.ts +25 -0
  824. package/dist/planning/plan-construction.d.ts.map +1 -0
  825. package/dist/planning/plan-construction.js +143 -0
  826. package/dist/planning/plan-construction.js.map +1 -0
  827. package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
  828. package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
  829. package/dist/planning/plan-sequence-checkpoint.js +16 -7
  830. package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
  831. package/dist/planning/plan-sequence-execution.d.ts +5 -0
  832. package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
  833. package/dist/planning/plan-sequence-execution.js +74 -40
  834. package/dist/planning/plan-sequence-execution.js.map +1 -1
  835. package/dist/planning/plan-sequence.d.ts +2 -1
  836. package/dist/planning/plan-sequence.d.ts.map +1 -1
  837. package/dist/planning/plan-sequence.js +8 -1
  838. package/dist/planning/plan-sequence.js.map +1 -1
  839. package/dist/planning/plan-validation.d.ts +17 -0
  840. package/dist/planning/plan-validation.d.ts.map +1 -0
  841. package/dist/planning/plan-validation.js +147 -0
  842. package/dist/planning/plan-validation.js.map +1 -0
  843. package/dist/planning/simulation.d.ts +25 -1
  844. package/dist/planning/simulation.d.ts.map +1 -1
  845. package/dist/planning/simulation.js +111 -11
  846. package/dist/planning/simulation.js.map +1 -1
  847. package/dist/registry/cargo.d.ts +7 -12
  848. package/dist/registry/cargo.d.ts.map +1 -1
  849. package/dist/registry/cargo.js +19 -20
  850. package/dist/registry/cargo.js.map +1 -1
  851. package/dist/registry/definition-section-snapshot.d.ts +1 -1
  852. package/dist/registry/definition-section-snapshot.d.ts.map +1 -1
  853. package/dist/registry/definition-section-snapshot.js +10 -3
  854. package/dist/registry/definition-section-snapshot.js.map +1 -1
  855. package/dist/registry/docking.d.ts +10 -0
  856. package/dist/registry/docking.d.ts.map +1 -0
  857. package/dist/registry/docking.js +12 -0
  858. package/dist/registry/docking.js.map +1 -0
  859. package/dist/registry/index.d.ts +35 -4
  860. package/dist/registry/index.d.ts.map +1 -1
  861. package/dist/registry/index.js +226 -227
  862. package/dist/registry/index.js.map +1 -1
  863. package/dist/registry/onboarding.d.ts +10 -2
  864. package/dist/registry/onboarding.d.ts.map +1 -1
  865. package/dist/registry/onboarding.js +22 -7
  866. package/dist/registry/onboarding.js.map +1 -1
  867. package/dist/registry/scanning.d.ts +7 -0
  868. package/dist/registry/scanning.d.ts.map +1 -0
  869. package/dist/registry/scanning.js +13 -0
  870. package/dist/registry/scanning.js.map +1 -0
  871. package/dist/registry/ship-stats-snapshot.d.ts.map +1 -1
  872. package/dist/registry/ship-stats-snapshot.js +38 -24
  873. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  874. package/dist/registry/ships.d.ts +22 -2
  875. package/dist/registry/ships.d.ts.map +1 -1
  876. package/dist/registry/ships.js +31 -4
  877. package/dist/registry/ships.js.map +1 -1
  878. package/dist/registry/xp-runtime.d.ts +4 -0
  879. package/dist/registry/xp-runtime.d.ts.map +1 -0
  880. package/dist/registry/xp-runtime.js +14 -0
  881. package/dist/registry/xp-runtime.js.map +1 -0
  882. package/dist/rewards/index.d.ts +11 -5
  883. package/dist/rewards/index.d.ts.map +1 -1
  884. package/dist/rewards/index.js +10 -21
  885. package/dist/rewards/index.js.map +1 -1
  886. package/dist/scanning/actions/index.d.ts +116 -0
  887. package/dist/scanning/actions/index.d.ts.map +1 -0
  888. package/dist/scanning/actions/index.js +215 -0
  889. package/dist/scanning/actions/index.js.map +1 -0
  890. package/dist/scanning/index.d.ts +10 -12
  891. package/dist/scanning/index.d.ts.map +1 -1
  892. package/dist/scanning/index.js +19 -23
  893. package/dist/scanning/index.js.map +1 -1
  894. package/dist/scanning/lifecycle.d.ts +77 -0
  895. package/dist/scanning/lifecycle.d.ts.map +1 -0
  896. package/dist/scanning/lifecycle.js +93 -0
  897. package/dist/scanning/lifecycle.js.map +1 -0
  898. package/dist/scanning/odds.d.ts +115 -0
  899. package/dist/scanning/odds.d.ts.map +1 -0
  900. package/dist/scanning/odds.js +294 -0
  901. package/dist/scanning/odds.js.map +1 -0
  902. package/dist/scanning/signals.d.ts +126 -0
  903. package/dist/scanning/signals.d.ts.map +1 -0
  904. package/dist/scanning/signals.js +173 -0
  905. package/dist/scanning/signals.js.map +1 -0
  906. package/dist/starbases/actions/index.d.ts +49 -4
  907. package/dist/starbases/actions/index.d.ts.map +1 -1
  908. package/dist/starbases/actions/index.js +120 -69
  909. package/dist/starbases/actions/index.js.map +1 -1
  910. package/dist/starbases/index.d.ts +18 -0
  911. package/dist/starbases/index.d.ts.map +1 -1
  912. package/dist/starbases/index.js +24 -11
  913. package/dist/starbases/index.js.map +1 -1
  914. package/dist/world/index.d.ts +185 -6
  915. package/dist/world/index.d.ts.map +1 -1
  916. package/dist/world/index.js +186 -15
  917. package/dist/world/index.js.map +1 -1
  918. package/dist/world/planet-claim-stake-plots.d.ts +139 -0
  919. package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
  920. package/dist/world/planet-claim-stake-plots.js +117 -0
  921. package/dist/world/planet-claim-stake-plots.js.map +1 -0
  922. package/dist/world/starbase-status.d.ts +217 -0
  923. package/dist/world/starbase-status.d.ts.map +1 -0
  924. package/dist/world/starbase-status.js +218 -0
  925. package/dist/world/starbase-status.js.map +1 -0
  926. package/package.json +6 -2
@@ -0,0 +1,17 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { findCharacterPda } from '../c4/character.js';
3
+ import { deriveStarbasePlayerAddress } from '../c4/starbase.js';
4
+ /** Requires a loaded Starbase Player to belong to the authorization Profile,
5
+ * reference that Profile's canonical Character in the configured Game, and sit
6
+ * at its canonical address; returns the Character. Fresh-state checks remain
7
+ * the caller's. */
8
+ export async function requireProfileStarbasePlayer(player, profile, game) {
9
+ const character = await findCharacterPda(profile, game);
10
+ if (player.playerProfile.address !== profile ||
11
+ player.character.address !== character ||
12
+ (await deriveStarbasePlayerAddress(player.system.address, character)) !==
13
+ player.address)
14
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Starbase Player ${player.address} is not the canonical registration of authorization Profile ${profile} with its canonical Character ${character} in Star System ${player.system.address}. Load that Profile's Starbase Player through this context and retry.`, { address: player.address });
15
+ return character;
16
+ }
17
+ //# sourceMappingURL=starbase-player-owner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starbase-player-owner.js","sourceRoot":"","sources":["../../../src/internal/planning/starbase-player-owner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAUhE;;;mBAGmB;AACnB,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAA8B,EAC9B,OAAgB,EAChB,IAAa;IAEb,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,IACE,MAAM,CAAC,aAAa,CAAC,OAAO,KAAK,OAAO;QACxC,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;QACtC,CAAC,MAAM,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACnE,MAAM,CAAC,OAAO;QAEhB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,mBAAmB,MAAM,CAAC,OAAO,+DAA+D,OAAO,iCAAiC,SAAS,mBAAmB,MAAM,CAAC,MAAM,CAAC,OAAO,uEAAuE,EAChQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAC5B,CAAC;IACJ,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
2
+ /** Binds every StarbasePlayer recovery to the safety it was planned with,
3
+ * whatever a saved or custom Plan carries: the supported layout with the funder
4
+ * as sole signer, an account-state guard for the StarbasePlayer it empties and a
5
+ * Starbase generation guard for its Star System and Game. */
6
+ export declare function validateStarbasePlayerRecoveryInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
7
+ //# sourceMappingURL=starbase-player-recovery-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starbase-player-recovery-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/starbase-player-recovery-guard.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAc1E;;;6DAG6D;AAC7D,wBAAgB,0CAA0C,CACxD,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAoCN"}
@@ -0,0 +1,39 @@
1
+ import { AccountRole } from '@solana/kit';
2
+ import { InvalidActionInputError } from '../../client/errors.js';
3
+ import { DESTROY_STARBASE_PLAYER_DISCRIMINATOR } from '../c4/discriminators.js';
4
+ import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
5
+ import { SYSTEM_PROGRAM } from '../system-program.js';
6
+ function isRecovery(instruction) {
7
+ return (instruction.programAddress === SAGE_PROGRAM_ADDRESS &&
8
+ DESTROY_STARBASE_PLAYER_DISCRIMINATOR.every((byte, index) => instruction.data?.[index] === byte));
9
+ }
10
+ /** Binds every StarbasePlayer recovery to the safety it was planned with,
11
+ * whatever a saved or custom Plan carries: the supported layout with the funder
12
+ * as sole signer, an account-state guard for the StarbasePlayer it empties and a
13
+ * Starbase generation guard for its Star System and Game. */
14
+ export function validateStarbasePlayerRecoveryInstructions(steps, guards) {
15
+ for (const { instruction, signers } of steps) {
16
+ if (!isRecovery(instruction))
17
+ continue;
18
+ const metas = instruction.accounts;
19
+ const [profile, system, player, funder, game, systemProgram] = metas ?? [];
20
+ if (metas?.length !== 6 ||
21
+ instruction.data?.length !==
22
+ DESTROY_STARBASE_PLAYER_DISCRIMINATOR.length ||
23
+ profile.role !== AccountRole.WRITABLE ||
24
+ system.role !== AccountRole.READONLY ||
25
+ player.role !== AccountRole.WRITABLE ||
26
+ funder.role !== AccountRole.WRITABLE_SIGNER ||
27
+ game.role !== AccountRole.READONLY ||
28
+ systemProgram.role !== AccountRole.READONLY ||
29
+ systemProgram.address !== SYSTEM_PROGRAM ||
30
+ signers.length !== 1 ||
31
+ signers[0] !== funder.address ||
32
+ guards.filter((guard) => guard.kind === 'account-state' && guard.address === player.address).length !== 1 ||
33
+ !guards.some((guard) => guard.kind === 'starbase-system' &&
34
+ guard.address === system.address &&
35
+ guard.game === game.address))
36
+ throw new InvalidActionInputError('starbasePlayerRecovery', undefined, 'the supported recovery layout, one account-state guard for its StarbasePlayer and a Starbase generation guard for its Star System and Game', 'Recreate the recovery Plan with planDestroyStarbasePlayer; a saved Plan cannot drop the checks that protect its irreversible effects.');
37
+ }
38
+ }
39
+ //# sourceMappingURL=starbase-player-recovery-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starbase-player-recovery-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/starbase-player-recovery-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,SAAS,UAAU,CAAC,WAAwB;IAC1C,OAAO,CACL,WAAW,CAAC,cAAc,KAAK,oBAAoB;QACnD,qCAAqC,CAAC,KAAK,CACzC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CACpD,CACF,CAAC;AACJ,CAAC;AAED;;;6DAG6D;AAC7D,MAAM,UAAU,0CAA0C,CACxD,KAA0B,EAC1B,MAAmC;IAEnC,KAAK,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,SAAS;QACvC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC;QACnC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAC3E,IACE,KAAK,EAAE,MAAM,KAAK,CAAC;YACnB,WAAW,CAAC,IAAI,EAAE,MAAM;gBACtB,qCAAqC,CAAC,MAAM;YAC9C,OAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ;YACtC,MAAO,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ;YACrC,MAAO,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ;YACrC,MAAO,CAAC,IAAI,KAAK,WAAW,CAAC,eAAe;YAC5C,IAAK,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ;YACnC,aAAc,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ;YAC5C,aAAc,CAAC,OAAO,KAAK,cAAc;YACzC,OAAO,CAAC,MAAM,KAAK,CAAC;YACpB,OAAO,CAAC,CAAC,CAAC,KAAK,MAAO,CAAC,OAAO;YAC9B,MAAM,CAAC,MAAM,CACX,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,OAAO,KAAK,MAAO,CAAC,OAAO,CACtE,CAAC,MAAM,KAAK,CAAC;YACd,CAAC,MAAM,CAAC,IAAI,CACV,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,iBAAiB;gBAChC,KAAK,CAAC,OAAO,KAAK,MAAO,CAAC,OAAO;gBACjC,KAAK,CAAC,IAAI,KAAK,IAAK,CAAC,OAAO,CAC/B;YAED,MAAM,IAAI,uBAAuB,CAC/B,wBAAwB,EACxB,SAAS,EACT,4IAA4I,EAC5I,uIAAuI,CACxI,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
2
+ /** Binds required guards to actual instruction accounts without pulling byte decoders into every action entry. */
3
+ export declare function validateStarbaseSystemGuards(steps: readonly PlanStep[], preconditions: readonly PlanPrecondition[]): void;
4
+ /** Hydration and assembly additionally verify exact bytes with the pinned generated decoders. */
5
+ export declare function validateStarbaseSystemInstructions(steps: readonly PlanStep[], preconditions: readonly PlanPrecondition[]): void;
6
+ //# sourceMappingURL=starbase-system-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starbase-system-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/starbase-system-guard.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AA6D1E,kHAAkH;AAClH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,aAAa,EAAE,SAAS,gBAAgB,EAAE,GACzC,IAAI,CAmBN;AAED,iGAAiG;AACjG,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,aAAa,EAAE,SAAS,gBAAgB,EAAE,GACzC,IAAI,CAoBN"}
@@ -0,0 +1,94 @@
1
+ import { AccountRole } from '@solana/kit';
2
+ import { SageSdkError } from '../../client/errors.js';
3
+ import { getDepositCargoToGameInstructionDataDecoder, getWithdrawCargoFromGameInstructionDataDecoder, getAddShipEscrowInstructionDataDecoder, getCancelCraftingProcessInstructionDataDecoder, SAGE_PROGRAM_ADDRESS, } from '../c4/runtime-bindings.js';
4
+ import { ADD_SHIP_ESCROW_DISCRIMINATOR, CANCEL_CRAFTING_PROCESS_DISCRIMINATOR, DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR, WITHDRAW_CARGO_FROM_GAME_DISCRIMINATOR, } from '../c4/discriminators.js';
5
+ // Pure instruction metadata keeps the Plan factory independent of generated data decoders.
6
+ function routeFor(instruction) {
7
+ if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS)
8
+ return undefined;
9
+ const routes = [
10
+ {
11
+ discriminator: CANCEL_CRAFTING_PROCESS_DISCRIMINATOR,
12
+ decoder: 0,
13
+ count: 11,
14
+ game: 5,
15
+ system: 6,
16
+ css: false,
17
+ planner: 'planCancelCraftingProcess',
18
+ },
19
+ {
20
+ discriminator: DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR,
21
+ decoder: 1,
22
+ count: 13,
23
+ game: 8,
24
+ system: 4,
25
+ css: true,
26
+ planner: 'planDepositCargoToGame',
27
+ },
28
+ {
29
+ discriminator: WITHDRAW_CARGO_FROM_GAME_DISCRIMINATOR,
30
+ decoder: 2,
31
+ count: 11,
32
+ game: 6,
33
+ system: 4,
34
+ css: false,
35
+ planner: 'planWithdrawCargoFromGame',
36
+ },
37
+ {
38
+ discriminator: ADD_SHIP_ESCROW_DISCRIMINATOR,
39
+ decoder: 3,
40
+ count: 14,
41
+ game: 11,
42
+ system: 7,
43
+ css: true,
44
+ planner: 'planDepositShipsToGame',
45
+ },
46
+ ];
47
+ return routes.find(({ discriminator }) => discriminator.every((byte, index) => instruction.data?.[index] === byte));
48
+ }
49
+ function fail(planner) {
50
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `This Starbase action has an unsupported instruction layout or lacks its matching finite Starbase System safeguard. Recreate it with ${planner}; an exact account hash does not replace this safeguard.`);
51
+ }
52
+ /** Binds required guards to actual instruction accounts without pulling byte decoders into every action entry. */
53
+ export function validateStarbaseSystemGuards(steps, preconditions) {
54
+ for (const { instruction } of steps) {
55
+ const route = routeFor(instruction);
56
+ if (!route)
57
+ continue;
58
+ const accounts = instruction.accounts;
59
+ if (accounts?.length !== route.count ||
60
+ accounts[route.game].role !== AccountRole.READONLY ||
61
+ accounts[route.system].role !== AccountRole.READONLY ||
62
+ !preconditions.some((guard) => guard.kind === 'starbase-system' &&
63
+ guard.address === accounts[route.system].address &&
64
+ guard.game === accounts[route.game].address &&
65
+ (!route.css || guard.requireCss === true)))
66
+ fail(route.planner);
67
+ }
68
+ }
69
+ /** Hydration and assembly additionally verify exact bytes with the pinned generated decoders. */
70
+ export function validateStarbaseSystemInstructions(steps, preconditions) {
71
+ validateStarbaseSystemGuards(steps, preconditions);
72
+ const decoders = [
73
+ getCancelCraftingProcessInstructionDataDecoder,
74
+ getDepositCargoToGameInstructionDataDecoder,
75
+ getWithdrawCargoFromGameInstructionDataDecoder,
76
+ getAddShipEscrowInstructionDataDecoder,
77
+ ];
78
+ for (const { instruction } of steps) {
79
+ const route = routeFor(instruction);
80
+ if (!route)
81
+ continue;
82
+ let exactData = false;
83
+ try {
84
+ const [, size] = decoders[route.decoder]().read(instruction.data, 0);
85
+ exactData = size === instruction.data.length;
86
+ }
87
+ catch {
88
+ // Truncated instruction arguments are not a supported route.
89
+ }
90
+ if (!exactData)
91
+ fail(route.planner);
92
+ }
93
+ }
94
+ //# sourceMappingURL=starbase-system-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starbase-system-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/starbase-system-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ type StarbaseSystemIntent = {
4
+ readonly address: Address;
5
+ readonly game: Address;
6
+ readonly starbaseSequenceId: bigint;
7
+ readonly requireCss?: boolean;
8
+ };
9
+ /** Checks finite System/Starbase identity and the action's station policy.
10
+ * `staleStarbaseGuidance` lets a planner add action-specific advice for a
11
+ * replaced Starbase; execution and other actions use the neutral default.
12
+ */
13
+ export declare function validateStarbaseSystem(account: RawAccount, intent: StarbaseSystemIntent, staleStarbaseGuidance?: string): Promise<void>;
14
+ export {};
15
+ //# sourceMappingURL=starbase-system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starbase-system.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/starbase-system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAO5D,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAUF;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,oBAAoB,EAC5B,qBAAqB,SAA0E,GAC9F,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
@@ -0,0 +1,25 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../c4/world.js';
3
+ function fail(address, reason) {
4
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `${reason} Refresh the Star System and recreate the action Plan for its current Starbase.`, { address });
5
+ }
6
+ /** Checks finite System/Starbase identity and the action's station policy.
7
+ * `staleStarbaseGuidance` lets a planner add action-specific advice for a
8
+ * replaced Starbase; execution and other actions use the neutral default.
9
+ */
10
+ export async function validateStarbaseSystem(account, intent, staleStarbaseGuidance = 'The Starbase was destroyed or replaced after this action was planned.') {
11
+ if (account.address !== intent.address || account.executable)
12
+ fail(intent.address, 'The Star System has an unexpected address or is executable instead of account state.');
13
+ const system = starSystemAccountDefinition.decode(account);
14
+ if (system.game !== intent.game ||
15
+ (await deriveStarSystemAddress(intent.game, system.systemId)) !==
16
+ intent.address)
17
+ fail(intent.address, `Star System ${intent.address} does not match the configured Game or canonical system-id PDA.`);
18
+ if (system.sequenceId !== intent.starbaseSequenceId)
19
+ fail(intent.address, `The Starbase sequence is stale at ${intent.starbaseSequenceId}, while Star System ${intent.address} is at sequence ${system.sequenceId}. ${staleStarbaseGuidance}`);
20
+ if (system.starbase === undefined)
21
+ fail(intent.address, `Star System ${intent.address} does not have an active Starbase.`);
22
+ if (intent.requireCss && system.starbase.maxLevel.kind !== 'css')
23
+ fail(intent.address, 'This wallet deposit requires a Central Space Station.');
24
+ }
25
+ //# sourceMappingURL=starbase-system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starbase-system.js","sourceRoot":"","sources":["../../../src/internal/planning/starbase-system.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AASxB,SAAS,IAAI,CAAC,OAAgB,EAAE,MAAc;IAC5C,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,GAAG,MAAM,iFAAiF,EAC1F,EAAE,OAAO,EAAE,CACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAmB,EACnB,MAA4B,EAC5B,qBAAqB,GAAG,uEAAuE;IAE/F,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU;QAC1D,IAAI,CACF,MAAM,CAAC,OAAO,EACd,sFAAsF,CACvF,CAAC;IACJ,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,IACE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC3B,CAAC,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO;QAEhB,IAAI,CACF,MAAM,CAAC,OAAO,EACd,eAAe,MAAM,CAAC,OAAO,iEAAiE,CAC/F,CAAC;IACJ,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,kBAAkB;QACjD,IAAI,CACF,MAAM,CAAC,OAAO,EACd,qCAAqC,MAAM,CAAC,kBAAkB,uBAAuB,MAAM,CAAC,OAAO,mBAAmB,MAAM,CAAC,UAAU,KAAK,qBAAqB,EAAE,CACpK,CAAC;IACJ,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC/B,IAAI,CACF,MAAM,CAAC,OAAO,EACd,eAAe,MAAM,CAAC,OAAO,oCAAoC,CAClE,CAAC;IACJ,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK;QAC9D,IAAI,CACF,MAAM,CAAC,OAAO,EACd,uDAAuD,CACxD,CAAC;AACN,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Address, Instruction } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import { type StorageInstruction } from './profile-storage-funding-guard.js';
4
+ import type { StorageAction } from './storage-actions.js';
5
+ /** Fresh accounts an instruction's storage reads, besides the Profile, Rent
6
+ * sysvar and Game. */
7
+ export declare function storageActionAccounts(kind: StorageInstruction, instruction: Instruction): readonly Address[];
8
+ /** Reads any Profile-funded instruction's storage effect, for execution. */
9
+ export declare function readStorageAction(instruction: Instruction, accounts: ReadonlyMap<Address, RawAccount | undefined>, cargoIdForMint: (mint: Address) => number | undefined): StorageAction;
10
+ //# sourceMappingURL=storage-action-readers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-action-readers.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/storage-action-readers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAU5D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAsD1D;sBACsB;AACtB,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,WAAW,GACvB,SAAS,OAAO,EAAE,CAIpB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,GACpD,aAAa,CAMf"}
@@ -0,0 +1,58 @@
1
+ import { readCargoStorageAction } from './cargo-storage-actions.js';
2
+ import { readClaimStakeStorageAction } from './claim-stake-storage-actions.js';
3
+ import { readCombatStorageAction } from './combat-storage-actions.js';
4
+ import { readCraftingStorageAction } from './crafting-storage-actions.js';
5
+ import { readDisbandStorageAction } from './disband-storage-actions.js';
6
+ import { readMarketStorageAction } from './market-storage-actions.js';
7
+ import { readMiningStorageAction } from './mining-storage-actions.js';
8
+ import { readMovementStorageAction } from './movement-storage-actions.js';
9
+ import { readScanStorageAction } from './scan-storage-actions.js';
10
+ import { storageInstruction, } from './profile-storage-funding-guard.js';
11
+ // Execution reads stimulant stats from the Game, never from the caller.
12
+ const readCombat = (instruction, accounts) => readCombatStorageAction(instruction, accounts);
13
+ /** Each kind's reader and the instruction accounts it reads fresh, besides the
14
+ * Profile, Rent sysvar and Game. */
15
+ const READERS = {
16
+ deposit: { accounts: [5, 10], read: readCargoStorageAction },
17
+ 'starbase-transfer': { accounts: [4, 8], read: readCargoStorageAction },
18
+ 'within-fleet-transfer': { accounts: [4], read: readCargoStorageAction },
19
+ 'start-mining': { accounts: [4], read: readMiningStorageAction },
20
+ 'stop-mining': { accounts: [5], read: readMiningStorageAction },
21
+ 'stop-subwarp': { accounts: [5], read: readMovementStorageAction },
22
+ 'start-subwarp': { accounts: [5], read: readMovementStorageAction },
23
+ 'warp-to-coordinate': { accounts: [5], read: readMovementStorageAction },
24
+ 'warp-lane': { accounts: [5], read: readMovementStorageAction },
25
+ 'cancel-market-orders': { accounts: [8, 7], read: readMarketStorageAction },
26
+ 'faction-trade': {
27
+ accounts: [8, 9, 10, 7],
28
+ read: readMarketStorageAction,
29
+ },
30
+ 'start-crafting': { accounts: [8, 7], read: readCraftingStorageAction },
31
+ 'cancel-crafting': { accounts: [7, 8], read: readCraftingStorageAction },
32
+ 'apply-stimulant': { accounts: [4, 5], read: readCombat },
33
+ 'retrieve-loot': { accounts: [4], read: readCombat },
34
+ 'recover-signal': { accounts: [5, 9], read: readScanStorageAction },
35
+ 'place-claim-stake': {
36
+ accounts: [0, 9, 7],
37
+ read: readClaimStakeStorageAction,
38
+ },
39
+ 'claim-stake-building-changes': {
40
+ accounts: [6],
41
+ read: readClaimStakeStorageAction,
42
+ },
43
+ 'start-claim-stake-transfer': {
44
+ accounts: [4, 5],
45
+ read: readClaimStakeStorageAction,
46
+ },
47
+ disband: { accounts: [5, 8], read: readDisbandStorageAction },
48
+ };
49
+ /** Fresh accounts an instruction's storage reads, besides the Profile, Rent
50
+ * sysvar and Game. */
51
+ export function storageActionAccounts(kind, instruction) {
52
+ return READERS[kind].accounts.map((index) => instruction.accounts[index].address);
53
+ }
54
+ /** Reads any Profile-funded instruction's storage effect, for execution. */
55
+ export function readStorageAction(instruction, accounts, cargoIdForMint) {
56
+ return READERS[storageInstruction(instruction).kind].read(instruction, accounts, cargoIdForMint);
57
+ }
58
+ //# sourceMappingURL=storage-action-readers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-action-readers.js","sourceRoot":"","sources":["../../../src/internal/planning/storage-action-readers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EACL,kBAAkB,GAEnB,MAAM,oCAAoC,CAAC;AAS5C,wEAAwE;AACxE,MAAM,UAAU,GAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,CACnD,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEjD;oCACoC;AACpC,MAAM,OAAO,GAKT;IACF,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC5D,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACvE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACxE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAChE,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAC/D,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IAClE,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACnE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACxE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IAC/D,sBAAsB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAC3E,eAAe,EAAE;QACf,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvB,IAAI,EAAE,uBAAuB;KAC9B;IACD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACvE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACxE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IACzD,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IACpD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACnE,mBAAmB,EAAE;QACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,EAAE,2BAA2B;KAClC;IACD,8BAA8B,EAAE;QAC9B,QAAQ,EAAE,CAAC,CAAC,CAAC;QACb,IAAI,EAAE,2BAA2B;KAClC;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,EAAE,2BAA2B;KAClC;IACD,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE;CAC9D,CAAC;AAEF;sBACsB;AACtB,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,WAAwB;IAExB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,QAAS,CAAC,KAAK,CAAE,CAAC,OAAO,CACjD,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAC/B,WAAwB,EACxB,QAAsD,EACtD,cAAqD;IAErD,OAAO,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CACxD,WAAW,EACX,QAAQ,EACR,cAAc,CACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { type Address, type Instruction } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import type { PlanStep } from '../../planning/index.js';
4
+ import { type ProfileStorageFundingGuard, type StorageInstruction } from './profile-storage-funding-guard.js';
5
+ import { type ProfileStorageFunding } from './profile-storage-funding.js';
6
+ export type CargoLines = ReadonlyMap<number, bigint>;
7
+ /** The encoded size of a Fleet's state in the fresh account and after the
8
+ * action. A Plan tracks each Fleet's state across its actions, so a change is
9
+ * measured from the state the earlier actions left, not the fresh one. */
10
+ export interface StateChange {
11
+ readonly fresh: number;
12
+ readonly after: number;
13
+ }
14
+ /** One account an action resizes or creates: a fixed byte change (such as the
15
+ * orders a Local Market drops, or the whole size of a new account), a Fleet
16
+ * state change, and, when it changes a cargo pod, the lines the fresh pod
17
+ * holds and those the action adds to and consumes from. */
18
+ export type StorageAccount = {
19
+ readonly address: Address;
20
+ /** The action creates the account, so it starts empty and unfunded. */
21
+ readonly created?: true;
22
+ readonly growthBytes?: number;
23
+ /** Bytes the program funds beyond the account's size, such as the growth a
24
+ * Claim Stake's rent floor reserves. */
25
+ readonly reservedBytes?: number;
26
+ readonly state?: StateChange;
27
+ } & ({
28
+ readonly held?: undefined;
29
+ } | {
30
+ readonly held: CargoLines;
31
+ readonly added: CargoLines;
32
+ readonly removed?: CargoLines;
33
+ });
34
+ /** How the program settles the resized accounts: each normalized on its own,
35
+ * or one net shortfall across them, where one account's surplus funds another. */
36
+ export type StorageSettlement = 'each' | 'net';
37
+ /** What one instruction does to Profile-funded storage, read from its bytes. */
38
+ export interface StorageAction {
39
+ readonly profile: Address;
40
+ readonly authority: Address;
41
+ readonly keyIndex: number;
42
+ readonly settlement: StorageSettlement;
43
+ readonly accounts: readonly [StorageAccount, ...StorageAccount[]];
44
+ }
45
+ /** One evaluated action's Profile debit. */
46
+ export interface StorageEvaluation {
47
+ readonly profileDebit: bigint;
48
+ }
49
+ export declare const NONE: CargoLines;
50
+ export declare function totals(entries: readonly (readonly [number, bigint | undefined])[]): CargoLines;
51
+ export declare function present(accounts: ReadonlyMap<Address, RawAccount | undefined>, address: Address): RawAccount;
52
+ /** Evaluates actions in order, as the program runs them: each resized account
53
+ * changes by its state change plus a line per cargo id a pod gains and minus a
54
+ * line its consumption empties, and after each action every resized account
55
+ * holds exactly the rent minimum of its new size. Later actions therefore see
56
+ * the state, storage and surplus earlier ones left. */
57
+ export declare function evaluateStorage(actions: readonly StorageAction[], accounts: ReadonlyMap<Address, RawAccount | undefined>): readonly StorageEvaluation[];
58
+ /** The Profile-funded steps of a Plan, in order. */
59
+ export declare function storageSteps(steps: readonly PlanStep[]): readonly (PlanStep & {
60
+ readonly kind: StorageInstruction;
61
+ readonly signer: number;
62
+ })[];
63
+ /** One guard's rechecked funding, or the failure to report for it. */
64
+ export type StorageResult = {
65
+ readonly funding: ProfileStorageFunding;
66
+ } | {
67
+ readonly error: unknown;
68
+ };
69
+ /** Rechecks every Profile-funded action's storage before signing. Each
70
+ * action's effect is rederived from its instruction bytes and the fresh
71
+ * accounts, never taken from its guard, and the actions are evaluated in order
72
+ * so each meets the state, storage and surplus the earlier ones left. Each
73
+ * debit must stay within its guard's ceiling and pass the key and balance
74
+ * checks. A Fleet whose state an earlier, unevaluated action writes is refused,
75
+ * since its state change could not be measured. */
76
+ export declare function validateStorageFunding(steps: readonly PlanStep[], guards: readonly ProfileStorageFundingGuard[], accounts: ReadonlyMap<Address, RawAccount | undefined>, readAction: (instruction: Instruction) => StorageAction): ReadonlyMap<ProfileStorageFundingGuard, StorageResult>;
77
+ /** Plans one action's storage funding from the same derivation execution
78
+ * repeats: its guard and the Plan summary sentence. */
79
+ export declare function planStorageFunding(input: {
80
+ readonly action: StorageAction;
81
+ readonly accounts: ReadonlyMap<Address, RawAccount | undefined>;
82
+ readonly label: string;
83
+ /** Actions the Plan is meant to run first, such as a subwarp settlement. */
84
+ readonly preceding?: readonly StorageAction[];
85
+ }): {
86
+ readonly guard: ProfileStorageFundingGuard;
87
+ readonly disclosure: string;
88
+ };
89
+ //# sourceMappingURL=storage-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-actions.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/storage-actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ import { isWritableRole } from '@solana/kit';
2
+ import { SageSdkError } from '../../client/errors.js';
3
+ import { CARGO_LINE_BYTES, storageInstruction, } from './profile-storage-funding-guard.js';
4
+ import { checkProfileStorageFunding, profileStorageFundingGuard, } from './profile-storage-funding.js';
5
+ import { RENT_ADDRESS, readRent } from './rent.js';
6
+ export const NONE = new Map();
7
+ function fail(address, message) {
8
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
9
+ }
10
+ export function totals(entries) {
11
+ const sums = new Map();
12
+ for (const [cargoId, amount] of entries)
13
+ if (amount !== undefined && amount > 0n)
14
+ sums.set(cargoId, (sums.get(cargoId) ?? 0n) + amount);
15
+ return sums;
16
+ }
17
+ export function present(accounts, address) {
18
+ const raw = accounts.get(address);
19
+ if (!raw || raw.executable)
20
+ fail(address, `Account ${address} is missing or executable, so the action's storage funding cannot be checked. Refresh it and replan the action.`);
21
+ return raw;
22
+ }
23
+ /** Evaluates actions in order, as the program runs them: each resized account
24
+ * changes by its state change plus a line per cargo id a pod gains and minus a
25
+ * line its consumption empties, and after each action every resized account
26
+ * holds exactly the rent minimum of its new size. Later actions therefore see
27
+ * the state, storage and surplus earlier ones left. */
28
+ export function evaluateStorage(actions, accounts) {
29
+ const rent = readRent(present(accounts, RENT_ADDRESS));
30
+ const state = new Map();
31
+ return actions.map((action) => {
32
+ let deficit = 0n;
33
+ let excess = 0n;
34
+ for (const account of action.accounts) {
35
+ let current = state.get(account.address);
36
+ if (!current) {
37
+ const raw = account.created
38
+ ? undefined
39
+ : present(accounts, account.address);
40
+ current = {
41
+ lamports: raw?.lamports ?? 0n,
42
+ length: raw?.data.length ?? 0,
43
+ };
44
+ state.set(account.address, current);
45
+ }
46
+ if (account.state) {
47
+ current.length +=
48
+ account.state.after - (current.state ?? account.state.fresh);
49
+ current.state = account.state.after;
50
+ }
51
+ let lines = 0;
52
+ if (account.held !== undefined) {
53
+ current.lines ??= new Map(account.held);
54
+ const { added } = account;
55
+ const removed = account.removed ?? NONE;
56
+ for (const cargoId of new Set([...added.keys(), ...removed.keys()])) {
57
+ const held = current.lines.get(cargoId);
58
+ const after = (held ?? 0n) +
59
+ (added.get(cargoId) ?? 0n) -
60
+ (removed.get(cargoId) ?? 0n);
61
+ if (held === undefined && after > 0n)
62
+ lines += 1;
63
+ else if (held !== undefined && after <= 0n)
64
+ lines -= 1;
65
+ // Only consumption can empty a line; an added line stays positive.
66
+ if (after > 0n)
67
+ current.lines.set(cargoId, after);
68
+ else
69
+ current.lines.delete(cargoId);
70
+ }
71
+ }
72
+ current.length += (account.growthBytes ?? 0) + lines * CARGO_LINE_BYTES;
73
+ // The program leaves a zero-lamport account unchanged, unless the action
74
+ // creates it and funds its rent.
75
+ if (current.lamports === 0n && !account.created)
76
+ continue;
77
+ const minimum = rent(current.length + (account.reservedBytes ?? 0));
78
+ if (current.lamports < minimum)
79
+ deficit += minimum - current.lamports;
80
+ else
81
+ excess += current.lamports - minimum;
82
+ current.lamports = minimum;
83
+ }
84
+ const profileDebit = action.settlement === 'each'
85
+ ? deficit
86
+ : deficit > excess
87
+ ? deficit - excess
88
+ : 0n;
89
+ return { profileDebit };
90
+ });
91
+ }
92
+ /** The Profile-funded steps of a Plan, in order. */
93
+ export function storageSteps(steps) {
94
+ return steps.flatMap((step) => {
95
+ const known = storageInstruction(step.instruction);
96
+ return known ? [{ ...step, kind: known.kind, signer: known.signer }] : [];
97
+ });
98
+ }
99
+ /** Rechecks every Profile-funded action's storage before signing. Each
100
+ * action's effect is rederived from its instruction bytes and the fresh
101
+ * accounts, never taken from its guard, and the actions are evaluated in order
102
+ * so each meets the state, storage and surplus the earlier ones left. Each
103
+ * debit must stay within its guard's ceiling and pass the key and balance
104
+ * checks. A Fleet whose state an earlier, unevaluated action writes is refused,
105
+ * since its state change could not be measured. */
106
+ export function validateStorageFunding(steps, guards, accounts, readAction) {
107
+ const results = new Map();
108
+ const remaining = [...guards];
109
+ const unevaluated = new Set();
110
+ const bound = [];
111
+ for (const { instruction } of steps) {
112
+ const known = storageInstruction(instruction);
113
+ if (!known) {
114
+ for (const meta of instruction.accounts ?? [])
115
+ if (isWritableRole(meta.role))
116
+ unevaluated.add(meta.address);
117
+ continue;
118
+ }
119
+ const action = readAction(instruction);
120
+ for (const account of action.accounts)
121
+ if (account.state && unevaluated.has(account.address))
122
+ fail(account.address, `An earlier action in this Plan changes Fleet ${account.address} before an action whose storage depends on the Fleet's state, so that storage cannot be bounded. Execute the earlier action as its own Plan, refresh the Fleet and replan.`);
123
+ if (!known.guarded) {
124
+ bound.push({ guard: undefined, action });
125
+ continue;
126
+ }
127
+ // Plan validation already bound each guarded instruction to exactly one
128
+ // guard.
129
+ const index = remaining.findIndex((guard) => guard.profile === action.profile &&
130
+ guard.authority === action.authority &&
131
+ guard.address === action.accounts[0].address);
132
+ const [guard] = remaining.splice(index, 1);
133
+ bound.push({ guard: guard, action });
134
+ }
135
+ const ordered = evaluateStorage(bound.map(({ action }) => action), accounts);
136
+ bound.forEach(({ guard, action }, index) => {
137
+ const { profileDebit } = ordered[index];
138
+ if (!guard) {
139
+ // A subwarp stop only shrinks a rent-exact Fleet. Anything else
140
+ // would be a draw no guard bounds.
141
+ if (profileDebit > 0n)
142
+ fail(action.accounts[0].address, `Stopping Fleet ${action.accounts[0].address}'s subwarp now needs ${profileDebit} Profile lamports for storage, which this Plan does not bound. Settle the subwarp as its own Plan, refresh the Fleet and replan.`);
143
+ return;
144
+ }
145
+ try {
146
+ results.set(guard, {
147
+ funding: checkProfileStorageFunding({
148
+ profileRaw: present(accounts, guard.profile),
149
+ rentRaw: present(accounts, RENT_ADDRESS),
150
+ authority: action.authority,
151
+ keyIndex: action.keyIndex,
152
+ profileDebit,
153
+ action: 'action',
154
+ maximumProfileDebit: guard.maximumProfileDebit,
155
+ }),
156
+ });
157
+ }
158
+ catch (error) {
159
+ results.set(guard, { error });
160
+ }
161
+ });
162
+ return results;
163
+ }
164
+ /** Plans one action's storage funding from the same derivation execution
165
+ * repeats: its guard and the Plan summary sentence. */
166
+ export function planStorageFunding(input) {
167
+ const { action } = input;
168
+ const evaluated = evaluateStorage([...(input.preceding ?? []), action], input.accounts).at(-1);
169
+ return profileStorageFundingGuard({
170
+ address: action.accounts[0].address,
171
+ profile: action.profile,
172
+ authority: action.authority,
173
+ funding: checkProfileStorageFunding({
174
+ profileRaw: present(input.accounts, action.profile),
175
+ rentRaw: present(input.accounts, RENT_ADDRESS),
176
+ authority: action.authority,
177
+ keyIndex: action.keyIndex,
178
+ profileDebit: evaluated.profileDebit,
179
+ action: input.label,
180
+ }),
181
+ });
182
+ }
183
+ //# sourceMappingURL=storage-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/storage-actions.ts"],"names":[],"mappings":"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"}