cyberia 3.1.3 → 3.2.9

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 (377) hide show
  1. package/.env.example +0 -2
  2. package/.github/workflows/engine-cyberia.cd.yml +10 -8
  3. package/.github/workflows/engine-cyberia.ci.yml +12 -29
  4. package/.github/workflows/ghpkg.ci.yml +4 -4
  5. package/.github/workflows/npmpkg.ci.yml +28 -11
  6. package/.github/workflows/publish.ci.yml +21 -2
  7. package/.github/workflows/pwa-microservices-template-page.cd.yml +4 -5
  8. package/.github/workflows/pwa-microservices-template-test.ci.yml +3 -3
  9. package/.github/workflows/release.cd.yml +14 -10
  10. package/CHANGELOG.md +783 -1
  11. package/CLI-HELP.md +95 -18
  12. package/Dockerfile +0 -2
  13. package/README.md +290 -220
  14. package/bin/build.js +24 -7
  15. package/bin/cyberia.js +2838 -252
  16. package/bin/deploy.js +747 -125
  17. package/bin/file.js +9 -0
  18. package/bin/index.js +2838 -252
  19. package/bin/vs.js +1 -1
  20. package/conf.js +99 -65
  21. package/deployment.yaml +18 -164
  22. package/hardhat/hardhat.config.js +13 -13
  23. package/hardhat/ignition/modules/ObjectLayerToken.js +1 -1
  24. package/hardhat/package-lock.json +2559 -5864
  25. package/hardhat/package.json +14 -23
  26. package/hardhat/scripts/deployObjectLayerToken.js +1 -1
  27. package/hardhat/test/ObjectLayerToken.js +4 -2
  28. package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
  29. package/hardhat/types/ethers-contracts/common.ts +92 -0
  30. package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
  31. package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
  32. package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
  33. package/hardhat/types/ethers-contracts/index.ts +6 -0
  34. package/jsconfig.json +1 -1
  35. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +6 -5
  36. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +6 -5
  37. package/manifests/deployment/dd-cyberia-development/deployment.yaml +18 -164
  38. package/manifests/deployment/dd-cyberia-development/proxy.yaml +7 -79
  39. package/manifests/deployment/dd-default-development/deployment.yaml +2 -6
  40. package/manifests/deployment/dd-test-development/deployment.yaml +112 -28
  41. package/manifests/deployment/dd-test-development/proxy.yaml +46 -1
  42. package/manifests/deployment/playwright/deployment.yaml +1 -1
  43. package/nodemon.json +1 -1
  44. package/package.json +39 -24
  45. package/proxy.yaml +7 -79
  46. package/scripts/k3s-node-setup.sh +2 -2
  47. package/scripts/nat-iptables.sh +103 -18
  48. package/scripts/rhel-grpc-setup.sh +56 -0
  49. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +58 -14
  50. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +23 -14
  51. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
  52. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +148 -20
  53. package/src/api/core/core.controller.js +10 -10
  54. package/src/api/core/core.service.js +10 -10
  55. package/src/api/crypto/crypto.controller.js +8 -8
  56. package/src/api/crypto/crypto.service.js +8 -8
  57. package/src/api/cyberia-action/cyberia-action.controller.js +74 -0
  58. package/src/api/cyberia-action/cyberia-action.model.js +87 -0
  59. package/src/api/cyberia-action/cyberia-action.router.js +27 -0
  60. package/src/api/cyberia-action/cyberia-action.service.js +42 -0
  61. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
  62. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
  63. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
  64. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
  65. package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
  66. package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
  67. package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
  68. package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
  69. package/src/api/cyberia-instance/cyberia-fallback-world.js +178 -0
  70. package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
  71. package/src/api/cyberia-instance/cyberia-instance.model.js +87 -0
  72. package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
  73. package/src/api/cyberia-instance/cyberia-instance.service.js +156 -0
  74. package/src/api/cyberia-instance/cyberia-portal-connector.js +260 -0
  75. package/src/api/cyberia-instance/cyberia-world-generator.js +505 -0
  76. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
  77. package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +574 -0
  78. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +231 -0
  79. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
  80. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +46 -0
  81. package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
  82. package/src/api/cyberia-map/cyberia-map.model.js +30 -0
  83. package/src/api/cyberia-map/cyberia-map.router.js +40 -0
  84. package/src/api/cyberia-map/cyberia-map.service.js +74 -0
  85. package/src/api/cyberia-quest/cyberia-quest.controller.js +74 -0
  86. package/src/api/cyberia-quest/cyberia-quest.model.js +67 -0
  87. package/src/api/cyberia-quest/cyberia-quest.router.js +27 -0
  88. package/src/api/cyberia-quest/cyberia-quest.service.js +42 -0
  89. package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +74 -0
  90. package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +49 -0
  91. package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +27 -0
  92. package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +42 -0
  93. package/src/api/default/default.controller.js +10 -10
  94. package/src/api/default/default.service.js +10 -10
  95. package/src/api/document/document.controller.js +12 -12
  96. package/src/api/document/document.model.js +10 -16
  97. package/src/api/file/file.controller.js +8 -8
  98. package/src/api/file/file.model.js +10 -10
  99. package/src/api/file/file.ref.json +18 -0
  100. package/src/api/file/file.service.js +36 -36
  101. package/src/api/instance/instance.controller.js +10 -10
  102. package/src/api/instance/instance.model.js +4 -10
  103. package/src/api/instance/instance.service.js +10 -10
  104. package/src/api/ipfs/ipfs.controller.js +15 -36
  105. package/src/api/ipfs/ipfs.model.js +47 -47
  106. package/src/api/ipfs/ipfs.router.js +8 -13
  107. package/src/api/ipfs/ipfs.service.js +67 -129
  108. package/src/api/object-layer/object-layer.controller.js +12 -12
  109. package/src/api/object-layer/object-layer.model.js +4 -17
  110. package/src/api/object-layer/object-layer.router.js +30 -0
  111. package/src/api/object-layer/object-layer.service.js +126 -43
  112. package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +10 -10
  113. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +6 -16
  114. package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +18 -14
  115. package/src/api/test/test.controller.js +8 -8
  116. package/src/api/test/test.service.js +8 -8
  117. package/src/api/user/guest.service.js +99 -0
  118. package/src/api/user/user.controller.js +6 -6
  119. package/src/api/user/user.model.js +8 -13
  120. package/src/api/user/user.service.js +11 -27
  121. package/src/cli/cluster.js +68 -21
  122. package/src/cli/db.js +753 -825
  123. package/src/cli/deploy.js +215 -125
  124. package/src/cli/env.js +29 -0
  125. package/src/cli/fs.js +82 -8
  126. package/src/cli/image.js +43 -1
  127. package/src/cli/index.js +74 -3
  128. package/src/cli/kubectl.js +211 -0
  129. package/src/cli/release.js +340 -0
  130. package/src/cli/repository.js +475 -74
  131. package/src/cli/run.js +582 -43
  132. package/src/cli/secrets.js +73 -0
  133. package/src/cli/ssh.js +1 -1
  134. package/src/cli/static.js +43 -115
  135. package/src/cli/test.js +3 -3
  136. package/src/client/Cryptokoyn.index.js +18 -22
  137. package/src/client/CyberiaPortal.index.js +19 -24
  138. package/src/client/Default.index.js +21 -34
  139. package/src/client/Itemledger.index.js +20 -27
  140. package/src/client/Underpost.index.js +19 -24
  141. package/src/client/components/core/404.js +4 -4
  142. package/src/client/components/core/500.js +4 -4
  143. package/src/client/components/core/Account.js +73 -60
  144. package/src/client/components/core/AgGrid.js +23 -33
  145. package/src/client/components/core/Alert.js +12 -13
  146. package/src/client/components/core/AppStore.js +69 -0
  147. package/src/client/components/core/Auth.js +35 -37
  148. package/src/client/components/core/Badge.js +7 -13
  149. package/src/client/components/core/BtnIcon.js +15 -17
  150. package/src/client/components/core/CalendarCore.js +43 -64
  151. package/src/client/components/core/Chat.js +13 -15
  152. package/src/client/components/core/ClientEvents.js +87 -0
  153. package/src/client/components/core/ColorPaletteElement.js +309 -0
  154. package/src/client/components/core/Content.js +17 -14
  155. package/src/client/components/core/Css.js +15 -71
  156. package/src/client/components/core/CssCore.js +12 -16
  157. package/src/client/components/core/D3Chart.js +4 -4
  158. package/src/client/components/core/Docs.js +64 -91
  159. package/src/client/components/core/DropDown.js +194 -96
  160. package/src/client/components/core/EventBus.js +92 -0
  161. package/src/client/components/core/EventsUI.js +14 -17
  162. package/src/client/components/core/FileExplorer.js +96 -228
  163. package/src/client/components/core/FullScreen.js +47 -75
  164. package/src/client/components/core/Input.js +24 -69
  165. package/src/client/components/core/Keyboard.js +26 -19
  166. package/src/client/components/core/KeyboardAvoidance.js +145 -0
  167. package/src/client/components/core/LoadingAnimation.js +25 -31
  168. package/src/client/components/core/LogIn.js +43 -43
  169. package/src/client/components/core/LogOut.js +25 -16
  170. package/src/client/components/core/Modal.js +462 -179
  171. package/src/client/components/core/NotificationManager.js +14 -18
  172. package/src/client/components/core/Panel.js +54 -51
  173. package/src/client/components/core/PanelForm.js +44 -144
  174. package/src/client/components/core/Polyhedron.js +110 -214
  175. package/src/client/components/core/PublicProfile.js +39 -32
  176. package/src/client/components/core/Recover.js +48 -44
  177. package/src/client/components/core/Responsive.js +88 -32
  178. package/src/client/components/core/RichText.js +9 -18
  179. package/src/client/components/core/Router.js +24 -3
  180. package/src/client/components/core/SearchBox.js +37 -37
  181. package/src/client/components/core/SignUp.js +39 -30
  182. package/src/client/components/core/SocketIo.js +112 -30
  183. package/src/client/components/core/SocketIoHandler.js +75 -0
  184. package/src/client/components/core/Stream.js +143 -95
  185. package/src/client/components/core/ToggleSwitch.js +8 -20
  186. package/src/client/components/core/ToolTip.js +5 -17
  187. package/src/client/components/core/Translate.js +56 -59
  188. package/src/client/components/core/Validator.js +26 -16
  189. package/src/client/components/core/Wallet.js +15 -26
  190. package/src/client/components/core/Webhook.js +40 -7
  191. package/src/client/components/core/Worker.js +163 -27
  192. package/src/client/components/core/windowGetDimensions.js +7 -7
  193. package/src/client/components/cryptokoyn/{MenuCryptokoyn.js → AppShellCryptokoyn.js} +59 -59
  194. package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
  195. package/src/client/components/cryptokoyn/CssCryptokoyn.js +15 -15
  196. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +9 -7
  197. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +8 -6
  198. package/src/client/components/cryptokoyn/RouterCryptokoyn.js +37 -0
  199. package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +4 -4
  200. package/src/client/components/cryptokoyn/SignUpCryptokoyn.js +6 -4
  201. package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
  202. package/src/client/components/cyberia/InstanceEngineCyberia.js +781 -0
  203. package/src/client/components/cyberia/MapEngineCyberia.js +1836 -2
  204. package/src/client/components/cyberia/ObjectLayerEngine.js +19 -0
  205. package/src/client/components/cyberia/ObjectLayerEngineModal.js +1220 -99
  206. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +252 -316
  207. package/src/client/components/cyberia-portal/{MenuCyberiaPortal.js → AppShellCyberiaPortal.js} +136 -103
  208. package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
  209. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +462 -32
  210. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +15 -15
  211. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +9 -7
  212. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +8 -6
  213. package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +4 -4
  214. package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +60 -0
  215. package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +4 -4
  216. package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +6 -4
  217. package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
  218. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +8 -4
  219. package/src/client/components/default/{MenuDefault.js → AppShellDefault.js} +91 -91
  220. package/src/client/components/default/AppStoreDefault.js +5 -0
  221. package/src/client/components/default/CssDefault.js +12 -12
  222. package/src/client/components/default/LogInDefault.js +9 -7
  223. package/src/client/components/default/LogOutDefault.js +8 -6
  224. package/src/client/components/default/RouterDefault.js +47 -0
  225. package/src/client/components/default/SettingsDefault.js +4 -4
  226. package/src/client/components/default/SignUpDefault.js +6 -4
  227. package/src/client/components/default/SocketIoDefault.js +3 -51
  228. package/src/client/components/default/TranslateDefault.js +3 -3
  229. package/src/client/components/itemledger/{MenuItemledger.js → AppShellItemledger.js} +59 -59
  230. package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
  231. package/src/client/components/itemledger/CssItemledger.js +15 -15
  232. package/src/client/components/itemledger/LogInItemledger.js +9 -7
  233. package/src/client/components/itemledger/LogOutItemledger.js +8 -6
  234. package/src/client/components/itemledger/RouterItemledger.js +38 -0
  235. package/src/client/components/itemledger/SettingsItemledger.js +4 -4
  236. package/src/client/components/itemledger/SignUpItemledger.js +6 -4
  237. package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
  238. package/src/client/components/itemledger/TranslateItemledger.js +3 -3
  239. package/src/client/components/underpost/{MenuUnderpost.js → AppShellUnderpost.js} +92 -92
  240. package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
  241. package/src/client/components/underpost/CssUnderpost.js +14 -14
  242. package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +4 -4
  243. package/src/client/components/underpost/DocumentSearchProvider.js +1 -1
  244. package/src/client/components/underpost/LabGalleryUnderpost.js +12 -15
  245. package/src/client/components/underpost/LogInUnderpost.js +9 -7
  246. package/src/client/components/underpost/LogOutUnderpost.js +8 -6
  247. package/src/client/components/underpost/RouterUnderpost.js +45 -0
  248. package/src/client/components/underpost/SettingsUnderpost.js +4 -4
  249. package/src/client/components/underpost/SignUpUnderpost.js +6 -4
  250. package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
  251. package/src/client/components/underpost/TranslateUnderpost.js +4 -4
  252. package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +235 -0
  253. package/src/client/public/cyberia-docs/ARCHITECTURE.md +443 -0
  254. package/src/client/public/cyberia-docs/CYBERIA-CLI.md +417 -0
  255. package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +313 -0
  256. package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +260 -0
  257. package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +241 -0
  258. package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +300 -0
  259. package/src/client/public/cyberia-docs/OFF-CHAIN-ECONOMY.md +279 -0
  260. package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +206 -0
  261. package/src/client/public/cyberia-docs/ROADMAP.md +240 -0
  262. package/src/client/public/cyberia-docs/WHITE-PAPER.md +732 -0
  263. package/src/client/services/atlas-sprite-sheet/atlas-sprite-sheet.service.js +14 -20
  264. package/src/client/services/core/core.service.js +35 -55
  265. package/src/client/services/crypto/crypto.service.js +8 -13
  266. package/src/client/services/cyberia-action/cyberia-action.service.js +99 -0
  267. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +99 -0
  268. package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
  269. package/src/client/services/cyberia-entity/cyberia-entity.service.js +99 -0
  270. package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
  271. package/src/client/services/cyberia-instance/cyberia-instance.service.js +116 -0
  272. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +99 -0
  273. package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
  274. package/src/client/services/cyberia-map/cyberia-map.service.js +120 -0
  275. package/src/client/services/cyberia-quest/cyberia-quest.service.js +99 -0
  276. package/src/client/services/cyberia-quest-progress/cyberia-quest-progress.service.js +99 -0
  277. package/src/client/services/default/default.management.js +159 -267
  278. package/src/client/services/default/default.service.js +10 -16
  279. package/src/client/services/document/document.service.js +14 -19
  280. package/src/client/services/file/file.service.js +8 -13
  281. package/src/client/services/instance/instance.management.js +6 -6
  282. package/src/client/services/instance/instance.service.js +10 -15
  283. package/src/client/services/ipfs/ipfs.service.js +14 -40
  284. package/src/client/services/object-layer/object-layer.management.js +14 -14
  285. package/src/client/services/object-layer/object-layer.service.js +39 -24
  286. package/src/client/services/object-layer-render-frames/object-layer-render-frames.service.js +10 -16
  287. package/src/client/services/test/test.service.js +8 -13
  288. package/src/client/services/user/guest.service.js +86 -0
  289. package/src/client/services/user/user.management.js +6 -6
  290. package/src/client/services/user/user.service.js +14 -20
  291. package/src/client/ssr/body/404.js +3 -3
  292. package/src/client/ssr/body/500.js +3 -3
  293. package/src/client/ssr/body/CacheControl.js +5 -2
  294. package/src/client/ssr/body/DefaultSplashScreen.js +19 -12
  295. package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +13 -6
  296. package/src/client/ssr/head/PwaItemledger.js +197 -60
  297. package/src/client/ssr/mailer/DefaultRecoverEmail.js +19 -20
  298. package/src/client/ssr/mailer/DefaultVerifyEmail.js +15 -16
  299. package/src/client/ssr/offline/Maintenance.js +12 -11
  300. package/src/client/ssr/offline/NoNetworkConnection.js +3 -3
  301. package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
  302. package/src/client/ssr/pages/Test.js +2 -2
  303. package/src/client/sw/core.sw.js +212 -0
  304. package/src/grpc/cyberia/grpc-server.js +642 -0
  305. package/src/index.js +24 -1
  306. package/src/runtime/cyberia-client/Dockerfile +80 -0
  307. package/src/runtime/cyberia-server/Dockerfile +37 -0
  308. package/src/runtime/express/Dockerfile +5 -1
  309. package/src/runtime/express/Express.js +18 -1
  310. package/src/runtime/lampp/Dockerfile +17 -5
  311. package/src/runtime/lampp/Lampp.js +27 -4
  312. package/src/runtime/wp/Dockerfile +62 -0
  313. package/src/runtime/wp/Wp.js +639 -0
  314. package/src/server/atlas-sprite-sheet-generator.js +4 -2
  315. package/src/server/auth.js +24 -1
  316. package/src/server/backup.js +37 -9
  317. package/src/server/client-build-docs.js +52 -46
  318. package/src/server/client-build.js +356 -82
  319. package/src/server/client-formatted.js +140 -57
  320. package/src/server/conf.js +29 -13
  321. package/src/server/cron.js +25 -23
  322. package/src/server/data-query.js +32 -20
  323. package/src/server/dns.js +24 -1
  324. package/src/server/ipfs-client.js +253 -89
  325. package/src/server/object-layer.js +150 -114
  326. package/src/server/peer.js +8 -0
  327. package/src/server/process.js +13 -27
  328. package/src/server/runtime.js +25 -1
  329. package/src/server/semantic-layer-generator-floor.js +319 -0
  330. package/src/server/semantic-layer-generator-resource.js +259 -0
  331. package/src/server/semantic-layer-generator-skin.js +1164 -0
  332. package/src/server/semantic-layer-generator.js +211 -542
  333. package/src/server/shape-generator.js +108 -0
  334. package/src/server/start.js +19 -5
  335. package/src/server/valkey.js +141 -235
  336. package/src/ws/IoInterface.js +1 -10
  337. package/src/ws/IoServer.js +14 -33
  338. package/src/ws/core/channels/core.ws.chat.js +65 -20
  339. package/src/ws/core/channels/core.ws.mailer.js +113 -32
  340. package/src/ws/core/channels/core.ws.stream.js +90 -31
  341. package/src/ws/core/core.ws.connection.js +12 -33
  342. package/src/ws/core/core.ws.emit.js +10 -26
  343. package/src/ws/core/core.ws.server.js +25 -58
  344. package/src/ws/default/channels/default.ws.main.js +53 -12
  345. package/src/ws/default/default.ws.connection.js +26 -13
  346. package/src/ws/default/default.ws.server.js +30 -12
  347. package/tsconfig.docs.json +15 -0
  348. package/typedoc.dd-cyberia.json +29 -0
  349. package/typedoc.json +29 -0
  350. package/WHITE-PAPER.md +0 -1540
  351. package/hardhat/README.md +0 -531
  352. package/hardhat/WHITE-PAPER.md +0 -1540
  353. package/jsdoc.dd-cyberia.json +0 -59
  354. package/jsdoc.json +0 -59
  355. package/src/api/object-layer/README.md +0 -347
  356. package/src/client/components/core/ColorPalette.js +0 -5267
  357. package/src/client/components/core/JoyStick.js +0 -80
  358. package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
  359. package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
  360. package/src/client/components/cryptokoyn/RoutesCryptokoyn.js +0 -39
  361. package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
  362. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +0 -58
  363. package/src/client/components/cyberia-portal/ServerCyberiaPortal.js +0 -136
  364. package/src/client/components/default/ElementsDefault.js +0 -38
  365. package/src/client/components/default/RoutesDefault.js +0 -49
  366. package/src/client/components/itemledger/CommonItemledger.js +0 -29
  367. package/src/client/components/itemledger/ElementsItemledger.js +0 -38
  368. package/src/client/components/itemledger/RoutesItemledger.js +0 -40
  369. package/src/client/components/underpost/CommonUnderpost.js +0 -29
  370. package/src/client/components/underpost/ElementsUnderpost.js +0 -38
  371. package/src/client/components/underpost/RoutesUnderpost.js +0 -47
  372. package/src/client/sw/default.sw.js +0 -127
  373. package/src/client/sw/template.sw.js +0 -84
  374. package/src/ws/core/management/core.ws.chat.js +0 -8
  375. package/src/ws/core/management/core.ws.mailer.js +0 -16
  376. package/src/ws/core/management/core.ws.stream.js +0 -8
  377. package/src/ws/default/management/default.ws.main.js +0 -8
