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
@@ -1,4 +1,4 @@
1
- import { type AttentionReport, type CellInspection, type Cell, type MapChanges, type MapQuery, type MapQueryResult, type MapReaderOptions } from './types.js';
1
+ import { type AttentionReport, type CellInspection, type Cell, type MapChanges, type MapQuery, type MapQueryResult, type MapReaderOptions, type RoutingSnapshot } from './types.js';
2
2
  export declare class MapReader {
3
3
  private readonly store;
4
4
  private readonly status;
@@ -11,7 +11,7 @@ export declare class MapReader {
11
11
  attention(ownerAddress: string | null): Promise<AttentionReport>;
12
12
  refresh(): Promise<void>;
13
13
  getChanges(sinceVersion: number, ownerAddress: string | null): Promise<MapChanges>;
14
- allCells(): Promise<Array<Cell>>;
14
+ routingSnapshot(): Promise<RoutingSnapshot>;
15
15
  private projector;
16
16
  private projectorFor;
17
17
  private enrich;
@@ -1 +1 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/map/reader.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,IAAI,EAGT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EAKxB,MAAM,YAAY,CAAC;AAQpB,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAE3B,OAAO,EAAE,gBAAgB;IAM/B,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAwB/C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAmBzF,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAS3D,aAAa,IAAI,MAAM;IAIjB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;IActE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAWlF,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAKxB,SAAS;IAIvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,oBAAoB;CAe/B"}
1
+ {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/map/reader.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,IAAI,EAGT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EAKrB,KAAK,eAAe,EACvB,MAAM,YAAY,CAAC;AAQpB,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAE3B,OAAO,EAAE,gBAAgB;IAM/B,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAwB/C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAmBzF,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAS3D,aAAa,IAAI,MAAM;IAIjB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;IActE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAWlF,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;YAanC,SAAS;IAIvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,oBAAoB;CAe/B"}
@@ -2,7 +2,7 @@ import { buildAttentionReport } from './attention.utils.js';
2
2
  import { toCell } from './cell-view.utils.js';
3
3
  import { WAREHOUSE_NEAR_FULL_PCT } from './constants.js';
4
4
  import { buildResourceIndex, classifyNeighbors, filterCells, summarizeMap } from './map.utils.js';
5
- import { buildingTypesOfKind, toProjectionConfig, toSettleConfig } from './reader.utils.js';
5
+ import { buildingTypesOfKind, isBootstrapComplete, toProjectionConfig } from './reader.utils.js';
6
6
  import { MapReadiness, MapScope, } from './types.js';
7
7
  import { BuildingKind } from '../api/types.js';
8
8
  import { MAX_ROUTE_RADIUS } from '../geometry/constants.js';
@@ -72,7 +72,7 @@ export class MapReader {
72
72
  version: this.store.getLatestUpdated(),
73
73
  serverTime: this.store.getServerTime(),
74
74
  nearFullPct: WAREHOUSE_NEAR_FULL_PCT,
75
- ...toSettleConfig(config),
75
+ ...toProjectionConfig(config),
76
76
  extractorBuildingTypes: buildingTypesOfKind(config, BuildingKind.Extractor),
77
77
  });
78
78
  }
@@ -89,9 +89,17 @@ export class MapReader {
89
89
  changedCount: changed.length,
90
90
  };
91
91
  }
