project-cpu-mcp 0.9.0 → 0.10.0

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 (561) hide show
  1. package/README.md +26 -8
  2. package/dist/api/types.d.ts +1374 -103
  3. package/dist/api/types.d.ts.map +1 -1
  4. package/dist/api/types.js +121 -35
  5. package/dist/api/types.js.map +1 -1
  6. package/dist/config/boolean-env.utils.d.ts +2 -0
  7. package/dist/config/boolean-env.utils.d.ts.map +1 -0
  8. package/dist/config/boolean-env.utils.js +15 -0
  9. package/dist/config/boolean-env.utils.js.map +1 -0
  10. package/dist/config/constants.d.ts +6 -0
  11. package/dist/config/constants.d.ts.map +1 -1
  12. package/dist/config/constants.js +6 -0
  13. package/dist/config/constants.js.map +1 -1
  14. package/dist/config/env.d.ts.map +1 -1
  15. package/dist/config/env.js +3 -0
  16. package/dist/config/env.js.map +1 -1
  17. package/dist/config/network.types.d.ts +8 -0
  18. package/dist/config/network.types.d.ts.map +1 -0
  19. package/dist/config/network.types.js +10 -0
  20. package/dist/config/network.types.js.map +1 -0
  21. package/dist/config/types.d.ts +11 -12
  22. package/dist/config/types.d.ts.map +1 -1
  23. package/dist/config/types.js +4 -11
  24. package/dist/config/types.js.map +1 -1
  25. package/dist/contracts/cell.abi.d.ts +48 -0
  26. package/dist/contracts/cell.abi.d.ts.map +1 -1
  27. package/dist/contracts/cell.abi.js +14 -0
  28. package/dist/contracts/cell.abi.js.map +1 -1
  29. package/dist/contracts/trade.abi.d.ts +5 -0
  30. package/dist/contracts/trade.abi.d.ts.map +1 -1
  31. package/dist/contracts/trade.abi.js +1 -0
  32. package/dist/contracts/trade.abi.js.map +1 -1
  33. package/dist/contracts/transport.abi.d.ts +10 -0
  34. package/dist/contracts/transport.abi.d.ts.map +1 -1
  35. package/dist/contracts/transport.abi.js +2 -0
  36. package/dist/contracts/transport.abi.js.map +1 -1
  37. package/dist/geometry/adjacency.data.d.ts +1 -1
  38. package/dist/geometry/adjacency.data.d.ts.map +1 -1
  39. package/dist/geometry/adjacency.data.js +115 -193
  40. package/dist/geometry/adjacency.data.js.map +1 -1
  41. package/dist/geometry/constants.d.ts +1 -1
  42. package/dist/geometry/constants.js +1 -1
  43. package/dist/index.js +7 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/logger/index.d.ts.map +1 -1
  46. package/dist/logger/index.js +2 -1
  47. package/dist/logger/index.js.map +1 -1
  48. package/dist/map/attention.utils.d.ts +2 -3
  49. package/dist/map/attention.utils.d.ts.map +1 -1
  50. package/dist/map/attention.utils.js +29 -14
  51. package/dist/map/attention.utils.js.map +1 -1
  52. package/dist/map/cell-view.utils.d.ts.map +1 -1
  53. package/dist/map/cell-view.utils.js +22 -20
  54. package/dist/map/cell-view.utils.js.map +1 -1
  55. package/dist/map/constants.d.ts +0 -1
  56. package/dist/map/constants.d.ts.map +1 -1
  57. package/dist/map/constants.js +0 -1
  58. package/dist/map/constants.js.map +1 -1
  59. package/dist/map/map.utils.d.ts +8 -3
  60. package/dist/map/map.utils.d.ts.map +1 -1
  61. package/dist/map/map.utils.js.map +1 -1
  62. package/dist/map/process-projection.utils.d.ts +4 -0
  63. package/dist/map/process-projection.utils.d.ts.map +1 -0
  64. package/dist/map/process-projection.utils.js +144 -0
  65. package/dist/map/process-projection.utils.js.map +1 -0
  66. package/dist/map/reader.d.ts +2 -2
  67. package/dist/map/reader.d.ts.map +1 -1
  68. package/dist/map/reader.js +12 -4
  69. package/dist/map/reader.js.map +1 -1
  70. package/dist/map/reader.utils.d.ts +4 -4
  71. package/dist/map/reader.utils.d.ts.map +1 -1
  72. package/dist/map/reader.utils.js +15 -9
  73. package/dist/map/reader.utils.js.map +1 -1
  74. package/dist/map/socket.d.ts.map +1 -1
  75. package/dist/map/socket.js +1 -0
  76. package/dist/map/socket.js.map +1 -1
  77. package/dist/map/storage.utils.d.ts +3 -6
  78. package/dist/map/storage.utils.d.ts.map +1 -1
  79. package/dist/map/storage.utils.js +9 -41
  80. package/dist/map/storage.utils.js.map +1 -1
  81. package/dist/map/store.d.ts +7 -0
  82. package/dist/map/store.d.ts.map +1 -1
  83. package/dist/map/store.js +28 -0
  84. package/dist/map/store.js.map +1 -1
  85. package/dist/map/sync.d.ts +4 -0
  86. package/dist/map/sync.d.ts.map +1 -1
  87. package/dist/map/sync.js +42 -2
  88. package/dist/map/sync.js.map +1 -1
  89. package/dist/map/types.d.ts +123 -28
  90. package/dist/map/types.d.ts.map +1 -1
  91. package/dist/map/types.js +3 -1
  92. package/dist/map/types.js.map +1 -1
  93. package/dist/server.constants.d.ts +3 -0
  94. package/dist/server.constants.d.ts.map +1 -0
  95. package/dist/server.constants.js +24 -0
  96. package/dist/server.constants.js.map +1 -0
  97. package/dist/server.d.ts.map +1 -1
  98. package/dist/server.js +30 -76
  99. package/dist/server.js.map +1 -1
  100. package/dist/services/app-config.service.d.ts.map +1 -1
  101. package/dist/services/app-config.service.js +3 -48
  102. package/dist/services/app-config.service.js.map +1 -1
  103. package/dist/services/app-config.utils.d.ts +2 -12
  104. package/dist/services/app-config.utils.d.ts.map +1 -1
  105. package/dist/services/app-config.utils.js +51 -10
  106. package/dist/services/app-config.utils.js.map +1 -1
  107. package/dist/services/build.service.d.ts +0 -3
  108. package/dist/services/build.service.d.ts.map +1 -1
  109. package/dist/services/build.service.js +15 -35
  110. package/dist/services/build.service.js.map +1 -1
  111. package/dist/services/craft-quote.constants.d.ts +2 -0
  112. package/dist/services/craft-quote.constants.d.ts.map +1 -0
  113. package/dist/services/craft-quote.constants.js +2 -0
  114. package/dist/services/craft-quote.constants.js.map +1 -0
  115. package/dist/services/craft-quote.utils.d.ts +4 -0
  116. package/dist/services/craft-quote.utils.d.ts.map +1 -0
  117. package/dist/services/craft-quote.utils.js +12 -0
  118. package/dist/services/craft-quote.utils.js.map +1 -0
  119. package/dist/services/craft.service.d.ts +1 -7
  120. package/dist/services/craft.service.d.ts.map +1 -1
  121. package/dist/services/craft.service.js +60 -90
  122. package/dist/services/craft.service.js.map +1 -1
  123. package/dist/services/mining.service.d.ts +1 -4
  124. package/dist/services/mining.service.d.ts.map +1 -1
  125. package/dist/services/mining.service.js +41 -72
  126. package/dist/services/mining.service.js.map +1 -1
  127. package/dist/services/mint.constants.d.ts +1 -0
  128. package/dist/services/mint.constants.d.ts.map +1 -1
  129. package/dist/services/mint.constants.js +3 -0
  130. package/dist/services/mint.constants.js.map +1 -1
  131. package/dist/services/mint.service.d.ts +0 -1
  132. package/dist/services/mint.service.d.ts.map +1 -1
  133. package/dist/services/mint.service.js +10 -17
  134. package/dist/services/mint.service.js.map +1 -1
  135. package/dist/services/mode-switch.d.ts +9 -0
  136. package/dist/services/mode-switch.d.ts.map +1 -0
  137. package/dist/services/mode-switch.js +71 -0
  138. package/dist/services/mode-switch.js.map +1 -0
  139. package/dist/services/mode-switch.types.d.ts +60 -0
  140. package/dist/services/mode-switch.types.d.ts.map +1 -0
  141. package/dist/services/mode-switch.types.js +6 -0
  142. package/dist/services/mode-switch.types.js.map +1 -0
  143. package/dist/services/paid-action.constants.d.ts +3 -0
  144. package/dist/services/paid-action.constants.d.ts.map +1 -0
  145. package/dist/services/paid-action.constants.js +11 -0
  146. package/dist/services/paid-action.constants.js.map +1 -0
  147. package/dist/services/paid-action.d.ts +3 -0
  148. package/dist/services/paid-action.d.ts.map +1 -0
  149. package/dist/services/paid-action.js +23 -0
  150. package/dist/services/paid-action.js.map +1 -0
  151. package/dist/services/paid-action.types.d.ts +22 -0
  152. package/dist/services/paid-action.types.d.ts.map +1 -0
  153. package/dist/services/paid-action.types.js +11 -0
  154. package/dist/services/paid-action.types.js.map +1 -0
  155. package/dist/services/reveal-fulfilment.service.d.ts.map +1 -1
  156. package/dist/services/reveal-fulfilment.service.js +2 -5
  157. package/dist/services/reveal-fulfilment.service.js.map +1 -1
  158. package/dist/services/reveal.service.d.ts.map +1 -1
  159. package/dist/services/reveal.service.js +5 -9
  160. package/dist/services/reveal.service.js.map +1 -1
  161. package/dist/services/route.artifact.d.ts +4 -0
  162. package/dist/services/route.artifact.d.ts.map +1 -0
  163. package/dist/services/route.artifact.js +18 -0
  164. package/dist/services/route.artifact.js.map +1 -0
  165. package/dist/services/route.constants.d.ts +14 -0
  166. package/dist/services/route.constants.d.ts.map +1 -1
  167. package/dist/services/route.constants.js +84 -8
  168. package/dist/services/route.constants.js.map +1 -1
  169. package/dist/services/route.service.d.ts +4 -0
  170. package/dist/services/route.service.d.ts.map +1 -1
  171. package/dist/services/route.service.js +108 -87
  172. package/dist/services/route.service.js.map +1 -1
  173. package/dist/services/route.utils.d.ts +96 -5
  174. package/dist/services/route.utils.d.ts.map +1 -1
  175. package/dist/services/route.utils.js +196 -37
  176. package/dist/services/route.utils.js.map +1 -1
  177. package/dist/services/swap.service.d.ts +0 -1
  178. package/dist/services/swap.service.d.ts.map +1 -1
  179. package/dist/services/swap.service.js +11 -17
  180. package/dist/services/swap.service.js.map +1 -1
  181. package/dist/services/syndicate.constants.d.ts +3 -0
  182. package/dist/services/syndicate.constants.d.ts.map +1 -0
  183. package/dist/services/syndicate.constants.js +3 -0
  184. package/dist/services/syndicate.constants.js.map +1 -0
  185. package/dist/services/syndicate.helpers.d.ts.map +1 -1
  186. package/dist/services/syndicate.helpers.js +0 -2
  187. package/dist/services/syndicate.helpers.js.map +1 -1
  188. package/dist/services/syndicate.service.d.ts +3 -3
  189. package/dist/services/syndicate.service.d.ts.map +1 -1
  190. package/dist/services/syndicate.service.js +27 -32
  191. package/dist/services/syndicate.service.js.map +1 -1
  192. package/dist/services/trade.service.d.ts +0 -3
  193. package/dist/services/trade.service.d.ts.map +1 -1
  194. package/dist/services/trade.service.js +27 -47
  195. package/dist/services/trade.service.js.map +1 -1
  196. package/dist/services/transport.service.d.ts +0 -2
  197. package/dist/services/transport.service.d.ts.map +1 -1
  198. package/dist/services/transport.service.js +16 -33
  199. package/dist/services/transport.service.js.map +1 -1
  200. package/dist/services/types.d.ts +88 -44
  201. package/dist/services/types.d.ts.map +1 -1
  202. package/dist/services/types.js.map +1 -1
  203. package/dist/services/withdraw.service.d.ts +0 -2
  204. package/dist/services/withdraw.service.d.ts.map +1 -1
  205. package/dist/services/withdraw.service.js +6 -17
  206. package/dist/services/withdraw.service.js.map +1 -1
  207. package/dist/tools/authenticate.d.ts.map +1 -1
  208. package/dist/tools/authenticate.js +3 -1
  209. package/dist/tools/authenticate.js.map +1 -1
  210. package/dist/tools/build/build.d.ts +1 -1
  211. package/dist/tools/build/build.d.ts.map +1 -1
  212. package/dist/tools/build/build.js +10 -35
  213. package/dist/tools/build/build.js.map +1 -1
  214. package/dist/tools/build/constants.d.ts +36 -0
  215. package/dist/tools/build/constants.d.ts.map +1 -1
  216. package/dist/tools/build/constants.js +36 -0
  217. package/dist/tools/build/constants.js.map +1 -1
  218. package/dist/tools/build/demolish.d.ts +1 -1
  219. package/dist/tools/build/demolish.d.ts.map +1 -1
  220. package/dist/tools/build/demolish.js +5 -1
  221. package/dist/tools/build/demolish.js.map +1 -1
  222. package/dist/tools/build/panel.utils.d.ts +4 -0
  223. package/dist/tools/build/panel.utils.d.ts.map +1 -0
  224. package/dist/tools/build/panel.utils.js +103 -0
  225. package/dist/tools/build/panel.utils.js.map +1 -0
  226. package/dist/tools/build/types.d.ts +9 -0
  227. package/dist/tools/build/types.d.ts.map +1 -1
  228. package/dist/tools/build/types.js.map +1 -1
  229. package/dist/tools/build/upgrade.d.ts +1 -1
  230. package/dist/tools/build/upgrade.d.ts.map +1 -1
  231. package/dist/tools/build/upgrade.js +10 -22
  232. package/dist/tools/build/upgrade.js.map +1 -1
  233. package/dist/tools/config/building-card/building-card.d.ts +4 -0
  234. package/dist/tools/config/building-card/building-card.d.ts.map +1 -0
  235. package/dist/tools/config/building-card/building-card.js +20 -0
  236. package/dist/tools/config/building-card/building-card.js.map +1 -0
  237. package/dist/tools/config/building-card/building-card.utils.d.ts +10 -0
  238. package/dist/tools/config/building-card/building-card.utils.d.ts.map +1 -0
  239. package/dist/tools/config/building-card/building-card.utils.js +206 -0
  240. package/dist/tools/config/building-card/building-card.utils.js.map +1 -0
  241. package/dist/tools/config/building-card/constants.d.ts +39 -0
  242. package/dist/tools/config/building-card/constants.d.ts.map +1 -0
  243. package/dist/tools/config/building-card/constants.js +43 -0
  244. package/dist/tools/config/building-card/constants.js.map +1 -0
  245. package/dist/tools/config/building-card/types.d.ts +63 -0
  246. package/dist/tools/config/building-card/types.d.ts.map +1 -0
  247. package/dist/tools/config/building-card/types.js +8 -0
  248. package/dist/tools/config/building-card/types.js.map +1 -0
  249. package/dist/tools/config/find-buildings/constants.d.ts +9 -0
  250. package/dist/tools/config/find-buildings/constants.d.ts.map +1 -0
  251. package/dist/tools/config/find-buildings/constants.js +19 -0
  252. package/dist/tools/config/find-buildings/constants.js.map +1 -0
  253. package/dist/tools/config/find-buildings/find-buildings.d.ts +4 -0
  254. package/dist/tools/config/find-buildings/find-buildings.d.ts.map +1 -0
  255. package/dist/tools/config/find-buildings/find-buildings.js +31 -0
  256. package/dist/tools/config/find-buildings/find-buildings.js.map +1 -0
  257. package/dist/tools/config/find-buildings/find-buildings.utils.d.ts +14 -0
  258. package/dist/tools/config/find-buildings/find-buildings.utils.d.ts.map +1 -0
  259. package/dist/tools/config/find-buildings/find-buildings.utils.js +85 -0
  260. package/dist/tools/config/find-buildings/find-buildings.utils.js.map +1 -0
  261. package/dist/tools/config/find-buildings/types.d.ts +36 -0
  262. package/dist/tools/config/find-buildings/types.d.ts.map +1 -0
  263. package/dist/tools/config/find-buildings/types.js +40 -0
  264. package/dist/tools/config/find-buildings/types.js.map +1 -0
  265. package/dist/tools/config/get-game-config/constants.d.ts +19 -7
  266. package/dist/tools/config/get-game-config/constants.d.ts.map +1 -1
  267. package/dist/tools/config/get-game-config/constants.js +48 -15
  268. package/dist/tools/config/get-game-config/constants.js.map +1 -1
  269. package/dist/tools/config/get-game-config/get-game-config.d.ts.map +1 -1
  270. package/dist/tools/config/get-game-config/get-game-config.js +4 -43
  271. package/dist/tools/config/get-game-config/get-game-config.js.map +1 -1
  272. package/dist/tools/config/get-game-config/get-game-config.utils.d.ts +9 -5
  273. package/dist/tools/config/get-game-config/get-game-config.utils.d.ts.map +1 -1
  274. package/dist/tools/config/get-game-config/get-game-config.utils.js +73 -77
  275. package/dist/tools/config/get-game-config/get-game-config.utils.js.map +1 -1
  276. package/dist/tools/config/get-game-config/types.d.ts +36 -0
  277. package/dist/tools/config/get-game-config/types.d.ts.map +1 -0
  278. package/dist/tools/config/get-game-config/types.js +2 -0
  279. package/dist/tools/config/get-game-config/types.js.map +1 -0
  280. package/dist/tools/config/resource-lens/constants.d.ts +24 -0
  281. package/dist/tools/config/resource-lens/constants.d.ts.map +1 -0
  282. package/dist/tools/config/resource-lens/constants.js +36 -0
  283. package/dist/tools/config/resource-lens/constants.js.map +1 -0
  284. package/dist/tools/config/resource-lens/resource-lens.d.ts +4 -0
  285. package/dist/tools/config/resource-lens/resource-lens.d.ts.map +1 -0
  286. package/dist/tools/config/resource-lens/resource-lens.js +16 -0
  287. package/dist/tools/config/resource-lens/resource-lens.js.map +1 -0
  288. package/dist/tools/config/resource-lens/resource-lens.utils.d.ts +6 -0
  289. package/dist/tools/config/resource-lens/resource-lens.utils.d.ts.map +1 -0
  290. package/dist/tools/config/resource-lens/resource-lens.utils.js +108 -0
  291. package/dist/tools/config/resource-lens/resource-lens.utils.js.map +1 -0
  292. package/dist/tools/config/resource-lens/types.d.ts +34 -0
  293. package/dist/tools/config/resource-lens/types.d.ts.map +1 -0
  294. package/dist/tools/config/resource-lens/types.js +8 -0
  295. package/dist/tools/config/resource-lens/types.js.map +1 -0
  296. package/dist/tools/craft/claim/claim-craft.d.ts +1 -1
  297. package/dist/tools/craft/claim/claim-craft.d.ts.map +1 -1
  298. package/dist/tools/craft/claim/claim-craft.js +5 -1
  299. package/dist/tools/craft/claim/claim-craft.js.map +1 -1
  300. package/dist/tools/craft/craft.d.ts +1 -1
  301. package/dist/tools/craft/craft.d.ts.map +1 -1
  302. package/dist/tools/craft/craft.js +5 -1
  303. package/dist/tools/craft/craft.js.map +1 -1
  304. package/dist/tools/map/attention/attention.d.ts.map +1 -1
  305. package/dist/tools/map/attention/attention.js +12 -6
  306. package/dist/tools/map/attention/attention.js.map +1 -1
  307. package/dist/tools/map/attention/constants.d.ts +19 -0
  308. package/dist/tools/map/attention/constants.d.ts.map +1 -1
  309. package/dist/tools/map/attention/constants.js +22 -0
  310. package/dist/tools/map/attention/constants.js.map +1 -1
  311. package/dist/tools/map/attention/panel.utils.d.ts +3 -0
  312. package/dist/tools/map/attention/panel.utils.d.ts.map +1 -0
  313. package/dist/tools/map/attention/panel.utils.js +57 -0
  314. package/dist/tools/map/attention/panel.utils.js.map +1 -0
  315. package/dist/tools/map/attention/types.d.ts +12 -1
  316. package/dist/tools/map/attention/types.d.ts.map +1 -1
  317. package/dist/tools/map/attention/types.js.map +1 -1
  318. package/dist/tools/map/get-cell/constants.d.ts +20 -0
  319. package/dist/tools/map/get-cell/constants.d.ts.map +1 -1
  320. package/dist/tools/map/get-cell/constants.js +20 -0
  321. package/dist/tools/map/get-cell/constants.js.map +1 -1
  322. package/dist/tools/map/get-cell/demolish.utils.d.ts +1 -1
  323. package/dist/tools/map/get-cell/demolish.utils.d.ts.map +1 -1
  324. package/dist/tools/map/get-cell/demolish.utils.js +3 -5
  325. package/dist/tools/map/get-cell/demolish.utils.js.map +1 -1
  326. package/dist/tools/map/get-cell/get-cell.d.ts.map +1 -1
  327. package/dist/tools/map/get-cell/get-cell.js +12 -5
  328. package/dist/tools/map/get-cell/get-cell.js.map +1 -1
  329. package/dist/tools/map/get-cell/panel.utils.d.ts +3 -0
  330. package/dist/tools/map/get-cell/panel.utils.d.ts.map +1 -0
  331. package/dist/tools/map/get-cell/panel.utils.js +65 -0
  332. package/dist/tools/map/get-cell/panel.utils.js.map +1 -0
  333. package/dist/tools/map/get-cell/types.d.ts +9 -0
  334. package/dist/tools/map/get-cell/types.d.ts.map +1 -1
  335. package/dist/tools/map/get-cell/types.js.map +1 -1
  336. package/dist/tools/map/get-changes/constants.d.ts +31 -0
  337. package/dist/tools/map/get-changes/constants.d.ts.map +1 -1
  338. package/dist/tools/map/get-changes/constants.js +47 -0
  339. package/dist/tools/map/get-changes/constants.js.map +1 -1
  340. package/dist/tools/map/get-changes/get-changes.d.ts.map +1 -1
  341. package/dist/tools/map/get-changes/get-changes.js +9 -3
  342. package/dist/tools/map/get-changes/get-changes.js.map +1 -1
  343. package/dist/tools/map/get-changes/panel.utils.d.ts +3 -0
  344. package/dist/tools/map/get-changes/panel.utils.d.ts.map +1 -0
  345. package/dist/tools/map/get-changes/panel.utils.js +46 -0
  346. package/dist/tools/map/get-changes/panel.utils.js.map +1 -0
  347. package/dist/tools/map/get-changes/types.d.ts +9 -0
  348. package/dist/tools/map/get-changes/types.d.ts.map +1 -1
  349. package/dist/tools/map/get-changes/types.js.map +1 -1
  350. package/dist/tools/map/get-map/constants.js +1 -1
  351. package/dist/tools/map/label.utils.d.ts +1 -0
  352. package/dist/tools/map/label.utils.d.ts.map +1 -1
  353. package/dist/tools/mining/claim/claim-mining.d.ts +1 -1
  354. package/dist/tools/mining/claim/claim-mining.d.ts.map +1 -1
  355. package/dist/tools/mining/claim/claim-mining.js +5 -1
  356. package/dist/tools/mining/claim/claim-mining.js.map +1 -1
  357. package/dist/tools/mining/start/start-mining.d.ts +1 -1
  358. package/dist/tools/mining/start/start-mining.d.ts.map +1 -1
  359. package/dist/tools/mining/start/start-mining.js +5 -1
  360. package/dist/tools/mining/start/start-mining.js.map +1 -1
  361. package/dist/tools/mint/constants.d.ts.map +1 -1
  362. package/dist/tools/mint/constants.js +10 -9
  363. package/dist/tools/mint/constants.js.map +1 -1
  364. package/dist/tools/mint/format.utils.js +4 -4
  365. package/dist/tools/mint/format.utils.js.map +1 -1
  366. package/dist/tools/mint/mint-cell.d.ts +1 -1
  367. package/dist/tools/mint/mint-cell.d.ts.map +1 -1
  368. package/dist/tools/mint/mint-cell.js +2 -1
  369. package/dist/tools/mint/mint-cell.js.map +1 -1
  370. package/dist/tools/persona/constants.d.ts +12 -0
  371. package/dist/tools/persona/constants.d.ts.map +1 -0
  372. package/dist/tools/persona/constants.js +144 -0
  373. package/dist/tools/persona/constants.js.map +1 -0
  374. package/dist/tools/persona/persona.d.ts +4 -0
  375. package/dist/tools/persona/persona.d.ts.map +1 -0
  376. package/dist/tools/persona/persona.gate.d.ts +5 -0
  377. package/dist/tools/persona/persona.gate.d.ts.map +1 -0
  378. package/dist/tools/persona/persona.gate.js +21 -0
  379. package/dist/tools/persona/persona.gate.js.map +1 -0
  380. package/dist/tools/persona/persona.js +9 -0
  381. package/dist/tools/persona/persona.js.map +1 -0
  382. package/dist/tools/persona/persona.utils.d.ts +2 -0
  383. package/dist/tools/persona/persona.utils.d.ts.map +1 -0
  384. package/dist/tools/persona/persona.utils.js +17 -0
  385. package/dist/tools/persona/persona.utils.js.map +1 -0
  386. package/dist/tools/persona/types.d.ts +14 -0
  387. package/dist/tools/persona/types.d.ts.map +1 -0
  388. package/dist/tools/persona/types.js +11 -0
  389. package/dist/tools/persona/types.js.map +1 -0
  390. package/dist/tools/reveal/fulfill-reveal.d.ts +1 -1
  391. package/dist/tools/reveal/fulfill-reveal.d.ts.map +1 -1
  392. package/dist/tools/reveal/fulfill-reveal.js +11 -1
  393. package/dist/tools/reveal/fulfill-reveal.js.map +1 -1
  394. package/dist/tools/reveal/reveal.d.ts +1 -1
  395. package/dist/tools/reveal/reveal.d.ts.map +1 -1
  396. package/dist/tools/reveal/reveal.js +11 -1
  397. package/dist/tools/reveal/reveal.js.map +1 -1
  398. package/dist/tools/swap/swap.d.ts +1 -1
  399. package/dist/tools/swap/swap.d.ts.map +1 -1
  400. package/dist/tools/swap/swap.js +2 -1
  401. package/dist/tools/swap/swap.js.map +1 -1
  402. package/dist/tools/syndicate/create/create-syndicate.d.ts.map +1 -1
  403. package/dist/tools/syndicate/create/create-syndicate.js +6 -9
  404. package/dist/tools/syndicate/create/create-syndicate.js.map +1 -1
  405. package/dist/tools/syndicate/format.utils.d.ts.map +1 -1
  406. package/dist/tools/syndicate/format.utils.js +7 -9
  407. package/dist/tools/syndicate/format.utils.js.map +1 -1
  408. package/dist/tools/syndicate/get/constants.d.ts.map +1 -1
  409. package/dist/tools/syndicate/get/constants.js +3 -2
  410. package/dist/tools/syndicate/get/constants.js.map +1 -1
  411. package/dist/tools/syndicate/get/get-syndicate.d.ts.map +1 -1
  412. package/dist/tools/syndicate/get/get-syndicate.js +6 -9
  413. package/dist/tools/syndicate/get/get-syndicate.js.map +1 -1
  414. package/dist/tools/syndicate/join/constants.d.ts.map +1 -1
  415. package/dist/tools/syndicate/join/constants.js +2 -1
  416. package/dist/tools/syndicate/join/constants.js.map +1 -1
  417. package/dist/tools/syndicate/join/join-syndicate.d.ts.map +1 -1
  418. package/dist/tools/syndicate/join/join-syndicate.js +6 -9
  419. package/dist/tools/syndicate/join/join-syndicate.js.map +1 -1
  420. package/dist/tools/syndicate/leave/leave-syndicate.d.ts.map +1 -1
  421. package/dist/tools/syndicate/leave/leave-syndicate.js +6 -9
  422. package/dist/tools/syndicate/leave/leave-syndicate.js.map +1 -1
  423. package/dist/tools/syndicate/list/constants.d.ts.map +1 -1
  424. package/dist/tools/syndicate/list/constants.js +3 -2
  425. package/dist/tools/syndicate/list/constants.js.map +1 -1
  426. package/dist/tools/syndicate/list/list-syndicates.d.ts.map +1 -1
  427. package/dist/tools/syndicate/list/list-syndicates.js +6 -9
  428. package/dist/tools/syndicate/list/list-syndicates.js.map +1 -1
  429. package/dist/tools/syndicate/membership/constants.js +2 -2
  430. package/dist/tools/syndicate/membership/constants.js.map +1 -1
  431. package/dist/tools/syndicate/membership/get-membership.d.ts.map +1 -1
  432. package/dist/tools/syndicate/membership/get-membership.js +6 -9
  433. package/dist/tools/syndicate/membership/get-membership.js.map +1 -1
  434. package/dist/tools/syndicate/player-content/constants.d.ts +3 -0
  435. package/dist/tools/syndicate/player-content/constants.d.ts.map +1 -0
  436. package/dist/tools/syndicate/player-content/constants.js +13 -0
  437. package/dist/tools/syndicate/player-content/constants.js.map +1 -0
  438. package/dist/tools/syndicate/player-content/get-syndicate-player-content.d.ts +4 -0
  439. package/dist/tools/syndicate/player-content/get-syndicate-player-content.d.ts.map +1 -0
  440. package/dist/tools/syndicate/player-content/get-syndicate-player-content.js +13 -0
  441. package/dist/tools/syndicate/player-content/get-syndicate-player-content.js.map +1 -0
  442. package/dist/tools/syndicate/player-content/presentation.utils.d.ts +21 -0
  443. package/dist/tools/syndicate/player-content/presentation.utils.d.ts.map +1 -0
  444. package/dist/tools/syndicate/player-content/presentation.utils.js +22 -0
  445. package/dist/tools/syndicate/player-content/presentation.utils.js.map +1 -0
  446. package/dist/tools/syndicate/player-content/types.d.ts +71 -0
  447. package/dist/tools/syndicate/player-content/types.d.ts.map +1 -0
  448. package/dist/tools/syndicate/player-content/types.js +30 -0
  449. package/dist/tools/syndicate/player-content/types.js.map +1 -0
  450. package/dist/tools/syndicate/presentation.utils.d.ts +8 -0
  451. package/dist/tools/syndicate/presentation.utils.d.ts.map +1 -0
  452. package/dist/tools/syndicate/presentation.utils.js +121 -0
  453. package/dist/tools/syndicate/presentation.utils.js.map +1 -0
  454. package/dist/tools/syndicate/set-params/constants.d.ts.map +1 -1
  455. package/dist/tools/syndicate/set-params/constants.js +4 -2
  456. package/dist/tools/syndicate/set-params/constants.js.map +1 -1
  457. package/dist/tools/syndicate/set-params/set-syndicate-params.d.ts.map +1 -1
  458. package/dist/tools/syndicate/set-params/set-syndicate-params.js +6 -9
  459. package/dist/tools/syndicate/set-params/set-syndicate-params.js.map +1 -1
  460. package/dist/tools/syndicate/transfer-manager/transfer-syndicate-manager.d.ts.map +1 -1
  461. package/dist/tools/syndicate/transfer-manager/transfer-syndicate-manager.js +6 -9
  462. package/dist/tools/syndicate/transfer-manager/transfer-syndicate-manager.js.map +1 -1
  463. package/dist/tools/syndicate/types.d.ts +36 -0
  464. package/dist/tools/syndicate/types.d.ts.map +1 -1
  465. package/dist/tools/syndicate/types.js +11 -0
  466. package/dist/tools/syndicate/types.js.map +1 -1
  467. package/dist/tools/trade/buy-lot/buy-lot.d.ts +1 -1
  468. package/dist/tools/trade/buy-lot/buy-lot.d.ts.map +1 -1
  469. package/dist/tools/trade/buy-lot/buy-lot.js +2 -1
  470. package/dist/tools/trade/buy-lot/buy-lot.js.map +1 -1
  471. package/dist/tools/trade/cancel-lot/cancel-lot.d.ts +1 -1
  472. package/dist/tools/trade/cancel-lot/cancel-lot.d.ts.map +1 -1
  473. package/dist/tools/trade/cancel-lot/cancel-lot.js +2 -1
  474. package/dist/tools/trade/cancel-lot/cancel-lot.js.map +1 -1
  475. package/dist/tools/trade/create-lot/create-lot.d.ts +1 -1
  476. package/dist/tools/trade/create-lot/create-lot.d.ts.map +1 -1
  477. package/dist/tools/trade/create-lot/create-lot.js +2 -1
  478. package/dist/tools/trade/create-lot/create-lot.js.map +1 -1
  479. package/dist/tools/trade/set-sale-fee/set-sale-fee.d.ts +1 -1
  480. package/dist/tools/trade/set-sale-fee/set-sale-fee.d.ts.map +1 -1
  481. package/dist/tools/trade/set-sale-fee/set-sale-fee.js +2 -1
  482. package/dist/tools/trade/set-sale-fee/set-sale-fee.js.map +1 -1
  483. package/dist/tools/transport/constants.d.ts.map +1 -1
  484. package/dist/tools/transport/constants.js +45 -29
  485. package/dist/tools/transport/constants.js.map +1 -1
  486. package/dist/tools/transport/finalize/finalize-delivery.d.ts +1 -1
  487. package/dist/tools/transport/finalize/finalize-delivery.d.ts.map +1 -1
  488. package/dist/tools/transport/finalize/finalize-delivery.js +2 -1
  489. package/dist/tools/transport/finalize/finalize-delivery.js.map +1 -1
  490. package/dist/tools/transport/network/constants.d.ts +16 -0
  491. package/dist/tools/transport/network/constants.d.ts.map +1 -1
  492. package/dist/tools/transport/network/constants.js +16 -0
  493. package/dist/tools/transport/network/constants.js.map +1 -1
  494. package/dist/tools/transport/network/panel.utils.d.ts +3 -0
  495. package/dist/tools/transport/network/panel.utils.d.ts.map +1 -0
  496. package/dist/tools/transport/network/panel.utils.js +32 -0
  497. package/dist/tools/transport/network/panel.utils.js.map +1 -0
  498. package/dist/tools/transport/network/route-network.d.ts.map +1 -1
  499. package/dist/tools/transport/network/route-network.js +3 -20
  500. package/dist/tools/transport/network/route-network.js.map +1 -1
  501. package/dist/tools/transport/next-hops/constants.d.ts +1 -0
  502. package/dist/tools/transport/next-hops/constants.d.ts.map +1 -1
  503. package/dist/tools/transport/next-hops/constants.js +2 -0
  504. package/dist/tools/transport/next-hops/constants.js.map +1 -1
  505. package/dist/tools/transport/next-hops/next-hops.d.ts.map +1 -1
  506. package/dist/tools/transport/next-hops/next-hops.js +20 -9
  507. package/dist/tools/transport/next-hops/next-hops.js.map +1 -1
  508. package/dist/tools/transport/quote/constants.d.ts.map +1 -1
  509. package/dist/tools/transport/quote/constants.js +8 -3
  510. package/dist/tools/transport/quote/constants.js.map +1 -1
  511. package/dist/tools/transport/transport.d.ts +1 -1
  512. package/dist/tools/transport/transport.d.ts.map +1 -1
  513. package/dist/tools/transport/transport.js +2 -1
  514. package/dist/tools/transport/transport.js.map +1 -1
  515. package/dist/tools/transport/types.d.ts +3 -2
  516. package/dist/tools/transport/types.d.ts.map +1 -1
  517. package/dist/tools/transport/types.js +21 -14
  518. package/dist/tools/transport/types.js.map +1 -1
  519. package/dist/tools/types.d.ts +25 -0
  520. package/dist/tools/types.d.ts.map +1 -1
  521. package/dist/tools/types.js +26 -1
  522. package/dist/tools/types.js.map +1 -1
  523. package/dist/tools/withdraw/withdraw.d.ts +1 -1
  524. package/dist/tools/withdraw/withdraw.d.ts.map +1 -1
  525. package/dist/tools/withdraw/withdraw.js +2 -1
  526. package/dist/tools/withdraw/withdraw.js.map +1 -1
  527. package/dist/utils/panel.constants.d.ts +18 -0
  528. package/dist/utils/panel.constants.d.ts.map +1 -0
  529. package/dist/utils/panel.constants.js +24 -0
  530. package/dist/utils/panel.constants.js.map +1 -0
  531. package/dist/utils/panel.types.d.ts +10 -0
  532. package/dist/utils/panel.types.d.ts.map +1 -0
  533. package/dist/utils/panel.types.js +2 -0
  534. package/dist/utils/panel.types.js.map +1 -0
  535. package/dist/utils/panel.utils.d.ts +4 -0
  536. package/dist/utils/panel.utils.d.ts.map +1 -0
  537. package/dist/utils/panel.utils.js +117 -0
  538. package/dist/utils/panel.utils.js.map +1 -0
  539. package/dist/utils/safe-json.constants.d.ts +2 -0
  540. package/dist/utils/safe-json.constants.d.ts.map +1 -0
  541. package/dist/utils/safe-json.constants.js +20 -0
  542. package/dist/utils/safe-json.constants.js.map +1 -0
  543. package/dist/utils/safe-json.utils.d.ts +3 -0
  544. package/dist/utils/safe-json.utils.d.ts.map +1 -0
  545. package/dist/utils/safe-json.utils.js +44 -0
  546. package/dist/utils/safe-json.utils.js.map +1 -0
  547. package/dist/version/tool-guard.d.ts +1 -1
  548. package/dist/version/tool-guard.d.ts.map +1 -1
  549. package/dist/version/tool-guard.js +3 -3
  550. package/dist/version/tool-guard.js.map +1 -1
  551. package/dist/version/types.d.ts +1 -1
  552. package/dist/version/types.d.ts.map +1 -1
  553. package/package.json +1 -1
  554. package/dist/map/process.utils.d.ts +0 -32
  555. package/dist/map/process.utils.d.ts.map +0 -1
  556. package/dist/map/process.utils.js +0 -30
  557. package/dist/map/process.utils.js.map +0 -1
  558. package/dist/map/settle.utils.d.ts +0 -20
  559. package/dist/map/settle.utils.d.ts.map +0 -1
  560. package/dist/map/settle.utils.js +0 -77
  561. package/dist/map/settle.utils.js.map +0 -1