package/src/index.js CHANGED
@@ -10,6 +10,7 @@ import UnderpostKickStart from './cli/kickstart.js';
10
10
  import UnderpostCluster from './cli/cluster.js';
11
11
  import UnderpostDB from './cli/db.js';
12
12
  import UnderpostDeploy from './cli/deploy.js';
13
+ import UnderpostKubectl from './cli/kubectl.js';
13
14
  import UnderpostRootEnv from './cli/env.js';
14
15
  import UnderpostFileStorage from './cli/fs.js';
15
16
  import UnderpostIPFS from './cli/ipfs.js';
@@ -22,6 +23,7 @@ import UnderpostSecret from './cli/secrets.js';
22
23
  import UnderpostSSH from './cli/ssh.js';
23
24
  import UnderpostStatic from './cli/static.js';
24
25
  import UnderpostTest from './cli/test.js';
26
+ import UnderpostRelease from './cli/release.js';
25
27
  import UnderpostSystemProvisionig from './cli/system.js';
26
28
 
27
29
  import UnderpostDns from './server/dns.js';
@@ -42,7 +44,7 @@ class Underpost {
42
44
  * @type {String}
43
45
  * @memberof Underpost
44
46
  */
45
- static version = 'v3.1.3';
47
+ static version = 'v3.2.9';
46
48
 
47
49
  /**
48
50
  * Required Node.js major version
@@ -126,6 +128,15 @@ class Underpost {
126
128
  static get db() {
127
129
  return UnderpostDB.API;
128
130
  }
131
+ /**
132
+ * Kubectl cli API
133
+ * @static
134
+ * @type {UnderpostKubectl.API}
135
+ * @memberof Underpost
136
+ */
137
+ static get kubectl() {
138
+ return UnderpostKubectl.API;
139
+ }
129
140
  /**
130
141
  * Deployment cli API
131
142
  * @static
@@ -280,6 +291,16 @@ class Underpost {
280
291
  static get tls() {
281
292
  return UnderpostTLS.API;
282
293
  }
294
+
295
+ /**
296
+ * Release orchestrator cli API
297
+ * @static
298
+ * @type {UnderpostRelease.API}
299
+ * @memberof Underpost
300
+ */
301
+ static get release() {
302
+ return UnderpostRelease.API;
303
+ }
283
304
  }
