@semiont/cli 0.4.20 → 0.4.21

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 (155) hide show
  1. package/dist/cli.mjs +235 -181
  2. package/dist/frontend/dist/assets/{CookiePreferences-BBb5XMuG.js → CookiePreferences-CWvTznuy.js} +2 -2
  3. package/dist/frontend/dist/assets/{CookiePreferences-BBb5XMuG.js.map → CookiePreferences-CWvTznuy.js.map} +1 -1
  4. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-6ZGFEN2N-Dnq2pEeZ.js +2 -0
  5. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-6ZGFEN2N-Dnq2pEeZ.js.map +1 -0
  6. package/dist/frontend/dist/assets/ToolbarPanels-DQrfch_k.js +2 -0
  7. package/dist/frontend/dist/assets/ToolbarPanels-DQrfch_k.js.map +1 -0
  8. package/dist/frontend/dist/assets/client-9KMfqezG.js +2 -0
  9. package/dist/frontend/dist/assets/client-9KMfqezG.js.map +1 -0
  10. package/dist/frontend/dist/assets/client-Bvrf4lLa.js +2 -0
  11. package/dist/frontend/dist/assets/client-Bvrf4lLa.js.map +1 -0
  12. package/dist/frontend/dist/assets/client-D9qa8fAn.js +2 -0
  13. package/dist/frontend/dist/assets/client-D9qa8fAn.js.map +1 -0
  14. package/dist/frontend/dist/assets/client-kIBNRH2w.js +2 -0
  15. package/dist/frontend/dist/assets/client-kIBNRH2w.js.map +1 -0
  16. package/dist/frontend/dist/assets/index-DaA8-3Y1.js +169 -0
  17. package/dist/frontend/dist/assets/index-DaA8-3Y1.js.map +1 -0
  18. package/dist/frontend/dist/assets/{index-DNL392dn.css → index-fHqJXd_A.css} +1 -1
  19. package/dist/frontend/dist/assets/layout-BLGpzYwk.js +2 -0
  20. package/dist/frontend/dist/assets/layout-BLGpzYwk.js.map +1 -0
  21. package/dist/frontend/dist/assets/layout-BgHlzaj1.js +2 -0
  22. package/dist/frontend/dist/assets/layout-BgHlzaj1.js.map +1 -0
  23. package/dist/frontend/dist/assets/layout-Dj1MEjN6.js +2 -0
  24. package/dist/frontend/dist/assets/layout-Dj1MEjN6.js.map +1 -0
  25. package/dist/frontend/dist/assets/layout-easR0slx.js +2 -0
  26. package/dist/frontend/dist/assets/layout-easR0slx.js.map +1 -0
  27. package/dist/frontend/dist/assets/not-found-nC4IaXPt.js +2 -0
  28. package/dist/frontend/dist/assets/{not-found-BKG2_Fv3.js.map → not-found-nC4IaXPt.js.map} +1 -1
  29. package/dist/frontend/dist/assets/page-8zC_t3l-.js +2 -0
  30. package/dist/frontend/dist/assets/page-8zC_t3l-.js.map +1 -0
  31. package/dist/frontend/dist/assets/page-BD9EKRMV.js +2 -0
  32. package/dist/frontend/dist/assets/{page-DbwQv5n_.js.map → page-BD9EKRMV.js.map} +1 -1
  33. package/dist/frontend/dist/assets/page-BDMxGD5Z.js +8 -0
  34. package/dist/frontend/dist/assets/{page-aKPxuWo3.js.map → page-BDMxGD5Z.js.map} +1 -1
  35. package/dist/frontend/dist/assets/page-BwiRQxa7.js +2 -0
  36. package/dist/frontend/dist/assets/page-BwiRQxa7.js.map +1 -0
  37. package/dist/frontend/dist/assets/page-By8BIN8Q.js +2 -0
  38. package/dist/frontend/dist/assets/{page-IgGNB4a9.js.map → page-By8BIN8Q.js.map} +1 -1
  39. package/dist/frontend/dist/assets/{page-BRTi-f95.js → page-C8zOqZ8M.js} +3 -3
  40. package/dist/frontend/dist/assets/{page-BRTi-f95.js.map → page-C8zOqZ8M.js.map} +1 -1
  41. package/dist/frontend/dist/assets/page-CQsfujTh.js +2 -0
  42. package/dist/frontend/dist/assets/page-CQsfujTh.js.map +1 -0
  43. package/dist/frontend/dist/assets/page-CTvUxWH5.js +2 -0
  44. package/dist/frontend/dist/assets/{page-BSB8GP79.js.map → page-CTvUxWH5.js.map} +1 -1
  45. package/dist/frontend/dist/assets/page-ChjwiTJ8.js +2 -0
  46. package/dist/frontend/dist/assets/page-ChjwiTJ8.js.map +1 -0
  47. package/dist/frontend/dist/assets/page-D8JSCVFI.js +2 -0
  48. package/dist/frontend/dist/assets/{page-CDSGl6uY.js.map → page-D8JSCVFI.js.map} +1 -1
  49. package/dist/frontend/dist/assets/page-DB1HZ_Jr.js +2 -0
  50. package/dist/frontend/dist/assets/{page-D1q6VB02.js.map → page-DB1HZ_Jr.js.map} +1 -1
  51. package/dist/frontend/dist/assets/page-DBoIW_-n.js +2 -0
  52. package/dist/frontend/dist/assets/{page-DzoXV-AN.js.map → page-DBoIW_-n.js.map} +1 -1
  53. package/dist/frontend/dist/assets/page-DEHEdU59.js +2 -0
  54. package/dist/frontend/dist/assets/{page-BNJp__R7.js.map → page-DEHEdU59.js.map} +1 -1
  55. package/dist/frontend/dist/assets/page-DWS9ulKD.js +5 -0
  56. package/dist/frontend/dist/assets/{page-D3THDsqd.js.map → page-DWS9ulKD.js.map} +1 -1
  57. package/dist/frontend/dist/assets/page-DoqFVg4p.js +2 -0
  58. package/dist/frontend/dist/assets/page-DoqFVg4p.js.map +1 -0
  59. package/dist/frontend/dist/assets/page-btIB2WK4.js +2 -0
  60. package/dist/frontend/dist/assets/page-btIB2WK4.js.map +1 -0
  61. package/dist/frontend/dist/assets/page-jr_Rqa0A.js +2 -0
  62. package/dist/frontend/dist/assets/page-jr_Rqa0A.js.map +1 -0
  63. package/dist/frontend/dist/assets/page-kLVTeA46.js +2 -0
  64. package/dist/frontend/dist/assets/{page-CJLuuiG8.js.map → page-kLVTeA46.js.map} +1 -1
  65. package/dist/frontend/dist/assets/privacy-mpF0jllH.js +2 -0
  66. package/dist/frontend/dist/assets/{privacy-BAxopuZI.js.map → privacy-mpF0jllH.js.map} +1 -1
  67. package/dist/frontend/dist/assets/{routing-rYtBowvy.js → routing-BmJG4tNe.js} +2 -2
  68. package/dist/frontend/dist/assets/{routing-rYtBowvy.js.map → routing-BmJG4tNe.js.map} +1 -1
  69. package/dist/frontend/dist/assets/routing-JYkXODZK.js +2 -0
  70. package/dist/frontend/dist/assets/{routing-Cm_oCwum.js.map → routing-JYkXODZK.js.map} +1 -1
  71. package/dist/frontend/dist/index.html +2 -3
  72. package/dist/frontend/dist/messages/ar.json +0 -1
  73. package/dist/frontend/dist/messages/bn.json +0 -1
  74. package/dist/frontend/dist/messages/cs.json +0 -1
  75. package/dist/frontend/dist/messages/da.json +0 -1
  76. package/dist/frontend/dist/messages/de.json +0 -1
  77. package/dist/frontend/dist/messages/el.json +0 -1
  78. package/dist/frontend/dist/messages/en.json +0 -1
  79. package/dist/frontend/dist/messages/es.json +0 -1
  80. package/dist/frontend/dist/messages/fa.json +0 -1
  81. package/dist/frontend/dist/messages/fi.json +0 -1
  82. package/dist/frontend/dist/messages/fr.json +0 -1
  83. package/dist/frontend/dist/messages/he.json +0 -1
  84. package/dist/frontend/dist/messages/hi.json +0 -1
  85. package/dist/frontend/dist/messages/id.json +0 -1
  86. package/dist/frontend/dist/messages/it.json +0 -1
  87. package/dist/frontend/dist/messages/ja.json +0 -1
  88. package/dist/frontend/dist/messages/ko.json +0 -1
  89. package/dist/frontend/dist/messages/ms.json +0 -1
  90. package/dist/frontend/dist/messages/nl.json +0 -1
  91. package/dist/frontend/dist/messages/no.json +0 -1
  92. package/dist/frontend/dist/messages/pl.json +0 -1
  93. package/dist/frontend/dist/messages/pt.json +0 -1
  94. package/dist/frontend/dist/messages/ro.json +0 -1
  95. package/dist/frontend/dist/messages/sv.json +0 -1
  96. package/dist/frontend/dist/messages/th.json +0 -1
  97. package/dist/frontend/dist/messages/tr.json +0 -1
  98. package/dist/frontend/dist/messages/uk.json +0 -1
  99. package/dist/frontend/dist/messages/vi.json +0 -1
  100. package/dist/frontend/dist/messages/zh.json +0 -1
  101. package/dist/frontend/package.json +1 -1
  102. package/package.json +7 -7
  103. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CHDCGQBR-mCGxablw.js +0 -2
  104. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CHDCGQBR-mCGxablw.js.map +0 -1
  105. package/dist/frontend/dist/assets/StreamStatusContext-BNiTXRfJ.js +0 -2
  106. package/dist/frontend/dist/assets/StreamStatusContext-BNiTXRfJ.js.map +0 -1
  107. package/dist/frontend/dist/assets/ToolbarPanels-CfaOVIc9.js +0 -2
  108. package/dist/frontend/dist/assets/ToolbarPanels-CfaOVIc9.js.map +0 -1
  109. package/dist/frontend/dist/assets/client-CWwdB0xQ.js +0 -2
  110. package/dist/frontend/dist/assets/client-CWwdB0xQ.js.map +0 -1
  111. package/dist/frontend/dist/assets/client-Cgz-uiSd.js +0 -2
  112. package/dist/frontend/dist/assets/client-Cgz-uiSd.js.map +0 -1
  113. package/dist/frontend/dist/assets/client-D3W9xTBT.js +0 -2
  114. package/dist/frontend/dist/assets/client-D3W9xTBT.js.map +0 -1
  115. package/dist/frontend/dist/assets/client-DeL0szs5.js +0 -2
  116. package/dist/frontend/dist/assets/client-DeL0szs5.js.map +0 -1
  117. package/dist/frontend/dist/assets/index-C5oI0kaf.js +0 -161
  118. package/dist/frontend/dist/assets/index-C5oI0kaf.js.map +0 -1
  119. package/dist/frontend/dist/assets/layout-B_JLc3yI.js +0 -2
  120. package/dist/frontend/dist/assets/layout-B_JLc3yI.js.map +0 -1
  121. package/dist/frontend/dist/assets/layout-DJI7aibW.js +0 -2
  122. package/dist/frontend/dist/assets/layout-DJI7aibW.js.map +0 -1
  123. package/dist/frontend/dist/assets/layout-DXY8hCsB.js +0 -2
  124. package/dist/frontend/dist/assets/layout-DXY8hCsB.js.map +0 -1
  125. package/dist/frontend/dist/assets/layout-VBQ97DvJ.js +0 -2
  126. package/dist/frontend/dist/assets/layout-VBQ97DvJ.js.map +0 -1
  127. package/dist/frontend/dist/assets/not-found-BKG2_Fv3.js +0 -2
  128. package/dist/frontend/dist/assets/page-8OrS1-4-.js +0 -2
  129. package/dist/frontend/dist/assets/page-8OrS1-4-.js.map +0 -1
  130. package/dist/frontend/dist/assets/page-B4Qu9WPd.js +0 -2
  131. package/dist/frontend/dist/assets/page-B4Qu9WPd.js.map +0 -1
  132. package/dist/frontend/dist/assets/page-BNJp__R7.js +0 -2
  133. package/dist/frontend/dist/assets/page-BSB8GP79.js +0 -2
  134. package/dist/frontend/dist/assets/page-Bx8QAzic.js +0 -2
  135. package/dist/frontend/dist/assets/page-Bx8QAzic.js.map +0 -1
  136. package/dist/frontend/dist/assets/page-CDSGl6uY.js +0 -2
  137. package/dist/frontend/dist/assets/page-CJLuuiG8.js +0 -2
  138. package/dist/frontend/dist/assets/page-CyFJt2nP.js +0 -2
  139. package/dist/frontend/dist/assets/page-CyFJt2nP.js.map +0 -1
  140. package/dist/frontend/dist/assets/page-D1q6VB02.js +0 -2
  141. package/dist/frontend/dist/assets/page-D3THDsqd.js +0 -5
  142. package/dist/frontend/dist/assets/page-DCxg1lHk.js +0 -2
  143. package/dist/frontend/dist/assets/page-DCxg1lHk.js.map +0 -1
  144. package/dist/frontend/dist/assets/page-DbwQv5n_.js +0 -2
  145. package/dist/frontend/dist/assets/page-DddZ9Yxm.js +0 -2
  146. package/dist/frontend/dist/assets/page-DddZ9Yxm.js.map +0 -1
  147. package/dist/frontend/dist/assets/page-DzoXV-AN.js +0 -2
  148. package/dist/frontend/dist/assets/page-IgGNB4a9.js +0 -2
  149. package/dist/frontend/dist/assets/page-aKPxuWo3.js +0 -8
  150. package/dist/frontend/dist/assets/page-jxC42AIR.js +0 -2
  151. package/dist/frontend/dist/assets/page-jxC42AIR.js.map +0 -1
  152. package/dist/frontend/dist/assets/privacy-BAxopuZI.js +0 -2
  153. package/dist/frontend/dist/assets/query-B6BuIB0M.js +0 -10
  154. package/dist/frontend/dist/assets/query-B6BuIB0M.js.map +0 -1
  155. package/dist/frontend/dist/assets/routing-Cm_oCwum.js +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-CWwdB0xQ.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, { useEffect, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useAdmin, buttonStyles, Toolbar } from '@semiont/react-ui';\nimport type { paths } from '@semiont/core';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { AdminUsersPage } from '@semiont/react-ui';\nimport type { AdminUser, AdminUserStats } from '@semiont/react-ui';\n\ntype ResponseContent<T> = T extends { responses: { 200: { content: { 'application/json': infer R } } } } ? R : never;\ntype AdminUsersResponse = ResponseContent<paths['/api/admin/users']['get']>;\ntype AdminUserStatsResponse = ResponseContent<paths['/api/admin/users/stats']['get']>;\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 const queryClient = useQueryClient();\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n // Handle theme change events\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n // Handle line numbers toggle events\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 // API hooks\n const adminAPI = useAdmin();\n const { data: usersResponse, isLoading: usersLoading } = adminAPI.users.list.useQuery();\n const { data: statsResponse, isLoading: statsLoading } = adminAPI.users.stats.useQuery();\n const updateUserMutation = adminAPI.users.update.useMutation();\n\n const users = (usersResponse as AdminUsersResponse | undefined)?.users ?? [];\n const userStats = (statsResponse as AdminUserStatsResponse | undefined)?.stats ?? null;\n\n const handleUpdateUser = async (id: string, data: { isAdmin?: boolean; isActive?: boolean }) => {\n try {\n await updateUserMutation.mutateAsync({ id, data });\n queryClient.invalidateQueries({ queryKey: ['admin.users.list'] });\n queryClient.invalidateQueries({ queryKey: ['admin.users.stats'] });\n } catch (error) {\n console.error('Failed to update user:', error);\n }\n };\n\n const handleDeleteUser = 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 = () => {\n console.log('Add user clicked');\n };\n\n const handleExportUsers = () => {\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","queryClient","useQueryClient","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","adminAPI","useAdmin","usersResponse","usersLoading","statsResponse","statsLoading","updateUserMutation","users","userStats","handleUpdateUser","id","data","error","handleDeleteUser","handleAddUser","handleExportUsers","jsx","AdminUsersPage","ToolbarPanels","Toolbar","buttonStyles"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{j as w}from"./query-B6BuIB0M.js";import{r as s}from"./vendor-DJo4KD8w.js";import{f as z,g as F,h as y,i as A,H as B,L as D,T as R}from"./index-C5oI0kaf.js";import{T as N}from"./ToolbarPanels-CfaOVIc9.js";import{u as j}from"./i18n-BbpF47i1.js";import"./routing-Cm_oCwum.js";import"./XMarkIcon-KMKD47CF.js";function G(){const{t:h}=j(),e=(t,M)=>h(`ModerationLinkedData.${t}`,M),{activePanel:g}=z(),{theme:b,setTheme:p}=F(),{showLineNumbers:C,toggleLineNumbers:m}=y(),x=s.useCallback(({theme:t})=>{p(t)},[p]),f=s.useCallback(()=>{m()},[m]);A({"settings:theme-changed":x,"settings:line-numbers-toggled":f});const u=B(),r=u.exchange.export.useMutation(),l=u.exchange.import.useMutation(),[o,c]=s.useState(null),[v,d]=s.useState(null),[I,n]=s.useState(null),[T,a]=s.useState(),[P,i]=s.useState(),k=s.useCallback(()=>{r.mutate({})},[r]),S=s.useCallback(async t=>{c(t),n(null),a(void 0),i(void 0),d({format:t.name.endsWith(".tar.gz")||t.name.endsWith(".gz")?"semiont-linked-data":"unknown",version:1,sourceUrl:"",stats:{}})},[]),E=s.useCallback(()=>{o&&(n("started"),a(void 0),i(void 0),l.mutate({file:o,onProgress:t=>{n(t.phase),a(t.message),t.result&&i(t.result)}}))},[o,l]),L=s.useCallback(()=>{c(null),d(null),n(null),a(void 0),i(void 0)},[]);return w.jsx(D,{onExport:k,isExporting:r.isPending,onFileSelected:S,onImport:E,onCancelImport:L,selectedFile:o,preview:v,isImporting:l.isPending,importPhase:I,importMessage:T,importResult:P,theme:b,showLineNumbers:C,activePanel:g,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:N,Toolbar:R})}export{G as default};
