@xyo-network/react-archivist 7.5.8 → 7.5.11

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 (33) hide show
  1. package/dist/browser/index.mjs +212 -300
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/package.json +150 -45
  4. package/src/components/Card/Card.stories.tsx +0 -82
  5. package/src/components/Card/Card.tsx +0 -22
  6. package/src/components/Card/CardActions.tsx +0 -9
  7. package/src/components/Card/CardContent.tsx +0 -42
  8. package/src/components/Card/CardHeader.tsx +0 -27
  9. package/src/components/Card/components/ArchivistParent.tsx +0 -26
  10. package/src/components/Card/components/ArchivistParents.tsx +0 -53
  11. package/src/components/Card/components/Stats/ArchivistStats.stories.tsx +0 -36
  12. package/src/components/Card/components/Stats/ArchivistStats.tsx +0 -60
  13. package/src/components/Card/components/Stats/MemoryArchivistStats.stories.tsx +0 -60
  14. package/src/components/Card/components/Stats/MemoryArchivistStats.tsx +0 -83
  15. package/src/components/Card/components/Stats/index.ts +0 -2
  16. package/src/components/Card/components/index.ts +0 -3
  17. package/src/components/Card/index.ts +0 -3
  18. package/src/components/Details/Details.stories.tsx +0 -74
  19. package/src/components/Details/Details.tsx +0 -74
  20. package/src/components/Details/index.ts +0 -1
  21. package/src/components/index.ts +0 -2
  22. package/src/hooks/index.ts +0 -2
  23. package/src/hooks/node/index.ts +0 -4
  24. package/src/hooks/node/useArchivistFromNode.tsx +0 -19
  25. package/src/hooks/node/useArchivistsFromNode.tsx +0 -28
  26. package/src/hooks/node/useWeakArchivistFromNode.tsx +0 -11
  27. package/src/hooks/node/useWeakArchivistsFromNode.tsx +0 -27
  28. package/src/hooks/queries/index.ts +0 -4
  29. package/src/hooks/queries/useArchivistAll.tsx +0 -22
  30. package/src/hooks/queries/useArchivistGet.tsx +0 -21
  31. package/src/hooks/queries/useWeakArchivistAll.tsx +0 -22
  32. package/src/hooks/queries/useWeakArchivistGet.tsx +0 -22
  33. package/src/index.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/components/ArchivistParent.tsx","../../src/components/Card/components/ArchivistParents.tsx","../../src/components/Card/components/Stats/ArchivistStats.tsx","../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx","../../src/hooks/queries/useWeakArchivistAll.tsx","../../src/hooks/queries/useWeakArchivistGet.tsx"],"sourcesContent":["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardActions } from '@xyo-network/react-module'\nimport React from 'react'\n\nimport { ArchivistCardContent } from './CardContent.tsx'\nimport { ArchivistCardHeader } from './CardHeader.tsx'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({\n children, mod, ...props\n}) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader mod={mod} />\n <ArchivistCardContent mod={mod} />\n {children}\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import type { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardContent } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components/index.ts'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({\n children, mod, ...props\n}) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\n async (mounted) => {\n if (wallet && mod) {\n const wrapper = ModuleWrapper.wrap(mod, wallet)\n const payloads = await wrapper?.state()\n if (mounted()) {\n setConfig(payloads?.[0] as ArchivistConfig)\n }\n } else {\n setConfig(undefined)\n }\n },\n [mod, wallet],\n )\n\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {children}\n <ArchivistParents config={config} />\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { ListItem, Typography } from '@mui/material'\nimport React from 'react'\n\nexport interface ArchivistTypeProps {\n archivistType?: 'Commit' | 'Read' | 'Write'\n parentArchivists?: string[]\n}\n\nexport const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (\n <>\n {parentArchivists?.map((address) => {\n return (\n <ListItem key={address}>\n <Typography variant=\"subtitle2\">\n {archivistType}\n :\n {' '}\n <Typography variant=\"caption\" sx={{ ml: 0.5 }}>\n {address}\n </Typography>\n </Typography>\n </ListItem>\n )\n })}\n </>\n)\n","import { ArrowRightRounded as ArrowRightRoundedIcon } from '@mui/icons-material'\nimport {\n Collapse, IconButton, List, Paper, Typography,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig } from '@xyo-network/archivist-model'\nimport React, { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent.tsx'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const {\n commit, read, write,\n } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write\n ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography\n variant=\"subtitle2\"\n sx={{ cursor: 'pointer', display: 'inline-block' }}\n >\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n )\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\nimport { BsFileEarmarkCode } from 'react-icons/bs'\nimport {\n VscOrganization, VscSymbolMethod, VscSymbolNamespace,\n} from 'react-icons/vsc'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({\n addresses, boundWitnesses, payloads, schemas,\n}) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length\n ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {boundWitnesses?.length\n ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(schemas ?? {}).length > 0\n ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas ?? {}).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(addresses ?? {}).length > 0\n ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses ?? {}).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n </FlexRow>\n )\n}\n","import type { EventUnsubscribeFunction } from '@xylabs/events'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ArchivistAllQuerySchema } from '@xyo-network/archivist-model'\nimport { asBoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, {\n useCallback, useEffect, useMemo, useState,\n} from 'react'\n\nimport { ArchivistStats } from './ArchivistStats.tsx'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => {\n for (const listener of listeners) listener?.()\n }\n }, [archivist, getAll])\n\n useAsyncEffect(\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter(payload => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter(payload => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(() => {\n const addressCounts: Record<string, number> = {}\n if (all) {\n for (const payload of all) {\n const w = asBoundWitness(payload)\n if (w?.addresses) {\n for (const address of w.addresses) {\n addressCounts[address] = (addressCounts[address] ?? 0) + 1\n }\n }\n }\n }\n return addressCounts\n }, [all])\n const schemas = useMemo(() => {\n const schemaCounts: Record<string, number> = {}\n if (all) {\n for (const payload of all) {\n schemaCounts[payload.schema] = (schemaCounts[payload.schema] ?? 0) + 1\n }\n }\n return schemaCounts\n }, [all])\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport { MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardHeader } from '@xyo-network/react-module'\nimport React, { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components/index.ts'\n\nconst ArchivistStats = (archivist?: ArchivistInstance) => {\n const { config } = archivist ?? {}\n switch (config?.schema) {\n case MemoryArchivistConfigSchema: {\n return <MemoryArchivistsStats archivist={archivist} />\n }\n default: {\n return\n }\n }\n}\n\nexport const ArchivistCardHeader: React.FC<ModuleRenderProps<ArchivistInstance> & CardHeaderProps> = ({\n title, mod, ...props\n}) => {\n const Stats = useMemo(() => ArchivistStats(mod), [mod])\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Archivist'} action={Stats} {...props} />\n}\n","import { ButtonGroup, Typography } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistClearQuerySchema, ArchivistCommitQuerySchema } from '@xyo-network/archivist-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, { useState } from 'react'\n\nimport { useWeakArchivistFromNode } from '../../hooks/index.ts'\n\nconst testQueryCommit = { schema: ArchivistCommitQuerySchema }\nconst testQueryCommitBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryCommit)\n\nconst testQueryClear = { schema: ArchivistClearQuerySchema }\nconst testQueryClearBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryClear)\n\nexport interface ArchivistDetailsProps extends FlexBoxProps {\n address?: string\n}\n\nexport const ArchivistDetails: React.FC<ArchivistDetailsProps> = ({ address, ...props }) => {\n const [archivist] = useWeakArchivistFromNode(address)\n const [payloads, setPayloads] = useState<Payload[]>()\n const [refresh, setRefresh] = useState(0)\n const [queryableCommit, setQueryableCommit] = useState(false)\n const [queryableClear, setQueryableClear] = useState(false)\n\n useAsyncEffect(\n async () => {\n const instance = archivist?.deref()\n if (instance) {\n const [commitBW] = await testQueryCommitBoundWitnessBuilder.build()\n const [clearBW] = await testQueryClearBoundWitnessBuilder.build()\n setQueryableCommit(await instance?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await instance?.queryable(clearBW, [testQueryClear]))\n }\n },\n [archivist],\n )\n\n useAsyncEffect(\n async (mounted) => {\n const payloads = await archivist?.deref()?.all?.()\n if (mounted()) {\n setPayloads(payloads)\n }\n },\n [archivist, refresh],\n )\n\n return (\n <FlexCol {...props}>\n <Typography>{`Payloads: ${payloads ? payloads.length : '-'}`}</Typography>\n <ButtonGroup>\n <ButtonEx disabled={payloads?.length === 0 || !archivist || !queryableCommit} onClick={() => archivist?.deref()?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.deref()?.clear?.()}>\n Clear\n </ButtonEx>\n <ButtonEx\n disabled={!archivist}\n onClick={() => {\n setRefresh(refresh + 1)\n }}\n >\n Refresh\n </ButtonEx>\n </ButtonGroup>\n </FlexCol>\n )\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModuleFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistFromNode */\nexport const useArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistsFromNode */\nexport const useArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return modules\n ? [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<ArchivistInstance[]>((prev, mod) => {\n if (isArchivistInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<ArchivistInstance>(nameOrAddressOrInstance, { identity: isArchivistInstance, ...config })\n}\n","import { exists } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModulesFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asArchivistInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { useRefresh } from '@xyo-network/react-module'\n\nexport const useArchivistGet = <T extends Payload = Payload>(\n archivist?: ArchivistInstance | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n if (enabled && archivist && hashes) {\n return (await archivist.get(hashes)) as WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useWeakArchivistAll = (archivist: WeakRef<ArchivistInstance>) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.deref()?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { useRefresh } from '@xyo-network/react-module'\n\nexport const useWeakArchivistGet = <T extends Payload = Payload>(\n archivist?: WeakRef<ArchivistInstance> | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n const archivistInstance = archivist?.deref()\n if (enabled && archivistInstance && hashes) {\n return (await archivistInstance.get(hashes)) as WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n"],"mappings":"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","names":["Card","ModuleCardActions","React","useAsyncEffect","FlexGrowRow","ModuleWrapper","ModuleCardContent","useWallet","React","useState","ListItem","Typography","React","ArchivistParent","archivistType","parentArchivists","map","address","ListItem","key","Typography","variant","sx","ml","ArrowRightRounded","ArrowRightRoundedIcon","Collapse","IconButton","List","Paper","Typography","FlexCol","React","useState","ArchivistParents","config","props","parentArchivistCollapse","setParentArchivistCollapse","useState","commit","read","write","parents","React","FlexCol","alignItems","span","onClick","Typography","variant","sx","cursor","display","IconButton","size","ArrowRightRoundedIcon","rotate","transition","Collapse","in","Paper","elevation","List","ArchivistParent","archivistType","parentArchivists","Badge","Tooltip","FlexRow","React","BsFileEarmarkCode","VscOrganization","VscSymbolMethod","VscSymbolNamespace","ArchivistStats","addresses","boundWitnesses","payloads","schemas","React","FlexRow","gap","mr","length","Tooltip","title","Badge","badgeContent","color","VscSymbolNamespace","size","VscSymbolMethod","Object","entries","BsFileEarmarkCode","VscOrganization","useAsyncEffect","ArchivistAllQuerySchema","asBoundWitness","BoundWitnessSchema","React","useCallback","useEffect","useMemo","useState","MemoryArchivistsStats","archivist","all","setAll","useState","getAll","useCallback","useEffect","listeners","queries","includes","ArchivistAllQuerySchema","insertListener","on","push","clearListener","listener","useAsyncEffect","payloads","useMemo","filter","payload","schema","BoundWitnessSchema","boundWitnesses","addresses","addressCounts","w","asBoundWitness","address","schemas","schemaCounts","React","ArchivistStats","ArchivistCardContent","children","mod","props","config","setConfig","useState","wallet","useWallet","useAsyncEffect","mounted","wrapper","ModuleWrapper","wrap","payloads","state","undefined","React","ModuleCardContent","FlexGrowRow","flexWrap","justifyContent","gap","ArchivistParents","MemoryArchivistConfigSchema","ModuleCardHeader","React","useMemo","ArchivistStats","archivist","config","schema","MemoryArchivistConfigSchema","React","MemoryArchivistsStats","ArchivistCardHeader","title","mod","props","Stats","useMemo","ModuleCardHeader","name","action","ArchivistCard","children","mod","props","React","Card","ArchivistCardHeader","ArchivistCardContent","ModuleCardActions","ButtonGroup","Typography","useAsyncEffect","ButtonEx","FlexCol","ArchivistClearQuerySchema","ArchivistCommitQuerySchema","QueryBoundWitnessBuilder","React","useState","asArchivistInstance","useModuleFromNode","useArchivistFromNode","nameOrAddressOrInstance","config","mod","error","useModuleFromNode","instance","asArchivistInstance","Error","schema","name","address","console","message","undefined","isArchivistInstance","useModulesFromNode","useArchivistsFromNode","ids","config","modules","error","useModulesFromNode","reduce","prev","mod","isArchivistInstance","push","undefined","isArchivistInstance","useWeakModuleFromNode","useWeakArchivistFromNode","nameOrAddressOrInstance","config","useWeakModuleFromNode","identity","isArchivistInstance","exists","asArchivistInstance","useWeakModulesFromNode","useWeakArchivistsFromNode","ids","config","modules","error","useWeakModulesFromNode","map","mod","instance","asArchivistInstance","deref","WeakRef","filter","exists","undefined","usePromise","useRefresh","useState","useArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","all","ex","usePromise","useRefresh","useArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","get","usePromise","useRefresh","useState","useWeakArchivistAll","archivist","error","setError","useState","enabled","refresh","useRefresh","payloads","usePromise","deref","all","ex","usePromise","useRefresh","useWeakArchivistGet","archivist","hashes","enabled","refresh","useRefresh","payloads","error","usePromise","archivistInstance","deref","get","testQueryCommit","schema","ArchivistCommitQuerySchema","testQueryCommitBoundWitnessBuilder","QueryBoundWitnessBuilder","query","testQueryClear","ArchivistClearQuerySchema","testQueryClearBoundWitnessBuilder","ArchivistDetails","address","props","archivist","useWeakArchivistFromNode","payloads","setPayloads","useState","refresh","setRefresh","queryableCommit","setQueryableCommit","queryableClear","setQueryableClear","useAsyncEffect","instance","deref","commitBW","build","clearBW","queryable","mounted","all","React","FlexCol","Typography","length","ButtonGroup","ButtonEx","disabled","onClick","commit","clear"]}