92
- async allCells() {
92
+ async routingSnapshot() {
93
93
  const project = await this.projector();
94
- return [...this.store.values()].map(project);
94
+ const droppedCells = this.store.getDroppedCells();
95
+ const droppedUpdates = this.store.getDroppedUpdates();
96
+ return {
97
+ cells: [...this.store.values()].map(project),
98
+ complete: isBootstrapComplete(this.status.getReadiness()) && droppedCells === 0 && droppedUpdates === 0,
99
+ droppedCells,
100
+ droppedUpdates,
101
+ version: this.store.getLatestUpdated(),
102
+ };
95
103
  }
96
104
  async projector() {
97
105
  return this.projectorFor(toProjectionConfig(await this.appConfig.load()));
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/map/reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/map/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEjG,OAAO,EASH,YAAY,EAEZ,QAAQ,GAKX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGjF,MAAM,YAAY,GAAG,8DAA8D,CAAC;AAEpF,MAAM,OAAO,SAAS;IACD,KAAK,CAAW;IAChB,MAAM,CAAY;IAClB,SAAS,CAAa;IAEvC,YAAY,OAAyB;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAe;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChG,MAAM,OAAO,GAAG,YAAY,CAAC;YACzB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YACrC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAChD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACtC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YACtC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAC7B,UAAU,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;QACH,MAAM,aAAa,GAAyB,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvF,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7F,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CACjD,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACpG,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,YAA2B;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAA2B;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACpF,OAAO,oBAAoB,CAAC;YACxB,UAAU,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAC5D,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACtC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YACtC,WAAW,EAAE,uBAAuB;YACpC,GAAG,kBAAkB,CAAC,MAAM,CAAC;YAC7B,sBAAsB,EAAE,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC;SAC9E,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,YAAoB,EAAE,YAA2B;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAC9G,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACtC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YACtC,OAAO;YACP,YAAY,EAAE,OAAO,CAAC,MAAM;SAC/B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACtD,OAAO;YACH,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YAC5C,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC;YACvG,YAAY;YACZ,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;SACzC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEO,YAAY,CAAC,MAA4B;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAY,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAEO,MAAM,CAAC,IAAU,EAAE,YAA2B;QAClD,OAAO;YACH,GAAG,IAAI;YACP,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,SAAS,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;SACzF,CAAC;IACN,CAAC;IAEO,oBAAoB,CAAC,IAA8B,EAAE,YAA2B;QACpF,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxE,CAAC;CACJ"}
@@ -1,10 +1,10 @@
1
- import type { SettleConfig } from './settle.utils.js';
2
- import type { CellProjectionConfig, ProcessOutput } from './types.js';
1
+ import { MapReadiness, type CellProjectionConfig, type ProcessOutput, type ResourceStorageCaps } from './types.js';
3
2
  import { BuildingKind } from '../api/types.js';
4
3
  import type { AppConfig } from '../services/types.js';
4
+ /** True once the startup snapshot has landed: every existing cell is held, even if the stream later degrades. */
5
+ export declare function isBootstrapComplete(readiness: MapReadiness): boolean;
5
6
  export declare function buildingTypesOfKind(config: AppConfig, kind: BuildingKind): Set<string>;
6
7
  export declare function craftOutputsByRecipe(config: AppConfig): Record<string, Array<ProcessOutput>>;
7
- export declare function extractionShareBpByBuilding(config: AppConfig): Record<string, number>;
8
+ export declare function storageCapsByResource(config: AppConfig): Record<number, ResourceStorageCaps>;
8
9
  export declare function toProjectionConfig(config: AppConfig): CellProjectionConfig;
9
- export declare function toSettleConfig(config: AppConfig): SettleConfig;
10
10
  //# sourceMappingURL=reader.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reader.utils.d.ts","sourceRoot":"","sources":["../../src/map/reader.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAEtF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAE5F;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAErF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,oBAAoB,CAM1E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,CAK9D"}
1
+ {"version":3,"file":"reader.utils.d.ts","sourceRoot":"","sources":["../../src/map/reader.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACnH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,iHAAiH;AACjH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAEtF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAE5F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAU5F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,oBAAoB,CAS1E"}
@@ -1,24 +1,30 @@
1
+ import { MapReadiness } from './types.js';
1
2
  import { BuildingKind } from '../api/types.js';
3
+ /** True once the startup snapshot has landed: every existing cell is held, even if the stream later degrades. */
4
+ export function isBootstrapComplete(readiness) {
5
+ return readiness === MapReadiness.Ready || readiness === MapReadiness.Degraded;
6
+ }
2
7
  export function buildingTypesOfKind(config, kind) {
3
8
  return new Set(config.buildings.filter((b) => b.kind === kind).map((b) => b.type));
4
9
  }
5
10
  export function craftOutputsByRecipe(config) {
6
11
  return Object.fromEntries(config.recipes.map((r) => [r.id, r.outputs]));
7
12
  }
8
- export function extractionShareBpByBuilding(config) {
9
- return Object.fromEntries(config.buildings.map((b) => [b.type, b.effects.extractionShareBp]));
13
+ export function storageCapsByResource(config) {
14
+ return Object.fromEntries(config.storage.caps.map((caps) => [
15
+ caps.resourceId,
16
+ {
17
+ cellCap: caps.cellCap === 0 ? null : BigInt(caps.cellCap),
18
+ hubCap: caps.hubCap === 0 ? null : BigInt(caps.hubCap),
19
+ },
20
+ ]));
10
21
  }
11
22
  export function toProjectionConfig(config) {
12
23
  return {
13
- hubStorageMultiplier: config.storage.hubStorageMultiplier,
14
24
  hubBuildingTypes: buildingTypesOfKind(config, BuildingKind.Hub),
25
+ upgradeFromByBuildingType: Object.fromEntries(config.buildings.map((building) => [building.type, building.upgradeFrom])),
15
26
  craftOutputsByRecipe: craftOutputsByRecipe(config),
16
- };
17
- }
18
- export function toSettleConfig(config) {
19
- return {
20
- craftOutputsByRecipe: craftOutputsByRecipe(config),
21
- extractionShareBpByBuilding: extractionShareBpByBuilding(config),
27
+ storageCapsByResource: storageCapsByResource(config),
22
28
  };
23
29
  }
24
30
  //# sourceMappingURL=reader.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reader.utils.js","sourceRoot":"","sources":["../../src/map/reader.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,IAAkB;IACrE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IAClD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAiB;IACzD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACpH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAChD,OAAO;QACH,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB;QACzD,gBAAgB,EAAE,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;QAC/D,oBAAoB,EAAE,oBAAoB,CAAC,MAAM,CAAC;KACrD,CAAC;AACN,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAiB;IAC5C,OAAO;QACH,oBAAoB,EAAE,oBAAoB,CAAC,MAAM,CAAC;QAClD,2BAA2B,EAAE,2BAA2B,CAAC,MAAM,CAAC;KACnE,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"reader.utils.js","sourceRoot":"","sources":["../../src/map/reader.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA2E,MAAM,YAAY,CAAC;AACnH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,iHAAiH;AACjH,MAAM,UAAU,mBAAmB,CAAC,SAAuB;IACvD,OAAO,SAAS,KAAK,YAAY,CAAC,KAAK,IAAI,SAAS,KAAK,YAAY,CAAC,QAAQ,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,IAAkB;IACrE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IAClD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACnD,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAiC,EAAE,CAAC;QAC7D,IAAI,CAAC,UAAU;QACf;YACI,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACzD,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACzD;KACJ,CAAC,CACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAChD,OAAO;QACH,gBAAgB,EAAE,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;QAC/D,yBAAyB,EAAE,MAAM,CAAC,WAAW,CACzC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAC5E;QACD,oBAAoB,EAAE,oBAAoB,CAAC,MAAM,CAAC;QAClD,qBAAqB,EAAE,qBAAqB,CAAC,MAAM,CAAC;KACvD,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/map/socket.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAO/F,qBAAa,eAAgB,YAAW,aAAa;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,MAAM,CAAuB;gBAEzB,KAAK,EAAE,oBAAoB;IAKvC,OAAO,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAqBhD,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,IAAI;IAOjB,UAAU,IAAI,IAAI;CAOrB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAE1E"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/map/socket.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAO/F,qBAAa,eAAgB,YAAW,aAAa;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,MAAM,CAAuB;gBAEzB,KAAK,EAAE,oBAAoB;IAKvC,OAAO,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAsBhD,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,IAAI;IAOjB,UAAU,IAAI,IAAI;CAOrB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAE1E"}
@@ -26,6 +26,7 @@ export class MapSocketClient {
26
26
  const cell = parseCell(raw);
27
27
  if (cell === null) {
28
28
  this.logger.warn('dropped invalid cell update payload');
29
+ handlers.onCellUpdateDropped();
29
30
  return;
30
31
  }
31
32
  handlers.onCellUpdate(cell);
@@ -1 +1 @@
1
- {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/map/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,SAAS,cAAc,CAAC,OAAe;IACnC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,OAAO,eAAe;IACP,OAAO,CAAS;IAChB,MAAM,CAAU;IACzB,MAAM,GAAkB,IAAI,CAAC;IAErC,YAAY,KAA2B;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,QAAiC;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5C,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,CAAC,WAAW,CAAC;YACzB,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAY,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACxD,OAAO;YACX,CAAC;YACD,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK,CAAC;IAC3C,CAAC;IAED,SAAS;QACL,0FAA0F;QAC1F,gGAAgG;QAChG,4FAA4F;QAC5F,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,UAAU,eAAe,CAAC,KAA2B;IACvD,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/map/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,SAAS,cAAc,CAAC,OAAe;IACnC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,OAAO,eAAe;IACP,OAAO,CAAS;IAChB,MAAM,CAAU;IACzB,MAAM,GAAkB,IAAI,CAAC;IAErC,YAAY,KAA2B;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,QAAiC;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5C,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,CAAC,WAAW,CAAC;YACzB,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAY,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACxD,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC/B,OAAO;YACX,CAAC;YACD,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK,CAAC;IAC3C,CAAC;IAED,SAAS;QACL,0FAA0F;QAC1F,gGAAgG;QAChG,4FAA4F;QAC5F,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,UAAU,eAAe,CAAC,KAA2B;IACvD,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
@@ -1,7 +1,4 @@
1
- import type { CellResource, CellResourceStorage, ProcessOutput } from './types.js';
2
- export declare function warehouseRoom(storage: CellResourceStorage | null): bigint | null;
3
- export declare function needByResource(outputs: ReadonlyArray<ProcessOutput>): Map<number, bigint>;
4
- export declare function fitBatchesByRoom(outputs: ReadonlyArray<ProcessOutput>, resources: ReadonlyArray<CellResource>): number | null;
5
- export declare function blockedResourceIds(outputs: ReadonlyArray<ProcessOutput>, resources: ReadonlyArray<CellResource>): Array<number>;
6
- export declare function isProcessStalled(outputs: ReadonlyArray<ProcessOutput>, resources: ReadonlyArray<CellResource>): boolean;
1
+ import type { CellBuildingView, CellProjectionConfig, ProcessProjectionConfig } from './types.js';
2
+ export declare function configuredStorageCap(resourceId: number, useHubShelf: boolean, config: ProcessProjectionConfig): bigint | null;
3
+ export declare function usesHubShelf(building: CellBuildingView | null, ready: boolean | null, config: CellProjectionConfig): boolean;
7
4
  //# sourceMappingURL=storage.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.utils.d.ts","sourceRoot":"","sources":["../../src/map/storage.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEnF,wBAAgB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAOhF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMzF;AAOD,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EACrC,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,GACvC,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EACrC,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,GACvC,KAAK,CAAC,MAAM,CAAC,CASf;AAED,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EACrC,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,GACvC,OAAO,CAET"}
1
+ {"version":3,"file":"storage.utils.d.ts","sourceRoot":"","sources":["../../src/map/storage.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAElG,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,uBAAuB,GAChC,MAAM,GAAG,IAAI,CAGf;AAED,wBAAgB,YAAY,CACxB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,KAAK,EAAE,OAAO,GAAG,IAAI,EACrB,MAAM,EAAE,oBAAoB,GAC7B,OAAO,CAOT"}
@@ -1,45 +1,13 @@
1
- export function warehouseRoom(storage) {
2
- if (storage === null || storage.cap === null) {
3
- return null;
4
- }
5
- const used = BigInt(storage.used);
6
- const cap = BigInt(storage.cap);
7
- return cap > used ? cap - used : 0n;
8
- }
9
- export function needByResource(outputs) {
10
- const need = new Map();
11
- for (const output of outputs) {
12
- need.set(output.resourceId, (need.get(output.resourceId) ?? 0n) + BigInt(output.amount));
13
- }
14
- return need;
15
- }
16
- function roomFor(resources, resourceId) {
17
- const resource = resources.find((r) => r.resourceId === resourceId);
18
- return resource === undefined ? null : warehouseRoom(resource.storage);
1
+ export function configuredStorageCap(resourceId, useHubShelf, config) {
2
+ const caps = config.storageCapsByResource[resourceId];
3
+ return caps === undefined ? null : useHubShelf ? caps.hubCap : caps.cellCap;
19
4
  }
20
- export function fitBatchesByRoom(outputs, resources) {
21
- let fit = null;
22
- for (const [resourceId, need] of needByResource(outputs)) {
23
- const room = roomFor(resources, resourceId);
24
- if (room === null) {
25
- continue;
26
- }
27
- const batches = need > 0n ? room / need : room;
28
- fit = fit === null || batches < fit ? batches : fit;
5
+ export function usesHubShelf(building, ready, config) {
6
+ if (building === null || !config.hubBuildingTypes.has(building.type)) {
7
+ return false;
29
8
  }
30
- return fit === null ? null : Number(fit);
31
- }
32
- export function blockedResourceIds(outputs, resources) {
33
- const blocked = [];
34
- for (const [resourceId, need] of needByResource(outputs)) {
35
- const room = roomFor(resources, resourceId);
36
- if (need > 0n && room !== null && room < need) {
37
- blocked.push(resourceId);
38
- }
39
- }
40
- return blocked;
41
- }
42
- export function isProcessStalled(outputs, resources) {
43
- return blockedResourceIds(outputs, resources).length > 0;
9
+ const upgradeFrom = config.upgradeFromByBuildingType[building.type] ?? null;
10
+ const upgradesFromHub = upgradeFrom !== null && config.hubBuildingTypes.has(upgradeFrom);
11
+ return ready === true || upgradesFromHub;
44
12
  }
45
13
  //# sourceMappingURL=storage.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.utils.js","sourceRoot":"","sources":["../../src/map/storage.utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,OAAmC;IAC7D,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAqC;IAChE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,SAAsC,EAAE,UAAkB;IACvE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACpE,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC5B,OAAqC,EACrC,SAAsC;IAEtC,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,SAAS;QACb,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,OAAqC,EACrC,SAAsC;IAEtC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC5B,OAAqC,EACrC,SAAsC;IAEtC,OAAO,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"storage.utils.js","sourceRoot":"","sources":["../../src/map/storage.utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAChC,UAAkB,EAClB,WAAoB,EACpB,MAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,YAAY,CACxB,QAAiC,EACjC,KAAqB,EACrB,MAA4B;IAE5B,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC5E,MAAM,eAAe,GAAG,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzF,OAAO,KAAK,KAAK,IAAI,IAAI,eAAe,CAAC;AAC7C,CAAC"}
@@ -10,10 +10,17 @@ export declare class MapStore {
10
10
  private syncVersion;
11
11
  private latestUpdated;
12
12
  private serverTimeOffsetSec;
13
+ private droppedCells;
14
+ private droppedUpdates;
13
15
  constructor(nowSec?: () => number);
14
16
  applyCell(cell: RawCell): boolean;
15
17
  applySnapshot(snapshot: MapSnapshotResponse): void;
16
18
  replaceAll(snapshot: MapSnapshotResponse): void;
19
+ noteDroppedCells(count: number): void;
20
+ noteDroppedUpdates(count: number): void;
21
+ clearRepairedGaps(cells: number, updates: number): void;
22
+ getDroppedCells(): number;
23
+ getDroppedUpdates(): number;
17
24
  get(tokenId: string): RawCell | null;
18
25
  getByOwner(owner: string): Array<RawCell>;
19
26
  changedSince(version: number): Array<RawCell>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/map/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;GAIG;AACH,qBAAa,QAAQ;IAcL,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IAIpD,OAAO,CAAC,WAAW,CAAK;IAGxB,OAAO,CAAC,aAAa,CAAK;IAG1B,OAAO,CAAC,mBAAmB,CAAuB;gBAGrB,MAAM,GAAE,MAAM,MAA4C;IAEvF,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAejC,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAclD,UAAU,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAa/C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAIpC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;IAWzC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;IAU7C,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC;IAKnC,cAAc,IAAI,MAAM;IAKxB,gBAAgB,IAAI,MAAM;IAI1B,aAAa,IAAI,MAAM;IAIvB,IAAI,IAAI,MAAM;CAGjB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/map/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;GAIG;AACH,qBAAa,QAAQ;IAoBL,OAAO,CAAC,QAAQ,CAAC,MAAM;IAnBnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IAIpD,OAAO,CAAC,WAAW,CAAK;IAGxB,OAAO,CAAC,aAAa,CAAK;IAG1B,OAAO,CAAC,mBAAmB,CAAuB;IAGlD,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,cAAc,CAAK;gBAGE,MAAM,GAAE,MAAM,MAA4C;IAEvF,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAejC,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAclD,UAAU,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAiB/C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMvC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvD,eAAe,IAAI,MAAM;IAIzB,iBAAiB,IAAI,MAAM;IAI3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAIpC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;IAWzC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;IAU7C,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC;IAKnC,cAAc,IAAI,MAAM;IAKxB,gBAAgB,IAAI,MAAM;IAI1B,aAAa,IAAI,MAAM;IAIvB,IAAI,IAAI,MAAM;CAGjB"}
package/dist/map/store.js CHANGED
@@ -17,6 +17,12 @@ export class MapStore {
17
17
  // Offset (serverTime − local seconds) captured at the last snapshot. getServerTime() projects it onto the
18
18
  // live local clock, so "reference now" keeps advancing between resyncs instead of freezing at the snapshot.
19
19
  serverTimeOffsetSec = null;
20
+ // Rows the tolerant parser could not read. A row we cannot hold is indistinguishable from ground nobody
21
+ // minted, so readers that must not confuse the two ask for this count before trusting what they see.
22
+ droppedCells = 0;
23
+ // Live updates the tolerant parser could not read. The row itself may already be held, so this is
24
+ // staleness rather than a hole — tracked apart so readers can say which of the two they are refusing on.
25
+ droppedUpdates = 0;
20
26
  // `nowSec` is injectable so tests get a deterministic clock; production uses wall-clock seconds.
21
27
  constructor(nowSec = () => Math.floor(Date.now() / 1000)) {
22
28
  this.nowSec = nowSec;
@@ -50,6 +56,8 @@ export class MapStore {
50
56
  replaceAll(snapshot) {
51
57
  this.cells.clear();
52
58
  this.latestUpdated = 0;
59
+ this.droppedCells = 0;
60
+ this.droppedUpdates = 0;
53
61
  for (const cell of snapshot.cells) {
54
62
  this.cells.set(cell.tokenId, cell);
55
63
  if (cell.updated > this.latestUpdated) {
@@ -59,6 +67,26 @@ export class MapStore {
59
67
  this.syncVersion = snapshot.version;
60
68
  this.serverTimeOffsetSec = snapshot.serverTime - this.nowSec();
61
69
  }
70
+ // Sticky: a delta never re-sends a row that was already dropped, so the count survives every delta and
71
+ // is cleared only by a read of the whole map, which re-delivers the rows a delta would skip.
72
+ noteDroppedCells(count) {
73
+ this.droppedCells += count;
74
+ }
75
+ noteDroppedUpdates(count) {
76
+ this.droppedUpdates += count;
77
+ }
78
+ // Clears only what the caller's whole-map read actually covered, so gaps opened while that read was in
79
+ // flight stay counted instead of being repaired by a response that predates them.
80
+ clearRepairedGaps(cells, updates) {
81
+ this.droppedCells = Math.max(0, this.droppedCells - cells);
82
+ this.droppedUpdates = Math.max(0, this.droppedUpdates - updates);
83
+ }
84
+ getDroppedCells() {
85
+ return this.droppedCells;
86
+ }
87
+ getDroppedUpdates() {
88
+ return this.droppedUpdates;
89
+ }
62
90
  get(tokenId) {
63
91
  return this.cells.get(tokenId) ?? null;
64
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/map/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/map/store.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export declare class MapSync implements MapStatus {
19
19
  private degradeTimer;
20
20
  private retryTimer;
21
21
  private resyncPaused;
22
+ private repairInFlight;
23
+ private droppedInFullSnapshot;
22
24
  private generation;
23
25
  constructor(options: MapSyncOptions);
24
26
  start(): void;
@@ -32,10 +34,12 @@ export declare class MapSync implements MapStatus {
32
34
  private bootstrapSnapshot;
33
35
  private fetchSnapshot;
34
36
  private resync;
37
+ private readMap;
35
38
  private handleConnect;
36
39
  private handleDisconnect;
37
40
  private handleError;
38
41
  private handleCellUpdate;
42
+ private handleCellUpdateDropped;
39
43
  private markReady;
40
44
  private scheduleRetry;
41
45
  private startPolling;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/map/sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,YAAY,EAEZ,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,cAAc,EAGtB,MAAM,YAAY,CAAC;AAMpB;;;;GAIG;AACH,qBAAa,OAAQ,YAAW,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAK;gBAEX,OAAO,EAAE,cAAc;IAUnC,KAAK,IAAI,IAAI;IAoBb,YAAY,IAAI,YAAY;IAI5B,iBAAiB,IAAI,OAAO;IAItB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,IAAI,IAAI,IAAI;IAgBN,WAAW,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQvD,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;YAUxC,iBAAiB;YAiCjB,aAAa;YAQb,MAAM;IAuBpB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,iBAAiB;CAM5B"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/map/sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,YAAY,EAEZ,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,cAAc,EAGtB,MAAM,YAAY,CAAC;AAMpB;;;;GAIG;AACH,qBAAa,OAAQ,YAAW,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,UAAU,CAAK;gBAEX,OAAO,EAAE,cAAc;IAUnC,KAAK,IAAI,IAAI;IAqBb,YAAY,IAAI,YAAY;IAI5B,iBAAiB,IAAI,OAAO;IAItB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,IAAI,IAAI,IAAI;IAgBN,WAAW,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IASvD,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;YAYxC,iBAAiB;YAkCjB,aAAa;YAQb,MAAM;YA4BN,OAAO;IA2BrB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,iBAAiB;CAM5B"}
package/dist/map/sync.js CHANGED
@@ -23,6 +23,8 @@ export class MapSync {
23
23
  degradeTimer = null;
24
24
  retryTimer = null;
25
25
  resyncPaused = false;
26
+ repairInFlight = null;
27
+ droppedInFullSnapshot = 0;
26
28
  generation = 0;
27
29
  constructor(options) {
28
30
  this.store = options.store;
@@ -47,6 +49,7 @@ export class MapSync {
47
49
  onDisconnect: (reason) => this.handleDisconnect(reason),
48
50
  onError: (error) => this.handleError(error),
49
51
  onCellUpdate: (cell) => this.handleCellUpdate(cell),
52
+ onCellUpdateDropped: () => this.handleCellUpdateDropped(),
50
53
  });
51
54
  void this.bootstrapSnapshot();
52
55
  }
@@ -85,6 +88,7 @@ export class MapSync {
85
88
  }
86
89
  async fetchFullSnapshot() {
87
90
  const { snapshot, dropped } = await this.fetchSnapshot(MAP_HTTP_PATH);
91
+ this.droppedInFullSnapshot = dropped;
88
92
  if (dropped > 0) {
89
93
  this.logger.warn('dropped invalid cells from map snapshot', { dropped });
90
94
  }
@@ -93,6 +97,8 @@ export class MapSync {
93
97
  applyFullSnapshot(snapshot) {
94
98
  this.generation += 1;
95
99
  this.store.replaceAll(snapshot);
100
+ this.store.noteDroppedCells(this.droppedInFullSnapshot);
101
+ this.droppedInFullSnapshot = 0;
96
102
  this.logger.info('map replaced from a full snapshot', {
97
103
  cells: this.store.size(),
98
104
  version: this.store.getSyncVersion(),
@@ -120,6 +126,7 @@ export class MapSync {
120
126
  return;
121
127
  }
122
128
  this.store.applySnapshot(snapshot);
129
+ this.store.noteDroppedCells(dropped);
123
130
  if (dropped > 0) {
124
131
  this.logger.warn('dropped invalid cells from map snapshot', { dropped });
125
132
  }
@@ -142,16 +149,46 @@ export class MapSync {
142
149
  if (this.resyncPaused) {
143
150
  return;
144
151
  }
152
+ // One repairing read at a time. Each of them measures the open gap before it asks and writes that
153
+ // measurement off when it answers, so two overlapping reads would write the same gap off twice and
154
+ // an answer older than the gap could close it. An overlap rides the read already in flight instead.
155
+ if (this.repairInFlight !== null) {
156
+ await this.repairInFlight;
157
+ return;
158
+ }
159
+ const repairCells = this.store.getDroppedCells();
160
+ const repairUpdates = this.store.getDroppedUpdates();
161
+ if (repairCells === 0 && repairUpdates === 0) {
162
+ await this.readMap(0, 0);
163
+ return;
164
+ }
165
+ const repair = this.readMap(repairCells, repairUpdates);
166
+ this.repairInFlight = repair;
167
+ try {
168
+ await repair;
169
+ }
170
+ finally {
171
+ this.repairInFlight = null;
172
+ }
173
+ }
174
+ // A delta never re-sends a row the parser already dropped, so while a gap is open the only read that can
175
+ // close it is one of the whole map.
176
+ async readMap(repairCells, repairUpdates) {
177
+ const repairing = repairCells > 0 || repairUpdates > 0;
145
178
  const generation = this.generation;
146
179
  const since = this.store.getSyncVersion();
147
180
  try {
148
- const { snapshot, dropped } = await this.fetchSnapshot(`${MAP_HTTP_PATH}?since=${since}`);
181
+ const { snapshot, dropped } = await this.fetchSnapshot(repairing ? MAP_HTTP_PATH : `${MAP_HTTP_PATH}?since=${since}`);
149
182
  if (generation !== this.generation) {
150
183
  return;
151
184
  }
152
185
  this.store.applySnapshot(snapshot);
186
+ if (repairing) {
187
+ this.store.clearRepairedGaps(repairCells, repairUpdates);
188
+ }
189
+ this.store.noteDroppedCells(dropped);
153
190
  this.logger.info('map resynced', {
154
- since,
191
+ since: repairing ? 0 : since,
155
192
  changed: snapshot.cells.length,
156
193
  dropped,
157
194
  version: this.store.getSyncVersion(),
@@ -198,6 +235,9 @@ export class MapSync {
198
235
  this.logger.debug('cell updated', { tokenId: cell.tokenId, latest: this.store.getLatestUpdated() });
199
236
  }
200
237
  }
238
+ handleCellUpdateDropped() {
239
+ this.store.noteDroppedUpdates(1);
240
+ }
201
241
  markReady() {
202
242
  this.ready = true;
203
243
  if (this.readiness === MapReadiness.Loading) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/map/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/map/sync.ts"],"names":[],"mappings":"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"}