@dxos/plugin-client 0.8.3 → 0.8.4-main.1f223c7
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-CBRN2DMK.mjs → app-graph-builder-ENKIVZWH.mjs} +6 -6
- package/dist/lib/browser/app-graph-builder-ENKIVZWH.mjs.map +7 -0
- package/dist/lib/browser/{chunk-PSSNS4C6.mjs → chunk-3F2Q2RKC.mjs} +3 -3
- package/dist/lib/browser/chunk-3F2Q2RKC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-UCVFWBKT.mjs → chunk-CAF2COXW.mjs} +3 -3
- package/dist/lib/browser/{chunk-5MC5HCIM.mjs → chunk-FOCQEA72.mjs} +34 -41
- package/dist/lib/browser/chunk-FOCQEA72.mjs.map +7 -0
- package/dist/lib/browser/{chunk-MCEXD5XH.mjs → chunk-GS3LDHYD.mjs} +2 -2
- package/dist/lib/browser/{chunk-IA3AVM4I.mjs → chunk-HLWIF3AW.mjs} +14 -15
- package/dist/lib/browser/chunk-HLWIF3AW.mjs.map +7 -0
- package/dist/lib/browser/{client-NMS3MSFP.mjs → client-F73MIXMT.mjs} +13 -7
- package/dist/lib/browser/client-F73MIXMT.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +18 -18
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-SLQZMO6I.mjs → intent-resolver-LNPFUWU5.mjs} +16 -16
- package/dist/lib/browser/intent-resolver-LNPFUWU5.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{migrations-QRQV6ZAM.mjs → migrations-YJSO7JXY.mjs} +4 -4
- package/dist/lib/{node-esm/migrations-AK43ZE6G.mjs.map → browser/migrations-YJSO7JXY.mjs.map} +2 -2
- package/dist/lib/browser/{react-context-IE2O2OYK.mjs → react-context-QBXCHNH2.mjs} +4 -4
- package/dist/lib/browser/{react-context-IE2O2OYK.mjs.map → react-context-QBXCHNH2.mjs.map} +2 -2
- package/dist/lib/browser/{react-surface-QFC2G27R.mjs → react-surface-3AH7INFU.mjs} +6 -6
- package/dist/lib/browser/{react-surface-QFC2G27R.mjs.map → react-surface-3AH7INFU.mjs.map} +3 -3
- package/dist/lib/browser/{schema-defs-DNRDVQQJ.mjs → schema-defs-AMSX6T3B.mjs} +4 -4
- package/dist/lib/browser/schema-defs-AMSX6T3B.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +10 -0
- package/dist/lib/node-esm/{app-graph-builder-OZEAAKNT.mjs → app-graph-builder-D4XJCLPN.mjs} +6 -6
- package/dist/lib/node-esm/app-graph-builder-D4XJCLPN.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-37E3EI46.mjs → chunk-IOGTQFLM.mjs} +3 -3
- package/dist/lib/node-esm/chunk-IOGTQFLM.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-STGGUFV2.mjs → chunk-JG6AFSFU.mjs} +14 -15
- package/dist/lib/node-esm/chunk-JG6AFSFU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WHKQMAO5.mjs → chunk-MUWDSQ65.mjs} +34 -41
- package/dist/lib/node-esm/chunk-MUWDSQ65.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HM7VB4ZV.mjs → chunk-SZLX4BVJ.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-FJYSQRBO.mjs → chunk-UMO3ETDV.mjs} +3 -3
- package/dist/lib/node-esm/{client-EBFQZRSF.mjs → client-A7CNP37P.mjs} +13 -7
- package/dist/lib/node-esm/client-A7CNP37P.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +18 -18
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-MV55C5ED.mjs → intent-resolver-C4INMPH7.mjs} +16 -16
- package/dist/lib/node-esm/intent-resolver-C4INMPH7.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{migrations-AK43ZE6G.mjs → migrations-UOEK7HB7.mjs} +4 -4
- package/dist/lib/{browser/migrations-QRQV6ZAM.mjs.map → node-esm/migrations-UOEK7HB7.mjs.map} +2 -2
- package/dist/lib/node-esm/{react-context-6N7NMUJE.mjs → react-context-JIH7YBFI.mjs} +4 -4
- package/dist/lib/node-esm/{react-context-6N7NMUJE.mjs.map → react-context-JIH7YBFI.mjs.map} +2 -2
- package/dist/lib/node-esm/{react-surface-JUYTGBEM.mjs → react-surface-4TMUCPEW.mjs} +6 -6
- package/dist/lib/node-esm/{react-surface-JUYTGBEM.mjs.map → react-surface-4TMUCPEW.mjs.map} +3 -3
- package/dist/lib/node-esm/{schema-defs-O2KQQXJH.mjs → schema-defs-4UTKKRTF.mjs} +4 -4
- package/dist/lib/node-esm/schema-defs-4UTKKRTF.mjs.map +7 -0
- package/dist/lib/node-esm/{types.mjs → types/index.mjs} +3 -3
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -3
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/client.d.ts +1 -1
- package/dist/types/src/capabilities/client.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +8 -8
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/migrations.d.ts +1 -1
- package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-context.d.ts +2 -2
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
- package/dist/types/src/components/DevicesContainer.d.ts.map +1 -1
- package/dist/types/src/components/DevicesContainer.stories.d.ts +225 -4
- package/dist/types/src/components/DevicesContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ProfileContainer.d.ts.map +1 -1
- package/dist/types/src/components/ProfileContainer.stories.d.ts +57 -4
- package/dist/types/src/components/ProfileContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts +59 -4
- package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +58 -4
- package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResetDialog.stories.d.ts +59 -3
- package/dist/types/src/components/ResetDialog.stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +46 -46
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/{types.d.ts → types/schema.d.ts} +30 -24
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +35 -36
- package/src/ClientPlugin.ts +3 -3
- package/src/capabilities/app-graph-builder.ts +4 -3
- package/src/capabilities/capabilities.ts +4 -3
- package/src/capabilities/client.ts +6 -4
- package/src/capabilities/intent-resolver.ts +5 -4
- package/src/capabilities/migrations.ts +1 -1
- package/src/capabilities/react-context.tsx +2 -1
- package/src/capabilities/react-surface.tsx +3 -3
- package/src/capabilities/schema-defs.ts +3 -3
- package/src/components/DevicesContainer.stories.tsx +11 -10
- package/src/components/DevicesContainer.tsx +59 -68
- package/src/components/JoinDialog.tsx +1 -1
- package/src/components/ProfileContainer.stories.tsx +7 -6
- package/src/components/ProfileContainer.tsx +20 -23
- package/src/components/RecoveryCodeDialog.stories.tsx +9 -8
- package/src/components/RecoveryCredentialsContainer.stories.tsx +9 -8
- package/src/components/RecoveryCredentialsContainer.tsx +44 -47
- package/src/components/ResetDialog.stories.tsx +7 -6
- package/src/components/ResetDialog.tsx +1 -1
- package/src/translations.ts +6 -4
- package/src/types/index.ts +5 -0
- package/src/{types.ts → types/schema.ts} +14 -15
- package/dist/lib/browser/app-graph-builder-CBRN2DMK.mjs.map +0 -7
- package/dist/lib/browser/chunk-5MC5HCIM.mjs.map +0 -7
- package/dist/lib/browser/chunk-IA3AVM4I.mjs.map +0 -7
- package/dist/lib/browser/chunk-PSSNS4C6.mjs.map +0 -7
- package/dist/lib/browser/client-NMS3MSFP.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-SLQZMO6I.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-DNRDVQQJ.mjs.map +0 -7
- package/dist/lib/browser/types.mjs +0 -10
- package/dist/lib/node/app-graph-builder-BEEYM3A5.cjs +0 -134
- package/dist/lib/node/app-graph-builder-BEEYM3A5.cjs.map +0 -7
- package/dist/lib/node/chunk-BEJWU2NE.cjs +0 -718
- package/dist/lib/node/chunk-BEJWU2NE.cjs.map +0 -7
- package/dist/lib/node/chunk-BL6EBWOS.cjs +0 -131
- package/dist/lib/node/chunk-BL6EBWOS.cjs.map +0 -7
- package/dist/lib/node/chunk-CIYUKY3J.cjs +0 -37
- package/dist/lib/node/chunk-CIYUKY3J.cjs.map +0 -7
- package/dist/lib/node/chunk-DJKWB5L6.cjs +0 -35
- package/dist/lib/node/chunk-DJKWB5L6.cjs.map +0 -7
- package/dist/lib/node/chunk-DNKJCPU7.cjs +0 -38
- package/dist/lib/node/chunk-DNKJCPU7.cjs.map +0 -7
- package/dist/lib/node/client-Q3EQS4HA.cjs +0 -51
- package/dist/lib/node/client-Q3EQS4HA.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -175
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-QURURONO.cjs +0 -312
- package/dist/lib/node/intent-resolver-QURURONO.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/migrations-6FEWMF7U.cjs +0 -39
- package/dist/lib/node/migrations-6FEWMF7U.cjs.map +0 -7
- package/dist/lib/node/react-context-JS7Y5ZOK.cjs +0 -48
- package/dist/lib/node/react-context-JS7Y5ZOK.cjs.map +0 -7
- package/dist/lib/node/react-surface-RGRHOPVK.cjs +0 -82
- package/dist/lib/node/react-surface-RGRHOPVK.cjs.map +0 -7
- package/dist/lib/node/schema-defs-TA52ARBO.cjs +0 -41
- package/dist/lib/node/schema-defs-TA52ARBO.cjs.map +0 -7
- package/dist/lib/node/types.cjs +0 -32
- package/dist/lib/node/types.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-OZEAAKNT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-37E3EI46.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-STGGUFV2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WHKQMAO5.mjs.map +0 -7
- package/dist/lib/node-esm/client-EBFQZRSF.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-MV55C5ED.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-O2KQQXJH.mjs.map +0 -7
- package/dist/types/src/types.d.ts.map +0 -1
- /package/dist/lib/browser/{chunk-UCVFWBKT.mjs.map → chunk-CAF2COXW.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-MCEXD5XH.mjs.map → chunk-GS3LDHYD.mjs.map} +0 -0
- /package/dist/lib/browser/{types.mjs.map → types/index.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-HM7VB4ZV.mjs.map → chunk-SZLX4BVJ.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-FJYSQRBO.mjs.map → chunk-UMO3ETDV.mjs.map} +0 -0
- /package/dist/lib/node-esm/{types.mjs.map → types/index.mjs.map} +0 -0
|
@@ -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 React from 'react';\n\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,
|
|
6
|
-
"names": ["React", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport {\n DevicesContainer,\n JOIN_DIALOG,\n JoinDialog,\n ProfileContainer,\n RECOVERY_CODE_DIALOG,\n RESET_DIALOG,\n RecoveryCodeDialog,\n type RecoveryCodeDialogProps,\n RecoveryCredentialsContainer,\n ResetDialog,\n type ResetDialogProps,\n} from '../components';\nimport { Account, type ClientPluginOptions } from '../types';\n\ntype ReactSurfaceOptions = Pick<ClientPluginOptions, 'onReset'> & {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl, onReset }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: Account.Profile,\n role: 'article',\n filter: (data): data is any => data.subject === Account.Profile,\n component: () => <ProfileContainer />,\n }),\n createSurface({\n id: Account.Devices,\n role: 'article',\n filter: (data): data is any => data.subject === Account.Devices,\n component: ({ data }) => <DevicesContainer createInvitationUrl={createInvitationUrl} />,\n }),\n createSurface({\n id: Account.Security,\n role: 'article',\n filter: (data): data is any => data.subject === Account.Security,\n component: () => <RecoveryCredentialsContainer />,\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: RECOVERY_CODE_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: RecoveryCodeDialogProps } => data.component === RECOVERY_CODE_DIALOG,\n component: ({ data }) => <RecoveryCodeDialog {...data.props} />,\n }),\n createSurface({\n id: RESET_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: ResetDialogProps } => data.component === RESET_DIALOG,\n component: ({ data }) => <ResetDialog {...data.props} onReset={onReset} />,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AAsBzD,IAAA,wBAAe,CAAC,EAAEC,qBAAqBC,QAAO,MAC5CC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAIC,QAAQC;IACZC,MAAM;IACNC,QAAQ,CAACC,SAAsBA,KAAKC,YAAYL,QAAQC;IACxDK,WAAW,MAAM,sBAAA,cAACC,kBAAAA,IAAAA;EACpB,CAAA;EACAT,cAAc;IACZC,IAAIC,QAAQQ;IACZN,MAAM;IACNC,QAAQ,CAACC,SAAsBA,KAAKC,YAAYL,QAAQQ;IACxDF,WAAW,CAAC,EAAEF,KAAI,MAAO,sBAAA,cAACK,kBAAAA;MAAiBhB;;EAC7C,CAAA;EACAK,cAAc;IACZC,IAAIC,QAAQU;IACZR,MAAM;IACNC,QAAQ,CAACC,SAAsBA,KAAKC,YAAYL,QAAQU;IACxDJ,WAAW,MAAM,sBAAA,cAACK,8BAAAA,IAAAA;EACpB,CAAA;EACAb,cAAc;IACZC,IAAIa;IACJV,MAAM;IACNC,QAAQ,CAACC,SAA4CA,KAAKE,cAAcM;IACxEN,WAAW,CAAC,EAAEF,KAAI,MAAO,sBAAA,cAACS,YAAeT,KAAKU,KAAK;EACrD,CAAA;EACAhB,cAAc;IACZC,IAAIgB;IACJb,MAAM;IACNC,QAAQ,CAACC,SAAqDA,KAAKE,cAAcS;IACjFT,WAAW,CAAC,EAAEF,KAAI,MAAO,sBAAA,cAACY,oBAAuBZ,KAAKU,KAAK;EAC7D,CAAA;EACAhB,cAAc;IACZC,IAAIkB;IACJf,MAAM;IACNC,QAAQ,CAACC,SAA8CA,KAAKE,cAAcW;IAC1EX,WAAW,CAAC,EAAEF,KAAI,MAAO,sBAAA,cAACc,aAAAA;MAAa,GAAGd,KAAKU;MAAOpB;;EACxD,CAAA;CACD;",
|
|
6
|
+
"names": ["React", "Capabilities", "contributes", "createSurface", "createInvitationUrl", "onReset", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "Account", "Profile", "role", "filter", "data", "subject", "component", "ProfileContainer", "Devices", "DevicesContainer", "Security", "RecoveryCredentialsContainer", "JOIN_DIALOG", "JoinDialog", "props", "RECOVERY_CODE_DIALOG", "RecoveryCodeDialog", "RESET_DIALOG", "ResetDialog"]
|
|
7
7
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ClientCapabilities
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-3F2Q2RKC.mjs";
|
|
4
|
+
import "./chunk-GS3LDHYD.mjs";
|
|
5
5
|
|
|
6
|
-
//
|
|
6
|
+
// src/capabilities/schema-defs.ts
|
|
7
7
|
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
8
8
|
var schema_defs_default = (context) => {
|
|
9
9
|
const registry = context.getCapability(Capabilities.RxRegistry);
|
|
@@ -22,4 +22,4 @@ var schema_defs_default = (context) => {
|
|
|
22
22
|
export {
|
|
23
23
|
schema_defs_default as default
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=schema-defs-
|
|
25
|
+
//# sourceMappingURL=schema-defs-AMSX6T3B.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/schema-defs.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { type Type } from '@dxos/echo';\n\nimport { ClientCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const registry = context.getCapability(Capabilities.RxRegistry);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // TODO(wittjosiah): Unregister schemas when they are disabled.\n let previous: Type.Obj.Any[] = [];\n const cancel = registry.subscribe(\n context.capabilities(ClientCapabilities.Schema),\n (_schemas) => {\n const schemas = Array.from(new Set(_schemas.flat()));\n // TODO(wittjosiah): Filter out schemas which the client has already registered.\n const newSchemas = schemas.filter((schema) => !previous.includes(schema));\n previous = schemas;\n client.addTypes(newSchemas);\n },\n { immediate: true },\n );\n\n return contributes(Capabilities.Null, null, () => cancel());\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,cAAkCC,mBAAmB;AAK9D,IAAA,sBAAe,CAACC,YAAAA;AACd,QAAMC,WAAWD,QAAQE,cAAcC,aAAaC,UAAU;AAC9D,QAAMC,SAASL,QAAQE,cAAcI,mBAAmBC,MAAM;AAG9D,MAAIC,WAA2B,CAAA;AAC/B,QAAMC,SAASR,SAASS,UACtBV,QAAQW,aAAaL,mBAAmBM,MAAM,GAC9C,CAACC,aAAAA;AACC,UAAMC,UAAUC,MAAMC,KAAK,IAAIC,IAAIJ,SAASK,KAAI,CAAA,CAAA;AAEhD,UAAMC,aAAaL,QAAQM,OAAO,CAACC,WAAW,CAACb,SAASc,SAASD,MAAAA,CAAAA;AACjEb,eAAWM;AACXT,WAAOkB,SAASJ,UAAAA;EAClB,GACA;IAAEK,WAAW;EAAK,CAAA;AAGpB,SAAOC,YAAYtB,aAAauB,MAAM,MAAM,MAAMjB,OAAAA,CAAAA;AACpD;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "context", "registry", "getCapability", "Capabilities", "RxRegistry", "client", "ClientCapabilities", "Client", "previous", "cancel", "subscribe", "capabilities", "Schema", "_schemas", "schemas", "Array", "from", "Set", "flat", "newSchemas", "filter", "schema", "includes", "addTypes", "immediate", "contributes", "Null"]
|
|
7
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ClientCapabilities
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-IOGTQFLM.mjs";
|
|
5
5
|
import {
|
|
6
6
|
Account,
|
|
7
7
|
ClientAction
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JG6AFSFU.mjs";
|
|
9
9
|
import {
|
|
10
10
|
CLIENT_PLUGIN
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-SZLX4BVJ.mjs";
|
|
12
12
|
|
|
13
|
-
//
|
|
13
|
+
// src/capabilities/app-graph-builder.ts
|
|
14
14
|
import { Rx } from "@effect-rx/rx-react";
|
|
15
15
|
import { Option, pipe } from "effect";
|
|
16
16
|
import { createIntent } from "@dxos/app-framework";
|
|
17
17
|
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
18
|
-
import { createExtension, rxFromObservable
|
|
18
|
+
import { ROOT_ID, createExtension, rxFromObservable } from "@dxos/plugin-graph";
|
|
19
19
|
import { ConnectionState } from "@dxos/react-client/mesh";
|
|
20
20
|
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, createExtension({
|
|
21
21
|
id: CLIENT_PLUGIN,
|
|
@@ -121,4 +121,4 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
121
121
|
export {
|
|
122
122
|
app_graph_builder_default as default
|
|
123
123
|
};
|
|
124
|
-
//# sourceMappingURL=app-graph-builder-
|
|
124
|
+
//# sourceMappingURL=app-graph-builder-D4XJCLPN.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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 { Option, pipe } from 'effect';\n\nimport { createIntent } from '@dxos/app-framework';\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { ROOT_ID, createExtension, rxFromObservable } from '@dxos/plugin-graph';\nimport { ConnectionState } from '@dxos/react-client/mesh';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { Account, ClientAction } from '../types';\n\nimport { ClientCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: CLIENT_PLUGIN,\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 return [\n {\n id: `${CLIENT_PLUGIN}/open-user-account`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(ClientAction.ShareIdentity));\n },\n properties: {\n label: ['open user account label', { ns: CLIENT_PLUGIN }],\n icon: 'ph--user--regular',\n disposition: 'menu',\n keyBinding: {\n macos: 'meta+shift+.',\n // TODO(wittjosiah): Test on windows to see if it behaves the same as linux.\n windows: 'alt+shift+.',\n linux: 'alt+shift+>',\n },\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\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(() => {\n const client = context.getCapability(ClientCapabilities.Client);\n const identity = get(rxFromObservable(client.halo.identity));\n const status = get(rxFromObservable(client.mesh.networkStatus));\n\n return [\n {\n id: Account.id,\n type: CLIENT_PLUGIN,\n properties: {\n label: ['account label', { ns: CLIENT_PLUGIN }],\n icon: 'ph--user--regular',\n disposition: 'user-account',\n // NOTE: This currently needs to be the identity key because the fallback is generated from hex.\n userId: identity?.identityKey.toHex(),\n hue: identity?.profile?.data?.hue,\n emoji: identity?.profile?.data?.emoji,\n status: status.swarm === ConnectionState.OFFLINE ? 'error' : 'active',\n },\n nodes: [\n {\n id: Account.Profile,\n data: Account.Profile,\n type: CLIENT_PLUGIN,\n properties: {\n label: ['profile label', { ns: CLIENT_PLUGIN }],\n icon: 'ph--user--regular',\n },\n },\n {\n id: Account.Devices,\n data: Account.Devices,\n type: CLIENT_PLUGIN,\n properties: {\n label: ['devices label', { ns: CLIENT_PLUGIN }],\n icon: 'ph--devices--regular',\n testId: 'clientPlugin.devices',\n },\n },\n {\n id: Account.Security,\n data: Account.Security,\n type: CLIENT_PLUGIN,\n properties: {\n label: ['security label', { ns: CLIENT_PLUGIN }],\n icon: 'ph--key--regular',\n },\n },\n ],\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n );\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;AAIA,SAASA,UAAU;AACnB,SAASC,QAAQC,YAAY;AAE7B,SAASC,oBAAoB;AAC7B,SAASC,cAAkCC,mBAAmB;AAC9D,SAASC,SAASC,iBAAiBC,wBAAwB;AAC3D,SAASC,uBAAuB;AAOhC,IAAA,4BAAe,CAACC,YACdC,YACEC,aAAaC,iBACbC,gBAAgB;EACdC,IAAIC;EACJC,SAAS,CAACC,SACRC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAKH,OAAOU,UAAUF,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GAC/EJ,OAAOK,IAAI,MAAA;AACT,WAAO;MACL;QACEb,IAAI,GAAGC,aAAAA;QACPa,MAAM,YAAA;AACJ,gBAAM,EAAEC,iBAAiBC,SAAQ,IAAKrB,QAAQsB,cAAcpB,aAAaqB,gBAAgB;AACzF,gBAAMF,SAASG,aAAaC,aAAaC,aAAa,CAAA;QACxD;QACAC,YAAY;UACVC,OAAO;YAAC;YAA2B;cAAEC,IAAIvB;YAAc;;UACvDwB,MAAM;UACNC,aAAa;UACbC,YAAY;YACVC,OAAO;;YAEPC,SAAS;YACTC,OAAO;UACT;QACF;MACF;;EAEJ,CAAA,GACAtB,OAAOuB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAG/BC,WAAW,CAAC7B,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAKH,OAAOU,UAAUF,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GAC/EJ,OAAOK,IAAI,MAAA;AACT,UAAMoB,SAAStC,QAAQsB,cAAciB,mBAAmBC,MAAM;AAC9D,UAAMC,WAAW9B,IAAI+B,iBAAiBJ,OAAOK,KAAKF,QAAQ,CAAA;AAC1D,UAAMG,SAASjC,IAAI+B,iBAAiBJ,OAAOO,KAAKC,aAAa,CAAA;AAE7D,WAAO;MACL;QACEzC,IAAI0C,QAAQ1C;QACZ2C,MAAM1C;QACNqB,YAAY;UACVC,OAAO;YAAC;YAAiB;cAAEC,IAAIvB;YAAc;;UAC7CwB,MAAM;UACNC,aAAa;;UAEbkB,QAAQR,UAAUS,YAAYC,MAAAA;UAC9BC,KAAKX,UAAUY,SAASlC,MAAMiC;UAC9BE,OAAOb,UAAUY,SAASlC,MAAMmC;UAChCV,QAAQA,OAAOW,UAAUC,gBAAgBC,UAAU,UAAU;QAC/D;QACAC,OAAO;UACL;YACErD,IAAI0C,QAAQY;YACZxC,MAAM4B,QAAQY;YACdX,MAAM1C;YACNqB,YAAY;cACVC,OAAO;gBAAC;gBAAiB;kBAAEC,IAAIvB;gBAAc;;cAC7CwB,MAAM;YACR;UACF;UACA;YACEzB,IAAI0C,QAAQa;YACZzC,MAAM4B,QAAQa;YACdZ,MAAM1C;YACNqB,YAAY;cACVC,OAAO;gBAAC;gBAAiB;kBAAEC,IAAIvB;gBAAc;;cAC7CwB,MAAM;cACN+B,QAAQ;YACV;UACF;UACA;YACExD,IAAI0C,QAAQe;YACZ3C,MAAM4B,QAAQe;YACdd,MAAM1C;YACNqB,YAAY;cACVC,OAAO;gBAAC;gBAAkB;kBAAEC,IAAIvB;gBAAc;;cAC9CwB,MAAM;YACR;UACF;;MAEJ;;EAEJ,CAAA,GACAjB,OAAOuB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;AAGjC,CAAA,CAAA;",
|
|
6
|
+
"names": ["Rx", "Option", "pipe", "createIntent", "Capabilities", "contributes", "ROOT_ID", "createExtension", "rxFromObservable", "ConnectionState", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "CLIENT_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "createIntent", "ClientAction", "ShareIdentity", "properties", "label", "ns", "icon", "disposition", "keyBinding", "macos", "windows", "linux", "getOrElse", "connector", "client", "ClientCapabilities", "Client", "identity", "rxFromObservable", "halo", "status", "mesh", "networkStatus", "Account", "type", "userId", "identityKey", "toHex", "hue", "profile", "emoji", "swarm", "ConnectionState", "OFFLINE", "nodes", "Profile", "Devices", "testId", "Security"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
CLIENT_PLUGIN
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SZLX4BVJ.mjs";
|
|
5
5
|
|
|
6
|
-
//
|
|
6
|
+
// src/capabilities/capabilities.ts
|
|
7
7
|
import { defineCapability } from "@dxos/app-framework";
|
|
8
8
|
(function(ClientCapabilities2) {
|
|
9
9
|
ClientCapabilities2.Client = defineCapability(`${CLIENT_PLUGIN}/capability/client`);
|
|
@@ -16,4 +16,4 @@ var ClientCapabilities;
|
|
|
16
16
|
export {
|
|
17
17
|
ClientCapabilities
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=chunk-
|
|
19
|
+
//# sourceMappingURL=chunk-IOGTQFLM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type Client } from '@dxos/client';\nimport { type ObjectMigration } from '@dxos/client/echo';\nimport { type Type } from '@dxos/echo';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\nexport namespace ClientCapabilities {\n export const Client = defineCapability<Client>(`${CLIENT_PLUGIN}/capability/client`);\n export const Schema = defineCapability<Type.Obj.Any[]>(`${CLIENT_PLUGIN}/capability/schema`);\n // TODO(wittjosiah): More descriptive name.\n export const SchemaWhiteList = defineCapability<Type.Obj.Any[]>(`${CLIENT_PLUGIN}/capability/schema-whitelist`);\n export const Migration = defineCapability<ObjectMigration[]>(`${CLIENT_PLUGIN}/capability/migration`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,wBAAwB;UAOhBC,qBAAAA;sBACFC,SAASC,iBAAyB,GAAGC,aAAAA,oBAAiC;sBACtEC,SAASF,iBAAiC,GAAGC,aAAAA,oBAAiC;sBAE9EE,kBAAkBH,iBAAiC,GAAGC,aAAAA,8BAA2C;sBACjGG,YAAYJ,iBAAoC,GAAGC,aAAAA,uBAAoC;AACtG,GANiBH,uBAAAA,qBAAAA,CAAAA,EAAAA;;",
|
|
6
|
+
"names": ["defineCapability", "ClientCapabilities", "Client", "defineCapability", "CLIENT_PLUGIN", "Schema", "SchemaWhiteList", "Migration"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
} from "./chunk-
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-SZLX4BVJ.mjs";
|
|
5
5
|
|
|
6
|
-
//
|
|
6
|
+
// src/types/schema.ts
|
|
7
7
|
import { Schema } from "effect";
|
|
8
8
|
import { PublicKey } from "@dxos/react-client";
|
|
9
9
|
var IdentitySchema = Schema.Struct({
|
|
@@ -18,7 +18,6 @@ var IdentitySchema = Schema.Struct({
|
|
|
18
18
|
}))
|
|
19
19
|
}))
|
|
20
20
|
});
|
|
21
|
-
var CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;
|
|
22
21
|
(function(ClientAction2) {
|
|
23
22
|
const ProfileSchema = Schema.Struct({
|
|
24
23
|
displayName: Schema.optional(Schema.String),
|
|
@@ -28,13 +27,13 @@ var CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;
|
|
|
28
27
|
value: Schema.Any
|
|
29
28
|
}))
|
|
30
29
|
});
|
|
31
|
-
class CreateIdentity extends Schema.TaggedClass()(`${
|
|
30
|
+
class CreateIdentity extends Schema.TaggedClass()(`${meta.id}/action/create-identity`, {
|
|
32
31
|
input: ProfileSchema,
|
|
33
32
|
output: IdentitySchema
|
|
34
33
|
}) {
|
|
35
34
|
}
|
|
36
35
|
ClientAction2.CreateIdentity = CreateIdentity;
|
|
37
|
-
class JoinIdentity extends Schema.TaggedClass()(`${
|
|
36
|
+
class JoinIdentity extends Schema.TaggedClass()(`${meta.id}/action/join-identity`, {
|
|
38
37
|
input: Schema.Struct({
|
|
39
38
|
invitationCode: Schema.optional(Schema.String)
|
|
40
39
|
}),
|
|
@@ -42,19 +41,19 @@ var CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;
|
|
|
42
41
|
}) {
|
|
43
42
|
}
|
|
44
43
|
ClientAction2.JoinIdentity = JoinIdentity;
|
|
45
|
-
class ShareIdentity extends Schema.TaggedClass()(`${
|
|
44
|
+
class ShareIdentity extends Schema.TaggedClass()(`${meta.id}/action/share-identity`, {
|
|
46
45
|
input: Schema.Void,
|
|
47
46
|
output: Schema.Void
|
|
48
47
|
}) {
|
|
49
48
|
}
|
|
50
49
|
ClientAction2.ShareIdentity = ShareIdentity;
|
|
51
|
-
class RecoverIdentity extends Schema.TaggedClass()(`${
|
|
50
|
+
class RecoverIdentity extends Schema.TaggedClass()(`${meta.id}/action/recover-identity`, {
|
|
52
51
|
input: Schema.Void,
|
|
53
52
|
output: Schema.Void
|
|
54
53
|
}) {
|
|
55
54
|
}
|
|
56
55
|
ClientAction2.RecoverIdentity = RecoverIdentity;
|
|
57
|
-
class ResetStorage extends Schema.TaggedClass()(`${
|
|
56
|
+
class ResetStorage extends Schema.TaggedClass()(`${meta.id}/action/reset-storage`, {
|
|
58
57
|
input: Schema.Struct({
|
|
59
58
|
mode: Schema.optional(Schema.String)
|
|
60
59
|
}),
|
|
@@ -62,31 +61,31 @@ var CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;
|
|
|
62
61
|
}) {
|
|
63
62
|
}
|
|
64
63
|
ClientAction2.ResetStorage = ResetStorage;
|
|
65
|
-
class CreateAgent extends Schema.TaggedClass()(`${
|
|
64
|
+
class CreateAgent extends Schema.TaggedClass()(`${meta.id}/action/create-agent`, {
|
|
66
65
|
input: Schema.Void,
|
|
67
66
|
output: Schema.Void
|
|
68
67
|
}) {
|
|
69
68
|
}
|
|
70
69
|
ClientAction2.CreateAgent = CreateAgent;
|
|
71
|
-
class CreateRecoveryCode extends Schema.TaggedClass()(`${
|
|
70
|
+
class CreateRecoveryCode extends Schema.TaggedClass()(`${meta.id}/action/create-recovery-code`, {
|
|
72
71
|
input: Schema.Void,
|
|
73
72
|
output: Schema.Void
|
|
74
73
|
}) {
|
|
75
74
|
}
|
|
76
75
|
ClientAction2.CreateRecoveryCode = CreateRecoveryCode;
|
|
77
|
-
class CreatePasskey extends Schema.TaggedClass()(`${
|
|
76
|
+
class CreatePasskey extends Schema.TaggedClass()(`${meta.id}/action/create-passkey`, {
|
|
78
77
|
input: Schema.Void,
|
|
79
78
|
output: Schema.Void
|
|
80
79
|
}) {
|
|
81
80
|
}
|
|
82
81
|
ClientAction2.CreatePasskey = CreatePasskey;
|
|
83
|
-
class RedeemPasskey extends Schema.TaggedClass()(`${
|
|
82
|
+
class RedeemPasskey extends Schema.TaggedClass()(`${meta.id}/action/redeem-passkey`, {
|
|
84
83
|
input: Schema.Void,
|
|
85
84
|
output: Schema.Void
|
|
86
85
|
}) {
|
|
87
86
|
}
|
|
88
87
|
ClientAction2.RedeemPasskey = RedeemPasskey;
|
|
89
|
-
class RedeemToken extends Schema.TaggedClass()(`${
|
|
88
|
+
class RedeemToken extends Schema.TaggedClass()(`${meta.id}/action/redeem-token`, {
|
|
90
89
|
input: Schema.Struct({
|
|
91
90
|
token: Schema.String
|
|
92
91
|
}),
|
|
@@ -109,4 +108,4 @@ export {
|
|
|
109
108
|
ClientAction,
|
|
110
109
|
Account
|
|
111
110
|
};
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
111
|
+
//# sourceMappingURL=chunk-JG6AFSFU.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/schema.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type PluginContext } from '@dxos/app-framework';\nimport { type Client, type ClientOptions, PublicKey } from '@dxos/react-client';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { meta } from '../meta';\n\n// TODO(wittjosiah): Factor out. Generate?\nconst IdentitySchema = Schema.Struct({\n identityKey: Schema.instanceOf(PublicKey),\n spaceKey: Schema.optional(Schema.instanceOf(PublicKey)),\n profile: Schema.optional(\n Schema.Struct({\n displayName: Schema.optional(Schema.String),\n avatarCid: Schema.optional(Schema.String),\n data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n ),\n});\n\nexport namespace ClientAction {\n const ProfileSchema = Schema.Struct({\n displayName: Schema.optional(Schema.String),\n avatarCid: Schema.optional(Schema.String),\n data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n });\n\n export class CreateIdentity extends Schema.TaggedClass<CreateIdentity>()(`${meta.id}/action/create-identity`, {\n input: ProfileSchema,\n output: IdentitySchema,\n }) {}\n\n export class JoinIdentity extends Schema.TaggedClass<JoinIdentity>()(`${meta.id}/action/join-identity`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class ShareIdentity extends Schema.TaggedClass<ShareIdentity>()(`${meta.id}/action/share-identity`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RecoverIdentity extends Schema.TaggedClass<RecoverIdentity>()(`${meta.id}/action/recover-identity`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class ResetStorage extends Schema.TaggedClass<ResetStorage>()(`${meta.id}/action/reset-storage`, {\n input: Schema.Struct({\n mode: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class CreateAgent extends Schema.TaggedClass<CreateAgent>()(`${meta.id}/action/create-agent`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class CreateRecoveryCode extends Schema.TaggedClass<CreateRecoveryCode>()(\n `${meta.id}/action/create-recovery-code`,\n {\n input: Schema.Void,\n output: Schema.Void,\n },\n ) {}\n\n export class CreatePasskey extends Schema.TaggedClass<CreatePasskey>()(`${meta.id}/action/create-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RedeemPasskey extends Schema.TaggedClass<RedeemPasskey>()(`${meta.id}/action/redeem-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RedeemToken extends Schema.TaggedClass<RedeemToken>()(`${meta.id}/action/redeem-token`, {\n input: Schema.Struct({\n token: Schema.String,\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport type ClientPluginOptions = ClientOptions & {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Run after the client has been initialized.\n */\n onClientInitialized?: (params: { context: PluginContext; client: Client }) => MaybePromise<void>;\n\n /**\n * Called when spaces are ready.\n */\n onSpacesReady?: (params: { context: PluginContext; client: Client }) => MaybePromise<void>;\n\n /**\n * Called when the client is reset.\n */\n onReset?: (params: { target?: string }) => MaybePromise<void>;\n};\n\nexport namespace Account {\n // TODO(wittjosiah): Cannot use slashes in ids until we have a router which decouples ids from url paths.\n const _id = 'dxos.org.plugin.client.account';\n // TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.\n // Ideally this should be worked into the data model in a generic way.\n export const id = `!${_id}`;\n\n export const Profile = `${_id}.profile`;\n export const Devices = `${_id}.devices`;\n export const Security = `${_id}.security`;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Schema", "PublicKey", "IdentitySchema", "Schema", "Struct", "identityKey", "instanceOf", "PublicKey", "spaceKey", "optional", "profile", "displayName", "String", "avatarCid", "data", "Record", "key", "value", "Any", "ClientAction", "ProfileSchema", "CreateIdentity", "TaggedClass", "meta", "id", "input", "output", "JoinIdentity", "invitationCode", "Void", "ShareIdentity", "RecoverIdentity", "ResetStorage", "mode", "CreateAgent", "CreateRecoveryCode", "CreatePasskey", "RedeemPasskey", "RedeemToken", "token", "Account", "_id", "Profile", "Devices", "Security"]
|
|
7
|
+
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ClientAction
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JG6AFSFU.mjs";
|
|
5
5
|
import {
|
|
6
6
|
CLIENT_PLUGIN
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-SZLX4BVJ.mjs";
|
|
8
8
|
|
|
9
|
-
//
|
|
9
|
+
// src/components/DevicesContainer.tsx
|
|
10
10
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
11
|
-
import { Check, X } from "@phosphor-icons/react";
|
|
12
11
|
import React, { useCallback, useEffect, useState } from "react";
|
|
13
12
|
import { QR } from "react-qr-rounded";
|
|
14
13
|
import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
|
|
@@ -17,13 +16,11 @@ import { useClient, useMulticastObservable } from "@dxos/react-client";
|
|
|
17
16
|
import { useDevices } from "@dxos/react-client/halo";
|
|
18
17
|
import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
|
|
19
18
|
import { useNetworkStatus } from "@dxos/react-client/mesh";
|
|
20
|
-
import { Button, Clipboard, IconButton, List, useId, useTranslation } from "@dxos/react-ui";
|
|
19
|
+
import { Button, Clipboard, Icon, IconButton, List, useId, useTranslation } from "@dxos/react-ui";
|
|
21
20
|
import { ControlFrame, ControlFrameItem, ControlGroup, ControlItem, ControlPage, ControlSection } from "@dxos/react-ui-form";
|
|
22
|
-
import { StackItem } from "@dxos/react-ui-stack";
|
|
23
|
-
import { getSize, mx } from "@dxos/react-ui-theme";
|
|
24
21
|
import { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from "@dxos/shell/react";
|
|
25
22
|
import { hexToEmoji } from "@dxos/util";
|
|
26
|
-
var __dxlog_file = "/
|
|
23
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/components/DevicesContainer.tsx";
|
|
27
24
|
var DevicesContainer = ({ createInvitationUrl }) => {
|
|
28
25
|
var _effect = _useSignals();
|
|
29
26
|
try {
|
|
@@ -44,9 +41,7 @@ var DevicesContainer = ({ createInvitationUrl }) => {
|
|
|
44
41
|
})), [
|
|
45
42
|
dispatch
|
|
46
43
|
]);
|
|
47
|
-
return /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(
|
|
48
|
-
classNames: "block overflow-y-auto"
|
|
49
|
-
}, /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
|
|
44
|
+
return /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
|
|
50
45
|
title: t("devices verbose label", {
|
|
51
46
|
ns: CLIENT_PLUGIN
|
|
52
47
|
}),
|
|
@@ -101,7 +96,7 @@ var DevicesContainer = ({ createInvitationUrl }) => {
|
|
|
101
96
|
variant: "destructive",
|
|
102
97
|
onClick: handleJoinNewIdentity,
|
|
103
98
|
"data-testid": "devicesContainer.joinExisting"
|
|
104
|
-
}, t("join new identity label")))))))
|
|
99
|
+
}, t("join new identity label")))))));
|
|
105
100
|
} finally {
|
|
106
101
|
_effect.f();
|
|
107
102
|
}
|
|
@@ -122,7 +117,7 @@ var DeviceInvitation = (props) => {
|
|
|
122
117
|
authCode: invitation3.authCode
|
|
123
118
|
}), void 0, {
|
|
124
119
|
F: __dxlog_file,
|
|
125
|
-
L:
|
|
120
|
+
L: 128,
|
|
126
121
|
S: void 0,
|
|
127
122
|
C: (f, a) => f(...a)
|
|
128
123
|
});
|
|
@@ -287,20 +282,24 @@ var InvitationAuthCode = ({ id, code, onCancel }) => {
|
|
|
287
282
|
var InvitationComplete = ({ statusValue }) => {
|
|
288
283
|
var _effect = _useSignals();
|
|
289
284
|
try {
|
|
290
|
-
return statusValue > 0 ? /* @__PURE__ */ React.createElement(
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
285
|
+
return statusValue > 0 ? /* @__PURE__ */ React.createElement(Icon, {
|
|
286
|
+
icon: "ph--check--regular",
|
|
287
|
+
size: 6,
|
|
288
|
+
classNames: "m-1.5"
|
|
289
|
+
}) : /* @__PURE__ */ React.createElement(Icon, {
|
|
290
|
+
icon: "ph--x--regular",
|
|
291
|
+
size: 6,
|
|
292
|
+
classNames: "m-1.5"
|
|
294
293
|
});
|
|
295
294
|
} finally {
|
|
296
295
|
_effect.f();
|
|
297
296
|
}
|
|
298
297
|
};
|
|
299
298
|
|
|
300
|
-
//
|
|
299
|
+
// src/components/JoinDialog.tsx
|
|
301
300
|
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
302
301
|
import React2, { useCallback as useCallback2 } from "react";
|
|
303
|
-
import { createIntent as createIntent2,
|
|
302
|
+
import { LayoutAction, createIntent as createIntent2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
304
303
|
import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
305
304
|
import { Dialog, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
306
305
|
import { JoinPanel } from "@dxos/shell/react";
|
|
@@ -351,7 +350,7 @@ var JoinDialog = (props) => {
|
|
|
351
350
|
}
|
|
352
351
|
};
|
|
353
352
|
|
|
354
|
-
//
|
|
353
|
+
// src/components/ProfileContainer.tsx
|
|
355
354
|
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
356
355
|
import { Schema } from "effect";
|
|
357
356
|
import React3, { useCallback as useCallback3, useMemo, useState as useState2 } from "react";
|
|
@@ -359,10 +358,9 @@ import { debounce } from "@dxos/async";
|
|
|
359
358
|
import { useClient as useClient2 } from "@dxos/react-client";
|
|
360
359
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
361
360
|
import { ButtonGroup, Clipboard as Clipboard2, Input, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
362
|
-
import {
|
|
361
|
+
import { ControlItem as ControlItem2, ControlItemInput, ControlPage as ControlPage2, ControlSection as ControlSection2, Form } from "@dxos/react-ui-form";
|
|
363
362
|
import { EmojiPickerBlock, HuePicker } from "@dxos/react-ui-pickers";
|
|
364
|
-
import {
|
|
365
|
-
import { hexToHue, hexToEmoji as hexToEmoji2 } from "@dxos/util";
|
|
363
|
+
import { hexToEmoji as hexToEmoji2, hexToHue } from "@dxos/util";
|
|
366
364
|
var getDefaultHueValue = (identity) => hexToHue(identity?.identityKey.toHex() ?? "0");
|
|
367
365
|
var getDefaultEmojiValue = (identity) => hexToEmoji2(identity?.identityKey.toHex() ?? "0");
|
|
368
366
|
var getHueValue = (identity) => identity?.profile?.data?.hue || getDefaultHueValue(identity);
|
|
@@ -387,7 +385,7 @@ var ProfileContainer = () => {
|
|
|
387
385
|
setDisplayNameDirectly(profile.displayName);
|
|
388
386
|
setEmojiDirectly(profile.emoji);
|
|
389
387
|
setHueDirectly(profile.hue);
|
|
390
|
-
updateProfile(profile);
|
|
388
|
+
void updateProfile(profile);
|
|
391
389
|
}, [
|
|
392
390
|
identity
|
|
393
391
|
]);
|
|
@@ -473,9 +471,7 @@ var ProfileContainer = () => {
|
|
|
473
471
|
}), [
|
|
474
472
|
t
|
|
475
473
|
]);
|
|
476
|
-
return /* @__PURE__ */ React3.createElement(
|
|
477
|
-
classNames: "block overflow-y-auto"
|
|
478
|
-
}, /* @__PURE__ */ React3.createElement(ControlPage2, null, /* @__PURE__ */ React3.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React3.createElement(ControlSection2, {
|
|
474
|
+
return /* @__PURE__ */ React3.createElement(ControlPage2, null, /* @__PURE__ */ React3.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React3.createElement(ControlSection2, {
|
|
479
475
|
title: t("profile label"),
|
|
480
476
|
description: t("profile description")
|
|
481
477
|
}, /* @__PURE__ */ React3.createElement(Form, {
|
|
@@ -484,9 +480,9 @@ var ProfileContainer = () => {
|
|
|
484
480
|
autoSave: true,
|
|
485
481
|
onSave: handleSave,
|
|
486
482
|
Custom: customElements,
|
|
487
|
-
classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]
|
|
483
|
+
classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]",
|
|
488
484
|
outerSpacing: false
|
|
489
|
-
}))))
|
|
485
|
+
}))));
|
|
490
486
|
} finally {
|
|
491
487
|
_effect.f();
|
|
492
488
|
}
|
|
@@ -506,7 +502,7 @@ var ProfileSchema = Schema.Struct({
|
|
|
506
502
|
})
|
|
507
503
|
});
|
|
508
504
|
|
|
509
|
-
//
|
|
505
|
+
// src/components/RecoveryCodeDialog.tsx
|
|
510
506
|
import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
|
|
511
507
|
import React4, { useCallback as useCallback4, useState as useState3 } from "react";
|
|
512
508
|
import { AlertDialog, Button as Button2, Clipboard as Clipboard3, Input as Input2, useTranslation as useTranslation4 } from "@dxos/react-ui";
|
|
@@ -568,14 +564,13 @@ var Code = ({ code }) => {
|
|
|
568
564
|
}
|
|
569
565
|
};
|
|
570
566
|
|
|
571
|
-
//
|
|
567
|
+
// src/components/RecoveryCredentialsContainer.tsx
|
|
572
568
|
import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking";
|
|
573
569
|
import React5 from "react";
|
|
574
570
|
import { createIntent as createIntent3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
|
|
575
571
|
import { useCredentials } from "@dxos/react-client/halo";
|
|
576
|
-
import { Icon, IconButton as IconButton2, List as List2, ListItem, useTranslation as useTranslation5
|
|
572
|
+
import { Icon as Icon2, IconButton as IconButton2, List as List2, ListItem, Message, useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
577
573
|
import { ControlGroup as ControlGroup2, ControlItem as ControlItem3, ControlPage as ControlPage3, ControlSection as ControlSection3 } from "@dxos/react-ui-form";
|
|
578
|
-
import { StackItem as StackItem3 } from "@dxos/react-ui-stack";
|
|
579
574
|
var MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;
|
|
580
575
|
var RecoveryCredentialsContainer = () => {
|
|
581
576
|
var _effect = _useSignals5();
|
|
@@ -584,9 +579,7 @@ var RecoveryCredentialsContainer = () => {
|
|
|
584
579
|
const { dispatchPromise: dispatch } = useIntentDispatcher3();
|
|
585
580
|
const credentials = useCredentials();
|
|
586
581
|
const recoveryCredentials = credentials.filter((credential) => credential.subject.assertion["@type"] === "dxos.halo.credentials.IdentityRecovery");
|
|
587
|
-
return /* @__PURE__ */ React5.createElement(
|
|
588
|
-
classNames: "block overflow-y-auto"
|
|
589
|
-
}, /* @__PURE__ */ React5.createElement(ControlPage3, null, /* @__PURE__ */ React5.createElement(ControlSection3, {
|
|
582
|
+
return /* @__PURE__ */ React5.createElement(ControlPage3, null, /* @__PURE__ */ React5.createElement(ControlSection3, {
|
|
590
583
|
title: t("recovery setup dialog title"),
|
|
591
584
|
description: t("recovery setup dialog description")
|
|
592
585
|
}, /* @__PURE__ */ React5.createElement(ControlGroup2, null, /* @__PURE__ */ React5.createElement(ControlItem3, {
|
|
@@ -618,19 +611,19 @@ var RecoveryCredentialsContainer = () => {
|
|
|
618
611
|
classNames: "container-max-width pli-2"
|
|
619
612
|
}, recoveryCredentials.map((credential) => /* @__PURE__ */ React5.createElement(ListItem.Root, {
|
|
620
613
|
key: credential.id?.toHex()
|
|
621
|
-
}, /* @__PURE__ */ React5.createElement(ListItem.Endcap, null, /* @__PURE__ */ React5.createElement(
|
|
614
|
+
}, /* @__PURE__ */ React5.createElement(ListItem.Endcap, null, /* @__PURE__ */ React5.createElement(Icon2, {
|
|
622
615
|
icon: "ph--key--regular",
|
|
623
616
|
size: 5
|
|
624
|
-
})), /* @__PURE__ */ React5.createElement(ListItem.Heading, null, credential.issuanceDate.toLocaleString()))))))
|
|
617
|
+
})), /* @__PURE__ */ React5.createElement(ListItem.Heading, null, credential.issuanceDate.toLocaleString()))))));
|
|
625
618
|
} finally {
|
|
626
619
|
_effect.f();
|
|
627
620
|
}
|
|
628
621
|
};
|
|
629
622
|
|
|
630
|
-
//
|
|
623
|
+
// src/components/ResetDialog.tsx
|
|
631
624
|
import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
|
|
632
625
|
import React6, { useCallback as useCallback5 } from "react";
|
|
633
|
-
import {
|
|
626
|
+
import { LayoutAction as LayoutAction2, createIntent as createIntent4, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
|
|
634
627
|
import { useClient as useClient3 } from "@dxos/react-client";
|
|
635
628
|
import { Dialog as Dialog2, useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
636
629
|
import { ConfirmReset } from "@dxos/shell/react";
|
|
@@ -691,4 +684,4 @@ export {
|
|
|
691
684
|
RESET_DIALOG,
|
|
692
685
|
ResetDialog
|
|
693
686
|
};
|
|
694
|
-
//# sourceMappingURL=chunk-
|
|
687
|
+
//# sourceMappingURL=chunk-MUWDSQ65.mjs.map
|