@dxos/plugin-client 0.8.3-staging.0fa589b → 0.8.4-main.1068cf700f

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 (436) hide show
  1. package/dist/lib/browser/app-graph-builder-DTETNB5U.mjs +119 -0
  2. package/dist/lib/browser/app-graph-builder-DTETNB5U.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-4BZGRIFS.mjs +293 -0
  4. package/dist/lib/browser/chunk-4BZGRIFS.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-G7C3S2BE.mjs +15 -0
  6. package/dist/lib/browser/chunk-G7C3S2BE.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-MY6BJCB6.mjs +18 -0
  8. package/dist/lib/browser/chunk-MY6BJCB6.mjs.map +7 -0
  9. package/dist/lib/browser/cli/index.mjs +1049 -0
  10. package/dist/lib/browser/cli/index.mjs.map +7 -0
  11. package/dist/lib/browser/client-XOQQ5POJ.mjs +86 -0
  12. package/dist/lib/browser/client-XOQQ5POJ.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +81 -86
  14. package/dist/lib/browser/index.mjs.map +4 -4
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/migrations-YNQ7L5GT.mjs +24 -0
  17. package/dist/lib/browser/migrations-YNQ7L5GT.mjs.map +7 -0
  18. package/dist/lib/browser/operation-resolver-N4YCJ4KS.mjs +299 -0
  19. package/dist/lib/browser/operation-resolver-N4YCJ4KS.mjs.map +7 -0
  20. package/dist/lib/browser/react-context-FDXHIBZL.mjs +24 -0
  21. package/dist/lib/browser/react-context-FDXHIBZL.mjs.map +7 -0
  22. package/dist/lib/browser/react-surface-ZP3FLVRS.mjs +676 -0
  23. package/dist/lib/browser/react-surface-ZP3FLVRS.mjs.map +7 -0
  24. package/dist/lib/browser/schema-defs-AYXOYD2M.mjs +27 -0
  25. package/dist/lib/browser/schema-defs-AYXOYD2M.mjs.map +7 -0
  26. package/dist/lib/browser/types/index.mjs +15 -0
  27. package/dist/lib/node-esm/app-graph-builder-PFKVFRXI.mjs +120 -0
  28. package/dist/lib/node-esm/app-graph-builder-PFKVFRXI.mjs.map +7 -0
  29. package/dist/lib/node-esm/chunk-JAF64TFQ.mjs +295 -0
  30. package/dist/lib/node-esm/chunk-JAF64TFQ.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-MUOMX53G.mjs +20 -0
  32. package/dist/lib/node-esm/chunk-MUOMX53G.mjs.map +7 -0
  33. package/dist/lib/node-esm/chunk-PRAFFO54.mjs +16 -0
  34. package/dist/lib/node-esm/chunk-PRAFFO54.mjs.map +7 -0
  35. package/dist/lib/node-esm/cli/index.mjs +1050 -0
  36. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  37. package/dist/lib/node-esm/client-3YIMWKR7.mjs +87 -0
  38. package/dist/lib/node-esm/client-3YIMWKR7.mjs.map +7 -0
  39. package/dist/lib/node-esm/index.mjs +81 -86
  40. package/dist/lib/node-esm/index.mjs.map +4 -4
  41. package/dist/lib/node-esm/meta.json +1 -1
  42. package/dist/lib/node-esm/migrations-ZH5GNG4U.mjs +25 -0
  43. package/dist/lib/node-esm/migrations-ZH5GNG4U.mjs.map +7 -0
  44. package/dist/lib/node-esm/operation-resolver-CHGWI5P2.mjs +300 -0
  45. package/dist/lib/node-esm/operation-resolver-CHGWI5P2.mjs.map +7 -0
  46. package/dist/lib/node-esm/react-context-7Z2TVUTV.mjs +25 -0
  47. package/dist/lib/node-esm/react-context-7Z2TVUTV.mjs.map +7 -0
  48. package/dist/lib/node-esm/react-surface-BHJMHIMH.mjs +677 -0
  49. package/dist/lib/node-esm/react-surface-BHJMHIMH.mjs.map +7 -0
  50. package/dist/lib/node-esm/schema-defs-TV2SCKSH.mjs +28 -0
  51. package/dist/lib/node-esm/schema-defs-TV2SCKSH.mjs.map +7 -0
  52. package/dist/lib/node-esm/types/index.mjs +16 -0
  53. package/dist/types/src/ClientPlugin.d.ts +2 -1
  54. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  55. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  56. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  57. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  58. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  59. package/dist/types/src/capabilities/client/client.d.ts +8 -0
  60. package/dist/types/src/capabilities/client/client.d.ts.map +1 -0
  61. package/dist/types/src/capabilities/client/index.d.ts +18 -0
  62. package/dist/types/src/capabilities/client/index.d.ts.map +1 -0
  63. package/dist/types/src/capabilities/index.d.ts +7 -19
  64. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  65. package/dist/types/src/capabilities/migrations/index.d.ts +3 -0
  66. package/dist/types/src/capabilities/migrations/index.d.ts.map +1 -0
  67. package/dist/types/src/capabilities/migrations/migrations.d.ts +5 -0
  68. package/dist/types/src/capabilities/migrations/migrations.d.ts.map +1 -0
  69. package/dist/types/src/capabilities/operation-resolver/index.d.ts +5 -0
  70. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  71. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +8 -0
  72. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  73. package/dist/types/src/capabilities/react-context/index.d.ts +7 -0
  74. package/dist/types/src/capabilities/react-context/index.d.ts.map +1 -0
  75. package/dist/types/src/capabilities/react-context/react-context.d.ts +10 -0
  76. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +1 -0
  77. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  78. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  79. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +9 -0
  80. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  81. package/dist/types/src/capabilities/schema-defs/index.d.ts +3 -0
  82. package/dist/types/src/capabilities/schema-defs/index.d.ts.map +1 -0
  83. package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts +5 -0
  84. package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts.map +1 -0
  85. package/dist/types/src/cli/commands/config/index.d.ts +5 -0
  86. package/dist/types/src/cli/commands/config/index.d.ts.map +1 -0
  87. package/dist/types/src/cli/commands/config/view.d.ts +5 -0
  88. package/dist/types/src/cli/commands/config/view.d.ts.map +1 -0
  89. package/dist/types/src/cli/commands/device/index.d.ts +7 -0
  90. package/dist/types/src/cli/commands/device/index.d.ts.map +1 -0
  91. package/dist/types/src/cli/commands/device/info/index.d.ts +2 -0
  92. package/dist/types/src/cli/commands/device/info/index.d.ts.map +1 -0
  93. package/dist/types/src/cli/commands/device/info/info.d.ts +7 -0
  94. package/dist/types/src/cli/commands/device/info/info.d.ts.map +1 -0
  95. package/dist/types/src/cli/commands/device/info/info.test.d.ts +2 -0
  96. package/dist/types/src/cli/commands/device/info/info.test.d.ts.map +1 -0
  97. package/dist/types/src/cli/commands/device/list/index.d.ts +2 -0
  98. package/dist/types/src/cli/commands/device/list/index.d.ts.map +1 -0
  99. package/dist/types/src/cli/commands/device/list/list.d.ts +7 -0
  100. package/dist/types/src/cli/commands/device/list/list.d.ts.map +1 -0
  101. package/dist/types/src/cli/commands/device/list/list.test.d.ts +2 -0
  102. package/dist/types/src/cli/commands/device/list/list.test.d.ts.map +1 -0
  103. package/dist/types/src/cli/commands/device/update/index.d.ts +2 -0
  104. package/dist/types/src/cli/commands/device/update/index.d.ts.map +1 -0
  105. package/dist/types/src/cli/commands/device/update/update.d.ts +11 -0
  106. package/dist/types/src/cli/commands/device/update/update.d.ts.map +1 -0
  107. package/dist/types/src/cli/commands/device/util.d.ts +16 -0
  108. package/dist/types/src/cli/commands/device/util.d.ts.map +1 -0
  109. package/dist/types/src/cli/commands/edge/index.d.ts +5 -0
  110. package/dist/types/src/cli/commands/edge/index.d.ts.map +1 -0
  111. package/dist/types/src/cli/commands/edge/status.d.ts +7 -0
  112. package/dist/types/src/cli/commands/edge/status.d.ts.map +1 -0
  113. package/dist/types/src/cli/commands/halo/create/create.d.ts +15 -0
  114. package/dist/types/src/cli/commands/halo/create/create.d.ts.map +1 -0
  115. package/dist/types/src/cli/commands/halo/create/create.test.d.ts +2 -0
  116. package/dist/types/src/cli/commands/halo/create/create.test.d.ts.map +1 -0
  117. package/dist/types/src/cli/commands/halo/create/index.d.ts +2 -0
  118. package/dist/types/src/cli/commands/halo/create/index.d.ts.map +1 -0
  119. package/dist/types/src/cli/commands/halo/credential/add/add.d.ts +13 -0
  120. package/dist/types/src/cli/commands/halo/credential/add/add.d.ts.map +1 -0
  121. package/dist/types/src/cli/commands/halo/credential/add/index.d.ts +2 -0
  122. package/dist/types/src/cli/commands/halo/credential/add/index.d.ts.map +1 -0
  123. package/dist/types/src/cli/commands/halo/credential/index.d.ts +12 -0
  124. package/dist/types/src/cli/commands/halo/credential/index.d.ts.map +1 -0
  125. package/dist/types/src/cli/commands/halo/credential/list/index.d.ts +2 -0
  126. package/dist/types/src/cli/commands/halo/credential/list/index.d.ts.map +1 -0
  127. package/dist/types/src/cli/commands/halo/credential/list/list.d.ts +19 -0
  128. package/dist/types/src/cli/commands/halo/credential/list/list.d.ts.map +1 -0
  129. package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts +2 -0
  130. package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts.map +1 -0
  131. package/dist/types/src/cli/commands/halo/identity/identity.d.ts +7 -0
  132. package/dist/types/src/cli/commands/halo/identity/identity.d.ts.map +1 -0
  133. package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts +2 -0
  134. package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts.map +1 -0
  135. package/dist/types/src/cli/commands/halo/identity/index.d.ts +2 -0
  136. package/dist/types/src/cli/commands/halo/identity/index.d.ts.map +1 -0
  137. package/dist/types/src/cli/commands/halo/index.d.ts +3 -0
  138. package/dist/types/src/cli/commands/halo/index.d.ts.map +1 -0
  139. package/dist/types/src/cli/commands/halo/join/index.d.ts +2 -0
  140. package/dist/types/src/cli/commands/halo/join/index.d.ts.map +1 -0
  141. package/dist/types/src/cli/commands/halo/join/join.d.ts +8 -0
  142. package/dist/types/src/cli/commands/halo/join/join.d.ts.map +1 -0
  143. package/dist/types/src/cli/commands/halo/join/join.test.d.ts +2 -0
  144. package/dist/types/src/cli/commands/halo/join/join.test.d.ts.map +1 -0
  145. package/dist/types/src/cli/commands/halo/keys/index.d.ts +2 -0
  146. package/dist/types/src/cli/commands/halo/keys/index.d.ts.map +1 -0
  147. package/dist/types/src/cli/commands/halo/keys/keys.d.ts +7 -0
  148. package/dist/types/src/cli/commands/halo/keys/keys.d.ts.map +1 -0
  149. package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts +2 -0
  150. package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts.map +1 -0
  151. package/dist/types/src/cli/commands/halo/recover/index.d.ts +2 -0
  152. package/dist/types/src/cli/commands/halo/recover/index.d.ts.map +1 -0
  153. package/dist/types/src/cli/commands/halo/recover/recover.d.ts +7 -0
  154. package/dist/types/src/cli/commands/halo/recover/recover.d.ts.map +1 -0
  155. package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts +2 -0
  156. package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts.map +1 -0
  157. package/dist/types/src/cli/commands/halo/seed/index.d.ts +2 -0
  158. package/dist/types/src/cli/commands/halo/seed/index.d.ts.map +1 -0
  159. package/dist/types/src/cli/commands/halo/seed/seed.d.ts +7 -0
  160. package/dist/types/src/cli/commands/halo/seed/seed.d.ts.map +1 -0
  161. package/dist/types/src/cli/commands/halo/share/index.d.ts +2 -0
  162. package/dist/types/src/cli/commands/halo/share/index.d.ts.map +1 -0
  163. package/dist/types/src/cli/commands/halo/share/share.d.ts +15 -0
  164. package/dist/types/src/cli/commands/halo/share/share.d.ts.map +1 -0
  165. package/dist/types/src/cli/commands/halo/update/index.d.ts +2 -0
  166. package/dist/types/src/cli/commands/halo/update/index.d.ts.map +1 -0
  167. package/dist/types/src/cli/commands/halo/update/update.d.ts +11 -0
  168. package/dist/types/src/cli/commands/halo/update/update.d.ts.map +1 -0
  169. package/dist/types/src/cli/commands/halo/update/update.test.d.ts +2 -0
  170. package/dist/types/src/cli/commands/halo/update/update.test.d.ts.map +1 -0
  171. package/dist/types/src/cli/commands/halo/util.d.ts +13 -0
  172. package/dist/types/src/cli/commands/halo/util.d.ts.map +1 -0
  173. package/dist/types/src/cli/commands/index.d.ts +6 -0
  174. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  175. package/dist/types/src/cli/commands/profile/create.d.ts +9 -0
  176. package/dist/types/src/cli/commands/profile/create.d.ts.map +1 -0
  177. package/dist/types/src/cli/commands/profile/delete.d.ts +8 -0
  178. package/dist/types/src/cli/commands/profile/delete.d.ts.map +1 -0
  179. package/dist/types/src/cli/commands/profile/import.d.ts +17 -0
  180. package/dist/types/src/cli/commands/profile/import.d.ts.map +1 -0
  181. package/dist/types/src/cli/commands/profile/index.d.ts +19 -0
  182. package/dist/types/src/cli/commands/profile/index.d.ts.map +1 -0
  183. package/dist/types/src/cli/commands/profile/inspect.d.ts +13 -0
  184. package/dist/types/src/cli/commands/profile/inspect.d.ts.map +1 -0
  185. package/dist/types/src/cli/commands/profile/list.d.ts +6 -0
  186. package/dist/types/src/cli/commands/profile/list.d.ts.map +1 -0
  187. package/dist/types/src/cli/commands/profile/reset.d.ts +8 -0
  188. package/dist/types/src/cli/commands/profile/reset.d.ts.map +1 -0
  189. package/dist/types/src/cli/commands/profile/util.d.ts +24 -0
  190. package/dist/types/src/cli/commands/profile/util.d.ts.map +1 -0
  191. package/dist/types/src/cli/index.d.ts +2 -0
  192. package/dist/types/src/cli/index.d.ts.map +1 -0
  193. package/dist/types/src/cli/plugin.d.ts +4 -0
  194. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  195. package/dist/types/src/cli/testing/test-console.d.ts +37 -0
  196. package/dist/types/src/cli/testing/test-console.d.ts.map +1 -0
  197. package/dist/types/src/components/DevicesContainer.d.ts.map +1 -1
  198. package/dist/types/src/components/DevicesContainer.stories.d.ts +178 -5
  199. package/dist/types/src/components/DevicesContainer.stories.d.ts.map +1 -1
  200. package/dist/types/src/components/JoinDialog.d.ts +0 -1
  201. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  202. package/dist/types/src/components/ProfileContainer.d.ts.map +1 -1
  203. package/dist/types/src/components/ProfileContainer.stories.d.ts +11 -5
  204. package/dist/types/src/components/ProfileContainer.stories.d.ts.map +1 -1
  205. package/dist/types/src/components/RecoveryCodeDialog.d.ts +0 -1
  206. package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +1 -1
  207. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts +13 -5
  208. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +1 -1
  209. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts +1 -1
  210. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +1 -1
  211. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +11 -5
  212. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
  213. package/dist/types/src/components/ResetDialog.d.ts +5 -3
  214. package/dist/types/src/components/ResetDialog.d.ts.map +1 -1
  215. package/dist/types/src/components/ResetDialog.stories.d.ts +13 -4
  216. package/dist/types/src/components/ResetDialog.stories.d.ts.map +1 -1
  217. package/dist/types/src/constants.d.ts +4 -0
  218. package/dist/types/src/constants.d.ts.map +1 -0
  219. package/dist/types/src/index.d.ts +3 -3
  220. package/dist/types/src/index.d.ts.map +1 -1
  221. package/dist/types/src/meta.d.ts +2 -3
  222. package/dist/types/src/meta.d.ts.map +1 -1
  223. package/dist/types/src/translations.d.ts +2 -48
  224. package/dist/types/src/translations.d.ts.map +1 -1
  225. package/dist/types/src/types/capabilities.d.ts +10 -0
  226. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  227. package/dist/types/src/types/events.d.ts +9 -0
  228. package/dist/types/src/types/events.d.ts.map +1 -0
  229. package/dist/types/src/types/index.d.ts +4 -0
  230. package/dist/types/src/types/index.d.ts.map +1 -0
  231. package/dist/types/src/types/schema.d.ts +296 -0
  232. package/dist/types/src/types/schema.d.ts.map +1 -0
  233. package/dist/types/tsconfig.tsbuildinfo +1 -1
  234. package/package.json +60 -46
  235. package/src/ClientPlugin.ts +42 -61
  236. package/src/capabilities/app-graph-builder/app-graph-builder.ts +96 -0
  237. package/src/capabilities/app-graph-builder/index.ts +7 -0
  238. package/src/capabilities/client/client.ts +75 -0
  239. package/src/capabilities/client/index.ts +7 -0
  240. package/src/capabilities/index.ts +7 -11
  241. package/src/capabilities/migrations/index.ts +7 -0
  242. package/src/capabilities/migrations/migrations.ts +30 -0
  243. package/src/capabilities/operation-resolver/index.ts +7 -0
  244. package/src/capabilities/operation-resolver/operation-resolver.ts +249 -0
  245. package/src/capabilities/react-context/index.ts +7 -0
  246. package/src/capabilities/react-context/react-context.tsx +25 -0
  247. package/src/capabilities/react-surface/index.ts +7 -0
  248. package/src/capabilities/react-surface/react-surface.tsx +75 -0
  249. package/src/capabilities/schema-defs/index.ts +7 -0
  250. package/src/capabilities/schema-defs/schema-defs.ts +36 -0
  251. package/src/cli/commands/config/index.ts +12 -0
  252. package/src/cli/commands/config/view.ts +26 -0
  253. package/src/cli/commands/device/index.ts +14 -0
  254. package/src/cli/commands/device/info/index.ts +5 -0
  255. package/src/cli/commands/device/info/info.test.ts +29 -0
  256. package/src/cli/commands/device/info/info.ts +50 -0
  257. package/src/cli/commands/device/list/index.ts +5 -0
  258. package/src/cli/commands/device/list/list.test.ts +31 -0
  259. package/src/cli/commands/device/list/list.ts +30 -0
  260. package/src/cli/commands/device/update/index.ts +5 -0
  261. package/src/cli/commands/device/update/update.ts +70 -0
  262. package/src/cli/commands/device/util.ts +55 -0
  263. package/src/cli/commands/edge/index.ts +12 -0
  264. package/src/cli/commands/edge/status.ts +45 -0
  265. package/src/cli/commands/halo/create/create.test.ts +52 -0
  266. package/src/cli/commands/halo/create/create.ts +75 -0
  267. package/src/cli/commands/halo/create/index.ts +5 -0
  268. package/src/cli/commands/halo/credential/add/add.ts +97 -0
  269. package/src/cli/commands/halo/credential/add/index.ts +5 -0
  270. package/src/cli/commands/halo/credential/index.ts +13 -0
  271. package/src/cli/commands/halo/credential/list/index.ts +5 -0
  272. package/src/cli/commands/halo/credential/list/list.test.ts +28 -0
  273. package/src/cli/commands/halo/credential/list/list.ts +118 -0
  274. package/src/cli/commands/halo/identity/identity.test.ts +40 -0
  275. package/src/cli/commands/halo/identity/identity.ts +46 -0
  276. package/src/cli/commands/halo/identity/index.ts +5 -0
  277. package/src/cli/commands/halo/index.ts +21 -0
  278. package/src/cli/commands/halo/join/index.ts +5 -0
  279. package/src/cli/commands/halo/join/join.test.ts +10 -0
  280. package/src/cli/commands/halo/join/join.ts +87 -0
  281. package/src/cli/commands/halo/keys/index.ts +5 -0
  282. package/src/cli/commands/halo/keys/keys.test.ts +29 -0
  283. package/src/cli/commands/halo/keys/keys.ts +42 -0
  284. package/src/cli/commands/halo/recover/index.ts +5 -0
  285. package/src/cli/commands/halo/recover/recover.test.ts +10 -0
  286. package/src/cli/commands/halo/recover/recover.ts +44 -0
  287. package/src/cli/commands/halo/seed/index.ts +5 -0
  288. package/src/cli/commands/halo/seed/seed.ts +38 -0
  289. package/src/cli/commands/halo/share/index.ts +5 -0
  290. package/src/cli/commands/halo/share/share.ts +97 -0
  291. package/src/cli/commands/halo/update/index.ts +5 -0
  292. package/src/cli/commands/halo/update/update.test.ts +29 -0
  293. package/src/cli/commands/halo/update/update.ts +69 -0
  294. package/src/cli/commands/halo/util.ts +18 -0
  295. package/src/cli/commands/index.ts +9 -0
  296. package/src/cli/commands/profile/create.ts +87 -0
  297. package/src/cli/commands/profile/delete.ts +33 -0
  298. package/src/cli/commands/profile/import.ts +101 -0
  299. package/src/cli/commands/profile/index.ts +17 -0
  300. package/src/cli/commands/profile/inspect.ts +64 -0
  301. package/src/cli/commands/profile/list.ts +54 -0
  302. package/src/cli/commands/profile/reset.ts +45 -0
  303. package/src/cli/commands/profile/util.ts +48 -0
  304. package/src/cli/index.ts +5 -0
  305. package/src/cli/plugin.ts +34 -0
  306. package/src/cli/testing/test-console.ts +88 -0
  307. package/src/components/DevicesContainer.stories.tsx +19 -18
  308. package/src/components/DevicesContainer.tsx +72 -92
  309. package/src/components/JoinDialog.tsx +15 -17
  310. package/src/components/ProfileContainer.stories.tsx +8 -9
  311. package/src/components/ProfileContainer.tsx +67 -64
  312. package/src/components/RecoveryCodeDialog.stories.tsx +10 -11
  313. package/src/components/RecoveryCodeDialog.tsx +5 -7
  314. package/src/components/RecoveryCredentialsContainer.stories.tsx +16 -16
  315. package/src/components/RecoveryCredentialsContainer.tsx +49 -54
  316. package/src/components/ResetDialog.stories.tsx +37 -18
  317. package/src/components/ResetDialog.tsx +26 -22
  318. package/src/constants.ts +9 -0
  319. package/src/index.ts +3 -3
  320. package/src/meta.ts +8 -5
  321. package/src/translations.ts +11 -6
  322. package/src/types/capabilities.ts +16 -0
  323. package/src/types/events.ts +15 -0
  324. package/src/types/index.ts +7 -0
  325. package/src/types/schema.ts +243 -0
  326. package/dist/lib/browser/app-graph-builder-CBRN2DMK.mjs +0 -123
  327. package/dist/lib/browser/app-graph-builder-CBRN2DMK.mjs.map +0 -7
  328. package/dist/lib/browser/chunk-5MC5HCIM.mjs +0 -693
  329. package/dist/lib/browser/chunk-5MC5HCIM.mjs.map +0 -7
  330. package/dist/lib/browser/chunk-IA3AVM4I.mjs +0 -111
  331. package/dist/lib/browser/chunk-IA3AVM4I.mjs.map +0 -7
  332. package/dist/lib/browser/chunk-MCEXD5XH.mjs +0 -12
  333. package/dist/lib/browser/chunk-MCEXD5XH.mjs.map +0 -7
  334. package/dist/lib/browser/chunk-PSSNS4C6.mjs +0 -18
  335. package/dist/lib/browser/chunk-PSSNS4C6.mjs.map +0 -7
  336. package/dist/lib/browser/chunk-UCVFWBKT.mjs +0 -19
  337. package/dist/lib/browser/chunk-UCVFWBKT.mjs.map +0 -7
  338. package/dist/lib/browser/client-NMS3MSFP.mjs +0 -37
  339. package/dist/lib/browser/client-NMS3MSFP.mjs.map +0 -7
  340. package/dist/lib/browser/intent-resolver-SLQZMO6I.mjs +0 -305
  341. package/dist/lib/browser/intent-resolver-SLQZMO6I.mjs.map +0 -7
  342. package/dist/lib/browser/migrations-QRQV6ZAM.mjs +0 -23
  343. package/dist/lib/browser/migrations-QRQV6ZAM.mjs.map +0 -7
  344. package/dist/lib/browser/react-context-IE2O2OYK.mjs +0 -24
  345. package/dist/lib/browser/react-context-IE2O2OYK.mjs.map +0 -7
  346. package/dist/lib/browser/react-surface-QFC2G27R.mjs +0 -66
  347. package/dist/lib/browser/react-surface-QFC2G27R.mjs.map +0 -7
  348. package/dist/lib/browser/schema-defs-DNRDVQQJ.mjs +0 -25
  349. package/dist/lib/browser/schema-defs-DNRDVQQJ.mjs.map +0 -7
  350. package/dist/lib/browser/types.mjs +0 -10
  351. package/dist/lib/node/app-graph-builder-BEEYM3A5.cjs +0 -134
  352. package/dist/lib/node/app-graph-builder-BEEYM3A5.cjs.map +0 -7
  353. package/dist/lib/node/chunk-BEJWU2NE.cjs +0 -718
  354. package/dist/lib/node/chunk-BEJWU2NE.cjs.map +0 -7
  355. package/dist/lib/node/chunk-BL6EBWOS.cjs +0 -131
  356. package/dist/lib/node/chunk-BL6EBWOS.cjs.map +0 -7
  357. package/dist/lib/node/chunk-CIYUKY3J.cjs +0 -37
  358. package/dist/lib/node/chunk-CIYUKY3J.cjs.map +0 -7
  359. package/dist/lib/node/chunk-DJKWB5L6.cjs +0 -35
  360. package/dist/lib/node/chunk-DJKWB5L6.cjs.map +0 -7
  361. package/dist/lib/node/chunk-DNKJCPU7.cjs +0 -38
  362. package/dist/lib/node/chunk-DNKJCPU7.cjs.map +0 -7
  363. package/dist/lib/node/client-Q3EQS4HA.cjs +0 -51
  364. package/dist/lib/node/client-Q3EQS4HA.cjs.map +0 -7
  365. package/dist/lib/node/index.cjs +0 -175
  366. package/dist/lib/node/index.cjs.map +0 -7
  367. package/dist/lib/node/intent-resolver-QURURONO.cjs +0 -312
  368. package/dist/lib/node/intent-resolver-QURURONO.cjs.map +0 -7
  369. package/dist/lib/node/meta.json +0 -1
  370. package/dist/lib/node/migrations-6FEWMF7U.cjs +0 -39
  371. package/dist/lib/node/migrations-6FEWMF7U.cjs.map +0 -7
  372. package/dist/lib/node/react-context-JS7Y5ZOK.cjs +0 -48
  373. package/dist/lib/node/react-context-JS7Y5ZOK.cjs.map +0 -7
  374. package/dist/lib/node/react-surface-RGRHOPVK.cjs +0 -82
  375. package/dist/lib/node/react-surface-RGRHOPVK.cjs.map +0 -7
  376. package/dist/lib/node/schema-defs-TA52ARBO.cjs +0 -41
  377. package/dist/lib/node/schema-defs-TA52ARBO.cjs.map +0 -7
  378. package/dist/lib/node/types.cjs +0 -32
  379. package/dist/lib/node/types.cjs.map +0 -7
  380. package/dist/lib/node-esm/app-graph-builder-OZEAAKNT.mjs +0 -124
  381. package/dist/lib/node-esm/app-graph-builder-OZEAAKNT.mjs.map +0 -7
  382. package/dist/lib/node-esm/chunk-37E3EI46.mjs +0 -19
  383. package/dist/lib/node-esm/chunk-37E3EI46.mjs.map +0 -7
  384. package/dist/lib/node-esm/chunk-FJYSQRBO.mjs +0 -20
  385. package/dist/lib/node-esm/chunk-FJYSQRBO.mjs.map +0 -7
  386. package/dist/lib/node-esm/chunk-HM7VB4ZV.mjs +0 -14
  387. package/dist/lib/node-esm/chunk-HM7VB4ZV.mjs.map +0 -7
  388. package/dist/lib/node-esm/chunk-STGGUFV2.mjs +0 -112
  389. package/dist/lib/node-esm/chunk-STGGUFV2.mjs.map +0 -7
  390. package/dist/lib/node-esm/chunk-WHKQMAO5.mjs +0 -694
  391. package/dist/lib/node-esm/chunk-WHKQMAO5.mjs.map +0 -7
  392. package/dist/lib/node-esm/client-EBFQZRSF.mjs +0 -38
  393. package/dist/lib/node-esm/client-EBFQZRSF.mjs.map +0 -7
  394. package/dist/lib/node-esm/intent-resolver-MV55C5ED.mjs +0 -306
  395. package/dist/lib/node-esm/intent-resolver-MV55C5ED.mjs.map +0 -7
  396. package/dist/lib/node-esm/migrations-AK43ZE6G.mjs +0 -24
  397. package/dist/lib/node-esm/migrations-AK43ZE6G.mjs.map +0 -7
  398. package/dist/lib/node-esm/react-context-6N7NMUJE.mjs +0 -25
  399. package/dist/lib/node-esm/react-context-6N7NMUJE.mjs.map +0 -7
  400. package/dist/lib/node-esm/react-surface-JUYTGBEM.mjs +0 -67
  401. package/dist/lib/node-esm/react-surface-JUYTGBEM.mjs.map +0 -7
  402. package/dist/lib/node-esm/schema-defs-O2KQQXJH.mjs +0 -26
  403. package/dist/lib/node-esm/schema-defs-O2KQQXJH.mjs.map +0 -7
  404. package/dist/lib/node-esm/types.mjs +0 -11
  405. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  406. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  407. package/dist/types/src/capabilities/capabilities.d.ts +0 -10
  408. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  409. package/dist/types/src/capabilities/client.d.ts +0 -9
  410. package/dist/types/src/capabilities/client.d.ts.map +0 -1
  411. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -8
  412. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  413. package/dist/types/src/capabilities/migrations.d.ts +0 -4
  414. package/dist/types/src/capabilities/migrations.d.ts.map +0 -1
  415. package/dist/types/src/capabilities/react-context.d.ts +0 -8
  416. package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
  417. package/dist/types/src/capabilities/react-surface.d.ts +0 -8
  418. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  419. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  420. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  421. package/dist/types/src/events.d.ts +0 -8
  422. package/dist/types/src/events.d.ts.map +0 -1
  423. package/dist/types/src/types.d.ts +0 -136
  424. package/dist/types/src/types.d.ts.map +0 -1
  425. package/src/capabilities/app-graph-builder.ts +0 -113
  426. package/src/capabilities/capabilities.ts +0 -17
  427. package/src/capabilities/client.ts +0 -41
  428. package/src/capabilities/intent-resolver.ts +0 -250
  429. package/src/capabilities/migrations.ts +0 -25
  430. package/src/capabilities/react-context.tsx +0 -20
  431. package/src/capabilities/react-surface.tsx +0 -67
  432. package/src/capabilities/schema-defs.ts +0 -29
  433. package/src/events.ts +0 -15
  434. package/src/types.ts +0 -131
  435. /package/dist/lib/browser/{types.mjs.map → types/index.mjs.map} +0 -0
  436. /package/dist/lib/node-esm/{types.mjs.map → types/index.mjs.map} +0 -0
