@aephia/atlas-kit 0.6.0-next.12 → 0.6.0-next.121

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 (737) hide show
  1. package/README.md +3 -1
  2. package/dist/cargo/actions/deposit.d.ts +2 -2
  3. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  4. package/dist/cargo/actions/deposit.js +28 -117
  5. package/dist/cargo/actions/deposit.js.map +1 -1
  6. package/dist/cargo/actions/index.d.ts +1 -1
  7. package/dist/cargo/actions/index.d.ts.map +1 -1
  8. package/dist/cargo/actions/index.js +28 -84
  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 -53
  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 -164
  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 +14 -1
  26. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  27. package/dist/claim-stakes/actions/index.js +399 -592
  28. package/dist/claim-stakes/actions/index.js.map +1 -1
  29. package/dist/claim-stakes/index.d.ts +14 -0
  30. package/dist/claim-stakes/index.d.ts.map +1 -1
  31. package/dist/claim-stakes/index.js +25 -12
  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 +6 -2
  39. package/dist/client/errors.d.ts.map +1 -1
  40. package/dist/client/errors.js +31 -1
  41. package/dist/client/errors.js.map +1 -1
  42. package/dist/client/index.d.ts +35 -0
  43. package/dist/client/index.d.ts.map +1 -1
  44. package/dist/client/index.js +35 -0
  45. package/dist/client/index.js.map +1 -1
  46. package/dist/client/rpc-subscription-provider.d.ts +35 -0
  47. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  48. package/dist/client/rpc-subscription-provider.js +190 -0
  49. package/dist/client/rpc-subscription-provider.js.map +1 -0
  50. package/dist/combat/actions/index.d.ts +4 -4
  51. package/dist/combat/actions/index.d.ts.map +1 -1
  52. package/dist/combat/actions/index.js +207 -261
  53. package/dist/combat/actions/index.js.map +1 -1
  54. package/dist/combat/index.d.ts +13 -3
  55. package/dist/combat/index.d.ts.map +1 -1
  56. package/dist/combat/index.js +9 -16
  57. package/dist/combat/index.js.map +1 -1
  58. package/dist/crafting/actions/index.d.ts +12 -1
  59. package/dist/crafting/actions/index.d.ts.map +1 -1
  60. package/dist/crafting/actions/index.js +181 -303
  61. package/dist/crafting/actions/index.js.map +1 -1
  62. package/dist/crafting/index.d.ts +33 -3
  63. package/dist/crafting/index.d.ts.map +1 -1
  64. package/dist/crafting/index.js +49 -28
  65. package/dist/crafting/index.js.map +1 -1
  66. package/dist/factions/actions/index.d.ts +2 -1
  67. package/dist/factions/actions/index.d.ts.map +1 -1
  68. package/dist/factions/actions/index.js +6 -4
  69. package/dist/factions/actions/index.js.map +1 -1
  70. package/dist/factions/index.d.ts +1 -1
  71. package/dist/factions/index.d.ts.map +1 -1
  72. package/dist/factions/index.js +16 -18
  73. package/dist/factions/index.js.map +1 -1
  74. package/dist/factions/profile-faction.d.ts +20 -8
  75. package/dist/factions/profile-faction.d.ts.map +1 -1
  76. package/dist/factions/profile-faction.js +20 -8
  77. package/dist/factions/profile-faction.js.map +1 -1
  78. package/dist/fleets/actions/add-ship.d.ts +35 -0
  79. package/dist/fleets/actions/add-ship.d.ts.map +1 -0
  80. package/dist/fleets/actions/add-ship.js +120 -0
  81. package/dist/fleets/actions/add-ship.js.map +1 -0
  82. package/dist/fleets/actions/create-fleet.d.ts +36 -0
  83. package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
  84. package/dist/fleets/actions/create-fleet.js +108 -0
  85. package/dist/fleets/actions/create-fleet.js.map +1 -0
  86. package/dist/fleets/actions/crew-transfer.d.ts +41 -0
  87. package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
  88. package/dist/fleets/actions/crew-transfer.js +94 -0
  89. package/dist/fleets/actions/crew-transfer.js.map +1 -0
  90. package/dist/fleets/actions/dock-bounds.d.ts +38 -0
  91. package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
  92. package/dist/fleets/actions/dock-bounds.js +46 -0
  93. package/dist/fleets/actions/dock-bounds.js.map +1 -0
  94. package/dist/fleets/actions/index.d.ts +64 -24
  95. package/dist/fleets/actions/index.d.ts.map +1 -1
  96. package/dist/fleets/actions/index.js +385 -334
  97. package/dist/fleets/actions/index.js.map +1 -1
  98. package/dist/fleets/actions/respawn.d.ts +38 -0
  99. package/dist/fleets/actions/respawn.d.ts.map +1 -0
  100. package/dist/fleets/actions/respawn.js +93 -0
  101. package/dist/fleets/actions/respawn.js.map +1 -0
  102. package/dist/fleets/actions/ship-import.d.ts +1 -1
  103. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  104. package/dist/fleets/actions/ship-import.js +67 -91
  105. package/dist/fleets/actions/ship-import.js.map +1 -1
  106. package/dist/fleets/cooldown.d.ts +44 -0
  107. package/dist/fleets/cooldown.d.ts.map +1 -0
  108. package/dist/fleets/cooldown.js +43 -0
  109. package/dist/fleets/cooldown.js.map +1 -0
  110. package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
  111. package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
  112. package/dist/fleets/coordinate-warp-estimate.js +46 -0
  113. package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
  114. package/dist/fleets/index.d.ts +35 -0
  115. package/dist/fleets/index.d.ts.map +1 -1
  116. package/dist/fleets/index.js +54 -12
  117. package/dist/fleets/index.js.map +1 -1
  118. package/dist/fleets/movement-arithmetic.d.ts +21 -0
  119. package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
  120. package/dist/fleets/movement-arithmetic.js +41 -0
  121. package/dist/fleets/movement-arithmetic.js.map +1 -0
  122. package/dist/fleets/subwarp-estimate.d.ts +70 -0
  123. package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
  124. package/dist/fleets/subwarp-estimate.js +38 -0
  125. package/dist/fleets/subwarp-estimate.js.map +1 -0
  126. package/dist/fleets/travel-profile.d.ts +102 -0
  127. package/dist/fleets/travel-profile.d.ts.map +1 -0
  128. package/dist/fleets/travel-profile.js +120 -0
  129. package/dist/fleets/travel-profile.js.map +1 -0
  130. package/dist/fleets/warp-lane-estimate.d.ts +59 -0
  131. package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
  132. package/dist/fleets/warp-lane-estimate.js +36 -0
  133. package/dist/fleets/warp-lane-estimate.js.map +1 -0
  134. package/dist/fleets/warp-lane-policy.d.ts +68 -0
  135. package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
  136. package/dist/fleets/warp-lane-policy.js +91 -0
  137. package/dist/fleets/warp-lane-policy.js.map +1 -0
  138. package/dist/fleets/warp-lane-toll.d.ts +55 -0
  139. package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
  140. package/dist/fleets/warp-lane-toll.js +79 -0
  141. package/dist/fleets/warp-lane-toll.js.map +1 -0
  142. package/dist/identity/actions/create-profile.d.ts +1 -1
  143. package/dist/identity/actions/create-profile.d.ts.map +1 -1
  144. package/dist/identity/actions/create-profile.js +2 -2
  145. package/dist/identity/actions/create-profile.js.map +1 -1
  146. package/dist/identity/actions/index.d.ts +4 -4
  147. package/dist/identity/actions/index.d.ts.map +1 -1
  148. package/dist/identity/actions/index.js +51 -29
  149. package/dist/identity/actions/index.js.map +1 -1
  150. package/dist/identity/index.d.ts +5 -2
  151. package/dist/identity/index.d.ts.map +1 -1
  152. package/dist/identity/index.js +6 -12
  153. package/dist/identity/index.js.map +1 -1
  154. package/dist/identity/research-state.d.ts +60 -0
  155. package/dist/identity/research-state.d.ts.map +1 -0
  156. package/dist/identity/research-state.js +68 -0
  157. package/dist/identity/research-state.js.map +1 -0
  158. package/dist/index.d.ts +24 -0
  159. package/dist/index.d.ts.map +1 -1
  160. package/dist/index.js +20 -3
  161. package/dist/index.js.map +1 -1
  162. package/dist/internal/c4/account-decoding.d.ts +49 -0
  163. package/dist/internal/c4/account-decoding.d.ts.map +1 -0
  164. package/dist/internal/c4/account-decoding.js +74 -0
  165. package/dist/internal/c4/account-decoding.js.map +1 -0
  166. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  167. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  168. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  169. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  170. package/dist/internal/c4/cargo-pod.d.ts +15 -0
  171. package/dist/internal/c4/cargo-pod.d.ts.map +1 -0
  172. package/dist/internal/c4/cargo-pod.js +13 -0
  173. package/dist/internal/c4/cargo-pod.js.map +1 -0
  174. package/dist/internal/c4/character-modifier.d.ts +1 -1
  175. package/dist/internal/c4/character-modifier.d.ts.map +1 -1
  176. package/dist/internal/c4/character-registration.d.ts +2 -0
  177. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  178. package/dist/internal/c4/character-registration.js +2 -0
  179. package/dist/internal/c4/character-registration.js.map +1 -1
  180. package/dist/internal/c4/character.d.ts +157 -0
  181. package/dist/internal/c4/character.d.ts.map +1 -0
  182. package/dist/internal/c4/character.js +64 -0
  183. package/dist/internal/c4/character.js.map +1 -0
  184. package/dist/internal/c4/claim-stake-building-definitions.d.ts.map +1 -1
  185. package/dist/internal/c4/claim-stake-building-definitions.js +2 -1
  186. package/dist/internal/c4/claim-stake-building-definitions.js.map +1 -1
  187. package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -1
  188. package/dist/internal/c4/claim-stake-configuration.js +5 -36
  189. package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
  190. package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
  191. package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
  192. package/dist/internal/c4/claim-stake-definitions.js +2 -1
  193. package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
  194. package/dist/internal/c4/claim-stake.d.ts +4 -27
  195. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  196. package/dist/internal/c4/claim-stake.js +38 -83
  197. package/dist/internal/c4/claim-stake.js.map +1 -1
  198. package/dist/internal/c4/combat.d.ts +1 -82
  199. package/dist/internal/c4/combat.d.ts.map +1 -1
  200. package/dist/internal/c4/combat.js +16 -213
  201. package/dist/internal/c4/combat.js.map +1 -1
  202. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  203. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  204. package/dist/internal/c4/crafting-process-codec.js +34 -0
  205. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  206. package/dist/internal/c4/crafting.d.ts +25 -33
  207. package/dist/internal/c4/crafting.d.ts.map +1 -1
  208. package/dist/internal/c4/crafting.js +76 -127
  209. package/dist/internal/c4/crafting.js.map +1 -1
  210. package/dist/internal/c4/currency-cache.d.ts +6 -0
  211. package/dist/internal/c4/currency-cache.d.ts.map +1 -0
  212. package/dist/internal/c4/currency-cache.js +27 -0
  213. package/dist/internal/c4/currency-cache.js.map +1 -0
  214. package/dist/internal/c4/discriminators.d.ts +81 -0
  215. package/dist/internal/c4/discriminators.d.ts.map +1 -0
  216. package/dist/internal/c4/discriminators.js +166 -0
  217. package/dist/internal/c4/discriminators.js.map +1 -0
  218. package/dist/internal/c4/docking-funding.d.ts +4 -0
  219. package/dist/internal/c4/docking-funding.d.ts.map +1 -0
  220. package/dist/internal/c4/docking-funding.js +11 -0
  221. package/dist/internal/c4/docking-funding.js.map +1 -0
  222. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  223. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  224. package/dist/internal/c4/faction-epoch-meter.js +26 -0
  225. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  226. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  227. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  228. package/dist/internal/c4/faction-treasury.js +41 -0
  229. package/dist/internal/c4/faction-treasury.js.map +1 -0
  230. package/dist/internal/c4/faction.d.ts +21 -0
  231. package/dist/internal/c4/faction.d.ts.map +1 -0
  232. package/dist/internal/c4/faction.js +23 -0
  233. package/dist/internal/c4/faction.js.map +1 -0
  234. package/dist/internal/c4/factions.d.ts +13 -57
  235. package/dist/internal/c4/factions.d.ts.map +1 -1
  236. package/dist/internal/c4/factions.js +79 -222
  237. package/dist/internal/c4/factions.js.map +1 -1
  238. package/dist/internal/c4/fleet-arrival.d.ts +28 -0
  239. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  240. package/dist/internal/c4/fleet-arrival.js +42 -0
  241. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  242. package/dist/internal/c4/fleet-creation.d.ts +7 -0
  243. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  244. package/dist/internal/c4/fleet-creation.js +171 -0
  245. package/dist/internal/c4/fleet-creation.js.map +1 -0
  246. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  247. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  248. package/dist/internal/c4/fleet-crew-binding.js +31 -44
  249. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  250. package/dist/internal/c4/fleet-respawn.d.ts +17 -0
  251. package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
  252. package/dist/internal/c4/fleet-respawn.js +62 -0
  253. package/dist/internal/c4/fleet-respawn.js.map +1 -0
  254. package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
  255. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  256. package/dist/internal/c4/fleet-ship-assembly.js +44 -0
  257. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  258. package/dist/internal/c4/fleet.d.ts +48 -19
  259. package/dist/internal/c4/fleet.d.ts.map +1 -1
  260. package/dist/internal/c4/fleet.js +50 -87
  261. package/dist/internal/c4/fleet.js.map +1 -1
  262. package/dist/internal/c4/game-definition-layout.d.ts +2 -0
  263. package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
  264. package/dist/internal/c4/game-definition-layout.js +4 -0
  265. package/dist/internal/c4/game-definition-layout.js.map +1 -1
  266. package/dist/internal/c4/game.d.ts +76 -30
  267. package/dist/internal/c4/game.d.ts.map +1 -1
  268. package/dist/internal/c4/game.js +173 -124
  269. package/dist/internal/c4/game.js.map +1 -1
  270. package/dist/internal/c4/identity.d.ts +3 -152
  271. package/dist/internal/c4/identity.d.ts.map +1 -1
  272. package/dist/internal/c4/identity.js +19 -126
  273. package/dist/internal/c4/identity.js.map +1 -1
  274. package/dist/internal/c4/local-market-order.d.ts +29 -0
  275. package/dist/internal/c4/local-market-order.d.ts.map +1 -0
  276. package/dist/internal/c4/local-market-order.js +46 -0
  277. package/dist/internal/c4/local-market-order.js.map +1 -0
  278. package/dist/internal/c4/loot-layout.js +1 -1
  279. package/dist/internal/c4/loot-layout.js.map +1 -1
  280. package/dist/internal/c4/loot.d.ts +87 -0
  281. package/dist/internal/c4/loot.d.ts.map +1 -0
  282. package/dist/internal/c4/loot.js +108 -0
  283. package/dist/internal/c4/loot.js.map +1 -0
  284. package/dist/internal/c4/loyalty.d.ts +0 -27
  285. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  286. package/dist/internal/c4/loyalty.js +32 -160
  287. package/dist/internal/c4/loyalty.js.map +1 -1
  288. package/dist/internal/c4/market.d.ts +2 -38
  289. package/dist/internal/c4/market.d.ts.map +1 -1
  290. package/dist/internal/c4/market.js +26 -120
  291. package/dist/internal/c4/market.js.map +1 -1
  292. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  293. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  294. package/dist/internal/c4/mining-instructions.js +3 -0
  295. package/dist/internal/c4/mining-instructions.js.map +1 -0
  296. package/dist/internal/c4/open-signal.d.ts +8 -0
  297. package/dist/internal/c4/open-signal.d.ts.map +1 -0
  298. package/dist/internal/c4/open-signal.js +37 -0
  299. package/dist/internal/c4/open-signal.js.map +1 -0
  300. package/dist/internal/c4/pda.d.ts +31 -0
  301. package/dist/internal/c4/pda.d.ts.map +1 -1
  302. package/dist/internal/c4/pda.js +60 -17
  303. package/dist/internal/c4/pda.js.map +1 -1
  304. package/dist/internal/c4/profile-faction.d.ts +2 -1
  305. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  306. package/dist/internal/c4/profile-faction.js +36 -72
  307. package/dist/internal/c4/profile-faction.js.map +1 -1
  308. package/dist/internal/c4/profile-permissions.d.ts +1 -1
  309. package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
  310. package/dist/internal/c4/profile-permissions.js +2 -1
  311. package/dist/internal/c4/profile-permissions.js.map +1 -1
  312. package/dist/internal/c4/region-geometry.d.ts +8 -0
  313. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  314. package/dist/internal/c4/region-geometry.js +43 -0
  315. package/dist/internal/c4/region-geometry.js.map +1 -0
  316. package/dist/internal/c4/rewards.d.ts +1 -61
  317. package/dist/internal/c4/rewards.d.ts.map +1 -1
  318. package/dist/internal/c4/rewards.js +23 -203
  319. package/dist/internal/c4/rewards.js.map +1 -1
  320. package/dist/internal/c4/runtime-bindings.d.ts +4 -0
  321. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  322. package/dist/internal/c4/runtime-bindings.js +4 -0
  323. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  324. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  325. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  326. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  327. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  328. package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
  329. package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
  330. package/dist/internal/c4/scan-lifecycle.js +235 -0
  331. package/dist/internal/c4/scan-lifecycle.js.map +1 -0
  332. package/dist/internal/c4/scanning.d.ts +1 -28
  333. package/dist/internal/c4/scanning.d.ts.map +1 -1
  334. package/dist/internal/c4/scanning.js +32 -103
  335. package/dist/internal/c4/scanning.js.map +1 -1
  336. package/dist/internal/c4/ship-import.d.ts +4 -0
  337. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  338. package/dist/internal/c4/ship-import.js +13 -0
  339. package/dist/internal/c4/ship-import.js.map +1 -0
  340. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  341. package/dist/internal/c4/ship-stats.js +45 -43
  342. package/dist/internal/c4/ship-stats.js.map +1 -1
  343. package/dist/internal/c4/starbase.d.ts +0 -32
  344. package/dist/internal/c4/starbase.d.ts.map +1 -1
  345. package/dist/internal/c4/starbase.js +26 -136
  346. package/dist/internal/c4/starbase.js.map +1 -1
  347. package/dist/internal/c4/wallet-cargo-cache.js +2 -1
  348. package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
  349. package/dist/internal/c4/world.d.ts +36 -7
  350. package/dist/internal/c4/world.d.ts.map +1 -1
  351. package/dist/internal/c4/world.js +87 -129
  352. package/dist/internal/c4/world.js.map +1 -1
  353. package/dist/internal/cargo.d.ts +2 -0
  354. package/dist/internal/cargo.d.ts.map +1 -1
  355. package/dist/internal/cargo.js +8 -0
  356. package/dist/internal/cargo.js.map +1 -1
  357. package/dist/internal/fleet.d.ts +1 -0
  358. package/dist/internal/fleet.d.ts.map +1 -1
  359. package/dist/internal/fleet.js +3 -1
  360. package/dist/internal/fleet.js.map +1 -1
  361. package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
  362. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  363. package/dist/internal/loyalty-atlas-bank-state.js +10 -0
  364. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  365. package/dist/internal/planning/account-state.d.ts +6 -0
  366. package/dist/internal/planning/account-state.d.ts.map +1 -1
  367. package/dist/internal/planning/account-state.js +13 -0
  368. package/dist/internal/planning/account-state.js.map +1 -1
  369. package/dist/internal/planning/action-runtime.d.ts +38 -0
  370. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  371. package/dist/internal/planning/action-runtime.js +63 -0
  372. package/dist/internal/planning/action-runtime.js.map +1 -0
  373. package/dist/internal/planning/arrival-guards.d.ts +19 -0
  374. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  375. package/dist/internal/planning/arrival-guards.js +172 -0
  376. package/dist/internal/planning/arrival-guards.js.map +1 -0
  377. package/dist/internal/planning/authorization-adapter.d.ts +45 -37
  378. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  379. package/dist/internal/planning/authorization-adapter.js +169 -81
  380. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  381. package/dist/internal/planning/character-registration-guard.d.ts +4 -0
  382. package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
  383. package/dist/internal/planning/character-registration-guard.js +59 -0
  384. package/dist/internal/planning/character-registration-guard.js.map +1 -0
  385. package/dist/internal/planning/character-registration.d.ts +23 -0
  386. package/dist/internal/planning/character-registration.d.ts.map +1 -0
  387. package/dist/internal/planning/character-registration.js +87 -0
  388. package/dist/internal/planning/character-registration.js.map +1 -0
  389. package/dist/internal/planning/currency-cache-guard.d.ts +4 -0
  390. package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
  391. package/dist/internal/planning/currency-cache-guard.js +33 -0
  392. package/dist/internal/planning/currency-cache-guard.js.map +1 -0
  393. package/dist/internal/planning/democracy-history.d.ts +50 -0
  394. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  395. package/dist/internal/planning/democracy-history.js +189 -0
  396. package/dist/internal/planning/democracy-history.js.map +1 -0
  397. package/dist/internal/planning/direct-options.d.ts +17 -0
  398. package/dist/internal/planning/direct-options.d.ts.map +1 -0
  399. package/dist/internal/planning/direct-options.js +43 -0
  400. package/dist/internal/planning/direct-options.js.map +1 -0
  401. package/dist/internal/planning/faction-enrollment.d.ts +0 -4
  402. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  403. package/dist/internal/planning/faction-enrollment.js +1 -31
  404. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  405. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  406. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  407. package/dist/internal/planning/faction-trade-guards.js +15 -0
  408. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  409. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  410. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  411. package/dist/internal/planning/faction-trade-state.js +43 -0
  412. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  413. package/dist/internal/planning/fleet-arrival.d.ts +40 -0
  414. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  415. package/dist/internal/planning/fleet-arrival.js +107 -0
  416. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  417. package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
  418. package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
  419. package/dist/internal/planning/fleet-attack-xp.js +104 -0
  420. package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
  421. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  422. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  423. package/dist/internal/planning/fleet-creation.js +89 -0
  424. package/dist/internal/planning/fleet-creation.js.map +1 -0
  425. package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
  426. package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
  427. package/dist/internal/planning/fleet-crew-guard.js +48 -0
  428. package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
  429. package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
  430. package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
  431. package/dist/internal/planning/fleet-crew-transfer.js +123 -0
  432. package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
  433. package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
  434. package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
  435. package/dist/internal/planning/fleet-dock-funding-guard.js +209 -0
  436. package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
  437. package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
  438. package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
  439. package/dist/internal/planning/fleet-dock-funding.js +154 -0
  440. package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
  441. package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
  442. package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
  443. package/dist/internal/planning/fleet-docking-guard.js +43 -0
  444. package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
  445. package/dist/internal/planning/fleet-docking.d.ts +10 -0
  446. package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
  447. package/dist/internal/planning/fleet-docking.js +71 -0
  448. package/dist/internal/planning/fleet-docking.js.map +1 -0
  449. package/dist/internal/planning/fleet-respawn.d.ts +28 -0
  450. package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
  451. package/dist/internal/planning/fleet-respawn.js +164 -0
  452. package/dist/internal/planning/fleet-respawn.js.map +1 -0
  453. package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
  454. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  455. package/dist/internal/planning/fleet-ship-assembly.js +118 -0
  456. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  457. package/dist/internal/planning/fleet-state.d.ts +25 -0
  458. package/dist/internal/planning/fleet-state.d.ts.map +1 -0
  459. package/dist/internal/planning/fleet-state.js +28 -0
  460. package/dist/internal/planning/fleet-state.js.map +1 -0
  461. package/dist/internal/planning/governance-fees.d.ts +64 -0
  462. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  463. package/dist/internal/planning/governance-fees.js +231 -0
  464. package/dist/internal/planning/governance-fees.js.map +1 -0
  465. package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
  466. package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
  467. package/dist/internal/planning/local-market-order-funding.js +128 -0
  468. package/dist/internal/planning/local-market-order-funding.js.map +1 -0
  469. package/dist/internal/planning/local-market-order.d.ts +40 -0
  470. package/dist/internal/planning/local-market-order.d.ts.map +1 -0
  471. package/dist/internal/planning/local-market-order.js +139 -0
  472. package/dist/internal/planning/local-market-order.js.map +1 -0
  473. package/dist/internal/planning/mining-stop.d.ts +14 -0
  474. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  475. package/dist/internal/planning/mining-stop.js +42 -0
  476. package/dist/internal/planning/mining-stop.js.map +1 -0
  477. package/dist/internal/planning/movement-character.d.ts +7 -0
  478. package/dist/internal/planning/movement-character.d.ts.map +1 -0
  479. package/dist/internal/planning/movement-character.js +41 -0
  480. package/dist/internal/planning/movement-character.js.map +1 -0
  481. package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
  482. package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
  483. package/dist/internal/planning/movement-xp-guard.js +104 -0
  484. package/dist/internal/planning/movement-xp-guard.js.map +1 -0
  485. package/dist/internal/planning/open-signal-guard.d.ts +3 -0
  486. package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
  487. package/dist/internal/planning/open-signal-guard.js +32 -0
  488. package/dist/internal/planning/open-signal-guard.js.map +1 -0
  489. package/dist/internal/planning/open-signal.d.ts +31 -0
  490. package/dist/internal/planning/open-signal.d.ts.map +1 -0
  491. package/dist/internal/planning/open-signal.js +85 -0
  492. package/dist/internal/planning/open-signal.js.map +1 -0
  493. package/dist/internal/planning/original-token.d.ts +40 -0
  494. package/dist/internal/planning/original-token.d.ts.map +1 -0
  495. package/dist/internal/planning/original-token.js +112 -0
  496. package/dist/internal/planning/original-token.js.map +1 -0
  497. package/dist/internal/planning/own-starbase-facts.d.ts +33 -0
  498. package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -0
  499. package/dist/internal/planning/own-starbase-facts.js +49 -0
  500. package/dist/internal/planning/own-starbase-facts.js.map +1 -0
  501. package/dist/internal/planning/plan-fields.d.ts +60 -0
  502. package/dist/internal/planning/plan-fields.d.ts.map +1 -0
  503. package/dist/internal/planning/plan-fields.js +159 -0
  504. package/dist/internal/planning/plan-fields.js.map +1 -0
  505. package/dist/internal/planning/plan-guards.d.ts +4 -0
  506. package/dist/internal/planning/plan-guards.d.ts.map +1 -0
  507. package/dist/internal/planning/plan-guards.js +168 -0
  508. package/dist/internal/planning/plan-guards.js.map +1 -0
  509. package/dist/internal/planning/profile-key.d.ts +13 -0
  510. package/dist/internal/planning/profile-key.d.ts.map +1 -0
  511. package/dist/internal/planning/profile-key.js +20 -0
  512. package/dist/internal/planning/profile-key.js.map +1 -0
  513. package/dist/internal/planning/recipe-state.d.ts +6 -0
  514. package/dist/internal/planning/recipe-state.d.ts.map +1 -0
  515. package/dist/internal/planning/recipe-state.js +20 -0
  516. package/dist/internal/planning/recipe-state.js.map +1 -0
  517. package/dist/internal/planning/rent.d.ts +19 -0
  518. package/dist/internal/planning/rent.d.ts.map +1 -0
  519. package/dist/internal/planning/rent.js +35 -0
  520. package/dist/internal/planning/rent.js.map +1 -0
  521. package/dist/internal/planning/respawn-guards.d.ts +3 -0
  522. package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
  523. package/dist/internal/planning/respawn-guards.js +42 -0
  524. package/dist/internal/planning/respawn-guards.js.map +1 -0
  525. package/dist/internal/planning/runtime-guards.d.ts +41 -0
  526. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  527. package/dist/internal/planning/runtime-guards.js +640 -0
  528. package/dist/internal/planning/runtime-guards.js.map +1 -0
  529. package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
  530. package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
  531. package/dist/internal/planning/scan-completion-guard.js +95 -0
  532. package/dist/internal/planning/scan-completion-guard.js.map +1 -0
  533. package/dist/internal/planning/scan-completion.d.ts +20 -0
  534. package/dist/internal/planning/scan-completion.d.ts.map +1 -0
  535. package/dist/internal/planning/scan-completion.js +197 -0
  536. package/dist/internal/planning/scan-completion.js.map +1 -0
  537. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  538. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  539. package/dist/internal/planning/scan-detect-guard.js +77 -0
  540. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  541. package/dist/internal/planning/scan-detect.d.ts +24 -0
  542. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  543. package/dist/internal/planning/scan-detect.js +245 -0
  544. package/dist/internal/planning/scan-detect.js.map +1 -0
  545. package/dist/internal/planning/scan-input.d.ts +9 -0
  546. package/dist/internal/planning/scan-input.d.ts.map +1 -0
  547. package/dist/internal/planning/scan-input.js +58 -0
  548. package/dist/internal/planning/scan-input.js.map +1 -0
  549. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  550. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  551. package/dist/internal/planning/ship-import-funding.js +53 -0
  552. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  553. package/dist/internal/planning/ship-token.d.ts +1 -6
  554. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  555. package/dist/internal/planning/ship-token.js +2 -41
  556. package/dist/internal/planning/ship-token.js.map +1 -1
  557. package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
  558. package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
  559. package/dist/internal/planning/starbase-player-owner.js +17 -0
  560. package/dist/internal/planning/starbase-player-owner.js.map +1 -0
  561. package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
  562. package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
  563. package/dist/internal/planning/starbase-system-guard.js +94 -0
  564. package/dist/internal/planning/starbase-system-guard.js.map +1 -0
  565. package/dist/internal/planning/starbase-system.d.ts +15 -0
  566. package/dist/internal/planning/starbase-system.d.ts.map +1 -0
  567. package/dist/internal/planning/starbase-system.js +25 -0
  568. package/dist/internal/planning/starbase-system.js.map +1 -0
  569. package/dist/internal/planning/token-mint.d.ts +4 -0
  570. package/dist/internal/planning/token-mint.d.ts.map +1 -0
  571. package/dist/internal/planning/token-mint.js +16 -0
  572. package/dist/internal/planning/token-mint.js.map +1 -0
  573. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  574. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  575. package/dist/internal/planning/trade-faction-market.js +56 -0
  576. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  577. package/dist/internal/planning/wallet-starbase.d.ts +34 -0
  578. package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
  579. package/dist/internal/planning/wallet-starbase.js +39 -0
  580. package/dist/internal/planning/wallet-starbase.js.map +1 -0
  581. package/dist/internal/planning/xp-runtime.d.ts +36 -0
  582. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  583. package/dist/internal/planning/xp-runtime.js +117 -0
  584. package/dist/internal/planning/xp-runtime.js.map +1 -0
  585. package/dist/internal/read-meta.d.ts +12 -0
  586. package/dist/internal/read-meta.d.ts.map +1 -1
  587. package/dist/internal/read-meta.js +10 -0
  588. package/dist/internal/read-meta.js.map +1 -1
  589. package/dist/internal/system-program.d.ts +4 -0
  590. package/dist/internal/system-program.d.ts.map +1 -0
  591. package/dist/internal/system-program.js +3 -0
  592. package/dist/internal/system-program.js.map +1 -0
  593. package/dist/loyalty/actions/index.d.ts +1 -1
  594. package/dist/loyalty/actions/index.d.ts.map +1 -1
  595. package/dist/loyalty/actions/index.js +15 -45
  596. package/dist/loyalty/actions/index.js.map +1 -1
  597. package/dist/loyalty/index.d.ts.map +1 -1
  598. package/dist/loyalty/index.js +6 -18
  599. package/dist/loyalty/index.js.map +1 -1
  600. package/dist/markets/actions/index.d.ts +62 -4
  601. package/dist/markets/actions/index.d.ts.map +1 -1
  602. package/dist/markets/actions/index.js +230 -178
  603. package/dist/markets/actions/index.js.map +1 -1
  604. package/dist/markets/actions/trade-faction-market.d.ts +43 -0
  605. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  606. package/dist/markets/actions/trade-faction-market.js +277 -0
  607. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  608. package/dist/markets/index.d.ts +38 -7
  609. package/dist/markets/index.d.ts.map +1 -1
  610. package/dist/markets/index.js +59 -20
  611. package/dist/markets/index.js.map +1 -1
  612. package/dist/mining/actions/index.d.ts +87 -0
  613. package/dist/mining/actions/index.d.ts.map +1 -0
  614. package/dist/mining/actions/index.js +319 -0
  615. package/dist/mining/actions/index.js.map +1 -0
  616. package/dist/mining/estimate.d.ts +114 -0
  617. package/dist/mining/estimate.d.ts.map +1 -0
  618. package/dist/mining/estimate.js +127 -0
  619. package/dist/mining/estimate.js.map +1 -0
  620. package/dist/mining/index.d.ts +9 -2
  621. package/dist/mining/index.d.ts.map +1 -1
  622. package/dist/mining/index.js +10 -13
  623. package/dist/mining/index.js.map +1 -1
  624. package/dist/mining/profile.d.ts +82 -0
  625. package/dist/mining/profile.d.ts.map +1 -0
  626. package/dist/mining/profile.js +109 -0
  627. package/dist/mining/profile.js.map +1 -0
  628. package/dist/planning/assembly.d.ts +6 -1
  629. package/dist/planning/assembly.d.ts.map +1 -1
  630. package/dist/planning/assembly.js +12 -8
  631. package/dist/planning/assembly.js.map +1 -1
  632. package/dist/planning/execution.d.ts +19 -3
  633. package/dist/planning/execution.d.ts.map +1 -1
  634. package/dist/planning/execution.js +504 -72
  635. package/dist/planning/execution.js.map +1 -1
  636. package/dist/planning/index.d.ts +196 -149
  637. package/dist/planning/index.d.ts.map +1 -1
  638. package/dist/planning/index.js +31 -355
  639. package/dist/planning/index.js.map +1 -1
  640. package/dist/planning/plan-construction.d.ts +25 -0
  641. package/dist/planning/plan-construction.d.ts.map +1 -0
  642. package/dist/planning/plan-construction.js +143 -0
  643. package/dist/planning/plan-construction.js.map +1 -0
  644. package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
  645. package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
  646. package/dist/planning/plan-sequence-checkpoint.js +16 -7
  647. package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
  648. package/dist/planning/plan-sequence-execution.d.ts +5 -0
  649. package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
  650. package/dist/planning/plan-sequence-execution.js +74 -40
  651. package/dist/planning/plan-sequence-execution.js.map +1 -1
  652. package/dist/planning/plan-sequence.d.ts +2 -1
  653. package/dist/planning/plan-sequence.d.ts.map +1 -1
  654. package/dist/planning/plan-sequence.js +8 -1
  655. package/dist/planning/plan-sequence.js.map +1 -1
  656. package/dist/planning/plan-validation.d.ts +17 -0
  657. package/dist/planning/plan-validation.d.ts.map +1 -0
  658. package/dist/planning/plan-validation.js +127 -0
  659. package/dist/planning/plan-validation.js.map +1 -0
  660. package/dist/planning/simulation.d.ts +25 -1
  661. package/dist/planning/simulation.d.ts.map +1 -1
  662. package/dist/planning/simulation.js +111 -11
  663. package/dist/planning/simulation.js.map +1 -1
  664. package/dist/registry/cargo.d.ts +7 -12
  665. package/dist/registry/cargo.d.ts.map +1 -1
  666. package/dist/registry/cargo.js +20 -20
  667. package/dist/registry/cargo.js.map +1 -1
  668. package/dist/registry/docking.d.ts +10 -0
  669. package/dist/registry/docking.d.ts.map +1 -0
  670. package/dist/registry/docking.js +12 -0
  671. package/dist/registry/docking.js.map +1 -0
  672. package/dist/registry/index.d.ts +4 -0
  673. package/dist/registry/index.d.ts.map +1 -1
  674. package/dist/registry/index.js +190 -224
  675. package/dist/registry/index.js.map +1 -1
  676. package/dist/registry/onboarding.d.ts +10 -2
  677. package/dist/registry/onboarding.d.ts.map +1 -1
  678. package/dist/registry/onboarding.js +20 -7
  679. package/dist/registry/onboarding.js.map +1 -1
  680. package/dist/registry/scanning.d.ts +7 -0
  681. package/dist/registry/scanning.d.ts.map +1 -0
  682. package/dist/registry/scanning.js +13 -0
  683. package/dist/registry/scanning.js.map +1 -0
  684. package/dist/registry/ship-stats-snapshot.js +19 -19
  685. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  686. package/dist/registry/ships.d.ts +22 -2
  687. package/dist/registry/ships.d.ts.map +1 -1
  688. package/dist/registry/ships.js +31 -4
  689. package/dist/registry/ships.js.map +1 -1
  690. package/dist/registry/xp-runtime.d.ts +4 -0
  691. package/dist/registry/xp-runtime.d.ts.map +1 -0
  692. package/dist/registry/xp-runtime.js +14 -0
  693. package/dist/registry/xp-runtime.js.map +1 -0
  694. package/dist/rewards/index.d.ts +11 -5
  695. package/dist/rewards/index.d.ts.map +1 -1
  696. package/dist/rewards/index.js +10 -21
  697. package/dist/rewards/index.js.map +1 -1
  698. package/dist/scanning/actions/index.d.ts +116 -0
  699. package/dist/scanning/actions/index.d.ts.map +1 -0
  700. package/dist/scanning/actions/index.js +191 -0
  701. package/dist/scanning/actions/index.js.map +1 -0
  702. package/dist/scanning/index.d.ts +5 -2
  703. package/dist/scanning/index.d.ts.map +1 -1
  704. package/dist/scanning/index.js +17 -21
  705. package/dist/scanning/index.js.map +1 -1
  706. package/dist/scanning/lifecycle.d.ts +77 -0
  707. package/dist/scanning/lifecycle.d.ts.map +1 -0
  708. package/dist/scanning/lifecycle.js +93 -0
  709. package/dist/scanning/lifecycle.js.map +1 -0
  710. package/dist/scanning/odds.d.ts +111 -0
  711. package/dist/scanning/odds.d.ts.map +1 -0
  712. package/dist/scanning/odds.js +294 -0
  713. package/dist/scanning/odds.js.map +1 -0
  714. package/dist/scanning/signals.d.ts +121 -0
  715. package/dist/scanning/signals.d.ts.map +1 -0
  716. package/dist/scanning/signals.js +171 -0
  717. package/dist/scanning/signals.js.map +1 -0
  718. package/dist/starbases/actions/index.d.ts +1 -1
  719. package/dist/starbases/actions/index.d.ts.map +1 -1
  720. package/dist/starbases/actions/index.js +16 -58
  721. package/dist/starbases/actions/index.js.map +1 -1
  722. package/dist/starbases/index.d.ts.map +1 -1
  723. package/dist/starbases/index.js +3 -11
  724. package/dist/starbases/index.js.map +1 -1
  725. package/dist/world/index.d.ts +110 -5
  726. package/dist/world/index.d.ts.map +1 -1
  727. package/dist/world/index.js +112 -15
  728. package/dist/world/index.js.map +1 -1
  729. package/dist/world/planet-claim-stake-plots.d.ts +130 -0
  730. package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
  731. package/dist/world/planet-claim-stake-plots.js +110 -0
  732. package/dist/world/planet-claim-stake-plots.js.map +1 -0
  733. package/dist/world/starbase-status.d.ts +176 -0
  734. package/dist/world/starbase-status.d.ts.map +1 -0
  735. package/dist/world/starbase-status.js +153 -0
  736. package/dist/world/starbase-status.js.map +1 -0
  737. package/package.json +10 -2
