@dxos/plugin-client 0.11.1 → 0.12.0-next-2800d0376abcc62d5544afdd744b16b2b960434e

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 (533) hide show
  1. package/dist/lib/Account.mjs +23 -0
  2. package/dist/lib/Account.mjs.map +1 -0
  3. package/dist/lib/AccountCache.mjs +30 -0
  4. package/dist/lib/AccountCache.mjs.map +1 -0
  5. package/dist/lib/ClientAction.mjs +75 -0
  6. package/dist/lib/ClientAction.mjs.map +1 -0
  7. package/dist/lib/ClientCapabilities.mjs +36 -0
  8. package/dist/lib/ClientCapabilities.mjs.map +1 -0
  9. package/dist/lib/ClientEvents.mjs +21 -0
  10. package/dist/lib/ClientEvents.mjs.map +1 -0
  11. package/dist/lib/ClientOptions.mjs +7 -0
  12. package/dist/lib/ClientOptions.mjs.map +1 -0
  13. package/dist/lib/ClientPlugin.mjs +12 -61
  14. package/dist/lib/ClientPlugin.mjs.map +1 -1
  15. package/dist/lib/PasskeyError.mjs +42 -0
  16. package/dist/lib/PasskeyError.mjs.map +1 -0
  17. package/dist/lib/capabilities.mjs +93 -17
  18. package/dist/lib/capabilities.mjs.map +1 -1
  19. package/dist/lib/capabilities.node.mjs +77 -0
  20. package/dist/lib/capabilities.node.mjs.map +1 -0
  21. package/dist/lib/capabilities.workerd.mjs +51 -0
  22. package/dist/lib/capabilities.workerd.mjs.map +1 -0
  23. package/dist/lib/chunk-AccountContainer.mjs +37 -22
  24. package/dist/lib/chunk-AccountContainer.mjs.map +1 -1
  25. package/dist/lib/chunk-DevicesContainer.mjs +124 -97
  26. package/dist/lib/chunk-DevicesContainer.mjs.map +1 -1
  27. package/dist/lib/chunk-InvitationsContainer.mjs +9 -7
  28. package/dist/lib/chunk-InvitationsContainer.mjs.map +1 -1
  29. package/dist/lib/chunk-JoinDialog.mjs +4 -4
  30. package/dist/lib/chunk-JoinDialog.mjs.map +1 -1
  31. package/dist/lib/chunk-ProfileContainer.mjs +12 -15
  32. package/dist/lib/chunk-ProfileContainer.mjs.map +1 -1
  33. package/dist/lib/chunk-RecoveryCodeDialog.mjs +13 -7
  34. package/dist/lib/chunk-RecoveryCodeDialog.mjs.map +1 -1
  35. package/dist/lib/chunk-RecoveryCredentialsContainer.mjs +88 -18
  36. package/dist/lib/chunk-RecoveryCredentialsContainer.mjs.map +1 -1
  37. package/dist/lib/chunk-ResetDialog.mjs +8 -6
  38. package/dist/lib/chunk-ResetDialog.mjs.map +1 -1
  39. package/dist/lib/chunk-UsageContainer.mjs +8 -8
  40. package/dist/lib/chunk-UsageContainer.mjs.map +1 -1
  41. package/dist/lib/chunk-account-cache.mjs +3 -3
  42. package/dist/lib/chunk-account-cache.mjs.map +1 -1
  43. package/dist/lib/chunk-app-graph-builder.mjs +39 -30
  44. package/dist/lib/chunk-app-graph-builder.mjs.map +1 -1
  45. package/dist/lib/chunk-client.mjs +89 -56
  46. package/dist/lib/chunk-client.mjs.map +1 -1
  47. package/dist/lib/{ClientPlugin.node.mjs → chunk-commands.mjs} +398 -212
  48. package/dist/lib/chunk-commands.mjs.map +1 -0
  49. package/dist/lib/chunk-constants.mjs +9 -1
  50. package/dist/lib/chunk-constants.mjs.map +1 -1
  51. package/dist/lib/chunk-create-agent.mjs +5 -5
  52. package/dist/lib/chunk-create-agent.mjs.map +1 -1
  53. package/dist/lib/chunk-create-identity.mjs +18 -16
  54. package/dist/lib/chunk-create-identity.mjs.map +1 -1
  55. package/dist/lib/chunk-create-passkey.mjs +34 -24
  56. package/dist/lib/chunk-create-passkey.mjs.map +1 -1
  57. package/dist/lib/chunk-create-recovery-code.mjs +6 -17
  58. package/dist/lib/chunk-create-recovery-code.mjs.map +1 -1
  59. package/dist/lib/chunk-definitions.mjs +192 -0
  60. package/dist/lib/chunk-definitions.mjs.map +1 -0
  61. package/dist/lib/chunk-grant-service-access.mjs +16 -0
  62. package/dist/lib/chunk-grant-service-access.mjs.map +1 -0
  63. package/dist/lib/chunk-hooks.mjs +27 -7
  64. package/dist/lib/chunk-hooks.mjs.map +1 -1
  65. package/dist/lib/chunk-hub-http-client.mjs +5 -3
  66. package/dist/lib/chunk-hub-http-client.mjs.map +1 -1
  67. package/dist/lib/chunk-join-identity.mjs +4 -4
  68. package/dist/lib/chunk-join-identity.mjs.map +1 -1
  69. package/dist/lib/chunk-layer-specs.mjs +25 -21
  70. package/dist/lib/chunk-layer-specs.mjs.map +1 -1
  71. package/dist/lib/chunk-migrations.mjs +10 -7
  72. package/dist/lib/chunk-migrations.mjs.map +1 -1
  73. package/dist/lib/chunk-navigation-handler.mjs +20 -15
  74. package/dist/lib/chunk-navigation-handler.mjs.map +1 -1
  75. package/dist/lib/chunk-navigation-target-loader.mjs +16 -11
  76. package/dist/lib/chunk-navigation-target-loader.mjs.map +1 -1
  77. package/dist/lib/chunk-open-usage.mjs +5 -4
  78. package/dist/lib/chunk-open-usage.mjs.map +1 -1
  79. package/dist/lib/chunk-operation-handler.mjs +3 -2
  80. package/dist/lib/chunk-operation-handler.mjs.map +1 -1
  81. package/dist/lib/chunk-progress.mjs +29 -4
  82. package/dist/lib/chunk-progress.mjs.map +1 -1
  83. package/dist/lib/chunk-react-context.mjs +8 -5
  84. package/dist/lib/chunk-react-context.mjs.map +1 -1
  85. package/dist/lib/chunk-react-surface.mjs +9 -5
  86. package/dist/lib/chunk-react-surface.mjs.map +1 -1
  87. package/dist/lib/chunk-recover-identity.mjs +4 -4
  88. package/dist/lib/chunk-recover-identity.mjs.map +1 -1
  89. package/dist/lib/chunk-redeem-passkey.mjs +20 -37
  90. package/dist/lib/chunk-redeem-passkey.mjs.map +1 -1
  91. package/dist/lib/chunk-redeem-token.mjs +4 -16
  92. package/dist/lib/chunk-redeem-token.mjs.map +1 -1
  93. package/dist/lib/chunk-remote-trace-monitor.mjs +7 -6
  94. package/dist/lib/chunk-remote-trace-monitor.mjs.map +1 -1
  95. package/dist/lib/chunk-reset-storage.mjs +4 -4
  96. package/dist/lib/chunk-reset-storage.mjs.map +1 -1
  97. package/dist/lib/chunk-resolve-navigation-targets.mjs +9 -7
  98. package/dist/lib/chunk-resolve-navigation-targets.mjs.map +1 -1
  99. package/dist/lib/chunk-revoke-recovery-credential.mjs +19 -0
  100. package/dist/lib/chunk-revoke-recovery-credential.mjs.map +1 -0
  101. package/dist/lib/chunk-rolldown-runtime.mjs +13 -0
  102. package/dist/lib/chunk-schema-defs.mjs +16 -12
  103. package/dist/lib/chunk-schema-defs.mjs.map +1 -1
  104. package/dist/lib/chunk-share-identity.mjs +6 -5
  105. package/dist/lib/chunk-share-identity.mjs.map +1 -1
  106. package/dist/lib/chunk-space-replication-progress.mjs +65 -55
  107. package/dist/lib/chunk-space-replication-progress.mjs.map +1 -1
  108. package/dist/lib/chunk-trace-progress.mjs +12 -9
  109. package/dist/lib/chunk-trace-progress.mjs.map +1 -1
  110. package/dist/lib/chunk-update-profile.mjs +3 -3
  111. package/dist/lib/chunk-update-profile.mjs.map +1 -1
  112. package/dist/lib/commands.mjs +12 -0
  113. package/dist/lib/commands.mjs.map +1 -0
  114. package/dist/lib/commands.node.mjs +14 -0
  115. package/dist/lib/commands.node.mjs.map +1 -0
  116. package/dist/lib/index.mjs +8 -6
  117. package/dist/lib/index.mjs.map +1 -1
  118. package/dist/lib/meta.mjs +20 -1
  119. package/dist/lib/meta.mjs.map +1 -0
  120. package/dist/lib/operations.mjs +26 -2
  121. package/dist/lib/operations.mjs.map +1 -0
  122. package/dist/lib/plugin.mjs +5 -5
  123. package/dist/lib/plugin.mjs.map +1 -1
  124. package/dist/lib/testing.mjs +28 -10
  125. package/dist/lib/testing.mjs.map +1 -1
  126. package/dist/lib/translations.mjs +24 -9
  127. package/dist/lib/translations.mjs.map +1 -1
  128. package/dist/lib/types.mjs +8 -139
  129. package/dist/types/src/ClientPlugin.d.ts +36 -4
  130. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  131. package/dist/types/src/ClientPlugin.testing.d.ts +40 -0
  132. package/dist/types/src/ClientPlugin.testing.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/account-cache.d.ts +2 -2
  134. package/dist/types/src/capabilities/account-cache.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -2
  136. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  137. package/dist/types/src/capabilities/client.d.ts +5 -4
  138. package/dist/types/src/capabilities/client.d.ts.map +1 -1
  139. package/dist/types/src/capabilities/commands.d.ts +3 -0
  140. package/dist/types/src/capabilities/commands.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/commands.node.d.ts +3 -0
  142. package/dist/types/src/capabilities/commands.node.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/gen/node.d.ts +42 -0
  144. package/dist/types/src/capabilities/gen/node.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/gen/workerd.d.ts +19 -0
  146. package/dist/types/src/capabilities/gen/workerd.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/hub-http-client.d.ts +2 -2
  148. package/dist/types/src/capabilities/hub-http-client.d.ts.map +1 -1
  149. package/dist/types/src/capabilities/index.d.ts +28 -21
  150. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  151. package/dist/types/src/capabilities/layer-specs.d.ts +2 -2
  152. package/dist/types/src/capabilities/layer-specs.d.ts.map +1 -1
  153. package/dist/types/src/capabilities/migrations.d.ts +2 -2
  154. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  155. package/dist/types/src/capabilities/navigation-handler/index.d.ts +2 -2
  156. package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -1
  157. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts +2 -2
  158. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -1
  159. package/dist/types/src/capabilities/navigation-target-loader.d.ts +2 -2
  160. package/dist/types/src/capabilities/navigation-target-loader.d.ts.map +1 -1
  161. package/dist/types/src/capabilities/operation-handler.d.ts +2 -3
  162. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  163. package/dist/types/src/capabilities/react-context.d.ts +2 -2
  164. package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
  165. package/dist/types/src/capabilities/react-surface.d.ts +4 -4
  166. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  167. package/dist/types/src/capabilities/remote-trace-monitor.d.ts +2 -2
  168. package/dist/types/src/capabilities/remote-trace-monitor.d.ts.map +1 -1
  169. package/dist/types/src/capabilities/schema-defs.d.ts +2 -2
  170. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  171. package/dist/types/src/capabilities/schema-defs.test.d.ts +2 -0
  172. package/dist/types/src/capabilities/schema-defs.test.d.ts.map +1 -0
  173. package/dist/types/src/capabilities/space-replication-progress.d.ts +5 -6
  174. package/dist/types/src/capabilities/space-replication-progress.d.ts.map +1 -1
  175. package/dist/types/src/capabilities/trace-progress.d.ts +2 -2
  176. package/dist/types/src/capabilities/trace-progress.d.ts.map +1 -1
  177. package/dist/types/src/commands/account/index.d.ts +2 -2
  178. package/dist/types/src/commands/account/index.d.ts.map +1 -1
  179. package/dist/types/src/commands/account/invitation/create/create.d.ts +7 -0
  180. package/dist/types/src/commands/account/invitation/create/create.d.ts.map +1 -0
  181. package/dist/types/src/commands/account/invitation/create/index.d.ts.map +1 -0
  182. package/dist/types/src/commands/account/invitation/index.d.ts +3 -0
  183. package/dist/types/src/commands/account/invitation/index.d.ts.map +1 -0
  184. package/dist/types/src/commands/account/login/login.d.ts +14 -6
  185. package/dist/types/src/commands/account/login/login.d.ts.map +1 -1
  186. package/dist/types/src/commands/account/logout/logout.d.ts +4 -5
  187. package/dist/types/src/commands/account/logout/logout.d.ts.map +1 -1
  188. package/dist/types/src/commands/account/signup/index.d.ts +2 -0
  189. package/dist/types/src/commands/account/signup/index.d.ts.map +1 -0
  190. package/dist/types/src/commands/account/signup/signup.d.ts +22 -0
  191. package/dist/types/src/commands/account/signup/signup.d.ts.map +1 -0
  192. package/dist/types/src/commands/account/util.d.ts +21 -0
  193. package/dist/types/src/commands/account/util.d.ts.map +1 -0
  194. package/dist/types/src/commands/account/util.test.d.ts +2 -0
  195. package/dist/types/src/commands/account/util.test.d.ts.map +1 -0
  196. package/dist/types/src/commands/config/index.d.ts +2 -4
  197. package/dist/types/src/commands/config/index.d.ts.map +1 -1
  198. package/dist/types/src/commands/config/view.d.ts +2 -2
  199. package/dist/types/src/commands/config/view.d.ts.map +1 -1
  200. package/dist/types/src/commands/device/index.d.ts +2 -6
  201. package/dist/types/src/commands/device/index.d.ts.map +1 -1
  202. package/dist/types/src/commands/device/info/info.d.ts +2 -2
  203. package/dist/types/src/commands/device/info/info.d.ts.map +1 -1
  204. package/dist/types/src/commands/device/list/list.d.ts +2 -2
  205. package/dist/types/src/commands/device/list/list.d.ts.map +1 -1
  206. package/dist/types/src/commands/device/update/update.d.ts +4 -4
  207. package/dist/types/src/commands/device/update/update.d.ts.map +1 -1
  208. package/dist/types/src/commands/device/util.d.ts +3 -2
  209. package/dist/types/src/commands/device/util.d.ts.map +1 -1
  210. package/dist/types/src/commands/edge/index.d.ts +2 -4
  211. package/dist/types/src/commands/edge/index.d.ts.map +1 -1
  212. package/dist/types/src/commands/edge/status.d.ts +3 -3
  213. package/dist/types/src/commands/edge/status.d.ts.map +1 -1
  214. package/dist/types/src/commands/halo/credential/add/add.d.ts +5 -5
  215. package/dist/types/src/commands/halo/credential/add/add.d.ts.map +1 -1
  216. package/dist/types/src/commands/halo/credential/index.d.ts +2 -11
  217. package/dist/types/src/commands/halo/credential/index.d.ts.map +1 -1
  218. package/dist/types/src/commands/halo/credential/list/list.d.ts +7 -5
  219. package/dist/types/src/commands/halo/credential/list/list.d.ts.map +1 -1
  220. package/dist/types/src/commands/halo/identity/identity.d.ts +2 -2
  221. package/dist/types/src/commands/halo/identity/identity.d.ts.map +1 -1
  222. package/dist/types/src/commands/halo/index.d.ts +2 -2
  223. package/dist/types/src/commands/halo/index.d.ts.map +1 -1
  224. package/dist/types/src/commands/halo/keys/keys.d.ts +2 -2
  225. package/dist/types/src/commands/halo/keys/keys.d.ts.map +1 -1
  226. package/dist/types/src/commands/halo/seed/seed.d.ts +3 -3
  227. package/dist/types/src/commands/halo/seed/seed.d.ts.map +1 -1
  228. package/dist/types/src/commands/halo/share/share.d.ts +3 -3
  229. package/dist/types/src/commands/halo/share/share.d.ts.map +1 -1
  230. package/dist/types/src/commands/halo/update/update.d.ts +4 -4
  231. package/dist/types/src/commands/halo/update/update.d.ts.map +1 -1
  232. package/dist/types/src/commands/halo/util.d.ts +3 -2
  233. package/dist/types/src/commands/halo/util.d.ts.map +1 -1
  234. package/dist/types/src/commands/profile/create.d.ts +6 -6
  235. package/dist/types/src/commands/profile/create.d.ts.map +1 -1
  236. package/dist/types/src/commands/profile/delete.d.ts +4 -4
  237. package/dist/types/src/commands/profile/delete.d.ts.map +1 -1
  238. package/dist/types/src/commands/profile/import.d.ts +5 -5
  239. package/dist/types/src/commands/profile/import.d.ts.map +1 -1
  240. package/dist/types/src/commands/profile/index.d.ts +2 -18
  241. package/dist/types/src/commands/profile/index.d.ts.map +1 -1
  242. package/dist/types/src/commands/profile/inspect.d.ts +5 -5
  243. package/dist/types/src/commands/profile/inspect.d.ts.map +1 -1
  244. package/dist/types/src/commands/profile/list.d.ts +4 -4
  245. package/dist/types/src/commands/profile/list.d.ts.map +1 -1
  246. package/dist/types/src/commands/profile/reset.d.ts +4 -4
  247. package/dist/types/src/commands/profile/reset.d.ts.map +1 -1
  248. package/dist/types/src/commands/profile/util.d.ts +5 -4
  249. package/dist/types/src/commands/profile/util.d.ts.map +1 -1
  250. package/dist/types/src/constants.d.ts +8 -0
  251. package/dist/types/src/constants.d.ts.map +1 -1
  252. package/dist/types/src/containers/AccountContainer/AccountContainer.stories.d.ts +7 -5
  253. package/dist/types/src/containers/AccountContainer/AccountContainer.stories.d.ts.map +1 -1
  254. package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts +3 -2
  255. package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts.map +1 -1
  256. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts +13 -15
  257. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts.map +1 -1
  258. package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.stories.d.ts +2 -4
  259. package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.stories.d.ts.map +1 -1
  260. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +4 -5
  261. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
  262. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts +2 -4
  263. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts.map +1 -1
  264. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts +2 -1
  265. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts.map +1 -1
  266. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts.map +1 -1
  267. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts +7 -5
  268. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
  269. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts +3 -3
  270. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts.map +1 -1
  271. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts +4 -6
  272. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts.map +1 -1
  273. package/dist/types/src/containers/UsageContainer/UsageView.d.ts +1 -0
  274. package/dist/types/src/containers/UsageContainer/UsageView.stories.d.ts +2 -4
  275. package/dist/types/src/containers/UsageContainer/UsageView.stories.d.ts.map +1 -1
  276. package/dist/types/src/halo-services-layer.d.ts +1 -1
  277. package/dist/types/src/halo-services-layer.d.ts.map +1 -1
  278. package/dist/types/src/hooks/index.d.ts +1 -0
  279. package/dist/types/src/hooks/index.d.ts.map +1 -1
  280. package/dist/types/src/hooks/useAccountUrl.d.ts +9 -0
  281. package/dist/types/src/hooks/useAccountUrl.d.ts.map +1 -0
  282. package/dist/types/src/hooks/useHubClient.d.ts.map +1 -1
  283. package/dist/types/src/index.d.ts +5 -5
  284. package/dist/types/src/index.d.ts.map +1 -1
  285. package/dist/types/src/operations/create-agent.d.ts +1 -1
  286. package/dist/types/src/operations/create-agent.d.ts.map +1 -1
  287. package/dist/types/src/operations/create-identity.d.ts +1 -1
  288. package/dist/types/src/operations/create-identity.d.ts.map +1 -1
  289. package/dist/types/src/operations/create-passkey.d.ts +1 -1
  290. package/dist/types/src/operations/create-passkey.d.ts.map +1 -1
  291. package/dist/types/src/operations/create-recovery-code.d.ts +1 -1
  292. package/dist/types/src/operations/create-recovery-code.d.ts.map +1 -1
  293. package/dist/types/src/operations/definitions.d.ts +13 -6
  294. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  295. package/dist/types/src/operations/grant-service-access.d.ts +6 -0
  296. package/dist/types/src/operations/grant-service-access.d.ts.map +1 -0
  297. package/dist/types/src/operations/index.d.ts +1 -2
  298. package/dist/types/src/operations/index.d.ts.map +1 -1
  299. package/dist/types/src/operations/join-identity.d.ts +1 -1
  300. package/dist/types/src/operations/join-identity.d.ts.map +1 -1
  301. package/dist/types/src/operations/open-usage.d.ts +1 -1
  302. package/dist/types/src/operations/open-usage.d.ts.map +1 -1
  303. package/dist/types/src/operations/recover-identity.d.ts +1 -1
  304. package/dist/types/src/operations/recover-identity.d.ts.map +1 -1
  305. package/dist/types/src/operations/redeem-passkey.d.ts +1 -1
  306. package/dist/types/src/operations/redeem-passkey.d.ts.map +1 -1
  307. package/dist/types/src/operations/redeem-token.d.ts +1 -1
  308. package/dist/types/src/operations/redeem-token.d.ts.map +1 -1
  309. package/dist/types/src/operations/reset-storage.d.ts +1 -1
  310. package/dist/types/src/operations/reset-storage.d.ts.map +1 -1
  311. package/dist/types/src/operations/resolve-navigation-targets.d.ts +2 -2
  312. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -1
  313. package/dist/types/src/operations/revoke-recovery-credential.d.ts +12 -0
  314. package/dist/types/src/operations/revoke-recovery-credential.d.ts.map +1 -0
  315. package/dist/types/src/operations/share-identity.d.ts +1 -1
  316. package/dist/types/src/operations/share-identity.d.ts.map +1 -1
  317. package/dist/types/src/operations/update-profile.d.ts +1 -1
  318. package/dist/types/src/operations/update-profile.d.ts.map +1 -1
  319. package/dist/types/src/plugin.d.ts +4 -3
  320. package/dist/types/src/plugin.d.ts.map +1 -1
  321. package/dist/types/src/plugin.test.d.ts +2 -0
  322. package/dist/types/src/plugin.test.d.ts.map +1 -0
  323. package/dist/types/src/progress/index.d.ts +1 -0
  324. package/dist/types/src/progress/index.d.ts.map +1 -1
  325. package/dist/types/src/progress/progress-keys.d.ts +1 -3
  326. package/dist/types/src/progress/progress-keys.d.ts.map +1 -1
  327. package/dist/types/src/progress/space-sync-progress.d.ts +17 -0
  328. package/dist/types/src/progress/space-sync-progress.d.ts.map +1 -0
  329. package/dist/types/src/progress/space-sync-progress.test.d.ts +2 -0
  330. package/dist/types/src/progress/space-sync-progress.test.d.ts.map +1 -0
  331. package/dist/types/src/schema-defs.test.d.ts +2 -0
  332. package/dist/types/src/schema-defs.test.d.ts.map +1 -0
  333. package/dist/types/src/testing/index.d.ts +1 -1
  334. package/dist/types/src/testing/index.d.ts.map +1 -1
  335. package/dist/types/src/testing/initializeIdentity.d.ts +9 -3
  336. package/dist/types/src/testing/initializeIdentity.d.ts.map +1 -1
  337. package/dist/types/src/translations.d.ts.map +1 -1
  338. package/dist/types/src/types/Account.d.ts +8 -0
  339. package/dist/types/src/types/Account.d.ts.map +1 -0
  340. package/dist/types/src/types/AccountCache.d.ts +42 -0
  341. package/dist/types/src/types/AccountCache.d.ts.map +1 -0
  342. package/dist/types/src/types/ClientAction.d.ts +96 -0
  343. package/dist/types/src/types/ClientAction.d.ts.map +1 -0
  344. package/dist/types/src/types/ClientCapabilities.d.ts +55 -0
  345. package/dist/types/src/types/ClientCapabilities.d.ts.map +1 -0
  346. package/dist/types/src/types/ClientEvents.d.ts +10 -0
  347. package/dist/types/src/types/ClientEvents.d.ts.map +1 -0
  348. package/dist/types/src/types/ClientOptions.d.ts +86 -0
  349. package/dist/types/src/types/ClientOptions.d.ts.map +1 -0
  350. package/dist/types/src/{operations/errors.d.ts → types/PasskeyError.d.ts} +13 -11
  351. package/dist/types/src/types/PasskeyError.d.ts.map +1 -0
  352. package/dist/types/src/types/PasskeyError.test.d.ts +2 -0
  353. package/dist/types/src/types/PasskeyError.test.d.ts.map +1 -0
  354. package/dist/types/src/types/index.d.ts +7 -4
  355. package/dist/types/src/types/index.d.ts.map +1 -1
  356. package/dist/types/tsconfig.tsbuildinfo +1 -1
  357. package/package.json +127 -72
  358. package/src/ClientPlugin.testing.ts +16 -0
  359. package/src/ClientPlugin.ts +8 -103
  360. package/src/capabilities/account-cache.ts +4 -4
  361. package/src/capabilities/app-graph-builder.ts +72 -47
  362. package/src/capabilities/client.ts +144 -70
  363. package/src/capabilities/commands.node.ts +10 -0
  364. package/src/capabilities/commands.ts +11 -0
  365. package/src/capabilities/gen/node.ts +135 -0
  366. package/src/capabilities/gen/workerd.ts +97 -0
  367. package/src/capabilities/hub-http-client.ts +5 -4
  368. package/src/capabilities/index.ts +122 -18
  369. package/src/capabilities/layer-specs.ts +17 -13
  370. package/src/capabilities/migrations.ts +13 -6
  371. package/src/capabilities/navigation-handler/index.ts +11 -2
  372. package/src/capabilities/navigation-handler/navigation-handler.ts +24 -13
  373. package/src/capabilities/navigation-target-loader.ts +24 -15
  374. package/src/capabilities/operation-handler.ts +4 -4
  375. package/src/capabilities/react-context.tsx +6 -3
  376. package/src/capabilities/react-surface.ts +7 -6
  377. package/src/capabilities/remote-trace-monitor.ts +9 -7
  378. package/src/capabilities/schema-defs.test.ts +73 -0
  379. package/src/capabilities/schema-defs.ts +39 -35
  380. package/src/capabilities/space-replication-progress.ts +100 -83
  381. package/src/capabilities/trace-progress.ts +14 -8
  382. package/src/commands/account/index.ts +6 -4
  383. package/src/commands/account/invitation/create/create.ts +46 -0
  384. package/src/commands/{halo → account/invitation}/create/index.ts +1 -1
  385. package/src/commands/account/invitation/index.ts +12 -0
  386. package/src/commands/account/login/login.ts +183 -62
  387. package/src/commands/account/logout/logout.ts +8 -7
  388. package/src/commands/account/signup/index.ts +5 -0
  389. package/src/commands/account/signup/signup.ts +248 -0
  390. package/src/commands/account/util.test.ts +13 -0
  391. package/src/commands/account/util.ts +40 -0
  392. package/src/commands/config/index.ts +1 -1
  393. package/src/commands/config/view.ts +1 -1
  394. package/src/commands/device/index.ts +1 -1
  395. package/src/commands/device/info/info.ts +1 -1
  396. package/src/commands/device/list/list.ts +1 -1
  397. package/src/commands/device/update/update.ts +3 -3
  398. package/src/commands/device/util.ts +2 -2
  399. package/src/commands/edge/index.ts +1 -1
  400. package/src/commands/edge/status.ts +6 -10
  401. package/src/commands/halo/credential/add/add.ts +7 -10
  402. package/src/commands/halo/credential/index.ts +1 -1
  403. package/src/commands/halo/credential/list/list.ts +9 -8
  404. package/src/commands/halo/identity/identity.ts +1 -1
  405. package/src/commands/halo/index.ts +7 -10
  406. package/src/commands/halo/keys/keys.ts +3 -3
  407. package/src/commands/halo/seed/seed.ts +1 -1
  408. package/src/commands/halo/share/share.ts +6 -6
  409. package/src/commands/halo/update/update.ts +3 -3
  410. package/src/commands/halo/util.ts +3 -3
  411. package/src/commands/profile/create.ts +12 -9
  412. package/src/commands/profile/delete.ts +4 -4
  413. package/src/commands/profile/import.ts +15 -18
  414. package/src/commands/profile/index.ts +1 -1
  415. package/src/commands/profile/inspect.ts +5 -5
  416. package/src/commands/profile/list.ts +4 -4
  417. package/src/commands/profile/reset.ts +5 -5
  418. package/src/commands/profile/util.ts +5 -5
  419. package/src/constants.ts +9 -0
  420. package/src/containers/AccountContainer/AccountContainer.stories.tsx +68 -17
  421. package/src/containers/AccountContainer/AccountContainer.tsx +33 -16
  422. package/src/containers/DevicesContainer/DevicesContainer.stories.tsx +1 -1
  423. package/src/containers/DevicesContainer/DevicesContainer.tsx +114 -94
  424. package/src/containers/InvitationsContainer/InvitationsContainer.stories.tsx +1 -1
  425. package/src/containers/InvitationsContainer/InvitationsContainer.tsx +9 -9
  426. package/src/containers/JoinDialog/JoinDialog.stories.tsx +1 -1
  427. package/src/containers/JoinDialog/JoinDialog.tsx +2 -2
  428. package/src/containers/ProfileContainer/ProfileContainer.stories.tsx +9 -1
  429. package/src/containers/ProfileContainer/ProfileContainer.tsx +11 -9
  430. package/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.tsx +7 -7
  431. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.tsx +88 -17
  432. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.tsx +95 -12
  433. package/src/containers/ResetDialog/ResetDialog.stories.tsx +1 -1
  434. package/src/containers/ResetDialog/ResetDialog.tsx +17 -9
  435. package/src/containers/UsageContainer/UsageView.tsx +9 -7
  436. package/src/halo-services-layer.ts +2 -2
  437. package/src/hooks/index.ts +1 -0
  438. package/src/hooks/useAccountUrl.ts +24 -0
  439. package/src/hooks/useHubClient.ts +10 -7
  440. package/src/index.ts +5 -11
  441. package/src/meta.ts +1 -1
  442. package/src/operations/create-agent.ts +4 -3
  443. package/src/operations/create-identity.ts +18 -16
  444. package/src/operations/create-passkey.ts +35 -19
  445. package/src/operations/create-recovery-code.ts +4 -10
  446. package/src/operations/definitions.ts +90 -24
  447. package/src/operations/grant-service-access.ts +21 -0
  448. package/src/operations/index.ts +37 -17
  449. package/src/operations/join-identity.ts +2 -2
  450. package/src/operations/open-usage.ts +5 -3
  451. package/src/operations/recover-identity.ts +2 -2
  452. package/src/operations/redeem-passkey.ts +33 -36
  453. package/src/operations/redeem-token.ts +3 -14
  454. package/src/operations/reset-storage.ts +2 -2
  455. package/src/operations/resolve-navigation-targets.ts +8 -6
  456. package/src/operations/revoke-recovery-credential.ts +27 -0
  457. package/src/operations/share-identity.ts +6 -4
  458. package/src/operations/update-profile.ts +1 -1
  459. package/src/plugin.test.ts +27 -0
  460. package/src/plugin.ts +49 -5
  461. package/src/progress/index.ts +1 -0
  462. package/src/progress/progress-keys.ts +1 -5
  463. package/src/progress/space-sync-progress.test.ts +64 -0
  464. package/src/progress/space-sync-progress.ts +50 -0
  465. package/src/schema-defs.test.ts +83 -0
  466. package/src/testing/index.ts +1 -1
  467. package/src/testing/initializeIdentity.ts +16 -13
  468. package/src/translations.ts +30 -12
  469. package/src/types/Account.ts +16 -0
  470. package/src/types/ClientAction.ts +90 -0
  471. package/src/types/ClientCapabilities.ts +43 -0
  472. package/src/types/ClientEvents.ts +16 -0
  473. package/src/types/ClientOptions.ts +96 -0
  474. package/src/{operations/errors.test.ts → types/PasskeyError.test.ts} +3 -3
  475. package/src/{operations/errors.ts → types/PasskeyError.ts} +17 -12
  476. package/src/types/index.ts +8 -5
  477. package/dist/lib/ClientPlugin.node.mjs.map +0 -1
  478. package/dist/lib/ClientPlugin.workerd.mjs +0 -10
  479. package/dist/lib/ClientPlugin.workerd.mjs.map +0 -1
  480. package/dist/lib/capabilities/node.mjs +0 -13
  481. package/dist/lib/capabilities/node.mjs.map +0 -1
  482. package/dist/lib/chunk-meta.mjs +0 -21
  483. package/dist/lib/chunk-meta.mjs.map +0 -1
  484. package/dist/lib/chunk-operations.mjs +0 -212
  485. package/dist/lib/chunk-operations.mjs.map +0 -1
  486. package/dist/lib/types.mjs.map +0 -1
  487. package/dist/types/src/ClientPlugin.node.d.ts +0 -5
  488. package/dist/types/src/ClientPlugin.node.d.ts.map +0 -1
  489. package/dist/types/src/ClientPlugin.test.d.ts +0 -2
  490. package/dist/types/src/ClientPlugin.test.d.ts.map +0 -1
  491. package/dist/types/src/ClientPlugin.workerd.d.ts +0 -4
  492. package/dist/types/src/ClientPlugin.workerd.d.ts.map +0 -1
  493. package/dist/types/src/capabilities/node.d.ts +0 -27
  494. package/dist/types/src/capabilities/node.d.ts.map +0 -1
  495. package/dist/types/src/commands/halo/create/create.d.ts +0 -15
  496. package/dist/types/src/commands/halo/create/create.d.ts.map +0 -1
  497. package/dist/types/src/commands/halo/create/create.test.d.ts +0 -2
  498. package/dist/types/src/commands/halo/create/create.test.d.ts.map +0 -1
  499. package/dist/types/src/commands/halo/create/index.d.ts.map +0 -1
  500. package/dist/types/src/commands/halo/join/index.d.ts +0 -2
  501. package/dist/types/src/commands/halo/join/index.d.ts.map +0 -1
  502. package/dist/types/src/commands/halo/join/join.d.ts +0 -8
  503. package/dist/types/src/commands/halo/join/join.d.ts.map +0 -1
  504. package/dist/types/src/commands/halo/recover/index.d.ts +0 -2
  505. package/dist/types/src/commands/halo/recover/index.d.ts.map +0 -1
  506. package/dist/types/src/commands/halo/recover/recover.d.ts +0 -7
  507. package/dist/types/src/commands/halo/recover/recover.d.ts.map +0 -1
  508. package/dist/types/src/operations/errors.d.ts.map +0 -1
  509. package/dist/types/src/operations/errors.test.d.ts +0 -2
  510. package/dist/types/src/operations/errors.test.d.ts.map +0 -1
  511. package/dist/types/src/types/account-cache.d.ts +0 -42
  512. package/dist/types/src/types/account-cache.d.ts.map +0 -1
  513. package/dist/types/src/types/capabilities.d.ts +0 -52
  514. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  515. package/dist/types/src/types/events.d.ts +0 -9
  516. package/dist/types/src/types/events.d.ts.map +0 -1
  517. package/dist/types/src/types/schema.d.ts +0 -171
  518. package/dist/types/src/types/schema.d.ts.map +0 -1
  519. package/src/ClientPlugin.node.ts +0 -42
  520. package/src/ClientPlugin.test.ts +0 -29
  521. package/src/ClientPlugin.workerd.ts +0 -16
  522. package/src/capabilities/node.ts +0 -21
  523. package/src/commands/halo/create/create.test.ts +0 -53
  524. package/src/commands/halo/create/create.ts +0 -82
  525. package/src/commands/halo/join/index.ts +0 -5
  526. package/src/commands/halo/join/join.ts +0 -76
  527. package/src/commands/halo/recover/index.ts +0 -5
  528. package/src/commands/halo/recover/recover.ts +0 -44
  529. package/src/types/capabilities.ts +0 -39
  530. package/src/types/events.ts +0 -15
  531. package/src/types/schema.ts +0 -155
  532. /package/dist/types/src/commands/{halo → account/invitation}/create/index.d.ts +0 -0
  533. /package/src/types/{account-cache.ts → AccountCache.ts} +0 -0
