@aephia/atlas-kit 0.6.0-next.6 → 0.6.0-next.60

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 (448) hide show
  1. package/README.md +3 -1
  2. package/dist/cargo/actions/deposit.d.ts +1 -1
  3. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  4. package/dist/cargo/actions/deposit.js +25 -12
  5. package/dist/cargo/actions/deposit.js.map +1 -1
  6. package/dist/cargo/actions/index.d.ts.map +1 -1
  7. package/dist/cargo/actions/index.js +3 -2
  8. package/dist/cargo/actions/index.js.map +1 -1
  9. package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
  10. package/dist/cargo/actions/wallet-context.js +3 -9
  11. package/dist/cargo/actions/wallet-context.js.map +1 -1
  12. package/dist/cargo/actions/wallet-token.d.ts +1 -1
  13. package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
  14. package/dist/cargo/actions/wallet-token.js +1 -9
  15. package/dist/cargo/actions/wallet-token.js.map +1 -1
  16. package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
  17. package/dist/cargo/actions/withdrawal.js +22 -10
  18. package/dist/cargo/actions/withdrawal.js.map +1 -1
  19. package/dist/claim-stakes/actions/index.d.ts +13 -0
  20. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  21. package/dist/claim-stakes/actions/index.js +87 -37
  22. package/dist/claim-stakes/actions/index.js.map +1 -1
  23. package/dist/client/contracts.d.ts +16 -6
  24. package/dist/client/contracts.d.ts.map +1 -1
  25. package/dist/client/errors.d.ts +4 -0
  26. package/dist/client/errors.d.ts.map +1 -1
  27. package/dist/client/errors.js +31 -1
  28. package/dist/client/errors.js.map +1 -1
  29. package/dist/client/index.d.ts +1 -0
  30. package/dist/client/index.d.ts.map +1 -1
  31. package/dist/client/index.js +1 -0
  32. package/dist/client/index.js.map +1 -1
  33. package/dist/client/rpc-subscription-provider.d.ts +35 -0
  34. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  35. package/dist/client/rpc-subscription-provider.js +190 -0
  36. package/dist/client/rpc-subscription-provider.js.map +1 -0
  37. package/dist/combat/actions/index.d.ts.map +1 -1
  38. package/dist/combat/actions/index.js +98 -50
  39. package/dist/combat/actions/index.js.map +1 -1
  40. package/dist/crafting/actions/index.d.ts.map +1 -1
  41. package/dist/crafting/actions/index.js +49 -29
  42. package/dist/crafting/actions/index.js.map +1 -1
  43. package/dist/crafting/index.d.ts +24 -2
  44. package/dist/crafting/index.d.ts.map +1 -1
  45. package/dist/crafting/index.js +31 -2
  46. package/dist/crafting/index.js.map +1 -1
  47. package/dist/factions/actions/index.d.ts +3 -0
  48. package/dist/factions/actions/index.d.ts.map +1 -1
  49. package/dist/factions/actions/index.js +19 -4
  50. package/dist/factions/actions/index.js.map +1 -1
  51. package/dist/factions/index.d.ts +1 -1
  52. package/dist/factions/index.d.ts.map +1 -1
  53. package/dist/factions/index.js +1 -1
  54. package/dist/factions/index.js.map +1 -1
  55. package/dist/factions/profile-faction.d.ts +20 -8
  56. package/dist/factions/profile-faction.d.ts.map +1 -1
  57. package/dist/factions/profile-faction.js +20 -8
  58. package/dist/factions/profile-faction.js.map +1 -1
  59. package/dist/fleets/actions/add-ship.d.ts +35 -0
  60. package/dist/fleets/actions/add-ship.d.ts.map +1 -0
  61. package/dist/fleets/actions/add-ship.js +149 -0
  62. package/dist/fleets/actions/add-ship.js.map +1 -0
  63. package/dist/fleets/actions/create-fleet.d.ts +36 -0
  64. package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
  65. package/dist/fleets/actions/create-fleet.js +138 -0
  66. package/dist/fleets/actions/create-fleet.js.map +1 -0
  67. package/dist/fleets/actions/index.d.ts +27 -15
  68. package/dist/fleets/actions/index.d.ts.map +1 -1
  69. package/dist/fleets/actions/index.js +161 -109
  70. package/dist/fleets/actions/index.js.map +1 -1
  71. package/dist/fleets/actions/respawn.d.ts +38 -0
  72. package/dist/fleets/actions/respawn.d.ts.map +1 -0
  73. package/dist/fleets/actions/respawn.js +122 -0
  74. package/dist/fleets/actions/respawn.js.map +1 -0
  75. package/dist/fleets/actions/ship-import.d.ts +48 -0
  76. package/dist/fleets/actions/ship-import.d.ts.map +1 -0
  77. package/dist/fleets/actions/ship-import.js +330 -0
  78. package/dist/fleets/actions/ship-import.js.map +1 -0
  79. package/dist/identity/actions/create-profile.d.ts +56 -0
  80. package/dist/identity/actions/create-profile.d.ts.map +1 -0
  81. package/dist/identity/actions/create-profile.js +139 -0
  82. package/dist/identity/actions/create-profile.js.map +1 -0
  83. package/dist/identity/actions/index.d.ts +4 -1
  84. package/dist/identity/actions/index.d.ts.map +1 -1
  85. package/dist/identity/actions/index.js +50 -28
  86. package/dist/identity/actions/index.js.map +1 -1
  87. package/dist/identity/index.d.ts +15 -0
  88. package/dist/identity/index.d.ts.map +1 -1
  89. package/dist/identity/index.js +15 -0
  90. package/dist/identity/index.js.map +1 -1
  91. package/dist/identity/permissions.d.ts +124 -0
  92. package/dist/identity/permissions.d.ts.map +1 -0
  93. package/dist/identity/permissions.js +171 -0
  94. package/dist/identity/permissions.js.map +1 -0
  95. package/dist/index.d.ts +9 -0
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +4 -1
  98. package/dist/index.js.map +1 -1
  99. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  100. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  101. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  102. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  103. package/dist/internal/c4/character-registration.d.ts +2 -0
  104. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  105. package/dist/internal/c4/character-registration.js +2 -0
  106. package/dist/internal/c4/character-registration.js.map +1 -1
  107. package/dist/internal/c4/claim-stake.d.ts +0 -27
  108. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  109. package/dist/internal/c4/claim-stake.js +0 -33
  110. package/dist/internal/c4/claim-stake.js.map +1 -1
  111. package/dist/internal/c4/combat.d.ts +0 -27
  112. package/dist/internal/c4/combat.d.ts.map +1 -1
  113. package/dist/internal/c4/combat.js +0 -33
  114. package/dist/internal/c4/combat.js.map +1 -1
  115. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  116. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  117. package/dist/internal/c4/crafting-process-codec.js +34 -0
  118. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  119. package/dist/internal/c4/crafting.d.ts +11 -31
  120. package/dist/internal/c4/crafting.d.ts.map +1 -1
  121. package/dist/internal/c4/crafting.js +26 -43
  122. package/dist/internal/c4/crafting.js.map +1 -1
  123. package/dist/internal/c4/faction-adapter.d.ts +12 -0
  124. package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
  125. package/dist/internal/c4/faction-adapter.js +52 -0
  126. package/dist/internal/c4/faction-adapter.js.map +1 -0
  127. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  128. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  129. package/dist/internal/c4/faction-epoch-meter.js +31 -0
  130. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  131. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  132. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  133. package/dist/internal/c4/faction-treasury.js +48 -0
  134. package/dist/internal/c4/faction-treasury.js.map +1 -0
  135. package/dist/internal/c4/factions.d.ts +9 -57
  136. package/dist/internal/c4/factions.d.ts.map +1 -1
  137. package/dist/internal/c4/factions.js +21 -139
  138. package/dist/internal/c4/factions.js.map +1 -1
  139. package/dist/internal/c4/fleet-arrival.d.ts +28 -0
  140. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  141. package/dist/internal/c4/fleet-arrival.js +42 -0
  142. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  143. package/dist/internal/c4/fleet-creation.d.ts +7 -0
  144. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  145. package/dist/internal/c4/fleet-creation.js +180 -0
  146. package/dist/internal/c4/fleet-creation.js.map +1 -0
  147. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  148. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  149. package/dist/internal/c4/fleet-crew-binding.js +15 -0
  150. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  151. package/dist/internal/c4/fleet-respawn.d.ts +19 -0
  152. package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
  153. package/dist/internal/c4/fleet-respawn.js +91 -0
  154. package/dist/internal/c4/fleet-respawn.js.map +1 -0
  155. package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
  156. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  157. package/dist/internal/c4/fleet-ship-assembly.js +44 -0
  158. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  159. package/dist/internal/c4/fleet.d.ts +38 -19
  160. package/dist/internal/c4/fleet.d.ts.map +1 -1
  161. package/dist/internal/c4/fleet.js.map +1 -1
  162. package/dist/internal/c4/game.d.ts +31 -8
  163. package/dist/internal/c4/game.d.ts.map +1 -1
  164. package/dist/internal/c4/game.js +88 -12
  165. package/dist/internal/c4/game.js.map +1 -1
  166. package/dist/internal/c4/identity.d.ts +2 -7
  167. package/dist/internal/c4/identity.d.ts.map +1 -1
  168. package/dist/internal/c4/identity.js +2 -23
  169. package/dist/internal/c4/identity.js.map +1 -1
  170. package/dist/internal/c4/loyalty.d.ts +0 -27
  171. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  172. package/dist/internal/c4/loyalty.js +0 -33
  173. package/dist/internal/c4/loyalty.js.map +1 -1
  174. package/dist/internal/c4/market.d.ts +1 -37
  175. package/dist/internal/c4/market.d.ts.map +1 -1
  176. package/dist/internal/c4/market.js +11 -49
  177. package/dist/internal/c4/market.js.map +1 -1
  178. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  179. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  180. package/dist/internal/c4/mining-instructions.js +3 -0
  181. package/dist/internal/c4/mining-instructions.js.map +1 -0
  182. package/dist/internal/c4/open-signal.d.ts +8 -0
  183. package/dist/internal/c4/open-signal.d.ts.map +1 -0
  184. package/dist/internal/c4/open-signal.js +37 -0
  185. package/dist/internal/c4/open-signal.js.map +1 -0
  186. package/dist/internal/c4/profile-creation.d.ts +17 -0
  187. package/dist/internal/c4/profile-creation.d.ts.map +1 -0
  188. package/dist/internal/c4/profile-creation.js +36 -0
  189. package/dist/internal/c4/profile-creation.js.map +1 -0
  190. package/dist/internal/c4/profile-permissions.d.ts +14 -0
  191. package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
  192. package/dist/internal/c4/profile-permissions.js +81 -0
  193. package/dist/internal/c4/profile-permissions.js.map +1 -0
  194. package/dist/internal/c4/region-geometry.d.ts +8 -0
  195. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  196. package/dist/internal/c4/region-geometry.js +43 -0
  197. package/dist/internal/c4/region-geometry.js.map +1 -0
  198. package/dist/internal/c4/rewards.d.ts +0 -27
  199. package/dist/internal/c4/rewards.d.ts.map +1 -1
  200. package/dist/internal/c4/rewards.js +0 -33
  201. package/dist/internal/c4/rewards.js.map +1 -1
  202. package/dist/internal/c4/runtime-bindings.d.ts +3 -0
  203. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  204. package/dist/internal/c4/runtime-bindings.js +4 -0
  205. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  206. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  207. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  208. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  209. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  210. package/dist/internal/c4/scan-lifecycle.d.ts +278 -0
  211. package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
  212. package/dist/internal/c4/scan-lifecycle.js +236 -0
  213. package/dist/internal/c4/scan-lifecycle.js.map +1 -0
  214. package/dist/internal/c4/scanning.d.ts +1 -28
  215. package/dist/internal/c4/scanning.d.ts.map +1 -1
  216. package/dist/internal/c4/scanning.js +2 -33
  217. package/dist/internal/c4/scanning.js.map +1 -1
  218. package/dist/internal/c4/ship-import.d.ts +4 -0
  219. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  220. package/dist/internal/c4/ship-import.js +13 -0
  221. package/dist/internal/c4/ship-import.js.map +1 -0
  222. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  223. package/dist/internal/c4/ship-stats.js +25 -21
  224. package/dist/internal/c4/ship-stats.js.map +1 -1
  225. package/dist/internal/c4/starbase.d.ts +0 -32
  226. package/dist/internal/c4/starbase.d.ts.map +1 -1
  227. package/dist/internal/c4/starbase.js +3 -41
  228. package/dist/internal/c4/starbase.js.map +1 -1
  229. package/dist/internal/c4/world.js +2 -1
  230. package/dist/internal/c4/world.js.map +1 -1
  231. package/dist/internal/cargo.d.ts +2 -0
  232. package/dist/internal/cargo.d.ts.map +1 -1
  233. package/dist/internal/cargo.js +8 -0
  234. package/dist/internal/cargo.js.map +1 -1
  235. package/dist/internal/fleet.d.ts +1 -0
  236. package/dist/internal/fleet.d.ts.map +1 -1
  237. package/dist/internal/fleet.js +3 -1
  238. package/dist/internal/fleet.js.map +1 -1
  239. package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
  240. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  241. package/dist/internal/loyalty-atlas-bank-state.js +10 -0
  242. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  243. package/dist/internal/planning/account-state.d.ts +4 -0
  244. package/dist/internal/planning/account-state.d.ts.map +1 -0
  245. package/dist/internal/planning/account-state.js +11 -0
  246. package/dist/internal/planning/account-state.js.map +1 -0
  247. package/dist/internal/planning/action-runtime.d.ts +38 -0
  248. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  249. package/dist/internal/planning/action-runtime.js +63 -0
  250. package/dist/internal/planning/action-runtime.js.map +1 -0
  251. package/dist/internal/planning/arrival-guards.d.ts +20 -0
  252. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  253. package/dist/internal/planning/arrival-guards.js +187 -0
  254. package/dist/internal/planning/arrival-guards.js.map +1 -0
  255. package/dist/internal/planning/authorization-adapter.d.ts +19 -6
  256. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  257. package/dist/internal/planning/authorization-adapter.js +102 -16
  258. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  259. package/dist/internal/planning/character-registration-guard.d.ts +4 -0
  260. package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
  261. package/dist/internal/planning/character-registration-guard.js +58 -0
  262. package/dist/internal/planning/character-registration-guard.js.map +1 -0
  263. package/dist/internal/planning/character-registration.d.ts +23 -0
  264. package/dist/internal/planning/character-registration.d.ts.map +1 -0
  265. package/dist/internal/planning/character-registration.js +86 -0
  266. package/dist/internal/planning/character-registration.js.map +1 -0
  267. package/dist/internal/planning/democracy-history.d.ts +50 -0
  268. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  269. package/dist/internal/planning/democracy-history.js +198 -0
  270. package/dist/internal/planning/democracy-history.js.map +1 -0
  271. package/dist/internal/planning/faction-enrollment.d.ts +1 -1
  272. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  273. package/dist/internal/planning/faction-enrollment.js +7 -13
  274. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  275. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  276. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  277. package/dist/internal/planning/faction-trade-guards.js +15 -0
  278. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  279. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  280. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  281. package/dist/internal/planning/faction-trade-state.js +43 -0
  282. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  283. package/dist/internal/planning/fleet-arrival.d.ts +40 -0
  284. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  285. package/dist/internal/planning/fleet-arrival.js +106 -0
  286. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  287. package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
  288. package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
  289. package/dist/internal/planning/fleet-attack-xp.js +110 -0
  290. package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
  291. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  292. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  293. package/dist/internal/planning/fleet-creation.js +107 -0
  294. package/dist/internal/planning/fleet-creation.js.map +1 -0
  295. package/dist/internal/planning/fleet-respawn.d.ts +28 -0
  296. package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
  297. package/dist/internal/planning/fleet-respawn.js +164 -0
  298. package/dist/internal/planning/fleet-respawn.js.map +1 -0
  299. package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
  300. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  301. package/dist/internal/planning/fleet-ship-assembly.js +136 -0
  302. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  303. package/dist/internal/planning/governance-fees.d.ts +64 -0
  304. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  305. package/dist/internal/planning/governance-fees.js +239 -0
  306. package/dist/internal/planning/governance-fees.js.map +1 -0
  307. package/dist/internal/planning/mining-stop.d.ts +14 -0
  308. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  309. package/dist/internal/planning/mining-stop.js +41 -0
  310. package/dist/internal/planning/mining-stop.js.map +1 -0
  311. package/dist/internal/planning/movement-character.d.ts +7 -0
  312. package/dist/internal/planning/movement-character.d.ts.map +1 -0
  313. package/dist/internal/planning/movement-character.js +41 -0
  314. package/dist/internal/planning/movement-character.js.map +1 -0
  315. package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
  316. package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
  317. package/dist/internal/planning/movement-xp-guard.js +103 -0
  318. package/dist/internal/planning/movement-xp-guard.js.map +1 -0
  319. package/dist/internal/planning/open-signal-guard.d.ts +3 -0
  320. package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
  321. package/dist/internal/planning/open-signal-guard.js +31 -0
  322. package/dist/internal/planning/open-signal-guard.js.map +1 -0
  323. package/dist/internal/planning/open-signal.d.ts +31 -0
  324. package/dist/internal/planning/open-signal.d.ts.map +1 -0
  325. package/dist/internal/planning/open-signal.js +84 -0
  326. package/dist/internal/planning/open-signal.js.map +1 -0
  327. package/dist/internal/planning/respawn-guards.d.ts +3 -0
  328. package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
  329. package/dist/internal/planning/respawn-guards.js +41 -0
  330. package/dist/internal/planning/respawn-guards.js.map +1 -0
  331. package/dist/internal/planning/runtime-guards.d.ts +43 -0
  332. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  333. package/dist/internal/planning/runtime-guards.js +636 -0
  334. package/dist/internal/planning/runtime-guards.js.map +1 -0
  335. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  336. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  337. package/dist/internal/planning/scan-detect-guard.js +77 -0
  338. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  339. package/dist/internal/planning/scan-detect.d.ts +24 -0
  340. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  341. package/dist/internal/planning/scan-detect.js +244 -0
  342. package/dist/internal/planning/scan-detect.js.map +1 -0
  343. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  344. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  345. package/dist/internal/planning/ship-import-funding.js +52 -0
  346. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  347. package/dist/internal/planning/ship-token.d.ts +10 -0
  348. package/dist/internal/planning/ship-token.d.ts.map +1 -0
  349. package/dist/internal/planning/ship-token.js +47 -0
  350. package/dist/internal/planning/ship-token.js.map +1 -0
  351. package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
  352. package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
  353. package/dist/internal/planning/starbase-system-guard.js +93 -0
  354. package/dist/internal/planning/starbase-system-guard.js.map +1 -0
  355. package/dist/internal/planning/starbase-system.d.ts +12 -0
  356. package/dist/internal/planning/starbase-system.d.ts.map +1 -0
  357. package/dist/internal/planning/starbase-system.js +22 -0
  358. package/dist/internal/planning/starbase-system.js.map +1 -0
  359. package/dist/internal/planning/token-mint.d.ts +4 -0
  360. package/dist/internal/planning/token-mint.d.ts.map +1 -0
  361. package/dist/internal/planning/token-mint.js +15 -0
  362. package/dist/internal/planning/token-mint.js.map +1 -0
  363. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  364. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  365. package/dist/internal/planning/trade-faction-market.js +56 -0
  366. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  367. package/dist/internal/planning/xp-runtime.d.ts +36 -0
  368. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  369. package/dist/internal/planning/xp-runtime.js +124 -0
  370. package/dist/internal/planning/xp-runtime.js.map +1 -0
  371. package/dist/loyalty/actions/index.d.ts.map +1 -1
  372. package/dist/loyalty/actions/index.js +4 -3
  373. package/dist/loyalty/actions/index.js.map +1 -1
  374. package/dist/loyalty/index.d.ts.map +1 -1
  375. package/dist/loyalty/index.js +2 -6
  376. package/dist/loyalty/index.js.map +1 -1
  377. package/dist/markets/actions/index.d.ts +1 -0
  378. package/dist/markets/actions/index.d.ts.map +1 -1
  379. package/dist/markets/actions/index.js +40 -16
  380. package/dist/markets/actions/index.js.map +1 -1
  381. package/dist/markets/actions/trade-faction-market.d.ts +43 -0
  382. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  383. package/dist/markets/actions/trade-faction-market.js +291 -0
  384. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  385. package/dist/mining/actions/index.d.ts +84 -0
  386. package/dist/mining/actions/index.d.ts.map +1 -0
  387. package/dist/mining/actions/index.js +328 -0
  388. package/dist/mining/actions/index.js.map +1 -0
  389. package/dist/mining/index.d.ts +7 -2
  390. package/dist/mining/index.d.ts.map +1 -1
  391. package/dist/mining/index.js +5 -2
  392. package/dist/mining/index.js.map +1 -1
  393. package/dist/planning/assembly.d.ts.map +1 -1
  394. package/dist/planning/assembly.js +18 -0
  395. package/dist/planning/assembly.js.map +1 -1
  396. package/dist/planning/execution.d.ts.map +1 -1
  397. package/dist/planning/execution.js +370 -18
  398. package/dist/planning/execution.js.map +1 -1
  399. package/dist/planning/index.d.ts +184 -117
  400. package/dist/planning/index.d.ts.map +1 -1
  401. package/dist/planning/index.js +740 -87
  402. package/dist/planning/index.js.map +1 -1
  403. package/dist/planning/simulation.d.ts +25 -1
  404. package/dist/planning/simulation.d.ts.map +1 -1
  405. package/dist/planning/simulation.js +111 -11
  406. package/dist/planning/simulation.js.map +1 -1
  407. package/dist/registry/cargo.d.ts +6 -11
  408. package/dist/registry/cargo.d.ts.map +1 -1
  409. package/dist/registry/cargo.js +19 -19
  410. package/dist/registry/cargo.js.map +1 -1
  411. package/dist/registry/index.d.ts +4 -0
  412. package/dist/registry/index.d.ts.map +1 -1
  413. package/dist/registry/index.js.map +1 -1
  414. package/dist/registry/onboarding.d.ts +10 -1
  415. package/dist/registry/onboarding.d.ts.map +1 -1
  416. package/dist/registry/onboarding.js +26 -8
  417. package/dist/registry/onboarding.js.map +1 -1
  418. package/dist/registry/scanning.d.ts +7 -0
  419. package/dist/registry/scanning.d.ts.map +1 -0
  420. package/dist/registry/scanning.js +13 -0
  421. package/dist/registry/scanning.js.map +1 -0
  422. package/dist/registry/ship-stats-snapshot.js +19 -19
  423. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  424. package/dist/registry/ships.d.ts +28 -0
  425. package/dist/registry/ships.d.ts.map +1 -0
  426. package/dist/registry/ships.js +51 -0
  427. package/dist/registry/ships.js.map +1 -0
  428. package/dist/registry/xp-runtime.d.ts +4 -0
  429. package/dist/registry/xp-runtime.d.ts.map +1 -0
  430. package/dist/registry/xp-runtime.js +14 -0
  431. package/dist/registry/xp-runtime.js.map +1 -0
  432. package/dist/scanning/actions/index.d.ts +52 -0
  433. package/dist/scanning/actions/index.d.ts.map +1 -0
  434. package/dist/scanning/actions/index.js +117 -0
  435. package/dist/scanning/actions/index.js.map +1 -0
  436. package/dist/scanning/index.d.ts +3 -1
  437. package/dist/scanning/index.d.ts.map +1 -1
  438. package/dist/scanning/index.js +4 -2
  439. package/dist/scanning/index.js.map +1 -1
  440. package/dist/scanning/lifecycle.d.ts +77 -0
  441. package/dist/scanning/lifecycle.d.ts.map +1 -0
  442. package/dist/scanning/lifecycle.js +93 -0
  443. package/dist/scanning/lifecycle.js.map +1 -0
  444. package/dist/scanning/signals.d.ts +121 -0
  445. package/dist/scanning/signals.d.ts.map +1 -0
  446. package/dist/scanning/signals.js +171 -0
  447. package/dist/scanning/signals.js.map +1 -0
  448. package/package.json +10 -2
