@aephia/atlas-kit 0.6.0-next.15 → 0.6.0-next.151

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 (893) 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/errors.d.ts +2 -2
  39. package/dist/client/errors.d.ts.map +1 -1
  40. package/dist/client/errors.js.map +1 -1
  41. package/dist/client/index.d.ts +35 -0
  42. package/dist/client/index.d.ts.map +1 -1
  43. package/dist/client/index.js +35 -0
  44. package/dist/client/index.js.map +1 -1
  45. package/dist/client/rpc-subscription-provider.d.ts +35 -0
  46. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  47. package/dist/client/rpc-subscription-provider.js +190 -0
  48. package/dist/client/rpc-subscription-provider.js.map +1 -0
  49. package/dist/combat/actions/index.d.ts +30 -12
  50. package/dist/combat/actions/index.d.ts.map +1 -1
  51. package/dist/combat/actions/index.js +360 -302
  52. package/dist/combat/actions/index.js.map +1 -1
  53. package/dist/combat/index.d.ts +25 -8
  54. package/dist/combat/index.d.ts.map +1 -1
  55. package/dist/combat/index.js +21 -18
  56. package/dist/combat/index.js.map +1 -1
  57. package/dist/crafting/actions/index.d.ts +28 -18
  58. package/dist/crafting/actions/index.d.ts.map +1 -1
  59. package/dist/crafting/actions/index.js +297 -352
  60. package/dist/crafting/actions/index.js.map +1 -1
  61. package/dist/crafting/index.d.ts +33 -3
  62. package/dist/crafting/index.d.ts.map +1 -1
  63. package/dist/crafting/index.js +49 -28
  64. package/dist/crafting/index.js.map +1 -1
  65. package/dist/factions/actions/index.d.ts +2 -1
  66. package/dist/factions/actions/index.d.ts.map +1 -1
  67. package/dist/factions/actions/index.js +6 -4
  68. package/dist/factions/actions/index.js.map +1 -1
  69. package/dist/factions/index.d.ts +6 -1
  70. package/dist/factions/index.d.ts.map +1 -1
  71. package/dist/factions/index.js +16 -18
  72. package/dist/factions/index.js.map +1 -1
  73. package/dist/factions/profile-faction.d.ts +20 -8
  74. package/dist/factions/profile-faction.d.ts.map +1 -1
  75. package/dist/factions/profile-faction.js +20 -8
  76. package/dist/factions/profile-faction.js.map +1 -1
  77. package/dist/fleets/actions/add-ship.d.ts +47 -0
  78. package/dist/fleets/actions/add-ship.d.ts.map +1 -0
  79. package/dist/fleets/actions/add-ship.js +132 -0
  80. package/dist/fleets/actions/add-ship.js.map +1 -0
  81. package/dist/fleets/actions/create-fleet.d.ts +36 -0
  82. package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
  83. package/dist/fleets/actions/create-fleet.js +108 -0
  84. package/dist/fleets/actions/create-fleet.js.map +1 -0
  85. package/dist/fleets/actions/crew-transfer.d.ts +42 -0
  86. package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
  87. package/dist/fleets/actions/crew-transfer.js +95 -0
  88. package/dist/fleets/actions/crew-transfer.js.map +1 -0
  89. package/dist/fleets/actions/disband.d.ts +42 -0
  90. package/dist/fleets/actions/disband.d.ts.map +1 -0
  91. package/dist/fleets/actions/disband.js +107 -0
  92. package/dist/fleets/actions/disband.js.map +1 -0
  93. package/dist/fleets/actions/dock-bounds.d.ts +38 -0
  94. package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
  95. package/dist/fleets/actions/dock-bounds.js +46 -0
  96. package/dist/fleets/actions/dock-bounds.js.map +1 -0
  97. package/dist/fleets/actions/index.d.ts +89 -25
  98. package/dist/fleets/actions/index.d.ts.map +1 -1
  99. package/dist/fleets/actions/index.js +512 -353
  100. package/dist/fleets/actions/index.js.map +1 -1
  101. package/dist/fleets/actions/respawn.d.ts +38 -0
  102. package/dist/fleets/actions/respawn.d.ts.map +1 -0
  103. package/dist/fleets/actions/respawn.js +93 -0
  104. package/dist/fleets/actions/respawn.js.map +1 -0
  105. package/dist/fleets/actions/ship-import.d.ts +1 -1
  106. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  107. package/dist/fleets/actions/ship-import.js +61 -90
  108. package/dist/fleets/actions/ship-import.js.map +1 -1
  109. package/dist/fleets/actions/sync.d.ts +24 -0
  110. package/dist/fleets/actions/sync.d.ts.map +1 -0
  111. package/dist/fleets/actions/sync.js +55 -0
  112. package/dist/fleets/actions/sync.js.map +1 -0
  113. package/dist/fleets/composition-stats.d.ts +101 -0
  114. package/dist/fleets/composition-stats.d.ts.map +1 -0
  115. package/dist/fleets/composition-stats.js +354 -0
  116. package/dist/fleets/composition-stats.js.map +1 -0
  117. package/dist/fleets/cooldown.d.ts +47 -0
  118. package/dist/fleets/cooldown.d.ts.map +1 -0
  119. package/dist/fleets/cooldown.js +48 -0
  120. package/dist/fleets/cooldown.js.map +1 -0
  121. package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
  122. package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
  123. package/dist/fleets/coordinate-warp-estimate.js +46 -0
  124. package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
  125. package/dist/fleets/index.d.ts +36 -0
  126. package/dist/fleets/index.d.ts.map +1 -1
  127. package/dist/fleets/index.js +55 -12
  128. package/dist/fleets/index.js.map +1 -1
  129. package/dist/fleets/movement-arithmetic.d.ts +21 -0
  130. package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
  131. package/dist/fleets/movement-arithmetic.js +45 -0
  132. package/dist/fleets/movement-arithmetic.js.map +1 -0
  133. package/dist/fleets/subwarp-estimate.d.ts +72 -0
  134. package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
  135. package/dist/fleets/subwarp-estimate.js +40 -0
  136. package/dist/fleets/subwarp-estimate.js.map +1 -0
  137. package/dist/fleets/travel-profile.d.ts +102 -0
  138. package/dist/fleets/travel-profile.d.ts.map +1 -0
  139. package/dist/fleets/travel-profile.js +120 -0
  140. package/dist/fleets/travel-profile.js.map +1 -0
  141. package/dist/fleets/warp-lane-estimate.d.ts +59 -0
  142. package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
  143. package/dist/fleets/warp-lane-estimate.js +36 -0
  144. package/dist/fleets/warp-lane-estimate.js.map +1 -0
  145. package/dist/fleets/warp-lane-policy.d.ts +74 -0
  146. package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
  147. package/dist/fleets/warp-lane-policy.js +103 -0
  148. package/dist/fleets/warp-lane-policy.js.map +1 -0
  149. package/dist/fleets/warp-lane-toll.d.ts +55 -0
  150. package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
  151. package/dist/fleets/warp-lane-toll.js +79 -0
  152. package/dist/fleets/warp-lane-toll.js.map +1 -0
  153. package/dist/identity/actions/create-profile.d.ts +1 -1
  154. package/dist/identity/actions/create-profile.d.ts.map +1 -1
  155. package/dist/identity/actions/create-profile.js +2 -2
  156. package/dist/identity/actions/create-profile.js.map +1 -1
  157. package/dist/identity/actions/index.d.ts +5 -4
  158. package/dist/identity/actions/index.d.ts.map +1 -1
  159. package/dist/identity/actions/index.js +52 -29
  160. package/dist/identity/actions/index.js.map +1 -1
  161. package/dist/identity/actions/research-unlock.d.ts +61 -0
  162. package/dist/identity/actions/research-unlock.d.ts.map +1 -0
  163. package/dist/identity/actions/research-unlock.js +166 -0
  164. package/dist/identity/actions/research-unlock.js.map +1 -0
  165. package/dist/identity/index.d.ts +5 -2
  166. package/dist/identity/index.d.ts.map +1 -1
  167. package/dist/identity/index.js +6 -12
  168. package/dist/identity/index.js.map +1 -1
  169. package/dist/identity/research-state.d.ts +60 -0
  170. package/dist/identity/research-state.d.ts.map +1 -0
  171. package/dist/identity/research-state.js +68 -0
  172. package/dist/identity/research-state.js.map +1 -0
  173. package/dist/index.d.ts +26 -1
  174. package/dist/index.d.ts.map +1 -1
  175. package/dist/index.js +24 -7
  176. package/dist/index.js.map +1 -1
  177. package/dist/internal/c4/account-decoding.d.ts +49 -0
  178. package/dist/internal/c4/account-decoding.d.ts.map +1 -0
  179. package/dist/internal/c4/account-decoding.js +74 -0
  180. package/dist/internal/c4/account-decoding.js.map +1 -0
  181. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  182. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  183. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  184. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  185. package/dist/internal/c4/cargo-instructions.d.ts +24 -0
  186. package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
  187. package/dist/internal/c4/cargo-instructions.js +30 -0
  188. package/dist/internal/c4/cargo-instructions.js.map +1 -0
  189. package/dist/internal/c4/cargo-pod.d.ts +15 -0
  190. package/dist/internal/c4/cargo-pod.d.ts.map +1 -0
  191. package/dist/internal/c4/cargo-pod.js +13 -0
  192. package/dist/internal/c4/cargo-pod.js.map +1 -0
  193. package/dist/internal/c4/character-modifier.d.ts +1 -1
  194. package/dist/internal/c4/character-modifier.d.ts.map +1 -1
  195. package/dist/internal/c4/character-registration.d.ts +2 -0
  196. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  197. package/dist/internal/c4/character-registration.js +2 -0
  198. package/dist/internal/c4/character-registration.js.map +1 -1
  199. package/dist/internal/c4/character.d.ts +157 -0
  200. package/dist/internal/c4/character.d.ts.map +1 -0
  201. package/dist/internal/c4/character.js +64 -0
  202. package/dist/internal/c4/character.js.map +1 -0
  203. package/dist/internal/c4/claim-stake-building-definitions.d.ts.map +1 -1
  204. package/dist/internal/c4/claim-stake-building-definitions.js +2 -1
  205. package/dist/internal/c4/claim-stake-building-definitions.js.map +1 -1
  206. package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -1
  207. package/dist/internal/c4/claim-stake-configuration.js +5 -36
  208. package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
  209. package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
  210. package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
  211. package/dist/internal/c4/claim-stake-definitions.js +2 -1
  212. package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
  213. package/dist/internal/c4/claim-stake-plots.d.ts +17 -0
  214. package/dist/internal/c4/claim-stake-plots.d.ts.map +1 -0
  215. package/dist/internal/c4/claim-stake-plots.js +29 -0
  216. package/dist/internal/c4/claim-stake-plots.js.map +1 -0
  217. package/dist/internal/c4/claim-stake-storage.d.ts +45 -0
  218. package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -0
  219. package/dist/internal/c4/claim-stake-storage.js +207 -0
  220. package/dist/internal/c4/claim-stake-storage.js.map +1 -0
  221. package/dist/internal/c4/claim-stake.d.ts +13 -33
  222. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  223. package/dist/internal/c4/claim-stake.js +49 -94
  224. package/dist/internal/c4/claim-stake.js.map +1 -1
  225. package/dist/internal/c4/combat-storage.d.ts +20 -0
  226. package/dist/internal/c4/combat-storage.d.ts.map +1 -0
  227. package/dist/internal/c4/combat-storage.js +43 -0
  228. package/dist/internal/c4/combat-storage.js.map +1 -0
  229. package/dist/internal/c4/combat.d.ts +1 -82
  230. package/dist/internal/c4/combat.d.ts.map +1 -1
  231. package/dist/internal/c4/combat.js +16 -213
  232. package/dist/internal/c4/combat.js.map +1 -1
  233. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  234. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  235. package/dist/internal/c4/crafting-process-codec.js +34 -0
  236. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  237. package/dist/internal/c4/crafting-storage.d.ts +20 -0
  238. package/dist/internal/c4/crafting-storage.d.ts.map +1 -0
  239. package/dist/internal/c4/crafting-storage.js +54 -0
  240. package/dist/internal/c4/crafting-storage.js.map +1 -0
  241. package/dist/internal/c4/crafting.d.ts +30 -33
  242. package/dist/internal/c4/crafting.d.ts.map +1 -1
  243. package/dist/internal/c4/crafting.js +76 -127
  244. package/dist/internal/c4/crafting.js.map +1 -1
  245. package/dist/internal/c4/currency-cache.d.ts +6 -0
  246. package/dist/internal/c4/currency-cache.d.ts.map +1 -0
  247. package/dist/internal/c4/currency-cache.js +27 -0
  248. package/dist/internal/c4/currency-cache.js.map +1 -0
  249. package/dist/internal/c4/discriminators.d.ts +92 -0
  250. package/dist/internal/c4/discriminators.d.ts.map +1 -0
  251. package/dist/internal/c4/discriminators.js +188 -0
  252. package/dist/internal/c4/discriminators.js.map +1 -0
  253. package/dist/internal/c4/docking-funding.d.ts +4 -0
  254. package/dist/internal/c4/docking-funding.d.ts.map +1 -0
  255. package/dist/internal/c4/docking-funding.js +11 -0
  256. package/dist/internal/c4/docking-funding.js.map +1 -0
  257. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  258. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  259. package/dist/internal/c4/faction-epoch-meter.js +26 -0
  260. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  261. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  262. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  263. package/dist/internal/c4/faction-treasury.js +41 -0
  264. package/dist/internal/c4/faction-treasury.js.map +1 -0
  265. package/dist/internal/c4/faction.d.ts +21 -0
  266. package/dist/internal/c4/faction.d.ts.map +1 -0
  267. package/dist/internal/c4/faction.js +23 -0
  268. package/dist/internal/c4/faction.js.map +1 -0
  269. package/dist/internal/c4/factions.d.ts +15 -57
  270. package/dist/internal/c4/factions.d.ts.map +1 -1
  271. package/dist/internal/c4/factions.js +80 -223
  272. package/dist/internal/c4/factions.js.map +1 -1
  273. package/dist/internal/c4/fleet-arrival.d.ts +28 -0
  274. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  275. package/dist/internal/c4/fleet-arrival.js +42 -0
  276. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  277. package/dist/internal/c4/fleet-creation.d.ts +7 -0
  278. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  279. package/dist/internal/c4/fleet-creation.js +171 -0
  280. package/dist/internal/c4/fleet-creation.js.map +1 -0
  281. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  282. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  283. package/dist/internal/c4/fleet-crew-binding.js +31 -44
  284. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  285. package/dist/internal/c4/fleet-disband-layout.d.ts +7 -0
  286. package/dist/internal/c4/fleet-disband-layout.d.ts.map +1 -0
  287. package/dist/internal/c4/fleet-disband-layout.js +7 -0
  288. package/dist/internal/c4/fleet-disband-layout.js.map +1 -0
  289. package/dist/internal/c4/fleet-disband.d.ts +27 -0
  290. package/dist/internal/c4/fleet-disband.d.ts.map +1 -0
  291. package/dist/internal/c4/fleet-disband.js +63 -0
  292. package/dist/internal/c4/fleet-disband.js.map +1 -0
  293. package/dist/internal/c4/fleet-points.d.ts +3 -0
  294. package/dist/internal/c4/fleet-points.d.ts.map +1 -0
  295. package/dist/internal/c4/fleet-points.js +8 -0
  296. package/dist/internal/c4/fleet-points.js.map +1 -0
  297. package/dist/internal/c4/fleet-respawn.d.ts +17 -0
  298. package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
  299. package/dist/internal/c4/fleet-respawn.js +62 -0
  300. package/dist/internal/c4/fleet-respawn.js.map +1 -0
  301. package/dist/internal/c4/fleet-ship-assembly.d.ts +25 -0
  302. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  303. package/dist/internal/c4/fleet-ship-assembly.js +88 -0
  304. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  305. package/dist/internal/c4/fleet-storage.d.ts +44 -0
  306. package/dist/internal/c4/fleet-storage.d.ts.map +1 -0
  307. package/dist/internal/c4/fleet-storage.js +108 -0
  308. package/dist/internal/c4/fleet-storage.js.map +1 -0
  309. package/dist/internal/c4/fleet-sync.d.ts +5 -0
  310. package/dist/internal/c4/fleet-sync.d.ts.map +1 -0
  311. package/dist/internal/c4/fleet-sync.js +15 -0
  312. package/dist/internal/c4/fleet-sync.js.map +1 -0
  313. package/dist/internal/c4/fleet.d.ts +65 -24
  314. package/dist/internal/c4/fleet.d.ts.map +1 -1
  315. package/dist/internal/c4/fleet.js +50 -91
  316. package/dist/internal/c4/fleet.js.map +1 -1
  317. package/dist/internal/c4/game-definition-layout.d.ts +2 -0
  318. package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
  319. package/dist/internal/c4/game-definition-layout.js +4 -0
  320. package/dist/internal/c4/game-definition-layout.js.map +1 -1
  321. package/dist/internal/c4/game.d.ts +117 -32
  322. package/dist/internal/c4/game.d.ts.map +1 -1
  323. package/dist/internal/c4/game.js +227 -130
  324. package/dist/internal/c4/game.js.map +1 -1
  325. package/dist/internal/c4/identity.d.ts +3 -152
  326. package/dist/internal/c4/identity.d.ts.map +1 -1
  327. package/dist/internal/c4/identity.js +19 -126
  328. package/dist/internal/c4/identity.js.map +1 -1
  329. package/dist/internal/c4/local-market-order.d.ts +29 -0
  330. package/dist/internal/c4/local-market-order.d.ts.map +1 -0
  331. package/dist/internal/c4/local-market-order.js +46 -0
  332. package/dist/internal/c4/local-market-order.js.map +1 -0
  333. package/dist/internal/c4/loot-layout.js +1 -1
  334. package/dist/internal/c4/loot-layout.js.map +1 -1
  335. package/dist/internal/c4/loot.d.ts +89 -0
  336. package/dist/internal/c4/loot.d.ts.map +1 -0
  337. package/dist/internal/c4/loot.js +109 -0
  338. package/dist/internal/c4/loot.js.map +1 -0
  339. package/dist/internal/c4/loyalty.d.ts +2 -28
  340. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  341. package/dist/internal/c4/loyalty.js +36 -161
  342. package/dist/internal/c4/loyalty.js.map +1 -1
  343. package/dist/internal/c4/market-storage.d.ts +25 -0
  344. package/dist/internal/c4/market-storage.d.ts.map +1 -0
  345. package/dist/internal/c4/market-storage.js +53 -0
  346. package/dist/internal/c4/market-storage.js.map +1 -0
  347. package/dist/internal/c4/market.d.ts +2 -38
  348. package/dist/internal/c4/market.d.ts.map +1 -1
  349. package/dist/internal/c4/market.js +26 -120
  350. package/dist/internal/c4/market.js.map +1 -1
  351. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  352. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  353. package/dist/internal/c4/mining-instructions.js +3 -0
  354. package/dist/internal/c4/mining-instructions.js.map +1 -0
  355. package/dist/internal/c4/open-signal.d.ts +8 -0
  356. package/dist/internal/c4/open-signal.d.ts.map +1 -0
  357. package/dist/internal/c4/open-signal.js +37 -0
  358. package/dist/internal/c4/open-signal.js.map +1 -0
  359. package/dist/internal/c4/pda.d.ts +43 -0
  360. package/dist/internal/c4/pda.d.ts.map +1 -1
  361. package/dist/internal/c4/pda.js +83 -17
  362. package/dist/internal/c4/pda.js.map +1 -1
  363. package/dist/internal/c4/profile-faction.d.ts +2 -1
  364. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  365. package/dist/internal/c4/profile-faction.js +36 -72
  366. package/dist/internal/c4/profile-faction.js.map +1 -1
  367. package/dist/internal/c4/profile-permissions.d.ts +1 -1
  368. package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
  369. package/dist/internal/c4/profile-permissions.js +4 -1
  370. package/dist/internal/c4/profile-permissions.js.map +1 -1
  371. package/dist/internal/c4/region-geometry.d.ts +8 -0
  372. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  373. package/dist/internal/c4/region-geometry.js +43 -0
  374. package/dist/internal/c4/region-geometry.js.map +1 -0
  375. package/dist/internal/c4/rewards.d.ts +1 -61
  376. package/dist/internal/c4/rewards.d.ts.map +1 -1
  377. package/dist/internal/c4/rewards.js +23 -203
  378. package/dist/internal/c4/rewards.js.map +1 -1
  379. package/dist/internal/c4/runtime-bindings.d.ts +4 -0
  380. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  381. package/dist/internal/c4/runtime-bindings.js +4 -0
  382. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  383. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  384. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  385. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  386. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  387. package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
  388. package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
  389. package/dist/internal/c4/scan-lifecycle.js +235 -0
  390. package/dist/internal/c4/scan-lifecycle.js.map +1 -0
  391. package/dist/internal/c4/scan-storage.d.ts +7 -0
  392. package/dist/internal/c4/scan-storage.d.ts.map +1 -0
  393. package/dist/internal/c4/scan-storage.js +10 -0
  394. package/dist/internal/c4/scan-storage.js.map +1 -0
  395. package/dist/internal/c4/scanning.d.ts +4 -41
  396. package/dist/internal/c4/scanning.d.ts.map +1 -1
  397. package/dist/internal/c4/scanning.js +27 -108
  398. package/dist/internal/c4/scanning.js.map +1 -1
  399. package/dist/internal/c4/ship-import.d.ts +4 -0
  400. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  401. package/dist/internal/c4/ship-import.js +13 -0
  402. package/dist/internal/c4/ship-import.js.map +1 -0
  403. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  404. package/dist/internal/c4/ship-stats.js +46 -44
  405. package/dist/internal/c4/ship-stats.js.map +1 -1
  406. package/dist/internal/c4/starbase.d.ts +0 -32
  407. package/dist/internal/c4/starbase.d.ts.map +1 -1
  408. package/dist/internal/c4/starbase.js +26 -136
  409. package/dist/internal/c4/starbase.js.map +1 -1
  410. package/dist/internal/c4/stimulant.d.ts +26 -0
  411. package/dist/internal/c4/stimulant.d.ts.map +1 -0
  412. package/dist/internal/c4/stimulant.js +36 -0
  413. package/dist/internal/c4/stimulant.js.map +1 -0
  414. package/dist/internal/c4/wallet-cargo-cache.js +2 -1
  415. package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
  416. package/dist/internal/c4/world.d.ts +37 -7
  417. package/dist/internal/c4/world.d.ts.map +1 -1
  418. package/dist/internal/c4/world.js +87 -129
  419. package/dist/internal/c4/world.js.map +1 -1
  420. package/dist/internal/cargo.d.ts +2 -0
  421. package/dist/internal/cargo.d.ts.map +1 -1
  422. package/dist/internal/cargo.js +8 -0
  423. package/dist/internal/cargo.js.map +1 -1
  424. package/dist/internal/fleet-route.d.ts +12 -0
  425. package/dist/internal/fleet-route.d.ts.map +1 -0
  426. package/dist/internal/fleet-route.js +11 -0
  427. package/dist/internal/fleet-route.js.map +1 -0
  428. package/dist/internal/fleet.d.ts +3 -2
  429. package/dist/internal/fleet.d.ts.map +1 -1
  430. package/dist/internal/fleet.js +3 -5
  431. package/dist/internal/fleet.js.map +1 -1
  432. package/dist/internal/loyalty-atlas-bank-state.d.ts +17 -0
  433. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  434. package/dist/internal/loyalty-atlas-bank-state.js +11 -0
  435. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  436. package/dist/internal/planning/account-state.d.ts +6 -0
  437. package/dist/internal/planning/account-state.d.ts.map +1 -1
  438. package/dist/internal/planning/account-state.js +13 -0
  439. package/dist/internal/planning/account-state.js.map +1 -1
  440. package/dist/internal/planning/action-runtime.d.ts +38 -0
  441. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  442. package/dist/internal/planning/action-runtime.js +63 -0
  443. package/dist/internal/planning/action-runtime.js.map +1 -0
  444. package/dist/internal/planning/arrival-guards.d.ts +19 -0
  445. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  446. package/dist/internal/planning/arrival-guards.js +172 -0
  447. package/dist/internal/planning/arrival-guards.js.map +1 -0
  448. package/dist/internal/planning/authorization-adapter.d.ts +54 -38
  449. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  450. package/dist/internal/planning/authorization-adapter.js +217 -82
  451. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  452. package/dist/internal/planning/cargo-storage-actions.d.ts +8 -0
  453. package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -0
  454. package/dist/internal/planning/cargo-storage-actions.js +97 -0
  455. package/dist/internal/planning/cargo-storage-actions.js.map +1 -0
  456. package/dist/internal/planning/character-access.d.ts +28 -0
  457. package/dist/internal/planning/character-access.d.ts.map +1 -0
  458. package/dist/internal/planning/character-access.js +41 -0
  459. package/dist/internal/planning/character-access.js.map +1 -0
  460. package/dist/internal/planning/character-registration-guard.d.ts +4 -0
  461. package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
  462. package/dist/internal/planning/character-registration-guard.js +59 -0
  463. package/dist/internal/planning/character-registration-guard.js.map +1 -0
  464. package/dist/internal/planning/character-registration.d.ts +23 -0
  465. package/dist/internal/planning/character-registration.d.ts.map +1 -0
  466. package/dist/internal/planning/character-registration.js +87 -0
  467. package/dist/internal/planning/character-registration.js.map +1 -0
  468. package/dist/internal/planning/claim-stake-storage-actions.d.ts +12 -0
  469. package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -0
  470. package/dist/internal/planning/claim-stake-storage-actions.js +63 -0
  471. package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -0
  472. package/dist/internal/planning/combat-storage-actions.d.ts +9 -0
  473. package/dist/internal/planning/combat-storage-actions.d.ts.map +1 -0
  474. package/dist/internal/planning/combat-storage-actions.js +55 -0
  475. package/dist/internal/planning/combat-storage-actions.js.map +1 -0
  476. package/dist/internal/planning/crafting-storage-actions.d.ts +7 -0
  477. package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -0
  478. package/dist/internal/planning/crafting-storage-actions.js +64 -0
  479. package/dist/internal/planning/crafting-storage-actions.js.map +1 -0
  480. package/dist/internal/planning/currency-cache-guard.d.ts +6 -0
  481. package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
  482. package/dist/internal/planning/currency-cache-guard.js +77 -0
  483. package/dist/internal/planning/currency-cache-guard.js.map +1 -0
  484. package/dist/internal/planning/democracy-history.d.ts +50 -0
  485. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  486. package/dist/internal/planning/democracy-history.js +189 -0
  487. package/dist/internal/planning/democracy-history.js.map +1 -0
  488. package/dist/internal/planning/direct-options.d.ts +17 -0
  489. package/dist/internal/planning/direct-options.d.ts.map +1 -0
  490. package/dist/internal/planning/direct-options.js +43 -0
  491. package/dist/internal/planning/direct-options.js.map +1 -0
  492. package/dist/internal/planning/disband-storage-actions.d.ts +9 -0
  493. package/dist/internal/planning/disband-storage-actions.d.ts.map +1 -0
  494. package/dist/internal/planning/disband-storage-actions.js +24 -0
  495. package/dist/internal/planning/disband-storage-actions.js.map +1 -0
  496. package/dist/internal/planning/faction-enrollment.d.ts +0 -4
  497. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  498. package/dist/internal/planning/faction-enrollment.js +1 -31
  499. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  500. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  501. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  502. package/dist/internal/planning/faction-trade-guards.js +15 -0
  503. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  504. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  505. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  506. package/dist/internal/planning/faction-trade-state.js +43 -0
  507. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  508. package/dist/internal/planning/fleet-arrival.d.ts +40 -0
  509. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  510. package/dist/internal/planning/fleet-arrival.js +107 -0
  511. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  512. package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
  513. package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
  514. package/dist/internal/planning/fleet-attack-xp.js +104 -0
  515. package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
  516. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  517. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  518. package/dist/internal/planning/fleet-creation.js +89 -0
  519. package/dist/internal/planning/fleet-creation.js.map +1 -0
  520. package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
  521. package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
  522. package/dist/internal/planning/fleet-crew-guard.js +48 -0
  523. package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
  524. package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
  525. package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
  526. package/dist/internal/planning/fleet-crew-transfer.js +129 -0
  527. package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
  528. package/dist/internal/planning/fleet-disband-guard.d.ts +12 -0
  529. package/dist/internal/planning/fleet-disband-guard.d.ts.map +1 -0
  530. package/dist/internal/planning/fleet-disband-guard.js +54 -0
  531. package/dist/internal/planning/fleet-disband-guard.js.map +1 -0
  532. package/dist/internal/planning/fleet-disband.d.ts +36 -0
  533. package/dist/internal/planning/fleet-disband.d.ts.map +1 -0
  534. package/dist/internal/planning/fleet-disband.js +82 -0
  535. package/dist/internal/planning/fleet-disband.js.map +1 -0
  536. package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
  537. package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
  538. package/dist/internal/planning/fleet-dock-funding-guard.js +216 -0
  539. package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
  540. package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
  541. package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
  542. package/dist/internal/planning/fleet-dock-funding.js +164 -0
  543. package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
  544. package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
  545. package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
  546. package/dist/internal/planning/fleet-docking-guard.js +44 -0
  547. package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
  548. package/dist/internal/planning/fleet-docking.d.ts +25 -0
  549. package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
  550. package/dist/internal/planning/fleet-docking.js +106 -0
  551. package/dist/internal/planning/fleet-docking.js.map +1 -0
  552. package/dist/internal/planning/fleet-rental.d.ts +5 -0
  553. package/dist/internal/planning/fleet-rental.d.ts.map +1 -0
  554. package/dist/internal/planning/fleet-rental.js +9 -0
  555. package/dist/internal/planning/fleet-rental.js.map +1 -0
  556. package/dist/internal/planning/fleet-respawn.d.ts +28 -0
  557. package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
  558. package/dist/internal/planning/fleet-respawn.js +164 -0
  559. package/dist/internal/planning/fleet-respawn.js.map +1 -0
  560. package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
  561. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  562. package/dist/internal/planning/fleet-ship-assembly.js +159 -0
  563. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  564. package/dist/internal/planning/fleet-state.d.ts +25 -0
  565. package/dist/internal/planning/fleet-state.d.ts.map +1 -0
  566. package/dist/internal/planning/fleet-state.js +28 -0
  567. package/dist/internal/planning/fleet-state.js.map +1 -0
  568. package/dist/internal/planning/governance-fees.d.ts +64 -0
  569. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  570. package/dist/internal/planning/governance-fees.js +231 -0
  571. package/dist/internal/planning/governance-fees.js.map +1 -0
  572. package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
  573. package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
  574. package/dist/internal/planning/local-market-order-funding.js +128 -0
  575. package/dist/internal/planning/local-market-order-funding.js.map +1 -0
  576. package/dist/internal/planning/local-market-order.d.ts +40 -0
  577. package/dist/internal/planning/local-market-order.d.ts.map +1 -0
  578. package/dist/internal/planning/local-market-order.js +139 -0
  579. package/dist/internal/planning/local-market-order.js.map +1 -0
  580. package/dist/internal/planning/market-storage-actions.d.ts +7 -0
  581. package/dist/internal/planning/market-storage-actions.d.ts.map +1 -0
  582. package/dist/internal/planning/market-storage-actions.js +71 -0
  583. package/dist/internal/planning/market-storage-actions.js.map +1 -0
  584. package/dist/internal/planning/mining-stop.d.ts +14 -0
  585. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  586. package/dist/internal/planning/mining-stop.js +42 -0
  587. package/dist/internal/planning/mining-stop.js.map +1 -0
  588. package/dist/internal/planning/mining-storage-actions.d.ts +11 -0
  589. package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -0
  590. package/dist/internal/planning/mining-storage-actions.js +57 -0
  591. package/dist/internal/planning/mining-storage-actions.js.map +1 -0
  592. package/dist/internal/planning/movement-character.d.ts +7 -0
  593. package/dist/internal/planning/movement-character.d.ts.map +1 -0
  594. package/dist/internal/planning/movement-character.js +41 -0
  595. package/dist/internal/planning/movement-character.js.map +1 -0
  596. package/dist/internal/planning/movement-storage-actions.d.ts +7 -0
  597. package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -0
  598. package/dist/internal/planning/movement-storage-actions.js +38 -0
  599. package/dist/internal/planning/movement-storage-actions.js.map +1 -0
  600. package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
  601. package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
  602. package/dist/internal/planning/movement-xp-guard.js +104 -0
  603. package/dist/internal/planning/movement-xp-guard.js.map +1 -0
  604. package/dist/internal/planning/open-signal-guard.d.ts +3 -0
  605. package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
  606. package/dist/internal/planning/open-signal-guard.js +32 -0
  607. package/dist/internal/planning/open-signal-guard.js.map +1 -0
  608. package/dist/internal/planning/open-signal.d.ts +31 -0
  609. package/dist/internal/planning/open-signal.d.ts.map +1 -0
  610. package/dist/internal/planning/open-signal.js +94 -0
  611. package/dist/internal/planning/open-signal.js.map +1 -0
  612. package/dist/internal/planning/original-token.d.ts +40 -0
  613. package/dist/internal/planning/original-token.d.ts.map +1 -0
  614. package/dist/internal/planning/original-token.js +112 -0
  615. package/dist/internal/planning/original-token.js.map +1 -0
  616. package/dist/internal/planning/own-starbase-facts.d.ts +37 -0
  617. package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -0
  618. package/dist/internal/planning/own-starbase-facts.js +52 -0
  619. package/dist/internal/planning/own-starbase-facts.js.map +1 -0
  620. package/dist/internal/planning/plan-fields.d.ts +60 -0
  621. package/dist/internal/planning/plan-fields.d.ts.map +1 -0
  622. package/dist/internal/planning/plan-fields.js +159 -0
  623. package/dist/internal/planning/plan-fields.js.map +1 -0
  624. package/dist/internal/planning/plan-guards.d.ts +4 -0
  625. package/dist/internal/planning/plan-guards.d.ts.map +1 -0
  626. package/dist/internal/planning/plan-guards.js +185 -0
  627. package/dist/internal/planning/plan-guards.js.map +1 -0
  628. package/dist/internal/planning/profile-key.d.ts +13 -0
  629. package/dist/internal/planning/profile-key.d.ts.map +1 -0
  630. package/dist/internal/planning/profile-key.js +20 -0
  631. package/dist/internal/planning/profile-key.js.map +1 -0
  632. package/dist/internal/planning/profile-storage-funding-guard.d.ts +29 -0
  633. package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
  634. package/dist/internal/planning/profile-storage-funding-guard.js +115 -0
  635. package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
  636. package/dist/internal/planning/profile-storage-funding.d.ts +46 -0
  637. package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
  638. package/dist/internal/planning/profile-storage-funding.js +58 -0
  639. package/dist/internal/planning/profile-storage-funding.js.map +1 -0
  640. package/dist/internal/planning/recipe-state.d.ts +9 -0
  641. package/dist/internal/planning/recipe-state.d.ts.map +1 -0
  642. package/dist/internal/planning/recipe-state.js +23 -0
  643. package/dist/internal/planning/recipe-state.js.map +1 -0
  644. package/dist/internal/planning/region-access.d.ts +30 -0
  645. package/dist/internal/planning/region-access.d.ts.map +1 -0
  646. package/dist/internal/planning/region-access.js +94 -0
  647. package/dist/internal/planning/region-access.js.map +1 -0
  648. package/dist/internal/planning/rent-catalog.d.ts +37 -0
  649. package/dist/internal/planning/rent-catalog.d.ts.map +1 -0
  650. package/dist/internal/planning/rent-catalog.js +165 -0
  651. package/dist/internal/planning/rent-catalog.js.map +1 -0
  652. package/dist/internal/planning/rent.d.ts +19 -0
  653. package/dist/internal/planning/rent.d.ts.map +1 -0
  654. package/dist/internal/planning/rent.js +35 -0
  655. package/dist/internal/planning/rent.js.map +1 -0
  656. package/dist/internal/planning/research-unlock.d.ts +69 -0
  657. package/dist/internal/planning/research-unlock.d.ts.map +1 -0
  658. package/dist/internal/planning/research-unlock.js +287 -0
  659. package/dist/internal/planning/research-unlock.js.map +1 -0
  660. package/dist/internal/planning/respawn-guards.d.ts +3 -0
  661. package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
  662. package/dist/internal/planning/respawn-guards.js +42 -0
  663. package/dist/internal/planning/respawn-guards.js.map +1 -0
  664. package/dist/internal/planning/runtime-guards.d.ts +41 -0
  665. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  666. package/dist/internal/planning/runtime-guards.js +658 -0
  667. package/dist/internal/planning/runtime-guards.js.map +1 -0
  668. package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
  669. package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
  670. package/dist/internal/planning/scan-completion-guard.js +95 -0
  671. package/dist/internal/planning/scan-completion-guard.js.map +1 -0
  672. package/dist/internal/planning/scan-completion.d.ts +20 -0
  673. package/dist/internal/planning/scan-completion.d.ts.map +1 -0
  674. package/dist/internal/planning/scan-completion.js +198 -0
  675. package/dist/internal/planning/scan-completion.js.map +1 -0
  676. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  677. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  678. package/dist/internal/planning/scan-detect-guard.js +77 -0
  679. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  680. package/dist/internal/planning/scan-detect.d.ts +24 -0
  681. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  682. package/dist/internal/planning/scan-detect.js +246 -0
  683. package/dist/internal/planning/scan-detect.js.map +1 -0
  684. package/dist/internal/planning/scan-idle-scope.d.ts +5 -0
  685. package/dist/internal/planning/scan-idle-scope.d.ts.map +1 -0
  686. package/dist/internal/planning/scan-idle-scope.js +5 -0
  687. package/dist/internal/planning/scan-idle-scope.js.map +1 -0
  688. package/dist/internal/planning/scan-input.d.ts +9 -0
  689. package/dist/internal/planning/scan-input.d.ts.map +1 -0
  690. package/dist/internal/planning/scan-input.js +58 -0
  691. package/dist/internal/planning/scan-input.js.map +1 -0
  692. package/dist/internal/planning/scan-storage-actions.d.ts +9 -0
  693. package/dist/internal/planning/scan-storage-actions.d.ts.map +1 -0
  694. package/dist/internal/planning/scan-storage-actions.js +27 -0
  695. package/dist/internal/planning/scan-storage-actions.js.map +1 -0
  696. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  697. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  698. package/dist/internal/planning/ship-import-funding.js +53 -0
  699. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  700. package/dist/internal/planning/ship-token.d.ts +1 -6
  701. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  702. package/dist/internal/planning/ship-token.js +0 -37
  703. package/dist/internal/planning/ship-token.js.map +1 -1
  704. package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
  705. package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
  706. package/dist/internal/planning/starbase-player-owner.js +17 -0
  707. package/dist/internal/planning/starbase-player-owner.js.map +1 -0
  708. package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
  709. package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
  710. package/dist/internal/planning/starbase-system-guard.js +94 -0
  711. package/dist/internal/planning/starbase-system-guard.js.map +1 -0
  712. package/dist/internal/planning/starbase-system.d.ts +15 -0
  713. package/dist/internal/planning/starbase-system.d.ts.map +1 -0
  714. package/dist/internal/planning/starbase-system.js +25 -0
  715. package/dist/internal/planning/starbase-system.js.map +1 -0
  716. package/dist/internal/planning/storage-action-readers.d.ts +10 -0
  717. package/dist/internal/planning/storage-action-readers.d.ts.map +1 -0
  718. package/dist/internal/planning/storage-action-readers.js +58 -0
  719. package/dist/internal/planning/storage-action-readers.js.map +1 -0
  720. package/dist/internal/planning/storage-actions.d.ts +89 -0
  721. package/dist/internal/planning/storage-actions.d.ts.map +1 -0
  722. package/dist/internal/planning/storage-actions.js +183 -0
  723. package/dist/internal/planning/storage-actions.js.map +1 -0
  724. package/dist/internal/planning/token-mint.d.ts.map +1 -1
  725. package/dist/internal/planning/token-mint.js +2 -1
  726. package/dist/internal/planning/token-mint.js.map +1 -1
  727. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  728. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  729. package/dist/internal/planning/trade-faction-market.js +56 -0
  730. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  731. package/dist/internal/planning/wallet-starbase.d.ts +34 -0
  732. package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
  733. package/dist/internal/planning/wallet-starbase.js +39 -0
  734. package/dist/internal/planning/wallet-starbase.js.map +1 -0
  735. package/dist/internal/planning/xp-runtime.d.ts +36 -0
  736. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  737. package/dist/internal/planning/xp-runtime.js +122 -0
  738. package/dist/internal/planning/xp-runtime.js.map +1 -0
  739. package/dist/internal/read-meta.d.ts +12 -0
  740. package/dist/internal/read-meta.d.ts.map +1 -1
  741. package/dist/internal/read-meta.js +10 -0
  742. package/dist/internal/read-meta.js.map +1 -1
  743. package/dist/internal/system-program.d.ts +4 -0
  744. package/dist/internal/system-program.d.ts.map +1 -0
  745. package/dist/internal/system-program.js +3 -0
  746. package/dist/internal/system-program.js.map +1 -0
  747. package/dist/loyalty/actions/index.d.ts +1 -1
  748. package/dist/loyalty/actions/index.d.ts.map +1 -1
  749. package/dist/loyalty/actions/index.js +16 -46
  750. package/dist/loyalty/actions/index.js.map +1 -1
  751. package/dist/loyalty/index.d.ts +4 -0
  752. package/dist/loyalty/index.d.ts.map +1 -1
  753. package/dist/loyalty/index.js +21 -33
  754. package/dist/loyalty/index.js.map +1 -1
  755. package/dist/markets/actions/index.d.ts +62 -4
  756. package/dist/markets/actions/index.d.ts.map +1 -1
  757. package/dist/markets/actions/index.js +261 -187
  758. package/dist/markets/actions/index.js.map +1 -1
  759. package/dist/markets/actions/trade-faction-market.d.ts +45 -0
  760. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  761. package/dist/markets/actions/trade-faction-market.js +311 -0
  762. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  763. package/dist/markets/index.d.ts +38 -7
  764. package/dist/markets/index.d.ts.map +1 -1
  765. package/dist/markets/index.js +59 -20
  766. package/dist/markets/index.js.map +1 -1
  767. package/dist/mining/actions/index.d.ts +42 -10
  768. package/dist/mining/actions/index.d.ts.map +1 -1
  769. package/dist/mining/actions/index.js +209 -48
  770. package/dist/mining/actions/index.js.map +1 -1
  771. package/dist/mining/estimate.d.ts +114 -0
  772. package/dist/mining/estimate.d.ts.map +1 -0
  773. package/dist/mining/estimate.js +127 -0
  774. package/dist/mining/estimate.js.map +1 -0
  775. package/dist/mining/index.d.ts +9 -2
  776. package/dist/mining/index.d.ts.map +1 -1
  777. package/dist/mining/index.js +10 -13
  778. package/dist/mining/index.js.map +1 -1
  779. package/dist/mining/profile.d.ts +82 -0
  780. package/dist/mining/profile.d.ts.map +1 -0
  781. package/dist/mining/profile.js +109 -0
  782. package/dist/mining/profile.js.map +1 -0
  783. package/dist/planning/assembly.d.ts +6 -1
  784. package/dist/planning/assembly.d.ts.map +1 -1
  785. package/dist/planning/assembly.js +12 -8
  786. package/dist/planning/assembly.js.map +1 -1
  787. package/dist/planning/execution.d.ts +19 -3
  788. package/dist/planning/execution.d.ts.map +1 -1
  789. package/dist/planning/execution.js +631 -72
  790. package/dist/planning/execution.js.map +1 -1
  791. package/dist/planning/index.d.ts +261 -165
  792. package/dist/planning/index.d.ts.map +1 -1
  793. package/dist/planning/index.js +31 -388
  794. package/dist/planning/index.js.map +1 -1
  795. package/dist/planning/plan-construction.d.ts +25 -0
  796. package/dist/planning/plan-construction.d.ts.map +1 -0
  797. package/dist/planning/plan-construction.js +143 -0
  798. package/dist/planning/plan-construction.js.map +1 -0
  799. package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
  800. package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
  801. package/dist/planning/plan-sequence-checkpoint.js +16 -7
  802. package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
  803. package/dist/planning/plan-sequence-execution.d.ts +5 -0
  804. package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
  805. package/dist/planning/plan-sequence-execution.js +74 -40
  806. package/dist/planning/plan-sequence-execution.js.map +1 -1
  807. package/dist/planning/plan-sequence.d.ts +2 -1
  808. package/dist/planning/plan-sequence.d.ts.map +1 -1
  809. package/dist/planning/plan-sequence.js +8 -1
  810. package/dist/planning/plan-sequence.js.map +1 -1
  811. package/dist/planning/plan-validation.d.ts +17 -0
  812. package/dist/planning/plan-validation.d.ts.map +1 -0
  813. package/dist/planning/plan-validation.js +143 -0
  814. package/dist/planning/plan-validation.js.map +1 -0
  815. package/dist/planning/simulation.d.ts +25 -1
  816. package/dist/planning/simulation.d.ts.map +1 -1
  817. package/dist/planning/simulation.js +111 -11
  818. package/dist/planning/simulation.js.map +1 -1
  819. package/dist/registry/cargo.d.ts +7 -12
  820. package/dist/registry/cargo.d.ts.map +1 -1
  821. package/dist/registry/cargo.js +19 -20
  822. package/dist/registry/cargo.js.map +1 -1
  823. package/dist/registry/docking.d.ts +10 -0
  824. package/dist/registry/docking.d.ts.map +1 -0
  825. package/dist/registry/docking.js +12 -0
  826. package/dist/registry/docking.js.map +1 -0
  827. package/dist/registry/index.d.ts +4 -0
  828. package/dist/registry/index.d.ts.map +1 -1
  829. package/dist/registry/index.js +190 -224
  830. package/dist/registry/index.js.map +1 -1
  831. package/dist/registry/onboarding.d.ts +10 -2
  832. package/dist/registry/onboarding.d.ts.map +1 -1
  833. package/dist/registry/onboarding.js +22 -7
  834. package/dist/registry/onboarding.js.map +1 -1
  835. package/dist/registry/scanning.d.ts +7 -0
  836. package/dist/registry/scanning.d.ts.map +1 -0
  837. package/dist/registry/scanning.js +13 -0
  838. package/dist/registry/scanning.js.map +1 -0
  839. package/dist/registry/ship-stats-snapshot.d.ts.map +1 -1
  840. package/dist/registry/ship-stats-snapshot.js +38 -24
  841. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  842. package/dist/registry/ships.d.ts +22 -2
  843. package/dist/registry/ships.d.ts.map +1 -1
  844. package/dist/registry/ships.js +31 -4
  845. package/dist/registry/ships.js.map +1 -1
  846. package/dist/registry/xp-runtime.d.ts +4 -0
  847. package/dist/registry/xp-runtime.d.ts.map +1 -0
  848. package/dist/registry/xp-runtime.js +14 -0
  849. package/dist/registry/xp-runtime.js.map +1 -0
  850. package/dist/rewards/index.d.ts +11 -5
  851. package/dist/rewards/index.d.ts.map +1 -1
  852. package/dist/rewards/index.js +10 -21
  853. package/dist/rewards/index.js.map +1 -1
  854. package/dist/scanning/actions/index.d.ts +116 -0
  855. package/dist/scanning/actions/index.d.ts.map +1 -0
  856. package/dist/scanning/actions/index.js +215 -0
  857. package/dist/scanning/actions/index.js.map +1 -0
  858. package/dist/scanning/index.d.ts +10 -12
  859. package/dist/scanning/index.d.ts.map +1 -1
  860. package/dist/scanning/index.js +19 -23
  861. package/dist/scanning/index.js.map +1 -1
  862. package/dist/scanning/lifecycle.d.ts +77 -0
  863. package/dist/scanning/lifecycle.d.ts.map +1 -0
  864. package/dist/scanning/lifecycle.js +93 -0
  865. package/dist/scanning/lifecycle.js.map +1 -0
  866. package/dist/scanning/odds.d.ts +115 -0
  867. package/dist/scanning/odds.d.ts.map +1 -0
  868. package/dist/scanning/odds.js +294 -0
  869. package/dist/scanning/odds.js.map +1 -0
  870. package/dist/scanning/signals.d.ts +121 -0
  871. package/dist/scanning/signals.d.ts.map +1 -0
  872. package/dist/scanning/signals.js +171 -0
  873. package/dist/scanning/signals.js.map +1 -0
  874. package/dist/starbases/actions/index.d.ts +6 -4
  875. package/dist/starbases/actions/index.d.ts.map +1 -1
  876. package/dist/starbases/actions/index.js +34 -67
  877. package/dist/starbases/actions/index.js.map +1 -1
  878. package/dist/starbases/index.d.ts.map +1 -1
  879. package/dist/starbases/index.js +3 -11
  880. package/dist/starbases/index.js.map +1 -1
  881. package/dist/world/index.d.ts +108 -5
  882. package/dist/world/index.d.ts.map +1 -1
  883. package/dist/world/index.js +110 -15
  884. package/dist/world/index.js.map +1 -1
  885. package/dist/world/planet-claim-stake-plots.d.ts +139 -0
  886. package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
  887. package/dist/world/planet-claim-stake-plots.js +117 -0
  888. package/dist/world/planet-claim-stake-plots.js.map +1 -0
  889. package/dist/world/starbase-status.d.ts +176 -0
  890. package/dist/world/starbase-status.d.ts.map +1 -0
  891. package/dist/world/starbase-status.js +153 -0
  892. package/dist/world/starbase-status.js.map +1 -0
  893. package/package.json +6 -2
