@aephia/atlas-kit 0.6.0-next.11 → 0.6.0-next.111

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 (686) hide show
  1. package/README.md +3 -1
  2. package/dist/cargo/actions/deposit.d.ts +1 -1
  3. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  4. package/dist/cargo/actions/deposit.js +26 -115
  5. package/dist/cargo/actions/deposit.js.map +1 -1
  6. package/dist/cargo/actions/index.d.ts.map +1 -1
  7. package/dist/cargo/actions/index.js +20 -61
  8. package/dist/cargo/actions/index.js.map +1 -1
  9. package/dist/cargo/actions/wallet-context.d.ts +51 -2
  10. package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
  11. package/dist/cargo/actions/wallet-context.js +125 -2
  12. package/dist/cargo/actions/wallet-context.js.map +1 -1
  13. package/dist/cargo/actions/wallet-token.d.ts +1 -6
  14. package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
  15. package/dist/cargo/actions/wallet-token.js +0 -53
  16. package/dist/cargo/actions/wallet-token.js.map +1 -1
  17. package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
  18. package/dist/cargo/actions/withdrawal.js +37 -162
  19. package/dist/cargo/actions/withdrawal.js.map +1 -1
  20. package/dist/claim-stakes/actions/index.d.ts +13 -0
  21. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  22. package/dist/claim-stakes/actions/index.js +373 -544
  23. package/dist/claim-stakes/actions/index.js.map +1 -1
  24. package/dist/claim-stakes/index.d.ts +14 -0
  25. package/dist/claim-stakes/index.d.ts.map +1 -1
  26. package/dist/claim-stakes/index.js +23 -2
  27. package/dist/claim-stakes/index.js.map +1 -1
  28. package/dist/client/context.d.ts.map +1 -1
  29. package/dist/client/context.js +1 -1
  30. package/dist/client/context.js.map +1 -1
  31. package/dist/client/contracts.d.ts +16 -6
  32. package/dist/client/contracts.d.ts.map +1 -1
  33. package/dist/client/errors.d.ts +6 -2
  34. package/dist/client/errors.d.ts.map +1 -1
  35. package/dist/client/errors.js +31 -1
  36. package/dist/client/errors.js.map +1 -1
  37. package/dist/client/index.d.ts +35 -0
  38. package/dist/client/index.d.ts.map +1 -1
  39. package/dist/client/index.js +35 -0
  40. package/dist/client/index.js.map +1 -1
  41. package/dist/client/rpc-subscription-provider.d.ts +35 -0
  42. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  43. package/dist/client/rpc-subscription-provider.js +190 -0
  44. package/dist/client/rpc-subscription-provider.js.map +1 -0
  45. package/dist/combat/actions/index.d.ts +2 -2
  46. package/dist/combat/actions/index.d.ts.map +1 -1
  47. package/dist/combat/actions/index.js +192 -224
  48. package/dist/combat/actions/index.js.map +1 -1
  49. package/dist/combat/index.d.ts +4 -3
  50. package/dist/combat/index.d.ts.map +1 -1
  51. package/dist/combat/index.js +3 -2
  52. package/dist/combat/index.js.map +1 -1
  53. package/dist/crafting/actions/index.d.ts +11 -0
  54. package/dist/crafting/actions/index.d.ts.map +1 -1
  55. package/dist/crafting/actions/index.js +175 -283
  56. package/dist/crafting/actions/index.js.map +1 -1
  57. package/dist/crafting/index.d.ts +33 -3
  58. package/dist/crafting/index.d.ts.map +1 -1
  59. package/dist/crafting/index.js +45 -16
  60. package/dist/crafting/index.js.map +1 -1
  61. package/dist/factions/actions/index.d.ts +1 -0
  62. package/dist/factions/actions/index.d.ts.map +1 -1
  63. package/dist/factions/actions/index.js +2 -1
  64. package/dist/factions/actions/index.js.map +1 -1
  65. package/dist/factions/index.d.ts +1 -1
  66. package/dist/factions/index.d.ts.map +1 -1
  67. package/dist/factions/index.js +14 -8
  68. package/dist/factions/index.js.map +1 -1
  69. package/dist/factions/profile-faction.d.ts +20 -8
  70. package/dist/factions/profile-faction.d.ts.map +1 -1
  71. package/dist/factions/profile-faction.js +20 -8
  72. package/dist/factions/profile-faction.js.map +1 -1
  73. package/dist/fleets/actions/add-ship.d.ts +35 -0
  74. package/dist/fleets/actions/add-ship.d.ts.map +1 -0
  75. package/dist/fleets/actions/add-ship.js +149 -0
  76. package/dist/fleets/actions/add-ship.js.map +1 -0
  77. package/dist/fleets/actions/create-fleet.d.ts +36 -0
  78. package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
  79. package/dist/fleets/actions/create-fleet.js +138 -0
  80. package/dist/fleets/actions/create-fleet.js.map +1 -0
  81. package/dist/fleets/actions/crew-transfer.d.ts +41 -0
  82. package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
  83. package/dist/fleets/actions/crew-transfer.js +114 -0
  84. package/dist/fleets/actions/crew-transfer.js.map +1 -0
  85. package/dist/fleets/actions/dock-bounds.d.ts +38 -0
  86. package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
  87. package/dist/fleets/actions/dock-bounds.js +46 -0
  88. package/dist/fleets/actions/dock-bounds.js.map +1 -0
  89. package/dist/fleets/actions/index.d.ts +63 -23
  90. package/dist/fleets/actions/index.d.ts.map +1 -1
  91. package/dist/fleets/actions/index.js +370 -304
  92. package/dist/fleets/actions/index.js.map +1 -1
  93. package/dist/fleets/actions/respawn.d.ts +38 -0
  94. package/dist/fleets/actions/respawn.d.ts.map +1 -0
  95. package/dist/fleets/actions/respawn.js +122 -0
  96. package/dist/fleets/actions/respawn.js.map +1 -0
  97. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  98. package/dist/fleets/actions/ship-import.js +59 -76
  99. package/dist/fleets/actions/ship-import.js.map +1 -1
  100. package/dist/fleets/cooldown.d.ts +44 -0
  101. package/dist/fleets/cooldown.d.ts.map +1 -0
  102. package/dist/fleets/cooldown.js +43 -0
  103. package/dist/fleets/cooldown.js.map +1 -0
  104. package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
  105. package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
  106. package/dist/fleets/coordinate-warp-estimate.js +46 -0
  107. package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
  108. package/dist/fleets/index.d.ts +35 -0
  109. package/dist/fleets/index.d.ts.map +1 -1
  110. package/dist/fleets/index.js +52 -2
  111. package/dist/fleets/index.js.map +1 -1
  112. package/dist/fleets/movement-arithmetic.d.ts +21 -0
  113. package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
  114. package/dist/fleets/movement-arithmetic.js +41 -0
  115. package/dist/fleets/movement-arithmetic.js.map +1 -0
  116. package/dist/fleets/subwarp-estimate.d.ts +70 -0
  117. package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
  118. package/dist/fleets/subwarp-estimate.js +38 -0
  119. package/dist/fleets/subwarp-estimate.js.map +1 -0
  120. package/dist/fleets/travel-profile.d.ts +102 -0
  121. package/dist/fleets/travel-profile.d.ts.map +1 -0
  122. package/dist/fleets/travel-profile.js +120 -0
  123. package/dist/fleets/travel-profile.js.map +1 -0
  124. package/dist/fleets/warp-lane-estimate.d.ts +59 -0
  125. package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
  126. package/dist/fleets/warp-lane-estimate.js +36 -0
  127. package/dist/fleets/warp-lane-estimate.js.map +1 -0
  128. package/dist/fleets/warp-lane-policy.d.ts +68 -0
  129. package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
  130. package/dist/fleets/warp-lane-policy.js +91 -0
  131. package/dist/fleets/warp-lane-policy.js.map +1 -0
  132. package/dist/fleets/warp-lane-toll.d.ts +55 -0
  133. package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
  134. package/dist/fleets/warp-lane-toll.js +79 -0
  135. package/dist/fleets/warp-lane-toll.js.map +1 -0
  136. package/dist/identity/actions/index.d.ts +3 -3
  137. package/dist/identity/actions/index.d.ts.map +1 -1
  138. package/dist/identity/actions/index.js +50 -28
  139. package/dist/identity/actions/index.js.map +1 -1
  140. package/dist/identity/index.d.ts +12 -2
  141. package/dist/identity/index.d.ts.map +1 -1
  142. package/dist/identity/index.js +10 -1
  143. package/dist/identity/index.js.map +1 -1
  144. package/dist/identity/permissions.d.ts +11 -2
  145. package/dist/identity/permissions.d.ts.map +1 -1
  146. package/dist/identity/permissions.js +13 -4
  147. package/dist/identity/permissions.js.map +1 -1
  148. package/dist/identity/research-state.d.ts +60 -0
  149. package/dist/identity/research-state.d.ts.map +1 -0
  150. package/dist/identity/research-state.js +68 -0
  151. package/dist/identity/research-state.js.map +1 -0
  152. package/dist/index.d.ts +24 -0
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +20 -3
  155. package/dist/index.js.map +1 -1
  156. package/dist/internal/c4/account-decoding.d.ts +12 -0
  157. package/dist/internal/c4/account-decoding.d.ts.map +1 -0
  158. package/dist/internal/c4/account-decoding.js +36 -0
  159. package/dist/internal/c4/account-decoding.js.map +1 -0
  160. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  161. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  162. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  163. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  164. package/dist/internal/c4/character-modifier.d.ts +1 -1
  165. package/dist/internal/c4/character-modifier.d.ts.map +1 -1
  166. package/dist/internal/c4/character-registration.d.ts +2 -0
  167. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  168. package/dist/internal/c4/character-registration.js +2 -0
  169. package/dist/internal/c4/character-registration.js.map +1 -1
  170. package/dist/internal/c4/character.d.ts +155 -0
  171. package/dist/internal/c4/character.d.ts.map +1 -0
  172. package/dist/internal/c4/character.js +79 -0
  173. package/dist/internal/c4/character.js.map +1 -0
  174. package/dist/internal/c4/claim-stake-configuration.js +4 -2
  175. package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
  176. package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
  177. package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
  178. package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
  179. package/dist/internal/c4/claim-stake.d.ts +4 -27
  180. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  181. package/dist/internal/c4/claim-stake.js +30 -41
  182. package/dist/internal/c4/claim-stake.js.map +1 -1
  183. package/dist/internal/c4/combat.d.ts +1 -82
  184. package/dist/internal/c4/combat.d.ts.map +1 -1
  185. package/dist/internal/c4/combat.js +10 -171
  186. package/dist/internal/c4/combat.js.map +1 -1
  187. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  188. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  189. package/dist/internal/c4/crafting-process-codec.js +34 -0
  190. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  191. package/dist/internal/c4/crafting.d.ts +25 -33
  192. package/dist/internal/c4/crafting.d.ts.map +1 -1
  193. package/dist/internal/c4/crafting.js +61 -49
  194. package/dist/internal/c4/crafting.js.map +1 -1
  195. package/dist/internal/c4/currency-cache.d.ts +6 -0
  196. package/dist/internal/c4/currency-cache.d.ts.map +1 -0
  197. package/dist/internal/c4/currency-cache.js +30 -0
  198. package/dist/internal/c4/currency-cache.js.map +1 -0
  199. package/dist/internal/c4/docking-funding.d.ts +4 -0
  200. package/dist/internal/c4/docking-funding.d.ts.map +1 -0
  201. package/dist/internal/c4/docking-funding.js +11 -0
  202. package/dist/internal/c4/docking-funding.js.map +1 -0
  203. package/dist/internal/c4/faction-adapter.d.ts +12 -0
  204. package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
  205. package/dist/internal/c4/faction-adapter.js +52 -0
  206. package/dist/internal/c4/faction-adapter.js.map +1 -0
  207. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  208. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  209. package/dist/internal/c4/faction-epoch-meter.js +31 -0
  210. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  211. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  212. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  213. package/dist/internal/c4/faction-treasury.js +48 -0
  214. package/dist/internal/c4/faction-treasury.js.map +1 -0
  215. package/dist/internal/c4/faction.d.ts +21 -0
  216. package/dist/internal/c4/faction.d.ts.map +1 -0
  217. package/dist/internal/c4/faction.js +23 -0
  218. package/dist/internal/c4/faction.js.map +1 -0
  219. package/dist/internal/c4/factions.d.ts +9 -57
  220. package/dist/internal/c4/factions.d.ts.map +1 -1
  221. package/dist/internal/c4/factions.js +29 -156
  222. package/dist/internal/c4/factions.js.map +1 -1
  223. package/dist/internal/c4/fleet-arrival.d.ts +28 -0
  224. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  225. package/dist/internal/c4/fleet-arrival.js +42 -0
  226. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  227. package/dist/internal/c4/fleet-creation.d.ts +7 -0
  228. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  229. package/dist/internal/c4/fleet-creation.js +180 -0
  230. package/dist/internal/c4/fleet-creation.js.map +1 -0
  231. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  232. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  233. package/dist/internal/c4/fleet-crew-binding.js +20 -3
  234. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  235. package/dist/internal/c4/fleet-respawn.d.ts +17 -0
  236. package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
  237. package/dist/internal/c4/fleet-respawn.js +62 -0
  238. package/dist/internal/c4/fleet-respawn.js.map +1 -0
  239. package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
  240. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  241. package/dist/internal/c4/fleet-ship-assembly.js +44 -0
  242. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  243. package/dist/internal/c4/fleet.d.ts +45 -19
  244. package/dist/internal/c4/fleet.d.ts.map +1 -1
  245. package/dist/internal/c4/fleet.js +37 -29
  246. package/dist/internal/c4/fleet.js.map +1 -1
  247. package/dist/internal/c4/game-definition-layout.d.ts +2 -0
  248. package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
  249. package/dist/internal/c4/game-definition-layout.js +4 -0
  250. package/dist/internal/c4/game-definition-layout.js.map +1 -1
  251. package/dist/internal/c4/game.d.ts +47 -12
  252. package/dist/internal/c4/game.d.ts.map +1 -1
  253. package/dist/internal/c4/game.js +110 -21
  254. package/dist/internal/c4/game.js.map +1 -1
  255. package/dist/internal/c4/identity.d.ts +2 -152
  256. package/dist/internal/c4/identity.d.ts.map +1 -1
  257. package/dist/internal/c4/identity.js +6 -110
  258. package/dist/internal/c4/identity.js.map +1 -1
  259. package/dist/internal/c4/local-market-order.d.ts +31 -0
  260. package/dist/internal/c4/local-market-order.d.ts.map +1 -0
  261. package/dist/internal/c4/local-market-order.js +47 -0
  262. package/dist/internal/c4/local-market-order.js.map +1 -0
  263. package/dist/internal/c4/loot-layout.js +1 -1
  264. package/dist/internal/c4/loot-layout.js.map +1 -1
  265. package/dist/internal/c4/loot.d.ts +58 -0
  266. package/dist/internal/c4/loot.d.ts.map +1 -0
  267. package/dist/internal/c4/loot.js +130 -0
  268. package/dist/internal/c4/loot.js.map +1 -0
  269. package/dist/internal/c4/loyalty.d.ts +0 -27
  270. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  271. package/dist/internal/c4/loyalty.js +14 -43
  272. package/dist/internal/c4/loyalty.js.map +1 -1
  273. package/dist/internal/c4/market.d.ts +2 -38
  274. package/dist/internal/c4/market.d.ts.map +1 -1
  275. package/dist/internal/c4/market.js +13 -51
  276. package/dist/internal/c4/market.js.map +1 -1
  277. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  278. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  279. package/dist/internal/c4/mining-instructions.js +3 -0
  280. package/dist/internal/c4/mining-instructions.js.map +1 -0
  281. package/dist/internal/c4/open-signal.d.ts +8 -0
  282. package/dist/internal/c4/open-signal.d.ts.map +1 -0
  283. package/dist/internal/c4/open-signal.js +37 -0
  284. package/dist/internal/c4/open-signal.js.map +1 -0
  285. package/dist/internal/c4/pda.js +1 -1
  286. package/dist/internal/c4/pda.js.map +1 -1
  287. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  288. package/dist/internal/c4/profile-faction.js +11 -21
  289. package/dist/internal/c4/profile-faction.js.map +1 -1
  290. package/dist/internal/c4/profile-permissions.d.ts +5 -3
  291. package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
  292. package/dist/internal/c4/profile-permissions.js +61 -8
  293. package/dist/internal/c4/profile-permissions.js.map +1 -1
  294. package/dist/internal/c4/region-geometry.d.ts +8 -0
  295. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  296. package/dist/internal/c4/region-geometry.js +43 -0
  297. package/dist/internal/c4/region-geometry.js.map +1 -0
  298. package/dist/internal/c4/rewards.d.ts +1 -61
  299. package/dist/internal/c4/rewards.d.ts.map +1 -1
  300. package/dist/internal/c4/rewards.js +14 -115
  301. package/dist/internal/c4/rewards.js.map +1 -1
  302. package/dist/internal/c4/runtime-bindings.d.ts +4 -0
  303. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  304. package/dist/internal/c4/runtime-bindings.js +4 -0
  305. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  306. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  307. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  308. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  309. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  310. package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
  311. package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
  312. package/dist/internal/c4/scan-lifecycle.js +261 -0
  313. package/dist/internal/c4/scan-lifecycle.js.map +1 -0
  314. package/dist/internal/c4/scanning.d.ts +1 -28
  315. package/dist/internal/c4/scanning.d.ts.map +1 -1
  316. package/dist/internal/c4/scanning.js +7 -36
  317. package/dist/internal/c4/scanning.js.map +1 -1
  318. package/dist/internal/c4/ship-import.d.ts +4 -0
  319. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  320. package/dist/internal/c4/ship-import.js +13 -0
  321. package/dist/internal/c4/ship-import.js.map +1 -0
  322. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  323. package/dist/internal/c4/ship-stats.js +25 -21
  324. package/dist/internal/c4/ship-stats.js.map +1 -1
  325. package/dist/internal/c4/starbase.d.ts +0 -32
  326. package/dist/internal/c4/starbase.d.ts.map +1 -1
  327. package/dist/internal/c4/starbase.js +12 -62
  328. package/dist/internal/c4/starbase.js.map +1 -1
  329. package/dist/internal/c4/world.d.ts +36 -7
  330. package/dist/internal/c4/world.d.ts.map +1 -1
  331. package/dist/internal/c4/world.js +67 -48
  332. package/dist/internal/c4/world.js.map +1 -1
  333. package/dist/internal/cargo.d.ts +2 -0
  334. package/dist/internal/cargo.d.ts.map +1 -1
  335. package/dist/internal/cargo.js +8 -0
  336. package/dist/internal/cargo.js.map +1 -1
  337. package/dist/internal/fleet.d.ts +1 -0
  338. package/dist/internal/fleet.d.ts.map +1 -1
  339. package/dist/internal/fleet.js +3 -1
  340. package/dist/internal/fleet.js.map +1 -1
  341. package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
  342. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  343. package/dist/internal/loyalty-atlas-bank-state.js +10 -0
  344. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  345. package/dist/internal/planning/action-runtime.d.ts +38 -0
  346. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  347. package/dist/internal/planning/action-runtime.js +63 -0
  348. package/dist/internal/planning/action-runtime.js.map +1 -0
  349. package/dist/internal/planning/arrival-guards.d.ts +19 -0
  350. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  351. package/dist/internal/planning/arrival-guards.js +171 -0
  352. package/dist/internal/planning/arrival-guards.js.map +1 -0
  353. package/dist/internal/planning/authorization-adapter.d.ts +45 -37
  354. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  355. package/dist/internal/planning/authorization-adapter.js +165 -76
  356. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  357. package/dist/internal/planning/character-registration-guard.d.ts +4 -0
  358. package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
  359. package/dist/internal/planning/character-registration-guard.js +58 -0
  360. package/dist/internal/planning/character-registration-guard.js.map +1 -0
  361. package/dist/internal/planning/character-registration.d.ts +23 -0
  362. package/dist/internal/planning/character-registration.d.ts.map +1 -0
  363. package/dist/internal/planning/character-registration.js +87 -0
  364. package/dist/internal/planning/character-registration.js.map +1 -0
  365. package/dist/internal/planning/currency-cache-guard.d.ts +4 -0
  366. package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
  367. package/dist/internal/planning/currency-cache-guard.js +32 -0
  368. package/dist/internal/planning/currency-cache-guard.js.map +1 -0
  369. package/dist/internal/planning/democracy-history.d.ts +50 -0
  370. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  371. package/dist/internal/planning/democracy-history.js +198 -0
  372. package/dist/internal/planning/democracy-history.js.map +1 -0
  373. package/dist/internal/planning/faction-enrollment.d.ts +0 -2
  374. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  375. package/dist/internal/planning/faction-enrollment.js +1 -22
  376. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  377. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  378. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  379. package/dist/internal/planning/faction-trade-guards.js +15 -0
  380. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  381. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  382. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  383. package/dist/internal/planning/faction-trade-state.js +43 -0
  384. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  385. package/dist/internal/planning/fleet-arrival.d.ts +40 -0
  386. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  387. package/dist/internal/planning/fleet-arrival.js +106 -0
  388. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  389. package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
  390. package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
  391. package/dist/internal/planning/fleet-attack-xp.js +110 -0
  392. package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
  393. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  394. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  395. package/dist/internal/planning/fleet-creation.js +109 -0
  396. package/dist/internal/planning/fleet-creation.js.map +1 -0
  397. package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
  398. package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
  399. package/dist/internal/planning/fleet-crew-guard.js +47 -0
  400. package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
  401. package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
  402. package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
  403. package/dist/internal/planning/fleet-crew-transfer.js +132 -0
  404. package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
  405. package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
  406. package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
  407. package/dist/internal/planning/fleet-dock-funding-guard.js +208 -0
  408. package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
  409. package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
  410. package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
  411. package/dist/internal/planning/fleet-dock-funding.js +154 -0
  412. package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
  413. package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
  414. package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
  415. package/dist/internal/planning/fleet-docking-guard.js +42 -0
  416. package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
  417. package/dist/internal/planning/fleet-docking.d.ts +10 -0
  418. package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
  419. package/dist/internal/planning/fleet-docking.js +85 -0
  420. package/dist/internal/planning/fleet-docking.js.map +1 -0
  421. package/dist/internal/planning/fleet-respawn.d.ts +28 -0
  422. package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
  423. package/dist/internal/planning/fleet-respawn.js +167 -0
  424. package/dist/internal/planning/fleet-respawn.js.map +1 -0
  425. package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
  426. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  427. package/dist/internal/planning/fleet-ship-assembly.js +138 -0
  428. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  429. package/dist/internal/planning/fleet-state.d.ts +25 -0
  430. package/dist/internal/planning/fleet-state.d.ts.map +1 -0
  431. package/dist/internal/planning/fleet-state.js +28 -0
  432. package/dist/internal/planning/fleet-state.js.map +1 -0
  433. package/dist/internal/planning/governance-fees.d.ts +64 -0
  434. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  435. package/dist/internal/planning/governance-fees.js +239 -0
  436. package/dist/internal/planning/governance-fees.js.map +1 -0
  437. package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
  438. package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
  439. package/dist/internal/planning/local-market-order-funding.js +127 -0
  440. package/dist/internal/planning/local-market-order-funding.js.map +1 -0
  441. package/dist/internal/planning/local-market-order.d.ts +40 -0
  442. package/dist/internal/planning/local-market-order.d.ts.map +1 -0
  443. package/dist/internal/planning/local-market-order.js +138 -0
  444. package/dist/internal/planning/local-market-order.js.map +1 -0
  445. package/dist/internal/planning/mining-stop.d.ts +14 -0
  446. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  447. package/dist/internal/planning/mining-stop.js +41 -0
  448. package/dist/internal/planning/mining-stop.js.map +1 -0
  449. package/dist/internal/planning/movement-character.d.ts +7 -0
  450. package/dist/internal/planning/movement-character.d.ts.map +1 -0
  451. package/dist/internal/planning/movement-character.js +41 -0
  452. package/dist/internal/planning/movement-character.js.map +1 -0
  453. package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
  454. package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
  455. package/dist/internal/planning/movement-xp-guard.js +103 -0
  456. package/dist/internal/planning/movement-xp-guard.js.map +1 -0
  457. package/dist/internal/planning/open-signal-guard.d.ts +3 -0
  458. package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
  459. package/dist/internal/planning/open-signal-guard.js +31 -0
  460. package/dist/internal/planning/open-signal-guard.js.map +1 -0
  461. package/dist/internal/planning/open-signal.d.ts +31 -0
  462. package/dist/internal/planning/open-signal.d.ts.map +1 -0
  463. package/dist/internal/planning/open-signal.js +86 -0
  464. package/dist/internal/planning/open-signal.js.map +1 -0
  465. package/dist/internal/planning/original-token.d.ts +34 -0
  466. package/dist/internal/planning/original-token.d.ts.map +1 -0
  467. package/dist/internal/planning/original-token.js +98 -0
  468. package/dist/internal/planning/original-token.js.map +1 -0
  469. package/dist/internal/planning/plan-fields.d.ts +59 -0
  470. package/dist/internal/planning/plan-fields.d.ts.map +1 -0
  471. package/dist/internal/planning/plan-fields.js +153 -0
  472. package/dist/internal/planning/plan-fields.js.map +1 -0
  473. package/dist/internal/planning/plan-guards.d.ts +4 -0
  474. package/dist/internal/planning/plan-guards.d.ts.map +1 -0
  475. package/dist/internal/planning/plan-guards.js +168 -0
  476. package/dist/internal/planning/plan-guards.js.map +1 -0
  477. package/dist/internal/planning/recipe-state.d.ts +6 -0
  478. package/dist/internal/planning/recipe-state.d.ts.map +1 -0
  479. package/dist/internal/planning/recipe-state.js +20 -0
  480. package/dist/internal/planning/recipe-state.js.map +1 -0
  481. package/dist/internal/planning/rent.d.ts +19 -0
  482. package/dist/internal/planning/rent.d.ts.map +1 -0
  483. package/dist/internal/planning/rent.js +35 -0
  484. package/dist/internal/planning/rent.js.map +1 -0
  485. package/dist/internal/planning/respawn-guards.d.ts +3 -0
  486. package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
  487. package/dist/internal/planning/respawn-guards.js +41 -0
  488. package/dist/internal/planning/respawn-guards.js.map +1 -0
  489. package/dist/internal/planning/runtime-guards.d.ts +41 -0
  490. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  491. package/dist/internal/planning/runtime-guards.js +635 -0
  492. package/dist/internal/planning/runtime-guards.js.map +1 -0
  493. package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
  494. package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
  495. package/dist/internal/planning/scan-completion-guard.js +94 -0
  496. package/dist/internal/planning/scan-completion-guard.js.map +1 -0
  497. package/dist/internal/planning/scan-completion.d.ts +20 -0
  498. package/dist/internal/planning/scan-completion.d.ts.map +1 -0
  499. package/dist/internal/planning/scan-completion.js +197 -0
  500. package/dist/internal/planning/scan-completion.js.map +1 -0
  501. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  502. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  503. package/dist/internal/planning/scan-detect-guard.js +77 -0
  504. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  505. package/dist/internal/planning/scan-detect.d.ts +24 -0
  506. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  507. package/dist/internal/planning/scan-detect.js +245 -0
  508. package/dist/internal/planning/scan-detect.js.map +1 -0
  509. package/dist/internal/planning/scan-input.d.ts +9 -0
  510. package/dist/internal/planning/scan-input.d.ts.map +1 -0
  511. package/dist/internal/planning/scan-input.js +58 -0
  512. package/dist/internal/planning/scan-input.js.map +1 -0
  513. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  514. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  515. package/dist/internal/planning/ship-import-funding.js +53 -0
  516. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  517. package/dist/internal/planning/ship-token.d.ts +1 -6
  518. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  519. package/dist/internal/planning/ship-token.js +2 -41
  520. package/dist/internal/planning/ship-token.js.map +1 -1
  521. package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
  522. package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
  523. package/dist/internal/planning/starbase-player-owner.js +17 -0
  524. package/dist/internal/planning/starbase-player-owner.js.map +1 -0
  525. package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
  526. package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
  527. package/dist/internal/planning/starbase-system-guard.js +93 -0
  528. package/dist/internal/planning/starbase-system-guard.js.map +1 -0
  529. package/dist/internal/planning/starbase-system.d.ts +15 -0
  530. package/dist/internal/planning/starbase-system.d.ts.map +1 -0
  531. package/dist/internal/planning/starbase-system.js +25 -0
  532. package/dist/internal/planning/starbase-system.js.map +1 -0
  533. package/dist/internal/planning/token-mint.d.ts +4 -0
  534. package/dist/internal/planning/token-mint.d.ts.map +1 -0
  535. package/dist/internal/planning/token-mint.js +15 -0
  536. package/dist/internal/planning/token-mint.js.map +1 -0
  537. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  538. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  539. package/dist/internal/planning/trade-faction-market.js +56 -0
  540. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  541. package/dist/internal/planning/wallet-starbase.d.ts +34 -0
  542. package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
  543. package/dist/internal/planning/wallet-starbase.js +39 -0
  544. package/dist/internal/planning/wallet-starbase.js.map +1 -0
  545. package/dist/internal/planning/xp-runtime.d.ts +36 -0
  546. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  547. package/dist/internal/planning/xp-runtime.js +126 -0
  548. package/dist/internal/planning/xp-runtime.js.map +1 -0
  549. package/dist/internal/system-program.d.ts +4 -0
  550. package/dist/internal/system-program.d.ts.map +1 -0
  551. package/dist/internal/system-program.js +3 -0
  552. package/dist/internal/system-program.js.map +1 -0
  553. package/dist/loyalty/actions/index.d.ts.map +1 -1
  554. package/dist/loyalty/actions/index.js +8 -21
  555. package/dist/loyalty/actions/index.js.map +1 -1
  556. package/dist/loyalty/index.d.ts.map +1 -1
  557. package/dist/loyalty/index.js +2 -6
  558. package/dist/loyalty/index.js.map +1 -1
  559. package/dist/markets/actions/index.d.ts +61 -3
  560. package/dist/markets/actions/index.d.ts.map +1 -1
  561. package/dist/markets/actions/index.js +227 -160
  562. package/dist/markets/actions/index.js.map +1 -1
  563. package/dist/markets/actions/trade-faction-market.d.ts +43 -0
  564. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  565. package/dist/markets/actions/trade-faction-market.js +282 -0
  566. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  567. package/dist/markets/index.d.ts +38 -7
  568. package/dist/markets/index.d.ts.map +1 -1
  569. package/dist/markets/index.js +57 -10
  570. package/dist/markets/index.js.map +1 -1
  571. package/dist/mining/actions/index.d.ts +87 -0
  572. package/dist/mining/actions/index.d.ts.map +1 -0
  573. package/dist/mining/actions/index.js +319 -0
  574. package/dist/mining/actions/index.js.map +1 -0
  575. package/dist/mining/estimate.d.ts +114 -0
  576. package/dist/mining/estimate.d.ts.map +1 -0
  577. package/dist/mining/estimate.js +127 -0
  578. package/dist/mining/estimate.js.map +1 -0
  579. package/dist/mining/index.d.ts +9 -2
  580. package/dist/mining/index.d.ts.map +1 -1
  581. package/dist/mining/index.js +7 -2
  582. package/dist/mining/index.js.map +1 -1
  583. package/dist/mining/profile.d.ts +82 -0
  584. package/dist/mining/profile.d.ts.map +1 -0
  585. package/dist/mining/profile.js +109 -0
  586. package/dist/mining/profile.js.map +1 -0
  587. package/dist/planning/assembly.d.ts +5 -0
  588. package/dist/planning/assembly.d.ts.map +1 -1
  589. package/dist/planning/assembly.js +8 -4
  590. package/dist/planning/assembly.js.map +1 -1
  591. package/dist/planning/execution.d.ts +18 -3
  592. package/dist/planning/execution.d.ts.map +1 -1
  593. package/dist/planning/execution.js +492 -40
  594. package/dist/planning/execution.js.map +1 -1
  595. package/dist/planning/index.d.ts +196 -149
  596. package/dist/planning/index.d.ts.map +1 -1
  597. package/dist/planning/index.js +44 -292
  598. package/dist/planning/index.js.map +1 -1
  599. package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
  600. package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
  601. package/dist/planning/plan-sequence-checkpoint.js +16 -7
  602. package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
  603. package/dist/planning/plan-sequence-execution.d.ts +5 -0
  604. package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
  605. package/dist/planning/plan-sequence-execution.js +74 -30
  606. package/dist/planning/plan-sequence-execution.js.map +1 -1
  607. package/dist/planning/plan-sequence.d.ts +2 -1
  608. package/dist/planning/plan-sequence.d.ts.map +1 -1
  609. package/dist/planning/plan-sequence.js +8 -1
  610. package/dist/planning/plan-sequence.js.map +1 -1
  611. package/dist/planning/plan-validation.d.ts +14 -0
  612. package/dist/planning/plan-validation.d.ts.map +1 -0
  613. package/dist/planning/plan-validation.js +124 -0
  614. package/dist/planning/plan-validation.js.map +1 -0
  615. package/dist/planning/simulation.d.ts +25 -1
  616. package/dist/planning/simulation.d.ts.map +1 -1
  617. package/dist/planning/simulation.js +111 -11
  618. package/dist/planning/simulation.js.map +1 -1
  619. package/dist/registry/cargo.d.ts +7 -12
  620. package/dist/registry/cargo.d.ts.map +1 -1
  621. package/dist/registry/cargo.js +19 -19
  622. package/dist/registry/cargo.js.map +1 -1
  623. package/dist/registry/docking.d.ts +10 -0
  624. package/dist/registry/docking.d.ts.map +1 -0
  625. package/dist/registry/docking.js +12 -0
  626. package/dist/registry/docking.js.map +1 -0
  627. package/dist/registry/index.d.ts +4 -0
  628. package/dist/registry/index.d.ts.map +1 -1
  629. package/dist/registry/index.js.map +1 -1
  630. package/dist/registry/onboarding.d.ts +10 -2
  631. package/dist/registry/onboarding.d.ts.map +1 -1
  632. package/dist/registry/onboarding.js +20 -7
  633. package/dist/registry/onboarding.js.map +1 -1
  634. package/dist/registry/scanning.d.ts +7 -0
  635. package/dist/registry/scanning.d.ts.map +1 -0
  636. package/dist/registry/scanning.js +13 -0
  637. package/dist/registry/scanning.js.map +1 -0
  638. package/dist/registry/ship-stats-snapshot.js +19 -19
  639. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  640. package/dist/registry/ships.d.ts +22 -2
  641. package/dist/registry/ships.d.ts.map +1 -1
  642. package/dist/registry/ships.js +31 -4
  643. package/dist/registry/ships.js.map +1 -1
  644. package/dist/registry/xp-runtime.d.ts +4 -0
  645. package/dist/registry/xp-runtime.d.ts.map +1 -0
  646. package/dist/registry/xp-runtime.js +14 -0
  647. package/dist/registry/xp-runtime.js.map +1 -0
  648. package/dist/rewards/index.d.ts.map +1 -1
  649. package/dist/rewards/index.js +5 -4
  650. package/dist/rewards/index.js.map +1 -1
  651. package/dist/scanning/actions/index.d.ts +116 -0
  652. package/dist/scanning/actions/index.d.ts.map +1 -0
  653. package/dist/scanning/actions/index.js +185 -0
  654. package/dist/scanning/actions/index.js.map +1 -0
  655. package/dist/scanning/index.d.ts +5 -2
  656. package/dist/scanning/index.d.ts.map +1 -1
  657. package/dist/scanning/index.js +13 -9
  658. package/dist/scanning/index.js.map +1 -1
  659. package/dist/scanning/lifecycle.d.ts +77 -0
  660. package/dist/scanning/lifecycle.d.ts.map +1 -0
  661. package/dist/scanning/lifecycle.js +93 -0
  662. package/dist/scanning/lifecycle.js.map +1 -0
  663. package/dist/scanning/odds.d.ts +111 -0
  664. package/dist/scanning/odds.d.ts.map +1 -0
  665. package/dist/scanning/odds.js +294 -0
  666. package/dist/scanning/odds.js.map +1 -0
  667. package/dist/scanning/signals.d.ts +121 -0
  668. package/dist/scanning/signals.d.ts.map +1 -0
  669. package/dist/scanning/signals.js +171 -0
  670. package/dist/scanning/signals.js.map +1 -0
  671. package/dist/starbases/actions/index.d.ts.map +1 -1
  672. package/dist/starbases/actions/index.js +5 -32
  673. package/dist/starbases/actions/index.js.map +1 -1
  674. package/dist/world/index.d.ts +110 -5
  675. package/dist/world/index.d.ts.map +1 -1
  676. package/dist/world/index.js +109 -4
  677. package/dist/world/index.js.map +1 -1
  678. package/dist/world/planet-claim-stake-plots.d.ts +130 -0
  679. package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
  680. package/dist/world/planet-claim-stake-plots.js +110 -0
  681. package/dist/world/planet-claim-stake-plots.js.map +1 -0
  682. package/dist/world/starbase-status.d.ts +176 -0
  683. package/dist/world/starbase-status.d.ts.map +1 -0
  684. package/dist/world/starbase-status.js +153 -0
  685. package/dist/world/starbase-status.js.map +1 -0
  686. package/package.json +10 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-signal-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/open-signal-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,MAAM,UAAU,8BAA8B,CAC5C,KAA0B,EAC1B,MAAmC;IAEnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAC3D,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAC/B,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CACrB,CAAC,CAAC,cAAc,KAAK,oBAAoB;QACzC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACpE,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM;QAAE,OAAO;IACrD,MAAM,GAAG,GAAG,GAAU,EAAE;QACtB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,wJAAwJ,CACzJ,CAAC;IACJ,CAAC,CAAC;IACF,IACE,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM;QAEhE,GAAG,EAAE,CAAC;IACR,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC3C,IACE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC;YAE1E,GAAG,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS;YACnC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,KAAK,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAE,GAAG,GAAG;gBACzD,KAAK,CAAC,QAAQ;YAChB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,MAAM;YACrD,QAAQ,CAAC,KAAK,CACZ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,OAAO;gBACrD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,IAAI,CAChD,CACJ,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,EAAE,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { Address } from '@solana/kit';