@@ -0,0 +1,23 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ //#region src/types/Account.ts
3
+ var Account_exports = /* @__PURE__ */ __exportAll({
4
+ Account: () => Account,
5
+ Devices: () => Devices,
6
+ Invitations: () => Invitations,
7
+ Profile: () => Profile,
8
+ Security: () => Security,
9
+ Usage: () => Usage,
10
+ id: () => id
11
+ });
12
+ var _id = "dxos.org.plugin.client.account";
13
+ var id = `!${_id}`;
14
+ var Profile = `${_id}.profile`;
15
+ var Devices = `${_id}.devices`;
16
+ var Security = `${_id}.security`;
17
+ var Account = `${_id}.account`;
18
+ var Invitations = `${_id}.invitations`;
19
+ var Usage = `${_id}.usage`;
20
+ //#endregion
21
+ export { Account, Devices, Invitations, Profile, Security, Usage, id, Account_exports as t };
22
+
23
+ //# sourceMappingURL=Account.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Account.mjs","names":[],"sources":["../../src/types/Account.ts"],"sourcesContent":["//\n// Copyright 2024 DXOS.org\n//\n\n// TODO(wittjosiah): Cannot use slashes in ids until we have a router which decouples ids from url paths.\nconst _id = 'dxos.org.plugin.client.account';\n// TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.\n// Ideally this should be worked into the data model in a generic way.\nexport const id = `!${_id}`;\n\nexport const Profile = `${_id}.profile`;\nexport const Devices = `${_id}.devices`;\nexport const Security = `${_id}.security`;\nexport const Account = `${_id}.account`;\nexport const Invitations = `${_id}.invitations`;\nexport const Usage = `${_id}.usage`;\n"],"mappings":";;;;;;;;;;;AAKA,IAAM,MAAM;AAGZ,IAAa,KAAK,IAAI;AAEtB,IAAa,UAAU,GAAG,IAAI;AAC9B,IAAa,UAAU,GAAG,IAAI;AAC9B,IAAa,WAAW,GAAG,IAAI;AAC/B,IAAa,UAAU,GAAG,IAAI;AAC9B,IAAa,cAAc,GAAG,IAAI;AAClC,IAAa,QAAQ,GAAG,IAAI"}
@@ -0,0 +1,30 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import * as Schema from "effect/Schema";
3
+ //#region src/types/AccountCache.ts
4
+ var AccountCache_exports = /* @__PURE__ */ __exportAll({ AccountCache: () => AccountCache });
5
+ var AccountCacheValue = Schema.Struct({
6
+ identityDid: Schema.String,
7
+ email: Schema.String,
8
+ emailVerified: Schema.Boolean,
9
+ /** ISO timestamp. */
10
+ createdAt: Schema.String,
11
+ invitationsRemaining: Schema.Number
12
+ });
13
+ var AccountCacheInvitation = Schema.Struct({
14
+ code: Schema.String,
15
+ /** ISO timestamp. */
16
+ createdAt: Schema.String,
17
+ redeemedByIdentityDid: Schema.optional(Schema.String),
18
+ /** ISO timestamp. */
19
+ redeemedAt: Schema.optional(Schema.String)
20
+ });
21
+ var AccountCache = Schema.Struct({
22
+ account: Schema.optional(AccountCacheValue),
23
+ invitations: Schema.optional(Schema.Array(AccountCacheInvitation)),
24
+ /** Epoch ms when the cache was last refreshed. */
25
+ fetchedAt: Schema.optional(Schema.Number)
26
+ });
27
+ //#endregion
28
+ export { AccountCache, AccountCache_exports as t };
29
+
30
+ //# sourceMappingURL=AccountCache.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountCache.mjs","names":[],"sources":["../../src/types/AccountCache.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nconst AccountCacheValue = Schema.Struct({\n identityDid: Schema.String,\n email: Schema.String,\n emailVerified: Schema.Boolean,\n /** ISO timestamp. */\n createdAt: Schema.String,\n invitationsRemaining: Schema.Number,\n});\nexport type AccountCacheValue = Schema.Schema.Type<typeof AccountCacheValue>;\n\nconst AccountCacheInvitation = Schema.Struct({\n code: Schema.String,\n /** ISO timestamp. */\n createdAt: Schema.String,\n redeemedByIdentityDid: Schema.optional(Schema.String),\n /** ISO timestamp. */\n redeemedAt: Schema.optional(Schema.String),\n});\nexport type AccountCacheInvitation = Schema.Schema.Type<typeof AccountCacheInvitation>;\n\nexport const AccountCache = Schema.Struct({\n account: Schema.optional(AccountCacheValue),\n invitations: Schema.optional(Schema.Array(AccountCacheInvitation)),\n /** Epoch ms when the cache was last refreshed. */\n fetchedAt: Schema.optional(Schema.Number),\n});\nexport type AccountCache = Schema.Schema.Type<typeof AccountCache>;\n"],"mappings":";;;;AAMA,IAAM,oBAAoB,OAAO,OAAO;CACtC,aAAa,OAAO;CACpB,OAAO,OAAO;CACd,eAAe,OAAO;;CAEtB,WAAW,OAAO;CAClB,sBAAsB,OAAO;AAC/B,CAAC;AAGD,IAAM,yBAAyB,OAAO,OAAO;CAC3C,MAAM,OAAO;;CAEb,WAAW,OAAO;CAClB,uBAAuB,OAAO,SAAS,OAAO,MAAM;;CAEpD,YAAY,OAAO,SAAS,OAAO,MAAM;AAC3C,CAAC;AAGD,IAAa,eAAe,OAAO,OAAO;CACxC,SAAS,OAAO,SAAS,iBAAiB;CAC1C,aAAa,OAAO,SAAS,OAAO,MAAM,sBAAsB,CAAC;;CAEjE,WAAW,OAAO,SAAS,OAAO,MAAM;AAC1C,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import { meta } from "#meta";
3
+ import * as Schema from "effect/Schema";
4
+ import { IdentityDid, SpaceId } from "@dxos/keys";
5
+ //#region src/types/ClientAction.ts
6
+ var ClientAction_exports = /* @__PURE__ */ __exportAll({
7
+ CreateAgent: () => CreateAgent,
8
+ CreateIdentity: () => CreateIdentity,
9
+ CreatePasskey: () => CreatePasskey,
10
+ CreateRecoveryCode: () => CreateRecoveryCode,
11
+ JoinIdentity: () => JoinIdentity,
12
+ RecoverIdentity: () => RecoverIdentity,
13
+ RedeemPasskey: () => RedeemPasskey,
14
+ RedeemToken: () => RedeemToken,
15
+ ResetStorage: () => ResetStorage,
16
+ ShareIdentity: () => ShareIdentity
17
+ });
18
+ var IdentitySchema = Schema.Struct({
19
+ identityDid: IdentityDid,
20
+ spaceId: Schema.optional(SpaceId),
21
+ profile: Schema.optional(Schema.Struct({
22
+ displayName: Schema.optional(Schema.String),
23
+ avatarCid: Schema.optional(Schema.String),
24
+ data: Schema.optional(Schema.Record(Schema.String, Schema.Any))
25
+ }))
26
+ });
27
+ var ProfileSchema = Schema.Struct({
28
+ displayName: Schema.optional(Schema.String),
29
+ avatarCid: Schema.optional(Schema.String),
30
+ data: Schema.optional(Schema.Record(Schema.String, Schema.Any))
31
+ });
32
+ var CreateIdentity = class extends Schema.TaggedClass()(`${meta.profile.key}.action.create-identity`, {
33
+ input: ProfileSchema,
34
+ output: IdentitySchema
35
+ }) {};
36
+ var JoinIdentity = class extends Schema.TaggedClass()(`${meta.profile.key}.action.join-identity`, {
37
+ input: Schema.Struct({ invitationCode: Schema.optional(Schema.String) }),
38
+ output: Schema.Void
39
+ }) {};
40
+ var ShareIdentity = class extends Schema.TaggedClass()(`${meta.profile.key}.action.share-identity`, {
41
+ input: Schema.Void,
42
+ output: Schema.Void
43
+ }) {};
44
+ var RecoverIdentity = class extends Schema.TaggedClass()(`${meta.profile.key}.action.recover-identity`, {
45
+ input: Schema.Void,
46
+ output: Schema.Void
47
+ }) {};
48
+ var ResetStorage = class extends Schema.TaggedClass()(`${meta.profile.key}.action.reset-storage`, {
49
+ input: Schema.Struct({ mode: Schema.optional(Schema.String) }),
50
+ output: Schema.Void
51
+ }) {};
52
+ var CreateAgent = class extends Schema.TaggedClass()(`${meta.profile.key}.action.create-agent`, {
53
+ input: Schema.Void,
54
+ output: Schema.Void
55
+ }) {};
56
+ var CreateRecoveryCode = class extends Schema.TaggedClass()(`${meta.profile.key}.action.create-recovery-code`, {
57
+ input: Schema.Void,
58
+ output: Schema.Void
59
+ }) {};
60
+ var CreatePasskey = class extends Schema.TaggedClass()(`${meta.profile.key}.action.create-passkey`, {
61
+ input: Schema.Void,
62
+ output: Schema.Void
63
+ }) {};
64
+ var RedeemPasskey = class extends Schema.TaggedClass()(`${meta.profile.key}.action.redeem-passkey`, {
65
+ input: Schema.Void,
66
+ output: Schema.Void
67
+ }) {};
68
+ var RedeemToken = class extends Schema.TaggedClass()(`${meta.profile.key}.action.redeem-token`, {
69
+ input: Schema.Struct({ token: Schema.String }),
70
+ output: Schema.Void
71
+ }) {};
72
+ //#endregion
73
+ export { CreateAgent, CreateIdentity, CreatePasskey, CreateRecoveryCode, JoinIdentity, RecoverIdentity, RedeemPasskey, RedeemToken, ResetStorage, ShareIdentity, ClientAction_exports as t };
74
+
75
+ //# sourceMappingURL=ClientAction.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientAction.mjs","names":[],"sources":["../../src/types/ClientAction.ts"],"sourcesContent":["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { IdentityDid, SpaceId } from '@dxos/keys';\n\nimport { meta } from '#meta';\n\n// TODO(wittjosiah): Factor out. Generate?\nconst IdentitySchema = Schema.Struct({\n identityDid: IdentityDid,\n spaceId: Schema.optional(SpaceId),\n profile: Schema.optional(\n Schema.Struct({\n displayName: Schema.optional(Schema.String),\n avatarCid: Schema.optional(Schema.String),\n data: Schema.optional(Schema.Record(Schema.String, Schema.Any)),\n }),\n ),\n});\n\nconst ProfileSchema = Schema.Struct({\n displayName: Schema.optional(Schema.String),\n avatarCid: Schema.optional(Schema.String),\n data: Schema.optional(Schema.Record(Schema.String, Schema.Any)),\n});\n\nexport class CreateIdentity extends Schema.TaggedClass<CreateIdentity>()(`${meta.profile.key}.action.create-identity`, {\n input: ProfileSchema,\n output: IdentitySchema,\n}) {}\n\nexport class JoinIdentity extends Schema.TaggedClass<JoinIdentity>()(`${meta.profile.key}.action.join-identity`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n}) {}\n\nexport class ShareIdentity extends Schema.TaggedClass<ShareIdentity>()(`${meta.profile.key}.action.share-identity`, {\n input: Schema.Void,\n output: Schema.Void,\n}) {}\n\nexport class RecoverIdentity extends Schema.TaggedClass<RecoverIdentity>()(\n `${meta.profile.key}.action.recover-identity`,\n {\n input: Schema.Void,\n output: Schema.Void,\n },\n) {}\n\nexport class ResetStorage extends Schema.TaggedClass<ResetStorage>()(`${meta.profile.key}.action.reset-storage`, {\n input: Schema.Struct({\n mode: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n}) {}\n\nexport class CreateAgent extends Schema.TaggedClass<CreateAgent>()(`${meta.profile.key}.action.create-agent`, {\n input: Schema.Void,\n output: Schema.Void,\n}) {}\n\nexport class CreateRecoveryCode extends Schema.TaggedClass<CreateRecoveryCode>()(\n `${meta.profile.key}.action.create-recovery-code`,\n {\n input: Schema.Void,\n output: Schema.Void,\n },\n) {}\n\nexport class CreatePasskey extends Schema.TaggedClass<CreatePasskey>()(`${meta.profile.key}.action.create-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n}) {}\n\nexport class RedeemPasskey extends Schema.TaggedClass<RedeemPasskey>()(`${meta.profile.key}.action.redeem-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n}) {}\n\nexport class RedeemToken extends Schema.TaggedClass<RedeemToken>()(`${meta.profile.key}.action.redeem-token`, {\n input: Schema.Struct({\n token: Schema.String,\n }),\n output: Schema.Void,\n}) {}\n"],"mappings":";;;;;;;;;;;;;;;;;AAWA,IAAM,iBAAiB,OAAO,OAAO;CACnC,aAAa;CACb,SAAS,OAAO,SAAS,OAAO;CAChC,SAAS,OAAO,SACd,OAAO,OAAO;EACZ,aAAa,OAAO,SAAS,OAAO,MAAM;EAC1C,WAAW,OAAO,SAAS,OAAO,MAAM;EACxC,MAAM,OAAO,SAAS,OAAO,OAAO,OAAO,QAAQ,OAAO,GAAG,CAAC;CAChE,CAAC,CACH;AACF,CAAC;AAED,IAAM,gBAAgB,OAAO,OAAO;CAClC,aAAa,OAAO,SAAS,OAAO,MAAM;CAC1C,WAAW,OAAO,SAAS,OAAO,MAAM;CACxC,MAAM,OAAO,SAAS,OAAO,OAAO,OAAO,QAAQ,OAAO,GAAG,CAAC;AAChE,CAAC;AAED,IAAa,iBAAb,cAAoC,OAAO,YAA4B,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,0BAA0B;CACrH,OAAO;CACP,QAAQ;AACV,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,eAAb,cAAkC,OAAO,YAA0B,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,wBAAwB;CAC/G,OAAO,OAAO,OAAO,EACnB,gBAAgB,OAAO,SAAS,OAAO,MAAM,EAC/C,CAAC;CACD,QAAQ,OAAO;AACjB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,gBAAb,cAAmC,OAAO,YAA2B,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,yBAAyB;CAClH,OAAO,OAAO;CACd,QAAQ,OAAO;AACjB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,kBAAb,cAAqC,OAAO,YAA6B,CAAC,CACxE,GAAG,KAAK,QAAQ,IAAI,2BACpB;CACE,OAAO,OAAO;CACd,QAAQ,OAAO;AACjB,CACF,CAAC,CAAC,CAAC;AAEH,IAAa,eAAb,cAAkC,OAAO,YAA0B,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,wBAAwB;CAC/G,OAAO,OAAO,OAAO,EACnB,MAAM,OAAO,SAAS,OAAO,MAAM,EACrC,CAAC;CACD,QAAQ,OAAO;AACjB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,cAAb,cAAiC,OAAO,YAAyB,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,uBAAuB;CAC5G,OAAO,OAAO;CACd,QAAQ,OAAO;AACjB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,qBAAb,cAAwC,OAAO,YAAgC,CAAC,CAC9E,GAAG,KAAK,QAAQ,IAAI,+BACpB;CACE,OAAO,OAAO;CACd,QAAQ,OAAO;AACjB,CACF,CAAC,CAAC,CAAC;AAEH,IAAa,gBAAb,cAAmC,OAAO,YAA2B,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,yBAAyB;CAClH,OAAO,OAAO;CACd,QAAQ,OAAO;AACjB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,gBAAb,cAAmC,OAAO,YAA2B,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,yBAAyB;CAClH,OAAO,OAAO;CACd,QAAQ,OAAO;AACjB,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,cAAb,cAAiC,OAAO,YAAyB,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,uBAAuB;CAC5G,OAAO,OAAO,OAAO,EACnB,OAAO,OAAO,OAChB,CAAC;CACD,QAAQ,OAAO;AACjB,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import * as Capability from "@dxos/app-framework/Capability";
3
+ import { meta } from "#meta";
4
+ //#region src/types/ClientCapabilities.ts
5
+ var ClientCapabilities_exports = /* @__PURE__ */ __exportAll({
6
+ AccountCache: () => AccountCache,
7
+ Client: () => Client,
8
+ HubHttpClient: () => HubHttpClient,
9
+ IdentityService: () => IdentityService,
10
+ Migration: () => Migration,
11
+ Schema: () => Schema,
12
+ SchemaRegistered: () => SchemaRegistered,
13
+ SpaceService: () => SpaceService
14
+ });
15
+ var Client = Capability.makeSingleton()(`${meta.profile.key}.capability.client`);
16
+ var Schema = Capability.make()(`${meta.profile.key}.capability.schema`);
17
+ /**
18
+ * Ordering marker for modules that create typed objects: requiring `Schema` only orders after the
19
+ * schema PROVIDERS, which says nothing about `SchemaDefs`, the fellow consumer that registers them.
20
+ * `true` rather than `void` — the loader reads an `undefined` implementation as not contributed.
21
+ */
22
+ var SchemaRegistered = Capability.makeSingleton()(`${meta.profile.key}.capability.schemaRegistered`);
23
+ var Migration = Capability.make()(`${meta.profile.key}.capability.migration`);
24
+ var AccountCache = Capability.makeSingleton()(`${meta.profile.key}.capability.accountCache`);
25
+ var HubHttpClient = Capability.makeSingleton()(`${meta.profile.key}.capability.hubHttpClient`);
26
+ /**
27
+ * The HALO Identity service instance, for imperative (non-React, non-Effect-layer) consumers
28
+ * that need identity access without depending on `@dxos/client`.
29
+ */
30
+ var IdentityService = Capability.makeSingleton()(`${meta.profile.key}.capability.identityService`);
31
+ /** The HALO Space service instance, for imperative consumers. */
32
+ var SpaceService = Capability.makeSingleton()(`${meta.profile.key}.capability.spaceService`);
33
+ //#endregion
34
+ export { AccountCache, Client, HubHttpClient, IdentityService, Migration, Schema, SchemaRegistered, SpaceService, ClientCapabilities_exports as t };
35
+
36
+ //# sourceMappingURL=ClientCapabilities.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientCapabilities.mjs","names":[],"sources":["../../src/types/ClientCapabilities.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Atom from 'effect/unstable/reactivity/Atom';\n\nimport * as Capability from '@dxos/app-framework/Capability';\n// Aliased: unwrapping the enclosing `namespace` put these in the same scope as the\n// capabilities named after them.\nimport { type Client as Client$ } from '@dxos/client';\nimport { type Type, type Migration as Migration$ } from '@dxos/echo';\nimport { type HubHttpClient as HubHttpClient$ } from '@dxos/edge-client';\nimport { type Identity as Identity$, type Space as Space$ } from '@dxos/halo';\n\nimport { meta } from '#meta';\n\nimport { type AccountCache as AccountCacheType } from './AccountCache';\n\nexport const Client = Capability.makeSingleton<Client$>()(`${meta.profile.key}.capability.client`);\nexport const Schema = Capability.make<Type.AnyEntity[]>()(`${meta.profile.key}.capability.schema`);\n/**\n * Ordering marker for modules that create typed objects: requiring `Schema` only orders after the\n * schema PROVIDERS, which says nothing about `SchemaDefs`, the fellow consumer that registers them.\n * `true` rather than `void` — the loader reads an `undefined` implementation as not contributed.\n */\nexport const SchemaRegistered = Capability.makeSingleton<true>()(`${meta.profile.key}.capability.schemaRegistered`);\nexport const Migration = Capability.make<Migration$.Migration[]>()(`${meta.profile.key}.capability.migration`);\nexport const AccountCache = Capability.makeSingleton<Atom.Writable<AccountCacheType>>()(\n `${meta.profile.key}.capability.accountCache`,\n);\nexport const HubHttpClient = Capability.makeSingleton<HubHttpClient$>()(`${meta.profile.key}.capability.hubHttpClient`);\n\n/**\n * The HALO Identity service instance, for imperative (non-React, non-Effect-layer) consumers\n * that need identity access without depending on `@dxos/client`.\n */\nexport const IdentityService = Capability.makeSingleton<Identity$.ServiceApi>()(\n `${meta.profile.key}.capability.identityService`,\n);\n/** The HALO Space service instance, for imperative consumers. */\nexport const SpaceService = Capability.makeSingleton<Space$.ServiceApi>()(\n `${meta.profile.key}.capability.spaceService`,\n);\n"],"mappings":";;;;;;;;;;;;;;AAkBA,IAAa,SAAS,WAAW,cAAuB,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,mBAAmB;AACjG,IAAa,SAAS,WAAW,KAAuB,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,mBAAmB;;;;;;AAMjG,IAAa,mBAAmB,WAAW,cAAoB,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,6BAA6B;AAClH,IAAa,YAAY,WAAW,KAA6B,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,sBAAsB;AAC7G,IAAa,eAAe,WAAW,cAA+C,CAAC,CACrF,GAAG,KAAK,QAAQ,IAAI,yBACtB;AACA,IAAa,gBAAgB,WAAW,cAA8B,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,0BAA0B;;;;;AAMtH,IAAa,kBAAkB,WAAW,cAAoC,CAAC,CAC7E,GAAG,KAAK,QAAQ,IAAI,4BACtB;;AAEA,IAAa,eAAe,WAAW,cAAiC,CAAC,CACvE,GAAG,KAAK,QAAQ,IAAI,yBACtB"}
@@ -0,0 +1,21 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import { meta } from "#meta";
3
+ import * as ActivationEvent from "@dxos/app-framework/ActivationEvent";
4
+ //#region src/types/ClientEvents.ts
5
+ var ClientEvents_exports = /* @__PURE__ */ __exportAll({
6
+ IdentityCreated: () => IdentityCreated,
7
+ Initialized: () => Initialized,
8
+ SpacesReady: () => SpacesReady
9
+ });
10
+ /**
11
+ * Runtime event: `client.initialize()` (forked off the startup pass) has completed. Modules
12
+ * whose activation bodies need an initialized client (sync `halo`/`spaces` reads) ride this
13
+ * instead of the startup dependency pass, which no longer implies initialization.
14
+ */
15
+ var Initialized = ActivationEvent.make(`${meta.profile.key}.event.initialized`);
16
+ var IdentityCreated = ActivationEvent.make(`${meta.profile.key}.event.identityCreated`);
17
+ var SpacesReady = ActivationEvent.make(`${meta.profile.key}.event.spacesReady`);
18
+ //#endregion
19
+ export { IdentityCreated, Initialized, SpacesReady, ClientEvents_exports as t };
20
+
21
+ //# sourceMappingURL=ClientEvents.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientEvents.mjs","names":[],"sources":["../../src/types/ClientEvents.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as ActivationEvent from '@dxos/app-framework/ActivationEvent';\n\nimport { meta } from '#meta';\n\n/**\n * Runtime event: `client.initialize()` (forked off the startup pass) has completed. Modules\n * whose activation bodies need an initialized client (sync `halo`/`spaces` reads) ride this\n * instead of the startup dependency pass, which no longer implies initialization.\n */\nexport const Initialized = ActivationEvent.make(`${meta.profile.key}.event.initialized`);\nexport const IdentityCreated = ActivationEvent.make(`${meta.profile.key}.event.identityCreated`);\nexport const SpacesReady = ActivationEvent.make(`${meta.profile.key}.event.spacesReady`);\n"],"mappings":";;;;;;;;;;;;;;AAaA,IAAa,cAAc,gBAAgB,KAAK,GAAG,KAAK,QAAQ,IAAI,mBAAmB;AACvF,IAAa,kBAAkB,gBAAgB,KAAK,GAAG,KAAK,QAAQ,IAAI,uBAAuB;AAC/F,IAAa,cAAc,gBAAgB,KAAK,GAAG,KAAK,QAAQ,IAAI,mBAAmB"}
@@ -0,0 +1,7 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ //#region src/types/ClientOptions.ts
3
+ var ClientOptions_exports = /* @__PURE__ */ __exportAll({});
4
+ //#endregion
5
+ export { ClientOptions_exports as t };
6
+
7
+ //# sourceMappingURL=ClientOptions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientOptions.mjs","names":[],"sources":["../../src/types/ClientOptions.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport type * as Effect from 'effect/Effect';\n\nimport * as Capability from '@dxos/app-framework/Capability';\nimport { type Client, type ClientOptions } from '@dxos/client';\n\nexport type ClientPluginOptions = ClientOptions & {\n /**\n * A client to adopt instead of constructing one, so a host can start `initialize()` at entry\n * rather than when activation reaches this lazily-imported module. `@synchronized`, so the\n * plugin's own call joins it; lifecycle stays with the plugin, which destroys it on teardown.\n */\n client?: Client;\n\n /**\n * Whether the navigation handler consumes invitation codes from URL query params.\n * Disable when another plugin (e.g. plugin-onboarding) owns the invitation URL flow.\n * @default true\n */\n invitationUrlHandler?: boolean;\n\n /**\n * Base origin for the invitation link.\n */\n shareableLinkOrigin?: string;\n\n /**\n * Surface the identity-swapping actions kept for testing: join another identity by device\n * invitation, or restore one from a recovery code. Both wipe local storage before they run, so\n * an app whose onboarding gate offers the same flows on a clean profile should pass the inverse\n * of that gate's condition rather than expose them to real users.\n * @default false\n */\n identityTestActions?: boolean;\n\n /**\n * Path for the invitation link.\n */\n invitationPath?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationProp?: string;\n\n /**\n * Run after the client has been initialized.\n * Plugin context is provided so capabilities are accessible.\n */\n onClientInitialized?: (params: { client: Client }) => Effect.Effect<void, Error | never, Capability.Service | never>;\n\n /**\n * Called when the forked `client.initialize()` fails or exceeds `initializeTimeout`.\n *\n * The initialization runs outside the render tree, so nothing surfaces a failure on its own —\n * consumers suspended on the client simply keep waiting. Apps supply this to raise it as a\n * fatal error (Composer shows the reset dialog).\n */\n onClientInitializationError?: (params: {\n error: unknown;\n }) => Effect.Effect<void, Error | never, Capability.Service | never>;\n\n /**\n * Bounds the wait on `client.initialize()` before `onClientInitializationError` fires.\n * @default INITIALIZE_TIMEOUT\n */\n initializeTimeout?: number;\n\n /**\n * Gate the contributed `ClientService` on initialization, so resolving it yields a client whose\n * `halo`/`spaces`/`services` getters are safe to touch.\n *\n * For imperative hosts (the CLI): a command body runs straight through, so an ungated service\n * hands it a client whose getters still throw `Client not initialized`. Leave it off in the app,\n * where the forked initialization is the point — React consumers suspend on the client instead,\n * and blocking the service would stall the boot waterfall.\n *\n * @default false\n */\n awaitInitialization?: boolean;\n\n /**\n * Called when spaces are ready.\n * Plugin context is provided so capabilities are accessible.\n */\n onSpacesReady?: (params: { client: Client }) => Effect.Effect<void, Error | never, Capability.Service | never>;\n\n /**\n * Called when the client is reset.\n * Plugin context is provided so capabilities are accessible.\n */\n onReset?: (params: { target?: string }) => Effect.Effect<void, Error | never, Capability.Service | never>;\n};\n"],"mappings":""}
@@ -1,65 +1,16 @@
1
- import { ActivationEvent, ActivationEvents, Capability, Plugin } from "@dxos/app-framework";
2
- import { meta } from "#meta";
3
- import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
4
- import { AccountCache, AppGraphBuilder, Client, HubHttpClient, LayerSpecs, Migrations, NavigationHandler, NavigationTargetLoader, OperationHandler, ReactContext, ReactSurface, RemoteTraceMonitor, SchemaDefs, SpaceReplicationProgress, TraceProgress } from "#capabilities";
5
- import { translations } from "#translations";
6
- import { ClientEvents } from "#types";
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import * as Plugin from "@dxos/app-framework/Plugin";
3
+ import { meta as meta$1 } from "#meta";
7
4
  //#region src/ClientPlugin.ts