@@ -2,43 +2,43 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import * as Effect from 'effect/Effect';
6
7
 
7
- import { type StoryObj, type Meta } from '@storybook/react';
8
-
9
- import { IntentPlugin } from '@dxos/app-framework';
8
+ import { OperationPlugin } from '@dxos/app-framework';
10
9
  import { withPluginManager } from '@dxos/app-framework/testing';
11
- import { withTheme, withLayout } from '@dxos/storybook-utils';
10
+ import { withTheme } from '@dxos/react-ui/testing';
12
11
 
13
- import { RecoveryCredentialsContainer } from './RecoveryCredentialsContainer';
14
12
  import { ClientPlugin } from '../ClientPlugin';
15
- import translations from '../translations';
13
+ import { translations } from '../translations';
14
+
15
+ import { RecoveryCredentialsContainer } from './RecoveryCredentialsContainer';
16
16
 
17
- const meta: Meta = {
17
+ const meta = {
18
18
  title: 'plugins/plugin-client/RecoveryCredentialsContainer',
19
19
  component: RecoveryCredentialsContainer,
20
20
  decorators: [
21
+ withTheme(),
21
22
  withPluginManager({
22
23
  plugins: [
23
24
  ClientPlugin({
24
- onClientInitialized: async (_, client) => {
25
- await client.halo.createIdentity();
26
- },
25
+ onClientInitialized: ({ client }) =>
26
+ Effect.gen(function* () {
27
+ yield* Effect.promise(() => client.halo.createIdentity());
28
+ }),
27
29
  }),
28
- IntentPlugin(),
30
+ OperationPlugin(),
29
31
  ],
30
32
  }),
31
- withTheme,
32
- withLayout(),
33
33
  ],
34
34
  parameters: {
35
35
  layout: 'fullscreen',
36
36
  translations,
37
37
  },
38
- };
38
+ } satisfies Meta<typeof RecoveryCredentialsContainer>;
39
39
 
