@oktis-works/admin 0.8.1 → 0.8.3

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 (66) hide show
  1. package/dist/client/_astro/{ActivityWidget.CPGVx0TQ.js → ActivityWidget.ByKRv9-E.js} +1 -1
  2. package/dist/client/_astro/{AdminBar.D_ZbjSam.js → AdminBar.D_a0PAun.js} +1 -1
  3. package/dist/client/_astro/{AtGlanceWidget.CkVwNzps.js → AtGlanceWidget.BSG_4syZ.js} +1 -1
  4. package/dist/client/_astro/BaseLayout.3eIEVCjB.css +1 -0
  5. package/dist/client/_astro/{ContentEditor.oK1k6X8U.js → ContentEditor.CdhqgY1I.js} +1 -1
  6. package/dist/client/_astro/ContentEditor.Dk4pXUkp.js +1 -0
  7. package/dist/client/_astro/{ContentTypeWorkspace.C44tlgPI.js → ContentTypeWorkspace.DRh2tSis.js} +1 -1
  8. package/dist/client/_astro/{DashboardHome.BO_rm7Uf.js → DashboardHome.BzbaJOUx.js} +1 -1
  9. package/dist/client/_astro/DashboardLayout.CM2R6ikW.css +1 -0
  10. package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.CJ39grFK.js → DashboardLayout.astro_astro_type_script_index_0_lang.wCZbNQh3.js} +1 -1
  11. package/dist/client/_astro/{FieldGroupEditor.BeI58rW-.js → FieldGroupEditor.DJJyTLKZ.js} +1 -1
  12. package/dist/client/_astro/{FieldGroupList.ahbjUfLG.js → FieldGroupList.DtsJdk81.js} +1 -1
  13. package/dist/client/_astro/{Footer.-3jVB90b.js → Footer.C-hG1-qd.js} +1 -1
  14. package/dist/client/_astro/{GeneralSettings.BpkMdYlo.js → GeneralSettings.DsAiNE-f.js} +1 -1
  15. package/dist/client/_astro/{LogsManager.B4n86e4G.js → LogsManager.B_KlSIsF.js} +1 -1
  16. package/dist/client/_astro/{MediaLibrary.Bj4WH-vM.js → MediaLibrary.DRijq5qg.js} +1 -1
  17. package/dist/client/_astro/{MenuManager.8HZJSEQE.js → MenuManager.B73RzwWS.js} +1 -1
  18. package/dist/client/_astro/{PluginManager.chYe_Wjc.js → PluginManager.C8e99whu.js} +1 -1
  19. package/dist/client/_astro/{PostTypesManager.2yuiIqth.js → PostTypesManager.C5P_rgmV.js} +1 -1
  20. package/dist/client/_astro/{QuickDraftWidget.lYg-ohWh.js → QuickDraftWidget.W_YLMEhA.js} +1 -1
  21. package/dist/client/_astro/{ResourceHubs.Cj4GS6P8.js → ResourceHubs.CTqijjUu.js} +1 -1
  22. package/dist/client/_astro/{TaxonomiesManager.ly7pMtHQ.js → TaxonomiesManager.BR1fsS45.js} +1 -1
  23. package/dist/client/_astro/{TaxonomyTermsManager.rTnyCMmS.js → TaxonomyTermsManager.m3lSy4r2.js} +1 -1
  24. package/dist/client/_astro/{ThemeManager.4UHfA_xy.js → ThemeManager.BXeLJM2B.js} +1 -1
  25. package/dist/client/_astro/{UserCreateForm.BgcqPitU.js → UserCreateForm.B3vi6lEe.js} +1 -1
  26. package/dist/client/_astro/{UsersManager.iKH5HmkO.js → UsersManager.BsQLF4N-.js} +1 -1
  27. package/dist/client/_astro/{WebhooksManager.ljJo1uYf.js → WebhooksManager.DZOF_Lfa.js} +1 -1
  28. package/dist/client/_astro/api.s1WYKU5S.js +1 -0
  29. package/dist/client/_astro/{extensions.Ctfl4oXN.js → extensions.CPygai9z.js} +1 -1
  30. package/dist/client/_astro/{i18n.DVVsFXMk.js → i18n.Cnvng1i8.js} +1 -1
  31. package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.DzXBvx_L.js → login.astro_astro_type_script_index_0_lang.Di9uRFih.js} +1 -1
  32. package/dist/server/chunks/{BaseLayout_BZ15mIMT.mjs → BaseLayout_BPDtAJPw.mjs} +43 -1
  33. package/dist/server/chunks/{ContentEditor_DPDP8noZ.mjs → ContentEditor_BNuTAqHZ.mjs} +2 -2
  34. package/dist/server/chunks/{DashboardLayout_sxL4fjEa.mjs → DashboardLayout_BFavfYoo.mjs} +2 -2
  35. package/dist/server/chunks/{MediaLibrary_CqYE2tyV.mjs → MediaLibrary_D77icDaB.mjs} +2 -2
  36. package/dist/server/chunks/{_id__DDTEd-qC.mjs → _id__CsqYN1k6.mjs} +2 -2
  37. package/dist/server/chunks/{_slug__o87Gw0es.mjs → _slug__CZTHqtsA.mjs} +1 -1
  38. package/dist/server/chunks/{access_BGi-cN6i.mjs → access_BRlniUnE.mjs} +2 -2
  39. package/dist/server/chunks/{custom-fields_Djx-1HSg.mjs → custom-fields_BM1EQt01.mjs} +2 -2
  40. package/dist/server/chunks/{edit_CvRROV3u.mjs → edit_B6KlDVy0.mjs} +2 -2
  41. package/dist/server/chunks/{general_C6rgtOR8.mjs → general_KFWt97Mi.mjs} +2 -2
  42. package/dist/server/chunks/{i18n_B-Vk5esc.mjs → i18n_BfgvkkQ3.mjs} +22 -6
  43. package/dist/server/chunks/{index_go8fSE8G.mjs → index_CRAiOD4N.mjs} +2 -2
  44. package/dist/server/chunks/{index_C7XvJ8P3.mjs → index_DFdxuWbl.mjs} +2 -2
  45. package/dist/server/chunks/{index_BA7-fM18.mjs → index_DQh1crlk.mjs} +3 -3
  46. package/dist/server/chunks/{index_BGdnKIIl.mjs → index_DgOS7JVx.mjs} +2 -2
  47. package/dist/server/chunks/{index_547I2dgv.mjs → index_yMl_uTQU.mjs} +1 -1
  48. package/dist/server/chunks/{login_BMz4ooOT.mjs → login_DBUhIZnx.mjs} +2 -2
  49. package/dist/server/chunks/{logs_B_0dZY7S.mjs → logs_Cv0fMDh0.mjs} +2 -2
  50. package/dist/server/chunks/{menus_Bl4C_thz.mjs → menus_CrqjAipF.mjs} +2 -2
  51. package/dist/server/chunks/{new_Cb3LN88k.mjs → new_CNdKAQcj.mjs} +2 -2
  52. package/dist/server/chunks/{new_VLlyqeoo.mjs → new_CVwFBuhF.mjs} +2 -2
  53. package/dist/server/chunks/{plugins_CSRR8MZ0.mjs → plugins_CPJKdFNs.mjs} +2 -2
  54. package/dist/server/chunks/{post-types_CYvX6Qcd.mjs → post-types_Bb5uWNNP.mjs} +2 -2
  55. package/dist/server/chunks/{taxonomies_t0cAxES3.mjs → taxonomies_C76ZtgDK.mjs} +2 -2
  56. package/dist/server/chunks/{taxonomy_DRFAlgBC.mjs → taxonomy_4XOKMRnj.mjs} +2 -2
  57. package/dist/server/chunks/{themes_FZ0wN4AI.mjs → themes_DLZSZzHs.mjs} +2 -2
  58. package/dist/server/chunks/{upload_JZuEWv3a.mjs → upload_UgPSlDPN.mjs} +2 -2
  59. package/dist/server/chunks/{webhooks_Bqh1Fnny.mjs → webhooks_QdYmR_UZ.mjs} +2 -2
  60. package/dist/server/entry.mjs +24 -24
  61. package/dist/server/virtual_astro_middleware.mjs +73 -3
  62. package/package.json +1 -1
  63. package/dist/client/_astro/BaseLayout.BlcwaDnT.css +0 -1
  64. package/dist/client/_astro/ContentEditor.D2Pzxrmx.js +0 -1
  65. package/dist/client/_astro/DashboardLayout.CXLWCMPI.css +0 -1
  66. package/dist/client/_astro/api.CGA0D2A2.js +0 -1
