@semiont/cli 0.5.1 → 0.5.2

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 (102) hide show
  1. package/dist/cli.mjs +234 -134
  2. package/dist/frontend/dist/assets/{CookiePreferences-D5wgmVC7.js → CookiePreferences-5feiOAX4.js} +2 -2
  3. package/dist/frontend/dist/assets/{CookiePreferences-D5wgmVC7.js.map → CookiePreferences-5feiOAX4.js.map} +1 -1
  4. package/dist/frontend/dist/assets/{PdfAnnotationCanvas.client-5QESNO5H-B7UjwjIX.js → PdfAnnotationCanvas.client-5QESNO5H-Cxm4Es_X.js} +2 -2
  5. package/dist/frontend/dist/assets/{PdfAnnotationCanvas.client-5QESNO5H-B7UjwjIX.js.map → PdfAnnotationCanvas.client-5QESNO5H-Cxm4Es_X.js.map} +1 -1
  6. package/dist/frontend/dist/assets/ToolbarPanels-D5L18Wxk.js +2 -0
  7. package/dist/frontend/dist/assets/ToolbarPanels-D5L18Wxk.js.map +1 -0
  8. package/dist/frontend/dist/assets/client-BmABw25x.js +2 -0
  9. package/dist/frontend/dist/assets/client-BmABw25x.js.map +1 -0
  10. package/dist/frontend/dist/assets/client-CTyYgbIC.js +2 -0
  11. package/dist/frontend/dist/assets/client-CTyYgbIC.js.map +1 -0
  12. package/dist/frontend/dist/assets/client-Cjf1Te8y.js +2 -0
  13. package/dist/frontend/dist/assets/client-Cjf1Te8y.js.map +1 -0
  14. package/dist/frontend/dist/assets/client-D7w_vlsg.js +2 -0
  15. package/dist/frontend/dist/assets/client-D7w_vlsg.js.map +1 -0
  16. package/dist/frontend/dist/assets/index-BVOR3arc.js +169 -0
  17. package/dist/frontend/dist/assets/index-BVOR3arc.js.map +1 -0
  18. package/dist/frontend/dist/assets/{layout-BNfHKiGS.js → layout-B1HJjFMW.js} +2 -2
  19. package/dist/frontend/dist/assets/layout-B1HJjFMW.js.map +1 -0
  20. package/dist/frontend/dist/assets/layout-B7mIcfJU.js +2 -0
  21. package/dist/frontend/dist/assets/layout-B7mIcfJU.js.map +1 -0
  22. package/dist/frontend/dist/assets/{layout-G6HeeKIH.js → layout-BK6OF3Hx.js} +2 -2
  23. package/dist/frontend/dist/assets/{layout-G6HeeKIH.js.map → layout-BK6OF3Hx.js.map} +1 -1
  24. package/dist/frontend/dist/assets/{layout-Delbhxmy.js → layout-Cw-T4GPy.js} +2 -2
  25. package/dist/frontend/dist/assets/{layout-Delbhxmy.js.map → layout-Cw-T4GPy.js.map} +1 -1
  26. package/dist/frontend/dist/assets/{not-found-CtwZrTVU.js → not-found-uRBdv-bF.js} +2 -2
  27. package/dist/frontend/dist/assets/{not-found-CtwZrTVU.js.map → not-found-uRBdv-bF.js.map} +1 -1
  28. package/dist/frontend/dist/assets/{page-DSW3JQF2.js → page-5wC1as95.js} +2 -2
  29. package/dist/frontend/dist/assets/{page-DSW3JQF2.js.map → page-5wC1as95.js.map} +1 -1
  30. package/dist/frontend/dist/assets/{page-VPeYeXi6.js → page-B6XEk2Ue.js} +2 -2
  31. package/dist/frontend/dist/assets/{page-VPeYeXi6.js.map → page-B6XEk2Ue.js.map} +1 -1
  32. package/dist/frontend/dist/assets/{page-CkiQdVlI.js → page-BLt9SJto.js} +2 -2
  33. package/dist/frontend/dist/assets/page-BLt9SJto.js.map +1 -0
  34. package/dist/frontend/dist/assets/{page-DBlue8Rh.js → page-BNaAGnc3.js} +2 -2
  35. package/dist/frontend/dist/assets/{page-DBlue8Rh.js.map → page-BNaAGnc3.js.map} +1 -1
  36. package/dist/frontend/dist/assets/{page-CjI_QXry.js → page-Bcljtfsa.js} +2 -2
  37. package/dist/frontend/dist/assets/{page-CjI_QXry.js.map → page-Bcljtfsa.js.map} +1 -1
  38. package/dist/frontend/dist/assets/{page-DBYS9qIU.js → page-Bf4MMijQ.js} +2 -2
  39. package/dist/frontend/dist/assets/{page-DBYS9qIU.js.map → page-Bf4MMijQ.js.map} +1 -1
  40. package/dist/frontend/dist/assets/page-BlU7QK_-.js +2 -0
  41. package/dist/frontend/dist/assets/page-BlU7QK_-.js.map +1 -0
  42. package/dist/frontend/dist/assets/{page-CI8oLbhf.js → page-Bnawjb1Y.js} +2 -2
  43. package/dist/frontend/dist/assets/{page-CI8oLbhf.js.map → page-Bnawjb1Y.js.map} +1 -1
  44. package/dist/frontend/dist/assets/page-C7vfVcap.js +2 -0
  45. package/dist/frontend/dist/assets/{page-DU909Np3.js.map → page-C7vfVcap.js.map} +1 -1
  46. package/dist/frontend/dist/assets/page-CBL0MuAo.js +2 -0
  47. package/dist/frontend/dist/assets/page-CBL0MuAo.js.map +1 -0
  48. package/dist/frontend/dist/assets/page-CKCKmPQO.js +2 -0
  49. package/dist/frontend/dist/assets/page-CKCKmPQO.js.map +1 -0
  50. package/dist/frontend/dist/assets/page-CdqGKYBH.js +2 -0
  51. package/dist/frontend/dist/assets/page-CdqGKYBH.js.map +1 -0
  52. package/dist/frontend/dist/assets/{page-Bb5SB6_Q.js → page-CfMLSllg.js} +2 -2
  53. package/dist/frontend/dist/assets/{page-Bb5SB6_Q.js.map → page-CfMLSllg.js.map} +1 -1
  54. package/dist/frontend/dist/assets/{page-C_fIdKsk.js → page-D7w7NNd7.js} +2 -2
  55. package/dist/frontend/dist/assets/{page-C_fIdKsk.js.map → page-D7w7NNd7.js.map} +1 -1
  56. package/dist/frontend/dist/assets/{page-kVSb0jfm.js → page-DAH06BM4.js} +2 -2
  57. package/dist/frontend/dist/assets/{page-kVSb0jfm.js.map → page-DAH06BM4.js.map} +1 -1
  58. package/dist/frontend/dist/assets/page-Dgqi9Orl.js +2 -0
  59. package/dist/frontend/dist/assets/page-Dgqi9Orl.js.map +1 -0
  60. package/dist/frontend/dist/assets/{page-RgfG8Fre.js → page-SrDV7XYv.js} +2 -2
  61. package/dist/frontend/dist/assets/{page-RgfG8Fre.js.map → page-SrDV7XYv.js.map} +1 -1
  62. package/dist/frontend/dist/assets/{page-D_6K1M4j.js → page-wxqWVnqc.js} +2 -2
  63. package/dist/frontend/dist/assets/page-wxqWVnqc.js.map +1 -0
  64. package/dist/frontend/dist/assets/{privacy-NaGU1hj4.js → privacy-Kk_oWnpO.js} +2 -2
  65. package/dist/frontend/dist/assets/{privacy-NaGU1hj4.js.map → privacy-Kk_oWnpO.js.map} +1 -1
  66. package/dist/frontend/dist/assets/{routing-o1npPvOW.js → routing-CGghUc0N.js} +2 -2
  67. package/dist/frontend/dist/assets/{routing-o1npPvOW.js.map → routing-CGghUc0N.js.map} +1 -1
  68. package/dist/frontend/dist/assets/{routing-BybXhU8X.js → routing-CKNCPdYO.js} +2 -2
  69. package/dist/frontend/dist/assets/{routing-BybXhU8X.js.map → routing-CKNCPdYO.js.map} +1 -1
  70. package/dist/frontend/dist/assets/{web-DAOI6EsG.js → web-DdXPBk3h.js} +2 -2
  71. package/dist/frontend/dist/assets/{web-DAOI6EsG.js.map → web-DdXPBk3h.js.map} +1 -1
  72. package/dist/frontend/dist/index.html +1 -1
  73. package/dist/frontend/package.json +1 -1
  74. package/package.json +8 -8
  75. package/dist/frontend/dist/assets/ToolbarPanels-CjWlSOUC.js +0 -2
  76. package/dist/frontend/dist/assets/ToolbarPanels-CjWlSOUC.js.map +0 -1
  77. package/dist/frontend/dist/assets/client-B-MtBLP9.js +0 -2
  78. package/dist/frontend/dist/assets/client-B-MtBLP9.js.map +0 -1
  79. package/dist/frontend/dist/assets/client-DX1ckM1P.js +0 -2
  80. package/dist/frontend/dist/assets/client-DX1ckM1P.js.map +0 -1
  81. package/dist/frontend/dist/assets/client-Dh9ak8Fa.js +0 -2
  82. package/dist/frontend/dist/assets/client-Dh9ak8Fa.js.map +0 -1
  83. package/dist/frontend/dist/assets/client-DsP3tx7D.js +0 -2
  84. package/dist/frontend/dist/assets/client-DsP3tx7D.js.map +0 -1
  85. package/dist/frontend/dist/assets/index-DoPpOINE.js +0 -169
  86. package/dist/frontend/dist/assets/index-DoPpOINE.js.map +0 -1
  87. package/dist/frontend/dist/assets/layout-BNfHKiGS.js.map +0 -1
  88. package/dist/frontend/dist/assets/layout-CMpievJ_.js +0 -2
  89. package/dist/frontend/dist/assets/layout-CMpievJ_.js.map +0 -1
  90. package/dist/frontend/dist/assets/page-7nyyO6Jy.js +0 -2
  91. package/dist/frontend/dist/assets/page-7nyyO6Jy.js.map +0 -1
  92. package/dist/frontend/dist/assets/page-BEhfXGas.js +0 -2
  93. package/dist/frontend/dist/assets/page-BEhfXGas.js.map +0 -1
  94. package/dist/frontend/dist/assets/page-CV0h_zZE.js +0 -2
  95. package/dist/frontend/dist/assets/page-CV0h_zZE.js.map +0 -1
  96. package/dist/frontend/dist/assets/page-CkiQdVlI.js.map +0 -1
  97. package/dist/frontend/dist/assets/page-D5qkLwSn.js +0 -2
  98. package/dist/frontend/dist/assets/page-D5qkLwSn.js.map +0 -1
  99. package/dist/frontend/dist/assets/page-DU909Np3.js +0 -2
  100. package/dist/frontend/dist/assets/page-DV9q0oju.js +0 -2
  101. package/dist/frontend/dist/assets/page-DV9q0oju.js.map +0 -1
  102. package/dist/frontend/dist/assets/page-D_6K1M4j.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-BmABw25x.js","sources":["../../src/app/[locale]/admin/exchange/client.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n Toolbar,\n useTheme,\n useShellStateUnit,\n useObservable,\n useLineNumbers,\n useEventSubscriptions,\n useSemiont,\n useStateUnit,\n AdminExchangePage,\n} from '@semiont/react-ui';\nimport { createExchangeStateUnit } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\n\nexport default function AdminExchangeClient() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AdminExchange.${k}`, p as any) as string;\n const client = useObservable(useSemiont().activeSession$)?.client;\n\n const browseStateUnit = useShellStateUnit();\n const stateUnit = useStateUnit(() => createExchangeStateUnit(\n browseStateUnit,\n () => client!.admin!.backup(),\n (file) => client!.admin!.restore(file),\n ));\n\n const activePanel = useObservable(stateUnit.browse.activePanel$) ?? null;\n const selectedFile = useObservable(stateUnit.selectedFile$) ?? null;\n const preview = useObservable(stateUnit.preview$) ?? null;\n const isExporting = useObservable(stateUnit.isExporting$) ?? false;\n const isImporting = useObservable(stateUnit.isImporting$) ?? false;\n const importPhase = useObservable(stateUnit.importPhase$) ?? null;\n const importMessage = useObservable(stateUnit.importMessage$);\n const importResult = useObservable(stateUnit.importResult$);\n\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n useEventSubscriptions({\n 'settings:theme-changed': useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => setTheme(theme), [setTheme]),\n 'settings:line-numbers-toggled': useCallback(() => toggleLineNumbers(), [toggleLineNumbers]),\n });\n\n const handleExport = useCallback(async () => {\n const { blob, filename } = await stateUnit.doExport();\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = filename;\n a.click();\n URL.revokeObjectURL(url);\n }, [stateUnit]);\n\n const handleImport = useCallback(async () => {\n await stateUnit.doImport();\n }, [stateUnit]);\n\n return (\n <AdminExchangePage\n onExport={handleExport}\n isExporting={isExporting}\n onFileSelected={stateUnit.selectFile}\n onImport={handleImport}\n onCancelImport={stateUnit.cancelImport}\n selectedFile={selectedFile}\n preview={preview}\n isImporting={isImporting}\n importPhase={importPhase}\n importMessage={importMessage}\n importResult={importResult}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n export: {\n title: t('exportTitle'),\n description: t('exportDescription'),\n exportButton: t('exportButton'),\n exporting: t('exporting'),\n },\n import: {\n title: t('importTitle'),\n description: t('importDescription'),\n dropzoneLabel: t('dropzoneLabel'),\n dropzoneActive: t('dropzoneActive'),\n detectedFormat: t('detectedFormat'),\n statsPreview: t('statsPreview'),\n importButton: t('importButton'),\n importing: t('importing'),\n importConfirmTitle: t('importConfirmTitle'),\n importConfirmMessage: t('importConfirmMessage'),\n confirmImport: t('confirmImport'),\n cancelImport: t('cancelImport'),\n },\n progress: {\n phaseStarted: t('phaseStarted'),\n phaseEntityTypes: t('phaseEntityTypes'),\n phaseResources: t('phaseResources'),\n phaseAnnotations: t('phaseAnnotations'),\n phaseComplete: t('phaseComplete'),\n phaseError: t('phaseError'),\n hashChainValid: t('hashChainValid'),\n hashChainInvalid: t('hashChainInvalid'),\n streams: t('streams'),\n events: t('events'),\n blobs: t('blobs'),\n },\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["AdminExchangeClient","_t","useTranslation","t","k","p","client","_a","useObservable","useSemiont","browseStateUnit","useShellStateUnit","stateUnit","useStateUnit","createExchangeStateUnit","file","activePanel","selectedFile","preview","isExporting","isImporting","importPhase","importMessage","importResult","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","useEventSubscriptions","useCallback","handleExport","blob","filename","url","handleImport","jsx","AdminExchangePage","ToolbarPanels","Toolbar"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{c as a,u as f,g as $,e as y,h as D,i as E,k as N,j as P,t as j,b as w,T as F,v as R}from"./index-BVOR3arc.js";import{r as n}from"./vendor-DJo4KD8w.js";import{T as O}from"./ToolbarPanels-D5L18Wxk.js";import{u as _}from"./i18n-BbpF47i1.js";import"./routing-CGghUc0N.js";import"./XMarkIcon-KMKD47CF.js";function J(){var i;const{t:u}=_(),e=(t,o)=>u(`AdminUsers.${t}`,o),c=(i=a(f().activeSession$))==null?void 0:i.client,d=$(),s=y(()=>R(c,d)),m=a(s.browse.activePanel$)??null,U=a(s.users$)??[],g=a(s.stats$)??null,h=a(s.usersLoading$)??!0,b=a(s.statsLoading$)??!0,{theme:p,setTheme:r}=D(),{showLineNumbers:v,toggleLineNumbers:l}=E(),C=n.useCallback(({theme:t})=>{r(t)},[r]),S=n.useCallback(()=>{l()},[l]);N({"settings:theme-changed":C,"settings:line-numbers-toggled":S});const L=n.useCallback(async(t,o)=>{try{await s.updateUser(t,o)}catch(T){console.error("Failed to update user:",T)}},[s]),k=n.useCallback(async t=>{console.warn("Delete user not implemented:",t),alert("Delete user functionality is not currently available")},[]),A=n.useCallback(()=>{console.log("Add user clicked")},[]),x=n.useCallback(()=>{console.log("Export users clicked")},[]);return P.jsx(j,{users:U,userStats:g,isLoadingUsers:h,isLoadingStats:b,onUpdateUser:L,onDeleteUser:k,onAddUser:A,onExportUsers:x,theme:p,showLineNumbers:v,activePanel:m,translations:{title:e("title"),subtitle:e("subtitle"),addUser:e("addUser"),totalUsers:e("totalUsers"),activeUsers:e("activeUsers"),administrators:e("administrators"),recentUsers:e("recentUsers"),searchUsers:e("searchUsers"),searchPlaceholder:e("searchPlaceholder"),role:e("role"),allRoles:e("allRoles"),admin:e("admin"),user:e("user"),status:e("status"),allStatus:e("allStatus"),active:e("active"),inactive:e("inactive"),exportUsers:e("exportUsers"),loadingUsers:e("loadingUsers"),userColumn:e("userColumn"),domainColumn:e("domainColumn"),roleColumn:e("roleColumn"),statusColumn:e("statusColumn"),lastLoginColumn:e("lastLoginColumn"),joinedColumn:e("joinedColumn"),actionsColumn:e("actionsColumn"),noUsersFound:e("noUsersFound"),noUsersFoundDescription:e("noUsersFoundDescription"),noName:e("noName"),never:e("never"),removeAdmin:e("removeAdmin"),makeAdmin:e("makeAdmin"),deactivateUser:e("deactivateUser"),activateUser:e("activateUser"),deleteUser:e("deleteUser")},ToolbarPanels:O,Toolbar:F,buttonStyles:w})}export{J as default};
2
+ //# sourceMappingURL=client-CTyYgbIC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-CTyYgbIC.js","sources":["../../src/app/[locale]/admin/users/client.tsx"],"sourcesContent":["/**\n * Admin Users Client - Thin Next.js wrapper\n *\n * This component handles Next.js-specific concerns (translations, API calls, hooks)\n * and delegates rendering to the pure React AdminUsersPage component.\n */\n\nimport React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { buttonStyles, Toolbar, useSemiont } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, useShellStateUnit, useObservable, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { AdminUsersPage } from '@semiont/react-ui';\nimport type { AdminUser, AdminUserStats } from '@semiont/react-ui';\nimport { createAdminUsersStateUnit } from '@semiont/react-ui';\nimport { useStateUnit } from '@semiont/react-ui';\n\nexport default function AdminUsers() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AdminUsers.${k}`, p as any) as string;\n\n const semiont = useObservable(useSemiont().activeSession$)?.client;\n const browseStateUnit = useShellStateUnit();\n const stateUnit = useStateUnit(() => createAdminUsersStateUnit(semiont!, browseStateUnit));\n\n const activePanel = useObservable(stateUnit.browse.activePanel$) ?? null;\n const users = useObservable(stateUnit.users$) ?? [];\n const userStats = useObservable(stateUnit.stats$) ?? null;\n const usersLoading = useObservable(stateUnit.usersLoading$) ?? true;\n const statsLoading = useObservable(stateUnit.statsLoading$) ?? true;\n\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n const handleUpdateUser = useCallback(async (id: string, data: { isAdmin?: boolean; isActive?: boolean }) => {\n try {\n await stateUnit.updateUser(id, data);\n } catch (error) {\n console.error('Failed to update user:', error);\n }\n }, [stateUnit]);\n\n const handleDeleteUser = useCallback(async (id: string) => {\n console.warn('Delete user not implemented:', id);\n alert('Delete user functionality is not currently available');\n }, []);\n\n const handleAddUser = useCallback(() => {\n console.log('Add user clicked');\n }, []);\n\n const handleExportUsers = useCallback(() => {\n console.log('Export users clicked');\n }, []);\n\n return (\n <AdminUsersPage\n users={users as AdminUser[]}\n userStats={userStats as AdminUserStats | null}\n isLoadingUsers={usersLoading}\n isLoadingStats={statsLoading}\n onUpdateUser={handleUpdateUser}\n onDeleteUser={handleDeleteUser}\n onAddUser={handleAddUser}\n onExportUsers={handleExportUsers}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n addUser: t('addUser'),\n totalUsers: t('totalUsers'),\n activeUsers: t('activeUsers'),\n administrators: t('administrators'),\n recentUsers: t('recentUsers'),\n searchUsers: t('searchUsers'),\n searchPlaceholder: t('searchPlaceholder'),\n role: t('role'),\n allRoles: t('allRoles'),\n admin: t('admin'),\n user: t('user'),\n status: t('status'),\n allStatus: t('allStatus'),\n active: t('active'),\n inactive: t('inactive'),\n exportUsers: t('exportUsers'),\n loadingUsers: t('loadingUsers'),\n userColumn: t('userColumn'),\n domainColumn: t('domainColumn'),\n roleColumn: t('roleColumn'),\n statusColumn: t('statusColumn'),\n lastLoginColumn: t('lastLoginColumn'),\n joinedColumn: t('joinedColumn'),\n actionsColumn: t('actionsColumn'),\n noUsersFound: t('noUsersFound'),\n noUsersFoundDescription: t('noUsersFoundDescription'),\n noName: t('noName'),\n never: t('never'),\n removeAdmin: t('removeAdmin'),\n makeAdmin: t('makeAdmin'),\n deactivateUser: t('deactivateUser'),\n activateUser: t('activateUser'),\n deleteUser: t('deleteUser'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n buttonStyles={buttonStyles}\n />\n );\n}\n"],"names":["AdminUsers","_t","useTranslation","t","k","p","semiont","_a","useObservable","useSemiont","browseStateUnit","useShellStateUnit","stateUnit","useStateUnit","createAdminUsersStateUnit","activePanel","users","userStats","usersLoading","statsLoading","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","handleUpdateUser","id","data","error","handleDeleteUser","handleAddUser","handleExportUsers","jsx","AdminUsersPage","ToolbarPanels","Toolbar","buttonStyles"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{c as s,u as S,g as k,e as $,h as R,i as U,k as P,j as y,L as B,T as F,z as j}from"./index-BVOR3arc.js";import{r as n}from"./vendor-DJo4KD8w.js";import{T as z}from"./ToolbarPanels-D5L18Wxk.js";import{u as D}from"./i18n-BbpF47i1.js";import"./routing-CGghUc0N.js";import"./XMarkIcon-KMKD47CF.js";function _(){var c;const{t:h}=D(),e=(o,a)=>h(`ModerationLinkedData.${o}`,a),r=(c=s(S().activeSession$))==null?void 0:c.client,u=k(),t=$(()=>j(u,o=>r.admin.exportKnowledgeBase(o),o=>r.admin.importKnowledgeBase(o))),d=s(t.browse.activePanel$)??null,b=s(t.selectedFile$)??null,g=s(t.preview$)??null,x=s(t.isExporting$)??!1,f=s(t.isImporting$)??!1,v=s(t.importPhase$)??null,C=s(t.importMessage$),E=s(t.importResult$),{theme:I,setTheme:l}=R(),{showLineNumbers:L,toggleLineNumbers:p}=U();P({"settings:theme-changed":n.useCallback(({theme:o})=>l(o),[l]),"settings:line-numbers-toggled":n.useCallback(()=>p(),[p])});const T=n.useCallback(async()=>{const{blob:o,filename:a}=await t.doExport(),m=URL.createObjectURL(o),i=document.createElement("a");i.href=m,i.download=a,i.click(),URL.revokeObjectURL(m)},[t]),w=n.useCallback(async()=>{await t.doImport()},[t]);return y.jsx(B,{onExport:T,isExporting:x,onFileSelected:t.selectFile,onImport:w,onCancelImport:t.cancelImport,selectedFile:b,preview:g,isImporting:f,importPhase:v,importMessage:C,importResult:E,theme:I,showLineNumbers:L,activePanel:d,translations:{title:e("title"),subtitle:e("subtitle"),export:{title:e("exportTitle"),description:e("exportDescription"),exportButton:e("exportButton"),exporting:e("exporting")},import:{title:e("importTitle"),description:e("importDescription"),dropzoneLabel:e("dropzoneLabel"),dropzoneActive:e("dropzoneActive"),detectedFormat:e("detectedFormat"),statsPreview:e("statsPreview"),importButton:e("importButton"),importing:e("importing"),importConfirmTitle:e("importConfirmTitle"),importConfirmMessage:e("importConfirmMessage"),confirmImport:e("confirmImport"),cancelImport:e("cancelImport")},progress:{phaseStarted:e("phaseStarted"),phaseEntityTypes:e("phaseEntityTypes"),phaseResources:e("phaseResources"),phaseAnnotations:e("phaseAnnotations"),phaseComplete:e("phaseComplete"),phaseError:e("phaseError"),hashChainValid:e("hashChainValid"),hashChainInvalid:e("hashChainInvalid"),streams:e("streams"),events:e("events"),blobs:e("blobs")}},ToolbarPanels:z,Toolbar:F})}export{_ as default};
2
+ //# sourceMappingURL=client-Cjf1Te8y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-Cjf1Te8y.js","sources":["../../src/app/[locale]/moderate/linked-data/client.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n Toolbar,\n useTheme,\n useShellStateUnit,\n useObservable,\n useLineNumbers,\n useEventSubscriptions,\n useSemiont,\n useStateUnit,\n LinkedDataPage,\n} from '@semiont/react-ui';\nimport { createExchangeStateUnit } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\n\nexport default function LinkedDataClient() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`ModerationLinkedData.${k}`, p as any) as string;\n const client = useObservable(useSemiont().activeSession$)?.client;\n\n const browseStateUnit = useShellStateUnit();\n const stateUnit = useStateUnit(() => createExchangeStateUnit(\n browseStateUnit,\n (params) => client!.admin!.exportKnowledgeBase(params),\n (file) => client!.admin!.importKnowledgeBase(file),\n ));\n\n const activePanel = useObservable(stateUnit.browse.activePanel$) ?? null;\n const selectedFile = useObservable(stateUnit.selectedFile$) ?? null;\n const preview = useObservable(stateUnit.preview$) ?? null;\n const isExporting = useObservable(stateUnit.isExporting$) ?? false;\n const isImporting = useObservable(stateUnit.isImporting$) ?? false;\n const importPhase = useObservable(stateUnit.importPhase$) ?? null;\n const importMessage = useObservable(stateUnit.importMessage$);\n const importResult = useObservable(stateUnit.importResult$);\n\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n useEventSubscriptions({\n 'settings:theme-changed': useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => setTheme(theme), [setTheme]),\n 'settings:line-numbers-toggled': useCallback(() => toggleLineNumbers(), [toggleLineNumbers]),\n });\n\n const handleExport = useCallback(async () => {\n const { blob, filename } = await stateUnit.doExport();\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = filename;\n a.click();\n URL.revokeObjectURL(url);\n }, [stateUnit]);\n\n const handleImport = useCallback(async () => {\n await stateUnit.doImport();\n }, [stateUnit]);\n\n return (\n <LinkedDataPage\n onExport={handleExport}\n isExporting={isExporting}\n onFileSelected={stateUnit.selectFile}\n onImport={handleImport}\n onCancelImport={stateUnit.cancelImport}\n selectedFile={selectedFile}\n preview={preview}\n isImporting={isImporting}\n importPhase={importPhase}\n importMessage={importMessage}\n importResult={importResult}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n export: {\n title: t('exportTitle'),\n description: t('exportDescription'),\n exportButton: t('exportButton'),\n exporting: t('exporting'),\n },\n import: {\n title: t('importTitle'),\n description: t('importDescription'),\n dropzoneLabel: t('dropzoneLabel'),\n dropzoneActive: t('dropzoneActive'),\n detectedFormat: t('detectedFormat'),\n statsPreview: t('statsPreview'),\n importButton: t('importButton'),\n importing: t('importing'),\n importConfirmTitle: t('importConfirmTitle'),\n importConfirmMessage: t('importConfirmMessage'),\n confirmImport: t('confirmImport'),\n cancelImport: t('cancelImport'),\n },\n progress: {\n phaseStarted: t('phaseStarted'),\n phaseEntityTypes: t('phaseEntityTypes'),\n phaseResources: t('phaseResources'),\n phaseAnnotations: t('phaseAnnotations'),\n phaseComplete: t('phaseComplete'),\n phaseError: t('phaseError'),\n hashChainValid: t('hashChainValid'),\n hashChainInvalid: t('hashChainInvalid'),\n streams: t('streams'),\n events: t('events'),\n blobs: t('blobs'),\n },\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["LinkedDataClient","_t","useTranslation","t","k","p","client","_a","useObservable","useSemiont","browseStateUnit","useShellStateUnit","stateUnit","useStateUnit","createExchangeStateUnit","params","file","activePanel","selectedFile","preview","isExporting","isImporting","importPhase","importMessage","importResult","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","useEventSubscriptions","useCallback","handleExport","blob","filename","url","a","handleImport","jsx","LinkedDataPage","ToolbarPanels","Toolbar"],"mappings":"4SAgBA,SAAwBA,GAAmB,OACzC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,wBAAwBG,CAAC,GAAIC,CAAQ,EACxFC,GAASC,EAAAC,EAAcC,EAAA,EAAa,cAAc,IAAzC,YAAAF,EAA4C,OAErDG,EAAkBC,EAAA,EAClBC,EAAYC,EAAa,IAAMC,EACnCJ,EACCK,GAAWT,EAAQ,MAAO,oBAAoBS,CAAM,EACpDC,GAASV,EAAQ,MAAO,oBAAoBU,CAAI,CAAA,CAClD,EAEKC,EAAcT,EAAcI,EAAU,OAAO,YAAY,GAAK,KAC9DM,EAAeV,EAAcI,EAAU,aAAa,GAAK,KACzDO,EAAUX,EAAcI,EAAU,QAAQ,GAAK,KAC/CQ,EAAcZ,EAAcI,EAAU,YAAY,GAAK,GACvDS,EAAcb,EAAcI,EAAU,YAAY,GAAK,GACvDU,EAAcd,EAAcI,EAAU,YAAY,GAAK,KACvDW,EAAgBf,EAAcI,EAAU,cAAc,EACtDY,EAAehB,EAAcI,EAAU,aAAa,EAEpD,CAAE,MAAAa,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAE/CC,EAAsB,CACpB,yBAA0BC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoDC,EAASD,CAAK,EAAG,CAACC,CAAQ,CAAC,EACxH,gCAAiCM,EAAAA,YAAY,IAAMH,IAAqB,CAACA,CAAiB,CAAC,CAAA,CAC5F,EAED,MAAMI,EAAeD,EAAAA,YAAY,SAAY,CAC3C,KAAM,CAAE,KAAAE,EAAM,SAAAC,CAAA,EAAa,MAAMvB,EAAU,SAAA,EACrCwB,EAAM,IAAI,gBAAgBF,CAAI,EAC9BG,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOD,EACTC,EAAE,SAAWF,EACbE,EAAE,MAAA,EACF,IAAI,gBAAgBD,CAAG,CACzB,EAAG,CAACxB,CAAS,CAAC,EAER0B,EAAeN,EAAAA,YAAY,SAAY,CAC3C,MAAMpB,EAAU,SAAA,CAClB,EAAG,CAACA,CAAS,CAAC,EAEd,OACE2B,EAAAA,IAACC,EAAA,CACC,SAAUP,EACV,YAAAb,EACA,eAAgBR,EAAU,WAC1B,SAAU0B,EACV,eAAgB1B,EAAU,aAC1B,aAAAM,EACA,QAAAC,EACA,YAAAE,EACA,YAAAC,EACA,cAAAC,EACA,aAAAC,EACA,MAAAC,EACA,gBAAAG,EACA,YAAAX,EACA,aAAc,CACZ,MAAOd,EAAE,OAAO,EAChB,SAAUA,EAAE,UAAU,EACtB,OAAQ,CACN,MAAOA,EAAE,aAAa,EACtB,YAAaA,EAAE,mBAAmB,EAClC,aAAcA,EAAE,cAAc,EAC9B,UAAWA,EAAE,WAAW,CAAA,EAE1B,OAAQ,CACN,MAAOA,EAAE,aAAa,EACtB,YAAaA,EAAE,mBAAmB,EAClC,cAAeA,EAAE,eAAe,EAChC,eAAgBA,EAAE,gBAAgB,EAClC,eAAgBA,EAAE,gBAAgB,EAClC,aAAcA,EAAE,cAAc,EAC9B,aAAcA,EAAE,cAAc,EAC9B,UAAWA,EAAE,WAAW,EACxB,mBAAoBA,EAAE,oBAAoB,EAC1C,qBAAsBA,EAAE,sBAAsB,EAC9C,cAAeA,EAAE,eAAe,EAChC,aAAcA,EAAE,cAAc,CAAA,EAEhC,SAAU,CACR,aAAcA,EAAE,cAAc,EAC9B,iBAAkBA,EAAE,kBAAkB,EACtC,eAAgBA,EAAE,gBAAgB,EAClC,iBAAkBA,EAAE,kBAAkB,EACtC,cAAeA,EAAE,eAAe,EAChC,WAAYA,EAAE,YAAY,EAC1B,eAAgBA,EAAE,gBAAgB,EAClC,iBAAkBA,EAAE,kBAAkB,EACtC,QAASA,EAAE,SAAS,EACpB,OAAQA,EAAE,QAAQ,EAClB,MAAOA,EAAE,OAAO,CAAA,CAClB,EAEF,cAAAsC,EACA,QAAAC,CAAA,CAAA,CAGN"}
@@ -0,0 +1,2 @@
1
+ import{c as o,u as C,g as S,e as T,h as w,i as y,k as P,j as L,w as x,T as A,x as $}from"./index-BVOR3arc.js";import{r}from"./vendor-DJo4KD8w.js";import{T as E}from"./ToolbarPanels-D5L18Wxk.js";import{u as U}from"./i18n-BbpF47i1.js";import"./routing-CGghUc0N.js";import"./XMarkIcon-KMKD47CF.js";function O(){var a;const{t:l}=U(),e=(i,v)=>l(`AdminSecurity.${i}`,v),c=(a=o(C().activeSession$))==null?void 0:a.client,u=S(),n=T(()=>$(c,u)),d=o(n.browse.activePanel$)??null,m=o(n.providers$)??[],g=o(n.allowedDomains$)??[],f=o(n.isLoading$)??!0,{theme:p,setTheme:t}=w(),{showLineNumbers:D,toggleLineNumbers:s}=y(),h=r.useCallback(({theme:i})=>{t(i)},[t]),b=r.useCallback(()=>{s()},[s]);return P({"settings:theme-changed":h,"settings:line-numbers-toggled":b}),L.jsx(x,{providers:m,allowedDomains:g,isLoading:f,theme:p,showLineNumbers:D,activePanel:d,translations:{title:e("title"),subtitle:e("subtitle"),oauthProviders:e("oauthProviders"),oauthProvidersDescription:e("oauthProvidersDescription"),clientId:e("clientId"),configured:e("configured"),noProvidersConfigured:e("noProvidersConfigured"),allowedDomains:e("allowedDomains"),allowedDomainsDescription:e("allowedDomainsDescription"),noDomainsConfigured:e("noDomainsConfigured"),configManagementTitle:e("configManagementTitle"),configManagementDescription:e("configManagementDescription"),configLocalDev:e("configLocalDev"),configCloudDeploy:e("configCloudDeploy"),configCloudDeployCommand:e("configCloudDeployCommand"),configCloudDeployEnd:e("configCloudDeployEnd"),configAWS:e("configAWS")},ToolbarPanels:E,Toolbar:A})}export{O as default};
2
+ //# sourceMappingURL=client-D7w_vlsg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-D7w_vlsg.js","sources":["../../src/app/[locale]/admin/security/client.tsx"],"sourcesContent":["/**\n * Admin Security Client - Thin Next.js wrapper\n *\n * This component handles Next.js-specific concerns (translations, API calls, hooks)\n * and delegates rendering to the pure React AdminSecurityPage component.\n */\n\nimport React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Toolbar, useSemiont } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, useShellStateUnit, useObservable, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { AdminSecurityPage } from '@semiont/react-ui';\nimport type { OAuthProvider } from '@semiont/react-ui';\nimport { createAdminSecurityStateUnit } from '@semiont/react-ui';\nimport { useStateUnit } from '@semiont/react-ui';\n\nexport default function AdminSecurity() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AdminSecurity.${k}`, p as any) as string;\n\n const semiont = useObservable(useSemiont().activeSession$)?.client;\n const browseStateUnit = useShellStateUnit();\n const stateUnit = useStateUnit(() => createAdminSecurityStateUnit(semiont!, browseStateUnit));\n\n const activePanel = useObservable(stateUnit.browse.activePanel$) ?? null;\n const providers = useObservable(stateUnit.providers$) ?? [];\n const allowedDomains = useObservable(stateUnit.allowedDomains$) ?? [];\n const isLoading = useObservable(stateUnit.isLoading$) ?? true;\n\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n return (\n <AdminSecurityPage\n providers={providers as OAuthProvider[]}\n allowedDomains={allowedDomains}\n isLoading={isLoading}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n oauthProviders: t('oauthProviders'),\n oauthProvidersDescription: t('oauthProvidersDescription'),\n clientId: t('clientId'),\n configured: t('configured'),\n noProvidersConfigured: t('noProvidersConfigured'),\n allowedDomains: t('allowedDomains'),\n allowedDomainsDescription: t('allowedDomainsDescription'),\n noDomainsConfigured: t('noDomainsConfigured'),\n configManagementTitle: t('configManagementTitle'),\n configManagementDescription: t('configManagementDescription'),\n configLocalDev: t('configLocalDev'),\n configCloudDeploy: t('configCloudDeploy'),\n configCloudDeployCommand: t('configCloudDeployCommand'),\n configCloudDeployEnd: t('configCloudDeployEnd'),\n configAWS: t('configAWS'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["AdminSecurity","_t","useTranslation","t","k","p","semiont","_a","useObservable","useSemiont","browseStateUnit","useShellStateUnit","stateUnit","useStateUnit","createAdminSecurityStateUnit","activePanel","providers","allowedDomains","isLoading","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","jsx","AdminSecurityPage","ToolbarPanels","Toolbar"],"mappings":"uSAiBA,SAAwBA,GAAgB,OACtC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,iBAAiBG,CAAC,GAAIC,CAAQ,EAEjFC,GAAUC,EAAAC,EAAcC,EAAA,EAAa,cAAc,IAAzC,YAAAF,EAA4C,OACtDG,EAAkBC,EAAA,EAClBC,EAAYC,EAAa,IAAMC,EAA6BR,EAAUI,CAAe,CAAC,EAEtFK,EAAcP,EAAcI,EAAU,OAAO,YAAY,GAAK,KAC9DI,EAAYR,EAAcI,EAAU,UAAU,GAAK,CAAA,EACnDK,EAAiBT,EAAcI,EAAU,eAAe,GAAK,CAAA,EAC7DM,EAAYV,EAAcI,EAAU,UAAU,GAAK,GAEnD,CAAE,MAAAO,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAEzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAEPO,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtB,OAAAK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAGCE,EAAAA,IAACC,EAAA,CACC,UAAAd,EACA,eAAAC,EACA,UAAAC,EACA,MAAAC,EACA,gBAAAG,EACA,YAAAP,EACA,aAAc,CACZ,MAAOZ,EAAE,OAAO,EAChB,SAAUA,EAAE,UAAU,EACtB,eAAgBA,EAAE,gBAAgB,EAClC,0BAA2BA,EAAE,2BAA2B,EACxD,SAAUA,EAAE,UAAU,EACtB,WAAYA,EAAE,YAAY,EAC1B,sBAAuBA,EAAE,uBAAuB,EAChD,eAAgBA,EAAE,gBAAgB,EAClC,0BAA2BA,EAAE,2BAA2B,EACxD,oBAAqBA,EAAE,qBAAqB,EAC5C,sBAAuBA,EAAE,uBAAuB,EAChD,4BAA6BA,EAAE,6BAA6B,EAC5D,eAAgBA,EAAE,gBAAgB,EAClC,kBAAmBA,EAAE,mBAAmB,EACxC,yBAA0BA,EAAE,0BAA0B,EACtD,qBAAsBA,EAAE,sBAAsB,EAC9C,UAAWA,EAAE,WAAW,CAAA,EAE1B,cAAA4B,EACA,QAAAC,CAAA,CAAA,CAGN"}