8
- var ClientPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }), AppPlugin.addNavigationHandlerModule(({ invitationProp, invitationUrlHandler }) => ({ activate: () => NavigationHandler({
9
- invitationProp,
10
- invitationUrlHandler
11
- }) })), AppPlugin.addOperationHandlerModule({ activate: OperationHandler }), AppPlugin.addReactContextModule({ activate: ReactContext }), AppPlugin.addTranslationsModule({ translations }), Plugin.addModule((options) => {
12
- return {
13
- id: Capability.getModuleTag(Client),
14
- activatesOn: ActivationEvent.oneOf(ActivationEvents.Startup, AppActivationEvents.SetupAppGraph),
15
- firesAfterActivation: [ClientEvents.ClientReady],
16
- activate: () => Client(options)
17
- };
18
- }), Plugin.addModule({
19
- activatesOn: ClientEvents.ClientReady,
20
- activate: AccountCache
21
- }), Plugin.addModule({
22
- activatesOn: ClientEvents.ClientReady,
23
- activate: NavigationTargetLoader
24
- }), Plugin.addModule({
25
- activatesOn: ClientEvents.ClientReady,
26
- activate: HubHttpClient
27
- }), Plugin.addModule({
28
- activatesOn: ClientEvents.ClientReady,
29
- firesBeforeActivation: [AppActivationEvents.SetupSchema],
30
- activate: SchemaDefs
31
- }), Plugin.addModule({
32
- activatesOn: ClientEvents.ClientReady,
33
- firesBeforeActivation: [ClientEvents.SetupMigration],
34
- activate: Migrations
35
- }), Plugin.addModule({
36
- activatesOn: ActivationEvent.allOf(ClientEvents.SpacesReady, AppActivationEvents.ProgressRegistryReady),
37
- activate: SpaceReplicationProgress
38
- }), Plugin.addModule({
39
- activatesOn: ActivationEvent.allOf(ClientEvents.SpacesReady, AppActivationEvents.ProgressRegistryReady),
40
- activate: TraceProgress
41
- }), Plugin.addModule({
42
- activatesOn: ActivationEvents.SetupProcessManager,
43
- activate: LayerSpecs
44
- }), Plugin.addModule({
45
- activatesOn: ActivationEvents.SetupProcessManager,
46
- activate: RemoteTraceMonitor
47
- }), Plugin.addModule(({ shareableLinkOrigin = typeof window !== "undefined" ? window.location.origin : "http://localhost", invitationPath = "/", invitationProp = "deviceInvitationCode", onReset }) => {
48
- const createInvitationUrl = (invitationCode) => {
49
- const baseUrl = new URL(invitationPath || "/", shareableLinkOrigin);
50
- baseUrl.searchParams.set(invitationProp, invitationCode);
51
- return baseUrl.toString();
52
- };
53
- return {
54
- id: Capability.getModuleTag(ReactSurface),
55
- activatesOn: ActivationEvents.SetupReactSurface,
56
- activate: () => ReactSurface({
57
- createInvitationUrl,
58
- onReset
59
- })
60
- };
61
- }), Plugin.make);
5
+ var ClientPlugin_exports = /* @__PURE__ */ __exportAll({
6
+ make: () => make,
7
+ meta: () => meta
8
+ });
9
+ /** Plugin metadata, available without loading the plugin body. */
10
+ var meta = meta$1;
11
+ /** Constructs the plugin; the body loads on first enable. */
12
+ var make = Plugin.lazy(meta, () => import("#plugin"));
62
13
  //#endregion
