@dxos/plugin-client 0.7.5-staging.b81e783 → 0.8.0

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 (113) hide show
  1. package/dist/lib/browser/{app-graph-builder-JRQVJHEH.mjs → app-graph-builder-ON64R7SO.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-GYCVFUTM.mjs → chunk-7DPLXOMO.mjs} +2 -2
  3. package/dist/lib/browser/chunk-7DPLXOMO.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-BFNE5KCF.mjs → chunk-HNJZ74DZ.mjs} +20 -10
  5. package/dist/lib/browser/chunk-HNJZ74DZ.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-RGMLBYIF.mjs → chunk-OLUST5AO.mjs} +2 -1
  7. package/dist/lib/browser/{chunk-RGMLBYIF.mjs.map → chunk-OLUST5AO.mjs.map} +3 -3
  8. package/dist/lib/browser/{chunk-GHEQL2E6.mjs → chunk-XK4HM5M7.mjs} +2 -1
  9. package/dist/lib/browser/chunk-XK4HM5M7.mjs.map +7 -0
  10. package/dist/lib/browser/{client-A7YSVURS.mjs → client-UUGITHCW.mjs} +3 -3
  11. package/dist/lib/browser/index.mjs +17 -8
  12. package/dist/lib/browser/index.mjs.map +3 -3
  13. package/dist/lib/browser/{intent-resolver-Z7OSI733.mjs → intent-resolver-AIUHL34E.mjs} +19 -15
  14. package/dist/lib/browser/{intent-resolver-Z7OSI733.mjs.map → intent-resolver-AIUHL34E.mjs.map} +3 -3
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/migrations-XODC625X.mjs +21 -0
  17. package/dist/lib/browser/migrations-XODC625X.mjs.map +7 -0
  18. package/dist/lib/browser/{react-context-R3SG55F5.mjs → react-context-JBD7Y3SN.mjs} +2 -2
  19. package/dist/lib/browser/{react-surface-6BINNBEX.mjs → react-surface-QGPWIUFR.mjs} +3 -3
  20. package/dist/lib/browser/{schema-J4MJIXRP.mjs → schema-Y7ZNXYSL.mjs} +2 -2
  21. package/dist/lib/browser/types.mjs +1 -1
  22. package/dist/lib/node/{app-graph-builder-R6QR2VLZ.cjs → app-graph-builder-RW7ESEX3.cjs} +6 -6
  23. package/dist/lib/node/{chunk-XPC4JOPP.cjs → chunk-FR2K56EV.cjs} +5 -4
  24. package/dist/lib/node/{chunk-XPC4JOPP.cjs.map → chunk-FR2K56EV.cjs.map} +3 -3
  25. package/dist/lib/node/{chunk-UHIGZJQL.cjs → chunk-T4K27K2F.cjs} +5 -4
  26. package/dist/lib/node/chunk-T4K27K2F.cjs.map +7 -0
  27. package/dist/lib/node/{chunk-NZKGFE46.cjs → chunk-TREVKZCJ.cjs} +5 -5
  28. package/dist/lib/node/chunk-TREVKZCJ.cjs.map +7 -0
  29. package/dist/lib/node/{chunk-3P5BBMXO.cjs → chunk-UTG3UR3N.cjs} +25 -15
  30. package/dist/lib/node/chunk-UTG3UR3N.cjs.map +7 -0
  31. package/dist/lib/node/{client-2RQATBB6.cjs → client-5BHSU35T.cjs} +8 -8
  32. package/dist/lib/node/index.cjs +22 -13
  33. package/dist/lib/node/index.cjs.map +3 -3
  34. package/dist/lib/node/{intent-resolver-5UHRO64Q.cjs → intent-resolver-PWCHHNV3.cjs} +39 -35
  35. package/dist/lib/node/{intent-resolver-5UHRO64Q.cjs.map → intent-resolver-PWCHHNV3.cjs.map} +3 -3
  36. package/dist/lib/node/meta.json +1 -1
  37. package/dist/lib/node/migrations-YCBZUPWO.cjs +37 -0
  38. package/dist/lib/node/migrations-YCBZUPWO.cjs.map +7 -0
  39. package/dist/lib/node/{react-context-TD6VGBVA.cjs → react-context-MPHNGZHT.cjs} +6 -6
  40. package/dist/lib/node/{react-surface-KRKGFWS3.cjs → react-surface-TPISDIHR.cjs} +21 -21
  41. package/dist/lib/node/{schema-JXJS75HQ.cjs → schema-NMMCMK64.cjs} +7 -7
  42. package/dist/lib/node/types.cjs +2 -2
  43. package/dist/lib/node/types.cjs.map +1 -1
  44. package/dist/lib/node-esm/{app-graph-builder-WXXGCOJB.mjs → app-graph-builder-TDYRWNI7.mjs} +2 -2
  45. package/dist/lib/node-esm/{chunk-T35SFKK3.mjs → chunk-3OU2ZXLK.mjs} +2 -1
  46. package/dist/lib/node-esm/chunk-3OU2ZXLK.mjs.map +7 -0
  47. package/dist/lib/node-esm/{chunk-M2NR7HNG.mjs → chunk-QJMF2MWP.mjs} +2 -2
  48. package/dist/lib/node-esm/chunk-QJMF2MWP.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-2FPF25KT.mjs → chunk-SHJBU4QR.mjs} +20 -10
  50. package/dist/lib/node-esm/chunk-SHJBU4QR.mjs.map +7 -0
  51. package/dist/lib/node-esm/{chunk-QR72BXJK.mjs → chunk-XLLNVLWU.mjs} +2 -1
  52. package/dist/lib/node-esm/{chunk-QR72BXJK.mjs.map → chunk-XLLNVLWU.mjs.map} +3 -3
  53. package/dist/lib/node-esm/{client-36DKBSB7.mjs → client-ZDGFGLX4.mjs} +3 -3
  54. package/dist/lib/node-esm/index.mjs +17 -8
  55. package/dist/lib/node-esm/index.mjs.map +3 -3
  56. package/dist/lib/node-esm/{intent-resolver-7XHZZGVW.mjs → intent-resolver-FIXGPH7C.mjs} +19 -15
  57. package/dist/lib/node-esm/{intent-resolver-7XHZZGVW.mjs.map → intent-resolver-FIXGPH7C.mjs.map} +3 -3
  58. package/dist/lib/node-esm/meta.json +1 -1
  59. package/dist/lib/node-esm/migrations-VIEIPYJW.mjs +22 -0
  60. package/dist/lib/node-esm/migrations-VIEIPYJW.mjs.map +7 -0
  61. package/dist/lib/node-esm/{react-context-ZOGDOWJ2.mjs → react-context-KUEOXWWK.mjs} +2 -2
  62. package/dist/lib/node-esm/{react-surface-OQFDVSAP.mjs → react-surface-KBROL4VH.mjs} +3 -3
  63. package/dist/lib/node-esm/{schema-XM4HBLIX.mjs → schema-NE5IYLMD.mjs} +2 -2
  64. package/dist/lib/node-esm/types.mjs +1 -1
  65. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  66. package/dist/types/src/capabilities/app-graph-builder.d.ts +110 -110
  67. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  68. package/dist/types/src/capabilities/capabilities.d.ts +3 -1
  69. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  70. package/dist/types/src/capabilities/index.d.ts +112 -111
  71. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/migrations.d.ts +4 -0
  74. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  75. package/dist/types/src/components/IdentityDialog.d.ts.map +1 -1
  76. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  77. package/dist/types/src/events.d.ts +1 -0
  78. package/dist/types/src/events.d.ts.map +1 -1
  79. package/dist/types/src/types.d.ts +1 -1
  80. package/package.json +19 -19
  81. package/src/ClientPlugin.ts +15 -1
  82. package/src/capabilities/capabilities.ts +3 -1
  83. package/src/capabilities/index.ts +1 -0
  84. package/src/capabilities/intent-resolver.ts +11 -4
  85. package/src/capabilities/migrations.ts +22 -0
  86. package/src/components/IdentityDialog.tsx +3 -1
  87. package/src/components/JoinDialog.tsx +3 -1
  88. package/src/events.ts +1 -0
  89. package/src/types.ts +1 -1
  90. package/dist/lib/browser/chunk-BFNE5KCF.mjs.map +0 -7
  91. package/dist/lib/browser/chunk-GHEQL2E6.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-GYCVFUTM.mjs.map +0 -7
  93. package/dist/lib/node/chunk-3P5BBMXO.cjs.map +0 -7
  94. package/dist/lib/node/chunk-NZKGFE46.cjs.map +0 -7
  95. package/dist/lib/node/chunk-UHIGZJQL.cjs.map +0 -7
  96. package/dist/lib/node-esm/chunk-2FPF25KT.mjs.map +0 -7
  97. package/dist/lib/node-esm/chunk-M2NR7HNG.mjs.map +0 -7
  98. package/dist/lib/node-esm/chunk-T35SFKK3.mjs.map +0 -7
  99. /package/dist/lib/browser/{app-graph-builder-JRQVJHEH.mjs.map → app-graph-builder-ON64R7SO.mjs.map} +0 -0
  100. /package/dist/lib/browser/{client-A7YSVURS.mjs.map → client-UUGITHCW.mjs.map} +0 -0
  101. /package/dist/lib/browser/{react-context-R3SG55F5.mjs.map → react-context-JBD7Y3SN.mjs.map} +0 -0
  102. /package/dist/lib/browser/{react-surface-6BINNBEX.mjs.map → react-surface-QGPWIUFR.mjs.map} +0 -0
  103. /package/dist/lib/browser/{schema-J4MJIXRP.mjs.map → schema-Y7ZNXYSL.mjs.map} +0 -0
  104. /package/dist/lib/node/{app-graph-builder-R6QR2VLZ.cjs.map → app-graph-builder-RW7ESEX3.cjs.map} +0 -0
  105. /package/dist/lib/node/{client-2RQATBB6.cjs.map → client-5BHSU35T.cjs.map} +0 -0
  106. /package/dist/lib/node/{react-context-TD6VGBVA.cjs.map → react-context-MPHNGZHT.cjs.map} +0 -0
  107. /package/dist/lib/node/{react-surface-KRKGFWS3.cjs.map → react-surface-TPISDIHR.cjs.map} +0 -0
  108. /package/dist/lib/node/{schema-JXJS75HQ.cjs.map → schema-NMMCMK64.cjs.map} +0 -0
  109. /package/dist/lib/node-esm/{app-graph-builder-WXXGCOJB.mjs.map → app-graph-builder-TDYRWNI7.mjs.map} +0 -0
  110. /package/dist/lib/node-esm/{client-36DKBSB7.mjs.map → client-ZDGFGLX4.mjs.map} +0 -0
  111. /package/dist/lib/node-esm/{react-context-ZOGDOWJ2.mjs.map → react-context-KUEOXWWK.mjs.map} +0 -0
  112. /package/dist/lib/node-esm/{react-surface-OQFDVSAP.mjs.map → react-surface-KBROL4VH.mjs.map} +0 -0
  113. /package/dist/lib/node-esm/{schema-XM4HBLIX.mjs.map → schema-NE5IYLMD.mjs.map} +0 -0