1
+ {"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/components/ArchivistParent.tsx","../../src/components/Card/components/ArchivistParents.tsx","../../src/components/Card/components/Stats/ArchivistStats.tsx","../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Details/Details.tsx","../../src/hooks/node/useArchivistFromNode.tsx","../../src/hooks/node/useArchivistsFromNode.tsx","../../src/hooks/node/useWeakArchivistFromNode.tsx","../../src/hooks/node/useWeakArchivistsFromNode.tsx","../../src/hooks/queries/useArchivistAll.tsx","../../src/hooks/queries/useArchivistGet.tsx","../../src/hooks/queries/useWeakArchivistAll.tsx","../../src/hooks/queries/useWeakArchivistGet.tsx"],"sourcesContent":["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardActions } from '@xyo-network/react-module'\nimport React from 'react'\n\nimport { ArchivistCardContent } from './CardContent.tsx'\nimport { ArchivistCardHeader } from './CardHeader.tsx'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({\n children, mod, ...props\n}) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader mod={mod} />\n <ArchivistCardContent mod={mod} />\n {children}\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import type { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardContent } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components/index.ts'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({\n children, mod, ...props\n}) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\n async (mounted) => {\n if (wallet && mod) {\n const wrapper = ModuleWrapper.wrap(mod, wallet)\n const payloads = await wrapper?.state()\n if (mounted()) {\n setConfig(payloads?.[0] as ArchivistConfig)\n }\n } else {\n setConfig(undefined)\n }\n },\n [mod, wallet],\n )\n\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {children}\n <ArchivistParents config={config} />\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { ListItem, Typography } from '@mui/material'\nimport React from 'react'\n\nexport interface ArchivistTypeProps {\n archivistType?: 'Commit' | 'Read' | 'Write'\n parentArchivists?: string[]\n}\n\nexport const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (\n <>\n {parentArchivists?.map((address) => {\n return (\n <ListItem key={address}>\n <Typography variant=\"subtitle2\">\n {archivistType}\n :\n {' '}\n <Typography variant=\"caption\" sx={{ ml: 0.5 }}>\n {address}\n </Typography>\n </Typography>\n </ListItem>\n )\n })}\n </>\n)\n","import { ArrowRightRounded as ArrowRightRoundedIcon } from '@mui/icons-material'\nimport {\n Collapse, IconButton, List, Paper, Typography,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { ArchivistConfig } from '@xyo-network/archivist-model'\nimport React, { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent.tsx'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const {\n commit, read, write,\n } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write\n ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography\n variant=\"subtitle2\"\n sx={{ cursor: 'pointer', display: 'inline-block' }}\n >\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n )\n : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React from 'react'\nimport { BsFileEarmarkCode } from 'react-icons/bs'\nimport {\n VscOrganization, VscSymbolMethod, VscSymbolNamespace,\n} from 'react-icons/vsc'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({\n addresses, boundWitnesses, payloads, schemas,\n}) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length\n ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {boundWitnesses?.length\n ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(schemas ?? {}).length > 0\n ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas ?? {}).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n {Object.entries(addresses ?? {}).length > 0\n ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses ?? {}).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n )\n : null}\n </FlexRow>\n )\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { EventUnsubscribeFunction } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { ArchivistAllQuerySchema } from '@xyo-network/archivist-model'\nimport { asBoundWitness, BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, {\n useCallback, useEffect, useMemo, useState,\n} from 'react'\n\nimport { ArchivistStats } from './ArchivistStats.tsx'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => {\n for (const listener of listeners) listener?.()\n }\n }, [archivist, getAll])\n\n useAsyncEffect(\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter(payload => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter(payload => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(() => {\n const addressCounts: Record<string, number> = {}\n if (all) {\n for (const payload of all) {\n const w = asBoundWitness(payload)\n if (w?.addresses) {\n for (const address of w.addresses) {\n addressCounts[address] = (addressCounts[address] ?? 0) + 1\n }\n }\n }\n }\n return addressCounts\n }, [all])\n const schemas = useMemo(() => {\n const schemaCounts: Record<string, number> = {}\n if (all) {\n for (const payload of all) {\n schemaCounts[payload.schema] = (schemaCounts[payload.schema] ?? 0) + 1\n }\n }\n return schemaCounts\n }, [all])\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport { MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardHeader } from '@xyo-network/react-module'\nimport React, { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components/index.ts'\n\nconst ArchivistStats = (archivist?: ArchivistInstance) => {\n const { config } = archivist ?? {}\n switch (config?.schema) {\n case MemoryArchivistConfigSchema: {\n return <MemoryArchivistsStats archivist={archivist} />\n }\n default: {\n return\n }\n }\n}\n\nexport const ArchivistCardHeader: React.FC<ModuleRenderProps<ArchivistInstance> & CardHeaderProps> = ({\n title, mod, ...props\n}) => {\n const Stats = useMemo(() => ArchivistStats(mod), [mod])\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Archivist'} action={Stats} {...props} />\n}\n","import { ButtonGroup, Typography } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistClearQuerySchema, ArchivistCommitQuerySchema } from '@xyo-network/archivist-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport type { Payload } from '@xyo-network/payload-model'\nimport React, { useState } from 'react'\n\nimport { useWeakArchivistFromNode } from '../../hooks/index.ts'\n\nconst testQueryCommit = { schema: ArchivistCommitQuerySchema }\nconst testQueryCommitBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryCommit)\n\nconst testQueryClear = { schema: ArchivistClearQuerySchema }\nconst testQueryClearBoundWitnessBuilder = new QueryBoundWitnessBuilder().query(testQueryClear)\n\nexport interface ArchivistDetailsProps extends FlexBoxProps {\n address?: string\n}\n\nexport const ArchivistDetails: React.FC<ArchivistDetailsProps> = ({ address, ...props }) => {\n const [archivist] = useWeakArchivistFromNode(address)\n const [payloads, setPayloads] = useState<Payload[]>()\n const [refresh, setRefresh] = useState(0)\n const [queryableCommit, setQueryableCommit] = useState(false)\n const [queryableClear, setQueryableClear] = useState(false)\n\n useAsyncEffect(\n async () => {\n const instance = archivist?.deref()\n if (instance) {\n const [commitBW] = await testQueryCommitBoundWitnessBuilder.build()\n const [clearBW] = await testQueryClearBoundWitnessBuilder.build()\n setQueryableCommit(await instance?.queryable(commitBW, [testQueryCommit]))\n setQueryableClear(await instance?.queryable(clearBW, [testQueryClear]))\n }\n },\n [archivist],\n )\n\n useAsyncEffect(\n async (mounted) => {\n const payloads = await archivist?.deref()?.all?.()\n if (mounted()) {\n setPayloads(payloads)\n }\n },\n [archivist, refresh],\n )\n\n return (\n <FlexCol {...props}>\n <Typography>{`Payloads: ${payloads ? payloads.length : '-'}`}</Typography>\n <ButtonGroup>\n <ButtonEx disabled={payloads?.length === 0 || !archivist || !queryableCommit} onClick={() => archivist?.deref()?.commit?.()}>\n Commit\n </ButtonEx>\n <ButtonEx disabled={!archivist || !queryableClear} onClick={() => archivist?.deref()?.clear?.()}>\n Clear\n </ButtonEx>\n <ButtonEx\n disabled={!archivist}\n onClick={() => {\n setRefresh(refresh + 1)\n }}\n >\n Refresh\n </ButtonEx>\n </ButtonGroup>\n </FlexCol>\n )\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModuleFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistFromNode */\nexport const useArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asArchivistInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a ArchivistInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\n/** @deprecated use useWeakArchivistsFromNode */\nexport const useArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [ArchivistInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return modules\n ? [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<ArchivistInstance[]>((prev, mod) => {\n if (isArchivistInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { isArchivistInstance } from '@xyo-network/archivist-model'\nimport type { WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModuleFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistFromNode = (\n nameOrAddressOrInstance?: string | ArchivistInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<ArchivistInstance>(nameOrAddressOrInstance, { identity: isArchivistInstance, ...config })\n}\n","import { exists } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModulesFromNode } from '@xyo-network/react-node'\n\nexport const useWeakArchivistsFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WeakRef<ArchivistInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asArchivistInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useArchivistAll = (archivist: ArchivistInstance) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { useRefresh } from '@xyo-network/react-module'\n\nexport const useArchivistGet = <T extends Payload = Payload>(\n archivist?: ArchivistInstance | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n if (enabled && archivist && hashes) {\n return (await archivist.get(hashes)) as WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { useRefresh } from '@xyo-network/react-module'\nimport { useState } from 'react'\n\nexport const useWeakArchivistAll = (archivist: WeakRef<ArchivistInstance>) => {\n const [error, setError] = useState<Error>()\n const [enabled, refresh] = useRefresh()\n\n const payloads = usePromise(async () => {\n try {\n if (enabled) {\n return await archivist?.deref()?.all?.()\n }\n } catch (ex) {\n const error = ex as Error\n setError(error)\n }\n }, [archivist, enabled])\n\n return [payloads, error, refresh]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\nimport type { RefreshCallback } from '@xyo-network/react-module'\nimport { useRefresh } from '@xyo-network/react-module'\n\nexport const useWeakArchivistGet = <T extends Payload = Payload>(\n archivist?: WeakRef<ArchivistInstance> | null,\n hashes?: Hash[],\n): [T[] | undefined, Error | undefined, RefreshCallback] => {\n const [enabled, refresh] = useRefresh()\n\n const [payloads, error] = usePromise(async () => {\n const archivistInstance = archivist?.deref()\n if (enabled && archivistInstance && hashes) {\n return (await archivistInstance.get(hashes)) as WithStorageMeta<T>[]\n }\n }, [archivist, hashes, enabled])\n\n return [payloads, error, refresh]\n}\n"],"mappings":"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","names":["useAsyncEffect","useState","Typography","Fragment","jsx","jsxs","Typography","jsx","jsxs","useState","jsx","useState","archivist","all","jsx","jsxs","useState","useAsyncEffect","useMemo","jsx","ArchivistStats","useMemo","jsx","jsxs","Typography","useAsyncEffect","FlexCol","useState","error","isArchivistInstance","asArchivistInstance","useState","error","usePromise","useRefresh","usePromise","useRefresh","useState","error","usePromise","useRefresh","jsx","jsxs","useState","useAsyncEffect","payloads","FlexCol","Typography"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-archivist",
3
- "version": "7.5.8",
3
+ "version": "7.5.11",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -36,63 +36,168 @@
36
36
  },