63
- export { ClientPlugin, ClientPlugin as default };
14
+ export { make, meta, ClientPlugin_exports as t };
64
15
 
65
16
  //# sourceMappingURL=ClientPlugin.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientPlugin.mjs","names":[],"sources":["../../src/ClientPlugin.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent, ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\n\nimport {\n AccountCache,\n AppGraphBuilder,\n Client,\n HubHttpClient,\n LayerSpecs,\n Migrations,\n NavigationHandler,\n NavigationTargetLoader,\n OperationHandler,\n ReactContext,\n ReactSurface,\n RemoteTraceMonitor,\n SchemaDefs,\n SpaceReplicationProgress,\n TraceProgress,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { ClientEvents } from '#types';\nimport { type ClientPluginOptions } from '#types';\n\nexport const ClientPlugin = Plugin.define<ClientPluginOptions>(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addNavigationHandlerModule(({ invitationProp, invitationUrlHandler }) => ({\n activate: () => NavigationHandler({ invitationProp, invitationUrlHandler }),\n })),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addReactContextModule({ activate: ReactContext }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule((options) => {\n return {\n id: Capability.getModuleTag(Client),\n activatesOn: ActivationEvent.oneOf(ActivationEvents.Startup, AppActivationEvents.SetupAppGraph),\n firesAfterActivation: [ClientEvents.ClientReady],\n activate: () => Client(options),\n };\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n activate: AccountCache,\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n activate: NavigationTargetLoader,\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n activate: HubHttpClient,\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n firesBeforeActivation: [AppActivationEvents.SetupSchema],\n activate: SchemaDefs,\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n firesBeforeActivation: [ClientEvents.SetupMigration],\n activate: Migrations,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvent.allOf(ClientEvents.SpacesReady, AppActivationEvents.ProgressRegistryReady),\n activate: SpaceReplicationProgress,\n }),\n // Project remote (edge) trace progress into the registry (DX-1125). Same activation as\n // SpaceReplicationProgress: process-manager runtime, monitor, and registry are all available.\n Plugin.addModule({\n activatesOn: ActivationEvent.allOf(ClientEvents.SpacesReady, AppActivationEvents.ProgressRegistryReady),\n activate: TraceProgress,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: LayerSpecs,\n }),\n // Swarm-backed remote trace source (DX-1125). Collected when the process-manager runtime is built.\n Plugin.addModule({\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: RemoteTraceMonitor,\n }),\n Plugin.addModule(\n ({\n shareableLinkOrigin = typeof window !== 'undefined' ? window.location.origin : 'http://localhost',\n invitationPath = '/',\n invitationProp = 'deviceInvitationCode',\n onReset,\n }) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationPath || '/', shareableLinkOrigin);\n baseUrl.searchParams.set(invitationProp, invitationCode);\n return baseUrl.toString();\n };\n\n return {\n id: Capability.getModuleTag(ReactSurface),\n activatesOn: ActivationEvents.SetupReactSurface,\n activate: () => ReactSurface({ createInvitationUrl, onReset }),\n };\n },\n ),\n Plugin.make,\n);\n\nexport default ClientPlugin;\n"],"mappings":";;;;;;;AA6BA,IAAa,eAAe,OAAO,OAA4B,IAAI,CAAC,CAAC,KACnE,UAAU,kBAAkB,EAAE,UAAU,gBAAgB,CAAC,GACzD,UAAU,4BAA4B,EAAE,gBAAgB,4BAA4B,EAClF,gBAAgB,kBAAkB;CAAE;CAAgB;AAAqB,CAAC,EAC5E,EAAE,GACF,UAAU,0BAA0B,EAAE,UAAU,iBAAiB,CAAC,GAClE,UAAU,sBAAsB,EAAE,UAAU,aAAa,CAAC,GAC1D,UAAU,sBAAsB,EAAE,aAAa,CAAC,GAChD,OAAO,WAAW,YAAY;CAC5B,OAAO;EACL,IAAI,WAAW,aAAa,MAAM;EAClC,aAAa,gBAAgB,MAAM,iBAAiB,SAAS,oBAAoB,aAAa;EAC9F,sBAAsB,CAAC,aAAa,WAAW;EAC/C,gBAAgB,OAAO,OAAO;CAChC;AACF,CAAC,GACD,OAAO,UAAU;CACf,aAAa,aAAa;CAC1B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,aAAa;CAC1B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,aAAa;CAC1B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,aAAa;CAC1B,uBAAuB,CAAC,oBAAoB,WAAW;CACvD,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,aAAa;CAC1B,uBAAuB,CAAC,aAAa,cAAc;CACnD,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,gBAAgB,MAAM,aAAa,aAAa,oBAAoB,qBAAqB;CACtG,UAAU;AACZ,CAAC,GAGD,OAAO,UAAU;CACf,aAAa,gBAAgB,MAAM,aAAa,aAAa,oBAAoB,qBAAqB;CACtG,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,GAED,OAAO,UAAU;CACf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,GACD,OAAO,WACJ,EACC,sBAAsB,OAAO,WAAW,cAAc,OAAO,SAAS,SAAS,oBAC/E,iBAAiB,KACjB,iBAAiB,wBACjB,cACI;CACJ,MAAM,uBAAuB,mBAA2B;EACtD,MAAM,UAAU,IAAI,IAAI,kBAAkB,KAAK,mBAAmB;EAClE,QAAQ,aAAa,IAAI,gBAAgB,cAAc;EACvD,OAAO,QAAQ,SAAS;CAC1B;CAEA,OAAO;EACL,IAAI,WAAW,aAAa,YAAY;EACxC,aAAa,iBAAiB;EAC9B,gBAAgB,aAAa;GAAE;GAAqB;EAAQ,CAAC;CAC/D;AACF,CACF,GACA,OAAO,IACT"}
