@dxos/plugin-space 0.8.2-main.2f9c567 → 0.8.2-main.36232bc

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 (171) hide show
  1. package/dist/lib/browser/{app-graph-builder-I2BU35J5.mjs → app-graph-builder-ZWNOWRAX.mjs} +3 -3
  2. package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-HPYDOKA5.mjs → app-graph-serializer-UUJH7JRN.mjs} +4 -4
  4. package/dist/lib/browser/{chunk-TSX67XGX.mjs → chunk-3KG2VMQL.mjs} +27 -37
  5. package/dist/lib/browser/chunk-3KG2VMQL.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-OS5QKO4Z.mjs → chunk-DIJ7LMCS.mjs} +2 -2
  7. package/dist/lib/browser/{chunk-RERTVPBV.mjs → chunk-JS6ZV4GV.mjs} +2 -2
  8. package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-O7WGQVLQ.mjs +306 -0
  10. package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +7 -0
  11. package/dist/lib/browser/{identity-created-DWFKBGOA.mjs → identity-created-NRVE4XLL.mjs} +2 -2
  12. package/dist/lib/browser/index.mjs +12 -12
  13. package/dist/lib/browser/index.mjs.map +3 -3
  14. package/dist/lib/browser/{intent-resolver-GKDCJ4H2.mjs → intent-resolver-U3UVTHQV.mjs} +9 -16
  15. package/dist/lib/browser/intent-resolver-U3UVTHQV.mjs.map +7 -0
  16. package/dist/lib/browser/meta.json +1 -1
  17. package/dist/lib/browser/{react-root-667IZ2Q4.mjs → react-root-63ZJ5IR6.mjs} +4 -4
  18. package/dist/lib/browser/{react-surface-I4RNTGGN.mjs → react-surface-2OFMYE6E.mjs} +4 -4
  19. package/dist/lib/browser/react-surface-2OFMYE6E.mjs.map +7 -0
  20. package/dist/lib/browser/{schema-defs-FLFEUSLB.mjs → schema-FHTA26SW.mjs} +4 -4
  21. package/dist/lib/browser/{schema-defs-FLFEUSLB.mjs.map → schema-FHTA26SW.mjs.map} +2 -2
  22. package/dist/lib/browser/{schema-tools-MYC4LTQD.mjs → schema-tools-YAXPRIXP.mjs} +22 -22
  23. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +7 -0
  24. package/dist/lib/browser/{settings-ILGGNYJ7.mjs → settings-MVT32NP6.mjs} +2 -2
  25. package/dist/lib/browser/{spaces-ready-IXZF3RWW.mjs → spaces-ready-ERNSICUW.mjs} +3 -3
  26. package/dist/lib/browser/types/index.mjs +1 -1
  27. package/dist/lib/node/{app-graph-builder-H7MDHM3X.cjs → app-graph-builder-LLIV422L.cjs} +33 -33
  28. package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +7 -0
  29. package/dist/lib/node/{app-graph-serializer-G7UYFWG6.cjs → app-graph-serializer-M6Z2OPA4.cjs} +20 -20
  30. package/dist/lib/node/{chunk-AR3JHVCY.cjs → chunk-EQ5BPSQ7.cjs} +117 -119
  31. package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +7 -0
  32. package/dist/lib/node/{chunk-HD4C6KKO.cjs → chunk-M7N2NCC4.cjs} +53 -63
  33. package/dist/lib/node/chunk-M7N2NCC4.cjs.map +7 -0
  34. package/dist/lib/node/{chunk-NCSFM6RA.cjs → chunk-UOCR4G2D.cjs} +6 -6
  35. package/dist/lib/node/{chunk-EG3WAZLA.cjs → chunk-XADZLQAJ.cjs} +27 -27
  36. package/dist/lib/node/chunk-XADZLQAJ.cjs.map +7 -0
  37. package/dist/lib/node/{identity-created-YLGVEWAJ.cjs → identity-created-YDTRMOMX.cjs} +6 -6
  38. package/dist/lib/node/index.cjs +67 -67
  39. package/dist/lib/node/index.cjs.map +3 -3
  40. package/dist/lib/node/{intent-resolver-V7UJKLE7.cjs → intent-resolver-4JWTDB67.cjs} +59 -66
  41. package/dist/lib/node/intent-resolver-4JWTDB67.cjs.map +7 -0
  42. package/dist/lib/node/meta.json +1 -1
  43. package/dist/lib/node/{react-root-I3SSFA5O.cjs → react-root-6T2UE4MX.cjs} +8 -8
  44. package/dist/lib/node/{react-surface-OLMQCCYD.cjs → react-surface-6W7WFRBS.cjs} +44 -44
  45. package/dist/lib/node/react-surface-6W7WFRBS.cjs.map +7 -0
  46. package/dist/lib/node/{schema-defs-PKZVL52M.cjs → schema-PPJ5BZ3A.cjs} +6 -6
  47. package/dist/lib/node/{schema-defs-PKZVL52M.cjs.map → schema-PPJ5BZ3A.cjs.map} +2 -2
  48. package/dist/lib/node/{schema-tools-OE3MFYYH.cjs → schema-tools-BLIMOZYY.cjs} +24 -24
  49. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +7 -0
  50. package/dist/lib/node/{settings-7TC55JP4.cjs → settings-JLV7YT6Q.cjs} +6 -6
  51. package/dist/lib/node/{spaces-ready-4H3Q46GV.cjs → spaces-ready-6EBR4SM4.cjs} +11 -11
  52. package/dist/lib/node/types/index.cjs +15 -15
  53. package/dist/lib/node/types/index.cjs.map +1 -1
  54. package/dist/lib/node-esm/{app-graph-builder-NI7X6W3Q.mjs → app-graph-builder-HSGLCS76.mjs} +3 -3
  55. package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +7 -0
  56. package/dist/lib/node-esm/{app-graph-serializer-CVPYWWW3.mjs → app-graph-serializer-J3B4WSXU.mjs} +4 -4
  57. package/dist/lib/node-esm/{chunk-B2P24Q5R.mjs → chunk-ABTVMAG5.mjs} +2 -2
  58. package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +7 -0
  59. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs +307 -0
  60. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-FUH5OODY.mjs → chunk-OLISVDCF.mjs} +2 -2
  62. package/dist/lib/node-esm/{chunk-BU6F7ZU4.mjs → chunk-RM7ZVPKM.mjs} +27 -37
  63. package/dist/lib/node-esm/chunk-RM7ZVPKM.mjs.map +7 -0
  64. package/dist/lib/node-esm/{identity-created-7NHGER3Q.mjs → identity-created-EC6SVYB5.mjs} +2 -2
  65. package/dist/lib/node-esm/index.mjs +12 -12
  66. package/dist/lib/node-esm/index.mjs.map +3 -3
  67. package/dist/lib/node-esm/{intent-resolver-IL63YTIT.mjs → intent-resolver-5PUGNEOK.mjs} +9 -16
  68. package/dist/lib/node-esm/intent-resolver-5PUGNEOK.mjs.map +7 -0
  69. package/dist/lib/node-esm/meta.json +1 -1
  70. package/dist/lib/node-esm/{react-root-JEGVIVVK.mjs → react-root-YQKCDI3P.mjs} +4 -4
  71. package/dist/lib/node-esm/{react-surface-DRRXIJBE.mjs → react-surface-UK2HIELM.mjs} +4 -4
  72. package/dist/lib/node-esm/react-surface-UK2HIELM.mjs.map +7 -0
  73. package/dist/lib/node-esm/{schema-defs-IIEQR7B3.mjs → schema-OUZKVYM5.mjs} +4 -4
  74. package/dist/lib/node-esm/{schema-defs-IIEQR7B3.mjs.map → schema-OUZKVYM5.mjs.map} +2 -2
  75. package/dist/lib/node-esm/{schema-tools-YTJLA3NQ.mjs → schema-tools-IU7EX5A5.mjs} +22 -22
  76. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +7 -0
  77. package/dist/lib/node-esm/{settings-CXMV2AFR.mjs → settings-AILIMHTE.mjs} +2 -2
  78. package/dist/lib/node-esm/{spaces-ready-QMXLQ4QV.mjs → spaces-ready-5PXESKHX.mjs} +3 -3
  79. package/dist/lib/node-esm/types/index.mjs +1 -1
  80. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/index.d.ts +2 -2
  82. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/schema-tools.d.ts +2 -2
  85. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/{schema-defs.d.ts → schema.d.ts} +1 -1
  87. package/dist/types/src/capabilities/schema.d.ts.map +1 -0
  88. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  89. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  90. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  91. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  92. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  93. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  94. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  95. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  96. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  97. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  98. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  99. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -2
  100. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  101. package/dist/types/src/types/collection.d.ts +8 -9
  102. package/dist/types/src/types/collection.d.ts.map +1 -1
  103. package/dist/types/src/types/thread.d.ts +118 -113
  104. package/dist/types/src/types/thread.d.ts.map +1 -1
  105. package/dist/types/src/types/types.d.ts +152 -153
  106. package/dist/types/src/types/types.d.ts.map +1 -1
  107. package/dist/types/src/util.d.ts +4 -4
  108. package/dist/types/src/util.d.ts.map +1 -1
  109. package/package.json +45 -46
  110. package/src/SpacePlugin.tsx +7 -8
  111. package/src/capabilities/app-graph-builder.ts +3 -3
  112. package/src/capabilities/index.ts +2 -2
  113. package/src/capabilities/intent-resolver.ts +2 -14
  114. package/src/capabilities/react-surface.tsx +11 -11
  115. package/src/capabilities/schema-tool.test.ts +3 -2
  116. package/src/capabilities/schema-tools.ts +25 -25
  117. package/src/components/CreateDialog/CreateSpaceDialog.tsx +3 -2
  118. package/src/components/MenuFooter.tsx +2 -2
  119. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -2
  120. package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -2
  121. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +2 -2
  122. package/src/components/PopoverRenameSpace.tsx +0 -8
  123. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +3 -5
  124. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  125. package/src/types/collection.ts +4 -6
  126. package/src/types/thread.ts +8 -14
  127. package/src/types/types.ts +109 -114
  128. package/src/util.tsx +9 -9
  129. package/dist/lib/browser/app-graph-builder-I2BU35J5.mjs.map +0 -7
  130. package/dist/lib/browser/chunk-RERTVPBV.mjs.map +0 -7
  131. package/dist/lib/browser/chunk-TSX67XGX.mjs.map +0 -7
  132. package/dist/lib/browser/chunk-YQNBTJI4.mjs +0 -308
  133. package/dist/lib/browser/chunk-YQNBTJI4.mjs.map +0 -7
  134. package/dist/lib/browser/intent-resolver-GKDCJ4H2.mjs.map +0 -7
  135. package/dist/lib/browser/react-surface-I4RNTGGN.mjs.map +0 -7
  136. package/dist/lib/browser/schema-tools-MYC4LTQD.mjs.map +0 -7
  137. package/dist/lib/node/app-graph-builder-H7MDHM3X.cjs.map +0 -7
  138. package/dist/lib/node/chunk-AR3JHVCY.cjs.map +0 -7
  139. package/dist/lib/node/chunk-EG3WAZLA.cjs.map +0 -7
  140. package/dist/lib/node/chunk-HD4C6KKO.cjs.map +0 -7
  141. package/dist/lib/node/intent-resolver-V7UJKLE7.cjs.map +0 -7
  142. package/dist/lib/node/react-surface-OLMQCCYD.cjs.map +0 -7
  143. package/dist/lib/node/schema-tools-OE3MFYYH.cjs.map +0 -7
  144. package/dist/lib/node-esm/app-graph-builder-NI7X6W3Q.mjs.map +0 -7
  145. package/dist/lib/node-esm/chunk-B2P24Q5R.mjs.map +0 -7
  146. package/dist/lib/node-esm/chunk-BU6F7ZU4.mjs.map +0 -7
  147. package/dist/lib/node-esm/chunk-RUWTHAV7.mjs +0 -309
  148. package/dist/lib/node-esm/chunk-RUWTHAV7.mjs.map +0 -7
  149. package/dist/lib/node-esm/intent-resolver-IL63YTIT.mjs.map +0 -7
  150. package/dist/lib/node-esm/react-surface-DRRXIJBE.mjs.map +0 -7
  151. package/dist/lib/node-esm/schema-tools-YTJLA3NQ.mjs.map +0 -7
  152. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  153. /package/dist/lib/browser/{app-graph-serializer-HPYDOKA5.mjs.map → app-graph-serializer-UUJH7JRN.mjs.map} +0 -0
  154. /package/dist/lib/browser/{chunk-OS5QKO4Z.mjs.map → chunk-DIJ7LMCS.mjs.map} +0 -0
  155. /package/dist/lib/browser/{identity-created-DWFKBGOA.mjs.map → identity-created-NRVE4XLL.mjs.map} +0 -0
  156. /package/dist/lib/browser/{react-root-667IZ2Q4.mjs.map → react-root-63ZJ5IR6.mjs.map} +0 -0
  157. /package/dist/lib/browser/{settings-ILGGNYJ7.mjs.map → settings-MVT32NP6.mjs.map} +0 -0
  158. /package/dist/lib/browser/{spaces-ready-IXZF3RWW.mjs.map → spaces-ready-ERNSICUW.mjs.map} +0 -0
  159. /package/dist/lib/node/{app-graph-serializer-G7UYFWG6.cjs.map → app-graph-serializer-M6Z2OPA4.cjs.map} +0 -0
  160. /package/dist/lib/node/{chunk-NCSFM6RA.cjs.map → chunk-UOCR4G2D.cjs.map} +0 -0
  161. /package/dist/lib/node/{identity-created-YLGVEWAJ.cjs.map → identity-created-YDTRMOMX.cjs.map} +0 -0
  162. /package/dist/lib/node/{react-root-I3SSFA5O.cjs.map → react-root-6T2UE4MX.cjs.map} +0 -0
  163. /package/dist/lib/node/{settings-7TC55JP4.cjs.map → settings-JLV7YT6Q.cjs.map} +0 -0
  164. /package/dist/lib/node/{spaces-ready-4H3Q46GV.cjs.map → spaces-ready-6EBR4SM4.cjs.map} +0 -0
  165. /package/dist/lib/node-esm/{app-graph-serializer-CVPYWWW3.mjs.map → app-graph-serializer-J3B4WSXU.mjs.map} +0 -0
  166. /package/dist/lib/node-esm/{chunk-FUH5OODY.mjs.map → chunk-OLISVDCF.mjs.map} +0 -0
  167. /package/dist/lib/node-esm/{identity-created-7NHGER3Q.mjs.map → identity-created-EC6SVYB5.mjs.map} +0 -0
  168. /package/dist/lib/node-esm/{react-root-JEGVIVVK.mjs.map → react-root-YQKCDI3P.mjs.map} +0 -0
  169. /package/dist/lib/node-esm/{settings-CXMV2AFR.mjs.map → settings-AILIMHTE.mjs.map} +0 -0
  170. /package/dist/lib/node-esm/{spaces-ready-QMXLQ4QV.mjs.map → spaces-ready-5PXESKHX.mjs.map} +0 -0
  171. /package/src/capabilities/{schema-defs.ts → schema.ts} +0 -0
