@cimplify/sdk 0.108.0 → 0.110.2

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 (608) hide show
  1. package/LICENSE +21 -0
  2. package/dist/advanced.d.mts +4 -3
  3. package/dist/advanced.d.ts +4 -3
  4. package/dist/advanced.js +24 -24
  5. package/dist/advanced.mjs +5 -5
  6. package/dist/animation-4EXBXRVX.js +27 -0
  7. package/dist/animation-6DICNWUP.mjs +6 -0
  8. package/dist/audio-DhvyjqdA.d.mts +249 -0
  9. package/dist/audio-m0w8cnxq.d.ts +249 -0
  10. package/dist/avatars.d.mts +110 -0
  11. package/dist/avatars.d.ts +110 -0
  12. package/dist/avatars.js +82 -0
  13. package/dist/avatars.mjs +5 -0
  14. package/dist/backend-gUCzs5Kg.d.mts +3866 -0
  15. package/dist/backend-gUCzs5Kg.d.ts +3866 -0
  16. package/dist/{catalogue-B4eLL8Mi.d.ts → catalogue-CPTMyBUz.d.mts} +109 -221
  17. package/dist/catalogue-DzrTXP3v.d.mts +541 -0
  18. package/dist/catalogue-DzrTXP3v.d.ts +541 -0
  19. package/dist/{catalogue-OT89_Ifs.d.mts → catalogue-OTuS5zp-.d.ts} +109 -221
  20. package/dist/chunk-22BD3RHN.mjs +1809 -0
  21. package/dist/chunk-25T4JHEA.mjs +21 -0
  22. package/dist/chunk-2AQ237Y4.js +508 -0
  23. package/dist/chunk-2IC4H6OV.mjs +48 -0
  24. package/dist/chunk-2LHLG4OB.mjs +71 -0
  25. package/dist/chunk-2O2CG465.js +1709 -0
  26. package/dist/chunk-2Q4DTHXK.js +316 -0
  27. package/dist/chunk-2QTQ6BUH.mjs +46 -0
  28. package/dist/chunk-2UN4SFLR.mjs +100 -0
  29. package/dist/chunk-2V75I7K3.js +454 -0
  30. package/dist/chunk-2V7IL4HC.js +10 -0
  31. package/dist/chunk-34XBXUMW.js +296 -0
  32. package/dist/chunk-3C4C654I.js +71 -0
  33. package/dist/chunk-3DAD2LDF.mjs +72 -0
  34. package/dist/chunk-3GXH2NFD.mjs +4 -0
  35. package/dist/chunk-3O47ZFW3.js +961 -0
  36. package/dist/chunk-3OY3VYNF.mjs +11 -0
  37. package/dist/chunk-3S6WPBZL.js +2936 -0
  38. package/dist/chunk-3TUOUP5T.js +399 -0
  39. package/dist/chunk-3VEH23I5.mjs +1380 -0
  40. package/dist/chunk-3ZYSAW2T.mjs +263 -0
  41. package/dist/chunk-4ANVF274.js +103 -0
  42. package/dist/chunk-4C7I3ELN.js +388 -0
  43. package/dist/chunk-4DYKAYFO.mjs +8 -0
  44. package/dist/chunk-4ZDR72SG.js +329 -0
  45. package/dist/chunk-52YS45RR.js +1066 -0
  46. package/dist/chunk-5325XSCH.js +107 -0
  47. package/dist/chunk-5AD5X6AV.js +13 -0
  48. package/dist/chunk-5BYDGGWO.mjs +197 -0
  49. package/dist/chunk-5C3C7VDM.mjs +55 -0
  50. package/dist/chunk-5HFMY3D7.js +660 -0
  51. package/dist/chunk-5LH2QN3T.js +1862 -0
  52. package/dist/chunk-5PJEXSOW.js +44 -0
  53. package/dist/chunk-5SXDH3Y7.js +90 -0
  54. package/dist/chunk-5YFBGGCK.mjs +502 -0
  55. package/dist/chunk-5YWN6H5Q.mjs +133 -0
  56. package/dist/chunk-66QP3SMN.js +402 -0
  57. package/dist/chunk-6DAEZKIG.mjs +385 -0
  58. package/dist/chunk-6DATW7TB.mjs +420 -0
  59. package/dist/{chunk-JRGK3NXR.mjs → chunk-6ETDAU62.mjs} +72 -212
  60. package/dist/chunk-6H254EVP.mjs +178 -0
  61. package/dist/chunk-6PFNJPBJ.mjs +820 -0
  62. package/dist/chunk-6PJWXIFX.mjs +357 -0
  63. package/dist/chunk-6SWKWCMS.js +80 -0
  64. package/dist/chunk-6VVXXX7S.js +808 -0
  65. package/dist/chunk-6WUBSMTX.js +1403 -0
  66. package/dist/chunk-73SGZLAQ.mjs +35 -0
  67. package/dist/chunk-76L2V6KD.mjs +4 -0
  68. package/dist/chunk-7AAIAVAA.js +1531 -0
  69. package/dist/chunk-7ARSJPV3.mjs +93 -0
  70. package/dist/chunk-7BHW5GTC.mjs +1234 -0
  71. package/dist/chunk-7DQSDKDU.js +6 -0
  72. package/dist/chunk-7IQQQENP.mjs +401 -0
  73. package/dist/chunk-7KFTYENS.js +11357 -0
  74. package/dist/chunk-7SM6XSPZ.js +3171 -0
  75. package/dist/chunk-7SXOHAIR.mjs +28 -0
  76. package/dist/chunk-A2MAX6S4.js +90 -0
  77. package/dist/chunk-A33OORT7.mjs +1530 -0
  78. package/dist/{chunk-U6ACF76H.mjs → chunk-A36JRXXH.mjs} +1075 -1845
  79. package/dist/chunk-A7BU3BK4.js +52 -0
  80. package/dist/chunk-A7MQSN2V.mjs +77 -0
  81. package/dist/chunk-A7V4L2IT.mjs +416 -0
  82. package/dist/chunk-AABEK6XU.js +226 -0
  83. package/dist/chunk-AGV33FWC.mjs +5005 -0
  84. package/dist/chunk-AHNR3BXI.js +108 -0
  85. package/dist/chunk-AQ5RLBU2.mjs +286 -0
  86. package/dist/chunk-AQOE6WCG.js +1270 -0
  87. package/dist/chunk-ATAWRACV.mjs +62 -0
  88. package/dist/chunk-ATCURNUV.js +14 -0
  89. package/dist/chunk-AWPV33OO.js +6 -0
  90. package/dist/chunk-AYJPHKYV.js +337 -0
  91. package/dist/chunk-AZ5BGWHB.js +162 -0
  92. package/dist/chunk-AZAXD44P.js +1373 -0
  93. package/dist/chunk-BBGKQIJJ.mjs +406 -0
  94. package/dist/chunk-BP4JLSUA.js +1453 -0
  95. package/dist/{chunk-SUCE7FWA.mjs → chunk-BTUSVHIE.mjs} +539 -978
  96. package/dist/chunk-BU6OK542.mjs +818 -0
  97. package/dist/chunk-CVSRWM6W.js +418 -0
  98. package/dist/chunk-CYBMFMJD.mjs +247 -0
  99. package/dist/chunk-DDJLDOUX.mjs +217 -0
  100. package/dist/{chunk-V32BCG7M.js → chunk-DFZWHNRG.js} +75 -215
  101. package/dist/chunk-DJ2C7AVG.js +644 -0
  102. package/dist/chunk-DS2VU4WW.mjs +102 -0
  103. package/dist/chunk-DSAG7T5P.js +7290 -0
  104. package/dist/chunk-E2QPPH7I.js +327 -0
  105. package/dist/chunk-E65WCTIG.mjs +1187 -0
  106. package/dist/{chunk-33VCYWVL.mjs → chunk-E6QQKDNE.mjs} +30 -42
  107. package/dist/chunk-ECDK6QBF.mjs +981 -0
  108. package/dist/chunk-EIB4OWVQ.mjs +620 -0
  109. package/dist/chunk-EQUZYCGO.js +250 -0
  110. package/dist/chunk-F3UJ6ZRM.mjs +313 -0
  111. package/dist/chunk-F63N2ZTQ.js +7023 -0
  112. package/dist/chunk-F6XRYEM3.mjs +26 -0
  113. package/dist/chunk-FE6VCE4K.js +5030 -0
  114. package/dist/chunk-FLWD6GRR.js +1372 -0
  115. package/dist/chunk-FQBFWJBS.mjs +110 -0
  116. package/dist/chunk-FXVJ2HFU.js +26 -0
  117. package/dist/chunk-FZMQMQBW.js +312 -0
  118. package/dist/chunk-G3EEC44R.js +53 -0
  119. package/dist/{chunk-KG3WT4PR.mjs → chunk-GCKWKLZF.mjs} +73 -104
  120. package/dist/chunk-GCX7TY4D.mjs +6826 -0
  121. package/dist/chunk-GDB6TCSD.js +450 -0
  122. package/dist/chunk-GDCV4IWO.mjs +21 -0
  123. package/dist/chunk-GDZT5LZ5.js +170 -0
  124. package/dist/chunk-GHPUYD4I.mjs +213 -0
  125. package/dist/chunk-GHS6MIL6.mjs +1432 -0
  126. package/dist/chunk-GPS2THCL.mjs +11 -0
  127. package/dist/{chunk-EV2EVOYS.js → chunk-GTJWQAGU.js} +31 -42
  128. package/dist/chunk-GVTI6UJQ.mjs +130 -0
  129. package/dist/chunk-GXKI64OT.mjs +1138 -0
  130. package/dist/chunk-GYDYF2WX.js +275 -0
  131. package/dist/chunk-GYLP6UG4.mjs +705 -0
  132. package/dist/chunk-H3OQKK6X.js +1158 -0
  133. package/dist/chunk-H5DFSCJ6.js +40 -0
  134. package/dist/chunk-HAGEIC2L.mjs +186 -0
  135. package/dist/chunk-HAJ4JRFO.js +293 -0
  136. package/dist/chunk-HDR72GB6.js +188 -0
  137. package/dist/chunk-HF5HPS4T.mjs +40 -0
  138. package/dist/chunk-HK6LOFDS.js +218 -0
  139. package/dist/chunk-HMWYTXCY.mjs +143 -0
  140. package/dist/chunk-HPCSRCMA.js +89 -0
  141. package/dist/chunk-HSEO6TPU.js +247 -0
  142. package/dist/chunk-I5FOHCLH.js +132 -0
  143. package/dist/chunk-IDLW4NWA.mjs +85 -0
  144. package/dist/chunk-IIDZ5WUX.js +61 -0
  145. package/dist/chunk-IR74FJHU.js +2332 -0
  146. package/dist/chunk-IRVFYAKP.mjs +100 -0
  147. package/dist/{chunk-XBL3TMPC.mjs → chunk-IZDWAL53.mjs} +1795 -3287
  148. package/dist/chunk-J2KZXIU3.js +51 -0
  149. package/dist/chunk-J2U6PJSO.js +91 -0
  150. package/dist/chunk-J5AJNY2N.js +283 -0
  151. package/dist/chunk-J6KQZ4FO.mjs +821 -0
  152. package/dist/{chunk-OWW5GUSB.js → chunk-JGBCIKJV.js} +7 -6
  153. package/dist/chunk-JKGTBMU7.mjs +25 -0
  154. package/dist/chunk-JR3TNEQC.js +422 -0
  155. package/dist/chunk-JURRXY2J.mjs +29 -0
  156. package/dist/chunk-K3HW5I2A.mjs +317 -0
  157. package/dist/chunk-K46SMZ66.mjs +103 -0
  158. package/dist/chunk-K4UDGE3Z.mjs +6 -0
  159. package/dist/chunk-KDQOR4QQ.mjs +350 -0
  160. package/dist/chunk-KDTVOLHI.mjs +288 -0
  161. package/dist/chunk-KGHJH5KJ.mjs +35 -0
  162. package/dist/chunk-KIZOA5LX.mjs +140 -0
  163. package/dist/chunk-KK6HYVBI.mjs +242 -0
  164. package/dist/chunk-KMKWGXMK.js +856 -0
  165. package/dist/chunk-KPA6K5IB.js +80 -0
  166. package/dist/chunk-KU7O4IXU.mjs +260 -0
  167. package/dist/chunk-KVFNRJOR.mjs +11142 -0
  168. package/dist/chunk-KZJRSXHK.js +2432 -0
  169. package/dist/chunk-LHWPRUJL.js +79 -0
  170. package/dist/chunk-LIV3KXJG.mjs +369 -0
  171. package/dist/chunk-LKV4LACG.js +21 -0
  172. package/dist/chunk-LUY45X3U.mjs +263 -0
  173. package/dist/chunk-LYEZZEEF.mjs +17 -0
  174. package/dist/chunk-M5EXQZYY.mjs +1519 -0
  175. package/dist/chunk-ME6HGG4I.mjs +1338 -0
  176. package/dist/chunk-MEXP6DA6.js +31 -0
  177. package/dist/chunk-MG52AW3H.js +902 -0
  178. package/dist/chunk-MIPO6F72.js +334 -0
  179. package/dist/{chunk-5QW7CQBA.js → chunk-MKIJQL5Q.js} +211 -321
  180. package/dist/chunk-MN3YETVN.mjs +17 -0
  181. package/dist/chunk-MOBSBXVE.mjs +2391 -0
  182. package/dist/chunk-MOMOZEUM.mjs +88 -0
  183. package/dist/chunk-MRFUNRAP.js +62 -0
  184. package/dist/chunk-MTIHEW2M.js +433 -0
  185. package/dist/chunk-N4RGGDEL.mjs +73 -0
  186. package/dist/chunk-NH654HAT.js +10 -0
  187. package/dist/chunk-NHJUGZUR.mjs +253 -0
  188. package/dist/chunk-NMQT4HG3.mjs +757 -0
  189. package/dist/chunk-NPSYB6DC.mjs +906 -0
  190. package/dist/chunk-NW2GPMSO.js +857 -0
  191. package/dist/chunk-NXKQOQ6L.js +76 -0
  192. package/dist/chunk-NXLAZIJZ.js +309 -0
  193. package/dist/chunk-NYWNA5CF.js +148 -0
  194. package/dist/chunk-NZTKLY2W.js +1442 -0
  195. package/dist/chunk-O2ICABUD.js +36 -0
  196. package/dist/chunk-OIVVQQ22.js +862 -0
  197. package/dist/chunk-OKC2B4O3.mjs +312 -0
  198. package/dist/chunk-OLWFPDBK.js +2220 -0
  199. package/dist/chunk-OMTVH334.js +3779 -0
  200. package/dist/chunk-OQRVEM56.mjs +362 -0
  201. package/dist/chunk-OXMIBOD4.js +337 -0
  202. package/dist/chunk-PBL6YL5L.mjs +288 -0
  203. package/dist/chunk-PDOELNNQ.js +97 -0
  204. package/dist/chunk-PDQJY2GZ.js +136 -0
  205. package/dist/chunk-PKOZXD2Q.js +1274 -0
  206. package/dist/chunk-PPF2BYFL.mjs +2191 -0
  207. package/dist/chunk-PQTQKNKD.js +539 -0
  208. package/dist/chunk-PRSR4FAV.mjs +81 -0
  209. package/dist/chunk-PTRNO5UD.js +95 -0
  210. package/dist/chunk-Q2Y3VMKH.js +2000 -0
  211. package/dist/chunk-QCZOE65N.js +96 -0
  212. package/dist/chunk-QDYFLATW.mjs +52 -0
  213. package/dist/chunk-QQABGCMM.js +22 -0
  214. package/dist/chunk-QS6TRHMR.js +345 -0
  215. package/dist/chunk-R56P64LB.mjs +208 -0
  216. package/dist/chunk-RCQ2MPBV.js +428 -0
  217. package/dist/chunk-RFVRPYR2.mjs +856 -0
  218. package/dist/chunk-RKBLPGPV.js +11521 -0
  219. package/dist/chunk-RM2V4IND.mjs +327 -0
  220. package/dist/chunk-RQXN5A34.mjs +613 -0
  221. package/dist/chunk-RUVGVNOF.mjs +2687 -0
  222. package/dist/chunk-SAFJIGYB.mjs +165 -0
  223. package/dist/chunk-SKQFLBDD.js +263 -0
  224. package/dist/chunk-SMK6JU2F.mjs +2092 -0
  225. package/dist/{chunk-UVRPC2P7.js → chunk-SNNEOS5Z.js} +1984 -3476
  226. package/dist/chunk-SPCRQ6NO.mjs +1246 -0
  227. package/dist/chunk-SWX4SALA.mjs +19 -0
  228. package/dist/{chunk-JVODCGFP.mjs → chunk-SYEO2WV4.mjs} +128 -238
  229. package/dist/chunk-T2QQMX2N.js +10 -0
  230. package/dist/chunk-T3AFF3L7.mjs +57 -0
  231. package/dist/chunk-T6Z2EXYL.js +712 -0
  232. package/dist/chunk-T7LOXGYX.js +118 -0
  233. package/dist/chunk-TJCAE7RC.mjs +1315 -0
  234. package/dist/chunk-TJI3K6RP.js +137 -0
  235. package/dist/chunk-TL2SVO4P.mjs +55 -0
  236. package/dist/chunk-TM63CYGN.mjs +399 -0
  237. package/dist/chunk-TU5RYTYU.mjs +13 -0
  238. package/dist/chunk-TVJZ4GPS.js +1553 -0
  239. package/dist/chunk-TWM6DLYF.js +371 -0
  240. package/dist/chunk-U63OC4TQ.js +30 -0
  241. package/dist/{chunk-L5GKVQVJ.js → chunk-U6BVSJZ6.js} +25 -57
  242. package/dist/chunk-U6UVWEAK.mjs +792 -0
  243. package/dist/chunk-UCEPNO6N.mjs +11048 -0
  244. package/dist/{chunk-ANT574FD.js → chunk-UCR5HRYM.js} +74 -105
  245. package/dist/chunk-UG5BTOTF.mjs +334 -0
  246. package/dist/chunk-UGH37BQW.mjs +157 -0
  247. package/dist/chunk-V7ZRH3PY.mjs +271 -0
  248. package/dist/chunk-VBGHBL3E.mjs +1394 -0
  249. package/dist/chunk-VRBDAS5I.js +920 -0
  250. package/dist/chunk-VVE3Y76O.js +230 -0
  251. package/dist/chunk-W65JIRI4.mjs +1182 -0
  252. package/dist/chunk-WHYKAT7G.js +62 -0
  253. package/dist/{chunk-YOIVZ6OA.mjs → chunk-WIZRUIZB.mjs} +25 -57
  254. package/dist/chunk-WKWTDZS7.js +385 -0
  255. package/dist/chunk-WLMINRC4.mjs +78 -0
  256. package/dist/chunk-WOF3AD3J.js +22 -0
  257. package/dist/chunk-WWKMOA76.js +1262 -0
  258. package/dist/chunk-X5A5FOWW.js +615 -0
  259. package/dist/chunk-X6CN6KQF.mjs +192 -0
  260. package/dist/chunk-XD2PMH46.mjs +517 -0
  261. package/dist/chunk-XJA2NGTI.mjs +88 -0
  262. package/dist/chunk-XJIHN3BY.mjs +8 -0
  263. package/dist/chunk-XK6UDWJS.js +203 -0
  264. package/dist/chunk-XPG3N5CF.mjs +415 -0
  265. package/dist/chunk-XVZ2NKSU.mjs +74 -0
  266. package/dist/chunk-XYP45OLE.js +117 -0
  267. package/dist/chunk-XZSDGZX6.mjs +301 -0
  268. package/dist/chunk-Y2EMGN4T.mjs +120 -0
  269. package/dist/chunk-Y3XWP5XW.mjs +298 -0
  270. package/dist/chunk-Y4K22JL6.js +228 -0
  271. package/dist/chunk-Y65LXQGA.mjs +3164 -0
  272. package/dist/chunk-Y66WVMO5.mjs +87 -0
  273. package/dist/chunk-Y7JWLB25.mjs +7280 -0
  274. package/dist/chunk-YCDXAJKU.js +175 -0
  275. package/dist/chunk-YRDQCCIS.js +152 -0
  276. package/dist/chunk-YV52DGSA.js +111 -0
  277. package/dist/chunk-YXGZQPUD.js +94 -0
  278. package/dist/chunk-Z3A3AFVU.mjs +102 -0
  279. package/dist/chunk-ZCY6YKKP.mjs +475 -0
  280. package/dist/chunk-ZEQHXVU5.js +215 -0
  281. package/dist/chunk-ZF7JCXCI.js +284 -0
  282. package/dist/chunk-ZJBRUH6V.js +29 -0
  283. package/dist/chunk-ZMIL4ZOA.js +365 -0
  284. package/dist/chunk-ZR5ULMN2.mjs +337 -0
  285. package/dist/chunk-ZXREOYOW.js +87 -0
  286. package/dist/{client-BSP9U1O1.d.mts → client-CX_WR0-J.d.mts} +2 -2
  287. package/dist/client-Dytx_ZTC.d.ts +230 -0
  288. package/dist/{client-B878xeAP.d.ts → client-dqOhP9Nc.d.ts} +2 -2
  289. package/dist/client-hTKbCuhG.d.mts +230 -0
  290. package/dist/clock-B-UAjkKa.d.mts +5 -0
  291. package/dist/clock-B-UAjkKa.d.ts +5 -0
  292. package/dist/config-BlXQluJR.d.mts +36 -0
  293. package/dist/config-BlXQluJR.d.ts +36 -0
  294. package/dist/courier-Cnn-edJ4.d.ts +95 -0
  295. package/dist/courier-FmGfkvIN.d.mts +95 -0
  296. package/dist/crowd-DdHFbqKK.d.ts +186 -0
  297. package/dist/crowd-hOVSAmA3.d.mts +186 -0
  298. package/dist/danfo-BEBapFlX.d.mts +146 -0
  299. package/dist/danfo-UQ_PTIIx.d.ts +146 -0
  300. package/dist/{elements-Bty6Qs_N.d.mts → elements-DdsRig-2.d.mts} +1548 -257
  301. package/dist/{elements-Bty6Qs_N.d.ts → elements-DdsRig-2.d.ts} +1548 -257
  302. package/dist/engines/godot.d.mts +56 -0
  303. package/dist/engines/godot.d.ts +56 -0
  304. package/dist/engines/godot.js +28 -0
  305. package/dist/engines/godot.mjs +3 -0
  306. package/dist/engines/wasm.d.mts +11 -0
  307. package/dist/engines/wasm.d.ts +11 -0
  308. package/dist/engines/wasm.js +178 -0
  309. package/dist/engines/wasm.mjs +176 -0
  310. package/dist/fallback-CrG_lTFk.d.mts +270 -0
  311. package/dist/fallback-CrG_lTFk.d.ts +270 -0
  312. package/dist/fallback-KDB4Y2CE.mjs +6 -0
  313. package/dist/fallback-Y26TQENE.js +19 -0
  314. package/dist/features-CZB4rmcD.d.mts +118 -0
  315. package/dist/features-CZB4rmcD.d.ts +118 -0
  316. package/dist/fit-BWiE7rgA.d.mts +44 -0
  317. package/dist/fit-DK0oT7zO.d.ts +44 -0
  318. package/dist/five-a-side-Bv1AOUy3.d.mts +115 -0
  319. package/dist/five-a-side-EC51SJY1.d.ts +115 -0
  320. package/dist/fluid-ARr0qUIL.d.ts +939 -0
  321. package/dist/fluid-DLlEj2cs.d.mts +939 -0
  322. package/dist/game/conformance.d.mts +84 -0
  323. package/dist/game/conformance.d.ts +84 -0
  324. package/dist/game/conformance.js +1025 -0
  325. package/dist/game/conformance.mjs +994 -0
  326. package/dist/game/heap.d.mts +40 -0
  327. package/dist/game/heap.d.ts +40 -0
  328. package/dist/game/heap.js +48 -0
  329. package/dist/game/heap.mjs +7 -0
  330. package/dist/game/kit/canvas.d.mts +240 -0
  331. package/dist/game/kit/canvas.d.ts +240 -0
  332. package/dist/game/kit/canvas.js +3566 -0
  333. package/dist/game/kit/canvas.mjs +1039 -0
  334. package/dist/game/kit/courier.d.mts +17 -0
  335. package/dist/game/kit/courier.d.ts +17 -0
  336. package/dist/game/kit/courier.js +66 -0
  337. package/dist/game/kit/courier.mjs +49 -0
  338. package/dist/game/kit/danfo.d.mts +11 -0
  339. package/dist/game/kit/danfo.d.ts +11 -0
  340. package/dist/game/kit/danfo.js +109 -0
  341. package/dist/game/kit/danfo.mjs +44 -0
  342. package/dist/game/kit/engine.d.mts +29 -0
  343. package/dist/game/kit/engine.d.ts +29 -0
  344. package/dist/game/kit/engine.js +183 -0
  345. package/dist/game/kit/engine.mjs +30 -0
  346. package/dist/game/kit/five-a-side.d.mts +11 -0
  347. package/dist/game/kit/five-a-side.d.ts +11 -0
  348. package/dist/game/kit/five-a-side.js +86 -0
  349. package/dist/game/kit/five-a-side.mjs +41 -0
  350. package/dist/game/kit/frontier.d.mts +344 -0
  351. package/dist/game/kit/frontier.d.ts +344 -0
  352. package/dist/game/kit/frontier.js +435 -0
  353. package/dist/game/kit/frontier.mjs +14 -0
  354. package/dist/game/kit/genesis.d.mts +752 -0
  355. package/dist/game/kit/genesis.d.ts +752 -0
  356. package/dist/game/kit/genesis.js +380 -0
  357. package/dist/game/kit/genesis.mjs +15 -0
  358. package/dist/game/kit/ludo.d.mts +15 -0
  359. package/dist/game/kit/ludo.d.ts +15 -0
  360. package/dist/game/kit/ludo.js +87 -0
  361. package/dist/game/kit/ludo.mjs +42 -0
  362. package/dist/game/kit/runner.d.mts +12 -0
  363. package/dist/game/kit/runner.d.ts +12 -0
  364. package/dist/game/kit/runner.js +83 -0
  365. package/dist/game/kit/runner.mjs +46 -0
  366. package/dist/game/kit/shootout.d.mts +13 -0
  367. package/dist/game/kit/shootout.d.ts +13 -0
  368. package/dist/game/kit/shootout.js +122 -0
  369. package/dist/game/kit/shootout.mjs +57 -0
  370. package/dist/game/kit/slots.d.mts +392 -0
  371. package/dist/game/kit/slots.d.ts +392 -0
  372. package/dist/game/kit/slots.js +215 -0
  373. package/dist/game/kit/slots.mjs +6 -0
  374. package/dist/game/kit/tycoon.d.mts +16 -0
  375. package/dist/game/kit/tycoon.d.ts +16 -0
  376. package/dist/game/kit/tycoon.js +145 -0
  377. package/dist/game/kit/tycoon.mjs +44 -0
  378. package/dist/game/kit/word.d.mts +11 -0
  379. package/dist/game/kit/word.d.ts +11 -0
  380. package/dist/game/kit/word.js +78 -0
  381. package/dist/game/kit/word.mjs +41 -0
  382. package/dist/game/kit/worlds.d.mts +18 -0
  383. package/dist/game/kit/worlds.d.ts +18 -0
  384. package/dist/game/kit/worlds.js +74 -0
  385. package/dist/game/kit/worlds.mjs +49 -0
  386. package/dist/game/kit.d.mts +53 -0
  387. package/dist/game/kit.d.ts +53 -0
  388. package/dist/game/kit.js +2610 -0
  389. package/dist/game/kit.mjs +101 -0
  390. package/dist/game/prepared.d.mts +14 -0
  391. package/dist/game/prepared.d.ts +14 -0
  392. package/dist/game/prepared.js +81 -0
  393. package/dist/game/prepared.mjs +32 -0
  394. package/dist/game-Bx8onkhX.d.mts +1451 -0
  395. package/dist/game-fgQy2YIm.d.ts +1451 -0
  396. package/dist/game-theme-CBTw1b_d.d.mts +35 -0
  397. package/dist/game-theme-Dg-ict5A.d.ts +35 -0
  398. package/dist/game.d.mts +3546 -0
  399. package/dist/game.d.ts +3546 -0
  400. package/dist/game.js +4455 -0
  401. package/dist/game.mjs +50 -0
  402. package/dist/graphics-C6YjWYvP.d.ts +5 -0
  403. package/dist/graphics-Dk2yQnYN.d.mts +5 -0
  404. package/dist/guest-DrsA00XD.d.mts +732 -0
  405. package/dist/guest-wIdfoT05.d.ts +732 -0
  406. package/dist/hit-stop-BKkVwTq7.d.mts +43 -0
  407. package/dist/hit-stop-D-8pPYnM.d.ts +43 -0
  408. package/dist/hot-Crn9XpHJ.d.ts +29 -0
  409. package/dist/hot-DH3nOhQD.d.mts +29 -0
  410. package/dist/{index-CQStGb3B.d.mts → index-6gkHMGAq.d.mts} +2 -2
  411. package/dist/index-B8ybCKJI.d.ts +41 -0
  412. package/dist/{index-DJwXmoaP.d.ts → index-B98Xac8e.d.ts} +2 -2
  413. package/dist/{index-B7oA_1XI.d.ts → index-B_ByTtIT.d.ts} +2 -2
  414. package/dist/index-DHjNHb1c.d.mts +41 -0
  415. package/dist/{index-DhUSTAhT.d.mts → index-DbAN_VQE.d.mts} +2 -2
  416. package/dist/index.d.mts +134 -24
  417. package/dist/index.d.ts +134 -24
  418. package/dist/index.js +407 -248
  419. package/dist/index.mjs +184 -58
  420. package/dist/interactives-authoring.d.mts +231 -0
  421. package/dist/interactives-authoring.d.ts +231 -0
  422. package/dist/interactives-authoring.js +1743 -0
  423. package/dist/interactives-authoring.mjs +1704 -0
  424. package/dist/interactives-canvas.global.js +148 -0
  425. package/dist/interactives-guest.d.mts +20 -0
  426. package/dist/interactives-guest.d.ts +20 -0
  427. package/dist/interactives-guest.js +63 -0
  428. package/dist/interactives-guest.json +1 -0
  429. package/dist/interactives-guest.mjs +61 -0
  430. package/dist/interactives-jsc.global.js +9357 -0
  431. package/dist/interactives-meters.d.mts +93 -0
  432. package/dist/interactives-meters.d.ts +93 -0
  433. package/dist/interactives-meters.js +252 -0
  434. package/dist/interactives-meters.mjs +68 -0
  435. package/dist/interactives-production.d.mts +430 -0
  436. package/dist/interactives-production.d.ts +430 -0
  437. package/dist/interactives-production.js +1231 -0
  438. package/dist/interactives-production.mjs +1170 -0
  439. package/dist/interactives-record.d.mts +112 -0
  440. package/dist/interactives-record.d.ts +112 -0
  441. package/dist/interactives-record.js +302 -0
  442. package/dist/interactives-record.mjs +295 -0
  443. package/dist/interactives-runtime.d.mts +61 -0
  444. package/dist/interactives-runtime.d.ts +61 -0
  445. package/dist/interactives-runtime.js +442 -0
  446. package/dist/interactives-runtime.mjs +25 -0
  447. package/dist/interactives-studio-kernel.global.js +1 -0
  448. package/dist/interactives-studio.d.mts +806 -0
  449. package/dist/interactives-studio.d.ts +806 -0
  450. package/dist/interactives-studio.js +5741 -0
  451. package/dist/interactives-studio.mjs +5651 -0
  452. package/dist/interactives-tick.d.mts +90 -0
  453. package/dist/interactives-tick.d.ts +90 -0
  454. package/dist/interactives-tick.js +203 -0
  455. package/dist/interactives-tick.mjs +6 -0
  456. package/dist/interactives-web.d.mts +762 -0
  457. package/dist/interactives-web.d.ts +762 -0
  458. package/dist/interactives-web.js +5000 -0
  459. package/dist/interactives-web.mjs +4628 -0
  460. package/dist/interactives.d.mts +2430 -0
  461. package/dist/interactives.d.ts +2430 -0
  462. package/dist/interactives.js +5723 -0
  463. package/dist/interactives.mjs +4333 -0
  464. package/dist/juice-CoHxlpKA.d.ts +42 -0
  465. package/dist/juice-DQztFS43.d.mts +42 -0
  466. package/dist/launch-T2f4_Di4.d.mts +151 -0
  467. package/dist/launch-d6oreMzR.d.ts +151 -0
  468. package/dist/library-DXYaMFhi.d.mts +69 -0
  469. package/dist/library-DXYaMFhi.d.ts +69 -0
  470. package/dist/link-BUTqGmyi.d.mts +38 -0
  471. package/dist/link-BUTqGmyi.d.ts +38 -0
  472. package/dist/lint.js +104 -204
  473. package/dist/lint.mjs +103 -203
  474. package/dist/local-D8_I6UeL.d.mts +6967 -0
  475. package/dist/local-VZkqsCzR.d.ts +6967 -0
  476. package/dist/lockstep-BLf6dglI.d.mts +321 -0
  477. package/dist/lockstep-D50Ia0JW.d.ts +321 -0
  478. package/dist/ludo-B8ClkDqr.d.ts +205 -0
  479. package/dist/ludo-BOuohQ-M.d.mts +205 -0
  480. package/dist/mock/cli.mjs +200 -56
  481. package/dist/mock/library.js +200 -56
  482. package/dist/mock/library.mjs +200 -56
  483. package/dist/mock/msw.js +200 -56
  484. package/dist/mock/msw.mjs +200 -56
  485. package/dist/native-BodxSh03.d.mts +16 -0
  486. package/dist/native-DUHMT8gA.d.ts +16 -0
  487. package/dist/network-ZXLD7l1b.d.mts +19 -0
  488. package/dist/network-ZXLD7l1b.d.ts +19 -0
  489. package/dist/online-XeymeM9s.d.ts +381 -0
  490. package/dist/online-d7W_Al9a.d.mts +381 -0
  491. package/dist/params-DxFb5G_U.d.mts +155 -0
  492. package/dist/params-DxFb5G_U.d.ts +155 -0
  493. package/dist/play-BRRlfLhX.d.ts +940 -0
  494. package/dist/play-ClrMd_e8.d.mts +940 -0
  495. package/dist/policy-CCw8tXLm.d.mts +3078 -0
  496. package/dist/policy-CMqOSQIu.d.ts +3078 -0
  497. package/dist/ports-B_0v_P3A.d.mts +13 -0
  498. package/dist/ports-CGU_3e_0.d.ts +13 -0
  499. package/dist/prefetch-BHnicOQj.d.ts +117 -0
  500. package/dist/prefetch-CBXgYacv.d.mts +117 -0
  501. package/dist/{price-CSztR02F.d.mts → price-BOzexBww.d.mts} +1 -1
  502. package/dist/{price-C_vasx9A.d.ts → price-C1h9sPxE.d.ts} +1 -1
  503. package/dist/protocol-C8qbpUbT.d.mts +242 -0
  504. package/dist/protocol-C8qbpUbT.d.ts +242 -0
  505. package/dist/rapier-AZHT4YI7.js +7886 -0
  506. package/dist/rapier-ODEPCQA6.mjs +7792 -0
  507. package/dist/react.d.mts +157 -15
  508. package/dist/react.d.ts +157 -15
  509. package/dist/react.js +5564 -5904
  510. package/dist/react.mjs +5451 -5808
  511. package/dist/runner-CQcLL7By.d.ts +189 -0
  512. package/dist/runner-D46Yj-wE.d.mts +189 -0
  513. package/dist/runtime-BRWfkf_q.d.mts +51 -0
  514. package/dist/runtime-DyuBMkKM.d.ts +51 -0
  515. package/dist/scheduling-D2ajXpMC.d.ts +224 -0
  516. package/dist/scheduling-DSRbbaZb.d.mts +224 -0
  517. package/dist/schema-BrWxzKp6.d.mts +63 -0
  518. package/dist/schema-BrWxzKp6.d.ts +63 -0
  519. package/dist/server/evict.js +34 -37
  520. package/dist/server/evict.mjs +34 -37
  521. package/dist/server/tanstack.d.mts +49 -3
  522. package/dist/server/tanstack.d.ts +49 -3
  523. package/dist/server/tanstack.js +169 -117
  524. package/dist/server/tanstack.mjs +166 -118
  525. package/dist/{server-Dckg4Vdr.d.ts → server-D29IIuDV.d.ts} +136 -130
  526. package/dist/{server-B6dW7-Lj.d.mts → server-DQMWPnc8.d.mts} +136 -130
  527. package/dist/server.d.mts +45 -5
  528. package/dist/server.d.ts +45 -5
  529. package/dist/server.js +171 -227
  530. package/dist/server.mjs +165 -225
  531. package/dist/session-grant-CJ27DwrT.d.mts +19 -0
  532. package/dist/session-grant-CJ27DwrT.d.ts +19 -0
  533. package/dist/shootout-BJZeX6FG.d.ts +140 -0
  534. package/dist/shootout-tcZd1Rxt.d.mts +140 -0
  535. package/dist/state-replica-stMtdkVD.d.mts +42 -0
  536. package/dist/state-replica-stMtdkVD.d.ts +42 -0
  537. package/dist/studio-CowqWqez.d.mts +14 -0
  538. package/dist/studio-CowqWqez.d.ts +14 -0
  539. package/dist/styles.css +1 -1
  540. package/dist/template-AhCdB1kW.d.mts +190 -0
  541. package/dist/template-BkEGVTQj.d.ts +190 -0
  542. package/dist/terrain-BMxEc6Oc.d.ts +429 -0
  543. package/dist/terrain-C-XC1Oui.d.mts +429 -0
  544. package/dist/testing/msw.d.mts +28 -4
  545. package/dist/testing/msw.d.ts +28 -4
  546. package/dist/testing/msw.js +15 -21
  547. package/dist/testing/msw.mjs +15 -21
  548. package/dist/testing/suite.d.mts +6 -5
  549. package/dist/testing/suite.d.ts +6 -5
  550. package/dist/testing/suite.js +89 -124
  551. package/dist/testing/suite.mjs +81 -116
  552. package/dist/testing.d.mts +27 -1227
  553. package/dist/testing.d.ts +27 -1227
  554. package/dist/testing.js +127 -131
  555. package/dist/testing.mjs +19 -23
  556. package/dist/tick-transport-C8QEh8Uw.d.mts +50 -0
  557. package/dist/tick-transport-UjHY3xK1.d.ts +50 -0
  558. package/dist/timeline-protocol-hp6e8zFB.d.mts +47 -0
  559. package/dist/timeline-protocol-hp6e8zFB.d.ts +47 -0
  560. package/dist/tokens-DhanQRQS.d.mts +21 -0
  561. package/dist/tokens-K8yxwd6G.d.ts +21 -0
  562. package/dist/tree-C-Io2Hbx.d.mts +35 -0
  563. package/dist/tree-CP_qSW4H.d.ts +35 -0
  564. package/dist/tycoon-B5KHk2Xx.d.mts +255 -0
  565. package/dist/tycoon-hmHo-3HX.d.ts +255 -0
  566. package/dist/types-BQkxPwZP.d.mts +219 -0
  567. package/dist/types-D_f6UUxM.d.ts +219 -0
  568. package/dist/ui-DwHicuFv.d.mts +563 -0
  569. package/dist/ui-hi7S2YcH.d.ts +563 -0
  570. package/dist/{sign-in-DQlIdqsi.d.mts → url-52ndUruG.d.mts} +15 -1
  571. package/dist/{sign-in-DQlIdqsi.d.ts → url-52ndUruG.d.ts} +15 -1
  572. package/dist/utils.d.mts +3 -3
  573. package/dist/utils.d.ts +3 -3
  574. package/dist/utils.js +37 -37
  575. package/dist/utils.mjs +4 -4
  576. package/dist/vars-Dc_PrhBK.d.mts +511 -0
  577. package/dist/vars-Dc_PrhBK.d.ts +511 -0
  578. package/dist/vm-IUARFFAI.mjs +63 -0
  579. package/dist/vm-N7L6MGGH.js +65 -0
  580. package/dist/weave-delivery-CW-Kstut.d.mts +360 -0
  581. package/dist/weave-delivery-CW-Kstut.d.ts +360 -0
  582. package/dist/web-Dss74a7v.d.ts +883 -0
  583. package/dist/web-f9ZQPoyw.d.mts +883 -0
  584. package/dist/web-transport-C7MkBL0a.d.ts +19 -0
  585. package/dist/web-transport-aYEqXMd9.d.mts +19 -0
  586. package/dist/weight-CPGjsgjV.d.ts +92 -0
  587. package/dist/weight-tF1ODR1p.d.mts +92 -0
  588. package/dist/word-BcX9Jcmv.d.mts +70 -0
  589. package/dist/word-C7sVPLHm.d.ts +70 -0
  590. package/dist/world-PvILHDR1.d.ts +2285 -0
  591. package/dist/world-qekkXjJv.d.mts +2285 -0
  592. package/dist/worlds-Br2Pb0Cs.d.ts +109 -0
  593. package/dist/worlds-D5ydYr7d.d.mts +109 -0
  594. package/engines/c/cimplify.h +108 -0
  595. package/engines/c/cimplify.lib.js +11 -0
  596. package/engines/godot/addons/cimplify/cimplify.gd +97 -0
  597. package/engines/rust/interactives-ctx/Cargo.toml +9 -0
  598. package/engines/rust/interactives-ctx/src/lib.rs +189 -0
  599. package/package.json +189 -3
  600. package/vendor/rapier3d-compat/LICENSE +201 -0
  601. package/vendor/rapier3d-compat/PATCHES.md +61 -0
  602. package/dist/chunk-2P4KXFB6.js +0 -274
  603. package/dist/chunk-3G6RQLXK.mjs +0 -21
  604. package/dist/chunk-3V4DVXV3.mjs +0 -254
  605. package/dist/chunk-EDK3LNM6.js +0 -2436
  606. package/dist/chunk-F7J3HK27.js +0 -4549
  607. package/dist/chunk-U4MW6PYU.mjs +0 -23
  608. package/dist/chunk-XREIZ56K.js +0 -26