1
+ {"version":3,"file":"ClientPlugin.mjs","names":[],"sources":["../../src/ClientPlugin.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Plugin from '@dxos/app-framework/Plugin';\n\nimport { meta as pluginMeta } from '#meta';\n\n/** Plugin metadata, available without loading the plugin body. */\nexport const meta = pluginMeta;\n\n/** Constructs the plugin; the body loads on first enable. */\nexport const make = Plugin.lazy(meta, () => import('#plugin'));\n"],"mappings":";;;;;;;;;AAWA,IAAa,OAAO;;AAGpB,IAAa,OAAO,OAAO,KAAK,YAAY,OAAO,UAAU"}
@@ -0,0 +1,42 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import { BaseError } from "@dxos/errors";
3
+ //#region src/types/PasskeyError.ts
4
+ var PasskeyError_exports = /* @__PURE__ */ __exportAll({
5
+ Dismissed: () => Dismissed,
6
+ LoginFailed: () => LoginFailed,
7
+ Rejected: () => Rejected,
8
+ classify: () => classify,
9
+ fromAssertion: () => fromAssertion
10
+ });
11
+ /**
12
+ * The platform prompt produced no assertion. WebAuthn reports a dismissed prompt and
13
+ * "this device has no passkey for this site" identically, so the two cannot be told apart.
14
+ */
15
+ var Dismissed = class extends BaseError.extend("PasskeyDismissedError", "No passkey was presented") {};
16
+ /** The assertion was refused: the passkey is not registered as a recovery credential for any identity. */
17
+ var Rejected = class extends BaseError.extend("PasskeyRejectedError", "Passkey was not accepted") {};
18
+ /** Passkey login failed before an assertion could be checked (service unreachable, unusable authenticator response). */
19
+ var LoginFailed = class extends BaseError.extend("PasskeyLoginError", "Passkey login failed") {};
20
+ /**
21
+ * Classify a rejection from the authenticator. WebAuthn reports a dismissed prompt and
22
+ * "no credential for this site" as the same `NotAllowedError`, so both map to dismissal;
23
+ * the native (Tauri) bridge rejects with a plain string rather than a `DOMException`.
24
+ */
25
+ var fromAssertion = (error) => {
26
+ const name = error instanceof DOMException ? error.name : void 0;
27
+ if (name === "NotAllowedError" || name === "AbortError" || /cancell?ed/i.test(String(error))) return new Dismissed({ cause: error });
28
+ return new LoginFailed({ cause: error });
29
+ };
30
+ /**
31
+ * Classify an error returned by the `RedeemPasskey` operation.
32
+ * Anything unrecognized is reported as a generic failure rather than swallowed.
33
+ */
34
+ var classify = (error) => {
35
+ if (Dismissed.is(error)) return "dismissed";
36
+ if (Rejected.is(error)) return "rejected";
37
+ return "failed";
38
+ };
39
+ //#endregion
40
+ export { Dismissed, LoginFailed, Rejected, classify, fromAssertion, PasskeyError_exports as t };
41
+
42
+ //# sourceMappingURL=PasskeyError.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasskeyError.mjs","names":[],"sources":["../../src/types/PasskeyError.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { BaseError } from '@dxos/errors';\n\n/**\n * The platform prompt produced no assertion. WebAuthn reports a dismissed prompt and\n * \"this device has no passkey for this site\" identically, so the two cannot be told apart.\n */\nexport class Dismissed extends BaseError.extend('PasskeyDismissedError', 'No passkey was presented') {}\n\n/** The assertion was refused: the passkey is not registered as a recovery credential for any identity. */\nexport class Rejected extends BaseError.extend('PasskeyRejectedError', 'Passkey was not accepted') {}\n\n/** Passkey login failed before an assertion could be checked (service unreachable, unusable authenticator response). */\nexport class LoginFailed extends BaseError.extend('PasskeyLoginError', 'Passkey login failed') {}\n\n/** Every way a passkey login can fail, as `ConfigError.ConfigError` names its own union. */\nexport type PasskeyError = Dismissed | Rejected | LoginFailed;\n\n/** Discriminates a passkey login failure so callers can pick a message without matching on error names. */\nexport type Failure = 'dismissed' | 'rejected' | 'failed';\n\n/**\n * Classify a rejection from the authenticator. WebAuthn reports a dismissed prompt and\n * \"no credential for this site\" as the same `NotAllowedError`, so both map to dismissal;\n * the native (Tauri) bridge rejects with a plain string rather than a `DOMException`.\n */\nexport const fromAssertion = (error: unknown): Dismissed | LoginFailed => {\n const name = error instanceof DOMException ? error.name : undefined;\n if (name === 'NotAllowedError' || name === 'AbortError' || /cancell?ed/i.test(String(error))) {\n return new Dismissed({ cause: error });\n }\n return new LoginFailed({ cause: error });\n};\n\n/**\n * Classify an error returned by the `RedeemPasskey` operation.\n * Anything unrecognized is reported as a generic failure rather than swallowed.\n */\nexport const classify = (error: unknown): Failure => {\n if (Dismissed.is(error)) {\n return 'dismissed';\n }\n if (Rejected.is(error)) {\n return 'rejected';\n }\n return 'failed';\n};\n"],"mappings":";;;;;;;;;;;;;;AAYA,IAAa,YAAb,cAA+B,UAAU,OAAO,yBAAyB,0BAA0B,CAAC,CAAC,CAAC;;AAGtG,IAAa,WAAb,cAA8B,UAAU,OAAO,wBAAwB,0BAA0B,CAAC,CAAC,CAAC;;AAGpG,IAAa,cAAb,cAAiC,UAAU,OAAO,qBAAqB,sBAAsB,CAAC,CAAC,CAAC;;;;;;AAahG,IAAa,iBAAiB,UAA4C;CACxE,MAAM,OAAO,iBAAiB,eAAe,MAAM,OAAO,KAAA;CAC1D,IAAI,SAAS,qBAAqB,SAAS,gBAAgB,cAAc,KAAK,OAAO,KAAK,CAAC,GACzF,OAAO,IAAI,UAAU,EAAE,OAAO,MAAM,CAAC;CAEvC,OAAO,IAAI,YAAY,EAAE,OAAO,MAAM,CAAC;AACzC;;;;;AAMA,IAAa,YAAY,UAA4B;CACnD,IAAI,UAAU,GAAG,KAAK,GACpB,OAAO;CAET,IAAI,SAAS,GAAG,KAAK,GACnB,OAAO;CAET,OAAO;AACT"}
@@ -1,23 +1,99 @@
1
- import { Capability } from "@dxos/app-framework";
1
+ import * as ActivationEvents from "@dxos/app-framework/ActivationEvents";
2
+ import * as Capabilities from "@dxos/app-framework/Capabilities";
3
+ import * as Capability from "@dxos/app-framework/Capability";
4
+ import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
5
+ import * as AppCapability from "@dxos/app-toolkit/AppCapability";
6
+ import { translations } from "#translations";
7
+ import { ClientCapabilities, ClientEvents } from "#types";
2
8
  //#region src/capabilities/navigation-handler/index.ts
