cyberia 3.2.5 → 3.2.12

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 (381) hide show
  1. package/.github/workflows/engine-cyberia.cd.yml +8 -2
  2. package/.github/workflows/npmpkg.ci.yml +1 -0
  3. package/.github/workflows/pwa-microservices-template-test.ci.yml +1 -1
  4. package/.github/workflows/release.cd.yml +2 -2
  5. package/.vscode/extensions.json +9 -9
  6. package/.vscode/settings.json +20 -4
  7. package/CHANGELOG.md +563 -1
  8. package/CLI-HELP.md +130 -34
  9. package/Dockerfile +0 -4
  10. package/README.md +194 -607
  11. package/bin/build.js +42 -12
  12. package/bin/build.template.js +187 -0
  13. package/bin/cyberia.js +1367 -281
  14. package/bin/deploy.js +582 -3
  15. package/bin/index.js +1367 -281
  16. package/bump.config.js +26 -0
  17. package/conf.js +195 -111
  18. package/deployment.yaml +6 -222
  19. package/hardhat/package-lock.json +118 -149
  20. package/hardhat/package.json +5 -4
  21. package/jsconfig.json +1 -1
  22. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +2 -2
  23. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +2 -2
  24. package/manifests/deployment/dd-cyberia-development/deployment.yaml +6 -222
  25. package/manifests/deployment/dd-cyberia-development/proxy.yaml +10 -118
  26. package/manifests/deployment/dd-default-development/deployment.yaml +2 -6
  27. package/manifests/deployment/dd-test-development/deployment.yaml +138 -66
  28. package/manifests/deployment/dd-test-development/proxy.yaml +41 -5
  29. package/manifests/kind-config-dev.yaml +8 -0
  30. package/manifests/lxd/lxd-admin-profile.yaml +12 -3
  31. package/manifests/mongodb/pv-pvc.yaml +44 -8
  32. package/manifests/mongodb/statefulset.yaml +55 -68
  33. package/manifests/mongodb-4.4/headless-service.yaml +10 -0
  34. package/manifests/mongodb-4.4/kustomization.yaml +3 -1
  35. package/manifests/mongodb-4.4/mongodb-nodeport.yaml +17 -0
  36. package/manifests/mongodb-4.4/pv-pvc.yaml +10 -14
  37. package/manifests/mongodb-4.4/statefulset.yaml +79 -0
  38. package/manifests/mongodb-4.4/storage-class.yaml +9 -0
  39. package/manifests/valkey/statefulset.yaml +1 -1
  40. package/manifests/valkey/valkey-nodeport.yaml +17 -0
  41. package/package.json +45 -24
  42. package/proxy.yaml +10 -118
  43. package/scripts/ipxe-setup.sh +52 -49
  44. package/scripts/k3s-node-setup.sh +83 -48
  45. package/scripts/lxd-vm-setup.sh +193 -8
  46. package/scripts/maas-nat-firewalld.sh +145 -0
  47. package/scripts/nat-iptables.sh +103 -18
  48. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +18 -18
  49. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +7 -14
  50. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +38 -33
  51. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +91 -36
  52. package/src/api/core/core.controller.js +10 -10
  53. package/src/api/core/core.router.js +19 -14
  54. package/src/api/core/core.service.js +15 -15
  55. package/src/api/crypto/crypto.controller.js +8 -8
  56. package/src/api/crypto/crypto.router.js +18 -12
  57. package/src/api/crypto/crypto.service.js +11 -11
  58. package/src/api/cyberia-action/cyberia-action.controller.js +74 -0
  59. package/src/api/cyberia-action/cyberia-action.model.js +87 -0
  60. package/src/api/cyberia-action/cyberia-action.router.js +31 -0
  61. package/src/api/cyberia-action/cyberia-action.service.js +42 -0
  62. package/src/api/cyberia-client-hints/cyberia-client-hints.controller.js +74 -0
  63. package/src/api/cyberia-client-hints/cyberia-client-hints.model.js +99 -0
  64. package/src/api/cyberia-client-hints/cyberia-client-hints.router.js +98 -0
  65. package/src/api/cyberia-client-hints/cyberia-client-hints.service.js +152 -0
  66. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +13 -13
  67. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +11 -11
  68. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +25 -20
  69. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +22 -22
  70. package/src/api/cyberia-entity/cyberia-entity.controller.js +10 -10
  71. package/src/api/cyberia-entity/cyberia-entity.router.js +22 -18
  72. package/src/api/cyberia-entity/cyberia-entity.service.js +15 -15
  73. package/src/api/cyberia-instance/cyberia-fallback-world.js +83 -198
  74. package/src/api/cyberia-instance/cyberia-instance.controller.js +14 -14
  75. package/src/api/cyberia-instance/cyberia-instance.model.js +3 -0
  76. package/src/api/cyberia-instance/cyberia-instance.router.js +57 -52
  77. package/src/api/cyberia-instance/cyberia-instance.service.js +32 -67
  78. package/src/api/cyberia-instance/cyberia-portal-connector.js +20 -246
  79. package/src/api/cyberia-instance/cyberia-world-generator.js +505 -0
  80. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +10 -10
  81. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +18 -49
  82. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +22 -18
  83. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +19 -15
  84. package/src/api/cyberia-map/cyberia-map.controller.js +10 -10
  85. package/src/api/cyberia-map/cyberia-map.router.js +35 -30
  86. package/src/api/cyberia-map/cyberia-map.service.js +17 -17
  87. package/src/api/cyberia-quest/cyberia-quest.controller.js +74 -0
  88. package/src/api/cyberia-quest/cyberia-quest.model.js +67 -0
  89. package/src/api/cyberia-quest/cyberia-quest.router.js +31 -0
  90. package/src/api/cyberia-quest/cyberia-quest.service.js +42 -0
  91. package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +74 -0
  92. package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +49 -0
  93. package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +31 -0
  94. package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +42 -0
  95. package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +451 -0
  96. package/src/api/default/default.controller.js +10 -10
  97. package/src/api/default/default.router.js +22 -18
  98. package/src/api/default/default.service.js +15 -15
  99. package/src/api/document/document.controller.js +12 -12
  100. package/src/api/document/document.model.js +10 -16
  101. package/src/api/document/document.router.js +28 -23
  102. package/src/api/document/document.service.js +100 -23
  103. package/src/api/file/file.controller.js +8 -8
  104. package/src/api/file/file.model.js +10 -10
  105. package/src/api/file/file.router.js +19 -13
  106. package/src/api/file/file.service.js +45 -43
  107. package/src/api/instance/instance.controller.js +10 -10
  108. package/src/api/instance/instance.model.js +4 -10
  109. package/src/api/instance/instance.router.js +29 -24
  110. package/src/api/instance/instance.service.js +16 -16
  111. package/src/api/ipfs/ipfs.controller.js +12 -12
  112. package/src/api/ipfs/ipfs.model.js +4 -13
  113. package/src/api/ipfs/ipfs.router.js +21 -16
  114. package/src/api/ipfs/ipfs.service.js +22 -36
  115. package/src/api/object-layer/object-layer.controller.js +12 -12
  116. package/src/api/object-layer/object-layer.model.js +4 -17
  117. package/src/api/object-layer/object-layer.router.js +512 -507
  118. package/src/api/object-layer/object-layer.service.js +29 -26
  119. package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +10 -10
  120. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +6 -16
  121. package/src/api/object-layer-render-frames/object-layer-render-frames.router.js +22 -18
  122. package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +19 -15
  123. package/src/api/test/test.controller.js +8 -8
  124. package/src/api/test/test.router.js +17 -12
  125. package/src/api/test/test.service.js +8 -8
  126. package/src/api/types.js +24 -0
  127. package/src/api/user/guest.service.js +100 -0
  128. package/src/api/user/user.controller.js +6 -6
  129. package/src/api/user/user.model.js +8 -13
  130. package/src/api/user/user.router.js +297 -288
  131. package/src/api/user/user.service.js +103 -55
  132. package/src/cli/baremetal.js +132 -101
  133. package/src/cli/cluster.js +732 -217
  134. package/src/cli/db.js +106 -62
  135. package/src/cli/deploy.js +260 -149
  136. package/src/cli/fs.js +90 -9
  137. package/src/cli/image.js +43 -1
  138. package/src/cli/index.js +106 -16
  139. package/src/cli/ipfs.js +4 -6
  140. package/src/cli/kubectl.js +4 -1
  141. package/src/cli/lxd.js +1099 -223
  142. package/src/cli/monitor.js +9 -3
  143. package/src/cli/release.js +336 -86
  144. package/src/cli/repository.js +136 -53
  145. package/src/cli/run.js +599 -76
  146. package/src/cli/secrets.js +11 -2
  147. package/src/cli/ssh.js +1 -1
  148. package/src/cli/static.js +43 -115
  149. package/src/cli/test.js +9 -3
  150. package/src/client/Cryptokoyn.index.js +18 -21
  151. package/src/client/CyberiaPortal.index.js +19 -23
  152. package/src/client/Default.index.js +30 -36
  153. package/src/client/Itemledger.index.js +20 -26
  154. package/src/client/Underpost.index.js +19 -23
  155. package/src/client/components/core/404.js +4 -4
  156. package/src/client/components/core/500.js +4 -4
  157. package/src/client/components/core/Account.js +73 -60
  158. package/src/client/components/core/AgGrid.js +23 -33
  159. package/src/client/components/core/Alert.js +12 -13
  160. package/src/client/components/core/AppStore.js +1 -1
  161. package/src/client/components/core/Auth.js +40 -37
  162. package/src/client/components/core/Badge.js +7 -13
  163. package/src/client/components/core/BtnIcon.js +15 -17
  164. package/src/client/components/core/CalendarCore.js +42 -63
  165. package/src/client/components/core/Chat.js +13 -15
  166. package/src/client/components/core/ClientEvents.js +163 -0
  167. package/src/client/components/core/ColorPaletteElement.js +309 -0
  168. package/src/client/components/core/Content.js +17 -14
  169. package/src/client/components/core/Css.js +15 -71
  170. package/src/client/components/core/CssCore.js +12 -16
  171. package/src/client/components/core/D3Chart.js +4 -4
  172. package/src/client/components/core/Docs.js +64 -91
  173. package/src/client/components/core/DropDown.js +69 -91
  174. package/src/client/components/core/EventBus.js +96 -0
  175. package/src/client/components/core/EventsUI.js +14 -17
  176. package/src/client/components/core/FileExplorer.js +96 -228
  177. package/src/client/components/core/FullScreen.js +47 -75
  178. package/src/client/components/core/Input.js +24 -69
  179. package/src/client/components/core/Keyboard.js +25 -18
  180. package/src/client/components/core/KeyboardAvoidance.js +145 -0
  181. package/src/client/components/core/LoadingAnimation.js +25 -31
  182. package/src/client/components/core/LogIn.js +41 -41
  183. package/src/client/components/core/LogOut.js +23 -14
  184. package/src/client/components/core/Modal.js +544 -219
  185. package/src/client/components/core/NotificationManager.js +14 -18
  186. package/src/client/components/core/Panel.js +54 -50
  187. package/src/client/components/core/PanelForm.js +81 -177
  188. package/src/client/components/core/Polyhedron.js +110 -214
  189. package/src/client/components/core/PublicProfile.js +39 -32
  190. package/src/client/components/core/Recover.js +48 -44
  191. package/src/client/components/core/Responsive.js +88 -32
  192. package/src/client/components/core/RichText.js +9 -18
  193. package/src/client/components/core/Router.js +24 -3
  194. package/src/client/components/core/SearchBox.js +37 -37
  195. package/src/client/components/core/SignUp.js +39 -30
  196. package/src/client/components/core/SocketIo.js +31 -2
  197. package/src/client/components/core/SocketIoHandler.js +6 -6
  198. package/src/client/components/core/ToggleSwitch.js +8 -20
  199. package/src/client/components/core/ToolTip.js +5 -17
  200. package/src/client/components/core/Translate.js +56 -59
  201. package/src/client/components/core/Validator.js +26 -16
  202. package/src/client/components/core/Wallet.js +15 -26
  203. package/src/client/components/core/Worker.js +211 -276
  204. package/src/client/components/core/windowGetDimensions.js +7 -7
  205. package/src/client/components/cryptokoyn/{MenuCryptokoyn.js → AppShellCryptokoyn.js} +57 -57
  206. package/src/client/components/cryptokoyn/CssCryptokoyn.js +15 -15
  207. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +6 -4
  208. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +6 -4
  209. package/src/client/components/cryptokoyn/RouterCryptokoyn.js +37 -0
  210. package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +4 -4
  211. package/src/client/components/cryptokoyn/SignUpCryptokoyn.js +6 -4
  212. package/src/client/components/cyberia/InstanceEngineCyberia.js +141 -60
  213. package/src/client/components/cyberia/MapEngineCyberia.js +691 -214
  214. package/src/client/components/cyberia/ObjectLayerEngine.js +19 -0
  215. package/src/client/components/cyberia/ObjectLayerEngineModal.js +1204 -94
  216. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +196 -298
  217. package/src/client/components/cyberia/SharedDefaultsCyberia.js +330 -0
  218. package/src/client/components/cyberia-portal/{MenuCyberiaPortal.js → AppShellCyberiaPortal.js} +102 -102
  219. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +15 -15
  220. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +6 -4
  221. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +6 -4
  222. package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +4 -4
  223. package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +60 -0
  224. package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +4 -4
  225. package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +6 -4
  226. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -4
  227. package/src/client/components/default/{MenuDefault.js → AppShellDefault.js} +87 -87
  228. package/src/client/components/default/CssDefault.js +12 -12
  229. package/src/client/components/default/LogInDefault.js +6 -4
  230. package/src/client/components/default/LogOutDefault.js +6 -4
  231. package/src/client/components/default/RouterDefault.js +47 -0
  232. package/src/client/components/default/SettingsDefault.js +4 -4
  233. package/src/client/components/default/SignUpDefault.js +6 -4
  234. package/src/client/components/default/TranslateDefault.js +3 -3
  235. package/src/client/components/itemledger/{MenuItemledger.js → AppShellItemledger.js} +57 -57
  236. package/src/client/components/itemledger/CssItemledger.js +15 -15
  237. package/src/client/components/itemledger/LogInItemledger.js +6 -4
  238. package/src/client/components/itemledger/LogOutItemledger.js +6 -4
  239. package/src/client/components/itemledger/RouterItemledger.js +38 -0
  240. package/src/client/components/itemledger/SettingsItemledger.js +4 -4
  241. package/src/client/components/itemledger/SignUpItemledger.js +6 -4
  242. package/src/client/components/itemledger/TranslateItemledger.js +3 -3
  243. package/src/client/components/underpost/{MenuUnderpost.js → AppShellUnderpost.js} +88 -88
  244. package/src/client/components/underpost/CssUnderpost.js +14 -14
  245. package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +4 -4
  246. package/src/client/components/underpost/DocumentSearchProvider.js +1 -1
  247. package/src/client/components/underpost/LabGalleryUnderpost.js +12 -15
  248. package/src/client/components/underpost/LogInUnderpost.js +6 -4
  249. package/src/client/components/underpost/LogOutUnderpost.js +6 -4
  250. package/src/client/components/underpost/RouterUnderpost.js +45 -0
  251. package/src/client/components/underpost/SettingsUnderpost.js +4 -4
  252. package/src/client/components/underpost/SignUpUnderpost.js +6 -4
  253. package/src/client/components/underpost/TranslateUnderpost.js +4 -4
  254. package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +235 -0
  255. package/src/client/public/cyberia-docs/ARCHITECTURE.md +83 -0
  256. package/src/client/public/cyberia-docs/CYBERIA-CLI.md +204 -0
  257. package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +291 -0
  258. package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +278 -0
  259. package/src/client/public/cyberia-docs/CYBERIA.md +259 -0
  260. package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +241 -0
  261. package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +300 -0
  262. package/src/client/public/cyberia-docs/OFF-CHAIN-ECONOMY.md +279 -0
  263. package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +206 -0
  264. package/src/client/public/cyberia-docs/ROADMAP.md +240 -0
  265. package/src/client/public/cyberia-docs/UNDERPOST-PLATFORM.md +106 -0
  266. package/src/client/public/cyberia-docs/WHITE-PAPER.md +732 -0
  267. package/src/client/services/atlas-sprite-sheet/atlas-sprite-sheet.service.js +14 -20
  268. package/src/client/services/core/core.service.js +17 -49
  269. package/src/client/services/crypto/crypto.service.js +8 -13
  270. package/src/client/services/cyberia-action/cyberia-action.service.js +99 -0
  271. package/src/client/services/cyberia-client-hints/cyberia-client-hints.service.js +99 -0
  272. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +10 -16
  273. package/src/client/services/cyberia-entity/cyberia-entity.management.js +5 -5
  274. package/src/client/services/cyberia-entity/cyberia-entity.service.js +10 -16
  275. package/src/client/services/cyberia-instance/cyberia-instance.management.js +6 -6
  276. package/src/client/services/cyberia-instance/cyberia-instance.service.js +12 -18
  277. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +10 -16
  278. package/src/client/services/cyberia-map/cyberia-map.management.js +6 -6
  279. package/src/client/services/cyberia-map/cyberia-map.service.js +12 -18
  280. package/src/client/services/cyberia-quest/cyberia-quest.service.js +99 -0
  281. package/src/client/services/cyberia-quest-progress/cyberia-quest-progress.service.js +99 -0
  282. package/src/client/services/default/default.management.js +159 -267
  283. package/src/client/services/default/default.service.js +10 -16
  284. package/src/client/services/document/document.service.js +14 -19
  285. package/src/client/services/file/file.service.js +8 -13
  286. package/src/client/services/instance/instance.management.js +5 -5
  287. package/src/client/services/instance/instance.service.js +10 -15
  288. package/src/client/services/ipfs/ipfs.service.js +12 -18
  289. package/src/client/services/object-layer/object-layer.management.js +12 -12
  290. package/src/client/services/object-layer/object-layer.service.js +20 -26
  291. package/src/client/services/object-layer-render-frames/object-layer-render-frames.service.js +10 -16
  292. package/src/client/services/test/test.service.js +8 -13
  293. package/src/client/services/user/guest.service.js +86 -0
  294. package/src/client/services/user/user.management.js +5 -5
  295. package/src/client/services/user/user.service.js +14 -20
  296. package/src/client/ssr/body/404.js +3 -3
  297. package/src/client/ssr/body/500.js +3 -3
  298. package/src/client/ssr/body/CacheControl.js +5 -2
  299. package/src/client/ssr/body/DefaultSplashScreen.js +19 -12
  300. package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +13 -6
  301. package/src/client/ssr/head/PwaItemledger.js +197 -60
  302. package/src/client/ssr/mailer/DefaultRecoverEmail.js +19 -20
  303. package/src/client/ssr/mailer/DefaultVerifyEmail.js +15 -16
  304. package/src/client/ssr/views/CyberiaServerMetrics.js +982 -0
  305. package/src/client/ssr/{offline → views}/Maintenance.js +12 -11
  306. package/src/client/ssr/{offline → views}/NoNetworkConnection.js +3 -3
  307. package/src/client/ssr/{pages → views}/Test.js +2 -2
  308. package/src/client/sw/core.sw.js +274 -0
  309. package/src/db/DataBaseProvider.js +115 -15
  310. package/src/db/mariadb/MariaDB.js +2 -1
  311. package/src/db/mongo/MongoBootstrap.js +657 -0
  312. package/src/db/mongo/MongooseDB.js +129 -21
  313. package/src/grpc/cyberia/grpc-server.js +185 -105
  314. package/src/index.js +1 -1
  315. package/src/runtime/cyberia-client/Dockerfile +101 -0
  316. package/src/runtime/cyberia-client/Dockerfile.dev +82 -0
  317. package/src/runtime/cyberia-server/Dockerfile +62 -0
  318. package/src/runtime/cyberia-server/Dockerfile.dev +71 -0
  319. package/src/runtime/express/Dockerfile +4 -4
  320. package/src/runtime/express/Express.js +2 -2
  321. package/src/runtime/lampp/Dockerfile +8 -7
  322. package/src/runtime/wp/Dockerfile +11 -17
  323. package/src/runtime/wp/Wp.js +8 -5
  324. package/src/server/atlas-sprite-sheet-generator.js +4 -2
  325. package/src/server/auth.js +2 -2
  326. package/src/server/client-build-docs.js +46 -47
  327. package/src/server/client-build.js +371 -132
  328. package/src/server/client-formatted.js +47 -16
  329. package/src/server/conf.js +91 -87
  330. package/src/server/data-query.js +32 -20
  331. package/src/server/dns.js +22 -0
  332. package/src/server/ipfs-client.js +232 -91
  333. package/src/server/object-layer.js +1 -6
  334. package/src/server/process.js +192 -45
  335. package/src/server/proxy.js +9 -2
  336. package/src/server/runtime.js +1 -1
  337. package/src/server/semantic-layer-generator-floor.js +11 -51
  338. package/src/server/semantic-layer-generator-resource.js +259 -0
  339. package/src/server/semantic-layer-generator-skin.js +41 -171
  340. package/src/server/semantic-layer-generator.js +122 -14
  341. package/src/server/shape-generator.js +108 -0
  342. package/src/server/start.js +34 -8
  343. package/src/server/valkey.js +143 -235
  344. package/src/ws/IoInterface.js +16 -16
  345. package/src/ws/core/channels/core.ws.chat.js +11 -11
  346. package/src/ws/core/channels/core.ws.mailer.js +29 -29
  347. package/src/ws/core/channels/core.ws.stream.js +19 -19
  348. package/src/ws/core/core.ws.connection.js +8 -8
  349. package/src/ws/core/core.ws.server.js +6 -5
  350. package/src/ws/default/channels/default.ws.main.js +10 -10
  351. package/src/ws/default/default.ws.connection.js +4 -4
  352. package/src/ws/default/default.ws.server.js +4 -3
  353. package/tsconfig.docs.json +15 -0
  354. package/typedoc.dd-cyberia.json +29 -0
  355. package/typedoc.json +29 -0
  356. package/WHITE-PAPER.md +0 -1540
  357. package/bin/file.js +0 -196
  358. package/bin/vs.js +0 -74
  359. package/bin/zed.js +0 -84
  360. package/hardhat/README.md +0 -531
  361. package/hardhat/WHITE-PAPER.md +0 -1540
  362. package/jsdoc.dd-cyberia.json +0 -68
  363. package/jsdoc.json +0 -68
  364. package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +0 -413
  365. package/src/api/object-layer/README.md +0 -672
  366. package/src/client/components/core/ColorPalette.js +0 -5267
  367. package/src/client/components/core/JoyStick.js +0 -80
  368. package/src/client/components/cryptokoyn/RoutesCryptokoyn.js +0 -39
  369. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +0 -223
  370. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +0 -62
  371. package/src/client/components/cyberia-portal/ServerCyberiaPortal.js +0 -136
  372. package/src/client/components/default/RoutesDefault.js +0 -49
  373. package/src/client/components/itemledger/RoutesItemledger.js +0 -40
  374. package/src/client/components/underpost/RoutesUnderpost.js +0 -47
  375. package/src/client/ssr/email/DefaultRecoverEmail.js +0 -21
  376. package/src/client/ssr/email/DefaultVerifyEmail.js +0 -17
  377. package/src/client/ssr/pages/CyberiaServerMetrics.js +0 -461
  378. package/src/client/sw/default.sw.js +0 -127
  379. package/src/client/sw/template.sw.js +0 -84
  380. package/src/grpc/cyberia/OFF_CHAIN_ECONOMY.md +0 -305
  381. package/src/grpc/cyberia/README.md +0 -326