2
+ import { openSignalInstruction } from '../c4/open-signal.js';
3
+ export { openSignalInstruction };
4
+ import type { RawAccount } from '../../client/contracts.js';
5
+ export interface OpenSignalIntent {
6
+ readonly game: Address;
7
+ readonly fleet: Address;
8
+ readonly profile: Address;
9
+ readonly authority: Address;
10
+ readonly keyIndex: number;
11
+ }
12
+ export interface OpenSignalGuard extends OpenSignalIntent {
13
+ readonly kind: 'scan-signal-open';
14
+ readonly address: Address;
15
+ readonly character: Address;
16
+ readonly maximumProfileDebit: bigint;
17
+ readonly authorityHash: string;
18
+ readonly describes: string;
19
+ readonly dataHash?: never;
20
+ }
21
+ export declare function resolveOpenSignal(intent: OpenSignalIntent): Promise<{
22
+ address: Address;
23
+ character: Address;
24
+ }>;
25
+ export declare function openSignalAddresses(guard: OpenSignalGuard): readonly Address[];
26
+ export declare function validateOpenSignal(guard: OpenSignalGuard, accounts: ReadonlyMap<Address, RawAccount | undefined>, expectedAuthorityHash?: string): Promise<{
27
+ profileDebit: bigint;
28
+ profileReserve: bigint;
29
+ authorityHash: string;
30
+ }>;
31
+ //# sourceMappingURL=open-signal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-signal.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/open-signal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,qBAAqB,EAItB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAY5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B;AACD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAMnD;AAID,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GACrB,SAAS,OAAO,EAAE,CASpB;AACD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,qBAAqB,CAAC,EAAE,MAAM;;;;GAwG/B"}
@@ -0,0 +1,86 @@
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
+ export async function resolveOpenSignal(intent) {
12
+ const [address, character] = await Promise.all([
13
+ deriveScanLifecycleAddress('scanSignal', intent.game, intent.fleet),
14
+ findCharacterPda(intent.profile, intent.game),
15
+ ]);
16
+ return { address: address[0], character };
17
+ }
18
+ function fail(address, message) {
19
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
20
+ }
21
+ export function openSignalAddresses(guard) {
22
+ return [
23
+ guard.address,
24
+ guard.fleet,
25
+ guard.profile,
26
+ guard.character,
27
+ RENT_ADDRESS,
28
+ CLOCK_ADDRESS,
29
+ ];
30
+ }
31
+ export async function validateOpenSignal(guard, accounts, expectedAuthorityHash) {
32
+ const resolved = await resolveOpenSignal(guard);
33
+ if (resolved.address !== guard.address ||
34
+ resolved.character !== guard.character)
35
+ fail(guard.address, 'Signal or Character PDA contradicts the Game, Fleet or Profile. Recreate the setup Plan from fresh canonical accounts.');
36
+ const required = (address) => {
37
+ const raw = accounts.get(address);
38
+ if (!raw || raw.address !== address || raw.executable)
39
+ fail(address, 'A signal setup prerequisite is missing, executable or has a contradictory address. Refetch valid accounts and recreate the Plan.');
40
+ return raw;
41
+ };
42
+ if (accounts.get(guard.address))
43
+ fail(guard.address, 'The canonical signal already exists. Refetch and reuse it; setup cannot replace an existing signal.');
44
+ const fleet = fleetAccountDefinition.decode(required(guard.fleet));
45
+ if (fleet.game !== guard.game ||
46
+ fleet.ownerProfile !== guard.profile ||
47
+ (await deriveFleetAddress(fleet)) !== guard.fleet ||
48
+ fleet.subProfile !== '11111111111111111111111111111111')
49
+ fail(guard.fleet, 'The Fleet has a different Game, owner, canonical PDA or delegated controller. Refetch a directly owned Fleet and recreate setup.');
50
+ const character = characterAccountDefinition.decode(required(guard.character));
51
+ if (character.game !== guard.game ||
52
+ character.playerProfile !== guard.profile)
53
+ fail(guard.character, 'The owner/controller Character does not belong to this Game and Profile. Refetch the canonical Character and recreate setup.');
54
+ const profileRaw = required(guard.profile);
55
+ const profile = profileAccountDefinition.decode(profileRaw);
56
+ const now = readClock(required(CLOCK_ADDRESS));
57
+ const key = profile.keys[guard.keyIndex];
58
+ if (!key ||
59
+ key.address !== guard.authority ||
60
+ (key.expiresAtRaw >= 0n && key.expiresAtRaw < 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
+ if (profileDebit > guard.maximumProfileDebit)
81
+ fail(guard.profile, 'Signal rent now exceeds the approved Profile debit. Recreate setup and inspect the new funding ceiling before signing.');
82
+ if (profileRaw.lamports < profileReserve + profileDebit)
83
+ 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.');
84
+ return { profileDebit, profileReserve, authorityHash };
85
+ }
86
+ //# 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,34 @@
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
+ /** Requires an initialized, unfrozen original Token account of `mint` owned
16
+ * by `owner` and returns its raw balance. A recorded delegate does not prevent
17
+ * the owner from transferring, so it is accepted. */
18
+ export declare function readTokenAccount(account: RawAccount, mint: Address, owner: Address, fail: Fail): bigint;
19
+ /** Validates an explicit payer for idempotent canonical ATA creation and
20
+ * returns the creation instruction, its storage funding, and the payer, Rent
21
+ * and program observations. Reads Rent unless the caller already holds it. */
22
+ export declare function resolveAssociatedTokenCreation(ctx: SageContext, request: {
23
+ readonly payer: Address;
24
+ readonly address: Address;
25
+ readonly owner: Address;
26
+ readonly mint: Address;
27
+ readonly rent?: RawAccount;
28
+ }, fail: Fail, observe: (account: RawAccount, role: string) => Promise<PlanPrecondition>): Promise<{
29
+ readonly instruction: Instruction;
30
+ readonly preconditions: readonly PlanPrecondition[];
31
+ readonly storageFunding: bigint;
32
+ }>;
33
+ export {};
34
+ //# 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;;qDAEqD;AACrD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,IAAI,GACT,MAAM,CAwBR;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,98 @@
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
+ /** Requires an initialized, unfrozen original Token account of `mint` owned
32
+ * by `owner` and returns its raw balance. A recorded delegate does not prevent
33
+ * the owner from transferring, so it is accepted. */
34
+ export function readTokenAccount(account, mint, owner, fail) {
35
+ const { address, data } = account;
36
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
37
+ if (account.executable ||
38
+ account.owner !== ORIGINAL_TOKEN_PROGRAM ||
39
+ data.length !== 165 ||
40
+ [72, 109, 129].some((offset) => view.getUint32(offset, true) > 1))
41
+ fail(`Account ${address} must be a well-formed original Token account of exactly 165 bytes; Token-2022 and multisig layouts are unsupported.`, address);
42
+ const decoder = getAddressDecoder();
43
+ if (view.getUint8(108) !== 1 ||
44
+ decoder.decode(data.subarray(0, 32)) !== mint ||
45
+ decoder.decode(data.subarray(32, 64)) !== owner)
46
+ fail(`Token account ${address} must be initialized, unfrozen and hold mint ${mint} under owner ${owner}; delegated spending is unsupported.`, address);
47
+ return view.getBigUint64(64, true);
48
+ }
49
+ /** Validates an explicit payer for idempotent canonical ATA creation and
50
+ * returns the creation instruction, its storage funding, and the payer, Rent
51
+ * and program observations. Reads Rent unless the caller already holds it. */
52
+ export async function resolveAssociatedTokenCreation(ctx, request, fail, observe) {
53
+ const addresses = [
54
+ request.payer,
55
+ ATA_PROGRAM,
56
+ SYSTEM_PROGRAM,
57
+ ORIGINAL_TOKEN_PROGRAM,
58
+ ...(request.rent === undefined ? [RENT_ADDRESS] : []),
59
+ ];
60
+ const accounts = (await readContextRawAccounts(ctx, addresses)).map((account, index) => account ??
61
+ fail(`ATA creation prerequisite ${addresses[index]} is missing. Create or fund it separately.`, addresses[index]));
62
+ const [payer, ...programs] = accounts.slice(0, 4);
63
+ const rent = request.rent ?? accounts[4];
64
+ if (programs.some((program) => !program.executable))
65
+ fail('ATA creation requires executable associated-token, System and original Token programs in this deployment.', ATA_PROGRAM);
66
+ // Original Token accounts occupy 165 bytes; the shared Rent reader includes
67
+ // the 128-byte account overhead and validates the full sysvar.
68
+ const storageFunding = readRent(rent)(165);
69
+ if (payer.owner !== SYSTEM_PROGRAM ||
70
+ payer.executable ||
71
+ payer.data.length !== 0 ||
72
+ payer.lamports < storageFunding)
73
+ fail(`ATA payer must be a System wallet with at least ${storageFunding} lamports for storage, in addition to transaction fees.`, request.payer);
74
+ const roles = [
75
+ 'ATA payer identity',
76
+ 'Associated-token program',
77
+ 'System program',
78
+ 'Token program',
79
+ 'Rent configuration',
80
+ ];
81
+ return {
82
+ instruction: {
83
+ programAddress: ATA_PROGRAM,
84
+ accounts: [
85
+ { address: request.payer, role: AccountRole.WRITABLE_SIGNER },
86
+ { address: request.address, role: AccountRole.WRITABLE },
87
+ { address: request.owner, role: AccountRole.READONLY },
88
+ { address: request.mint, role: AccountRole.READONLY },
89
+ { address: SYSTEM_PROGRAM, role: AccountRole.READONLY },
90
+ { address: ORIGINAL_TOKEN_PROGRAM, role: AccountRole.READONLY },
91
+ ],
92
+ data: Uint8Array.of(1),
93
+ },
94
+ preconditions: await Promise.all(accounts.map((account, index) => observe(account, roles[index]))),
95
+ storageFunding,
96
+ };
97
+ }
98
+ //# 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,59 @@
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 and fields in schema order.
53
+ */
54
+ export declare function normalizeSchemaGuard(guard: UnknownRecord, field: string, schema: GuardSchema, wire: boolean): UnknownRecord;
55
+ /** Converts a guard to Plan JSON: bigint values become decimal strings and
56
+ * undefined members are omitted, at every depth, preserving key order.
57
+ */
58
+ export declare function guardToWire(value: unknown): unknown;
59
+ //# 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;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,OAAO,GACZ,aAAa,CAsCf;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CASnD"}
@@ -0,0 +1,153 @@
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 and fields in schema order.
109
+ */
110
+ export function normalizeSchemaGuard(guard, field, schema, wire) {
111
+ const fail = schema.error === undefined
112
+ ? invalid
113
+ : () => {
114
+ throw new InvalidActionInputError(String(guard.kind), guard, schema.error.accepted, schema.error.remedy);
115
+ };
116
+ const entries = [
117
+ ...schema.fields,
118
+ ...variantFields(guard, field, schema, wire, fail),
119
+ ];
120
+ const keys = (optional) => entries.filter((entry) => (entry[2] === true) === optional).map(([k]) => k);
121
+ try {
122
+ assertKeys(guard, field, ['kind', ...keys(false)], keys(true));
123
+ }
124
+ catch (error) {
125
+ if (schema.error === undefined)
126
+ throw error;
127
+ fail(field, guard, 'exact guard fields');
128
+ }
129
+ const normalized = { kind: guard.kind };
130
+ for (const [key, type, optional] of entries) {
131
+ if (optional === true && guard[key] === undefined)
132
+ continue;
133
+ normalized[key] = readField(type, guard[key], `${field}.${key}`, wire, fail);
134
+ }
135
+ if (schema.check !== undefined && !schema.check(normalized))
136
+ fail(field, guard, 'internally consistent guard fields');
137
+ return Object.freeze(normalized);
138
+ }
139
+ /** Converts a guard to Plan JSON: bigint values become decimal strings and
140
+ * undefined members are omitted, at every depth, preserving key order.
141
+ */
142
+ export function guardToWire(value) {
143
+ if (typeof value === 'bigint')
144
+ return String(value);
145
+ if (Array.isArray(value))
146
+ return value.map(guardToWire);
147
+ if (value === null || typeof value !== 'object')
148
+ return value;
149
+ return Object.fromEntries(Object.entries(value)
150
+ .filter(([, member]) => member !== undefined)
151
+ .map(([key, member]) => [key, guardToWire(member)]));
152
+ }
153
+ //# 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":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAIjE,MAAM,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAC3C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAE9C,yEAAyE;AACzE,MAAM,UAAU,OAAO,CACrB,KAAa,EACb,KAAc,EACd,aAAqB;IAErB,MAAM,IAAI,uBAAuB,CAC/B,KAAK,EACL,KAAK,EACL,aAAa,EACb,2EAA2E,CAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,KAAa;IACtD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAsB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,KAAa,EACb,QAA2B,EAC3B,WAA8B,EAAE;IAEhC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,CACL,KAAK,EACL,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,EACzD,sBAAsB,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,KAAa;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,KAAa;IACvD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC;QAClD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,+BAA+B,CAAC,CAAC;AAC7D,CAAC;AAwDD,MAAM,cAAc,GAClB,8DAA8D,CAAC;AAEjE,SAAS,SAAS,CAAC,KAAc,EAAE,KAAa,EAAE,IAAU;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,IACE,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,MAAM,GAAG,EAAE;QACjB,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK;QAErE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAChB,IAAoB,EACpB,KAAc,EACd,KAAa,EACb,IAAa,EACb,IAAU;IAEV,IAAI,IAAI,KAAK,SAAS;QACpB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC;YAClD,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,+BAA+B,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,MAAM;QACjB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/D,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,6CAA6C,CAAC,CAAC;IACxE,IAAI,IAAI,KAAK,QAAQ;QACnB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC5E,IAAI,IAAI,KAAK,MAAM;QACjB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACzD,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC9C,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,QAAQ,IAAI,IAAI;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YAC7B,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAEzD,IAAI,CACF,KAAK,EACL,KAAK,EACL,MAAM;oBACJ,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,qCAAqC,CAC1C,CAAC;YACJ,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,MAAM,KAAK,QAAQ;YAC/B,MAAM,IAAI,IAAI,CAAC,GAAG;YAClB,MAAM,IAAK,IAAI,CAAC,GAAc;YAC9B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,KAAK,GAAG,IAAmB,CAAC;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC9B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjE,KAAK,IAAI,KAAK,CAAC,GAAG;QAClB,KAAK,IAAI,KAAK,CAAC,GAAG;QAClB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CACpB,KAAoB,EACpB,KAAa,EACb,MAAmB,EACnB,IAAa,EACb,IAAU;IAEV,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACzE,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAE,CAAC;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5E,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;QAClE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAE;QACnB,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAoB,EACpB,KAAa,EACb,MAAmB,EACnB,IAAa;IAEb,MAAM,IAAI,GACR,MAAM,CAAC,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,EAAE;YACH,MAAM,IAAI,uBAAuB,CAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,EACL,MAAM,CAAC,KAAM,CAAC,QAAQ,EACtB,MAAM,CAAC,KAAM,CAAC,MAAM,CACrB,CAAC;QACJ,CAAC,CAAC;IACR,MAAM,OAAO,GAAG;QACd,GAAG,MAAM,CAAC,MAAM;QAChB,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;KACnD,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,QAAiB,EAAE,EAAE,CACjC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,UAAU,GAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACvD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC;QAC5C,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QAC5D,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,CACzB,IAAI,EACJ,KAAK,CAAC,GAAG,CAAC,EACV,GAAG,KAAK,IAAI,GAAG,EAAE,EACjB,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,oCAAoC,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC"}
@@ -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;AAgUhE,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,gBAAgB,CAkBlB"}