3
- var NavigationHandler = Capability.lazy("NavigationHandler", () => import("./chunk-navigation-handler.mjs"));
9
+ var NavigationHandler = AppCapability.navigationHandler(() => import("./chunk-navigation-handler.mjs"), {
10
+ requires: [Capabilities.OperationInvoker, ClientCapabilities.Client],
11
+ props: ({ invitationProp, invitationUrlHandler }) => ({
12
+ invitationProp,
13
+ invitationUrlHandler
14
+ })
15
+ });
4
16
  //#endregion
5
17
  //#region src/capabilities/index.ts
6
- var AccountCache = Capability.lazy("AccountCache", () => import("./chunk-account-cache.mjs"));
7
- var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./chunk-app-graph-builder.mjs"));
8
- var HubHttpClient = Capability.lazy("HubHttpClient", () => import("./chunk-hub-http-client.mjs"));
9
- var Client = Capability.lazy("Client", () => import("./chunk-client.mjs"));
10
- var LayerSpecs = Capability.lazy("LayerSpecs", () => import("./chunk-layer-specs.mjs"));
11
- var Migrations = Capability.lazy("Migrations", () => import("./chunk-migrations.mjs"));
12
- var NavigationTargetLoader = Capability.lazy("NavigationTargetLoader", () => import("./chunk-navigation-target-loader.mjs"));
13
- var OperationHandler = Capability.lazy("OperationHandler", () => import("./chunk-operation-handler.mjs"));
14
- var ReactContext = Capability.lazy("ReactContext", () => import("./chunk-react-context.mjs"));
15
- var RemoteTraceMonitor = Capability.lazy("RemoteTraceMonitor", () => import("./chunk-remote-trace-monitor.mjs"));
16
- var ReactSurface = Capability.lazy("ReactSurface", () => import("./chunk-react-surface.mjs"));
17
- var SchemaDefs = Capability.lazy("SchemaDefs", () => import("./chunk-schema-defs.mjs"));
18
- var SpaceReplicationProgress = Capability.lazy("SpaceReplicationProgress", () => import("./chunk-space-replication-progress.mjs"));
19
- var TraceProgress = Capability.lazy("TraceProgress", () => import("./chunk-trace-progress.mjs"));
18
+ var AccountCache = Capability.lazyModule("AccountCache", { provides: [ClientCapabilities.AccountCache] }, () => import("./chunk-account-cache.mjs"));
19
+ var AppGraphBuilder = AppCapability.appGraphBuilder(() => import("./chunk-app-graph-builder.mjs"), { activatesOn: ClientEvents.Initialized });
20
+ var Commands = AppCapability.commands(() => import("#commands"));
21
+ var HubHttpClient = Capability.lazyModule("HubHttpClient", {
22
+ requires: [ClientCapabilities.Client],
23
+ provides: [ClientCapabilities.HubHttpClient],
24
+ activatesOn: ClientEvents.Initialized
25
+ }, () => import("./chunk-hub-http-client.mjs"));
26
+ var Client = Capability.lazyModule("Client", {
27
+ activatesOn: ActivationEvents.Startup,
28
+ provides: [
29
+ ClientCapabilities.Client,
30
+ Capabilities.Layer,
31
+ ClientCapabilities.IdentityService,
32
+ ClientCapabilities.SpaceService
33
+ ],
34
+ environments: ["node"]
35
+ }, () => import("./chunk-client.mjs"));
36
+ var LayerSpecs = AppCapability.layerSpec(() => import("./chunk-layer-specs.mjs"), { name: "LayerSpecs" });
37
+ var Migrations = Capability.lazyModule("Migrations", {
38
+ requires: [
39
+ Capabilities.AtomRegistry,
40
+ ClientCapabilities.Client,
41
+ ClientCapabilities.Migration
42
+ ],
43
+ provides: [],
44
+ activatesOn: ClientEvents.Initialized,
45
+ environments: ["node"]
46
+ }, () => import("./chunk-migrations.mjs"));
47
+ var NavigationTargetLoader = Capability.lazyModule("NavigationTargetLoader", {
48
+ requires: [ClientCapabilities.Client],
49
+ provides: [AppCapabilities.NavigationTargetLoader]
50
+ }, () => import("./chunk-navigation-target-loader.mjs"));
51
+ var OperationHandler = AppCapability.operationHandler(() => import("./chunk-operation-handler.mjs"));
52
+ var ReactContext = AppCapability.reactContext(() => import("./chunk-react-context.mjs"));
53
+ var ReactSurface = AppCapability.surface(() => import("./chunk-react-surface.mjs"), {
54
+ roles: ["org.dxos.role.article", "org.dxos.role.dialog"],
55
+ props: ({ shareableLinkOrigin = typeof window !== "undefined" ? window.location.origin : "http://localhost", invitationPath = "/", invitationProp = "deviceInvitationCode", onReset, identityTestActions }) => {
56
+ const createInvitationUrl = (invitationCode) => {
57
+ const baseUrl = new URL(invitationPath || "/", shareableLinkOrigin);
58
+ baseUrl.searchParams.set(invitationProp, invitationCode);
59
+ return baseUrl.toString();
60
+ };
61
+ return {
62
+ createInvitationUrl,
63
+ onReset,
64
+ identityTestActions
65
+ };
66
+ }
67
+ });
68
+ var SchemaDefs = Capability.lazyModule("SchemaDefs", {
69
+ requires: [
70
+ Capabilities.AtomRegistry,
71
+ ClientCapabilities.Client,
72
+ AppCapabilities.Schema
73
+ ],
74
+ provides: [ClientCapabilities.SchemaRegistered],
75
+ environments: ["node"]
76
+ }, () => import("./chunk-schema-defs.mjs"));
77
+ var RemoteTraceMonitor = Capability.lazyModule("RemoteTraceMonitor", {
78
+ provides: [Capabilities.RemoteTraceMonitor],
79
+ activatesOn: ActivationEvents.Startup
80
+ }, () => import("./chunk-remote-trace-monitor.mjs"));
81
+ var SpaceReplicationProgress = Capability.lazyModule("SpaceReplicationProgress", {
82
+ requires: [ClientCapabilities.Client, Capabilities.ProcessManagerRuntime],
83
+ provides: [],
84
+ activatesOn: ClientEvents.SpacesReady
85
+ }, () => import("./chunk-space-replication-progress.mjs"));
86
+ var TraceProgress = Capability.lazyModule("TraceProgress", {
87
+ requires: [
88
+ Capabilities.ProcessMonitor,
89
+ Capabilities.ProcessManagerRuntime,
90
+ Capabilities.ServiceResolver
91
+ ],
92
+ provides: [],
93
+ activatesOn: ClientEvents.SpacesReady
94
+ }, () => import("./chunk-trace-progress.mjs"));
95
+ var Translations = AppCapability.translations(translations);
20
96
  //#endregion