package/dist/mock/cli.mjs CHANGED
@@ -3338,9 +3338,13 @@ function currencyCode(value) {
3338
3338
  return normalized;
3339
3339
  }
3340
3340
  var ErrorCode = {
3341
+ UNAUTHORIZED: "UNAUTHORIZED",
3342
+ FORBIDDEN: "FORBIDDEN",
3341
3343
  NOT_FOUND: "NOT_FOUND",
3342
3344
  VALIDATION_ERROR: "VALIDATION_ERROR",
3343
- CART_EMPTY: "CART_EMPTY"};
3345
+ CART_EMPTY: "CART_EMPTY",
3346
+ STAFF_UNAVAILABLE: "STAFF_UNAVAILABLE",
3347
+ CANNOT_RESCHEDULE: "CANNOT_RESCHEDULE"};
3344
3348
  var DOCS_ERROR_BASE_URL = "https://docs.cimplify.io/reference/error-codes";
3345
3349
  function docsUrlForCode(code) {
3346
3350
  return `${DOCS_ERROR_BASE_URL}#${code.toLowerCase().replace(/_/g, "-")}`;
@@ -3380,10 +3384,13 @@ var ERROR_SUGGESTIONS = {
3380
3384
  OTP_EXPIRED: "Authorization code expired. Request a new OTP and re-submit authorization.",
3381
3385
  OTP_CHALLENGE_EXHAUSTED: "This verification challenge has no attempts left. Continue checkout without saved details or request a fresh challenge.",
3382
3386
  OTP_CHALLENGE_CONSUMED: "This verification challenge has already been used. Continue with the established session or request a fresh challenge.",
3387
+ TOO_MANY_REQUESTS: "The request was refused for now, such as a sign-in code inside its resend wait or past its daily budget. Show the error message; never retry it automatically.",
3383
3388
  AUTHORIZATION_FAILED: "Additional payment authorization failed. Retry authorization or change payment method.",
3384
3389
  PAYMENT_ACTION_NOT_COMPLETED: "Required payment action was not completed. Resume provider flow and poll for status.",
3385
3390
  SLOT_UNAVAILABLE: "Selected schedule slot is unavailable. Refresh available slots and ask shopper to reselect.",
3386
3391
  BOOKING_CONFLICT: "The requested booking conflicts with an existing reservation. Pick another slot/resource.",
3392
+ STAFF_UNAVAILABLE: "The booked staff member is busy at the requested time. Refresh available slots and ask the shopper to pick another time.",
3393
+ CANNOT_RESCHEDULE: "This booking cannot be moved to the requested time. Show the booking as it stands and offer another time or cancellation.",
3387
3394
  SERVICE_NOT_FOUND: "Requested service no longer exists. Refresh service catalogue and retry selection.",
3388
3395
  OUT_OF_STOCK: "Inventory is depleted for this item. Remove it or reduce quantity before checkout.",
3389
3396
  INSUFFICIENT_QUANTITY: "Requested quantity exceeds available inventory. Reduce quantity and retry.",
@@ -3426,13 +3433,18 @@ var MockError = class extends Error {
3426
3433
  toJSON() {
3427
3434
  return {
3428
3435
  success: false,
3429
- error: { code: this.code, message: this.message, retryable: this.status >= 500 || this.status === 429 },
3436
+ error: {
3437
+ code: this.code,
3438
+ message: this.message,
3439
+ retryable: this.status >= 500 || this.status === 429
3440
+ },
3430
3441
  context: this.context
3431
3442
  };
3432
3443
  }
3433
3444
  };
3434
3445
  var notFound = (msg) => new MockError(ErrorCode.NOT_FOUND, msg, 404);
3435
3446
  var validation = (msg, ctx) => new MockError(ErrorCode.VALIDATION_ERROR, msg, 400, ctx);
3447
+ var unauthorized = (msg = "Unauthorized") => new MockError(ErrorCode.UNAUTHORIZED, msg, 401);
3436
3448
 
3437
3449
  // src/mock/routes/_helpers.ts
3438
3450
  function authMiddleware(deps) {
@@ -3559,7 +3571,9 @@ var PURCHASE_INTENT_SELLABLE_KIND = {
3559
3571
  var PURCHASE_INTENT_LINE_CONFIGURATION_KIND = {
3560
3572
  SIMPLE: "simple"};
3561
3573
  var MOBILE_MONEY_TENDER_AUTHORITY_KIND = {
3562
- TRANSIENT: "transient"};
3574
+ TRANSIENT: "transient",
3575
+ SAVED_REFERENCE: "saved_reference"
3576
+ };
3563
3577
  var PURCHASE_INTENT_MOBILE_MONEY_NETWORK = {
3564
3578
  MTN: "mtn",
3565
3579
  TELECEL: "telecel",
@@ -4026,10 +4040,7 @@ function buildV1(deps) {
4026
4040
  PURCHASE_INTENT_ROUTE.MEMBER,
4027
4041
  (c) => tryRoute(
4028
4042
  c,
4029
- () => deps.purchaseIntents.get(
4030
- c.var.session,
4031
- c.req.param(PURCHASE_INTENT_ROUTE_PARAM.INTENT_ID)
4032
- )
4043
+ () => deps.purchaseIntents.get(c.var.session, c.req.param(PURCHASE_INTENT_ROUTE_PARAM.INTENT_ID))
4033
4044
  )
4034
4045
  );
4035
4046
  app.post(PURCHASE_INTENT_ROUTE.REFRESH, async (c) => {
@@ -4213,7 +4224,7 @@ function buildV1(deps) {
4213
4224
  );
4214
4225
  app.post("/scheduling/bookings/reschedule", async (c) => {
4215
4226
  const body = await c.req.json().catch(() => ({}));
4216
- return tryRoute(c, () => deps.scheduling.rescheduleBooking(body));
4227
+ return tryRoute(c, () => deps.scheduling.rescheduleBooking(c.var.session, body));
4217
4228
  });
4218
4229
  app.get(
4219
4230
  "/scheduling/bookings/:booking_id",
@@ -5093,25 +5104,17 @@ function buildLink(deps) {
5093
5104
  return { success: true, customer_id: customerId(c), preferences: prefs };
5094
5105
  });
5095
5106
  });
5096
- app.post("/enroll-and-link-order", async (c) => {
5107
+ app.post("/save-details", async (c) => {
5097
5108
  const body = await c.req.json().catch(() => ({}));
5098
5109
  return tryRoute(c, () => {
5099
5110
  const cid = customerId(c);
5100
- const orderId = body.order_id ?? "";
5101
- const businessId = body.business_id ?? deps.defaultBusinessId;
5102
- const prefs = deps.link.enroll(cid, businessId);
5103
- const address = body.address ? deps.link.createAddress(cid, body.address) : null;
5104
- const mobile_money = body.mobile_money ? deps.link.createMobileMoney(cid, body.mobile_money) : null;
5111
+ deps.link.enroll(cid, body.business_id ?? deps.defaultBusinessId);
5112
+ if (body.address) deps.link.createAddress(cid, body.address);
5105
5113
  return {
5106
- success: true,
5107
- customer_id: cid,
5108
- order_id: orderId,
5109
- enrollment_result: {
5110
- preferences: prefs,
5111
- address,
5112
- mobile_money
5113
- },
5114
- linked_at: deps.clock.iso()
5114
+ saved: true,
5115
+ proof: "session",
5116
+ wallet_saved: false,
5117
+ code_required: null
5115
5118
  };
5116
5119
  });
5117
5120
  });
@@ -5184,10 +5187,7 @@ function buildLink(deps) {
5184
5187
  );
5185
5188
  app.post(
5186
5189
  "/mobile-money/:id/verify",
5187
- (c) => tryRoute(c, () => {
5188
- deps.link.verifyMobileMoney(customerId(c), c.req.param("id"));
5189
- return { success: true };
5190
- })
5190
+ (c) => tryRoute(c, () => deps.link.verifyMobileMoney(customerId(c), c.req.param("id")))
5191
5191
  );
5192
5192
  app.get("/orders", (c) => {
5193
5193
  const status = c.req.query("status") ?? void 0;
@@ -5443,12 +5443,16 @@ function createClock(opts) {
5443
5443
 
5444
5444
  // src/mock/core/ids.ts
5445
5445
  var ALPHABET = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
5446
+ var LCG_MULTIPLIER = 1103515245;
5447
+ var LCG_INCREMENT = 12345;
5448
+ var LCG_MASK = 2147483647;
5449
+ var LCG_LOW_BITS_DISCARDED = 16;
5446
5450
  function createIdGen(seed) {
5447
5451
  let counter = 0;
5448
5452
  let rngState = seed ?? Math.floor(Math.random() * 2147483647) + 1;
5449
5453
  const rand = () => {
5450
- rngState = rngState * 1103515245 + 12345 & 2147483647;
5451
- return rngState;
5454
+ rngState = Math.imul(rngState, LCG_MULTIPLIER) + LCG_INCREMENT & LCG_MASK;
5455
+ return rngState >>> LCG_LOW_BITS_DISCARDED;
5452
5456
  };
5453
5457
  const ulid = () => {
5454
5458
  counter++;
@@ -7132,7 +7136,18 @@ function intentOwner(session) {
7132
7136
  return { kind: MOCK_PURCHASE_INTENT.OWNER_KIND.ACCOUNT, id: session.account_id };
7133
7137
  }
7134
7138
  function createPurchaseIntentMockService(options) {
7135
- const { registry, clock, ids, bus } = options;
7139
+ const { registry, clock, ids, bus, mobileMoney } = options;
7140
+ function recordMobileMoneyPayment(intent, order) {
7141
+ const preference = intent.mint_request.checkout?.tender_preference;
7142
+ if (preference?.method_kind !== PURCHASE_INTENT_PAYMENT_METHOD.MOBILE_MONEY || !order.customer_id) {
7143
+ return;
7144
+ }
7145
+ const authority = preference.authority;
7146
+ mobileMoney.recordMobileMoneyPayment(
7147
+ order.customer_id,
7148
+ authority.authority_kind === MOBILE_MONEY_TENDER_AUTHORITY_KIND.SAVED_REFERENCE ? { id: authority.stored_instrument_id } : { phone_number: authority.phone_number }
7149
+ );
7150
+ }
7136
7151
  function stored(session, intentId) {
7137
7152
  const intent = registry.purchaseIntents.get(intentId);
7138
7153
  if (!intent) throw notFound(`Purchase intent ${intentId} not found`);
@@ -7150,6 +7165,7 @@ function createPurchaseIntentMockService(options) {
7150
7165
  updated_at: clock.iso()
7151
7166
  };
7152
7167
  registry.orders.put(order.id, updated);
7168
+ recordMobileMoneyPayment(intent, updated);
7153
7169
  bus.emit(
7154
7170
  MOCK_PURCHASE_INTENT.EVENT.PAYMENT_CAPTURED,
7155
7171
  { order_id: order.id, reference: order.payment_reference },
@@ -7625,7 +7641,58 @@ function createSubscriptionService(opts) {
7625
7641
  };
7626
7642
  }
7627
7643
 
7644
+ // src/types/scheduling.ts
7645
+ var SHOPPER_RESCHEDULE_TYPE = "customer";
7646
+
7628
7647
  // src/mock/domain/scheduling.ts
7648
+ var HTTP_CONFLICT = 409;
7649
+ var NO_RESCHEDULE_FEE = "0";
7650
+ var BOOKING_NOT_FOUND_MESSAGE = "Booking not found";
7651
+ var RESCHEDULE_TYPE_REFUSED_MESSAGE = "A booking rescheduled online is always a customer reschedule";
7652
+ var STAFF_CHANGE_REFUSED_MESSAGE = "Choosing a different staff member is not available when rescheduling online";
7653
+ var STAFF_BUSY_MESSAGE = "The booked staff member is not available at the requested time";
7654
+ var CLOSED_BOOKING_MESSAGE = "This booking can no longer be rescheduled";
7655
+ var EMPTY_WINDOW_MESSAGE = "The new end time must be after the new start time";
7656
+ var CLOSED_BOOKING_STATUSES = /* @__PURE__ */ new Set([
7657
+ "cancelled",
7658
+ "completed"
7659
+ ]);
7660
+ var RESCHEDULE_REQUIRED_FIELDS = [
7661
+ "order_id",
7662
+ "line_item_id",
7663
+ "new_start_time",
7664
+ "new_end_time"
7665
+ ];
7666
+ var RESCHEDULE_OPTIONAL_FIELDS = ["new_staff_id", "reason", "reschedule_type"];
7667
+ var RESCHEDULE_FIELDS = /* @__PURE__ */ new Set([
7668
+ ...RESCHEDULE_REQUIRED_FIELDS,
7669
+ ...RESCHEDULE_OPTIONAL_FIELDS
7670
+ ]);
7671
+ function readRescheduleInput(body) {
7672
+ if (typeof body !== "object" || body === null)
7673
+ throw validation("Request body must be a JSON object");
7674
+ const record = body;
7675
+ for (const key of Object.keys(record)) {
7676
+ if (!RESCHEDULE_FIELDS.has(key)) throw validation(`unknown field \`${key}\``);
7677
+ }
7678
+ for (const key of RESCHEDULE_REQUIRED_FIELDS) {
7679
+ if (typeof record[key] !== "string") throw validation(`missing field \`${key}\``);
7680
+ }
7681
+ for (const key of RESCHEDULE_OPTIONAL_FIELDS) {
7682
+ if (record[key] !== void 0 && record[key] !== null && typeof record[key] !== "string") {
7683
+ throw validation(`invalid type for field \`${key}\``);
7684
+ }
7685
+ }
7686
+ return record;
7687
+ }
7688
+ function parseInstant(value, field) {
7689
+ const ms = Date.parse(value);
7690
+ if (Number.isNaN(ms)) throw validation(`Invalid ${field}: ${value}`);
7691
+ return ms;
7692
+ }
7693
+ function cannotReschedule(message) {
7694
+ return new MockError(ErrorCode.CANNOT_RESCHEDULE, message, HTTP_CONFLICT);
7695
+ }
7629
7696
  function createSchedulingService(opts) {
7630
7697
  const { registry, clock, bus } = opts;
7631
7698
  return {
@@ -7658,7 +7725,11 @@ function createSchedulingService(opts) {
7658
7725
  },
7659
7726
  getServiceAvailability(serviceId) {
7660
7727
  const svc = this.getService(serviceId);
7661
- return { service_id: svc.id, is_available: svc.is_available, duration_minutes: svc.duration_minutes };
7728
+ return {
7729
+ service_id: svc.id,
7730
+ is_available: svc.is_available,
7731
+ duration_minutes: svc.duration_minutes
7732
+ };
7662
7733
  },
7663
7734
  getCustomerBookings(session) {
7664
7735
  const bookings = registry.bookings.list(
@@ -7692,13 +7763,56 @@ function createSchedulingService(opts) {
7692
7763
  bus.emit("booking.cancelled", { booking_id: id, reason }, b.business_id);
7693
7764
  return updated;
7694
7765
  },
7695
- rescheduleBooking(body) {
7696
- const b = this.getBooking(body.booking_id);
7697
- if (!body.new_start_time || !body.new_end_time) throw validation("new_start_time and new_end_time required");
7698
- const updated = { ...b, start_time: body.new_start_time, end_time: body.new_end_time, updated_at: clock.iso(), status: "rescheduled" };
7766
+ rescheduleBooking(session, body) {
7767
+ if (!session.is_authenticated || !session.account_id) throw unauthorized();
7768
+ const input = readRescheduleInput(body);
7769
+ if (input.reschedule_type != null && input.reschedule_type !== SHOPPER_RESCHEDULE_TYPE) {
7770
+ throw validation(RESCHEDULE_TYPE_REFUSED_MESSAGE);
7771
+ }
7772
+ if (!session.customer_id) throw unauthorized();
7773
+ const orderBookings = registry.bookings.list(
7774
+ (b2) => b2.business_id === session.business_id && b2.order_id === input.order_id
7775
+ );
7776
+ if (orderBookings.length === 0) throw notFound(`Order ${input.order_id} not found`);
7777
+ const b = orderBookings.find((candidate) => candidate.line_item_id === input.line_item_id);
7778
+ if (!b || b.customer_id !== session.customer_id) throw validation(BOOKING_NOT_FOUND_MESSAGE);
7779
+ const bookedStaffId = b.staff_id ?? null;
7780
+ if (input.new_staff_id != null && input.new_staff_id !== bookedStaffId) {
7781
+ throw validation(STAFF_CHANGE_REFUSED_MESSAGE);
7782
+ }
7783
+ const newStart = parseInstant(input.new_start_time, "new_start_time");
7784
+ const newEnd = parseInstant(input.new_end_time, "new_end_time");
7785
+ if (CLOSED_BOOKING_STATUSES.has(b.status)) throw cannotReschedule(CLOSED_BOOKING_MESSAGE);
7786
+ if (newEnd <= newStart) throw cannotReschedule(EMPTY_WINDOW_MESSAGE);
7787
+ if (bookedStaffId) {
7788
+ const busy = registry.bookings.list(
7789
+ (other) => other.id !== b.id && other.staff_id === bookedStaffId && !CLOSED_BOOKING_STATUSES.has(other.status) && Date.parse(other.start_time) < newEnd && Date.parse(other.end_time) > newStart
7790
+ );
7791
+ if (busy.length > 0) {
7792
+ throw new MockError(ErrorCode.STAFF_UNAVAILABLE, STAFF_BUSY_MESSAGE, HTTP_CONFLICT);
7793
+ }
7794
+ }
7795
+ const newStartIso = new Date(newStart).toISOString();
7796
+ const newEndIso = new Date(newEnd).toISOString();
7797
+ const updated = {
7798
+ ...b,
7799
+ start_time: newStartIso,
7800
+ end_time: newEndIso,
7801
+ updated_at: clock.iso(),
7802
+ status: "rescheduled"
7803
+ };
7699
7804
  registry.bookings.put(b.id, updated);
7700
7805
  bus.emit("booking.rescheduled", { booking_id: b.id }, b.business_id);
7701
- return updated;
7806
+ return {
7807
+ success: true,
7808
+ booking_id: b.id,
7809
+ old_time: { start: b.start_time, end: b.end_time },
7810
+ new_time: { start: newStartIso, end: newEndIso },
7811
+ staff_changed: false,
7812
+ old_staff_id: bookedStaffId,
7813
+ new_staff_id: bookedStaffId,
7814
+ fee_charged: NO_RESCHEDULE_FEE
7815
+ };
7702
7816
  }
7703
7817
  };
7704
7818
  }
@@ -8137,13 +8251,12 @@ function createLiteService(opts) {
8137
8251
  }
8138
8252
 
8139
8253
  // src/mock/domain/link.ts
8140
- var LOCATION_FIELDS = [
8141
- "street_address",
8142
- "city",
8143
- "region",
8144
- "postal_code",
8145
- "country"
8146
- ];
8254
+ var HTTP_FORBIDDEN = 403;
8255
+ var HTTP_NOT_FOUND = 404;
8256
+ var HTTP_CONFLICT2 = 409;
8257
+ var MOBILE_MONEY_NOT_OWNED_MESSAGE = "Mobile money account does not belong to customer";
8258
+ var MOBILE_MONEY_VERIFIED_BY_PAYMENT_MESSAGE = "A mobile money account is verified by a successful payment from it";
8259
+ var LOCATION_FIELDS = ["street_address", "city", "region", "postal_code", "country"];
8147
8260
  var NOT_ENROLLED_ERROR = () => {
8148
8261
  throw {
8149
8262
  code: "NOT_ENROLLED",
@@ -8152,11 +8265,7 @@ var NOT_ENROLLED_ERROR = () => {
8152
8265
  };
8153
8266
  };
8154
8267
  var NOT_FOUND = (kind, id) => {
8155
- throw {
8156
- code: `${kind.toUpperCase()}_NOT_FOUND`,
8157
- message: `${kind} not found: ${id}`,
8158
- retryable: false
8159
- };
8268
+ throw new MockError(ErrorCode.NOT_FOUND, `${kind} not found: ${id}`, HTTP_NOT_FOUND, { id });
8160
8269
  };
8161
8270
  function createLinkService({ clock, ids }) {
8162
8271
  const customers = /* @__PURE__ */ new Map();
@@ -8394,7 +8503,8 @@ function createLinkService({ clock, ids }) {
8394
8503
  const s = get(customerId);
8395
8504
  if (!s.mobileMoney.has(id)) NOT_FOUND("MOBILE_MONEY", id);
8396
8505
  s.mobileMoney.delete(id);
8397
- if (s.preferences.default_mobile_money_id === id) s.preferences.default_mobile_money_id = null;
8506
+ if (s.preferences.default_mobile_money_id === id)
8507
+ s.preferences.default_mobile_money_id = null;
8398
8508
  },
8399
8509
  setDefaultMobileMoney(customerId, id) {
8400
8510
  const s = get(customerId);
@@ -8411,11 +8521,39 @@ function createLinkService({ clock, ids }) {
8411
8521
  mm.last_used_at = clock.iso();
8412
8522
  },
8413
8523
  verifyMobileMoney(customerId, id) {
8414
- const s = get(customerId);
8415
- const mm = s.mobileMoney.get(id);
8416
- if (!mm) NOT_FOUND("MOBILE_MONEY", id);
8417
- mm.is_verified = true;
8418
- mm.verification_date = clock.iso();
8524
+ const mm = get(customerId).mobileMoney.get(id);
8525
+ if (!mm) {
8526
+ for (const other of customers.values()) {
8527
+ if (other.mobileMoney.has(id)) {
8528
+ throw new MockError(
8529
+ ErrorCode.FORBIDDEN,
8530
+ MOBILE_MONEY_NOT_OWNED_MESSAGE,
8531
+ HTTP_FORBIDDEN
8532
+ );
8533
+ }
8534
+ }
8535
+ return NOT_FOUND("MOBILE_MONEY", id);
8536
+ }
8537
+ if (!mm.is_verified) {
8538
+ throw new MockError(
8539
+ "CONCURRENCY_CONFLICT",
8540
+ MOBILE_MONEY_VERIFIED_BY_PAYMENT_MESSAGE,
8541
+ HTTP_CONFLICT2
8542
+ );
8543
+ }
8544
+ return { success: true, mobile_money_id: id, verified: true };
8545
+ },
8546
+ recordMobileMoneyPayment(customerId, source) {
8547
+ const s = customers.get(customerId);
8548
+ if (!s) return;
8549
+ for (const mm of s.mobileMoney.values()) {
8550
+ const matches = "id" in source ? mm.id === source.id : mm.phone_number === source.phone_number;
8551
+ if (!matches) continue;
8552
+ const now = clock.iso();
8553
+ mm.is_verified = true;
8554
+ mm.verification_date ??= now;
8555
+ mm.updated_at = now;
8556
+ }
8419
8557
  },
8420
8558
  getSessions(customerId) {
8421
8559
  return [...get(customerId).sessions.values()];
@@ -13033,7 +13171,14 @@ function createDeps(options = {}) {
13033
13171
  const cart = createCartService({ registry, clock, ids, bus, inventory });
13034
13172
  const orders = createOrderService({ registry, clock, bus });
13035
13173
  const payments = createPaymentService({ registry, clock, bus });
13036
- const purchaseIntents = createPurchaseIntentMockService({ registry, clock, ids, bus });
13174
+ const link = createLinkService({ clock, ids });
13175
+ const purchaseIntents = createPurchaseIntentMockService({
13176
+ registry,
13177
+ clock,
13178
+ ids,
13179
+ bus,
13180
+ mobileMoney: link
13181
+ });
13037
13182
  const subscriptions = createSubscriptionService({ registry, clock, bus });
13038
13183
  const scheduling = createSchedulingService({ registry, clock, bus });
13039
13184
  const fx = createFxService({ registry, clock, ids });
@@ -13043,7 +13188,6 @@ function createDeps(options = {}) {
13043
13188
  const support = createSupportService({ registry, clock, ids, bus });
13044
13189
  const uploads = createUploadService({ registry, clock, ids, bus });
13045
13190
  const lite = createLiteService({ registry, defaultBusinessId });
13046
- const link = createLinkService({ clock, ids });
13047
13191
  const chaos = { failNext: [], latencyByRoute: [] };
13048
13192
  const deps = {
13049
13193
  clock,