40
40
  export default meta;
41
41
 
42
- type Story = StoryObj<typeof RecoveryCredentialsContainer>;
42
+ type Story = StoryObj<typeof meta>;
43
43
 
44
44
  export const Default: Story = {};
@@ -4,70 +4,65 @@
4
4
 
5
5
  import React from 'react';
6
6
 
7
- import { createIntent, useIntentDispatcher } from '@dxos/app-framework';
7
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
8
8
  import { useCredentials } from '@dxos/react-client/halo';
9
- import { Icon, IconButton, List, ListItem, useTranslation, Message } from '@dxos/react-ui';
10
- import { ControlGroup, ControlItem, ControlPage, ControlSection } from '@dxos/react-ui-form';
11
- import { StackItem } from '@dxos/react-ui-stack';
9
+ import { Icon, IconButton, List, ListItem, Message, useTranslation } from '@dxos/react-ui';
10
+ import { Settings } from '@dxos/react-ui-form';
12
11
 
13
- import { CLIENT_PLUGIN } from '../meta';
14
- import { ClientAction } from '../types';
12
+ import { meta } from '../meta';
13
+ import { ClientOperation } from '../types';
15
14
 
16
- export const MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;
15
+ export const MANAGE_CREDENTIALS_DIALOG = `${meta.id}/ManageCredentialsDialog`;
17
16
 