package/dist/server.js CHANGED
@@ -1,12 +1,16 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
3
  import pkg from '../package.json' with { type: 'json' };
4
+ import { SENTENCE_BOUNDARY, SERVER_INSTRUCTIONS } from './server.constants.js';
4
5
  import { registerGetBalanceTool } from './tools/account/get-balance/get-balance.js';
5
6
  import { registerAuthenticateTool } from './tools/authenticate.js';
6
7
  import { registerBuildTool } from './tools/build/build.js';
7
8
  import { registerDemolishTool } from './tools/build/demolish.js';
8
9
  import { registerUpgradeTool } from './tools/build/upgrade.js';
10
+ import { registerGetBuildingTool } from './tools/config/building-card/building-card.js';
11
+ import { registerFindBuildingsTool } from './tools/config/find-buildings/find-buildings.js';
9
12
  import { registerGetGameConfigTool } from './tools/config/get-game-config/get-game-config.js';
13
+ import { registerGetResourceTool } from './tools/config/resource-lens/resource-lens.js';
10
14
  import { registerClaimCraftTool } from './tools/craft/claim/claim-craft.js';
11
15
  import { registerCraftTool } from './tools/craft/craft.js';
12
16
  import { registerGetCraftStatusTool } from './tools/craft/get-status/get-craft-status.js';
