omegga 1.5.2 → 1.6.0

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 (95) hide show
  1. package/CHANGELOG.md +19 -2
  2. package/bin/omegga +1 -1
  3. package/dist/cli/terminal.js +46 -0
  4. package/dist/cli/terminal.js.map +1 -1
  5. package/dist/omegga/commandInjector.js +13 -6
  6. package/dist/omegga/commandInjector.js.map +1 -1
  7. package/dist/omegga/player.js +2 -2
  8. package/dist/omegga/player.js.map +1 -1
  9. package/dist/plugin.js.map +1 -1
  10. package/dist/webserver/backend/database.js +219 -7
  11. package/dist/webserver/backend/database.js.map +1 -1
  12. package/dist/webserver/backend/events.js +1 -1
  13. package/dist/webserver/backend/events.js.map +1 -1
  14. package/dist/webserver/backend/index.js +120 -2
  15. package/dist/webserver/backend/index.js.map +1 -1
  16. package/dist/webserver/backend/permissions.js +74 -0
  17. package/dist/webserver/backend/permissions.js.map +1 -0
  18. package/dist/webserver/backend/router/chat.js +9 -7
  19. package/dist/webserver/backend/router/chat.js.map +1 -1
  20. package/dist/webserver/backend/router/index.js +3 -1
  21. package/dist/webserver/backend/router/index.js.map +1 -1
  22. package/dist/webserver/backend/router/mfa.js +162 -0
  23. package/dist/webserver/backend/router/mfa.js.map +1 -0
  24. package/dist/webserver/backend/router/player.js +7 -6
  25. package/dist/webserver/backend/router/player.js.map +1 -1
  26. package/dist/webserver/backend/router/plugin.js +14 -10
  27. package/dist/webserver/backend/router/plugin.js.map +1 -1
  28. package/dist/webserver/backend/router/role.js +2 -1
  29. package/dist/webserver/backend/router/role.js.map +1 -1
  30. package/dist/webserver/backend/router/server.js +85 -71
  31. package/dist/webserver/backend/router/server.js.map +1 -1
  32. package/dist/webserver/backend/router/session.js +11 -2
  33. package/dist/webserver/backend/router/session.js.map +1 -1
  34. package/dist/webserver/backend/router/user.js +175 -13
  35. package/dist/webserver/backend/router/user.js.map +1 -1
  36. package/dist/webserver/backend/router/world.js +10 -9
  37. package/dist/webserver/backend/router/world.js.map +1 -1
  38. package/dist/webserver/backend/scopes.js +303 -0
  39. package/dist/webserver/backend/scopes.js.map +1 -0
  40. package/dist/webserver/backend/totp.js +32 -0
  41. package/dist/webserver/backend/totp.js.map +1 -0
  42. package/dist/webserver/backend/trpc.js +47 -4
  43. package/dist/webserver/backend/trpc.js.map +1 -1
  44. package/doc/permissions.md +193 -0
  45. package/package.json +7 -2
  46. package/public/app.html +932 -526
  47. package/public/assets/IconShieldCheck-Bjlm8mX2.js +2 -0
  48. package/public/assets/IconShieldCheck-Bjlm8mX2.js.map +1 -0
  49. package/public/assets/IconWorld-XmQNg6JI.js +2 -0
  50. package/public/assets/IconWorld-XmQNg6JI.js.map +1 -0
  51. package/public/assets/IconWorldPlus-CxGGv2eD.js +2 -0
  52. package/public/assets/IconWorldPlus-CxGGv2eD.js.map +1 -0
  53. package/public/assets/app-DMr_-wik.js +7 -0
  54. package/public/assets/app-DMr_-wik.js.map +1 -0
  55. package/public/assets/auth-CEYiizOt.js +2 -0
  56. package/public/assets/auth-CEYiizOt.js.map +1 -0
  57. package/public/assets/index-BDkarAkX.js +3 -0
  58. package/public/assets/index-BDkarAkX.js.map +1 -0
  59. package/public/assets/{index-2cgXLhrt.js → index-DEL-PD_8.js} +2 -2
  60. package/public/assets/{index-2cgXLhrt.js.map → index-DEL-PD_8.js.map} +1 -1
  61. package/public/assets/index-D_STNela.js +2 -0
  62. package/public/assets/index-D_STNela.js.map +1 -0
  63. package/public/assets/index-Dkh3HiBz.js +4 -0
  64. package/public/assets/index-Dkh3HiBz.js.map +1 -0
  65. package/public/assets/shared/@components-CgsSYMe6.js +2 -0
  66. package/public/assets/shared/@components-CgsSYMe6.js.map +1 -0
  67. package/public/assets/shared/@hooks-DT93N7wd.js +2 -0
  68. package/public/assets/shared/{@hooks-Ch_hJYh0.js.map → @hooks-DT93N7wd.js.map} +1 -1
  69. package/public/assets/shared/@tabler_icons-react-DrVFX3uL.js +3 -0
  70. package/public/assets/shared/{@tabler_icons-react-iQk11eD_.js.map → @tabler_icons-react-DrVFX3uL.js.map} +1 -1
  71. package/public/assets/shared/{wouter-CUC1caxu.js → wouter-CNISJ5i6.js} +2 -2
  72. package/public/assets/shared/wouter-CNISJ5i6.js.map +1 -0
  73. package/public/assets/useHasScope-BOdFktko.js +2 -0
  74. package/public/assets/useHasScope-BOdFktko.js.map +1 -0
  75. package/public/auth.html +97 -33
  76. package/templates/safe-ts/omegga.d.ts +1 -1
  77. package/public/assets/IconArrowRight-BuVxhqKX.js +0 -2
  78. package/public/assets/IconArrowRight-BuVxhqKX.js.map +0 -1
  79. package/public/assets/IconWorld-B6GK5qpx.js +0 -2
  80. package/public/assets/IconWorld-B6GK5qpx.js.map +0 -1
  81. package/public/assets/IconWorldPlus-Dkos72Ws.js +0 -2
  82. package/public/assets/IconWorldPlus-Dkos72Ws.js.map +0 -1
  83. package/public/assets/app-CLZ-5FIi.js +0 -6
  84. package/public/assets/app-CLZ-5FIi.js.map +0 -1
  85. package/public/assets/auth-6N37o421.js +0 -2
  86. package/public/assets/auth-6N37o421.js.map +0 -1
  87. package/public/assets/index-DLZ8-XzO.js +0 -4
  88. package/public/assets/index-DLZ8-XzO.js.map +0 -1
  89. package/public/assets/index-DY750sgZ.js +0 -2
  90. package/public/assets/index-DY750sgZ.js.map +0 -1
  91. package/public/assets/shared/@components-DPHARroA.js +0 -2
  92. package/public/assets/shared/@components-DPHARroA.js.map +0 -1
  93. package/public/assets/shared/@hooks-Ch_hJYh0.js +0 -2
  94. package/public/assets/shared/@tabler_icons-react-iQk11eD_.js +0 -3
  95. package/public/assets/shared/wouter-CUC1caxu.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{B as P,a as f,D,F as N,H as S,I as c,L as B,M as v,P as w,u as H}from"../index-D_STNela.js";import{C as h,o as k,i as x,I as y,k as F,f as M,N as R,n as T,P as U,l as j,R as E,g as b,S as q,j as z,d as A,U as G}from"../index-Dkh3HiBz.js";import"../jsx-runtime-BX5r4UiA.js";import"../jsx-runtime-DldvXD6N.js";import"./@nanostores_react-DJPF1Eqx.js";import"../index-CrN8I5Az.js";import"../_commonjsHelpers-CE1G-McA.js";import"../index-D0OPOe3j.js";import"../index-CJ4e7_2M.js";import"../index-CSV4ZXsq.js";import"../IconX-CvmO0bbE.js";import"../IconCheck-DOe3u7iH.js";import"../index-DEL-PD_8.js";import"../IconWorld-XmQNg6JI.js";import"../utils-Ds3ldd-U.js";import"../useHasScope-BOdFktko.js";export{P as Background,f as Button,h as ChatEntry,k as ChatTime,D as Dimmer,x as Dropdown,N as Footer,S as Header,y as InfiniteScroll,c as Input,F as ListInput,B as Loader,v as Modal,M as NavBar,R as NavHeader,T as Page,U as PageContent,j as PlayerDropdown,w as PopoutContent,E as RoleDropdown,b as Scroll,q as SideNav,z as SortIcons,A as Toggle,G as UserName,H as useConfirm};