18
17
  export const RecoveryCredentialsContainer = () => {
19
- const { t } = useTranslation(CLIENT_PLUGIN);
20
- const { dispatchPromise: dispatch } = useIntentDispatcher();
18
+ const { t } = useTranslation(meta.id);
19
+ const { invokePromise } = useOperationInvoker();
21
20
  const credentials = useCredentials();
22
21
  const recoveryCredentials = credentials.filter(
23
22
  (credential) => credential.subject.assertion['@type'] === 'dxos.halo.credentials.IdentityRecovery',
24
23
  );
25
24
 
26
25
  return (
27
- <StackItem.Content classNames='block overflow-y-auto'>
28
- <ControlPage>
29
- <ControlSection title={t('recovery setup dialog title')} description={t('recovery setup dialog description')}>
30
- <ControlGroup>
31
- <ControlItem title={t('create passkey label')} description={t('create passkey description')}>
32
- <IconButton
33
- label={t('create passkey label')}
34
- icon='ph--key--duotone'
35
- variant='primary'
36
- size={5}
37
- onClick={() => dispatch(createIntent(ClientAction.CreatePasskey))}
38
- />
39
- </ControlItem>
40
- <ControlItem title={t('create recovery code label')} description={t('create recovery code description')}>
41
- <IconButton
42
- label={t('create recovery code label')}
43
- icon='ph--receipt--duotone'
44
- variant='default'
45
- size={5}
46
- onClick={() => dispatch(createIntent(ClientAction.CreateRecoveryCode))}
47
- />
48
- </ControlItem>
49
- </ControlGroup>
50
- </ControlSection>
51
- <ControlSection title={t('credentials list label')}>
52
- {recoveryCredentials.length < 1 ? (
53
- <Message.Root valence='error' classNames='container-max-width'>
54
- <Message.Title icon='ph--shield-warning--duotone'>{t('no credentials title')}</Message.Title>
55
- <Message.Content>{t('no credentials message')}</Message.Content>
56
- </Message.Root>
57
- ) : (
58
- <List classNames='container-max-width pli-2'>
59
- {recoveryCredentials.map((credential) => (
60
- <ListItem.Root key={credential.id?.toHex()}>
61
- <ListItem.Endcap>
62
- <Icon icon='ph--key--regular' size={5} />
63
- </ListItem.Endcap>
64
- <ListItem.Heading>{credential.issuanceDate.toLocaleString()}</ListItem.Heading>
65
- </ListItem.Root>
66
- ))}
67
- </List>
68
- )}
69
- </ControlSection>
70
- </ControlPage>
71
- </StackItem.Content>
26
+ <Settings.Root>
27
+ <Settings.Section title={t('recovery setup dialog title')} description={t('recovery setup dialog description')}>
28
+ <Settings.Group>
29
+ <Settings.Item title={t('create passkey label')} description={t('create passkey description')}>
30
+ <IconButton
31
+ label={t('create passkey label')}
32
+ icon='ph--key--duotone'
33
+ variant='primary'
34
+ onClick={() => invokePromise(ClientOperation.CreatePasskey)}
35
+ />
36
+ </Settings.Item>
37
+ <Settings.Item title={t('create recovery code label')} description={t('create recovery code description')}>
38
+ <IconButton
39
+ label={t('create recovery code label')}
40
+ icon='ph--receipt--duotone'
41
+ variant='default'
42
+ onClick={() => invokePromise(ClientOperation.CreateRecoveryCode)}
43
+ />
44
+ </Settings.Item>
45
+ </Settings.Group>
46
+ </Settings.Section>
47
+ <Settings.Section title={t('credentials list label')}>
48
+ {recoveryCredentials.length < 1 ? (
49
+ <Message.Root valence='error' classNames='container-max-width'>
50
+ <Message.Title icon='ph--shield-warning--duotone'>{t('no credentials title')}</Message.Title>
51
+ <Message.Content>{t('no credentials message')}</Message.Content>
52
+ </Message.Root>
53
+ ) : (
54
+ <List classNames='container-max-width pli-2'>
55
+ {recoveryCredentials.map((credential) => (
56
+ <ListItem.Root key={credential.id?.toHex()}>
57
+ <ListItem.Endcap>
58
+ <Icon icon='ph--key--regular' />
59
+ </ListItem.Endcap>
60
+ <ListItem.Heading>{credential.issuanceDate.toLocaleString()}</ListItem.Heading>
61
+ </ListItem.Root>
62
+ ))}
63
+ </List>
64
+ )}
65
+ </Settings.Section>
66
+ </Settings.Root>
72
67
  );
73
68
  };