@@ -20,6 +24,9 @@ import { registerGetMiningStatusTool } from './tools/mining/get-status/get-minin
20
24
  import { registerStartMiningTool } from './tools/mining/start/start-mining.js';
21
25
  import { registerMintCellTool } from './tools/mint/mint-cell.js';
22
26
  import { registerQuoteMintTool } from './tools/mint/quote/quote-mint.js';
27
+ import { PERSONA_TOOL_NAME } from './tools/persona/constants.js';
28
+ import { createPersonaDelivery, createPersonaGate } from './tools/persona/persona.gate.js';
29
+ import { registerPersonaTool } from './tools/persona/persona.js';
23
30
  import { registerFulfillRevealTool } from './tools/reveal/fulfill-reveal.js';
24
31
  import { registerRevealTool } from './tools/reveal/reveal.js';
25
32
  import { registerQuoteSwapTool } from './tools/swap/quote/quote-swap.js';
@@ -30,6 +37,7 @@ import { registerJoinSyndicateTool } from './tools/syndicate/join/join-syndicate
30
37
  import { registerLeaveSyndicateTool } from './tools/syndicate/leave/leave-syndicate.js';
31
38
  import { registerListSyndicatesTool } from './tools/syndicate/list/list-syndicates.js';
32
39
  import { registerGetSyndicateMembershipTool } from './tools/syndicate/membership/get-membership.js';
