@dxos/plugin-client 0.8.4-main.84f28bd → 0.8.4-main.ae835ea

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/dist/lib/browser/{app-graph-builder-3EILEBWW.mjs → app-graph-builder-KCCH45OW.mjs} +23 -22
  2. package/dist/lib/browser/app-graph-builder-KCCH45OW.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-4LRO3Y2O.mjs +19 -0
  4. package/dist/lib/browser/chunk-4LRO3Y2O.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-N5UR2HOE.mjs +18 -0
  6. package/dist/lib/browser/chunk-N5UR2HOE.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-Q7TFRFHI.mjs → chunk-RDIG75CA.mjs} +15 -16
  8. package/dist/lib/browser/chunk-RDIG75CA.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-64ANQXYZ.mjs → chunk-SCNW6KMG.mjs} +48 -55
  10. package/dist/lib/browser/chunk-SCNW6KMG.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-ZRVMXLDR.mjs +15 -0
  12. package/dist/lib/browser/chunk-ZRVMXLDR.mjs.map +7 -0
  13. package/dist/lib/browser/{client-JFNMEFOK.mjs → client-O7U3MQ6J.mjs} +14 -8
  14. package/dist/lib/browser/client-O7U3MQ6J.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +23 -19
  16. package/dist/lib/browser/index.mjs.map +4 -4
  17. package/dist/lib/browser/{intent-resolver-YGAQVXI2.mjs → intent-resolver-SPZU2X4O.mjs} +18 -18
  18. package/dist/lib/browser/intent-resolver-SPZU2X4O.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{migrations-5COKGS4E.mjs → migrations-FQYDKKYO.mjs} +5 -5
  21. package/dist/lib/{node-esm/migrations-FE4PDX6W.mjs.map → browser/migrations-FQYDKKYO.mjs.map} +2 -2
  22. package/dist/lib/browser/{react-context-GBNYT5QK.mjs → react-context-QCKETSRF.mjs} +7 -7
  23. package/dist/lib/browser/react-context-QCKETSRF.mjs.map +7 -0
  24. package/dist/lib/browser/{react-surface-YKQAUE2M.mjs → react-surface-SLGNIGL6.mjs} +7 -7
  25. package/dist/lib/browser/{react-surface-YKQAUE2M.mjs.map → react-surface-SLGNIGL6.mjs.map} +3 -3
  26. package/dist/lib/browser/{schema-defs-6L7W2RHL.mjs → schema-defs-SPPWTZRH.mjs} +5 -5
  27. package/dist/lib/browser/schema-defs-SPPWTZRH.mjs.map +7 -0
  28. package/dist/lib/browser/types/index.mjs +10 -0
  29. package/dist/lib/node-esm/{app-graph-builder-GINHOE7A.mjs → app-graph-builder-B5IOYV4W.mjs} +23 -22
  30. package/dist/lib/node-esm/app-graph-builder-B5IOYV4W.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs +19 -0
  32. package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs.map +7 -0
  33. package/dist/lib/node-esm/chunk-7M7VWQJW.mjs +20 -0
  34. package/dist/lib/node-esm/chunk-7M7VWQJW.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-QT3EQXDU.mjs +17 -0
  36. package/dist/lib/node-esm/chunk-QT3EQXDU.mjs.map +7 -0
  37. package/dist/lib/node-esm/{chunk-K4PIKBQQ.mjs → chunk-RHMYXMKB.mjs} +48 -55
  38. package/dist/lib/node-esm/chunk-RHMYXMKB.mjs.map +7 -0
  39. package/dist/lib/node-esm/{chunk-GDJMDBWM.mjs → chunk-VENKFPBC.mjs} +15 -16
  40. package/dist/lib/node-esm/chunk-VENKFPBC.mjs.map +7 -0
  41. package/dist/lib/node-esm/{client-XDYQARBL.mjs → client-6MTNT7M6.mjs} +14 -8
  42. package/dist/lib/node-esm/client-6MTNT7M6.mjs.map +7 -0
  43. package/dist/lib/node-esm/index.mjs +23 -19
  44. package/dist/lib/node-esm/index.mjs.map +4 -4
  45. package/dist/lib/node-esm/{intent-resolver-IN7YG7N7.mjs → intent-resolver-4HEQTR5X.mjs} +18 -18
  46. package/dist/lib/node-esm/intent-resolver-4HEQTR5X.mjs.map +7 -0
  47. package/dist/lib/node-esm/meta.json +1 -1
  48. package/dist/lib/node-esm/{migrations-FE4PDX6W.mjs → migrations-2D5ENOAB.mjs} +5 -5
  49. package/dist/lib/{browser/migrations-5COKGS4E.mjs.map → node-esm/migrations-2D5ENOAB.mjs.map} +2 -2
  50. package/dist/lib/node-esm/{react-context-UCK43H3Z.mjs → react-context-ZVUDFBCH.mjs} +7 -7
  51. package/dist/lib/node-esm/react-context-ZVUDFBCH.mjs.map +7 -0
  52. package/dist/lib/node-esm/{react-surface-HDHC6XHQ.mjs → react-surface-FFOAE7HL.mjs} +7 -7
  53. package/dist/lib/node-esm/{react-surface-HDHC6XHQ.mjs.map → react-surface-FFOAE7HL.mjs.map} +3 -3
  54. package/dist/lib/node-esm/{schema-defs-GZIVMHLW.mjs → schema-defs-FIV7SETB.mjs} +5 -5
  55. package/dist/lib/node-esm/schema-defs-FIV7SETB.mjs.map +7 -0
  56. package/dist/lib/node-esm/{types.mjs → types/index.mjs} +3 -3
  57. package/dist/types/src/ClientPlugin.d.ts +1 -1
  58. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  60. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  61. package/dist/types/src/capabilities/capabilities.d.ts +2 -3
  62. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  63. package/dist/types/src/capabilities/client.d.ts +1 -1
  64. package/dist/types/src/capabilities/client.d.ts.map +1 -1
  65. package/dist/types/src/capabilities/index.d.ts +10 -10
  66. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  67. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  68. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/migrations.d.ts +1 -1
  70. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/react-context.d.ts +2 -2
  72. package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  74. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
  76. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  77. package/dist/types/src/components/DevicesContainer.d.ts.map +1 -1
  78. package/dist/types/src/components/DevicesContainer.stories.d.ts +224 -5
  79. package/dist/types/src/components/DevicesContainer.stories.d.ts.map +1 -1
  80. package/dist/types/src/components/JoinDialog.d.ts +1 -1
  81. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  82. package/dist/types/src/components/ProfileContainer.d.ts.map +1 -1
  83. package/dist/types/src/components/ProfileContainer.stories.d.ts +57 -5
  84. package/dist/types/src/components/ProfileContainer.stories.d.ts.map +1 -1
  85. package/dist/types/src/components/RecoveryCodeDialog.d.ts +1 -1
  86. package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +1 -1
  87. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts +59 -5
  88. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +1 -1
  89. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts +1 -1
  90. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +1 -1
  91. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +57 -5
  92. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
  93. package/dist/types/src/components/ResetDialog.d.ts +1 -1
  94. package/dist/types/src/components/ResetDialog.d.ts.map +1 -1
  95. package/dist/types/src/components/ResetDialog.stories.d.ts +59 -4
  96. package/dist/types/src/components/ResetDialog.stories.d.ts.map +1 -1
  97. package/dist/types/src/events.d.ts.map +1 -1
  98. package/dist/types/src/index.d.ts +3 -2
  99. package/dist/types/src/index.d.ts.map +1 -1
  100. package/dist/types/src/meta.d.ts +0 -1
  101. package/dist/types/src/meta.d.ts.map +1 -1
  102. package/dist/types/src/types/index.d.ts +2 -0
  103. package/dist/types/src/types/index.d.ts.map +1 -0
  104. package/dist/types/src/{types.d.ts → types/schema.d.ts} +31 -25
  105. package/dist/types/src/types/schema.d.ts.map +1 -0
  106. package/dist/types/tsconfig.tsbuildinfo +1 -1
  107. package/package.json +40 -41
  108. package/src/ClientPlugin.ts +57 -59
  109. package/src/capabilities/app-graph-builder.ts +20 -18
  110. package/src/capabilities/capabilities.ts +7 -6
  111. package/src/capabilities/client.ts +6 -4
  112. package/src/capabilities/intent-resolver.ts +7 -6
  113. package/src/capabilities/migrations.ts +1 -1
  114. package/src/capabilities/react-context.tsx +3 -2
  115. package/src/capabilities/react-surface.tsx +3 -3
  116. package/src/capabilities/schema-defs.ts +3 -3
  117. package/src/components/DevicesContainer.stories.tsx +9 -11
  118. package/src/components/DevicesContainer.tsx +59 -71
  119. package/src/components/JoinDialog.tsx +4 -4
  120. package/src/components/ProfileContainer.stories.tsx +8 -9
  121. package/src/components/ProfileContainer.tsx +23 -26
  122. package/src/components/RecoveryCodeDialog.stories.tsx +9 -10
  123. package/src/components/RecoveryCodeDialog.tsx +3 -3
  124. package/src/components/RecoveryCredentialsContainer.stories.tsx +9 -11
  125. package/src/components/RecoveryCredentialsContainer.tsx +47 -50
  126. package/src/components/ResetDialog.stories.tsx +10 -11
  127. package/src/components/ResetDialog.tsx +4 -4
  128. package/src/events.ts +6 -6
  129. package/src/index.ts +4 -3
  130. package/src/meta.ts +6 -3
  131. package/src/types/index.ts +5 -0
  132. package/src/{types.ts → types/schema.ts} +15 -16
  133. package/dist/lib/browser/app-graph-builder-3EILEBWW.mjs.map +0 -7
  134. package/dist/lib/browser/chunk-64ANQXYZ.mjs.map +0 -7
  135. package/dist/lib/browser/chunk-AWXKL4UR.mjs +0 -18
  136. package/dist/lib/browser/chunk-AWXKL4UR.mjs.map +0 -7
  137. package/dist/lib/browser/chunk-CAF2COXW.mjs +0 -19
  138. package/dist/lib/browser/chunk-CAF2COXW.mjs.map +0 -7
  139. package/dist/lib/browser/chunk-GS3LDHYD.mjs +0 -12
  140. package/dist/lib/browser/chunk-GS3LDHYD.mjs.map +0 -7
  141. package/dist/lib/browser/chunk-Q7TFRFHI.mjs.map +0 -7
  142. package/dist/lib/browser/client-JFNMEFOK.mjs.map +0 -7
  143. package/dist/lib/browser/intent-resolver-YGAQVXI2.mjs.map +0 -7
  144. package/dist/lib/browser/react-context-GBNYT5QK.mjs.map +0 -7
  145. package/dist/lib/browser/schema-defs-6L7W2RHL.mjs.map +0 -7
  146. package/dist/lib/browser/types.mjs +0 -10
  147. package/dist/lib/node-esm/app-graph-builder-GINHOE7A.mjs.map +0 -7
  148. package/dist/lib/node-esm/chunk-3BUB64JB.mjs +0 -19
  149. package/dist/lib/node-esm/chunk-3BUB64JB.mjs.map +0 -7
  150. package/dist/lib/node-esm/chunk-GDJMDBWM.mjs.map +0 -7
  151. package/dist/lib/node-esm/chunk-K4PIKBQQ.mjs.map +0 -7
  152. package/dist/lib/node-esm/chunk-SZLX4BVJ.mjs +0 -14
  153. package/dist/lib/node-esm/chunk-SZLX4BVJ.mjs.map +0 -7
  154. package/dist/lib/node-esm/chunk-UMO3ETDV.mjs +0 -20
  155. package/dist/lib/node-esm/chunk-UMO3ETDV.mjs.map +0 -7
  156. package/dist/lib/node-esm/client-XDYQARBL.mjs.map +0 -7
  157. package/dist/lib/node-esm/intent-resolver-IN7YG7N7.mjs.map +0 -7
  158. package/dist/lib/node-esm/react-context-UCK43H3Z.mjs.map +0 -7
  159. package/dist/lib/node-esm/schema-defs-GZIVMHLW.mjs.map +0 -7
  160. package/dist/types/src/types.d.ts.map +0 -1
  161. /package/dist/lib/browser/{types.mjs.map → types/index.mjs.map} +0 -0
  162. /package/dist/lib/node-esm/{types.mjs.map → types/index.mjs.map} +0 -0