@@ -2,52 +2,71 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
- import { type StoryObj, type Meta } from '@storybook/react';
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import * as Effect from 'effect/Effect';
8
7
  import React from 'react';
9
8
 
10
- import { IntentPlugin } from '@dxos/app-framework';
9
+ import { OperationPlugin, RuntimePlugin } from '@dxos/app-framework';
11
10
  import { withPluginManager } from '@dxos/app-framework/testing';
11
+ import { usePluginManager } from '@dxos/app-framework/ui';
12
12
  import { Dialog } from '@dxos/react-ui';
13
- import { withTheme, withLayout } from '@dxos/storybook-utils';
13
+ import { withTheme } from '@dxos/react-ui/testing';
14
+
15
+ import { ClientPlugin } from '../ClientPlugin';
16
+ import { translations } from '../translations';
14
17
 
15
18
  import { ResetDialog, type ResetDialogProps } from './ResetDialog';
16
- import translations from '../translations';
17
19
 
18
- const Render = (props: ResetDialogProps) => {
20
+ const DefaultStory = (props: Omit<ResetDialogProps, 'capabilityManager'>) => {
21
+ const manager = usePluginManager();
22
+
19
23
  return (
20
24
  <Dialog.Root open>
21
25
  <Dialog.Overlay>
22
- <ResetDialog onReset={() => console.log('reset')} {...props} />
26
+ <ResetDialog
27
+ capabilityManager={manager.capabilities}
28
+ onReset={() => Effect.sync(() => console.log('reset'))}
29
+ {...props}
30
+ />
23
31
  </Dialog.Overlay>
24
32
  </Dialog.Root>
25
33
  );
26
34
  };
27
35
 
28
- const meta: Meta<ResetDialogProps> = {
36
+ const meta = {
29
37
  title: 'plugins/plugin-client/ResetDialog',
30
38
  component: ResetDialog,
31
- render: Render,
39
+ render: DefaultStory,
32
40
  decorators: [
41
+ withTheme(),
33
42
  withPluginManager({
34
- plugins: [IntentPlugin()],
43
+ plugins: [RuntimePlugin(), OperationPlugin(), ClientPlugin({})],
35
44
  }),
36
- withTheme,
37
- withLayout(),
38
45
  ],
39
46
  parameters: {
40
47
  layout: 'fullscreen',
41
48
  translations,
42
49
  },
43
- };
50
+ } satisfies Meta<typeof ResetDialog>;
44
51
 
45
52
  export default meta;
46
53
 
47
- type Story = StoryObj<ResetDialogProps>;
54
+ type Story = StoryObj<typeof meta>;
48
55
 
49
- export const Default: Story = { args: { mode: 'reset storage' } };
56
+ export const Default: Story = {
57
+ args: {
58
+ mode: 'reset storage' as const,
59
+ } as any,
60
+ };
50
61
 
51
- export const JoinNewIdentity: Story = { args: { mode: 'join new identity' } };
62
+ export const JoinNewIdentity: Story = {
63
+ args: {
64
+ mode: 'join new identity' as const,
65
+ } as any,
66
+ };
52
67
 
53
- export const Recover: Story = { args: { mode: 'recover' } };
68
+ export const Recover: Story = {
69
+ args: {
70
+ mode: 'recover' as const,
71
+ } as any,
72
+ };
@@ -2,48 +2,52 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import * as Effect from 'effect/Effect';
5
6
  import React, { useCallback } from 'react';
6
7
 
7
- import { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';
8
+ import { Capability, type CapabilityManager } from '@dxos/app-framework';
9
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
10
+ import { LayoutOperation } from '@dxos/app-toolkit';
11
+ import { runAndForwardErrors } from '@dxos/effect';
8
12
  import { useClient } from '@dxos/react-client';
9
13
  import { Dialog, useTranslation } from '@dxos/react-ui';
10
14
  import { ConfirmReset, type ConfirmResetProps } from '@dxos/shell/react';
11
15
 
12
- import { CLIENT_PLUGIN } from '../meta';
16
+ import { meta } from '../meta';
13
17
  import { type ClientPluginOptions } from '../types';
14
18
 
15
- export const RESET_DIALOG = `${CLIENT_PLUGIN}/ResetDialog`;
19
+ export type ResetDialogProps = Pick<ConfirmResetProps, 'mode'> &
20
+ Pick<ClientPluginOptions, 'onReset'> & {
21
+ capabilityManager: CapabilityManager.CapabilityManager;
22
+ };
16
23
 
17
- export type ResetDialogProps = Pick<ConfirmResetProps, 'mode'> & Pick<ClientPluginOptions, 'onReset'>;
18
-
19
- export const ResetDialog = ({ mode, onReset }: ResetDialogProps) => {
20
- const { t } = useTranslation(CLIENT_PLUGIN);
21
- const { dispatchPromise: dispatch } = useIntentDispatcher();
24
+ export const ResetDialog = ({ mode, onReset, capabilityManager }: ResetDialogProps) => {
25
+ const { t } = useTranslation(meta.id);
26
+ const { invokePromise } = useOperationInvoker();
22
27
  const client = useClient();
23
28
 
24
29
  const handleReset = useCallback(async () => {
25
30
  await client.reset();
26
31
  const target =
27
32
  mode === 'join new identity' ? 'deviceInvitation' : mode === 'recover' ? 'recoverIdentity' : undefined;
28
- await onReset?.({ target });
29
- }, [dispatch, client, mode, onReset]);
33
+ if (onReset) {
34
+ await runAndForwardErrors(onReset({ target }).pipe(Effect.provideService(Capability.Service, capabilityManager)));
35
+ }
36
+ }, [client, mode, onReset, capabilityManager]);
30
37
 
31
38
  const handleCancel = useCallback(() => {
32
- void dispatch(
33
- createIntent(LayoutAction.UpdateDialog, {
34
- part: 'dialog',
35
- options: { state: false },
36
- }),
37
- );
38
- }, [dispatch]);
39
+ void invokePromise(LayoutOperation.UpdateDialog, { state: false });
40
+ }, [invokePromise]);
39
41
 