@@ -1,187 +1,188 @@
1
1
  export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<Readonly<{
2
2
  id: string;
3
- position: import("packages/common/util/dist/types/src").Position;
4
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
5
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
6
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
3
+ position: import("@dxos/util").Position;
4
+ resolver?: import("@dxos/app-graph").ResolverExtension;
5
+ connector?: import("@dxos/app-graph").ConnectorExtension;
6
+ relation?: import("@dxos/app-graph").Relation;
7
7
  type?: string;
8
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
8
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
9
9
  }> | Readonly<{
10
10
  id: string;
11
- position: import("packages/common/util/dist/types/src").Position;
12
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
13
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
14
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
11
+ position: import("@dxos/util").Position;
12
+ resolver?: import("@dxos/app-graph").ResolverExtension;
13
+ connector?: import("@dxos/app-graph").ConnectorExtension;
14
+ relation?: import("@dxos/app-graph").Relation;
15
15
  type?: string;
16
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
16
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
17
17
  }>[] | (Readonly<{
18
18
  id: string;
19
- position: import("packages/common/util/dist/types/src").Position;
20
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
21
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
22
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
19
+ position: import("@dxos/util").Position;
20
+ resolver?: import("@dxos/app-graph").ResolverExtension;
21
+ connector?: import("@dxos/app-graph").ConnectorExtension;
22
+ relation?: import("@dxos/app-graph").Relation;
23
23
  type?: string;
24
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
24
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
25
25
  }> | Readonly<{
26
26
  id: string;
27
- position: import("packages/common/util/dist/types/src").Position;
28
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
29
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
30
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
27
+ position: import("@dxos/util").Position;
28
+ resolver?: import("@dxos/app-graph").ResolverExtension;
29
+ connector?: import("@dxos/app-graph").ConnectorExtension;
30
+ relation?: import("@dxos/app-graph").Relation;
31
31
  type?: string;
32
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
32
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
33
33
  }>[] | (Readonly<{
34
34
  id: string;
35
- position: import("packages/common/util/dist/types/src").Position;
36
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
37
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
38
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
35
+ position: import("@dxos/util").Position;
36
+ resolver?: import("@dxos/app-graph").ResolverExtension;
37
+ connector?: import("@dxos/app-graph").ConnectorExtension;
38
+ relation?: import("@dxos/app-graph").Relation;
39
39
  type?: string;
40
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
40
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
41
41
  }> | Readonly<{
42
42
  id: string;
43
- position: import("packages/common/util/dist/types/src").Position;
44
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
45
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
46
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
43
+ position: import("@dxos/util").Position;
44
+ resolver?: import("@dxos/app-graph").ResolverExtension;
45
+ connector?: import("@dxos/app-graph").ConnectorExtension;
46
+ relation?: import("@dxos/app-graph").Relation;
47
47
  type?: string;
48
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
48
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
49
49
  }>[] | (Readonly<{
50
50
  id: string;
51
- position: import("packages/common/util/dist/types/src").Position;
52
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
53
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
54
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
51
+ position: import("@dxos/util").Position;
52
+ resolver?: import("@dxos/app-graph").ResolverExtension;
53
+ connector?: import("@dxos/app-graph").ConnectorExtension;
54
+ relation?: import("@dxos/app-graph").Relation;
55
55
  type?: string;
56
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
56
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
57
57
  }> | Readonly<{
58
58
  id: string;
59
- position: import("packages/common/util/dist/types/src").Position;
60
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
61
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
62
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
59
+ position: import("@dxos/util").Position;
60
+ resolver?: import("@dxos/app-graph").ResolverExtension;
61
+ connector?: import("@dxos/app-graph").ConnectorExtension;
62
+ relation?: import("@dxos/app-graph").Relation;
63
63
  type?: string;
64
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
64
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
65
65
  }>[] | (Readonly<{
66
66
  id: string;
67
- position: import("packages/common/util/dist/types/src").Position;
68
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
69
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
70
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
67
+ position: import("@dxos/util").Position;
68
+ resolver?: import("@dxos/app-graph").ResolverExtension;
69
+ connector?: import("@dxos/app-graph").ConnectorExtension;
70
+ relation?: import("@dxos/app-graph").Relation;
71
71
  type?: string;
72
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
72
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
73
73
  }> | Readonly<{
74
74
  id: string;
75
- position: import("packages/common/util/dist/types/src").Position;
76
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
77
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
78
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
75
+ position: import("@dxos/util").Position;
76
+ resolver?: import("@dxos/app-graph").ResolverExtension;
77
+ connector?: import("@dxos/app-graph").ConnectorExtension;
78
+ relation?: import("@dxos/app-graph").Relation;
79
79
  type?: string;
80
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
80
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
81
81
  }>[] | (Readonly<{
82
82
  id: string;
83
- position: import("packages/common/util/dist/types/src").Position;
84
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
85
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
86
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
83
+ position: import("@dxos/util").Position;
84
+ resolver?: import("@dxos/app-graph").ResolverExtension;
85
+ connector?: import("@dxos/app-graph").ConnectorExtension;
86
+ relation?: import("@dxos/app-graph").Relation;
87
87
  type?: string;
88
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
88
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
89
89
  }> | Readonly<{
90
90
  id: string;
91
- position: import("packages/common/util/dist/types/src").Position;
92
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
93
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
94
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
91
+ position: import("@dxos/util").Position;
92
+ resolver?: import("@dxos/app-graph").ResolverExtension;
93
+ connector?: import("@dxos/app-graph").ConnectorExtension;
94
+ relation?: import("@dxos/app-graph").Relation;
95
95
  type?: string;
96
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
96
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
97
97
  }>[] | (Readonly<{
98
98
  id: string;
99
- position: import("packages/common/util/dist/types/src").Position;
100
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
101
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
102
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
99
+ position: import("@dxos/util").Position;
100
+ resolver?: import("@dxos/app-graph").ResolverExtension;
101
+ connector?: import("@dxos/app-graph").ConnectorExtension;
102
+ relation?: import("@dxos/app-graph").Relation;
103
103
  type?: string;
104
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
104
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
105
105
  }> | Readonly<{
106
106
  id: string;
107
- position: import("packages/common/util/dist/types/src").Position;
108
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
109
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
110
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
107
+ position: import("@dxos/util").Position;
108
+ resolver?: import("@dxos/app-graph").ResolverExtension;
109
+ connector?: import("@dxos/app-graph").ConnectorExtension;
110
+ relation?: import("@dxos/app-graph").Relation;
111
111
  type?: string;
112
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
112
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
113
113
  }>[] | (Readonly<{
114
114
  id: string;
115
- position: import("packages/common/util/dist/types/src").Position;
116
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
117
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
118
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
115
+ position: import("@dxos/util").Position;
116
+ resolver?: import("@dxos/app-graph").ResolverExtension;
117
+ connector?: import("@dxos/app-graph").ConnectorExtension;
118
+ relation?: import("@dxos/app-graph").Relation;
119
119
  type?: string;
120
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
120
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
121
121
  }> | Readonly<{
122
122
  id: string;
123
- position: import("packages/common/util/dist/types/src").Position;
124
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
125
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
126
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
123
+ position: import("@dxos/util").Position;
124
+ resolver?: import("@dxos/app-graph").ResolverExtension;
125
+ connector?: import("@dxos/app-graph").ConnectorExtension;
126
+ relation?: import("@dxos/app-graph").Relation;
127
127
  type?: string;
128
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
128
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
129
129
  }>[] | (Readonly<{
130
130
  id: string;
131
- position: import("packages/common/util/dist/types/src").Position;
132
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
133
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
134
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
131
+ position: import("@dxos/util").Position;
132
+ resolver?: import("@dxos/app-graph").ResolverExtension;
133
+ connector?: import("@dxos/app-graph").ConnectorExtension;
134
+ relation?: import("@dxos/app-graph").Relation;
135
135
  type?: string;
136
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
136
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
137
137
  }> | Readonly<{
138
138
  id: string;
139
- position: import("packages/common/util/dist/types/src").Position;
140
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
141
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
142
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
139
+ position: import("@dxos/util").Position;
140
+ resolver?: import("@dxos/app-graph").ResolverExtension;
141
+ connector?: import("@dxos/app-graph").ConnectorExtension;
142
+ relation?: import("@dxos/app-graph").Relation;
143
143
  type?: string;
144
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
144
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
145
145
  }>[] | (Readonly<{
146
146
  id: string;
147
- position: import("packages/common/util/dist/types/src").Position;
148
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
149
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
150
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
147
+ position: import("@dxos/util").Position;
148
+ resolver?: import("@dxos/app-graph").ResolverExtension;
149
+ connector?: import("@dxos/app-graph").ConnectorExtension;
150
+ relation?: import("@dxos/app-graph").Relation;
151
151
  type?: string;
152
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
152
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
153
153
  }> | Readonly<{
154
154
  id: string;
155
- position: import("packages/common/util/dist/types/src").Position;
156
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
157
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
158
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
155
+ position: import("@dxos/util").Position;
156
+ resolver?: import("@dxos/app-graph").ResolverExtension;
157
+ connector?: import("@dxos/app-graph").ConnectorExtension;
158
+ relation?: import("@dxos/app-graph").Relation;
159
159
  type?: string;
160
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
160
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
161
161
  }>[] | (any[] | Readonly<{
162
162
  id: string;
163
- position: import("packages/common/util/dist/types/src").Position;
164
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
165
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
166
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
163
+ position: import("@dxos/util").Position;
164
+ resolver?: import("@dxos/app-graph").ResolverExtension;
165
+ connector?: import("@dxos/app-graph").ConnectorExtension;
166
+ relation?: import("@dxos/app-graph").Relation;
167
167
  type?: string;
168
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
168
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
169
169
  }> | Readonly<{
170
170
  id: string;
171
- position: import("packages/common/util/dist/types/src").Position;
172
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
173
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
174
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
171
+ position: import("@dxos/util").Position;
172
+ resolver?: import("@dxos/app-graph").ResolverExtension;
173
+ connector?: import("@dxos/app-graph").ConnectorExtension;
174
+ relation?: import("@dxos/app-graph").Relation;
175
175
  type?: string;
176
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
176
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
177
177
  }>[])[])[])[])[])[])[])[])[])[])[]> | import("@dxos/app-framework").AnyCapability[]>>;