40
+ import { registerGetSyndicatePlayerContentTool } from './tools/syndicate/player-content/get-syndicate-player-content.js';
33
41
  import { registerSetSyndicateParamsTool } from './tools/syndicate/set-params/set-syndicate-params.js';
34
42
  import { registerTransferSyndicateManagerTool } from './tools/syndicate/transfer-manager/transfer-syndicate-manager.js';
35
43
  import { registerBuyLotTool } from './tools/trade/buy-lot/buy-lot.js';
@@ -54,84 +62,25 @@ import { registerWithdrawTool } from './tools/withdraw/withdraw.js';
54
62
  import { createBackendVersionGate } from './version/backend-version.js';
55
63
  import { createPackageVersionGate } from './version/package-version.js';
56
64
  import { createGuardedRegistrar } from './version/tool-guard.js';
57
- const SERVER_INSTRUCTIONS = [
58
- 'MCP server for Project CPU (blockchain game on EVM).',
59
- 'Call `cpu_authenticate` to create a session: in the default EVM mode it signs in via SIWE locally;',
60
- 'in AGW mode it starts a Device Authorization flow.',
61
- 'Read the static rulebook once with `cpu_get_game_config` — resource catalog, the building catalog (each',
62
- "building's kind, cost, and what it mines or crafts), reveal cost, recipes, and contract addresses.",
63
- 'The world is a finite sphere of 48,990 land cells identified only by tokenId (1..48990) — there are no',
64
- 'coordinates; adjacency comes from each cell’s `neighbors` list, and you plan routes yourself. The routing',
65
- 'loop: PLAN once over `cpu_route_network` (the full waypoint road map — nodes, legal hops, fees, gaps),',
66
- 'EXECUTE leg by leg re-checking the current position with the cheap `cpu_next_hops` (the world changes',
67
- 'while goods travel), and VERIFY every chain with `cpu_quote_transport` before spending. Foreign cells are',
68
- 'never waypoints: a belt of foreign land wider than your hop reach with no hubs is a wall — goods stop at',
69
- 'the border until you bridge it (a border Hub + a landing point, buying land across, or a detour).',
70
- 'The world map is loaded at startup and kept current in the background; read it with `cpu_get_map`',
71
- '(situational awareness), `cpu_get_cell` (inspect one cell), `cpu_get_changes` (react to other players since a',
72
- 'given version), and `cpu_get_attention` (your owner-scoped to-do list of stalled/near-full/finished/depleted/',
73
- 'unbuilt cells + deliveries ready to finalize). You only observe updates when you call these — there is no push.',
74
- 'Act on a cell you own with `cpu_reveal`, which surfaces its resource deposits on-chain.',
75
- 'Place a building with `cpu_build` (paid in $CPU, auto-settled on-chain) — an extractor mines a raw deposit, a',
76
- 'crafter runs a recipe, the Hub routes transport/trade. Building takes time and is not usable until it',
77
- 'finishes. Once an extractor is ready, start it with `cpu_start_mining` (pick the target resource, or omit it',
78
- 'for a single-resource extractor, and say how many cycles to run); it then yields a fixed amount of the raw',
79
- 'resource each cycle — read progress with `cpu_get_mining_status` and bank matured cycles with',
80
- '`cpu_claim_mining`. Mining and crafting are both bounded jobs: you book the cycles up front, the job ends',
81
- 'itself once it has run them (mining also ends early if the deposit runs dry), and there is no cancel — so',
82
- 'size the run to how long you want that cell committed. A cell runs one job at a time; claiming a finished',
83
- 'job frees the slot.',
84
- 'Every resource has a per-cell warehouse with a storage cap. Claims settle in whole cycles, so production',
85
- 'stalls as soon as the room drops below one whole cycle of output — before the box reads full — and stays',
86
- 'stalled until you offload it (transport, sell, craft, or withdraw). Stalling burns time, not the schedule:',
87
- 'the booked cycles survive, the waiting does not. A null cap means uncapped.',
88
- '`cpu_get_mining_status`/`cpu_get_craft_status` report the stall; `cpu_get_attention` lists every stalled,',
89
- 'near-full or finished cell at once.',
90
- 'Move resources between cells with `cpu_transport` (read `cpu_route_network`, chain waypoints yourself, then preview',
91
- 'cost with `cpu_quote_transport`) — one on-chain',
92
- 'move that debits the source, pays the $CPU transit fee for any foreign Hub on the route, and escrows a',
93
- 'time-delayed delivery. Track deliveries with `cpu_get_transport_status` / `cpu_list_my_transports`; a delivery is',
94
- 'credited to the target only after it arrives and you call `cpu_finalize_delivery`.',
95
- 'Refine and forge resources with `cpu_craft` — discover recipes via `cpu_list_recipes` (each shows its',
96
- '`costCpu`; a recipe with a non-zero cost auto-approves and settles the $CPU on-chain, the rest are free);',
97
- 'read progress with `cpu_get_craft_status` and bank matured batches with `cpu_claim_craft`.',
98
- 'Cash out a cell’s wCPU to the on-chain $CPU token (1:1) with `cpu_withdraw` — one in flight at a time; re-run',
99
- 'with the same args to finish an interrupted one, and withdraw before selling a cell since wCPU travels',
100
- 'with it.',
101
- 'Acquire land cells on the primary market with `cpu_mint_cell` — it mints new cells straight from the',
102
- 'collection’s OpenSea SeaDrop public drop, paid in native ETH (preview the ETH cost first with `cpu_quote_mint`).',
103
- 'For the secondary market — buying or selling existing cells — use OpenSea listings off-server: open the',
104
- 'collection by its `land` contract address from `cpu_get_game_config`',
105
- '(https://opensea.io/assets/<chain>/<land>; testnet chains live on testnets.opensea.io). For $CPU itself',
106
- 'there is no external venue — buy and sell it in-game with `cpu_swap` (below).',
107
- 'Trade at Hubs: survey the marketplace with `cpu_get_markets` then `cpu_list_lots`, inspect one with `cpu_get_lot`,',
108
- 'and act with `cpu_create_lot` (list goods), `cpu_buy_lot` (preview cost first with `cpu_quote_buy`), and `cpu_cancel_lot`.',
109
- 'Each settles on-chain in a single tx and routes its goods through Transport, so they land only after you',
110
- '`cpu_finalize_delivery` on the returned deliveryId once it arrives; track your lots with `cpu_list_my_lots`.',
111
- 'A hub owner takes a per-resource sale fee (a share of each sale, carved out of the seller proceeds — the buyer',
112
- 'is unaffected); set your own hub rates with `cpu_set_sale_fee` and read others’ live rates in `cpu_get_markets`',
113
- 'and `cpu_get_cell`. The hub settles its live rate on every sale; when listing, set the highest rate you accept',
114
- 'with `cpu_create_lot`’s `maxSaleFeePercent` (or omit it to lock in the live rate). If the hub later raises the',
115
- 'rate above your tolerance the lot freezes — buys revert until it drops back — and `cpu_cancel_lot` is fee-free.',
116
- 'See what buyers actually paid with `cpu_list_fills` (the executed-buy feed, pageable by cursor) and the',
117
- 'world price picture with `cpu_get_market_index` (24h VWAP, change, and volume per resource, cached up to an',
118
- 'hour) — neither is `cpu_get_markets`, which is the cheapest ask available right now.',
119
- 'Join a syndicate to earn same-syndicate discounts on trade and transit: browse with `cpu_list_syndicates`,',
120
- 'inspect one with `cpu_get_syndicate`, and check any address’s membership with `cpu_get_syndicate_membership`.',
121
- '`cpu_join_syndicate` and `cpu_leave_syndicate` manage your own membership (leaving is gated by an exit',
122
- 'cooldown reported at join time); `cpu_create_syndicate` founds your own (you auto-join), and its manager',
123
- 'tunes it with `cpu_set_syndicate_params` or hands the role off with `cpu_transfer_syndicate_manager`.',
124
- 'Check spendable $CPU and gas with `cpu_get_balance` before any paid action.',
125
- 'A `cpu_withdraw` mints $CPU against an off-chain signature; if it is interrupted, re-run it with the same args',
126
- 'to finish the pending one rather than starting a second.',
127
- 'Swap between native ETH and $CPU on the token pool with `cpu_swap` (preview first with `cpu_quote_swap`);',
128
- '`sell: "ETH"` buys $CPU and `sell: "CPU"` sells it — the trade auto-settles on-chain.',
129
- ].join(' ');
65
+ function instructionsFor(personaEnabled) {
66
+ if (personaEnabled) {
67
+ return SERVER_INSTRUCTIONS;
68
+ }
69
+ return SERVER_INSTRUCTIONS.split(SENTENCE_BOUNDARY)
70
+ .filter((sentence) => !sentence.includes(PERSONA_TOOL_NAME))
71
+ .join(' ');
72
+ }
130
73
  // Takes the registrar rather than the server so a tool registered the plain way is a compile error