21
- export { AccountCache, AppGraphBuilder, Client, HubHttpClient, LayerSpecs, Migrations, NavigationHandler, NavigationTargetLoader, OperationHandler, ReactContext, ReactSurface, RemoteTraceMonitor, SchemaDefs, SpaceReplicationProgress, TraceProgress };
97
+ export { AccountCache, AppGraphBuilder, Client, Commands, HubHttpClient, LayerSpecs, Migrations, NavigationHandler, NavigationTargetLoader, OperationHandler, ReactContext, ReactSurface, RemoteTraceMonitor, SchemaDefs, SpaceReplicationProgress, TraceProgress, Translations };
22
98
 
23
99
  //# sourceMappingURL=capabilities.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.mjs","names":[],"sources":["../../src/capabilities/navigation-handler/index.ts","../../src/capabilities/index.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport type { NavigationHandlerOptions } from './navigation-handler';\n\nexport const NavigationHandler = Capability.lazy('NavigationHandler', () => import('./navigation-handler'));\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const AccountCache = Capability.lazy('AccountCache', () => import('./account-cache'));\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const HubHttpClient = Capability.lazy('HubHttpClient', () => import('./hub-http-client'));\nexport const Client = Capability.lazy('Client', () => import('./client'));\nexport const LayerSpecs = Capability.lazy<void, Capability.Any[]>('LayerSpecs', () => import('./layer-specs'));\nexport const Migrations = Capability.lazy('Migrations', () => import('./migrations'));\nexport { NavigationHandler } from './navigation-handler';\nexport type { NavigationHandlerOptions } from './navigation-handler';\nexport const NavigationTargetLoader = Capability.lazy(\n 'NavigationTargetLoader',\n () => import('./navigation-target-loader'),\n);\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactContext = Capability.lazy('ReactContext', () => import('./react-context'));\nexport const RemoteTraceMonitor = Capability.lazy('RemoteTraceMonitor', () => import('./remote-trace-monitor'));\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const SchemaDefs = Capability.lazy('SchemaDefs', () => import('./schema-defs'));\nexport const SpaceReplicationProgress = Capability.lazy(\n 'SpaceReplicationProgress',\n () => import('./space-replication-progress'),\n);\nexport const TraceProgress = Capability.lazy('TraceProgress', () => import('./trace-progress'));\n"],"mappings":";;AAQA,IAAa,oBAAoB,WAAW,KAAK,2BAA2B,OAAO,iCAAuB;;;ACD1G,IAAa,eAAe,WAAW,KAAK,sBAAsB,OAAO,4BAAkB;AAC3F,IAAa,kBAAkB,WAAW,KAAK,yBAAyB,OAAO,gCAAsB;AACrG,IAAa,gBAAgB,WAAW,KAAK,uBAAuB,OAAO,8BAAoB;AAC/F,IAAa,SAAS,WAAW,KAAK,gBAAgB,OAAO,qBAAW;AACxE,IAAa,aAAa,WAAW,KAA6B,oBAAoB,OAAO,0BAAgB;AAC7G,IAAa,aAAa,WAAW,KAAK,oBAAoB,OAAO,yBAAe;AAGpF,IAAa,yBAAyB,WAAW,KAC/C,gCACM,OAAO,uCACf;AACA,IAAa,mBAAmB,WAAW,KACzC,0BACM,OAAO,gCACf;AACA,IAAa,eAAe,WAAW,KAAK,sBAAsB,OAAO,4BAAkB;AAC3F,IAAa,qBAAqB,WAAW,KAAK,4BAA4B,OAAO,mCAAyB;AAC9G,IAAa,eAAe,WAAW,KAAK,sBAAsB,OAAO,4BAAkB;AAC3F,IAAa,aAAa,WAAW,KAAK,oBAAoB,OAAO,0BAAgB;AACrF,IAAa,2BAA2B,WAAW,KACjD,kCACM,OAAO,yCACf;AACA,IAAa,gBAAgB,WAAW,KAAK,uBAAuB,OAAO,6BAAmB"}
