@dxos/plugin-client 0.8.4-main.406dc2a → 0.8.4-main.52d7546f51

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 (399) 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 +75 -84
  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 +9 -4
  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 +75 -84
  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 +9 -4
  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 +3 -49
  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 +1 -47
  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 +1 -47
  208. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +1 -1
  209. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +1 -1
  210. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +1 -47
  211. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
  212. package/dist/types/src/components/ResetDialog.d.ts +5 -3
  213. package/dist/types/src/components/ResetDialog.d.ts.map +1 -1
  214. package/dist/types/src/components/ResetDialog.stories.d.ts +3 -49
  215. package/dist/types/src/components/ResetDialog.stories.d.ts.map +1 -1
  216. package/dist/types/src/constants.d.ts +4 -0
  217. package/dist/types/src/constants.d.ts.map +1 -0
  218. package/dist/types/src/index.d.ts +1 -2
  219. package/dist/types/src/index.d.ts.map +1 -1
  220. package/dist/types/src/meta.d.ts +2 -2
  221. package/dist/types/src/meta.d.ts.map +1 -1
  222. package/dist/types/src/translations.d.ts +2 -48
  223. package/dist/types/src/translations.d.ts.map +1 -1
  224. package/dist/types/src/types/capabilities.d.ts +10 -0
  225. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  226. package/dist/types/src/types/events.d.ts +9 -0
  227. package/dist/types/src/types/events.d.ts.map +1 -0
  228. package/dist/types/src/types/index.d.ts +2 -0
  229. package/dist/types/src/types/index.d.ts.map +1 -1
  230. package/dist/types/src/types/schema.d.ts +163 -9
  231. package/dist/types/src/types/schema.d.ts.map +1 -1
  232. package/dist/types/tsconfig.tsbuildinfo +1 -1
  233. package/package.json +53 -37
  234. package/src/ClientPlugin.ts +36 -53
  235. package/src/capabilities/app-graph-builder/app-graph-builder.ts +96 -0
  236. package/src/capabilities/app-graph-builder/index.ts +7 -0
  237. package/src/capabilities/client/client.ts +75 -0
  238. package/src/capabilities/client/index.ts +7 -0
  239. package/src/capabilities/index.ts +7 -11
  240. package/src/capabilities/migrations/index.ts +7 -0
  241. package/src/capabilities/migrations/migrations.ts +30 -0
  242. package/src/capabilities/operation-resolver/index.ts +7 -0
  243. package/src/capabilities/operation-resolver/operation-resolver.ts +249 -0
  244. package/src/capabilities/react-context/index.ts +7 -0
  245. package/src/capabilities/react-context/react-context.tsx +25 -0
  246. package/src/capabilities/react-surface/index.ts +7 -0
  247. package/src/capabilities/react-surface/react-surface.tsx +75 -0
  248. package/src/capabilities/schema-defs/index.ts +7 -0
  249. package/src/capabilities/schema-defs/schema-defs.ts +36 -0
  250. package/src/cli/commands/config/index.ts +12 -0
  251. package/src/cli/commands/config/view.ts +26 -0
  252. package/src/cli/commands/device/index.ts +14 -0
  253. package/src/cli/commands/device/info/index.ts +5 -0
  254. package/src/cli/commands/device/info/info.test.ts +29 -0
  255. package/src/cli/commands/device/info/info.ts +50 -0
  256. package/src/cli/commands/device/list/index.ts +5 -0
  257. package/src/cli/commands/device/list/list.test.ts +31 -0
  258. package/src/cli/commands/device/list/list.ts +30 -0
  259. package/src/cli/commands/device/update/index.ts +5 -0
  260. package/src/cli/commands/device/update/update.ts +70 -0
  261. package/src/cli/commands/device/util.ts +55 -0
  262. package/src/cli/commands/edge/index.ts +12 -0
  263. package/src/cli/commands/edge/status.ts +45 -0
  264. package/src/cli/commands/halo/create/create.test.ts +52 -0
  265. package/src/cli/commands/halo/create/create.ts +75 -0
  266. package/src/cli/commands/halo/create/index.ts +5 -0
  267. package/src/cli/commands/halo/credential/add/add.ts +97 -0
  268. package/src/cli/commands/halo/credential/add/index.ts +5 -0
  269. package/src/cli/commands/halo/credential/index.ts +13 -0
  270. package/src/cli/commands/halo/credential/list/index.ts +5 -0
  271. package/src/cli/commands/halo/credential/list/list.test.ts +28 -0
  272. package/src/cli/commands/halo/credential/list/list.ts +118 -0
  273. package/src/cli/commands/halo/identity/identity.test.ts +40 -0
  274. package/src/cli/commands/halo/identity/identity.ts +46 -0
  275. package/src/cli/commands/halo/identity/index.ts +5 -0
  276. package/src/cli/commands/halo/index.ts +21 -0
  277. package/src/cli/commands/halo/join/index.ts +5 -0
  278. package/src/cli/commands/halo/join/join.test.ts +10 -0
  279. package/src/cli/commands/halo/join/join.ts +87 -0
  280. package/src/cli/commands/halo/keys/index.ts +5 -0
  281. package/src/cli/commands/halo/keys/keys.test.ts +29 -0
  282. package/src/cli/commands/halo/keys/keys.ts +42 -0
  283. package/src/cli/commands/halo/recover/index.ts +5 -0
  284. package/src/cli/commands/halo/recover/recover.test.ts +10 -0
  285. package/src/cli/commands/halo/recover/recover.ts +44 -0
  286. package/src/cli/commands/halo/seed/index.ts +5 -0
  287. package/src/cli/commands/halo/seed/seed.ts +38 -0
  288. package/src/cli/commands/halo/share/index.ts +5 -0
  289. package/src/cli/commands/halo/share/share.ts +97 -0
  290. package/src/cli/commands/halo/update/index.ts +5 -0
  291. package/src/cli/commands/halo/update/update.test.ts +29 -0
  292. package/src/cli/commands/halo/update/update.ts +69 -0
  293. package/src/cli/commands/halo/util.ts +18 -0
  294. package/src/cli/commands/index.ts +9 -0
  295. package/src/cli/commands/profile/create.ts +87 -0
  296. package/src/cli/commands/profile/delete.ts +33 -0
  297. package/src/cli/commands/profile/import.ts +101 -0
  298. package/src/cli/commands/profile/index.ts +17 -0
  299. package/src/cli/commands/profile/inspect.ts +64 -0
  300. package/src/cli/commands/profile/list.ts +54 -0
  301. package/src/cli/commands/profile/reset.ts +45 -0
  302. package/src/cli/commands/profile/util.ts +48 -0
  303. package/src/cli/index.ts +5 -0
  304. package/src/cli/plugin.ts +34 -0
  305. package/src/cli/testing/test-console.ts +88 -0
  306. package/src/components/DevicesContainer.stories.tsx +9 -6
  307. package/src/components/DevicesContainer.tsx +37 -45
  308. package/src/components/JoinDialog.tsx +13 -15
  309. package/src/components/ProfileContainer.stories.tsx +1 -1
  310. package/src/components/ProfileContainer.tsx +62 -56
  311. package/src/components/RecoveryCodeDialog.stories.tsx +1 -1
  312. package/src/components/RecoveryCodeDialog.tsx +3 -5
  313. package/src/components/RecoveryCredentialsContainer.stories.tsx +8 -6
  314. package/src/components/RecoveryCredentialsContainer.tsx +19 -21
  315. package/src/components/ResetDialog.stories.tsx +29 -9
  316. package/src/components/ResetDialog.tsx +24 -20
  317. package/src/constants.ts +9 -0
  318. package/src/index.ts +1 -2
  319. package/src/meta.ts +7 -2
  320. package/src/translations.ts +6 -3
  321. package/src/types/capabilities.ts +16 -0
  322. package/src/types/events.ts +15 -0
  323. package/src/types/index.ts +2 -0
  324. package/src/types/schema.ts +120 -7
  325. package/dist/lib/browser/app-graph-builder-LUY3BJGC.mjs +0 -124
  326. package/dist/lib/browser/app-graph-builder-LUY3BJGC.mjs.map +0 -7
  327. package/dist/lib/browser/chunk-C7B7NM2G.mjs +0 -686
  328. package/dist/lib/browser/chunk-C7B7NM2G.mjs.map +0 -7
  329. package/dist/lib/browser/chunk-PFY3EQPI.mjs +0 -18
  330. package/dist/lib/browser/chunk-PFY3EQPI.mjs.map +0 -7
  331. package/dist/lib/browser/chunk-QB3D2P4J.mjs +0 -10
  332. package/dist/lib/browser/chunk-QB3D2P4J.mjs.map +0 -7
  333. package/dist/lib/browser/chunk-TRA2GP4M.mjs +0 -110
  334. package/dist/lib/browser/chunk-TRA2GP4M.mjs.map +0 -7
  335. package/dist/lib/browser/chunk-VTC4GIND.mjs +0 -19
  336. package/dist/lib/browser/chunk-VTC4GIND.mjs.map +0 -7
  337. package/dist/lib/browser/client-5PWEJ3U6.mjs +0 -43
  338. package/dist/lib/browser/client-5PWEJ3U6.mjs.map +0 -7
  339. package/dist/lib/browser/intent-resolver-L5NVP2G3.mjs +0 -305
  340. package/dist/lib/browser/intent-resolver-L5NVP2G3.mjs.map +0 -7
  341. package/dist/lib/browser/migrations-MWQCO5KY.mjs +0 -23
  342. package/dist/lib/browser/migrations-MWQCO5KY.mjs.map +0 -7
  343. package/dist/lib/browser/react-context-S4SRYUVY.mjs +0 -24
  344. package/dist/lib/browser/react-context-S4SRYUVY.mjs.map +0 -7
  345. package/dist/lib/browser/react-surface-6PV7RVQN.mjs +0 -66
  346. package/dist/lib/browser/react-surface-6PV7RVQN.mjs.map +0 -7
  347. package/dist/lib/browser/schema-defs-E3USCMH3.mjs +0 -25
  348. package/dist/lib/browser/schema-defs-E3USCMH3.mjs.map +0 -7
  349. package/dist/lib/node-esm/app-graph-builder-S3BVB3IU.mjs +0 -125
  350. package/dist/lib/node-esm/app-graph-builder-S3BVB3IU.mjs.map +0 -7
  351. package/dist/lib/node-esm/chunk-4MPOOMDQ.mjs +0 -111
  352. package/dist/lib/node-esm/chunk-4MPOOMDQ.mjs.map +0 -7
  353. package/dist/lib/node-esm/chunk-H73VVAMA.mjs +0 -687
  354. package/dist/lib/node-esm/chunk-H73VVAMA.mjs.map +0 -7
  355. package/dist/lib/node-esm/chunk-K5IFPSCL.mjs +0 -20
  356. package/dist/lib/node-esm/chunk-K5IFPSCL.mjs.map +0 -7
  357. package/dist/lib/node-esm/chunk-QE4LPI2A.mjs +0 -12
  358. package/dist/lib/node-esm/chunk-QE4LPI2A.mjs.map +0 -7
  359. package/dist/lib/node-esm/chunk-UYDFBGYA.mjs +0 -19
  360. package/dist/lib/node-esm/chunk-UYDFBGYA.mjs.map +0 -7
  361. package/dist/lib/node-esm/client-ODN7EBTY.mjs +0 -44
  362. package/dist/lib/node-esm/client-ODN7EBTY.mjs.map +0 -7
  363. package/dist/lib/node-esm/intent-resolver-3JZIPI6F.mjs +0 -306
  364. package/dist/lib/node-esm/intent-resolver-3JZIPI6F.mjs.map +0 -7
  365. package/dist/lib/node-esm/migrations-ARXHGBH5.mjs +0 -24
  366. package/dist/lib/node-esm/migrations-ARXHGBH5.mjs.map +0 -7
  367. package/dist/lib/node-esm/react-context-4SZYNSIS.mjs +0 -25
  368. package/dist/lib/node-esm/react-context-4SZYNSIS.mjs.map +0 -7
  369. package/dist/lib/node-esm/react-surface-BOST4EH2.mjs +0 -67
  370. package/dist/lib/node-esm/react-surface-BOST4EH2.mjs.map +0 -7
  371. package/dist/lib/node-esm/schema-defs-ATH5YBDR.mjs +0 -26
  372. package/dist/lib/node-esm/schema-defs-ATH5YBDR.mjs.map +0 -7
  373. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  374. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  375. package/dist/types/src/capabilities/capabilities.d.ts +0 -9
  376. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  377. package/dist/types/src/capabilities/client.d.ts +0 -9
  378. package/dist/types/src/capabilities/client.d.ts.map +0 -1
  379. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -8
  380. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  381. package/dist/types/src/capabilities/migrations.d.ts +0 -4
  382. package/dist/types/src/capabilities/migrations.d.ts.map +0 -1
  383. package/dist/types/src/capabilities/react-context.d.ts +0 -8
  384. package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
  385. package/dist/types/src/capabilities/react-surface.d.ts +0 -8
  386. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  387. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  388. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  389. package/dist/types/src/events.d.ts +0 -8
  390. package/dist/types/src/events.d.ts.map +0 -1
  391. package/src/capabilities/app-graph-builder.ts +0 -115
  392. package/src/capabilities/capabilities.ts +0 -18
  393. package/src/capabilities/client.ts +0 -43
  394. package/src/capabilities/intent-resolver.ts +0 -251
  395. package/src/capabilities/migrations.ts +0 -25
  396. package/src/capabilities/react-context.tsx +0 -21
  397. package/src/capabilities/react-surface.tsx +0 -67
  398. package/src/capabilities/schema-defs.ts +0 -29
  399. package/src/events.ts +0 -15