131
74
  // here, not a tool that silently answers past the version gates.
132
- function registerTools(registrar, context) {
75
+ function registerTools(registrar, context, persona) {
133
76
  registerAuthenticateTool(registrar, context);
77
+ if (context.config.OPERATOR_PERSONA) {
78
+ registerPersonaTool(registrar, persona);
79
+ }
134
80
  registerGetGameConfigTool(registrar, context);
81
+ registerGetBuildingTool(registrar, context);
82
+ registerFindBuildingsTool(registrar, context);
83
+ registerGetResourceTool(registrar, context);
135
84
  registerGetMapTool(registrar, context);
136
85
  registerGetCellTool(registrar, context);
137
86
  registerGetChangesTool(registrar, context);
@@ -169,6 +118,7 @@ function registerTools(registrar, context) {
169
118
  registerListSyndicatesTool(registrar, context);
170
119
  registerGetSyndicateTool(registrar, context);
171
120
  registerGetSyndicateMembershipTool(registrar, context);
121
+ registerGetSyndicatePlayerContentTool(registrar, context);
172
122
  registerJoinSyndicateTool(registrar, context);
173
123
  registerLeaveSyndicateTool(registrar, context);
174
124
  registerCreateSyndicateTool(registrar, context);
@@ -182,12 +132,16 @@ function registerTools(registrar, context) {
182
132
  registerWithdrawTool(registrar, context);
183
133
  }
184
134
  export async function createServer(context) {
185
- const server = new McpServer({ name: pkg.name, version: pkg.version }, { instructions: SERVER_INSTRUCTIONS });
135
+ const server = new McpServer({ name: pkg.name, version: pkg.version }, { instructions: instructionsFor(context.config.OPERATOR_PERSONA) });
136
+ const persona = createPersonaDelivery();
186
137
  const gates = [
187
138
  createPackageVersionGate(context.packageVersion),
188
139
  createBackendVersionGate(context.backendVersion),
189
140
  ];
190
- registerTools(createGuardedRegistrar(server, gates), context);
141
+ if (context.config.OPERATOR_PERSONA) {
142
+ gates.push(createPersonaGate(persona));
143
+ }
144
+ registerTools(createGuardedRegistrar(server, gates), context, persona);
191
145
  const stdio = new StdioServerTransport();
192
146
  await server.connect(stdio);
193
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-config.service.d.ts","sourceRoot":"","sources":["../../src/services/app-config.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAOjF,qBAAa,gBAAiB,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,MAAM,CAA0B;gBAE5B,OAAO,EAAE,uBAAuB;IAMtC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAchC,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAI1B,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC;CAyDpC"}
1
+ {"version":3,"file":"app-config.service.d.ts","sourceRoot":"","sources":["../../src/services/app-config.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMjF,qBAAa,gBAAiB,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,MAAM,CAA0B;gBAE5B,OAAO,EAAE,uBAAuB;IAMtC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAchC,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAI1B,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC;CAYpC"}
@@ -1,6 +1,5 @@
1
- import { normalizeOptionalAddress, parseRandomnessDescriptor, parseRevealPayment, toModeSwitchView, } from './app-config.utils.js';
2
- import { appConfigResponseSchema, HttpStatus } from '../api/types.js';
3
- import { bpToPercent } from '../utils/format.utils.js';
1
+ import { parseAppConfig } from './app-config.utils.js';
2
+ import { HttpStatus } from '../api/types.js';
4
3
  export class AppConfigService {
5
4
  api;
6
5
  network;
@@ -31,51 +30,7 @@ export class AppConfigService {
31
30
  if (status !== HttpStatus.Ok) {
32
31
  throw new Error(`Failed to load chain config (HTTP ${status}) for network ${this.network}.`);
33
32
  }
34
- appConfigResponseSchema.parse(data);
35
- // Addresses ship empty until their contracts are deployed; each paid action validates the address it
36
- // needs (`isAddress`) before sending, so read-only tools keep working before a deployment lands.
37
- const config = {
38
- network: this.network,
39
- chainId: data.chainId,
40
- contracts: {
41
- land: data.contracts.land,
42
- cpuToken: data.contracts.cpuToken,
43
- cpuHook: data.contracts.cpuHook,
44
- cell: data.contracts.cell,
45
- cellLens: data.contracts.cellLens,
46
- transport: data.contracts.transport,
47
- trade: data.contracts.trade,
48
- syndicate: normalizeOptionalAddress(data.contracts.syndicate),
49
- },
50
- randomness: parseRandomnessDescriptor(data.randomness),
51
- resources: data.resources ?? {},
52
- recipes: data.recipes ?? [],
53
- // Default demolishCost so a client running against an older API (no demolish field) degrades to a
54
- // free/no-op demolish pre-check rather than crashing on `undefined.cpu`; the chain stays the arbiter.
55
- buildings: (data.buildings ?? []).map((b) => ({
56
- ...b,
57
- demolishCost: b.demolishCost ?? { cpu: '0', inputs: [] },
58
- modeSwitch: toModeSwitchView(b.modeSwitchCost),
59
- recipeOpexCpu: b.recipeOpexCpu ?? null,
60
- upgradeFrom: b.upgradeFrom ?? null,
61
- upgradeTo: b.upgradeTo ?? [],
62
- family: b.family ?? null,
63
- level: b.level ?? null,
64
- branch: b.branch ?? null,
65
- })),
66
- reveal: parseRevealPayment(data.reveal),
67
- transport: {
68
- moveRadius: data.transport.moveRadius,
69
- hubRadius: data.transport.hubRadius,
70
- moveTimePerCellSec: data.transport.moveTimePerCellSec,
71
- moveFeeFloors: data.transport.moveFeeFloors,
72
- },
73
- trade: {
74
- saleBurnPercent: data.trade?.saleBurnPercent ?? 0,
75
- maxSaleFeePercent: bpToPercent(data.trade?.maxSaleFeeBp ?? 0),
76
- },
77
- storage: { hubStorageMultiplier: data.storage.hubStorageMultiplier },
78
- };
33
+ const config = parseAppConfig(data);
79
34
  this.logger.info('chain config loaded', { chainId: config.chainId });
80
35
  return config;
81
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-config.service.js","sourceRoot":"","sources":["../../src/services/app-config.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-config.service.js","sourceRoot":"","sources":["../../src/services/app-config.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,MAAM,OAAO,gBAAgB;IACR,GAAG,CAAY;IACf,OAAO,CAAU;IACjB,MAAM,CAAU;IACzB,MAAM,GAAqB,IAAI,CAAC;IAExC,YAAY,OAAgC;QACxC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,MAAiB;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAU,0BAA0B,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEnG,IAAI,MAAM,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,iBAAiB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
@@ -1,13 +1,3 @@
1
- import { type ModeSwitchView } from './types.js';
2
- import { type RandomnessDescriptor, type RevealPaymentView } from '../api/types.js';
3
- export declare function toModeSwitchView(cost: string | null | undefined): ModeSwitchView;
4
- export declare function normalizeOptionalAddress(address: string | null | undefined): string | null;
5
- /**
6
- * Reads the reveal payment a stand serves, and answers `null` for anything else — an absent field, or a
7
- * stand still serving a shape this client has never priced a reveal from. Guessing a zero here would read
8
- * as a free reveal, which no stand offers; the Cell's own quote is the price either way. Both legs are
9
- * whole-unit decimals as served, never wei: they are displayed, never used in arithmetic.
10
- */
11
- export declare function parseRevealPayment(raw: unknown): RevealPaymentView | null;
12
- export declare function parseRandomnessDescriptor(raw: unknown): RandomnessDescriptor;
1
+ import { type AppConfig } from './types.js';
2
+ export declare function parseAppConfig(raw: unknown): AppConfig;
13
3
  //# sourceMappingURL=app-config.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-config.utils.d.ts","sourceRoot":"","sources":["../../src/services/app-config.utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,YAAY,CAAC;AACjE,OAAO,EACH,KAAK,oBAAoB,EAGzB,KAAK,iBAAiB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAQhF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAK1F;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CASzE;AAkBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,CA2B5E"}
1
+ {"version":3,"file":"app-config.utils.d.ts","sourceRoot":"","sources":["../../src/services/app-config.utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,YAAY,CAAC;AA0GtF,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CA2BtD"}
@@ -1,17 +1,30 @@
1
1
  import { zeroAddress } from 'viem';
2
2
  import { STALE_STAND_CONFIG_HINT } from './app-config.constants.js';
3
3
  import { ModeSwitchKind } from './types.js';
4
- import { randomnessDescriptorSchema, RandomnessKind, } from '../api/types.js';
5
- export function toModeSwitchView(cost) {
6
- if (cost === undefined) {
7
- return { kind: ModeSwitchKind.Unknown };
4
+ import { appConfigResponseSchema, randomnessDescriptorSchema, RandomnessKind, } from '../api/types.js';
5
+ import { bpToPercent } from '../utils/format.utils.js';
6
+ function normalizeBuilding({ modeSwitchCost, ...building }) {
7
+ const normalized = {
8
+ ...building,
9
+ demolishCost: building.demolishCost ?? { cpu: '0', inputs: [] },
10
+ };
11
+ if (!modeSwitchCost.known) {
12
+ return { ...normalized, modeSwitch: { kind: ModeSwitchKind.Unknown } };
8
13
  }
9
- if (cost === null) {
10
- return { kind: ModeSwitchKind.Impossible };
14
+ if (modeSwitchCost.value === null) {
15
+ return {
16
+ ...normalized,
17
+ modeSwitchCost: null,
18
+ modeSwitch: { kind: ModeSwitchKind.Impossible },
19
+ };
11
20
  }
12
- return { kind: ModeSwitchKind.Possible, costCpu: cost };
21
+ return {
22
+ ...normalized,
23
+ modeSwitchCost: modeSwitchCost.value,
24
+ modeSwitch: { kind: ModeSwitchKind.Possible, costCpu: modeSwitchCost.value },
25
+ };
13
26
  }
14
- export function normalizeOptionalAddress(address) {
27
+ function normalizeOptionalAddress(address) {
15
28
  if (address === undefined || address === null || address === '') {
16
29
  return null;
17
30
  }
@@ -26,7 +39,7 @@ function isDecimalAmount(value) {
26
39
  * as a free reveal, which no stand offers; the Cell's own quote is the price either way. Both legs are
27
40
  * whole-unit decimals as served, never wei: they are displayed, never used in arithmetic.
28
41
  */
29
- export function parseRevealPayment(raw) {
42
+ function parseRevealPayment(raw) {
30
43
  if (typeof raw !== 'object' || raw === null) {
31
44
  return null;
32
45
  }
@@ -48,7 +61,7 @@ function isKnownRandomnessKind(kind) {
48
61
  function formatKind(kind) {
49
62
  return typeof kind === 'string' ? `"${kind}"` : String(kind);
50
63
  }
51
- export function parseRandomnessDescriptor(raw) {
64
+ function parseRandomnessDescriptor(raw) {
52
65
  if (raw === undefined || raw === null) {
53
66
  throw new Error(`GET /api/v1/config serves no randomness descriptor — ${STALE_STAND_CONFIG_HINT}. Reveal cannot ` +
54
67
  `pick a randomness source until the stand serves one (known kinds: ${knownRandomnessKinds()}).`);
@@ -67,4 +80,32 @@ export function parseRandomnessDescriptor(raw) {
67
80
  throw new Error(`GET /api/v1/config serves an incomplete "${kind}" randomness descriptor — ` +
68
81
  `${STALE_STAND_CONFIG_HINT}. Rejected fields: ${issues}.`);
69
82
  }
83
+ export function parseAppConfig(raw) {
84
+ const data = appConfigResponseSchema.parse(raw);
85
+ return {
86
+ network: data.network,
87
+ chainId: data.chainId,
88
+ contracts: {
89
+ land: data.contracts.land,
90
+ cpuToken: data.contracts.cpuToken,
91
+ cpuHook: data.contracts.cpuHook,
92
+ cell: data.contracts.cell,
93
+ cellLens: data.contracts.cellLens,
94
+ transport: data.contracts.transport,
95
+ trade: data.contracts.trade,
96
+ syndicate: normalizeOptionalAddress(data.contracts.syndicate),
97
+ },
98
+ randomness: parseRandomnessDescriptor(data.randomness),
99
+ resources: data.resources,
100
+ recipes: data.recipes,
101
+ buildings: data.buildings.map(normalizeBuilding),
102
+ reveal: parseRevealPayment(data.reveal),
103
+ transport: data.transport,
104
+ trade: {
105
+ saleBurnPercent: data.trade.saleBurnPercent,
106
+ maxSaleFeePercent: bpToPercent(data.trade.maxSaleFeeBp),
107
+ },
108
+ storage: { caps: data.storage.caps.map((row) => ({ ...row })) },
109
+ };
110
+ }
70
111
  //# sourceMappingURL=app-config.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-config.utils.js","sourceRoot":"","sources":["../../src/services/app-config.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-config.utils.js","sourceRoot":"","sources":["../../src/services/app-config.utils.ts"],"names":[],"mappings":"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"}
@@ -22,9 +22,6 @@ export declare class BuildService {
22
22
  private assertHubIdle;
23
23
  private approveCpuSpend;
24
24
  private placeBuilding;
25
- private assertChain;
26
- private requireCell;
27
- private requireCpuToken;
28
25
  private buildingView;
29
26
  }
30
27
  //# sourceMappingURL=build.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.service.d.ts","sourceRoot":"","sources":["../../src/services/build.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAER,UAAU,EAEV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,cAAc,EAId,YAAY,EACZ,aAAa,EAChB,MAAM,YAAY,CAAC;AAYpB,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,OAAO,EAAE,mBAAmB;IAUlC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IA8B9C,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAwDvD,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IA4D1D,OAAO,CAAC,WAAW;YAuBL,oBAAoB;IAWlC,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,aAAa;YAYP,eAAe;YAKf,aAAa;IAyB3B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,YAAY;CAOvB"}
1
+ {"version":3,"file":"build.service.d.ts","sourceRoot":"","sources":["../../src/services/build.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGR,UAAU,EAEV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,cAAc,EAId,YAAY,EACZ,aAAa,EAChB,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,OAAO,EAAE,mBAAmB;IAUlC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IA4B9C,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAsDvD,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IA0D1D,OAAO,CAAC,WAAW;YAuBL,oBAAoB;IAWlC,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,aAAa;YAYP,eAAe;YAKf,aAAa;IAyB3B,OAAO,CAAC,YAAY;CAOvB"}
@@ -1,4 +1,6 @@
1
- import { isAddress, parseEther, parseEventLogs } from 'viem';
1
+ import { parseEther, parseEventLogs } from 'viem';
2
+ import { preparePaidAction } from './paid-action.js';
3
+ import { AppContract } from './paid-action.types.js';
2
4
  import { withUpgradeRevertPhrase } from './upgrade-revert.utils.js';
3
5
  import { assertWarehouseHas } from './warehouse.utils.js';
4
6
  import { BuildingKind } from '../api/types.js';
@@ -23,11 +25,10 @@ export class BuildService {
23
25
  this.logger = options.logger;
24
26
  }
25
27
  async build(input) {
26
- const config = await this.appConfig.load();
27
- const wallet = this.wallet.get();
28
- this.assertChain(config, wallet);
29
- const cell = this.requireCell(config);
30
- const cpuToken = this.requireCpuToken(config);
28
+ const action = await preparePaidAction({ appConfig: this.appConfig, wallet: this.wallet });
29
+ const { config, wallet } = action;
30
+ const cell = action.requireContract(AppContract.Cell, 'cannot build');
31
+ const cpuToken = action.requireContract(AppContract.CpuToken, 'cannot pay for build');
31
32
  const tokenId = BigInt(input.tokenId);
32
33
  // Paid action — pull a fresh snapshot so the pre-checks below gate on current on-chain state, not a
33
34
  // possibly-stale local cache (mirrors mining's start path).
@@ -48,11 +49,10 @@ export class BuildService {
48
49
  };
49
50
  }
50
51
  async demolish(input) {
51
- const config = await this.appConfig.load();
52
- const wallet = this.wallet.get();
53
- this.assertChain(config, wallet);
54
- const cell = this.requireCell(config);
55
- const cpuToken = this.requireCpuToken(config);
52
+ const action = await preparePaidAction({ appConfig: this.appConfig, wallet: this.wallet });
53
+ const { config, wallet } = action;
54
+ const cell = action.requireContract(AppContract.Cell, 'cannot demolish');
55
+ const cpuToken = action.requireContract(AppContract.CpuToken, 'cannot pay for demolish');
56
56
  const tokenId = BigInt(input.tokenId);
57
57
  await this.mapReader.refresh();
58
58
  const state = await this.mapReader.readRevealCell(input.tokenId);
@@ -93,11 +93,10 @@ export class BuildService {
93
93
  };
94
94
  }
95
95
  async upgrade(input) {
96
- const config = await this.appConfig.load();
97
- const wallet = this.wallet.get();
98
- this.assertChain(config, wallet);
99
- const cell = this.requireCell(config);
100
- const cpuToken = this.requireCpuToken(config);
96
+ const action = await preparePaidAction({ appConfig: this.appConfig, wallet: this.wallet });
97
+ const { config, wallet } = action;
98
+ const cell = action.requireContract(AppContract.Cell, 'cannot upgrade');
99
+ const cpuToken = action.requireContract(AppContract.CpuToken, 'cannot pay for upgrade');
101
100
  const tokenId = BigInt(input.tokenId);
102
101
  const target = this.resolveUpgradeTarget(config, input.targetBuildingType);
103
102
  await this.mapReader.refresh();
@@ -261,25 +260,6 @@ export class BuildService {
261
260
  await this.contracts.confirm(buildTxHash, 'Build transaction');
262
261
  return { buildTxHash, approveTxHash, buildCost: view.buildCost };
263
262
  }
264
- assertChain(config, wallet) {
265
- if (config.chainId !== wallet.getChainId()) {
266
- throw new Error(`Chain mismatch: the chain config is chainId ${config.chainId} but the wallet is on ${wallet.getChainId()}. Check NETWORK.`);
267
- }
268
- }
269
- requireCell(config) {
270
- const cell = config.contracts.cell;
271
- if (!isAddress(cell, { strict: false })) {
272
- throw new Error(`Cell contract is not configured for network ${config.network}; cannot build.`);
273
- }
274
- return cell;
275
- }
276
- requireCpuToken(config) {
277
- const cpuToken = config.contracts.cpuToken;
278
- if (!isAddress(cpuToken, { strict: false })) {
279
- throw new Error(`$CPU token is not configured for network ${config.network}; cannot pay for build.`);
280
- }
281
- return cpuToken;
282
- }
283
263
  buildingView(config, buildingType) {
284
264
  const view = config.buildings.find((b) => b.type === buildingType);
285
265
  if (view === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"build.service.js","sourceRoot":"","sources":["../../src/services/build.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.service.js","sourceRoot":"","sources":["../../src/services/build.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const FULL_INPUT_PERCENT = 100;
2
+ //# sourceMappingURL=craft-quote.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craft-quote.constants.d.ts","sourceRoot":"","sources":["../../src/services/craft-quote.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const FULL_INPUT_PERCENT = 100;
2
+ //# sourceMappingURL=craft-quote.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craft-quote.constants.js","sourceRoot":"","sources":["../../src/services/craft-quote.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CatalogBuildingView } from './types.js';
2
+ import type { CraftStackView, RecipeView } from '../api/types.js';
3
+ export declare function effectiveCraftInputs(recipe: Pick<RecipeView, 'inputs'>, building: Pick<CatalogBuildingView, 'effects'>, batches: number): Array<CraftStackView>;
4
+ //# sourceMappingURL=craft-quote.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craft-quote.utils.d.ts","sourceRoot":"","sources":["../../src/services/craft-quote.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElE,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAClC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAC9C,OAAO,EAAE,MAAM,GAChB,KAAK,CAAC,cAAc,CAAC,CAUvB"}
@@ -0,0 +1,12 @@
1
+ import { FULL_INPUT_PERCENT } from './craft-quote.constants.js';
2
+ export function effectiveCraftInputs(recipe, building, batches) {
3
+ return recipe.inputs.map((input) => {
4
+ const percent = building.effects.inputEfficiency.find((effect) => effect.resourceId === input.resourceId)?.percent ??
5
+ FULL_INPUT_PERCENT;
6
+ return {
7
+ resourceId: input.resourceId,
8
+ amount: Math.floor((input.amount * percent) / FULL_INPUT_PERCENT) * batches,
9
+ };
10
+ });
11
+ }
12
+ //# sourceMappingURL=craft-quote.utils.js.map