40
42
  // TODO(wittjosiah): Add the sr-only translations.
41
43
  // TODO(wittjosiah): Add missing descriptions to other dialogs.
42
44
  return (
43
- <Dialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>
44
- <Dialog.Title classNames='sr-only'>{t('reset dialog title')}</Dialog.Title>
45
- <Dialog.Description classNames='sr-only'>{t('reset dialog description')}</Dialog.Description>
46
- <ConfirmReset active mode={mode} onConfirm={handleReset} onCancel={handleCancel} />
47
- </Dialog.Content>
45
+ <>
46
+ <Dialog.Content>
47
+ <Dialog.Title classNames='sr-only'>{t('reset dialog title')}</Dialog.Title>
48
+ <Dialog.Description classNames='sr-only'>{t('reset dialog description')}</Dialog.Description>
49
+ <ConfirmReset active mode={mode} onConfirm={handleReset} onCancel={handleCancel} />
50
+ </Dialog.Content>
51
+ </>
48
52
  );
49
53
  };
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { meta } from './meta';
6
+
7
+ export const JOIN_DIALOG = `${meta.id}/JoinDialog`;
8
+ export const RECOVERY_CODE_DIALOG = `${meta.id}/RecoveryCodeDialog`;
9
+ export const RESET_DIALOG = `${meta.id}/ResetDialog`;
package/src/index.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export * from './ClientPlugin';
5
+ export { ClientCapabilities, ClientEvents } from './types';
6
6
  export * from './meta';