@@ -0,0 +1,59 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { createRegisterCharacterInstruction } from '../c4/character-registration.js';
3
+ import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
4
+ import { REGISTER_CHARACTER_DISCRIMINATOR } from '../c4/discriminators.js';
5
+ function sameInstruction(actual, expected) {
6
+ return (actual.programAddress === expected.programAddress &&
7
+ actual.data?.length === expected.data?.length &&
8
+ expected.data?.every((byte, index) => actual.data?.[index] === byte) ===
9
+ true &&
10
+ actual.accounts?.length === expected.accounts?.length &&
11
+ expected.accounts?.every((account, index) => actual.accounts?.[index]?.address === account.address &&
12
+ actual.accounts[index]?.role === account.role) === true);
13
+ }
14
+ /** Bind every current register-character instruction to its finite persisted guard. */
15
+ export function validateCharacterRegistrationInstructions(steps, preconditions) {
16
+ const guards = preconditions.filter((guard) => guard.kind === 'character-registration');
17
+ const characterTargets = new Set();
18
+ const xpBudgetTargets = new Set();
19
+ for (const guard of guards) {
20
+ if (characterTargets.has(guard.address) ||
21
+ xpBudgetTargets.has(guard.xpBudget))
22
+ throw new SageSdkError('INCOMPATIBLE_PLAN_COMPOSITION', 'A combined Plan cannot register the same Character or Career XP budget more than once. Keep exactly one creation instruction for each target.');
23
+ characterTargets.add(guard.address);
24
+ xpBudgetTargets.add(guard.xpBudget);
25
+ }
26
+ const registrations = steps.filter(({ instruction }) => instruction.programAddress === SAGE_PROGRAM_ADDRESS &&
27
+ REGISTER_CHARACTER_DISCRIMINATOR.every((byte, index) => instruction.data?.[index] === byte));
28
+ if (registrations.length !== guards.length)
29
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Every Character registration instruction requires exactly one matching finite current-runtime registration guard. Recreate the Plan with planRegisterCharacter.');
30
+ // Unqualified instructions may change transaction-wide writable funders or targets.
31
+ // Only other validated registrations may share these accounts in this slice.
32
+ for (const guard of guards)
33
+ for (const step of steps) {
34
+ if (registrations.includes(step))
35
+ continue;
36
+ if (step.instruction.accounts?.some((account) => [guard.funder, guard.address, guard.xpBudget].includes(account.address)))
37
+ throw new SageSdkError('INCOMPATIBLE_PLAN_COMPOSITION', 'A Character registration cannot share funding or creation targets with an unqualified instruction. Execute and confirm that instruction separately, then recreate registration.');
38
+ }
39
+ const remaining = [...guards];
40
+ for (const step of registrations) {
41
+ const matchIndex = remaining.findIndex((guard) => {
42
+ const expected = createRegisterCharacterInstruction({
43
+ profile: guard.profile,
44
+ funder: guard.funder,
45
+ character: guard.address,
46
+ game: guard.game,
47
+ xpBudget: guard.xpBudget,
48
+ xpBudgetConfig: guard.xpBudgetConfig,
49
+ });
50
+ return (step.signers.length === 1 &&
51
+ step.signers[0] === guard.funder &&
52
+ sameInstruction(step.instruction, expected));
53
+ });
54
+ if (matchIndex < 0)
55
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'A Character registration instruction does not match its persisted Profile, Game, funder, Character, or Career XP accounts and roles. Recreate the Plan with planRegisterCharacter.');
56
+ remaining.splice(matchIndex, 1);
57
+ }
58
+ }
59
+ //# sourceMappingURL=character-registration-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-registration-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/character-registration-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { Address, Commitment } from '@solana/kit';
2
+ import type { RawAccount, SageContext } from '../../client/contracts.js';
3
+ import type { PlanPrecondition } from '../../planning/index.js';
4
+ import { type CharacterInitialization } from '../../registry/onboarding.js';
5
+ export interface CharacterRegistrationFunding {
6
+ readonly funder: Address;
7
+ readonly requiredLamports: bigint;
8
+ readonly observedLamports: bigint;
9
+ readonly netDebit: bigint;
10
+ readonly minimumBalance: bigint;
11
+ }
12
+ /** Revalidate one finite current-runtime Character creation intent before signing. */
13
+ export declare function revalidateCharacterRegistration(ctx: SageContext, guard: Extract<PlanPrecondition, {
14
+ readonly kind: 'character-registration';
15
+ }>, commitment: Commitment, freshGameVersions?: Map<Address, number>, initializations?: Map<Address, CharacterInitialization>): Promise<CharacterRegistrationFunding>;
16
+ export declare function isEmptySystemAccount(account: RawAccount): boolean;
17
+ /** #621: budget funding precedes any excess Character refund. */
18
+ export declare function calculateRegistrationFunding(minimum: (size: number) => bigint, characterSize: number, characterBalance: bigint, budgetBalance: bigint): {
19
+ requiredLamports: bigint;
20
+ netDebit: bigint;
21
+ refund: bigint;
22
+ };
23
+ //# sourceMappingURL=character-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-registration.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/character-registration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAMhE,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAC;AAOtC,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,sFAAsF;AACtF,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAA;CAAE,CAAC,EAC7E,UAAU,EAAE,UAAU,EACtB,iBAAiB,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EACxC,eAAe,wCAA8C,GAC5D,OAAO,CAAC,4BAA4B,CAAC,CAoHvC;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAMjE;AACD,iEAAiE;AACjE,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACjC,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM;;;;EAUtB"}
@@ -0,0 +1,87 @@
1
+ import { requireGameAddress } from '../game-context.js';
2
+ import { SageSdkError } from '../../client/errors.js';
3
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
4
+ import { profileAccountDefinition } from '../c4/identity.js';
5
+ import { findCharacterPda } from '../c4/character.js';
6
+ import { getCareerXpBudgetDecoder } from '../c4/runtime-bindings.js';
7
+ import { hashAccountState } from './account-state.js';
8
+ import { RENT_ADDRESS, readRent } from './rent.js';
9
+ import { readCharacterInitialization, } from '../../registry/onboarding.js';
10
+ import { resolveCharacterRegistrationXpRuntime } from './xp-runtime.js';
11
+ function fail(address, message) {
12
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
13
+ }
14
+ /** Revalidate one finite current-runtime Character creation intent before signing. */
15
+ export async function revalidateCharacterRegistration(ctx, guard, commitment, freshGameVersions, initializations = new Map()) {
16
+ if (guard.game !== requireGameAddress(ctx))
17
+ fail(guard.game, 'Registration Game differs from the configured deployment. Recreate the Plan in the intended Game context.');
18
+ const character = await findCharacterPda(guard.profile, guard.game);
19
+ if (character !== guard.address)
20
+ fail(guard.address, 'The Character address no longer matches the canonical Profile and Game derivation. Recreate the registration Plan.');
21
+ const [profileRaw, characterRaw, rentRaw, funderRaw] = await readContextRawAccounts(ctx, [guard.profile, character, RENT_ADDRESS, guard.funder], { commitment });
22
+ if (!profileRaw)
23
+ fail(guard.profile, 'The Player Profile is missing. Create or select it before registering its Character.');
24
+ if (profileRaw.executable)
25
+ fail(guard.profile, 'The Profile is executable. Select a valid Profile and recreate the Plan.');
26
+ profileAccountDefinition.decode(profileRaw);
27
+ if ((await hashAccountState(profileRaw.owner, profileRaw.data)) !==
28
+ guard.profileDataHash)
29
+ fail(guard.profile, 'The Player Profile state changed after planning. Refresh it and recreate the Character registration Plan.');
30
+ if (characterRaw && !isEmptySystemAccount(characterRaw))
31
+ fail(character, 'The canonical Character now exists. Read and reuse it instead of signing this creation Plan.');
32
+ let initialization = initializations.get(guard.game);
33
+ if (!initialization) {
34
+ initialization = await readCharacterInitialization(ctx, { commitment });
35
+ initializations.set(guard.game, initialization);
36
+ }
37
+ if (initialization.characterSize !== guard.characterSize ||
38
+ initialization.initializationHash !== guard.initializationHash)
39
+ fail(guard.game, 'Character initialization shape changed. Refresh the Game and recreate the registration Plan.');
40
+ freshGameVersions?.set(guard.game, 2);
41
+ const xp = await resolveCharacterRegistrationXpRuntime(ctx, {
42
+ game: guard.game,
43
+ character,
44
+ }, { commitment });
45
+ if (xp.xpBudget !== guard.xpBudget ||
46
+ xp.xpBudgetConfig !== guard.xpBudgetConfig)
47
+ fail(guard.address, 'The Career XP accounts no longer match this exact Character registration intent. Recreate the registration Plan.');
48
+ if (!rentRaw)
49
+ fail(RENT_ADDRESS, 'The Rent sysvar is missing. Refresh the configured deployment before registering a Character.');
50
+ if (!funderRaw ||
51
+ funderRaw.executable ||
52
+ funderRaw.owner !== '11111111111111111111111111111111' ||
53
+ funderRaw.data.length !== 0)
54
+ fail(guard.funder, 'The Character funder must remain an existing non-executable System wallet. Select and fund that signer separately, then recreate the Plan.');
55
+ if ((characterRaw?.lamports ?? 0n) !== guard.characterLamports ||
56
+ xp.budgetLamports !== guard.budgetLamports)
57
+ fail(guard.address, 'Creation target pre-funding changed, including the approved Character refund. Refresh the targets and recreate the registration Plan.');
58
+ const minimum = readRent(rentRaw);
59
+ const storage = calculateRegistrationFunding(minimum, guard.characterSize, characterRaw?.lamports ?? 0n, xp.budgetLamports);
60
+ const funding = storage.requiredLamports;
61
+ if (funding > guard.maximumFunderDebit)
62
+ fail(guard.funder, 'Character and Career XP storage now require more native funding than this Plan approved. Recreate and review the Plan before signing.');
63
+ return {
64
+ funder: guard.funder,
65
+ requiredLamports: funding,
66
+ observedLamports: funderRaw.lamports,
67
+ netDebit: storage.netDebit,
68
+ minimumBalance: minimum(0),
69
+ };
70
+ }
71
+ export function isEmptySystemAccount(account) {
72
+ return (!account.executable &&
73
+ account.owner === '11111111111111111111111111111111' &&
74
+ account.data.length === 0);
75
+ }
76
+ /** #621: budget funding precedes any excess Character refund. */
77
+ export function calculateRegistrationFunding(minimum, characterSize, characterBalance, budgetBalance) {
78
+ const character = minimum(characterSize) - characterBalance;
79
+ const budget = minimum(getCareerXpBudgetDecoder().fixedSize) - budgetBalance;
80
+ const budgetDebit = budget > 0n ? budget : 0n;
81
+ return {
82
+ requiredLamports: (character > 0n ? character : 0n) + budgetDebit,
83
+ netDebit: character + budgetDebit,
84
+ refund: character < 0n ? -character : 0n,
85
+ };
86
+ }
87
+ //# sourceMappingURL=character-registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-registration.js","sourceRoot":"","sources":["../../../src/internal/planning/character-registration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
2
+ /** Bind the cache guard to generated instruction metas, independently of Plan kind. */
3
+ export declare function validateCurrencyInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
4
+ //# sourceMappingURL=currency-cache-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency-cache-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAS1E,uFAAuF;AACvF,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAkCN"}
@@ -0,0 +1,33 @@
1
+ import { AccountRole } from '@solana/kit';
2
+ import { SageSdkError } from '../../client/errors.js';
3
+ import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
4
+ import { CANCEL_CLAIM_STAKE_BUILDING_DESIGN_DISCRIMINATOR, FINALIZE_BUILDING_CHANGES_DISCRIMINATOR, START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, } from '../c4/discriminators.js';
5
+ /** Bind the cache guard to generated instruction metas, independently of Plan kind. */
6
+ export function validateCurrencyInstructions(steps, guards) {
7
+ // Discriminator, Game index, cache index. Full layout validation stays in
8
+ // the existing runtime validators. Keep generated
9
+ // decoders out of the network-free Plan factory's dependency graph.
10
+ const layouts = [
11
+ [WARP_LANE_DISCRIMINATOR, 6, 9],
12
+ [CANCEL_CLAIM_STAKE_BUILDING_DESIGN_DISCRIMINATOR, 0, 9],
13
+ [FINALIZE_BUILDING_CHANGES_DISCRIMINATOR, 0, 10],
14
+ [START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, 10, 9],
15
+ ];
16
+ for (const [index, { instruction }] of steps.entries()) {
17
+ if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS)
18
+ continue;
19
+ const layout = layouts.find(([discriminator]) => discriminator.every((byte, index) => instruction.data?.[index] === byte));
20
+ if (!layout)
21
+ continue;
22
+ const [, gameIndex, cacheIndex] = layout;
23
+ const cache = instruction.accounts?.[cacheIndex];
24
+ const game = instruction.accounts?.[gameIndex];
25
+ if (cache?.role !== AccountRole.WRITABLE ||
26
+ game?.role !== AccountRole.READONLY ||
27
+ !guards.some((g) => g.address === cache.address &&
28
+ ((g.kind === 'currency-cache' && g.game === game.address) ||
29
+ g.kind === 'account-state')))
30
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Step ${index}: CurrencyCache ${cache?.address} needs a matching guard and roles. Recreate via its planner.`);
31
+ }
32
+ }
33
+ //# sourceMappingURL=currency-cache-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency-cache-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,gDAAgD,EAChD,uCAAuC,EACvC,+CAA+C,EAC/C,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,uFAAuF;AACvF,MAAM,UAAU,4BAA4B,CAC1C,KAA0B,EAC1B,MAAmC;IAEnC,0EAA0E;IAC1E,kDAAkD;IAClD,oEAAoE;IACpE,MAAM,OAAO,GAAG;QACd,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,gDAAgD,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC,uCAAuC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,CAAC,+CAA+C,EAAE,EAAE,EAAE,CAAC,CAAC;KAChD,CAAC;IACX,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,WAAW,CAAC,cAAc,KAAK,oBAAoB;YAAE,SAAS;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAC9C,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CACzE,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,IACE,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC,QAAQ;YACpC,IAAI,EAAE,IAAI,KAAK,WAAW,CAAC,QAAQ;YACnC,CAAC,MAAM,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAC3B,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC;oBACvD,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAChC;YAED,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,QAAQ,KAAK,mBAAmB,KAAK,EAAE,OAAO,8DAA8D,CAC7G,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { Address, SageContext } from '../../client/contracts.js';
2
+ export interface HistoryFeeParams {
3
+ readonly craftingFeeBps: number;
4
+ readonly localMarketFeeBps: number;
5
+ readonly localTreasuryShareBps: number;
6
+ readonly treasuryDistributionBps: number;
7
+ }
8
+ interface HistoryScope {
9
+ readonly game: Address;
10
+ readonly system: Address;
11
+ readonly address: Address;
12
+ }
13
+ export type HistoryIntent = HistoryScope & ({
14
+ readonly state: 'absent';
15
+ } | {
16
+ readonly state: 'initialized';
17
+ readonly openDay: bigint;
18
+ readonly enabled: 0 | 1;
19
+ readonly controller: number;
20
+ readonly generation?: Address;
21
+ readonly generationNumber: bigint;
22
+ readonly governance: Address;
23
+ readonly starbaseSeqId: bigint;
24
+ readonly policy: Address;
25
+ readonly policyFlags: {
26
+ readonly noControllerRevenue: number;
27
+ readonly zeroPowerRevenue: number;
28
+ readonly successorBaseline: number;
29
+ readonly captureIncomingEligibility: number;
30
+ };
31
+ readonly effectiveParams: HistoryFeeParams;
32
+ });
33
+ export interface ResolvedDemocracyHistory {
34
+ readonly intent: HistoryIntent;
35
+ readonly accounts: {
36
+ readonly democracyHistoryHistory: Address;
37
+ readonly democracyHistoryPolicy?: Address;
38
+ readonly democracyHistoryGeneration?: Address;
39
+ };
40
+ readonly slot: bigint;
41
+ }
42
+ /** Resolve a fresh, canonical history context without initializing or repairing it. */
43
+ export declare function resolveDemocracyHistory(ctx: SageContext, scope: {
44
+ readonly game: Address;
45
+ readonly system: Address;
46
+ }): Promise<ResolvedDemocracyHistory>;
47
+ /** Compare only eligibility and consumed fee policy, never shared financial counters. */
48
+ export declare function matchDemocracyHistoryIntent(expected: HistoryIntent, actual: HistoryIntent): boolean;
49
+ export {};
50
+ //# sourceMappingURL=democracy-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"democracy-history.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/democracy-history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,OAAO,EAEP,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAsBnC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CAC1C;AACD,UAAU,YAAY;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AACD,MAAM,MAAM,aAAa,GAAG,YAAY,GACtC,CACI;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC5B;IACE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;KAC7C,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;CAC5C,CACJ,CAAC;AACJ,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;QAC1C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QAC1C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;KAC/C,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAmED,uFAAuF;AACvF,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC1D,OAAO,CAAC,wBAAwB,CAAC,CAqLnC;AACD,yFAAyF;AACzF,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,aAAa,GACpB,OAAO,CA2BT"}
@@ -0,0 +1,189 @@
1
+ import { SYSTEM_PROGRAM } from '../system-program.js';
2
+ import { SageSdkError } from '../../client/errors.js';
3
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
4
+ import { SAGE_PROGRAM_ADDRESS, getDemocracyGenerationHistoryDecoder, getDemocracyHistoryPolicyDecoder, getDemocracySystemHistoryDecoder, } from '../c4/runtime-bindings.js';
5
+ import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
6
+ import { DEMOCRACY_GENERATION_HISTORY_DISCRIMINATOR, DEMOCRACY_HISTORY_POLICY_DISCRIMINATOR, DEMOCRACY_SYSTEM_HISTORY_DISCRIMINATOR, } from '../c4/discriminators.js';
7
+ import { deriveDemocracyGenerationHistoryAddress, deriveDemocracyHistoryPolicyAddress, deriveDemocracySystemHistoryAddress, } from '../c4/pda.js';
8
+ const DOMAIN = new TextEncoder().encode('DEMHST01');
9
+ function requireHistory(condition, reason) {
10
+ if (!condition)
11
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `${reason} Refresh the Starbase's Democracy history before recreating this action; ask its operator to initialize or close pending daily checkpoints when needed.`);
12
+ }
13
+ function decode(raw, address, bump, discriminator, decoder) {
14
+ requireHistory(raw &&
15
+ raw.address === address &&
16
+ raw.owner === SAGE_PROGRAM_ADDRESS &&
17
+ !raw.executable, 'A required Democracy account is missing or has an unexpected owner or address.');
18
+ requireHistory(discriminator.every((byte, index) => raw.data[index] === byte), 'A Democracy account has the wrong discriminator.');
19
+ let value;
20
+ let consumed;
21
+ try {
22
+ [value, consumed] = decoder.read(raw.data, 0);
23
+ }
24
+ catch {
25
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'A Democracy account cannot be decoded. Refresh the deployment and recreate this action with supported account data.');
26
+ }
27
+ requireHistory(consumed === raw.data.length, 'A Democracy account has an unexpected data length.');
28
+ requireHistory(value.version === 1 &&
29
+ value.bump === bump &&
30
+ value.domain.length === 8 &&
31
+ value.domain.every((byte, index) => byte === DOMAIN[index]) &&
32
+ value.reserved.every((byte) => byte === 0), 'A Democracy account has an unsupported version, domain, bump or reserved field.');
33
+ return value;
34
+ }
35
+ function equalBytes(a, b) {
36
+ return a.length === b.length && a.every((byte, index) => byte === b[index]);
37
+ }
38
+ function params(value) {
39
+ return {
40
+ craftingFeeBps: value.craftingFeeBps,
41
+ localMarketFeeBps: value.localMarketFeeBps,
42
+ localTreasuryShareBps: value.localTreasuryShareBps,
43
+ treasuryDistributionBps: value.treasuryDistributionBps,
44
+ };
45
+ }
46
+ /** Resolve a fresh, canonical history context without initializing or repairing it. */
47
+ export async function resolveDemocracyHistory(ctx, scope) {
48
+ const [historyAddress, historyBump] = await deriveDemocracySystemHistoryAddress(scope.system);
49
+ const [policyAddress, policyBump] = await deriveDemocracyHistoryPolicyAddress(scope.game);
50
+ let floor = 0n;
51
+ const read = async (addresses) => {
52
+ // Absence has no slot in this transport; Clock supplies batch provenance. We
53
+ // cannot request minContextSlot, so reject inconsistent/regressing responses.
54
+ const rows = await readContextRawAccounts(ctx, [...addresses, CLOCK_ADDRESS], { commitment: 'confirmed' });
55
+ requireHistory(rows.length === addresses.length + 1, 'The Democracy history read was incomplete.');
56
+ const clock = rows[rows.length - 1];
57
+ requireHistory(clock?.address === CLOCK_ADDRESS, 'The chain Clock is missing from the Democracy history read.');
58
+ const now = readClock(clock);
59
+ requireHistory(clock.slot >= floor &&
60
+ rows.every((row) => row === undefined || row.slot === clock.slot), 'The Democracy history response has inconsistent or regressing slots.');
61
+ floor = clock.slot;
62
+ return { rows, now };
63
+ };
64
+ const history = (raw) => {
65
+ const value = decode(raw, historyAddress, historyBump, DEMOCRACY_SYSTEM_HISTORY_DISCRIMINATOR, getDemocracySystemHistoryDecoder());
66
+ requireHistory(value.gameId === scope.game &&
67
+ value.system === scope.system &&
68
+ value.policy === policyAddress &&
69
+ value.enabled <= 1 &&
70
+ value.cutoverDay <= value.openDay &&
71
+ value.generationStartedDay <= value.openDay, 'The Democracy history scope or calendar is invalid.');
72
+ return value;
73
+ };
74
+ for (let attempt = 0; attempt < 2; attempt++) {
75
+ const first = (await read([historyAddress])).rows[0];
76
+ if (!first)
77
+ return {
78
+ intent: {
79
+ game: scope.game,
80
+ system: scope.system,
81
+ address: historyAddress,
82
+ state: 'absent',
83
+ },
84
+ accounts: { democracyHistoryHistory: historyAddress },
85
+ slot: floor,
86
+ };
87
+ const initial = history(first);
88
+ const generationPda = initial.generation === SYSTEM_PROGRAM
89
+ ? undefined
90
+ : await deriveDemocracyGenerationHistoryAddress(scope.system, initial.generationNumber);
91
+ requireHistory(!generationPda || generationPda[0] === initial.generation, 'The Democracy history references a noncanonical generation.');
92
+ const batch = await read([
93
+ historyAddress,
94
+ policyAddress,
95
+ ...(generationPda ? [generationPda[0]] : []),
96
+ ]);
97
+ const second = batch.rows[0];
98
+ if (!second || !equalBytes(first.data, second.data))
99
+ continue;
100
+ const current = history(second);
101
+ const policy = decode(batch.rows[1], policyAddress, policyBump, DEMOCRACY_HISTORY_POLICY_DISCRIMINATOR, getDemocracyHistoryPolicyDecoder());
102
+ requireHistory(policy.gameId === scope.game &&
103
+ [
104
+ policy.noControllerRevenue,
105
+ policy.zeroPowerRevenue,
106
+ policy.successorBaseline,
107
+ policy.captureIncomingEligibility,
108
+ ].every((value) => value === 1 || value === 2), 'The Democracy policy scope or explicit policy flags are invalid.');
109
+ const generation = generationPda
110
+ ? decode(batch.rows[2], generationPda[0], generationPda[1], DEMOCRACY_GENERATION_HISTORY_DISCRIMINATOR, getDemocracyGenerationHistoryDecoder())
111
+ : undefined;
112
+ if (generation)
113
+ requireHistory(generation.gameId === scope.game &&
114
+ generation.system === scope.system &&
115
+ generation.generation === current.generationNumber &&
116
+ generation.starbaseSeqId === current.starbaseSeqId &&
117
+ generation.governance === current.governance &&
118
+ generation.controller === current.controller &&
119
+ generation.enabled === current.enabled &&
120
+ generation.openDay === current.openDay &&
121
+ generation.retired === 0 &&
122
+ generation.fundedAtlas >= generation.claimedAtlas &&
123
+ generation.rewardVault ===
124
+ generation.fundedAtlas - generation.claimedAtlas, 'The Democracy generation scope, eligibility or reward funding does not match its history.');
125
+ requireHistory(current.controller === 0 || generation, 'The current Democracy controller has no initialized generation.');
126
+ requireHistory(batch.now >= 0n && batch.now / 86400n === current.openDay, 'The Democracy history has pending daily checkpoints or the chain day changed.');
127
+ const intent = {
128
+ game: scope.game,
129
+ system: scope.system,
130
+ address: historyAddress,
131
+ state: 'initialized',
132
+ openDay: current.openDay,
133
+ enabled: current.enabled,
134
+ controller: current.controller,
135
+ ...(generationPda ? { generation: generationPda[0] } : {}),
136
+ generationNumber: current.generationNumber,
137
+ governance: current.governance,
138
+ starbaseSeqId: current.starbaseSeqId,
139
+ policy: policyAddress,
140
+ policyFlags: {
141
+ noControllerRevenue: policy.noControllerRevenue,
142
+ zeroPowerRevenue: policy.zeroPowerRevenue,
143
+ successorBaseline: policy.successorBaseline,
144
+ captureIncomingEligibility: policy.captureIncomingEligibility,
145
+ },
146
+ effectiveParams: params(current.enabled === 0
147
+ ? {
148
+ craftingFeeBps: 10000,
149
+ localMarketFeeBps: 0,
150
+ localTreasuryShareBps: 0,
151
+ treasuryDistributionBps: 0,
152
+ }
153
+ : (generation?.activeParams ?? policy.defaultParams)),
154
+ };
155
+ return {
156
+ intent,
157
+ accounts: {
158
+ democracyHistoryHistory: historyAddress,
159
+ democracyHistoryPolicy: policyAddress,
160
+ ...(generationPda
161
+ ? { democracyHistoryGeneration: generationPda[0] }
162
+ : {}),
163
+ },
164
+ slot: floor,
165
+ };
166
+ }
167
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Democracy history changed during both preparation attempts. Refresh the Starbase and recreate this action.');
168
+ }
169
+ /** Compare only eligibility and consumed fee policy, never shared financial counters. */
170
+ export function matchDemocracyHistoryIntent(expected, actual) {
171
+ if (expected.game !== actual.game ||
172
+ expected.system !== actual.system ||
173
+ expected.address !== actual.address ||
174
+ expected.state !== actual.state)
175
+ return false;
176
+ if (expected.state === 'absent' || actual.state === 'absent')
177
+ return true;
178
+ return (expected.openDay === actual.openDay &&
179
+ expected.enabled === actual.enabled &&
180
+ expected.controller === actual.controller &&
181
+ expected.generation === actual.generation &&
182
+ expected.generationNumber === actual.generationNumber &&
183
+ expected.governance === actual.governance &&
184
+ expected.starbaseSeqId === actual.starbaseSeqId &&
185
+ expected.policy === actual.policy &&
186
+ Object.entries(expected.policyFlags).every(([key, value]) => actual.policyFlags[key] === value) &&
187
+ Object.entries(expected.effectiveParams).every(([key, value]) => actual.effectiveParams[key] === value));
188
+ }
189
+ //# sourceMappingURL=democracy-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"democracy-history.js","sourceRoot":"","sources":["../../../src/internal/planning/democracy-history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type Address } from '@solana/kit';
2
+ /** Direct Profile authorization without a certificate. */
3
+ export interface DirectAuthorization {
4
+ readonly profile: Address;
5
+ readonly authority: Address;
6
+ readonly keyIndex: number;
7
+ }
8
+ /** Reads planner options holding exactly `fields`, one of them a direct
9
+ * `authorization` of exactly a Profile, an on-curve authority and a u16 key
10
+ * index. Returns a copy of the authorization and the option values for the
11
+ * planner's own field checks; `bad` rejects any other shape with the
12
+ * planner's accepted range and remedy. */
13
+ export declare function readDirectOptions(input: unknown, fields: readonly string[], bad: () => never): {
14
+ readonly authorization: DirectAuthorization;
15
+ readonly value: Readonly<Record<string, unknown>>;
16
+ };
17
+ //# sourceMappingURL=direct-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-options.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/direct-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAEzE,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;0CAI0C;AAC1C,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,GAAG,EAAE,MAAM,KAAK,GACf;IACD,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD,CAyCA"}
@@ -0,0 +1,43 @@
1
+ import { isAddress, isOffCurveAddress } from '@solana/kit';
2
+ /** Reads planner options holding exactly `fields`, one of them a direct
3
+ * `authorization` of exactly a Profile, an on-curve authority and a u16 key
4
+ * index. Returns a copy of the authorization and the option values for the
5
+ * planner's own field checks; `bad` rejects any other shape with the
6
+ * planner's accepted range and remedy. */
7
+ export function readDirectOptions(input, fields, bad) {
8
+ if (input === null || typeof input !== 'object' || Array.isArray(input))
9
+ bad();
10
+ const value = input;
11
+ if (Object.keys(value).length !== fields.length ||
12
+ !fields.every((field) => Object.hasOwn(value, field)))
13
+ bad();
14
+ const authorization = value.authorization;
15
+ if (authorization === null ||
16
+ typeof authorization !== 'object' ||
17
+ Array.isArray(authorization))
18
+ bad();
19
+ const a = authorization;
20
+ if (Object.keys(a).length !== 3 ||
21
+ !Object.hasOwn(a, 'profile') ||
22
+ !Object.hasOwn(a, 'authority') ||
23
+ !Object.hasOwn(a, 'keyIndex') ||
24
+ typeof a.profile !== 'string' ||
25
+ !isAddress(a.profile) ||
26
+ typeof a.authority !== 'string' ||
27
+ !isAddress(a.authority) ||
28
+ isOffCurveAddress(a.authority) ||
29
+ typeof a.keyIndex !== 'number' ||
30
+ !Number.isInteger(a.keyIndex) ||
31
+ a.keyIndex < 0 ||
32
+ a.keyIndex > 65535)
33
+ bad();
34
+ return {
35
+ authorization: {
36
+ profile: a.profile,
37
+ authority: a.authority,
38
+ keyIndex: a.keyIndex,
39
+ },
40
+ value,
41
+ };
42
+ }
43
+ //# sourceMappingURL=direct-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-options.js","sourceRoot":"","sources":["../../../src/internal/planning/direct-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AASzE;;;;0CAI0C;AAC1C,MAAM,UAAU,iBAAiB,CAC/B,KAAc,EACd,MAAyB,EACzB,GAAgB;IAKhB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrE,GAAG,EAAE,CAAC;IACR,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,IACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAC3C,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAErD,GAAG,EAAE,CAAC;IACR,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,IACE,aAAa,KAAK,IAAI;QACtB,OAAO,aAAa,KAAK,QAAQ;QACjC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;QAE5B,GAAG,EAAE,CAAC;IACR,MAAM,CAAC,GAAG,aAAwC,CAAC;IACnD,IACE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;QAC3B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC;QAC5B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC;QAC9B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC;QAC7B,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAC7B,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACrB,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;QAC/B,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACvB,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9B,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAC9B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAC,QAAQ,GAAG,CAAC;QACd,CAAC,CAAC,QAAQ,GAAG,KAAK;QAElB,GAAG,EAAE,CAAC;IACR,OAAO;QACL,aAAa,EAAE;YACb,OAAO,EAAE,CAAC,CAAC,OAAkB;YAC7B,SAAS,EAAE,CAAC,CAAC,SAAoB;YACjC,QAAQ,EAAE,CAAC,CAAC,QAAkB;SAC/B;QACD,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -1,12 +1,8 @@
1
1
  import { type Address } from '@solana/kit';