@@ -1 +0,0 @@
1
- function e(){if(typeof document<`u`){let e=document.querySelector(`meta[name="okcms-api-url"]`)?.getAttribute(`content`)?.trim();if(e)return e.startsWith(`/`),e.replace(/\/$/,``)}return``}var t=e(),n=new class{baseUrl;csrfToken=null;refreshPromise=null;refreshOwner=typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():Math.random().toString(36).slice(2);refreshLockKey=`okcms:auth:refresh-lock`;constructor(e=t){this.baseUrl=e}mediaUrl(e){if(/^(?:https?:)?\/\//i.test(e)||!this.baseUrl)return e;try{return new URL(e,`${this.baseUrl.replace(/\/$/,``)}/`).toString()}catch{return e}}async init(){try{await this.ensureCsrfToken()}catch{}}async isLoggedIn(){try{return await this.request(`GET`,`/api/v1/auth/me`),!0}catch{return!1}}async getTenantId(){try{return(await this.request(`GET`,`/api/v1/auth/me`)).tenantId??null}catch{return null}}async getUserLocale(){try{return(await this.request(`GET`,`/api/v1/users/me/locale`)).locale??`pt-BR`}catch{return`pt-BR`}}async setUserLocale(e){await this.request(`PUT`,`/api/v1/users/me/locale`,{locale:e})}async getMe(){return this.request(`GET`,`/api/v1/auth/me`)}async getAuditLogs(e=8){return this.request(`GET`,`/api/v1/audit-logs?limit=${e}`)}async getAuditLogConfig(){return this.request(`GET`,`/api/v1/audit-logs/config`)}async updateAuditLogConfig(e){return this.request(`PUT`,`/api/v1/audit-logs/config`,{retentionDays:e})}async listAuditLogs(e){let t=new URLSearchParams;return e?.limit&&t.set(`limit`,String(e.limit)),e?.action&&t.set(`action`,e.action),e?.resourceType&&t.set(`resourceType`,e.resourceType),this.request(`GET`,`/api/v1/audit-logs?${t.toString()}`)}async login(e){return await this.ensureCsrfToken(),await this.request(`POST`,`/api/v1/auth/login`,e)}async logout(){await this.request(`POST`,`/api/v1/auth/logout`,{}),this.csrfToken=null}async refreshTokens(){return this.refreshPromise||=this.refreshWithCrossTabLock().finally(()=>{this.refreshPromise=null}),this.refreshPromise}async refreshWithCrossTabLock(){if(typeof window>`u`||typeof localStorage>`u`){await this.request(`POST`,`/api/v1/auth/refresh`,{},void 0,{skipRefresh:!0});return}let e=Date.now(),t;try{t=JSON.parse(localStorage.getItem(this.refreshLockKey)??`null`)}catch{await this.request(`POST`,`/api/v1/auth/refresh`,{},void 0,{skipRefresh:!0});return}if(t?.owner&&t.owner!==this.refreshOwner&&Number(t.expiresAt)>e){await this.waitForOtherTabRefresh(Number(t.expiresAt));return}try{localStorage.setItem(this.refreshLockKey,JSON.stringify({owner:this.refreshOwner,expiresAt:e+1e4}))}catch{await this.request(`POST`,`/api/v1/auth/refresh`,{},void 0,{skipRefresh:!0});return}try{await this.request(`POST`,`/api/v1/auth/refresh`,{},void 0,{skipRefresh:!0})}finally{try{JSON.parse(localStorage.getItem(this.refreshLockKey)??`null`)?.owner===this.refreshOwner&&localStorage.removeItem(this.refreshLockKey)}catch{}}}async waitForOtherTabRefresh(e){for(;Date.now()<Math.min(e,Date.now()+1e4);){await new Promise(e=>setTimeout(e,100));try{let e=JSON.parse(localStorage.getItem(this.refreshLockKey)??`null`);if(!e||Number(e.expiresAt)<=Date.now())return}catch{return}}}async request(e,t,n,r,i){let a=`${this.baseUrl}${t}`,o=async()=>{let t={"Content-Type":`application/json`,...r};if(![`GET`,`HEAD`,`OPTIONS`].includes(e.toUpperCase())){let e=await this.ensureCsrfToken();e&&(t[`x-csrf-token`]=e)}return fetch(a,{method:e,headers:t,credentials:`include`,body:n?JSON.stringify(n):void 0})},s=await o();if(s.status===401&&!i?.skipRefresh&&!t.includes(`/auth/refresh`)&&!t.includes(`/auth/logout`)&&(await this.refreshTokens(),s=await o()),s.status===403&&!i?.skipCsrfRecovery){let e=``;try{e=(await(typeof s.clone==`function`?s.clone():s).json()).error??``}catch{}e===`CSRF_TOKEN_INVALID`&&(await this.ensureCsrfToken(!0),s=await o())}if(!s.ok){let e=await s.json().catch(()=>({error:`Request failed`}));throw Error(e.error??`Request failed: ${s.status}`)}return s.json()}async requestRaw(e,t,n,r,i){let a=`${this.baseUrl}${t}`,o=async()=>{let t={"Content-Type":`application/json`,...r};if(![`GET`,`HEAD`,`OPTIONS`].includes(e.toUpperCase())){let e=await this.ensureCsrfToken();e&&(t[`x-csrf-token`]=e)}return fetch(a,{method:e,headers:t,credentials:`include`,body:n?JSON.stringify(n):void 0})},s=await o();if(s.status===401&&!i?.skipRefresh&&!t.includes(`/auth/refresh`)&&!t.includes(`/auth/logout`)&&(await this.refreshTokens(),s=await o()),s.status===403&&!i?.skipCsrfRecovery){let e=``;try{e=(await(typeof s.clone==`function`?s.clone():s).json()).error??``}catch{}e===`CSRF_TOKEN_INVALID`&&(await this.ensureCsrfToken(!0),s=await o())}return s}async ensureCsrfToken(e=!1){let t=this.readCsrfCookie();if(!e&&t)return this.csrfToken=t,t;if(!e&&this.csrfToken)return this.csrfToken;try{let e=await fetch(`${this.baseUrl}/api/v1/auth/csrf`,{credentials:`include`,headers:{Accept:`application/json`}});if(!e.ok)return this.csrfToken;let t=await e.json();this.csrfToken=t.csrfToken??this.readCsrfCookie()}catch{}return this.csrfToken}readCsrfCookie(){if(typeof document<`u`){let e=document.cookie.match(/(?:^|;\s*)csrf_token=([^;]+)/);if(e?.[1])return e[1]}return this.csrfToken}async getContent(e){let t=new URLSearchParams;return e?.page&&t.set(`page`,String(e.page)),e?.limit&&t.set(`limit`,String(e.limit)),e?.type&&t.set(`type`,e.type),e?.status&&t.set(`status`,e.status),e?.search&&t.set(`search`,e.search),this.request(`GET`,`/api/v1/content?${t.toString()}`)}async getContentById(e){return this.request(`GET`,`/api/v1/content/${e}`)}async getSingletonContent(e){let t=await this.request(`GET`,`/api/v1/content/singleton/${encodeURIComponent(e)}`);return`content`in t?t.content:t}async createContent(e){return this.request(`POST`,`/api/v1/content`,e)}async updateContent(e,t){return this.request(`PUT`,`/api/v1/content/${e}`,t)}async deleteContent(e){await this.request(`DELETE`,`/api/v1/content/${e}`)}async publishContent(e){let t=await this.request(`POST`,`/api/v1/content/${e}/publish`);return`content`in t?t.content:t}async unpublishContent(e){let t=await this.request(`POST`,`/api/v1/content/${e}/unpublish`);return`content`in t?t.content:t}async publishToggle(e,t){return t?this.unpublishContent(e):this.publishContent(e)}async getContentTypes(){return this.request(`GET`,`/api/v1/content-types`)}async createContentType(e){return this.request(`POST`,`/api/v1/content-types`,e)}async updateContentType(e,t){return this.request(`PUT`,`/api/v1/content-types/${e}`,t)}async deleteContentType(e){await this.request(`DELETE`,`/api/v1/content-types/${e}`)}async getTaxonomies(){return this.request(`GET`,`/api/v1/taxonomies`)}async createTaxonomy(e){return this.request(`POST`,`/api/v1/taxonomies`,e)}async attachTaxonomy(e,t){await this.request(`POST`,`/api/v1/taxonomies/${e}/attach`,{contentType:t})}async detachTaxonomy(e,t){await this.request(`POST`,`/api/v1/taxonomies/${e}/detach`,{contentType:t})}async deleteTaxonomy(e){await this.request(`DELETE`,`/api/v1/taxonomies/${e}`)}async getTaxonomyTerms(e){return this.request(`GET`,`/api/v1/taxonomies/${encodeURIComponent(e)}/terms`)}async createTaxonomyTerm(e,t){return this.request(`POST`,`/api/v1/taxonomies/${encodeURIComponent(e)}/terms`,t)}async updateTaxonomyTerm(e,t,n){return this.request(`PUT`,`/api/v1/taxonomies/${encodeURIComponent(e)}/terms/${t}`,n)}async deleteTaxonomyTerm(e,t){await this.request(`DELETE`,`/api/v1/taxonomies/${encodeURIComponent(e)}/terms/${t}`)}async getCategories(){return this.request(`GET`,`/api/v1/categories`)}async createCategory(e){return this.request(`POST`,`/api/v1/categories`,e)}async updateCategory(e,t){return this.request(`PUT`,`/api/v1/categories/${e}`,t)}async deleteCategory(e){await this.request(`DELETE`,`/api/v1/categories/${e}`)}async getTags(){return this.request(`GET`,`/api/v1/tags`)}async createTag(e){return this.request(`POST`,`/api/v1/tags`,e)}async updateTag(e,t){return this.request(`PUT`,`/api/v1/tags/${e}`,t)}async deleteTag(e){await this.request(`DELETE`,`/api/v1/tags/${e}`)}async getMenus(){return this.request(`GET`,`/api/v1/menus`)}async createMenu(e){return this.request(`POST`,`/api/v1/menus`,e)}async updateMenu(e,t){return this.request(`PUT`,`/api/v1/menus/${e}`,t)}async deleteMenu(e){await this.request(`DELETE`,`/api/v1/menus/${e}`)}async getFieldGroups(e){if(e?.type){let t=new URLSearchParams({type:e.type});for(let[n,r]of Object.entries(e))n!==`type`&&r&&t.set(n,r);return this.request(`GET`,`/api/v1/field-groups?${t.toString()}`)}return this.request(`GET`,`/api/v1/field-groups`)}async getFieldGroup(e){return this.request(`GET`,`/api/v1/field-groups/${e}`)}async exportFieldGroup(e){let t=await this.requestRaw(`GET`,`/api/v1/field-groups/${e}/export`);if(!t.ok)throw Error(await t.text());return t.blob()}async importFieldGroups(e){return this.request(`POST`,`/api/v1/field-groups/import`,e)}async createFieldGroup(e){return this.request(`POST`,`/api/v1/field-groups`,e)}async updateFieldGroup(e,t){return this.request(`PUT`,`/api/v1/field-groups/${e}`,t)}async deleteFieldGroup(e){await this.request(`DELETE`,`/api/v1/field-groups/${e}`)}async getFieldTypes(e){let t=e?`?category=${encodeURIComponent(e)}`:``;return this.request(`GET`,`/api/v1/field-types${t}`)}async getWebhooks(){return this.request(`GET`,`/api/v1/webhooks`)}async getWebhookEvents(){return(await this.request(`GET`,`/api/v1/webhooks/events`)).data}async createWebhook(e){return this.request(`POST`,`/api/v1/webhooks`,e)}async updateWebhook(e,t){return this.request(`PUT`,`/api/v1/webhooks/${e}`,t)}async deleteWebhook(e){await this.request(`DELETE`,`/api/v1/webhooks/${e}`)}async listMedia(e){let t=new URLSearchParams;return e?.page&&t.set(`page`,String(e.page)),e?.limit&&t.set(`limit`,String(e.limit)),e?.mimeType&&t.set(`mimeType`,e.mimeType),e?.search&&t.set(`search`,e.search),this.request(`GET`,`/api/v1/media?${t.toString()}`)}async getMedia(e){return this.request(`GET`,`/api/v1/media/${e}`)}async uploadMedia(e,t){let n=new FormData;n.append(`file`,e),t?.alt&&n.append(`alt`,t.alt),t?.caption&&n.append(`caption`,t.caption);let r=`${this.baseUrl}/api/v1/media/upload`,i=async()=>{let e=await this.ensureCsrfToken(),t={};return e&&(t[`x-csrf-token`]=e),fetch(r,{method:`POST`,headers:t,credentials:`include`,body:n})},a=await i();if(a.status===401&&(await this.refreshTokens(),a=await i()),a.status===403){let e=``;try{e=(await a.clone().json()).error??``}catch{}e===`CSRF_TOKEN_INVALID`&&(await this.ensureCsrfToken(!0),a=await i())}if(!a.ok){let e=await a.json().catch(()=>({error:`Upload failed: ${a.status}`}));throw Error(e.error??`Upload failed: ${a.status}`)}return a.json()}async updateMedia(e,t){return this.request(`PUT`,`/api/v1/media/${e}`,t)}async replaceMediaFile(e,t){let n=new FormData;n.append(`file`,t);let r=`${this.baseUrl}/api/v1/media/${e}/file`,i=async()=>{let e=await this.ensureCsrfToken(),t={};return e&&(t[`x-csrf-token`]=e),fetch(r,{method:`PUT`,headers:t,credentials:`include`,body:n})},a=await i();if(a.status===401&&(await this.refreshTokens(),a=await i()),a.status===403&&(await a.clone().json().catch(()=>({}))).error===`CSRF_TOKEN_INVALID`&&(await this.ensureCsrfToken(!0),a=await i()),!a.ok){let e=await a.json().catch(()=>({error:`Replace failed: ${a.status}`}));throw Error(e.error??`Replace failed: ${a.status}`)}return a.json()}async deleteMedia(e){await this.request(`DELETE`,`/api/v1/media/${e}`)}async listUsers(e){let t=new URLSearchParams;return e?.page&&t.set(`page`,String(e.page)),e?.limit&&t.set(`limit`,String(e.limit)),e?.search&&t.set(`search`,e.search),e?.status&&t.set(`status`,e.status),this.request(`GET`,`/api/v1/users?${t.toString()}`)}async getUser(e){return this.request(`GET`,`/api/v1/users/${e}`)}async createUser(e){return this.request(`POST`,`/api/v1/users`,e)}async updateUser(e,t){return this.request(`PUT`,`/api/v1/users/${e}`,t)}async deleteUser(e){await this.request(`DELETE`,`/api/v1/users/${e}`)}async setUserPassword(e,t){await this.request(`PUT`,`/api/v1/users/${e}/password`,{password:t})}async assignRole(e,t){return this.request(`POST`,`/api/v1/users/${e}/roles`,{roleId:t})}async removeRole(e,t){return this.request(`DELETE`,`/api/v1/users/${e}/roles/${t}`)}async listRoles(){return this.request(`GET`,`/api/v1/roles`)}async createRole(e){return this.request(`POST`,`/api/v1/roles`,e)}async updateRole(e,t){return this.request(`PUT`,`/api/v1/roles/${e}`,t)}async deleteRole(e){await this.request(`DELETE`,`/api/v1/roles/${e}`)}async listTenants(e){let t=new URLSearchParams;return e?.page&&t.set(`page`,String(e.page)),e?.limit&&t.set(`limit`,String(e.limit)),e?.search&&t.set(`search`,e.search),this.request(`GET`,`/api/v1/tenants?${t.toString()}`)}async createTenant(e){return this.request(`POST`,`/api/v1/tenants`,e)}async updateTenant(e,t){return this.request(`PUT`,`/api/v1/tenants/${e}`,t)}async deleteTenant(e){await this.request(`DELETE`,`/api/v1/tenants/${e}`)}async getSettings(e){let t=e?`?group=${encodeURIComponent(e)}`:``;return this.request(`GET`,`/api/v1/settings${t}`)}async updateSettings(e){await this.request(`PUT`,`/api/v1/settings`,e)}async healthCheck(){return this.request(`GET`,`/health`)}async getThemes(){return(await this.request(`GET`,`/api/v1/themes`)).map(e=>({id:String(e.id??``),name:String(e.name??``),version:e.version?String(e.version):void 0,status:String(e.status??`INSTALLED`),manifest:e.manifest??null}))}async activateTheme(e){return this.request(`POST`,`/api/v1/themes/${e}/activate`)}async deactivateTheme(e){return this.request(`POST`,`/api/v1/themes/${e}/deactivate`)}async installTheme(e){return this.request(`POST`,`/api/v1/themes/install`,e)}async uninstallTheme(e){await this.request(`DELETE`,`/api/v1/themes/${e}`)}async getPlugins(){return(await this.request(`GET`,`/api/v1/plugins`)).map(e=>({id:String(e.id??``),name:String(e.name??``),version:String(e.version??``),status:String(e.status??`INSTALLED`),manifest:e.manifest??null}))}async activatePlugin(e){return this.request(`POST`,`/api/v1/plugins/${e}/activate`)}async deactivatePlugin(e){return this.request(`POST`,`/api/v1/plugins/${e}/deactivate`)}async installPlugin(e){return this.request(`POST`,`/api/v1/plugins/install`,e)}async uninstallPlugin(e){await this.request(`DELETE`,`/api/v1/plugins/${e}`)}};export{n as t};