178
178
  export declare const Client: (props?: (Omit<import("../types").ClientPluginOptions, "appKey" | "invitationUrl" | "invitationParam" | "onReset"> & {
179
179
  context: import("@dxos/app-framework").PluginsContext;
180
- }) | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("packages/sdk/client/dist/types/src").Client> | import("@dxos/app-framework").AnyCapability[]>>;
180
+ }) | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/client").Client> | import("@dxos/app-framework").AnyCapability[]>>;
181
181
  export declare const IntentResolver: (props?: (Pick<import("../types").ClientPluginOptions, "onReset"> & {
182
182
  context: import("@dxos/app-framework").PluginsContext;
183
183
  appName?: string;
184
184
  }) | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
185
+ export declare const Migrations: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<null> | import("@dxos/app-framework").AnyCapability[]>>;
185
186
  export declare const ReactContext: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<Readonly<{
186
187
  id: string;
187
188
  dependsOn?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe;;qBAQ65F,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;qFARxrW,CAAC;AAC/E,eAAO,MAAM,MAAM;;wLAAuC,CAAC;AAC3D,eAAO,MAAM,cAAc;;;8LAAgD,CAAC;AAC5E,eAAO,MAAM,YAAY;;;;qDAA8C,CAAC;AACxE,eAAO,MAAM,YAAY;;2LAA8C,CAAC;AACxE,eAAO,MAAM,MAAM,8LAAuC,CAAC;AAE3D,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe;;qBASkyF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;qFATvhV,CAAC;AAC/E,eAAO,MAAM,MAAM;;kKAAuC,CAAC;AAC3D,eAAO,MAAM,cAAc;;;8LAAgD,CAAC;AAC5E,eAAO,MAAM,UAAU,8LAA2C,CAAC;AACnE,eAAO,MAAM,YAAY;;;;qDAA8C,CAAC;AACxE,eAAO,MAAM,YAAY;;2LAA8C,CAAC;AACxE,eAAO,MAAM,MAAM,8LAAuC,CAAC;AAE3D,cAAc,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EAKZ,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAElE,KAAK,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG;IAClE,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;wDAE0D,qBAAqB;AAAjF,wBA0KK"}
1
+ {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EAKZ,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAElE,KAAK,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG;IAClE,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;wDAE0D,qBAAqB;AAAjF,wBAiLK"}
@@ -0,0 +1,4 @@
1
+ import { type PluginsContext } from '@dxos/app-framework';
2
+ declare const _default: (context: PluginsContext) => import("@dxos/app-framework").Capability<null>;
3
+ export default _default;
4
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/migrations.ts"],"names":[],"mappings":"AAMA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;kCAI5D,cAAc;AAAvC,wBAWE"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/IdentityDialog.tsx"],"names":[],"mappings":"AASA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAM3E,eAAO,MAAM,eAAe,0CAAoC,CAAC;AAEjE,eAAO,MAAM,cAAc,UAAW,kBAAkB,4CAuDvD,CAAC"}
1
+ {"version":3,"file":"IdentityDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/IdentityDialog.tsx"],"names":[],"mappings":"AASA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAM3E,eAAO,MAAM,eAAe,0CAAoC,CAAC;AAEjE,eAAO,MAAM,cAAc,UAAW,kBAAkB,4CAyDvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"JoinDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/JoinDialog.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnE,eAAO,MAAM,WAAW,sCAAgC,CAAC;AAEzD,eAAO,MAAM,UAAU,UAAW,cAAc,4CAiC/C,CAAC"}
1
+ {"version":3,"file":"JoinDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/JoinDialog.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnE,eAAO,MAAM,WAAW,sCAAgC,CAAC;AAEzD,eAAO,MAAM,UAAU,UAAW,cAAc,4CAmC/C,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export declare namespace ClientEvents {
2
2
  const ClientReady: import("@dxos/app-framework").ActivationEvent;
3
3
  const SetupSchema: import("@dxos/app-framework").ActivationEvent;
4
+ const SetupMigration: import("@dxos/app-framework").ActivationEvent;
4
5
  const IdentityCreated: import("@dxos/app-framework").ActivationEvent;
5
6
  const SpacesReady: import("@dxos/app-framework").ActivationEvent;
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,yBAAiB,YAAY,CAAC;IACrB,MAAM,WAAW,+CAAqD,CAAC;IACvE,MAAM,WAAW,+CAAqD,CAAC;IACvE,MAAM,eAAe,+CAAyD,CAAC;IAC/E,MAAM,WAAW,+CAAqD,CAAC;CAC/E"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,yBAAiB,YAAY,CAAC;IACrB,MAAM,WAAW,+CAAqD,CAAC;IACvE,MAAM,WAAW,+CAAqD,CAAC;IACvE,MAAM,cAAc,+CAAwD,CAAC;IAC7E,MAAM,eAAe,+CAAyD,CAAC;IAC/E,MAAM,WAAW,+CAAqD,CAAC;CAC/E"}
@@ -25,7 +25,7 @@ export declare namespace ClientAction {
25
25
  readonly _tag: S.tag<"dxos.org/plugin/client/action/join-identity">;
26
26
  } & {
27
27
  input: S.Struct<{
28
- invitationCode: typeof S.String;
28
+ invitationCode: S.optional<typeof S.String>;
29
29
  }>;
30
30
  output: typeof S.Void;
31
31
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-client",
3
- "version": "0.7.5-staging.b81e783",
3
+ "version": "0.8.0",
4
4
  "description": "DXOS Surface plugin for DXOS Client",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -34,18 +34,18 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "@preact/signals-core": "^1.6.0",
37
- "@dxos/app-framework": "0.7.5-staging.b81e783",
38
- "@dxos/config": "0.7.5-staging.b81e783",
39
- "@dxos/echo-schema": "0.7.5-staging.b81e783",
40
- "@dxos/local-storage": "0.7.5-staging.b81e783",
41
- "@dxos/echo-signals": "0.7.5-staging.b81e783",
42
- "@dxos/log": "0.7.5-staging.b81e783",
43
- "@dxos/invariant": "0.7.5-staging.b81e783",
44
- "@dxos/plugin-graph": "0.7.5-staging.b81e783",
45
- "@dxos/plugin-observability": "0.7.5-staging.b81e783",
46
- "@dxos/react-client": "0.7.5-staging.b81e783",
47
- "@dxos/util": "0.7.5-staging.b81e783",
48
- "@dxos/shell": "0.7.5-staging.b81e783"
37
+ "@dxos/app-framework": "0.8.0",
38
+ "@dxos/echo-schema": "0.8.0",
39
+ "@dxos/config": "0.8.0",
40
+ "@dxos/echo-signals": "0.8.0",
41
+ "@dxos/invariant": "0.8.0",
42
+ "@dxos/local-storage": "0.8.0",
43
+ "@dxos/log": "0.8.0",
44
+ "@dxos/plugin-graph": "0.8.0",
45
+ "@dxos/react-client": "0.8.0",
46
+ "@dxos/shell": "0.8.0",
47
+ "@dxos/util": "0.8.0",
48
+ "@dxos/plugin-observability": "0.8.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@phosphor-icons/react": "^2.1.5",
@@ -54,17 +54,17 @@
54
54
  "react": "~18.2.0",
55
55
  "react-dom": "~18.2.0",
56
56
  "vite": "5.4.7",
57
- "@dxos/live-object": "0.7.5-staging.b81e783",
58
- "@dxos/react-ui": "0.7.5-staging.b81e783",
59
- "@dxos/react-ui-theme": "0.7.5-staging.b81e783",
60
- "@dxos/storybook-utils": "0.7.5-staging.b81e783"
57
+ "@dxos/live-object": "0.8.0",
58
+ "@dxos/react-ui": "0.8.0",
59
+ "@dxos/react-ui-theme": "0.8.0",
60
+ "@dxos/storybook-utils": "0.8.0"
61
61
  },
62
62
  "peerDependencies": {
63
63
  "@phosphor-icons/react": "^2.1.5",
64
64
  "react": "~18.2.0",
65
65
  "react-dom": "~18.2.0",
66
- "@dxos/react-ui": "0.7.5-staging.b81e783",
67
- "@dxos/react-ui-theme": "0.7.5-staging.b81e783"
66
+ "@dxos/react-ui": "0.8.0",
67
+ "@dxos/react-ui-theme": "0.8.0"
68
68
  },
69
69
  "publishConfig": {
70
70
  "access": "public"
@@ -4,7 +4,15 @@
4
4
 
5
5
  import { Capabilities, contributes, defineModule, definePlugin, Events, oneOf } from '@dxos/app-framework';
6
6
 
7
- import { Client, AppGraphBuilder, IntentResolver, ReactContext, ReactSurface, Schema } from './capabilities';
7
+ import {
8
+ Client,
9
+ AppGraphBuilder,
10
+ IntentResolver,
11
+ Migrations,
12
+ ReactContext,
13
+ ReactSurface,
14
+ Schema,
15
+ } from './capabilities';
8
16
  import { ClientEvents } from './events';
9
17
  import { meta } from './meta';
10
18
  import translations from './translations';
@@ -35,6 +43,12 @@ export const ClientPlugin = ({
35
43
  activatesBefore: [ClientEvents.SetupSchema],
36
44
  activate: Schema,
37
45
  }),
46
+ defineModule({
47
+ id: `${meta.id}/module/migration`,
48
+ activatesOn: ClientEvents.ClientReady,
49
+ activatesBefore: [ClientEvents.SetupMigration],
50
+ activate: Migrations,
51
+ }),
38
52
  defineModule({
39
53
  id: `${meta.id}/module/react-context`,
40
54
  activatesOn: Events.Startup,
@@ -3,12 +3,14 @@
3
3
  //
4
4
 
5
5
  import { defineCapability } from '@dxos/app-framework';
6
+ import { type Client } from '@dxos/client';
7
+ import { type ObjectMigration } from '@dxos/client/echo';
6
8
  import { type TypedObject } from '@dxos/echo-schema';
7
- import { type Client } from '@dxos/react-client';
8
9
 
9
10
  import { CLIENT_PLUGIN } from '../meta';
10
11
 
11
12
  export namespace ClientCapabilities {
12
13
  export const Client = defineCapability<Client>(`${CLIENT_PLUGIN}/capability/client`);
13
14
  export const Schema = defineCapability<TypedObject[]>(`${CLIENT_PLUGIN}/capability/schema`);
15
+ export const Migration = defineCapability<ObjectMigration[]>(`${CLIENT_PLUGIN}/capability/migration`);
14
16
  }
@@ -7,6 +7,7 @@ import { lazy } from '@dxos/app-framework';
7
7
  export const AppGraphBuilder = lazy(async () => import('./app-graph-builder'));
8
8
  export const Client = lazy(async () => import('./client'));
9
9
  export const IntentResolver = lazy(async () => import('./intent-resolver'));
10
+ export const Migrations = lazy(async () => import('./migrations'));
10
11
  export const ReactContext = lazy(async () => import('./react-context'));
11
12
  export const ReactSurface = lazy(async () => import('./react-surface'));
12
13
  export const Schema = lazy(async () => import('./schema'));
@@ -137,12 +137,13 @@ export default ({ context, appName = 'Composer', onReset }: IntentResolverOption
137
137
  invariant(identity, 'Identity not available');
138
138
 
139
139
  // TODO(wittjosiah): Consider factoring out passkey creation to the halo api.
140
+ const lookupKey = PublicKey.random();
140
141
  const credential = await navigator.credentials.create({
141
142
  publicKey: {
142
143
  challenge: new Uint8Array(),
143
144
  rp: { id: location.hostname, name: appName },
144
145
  user: {
145
- id: new TextEncoder().encode(identity.did),
146
+ id: lookupKey.asUint8Array(),
146
147
  name: identity.did,
147
148
  displayName: identity.profile?.displayName ?? '',
148
149
  },
@@ -164,7 +165,13 @@ export default ({ context, appName = 'Composer', onReset }: IntentResolverOption
164
165
 
165
166
  // TODO(wittjosiah): This needs a proper api.
166
167
  invariant(client.services.services.IdentityService, 'IdentityService not available');
167
- await client.services.services.IdentityService.createRecoveryCredential({ recoveryKey, algorithm });
168
+ await client.services.services.IdentityService.createRecoveryCredential({
169
+ data: {
170
+ recoveryKey,
171
+ algorithm,
172
+ lookupKey,
173
+ },
174
+ });
168
175
  },
169
176
  }),
170
177
  createResolver({
@@ -182,10 +189,10 @@ export default ({ context, appName = 'Composer', onReset }: IntentResolverOption
182
189
  userVerification: 'required',
183
190
  },
184
191
  });
185
- const identityDid = new TextDecoder().decode((credential as any).response.userHandle);
192
+ const lookupKey = PublicKey.from(new Uint8Array((credential as any).response.userHandle));
186
193
  await client.services.services.IdentityService.recoverIdentity({
187
194
  external: {
188
- identityDid,
195
+ lookupKey,
189
196
  deviceKey,
190
197
  controlFeedKey,
191
198
  signature: Buffer.from((credential as any).response.signature),
@@ -0,0 +1,22 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { effect } from '@preact/signals-core';
6
+
7
+ import { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';
8
+
9
+ import { ClientCapabilities } from './capabilities';
10
+
11
+ export default (context: PluginsContext) => {
12
+ const client = context.requestCapability(ClientCapabilities.Client);
13
+
14
+ // NOTE: Migrations are currently unidirectional and idempotent.
15
+ const unsubscribe = effect(() => {
16
+ const migrations = Array.from(new Set(context.requestCapabilities(ClientCapabilities.Migration).flat()));
17
+ const spaces = client.spaces.get();
18
+ void Promise.all(spaces.map((space) => space.db.runMigrations(migrations)));
19
+ });
20
+
21
+ return contributes(Capabilities.Null, null, () => unsubscribe());
22
+ };
@@ -6,7 +6,7 @@ import React, { useCallback } from 'react';
6
6
 
7
7
  import { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';
8
8
  import { useClient } from '@dxos/react-client';
9
- import { Clipboard, Dialog } from '@dxos/react-ui';
9
+ import { Clipboard, Dialog, useTranslation } from '@dxos/react-ui';
10
10
  import { IdentityPanel, type IdentityPanelProps } from '@dxos/shell/react';
11
11
 
12
12
  import { MANAGE_CREDENTIALS_DIALOG } from './ManageCredentialsDialog';
@@ -18,6 +18,7 @@ export const IDENTITY_DIALOG = `${CLIENT_PLUGIN}/IdentityDialog`;
18
18
  export const IdentityDialog = (props: IdentityPanelProps) => {
19
19
  const { dispatchPromise: dispatch } = useIntentDispatcher();
20
20
  const client = useClient();
21
+ const { t } = useTranslation(CLIENT_PLUGIN);
21
22
 
22
23
  const handleDone = useCallback(
23
24
  () =>
@@ -57,6 +58,7 @@ export const IdentityDialog = (props: IdentityPanelProps) => {
57
58
 
58
59
  return (
59
60
  <Dialog.Content>
61
+ <Dialog.Title classNames='sr-only'>{t('manage profile label', { ns: 'os' })}</Dialog.Title>
60
62
  <Clipboard.Provider>
61
63
  <IdentityPanel
62
64
  {...props}
@@ -7,7 +7,7 @@ import React, { useCallback } from 'react';
7
7
  import { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';
8
8
  import { ObservabilityAction } from '@dxos/plugin-observability/types';
9
9
  import { type InvitationResult } from '@dxos/react-client/invitations';
10
- import { Dialog } from '@dxos/react-ui';
10
+ import { Dialog, useTranslation } from '@dxos/react-ui';
11
11
  import { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';
12
12
 
13
13
  import { CLIENT_PLUGIN } from '../meta';
@@ -17,6 +17,7 @@ export const JOIN_DIALOG = `${CLIENT_PLUGIN}/JoinDialog`;
17
17
 
18
18
  export const JoinDialog = (props: JoinPanelProps) => {
19
19
  const { dispatchPromise: dispatch } = useIntentDispatcher();
20
+ const { t } = useTranslation(CLIENT_PLUGIN);
20
21
 
21
22
  const handleCancelResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ShareIdentity)), [dispatch]);
22
23
 
@@ -38,6 +39,7 @@ export const JoinDialog = (props: JoinPanelProps) => {
38
39
 
39
40
  return (
40
41
  <Dialog.Content>
42
+ <Dialog.Title classNames='sr-only'>{t('join space label', { ns: 'os' })}</Dialog.Title>
41
43
  <JoinPanel
42
44
  mode='halo-only'
43
45
  {...props}