@@ -1,27 +1,28 @@
1
1
  import {
2
2
  ClientCapabilities
3
- } from "./chunk-AWXKL4UR.mjs";
3
+ } from "./chunk-N5UR2HOE.mjs";
4
4
  import {
5
5
  Account,
6
6
  ClientAction
7
- } from "./chunk-Q7TFRFHI.mjs";
7
+ } from "./chunk-RDIG75CA.mjs";
8
8
  import {
9
- CLIENT_PLUGIN
10
- } from "./chunk-GS3LDHYD.mjs";
9
+ meta
10
+ } from "./chunk-ZRVMXLDR.mjs";
11
11
 
12
12
  // src/capabilities/app-graph-builder.ts
13
13
  import { Rx } from "@effect-rx/rx-react";
14
- import { Option, pipe } from "effect";
14
+ import * as Function from "effect/Function";
15
+ import * as Option from "effect/Option";
15
16
  import { createIntent } from "@dxos/app-framework";
16
17
  import { Capabilities, contributes } from "@dxos/app-framework";
17
- import { createExtension, rxFromObservable, ROOT_ID } from "@dxos/plugin-graph";
18
+ import { ROOT_ID, createExtension, rxFromObservable } from "@dxos/plugin-graph";
18
19
  import { ConnectionState } from "@dxos/react-client/mesh";