284
305
 
285
306
  if (!process.version || !process.version.startsWith(`${Underpost.majorNodejsVersion}.`))
@@ -300,6 +321,7 @@ export {
300
321
  UnderpostCluster,
301
322
  UnderpostDB,
302
323
  UnderpostDeploy,
324
+ UnderpostKubectl,
303
325
  UnderpostRootEnv,
304
326
  UnderpostFileStorage,
305
327
  UnderpostImage,
@@ -317,6 +339,7 @@ export {
317
339
  UnderpostBackup,
318
340
  UnderpostCron,
319
341
  UnderpostStartUp,
342
+ UnderpostRelease,
320
343
  UnderpostTLS,
321
344
  };
322
345
 
@@ -0,0 +1,80 @@
1
+ # BUILD_MODE: RELEASE | DEBUG
2
+ ARG BUILD_MODE=RELEASE
3
+
4
+ # --- Build Image
5
+ FROM rockylinux/rockylinux:9 AS builder
6
+ # Re-declare ARG after FROM so it is in scope for RUN
7
+ ARG BUILD_MODE=RELEASE
8
+
9
+ RUN dnf -y update && \
10
+ dnf -y install epel-release && \
11
+ dnf -y install --allowerasing \
12
+ git \
13
+ curl \
14
+ wget \
15
+ openssl-devel \
16
+ libnsl \
17
+ perl \
18
+ gnupg2 \
19
+ bzip2 && \
20
+ dnf clean all
21
+
22
+ # System packages (raylib gfx + build dependencies)
23
+ RUN dnf groupinstall -y "Development Tools" && \
24
+ dnf install -y \
25
+ cmake \
26
+ unzip \
27
+ python3 \
28
+ python3.11 \
29
+ alsa-lib-devel \
30
+ mesa-libGL-devel \
31
+ mesa-libGLU-devel \
32
+ libX11-devel \
33
+ libXrandr-devel \
34
+ libXi-devel \
35
+ libXcursor-devel \
36
+ libXinerama-devel \
37
+ libXfixes-devel \
38
+ freeglut-devel \
39
+ glfw-devel \
40
+ libatomic.x86_64 && \
41
+ dnf clean all && \
42
+ alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 && \
43
+ alternatives --set python3 /usr/bin/python3.11
44
+ ENV EMSDK=/opt/emsdk
45
+ ENV PATH="${EMSDK}:${EMSDK}/upstream/emscripten:${PATH}"
46
+
47
+ # Pin emsdk version for reproducible builds
48
+ ARG EMSDK_VERSION=5.0.6
49
+ WORKDIR /opt
50
+ RUN git clone https://github.com/emscripten-core/emsdk.git ${EMSDK}
51
+ WORKDIR ${EMSDK}
52
+ RUN ./emsdk install ${EMSDK_VERSION} && \
53
+ ./emsdk activate ${EMSDK_VERSION}
54
+
55
+ WORKDIR /cyberia-client
56
+ COPY cyberia-client/ .
57
+
58
+ RUN make -f Web.mk all BUILD_MODE=${BUILD_MODE} OUTPUT_DIR=bin/
59
+
60
+ # --- Runtime Image
61
+ FROM rockylinux/rockylinux:9 AS runtime
62
+
63
+ RUN dnf -y update && \
64
+ dnf -y install epel-release && \
65
+ dnf -y install --allowerasing curl git python3 && \
66
+ curl -fsSL https://rpm.nodesource.com/setup_24.x | bash - && \
67
+ dnf install -y nodejs && \
68
+ dnf clean all
69
+
70
+ WORKDIR /home/dd/engine/cyberia-client
71
+
72
+ COPY --from=builder /cyberia-client/server.py ./server.py
73
+ COPY --from=builder /cyberia-client/bin ./bin/
74
+
75
+ ENV CYBERIA_PORT=8081
76
+ ENV CYBERIA_MODE=production
77
+
78
+ EXPOSE 8081 8082
79
+
80
+ CMD ["sh", "-c", "exec python3 server.py ${CYBERIA_PORT} bin ${CYBERIA_MODE}"]
@@ -0,0 +1,37 @@
1
+ # --- Build Image
2
+ FROM rockylinux/rockylinux:9 AS builder
3
+
4
+ RUN dnf -y update && \
5
+ dnf -y install epel-release && \
6
+ dnf -y install --allowerasing \
7
+ git \
8
+ make \
9
+ golang && \
10
+ dnf clean all
11
+
12
+ WORKDIR /build
13
+
14
+ # Cache dependency downloads independently of source changes
15
+ COPY cyberia-server/go.mod cyberia-server/go.sum ./
16
+ RUN go mod download
17
+
18
+ COPY cyberia-server/ ./
19
+ RUN chmod +x build.sh && ./build.sh
20
+
21
+ # --- Runtime Image
22
+ FROM rockylinux/rockylinux:9 AS runtime
23
+
24
+ RUN dnf -y update && \
25
+ dnf -y install epel-release && \
26
+ dnf -y install --allowerasing curl git && \
27
+ curl -fsSL https://rpm.nodesource.com/setup_24.x | bash - && \
28
+ dnf install -y nodejs && \
29
+ dnf clean all
30
+
31
+ WORKDIR /home/dd/engine/cyberia-server
32
+
33
+ COPY --from=builder /build/server ./server
34
+
35
+ EXPOSE 8081
36
+
37
+ ENTRYPOINT ["/home/dd/engine/cyberia-server/server"]
@@ -30,7 +30,11 @@ RUN dnf clean all
30
30
  RUN node --version
31
31
  RUN npm --version
32
32
 
33
- # Set working directory
33
+ # Install underpost ci/cd cli
34
+ RUN npm install -g underpost
35
+ RUN underpost --version
36
+
37
+ # Create working directory
34
38
  WORKDIR /home/dd
35
39
 
36
40
  # Expose necessary ports
@@ -79,6 +79,7 @@ class ExpressService {
79
79
  peer,
80
80
  valkey,
81
81
  apiBaseHost,
82
+ grpc,
82
83
  redirectTarget,
83
84
  rootHostPath,
84
85
  confSSR,
@@ -135,7 +136,17 @@ class ExpressService {
135
136
  });
136
137
 
137
138
  // Static file serving
138
- app.use('/', express.static(directory ? directory : `.${rootHostPath}`));
139
+ app.use(
140
+ '/',
141
+ express.static(directory ? directory : `.${rootHostPath}`, {
142
+ setHeaders: (res, filePath) => {
143
+ if (filePath.includes('/assets/')) {
144
+ res.set('Access-Control-Allow-Origin', '*');
145
+ res.set('Cross-Origin-Resource-Policy', 'cross-origin');
146
+ }
147
+ },
148
+ }),
149
+ );
139
150
 
140
151
  // Handle redirection-only instances
141
152
  if (redirect) {
@@ -198,6 +209,12 @@ class ExpressService {
198
209
  });
199
210
  }