37
37
  "./package.json": "./package.json"
38
38
  },
39
- "module": "dist/browser/index.mjs",
40
- "types": "dist/browser/index.d.ts",
41
39
  "files": [
42
40
  "dist",
43
- "src"
41
+ "README.md"
44
42
  ],
45
43
  "dependencies": {
46
- "@xylabs/react-async-effect": "~7.1.17",
47
- "@xylabs/react-button": "~7.1.17",
48
- "@xylabs/react-flexbox": "~7.1.17",
49
- "@xylabs/react-promise": "~7.1.17",
50
- "@xylabs/sdk-js": "~5.0.90",
51
- "@xyo-network/archivist-memory": "~5.3.17",
52
- "@xyo-network/archivist-model": "~5.3.17",
53
- "@xyo-network/boundwitness-builder": "~5.3.17",
54
- "@xyo-network/boundwitness-model": "~5.3.17",
55
- "@xyo-network/module-model": "~5.3.17",
56
- "@xyo-network/module-wrapper": "~5.3.17",
57
- "@xyo-network/payload-model": "~5.3.17",
58
- "@xyo-network/react-module": "7.5.8",
59
- "@xyo-network/react-node": "7.5.8",
60
- "@xyo-network/react-wallet": "7.5.8",
61
- "react-icons": "^5.6.0"
44
+ "@xyo-network/react-module": "~7.5.11",
45
+ "@xyo-network/react-node": "~7.5.11",
46
+ "@xyo-network/react-wallet": "~7.5.11"
62
47
  },
