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
@@ -1,23 +1,18 @@
1
- import { Badge } from './Badge.js';
2
- import { BtnIcon } from './BtnIcon.js';
3
- import { Css, darkTheme, renderCssAttr, simpleIconsRender, ThemeEvents, Themes } from './Css.js';
4
- import { buildBadgeToolTipMenuOption, Modal, renderViewTitle } from './Modal.js';
1
+ import { Css, darkTheme, simpleIconsRender, ThemeEvents, Themes } from './Css.js';
2
+ import { Modal, renderViewTitle } from './Modal.js';
5
3
  import { listenQueryPathInstance, setQueryPath, closeModalRouteChangeEvent, getProxyPath } from './Router.js';
6
- import { htmls, s, sIframe } from './VanillaJs.js';
7
-
4
+ import { s, sIframe } from './VanillaJs.js';
8
5
  // https://mintlify.com/docs/quickstart
9
-
10
- const Docs = {
11
- RenderModal: async function (type) {
12
- const docData = this.Data.find((d) => d.type === type);
6
+ class Docs {
7
+ static async RenderModal(type) {
8
+ const docData = Docs.Data.find((d) => d.type === type);
13
9
  const ModalId = `modal-docs-${docData.type}`;
14
10
  const { barConfig } = await Themes[Css.currentTheme]();
15
11
  const parentBarMode =
16
12
  Modal.Data['modal-docs'] && Modal.Data['modal-docs'].options.barMode
17
13
  ? Modal.Data['modal-docs'].options.barMode
18
14
  : undefined;
19
-
20
- await Modal.Render({
15
+ await Modal.instance({
21
16
  barConfig,
22
17
  title: renderViewTitle(docData),
23
18
  id: ModalId,
@@ -51,7 +46,15 @@ const Docs = {
51
46
  });
52
47
  const iframeEl = s(`.iframe-${ModalId}`);
53
48
  let swaggerThemeEventKey = null;
49
+ let unbindIframeLayoutSync = null;
54
50
  if (iframeEl) {
51
+ const scheduleViewLayoutSync = () => {
52
+ const sync = () => Modal.syncViewLayout();
53
+ sync();
54
+ setTimeout(sync, 0);
55
+ setTimeout(sync, 120);
56
+ setTimeout(sync, 400);
57
+ };
55
58
  iframeEl.addEventListener('load', () => {
56
59
  try {
57
60
  const iframeWin = iframeEl.contentWindow;
@@ -62,11 +65,34 @@ const Docs = {
62
65
  } catch (e) {
63
66
  // cross-origin or security restriction — safe to ignore
64
67
  }
65
- window.scrollTo(0, 0);
68
+ // Keep the parent window scroll untouched.
69
+ // These modals are fixed-position; scrolling the parent on iframe navigation
70
+ // shifts Chrome layout calculations and leaves view modals offset by 50px.
66
71
  // Bind Shift+K inside the iframe to focus the parent SearchBox (mirrors app-wide shortcut)
67
72
  try {
73
+ const iframeWin = iframeEl.contentWindow;
68
74
  const iframeDoc = iframeEl.contentDocument || iframeEl.contentWindow?.document;
69
75
  if (iframeDoc) {
76
+ if (unbindIframeLayoutSync) unbindIframeLayoutSync();
77
+ const onIframeAnchorClick = (e) => {
78
+ if (e.target && e.target.closest && e.target.closest('a')) {
79
+ scheduleViewLayoutSync();
80
+ }
81
+ };
82
+ const onIframeHashChange = () => scheduleViewLayoutSync();
83
+ const onIframePopState = () => scheduleViewLayoutSync();
84
+ iframeDoc.addEventListener('click', onIframeAnchorClick, true);
85
+ if (iframeWin) {
86
+ iframeWin.addEventListener('hashchange', onIframeHashChange);
87
+ iframeWin.addEventListener('popstate', onIframePopState);
88
+ }
89
+ unbindIframeLayoutSync = () => {
90
+ iframeDoc.removeEventListener('click', onIframeAnchorClick, true);
91
+ if (iframeWin) {
92
+ iframeWin.removeEventListener('hashchange', onIframeHashChange);
93
+ iframeWin.removeEventListener('popstate', onIframePopState);
94
+ }
95
+ };
70
96
  iframeDoc.addEventListener('keydown', (e) => {
71
97
  if (e.shiftKey && e.key.toLowerCase() === 'k') {
72
98
  e.preventDefault();
@@ -85,48 +111,30 @@ const Docs = {
85
111
  } catch (e) {
86
112
  // cross-origin or security restriction — safe to ignore
87
113
  }
114
+ scheduleViewLayoutSync();
88
115
  });
89
-
90
116
  if (type === 'src') {
91
117
  swaggerThemeEventKey = `jsdocs-iframe-${ModalId}`;
92
-
93
118
  const applyJsDocsTheme = (isDark) => {
94
119
  try {
95
- const iframeWin = iframeEl.contentWindow;
96
- if (!iframeWin) return;
97
- const theme = isDark ? 'dark' : 'light';
98
- if (typeof iframeWin.updateTheme === 'function') {
99
- // clean-jsdoc-theme exposes updateTheme() globally
100
- iframeWin.updateTheme(theme);
101
- } else {
102
- // Fallback: replicate localUpdateTheme manually
103
- const iframeDoc = iframeEl.contentDocument || iframeWin.document;
104
- if (!iframeDoc || !iframeDoc.body) return;
105
- iframeDoc.body.setAttribute('data-theme', theme);
106
- iframeDoc.body.classList.remove('dark', 'light');
107
- iframeDoc.body.classList.add(theme);
108
- const iconID = isDark ? '#light-theme-icon' : '#dark-theme-icon';
109
- const svgUses = sIframe(iframeEl, '.theme-svg-use') ? iframeDoc.querySelectorAll('.theme-svg-use') : [];
110
- svgUses.forEach((svg) => svg.setAttribute('xlink:href', iconID));
111
- iframeWin.localStorage?.setItem('theme', theme);
112
- }
120
+ const iframeDoc = iframeEl.contentDocument || iframeEl.contentWindow?.document;
121
+ if (!iframeDoc || !iframeDoc.documentElement) return;
122
+ // TypeDoc built-in theme: data-theme on <html>, stored as 'tsd-theme' in localStorage
123
+ iframeDoc.documentElement.setAttribute('data-theme', isDark ? 'dark' : 'light');
124
+ iframeEl.contentWindow?.localStorage?.setItem('tsd-theme', isDark ? 'dark' : 'light');
113
125
  } catch (e) {
114
126
  // cross-origin or security restriction — safe to ignore
115
127
  }
116
128
  };
117
-
118
129
  // Apply current theme as soon as the iframe content is ready
119
130
  iframeEl.addEventListener('load', () => applyJsDocsTheme(darkTheme));
120
-
121
131
  // Keep in sync whenever the parent page theme changes
122
132
  ThemeEvents[swaggerThemeEventKey] = () => {
123
133
  if (s(`.iframe-${ModalId}`)) applyJsDocsTheme(darkTheme);
124
134
  };
125
135
  }
126
-
127
136
  if (type === 'api') {
128
137
  swaggerThemeEventKey = `swagger-iframe-${ModalId}`;
129
-
130
138
  const applySwaggerTheme = (isDark) => {
131
139
  try {
132
140
  const iframeDoc = iframeEl.contentDocument || iframeEl.contentWindow?.document;
@@ -143,10 +151,8 @@ const Docs = {
143
151
  // cross-origin or security restriction — safe to ignore
144
152
  }
145
153
  };
146
-
147
154
  // Apply current theme as soon as the iframe content is ready
148
155
  iframeEl.addEventListener('load', () => applySwaggerTheme(darkTheme));
149
-
150
156
  // Keep in sync whenever the parent page theme changes
151
157
  ThemeEvents[swaggerThemeEventKey] = () => {
152
158
  if (s(`.iframe-${ModalId}`)) applySwaggerTheme(darkTheme);
@@ -159,7 +165,6 @@ const Docs = {
159
165
  const barHeight = barEl ? barEl.offsetHeight : Modal.headerTitleHeight;
160
166
  s(`.iframe-${ModalId}`).style.height = `${s(`.${ModalId}`).offsetHeight - barHeight}px`;
161
167
  }
162
-
163
168
  if (type.match('coverage')) {
164
169
  simpleIconsRender(`.doc-icon-coverage`);
165
170
  simpleIconsRender(`.doc-icon-coverage-link`);
@@ -167,11 +172,12 @@ const Docs = {
167
172
  };
168
173
  Modal.Data[ModalId].onObserverListener[ModalId]();
169
174
  Modal.Data[ModalId].onCloseListener[ModalId] = () => {
175
+ if (unbindIframeLayoutSync) unbindIframeLayoutSync();
170
176
  if (swaggerThemeEventKey) delete ThemeEvents[swaggerThemeEventKey];
171
177
  closeModalRouteChangeEvent({ closedId: ModalId });
172
178
  };
173
- },
174
- Data: [
179
+ }
180
+ static Data = [
175
181
  {
176
182
  type: 'repo',
177
183
  icon: html`<i class="fab fa-github"></i>`,
@@ -238,38 +244,36 @@ const Docs = {
238
244
  if (s(`.doc-icon-coverage-link`)) setTimeout(() => simpleIconsRender(`.doc-icon-coverage-link`));
239
245
  },
240
246
  },
241
- ],
242
- Tokens: {},
243
- Init: async function (options = {}) {
247
+ ];
248
+ static Tokens = {};
249
+ static async instance(options = {}) {
244
250
  const { idModal } = options;
245
- this.Tokens[idModal] = options;
251
+ Docs.Tokens[idModal] = options;
246
252
  setTimeout(() => {
247
253
  s(`.btn-docs-src`).onclick = async () => {
248
254
  setQueryPath({ path: 'docs', queryPath: 'src' });
249
- await this.RenderModal('src');
255
+ await Docs.RenderModal('src');
250
256
  };
251
257
  s(`.btn-docs-api`).onclick = async () => {
252
258
  setQueryPath({ path: 'docs', queryPath: 'api' });
253
- await this.RenderModal('api');
259
+ await Docs.RenderModal('api');
254
260
  };
255
261
  s(`.btn-docs-coverage`).onclick = async () => {
256
262
  setQueryPath({ path: 'docs', queryPath: 'coverage' });
257
- await this.RenderModal('coverage');
263
+ await Docs.RenderModal('coverage');
258
264
  };
259
-
260
265
  s(`.btn-docs-coverage-link`).onclick = () => {
261
- const docData = this.Data.find((d) => d.type === 'coverage-link');
266
+ const docData = Docs.Data.find((d) => d.type === 'coverage-link');
262
267
  location.href = docData.url();
263
268
  };
264
269
  s(`.btn-docs-repo`).onclick = () => {
265
- const docData = this.Data.find((d) => d.type === 'repo');
270
+ const docData = Docs.Data.find((d) => d.type === 'repo');
266
271
  location.href = docData.url();
267
272
  };
268
273
  s(`.btn-docs-demo`).onclick = () => {
269
- const docData = this.Data.find((d) => d.type === 'demo');
274
+ const docData = Docs.Data.find((d) => d.type === 'demo');
270
275
  location.href = docData.url();
271
276
  };
272
-
273
277
  listenQueryPathInstance({
274
278
  id: options.idModal,
275
279
  routeId: 'docs',
@@ -283,44 +287,15 @@ const Docs = {
283
287
  },
284
288
  });
285
289
  });
286
- let docMenuRender = '';
287
- for (const docData of this.Data) {
290
+ // Register theme events for items that have them (Docs-specific concern)
291
+ for (const docData of Docs.Data) {
288
292
  if (docData.themeEvent) {
289
293
  ThemeEvents[`doc-icon-${docData.type}`] = docData.themeEvent;
290
294
  setTimeout(ThemeEvents[`doc-icon-${docData.type}`]);
291
295
  }
292
- let tabHref, style, labelStyle;
293
- switch (docData.type) {
294
- case 'repo':
295
- case 'coverage-link':
296
- style = renderCssAttr({ style: { height: '45px' } });
297
- labelStyle = renderCssAttr({ style: { top: '8px', left: '9px' } });
298
- break;
299
-
300
- default:
301
- break;
302
- }
303
- tabHref = docData.url();
304
- const subMenuIcon =
305
- options.subMenuIcon && typeof options.subMenuIcon === 'function'
306
- ? options.subMenuIcon(docData.type)
307
- : docData.icon;
308
- docMenuRender += html`
309
- ${await BtnIcon.Render({
310
- class: `in wfa main-btn-menu submenu-btn btn-docs btn-docs-${docData.type}`,
311
- label: html`<span class="inl menu-btn-icon">${subMenuIcon}</span
312
- ><span class="menu-label-text menu-label-text-docs"> ${docData.text} </span>`,
313
- tabHref,
314
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption(docData.text, 'right')),
315
- useMenuBtn: true,
316
- })}
317
- `;
318
296
  }
319
- // s(`.menu-btn-container-children`).classList.remove('hide');
320
- // htmls(`.nav-path-display-${'modal-menu'}`, location.pathname);
321
-
322
- htmls('.menu-btn-container-children-docs', docMenuRender);
323
-
297
+ // Build submenu items and populate — submenu system is owned by Modal
298
+ Modal.subMenuPopulate('docs', await Modal.buildSubMenuItemsHtml('docs', Docs.Data, options));
324
299
  {
325
300
  const docsData = [
326
301
  {
@@ -360,7 +335,6 @@ const Docs = {
360
335
  description: 'Join our developer community',
361
336
  },
362
337
  ];
363
-
364
338
  return html`
365
339
  <style>
366
340
  .docs-landing {
@@ -499,7 +473,6 @@ const Docs = {
499
473
  </div>
500
474
  `;
501
475
  }
502
- },
503
- };
504
-
476
+ }
477
+ }
505
478
  export { Docs };