200
211
 
212
+ // gRPC server
213
+ if (path === '/' && grpc && grpc.module) {
214
+ const { GrpcServer } = await import(`../../grpc/${grpc.module}/grpc-server.js`);
215
+ await GrpcServer.start({ host, path, port: grpc.port || 50051 });
216
+ }
217
+
201
218
  // API router loading
202
219
  if (apis && apis.length > 0) {
203
220
  const authMiddleware = authMiddlewareFactory({ host, path });
@@ -1,6 +1,6 @@
1
1
  FROM rockylinux:9
2
2
 
3
- # Update and install required packages
3
+ # System packages
4
4
  RUN dnf -y update && \
5
5
  dnf -y install epel-release && \
6
6
  dnf -y install --allowerasing \
@@ -20,17 +20,25 @@ RUN dnf -y update && \
20
20
  perl && \
21
21
  dnf clean all
22
22
 
23
- # --- Download and install XAMPP
24
- RUN curl -L -o /tmp/xampp-linux-installer.run "https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/7.4.33/xampp-linux-x64-7.4.33-0-installer.run" && \
23
+
24
+ # Download and install XAMPP (PHP 8.2)
25
+ RUN curl -L -o /tmp/xampp-linux-installer.run "https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/8.2.12/xampp-linux-x64-8.2.12-0-installer.run" && \
25
26
  chmod +x /tmp/xampp-linux-installer.run && \
26
27
  bash -c "/tmp/xampp-linux-installer.run --mode unattended" && \
27
28
  ln -sf /opt/lampp/lampp /usr/bin/lampp
28
29
 
29
- # --- Create /xampp/htdocs (static root) and set permissions
30
+ # Create /xampp/htdocs (static root) and set permissions
30
31
  RUN mkdir -p /opt/lampp/htdocs && \
31
32
  chown -R root:root /opt/lampp/htdocs && \
32
33
  chmod -R a+rX /opt/lampp/htdocs
33
34
 
35
+ # Add XAMPP binaries and /usr/local/bin to PATH for all shells
36
+ ENV PATH="/opt/lampp/bin:/usr/local/bin:${PATH}"
37
+ RUN echo 'export PATH="/opt/lampp/bin:/usr/local/bin:${PATH}"' > /etc/profile.d/lampp.sh
38
+
39
+ # Provide a no-op sendmail so PHP plugins don't error on mail calls
40
+ RUN printf '#!/bin/sh\ncat > /dev/null\n' > /usr/sbin/sendmail && chmod +x /usr/sbin/sendmail
41
+
34
42
  # Install Node.js
35
43
  RUN curl -fsSL https://rpm.nodesource.com/setup_24.x | bash -
36
44
  RUN dnf install nodejs -y
@@ -40,7 +48,11 @@ RUN dnf clean all
40
48
  RUN node --version
41
49
  RUN npm --version
42
50
 
43
- # Set working directory
51
+ # Install underpost CLI
52
+ RUN npm install -g underpost
53
+ RUN underpost --version
54
+
55
+ # Runtime root expected by startup/build scripts.
44
56
  WORKDIR /home/dd
45
57
 
46
58
  EXPOSE 22
@@ -169,9 +169,9 @@ class LamppService {
169
169
  shellCd(`./engine-private/setup`);
170
170
 
171
171
  if (!process.argv.includes(`server`)) {
172
- // Download and run the XAMPP installer
172
+ // Download and run the XAMPP installer (PHP 8.2)
173
173
  shellExec(
174
- `curl -Lo xampp-linux-installer.run https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/7.4.30/xampp-linux-x64-7.4.30-1-installer.run?from_af=true`,
174
+ `curl -Lo xampp-linux-installer.run https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/8.2.12/xampp-linux-x64-8.2.12-0-installer.run`,
175
175
  );
176
176
  shellExec(`sudo chmod +x xampp-linux-installer.run`);
177
177
  shellExec(
@@ -237,14 +237,37 @@ Listen ${port}
237
237
 
238
238
  <VirtualHost *:${port}>
239
239
  DocumentRoot "${documentRoot}"
240
- ServerName ${host}:${port}
240
+ ServerName ${host}
241
+ UseCanonicalName Off
242
+ ServerSignature Off
241
243
 
242
244
  <Directory "${documentRoot}">
243
- Options Indexes FollowSymLinks MultiViews
245
+ Options FollowSymLinks MultiViews
244
246
  AllowOverride All
245
247
  Require all granted
246
248
  </Directory>
247
249
 
250
+ # Block access to .git directories and files
251
+ RedirectMatch 404 /\\.git
252
+
253
+ # Block access to hidden dotfiles (.env, .htpasswd, etc.)
254
+ <FilesMatch "^\\.(env|htpasswd|htaccess\\.bak|DS_Store)">
255
+ Require all denied
256
+ </FilesMatch>
257
+
258
+ # Block access to sensitive engine files
259
+ <FilesMatch "(wp-config\\.php\\.bak|wp-config-sample\\.php|\\.sql|\\.sql\\.gz)$">
260
+ Require all denied
261
+ </FilesMatch>
262
+
263
+ # Security headers
264
+ <IfModule mod_headers.c>
265
+ Header always set X-Content-Type-Options "nosniff"
266
+ Header always set X-Frame-Options "SAMEORIGIN"
267
+ Header always set Referrer-Policy "strict-origin-when-cross-origin"
268
+ Header always unset X-Powered-By
269
+ </IfModule>
270
+
248
271
  ${
249
272
  redirect
250
273
  ? `
@@ -0,0 +1,62 @@
1
+ FROM rockylinux:9
2
+
3
+ # System packages
4
+ RUN dnf -y update && \
5
+ dnf -y install epel-release && \
6
+ dnf -y install --allowerasing \
7
+ bzip2 \
8
+ sudo \
9
+ curl \
10
+ net-tools \
11
+ openssh-server \
12
+ nano \
13
+ vim-enhanced \
14
+ less \
15
+ openssl-devel \
16
+ wget \
17
+ git \
18
+ gnupg2 \
19
+ libnsl \
20
+ perl && \
21
+ dnf clean all
22
+
23
+ # Download and install XAMPP (PHP 8.2)
24
+ RUN curl -L -o /tmp/xampp-linux-installer.run "https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/8.2.12/xampp-linux-x64-8.2.12-0-installer.run" && \
25
+ chmod +x /tmp/xampp-linux-installer.run && \
26
+ bash -c "/tmp/xampp-linux-installer.run --mode unattended" && \
27
+ ln -sf /opt/lampp/lampp /usr/bin/lampp
28
+
29
+ # Create /xampp/htdocs (static root) and set permissions
30
+ RUN mkdir -p /opt/lampp/htdocs && \
31
+ chown -R root:root /opt/lampp/htdocs && \
32
+ chmod -R a+rX /opt/lampp/htdocs
33
+
34
+ # Add XAMPP binaries and /usr/local/bin to PATH for all shells
35
+ ENV PATH="/opt/lampp/bin:/usr/local/bin:${PATH}"
36
+ RUN echo 'export PATH="/opt/lampp/bin:/usr/local/bin:${PATH}"' > /etc/profile.d/lampp.sh
37
+
38
+ # Provide a no-op sendmail so WP plugins don't error on mail calls
39
+ RUN printf '#!/bin/sh\ncat > /dev/null\n' > /usr/sbin/sendmail && chmod +x /usr/sbin/sendmail
40
+
41
+ # Install Node.js (includes npm)
42
+ RUN curl -fsSL https://rpm.nodesource.com/setup_24.x | bash - && \
43
+ dnf install -y nodejs && \
44
+ dnf clean all
45
+
46
+ # Install WP-CLI
47
+ RUN curl -sL https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -o /usr/local/bin/wp && \
48
+ chmod +x /usr/local/bin/wp && \
49
+ wp --info --allow-root
50
+
51
+ # Install underpost CLI
52
+ RUN npm install -g underpost
53
+
54
+ # Runtime root expected by startup/build scripts.
55
+ WORKDIR /home/dd
56
+
57
+ EXPOSE 22
58
+ EXPOSE 80
59
+ EXPOSE 443
60
+ EXPOSE 3000-3100
61
+ EXPOSE 4000-4100
62
+