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
@@ -0,0 +1,163 @@
1
+ import { EventBus } from './EventBus.js';
2
+
3
+ const AuthEventType = {
4
+ login: 'auth:login',
5
+ logout: 'auth:logout',
6
+ signup: 'auth:signup',
7
+ };
8
+
9
+ const SessionEventType = {
10
+ updated: 'session:updated',
11
+ cleared: 'session:cleared',
12
+ };
13
+
14
+ const SocketEventType = {
15
+ connect: 'socket:connect',
16
+ connectError: 'socket:connect-error',
17
+ disconnect: 'socket:disconnect',
18
+ channel: (channel) => `socket:channel:${channel}`,
19
+ };
20
+
21
+ const TranslateEventType = {
22
+ changed: 'translate:changed',
23
+ };
24
+
25
+ const ResponsiveEventType = {
26
+ changed: 'responsive:changed',
27
+ settled: 'responsive:settled',
28
+ orientationChanged: 'responsive:orientation:changed',
29
+ orientationSettled: 'responsive:orientation:settled',
30
+ };
31
+
32
+ const RecoverEventType = {
33
+ triggered: 'recover:triggered',
34
+ };
35
+
36
+ const KeyboardEventType = {
37
+ pressed: 'keyboard:pressed',
38
+ };
39
+
40
+ const AccountEventType = {
41
+ updated: 'account:updated',
42
+ };
43
+
44
+ const AppointmentEventType = {
45
+ submitted: 'appointment:submitted',
46
+ };
47
+
48
+ const ModalEventType = {
49
+ close: 'modal:close',
50
+ menu: 'modal:menu',
51
+ collapseMenu: 'modal:collapse-menu',
52
+ extendMenu: 'modal:extend-menu',
53
+ dragEnd: 'modal:drag-end',
54
+ observer: 'modal:observer',
55
+ click: 'modal:click',
56
+ expandUi: 'modal:expand-ui',
57
+ barUiOpen: 'modal:bar-ui-open',
58
+ barUiClose: 'modal:bar-ui-close',
59
+ reload: 'modal:reload',
60
+ home: 'modal:home',
61
+ };
62
+
63
+ const ModalListenerChannels = {
64
+ onCloseListener: ModalEventType.close,
65
+ onMenuListener: ModalEventType.menu,
66
+ onCollapseMenuListener: ModalEventType.collapseMenu,
67
+ onExtendMenuListener: ModalEventType.extendMenu,
68
+ onDragEndListener: ModalEventType.dragEnd,
69
+ onObserverListener: ModalEventType.observer,
70
+ onClickListener: ModalEventType.click,
71
+ onExpandUiListener: ModalEventType.expandUi,
72
+ onBarUiOpen: ModalEventType.barUiOpen,
73
+ onBarUiClose: ModalEventType.barUiClose,
74
+ onReloadModalListener: ModalEventType.reload,
75
+ onHome: ModalEventType.home,
76
+ };
77
+
78
+ const createModalEventChannel = (bus, type) => {
79
+ const busKey = (key) => `${type}::${key}`;
80
+ return new Proxy(
81
+ {},
82
+ {
83
+ get(_target, prop) {
84
+ if (typeof prop === 'symbol') return undefined;
85
+ const key = busKey(prop);
86
+ if (!bus.has(key)) return undefined;
87
+ return (detail) => bus.emitKey(key, detail);
88
+ },
89
+ set(_target, prop, value) {
90
+ if (typeof prop !== 'symbol' && typeof value === 'function') bus.on(type, value, { key: busKey(prop) });
91
+ return true;
92
+ },
93
+ deleteProperty(_target, prop) {
94
+ if (typeof prop !== 'symbol') bus.off(busKey(prop));
95
+ return true;
96
+ },
97
+ has(_target, prop) {
98
+ return typeof prop !== 'symbol' && bus.has(busKey(prop));
99
+ },
100
+ ownKeys() {
101
+ const prefix = `${type}::`;
102
+ return bus.keysOf(type).map((key) => String(key).slice(prefix.length));
103
+ },
104
+ getOwnPropertyDescriptor(_target, prop) {
105
+ if (typeof prop !== 'symbol' && bus.has(busKey(prop)))
106
+ return { enumerable: true, configurable: true, writable: true, value: undefined };
107
+ return undefined;
108
+ },
109
+ },
110
+ );
111
+ };
112
+
113
+ // One EventBus per modal id, surfaced through the legacy channel names.
114
+ const createModalEvents = () => {
115
+ const bus = new EventBus();
116
+ const channels = {};
117
+ for (const [name, type] of Object.entries(ModalListenerChannels)) channels[name] = createModalEventChannel(bus, type);
118
+ return { bus, channels };
119
+ };
120
+
121
+ const authLoginEvents = new EventBus();
122
+ const authLogoutEvents = new EventBus();
123
+ const authSignupEvents = new EventBus();
124
+ const sessionEvents = new EventBus();
125
+ const socketEvents = new EventBus();
126
+ const translateEvents = new EventBus();
127
+ const responsiveChangeEvents = new EventBus();
128
+ const responsiveSettledEvents = new EventBus();
129
+ const responsiveOrientationEvents = new EventBus();
130
+ const responsiveOrientationSettledEvents = new EventBus();
131
+ const recoverEvents = new EventBus();
132
+ const keyboardEvents = new EventBus();
133
+ const accountEvents = new EventBus();
134
+ const appointmentEvents = new EventBus();
135
+
136
+ export {
137
+ AuthEventType,
138
+ SessionEventType,
139
+ SocketEventType,
140
+ TranslateEventType,
141
+ ResponsiveEventType,
142
+ RecoverEventType,
143
+ KeyboardEventType,
144
+ AccountEventType,
145
+ AppointmentEventType,
146
+ ModalEventType,
147
+ ModalListenerChannels,
148
+ createModalEvents,
149
+ authLoginEvents,
150
+ authLogoutEvents,
151
+ authSignupEvents,
152
+ sessionEvents,
153
+ socketEvents,
154
+ translateEvents,
155
+ responsiveChangeEvents,
156
+ responsiveSettledEvents,
157
+ responsiveOrientationEvents,
158
+ responsiveOrientationSettledEvents,
159
+ recoverEvents,
160
+ keyboardEvents,
161
+ accountEvents,
162
+ appointmentEvents,
163
+ };
@@ -0,0 +1,309 @@
1
+ const PALETTE_COLUMNS = [
2
+ { name: 'Red', hue: 0 },
3
+ { name: 'Orange', hue: 28 },
4
+ { name: 'Yellow', hue: 52 },
5
+ { name: 'Green', hue: 132 },
6
+ { name: 'Cyan', hue: 182 },
7
+ { name: 'Blue', hue: 224 },
8
+ { name: 'Violet', hue: 278 },
9
+ ];
10
+
11
+ const PALETTE_LIGHTNESS = [92, 82, 72, 60, 48, 36, 24];
12
+ const PALETTE_GRAYSCALE_LIGHTNESS = [100, 84, 68, 52, 36, 18, 0];
13
+ const PALETTE_SATURATION = 82;
14
+
15
+ function clampChannel(value) {
16
+ return Math.max(0, Math.min(255, Math.round(value)));
17
+ }
18
+
19
+ function hslToHex(hue, saturation, lightness) {
20
+ const s = saturation / 100;
21
+ const l = lightness / 100;
22
+ const chroma = (1 - Math.abs(2 * l - 1)) * s;
23
+ const segment = hue / 60;
24
+ const second = chroma * (1 - Math.abs((segment % 2) - 1));
25
+ const match = l - chroma / 2;
26
+
27
+ let red = 0;
28
+ let green = 0;
29
+ let blue = 0;
30
+
31
+ if (segment >= 0 && segment < 1) {
32
+ red = chroma;
33
+ green = second;
34
+ } else if (segment < 2) {
35
+ red = second;
36
+ green = chroma;
37
+ } else if (segment < 3) {
38
+ green = chroma;
39
+ blue = second;
40
+ } else if (segment < 4) {
41
+ green = second;
42
+ blue = chroma;
43
+ } else if (segment < 5) {
44
+ red = second;
45
+ blue = chroma;
46
+ } else {
47
+ red = chroma;
48
+ blue = second;
49
+ }
50
+
51
+ const r = clampChannel((red + match) * 255)
52
+ .toString(16)
53
+ .padStart(2, '0');
54
+ const g = clampChannel((green + match) * 255)
55
+ .toString(16)
56
+ .padStart(2, '0');
57
+ const b = clampChannel((blue + match) * 255)
58
+ .toString(16)
59
+ .padStart(2, '0');
60
+ return `#${r}${g}${b}`.toUpperCase();
61
+ }
62
+
63
+ function normalizeHex(value) {
64
+ const raw = String(value || '')
65
+ .trim()
66
+ .replace('#', '');
67
+ if (/^[\da-fA-F]{3}$/.test(raw)) {
68
+ return `#${raw
69
+ .split('')
70
+ .map((char) => char + char)
71
+ .join('')}`.toUpperCase();
72
+ }
73
+ if (/^[\da-fA-F]{6}$/.test(raw)) {
74
+ return `#${raw}`.toUpperCase();
75
+ }
76
+ return null;
77
+ }
78
+
79
+ function buildPaletteRows() {
80
+ return PALETTE_LIGHTNESS.map((lightness, rowIndex) => {
81
+ const colorSwatches = PALETTE_COLUMNS.map((column) => ({
82
+ name: `${column.name} ${rowIndex + 1}`,
83
+ value: hslToHex(column.hue, PALETTE_SATURATION, lightness),
84
+ }));
85
+ const grayscaleLightness = PALETTE_GRAYSCALE_LIGHTNESS[rowIndex] ?? 0;
86
+ const grayscaleName =
87
+ rowIndex === 0 ? 'White' : rowIndex === PALETTE_LIGHTNESS.length - 1 ? 'Black' : `Gray ${rowIndex}`;
88
+ return [
89
+ ...colorSwatches,
90
+ {
91
+ name: grayscaleName,
92
+ value: hslToHex(0, 0, grayscaleLightness),
93
+ },
94
+ ];
95
+ });
96
+ }
97
+
98
+ const PALETTE_ROWS = buildPaletteRows();
99
+
100
+ class ColorPaletteElement extends HTMLElement {
101
+ constructor() {
102
+ super();
103
+ this.attachShadow({ mode: 'open' });
104
+ this._value = '#FF0000';
105
+ this._disabled = false;
106
+ this._handleClick = this._handleClick.bind(this);
107
+ }
108
+
109
+ static get observedAttributes() {
110
+ return ['value', 'disabled'];
111
+ }
112
+
113
+ attributeChangedCallback(name, _oldValue, newValue) {
114
+ if (name === 'value') {
115
+ this._setValue(newValue, { reflect: false, emit: false });
116
+ return;
117
+ }
118
+ if (name === 'disabled') {
119
+ this._disabled = newValue !== null;
120
+ this._updateSelection();
121
+ }
122
+ }
123
+
124
+ connectedCallback() {
125
+ this.render();
126
+ this.shadowRoot.addEventListener('click', this._handleClick);
127
+ this._setValue(this.getAttribute('value') || this._value, { reflect: false, emit: false });
128
+ }
129
+
130
+ disconnectedCallback() {
131
+ this.shadowRoot.removeEventListener('click', this._handleClick);
132
+ }
133
+
134
+ get value() {
135
+ return this._value;
136
+ }
137
+
138
+ set value(value) {
139
+ this._setValue(value, { reflect: true, emit: false });
140
+ }
141
+
142
+ _setValue(value, { reflect, emit } = { reflect: true, emit: false }) {
143
+ const normalized = normalizeHex(value);
144
+ if (!normalized) {
145
+ return;
146
+ }
147
+ const changed = normalized !== this._value;
148
+ this._value = normalized;
149
+ if (reflect && this.getAttribute('value') !== normalized) {
150
+ this.setAttribute('value', normalized);
151
+ }
152
+ this._updateSelection();
153
+ if (emit && changed) {
154
+ const detail = { value: normalized, hex: normalized };
155
+ this.dispatchEvent(new CustomEvent('colorchange', { detail }));
156
+ this.dispatchEvent(new CustomEvent('change', { detail }));
157
+ }
158
+ }
159
+
160
+ _handleClick(event) {
161
+ const swatch = event.target.closest('button[data-color]');
162
+ if (!swatch || this._disabled) {
163
+ return;
164
+ }
165
+ this._setValue(swatch.dataset.color, { reflect: true, emit: true });
166
+ }
167
+
168
+ _updateSelection() {
169
+ if (!this.shadowRoot) {
170
+ return;
171
+ }
172
+ const swatches = this.shadowRoot.querySelectorAll('button[data-color]');
173
+ swatches.forEach((swatch) => {
174
+ const selected = swatch.dataset.color === this._value;
175
+ swatch.toggleAttribute('data-selected', selected);
176
+ swatch.setAttribute('aria-pressed', selected ? 'true' : 'false');
177
+ swatch.disabled = this._disabled;
178
+ });
179
+
180
+ const currentValue = this.shadowRoot.querySelector('.current-value');
181
+ if (currentValue) {
182
+ currentValue.textContent = this._value;
183
+ }
184
+ const currentSwatch = this.shadowRoot.querySelector('.current-swatch');
185
+ if (currentSwatch) {
186
+ currentSwatch.style.background = this._value;
187
+ }
188
+ }
189
+
190
+ render() {
191
+ const gridMarkup = PALETTE_ROWS.map(
192
+ (row) => `
193
+ <div class="swatch-row">
194
+ ${row
195
+ .map(
196
+ (swatch) => `
197
+ <button
198
+ type="button"
199
+ class="swatch"
200
+ data-color="${swatch.value}"
201
+ title="${swatch.name} ${swatch.value}"
202
+ aria-label="${swatch.name} ${swatch.value}"
203
+ style="background:${swatch.value};"
204
+ ></button>
205
+ `,
206
+ )
207
+ .join('')}
208
+ </div>
209
+ `,
210
+ ).join('');
211
+
212
+ this.shadowRoot.innerHTML = `
213
+ <style>
214
+ :host {
215
+ display: block;
216
+ width: 100%;
217
+ }
218
+
219
+ .palette {
220
+ display: grid;
221
+ gap: 10px;
222
+ font-family: monospace;
223
+ color: #d7d7d7;
224
+ }
225
+
226
+ .grid {
227
+ display: grid;
228
+ gap: 6px;
229
+ }
230
+
231
+ .swatch-row {
232
+ display: grid;
233
+ grid-template-columns: repeat(8, minmax(0, 1fr));
234
+ gap: 6px;
235
+ }
236
+
237
+ .swatch {
238
+ appearance: none;
239
+ border: 2px solid rgba(255, 255, 255, 0.16);
240
+ border-radius: 8px;
241
+ cursor: pointer;
242
+ display: block;
243
+ min-height: 24px;
244
+ padding: 0;
245
+ position: relative;
246
+ transition: transform 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
247
+ width: 100%;
248
+ }
249
+
250
+ .swatch:hover {
251
+ transform: translateY(-1px);
252
+ border-color: rgba(255, 255, 255, 0.5);
253
+ }
254
+
255
+ .swatch[data-selected] {
256
+ border-color: #ffffff;
257
+ box-shadow: 0 0 0 2px rgba(28, 28, 28, 0.7), 0 0 0 4px rgba(255, 255, 255, 0.45);
258
+ }
259
+
260
+ .swatch[data-selected]::after {
261
+ content: '';
262
+ position: absolute;
263
+ inset: 6px;
264
+ border: 1px solid rgba(0, 0, 0, 0.45);
265
+ border-radius: 5px;
266
+ }
267
+
268
+ .current {
269
+ align-items: center;
270
+ display: flex;
271
+ gap: 8px;
272
+ font-size: 12px;
273
+ }
274
+
275
+ .current-swatch {
276
+ border: 1px solid rgba(255, 255, 255, 0.24);
277
+ border-radius: 6px;
278
+ height: 18px;
279
+ width: 18px;
280
+ }
281
+
282
+ .current-label {
283
+ color: #9f9f9f;
284
+ text-transform: uppercase;
285
+ }
286
+
287
+ .swatch:disabled {
288
+ cursor: default;
289
+ opacity: 0.55;
290
+ transform: none;
291
+ }
292
+ </style>
293
+ <div class="palette">
294
+ <div class="grid">${gridMarkup}</div>
295
+ <div class="current">
296
+ <div class="current-swatch"></div>
297
+ <div><span class="current-label">Selected</span> <span class="current-value"></span></div>
298
+ </div>
299
+ </div>
300
+ `;
301
+ this._updateSelection();
302
+ }
303
+ }
304
+
305
+ if (!customElements.get('color-palette')) {
306
+ customElements.define('color-palette', ColorPaletteElement);
307
+ }
308
+
309
+ export { ColorPaletteElement };
@@ -32,7 +32,7 @@ const attachMarkdownLinkHandlers = (containerSelector) => {
32
32
  id: `external-link-${s4()}`,
33
33
  html: async () => html`
34
34
  <div class="in section-mp" style="text-align: center; padding: 20px;">
35
- <p>${Translate.Render('external-link-warning')}</p>
35
+ <p>${Translate.instance('external-link-warning')}</p>
36
36
  <p style="word-break: break-all; margin-top: 10px;"><strong>${href}</strong></p>
37
37
  </div>
38
38
  `,
@@ -55,8 +55,8 @@ const attachMarkdownLinkHandlers = (containerSelector) => {
55
55
  });