2
2
  import type { RawAccount } from '../../client/contracts.js';
3
- import type { PlanPrecondition } from '../../planning/index.js';
4
3
  import type { AddressOnlyInstruction, PlanAuthorization } from './authorization-adapter.js';
5
- export declare const RENT_ADDRESS: Address;
6
4
  export declare const CLOCK_ADDRESS: Address;
7
5
  export declare function enrollmentFailure(message: string, address: Address): never;
8
- export declare function readRent(account: RawAccount): (length: number) => bigint;
9
6
  export declare function readClock(account: RawAccount): bigint;
10
- export declare function observeEnrollmentAccount(account: RawAccount, describes: string): Promise<PlanPrecondition>;
11
7
  export declare function adaptChooseFaction(authorization: PlanAuthorization, target: Address, faction: 1 | 2 | 3): AddressOnlyInstruction;
12
8
  //# sourceMappingURL=faction-enrollment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"faction-enrollment.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/faction-enrollment.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAMxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,YAAY,EAC0B,OAAO,CAAC;AAC3D,eAAO,MAAM,aAAa,EACyB,OAAO,CAAC;AAE3D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAE1E;AACD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAqCxE;AACD,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAerD;AACD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AACD,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GACjB,sBAAsB,CAoBxB"}
1
+ {"version":3,"file":"faction-enrollment.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/faction-enrollment.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAMxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,aAAa,EACyB,OAAO,CAAC;AAC3D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAE1E;AACD,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAerD;AACD,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GACjB,sBAAsB,CAoBxB"}