63
48
  "devDependencies": {
64
- "@mui/icons-material": "~7.3.9",
65
- "@mui/material": "~7.3.9",
66
- "@storybook/react-vite": "~10.3.3",
49
+ "@bitauth/libauth": "~3.0.0",
50
+ "@emotion/react": "^11.14.0",
51
+ "@mui/icons-material": "^7.3.10",
52
+ "@mui/material": "^7.3.10",
53
+ "@mui/system": "^7.3.10",
54
+ "@mui/x-tree-view": "~8.27.2",
55
+ "@opentelemetry/api": "^1.9.1",
56
+ "@opentelemetry/sdk-trace-base": "^2.7.0",
57
+ "@scure/base": "~2.2.0",
58
+ "@scure/bip39": "~2.2.0",
59
+ "@storybook/react-vite": "~10.3.5",
60
+ "@types/node": "~25.6.0",
67
61
  "@types/react": "^19.2.14",
68
- "@xylabs/events": "~5.0.90",
69
- "@xylabs/ts-scripts-common": "~7.5.6",
70
- "@xylabs/ts-scripts-yarn3": "~7.5.6",
71
- "@xylabs/tsconfig": "~7.5.6",
72
- "@xylabs/tsconfig-dom": "~7.5.6",
73
- "@xylabs/tsconfig-react": "~7.5.6",
74
- "@xyo-network/account": "~5.3.17",
75
- "@xyo-network/node-memory": "~5.3.17",
76
- "ethers": "~6",
77
- "react": "^19.2.4",
78
- "react-dom": "^19.2.4",
79
- "react-router-dom": "^7.13.2",
80
- "storybook": "~10.3.3",
62
+ "@xylabs/react-async-effect": "~7.1.20",
63
+ "@xylabs/react-button": "~7.1.20",
64
+ "@xylabs/react-crypto": "~7.1.20",
65
+ "@xylabs/react-dialogs": "~7.1.20",
66
+ "@xylabs/react-flexbox": "~7.1.20",
67
+ "@xylabs/react-hooks": "~7.1.20",
68
+ "@xylabs/react-identicon": "~7.1.20",
69
+ "@xylabs/react-link": "~7.1.20",
70
+ "@xylabs/react-number-status": "~7.1.20",
71
+ "@xylabs/react-promise": "~7.1.20",
72
+ "@xylabs/react-quick-tip-button": "~7.1.20",
73
+ "@xylabs/react-select": "~7.1.20",
74
+ "@xylabs/react-shared": "~7.1.20",
75
+ "@xylabs/react-theme": "~7.1.20",
76
+ "@xylabs/sdk-js": "^5.0.100",
77
+ "@xylabs/threads": "~5.0.100",
78
+ "@xylabs/toolchain": "~7.11.9",
79
+ "@xylabs/tsconfig": "^7.11.9",
80
+ "@xylabs/tsconfig-dom": "^7.11.9",
81
+ "@xylabs/tsconfig-react": "~7.11.9",
82
+ "@xylabs/zod": "~5.0.100",
83
+ "@xyo-network/account": "~5.5.1",
84
+ "@xyo-network/account-model": "^5.5.1",
85
+ "@xyo-network/archivist-memory": "~5.5.5",
86
+ "@xyo-network/archivist-model": "^5.5.5",
87
+ "@xyo-network/boundwitness-builder": "^5.5.1",
88
+ "@xyo-network/boundwitness-model": "^5.5.1",
89
+ "@xyo-network/boundwitness-validator": "^5.5.1",
90
+ "@xyo-network/boundwitness-wrapper": "~5.5.1",
91
+ "@xyo-network/config-payload-plugin": "~5.5.1",
92
+ "@xyo-network/diviner-model": "^5.5.5",
93
+ "@xyo-network/manifest-model": "~5.5.1",
94
+ "@xyo-network/module-abstract": "^5.5.5",
95
+ "@xyo-network/module-model": "^5.5.5",
96
+ "@xyo-network/module-wrapper": "~5.5.5",
97
+ "@xyo-network/network": "~5.5.1",
98
+ "@xyo-network/node-memory": "~5.5.5",
99
+ "@xyo-network/node-model": "^5.5.5",
100
+ "@xyo-network/payload-builder": "^5.5.1",
101
+ "@xyo-network/payload-model": "^5.5.1",
102
+ "@xyo-network/query-payload-plugin": "~5.5.1",
103
+ "@xyo-network/wallet": "~5.5.1",
104
+ "@xyo-network/wallet-model": "^5.5.1",
105
+ "async-mutex": "^0.5.0",
106
+ "axios": "^1.15.2",
107
+ "bn.js": "^5.2.3",
108
+ "bowser": "^2.14.1",
109
+ "buffer": "^6.0.3",
110
+ "chalk": "^5.6.2",
111
+ "debug": "~4.4.3",
112
+ "esbuild": "~0.28.0",
113
+ "eslint": "^10.2.1",
114
+ "ethers": "^6.16.0",
115
+ "fast-deep-equal": "~3.1.3",
116
+ "hash-wasm": "~4.12.0",
117
+ "js-cookie": "~3.0.5",
118
+ "lru-cache": "^11.3.5",
119
+ "observable-fns": "~0.6.1",
120
+ "pako": "^2.1.0",
121
+ "react": "^19.2.5",
122
+ "react-dom": "^19.2.5",
123
+ "react-icons": "~5.6.0",
124
+ "react-router-dom": "^7.14.2",
125
+ "spark-md5": "~3.0.2",
126
+ "storybook": "^10.3.5",
81
127
  "typescript": "^5.9.3",
82
- "vite": "~8.0.3",
128
+ "vite": "^8.0.10",
129
+ "wasm-feature-detect": "~1.8.0",
83
130
  "zod": "^4.3.6"
84
131
  },