19
- var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, createExtension({
20
- id: CLIENT_PLUGIN,
21
- actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => {
20
+ var app_graph_builder_default = ((context) => contributes(Capabilities.AppGraphBuilder, createExtension({
21
+ id: meta.id,
22
+ actions: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => {
22
23
  return [
23
24
  {
24
- id: `${CLIENT_PLUGIN}/open-user-account`,
25
+ id: `${meta.id}/open-user-account`,
25
26
  data: async () => {
26
27
  const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
27
28
  await dispatch(createIntent(ClientAction.ShareIdentity));
@@ -30,7 +31,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
30
31
  label: [
31
32
  "open user account label",
32
33
  {
33
- ns: CLIENT_PLUGIN
34
+ ns: meta.id
34
35
  }
35
36
  ],
36
37
  icon: "ph--user--regular",
@@ -45,19 +46,19 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
45
46
  }
46
47
  ];
47
48
  }), Option.getOrElse(() => []))),
48
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => {
49
+ connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => {
49
50
  const client = context.getCapability(ClientCapabilities.Client);
50
51
  const identity = get(rxFromObservable(client.halo.identity));
51
52
  const status = get(rxFromObservable(client.mesh.networkStatus));
52
53
  return [
53
54
  {
54
55
  id: Account.id,
55
- type: CLIENT_PLUGIN,
56
+ type: meta.id,
56
57
  properties: {
57
58
  label: [
58
59
  "account label",
59
60
  {
60
- ns: CLIENT_PLUGIN
61
+ ns: meta.id
61
62
  }
62
63
  ],
63
64
  icon: "ph--user--regular",
@@ -72,12 +73,12 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
72
73
  {
73
74
  id: Account.Profile,
74
75
  data: Account.Profile,
75
- type: CLIENT_PLUGIN,
76
+ type: meta.id,
76
77
  properties: {
77
78
  label: [
78
79
  "profile label",
79
80
  {
80
- ns: CLIENT_PLUGIN
81
+ ns: meta.id
81
82
  }
82
83
  ],
83
84
  icon: "ph--user--regular"
@@ -86,12 +87,12 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
86
87
  {
87
88
  id: Account.Devices,
88
89
  data: Account.Devices,
89
- type: CLIENT_PLUGIN,
90
+ type: meta.id,
90
91
  properties: {
91
92
  label: [
92
93
  "devices label",
93
94
  {
94
- ns: CLIENT_PLUGIN
95
+ ns: meta.id
95
96
  }
96
97
  ],
97
98
  icon: "ph--devices--regular",
@@ -101,12 +102,12 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
101
102
  {
102
103
  id: Account.Security,
103
104
  data: Account.Security,
104
- type: CLIENT_PLUGIN,
105
+ type: meta.id,
105
106
  properties: {
106
107
  label: [
107
108
  "security label",
108
109
  {
109
- ns: CLIENT_PLUGIN
110
+ ns: meta.id
110
111
  }
111
112
  ],
112
113
  icon: "ph--key--regular"
@@ -116,8 +117,8 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
116
117
  }
117
118
  ];
118
119
  }), Option.getOrElse(() => [])))
119
- }));
120
+ })));
120
121
  export {
121
122
  app_graph_builder_default as default
122
123
  };
123
- //# sourceMappingURL=app-graph-builder-3EILEBWW.mjs.map
124
+ //# sourceMappingURL=app-graph-builder-KCCH45OW.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 * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\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 { meta } 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: meta.id,\n actions: (node) =>\n Rx.make((get) =>\n Function.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: `${meta.id}/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: meta.id }],\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 Function.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: meta.id,\n properties: {\n label: ['account label', { ns: meta.id }],\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: meta.id,\n properties: {\n label: ['profile label', { ns: meta.id }],\n icon: 'ph--user--regular',\n },\n },\n {\n id: Account.Devices,\n data: Account.Devices,\n type: meta.id,\n properties: {\n label: ['devices label', { ns: meta.id }],\n icon: 'ph--devices--regular',\n testId: 'clientPlugin.devices',\n },\n },\n {\n id: Account.Security,\n data: Account.Security,\n type: meta.id,\n properties: {\n label: ['security label', { ns: meta.id }],\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,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,oBAAoB;AAC7B,SAASC,cAAkCC,mBAAmB;AAC9D,SAASC,SAASC,iBAAiBC,wBAAwB;AAC3D,SAASC,uBAAuB;AAOhC,IAAA,6BAAe,CAACC,YACdC,YACEC,aAAaC,iBACbC,gBAAgB;EACdC,IAAIC,KAAKD;EACTE,SAAS,CAACC,SACRC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUA,MAAKH,OAAOS,UAAiBC,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GACxEC,WAAI,MAAA;AACT,WAAO;MACL;QACEZ,IAAI,GAAGC,KAAKD,EAAE;QACda,MAAM,YAAA;AACJ,gBAAM,EAAEC,iBAAiBC,SAAQ,IAAKpB,QAAQqB,cAAcnB,aAAaoB,gBAAgB;AACzF,gBAAMF,SAASG,aAAaC,aAAaC,aAAa,CAAA;QACxD;QACAC,YAAY;UACVC,OAAO;YAAC;YAA2B;cAAEC,IAAItB,KAAKD;YAAG;;UACjDwB,MAAM;UACNC,aAAa;UACbC,YAAY;YACVC,OAAO;;YAEPC,SAAS;YACTC,OAAO;UACT;QACF;MACF;;EAEJ,CAAA,GACOC,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAG/BC,WAAW,CAAC5B,SACVC,GAAGC,KAAK,CAACC,QACEC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUA,MAAKH,OAAOS,UAAiBC,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GACxEC,WAAI,MAAA;AACT,UAAMoB,SAASrC,QAAQqB,cAAciB,mBAAmBC,MAAM;AAC9D,UAAMC,WAAW7B,IAAI8B,iBAAiBJ,OAAOK,KAAKF,QAAQ,CAAA;AAC1D,UAAMG,SAAShC,IAAI8B,iBAAiBJ,OAAOO,KAAKC,aAAa,CAAA;AAE7D,WAAO;MACL;QACExC,IAAIyC,QAAQzC;QACZ0C,MAAMzC,KAAKD;QACXqB,YAAY;UACVC,OAAO;YAAC;YAAiB;cAAEC,IAAItB,KAAKD;YAAG;;UACvCwB,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;YACEpD,IAAIyC,QAAQY;YACZxC,MAAM4B,QAAQY;YACdX,MAAMzC,KAAKD;YACXqB,YAAY;cACVC,OAAO;gBAAC;gBAAiB;kBAAEC,IAAItB,KAAKD;gBAAG;;cACvCwB,MAAM;YACR;UACF;UACA;YACExB,IAAIyC,QAAQa;YACZzC,MAAM4B,QAAQa;YACdZ,MAAMzC,KAAKD;YACXqB,YAAY;cACVC,OAAO;gBAAC;gBAAiB;kBAAEC,IAAItB,KAAKD;gBAAG;;cACvCwB,MAAM;cACN+B,QAAQ;YACV;UACF;UACA;YACEvD,IAAIyC,QAAQe;YACZ3C,MAAM4B,QAAQe;YACdd,MAAMzC,KAAKD;YACXqB,YAAY;cACVC,OAAO;gBAAC;gBAAkB;kBAAEC,IAAItB,KAAKD;gBAAG;;cACxCwB,MAAM;YACR;UACF;;MAEJ;;EAEJ,CAAA,GACOM,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;AAGjC,CAAA,CAAA;",
6
+ "names": ["Rx", "Function", "Option", "createIntent", "Capabilities", "contributes", "ROOT_ID", "createExtension", "rxFromObservable", "ConnectionState", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "actions", "node", "Rx", "make", "get", "pipe", "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
+ }
@@ -0,0 +1,19 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-ZRVMXLDR.mjs";
4
+
5
+ // src/events.ts
6
+ import { defineEvent } from "@dxos/app-framework";
7
+ (function(ClientEvents2) {
8
+ ClientEvents2.ClientReady = defineEvent(`${meta.id}/event/client-ready`);
9
+ ClientEvents2.SetupSchema = defineEvent(`${meta.id}/event/setup-schema`);
10
+ ClientEvents2.SetupMigration = defineEvent(`${meta.id}/event/setup-migration`);
11
+ ClientEvents2.IdentityCreated = defineEvent(`${meta.id}/event/identity-created`);
12
+ ClientEvents2.SpacesReady = defineEvent(`${meta.id}/event/spaces-ready`);
13
+ })(ClientEvents || (ClientEvents = {}));
14
+ var ClientEvents;
15
+
16
+ export {
17
+ ClientEvents
18
+ };
19
+ //# sourceMappingURL=chunk-4LRO3Y2O.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/events.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace ClientEvents {\n export const ClientReady = defineEvent(`${meta.id}/event/client-ready`);\n export const SetupSchema = defineEvent(`${meta.id}/event/setup-schema`);\n export const SetupMigration = defineEvent(`${meta.id}/event/setup-migration`);\n export const IdentityCreated = defineEvent(`${meta.id}/event/identity-created`);\n export const SpacesReady = defineEvent(`${meta.id}/event/spaces-ready`);\n}\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,mBAAmB;UAIXC,eAAAA;gBACFC,cAAcC,YAAY,GAAGC,KAAKC,EAAE,qBAAqB;gBACzDC,cAAcH,YAAY,GAAGC,KAAKC,EAAE,qBAAqB;gBACzDE,iBAAiBJ,YAAY,GAAGC,KAAKC,EAAE,wBAAwB;gBAC/DG,kBAAkBL,YAAY,GAAGC,KAAKC,EAAE,yBAAyB;gBACjEI,cAAcN,YAAY,GAAGC,KAAKC,EAAE,qBAAqB;AACxE,GANiBJ,iBAAAA,eAAAA,CAAAA,EAAAA;;",
6
+ "names": ["defineEvent", "ClientEvents", "ClientReady", "defineEvent", "meta", "id", "SetupSchema", "SetupMigration", "IdentityCreated", "SpacesReady"]
7
+ }
@@ -0,0 +1,18 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-ZRVMXLDR.mjs";
4
+
5
+ // src/capabilities/capabilities.ts
6
+ import { defineCapability } from "@dxos/app-framework";
7
+ (function(ClientCapabilities2) {
8
+ ClientCapabilities2.Client = defineCapability(`${meta.id}/capability/client`);
9
+ ClientCapabilities2.Schema = defineCapability(`${meta.id}/capability/schema`);
10
+ ClientCapabilities2.SchemaWhiteList = defineCapability(`${meta.id}/capability/schema-whitelist`);
11
+ ClientCapabilities2.Migration = defineCapability(`${meta.id}/capability/migration`);
12
+ })(ClientCapabilities || (ClientCapabilities = {}));
13
+ var ClientCapabilities;
14
+
15
+ export {
16
+ ClientCapabilities
17
+ };
18
+ //# sourceMappingURL=chunk-N5UR2HOE.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 { meta } from '../meta';\n\nexport namespace ClientCapabilities {\n export const Client = defineCapability<Client>(`${meta.id}/capability/client`);\n export const Schema = defineCapability<Type.Obj.Any[]>(`${meta.id}/capability/schema`);\n // TODO(wittjosiah): More descriptive name.\n export const SchemaWhiteList = defineCapability<Type.Obj.Any[]>(`${meta.id}/capability/schema-whitelist`);\n export const Migration = defineCapability<ObjectMigration[]>(`${meta.id}/capability/migration`);\n}\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,wBAAwB;UAOhBC,qBAAAA;sBACFC,SAASC,iBAAyB,GAAGC,KAAKC,EAAE,oBAAoB;sBAChEC,SAASH,iBAAiC,GAAGC,KAAKC,EAAE,oBAAoB;sBAExEE,kBAAkBJ,iBAAiC,GAAGC,KAAKC,EAAE,8BAA8B;sBAC3FG,YAAYL,iBAAoC,GAAGC,KAAKC,EAAE,uBAAuB;AAChG,GANiBJ,uBAAAA,qBAAAA,CAAAA,EAAAA;;",
6
+ "names": ["defineCapability", "ClientCapabilities", "Client", "defineCapability", "meta", "id", "Schema", "SchemaWhiteList", "Migration"]
7
+ }
@@ -1,9 +1,9 @@
1
1
  import {
2
- CLIENT_PLUGIN
3
- } from "./chunk-GS3LDHYD.mjs";
2
+ meta
3
+ } from "./chunk-ZRVMXLDR.mjs";
4
4
 