1
+ {"version":3,"file":"capabilities.mjs","names":[],"sources":["../../src/capabilities/navigation-handler/index.ts","../../src/capabilities/index.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { ClientCapabilities, ClientOptions } from '#types';\n\nexport type { NavigationHandlerOptions } from './navigation-handler';\n\nexport const NavigationHandler = AppCapability.navigationHandler(() => import('./navigation-handler'), {\n requires: [Capabilities.OperationInvoker, ClientCapabilities.Client],\n props: ({ invitationProp, invitationUrlHandler }: ClientOptions.ClientPluginOptions) => ({\n invitationProp,\n invitationUrlHandler,\n }),\n});\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppCapability from '@dxos/app-toolkit/AppCapability';\n\nimport { translations } from '#translations';\nimport { ClientCapabilities, ClientEvents, ClientOptions } from '#types';\n\nexport const AccountCache = Capability.lazyModule(\n 'AccountCache',\n { provides: [ClientCapabilities.AccountCache] },\n () => import('./account-cache'),\n);\n// Its connectors read `client.halo`/`client.mesh` inside atom computations (initialized-only,\n// and a pre-init throw is not re-evaluated when initialization lands).\nexport const AppGraphBuilder = AppCapability.appGraphBuilder(() => import('./app-graph-builder'), {\n activatesOn: ClientEvents.Initialized,\n});\n// `#commands` resolves per condition: a node host has the OAuth callback server and filesystem the\n// browser command set omits (`account`, `profile`).\nexport const Commands = AppCapability.commands(() => import('#commands'));\nexport const HubHttpClient = Capability.lazyModule(\n 'HubHttpClient',\n {\n requires: [ClientCapabilities.Client],\n provides: [ClientCapabilities.HubHttpClient],\n // Reads `client.config` (initialized-only) for the hub URL.\n activatesOn: ClientEvents.Initialized,\n },\n () => import('./hub-http-client'),\n);\nexport const Client = Capability.lazyModule(\n 'Client',\n {\n // The boot root: everything downstream requires the client, and nothing pulls it in a host that\n // has not asked for it yet — so it names the startup wave rather than inheriting the idle default.\n activatesOn: ActivationEvents.Startup,\n provides: [\n ClientCapabilities.Client,\n Capabilities.Layer,\n ClientCapabilities.IdentityService,\n ClientCapabilities.SpaceService,\n ],\n environments: ['node'],\n },\n () => import('./client'),\n);\nexport const LayerSpecs = AppCapability.layerSpec(() => import('./layer-specs'), {\n name: 'LayerSpecs',\n});\nexport const Migrations = Capability.lazyModule(\n 'Migrations',\n {\n requires: [Capabilities.AtomRegistry, ClientCapabilities.Client, ClientCapabilities.Migration],\n provides: [],\n // The immediate subscription reads `client.spaces` synchronously, so this needs the forked\n // client initialization to have completed — the same point it ran at when the startup pass\n // awaited initialize.\n activatesOn: ClientEvents.Initialized,\n environments: ['node'],\n },\n () => import('./migrations'),\n);\nexport { NavigationHandler } from './navigation-handler';\nexport type { NavigationHandlerOptions } from './navigation-handler';\nexport const NavigationTargetLoader = Capability.lazyModule(\n 'NavigationTargetLoader',\n { requires: [ClientCapabilities.Client], provides: [AppCapabilities.NavigationTargetLoader] },\n () => import('./navigation-target-loader'),\n);\nexport const OperationHandler = AppCapability.operationHandler(() => import('./operation-handler'));\nexport const ReactContext = AppCapability.reactContext(() => import('./react-context'));\nexport const ReactSurface = AppCapability.surface(() => import('./react-surface'), {\n roles: ['org.dxos.role.article', 'org.dxos.role.dialog'],\n props: ({\n shareableLinkOrigin = typeof window !== 'undefined' ? window.location.origin : 'http://localhost',\n invitationPath = '/',\n invitationProp = 'deviceInvitationCode',\n onReset,\n identityTestActions,\n }: ClientOptions.ClientPluginOptions) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationPath || '/', shareableLinkOrigin);\n baseUrl.searchParams.set(invitationProp, invitationCode);\n return baseUrl.toString();\n };\n return { createInvitationUrl, onReset, identityTestActions };\n },\n});\nexport const SchemaDefs = Capability.lazyModule(\n 'SchemaDefs',\n {\n requires: [Capabilities.AtomRegistry, ClientCapabilities.Client, AppCapabilities.Schema],\n provides: [ClientCapabilities.SchemaRegistered],\n environments: ['node'],\n },\n () => import('./schema-defs'),\n);\nexport const RemoteTraceMonitor = Capability.lazyModule(\n 'RemoteTraceMonitor',\n // Startup: the process-manager runtime snapshots this capability once, in the Startup pass, and\n // bakes a no-op remote source if it has not been contributed yet — demand activation always loses\n // that race, silencing remote traces for every ProcessMonitor consumer.\n { provides: [Capabilities.RemoteTraceMonitor], activatesOn: ActivationEvents.Startup },\n () => import('./remote-trace-monitor'),\n);\nexport const SpaceReplicationProgress = Capability.lazyModule(\n 'SpaceReplicationProgress',\n {\n // ProgressRegistry is read optionally in the body, not required: a host that omits\n // plugin-progress should lose the meter, not fail to activate ClientPlugin.\n requires: [ClientCapabilities.Client, Capabilities.ProcessManagerRuntime],\n provides: [],\n // Runtime event: spaces become ready when the client observes them, not at startup.\n activatesOn: ClientEvents.SpacesReady,\n },\n () => import('./space-replication-progress'),\n);\nexport const TraceProgress = Capability.lazyModule(\n 'TraceProgress',\n {\n // ProgressRegistry is resolved lazily per message (a host without it degrades to a no-op sink).\n requires: [Capabilities.ProcessMonitor, Capabilities.ProcessManagerRuntime, Capabilities.ServiceResolver],\n provides: [],\n // Same activation as SpaceReplicationProgress: process-manager runtime, monitor, and\n // registry are all available by the time spaces are observed.\n activatesOn: ClientEvents.SpacesReady,\n },\n () => import('./trace-progress'),\n);\nexport const Translations = AppCapability.translations(translations);\n"],"mappings":";;;;;;;;AAWA,IAAa,oBAAoB,cAAc,wBAAwB,OAAO,mCAAyB;CACrG,UAAU,CAAC,aAAa,kBAAkB,mBAAmB,MAAM;CACnE,QAAQ,EAAE,gBAAgB,4BAA+D;EACvF;EACA;CACF;AACF,CAAC;;;ACJD,IAAa,eAAe,WAAW,WACrC,gBACA,EAAE,UAAU,CAAC,mBAAmB,YAAY,EAAE,SACxC,OAAO,4BACf;AAGA,IAAa,kBAAkB,cAAc,sBAAsB,OAAO,kCAAwB,EAChG,aAAa,aAAa,YAC5B,CAAC;AAGD,IAAa,WAAW,cAAc,eAAe,OAAO,YAAY;AACxE,IAAa,gBAAgB,WAAW,WACtC,iBACA;CACE,UAAU,CAAC,mBAAmB,MAAM;CACpC,UAAU,CAAC,mBAAmB,aAAa;CAE3C,aAAa,aAAa;AAC5B,SACM,OAAO,8BACf;AACA,IAAa,SAAS,WAAW,WAC/B,UACA;CAGE,aAAa,iBAAiB;CAC9B,UAAU;EACR,mBAAmB;EACnB,aAAa;EACb,mBAAmB;EACnB,mBAAmB;CACrB;CACA,cAAc,CAAC,MAAM;AACvB,SACM,OAAO,qBACf;AACA,IAAa,aAAa,cAAc,gBAAgB,OAAO,4BAAkB,EAC/E,MAAM,aACR,CAAC;AACD,IAAa,aAAa,WAAW,WACnC,cACA;CACE,UAAU;EAAC,aAAa;EAAc,mBAAmB;EAAQ,mBAAmB;CAAS;CAC7F,UAAU,CAAC;CAIX,aAAa,aAAa;CAC1B,cAAc,CAAC,MAAM;AACvB,SACM,OAAO,yBACf;AAGA,IAAa,yBAAyB,WAAW,WAC/C,0BACA;CAAE,UAAU,CAAC,mBAAmB,MAAM;CAAG,UAAU,CAAC,gBAAgB,sBAAsB;AAAE,SACtF,OAAO,uCACf;AACA,IAAa,mBAAmB,cAAc,uBAAuB,OAAO,gCAAsB;AAClG,IAAa,eAAe,cAAc,mBAAmB,OAAO,4BAAkB;AACtF,IAAa,eAAe,cAAc,cAAc,OAAO,8BAAoB;CACjF,OAAO,CAAC,yBAAyB,sBAAsB;CACvD,QAAQ,EACN,sBAAsB,OAAO,WAAW,cAAc,OAAO,SAAS,SAAS,oBAC/E,iBAAiB,KACjB,iBAAiB,wBACjB,SACA,0BACuC;EACvC,MAAM,uBAAuB,mBAA2B;GACtD,MAAM,UAAU,IAAI,IAAI,kBAAkB,KAAK,mBAAmB;GAClE,QAAQ,aAAa,IAAI,gBAAgB,cAAc;GACvD,OAAO,QAAQ,SAAS;EAC1B;EACA,OAAO;GAAE;GAAqB;GAAS;EAAoB;CAC7D;AACF,CAAC;AACD,IAAa,aAAa,WAAW,WACnC,cACA;CACE,UAAU;EAAC,aAAa;EAAc,mBAAmB;EAAQ,gBAAgB;CAAM;CACvF,UAAU,CAAC,mBAAmB,gBAAgB;CAC9C,cAAc,CAAC,MAAM;AACvB,SACM,OAAO,0BACf;AACA,IAAa,qBAAqB,WAAW,WAC3C,sBAIA;CAAE,UAAU,CAAC,aAAa,kBAAkB;CAAG,aAAa,iBAAiB;AAAQ,SAC/E,OAAO,mCACf;AACA,IAAa,2BAA2B,WAAW,WACjD,4BACA;CAGE,UAAU,CAAC,mBAAmB,QAAQ,aAAa,qBAAqB;CACxE,UAAU,CAAC;CAEX,aAAa,aAAa;AAC5B,SACM,OAAO,yCACf;AACA,IAAa,gBAAgB,WAAW,WACtC,iBACA;CAEE,UAAU;EAAC,aAAa;EAAgB,aAAa;EAAuB,aAAa;CAAe;CACxG,UAAU,CAAC;CAGX,aAAa,aAAa;AAC5B,SACM,OAAO,6BACf;AACA,IAAa,eAAe,cAAc,aAAa,YAAY"}