@dxos/plugin-space 0.8.4-main.3f58842 → 0.8.4-main.5acf9ea
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.
- package/dist/lib/browser/{app-graph-builder-7CZZJS3S.mjs → app-graph-builder-V3MP3CDK.mjs} +3 -2
- package/dist/lib/browser/{app-graph-builder-7CZZJS3S.mjs.map → app-graph-builder-V3MP3CDK.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-V7MJSSBQ.mjs → chunk-FBJEXW54.mjs} +5 -5
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/{intent-resolver-TIXVDYN7.mjs → intent-resolver-XHGD73WZ.mjs} +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-N2J7TDRX.mjs → react-root-CMWOGJG5.mjs} +2 -2
- package/dist/lib/browser/{react-surface-TPNLWJJH.mjs → react-surface-YWZZQF7H.mjs} +5 -4
- package/dist/lib/browser/{react-surface-TPNLWJJH.mjs.map → react-surface-YWZZQF7H.mjs.map} +3 -3
- package/dist/lib/node-esm/{app-graph-builder-KGIGWC72.mjs → app-graph-builder-SG4VECBB.mjs} +3 -2
- package/dist/lib/node-esm/{app-graph-builder-KGIGWC72.mjs.map → app-graph-builder-SG4VECBB.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-6X5DLJM5.mjs → chunk-2A3VBXBP.mjs} +5 -5
- package/dist/lib/node-esm/index.mjs +1 -1
- package/dist/lib/node-esm/{intent-resolver-MHGHRGDT.mjs → intent-resolver-LEANKSKZ.mjs} +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-KW3TGJGY.mjs → react-root-5Y7LJRX6.mjs} +2 -2
- package/dist/lib/node-esm/{react-surface-UUIUUD6P.mjs → react-surface-YQFNIKYT.mjs} +5 -4
- package/dist/lib/node-esm/{react-surface-UUIUUD6P.mjs.map → react-surface-YQFNIKYT.mjs.map} +3 -3
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +50 -48
- package/src/capabilities/app-graph-builder.ts +7 -1
- package/src/capabilities/react-surface.tsx +6 -1
- /package/dist/lib/browser/{chunk-V7MJSSBQ.mjs.map → chunk-FBJEXW54.mjs.map} +0 -0
- /package/dist/lib/browser/{intent-resolver-TIXVDYN7.mjs.map → intent-resolver-XHGD73WZ.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-N2J7TDRX.mjs.map → react-root-CMWOGJG5.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-6X5DLJM5.mjs.map → chunk-2A3VBXBP.mjs.map} +0 -0
- /package/dist/lib/node-esm/{intent-resolver-MHGHRGDT.mjs.map → intent-resolver-LEANKSKZ.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-KW3TGJGY.mjs.map → react-root-5Y7LJRX6.mjs.map} +0 -0
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
SpaceSettingsContainer,
|
|
24
24
|
SyncStatus,
|
|
25
25
|
ViewEditor
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-FBJEXW54.mjs";
|
|
27
27
|
import "./chunk-VLBRSGJ2.mjs";
|
|
28
28
|
import {
|
|
29
29
|
SpaceCapabilities
|
|
@@ -251,12 +251,13 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
251
251
|
const fixed = client.graph.schemaRegistry.schemas.filter((schema2) => {
|
|
252
252
|
const limitedStatic = annotation.includes("limited-static") && whitelistedTypenames.has(Type.getTypename(schema2));
|
|
253
253
|
const unusedStatic = annotation.includes("unused-static") && whitelistedTypenames.has(Type.getTypename(schema2)) && !space.properties.staticRecords?.includes(Type.getTypename(schema2));
|
|
254
|
+
const usedStatic = annotation.includes("used-static") && whitelistedTypenames.has(Type.getTypename(schema2)) && space.properties.staticRecords?.includes(Type.getTypename(schema2));
|
|
254
255
|
const objectForm = annotation.includes("object-form") && objectFormTypenames.has(Type.getTypename(schema2));
|
|
255
|
-
return annotation.includes("static") || limitedStatic || unusedStatic || objectForm;
|
|
256
|
+
return annotation.includes("static") || limitedStatic || unusedStatic || usedStatic || objectForm;
|
|
256
257
|
});
|
|
257
258
|
const dynamic = space?.db.schemaRegistry.query().runSync();
|
|
258
259
|
const typenames = Array.from(/* @__PURE__ */ new Set([
|
|
259
|
-
...annotation.includes("limited-static") || annotation.includes("unused-static") || annotation.includes("static") || annotation.includes("object-form") ? fixed.map((schema2) => Type.getTypename(schema2)) : [],
|
|
260
|
+
...annotation.includes("limited-static") || annotation.includes("unused-static") || annotation.includes("used-static") || annotation.includes("static") || annotation.includes("object-form") ? fixed.map((schema2) => Type.getTypename(schema2)) : [],
|
|
260
261
|
...annotation.includes("dynamic") ? dynamic.map((schema2) => schema2.typename) : []
|
|
261
262
|
])).sort();
|
|
262
263
|
const options = useMemo(() => typenames.map((typename) => ({
|
|
@@ -371,4 +372,4 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
371
372
|
export {
|
|
372
373
|
react_surface_default as default
|
|
373
374
|
};
|
|
374
|
-
//# sourceMappingURL=react-surface-
|
|
375
|
+
//# sourceMappingURL=react-surface-YWZZQF7H.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n Capabilities,\n contributes,\n createSurface,\n Surface,\n useCapabilities,\n useCapability,\n useLayout,\n} from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { useClient } from '@dxos/react-client';\nimport {\n fullyQualifiedId,\n getSpace,\n isLiveObject,\n isSpace,\n parseId,\n SpaceState,\n useSpace,\n type Space,\n} from '@dxos/react-client/echo';\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { type InputProps, SelectInput } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { DataType, type TypenameAnnotation, TypenameAnnotationId } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectDetailsPanel,\n ObjectSettingsContainer,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n type CreateObjectDialogProps,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nconst OMIT = [DataType.Collection.typename, DataType.QueryCollection.typename];\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{\n id: data.subject.id,\n subject: data.subject.properties[DataType.Collection.typename]?.target,\n }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any } => Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/properties`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/selected-objects`,\n role: 'article',\n filter: (data): data is { companionTo: DataType.View; subject: 'selected-objects' } =>\n Obj.instanceOf(DataType.View, data.companionTo) && data.subject === 'selected-objects',\n component: ({ data }) => (\n <ObjectDetailsPanel\n key={fullyQualifiedId(data.companionTo)}\n objectId={fullyQualifiedId(data.companionTo)}\n view={data.companionTo}\n />\n ),\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | DataType.Collection | undefined } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypenameAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const { t } = useTranslation();\n const client = useClient();\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const annotation = findAnnotation<TypenameAnnotation[]>(schema.ast, TypenameAnnotationId)!;\n\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const whitelistedTypenames = useMemo(\n () => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => Type.getTypename(type)))),\n [schemaWhitelists],\n );\n\n const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);\n const objectFormTypenames = useMemo(\n () =>\n new Set(\n objectForms\n .map((form) => Type.getTypename(form.objectSchema))\n // TODO(wittjosiah): Remove.\n .filter((typename) => !OMIT.includes(typename) && !typename.endsWith('View')),\n ),\n [objectForms],\n );\n\n const fixed = client.graph.schemaRegistry.schemas.filter((schema) => {\n const limitedStatic =\n annotation.includes('limited-static') && whitelistedTypenames.has(Type.getTypename(schema));\n const unusedStatic =\n annotation.includes('unused-static') &&\n whitelistedTypenames.has(Type.getTypename(schema)) &&\n !space.properties.staticRecords?.includes(Type.getTypename(schema));\n const objectForm = annotation.includes('object-form') && objectFormTypenames.has(Type.getTypename(schema));\n return annotation.includes('static') || limitedStatic || unusedStatic || objectForm;\n });\n const dynamic = space?.db.schemaRegistry.query().runSync();\n const typenames = Array.from(\n new Set<string>([\n ...(annotation.includes('limited-static') ||\n annotation.includes('unused-static') ||\n annotation.includes('static') ||\n annotation.includes('object-form')\n ? fixed.map((schema) => Type.getTypename(schema))\n : []),\n ...(annotation.includes('dynamic') ? dynamic.map((schema) => schema.typename) : []),\n ]),\n ).sort();\n\n const options = useMemo(\n () =>\n typenames\n .map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n }))\n .toSorted((a, b) => a.label.localeCompare(b.label)),\n [t, typenames],\n );\n\n return <SelectInput {...props} options={options} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: DataType.View } => Obj.instanceOf(DataType.View, data.subject),\n component: ({ data }) => <ViewEditor view={data.subject} />,\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'card--popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'card--popover',\n filter: (data): data is { props: Obj.Any } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Any; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Any } => isSpace(data.subject) || Obj.isObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[DataType.Collection.typename]?.target as DataType.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
|
|
5
|
-
"mappings": "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
|
|
6
|
-
"names": ["React", "useCallback", "useMemo", "Capabilities", "contributes", "createSurface", "Surface", "useCapabilities", "useCapability", "useLayout", "Obj", "Type", "findAnnotation", "SettingsStore", "ClientCapabilities", "useClient", "fullyQualifiedId", "getSpace", "isLiveObject", "isSpace", "parseId", "SpaceState", "useSpace", "Input", "useTranslation", "SelectInput", "HuePicker", "IconPicker", "DataType", "TypenameAnnotationId", "OMIT", "DataType", "Collection", "typename", "QueryCollection", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "target", "position", "Obj", "instanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "isObject", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "View", "ObjectDetailsPanel", "key", "fullyQualifiedId", "objectId", "view", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "disabled", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypenameAnnotationId", "t", "useTranslation", "client", "useClient", "getSpace", "schemaWhitelists", "useCapabilities", "ClientCapabilities", "SchemaWhiteList", "whitelistedTypenames", "useMemo", "Set", "flatMap", "typeArray", "map", "Type", "getTypename", "objectForms", "SpaceCapabilities", "ObjectForm", "objectFormTypenames", "form", "objectSchema", "includes", "endsWith", "fixed", "graph", "schemaRegistry", "schemas", "limitedStatic", "has", "unusedStatic", "staticRecords", "objectForm", "dynamic", "db", "query", "runSync", "typenames", "Array", "from", "sort", "options", "ns", "defaultValue", "toSorted", "a", "b", "localeCompare", "SelectInput", "ViewEditor", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "MenuFooter", "useCapability", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "SpacePresence", "CollectionSection", "SyncStatus"]
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n Capabilities,\n contributes,\n createSurface,\n Surface,\n useCapabilities,\n useCapability,\n useLayout,\n} from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { useClient } from '@dxos/react-client';\nimport {\n fullyQualifiedId,\n getSpace,\n isLiveObject,\n isSpace,\n parseId,\n SpaceState,\n useSpace,\n type Space,\n} from '@dxos/react-client/echo';\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { type InputProps, SelectInput } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { DataType, type TypenameAnnotation, TypenameAnnotationId } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectDetailsPanel,\n ObjectSettingsContainer,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n type CreateObjectDialogProps,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nconst OMIT = [DataType.Collection.typename, DataType.QueryCollection.typename];\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{\n id: data.subject.id,\n subject: data.subject.properties[DataType.Collection.typename]?.target,\n }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any } => Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/properties`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/selected-objects`,\n role: 'article',\n filter: (data): data is { companionTo: DataType.View; subject: 'selected-objects' } =>\n Obj.instanceOf(DataType.View, data.companionTo) && data.subject === 'selected-objects',\n component: ({ data }) => (\n <ObjectDetailsPanel\n key={fullyQualifiedId(data.companionTo)}\n objectId={fullyQualifiedId(data.companionTo)}\n view={data.companionTo}\n />\n ),\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | DataType.Collection | undefined } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypenameAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const { t } = useTranslation();\n const client = useClient();\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const annotation = findAnnotation<TypenameAnnotation[]>(schema.ast, TypenameAnnotationId)!;\n\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const whitelistedTypenames = useMemo(\n () => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => Type.getTypename(type)))),\n [schemaWhitelists],\n );\n\n const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);\n const objectFormTypenames = useMemo(\n () =>\n new Set(\n objectForms\n .map((form) => Type.getTypename(form.objectSchema))\n // TODO(wittjosiah): Remove.\n .filter((typename) => !OMIT.includes(typename) && !typename.endsWith('View')),\n ),\n [objectForms],\n );\n\n const fixed = client.graph.schemaRegistry.schemas.filter((schema) => {\n const limitedStatic =\n annotation.includes('limited-static') && whitelistedTypenames.has(Type.getTypename(schema));\n const unusedStatic =\n annotation.includes('unused-static') &&\n whitelistedTypenames.has(Type.getTypename(schema)) &&\n !space.properties.staticRecords?.includes(Type.getTypename(schema));\n const usedStatic =\n annotation.includes('used-static') &&\n whitelistedTypenames.has(Type.getTypename(schema)) &&\n space.properties.staticRecords?.includes(Type.getTypename(schema));\n const objectForm = annotation.includes('object-form') && objectFormTypenames.has(Type.getTypename(schema));\n return annotation.includes('static') || limitedStatic || unusedStatic || usedStatic || objectForm;\n });\n const dynamic = space?.db.schemaRegistry.query().runSync();\n const typenames = Array.from(\n new Set<string>([\n ...(annotation.includes('limited-static') ||\n annotation.includes('unused-static') ||\n annotation.includes('used-static') ||\n annotation.includes('static') ||\n annotation.includes('object-form')\n ? fixed.map((schema) => Type.getTypename(schema))\n : []),\n ...(annotation.includes('dynamic') ? dynamic.map((schema) => schema.typename) : []),\n ]),\n ).sort();\n\n const options = useMemo(\n () =>\n typenames\n .map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n }))\n .toSorted((a, b) => a.label.localeCompare(b.label)),\n [t, typenames],\n );\n\n return <SelectInput {...props} options={options} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: DataType.View } => Obj.instanceOf(DataType.View, data.subject),\n component: ({ data }) => <ViewEditor view={data.subject} />,\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'card--popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'card--popover',\n filter: (data): data is { props: Obj.Any } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Any; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Any } => isSpace(data.subject) || Obj.isObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[DataType.Collection.typename]?.target as DataType.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useCallback", "useMemo", "Capabilities", "contributes", "createSurface", "Surface", "useCapabilities", "useCapability", "useLayout", "Obj", "Type", "findAnnotation", "SettingsStore", "ClientCapabilities", "useClient", "fullyQualifiedId", "getSpace", "isLiveObject", "isSpace", "parseId", "SpaceState", "useSpace", "Input", "useTranslation", "SelectInput", "HuePicker", "IconPicker", "DataType", "TypenameAnnotationId", "OMIT", "DataType", "Collection", "typename", "QueryCollection", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "target", "position", "Obj", "instanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "isObject", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "View", "ObjectDetailsPanel", "key", "fullyQualifiedId", "objectId", "view", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "disabled", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypenameAnnotationId", "t", "useTranslation", "client", "useClient", "getSpace", "schemaWhitelists", "useCapabilities", "ClientCapabilities", "SchemaWhiteList", "whitelistedTypenames", "useMemo", "Set", "flatMap", "typeArray", "map", "Type", "getTypename", "objectForms", "SpaceCapabilities", "ObjectForm", "objectFormTypenames", "form", "objectSchema", "includes", "endsWith", "fixed", "graph", "schemaRegistry", "schemas", "limitedStatic", "has", "unusedStatic", "staticRecords", "usedStatic", "objectForm", "dynamic", "db", "query", "runSync", "typenames", "Array", "from", "sort", "options", "ns", "defaultValue", "toSorted", "a", "b", "localeCompare", "SelectInput", "ViewEditor", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "MenuFooter", "useCapability", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "SpacePresence", "CollectionSection", "SyncStatus"]
|
|
7
7
|
}
|
|
@@ -398,7 +398,8 @@ var app_graph_builder_default = (context) => {
|
|
|
398
398
|
if (!query && isSchema) {
|
|
399
399
|
query = space.db.query(Filter.type(DataType.View));
|
|
400
400
|
}
|
|
401
|
-
let deletable = !isSchema
|
|
401
|
+
let deletable = !isSchema && // Don't allow the Records smart collection to be deleted.
|
|
402
|
+
!(Obj.instanceOf(DataType.QueryCollection, object) && object.query.typename === DataType.StoredSchema.typename);
|
|
402
403
|
if (isSchema && query) {
|
|
403
404
|
const views = get(rxFromQuery(query));
|
|
404
405
|
const filteredViews = get(rxFromSignal(() => views.filter((view) => view.query.typename === object.typename)));
|
|
@@ -477,4 +478,4 @@ var app_graph_builder_default = (context) => {
|
|
|
477
478
|
export {
|
|
478
479
|
app_graph_builder_default as default
|
|
479
480
|
};
|
|
480
|
-
//# sourceMappingURL=app-graph-builder-
|
|
481
|
+
//# sourceMappingURL=app-graph-builder-SG4VECBB.mjs.map
|
package/dist/lib/node-esm/{app-graph-builder-KGIGWC72.mjs.map → app-graph-builder-SG4VECBB.mjs.map}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Array, Option, pipe, Schema } from 'effect';\n\nimport { Capabilities, contributes, createIntent, type PluginContext } from '@dxos/app-framework';\nimport { getSpace, SpaceState, type Space, isSpace, type QueryResult } from '@dxos/client/echo';\nimport { Filter, Obj, Query, Type } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, rxFromObservable, ROOT_ID, rxFromSignal } from '@dxos/plugin-graph';\nimport { DataType } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { getActiveSpace } from '../hooks';\nimport { SPACE_PLUGIN } from '../meta';\nimport { SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n createStaticSchemaActions,\n createStaticSchemaNode,\n rxFromQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginContext) => {\n // TODO(wittjosiah): Make reactive.\n const resolve = (typename: string) =>\n context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph.sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n position: 'hoist',\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: SpaceAction.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [spacesNode]),\n Option.getOrElse(() => []),\n ),\n ),\n // resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n connector: (node) => {\n let query: QueryResult<Type.Expando> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === SPACES ? Option.some(node) : Option.none())),\n Option.map(() => {\n const state = context.getCapability(SpaceCapabilities.State);\n const client = context.getCapability(ClientCapabilities.Client);\n const spacesRx = rxFromObservable(client.spaces);\n const isReadyRx = rxFromObservable(client.spaces.isReady);\n\n const spaces = get(spacesRx);\n const isReady = get(isReadyRx);\n\n if (!spaces || !isReady) {\n return [];\n }\n\n const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore<SpaceSettingsProps>(\n SPACE_PLUGIN,\n )?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n if (!query) {\n query = client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED }));\n }\n const [spacesOrder] = get(rxFromQuery(query));\n return get(\n rxFromSignal(() => {\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) =>\n settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE,\n )\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n }),\n );\n } catch {\n return [];\n }\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n // resolver: ({ id }) => {\n // if (id.length !== SPACE_ID_LENGTH) {\n // return;\n // }\n\n // const client = context.requestCapability(ClientCapabilities.Client);\n // const spaces = toSignal(\n // (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n // () => client.spaces.get(),\n // );\n\n // const isReady = toSignal(\n // (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n // () => client.spaces.isReady.get(),\n // );\n\n // if (!spaces || !isReady) {\n // return;\n // }\n\n // const space = spaces.find((space) => space.id === id);\n // if (!space) {\n // return;\n // }\n\n // if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n // return false;\n // } else if (space.state.get() !== SpaceState.SPACE_READY) {\n // return undefined;\n // } else {\n // const state = context.requestCapability(SpaceCapabilities.State);\n // return constructSpaceNode({\n // space,\n // navigable: state.navigableCollections,\n // personal: space === client.spaces.default,\n // namesCache: state.spaceNames,\n // resolve,\n // });\n // }\n // },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.flatMap((space) => {\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [client] = get(context.capabilities(ClientCapabilities.Client));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n\n if (!dispatcher || !client || !state) {\n return Option.none();\n } else {\n return Option.some({\n space,\n dispatch: dispatcher.dispatchPromise,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n }\n }),\n Option.map((params) => constructSpaceActions(params)),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n const state = context.getCapability(SpaceCapabilities.State);\n const spaceState = get(rxFromObservable(space.state));\n if (spaceState !== SpaceState.SPACE_READY) {\n return [];\n }\n\n const collection = get(\n rxFromSignal(\n () => space.properties[DataType.Collection.typename]?.target as DataType.Collection | undefined,\n ),\n );\n if (!collection) {\n return [];\n }\n\n return get(\n rxFromSignal(() =>\n pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map((object) =>\n createObjectNode({\n space,\n object,\n resolve,\n navigable: state.navigableCollections,\n }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(DataType.Collection, node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((collection) => {\n const state = context.getCapability(SpaceCapabilities.State);\n const space = getSpace(collection);\n\n return get(\n rxFromSignal(() =>\n pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map(\n (object) =>\n space && createObjectNode({ object, space, resolve, navigable: state.navigableCollections }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n // resolver: ({ id }) => {\n // if (id.length !== FQ_ID_LENGTH) {\n // return;\n // }\n\n // const [spaceId, objectId] = id.split(':');\n // if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n // return;\n // }\n\n // const client = context.requestCapability(ClientCapabilities.Client);\n // const space = client.spaces.get().find((space) => space.id === spaceId);\n // if (!space) {\n // return;\n // }\n\n // const spaceState = toSignal(\n // (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n // () => space.state.get(),\n // space.id,\n // );\n // if (spaceState !== SpaceState.SPACE_READY) {\n // return;\n // }\n\n // const [object] = memoizeQuery(space, Query.select(Filter.ids(objectId)));\n // if (!object) {\n // return;\n // }\n\n // if (isDeleted(object)) {\n // return false;\n // } else {\n // const state = context.requestCapability(SpaceCapabilities.State);\n // return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n // }\n // },\n }),\n\n // Create nodes for objects in a query collection.\n createExtension({\n id: `${SPACE_PLUGIN}/query-collection-objects`,\n connector: (node) => {\n let query: QueryResult<Type.Expando> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(DataType.QueryCollection, node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.flatMap((collection) => {\n const space = getSpace(collection);\n return collection.query.typename && space\n ? Option.some({ typename: collection.query.typename, space })\n : Option.none();\n }),\n Option.map(({ typename, space }) => {\n const state = context.getCapability(SpaceCapabilities.State);\n if (!query) {\n query = space.db.query(\n Query.without(\n Query.select(Filter.typename(typename)),\n // TODO(wittjosiah): This query is broader than it should be.\n // It will return all objects in the collection, not just the ones of the given type.\n // However this works fine for now because this query is only used for exclusions.\n Query.select(Filter.typename(typename))\n .referencedBy(DataType.Collection, 'objects')\n .reference('objects'),\n ),\n );\n }\n return get(rxFromQuery(query))\n .map((object) =>\n get(\n rxFromSignal(() =>\n createObjectNode({\n object,\n space,\n resolve,\n droppable: false, // Cannot rearrange query collections.\n navigable: state.navigableCollections,\n }),\n ),\n ),\n )\n .filter(isNonNullable);\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Static schema records.\n createExtension({\n id: `${SPACE_PLUGIN}/static-schemas`,\n connector: (node) => {\n const client = context.getCapability(ClientCapabilities.Client);\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(DataType.QueryCollection, node.data) &&\n node.data.query.typename === DataType.StoredSchema.typename\n ? Option.some(node.data)\n : Option.none(),\n ),\n Option.flatMap((collection) => {\n const space = getSpace(collection);\n return space?.properties.staticRecords ? Option.some(space) : Option.none();\n }),\n Option.map((space) => {\n return get(rxFromSignal(() => (space.properties.staticRecords ?? []) as string[]))\n .map((typename) =>\n client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename),\n )\n .filter(isNonNullable)\n .map((schema) => createStaticSchemaNode({ schema, space }));\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create static schema actions.\n createExtension({\n id: `${SPACE_PLUGIN}/static-schema-actions`,\n actions: (node) => {\n let query: QueryResult<DataType.View> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();\n }),\n Option.map(({ space, schema }) => {\n if (!query) {\n // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).\n query = space.db.query(Filter.type(DataType.View));\n }\n\n const views = get(rxFromQuery(query));\n const filteredViews = get(\n rxFromSignal(() =>\n // TODO(wittjosiah): Remove cast.\n views.filter((view) => view.query.typename === Type.getTypename(schema as Type.Obj.Any)),\n ),\n );\n const deletable = filteredViews.length === 0;\n\n // TODO(wittjosiah): Remove cast.\n return createStaticSchemaActions({ schema: schema as Type.Obj.Any, space, deletable });\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create nodes for schema views.\n createExtension({\n id: `${SPACE_PLUGIN}/schema-views`,\n connector: (node) => {\n let query: QueryResult<DataType.View> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : undefined);\n return space && (Obj.instanceOf(DataType.StoredSchema, node.data) || Schema.isSchema(node.data))\n ? Option.some({ space, schema: node.data })\n : Option.none();\n }),\n Option.map(({ space, schema }) => {\n if (!query) {\n // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).\n query = space.db.query(Filter.type(DataType.View));\n }\n\n // TODO(wittjosiah): Remove cast.\n const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.Obj.Any) : schema.typename;\n return get(rxFromQuery(query))\n .filter((view) => view.query.typename === typename)\n .map((view) =>\n get(\n rxFromSignal(() =>\n createObjectNode({\n object: view,\n space,\n resolve,\n droppable: false,\n }),\n ),\n ),\n )\n .filter(isNonNullable);\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n actions: (node) => {\n let query: QueryResult<DataType.View> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n const space = getSpace(node.data);\n return space && Obj.isObject(node.data) ? Option.some({ space, object: node.data }) : Option.none();\n }),\n Option.flatMap(({ space, object }) => {\n const isSchema = Obj.instanceOf(DataType.StoredSchema, object);\n if (!query && isSchema) {\n // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).\n query = space.db.query(Filter.type(DataType.View));\n }\n\n let deletable = !isSchema;\n if (isSchema && query) {\n const views = get(rxFromQuery(query));\n const filteredViews = get(\n rxFromSignal(() => views.filter((view) => view.query.typename === object.typename)),\n );\n deletable = filteredViews.length === 0;\n }\n\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [appGraph] = get(context.capabilities(Capabilities.AppGraph));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n const objectForms = get(context.capabilities(SpaceCapabilities.ObjectForm));\n\n if (!dispatcher || !appGraph || !state) {\n return Option.none();\n } else {\n return Option.some({\n object,\n graph: appGraph.graph,\n dispatch: dispatcher.dispatchPromise,\n objectForms,\n deletable,\n navigable: get(rxFromSignal(() => state.navigableCollections)),\n });\n }\n }),\n Option.map((params) => constructObjectActions(params)),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // View selected objects.\n createExtension({\n id: `${SPACE_PLUGIN}/selected-objects`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(DataType.View, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'selected-objects',\n properties: {\n label: ['companion selected objects label', { ns: SPACE_PLUGIN }],\n icon: 'ph--tree-view--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,UAAU;AACnB,SAASC,OAAOC,QAAQC,MAAMC,cAAc;AAE5C,SAASC,cAAcC,aAAaC,oBAAwC;AAC5E,SAASC,UAAUC,YAAwBC,eAAiC;AAC5E,SAASC,QAAQC,KAAKC,OAAOC,YAAY;AACzC,SAASC,WAAW;AACpB,SAASC,0BAA0B;AACnC,SAASC,sBAAsBC,iCAAiC;AAChE,SAASC,iBAAiBC,kBAAkBC,SAASC,oBAAoB;AACzE,SAASC,gBAAgB;AACzB,SAASC,qBAAqB;;AAkB9B,IAAA,4BAAe,CAACC,YAAAA;AAEd,QAAMC,UAAU,CAACC,aACfF,QAAQG,gBAAgBC,aAAaC,QAAQ,EAAEC,KAAK,CAAC,EAAEC,GAAE,MAAOA,OAAOL,QAAAA,GAAWM,YAAY,CAAC;AAEjG,QAAMC,aAAa;IACjBF,IAAIG;IACJC,MAAMD;IACNE,WAAW;MAAC;MAAS;;IACrBC,YAAY;MACVC,OAAO;QAAC;QAAgB;UAAEC,IAAIC;QAAa;;MAC3CC,MAAM;MACNC,QAAQ;MACRC,MAAM;MACNC,aAAa;MACbC,UAAU;MACVC,0BAA0B;MAC1BC,qBAAqB,OAAOC,cAAAA;AAC1B,cAAM,EAAEC,MAAK,IAAKzB,QAAQ0B,cAActB,aAAauB,QAAQ;AAC7D,cAAMC,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAK9DL,cAAMM,UACJrB,QACA,YACAc,UAAUQ,IAAI,CAAC,EAAEzB,GAAE,MAAOA,EAAAA,CAAAA;AAG5B,cAAM,EACJ0B,SAAS,CAACC,WAAAA,EAAY,IACpB,MAAMN,OAAOO,OAAOC,QAAQC,GAAGC,MAAMC,OAAO5B,KAAK6B,KAAKC,SAAS;UAAEC,KAAKC;QAAO,CAAA,CAAA,EAAIC,IAAG;AACxF,YAAIV,aAAa;AACfA,sBAAYW,QAAQrB,UAAUQ,IAAI,CAAC,EAAEzB,GAAE,MAAOA,EAAAA;QAChD,OAAO;AACLuC,cAAIC,KAAK,iCAAA,QAAA;;;;;;QACX;MACF;IACF;EACF;AAEA,SAAOC,YAAY5C,aAAa6C,iBAAiB;;IAE/CC,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPmC,UAAU;MACVC,SAAS,CAACC,SACRC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAK9C,OAAOqD,UAAUF,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GAC/EJ,OAAO1B,IAAI,MAAM;QACf;UACEzB,IAAIwD,YAAYC,gBAAgBC;UAChCC,MAAM,YAAA;AACJ,kBAAM,EAAEC,iBAAiBC,SAAQ,IAAKpE,QAAQ0B,cAActB,aAAaiE,gBAAgB;AACzF,kBAAMD,SAASE,aAAaP,YAAYC,eAAe,CAAA;UACzD;UACAnD,YAAY;YACVC,OAAO;cAAC;cAAsB;gBAAEC,IAAIC;cAAa;;YACjDC,MAAM;YACNC,QAAQ;YACRE,aAAa;UACf;QACF;QACA;UACEb,IAAIwD,YAAYQ,KAAKN;UACrBC,MAAM,YAAA;AACJ,kBAAM,EAAEC,iBAAiBC,SAAQ,IAAKpE,QAAQ0B,cAActB,aAAaiE,gBAAgB;AACzF,kBAAMD,SAASE,aAAaP,YAAYQ,IAAI,CAAA;UAC9C;UACA1D,YAAY;YACVC,OAAO;cAAC;cAAoB;gBAAEC,IAAIC;cAAa;;YAC/CC,MAAM;YACNC,QAAQ;YACRE,aAAa;UACf;QACF;QACA;UACEb,IAAIwD,YAAYS,YAAYP;UAC5BC,MAAM,YAAA;AACJ,kBAAM,EAAEC,iBAAiBC,SAAQ,IAAKpE,QAAQ0B,cAActB,aAAaiE,gBAAgB;AACzF,kBAAMzC,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAC9D,kBAAM2C,QAAQC,eAAe1E,OAAAA,KAAY4B,OAAOO,OAAOC;AACvD,kBAAMgC,SAASE,aAAaP,YAAYS,aAAa;cAAEC;YAAM,CAAA,CAAA;UAC/D;UACA5D,YAAY;YACVC,OAAO;cAAC;cAAqB;gBAAEC,IAAIC;cAAa;;YAChDC,MAAM;YACNC,QAAQ;YACRyD,YAAY;cACVC,OAAO;cACPC,SAAS;YACX;UACF;QACF;QACA;UACEtE,IAAIwD,YAAYe,aAAab;UAC7BC,MAAM,YAAA;AACJ,kBAAM,EAAEC,iBAAiBC,SAAQ,IAAKpE,QAAQ0B,cAActB,aAAaiE,gBAAgB;AACzF,kBAAMzC,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAC9D,kBAAM2C,QAAQC,eAAe1E,OAAAA,KAAY4B,OAAOO,OAAOC;AACvD,kBAAMgC,SAASE,aAAaP,YAAYe,cAAc;cAAEL;YAAM,CAAA,CAAA;UAChE;UACA5D,YAAY;YACVC,OAAO;cAAC;cAAqC;gBAAEC,IAAIC;cAAa;;YAChEC,MAAM;YACN0D,YAAY;cACVC,OAAO;cACPC,SAAS;YACX;UACF;QACF;OACD,GACDnB,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPmC,UAAU;MACV6B,WAAW,CAAC3B,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAK9C,OAAOqD,UAAUF,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GAC/EJ,OAAO1B,IAAI,MAAM;QAACvB;OAAW,GAC7BiD,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAIjC,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAIG;MACJsE,WAAW,CAAC3B,SAAAA;AACV,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACdC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAK9C,OAAOG,SAASgD,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GAC9EJ,OAAO1B,IAAI,MAAA;AACT,gBAAMiD,QAAQjF,QAAQ0B,cAAcwD,kBAAkBC,KAAK;AAC3D,gBAAMvD,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAC9D,gBAAMsD,WAAWC,iBAAiBzD,OAAOO,MAAM;AAC/C,gBAAMmD,YAAYD,iBAAiBzD,OAAOO,OAAOoD,OAAO;AAExD,gBAAMpD,SAASqB,IAAI4B,QAAAA;AACnB,gBAAMG,UAAU/B,IAAI8B,SAAAA;AAEpB,cAAI,CAACnD,UAAU,CAACoD,SAAS;AACvB,mBAAO,CAAA;UACT;AAEA,gBAAMC,WAAWhC,IAAIxD,QAAQyF,aAAarF,aAAasF,aAAa,CAAA,EAAG,CAAA,GAAIC,SACzE3E,YAAAA,GACC4E;AAGH,cAAI;AACF,gBAAI,CAACtD,OAAO;AACVA,sBAAQV,OAAOO,OAAOC,QAAQC,GAAGC,MAAMC,OAAO5B,KAAK6B,KAAKC,SAAS;gBAAEC,KAAKC;cAAO,CAAA,CAAA;YACjF;AACA,kBAAM,CAACT,WAAAA,IAAesB,IAAIqC,YAAYvD,KAAAA,CAAAA;AACtC,mBAAOkB,IACLsC,aAAa,MAAA;AACX,oBAAMjD,QAAkBX,aAAaW,SAAS,CAAA;AAC9C,oBAAMkD,WAAW,IAAIC,IAAInD,MAAMb,IAAI,CAACzB,IAAI0F,UAAU;gBAAC1F;gBAAI0F;eAAM,CAAA;AAC7D,qBAAO;mBACF9D,OACA+D,OAAO,CAACzB,UAAUsB,SAASI,IAAI1B,MAAMlE,EAAE,CAAA,EACvC6F,KAAK,CAACC,GAAGC,MAAMP,SAASvC,IAAI6C,EAAE9F,EAAE,IAAKwF,SAASvC,IAAI8C,EAAE/F,EAAE,CAAA;mBACtD4B,OAAO+D,OAAO,CAACzB,UAAU,CAACsB,SAASI,IAAI1B,MAAMlE,EAAE,CAAA;gBAEjD2F,OAAO,CAACzB,UACPe,UAAUe,aAAa,OAAO9B,MAAMQ,MAAMzB,IAAG,MAAOgD,WAAWC,cAAc,EAE9EzE,IAAI,CAACyC,UACJiC,mBAAmB;gBACjBjC;gBACAkC,WAAW1B,MAAM2B;gBACjBC,UAAUpC,UAAU7C,OAAOO,OAAOC;gBAClC0E,YAAY7B,MAAM8B;gBAClB9G;cACF,CAAA,CAAA;YAEN,CAAA,CAAA;UAEJ,QAAQ;AACN,mBAAO,CAAA;UACT;QACF,CAAA,GACAyD,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IAyCF,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPoC,SAAS,CAACC,SACRC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UACdA,MAAK1C,SAASqG,cAAcC,QAAQ5D,MAAKa,IAAI,IAAIR,OAAOG,KAAKR,MAAKa,IAAI,IAAIR,OAAOI,KAAI,CAAA,GAEvFJ,OAAOC,QAAQ,CAACc,UAAAA;AACd,cAAM,CAACyC,UAAAA,IAAc1D,IAAIxD,QAAQyF,aAAarF,aAAaiE,gBAAgB,CAAA;AAC3E,cAAM,CAACzC,MAAAA,IAAU4B,IAAIxD,QAAQyF,aAAa5D,mBAAmBC,MAAM,CAAA;AACnE,cAAM,CAACmD,KAAAA,IAASzB,IAAIxD,QAAQyF,aAAaP,kBAAkBC,KAAK,CAAA;AAEhE,YAAI,CAAC+B,cAAc,CAACtF,UAAU,CAACqD,OAAO;AACpC,iBAAOvB,OAAOI,KAAI;QACpB,OAAO;AACL,iBAAOJ,OAAOG,KAAK;YACjBY;YACAL,UAAU8C,WAAW/C;YACrB0C,UAAUpC,UAAU7C,OAAOO,OAAOC;YAClC+E,WAAWlC,MAAMmC,oBAAoB3C,MAAMlE,EAAE;UAC/C,CAAA;QACF;MACF,CAAA,GACAmD,OAAO1B,IAAI,CAACqF,WAAWC,sBAAsBD,MAAAA,CAAAA,GAC7C3D,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPgE,WAAW,CAAC3B,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UACdA,MAAK1C,SAASqG,cAAcC,QAAQ5D,MAAKa,IAAI,IAAIR,OAAOG,KAAKR,MAAKa,IAAI,IAAIR,OAAOI,KAAI,CAAA,GAEvFJ,OAAO1B,IAAI,CAACyC,UAAAA;AACV,cAAMQ,QAAQjF,QAAQ0B,cAAcwD,kBAAkBC,KAAK;AAC3D,cAAMoC,aAAa/D,IAAI6B,iBAAiBZ,MAAMQ,KAAK,CAAA;AACnD,YAAIsC,eAAef,WAAWgB,aAAa;AACzC,iBAAO,CAAA;QACT;AAEA,cAAMC,aAAajE,IACjBsC,aACE,MAAMrB,MAAM5D,WAAW6G,SAASC,WAAWzH,QAAQ,GAAG0H,MAAAA,CAAAA;AAG1D,YAAI,CAACH,YAAY;AACf,iBAAO,CAAA;QACT;AAEA,eAAOjE,IACLsC,aAAa,MACXrC,KACEgE,WAAWxF,SACX4F,MAAM7F,IAAI,CAAC8F,WAAWA,OAAOF,MAAM,GACnCC,MAAM3B,OAAO6B,aAAAA,GACbF,MAAM7F,IAAI,CAAC8F,WACTE,iBAAiB;UACfvD;UACAqD;UACA7H;UACA0G,WAAW1B,MAAM2B;QACnB,CAAA,CAAA,GAEFiB,MAAM3B,OAAO6B,aAAAA,CAAAA,CAAAA,CAAAA;MAIrB,CAAA,GACArE,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPgE,WAAW,CAAC3B,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UACd4E,IAAIC,WAAWR,SAASC,YAAYtE,MAAKa,IAAI,IAAIR,OAAOG,KAAKR,MAAKa,IAAI,IAAIR,OAAOI,KAAI,CAAA,GAEvFJ,OAAO1B,IAAI,CAACyF,eAAAA;AACV,cAAMxC,QAAQjF,QAAQ0B,cAAcwD,kBAAkBC,KAAK;AAC3D,cAAMV,QAAQ0D,SAASV,UAAAA;AAEvB,eAAOjE,IACLsC,aAAa,MACXrC,KACEgE,WAAWxF,SACX4F,MAAM7F,IAAI,CAAC8F,WAAWA,OAAOF,MAAM,GACnCC,MAAM3B,OAAO6B,aAAAA,GACbF,MAAM7F,IACJ,CAAC8F,WACCrD,SAASuD,iBAAiB;UAAEF;UAAQrD;UAAOxE;UAAS0G,WAAW1B,MAAM2B;QAAqB,CAAA,CAAA,GAE9FiB,MAAM3B,OAAO6B,aAAAA,CAAAA,CAAAA,CAAAA;MAIrB,CAAA,GACArE,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAwCjC,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPgE,WAAW,CAAC3B,SAAAA;AACV,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACdC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UACd4E,IAAIC,WAAWR,SAASU,iBAAiB/E,MAAKa,IAAI,IAAIR,OAAOG,KAAKR,MAAKa,IAAI,IAAIR,OAAOI,KAAI,CAAA,GAE5FJ,OAAOC,QAAQ,CAAC8D,eAAAA;AACd,gBAAMhD,QAAQ0D,SAASV,UAAAA;AACvB,iBAAOA,WAAWnF,MAAMpC,YAAYuE,QAChCf,OAAOG,KAAK;YAAE3D,UAAUuH,WAAWnF,MAAMpC;YAAUuE;UAAM,CAAA,IACzDf,OAAOI,KAAI;QACjB,CAAA,GACAJ,OAAO1B,IAAI,CAAC,EAAE9B,UAAUuE,MAAK,MAAE;AAC7B,gBAAMQ,QAAQjF,QAAQ0B,cAAcwD,kBAAkBC,KAAK;AAC3D,cAAI,CAAC7C,OAAO;AACVA,oBAAQmC,MAAMpC,GAAGC,MACf+F,MAAMC;cACJD,MAAME,OAAOhG,OAAOrC,SAASA,QAAAA,CAAAA;;;;cAI7BmI,MAAME,OAAOhG,OAAOrC,SAASA,QAAAA,CAAAA,EAC1BsI,aAAad,SAASC,YAAY,SAAA,EAClCc,UAAU,SAAA;YAAA,CAAA;UAGnB;AACA,iBAAOjF,IAAIqC,YAAYvD,KAAAA,CAAAA,EACpBN,IAAI,CAAC8F,WACJtE,IACEsC,aAAa,MACXkC,iBAAiB;YACfF;YACArD;YACAxE;YACAyI,WAAW;YACX/B,WAAW1B,MAAM2B;UACnB,CAAA,CAAA,CAAA,CAAA,EAILV,OAAO6B,aAAAA;QACZ,CAAA,GACArE,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPgE,WAAW,CAAC3B,SAAAA;AACV,cAAMzB,SAAS5B,QAAQ0B,cAAcG,mBAAmBC,MAAM;AAC9D,eAAOwB,GAAGC,KAAK,CAACC,QACdC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UACd4E,IAAIC,WAAWR,SAASU,iBAAiB/E,MAAKa,IAAI,KAClDb,MAAKa,KAAK5B,MAAMpC,aAAawH,SAASiB,aAAazI,WAC/CwD,OAAOG,KAAKR,MAAKa,IAAI,IACrBR,OAAOI,KAAI,CAAA,GAEjBJ,OAAOC,QAAQ,CAAC8D,eAAAA;AACd,gBAAMhD,QAAQ0D,SAASV,UAAAA;AACvB,iBAAOhD,OAAO5D,WAAW+H,gBAAgBlF,OAAOG,KAAKY,KAAAA,IAASf,OAAOI,KAAI;QAC3E,CAAA,GACAJ,OAAO1B,IAAI,CAACyC,UAAAA;AACV,iBAAOjB,IAAIsC,aAAa,MAAOrB,MAAM5D,WAAW+H,iBAAiB,CAAA,CAAE,CAAA,EAChE5G,IAAI,CAAC9B,aACJ0B,OAAOH,MAAMoH,eAAeC,QAAQxI,KAAK,CAACyI,WAAWvG,KAAKwG,YAAYD,MAAAA,MAAY7I,QAAAA,CAAAA,EAEnFgG,OAAO6B,aAAAA,EACP/F,IAAI,CAAC+G,WAAWE,uBAAuB;YAAEF;YAAQtE;UAAM,CAAA,CAAA;QAC5D,CAAA,GACAf,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPoC,SAAS,CAACC,SAAAA;AACR,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACdC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAAA;AACd,gBAAMoB,QAAQwC,QAAQ5D,MAAKxC,WAAW4D,KAAK,IAAIpB,MAAKxC,WAAW4D,QAAQyE;AACvE,iBAAOzE,SAAS0E,OAAOC,SAAS/F,MAAKa,IAAI,IAAIR,OAAOG,KAAK;YAAEY;YAAOsE,QAAQ1F,MAAKa;UAAK,CAAA,IAAKR,OAAOI,KAAI;QACtG,CAAA,GACAJ,OAAO1B,IAAI,CAAC,EAAEyC,OAAOsE,OAAM,MAAE;AAC3B,cAAI,CAACzG,OAAO;AAEVA,oBAAQmC,MAAMpC,GAAGC,MAAMC,OAAO5B,KAAK+G,SAAS2B,IAAI,CAAA;UAClD;AAEA,gBAAMC,QAAQ9F,IAAIqC,YAAYvD,KAAAA,CAAAA;AAC9B,gBAAMiH,gBAAgB/F,IACpBsC,aAAa;;YAEXwD,MAAMpD,OAAO,CAACsD,SAASA,KAAKlH,MAAMpC,aAAasC,KAAKwG,YAAYD,MAAAA,CAAAA;WAAAA,CAAAA;AAGpE,gBAAMU,YAAYF,cAAcG,WAAW;AAG3C,iBAAOC,0BAA0B;YAAEZ;YAAgCtE;YAAOgF;UAAU,CAAA;QACtF,CAAA,GACA/F,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPgE,WAAW,CAAC3B,SAAAA;AACV,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACdC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAAA;AACd,gBAAMoB,QAAQ0D,SAAS9E,MAAKa,IAAI,MAAM+C,QAAQ5D,MAAKxC,WAAW4D,KAAK,IAAIpB,MAAKxC,WAAW4D,QAAQyE;AAC/F,iBAAOzE,UAAUwD,IAAIC,WAAWR,SAASiB,cAActF,MAAKa,IAAI,KAAKiF,OAAOC,SAAS/F,MAAKa,IAAI,KAC1FR,OAAOG,KAAK;YAAEY;YAAOsE,QAAQ1F,MAAKa;UAAK,CAAA,IACvCR,OAAOI,KAAI;QACjB,CAAA,GACAJ,OAAO1B,IAAI,CAAC,EAAEyC,OAAOsE,OAAM,MAAE;AAC3B,cAAI,CAACzG,OAAO;AAEVA,oBAAQmC,MAAMpC,GAAGC,MAAMC,OAAO5B,KAAK+G,SAAS2B,IAAI,CAAA;UAClD;AAGA,gBAAMnJ,WAAWiJ,OAAOC,SAASL,MAAAA,IAAUvG,KAAKwG,YAAYD,MAAAA,IAA0BA,OAAO7I;AAC7F,iBAAOsD,IAAIqC,YAAYvD,KAAAA,CAAAA,EACpB4D,OAAO,CAACsD,SAASA,KAAKlH,MAAMpC,aAAaA,QAAAA,EACzC8B,IAAI,CAACwH,SACJhG,IACEsC,aAAa,MACXkC,iBAAiB;YACfF,QAAQ0B;YACR/E;YACAxE;YACAyI,WAAW;UACb,CAAA,CAAA,CAAA,CAAA,EAILxC,OAAO6B,aAAAA;QACZ,CAAA,GACArE,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPoC,SAAS,CAACC,SAAAA;AACR,YAAIf;AACJ,eAAOgB,GAAGC,KAAK,CAACC,QACdC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAAA;AACd,gBAAMoB,QAAQ0D,SAAS9E,MAAKa,IAAI;AAChC,iBAAOO,SAASwD,IAAI2B,SAASvG,MAAKa,IAAI,IAAIR,OAAOG,KAAK;YAAEY;YAAOqD,QAAQzE,MAAKa;UAAK,CAAA,IAAKR,OAAOI,KAAI;QACnG,CAAA,GACAJ,OAAOC,QAAQ,CAAC,EAAEc,OAAOqD,OAAM,MAAE;AAC/B,gBAAMsB,WAAWnB,IAAIC,WAAWR,SAASiB,cAAcb,MAAAA;AACvD,cAAI,CAACxF,SAAS8G,UAAU;AAEtB9G,oBAAQmC,MAAMpC,GAAGC,MAAMC,OAAO5B,KAAK+G,SAAS2B,IAAI,CAAA;UAClD;AAEA,cAAII,YAAY,CAACL;AACjB,cAAIA,YAAY9G,OAAO;AACrB,kBAAMgH,QAAQ9F,IAAIqC,YAAYvD,KAAAA,CAAAA;AAC9B,kBAAMiH,gBAAgB/F,IACpBsC,aAAa,MAAMwD,MAAMpD,OAAO,CAACsD,SAASA,KAAKlH,MAAMpC,aAAa4H,OAAO5H,QAAQ,CAAA,CAAA;AAEnFuJ,wBAAYF,cAAcG,WAAW;UACvC;AAEA,gBAAM,CAACxC,UAAAA,IAAc1D,IAAIxD,QAAQyF,aAAarF,aAAaiE,gBAAgB,CAAA;AAC3E,gBAAM,CAACwF,QAAAA,IAAYrG,IAAIxD,QAAQyF,aAAarF,aAAauB,QAAQ,CAAA;AACjE,gBAAM,CAACsD,KAAAA,IAASzB,IAAIxD,QAAQyF,aAAaP,kBAAkBC,KAAK,CAAA;AAChE,gBAAM2E,cAActG,IAAIxD,QAAQyF,aAAaP,kBAAkB6E,UAAU,CAAA;AAEzE,cAAI,CAAC7C,cAAc,CAAC2C,YAAY,CAAC5E,OAAO;AACtC,mBAAOvB,OAAOI,KAAI;UACpB,OAAO;AACL,mBAAOJ,OAAOG,KAAK;cACjBiE;cACArG,OAAOoI,SAASpI;cAChB2C,UAAU8C,WAAW/C;cACrB2F;cACAL;cACA9C,WAAWnD,IAAIsC,aAAa,MAAMb,MAAM2B,oBAAoB,CAAA;YAC9D,CAAA;UACF;QACF,CAAA,GACAlD,OAAO1B,IAAI,CAACqF,WAAW2C,uBAAuB3C,MAAAA,CAAAA,GAC9C3D,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;MAG/B;IACF,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPgE,WAAW,CAAC3B,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAU4E,IAAIC,WAAWR,SAAS2B,MAAMhG,MAAKa,IAAI,IAAIR,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GACpGJ,OAAO1B,IAAI,CAACqB,UAAS;QACnB;UACE9C,IAAI;YAAC8C,MAAK9C;YAAI;YAAoB0J,KAAKC,yBAAAA;UACvCvJ,MAAMwJ;UACNjG,MAAM;UACNrD,YAAY;YACVC,OAAO;cAAC;cAAoC;gBAAEC,IAAIC;cAAa;;YAC/DC,MAAM;YACNG,aAAa;UACf;QACF;OACD,GACDsC,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;;IAGA7B,gBAAgB;MACd3C,IAAI,GAAGS,YAAAA;MACPgE,WAAW,CAAC3B,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAU4E,IAAI2B,SAASvG,MAAKa,IAAI,IAAIR,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GACnFJ,OAAO1B,IAAI,CAACqB,UAAS;QACnB;UACE9C,IAAI;YAAC8C,MAAK9C;YAAI;YAAY0J,KAAKC,yBAAAA;UAC/BvJ,MAAMwJ;UACNjG,MAAM;UACNrD,YAAY;YACVC,OAAO;cAAC;cAAyB;gBAAEC,IAAIC;cAAa;;YACpDC,MAAM;YACNG,aAAa;YACb+B,UAAU;UACZ;QACF;OACD,GACDO,OAAOqB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAGjC,CAAA;GACD;AACH;",
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Array, Option, pipe, Schema } from 'effect';\n\nimport { Capabilities, contributes, createIntent, type PluginContext } from '@dxos/app-framework';\nimport { getSpace, SpaceState, type Space, isSpace, type QueryResult } from '@dxos/client/echo';\nimport { Filter, Obj, Query, Type } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, rxFromObservable, ROOT_ID, rxFromSignal } from '@dxos/plugin-graph';\nimport { DataType } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { getActiveSpace } from '../hooks';\nimport { SPACE_PLUGIN } from '../meta';\nimport { SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n createStaticSchemaActions,\n createStaticSchemaNode,\n rxFromQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginContext) => {\n // TODO(wittjosiah): Make reactive.\n const resolve = (typename: string) =>\n context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph.sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n position: 'hoist',\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: SpaceAction.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [spacesNode]),\n Option.getOrElse(() => []),\n ),\n ),\n // resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n connector: (node) => {\n let query: QueryResult<Type.Expando> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === SPACES ? Option.some(node) : Option.none())),\n Option.map(() => {\n const state = context.getCapability(SpaceCapabilities.State);\n const client = context.getCapability(ClientCapabilities.Client);\n const spacesRx = rxFromObservable(client.spaces);\n const isReadyRx = rxFromObservable(client.spaces.isReady);\n\n const spaces = get(spacesRx);\n const isReady = get(isReadyRx);\n\n if (!spaces || !isReady) {\n return [];\n }\n\n const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore<SpaceSettingsProps>(\n SPACE_PLUGIN,\n )?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n if (!query) {\n query = client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED }));\n }\n const [spacesOrder] = get(rxFromQuery(query));\n return get(\n rxFromSignal(() => {\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) =>\n settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE,\n )\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n }),\n );\n } catch {\n return [];\n }\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n // resolver: ({ id }) => {\n // if (id.length !== SPACE_ID_LENGTH) {\n // return;\n // }\n\n // const client = context.requestCapability(ClientCapabilities.Client);\n // const spaces = toSignal(\n // (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n // () => client.spaces.get(),\n // );\n\n // const isReady = toSignal(\n // (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n // () => client.spaces.isReady.get(),\n // );\n\n // if (!spaces || !isReady) {\n // return;\n // }\n\n // const space = spaces.find((space) => space.id === id);\n // if (!space) {\n // return;\n // }\n\n // if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n // return false;\n // } else if (space.state.get() !== SpaceState.SPACE_READY) {\n // return undefined;\n // } else {\n // const state = context.requestCapability(SpaceCapabilities.State);\n // return constructSpaceNode({\n // space,\n // navigable: state.navigableCollections,\n // personal: space === client.spaces.default,\n // namesCache: state.spaceNames,\n // resolve,\n // });\n // }\n // },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.flatMap((space) => {\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [client] = get(context.capabilities(ClientCapabilities.Client));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n\n if (!dispatcher || !client || !state) {\n return Option.none();\n } else {\n return Option.some({\n space,\n dispatch: dispatcher.dispatchPromise,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n }\n }),\n Option.map((params) => constructSpaceActions(params)),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n const state = context.getCapability(SpaceCapabilities.State);\n const spaceState = get(rxFromObservable(space.state));\n if (spaceState !== SpaceState.SPACE_READY) {\n return [];\n }\n\n const collection = get(\n rxFromSignal(\n () => space.properties[DataType.Collection.typename]?.target as DataType.Collection | undefined,\n ),\n );\n if (!collection) {\n return [];\n }\n\n return get(\n rxFromSignal(() =>\n pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map((object) =>\n createObjectNode({\n space,\n object,\n resolve,\n navigable: state.navigableCollections,\n }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(DataType.Collection, node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((collection) => {\n const state = context.getCapability(SpaceCapabilities.State);\n const space = getSpace(collection);\n\n return get(\n rxFromSignal(() =>\n pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map(\n (object) =>\n space && createObjectNode({ object, space, resolve, navigable: state.navigableCollections }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n // resolver: ({ id }) => {\n // if (id.length !== FQ_ID_LENGTH) {\n // return;\n // }\n\n // const [spaceId, objectId] = id.split(':');\n // if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n // return;\n // }\n\n // const client = context.requestCapability(ClientCapabilities.Client);\n // const space = client.spaces.get().find((space) => space.id === spaceId);\n // if (!space) {\n // return;\n // }\n\n // const spaceState = toSignal(\n // (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n // () => space.state.get(),\n // space.id,\n // );\n // if (spaceState !== SpaceState.SPACE_READY) {\n // return;\n // }\n\n // const [object] = memoizeQuery(space, Query.select(Filter.ids(objectId)));\n // if (!object) {\n // return;\n // }\n\n // if (isDeleted(object)) {\n // return false;\n // } else {\n // const state = context.requestCapability(SpaceCapabilities.State);\n // return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n // }\n // },\n }),\n\n // Create nodes for objects in a query collection.\n createExtension({\n id: `${SPACE_PLUGIN}/query-collection-objects`,\n connector: (node) => {\n let query: QueryResult<Type.Expando> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(DataType.QueryCollection, node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.flatMap((collection) => {\n const space = getSpace(collection);\n return collection.query.typename && space\n ? Option.some({ typename: collection.query.typename, space })\n : Option.none();\n }),\n Option.map(({ typename, space }) => {\n const state = context.getCapability(SpaceCapabilities.State);\n if (!query) {\n query = space.db.query(\n Query.without(\n Query.select(Filter.typename(typename)),\n // TODO(wittjosiah): This query is broader than it should be.\n // It will return all objects in the collection, not just the ones of the given type.\n // However this works fine for now because this query is only used for exclusions.\n Query.select(Filter.typename(typename))\n .referencedBy(DataType.Collection, 'objects')\n .reference('objects'),\n ),\n );\n }\n return get(rxFromQuery(query))\n .map((object) =>\n get(\n rxFromSignal(() =>\n createObjectNode({\n object,\n space,\n resolve,\n droppable: false, // Cannot rearrange query collections.\n navigable: state.navigableCollections,\n }),\n ),\n ),\n )\n .filter(isNonNullable);\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Static schema records.\n createExtension({\n id: `${SPACE_PLUGIN}/static-schemas`,\n connector: (node) => {\n const client = context.getCapability(ClientCapabilities.Client);\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(DataType.QueryCollection, node.data) &&\n node.data.query.typename === DataType.StoredSchema.typename\n ? Option.some(node.data)\n : Option.none(),\n ),\n Option.flatMap((collection) => {\n const space = getSpace(collection);\n return space?.properties.staticRecords ? Option.some(space) : Option.none();\n }),\n Option.map((space) => {\n return get(rxFromSignal(() => (space.properties.staticRecords ?? []) as string[]))\n .map((typename) =>\n client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename),\n )\n .filter(isNonNullable)\n .map((schema) => createStaticSchemaNode({ schema, space }));\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create static schema actions.\n createExtension({\n id: `${SPACE_PLUGIN}/static-schema-actions`,\n actions: (node) => {\n let query: QueryResult<DataType.View> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();\n }),\n Option.map(({ space, schema }) => {\n if (!query) {\n // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).\n query = space.db.query(Filter.type(DataType.View));\n }\n\n const views = get(rxFromQuery(query));\n const filteredViews = get(\n rxFromSignal(() =>\n // TODO(wittjosiah): Remove cast.\n views.filter((view) => view.query.typename === Type.getTypename(schema as Type.Obj.Any)),\n ),\n );\n const deletable = filteredViews.length === 0;\n\n // TODO(wittjosiah): Remove cast.\n return createStaticSchemaActions({ schema: schema as Type.Obj.Any, space, deletable });\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create nodes for schema views.\n createExtension({\n id: `${SPACE_PLUGIN}/schema-views`,\n connector: (node) => {\n let query: QueryResult<DataType.View> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : undefined);\n return space && (Obj.instanceOf(DataType.StoredSchema, node.data) || Schema.isSchema(node.data))\n ? Option.some({ space, schema: node.data })\n : Option.none();\n }),\n Option.map(({ space, schema }) => {\n if (!query) {\n // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).\n query = space.db.query(Filter.type(DataType.View));\n }\n\n // TODO(wittjosiah): Remove cast.\n const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.Obj.Any) : schema.typename;\n return get(rxFromQuery(query))\n .filter((view) => view.query.typename === typename)\n .map((view) =>\n get(\n rxFromSignal(() =>\n createObjectNode({\n object: view,\n space,\n resolve,\n droppable: false,\n }),\n ),\n ),\n )\n .filter(isNonNullable);\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n actions: (node) => {\n let query: QueryResult<DataType.View> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n const space = getSpace(node.data);\n return space && Obj.isObject(node.data) ? Option.some({ space, object: node.data }) : Option.none();\n }),\n Option.flatMap(({ space, object }) => {\n const isSchema = Obj.instanceOf(DataType.StoredSchema, object);\n if (!query && isSchema) {\n // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).\n query = space.db.query(Filter.type(DataType.View));\n }\n\n let deletable =\n !isSchema &&\n // Don't allow the Records smart collection to be deleted.\n !(\n Obj.instanceOf(DataType.QueryCollection, object) &&\n object.query.typename === DataType.StoredSchema.typename\n );\n if (isSchema && query) {\n const views = get(rxFromQuery(query));\n const filteredViews = get(\n rxFromSignal(() => views.filter((view) => view.query.typename === object.typename)),\n );\n deletable = filteredViews.length === 0;\n }\n\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [appGraph] = get(context.capabilities(Capabilities.AppGraph));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n const objectForms = get(context.capabilities(SpaceCapabilities.ObjectForm));\n\n if (!dispatcher || !appGraph || !state) {\n return Option.none();\n } else {\n return Option.some({\n object,\n graph: appGraph.graph,\n dispatch: dispatcher.dispatchPromise,\n objectForms,\n deletable,\n navigable: get(rxFromSignal(() => state.navigableCollections)),\n });\n }\n }),\n Option.map((params) => constructObjectActions(params)),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // View selected objects.\n createExtension({\n id: `${SPACE_PLUGIN}/selected-objects`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(DataType.View, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'selected-objects',\n properties: {\n label: ['companion selected objects label', { ns: SPACE_PLUGIN }],\n icon: 'ph--tree-view--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Rx", "Array", "Option", "pipe", "Schema", "Capabilities", "contributes", "createIntent", "getSpace", "SpaceState", "isSpace", "Filter", "Obj", "Query", "Type", "log", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "rxFromObservable", "ROOT_ID", "rxFromSignal", "DataType", "isNonNullable", "context", "resolve", "typename", "getCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "getCapability", "AppGraph", "client", "ClientCapabilities", "Client", "sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "Type", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "SpaceAction", "OpenCreateSpace", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "Join", "OpenMembers", "space", "getActiveSpace", "keyBinding", "macos", "windows", "OpenSettings", "getOrElse", "connector", "state", "SpaceCapabilities", "State", "spacesRx", "rxFromObservable", "isReadyRx", "isReady", "settings", "capabilities", "SettingsStore", "getStore", "value", "rxFromQuery", "rxFromSignal", "orderMap", "Map", "index", "filter", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "SPACE_TYPE", "isSpace", "dispatcher", "migrating", "sdkMigrationRunning", "params", "constructSpaceActions", "spaceState", "SPACE_READY", "collection", "DataType", "Collection", "target", "Array", "object", "isNonNullable", "createObjectNode", "Obj", "instanceOf", "getSpace", "QueryCollection", "Query", "without", "select", "referencedBy", "reference", "droppable", "StoredSchema", "staticRecords", "schemaRegistry", "schemas", "schema", "getTypename", "createStaticSchemaNode", "undefined", "Schema", "isSchema", "View", "views", "filteredViews", "view", "deletable", "length", "createStaticSchemaActions", "isObject", "appGraph", "objectForms", "ObjectForm", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
|
|
7
7
|
}
|
|
@@ -291,12 +291,12 @@ var SelectSchema = ({ options, resolve, onChange }) => {
|
|
|
291
291
|
|
|
292
292
|
// src/capabilities/index.ts
|
|
293
293
|
import { lazy } from "@dxos/app-framework";
|
|
294
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-
|
|
294
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-SG4VECBB.mjs"));
|
|
295
295
|
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-2ICUGQQT.mjs"));
|
|
296
296
|
var IdentityCreated = lazy(() => import("./identity-created-IJQO6GCR.mjs"));
|
|
297
|
-
var IntentResolver = lazy(() => import("./intent-resolver-
|
|
298
|
-
var ReactRoot = lazy(() => import("./react-root-
|
|
299
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
297
|
+
var IntentResolver = lazy(() => import("./intent-resolver-LEANKSKZ.mjs"));
|
|
298
|
+
var ReactRoot = lazy(() => import("./react-root-5Y7LJRX6.mjs"));
|
|
299
|
+
var ReactSurface = lazy(() => import("./react-surface-YQFNIKYT.mjs"));
|
|
300
300
|
var SchemaDefs = lazy(() => import("./schema-defs-WHJM7UZE.mjs"));
|
|
301
301
|
var SchemaTools = lazy(() => import("./schema-tools-KWW5PTML.mjs"));
|
|
302
302
|
var SpaceSettings = lazy(() => import("./settings-SAOBPND3.mjs"));
|
|
@@ -1982,4 +1982,4 @@ export {
|
|
|
1982
1982
|
SpaceState,
|
|
1983
1983
|
SpacesReady
|
|
1984
1984
|
};
|
|
1985
|
-
//# sourceMappingURL=chunk-
|
|
1985
|
+
//# sourceMappingURL=chunk-2A3VBXBP.mjs.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
JOIN_DIALOG,
|
|
9
9
|
POPOVER_RENAME_OBJECT,
|
|
10
10
|
POPOVER_RENAME_SPACE
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-2A3VBXBP.mjs";
|
|
12
12
|
import "./chunk-SSLBYZEY.mjs";
|
|
13
13
|
import {
|
|
14
14
|
SpaceCapabilities
|
|
@@ -758,4 +758,4 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
|
|
|
758
758
|
export {
|
|
759
759
|
intent_resolver_default as default
|
|
760
760
|
};
|
|
761
|
-
//# sourceMappingURL=intent-resolver-
|
|
761
|
+
//# sourceMappingURL=intent-resolver-LEANKSKZ.mjs.map
|