2
+ //# sourceMappingURL=@components-CgsSYMe6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"@components-CgsSYMe6.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{g as E,u as I,f as R}from"../useHasScope-BOdFktko.js";import{j as s}from"../jsx-runtime-BX5r4UiA.js";import{r as i}from"../index-CrN8I5Az.js";import{I as n}from"../IconCheck-DOe3u7iH.js";import"./@nanostores_react-DJPF1Eqx.js";import"../index-CJ4e7_2M.js";import"../_commonjsHelpers-CE1G-McA.js";import"../index-D0OPOe3j.js";import"../index-DEL-PD_8.js";import"../index-CSV4ZXsq.js";import"../jsx-runtime-DldvXD6N.js";var m=(t=>(t.Idle="idle",t.Waiting="waiting",t.Fired="fired",t))(m||{});const b=(t,o)=>{const e=i.useRef({callback:t,clearCallback:o,firedTimeout:null,waitingTimeout:null});e.current.callback=t,e.current.clearCallback=o;const[u,r]=i.useState("idle"),a=i.useCallback(()=>{clearTimeout(e.current.waitingTimeout),clearTimeout(e.current.firedTimeout),r("waiting"),e.current.waitingTimeout=setTimeout(()=>{r("fired"),e.current.callback(),e.current.firedTimeout=setTimeout(()=>{r("idle"),e.current.clearCallback?.()},1e3)},1e3)},[]),c=i.useCallback(()=>{clearTimeout(e.current.waitingTimeout),clearTimeout(e.current.firedTimeout),r("waiting")},[]);return{fire:a,cancel:c,status:u}},j=({show:t})=>s.jsxs("span",{className:`saved-note ${t?"show":""}`,children:["SAVED ",s.jsx(n,{size:"20"})]});export{j as SavedSpan,m as SavedStatus,E as useHasAnyScope,I as useHasScope,R as useRequireScope,b as useSaved};
2
+ //# sourceMappingURL=@hooks-DT93N7wd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"@hooks-Ch_hJYh0.js","sources":["../../../frontend/src/hooks/useSaved.tsx"],"sourcesContent":["import { IconCheck } from '@tabler/icons-react';\nimport { useCallback, useRef, useState } from 'react';\n\nexport enum SavedStatus {\n Idle = 'idle',\n Waiting = 'waiting',\n Fired = 'fired',\n}\n\nexport const useSaved = (callback: () => void, clearCallback?: () => void) => {\n const refs = useRef({\n callback,\n clearCallback,\n firedTimeout: null as unknown as ReturnType<typeof setTimeout>,\n waitingTimeout: null as unknown as ReturnType<typeof setTimeout>,\n });\n refs.current.callback = callback;\n refs.current.clearCallback = clearCallback;\n const [status, setStatus] = useState(SavedStatus.Idle);\n\n const fire = useCallback(() => {\n clearTimeout(refs.current.waitingTimeout);\n clearTimeout(refs.current.firedTimeout);\n setStatus(SavedStatus.Waiting);\n\n refs.current.waitingTimeout = setTimeout(() => {\n setStatus(SavedStatus.Fired);\n\n refs.current.callback();\n refs.current.firedTimeout = setTimeout(() => {\n setStatus(SavedStatus.Idle);\n refs.current.clearCallback?.();\n }, 1000);\n }, 1000);\n }, []);\n const cancel = useCallback(() => {\n clearTimeout(refs.current.waitingTimeout);\n clearTimeout(refs.current.firedTimeout);\n setStatus(SavedStatus.Waiting);\n }, []);\n\n return { fire, cancel, status };\n};\n\nexport const SavedSpan = ({ show }: { show: boolean }) => (\n <span className={`saved-note ${show ? 'show' : ''}`}>\n SAVED <IconCheck size=\"20\" />\n </span>\n);\n"],"names":["SavedStatus","useSaved","callback","clearCallback","refs","useRef","status","setStatus","useState","fire","useCallback","cancel","SavedSpan","show","jsxs","jsx","IconCheck"],"mappings":"6OAGO,IAAKA,GAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,MAAQ,QAHEA,IAAAA,GAAA,CAAA,CAAA,EAML,MAAMC,EAAW,CAACC,EAAsBC,IAA+B,CAC5E,MAAMC,EAAOC,EAAAA,OAAO,CAClB,SAAAH,EACA,cAAAC,EACA,aAAc,KACd,eAAgB,IAAA,CACjB,EACDC,EAAK,QAAQ,SAAWF,EACxBE,EAAK,QAAQ,cAAgBD,EAC7B,KAAM,CAACG,EAAQC,CAAS,EAAIC,EAAAA,SAAS,MAAA,EAE/BC,EAAOC,EAAAA,YAAY,IAAM,CAC7B,aAAaN,EAAK,QAAQ,cAAc,EACxC,aAAaA,EAAK,QAAQ,YAAY,EACtCG,EAAU,SAAA,EAEVH,EAAK,QAAQ,eAAiB,WAAW,IAAM,CAC7CG,EAAU,OAAA,EAEVH,EAAK,QAAQ,SAAA,EACbA,EAAK,QAAQ,aAAe,WAAW,IAAM,CAC3CG,EAAU,MAAA,EACVH,EAAK,QAAQ,gBAAA,CACf,EAAG,GAAI,CACT,EAAG,GAAI,CACT,EAAG,CAAA,CAAE,EACCO,EAASD,EAAAA,YAAY,IAAM,CAC/B,aAAaN,EAAK,QAAQ,cAAc,EACxC,aAAaA,EAAK,QAAQ,YAAY,EACtCG,EAAU,SAAA,CACZ,EAAG,CAAA,CAAE,EAEL,MAAO,CAAE,KAAAE,EAAM,OAAAE,EAAQ,OAAAL,CAAA,CACzB,EAEaM,EAAY,CAAC,CAAE,KAAAC,CAAA,IAC1BC,EAAAA,KAAC,OAAA,CAAK,UAAW,cAAcD,EAAO,OAAS,EAAE,GAAI,SAAA,CAAA,SAC7CE,EAAAA,IAACC,EAAA,CAAU,KAAK,IAAA,CAAK,CAAA,CAAA,CAC7B"}
1
+ {"version":3,"file":"@hooks-DT93N7wd.js","sources":["../../../frontend/src/hooks/useSaved.tsx"],"sourcesContent":["import { IconCheck } from '@tabler/icons-react';\nimport { useCallback, useRef, useState } from 'react';\n\nexport enum SavedStatus {\n Idle = 'idle',\n Waiting = 'waiting',\n Fired = 'fired',\n}\n\nexport const useSaved = (callback: () => void, clearCallback?: () => void) => {\n const refs = useRef({\n callback,\n clearCallback,\n firedTimeout: null as unknown as ReturnType<typeof setTimeout>,\n waitingTimeout: null as unknown as ReturnType<typeof setTimeout>,\n });\n refs.current.callback = callback;\n refs.current.clearCallback = clearCallback;\n const [status, setStatus] = useState(SavedStatus.Idle);\n\n const fire = useCallback(() => {\n clearTimeout(refs.current.waitingTimeout);\n clearTimeout(refs.current.firedTimeout);\n setStatus(SavedStatus.Waiting);\n\n refs.current.waitingTimeout = setTimeout(() => {\n setStatus(SavedStatus.Fired);\n\n refs.current.callback();\n refs.current.firedTimeout = setTimeout(() => {\n setStatus(SavedStatus.Idle);\n refs.current.clearCallback?.();\n }, 1000);\n }, 1000);\n }, []);\n const cancel = useCallback(() => {\n clearTimeout(refs.current.waitingTimeout);\n clearTimeout(refs.current.firedTimeout);\n setStatus(SavedStatus.Waiting);\n }, []);\n\n return { fire, cancel, status };\n};\n\nexport const SavedSpan = ({ show }: { show: boolean }) => (\n <span className={`saved-note ${show ? 'show' : ''}`}>\n SAVED <IconCheck size=\"20\" />\n </span>\n);\n"],"names":["SavedStatus","useSaved","callback","clearCallback","refs","useRef","status","setStatus","useState","fire","useCallback","cancel","SavedSpan","show","jsxs","jsx","IconCheck"],"mappings":"yaAGO,IAAKA,GAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,MAAQ,QAHEA,IAAAA,GAAA,CAAA,CAAA,EAML,MAAMC,EAAW,CAACC,EAAsBC,IAA+B,CAC5E,MAAMC,EAAOC,EAAAA,OAAO,CAClB,SAAAH,EACA,cAAAC,EACA,aAAc,KACd,eAAgB,IAAA,CACjB,EACDC,EAAK,QAAQ,SAAWF,EACxBE,EAAK,QAAQ,cAAgBD,EAC7B,KAAM,CAACG,EAAQC,CAAS,EAAIC,EAAAA,SAAS,MAAA,EAE/BC,EAAOC,EAAAA,YAAY,IAAM,CAC7B,aAAaN,EAAK,QAAQ,cAAc,EACxC,aAAaA,EAAK,QAAQ,YAAY,EACtCG,EAAU,SAAA,EAEVH,EAAK,QAAQ,eAAiB,WAAW,IAAM,CAC7CG,EAAU,OAAA,EAEVH,EAAK,QAAQ,SAAA,EACbA,EAAK,QAAQ,aAAe,WAAW,IAAM,CAC3CG,EAAU,MAAA,EACVH,EAAK,QAAQ,gBAAA,CACf,EAAG,GAAI,CACT,EAAG,GAAI,CACT,EAAG,CAAA,CAAE,EACCO,EAASD,EAAAA,YAAY,IAAM,CAC/B,aAAaN,EAAK,QAAQ,cAAc,EACxC,aAAaA,EAAK,QAAQ,YAAY,EACtCG,EAAU,SAAA,CACZ,EAAG,CAAA,CAAE,EAEL,MAAO,CAAE,KAAAE,EAAM,OAAAE,EAAQ,OAAAL,CAAA,CACzB,EAEaM,EAAY,CAAC,CAAE,KAAAC,CAAA,IAC1BC,EAAAA,KAAC,OAAA,CAAK,UAAW,cAAcD,EAAO,OAAS,EAAE,GAAI,SAAA,CAAA,SAC7CE,EAAAA,IAACC,EAAA,CAAU,KAAK,IAAA,CAAK,CAAA,CAAA,CAC7B"}