@@ -0,0 +1,306 @@
1
+ import {
2
+ SPACE_PLUGIN
3
+ } from "./chunk-PTKYMZWO.mjs";
4
+
5
+ // packages/plugins/plugin-space/src/types/collection.ts
6
+ import { Expando, Ref, S, TypedObject } from "@dxos/echo-schema";
7
+ var CollectionType = class extends TypedObject({
8
+ typename: "dxos.org/type/Collection",
9
+ version: "0.1.0"
10
+ })({
11
+ name: S.optional(S.String),
12
+ objects: S.mutable(S.Array(Ref(Expando))),
13
+ // Key is schema typename and value is reference to a view object of the associated schema.
14
+ // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).
15
+ // This also leaves open a future where this key could be changed to allow for multiple stack views per section.
16
+ // TODO(wittjosiah): Any way to make this more type safe?
17
+ // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?
18
+ views: S.mutable(S.Record({
19
+ key: S.String,
20
+ value: Ref(Expando)
21
+ }))
22
+ }) {
23
+ };
24
+
25
+ // packages/plugins/plugin-space/src/types/thread.ts
26
+ import { Expando as Expando2, Ref as Ref2, S as S2, TypedObject as TypedObject2 } from "@dxos/echo-schema";
27
+ import { MessageType } from "@dxos/schema";
28
+ var ThreadStatus = S2.Union(S2.Literal("staged"), S2.Literal("active"), S2.Literal("resolved"));
29
+ var ThreadType = class extends TypedObject2({
30
+ typename: "dxos.org/type/Thread",
31
+ version: "0.1.0"
32
+ })({
33
+ name: S2.optional(S2.String),
34
+ /** AM cursor-range: 'from:to'. */
35
+ anchor: S2.optional(S2.String),
36
+ status: S2.optional(ThreadStatus),
37
+ messages: S2.mutable(S2.Array(Ref2(MessageType)))
38
+ }) {
39
+ };
40
+ var ChannelType = class extends TypedObject2({
41
+ typename: "dxos.org/type/Channel",
42
+ version: "0.1.0"
43
+ })({
44
+ name: S2.optional(S2.String),
45
+ queue: Ref2(Expando2)
46
+ }) {
47
+ };
48
+
49
+ // packages/plugins/plugin-space/src/types/types.ts
50
+ import { S as S3 } from "@dxos/echo-schema";
51
+ import { EchoObjectSchema, ReactiveObjectSchema, SpaceSchema } from "@dxos/react-client/echo";
52
+ import { CancellableInvitationObservable, Invitation } from "@dxos/react-client/invitations";
53
+ var SPACE_DIRECTORY_HANDLE = "dxos.org/plugin/space/directory";
54
+ var SPACE_TYPE = "dxos.org/type/Space";
55
+ var SpaceSettingsSchema = S3.mutable(S3.Struct({
56
+ /**
57
+ * Show closed spaces.
58
+ */
59
+ showHidden: S3.Boolean
60
+ }));
61
+ var IconAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Icon");
62
+ var HueAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Hue");
63
+ var SpaceForm = S3.Struct({
64
+ name: S3.optional(S3.String.annotations({
65
+ title: "Name"
66
+ })),
67
+ icon: S3.optional(S3.String.annotations({
68
+ title: "Icon",
69
+ [IconAnnotationId]: true
70
+ })),
71
+ hue: S3.optional(S3.String.annotations({
72
+ title: "Color",
73
+ [HueAnnotationId]: true
74
+ })),
75
+ // TODO(wittjosiah): Make optional with default value.
76
+ edgeReplication: S3.Boolean.annotations({
77
+ title: "Enable EDGE Replication"
78
+ })
79
+ });
80
+ var defineObjectForm = (form) => form;
81
+ var SPACE_ACTION = `${SPACE_PLUGIN}/action`;
82
+ var SpaceAction;
83
+ (function(SpaceAction2) {
84
+ class OpenCreateSpace extends S3.TaggedClass()(`${SPACE_ACTION}/open-create-space`, {
85
+ input: S3.Void,
86
+ output: S3.Void
87
+ }) {
88
+ }
89
+ SpaceAction2.OpenCreateSpace = OpenCreateSpace;
90
+ class Create extends S3.TaggedClass()(`${SPACE_ACTION}/create`, {
91
+ input: SpaceForm,
92
+ output: S3.Struct({
93
+ id: S3.String,
94
+ subject: S3.Array(S3.String),
95
+ space: SpaceSchema
96
+ })
97
+ }) {
98
+ }
99
+ SpaceAction2.Create = Create;
100
+ class Join extends S3.TaggedClass()(`${SPACE_ACTION}/join`, {
101
+ input: S3.Struct({
102
+ invitationCode: S3.optional(S3.String),
103
+ onDone: S3.optional(S3.Any)
104
+ }),
105
+ output: S3.Void
106
+ }) {
107
+ }
108
+ SpaceAction2.Join = Join;
109
+ class OpenMembers extends S3.TaggedClass()(`${SPACE_ACTION}/open-members`, {
110
+ input: S3.Struct({
111
+ space: SpaceSchema
112
+ }),
113
+ output: S3.Void
114
+ }) {
115
+ }
116
+ SpaceAction2.OpenMembers = OpenMembers;
117
+ class Share extends S3.TaggedClass()(`${SPACE_ACTION}/share`, {
118
+ input: S3.Struct({
119
+ space: SpaceSchema,
120
+ type: S3.Enums(Invitation.Type),
121
+ authMethod: S3.Enums(Invitation.AuthMethod),
122
+ multiUse: S3.Boolean,
123
+ target: S3.optional(S3.String)
124
+ }),
125
+ output: S3.instanceOf(CancellableInvitationObservable)
126
+ }) {
127
+ }
128
+ SpaceAction2.Share = Share;
129
+ class GetShareLink extends S3.TaggedClass()(`${SPACE_ACTION}/get-share-link`, {
130
+ input: S3.Struct({
131
+ space: SpaceSchema,
132
+ target: S3.optional(S3.String),
133
+ copyToClipboard: S3.optional(S3.Boolean)
134
+ }),
135
+ output: S3.String
136
+ }) {
137
+ }
138
+ SpaceAction2.GetShareLink = GetShareLink;
139
+ class Lock extends S3.TaggedClass()(`${SPACE_ACTION}/lock`, {
140
+ input: S3.Struct({
141
+ space: SpaceSchema
142
+ }),
143
+ output: S3.Void
144
+ }) {
145
+ }
146
+ SpaceAction2.Lock = Lock;
147
+ class Unlock extends S3.TaggedClass()(`${SPACE_ACTION}/unlock`, {
148
+ input: S3.Struct({
149
+ space: SpaceSchema
150
+ }),
151
+ output: S3.Void
152
+ }) {
153
+ }
154
+ SpaceAction2.Unlock = Unlock;
155
+ class Rename extends S3.TaggedClass()(`${SPACE_ACTION}/rename`, {
156
+ input: S3.Struct({
157
+ space: SpaceSchema,
158
+ caller: S3.optional(S3.String)
159
+ }),
160
+ output: S3.Void
161
+ }) {
162
+ }
163
+ SpaceAction2.Rename = Rename;
164
+ class AddSpace extends S3.TaggedClass()(`${SPACE_ACTION}/add-space`, {
165
+ input: S3.Void,
166
+ output: S3.Void
167
+ }) {
168
+ }
169
+ SpaceAction2.AddSpace = AddSpace;
170
+ class AddSpaceMenuGroup extends S3.TaggedClass()(`${SPACE_ACTION}/add-space-menu-group`, {
171
+ input: S3.Void,
172
+ output: S3.Void
173
+ }) {
174
+ }
175
+ SpaceAction2.AddSpaceMenuGroup = AddSpaceMenuGroup;
176
+ class OpenSettings extends S3.TaggedClass()(`${SPACE_ACTION}/open-settings`, {
177
+ input: S3.Struct({
178
+ space: SpaceSchema
179
+ }),
180
+ output: S3.Void
181
+ }) {
182
+ }
183
+ SpaceAction2.OpenSettings = OpenSettings;
184
+ class Open extends S3.TaggedClass()(`${SPACE_ACTION}/open`, {
185
+ input: S3.Struct({
186
+ space: SpaceSchema
187
+ }),
188
+ output: S3.Void
189
+ }) {
190
+ }
191
+ SpaceAction2.Open = Open;
192
+ class Close extends S3.TaggedClass()(`${SPACE_ACTION}/close`, {
193
+ input: S3.Struct({
194
+ space: SpaceSchema
195
+ }),
196
+ output: S3.Void
197
+ }) {
198
+ }
199
+ SpaceAction2.Close = Close;
200
+ class Migrate extends S3.TaggedClass()(`${SPACE_ACTION}/migrate`, {
201
+ input: S3.Struct({
202
+ space: SpaceSchema,
203
+ version: S3.optional(S3.String)
204
+ }),
205
+ output: S3.Boolean
206
+ }) {
207
+ }
208
+ SpaceAction2.Migrate = Migrate;
209
+ class OpenCreateObject extends S3.TaggedClass()(`${SPACE_ACTION}/open-create-object`, {
210
+ input: S3.Struct({
211
+ target: S3.Union(SpaceSchema, CollectionType),
212
+ navigable: S3.optional(S3.Boolean)
213
+ }),
214
+ output: S3.Void
215
+ }) {
216
+ }
217
+ SpaceAction2.OpenCreateObject = OpenCreateObject;
218
+ class AddObject extends S3.TaggedClass()(`${SPACE_ACTION}/add-object`, {
219
+ input: S3.Struct({
220
+ object: ReactiveObjectSchema,
221
+ target: S3.Union(SpaceSchema, CollectionType),
222
+ hidden: S3.optional(S3.Boolean)
223
+ }),
224
+ output: S3.Struct({
225
+ id: S3.String,
226
+ subject: S3.Array(S3.String),
227
+ object: EchoObjectSchema
228
+ })
229
+ }) {
230
+ }
231
+ SpaceAction2.AddObject = AddObject;
232
+ SpaceAction2.DeletionData = S3.Struct({
233
+ objects: S3.Array(EchoObjectSchema),
234
+ parentCollection: CollectionType,
235
+ indices: S3.Array(S3.Number),
236
+ nestedObjectsList: S3.Array(S3.Array(EchoObjectSchema)),
237
+ wasActive: S3.Array(S3.String)
238
+ });
239
+ class RemoveObjects extends S3.TaggedClass()(`${SPACE_ACTION}/remove-objects`, {
240
+ input: S3.Struct({
241
+ objects: S3.Array(EchoObjectSchema),
242
+ target: S3.optional(CollectionType),
243
+ deletionData: S3.optional(SpaceAction2.DeletionData)
244
+ }),
245
+ output: S3.Void
246
+ }) {
247
+ }
248
+ SpaceAction2.RemoveObjects = RemoveObjects;
249
+ class RenameObject extends S3.TaggedClass()(`${SPACE_ACTION}/rename-object`, {
250
+ input: S3.Struct({
251
+ object: EchoObjectSchema,
252
+ caller: S3.optional(S3.String)
253
+ }),
254
+ output: S3.Void
255
+ }) {
256
+ }
257
+ SpaceAction2.RenameObject = RenameObject;
258
+ class DuplicateObject extends S3.TaggedClass()(`${SPACE_ACTION}/duplicate-object`, {
259
+ input: S3.Struct({
260
+ object: EchoObjectSchema,
261
+ target: S3.Union(SpaceSchema, CollectionType)
262
+ }),
263
+ output: S3.Void
264
+ }) {
265
+ }
266
+ SpaceAction2.DuplicateObject = DuplicateObject;
267
+ class WaitForObject extends S3.TaggedClass()(`${SPACE_ACTION}/wait-for-object`, {
268
+ input: S3.Struct({
269
+ id: S3.optional(S3.String)
270
+ }),
271
+ output: S3.Void
272
+ }) {
273
+ }
274
+ SpaceAction2.WaitForObject = WaitForObject;
275
+ })(SpaceAction || (SpaceAction = {}));
276
+ var CollectionAction;
277
+ (function(CollectionAction2) {
278
+ class Create extends S3.TaggedClass()("dxos.org/plugin/collection/action/create", {
279
+ input: S3.Struct({
280
+ name: S3.optional(S3.String)
281
+ }),
282
+ output: S3.Struct({
283
+ object: CollectionType
284
+ })
285
+ }) {
286
+ }
287
+ CollectionAction2.Create = Create;
288
+ })(CollectionAction || (CollectionAction = {}));
289
+
290
+ export {
291
+ CollectionType,
292
+ ThreadStatus,
293
+ ThreadType,
294
+ ChannelType,
295
+ SPACE_DIRECTORY_HANDLE,
296
+ SPACE_TYPE,
297
+ SpaceSettingsSchema,
298
+ IconAnnotationId,
299
+ HueAnnotationId,
300
+ SpaceForm,
301
+ defineObjectForm,
302
+ SPACE_ACTION,
303
+ SpaceAction,
304
+ CollectionAction
305
+ };
306
+ //# sourceMappingURL=chunk-O7WGQVLQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/collection.ts", "../../../src/types/thread.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';\n\nexport class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({\n name: S.optional(S.String),\n objects: S.mutable(S.Array(Ref(Expando))),\n // Key is schema typename and value is reference to a view object of the associated schema.\n // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).\n // This also leaves open a future where this key could be changed to allow for multiple stack views per section.\n // TODO(wittjosiah): Any way to make this more type safe?\n // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?\n views: S.mutable(S.Record({ key: S.String, value: Ref(Expando) })),\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';\nimport { MessageType } from '@dxos/schema';\n\n// TODO(wittjosiah): These types were placed here rather than in @dxos/plugin-thread\n// in order to avoid a circular dependency between threads and other objects that use threads.\n\nexport const ThreadStatus = S.Union(S.Literal('staged'), S.Literal('active'), S.Literal('resolved'));\n\nexport class ThreadType extends TypedObject({ typename: 'dxos.org/type/Thread', version: '0.1.0' })({\n name: S.optional(S.String),\n /** AM cursor-range: 'from:to'. */\n anchor: S.optional(S.String),\n status: S.optional(ThreadStatus),\n messages: S.mutable(S.Array(Ref(MessageType))),\n}) {}\n\nexport class ChannelType extends TypedObject({ typename: 'dxos.org/type/Channel', version: '0.1.0' })({\n name: S.optional(S.String),\n queue: Ref(Expando),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { S, type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';\nimport { type PublicKey } from '@dxos/react-client';\n// TODO(wittjosiah): This pulls in full client.\nimport { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { CollectionType } from './collection';\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';\nexport const SPACE_TYPE = 'dxos.org/type/Space';\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\nexport const SpaceSettingsSchema = S.mutable(\n S.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: S.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = S.Schema.Type<typeof SpaceSettingsSchema>;\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Expando = Expando> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;\n}\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\nexport const SpaceForm = S.Struct({\n name: S.optional(S.String.annotations({ title: 'Name' })),\n icon: S.optional(S.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: S.optional(S.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: S.Boolean.annotations({ title: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n // TODO(dmaretskyi): Change to S.Schema.AnyNoContext\n objectSchema: TypedObject;\n formSchema?: S.Schema<T, any>;\n hidden?: boolean;\n getIntent: (props: T, options: { space: Space }) => AnyIntentChain;\n};\n\nexport const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;\n\nexport const SPACE_ACTION = `${SPACE_PLUGIN}/action`;\n\nexport namespace SpaceAction {\n export class OpenCreateSpace extends S.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: S.Void,\n output: S.Void,\n }) {}\n\n export class Create extends S.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\n input: SpaceForm,\n output: S.Struct({\n id: S.String,\n subject: S.Array(S.String),\n space: SpaceSchema,\n }),\n }) {}\n\n export class Join extends S.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\n input: S.Struct({\n invitationCode: S.optional(S.String),\n onDone: S.optional(S.Any),\n }),\n output: S.Void,\n }) {}\n\n export class OpenMembers extends S.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Share extends S.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: S.Struct({\n space: SpaceSchema,\n type: S.Enums(Invitation.Type),\n authMethod: S.Enums(Invitation.AuthMethod),\n multiUse: S.Boolean,\n target: S.optional(S.String),\n }),\n output: S.instanceOf(CancellableInvitationObservable),\n }) {}\n\n export class GetShareLink extends S.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {\n input: S.Struct({\n space: SpaceSchema,\n target: S.optional(S.String),\n copyToClipboard: S.optional(S.Boolean),\n }),\n output: S.String,\n }) {}\n\n export class Lock extends S.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Unlock extends S.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Rename extends S.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: S.Struct({\n space: SpaceSchema,\n caller: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n export class AddSpace extends S.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {\n input: S.Void,\n output: S.Void,\n }) {}\n\n export class AddSpaceMenuGroup extends S.TaggedClass<AddSpaceMenuGroup>()(`${SPACE_ACTION}/add-space-menu-group`, {\n input: S.Void,\n output: S.Void,\n }) {}\n\n // TODO(wittjosiah): Handle scrolling to section.\n // This maybe motivates making the space settings its own deck?\n export class OpenSettings extends S.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: S.Struct({ space: SpaceSchema }),\n output: S.Void,\n }) {}\n\n export class Open extends S.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Close extends S.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Migrate extends S.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: S.Struct({\n space: SpaceSchema,\n version: S.optional(S.String),\n }),\n output: S.Boolean,\n }) {}\n\n export class OpenCreateObject extends S.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: S.Struct({\n target: S.Union(SpaceSchema, CollectionType),\n navigable: S.optional(S.Boolean),\n }),\n output: S.Void,\n }) {}\n\n export class AddObject extends S.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: S.Struct({\n object: ReactiveObjectSchema,\n target: S.Union(SpaceSchema, CollectionType),\n hidden: S.optional(S.Boolean),\n }),\n output: S.Struct({\n id: S.String,\n subject: S.Array(S.String),\n object: EchoObjectSchema,\n }),\n }) {}\n\n export const DeletionData = S.Struct({\n objects: S.Array(EchoObjectSchema),\n parentCollection: CollectionType,\n indices: S.Array(S.Number),\n nestedObjectsList: S.Array(S.Array(EchoObjectSchema)),\n wasActive: S.Array(S.String),\n });\n\n export type DeletionData = S.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends S.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: S.Struct({\n objects: S.Array(EchoObjectSchema),\n target: S.optional(CollectionType),\n deletionData: S.optional(DeletionData),\n }),\n output: S.Void,\n }) {}\n\n export class RenameObject extends S.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: S.Struct({\n object: EchoObjectSchema,\n caller: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n export class DuplicateObject extends S.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: S.Struct({\n object: EchoObjectSchema,\n target: S.Union(SpaceSchema, CollectionType),\n }),\n output: S.Void,\n }) {}\n\n export class WaitForObject extends S.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: S.Struct({\n id: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends S.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: S.Struct({\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: CollectionType,\n }),\n }) {}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Expando", "Ref", "S", "TypedObject", "CollectionType", "TypedObject", "typename", "version", "name", "S", "optional", "String", "objects", "mutable", "Array", "Ref", "Expando", "views", "Record", "key", "value", "Expando", "Ref", "S", "TypedObject", "MessageType", "ThreadStatus", "S", "Union", "Literal", "ThreadType", "TypedObject", "typename", "version", "name", "optional", "String", "anchor", "status", "messages", "mutable", "Array", "Ref", "MessageType", "ChannelType", "queue", "Expando", "S", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "SPACE_DIRECTORY_HANDLE", "SPACE_TYPE", "SpaceSettingsSchema", "S", "mutable", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "name", "optional", "String", "annotations", "title", "icon", "hue", "edgeReplication", "defineObjectForm", "form", "SPACE_ACTION", "SPACE_PLUGIN", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "id", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "OpenMembers", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "GetShareLink", "copyToClipboard", "Lock", "Unlock", "Rename", "caller", "AddSpace", "AddSpaceMenuGroup", "OpenSettings", "Open", "Close", "Migrate", "version", "OpenCreateObject", "Union", "CollectionType", "navigable", "AddObject", "object", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "DeletionData", "objects", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "deletionData", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CollectionType
3
- } from "./chunk-YQNBTJI4.mjs";
3
+ } from "./chunk-O7WGQVLQ.mjs";
4
4
  import "./chunk-PTKYMZWO.mjs";