@@ -0,0 +1,94 @@
1
+ import { hashAccountState } from './account-state.js';
2
+ import { openSignalInstruction, scanSignalSize, SAGE_PROGRAM_ADDRESS, PLAYER_PROFILE_PROGRAM_ADDRESS, } from '../c4/open-signal.js';
3
+ export { openSignalInstruction };
4
+ import { SageSdkError } from '../../client/errors.js';
5
+ import { fleetAccountDefinition, deriveFleetAddress } from '../c4/fleet.js';
6
+ import { profileAccountDefinition } from '../c4/identity.js';
7
+ import { characterAccountDefinition, findCharacterPda, } from '../c4/character.js';
8
+ import { deriveScanLifecycleAddress } from '../c4/scan-lifecycle.js';
9
+ import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
10
+ import { RENT_ADDRESS, readRent } from './rent.js';
11
+ import { directProfileKey, profileKeyExpired } from './profile-key.js';
12
+ import { requireStorageFundingKey } from './profile-storage-funding.js';
13
+ export async function resolveOpenSignal(intent) {
14
+ const [address, character] = await Promise.all([
15
+ deriveScanLifecycleAddress('scanSignal', intent.game, intent.fleet),
16
+ findCharacterPda(intent.profile, intent.game),
17
+ ]);
18
+ return { address: address[0], character };
19
+ }
20
+ function fail(address, message) {
21
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
22
+ }
23
+ export function openSignalAddresses(guard) {
24
+ return [
25
+ guard.address,
26
+ guard.fleet,
27
+ guard.profile,
28
+ guard.character,
29
+ RENT_ADDRESS,
30
+ CLOCK_ADDRESS,
31
+ ];
32
+ }
33
+ export async function validateOpenSignal(guard, accounts, expectedAuthorityHash) {
34
+ const resolved = await resolveOpenSignal(guard);
35
+ if (resolved.address !== guard.address ||
36
+ resolved.character !== guard.character)
37
+ fail(guard.address, 'Signal or Character PDA contradicts the Game, Fleet or Profile. Recreate the setup Plan from fresh canonical accounts.');
38
+ const required = (address) => {
39
+ const raw = accounts.get(address);
40
+ if (!raw || raw.executable)
41
+ fail(address, 'A signal setup prerequisite is missing or executable. Refetch valid accounts and recreate the Plan.');
42
+ return raw;
43
+ };
44
+ if (accounts.get(guard.address))
45
+ fail(guard.address, 'The canonical signal already exists. Refetch and reuse it; setup cannot replace an existing signal.');
46
+ const fleet = fleetAccountDefinition.decode(required(guard.fleet));
47
+ if (fleet.game !== guard.game ||
48
+ fleet.ownerProfile !== guard.profile ||
49
+ (await deriveFleetAddress(fleet)) !== guard.fleet ||
50
+ fleet.subProfile !== '11111111111111111111111111111111')
51
+ fail(guard.fleet, 'The Fleet has a different Game, owner, canonical PDA or delegated controller. Refetch a directly owned Fleet and recreate setup.');
52
+ const character = characterAccountDefinition.decode(required(guard.character));
53
+ if (character.game !== guard.game ||
54
+ character.playerProfile !== guard.profile)
55
+ fail(guard.character, 'The owner/controller Character does not belong to this Game and Profile. Refetch the canonical Character and recreate setup.');
56
+ const profileRaw = required(guard.profile);
57
+ const profile = profileAccountDefinition.decode(profileRaw);
58
+ const now = readClock(required(CLOCK_ADDRESS));
59
+ const key = directProfileKey(profile.keys, guard.keyIndex, guard.authority);
60
+ if (!key || profileKeyExpired(key, now))
61
+ fail(guard.profile, 'The selected direct Profile key is missing, mismatched or expired. Refetch the Profile, select a current key and recreate setup.');
62
+ if (key.scope !== PLAYER_PROFILE_PROGRAM_ADDRESS &&
63
+ key.scope !== SAGE_PROGRAM_ADDRESS)
64
+ fail(guard.profile, 'The selected key has an unrelated program scope. Select a current Profile- or SAGE-scoped direct key and recreate setup; instruction permission acceptance remains chain-authoritative.');
65
+ const authorityHash = await hashAccountState(profileRaw.owner, new TextEncoder().encode(JSON.stringify([
66
+ profile.version,
67
+ profile.authKeyCount,
68
+ profile.keyThreshold,
69
+ key.address,
70
+ key.scope,
71
+ String(key.permissionsRaw),
72
+ String(key.expiresAtRaw),
73
+ ])));
74
+ if (expectedAuthorityHash !== undefined &&
75
+ authorityHash !== expectedAuthorityHash)
76
+ fail(guard.profile, 'The selected Profile authorization changed. Refetch the key and recreate setup before signing.');
77
+ const rent = readRent(required(RENT_ADDRESS));
78
+ const profileDebit = rent(scanSignalSize());
79
+ const profileReserve = rent(profileRaw.data.length);
80
+ // Creating the signal always withdraws its rent from the Profile vault.
81
+ requireStorageFundingKey({
82
+ profileRaw,
83
+ authority: guard.authority,
84
+ keyIndex: guard.keyIndex,
85
+ profileDebit,
86
+ action: 'scan signal setup',
87
+ });
88
+ if (profileDebit > guard.maximumProfileDebit)
89
+ fail(guard.profile, 'Signal rent now exceeds the approved Profile debit. Recreate setup and inspect the new funding ceiling before signing.');
90
+ if (profileRaw.lamports < profileReserve + profileDebit)
91
+ fail(guard.profile, 'The Profile lacks signal rent while retaining its own storage reserve. Fund the Profile explicitly, refetch and recreate setup; transaction fees are separate.');
92
+ return { profileDebit, profileReserve, authorityHash };
93
+ }
94
+ //# sourceMappingURL=open-signal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-signal.js","sourceRoot":"","sources":["../../../src/internal/planning/open-signal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { type Address, type Instruction } from '@solana/kit';
2
+ import type { RawAccount, SageContext } from '../../client/contracts.js';
3
+ import type { PlanPrecondition } from '../../planning/index.js';
4
+ export declare const ORIGINAL_TOKEN_PROGRAM: Address;
5
+ export declare const ATA_PROGRAM: Address;
6
+ /** Rejects with the calling planner's wording and remedy. */
7
+ type Fail = (message: string, address: Address) => never;
8
+ /** What a wallet token transfer Plan rechecks and leaves to the chain. */
9
+ export declare const TOKEN_TRANSFER_DISCLOSURE = "System identity, active Starbase generation and applicable CSS requirements are rechecked before signing; unrelated System combat, shield, health and hab activity is not equality-bound. Execution access checks remain chain-authoritative, not a client-side atomicity guarantee. Mint supply and authorities may change; initialized original Token mint layout and decimals are rechecked before signing.";
10
+ /** The canonical associated token account of `owner` for an original Token `mint`. */
11
+ export declare function deriveAssociatedTokenAddress(owner: Address, mint: Address): Promise<Address>;
12
+ /** Whether a wallet is an original or Token-2022 multisig authority, which
13
+ * needs signer semantics outside the single-owner wallet planners. */
14
+ export declare function isTokenMultisig(account: RawAccount | undefined): boolean;
15
+ /** The raw balance of an initialized, unfrozen original Token account of
16
+ * `mint` owned by `owner`, or why the account is not one: `layout` for
17
+ * anything but a well-formed 165-byte original Token account, `holder` for
18
+ * its state, mint or owner. Mint and authority sit at 0/32, the state at 108
19
+ * and u32 COption tags at 72/109/129. A recorded delegate does not prevent the
20
+ * owner from transferring, so it is accepted. */
21
+ export declare function originalTokenBalance(account: RawAccount, mint: Address, owner: Address): bigint | 'layout' | 'holder';
22
+ /** {@link originalTokenBalance}, failing with the calling planner's wording
23
+ * when the account is not the expected original Token account. */
24
+ export declare function readTokenAccount(account: RawAccount, mint: Address, owner: Address, fail: Fail): bigint;
25
+ /** Validates an explicit payer for idempotent canonical ATA creation and
26
+ * returns the creation instruction, its storage funding, and the payer, Rent
27
+ * and program observations. Reads Rent unless the caller already holds it. */
28
+ export declare function resolveAssociatedTokenCreation(ctx: SageContext, request: {
29
+ readonly payer: Address;
30
+ readonly address: Address;
31
+ readonly owner: Address;
32
+ readonly mint: Address;
33
+ readonly rent?: RawAccount;
34
+ }, fail: Fail, observe: (account: RawAccount, role: string) => Promise<PlanPrecondition>): Promise<{
35
+ readonly instruction: Instruction;
36
+ readonly preconditions: readonly PlanPrecondition[];
37
+ readonly storageFunding: bigint;
38
+ }>;
39
+ export {};
40
+ //# sourceMappingURL=original-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"original-token.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/original-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,eAAO,MAAM,sBAAsB,EACgB,OAAO,CAAC;AAC3D,eAAO,MAAM,WAAW,EAC4B,OAAO,CAAC;AAI5D,6DAA6D;AAC7D,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC;AAEzD,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,mZAC4W,CAAC;AAEnZ,sFAAsF;AACtF,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;sEACsE;AACtE,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAOxE;AAED;;;;;iDAKiD;AACjD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,GACb,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAkB9B;AAED;kEACkE;AAClE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,IAAI,GACT,MAAM,CAcR;AAED;;8EAE8E;AAC9E,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;CAC5B,EACD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,GACxE,OAAO,CAAC;IACT,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC,CAgED"}
@@ -0,0 +1,112 @@
1
+ import { AccountRole, getAddressDecoder, getAddressEncoder, getProgramDerivedAddress, } from '@solana/kit';
2
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
3
+ import { SYSTEM_PROGRAM } from '../system-program.js';
4
+ import { RENT_ADDRESS, readRent } from './rent.js';
5
+ export const ORIGINAL_TOKEN_PROGRAM = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
6
+ export const ATA_PROGRAM = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
7
+ const TOKEN_2022_PROGRAM = 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
8
+ /** What a wallet token transfer Plan rechecks and leaves to the chain. */
9
+ export const TOKEN_TRANSFER_DISCLOSURE = 'System identity, active Starbase generation and applicable CSS requirements are rechecked before signing; unrelated System combat, shield, health and hab activity is not equality-bound. Execution access checks remain chain-authoritative, not a client-side atomicity guarantee. Mint supply and authorities may change; initialized original Token mint layout and decimals are rechecked before signing.';
10
+ /** The canonical associated token account of `owner` for an original Token `mint`. */
11
+ export async function deriveAssociatedTokenAddress(owner, mint) {
12
+ const encoder = getAddressEncoder();
13
+ const [address] = await getProgramDerivedAddress({
14
+ programAddress: ATA_PROGRAM,
15
+ seeds: [
16
+ encoder.encode(owner),
17
+ encoder.encode(ORIGINAL_TOKEN_PROGRAM),
18
+ encoder.encode(mint),
19
+ ],
20
+ });
21
+ return address;
22
+ }
23
+ /** Whether a wallet is an original or Token-2022 multisig authority, which
24
+ * needs signer semantics outside the single-owner wallet planners. */
25
+ export function isTokenMultisig(account) {
26
+ return (account !== undefined &&
27
+ account.data.length === 355 &&
28
+ (account.owner === ORIGINAL_TOKEN_PROGRAM ||
29
+ account.owner === TOKEN_2022_PROGRAM));
30
+ }
31
+ /** The raw balance of an initialized, unfrozen original Token account of
32
+ * `mint` owned by `owner`, or why the account is not one: `layout` for
33
+ * anything but a well-formed 165-byte original Token account, `holder` for
34
+ * its state, mint or owner. Mint and authority sit at 0/32, the state at 108
35
+ * and u32 COption tags at 72/109/129. A recorded delegate does not prevent the
36
+ * owner from transferring, so it is accepted. */
37
+ export function originalTokenBalance(account, mint, owner) {
38
+ const { data } = account;
39
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
40
+ if (account.executable ||
41
+ account.owner !== ORIGINAL_TOKEN_PROGRAM ||
42
+ data.length !== 165 ||
43
+ [72, 109, 129].some((offset) => view.getUint32(offset, true) > 1))
44
+ return 'layout';
45
+ const decoder = getAddressDecoder();
46
+ if (view.getUint8(108) !== 1 ||
47
+ decoder.decode(data.subarray(0, 32)) !== mint ||
48
+ decoder.decode(data.subarray(32, 64)) !== owner)
49
+ return 'holder';
50
+ return view.getBigUint64(64, true);
51
+ }
52
+ /** {@link originalTokenBalance}, failing with the calling planner's wording
53
+ * when the account is not the expected original Token account. */
54
+ export function readTokenAccount(account, mint, owner, fail) {
55
+ const { address } = account;
56
+ const balance = originalTokenBalance(account, mint, owner);
57
+ if (balance === 'layout')
58
+ fail(`Account ${address} must be a well-formed original Token account of exactly 165 bytes; Token-2022 and multisig layouts are unsupported.`, address);
59
+ if (balance === 'holder')
60
+ fail(`Token account ${address} must be initialized, unfrozen and hold mint ${mint} under owner ${owner}; delegated spending is unsupported.`, address);
61
+ return balance;
62
+ }
63
+ /** Validates an explicit payer for idempotent canonical ATA creation and
64
+ * returns the creation instruction, its storage funding, and the payer, Rent
65
+ * and program observations. Reads Rent unless the caller already holds it. */
66
+ export async function resolveAssociatedTokenCreation(ctx, request, fail, observe) {
67
+ const addresses = [
68
+ request.payer,
69
+ ATA_PROGRAM,
70
+ SYSTEM_PROGRAM,
71
+ ORIGINAL_TOKEN_PROGRAM,
72
+ ...(request.rent === undefined ? [RENT_ADDRESS] : []),
73
+ ];
74
+ const accounts = (await readContextRawAccounts(ctx, addresses)).map((account, index) => account ??
75
+ fail(`ATA creation prerequisite ${addresses[index]} is missing. Create or fund it separately.`, addresses[index]));
76
+ const [payer, ...programs] = accounts.slice(0, 4);
77
+ const rent = request.rent ?? accounts[4];
78
+ if (programs.some((program) => !program.executable))
79
+ fail('ATA creation requires executable associated-token, System and original Token programs in this deployment.', ATA_PROGRAM);
80
+ // Original Token accounts occupy 165 bytes; the shared Rent reader includes
81
+ // the 128-byte account overhead and validates the full sysvar.
82
+ const storageFunding = readRent(rent)(165);
83
+ if (payer.owner !== SYSTEM_PROGRAM ||
84
+ payer.executable ||
85
+ payer.data.length !== 0 ||
86
+ payer.lamports < storageFunding)
87
+ fail(`ATA payer must be a System wallet with at least ${storageFunding} lamports for storage, in addition to transaction fees.`, request.payer);
88
+ const roles = [
89
+ 'ATA payer identity',
90
+ 'Associated-token program',
91
+ 'System program',
92
+ 'Token program',
93
+ 'Rent configuration',
94
+ ];
95
+ return {
96
+ instruction: {
97
+ programAddress: ATA_PROGRAM,
98
+ accounts: [
99
+ { address: request.payer, role: AccountRole.WRITABLE_SIGNER },
100
+ { address: request.address, role: AccountRole.WRITABLE },
101
+ { address: request.owner, role: AccountRole.READONLY },
102
+ { address: request.mint, role: AccountRole.READONLY },
103
+ { address: SYSTEM_PROGRAM, role: AccountRole.READONLY },
104
+ { address: ORIGINAL_TOKEN_PROGRAM, role: AccountRole.READONLY },
105
+ ],
106
+ data: Uint8Array.of(1),
107
+ },
108
+ preconditions: await Promise.all(accounts.map((account, index) => observe(account, roles[index]))),
109
+ storageFunding,
110
+ };
111
+ }
112
+ //# sourceMappingURL=original-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"original-token.js","sourceRoot":"","sources":["../../../src/internal/planning/original-token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ /** How a planner names itself in the remedies it shares. */
4
+ export interface OwnStarbaseAction {
5
+ /** Completes "Refresh the canonical Character and …", e.g. `replan Fleet creation`. */
6
+ readonly replan: string;
7
+ /** Completes "Refresh the canonical membership …", e.g. `before creating a Fleet`. */
8
+ readonly before: string;
9
+ }
10
+ /** Decodes and relates the Profile, Character, faction membership, Star System
11
+ * and StarbasePlayer that Fleet creation and ship assembly both require: one
12
+ * canonical Character and membership for the Profile, a canonical Starbase
13
+ * System, and the StarbasePlayer joining them. Unless `anyStarbase` is set, the
14
+ * Starbase must belong to the Profile's faction. `required` reads each account
15
+ * with the planner's own wording. */
16
+ export declare function readOwnStarbaseFacts(intent: {
17
+ readonly game: Address;
18
+ readonly profile: Address;
19
+ readonly system: Address;
20
+ }, resolved: {
21
+ readonly profile: Address;
22
+ readonly character: Address;
23
+ readonly profileFaction: Address;
24
+ readonly system: Address;
25
+ readonly starbasePlayer: Address;
26
+ }, required: (address: Address, name: string) => RawAccount, action: OwnStarbaseAction, options?: {
27
+ readonly anyStarbase?: true;
28
+ }): Promise<{
29
+ profileRaw: RawAccount;
30
+ profile: Readonly<import("../c4/identity.js").ProfileAccountData>;
31
+ character: Readonly<import("../c4/character.js").CharacterAccountData>;
32
+ faction: Readonly<import("../c4/profile-faction.js").ProfileFactionAccountData>;
33
+ system: Readonly<import("../c4/world.js").StarSystemAccountData>;
34
+ starbase: import("../c4/world.js").WorldStarbaseData;
35
+ player: Readonly<import("../c4/starbase.js").StarbasePlayerAccountData>;
36
+ }>;
37
+ //# sourceMappingURL=own-starbase-facts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"own-starbase-facts.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAW5D,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAMD;;;;;qCAKqC;AACrC,wBAAsB,oBAAoB,CACxC,MAAM,EAAE;IACN,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,EACD,QAAQ,EAAE;IACR,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;CAClC,EACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,UAAU,EACxD,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;CAAO;;;;;;;;GAmE9C"}
@@ -0,0 +1,52 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { characterAccountDefinition } from '../c4/character.js';
3
+ import { profileAccountDefinition } from '../c4/identity.js';
4
+ import { profileFactionAccountDefinition } from '../c4/profile-faction.js';
5
+ import { starbasePlayerAccountDefinition } from '../c4/starbase.js';
6
+ import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../c4/world.js';
7
+ function fail(address, message) {
8
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
9
+ }
10
+ /** Decodes and relates the Profile, Character, faction membership, Star System
11
+ * and StarbasePlayer that Fleet creation and ship assembly both require: one
12
+ * canonical Character and membership for the Profile, a canonical Starbase
13
+ * System, and the StarbasePlayer joining them. Unless `anyStarbase` is set, the
14
+ * Starbase must belong to the Profile's faction. `required` reads each account
15
+ * with the planner's own wording. */
16
+ export async function readOwnStarbaseFacts(intent, resolved, required, action, options = {}) {
17
+ const profileRaw = required(resolved.profile, 'Profile');
18
+ const profile = profileAccountDefinition.decode(profileRaw);
19
+ const character = characterAccountDefinition.decode(required(resolved.character, 'Character'));
20
+ const faction = profileFactionAccountDefinition.decode(required(resolved.profileFaction, 'ProfileFaction'));
21
+ const system = starSystemAccountDefinition.decode(required(resolved.system, 'Star System'));
22
+ const player = starbasePlayerAccountDefinition.decode(required(resolved.starbasePlayer, 'StarbasePlayer'));
23
+ if (character.game !== intent.game ||
24
+ character.playerProfile !== intent.profile)
25
+ fail(resolved.character, `The Character belongs to a different Game or Profile. Refresh the canonical Character and ${action.replan}.`);
26
+ if (faction.profile !== intent.profile)
27
+ fail(resolved.profileFaction, `The faction membership belongs to a different Profile. Refresh the canonical membership ${action.before}.`);
28
+ if (system.game !== intent.game ||
29
+ (await deriveStarSystemAddress(system.game, system.systemId)) !==
30
+ intent.system ||
31
+ !system.starbase)
32
+ fail(resolved.system, 'The selected System is not canonical for this Game or has no Starbase. Choose a valid Starbase System and replan.');
33
+ if (player.playerProfile !== intent.profile ||
34
+ player.character !== resolved.character ||
35
+ player.system !== intent.system ||
36
+ player.faction !== faction.faction)
37
+ fail(resolved.starbasePlayer, 'The StarbasePlayer has a different Profile, Character, System or faction relationship. Refresh the canonical StarbasePlayer and replan.');
38
+ if (!options.anyStarbase &&
39
+ (faction.faction === 'unaligned' ||
40
+ system.starbase.owner !== faction.faction))
41
+ fail(resolved.system, 'This planner supports an existing own-faction StarbasePlayer only. Select an own-faction Starbase; other diplomacy or access routes require separate supported planning.');
42
+ return {
43
+ profileRaw,
44
+ profile,
45
+ character,
46
+ faction,
47
+ system,
48
+ starbase: system.starbase,
49
+ player,
50
+ };
51
+ }
52
+ //# sourceMappingURL=own-starbase-facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"own-starbase-facts.js","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { type Address } from '@solana/kit';
2
+ export type UnknownRecord = Record<string, unknown>;
3
+ export declare const MAX_U64 = 18446744073709551615n;
4
+ /** Rejects one Plan field with the shared recreate-or-hydrate remedy. */
5
+ export declare function invalid(field: string, value: unknown, acceptedRange: string): never;
6
+ export declare function readRecord(value: unknown, field: string): UnknownRecord;
7
+ export declare function assertKeys(value: UnknownRecord, field: string, required: readonly string[], optional?: readonly string[]): void;
8
+ export declare function readString(value: unknown, field: string): string;
9
+ export declare function readAddress(value: unknown, field: string): Address;
10
+ /** An integer, or with `finite` any finite number, in an inclusive range. */
11
+ export interface NumberField {
12
+ readonly min: number;
13
+ readonly max: number;
14
+ readonly accepted: string;
15
+ readonly finite?: true;
16
+ }
17
+ /** A bigint in an inclusive range; Plan JSON carries a canonical decimal string. */
18
+ export interface BigIntField {
19
+ readonly min: bigint;
20
+ readonly max: bigint;
21
+ readonly accepted: string;
22
+ }
23
+ /** One of a fixed set of values. */
24
+ export interface TokenField {
25
+ readonly values: readonly unknown[];
26
+ readonly accepted: string;
27
+ }
28
+ /** How one Plan guard field is validated in memory and decoded from Plan JSON. */
29
+ export type GuardFieldType = 'address' | 'hash' | 'string' | 'text' | 'label' | NumberField | BigIntField | TokenField;
30
+ /** A guard field: key, type and whether it may be omitted. */
31
+ export type GuardFieldEntry = readonly [
32
+ key: string,
33
+ type: GuardFieldType,
34
+ optional?: true
35
+ ];
36
+ /** One flat guard kind; field order is the normalized and serialized order. */
37
+ export interface GuardSchema {
38
+ readonly fields: readonly GuardFieldEntry[];
39
+ /** Extra fields for the guard's validated `status`, keyed by status value.
40
+ * Requires a `status` field; a status without an entry adds no fields.
41
+ */
42
+ readonly byStatus?: Readonly<Record<string, readonly GuardFieldEntry[]>>;
43
+ /** Cross-field invariants, evaluated after every field is valid. */
44
+ readonly check?: (guard: UnknownRecord) => boolean;
45
+ /** Replaces every field-level error with one safeguard-level error. */
46
+ readonly error?: {
47
+ readonly accepted: string;
48
+ readonly remedy: string;
49
+ };
50
+ }
51
+ /** Validates one flat guard against its schema; `wire` decodes Plan JSON values.
52
+ * The result is frozen, with `kind` first, fields in schema order and
53
+ * `describes` last.
54
+ */
55
+ export declare function normalizeSchemaGuard(guard: UnknownRecord, field: string, schema: GuardSchema, wire: boolean): UnknownRecord;
56
+ /** Converts a guard to Plan JSON: bigint values become decimal strings and
57
+ * undefined members are omitted, at every depth, preserving key order.
58
+ */
59
+ export declare function guardToWire(value: unknown): unknown;
60
+ //# sourceMappingURL=plan-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-fields.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/plan-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAItD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,eAAO,MAAM,OAAO,wBAAsB,CAAC;AAK3C,yEAAyE;AACzE,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,MAAM,GACpB,KAAK,CAOP;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAKvE;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,QAAQ,GAAE,SAAS,MAAM,EAAO,GAC/B,IAAI,CAWN;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIlE;AAED,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;CACxB;AAED,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,kFAAkF;AAClF,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,WAAW,GACX,UAAU,CAAC;AAEf,8DAA8D;AAC9D,MAAM,MAAM,eAAe,GAAG,SAAS;IACrC,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,cAAc;IACpB,QAAQ,CAAC,EAAE,IAAI;CAChB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,CAAC,CAAC;IACzE,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;IACnD,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AAoGD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,OAAO,GACZ,aAAa,CA2Cf;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CASnD"}
@@ -0,0 +1,159 @@
1
+ import { isAddress } from '@solana/kit';
2
+ import { InvalidActionInputError } from '../../client/errors.js';
3
+ export const MAX_U64 = 0xffffffffffffffffn;
4
+ const DATA_HASH_PATTERN = /^[\da-f]{64}$/u;
5
+ const UNSIGNED_DECIMAL = /^(0|[1-9][0-9]*)$/u;
6
+ const SIGNED_DECIMAL = /^(0|-?[1-9][0-9]*)$/u;
7
+ /** Rejects one Plan field with the shared recreate-or-hydrate remedy. */
8
+ export function invalid(field, value, acceptedRange) {
9
+ throw new InvalidActionInputError(field, value, acceptedRange, 'Correct this Plan field and recreate or hydrate the Plan before retrying.');
10
+ }
11
+ export function readRecord(value, field) {
12
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
13
+ return invalid(field, value, 'a plain object');
14
+ }
15
+ return value;
16
+ }
17
+ export function assertKeys(value, field, required, optional = []) {
18
+ const accepted = new Set([...required, ...optional]);
19
+ const missing = required.find((key) => !Object.hasOwn(value, key));
20
+ const unexpected = Object.keys(value).find((key) => !accepted.has(key));
21
+ if (missing !== undefined || unexpected !== undefined) {
22
+ invalid(field, missing === undefined ? unexpected : `missing ${missing}`, `exactly the fields ${[...required, ...optional].join(', ')}`);
23
+ }
24
+ }
25
+ export function readString(value, field) {
26
+ return typeof value === 'string' ? value : invalid(field, value, 'a string');
27
+ }
28
+ export function readAddress(value, field) {
29
+ return typeof value === 'string' && isAddress(value)
30
+ ? value
31
+ : invalid(field, value, 'a valid base58 Solana address');
32
+ }
33
+ const LABEL_ACCEPTED = 'a nonblank, NUL-free Unicode label of at most 64 UTF-8 bytes';
34
+ function readLabel(value, field, fail) {
35
+ if (typeof value !== 'string')
36
+ return fail(field, value, 'a string');
37
+ const bytes = new TextEncoder().encode(value);
38
+ if (value.trim().length === 0 ||
39
+ value.includes('\0') ||
40
+ bytes.length > 64 ||
41
+ new TextDecoder('utf-8', { ignoreBOM: true }).decode(bytes) !== value)
42
+ fail(field, value, LABEL_ACCEPTED);
43
+ return value;
44
+ }
45
+ function readField(type, value, field, wire, fail) {
46
+ if (type === 'address')
47
+ return typeof value === 'string' && isAddress(value)
48
+ ? value
49
+ : fail(field, value, 'a valid base58 Solana address');
50
+ if (type === 'hash')
51
+ return typeof value === 'string' && DATA_HASH_PATTERN.test(value)
52
+ ? value
53
+ : fail(field, value, 'a lowercase 64-character SHA-256 hex digest');
54
+ if (type === 'string')
55
+ return typeof value === 'string' ? value : fail(field, value, 'a string');
56
+ if (type === 'text')
57
+ return typeof value === 'string' && value.trim().length > 0
58
+ ? value
59
+ : fail(field, value, 'a nonblank string');
60
+ if (type === 'label')
61
+ return readLabel(value, field, fail);
62
+ if ('values' in type)
63
+ return type.values.includes(value)
64
+ ? value
65
+ : fail(field, value, type.accepted);
66
+ if (typeof type.min === 'bigint') {
67
+ let parsed = value;
68
+ if (wire) {
69
+ const signed = type.min < 0n;
70
+ if (typeof value !== 'string' ||
71
+ !(signed ? SIGNED_DECIMAL : UNSIGNED_DECIMAL).test(value))
72
+ fail(field, value, signed
73
+ ? 'a canonical decimal string'
74
+ : 'a canonical unsigned decimal string');
75
+ parsed = BigInt(value);
76
+ }
77
+ return typeof parsed === 'bigint' &&
78
+ parsed >= type.min &&
79
+ parsed <= type.max
80
+ ? parsed
81
+ : fail(field, parsed, type.accepted);
82
+ }
83
+ const range = type;
84
+ return typeof value === 'number' &&
85
+ (range.finite ? Number.isFinite(value) : Number.isInteger(value)) &&
86
+ value >= range.min &&
87
+ value <= range.max
88
+ ? value
89
+ : fail(field, value, range.accepted);
90
+ }
91
+ /** Fields for the guard's `status` variant. The status is validated against
92
+ * its `status` field type before the exact-key check, and only own `byStatus`
93
+ * entries are used, so an inherited name such as `__proto__` is a typed status
94
+ * error, never a prototype lookup. A missing status is left to the exact-key
95
+ * check.
96
+ */
97
+ function variantFields(guard, field, schema, wire, fail) {
98
+ const variants = schema.byStatus;
99
+ if (variants === undefined || !Object.hasOwn(guard, 'status'))
100
+ return [];
101
+ const [, type] = schema.fields.find(([key]) => key === 'status');
102
+ const status = readField(type, guard.status, `${field}.status`, wire, fail);
103
+ return typeof status === 'string' && Object.hasOwn(variants, status)
104
+ ? variants[status]
105
+ : [];
106
+ }
107
+ /** Validates one flat guard against its schema; `wire` decodes Plan JSON values.
108
+ * The result is frozen, with `kind` first, fields in schema order and
109
+ * `describes` last.
110
+ */
111
+ export function normalizeSchemaGuard(guard, field, schema, wire) {
112
+ const fail = schema.error === undefined
113
+ ? invalid
114
+ : () => {
115
+ throw new InvalidActionInputError(String(guard.kind), guard, schema.error.accepted, schema.error.remedy);
116
+ };
117
+ const fields = [
118
+ ...schema.fields,
119
+ ...variantFields(guard, field, schema, wire, fail),
120
+ ];
121
+ // `describes` closes every guard, after any status-specific fields.
122
+ const entries = [
123
+ ...fields.filter(([key]) => key !== 'describes'),
124
+ ...fields.filter(([key]) => key === 'describes'),
125
+ ];
126
+ const keys = (optional) => entries.filter((entry) => (entry[2] === true) === optional).map(([k]) => k);
127
+ try {
128
+ assertKeys(guard, field, ['kind', ...keys(false)], keys(true));
129
+ }
130
+ catch (error) {
131
+ if (schema.error === undefined)
132
+ throw error;
133
+ fail(field, guard, 'exact guard fields');
134
+ }
135
+ const normalized = { kind: guard.kind };
136
+ for (const [key, type, optional] of entries) {
137
+ if (optional === true && guard[key] === undefined)
138
+ continue;
139
+ normalized[key] = readField(type, guard[key], `${field}.${key}`, wire, fail);
140
+ }
141
+ if (schema.check !== undefined && !schema.check(normalized))
142
+ fail(field, guard, 'internally consistent guard fields');
143
+ return Object.freeze(normalized);
144
+ }
145
+ /** Converts a guard to Plan JSON: bigint values become decimal strings and
146
+ * undefined members are omitted, at every depth, preserving key order.
147
+ */
148
+ export function guardToWire(value) {
149
+ if (typeof value === 'bigint')
150
+ return String(value);
151
+ if (Array.isArray(value))
152
+ return value.map(guardToWire);
153
+ if (value === null || typeof value !== 'object')
154
+ return value;
155
+ return Object.fromEntries(Object.entries(value)
156
+ .filter(([, member]) => member !== undefined)
157
+ .map(([key, member]) => [key, guardToWire(member)]));
158
+ }
159
+ //# sourceMappingURL=plan-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-fields.js","sourceRoot":"","sources":["../../../src/internal/planning/plan-fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { PlanPrecondition } from '../../planning/index.js';
2
+ /** Validates one Plan guard; `wire` decodes its Plan JSON form. */
3
+ export declare function normalizePrecondition(value: unknown, field: string, wire?: boolean): PlanPrecondition;
4
+ //# sourceMappingURL=plan-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-guards.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAmXhE,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,gBAAgB,CAkBlB"}