@@ -1,21 +0,0 @@
1
- SrrComponent = (render = { style: {}, renderStyle: () => '' }, options) =>
2
- html`
3
- <div style="${render.renderStyle('body')}">
4
- <div style="${render.renderStyle('.container')}">
5
- <h1 style="${render.renderStyle('h1')}">{{H1}}</h1>
6
- <p style="${render.renderStyle('p')}">{{P1}}</p>
7
- <p style="${render.renderStyle('p')}">
8
- <a href="{{RECOVER_WEB_URL}}" style="${render.renderStyle('button')}"
9
- ><img
10
- src="http${options.transport.secure ? 's' : ''}://${options.host}${options.path === '/'
11
- ? ''
12
- : options.path}/api/user/recover/{{TOKEN}}"
13
- /><br />{{RECOVER_BTN_LABEL}}</a
14
- >
15
- </p>
16
- </div>
17
- <div style="${render.renderStyle('.footer')}">
18
- <p>{{COMPANY}}</p>
19
- </div>
20
- </div>
21
- `;
@@ -1,17 +0,0 @@
1
- SrrComponent = (render = { style: {}, renderStyle: () => '' }, options) =>
2
- html`
3
- <div style="${render.renderStyle('body')}">
4
- <div style="${render.renderStyle('.container')}">
5
- <h1 style="${render.renderStyle('h1')}">{{H1}}</h1>
6
- <p style="${render.renderStyle('p')}">{{P1}}</p>
7
- <img
8
- src="http${options.transport.secure ? 's' : ''}://${options.host}${options.path === '/'
9
- ? ''
10
- : options.path}/api/user/mailer/{{TOKEN}}"
11
- />
12
- </div>
13
- <div style="${render.renderStyle('.footer')}">
14
- <p>{{COMPANY}}</p>
15
- </div>
16
- </div>
17
- `;
@@ -1,461 +0,0 @@
1
- const s = (el) => document.querySelector(el);
2
- const sa = (el) => document.querySelectorAll(el);
3
-
4
- const append = (el, html) => s(el).insertAdjacentHTML('beforeend', html);
5
-
6
- const setHTML = (el, html) => {
7
- const element = s(el);
8
- if (element) element.innerHTML = html;
9
- };
10
-
11
- const getLang = () =>
12
- (localStorage.getItem('lang') || navigator.language || navigator.userLanguage || s('html').lang)
13
- .slice(0, 2)
14
- .toLowerCase();
15
-
16
- const formatUptime = (seconds) => {
17
- const hours = Math.floor(seconds / 3600);
18
- const minutes = Math.floor((seconds % 3600) / 60);
19
- const secs = seconds % 60;
20
- return `${hours}h ${minutes}m ${secs}s`;
21
- };
22
-
23
- const getHealthColor = (health) => {
24
- const colors = {
25
- healthy: '#10b981',
26
- degraded: '#f59e0b',
27
- critical: '#ef4444',
28
- maintenance: '#8b5cf6',
29
- };
30
- return colors[health] || '#6b7280';
31
- };
32
-
33
- const getLoadColor = (load) => {
34
- const colors = {
35
- low: '#10b981',
36
- moderate: '#f59e0b',
37
- high: '#ef4444',
38
- };
39
- return colors[load] || '#6b7280';
40
- };
41
-
42
- const formatPercent = (value) => {
43
- return Math.round(value * 100) / 100;
44
- };
45
-
46
- const createProgressBar = (current, max, label) => {
47
- const percent = (current / max) * 100;
48
- const color = percent > 80 ? '#ef4444' : percent > 50 ? '#f59e0b' : '#10b981';
49
- return html`
50
- <div style="margin-bottom: 12px;">
51
- <div style="display: flex; justify-content: space-between; margin-bottom: 4px; font-size: 13px;">
52
- <span>${label}</span>
53
- <span style="font-weight: bold;">${current} / ${max}</span>
54
- </div>
55
- <div style="width: 100%; height: 8px; background-color: #e5e7eb; border-radius: 4px; overflow: hidden;">
56
- <div style="width: ${percent}%; height: 100%; background-color: ${color}; transition: width 0.3s ease;"></div>
57
- </div>
58
- </div>
59
- `;
60
- };
61
-
62
- const createEntityCard = (entityType) => {
63
- const icons = {
64
- player: '👤',
65
- bot: '🤖',
66
- floor: '🏢',
67
- obstacle: '🚧',
68
- foreground: '🎨',
69
- portal: '🌀',
70
- };
71
- const icon = icons[entityType.type] || '🔷';
72
- return html`
73
- <div
74
- style="background: linear-gradient(135deg, #f3f4f6 0%, #ffffff 100%); padding: 12px; border-radius: 8px; border-left: 4px solid #3b82f6; margin-bottom: 8px;"
75
- >
76
- <div style="display: flex; align-items: center; margin-bottom: 8px;">
77
- <span style="font-size: 20px; margin-right: 8px;">${icon}</span>
78
- <div>
79
- <div style="font-weight: bold; font-size: 14px; text-transform: capitalize;">${entityType.type}</div>
80
- <div style="font-size: 12px; color: #6b7280;">Count: ${entityType.count}</div>
81
- </div>
82
- </div>
83
- ${entityType.total_object_layers > 0
84
- ? `
85
- <div style="font-size: 11px; color: #666; margin-top: 6px; padding-top: 6px; border-top: 1px solid #e5e7eb;">
86
- <div>Layers: ${entityType.active_object_layers}/${entityType.total_object_layers}</div>
87
- </div>
88
- `
89
- : ''}
90
- </div>
91
- `;
92
- };
93
-
94
- const fetchMetrics = async () => {
95
- try {
96
- const response = await fetch('/api/v1/metrics');
97
- if (!response.ok) throw new Error('Failed to fetch metrics');
98
- return await response.json();
99
- } catch (error) {
100
- console.error('Error fetching metrics:', error);
101
- return null;
102
- }
103
- };
104
-
105
- const renderDashboardContent = (metrics) => {
106
- const timestamp = new Date(metrics.timestamp);
107
- const timeString = timestamp.toLocaleTimeString();
108
-
109
- const healthColor = getHealthColor(metrics.health);
110
- const loadColor = getLoadColor(metrics.workload.current_load);
111
-
112
- let entitiesHtml = '';
113
- if (metrics.entities.entities_by_type && Array.isArray(metrics.entities.entities_by_type)) {
114
- entitiesHtml = metrics.entities.entities_by_type.map((et) => createEntityCard(et)).join('');
115
- }
116
-
117
- return html`
118
- <div class="container">
119
- <div class="header">
120
- <h1>🖥️ Cyberia Server Metrics</h1>
121
- <p>Real-time MMO Server Status Dashboard</p>
122
- </div>
123
-
124
- <div class="grid">
125
- <!-- Server Health Card -->
126
- <div class="card">
127
- <div class="card-title">Server Health</div>
128
- <div style="margin-bottom: 12px;">
129
- <span class="health-indicator" style="background-color: ${healthColor};"></span>
130
- <span class="status-badge status-${metrics.health}">${metrics.health}</span>
131
- </div>
132
- <p style="margin: 8px 0 0 0; font-size: 13px; color: #6b7280;">${metrics.health_description}</p>
133
- <div class="timestamp">Updated: ${timeString}</div>
134
- </div>
135
-
136
- <!-- Uptime Card -->
137
- <div class="card">
138
- <div class="card-title">⏱️ Server Uptime</div>
139
- <div style="font-size: 24px; font-weight: 700; color: #667eea; margin: 12px 0;">
140
- ${formatUptime(metrics.server_uptime_sec)}
141
- </div>
142
- <div style="font-size: 12px; color: #6b7280;">WebSocket: ${formatUptime(metrics.websocket.uptime_sec)}</div>
143
- </div>
144
-
145
- <!-- Workload Card -->
146
- <div class="card">
147
- <div class="card-title">📊 Server Load</div>
148
- <div class="load-indicator" style="color: ${loadColor};">
149
- ${formatPercent(metrics.workload.load_percentage)}%
150
- </div>
151
- <div style="font-size: 12px; color: #6b7280; text-align: center;">
152
- Current: <strong>${metrics.workload.current_load}</strong>
153
- </div>
154
- ${createProgressBar(metrics.workload.load_percentage, 100, 'Load Percentage')}
155
- </div>
156
-
157
- <!-- WebSocket Card -->
158
- <div class="card">
159
- <div class="card-title">🔌 WebSocket Status</div>
160
- <div class="metric-item">
161
- <span class="metric-label">Status</span>
162
- <span class="metric-value" style="color: #10b981;">${metrics.websocket.status}</span>
163
- </div>
164
- <div class="metric-item">
165
- <span class="metric-label">Active Connections</span>
166
- <span class="metric-value">${metrics.websocket.active_connections}</span>
167
- </div>
168
- <div class="metric-item">
169
- <span class="metric-label">Uptime</span>
170
- <span class="metric-value">${formatUptime(metrics.websocket.uptime_sec)}</span>
171
- </div>
172
- </div>
173
-
174
- <!-- Entity Summary Card -->
175
- <div class="card">
176
- <div class="card-title">🎮 Entities Summary</div>
177
- <div class="metric-item">
178
- <span class="metric-label">Total Entities</span>
179
- <span class="metric-value">${metrics.entities.total_entities}</span>
180
- </div>
181
- <div class="metric-item">
182
- <span class="metric-label">Active Layers</span>
183
- <span class="metric-value">${metrics.entities.active_object_layers}</span>
184
- </div>
185
- <div class="metric-item">
186
- <span class="metric-label">Avg Layers/Entity</span>
187
- <span class="metric-value">${formatPercent(metrics.entities.avg_object_layers_per_entity)}</span>
188
- </div>
189
- </div>
190
-
191
- <!-- Capacity Card -->
192
- <div class="card">
193
- <div class="card-title">📈 Capacity Usage</div>
194
- ${createProgressBar(metrics.entities.total_entities, metrics.workload.max_entity_capacity, 'Entity Capacity')}
195
- ${createProgressBar(
196
- metrics.entities.total_object_layers,
197
- metrics.workload.max_object_layers,
198
- 'Object Layers',
199
- )}
200
- </div>
201
-
202
- <!-- Entities Breakdown Full Width -->
203
- <div class="card full-width">
204
- <div class="card-title">🎪 Entities Breakdown</div>
205
- <div class="entities-grid">${entitiesHtml}</div>
206
- </div>
207
- </div>
208
-
209
- <div style="text-align: center;">
210
- <a href="${location.origin}" class="back-link">← Back to Homepage</a>
211
- </div>
212
- </div>
213
- `;
214
- };
215
-
216
- const updateDashboard = async () => {
217
- const metrics = await fetchMetrics();
218
- if (!metrics) {
219
- setHTML(
220
- '.dashboard-content',
221
- '<div style="text-align: center; padding: 20px; color: #ef4444;">Unable to load server metrics</div>',
222
- );
223
- return;
224
- }
225
-
226
- const content = renderDashboardContent(metrics);
227
- setHTML('.dashboard-content', content);
228
- };
229
-
230
- const main = () => {
231
- // Initial setup with styles and container
232
- const initialHTML = html`
233
- <style>
234
- * {
235
- box-sizing: border-box;
236
- }
237
-
238
- body {
239
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
240
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
241
- color: #1f2937;
242
- margin: 0;
243
- padding: 0;
244
- min-height: 100vh;
245
- }
246
-
247
- .container {
248
- max-width: 1200px;
249
- margin: 0 auto;
250
- padding: 20px;
251
- }
252
-
253
- .header {
254
- text-align: center;
255
- color: white;
256
- margin-bottom: 30px;
257
- }
258
-
259
- .header h1 {
260
- margin: 0;
261
- font-size: 32px;
262
- font-weight: 700;
263
- margin-bottom: 8px;
264
- text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
265
- }
266
-
267
- .header p {
268
- margin: 0;
269
- font-size: 14px;
270
- opacity: 0.9;
271
- }
272
-
273
- .grid {
274
- display: grid;
275
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
276
- gap: 20px;
277
- margin-bottom: 20px;
278
- }
279
-
280
- .card {
281
- background: white;
282
- border-radius: 12px;
283
- padding: 20px;
284
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
285
- transition:
286
- transform 0.3s ease,
287
- box-shadow 0.3s ease;
288
- }
289
-
290
- .card:hover {
291
- transform: translateY(-5px);
292
- box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
293
- }
294
-
295
- .card-title {
296
- font-size: 16px;
297
- font-weight: 600;
298
- margin-bottom: 12px;
299
- color: #1f2937;
300
- }
301
-
302
- .status-badge {
303
- display: inline-block;
304
- padding: 6px 12px;
305
- border-radius: 20px;
306
- font-size: 12px;
307
- font-weight: 600;
308
- text-transform: uppercase;
309
- letter-spacing: 0.5px;
310
- }
311
-
312
- .status-healthy {
313
- background-color: #d1fae5;
314
- color: #065f46;
315
- }
316
-
317
- .status-degraded {
318
- background-color: #fef3c7;
319
- color: #92400e;
320
- }
321
-
322
- .status-critical {
323
- background-color: #fee2e2;
324
- color: #991b1b;
325
- }
326
-
327
- .status-maintenance {
328
- background-color: #ede9fe;
329
- color: #5b21b6;
330
- }
331
-
332
- .metric-item {
333
- display: flex;
334
- justify-content: space-between;
335
- padding: 10px 0;
336
- border-bottom: 1px solid #e5e7eb;
337
- }
338
-
339
- .metric-item:last-child {
340
- border-bottom: none;
341
- }
342
-
343
- .metric-label {
344
- color: #6b7280;
345
- font-size: 13px;
346
- }
347
-
348
- .metric-value {
349
- font-weight: 600;
350
- color: #1f2937;
351
- font-size: 14px;
352
- }
353
-
354
- .health-indicator {
355
- display: inline-block;
356
- width: 12px;
357
- height: 12px;
358
- border-radius: 50%;
359
- margin-right: 6px;
360
- animation: pulse 2s infinite;
361
- }
362
-
363
- @keyframes pulse {
364
- 0%,
365
- 100% {
366
- opacity: 1;
367
- }
368
- 50% {
369
- opacity: 0.5;
370
- }
371
- }
372
-
373
- .entities-grid {
374
- display: grid;
375
- grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
376
- gap: 8px;
377
- }
378
-
379
- .back-link {
380
- display: inline-block;
381
- margin-top: 20px;
382
- padding: 10px 20px;
383
- background-color: rgba(255, 255, 255, 0.2);
384
- color: white;
385
- text-decoration: none;
386
- border-radius: 8px;
387
- font-size: 13px;
388
- font-weight: 600;
389
- transition: background-color 0.3s ease;
390
- }
391
-
392
- .back-link:hover {
393
- background-color: rgba(255, 255, 255, 0.3);
394
- }
395
-
396
- .full-width {
397
- grid-column: 1 / -1;
398
- }
399
-
400
- .load-indicator {
401
- font-size: 48px;
402
- text-align: center;
403
- margin: 20px 0;
404
- font-weight: 700;
405
- }
406
-
407
- .timestamp {
408
- font-size: 12px;
409
- color: #9ca3af;
410
- margin-top: 12px;
411
- padding-top: 12px;
412
- border-top: 1px solid #e5e7eb;
413
- }
414
-
415
- .dashboard-content {
416
- animation: fadeIn 0.3s ease-in-out;
417
- }
418
-
419
- @keyframes fadeIn {
420
- from {
421
- opacity: 0;
422
- }
423
- to {
424
- opacity: 1;
425
- }
426
- }
427
- </style>
428
-
429
- <div class="dashboard-content"></div>
430
- `;
431
-
432
- append('body', initialHTML);
433
-
434
- // Initial load
435
- updateDashboard();
436
-
437
- // Auto-refresh every 5 seconds
438
- setInterval(updateDashboard, 5000);
439
- };
440
-
441
- SrrComponent = () =>
442
- html`<script>
443
- {
444
- const s = ${s};
445
- const sa = ${sa};
446
- const append = ${append};
447
- const setHTML = ${setHTML};
448
- const getLang = ${getLang};
449
- const formatUptime = ${formatUptime};
450
- const getHealthColor = ${getHealthColor};
451
- const getLoadColor = ${getLoadColor};
452
- const formatPercent = ${formatPercent};
453
- const createProgressBar = ${createProgressBar};
454
- const createEntityCard = ${createEntityCard};
455
- const fetchMetrics = ${fetchMetrics};
456
- const renderDashboardContent = ${renderDashboardContent};
457
- const updateDashboard = ${updateDashboard};
458
- const main = ${main};
459
- window.onload = main;
460
- }
461
- </script>`;
@@ -1,127 +0,0 @@
1
- /**
2
- * This module provides a configurable Progressive Web App (PWA) service worker and caching strategies.
3
- * It supports precaching assets, runtime caching with stale-while-revalidate strategy,
4
- * and offline fallback handling.
5
- * @module src/client/sw/default.sw.js
6
- * @namespace PwaServiceWorker
7
- */
8
-
9
- const PRE_CACHED_RESOURCES = self.renderPayload?.PRE_CACHED_RESOURCES ? self.renderPayload.PRE_CACHED_RESOURCES : [];
10
- const CACHE_NAME = self.renderPayload?.CACHE_NAME ? self.renderPayload.CACHE_NAME : 'app-cache';
11
- const PROXY_PATH = self.renderPayload?.PROXY_PATH ? self.renderPayload.PROXY_PATH : '/';
12
- self.addEventListener('install', (event) => {
13
- // Activate right away
14
- self.skipWaiting();
15
-
16
- event.waitUntil(
17
- (async () => {
18
- // Open the app's cache.
19
- const cache = await caches.open(CACHE_NAME);
20
- // Cache all static resources.
21
- try {
22
- await cache.addAll(PRE_CACHED_RESOURCES);
23
- } catch (error) {
24
- console.error(error);
25
- }
26
- // for (const cacheKey of PRE_CACHED_RESOURCES) {
27
- // try {
28
- // await cache.add(cacheKey);
29
- // } catch (error) {
30
- // console.error(error, cacheKey);
31
- // }
32
- // }
33
- })(),
34
- );
35
- });
36
-
37
- self.addEventListener('activate', (event) => {
38
- event.waitUntil(
39
- (async () => {
40
- // Enable navigation preload if it's supported.
41
- // See https://developers.google.com/web/updates/2017/02/navigation-preload
42
- if ('navigationPreload' in self.registration) {
43
- await self.registration.navigationPreload.enable();
44
- }
45
- })(),
46
- );
47
- // Tell the active service worker to take control of the page immediately.
48
- self.clients.claim();
49
- });
50
-
51
- self.addEventListener('fetch', (event) => {
52
- // Cache-First Strategy
53
- event.respondWith(
54
- (async () => {
55
- // First, try to use the navigation preload response if it's supported.
56
- try {
57
- (async () => {
58
- // Get the client.
59
- if (event.request.url.match(location.origin)) {
60
- const client = await clients.get(event.clientId);
61
- if (client)
62
- client.postMessage({
63
- status: 'loader',
64
- path: event.request.url.slice(location.origin.length),
65
- });
66
- }
67
- })();
68
- const preloadResponse = await event.preloadResponse;
69
- if (preloadResponse) return preloadResponse;
70
- return await fetch(event.request);
71
- } catch (error) {
72
- console.error('Fetch failed; returning offline page instead.', event.request.url, error);
73
- // Fallback to the offline page.
74
- const path = PRE_CACHED_RESOURCES.find((path) => event.request.url.match(path.replaceAll('/index.html', '')));
75
-
76
- try {
77
- const cachedResponse = await caches.match(event.request);
78
- if (cachedResponse) return cachedResponse;
79
- const cache = await caches.open(CACHE_NAME);
80
- const preCachedResponse = await cache.match(path);
81
- if (!preCachedResponse) throw new Error(error.message);
82
- return preCachedResponse;
83
- } catch (error) {
84
- console.error('Error opening cache for pre cached page', {
85
- url: event.request.url,
86
- error,
87
- onLine: navigator.onLine,
88
- });
89
- try {
90
- if (!navigator.onLine) {
91
- if (event.request.method.toUpperCase() === 'GET') {
92
- const cache = await caches.open(CACHE_NAME);
93
- const preCachedResponse = await cache.match(
94
- `${PROXY_PATH === '/' ? '' : PROXY_PATH}/offline/index.html`,
95
- );
96
- if (!preCachedResponse) throw new Error(error.message);
97
- return preCachedResponse;
98
- }
99
- const response = new Response(JSON.stringify({ status: 'error', message: 'offline test response' }));
100
- // response.status = 200;
101
- response.headers.set('Content-Type', 'application/json');
102
- return response;
103
- }
104
- if (event.request.method.toUpperCase() === 'GET') {
105
- const cache = await caches.open(CACHE_NAME);
106
- const preCachedResponse = await cache.match(
107
- `${PROXY_PATH === '/' ? '' : PROXY_PATH}/maintenance/index.html`,
108
- );
109
- if (!preCachedResponse) throw new Error(error.message);
110
- return preCachedResponse;
111
- }
112
- const response = new Response(JSON.stringify({ status: 'error', message: 'server in maintenance' }));
113
- // response.status = 200;
114
- response.headers.set('Content-Type', 'application/json');
115
- return response;
116
- } catch (error) {
117
- console.error('Error opening cache for offline page', event.request.url, error);
118
- const response = new Response(JSON.stringify({ status: 'error', message: error.message }));
119
- // response.status = 200;
120
- response.headers.set('Content-Type', 'application/json');
121
- return response;
122
- }
123
- }
124
- }
125
- })(),
126
- );
127
- });