5
5
 
6
6
  // packages/plugins/plugin-space/src/capabilities/identity-created.ts
@@ -25,4 +25,4 @@ var identity_created_default = async (context) => {
25
25
  export {
26
26
  identity_created_default as default
27
27
  };
28
- //# sourceMappingURL=identity-created-DWFKBGOA.mjs.map
28
+ //# sourceMappingURL=identity-created-NRVE4XLL.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  translations_default
3
- } from "./chunk-OS5QKO4Z.mjs";
3
+ } from "./chunk-DIJ7LMCS.mjs";
4
4
  import {
5
5
  AppGraphBuilder,
6
6
  AppGraphSerializer,
@@ -29,9 +29,8 @@ import {
29
29
  PopoverRenameSpace,
30
30
  ReactRoot,
31
31
  ReactSurface,
32
+ Schema,
32
33
  SchemaContainer,
33
- SchemaDefs,
34
- SchemaTools,
35
34
  SmallPresence,
36
35
  SmallPresenceLive,
37
36
  SpacePluginSettings,
@@ -42,8 +41,9 @@ import {
42
41
  SpacesReady,
43
42
  SyncStatus,
44
43
  SyncStatusIndicator,
44
+ Tools,
45
45
  useQuerySpaceSchemas
46
- } from "./chunk-TSX67XGX.mjs";
46
+ } from "./chunk-3KG2VMQL.mjs";
47
47
  import {
48
48
  SpaceCapabilities,
49
49
  ThreadCapabilities
@@ -61,12 +61,12 @@ import {
61
61
  getNestedObjects,
62
62
  getSpaceDisplayName,
63
63
  memoizeQuery
64
- } from "./chunk-RERTVPBV.mjs";
64
+ } from "./chunk-JS6ZV4GV.mjs";
65
65
  import {
66
66
  CollectionAction,
67
67
  CollectionType,
68
68
  defineObjectForm
69
- } from "./chunk-YQNBTJI4.mjs";
69
+ } from "./chunk-O7WGQVLQ.mjs";
70
70
  import {
71
71
  SPACE_PLUGIN,
72
72
  meta
@@ -86,11 +86,11 @@ var ThreadEvents;
86
86
  })(ThreadEvents || (ThreadEvents = {}));