2
- //# sourceMappingURL=client-Cgz-uiSd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-Cgz-uiSd.js","sources":["../../src/app/[locale]/moderate/linked-data/client.tsx"],"sourcesContent":["/**\n * Linked Data Client - Thin Next.js wrapper\n *\n * Handles Next.js-specific concerns (translations, API calls, hooks)\n * and delegates rendering to the pure React LinkedDataPage component.\n */\n\nimport React, { useState, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useModeration, Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { LinkedDataPage } from '@semiont/react-ui';\nimport type { ImportPreview } from '@semiont/react-ui';\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\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\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 // API hooks\n const moderationAPI = useModeration();\n const exportMutation = moderationAPI.exchange.export.useMutation();\n const importMutation = moderationAPI.exchange.import.useMutation();\n\n // Local state\n const [selectedFile, setSelectedFile] = useState<File | null>(null);\n const [preview, setPreview] = useState<ImportPreview | null>(null);\n const [importPhase, setImportPhase] = useState<string | null>(null);\n const [importMessage, setImportMessage] = useState<string | undefined>();\n const [importResult, setImportResult] = useState<Record<string, unknown> | undefined>();\n\n const handleExport = useCallback(() => {\n exportMutation.mutate({});\n }, [exportMutation]);\n\n const handleFileSelected = useCallback(async (file: File) => {\n setSelectedFile(file);\n setImportPhase(null);\n setImportMessage(undefined);\n setImportResult(undefined);\n\n setPreview({\n format: file.name.endsWith('.tar.gz') || file.name.endsWith('.gz') ? 'semiont-linked-data' : 'unknown',\n version: 1,\n sourceUrl: '',\n stats: {},\n });\n }, []);\n\n const handleImport = useCallback(() => {\n if (!selectedFile) return;\n\n setImportPhase('started');\n setImportMessage(undefined);\n setImportResult(undefined);\n\n importMutation.mutate({\n file: selectedFile,\n onProgress: (event) => {\n setImportPhase(event.phase);\n setImportMessage(event.message);\n if (event.result) {\n setImportResult(event.result);\n }\n },\n });\n }, [selectedFile, importMutation]);\n\n const handleCancelImport = useCallback(() => {\n setSelectedFile(null);\n setPreview(null);\n setImportPhase(null);\n setImportMessage(undefined);\n setImportResult(undefined);\n }, []);\n\n return (\n <LinkedDataPage\n onExport={handleExport}\n isExporting={exportMutation.isPending}\n onFileSelected={handleFileSelected}\n onImport={handleImport}\n onCancelImport={handleCancelImport}\n selectedFile={selectedFile}\n preview={preview}\n isImporting={importMutation.isPending}\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","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","moderationAPI","useModeration","exportMutation","importMutation","selectedFile","setSelectedFile","useState","preview","setPreview","importPhase","setImportPhase","importMessage","setImportMessage","importResult","setImportResult","handleExport","handleFileSelected","file","handleImport","event","handleCancelImport","jsx","LinkedDataPage","ToolbarPanels","Toolbar"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{j as w}from"./query-B6BuIB0M.js";import{r as s}from"./vendor-DJo4KD8w.js";import{f as z,g as R,h as B,i as F,z as L,E as y,T as N}from"./index-C5oI0kaf.js";import{T as j}from"./ToolbarPanels-CfaOVIc9.js";import{u as D}from"./i18n-BbpF47i1.js";import"./routing-Cm_oCwum.js";import"./XMarkIcon-KMKD47CF.js";function H(){const{t:d}=D(),e=(t,M)=>d(`AdminExchange.${t}`,M),{activePanel:g}=z(),{theme:b,setTheme:p}=R(),{showLineNumbers:C,toggleLineNumbers:m}=B(),x=s.useCallback(({theme:t})=>{p(t)},[p]),f=s.useCallback(()=>{m()},[m]);F({"settings:theme-changed":x,"settings:line-numbers-toggled":f});const c=L(),r=c.exchange.backup.useMutation(),l=c.exchange.restore.useMutation(),[o,u]=s.useState(null),[v,h]=s.useState(null),[T,n]=s.useState(null),[E,a]=s.useState(),[I,i]=s.useState(),P=s.useCallback(()=>{r.mutate()},[r]),k=s.useCallback(async t=>{u(t),n(null),a(void 0),i(void 0),h({format:t.name.endsWith(".tar.gz")||t.name.endsWith(".gz")?"semiont-backup":"unknown",version:1,sourceUrl:"",stats:{}})},[]),S=s.useCallback(()=>{o&&(n("started"),a(void 0),i(void 0),l.mutate({file:o,onProgress:t=>{n(t.phase),a(t.message),t.result&&i(t.result)}}))},[o,l]),A=s.useCallback(()=>{u(null),h(null),n(null),a(void 0),i(void 0)},[]);return w.jsx(y,{onExport:P,isExporting:r.isPending,onFileSelected:k,onImport:S,onCancelImport:A,selectedFile:o,preview:v,isImporting:l.isPending,importPhase:T,importMessage:E,importResult:I,theme:b,showLineNumbers:C,activePanel:g,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:j,Toolbar:N})}export{H as default};
2
- //# sourceMappingURL=client-D3W9xTBT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-D3W9xTBT.js","sources":["../../src/app/[locale]/admin/exchange/client.tsx"],"sourcesContent":["/**\n * Admin Exchange Client - Thin Next.js wrapper\n *\n * Handles Next.js-specific concerns (translations, API calls, hooks)\n * and delegates rendering to the pure React AdminExchangePage component.\n */\n\nimport React, { useState, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useAdmin, Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { AdminExchangePage } from '@semiont/react-ui';\nimport type { ImportPreview } from '@semiont/react-ui';\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\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\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 // API hooks\n const adminAPI = useAdmin();\n const backupMutation = adminAPI.exchange.backup.useMutation();\n const restoreMutation = adminAPI.exchange.restore.useMutation();\n\n // Local state\n const [selectedFile, setSelectedFile] = useState<File | null>(null);\n const [preview, setPreview] = useState<ImportPreview | null>(null);\n const [importPhase, setImportPhase] = useState<string | null>(null);\n const [importMessage, setImportMessage] = useState<string | undefined>();\n const [importResult, setImportResult] = useState<Record<string, unknown> | undefined>();\n\n const handleBackup = useCallback(() => {\n backupMutation.mutate();\n }, [backupMutation]);\n\n const handleFileSelected = useCallback(async (file: File) => {\n setSelectedFile(file);\n setImportPhase(null);\n setImportMessage(undefined);\n setImportResult(undefined);\n\n // For tar.gz backups, show basic info\n setPreview({\n format: file.name.endsWith('.tar.gz') || file.name.endsWith('.gz') ? 'semiont-backup' : 'unknown',\n version: 1,\n sourceUrl: '',\n stats: {},\n });\n }, []);\n\n const handleRestore = useCallback(() => {\n if (!selectedFile) return;\n\n setImportPhase('started');\n setImportMessage(undefined);\n setImportResult(undefined);\n\n restoreMutation.mutate({\n file: selectedFile,\n onProgress: (event) => {\n setImportPhase(event.phase);\n setImportMessage(event.message);\n if (event.result) {\n setImportResult(event.result);\n }\n },\n });\n }, [selectedFile, restoreMutation]);\n\n const handleCancelRestore = useCallback(() => {\n setSelectedFile(null);\n setPreview(null);\n setImportPhase(null);\n setImportMessage(undefined);\n setImportResult(undefined);\n }, []);\n\n return (\n <AdminExchangePage\n onExport={handleBackup}\n isExporting={backupMutation.isPending}\n onFileSelected={handleFileSelected}\n onImport={handleRestore}\n onCancelImport={handleCancelRestore}\n selectedFile={selectedFile}\n preview={preview}\n isImporting={restoreMutation.isPending}\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","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","adminAPI","useAdmin","backupMutation","restoreMutation","selectedFile","setSelectedFile","useState","preview","setPreview","importPhase","setImportPhase","importMessage","setImportMessage","importResult","setImportResult","handleBackup","handleFileSelected","file","handleRestore","event","handleCancelRestore","jsx","AdminExchangePage","ToolbarPanels","Toolbar"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{j as h}from"./query-B6BuIB0M.js";import{r as t}from"./vendor-DJo4KD8w.js";import{f as b,g as v,h as C,i as P,z as T,D as y,T as L}from"./index-C5oI0kaf.js";import{T as w}from"./ToolbarPanels-CfaOVIc9.js";import{u as A}from"./i18n-BbpF47i1.js";import"./routing-Cm_oCwum.js";import"./XMarkIcon-KMKD47CF.js";function k(){const{t:a}=A(),o=(n,D)=>a(`AdminSecurity.${n}`,D),{activePanel:r}=b(),{theme:l,setTheme:i}=v(),{showLineNumbers:c,toggleLineNumbers:s}=C(),d=t.useCallback(({theme:n})=>{i(n)},[i]),m=t.useCallback(()=>{s()},[s]);P({"settings:theme-changed":d,"settings:line-numbers-toggled":m});const u=T(),{data:e,isLoading:g}=u.oauth.config.useQuery(),f=(e==null?void 0:e.allowedDomains)??[],p=(e==null?void 0:e.providers)??[];return h.jsx(y,{providers:p,allowedDomains:f,isLoading:g,theme:l,showLineNumbers:c,activePanel:r,translations:{title:o("title"),subtitle:o("subtitle"),oauthProviders:o("oauthProviders"),oauthProvidersDescription:o("oauthProvidersDescription"),clientId:o("clientId"),configured:o("configured"),noProvidersConfigured:o("noProvidersConfigured"),allowedDomains:o("allowedDomains"),allowedDomainsDescription:o("allowedDomainsDescription"),noDomainsConfigured:o("noDomainsConfigured"),configManagementTitle:o("configManagementTitle"),configManagementDescription:o("configManagementDescription"),configLocalDev:o("configLocalDev"),configCloudDeploy:o("configCloudDeploy"),configCloudDeployCommand:o("configCloudDeployCommand"),configCloudDeployEnd:o("configCloudDeployEnd"),configAWS:o("configAWS")},ToolbarPanels:w,Toolbar:L})}export{k as default};
2
- //# sourceMappingURL=client-DeL0szs5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-DeL0szs5.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, { useEffect, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useAdmin, Toolbar } from '@semiont/react-ui';\nimport type { paths } from '@semiont/core';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { AdminSecurityPage } from '@semiont/react-ui';\nimport type { OAuthProvider } from '@semiont/react-ui';\n\ntype ResponseContent<T> = T extends { responses: { 200: { content: { 'application/json': infer R } } } } ? R : never;\ntype OAuthConfigResponse = ResponseContent<paths['/api/admin/oauth/config']['get']>;\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 // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n // Handle theme change events\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n // Handle line numbers toggle events\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 // Get OAuth configuration from API\n const adminAPI = useAdmin();\n const { data: oauthConfig, isLoading: oauthLoading } = adminAPI.oauth.config.useQuery();\n\n const allowedDomains = (oauthConfig as OAuthConfigResponse | undefined)?.allowedDomains ?? [];\n const providers = (oauthConfig as OAuthConfigResponse | undefined)?.providers ?? [];\n\n return (\n <AdminSecurityPage\n providers={providers as OAuthProvider[]}\n allowedDomains={allowedDomains}\n isLoading={oauthLoading}\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","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","adminAPI","useAdmin","oauthConfig","oauthLoading","allowedDomains","providers","jsx","AdminSecurityPage","ToolbarPanels","Toolbar"],"mappings":"wTAmBA,SAAwBA,GAAgB,CACtC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,iBAAiBG,CAAC,GAAIC,CAAQ,EAGjF,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAGzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAGPO,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtBK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAGD,MAAME,EAAWC,EAAA,EACX,CAAE,KAAMC,EAAa,UAAWC,GAAiBH,EAAS,MAAM,OAAO,SAAA,EAEvEI,GAAkBF,GAAA,YAAAA,EAAiD,iBAAkB,CAAA,EACrFG,GAAaH,GAAA,YAAAA,EAAiD,YAAa,CAAA,EAEjF,OACEI,EAAAA,IAACC,EAAA,CACC,UAAAF,EACA,eAAAD,EACA,UAAWD,EACX,MAAAb,EACA,gBAAAG,EACA,YAAAL,EACA,aAAc,CACZ,MAAOH,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,cAAAuB,EACA,QAAAC,CAAA,CAAA,CAGN"}