7
+ export * from './types';
7
8
 
8
- export { ClientCapabilities } from './capabilities';
9
- export { ClientEvents } from './events';
9
+ export * from './ClientPlugin';
package/src/meta.ts CHANGED
@@ -2,11 +2,14 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type PluginMeta } from '@dxos/app-framework';
5
+ import { type Plugin } from '@dxos/app-framework';
6
+ import { trim } from '@dxos/util';
6
7
 
7
- export const CLIENT_PLUGIN = 'dxos.org/plugin/client';
8
-
9
- export const meta: PluginMeta = {
10
- id: CLIENT_PLUGIN,
8
+ export const meta: Plugin.Meta = {
9
+ id: 'dxos.org/plugin/client',
11
10
  name: 'Client',
11
+ description: trim`
12
+ Core client connectivity and peer-to-peer networking infrastructure.
13
+ Manages identity, authentication, and real-time synchronization across devices.
14
+ `,
12
15
  };
@@ -2,13 +2,16 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { CLIENT_PLUGIN } from './meta';
5
+ import { type Resource } from '@dxos/react-ui';
6
+ import { translations as shellTranslations } from '@dxos/shell/react';
6
7
 
7
- export default [
8
+ import { meta } from './meta';
9
+
10
+ const pluginTranslations = [
8
11
  {
9
12
  'en-US': {
10
- [CLIENT_PLUGIN]: {
11
- 'account label': 'User Account',
13
+ [meta.id]: {
14
+ 'account label': 'User profile',
12
15
  'profile label': 'Profile',
13
16
  'profile description': 'You can adjust how your user settings here.',
14
17
  'devices label': 'Devices',
@@ -33,7 +36,7 @@ export default [
33
36
  'display name description': 'Your name as it appears in the app.',
34
37
  'display name input placeholder': 'Enter a name',
35
38
  'icon label': 'Avatar',
36
- 'icon description': 'The emoji used to represent you in the app.',
39
+ 'icon description': 'The emoji used to represent the user.',
37
40
  'hue label': 'Color',
38
41
  'hue description':
39
42
  'The color used to represent you in the app, including as your avatar’s background, your cursor as it appears to others, and the messages you send in group threads.',
@@ -65,4 +68,6 @@ export default [
65
68
  },
66
69
  },
67
70
  },
68
- ];
71
+ ] as const satisfies Resource[];
72
+
73
+ export const translations: Resource[] = [...pluginTranslations, ...shellTranslations];
@@ -0,0 +1,16 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Capability } from '@dxos/app-framework';
6
+ import { type Client } from '@dxos/client';
7
+ import { type ObjectMigration } from '@dxos/client/echo';
8
+ import { type Type } from '@dxos/echo';
9
+
10
+ import { meta } from '../meta';
11
+
12
+ export namespace ClientCapabilities {
13
+ export const Client = Capability.make<Client>(`${meta.id}/capability/client`);
14
+ export const Schema = Capability.make<Type.Entity.Any[]>(`${meta.id}/capability/schema`);
15
+ export const Migration = Capability.make<ObjectMigration[]>(`${meta.id}/capability/migration`);
16
+ }
@@ -0,0 +1,15 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { ActivationEvent } from '@dxos/app-framework';
6
+
7
+ import { meta } from '../meta';
8
+
9
+ export namespace ClientEvents {
10
+ export const ClientReady = ActivationEvent.make(`${meta.id}/event/client-ready`);
11
+ export const SetupSchema = ActivationEvent.make(`${meta.id}/event/setup-schema`);
12
+ export const SetupMigration = ActivationEvent.make(`${meta.id}/event/setup-migration`);
13
+ export const IdentityCreated = ActivationEvent.make(`${meta.id}/event/identity-created`);
14
+ export const SpacesReady = ActivationEvent.make(`${meta.id}/event/spaces-ready`);
15
+ }
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './capabilities';
6
+ export * from './events';
7
+ export * from './schema';