87
87
 
88
88
  // packages/plugins/plugin-space/src/SpacePlugin.tsx
89
- import { Schema } from "effect";
90
89
  import { allOf, Capabilities, contributes, createIntent, defineModule, definePlugin, Events as Events2, oneOf } from "@dxos/app-framework";
90
+ import { S } from "@dxos/echo-schema";
91
+ import { RefArray } from "@dxos/live-object";
91
92
  import { AttentionEvents } from "@dxos/plugin-attention";
92
93
  import { ClientEvents } from "@dxos/plugin-client";
93
- import { RefArray } from "@dxos/react-client/echo";
94
94
  import { osTranslations } from "@dxos/shell/react";
95
95
  var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "spaceInvitationCode", observability = false } = {}) => {
96
96
  const createInvitationUrl = (invitationCode) => {
@@ -143,8 +143,8 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
143
143
  activatesOn: ClientEvents.SetupSchema,
144
144
  activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
145
145
  objectSchema: CollectionType,
146
- formSchema: Schema.Struct({
147
- name: Schema.optional(Schema.String)
146
+ formSchema: S.Struct({
147
+ name: S.optional(S.String)
148
148
  }),
149
149
  getIntent: (props) => createIntent(CollectionAction.Create, props)
150
150
  }))
@@ -155,7 +155,7 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
155
155
  activatesBefore: [
156
156
  ClientEvents.SetupSchema
157
157
  ],
158
- activate: SchemaDefs
158
+ activate: Schema
159
159
  }),