56
56
  };
57
57
 
58
- const Content = {
59
- Render: async function (options = { idModal: '', titleIcon: '' }) {
58
+ class Content {
59
+ static async instance(options = { idModal: '', titleIcon: '' }) {
60
60
  const { idModal } = options;
61
61
  setTimeout(async () => {
62
62
  try {
@@ -140,12 +140,15 @@ const Content = {
140
140
  htmls(`.content-render-${idModal}`, ``);
141
141
 
142
142
  // Pass file IDs to RenderFile - it will fetch blobs as needed
143
- if (md) await this.RenderFile({ idModal, file: md, id: md._id });
144
- if (file) await this.RenderFile({ idModal, file, id: file._id });
143
+ if (md) await Content.RenderFile({ idModal, file: md, id: md._id });
144
+ if (file) await Content.RenderFile({ idModal, file, id: file._id });
145
145
  Modal.Data[idModal].onObserverListener[`main-content-observer`]();
146
146
  } catch (error) {
147
147
  htmls(`.content-render-${idModal}`, '');
148
- htmls(`.error-${idModal}`, html`<i class="fas fa-exclamation-circle"></i> ${Translate.Render(error.message)}`);
148
+ htmls(
149
+ `.error-${idModal}`,
150
+ html`<i class="fas fa-exclamation-circle"></i> ${Translate.instance(error.message)}`,
151
+ );
149
152
  s(`.error-${idModal}`).classList.remove('hide');
150
153
  }
151
154
  s(`.ssr-shimmer-content-${idModal}`).classList.add('hide');
@@ -164,14 +167,14 @@ const Content = {
164
167
  ${imageShimmer()}
165
168
  </div>
166
169
  <div class="abs center error-${idModal} hide"></div>`;
167
- },
170
+ }
168
171
 
169
172
  /**
170
173
  * Helper function to get file content
171
174
  * Supports both legacy format (with buffer data) and new format (metadata only)
172
175
  * For new format, fetches content from blob endpoint
173
176
  */
174
- getFileContent: async function (file, options = {}) {
177
+ static async getFileContent(file, options = {}) {
175
178
  // If custom URL provided, use it
176
179
  if (options.url) {
177
180
  return await CoreService.getRaw({ url: options.url });
@@ -197,9 +200,9 @@ const Content = {
197
200
  }
198
201
 
199
202
  throw new Error('No file content available');
200
- },
203
+ }
201
204
 
202
- RenderFile: async function (
205
+ static async RenderFile(
203
206
  options = {
204
207
  file: {
205
208
  _id: '',
@@ -308,13 +311,13 @@ ${JSON.stringify(JSON.parse(content), null, 4)}</pre
308
311
  if (ext === 'md') {
309
312
  attachMarkdownLinkHandlers(container);
310
313
  }
311
- },
314
+ }
312
315
 
313
316
  /**
314
317
  * Generate appropriate URL for file display
315
318
  * Prefers blob endpoint for new metadata-only format
316
319
  */
317
- urlFactory: async function (options) {
320
+ static async urlFactory(options) {
318
321
  // If custom URL provided, use it
319
322
  if (options.url) {
320
323
  return options.url;
@@ -340,7 +343,7 @@ ${JSON.stringify(JSON.parse(content), null, 4)}</pre
340
343
  }
341
344
 
342
345
  return null;
343
- },
344
- };
346
+ }
347
+ }
345
348
 
346
349
  export { Content, attachMarkdownLinkHandlers };