5
- // src/types.ts
6
- import { Schema } from "effect";
5
+ // src/types/schema.ts
6
+ import * as Schema from "effect/Schema";
7
7
  import { PublicKey } from "@dxos/react-client";
8
8
  var IdentitySchema = Schema.Struct({
9
9
  identityKey: Schema.instanceOf(PublicKey),
@@ -17,7 +17,6 @@ var IdentitySchema = Schema.Struct({
17
17
  }))
18
18
  }))
19
19
  });
20
- var CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;
21
20
  (function(ClientAction2) {
22
21
  const ProfileSchema = Schema.Struct({
23
22
  displayName: Schema.optional(Schema.String),
@@ -27,13 +26,13 @@ var CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;
27
26
  value: Schema.Any
28
27
  }))
29
28
  });
30
- class CreateIdentity extends Schema.TaggedClass()(`${CLIENT_ACTION}/create-identity`, {
29
+ class CreateIdentity extends Schema.TaggedClass()(`${meta.id}/action/create-identity`, {
31
30
  input: ProfileSchema,
32
31
  output: IdentitySchema
33
32
  }) {
34
33
  }
35
34
  ClientAction2.CreateIdentity = CreateIdentity;
36
- class JoinIdentity extends Schema.TaggedClass()(`${CLIENT_ACTION}/join-identity`, {
35
+ class JoinIdentity extends Schema.TaggedClass()(`${meta.id}/action/join-identity`, {
37
36
  input: Schema.Struct({
38
37
  invitationCode: Schema.optional(Schema.String)
39
38
  }),
@@ -41,19 +40,19 @@ var CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;
41
40
  }) {
42
41
  }
43
42
  ClientAction2.JoinIdentity = JoinIdentity;
44
- class ShareIdentity extends Schema.TaggedClass()(`${CLIENT_ACTION}/share-identity`, {
43
+ class ShareIdentity extends Schema.TaggedClass()(`${meta.id}/action/share-identity`, {
45
44
  input: Schema.Void,
46
45
  output: Schema.Void
47
46
  }) {
48
47
  }
49
48
  ClientAction2.ShareIdentity = ShareIdentity;
50
- class RecoverIdentity extends Schema.TaggedClass()(`${CLIENT_ACTION}/recover-identity`, {
49
+ class RecoverIdentity extends Schema.TaggedClass()(`${meta.id}/action/recover-identity`, {
51
50
  input: Schema.Void,
52
51
  output: Schema.Void
53
52
  }) {
54
53
  }
55
54
  ClientAction2.RecoverIdentity = RecoverIdentity;
56
- class ResetStorage extends Schema.TaggedClass()(`${CLIENT_ACTION}/reset-storage`, {
55
+ class ResetStorage extends Schema.TaggedClass()(`${meta.id}/action/reset-storage`, {
57
56
  input: Schema.Struct({
58
57
  mode: Schema.optional(Schema.String)
59
58
  }),
@@ -61,31 +60,31 @@ var CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;
61
60
  }) {
62
61
  }
63
62
  ClientAction2.ResetStorage = ResetStorage;
64
- class CreateAgent extends Schema.TaggedClass()(`${CLIENT_ACTION}/create-agent`, {
63
+ class CreateAgent extends Schema.TaggedClass()(`${meta.id}/action/create-agent`, {
65
64
  input: Schema.Void,
66
65
  output: Schema.Void
67
66
  }) {
68
67
  }
69
68
  ClientAction2.CreateAgent = CreateAgent;
70
- class CreateRecoveryCode extends Schema.TaggedClass()(`${CLIENT_ACTION}/create-recovery-code`, {
69
+ class CreateRecoveryCode extends Schema.TaggedClass()(`${meta.id}/action/create-recovery-code`, {
71
70
  input: Schema.Void,
72
71
  output: Schema.Void
73
72
  }) {
74
73
  }
75
74
  ClientAction2.CreateRecoveryCode = CreateRecoveryCode;
76
- class CreatePasskey extends Schema.TaggedClass()(`${CLIENT_ACTION}/create-passkey`, {
75
+ class CreatePasskey extends Schema.TaggedClass()(`${meta.id}/action/create-passkey`, {
77
76
  input: Schema.Void,
78
77
  output: Schema.Void
79
78
  }) {
80
79
  }
81
80
  ClientAction2.CreatePasskey = CreatePasskey;
82
- class RedeemPasskey extends Schema.TaggedClass()(`${CLIENT_ACTION}/redeem-passkey`, {
81
+ class RedeemPasskey extends Schema.TaggedClass()(`${meta.id}/action/redeem-passkey`, {
83
82
  input: Schema.Void,
84
83
  output: Schema.Void
85
84
  }) {
86
85
  }
87
86
  ClientAction2.RedeemPasskey = RedeemPasskey;
88
- class RedeemToken extends Schema.TaggedClass()(`${CLIENT_ACTION}/redeem-token`, {
87
+ class RedeemToken extends Schema.TaggedClass()(`${meta.id}/action/redeem-token`, {
89
88
  input: Schema.Struct({
90
89
  token: Schema.String
91
90
  }),
@@ -108,4 +107,4 @@ export {
108
107
  ClientAction,
109
108
  Account
110
109
  };
111
- //# sourceMappingURL=chunk-Q7TFRFHI.mjs.map
110
+ //# sourceMappingURL=chunk-RDIG75CA.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 * as Schema from 'effect/Schema';\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": ";;;;;AAIA,YAAYA,YAAY;AAGxB,SAA0CC,iBAAiB;AAM3D,IAAMC,iBAAwBC,cAAO;EACnCC,aAAoBC,kBAAWC,SAAAA;EAC/BC,UAAiBC,gBAAgBH,kBAAWC,SAAAA,CAAAA;EAC5CG,SAAgBD,gBACPL,cAAO;IACZO,aAAoBF,gBAAgBG,aAAM;IAC1CC,WAAkBJ,gBAAgBG,aAAM;IACxCE,MAAaL,gBAAgBM,cAAO;MAAEC,KAAYJ;MAAQK,OAAcC;IAAI,CAAA,CAAA;EAC9E,CAAA,CAAA;AAEJ,CAAA;UAEiBC,eAAAA;AACf,QAAMC,gBAAuBhB,cAAO;IAClCO,aAAoBF,gBAAgBG,aAAM;IAC1CC,WAAkBJ,gBAAgBG,aAAM;IACxCE,MAAaL,gBAAgBM,cAAO;MAAEC,KAAYJ;MAAQK,OAAcC;IAAI,CAAA,CAAA;EAC9E,CAAA;EAEO,MAAMG,uBAA8BC,mBAAW,EAAmB,GAAGC,KAAKC,EAAE,2BAA2B;IAC5GC,OAAOL;IACPM,QAAQvB;EACV,CAAA,EAAA;EAAI;gBAHSkB,iBAAAA;EAKN,MAAMM,qBAA4BL,mBAAW,EAAiB,GAAGC,KAAKC,EAAE,yBAAyB;IACtGC,OAAcrB,cAAO;MACnBwB,gBAAuBnB,gBAAgBG,aAAM;IAC/C,CAAA;IACAc,QAAeG;EACjB,CAAA,EAAA;EAAI;gBALSF,eAAAA;EAON,MAAMG,sBAA6BR,mBAAW,EAAkB,GAAGC,KAAKC,EAAE,0BAA0B;IACzGC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSC,gBAAAA;EAKN,MAAMC,wBAA+BT,mBAAW,EAAoB,GAAGC,KAAKC,EAAE,4BAA4B;IAC/GC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSE,kBAAAA;EAKN,MAAMC,qBAA4BV,mBAAW,EAAiB,GAAGC,KAAKC,EAAE,yBAAyB;IACtGC,OAAcrB,cAAO;MACnB6B,MAAaxB,gBAAgBG,aAAM;IACrC,CAAA;IACAc,QAAeG;EACjB,CAAA,EAAA;EAAI;gBALSG,eAAAA;EAON,MAAME,oBAA2BZ,mBAAW,EAAgB,GAAGC,KAAKC,EAAE,wBAAwB;IACnGC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSK,cAAAA;EAKN,MAAMC,2BAAkCb,mBAAW,EACxD,GAAGC,KAAKC,EAAE,gCACV;IACEC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EACC;gBANUM,qBAAAA;EAQN,MAAMC,sBAA6Bd,mBAAW,EAAkB,GAAGC,KAAKC,EAAE,0BAA0B;IACzGC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSO,gBAAAA;EAKN,MAAMC,sBAA6Bf,mBAAW,EAAkB,GAAGC,KAAKC,EAAE,0BAA0B;IACzGC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSQ,gBAAAA;EAKN,MAAMC,oBAA2BhB,mBAAW,EAAgB,GAAGC,KAAKC,EAAE,wBAAwB;IACnGC,OAAcrB,cAAO;MACnBmC,OAAc3B;IAChB,CAAA;IACAc,QAAeG;EACjB,CAAA,EAAA;EAAI;gBALSS,cAAAA;AAMf,GAjEiBnB,iBAAAA,eAAAA,CAAAA,EAAAA;UA8FAqB,UAAAA;AAEf,QAAMC,MAAM;WAGCjB,KAAK,IAAIiB,GAAAA;WAETC,UAAU,GAAGD,GAAAA;WACbE,UAAU,GAAGF,GAAAA;WACbG,WAAW,GAAGH,GAAAA;AAC7B,GAViBD,YAAAA,UAAAA,CAAAA,EAAAA;;;",
6
+ "names": ["Schema", "PublicKey", "IdentitySchema", "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,13 +1,12 @@
1
1
  import {
2
2
  ClientAction
3
- } from "./chunk-Q7TFRFHI.mjs";
3
+ } from "./chunk-RDIG75CA.mjs";
4
4
  import {
5
- CLIENT_PLUGIN
6
- } from "./chunk-GS3LDHYD.mjs";
5
+ meta
6
+ } from "./chunk-ZRVMXLDR.mjs";
7
7
 
8
8
  // src/components/DevicesContainer.tsx
9
9
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
10
- import { Check, X } from "@phosphor-icons/react";
11
10
  import React, { useCallback, useEffect, useState } from "react";
12
11
  import { QR } from "react-qr-rounded";
13
12
  import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
@@ -16,10 +15,8 @@ import { useClient, useMulticastObservable } from "@dxos/react-client";
16
15
  import { useDevices } from "@dxos/react-client/halo";
17
16
  import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
18
17
  import { useNetworkStatus } from "@dxos/react-client/mesh";
19
- import { Button, Clipboard, IconButton, List, useId, useTranslation } from "@dxos/react-ui";
18
+ import { Button, Clipboard, Icon, IconButton, List, useId, useTranslation } from "@dxos/react-ui";
20
19
  import { ControlFrame, ControlFrameItem, ControlGroup, ControlItem, ControlPage, ControlSection } from "@dxos/react-ui-form";
21
- import { StackItem } from "@dxos/react-ui-stack";
22
- import { getSize, mx } from "@dxos/react-ui-theme";
23
20
  import { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from "@dxos/shell/react";
24
21
  import { hexToEmoji } from "@dxos/util";
25
22
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/components/DevicesContainer.tsx";
@@ -43,18 +40,16 @@ var DevicesContainer = ({ createInvitationUrl }) => {
43
40
  })), [
44
41
  dispatch
45
42
  ]);
46
- return /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(StackItem.Content, {
47
- classNames: "block overflow-y-auto"
48
- }, /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
43
+ return /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
49
44
  title: t("devices verbose label", {
50
- ns: CLIENT_PLUGIN
45
+ ns: meta.id
51
46
  }),
52
47
  description: t("devices description", {
53
- ns: CLIENT_PLUGIN
48
+ ns: meta.id
54
49
  })
55
50
  }, /* @__PURE__ */ React.createElement(ControlFrame, null, /* @__PURE__ */ React.createElement(ControlFrameItem, {
56
51
  title: t("devices label", {
57
- ns: CLIENT_PLUGIN
52
+ ns: meta.id
58
53
  })
59
54
  }, /* @__PURE__ */ React.createElement(List, null, devices.map((device) => {
60
55
  return /* @__PURE__ */ React.createElement(DeviceListItem, {
@@ -68,15 +63,15 @@ var DevicesContainer = ({ createInvitationUrl }) => {
68
63
  createInvitationUrl
69
64
  })))), /* @__PURE__ */ React.createElement(ControlSection, {
70
65
  title: t("danger zone title", {
71
- ns: CLIENT_PLUGIN
66
+ ns: meta.id
72
67
  }),
73
68
  description: t("danger zone description", {
74
- ns: CLIENT_PLUGIN
69
+ ns: meta.id
75
70
  })
76
71
  }, /* @__PURE__ */ React.createElement(ControlGroup, null, /* @__PURE__ */ React.createElement(ControlItem, {
77
72
  title: t("reset device label"),
78
73
  description: t("reset device description", {
79
- ns: CLIENT_PLUGIN
74
+ ns: meta.id
80
75
  })
81
76
  }, /* @__PURE__ */ React.createElement(Button, {
82
77
  variant: "destructive",
@@ -85,7 +80,7 @@ var DevicesContainer = ({ createInvitationUrl }) => {
85
80
  }, t("reset device label"))), /* @__PURE__ */ React.createElement(ControlItem, {
86
81
  title: t("recover identity label"),
87
82
  description: t("recover identity description", {
88
- ns: CLIENT_PLUGIN
83
+ ns: meta.id
89
84
  })
90
85
  }, /* @__PURE__ */ React.createElement(Button, {
91
86
  variant: "destructive",
@@ -94,13 +89,13 @@ var DevicesContainer = ({ createInvitationUrl }) => {
94
89
  }, t("recover identity label"))), /* @__PURE__ */ React.createElement(ControlItem, {
95
90
  title: t("join new identity label"),
96
91
  description: t("join new identity description", {
97
- ns: CLIENT_PLUGIN
92
+ ns: meta.id
98
93
  })
99
94
  }, /* @__PURE__ */ React.createElement(Button, {
100
95
  variant: "destructive",
101
96
  onClick: handleJoinNewIdentity,
102
97
  "data-testid": "devicesContainer.joinExisting"
103
- }, t("join new identity label"))))))));
98
+ }, t("join new identity label")))))));
104
99
  } finally {
105
100
  _effect.f();
106
101
  }
@@ -121,7 +116,7 @@ var DeviceInvitation = (props) => {
121
116
  authCode: invitation3.authCode
122
117
  }), void 0, {
123
118
  F: __dxlog_file,
124
- L: 141,
119
+ L: 125,
125
120
  S: void 0,
126
121
  C: (f, a) => f(...a)
127
122
  });
@@ -181,7 +176,7 @@ var InvitationSection = ({ state = -1, authCode, invitationId = "never", url = "
181
176
  } }) => {
182
177
  var _effect = _useSignals();
183
178
  try {
184
- const { t } = useTranslation(CLIENT_PLUGIN);
179
+ const { t } = useTranslation(meta.id);
185
180
  const activeView = state < 0 ? "init" : state >= Invitation.State.CANCELLED ? "complete" : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode ? "auth-code" : "qr-code";
186
181
  return activeView === "init" ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", {
187
182
  className: "text-description mbe-2"
@@ -226,7 +221,7 @@ var InvitationQR = ({ id, url, onCancel }) => {
226
221
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", {
227
222
  className: "text-description"
228
223
  }, t("qr code description", {
229
- ns: CLIENT_PLUGIN
224
+ ns: meta.id
230
225
  })), /* @__PURE__ */ React.createElement("div", {
231
226
  role: "group",
232
227
  className: "grid grid-cols-[1fr_min-content] mlb-2 gap-2"
@@ -286,10 +281,14 @@ var InvitationAuthCode = ({ id, code, onCancel }) => {
286
281
  var InvitationComplete = ({ statusValue }) => {
287
282
  var _effect = _useSignals();
288
283
  try {
289
- return statusValue > 0 ? /* @__PURE__ */ React.createElement(Check, {
290
- className: mx("m-1.5", getSize(6))
291
- }) : /* @__PURE__ */ React.createElement(X, {
292
- className: mx("m-1.5", getSize(6))
284
+ return statusValue > 0 ? /* @__PURE__ */ React.createElement(Icon, {
285
+ icon: "ph--check--regular",
286
+ size: 6,
287
+ classNames: "m-1.5"
288
+ }) : /* @__PURE__ */ React.createElement(Icon, {
289
+ icon: "ph--x--regular",
290
+ size: 6,
291
+ classNames: "m-1.5"
293
292
  });
294
293
  } finally {
295
294
  _effect.f();
@@ -299,16 +298,16 @@ var InvitationComplete = ({ statusValue }) => {
299
298
  // src/components/JoinDialog.tsx
300
299
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
301
300
  import React2, { useCallback as useCallback2 } from "react";
302
- import { createIntent as createIntent2, LayoutAction, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
301
+ import { LayoutAction, createIntent as createIntent2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
303
302
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
304
303
  import { Dialog, useTranslation as useTranslation2 } from "@dxos/react-ui";
305
304
  import { JoinPanel } from "@dxos/shell/react";
306
- var JOIN_DIALOG = `${CLIENT_PLUGIN}/JoinDialog`;
305
+ var JOIN_DIALOG = `${meta.id}/JoinDialog`;
307
306
  var JoinDialog = (props) => {
308
307
  var _effect = _useSignals2();
309
308
  try {
310
309
  const { dispatchPromise: dispatch } = useIntentDispatcher2();
311
- const { t } = useTranslation2(CLIENT_PLUGIN);
310
+ const { t } = useTranslation2(meta.id);
312
311
  const handleCancelResetStorage = useCallback2(() => dispatch(createIntent2(ClientAction.ShareIdentity)), [
313
312
  dispatch
314
313
  ]);
@@ -352,16 +351,15 @@ var JoinDialog = (props) => {
352
351
 
353
352
  // src/components/ProfileContainer.tsx
354
353
  import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
355
- import { Schema } from "effect";
354
+ import * as Schema from "effect/Schema";
356
355
  import React3, { useCallback as useCallback3, useMemo, useState as useState2 } from "react";
357
356
  import { debounce } from "@dxos/async";
358
357
  import { useClient as useClient2 } from "@dxos/react-client";
359
358
  import { useIdentity } from "@dxos/react-client/halo";
360
359
  import { ButtonGroup, Clipboard as Clipboard2, Input, useTranslation as useTranslation3 } from "@dxos/react-ui";
361
- import { Form, ControlItem as ControlItem2, ControlItemInput, ControlSection as ControlSection2, ControlPage as ControlPage2 } from "@dxos/react-ui-form";
360
+ import { ControlItem as ControlItem2, ControlItemInput, ControlPage as ControlPage2, ControlSection as ControlSection2, Form } from "@dxos/react-ui-form";
362
361
  import { EmojiPickerBlock, HuePicker } from "@dxos/react-ui-pickers";
363
- import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
364
- import { hexToHue, hexToEmoji as hexToEmoji2 } from "@dxos/util";
362
+ import { hexToEmoji as hexToEmoji2, hexToHue } from "@dxos/util";
365
363
  var getDefaultHueValue = (identity) => hexToHue(identity?.identityKey.toHex() ?? "0");
366
364
  var getDefaultEmojiValue = (identity) => hexToEmoji2(identity?.identityKey.toHex() ?? "0");
367
365
  var getHueValue = (identity) => identity?.profile?.data?.hue || getDefaultHueValue(identity);
@@ -369,7 +367,7 @@ var getEmojiValue = (identity) => identity?.profile?.data?.emoji || getDefaultEm
369
367
  var ProfileContainer = () => {
370
368
  var _effect = _useSignals3();
371
369
  try {
372
- const { t } = useTranslation3(CLIENT_PLUGIN);
370
+ const { t } = useTranslation3(meta.id);
373
371
  const client = useClient2();
374
372
  const identity = useIdentity();
375
373
  const [displayName, setDisplayNameDirectly] = useState2(identity?.profile?.displayName ?? "");
@@ -386,7 +384,7 @@ var ProfileContainer = () => {
386
384
  setDisplayNameDirectly(profile.displayName);
387
385
  setEmojiDirectly(profile.emoji);
388
386
  setHueDirectly(profile.hue);
389
- updateProfile(profile);
387
+ void updateProfile(profile);
390
388
  }, [
391
389
  identity
392
390
  ]);
@@ -472,9 +470,7 @@ var ProfileContainer = () => {
472
470
  }), [
473
471
  t
474
472
  ]);
475
- return /* @__PURE__ */ React3.createElement(StackItem2.Content, {
476
- classNames: "block overflow-y-auto"
477
- }, /* @__PURE__ */ React3.createElement(ControlPage2, null, /* @__PURE__ */ React3.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React3.createElement(ControlSection2, {
473
+ return /* @__PURE__ */ React3.createElement(ControlPage2, null, /* @__PURE__ */ React3.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React3.createElement(ControlSection2, {
478
474
  title: t("profile label"),
479
475
  description: t("profile description")
480
476
  }, /* @__PURE__ */ React3.createElement(Form, {
@@ -483,9 +479,9 @@ var ProfileContainer = () => {
483
479
  autoSave: true,
484
480
  onSave: handleSave,
485
481
  Custom: customElements,
486
- classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content] gap-4",
482
+ classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]",
487
483
  outerSpacing: false
488
- })))));
484
+ }))));
489
485
  } finally {
490
486
  _effect.f();
491
487
  }
@@ -509,11 +505,11 @@ var ProfileSchema = Schema.Struct({
509
505
  import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
510
506
  import React4, { useCallback as useCallback4, useState as useState3 } from "react";
511
507
  import { AlertDialog, Button as Button2, Clipboard as Clipboard3, Input as Input2, useTranslation as useTranslation4 } from "@dxos/react-ui";
512
- var RECOVERY_CODE_DIALOG = `${CLIENT_PLUGIN}/RecoveryCodeDialog`;
508
+ var RECOVERY_CODE_DIALOG = `${meta.id}/RecoveryCodeDialog`;
513
509
  var RecoveryCodeDialog = ({ code }) => {
514
510
  var _effect = _useSignals4();
515
511
  try {
516
- const { t } = useTranslation4(CLIENT_PLUGIN);
512
+ const { t } = useTranslation4(meta.id);
517
513
  const [confirmation, setConfirmation] = useState3(false);
518
514
  const handleConfirmation = useCallback4((checked) => setConfirmation(checked), []);
519
515
  return /* @__PURE__ */ React4.createElement(AlertDialog.Content, {
@@ -572,20 +568,17 @@ import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking"
572
568
  import React5 from "react";
573
569
  import { createIntent as createIntent3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
574
570
  import { useCredentials } from "@dxos/react-client/halo";
575
- import { Icon, IconButton as IconButton2, List as List2, ListItem, useTranslation as useTranslation5, Message } from "@dxos/react-ui";
571
+ import { Icon as Icon2, IconButton as IconButton2, List as List2, ListItem, Message, useTranslation as useTranslation5 } from "@dxos/react-ui";
576
572
  import { ControlGroup as ControlGroup2, ControlItem as ControlItem3, ControlPage as ControlPage3, ControlSection as ControlSection3 } from "@dxos/react-ui-form";
577
- import { StackItem as StackItem3 } from "@dxos/react-ui-stack";
578
- var MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;
573
+ var MANAGE_CREDENTIALS_DIALOG = `${meta.id}/ManageCredentialsDialog`;
579
574
  var RecoveryCredentialsContainer = () => {
580
575
  var _effect = _useSignals5();
581
576
  try {
582
- const { t } = useTranslation5(CLIENT_PLUGIN);
577
+ const { t } = useTranslation5(meta.id);
583
578
  const { dispatchPromise: dispatch } = useIntentDispatcher3();
584
579
  const credentials = useCredentials();
585
580
  const recoveryCredentials = credentials.filter((credential) => credential.subject.assertion["@type"] === "dxos.halo.credentials.IdentityRecovery");
586
- return /* @__PURE__ */ React5.createElement(StackItem3.Content, {
587
- classNames: "block overflow-y-auto"
588
- }, /* @__PURE__ */ React5.createElement(ControlPage3, null, /* @__PURE__ */ React5.createElement(ControlSection3, {
581
+ return /* @__PURE__ */ React5.createElement(ControlPage3, null, /* @__PURE__ */ React5.createElement(ControlSection3, {
589
582
  title: t("recovery setup dialog title"),
590
583
  description: t("recovery setup dialog description")
591
584
  }, /* @__PURE__ */ React5.createElement(ControlGroup2, null, /* @__PURE__ */ React5.createElement(ControlItem3, {
@@ -617,10 +610,10 @@ var RecoveryCredentialsContainer = () => {
617
610
  classNames: "container-max-width pli-2"
618
611
  }, recoveryCredentials.map((credential) => /* @__PURE__ */ React5.createElement(ListItem.Root, {
619
612
  key: credential.id?.toHex()
620
- }, /* @__PURE__ */ React5.createElement(ListItem.Endcap, null, /* @__PURE__ */ React5.createElement(Icon, {
613
+ }, /* @__PURE__ */ React5.createElement(ListItem.Endcap, null, /* @__PURE__ */ React5.createElement(Icon2, {
621
614
  icon: "ph--key--regular",
622
615
  size: 5
623
- })), /* @__PURE__ */ React5.createElement(ListItem.Heading, null, credential.issuanceDate.toLocaleString())))))));
616
+ })), /* @__PURE__ */ React5.createElement(ListItem.Heading, null, credential.issuanceDate.toLocaleString()))))));
624
617
  } finally {
625
618
  _effect.f();
626
619
  }
@@ -629,15 +622,15 @@ var RecoveryCredentialsContainer = () => {
629
622
  // src/components/ResetDialog.tsx
630
623
  import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
631
624
  import React6, { useCallback as useCallback5 } from "react";
632
- import { createIntent as createIntent4, LayoutAction as LayoutAction2, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
625
+ import { LayoutAction as LayoutAction2, createIntent as createIntent4, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
633
626
  import { useClient as useClient3 } from "@dxos/react-client";
634
627
  import { Dialog as Dialog2, useTranslation as useTranslation6 } from "@dxos/react-ui";
635
628
  import { ConfirmReset } from "@dxos/shell/react";
636
- var RESET_DIALOG = `${CLIENT_PLUGIN}/ResetDialog`;
629
+ var RESET_DIALOG = `${meta.id}/ResetDialog`;
637
630
  var ResetDialog = ({ mode, onReset }) => {
638
631
  var _effect = _useSignals6();
639
632
  try {
640
- const { t } = useTranslation6(CLIENT_PLUGIN);
633
+ const { t } = useTranslation6(meta.id);
641
634
  const { dispatchPromise: dispatch } = useIntentDispatcher4();
642
635
  const client = useClient3();
643
636
  const handleReset = useCallback5(async () => {
@@ -690,4 +683,4 @@ export {
690
683
  RESET_DIALOG,
691
684
  ResetDialog
692
685
  };
693
- //# sourceMappingURL=chunk-64ANQXYZ.mjs.map
686
+ //# sourceMappingURL=chunk-SCNW6KMG.mjs.map