@@ -3,10 +3,12 @@
3
3
  //
4
4
 
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import * as Effect from 'effect/Effect';
6
7
  import React from 'react';
7
8
 
8
- import { IntentPlugin } from '@dxos/app-framework';
9
+ import { OperationPlugin, RuntimePlugin } from '@dxos/app-framework';
9
10
  import { withPluginManager } from '@dxos/app-framework/testing';
11
+ import { usePluginManager } from '@dxos/app-framework/ui';
10
12
  import { Dialog } from '@dxos/react-ui';
11
13
  import { withTheme } from '@dxos/react-ui/testing';
12
14
 
@@ -15,11 +17,17 @@ import { translations } from '../translations';
15
17
 
16
18
  import { ResetDialog, type ResetDialogProps } from './ResetDialog';
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
  );
@@ -28,11 +36,11 @@ const Render = (props: ResetDialogProps) => {
28
36
  const meta = {
29
37
  title: 'plugins/plugin-client/ResetDialog',
30
38
  component: ResetDialog,
31
- render: Render,
39
+ render: DefaultStory,
32
40
  decorators: [
33
- withTheme, // TODO(wittjosiah): Try to write story which does not depend on plugin manager.
41
+ withTheme(),
34
42
  withPluginManager({
35
- plugins: [IntentPlugin(), ClientPlugin({})],
43
+ plugins: [RuntimePlugin(), OperationPlugin(), ClientPlugin({})],
36
44
  }),
37
45
  ],
38
46
  parameters: {
@@ -45,8 +53,20 @@ export default meta;
45
53
 
46
54
  type Story = StoryObj<typeof meta>;
47
55
 
48
- 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
+ };
49
61
 
50
- 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
+ };
51
67
 
52
- export const Recover: Story = { args: { mode: 'recover' } };
68
+ export const Recover: Story = {
69
+ args: {
70
+ mode: 'recover' as const,
71
+ } as any,
72
+ };
@@ -2,9 +2,13 @@
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 { LayoutAction, createIntent, 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';
@@ -12,38 +16,38 @@ import { ConfirmReset, type ConfirmResetProps } from '@dxos/shell/react';
12
16
  import { meta } from '../meta';
13
17
  import { type ClientPluginOptions } from '../types';
14
18
 
15
- export const RESET_DIALOG = `${meta.id}/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) => {
24
+ export const ResetDialog = ({ mode, onReset, capabilityManager }: ResetDialogProps) => {
20
25
  const { t } = useTranslation(meta.id);
21
- const { dispatchPromise: dispatch } = useIntentDispatcher();
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,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export { ClientCapabilities } from './capabilities';
6
- export { ClientEvents } from './events';
5
+ export { ClientCapabilities, ClientEvents } from './types';
7
6
  export * from './meta';
8
7
  export * from './types';
9
8
 
package/src/meta.ts CHANGED
@@ -2,9 +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 meta: PluginMeta = {
8
+ export const meta: Plugin.Meta = {
8
9
  id: 'dxos.org/plugin/client',
9
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
+ `,
10
15
  };
@@ -3,14 +3,15 @@
3
3
  //
4
4
 
5
5
  import { type Resource } from '@dxos/react-ui';
6
+ import { translations as shellTranslations } from '@dxos/shell/react';
6
7
 
7
8
  import { meta } from './meta';
8
9
 
9
- export const translations = [
10
+ const pluginTranslations = [
10
11
  {
11
12
  'en-US': {
12
13
  [meta.id]: {
13
- 'account label': 'User Account',
14
+ 'account label': 'User profile',
14
15
  'profile label': 'Profile',
15
16
  'profile description': 'You can adjust how your user settings here.',
16
17
  'devices label': 'Devices',
@@ -35,7 +36,7 @@ export const translations = [
35
36
  'display name description': 'Your name as it appears in the app.',
36
37
  'display name input placeholder': 'Enter a name',
37
38
  'icon label': 'Avatar',
38
- 'icon description': 'The emoji used to represent you in the app.',
39
+ 'icon description': 'The emoji used to represent the user.',
39
40
  'hue label': 'Color',
40
41
  'hue description':
41
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.',
@@ -68,3 +69,5 @@ export const translations = [
68
69
  },
69
70
  },
70
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
+ }
@@ -2,4 +2,6 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ export * from './capabilities';
6
+ export * from './events';
5
7
  export * from './schema';
@@ -2,11 +2,12 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
+ import type * as Effect from 'effect/Effect';
5
6
  import * as Schema from 'effect/Schema';
6
7
 
7
- import { type PluginContext } from '@dxos/app-framework';
8
- import { type Client, type ClientOptions, PublicKey } from '@dxos/react-client';
9
- import { type MaybePromise } from '@dxos/util';
8
+ import { Capability } from '@dxos/app-framework';
9
+ import { type Client, type ClientOptions, PublicKey } from '@dxos/client';
10
+ import { Operation } from '@dxos/operation';
10
11
 
11
12
  import { meta } from '../meta';
12
13
 
@@ -90,6 +91,115 @@ export namespace ClientAction {
90
91
  }) {}
91
92
  }
92
93
 
94
+ const CLIENT_OPERATION = `${meta.id}/operation`;
95
+
96
+ /**
97
+ * Operations for the Client plugin.
98
+ */
99
+ export namespace ClientOperation {
100
+ const ProfileSchema = Schema.Struct({
101
+ displayName: Schema.optional(Schema.String),
102
+ avatarCid: Schema.optional(Schema.String),
103
+ data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),
104
+ });
105
+
106
+ export const CreateIdentity = Operation.make({
107
+ meta: { key: `${CLIENT_OPERATION}/create-identity`, name: 'Create Identity' },
108
+ services: [Capability.Service],
109
+ schema: {
110
+ input: ProfileSchema,
111
+ output: IdentitySchema,
112
+ },
113
+ });
114
+
115
+ export const JoinIdentity = Operation.make({
116
+ meta: { key: `${CLIENT_OPERATION}/join-identity`, name: 'Join Identity' },
117
+ services: [Capability.Service],
118
+ schema: {
119
+ input: Schema.Struct({
120
+ invitationCode: Schema.optional(Schema.String),
121
+ }),
122
+ output: Schema.Void,
123
+ },
124
+ });
125
+
126
+ export const ShareIdentity = Operation.make({
127
+ meta: { key: `${CLIENT_OPERATION}/share-identity`, name: 'Share Identity' },
128
+ services: [Capability.Service],
129
+ schema: {
130
+ input: Schema.Void,
131
+ output: Schema.Void,
132
+ },
133
+ });
134
+
135
+ export const RecoverIdentity = Operation.make({
136
+ meta: { key: `${CLIENT_OPERATION}/recover-identity`, name: 'Recover Identity' },
137
+ services: [Capability.Service],
138
+ schema: {
139
+ input: Schema.Void,
140
+ output: Schema.Void,
141
+ },
142
+ });
143
+
144
+ export const ResetStorage = Operation.make({
145
+ meta: { key: `${CLIENT_OPERATION}/reset-storage`, name: 'Reset Storage' },
146
+ services: [Capability.Service],
147
+ schema: {
148
+ input: Schema.Struct({
149
+ mode: Schema.optional(Schema.String),
150
+ }),
151
+ output: Schema.Void,
152
+ },
153
+ });
154
+
155
+ export const CreateAgent = Operation.make({
156
+ meta: { key: `${CLIENT_OPERATION}/create-agent`, name: 'Create Agent' },
157
+ services: [Capability.Service],
158
+ schema: {
159
+ input: Schema.Void,
160
+ output: Schema.Void,
161
+ },
162
+ });
163
+
164
+ export const CreateRecoveryCode = Operation.make({
165
+ meta: { key: `${CLIENT_OPERATION}/create-recovery-code`, name: 'Create Recovery Code' },
166
+ services: [Capability.Service],
167
+ schema: {
168
+ input: Schema.Void,
169
+ output: Schema.Void,
170
+ },
171
+ });
172
+
173
+ export const CreatePasskey = Operation.make({
174
+ meta: { key: `${CLIENT_OPERATION}/create-passkey`, name: 'Create Passkey' },
175
+ services: [Capability.Service],
176
+ schema: {
177
+ input: Schema.Void,
178
+ output: Schema.Void,
179
+ },
180
+ });
181
+
182
+ export const RedeemPasskey = Operation.make({
183
+ meta: { key: `${CLIENT_OPERATION}/redeem-passkey`, name: 'Redeem Passkey' },
184
+ services: [Capability.Service],
185
+ schema: {
186
+ input: Schema.Void,
187
+ output: Schema.Void,
188
+ },
189
+ });
190
+
191
+ export const RedeemToken = Operation.make({
192
+ meta: { key: `${CLIENT_OPERATION}/redeem-token`, name: 'Redeem Token' },
193
+ services: [Capability.Service],
194
+ schema: {
195
+ input: Schema.Struct({
196
+ token: Schema.String,
197
+ }),
198
+ output: Schema.Void,
199
+ },
200
+ });
201
+ }
202
+
93
203
  export type ClientPluginOptions = ClientOptions & {
94
204
  /**
95
205
  * Base URL for the invitation link.
@@ -99,22 +209,25 @@ export type ClientPluginOptions = ClientOptions & {
99
209
  /**
100
210
  * Query parameter for the invitation code.
101
211
  */
102
- invitationParam?: string;
212
+ invitationProp?: string;
103
213
 
104
214
  /**
105
215
  * Run after the client has been initialized.
216
+ * Plugin context is provided so capabilities are accessible.
106
217
  */
107
- onClientInitialized?: (params: { context: PluginContext; client: Client }) => MaybePromise<void>;
218
+ onClientInitialized?: (params: { client: Client }) => Effect.Effect<void, Error | never, Capability.Service | never>;
108
219
 
109
220
  /**
110
221
  * Called when spaces are ready.
222
+ * Plugin context is provided so capabilities are accessible.
111
223
  */
112
- onSpacesReady?: (params: { context: PluginContext; client: Client }) => MaybePromise<void>;
224
+ onSpacesReady?: (params: { client: Client }) => Effect.Effect<void, Error | never, Capability.Service | never>;
113
225
 
114
226
  /**
115
227
  * Called when the client is reset.
228
+ * Plugin context is provided so capabilities are accessible.
116
229
  */
117
- onReset?: (params: { target?: string }) => MaybePromise<void>;
230
+ onReset?: (params: { target?: string }) => Effect.Effect<void, Error | never, Capability.Service | never>;
118
231
  };
119
232
 
120
233
  export namespace Account {
@@ -1,124 +0,0 @@
1
- import {
2
- ClientCapabilities
3
- } from "./chunk-PFY3EQPI.mjs";
4
- import {
5
- Account,
6
- ClientAction
7
- } from "./chunk-TRA2GP4M.mjs";
8
- import {
9
- meta
10
- } from "./chunk-QB3D2P4J.mjs";
11
-
12
- // src/capabilities/app-graph-builder.ts
13
- import { Rx } from "@effect-rx/rx-react";
14
- import * as Function from "effect/Function";
15
- import * as Option from "effect/Option";
16
- import { createIntent } from "@dxos/app-framework";
17
- import { Capabilities, contributes } from "@dxos/app-framework";
18
- import { ROOT_ID, createExtension, rxFromObservable } from "@dxos/plugin-graph";
19
- import { ConnectionState } from "@dxos/react-client/mesh";
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(() => {
23
- return [
24
- {
25
- id: `${meta.id}/open-user-account`,
26
- data: async () => {
27
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
28
- await dispatch(createIntent(ClientAction.ShareIdentity));
29
- },
30
- properties: {
31
- label: [
32
- "open user account label",
33
- {
34
- ns: meta.id
35
- }
36
- ],
37
- icon: "ph--user--regular",
38
- disposition: "menu",
39
- keyBinding: {
40
- macos: "meta+shift+.",
41
- // TODO(wittjosiah): Test on windows to see if it behaves the same as linux.
42
- windows: "alt+shift+.",
43
- linux: "alt+shift+>"
44
- }
45
- }
46
- }
47
- ];
48
- }), Option.getOrElse(() => []))),
49
- connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => {
50
- const client = context.getCapability(ClientCapabilities.Client);
51
- const identity = get(rxFromObservable(client.halo.identity));
52
- const status = get(rxFromObservable(client.mesh.networkStatus));
53
- return [
54
- {
55
- id: Account.id,
56
- type: meta.id,
57
- properties: {
58
- label: [
59
- "account label",
60
- {
61
- ns: meta.id
62
- }
63
- ],
64
- icon: "ph--user--regular",
65
- disposition: "user-account",
66
- // NOTE: This currently needs to be the identity key because the fallback is generated from hex.
67
- userId: identity?.identityKey.toHex(),
68
- hue: identity?.profile?.data?.hue,
69
- emoji: identity?.profile?.data?.emoji,
70
- status: status.swarm === ConnectionState.OFFLINE ? "error" : "active"
71
- },
72
- nodes: [
73
- {
74
- id: Account.Profile,
75
- data: Account.Profile,
76
- type: meta.id,
77
- properties: {
78
- label: [
79
- "profile label",
80
- {
81
- ns: meta.id
82
- }
83
- ],
84
- icon: "ph--user--regular"
85
- }
86
- },
87
- {
88
- id: Account.Devices,
89
- data: Account.Devices,
90
- type: meta.id,
91
- properties: {
92
- label: [
93
- "devices label",
94
- {
95
- ns: meta.id
96
- }
97
- ],
98
- icon: "ph--devices--regular",
99
- testId: "clientPlugin.devices"
100
- }
101
- },
102
- {
103
- id: Account.Security,
104
- data: Account.Security,
105
- type: meta.id,
106
- properties: {
107
- label: [
108
- "security label",
109
- {
110
- ns: meta.id
111
- }
112
- ],
113
- icon: "ph--key--regular"
114
- }
115
- }
116
- ]
117
- }
118
- ];
119
- }), Option.getOrElse(() => [])))
120
- })));
121
- export {
122
- app_graph_builder_default as default
123
- };
124
- //# sourceMappingURL=app-graph-builder-LUY3BJGC.mjs.map
@@ -1,7 +0,0 @@
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
- }