@@ -1 +1 @@
1
- {"version":3,"file":"assembly.js","sourceRoot":"","sources":["../../src/planning/assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembly.js","sourceRoot":"","sources":["../../src/planning/assembly.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"AAEA,OAAO,EAcL,KAAK,UAAU,EACf,KAAK,SAAS,EAOd,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAEV,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,IAAI,EAAoB,MAAM,YAAY,CAAC;AAgBzD;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,GACF,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,YAAY,GAAG,kBAAkB,GAAG,cAAc,CAAC;IAC9D,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,CAAC;AAEP;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAYhF,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,UAAU,EAAE,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAm0BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,mFAAmF;AACnF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,EAC3B,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAiD9B"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"AA4DA,OAAO,EAcL,KAAK,UAAU,EACf,KAAK,SAAS,EAOd,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAEV,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,IAAI,EAAoB,MAAM,YAAY,CAAC;AAgBzD;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,GACF,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,YAAY,GAAG,kBAAkB,GAAG,cAAc,CAAC;IAC9D,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,CAAC;AAEP;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAYhF,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,UAAU,EAAE,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAuvCD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,mFAAmF;AACnF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,EAC3B,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA2G9B"}
@@ -1,4 +1,26 @@
1
- import { hashGameCargoConfigurations } from '../registry/cargo.js';
1
+ import { openSignalAddresses, validateOpenSignal, } from '../internal/planning/open-signal.js';
2
+ import { revalidateDetect } from '../internal/planning/scan-detect.js';
3
+ import { resolveFleetRespawn } from '../internal/planning/fleet-respawn.js';
4
+ import { validateFleetAttackActors } from '../internal/planning/fleet-attack-xp.js';
5
+ import { RENT_ADDRESS, readRent, } from '../internal/planning/faction-enrollment.js';
6
+ import { getBase64Decoder, } from '@solana/kit';
7
+ import { hashMovementCharacter } from '../internal/planning/movement-character.js';
8
+ import { validateStarbaseSystem } from '../internal/planning/starbase-system.js';
9
+ import { revalidateCharacterRegistration, isEmptySystemAccount, } from '../internal/planning/character-registration.js';
10
+ import { validateFleetArrivalIntent } from '../internal/planning/fleet-arrival.js';
11
+ import { isRuntimeGuard, revalidateRuntimeGuards, } from '../internal/planning/runtime-guards.js';
12
+ import { isFactionTradeGuard } from '../internal/planning/faction-trade-guards.js';
13
+ import { resolveShipImportFunding, validateShipImportFunding, } from '../internal/planning/ship-import-funding.js';
14
+ import { matchesFleetMiningState } from '../internal/planning/mining-stop.js';
15
+ import { requireGameAddress } from '../internal/game-context.js';
16
+ import { matchesFactionTradeState } from '../internal/planning/faction-trade-state.js';
17
+ import { resolveFleetShipAssembly, validateFleetShipAssembly, } from '../internal/planning/fleet-ship-assembly.js';
18
+ import { resolveFleetCreation, validateFleetCreation, } from '../internal/planning/fleet-creation.js';
19
+ import { validateTokenMint } from '../internal/planning/token-mint.js';
20
+ import { hashGameShipConfigurations, decodeGameShipAssemblyCatalog, } from '../registry/ships.js';
21
+ import { validateGameForCharacterRegistration } from '../registry/onboarding.js';
22
+ import { hashAccountState } from '../internal/planning/account-state.js';
23
+ import { hashGameCargoConfigurationGuards } from '../registry/cargo.js';
2
24
  import { validateWalletCargoCache } from '../internal/c4/wallet-cargo-cache.js';
3
25
  import { getAddressEncoder, getProgramDerivedAddress, getAddressDecoder, getBase58Decoder, getBase64EncodedWireTransaction, getSignatureFromTransaction, isAddress, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, signAndSendTransactionWithSigners, signTransactionWithSigners, } from '@solana/kit';
4
26
  import { InvalidActionInputError, SageSdkError } from '../client/errors.js';
@@ -33,8 +55,8 @@ class MissingWriteTransportError extends SageSdkError {
33
55
  class ActionPreconditionFailedError extends SageSdkError {
34
56
  describes;
35
57
  observedSlot;
36
- constructor(precondition, observedSlot) {
37
- super('ACTION_PRECONDITION_FAILED', `The account state required by this Plan changed at ${precondition.address}: ${precondition.describes} Refresh the affected game state and create a new Plan before retrying.`, { address: precondition.address });
58
+ constructor(precondition, observedSlot, cause, address = precondition.address) {
59
+ super('ACTION_PRECONDITION_FAILED', `The account state required by this Plan changed at ${address}: ${cause ?? precondition.describes} Refresh the affected game state and create a new Plan before retrying.`, { address });
38
60
  this.describes = precondition.describes;
39
61
  this.observedSlot = observedSlot;
40
62
  }
@@ -273,14 +295,6 @@ function readFinalLastValidBlockHeight(transaction) {
273
295
  }
274
296
  return value;
275
297
  }
276
- async function hashAccountState(owner, data) {
277
- const ownerBytes = getAddressEncoder().encode(owner);
278
- const canonical = new Uint8Array(ownerBytes.length + data.length);
279
- canonical.set(ownerBytes);
280
- canonical.set(data, ownerBytes.length);
281
- const digest = new Uint8Array(await globalThis.crypto.subtle.digest('SHA-256', canonical));
282
- return [...digest].map((byte) => byte.toString(16).padStart(2, '0')).join('');
283
- }
284
298
  // Original Token Account layout: mint/authority at 0/32, initialized state at
285
299
  // 108, and u32 COption tags at 72/109/129. No capability decoder is imported.
286
300
  function matchesTokenAccount(account, expected) {
@@ -298,37 +312,337 @@ function matchesTokenAccount(account, expected) {
298
312
  return (decoder.decode(account.data.subarray(0, 32)) === expected.mint &&
299
313
  decoder.decode(account.data.subarray(32, 64)) === expected.owner);
300
314
  }
301
- async function checkPreconditions(context, preconditions, commitment) {
302
- const addresses = [...new Set(preconditions.map(({ address }) => address))];
315
+ function checkRegistrationFunding(registrations, fee) {
316
+ const balances = new Map();
317
+ for (const registration of registrations) {
318
+ const previous = balances.get(registration.funder);
319
+ if (previous === undefined || registration.observedLamports < previous)
320
+ balances.set(registration.funder, registration.observedLamports);
321
+ }
322
+ if (fee && balances.has(fee.payer))
323
+ balances.set(fee.payer, balances.get(fee.payer) - fee.lamports);
324
+ for (const registration of registrations) {
325
+ const balance = balances.get(registration.funder);
326
+ if (balance < registration.requiredLamports)
327
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Character registration funding cannot cover the ordered upfront storage and applicable transaction fee. Fund the wallet separately and recreate the Plan; a later Character refund cannot fund an earlier allocation.', { address: registration.funder });
328
+ balances.set(registration.funder, balance - registration.netDebit);
329
+ }
330
+ if (fee)
331
+ for (const registration of registrations) {
332
+ const balance = balances.get(registration.funder);
333
+ if (balance !== 0n && balance < registration.minimumBalance)
334
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Character registration leaves the funder below its empty-System-account rent minimum. Leave zero or a rent-exempt balance after storage and fees, then recreate the Plan.', { address: registration.funder });
335
+ }
336
+ }
337
+ async function checkPreconditions(context, allPreconditions, steps, commitment) {
338
+ for (const guard of allPreconditions) {
339
+ if (guard.kind === 'scan-detect')
340
+ await revalidateDetect(context, guard, commitment);
341
+ if (guard.kind === 'fleet-attack')
342
+ await validateFleetAttackActors(context, guard);
343
+ }
344
+ for (const guard of allPreconditions) {
345
+ if (guard.kind !== 'fleet-respawn')
346
+ continue;
347
+ try {
348
+ const current = await resolveFleetRespawn(context, { ...guard, fleet: guard.address }, guard, commitment);
349
+ const planned = steps[0].instruction;
350
+ const fresh = current.instruction;
351
+ if (planned.programAddress !== fresh.programAddress ||
352
+ planned.data?.length !== fresh.data?.length ||
353
+ fresh.data?.some((v, i) => planned.data?.[i] !== v) ||
354
+ planned.accounts?.length !== fresh.accounts?.length ||
355
+ fresh.accounts?.some((a, i) => planned.accounts?.[i]?.address !== a.address ||
356
+ planned.accounts?.[i]?.role !== a.role))
357
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Recovery instruction accounts changed. Recreate and inspect the recovery Plan before signing.');
358
+ }
359
+ catch (error) {
360
+ throw new ActionPreconditionFailedError(guard, undefined, error instanceof SageSdkError
361
+ ? error.message
362
+ : 'Recovery prerequisites could not be validated. Refresh the Fleet and recreate the Plan.');
363
+ }
364
+ }
365
+ const checkedXp = new Set();
366
+ const freshGameVersions = new Map();
367
+ const registrationFunding = [];
368
+ const initializations = new Map();
369
+ for (const guard of allPreconditions) {
370
+ if (guard.kind !== 'character-registration')
371
+ continue;
372
+ registrationFunding.push(await revalidateCharacterRegistration(context, guard, commitment, freshGameVersions, initializations));
373
+ }
374
+ checkRegistrationFunding(registrationFunding);
375
+ for (const guard of allPreconditions) {
376
+ if (guard.kind !== 'fleet-arrival')
377
+ continue;
378
+ try {
379
+ const current = await validateFleetArrivalIntent(context, guard.intent, freshGameVersions);
380
+ for (const xp of allPreconditions) {
381
+ if (xp.kind !== 'xp-runtime' ||
382
+ xp.intent.game !== current.xp.intent.game ||
383
+ xp.intent.character !== current.xp.intent.character ||
384
+ xp.intent.structure !== current.xp.intent.structure ||
385
+ (xp.intent.profile !== undefined &&
386
+ xp.intent.profile !== current.intent.profile))
387
+ continue;
388
+ if (['xpBudget', 'xpBudgetConfig', 'xpAccrual'].some((key) => xp.accounts[key] !== current.xp.accounts[key]))
389
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Arrival XP runtime changed. Refresh the Fleet and recreate the Plan.');
390
+ checkedXp.add(xp);
391
+ }
392
+ if (current.character !== guard.character ||
393
+ current.regionTracker !== guard.regionTracker)
394
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Arrival account links changed. Refresh the Fleet and recreate the Plan.');
395
+ }
396
+ catch (error) {
397
+ throw new ActionPreconditionFailedError(guard, undefined, error instanceof SageSdkError
398
+ ? error.message
399
+ : 'Arrival prerequisites could not be validated. Refresh the Fleet and recreate the Plan.');
400
+ }
401
+ }
402
+ await revalidateRuntimeGuards(context, allPreconditions
403
+ .filter(isRuntimeGuard)
404
+ .filter((guard) => !checkedXp.has(guard)), freshGameVersions);
405
+ const preconditions = allPreconditions.filter((guard) => !isRuntimeGuard(guard) &&
406
+ guard.kind !== 'fleet-attack' &&
407
+ guard.kind !== 'fleet-arrival' &&
408
+ guard.kind !== 'character-registration' &&
409
+ guard.kind !== 'scan-detect' &&
410
+ guard.kind !== 'fleet-respawn');
411
+ const fleetCreationAccounts = new Map();
412
+ const fleetAssemblyAccounts = new Map();
413
+ const importFundingAccounts = new Map();
414
+ const assemblyGames = new Set();
415
+ const assemblyCatalogs = new Map();
416
+ const requiredAddresses = new Set(preconditions.map(({ address }) => address));
417
+ for (const guard of preconditions) {
418
+ if (guard.kind === 'scan-signal-open') {
419
+ for (const address of openSignalAddresses(guard))
420
+ requiredAddresses.add(address);
421
+ }
422
+ if (guard.kind !== 'fleet-create')
423
+ continue;
424
+ const resolved = await resolveFleetCreation(guard);
425
+ if (resolved.fleet !== guard.address)
426
+ throw new ActionPreconditionFailedError(guard, undefined, 'The Fleet address does not match this Game, Profile and exact label. Recreate the Fleet creation Plan from its intended label.');
427
+ fleetCreationAccounts.set(guard, resolved);
428
+ for (const address of [
429
+ resolved.game,
430
+ resolved.profile,
431
+ resolved.system,
432
+ resolved.character,
433
+ resolved.profileFaction,
434
+ resolved.starbasePlayer,
435
+ resolved.fleet,
436
+ resolved.rent,
437
+ resolved.clock,
438
+ ])
439
+ requiredAddresses.add(address);
440
+ }
441
+ for (const guard of preconditions) {
442
+ if (guard.kind !== 'fleet-add-ship')
443
+ continue;
444
+ const resolved = await resolveFleetShipAssembly(guard);
445
+ fleetAssemblyAccounts.set(guard, resolved);
446
+ assemblyGames.add(resolved.game);
447
+ for (const address of [
448
+ resolved.game,
449
+ resolved.profile,
450
+ resolved.system,
451
+ resolved.character,
452
+ resolved.profileFaction,
453
+ resolved.starbasePlayer,
454
+ resolved.fleet,
455
+ resolved.rent,
456
+ resolved.clock,
457
+ ])
458
+ requiredAddresses.add(address);
459
+ }
460
+ for (const guard of preconditions) {
461
+ if (guard.kind !== 'ship-import-funding')
462
+ continue;
463
+ let resolved;
464
+ try {
465
+ resolved = await resolveShipImportFunding(guard);
466
+ }
467
+ catch {
468
+ throw new ActionPreconditionFailedError(guard, undefined, 'The ship import target does not match its Game, Profile and System. Refresh the canonical StarbasePlayer and prepare a new import.');
469
+ }
470
+ importFundingAccounts.set(guard, resolved);
471
+ for (const address of [
472
+ resolved.profile,
473
+ resolved.character,
474
+ resolved.starbasePlayer,
475
+ resolved.rent,
476
+ ])
477
+ requiredAddresses.add(address);
478
+ }
479
+ const addresses = [...requiredAddresses];
303
480
  const accounts = await readContextRawAccounts(context, addresses, {
304
481
  commitment,
305
482
  });
306
483
  const byAddress = new Map(addresses.map((address, index) => [address, accounts[index]]));
307
484
  const cargoIdsByGame = new Map();
308
485
  for (const guard of preconditions) {
309
- if (guard.kind !== 'game-cargo-config')
486
+ if (guard.kind !== 'game-cargo-bytes-config')
310
487
  continue;
311
488
  const ids = cargoIdsByGame.get(guard.address) ?? [];
312
489
  ids.push(guard.cargoId);
313
490
  cargoIdsByGame.set(guard.address, ids);
314
491
  }
492
+ const shipIdsByGame = new Map();
493
+ for (const guard of preconditions) {
494
+ if (guard.kind !== 'game-ship-config')
495
+ continue;
496
+ const ids = shipIdsByGame.get(guard.address) ?? [];
497
+ ids.push(guard.shipId);
498
+ shipIdsByGame.set(guard.address, ids);
499
+ }
500
+ const shipHashesByGame = new Map();
315
501
  // Invocation-local only: every execution attempt still reads and decodes fresh state.
316
502
  const cargoHashesByGame = new Map();
503
+ const validatedGames = new Set();
504
+ const profileFunding = new Map();
505
+ const fundedTargets = new Set();
506
+ const recordFunding = (guard, funding) => {
507
+ // Repeated guards for one action are assertions, not additional debits.
508
+ // Every guard still validates its own ceiling before reaching here.
509
+ const target = `${guard.kind}:${guard.address}`;
510
+ if (fundedTargets.has(target))
511
+ return;
512
+ fundedTargets.add(target);
513
+ const current = profileFunding.get(guard.profile);
514
+ profileFunding.set(guard.profile, {
515
+ debit: (current?.debit ?? 0n) + funding.profileDebit,
516
+ reserve: funding.profileReserve,
517
+ guard,
518
+ });
519
+ };
520
+ const fleetFailure = (guard, error) => {
521
+ // Only SDK diagnostics from this bounded validation batch are exposed.
522
+ // Never stringify provider/codec objects or retain their inner causes.
523
+ if (error instanceof SageSdkError &&
524
+ error.address !== undefined &&
525
+ requiredAddresses.has(error.address))
526
+ return new ActionPreconditionFailedError(guard, byAddress.get(error.address)?.slot, error.message, error.address);
527
+ return new ActionPreconditionFailedError(guard, undefined, 'Fleet prerequisites could not be validated. Refresh the related accounts and replan with a supported binding version.');
528
+ };
317
529
  for (const precondition of preconditions) {
318
530
  const account = byAddress.get(precondition.address);
531
+ if (precondition.kind === 'scan-signal-open') {
532
+ if (precondition.game !== requireGameAddress(context))
533
+ throw new ActionPreconditionFailedError(precondition, undefined, 'This signal setup belongs to a different configured Game. Refetch and recreate the Plan using the intended Game context.');
534
+ try {
535
+ recordFunding(precondition, await validateOpenSignal(precondition, byAddress, precondition.authorityHash));
536
+ }
537
+ catch (error) {
538
+ throw fleetFailure(precondition, error);
539
+ }
540
+ continue;
541
+ }
542
+ if (precondition.kind === 'ship-import-funding') {
543
+ try {
544
+ const funding = validateShipImportFunding(precondition, importFundingAccounts.get(precondition), byAddress, precondition.maximumProfileDebit);
545
+ recordFunding(precondition, funding);
546
+ }
547
+ catch (error) {
548
+ throw fleetFailure(precondition, error);
549
+ }
550
+ continue;
551
+ }
552
+ if (precondition.kind === 'fleet-add-ship') {
553
+ try {
554
+ const game = byAddress.get(precondition.game);
555
+ let catalog = assemblyCatalogs.get(precondition.game);
556
+ if (!catalog && game) {
557
+ catalog = decodeGameShipAssemblyCatalog(game);
558
+ assemblyCatalogs.set(precondition.game, catalog);
559
+ }
560
+ const funding = await validateFleetShipAssembly(precondition, fleetAssemblyAccounts.get(precondition), byAddress, precondition, catalog);
561
+ recordFunding(precondition, funding);
562
+ }
563
+ catch (error) {
564
+ throw fleetFailure(precondition, error);
565
+ }
566
+ continue;
567
+ }
568
+ if (precondition.kind === 'fleet-create') {
569
+ try {
570
+ const funding = await validateFleetCreation(precondition, fleetCreationAccounts.get(precondition), byAddress, precondition.maximumProfileDebit);
571
+ recordFunding(precondition, funding);
572
+ }
573
+ catch (error) {
574
+ throw fleetFailure(precondition, error);
575
+ }
576
+ continue;
577
+ }
319
578
  let narrowed = true;
320
579
  if (precondition.kind === 'token-account')
321
580
  narrowed =
322
581
  account !== undefined && matchesTokenAccount(account, precondition);
323
- if (precondition.kind === 'game-cargo-config' ||
582
+ if (precondition.kind === 'movement-character' ||
583
+ precondition.kind === 'starbase-system' ||
584
+ precondition.kind === 'fleet-mining' ||
585
+ isFactionTradeGuard(precondition) ||
586
+ precondition.kind === 'token-mint' ||
587
+ precondition.kind === 'game-ship-config' ||
588
+ precondition.kind === 'game-account' ||
589
+ precondition.kind === 'game-cargo-bytes-config' ||
324
590
  precondition.kind === 'cargo-cache') {
325
591
  try {
326
592
  if (!account)
327
593
  narrowed = false;
328
- else if (precondition.kind === 'game-cargo-config') {
594
+ else if (precondition.kind === 'movement-character') {
595
+ narrowed =
596
+ precondition.game === requireGameAddress(context) &&
597
+ (await hashMovementCharacter(account, precondition)) ===
598
+ precondition.stateHash;
599
+ }
600
+ else if (precondition.kind === 'starbase-system') {
601
+ narrowed = precondition.game === requireGameAddress(context);
602
+ if (narrowed)
603
+ await validateStarbaseSystem(account, precondition);
604
+ }
605
+ else if (precondition.kind === 'fleet-mining') {
606
+ narrowed =
607
+ precondition.game === requireGameAddress(context) &&
608
+ (await matchesFleetMiningState(account, precondition));
609
+ }
610
+ else if (isFactionTradeGuard(precondition)) {
611
+ narrowed = await matchesFactionTradeState(account, precondition);
612
+ }
613
+ else if (precondition.kind === 'token-mint') {
614
+ narrowed = validateTokenMint(account) === precondition.decimals;
615
+ }
616
+ else if (precondition.kind === 'game-ship-config') {
617
+ let hashes = shipHashesByGame.get(precondition.address);
618
+ if (!hashes) {
619
+ let catalog = assemblyCatalogs.get(precondition.address);
620
+ if (!catalog && assemblyGames.has(precondition.address)) {
621
+ catalog = decodeGameShipAssemblyCatalog(account);
622
+ assemblyCatalogs.set(precondition.address, catalog);
623
+ }
624
+ hashes = await hashGameShipConfigurations(account, shipIdsByGame.get(precondition.address), catalog);
625
+ shipHashesByGame.set(precondition.address, hashes);
626
+ }
627
+ narrowed =
628
+ hashes.get(precondition.shipId) === precondition.configHash;
629
+ }
630
+ else if (precondition.kind === 'game-account') {
631
+ if (!validatedGames.has(account.address)) {
632
+ if (assemblyGames.has(precondition.address)) {
633
+ if (!assemblyCatalogs.has(precondition.address))
634
+ assemblyCatalogs.set(precondition.address, decodeGameShipAssemblyCatalog(account));
635
+ }
636
+ else
637
+ validateGameForCharacterRegistration(account);
638
+ validatedGames.add(account.address);
639
+ }
640
+ }
641
+ else if (precondition.kind === 'game-cargo-bytes-config') {
329
642
  let hashes = cargoHashesByGame.get(precondition.address);
330
643
  if (!hashes) {
331
- hashes = await hashGameCargoConfigurations(account, cargoIdsByGame.get(precondition.address));
644
+ const ids = cargoIdsByGame.get(precondition.address);
645
+ hashes = await hashGameCargoConfigurationGuards(account, ids);
332
646
  cargoHashesByGame.set(precondition.address, hashes);
333
647
  }
334
648
  narrowed =
@@ -355,6 +669,11 @@ async function checkPreconditions(context, preconditions, commitment) {
355
669
  (precondition.kind === 'token-account-or-absent' &&
356
670
  account !== undefined &&
357
671
  !matchesTokenAccount(account, precondition)) ||
672
+ (precondition.kind === 'system-account-or-absent' &&
673
+ account !== undefined &&
674
+ (account.owner !== '11111111111111111111111111111111' ||
675
+ account.executable ||
676
+ account.data.length !== 0)) ||
358
677
  (precondition.kind === 'account-absent' && account !== undefined) ||
359
678
  (precondition.kind === 'account-state' &&
360
679
  (account === undefined ||
@@ -363,6 +682,13 @@ async function checkPreconditions(context, preconditions, commitment) {
363
682
  throw new ActionPreconditionFailedError(precondition, account?.slot);
364
683
  }
365
684
  }
685
+ for (const [profile, funding] of profileFunding) {
686
+ // Validation above guarantees a fresh Profile from the same finite batch.
687
+ const account = byAddress.get(profile);
688
+ if (account.lamports < funding.reserve + funding.debit)
689
+ throw new ActionPreconditionFailedError(funding.guard, account.slot, 'The Profile cannot cover the combined Fleet creation, assembly and ship import debits while preserving its rent reserve. Fund the Profile or the Fleet/StarbasePlayer targets explicitly, then replan.', profile);
690
+ }
691
+ return registrationFunding;
366
692
  }
367
693
  function commitmentReached(actual, requested) {
368
694
  if (actual === null)
@@ -589,7 +915,14 @@ export async function executePlanWithLifecycle(context, plan, options, lifecycle
589
915
  const writeRpc = context.writeRpc;
590
916
  if (writeRpc === undefined)
591
917
  throw new MissingWriteTransportError();
592
- await checkPreconditions(context, plan.preconditions, validated.commitment);
918
+ // Guard order is not trusted: funding follows instruction order, including hydrated Plans.
919
+ const ordered = [...plan.preconditions].sort((a, b) => {
920
+ const index = (guard) => guard.kind === 'character-registration'
921
+ ? plan.steps.findIndex((step) => step.instruction.accounts?.[2]?.address === guard.address)
922
+ : -1;
923
+ return index(a) - index(b);
924
+ });
925
+ const registrationFunding = await checkPreconditions(context, ordered, plan.steps, validated.commitment);
593
926
  const transaction = await assemblePlan(context, plan, {
594
927
  feePayer: validated.feePayer.address,
595
928
  commitment: validated.commitment,
@@ -600,6 +933,25 @@ export async function executePlanWithLifecycle(context, plan, options, lifecycle
600
933
  ? {}
601
934
  : { priorityFeeMicroLamports: validated.priorityFeeMicroLamports }),
602
935
  });
936
+ if (registrationFunding.length > 0) {
937
+ if (typeof writeRpc.getFeeForMessage !== 'function')
938
+ throw new SageSdkError('MISSING_WRITE_TRANSPORT', 'The writeRpc transport has no callable getFeeForMessage method, so Character registration cannot check current transaction fees before signing. Update the custom writeRpc transport to implement the required SageWriteRpc getFeeForMessage method, then retry.');
939
+ const payer = validated.feePayer.address;
940
+ const { value: fee } = await writeRpc
941
+ .getFeeForMessage(getBase64Decoder().decode(transaction.messageBytes), { commitment: validated.commitment })
942
+ .send();
943
+ if (typeof fee !== 'bigint' || fee < 0n)
944
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Current transaction fee could not be determined. Refresh the blockhash and recreate the registration Plan before signing.', { address: payer });
945
+ if (!registrationFunding.some((funding) => funding.funder === payer)) {
946
+ const [account, rent] = await readContextRawAccounts(context, [payer, RENT_ADDRESS], { commitment: validated.commitment });
947
+ if (!account || !isEmptySystemAccount(account) || !rent)
948
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Registration fee payer must be an existing empty System wallet with current Rent available. Select and fund it separately.', { address: payer });
949
+ const remaining = account.lamports - fee;
950
+ if (remaining < 0n || (remaining > 0n && remaining < readRent(rent)(0)))
951
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Registration fee payer cannot pay the current fee and retain zero or a rent-exempt balance. Fund it separately.', { address: payer });
952
+ }
953
+ checkRegistrationFunding(registrationFunding, { payer, lamports: fee });
954
+ }
603
955
  await lifecycle?.onPrepared(sendingSigner === undefined ? 'observable' : 'opaque');
604
956
  const submission = await signAndSubmit(writeRpc, transaction, signers, sendingSigner, validated.commitment, lifecycle);
605
957
  if (submission.status === 'unknown')