@aephia/atlas-kit 0.6.0-next.16 → 0.6.0-next.161

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 (905) 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 +12 -6
  7. package/dist/cargo/actions/index.d.ts.map +1 -1
  8. package/dist/cargo/actions/index.js +98 -94
  9. package/dist/cargo/actions/index.js.map +1 -1
  10. package/dist/cargo/actions/wallet-context.d.ts +52 -3
  11. package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
  12. package/dist/cargo/actions/wallet-context.js +118 -7
  13. package/dist/cargo/actions/wallet-context.js.map +1 -1
  14. package/dist/cargo/actions/wallet-token.d.ts +1 -6
  15. package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
  16. package/dist/cargo/actions/wallet-token.js +0 -45
  17. package/dist/cargo/actions/wallet-token.js.map +1 -1
  18. package/dist/cargo/actions/withdrawal.d.ts +1 -1
  19. package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
  20. package/dist/cargo/actions/withdrawal.js +39 -168
  21. package/dist/cargo/actions/withdrawal.js.map +1 -1
  22. package/dist/cargo/index.d.ts.map +1 -1
  23. package/dist/cargo/index.js +2 -10
  24. package/dist/cargo/index.js.map +1 -1
  25. package/dist/claim-stakes/actions/index.d.ts +93 -14
  26. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  27. package/dist/claim-stakes/actions/index.js +713 -742
  28. package/dist/claim-stakes/actions/index.js.map +1 -1
  29. package/dist/claim-stakes/index.d.ts +21 -6
  30. package/dist/claim-stakes/index.d.ts.map +1 -1
  31. package/dist/claim-stakes/index.js +33 -19
  32. package/dist/claim-stakes/index.js.map +1 -1
  33. package/dist/client/context.d.ts.map +1 -1
  34. package/dist/client/context.js +1 -1
  35. package/dist/client/context.js.map +1 -1
  36. package/dist/client/contracts.d.ts +16 -6
  37. package/dist/client/contracts.d.ts.map +1 -1
  38. package/dist/client/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 +56 -0
  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 +35 -0
  50. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  51. package/dist/client/rpc-subscription-provider.js +190 -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 +42 -0
  98. package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
  99. package/dist/fleets/actions/crew-transfer.js +95 -0
  100. package/dist/fleets/actions/crew-transfer.js.map +1 -0
  101. package/dist/fleets/actions/disband.d.ts +42 -0
  102. package/dist/fleets/actions/disband.d.ts.map +1 -0
  103. package/dist/fleets/actions/disband.js +107 -0
  104. package/dist/fleets/actions/disband.js.map +1 -0
  105. package/dist/fleets/actions/dock-bounds.d.ts +38 -0
  106. package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
  107. package/dist/fleets/actions/dock-bounds.js +46 -0
  108. package/dist/fleets/actions/dock-bounds.js.map +1 -0
  109. package/dist/fleets/actions/index.d.ts +89 -25
  110. package/dist/fleets/actions/index.d.ts.map +1 -1
  111. package/dist/fleets/actions/index.js +491 -353
  112. package/dist/fleets/actions/index.js.map +1 -1
  113. package/dist/fleets/actions/respawn.d.ts +38 -0
  114. package/dist/fleets/actions/respawn.d.ts.map +1 -0
  115. package/dist/fleets/actions/respawn.js +93 -0
  116. package/dist/fleets/actions/respawn.js.map +1 -0
  117. package/dist/fleets/actions/ship-import.d.ts +1 -1
  118. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  119. package/dist/fleets/actions/ship-import.js +61 -90
  120. package/dist/fleets/actions/ship-import.js.map +1 -1
  121. package/dist/fleets/actions/sync.d.ts +24 -0
  122. package/dist/fleets/actions/sync.d.ts.map +1 -0
  123. package/dist/fleets/actions/sync.js +55 -0
  124. package/dist/fleets/actions/sync.js.map +1 -0
  125. package/dist/fleets/composition-stats.d.ts +101 -0
  126. package/dist/fleets/composition-stats.d.ts.map +1 -0
  127. package/dist/fleets/composition-stats.js +354 -0
  128. package/dist/fleets/composition-stats.js.map +1 -0
  129. package/dist/fleets/cooldown.d.ts +47 -0
  130. package/dist/fleets/cooldown.d.ts.map +1 -0
  131. package/dist/fleets/cooldown.js +48 -0
  132. package/dist/fleets/cooldown.js.map +1 -0
  133. package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
  134. package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
  135. package/dist/fleets/coordinate-warp-estimate.js +46 -0
  136. package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
  137. package/dist/fleets/index.d.ts +36 -0
  138. package/dist/fleets/index.d.ts.map +1 -1
  139. package/dist/fleets/index.js +55 -12
  140. package/dist/fleets/index.js.map +1 -1
  141. package/dist/fleets/movement-arithmetic.d.ts +21 -0
  142. package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
  143. package/dist/fleets/movement-arithmetic.js +45 -0
  144. package/dist/fleets/movement-arithmetic.js.map +1 -0
  145. package/dist/fleets/subwarp-estimate.d.ts +72 -0
  146. package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
  147. package/dist/fleets/subwarp-estimate.js +40 -0
  148. package/dist/fleets/subwarp-estimate.js.map +1 -0
  149. package/dist/fleets/travel-profile.d.ts +102 -0
  150. package/dist/fleets/travel-profile.d.ts.map +1 -0
  151. package/dist/fleets/travel-profile.js +120 -0
  152. package/dist/fleets/travel-profile.js.map +1 -0
  153. package/dist/fleets/warp-lane-estimate.d.ts +59 -0
  154. package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
  155. package/dist/fleets/warp-lane-estimate.js +36 -0
  156. package/dist/fleets/warp-lane-estimate.js.map +1 -0
  157. package/dist/fleets/warp-lane-policy.d.ts +74 -0
  158. package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
  159. package/dist/fleets/warp-lane-policy.js +103 -0
  160. package/dist/fleets/warp-lane-policy.js.map +1 -0
  161. package/dist/fleets/warp-lane-toll.d.ts +55 -0
  162. package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
  163. package/dist/fleets/warp-lane-toll.js +79 -0
  164. package/dist/fleets/warp-lane-toll.js.map +1 -0
  165. package/dist/identity/actions/create-profile.d.ts +1 -1
  166. package/dist/identity/actions/create-profile.d.ts.map +1 -1
  167. package/dist/identity/actions/create-profile.js +2 -2
  168. package/dist/identity/actions/create-profile.js.map +1 -1
  169. package/dist/identity/actions/index.d.ts +5 -4
  170. package/dist/identity/actions/index.d.ts.map +1 -1
  171. package/dist/identity/actions/index.js +52 -29
  172. package/dist/identity/actions/index.js.map +1 -1
  173. package/dist/identity/actions/research-unlock.d.ts +61 -0
  174. package/dist/identity/actions/research-unlock.d.ts.map +1 -0
  175. package/dist/identity/actions/research-unlock.js +166 -0
  176. package/dist/identity/actions/research-unlock.js.map +1 -0
  177. package/dist/identity/index.d.ts +5 -2
  178. package/dist/identity/index.d.ts.map +1 -1
  179. package/dist/identity/index.js +6 -12
  180. package/dist/identity/index.js.map +1 -1
  181. package/dist/identity/research-state.d.ts +60 -0
  182. package/dist/identity/research-state.d.ts.map +1 -0
  183. package/dist/identity/research-state.js +68 -0
  184. package/dist/identity/research-state.js.map +1 -0
  185. package/dist/index.d.ts +26 -1
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/index.js +24 -7
  188. package/dist/index.js.map +1 -1
  189. package/dist/internal/c4/account-decoding.d.ts +49 -0
  190. package/dist/internal/c4/account-decoding.d.ts.map +1 -0
  191. package/dist/internal/c4/account-decoding.js +74 -0
  192. package/dist/internal/c4/account-decoding.js.map +1 -0
  193. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  194. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  195. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  196. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  197. package/dist/internal/c4/cargo-instructions.d.ts +24 -0
  198. package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
  199. package/dist/internal/c4/cargo-instructions.js +30 -0
  200. package/dist/internal/c4/cargo-instructions.js.map +1 -0
  201. package/dist/internal/c4/cargo-pod.d.ts +15 -0
  202. package/dist/internal/c4/cargo-pod.d.ts.map +1 -0
  203. package/dist/internal/c4/cargo-pod.js +13 -0
  204. package/dist/internal/c4/cargo-pod.js.map +1 -0
  205. package/dist/internal/c4/character-modifier.d.ts +1 -1
  206. package/dist/internal/c4/character-modifier.d.ts.map +1 -1
  207. package/dist/internal/c4/character-registration.d.ts +2 -0
  208. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  209. package/dist/internal/c4/character-registration.js +2 -0
  210. package/dist/internal/c4/character-registration.js.map +1 -1
  211. package/dist/internal/c4/character.d.ts +157 -0
  212. package/dist/internal/c4/character.d.ts.map +1 -0
  213. package/dist/internal/c4/character.js +64 -0
  214. package/dist/internal/c4/character.js.map +1 -0
  215. package/dist/internal/c4/claim-stake-building-definitions.d.ts.map +1 -1
  216. package/dist/internal/c4/claim-stake-building-definitions.js +2 -1
  217. package/dist/internal/c4/claim-stake-building-definitions.js.map +1 -1
  218. package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -1
  219. package/dist/internal/c4/claim-stake-configuration.js +5 -36
  220. package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
  221. package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
  222. package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
  223. package/dist/internal/c4/claim-stake-definitions.js +2 -1
  224. package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
  225. package/dist/internal/c4/claim-stake-plots.d.ts +17 -0
  226. package/dist/internal/c4/claim-stake-plots.d.ts.map +1 -0
  227. package/dist/internal/c4/claim-stake-plots.js +29 -0
  228. package/dist/internal/c4/claim-stake-plots.js.map +1 -0
  229. package/dist/internal/c4/claim-stake-storage.d.ts +45 -0
  230. package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -0
  231. package/dist/internal/c4/claim-stake-storage.js +207 -0
  232. package/dist/internal/c4/claim-stake-storage.js.map +1 -0
  233. package/dist/internal/c4/claim-stake.d.ts +13 -33
  234. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  235. package/dist/internal/c4/claim-stake.js +49 -94
  236. package/dist/internal/c4/claim-stake.js.map +1 -1
  237. package/dist/internal/c4/combat-storage.d.ts +20 -0
  238. package/dist/internal/c4/combat-storage.d.ts.map +1 -0
  239. package/dist/internal/c4/combat-storage.js +43 -0
  240. package/dist/internal/c4/combat-storage.js.map +1 -0
  241. package/dist/internal/c4/combat.d.ts +1 -82
  242. package/dist/internal/c4/combat.d.ts.map +1 -1
  243. package/dist/internal/c4/combat.js +16 -213
  244. package/dist/internal/c4/combat.js.map +1 -1
  245. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  246. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  247. package/dist/internal/c4/crafting-process-codec.js +34 -0
  248. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  249. package/dist/internal/c4/crafting-storage.d.ts +20 -0
  250. package/dist/internal/c4/crafting-storage.d.ts.map +1 -0
  251. package/dist/internal/c4/crafting-storage.js +54 -0
  252. package/dist/internal/c4/crafting-storage.js.map +1 -0
  253. package/dist/internal/c4/crafting.d.ts +33 -33
  254. package/dist/internal/c4/crafting.d.ts.map +1 -1
  255. package/dist/internal/c4/crafting.js +76 -127
  256. package/dist/internal/c4/crafting.js.map +1 -1
  257. package/dist/internal/c4/currency-cache.d.ts +6 -0
  258. package/dist/internal/c4/currency-cache.d.ts.map +1 -0
  259. package/dist/internal/c4/currency-cache.js +27 -0
  260. package/dist/internal/c4/currency-cache.js.map +1 -0
  261. package/dist/internal/c4/discriminators.d.ts +92 -0
  262. package/dist/internal/c4/discriminators.d.ts.map +1 -0
  263. package/dist/internal/c4/discriminators.js +188 -0
  264. package/dist/internal/c4/discriminators.js.map +1 -0
  265. package/dist/internal/c4/docking-funding.d.ts +4 -0
  266. package/dist/internal/c4/docking-funding.d.ts.map +1 -0
  267. package/dist/internal/c4/docking-funding.js +11 -0
  268. package/dist/internal/c4/docking-funding.js.map +1 -0
  269. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  270. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  271. package/dist/internal/c4/faction-epoch-meter.js +26 -0
  272. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  273. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  274. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  275. package/dist/internal/c4/faction-treasury.js +41 -0
  276. package/dist/internal/c4/faction-treasury.js.map +1 -0
  277. package/dist/internal/c4/faction.d.ts +21 -0
  278. package/dist/internal/c4/faction.d.ts.map +1 -0
  279. package/dist/internal/c4/faction.js +23 -0
  280. package/dist/internal/c4/faction.js.map +1 -0
  281. package/dist/internal/c4/factions.d.ts +40 -60
  282. package/dist/internal/c4/factions.d.ts.map +1 -1
  283. package/dist/internal/c4/factions.js +106 -225
  284. package/dist/internal/c4/factions.js.map +1 -1
  285. package/dist/internal/c4/fleet-arrival.d.ts +28 -0
  286. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  287. package/dist/internal/c4/fleet-arrival.js +42 -0
  288. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  289. package/dist/internal/c4/fleet-creation.d.ts +7 -0
  290. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  291. package/dist/internal/c4/fleet-creation.js +171 -0
  292. package/dist/internal/c4/fleet-creation.js.map +1 -0
  293. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  294. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  295. package/dist/internal/c4/fleet-crew-binding.js +31 -44
  296. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  297. package/dist/internal/c4/fleet-disband-layout.d.ts +7 -0
  298. package/dist/internal/c4/fleet-disband-layout.d.ts.map +1 -0
  299. package/dist/internal/c4/fleet-disband-layout.js +7 -0
  300. package/dist/internal/c4/fleet-disband-layout.js.map +1 -0
  301. package/dist/internal/c4/fleet-disband.d.ts +27 -0
  302. package/dist/internal/c4/fleet-disband.d.ts.map +1 -0
  303. package/dist/internal/c4/fleet-disband.js +63 -0
  304. package/dist/internal/c4/fleet-disband.js.map +1 -0
  305. package/dist/internal/c4/fleet-points.d.ts +3 -0
  306. package/dist/internal/c4/fleet-points.d.ts.map +1 -0
  307. package/dist/internal/c4/fleet-points.js +8 -0
  308. package/dist/internal/c4/fleet-points.js.map +1 -0
  309. package/dist/internal/c4/fleet-respawn.d.ts +17 -0
  310. package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
  311. package/dist/internal/c4/fleet-respawn.js +62 -0
  312. package/dist/internal/c4/fleet-respawn.js.map +1 -0
  313. package/dist/internal/c4/fleet-ship-assembly.d.ts +26 -0
  314. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  315. package/dist/internal/c4/fleet-ship-assembly.js +96 -0
  316. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  317. package/dist/internal/c4/fleet-storage.d.ts +44 -0
  318. package/dist/internal/c4/fleet-storage.d.ts.map +1 -0
  319. package/dist/internal/c4/fleet-storage.js +108 -0
  320. package/dist/internal/c4/fleet-storage.js.map +1 -0
  321. package/dist/internal/c4/fleet-sync.d.ts +5 -0
  322. package/dist/internal/c4/fleet-sync.d.ts.map +1 -0
  323. package/dist/internal/c4/fleet-sync.js +15 -0
  324. package/dist/internal/c4/fleet-sync.js.map +1 -0
  325. package/dist/internal/c4/fleet.d.ts +65 -24
  326. package/dist/internal/c4/fleet.d.ts.map +1 -1
  327. package/dist/internal/c4/fleet.js +50 -91
  328. package/dist/internal/c4/fleet.js.map +1 -1
  329. package/dist/internal/c4/game-definition-layout.d.ts +2 -0
  330. package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
  331. package/dist/internal/c4/game-definition-layout.js +4 -0
  332. package/dist/internal/c4/game-definition-layout.js.map +1 -1
  333. package/dist/internal/c4/game.d.ts +122 -32
  334. package/dist/internal/c4/game.d.ts.map +1 -1
  335. package/dist/internal/c4/game.js +229 -130
  336. package/dist/internal/c4/game.js.map +1 -1
  337. package/dist/internal/c4/identity.d.ts +3 -152
  338. package/dist/internal/c4/identity.d.ts.map +1 -1
  339. package/dist/internal/c4/identity.js +19 -126
  340. package/dist/internal/c4/identity.js.map +1 -1
  341. package/dist/internal/c4/local-market-order.d.ts +29 -0
  342. package/dist/internal/c4/local-market-order.d.ts.map +1 -0
  343. package/dist/internal/c4/local-market-order.js +46 -0
  344. package/dist/internal/c4/local-market-order.js.map +1 -0
  345. package/dist/internal/c4/loot-layout.js +1 -1
  346. package/dist/internal/c4/loot-layout.js.map +1 -1
  347. package/dist/internal/c4/loot.d.ts +89 -0
  348. package/dist/internal/c4/loot.d.ts.map +1 -0
  349. package/dist/internal/c4/loot.js +109 -0
  350. package/dist/internal/c4/loot.js.map +1 -0
  351. package/dist/internal/c4/loyalty.d.ts +2 -28
  352. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  353. package/dist/internal/c4/loyalty.js +36 -161
  354. package/dist/internal/c4/loyalty.js.map +1 -1
  355. package/dist/internal/c4/market-storage.d.ts +25 -0
  356. package/dist/internal/c4/market-storage.d.ts.map +1 -0
  357. package/dist/internal/c4/market-storage.js +53 -0
  358. package/dist/internal/c4/market-storage.js.map +1 -0
  359. package/dist/internal/c4/market.d.ts +5 -38
  360. package/dist/internal/c4/market.d.ts.map +1 -1
  361. package/dist/internal/c4/market.js +26 -120
  362. package/dist/internal/c4/market.js.map +1 -1
  363. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  364. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  365. package/dist/internal/c4/mining-instructions.js +3 -0
  366. package/dist/internal/c4/mining-instructions.js.map +1 -0
  367. package/dist/internal/c4/open-signal.d.ts +8 -0
  368. package/dist/internal/c4/open-signal.d.ts.map +1 -0
  369. package/dist/internal/c4/open-signal.js +37 -0
  370. package/dist/internal/c4/open-signal.js.map +1 -0
  371. package/dist/internal/c4/pda.d.ts +49 -1
  372. package/dist/internal/c4/pda.d.ts.map +1 -1
  373. package/dist/internal/c4/pda.js +122 -17
  374. package/dist/internal/c4/pda.js.map +1 -1
  375. package/dist/internal/c4/profile-faction.d.ts +2 -1
  376. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  377. package/dist/internal/c4/profile-faction.js +36 -72
  378. package/dist/internal/c4/profile-faction.js.map +1 -1
  379. package/dist/internal/c4/profile-permissions.d.ts +1 -1
  380. package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
  381. package/dist/internal/c4/profile-permissions.js +17 -1
  382. package/dist/internal/c4/profile-permissions.js.map +1 -1
  383. package/dist/internal/c4/region-geometry.d.ts +8 -0
  384. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  385. package/dist/internal/c4/region-geometry.js +43 -0
  386. package/dist/internal/c4/region-geometry.js.map +1 -0
  387. package/dist/internal/c4/rewards.d.ts +1 -61
  388. package/dist/internal/c4/rewards.d.ts.map +1 -1
  389. package/dist/internal/c4/rewards.js +23 -203
  390. package/dist/internal/c4/rewards.js.map +1 -1
  391. package/dist/internal/c4/runtime-bindings.d.ts +4 -0
  392. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  393. package/dist/internal/c4/runtime-bindings.js +4 -0
  394. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  395. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  396. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  397. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  398. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  399. package/dist/internal/c4/scan-lifecycle.d.ts +324 -0
  400. package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
  401. package/dist/internal/c4/scan-lifecycle.js +249 -0
  402. package/dist/internal/c4/scan-lifecycle.js.map +1 -0
  403. package/dist/internal/c4/scan-storage.d.ts +7 -0
  404. package/dist/internal/c4/scan-storage.d.ts.map +1 -0
  405. package/dist/internal/c4/scan-storage.js +10 -0
  406. package/dist/internal/c4/scan-storage.js.map +1 -0
  407. package/dist/internal/c4/scanning.d.ts +4 -41
  408. package/dist/internal/c4/scanning.d.ts.map +1 -1
  409. package/dist/internal/c4/scanning.js +27 -108
  410. package/dist/internal/c4/scanning.js.map +1 -1
  411. package/dist/internal/c4/ship-import.d.ts +4 -0
  412. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  413. package/dist/internal/c4/ship-import.js +13 -0
  414. package/dist/internal/c4/ship-import.js.map +1 -0
  415. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  416. package/dist/internal/c4/ship-stats.js +46 -44
  417. package/dist/internal/c4/ship-stats.js.map +1 -1
  418. package/dist/internal/c4/starbase.d.ts +0 -32
  419. package/dist/internal/c4/starbase.d.ts.map +1 -1
  420. package/dist/internal/c4/starbase.js +26 -136
  421. package/dist/internal/c4/starbase.js.map +1 -1
  422. package/dist/internal/c4/stimulant.d.ts +26 -0
  423. package/dist/internal/c4/stimulant.d.ts.map +1 -0
  424. package/dist/internal/c4/stimulant.js +36 -0
  425. package/dist/internal/c4/stimulant.js.map +1 -0
  426. package/dist/internal/c4/wallet-cargo-cache.js +2 -1
  427. package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
  428. package/dist/internal/c4/world.d.ts +40 -7
  429. package/dist/internal/c4/world.d.ts.map +1 -1
  430. package/dist/internal/c4/world.js +87 -129
  431. package/dist/internal/c4/world.js.map +1 -1
  432. package/dist/internal/cargo.d.ts +2 -0
  433. package/dist/internal/cargo.d.ts.map +1 -1
  434. package/dist/internal/cargo.js +8 -0
  435. package/dist/internal/cargo.js.map +1 -1
  436. package/dist/internal/fleet-route.d.ts +12 -0
  437. package/dist/internal/fleet-route.d.ts.map +1 -0
  438. package/dist/internal/fleet-route.js +11 -0
  439. package/dist/internal/fleet-route.js.map +1 -0
  440. package/dist/internal/fleet.d.ts +3 -2
  441. package/dist/internal/fleet.d.ts.map +1 -1
  442. package/dist/internal/fleet.js +3 -5
  443. package/dist/internal/fleet.js.map +1 -1
  444. package/dist/internal/loyalty-atlas-bank-state.d.ts +17 -0
  445. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  446. package/dist/internal/loyalty-atlas-bank-state.js +11 -0
  447. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  448. package/dist/internal/planning/account-state.d.ts +6 -0
  449. package/dist/internal/planning/account-state.d.ts.map +1 -1
  450. package/dist/internal/planning/account-state.js +13 -0
  451. package/dist/internal/planning/account-state.js.map +1 -1
  452. package/dist/internal/planning/action-runtime.d.ts +38 -0
  453. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  454. package/dist/internal/planning/action-runtime.js +63 -0
  455. package/dist/internal/planning/action-runtime.js.map +1 -0
  456. package/dist/internal/planning/arrival-guards.d.ts +19 -0
  457. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  458. package/dist/internal/planning/arrival-guards.js +172 -0
  459. package/dist/internal/planning/arrival-guards.js.map +1 -0
  460. package/dist/internal/planning/authorization-adapter.d.ts +53 -39
  461. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  462. package/dist/internal/planning/authorization-adapter.js +204 -83
  463. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  464. package/dist/internal/planning/cargo-storage-actions.d.ts +8 -0
  465. package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -0
  466. package/dist/internal/planning/cargo-storage-actions.js +97 -0
  467. package/dist/internal/planning/cargo-storage-actions.js.map +1 -0
  468. package/dist/internal/planning/character-access.d.ts +28 -0
  469. package/dist/internal/planning/character-access.d.ts.map +1 -0
  470. package/dist/internal/planning/character-access.js +41 -0
  471. package/dist/internal/planning/character-access.js.map +1 -0
  472. package/dist/internal/planning/character-registration-guard.d.ts +4 -0
  473. package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
  474. package/dist/internal/planning/character-registration-guard.js +59 -0
  475. package/dist/internal/planning/character-registration-guard.js.map +1 -0
  476. package/dist/internal/planning/character-registration.d.ts +23 -0
  477. package/dist/internal/planning/character-registration.d.ts.map +1 -0
  478. package/dist/internal/planning/character-registration.js +87 -0
  479. package/dist/internal/planning/character-registration.js.map +1 -0
  480. package/dist/internal/planning/claim-stake-storage-actions.d.ts +12 -0
  481. package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -0
  482. package/dist/internal/planning/claim-stake-storage-actions.js +63 -0
  483. package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -0
  484. package/dist/internal/planning/combat-storage-actions.d.ts +9 -0
  485. package/dist/internal/planning/combat-storage-actions.d.ts.map +1 -0
  486. package/dist/internal/planning/combat-storage-actions.js +55 -0
  487. package/dist/internal/planning/combat-storage-actions.js.map +1 -0
  488. package/dist/internal/planning/crafting-storage-actions.d.ts +7 -0
  489. package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -0
  490. package/dist/internal/planning/crafting-storage-actions.js +64 -0
  491. package/dist/internal/planning/crafting-storage-actions.js.map +1 -0
  492. package/dist/internal/planning/currency-cache-guard.d.ts +6 -0
  493. package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
  494. package/dist/internal/planning/currency-cache-guard.js +77 -0
  495. package/dist/internal/planning/currency-cache-guard.js.map +1 -0
  496. package/dist/internal/planning/democracy-history.d.ts +50 -0
  497. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  498. package/dist/internal/planning/democracy-history.js +189 -0
  499. package/dist/internal/planning/democracy-history.js.map +1 -0
  500. package/dist/internal/planning/direct-options.d.ts +17 -0
  501. package/dist/internal/planning/direct-options.d.ts.map +1 -0
  502. package/dist/internal/planning/direct-options.js +43 -0
  503. package/dist/internal/planning/direct-options.js.map +1 -0
  504. package/dist/internal/planning/disband-storage-actions.d.ts +9 -0
  505. package/dist/internal/planning/disband-storage-actions.d.ts.map +1 -0
  506. package/dist/internal/planning/disband-storage-actions.js +24 -0
  507. package/dist/internal/planning/disband-storage-actions.js.map +1 -0
  508. package/dist/internal/planning/faction-enrollment.d.ts +0 -4
  509. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  510. package/dist/internal/planning/faction-enrollment.js +1 -31
  511. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  512. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  513. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  514. package/dist/internal/planning/faction-trade-guards.js +15 -0
  515. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  516. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  517. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  518. package/dist/internal/planning/faction-trade-state.js +43 -0
  519. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  520. package/dist/internal/planning/fleet-arrival.d.ts +40 -0
  521. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  522. package/dist/internal/planning/fleet-arrival.js +107 -0
  523. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  524. package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
  525. package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
  526. package/dist/internal/planning/fleet-attack-xp.js +104 -0
  527. package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
  528. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  529. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  530. package/dist/internal/planning/fleet-creation.js +89 -0
  531. package/dist/internal/planning/fleet-creation.js.map +1 -0
  532. package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
  533. package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
  534. package/dist/internal/planning/fleet-crew-guard.js +48 -0
  535. package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
  536. package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
  537. package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
  538. package/dist/internal/planning/fleet-crew-transfer.js +129 -0
  539. package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
  540. package/dist/internal/planning/fleet-disband-guard.d.ts +12 -0
  541. package/dist/internal/planning/fleet-disband-guard.d.ts.map +1 -0
  542. package/dist/internal/planning/fleet-disband-guard.js +54 -0
  543. package/dist/internal/planning/fleet-disband-guard.js.map +1 -0
  544. package/dist/internal/planning/fleet-disband.d.ts +36 -0
  545. package/dist/internal/planning/fleet-disband.d.ts.map +1 -0
  546. package/dist/internal/planning/fleet-disband.js +82 -0
  547. package/dist/internal/planning/fleet-disband.js.map +1 -0
  548. package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
  549. package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
  550. package/dist/internal/planning/fleet-dock-funding-guard.js +216 -0
  551. package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
  552. package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
  553. package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
  554. package/dist/internal/planning/fleet-dock-funding.js +164 -0
  555. package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
  556. package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
  557. package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
  558. package/dist/internal/planning/fleet-docking-guard.js +44 -0
  559. package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
  560. package/dist/internal/planning/fleet-docking.d.ts +25 -0
  561. package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
  562. package/dist/internal/planning/fleet-docking.js +106 -0
  563. package/dist/internal/planning/fleet-docking.js.map +1 -0
  564. package/dist/internal/planning/fleet-rental.d.ts +5 -0
  565. package/dist/internal/planning/fleet-rental.d.ts.map +1 -0
  566. package/dist/internal/planning/fleet-rental.js +9 -0
  567. package/dist/internal/planning/fleet-rental.js.map +1 -0
  568. package/dist/internal/planning/fleet-respawn.d.ts +28 -0
  569. package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
  570. package/dist/internal/planning/fleet-respawn.js +164 -0
  571. package/dist/internal/planning/fleet-respawn.js.map +1 -0
  572. package/dist/internal/planning/fleet-ship-assembly.d.ts +38 -0
  573. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  574. package/dist/internal/planning/fleet-ship-assembly.js +167 -0
  575. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  576. package/dist/internal/planning/fleet-state.d.ts +25 -0
  577. package/dist/internal/planning/fleet-state.d.ts.map +1 -0
  578. package/dist/internal/planning/fleet-state.js +28 -0
  579. package/dist/internal/planning/fleet-state.js.map +1 -0
  580. package/dist/internal/planning/governance-fees.d.ts +64 -0
  581. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  582. package/dist/internal/planning/governance-fees.js +231 -0
  583. package/dist/internal/planning/governance-fees.js.map +1 -0
  584. package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
  585. package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
  586. package/dist/internal/planning/local-market-order-funding.js +128 -0
  587. package/dist/internal/planning/local-market-order-funding.js.map +1 -0
  588. package/dist/internal/planning/local-market-order.d.ts +40 -0
  589. package/dist/internal/planning/local-market-order.d.ts.map +1 -0
  590. package/dist/internal/planning/local-market-order.js +139 -0
  591. package/dist/internal/planning/local-market-order.js.map +1 -0
  592. package/dist/internal/planning/market-storage-actions.d.ts +7 -0
  593. package/dist/internal/planning/market-storage-actions.d.ts.map +1 -0
  594. package/dist/internal/planning/market-storage-actions.js +71 -0
  595. package/dist/internal/planning/market-storage-actions.js.map +1 -0
  596. package/dist/internal/planning/mining-stop.d.ts +14 -0
  597. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  598. package/dist/internal/planning/mining-stop.js +42 -0
  599. package/dist/internal/planning/mining-stop.js.map +1 -0
  600. package/dist/internal/planning/mining-storage-actions.d.ts +11 -0
  601. package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -0
  602. package/dist/internal/planning/mining-storage-actions.js +57 -0
  603. package/dist/internal/planning/mining-storage-actions.js.map +1 -0
  604. package/dist/internal/planning/movement-storage-actions.d.ts +7 -0
  605. package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -0
  606. package/dist/internal/planning/movement-storage-actions.js +38 -0
  607. package/dist/internal/planning/movement-storage-actions.js.map +1 -0
  608. package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
  609. package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
  610. package/dist/internal/planning/movement-xp-guard.js +104 -0
  611. package/dist/internal/planning/movement-xp-guard.js.map +1 -0
  612. package/dist/internal/planning/open-signal-guard.d.ts +3 -0
  613. package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
  614. package/dist/internal/planning/open-signal-guard.js +32 -0
  615. package/dist/internal/planning/open-signal-guard.js.map +1 -0
  616. package/dist/internal/planning/open-signal.d.ts +31 -0
  617. package/dist/internal/planning/open-signal.d.ts.map +1 -0
  618. package/dist/internal/planning/open-signal.js +94 -0
  619. package/dist/internal/planning/open-signal.js.map +1 -0
  620. package/dist/internal/planning/original-token.d.ts +40 -0
  621. package/dist/internal/planning/original-token.d.ts.map +1 -0
  622. package/dist/internal/planning/original-token.js +112 -0
  623. package/dist/internal/planning/original-token.js.map +1 -0
  624. package/dist/internal/planning/own-starbase-facts.d.ts +37 -0
  625. package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -0
  626. package/dist/internal/planning/own-starbase-facts.js +52 -0
  627. package/dist/internal/planning/own-starbase-facts.js.map +1 -0
  628. package/dist/internal/planning/plan-fields.d.ts +60 -0
  629. package/dist/internal/planning/plan-fields.d.ts.map +1 -0
  630. package/dist/internal/planning/plan-fields.js +159 -0
  631. package/dist/internal/planning/plan-fields.js.map +1 -0
  632. package/dist/internal/planning/plan-guards.d.ts +4 -0
  633. package/dist/internal/planning/plan-guards.d.ts.map +1 -0
  634. package/dist/internal/planning/plan-guards.js +184 -0
  635. package/dist/internal/planning/plan-guards.js.map +1 -0
  636. package/dist/internal/planning/profile-key.d.ts +13 -0
  637. package/dist/internal/planning/profile-key.d.ts.map +1 -0
  638. package/dist/internal/planning/profile-key.js +20 -0
  639. package/dist/internal/planning/profile-key.js.map +1 -0
  640. package/dist/internal/planning/profile-storage-funding-guard.d.ts +29 -0
  641. package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
  642. package/dist/internal/planning/profile-storage-funding-guard.js +115 -0
  643. package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
  644. package/dist/internal/planning/profile-storage-funding.d.ts +46 -0
  645. package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
  646. package/dist/internal/planning/profile-storage-funding.js +58 -0
  647. package/dist/internal/planning/profile-storage-funding.js.map +1 -0
  648. package/dist/internal/planning/recipe-state.d.ts +9 -0
  649. package/dist/internal/planning/recipe-state.d.ts.map +1 -0
  650. package/dist/internal/planning/recipe-state.js +23 -0
  651. package/dist/internal/planning/recipe-state.js.map +1 -0
  652. package/dist/internal/planning/region-access.d.ts +30 -0
  653. package/dist/internal/planning/region-access.d.ts.map +1 -0
  654. package/dist/internal/planning/region-access.js +94 -0
  655. package/dist/internal/planning/region-access.js.map +1 -0
  656. package/dist/internal/planning/rent-catalog.d.ts +37 -0
  657. package/dist/internal/planning/rent-catalog.d.ts.map +1 -0
  658. package/dist/internal/planning/rent-catalog.js +165 -0
  659. package/dist/internal/planning/rent-catalog.js.map +1 -0
  660. package/dist/internal/planning/rent.d.ts +19 -0
  661. package/dist/internal/planning/rent.d.ts.map +1 -0
  662. package/dist/internal/planning/rent.js +35 -0
  663. package/dist/internal/planning/rent.js.map +1 -0
  664. package/dist/internal/planning/research-unlock.d.ts +69 -0
  665. package/dist/internal/planning/research-unlock.d.ts.map +1 -0
  666. package/dist/internal/planning/research-unlock.js +287 -0
  667. package/dist/internal/planning/research-unlock.js.map +1 -0
  668. package/dist/internal/planning/respawn-guards.d.ts +3 -0
  669. package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
  670. package/dist/internal/planning/respawn-guards.js +42 -0
  671. package/dist/internal/planning/respawn-guards.js.map +1 -0
  672. package/dist/internal/planning/runtime-guards.d.ts +41 -0
  673. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  674. package/dist/internal/planning/runtime-guards.js +658 -0
  675. package/dist/internal/planning/runtime-guards.js.map +1 -0
  676. package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
  677. package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
  678. package/dist/internal/planning/scan-completion-guard.js +95 -0
  679. package/dist/internal/planning/scan-completion-guard.js.map +1 -0
  680. package/dist/internal/planning/scan-completion.d.ts +20 -0
  681. package/dist/internal/planning/scan-completion.d.ts.map +1 -0
  682. package/dist/internal/planning/scan-completion.js +198 -0
  683. package/dist/internal/planning/scan-completion.js.map +1 -0
  684. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  685. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  686. package/dist/internal/planning/scan-detect-guard.js +77 -0
  687. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  688. package/dist/internal/planning/scan-detect.d.ts +24 -0
  689. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  690. package/dist/internal/planning/scan-detect.js +246 -0
  691. package/dist/internal/planning/scan-detect.js.map +1 -0
  692. package/dist/internal/planning/scan-idle-scope.d.ts +5 -0
  693. package/dist/internal/planning/scan-idle-scope.d.ts.map +1 -0
  694. package/dist/internal/planning/scan-idle-scope.js +5 -0
  695. package/dist/internal/planning/scan-idle-scope.js.map +1 -0
  696. package/dist/internal/planning/scan-input.d.ts +9 -0
  697. package/dist/internal/planning/scan-input.d.ts.map +1 -0
  698. package/dist/internal/planning/scan-input.js +58 -0
  699. package/dist/internal/planning/scan-input.js.map +1 -0
  700. package/dist/internal/planning/scan-storage-actions.d.ts +9 -0
  701. package/dist/internal/planning/scan-storage-actions.d.ts.map +1 -0
  702. package/dist/internal/planning/scan-storage-actions.js +27 -0
  703. package/dist/internal/planning/scan-storage-actions.js.map +1 -0
  704. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  705. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  706. package/dist/internal/planning/ship-import-funding.js +53 -0
  707. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  708. package/dist/internal/planning/ship-token.d.ts +1 -6
  709. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  710. package/dist/internal/planning/ship-token.js +0 -37
  711. package/dist/internal/planning/ship-token.js.map +1 -1
  712. package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
  713. package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
  714. package/dist/internal/planning/starbase-player-owner.js +17 -0
  715. package/dist/internal/planning/starbase-player-owner.js.map +1 -0
  716. package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
  717. package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
  718. package/dist/internal/planning/starbase-system-guard.js +94 -0
  719. package/dist/internal/planning/starbase-system-guard.js.map +1 -0
  720. package/dist/internal/planning/starbase-system.d.ts +15 -0
  721. package/dist/internal/planning/starbase-system.d.ts.map +1 -0
  722. package/dist/internal/planning/starbase-system.js +25 -0
  723. package/dist/internal/planning/starbase-system.js.map +1 -0
  724. package/dist/internal/planning/storage-action-readers.d.ts +10 -0
  725. package/dist/internal/planning/storage-action-readers.d.ts.map +1 -0
  726. package/dist/internal/planning/storage-action-readers.js +58 -0
  727. package/dist/internal/planning/storage-action-readers.js.map +1 -0
  728. package/dist/internal/planning/storage-actions.d.ts +89 -0
  729. package/dist/internal/planning/storage-actions.d.ts.map +1 -0
  730. package/dist/internal/planning/storage-actions.js +183 -0
  731. package/dist/internal/planning/storage-actions.js.map +1 -0
  732. package/dist/internal/planning/token-mint.d.ts.map +1 -1
  733. package/dist/internal/planning/token-mint.js +2 -1
  734. package/dist/internal/planning/token-mint.js.map +1 -1
  735. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  736. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  737. package/dist/internal/planning/trade-faction-market.js +56 -0
  738. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  739. package/dist/internal/planning/wallet-starbase.d.ts +34 -0
  740. package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
  741. package/dist/internal/planning/wallet-starbase.js +39 -0
  742. package/dist/internal/planning/wallet-starbase.js.map +1 -0
  743. package/dist/internal/planning/xp-runtime.d.ts +36 -0
  744. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  745. package/dist/internal/planning/xp-runtime.js +122 -0
  746. package/dist/internal/planning/xp-runtime.js.map +1 -0
  747. package/dist/internal/read-meta.d.ts +12 -0
  748. package/dist/internal/read-meta.d.ts.map +1 -1
  749. package/dist/internal/read-meta.js +10 -0
  750. package/dist/internal/read-meta.js.map +1 -1
  751. package/dist/internal/system-program.d.ts +4 -0
  752. package/dist/internal/system-program.d.ts.map +1 -0
  753. package/dist/internal/system-program.js +3 -0
  754. package/dist/internal/system-program.js.map +1 -0
  755. package/dist/loyalty/actions/index.d.ts +1 -1
  756. package/dist/loyalty/actions/index.d.ts.map +1 -1
  757. package/dist/loyalty/actions/index.js +16 -46
  758. package/dist/loyalty/actions/index.js.map +1 -1
  759. package/dist/loyalty/index.d.ts +4 -0
  760. package/dist/loyalty/index.d.ts.map +1 -1
  761. package/dist/loyalty/index.js +21 -33
  762. package/dist/loyalty/index.js.map +1 -1
  763. package/dist/markets/actions/index.d.ts +62 -4
  764. package/dist/markets/actions/index.d.ts.map +1 -1
  765. package/dist/markets/actions/index.js +261 -187
  766. package/dist/markets/actions/index.js.map +1 -1
  767. package/dist/markets/actions/trade-faction-market.d.ts +45 -0
  768. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  769. package/dist/markets/actions/trade-faction-market.js +311 -0
  770. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  771. package/dist/markets/index.d.ts +38 -7
  772. package/dist/markets/index.d.ts.map +1 -1
  773. package/dist/markets/index.js +59 -20
  774. package/dist/markets/index.js.map +1 -1
  775. package/dist/mining/actions/index.d.ts +19 -15
  776. package/dist/mining/actions/index.d.ts.map +1 -1
  777. package/dist/mining/actions/index.js +147 -69
  778. package/dist/mining/actions/index.js.map +1 -1
  779. package/dist/mining/estimate-input.d.ts +103 -0
  780. package/dist/mining/estimate-input.d.ts.map +1 -0
  781. package/dist/mining/estimate-input.js +86 -0
  782. package/dist/mining/estimate-input.js.map +1 -0
  783. package/dist/mining/estimate.d.ts +114 -0
  784. package/dist/mining/estimate.d.ts.map +1 -0
  785. package/dist/mining/estimate.js +127 -0
  786. package/dist/mining/estimate.js.map +1 -0
  787. package/dist/mining/index.d.ts +10 -2
  788. package/dist/mining/index.d.ts.map +1 -1
  789. package/dist/mining/index.js +11 -13
  790. package/dist/mining/index.js.map +1 -1
  791. package/dist/mining/profile.d.ts +82 -0
  792. package/dist/mining/profile.d.ts.map +1 -0
  793. package/dist/mining/profile.js +109 -0
  794. package/dist/mining/profile.js.map +1 -0
  795. package/dist/planning/assembly.d.ts +6 -1
  796. package/dist/planning/assembly.d.ts.map +1 -1
  797. package/dist/planning/assembly.js +12 -8
  798. package/dist/planning/assembly.js.map +1 -1
  799. package/dist/planning/execution.d.ts +19 -3
  800. package/dist/planning/execution.d.ts.map +1 -1
  801. package/dist/planning/execution.js +623 -72
  802. package/dist/planning/execution.js.map +1 -1
  803. package/dist/planning/index.d.ts +252 -165
  804. package/dist/planning/index.d.ts.map +1 -1
  805. package/dist/planning/index.js +31 -388
  806. package/dist/planning/index.js.map +1 -1
  807. package/dist/planning/plan-construction.d.ts +25 -0
  808. package/dist/planning/plan-construction.d.ts.map +1 -0
  809. package/dist/planning/plan-construction.js +143 -0
  810. package/dist/planning/plan-construction.js.map +1 -0
  811. package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
  812. package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
  813. package/dist/planning/plan-sequence-checkpoint.js +16 -7
  814. package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
  815. package/dist/planning/plan-sequence-execution.d.ts +5 -0
  816. package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
  817. package/dist/planning/plan-sequence-execution.js +74 -40
  818. package/dist/planning/plan-sequence-execution.js.map +1 -1
  819. package/dist/planning/plan-sequence.d.ts +2 -1
  820. package/dist/planning/plan-sequence.d.ts.map +1 -1
  821. package/dist/planning/plan-sequence.js +8 -1
  822. package/dist/planning/plan-sequence.js.map +1 -1
  823. package/dist/planning/plan-validation.d.ts +17 -0
  824. package/dist/planning/plan-validation.d.ts.map +1 -0
  825. package/dist/planning/plan-validation.js +143 -0
  826. package/dist/planning/plan-validation.js.map +1 -0
  827. package/dist/planning/simulation.d.ts +25 -1
  828. package/dist/planning/simulation.d.ts.map +1 -1
  829. package/dist/planning/simulation.js +111 -11
  830. package/dist/planning/simulation.js.map +1 -1
  831. package/dist/registry/cargo.d.ts +7 -12
  832. package/dist/registry/cargo.d.ts.map +1 -1
  833. package/dist/registry/cargo.js +19 -20
  834. package/dist/registry/cargo.js.map +1 -1
  835. package/dist/registry/docking.d.ts +10 -0
  836. package/dist/registry/docking.d.ts.map +1 -0
  837. package/dist/registry/docking.js +12 -0
  838. package/dist/registry/docking.js.map +1 -0
  839. package/dist/registry/index.d.ts +35 -4
  840. package/dist/registry/index.d.ts.map +1 -1
  841. package/dist/registry/index.js +226 -227
  842. package/dist/registry/index.js.map +1 -1
  843. package/dist/registry/onboarding.d.ts +10 -2
  844. package/dist/registry/onboarding.d.ts.map +1 -1
  845. package/dist/registry/onboarding.js +22 -7
  846. package/dist/registry/onboarding.js.map +1 -1
  847. package/dist/registry/scanning.d.ts +7 -0
  848. package/dist/registry/scanning.d.ts.map +1 -0
  849. package/dist/registry/scanning.js +13 -0
  850. package/dist/registry/scanning.js.map +1 -0
  851. package/dist/registry/ship-stats-snapshot.d.ts.map +1 -1
  852. package/dist/registry/ship-stats-snapshot.js +38 -24
  853. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  854. package/dist/registry/ships.d.ts +22 -2
  855. package/dist/registry/ships.d.ts.map +1 -1
  856. package/dist/registry/ships.js +31 -4
  857. package/dist/registry/ships.js.map +1 -1
  858. package/dist/registry/xp-runtime.d.ts +4 -0
  859. package/dist/registry/xp-runtime.d.ts.map +1 -0
  860. package/dist/registry/xp-runtime.js +14 -0
  861. package/dist/registry/xp-runtime.js.map +1 -0
  862. package/dist/rewards/index.d.ts +11 -5
  863. package/dist/rewards/index.d.ts.map +1 -1
  864. package/dist/rewards/index.js +10 -21
  865. package/dist/rewards/index.js.map +1 -1
  866. package/dist/scanning/actions/index.d.ts +116 -0
  867. package/dist/scanning/actions/index.d.ts.map +1 -0
  868. package/dist/scanning/actions/index.js +215 -0
  869. package/dist/scanning/actions/index.js.map +1 -0
  870. package/dist/scanning/index.d.ts +10 -12
  871. package/dist/scanning/index.d.ts.map +1 -1
  872. package/dist/scanning/index.js +19 -23
  873. package/dist/scanning/index.js.map +1 -1
  874. package/dist/scanning/lifecycle.d.ts +77 -0
  875. package/dist/scanning/lifecycle.d.ts.map +1 -0
  876. package/dist/scanning/lifecycle.js +93 -0
  877. package/dist/scanning/lifecycle.js.map +1 -0
  878. package/dist/scanning/odds.d.ts +115 -0
  879. package/dist/scanning/odds.d.ts.map +1 -0
  880. package/dist/scanning/odds.js +294 -0
  881. package/dist/scanning/odds.js.map +1 -0
  882. package/dist/scanning/signals.d.ts +126 -0
  883. package/dist/scanning/signals.d.ts.map +1 -0
  884. package/dist/scanning/signals.js +173 -0
  885. package/dist/scanning/signals.js.map +1 -0
  886. package/dist/starbases/actions/index.d.ts +6 -4
  887. package/dist/starbases/actions/index.d.ts.map +1 -1
  888. package/dist/starbases/actions/index.js +34 -67
  889. package/dist/starbases/actions/index.js.map +1 -1
  890. package/dist/starbases/index.d.ts.map +1 -1
  891. package/dist/starbases/index.js +3 -11
  892. package/dist/starbases/index.js.map +1 -1
  893. package/dist/world/index.d.ts +108 -5
  894. package/dist/world/index.d.ts.map +1 -1
  895. package/dist/world/index.js +110 -15
  896. package/dist/world/index.js.map +1 -1
  897. package/dist/world/planet-claim-stake-plots.d.ts +139 -0
  898. package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
  899. package/dist/world/planet-claim-stake-plots.js +117 -0
  900. package/dist/world/planet-claim-stake-plots.js.map +1 -0
  901. package/dist/world/starbase-status.d.ts +176 -0
  902. package/dist/world/starbase-status.d.ts.map +1 -0
  903. package/dist/world/starbase-status.js +153 -0
  904. package/dist/world/starbase-status.js.map +1 -0
  905. package/package.json +6 -2