85
132
  "peerDependencies": {
86
- "@mui/icons-material": ">=6 <8",
87
- "@mui/material": ">=6 <8",
88
- "ethers": "~6",
89
- "react": "^19",
90
- "react-dom": "^19",
91
- "react-router-dom": "^7",
92
- "zod": "^4"
133
+ "@emotion/react": "^11.14.0",
134
+ "@mui/icons-material": "^7.3.10",
135
+ "@mui/material": "^7.3.10",
136
+ "@mui/system": "^7.3.10",
137
+ "@mui/x-tree-view": "~8.27.2",
138
+ "@opentelemetry/api": "^1.9.1",
139
+ "@opentelemetry/sdk-trace-base": "^2.7.0",
140
+ "@scure/base": "~2.2.0",
141
+ "@scure/bip39": "~2.2.0",
142
+ "@xylabs/react-async-effect": "~7.1.20",
143
+ "@xylabs/react-button": "~7.1.20",
144
+ "@xylabs/react-crypto": "~7.1.20",
145
+ "@xylabs/react-flexbox": "~7.1.20",
146
+ "@xylabs/react-hooks": "~7.1.20",
147
+ "@xylabs/react-identicon": "~7.1.20",
148
+ "@xylabs/react-link": "~7.1.20",
149
+ "@xylabs/react-number-status": "~7.1.20",
150
+ "@xylabs/react-promise": "~7.1.20",
151
+ "@xylabs/react-quick-tip-button": "~7.1.20",
152
+ "@xylabs/react-select": "~7.1.20",
153
+ "@xylabs/react-shared": "~7.1.20",
154
+ "@xylabs/react-theme": "~7.1.20",
155
+ "@xylabs/sdk-js": "^5.0.100",
156
+ "@xylabs/tsconfig": "^7.11.9",
157
+ "@xylabs/tsconfig-dom": "^7.11.9",
158
+ "@xylabs/zod": "~5.0.100",
159
+ "@xyo-network/account": "~5.5.1",
160
+ "@xyo-network/account-model": "^5.5.1",
161
+ "@xyo-network/archivist-memory": "~5.5.5",
162
+ "@xyo-network/archivist-model": "^5.5.5",
163
+ "@xyo-network/boundwitness-builder": "^5.5.1",
164
+ "@xyo-network/boundwitness-model": "^5.5.1",
165
+ "@xyo-network/boundwitness-validator": "^5.5.1",
166
+ "@xyo-network/boundwitness-wrapper": "~5.5.1",
167
+ "@xyo-network/config-payload-plugin": "~5.5.1",
168
+ "@xyo-network/diviner-model": "^5.5.5",
169
+ "@xyo-network/manifest-model": "~5.5.1",
170
+ "@xyo-network/module-abstract": "^5.5.5",
171
+ "@xyo-network/module-model": "^5.5.5",
172
+ "@xyo-network/module-wrapper": "~5.5.5",
173
+ "@xyo-network/network": "~5.5.1",
174
+ "@xyo-network/node-memory": "~5.5.5",
175
+ "@xyo-network/node-model": "^5.5.5",
176
+ "@xyo-network/payload-builder": "^5.5.1",
177
+ "@xyo-network/payload-model": "^5.5.1",
178
+ "@xyo-network/query-payload-plugin": "~5.5.1",
179
+ "@xyo-network/wallet": "~5.5.1",
180
+ "@xyo-network/wallet-model": "^5.5.1",
181
+ "async-mutex": "^0.5.0",
182
+ "axios": "^1.15.2",
183
+ "bn.js": "^5.2.3",
184
+ "bowser": "^2.14.1",
185
+ "buffer": "^6.0.3",
186
+ "chalk": "^5.6.2",
187
+ "ethers": "^6.16.0",
188
+ "fast-deep-equal": "~3.1.3",
189
+ "js-cookie": "~3.0.5",
190
+ "lru-cache": "^11.3.5",
191
+ "pako": "^2.1.0",
192
+ "react": "^19.2.5",
193
+ "react-dom": "^19.2.5",
194
+ "react-icons": "~5.6.0",
195
+ "react-router-dom": "^7.14.2",
196
+ "spark-md5": "~3.0.2",
197
+ "zod": "^4.3.6"
93
198
  },