160
160
  defineModule({
161
161
  id: `${meta.id}/module/react-root`,
@@ -209,7 +209,7 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
209
209
  defineModule({
210
210
  id: `${meta.id}/module/tools`,
211
211
  activatesOn: Events2.SetupArtifactDefinition,
212
- activate: SchemaTools
212
+ activate: Tools
213
213
  })
214
214
  ]);
215
215
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/events.ts", "../../../src/SpacePlugin.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent, Events } from '@dxos/app-framework';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport namespace SpaceEvents {\n export const StateReady = Events.createStateEvent(`${SPACE_PLUGIN}/event/state-ready`);\n export const SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);\n export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadEvents {\n export const SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport {\n allOf,\n Capabilities,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n Events,\n oneOf,\n} from '@dxos/app-framework';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { RefArray } from '@dxos/react-client/echo';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n SchemaDefs,\n SchemaTools,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { CollectionAction, CollectionType, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = false,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: CollectionType.typename,\n metadata: {\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: CollectionType) =>\n await RefArray.loadAll([...collection.objects, ...Object.values(collection.views)]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: CollectionType,\n formSchema: Schema.Struct({ name: Schema.optional(Schema.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: SchemaDefs,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, createInvitationUrl, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n defineModule({\n id: `${meta.id}/module/tools`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: SchemaTools,\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["defineEvent", "Events", "SpaceEvents", "StateReady", "Events", "createStateEvent", "SPACE_PLUGIN", "SetupSettingsPanel", "defineEvent", "DefaultSpaceReady", "ThreadEvents", "SetupThread", "Schema", "allOf", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "oneOf", "AttentionEvents", "ClientEvents", "RefArray", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "CollectionType", "typename", "metadata", "icon", "loadReferences", "collection", "RefArray", "loadAll", "objects", "Object", "values", "views", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "Schema", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "ClientReady", "activatesBefore", "SchemaDefs", "Startup", "ReactRoot", "SetupReactSurface", "SetupSettingsPanel", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady", "SetupArtifactDefinition", "SchemaTools"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent, Events } from '@dxos/app-framework';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport namespace SpaceEvents {\n export const StateReady = Events.createStateEvent(`${SPACE_PLUGIN}/event/state-ready`);\n export const SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);\n export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadEvents {\n export const SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n allOf,\n Capabilities,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n Events,\n oneOf,\n} from '@dxos/app-framework';\nimport { S } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n Schema,\n Tools,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { CollectionAction, CollectionType, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = false,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: CollectionType.typename,\n metadata: {\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: CollectionType) =>\n await RefArray.loadAll([...collection.objects, ...Object.values(collection.views)]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: CollectionType,\n formSchema: S.Struct({ name: S.optional(S.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: Schema,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, createInvitationUrl, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n defineModule({\n id: `${meta.id}/module/tools`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: Tools,\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["defineEvent", "Events", "SpaceEvents", "StateReady", "Events", "createStateEvent", "SPACE_PLUGIN", "SetupSettingsPanel", "defineEvent", "DefaultSpaceReady", "ThreadEvents", "SetupThread", "allOf", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "oneOf", "S", "RefArray", "AttentionEvents", "ClientEvents", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "CollectionType", "typename", "metadata", "icon", "loadReferences", "collection", "RefArray", "loadAll", "objects", "Object", "values", "views", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "S", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "ClientReady", "activatesBefore", "Schema", "Startup", "ReactRoot", "SetupReactSurface", "SetupSettingsPanel", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady", "SetupArtifactDefinition", "Tools"]
7
7
  }
@@ -5,7 +5,7 @@ import {
5
5
  POPOVER_ADD_SPACE,
6
6
  POPOVER_RENAME_OBJECT,
7
7
  POPOVER_RENAME_SPACE
8
- } from "./chunk-TSX67XGX.mjs";
8
+ } from "./chunk-3KG2VMQL.mjs";
9
9
  import {
10
10
  SpaceCapabilities
11
11
  } from "./chunk-KVRYWFZU.mjs";
@@ -13,18 +13,18 @@ import {
13
13
  COMPOSER_SPACE_LOCK,
14
14
  cloneObject,
15
15
  getNestedObjects
16
- } from "./chunk-RERTVPBV.mjs";
16
+ } from "./chunk-JS6ZV4GV.mjs";
17
17
  import {
18
18
  CollectionAction,
19
19
  CollectionType,
20
20
  SpaceAction
21
- } from "./chunk-YQNBTJI4.mjs";
21
+ } from "./chunk-O7WGQVLQ.mjs";
22
22
  import {
23
23
  SPACE_PLUGIN
24
24
  } from "./chunk-PTKYMZWO.mjs";
25
25
 
26
26
  // packages/plugins/plugin-space/src/capabilities/intent-resolver.ts
27
- import { Effect } from "effect";
27
+ import { Effect, pipe } from "effect";
28
28
  import { Capabilities, contributes, createIntent, createResolver, LayoutAction } from "@dxos/app-framework";
29
29
  import { getTypename } from "@dxos/echo-schema";
30
30
  import { invariant } from "@dxos/invariant";
@@ -164,14 +164,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
164
164
  multiUse: true,
165
165
  target
166
166
  }));
167
- const invitationCode = yield* Effect.tryPromise(() => new Promise((resolve2) => {
168
- invitation.subscribe((invitation2) => {
169
- if (invitation2.state === Invitation.State.CONNECTING) {
170
- resolve2(InvitationEncoder.encode(invitation2));
171
- }
172
- });
173
- }));
174
- const url = createInvitationUrl(invitationCode);
167
+ const url = pipe(invitation.get(), InvitationEncoder.encode, createInvitationUrl);
175
168
  if (copyToClipboard) {
176
169
  yield* Effect.tryPromise(() => navigator.clipboard.writeText(url));
177
170
  }
@@ -334,7 +327,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
334
327
  const space = isSpace(target) ? target : getSpace(target);
335
328
  invariant(space, "Space not found.", {
336
329
  F: __dxlog_file,
337
- L: 352,
330
+ L: 340,
338
331
  S: void 0,
339
332
  A: [
340
333
  "space",
@@ -443,7 +436,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
443
436
  const space = getSpace(objects[0]);
444
437
  invariant(space && objects.every((obj) => isEchoObject(obj) && getSpace(obj) === space), void 0, {
445
438
  F: __dxlog_file,
446
- L: 431,
439
+ L: 419,
447
440
  S: void 0,
448
441
  A: [
449
442
  "space && objects.every((obj) => isEchoObject(obj) && getSpace(obj) === space)",
@@ -545,7 +538,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
545
538
  const space = isSpace(target) ? target : getSpace(target);
546
539
  invariant(space, "Space not found.", {
547
540
  F: __dxlog_file,
548
- L: 545,
541
+ L: 533,
549
542
  S: void 0,
550
543
  A: [
551
544
  "space",
@@ -587,4 +580,4 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
587
580
  export {
588
581
  intent_resolver_default as default
589
582
  };
590
- //# sourceMappingURL=intent-resolver-GKDCJ4H2.mjs.map
583
+ //# sourceMappingURL=intent-resolver-U3UVTHQV.mjs.map