@@ -0,0 +1,89 @@
1
+ import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
2
+ import { deriveFleetCreationAddress, emptyDockedFleetSize, } from '../c4/fleet-creation.js';
3
+ import { findCharacterPda } from '../c4/character.js';
4
+ import { deriveProfileFactionAddress } from '../c4/profile-faction.js';
5
+ import { deriveStarbasePlayerAddress } from '../c4/starbase.js';
6
+ import { PROFILE_SCOPE, SAGE_SCOPE } from '../c4/profile-permissions.js';
7
+ import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
8
+ import { RENT_ADDRESS, readRent } from './rent.js';
9
+ import { directProfileKey, grantsPermission, hasPermissionBit, profileKeyExpired, } from './profile-key.js';
10
+ import { readOwnStarbaseFacts } from './own-starbase-facts.js';
11
+ export function validateFleetCreationLabel(label) {
12
+ if (typeof label !== 'string' ||
13
+ label.trim().length === 0 ||
14
+ label.includes('\0') ||
15
+ new TextDecoder('utf-8', { ignoreBOM: true }).decode(new TextEncoder().encode(label)) !== label ||
16
+ new TextEncoder().encode(label).length > 64)
17
+ throw new InvalidActionInputError('options.label', label, 'a nonblank, valid UTF-8 Fleet label of at most 64 bytes without NUL', 'Choose a valid Fleet label. Accepted whitespace is preserved in the canonical Fleet address.');
18
+ }
19
+ export async function resolveFleetCreation(input) {
20
+ const intent = { ...input };
21
+ validateFleetCreationLabel(intent.label);
22
+ const [character, profileFaction, fleet] = await Promise.all([
23
+ findCharacterPda(intent.profile, intent.game),
24
+ deriveProfileFactionAddress(intent.profile),
25
+ deriveFleetCreationAddress(intent.game, intent.profile, intent.label),
26
+ ]);
27
+ return {
28
+ game: intent.game,
29
+ profile: intent.profile,
30
+ authority: intent.authority,
31
+ system: intent.system,
32
+ character,
33
+ profileFaction,
34
+ fleet,
35
+ starbasePlayer: await deriveStarbasePlayerAddress(intent.system, character),
36
+ rent: RENT_ADDRESS,
37
+ clock: CLOCK_ADDRESS,
38
+ };
39
+ }
40
+ function fail(address, message) {
41
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
42
+ }
43
+ export async function validateFleetCreation(input, resolved, accounts, maximumProfileDebit) {
44
+ const intent = { ...input };
45
+ const required = (address, name) => {
46
+ const raw = accounts.get(address);
47
+ if (!raw)
48
+ fail(address, `${name} ${address} is missing. Create or select the required account, then replan Fleet creation.`);
49
+ if (raw.executable)
50
+ fail(address, `${name} ${address} is executable. Refresh valid account state before creating a Fleet.`);
51
+ return raw;
52
+ };
53
+ const { profileRaw, profile, character } = await readOwnStarbaseFacts(intent, resolved, required, {
54
+ replan: 'replan Fleet creation',
55
+ before: 'before creating a Fleet',
56
+ });
57
+ if (character.counts.fleets >= character.modifiers.values.fleetConcurrency)
58
+ fail(resolved.character, 'The Character has no available Fleet slots in its current stored capacity. Free a Fleet slot or refresh changed Character modifiers, then replan.');
59
+ const target = accounts.get(resolved.fleet);
60
+ if (target &&
61
+ (target.address !== resolved.fleet ||
62
+ target.executable ||
63
+ target.owner !== '11111111111111111111111111111111' ||
64
+ target.data.length !== 0))
65
+ fail(resolved.fleet, 'The canonical Fleet target already contains state or has a conflicting owner. Reuse the existing Fleet or choose a different label and replan.');
66
+ const rent = readRent(required(resolved.rent, 'Rent sysvar'));
67
+ const now = readClock(required(resolved.clock, 'Clock sysvar'));
68
+ const fleetRent = rent(emptyDockedFleetSize());
69
+ const balance = target?.lamports ?? 0n;
70
+ const profileDebit = balance < fleetRent ? fleetRent - balance : 0n;
71
+ if (maximumProfileDebit !== undefined && profileDebit > maximumProfileDebit)
72
+ fail(resolved.profile, 'Fleet creation now requires a larger Profile debit than this Plan approved. Replan and inspect the updated rent shortfall before signing.');
73
+ const profileReserve = rent(profileRaw.data.length);
74
+ if (profileRaw.lamports < profileReserve + profileDebit)
75
+ fail(resolved.profile, 'The Profile lacks the Fleet rent shortfall while preserving its own rent reserve. Fund the Profile or Fleet target explicitly, then replan.');
76
+ const key = directProfileKey(profile.keys, intent.keyIndex, intent.authority);
77
+ if (!key)
78
+ fail(resolved.profile, 'The selected direct Profile key is absent or belongs to another authority. Select the current key index for this authority and replan.');
79
+ if (profileKeyExpired(key, now))
80
+ fail(resolved.profile, 'The selected Profile key has expired. Renew it or select a current direct key and replan Fleet creation.');
81
+ const auth = grantsPermission(key, PROFILE_SCOPE, 0n);
82
+ const manages = grantsPermission(key, SAGE_SCOPE, 18n);
83
+ if (!auth && !manages)
84
+ fail(resolved.profile, 'The selected key cannot manage Fleets. Use a direct Profile AUTH key or a SAGE manageFleet key and replan.');
85
+ if (profileDebit > 0n && !auth && !hasPermissionBit(key, 63n))
86
+ fail(resolved.profile, 'The selected manageFleet key cannot fund the Fleet from the Profile vault. Explicitly prefund the target or choose an authorized vault-funding key, then replan; drainSolVault grants vault withdrawal authority.');
87
+ return { profileDebit, profileReserve, fleetRent };
88
+ }
89
+ //# sourceMappingURL=fleet-creation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-creation.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-creation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { AccountRole, type Address } from '@solana/kit';
2
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
3
+ export interface FleetCrewGuard {
4
+ readonly kind: 'fleet-crew-transfer';
5
+ readonly direction: 'load' | 'unload';
6
+ readonly address: Address;
7
+ readonly game: Address;
8
+ readonly profile: Address;
9
+ readonly authority: Address;
10
+ readonly system: Address;
11
+ readonly starbasePlayer: Address;
12
+ readonly keyIndex: number;
13
+ readonly count: number;
14
+ readonly systemSequenceId: bigint;
15
+ readonly describes: string;
16
+ readonly dataHash?: never;
17
+ }
18
+ export declare function crewTransferInstruction(g: Omit<FleetCrewGuard, 'kind' | 'systemSequenceId' | 'describes'>): {
19
+ programAddress: Address<"C4SAgeKLgb3pTLWhVr6NRwWyYFuTR7ZeSXFrzoLwfMzF">;
20
+ accounts: {
21
+ address: Address;
22
+ role: AccountRole;
23
+ }[];
24
+ data: Uint8Array<ArrayBuffer>;
25
+ };
26
+ /** Ordinary crew transfers stand alone: later instructions cannot bypass fresh balance checks. */
27
+ export declare function validateCrewTransferInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
28
+ //# sourceMappingURL=fleet-crew-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-crew-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAMxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAK1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B;AACD,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB,GAAG,WAAW,CAAC;;;;;;;EAyBnE;AACD,kGAAkG;AAClG,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAqCN"}
@@ -0,0 +1,48 @@
1
+ import { AccountRole } from '@solana/kit';
2
+ import { SAGE_PROGRAM_ADDRESS, PLAYER_PROFILE_PROGRAM_ADDRESS, } from '../c4/runtime-bindings.js';
3
+ import { InvalidActionInputError } from '../../client/errors.js';
4
+ import { LOAD_FLEET_CREW_DISCRIMINATOR, UNLOAD_FLEET_CREW_DISCRIMINATOR, } from '../c4/discriminators.js';
5
+ export function crewTransferInstruction(g) {
6
+ return {
7
+ programAddress: SAGE_PROGRAM_ADDRESS,
8
+ accounts: [
9
+ { address: g.authority, role: AccountRole.READONLY_SIGNER },
10
+ { address: g.profile, role: AccountRole.WRITABLE },
11
+ { address: SAGE_PROGRAM_ADDRESS, role: AccountRole.READONLY },
12
+ { address: PLAYER_PROFILE_PROGRAM_ADDRESS, role: AccountRole.READONLY },
13
+ { address: g.address, role: AccountRole.WRITABLE },
14
+ { address: g.game, role: AccountRole.READONLY },
15
+ { address: g.system, role: AccountRole.READONLY },
16
+ { address: g.starbasePlayer, role: AccountRole.WRITABLE },
17
+ ],
18
+ // Pinned ordinary crew payload: discriminator, u16 count, u16 key index.
19
+ data: Uint8Array.of(...(g.direction === 'load'
20
+ ? LOAD_FLEET_CREW_DISCRIMINATOR
21
+ : UNLOAD_FLEET_CREW_DISCRIMINATOR), g.count & 255, g.count >>> 8, g.keyIndex & 255, g.keyIndex >>> 8),
22
+ };
23
+ }
24
+ /** Ordinary crew transfers stand alone: later instructions cannot bypass fresh balance checks. */
25
+ export function validateCrewTransferInstructions(steps, guards) {
26
+ const selected = guards.filter((g) => g.kind === 'fleet-crew-transfer');
27
+ const transfers = steps.filter(({ instruction: i }) => i.programAddress === SAGE_PROGRAM_ADDRESS &&
28
+ [LOAD_FLEET_CREW_DISCRIMINATOR, UNLOAD_FLEET_CREW_DISCRIMINATOR].some((d) => d.every((v, n) => i.data?.[n] === v)));
29
+ if (!selected.length && !transfers.length)
30
+ return;
31
+ const bad = () => {
32
+ throw new InvalidActionInputError('crewTransfer', undefined, 'one standalone ordinary crew transfer and its exact matching safeguard', 'Recreate the crew transfer Plan; execute each transfer separately and refresh crew balances before preparing another action.');
33
+ };
34
+ if (steps.length !== 1 || selected.length !== 1 || transfers.length !== 1)
35
+ bad();
36
+ const g = selected[0];
37
+ const step = transfers[0];
38
+ const expected = crewTransferInstruction(g), actual = step.instruction;
39
+ if (step.signers.length !== 1 ||
40
+ step.signers[0] !== g.authority ||
41
+ actual.accounts?.length !== expected.accounts.length ||
42
+ expected.accounts.some((a, n) => actual.accounts?.[n]?.address !== a.address ||
43
+ actual.accounts[n]?.role !== a.role) ||
44
+ actual.data?.length !== expected.data.length ||
45
+ expected.data.some((v, n) => actual.data?.[n] !== v))
46
+ bad();
47
+ }
48
+ //# sourceMappingURL=fleet-crew-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-crew-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Commitment } from '@solana/kit';
2
+ import type { SageContext } from '../../client/contracts.js';
3
+ import type { FleetCrewGuard } from './fleet-crew-guard.js';
4
+ export type FleetCrewIntent = Pick<FleetCrewGuard, 'address' | 'game' | 'profile' | 'authority' | 'keyIndex' | 'direction' | 'count'>;
5
+ /** Fresh count predicates and canonical relationships, shared by planning and execution. */
6
+ export declare function resolveFleetCrewTransfer(ctx: SageContext, intent: FleetCrewIntent, expected?: FleetCrewGuard, commitment?: Commitment): Promise<Pick<FleetCrewGuard, 'system' | 'starbasePlayer' | 'systemSequenceId'>>;
7
+ //# sourceMappingURL=fleet-crew-transfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-crew-transfer.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAyBnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,cAAc,EACZ,SAAS,GACT,MAAM,GACN,SAAS,GACT,WAAW,GACX,UAAU,GACV,WAAW,GACX,OAAO,CACV,CAAC;AASF,4FAA4F;AAC5F,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,cAAc,EACzB,UAAU,GAAE,UAAwB,GACnC,OAAO,CACR,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,gBAAgB,GAAG,kBAAkB,CAAC,CACvE,CAyJA"}
@@ -0,0 +1,129 @@
1
+ import { isOffCurveAddress } from '@solana/kit';
2
+ import { SageSdkError } from '../../client/errors.js';
3
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
4
+ import { requireGameAddress } from '../game-context.js';
5
+ import { readFreshGameShipDefinitionSequence } from '../../registry/ships.js';
6
+ import { fleetAccountDefinition, deriveFleetAddress } from '../c4/fleet.js';
7
+ import { profileAccountDefinition } from '../c4/identity.js';
8
+ import { findCharacterPda, characterAccountDefinition, } from '../c4/character.js';
9
+ import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../c4/starbase.js';
10
+ import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../c4/world.js';
11
+ import { deriveFleetCrewBindingAddress, fleetCrewBindingAccountDefinition, } from '../c4/fleet-crew-binding.js';
12
+ import { PROFILE_SCOPE, SAGE_SCOPE } from '../c4/profile-permissions.js';
13
+ import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
14
+ import { directProfileKey, grantsPermission, profileKeyExpired, } from './profile-key.js';
15
+ import { deriveCrewRosterAddress } from '../c4/pda.js';
16
+ /** SAGE manage-crew permission bit. */
17
+ const MANAGE_CREW = 27n;
18
+ function fail(message) {
19
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `${message} Refresh the owned Docked Fleet and Starbase crew, then recreate the crew transfer Plan.`);
20
+ }
21
+ /** Fresh count predicates and canonical relationships, shared by planning and execution. */
22
+ export async function resolveFleetCrewTransfer(ctx, intent, expected, commitment = 'confirmed') {
23
+ if (requireGameAddress(ctx) !== intent.game ||
24
+ isOffCurveAddress(intent.authority))
25
+ fail('Crew transfer requires this deployment and an on-curve direct Profile authority.');
26
+ const [fleetRaw] = await readContextRawAccounts(ctx, [intent.address], {
27
+ commitment,
28
+ });
29
+ if (!fleetRaw || fleetRaw.executable)
30
+ fail('The selected Fleet is missing or executable.');
31
+ const fleet = fleetAccountDefinition.decode(fleetRaw);
32
+ if (fleet.game !== intent.game ||
33
+ fleet.ownerProfile !== intent.profile ||
34
+ (await deriveFleetAddress(fleet)) !== intent.address ||
35
+ fleet.npcFactionId !== 0 ||
36
+ fleet.subProfile !== '11111111111111111111111111111111')
37
+ fail('Crew transfer supports only a canonical directly owned player Fleet without a subprofile.');
38
+ if (fleet.state.kind !== 'docked')
39
+ fail('Crew can be transferred only while the Fleet is Docked.');
40
+ if (fleet.rentedCrew !== 0)
41
+ fail('Rented crew transfers are not supported by this ordinary-crew route. Manage the rental through a supported game client first.');
42
+ const systemAddress = fleet.state.system;
43
+ const [characterAddress, bindingAddress] = await Promise.all([
44
+ findCharacterPda(intent.profile, intent.game),
45
+ deriveFleetCrewBindingAddress(intent.address),
46
+ ]);
47
+ const [playerAddress, [rosterAddress]] = await Promise.all([
48
+ deriveStarbasePlayerAddress(systemAddress, characterAddress),
49
+ deriveCrewRosterAddress(characterAddress, 0),
50
+ ]);
51
+ const addresses = [
52
+ intent.profile,
53
+ characterAddress,
54
+ systemAddress,
55
+ playerAddress,
56
+ bindingAddress,
57
+ rosterAddress,
58
+ CLOCK_ADDRESS,
59
+ ];
60
+ const [rows, shipSequence] = await Promise.all([
61
+ readContextRawAccounts(ctx, addresses, { commitment }),
62
+ readFreshGameShipDefinitionSequence(ctx, { commitment }),
63
+ ]);
64
+ if (rows.some((raw) => raw?.executable))
65
+ fail('Crew transfer reads contain an executable account.');
66
+ const accounts = new Map(addresses.map((a, i) => [a, rows[i]]));
67
+ const required = (a) => accounts.get(a) ?? fail(`Required crew transfer account ${a} is missing.`);
68
+ const profile = profileAccountDefinition.decode(required(intent.profile));
69
+ const character = characterAccountDefinition.decode(required(characterAddress));
70
+ const system = starSystemAccountDefinition.decode(required(systemAddress));
71
+ const player = starbasePlayerAccountDefinition.decode(required(playerAddress));
72
+ if (character.game !== intent.game ||
73
+ character.playerProfile !== intent.profile ||
74
+ system.game !== intent.game ||
75
+ (await deriveStarSystemAddress(system.game, system.systemId)) !==
76
+ systemAddress ||
77
+ !system.starbase ||
78
+ player.playerProfile !== intent.profile ||
79
+ player.character !== characterAddress ||
80
+ player.system !== systemAddress ||
81
+ player.faction !== fleet.faction)
82
+ fail('The Character, System or StarbasePlayer does not match the canonical Game and Profile relationships.');
83
+ if (fleet.state.systemSeqId !== system.sequenceId ||
84
+ player.sequenceId !== system.sequenceId ||
85
+ (expected &&
86
+ (expected.system !== systemAddress ||
87
+ expected.starbasePlayer !== playerAddress ||
88
+ expected.systemSequenceId !== system.sequenceId)))
89
+ fail('The docking System or Starbase generation changed. Reconcile docking through the game before transferring crew.');
90
+ if (fleet.shipDefinitionsSeqId !== shipSequence)
91
+ fail('The Fleet was built under older ship definitions, so its crew capacity is stale. Plan planSyncFleetWithGame, confirm it, then replan the crew transfer.');
92
+ if (accounts.get(rosterAddress))
93
+ fail('This Character has an individual-crew roster. This planner supports only ordinary crew with no page-0 roster; use the supported game client for roster-aware transfers.');
94
+ const binding = accounts.get(bindingAddress);
95
+ if (binding && !fleetCrewBindingAccountDefinition.decode(binding).isNeutral)
96
+ fail('The Fleet has a populated or unsupported crew binding. Use roster-aware transfer through a supported game client.');
97
+ const now = readClock(required(CLOCK_ADDRESS));
98
+ const key = directProfileKey(profile.keys, intent.keyIndex, intent.authority);
99
+ // The program accepts AUTH, or the SAGE manage-crew permission scoped to
100
+ // SAGE or to this Fleet.
101
+ if (!key ||
102
+ profileKeyExpired(key, now) ||
103
+ !(grantsPermission(key, PROFILE_SCOPE, 0n) ||
104
+ grantsPermission(key, SAGE_SCOPE, MANAGE_CREW) ||
105
+ grantsPermission(key, intent.address, MANAGE_CREW)))
106
+ fail('Crew transfer requires a current direct Profile key with AUTH, or the SAGE manage-crew permission scoped to SAGE or this Fleet. Select the correct key index; delegated permissions are not qualified.');
107
+ const capacity = fleet.stats.misc.requiredCrew + fleet.stats.misc.passengerCapacity;
108
+ if (player.busyCrew > player.totalCrew)
109
+ fail('Starbase busy crew exceeds its total crew; reconcile the Starbase state before transferring.');
110
+ if (intent.direction === 'load') {
111
+ if (player.totalCrew - player.busyCrew < intent.count)
112
+ fail('The Starbase has too few available crew; finish their current assignments or reduce the requested count.');
113
+ if (fleet.crewCount + intent.count > capacity ||
114
+ fleet.crewCount + intent.count > 65535)
115
+ fail('The requested crew exceed the Fleet required-crew plus passenger capacity; reduce the count.');
116
+ }
117
+ else {
118
+ if (fleet.crewCount < intent.count)
119
+ fail('The Fleet has fewer crew aboard than requested; reduce the unload count.');
120
+ if (player.totalCrew + intent.count > 4294967295)
121
+ fail('The Starbase total crew would exceed its stored limit; select a smaller count.');
122
+ }
123
+ return {
124
+ system: systemAddress,
125
+ starbasePlayer: playerAddress,
126
+ systemSequenceId: system.sequenceId,
127
+ };
128
+ }
129
+ //# sourceMappingURL=fleet-crew-transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-crew-transfer.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-transfer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Instruction } from '@solana/kit';
2
+ import type { PlanPrecondition, PlanSemanticFact, PlanStep } from '../../planning/index.js';
3
+ /** The step semantics every disband carries: it closes the Fleet and frees a
4
+ * Character Fleet slot, so it must be the only instruction in its transaction
5
+ * and no later step may rely on the Fleet or the Character's capacity. */
6
+ export declare function disbandSemantics(instruction: Instruction): readonly PlanSemanticFact[];
7
+ /** Binds every Fleet disband to the safety it was planned with, whatever a
8
+ * saved or custom Plan carries: the disband stands alone in its Plan, keeps
9
+ * its exact step semantics, and has an account-state guard for the Fleet it
10
+ * closes, so a changed Fleet refuses the Plan. */
11
+ export declare function validateFleetDisbandInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
12
+ //# sourceMappingURL=fleet-disband-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-disband-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAiBjC;;0EAE0E;AAC1E,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,GACvB,SAAS,gBAAgB,EAAE,CAe7B;AAmBD;;;kDAGkD;AAClD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAuBN"}
@@ -0,0 +1,54 @@
1
+ import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
2
+ import { DISBAND_FLEET_DISCRIMINATOR } from '../c4/discriminators.js';
3
+ import { DISBAND_CHARACTER_INDEX, DISBAND_FLEET_INDEX, } from '../c4/fleet-disband-layout.js';
4
+ import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
5
+ function isDisband(instruction) {
6
+ return (instruction.programAddress === SAGE_PROGRAM_ADDRESS &&
7
+ DISBAND_FLEET_DISCRIMINATOR.every((byte, index) => instruction.data?.[index] === byte));
8
+ }
9
+ /** The step semantics every disband carries: it closes the Fleet and frees a
10
+ * Character Fleet slot, so it must be the only instruction in its transaction
11
+ * and no later step may rely on the Fleet or the Character's capacity. */
12
+ export function disbandSemantics(instruction) {
13
+ const metas = instruction.accounts;
14
+ return [
15
+ { kind: 'exclusive', scope: 'transaction' },
16
+ {
17
+ kind: 'invalidates',
18
+ resource: `fleet:${metas[DISBAND_FLEET_INDEX].address}`,
19
+ fact: 'exists',
20
+ },
21
+ {
22
+ kind: 'invalidates',
23
+ resource: `character:${metas[DISBAND_CHARACTER_INDEX].address}`,
24
+ fact: 'fleet-creation-capacity',
25
+ },
26
+ ];
27
+ }
28
+ function sameSemantics(actual, expected) {
29
+ return (actual?.length === expected.length &&
30
+ expected.every((fact, index) => {
31
+ const other = actual[index];
32
+ return (other !== undefined &&
33
+ Object.keys(other).length === Object.keys(fact).length &&
34
+ Object.entries(fact).every(([key, value]) => other[key] === value));
35
+ }));
36
+ }
37
+ /** Binds every Fleet disband to the safety it was planned with, whatever a
38
+ * saved or custom Plan carries: the disband stands alone in its Plan, keeps
39
+ * its exact step semantics, and has an account-state guard for the Fleet it
40
+ * closes, so a changed Fleet refuses the Plan. */
41
+ export function validateFleetDisbandInstructions(steps, guards) {
42
+ const disbands = steps.filter(({ instruction }) => isDisband(instruction));
43
+ if (disbands.length === 0)
44
+ return;
45
+ if (steps.length !== 1)
46
+ throw new SageSdkError('INCOMPATIBLE_PLAN_COMPOSITION', 'A Fleet disband must be the only instruction in its transaction. Execute the disband as its own Plan, confirm it, then prepare the next action from fresh state, or use a PlanSequence.');
47
+ const step = disbands[0];
48
+ const fleet = step.instruction.accounts?.[DISBAND_FLEET_INDEX]?.address;
49
+ if (step.instruction.accounts?.length !== 11 ||
50
+ !sameSemantics(step.semantics, disbandSemantics(step.instruction)) ||
51
+ guards.filter((guard) => guard.kind === 'account-state' && guard.address === fleet).length !== 1)
52
+ throw new InvalidActionInputError('fleetDisband', undefined, 'one standalone disband with its exact step semantics and one account-state guard for its Fleet', 'Recreate the disband Plan with planFleetDisband; a saved Plan cannot drop its Fleet check or transaction exclusivity.');
53
+ }
54
+ //# sourceMappingURL=fleet-disband-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-disband-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import { type FleetAccountData } from '../c4/fleet.js';
4
+ /** A player's request to disband one Docked Fleet. */
5
+ export interface FleetDisbandIntent {
6
+ readonly game: Address;
7
+ readonly profile: Address;
8
+ readonly authority: Address;
9
+ readonly keyIndex: number;
10
+ readonly fleet: Address;
11
+ readonly system: Address;
12
+ }
13
+ /** The accounts disband validation reads, derived from the intent. */
14
+ export interface FleetDisbandAccounts {
15
+ readonly profile: Address;
16
+ readonly character: Address;
17
+ readonly profileFaction: Address;
18
+ readonly system: Address;
19
+ readonly starbasePlayer: Address;
20
+ readonly fleet: Address;
21
+ readonly rent: Address;
22
+ readonly clock: Address;
23
+ }
24
+ export declare function resolveFleetDisband(intent: FleetDisbandIntent): Promise<FleetDisbandAccounts>;
25
+ /** Checks the program's disband rules that fresh accounts can show, verified
26
+ * against the program's behaviour: a canonical owned player Fleet, not rented,
27
+ * Docked (the caller selects its System from that state) at a Starbase where the Character has a current StarbasePlayer of the
28
+ * Fleet's faction, repairable to full HP, with no warp or scan cooldown
29
+ * running, and a current direct Profile AUTH key or a manageFleet key scoped
30
+ * to SAGE or the Fleet. AP and SP recover on timers and must be full when the
31
+ * instruction runs; they stay chain-authoritative. */
32
+ export declare function validateFleetDisband(intent: FleetDisbandIntent, resolved: FleetDisbandAccounts, accounts: ReadonlyMap<Address, RawAccount | undefined>): Promise<{
33
+ readonly fleet: FleetAccountData;
34
+ readonly now: bigint;
35
+ }>;
36
+ //# sourceMappingURL=fleet-disband.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-disband.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAexB,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AAMD;;;;;;sDAMsD;AACtD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,GACrD,OAAO,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAoFrE"}
@@ -0,0 +1,82 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { findCharacterPda } from '../c4/character.js';
3
+ import { deriveFleetAddress, fleetAccountDefinition, } from '../c4/fleet.js';
4
+ import { PROFILE_SCOPE, SAGE_SCOPE } from '../c4/profile-permissions.js';
5
+ import { deriveProfileFactionAddress } from '../c4/profile-faction.js';
6
+ import { deriveStarbasePlayerAddress } from '../c4/starbase.js';
7
+ import { SYSTEM_PROGRAM } from '../system-program.js';
8
+ import { describeFleetRental } from './fleet-rental.js';
9
+ import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
10
+ import { readOwnStarbaseFacts } from './own-starbase-facts.js';
11
+ import { directProfileKey, grantsPermission, profileKeyExpired, } from './profile-key.js';
12
+ import { RENT_ADDRESS } from './rent.js';
13
+ export async function resolveFleetDisband(intent) {
14
+ const [character, profileFaction] = await Promise.all([
15
+ findCharacterPda(intent.profile, intent.game),
16
+ deriveProfileFactionAddress(intent.profile),
17
+ ]);
18
+ return {
19
+ profile: intent.profile,
20
+ character,
21
+ profileFaction,
22
+ system: intent.system,
23
+ starbasePlayer: await deriveStarbasePlayerAddress(intent.system, character),
24
+ fleet: intent.fleet,
25
+ rent: RENT_ADDRESS,
26
+ clock: CLOCK_ADDRESS,
27
+ };
28
+ }
29
+ function fail(address, message) {
30
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
31
+ }
32
+ /** Checks the program's disband rules that fresh accounts can show, verified
33
+ * against the program's behaviour: a canonical owned player Fleet, not rented,
34
+ * Docked (the caller selects its System from that state) at a Starbase where the Character has a current StarbasePlayer of the
35
+ * Fleet's faction, repairable to full HP, with no warp or scan cooldown
36
+ * running, and a current direct Profile AUTH key or a manageFleet key scoped
37
+ * to SAGE or the Fleet. AP and SP recover on timers and must be full when the
38
+ * instruction runs; they stay chain-authoritative. */
39
+ export async function validateFleetDisband(intent, resolved, accounts) {
40
+ const required = (address, name) => {
41
+ const raw = accounts.get(address);
42
+ if (!raw)
43
+ fail(address, `${name} ${address} is missing. Refresh the account, or register what the Fleet needs, before disbanding it.`);
44
+ if (raw.executable)
45
+ fail(address, `${name} ${address} is executable. Refresh valid account state before disbanding the Fleet.`);
46
+ return raw;
47
+ };
48
+ const { profile, faction, system, player } = await readOwnStarbaseFacts(intent, resolved, required, { replan: 'replan the Fleet disband', before: 'before disbanding a Fleet' }, { anyStarbase: true });
49
+ if (player.sequenceId !== system.sequenceId)
50
+ fail(resolved.starbasePlayer, `The StarbasePlayer belongs to Starbase generation ${String(player.sequenceId)}, but the Starbase is at generation ${String(system.sequenceId)}; the program treats it as destroyed. Register a current StarbasePlayer at this Starbase and replan the disband.`);
51
+ const fleet = fleetAccountDefinition.decode(required(resolved.fleet, 'Fleet'));
52
+ if ((await deriveFleetAddress(fleet)) !== intent.fleet ||
53
+ fleet.game !== intent.game ||
54
+ fleet.ownerProfile !== intent.profile ||
55
+ fleet.faction !== faction.faction ||
56
+ fleet.npcFactionId !== 0)
57
+ fail(resolved.fleet, 'The Fleet has a noncanonical address or a different Game, Profile, faction or NPC affiliation. Select a canonical owned player Fleet and replan the disband.');
58
+ if (fleet.subProfile !== SYSTEM_PROGRAM)
59
+ fail(resolved.fleet, `The Fleet is ${describeFleetRental(fleet.subProfile)}, so it cannot disband. End the rental, refresh the Fleet and replan.`);
60
+ // HP can only recover from the pending repair reservoir, so a Fleet whose HP
61
+ // plus reservoir is below its maximum can never qualify.
62
+ if (fleet.hp + fleet.pendingHp < fleet.stats.combat.hp)
63
+ fail(resolved.fleet, `The Fleet has ${String(fleet.hp)} HP and ${String(fleet.pendingHp)} pending repair, below its ${String(fleet.stats.combat.hp)} maximum, and only a fully repaired Fleet can disband. Repair the Fleet, refresh it and replan.`);
64
+ const now = readClock(required(resolved.clock, 'Clock sysvar'));
65
+ for (const [name, expiresAt] of [
66
+ ['warp', fleet.warpCooldownExpiresAt],
67
+ ['scan', fleet.scanCooldownExpiresAt],
68
+ ])
69
+ if (now < expiresAt)
70
+ fail(resolved.fleet, `The Fleet's ${name} cooldown runs until ${String(expiresAt)} Unix seconds (chain time is ${String(now)}), and a Fleet cannot disband while it runs. Wait for the cooldown, refresh the Fleet and replan.`);
71
+ const key = directProfileKey(profile.keys, intent.keyIndex, intent.authority);
72
+ if (!key)
73
+ fail(resolved.profile, 'The selected direct Profile key is absent or belongs to another authority. Select the current key index for this authority and replan the disband.');
74
+ if (profileKeyExpired(key, now))
75
+ fail(resolved.profile, 'The selected Profile key has expired. Renew it or select a current direct key and replan the disband.');
76
+ if (!grantsPermission(key, PROFILE_SCOPE, 0n) &&
77
+ !grantsPermission(key, SAGE_SCOPE, 18n) &&
78
+ !grantsPermission(key, intent.fleet, 18n))
79
+ fail(resolved.profile, 'The selected key cannot manage Fleets. Use a direct Profile AUTH key or a manageFleet key scoped to SAGE or this Fleet, and replan the disband.');
80
+ return { fleet, now };
81
+ }
82
+ //# sourceMappingURL=fleet-disband.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-disband.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { type Address } from '@solana/kit';
2
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
3
+ import { type GuardSchema } from './plan-fields.js';
4
+ export declare const MAXIMUM_DOCK_GROWTH_BYTES = 40;
5
+ declare const REASONS: readonly ["unsupported-account-layout", "unsupported-fleet-state", "noncanonical-account-encoding", "stale-definition-sequences", "stale-starbase-sequence", "pending-recovery", "active-stimulants", "funding-state-unavailable", "accounts-below-rent-reserve", "profile-below-storage-ceiling"];
6
+ export type DockBoundsUnavailableReason = (typeof REASONS)[number];
7
+ export type DockFundingAmounts = {
8
+ readonly status: 'unavailable';
9
+ readonly reason: DockBoundsUnavailableReason;
10
+ } | {
11
+ readonly status: 'available';
12
+ readonly maximumProfileDebit: bigint;
13
+ readonly fleetDataLengthBytes: number;
14
+ readonly rentLamportsPerByteYear: bigint;
15
+ readonly rentExemptionThreshold: number;
16
+ readonly shipSequenceId: number;
17
+ readonly cargoSequenceId: number;
18
+ readonly starbaseSequenceId: bigint;
19
+ };
20
+ export interface DockFundingIntent {
21
+ readonly address: Address;
22
+ readonly game: Address;
23
+ readonly profile: Address;
24
+ readonly authority: Address;
25
+ readonly certificate: Address;
26
+ readonly keyIndex: number;
27
+ readonly character: Address;
28
+ readonly system: Address;
29
+ readonly starbasePlayer: Address;
30
+ }
31
+ export type FleetDockFundingGuard = DockFundingIntent & DockFundingAmounts & {
32
+ readonly kind: 'fleet-dock-funding';
33
+ readonly describes: string;
34
+ readonly dataHash?: never;
35
+ };
36
+ export declare function dockGrowthDebit(rate: bigint, threshold: number, length: number): bigint;
37
+ /** Plan guard schema: exact docking intent, Rent quote and gross storage ceiling. */
38
+ export declare const FLEET_DOCK_FUNDING_SCHEMA: GuardSchema;
39
+ /** Requires one exact funding assertion for each current docking instruction. */
40
+ export declare function validateFleetDockFundingGuards(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
41
+ export {};
42
+ //# sourceMappingURL=fleet-dock-funding-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-dock-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAGzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAIL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,QAAA,MAAM,OAAO,oSAWH,CAAC;AACX,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;CAC9C,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAAC;AACN,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AACD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GACnD,kBAAkB,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AACJ,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAWD,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,EAAE,WAuEvC,CAAC;AAqBF,iFAAiF;AACjF,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA0FN"}