94
199
  "publishConfig": {
95
200
  "access": "public"
96
201
  },
97
202
  "docs": "dist/docs.json"
98
- }
203
+ }
@@ -1,82 +0,0 @@
1
- import { Button } from '@mui/material'
2
- import type { Meta, StoryFn } from '@storybook/react-vite'
3
- import { FlexCol } from '@xylabs/react-flexbox'
4
- import { usePromise } from '@xylabs/react-promise'
5
- import { Account } from '@xyo-network/account'
6
- import { MemoryArchivist, MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'
7
- import type { ArchivistInstance } from '@xyo-network/archivist-model'
8
- import { ArchivistInsertQuerySchema } from '@xyo-network/archivist-model'
9
- import { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'
10
- import { MemoryNode } from '@xyo-network/node-memory'
11
- import { asSchema } from '@xyo-network/payload-model'
12
- import React from 'react'
13
-
14
- import { ArchivistCard } from './Card.tsx'
15
-
16
- const StorybookEntry = {
17
- component: ArchivistCard,
18
- parameters: { docs: { page: null } },
19
- title: 'modules/archivist/ArchivistCard',
20
- } as Meta<typeof ArchivistCard>
21
-
22
- const insertPayload = async (archivist?: ArchivistInstance) => {
23
- if (archivist) {
24
- const payload = { schema: asSchema('network.xyo.payload', true), timestamp: Date.now() }
25
- const insertQuery = { schema: ArchivistInsertQuerySchema }
26
- const account = await Account.random()
27
- const builder = new QueryBoundWitnessBuilder().payloads([insertQuery, payload]).signer(account).query(insertQuery)
28
- const [insertQueryBoundWitness, payloads] = await builder.build()
29
- await archivist.insert([insertQueryBoundWitness, ...payloads])
30
- }
31
- }
32
-
33
- const clearArchivist = async (archivist?: ArchivistInstance) => {
34
- await archivist?.clear?.()
35
- }
36
-
37
- const Template: StoryFn<typeof ArchivistCard> = () => {
38
- const [node] = usePromise(async () => {
39
- return await MemoryNode.create({})
40
- }, [])
41
-
42
- const [mod] = usePromise(async () => {
43
- if (node) {
44
- const newParentModule = await MemoryArchivist.create({})
45
- await node?.register(newParentModule)
46
- await node?.attach(newParentModule.address)
47
-
48
- const newModule = await MemoryArchivist.create({
49
- config: {
50
- name: 'MemoryArchivist',
51
- parents: {
52
- commit: [newParentModule.address], read: [newParentModule.address], write: [newParentModule.address],
53
- },
54
- schema: MemoryArchivistConfigSchema,
55
- },
56
- })
57
- await node?.register(newModule)
58
- await node?.attach(newModule.address)
59
-
60
- await insertPayload(newModule)
61
- return newModule
62
- }
63
- }, [node])
64
-
65
- return (
66
- <FlexCol gap={2}>
67
- <ArchivistCard mod={mod} />
68
- <Button onClick={() => insertPayload(mod)} variant="contained">
69
- Insert Into Archivist
70
- </Button>
71
- <Button onClick={() => clearArchivist(mod)} variant="contained">
72
- Clear Archivist
73
- </Button>
74
- </FlexCol>
75
- )
76
- }
77
-
78
- const SingleModule = Template.bind({})
79
-
80
- export { SingleModule }
81
-
82
- export default StorybookEntry
@@ -1,22 +0,0 @@
1
- import type { CardProps } from '@mui/material'
2
- import { Card } from '@mui/material'
3
- import type { ArchivistInstance } from '@xyo-network/archivist-model'
4
- import type { ModuleRenderProps } from '@xyo-network/react-module'
5
- import { ModuleCardActions } from '@xyo-network/react-module'
6
- import React from 'react'
7
-
8
- import { ArchivistCardContent } from './CardContent.tsx'
9
- import { ArchivistCardHeader } from './CardHeader.tsx'
10
-
11
- export const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({
12
- children, mod, ...props
13
- }) => {
14
- return (
15
- <Card {...props}>
16
- <ArchivistCardHeader mod={mod} />
17
- <ArchivistCardContent mod={mod} />
18
- {children}
19
- <ModuleCardActions mod={mod} />
20
- </Card>
21
- )
22
- }
@@ -1,9 +0,0 @@
1
- import type { CardActionsProps } from '@mui/material'
2
- import type { ArchivistInstance } from '@xyo-network/archivist-model'
3
- import type { ModuleRenderProps } from '@xyo-network/react-module'
4
- import { ModuleCardActions } from '@xyo-network/react-module'
5
- import React from 'react'
6
-
7
- export const ArchivistCardActions: React.FC<ModuleRenderProps<ArchivistInstance> & CardActionsProps> = (props) => {
8
- return <ModuleCardActions {...props} />
9
- }
@@ -1,42 +0,0 @@
1
- import type { CardContentProps } from '@mui/material'
2
- import { useAsyncEffect } from '@xylabs/react-async-effect'
3
- import { FlexGrowRow } from '@xylabs/react-flexbox'
4
- import type { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist-model'
5
- import { ModuleWrapper } from '@xyo-network/module-wrapper'
6
- import type { ModuleRenderProps } from '@xyo-network/react-module'
7
- import { ModuleCardContent } from '@xyo-network/react-module'
8
- import { useWallet } from '@xyo-network/react-wallet'
9
- import React, { useState } from 'react'
10
-
11
- import { ArchivistParents } from './components/index.ts'
12
-
13
- export const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({
14
- children, mod, ...props
15
- }) => {
16
- const [config, setConfig] = useState<ArchivistConfig>()
17
- const [wallet] = useWallet()
18
-
19
- useAsyncEffect(
20
- async (mounted) => {
21
- if (wallet && mod) {
22
- const wrapper = ModuleWrapper.wrap(mod, wallet)
23
- const payloads = await wrapper?.state()
24
- if (mounted()) {
25
- setConfig(payloads?.[0] as ArchivistConfig)
26
- }
27
- } else {
28
- setConfig(undefined)
29
- }
30
- },
31
- [mod, wallet],
32
- )
33
-
34
- return (
35
- <ModuleCardContent mod={mod} {...props}>
36
- <FlexGrowRow flexWrap="wrap" justifyContent="start" gap={2}>
37
- {children}
38
- <ArchivistParents config={config} />
39
- </FlexGrowRow>
40
- </ModuleCardContent>
41
- )
42
- }
@@ -1,27 +0,0 @@
1
- import type { CardHeaderProps } from '@mui/material'
2
- import { MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'
3
- import type { ArchivistInstance } from '@xyo-network/archivist-model'
4
- import type { ModuleRenderProps } from '@xyo-network/react-module'
5
- import { ModuleCardHeader } from '@xyo-network/react-module'
6
- import React, { useMemo } from 'react'
7
-
8
- import { MemoryArchivistsStats } from './components/index.ts'
9
-
10
- const ArchivistStats = (archivist?: ArchivistInstance) => {
11
- const { config } = archivist ?? {}
12
- switch (config?.schema) {
13
- case MemoryArchivistConfigSchema: {
14
- return <MemoryArchivistsStats archivist={archivist} />
15
- }
16
- default: {
17
- return
18
- }
19
- }
20
- }
21
-
22
- export const ArchivistCardHeader: React.FC<ModuleRenderProps<ArchivistInstance> & CardHeaderProps> = ({
23
- title, mod, ...props
24
- }) => {
25
- const Stats = useMemo(() => ArchivistStats(mod), [mod])
26
- return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Archivist'} action={Stats} {...props} />
27
- }
@@ -1,26 +0,0 @@
1
- import { ListItem, Typography } from '@mui/material'
2
- import React from 'react'
3
-
4
- export interface ArchivistTypeProps {
5
- archivistType?: 'Commit' | 'Read' | 'Write'
6
- parentArchivists?: string[]
7
- }
8
-
9
- export const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (
10
- <>
11
- {parentArchivists?.map((address) => {
12
- return (
13
- <ListItem key={address}>
14
- <Typography variant="subtitle2">
15
- {archivistType}
16
- :
17
- {' '}
18
- <Typography variant="caption" sx={{ ml: 0.5 }}>
19
- {address}
20
- </Typography>
21
- </Typography>
22
- </ListItem>
23
- )
24
- })}
25
- </>
26
- )